diff --git a/pkg/api/annotation_key_constants.go b/pkg/api/annotation_key_constants.go new file mode 100644 index 00000000..07732451 --- /dev/null +++ b/pkg/api/annotation_key_constants.go @@ -0,0 +1,67 @@ +/* +Copyright 2017 The Kubernetes 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. +*/ + +package api + +const ( + // TolerationsAnnotationKey represents the key of tolerations data (json serialized) + // in the Annotations of a Pod. + TolerationsAnnotationKey string = "scheduler.alpha.kubernetes.io/tolerations" + + // TaintsAnnotationKey represents the key of taints data (json serialized) + // in the Annotations of a Node. + TaintsAnnotationKey string = "scheduler.alpha.kubernetes.io/taints" + + // SeccompPodAnnotationKey represents the key of a seccomp profile applied + // to all containers of a pod. + SeccompPodAnnotationKey string = "seccomp.security.alpha.kubernetes.io/pod" + + // SeccompContainerAnnotationKeyPrefix represents the key of a seccomp profile applied + // to one container of a pod. + SeccompContainerAnnotationKeyPrefix string = "container.seccomp.security.alpha.kubernetes.io/" + + // CreatedByAnnotation represents the key used to store the spec(json) + // used to create the resource. + CreatedByAnnotation = "kubernetes.io/created-by" + + // PreferAvoidPodsAnnotationKey represents the key of preferAvoidPods data (json serialized) + // in the Annotations of a Node. + PreferAvoidPodsAnnotationKey string = "scheduler.alpha.kubernetes.io/preferAvoidPods" + + // SysctlsPodAnnotationKey represents the key of sysctls which are set for the infrastructure + // container of a pod. The annotation value is a comma separated list of sysctl_name=value + // key-value pairs. Only a limited set of whitelisted and isolated sysctls is supported by + // the kubelet. Pods with other sysctls will fail to launch. + SysctlsPodAnnotationKey string = "security.alpha.kubernetes.io/sysctls" + + // UnsafeSysctlsPodAnnotationKey represents the key of sysctls which are set for the infrastructure + // container of a pod. The annotation value is a comma separated list of sysctl_name=value + // key-value pairs. Unsafe sysctls must be explicitly enabled for a kubelet. They are properly + // namespaced to a pod or a container, but their isolation is usually unclear or weak. Their use + // is at-your-own-risk. Pods that attempt to set an unsafe sysctl that is not enabled for a kubelet + // will fail to launch. + UnsafeSysctlsPodAnnotationKey string = "security.alpha.kubernetes.io/unsafe-sysctls" + + // ObjectTTLAnnotations represents a suggestion for kubelet for how long it can cache + // an object (e.g. secret, config map) before fetching it again from apiserver. + // This annotation can be attached to node. + ObjectTTLAnnotationKey string = "node.alpha.kubernetes.io/ttl" + + // AffinityAnnotationKey represents the key of affinity data (json serialized) + // in the Annotations of a Pod. + // TODO: remove when alpha support for affinity is removed + AffinityAnnotationKey string = "scheduler.alpha.kubernetes.io/affinity" +) diff --git a/pkg/api/helpers.go b/pkg/api/helpers.go index faa7df7c..f7e7afbd 100644 --- a/pkg/api/helpers.go +++ b/pkg/api/helpers.go @@ -429,56 +429,6 @@ func NodeSelectorRequirementsAsSelector(nsm []NodeSelectorRequirement) (labels.S return selector, nil } -const ( - // TolerationsAnnotationKey represents the key of tolerations data (json serialized) - // in the Annotations of a Pod. - TolerationsAnnotationKey string = "scheduler.alpha.kubernetes.io/tolerations" - - // TaintsAnnotationKey represents the key of taints data (json serialized) - // in the Annotations of a Node. - TaintsAnnotationKey string = "scheduler.alpha.kubernetes.io/taints" - - // SeccompPodAnnotationKey represents the key of a seccomp profile applied - // to all containers of a pod. - SeccompPodAnnotationKey string = "seccomp.security.alpha.kubernetes.io/pod" - - // SeccompContainerAnnotationKeyPrefix represents the key of a seccomp profile applied - // to one container of a pod. - SeccompContainerAnnotationKeyPrefix string = "container.seccomp.security.alpha.kubernetes.io/" - - // CreatedByAnnotation represents the key used to store the spec(json) - // used to create the resource. - CreatedByAnnotation = "kubernetes.io/created-by" - - // PreferAvoidPodsAnnotationKey represents the key of preferAvoidPods data (json serialized) - // in the Annotations of a Node. - PreferAvoidPodsAnnotationKey string = "scheduler.alpha.kubernetes.io/preferAvoidPods" - - // SysctlsPodAnnotationKey represents the key of sysctls which are set for the infrastructure - // container of a pod. The annotation value is a comma separated list of sysctl_name=value - // key-value pairs. Only a limited set of whitelisted and isolated sysctls is supported by - // the kubelet. Pods with other sysctls will fail to launch. - SysctlsPodAnnotationKey string = "security.alpha.kubernetes.io/sysctls" - - // UnsafeSysctlsPodAnnotationKey represents the key of sysctls which are set for the infrastructure - // container of a pod. The annotation value is a comma separated list of sysctl_name=value - // key-value pairs. Unsafe sysctls must be explicitly enabled for a kubelet. They are properly - // namespaced to a pod or a container, but their isolation is usually unclear or weak. Their use - // is at-your-own-risk. Pods that attempt to set an unsafe sysctl that is not enabled for a kubelet - // will fail to launch. - UnsafeSysctlsPodAnnotationKey string = "security.alpha.kubernetes.io/unsafe-sysctls" - - // ObjectTTLAnnotations represents a suggestion for kubelet for how long it can cache - // an object (e.g. secret, config map) before fetching it again from apiserver. - // This annotation can be attached to node. - ObjectTTLAnnotationKey string = "node.alpha.kubernetes.io/ttl" - - // AffinityAnnotationKey represents the key of affinity data (json serialized) - // in the Annotations of a Pod. - // TODO: remove when alpha support for affinity is removed - AffinityAnnotationKey string = "scheduler.alpha.kubernetes.io/affinity" -) - // GetTolerationsFromPodAnnotations gets the json serialized tolerations data from Pod.Annotations // and converts it to the []Toleration type in api. func GetTolerationsFromPodAnnotations(annotations map[string]string) ([]Toleration, error) { @@ -494,7 +444,7 @@ func GetTolerationsFromPodAnnotations(annotations map[string]string) ([]Tolerati // AddOrUpdateTolerationInPod tries to add a toleration to the pod's toleration list. // Returns true if something was updated, false otherwise. -func AddOrUpdateTolerationInPod(pod *Pod, toleration *Toleration) (bool, error) { +func AddOrUpdateTolerationInPod(pod *Pod, toleration *Toleration) bool { podTolerations := pod.Spec.Tolerations var newTolerations []Toleration @@ -502,7 +452,7 @@ func AddOrUpdateTolerationInPod(pod *Pod, toleration *Toleration) (bool, error) for i := range podTolerations { if toleration.MatchToleration(&podTolerations[i]) { if Semantic.DeepEqual(toleration, podTolerations[i]) { - return false, nil + return false } newTolerations = append(newTolerations, *toleration) updated = true @@ -517,7 +467,7 @@ func AddOrUpdateTolerationInPod(pod *Pod, toleration *Toleration) (bool, error) } pod.Spec.Tolerations = newTolerations - return true, nil + return true } // MatchToleration checks if the toleration matches tolerationToMatch. Tolerations are unique by , diff --git a/pkg/api/resource_helpers.go b/pkg/api/resource_helpers.go index 88d0f80d..74da82ef 100644 --- a/pkg/api/resource_helpers.go +++ b/pkg/api/resource_helpers.go @@ -17,6 +17,9 @@ limitations under the License. package api import ( + "fmt" + "math" + "strconv" "time" "k8s.io/apimachinery/pkg/api/resource" @@ -227,3 +230,41 @@ func PodRequestsAndLimits(pod *Pod) (reqs map[ResourceName]resource.Quantity, li } return } + +// ExtractContainerResourceValue extracts the value of a resource +// in an already known container +func ExtractContainerResourceValue(fs *ResourceFieldSelector, container *Container) (string, error) { + divisor := resource.Quantity{} + if divisor.Cmp(fs.Divisor) == 0 { + divisor = resource.MustParse("1") + } else { + divisor = fs.Divisor + } + + switch fs.Resource { + case "limits.cpu": + return convertResourceCPUToString(container.Resources.Limits.Cpu(), divisor) + case "limits.memory": + return convertResourceMemoryToString(container.Resources.Limits.Memory(), divisor) + case "requests.cpu": + return convertResourceCPUToString(container.Resources.Requests.Cpu(), divisor) + case "requests.memory": + return convertResourceMemoryToString(container.Resources.Requests.Memory(), divisor) + } + + return "", fmt.Errorf("unsupported container resource : %v", fs.Resource) +} + +// convertResourceCPUToString converts cpu value to the format of divisor and returns +// ceiling of the value. +func convertResourceCPUToString(cpu *resource.Quantity, divisor resource.Quantity) (string, error) { + c := int64(math.Ceil(float64(cpu.MilliValue()) / float64(divisor.MilliValue()))) + return strconv.FormatInt(c, 10), nil +} + +// convertResourceMemoryToString converts memory value to the format of divisor and returns +// ceiling of the value. +func convertResourceMemoryToString(memory *resource.Quantity, divisor resource.Quantity) (string, error) { + m := int64(math.Ceil(float64(memory.Value()) / float64(divisor.Value()))) + return strconv.FormatInt(m, 10), nil +} diff --git a/pkg/api/types.go b/pkg/api/types.go index 58f936dc..8f4cf5e3 100644 --- a/pkg/api/types.go +++ b/pkg/api/types.go @@ -653,10 +653,20 @@ type ISCSIVolumeSource struct { // the ReadOnly setting in VolumeMounts. // +optional ReadOnly bool - // Required: list of iSCSI target portal ips for high availability. + // Optional: list of iSCSI target portal ips for high availability. // the portal is either an IP or ip_addr:port if port is other than default (typically TCP ports 860 and 3260) // +optional Portals []string + // Optional: whether support iSCSI Discovery CHAP authentication + // +optional + DiscoveryCHAPAuth bool + // Optional: whether support iSCSI Session CHAP authentication + // +optional + SessionCHAPAuth bool + // Optional: CHAP secret for iSCSI target and initiator authentication. + // The secret is used if either DiscoveryCHAPAuth or SessionCHAPAuth is true + // +optional + SecretRef *LocalObjectReference } // Represents a Fibre Channel volume. diff --git a/pkg/api/v1/generated.pb.go b/pkg/api/v1/generated.pb.go index 18411b6e..5e1a3872 100644 --- a/pkg/api/v1/generated.pb.go +++ b/pkg/api/v1/generated.pb.go @@ -3502,6 +3502,32 @@ func (m *ISCSIVolumeSource) MarshalTo(dAtA []byte) (int, error) { i += copy(dAtA[i:], s) } } + dAtA[i] = 0x40 + i++ + if m.DiscoveryCHAPAuth { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + if m.SecretRef != nil { + dAtA[i] = 0x52 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.SecretRef.Size())) + n52, err := m.SecretRef.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n52 + } + dAtA[i] = 0x58 + i++ + if m.SessionCHAPAuth { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ return i, nil } @@ -3555,21 +3581,21 @@ func (m *Lifecycle) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.PostStart.Size())) - n52, err := m.PostStart.MarshalTo(dAtA[i:]) + n53, err := m.PostStart.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n52 + i += n53 } if m.PreStop != nil { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.PreStop.Size())) - n53, err := m.PreStop.MarshalTo(dAtA[i:]) + n54, err := m.PreStop.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n53 + i += n54 } return i, nil } @@ -3592,19 +3618,19 @@ func (m *LimitRange) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n54, err := m.ObjectMeta.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n54 - dAtA[i] = 0x12 - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) - n55, err := m.Spec.MarshalTo(dAtA[i:]) + n55, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n55 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) + n56, err := m.Spec.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n56 return i, nil } @@ -3646,11 +3672,11 @@ func (m *LimitRangeItem) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n56, err := (&v).MarshalTo(dAtA[i:]) + n57, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n56 + i += n57 } } if len(m.Min) > 0 { @@ -3672,11 +3698,11 @@ func (m *LimitRangeItem) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n57, err := (&v).MarshalTo(dAtA[i:]) + n58, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n57 + i += n58 } } if len(m.Default) > 0 { @@ -3698,11 +3724,11 @@ func (m *LimitRangeItem) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n58, err := (&v).MarshalTo(dAtA[i:]) + n59, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n58 + i += n59 } } if len(m.DefaultRequest) > 0 { @@ -3724,11 +3750,11 @@ func (m *LimitRangeItem) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n59, err := (&v).MarshalTo(dAtA[i:]) + n60, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n59 + i += n60 } } if len(m.MaxLimitRequestRatio) > 0 { @@ -3750,11 +3776,11 @@ func (m *LimitRangeItem) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n60, err := (&v).MarshalTo(dAtA[i:]) + n61, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n60 + i += n61 } } return i, nil @@ -3778,11 +3804,11 @@ func (m *LimitRangeList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n61, err := m.ListMeta.MarshalTo(dAtA[i:]) + n62, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n61 + i += n62 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -3846,11 +3872,11 @@ func (m *List) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n62, err := m.ListMeta.MarshalTo(dAtA[i:]) + n63, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n62 + i += n63 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -4039,27 +4065,27 @@ func (m *Namespace) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n63, err := m.ObjectMeta.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n63 - dAtA[i] = 0x12 - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) - n64, err := m.Spec.MarshalTo(dAtA[i:]) + n64, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n64 - dAtA[i] = 0x1a + dAtA[i] = 0x12 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) - n65, err := m.Status.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) + n65, err := m.Spec.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n65 + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) + n66, err := m.Status.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n66 return i, nil } @@ -4081,11 +4107,11 @@ func (m *NamespaceList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n66, err := m.ListMeta.MarshalTo(dAtA[i:]) + n67, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n66 + i += n67 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -4174,27 +4200,27 @@ func (m *Node) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n67, err := m.ObjectMeta.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n67 - dAtA[i] = 0x12 - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) - n68, err := m.Spec.MarshalTo(dAtA[i:]) + n68, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n68 - dAtA[i] = 0x1a + dAtA[i] = 0x12 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) - n69, err := m.Status.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) + n69, err := m.Spec.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n69 + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) + n70, err := m.Status.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n70 return i, nil } @@ -4243,11 +4269,11 @@ func (m *NodeAffinity) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.RequiredDuringSchedulingIgnoredDuringExecution.Size())) - n70, err := m.RequiredDuringSchedulingIgnoredDuringExecution.MarshalTo(dAtA[i:]) + n71, err := m.RequiredDuringSchedulingIgnoredDuringExecution.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n70 + i += n71 } if len(m.PreferredDuringSchedulingIgnoredDuringExecution) > 0 { for _, msg := range m.PreferredDuringSchedulingIgnoredDuringExecution { @@ -4290,19 +4316,19 @@ func (m *NodeCondition) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LastHeartbeatTime.Size())) - n71, err := m.LastHeartbeatTime.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n71 - dAtA[i] = 0x22 - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.LastTransitionTime.Size())) - n72, err := m.LastTransitionTime.MarshalTo(dAtA[i:]) + n72, err := m.LastHeartbeatTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n72 + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.LastTransitionTime.Size())) + n73, err := m.LastTransitionTime.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n73 dAtA[i] = 0x2a i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Reason))) @@ -4332,11 +4358,11 @@ func (m *NodeDaemonEndpoints) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.KubeletEndpoint.Size())) - n73, err := m.KubeletEndpoint.MarshalTo(dAtA[i:]) + n74, err := m.KubeletEndpoint.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n73 + i += n74 return i, nil } @@ -4358,11 +4384,11 @@ func (m *NodeList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n74, err := m.ListMeta.MarshalTo(dAtA[i:]) + n75, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n74 + i += n75 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -4434,11 +4460,11 @@ func (m *NodeResources) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n75, err := (&v).MarshalTo(dAtA[i:]) + n76, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n75 + i += n76 } } return i, nil @@ -4629,11 +4655,11 @@ func (m *NodeStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n76, err := (&v).MarshalTo(dAtA[i:]) + n77, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n76 + i += n77 } } if len(m.Allocatable) > 0 { @@ -4655,11 +4681,11 @@ func (m *NodeStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n77, err := (&v).MarshalTo(dAtA[i:]) + n78, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n77 + i += n78 } } dAtA[i] = 0x1a @@ -4693,19 +4719,19 @@ func (m *NodeStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x32 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.DaemonEndpoints.Size())) - n78, err := m.DaemonEndpoints.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n78 - dAtA[i] = 0x3a - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.NodeInfo.Size())) - n79, err := m.NodeInfo.MarshalTo(dAtA[i:]) + n79, err := m.DaemonEndpoints.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n79 + dAtA[i] = 0x3a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.NodeInfo.Size())) + n80, err := m.NodeInfo.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n80 if len(m.Images) > 0 { for _, msg := range m.Images { dAtA[i] = 0x42 @@ -4877,20 +4903,20 @@ func (m *ObjectMeta) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x42 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.CreationTimestamp.Size())) - n80, err := m.CreationTimestamp.MarshalTo(dAtA[i:]) + n81, err := m.CreationTimestamp.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n80 + i += n81 if m.DeletionTimestamp != nil { dAtA[i] = 0x4a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.DeletionTimestamp.Size())) - n81, err := m.DeletionTimestamp.MarshalTo(dAtA[i:]) + n82, err := m.DeletionTimestamp.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n81 + i += n82 } if m.DeletionGracePeriodSeconds != nil { dAtA[i] = 0x50 @@ -5029,27 +5055,27 @@ func (m *PersistentVolume) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n82, err := m.ObjectMeta.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n82 - dAtA[i] = 0x12 - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) - n83, err := m.Spec.MarshalTo(dAtA[i:]) + n83, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n83 - dAtA[i] = 0x1a + dAtA[i] = 0x12 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) - n84, err := m.Status.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) + n84, err := m.Spec.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n84 + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) + n85, err := m.Status.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n85 return i, nil } @@ -5071,27 +5097,27 @@ func (m *PersistentVolumeClaim) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n85, err := m.ObjectMeta.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n85 - dAtA[i] = 0x12 - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) - n86, err := m.Spec.MarshalTo(dAtA[i:]) + n86, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n86 - dAtA[i] = 0x1a + dAtA[i] = 0x12 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) - n87, err := m.Status.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) + n87, err := m.Spec.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n87 + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) + n88, err := m.Status.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n88 return i, nil } @@ -5113,11 +5139,11 @@ func (m *PersistentVolumeClaimList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n88, err := m.ListMeta.MarshalTo(dAtA[i:]) + n89, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n88 + i += n89 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -5166,11 +5192,11 @@ func (m *PersistentVolumeClaimSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Resources.Size())) - n89, err := m.Resources.MarshalTo(dAtA[i:]) + n90, err := m.Resources.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n89 + i += n90 dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.VolumeName))) @@ -5179,11 +5205,11 @@ func (m *PersistentVolumeClaimSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x22 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Selector.Size())) - n90, err := m.Selector.MarshalTo(dAtA[i:]) + n91, err := m.Selector.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n90 + i += n91 } if m.StorageClassName != nil { dAtA[i] = 0x2a @@ -5247,11 +5273,11 @@ func (m *PersistentVolumeClaimStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n91, err := (&v).MarshalTo(dAtA[i:]) + n92, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n91 + i += n92 } } return i, nil @@ -5305,11 +5331,11 @@ func (m *PersistentVolumeList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n92, err := m.ListMeta.MarshalTo(dAtA[i:]) + n93, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n92 + i += n93 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -5344,163 +5370,163 @@ func (m *PersistentVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.GCEPersistentDisk.Size())) - n93, err := m.GCEPersistentDisk.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n93 - } - if m.AWSElasticBlockStore != nil { - dAtA[i] = 0x12 - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.AWSElasticBlockStore.Size())) - n94, err := m.AWSElasticBlockStore.MarshalTo(dAtA[i:]) + n94, err := m.GCEPersistentDisk.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n94 } - if m.HostPath != nil { - dAtA[i] = 0x1a + if m.AWSElasticBlockStore != nil { + dAtA[i] = 0x12 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.HostPath.Size())) - n95, err := m.HostPath.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.AWSElasticBlockStore.Size())) + n95, err := m.AWSElasticBlockStore.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n95 } - if m.Glusterfs != nil { - dAtA[i] = 0x22 + if m.HostPath != nil { + dAtA[i] = 0x1a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Glusterfs.Size())) - n96, err := m.Glusterfs.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.HostPath.Size())) + n96, err := m.HostPath.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n96 } - if m.NFS != nil { - dAtA[i] = 0x2a + if m.Glusterfs != nil { + dAtA[i] = 0x22 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.NFS.Size())) - n97, err := m.NFS.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.Glusterfs.Size())) + n97, err := m.Glusterfs.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n97 } - if m.RBD != nil { - dAtA[i] = 0x32 + if m.NFS != nil { + dAtA[i] = 0x2a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.RBD.Size())) - n98, err := m.RBD.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.NFS.Size())) + n98, err := m.NFS.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n98 } - if m.ISCSI != nil { - dAtA[i] = 0x3a + if m.RBD != nil { + dAtA[i] = 0x32 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.ISCSI.Size())) - n99, err := m.ISCSI.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.RBD.Size())) + n99, err := m.RBD.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n99 } - if m.Cinder != nil { - dAtA[i] = 0x42 + if m.ISCSI != nil { + dAtA[i] = 0x3a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Cinder.Size())) - n100, err := m.Cinder.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.ISCSI.Size())) + n100, err := m.ISCSI.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n100 } - if m.CephFS != nil { - dAtA[i] = 0x4a + if m.Cinder != nil { + dAtA[i] = 0x42 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.CephFS.Size())) - n101, err := m.CephFS.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.Cinder.Size())) + n101, err := m.Cinder.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n101 } - if m.FC != nil { - dAtA[i] = 0x52 + if m.CephFS != nil { + dAtA[i] = 0x4a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.FC.Size())) - n102, err := m.FC.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.CephFS.Size())) + n102, err := m.CephFS.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n102 } - if m.Flocker != nil { - dAtA[i] = 0x5a + if m.FC != nil { + dAtA[i] = 0x52 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Flocker.Size())) - n103, err := m.Flocker.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.FC.Size())) + n103, err := m.FC.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n103 } - if m.FlexVolume != nil { - dAtA[i] = 0x62 + if m.Flocker != nil { + dAtA[i] = 0x5a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.FlexVolume.Size())) - n104, err := m.FlexVolume.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.Flocker.Size())) + n104, err := m.Flocker.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n104 } - if m.AzureFile != nil { - dAtA[i] = 0x6a + if m.FlexVolume != nil { + dAtA[i] = 0x62 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.AzureFile.Size())) - n105, err := m.AzureFile.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.FlexVolume.Size())) + n105, err := m.FlexVolume.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n105 } - if m.VsphereVolume != nil { - dAtA[i] = 0x72 + if m.AzureFile != nil { + dAtA[i] = 0x6a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.VsphereVolume.Size())) - n106, err := m.VsphereVolume.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.AzureFile.Size())) + n106, err := m.AzureFile.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n106 } - if m.Quobyte != nil { - dAtA[i] = 0x7a + if m.VsphereVolume != nil { + dAtA[i] = 0x72 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Quobyte.Size())) - n107, err := m.Quobyte.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.VsphereVolume.Size())) + n107, err := m.VsphereVolume.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n107 } + if m.Quobyte != nil { + dAtA[i] = 0x7a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Quobyte.Size())) + n108, err := m.Quobyte.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n108 + } if m.AzureDisk != nil { dAtA[i] = 0x82 i++ dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.AzureDisk.Size())) - n108, err := m.AzureDisk.MarshalTo(dAtA[i:]) + n109, err := m.AzureDisk.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n108 + i += n109 } if m.PhotonPersistentDisk != nil { dAtA[i] = 0x8a @@ -5508,11 +5534,11 @@ func (m *PersistentVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.PhotonPersistentDisk.Size())) - n109, err := m.PhotonPersistentDisk.MarshalTo(dAtA[i:]) + n110, err := m.PhotonPersistentDisk.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n109 + i += n110 } if m.PortworxVolume != nil { dAtA[i] = 0x92 @@ -5520,11 +5546,11 @@ func (m *PersistentVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.PortworxVolume.Size())) - n110, err := m.PortworxVolume.MarshalTo(dAtA[i:]) + n111, err := m.PortworxVolume.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n110 + i += n111 } if m.ScaleIO != nil { dAtA[i] = 0x9a @@ -5532,11 +5558,11 @@ func (m *PersistentVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ScaleIO.Size())) - n111, err := m.ScaleIO.MarshalTo(dAtA[i:]) + n112, err := m.ScaleIO.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n111 + i += n112 } return i, nil } @@ -5575,21 +5601,21 @@ func (m *PersistentVolumeSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n112, err := (&v).MarshalTo(dAtA[i:]) + n113, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n112 + i += n113 } } dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.PersistentVolumeSource.Size())) - n113, err := m.PersistentVolumeSource.MarshalTo(dAtA[i:]) + n114, err := m.PersistentVolumeSource.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n113 + i += n114 if len(m.AccessModes) > 0 { for _, s := range m.AccessModes { dAtA[i] = 0x1a @@ -5609,11 +5635,11 @@ func (m *PersistentVolumeSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x22 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ClaimRef.Size())) - n114, err := m.ClaimRef.MarshalTo(dAtA[i:]) + n115, err := m.ClaimRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n114 + i += n115 } dAtA[i] = 0x2a i++ @@ -5700,27 +5726,27 @@ func (m *Pod) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n115, err := m.ObjectMeta.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n115 - dAtA[i] = 0x12 - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) - n116, err := m.Spec.MarshalTo(dAtA[i:]) + n116, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n116 - dAtA[i] = 0x1a + dAtA[i] = 0x12 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) - n117, err := m.Status.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) + n117, err := m.Spec.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n117 + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) + n118, err := m.Status.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n118 return i, nil } @@ -5785,11 +5811,11 @@ func (m *PodAffinityTerm) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LabelSelector.Size())) - n118, err := m.LabelSelector.MarshalTo(dAtA[i:]) + n119, err := m.LabelSelector.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n118 + i += n119 } if len(m.Namespaces) > 0 { for _, s := range m.Namespaces { @@ -5935,19 +5961,19 @@ func (m *PodCondition) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LastProbeTime.Size())) - n119, err := m.LastProbeTime.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n119 - dAtA[i] = 0x22 - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.LastTransitionTime.Size())) - n120, err := m.LastTransitionTime.MarshalTo(dAtA[i:]) + n120, err := m.LastProbeTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n120 + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.LastTransitionTime.Size())) + n121, err := m.LastTransitionTime.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n121 dAtA[i] = 0x2a i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Reason))) @@ -6046,11 +6072,11 @@ func (m *PodList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n121, err := m.ListMeta.MarshalTo(dAtA[i:]) + n122, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n121 + i += n122 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -6110,11 +6136,11 @@ func (m *PodLogOptions) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SinceTime.Size())) - n122, err := m.SinceTime.MarshalTo(dAtA[i:]) + n123, err := m.SinceTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n122 + i += n123 } dAtA[i] = 0x30 i++ @@ -6203,11 +6229,11 @@ func (m *PodSecurityContext) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SELinuxOptions.Size())) - n123, err := m.SELinuxOptions.MarshalTo(dAtA[i:]) + n124, err := m.SELinuxOptions.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n123 + i += n124 } if m.RunAsUser != nil { dAtA[i] = 0x10 @@ -6258,11 +6284,11 @@ func (m *PodSignature) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.PodController.Size())) - n124, err := m.PodController.MarshalTo(dAtA[i:]) + n125, err := m.PodController.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n124 + i += n125 } return i, nil } @@ -6381,11 +6407,11 @@ func (m *PodSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x72 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SecurityContext.Size())) - n125, err := m.SecurityContext.MarshalTo(dAtA[i:]) + n126, err := m.SecurityContext.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n125 + i += n126 } if len(m.ImagePullSecrets) > 0 { for _, msg := range m.ImagePullSecrets { @@ -6417,11 +6443,11 @@ func (m *PodSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Affinity.Size())) - n126, err := m.Affinity.MarshalTo(dAtA[i:]) + n127, err := m.Affinity.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n126 + i += n127 } dAtA[i] = 0x9a i++ @@ -6523,11 +6549,11 @@ func (m *PodStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x3a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.StartTime.Size())) - n127, err := m.StartTime.MarshalTo(dAtA[i:]) + n128, err := m.StartTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n127 + i += n128 } if len(m.ContainerStatuses) > 0 { for _, msg := range m.ContainerStatuses { @@ -6578,19 +6604,19 @@ func (m *PodStatusResult) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n128, err := m.ObjectMeta.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n128 - dAtA[i] = 0x12 - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) - n129, err := m.Status.MarshalTo(dAtA[i:]) + n129, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n129 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) + n130, err := m.Status.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n130 return i, nil } @@ -6612,19 +6638,19 @@ func (m *PodTemplate) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n130, err := m.ObjectMeta.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n130 - dAtA[i] = 0x12 - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Template.Size())) - n131, err := m.Template.MarshalTo(dAtA[i:]) + n131, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n131 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Template.Size())) + n132, err := m.Template.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n132 return i, nil } @@ -6646,11 +6672,11 @@ func (m *PodTemplateList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n132, err := m.ListMeta.MarshalTo(dAtA[i:]) + n133, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n132 + i += n133 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -6684,19 +6710,19 @@ func (m *PodTemplateSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n133, err := m.ObjectMeta.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n133 - dAtA[i] = 0x12 - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) - n134, err := m.Spec.MarshalTo(dAtA[i:]) + n134, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n134 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) + n135, err := m.Spec.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n135 return i, nil } @@ -6776,19 +6802,19 @@ func (m *PreferAvoidPodsEntry) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.PodSignature.Size())) - n135, err := m.PodSignature.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n135 - dAtA[i] = 0x12 - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.EvictionTime.Size())) - n136, err := m.EvictionTime.MarshalTo(dAtA[i:]) + n136, err := m.PodSignature.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n136 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.EvictionTime.Size())) + n137, err := m.EvictionTime.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n137 dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Reason))) @@ -6821,11 +6847,11 @@ func (m *PreferredSchedulingTerm) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Preference.Size())) - n137, err := m.Preference.MarshalTo(dAtA[i:]) + n138, err := m.Preference.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n137 + i += n138 return i, nil } @@ -6847,11 +6873,11 @@ func (m *Probe) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Handler.Size())) - n138, err := m.Handler.MarshalTo(dAtA[i:]) + n139, err := m.Handler.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n138 + i += n139 dAtA[i] = 0x10 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.InitialDelaySeconds)) @@ -7001,11 +7027,11 @@ func (m *RBDVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x3a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SecretRef.Size())) - n139, err := m.SecretRef.MarshalTo(dAtA[i:]) + n140, err := m.SecretRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n139 + i += n140 } dAtA[i] = 0x40 i++ @@ -7036,11 +7062,11 @@ func (m *RangeAllocation) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n140, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + n141, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n140 + i += n141 dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Range))) @@ -7072,27 +7098,27 @@ func (m *ReplicationController) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n141, err := m.ObjectMeta.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n141 - dAtA[i] = 0x12 - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) - n142, err := m.Spec.MarshalTo(dAtA[i:]) + n142, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n142 - dAtA[i] = 0x1a + dAtA[i] = 0x12 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) - n143, err := m.Status.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) + n143, err := m.Spec.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n143 + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) + n144, err := m.Status.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n144 return i, nil } @@ -7122,11 +7148,11 @@ func (m *ReplicationControllerCondition) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LastTransitionTime.Size())) - n144, err := m.LastTransitionTime.MarshalTo(dAtA[i:]) + n145, err := m.LastTransitionTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n144 + i += n145 dAtA[i] = 0x22 i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Reason))) @@ -7156,11 +7182,11 @@ func (m *ReplicationControllerList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n145, err := m.ListMeta.MarshalTo(dAtA[i:]) + n146, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n145 + i += n146 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -7217,11 +7243,11 @@ func (m *ReplicationControllerSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Template.Size())) - n146, err := m.Template.MarshalTo(dAtA[i:]) + n147, err := m.Template.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n146 + i += n147 } dAtA[i] = 0x20 i++ @@ -7300,11 +7326,11 @@ func (m *ResourceFieldSelector) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Divisor.Size())) - n147, err := m.Divisor.MarshalTo(dAtA[i:]) + n148, err := m.Divisor.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n147 + i += n148 return i, nil } @@ -7326,27 +7352,27 @@ func (m *ResourceQuota) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n148, err := m.ObjectMeta.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n148 - dAtA[i] = 0x12 - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) - n149, err := m.Spec.MarshalTo(dAtA[i:]) + n149, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n149 - dAtA[i] = 0x1a + dAtA[i] = 0x12 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) - n150, err := m.Status.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) + n150, err := m.Spec.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n150 + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) + n151, err := m.Status.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n151 return i, nil } @@ -7368,11 +7394,11 @@ func (m *ResourceQuotaList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n151, err := m.ListMeta.MarshalTo(dAtA[i:]) + n152, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n151 + i += n152 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -7422,11 +7448,11 @@ func (m *ResourceQuotaSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n152, err := (&v).MarshalTo(dAtA[i:]) + n153, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n152 + i += n153 } } if len(m.Scopes) > 0 { @@ -7481,11 +7507,11 @@ func (m *ResourceQuotaStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n153, err := (&v).MarshalTo(dAtA[i:]) + n154, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n153 + i += n154 } } if len(m.Used) > 0 { @@ -7507,11 +7533,11 @@ func (m *ResourceQuotaStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n154, err := (&v).MarshalTo(dAtA[i:]) + n155, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n154 + i += n155 } } return i, nil @@ -7551,11 +7577,11 @@ func (m *ResourceRequirements) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n155, err := (&v).MarshalTo(dAtA[i:]) + n156, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n155 + i += n156 } } if len(m.Requests) > 0 { @@ -7577,11 +7603,11 @@ func (m *ResourceRequirements) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n156, err := (&v).MarshalTo(dAtA[i:]) + n157, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n156 + i += n157 } } return i, nil @@ -7648,11 +7674,11 @@ func (m *ScaleIOVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SecretRef.Size())) - n157, err := m.SecretRef.MarshalTo(dAtA[i:]) + n158, err := m.SecretRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n157 + i += n158 } dAtA[i] = 0x20 i++ @@ -7711,11 +7737,11 @@ func (m *Secret) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n158, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + n159, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n158 + i += n159 if len(m.Data) > 0 { for k := range m.Data { dAtA[i] = 0x12 @@ -7781,11 +7807,11 @@ func (m *SecretEnvSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LocalObjectReference.Size())) - n159, err := m.LocalObjectReference.MarshalTo(dAtA[i:]) + n160, err := m.LocalObjectReference.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n159 + i += n160 if m.Optional != nil { dAtA[i] = 0x10 i++ @@ -7817,11 +7843,11 @@ func (m *SecretKeySelector) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LocalObjectReference.Size())) - n160, err := m.LocalObjectReference.MarshalTo(dAtA[i:]) + n161, err := m.LocalObjectReference.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n160 + i += n161 dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Key))) @@ -7857,11 +7883,11 @@ func (m *SecretList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n161, err := m.ListMeta.MarshalTo(dAtA[i:]) + n162, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n161 + i += n162 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -7895,11 +7921,11 @@ func (m *SecretProjection) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LocalObjectReference.Size())) - n162, err := m.LocalObjectReference.MarshalTo(dAtA[i:]) + n163, err := m.LocalObjectReference.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n162 + i += n163 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -7993,11 +8019,11 @@ func (m *SecurityContext) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Capabilities.Size())) - n163, err := m.Capabilities.MarshalTo(dAtA[i:]) + n164, err := m.Capabilities.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n163 + i += n164 } if m.Privileged != nil { dAtA[i] = 0x10 @@ -8013,11 +8039,11 @@ func (m *SecurityContext) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SELinuxOptions.Size())) - n164, err := m.SELinuxOptions.MarshalTo(dAtA[i:]) + n165, err := m.SELinuxOptions.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n164 + i += n165 } if m.RunAsUser != nil { dAtA[i] = 0x20 @@ -8065,11 +8091,11 @@ func (m *SerializedReference) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Reference.Size())) - n165, err := m.Reference.MarshalTo(dAtA[i:]) + n166, err := m.Reference.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n165 + i += n166 return i, nil } @@ -8091,27 +8117,27 @@ func (m *Service) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n166, err := m.ObjectMeta.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n166 - dAtA[i] = 0x12 - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) - n167, err := m.Spec.MarshalTo(dAtA[i:]) + n167, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n167 - dAtA[i] = 0x1a + dAtA[i] = 0x12 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) - n168, err := m.Status.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) + n168, err := m.Spec.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n168 + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) + n169, err := m.Status.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n169 return i, nil } @@ -8133,11 +8159,11 @@ func (m *ServiceAccount) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n169, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + n170, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n169 + i += n170 if len(m.Secrets) > 0 { for _, msg := range m.Secrets { dAtA[i] = 0x12 @@ -8193,11 +8219,11 @@ func (m *ServiceAccountList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n170, err := m.ListMeta.MarshalTo(dAtA[i:]) + n171, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n170 + i += n171 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -8231,11 +8257,11 @@ func (m *ServiceList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n171, err := m.ListMeta.MarshalTo(dAtA[i:]) + n172, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n171 + i += n172 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -8280,11 +8306,11 @@ func (m *ServicePort) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x22 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.TargetPort.Size())) - n172, err := m.TargetPort.MarshalTo(dAtA[i:]) + n173, err := m.TargetPort.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n172 + i += n173 dAtA[i] = 0x28 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.NodePort)) @@ -8443,11 +8469,11 @@ func (m *ServiceStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LoadBalancer.Size())) - n173, err := m.LoadBalancer.MarshalTo(dAtA[i:]) + n174, err := m.LoadBalancer.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n173 + i += n174 return i, nil } @@ -8495,11 +8521,11 @@ func (m *TCPSocketAction) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Port.Size())) - n174, err := m.Port.MarshalTo(dAtA[i:]) + n175, err := m.Port.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n174 + i += n175 dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Host))) @@ -8537,11 +8563,11 @@ func (m *Taint) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x22 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.TimeAdded.Size())) - n175, err := m.TimeAdded.MarshalTo(dAtA[i:]) + n176, err := m.TimeAdded.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n175 + i += n176 return i, nil } @@ -8606,11 +8632,11 @@ func (m *Volume) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.VolumeSource.Size())) - n176, err := m.VolumeSource.MarshalTo(dAtA[i:]) + n177, err := m.VolumeSource.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n176 + i += n177 return i, nil } @@ -8671,32 +8697,32 @@ func (m *VolumeProjection) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Secret.Size())) - n177, err := m.Secret.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n177 - } - if m.DownwardAPI != nil { - dAtA[i] = 0x12 - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.DownwardAPI.Size())) - n178, err := m.DownwardAPI.MarshalTo(dAtA[i:]) + n178, err := m.Secret.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n178 } - if m.ConfigMap != nil { - dAtA[i] = 0x1a + if m.DownwardAPI != nil { + dAtA[i] = 0x12 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.ConfigMap.Size())) - n179, err := m.ConfigMap.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.DownwardAPI.Size())) + n179, err := m.DownwardAPI.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n179 } + if m.ConfigMap != nil { + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ConfigMap.Size())) + n180, err := m.ConfigMap.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n180 + } return i, nil } @@ -8719,163 +8745,163 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.HostPath.Size())) - n180, err := m.HostPath.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n180 - } - if m.EmptyDir != nil { - dAtA[i] = 0x12 - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.EmptyDir.Size())) - n181, err := m.EmptyDir.MarshalTo(dAtA[i:]) + n181, err := m.HostPath.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n181 } - if m.GCEPersistentDisk != nil { - dAtA[i] = 0x1a + if m.EmptyDir != nil { + dAtA[i] = 0x12 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.GCEPersistentDisk.Size())) - n182, err := m.GCEPersistentDisk.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.EmptyDir.Size())) + n182, err := m.EmptyDir.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n182 } - if m.AWSElasticBlockStore != nil { - dAtA[i] = 0x22 + if m.GCEPersistentDisk != nil { + dAtA[i] = 0x1a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.AWSElasticBlockStore.Size())) - n183, err := m.AWSElasticBlockStore.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.GCEPersistentDisk.Size())) + n183, err := m.GCEPersistentDisk.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n183 } - if m.GitRepo != nil { - dAtA[i] = 0x2a + if m.AWSElasticBlockStore != nil { + dAtA[i] = 0x22 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.GitRepo.Size())) - n184, err := m.GitRepo.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.AWSElasticBlockStore.Size())) + n184, err := m.AWSElasticBlockStore.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n184 } - if m.Secret != nil { - dAtA[i] = 0x32 + if m.GitRepo != nil { + dAtA[i] = 0x2a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Secret.Size())) - n185, err := m.Secret.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.GitRepo.Size())) + n185, err := m.GitRepo.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n185 } - if m.NFS != nil { - dAtA[i] = 0x3a + if m.Secret != nil { + dAtA[i] = 0x32 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.NFS.Size())) - n186, err := m.NFS.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.Secret.Size())) + n186, err := m.Secret.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n186 } - if m.ISCSI != nil { - dAtA[i] = 0x42 + if m.NFS != nil { + dAtA[i] = 0x3a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.ISCSI.Size())) - n187, err := m.ISCSI.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.NFS.Size())) + n187, err := m.NFS.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n187 } - if m.Glusterfs != nil { - dAtA[i] = 0x4a + if m.ISCSI != nil { + dAtA[i] = 0x42 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Glusterfs.Size())) - n188, err := m.Glusterfs.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.ISCSI.Size())) + n188, err := m.ISCSI.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n188 } - if m.PersistentVolumeClaim != nil { - dAtA[i] = 0x52 + if m.Glusterfs != nil { + dAtA[i] = 0x4a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.PersistentVolumeClaim.Size())) - n189, err := m.PersistentVolumeClaim.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.Glusterfs.Size())) + n189, err := m.Glusterfs.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n189 } - if m.RBD != nil { - dAtA[i] = 0x5a + if m.PersistentVolumeClaim != nil { + dAtA[i] = 0x52 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.RBD.Size())) - n190, err := m.RBD.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.PersistentVolumeClaim.Size())) + n190, err := m.PersistentVolumeClaim.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n190 } - if m.FlexVolume != nil { - dAtA[i] = 0x62 + if m.RBD != nil { + dAtA[i] = 0x5a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.FlexVolume.Size())) - n191, err := m.FlexVolume.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.RBD.Size())) + n191, err := m.RBD.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n191 } - if m.Cinder != nil { - dAtA[i] = 0x6a + if m.FlexVolume != nil { + dAtA[i] = 0x62 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Cinder.Size())) - n192, err := m.Cinder.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.FlexVolume.Size())) + n192, err := m.FlexVolume.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n192 } - if m.CephFS != nil { - dAtA[i] = 0x72 + if m.Cinder != nil { + dAtA[i] = 0x6a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.CephFS.Size())) - n193, err := m.CephFS.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.Cinder.Size())) + n193, err := m.Cinder.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n193 } - if m.Flocker != nil { - dAtA[i] = 0x7a + if m.CephFS != nil { + dAtA[i] = 0x72 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Flocker.Size())) - n194, err := m.Flocker.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.CephFS.Size())) + n194, err := m.CephFS.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n194 } + if m.Flocker != nil { + dAtA[i] = 0x7a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Flocker.Size())) + n195, err := m.Flocker.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n195 + } if m.DownwardAPI != nil { dAtA[i] = 0x82 i++ dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.DownwardAPI.Size())) - n195, err := m.DownwardAPI.MarshalTo(dAtA[i:]) + n196, err := m.DownwardAPI.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n195 + i += n196 } if m.FC != nil { dAtA[i] = 0x8a @@ -8883,11 +8909,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.FC.Size())) - n196, err := m.FC.MarshalTo(dAtA[i:]) + n197, err := m.FC.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n196 + i += n197 } if m.AzureFile != nil { dAtA[i] = 0x92 @@ -8895,11 +8921,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.AzureFile.Size())) - n197, err := m.AzureFile.MarshalTo(dAtA[i:]) + n198, err := m.AzureFile.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n197 + i += n198 } if m.ConfigMap != nil { dAtA[i] = 0x9a @@ -8907,11 +8933,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ConfigMap.Size())) - n198, err := m.ConfigMap.MarshalTo(dAtA[i:]) + n199, err := m.ConfigMap.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n198 + i += n199 } if m.VsphereVolume != nil { dAtA[i] = 0xa2 @@ -8919,11 +8945,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.VsphereVolume.Size())) - n199, err := m.VsphereVolume.MarshalTo(dAtA[i:]) + n200, err := m.VsphereVolume.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n199 + i += n200 } if m.Quobyte != nil { dAtA[i] = 0xaa @@ -8931,11 +8957,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Quobyte.Size())) - n200, err := m.Quobyte.MarshalTo(dAtA[i:]) + n201, err := m.Quobyte.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n200 + i += n201 } if m.AzureDisk != nil { dAtA[i] = 0xb2 @@ -8943,11 +8969,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.AzureDisk.Size())) - n201, err := m.AzureDisk.MarshalTo(dAtA[i:]) + n202, err := m.AzureDisk.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n201 + i += n202 } if m.PhotonPersistentDisk != nil { dAtA[i] = 0xba @@ -8955,11 +8981,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.PhotonPersistentDisk.Size())) - n202, err := m.PhotonPersistentDisk.MarshalTo(dAtA[i:]) + n203, err := m.PhotonPersistentDisk.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n202 + i += n203 } if m.PortworxVolume != nil { dAtA[i] = 0xc2 @@ -8967,11 +8993,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.PortworxVolume.Size())) - n203, err := m.PortworxVolume.MarshalTo(dAtA[i:]) + n204, err := m.PortworxVolume.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n203 + i += n204 } if m.ScaleIO != nil { dAtA[i] = 0xca @@ -8979,11 +9005,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ScaleIO.Size())) - n204, err := m.ScaleIO.MarshalTo(dAtA[i:]) + n205, err := m.ScaleIO.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n204 + i += n205 } if m.Projected != nil { dAtA[i] = 0xd2 @@ -8991,11 +9017,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Projected.Size())) - n205, err := m.Projected.MarshalTo(dAtA[i:]) + n206, err := m.Projected.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n205 + i += n206 } return i, nil } @@ -9047,11 +9073,11 @@ func (m *WeightedPodAffinityTerm) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.PodAffinityTerm.Size())) - n206, err := m.PodAffinityTerm.MarshalTo(dAtA[i:]) + n207, err := m.PodAffinityTerm.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n206 + i += n207 return i, nil } @@ -9971,6 +9997,12 @@ func (m *ISCSIVolumeSource) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + n += 2 + if m.SecretRef != nil { + l = m.SecretRef.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + n += 2 return n } @@ -12736,6 +12768,9 @@ func (this *ISCSIVolumeSource) String() string { `FSType:` + fmt.Sprintf("%v", this.FSType) + `,`, `ReadOnly:` + fmt.Sprintf("%v", this.ReadOnly) + `,`, `Portals:` + fmt.Sprintf("%v", this.Portals) + `,`, + `DiscoveryCHAPAuth:` + fmt.Sprintf("%v", this.DiscoveryCHAPAuth) + `,`, + `SecretRef:` + strings.Replace(fmt.Sprintf("%v", this.SecretRef), "LocalObjectReference", "LocalObjectReference", 1) + `,`, + `SessionCHAPAuth:` + fmt.Sprintf("%v", this.SessionCHAPAuth) + `,`, `}`, }, "") return s @@ -22789,6 +22824,79 @@ func (m *ISCSIVolumeSource) Unmarshal(dAtA []byte) error { } m.Portals = append(m.Portals, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field DiscoveryCHAPAuth", 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.DiscoveryCHAPAuth = bool(v != 0) + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SecretRef", 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 > l { + return io.ErrUnexpectedEOF + } + if m.SecretRef == nil { + m.SecretRef = &LocalObjectReference{} + } + if err := m.SecretRef.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 11: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SessionCHAPAuth", 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.SessionCHAPAuth = bool(v != 0) default: iNdEx = preIndex skippy, err := skipGenerated(dAtA[iNdEx:]) @@ -42862,694 +42970,698 @@ func init() { } var fileDescriptorGenerated = []byte{ - // 11016 bytes of a gzipped FileDescriptorProto + // 11078 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xec, 0xbd, 0x7d, 0x70, 0x24, 0xc7, 0x75, 0x18, 0xae, 0xd9, 0xc5, 0xd7, 0x3e, 0x7c, 0x37, 0x70, 0x47, 0x10, 0x22, 0x0f, 0xc7, 0xa1, - 0x48, 0x1f, 0xc9, 0x23, 0x20, 0x1e, 0x49, 0xf1, 0x24, 0xea, 0x47, 0x09, 0xc0, 0x02, 0x77, 0xd0, + 0x48, 0x1f, 0xc9, 0x23, 0x20, 0x1e, 0x49, 0xf1, 0x24, 0xea, 0x47, 0x0b, 0xc0, 0x02, 0x77, 0xd0, 0x7d, 0x2d, 0x7b, 0x71, 0x77, 0x14, 0xc5, 0x9f, 0xc8, 0xb9, 0x9d, 0x06, 0x30, 0xbc, 0xc1, 0xcc, 0x72, 0x66, 0x16, 0x77, 0x90, 0xa2, 0x2a, 0x5b, 0x51, 0x49, 0x49, 0x59, 0x49, 0xe4, 0x72, 0x54, - 0x95, 0x72, 0x52, 0xa5, 0x94, 0xab, 0xe2, 0x28, 0x9f, 0x8e, 0xa2, 0xb2, 0x24, 0x97, 0xe5, 0xa4, - 0xe2, 0x58, 0x8e, 0x5c, 0x95, 0x38, 0xaa, 0x72, 0x25, 0x76, 0xca, 0x15, 0xd8, 0x82, 0x2a, 0xfe, - 0x23, 0x7f, 0xe4, 0x8f, 0xf8, 0x3f, 0x24, 0x95, 0x4a, 0xf5, 0xe7, 0x74, 0xcf, 0xee, 0x62, 0x66, - 0xc1, 0x03, 0x7c, 0x52, 0xe5, 0xbf, 0xdd, 0x7e, 0xaf, 0x5f, 0x7f, 0x4c, 0xf7, 0xeb, 0xf7, 0x5e, - 0xbf, 0xf7, 0x1a, 0xce, 0xdf, 0xbd, 0x18, 0xcf, 0x7b, 0xe1, 0xc2, 0xdd, 0xd6, 0x1d, 0x12, 0x05, - 0x24, 0x21, 0xf1, 0x42, 0xf3, 0xee, 0xe6, 0x82, 0xd3, 0xf4, 0x16, 0x76, 0x5e, 0x58, 0xd8, 0x24, - 0x01, 0x89, 0x9c, 0x84, 0xb8, 0xf3, 0xcd, 0x28, 0x4c, 0x42, 0xf4, 0x18, 0xc7, 0x9e, 0x4f, 0xb1, - 0xe7, 0x9b, 0x77, 0x37, 0xe7, 0x9d, 0xa6, 0x37, 0xbf, 0xf3, 0xc2, 0xec, 0xf3, 0x9b, 0x5e, 0xb2, - 0xd5, 0xba, 0x33, 0xdf, 0x08, 0xb7, 0x17, 0x36, 0xc3, 0xcd, 0x70, 0x81, 0x55, 0xba, 0xd3, 0xda, - 0x60, 0xff, 0xd8, 0x1f, 0xf6, 0x8b, 0x13, 0x9b, 0x7d, 0x49, 0x34, 0xed, 0x34, 0xbd, 0x6d, 0xa7, - 0xb1, 0xe5, 0x05, 0x24, 0xda, 0x55, 0x8d, 0x47, 0x24, 0x0e, 0x5b, 0x51, 0x83, 0x64, 0xbb, 0x70, - 0x68, 0xad, 0x78, 0x61, 0x9b, 0x24, 0x4e, 0x87, 0x8e, 0xcf, 0x2e, 0x74, 0xab, 0x15, 0xb5, 0x82, - 0xc4, 0xdb, 0x6e, 0x6f, 0xe6, 0x23, 0x79, 0x15, 0xe2, 0xc6, 0x16, 0xd9, 0x76, 0xda, 0xea, 0xbd, - 0xd8, 0xad, 0x5e, 0x2b, 0xf1, 0xfc, 0x05, 0x2f, 0x48, 0xe2, 0x24, 0x3a, 0x6c, 0x4c, 0x31, 0x89, - 0x76, 0x48, 0x94, 0x0e, 0x88, 0xdc, 0x77, 0xb6, 0x9b, 0x3e, 0xe9, 0x30, 0x26, 0xfb, 0x8f, 0x2c, - 0x38, 0xbb, 0x78, 0xbb, 0xbe, 0xe2, 0x3b, 0x71, 0xe2, 0x35, 0x96, 0xfc, 0xb0, 0x71, 0xb7, 0x9e, - 0x84, 0x11, 0xb9, 0x15, 0xfa, 0xad, 0x6d, 0x52, 0x67, 0xd3, 0x87, 0xce, 0xc3, 0xd0, 0x0e, 0xfb, - 0xbf, 0x56, 0x9d, 0xb1, 0xce, 0x5a, 0xe7, 0x2a, 0x4b, 0x13, 0x3f, 0xdc, 0x9b, 0xfb, 0xc0, 0xfe, - 0xde, 0xdc, 0xd0, 0x2d, 0x51, 0x8e, 0x15, 0x06, 0x7a, 0x1a, 0x06, 0x36, 0xe2, 0xf5, 0xdd, 0x26, - 0x99, 0x29, 0x31, 0xdc, 0x31, 0x81, 0x3b, 0xb0, 0x5a, 0xa7, 0xa5, 0x58, 0x40, 0xd1, 0x02, 0x54, - 0x9a, 0x4e, 0x94, 0x78, 0x89, 0x17, 0x06, 0x33, 0xe5, 0xb3, 0xd6, 0xb9, 0xfe, 0xa5, 0x49, 0x81, - 0x5a, 0xa9, 0x49, 0x00, 0x4e, 0x71, 0x68, 0x37, 0x22, 0xe2, 0xb8, 0x37, 0x02, 0x7f, 0x77, 0xa6, - 0xef, 0xac, 0x75, 0x6e, 0x28, 0xed, 0x06, 0x16, 0xe5, 0x58, 0x61, 0xd8, 0xdf, 0x2b, 0xc1, 0xd0, - 0xe2, 0xc6, 0x86, 0x17, 0x78, 0xc9, 0x2e, 0x7a, 0x07, 0x46, 0x82, 0xd0, 0x25, 0xf2, 0x3f, 0x1b, - 0xc5, 0xf0, 0x85, 0x67, 0xe7, 0x0f, 0x5b, 0x8a, 0xf3, 0xd7, 0xb5, 0x1a, 0x4b, 0x13, 0xfb, 0x7b, - 0x73, 0x23, 0x7a, 0x09, 0x36, 0x28, 0xa2, 0xb7, 0x60, 0xb8, 0x19, 0xba, 0xaa, 0x81, 0x12, 0x6b, - 0xe0, 0x99, 0xc3, 0x1b, 0xa8, 0xa5, 0x15, 0x96, 0xc6, 0xf7, 0xf7, 0xe6, 0x86, 0xb5, 0x02, 0xac, - 0x93, 0x43, 0x3e, 0x8c, 0xd3, 0xbf, 0x41, 0xe2, 0xa9, 0x16, 0xca, 0xac, 0x85, 0xe7, 0xf3, 0x5b, - 0xd0, 0x2a, 0x2d, 0x4d, 0xed, 0xef, 0xcd, 0x8d, 0x67, 0x0a, 0x71, 0x96, 0xb4, 0xfd, 0x39, 0x18, - 0x5b, 0x4c, 0x12, 0xa7, 0xb1, 0x45, 0x5c, 0xfe, 0x7d, 0xd1, 0x4b, 0xd0, 0x17, 0x38, 0xdb, 0x44, - 0x7c, 0xfd, 0xb3, 0x62, 0xda, 0xfb, 0xae, 0x3b, 0xdb, 0xe4, 0x60, 0x6f, 0x6e, 0xe2, 0x66, 0xe0, - 0xbd, 0xd7, 0x12, 0x6b, 0x86, 0x96, 0x61, 0x86, 0x8d, 0x2e, 0x00, 0xb8, 0x64, 0xc7, 0x6b, 0x90, - 0x9a, 0x93, 0x6c, 0x89, 0xd5, 0x80, 0x44, 0x5d, 0xa8, 0x2a, 0x08, 0xd6, 0xb0, 0xec, 0x2f, 0x5a, - 0x50, 0x59, 0xdc, 0x09, 0x3d, 0xb7, 0x16, 0xba, 0x31, 0x6a, 0xc1, 0x78, 0x33, 0x22, 0x1b, 0x24, - 0x52, 0x45, 0x33, 0xd6, 0xd9, 0xf2, 0xb9, 0xe1, 0x0b, 0x17, 0x72, 0xc6, 0x6d, 0x56, 0x5a, 0x09, - 0x92, 0x68, 0x77, 0xe9, 0x11, 0xd1, 0xf4, 0x78, 0x06, 0x8a, 0xb3, 0x6d, 0xd8, 0xbf, 0x54, 0x82, - 0x53, 0x8b, 0x9f, 0x6b, 0x45, 0xa4, 0xea, 0xc5, 0x77, 0xb3, 0x5b, 0xc1, 0xf5, 0xe2, 0xbb, 0xd7, - 0xd3, 0xc9, 0x50, 0x6b, 0xb0, 0x2a, 0xca, 0xb1, 0xc2, 0x40, 0xcf, 0xc3, 0x20, 0xfd, 0x7d, 0x13, - 0xaf, 0x89, 0xd1, 0x4f, 0x09, 0xe4, 0xe1, 0xaa, 0x93, 0x38, 0x55, 0x0e, 0xc2, 0x12, 0x07, 0x5d, - 0x83, 0xe1, 0x06, 0xdb, 0xef, 0x9b, 0xd7, 0x42, 0x97, 0xb0, 0x2f, 0x5c, 0x59, 0x7a, 0x8e, 0xa2, - 0x2f, 0xa7, 0xc5, 0x07, 0x7b, 0x73, 0x33, 0xbc, 0x6f, 0x82, 0x84, 0x06, 0xc3, 0x7a, 0x7d, 0x64, - 0xab, 0x8d, 0xd8, 0xc7, 0x28, 0x41, 0x87, 0x4d, 0x78, 0x4e, 0xdb, 0x53, 0xfd, 0x6c, 0x4f, 0x8d, - 0x74, 0xd9, 0x4f, 0xff, 0xd8, 0x12, 0x73, 0xb2, 0xea, 0xf9, 0x26, 0x7b, 0xb8, 0x00, 0x10, 0x93, - 0x46, 0x44, 0x12, 0x6d, 0x56, 0xd4, 0x67, 0xae, 0x2b, 0x08, 0xd6, 0xb0, 0xe8, 0xe6, 0x8f, 0xb7, - 0x9c, 0x88, 0xad, 0x16, 0x31, 0x37, 0x6a, 0xf3, 0xd7, 0x25, 0x00, 0xa7, 0x38, 0xc6, 0xe6, 0x2f, - 0xe7, 0x6e, 0xfe, 0xdf, 0xb1, 0x60, 0x70, 0xc9, 0x0b, 0x5c, 0x2f, 0xd8, 0x44, 0xef, 0xc0, 0x10, - 0xe5, 0xe8, 0xae, 0x93, 0x38, 0x62, 0xdf, 0x7f, 0x58, 0x2e, 0x1e, 0x9d, 0xc1, 0xca, 0xe5, 0x13, - 0xcf, 0x53, 0x6c, 0xba, 0x88, 0x6e, 0xdc, 0x79, 0x97, 0x34, 0x92, 0x6b, 0x24, 0x71, 0xd2, 0xe1, - 0xa4, 0x65, 0x58, 0x51, 0x45, 0x37, 0x61, 0x20, 0x71, 0xa2, 0x4d, 0x92, 0x88, 0x6d, 0x9f, 0xb3, - 0x29, 0x39, 0x0d, 0x4c, 0x97, 0x1c, 0x09, 0x1a, 0x24, 0x65, 0x90, 0xeb, 0x8c, 0x08, 0x16, 0xc4, - 0xec, 0x06, 0x8c, 0x2c, 0x3b, 0x4d, 0xe7, 0x8e, 0xe7, 0x7b, 0x89, 0x47, 0x62, 0xf4, 0x73, 0x50, - 0x76, 0x5c, 0x97, 0x6d, 0x80, 0xca, 0xd2, 0xa9, 0xfd, 0xbd, 0xb9, 0xf2, 0xa2, 0xeb, 0x1e, 0xec, - 0xcd, 0x81, 0xc2, 0xda, 0xc5, 0x14, 0x03, 0x3d, 0x0b, 0x7d, 0x6e, 0x14, 0x36, 0x67, 0x4a, 0x0c, - 0xf3, 0x34, 0xdd, 0xa9, 0xd5, 0x28, 0x6c, 0x66, 0x50, 0x19, 0x8e, 0xfd, 0x83, 0x12, 0xa0, 0x65, - 0xd2, 0xdc, 0x5a, 0xad, 0x1b, 0xdf, 0xf4, 0x1c, 0x0c, 0x6d, 0x87, 0x81, 0x97, 0x84, 0x51, 0x2c, - 0x1a, 0x64, 0xeb, 0xe2, 0x9a, 0x28, 0xc3, 0x0a, 0x8a, 0xce, 0x42, 0x5f, 0x33, 0xdd, 0xde, 0x23, - 0x92, 0x35, 0xb0, 0x8d, 0xcd, 0x20, 0x14, 0xa3, 0x15, 0x93, 0x48, 0xac, 0x67, 0x85, 0x71, 0x33, - 0x26, 0x11, 0x66, 0x90, 0x74, 0x05, 0xd1, 0xb5, 0x25, 0x56, 0x6b, 0x66, 0x05, 0x51, 0x08, 0xd6, - 0xb0, 0xd0, 0xdb, 0x50, 0xe1, 0xff, 0x30, 0xd9, 0x60, 0x4b, 0x37, 0x97, 0x29, 0x5c, 0x0d, 0x1b, - 0x8e, 0x9f, 0x9d, 0xfc, 0x51, 0xb6, 0xe2, 0x24, 0x21, 0x9c, 0xd2, 0x34, 0x56, 0xdc, 0x40, 0xee, - 0x8a, 0xfb, 0x3b, 0x16, 0xa0, 0x65, 0x2f, 0x70, 0x49, 0x74, 0x02, 0x47, 0x67, 0x6f, 0x9b, 0xe1, - 0x4f, 0x68, 0xd7, 0xc2, 0xed, 0x66, 0x18, 0x90, 0x20, 0x59, 0x0e, 0x03, 0x97, 0x1f, 0xa7, 0x1f, - 0x83, 0xbe, 0x84, 0x36, 0xc5, 0xbb, 0xf5, 0xb4, 0xfc, 0x2c, 0xb4, 0x81, 0x83, 0xbd, 0xb9, 0xd3, - 0xed, 0x35, 0x58, 0x17, 0x58, 0x1d, 0xf4, 0x51, 0x18, 0x88, 0x13, 0x27, 0x69, 0xc5, 0xa2, 0xa3, - 0x4f, 0xc8, 0x8e, 0xd6, 0x59, 0xe9, 0xc1, 0xde, 0xdc, 0xb8, 0xaa, 0xc6, 0x8b, 0xb0, 0xa8, 0x80, - 0x9e, 0x81, 0xc1, 0x6d, 0x12, 0xc7, 0xce, 0xa6, 0x64, 0x70, 0xe3, 0xa2, 0xee, 0xe0, 0x35, 0x5e, - 0x8c, 0x25, 0x1c, 0x3d, 0x09, 0xfd, 0x24, 0x8a, 0xc2, 0x48, 0xac, 0x88, 0x51, 0x81, 0xd8, 0xbf, - 0x42, 0x0b, 0x31, 0x87, 0xd9, 0xff, 0xc5, 0x82, 0x71, 0xd5, 0x57, 0xde, 0xd6, 0x09, 0x6c, 0x79, - 0x17, 0xa0, 0x21, 0x07, 0x18, 0xb3, 0x8d, 0xa6, 0xb5, 0xd1, 0x79, 0xf9, 0xb5, 0x4f, 0x68, 0xda, - 0x86, 0x2a, 0x8a, 0xb1, 0x46, 0xd7, 0xfe, 0x77, 0x16, 0x4c, 0x65, 0xc6, 0x76, 0xd5, 0x8b, 0x13, - 0xf4, 0x56, 0xdb, 0xf8, 0xe6, 0x8b, 0x8d, 0x8f, 0xd6, 0x66, 0xa3, 0x53, 0xeb, 0x45, 0x96, 0x68, - 0x63, 0xc3, 0xd0, 0xef, 0x25, 0x64, 0x5b, 0x0e, 0xeb, 0xf9, 0x82, 0xc3, 0xe2, 0xfd, 0x4b, 0xbf, - 0xd2, 0x1a, 0xa5, 0x81, 0x39, 0x29, 0xfb, 0x7f, 0x59, 0x50, 0x59, 0x0e, 0x83, 0x0d, 0x6f, 0xf3, - 0x9a, 0xd3, 0x3c, 0x81, 0xef, 0x53, 0x87, 0x3e, 0x46, 0x9d, 0x0f, 0xe1, 0x85, 0xbc, 0x21, 0x88, - 0x8e, 0xcd, 0xd3, 0x33, 0x95, 0x0b, 0x0b, 0x8a, 0x4d, 0xd1, 0x22, 0xcc, 0x88, 0xcd, 0xbe, 0x02, - 0x15, 0x85, 0x80, 0x26, 0xa0, 0x7c, 0x97, 0x70, 0x49, 0xb2, 0x82, 0xe9, 0x4f, 0x34, 0x0d, 0xfd, - 0x3b, 0x8e, 0xdf, 0x12, 0x9b, 0x17, 0xf3, 0x3f, 0x1f, 0x2b, 0x5d, 0xb4, 0xec, 0x1f, 0xb0, 0x1d, - 0x28, 0x1a, 0x59, 0x09, 0x76, 0x04, 0x73, 0xf8, 0x92, 0x05, 0xd3, 0x7e, 0x07, 0xa6, 0x24, 0xe6, - 0xe4, 0x28, 0xec, 0xec, 0x31, 0xd1, 0xed, 0xe9, 0x4e, 0x50, 0xdc, 0xb1, 0x35, 0xca, 0xeb, 0xc3, - 0x26, 0x5d, 0x70, 0x8e, 0xcf, 0xba, 0x2e, 0x64, 0x80, 0x1b, 0xa2, 0x0c, 0x2b, 0xa8, 0xfd, 0xe7, - 0x16, 0x4c, 0xab, 0x71, 0x5c, 0x21, 0xbb, 0x75, 0xe2, 0x93, 0x46, 0x12, 0x46, 0x0f, 0xcb, 0x48, - 0x1e, 0xe7, 0xdf, 0x84, 0xf3, 0xa4, 0x61, 0x41, 0xa0, 0x7c, 0x85, 0xec, 0xf2, 0x0f, 0xa4, 0x0f, - 0xb4, 0x7c, 0xe8, 0x40, 0x7f, 0xcb, 0x82, 0x51, 0x35, 0xd0, 0x13, 0xd8, 0x72, 0x57, 0xcd, 0x2d, - 0xf7, 0x73, 0x05, 0xd7, 0x6b, 0x97, 0xcd, 0xf6, 0xb7, 0x4b, 0x94, 0x6d, 0x08, 0x9c, 0x5a, 0x14, - 0xd2, 0x49, 0xa2, 0x1c, 0xff, 0x21, 0xf9, 0x4a, 0xbd, 0x0d, 0xf6, 0x0a, 0xd9, 0x5d, 0x0f, 0xa9, - 0x34, 0xd1, 0x79, 0xb0, 0xc6, 0x47, 0xed, 0x3b, 0xf4, 0xa3, 0xfe, 0x7e, 0x09, 0x4e, 0xa9, 0x69, - 0x31, 0x4e, 0xe9, 0x9f, 0xc9, 0x89, 0x79, 0x01, 0x86, 0x5d, 0xb2, 0xe1, 0xb4, 0xfc, 0x44, 0x69, - 0x13, 0xfd, 0x5c, 0xcd, 0xac, 0xa6, 0xc5, 0x58, 0xc7, 0xe9, 0x61, 0x2e, 0xbf, 0x31, 0xcc, 0xf8, - 0x79, 0xe2, 0xd0, 0x55, 0x4f, 0x25, 0x3c, 0x4d, 0x3d, 0x1c, 0xd1, 0xd5, 0x43, 0xa1, 0x0a, 0x3e, - 0x09, 0xfd, 0xde, 0x36, 0x3d, 0xf3, 0x4b, 0xe6, 0x51, 0xbe, 0x46, 0x0b, 0x31, 0x87, 0xa1, 0xa7, - 0x60, 0xb0, 0x11, 0x6e, 0x6f, 0x3b, 0x81, 0x3b, 0x53, 0x66, 0x32, 0xe7, 0x30, 0x15, 0x0b, 0x96, - 0x79, 0x11, 0x96, 0x30, 0xf4, 0x18, 0xf4, 0x39, 0xd1, 0x66, 0x3c, 0xd3, 0xc7, 0x70, 0x86, 0x68, - 0x4b, 0x8b, 0xd1, 0x66, 0x8c, 0x59, 0x29, 0x95, 0x25, 0xef, 0x85, 0xd1, 0x5d, 0x2f, 0xd8, 0xac, - 0x7a, 0x11, 0x13, 0x0c, 0x35, 0x59, 0xf2, 0xb6, 0x82, 0x60, 0x0d, 0x0b, 0xd5, 0xa0, 0xbf, 0x19, - 0x46, 0x49, 0x3c, 0x33, 0xc0, 0x26, 0xfe, 0xb9, 0xdc, 0xed, 0xc7, 0xc7, 0x5d, 0x0b, 0xa3, 0x24, - 0x1d, 0x0a, 0xfd, 0x17, 0x63, 0x4e, 0x08, 0x2d, 0x43, 0x99, 0x04, 0x3b, 0x33, 0x83, 0x8c, 0xde, - 0x87, 0x0e, 0xa7, 0xb7, 0x12, 0xec, 0xdc, 0x72, 0xa2, 0x94, 0x5f, 0xad, 0x04, 0x3b, 0x98, 0xd6, - 0x46, 0x0d, 0xa8, 0x48, 0x13, 0x56, 0x3c, 0x33, 0x54, 0x64, 0x29, 0x62, 0x81, 0x8e, 0xc9, 0x7b, - 0x2d, 0x2f, 0x22, 0xdb, 0x24, 0x48, 0xe2, 0x54, 0xb1, 0x92, 0xd0, 0x18, 0xa7, 0x74, 0x51, 0x03, - 0x46, 0xb8, 0xfc, 0x79, 0x2d, 0x6c, 0x05, 0x49, 0x3c, 0x53, 0x61, 0x5d, 0xce, 0xb1, 0x5c, 0xdc, - 0x4a, 0x6b, 0x2c, 0x4d, 0x0b, 0xf2, 0x23, 0x5a, 0x61, 0x8c, 0x0d, 0xa2, 0xe8, 0x2d, 0x18, 0xf5, - 0xbd, 0x1d, 0x12, 0x90, 0x38, 0xae, 0x45, 0xe1, 0x1d, 0x32, 0x03, 0x6c, 0x34, 0x4f, 0xe6, 0x69, - 0xf1, 0xe1, 0x1d, 0xb2, 0x34, 0xb9, 0xbf, 0x37, 0x37, 0x7a, 0x55, 0xaf, 0x8d, 0x4d, 0x62, 0xe8, - 0x6d, 0x18, 0xa3, 0xc2, 0xae, 0x97, 0x92, 0x1f, 0x2e, 0x4e, 0x1e, 0xed, 0xef, 0xcd, 0x8d, 0x61, - 0xa3, 0x3a, 0xce, 0x90, 0x43, 0xeb, 0x50, 0xf1, 0xbd, 0x0d, 0xd2, 0xd8, 0x6d, 0xf8, 0x64, 0x66, - 0x84, 0xd1, 0xce, 0xd9, 0x9c, 0x57, 0x25, 0x3a, 0x57, 0x30, 0xd4, 0x5f, 0x9c, 0x12, 0x42, 0xb7, - 0xe0, 0x74, 0x42, 0xa2, 0x6d, 0x2f, 0x70, 0xe8, 0xa6, 0x12, 0xd2, 0x2f, 0x33, 0x95, 0x8c, 0xb2, - 0x55, 0x7b, 0x46, 0x4c, 0xec, 0xe9, 0xf5, 0x8e, 0x58, 0xb8, 0x4b, 0x6d, 0x74, 0x03, 0xc6, 0xd9, - 0x7e, 0xaa, 0xb5, 0x7c, 0xbf, 0x16, 0xfa, 0x5e, 0x63, 0x77, 0x66, 0x8c, 0x11, 0x7c, 0x4a, 0x1a, - 0x40, 0xd6, 0x4c, 0x30, 0x55, 0x0c, 0xd3, 0x7f, 0x38, 0x5b, 0x1b, 0xf9, 0x30, 0x1e, 0x93, 0x46, - 0x2b, 0xf2, 0x92, 0x5d, 0xba, 0xf6, 0xc9, 0xfd, 0x64, 0x66, 0xbc, 0x88, 0xa2, 0x5b, 0x37, 0x2b, - 0x71, 0xeb, 0x53, 0xa6, 0x10, 0x67, 0x49, 0x53, 0x56, 0x11, 0x27, 0xae, 0x17, 0xcc, 0x4c, 0x30, - 0x0e, 0xa4, 0xf6, 0x57, 0x9d, 0x16, 0x62, 0x0e, 0x63, 0xf6, 0x03, 0xfa, 0xe3, 0x06, 0xe5, 0xd2, - 0x93, 0x0c, 0x31, 0xb5, 0x1f, 0x48, 0x00, 0x4e, 0x71, 0xa8, 0x68, 0x90, 0x24, 0xbb, 0x33, 0x88, - 0xa1, 0xaa, 0xad, 0xb6, 0xbe, 0xfe, 0x69, 0x4c, 0xcb, 0xd1, 0x2d, 0x18, 0x24, 0xc1, 0xce, 0x6a, - 0x14, 0x6e, 0xcf, 0x4c, 0x15, 0xe1, 0x01, 0x2b, 0x1c, 0x99, 0x9f, 0x1f, 0xa9, 0x0a, 0x23, 0x8a, - 0xb1, 0x24, 0x86, 0xee, 0xc3, 0x4c, 0x87, 0xaf, 0xc4, 0x3f, 0xca, 0x34, 0xfb, 0x28, 0x1f, 0x17, - 0x75, 0x67, 0xd6, 0xbb, 0xe0, 0x1d, 0x1c, 0x02, 0xc3, 0x5d, 0xa9, 0xdb, 0x77, 0x60, 0x4c, 0x31, - 0x2a, 0xf6, 0xbd, 0xd1, 0x1c, 0xf4, 0x53, 0x5e, 0x2c, 0x15, 0xfa, 0x0a, 0x9d, 0x54, 0xca, 0xa2, - 0x63, 0xcc, 0xcb, 0xd9, 0xa4, 0x7a, 0x9f, 0x23, 0x4b, 0xbb, 0x09, 0xe1, 0x8a, 0x5d, 0x59, 0x9b, - 0x54, 0x09, 0xc0, 0x29, 0x8e, 0xfd, 0x7f, 0xb8, 0x98, 0x94, 0x72, 0xc3, 0x02, 0x27, 0xc1, 0x79, - 0x18, 0xda, 0x0a, 0xe3, 0x84, 0x62, 0xb3, 0x36, 0xfa, 0x53, 0xc1, 0xe8, 0xb2, 0x28, 0xc7, 0x0a, - 0x03, 0xbd, 0x0a, 0xa3, 0x0d, 0xbd, 0x01, 0x71, 0x8c, 0x9d, 0x12, 0x55, 0xcc, 0xd6, 0xb1, 0x89, - 0x8b, 0x2e, 0xc2, 0x10, 0xb3, 0x72, 0x37, 0x42, 0x5f, 0xa8, 0x90, 0xf2, 0x54, 0x1e, 0xaa, 0x89, - 0xf2, 0x03, 0xed, 0x37, 0x56, 0xd8, 0x54, 0x11, 0xa7, 0x5d, 0x58, 0xab, 0x89, 0x03, 0x44, 0x29, - 0xe2, 0x97, 0x59, 0x29, 0x16, 0x50, 0xfb, 0x5f, 0x94, 0xb4, 0x59, 0xa6, 0x0a, 0x10, 0x41, 0x6f, - 0xc2, 0xe0, 0x3d, 0xc7, 0x4b, 0xbc, 0x60, 0x53, 0x48, 0x0f, 0x2f, 0x16, 0x3c, 0x4d, 0x58, 0xf5, - 0xdb, 0xbc, 0x2a, 0x3f, 0xf9, 0xc4, 0x1f, 0x2c, 0x09, 0x52, 0xda, 0x51, 0x2b, 0x08, 0x28, 0xed, - 0x52, 0xef, 0xb4, 0x31, 0xaf, 0xca, 0x69, 0x8b, 0x3f, 0x58, 0x12, 0x44, 0x1b, 0x00, 0x72, 0x2d, - 0x11, 0x57, 0x58, 0x97, 0x3f, 0xd2, 0x0b, 0xf9, 0x75, 0x55, 0x7b, 0x69, 0x8c, 0x9e, 0xb5, 0xe9, - 0x7f, 0xac, 0x51, 0xb6, 0x13, 0x26, 0x84, 0xb5, 0x77, 0x0b, 0x7d, 0x86, 0x6e, 0x69, 0x27, 0x4a, - 0x88, 0xbb, 0x98, 0x64, 0x0d, 0xf4, 0x87, 0x8b, 0xd8, 0xeb, 0xde, 0x36, 0xd1, 0xb7, 0xbf, 0x20, - 0x82, 0x53, 0x7a, 0xf6, 0x77, 0xcb, 0x30, 0xd3, 0xad, 0xbb, 0x74, 0x49, 0x92, 0xfb, 0x5e, 0xb2, - 0x4c, 0xc5, 0x24, 0xcb, 0x5c, 0x92, 0x2b, 0xa2, 0x1c, 0x2b, 0x0c, 0xba, 0x36, 0x62, 0x6f, 0x53, - 0x2a, 0x4b, 0xfd, 0xe9, 0xda, 0xa8, 0xb3, 0x52, 0x2c, 0xa0, 0x14, 0x2f, 0x22, 0x4e, 0x2c, 0x2e, - 0x37, 0xb4, 0x35, 0x84, 0x59, 0x29, 0x16, 0x50, 0xdd, 0x20, 0xd2, 0x97, 0x63, 0x10, 0x31, 0xa6, - 0xa8, 0xff, 0xc1, 0x4e, 0x11, 0xfa, 0x2c, 0xc0, 0x86, 0x17, 0x78, 0xf1, 0x16, 0xa3, 0x3e, 0xd0, - 0x33, 0x75, 0x25, 0x64, 0xad, 0x2a, 0x2a, 0x58, 0xa3, 0x88, 0x5e, 0x86, 0x61, 0xb5, 0x3d, 0xd7, - 0xaa, 0x33, 0x83, 0xa6, 0x41, 0x3c, 0xe5, 0x55, 0x55, 0xac, 0xe3, 0xd9, 0xef, 0x66, 0xd7, 0x8b, - 0xd8, 0x15, 0xda, 0xfc, 0x5a, 0x45, 0xe7, 0xb7, 0x74, 0xf8, 0xfc, 0xda, 0xff, 0xb9, 0x0c, 0xe3, - 0x46, 0x63, 0xad, 0xb8, 0x00, 0x47, 0x7b, 0x9d, 0x1e, 0x58, 0x4e, 0x42, 0xc4, 0x9e, 0x3c, 0xdf, - 0xcb, 0xa6, 0xd1, 0x8f, 0x37, 0xba, 0x17, 0x38, 0x25, 0xb4, 0x05, 0x15, 0xdf, 0x89, 0x99, 0x49, - 0x85, 0x88, 0xbd, 0xd8, 0x1b, 0xd9, 0x54, 0xfd, 0x70, 0xe2, 0x44, 0x3b, 0x3d, 0x78, 0x2b, 0x29, - 0x71, 0x7a, 0xda, 0x52, 0x61, 0x47, 0xde, 0xa8, 0xa9, 0xee, 0x50, 0x89, 0x68, 0x17, 0x73, 0x18, - 0xba, 0x08, 0x23, 0x11, 0x61, 0x2b, 0x65, 0x99, 0xca, 0x73, 0x6c, 0xe9, 0xf5, 0xa7, 0x82, 0x1f, - 0xd6, 0x60, 0xd8, 0xc0, 0x4c, 0xe5, 0xfe, 0x81, 0x43, 0xe4, 0xfe, 0x67, 0x60, 0x90, 0xfd, 0x50, - 0xab, 0x42, 0x7d, 0xa1, 0x35, 0x5e, 0x8c, 0x25, 0x3c, 0xbb, 0x88, 0x86, 0x0a, 0x2e, 0xa2, 0x67, - 0x61, 0xac, 0xea, 0x90, 0xed, 0x30, 0x58, 0x09, 0xdc, 0x66, 0xe8, 0x05, 0x09, 0x9a, 0x81, 0x3e, - 0x76, 0x9e, 0xf0, 0xfd, 0xde, 0x47, 0x29, 0xe0, 0x3e, 0x2a, 0xbb, 0xdb, 0x7f, 0x52, 0x82, 0xd1, - 0x2a, 0xf1, 0x49, 0x42, 0xb8, 0xde, 0x13, 0xa3, 0x55, 0x40, 0x9b, 0x91, 0xd3, 0x20, 0x35, 0x12, - 0x79, 0xa1, 0x5b, 0x27, 0x8d, 0x30, 0x60, 0x17, 0x51, 0xf4, 0x80, 0x3c, 0xbd, 0xbf, 0x37, 0x87, - 0x2e, 0xb5, 0x41, 0x71, 0x87, 0x1a, 0xc8, 0x85, 0xd1, 0x66, 0x44, 0x0c, 0xbb, 0xa1, 0x95, 0x2f, - 0x6a, 0xd4, 0xf4, 0x2a, 0x5c, 0x1a, 0x36, 0x8a, 0xb0, 0x49, 0x14, 0x7d, 0x12, 0x26, 0xc2, 0xa8, - 0xb9, 0xe5, 0x04, 0x55, 0xd2, 0x24, 0x81, 0x4b, 0x55, 0x00, 0x61, 0xed, 0x98, 0xde, 0xdf, 0x9b, - 0x9b, 0xb8, 0x91, 0x81, 0xe1, 0x36, 0x6c, 0xf4, 0x26, 0x4c, 0x36, 0xa3, 0xb0, 0xe9, 0x6c, 0xb2, - 0x25, 0x23, 0xa4, 0x15, 0xce, 0x9b, 0xce, 0xef, 0xef, 0xcd, 0x4d, 0xd6, 0xb2, 0xc0, 0x83, 0xbd, - 0xb9, 0x29, 0x36, 0x65, 0xb4, 0x24, 0x05, 0xe2, 0x76, 0x32, 0xf6, 0x7b, 0x70, 0xaa, 0x1a, 0xde, - 0x0b, 0xee, 0x39, 0x91, 0xbb, 0x58, 0x5b, 0xd3, 0x8c, 0x13, 0x6f, 0x48, 0xe5, 0x97, 0x5f, 0xf0, - 0xe5, 0x9c, 0x6c, 0x1a, 0x0d, 0xae, 0x76, 0xac, 0x7a, 0x3e, 0xe9, 0x62, 0x0e, 0xf9, 0x27, 0x25, - 0xa3, 0xcd, 0x14, 0x5f, 0xdd, 0x5d, 0x58, 0x5d, 0xef, 0x2e, 0x3e, 0x03, 0x43, 0x1b, 0x1e, 0xf1, - 0x5d, 0x4c, 0x36, 0xc4, 0xd7, 0x7a, 0xa1, 0xc8, 0xe5, 0xce, 0x2a, 0xad, 0x23, 0xad, 0x63, 0x5c, - 0x89, 0x5e, 0x15, 0x64, 0xb0, 0x22, 0x88, 0x5a, 0x30, 0x21, 0xf5, 0x30, 0x09, 0x15, 0x9b, 0xfd, - 0xc5, 0x62, 0x6a, 0x9e, 0xd9, 0x0c, 0xfb, 0xbc, 0x38, 0x43, 0x10, 0xb7, 0x35, 0x41, 0xf5, 0xe7, - 0x6d, 0x7a, 0xd4, 0xf5, 0xb1, 0xa5, 0xcf, 0xf4, 0x67, 0x66, 0x0a, 0x60, 0xa5, 0xf6, 0xaf, 0x59, - 0xf0, 0x48, 0xdb, 0x6c, 0x09, 0x3b, 0xc9, 0xb1, 0x7d, 0xa3, 0xac, 0xb1, 0xa2, 0x94, 0x6f, 0xac, - 0xb0, 0x6f, 0xc0, 0xf4, 0xca, 0x76, 0x33, 0xd9, 0xad, 0x7a, 0xe6, 0x95, 0xcb, 0x2b, 0x30, 0xb0, - 0x4d, 0x5c, 0xaf, 0xb5, 0x2d, 0x3e, 0xeb, 0x9c, 0x3c, 0x17, 0xae, 0xb1, 0xd2, 0x83, 0xbd, 0xb9, - 0xd1, 0x7a, 0x12, 0x46, 0xce, 0x26, 0xe1, 0x05, 0x58, 0xa0, 0xdb, 0x3f, 0xb6, 0x60, 0x5c, 0xf2, - 0x87, 0x45, 0xd7, 0x8d, 0x48, 0x1c, 0xa3, 0x59, 0x28, 0x79, 0x4d, 0x41, 0x08, 0x04, 0xa1, 0xd2, - 0x5a, 0x0d, 0x97, 0xbc, 0x26, 0x7a, 0x13, 0x2a, 0xfc, 0xa6, 0x2e, 0x5d, 0x1c, 0x3d, 0xde, 0xfc, - 0x31, 0xdd, 0x70, 0x5d, 0xd2, 0xc0, 0x29, 0x39, 0x29, 0x25, 0xb3, 0x93, 0xa7, 0x6c, 0xde, 0x1b, - 0x5d, 0x16, 0xe5, 0x58, 0x61, 0xa0, 0x73, 0x30, 0x14, 0x84, 0x2e, 0xbf, 0x4c, 0xe5, 0xfb, 0x94, - 0x2d, 0xb9, 0xeb, 0xa2, 0x0c, 0x2b, 0xa8, 0xfd, 0x55, 0x0b, 0x46, 0xe4, 0x18, 0x0b, 0x0a, 0xec, - 0x74, 0x93, 0xa4, 0xc2, 0x7a, 0xba, 0x49, 0xa8, 0xc0, 0xcd, 0x20, 0x86, 0x9c, 0x5d, 0xee, 0x45, - 0xce, 0xb6, 0x7f, 0xb3, 0x04, 0x63, 0xb2, 0x3b, 0xf5, 0xd6, 0x9d, 0x98, 0x50, 0x31, 0xa4, 0xe2, - 0xf0, 0xc9, 0x27, 0x72, 0x9d, 0x3d, 0x9f, 0xa7, 0x8b, 0x19, 0xdf, 0x2c, 0x15, 0x73, 0x16, 0x25, - 0x1d, 0x9c, 0x92, 0x44, 0x3b, 0x30, 0x19, 0x84, 0x09, 0x3b, 0xde, 0x14, 0xbc, 0xd8, 0x4d, 0x47, - 0xb6, 0x9d, 0x47, 0x45, 0x3b, 0x93, 0xd7, 0xb3, 0xf4, 0x70, 0x7b, 0x13, 0xe8, 0x86, 0xb4, 0x31, - 0x95, 0x59, 0x5b, 0xcf, 0x16, 0x6b, 0xab, 0xbb, 0x89, 0xc9, 0xfe, 0x3d, 0x0b, 0x2a, 0x12, 0xed, - 0x24, 0xae, 0xbc, 0x6e, 0xc3, 0x60, 0xcc, 0x3e, 0x91, 0x9c, 0xae, 0xf3, 0xc5, 0x86, 0xc0, 0xbf, - 0x6b, 0x7a, 0xa6, 0xf3, 0xff, 0x31, 0x96, 0xd4, 0x98, 0xb1, 0x5d, 0x0d, 0xe4, 0xa1, 0x33, 0xb6, - 0xab, 0x9e, 0x75, 0xbf, 0xd9, 0x1a, 0x35, 0xac, 0x01, 0x54, 0x30, 0x6d, 0x46, 0x64, 0xc3, 0xbb, - 0x9f, 0x15, 0x4c, 0x6b, 0xac, 0x14, 0x0b, 0x28, 0xda, 0x80, 0x91, 0x86, 0x34, 0x47, 0xa7, 0x2c, - 0xe4, 0xc3, 0x05, 0x6d, 0xff, 0xea, 0x1a, 0x89, 0xbb, 0x26, 0x2d, 0x6b, 0x94, 0xb0, 0x41, 0x97, - 0xf2, 0xa9, 0xf4, 0xa6, 0xbc, 0x5c, 0xd0, 0x70, 0x13, 0x91, 0x24, 0x6d, 0xa1, 0xeb, 0x25, 0xb9, - 0xfd, 0x4d, 0x0b, 0x06, 0xb8, 0xfd, 0xb2, 0x98, 0x11, 0x58, 0xbb, 0x20, 0x4b, 0xe7, 0xf3, 0x16, - 0x2d, 0x14, 0xf7, 0x65, 0xe8, 0x36, 0x54, 0xd8, 0x0f, 0x66, 0x8b, 0x29, 0x17, 0xf1, 0xd3, 0xe2, - 0xed, 0xeb, 0x5d, 0xbd, 0x25, 0x09, 0xe0, 0x94, 0x96, 0xfd, 0xfd, 0x32, 0x65, 0x7d, 0x29, 0xaa, - 0x71, 0xb6, 0x5b, 0x27, 0x71, 0xb6, 0x97, 0x8e, 0xff, 0x6c, 0x7f, 0x0f, 0xc6, 0x1b, 0xda, 0x05, - 0x5d, 0xfa, 0xc5, 0x2f, 0x14, 0x5c, 0x56, 0xda, 0xad, 0x1e, 0xb7, 0xd7, 0x2d, 0x9b, 0xe4, 0x70, - 0x96, 0x3e, 0x22, 0x30, 0xc2, 0xd7, 0x83, 0x68, 0xaf, 0x8f, 0xb5, 0xb7, 0x50, 0x64, 0x85, 0xe9, - 0x8d, 0xb1, 0x55, 0x5c, 0xd7, 0x08, 0x61, 0x83, 0xac, 0xfd, 0x2b, 0xfd, 0xd0, 0xbf, 0xb2, 0x43, - 0x82, 0xe4, 0x04, 0x58, 0xdd, 0x36, 0x8c, 0x79, 0xc1, 0x4e, 0xe8, 0xef, 0x10, 0x97, 0xc3, 0x8f, - 0x76, 0xbc, 0x9f, 0x16, 0x8d, 0x8c, 0xad, 0x19, 0xc4, 0x70, 0x86, 0xf8, 0x71, 0x58, 0x0a, 0x5e, - 0x87, 0x01, 0xbe, 0x32, 0x84, 0x99, 0x20, 0xc7, 0x9e, 0xcf, 0x26, 0x56, 0xec, 0xa0, 0xd4, 0x9e, - 0xc1, 0xaf, 0x12, 0x04, 0x21, 0xf4, 0x2e, 0x8c, 0x6d, 0x78, 0x51, 0x9c, 0x50, 0x65, 0x3f, 0x4e, - 0x9c, 0xed, 0xe6, 0x11, 0x6c, 0x04, 0x6a, 0x46, 0x56, 0x0d, 0x4a, 0x38, 0x43, 0x19, 0x6d, 0xc2, - 0x28, 0x55, 0x51, 0xd3, 0xa6, 0x06, 0x7b, 0x6e, 0x4a, 0x99, 0x08, 0xaf, 0xea, 0x84, 0xb0, 0x49, - 0x97, 0xb2, 0xa4, 0x06, 0x53, 0x69, 0x87, 0x98, 0x74, 0xa3, 0x58, 0x12, 0xd7, 0x65, 0x39, 0x8c, - 0x72, 0x36, 0xe6, 0x29, 0x53, 0x31, 0x39, 0x5b, 0xea, 0x0f, 0x63, 0x7f, 0x9b, 0x9e, 0xc5, 0x74, - 0x0e, 0x4f, 0xe0, 0xf8, 0xba, 0x6c, 0x1e, 0x5f, 0x4f, 0x16, 0xf8, 0xb2, 0x5d, 0x8e, 0xae, 0x77, - 0x60, 0x58, 0xfb, 0xf0, 0x68, 0x01, 0x2a, 0x0d, 0xe9, 0xcc, 0x21, 0xb8, 0xb8, 0x12, 0xa5, 0x94, - 0x97, 0x07, 0x4e, 0x71, 0xe8, 0xbc, 0x50, 0x11, 0x34, 0xeb, 0xfa, 0x45, 0x05, 0x54, 0xcc, 0x20, - 0xf6, 0x8b, 0x00, 0x2b, 0xf7, 0x49, 0x63, 0x91, 0xab, 0x78, 0xda, 0xfd, 0x9e, 0xd5, 0xfd, 0x7e, - 0xcf, 0xfe, 0x96, 0x05, 0x63, 0xab, 0xcb, 0x86, 0x4c, 0x3f, 0x0f, 0xc0, 0x65, 0xe3, 0xdb, 0xb7, - 0xaf, 0x4b, 0xfb, 0x35, 0x37, 0x32, 0xaa, 0x52, 0xac, 0x61, 0xa0, 0x47, 0xa1, 0xec, 0xb7, 0x02, - 0x21, 0xb2, 0x0e, 0xee, 0xef, 0xcd, 0x95, 0xaf, 0xb6, 0x02, 0x4c, 0xcb, 0x34, 0x1f, 0xab, 0x72, - 0x61, 0x1f, 0xab, 0x7c, 0x6f, 0xe3, 0xaf, 0x97, 0x61, 0x62, 0xd5, 0x27, 0xf7, 0x8d, 0x5e, 0x3f, - 0x0d, 0x03, 0x6e, 0xe4, 0xed, 0x90, 0x28, 0x2b, 0x08, 0x54, 0x59, 0x29, 0x16, 0xd0, 0xc2, 0x6e, - 0x5f, 0x6f, 0xb7, 0x1f, 0xe4, 0xc7, 0xe7, 0xf2, 0x96, 0x3b, 0x66, 0xb4, 0x01, 0x83, 0xfc, 0x3e, - 0x38, 0x9e, 0xe9, 0x67, 0x4b, 0xf1, 0xd5, 0xc3, 0x3b, 0x93, 0x9d, 0x9f, 0x79, 0x61, 0x5f, 0xe1, - 0x0e, 0x37, 0x8a, 0x97, 0x89, 0x52, 0x2c, 0x89, 0xcf, 0x7e, 0x0c, 0x46, 0x74, 0xcc, 0x9e, 0x3c, - 0x6f, 0xfe, 0xaa, 0x05, 0x53, 0xab, 0x7e, 0xd8, 0xb8, 0x9b, 0xf1, 0xcb, 0x7b, 0x19, 0x86, 0xe9, - 0x66, 0x8a, 0x0d, 0xa7, 0x55, 0xc3, 0x3b, 0x57, 0x80, 0xb0, 0x8e, 0xa7, 0x55, 0xbb, 0x79, 0x73, - 0xad, 0xda, 0xc9, 0xa9, 0x57, 0x80, 0xb0, 0x8e, 0x67, 0xff, 0x81, 0x05, 0x8f, 0x5f, 0x5a, 0x5e, - 0xa9, 0x91, 0x28, 0xf6, 0xe2, 0x84, 0x04, 0x49, 0x9b, 0x5f, 0x31, 0x95, 0x19, 0x5d, 0xad, 0x2b, - 0xa9, 0xcc, 0x58, 0x65, 0xbd, 0x10, 0xd0, 0x87, 0xc5, 0xb9, 0xfe, 0x9b, 0x16, 0x4c, 0x5d, 0xf2, - 0x12, 0x4c, 0x9a, 0x61, 0xd6, 0x15, 0x38, 0x22, 0xcd, 0x30, 0xf6, 0x92, 0x30, 0xda, 0xcd, 0xba, - 0x02, 0x63, 0x05, 0xc1, 0x1a, 0x16, 0x6f, 0x79, 0xc7, 0x8b, 0x69, 0x4f, 0x4b, 0xa6, 0xaa, 0x8b, - 0x45, 0x39, 0x56, 0x18, 0x74, 0x60, 0xae, 0x17, 0x31, 0x91, 0x61, 0x57, 0xec, 0x60, 0x35, 0xb0, - 0xaa, 0x04, 0xe0, 0x14, 0xc7, 0xfe, 0x7b, 0x16, 0x9c, 0xba, 0xe4, 0xb7, 0xe2, 0x84, 0x44, 0x1b, - 0xb1, 0xd1, 0xd9, 0x17, 0xa1, 0x42, 0xa4, 0x70, 0x2f, 0xfa, 0xaa, 0x0e, 0x0d, 0x25, 0xf5, 0x73, - 0x3f, 0x64, 0x85, 0x57, 0xc0, 0xdd, 0xb5, 0x37, 0xe7, 0xcc, 0xdf, 0x2e, 0xc1, 0xe8, 0xe5, 0xf5, - 0xf5, 0xda, 0x25, 0x92, 0x08, 0x2e, 0x99, 0x6f, 0x94, 0xc2, 0x9a, 0x46, 0x7e, 0x98, 0xf0, 0xd3, - 0x4a, 0x3c, 0x7f, 0x9e, 0x87, 0x8b, 0xcc, 0xaf, 0x05, 0xc9, 0x8d, 0xa8, 0x9e, 0x44, 0x5e, 0xb0, - 0xd9, 0x51, 0x87, 0x97, 0xbc, 0xbc, 0xdc, 0x8d, 0x97, 0xa3, 0x17, 0x61, 0x80, 0xc5, 0xab, 0x48, - 0xe1, 0xe3, 0x83, 0x4a, 0x4e, 0x60, 0xa5, 0x07, 0x7b, 0x73, 0x95, 0x9b, 0x78, 0x8d, 0xff, 0xc1, - 0x02, 0x15, 0xbd, 0x0d, 0xc3, 0x5b, 0x49, 0xd2, 0xbc, 0x4c, 0x1c, 0x97, 0x44, 0x92, 0x4f, 0x9c, - 0x3b, 0x9c, 0x4f, 0xd0, 0xe9, 0xe0, 0x15, 0xd2, 0xad, 0x95, 0x96, 0xc5, 0x58, 0xa7, 0x68, 0xd7, - 0x01, 0x52, 0xd8, 0x03, 0xd2, 0x41, 0xec, 0x5f, 0x28, 0xc1, 0xe0, 0x65, 0x27, 0x70, 0x7d, 0x12, - 0xa1, 0x55, 0xe8, 0x23, 0xf7, 0x49, 0x43, 0x1c, 0xe4, 0x39, 0x5d, 0x4f, 0x0f, 0x3b, 0x6e, 0x57, - 0xa3, 0xff, 0x31, 0xab, 0x8f, 0x30, 0x0c, 0xd2, 0x7e, 0x5f, 0x52, 0x5e, 0xe2, 0xcf, 0xe5, 0xcf, - 0x82, 0x5a, 0x14, 0xfc, 0xa4, 0x14, 0x45, 0x58, 0x12, 0x62, 0x16, 0xa8, 0x46, 0xb3, 0x4e, 0xd9, - 0x5b, 0x52, 0x4c, 0xb3, 0x5b, 0x5f, 0xae, 0x71, 0x74, 0x41, 0x97, 0x5b, 0xa0, 0x64, 0x21, 0x4e, - 0xc9, 0xd9, 0x17, 0x61, 0x9a, 0xdd, 0xc7, 0x3a, 0xc9, 0x96, 0xb1, 0x6b, 0x72, 0x97, 0xa7, 0xfd, - 0xc3, 0x12, 0x4c, 0xae, 0xd5, 0x97, 0xeb, 0xa6, 0xed, 0xf0, 0x22, 0x8c, 0xf0, 0x03, 0x9a, 0x2e, - 0x3a, 0xc7, 0x17, 0xf5, 0xd5, 0x1d, 0xc2, 0xba, 0x06, 0xc3, 0x06, 0x26, 0x7a, 0x1c, 0xca, 0xde, - 0x7b, 0x41, 0xd6, 0xab, 0x6f, 0xed, 0xf5, 0xeb, 0x98, 0x96, 0x53, 0x30, 0x3d, 0xeb, 0x39, 0x93, - 0x53, 0x60, 0x75, 0xde, 0xbf, 0x06, 0x63, 0x5e, 0xdc, 0x88, 0xbd, 0xb5, 0x80, 0x72, 0x00, 0xa7, - 0x21, 0x97, 0x6f, 0x2a, 0x9c, 0xd3, 0xae, 0x2a, 0x28, 0xce, 0x60, 0x6b, 0x1c, 0xb7, 0xbf, 0xb0, - 0xbc, 0x90, 0xeb, 0x2e, 0x4e, 0x45, 0xa1, 0x26, 0x1b, 0x5d, 0xcc, 0x7c, 0x84, 0x84, 0x28, 0xc4, - 0x07, 0x1c, 0x63, 0x09, 0xb3, 0xdf, 0x85, 0x8a, 0x72, 0xf3, 0x92, 0xde, 0x8d, 0x56, 0x17, 0xef, - 0xc6, 0x7c, 0xce, 0x24, 0x0d, 0xbf, 0xe5, 0x8e, 0x86, 0xdf, 0x7f, 0x66, 0x41, 0xea, 0xa7, 0x82, - 0x30, 0x54, 0x9a, 0x21, 0xbb, 0x24, 0x8a, 0xe4, 0x6d, 0xec, 0x53, 0x39, 0x0b, 0x96, 0x6f, 0x18, - 0xbe, 0xa4, 0x6a, 0xb2, 0x2e, 0x4e, 0xc9, 0xa0, 0xab, 0x30, 0xd8, 0x8c, 0x48, 0x3d, 0x61, 0xa1, - 0x09, 0x3d, 0x50, 0xe4, 0x73, 0xc3, 0x6b, 0x62, 0x49, 0xc2, 0xfe, 0x57, 0x16, 0xc0, 0x55, 0x6f, - 0xdb, 0x4b, 0xb0, 0x13, 0x6c, 0x92, 0x13, 0xd0, 0x0a, 0xaf, 0x43, 0x5f, 0xdc, 0x24, 0x8d, 0x62, - 0xd7, 0x7c, 0x69, 0xcf, 0xea, 0x4d, 0xd2, 0x48, 0x3f, 0x07, 0xfd, 0x87, 0x19, 0x1d, 0xfb, 0x7b, - 0x00, 0x63, 0x29, 0x1a, 0x95, 0xcc, 0xd1, 0xf3, 0x86, 0x4f, 0xfe, 0xa3, 0x19, 0x9f, 0xfc, 0x0a, - 0xc3, 0xd6, 0xdc, 0xf0, 0x13, 0x28, 0x6f, 0x3b, 0xf7, 0x85, 0x22, 0xf0, 0x72, 0xd1, 0x0e, 0xd1, - 0x96, 0xe6, 0xaf, 0x39, 0xf7, 0xb9, 0xdc, 0xf5, 0x9c, 0x5c, 0x48, 0xd7, 0x9c, 0xfb, 0x07, 0xfc, - 0x32, 0x8f, 0x6d, 0x58, 0xaa, 0x79, 0x7c, 0xf1, 0x4f, 0xd3, 0xff, 0x8c, 0x87, 0xd2, 0xe6, 0x58, - 0xab, 0x5e, 0x20, 0xec, 0x98, 0x3d, 0xb6, 0xea, 0x05, 0xd9, 0x56, 0xbd, 0xa0, 0x40, 0xab, 0x1e, - 0x73, 0x5e, 0x1d, 0x14, 0xe6, 0x7f, 0xe6, 0xf9, 0x37, 0x7c, 0xe1, 0xa3, 0x3d, 0x35, 0x2d, 0xee, - 0x11, 0x78, 0xf3, 0x0b, 0x52, 0xd8, 0x14, 0xa5, 0xb9, 0x5d, 0x90, 0x4d, 0xa3, 0xbf, 0x6f, 0xc1, - 0x98, 0xf8, 0x8d, 0xc9, 0x7b, 0x2d, 0x12, 0x27, 0xe2, 0x50, 0xfb, 0xe4, 0x51, 0x7a, 0x23, 0x48, - 0xf0, 0x4e, 0x7d, 0x44, 0x72, 0x24, 0x13, 0x98, 0xdb, 0xb7, 0x4c, 0x7f, 0xd0, 0xf7, 0x2c, 0x98, - 0xde, 0x76, 0xee, 0xf3, 0x16, 0x79, 0x19, 0x76, 0x12, 0x2f, 0x14, 0xde, 0x8d, 0xab, 0xbd, 0xae, - 0x93, 0x36, 0x42, 0xbc, 0xbb, 0xd2, 0x71, 0x69, 0xba, 0x13, 0x4a, 0x6e, 0xa7, 0x3b, 0xf6, 0x70, - 0x76, 0x03, 0x86, 0xe4, 0xc2, 0xec, 0x20, 0xe6, 0x57, 0xf5, 0xb3, 0x3b, 0x47, 0xa9, 0x9e, 0x97, - 0xa6, 0xb1, 0xf9, 0xd7, 0x5b, 0x4e, 0x90, 0x78, 0xc9, 0xae, 0xa6, 0x16, 0xb0, 0x76, 0xc4, 0x52, - 0x3c, 0xd6, 0x76, 0xde, 0x85, 0x11, 0x7d, 0xdd, 0x1d, 0x6b, 0x5b, 0xef, 0xc1, 0x54, 0x87, 0x55, - 0x75, 0xac, 0x4d, 0xde, 0x83, 0x47, 0xbb, 0xae, 0x8f, 0xe3, 0x6c, 0xd8, 0xfe, 0x6d, 0x4b, 0x67, - 0x9d, 0x27, 0x60, 0x74, 0xb9, 0x66, 0x1a, 0x5d, 0xce, 0x15, 0xdd, 0x43, 0x5d, 0x2c, 0x2f, 0x1b, - 0x7a, 0xf7, 0xe9, 0x91, 0x80, 0xd6, 0x61, 0xc0, 0xa7, 0x25, 0xf2, 0xce, 0xeb, 0x7c, 0x2f, 0xbb, - 0x34, 0x15, 0x4a, 0x58, 0x79, 0x8c, 0x05, 0x2d, 0xfb, 0x7b, 0x16, 0xf4, 0xfd, 0x25, 0x46, 0x0c, - 0xb5, 0x91, 0x16, 0x81, 0xef, 0xf3, 0xd8, 0xb9, 0xb7, 0x72, 0x3f, 0x21, 0x41, 0xcc, 0x64, 0xd0, - 0x6e, 0xb7, 0xf6, 0xc3, 0xb4, 0x29, 0xe9, 0x84, 0xf1, 0x2a, 0x8c, 0xfa, 0xce, 0x1d, 0xe2, 0x4b, - 0x83, 0x71, 0x56, 0x63, 0xbb, 0xaa, 0x03, 0xb1, 0x89, 0x4b, 0x2b, 0x6f, 0xe8, 0xf6, 0x74, 0x21, - 0x24, 0xa9, 0xca, 0x86, 0xb1, 0x1d, 0x9b, 0xb8, 0x54, 0x65, 0xb8, 0xe7, 0x24, 0x8d, 0x2d, 0xa1, - 0xcd, 0xa9, 0xee, 0xde, 0xa6, 0x85, 0x98, 0xc3, 0xd0, 0x22, 0x8c, 0xcb, 0x15, 0x7b, 0x8b, 0xaa, - 0xf9, 0x61, 0x20, 0xe4, 0x4c, 0x15, 0x75, 0x8c, 0x4d, 0x30, 0xce, 0xe2, 0xa3, 0x8f, 0xc1, 0x18, - 0x9d, 0x9c, 0xb0, 0x95, 0x48, 0x17, 0x93, 0x7e, 0xe6, 0x62, 0xc2, 0x3c, 0x94, 0xd7, 0x0d, 0x08, - 0xce, 0x60, 0xda, 0x6f, 0xc3, 0xd4, 0xd5, 0xd0, 0x71, 0x97, 0x1c, 0xdf, 0x09, 0x1a, 0x24, 0x5a, - 0x0b, 0x36, 0x73, 0xaf, 0xaf, 0xf5, 0x2b, 0xe6, 0x52, 0xde, 0x15, 0xb3, 0x1d, 0x01, 0xd2, 0x1b, - 0x10, 0xce, 0x51, 0x6f, 0xc1, 0xa0, 0xc7, 0x9b, 0x12, 0xcb, 0xf6, 0x85, 0x3c, 0x7b, 0x54, 0x5b, - 0x1f, 0x35, 0x67, 0x1f, 0x5e, 0x80, 0x25, 0x49, 0xaa, 0x82, 0x74, 0x32, 0x60, 0xe5, 0x6b, 0x79, - 0xf6, 0x5f, 0xb7, 0x60, 0xfc, 0x7a, 0x26, 0xa4, 0xf5, 0x69, 0x18, 0xe0, 0x89, 0x11, 0xb2, 0x26, - 0x96, 0x3a, 0x2b, 0xc5, 0x02, 0xfa, 0xc0, 0x35, 0xfc, 0x5f, 0x2e, 0x41, 0x85, 0xb9, 0xd9, 0x36, - 0xa9, 0x3a, 0x71, 0xfc, 0x62, 0xea, 0x35, 0x43, 0x4c, 0xcd, 0xd1, 0x32, 0x55, 0xc7, 0xba, 0x49, - 0xa9, 0xe8, 0xa6, 0x0a, 0xf5, 0x2c, 0xa4, 0x60, 0xa6, 0x04, 0x79, 0x38, 0xe0, 0x98, 0x19, 0x19, - 0x2a, 0xc3, 0x40, 0xd9, 0xa5, 0xaf, 0xc2, 0x7d, 0xe8, 0x2e, 0x7d, 0x55, 0xcf, 0xba, 0x30, 0xa7, - 0x9a, 0xd6, 0x79, 0xc6, 0xbe, 0x3f, 0xc1, 0x9c, 0x27, 0x1d, 0xdf, 0xfb, 0x1c, 0x51, 0x11, 0xd3, - 0x73, 0xc2, 0x19, 0x52, 0x94, 0x1e, 0x30, 0x3e, 0x23, 0xfe, 0xf1, 0x80, 0xf8, 0xb4, 0x8a, 0x7d, - 0x19, 0xc6, 0x33, 0x53, 0x87, 0x5e, 0x86, 0xfe, 0xe6, 0x96, 0x13, 0x93, 0x8c, 0x1f, 0x4b, 0x7f, - 0x8d, 0x16, 0x1e, 0xec, 0xcd, 0x8d, 0xa9, 0x0a, 0xac, 0x04, 0x73, 0x6c, 0xfb, 0x4b, 0x25, 0xe8, - 0xbb, 0x1e, 0xba, 0x27, 0xb1, 0xd4, 0x2e, 0x1b, 0x4b, 0xed, 0xe9, 0xfc, 0x74, 0x1a, 0x5d, 0x57, - 0x59, 0x2d, 0xb3, 0xca, 0xce, 0x15, 0xa0, 0x75, 0xf8, 0x02, 0xdb, 0x86, 0x61, 0x96, 0xae, 0x43, - 0x38, 0xf2, 0xbc, 0x68, 0x68, 0x56, 0x73, 0x19, 0xcd, 0x6a, 0x5c, 0x43, 0xd5, 0xf4, 0xab, 0x67, - 0x60, 0x50, 0x38, 0x8e, 0x64, 0x5d, 0x47, 0x05, 0x2e, 0x96, 0x70, 0xfb, 0x5f, 0x96, 0xc1, 0x48, - 0x0f, 0x82, 0x7e, 0xcf, 0x82, 0xf9, 0x88, 0x87, 0xe1, 0xb8, 0xd5, 0x56, 0xe4, 0x05, 0x9b, 0xf5, - 0xc6, 0x16, 0x71, 0x5b, 0xbe, 0x17, 0x6c, 0xae, 0x6d, 0x06, 0xa1, 0x2a, 0x5e, 0xb9, 0x4f, 0x1a, - 0x2d, 0x66, 0xa7, 0x2d, 0x9c, 0x95, 0x44, 0x5d, 0x9a, 0x5e, 0xd8, 0xdf, 0x9b, 0x9b, 0xc7, 0x3d, - 0xb5, 0x82, 0x7b, 0xec, 0x15, 0xfa, 0x63, 0x0b, 0x16, 0x78, 0x82, 0x8c, 0xe2, 0x23, 0x29, 0xa4, - 0x91, 0xd6, 0x24, 0xd1, 0x94, 0xdc, 0x3a, 0x89, 0xb6, 0x97, 0x5e, 0x11, 0x93, 0xbc, 0x50, 0xeb, - 0xad, 0x55, 0xdc, 0x6b, 0x37, 0xed, 0x7f, 0x53, 0x86, 0x51, 0x3a, 0x9f, 0x69, 0x50, 0xfc, 0xcb, - 0xc6, 0x32, 0x79, 0x22, 0xb3, 0x4c, 0x26, 0x0d, 0xe4, 0x07, 0x13, 0x0f, 0x1f, 0xc3, 0xa4, 0xef, - 0xc4, 0xc9, 0x65, 0xe2, 0x44, 0xc9, 0x1d, 0xe2, 0xb0, 0xbb, 0xc9, 0xac, 0xdf, 0x43, 0x81, 0xeb, - 0x4e, 0xe5, 0x8c, 0x74, 0x35, 0x4b, 0x0c, 0xb7, 0xd3, 0x47, 0x3b, 0x80, 0xd8, 0x3d, 0x68, 0xe4, - 0x04, 0x31, 0x1f, 0x8b, 0x27, 0xec, 0xba, 0xbd, 0xb5, 0x3a, 0x2b, 0x5a, 0x45, 0x57, 0xdb, 0xa8, - 0xe1, 0x0e, 0x2d, 0x68, 0x37, 0xdd, 0xfd, 0x45, 0x6f, 0xba, 0x07, 0x72, 0x7c, 0xb6, 0xbf, 0x6c, - 0xc1, 0x14, 0xfd, 0x2c, 0xa6, 0x7f, 0x6f, 0x8c, 0x42, 0x18, 0xa7, 0xcb, 0xce, 0x27, 0x89, 0x2c, - 0x13, 0xfb, 0x2b, 0x47, 0xb2, 0x36, 0xe9, 0xa4, 0xe2, 0xdb, 0x15, 0x93, 0x18, 0xce, 0x52, 0xb7, - 0xbf, 0x65, 0x01, 0xf3, 0xb8, 0x3b, 0x81, 0xc3, 0xec, 0x92, 0x79, 0x98, 0xd9, 0xf9, 0x1c, 0xa3, - 0xcb, 0x39, 0xf6, 0x12, 0x4c, 0x50, 0x68, 0x2d, 0x0a, 0xef, 0xef, 0x4a, 0x41, 0x3b, 0xdf, 0xc0, - 0xfb, 0xe5, 0x12, 0xdf, 0x36, 0x2a, 0x9e, 0x10, 0x7d, 0xc5, 0x82, 0xa1, 0x86, 0xd3, 0x74, 0x1a, - 0x3c, 0xb9, 0x52, 0x01, 0xeb, 0x8c, 0x51, 0x7f, 0x7e, 0x59, 0xd4, 0xe5, 0x96, 0x85, 0x0f, 0xcb, - 0xa1, 0xcb, 0xe2, 0x5c, 0x6b, 0x82, 0x6a, 0x7c, 0xf6, 0x2e, 0x8c, 0x1a, 0xc4, 0x8e, 0x55, 0x0d, - 0xfd, 0x8a, 0xc5, 0x99, 0xbe, 0x52, 0x15, 0xee, 0xc1, 0x64, 0xa0, 0xfd, 0xa7, 0xec, 0x4c, 0x4a, - 0xc6, 0xf3, 0xc5, 0xd9, 0x3a, 0xe3, 0x82, 0x9a, 0x77, 0x61, 0x86, 0x20, 0x6e, 0x6f, 0xc3, 0xfe, - 0x55, 0x0b, 0x1e, 0xd1, 0x11, 0xb5, 0x00, 0xd0, 0x3c, 0xbb, 0x71, 0x15, 0x86, 0xc2, 0x26, 0x89, - 0x9c, 0x54, 0x2d, 0x3a, 0x27, 0xe7, 0xff, 0x86, 0x28, 0x3f, 0xd8, 0x9b, 0x9b, 0xd6, 0xa9, 0xcb, - 0x72, 0xac, 0x6a, 0x22, 0x1b, 0x06, 0xd8, 0xbc, 0xc4, 0x22, 0x74, 0x97, 0x25, 0x1b, 0x62, 0x97, - 0x2a, 0x31, 0x16, 0x10, 0xfb, 0x6f, 0x59, 0x7c, 0xb9, 0xe9, 0x5d, 0x47, 0x9f, 0x87, 0x89, 0x6d, - 0xaa, 0x41, 0xad, 0xdc, 0x6f, 0xd2, 0x83, 0x94, 0x5d, 0x27, 0x5b, 0x45, 0x8e, 0x8f, 0x2e, 0xc3, - 0x5d, 0x9a, 0x11, 0xbd, 0x9f, 0xb8, 0x96, 0x21, 0x8b, 0xdb, 0x1a, 0xb2, 0xff, 0x61, 0x89, 0xef, - 0x59, 0x26, 0xc3, 0x3d, 0x03, 0x83, 0xcd, 0xd0, 0x5d, 0x5e, 0xab, 0x62, 0x31, 0x57, 0x8a, 0xe9, - 0xd4, 0x78, 0x31, 0x96, 0x70, 0x74, 0x01, 0x80, 0xdc, 0x4f, 0x48, 0x14, 0x38, 0xbe, 0xba, 0x06, - 0x56, 0xa2, 0xd2, 0x8a, 0x82, 0x60, 0x0d, 0x8b, 0xd6, 0x69, 0x46, 0xe1, 0x8e, 0xe7, 0xb2, 0xc8, - 0x85, 0xb2, 0x59, 0xa7, 0xa6, 0x20, 0x58, 0xc3, 0xa2, 0x7a, 0x6b, 0x2b, 0x88, 0xf9, 0x31, 0xe6, - 0xdc, 0x11, 0xb9, 0x71, 0x86, 0x52, 0xbd, 0xf5, 0xa6, 0x0e, 0xc4, 0x26, 0x2e, 0xba, 0x02, 0x03, - 0x89, 0xc3, 0x2e, 0x37, 0xfb, 0x8b, 0x78, 0x8a, 0xac, 0x53, 0x5c, 0x3d, 0x19, 0x11, 0xad, 0x8a, - 0x05, 0x09, 0xfb, 0x3f, 0x55, 0x00, 0x52, 0xa9, 0x0b, 0x7d, 0xa9, 0x7d, 0xc3, 0x7f, 0xa4, 0xa8, - 0xc8, 0xf6, 0xe0, 0x76, 0x3b, 0xfa, 0x9a, 0x05, 0xc3, 0x8e, 0xef, 0x87, 0x0d, 0x27, 0x61, 0xd3, - 0x53, 0x2a, 0xca, 0x7a, 0x44, 0x4f, 0x16, 0xd3, 0xba, 0xbc, 0x33, 0x2f, 0xca, 0x0b, 0x47, 0x0d, - 0x92, 0xdb, 0x1f, 0xbd, 0x0b, 0xe8, 0xc3, 0x52, 0x6a, 0xe7, 0x5f, 0x78, 0x36, 0x2b, 0xb5, 0x57, - 0x18, 0xc3, 0xd5, 0x04, 0x76, 0xf4, 0xb6, 0x91, 0x4b, 0xa6, 0xaf, 0x48, 0xf8, 0xa9, 0x21, 0x87, - 0xe4, 0xa5, 0x91, 0x41, 0x6f, 0xea, 0x2e, 0xd5, 0xfd, 0x45, 0xe2, 0xbb, 0x35, 0x71, 0x38, 0xc7, - 0x9d, 0x3a, 0x81, 0x71, 0xd7, 0x3c, 0x79, 0x85, 0x5b, 0xd8, 0x0b, 0xf9, 0x2d, 0x64, 0x8e, 0xec, - 0xf4, 0xac, 0xcd, 0x00, 0x70, 0xb6, 0x09, 0xf4, 0x26, 0x77, 0x78, 0x5f, 0x0b, 0x36, 0x42, 0xe1, - 0x1a, 0x76, 0xbe, 0xc0, 0x37, 0xdf, 0x8d, 0x13, 0xb2, 0x4d, 0xeb, 0xa4, 0x87, 0xeb, 0x75, 0x41, - 0x05, 0x2b, 0x7a, 0x68, 0x1d, 0x06, 0x58, 0xb4, 0x51, 0x3c, 0x33, 0x54, 0xc4, 0x12, 0x67, 0x06, - 0xd9, 0xa6, 0xfb, 0x87, 0xfd, 0x8d, 0xb1, 0xa0, 0x85, 0x2e, 0xcb, 0x30, 0xfb, 0x78, 0x2d, 0xb8, - 0x19, 0x13, 0x16, 0x66, 0x5f, 0x59, 0xfa, 0x50, 0x1a, 0x37, 0xcf, 0xcb, 0x3b, 0x66, 0xd3, 0x33, - 0x6a, 0x52, 0xc1, 0x46, 0xfc, 0x97, 0x49, 0xfa, 0x66, 0xa0, 0x48, 0x47, 0xcd, 0x94, 0x7e, 0xe9, - 0x64, 0xdf, 0x32, 0x89, 0xe1, 0x2c, 0xf5, 0x13, 0x3d, 0x52, 0x67, 0x03, 0x98, 0xc8, 0x6e, 0xca, - 0x63, 0x3d, 0xc2, 0x7f, 0xd2, 0x07, 0x63, 0xe6, 0xe2, 0x40, 0x0b, 0x50, 0x11, 0x44, 0x54, 0xd2, - 0x2e, 0xb5, 0x07, 0xae, 0x49, 0x00, 0x4e, 0x71, 0x58, 0xfa, 0x32, 0x56, 0x5d, 0x73, 0x0a, 0x4a, - 0xd3, 0x97, 0x29, 0x08, 0xd6, 0xb0, 0xa8, 0x24, 0x7c, 0x27, 0x0c, 0x13, 0x75, 0x12, 0xa8, 0x75, - 0xb3, 0xc4, 0x4a, 0xb1, 0x80, 0xd2, 0x13, 0xe0, 0x2e, 0xfd, 0x98, 0xbe, 0x69, 0x55, 0x54, 0x27, - 0xc0, 0x15, 0x1d, 0x88, 0x4d, 0x5c, 0x7a, 0xa2, 0x85, 0x31, 0x5b, 0x88, 0x42, 0xde, 0x4e, 0x9d, - 0xac, 0xea, 0x3c, 0x02, 0x4f, 0xc2, 0xd1, 0xa7, 0xe1, 0x11, 0x15, 0x30, 0x87, 0xb9, 0x95, 0x56, - 0xb6, 0x38, 0x60, 0xa8, 0xcc, 0x8f, 0x2c, 0x77, 0x46, 0xc3, 0xdd, 0xea, 0xa3, 0xd7, 0x60, 0x4c, - 0xc8, 0xca, 0x92, 0xe2, 0xa0, 0x79, 0x03, 0x7f, 0xc5, 0x80, 0xe2, 0x0c, 0x36, 0xaa, 0xc2, 0x04, - 0x2d, 0x61, 0x42, 0xaa, 0xa4, 0xc0, 0x03, 0xff, 0xd4, 0x51, 0x7f, 0x25, 0x03, 0xc7, 0x6d, 0x35, - 0xd0, 0x22, 0x8c, 0x73, 0x61, 0x85, 0x2a, 0x86, 0xec, 0x3b, 0x08, 0x7f, 0x4e, 0xb5, 0x11, 0x6e, - 0x98, 0x60, 0x9c, 0xc5, 0x47, 0x17, 0x61, 0xc4, 0x89, 0x1a, 0x5b, 0x5e, 0x42, 0x1a, 0x49, 0x2b, - 0xe2, 0x49, 0x2c, 0x34, 0x17, 0x86, 0x45, 0x0d, 0x86, 0x0d, 0x4c, 0xfb, 0x73, 0x30, 0xd5, 0xc1, - 0x79, 0x9c, 0x2e, 0x1c, 0xa7, 0xe9, 0xc9, 0x31, 0x65, 0xdc, 0xa5, 0x16, 0x6b, 0x6b, 0x72, 0x34, - 0x1a, 0x16, 0x5d, 0x9d, 0xcc, 0x3c, 0xad, 0xe5, 0xd4, 0x54, 0xab, 0x73, 0x55, 0x02, 0x70, 0x8a, - 0x63, 0xff, 0x45, 0x05, 0x34, 0xeb, 0x4d, 0x01, 0x17, 0x99, 0x8b, 0x30, 0x22, 0xd3, 0xc4, 0x6a, - 0xe9, 0x19, 0xd5, 0x30, 0x2f, 0x69, 0x30, 0x6c, 0x60, 0xd2, 0xbe, 0x05, 0xd2, 0x26, 0x95, 0x75, - 0xce, 0x52, 0xc6, 0x2a, 0x9c, 0xe2, 0xa0, 0xf3, 0x30, 0x14, 0x13, 0x7f, 0xe3, 0xaa, 0x17, 0xdc, - 0x15, 0x0b, 0x5b, 0x71, 0xe6, 0xba, 0x28, 0xc7, 0x0a, 0x03, 0x2d, 0x41, 0xb9, 0xe5, 0xb9, 0x62, - 0x29, 0x4b, 0xb1, 0xa1, 0x7c, 0x73, 0xad, 0x7a, 0xb0, 0x37, 0xf7, 0x44, 0xb7, 0x9c, 0xb9, 0x54, - 0x3f, 0x8f, 0xe7, 0xe9, 0xf6, 0xa3, 0x95, 0x3b, 0xd9, 0xe9, 0x07, 0x7a, 0xb4, 0xd3, 0x5f, 0x00, - 0x10, 0xa3, 0x96, 0x6b, 0xb9, 0x9c, 0x7e, 0xb5, 0x4b, 0x0a, 0x82, 0x35, 0x2c, 0xaa, 0xe5, 0x37, - 0x22, 0xe2, 0x48, 0x45, 0x98, 0x3b, 0x35, 0x0f, 0x1d, 0x5d, 0xcb, 0x5f, 0xce, 0x12, 0xc3, 0xed, - 0xf4, 0x51, 0x08, 0x93, 0xae, 0x88, 0xca, 0x4c, 0x1b, 0xad, 0xf4, 0xee, 0x49, 0x4d, 0x1b, 0xac, - 0x66, 0x09, 0xe1, 0x76, 0xda, 0xe8, 0xb3, 0x30, 0x2b, 0x0b, 0xdb, 0x43, 0x62, 0xd9, 0x76, 0x29, - 0x2f, 0x9d, 0xd9, 0xdf, 0x9b, 0x9b, 0xad, 0x76, 0xc5, 0xc2, 0x87, 0x50, 0x40, 0x6f, 0xc1, 0x00, - 0xbb, 0xd7, 0x89, 0x67, 0x86, 0xd9, 0x89, 0xf7, 0x52, 0x11, 0x7f, 0x7c, 0xba, 0xea, 0xe7, 0xd9, - 0xed, 0x90, 0xf0, 0x34, 0x4d, 0x2f, 0xcb, 0x58, 0x21, 0x16, 0x34, 0x51, 0x13, 0x86, 0x9d, 0x20, - 0x08, 0x13, 0x87, 0x0b, 0x62, 0x23, 0x45, 0x64, 0x49, 0xad, 0x89, 0xc5, 0xb4, 0x2e, 0x6f, 0x47, - 0x39, 0xaf, 0x69, 0x10, 0xac, 0x37, 0x81, 0xee, 0xc1, 0x78, 0x78, 0x8f, 0x32, 0x4c, 0x79, 0xb5, - 0x11, 0xcf, 0x8c, 0x9a, 0x03, 0xcb, 0x31, 0xd4, 0x1a, 0x95, 0x35, 0x4e, 0x66, 0x12, 0xc5, 0xd9, - 0x56, 0xd0, 0xbc, 0x61, 0xae, 0x1e, 0x4b, 0xfd, 0xa9, 0x53, 0x73, 0xb5, 0x6e, 0x9d, 0x66, 0x61, - 0xd7, 0xdc, 0x87, 0x92, 0x71, 0x84, 0xf1, 0x4c, 0xd8, 0x75, 0x0a, 0xc2, 0x3a, 0xde, 0xec, 0x47, - 0x61, 0x58, 0x9b, 0xf8, 0x5e, 0x1c, 0x77, 0x67, 0x5f, 0x83, 0x89, 0xec, 0x84, 0xf6, 0xe4, 0xf8, - 0xfb, 0x3f, 0x4b, 0x30, 0xde, 0xe1, 0xde, 0xe8, 0xae, 0xc7, 0x9c, 0xcf, 0x0d, 0xd6, 0x77, 0xc5, - 0x0b, 0x5c, 0xcc, 0x20, 0x26, 0x03, 0x2b, 0x15, 0x60, 0x60, 0x92, 0x9b, 0x96, 0xbb, 0x72, 0x53, - 0xc1, 0xb4, 0xfa, 0xde, 0x0f, 0xd3, 0x32, 0xcf, 0x89, 0xfe, 0x42, 0xe7, 0xc4, 0x03, 0x60, 0x74, - 0xc6, 0x51, 0x33, 0x58, 0xe0, 0xa8, 0xf9, 0x66, 0x09, 0x26, 0x52, 0x27, 0x67, 0x91, 0x3b, 0xfa, - 0xf8, 0xaf, 0x21, 0xd6, 0x8d, 0x6b, 0x88, 0xbc, 0xd4, 0xd0, 0x99, 0xfe, 0x75, 0xbd, 0x92, 0x78, - 0x2b, 0x73, 0x25, 0xf1, 0x52, 0x8f, 0x74, 0x0f, 0xbf, 0x9e, 0xf8, 0x6e, 0x09, 0x4e, 0x65, 0xab, - 0x2c, 0xfb, 0x8e, 0xb7, 0x7d, 0x02, 0xf3, 0xf5, 0x69, 0x63, 0xbe, 0x5e, 0xe9, 0x6d, 0x5c, 0xac, - 0x93, 0x5d, 0x27, 0xcd, 0xc9, 0x4c, 0xda, 0x47, 0x8f, 0x42, 0xfc, 0xf0, 0x99, 0xfb, 0x43, 0x0b, - 0x1e, 0xed, 0x58, 0xef, 0x04, 0x0c, 0xaf, 0x6f, 0x98, 0x86, 0xd7, 0x17, 0x8f, 0x30, 0xba, 0x2e, - 0x96, 0xd8, 0x5f, 0x2b, 0x77, 0x19, 0x15, 0x33, 0x4d, 0xdd, 0x80, 0x61, 0xa7, 0xd1, 0x20, 0x71, - 0x7c, 0x2d, 0x74, 0x55, 0x02, 0xa7, 0xe7, 0xd9, 0xd9, 0x92, 0x16, 0x1f, 0xec, 0xcd, 0xcd, 0x66, - 0x49, 0xa4, 0x60, 0xac, 0x53, 0x30, 0x53, 0xcb, 0x95, 0x8e, 0x29, 0xb5, 0xdc, 0x05, 0x80, 0x1d, - 0xa5, 0xc5, 0x66, 0x2d, 0x5e, 0x9a, 0x7e, 0xab, 0x61, 0xa1, 0xff, 0x9f, 0x49, 0x84, 0xdc, 0x49, - 0xa3, 0xcf, 0x8c, 0x97, 0xcc, 0xf9, 0x7e, 0xba, 0xc3, 0x07, 0x0f, 0xcb, 0x54, 0xd6, 0x41, 0x45, - 0x12, 0x7d, 0x12, 0x26, 0x62, 0x1e, 0xfc, 0xbf, 0xec, 0x3b, 0x31, 0xf3, 0xee, 0x17, 0xfc, 0x94, - 0x45, 0x58, 0xd6, 0x33, 0x30, 0xdc, 0x86, 0x6d, 0x7f, 0xa7, 0x0c, 0x1f, 0x3c, 0x64, 0xd9, 0xa2, - 0x45, 0xf3, 0xd6, 0xf6, 0xb9, 0xac, 0xfd, 0x67, 0xb6, 0x63, 0x65, 0xc3, 0x20, 0x94, 0xf9, 0xda, - 0xa5, 0xf7, 0xfd, 0xb5, 0xbf, 0xae, 0x5b, 0xeb, 0xb8, 0xdf, 0xe6, 0xa5, 0x23, 0x6f, 0xcc, 0x9f, - 0x56, 0x63, 0xfd, 0x17, 0x2d, 0x78, 0xa2, 0xe3, 0xb0, 0x0c, 0x2f, 0x91, 0x05, 0xa8, 0x34, 0x68, - 0xa1, 0x16, 0x8b, 0x93, 0x06, 0xc1, 0x49, 0x00, 0x4e, 0x71, 0x0c, 0x67, 0x90, 0x52, 0xae, 0x33, - 0xc8, 0xef, 0x5b, 0x30, 0x9d, 0xed, 0xc4, 0x09, 0xf0, 0xad, 0xba, 0xc9, 0xb7, 0xe6, 0x7b, 0xfb, - 0xf8, 0x5d, 0x58, 0xd6, 0x7f, 0x1f, 0x83, 0xd3, 0x6d, 0xa7, 0x1e, 0x9f, 0xc5, 0x9f, 0xb7, 0x60, - 0x72, 0x93, 0x49, 0xef, 0x5a, 0xc0, 0x93, 0x18, 0x57, 0x4e, 0x94, 0xd8, 0xa1, 0x71, 0x52, 0x5c, - 0x17, 0x69, 0x43, 0xc1, 0xed, 0x8d, 0xa1, 0xaf, 0x5a, 0x30, 0xed, 0xdc, 0x8b, 0xdb, 0x5e, 0x36, - 0x11, 0x0b, 0xe9, 0xb5, 0x1c, 0x63, 0x59, 0xce, 0x9b, 0x28, 0x4b, 0x33, 0xfb, 0x7b, 0x73, 0xd3, - 0x9d, 0xb0, 0x70, 0xc7, 0x56, 0xe9, 0xf7, 0xdd, 0x12, 0xe1, 0x14, 0xc5, 0x42, 0xf7, 0x3a, 0x05, - 0x5f, 0x70, 0xb6, 0x26, 0x21, 0x58, 0x51, 0x44, 0xef, 0x40, 0x65, 0x53, 0xc6, 0x38, 0x65, 0xd9, - 0x66, 0x97, 0x69, 0xee, 0x14, 0x12, 0xc5, 0x7d, 0xf7, 0x15, 0x08, 0xa7, 0x44, 0xd1, 0x65, 0x28, - 0x07, 0x1b, 0xb1, 0x88, 0x26, 0xce, 0xf3, 0x01, 0x32, 0x3d, 0xaf, 0x78, 0x00, 0xe6, 0xf5, 0xd5, - 0x3a, 0xa6, 0x24, 0x28, 0xa5, 0xe8, 0x8e, 0x2b, 0xac, 0xc4, 0x39, 0x94, 0xf0, 0x52, 0xb5, 0x9d, - 0x12, 0x5e, 0xaa, 0x62, 0x4a, 0x02, 0xd5, 0xa0, 0x9f, 0x05, 0x6b, 0x08, 0x13, 0x70, 0x4e, 0xc8, - 0x79, 0x5b, 0x48, 0x0a, 0xcf, 0x80, 0xc8, 0x8a, 0x31, 0x27, 0x84, 0xd6, 0x61, 0xa0, 0xc1, 0x92, - 0xf8, 0x0b, 0xdd, 0x3c, 0x2f, 0x19, 0x43, 0x5b, 0xc2, 0x7f, 0x7e, 0xef, 0xc5, 0xcb, 0xb1, 0xa0, - 0xc5, 0xa8, 0x92, 0xe6, 0xd6, 0x46, 0x2c, 0x94, 0xef, 0x3c, 0xaa, 0x6d, 0xcf, 0x31, 0x08, 0xaa, - 0xac, 0x1c, 0x0b, 0x5a, 0xa8, 0x0a, 0xa5, 0x8d, 0x86, 0x48, 0xa4, 0x9a, 0x63, 0xfa, 0x35, 0xa3, - 0x69, 0x97, 0x06, 0xf6, 0xf7, 0xe6, 0x4a, 0xab, 0xcb, 0xb8, 0xb4, 0xd1, 0x40, 0x6f, 0xc0, 0xe0, - 0x06, 0x8f, 0x8f, 0x14, 0x49, 0x53, 0x5f, 0xc8, 0x0b, 0xe2, 0x6c, 0x0b, 0xa6, 0xe4, 0xf1, 0x19, - 0x02, 0x80, 0x25, 0x39, 0x96, 0x4f, 0x4e, 0x45, 0x7c, 0x8a, 0xac, 0xa9, 0xf3, 0xbd, 0x45, 0x88, - 0x0a, 0x9d, 0x54, 0x95, 0x62, 0x8d, 0x22, 0x5d, 0xf3, 0x8e, 0x7c, 0x8f, 0x84, 0x65, 0x4c, 0xcd, - 0x5d, 0xf3, 0x1d, 0x9f, 0x2f, 0xe1, 0x6b, 0x5e, 0x81, 0x70, 0x4a, 0x14, 0xb5, 0x60, 0x74, 0x27, - 0x6e, 0x6e, 0x11, 0xb9, 0xf5, 0x59, 0x1a, 0xd5, 0xe1, 0x0b, 0x1f, 0xcf, 0xc9, 0x8d, 0x2b, 0xaa, - 0x78, 0x51, 0xd2, 0x72, 0xfc, 0x36, 0x0e, 0xc6, 0x12, 0x78, 0xdd, 0xd2, 0xc9, 0x62, 0xb3, 0x15, - 0xfa, 0x49, 0xde, 0x6b, 0x85, 0x77, 0x76, 0x13, 0x22, 0xd2, 0xac, 0xe6, 0x7c, 0x92, 0xd7, 0x39, - 0x72, 0xfb, 0x27, 0x11, 0x00, 0x2c, 0xc9, 0xa9, 0x29, 0x63, 0xdc, 0x78, 0xa2, 0xf0, 0x94, 0xb5, - 0x8d, 0x21, 0x9d, 0x32, 0xc6, 0x7d, 0x53, 0xa2, 0x8c, 0xeb, 0x36, 0xb7, 0xc2, 0x24, 0x0c, 0x32, - 0xbc, 0x7f, 0xb2, 0x08, 0xd7, 0xad, 0x75, 0xa8, 0xd9, 0xce, 0x75, 0x3b, 0x61, 0xe1, 0x8e, 0xad, - 0xa2, 0x00, 0xc6, 0x9a, 0x61, 0x94, 0xdc, 0x0b, 0x23, 0xb9, 0x0e, 0x51, 0x21, 0x1d, 0xd1, 0xa8, - 0x23, 0xda, 0x66, 0x6e, 0xb8, 0x26, 0x04, 0x67, 0xa8, 0xd3, 0x4f, 0x17, 0x37, 0x1c, 0x9f, 0xac, - 0xdd, 0x98, 0x99, 0x2a, 0xf2, 0xe9, 0xea, 0x1c, 0xb9, 0xfd, 0xd3, 0x09, 0x00, 0x96, 0xe4, 0xec, - 0x5f, 0x1d, 0x68, 0x17, 0x1c, 0x98, 0x6a, 0xf0, 0x37, 0xdb, 0x6f, 0x62, 0x3f, 0xd9, 0xbb, 0x06, - 0xfc, 0x00, 0xef, 0x64, 0xbf, 0x6a, 0xc1, 0xe9, 0x66, 0x47, 0xb1, 0x40, 0x1c, 0xbd, 0xbd, 0x2a, - 0xd2, 0x7c, 0x5a, 0x54, 0x36, 0xe4, 0xce, 0x70, 0xdc, 0xa5, 0xcd, 0xac, 0x30, 0x5d, 0x7e, 0xdf, - 0xc2, 0xf4, 0x6d, 0x18, 0x62, 0xd2, 0x5f, 0x9a, 0xeb, 0xa4, 0xc7, 0xb4, 0x20, 0xec, 0x10, 0x5f, - 0x16, 0x24, 0xb0, 0x22, 0x46, 0x27, 0xee, 0xf1, 0xec, 0x20, 0x30, 0x61, 0x60, 0x91, 0x83, 0x8f, - 0x6b, 0x2a, 0xab, 0x62, 0x26, 0x1e, 0xaf, 0x1d, 0x86, 0x7c, 0x90, 0x87, 0x80, 0x0f, 0x6f, 0x0c, - 0x55, 0x3b, 0xa8, 0x4a, 0x03, 0xe6, 0xb5, 0x4b, 0xbe, 0xba, 0x74, 0xb2, 0x22, 0xfe, 0x3f, 0xb2, - 0x3a, 0x48, 0xa4, 0x5c, 0x2d, 0xfb, 0xb8, 0xa9, 0x96, 0x3d, 0x9d, 0x55, 0xcb, 0xda, 0x8c, 0x31, - 0x86, 0x46, 0x56, 0x3c, 0x87, 0x68, 0xd1, 0x64, 0x2e, 0xb6, 0x0f, 0x67, 0xf3, 0xd8, 0x1d, 0x73, - 0xc5, 0x72, 0xd5, 0x25, 0x64, 0xea, 0x8a, 0xe5, 0xae, 0x55, 0x31, 0x83, 0x14, 0xcd, 0x07, 0x60, - 0xff, 0x42, 0x09, 0xca, 0xb5, 0xd0, 0x3d, 0x01, 0xe3, 0xd2, 0x25, 0xc3, 0xb8, 0xf4, 0x54, 0xee, - 0xfb, 0x74, 0x5d, 0x4d, 0x49, 0x37, 0x32, 0xa6, 0xa4, 0x9f, 0xcb, 0x27, 0x75, 0xb8, 0xe1, 0xe8, - 0x7b, 0x65, 0xd0, 0x5f, 0xd8, 0x43, 0xff, 0xe1, 0x28, 0x1e, 0xba, 0xe5, 0x62, 0x8f, 0xee, 0x89, - 0x36, 0x98, 0x27, 0x97, 0x8c, 0xeb, 0xfb, 0xa9, 0x75, 0xd4, 0xbd, 0x4d, 0xbc, 0xcd, 0xad, 0x84, - 0xb8, 0xd9, 0x81, 0x9d, 0x9c, 0xa3, 0xee, 0x9f, 0x5b, 0x30, 0x9e, 0x69, 0x1d, 0xf9, 0x9d, 0x02, - 0x82, 0x8e, 0x68, 0x2e, 0x9a, 0xcc, 0x8d, 0x20, 0x9a, 0x07, 0x50, 0x56, 0x7f, 0x69, 0x92, 0x61, - 0xd2, 0xa9, 0xba, 0x16, 0x88, 0xb1, 0x86, 0x81, 0x5e, 0x86, 0xe1, 0x24, 0x6c, 0x86, 0x7e, 0xb8, - 0xb9, 0x7b, 0x85, 0xc8, 0x4c, 0x15, 0xea, 0xc6, 0x64, 0x3d, 0x05, 0x61, 0x1d, 0xcf, 0xfe, 0x7e, - 0x19, 0xb2, 0xef, 0x33, 0xfe, 0xbf, 0x75, 0xfa, 0xd3, 0xb3, 0x4e, 0xff, 0xc8, 0x82, 0x09, 0xda, - 0x3a, 0x73, 0x9d, 0x91, 0x0e, 0xb5, 0xea, 0x41, 0x03, 0xeb, 0x90, 0x07, 0x0d, 0x9e, 0xa6, 0xdc, - 0xce, 0x0d, 0x5b, 0x89, 0x30, 0x22, 0x69, 0x4c, 0x8c, 0x96, 0x62, 0x01, 0x15, 0x78, 0x24, 0x8a, - 0x44, 0xe4, 0x91, 0x8e, 0x47, 0xa2, 0x08, 0x0b, 0xa8, 0x7c, 0xef, 0xa0, 0xaf, 0xcb, 0x7b, 0x07, - 0x2c, 0xd7, 0x93, 0x70, 0xd7, 0x10, 0x62, 0x85, 0x96, 0xeb, 0x49, 0xfa, 0x71, 0xa4, 0x38, 0xf6, - 0xb7, 0xcb, 0x30, 0x52, 0x0b, 0xdd, 0xd4, 0x53, 0xfe, 0x25, 0xc3, 0x53, 0xfe, 0x6c, 0xc6, 0x53, - 0x7e, 0x42, 0xc7, 0x7d, 0x30, 0x8e, 0xf2, 0x22, 0x27, 0x18, 0x7b, 0x91, 0xe3, 0x88, 0x4e, 0xf2, - 0x46, 0x4e, 0x30, 0x45, 0x08, 0x9b, 0x74, 0x7f, 0x96, 0x9c, 0xe3, 0xff, 0xb7, 0x05, 0x63, 0xb5, - 0xd0, 0xa5, 0x0b, 0xf4, 0x67, 0x69, 0x35, 0xea, 0x99, 0xc4, 0x06, 0x0e, 0xc9, 0x24, 0xf6, 0xeb, - 0x16, 0x0c, 0xd6, 0x42, 0xf7, 0x04, 0x0c, 0xac, 0xab, 0xa6, 0x81, 0xf5, 0x89, 0x5c, 0xce, 0xdb, - 0xc5, 0xa6, 0xfa, 0x9d, 0x32, 0x8c, 0xd2, 0x1e, 0x87, 0x9b, 0xf2, 0x7b, 0x19, 0x73, 0x63, 0x15, - 0x98, 0x1b, 0x2a, 0x12, 0x86, 0xbe, 0x1f, 0xde, 0xcb, 0x7e, 0xbb, 0x55, 0x56, 0x8a, 0x05, 0x14, - 0x9d, 0x87, 0xa1, 0x66, 0x44, 0x76, 0xbc, 0xb0, 0x15, 0x67, 0xa3, 0x18, 0x6b, 0xa2, 0x1c, 0x2b, - 0x0c, 0xf4, 0x12, 0x8c, 0xc4, 0x5e, 0xd0, 0x20, 0xd2, 0x99, 0xa3, 0x8f, 0x39, 0x73, 0xf0, 0xa4, - 0x8d, 0x5a, 0x39, 0x36, 0xb0, 0xd0, 0x6d, 0xa8, 0xb0, 0xff, 0x6c, 0x07, 0xf5, 0xfe, 0x60, 0x01, - 0xcf, 0x54, 0x26, 0x09, 0xe0, 0x94, 0x16, 0xba, 0x00, 0x90, 0x48, 0xb7, 0x93, 0x58, 0xe4, 0x5b, - 0x51, 0x72, 0xa9, 0x72, 0x48, 0x89, 0xb1, 0x86, 0x85, 0x9e, 0x83, 0x4a, 0xe2, 0x78, 0xfe, 0x55, - 0x2f, 0x20, 0xb1, 0x70, 0xdb, 0x11, 0x09, 0x98, 0x45, 0x21, 0x4e, 0xe1, 0xf4, 0xbc, 0x67, 0x31, - 0xd4, 0xfc, 0x31, 0x94, 0x21, 0x86, 0xcd, 0xce, 0xfb, 0xab, 0xaa, 0x14, 0x6b, 0x18, 0xf6, 0x45, - 0x38, 0x55, 0x0b, 0xdd, 0x5a, 0x18, 0x25, 0xab, 0x61, 0x74, 0xcf, 0x89, 0x5c, 0xf9, 0xfd, 0xe6, - 0x64, 0xde, 0x5f, 0x7a, 0x26, 0xf7, 0x73, 0x9b, 0xa3, 0x91, 0xc7, 0xf7, 0x45, 0x76, 0xe2, 0xf7, - 0x18, 0x82, 0xf1, 0xa3, 0x12, 0xa0, 0x1a, 0x73, 0x8c, 0x31, 0xde, 0xce, 0xd9, 0x82, 0xb1, 0x98, - 0x5c, 0xf5, 0x82, 0xd6, 0x7d, 0x41, 0xaa, 0x58, 0xcc, 0x4b, 0x7d, 0x45, 0xaf, 0xc3, 0x2d, 0x1d, - 0x66, 0x19, 0xce, 0xd0, 0xa5, 0x93, 0x19, 0xb5, 0x82, 0xc5, 0xf8, 0x66, 0x4c, 0x22, 0xf1, 0x56, - 0x0c, 0x9b, 0x4c, 0x2c, 0x0b, 0x71, 0x0a, 0xa7, 0x8b, 0x87, 0xfd, 0xb9, 0x1e, 0x06, 0x38, 0x0c, - 0x13, 0xb9, 0xdc, 0xd8, 0xdb, 0x01, 0x5a, 0x39, 0x36, 0xb0, 0xd0, 0x2a, 0xa0, 0xb8, 0xd5, 0x6c, - 0xfa, 0xec, 0xae, 0xd1, 0xf1, 0x2f, 0x45, 0x61, 0xab, 0xc9, 0xfd, 0xa3, 0x45, 0xda, 0xfd, 0x7a, - 0x1b, 0x14, 0x77, 0xa8, 0x41, 0x99, 0xc5, 0x46, 0xcc, 0x7e, 0x8b, 0x80, 0x6a, 0x6e, 0xaf, 0xac, - 0xb3, 0x22, 0x2c, 0x61, 0xf6, 0x17, 0xd8, 0x01, 0xc7, 0x1e, 0xf1, 0x48, 0x5a, 0x11, 0x41, 0xdb, - 0x30, 0xda, 0x64, 0x87, 0x58, 0x12, 0x85, 0xbe, 0x4f, 0xa4, 0x7c, 0x79, 0x34, 0xd7, 0x1c, 0x9e, - 0xb6, 0x5f, 0x27, 0x87, 0x4d, 0xea, 0xf6, 0x2f, 0x8e, 0x31, 0x5e, 0x25, 0xae, 0x7b, 0x07, 0x85, - 0x13, 0xae, 0x90, 0xe4, 0x3e, 0x54, 0xe4, 0x39, 0xae, 0xf4, 0x1c, 0x10, 0x2e, 0xbd, 0x58, 0x52, - 0x41, 0x9f, 0x61, 0x2e, 0xe6, 0x9c, 0x41, 0x14, 0x7f, 0x64, 0x90, 0xe3, 0x1b, 0xee, 0xe5, 0x82, - 0x04, 0xd6, 0xc8, 0xa1, 0xab, 0x30, 0x2a, 0xde, 0x7c, 0x10, 0x66, 0x8a, 0xb2, 0xa1, 0x62, 0x8f, - 0x62, 0x1d, 0x78, 0x90, 0x2d, 0xc0, 0x66, 0x65, 0xb4, 0x09, 0x8f, 0x6b, 0x6f, 0x1a, 0x75, 0x70, - 0x23, 0xe3, 0x9c, 0xe7, 0x89, 0xfd, 0xbd, 0xb9, 0xc7, 0xd7, 0x0f, 0x43, 0xc4, 0x87, 0xd3, 0x41, - 0x37, 0xe0, 0x94, 0xd3, 0x48, 0xbc, 0x1d, 0x52, 0x25, 0x8e, 0xeb, 0x7b, 0x01, 0x31, 0xa3, 0xee, - 0x1f, 0xdd, 0xdf, 0x9b, 0x3b, 0xb5, 0xd8, 0x09, 0x01, 0x77, 0xae, 0x87, 0x3e, 0x0e, 0x15, 0x37, - 0x88, 0xc5, 0x1c, 0x0c, 0x18, 0x4f, 0x78, 0x55, 0xaa, 0xd7, 0xeb, 0x6a, 0xfc, 0xe9, 0x1f, 0x9c, - 0x56, 0x40, 0xef, 0xf1, 0x27, 0xea, 0x95, 0x36, 0xc3, 0x9f, 0x8e, 0x7b, 0xa5, 0x90, 0xfe, 0x6c, - 0xc4, 0xc2, 0x70, 0x0b, 0x9e, 0x72, 0xd7, 0x34, 0xc2, 0x64, 0x8c, 0x26, 0xd0, 0xa7, 0x00, 0xc5, - 0x24, 0xda, 0xf1, 0x1a, 0x64, 0xb1, 0xc1, 0x32, 0x9d, 0x32, 0x1b, 0xcf, 0x90, 0x11, 0xb7, 0x80, - 0xea, 0x6d, 0x18, 0xb8, 0x43, 0x2d, 0x74, 0x99, 0x72, 0x1e, 0xbd, 0x54, 0x78, 0xd7, 0x4a, 0xc1, - 0x70, 0xa6, 0x4a, 0x9a, 0x11, 0x69, 0x38, 0x09, 0x71, 0x4d, 0x8a, 0x38, 0x53, 0x8f, 0x9e, 0x4b, - 0x2a, 0x99, 0x3d, 0x98, 0x3e, 0xa1, 0xed, 0x09, 0xed, 0xa9, 0x9e, 0xb5, 0x15, 0xc6, 0xc9, 0x75, - 0x92, 0xdc, 0x0b, 0xa3, 0xbb, 0xec, 0x0e, 0x63, 0x48, 0x4b, 0x1b, 0x97, 0x82, 0xb0, 0x8e, 0x47, - 0x65, 0x28, 0x76, 0x79, 0xb6, 0x56, 0x65, 0x37, 0x13, 0x43, 0xe9, 0xde, 0xb9, 0xcc, 0x8b, 0xb1, - 0x84, 0x4b, 0xd4, 0xb5, 0xda, 0x32, 0xbb, 0x65, 0xc8, 0xa0, 0xae, 0xd5, 0x96, 0xb1, 0x84, 0xa3, - 0xb0, 0xfd, 0xa1, 0xb4, 0xb1, 0x22, 0x37, 0x3e, 0xed, 0x9c, 0xbc, 0xe0, 0x5b, 0x69, 0xf7, 0x61, - 0x42, 0x3d, 0xd6, 0xc6, 0x33, 0x7a, 0xc6, 0x33, 0xe3, 0x45, 0x1e, 0xc8, 0xef, 0x98, 0x18, 0x54, - 0xd9, 0xf5, 0xd6, 0x32, 0x34, 0x71, 0x5b, 0x2b, 0x46, 0xf6, 0x88, 0x89, 0xdc, 0x07, 0x0a, 0x16, - 0xa0, 0x12, 0xb7, 0xee, 0xb8, 0xe1, 0xb6, 0xe3, 0x05, 0xec, 0x2a, 0x40, 0x7f, 0xee, 0x5d, 0x02, - 0x70, 0x8a, 0x83, 0x6a, 0x30, 0xe4, 0x08, 0x15, 0x4e, 0x98, 0xec, 0x73, 0xa2, 0xcb, 0xa5, 0xc2, - 0xc7, 0xad, 0xab, 0xf2, 0x1f, 0x56, 0x54, 0xd0, 0xab, 0x30, 0x2a, 0x82, 0xa3, 0x84, 0x13, 0xe3, - 0x94, 0xe9, 0x48, 0x5f, 0xd7, 0x81, 0xd8, 0xc4, 0x45, 0x9b, 0x30, 0x46, 0xa9, 0xa4, 0x0c, 0x70, - 0x66, 0xba, 0x37, 0x1e, 0xaa, 0xa5, 0x82, 0xd6, 0xc9, 0xe0, 0x0c, 0x59, 0xe4, 0xc2, 0x63, 0x4e, - 0x2b, 0x09, 0xb7, 0xe9, 0x4e, 0x30, 0xf7, 0xc9, 0x7a, 0x78, 0x97, 0x04, 0x33, 0xa7, 0xd8, 0x0a, - 0x3c, 0xbb, 0xbf, 0x37, 0xf7, 0xd8, 0xe2, 0x21, 0x78, 0xf8, 0x50, 0x2a, 0xe8, 0x6d, 0x18, 0x4e, - 0x42, 0x5f, 0xf8, 0x26, 0xc7, 0x33, 0xa7, 0x8b, 0xe4, 0xb4, 0x59, 0x57, 0x15, 0x74, 0x33, 0x86, - 0x22, 0x82, 0x75, 0x8a, 0xb3, 0x9f, 0x80, 0xc9, 0x36, 0x96, 0xd4, 0x93, 0xfb, 0xe6, 0x7f, 0xec, - 0x87, 0x8a, 0xb2, 0xe8, 0xa1, 0x05, 0xd3, 0x78, 0xfb, 0x68, 0xd6, 0x78, 0x3b, 0x44, 0x05, 0x28, - 0xdd, 0x5e, 0xfb, 0xd9, 0x0e, 0xcf, 0x73, 0x3f, 0x9b, 0xbb, 0x07, 0x8b, 0x47, 0x54, 0xf5, 0xf0, - 0x88, 0x79, 0xaa, 0xd5, 0xf5, 0x1d, 0xaa, 0xd5, 0x15, 0x7c, 0x72, 0x8e, 0xea, 0x6f, 0xcd, 0xd0, - 0x5d, 0xab, 0x65, 0x5f, 0x54, 0xaa, 0xd1, 0x42, 0xcc, 0x61, 0x4c, 0xee, 0xa6, 0x67, 0x2a, 0x93, - 0xbb, 0x07, 0x8f, 0x28, 0x77, 0x4b, 0x02, 0x38, 0xa5, 0x85, 0x76, 0x60, 0xb2, 0x61, 0x3e, 0x90, - 0xa5, 0xe2, 0xa4, 0x9e, 0xef, 0xe1, 0x81, 0xaa, 0x96, 0xf6, 0x7a, 0xc6, 0x72, 0x96, 0x1e, 0x6e, - 0x6f, 0x02, 0xbd, 0x0a, 0x43, 0xef, 0x85, 0x31, 0xbb, 0x56, 0x10, 0x07, 0x8b, 0x8c, 0x47, 0x19, - 0x7a, 0xfd, 0x46, 0x9d, 0x95, 0x1f, 0xec, 0xcd, 0x0d, 0xd7, 0x42, 0x57, 0xfe, 0xc5, 0xaa, 0x02, - 0xfa, 0xa2, 0x05, 0xa7, 0x8c, 0x7d, 0xa6, 0x7a, 0x0e, 0x47, 0xe9, 0xf9, 0xe3, 0xa2, 0xe5, 0x53, - 0x6b, 0x9d, 0x68, 0xe2, 0xce, 0x4d, 0xd9, 0xbf, 0xcb, 0x4d, 0x98, 0xc2, 0xa8, 0x41, 0xe2, 0x96, - 0x7f, 0x12, 0x99, 0xec, 0x6f, 0x18, 0xf6, 0x96, 0x07, 0x60, 0x44, 0xff, 0xf7, 0x16, 0x33, 0xa2, - 0xaf, 0x93, 0xed, 0xa6, 0xef, 0x24, 0x27, 0xe1, 0xdd, 0xfb, 0x19, 0x18, 0x4a, 0x44, 0x6b, 0xc5, - 0xd2, 0xf0, 0x6b, 0xdd, 0x63, 0x97, 0x0b, 0xea, 0x60, 0x92, 0xa5, 0x58, 0x11, 0xb4, 0xff, 0x35, - 0xff, 0x2a, 0x12, 0x72, 0x02, 0x96, 0x82, 0xeb, 0xa6, 0xa5, 0xe0, 0x99, 0xc2, 0x63, 0xe9, 0x62, - 0x31, 0xf8, 0xbe, 0x39, 0x02, 0xa6, 0x3f, 0xfc, 0xf4, 0xdc, 0xf2, 0xd8, 0xbf, 0x62, 0xc1, 0x74, - 0xa7, 0xeb, 0x76, 0x2a, 0x60, 0x70, 0xed, 0x45, 0xdd, 0x7f, 0xa9, 0x59, 0xbd, 0x25, 0xca, 0xb1, - 0xc2, 0x28, 0x9c, 0x17, 0xbb, 0xb7, 0xd4, 0x4d, 0x37, 0xc0, 0x7c, 0x6a, 0x0d, 0xbd, 0xc6, 0x9d, - 0xf9, 0x2d, 0xf5, 0x16, 0x5a, 0x6f, 0x8e, 0xfc, 0xf6, 0x6f, 0x94, 0x60, 0x9a, 0x1b, 0xa1, 0x17, - 0x77, 0x42, 0xcf, 0xad, 0x85, 0xae, 0x08, 0x6d, 0x70, 0x61, 0xa4, 0xa9, 0x29, 0x9f, 0xc5, 0x52, - 0xc1, 0xe8, 0xea, 0x6a, 0x2a, 0xf0, 0xeb, 0xa5, 0xd8, 0xa0, 0x4a, 0x5b, 0x21, 0x3b, 0x5e, 0x43, - 0xd9, 0x34, 0x4b, 0x3d, 0x9f, 0x0c, 0xaa, 0x95, 0x15, 0x8d, 0x0e, 0x36, 0xa8, 0x1e, 0xc3, 0x73, - 0x16, 0xf6, 0x3f, 0xb0, 0xe0, 0x91, 0x2e, 0xe9, 0x62, 0x68, 0x73, 0xf7, 0x98, 0xe1, 0x5f, 0xbc, - 0xe5, 0xa7, 0x9a, 0xe3, 0xd7, 0x01, 0x58, 0x40, 0xd1, 0x1d, 0x00, 0x6e, 0xce, 0x67, 0x2f, 0xbb, - 0x97, 0x8a, 0xf8, 0x23, 0xb5, 0x25, 0x65, 0xd0, 0xe2, 0xf5, 0xd5, 0x5b, 0xee, 0x1a, 0x55, 0xfb, - 0x5b, 0x65, 0xe8, 0xe7, 0x4f, 0x46, 0xd7, 0x60, 0x70, 0x8b, 0xa7, 0xaf, 0xed, 0x2d, 0x7b, 0x6e, - 0xaa, 0x5c, 0xf0, 0x02, 0x2c, 0xc9, 0xa0, 0x6b, 0x30, 0x45, 0x4f, 0x16, 0xcf, 0xf1, 0xab, 0xc4, - 0x77, 0x76, 0xa5, 0xb6, 0xca, 0xdf, 0x38, 0x90, 0xc9, 0xb8, 0xa7, 0xd6, 0xda, 0x51, 0x70, 0xa7, - 0x7a, 0xe8, 0xb5, 0xb6, 0x6c, 0x73, 0x3c, 0x2d, 0xb0, 0x92, 0x54, 0x0f, 0xcf, 0x38, 0x47, 0xe5, - 0xe9, 0x66, 0x9b, 0x5e, 0xae, 0xbd, 0xcc, 0x6b, 0xea, 0xe2, 0x26, 0x2e, 0xf3, 0x2d, 0x68, 0x31, - 0x9f, 0x8a, 0xf5, 0xad, 0x88, 0xc4, 0x5b, 0xa1, 0xef, 0x8a, 0x47, 0x25, 0x53, 0xdf, 0x82, 0x0c, - 0x1c, 0xb7, 0xd5, 0xa0, 0x54, 0x36, 0x1c, 0xcf, 0x6f, 0x45, 0x24, 0xa5, 0x32, 0x60, 0x52, 0x59, - 0xcd, 0xc0, 0x71, 0x5b, 0x0d, 0xba, 0xb6, 0x4e, 0x89, 0x77, 0x08, 0x65, 0x70, 0xb4, 0x60, 0x41, - 0x9f, 0x86, 0x41, 0xe9, 0x22, 0x5f, 0x28, 0x87, 0x87, 0x70, 0x1c, 0x50, 0x6f, 0x1a, 0x6a, 0x6f, - 0x5e, 0x09, 0xe7, 0x78, 0x49, 0xef, 0x28, 0xef, 0xdd, 0xfd, 0x99, 0x05, 0x53, 0x1d, 0x5c, 0xbd, - 0x38, 0x4b, 0xdb, 0xf4, 0xe2, 0x44, 0x65, 0xdc, 0xd7, 0x58, 0x1a, 0x2f, 0xc7, 0x0a, 0x83, 0xee, - 0x16, 0xce, 0x34, 0xb3, 0x8c, 0x52, 0xb8, 0x80, 0x08, 0x68, 0x6f, 0x8c, 0x12, 0x9d, 0x85, 0xbe, - 0x56, 0x4c, 0x22, 0xf9, 0xf8, 0x9c, 0xe4, 0xf3, 0xcc, 0x0e, 0xc8, 0x20, 0x54, 0x6c, 0xdd, 0x54, - 0x26, 0x38, 0x4d, 0x6c, 0xe5, 0x46, 0x38, 0x0e, 0xb3, 0xbf, 0x5e, 0x86, 0xf1, 0x8c, 0xcb, 0x27, - 0xed, 0xc8, 0x76, 0x18, 0x78, 0x49, 0xa8, 0xf2, 0xaa, 0xf1, 0xf7, 0xae, 0x48, 0x73, 0xeb, 0x9a, - 0x28, 0xc7, 0x0a, 0x03, 0x3d, 0x2d, 0xdf, 0x1b, 0xcd, 0xbe, 0x24, 0xb0, 0x54, 0x35, 0x9e, 0x1c, - 0x2d, 0xfa, 0x0a, 0xc8, 0x93, 0xd0, 0xd7, 0x0c, 0xd5, 0xf3, 0xd1, 0xea, 0x7b, 0xe2, 0xa5, 0x6a, - 0x2d, 0x0c, 0x7d, 0xcc, 0x80, 0xe8, 0x29, 0x31, 0xfa, 0xcc, 0xcd, 0x05, 0x76, 0xdc, 0x30, 0xd6, - 0xa6, 0xe0, 0x19, 0x18, 0xbc, 0x4b, 0x76, 0x23, 0x2f, 0xd8, 0xcc, 0xde, 0xdb, 0x5c, 0xe1, 0xc5, - 0x58, 0xc2, 0xcd, 0x97, 0x3e, 0x06, 0x8f, 0xf9, 0xa5, 0x8f, 0xa1, 0xdc, 0x73, 0xf0, 0x3b, 0x16, - 0x8c, 0xb3, 0x64, 0xa3, 0x22, 0x34, 0xdf, 0x0b, 0x83, 0x13, 0x90, 0x31, 0x9e, 0x84, 0xfe, 0x88, - 0x36, 0x9a, 0x4d, 0xd5, 0xcf, 0x7a, 0x82, 0x39, 0x0c, 0x3d, 0x06, 0x7d, 0xac, 0x0b, 0xf4, 0x33, - 0x8e, 0xf0, 0x9c, 0xe6, 0x55, 0x27, 0x71, 0x30, 0x2b, 0x65, 0x51, 0x56, 0x98, 0x34, 0x7d, 0x8f, - 0x77, 0x3a, 0x35, 0xb7, 0x3e, 0x6c, 0x51, 0x56, 0x1d, 0x3b, 0xf9, 0xa0, 0xa2, 0xac, 0x3a, 0x13, - 0x3f, 0x5c, 0xce, 0xff, 0x1f, 0x25, 0x38, 0xd3, 0xb1, 0x5e, 0x7a, 0x03, 0xbc, 0x6a, 0xdc, 0x00, - 0x5f, 0xc8, 0xdc, 0x00, 0xdb, 0x87, 0xd7, 0x7e, 0x30, 0x77, 0xc2, 0x9d, 0xaf, 0x6a, 0xcb, 0x27, - 0x78, 0x55, 0xdb, 0x57, 0x54, 0xc4, 0xe9, 0xcf, 0x11, 0x71, 0xfe, 0xd0, 0x82, 0x47, 0x3b, 0x4e, - 0xd9, 0x43, 0x17, 0xd6, 0xd6, 0xb1, 0x97, 0x5d, 0xb4, 0x93, 0x5f, 0x2e, 0x77, 0x19, 0x15, 0xd3, - 0x53, 0xce, 0x51, 0x2e, 0xc4, 0x80, 0xb1, 0x10, 0xde, 0x46, 0x38, 0x07, 0xe2, 0x65, 0x58, 0x41, - 0x51, 0xac, 0x85, 0x85, 0xf1, 0x4e, 0xae, 0x1c, 0x71, 0x43, 0xcd, 0x9b, 0x76, 0x72, 0x3d, 0xdf, - 0x40, 0x36, 0x58, 0xec, 0xb6, 0xa6, 0x79, 0x96, 0x8f, 0xa2, 0x79, 0x8e, 0x74, 0xd6, 0x3a, 0xd1, - 0x22, 0x8c, 0x6f, 0x7b, 0x01, 0x7b, 0x20, 0xd4, 0x94, 0x9e, 0x54, 0x6c, 0xee, 0x35, 0x13, 0x8c, - 0xb3, 0xf8, 0xb3, 0xaf, 0xc2, 0xe8, 0xd1, 0xad, 0x6b, 0x3f, 0x2e, 0xc3, 0x07, 0x0f, 0x61, 0x0a, - 0xfc, 0x74, 0x30, 0xbe, 0x8b, 0x76, 0x3a, 0xb4, 0x7d, 0x9b, 0x1a, 0x4c, 0x6f, 0xb4, 0x7c, 0x7f, - 0x97, 0xf9, 0x4f, 0x11, 0x57, 0x62, 0x08, 0xa1, 0x46, 0xbd, 0x44, 0xbe, 0xda, 0x01, 0x07, 0x77, - 0xac, 0x89, 0x3e, 0x05, 0x28, 0xbc, 0xc3, 0xd2, 0xf1, 0xba, 0x69, 0x3e, 0x05, 0xf6, 0x09, 0xca, - 0xe9, 0x56, 0xbd, 0xd1, 0x86, 0x81, 0x3b, 0xd4, 0xa2, 0x72, 0x2a, 0x7b, 0xc4, 0x5c, 0x75, 0x2b, - 0x23, 0xa7, 0x62, 0x1d, 0x88, 0x4d, 0x5c, 0x74, 0x09, 0x26, 0x9d, 0x1d, 0xc7, 0xe3, 0xe9, 0xb5, - 0x24, 0x01, 0x2e, 0xa8, 0x2a, 0xfb, 0xd5, 0x62, 0x16, 0x01, 0xb7, 0xd7, 0x41, 0x4d, 0xc3, 0x20, - 0xc9, 0x13, 0xf1, 0x7f, 0xfc, 0x08, 0x2b, 0xb8, 0xb0, 0x89, 0xd2, 0xfe, 0xaf, 0x16, 0x3d, 0xfa, - 0x3a, 0xbc, 0x25, 0x49, 0x67, 0x44, 0x19, 0xd8, 0xb4, 0x30, 0x37, 0x35, 0x23, 0xcb, 0x3a, 0x10, - 0x9b, 0xb8, 0x7c, 0x69, 0xc4, 0xa9, 0x3b, 0xb7, 0x21, 0x6d, 0x8a, 0x08, 0x51, 0x85, 0x41, 0x25, - 0x68, 0xd7, 0xdb, 0xf1, 0xe2, 0x30, 0x12, 0x1b, 0xa8, 0x47, 0xe7, 0xde, 0x94, 0x5f, 0x56, 0x39, - 0x19, 0x2c, 0xe9, 0xd9, 0xdf, 0x28, 0xc1, 0xa8, 0x6c, 0xf1, 0xf5, 0x56, 0x98, 0x38, 0x27, 0x70, - 0xa4, 0xbf, 0x6e, 0x1c, 0xe9, 0x0b, 0xc5, 0x02, 0x66, 0x59, 0xe7, 0xba, 0x1e, 0xe5, 0x9f, 0xce, - 0x1c, 0xe5, 0x2f, 0xf4, 0x42, 0xf4, 0xf0, 0x23, 0xfc, 0xdf, 0x5a, 0x30, 0x69, 0xe0, 0x9f, 0xc0, - 0x49, 0x52, 0x33, 0x4f, 0x92, 0xe7, 0x7a, 0x18, 0x4d, 0x97, 0x13, 0xe4, 0xdb, 0xa5, 0xcc, 0x28, - 0xd8, 0xc9, 0xf1, 0x79, 0xe8, 0xdb, 0x72, 0x22, 0xb7, 0x58, 0xae, 0xc9, 0xb6, 0xea, 0xf3, 0x97, - 0x9d, 0xc8, 0xe5, 0xfc, 0xff, 0xbc, 0x7a, 0xe9, 0xca, 0x89, 0xdc, 0xdc, 0x28, 0x07, 0xd6, 0x28, - 0xba, 0x08, 0x03, 0x71, 0x23, 0x6c, 0x2a, 0x3f, 0xd0, 0xb3, 0xfc, 0x15, 0x2c, 0x5a, 0x72, 0xb0, - 0x37, 0x87, 0xcc, 0xe6, 0x68, 0x31, 0x16, 0xf8, 0xb3, 0x9b, 0x50, 0x51, 0x4d, 0x1f, 0xab, 0x27, - 0xfc, 0x7f, 0x2b, 0xc3, 0x54, 0x87, 0xb5, 0x82, 0xbe, 0x60, 0xcc, 0xdb, 0xab, 0x3d, 0x2f, 0xb6, - 0xf7, 0x39, 0x73, 0x5f, 0x60, 0x9a, 0x92, 0x2b, 0x56, 0xc7, 0x11, 0x9a, 0xbf, 0x19, 0x93, 0x6c, - 0xf3, 0xb4, 0x28, 0xbf, 0x79, 0xda, 0xec, 0x89, 0x4d, 0x3f, 0x6d, 0x48, 0xf5, 0xf4, 0x58, 0xbf, - 0xf3, 0x5f, 0xeb, 0x83, 0xe9, 0x4e, 0x91, 0xf9, 0xe8, 0xcb, 0x56, 0xe6, 0x41, 0x89, 0xd7, 0x7a, - 0x0f, 0xef, 0xe7, 0xaf, 0x4c, 0x88, 0x6c, 0x36, 0xf3, 0xe6, 0x13, 0x13, 0xb9, 0x33, 0x2e, 0x5a, - 0x67, 0xf1, 0x49, 0x11, 0x7f, 0x1c, 0x44, 0x72, 0x85, 0x4f, 0x1e, 0xa1, 0x2b, 0xe2, 0x7d, 0x91, - 0x38, 0x13, 0x9f, 0x24, 0x8b, 0xf3, 0xe3, 0x93, 0x64, 0x1f, 0x66, 0x3d, 0x18, 0xd6, 0xc6, 0x75, - 0xac, 0xcb, 0xe0, 0x2e, 0x3d, 0xa2, 0xb4, 0x7e, 0x1f, 0xeb, 0x52, 0xf8, 0xbb, 0x16, 0x64, 0x9c, - 0xb6, 0x94, 0x59, 0xc6, 0xea, 0x6a, 0x96, 0x39, 0x0b, 0x7d, 0x51, 0xe8, 0x93, 0xec, 0x63, 0x07, - 0x38, 0xf4, 0x09, 0x66, 0x10, 0xf5, 0xf8, 0x6d, 0xb9, 0xdb, 0xe3, 0xb7, 0x54, 0x4f, 0xf7, 0xc9, - 0x0e, 0x91, 0x46, 0x12, 0xc5, 0xc6, 0xaf, 0xd2, 0x42, 0xcc, 0x61, 0xf6, 0x6f, 0xf5, 0xc1, 0x54, - 0x87, 0x68, 0x37, 0xaa, 0x21, 0x6d, 0x3a, 0x09, 0xb9, 0xe7, 0xec, 0x66, 0x93, 0xae, 0x5e, 0xe2, - 0xc5, 0x58, 0xc2, 0x99, 0xb3, 0x29, 0x4f, 0xdc, 0x96, 0x31, 0x5d, 0x89, 0x7c, 0x6d, 0x02, 0x7a, - 0xfc, 0xcf, 0xa4, 0x5e, 0x00, 0x88, 0x63, 0x7f, 0x25, 0xa0, 0x12, 0x9e, 0x2b, 0x9c, 0x5a, 0xd3, - 0x7c, 0x7f, 0xf5, 0xab, 0x02, 0x82, 0x35, 0x2c, 0x54, 0x85, 0x89, 0x66, 0x14, 0x26, 0xdc, 0x30, - 0x58, 0xe5, 0x8e, 0x10, 0xfd, 0x66, 0x34, 0x55, 0x2d, 0x03, 0xc7, 0x6d, 0x35, 0xd0, 0xcb, 0x30, - 0x2c, 0x22, 0xac, 0x6a, 0x61, 0xe8, 0x0b, 0x33, 0x92, 0xba, 0x8e, 0xaf, 0xa7, 0x20, 0xac, 0xe3, - 0x69, 0xd5, 0x98, 0xb5, 0x71, 0xb0, 0x63, 0x35, 0x6e, 0x71, 0xd4, 0xf0, 0x32, 0xf9, 0x3b, 0x86, - 0x0a, 0xe5, 0xef, 0x48, 0x0d, 0x6b, 0x95, 0xc2, 0x17, 0x31, 0x90, 0x6b, 0x80, 0xfa, 0x83, 0x32, - 0x0c, 0xf0, 0x4f, 0x71, 0x02, 0x52, 0x5e, 0x4d, 0x98, 0x94, 0x0a, 0xe5, 0x4a, 0xe0, 0xbd, 0x9a, - 0xaf, 0x3a, 0x89, 0xc3, 0x59, 0x93, 0xda, 0x21, 0xa9, 0x19, 0x0a, 0xcd, 0x1b, 0x7b, 0x68, 0x36, - 0x63, 0x29, 0x01, 0x4e, 0x43, 0xdb, 0x51, 0x5b, 0x00, 0x31, 0x7b, 0xaa, 0x93, 0xd2, 0x10, 0x19, - 0x61, 0x5f, 0x2a, 0xd4, 0x8f, 0xba, 0xaa, 0xc6, 0x7b, 0x93, 0x2e, 0x4b, 0x05, 0xc0, 0x1a, 0xed, - 0xd9, 0x57, 0xa0, 0xa2, 0x90, 0xf3, 0x54, 0xc8, 0x11, 0x9d, 0xb5, 0xfd, 0x7f, 0x30, 0x9e, 0x69, - 0xab, 0x27, 0x0d, 0xf4, 0x77, 0x2c, 0x18, 0xe7, 0x5d, 0x5e, 0x09, 0x76, 0x04, 0x2b, 0xf8, 0x92, - 0x05, 0xd3, 0x7e, 0x87, 0x9d, 0x28, 0x3e, 0xf3, 0x51, 0xf6, 0xb0, 0x52, 0x3e, 0x3b, 0x41, 0x71, - 0xc7, 0xd6, 0xd0, 0x39, 0x18, 0xe2, 0x2f, 0x0f, 0x3b, 0xbe, 0xf0, 0xa0, 0x1e, 0xe1, 0xb9, 0xb0, - 0x79, 0x19, 0x56, 0x50, 0xfb, 0x27, 0x16, 0x4c, 0xb6, 0x3d, 0x64, 0xff, 0xb0, 0x0c, 0x43, 0x64, - 0xfd, 0x2e, 0x75, 0xc9, 0xfa, 0xad, 0x8f, 0xb2, 0x7c, 0xe8, 0x28, 0x7f, 0xc3, 0x02, 0xb1, 0x42, - 0x4f, 0x40, 0x7f, 0x58, 0x33, 0xf5, 0x87, 0x0f, 0x15, 0x59, 0xf4, 0x5d, 0x14, 0x87, 0x5f, 0x2a, - 0xc1, 0x04, 0x47, 0x48, 0x6f, 0x64, 0x1e, 0x96, 0x8f, 0xd3, 0xdb, 0x6b, 0x34, 0xea, 0x09, 0xd0, - 0xce, 0x23, 0x35, 0xbe, 0x65, 0xdf, 0xa1, 0xdf, 0xf2, 0x2f, 0x2c, 0x40, 0x7c, 0x4e, 0xb2, 0xcf, - 0x36, 0xf3, 0xd3, 0x4d, 0x33, 0x07, 0xa4, 0x9c, 0x43, 0x41, 0xb0, 0x86, 0xf5, 0x80, 0x87, 0x90, - 0xb9, 0x0f, 0x2b, 0xe7, 0xdf, 0x87, 0xf5, 0x30, 0xea, 0xdf, 0x2d, 0x43, 0xd6, 0x95, 0x12, 0xbd, - 0x03, 0x23, 0x0d, 0xa7, 0xe9, 0xdc, 0xf1, 0x7c, 0x2f, 0xf1, 0x48, 0x5c, 0xec, 0xc2, 0x7d, 0x59, - 0xab, 0x21, 0xae, 0xa1, 0xb4, 0x12, 0x6c, 0x50, 0x44, 0xf3, 0x00, 0xcd, 0xc8, 0xdb, 0xf1, 0x7c, - 0xb2, 0xc9, 0x34, 0x1e, 0x16, 0x8b, 0xc1, 0xef, 0x8e, 0x65, 0x29, 0xd6, 0x30, 0x3a, 0xf8, 0xee, - 0x97, 0x4f, 0xc2, 0x77, 0xbf, 0xaf, 0x47, 0xdf, 0xfd, 0xfe, 0x42, 0xbe, 0xfb, 0x18, 0x4e, 0xcb, - 0xc3, 0x9b, 0xfe, 0x5f, 0xf5, 0x7c, 0x22, 0x64, 0x37, 0x1e, 0xab, 0x31, 0xbb, 0xbf, 0x37, 0x77, - 0x1a, 0x77, 0xc4, 0xc0, 0x5d, 0x6a, 0xda, 0x2d, 0x98, 0xaa, 0x93, 0xc8, 0x63, 0x39, 0x29, 0xdd, - 0x74, 0x2f, 0x7d, 0x16, 0x2a, 0x51, 0x66, 0x1b, 0xf7, 0x18, 0x90, 0xaf, 0x65, 0x31, 0x93, 0xdb, - 0x36, 0x25, 0x69, 0xff, 0x8d, 0x12, 0x0c, 0x0a, 0x27, 0xca, 0x13, 0x10, 0x3e, 0xae, 0x18, 0x26, - 0xa6, 0x67, 0xf2, 0xf8, 0x1f, 0xeb, 0x56, 0x57, 0xe3, 0x52, 0x3d, 0x63, 0x5c, 0x7a, 0xae, 0x18, - 0xb9, 0xc3, 0xcd, 0x4a, 0xff, 0xb4, 0x0c, 0x63, 0xa6, 0x53, 0xe9, 0x09, 0x4c, 0xcb, 0x1b, 0x30, - 0x18, 0x0b, 0xff, 0xe6, 0x52, 0x11, 0x9f, 0xbd, 0xec, 0x27, 0x4e, 0x6f, 0xe2, 0x85, 0x47, 0xb3, - 0x24, 0xd7, 0xd1, 0x85, 0xba, 0x7c, 0x22, 0x2e, 0xd4, 0x79, 0xbe, 0xbe, 0x7d, 0x0f, 0xc2, 0xd7, - 0xd7, 0xfe, 0x01, 0x63, 0xf9, 0x7a, 0xf9, 0x09, 0x1c, 0xe3, 0xaf, 0x9b, 0x87, 0xc3, 0xf9, 0x42, - 0xeb, 0x4e, 0x74, 0xaf, 0xcb, 0x71, 0xfe, 0x5d, 0x0b, 0x86, 0x05, 0xe2, 0x09, 0x0c, 0xe0, 0x53, - 0xe6, 0x00, 0x9e, 0x2a, 0x34, 0x80, 0x2e, 0x3d, 0xff, 0x46, 0x49, 0xf5, 0xbc, 0x26, 0x9e, 0xda, - 0xcf, 0xcd, 0xc0, 0x3d, 0x44, 0x55, 0xbf, 0xb0, 0x11, 0xfa, 0x42, 0x80, 0x7b, 0x2c, 0x0d, 0xcd, - 0xe3, 0xe5, 0x07, 0xda, 0x6f, 0xac, 0xb0, 0x59, 0xe4, 0x58, 0x18, 0x25, 0xe2, 0x00, 0xed, 0xf4, - 0xd0, 0xbf, 0x0b, 0x90, 0xbe, 0xae, 0x2e, 0xa2, 0x5a, 0xbb, 0xef, 0xd6, 0x56, 0xe2, 0xf9, 0xf3, - 0x5e, 0x90, 0xc4, 0x49, 0x34, 0xbf, 0x16, 0x24, 0x37, 0x22, 0x2e, 0xf4, 0x6b, 0xb1, 0x76, 0x8a, - 0x16, 0xd6, 0xe8, 0xca, 0x20, 0x0e, 0xd6, 0x46, 0xbf, 0x79, 0x83, 0x74, 0x5d, 0x94, 0x63, 0x85, - 0x61, 0xbf, 0xc2, 0x38, 0x3b, 0x9b, 0xa0, 0xde, 0xc2, 0xe0, 0x7e, 0x71, 0x40, 0x4d, 0x2d, 0x33, - 0x0b, 0x5f, 0xd7, 0x83, 0xed, 0x8a, 0xb2, 0x4f, 0xda, 0x05, 0xdd, 0x8f, 0x3a, 0x8d, 0xcd, 0x43, - 0xa4, 0xed, 0xda, 0xf1, 0x95, 0xc2, 0x1c, 0xb9, 0x87, 0x8b, 0x46, 0x96, 0x74, 0x90, 0x65, 0x5a, - 0x5b, 0xab, 0x65, 0xf3, 0xa6, 0x2f, 0x4b, 0x00, 0x4e, 0x71, 0xd0, 0x82, 0x50, 0x28, 0xb9, 0xc5, - 0xe5, 0x83, 0x19, 0x85, 0x52, 0x4e, 0x89, 0xa6, 0x51, 0xbe, 0x00, 0xc3, 0xea, 0x29, 0x9a, 0x1a, - 0x7f, 0x04, 0xa4, 0xc2, 0xe5, 0xab, 0x95, 0xb4, 0x18, 0xeb, 0x38, 0x68, 0x0d, 0xa6, 0x5c, 0x15, - 0xb3, 0x53, 0x6b, 0xdd, 0xf1, 0xbd, 0x06, 0xad, 0xca, 0xe3, 0x6d, 0x1f, 0xd9, 0xdf, 0x9b, 0x9b, - 0xaa, 0xb6, 0x83, 0x71, 0xa7, 0x3a, 0x68, 0x1d, 0xc6, 0x63, 0xfe, 0xe4, 0x8e, 0x0c, 0xcc, 0x10, - 0x36, 0x88, 0x67, 0xe5, 0x7d, 0x67, 0xdd, 0x04, 0x1f, 0xb0, 0x22, 0xce, 0x15, 0x64, 0x28, 0x47, - 0x96, 0x04, 0x7a, 0x0d, 0xc6, 0x7c, 0xfd, 0x3d, 0xd1, 0x9a, 0x30, 0x51, 0x28, 0x0f, 0x36, 0xe3, - 0xb5, 0xd1, 0x1a, 0xce, 0x60, 0xa3, 0x37, 0x60, 0x46, 0x2f, 0x11, 0x79, 0x84, 0x9c, 0x60, 0x93, - 0xc4, 0xe2, 0x79, 0x8e, 0xc7, 0xf6, 0xf7, 0xe6, 0x66, 0xae, 0x76, 0xc1, 0xc1, 0x5d, 0x6b, 0xa3, - 0x8b, 0x30, 0x22, 0x67, 0x52, 0x0b, 0x63, 0x4a, 0x7d, 0x27, 0x35, 0x18, 0x36, 0x30, 0xdf, 0xdf, - 0xb5, 0xee, 0xe7, 0x69, 0x65, 0xed, 0x08, 0x47, 0xef, 0xc2, 0x88, 0xde, 0xc7, 0xec, 0xd9, 0x9c, - 0xff, 0x46, 0xab, 0x10, 0x05, 0x54, 0xcf, 0x75, 0x18, 0x36, 0x68, 0xdb, 0x37, 0x60, 0xa0, 0xbe, - 0x1b, 0x37, 0x12, 0xbf, 0x00, 0x7f, 0x7b, 0xd2, 0x18, 0x42, 0xba, 0xf7, 0xd8, 0x7b, 0x51, 0x62, - 0x44, 0xf6, 0x57, 0x2c, 0x18, 0x5f, 0x5f, 0xae, 0xd5, 0xc3, 0xc6, 0x5d, 0x92, 0x2c, 0x72, 0xf5, - 0x0d, 0x0b, 0xf6, 0x66, 0x1d, 0x91, 0x6d, 0x75, 0x62, 0x88, 0x67, 0xa1, 0x6f, 0x2b, 0x8c, 0x93, - 0xac, 0x09, 0xf4, 0x72, 0x18, 0x27, 0x98, 0x41, 0xec, 0x3f, 0xb5, 0xa0, 0x9f, 0x3d, 0x87, 0x94, - 0xf7, 0x94, 0x56, 0x91, 0x71, 0xa1, 0x97, 0x61, 0x80, 0x6c, 0x6c, 0x90, 0x46, 0x22, 0x76, 0xba, - 0x0c, 0x27, 0x18, 0x58, 0x61, 0xa5, 0x74, 0xff, 0xb2, 0xc6, 0xf8, 0x5f, 0x2c, 0x90, 0xd1, 0x67, - 0xa0, 0x92, 0x78, 0xdb, 0x64, 0xd1, 0x75, 0x85, 0xcd, 0xb1, 0x37, 0x0f, 0x17, 0xc5, 0x4f, 0xd6, - 0x25, 0x11, 0x9c, 0xd2, 0xb3, 0xbf, 0x56, 0x02, 0x48, 0x83, 0x79, 0xf2, 0x86, 0xb9, 0xd4, 0xf6, - 0x62, 0xd8, 0xd3, 0x1d, 0x5e, 0x0c, 0x43, 0x29, 0xc1, 0x0e, 0xef, 0x85, 0xa9, 0xa9, 0x2a, 0x17, - 0x9a, 0xaa, 0xbe, 0x5e, 0xa6, 0x6a, 0x19, 0x26, 0xd3, 0x60, 0x24, 0x33, 0xaa, 0x93, 0xe5, 0x0f, - 0x5d, 0xcf, 0x02, 0x71, 0x3b, 0xbe, 0xfd, 0x35, 0x0b, 0x84, 0x4f, 0x64, 0x81, 0x05, 0xed, 0xca, - 0xd7, 0x7d, 0x8c, 0x44, 0x67, 0xcf, 0x16, 0x71, 0x17, 0x15, 0xe9, 0xcd, 0xd4, 0x16, 0x33, 0x92, - 0x9a, 0x19, 0x54, 0xed, 0xdf, 0xb4, 0x60, 0x98, 0x83, 0xaf, 0x31, 0xb1, 0x3b, 0xbf, 0x5f, 0x3d, - 0x25, 0xa7, 0x65, 0x0f, 0xdf, 0x50, 0xc2, 0x2a, 0x49, 0xa9, 0xfe, 0xf0, 0x8d, 0x04, 0xe0, 0x14, - 0x07, 0x3d, 0x03, 0x83, 0x71, 0xeb, 0x0e, 0x43, 0xcf, 0x38, 0x48, 0xd6, 0x79, 0x31, 0x96, 0x70, - 0xfb, 0x9f, 0x97, 0x60, 0x22, 0xeb, 0x1f, 0x8b, 0x30, 0x0c, 0x70, 0x31, 0x3c, 0x2b, 0xc1, 0x1d, - 0x66, 0xee, 0xd1, 0xfc, 0x6b, 0x81, 0x3f, 0xdf, 0xcc, 0xec, 0xf2, 0x82, 0x12, 0xda, 0x80, 0x61, - 0x37, 0xbc, 0x17, 0xdc, 0x73, 0x22, 0x77, 0xb1, 0xb6, 0x26, 0xbe, 0x44, 0x8e, 0x47, 0x53, 0x35, - 0xad, 0xa0, 0x7b, 0xef, 0x32, 0xf3, 0x43, 0x0a, 0xc2, 0x3a, 0x61, 0xaa, 0x76, 0x36, 0xc2, 0x60, - 0xc3, 0xdb, 0xbc, 0xe6, 0x34, 0x8b, 0xdd, 0xdd, 0x2f, 0x4b, 0x74, 0xad, 0x8d, 0x51, 0x91, 0xc6, - 0x81, 0x03, 0x70, 0x4a, 0xd2, 0xfe, 0xf5, 0x69, 0x30, 0xd6, 0x82, 0x91, 0x41, 0xd6, 0x7a, 0xe0, - 0x19, 0x64, 0xdf, 0x82, 0x21, 0xb2, 0xdd, 0x4c, 0x76, 0xab, 0x5e, 0x54, 0x2c, 0x1f, 0xf8, 0x8a, - 0xc0, 0x6e, 0xa7, 0x2e, 0x21, 0x58, 0x51, 0xec, 0x92, 0x0f, 0xb8, 0xfc, 0x50, 0xe4, 0x03, 0xee, - 0xfb, 0x4b, 0xc9, 0x07, 0xfc, 0x06, 0x0c, 0x6e, 0x7a, 0x09, 0x26, 0xcd, 0x50, 0xe4, 0xc5, 0xc8, - 0x59, 0x3c, 0x97, 0x38, 0x72, 0x7b, 0xa6, 0x48, 0x01, 0xc0, 0x92, 0x1c, 0x5a, 0x57, 0x9b, 0x6a, - 0xa0, 0xc8, 0x71, 0xdf, 0x6e, 0x0e, 0xec, 0xb8, 0xad, 0x44, 0xfe, 0xdf, 0xc1, 0xf7, 0x9f, 0xff, - 0x57, 0x65, 0xed, 0x1d, 0x7a, 0x50, 0x59, 0x7b, 0x8d, 0xec, 0xc7, 0x95, 0xe3, 0xc8, 0x7e, 0xfc, - 0x35, 0x0b, 0x4e, 0x35, 0x3b, 0xe5, 0x0e, 0x17, 0xf9, 0x77, 0x3f, 0x71, 0x84, 0x6c, 0xea, 0x46, - 0xd3, 0x2c, 0xdb, 0x40, 0x47, 0x34, 0xdc, 0xb9, 0x61, 0x99, 0x46, 0x79, 0xf8, 0xfd, 0xa7, 0x51, - 0x3e, 0xee, 0x44, 0xbd, 0x69, 0x52, 0xe5, 0xd1, 0x63, 0x49, 0xaa, 0x3c, 0xf6, 0x00, 0x93, 0x2a, - 0x6b, 0xe9, 0x90, 0xc7, 0x1f, 0x6c, 0x3a, 0xe4, 0x2d, 0xf3, 0x5c, 0xe2, 0xd9, 0x77, 0x5f, 0x2e, - 0x7c, 0x2e, 0x19, 0x2d, 0x1c, 0x7e, 0x32, 0xf1, 0xc4, 0xd0, 0x93, 0xef, 0x33, 0x31, 0xb4, 0x91, - 0x5e, 0x19, 0x1d, 0x47, 0x7a, 0xe5, 0x77, 0xf4, 0x13, 0x74, 0xaa, 0x48, 0x0b, 0xea, 0xa0, 0x6c, - 0x6f, 0xa1, 0xd3, 0x19, 0xda, 0x9e, 0xc0, 0x79, 0xfa, 0xa4, 0x13, 0x38, 0x9f, 0x3a, 0xc6, 0x04, - 0xce, 0xa7, 0x4f, 0x34, 0x81, 0xf3, 0x23, 0x0f, 0x49, 0x02, 0xe7, 0x99, 0x93, 0x4a, 0xe0, 0xfc, - 0xe8, 0x03, 0x4d, 0xe0, 0x4c, 0x3f, 0x5d, 0x53, 0x46, 0x99, 0xcd, 0xcc, 0x16, 0xf9, 0x74, 0x1d, - 0x83, 0xd2, 0xf8, 0xa7, 0x53, 0x20, 0x9c, 0x12, 0xb5, 0xff, 0x0a, 0x9c, 0x39, 0x7c, 0xe9, 0xa6, - 0x0e, 0x1d, 0xb5, 0xd4, 0xac, 0x96, 0x71, 0xe8, 0x60, 0x62, 0xa1, 0x86, 0x55, 0x38, 0xc3, 0xec, - 0xb7, 0x2d, 0x78, 0xa4, 0x4b, 0x02, 0xc6, 0xc2, 0x21, 0x9a, 0x4d, 0x18, 0x6f, 0x9a, 0x55, 0x0b, - 0x47, 0x7c, 0x1b, 0x09, 0x1f, 0x95, 0x1b, 0x7d, 0x06, 0x80, 0xb3, 0xe4, 0x97, 0x3e, 0xf4, 0xc3, - 0x1f, 0x9f, 0xf9, 0xc0, 0x8f, 0x7e, 0x7c, 0xe6, 0x03, 0x7f, 0xfc, 0xe3, 0x33, 0x1f, 0xf8, 0xf9, - 0xfd, 0x33, 0xd6, 0x0f, 0xf7, 0xcf, 0x58, 0x3f, 0xda, 0x3f, 0x63, 0xfd, 0xd9, 0xfe, 0x19, 0xeb, - 0x6b, 0x3f, 0x39, 0xf3, 0x81, 0x37, 0x4b, 0x3b, 0x2f, 0xfc, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, - 0x85, 0x6a, 0x29, 0xbd, 0xe1, 0xc8, 0x00, 0x00, + 0x95, 0x72, 0x52, 0xa5, 0x94, 0xab, 0xe2, 0x28, 0x9f, 0x8e, 0xa2, 0xd2, 0x87, 0xcb, 0x72, 0x52, + 0x71, 0x2c, 0x47, 0xae, 0x4a, 0x1c, 0x55, 0xb9, 0x12, 0x3b, 0xe5, 0x0a, 0x6c, 0x41, 0x15, 0xff, + 0x91, 0x3f, 0xf2, 0x47, 0xfc, 0x1f, 0x92, 0x4a, 0xa5, 0xfa, 0x73, 0xba, 0x67, 0x77, 0x31, 0xb3, + 0xe0, 0x01, 0x3e, 0xa9, 0xf2, 0xdf, 0xee, 0x7b, 0xaf, 0x5f, 0x7f, 0x4c, 0xf7, 0xeb, 0xd7, 0xaf, + 0xdf, 0x7b, 0x0d, 0xe7, 0xef, 0x5e, 0x8c, 0xe7, 0xbd, 0x70, 0xe1, 0x6e, 0xeb, 0x0e, 0x89, 0x02, + 0x92, 0x90, 0x78, 0xa1, 0x79, 0x77, 0x73, 0xc1, 0x69, 0x7a, 0x0b, 0x3b, 0x2f, 0x2c, 0x6c, 0x92, + 0x80, 0x44, 0x4e, 0x42, 0xdc, 0xf9, 0x66, 0x14, 0x26, 0x21, 0x7a, 0x8c, 0x53, 0xcf, 0xa7, 0xd4, + 0xf3, 0xcd, 0xbb, 0x9b, 0xf3, 0x4e, 0xd3, 0x9b, 0xdf, 0x79, 0x61, 0xf6, 0xf9, 0x4d, 0x2f, 0xd9, + 0x6a, 0xdd, 0x99, 0x6f, 0x84, 0xdb, 0x0b, 0x9b, 0xe1, 0x66, 0xb8, 0xc0, 0x0a, 0xdd, 0x69, 0x6d, + 0xb0, 0x7f, 0xec, 0x0f, 0xfb, 0xc5, 0x99, 0xcd, 0xbe, 0x24, 0xaa, 0x76, 0x9a, 0xde, 0xb6, 0xd3, + 0xd8, 0xf2, 0x02, 0x12, 0xed, 0xaa, 0xca, 0x23, 0x12, 0x87, 0xad, 0xa8, 0x41, 0xb2, 0x4d, 0x38, + 0xb4, 0x54, 0xbc, 0xb0, 0x4d, 0x12, 0xa7, 0x43, 0xc3, 0x67, 0x17, 0xba, 0x95, 0x8a, 0x5a, 0x41, + 0xe2, 0x6d, 0xb7, 0x57, 0xf3, 0x91, 0xbc, 0x02, 0x71, 0x63, 0x8b, 0x6c, 0x3b, 0x6d, 0xe5, 0x5e, + 0xec, 0x56, 0xae, 0x95, 0x78, 0xfe, 0x82, 0x17, 0x24, 0x71, 0x12, 0x1d, 0xd6, 0xa7, 0x98, 0x44, + 0x3b, 0x24, 0x4a, 0x3b, 0x44, 0xee, 0x3b, 0xdb, 0x4d, 0x9f, 0x74, 0xe8, 0x93, 0xfd, 0x47, 0x16, + 0x9c, 0x5d, 0xbc, 0x5d, 0x5f, 0xf1, 0x9d, 0x38, 0xf1, 0x1a, 0x4b, 0x7e, 0xd8, 0xb8, 0x5b, 0x4f, + 0xc2, 0x88, 0xdc, 0x0a, 0xfd, 0xd6, 0x36, 0xa9, 0xb3, 0xe1, 0x43, 0xe7, 0x61, 0x68, 0x87, 0xfd, + 0x5f, 0xab, 0xce, 0x58, 0x67, 0xad, 0x73, 0x95, 0xa5, 0x89, 0x1f, 0xee, 0xcd, 0x7d, 0x60, 0x7f, + 0x6f, 0x6e, 0xe8, 0x96, 0x80, 0x63, 0x45, 0x81, 0x9e, 0x86, 0x81, 0x8d, 0x78, 0x7d, 0xb7, 0x49, + 0x66, 0x4a, 0x8c, 0x76, 0x4c, 0xd0, 0x0e, 0xac, 0xd6, 0x29, 0x14, 0x0b, 0x2c, 0x5a, 0x80, 0x4a, + 0xd3, 0x89, 0x12, 0x2f, 0xf1, 0xc2, 0x60, 0xa6, 0x7c, 0xd6, 0x3a, 0xd7, 0xbf, 0x34, 0x29, 0x48, + 0x2b, 0x35, 0x89, 0xc0, 0x29, 0x0d, 0x6d, 0x46, 0x44, 0x1c, 0xf7, 0x46, 0xe0, 0xef, 0xce, 0xf4, + 0x9d, 0xb5, 0xce, 0x0d, 0xa5, 0xcd, 0xc0, 0x02, 0x8e, 0x15, 0x85, 0xfd, 0xbd, 0x12, 0x0c, 0x2d, + 0x6e, 0x6c, 0x78, 0x81, 0x97, 0xec, 0xa2, 0x77, 0x60, 0x24, 0x08, 0x5d, 0x22, 0xff, 0xb3, 0x5e, + 0x0c, 0x5f, 0x78, 0x76, 0xfe, 0xb0, 0xa9, 0x38, 0x7f, 0x5d, 0x2b, 0xb1, 0x34, 0xb1, 0xbf, 0x37, + 0x37, 0xa2, 0x43, 0xb0, 0xc1, 0x11, 0xbd, 0x05, 0xc3, 0xcd, 0xd0, 0x55, 0x15, 0x94, 0x58, 0x05, + 0xcf, 0x1c, 0x5e, 0x41, 0x2d, 0x2d, 0xb0, 0x34, 0xbe, 0xbf, 0x37, 0x37, 0xac, 0x01, 0xb0, 0xce, + 0x0e, 0xf9, 0x30, 0x4e, 0xff, 0x06, 0x89, 0xa7, 0x6a, 0x28, 0xb3, 0x1a, 0x9e, 0xcf, 0xaf, 0x41, + 0x2b, 0xb4, 0x34, 0xb5, 0xbf, 0x37, 0x37, 0x9e, 0x01, 0xe2, 0x2c, 0x6b, 0xfb, 0xb3, 0x30, 0xb6, + 0x98, 0x24, 0x4e, 0x63, 0x8b, 0xb8, 0xfc, 0xfb, 0xa2, 0x97, 0xa0, 0x2f, 0x70, 0xb6, 0x89, 0xf8, + 0xfa, 0x67, 0xc5, 0xb0, 0xf7, 0x5d, 0x77, 0xb6, 0xc9, 0xc1, 0xde, 0xdc, 0xc4, 0xcd, 0xc0, 0x7b, + 0xaf, 0x25, 0xe6, 0x0c, 0x85, 0x61, 0x46, 0x8d, 0x2e, 0x00, 0xb8, 0x64, 0xc7, 0x6b, 0x90, 0x9a, + 0x93, 0x6c, 0x89, 0xd9, 0x80, 0x44, 0x59, 0xa8, 0x2a, 0x0c, 0xd6, 0xa8, 0xec, 0x2f, 0x58, 0x50, + 0x59, 0xdc, 0x09, 0x3d, 0xb7, 0x16, 0xba, 0x31, 0x6a, 0xc1, 0x78, 0x33, 0x22, 0x1b, 0x24, 0x52, + 0xa0, 0x19, 0xeb, 0x6c, 0xf9, 0xdc, 0xf0, 0x85, 0x0b, 0x39, 0xfd, 0x36, 0x0b, 0xad, 0x04, 0x49, + 0xb4, 0xbb, 0xf4, 0x88, 0xa8, 0x7a, 0x3c, 0x83, 0xc5, 0xd9, 0x3a, 0xec, 0x5f, 0x2e, 0xc1, 0xa9, + 0xc5, 0xcf, 0xb6, 0x22, 0x52, 0xf5, 0xe2, 0xbb, 0xd9, 0xa5, 0xe0, 0x7a, 0xf1, 0xdd, 0xeb, 0xe9, + 0x60, 0xa8, 0x39, 0x58, 0x15, 0x70, 0xac, 0x28, 0xd0, 0xf3, 0x30, 0x48, 0x7f, 0xdf, 0xc4, 0x6b, + 0xa2, 0xf7, 0x53, 0x82, 0x78, 0xb8, 0xea, 0x24, 0x4e, 0x95, 0xa3, 0xb0, 0xa4, 0x41, 0xd7, 0x60, + 0xb8, 0xc1, 0xd6, 0xfb, 0xe6, 0xb5, 0xd0, 0x25, 0xec, 0x0b, 0x57, 0x96, 0x9e, 0xa3, 0xe4, 0xcb, + 0x29, 0xf8, 0x60, 0x6f, 0x6e, 0x86, 0xb7, 0x4d, 0xb0, 0xd0, 0x70, 0x58, 0x2f, 0x8f, 0x6c, 0xb5, + 0x10, 0xfb, 0x18, 0x27, 0xe8, 0xb0, 0x08, 0xcf, 0x69, 0x6b, 0xaa, 0x9f, 0xad, 0xa9, 0x91, 0x2e, + 0xeb, 0xe9, 0x1f, 0x5b, 0x62, 0x4c, 0x56, 0x3d, 0xdf, 0x14, 0x0f, 0x17, 0x00, 0x62, 0xd2, 0x88, + 0x48, 0xa2, 0x8d, 0x8a, 0xfa, 0xcc, 0x75, 0x85, 0xc1, 0x1a, 0x15, 0x5d, 0xfc, 0xf1, 0x96, 0x13, + 0xb1, 0xd9, 0x22, 0xc6, 0x46, 0x2d, 0xfe, 0xba, 0x44, 0xe0, 0x94, 0xc6, 0x58, 0xfc, 0xe5, 0xdc, + 0xc5, 0xff, 0x3b, 0x16, 0x0c, 0x2e, 0x79, 0x81, 0xeb, 0x05, 0x9b, 0xe8, 0x1d, 0x18, 0xa2, 0x12, + 0xdd, 0x75, 0x12, 0x47, 0xac, 0xfb, 0x0f, 0xcb, 0xc9, 0xa3, 0x0b, 0x58, 0x39, 0x7d, 0xe2, 0x79, + 0x4a, 0x4d, 0x27, 0xd1, 0x8d, 0x3b, 0xef, 0x92, 0x46, 0x72, 0x8d, 0x24, 0x4e, 0xda, 0x9d, 0x14, + 0x86, 0x15, 0x57, 0x74, 0x13, 0x06, 0x12, 0x27, 0xda, 0x24, 0x89, 0x58, 0xf6, 0x39, 0x8b, 0x92, + 0xf3, 0xc0, 0x74, 0xca, 0x91, 0xa0, 0x41, 0x52, 0x01, 0xb9, 0xce, 0x98, 0x60, 0xc1, 0xcc, 0x6e, + 0xc0, 0xc8, 0xb2, 0xd3, 0x74, 0xee, 0x78, 0xbe, 0x97, 0x78, 0x24, 0x46, 0x3f, 0x07, 0x65, 0xc7, + 0x75, 0xd9, 0x02, 0xa8, 0x2c, 0x9d, 0xda, 0xdf, 0x9b, 0x2b, 0x2f, 0xba, 0xee, 0xc1, 0xde, 0x1c, + 0x28, 0xaa, 0x5d, 0x4c, 0x29, 0xd0, 0xb3, 0xd0, 0xe7, 0x46, 0x61, 0x73, 0xa6, 0xc4, 0x28, 0x4f, + 0xd3, 0x95, 0x5a, 0x8d, 0xc2, 0x66, 0x86, 0x94, 0xd1, 0xd8, 0x3f, 0x28, 0x01, 0x5a, 0x26, 0xcd, + 0xad, 0xd5, 0xba, 0xf1, 0x4d, 0xcf, 0xc1, 0xd0, 0x76, 0x18, 0x78, 0x49, 0x18, 0xc5, 0xa2, 0x42, + 0x36, 0x2f, 0xae, 0x09, 0x18, 0x56, 0x58, 0x74, 0x16, 0xfa, 0x9a, 0xe9, 0xf2, 0x1e, 0x91, 0xa2, + 0x81, 0x2d, 0x6c, 0x86, 0xa1, 0x14, 0xad, 0x98, 0x44, 0x62, 0x3e, 0x2b, 0x8a, 0x9b, 0x31, 0x89, + 0x30, 0xc3, 0xa4, 0x33, 0x88, 0xce, 0x2d, 0x31, 0x5b, 0x33, 0x33, 0x88, 0x62, 0xb0, 0x46, 0x85, + 0xde, 0x86, 0x0a, 0xff, 0x87, 0xc9, 0x06, 0x9b, 0xba, 0xb9, 0x42, 0xe1, 0x6a, 0xd8, 0x70, 0xfc, + 0xec, 0xe0, 0x8f, 0xb2, 0x19, 0x27, 0x19, 0xe1, 0x94, 0xa7, 0x31, 0xe3, 0x06, 0x72, 0x67, 0xdc, + 0xdf, 0xb1, 0x00, 0x2d, 0x7b, 0x81, 0x4b, 0xa2, 0x13, 0xd8, 0x3a, 0x7b, 0x5b, 0x0c, 0x7f, 0x42, + 0x9b, 0x16, 0x6e, 0x37, 0xc3, 0x80, 0x04, 0xc9, 0x72, 0x18, 0xb8, 0x7c, 0x3b, 0xfd, 0x18, 0xf4, + 0x25, 0xb4, 0x2a, 0xde, 0xac, 0xa7, 0xe5, 0x67, 0xa1, 0x15, 0x1c, 0xec, 0xcd, 0x9d, 0x6e, 0x2f, + 0xc1, 0x9a, 0xc0, 0xca, 0xa0, 0x8f, 0xc2, 0x40, 0x9c, 0x38, 0x49, 0x2b, 0x16, 0x0d, 0x7d, 0x42, + 0x36, 0xb4, 0xce, 0xa0, 0x07, 0x7b, 0x73, 0xe3, 0xaa, 0x18, 0x07, 0x61, 0x51, 0x00, 0x3d, 0x03, + 0x83, 0xdb, 0x24, 0x8e, 0x9d, 0x4d, 0x29, 0xe0, 0xc6, 0x45, 0xd9, 0xc1, 0x6b, 0x1c, 0x8c, 0x25, + 0x1e, 0x3d, 0x09, 0xfd, 0x24, 0x8a, 0xc2, 0x48, 0xcc, 0x88, 0x51, 0x41, 0xd8, 0xbf, 0x42, 0x81, + 0x98, 0xe3, 0xec, 0xff, 0x62, 0xc1, 0xb8, 0x6a, 0x2b, 0xaf, 0xeb, 0x04, 0x96, 0xbc, 0x0b, 0xd0, + 0x90, 0x1d, 0x8c, 0xd9, 0x42, 0xd3, 0xea, 0xe8, 0x3c, 0xfd, 0xda, 0x07, 0x34, 0xad, 0x43, 0x81, + 0x62, 0xac, 0xf1, 0xb5, 0xff, 0x9d, 0x05, 0x53, 0x99, 0xbe, 0x5d, 0xf5, 0xe2, 0x04, 0xbd, 0xd5, + 0xd6, 0xbf, 0xf9, 0x62, 0xfd, 0xa3, 0xa5, 0x59, 0xef, 0xd4, 0x7c, 0x91, 0x10, 0xad, 0x6f, 0x18, + 0xfa, 0xbd, 0x84, 0x6c, 0xcb, 0x6e, 0x3d, 0x5f, 0xb0, 0x5b, 0xbc, 0x7d, 0xe9, 0x57, 0x5a, 0xa3, + 0x3c, 0x30, 0x67, 0x65, 0xff, 0x2f, 0x0b, 0x2a, 0xcb, 0x61, 0xb0, 0xe1, 0x6d, 0x5e, 0x73, 0x9a, + 0x27, 0xf0, 0x7d, 0xea, 0xd0, 0xc7, 0xb8, 0xf3, 0x2e, 0xbc, 0x90, 0xd7, 0x05, 0xd1, 0xb0, 0x79, + 0xba, 0xa7, 0x72, 0x65, 0x41, 0x89, 0x29, 0x0a, 0xc2, 0x8c, 0xd9, 0xec, 0x2b, 0x50, 0x51, 0x04, + 0x68, 0x02, 0xca, 0x77, 0x09, 0xd7, 0x24, 0x2b, 0x98, 0xfe, 0x44, 0xd3, 0xd0, 0xbf, 0xe3, 0xf8, + 0x2d, 0xb1, 0x78, 0x31, 0xff, 0xf3, 0xb1, 0xd2, 0x45, 0xcb, 0xfe, 0x01, 0x5b, 0x81, 0xa2, 0x92, + 0x95, 0x60, 0x47, 0x08, 0x87, 0x2f, 0x5a, 0x30, 0xed, 0x77, 0x10, 0x4a, 0x62, 0x4c, 0x8e, 0x22, + 0xce, 0x1e, 0x13, 0xcd, 0x9e, 0xee, 0x84, 0xc5, 0x1d, 0x6b, 0xa3, 0xb2, 0x3e, 0x6c, 0xd2, 0x09, + 0xe7, 0xf8, 0xac, 0xe9, 0x42, 0x07, 0xb8, 0x21, 0x60, 0x58, 0x61, 0xed, 0x3f, 0xb7, 0x60, 0x5a, + 0xf5, 0xe3, 0x0a, 0xd9, 0xad, 0x13, 0x9f, 0x34, 0x92, 0x30, 0x7a, 0x58, 0x7a, 0xf2, 0x38, 0xff, + 0x26, 0x5c, 0x26, 0x0d, 0x0b, 0x06, 0xe5, 0x2b, 0x64, 0x97, 0x7f, 0x20, 0xbd, 0xa3, 0xe5, 0x43, + 0x3b, 0xfa, 0x5b, 0x16, 0x8c, 0xaa, 0x8e, 0x9e, 0xc0, 0x92, 0xbb, 0x6a, 0x2e, 0xb9, 0x9f, 0x2b, + 0x38, 0x5f, 0xbb, 0x2c, 0xb6, 0xbf, 0x5d, 0xa2, 0x62, 0x43, 0xd0, 0xd4, 0xa2, 0x90, 0x0e, 0x12, + 0x95, 0xf8, 0x0f, 0xc9, 0x57, 0xea, 0xad, 0xb3, 0x57, 0xc8, 0xee, 0x7a, 0x48, 0xb5, 0x89, 0xce, + 0x9d, 0x35, 0x3e, 0x6a, 0xdf, 0xa1, 0x1f, 0xf5, 0xf7, 0x4b, 0x70, 0x4a, 0x0d, 0x8b, 0xb1, 0x4b, + 0xff, 0x4c, 0x0e, 0xcc, 0x0b, 0x30, 0xec, 0x92, 0x0d, 0xa7, 0xe5, 0x27, 0xea, 0x34, 0xd1, 0xcf, + 0x8f, 0x99, 0xd5, 0x14, 0x8c, 0x75, 0x9a, 0x1e, 0xc6, 0xf2, 0xeb, 0xc3, 0x4c, 0x9e, 0x27, 0x0e, + 0x9d, 0xf5, 0x54, 0xc3, 0xd3, 0x8e, 0x87, 0x23, 0xfa, 0xf1, 0x50, 0x1c, 0x05, 0x9f, 0x84, 0x7e, + 0x6f, 0x9b, 0xee, 0xf9, 0x25, 0x73, 0x2b, 0x5f, 0xa3, 0x40, 0xcc, 0x71, 0xe8, 0x29, 0x18, 0x6c, + 0x84, 0xdb, 0xdb, 0x4e, 0xe0, 0xce, 0x94, 0x99, 0xce, 0x39, 0x4c, 0xd5, 0x82, 0x65, 0x0e, 0xc2, + 0x12, 0x87, 0x1e, 0x83, 0x3e, 0x27, 0xda, 0x8c, 0x67, 0xfa, 0x18, 0xcd, 0x10, 0xad, 0x69, 0x31, + 0xda, 0x8c, 0x31, 0x83, 0x52, 0x5d, 0xf2, 0x5e, 0x18, 0xdd, 0xf5, 0x82, 0xcd, 0xaa, 0x17, 0x31, + 0xc5, 0x50, 0xd3, 0x25, 0x6f, 0x2b, 0x0c, 0xd6, 0xa8, 0x50, 0x0d, 0xfa, 0x9b, 0x61, 0x94, 0xc4, + 0x33, 0x03, 0x6c, 0xe0, 0x9f, 0xcb, 0x5d, 0x7e, 0xbc, 0xdf, 0xb5, 0x30, 0x4a, 0xd2, 0xae, 0xd0, + 0x7f, 0x31, 0xe6, 0x8c, 0xd0, 0x32, 0x94, 0x49, 0xb0, 0x33, 0x33, 0xc8, 0xf8, 0x7d, 0xe8, 0x70, + 0x7e, 0x2b, 0xc1, 0xce, 0x2d, 0x27, 0x4a, 0xe5, 0xd5, 0x4a, 0xb0, 0x83, 0x69, 0x69, 0xd4, 0x80, + 0x8a, 0x34, 0x61, 0xc5, 0x33, 0x43, 0x45, 0xa6, 0x22, 0x16, 0xe4, 0x98, 0xbc, 0xd7, 0xf2, 0x22, + 0xb2, 0x4d, 0x82, 0x24, 0x4e, 0x0f, 0x56, 0x12, 0x1b, 0xe3, 0x94, 0x2f, 0x6a, 0xc0, 0x08, 0xd7, + 0x3f, 0xaf, 0x85, 0xad, 0x20, 0x89, 0x67, 0x2a, 0xac, 0xc9, 0x39, 0x96, 0x8b, 0x5b, 0x69, 0x89, + 0xa5, 0x69, 0xc1, 0x7e, 0x44, 0x03, 0xc6, 0xd8, 0x60, 0x8a, 0xde, 0x82, 0x51, 0xdf, 0xdb, 0x21, + 0x01, 0x89, 0xe3, 0x5a, 0x14, 0xde, 0x21, 0x33, 0xc0, 0x7a, 0xf3, 0x64, 0xde, 0x29, 0x3e, 0xbc, + 0x43, 0x96, 0x26, 0xf7, 0xf7, 0xe6, 0x46, 0xaf, 0xea, 0xa5, 0xb1, 0xc9, 0x0c, 0xbd, 0x0d, 0x63, + 0x54, 0xd9, 0xf5, 0x52, 0xf6, 0xc3, 0xc5, 0xd9, 0xa3, 0xfd, 0xbd, 0xb9, 0x31, 0x6c, 0x14, 0xc7, + 0x19, 0x76, 0x68, 0x1d, 0x2a, 0xbe, 0xb7, 0x41, 0x1a, 0xbb, 0x0d, 0x9f, 0xcc, 0x8c, 0x30, 0xde, + 0x39, 0x8b, 0xf3, 0xaa, 0x24, 0xe7, 0x07, 0x0c, 0xf5, 0x17, 0xa7, 0x8c, 0xd0, 0x2d, 0x38, 0x9d, + 0x90, 0x68, 0xdb, 0x0b, 0x1c, 0xba, 0xa8, 0x84, 0xf6, 0xcb, 0x4c, 0x25, 0xa3, 0x6c, 0xd6, 0x9e, + 0x11, 0x03, 0x7b, 0x7a, 0xbd, 0x23, 0x15, 0xee, 0x52, 0x1a, 0xdd, 0x80, 0x71, 0xb6, 0x9e, 0x6a, + 0x2d, 0xdf, 0xaf, 0x85, 0xbe, 0xd7, 0xd8, 0x9d, 0x19, 0x63, 0x0c, 0x9f, 0x92, 0x06, 0x90, 0x35, + 0x13, 0x4d, 0x0f, 0x86, 0xe9, 0x3f, 0x9c, 0x2d, 0x8d, 0x7c, 0x18, 0x8f, 0x49, 0xa3, 0x15, 0x79, + 0xc9, 0x2e, 0x9d, 0xfb, 0xe4, 0x7e, 0x32, 0x33, 0x5e, 0xe4, 0xa0, 0x5b, 0x37, 0x0b, 0x71, 0xeb, + 0x53, 0x06, 0x88, 0xb3, 0xac, 0xa9, 0xa8, 0x88, 0x13, 0xd7, 0x0b, 0x66, 0x26, 0x98, 0x04, 0x52, + 0xeb, 0xab, 0x4e, 0x81, 0x98, 0xe3, 0x98, 0xfd, 0x80, 0xfe, 0xb8, 0x41, 0xa5, 0xf4, 0x24, 0x23, + 0x4c, 0xed, 0x07, 0x12, 0x81, 0x53, 0x1a, 0xaa, 0x1a, 0x24, 0xc9, 0xee, 0x0c, 0x62, 0xa4, 0x6a, + 0xa9, 0xad, 0xaf, 0x7f, 0x0a, 0x53, 0x38, 0xba, 0x05, 0x83, 0x24, 0xd8, 0x59, 0x8d, 0xc2, 0xed, + 0x99, 0xa9, 0x22, 0x32, 0x60, 0x85, 0x13, 0xf3, 0xfd, 0x23, 0x3d, 0xc2, 0x08, 0x30, 0x96, 0xcc, + 0xd0, 0x7d, 0x98, 0xe9, 0xf0, 0x95, 0xf8, 0x47, 0x99, 0x66, 0x1f, 0xe5, 0xe3, 0xa2, 0xec, 0xcc, + 0x7a, 0x17, 0xba, 0x83, 0x43, 0x70, 0xb8, 0x2b, 0x77, 0xfb, 0x0e, 0x8c, 0x29, 0x41, 0xc5, 0xbe, + 0x37, 0x9a, 0x83, 0x7e, 0x2a, 0x8b, 0xe5, 0x81, 0xbe, 0x42, 0x07, 0x95, 0x8a, 0xe8, 0x18, 0x73, + 0x38, 0x1b, 0x54, 0xef, 0xb3, 0x64, 0x69, 0x37, 0x21, 0xfc, 0x60, 0x57, 0xd6, 0x06, 0x55, 0x22, + 0x70, 0x4a, 0x63, 0xff, 0x1f, 0xae, 0x26, 0xa5, 0xd2, 0xb0, 0xc0, 0x4e, 0x70, 0x1e, 0x86, 0xb6, + 0xc2, 0x38, 0xa1, 0xd4, 0xac, 0x8e, 0xfe, 0x54, 0x31, 0xba, 0x2c, 0xe0, 0x58, 0x51, 0xa0, 0x57, + 0x61, 0xb4, 0xa1, 0x57, 0x20, 0xb6, 0xb1, 0x53, 0xa2, 0x88, 0x59, 0x3b, 0x36, 0x69, 0xd1, 0x45, + 0x18, 0x62, 0x56, 0xee, 0x46, 0xe8, 0x8b, 0x23, 0xa4, 0xdc, 0x95, 0x87, 0x6a, 0x02, 0x7e, 0xa0, + 0xfd, 0xc6, 0x8a, 0x9a, 0x1e, 0xc4, 0x69, 0x13, 0xd6, 0x6a, 0x62, 0x03, 0x51, 0x07, 0xf1, 0xcb, + 0x0c, 0x8a, 0x05, 0xd6, 0xfe, 0x17, 0x25, 0x6d, 0x94, 0xe9, 0x01, 0x88, 0xa0, 0x37, 0x61, 0xf0, + 0x9e, 0xe3, 0x25, 0x5e, 0xb0, 0x29, 0xb4, 0x87, 0x17, 0x0b, 0xee, 0x26, 0xac, 0xf8, 0x6d, 0x5e, + 0x94, 0xef, 0x7c, 0xe2, 0x0f, 0x96, 0x0c, 0x29, 0xef, 0xa8, 0x15, 0x04, 0x94, 0x77, 0xa9, 0x77, + 0xde, 0x98, 0x17, 0xe5, 0xbc, 0xc5, 0x1f, 0x2c, 0x19, 0xa2, 0x0d, 0x00, 0x39, 0x97, 0x88, 0x2b, + 0xac, 0xcb, 0x1f, 0xe9, 0x85, 0xfd, 0xba, 0x2a, 0xbd, 0x34, 0x46, 0xf7, 0xda, 0xf4, 0x3f, 0xd6, + 0x38, 0xdb, 0x09, 0x53, 0xc2, 0xda, 0x9b, 0x85, 0x3e, 0x4d, 0x97, 0xb4, 0x13, 0x25, 0xc4, 0x5d, + 0x4c, 0xb2, 0x06, 0xfa, 0xc3, 0x55, 0xec, 0x75, 0x6f, 0x9b, 0xe8, 0xcb, 0x5f, 0x30, 0xc1, 0x29, + 0x3f, 0xfb, 0xbb, 0x65, 0x98, 0xe9, 0xd6, 0x5c, 0x3a, 0x25, 0xc9, 0x7d, 0x2f, 0x59, 0xa6, 0x6a, + 0x92, 0x65, 0x4e, 0xc9, 0x15, 0x01, 0xc7, 0x8a, 0x82, 0xce, 0x8d, 0xd8, 0xdb, 0x94, 0x87, 0xa5, + 0xfe, 0x74, 0x6e, 0xd4, 0x19, 0x14, 0x0b, 0x2c, 0xa5, 0x8b, 0x88, 0x13, 0x8b, 0xcb, 0x0d, 0x6d, + 0x0e, 0x61, 0x06, 0xc5, 0x02, 0xab, 0x1b, 0x44, 0xfa, 0x72, 0x0c, 0x22, 0xc6, 0x10, 0xf5, 0x3f, + 0xd8, 0x21, 0x42, 0x9f, 0x01, 0xd8, 0xf0, 0x02, 0x2f, 0xde, 0x62, 0xdc, 0x07, 0x7a, 0xe6, 0xae, + 0x94, 0xac, 0x55, 0xc5, 0x05, 0x6b, 0x1c, 0xd1, 0xcb, 0x30, 0xac, 0x96, 0xe7, 0x5a, 0x75, 0x66, + 0xd0, 0x34, 0x88, 0xa7, 0xb2, 0xaa, 0x8a, 0x75, 0x3a, 0xfb, 0xdd, 0xec, 0x7c, 0x11, 0xab, 0x42, + 0x1b, 0x5f, 0xab, 0xe8, 0xf8, 0x96, 0x0e, 0x1f, 0x5f, 0xfb, 0x3f, 0x97, 0x61, 0xdc, 0xa8, 0xac, + 0x15, 0x17, 0x90, 0x68, 0xaf, 0xd3, 0x0d, 0xcb, 0x49, 0x88, 0x58, 0x93, 0xe7, 0x7b, 0x59, 0x34, + 0xfa, 0xf6, 0x46, 0xd7, 0x02, 0xe7, 0x84, 0xb6, 0xa0, 0xe2, 0x3b, 0x31, 0x33, 0xa9, 0x10, 0xb1, + 0x16, 0x7b, 0x63, 0x9b, 0x1e, 0x3f, 0x9c, 0x38, 0xd1, 0x76, 0x0f, 0x5e, 0x4b, 0xca, 0x9c, 0xee, + 0xb6, 0x54, 0xd9, 0x91, 0x37, 0x6a, 0xaa, 0x39, 0x54, 0x23, 0xda, 0xc5, 0x1c, 0x87, 0x2e, 0xc2, + 0x48, 0x44, 0xd8, 0x4c, 0x59, 0xa6, 0xfa, 0x1c, 0x9b, 0x7a, 0xfd, 0xa9, 0xe2, 0x87, 0x35, 0x1c, + 0x36, 0x28, 0x53, 0xbd, 0x7f, 0xe0, 0x10, 0xbd, 0xff, 0x19, 0x18, 0x64, 0x3f, 0xd4, 0xac, 0x50, + 0x5f, 0x68, 0x8d, 0x83, 0xb1, 0xc4, 0x67, 0x27, 0xd1, 0x50, 0xc1, 0x49, 0xf4, 0x2c, 0x8c, 0x55, + 0x1d, 0xb2, 0x1d, 0x06, 0x2b, 0x81, 0xdb, 0x0c, 0xbd, 0x20, 0x41, 0x33, 0xd0, 0xc7, 0xf6, 0x13, + 0xbe, 0xde, 0xfb, 0x28, 0x07, 0xdc, 0x47, 0x75, 0x77, 0xfb, 0x4f, 0x4a, 0x30, 0x5a, 0x25, 0x3e, + 0x49, 0x08, 0x3f, 0xf7, 0xc4, 0x68, 0x15, 0xd0, 0x66, 0xe4, 0x34, 0x48, 0x8d, 0x44, 0x5e, 0xe8, + 0xd6, 0x49, 0x23, 0x0c, 0xd8, 0x45, 0x14, 0xdd, 0x20, 0x4f, 0xef, 0xef, 0xcd, 0xa1, 0x4b, 0x6d, + 0x58, 0xdc, 0xa1, 0x04, 0x72, 0x61, 0xb4, 0x19, 0x11, 0xc3, 0x6e, 0x68, 0xe5, 0xab, 0x1a, 0x35, + 0xbd, 0x08, 0xd7, 0x86, 0x0d, 0x10, 0x36, 0x99, 0xa2, 0x4f, 0xc0, 0x44, 0x18, 0x35, 0xb7, 0x9c, + 0xa0, 0x4a, 0x9a, 0x24, 0x70, 0xe9, 0x11, 0x40, 0x58, 0x3b, 0xa6, 0xf7, 0xf7, 0xe6, 0x26, 0x6e, + 0x64, 0x70, 0xb8, 0x8d, 0x1a, 0xbd, 0x09, 0x93, 0xcd, 0x28, 0x6c, 0x3a, 0x9b, 0x6c, 0xca, 0x08, + 0x6d, 0x85, 0xcb, 0xa6, 0xf3, 0xfb, 0x7b, 0x73, 0x93, 0xb5, 0x2c, 0xf2, 0x60, 0x6f, 0x6e, 0x8a, + 0x0d, 0x19, 0x85, 0xa4, 0x48, 0xdc, 0xce, 0xc6, 0x7e, 0x0f, 0x4e, 0x55, 0xc3, 0x7b, 0xc1, 0x3d, + 0x27, 0x72, 0x17, 0x6b, 0x6b, 0x9a, 0x71, 0xe2, 0x0d, 0x79, 0xf8, 0xe5, 0x17, 0x7c, 0x39, 0x3b, + 0x9b, 0xc6, 0x83, 0x1f, 0x3b, 0x56, 0x3d, 0x9f, 0x74, 0x31, 0x87, 0xfc, 0x93, 0x92, 0x51, 0x67, + 0x4a, 0xaf, 0xee, 0x2e, 0xac, 0xae, 0x77, 0x17, 0x9f, 0x86, 0xa1, 0x0d, 0x8f, 0xf8, 0x2e, 0x26, + 0x1b, 0xe2, 0x6b, 0xbd, 0x50, 0xe4, 0x72, 0x67, 0x95, 0x96, 0x91, 0xd6, 0x31, 0x7e, 0x88, 0x5e, + 0x15, 0x6c, 0xb0, 0x62, 0x88, 0x5a, 0x30, 0x21, 0xcf, 0x61, 0x12, 0x2b, 0x16, 0xfb, 0x8b, 0xc5, + 0x8e, 0x79, 0x66, 0x35, 0xec, 0xf3, 0xe2, 0x0c, 0x43, 0xdc, 0x56, 0x05, 0x3d, 0x3f, 0x6f, 0xd3, + 0xad, 0xae, 0x8f, 0x4d, 0x7d, 0x76, 0x7e, 0x66, 0xa6, 0x00, 0x06, 0xb5, 0x7f, 0xdd, 0x82, 0x47, + 0xda, 0x46, 0x4b, 0xd8, 0x49, 0x8e, 0xed, 0x1b, 0x65, 0x8d, 0x15, 0xa5, 0x7c, 0x63, 0x85, 0x7d, + 0x03, 0xa6, 0x57, 0xb6, 0x9b, 0xc9, 0x6e, 0xd5, 0x33, 0xaf, 0x5c, 0x5e, 0x81, 0x81, 0x6d, 0xe2, + 0x7a, 0xad, 0x6d, 0xf1, 0x59, 0xe7, 0xe4, 0xbe, 0x70, 0x8d, 0x41, 0x0f, 0xf6, 0xe6, 0x46, 0xeb, + 0x49, 0x18, 0x39, 0x9b, 0x84, 0x03, 0xb0, 0x20, 0xb7, 0x7f, 0x6c, 0xc1, 0xb8, 0x94, 0x0f, 0x8b, + 0xae, 0x1b, 0x91, 0x38, 0x46, 0xb3, 0x50, 0xf2, 0x9a, 0x82, 0x11, 0x08, 0x46, 0xa5, 0xb5, 0x1a, + 0x2e, 0x79, 0x4d, 0xf4, 0x26, 0x54, 0xf8, 0x4d, 0x5d, 0x3a, 0x39, 0x7a, 0xbc, 0xf9, 0x63, 0x67, + 0xc3, 0x75, 0xc9, 0x03, 0xa7, 0xec, 0xa4, 0x96, 0xcc, 0x76, 0x9e, 0xb2, 0x79, 0x6f, 0x74, 0x59, + 0xc0, 0xb1, 0xa2, 0x40, 0xe7, 0x60, 0x28, 0x08, 0x5d, 0x7e, 0x99, 0xca, 0xd7, 0x29, 0x9b, 0x72, + 0xd7, 0x05, 0x0c, 0x2b, 0xac, 0xfd, 0x15, 0x0b, 0x46, 0x64, 0x1f, 0x0b, 0x2a, 0xec, 0x74, 0x91, + 0xa4, 0xca, 0x7a, 0xba, 0x48, 0xa8, 0xc2, 0xcd, 0x30, 0x86, 0x9e, 0x5d, 0xee, 0x45, 0xcf, 0xb6, + 0x7f, 0xb3, 0x04, 0x63, 0xb2, 0x39, 0xf5, 0xd6, 0x9d, 0x98, 0x50, 0x35, 0xa4, 0xe2, 0xf0, 0xc1, + 0x27, 0x72, 0x9e, 0x3d, 0x9f, 0x77, 0x16, 0x33, 0xbe, 0x59, 0xaa, 0xe6, 0x2c, 0x4a, 0x3e, 0x38, + 0x65, 0x89, 0x76, 0x60, 0x32, 0x08, 0x13, 0xb6, 0xbd, 0x29, 0x7c, 0xb1, 0x9b, 0x8e, 0x6c, 0x3d, + 0x8f, 0x8a, 0x7a, 0x26, 0xaf, 0x67, 0xf9, 0xe1, 0xf6, 0x2a, 0xd0, 0x0d, 0x69, 0x63, 0x2a, 0xb3, + 0xba, 0x9e, 0x2d, 0x56, 0x57, 0x77, 0x13, 0x93, 0xfd, 0x7b, 0x16, 0x54, 0x24, 0xd9, 0x49, 0x5c, + 0x79, 0xdd, 0x86, 0xc1, 0x98, 0x7d, 0x22, 0x39, 0x5c, 0xe7, 0x8b, 0x75, 0x81, 0x7f, 0xd7, 0x74, + 0x4f, 0xe7, 0xff, 0x63, 0x2c, 0xb9, 0x31, 0x63, 0xbb, 0xea, 0xc8, 0x43, 0x67, 0x6c, 0x57, 0x2d, + 0xeb, 0x7e, 0xb3, 0x35, 0x6a, 0x58, 0x03, 0xa8, 0x62, 0xda, 0x8c, 0xc8, 0x86, 0x77, 0x3f, 0xab, + 0x98, 0xd6, 0x18, 0x14, 0x0b, 0x2c, 0xda, 0x80, 0x91, 0x86, 0x34, 0x47, 0xa7, 0x22, 0xe4, 0xc3, + 0x05, 0x6d, 0xff, 0xea, 0x1a, 0x89, 0xbb, 0x26, 0x2d, 0x6b, 0x9c, 0xb0, 0xc1, 0x97, 0xca, 0xa9, + 0xf4, 0xa6, 0xbc, 0x5c, 0xd0, 0x70, 0x13, 0x91, 0x24, 0xad, 0xa1, 0xeb, 0x25, 0xb9, 0xfd, 0x0d, + 0x0b, 0x06, 0xb8, 0xfd, 0xb2, 0x98, 0x11, 0x58, 0xbb, 0x20, 0x4b, 0xc7, 0xf3, 0x16, 0x05, 0x8a, + 0xfb, 0x32, 0x74, 0x1b, 0x2a, 0xec, 0x07, 0xb3, 0xc5, 0x94, 0x8b, 0xf8, 0x69, 0xf1, 0xfa, 0xf5, + 0xa6, 0xde, 0x92, 0x0c, 0x70, 0xca, 0xcb, 0xfe, 0x7e, 0x99, 0x8a, 0xbe, 0x94, 0xd4, 0xd8, 0xdb, + 0xad, 0x93, 0xd8, 0xdb, 0x4b, 0xc7, 0xbf, 0xb7, 0xbf, 0x07, 0xe3, 0x0d, 0xed, 0x82, 0x2e, 0xfd, + 0xe2, 0x17, 0x0a, 0x4e, 0x2b, 0xed, 0x56, 0x8f, 0xdb, 0xeb, 0x96, 0x4d, 0x76, 0x38, 0xcb, 0x1f, + 0x11, 0x18, 0xe1, 0xf3, 0x41, 0xd4, 0xd7, 0xc7, 0xea, 0x5b, 0x28, 0x32, 0xc3, 0xf4, 0xca, 0xd8, + 0x2c, 0xae, 0x6b, 0x8c, 0xb0, 0xc1, 0xd6, 0xfe, 0xd5, 0x7e, 0xe8, 0x5f, 0xd9, 0x21, 0x41, 0x72, + 0x02, 0xa2, 0x6e, 0x1b, 0xc6, 0xbc, 0x60, 0x27, 0xf4, 0x77, 0x88, 0xcb, 0xf1, 0x47, 0xdb, 0xde, + 0x4f, 0x8b, 0x4a, 0xc6, 0xd6, 0x0c, 0x66, 0x38, 0xc3, 0xfc, 0x38, 0x2c, 0x05, 0xaf, 0xc3, 0x00, + 0x9f, 0x19, 0xc2, 0x4c, 0x90, 0x63, 0xcf, 0x67, 0x03, 0x2b, 0x56, 0x50, 0x6a, 0xcf, 0xe0, 0x57, + 0x09, 0x82, 0x11, 0x7a, 0x17, 0xc6, 0x36, 0xbc, 0x28, 0x4e, 0xe8, 0x61, 0x3f, 0x4e, 0x9c, 0xed, + 0xe6, 0x11, 0x6c, 0x04, 0x6a, 0x44, 0x56, 0x0d, 0x4e, 0x38, 0xc3, 0x19, 0x6d, 0xc2, 0x28, 0x3d, + 0xa2, 0xa6, 0x55, 0x0d, 0xf6, 0x5c, 0x95, 0x32, 0x11, 0x5e, 0xd5, 0x19, 0x61, 0x93, 0x2f, 0x15, + 0x49, 0x0d, 0x76, 0xa4, 0x1d, 0x62, 0xda, 0x8d, 0x12, 0x49, 0xfc, 0x2c, 0xcb, 0x71, 0x54, 0xb2, + 0x31, 0x4f, 0x99, 0x8a, 0x29, 0xd9, 0x52, 0x7f, 0x18, 0xfb, 0x5b, 0x74, 0x2f, 0xa6, 0x63, 0x78, + 0x02, 0xdb, 0xd7, 0x65, 0x73, 0xfb, 0x7a, 0xb2, 0xc0, 0x97, 0xed, 0xb2, 0x75, 0xbd, 0x03, 0xc3, + 0xda, 0x87, 0x47, 0x0b, 0x50, 0x69, 0x48, 0x67, 0x0e, 0x21, 0xc5, 0x95, 0x2a, 0xa5, 0xbc, 0x3c, + 0x70, 0x4a, 0x43, 0xc7, 0x85, 0xaa, 0xa0, 0x59, 0xd7, 0x2f, 0xaa, 0xa0, 0x62, 0x86, 0xb1, 0x5f, + 0x04, 0x58, 0xb9, 0x4f, 0x1a, 0x8b, 0xfc, 0x88, 0xa7, 0xdd, 0xef, 0x59, 0xdd, 0xef, 0xf7, 0xec, + 0x6f, 0x5a, 0x30, 0xb6, 0xba, 0x6c, 0xe8, 0xf4, 0xf3, 0x00, 0x5c, 0x37, 0xbe, 0x7d, 0xfb, 0xba, + 0xb4, 0x5f, 0x73, 0x23, 0xa3, 0x82, 0x62, 0x8d, 0x02, 0x3d, 0x0a, 0x65, 0xbf, 0x15, 0x08, 0x95, + 0x75, 0x70, 0x7f, 0x6f, 0xae, 0x7c, 0xb5, 0x15, 0x60, 0x0a, 0xd3, 0x7c, 0xac, 0xca, 0x85, 0x7d, + 0xac, 0xf2, 0xbd, 0x8d, 0xbf, 0x56, 0x86, 0x89, 0x55, 0x9f, 0xdc, 0x37, 0x5a, 0xfd, 0x34, 0x0c, + 0xb8, 0x91, 0xb7, 0x43, 0xa2, 0xac, 0x22, 0x50, 0x65, 0x50, 0x2c, 0xb0, 0x85, 0xdd, 0xbe, 0xde, + 0x6e, 0xdf, 0xc8, 0x8f, 0xcf, 0xe5, 0x2d, 0xb7, 0xcf, 0x68, 0x03, 0x06, 0xf9, 0x7d, 0x70, 0x3c, + 0xd3, 0xcf, 0xa6, 0xe2, 0xab, 0x87, 0x37, 0x26, 0x3b, 0x3e, 0xf3, 0xc2, 0xbe, 0xc2, 0x1d, 0x6e, + 0x94, 0x2c, 0x13, 0x50, 0x2c, 0x99, 0xcf, 0x7e, 0x0c, 0x46, 0x74, 0xca, 0x9e, 0x3c, 0x6f, 0xfe, + 0xaa, 0x05, 0x53, 0xab, 0x7e, 0xd8, 0xb8, 0x9b, 0xf1, 0xcb, 0x7b, 0x19, 0x86, 0xe9, 0x62, 0x8a, + 0x0d, 0xa7, 0x55, 0xc3, 0x3b, 0x57, 0xa0, 0xb0, 0x4e, 0xa7, 0x15, 0xbb, 0x79, 0x73, 0xad, 0xda, + 0xc9, 0xa9, 0x57, 0xa0, 0xb0, 0x4e, 0x67, 0xff, 0x81, 0x05, 0x8f, 0x5f, 0x5a, 0x5e, 0xa9, 0x91, + 0x28, 0xf6, 0xe2, 0x84, 0x04, 0x49, 0x9b, 0x5f, 0x31, 0xd5, 0x19, 0x5d, 0xad, 0x29, 0xa9, 0xce, + 0x58, 0x65, 0xad, 0x10, 0xd8, 0x87, 0xc5, 0xb9, 0xfe, 0x1b, 0x16, 0x4c, 0x5d, 0xf2, 0x12, 0x4c, + 0x9a, 0x61, 0xd6, 0x15, 0x38, 0x22, 0xcd, 0x30, 0xf6, 0x92, 0x30, 0xda, 0xcd, 0xba, 0x02, 0x63, + 0x85, 0xc1, 0x1a, 0x15, 0xaf, 0x79, 0xc7, 0x8b, 0x69, 0x4b, 0x4b, 0xe6, 0x51, 0x17, 0x0b, 0x38, + 0x56, 0x14, 0xb4, 0x63, 0xae, 0x17, 0x31, 0x95, 0x61, 0x57, 0xac, 0x60, 0xd5, 0xb1, 0xaa, 0x44, + 0xe0, 0x94, 0xc6, 0xfe, 0x7b, 0x16, 0x9c, 0xba, 0xe4, 0xb7, 0xe2, 0x84, 0x44, 0x1b, 0xb1, 0xd1, + 0xd8, 0x17, 0xa1, 0x42, 0xa4, 0x72, 0x2f, 0xda, 0xaa, 0x36, 0x0d, 0xa5, 0xf5, 0x73, 0x3f, 0x64, + 0x45, 0x57, 0xc0, 0xdd, 0xb5, 0x37, 0xe7, 0xcc, 0xdf, 0x2e, 0xc1, 0xe8, 0xe5, 0xf5, 0xf5, 0xda, + 0x25, 0x92, 0x08, 0x29, 0x99, 0x6f, 0x94, 0xc2, 0xda, 0x89, 0xfc, 0x30, 0xe5, 0xa7, 0x95, 0x78, + 0xfe, 0x3c, 0x0f, 0x17, 0x99, 0x5f, 0x0b, 0x92, 0x1b, 0x51, 0x3d, 0x89, 0xbc, 0x60, 0xb3, 0xe3, + 0x19, 0x5e, 0xca, 0xf2, 0x72, 0x37, 0x59, 0x8e, 0x5e, 0x84, 0x01, 0x16, 0xaf, 0x22, 0x95, 0x8f, + 0x0f, 0x2a, 0x3d, 0x81, 0x41, 0x0f, 0xf6, 0xe6, 0x2a, 0x37, 0xf1, 0x1a, 0xff, 0x83, 0x05, 0x29, + 0x7a, 0x1b, 0x86, 0xb7, 0x92, 0xa4, 0x79, 0x99, 0x38, 0x2e, 0x89, 0xa4, 0x9c, 0x38, 0x77, 0xb8, + 0x9c, 0xa0, 0xc3, 0xc1, 0x0b, 0xa4, 0x4b, 0x2b, 0x85, 0xc5, 0x58, 0xe7, 0x68, 0xd7, 0x01, 0x52, + 0xdc, 0x03, 0x3a, 0x83, 0xd8, 0xbf, 0x58, 0x82, 0xc1, 0xcb, 0x4e, 0xe0, 0xfa, 0x24, 0x42, 0xab, + 0xd0, 0x47, 0xee, 0x93, 0x86, 0xd8, 0xc8, 0x73, 0x9a, 0x9e, 0x6e, 0x76, 0xdc, 0xae, 0x46, 0xff, + 0x63, 0x56, 0x1e, 0x61, 0x18, 0xa4, 0xed, 0xbe, 0xa4, 0xbc, 0xc4, 0x9f, 0xcb, 0x1f, 0x05, 0x35, + 0x29, 0xf8, 0x4e, 0x29, 0x40, 0x58, 0x32, 0x62, 0x16, 0xa8, 0x46, 0xb3, 0x4e, 0xc5, 0x5b, 0x52, + 0xec, 0x64, 0xb7, 0xbe, 0x5c, 0xe3, 0xe4, 0x82, 0x2f, 0xb7, 0x40, 0x49, 0x20, 0x4e, 0xd9, 0xd9, + 0x17, 0x61, 0x9a, 0xdd, 0xc7, 0x3a, 0xc9, 0x96, 0xb1, 0x6a, 0x72, 0xa7, 0xa7, 0xfd, 0xed, 0x3e, + 0x98, 0x5c, 0xab, 0x2f, 0xd7, 0x4d, 0xdb, 0xe1, 0x45, 0x18, 0xe1, 0x1b, 0x34, 0x9d, 0x74, 0x8e, + 0x2f, 0xca, 0xab, 0x3b, 0x84, 0x75, 0x0d, 0x87, 0x0d, 0x4a, 0xf4, 0x38, 0x94, 0xbd, 0xf7, 0x82, + 0xac, 0x57, 0xdf, 0xda, 0xeb, 0xd7, 0x31, 0x85, 0x53, 0x34, 0xdd, 0xeb, 0xb9, 0x90, 0x53, 0x68, + 0xb5, 0xdf, 0xbf, 0x06, 0x63, 0x5e, 0xdc, 0x88, 0xbd, 0xb5, 0x80, 0x4a, 0x00, 0xa7, 0x21, 0xa7, + 0x6f, 0xaa, 0x9c, 0xd3, 0xa6, 0x2a, 0x2c, 0xce, 0x50, 0x6b, 0x12, 0xb7, 0xbf, 0xb0, 0xbe, 0x90, + 0xeb, 0x2e, 0x4e, 0x55, 0xa1, 0x26, 0xeb, 0x5d, 0xcc, 0x7c, 0x84, 0x84, 0x2a, 0xc4, 0x3b, 0x1c, + 0x63, 0x89, 0x43, 0x97, 0x60, 0xb2, 0xb1, 0xe5, 0x34, 0x17, 0x5b, 0xc9, 0x56, 0xd5, 0x8b, 0x1b, + 0xe1, 0x0e, 0x89, 0x76, 0x99, 0xaa, 0x3a, 0x94, 0x5a, 0x9f, 0x14, 0x62, 0xf9, 0xf2, 0x62, 0x8d, + 0x52, 0xe2, 0xf6, 0x32, 0xa6, 0xea, 0x00, 0xc7, 0xa0, 0x3a, 0x2c, 0xc2, 0xb8, 0xac, 0xb5, 0x4e, + 0x62, 0x26, 0xcc, 0x87, 0x59, 0x3b, 0x55, 0xd4, 0x8d, 0x00, 0xab, 0x56, 0x66, 0xe9, 0xed, 0x77, + 0xa1, 0xa2, 0x7c, 0xda, 0xa4, 0x2b, 0xa7, 0xd5, 0xc5, 0x95, 0x33, 0x5f, 0x0c, 0x4b, 0x2b, 0x77, + 0xb9, 0xa3, 0x95, 0xfb, 0x9f, 0x59, 0x90, 0x3a, 0xe5, 0x20, 0x0c, 0x95, 0x66, 0xc8, 0x6e, 0xc4, + 0x22, 0x79, 0xf5, 0xfc, 0x54, 0xce, 0xea, 0xe4, 0xd2, 0x81, 0x0f, 0x48, 0x4d, 0x96, 0xc5, 0x29, + 0x1b, 0x74, 0x15, 0x06, 0x9b, 0x11, 0xa9, 0x27, 0x2c, 0x0e, 0xa3, 0x07, 0x8e, 0x7c, 0x22, 0xf0, + 0x92, 0x58, 0xb2, 0xb0, 0xff, 0x95, 0x05, 0x70, 0xd5, 0xdb, 0xf6, 0x12, 0xec, 0x04, 0x9b, 0xe4, + 0x04, 0x8e, 0xc0, 0xd7, 0xa1, 0x2f, 0x6e, 0x92, 0x46, 0xb1, 0x3b, 0xcd, 0xb4, 0x65, 0xf5, 0x26, + 0x69, 0xa4, 0x9f, 0x83, 0xfe, 0xc3, 0x8c, 0x8f, 0xfd, 0x3d, 0x80, 0xb1, 0x94, 0x8c, 0x1e, 0x43, + 0xd0, 0xf3, 0x46, 0x00, 0xc2, 0xa3, 0x99, 0x00, 0x84, 0x0a, 0xa3, 0xd6, 0x62, 0x0e, 0x12, 0x28, + 0x6f, 0x3b, 0xf7, 0xc5, 0xa9, 0xe7, 0xe5, 0xa2, 0x0d, 0xa2, 0x35, 0xcd, 0x5f, 0x73, 0xee, 0x73, + 0x25, 0xf3, 0x39, 0x39, 0x91, 0xae, 0x39, 0xf7, 0x0f, 0xf8, 0xcd, 0x25, 0x93, 0x4e, 0xf4, 0x98, + 0xf5, 0x85, 0x3f, 0x4d, 0xff, 0xb3, 0x0d, 0x83, 0x56, 0xc7, 0x6a, 0xf5, 0x02, 0x61, 0xb4, 0xed, + 0xb1, 0x56, 0x2f, 0xc8, 0xd6, 0xea, 0x05, 0x05, 0x6a, 0xf5, 0x98, 0xa7, 0xee, 0xa0, 0xb8, 0xeb, + 0x60, 0x6e, 0x8e, 0xc3, 0x17, 0x3e, 0xda, 0x53, 0xd5, 0xe2, 0xd2, 0x84, 0x57, 0xbf, 0x20, 0x35, + 0x6b, 0x01, 0xcd, 0x6d, 0x82, 0xac, 0x1a, 0xfd, 0x7d, 0x0b, 0xc6, 0xc4, 0x6f, 0x4c, 0xde, 0x6b, + 0x91, 0x38, 0x11, 0x3b, 0xf8, 0x27, 0x8e, 0xd2, 0x1a, 0xc1, 0x82, 0x37, 0xea, 0x23, 0x52, 0xfc, + 0x9a, 0xc8, 0xdc, 0xb6, 0x65, 0xda, 0x83, 0xbe, 0x67, 0xc1, 0xf4, 0xb6, 0x73, 0x9f, 0xd7, 0xc8, + 0x61, 0xd8, 0x49, 0xbc, 0x50, 0xb8, 0x72, 0xae, 0xf6, 0x3a, 0x4f, 0xda, 0x18, 0xf1, 0xe6, 0x4a, + 0x2f, 0xad, 0xe9, 0x4e, 0x24, 0xb9, 0x8d, 0xee, 0xd8, 0xc2, 0xd9, 0x0d, 0x18, 0x92, 0x13, 0xb3, + 0xc3, 0x99, 0xa6, 0xaa, 0x2b, 0x2a, 0x39, 0x16, 0x84, 0x79, 0x69, 0x07, 0x9c, 0x7f, 0xbd, 0xe5, + 0x04, 0x89, 0x97, 0xec, 0x6a, 0x67, 0x20, 0x56, 0x8f, 0x98, 0x8a, 0xc7, 0x5a, 0xcf, 0xbb, 0x30, + 0xa2, 0xcf, 0xbb, 0x63, 0xad, 0xeb, 0x3d, 0x98, 0xea, 0x30, 0xab, 0x8e, 0xb5, 0xca, 0x7b, 0xf0, + 0x68, 0xd7, 0xf9, 0x71, 0x9c, 0x15, 0xdb, 0xbf, 0x6d, 0xe9, 0xa2, 0xf3, 0x04, 0x2c, 0x4c, 0xd7, + 0x4c, 0x0b, 0xd3, 0xb9, 0xa2, 0x6b, 0xa8, 0x8b, 0x99, 0x69, 0x43, 0x6f, 0x3e, 0xdd, 0x12, 0xd0, + 0x3a, 0x0c, 0xf8, 0x14, 0x22, 0x2f, 0xf8, 0xce, 0xf7, 0xb2, 0x4a, 0x53, 0x0d, 0x8c, 0xc1, 0x63, + 0x2c, 0x78, 0xd9, 0xdf, 0xb3, 0xa0, 0xef, 0x2f, 0x31, 0x3c, 0xaa, 0x8d, 0xb5, 0x88, 0xf2, 0x9f, + 0xc7, 0xce, 0xbd, 0x95, 0xfb, 0x09, 0x09, 0x62, 0xa6, 0x70, 0x77, 0x73, 0x51, 0x18, 0xa6, 0x55, + 0x49, 0x8f, 0x93, 0x57, 0x61, 0xd4, 0x77, 0xee, 0x10, 0x5f, 0x5a, 0xc7, 0xb3, 0xc7, 0xd3, 0xab, + 0x3a, 0x12, 0x9b, 0xb4, 0xb4, 0xf0, 0x86, 0x7e, 0x79, 0x20, 0x94, 0x24, 0x55, 0xd8, 0xb8, 0x59, + 0xc0, 0x26, 0x2d, 0x3d, 0x1f, 0xdd, 0x73, 0x92, 0xc6, 0x96, 0x38, 0xba, 0xaa, 0xe6, 0xde, 0xa6, + 0x40, 0xcc, 0x71, 0x54, 0xd9, 0x93, 0x33, 0xf6, 0x16, 0x89, 0x98, 0xb2, 0xc7, 0x95, 0x6a, 0xa5, + 0xec, 0x61, 0x13, 0x8d, 0xb3, 0xf4, 0xe8, 0x63, 0x30, 0x46, 0x07, 0x27, 0x6c, 0x25, 0xd2, 0x9f, + 0xa6, 0x9f, 0xf9, 0xd3, 0x30, 0x77, 0xec, 0x75, 0x03, 0x83, 0x33, 0x94, 0xf6, 0xdb, 0x30, 0x75, + 0x35, 0x74, 0xdc, 0x25, 0xc7, 0x77, 0x82, 0x06, 0x89, 0xd6, 0x82, 0xcd, 0xdc, 0xbb, 0x7a, 0xfd, + 0x3e, 0xbd, 0x94, 0x77, 0x9f, 0x6e, 0x47, 0x80, 0xf4, 0x0a, 0x84, 0x27, 0xd8, 0x5b, 0x30, 0xe8, + 0xf1, 0xaa, 0xc4, 0xb4, 0x7d, 0x21, 0x4f, 0x83, 0x6e, 0x6b, 0xa3, 0xe6, 0xd9, 0xc4, 0x01, 0x58, + 0xb2, 0xa4, 0xe7, 0xad, 0x4e, 0x2a, 0x77, 0xfe, 0x91, 0xd6, 0xfe, 0xeb, 0x16, 0x8c, 0x5f, 0xcf, + 0xc4, 0xef, 0x3e, 0x0d, 0x03, 0x3c, 0x0b, 0x44, 0xd6, 0x9e, 0x54, 0x67, 0x50, 0x2c, 0xb0, 0x0f, + 0xdc, 0x9c, 0xf1, 0x2b, 0x25, 0xa8, 0x30, 0x9f, 0xe2, 0x26, 0x3d, 0x3b, 0x1d, 0xbf, 0x9a, 0x7a, + 0xcd, 0x50, 0x53, 0x73, 0x8e, 0xd4, 0xaa, 0x61, 0xdd, 0xb4, 0x54, 0x74, 0x53, 0xc5, 0xb5, 0x16, + 0x3a, 0x4d, 0xa7, 0x0c, 0x79, 0xec, 0xe3, 0x98, 0x19, 0x06, 0x2b, 0x63, 0x5e, 0xd9, 0x0d, 0xb7, + 0xa2, 0x7d, 0xe8, 0x6e, 0xb8, 0x55, 0xcb, 0xba, 0x08, 0xa7, 0x9a, 0xd6, 0x78, 0x26, 0xbe, 0x7f, + 0x9e, 0x79, 0x8a, 0x3a, 0xbe, 0xf7, 0x59, 0xa2, 0xc2, 0xc3, 0xe7, 0x84, 0xe7, 0xa7, 0x80, 0x1e, + 0x30, 0x39, 0x23, 0xfe, 0xf1, 0xe8, 0xff, 0xb4, 0x88, 0x7d, 0x19, 0xc6, 0x33, 0x43, 0x87, 0x5e, + 0x86, 0xfe, 0xe6, 0x96, 0x13, 0x93, 0x8c, 0xd3, 0x4e, 0x7f, 0x8d, 0x02, 0x0f, 0xf6, 0xe6, 0xc6, + 0x54, 0x01, 0x06, 0xc1, 0x9c, 0xda, 0xfe, 0x62, 0x09, 0xfa, 0xae, 0x87, 0xee, 0x49, 0x4c, 0xb5, + 0xcb, 0xc6, 0x54, 0x7b, 0x3a, 0x3f, 0x77, 0x48, 0xd7, 0x59, 0x56, 0xcb, 0xcc, 0xb2, 0x73, 0x05, + 0x78, 0x1d, 0x3e, 0xc1, 0xb6, 0x61, 0x98, 0xe5, 0x26, 0x11, 0x5e, 0x4b, 0x2f, 0x1a, 0x27, 0xab, + 0xb9, 0xcc, 0xc9, 0x6a, 0x5c, 0x23, 0xd5, 0xce, 0x57, 0xcf, 0xc0, 0xa0, 0xf0, 0x92, 0xc9, 0xfa, + 0xc9, 0x0a, 0x5a, 0x2c, 0xf1, 0xf6, 0xbf, 0x2c, 0x83, 0x91, 0x0b, 0x05, 0xfd, 0x9e, 0x05, 0xf3, + 0x11, 0x8f, 0x39, 0x72, 0xab, 0xad, 0xc8, 0x0b, 0x36, 0xeb, 0x8d, 0x2d, 0xe2, 0xb6, 0x7c, 0x2f, + 0xd8, 0x5c, 0xdb, 0x0c, 0x42, 0x05, 0x5e, 0xb9, 0x4f, 0x1a, 0x2d, 0x66, 0x94, 0x2e, 0x9c, 0x82, + 0x45, 0xdd, 0x10, 0x5f, 0xd8, 0xdf, 0x9b, 0x9b, 0xc7, 0x3d, 0xd5, 0x82, 0x7b, 0x6c, 0x15, 0xfa, + 0x63, 0x0b, 0x16, 0x78, 0x36, 0x90, 0xe2, 0x3d, 0x29, 0x74, 0x22, 0xad, 0x49, 0xa6, 0x29, 0xbb, + 0x75, 0x12, 0x6d, 0x2f, 0xbd, 0x22, 0x06, 0x79, 0xa1, 0xd6, 0x5b, 0xad, 0xb8, 0xd7, 0x66, 0xda, + 0xff, 0xa6, 0x0c, 0xa3, 0x74, 0x3c, 0xd3, 0x0c, 0x00, 0x2f, 0x1b, 0xd3, 0xe4, 0x89, 0xcc, 0x34, + 0x99, 0x34, 0x88, 0x1f, 0x4c, 0xf0, 0x7f, 0x0c, 0x93, 0xbe, 0x13, 0x27, 0x97, 0x89, 0x13, 0x25, + 0x77, 0x88, 0xc3, 0x2e, 0x62, 0xb3, 0x4e, 0x1e, 0x05, 0xee, 0x76, 0x95, 0xed, 0xeb, 0x6a, 0x96, + 0x19, 0x6e, 0xe7, 0x8f, 0x76, 0x00, 0xb1, 0x4b, 0xdf, 0xc8, 0x09, 0x62, 0xde, 0x17, 0x4f, 0x18, + 0xb1, 0x7b, 0xab, 0x75, 0x56, 0xd4, 0x8a, 0xae, 0xb6, 0x71, 0xc3, 0x1d, 0x6a, 0xd0, 0xae, 0xf5, + 0xfb, 0x8b, 0x5e, 0xeb, 0x0f, 0xe4, 0x38, 0xa8, 0x7f, 0xc9, 0x82, 0x29, 0xfa, 0x59, 0x4c, 0x67, + 0xe6, 0x18, 0x85, 0x30, 0x4e, 0xa7, 0x9d, 0x4f, 0x12, 0x09, 0x13, 0xeb, 0x2b, 0x47, 0xb3, 0x36, + 0xf9, 0xa4, 0xea, 0xdb, 0x15, 0x93, 0x19, 0xce, 0x72, 0xb7, 0xbf, 0x69, 0x01, 0x73, 0x2f, 0x3c, + 0x81, 0xcd, 0xec, 0x92, 0xb9, 0x99, 0xd9, 0xf9, 0x12, 0xa3, 0xcb, 0x3e, 0xf6, 0x12, 0x4c, 0x50, + 0x6c, 0x2d, 0x0a, 0xef, 0xef, 0x4a, 0x45, 0x3b, 0xdf, 0x9a, 0xfd, 0xa5, 0x12, 0x5f, 0x36, 0x2a, + 0x78, 0x12, 0x7d, 0xd9, 0x82, 0xa1, 0x86, 0xd3, 0x74, 0x1a, 0x3c, 0x93, 0x54, 0x01, 0xeb, 0x8c, + 0x51, 0x7e, 0x7e, 0x59, 0x94, 0xe5, 0x96, 0x85, 0x0f, 0xcb, 0xae, 0x4b, 0x70, 0xae, 0x35, 0x41, + 0x55, 0x3e, 0x7b, 0x17, 0x46, 0x0d, 0x66, 0xc7, 0x7a, 0x0c, 0xfd, 0xb2, 0xc5, 0x85, 0xbe, 0x3a, + 0x2a, 0xdc, 0x83, 0xc9, 0x40, 0xfb, 0x4f, 0xc5, 0x99, 0xd4, 0x8c, 0xe7, 0x8b, 0x8b, 0x75, 0x26, + 0x05, 0x35, 0x57, 0xca, 0x0c, 0x43, 0xdc, 0x5e, 0x87, 0xfd, 0x6b, 0x16, 0x3c, 0xa2, 0x13, 0x6a, + 0xd1, 0xae, 0x79, 0x76, 0xe3, 0x2a, 0x0c, 0x85, 0x4d, 0x12, 0x39, 0xe9, 0xb1, 0xe8, 0x9c, 0x1c, + 0xff, 0x1b, 0x02, 0x7e, 0xb0, 0x37, 0x37, 0xad, 0x73, 0x97, 0x70, 0xac, 0x4a, 0x22, 0x1b, 0x06, + 0xd8, 0xb8, 0xc4, 0x22, 0x4e, 0x99, 0x65, 0x56, 0x62, 0x37, 0x48, 0x31, 0x16, 0x18, 0xfb, 0x6f, + 0x59, 0x7c, 0xba, 0xe9, 0x4d, 0x47, 0x9f, 0x83, 0x89, 0x6d, 0x7a, 0x82, 0x5a, 0xb9, 0xdf, 0x8c, + 0xb8, 0xd5, 0x5b, 0x8e, 0xd8, 0xcb, 0xc5, 0x47, 0x4c, 0xeb, 0xee, 0xd2, 0x8c, 0x68, 0xfd, 0xc4, + 0xb5, 0x0c, 0x5b, 0xdc, 0x56, 0x91, 0xfd, 0x0f, 0x4b, 0x7c, 0xcd, 0x32, 0x1d, 0xee, 0x19, 0x18, + 0x6c, 0x86, 0xee, 0xf2, 0x5a, 0x15, 0x8b, 0xb1, 0x52, 0x42, 0xa7, 0xc6, 0xc1, 0x58, 0xe2, 0xd1, + 0x05, 0x00, 0x72, 0x3f, 0x21, 0x51, 0xe0, 0xf8, 0xea, 0xce, 0x5b, 0xa9, 0x4a, 0x2b, 0x0a, 0x83, + 0x35, 0x2a, 0x5a, 0xa6, 0x19, 0x85, 0x3b, 0x9e, 0xcb, 0xc2, 0x34, 0xca, 0x66, 0x99, 0x9a, 0xc2, + 0x60, 0x8d, 0x8a, 0x9e, 0x5b, 0x5b, 0x41, 0xcc, 0xb7, 0x31, 0xe7, 0x8e, 0x48, 0x04, 0x34, 0x94, + 0x9e, 0x5b, 0x6f, 0xea, 0x48, 0x6c, 0xd2, 0xa2, 0x2b, 0x30, 0x90, 0x38, 0xec, 0x26, 0xb7, 0xbf, + 0x88, 0x5b, 0xcc, 0x3a, 0xa5, 0xd5, 0x33, 0x2f, 0xd1, 0xa2, 0x58, 0xb0, 0xb0, 0xff, 0x53, 0x05, + 0x20, 0xd5, 0xba, 0xd0, 0x17, 0xdb, 0x17, 0xfc, 0x47, 0x8a, 0xaa, 0x6c, 0x0f, 0x6e, 0xb5, 0xa3, + 0xaf, 0x5a, 0x30, 0xec, 0xf8, 0x7e, 0xd8, 0x70, 0x12, 0x36, 0x3c, 0xa5, 0xa2, 0xa2, 0x47, 0xb4, + 0x64, 0x31, 0x2d, 0xcb, 0x1b, 0xf3, 0xa2, 0xbc, 0x5d, 0xd5, 0x30, 0xb9, 0xed, 0xd1, 0x9b, 0x80, + 0x3e, 0x2c, 0xb5, 0x76, 0xfe, 0x85, 0x67, 0xb3, 0x5a, 0x7b, 0x85, 0x09, 0x5c, 0x4d, 0x61, 0x47, + 0x6f, 0x1b, 0x89, 0x73, 0xfa, 0x8a, 0xc4, 0xda, 0x1a, 0x7a, 0x48, 0x5e, 0xce, 0x1c, 0xf4, 0xa6, + 0xee, 0x3f, 0xde, 0x5f, 0x24, 0x98, 0x5d, 0x53, 0x87, 0x73, 0x7c, 0xc7, 0x13, 0x18, 0x77, 0xcd, + 0x9d, 0x57, 0xf8, 0xc0, 0xbd, 0x90, 0x5f, 0x43, 0x66, 0xcb, 0x4e, 0xf7, 0xda, 0x0c, 0x02, 0x67, + 0xab, 0x40, 0x6f, 0x72, 0xef, 0xfe, 0xb5, 0x60, 0x23, 0x14, 0x7e, 0x70, 0xe7, 0x0b, 0x7c, 0xf3, + 0xdd, 0x38, 0x21, 0xdb, 0xb4, 0x4c, 0xba, 0xb9, 0x5e, 0x17, 0x5c, 0xb0, 0xe2, 0x87, 0xd6, 0x61, + 0x80, 0x85, 0x56, 0xc5, 0x33, 0x43, 0x45, 0x2c, 0x71, 0x66, 0x44, 0x71, 0xba, 0x7e, 0xd8, 0xdf, + 0x18, 0x0b, 0x5e, 0xe8, 0xb2, 0xcc, 0x29, 0x10, 0xaf, 0x05, 0x37, 0x63, 0xc2, 0x72, 0x0a, 0x54, + 0x96, 0x3e, 0x94, 0x26, 0x09, 0xe0, 0xf0, 0x8e, 0xa9, 0x03, 0x8d, 0x92, 0x54, 0xb1, 0x11, 0xff, + 0x65, 0x46, 0xc2, 0x19, 0x28, 0xd2, 0x50, 0x33, 0x7f, 0x61, 0x3a, 0xd8, 0xb7, 0x4c, 0x66, 0x38, + 0xcb, 0xfd, 0x44, 0xb7, 0xd4, 0xd9, 0x00, 0x26, 0xb2, 0x8b, 0xf2, 0x58, 0xb7, 0xf0, 0x9f, 0xf4, + 0xc1, 0x98, 0x39, 0x39, 0xd0, 0x02, 0x54, 0x04, 0x13, 0x95, 0xa1, 0x4c, 0xad, 0x81, 0x6b, 0x12, + 0x81, 0x53, 0x1a, 0x96, 0xab, 0x8d, 0x15, 0xd7, 0x3c, 0xa0, 0xd2, 0x5c, 0x6d, 0x0a, 0x83, 0x35, + 0x2a, 0xaa, 0x09, 0xdf, 0x09, 0xc3, 0x44, 0xed, 0x04, 0x6a, 0xde, 0x2c, 0x31, 0x28, 0x16, 0x58, + 0xba, 0x03, 0xdc, 0xa5, 0x1f, 0xd3, 0x37, 0xad, 0x8a, 0x6a, 0x07, 0xb8, 0xa2, 0x23, 0xb1, 0x49, + 0x4b, 0x77, 0xb4, 0x30, 0x66, 0x13, 0x51, 0xe8, 0xdb, 0xa9, 0x47, 0x59, 0x9d, 0x87, 0x1b, 0x4a, + 0x3c, 0xfa, 0x14, 0x3c, 0xa2, 0xa2, 0x03, 0x31, 0xb7, 0xd2, 0xca, 0x1a, 0x07, 0x8c, 0x23, 0xf3, + 0x23, 0xcb, 0x9d, 0xc9, 0x70, 0xb7, 0xf2, 0xe8, 0x35, 0x18, 0x13, 0xba, 0xb2, 0xe4, 0x38, 0x68, + 0xba, 0x1b, 0x5c, 0x31, 0xb0, 0x38, 0x43, 0x8d, 0xaa, 0x30, 0x41, 0x21, 0x4c, 0x49, 0x95, 0x1c, + 0x78, 0x94, 0xa3, 0xda, 0xea, 0xaf, 0x64, 0xf0, 0xb8, 0xad, 0x04, 0x5a, 0x84, 0x71, 0xae, 0xac, + 0xd0, 0x83, 0x21, 0xfb, 0x0e, 0xc2, 0x79, 0x55, 0x2d, 0x84, 0x1b, 0x26, 0x1a, 0x67, 0xe9, 0xd1, + 0x45, 0x18, 0x71, 0xa2, 0xc6, 0x96, 0x97, 0x90, 0x46, 0xd2, 0x8a, 0x78, 0xc6, 0x0e, 0xcd, 0x5f, + 0x63, 0x51, 0xc3, 0x61, 0x83, 0xd2, 0xfe, 0x2c, 0x4c, 0x75, 0xf0, 0x94, 0xa7, 0x13, 0xc7, 0x69, + 0x7a, 0xb2, 0x4f, 0x19, 0xdf, 0xb0, 0xc5, 0xda, 0x9a, 0xec, 0x8d, 0x46, 0x45, 0x67, 0x27, 0x33, + 0x4f, 0x6b, 0x09, 0x44, 0xd5, 0xec, 0x5c, 0x95, 0x08, 0x9c, 0xd2, 0xd8, 0x7f, 0x51, 0x01, 0xcd, + 0x7a, 0x53, 0xc0, 0x1f, 0xe8, 0x22, 0x8c, 0xc8, 0x9c, 0xb8, 0x5a, 0x2e, 0x4a, 0xd5, 0xcd, 0x4b, + 0x1a, 0x0e, 0x1b, 0x94, 0xb4, 0x6d, 0x81, 0xb4, 0x49, 0x65, 0x3d, 0xd1, 0x94, 0xb1, 0x0a, 0xa7, + 0x34, 0xe8, 0x3c, 0x0c, 0xc5, 0xc4, 0xdf, 0xb8, 0xea, 0x05, 0x77, 0xc5, 0xc4, 0x56, 0x92, 0xb9, + 0x2e, 0xe0, 0x58, 0x51, 0xa0, 0x25, 0x28, 0xb7, 0x3c, 0x57, 0x4c, 0x65, 0xa9, 0x36, 0x94, 0x6f, + 0xae, 0x55, 0x0f, 0xf6, 0xe6, 0x9e, 0xe8, 0x96, 0x20, 0x98, 0x9e, 0xcf, 0xe3, 0x79, 0xba, 0xfc, + 0x68, 0xe1, 0x4e, 0x76, 0xfa, 0x81, 0x1e, 0xed, 0xf4, 0x17, 0x00, 0x44, 0xaf, 0xe5, 0x5c, 0x2e, + 0xa7, 0x5f, 0xed, 0x92, 0xc2, 0x60, 0x8d, 0x8a, 0x9e, 0xf2, 0x1b, 0x11, 0x71, 0xe4, 0x41, 0x98, + 0x7b, 0x70, 0x0f, 0x1d, 0xfd, 0x94, 0xbf, 0x9c, 0x65, 0x86, 0xdb, 0xf9, 0xa3, 0x10, 0x26, 0x5d, + 0x11, 0x82, 0x9a, 0x56, 0x5a, 0xe9, 0xdd, 0x6d, 0x9c, 0xb9, 0xd4, 0x64, 0x19, 0xe1, 0x76, 0xde, + 0xe8, 0x33, 0x30, 0x2b, 0x81, 0xed, 0xf1, 0xbf, 0x6c, 0xb9, 0x94, 0x97, 0xce, 0xec, 0xef, 0xcd, + 0xcd, 0x56, 0xbb, 0x52, 0xe1, 0x43, 0x38, 0xa0, 0xb7, 0x60, 0x80, 0xdd, 0xeb, 0xc4, 0x33, 0xc3, + 0x6c, 0xc7, 0x7b, 0xa9, 0x48, 0xf0, 0x01, 0x9d, 0xf5, 0xf3, 0xec, 0x76, 0x48, 0xb8, 0xd5, 0xa6, + 0x97, 0x65, 0x0c, 0x88, 0x05, 0x4f, 0xd4, 0x84, 0x61, 0x27, 0x08, 0xc2, 0xc4, 0xe1, 0x8a, 0xd8, + 0x48, 0x11, 0x5d, 0x52, 0xab, 0x62, 0x31, 0x2d, 0xcb, 0xeb, 0x51, 0x9e, 0x7a, 0x1a, 0x06, 0xeb, + 0x55, 0xa0, 0x7b, 0x30, 0x1e, 0xde, 0xa3, 0x02, 0x53, 0x5e, 0x6d, 0xc4, 0x33, 0xa3, 0x66, 0xc7, + 0x72, 0x0c, 0xb5, 0x46, 0x61, 0x4d, 0x92, 0x99, 0x4c, 0x71, 0xb6, 0x16, 0x34, 0x6f, 0x98, 0xab, + 0xc7, 0x52, 0xe7, 0xf1, 0xd4, 0x5c, 0xad, 0x5b, 0xa7, 0x59, 0x8c, 0x39, 0x77, 0x18, 0x65, 0x12, + 0x61, 0x3c, 0x13, 0x63, 0x9e, 0xa2, 0xb0, 0x4e, 0x37, 0xfb, 0x51, 0x18, 0xd6, 0x06, 0xbe, 0x17, + 0x2f, 0xe5, 0xd9, 0xd7, 0x60, 0x22, 0x3b, 0xa0, 0x3d, 0x79, 0x39, 0xff, 0xcf, 0x12, 0x8c, 0x77, + 0xb8, 0x37, 0xba, 0xeb, 0x31, 0x4f, 0x7b, 0x43, 0xf4, 0x5d, 0xf1, 0x02, 0x17, 0x33, 0x8c, 0x29, + 0xc0, 0x4a, 0x05, 0x04, 0x98, 0x94, 0xa6, 0xe5, 0xae, 0xd2, 0x54, 0x08, 0xad, 0xbe, 0xf7, 0x23, + 0xb4, 0xcc, 0x7d, 0xa2, 0xbf, 0xd0, 0x3e, 0xf1, 0x00, 0x04, 0x9d, 0xb1, 0xd5, 0x0c, 0x16, 0xd8, + 0x6a, 0xbe, 0x51, 0x82, 0x89, 0xd4, 0xa3, 0x5b, 0x24, 0xca, 0x3e, 0xfe, 0x6b, 0x88, 0x75, 0xe3, + 0x1a, 0x22, 0x2f, 0x0f, 0x76, 0xa6, 0x7d, 0x5d, 0xaf, 0x24, 0xde, 0xca, 0x5c, 0x49, 0xbc, 0xd4, + 0x23, 0xdf, 0xc3, 0xaf, 0x27, 0xbe, 0x5b, 0x82, 0x53, 0xd9, 0x22, 0xcb, 0xbe, 0xe3, 0x6d, 0x9f, + 0xc0, 0x78, 0x7d, 0xca, 0x18, 0xaf, 0x57, 0x7a, 0xeb, 0x17, 0x6b, 0x64, 0xd7, 0x41, 0x73, 0x32, + 0x83, 0xf6, 0xd1, 0xa3, 0x30, 0x3f, 0x7c, 0xe4, 0xfe, 0xd0, 0x82, 0x47, 0x3b, 0x96, 0x3b, 0x01, + 0xc3, 0xeb, 0x1b, 0xa6, 0xe1, 0xf5, 0xc5, 0x23, 0xf4, 0xae, 0x8b, 0x25, 0xf6, 0xd7, 0xcb, 0x5d, + 0x7a, 0xc5, 0x4c, 0x53, 0x37, 0x60, 0xd8, 0x69, 0x34, 0x48, 0x1c, 0x5f, 0x0b, 0x5d, 0x95, 0xad, + 0xea, 0x79, 0xb6, 0xb7, 0xa4, 0xe0, 0x83, 0xbd, 0xb9, 0xd9, 0x2c, 0x8b, 0x14, 0x8d, 0x75, 0x0e, + 0x66, 0x1e, 0xbd, 0xd2, 0x31, 0xe5, 0xd1, 0xbb, 0x00, 0xb0, 0xa3, 0x4e, 0xb1, 0x59, 0x8b, 0x97, + 0x76, 0xbe, 0xd5, 0xa8, 0xd0, 0xff, 0xcf, 0x34, 0x42, 0xee, 0xa4, 0xd1, 0x67, 0x06, 0x87, 0xe6, + 0x7c, 0x3f, 0xdd, 0xe1, 0x83, 0xc7, 0xa0, 0x2a, 0xeb, 0xa0, 0x62, 0x89, 0x3e, 0x01, 0x13, 0x31, + 0xcf, 0x74, 0xb0, 0xec, 0x3b, 0x31, 0x0b, 0x65, 0x10, 0xf2, 0x94, 0x85, 0x93, 0xd6, 0x33, 0x38, + 0xdc, 0x46, 0x6d, 0x7f, 0xa7, 0x0c, 0x1f, 0x3c, 0x64, 0xda, 0xa2, 0x45, 0xf3, 0xd6, 0xf6, 0xb9, + 0xac, 0xfd, 0x67, 0xb6, 0x63, 0x61, 0xc3, 0x20, 0x94, 0xf9, 0xda, 0xa5, 0xf7, 0xfd, 0xb5, 0xbf, + 0xa6, 0x5b, 0xeb, 0xb8, 0xdf, 0xe6, 0xa5, 0x23, 0x2f, 0xcc, 0x9f, 0x56, 0x63, 0xfd, 0x17, 0x2c, + 0x78, 0xa2, 0x63, 0xb7, 0x0c, 0x2f, 0x91, 0x05, 0xa8, 0x34, 0x28, 0x50, 0x0b, 0x3c, 0x4a, 0x23, + 0xfe, 0x24, 0x02, 0xa7, 0x34, 0x86, 0x33, 0x48, 0x29, 0xd7, 0x19, 0xe4, 0xf7, 0x2d, 0x98, 0xce, + 0x36, 0xe2, 0x04, 0xe4, 0x56, 0xdd, 0x94, 0x5b, 0xf3, 0xbd, 0x7d, 0xfc, 0x2e, 0x22, 0xeb, 0xbf, + 0x8f, 0xc1, 0xe9, 0xb6, 0x5d, 0x8f, 0x8f, 0xe2, 0x2f, 0x58, 0x30, 0xb9, 0xc9, 0xb4, 0x77, 0x2d, + 0xba, 0x4b, 0xf4, 0x2b, 0x27, 0x24, 0xee, 0xd0, 0xa0, 0x30, 0x7e, 0x16, 0x69, 0x23, 0xc1, 0xed, + 0x95, 0xa1, 0xaf, 0x58, 0x30, 0xed, 0xdc, 0x8b, 0xdb, 0x9e, 0x71, 0x11, 0x13, 0xe9, 0xb5, 0x1c, + 0x63, 0x59, 0xce, 0x03, 0x30, 0x4b, 0x33, 0xfb, 0x7b, 0x73, 0xd3, 0x9d, 0xa8, 0x70, 0xc7, 0x5a, + 0xe9, 0xf7, 0xdd, 0x12, 0xb1, 0x23, 0xc5, 0xe2, 0x14, 0x3b, 0x45, 0x9a, 0x70, 0xb1, 0x26, 0x31, + 0x58, 0x71, 0x44, 0xef, 0x40, 0x65, 0x53, 0x06, 0x74, 0x65, 0xc5, 0x66, 0x97, 0x61, 0xee, 0x14, + 0xff, 0xc5, 0x7d, 0xf7, 0x15, 0x0a, 0xa7, 0x4c, 0xd1, 0x65, 0x28, 0x07, 0x1b, 0xb1, 0x08, 0x9d, + 0xce, 0xf3, 0x01, 0x32, 0x3d, 0xaf, 0x78, 0xb4, 0xe9, 0xf5, 0xd5, 0x3a, 0xa6, 0x2c, 0x28, 0xa7, + 0xe8, 0x8e, 0x2b, 0xac, 0xc4, 0x39, 0x9c, 0xf0, 0x52, 0xb5, 0x9d, 0x13, 0x5e, 0xaa, 0x62, 0xca, + 0x02, 0xd5, 0xa0, 0x9f, 0x45, 0xa6, 0x08, 0x13, 0x70, 0x4e, 0x7c, 0x7d, 0x5b, 0xfc, 0x0d, 0x4f, + 0xf7, 0xc8, 0xc0, 0x98, 0x33, 0x42, 0xeb, 0x30, 0xd0, 0x60, 0x2f, 0x16, 0x88, 0xb3, 0x79, 0x5e, + 0xe6, 0x89, 0xb6, 0xd7, 0x0d, 0xf8, 0xbd, 0x17, 0x87, 0x63, 0xc1, 0x8b, 0x71, 0x25, 0xcd, 0xad, + 0x8d, 0x58, 0x1c, 0xbe, 0xf3, 0xb8, 0xb6, 0xbd, 0x3d, 0x21, 0xb8, 0x32, 0x38, 0x16, 0xbc, 0x50, + 0x15, 0x4a, 0x1b, 0x0d, 0x11, 0xb8, 0x92, 0x63, 0xfa, 0x35, 0x43, 0x87, 0x97, 0x06, 0xf6, 0xf7, + 0xe6, 0x4a, 0xab, 0xcb, 0xb8, 0xb4, 0xd1, 0x40, 0x6f, 0xc0, 0xe0, 0x06, 0x0f, 0x06, 0x15, 0x19, + 0x62, 0x5f, 0xc8, 0x8b, 0x58, 0x6d, 0x8b, 0x1c, 0xe5, 0xf1, 0x19, 0x02, 0x81, 0x25, 0x3b, 0x96, + 0x3c, 0x4f, 0x85, 0xb7, 0x8a, 0x14, 0xb1, 0xf3, 0xbd, 0x85, 0xc3, 0x8a, 0x33, 0xa9, 0x82, 0x62, + 0x8d, 0x23, 0x9d, 0xf3, 0x8e, 0x7c, 0x7c, 0x85, 0xa5, 0x87, 0xcd, 0x9d, 0xf3, 0x1d, 0xdf, 0x6a, + 0xe1, 0x73, 0x5e, 0xa1, 0x70, 0xca, 0x14, 0xb5, 0x60, 0x74, 0x27, 0x6e, 0x6e, 0x11, 0xb9, 0xf4, + 0x59, 0xce, 0xd8, 0xe1, 0x0b, 0x1f, 0xcf, 0x49, 0x04, 0x2c, 0x8a, 0x78, 0x51, 0xd2, 0x72, 0xfc, + 0x36, 0x09, 0xc6, 0xb2, 0x95, 0xdd, 0xd2, 0xd9, 0x62, 0xb3, 0x16, 0xfa, 0x49, 0xde, 0x6b, 0x85, + 0x77, 0x76, 0x13, 0x22, 0x72, 0xca, 0xe6, 0x7c, 0x92, 0xd7, 0x39, 0x71, 0xfb, 0x27, 0x11, 0x08, + 0x2c, 0xd9, 0xa9, 0x21, 0x63, 0xd2, 0x78, 0xa2, 0xf0, 0x90, 0xb5, 0xf5, 0x21, 0x1d, 0x32, 0x26, + 0x7d, 0x53, 0xa6, 0x4c, 0xea, 0x36, 0xb7, 0xc2, 0x24, 0x0c, 0x32, 0xb2, 0x7f, 0xb2, 0x88, 0xd4, + 0xad, 0x75, 0x28, 0xd9, 0x2e, 0x75, 0x3b, 0x51, 0xe1, 0x8e, 0xb5, 0xa2, 0x00, 0xc6, 0x9a, 0x61, + 0x94, 0xdc, 0x0b, 0x23, 0x39, 0x0f, 0x51, 0xa1, 0x33, 0xa2, 0x51, 0x46, 0xd4, 0xcd, 0xdc, 0x70, + 0x4d, 0x0c, 0xce, 0x70, 0xa7, 0x9f, 0x2e, 0x6e, 0x38, 0x3e, 0x59, 0xbb, 0x31, 0x33, 0x55, 0xe4, + 0xd3, 0xd5, 0x39, 0x71, 0xfb, 0xa7, 0x13, 0x08, 0x2c, 0xd9, 0xd9, 0xbf, 0x36, 0xd0, 0xae, 0x38, + 0xb0, 0xa3, 0xc1, 0xdf, 0x6c, 0xbf, 0x89, 0xfd, 0x44, 0xef, 0x27, 0xe0, 0x07, 0x78, 0x27, 0xfb, + 0x15, 0x0b, 0x4e, 0x37, 0x3b, 0xaa, 0x05, 0x62, 0xeb, 0xed, 0xf5, 0x20, 0xcd, 0x87, 0x45, 0xa5, + 0x7e, 0xee, 0x8c, 0xc7, 0x5d, 0xea, 0xcc, 0x2a, 0xd3, 0xe5, 0xf7, 0xad, 0x4c, 0xdf, 0x86, 0x21, + 0xa6, 0xfd, 0xa5, 0x89, 0x5d, 0x7a, 0xcc, 0x81, 0xc2, 0x36, 0xf1, 0x65, 0xc1, 0x02, 0x2b, 0x66, + 0x74, 0xe0, 0x1e, 0xcf, 0x76, 0x02, 0x13, 0x86, 0x16, 0x09, 0x07, 0xf9, 0x49, 0x65, 0x55, 0x8c, + 0xc4, 0xe3, 0xb5, 0xc3, 0x88, 0x0f, 0xf2, 0x08, 0xf0, 0xe1, 0x95, 0xa1, 0x6a, 0x87, 0xa3, 0xd2, + 0x80, 0x79, 0xed, 0x92, 0x7f, 0x5c, 0x3a, 0x59, 0x15, 0xff, 0x1f, 0x59, 0x1d, 0x34, 0x52, 0x7e, + 0x2c, 0xfb, 0xb8, 0x79, 0x2c, 0x7b, 0x3a, 0x7b, 0x2c, 0x6b, 0x33, 0xc6, 0x18, 0x27, 0xb2, 0xe2, + 0x09, 0x53, 0x8b, 0x66, 0xae, 0xb1, 0x7d, 0x38, 0x9b, 0x27, 0xee, 0x98, 0x2b, 0x96, 0xab, 0x2e, + 0x21, 0x53, 0x57, 0x2c, 0x77, 0xad, 0x8a, 0x19, 0xa6, 0x68, 0xf2, 0x03, 0xfb, 0x17, 0x4b, 0x50, + 0xae, 0x85, 0xee, 0x09, 0x18, 0x97, 0x2e, 0x19, 0xc6, 0xa5, 0xa7, 0x72, 0x1f, 0xe3, 0xeb, 0x6a, + 0x4a, 0xba, 0x91, 0x31, 0x25, 0xfd, 0x5c, 0x3e, 0xab, 0xc3, 0x0d, 0x47, 0xdf, 0x2b, 0x83, 0xfe, + 0x9c, 0x20, 0xfa, 0x0f, 0x47, 0xf1, 0xd0, 0x2d, 0x17, 0x7b, 0x61, 0x50, 0xd4, 0xc1, 0x3c, 0xb9, + 0x64, 0x5c, 0xdf, 0x4f, 0xad, 0xa3, 0xee, 0x6d, 0xe2, 0x6d, 0x6e, 0x25, 0xc4, 0xcd, 0x76, 0xec, + 0xe4, 0x1c, 0x75, 0xff, 0xdc, 0x82, 0xf1, 0x4c, 0xed, 0xc8, 0xef, 0x14, 0x10, 0x74, 0x44, 0x73, + 0xd1, 0x64, 0x6e, 0x04, 0xd1, 0x3c, 0x80, 0xb2, 0xfa, 0x4b, 0x93, 0x0c, 0xd3, 0x4e, 0xd5, 0xb5, + 0x40, 0x8c, 0x35, 0x0a, 0xf4, 0x32, 0x0c, 0x27, 0x61, 0x33, 0xf4, 0xc3, 0xcd, 0xdd, 0x2b, 0x44, + 0xa6, 0xe5, 0x50, 0x37, 0x26, 0xeb, 0x29, 0x0a, 0xeb, 0x74, 0xf6, 0xf7, 0xcb, 0x90, 0x7d, 0x8c, + 0xf2, 0xff, 0xcd, 0xd3, 0x9f, 0x9e, 0x79, 0xfa, 0x47, 0x16, 0x4c, 0xd0, 0xda, 0x99, 0xeb, 0x8c, + 0x74, 0xa8, 0x55, 0xaf, 0x37, 0x58, 0x87, 0xbc, 0xde, 0xf0, 0x34, 0x95, 0x76, 0x6e, 0xd8, 0x4a, + 0x84, 0x11, 0x49, 0x13, 0x62, 0x14, 0x8a, 0x05, 0x56, 0xd0, 0x91, 0x28, 0x12, 0x91, 0x47, 0x3a, + 0x1d, 0x89, 0x22, 0x2c, 0xb0, 0xf2, 0x71, 0x87, 0xbe, 0x2e, 0x8f, 0x3b, 0xb0, 0xc4, 0x56, 0xc2, + 0x5d, 0x43, 0xa8, 0x15, 0x5a, 0x62, 0x2b, 0xe9, 0xc7, 0x91, 0xd2, 0xd8, 0xdf, 0x2a, 0xc3, 0x48, + 0x2d, 0x74, 0x53, 0x4f, 0xf9, 0x97, 0x0c, 0x4f, 0xf9, 0xb3, 0x19, 0x4f, 0xf9, 0x09, 0x9d, 0xf6, + 0xc1, 0x38, 0xca, 0x8b, 0x04, 0x68, 0xec, 0xf9, 0x91, 0x23, 0x3a, 0xc9, 0x1b, 0x09, 0xd0, 0x14, + 0x23, 0x6c, 0xf2, 0xfd, 0x59, 0x72, 0x8e, 0xff, 0xdf, 0x16, 0x8c, 0xd5, 0x42, 0x97, 0x4e, 0xd0, + 0x9f, 0xa5, 0xd9, 0xa8, 0xa7, 0x4d, 0x1b, 0x38, 0x24, 0x6d, 0xda, 0x6f, 0x58, 0x30, 0x58, 0x0b, + 0xdd, 0x13, 0x30, 0xb0, 0xae, 0x9a, 0x06, 0xd6, 0x27, 0x72, 0x25, 0x6f, 0x17, 0x9b, 0xea, 0x77, + 0xca, 0x30, 0x4a, 0x5b, 0x1c, 0x6e, 0xca, 0xef, 0x65, 0x8c, 0x8d, 0x55, 0x60, 0x6c, 0xa8, 0x4a, + 0x18, 0xfa, 0x7e, 0x78, 0x2f, 0xfb, 0xed, 0x56, 0x19, 0x14, 0x0b, 0x2c, 0x3a, 0x0f, 0x43, 0xcd, + 0x88, 0xec, 0x78, 0x61, 0x2b, 0xce, 0x46, 0x31, 0xd6, 0x04, 0x1c, 0x2b, 0x0a, 0xf4, 0x12, 0x8c, + 0xc4, 0x5e, 0xd0, 0x20, 0xd2, 0x99, 0xa3, 0x8f, 0x39, 0x73, 0xf0, 0x0c, 0x95, 0x1a, 0x1c, 0x1b, + 0x54, 0xe8, 0x36, 0x54, 0xd8, 0x7f, 0xb6, 0x82, 0x7a, 0x7f, 0x9d, 0x81, 0xe7, 0x56, 0x91, 0x0c, + 0x70, 0xca, 0x0b, 0x5d, 0x00, 0x48, 0xa4, 0xdb, 0x49, 0x2c, 0x92, 0xcb, 0x28, 0xbd, 0x54, 0x39, + 0xa4, 0xc4, 0x58, 0xa3, 0x42, 0xcf, 0x41, 0x25, 0x71, 0x3c, 0xff, 0xaa, 0x17, 0x90, 0x58, 0xb8, + 0xed, 0x88, 0x6c, 0xd3, 0x02, 0x88, 0x53, 0x3c, 0xdd, 0xef, 0x59, 0x0c, 0x35, 0x7f, 0xf9, 0x65, + 0x88, 0x51, 0xb3, 0xfd, 0xfe, 0xaa, 0x82, 0x62, 0x8d, 0xc2, 0xbe, 0x08, 0xa7, 0x6a, 0xa1, 0x5b, + 0x0b, 0xa3, 0x64, 0x35, 0x8c, 0xee, 0x39, 0x91, 0x2b, 0xbf, 0xdf, 0x9c, 0x4c, 0x72, 0x4c, 0xf7, + 0xe4, 0x7e, 0x6e, 0x73, 0x34, 0x92, 0x16, 0xbf, 0xc8, 0x76, 0xfc, 0x1e, 0x43, 0x30, 0x7e, 0x54, + 0x02, 0x54, 0x63, 0x8e, 0x31, 0xc6, 0x43, 0x41, 0x5b, 0x30, 0x16, 0x93, 0xab, 0x5e, 0xd0, 0xba, + 0x2f, 0x58, 0x15, 0x8b, 0x79, 0xa9, 0xaf, 0xe8, 0x65, 0xb8, 0xa5, 0xc3, 0x84, 0xe1, 0x0c, 0x5f, + 0x3a, 0x98, 0x51, 0x2b, 0x58, 0x8c, 0x6f, 0xc6, 0x24, 0x12, 0x0f, 0xe3, 0xb0, 0xc1, 0xc4, 0x12, + 0x88, 0x53, 0x3c, 0x9d, 0x3c, 0xec, 0xcf, 0xf5, 0x30, 0xc0, 0x61, 0x98, 0xc8, 0xe9, 0xc6, 0x1e, + 0x4a, 0xd0, 0xe0, 0xd8, 0xa0, 0x42, 0xab, 0x80, 0xe2, 0x56, 0xb3, 0xe9, 0xb3, 0xbb, 0x46, 0xc7, + 0xbf, 0x14, 0x85, 0xad, 0x26, 0xf7, 0x8f, 0x16, 0x6f, 0x0c, 0xd4, 0xdb, 0xb0, 0xb8, 0x43, 0x09, + 0x2a, 0x2c, 0x36, 0x62, 0xf6, 0x5b, 0x04, 0x54, 0x73, 0x7b, 0x65, 0x9d, 0x81, 0xb0, 0xc4, 0xd9, + 0x9f, 0x67, 0x1b, 0x1c, 0x7b, 0xb1, 0x24, 0x69, 0x45, 0x04, 0x6d, 0xc3, 0x68, 0x93, 0x6d, 0x62, + 0x49, 0x14, 0xfa, 0x3e, 0x91, 0xfa, 0xe5, 0xd1, 0x5c, 0x73, 0xf8, 0x1b, 0x05, 0x3a, 0x3b, 0x6c, + 0x72, 0xb7, 0x7f, 0x69, 0x8c, 0xc9, 0x2a, 0x71, 0xdd, 0x3b, 0x28, 0x9c, 0x70, 0x85, 0x26, 0xf7, + 0xa1, 0x22, 0x6f, 0x8f, 0xa5, 0xfb, 0x80, 0x70, 0xe9, 0xc5, 0x92, 0x0b, 0xfa, 0x34, 0x73, 0x31, + 0xe7, 0x02, 0xa2, 0xf8, 0x8b, 0x8a, 0x9c, 0xde, 0x70, 0x2f, 0x17, 0x2c, 0xb0, 0xc6, 0x0e, 0x5d, + 0x85, 0x51, 0xf1, 0xc0, 0x85, 0x30, 0x53, 0x94, 0x8d, 0x23, 0xf6, 0x28, 0xd6, 0x91, 0x07, 0x59, + 0x00, 0x36, 0x0b, 0xa3, 0x4d, 0x78, 0x5c, 0x7b, 0xc0, 0xa9, 0x83, 0x1b, 0x19, 0x97, 0x3c, 0x4f, + 0xec, 0xef, 0xcd, 0x3d, 0xbe, 0x7e, 0x18, 0x21, 0x3e, 0x9c, 0x0f, 0xba, 0x01, 0xa7, 0x9c, 0x46, + 0xe2, 0xed, 0x90, 0x2a, 0x71, 0x5c, 0xdf, 0x0b, 0x88, 0x19, 0x75, 0xff, 0xe8, 0xfe, 0xde, 0xdc, + 0xa9, 0xc5, 0x4e, 0x04, 0xb8, 0x73, 0x39, 0xf4, 0x71, 0xa8, 0xb8, 0x41, 0x2c, 0xc6, 0x60, 0xc0, + 0x78, 0xaf, 0xac, 0x52, 0xbd, 0x5e, 0x57, 0xfd, 0x4f, 0xff, 0xe0, 0xb4, 0x00, 0x7a, 0x8f, 0xbf, + 0xc7, 0xaf, 0x4e, 0x33, 0xfc, 0x9d, 0xbc, 0x57, 0x0a, 0x9d, 0x9f, 0x8d, 0x58, 0x18, 0x6e, 0xc1, + 0x53, 0xee, 0x9a, 0x46, 0x98, 0x8c, 0x51, 0x05, 0xfa, 0x24, 0xa0, 0x98, 0x44, 0x3b, 0x5e, 0x83, + 0x2c, 0x36, 0x58, 0x5a, 0x57, 0x66, 0xe3, 0x19, 0x32, 0xe2, 0x16, 0x50, 0xbd, 0x8d, 0x02, 0x77, + 0x28, 0x85, 0x2e, 0x53, 0xc9, 0xa3, 0x43, 0x85, 0x77, 0xad, 0x54, 0x0c, 0x67, 0xaa, 0xa4, 0x19, + 0x91, 0x86, 0x93, 0x10, 0xd7, 0xe4, 0x88, 0x33, 0xe5, 0xe8, 0xbe, 0xa4, 0x32, 0xf7, 0x83, 0xe9, + 0x13, 0xda, 0x9e, 0xbd, 0x9f, 0x9e, 0xb3, 0xb6, 0xc2, 0x38, 0xb9, 0x4e, 0x92, 0x7b, 0x61, 0x74, + 0x57, 0x24, 0xd8, 0x4a, 0x73, 0xe4, 0xa5, 0x28, 0xac, 0xd3, 0x51, 0x1d, 0x8a, 0x5d, 0x9e, 0xad, + 0x55, 0xd9, 0xcd, 0xc4, 0x50, 0xba, 0x76, 0x2e, 0x73, 0x30, 0x96, 0x78, 0x49, 0xba, 0x56, 0x5b, + 0x66, 0xb7, 0x0c, 0x19, 0xd2, 0xb5, 0xda, 0x32, 0x96, 0x78, 0x14, 0xb6, 0xbf, 0x0a, 0x37, 0x56, + 0xe4, 0xc6, 0xa7, 0x5d, 0x92, 0x17, 0x7c, 0x18, 0xee, 0x3e, 0x4c, 0xa8, 0x97, 0xe9, 0x78, 0x0e, + 0xb2, 0x78, 0x66, 0x9c, 0x4d, 0x9c, 0xa3, 0xa4, 0x32, 0x53, 0x76, 0xbd, 0xb5, 0x0c, 0x4f, 0xdc, + 0x56, 0x8b, 0x91, 0x3d, 0x62, 0x22, 0xf7, 0x35, 0x86, 0x05, 0xa8, 0xc4, 0xad, 0x3b, 0x6e, 0xb8, + 0xed, 0x78, 0x01, 0xbb, 0x0a, 0xd0, 0xdf, 0xb6, 0x97, 0x08, 0x9c, 0xd2, 0xa0, 0x1a, 0x0c, 0x39, + 0xe2, 0x08, 0x27, 0x4c, 0xf6, 0x39, 0xd1, 0xe5, 0xf2, 0xc0, 0xc7, 0xad, 0xab, 0xf2, 0x1f, 0x56, + 0x5c, 0xd0, 0xab, 0x30, 0x2a, 0x82, 0xa3, 0x84, 0x13, 0xe3, 0x94, 0xe9, 0x48, 0x5f, 0xd7, 0x91, + 0xd8, 0xa4, 0x45, 0x9b, 0x30, 0x46, 0xb9, 0xa4, 0x02, 0x70, 0x66, 0xba, 0x37, 0x19, 0xaa, 0xe5, + 0xbd, 0xd6, 0xd9, 0xe0, 0x0c, 0x5b, 0xe4, 0xc2, 0x63, 0x4e, 0x2b, 0x09, 0xb7, 0xe9, 0x4a, 0x30, + 0xd7, 0xc9, 0x7a, 0x78, 0x97, 0x04, 0x33, 0xa7, 0xd8, 0x0c, 0x3c, 0xbb, 0xbf, 0x37, 0xf7, 0xd8, + 0xe2, 0x21, 0x74, 0xf8, 0x50, 0x2e, 0xe8, 0x6d, 0x18, 0x4e, 0x42, 0x5f, 0xf8, 0x26, 0xc7, 0x33, + 0xa7, 0x8b, 0xe4, 0xb4, 0x59, 0x57, 0x05, 0x74, 0x33, 0x86, 0x62, 0x82, 0x75, 0x8e, 0xb3, 0x3f, + 0x0f, 0x93, 0x6d, 0x22, 0xa9, 0x27, 0xf7, 0xcd, 0xff, 0xd8, 0x0f, 0x15, 0x65, 0xd1, 0x43, 0x0b, + 0xa6, 0xf1, 0xf6, 0xd1, 0xac, 0xf1, 0x76, 0x88, 0x2a, 0x50, 0xba, 0xbd, 0xf6, 0x33, 0x1d, 0xde, + 0x22, 0x7f, 0x36, 0x77, 0x0d, 0x16, 0x8f, 0xa8, 0xea, 0xe1, 0xc5, 0xf6, 0xf4, 0x54, 0xd7, 0x77, + 0xe8, 0xa9, 0xae, 0xe0, 0xfb, 0x7a, 0xf4, 0xfc, 0xd6, 0x0c, 0xdd, 0xb5, 0x5a, 0xf6, 0xf9, 0xa8, + 0x1a, 0x05, 0x62, 0x8e, 0x63, 0x7a, 0x37, 0xdd, 0x53, 0x99, 0xde, 0x3d, 0x78, 0x44, 0xbd, 0x5b, + 0x32, 0xc0, 0x29, 0x2f, 0xb4, 0x03, 0x93, 0x0d, 0xf3, 0x35, 0x30, 0x15, 0x27, 0xf5, 0x7c, 0x0f, + 0xaf, 0x71, 0xb5, 0xb4, 0xa7, 0x42, 0x96, 0xb3, 0xfc, 0x70, 0x7b, 0x15, 0xe8, 0x55, 0x18, 0x7a, + 0x2f, 0x8c, 0xd9, 0xb5, 0x82, 0xd8, 0x58, 0x64, 0x3c, 0xca, 0xd0, 0xeb, 0x37, 0xea, 0x0c, 0x7e, + 0xb0, 0x37, 0x37, 0x5c, 0x0b, 0x5d, 0xf9, 0x17, 0xab, 0x02, 0xe8, 0x0b, 0x16, 0x9c, 0x32, 0xd6, + 0x99, 0x6a, 0x39, 0x1c, 0xa5, 0xe5, 0x8f, 0x8b, 0x9a, 0x4f, 0xad, 0x75, 0xe2, 0x89, 0x3b, 0x57, + 0x65, 0xff, 0x2e, 0x37, 0x61, 0x0a, 0xa3, 0x06, 0x89, 0x5b, 0xfe, 0x49, 0xa4, 0xed, 0xbf, 0x61, + 0xd8, 0x5b, 0x1e, 0x80, 0x11, 0xfd, 0xdf, 0x5b, 0xcc, 0x88, 0xbe, 0x4e, 0xb6, 0x9b, 0xbe, 0x93, + 0x9c, 0x84, 0x77, 0xef, 0xa7, 0x61, 0x28, 0x11, 0xb5, 0x15, 0x7b, 0x73, 0x40, 0x6b, 0x1e, 0xbb, + 0x5c, 0x50, 0x1b, 0x93, 0x84, 0x62, 0xc5, 0xd0, 0xfe, 0xd7, 0xfc, 0xab, 0x48, 0xcc, 0x09, 0x58, + 0x0a, 0xae, 0x9b, 0x96, 0x82, 0x67, 0x0a, 0xf7, 0xa5, 0x8b, 0xc5, 0xe0, 0xfb, 0x66, 0x0f, 0xd8, + 0xf9, 0xe1, 0xa7, 0xe7, 0x96, 0xc7, 0xfe, 0x55, 0x0b, 0xa6, 0x3b, 0x5d, 0xb7, 0x53, 0x05, 0x83, + 0x9f, 0x5e, 0xd4, 0xfd, 0x97, 0x1a, 0xd5, 0x5b, 0x02, 0x8e, 0x15, 0x45, 0xe1, 0x24, 0xe0, 0xbd, + 0xa5, 0x6e, 0xba, 0x01, 0xe6, 0xbb, 0x72, 0xe8, 0x35, 0xee, 0xcc, 0x6f, 0xa9, 0x87, 0xdf, 0x7a, + 0x73, 0xe4, 0xb7, 0xbf, 0x5d, 0x82, 0x69, 0x6e, 0x84, 0x5e, 0xdc, 0x09, 0x3d, 0xb7, 0x16, 0xba, + 0x22, 0xb4, 0xc1, 0x85, 0x91, 0xa6, 0x76, 0xf8, 0x2c, 0x96, 0x0a, 0x46, 0x3f, 0xae, 0xa6, 0x0a, + 0xbf, 0x0e, 0xc5, 0x06, 0x57, 0x5a, 0x0b, 0xd9, 0xf1, 0x1a, 0xca, 0xa6, 0x59, 0xea, 0x79, 0x67, + 0x50, 0xb5, 0xac, 0x68, 0x7c, 0xb0, 0xc1, 0xf5, 0x18, 0xde, 0xee, 0xb0, 0xff, 0x81, 0x05, 0x8f, + 0x74, 0x49, 0x17, 0x43, 0xab, 0xbb, 0xc7, 0x0c, 0xff, 0xe2, 0xe1, 0x42, 0x55, 0x1d, 0xbf, 0x0e, + 0xc0, 0x02, 0x8b, 0xee, 0x00, 0x70, 0x73, 0x3e, 0x7b, 0xc6, 0xbe, 0x54, 0xc4, 0x1f, 0xa9, 0x2d, + 0x29, 0x83, 0x16, 0xaf, 0xaf, 0x1e, 0xae, 0xd7, 0xb8, 0xda, 0xdf, 0x2c, 0x43, 0x3f, 0x7f, 0x1f, + 0xbb, 0x06, 0x83, 0x5b, 0x3c, 0x7d, 0x6d, 0x6f, 0xd9, 0x73, 0xd3, 0xc3, 0x05, 0x07, 0x60, 0xc9, + 0x06, 0x5d, 0x83, 0x29, 0xba, 0xb3, 0x78, 0x8e, 0x5f, 0x25, 0xbe, 0xb3, 0x2b, 0x4f, 0xab, 0xfc, + 0x41, 0x07, 0x99, 0x79, 0x7c, 0x6a, 0xad, 0x9d, 0x04, 0x77, 0x2a, 0x87, 0x5e, 0x6b, 0xcb, 0x36, + 0xc7, 0xd3, 0x02, 0x2b, 0x4d, 0xf5, 0xf0, 0x8c, 0x73, 0x54, 0x9f, 0x6e, 0xb6, 0x9d, 0xcb, 0xb5, + 0x67, 0x88, 0xcd, 0xb3, 0xb8, 0x49, 0xcb, 0x7c, 0x0b, 0x5a, 0xcc, 0xa7, 0x62, 0x7d, 0x2b, 0x22, + 0xf1, 0x56, 0xe8, 0xbb, 0xe2, 0x05, 0xcd, 0xd4, 0xb7, 0x20, 0x83, 0xc7, 0x6d, 0x25, 0x28, 0x97, + 0x0d, 0xc7, 0xf3, 0x5b, 0x11, 0x49, 0xb9, 0x0c, 0x98, 0x5c, 0x56, 0x33, 0x78, 0xdc, 0x56, 0x82, + 0xce, 0xad, 0x53, 0xe2, 0xd1, 0x45, 0x19, 0x1c, 0x2d, 0x44, 0xd0, 0xa7, 0x60, 0x50, 0xba, 0xc8, + 0x17, 0xca, 0xe1, 0x21, 0x1c, 0x07, 0xd4, 0x03, 0x8e, 0xda, 0x03, 0x5f, 0xc2, 0x39, 0x5e, 0xf2, + 0x3b, 0xca, 0xe3, 0x7e, 0x7f, 0x66, 0xc1, 0x54, 0x07, 0x57, 0x2f, 0x2e, 0xd2, 0x36, 0xbd, 0x38, + 0x51, 0xcf, 0x0b, 0x68, 0x22, 0x8d, 0xc3, 0xb1, 0xa2, 0xa0, 0xab, 0x85, 0x0b, 0xcd, 0xac, 0xa0, + 0x14, 0x2e, 0x20, 0x02, 0xdb, 0x9b, 0xa0, 0x44, 0x67, 0xa1, 0xaf, 0x15, 0x93, 0x48, 0xbe, 0xb4, + 0x27, 0xe5, 0x3c, 0xb3, 0x03, 0x32, 0x0c, 0x55, 0x5b, 0x37, 0x95, 0x09, 0x4e, 0x53, 0x5b, 0xb9, + 0x11, 0x8e, 0xe3, 0xec, 0xaf, 0x95, 0x61, 0x3c, 0xe3, 0xf2, 0x49, 0x1b, 0xb2, 0x1d, 0x06, 0x5e, + 0x12, 0xaa, 0xbc, 0x6a, 0xfc, 0x71, 0x2f, 0xd2, 0xdc, 0xba, 0x26, 0xe0, 0x58, 0x51, 0xa0, 0xa7, + 0xe5, 0xe3, 0xaa, 0xd9, 0x67, 0x13, 0x96, 0xaa, 0xc6, 0xfb, 0xaa, 0x45, 0x9f, 0x3c, 0x79, 0x12, + 0xfa, 0x9a, 0xa1, 0x7a, 0x2b, 0x5b, 0x7d, 0x4f, 0xbc, 0x54, 0xad, 0x85, 0xa1, 0x8f, 0x19, 0x12, + 0x3d, 0x25, 0x7a, 0x9f, 0xb9, 0xb9, 0xc0, 0x8e, 0x1b, 0xc6, 0xda, 0x10, 0x3c, 0x03, 0x83, 0x77, + 0xc9, 0x6e, 0xe4, 0x05, 0x9b, 0xd9, 0x7b, 0x9b, 0x2b, 0x1c, 0x8c, 0x25, 0xde, 0xcc, 0x4d, 0x3e, + 0x78, 0xcc, 0xcf, 0x9a, 0x0c, 0xe5, 0xee, 0x83, 0xdf, 0xb1, 0x60, 0x9c, 0x25, 0x1b, 0x15, 0xa1, + 0xf9, 0x5e, 0x18, 0x9c, 0x80, 0x8e, 0xf1, 0x24, 0xf4, 0x47, 0xb4, 0xd2, 0xec, 0xbb, 0x04, 0xac, + 0x25, 0x98, 0xe3, 0xd0, 0x63, 0xd0, 0xc7, 0x9a, 0x40, 0x3f, 0xe3, 0x08, 0xcf, 0x69, 0x5e, 0x75, + 0x12, 0x07, 0x33, 0x28, 0x8b, 0xb2, 0xc2, 0xa4, 0xe9, 0x7b, 0xbc, 0xd1, 0xa9, 0xb9, 0xf5, 0x61, + 0x8b, 0xb2, 0xea, 0xd8, 0xc8, 0x07, 0x15, 0x65, 0xd5, 0x99, 0xf9, 0xe1, 0x7a, 0xfe, 0xff, 0x28, + 0xc1, 0x99, 0x8e, 0xe5, 0xd2, 0x1b, 0xe0, 0x55, 0xe3, 0x06, 0xf8, 0x42, 0xe6, 0x06, 0xd8, 0x3e, + 0xbc, 0xf4, 0x83, 0xb9, 0x13, 0xee, 0x7c, 0x55, 0x5b, 0x3e, 0xc1, 0xab, 0xda, 0xbe, 0xa2, 0x2a, + 0x4e, 0x7f, 0x8e, 0x8a, 0xf3, 0x87, 0x16, 0x3c, 0xda, 0x71, 0xc8, 0x1e, 0xba, 0xb0, 0xb6, 0x8e, + 0xad, 0xec, 0x72, 0x3a, 0xf9, 0x95, 0x72, 0x97, 0x5e, 0xb1, 0x73, 0xca, 0x39, 0x2a, 0x85, 0x18, + 0x32, 0x16, 0xca, 0xdb, 0x08, 0x97, 0x40, 0x1c, 0x86, 0x15, 0x16, 0xc5, 0x5a, 0x58, 0x18, 0x6f, + 0xe4, 0xca, 0x11, 0x17, 0xd4, 0xbc, 0x69, 0x27, 0xd7, 0xf3, 0x0d, 0x64, 0x83, 0xc5, 0x6e, 0x6b, + 0x27, 0xcf, 0xf2, 0x51, 0x4e, 0x9e, 0x23, 0x9d, 0x4f, 0x9d, 0x68, 0x11, 0xc6, 0xb7, 0xbd, 0x80, + 0xbd, 0x86, 0x6a, 0x6a, 0x4f, 0x2a, 0x36, 0xf7, 0x9a, 0x89, 0xc6, 0x59, 0xfa, 0xd9, 0x57, 0x61, + 0xf4, 0xe8, 0xd6, 0xb5, 0x1f, 0x97, 0xe1, 0x83, 0x87, 0x08, 0x05, 0xbe, 0x3b, 0x18, 0xdf, 0x45, + 0xdb, 0x1d, 0xda, 0xbe, 0x4d, 0x0d, 0xa6, 0x37, 0x5a, 0xbe, 0xbf, 0xcb, 0xfc, 0xa7, 0x88, 0x2b, + 0x29, 0x84, 0x52, 0xa3, 0x9e, 0x5d, 0x5f, 0xed, 0x40, 0x83, 0x3b, 0x96, 0x44, 0x9f, 0x04, 0x14, + 0xde, 0x61, 0xe9, 0x78, 0xdd, 0x34, 0x9f, 0x02, 0xfb, 0x04, 0xe5, 0x74, 0xa9, 0xde, 0x68, 0xa3, + 0xc0, 0x1d, 0x4a, 0x51, 0x3d, 0x95, 0xbd, 0xd8, 0xae, 0x9a, 0x95, 0xd1, 0x53, 0xb1, 0x8e, 0xc4, + 0x26, 0x2d, 0xba, 0x04, 0x93, 0xce, 0x8e, 0xe3, 0xf1, 0xf4, 0x5a, 0x92, 0x01, 0x57, 0x54, 0x95, + 0xfd, 0x6a, 0x31, 0x4b, 0x80, 0xdb, 0xcb, 0xa0, 0xa6, 0x61, 0x90, 0xe4, 0x89, 0xf8, 0x3f, 0x7e, + 0x84, 0x19, 0x5c, 0xd8, 0x44, 0x69, 0xff, 0x57, 0x8b, 0x6e, 0x7d, 0x1d, 0x1e, 0xce, 0xa4, 0x23, + 0xa2, 0x0c, 0x6c, 0x5a, 0x98, 0x9b, 0x1a, 0x91, 0x65, 0x1d, 0x89, 0x4d, 0x5a, 0x3e, 0x35, 0xe2, + 0xd4, 0x9d, 0xdb, 0xd0, 0x36, 0x45, 0x84, 0xa8, 0xa2, 0xa0, 0x1a, 0xb4, 0xeb, 0xed, 0x78, 0x71, + 0x18, 0x89, 0x05, 0xd4, 0xa3, 0x73, 0x6f, 0x2a, 0x2f, 0xab, 0x9c, 0x0d, 0x96, 0xfc, 0xec, 0xaf, + 0x97, 0x60, 0x54, 0xd6, 0xf8, 0x7a, 0x2b, 0x4c, 0x9c, 0x13, 0xd8, 0xd2, 0x5f, 0x37, 0xb6, 0xf4, + 0x85, 0x62, 0x01, 0xb3, 0xac, 0x71, 0x5d, 0xb7, 0xf2, 0x4f, 0x65, 0xb6, 0xf2, 0x17, 0x7a, 0x61, + 0x7a, 0xf8, 0x16, 0xfe, 0x6f, 0x2d, 0x98, 0x34, 0xe8, 0x4f, 0x60, 0x27, 0xa9, 0x99, 0x3b, 0xc9, + 0x73, 0x3d, 0xf4, 0xa6, 0xcb, 0x0e, 0xf2, 0xad, 0x52, 0xa6, 0x17, 0x6c, 0xe7, 0xf8, 0x1c, 0xf4, + 0x6d, 0x39, 0x91, 0x5b, 0x2c, 0xd7, 0x64, 0x5b, 0xf1, 0xf9, 0xcb, 0x4e, 0xe4, 0x72, 0xf9, 0x7f, + 0x5e, 0x3d, 0xeb, 0xe5, 0x44, 0x6e, 0x6e, 0x94, 0x03, 0xab, 0x14, 0x5d, 0x84, 0x81, 0xb8, 0x11, + 0x36, 0x95, 0x1f, 0xe8, 0x59, 0xfe, 0xe4, 0x17, 0x85, 0x1c, 0xec, 0xcd, 0x21, 0xb3, 0x3a, 0x0a, + 0xc6, 0x82, 0x7e, 0x76, 0x13, 0x2a, 0xaa, 0xea, 0x63, 0xf5, 0x84, 0xff, 0x6f, 0x65, 0x98, 0xea, + 0x30, 0x57, 0xd0, 0xe7, 0x8d, 0x71, 0x7b, 0xb5, 0xe7, 0xc9, 0xf6, 0x3e, 0x47, 0xee, 0xf3, 0xec, + 0xa4, 0xe4, 0x8a, 0xd9, 0x71, 0x84, 0xea, 0x6f, 0xc6, 0x24, 0x5b, 0x3d, 0x05, 0xe5, 0x57, 0x4f, + 0xab, 0x3d, 0xb1, 0xe1, 0xa7, 0x15, 0xa9, 0x96, 0x1e, 0xeb, 0x77, 0xfe, 0x6b, 0x7d, 0x30, 0xdd, + 0x29, 0x32, 0x1f, 0x7d, 0xc9, 0xca, 0x3c, 0x28, 0xf1, 0x5a, 0xef, 0xe1, 0xfd, 0xfc, 0x95, 0x09, + 0x91, 0xcd, 0x66, 0xde, 0x7c, 0x62, 0x22, 0x77, 0xc4, 0x45, 0xed, 0x2c, 0x3e, 0x29, 0xe2, 0x8f, + 0x83, 0x48, 0xa9, 0xf0, 0x89, 0x23, 0x34, 0x45, 0xbc, 0x2f, 0x12, 0x67, 0xe2, 0x93, 0x24, 0x38, + 0x3f, 0x3e, 0x49, 0xb6, 0x61, 0xd6, 0x83, 0x61, 0xad, 0x5f, 0xc7, 0x3a, 0x0d, 0xee, 0xd2, 0x2d, + 0x4a, 0x6b, 0xf7, 0xb1, 0x4e, 0x85, 0xbf, 0x6b, 0x41, 0xc6, 0x69, 0x4b, 0x99, 0x65, 0xac, 0xae, + 0x66, 0x99, 0xb3, 0xd0, 0x17, 0x85, 0x3e, 0xc9, 0x3e, 0x76, 0x80, 0x43, 0x9f, 0x60, 0x86, 0x51, + 0x2f, 0xfd, 0x96, 0xbb, 0xbd, 0xf4, 0x4b, 0xcf, 0xe9, 0x3e, 0xd9, 0x21, 0xd2, 0x48, 0xa2, 0xc4, + 0xf8, 0x55, 0x0a, 0xc4, 0x1c, 0x67, 0xff, 0x56, 0x1f, 0x4c, 0x75, 0x88, 0x76, 0xa3, 0x27, 0xa4, + 0x4d, 0x27, 0x21, 0xf7, 0x9c, 0xdd, 0x6c, 0xd2, 0xd5, 0x4b, 0x1c, 0x8c, 0x25, 0x9e, 0x39, 0x9b, + 0xf2, 0xc4, 0x6d, 0x19, 0xd3, 0x95, 0xc8, 0xd7, 0x26, 0xb0, 0xc7, 0xff, 0x26, 0xec, 0x05, 0x80, + 0x38, 0xf6, 0x57, 0x02, 0xaa, 0xe1, 0xb9, 0xc2, 0xa9, 0x35, 0xcd, 0xf7, 0x57, 0xbf, 0x2a, 0x30, + 0x58, 0xa3, 0x42, 0x55, 0x98, 0x68, 0x46, 0x61, 0xc2, 0x0d, 0x83, 0x55, 0xee, 0x08, 0xd1, 0x6f, + 0x46, 0x53, 0xd5, 0x32, 0x78, 0xdc, 0x56, 0x02, 0xbd, 0x0c, 0xc3, 0x22, 0xc2, 0xaa, 0x16, 0x86, + 0xbe, 0x30, 0x23, 0xa9, 0xeb, 0xf8, 0x7a, 0x8a, 0xc2, 0x3a, 0x9d, 0x56, 0x8c, 0x59, 0x1b, 0x07, + 0x3b, 0x16, 0xe3, 0x16, 0x47, 0x8d, 0x2e, 0x93, 0xbf, 0x63, 0xa8, 0x50, 0xfe, 0x8e, 0xd4, 0xb0, + 0x56, 0x29, 0x7c, 0x11, 0x03, 0xb9, 0x06, 0xa8, 0x3f, 0x28, 0xc3, 0x00, 0xff, 0x14, 0x27, 0xa0, + 0xe5, 0xd5, 0x84, 0x49, 0xa9, 0x50, 0xae, 0x04, 0xde, 0xaa, 0xf9, 0xaa, 0x93, 0x38, 0x5c, 0x34, + 0xa9, 0x15, 0x92, 0x9a, 0xa1, 0xd0, 0xbc, 0xb1, 0x86, 0x66, 0x33, 0x96, 0x12, 0xe0, 0x3c, 0xb4, + 0x15, 0xb5, 0x05, 0x10, 0xb3, 0x77, 0x49, 0x29, 0x0f, 0x91, 0x11, 0xf6, 0xa5, 0x42, 0xed, 0xa8, + 0xab, 0x62, 0xbc, 0x35, 0xe9, 0xb4, 0x54, 0x08, 0xac, 0xf1, 0x9e, 0x7d, 0x05, 0x2a, 0x8a, 0x38, + 0xef, 0x08, 0x39, 0xa2, 0x8b, 0xb6, 0xff, 0x0f, 0xc6, 0x33, 0x75, 0xf5, 0x74, 0x02, 0xfd, 0x1d, + 0x0b, 0xc6, 0x79, 0x93, 0x57, 0x82, 0x1d, 0x21, 0x0a, 0xbe, 0x68, 0xc1, 0xb4, 0xdf, 0x61, 0x25, + 0x8a, 0xcf, 0x7c, 0x94, 0x35, 0xac, 0x0e, 0x9f, 0x9d, 0xb0, 0xb8, 0x63, 0x6d, 0xe8, 0x1c, 0x0c, + 0xf1, 0x67, 0x96, 0x1d, 0x5f, 0x78, 0x50, 0x8f, 0xf0, 0x5c, 0xd8, 0x1c, 0x86, 0x15, 0xd6, 0xfe, + 0x89, 0x05, 0x93, 0x6d, 0xaf, 0xf6, 0x3f, 0x2c, 0xdd, 0x10, 0x59, 0xbf, 0x4b, 0x5d, 0xb2, 0x7e, + 0xeb, 0xbd, 0x2c, 0x1f, 0xda, 0xcb, 0x6f, 0x5b, 0x20, 0x66, 0xe8, 0x09, 0x9c, 0x1f, 0xd6, 0xcc, + 0xf3, 0xc3, 0x87, 0x8a, 0x4c, 0xfa, 0x2e, 0x07, 0x87, 0x5f, 0x2e, 0xc1, 0x04, 0x27, 0x48, 0x6f, + 0x64, 0x1e, 0x96, 0x8f, 0xd3, 0xdb, 0x6b, 0x34, 0xea, 0x09, 0xd0, 0xce, 0x3d, 0x35, 0xbe, 0x65, + 0xdf, 0xa1, 0xdf, 0xf2, 0x2f, 0x2c, 0x40, 0x7c, 0x4c, 0xb2, 0x6f, 0x54, 0xf3, 0xdd, 0x4d, 0x33, + 0x07, 0xa4, 0x92, 0x43, 0x61, 0xb0, 0x46, 0xf5, 0x80, 0xbb, 0x90, 0xb9, 0x0f, 0x2b, 0xe7, 0xdf, + 0x87, 0xf5, 0xd0, 0xeb, 0xdf, 0x2d, 0x43, 0xd6, 0x95, 0x12, 0xbd, 0x03, 0x23, 0x0d, 0xa7, 0xe9, + 0xdc, 0xf1, 0x7c, 0x2f, 0xf1, 0x48, 0x5c, 0xec, 0xc2, 0x7d, 0x59, 0x2b, 0x21, 0xae, 0xa1, 0x34, + 0x08, 0x36, 0x38, 0xa2, 0x79, 0x80, 0x66, 0xe4, 0xed, 0x78, 0x3e, 0xd9, 0x64, 0x27, 0x1e, 0x16, + 0x8b, 0xc1, 0xef, 0x8e, 0x25, 0x14, 0x6b, 0x14, 0x1d, 0x7c, 0xf7, 0xcb, 0x27, 0xe1, 0xbb, 0xdf, + 0xd7, 0xa3, 0xef, 0x7e, 0x7f, 0x21, 0xdf, 0x7d, 0x0c, 0xa7, 0xe5, 0xe6, 0x4d, 0xff, 0xaf, 0x7a, + 0x3e, 0x11, 0xba, 0x1b, 0x8f, 0xd5, 0x98, 0xdd, 0xdf, 0x9b, 0x3b, 0x8d, 0x3b, 0x52, 0xe0, 0x2e, + 0x25, 0xed, 0x16, 0x4c, 0xd5, 0x49, 0xe4, 0xb1, 0x9c, 0x94, 0x6e, 0xba, 0x96, 0x3e, 0x03, 0x95, + 0x28, 0xb3, 0x8c, 0x7b, 0x0c, 0xc8, 0xd7, 0xb2, 0x98, 0xc9, 0x65, 0x9b, 0xb2, 0xb4, 0xff, 0x46, + 0x09, 0x06, 0x85, 0x13, 0xe5, 0x09, 0x28, 0x1f, 0x57, 0x0c, 0x13, 0xd3, 0x33, 0x79, 0xf2, 0x8f, + 0x35, 0xab, 0xab, 0x71, 0xa9, 0x9e, 0x31, 0x2e, 0x3d, 0x57, 0x8c, 0xdd, 0xe1, 0x66, 0xa5, 0x7f, + 0x5a, 0x86, 0x31, 0xd3, 0xa9, 0xf4, 0x04, 0x86, 0xe5, 0x0d, 0x18, 0x8c, 0x85, 0x7f, 0x73, 0xa9, + 0x88, 0xcf, 0x5e, 0xf6, 0x13, 0xa7, 0x37, 0xf1, 0xc2, 0xa3, 0x59, 0xb2, 0xeb, 0xe8, 0x42, 0x5d, + 0x3e, 0x11, 0x17, 0xea, 0x3c, 0x5f, 0xdf, 0xbe, 0x07, 0xe1, 0xeb, 0x6b, 0xff, 0x80, 0x89, 0x7c, + 0x1d, 0x7e, 0x02, 0xdb, 0xf8, 0xeb, 0xe6, 0xe6, 0x70, 0xbe, 0xd0, 0xbc, 0x13, 0xcd, 0xeb, 0xb2, + 0x9d, 0x7f, 0xd7, 0x82, 0x61, 0x41, 0x78, 0x02, 0x1d, 0xf8, 0xa4, 0xd9, 0x81, 0xa7, 0x0a, 0x75, + 0xa0, 0x4b, 0xcb, 0xbf, 0x5e, 0x52, 0x2d, 0xaf, 0x85, 0x51, 0x52, 0x28, 0x03, 0xf7, 0x10, 0x3d, + 0xfa, 0x85, 0x8d, 0xd0, 0x17, 0x0a, 0xdc, 0x63, 0x69, 0x68, 0x1e, 0x87, 0x1f, 0x68, 0xbf, 0xb1, + 0xa2, 0x66, 0x91, 0x63, 0x61, 0x94, 0x88, 0x0d, 0x34, 0x8d, 0x1c, 0x0b, 0xa3, 0x04, 0x33, 0x0c, + 0x72, 0x01, 0xd2, 0xa7, 0xe4, 0x45, 0x54, 0x6b, 0xf7, 0xd5, 0xda, 0x4a, 0x3c, 0x7f, 0xde, 0x0b, + 0x92, 0x38, 0x89, 0xe6, 0xd7, 0x82, 0xe4, 0x46, 0xc4, 0x95, 0x7e, 0x2d, 0xd6, 0x4e, 0xf1, 0xc2, + 0x1a, 0x5f, 0x19, 0xc4, 0xc1, 0xea, 0xe8, 0x37, 0x6f, 0x90, 0xae, 0x0b, 0x38, 0x56, 0x14, 0xf6, + 0x2b, 0x4c, 0xb2, 0xb3, 0x01, 0xea, 0x2d, 0x0c, 0xee, 0x97, 0x06, 0xd4, 0xd0, 0x32, 0xb3, 0xf0, + 0x75, 0x3d, 0xd8, 0xae, 0xa8, 0xf8, 0xa4, 0x4d, 0xd0, 0xfd, 0xa8, 0xd3, 0xd8, 0x3c, 0x44, 0xda, + 0xae, 0x1d, 0x5f, 0x29, 0x2c, 0x91, 0x7b, 0xb8, 0x68, 0x64, 0x49, 0x07, 0x59, 0xa6, 0xb5, 0xb5, + 0x5a, 0x36, 0x6f, 0xfa, 0xb2, 0x44, 0xe0, 0x94, 0x06, 0x2d, 0x88, 0x03, 0x25, 0xb7, 0xb8, 0x7c, + 0x30, 0x73, 0xa0, 0x94, 0x43, 0xa2, 0x9d, 0x28, 0x5f, 0x80, 0x61, 0xf5, 0x14, 0x4d, 0x8d, 0x3f, + 0x02, 0x52, 0xe1, 0xfa, 0xd5, 0x4a, 0x0a, 0xc6, 0x3a, 0x0d, 0x5a, 0x83, 0x29, 0x57, 0xc5, 0xec, + 0xd4, 0x5a, 0x77, 0x7c, 0xaf, 0x41, 0x8b, 0xf2, 0x78, 0xdb, 0x47, 0xf6, 0xf7, 0xe6, 0xa6, 0xaa, + 0xed, 0x68, 0xdc, 0xa9, 0x0c, 0x5a, 0x87, 0xf1, 0x98, 0x3f, 0xb9, 0x23, 0x03, 0x33, 0x84, 0x0d, + 0xe2, 0xd9, 0xcc, 0x4b, 0xf8, 0x12, 0x7d, 0xc0, 0x40, 0x5c, 0x2a, 0xc8, 0x50, 0x8e, 0x2c, 0x0b, + 0xf4, 0x1a, 0x8c, 0xf9, 0xfa, 0x7b, 0xa2, 0x35, 0x61, 0xa2, 0x50, 0x1e, 0x6c, 0xc6, 0x6b, 0xa3, + 0x35, 0x9c, 0xa1, 0x46, 0x6f, 0xc0, 0x8c, 0x0e, 0x11, 0x79, 0x84, 0x9c, 0x60, 0x93, 0xc4, 0xe2, + 0x79, 0x8e, 0xc7, 0xf6, 0xf7, 0xe6, 0x66, 0xae, 0x76, 0xa1, 0xc1, 0x5d, 0x4b, 0xa3, 0x8b, 0x30, + 0x22, 0x47, 0x52, 0x0b, 0x63, 0x4a, 0x7d, 0x27, 0x35, 0x1c, 0x36, 0x28, 0xdf, 0xdf, 0xb5, 0xee, + 0xe7, 0x68, 0x61, 0x6d, 0x0b, 0x47, 0xef, 0xc2, 0x88, 0xde, 0xc6, 0xec, 0xde, 0x9c, 0xff, 0x46, + 0xab, 0x50, 0x05, 0x54, 0xcb, 0x75, 0x1c, 0x36, 0x78, 0xdb, 0x37, 0x60, 0xa0, 0xbe, 0x1b, 0x37, + 0x12, 0xbf, 0x80, 0x7c, 0x7b, 0xd2, 0xe8, 0x42, 0xba, 0xf6, 0xd8, 0x7b, 0x51, 0xa2, 0x47, 0xf6, + 0x97, 0x2d, 0x18, 0x5f, 0x5f, 0xae, 0xd5, 0xc3, 0xc6, 0x5d, 0x92, 0x2c, 0xf2, 0xe3, 0x1b, 0x16, + 0xe2, 0xcd, 0x3a, 0xa2, 0xd8, 0xea, 0x24, 0x10, 0xcf, 0x42, 0xdf, 0x56, 0x18, 0x27, 0x59, 0x13, + 0xe8, 0xe5, 0x30, 0x4e, 0x30, 0xc3, 0xd8, 0x7f, 0x6a, 0x41, 0x3f, 0x7b, 0x0e, 0x29, 0xef, 0x29, + 0xad, 0x22, 0xfd, 0x42, 0x2f, 0xc3, 0x00, 0xd9, 0xd8, 0x20, 0x8d, 0x44, 0xac, 0x74, 0x19, 0x4e, + 0x30, 0xb0, 0xc2, 0xa0, 0x74, 0xfd, 0xb2, 0xca, 0xf8, 0x5f, 0x2c, 0x88, 0xd1, 0xa7, 0xa1, 0x92, + 0x78, 0xdb, 0x64, 0xd1, 0x75, 0x85, 0xcd, 0xb1, 0x37, 0x0f, 0x17, 0x25, 0x4f, 0xd6, 0x25, 0x13, + 0x9c, 0xf2, 0xb3, 0xbf, 0x5a, 0x02, 0x48, 0x83, 0x79, 0xf2, 0xba, 0xb9, 0xd4, 0xf6, 0x62, 0xd8, + 0xd3, 0x1d, 0x5e, 0x0c, 0x43, 0x29, 0xc3, 0x0e, 0xef, 0x85, 0xa9, 0xa1, 0x2a, 0x17, 0x1a, 0xaa, + 0xbe, 0x5e, 0x86, 0x6a, 0x19, 0x26, 0xd3, 0x60, 0x24, 0x33, 0xaa, 0x93, 0xe5, 0x0f, 0x5d, 0xcf, + 0x22, 0x71, 0x3b, 0xbd, 0xfd, 0x55, 0x0b, 0x84, 0x4f, 0x64, 0x81, 0x09, 0xed, 0xca, 0xd7, 0x7d, + 0x8c, 0x44, 0x67, 0xcf, 0x16, 0x71, 0x17, 0x15, 0xe9, 0xcd, 0xd4, 0x12, 0x33, 0x92, 0x9a, 0x19, + 0x5c, 0xed, 0xdf, 0xb4, 0x60, 0x98, 0xa3, 0xaf, 0x31, 0xb5, 0x3b, 0xbf, 0x5d, 0x3d, 0x25, 0xa7, + 0x65, 0x0f, 0xdf, 0x50, 0xc6, 0x2a, 0x49, 0xa9, 0xfe, 0xf0, 0x8d, 0x44, 0xe0, 0x94, 0x06, 0x3d, + 0x03, 0x83, 0x71, 0xeb, 0x0e, 0x23, 0xcf, 0x38, 0x48, 0xd6, 0x39, 0x18, 0x4b, 0xbc, 0xfd, 0xcf, + 0x4b, 0x30, 0x91, 0xf5, 0x8f, 0x45, 0x18, 0x06, 0xb8, 0x1a, 0x9e, 0xd5, 0xe0, 0x0e, 0x33, 0xf7, + 0x68, 0xfe, 0xb5, 0xc0, 0x9f, 0x6f, 0x66, 0x76, 0x79, 0xc1, 0x09, 0x6d, 0xc0, 0xb0, 0x1b, 0xde, + 0x0b, 0xee, 0x39, 0x91, 0xbb, 0x58, 0x5b, 0x13, 0x5f, 0x22, 0xc7, 0xa3, 0xa9, 0x9a, 0x16, 0xd0, + 0xbd, 0x77, 0x99, 0xf9, 0x21, 0x45, 0x61, 0x9d, 0x31, 0x3d, 0x76, 0x36, 0xc2, 0x60, 0xc3, 0xdb, + 0xbc, 0xe6, 0x34, 0x8b, 0xdd, 0xdd, 0x2f, 0x4b, 0x72, 0xad, 0x8e, 0x51, 0x91, 0xc6, 0x81, 0x23, + 0x70, 0xca, 0xd2, 0xfe, 0x8d, 0x69, 0x30, 0xe6, 0x82, 0x91, 0x41, 0xd6, 0x7a, 0xe0, 0x19, 0x64, + 0xdf, 0x82, 0x21, 0xb2, 0xdd, 0x4c, 0x76, 0xab, 0x5e, 0x54, 0x2c, 0x1f, 0xf8, 0x8a, 0xa0, 0x6e, + 0xe7, 0x2e, 0x31, 0x58, 0x71, 0xec, 0x92, 0x0f, 0xb8, 0xfc, 0x50, 0xe4, 0x03, 0xee, 0xfb, 0x4b, + 0xc9, 0x07, 0xfc, 0x06, 0x0c, 0x6e, 0x7a, 0x09, 0x26, 0xcd, 0x50, 0xe4, 0xc5, 0xc8, 0x99, 0x3c, + 0x97, 0x38, 0x71, 0x7b, 0xa6, 0x48, 0x81, 0xc0, 0x92, 0x1d, 0x5a, 0x57, 0x8b, 0x6a, 0xa0, 0xc8, + 0x76, 0xdf, 0x6e, 0x0e, 0xec, 0xb8, 0xac, 0x44, 0xfe, 0xdf, 0xc1, 0xf7, 0x9f, 0xff, 0x57, 0x65, + 0xed, 0x1d, 0x7a, 0x50, 0x59, 0x7b, 0x8d, 0xec, 0xc7, 0x95, 0xe3, 0xc8, 0x7e, 0xfc, 0x55, 0x0b, + 0x4e, 0x35, 0x3b, 0xe5, 0x0e, 0x17, 0xf9, 0x77, 0x7f, 0xfe, 0x08, 0xd9, 0xd4, 0x8d, 0xaa, 0x59, + 0xb6, 0x81, 0x8e, 0x64, 0xb8, 0x73, 0xc5, 0x32, 0x8d, 0xf2, 0xf0, 0xfb, 0x4f, 0xa3, 0x7c, 0xdc, + 0x89, 0x7a, 0xd3, 0xa4, 0xca, 0xa3, 0xc7, 0x92, 0x54, 0x79, 0xec, 0x01, 0x26, 0x55, 0xd6, 0xd2, + 0x21, 0x8f, 0x3f, 0xd8, 0x74, 0xc8, 0x5b, 0xe6, 0xbe, 0xc4, 0xb3, 0xef, 0xbe, 0x5c, 0x78, 0x5f, + 0x32, 0x6a, 0x38, 0x7c, 0x67, 0xe2, 0x89, 0xa1, 0x27, 0xdf, 0x67, 0x62, 0x68, 0x23, 0xbd, 0x32, + 0x3a, 0x8e, 0xf4, 0xca, 0xef, 0xe8, 0x3b, 0xe8, 0x54, 0x91, 0x1a, 0xd4, 0x46, 0xd9, 0x5e, 0x43, + 0xa7, 0x3d, 0xb4, 0x3d, 0x81, 0xf3, 0xf4, 0x49, 0x27, 0x70, 0x3e, 0x75, 0x8c, 0x09, 0x9c, 0x4f, + 0x9f, 0x68, 0x02, 0xe7, 0x47, 0x1e, 0x92, 0x04, 0xce, 0x33, 0x27, 0x95, 0xc0, 0xf9, 0xd1, 0x07, + 0x9a, 0xc0, 0x99, 0x7e, 0xba, 0xa6, 0x8c, 0x32, 0x9b, 0x99, 0x2d, 0xf2, 0xe9, 0x3a, 0x06, 0xa5, + 0xf1, 0x4f, 0xa7, 0x50, 0x38, 0x65, 0x6a, 0xff, 0x15, 0x38, 0x73, 0xf8, 0xd4, 0x4d, 0x1d, 0x3a, + 0x6a, 0xa9, 0x59, 0x2d, 0xe3, 0xd0, 0xc1, 0xd4, 0x42, 0x8d, 0xaa, 0x70, 0x86, 0xd9, 0x6f, 0x59, + 0xf0, 0x48, 0x97, 0x04, 0x8c, 0x85, 0x43, 0x34, 0x9b, 0x30, 0xde, 0x34, 0x8b, 0x16, 0x8e, 0xf8, + 0x36, 0x12, 0x3e, 0x2a, 0x37, 0xfa, 0x0c, 0x02, 0x67, 0xd9, 0x2f, 0x7d, 0xe8, 0x87, 0x3f, 0x3e, + 0xf3, 0x81, 0x1f, 0xfd, 0xf8, 0xcc, 0x07, 0xfe, 0xf8, 0xc7, 0x67, 0x3e, 0xf0, 0x0b, 0xfb, 0x67, + 0xac, 0x1f, 0xee, 0x9f, 0xb1, 0x7e, 0xb4, 0x7f, 0xc6, 0xfa, 0xb3, 0xfd, 0x33, 0xd6, 0x57, 0x7f, + 0x72, 0xe6, 0x03, 0x6f, 0x96, 0x76, 0x5e, 0xf8, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xed, 0xa2, + 0x50, 0xde, 0xce, 0xc9, 0x00, 0x00, } diff --git a/pkg/api/v1/generated.proto b/pkg/api/v1/generated.proto index de93ef4d..ab52bade 100644 --- a/pkg/api/v1/generated.proto +++ b/pkg/api/v1/generated.proto @@ -245,6 +245,8 @@ message ComponentStatus { // List of component conditions observed // +optional + // +patchMergeKey=type + // +patchStrategy=merge repeated ComponentCondition conditions = 2; } @@ -415,6 +417,8 @@ message Container { // accessible from the network. // Cannot be updated. // +optional + // +patchMergeKey=containerPort + // +patchStrategy=merge repeated ContainerPort ports = 6; // List of sources to populate environment variables in the container. @@ -429,6 +433,8 @@ message Container { // List of environment variables to set in the container. // Cannot be updated. // +optional + // +patchMergeKey=name + // +patchStrategy=merge repeated EnvVar env = 7; // Compute Resources required by this container. @@ -440,6 +446,8 @@ message Container { // Pod volumes to mount into the container's filesystem. // Cannot be updated. // +optional + // +patchMergeKey=mountPath + // +patchStrategy=merge repeated VolumeMount volumeMounts = 9; // Periodic probe of container liveness. @@ -1227,6 +1235,18 @@ message ISCSIVolumeSource { // is other than default (typically TCP ports 860 and 3260). // +optional repeated string portals = 7; + + // whether support iSCSI Discovery CHAP authentication + // +optional + optional bool chapAuthDiscovery = 8; + + // whether support iSCSI Session CHAP authentication + // +optional + optional bool chapAuthSession = 11; + + // CHAP secret for iSCSI target and initiator authentication + // +optional + optional LocalObjectReference secretRef = 10; } // Maps a string key to a path within a volume. @@ -1591,6 +1611,8 @@ message NodeSelector { // that relates the key and values. message NodeSelectorRequirement { // The label key that the selector applies to. + // +patchMergeKey=key + // +patchStrategy=merge optional string key = 1; // Represents a key's relationship to a set of values. @@ -1658,12 +1680,16 @@ message NodeStatus { // Conditions is an array of current observed node conditions. // More info: http://releases.k8s.io/HEAD/docs/admin/node.md#node-condition // +optional + // +patchMergeKey=type + // +patchStrategy=merge repeated NodeCondition conditions = 4; // List of addresses reachable to the node. // Queried from cloud provider, if available. // More info: http://releases.k8s.io/HEAD/docs/admin/node.md#node-addresses // +optional + // +patchMergeKey=type + // +patchStrategy=merge repeated NodeAddress addresses = 5; // Endpoints of daemons running on the Node. @@ -1869,6 +1895,8 @@ message ObjectMeta { // then an entry in this list will point to this controller, with the controller field set to true. // There cannot be more than one managing controller. // +optional + // +patchMergeKey=uid + // +patchStrategy=merge repeated k8s.io.apimachinery.pkg.apis.meta.v1.OwnerReference ownerReferences = 13; // Must be empty before the object is deleted from the registry. Each entry @@ -1876,6 +1904,7 @@ message ObjectMeta { // from the list. If the deletionTimestamp of the object is non-nil, entries // in this list can only be removed. // +optional + // +patchStrategy=merge repeated string finalizers = 14; // The name of the cluster which the object belongs to. @@ -2562,6 +2591,8 @@ message PodSpec { // List of volumes that can be mounted by containers belonging to the pod. // More info: http://kubernetes.io/docs/user-guide/volumes // +optional + // +patchMergeKey=name + // +patchStrategy=merge repeated Volume volumes = 1; // List of initialization containers belonging to the pod. @@ -2577,6 +2608,8 @@ message PodSpec { // Init containers cannot currently be added or removed. // Cannot be updated. // More info: http://kubernetes.io/docs/user-guide/containers + // +patchMergeKey=name + // +patchStrategy=merge repeated Container initContainers = 20; // List of containers belonging to the pod. @@ -2584,6 +2617,8 @@ message PodSpec { // There must be at least one container in a Pod. // Cannot be updated. // More info: http://kubernetes.io/docs/user-guide/containers + // +patchMergeKey=name + // +patchStrategy=merge repeated Container containers = 2; // Restart policy for all containers within the pod. @@ -2672,6 +2707,8 @@ message PodSpec { // in the case of docker, only DockerConfig type secrets are honored. // More info: http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod // +optional + // +patchMergeKey=name + // +patchStrategy=merge repeated LocalObjectReference imagePullSecrets = 15; // Specifies the hostname of the Pod @@ -2709,6 +2746,8 @@ message PodStatus { // Current service state of pod. // More info: http://kubernetes.io/docs/user-guide/pod-states#pod-conditions // +optional + // +patchMergeKey=type + // +patchStrategy=merge repeated PodCondition conditions = 2; // A human readable message indicating details about why the pod is in this condition. @@ -3107,6 +3146,8 @@ message ReplicationControllerStatus { // Represents the latest available observations of a replication controller's current state. // +optional + // +patchMergeKey=type + // +patchStrategy=merge repeated ReplicationControllerCondition conditions = 6; } @@ -3468,6 +3509,8 @@ message ServiceAccount { // Secrets is the list of secrets allowed to be used by pods running using this ServiceAccount. // More info: http://kubernetes.io/docs/user-guide/secrets // +optional + // +patchMergeKey=name + // +patchStrategy=merge repeated ObjectReference secrets = 2; // ImagePullSecrets is a list of references to secrets in the same namespace to use for pulling any images @@ -3558,6 +3601,8 @@ message ServiceProxyOptions { message ServiceSpec { // The list of ports that are exposed by this service. // More info: http://kubernetes.io/docs/user-guide/services#virtual-ips-and-service-proxies + // +patchMergeKey=port + // +patchStrategy=merge repeated ServicePort ports = 1; // Route service traffic to pods with label keys and values matching this @@ -3677,6 +3722,8 @@ message TCPSocketAction { // any pod that that does not tolerate the Taint. message Taint { // Required. The taint key to be applied to a node. + // +patchMergeKey=key + // +patchStrategy=merge optional string key = 1; // Required. The taint value corresponding to the taint key. @@ -3700,6 +3747,8 @@ message Toleration { // Key is the taint key that the toleration applies to. Empty means match all taint keys. // If the key is empty, operator must be Exists; this combination means to match all values and all keys. // +optional + // +patchMergeKey=key + // +patchStrategy=merge optional string key = 1; // Operator represents a key's relationship to the value. diff --git a/pkg/api/v1/helpers.go b/pkg/api/v1/helpers.go index 01f4ef47..340ba63a 100644 --- a/pkg/api/v1/helpers.go +++ b/pkg/api/v1/helpers.go @@ -276,9 +276,9 @@ const ( AffinityAnnotationKey string = "scheduler.alpha.kubernetes.io/affinity" ) -// Tries to add a toleration to annotations list. Returns true if something was updated -// false otherwise. -func AddOrUpdateTolerationInPod(pod *Pod, toleration *Toleration) (bool, error) { +// AddOrUpdateTolerationInPod tries to add a toleration to the pod's toleration list. +// Returns true if something was updated, false otherwise. +func AddOrUpdateTolerationInPod(pod *Pod, toleration *Toleration) bool { podTolerations := pod.Spec.Tolerations var newTolerations []Toleration @@ -286,7 +286,7 @@ func AddOrUpdateTolerationInPod(pod *Pod, toleration *Toleration) (bool, error) for i := range podTolerations { if toleration.MatchToleration(&podTolerations[i]) { if api.Semantic.DeepEqual(toleration, podTolerations[i]) { - return false, nil + return false } newTolerations = append(newTolerations, *toleration) updated = true @@ -301,7 +301,7 @@ func AddOrUpdateTolerationInPod(pod *Pod, toleration *Toleration) (bool, error) } pod.Spec.Tolerations = newTolerations - return true, nil + return true } // MatchToleration checks if the toleration matches tolerationToMatch. Tolerations are unique by , diff --git a/pkg/api/v1/meta.go b/pkg/api/v1/meta.go index bb1ae2ff..20ca0634 100644 --- a/pkg/api/v1/meta.go +++ b/pkg/api/v1/meta.go @@ -35,6 +35,8 @@ func (meta *ObjectMeta) GetUID() types.UID { return meta.UID } func (meta *ObjectMeta) SetUID(uid types.UID) { meta.UID = uid } func (meta *ObjectMeta) GetResourceVersion() string { return meta.ResourceVersion } func (meta *ObjectMeta) SetResourceVersion(version string) { meta.ResourceVersion = version } +func (meta *ObjectMeta) GetGeneration() int64 { return meta.Generation } +func (meta *ObjectMeta) SetGeneration(generation int64) { meta.Generation = generation } func (meta *ObjectMeta) GetSelfLink() string { return meta.SelfLink } func (meta *ObjectMeta) SetSelfLink(selfLink string) { meta.SelfLink = selfLink } func (meta *ObjectMeta) GetCreationTimestamp() metav1.Time { return meta.CreationTimestamp } @@ -45,6 +47,10 @@ func (meta *ObjectMeta) GetDeletionTimestamp() *metav1.Time { return meta.Deleti func (meta *ObjectMeta) SetDeletionTimestamp(deletionTimestamp *metav1.Time) { meta.DeletionTimestamp = deletionTimestamp } +func (meta *ObjectMeta) GetDeletionGracePeriodSeconds() *int64 { return meta.DeletionGracePeriodSeconds } +func (meta *ObjectMeta) SetDeletionGracePeriodSeconds(deletionGracePeriodSeconds *int64) { + meta.DeletionGracePeriodSeconds = deletionGracePeriodSeconds +} func (meta *ObjectMeta) GetLabels() map[string]string { return meta.Labels } func (meta *ObjectMeta) SetLabels(labels map[string]string) { meta.Labels = labels } func (meta *ObjectMeta) GetAnnotations() map[string]string { return meta.Annotations } diff --git a/pkg/api/v1/resource_helpers.go b/pkg/api/v1/resource_helpers.go index ec842327..b80efd18 100644 --- a/pkg/api/v1/resource_helpers.go +++ b/pkg/api/v1/resource_helpers.go @@ -17,10 +17,14 @@ limitations under the License. package v1 import ( + "fmt" + "math" + "strconv" "time" "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/client-go/pkg/api" ) // Returns string version of ResourceName. @@ -255,3 +259,100 @@ func GetResourceRequest(pod *Pod, resource ResourceName) int64 { } return totalResources } + +// ExtractResourceValueByContainerName extracts the value of a resource +// by providing container name +func ExtractResourceValueByContainerName(fs *ResourceFieldSelector, pod *Pod, containerName string) (string, error) { + container, err := findContainerInPod(pod, containerName) + if err != nil { + return "", err + } + return ExtractContainerResourceValue(fs, container) +} + +// ExtractResourceValueByContainerNameAndNodeAllocatable extracts the value of a resource +// by providing container name and node allocatable +func ExtractResourceValueByContainerNameAndNodeAllocatable(fs *ResourceFieldSelector, pod *Pod, containerName string, nodeAllocatable ResourceList) (string, error) { + realContainer, err := findContainerInPod(pod, containerName) + if err != nil { + return "", err + } + + containerCopy, err := api.Scheme.DeepCopy(realContainer) + if err != nil { + return "", fmt.Errorf("failed to perform a deep copy of container object: %v", err) + } + + container, ok := containerCopy.(*Container) + if !ok { + return "", fmt.Errorf("unexpected type returned from deep copy of container object") + } + + MergeContainerResourceLimits(container, nodeAllocatable) + + return ExtractContainerResourceValue(fs, container) +} + +// ExtractContainerResourceValue extracts the value of a resource +// in an already known container +func ExtractContainerResourceValue(fs *ResourceFieldSelector, container *Container) (string, error) { + divisor := resource.Quantity{} + if divisor.Cmp(fs.Divisor) == 0 { + divisor = resource.MustParse("1") + } else { + divisor = fs.Divisor + } + + switch fs.Resource { + case "limits.cpu": + return convertResourceCPUToString(container.Resources.Limits.Cpu(), divisor) + case "limits.memory": + return convertResourceMemoryToString(container.Resources.Limits.Memory(), divisor) + case "requests.cpu": + return convertResourceCPUToString(container.Resources.Requests.Cpu(), divisor) + case "requests.memory": + return convertResourceMemoryToString(container.Resources.Requests.Memory(), divisor) + } + + return "", fmt.Errorf("Unsupported container resource : %v", fs.Resource) +} + +// convertResourceCPUToString converts cpu value to the format of divisor and returns +// ceiling of the value. +func convertResourceCPUToString(cpu *resource.Quantity, divisor resource.Quantity) (string, error) { + c := int64(math.Ceil(float64(cpu.MilliValue()) / float64(divisor.MilliValue()))) + return strconv.FormatInt(c, 10), nil +} + +// convertResourceMemoryToString converts memory value to the format of divisor and returns +// ceiling of the value. +func convertResourceMemoryToString(memory *resource.Quantity, divisor resource.Quantity) (string, error) { + m := int64(math.Ceil(float64(memory.Value()) / float64(divisor.Value()))) + return strconv.FormatInt(m, 10), nil +} + +// findContainerInPod finds a container by its name in the provided pod +func findContainerInPod(pod *Pod, containerName string) (*Container, error) { + for _, container := range pod.Spec.Containers { + if container.Name == containerName { + return &container, nil + } + } + return nil, fmt.Errorf("container %s not found", containerName) +} + +// MergeContainerResourceLimits checks if a limit is applied for +// the container, and if not, it sets the limit to the passed resource list. +func MergeContainerResourceLimits(container *Container, + allocatable ResourceList) { + if container.Resources.Limits == nil { + container.Resources.Limits = make(ResourceList) + } + for _, resource := range []ResourceName{ResourceCPU, ResourceMemory} { + if quantity, exists := container.Resources.Limits[resource]; !exists || quantity.IsZero() { + if cap, exists := allocatable[resource]; exists { + container.Resources.Limits[resource] = *cap.Copy() + } + } + } +} diff --git a/pkg/api/v1/types.generated.go b/pkg/api/v1/types.generated.go index c63954cf..9fc75110 100644 --- a/pkg/api/v1/types.generated.go +++ b/pkg/api/v1/types.generated.go @@ -15958,16 +15958,19 @@ func (x *ISCSIVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) { } else { yysep2 := !z.EncBinary() yy2arr2 := z.EncBasicHandle().StructToArray - var yyq2 [7]bool + var yyq2 [10]bool _, _, _ = yysep2, yyq2, yy2arr2 const yyr2 bool = false yyq2[3] = x.ISCSIInterface != "" yyq2[4] = x.FSType != "" yyq2[5] = x.ReadOnly != false yyq2[6] = len(x.Portals) != 0 + yyq2[7] = x.DiscoveryCHAPAuth != false + yyq2[8] = x.SessionCHAPAuth != false + yyq2[9] = x.SecretRef != nil var yynn2 int if yyr2 || yy2arr2 { - r.EncodeArrayStart(7) + r.EncodeArrayStart(10) } else { yynn2 = 3 for _, b := range yyq2 { @@ -16143,6 +16146,79 @@ func (x *ISCSIVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) { } } } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayElem1234) + if yyq2[7] { + yym25 := z.EncBinary() + _ = yym25 + if false { + } else { + r.EncodeBool(bool(x.DiscoveryCHAPAuth)) + } + } else { + r.EncodeBool(false) + } + } else { + if yyq2[7] { + z.EncSendContainerState(codecSelfer_containerMapKey1234) + r.EncodeString(codecSelferC_UTF81234, string("chapAuthDiscovery")) + z.EncSendContainerState(codecSelfer_containerMapValue1234) + yym26 := z.EncBinary() + _ = yym26 + if false { + } else { + r.EncodeBool(bool(x.DiscoveryCHAPAuth)) + } + } + } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayElem1234) + if yyq2[8] { + yym28 := z.EncBinary() + _ = yym28 + if false { + } else { + r.EncodeBool(bool(x.SessionCHAPAuth)) + } + } else { + r.EncodeBool(false) + } + } else { + if yyq2[8] { + z.EncSendContainerState(codecSelfer_containerMapKey1234) + r.EncodeString(codecSelferC_UTF81234, string("chapAuthSession")) + z.EncSendContainerState(codecSelfer_containerMapValue1234) + yym29 := z.EncBinary() + _ = yym29 + if false { + } else { + r.EncodeBool(bool(x.SessionCHAPAuth)) + } + } + } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayElem1234) + if yyq2[9] { + if x.SecretRef == nil { + r.EncodeNil() + } else { + x.SecretRef.CodecEncodeSelf(e) + } + } else { + r.EncodeNil() + } + } else { + if yyq2[9] { + z.EncSendContainerState(codecSelfer_containerMapKey1234) + r.EncodeString(codecSelferC_UTF81234, string("secretRef")) + z.EncSendContainerState(codecSelfer_containerMapValue1234) + if x.SecretRef == nil { + r.EncodeNil() + } else { + x.SecretRef.CodecEncodeSelf(e) + } + } + } if yyr2 || yy2arr2 { z.EncSendContainerState(codecSelfer_containerArrayEnd1234) } else { @@ -16288,6 +16364,41 @@ func (x *ISCSIVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) z.F.DecSliceStringX(yyv16, false, d) } } + case "chapAuthDiscovery": + if r.TryDecodeAsNil() { + x.DiscoveryCHAPAuth = false + } else { + yyv18 := &x.DiscoveryCHAPAuth + yym19 := z.DecBinary() + _ = yym19 + if false { + } else { + *((*bool)(yyv18)) = r.DecodeBool() + } + } + case "chapAuthSession": + if r.TryDecodeAsNil() { + x.SessionCHAPAuth = false + } else { + yyv20 := &x.SessionCHAPAuth + yym21 := z.DecBinary() + _ = yym21 + if false { + } else { + *((*bool)(yyv20)) = r.DecodeBool() + } + } + case "secretRef": + if r.TryDecodeAsNil() { + if x.SecretRef != nil { + x.SecretRef = nil + } + } else { + if x.SecretRef == nil { + x.SecretRef = new(LocalObjectReference) + } + x.SecretRef.CodecDecodeSelf(d) + } default: z.DecStructFieldNotFound(-1, yys3) } // end switch yys3 @@ -16299,16 +16410,16 @@ func (x *ISCSIVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder var h codecSelfer1234 z, r := codec1978.GenHelperDecoder(d) _, _, _ = h, z, r - var yyj18 int - var yyb18 bool - var yyhl18 bool = l >= 0 - yyj18++ - if yyhl18 { - yyb18 = yyj18 > l + var yyj23 int + var yyb23 bool + var yyhl23 bool = l >= 0 + yyj23++ + if yyhl23 { + yyb23 = yyj23 > l } else { - yyb18 = r.CheckBreak() + yyb23 = r.CheckBreak() } - if yyb18 { + if yyb23 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -16316,21 +16427,21 @@ func (x *ISCSIVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder if r.TryDecodeAsNil() { x.TargetPortal = "" } else { - yyv19 := &x.TargetPortal - yym20 := z.DecBinary() - _ = yym20 + yyv24 := &x.TargetPortal + yym25 := z.DecBinary() + _ = yym25 if false { } else { - *((*string)(yyv19)) = r.DecodeString() + *((*string)(yyv24)) = r.DecodeString() } } - yyj18++ - if yyhl18 { - yyb18 = yyj18 > l + yyj23++ + if yyhl23 { + yyb23 = yyj23 > l } else { - yyb18 = r.CheckBreak() + yyb23 = r.CheckBreak() } - if yyb18 { + if yyb23 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -16338,21 +16449,21 @@ func (x *ISCSIVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder if r.TryDecodeAsNil() { x.IQN = "" } else { - yyv21 := &x.IQN - yym22 := z.DecBinary() - _ = yym22 + yyv26 := &x.IQN + yym27 := z.DecBinary() + _ = yym27 if false { } else { - *((*string)(yyv21)) = r.DecodeString() + *((*string)(yyv26)) = r.DecodeString() } } - yyj18++ - if yyhl18 { - yyb18 = yyj18 > l + yyj23++ + if yyhl23 { + yyb23 = yyj23 > l } else { - yyb18 = r.CheckBreak() + yyb23 = r.CheckBreak() } - if yyb18 { + if yyb23 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -16360,21 +16471,21 @@ func (x *ISCSIVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder if r.TryDecodeAsNil() { x.Lun = 0 } else { - yyv23 := &x.Lun - yym24 := z.DecBinary() - _ = yym24 + yyv28 := &x.Lun + yym29 := z.DecBinary() + _ = yym29 if false { } else { - *((*int32)(yyv23)) = int32(r.DecodeInt(32)) + *((*int32)(yyv28)) = int32(r.DecodeInt(32)) } } - yyj18++ - if yyhl18 { - yyb18 = yyj18 > l + yyj23++ + if yyhl23 { + yyb23 = yyj23 > l } else { - yyb18 = r.CheckBreak() + yyb23 = r.CheckBreak() } - if yyb18 { + if yyb23 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -16382,21 +16493,21 @@ func (x *ISCSIVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder if r.TryDecodeAsNil() { x.ISCSIInterface = "" } else { - yyv25 := &x.ISCSIInterface - yym26 := z.DecBinary() - _ = yym26 + yyv30 := &x.ISCSIInterface + yym31 := z.DecBinary() + _ = yym31 if false { } else { - *((*string)(yyv25)) = r.DecodeString() + *((*string)(yyv30)) = r.DecodeString() } } - yyj18++ - if yyhl18 { - yyb18 = yyj18 > l + yyj23++ + if yyhl23 { + yyb23 = yyj23 > l } else { - yyb18 = r.CheckBreak() + yyb23 = r.CheckBreak() } - if yyb18 { + if yyb23 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -16404,21 +16515,21 @@ func (x *ISCSIVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder if r.TryDecodeAsNil() { x.FSType = "" } else { - yyv27 := &x.FSType - yym28 := z.DecBinary() - _ = yym28 + yyv32 := &x.FSType + yym33 := z.DecBinary() + _ = yym33 if false { } else { - *((*string)(yyv27)) = r.DecodeString() + *((*string)(yyv32)) = r.DecodeString() } } - yyj18++ - if yyhl18 { - yyb18 = yyj18 > l + yyj23++ + if yyhl23 { + yyb23 = yyj23 > l } else { - yyb18 = r.CheckBreak() + yyb23 = r.CheckBreak() } - if yyb18 { + if yyb23 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -16426,21 +16537,21 @@ func (x *ISCSIVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder if r.TryDecodeAsNil() { x.ReadOnly = false } else { - yyv29 := &x.ReadOnly - yym30 := z.DecBinary() - _ = yym30 + yyv34 := &x.ReadOnly + yym35 := z.DecBinary() + _ = yym35 if false { } else { - *((*bool)(yyv29)) = r.DecodeBool() + *((*bool)(yyv34)) = r.DecodeBool() } } - yyj18++ - if yyhl18 { - yyb18 = yyj18 > l + yyj23++ + if yyhl23 { + yyb23 = yyj23 > l } else { - yyb18 = r.CheckBreak() + yyb23 = r.CheckBreak() } - if yyb18 { + if yyb23 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -16448,26 +16559,91 @@ func (x *ISCSIVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder if r.TryDecodeAsNil() { x.Portals = nil } else { - yyv31 := &x.Portals - yym32 := z.DecBinary() - _ = yym32 + yyv36 := &x.Portals + yym37 := z.DecBinary() + _ = yym37 if false { } else { - z.F.DecSliceStringX(yyv31, false, d) + z.F.DecSliceStringX(yyv36, false, d) } } - for { - yyj18++ - if yyhl18 { - yyb18 = yyj18 > l + yyj23++ + if yyhl23 { + yyb23 = yyj23 > l + } else { + yyb23 = r.CheckBreak() + } + if yyb23 { + z.DecSendContainerState(codecSelfer_containerArrayEnd1234) + return + } + z.DecSendContainerState(codecSelfer_containerArrayElem1234) + if r.TryDecodeAsNil() { + x.DiscoveryCHAPAuth = false + } else { + yyv38 := &x.DiscoveryCHAPAuth + yym39 := z.DecBinary() + _ = yym39 + if false { } else { - yyb18 = r.CheckBreak() + *((*bool)(yyv38)) = r.DecodeBool() } - if yyb18 { + } + yyj23++ + if yyhl23 { + yyb23 = yyj23 > l + } else { + yyb23 = r.CheckBreak() + } + if yyb23 { + z.DecSendContainerState(codecSelfer_containerArrayEnd1234) + return + } + z.DecSendContainerState(codecSelfer_containerArrayElem1234) + if r.TryDecodeAsNil() { + x.SessionCHAPAuth = false + } else { + yyv40 := &x.SessionCHAPAuth + yym41 := z.DecBinary() + _ = yym41 + if false { + } else { + *((*bool)(yyv40)) = r.DecodeBool() + } + } + yyj23++ + if yyhl23 { + yyb23 = yyj23 > l + } else { + yyb23 = r.CheckBreak() + } + if yyb23 { + z.DecSendContainerState(codecSelfer_containerArrayEnd1234) + return + } + z.DecSendContainerState(codecSelfer_containerArrayElem1234) + if r.TryDecodeAsNil() { + if x.SecretRef != nil { + x.SecretRef = nil + } + } else { + if x.SecretRef == nil { + x.SecretRef = new(LocalObjectReference) + } + x.SecretRef.CodecDecodeSelf(d) + } + for { + yyj23++ + if yyhl23 { + yyb23 = yyj23 > l + } else { + yyb23 = r.CheckBreak() + } + if yyb23 { break } z.DecSendContainerState(codecSelfer_containerArrayElem1234) - z.DecStructFieldNotFound(yyj18-1, "") + z.DecStructFieldNotFound(yyj23-1, "") } z.DecSendContainerState(codecSelfer_containerArrayEnd1234) } diff --git a/pkg/api/v1/types.go b/pkg/api/v1/types.go index 4aeec9ee..cf298521 100644 --- a/pkg/api/v1/types.go +++ b/pkg/api/v1/types.go @@ -197,6 +197,8 @@ type ObjectMeta struct { // then an entry in this list will point to this controller, with the controller field set to true. // There cannot be more than one managing controller. // +optional + // +patchMergeKey=uid + // +patchStrategy=merge OwnerReferences []metav1.OwnerReference `json:"ownerReferences,omitempty" patchStrategy:"merge" patchMergeKey:"uid" protobuf:"bytes,13,rep,name=ownerReferences"` // Must be empty before the object is deleted from the registry. Each entry @@ -204,6 +206,7 @@ type ObjectMeta struct { // from the list. If the deletionTimestamp of the object is non-nil, entries // in this list can only be removed. // +optional + // +patchStrategy=merge Finalizers []string `json:"finalizers,omitempty" patchStrategy:"merge" protobuf:"bytes,14,rep,name=finalizers"` // The name of the cluster which the object belongs to. @@ -1042,6 +1045,15 @@ type ISCSIVolumeSource struct { // is other than default (typically TCP ports 860 and 3260). // +optional Portals []string `json:"portals,omitempty" protobuf:"bytes,7,opt,name=portals"` + // whether support iSCSI Discovery CHAP authentication + // +optional + DiscoveryCHAPAuth bool `json:"chapAuthDiscovery,omitempty" protobuf:"varint,8,opt,name=chapAuthDiscovery"` + // whether support iSCSI Session CHAP authentication + // +optional + SessionCHAPAuth bool `json:"chapAuthSession,omitempty" protobuf:"varint,11,opt,name=chapAuthSession"` + // CHAP secret for iSCSI target and initiator authentication + // +optional + SecretRef *LocalObjectReference `json:"secretRef,omitempty" protobuf:"bytes,10,opt,name=secretRef"` } // Represents a Fibre Channel volume. @@ -1632,6 +1644,8 @@ type Container struct { // accessible from the network. // Cannot be updated. // +optional + // +patchMergeKey=containerPort + // +patchStrategy=merge Ports []ContainerPort `json:"ports,omitempty" patchStrategy:"merge" patchMergeKey:"containerPort" protobuf:"bytes,6,rep,name=ports"` // List of sources to populate environment variables in the container. // The keys defined within a source must be a C_IDENTIFIER. All invalid keys @@ -1644,6 +1658,8 @@ type Container struct { // List of environment variables to set in the container. // Cannot be updated. // +optional + // +patchMergeKey=name + // +patchStrategy=merge Env []EnvVar `json:"env,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,7,rep,name=env"` // Compute Resources required by this container. // Cannot be updated. @@ -1653,6 +1669,8 @@ type Container struct { // Pod volumes to mount into the container's filesystem. // Cannot be updated. // +optional + // +patchMergeKey=mountPath + // +patchStrategy=merge VolumeMounts []VolumeMount `json:"volumeMounts,omitempty" patchStrategy:"merge" patchMergeKey:"mountPath" protobuf:"bytes,9,rep,name=volumeMounts"` // Periodic probe of container liveness. // Container will be restarted if the probe fails. @@ -1973,6 +1991,8 @@ type NodeSelectorTerm struct { // that relates the key and values. type NodeSelectorRequirement struct { // The label key that the selector applies to. + // +patchMergeKey=key + // +patchStrategy=merge Key string `json:"key" patchStrategy:"merge" patchMergeKey:"key" protobuf:"bytes,1,opt,name=key"` // Represents a key's relationship to a set of values. // Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. @@ -2157,6 +2177,8 @@ type PreferredSchedulingTerm struct { // any pod that that does not tolerate the Taint. type Taint struct { // Required. The taint key to be applied to a node. + // +patchMergeKey=key + // +patchStrategy=merge Key string `json:"key" patchStrategy:"merge" patchMergeKey:"key" protobuf:"bytes,1,opt,name=key"` // Required. The taint value corresponding to the taint key. // +optional @@ -2199,6 +2221,8 @@ type Toleration struct { // Key is the taint key that the toleration applies to. Empty means match all taint keys. // If the key is empty, operator must be Exists; this combination means to match all values and all keys. // +optional + // +patchMergeKey=key + // +patchStrategy=merge Key string `json:"key,omitempty" patchStrategy:"merge" patchMergeKey:"key" protobuf:"bytes,1,opt,name=key"` // Operator represents a key's relationship to the value. // Valid operators are Exists and Equal. Defaults to Equal. @@ -2256,6 +2280,8 @@ type PodSpec struct { // List of volumes that can be mounted by containers belonging to the pod. // More info: http://kubernetes.io/docs/user-guide/volumes // +optional + // +patchMergeKey=name + // +patchStrategy=merge Volumes []Volume `json:"volumes,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,1,rep,name=volumes"` // List of initialization containers belonging to the pod. // Init containers are executed in order prior to containers being started. If any @@ -2270,12 +2296,16 @@ type PodSpec struct { // Init containers cannot currently be added or removed. // Cannot be updated. // More info: http://kubernetes.io/docs/user-guide/containers + // +patchMergeKey=name + // +patchStrategy=merge InitContainers []Container `json:"initContainers,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,20,rep,name=initContainers"` // List of containers belonging to the pod. // Containers cannot currently be added or removed. // There must be at least one container in a Pod. // Cannot be updated. // More info: http://kubernetes.io/docs/user-guide/containers + // +patchMergeKey=name + // +patchStrategy=merge Containers []Container `json:"containers" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,2,rep,name=containers"` // Restart policy for all containers within the pod. // One of Always, OnFailure, Never. @@ -2352,6 +2382,8 @@ type PodSpec struct { // in the case of docker, only DockerConfig type secrets are honored. // More info: http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod // +optional + // +patchMergeKey=name + // +patchStrategy=merge ImagePullSecrets []LocalObjectReference `json:"imagePullSecrets,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,15,rep,name=imagePullSecrets"` // Specifies the hostname of the Pod // If not specified, the pod's hostname will be set to a system-defined value. @@ -2439,6 +2471,8 @@ type PodStatus struct { // Current service state of pod. // More info: http://kubernetes.io/docs/user-guide/pod-states#pod-conditions // +optional + // +patchMergeKey=type + // +patchStrategy=merge Conditions []PodCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,2,rep,name=conditions"` // A human readable message indicating details about why the pod is in this condition. // +optional @@ -2635,6 +2669,8 @@ type ReplicationControllerStatus struct { // Represents the latest available observations of a replication controller's current state. // +optional + // +patchMergeKey=type + // +patchStrategy=merge Conditions []ReplicationControllerCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,6,rep,name=conditions"` } @@ -2772,6 +2808,8 @@ type LoadBalancerIngress struct { type ServiceSpec struct { // The list of ports that are exposed by this service. // More info: http://kubernetes.io/docs/user-guide/services#virtual-ips-and-service-proxies + // +patchMergeKey=port + // +patchStrategy=merge Ports []ServicePort `json:"ports,omitempty" patchStrategy:"merge" patchMergeKey:"port" protobuf:"bytes,1,rep,name=ports"` // Route service traffic to pods with label keys and values matching this @@ -2957,6 +2995,8 @@ type ServiceAccount struct { // Secrets is the list of secrets allowed to be used by pods running using this ServiceAccount. // More info: http://kubernetes.io/docs/user-guide/secrets // +optional + // +patchMergeKey=name + // +patchStrategy=merge Secrets []ObjectReference `json:"secrets,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,2,rep,name=secrets"` // ImagePullSecrets is a list of references to secrets in the same namespace to use for pulling any images @@ -3177,11 +3217,15 @@ type NodeStatus struct { // Conditions is an array of current observed node conditions. // More info: http://releases.k8s.io/HEAD/docs/admin/node.md#node-condition // +optional + // +patchMergeKey=type + // +patchStrategy=merge Conditions []NodeCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,4,rep,name=conditions"` // List of addresses reachable to the node. // Queried from cloud provider, if available. // More info: http://releases.k8s.io/HEAD/docs/admin/node.md#node-addresses // +optional + // +patchMergeKey=type + // +patchStrategy=merge Addresses []NodeAddress `json:"addresses,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,5,rep,name=addresses"` // Endpoints of daemons running on the Node. // +optional @@ -4230,6 +4274,8 @@ type ComponentStatus struct { // List of component conditions observed // +optional + // +patchMergeKey=type + // +patchStrategy=merge Conditions []ComponentCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,2,rep,name=conditions"` } diff --git a/pkg/api/v1/types_swagger_doc_generated.go b/pkg/api/v1/types_swagger_doc_generated.go index c0218ec2..2ce42809 100644 --- a/pkg/api/v1/types_swagger_doc_generated.go +++ b/pkg/api/v1/types_swagger_doc_generated.go @@ -650,14 +650,17 @@ func (HostPathVolumeSource) SwaggerDoc() map[string]string { } var map_ISCSIVolumeSource = map[string]string{ - "": "Represents an ISCSI disk. ISCSI volumes can only be mounted as read/write once. ISCSI volumes support ownership management and SELinux relabeling.", - "targetPortal": "iSCSI target portal. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260).", - "iqn": "Target iSCSI Qualified Name.", - "lun": "iSCSI target lun number.", - "iscsiInterface": "Optional: Defaults to 'default' (tcp). iSCSI interface name that uses an iSCSI transport.", - "fsType": "Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: http://kubernetes.io/docs/user-guide/volumes#iscsi", - "readOnly": "ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false.", - "portals": "iSCSI target portal List. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260).", + "": "Represents an ISCSI disk. ISCSI volumes can only be mounted as read/write once. ISCSI volumes support ownership management and SELinux relabeling.", + "targetPortal": "iSCSI target portal. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260).", + "iqn": "Target iSCSI Qualified Name.", + "lun": "iSCSI target lun number.", + "iscsiInterface": "Optional: Defaults to 'default' (tcp). iSCSI interface name that uses an iSCSI transport.", + "fsType": "Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: http://kubernetes.io/docs/user-guide/volumes#iscsi", + "readOnly": "ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false.", + "portals": "iSCSI target portal List. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260).", + "chapAuthDiscovery": "whether support iSCSI Discovery CHAP authentication", + "chapAuthSession": "whether support iSCSI Session CHAP authentication", + "secretRef": "CHAP secret for iSCSI target and initiator authentication", } func (ISCSIVolumeSource) SwaggerDoc() map[string]string { diff --git a/pkg/api/v1/zz_generated.conversion.go b/pkg/api/v1/zz_generated.conversion.go index dc90aa31..555292b3 100644 --- a/pkg/api/v1/zz_generated.conversion.go +++ b/pkg/api/v1/zz_generated.conversion.go @@ -1706,6 +1706,9 @@ func autoConvert_v1_ISCSIVolumeSource_To_api_ISCSIVolumeSource(in *ISCSIVolumeSo out.FSType = in.FSType out.ReadOnly = in.ReadOnly out.Portals = *(*[]string)(unsafe.Pointer(&in.Portals)) + out.DiscoveryCHAPAuth = in.DiscoveryCHAPAuth + out.SessionCHAPAuth = in.SessionCHAPAuth + out.SecretRef = (*api.LocalObjectReference)(unsafe.Pointer(in.SecretRef)) return nil } @@ -1721,6 +1724,9 @@ func autoConvert_api_ISCSIVolumeSource_To_v1_ISCSIVolumeSource(in *api.ISCSIVolu out.FSType = in.FSType out.ReadOnly = in.ReadOnly out.Portals = *(*[]string)(unsafe.Pointer(&in.Portals)) + out.DiscoveryCHAPAuth = in.DiscoveryCHAPAuth + out.SessionCHAPAuth = in.SessionCHAPAuth + out.SecretRef = (*LocalObjectReference)(unsafe.Pointer(in.SecretRef)) return nil } diff --git a/pkg/api/v1/zz_generated.deepcopy.go b/pkg/api/v1/zz_generated.deepcopy.go index 463e9468..7e9d759c 100644 --- a/pkg/api/v1/zz_generated.deepcopy.go +++ b/pkg/api/v1/zz_generated.deepcopy.go @@ -1198,6 +1198,11 @@ func DeepCopy_v1_ISCSIVolumeSource(in interface{}, out interface{}, c *conversio *out = make([]string, len(*in)) copy(*out, *in) } + if in.SecretRef != nil { + in, out := &in.SecretRef, &out.SecretRef + *out = new(LocalObjectReference) + **out = **in + } return nil } } diff --git a/pkg/api/zz_generated.deepcopy.go b/pkg/api/zz_generated.deepcopy.go index c018bcc4..3b9fdbba 100644 --- a/pkg/api/zz_generated.deepcopy.go +++ b/pkg/api/zz_generated.deepcopy.go @@ -1226,6 +1226,11 @@ func DeepCopy_api_ISCSIVolumeSource(in interface{}, out interface{}, c *conversi *out = make([]string, len(*in)) copy(*out, *in) } + if in.SecretRef != nil { + in, out := &in.SecretRef, &out.SecretRef + *out = new(LocalObjectReference) + **out = **in + } return nil } } diff --git a/pkg/apis/apps/v1beta1/generated.proto b/pkg/apis/apps/v1beta1/generated.proto index 8ca77b2e..0ecf4ff3 100644 --- a/pkg/apis/apps/v1beta1/generated.proto +++ b/pkg/apis/apps/v1beta1/generated.proto @@ -167,6 +167,8 @@ message DeploymentStatus { optional int32 unavailableReplicas = 5; // Represents the latest available observations of a deployment's current state. + // +patchMergeKey=type + // +patchStrategy=merge repeated DeploymentCondition conditions = 6; } diff --git a/pkg/apis/apps/v1beta1/types.go b/pkg/apis/apps/v1beta1/types.go index a5675d5d..563140c0 100644 --- a/pkg/apis/apps/v1beta1/types.go +++ b/pkg/apis/apps/v1beta1/types.go @@ -327,6 +327,8 @@ type DeploymentStatus struct { UnavailableReplicas int32 `json:"unavailableReplicas,omitempty" protobuf:"varint,5,opt,name=unavailableReplicas"` // Represents the latest available observations of a deployment's current state. + // +patchMergeKey=type + // +patchStrategy=merge Conditions []DeploymentCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,6,rep,name=conditions"` } diff --git a/pkg/apis/batch/v1/generated.proto b/pkg/apis/batch/v1/generated.proto index 283da1c8..2789c46b 100644 --- a/pkg/apis/batch/v1/generated.proto +++ b/pkg/apis/batch/v1/generated.proto @@ -139,6 +139,8 @@ message JobStatus { // Conditions represent the latest available observations of an object's current state. // More info: http://kubernetes.io/docs/user-guide/jobs // +optional + // +patchMergeKey=type + // +patchStrategy=merge repeated JobCondition conditions = 1; // StartTime represents time when the job was acknowledged by the Job Manager. diff --git a/pkg/apis/batch/v1/types.go b/pkg/apis/batch/v1/types.go index 734e6204..6438aa9c 100644 --- a/pkg/apis/batch/v1/types.go +++ b/pkg/apis/batch/v1/types.go @@ -110,6 +110,8 @@ type JobStatus struct { // Conditions represent the latest available observations of an object's current state. // More info: http://kubernetes.io/docs/user-guide/jobs // +optional + // +patchMergeKey=type + // +patchStrategy=merge Conditions []JobCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` // StartTime represents time when the job was acknowledged by the Job Manager. diff --git a/pkg/apis/extensions/types.go b/pkg/apis/extensions/types.go index 945c5fa2..93888c1a 100644 --- a/pkg/apis/extensions/types.go +++ b/pkg/apis/extensions/types.go @@ -1061,21 +1061,17 @@ type NetworkPolicySpec struct { type NetworkPolicyIngressRule struct { // List of ports which should be made accessible on the pods selected for this rule. // Each item in this list is combined using a logical OR. - // If this field is not provided, this rule matches all ports (traffic not restricted by port). - // If this field is empty, this rule matches no ports (no traffic matches). + // If this field is empty or missing, this rule matches all ports (traffic not restricted by port). // If this field is present and contains at least one item, then this rule allows traffic // only if the traffic matches at least one port in the list. - // TODO: Update this to be a pointer to slice as soon as auto-generation supports it. // +optional Ports []NetworkPolicyPort // List of sources which should be able to access the pods selected for this rule. // Items in this list are combined using a logical OR operation. - // If this field is not provided, this rule matches all sources (traffic not restricted by source). - // If this field is empty, this rule matches no sources (no traffic matches). + // If this field is empty or missing, this rule matches all sources (traffic not restricted by source). // If this field is present and contains at least on item, this rule allows traffic only if the // traffic matches at least one item in the from list. - // TODO: Update this to be a pointer to slice as soon as auto-generation supports it. // +optional From []NetworkPolicyPeer } @@ -1100,7 +1096,6 @@ type NetworkPolicyPeer struct { // This is a label selector which selects Pods in this namespace. // This field follows standard label selector semantics. - // If not provided, this selector selects no pods. // If present but empty, this selector selects all pods in this namespace. // +optional PodSelector *metav1.LabelSelector @@ -1108,7 +1103,6 @@ type NetworkPolicyPeer struct { // Selects Namespaces using cluster scoped-labels. This // matches all pods in all namespaces selected by this label selector. // This field follows standard label selector semantics. - // If omitted, this selector selects no namespaces. // If present but empty, this selector selects all namespaces. // +optional NamespaceSelector *metav1.LabelSelector diff --git a/pkg/apis/extensions/v1beta1/defaults.go b/pkg/apis/extensions/v1beta1/defaults.go index 298c568d..3bc57b7f 100644 --- a/pkg/apis/extensions/v1beta1/defaults.go +++ b/pkg/apis/extensions/v1beta1/defaults.go @@ -127,7 +127,6 @@ func SetDefaults_ReplicaSet(obj *ReplicaSet) { func SetDefaults_NetworkPolicy(obj *NetworkPolicy) { // Default any undefined Protocol fields to TCP. for _, i := range obj.Spec.Ingress { - // TODO: Update Ports to be a pointer to slice as soon as auto-generation supports it. for _, p := range i.Ports { if p.Protocol == nil { proto := v1.ProtocolTCP diff --git a/pkg/apis/extensions/v1beta1/generated.proto b/pkg/apis/extensions/v1beta1/generated.proto index 8ba21bc9..a06339c5 100644 --- a/pkg/apis/extensions/v1beta1/generated.proto +++ b/pkg/apis/extensions/v1beta1/generated.proto @@ -321,6 +321,8 @@ message DeploymentStatus { optional int32 unavailableReplicas = 5; // Represents the latest available observations of a deployment's current state. + // +patchMergeKey=type + // +patchStrategy=merge repeated DeploymentCondition conditions = 6; } @@ -539,21 +541,17 @@ message NetworkPolicy { message NetworkPolicyIngressRule { // List of ports which should be made accessible on the pods selected for this rule. // Each item in this list is combined using a logical OR. - // If this field is not provided, this rule matches all ports (traffic not restricted by port). - // If this field is empty, this rule matches no ports (no traffic matches). + // If this field is empty or missing, this rule matches all ports (traffic not restricted by port). // If this field is present and contains at least one item, then this rule allows traffic // only if the traffic matches at least one port in the list. - // TODO: Update this to be a pointer to slice as soon as auto-generation supports it. // +optional repeated NetworkPolicyPort ports = 1; // List of sources which should be able to access the pods selected for this rule. // Items in this list are combined using a logical OR operation. - // If this field is not provided, this rule matches all sources (traffic not restricted by source). - // If this field is empty, this rule matches no sources (no traffic matches). + // If this field is empty or missing, this rule matches all sources (traffic not restricted by source). // If this field is present and contains at least on item, this rule allows traffic only if the // traffic matches at least one item in the from list. - // TODO: Update this to be a pointer to slice as soon as auto-generation supports it. // +optional repeated NetworkPolicyPeer from = 2; } @@ -572,7 +570,6 @@ message NetworkPolicyList { message NetworkPolicyPeer { // This is a label selector which selects Pods in this namespace. // This field follows standard label selector semantics. - // If not provided, this selector selects no pods. // If present but empty, this selector selects all pods in this namespace. // +optional optional k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector podSelector = 1; @@ -580,7 +577,6 @@ message NetworkPolicyPeer { // Selects Namespaces using cluster scoped-labels. This // matches all pods in all namespaces selected by this label selector. // This field follows standard label selector semantics. - // If omitted, this selector selects no namespaces. // If present but empty, this selector selects all namespaces. // +optional optional k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector namespaceSelector = 2; @@ -818,6 +814,8 @@ message ReplicaSetStatus { // Represents the latest available observations of a replica set's current state. // +optional + // +patchMergeKey=type + // +patchStrategy=merge repeated ReplicaSetCondition conditions = 6; } diff --git a/pkg/apis/extensions/v1beta1/types.go b/pkg/apis/extensions/v1beta1/types.go index 43dd2a9b..1ac2cf03 100644 --- a/pkg/apis/extensions/v1beta1/types.go +++ b/pkg/apis/extensions/v1beta1/types.go @@ -322,6 +322,8 @@ type DeploymentStatus struct { UnavailableReplicas int32 `json:"unavailableReplicas,omitempty" protobuf:"varint,5,opt,name=unavailableReplicas"` // Represents the latest available observations of a deployment's current state. + // +patchMergeKey=type + // +patchStrategy=merge Conditions []DeploymentCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,6,rep,name=conditions"` } @@ -802,6 +804,8 @@ type ReplicaSetStatus struct { // Represents the latest available observations of a replica set's current state. // +optional + // +patchMergeKey=type + // +patchStrategy=merge Conditions []ReplicaSetCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,6,rep,name=conditions"` } @@ -1081,21 +1085,17 @@ type NetworkPolicySpec struct { type NetworkPolicyIngressRule struct { // List of ports which should be made accessible on the pods selected for this rule. // Each item in this list is combined using a logical OR. - // If this field is not provided, this rule matches all ports (traffic not restricted by port). - // If this field is empty, this rule matches no ports (no traffic matches). + // If this field is empty or missing, this rule matches all ports (traffic not restricted by port). // If this field is present and contains at least one item, then this rule allows traffic // only if the traffic matches at least one port in the list. - // TODO: Update this to be a pointer to slice as soon as auto-generation supports it. // +optional Ports []NetworkPolicyPort `json:"ports,omitempty" protobuf:"bytes,1,rep,name=ports"` // List of sources which should be able to access the pods selected for this rule. // Items in this list are combined using a logical OR operation. - // If this field is not provided, this rule matches all sources (traffic not restricted by source). - // If this field is empty, this rule matches no sources (no traffic matches). + // If this field is empty or missing, this rule matches all sources (traffic not restricted by source). // If this field is present and contains at least on item, this rule allows traffic only if the // traffic matches at least one item in the from list. - // TODO: Update this to be a pointer to slice as soon as auto-generation supports it. // +optional From []NetworkPolicyPeer `json:"from,omitempty" protobuf:"bytes,2,rep,name=from"` } @@ -1120,7 +1120,6 @@ type NetworkPolicyPeer struct { // This is a label selector which selects Pods in this namespace. // This field follows standard label selector semantics. - // If not provided, this selector selects no pods. // If present but empty, this selector selects all pods in this namespace. // +optional PodSelector *metav1.LabelSelector `json:"podSelector,omitempty" protobuf:"bytes,1,opt,name=podSelector"` @@ -1128,7 +1127,6 @@ type NetworkPolicyPeer struct { // Selects Namespaces using cluster scoped-labels. This // matches all pods in all namespaces selected by this label selector. // This field follows standard label selector semantics. - // If omitted, this selector selects no namespaces. // If present but empty, this selector selects all namespaces. // +optional NamespaceSelector *metav1.LabelSelector `json:"namespaceSelector,omitempty" protobuf:"bytes,2,opt,name=namespaceSelector"` diff --git a/pkg/apis/extensions/v1beta1/types_swagger_doc_generated.go b/pkg/apis/extensions/v1beta1/types_swagger_doc_generated.go index 58761559..0eb84689 100644 --- a/pkg/apis/extensions/v1beta1/types_swagger_doc_generated.go +++ b/pkg/apis/extensions/v1beta1/types_swagger_doc_generated.go @@ -340,8 +340,8 @@ func (NetworkPolicy) SwaggerDoc() map[string]string { var map_NetworkPolicyIngressRule = map[string]string{ "": "This NetworkPolicyIngressRule matches traffic if and only if the traffic matches both ports AND from.", - "ports": "List of ports which should be made accessible on the pods selected for this rule. Each item in this list is combined using a logical OR. If this field is not provided, this rule matches all ports (traffic not restricted by port). If this field is empty, this rule matches no ports (no traffic matches). If this field is present and contains at least one item, then this rule allows traffic only if the traffic matches at least one port in the list.", - "from": "List of sources which should be able to access the pods selected for this rule. Items in this list are combined using a logical OR operation. If this field is not provided, this rule matches all sources (traffic not restricted by source). If this field is empty, this rule matches no sources (no traffic matches). If this field is present and contains at least on item, this rule allows traffic only if the traffic matches at least one item in the from list.", + "ports": "List of ports which should be made accessible on the pods selected for this rule. Each item in this list is combined using a logical OR. If this field is empty or missing, this rule matches all ports (traffic not restricted by port). If this field is present and contains at least one item, then this rule allows traffic only if the traffic matches at least one port in the list.", + "from": "List of sources which should be able to access the pods selected for this rule. Items in this list are combined using a logical OR operation. If this field is empty or missing, this rule matches all sources (traffic not restricted by source). If this field is present and contains at least on item, this rule allows traffic only if the traffic matches at least one item in the from list.", } func (NetworkPolicyIngressRule) SwaggerDoc() map[string]string { @@ -359,8 +359,8 @@ func (NetworkPolicyList) SwaggerDoc() map[string]string { } var map_NetworkPolicyPeer = map[string]string{ - "podSelector": "This is a label selector which selects Pods in this namespace. This field follows standard label selector semantics. If not provided, this selector selects no pods. If present but empty, this selector selects all pods in this namespace.", - "namespaceSelector": "Selects Namespaces using cluster scoped-labels. This matches all pods in all namespaces selected by this label selector. This field follows standard label selector semantics. If omitted, this selector selects no namespaces. If present but empty, this selector selects all namespaces.", + "podSelector": "This is a label selector which selects Pods in this namespace. This field follows standard label selector semantics. If present but empty, this selector selects all pods in this namespace.", + "namespaceSelector": "Selects Namespaces using cluster scoped-labels. This matches all pods in all namespaces selected by this label selector. This field follows standard label selector semantics. If present but empty, this selector selects all namespaces.", } func (NetworkPolicyPeer) SwaggerDoc() map[string]string { diff --git a/tools/cache/testing/fake_controller_source.go b/tools/cache/testing/fake_controller_source.go index c88a353f..59a490a6 100644 --- a/tools/cache/testing/fake_controller_source.go +++ b/tools/cache/testing/fake_controller_source.go @@ -174,12 +174,12 @@ func (f *FakeControllerSource) List(options metav1.ListOptions) (runtime.Object, if err := meta.SetList(listObj, list); err != nil { return nil, err } - objMeta, err := metav1.ListMetaFor(listObj) + listAccessor, err := meta.ListAccessor(listObj) if err != nil { return nil, err } resourceVersion := len(f.changes) - objMeta.ResourceVersion = strconv.Itoa(resourceVersion) + listAccessor.SetResourceVersion(strconv.Itoa(resourceVersion)) return listObj, nil } @@ -195,12 +195,12 @@ func (f *FakePVControllerSource) List(options metav1.ListOptions) (runtime.Objec if err := meta.SetList(listObj, list); err != nil { return nil, err } - objMeta, err := metav1.ListMetaFor(listObj) + listAccessor, err := meta.ListAccessor(listObj) if err != nil { return nil, err } resourceVersion := len(f.changes) - objMeta.ResourceVersion = strconv.Itoa(resourceVersion) + listAccessor.SetResourceVersion(strconv.Itoa(resourceVersion)) return listObj, nil } @@ -216,12 +216,12 @@ func (f *FakePVCControllerSource) List(options metav1.ListOptions) (runtime.Obje if err := meta.SetList(listObj, list); err != nil { return nil, err } - objMeta, err := metav1.ListMetaFor(listObj) + listAccessor, err := meta.ListAccessor(listObj) if err != nil { return nil, err } resourceVersion := len(f.changes) - objMeta.ResourceVersion = strconv.Itoa(resourceVersion) + listAccessor.SetResourceVersion(strconv.Itoa(resourceVersion)) return listObj, nil }