From 8b09d4e8b66469d0fd3b1c6af4fbf1b36c62eceb Mon Sep 17 00:00:00 2001 From: Serguei Bezverkhi Date: Fri, 23 Feb 2018 16:50:41 -0500 Subject: [PATCH 1/3] api changes --- pkg/apis/core/types.go | 24 ++++++++++++++++++++++++ staging/src/k8s.io/api/core/v1/types.go | 24 ++++++++++++++++++++++++ 2 files changed, 48 insertions(+) diff --git a/pkg/apis/core/types.go b/pkg/apis/core/types.go index 760d26309a3..a112791b1a3 100644 --- a/pkg/apis/core/types.go +++ b/pkg/apis/core/types.go @@ -1638,6 +1638,30 @@ type CSIPersistentVolumeSource struct { // Attributes of the volume to publish. // +optional VolumeAttributes map[string]string + + // ControllerPublishSecretRef is a reference to the secret object containing + // sensitive information to pass to the CSI driver to complete the CSI + // ControllerPublishVolume and ControllerUnpublishVolume calls. + // This field is optional, and may be empty if no secret is required. If the + // secret object contains more than one secret, all secrets are passed. + // +optional + ControllerPublishSecretRef *SecretReference + + // NodeStageSecretRef is a reference to the secret object containing sensitive + // information to pass to the CSI driver to complete the CSI NodeStageVolume + // and NodeStageVolume and NodeUnstageVolume calls. + // This field is optional, and may be empty if no secret is required. If the + // secret object contains more than one secret, all secrets are passed. + // +optional + NodeStageSecretRef *SecretReference + + // NodePublishSecretRef is a reference to the secret object containing + // sensitive information to pass to the CSI driver to complete the CSI + // NodePublishVolume and NodeUnpublishVolume calls. + // This field is optional, and may be empty if no secret is required. If the + // secret object contains more than one secret, all secrets are passed. + // +optional + NodePublishSecretRef *SecretReference } // ContainerPort represents a network port in a single container diff --git a/staging/src/k8s.io/api/core/v1/types.go b/staging/src/k8s.io/api/core/v1/types.go index adcef7f5d41..c6a10b37f25 100644 --- a/staging/src/k8s.io/api/core/v1/types.go +++ b/staging/src/k8s.io/api/core/v1/types.go @@ -1753,6 +1753,30 @@ type CSIPersistentVolumeSource struct { // Attributes of the volume to publish. // +optional VolumeAttributes map[string]string `json:"volumeAttributes,omitempty" protobuf:"bytes,5,rep,name=volumeAttributes"` + + // ControllerPublishSecretRef is a reference to the secret object containing + // sensitive information to pass to the CSI driver to complete the CSI + // ControllerPublishVolume and ControllerUnpublishVolume calls. + // This field is optional, and may be empty if no secret is required. If the + // secret object contains more than one secret, all secrets are passed. + // +optional + ControllerPublishSecretRef *SecretReference `json:"controllerPublishSecretRef,omitempty" protobuf:"bytes,6,opt,name=controllerPublishSecretRef"` + + // NodeStageSecretRef is a reference to the secret object containing sensitive + // information to pass to the CSI driver to complete the CSI NodeStageVolume + // and NodeStageVolume and NodeUnstageVolume calls. + // This field is optional, and may be empty if no secret is required. If the + // secret object contains more than one secret, all secrets are passed. + // +optional + NodeStageSecretRef *SecretReference `json:"nodeStageSecretRef,omitempty" protobuf:"bytes,7,opt,name=nodeStageSecretRef"` + + // NodePublishSecretRef is a reference to the secret object containing + // sensitive information to pass to the CSI driver to complete the CSI + // NodePublishVolume and NodeUnpublishVolume calls. + // This field is optional, and may be empty if no secret is required. If the + // secret object contains more than one secret, all secrets are passed. + // +optional + NodePublishSecretRef *SecretReference `json:"nodePublishSecretRef,omitempty" protobuf:"bytes,8,opt,name=nodePublishSecretRef"` } // ContainerPort represents a network port in a single container. From a6ca4668594640c2e7e4b1e02bdd0c3001010cb6 Mon Sep 17 00:00:00 2001 From: Serguei Bezverkhi Date: Fri, 23 Feb 2018 16:50:43 -0500 Subject: [PATCH 2/3] k8s csi code change --- Godeps/Godeps.json | 2 +- pkg/api/persistentvolume/util.go | 34 ++++++++++++++------ pkg/api/persistentvolume/util_test.go | 30 +++++++++++++++++- pkg/apis/core/validation/validation.go | 39 +++++++++++++++++++++++ pkg/volume/csi/csi_client.go | 40 ++++++++++++------------ pkg/volume/csi/csi_client_test.go | 26 ++------------- pkg/volume/csi/csi_mounter.go | 27 +++++++++------- pkg/volume/csi/csi_util.go | 38 ++++++++++++++++++++++ pkg/volume/csi/fake/fake_client.go | 36 +++++++++++---------- plugin/pkg/auth/authorizer/node/graph.go | 6 ++-- 10 files changed, 195 insertions(+), 83 deletions(-) create mode 100644 pkg/volume/csi/csi_util.go diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json index bcb58c4ff0b..e4205f6a190 100644 --- a/Godeps/Godeps.json +++ b/Godeps/Godeps.json @@ -454,7 +454,7 @@ { "ImportPath": "github.com/container-storage-interface/spec/lib/go/csi", "Comment": "v0.1.0-5-g7ab01a9", - "Rev": "7ab01a90da87f9fef3ee1de0494962fdefaf7db7" + "Rev": "91c189774c16b0661255943c09ea9d97d5a423e7" }, { "ImportPath": "github.com/containerd/console", diff --git a/pkg/api/persistentvolume/util.go b/pkg/api/persistentvolume/util.go index 76b2b1c51c6..d36f7c0cddb 100644 --- a/pkg/api/persistentvolume/util.go +++ b/pkg/api/persistentvolume/util.go @@ -30,7 +30,7 @@ func getClaimRefNamespace(pv *api.PersistentVolume) string { } // Visitor is called with each object's namespace and name, and returns true if visiting should continue -type Visitor func(namespace, name string) (shouldContinue bool) +type Visitor func(namespace, name string, kubeletVisible bool) (shouldContinue bool) // VisitPVSecretNames invokes the visitor function with the name of every secret // referenced by the PV spec. If visitor returns false, visiting is short-circuited. @@ -40,11 +40,11 @@ func VisitPVSecretNames(pv *api.PersistentVolume, visitor Visitor) bool { switch { case source.AzureFile != nil: if source.AzureFile.SecretNamespace != nil && len(*source.AzureFile.SecretNamespace) > 0 { - if len(source.AzureFile.SecretName) > 0 && !visitor(*source.AzureFile.SecretNamespace, source.AzureFile.SecretName) { + if len(source.AzureFile.SecretName) > 0 && !visitor(*source.AzureFile.SecretNamespace, source.AzureFile.SecretName, true /* kubeletVisible */) { return false } } else { - if len(source.AzureFile.SecretName) > 0 && !visitor(getClaimRefNamespace(pv), source.AzureFile.SecretName) { + if len(source.AzureFile.SecretName) > 0 && !visitor(getClaimRefNamespace(pv), source.AzureFile.SecretName, true /* kubeletVisible */) { return false } } @@ -57,7 +57,7 @@ func VisitPVSecretNames(pv *api.PersistentVolume, visitor Visitor) bool { // use the secret namespace if namespace is set ns = source.CephFS.SecretRef.Namespace } - if !visitor(ns, source.CephFS.SecretRef.Name) { + if !visitor(ns, source.CephFS.SecretRef.Name, true /* kubeletVisible */) { return false } } @@ -69,7 +69,7 @@ func VisitPVSecretNames(pv *api.PersistentVolume, visitor Visitor) bool { // use the secret namespace if namespace is set ns = source.FlexVolume.SecretRef.Namespace } - if !visitor(ns, source.FlexVolume.SecretRef.Name) { + if !visitor(ns, source.FlexVolume.SecretRef.Name, true /* kubeletVisible */) { return false } } @@ -81,7 +81,7 @@ func VisitPVSecretNames(pv *api.PersistentVolume, visitor Visitor) bool { // use the secret namespace if namespace is set ns = source.RBD.SecretRef.Namespace } - if !visitor(ns, source.RBD.SecretRef.Name) { + if !visitor(ns, source.RBD.SecretRef.Name, true /* kubeletVisible */) { return false } } @@ -91,7 +91,7 @@ func VisitPVSecretNames(pv *api.PersistentVolume, visitor Visitor) bool { if source.ScaleIO.SecretRef != nil && len(source.ScaleIO.SecretRef.Namespace) > 0 { ns = source.ScaleIO.SecretRef.Namespace } - if !visitor(ns, source.ScaleIO.SecretRef.Name) { + if !visitor(ns, source.ScaleIO.SecretRef.Name, true /* kubeletVisible */) { return false } } @@ -103,14 +103,30 @@ func VisitPVSecretNames(pv *api.PersistentVolume, visitor Visitor) bool { // use the secret namespace if namespace is set ns = source.ISCSI.SecretRef.Namespace } - if !visitor(ns, source.ISCSI.SecretRef.Name) { + if !visitor(ns, source.ISCSI.SecretRef.Name, true /* kubeletVisible */) { return false } } case source.StorageOS != nil: - if source.StorageOS.SecretRef != nil && !visitor(source.StorageOS.SecretRef.Namespace, source.StorageOS.SecretRef.Name) { + if source.StorageOS.SecretRef != nil && !visitor(source.StorageOS.SecretRef.Namespace, source.StorageOS.SecretRef.Name, true /* kubeletVisible */) { return false } + case source.CSI != nil: + if source.CSI.ControllerPublishSecretRef != nil { + if !visitor(source.CSI.ControllerPublishSecretRef.Namespace, source.CSI.ControllerPublishSecretRef.Name, false /* kubeletVisible */) { + return false + } + } + if source.CSI.NodePublishSecretRef != nil { + if !visitor(source.CSI.NodePublishSecretRef.Namespace, source.CSI.NodePublishSecretRef.Name, true /* kubeletVisible */) { + return false + } + } + if source.CSI.NodeStageSecretRef != nil { + if !visitor(source.CSI.NodeStageSecretRef.Namespace, source.CSI.NodeStageSecretRef.Name, true /* kubeletVisible */) { + return false + } + } } return true } diff --git a/pkg/api/persistentvolume/util_test.go b/pkg/api/persistentvolume/util_test.go index ca2d827eb7d..e2d5a15278f 100644 --- a/pkg/api/persistentvolume/util_test.go +++ b/pkg/api/persistentvolume/util_test.go @@ -117,11 +117,32 @@ func TestPVSecrets(t *testing.T) { SecretRef: &api.ObjectReference{ Name: "Spec.PersistentVolumeSource.StorageOS.SecretRef", Namespace: "storageosns"}}}}}, + {Spec: api.PersistentVolumeSpec{ + ClaimRef: &api.ObjectReference{Namespace: "claimrefns", Name: "claimrefname"}, + PersistentVolumeSource: api.PersistentVolumeSource{ + CSI: &api.CSIPersistentVolumeSource{ + ControllerPublishSecretRef: &api.SecretReference{ + Name: "Spec.PersistentVolumeSource.CSI.ControllerPublishSecretRef", + Namespace: "csi"}}}}}, + {Spec: api.PersistentVolumeSpec{ + ClaimRef: &api.ObjectReference{Namespace: "claimrefns", Name: "claimrefname"}, + PersistentVolumeSource: api.PersistentVolumeSource{ + CSI: &api.CSIPersistentVolumeSource{ + NodePublishSecretRef: &api.SecretReference{ + Name: "Spec.PersistentVolumeSource.CSI.NodePublishSecretRef", + Namespace: "csi"}}}}}, + {Spec: api.PersistentVolumeSpec{ + ClaimRef: &api.ObjectReference{Namespace: "claimrefns", Name: "claimrefname"}, + PersistentVolumeSource: api.PersistentVolumeSource{ + CSI: &api.CSIPersistentVolumeSource{ + NodeStageSecretRef: &api.SecretReference{ + Name: "Spec.PersistentVolumeSource.CSI.NodeStageSecretRef", + Namespace: "csi"}}}}}, } extractedNames := sets.NewString() extractedNamesWithNamespace := sets.NewString() for _, pv := range pvs { - VisitPVSecretNames(pv, func(namespace, name string) bool { + VisitPVSecretNames(pv, func(namespace, name string, kubeletVisible bool) bool { extractedNames.Insert(name) extractedNamesWithNamespace.Insert(namespace + "/" + name) return true @@ -143,6 +164,9 @@ func TestPVSecrets(t *testing.T) { "Spec.PersistentVolumeSource.ScaleIO.SecretRef", "Spec.PersistentVolumeSource.ISCSI.SecretRef", "Spec.PersistentVolumeSource.StorageOS.SecretRef", + "Spec.PersistentVolumeSource.CSI.ControllerPublishSecretRef", + "Spec.PersistentVolumeSource.CSI.NodePublishSecretRef", + "Spec.PersistentVolumeSource.CSI.NodeStageSecretRef", ) secretPaths := collectSecretPaths(t, nil, "", reflect.TypeOf(&api.PersistentVolume{})) secretPaths = secretPaths.Difference(excludedSecretPaths) @@ -184,6 +208,10 @@ func TestPVSecrets(t *testing.T) { "iscsi/Spec.PersistentVolumeSource.ISCSI.SecretRef", "storageosns/Spec.PersistentVolumeSource.StorageOS.SecretRef", + + "csi/Spec.PersistentVolumeSource.CSI.ControllerPublishSecretRef", + "csi/Spec.PersistentVolumeSource.CSI.NodePublishSecretRef", + "csi/Spec.PersistentVolumeSource.CSI.NodeStageSecretRef", ) if missingNames := expectedNamespacedNames.Difference(extractedNamesWithNamespace); len(missingNames) > 0 { t.Logf("Missing expected namespaced names:\n%s", strings.Join(missingNames.List(), "\n")) diff --git a/pkg/apis/core/validation/validation.go b/pkg/apis/core/validation/validation.go index f692018647d..ec93a196873 100644 --- a/pkg/apis/core/validation/validation.go +++ b/pkg/apis/core/validation/validation.go @@ -1452,6 +1452,45 @@ func validateCSIPersistentVolumeSource(csi *core.CSIPersistentVolumeSource, fldP allErrs = append(allErrs, field.Required(fldPath.Child("volumeHandle"), "")) } + if csi.ControllerPublishSecretRef != nil { + if len(csi.ControllerPublishSecretRef.Name) == 0 { + allErrs = append(allErrs, field.Required(fldPath.Child("controllerPublishSecretRef", "name"), "")) + } else { + allErrs = append(allErrs, ValidateDNS1123Label(csi.ControllerPublishSecretRef.Name, fldPath.Child("name"))...) + } + if len(csi.ControllerPublishSecretRef.Namespace) == 0 { + allErrs = append(allErrs, field.Required(fldPath.Child("controllerPublishSecretRef", "namespace"), "")) + } else { + allErrs = append(allErrs, ValidateDNS1123Label(csi.ControllerPublishSecretRef.Namespace, fldPath.Child("namespace"))...) + } + } + + if csi.NodePublishSecretRef != nil { + if len(csi.NodePublishSecretRef.Name) == 0 { + allErrs = append(allErrs, field.Required(fldPath.Child("nodePublishSecretRef ", "name"), "")) + } else { + allErrs = append(allErrs, ValidateDNS1123Label(csi.NodePublishSecretRef.Name, fldPath.Child("name"))...) + } + if len(csi.NodePublishSecretRef.Namespace) == 0 { + allErrs = append(allErrs, field.Required(fldPath.Child("nodePublishSecretRef ", "namespace"), "")) + } else { + allErrs = append(allErrs, ValidateDNS1123Label(csi.NodePublishSecretRef.Namespace, fldPath.Child("namespace"))...) + } + } + + if csi.NodeStageSecretRef != nil { + if len(csi.NodeStageSecretRef.Name) == 0 { + allErrs = append(allErrs, field.Required(fldPath.Child("nodeStageSecretRef", "name"), "")) + } else { + allErrs = append(allErrs, ValidateDNS1123Label(csi.NodeStageSecretRef.Name, fldPath.Child("name"))...) + } + if len(csi.NodeStageSecretRef.Namespace) == 0 { + allErrs = append(allErrs, field.Required(fldPath.Child("nodeStageSecretRef", "namespace"), "")) + } else { + allErrs = append(allErrs, ValidateDNS1123Label(csi.NodeStageSecretRef.Namespace, fldPath.Child("namespace"))...) + } + } + return allErrs } diff --git a/pkg/volume/csi/csi_client.go b/pkg/volume/csi/csi_client.go index 225ad7a48bd..ec561e85e21 100644 --- a/pkg/volume/csi/csi_client.go +++ b/pkg/volume/csi/csi_client.go @@ -32,7 +32,6 @@ import ( type csiClient interface { AssertSupportedVersion(ctx grpctx.Context, ver *csipb.Version) error - NodeProbe(ctx grpctx.Context, ver *csipb.Version) error NodePublishVolume( ctx grpctx.Context, volumeid string, @@ -41,9 +40,15 @@ type csiClient interface { accessMode api.PersistentVolumeAccessMode, volumeInfo map[string]string, volumeAttribs map[string]string, + nodePublishCredentials map[string]string, fsType string, ) error - NodeUnpublishVolume(ctx grpctx.Context, volID string, targetPath string) error + NodeUnpublishVolume( + ctx grpctx.Context, + volID string, + targetPath string, + nodeUnpublishCredentials map[string]string, + ) error } // csiClient encapsulates all csi-plugin methods @@ -146,13 +151,6 @@ func (c *csiDriverClient) AssertSupportedVersion(ctx grpctx.Context, ver *csipb. return nil } -func (c *csiDriverClient) NodeProbe(ctx grpctx.Context, ver *csipb.Version) error { - glog.V(4).Info(log("sending NodeProbe rpc call to csi driver: [version %v]", ver)) - req := &csipb.NodeProbeRequest{Version: ver} - _, err := c.nodeClient.NodeProbe(ctx, req) - return err -} - func (c *csiDriverClient) NodePublishVolume( ctx grpctx.Context, volID string, @@ -161,6 +159,7 @@ func (c *csiDriverClient) NodePublishVolume( accessMode api.PersistentVolumeAccessMode, volumeInfo map[string]string, volumeAttribs map[string]string, + nodePublishCredentials map[string]string, fsType string, ) error { glog.V(4).Info(log("calling NodePublishVolume rpc [volid=%s,target_path=%s]", volID, targetPath)) @@ -176,13 +175,13 @@ func (c *csiDriverClient) NodePublishVolume( } req := &csipb.NodePublishVolumeRequest{ - Version: csiVersion, - VolumeId: volID, - TargetPath: targetPath, - Readonly: readOnly, - PublishInfo: volumeInfo, - VolumeAttributes: volumeAttribs, - + Version: csiVersion, + VolumeId: volID, + TargetPath: targetPath, + Readonly: readOnly, + PublishInfo: volumeInfo, + VolumeAttributes: volumeAttribs, + NodePublishCredentials: nodePublishCredentials, VolumeCapability: &csipb.VolumeCapability{ AccessMode: &csipb.VolumeCapability_AccessMode{ Mode: asCSIAccessMode(accessMode), @@ -199,7 +198,7 @@ func (c *csiDriverClient) NodePublishVolume( return err } -func (c *csiDriverClient) NodeUnpublishVolume(ctx grpctx.Context, volID string, targetPath string) error { +func (c *csiDriverClient) NodeUnpublishVolume(ctx grpctx.Context, volID string, targetPath string, nodeUnpublishCredentials map[string]string) error { glog.V(4).Info(log("calling NodeUnpublishVolume rpc: [volid=%s, target_path=%s", volID, targetPath)) if volID == "" { return errors.New("missing volume id") @@ -213,9 +212,10 @@ func (c *csiDriverClient) NodeUnpublishVolume(ctx grpctx.Context, volID string, } req := &csipb.NodeUnpublishVolumeRequest{ - Version: csiVersion, - VolumeId: volID, - TargetPath: targetPath, + Version: csiVersion, + VolumeId: volID, + TargetPath: targetPath, + NodeUnpublishCredentials: nodeUnpublishCredentials, } _, err := c.nodeClient.NodeUnpublishVolume(ctx, req) diff --git a/pkg/volume/csi/csi_client_test.go b/pkg/volume/csi/csi_client_test.go index 566b111e7be..c8132e4f66b 100644 --- a/pkg/volume/csi/csi_client_test.go +++ b/pkg/volume/csi/csi_client_test.go @@ -68,28 +68,6 @@ func TestClientAssertSupportedVersion(t *testing.T) { } } -func TestClientNodeProbe(t *testing.T) { - testCases := []struct { - testName string - ver *csipb.Version - mustFail bool - err error - }{ - {testName: "supported version", ver: &csipb.Version{Major: 0, Minor: 1, Patch: 0}}, - {testName: "grpc error", ver: &csipb.Version{Major: 0, Minor: 1, Patch: 0}, mustFail: true, err: errors.New("grpc error")}, - } - - for _, tc := range testCases { - t.Logf("test case: %s", tc.testName) - client := setupClient(t) - client.nodeClient.(*fake.NodeClient).SetNextError(tc.err) - err := client.NodeProbe(grpctx.Background(), tc.ver) - if tc.mustFail && err == nil { - t.Error("test must fail, but err = nil") - } - } -} - func TestClientNodePublishVolume(t *testing.T) { testCases := []struct { name string @@ -119,6 +97,7 @@ func TestClientNodePublishVolume(t *testing.T) { api.ReadWriteOnce, map[string]string{"device": "/dev/null"}, map[string]string{"attr0": "val0"}, + map[string]string{}, tc.fsType, ) @@ -147,7 +126,8 @@ func TestClientNodeUnpublishVolume(t *testing.T) { for _, tc := range testCases { t.Logf("test case: %s", tc.name) client.nodeClient.(*fake.NodeClient).SetNextError(tc.err) - err := client.NodeUnpublishVolume(grpctx.Background(), tc.volID, tc.targetPath) + nodeUnpublishCredentials := map[string]string{} + err := client.NodeUnpublishVolume(grpctx.Background(), tc.volID, tc.targetPath, nodeUnpublishCredentials) if tc.mustFail && err == nil { t.Error("test must fail, but err is nil") } diff --git a/pkg/volume/csi/csi_mounter.go b/pkg/volume/csi/csi_mounter.go index 52cda273d56..56ad824fd8b 100644 --- a/pkg/volume/csi/csi_mounter.go +++ b/pkg/volume/csi/csi_mounter.go @@ -87,8 +87,6 @@ func getTargetPath(uid types.UID, specVolumeID string, host volume.VolumeHost) s var _ volume.Mounter = &csiMountMgr{} func (c *csiMountMgr) CanMount() error { - //TODO (vladimirvivien) use this method to probe controller using CSI.NodeProbe() call - // to ensure Node service is ready in the CSI plugin return nil } @@ -129,13 +127,6 @@ func (c *csiMountMgr) SetUpAt(dir string, fsGroup *int64) error { return err } - // probe driver - // TODO (vladimirvivien) move probe call where it is done only when it is needed. - if err := csi.NodeProbe(ctx, csiVersion); err != nil { - glog.Error(log("mounter.SetUpAt failed to probe driver: %v", err)) - return err - } - // search for attachment by VolumeAttachment.Spec.Source.PersistentVolumeName if c.volumeInfo == nil { attachment, err := c.k8s.StorageV1beta1().VolumeAttachments().Get(attachID, meta.GetOptions{}) @@ -188,7 +179,10 @@ func (c *csiMountMgr) SetUpAt(dir string, fsGroup *int64) error { if len(fsType) == 0 { fsType = defaultFSType } - + nodePublishCredentials := map[string]string{} + if csiSource.NodePublishSecretRef != nil { + nodePublishCredentials = getCredentialsFromSecret(c.k8s, csiSource.NodePublishSecretRef) + } err = csi.NodePublishVolume( ctx, c.volumeID, @@ -197,6 +191,7 @@ func (c *csiMountMgr) SetUpAt(dir string, fsGroup *int64) error { accessMode, c.volumeInfo, attribs, + nodePublishCredentials, fsType, ) @@ -244,6 +239,12 @@ func (c *csiMountMgr) TearDownAt(dir string) error { return nil } + csiSource, err := getCSISourceFromSpec(c.spec) + if err != nil { + glog.Error(log("mounter.TearDownAt failed to get CSI persistent source: %v", err)) + return err + } + // load volume info from file dataDir := path.Dir(dir) // dropoff /mount at end data, err := loadVolumeData(dataDir, volDataFileName) @@ -273,7 +274,11 @@ func (c *csiMountMgr) TearDownAt(dir string) error { return err } - if err := csi.NodeUnpublishVolume(ctx, volID, dir); err != nil { + nodeUnpublishCredentials := map[string]string{} + if csiSource.NodePublishSecretRef != nil { + nodeUnpublishCredentials = getCredentialsFromSecret(c.k8s, csiSource.NodePublishSecretRef) + } + if err := csi.NodeUnpublishVolume(ctx, volID, dir, nodeUnpublishCredentials); err != nil { glog.Errorf(log("mounter.TearDownAt failed: %v", err)) return err } diff --git a/pkg/volume/csi/csi_util.go b/pkg/volume/csi/csi_util.go new file mode 100644 index 00000000000..6f5e0cd1b70 --- /dev/null +++ b/pkg/volume/csi/csi_util.go @@ -0,0 +1,38 @@ +/* +Copyright 2018 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 csi + +import ( + "github.com/golang/glog" + api "k8s.io/api/core/v1" + meta "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/client-go/kubernetes" +) + +func getCredentialsFromSecret(k8s kubernetes.Interface, secretRef *api.SecretReference) map[string]string { + credentials := map[string]string{} + secret, err := k8s.CoreV1().Secrets(secretRef.Namespace).Get(secretRef.Name, meta.GetOptions{}) + if err != nil { + glog.Warningf("failed to find the secret %s in the namespace %s with error: %v\n", secretRef.Name, secretRef.Namespace, err) + return credentials + } + for key, value := range secret.Data { + credentials[key] = string(value) + } + + return credentials +} diff --git a/pkg/volume/csi/fake/fake_client.go b/pkg/volume/csi/fake/fake_client.go index 91e09244423..59d961e9491 100644 --- a/pkg/volume/csi/fake/fake_client.go +++ b/pkg/volume/csi/fake/fake_client.go @@ -67,6 +67,16 @@ func (f *IdentityClient) GetPluginInfo(ctx context.Context, in *csipb.GetPluginI return nil, nil } +// GetPluginCapabilities implements csi method +func (f *IdentityClient) GetPluginCapabilities(ctx context.Context, in *csipb.GetPluginCapabilitiesRequest, opts ...grpc.CallOption) (*csipb.GetPluginCapabilitiesResponse, error) { + return nil, nil +} + +// Probe implements csi method +func (f *IdentityClient) Probe(ctx context.Context, in *csipb.ProbeRequest, opts ...grpc.CallOption) (*csipb.ProbeResponse, error) { + return nil, nil +} + // NodeClient returns CSI node client type NodeClient struct { nodePublishedVolumes map[string]string @@ -110,17 +120,6 @@ func (f *NodeClient) NodePublishVolume(ctx grpctx.Context, req *csipb.NodePublis return &csipb.NodePublishVolumeResponse{}, nil } -// NodeProbe implements csi NodeProbe -func (f *NodeClient) NodeProbe(ctx context.Context, req *csipb.NodeProbeRequest, opts ...grpc.CallOption) (*csipb.NodeProbeResponse, error) { - if f.nextErr != nil { - return nil, f.nextErr - } - if req.Version == nil { - return nil, errors.New("missing version") - } - return &csipb.NodeProbeResponse{}, nil -} - // NodeUnpublishVolume implements csi method func (f *NodeClient) NodeUnpublishVolume(ctx context.Context, req *csipb.NodeUnpublishVolumeRequest, opts ...grpc.CallOption) (*csipb.NodeUnpublishVolumeResponse, error) { if f.nextErr != nil { @@ -147,6 +146,16 @@ func (f *NodeClient) NodeGetCapabilities(ctx context.Context, in *csipb.NodeGetC return nil, nil } +// NodeStageVolume implements csi method +func (f *NodeClient) NodeStageVolume(ctx context.Context, in *csipb.NodeStageVolumeRequest, opts ...grpc.CallOption) (*csipb.NodeStageVolumeResponse, error) { + return nil, nil +} + +// NodeUnstageVolume implements csi method +func (f *NodeClient) NodeUnstageVolume(ctx context.Context, in *csipb.NodeUnstageVolumeRequest, opts ...grpc.CallOption) (*csipb.NodeUnstageVolumeResponse, error) { + return nil, nil +} + // ControllerClient represents a CSI Controller client type ControllerClient struct { nextCapabilities []*csipb.ControllerServiceCapability @@ -224,8 +233,3 @@ func (f *ControllerClient) ListVolumes(ctx context.Context, in *csipb.ListVolume func (f *ControllerClient) GetCapacity(ctx context.Context, in *csipb.GetCapacityRequest, opts ...grpc.CallOption) (*csipb.GetCapacityResponse, error) { return nil, nil } - -// ControllerProbe implements csi method -func (f *ControllerClient) ControllerProbe(ctx context.Context, in *csipb.ControllerProbeRequest, opts ...grpc.CallOption) (*csipb.ControllerProbeResponse, error) { - return nil, nil -} diff --git a/plugin/pkg/auth/authorizer/node/graph.go b/plugin/pkg/auth/authorizer/node/graph.go index 49f008467f7..ec3188371a1 100644 --- a/plugin/pkg/auth/authorizer/node/graph.go +++ b/plugin/pkg/auth/authorizer/node/graph.go @@ -253,9 +253,11 @@ func (g *Graph) AddPV(pv *api.PersistentVolume) { // since we don't know the other end of the pvc -> pod -> node chain (or it may not even exist yet), we can't decorate these edges with kubernetes node info g.graph.SetEdge(simple.Edge{F: pvVertex, T: g.getOrCreateVertex_locked(pvcVertexType, pv.Spec.ClaimRef.Namespace, pv.Spec.ClaimRef.Name)}) - pvutil.VisitPVSecretNames(pv, func(namespace, secret string) bool { + pvutil.VisitPVSecretNames(pv, func(namespace, secret string, kubeletVisible bool) bool { // This grants access to the named secret in the same namespace as the bound PVC - g.graph.SetEdge(simple.Edge{F: g.getOrCreateVertex_locked(secretVertexType, namespace, secret), T: pvVertex}) + if kubeletVisible { + g.graph.SetEdge(simple.Edge{F: g.getOrCreateVertex_locked(secretVertexType, namespace, secret), T: pvVertex}) + } return true }) } From 3aa462eab49387fe5151ac78cbd44ae25965b876 Mon Sep 17 00:00:00 2001 From: Serguei Bezverkhi Date: Fri, 23 Feb 2018 16:50:44 -0500 Subject: [PATCH 3/3] autogenerated api changes --- api/openapi-spec/swagger.json | 12 + api/swagger-spec/v1.json | 12 + docs/api-reference/v1/definitions.html | 21 + pkg/apis/core/v1/zz_generated.conversion.go | 6 + pkg/apis/core/zz_generated.deepcopy.go | 27 + pkg/volume/csi/BUILD | 1 + .../src/k8s.io/api/core/v1/generated.pb.go | 2875 +++++++++-------- .../src/k8s.io/api/core/v1/generated.proto | 24 + .../core/v1/types_swagger_doc_generated.go | 15 +- .../api/core/v1/zz_generated.deepcopy.go | 27 + .../spec/lib/go/csi/csi.pb.go | 1055 ++++-- 11 files changed, 2395 insertions(+), 1680 deletions(-) diff --git a/api/openapi-spec/swagger.json b/api/openapi-spec/swagger.json index 98dcf4d8ab4..a6fabd77746 100644 --- a/api/openapi-spec/swagger.json +++ b/api/openapi-spec/swagger.json @@ -75317,6 +75317,10 @@ "volumeHandle" ], "properties": { + "controllerPublishSecretRef": { + "description": "ControllerPublishSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI ControllerPublishVolume and ControllerUnpublishVolume calls. This field is optional, and may be empty if no secret is required. If the secret object contains more than one secret, all secrets are passed.", + "$ref": "#/definitions/io.k8s.api.core.v1.SecretReference" + }, "driver": { "description": "Driver is the name of the driver to use for this volume. Required.", "type": "string" @@ -75325,6 +75329,14 @@ "description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.", "type": "string" }, + "nodePublishSecretRef": { + "description": "NodePublishSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI NodePublishVolume and NodeUnpublishVolume calls. This field is optional, and may be empty if no secret is required. If the secret object contains more than one secret, all secrets are passed.", + "$ref": "#/definitions/io.k8s.api.core.v1.SecretReference" + }, + "nodeStageSecretRef": { + "description": "NodeStageSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI NodeStageVolume and NodeStageVolume and NodeUnstageVolume calls. This field is optional, and may be empty if no secret is required. If the secret object contains more than one secret, all secrets are passed.", + "$ref": "#/definitions/io.k8s.api.core.v1.SecretReference" + }, "readOnly": { "description": "Optional: The value to pass to ControllerPublishVolumeRequest. Defaults to false (read/write).", "type": "boolean" diff --git a/api/swagger-spec/v1.json b/api/swagger-spec/v1.json index cf25ea0fccc..44f31a5115c 100644 --- a/api/swagger-spec/v1.json +++ b/api/swagger-spec/v1.json @@ -20016,6 +20016,18 @@ "volumeAttributes": { "type": "object", "description": "Attributes of the volume to publish." + }, + "controllerPublishSecretRef": { + "$ref": "v1.SecretReference", + "description": "ControllerPublishSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI ControllerPublishVolume and ControllerUnpublishVolume calls. This field is optional, and may be empty if no secret is required. If the secret object contains more than one secret, all secrets are passed." + }, + "nodeStageSecretRef": { + "$ref": "v1.SecretReference", + "description": "NodeStageSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI NodeStageVolume and NodeStageVolume and NodeUnstageVolume calls. This field is optional, and may be empty if no secret is required. If the secret object contains more than one secret, all secrets are passed." + }, + "nodePublishSecretRef": { + "$ref": "v1.SecretReference", + "description": "NodePublishSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI NodePublishVolume and NodeUnpublishVolume calls. This field is optional, and may be empty if no secret is required. If the secret object contains more than one secret, all secrets are passed." } } }, diff --git a/docs/api-reference/v1/definitions.html b/docs/api-reference/v1/definitions.html index 91299cd1aba..b28849ff460 100755 --- a/docs/api-reference/v1/definitions.html +++ b/docs/api-reference/v1/definitions.html @@ -7885,6 +7885,27 @@ Examples:

object

+ +

controllerPublishSecretRef

+

ControllerPublishSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI ControllerPublishVolume and ControllerUnpublishVolume calls. This field is optional, and may be empty if no secret is required. If the secret object contains more than one secret, all secrets are passed.

+

false

+

v1.SecretReference

+ + + +

nodeStageSecretRef

+

NodeStageSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI NodeStageVolume and NodeStageVolume and NodeUnstageVolume calls. This field is optional, and may be empty if no secret is required. If the secret object contains more than one secret, all secrets are passed.

+

false

+

v1.SecretReference

+ + + +

nodePublishSecretRef

+

NodePublishSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI NodePublishVolume and NodeUnpublishVolume calls. This field is optional, and may be empty if no secret is required. If the secret object contains more than one secret, all secrets are passed.

+

false

+

v1.SecretReference

+ + diff --git a/pkg/apis/core/v1/zz_generated.conversion.go b/pkg/apis/core/v1/zz_generated.conversion.go index 2a04ad1f3fe..e2761406303 100644 --- a/pkg/apis/core/v1/zz_generated.conversion.go +++ b/pkg/apis/core/v1/zz_generated.conversion.go @@ -623,6 +623,9 @@ func autoConvert_v1_CSIPersistentVolumeSource_To_core_CSIPersistentVolumeSource( out.ReadOnly = in.ReadOnly out.FSType = in.FSType out.VolumeAttributes = *(*map[string]string)(unsafe.Pointer(&in.VolumeAttributes)) + out.ControllerPublishSecretRef = (*core.SecretReference)(unsafe.Pointer(in.ControllerPublishSecretRef)) + out.NodeStageSecretRef = (*core.SecretReference)(unsafe.Pointer(in.NodeStageSecretRef)) + out.NodePublishSecretRef = (*core.SecretReference)(unsafe.Pointer(in.NodePublishSecretRef)) return nil } @@ -637,6 +640,9 @@ func autoConvert_core_CSIPersistentVolumeSource_To_v1_CSIPersistentVolumeSource( out.ReadOnly = in.ReadOnly out.FSType = in.FSType out.VolumeAttributes = *(*map[string]string)(unsafe.Pointer(&in.VolumeAttributes)) + out.ControllerPublishSecretRef = (*v1.SecretReference)(unsafe.Pointer(in.ControllerPublishSecretRef)) + out.NodeStageSecretRef = (*v1.SecretReference)(unsafe.Pointer(in.NodeStageSecretRef)) + out.NodePublishSecretRef = (*v1.SecretReference)(unsafe.Pointer(in.NodePublishSecretRef)) return nil } diff --git a/pkg/apis/core/zz_generated.deepcopy.go b/pkg/apis/core/zz_generated.deepcopy.go index 2459719ad08..0e97761c4cd 100644 --- a/pkg/apis/core/zz_generated.deepcopy.go +++ b/pkg/apis/core/zz_generated.deepcopy.go @@ -256,6 +256,33 @@ func (in *CSIPersistentVolumeSource) DeepCopyInto(out *CSIPersistentVolumeSource (*out)[key] = val } } + if in.ControllerPublishSecretRef != nil { + in, out := &in.ControllerPublishSecretRef, &out.ControllerPublishSecretRef + if *in == nil { + *out = nil + } else { + *out = new(SecretReference) + **out = **in + } + } + if in.NodeStageSecretRef != nil { + in, out := &in.NodeStageSecretRef, &out.NodeStageSecretRef + if *in == nil { + *out = nil + } else { + *out = new(SecretReference) + **out = **in + } + } + if in.NodePublishSecretRef != nil { + in, out := &in.NodePublishSecretRef, &out.NodePublishSecretRef + if *in == nil { + *out = nil + } else { + *out = new(SecretReference) + **out = **in + } + } return } diff --git a/pkg/volume/csi/BUILD b/pkg/volume/csi/BUILD index ecac0d178f9..247ce5dd1b7 100644 --- a/pkg/volume/csi/BUILD +++ b/pkg/volume/csi/BUILD @@ -7,6 +7,7 @@ go_library( "csi_client.go", "csi_mounter.go", "csi_plugin.go", + "csi_util.go", ], importpath = "k8s.io/kubernetes/pkg/volume/csi", visibility = ["//visibility:public"], diff --git a/staging/src/k8s.io/api/core/v1/generated.pb.go b/staging/src/k8s.io/api/core/v1/generated.pb.go index a6adf526966..48bfca98f7e 100644 --- a/staging/src/k8s.io/api/core/v1/generated.pb.go +++ b/staging/src/k8s.io/api/core/v1/generated.pb.go @@ -1602,6 +1602,36 @@ func (m *CSIPersistentVolumeSource) MarshalTo(dAtA []byte) (int, error) { i += copy(dAtA[i:], v) } } + if m.ControllerPublishSecretRef != nil { + dAtA[i] = 0x32 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ControllerPublishSecretRef.Size())) + n6, err := m.ControllerPublishSecretRef.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n6 + } + if m.NodeStageSecretRef != nil { + dAtA[i] = 0x3a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.NodeStageSecretRef.Size())) + n7, err := m.NodeStageSecretRef.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n7 + } + if m.NodePublishSecretRef != nil { + dAtA[i] = 0x42 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.NodePublishSecretRef.Size())) + n8, err := m.NodePublishSecretRef.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n8 + } return i, nil } @@ -1699,11 +1729,11 @@ func (m *CephFSPersistentVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SecretRef.Size())) - n6, err := m.SecretRef.MarshalTo(dAtA[i:]) + n9, err := m.SecretRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n6 + i += n9 } dAtA[i] = 0x30 i++ @@ -1762,11 +1792,11 @@ func (m *CephFSVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SecretRef.Size())) - n7, err := m.SecretRef.MarshalTo(dAtA[i:]) + n10, err := m.SecretRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n7 + i += n10 } dAtA[i] = 0x30 i++ @@ -1888,11 +1918,11 @@ func (m *ComponentStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n8, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + n11, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n8 + i += n11 if len(m.Conditions) > 0 { for _, msg := range m.Conditions { dAtA[i] = 0x12 @@ -1926,11 +1956,11 @@ func (m *ComponentStatusList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n9, err := m.ListMeta.MarshalTo(dAtA[i:]) + n12, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n9 + i += n12 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -1964,11 +1994,11 @@ func (m *ConfigMap) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n10, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + n13, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n10 + i += n13 if len(m.Data) > 0 { keysForData := make([]string, 0, len(m.Data)) for k := range m.Data { @@ -2040,11 +2070,11 @@ func (m *ConfigMapEnvSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LocalObjectReference.Size())) - n11, err := m.LocalObjectReference.MarshalTo(dAtA[i:]) + n14, err := m.LocalObjectReference.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n11 + i += n14 if m.Optional != nil { dAtA[i] = 0x10 i++ @@ -2076,11 +2106,11 @@ func (m *ConfigMapKeySelector) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LocalObjectReference.Size())) - n12, err := m.LocalObjectReference.MarshalTo(dAtA[i:]) + n15, err := m.LocalObjectReference.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n12 + i += n15 dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Key))) @@ -2116,11 +2146,11 @@ func (m *ConfigMapList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n13, err := m.ListMeta.MarshalTo(dAtA[i:]) + n16, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n13 + i += n16 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -2154,11 +2184,11 @@ func (m *ConfigMapProjection) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LocalObjectReference.Size())) - n14, err := m.LocalObjectReference.MarshalTo(dAtA[i:]) + n17, err := m.LocalObjectReference.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n14 + i += n17 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -2202,11 +2232,11 @@ func (m *ConfigMapVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LocalObjectReference.Size())) - n15, err := m.LocalObjectReference.MarshalTo(dAtA[i:]) + n18, err := m.LocalObjectReference.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n15 + i += n18 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -2321,11 +2351,11 @@ func (m *Container) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x42 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Resources.Size())) - n16, err := m.Resources.MarshalTo(dAtA[i:]) + n19, err := m.Resources.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n16 + i += n19 if len(m.VolumeMounts) > 0 { for _, msg := range m.VolumeMounts { dAtA[i] = 0x4a @@ -2342,31 +2372,31 @@ func (m *Container) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x52 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LivenessProbe.Size())) - n17, err := m.LivenessProbe.MarshalTo(dAtA[i:]) + n20, err := m.LivenessProbe.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n17 + i += n20 } if m.ReadinessProbe != nil { dAtA[i] = 0x5a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ReadinessProbe.Size())) - n18, err := m.ReadinessProbe.MarshalTo(dAtA[i:]) + n21, err := m.ReadinessProbe.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n18 + i += n21 } if m.Lifecycle != nil { dAtA[i] = 0x62 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Lifecycle.Size())) - n19, err := m.Lifecycle.MarshalTo(dAtA[i:]) + n22, err := m.Lifecycle.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n19 + i += n22 } dAtA[i] = 0x6a i++ @@ -2380,11 +2410,11 @@ func (m *Container) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x7a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SecurityContext.Size())) - n20, err := m.SecurityContext.MarshalTo(dAtA[i:]) + n23, err := m.SecurityContext.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n20 + i += n23 } dAtA[i] = 0x80 i++ @@ -2544,31 +2574,31 @@ func (m *ContainerState) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Waiting.Size())) - n21, err := m.Waiting.MarshalTo(dAtA[i:]) + n24, err := m.Waiting.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n21 + i += n24 } if m.Running != nil { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Running.Size())) - n22, err := m.Running.MarshalTo(dAtA[i:]) + n25, err := m.Running.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n22 + i += n25 } if m.Terminated != nil { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Terminated.Size())) - n23, err := m.Terminated.MarshalTo(dAtA[i:]) + n26, err := m.Terminated.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n23 + i += n26 } return i, nil } @@ -2591,11 +2621,11 @@ func (m *ContainerStateRunning) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.StartedAt.Size())) - n24, err := m.StartedAt.MarshalTo(dAtA[i:]) + n27, err := m.StartedAt.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n24 + i += n27 return i, nil } @@ -2631,19 +2661,19 @@ func (m *ContainerStateTerminated) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.StartedAt.Size())) - n25, err := m.StartedAt.MarshalTo(dAtA[i:]) + n28, err := m.StartedAt.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n25 + i += n28 dAtA[i] = 0x32 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.FinishedAt.Size())) - n26, err := m.FinishedAt.MarshalTo(dAtA[i:]) + n29, err := m.FinishedAt.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n26 + i += n29 dAtA[i] = 0x3a i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.ContainerID))) @@ -2699,19 +2729,19 @@ func (m *ContainerStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.State.Size())) - n27, err := m.State.MarshalTo(dAtA[i:]) + n30, err := m.State.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n27 + i += n30 dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LastTerminationState.Size())) - n28, err := m.LastTerminationState.MarshalTo(dAtA[i:]) + n31, err := m.LastTerminationState.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n28 + i += n31 dAtA[i] = 0x20 i++ if m.Ready { @@ -2783,11 +2813,11 @@ func (m *DeleteOptions) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Preconditions.Size())) - n29, err := m.Preconditions.MarshalTo(dAtA[i:]) + n32, err := m.Preconditions.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n29 + i += n32 } if m.OrphanDependents != nil { dAtA[i] = 0x18 @@ -2861,21 +2891,21 @@ func (m *DownwardAPIVolumeFile) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.FieldRef.Size())) - n30, err := m.FieldRef.MarshalTo(dAtA[i:]) + n33, err := m.FieldRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n30 + i += n33 } if m.ResourceFieldRef != nil { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ResourceFieldRef.Size())) - n31, err := m.ResourceFieldRef.MarshalTo(dAtA[i:]) + n34, err := m.ResourceFieldRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n31 + i += n34 } if m.Mode != nil { dAtA[i] = 0x20 @@ -2943,11 +2973,11 @@ func (m *EmptyDirVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SizeLimit.Size())) - n32, err := m.SizeLimit.MarshalTo(dAtA[i:]) + n35, err := m.SizeLimit.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n32 + i += n35 } return i, nil } @@ -2975,11 +3005,11 @@ func (m *EndpointAddress) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.TargetRef.Size())) - n33, err := m.TargetRef.MarshalTo(dAtA[i:]) + n36, err := m.TargetRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n33 + i += n36 } dAtA[i] = 0x1a i++ @@ -3095,11 +3125,11 @@ func (m *Endpoints) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n34, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + n37, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n34 + i += n37 if len(m.Subsets) > 0 { for _, msg := range m.Subsets { dAtA[i] = 0x12 @@ -3133,11 +3163,11 @@ func (m *EndpointsList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n35, err := m.ListMeta.MarshalTo(dAtA[i:]) + n38, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n35 + i += n38 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -3176,21 +3206,21 @@ func (m *EnvFromSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ConfigMapRef.Size())) - n36, err := m.ConfigMapRef.MarshalTo(dAtA[i:]) + n39, err := m.ConfigMapRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n36 + i += n39 } if m.SecretRef != nil { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SecretRef.Size())) - n37, err := m.SecretRef.MarshalTo(dAtA[i:]) + n40, err := m.SecretRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n37 + i += n40 } return i, nil } @@ -3222,11 +3252,11 @@ func (m *EnvVar) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ValueFrom.Size())) - n38, err := m.ValueFrom.MarshalTo(dAtA[i:]) + n41, err := m.ValueFrom.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n38 + i += n41 } return i, nil } @@ -3250,41 +3280,41 @@ func (m *EnvVarSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.FieldRef.Size())) - n39, err := m.FieldRef.MarshalTo(dAtA[i:]) + n42, err := m.FieldRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n39 + i += n42 } if m.ResourceFieldRef != nil { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ResourceFieldRef.Size())) - n40, err := m.ResourceFieldRef.MarshalTo(dAtA[i:]) + n43, err := m.ResourceFieldRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n40 + i += n43 } if m.ConfigMapKeyRef != nil { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ConfigMapKeyRef.Size())) - n41, err := m.ConfigMapKeyRef.MarshalTo(dAtA[i:]) + n44, err := m.ConfigMapKeyRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n41 + i += n44 } if m.SecretKeyRef != nil { dAtA[i] = 0x22 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SecretKeyRef.Size())) - n42, err := m.SecretKeyRef.MarshalTo(dAtA[i:]) + n45, err := m.SecretKeyRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n42 + i += n45 } return i, nil } @@ -3307,19 +3337,19 @@ func (m *Event) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n43, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + n46, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n43 + i += n46 dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.InvolvedObject.Size())) - n44, err := m.InvolvedObject.MarshalTo(dAtA[i:]) + n47, err := m.InvolvedObject.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n44 + i += n47 dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Reason))) @@ -3331,27 +3361,27 @@ func (m *Event) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Source.Size())) - n45, err := m.Source.MarshalTo(dAtA[i:]) + n48, err := m.Source.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n45 + i += n48 dAtA[i] = 0x32 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.FirstTimestamp.Size())) - n46, err := m.FirstTimestamp.MarshalTo(dAtA[i:]) + n49, err := m.FirstTimestamp.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n46 + i += n49 dAtA[i] = 0x3a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LastTimestamp.Size())) - n47, err := m.LastTimestamp.MarshalTo(dAtA[i:]) + n50, err := m.LastTimestamp.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n47 + i += n50 dAtA[i] = 0x40 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Count)) @@ -3362,20 +3392,20 @@ func (m *Event) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x52 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.EventTime.Size())) - n48, err := m.EventTime.MarshalTo(dAtA[i:]) + n51, err := m.EventTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n48 + i += n51 if m.Series != nil { dAtA[i] = 0x5a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Series.Size())) - n49, err := m.Series.MarshalTo(dAtA[i:]) + n52, err := m.Series.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n49 + i += n52 } dAtA[i] = 0x62 i++ @@ -3385,11 +3415,11 @@ func (m *Event) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x6a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Related.Size())) - n50, err := m.Related.MarshalTo(dAtA[i:]) + n53, err := m.Related.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n50 + i += n53 } dAtA[i] = 0x72 i++ @@ -3420,11 +3450,11 @@ func (m *EventList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n51, err := m.ListMeta.MarshalTo(dAtA[i:]) + n54, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n51 + i += n54 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -3461,11 +3491,11 @@ func (m *EventSeries) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LastObservedTime.Size())) - n52, err := m.LastObservedTime.MarshalTo(dAtA[i:]) + n55, err := m.LastObservedTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n52 + i += n55 dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.State))) @@ -3624,11 +3654,11 @@ func (m *FlexPersistentVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SecretRef.Size())) - n53, err := m.SecretRef.MarshalTo(dAtA[i:]) + n56, err := m.SecretRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n53 + i += n56 } dAtA[i] = 0x20 i++ @@ -3690,11 +3720,11 @@ func (m *FlexVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SecretRef.Size())) - n54, err := m.SecretRef.MarshalTo(dAtA[i:]) + n57, err := m.SecretRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n54 + i += n57 } dAtA[i] = 0x20 i++ @@ -3878,11 +3908,11 @@ func (m *HTTPGetAction) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Port.Size())) - n55, err := m.Port.MarshalTo(dAtA[i:]) + n58, err := m.Port.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n55 + i += n58 dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Host))) @@ -3951,31 +3981,31 @@ func (m *Handler) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Exec.Size())) - n56, err := m.Exec.MarshalTo(dAtA[i:]) + n59, err := m.Exec.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n56 + i += n59 } if m.HTTPGet != nil { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.HTTPGet.Size())) - n57, err := m.HTTPGet.MarshalTo(dAtA[i:]) + n60, err := m.HTTPGet.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n57 + i += n60 } if m.TCPSocket != nil { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.TCPSocket.Size())) - n58, err := m.TCPSocket.MarshalTo(dAtA[i:]) + n61, err := m.TCPSocket.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n58 + i += n61 } return i, nil } @@ -4114,11 +4144,11 @@ func (m *ISCSIPersistentVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x52 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SecretRef.Size())) - n59, err := m.SecretRef.MarshalTo(dAtA[i:]) + n62, err := m.SecretRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n59 + i += n62 } dAtA[i] = 0x58 i++ @@ -4206,11 +4236,11 @@ func (m *ISCSIVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x52 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SecretRef.Size())) - n60, err := m.SecretRef.MarshalTo(dAtA[i:]) + n63, err := m.SecretRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n60 + i += n63 } dAtA[i] = 0x58 i++ @@ -4279,21 +4309,21 @@ func (m *Lifecycle) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.PostStart.Size())) - n61, err := m.PostStart.MarshalTo(dAtA[i:]) + n64, err := m.PostStart.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n61 + i += n64 } if m.PreStop != nil { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.PreStop.Size())) - n62, err := m.PreStop.MarshalTo(dAtA[i:]) + n65, err := m.PreStop.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n62 + i += n65 } return i, nil } @@ -4316,19 +4346,19 @@ func (m *LimitRange) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n63, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + n66, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n63 + i += n66 dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) - n64, err := m.Spec.MarshalTo(dAtA[i:]) + n67, err := m.Spec.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n64 + i += n67 return i, nil } @@ -4375,11 +4405,11 @@ func (m *LimitRangeItem) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n65, err := (&v).MarshalTo(dAtA[i:]) + n68, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n65 + i += n68 } } if len(m.Min) > 0 { @@ -4406,11 +4436,11 @@ func (m *LimitRangeItem) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n66, err := (&v).MarshalTo(dAtA[i:]) + n69, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n66 + i += n69 } } if len(m.Default) > 0 { @@ -4437,11 +4467,11 @@ func (m *LimitRangeItem) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n67, err := (&v).MarshalTo(dAtA[i:]) + n70, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n67 + i += n70 } } if len(m.DefaultRequest) > 0 { @@ -4468,11 +4498,11 @@ func (m *LimitRangeItem) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n68, err := (&v).MarshalTo(dAtA[i:]) + n71, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n68 + i += n71 } } if len(m.MaxLimitRequestRatio) > 0 { @@ -4499,11 +4529,11 @@ func (m *LimitRangeItem) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n69, err := (&v).MarshalTo(dAtA[i:]) + n72, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n69 + i += n72 } } return i, nil @@ -4527,11 +4557,11 @@ func (m *LimitRangeList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n70, err := m.ListMeta.MarshalTo(dAtA[i:]) + n73, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n70 + i += n73 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -4595,11 +4625,11 @@ func (m *List) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n71, err := m.ListMeta.MarshalTo(dAtA[i:]) + n74, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n71 + i += n74 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -4818,27 +4848,27 @@ func (m *Namespace) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n72, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + n75, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n72 + i += n75 dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) - n73, err := m.Spec.MarshalTo(dAtA[i:]) + n76, err := m.Spec.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n73 + i += n76 dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) - n74, err := m.Status.MarshalTo(dAtA[i:]) + n77, err := m.Status.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n74 + i += n77 return i, nil } @@ -4860,11 +4890,11 @@ func (m *NamespaceList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n75, err := m.ListMeta.MarshalTo(dAtA[i:]) + n78, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n75 + i += n78 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -4953,27 +4983,27 @@ func (m *Node) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n76, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + n79, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n76 + i += n79 dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) - n77, err := m.Spec.MarshalTo(dAtA[i:]) + n80, err := m.Spec.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n77 + i += n80 dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) - n78, err := m.Status.MarshalTo(dAtA[i:]) + n81, err := m.Status.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n78 + i += n81 return i, nil } @@ -5022,11 +5052,11 @@ func (m *NodeAffinity) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.RequiredDuringSchedulingIgnoredDuringExecution.Size())) - n79, err := m.RequiredDuringSchedulingIgnoredDuringExecution.MarshalTo(dAtA[i:]) + n82, err := m.RequiredDuringSchedulingIgnoredDuringExecution.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n79 + i += n82 } if len(m.PreferredDuringSchedulingIgnoredDuringExecution) > 0 { for _, msg := range m.PreferredDuringSchedulingIgnoredDuringExecution { @@ -5069,19 +5099,19 @@ func (m *NodeCondition) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LastHeartbeatTime.Size())) - n80, err := m.LastHeartbeatTime.MarshalTo(dAtA[i:]) + n83, err := m.LastHeartbeatTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n80 + i += n83 dAtA[i] = 0x22 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LastTransitionTime.Size())) - n81, err := m.LastTransitionTime.MarshalTo(dAtA[i:]) + n84, err := m.LastTransitionTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n81 + i += n84 dAtA[i] = 0x2a i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Reason))) @@ -5112,11 +5142,11 @@ func (m *NodeConfigSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ConfigMapRef.Size())) - n82, err := m.ConfigMapRef.MarshalTo(dAtA[i:]) + n85, err := m.ConfigMapRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n82 + i += n85 } return i, nil } @@ -5139,11 +5169,11 @@ func (m *NodeDaemonEndpoints) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.KubeletEndpoint.Size())) - n83, err := m.KubeletEndpoint.MarshalTo(dAtA[i:]) + n86, err := m.KubeletEndpoint.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n83 + i += n86 return i, nil } @@ -5165,11 +5195,11 @@ func (m *NodeList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n84, err := m.ListMeta.MarshalTo(dAtA[i:]) + n87, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n84 + i += n87 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -5246,11 +5276,11 @@ func (m *NodeResources) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n85, err := (&v).MarshalTo(dAtA[i:]) + n88, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n85 + i += n88 } } return i, nil @@ -5408,11 +5438,11 @@ func (m *NodeSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x32 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ConfigSource.Size())) - n86, err := m.ConfigSource.MarshalTo(dAtA[i:]) + n89, err := m.ConfigSource.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n86 + i += n89 } return i, nil } @@ -5456,11 +5486,11 @@ func (m *NodeStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n87, err := (&v).MarshalTo(dAtA[i:]) + n90, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n87 + i += n90 } } if len(m.Allocatable) > 0 { @@ -5487,11 +5517,11 @@ func (m *NodeStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n88, err := (&v).MarshalTo(dAtA[i:]) + n91, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n88 + i += n91 } } dAtA[i] = 0x1a @@ -5525,19 +5555,19 @@ func (m *NodeStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x32 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.DaemonEndpoints.Size())) - n89, err := m.DaemonEndpoints.MarshalTo(dAtA[i:]) + n92, err := m.DaemonEndpoints.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n89 + i += n92 dAtA[i] = 0x3a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.NodeInfo.Size())) - n90, err := m.NodeInfo.MarshalTo(dAtA[i:]) + n93, err := m.NodeInfo.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n90 + i += n93 if len(m.Images) > 0 { for _, msg := range m.Images { dAtA[i] = 0x42 @@ -5709,20 +5739,20 @@ func (m *ObjectMeta) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x42 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.CreationTimestamp.Size())) - n91, err := m.CreationTimestamp.MarshalTo(dAtA[i:]) + n94, err := m.CreationTimestamp.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n91 + i += n94 if m.DeletionTimestamp != nil { dAtA[i] = 0x4a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.DeletionTimestamp.Size())) - n92, err := m.DeletionTimestamp.MarshalTo(dAtA[i:]) + n95, err := m.DeletionTimestamp.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n92 + i += n95 } if m.DeletionGracePeriodSeconds != nil { dAtA[i] = 0x50 @@ -5810,11 +5840,11 @@ func (m *ObjectMeta) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Initializers.Size())) - n93, err := m.Initializers.MarshalTo(dAtA[i:]) + n96, err := m.Initializers.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n93 + i += n96 } return i, nil } @@ -5876,48 +5906,6 @@ func (m *PersistentVolume) Marshal() (dAtA []byte, err error) { } func (m *PersistentVolume) MarshalTo(dAtA []byte) (int, error) { - var i int - _ = i - var l int - _ = l - dAtA[i] = 0xa - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n94, err := m.ObjectMeta.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n94 - dAtA[i] = 0x12 - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) - n95, err := m.Spec.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n95 - dAtA[i] = 0x1a - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) - n96, err := m.Status.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n96 - return i, nil -} - -func (m *PersistentVolumeClaim) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalTo(dAtA) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *PersistentVolumeClaim) MarshalTo(dAtA []byte) (int, error) { var i int _ = i var l int @@ -5949,6 +5937,48 @@ func (m *PersistentVolumeClaim) MarshalTo(dAtA []byte) (int, error) { return i, nil } +func (m *PersistentVolumeClaim) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *PersistentVolumeClaim) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) + n100, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n100 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) + n101, err := m.Spec.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n101 + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) + n102, err := m.Status.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n102 + return i, nil +} + func (m *PersistentVolumeClaimCondition) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -5975,19 +6005,19 @@ func (m *PersistentVolumeClaimCondition) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LastProbeTime.Size())) - n100, err := m.LastProbeTime.MarshalTo(dAtA[i:]) + n103, err := m.LastProbeTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n100 + i += n103 dAtA[i] = 0x22 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LastTransitionTime.Size())) - n101, err := m.LastTransitionTime.MarshalTo(dAtA[i:]) + n104, err := m.LastTransitionTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n101 + i += n104 dAtA[i] = 0x2a i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Reason))) @@ -6017,11 +6047,11 @@ func (m *PersistentVolumeClaimList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n102, err := m.ListMeta.MarshalTo(dAtA[i:]) + n105, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n102 + i += n105 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -6070,11 +6100,11 @@ func (m *PersistentVolumeClaimSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Resources.Size())) - n103, err := m.Resources.MarshalTo(dAtA[i:]) + n106, err := m.Resources.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n103 + i += n106 dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.VolumeName))) @@ -6083,11 +6113,11 @@ func (m *PersistentVolumeClaimSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x22 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Selector.Size())) - n104, err := m.Selector.MarshalTo(dAtA[i:]) + n107, err := m.Selector.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n104 + i += n107 } if m.StorageClassName != nil { dAtA[i] = 0x2a @@ -6162,11 +6192,11 @@ func (m *PersistentVolumeClaimStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n105, err := (&v).MarshalTo(dAtA[i:]) + n108, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n105 + i += n108 } } if len(m.Conditions) > 0 { @@ -6232,11 +6262,11 @@ func (m *PersistentVolumeList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n106, err := m.ListMeta.MarshalTo(dAtA[i:]) + n109, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n106 + i += n109 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -6271,163 +6301,163 @@ func (m *PersistentVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.GCEPersistentDisk.Size())) - n107, err := m.GCEPersistentDisk.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n107 - } - if m.AWSElasticBlockStore != nil { - dAtA[i] = 0x12 - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.AWSElasticBlockStore.Size())) - n108, err := m.AWSElasticBlockStore.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n108 - } - if m.HostPath != nil { - dAtA[i] = 0x1a - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.HostPath.Size())) - n109, err := m.HostPath.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n109 - } - if m.Glusterfs != nil { - dAtA[i] = 0x22 - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Glusterfs.Size())) - n110, err := m.Glusterfs.MarshalTo(dAtA[i:]) + n110, err := m.GCEPersistentDisk.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n110 } - if m.NFS != nil { - dAtA[i] = 0x2a + if m.AWSElasticBlockStore != nil { + dAtA[i] = 0x12 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.NFS.Size())) - n111, err := m.NFS.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.AWSElasticBlockStore.Size())) + n111, err := m.AWSElasticBlockStore.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n111 } - if m.RBD != nil { - dAtA[i] = 0x32 + if m.HostPath != nil { + dAtA[i] = 0x1a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.RBD.Size())) - n112, err := m.RBD.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.HostPath.Size())) + n112, err := m.HostPath.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n112 } - if m.ISCSI != nil { - dAtA[i] = 0x3a + if m.Glusterfs != nil { + dAtA[i] = 0x22 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.ISCSI.Size())) - n113, err := m.ISCSI.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.Glusterfs.Size())) + n113, err := m.Glusterfs.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n113 } - if m.Cinder != nil { - dAtA[i] = 0x42 + if m.NFS != nil { + dAtA[i] = 0x2a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Cinder.Size())) - n114, err := m.Cinder.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.NFS.Size())) + n114, err := m.NFS.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n114 } - if m.CephFS != nil { - dAtA[i] = 0x4a + if m.RBD != nil { + dAtA[i] = 0x32 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.CephFS.Size())) - n115, err := m.CephFS.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.RBD.Size())) + n115, err := m.RBD.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n115 } - if m.FC != nil { - dAtA[i] = 0x52 + if m.ISCSI != nil { + dAtA[i] = 0x3a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.FC.Size())) - n116, err := m.FC.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.ISCSI.Size())) + n116, err := m.ISCSI.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n116 } - if m.Flocker != nil { - dAtA[i] = 0x5a + if m.Cinder != nil { + dAtA[i] = 0x42 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Flocker.Size())) - n117, err := m.Flocker.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.Cinder.Size())) + n117, err := m.Cinder.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n117 } - if m.FlexVolume != nil { - dAtA[i] = 0x62 + if m.CephFS != nil { + dAtA[i] = 0x4a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.FlexVolume.Size())) - n118, err := m.FlexVolume.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.CephFS.Size())) + n118, err := m.CephFS.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n118 } - if m.AzureFile != nil { - dAtA[i] = 0x6a + if m.FC != nil { + dAtA[i] = 0x52 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.AzureFile.Size())) - n119, err := m.AzureFile.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.FC.Size())) + n119, err := m.FC.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n119 } - if m.VsphereVolume != nil { - dAtA[i] = 0x72 + if m.Flocker != nil { + dAtA[i] = 0x5a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.VsphereVolume.Size())) - n120, err := m.VsphereVolume.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.Flocker.Size())) + n120, err := m.Flocker.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n120 } - if m.Quobyte != nil { - dAtA[i] = 0x7a + if m.FlexVolume != nil { + dAtA[i] = 0x62 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Quobyte.Size())) - n121, err := m.Quobyte.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.FlexVolume.Size())) + n121, err := m.FlexVolume.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n121 } + if m.AzureFile != nil { + dAtA[i] = 0x6a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.AzureFile.Size())) + n122, err := m.AzureFile.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n122 + } + if m.VsphereVolume != nil { + dAtA[i] = 0x72 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.VsphereVolume.Size())) + n123, err := m.VsphereVolume.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n123 + } + if m.Quobyte != nil { + dAtA[i] = 0x7a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Quobyte.Size())) + n124, err := m.Quobyte.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n124 + } if m.AzureDisk != nil { dAtA[i] = 0x82 i++ dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.AzureDisk.Size())) - n122, err := m.AzureDisk.MarshalTo(dAtA[i:]) + n125, err := m.AzureDisk.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n122 + i += n125 } if m.PhotonPersistentDisk != nil { dAtA[i] = 0x8a @@ -6435,11 +6465,11 @@ func (m *PersistentVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.PhotonPersistentDisk.Size())) - n123, err := m.PhotonPersistentDisk.MarshalTo(dAtA[i:]) + n126, err := m.PhotonPersistentDisk.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n123 + i += n126 } if m.PortworxVolume != nil { dAtA[i] = 0x92 @@ -6447,11 +6477,11 @@ func (m *PersistentVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.PortworxVolume.Size())) - n124, err := m.PortworxVolume.MarshalTo(dAtA[i:]) + n127, err := m.PortworxVolume.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n124 + i += n127 } if m.ScaleIO != nil { dAtA[i] = 0x9a @@ -6459,11 +6489,11 @@ func (m *PersistentVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ScaleIO.Size())) - n125, err := m.ScaleIO.MarshalTo(dAtA[i:]) + n128, err := m.ScaleIO.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n125 + i += n128 } if m.Local != nil { dAtA[i] = 0xa2 @@ -6471,11 +6501,11 @@ func (m *PersistentVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Local.Size())) - n126, err := m.Local.MarshalTo(dAtA[i:]) + n129, err := m.Local.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n126 + i += n129 } if m.StorageOS != nil { dAtA[i] = 0xaa @@ -6483,11 +6513,11 @@ func (m *PersistentVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.StorageOS.Size())) - n127, err := m.StorageOS.MarshalTo(dAtA[i:]) + n130, err := m.StorageOS.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n127 + i += n130 } if m.CSI != nil { dAtA[i] = 0xb2 @@ -6495,11 +6525,11 @@ func (m *PersistentVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.CSI.Size())) - n128, err := m.CSI.MarshalTo(dAtA[i:]) + n131, err := m.CSI.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n128 + i += n131 } return i, nil } @@ -6543,21 +6573,21 @@ func (m *PersistentVolumeSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n129, err := (&v).MarshalTo(dAtA[i:]) + n132, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n129 + i += n132 } } dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.PersistentVolumeSource.Size())) - n130, err := m.PersistentVolumeSource.MarshalTo(dAtA[i:]) + n133, err := m.PersistentVolumeSource.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n130 + i += n133 if len(m.AccessModes) > 0 { for _, s := range m.AccessModes { dAtA[i] = 0x1a @@ -6577,11 +6607,11 @@ func (m *PersistentVolumeSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x22 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ClaimRef.Size())) - n131, err := m.ClaimRef.MarshalTo(dAtA[i:]) + n134, err := m.ClaimRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n131 + i += n134 } dAtA[i] = 0x2a i++ @@ -6616,11 +6646,11 @@ func (m *PersistentVolumeSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x4a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.NodeAffinity.Size())) - n132, err := m.NodeAffinity.MarshalTo(dAtA[i:]) + n135, err := m.NodeAffinity.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n132 + i += n135 } return i, nil } @@ -6699,27 +6729,27 @@ func (m *Pod) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n133, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + n136, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n133 + i += n136 dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) - n134, err := m.Spec.MarshalTo(dAtA[i:]) + n137, err := m.Spec.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n134 + i += n137 dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) - n135, err := m.Status.MarshalTo(dAtA[i:]) + n138, err := m.Status.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n135 + i += n138 return i, nil } @@ -6784,11 +6814,11 @@ func (m *PodAffinityTerm) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LabelSelector.Size())) - n136, err := m.LabelSelector.MarshalTo(dAtA[i:]) + n139, err := m.LabelSelector.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n136 + i += n139 } if len(m.Namespaces) > 0 { for _, s := range m.Namespaces { @@ -6934,19 +6964,19 @@ func (m *PodCondition) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LastProbeTime.Size())) - n137, err := m.LastProbeTime.MarshalTo(dAtA[i:]) + n140, err := m.LastProbeTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n137 + i += n140 dAtA[i] = 0x22 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LastTransitionTime.Size())) - n138, err := m.LastTransitionTime.MarshalTo(dAtA[i:]) + n141, err := m.LastTransitionTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n138 + i += n141 dAtA[i] = 0x2a i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Reason))) @@ -7133,11 +7163,11 @@ func (m *PodList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n139, err := m.ListMeta.MarshalTo(dAtA[i:]) + n142, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n139 + i += n142 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -7197,11 +7227,11 @@ func (m *PodLogOptions) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SinceTime.Size())) - n140, err := m.SinceTime.MarshalTo(dAtA[i:]) + n143, err := m.SinceTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n140 + i += n143 } dAtA[i] = 0x30 i++ @@ -7290,11 +7320,11 @@ func (m *PodSecurityContext) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SELinuxOptions.Size())) - n141, err := m.SELinuxOptions.MarshalTo(dAtA[i:]) + n144, err := m.SELinuxOptions.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n141 + i += n144 } if m.RunAsUser != nil { dAtA[i] = 0x10 @@ -7345,11 +7375,11 @@ func (m *PodSignature) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.PodController.Size())) - n142, err := m.PodController.MarshalTo(dAtA[i:]) + n145, err := m.PodController.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n142 + i += n145 } return i, nil } @@ -7473,11 +7503,11 @@ func (m *PodSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x72 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SecurityContext.Size())) - n143, err := m.SecurityContext.MarshalTo(dAtA[i:]) + n146, err := m.SecurityContext.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n143 + i += n146 } if len(m.ImagePullSecrets) > 0 { for _, msg := range m.ImagePullSecrets { @@ -7509,11 +7539,11 @@ func (m *PodSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Affinity.Size())) - n144, err := m.Affinity.MarshalTo(dAtA[i:]) + n147, err := m.Affinity.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n144 + i += n147 } dAtA[i] = 0x9a i++ @@ -7594,11 +7624,11 @@ func (m *PodSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.DNSConfig.Size())) - n145, err := m.DNSConfig.MarshalTo(dAtA[i:]) + n148, err := m.DNSConfig.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n145 + i += n148 } if m.ShareProcessNamespace != nil { dAtA[i] = 0xd8 @@ -7666,11 +7696,11 @@ func (m *PodStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x3a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.StartTime.Size())) - n146, err := m.StartTime.MarshalTo(dAtA[i:]) + n149, err := m.StartTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n146 + i += n149 } if len(m.ContainerStatuses) > 0 { for _, msg := range m.ContainerStatuses { @@ -7725,19 +7755,19 @@ func (m *PodStatusResult) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n147, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + n150, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n147 + i += n150 dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) - n148, err := m.Status.MarshalTo(dAtA[i:]) + n151, err := m.Status.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n148 + i += n151 return i, nil } @@ -7759,19 +7789,19 @@ func (m *PodTemplate) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n149, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + n152, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n149 + i += n152 dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Template.Size())) - n150, err := m.Template.MarshalTo(dAtA[i:]) + n153, err := m.Template.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n150 + i += n153 return i, nil } @@ -7793,11 +7823,11 @@ func (m *PodTemplateList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n151, err := m.ListMeta.MarshalTo(dAtA[i:]) + n154, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n151 + i += n154 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -7831,19 +7861,19 @@ func (m *PodTemplateSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n152, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + n155, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n152 + i += n155 dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) - n153, err := m.Spec.MarshalTo(dAtA[i:]) + n156, err := m.Spec.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n153 + i += n156 return i, nil } @@ -7923,19 +7953,19 @@ func (m *PreferAvoidPodsEntry) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.PodSignature.Size())) - n154, err := m.PodSignature.MarshalTo(dAtA[i:]) + n157, err := m.PodSignature.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n154 + i += n157 dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.EvictionTime.Size())) - n155, err := m.EvictionTime.MarshalTo(dAtA[i:]) + n158, err := m.EvictionTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n155 + i += n158 dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Reason))) @@ -7968,11 +7998,11 @@ func (m *PreferredSchedulingTerm) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Preference.Size())) - n156, err := m.Preference.MarshalTo(dAtA[i:]) + n159, err := m.Preference.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n156 + i += n159 return i, nil } @@ -7994,11 +8024,11 @@ func (m *Probe) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Handler.Size())) - n157, err := m.Handler.MarshalTo(dAtA[i:]) + n160, err := m.Handler.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n157 + i += n160 dAtA[i] = 0x10 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.InitialDelaySeconds)) @@ -8148,11 +8178,11 @@ func (m *RBDPersistentVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x3a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SecretRef.Size())) - n158, err := m.SecretRef.MarshalTo(dAtA[i:]) + n161, err := m.SecretRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n158 + i += n161 } dAtA[i] = 0x40 i++ @@ -8219,11 +8249,11 @@ func (m *RBDVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x3a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SecretRef.Size())) - n159, err := m.SecretRef.MarshalTo(dAtA[i:]) + n162, err := m.SecretRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n159 + i += n162 } dAtA[i] = 0x40 i++ @@ -8254,11 +8284,11 @@ func (m *RangeAllocation) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n160, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + n163, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n160 + i += n163 dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Range))) @@ -8290,27 +8320,27 @@ func (m *ReplicationController) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n161, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + n164, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n161 + i += n164 dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) - n162, err := m.Spec.MarshalTo(dAtA[i:]) + n165, err := m.Spec.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n162 + i += n165 dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) - n163, err := m.Status.MarshalTo(dAtA[i:]) + n166, err := m.Status.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n163 + i += n166 return i, nil } @@ -8340,11 +8370,11 @@ func (m *ReplicationControllerCondition) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LastTransitionTime.Size())) - n164, err := m.LastTransitionTime.MarshalTo(dAtA[i:]) + n167, err := m.LastTransitionTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n164 + i += n167 dAtA[i] = 0x22 i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Reason))) @@ -8374,11 +8404,11 @@ func (m *ReplicationControllerList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n165, err := m.ListMeta.MarshalTo(dAtA[i:]) + n168, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n165 + i += n168 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -8440,11 +8470,11 @@ func (m *ReplicationControllerSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Template.Size())) - n166, err := m.Template.MarshalTo(dAtA[i:]) + n169, err := m.Template.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n166 + i += n169 } dAtA[i] = 0x20 i++ @@ -8523,11 +8553,11 @@ func (m *ResourceFieldSelector) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Divisor.Size())) - n167, err := m.Divisor.MarshalTo(dAtA[i:]) + n170, err := m.Divisor.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n167 + i += n170 return i, nil } @@ -8549,27 +8579,27 @@ func (m *ResourceQuota) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n168, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + n171, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n168 + i += n171 dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) - n169, err := m.Spec.MarshalTo(dAtA[i:]) + n172, err := m.Spec.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n169 + i += n172 dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) - n170, err := m.Status.MarshalTo(dAtA[i:]) + n173, err := m.Status.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n170 + i += n173 return i, nil } @@ -8591,11 +8621,11 @@ func (m *ResourceQuotaList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n171, err := m.ListMeta.MarshalTo(dAtA[i:]) + n174, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n171 + i += n174 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -8650,11 +8680,11 @@ func (m *ResourceQuotaSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n172, err := (&v).MarshalTo(dAtA[i:]) + n175, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n172 + i += n175 } } if len(m.Scopes) > 0 { @@ -8714,11 +8744,11 @@ func (m *ResourceQuotaStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n173, err := (&v).MarshalTo(dAtA[i:]) + n176, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n173 + i += n176 } } if len(m.Used) > 0 { @@ -8745,11 +8775,11 @@ func (m *ResourceQuotaStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n174, err := (&v).MarshalTo(dAtA[i:]) + n177, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n174 + i += n177 } } return i, nil @@ -8794,11 +8824,11 @@ func (m *ResourceRequirements) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n175, err := (&v).MarshalTo(dAtA[i:]) + n178, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n175 + i += n178 } } if len(m.Requests) > 0 { @@ -8825,11 +8855,11 @@ func (m *ResourceRequirements) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n176, err := (&v).MarshalTo(dAtA[i:]) + n179, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n176 + i += n179 } } return i, nil @@ -8896,11 +8926,11 @@ func (m *ScaleIOPersistentVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SecretRef.Size())) - n177, err := m.SecretRef.MarshalTo(dAtA[i:]) + n180, err := m.SecretRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n177 + i += n180 } dAtA[i] = 0x20 i++ @@ -8968,11 +8998,11 @@ func (m *ScaleIOVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SecretRef.Size())) - n178, err := m.SecretRef.MarshalTo(dAtA[i:]) + n181, err := m.SecretRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n178 + i += n181 } dAtA[i] = 0x20 i++ @@ -9031,11 +9061,11 @@ func (m *Secret) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n179, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + n182, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n179 + i += n182 if len(m.Data) > 0 { keysForData := make([]string, 0, len(m.Data)) for k := range m.Data { @@ -9111,11 +9141,11 @@ func (m *SecretEnvSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LocalObjectReference.Size())) - n180, err := m.LocalObjectReference.MarshalTo(dAtA[i:]) + n183, err := m.LocalObjectReference.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n180 + i += n183 if m.Optional != nil { dAtA[i] = 0x10 i++ @@ -9147,11 +9177,11 @@ func (m *SecretKeySelector) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LocalObjectReference.Size())) - n181, err := m.LocalObjectReference.MarshalTo(dAtA[i:]) + n184, err := m.LocalObjectReference.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n181 + i += n184 dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Key))) @@ -9187,11 +9217,11 @@ func (m *SecretList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n182, err := m.ListMeta.MarshalTo(dAtA[i:]) + n185, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n182 + i += n185 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -9225,11 +9255,11 @@ func (m *SecretProjection) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LocalObjectReference.Size())) - n183, err := m.LocalObjectReference.MarshalTo(dAtA[i:]) + n186, err := m.LocalObjectReference.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n183 + i += n186 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -9349,11 +9379,11 @@ func (m *SecurityContext) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Capabilities.Size())) - n184, err := m.Capabilities.MarshalTo(dAtA[i:]) + n187, err := m.Capabilities.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n184 + i += n187 } if m.Privileged != nil { dAtA[i] = 0x10 @@ -9369,11 +9399,11 @@ func (m *SecurityContext) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SELinuxOptions.Size())) - n185, err := m.SELinuxOptions.MarshalTo(dAtA[i:]) + n188, err := m.SELinuxOptions.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n185 + i += n188 } if m.RunAsUser != nil { dAtA[i] = 0x20 @@ -9431,11 +9461,11 @@ func (m *SerializedReference) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Reference.Size())) - n186, err := m.Reference.MarshalTo(dAtA[i:]) + n189, err := m.Reference.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n186 + i += n189 return i, nil } @@ -9457,27 +9487,27 @@ func (m *Service) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n187, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + n190, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n187 + i += n190 dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) - n188, err := m.Spec.MarshalTo(dAtA[i:]) + n191, err := m.Spec.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n188 + i += n191 dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) - n189, err := m.Status.MarshalTo(dAtA[i:]) + n192, err := m.Status.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n189 + i += n192 return i, nil } @@ -9499,11 +9529,11 @@ func (m *ServiceAccount) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n190, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + n193, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n190 + i += n193 if len(m.Secrets) > 0 { for _, msg := range m.Secrets { dAtA[i] = 0x12 @@ -9559,11 +9589,11 @@ func (m *ServiceAccountList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n191, err := m.ListMeta.MarshalTo(dAtA[i:]) + n194, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n191 + i += n194 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -9597,11 +9627,11 @@ func (m *ServiceList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n192, err := m.ListMeta.MarshalTo(dAtA[i:]) + n195, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n192 + i += n195 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -9646,11 +9676,11 @@ func (m *ServicePort) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x22 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.TargetPort.Size())) - n193, err := m.TargetPort.MarshalTo(dAtA[i:]) + n196, err := m.TargetPort.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n193 + i += n196 dAtA[i] = 0x28 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.NodePort)) @@ -9797,11 +9827,11 @@ func (m *ServiceSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x72 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SessionAffinityConfig.Size())) - n194, err := m.SessionAffinityConfig.MarshalTo(dAtA[i:]) + n197, err := m.SessionAffinityConfig.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n194 + i += n197 } return i, nil } @@ -9824,11 +9854,11 @@ func (m *ServiceStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LoadBalancer.Size())) - n195, err := m.LoadBalancer.MarshalTo(dAtA[i:]) + n198, err := m.LoadBalancer.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n195 + i += n198 return i, nil } @@ -9851,11 +9881,11 @@ func (m *SessionAffinityConfig) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ClientIP.Size())) - n196, err := m.ClientIP.MarshalTo(dAtA[i:]) + n199, err := m.ClientIP.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n196 + i += n199 } return i, nil } @@ -9899,11 +9929,11 @@ func (m *StorageOSPersistentVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SecretRef.Size())) - n197, err := m.SecretRef.MarshalTo(dAtA[i:]) + n200, err := m.SecretRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n197 + i += n200 } return i, nil } @@ -9947,11 +9977,11 @@ func (m *StorageOSVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SecretRef.Size())) - n198, err := m.SecretRef.MarshalTo(dAtA[i:]) + n201, err := m.SecretRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n198 + i += n201 } return i, nil } @@ -10000,11 +10030,11 @@ func (m *TCPSocketAction) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Port.Size())) - n199, err := m.Port.MarshalTo(dAtA[i:]) + n202, err := m.Port.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n199 + i += n202 dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Host))) @@ -10043,11 +10073,11 @@ func (m *Taint) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x22 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.TimeAdded.Size())) - n200, err := m.TimeAdded.MarshalTo(dAtA[i:]) + n203, err := m.TimeAdded.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n200 + i += n203 } return i, nil } @@ -10113,11 +10143,11 @@ func (m *Volume) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.VolumeSource.Size())) - n201, err := m.VolumeSource.MarshalTo(dAtA[i:]) + n204, err := m.VolumeSource.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n201 + i += n204 return i, nil } @@ -10210,11 +10240,11 @@ func (m *VolumeNodeAffinity) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Required.Size())) - n202, err := m.Required.MarshalTo(dAtA[i:]) + n205, err := m.Required.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n202 + i += n205 } return i, nil } @@ -10238,31 +10268,31 @@ func (m *VolumeProjection) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Secret.Size())) - n203, err := m.Secret.MarshalTo(dAtA[i:]) + n206, err := m.Secret.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n203 + i += n206 } if m.DownwardAPI != nil { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.DownwardAPI.Size())) - n204, err := m.DownwardAPI.MarshalTo(dAtA[i:]) + n207, err := m.DownwardAPI.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n204 + i += n207 } if m.ConfigMap != nil { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ConfigMap.Size())) - n205, err := m.ConfigMap.MarshalTo(dAtA[i:]) + n208, err := m.ConfigMap.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n205 + i += n208 } return i, nil } @@ -10286,163 +10316,163 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.HostPath.Size())) - n206, err := m.HostPath.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n206 - } - if m.EmptyDir != nil { - dAtA[i] = 0x12 - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.EmptyDir.Size())) - n207, err := m.EmptyDir.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n207 - } - if m.GCEPersistentDisk != nil { - dAtA[i] = 0x1a - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.GCEPersistentDisk.Size())) - n208, err := m.GCEPersistentDisk.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n208 - } - if m.AWSElasticBlockStore != nil { - dAtA[i] = 0x22 - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.AWSElasticBlockStore.Size())) - n209, err := m.AWSElasticBlockStore.MarshalTo(dAtA[i:]) + n209, err := m.HostPath.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n209 } - if m.GitRepo != nil { - dAtA[i] = 0x2a + if m.EmptyDir != nil { + dAtA[i] = 0x12 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.GitRepo.Size())) - n210, err := m.GitRepo.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.EmptyDir.Size())) + n210, err := m.EmptyDir.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n210 } - if m.Secret != nil { - dAtA[i] = 0x32 + if m.GCEPersistentDisk != nil { + dAtA[i] = 0x1a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Secret.Size())) - n211, err := m.Secret.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.GCEPersistentDisk.Size())) + n211, err := m.GCEPersistentDisk.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n211 } - if m.NFS != nil { - dAtA[i] = 0x3a + if m.AWSElasticBlockStore != nil { + dAtA[i] = 0x22 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.NFS.Size())) - n212, err := m.NFS.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.AWSElasticBlockStore.Size())) + n212, err := m.AWSElasticBlockStore.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n212 } - if m.ISCSI != nil { - dAtA[i] = 0x42 + if m.GitRepo != nil { + dAtA[i] = 0x2a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.ISCSI.Size())) - n213, err := m.ISCSI.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.GitRepo.Size())) + n213, err := m.GitRepo.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n213 } - if m.Glusterfs != nil { - dAtA[i] = 0x4a + if m.Secret != nil { + dAtA[i] = 0x32 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Glusterfs.Size())) - n214, err := m.Glusterfs.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.Secret.Size())) + n214, err := m.Secret.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n214 } - if m.PersistentVolumeClaim != nil { - dAtA[i] = 0x52 + if m.NFS != nil { + dAtA[i] = 0x3a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.PersistentVolumeClaim.Size())) - n215, err := m.PersistentVolumeClaim.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.NFS.Size())) + n215, err := m.NFS.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n215 } - if m.RBD != nil { - dAtA[i] = 0x5a + if m.ISCSI != nil { + dAtA[i] = 0x42 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.RBD.Size())) - n216, err := m.RBD.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.ISCSI.Size())) + n216, err := m.ISCSI.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n216 } - if m.FlexVolume != nil { - dAtA[i] = 0x62 + if m.Glusterfs != nil { + dAtA[i] = 0x4a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.FlexVolume.Size())) - n217, err := m.FlexVolume.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.Glusterfs.Size())) + n217, err := m.Glusterfs.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n217 } - if m.Cinder != nil { - dAtA[i] = 0x6a + if m.PersistentVolumeClaim != nil { + dAtA[i] = 0x52 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Cinder.Size())) - n218, err := m.Cinder.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.PersistentVolumeClaim.Size())) + n218, err := m.PersistentVolumeClaim.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n218 } - if m.CephFS != nil { - dAtA[i] = 0x72 + if m.RBD != nil { + dAtA[i] = 0x5a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.CephFS.Size())) - n219, err := m.CephFS.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.RBD.Size())) + n219, err := m.RBD.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n219 } - if m.Flocker != nil { - dAtA[i] = 0x7a + if m.FlexVolume != nil { + dAtA[i] = 0x62 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Flocker.Size())) - n220, err := m.Flocker.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.FlexVolume.Size())) + n220, err := m.FlexVolume.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n220 } + if m.Cinder != nil { + dAtA[i] = 0x6a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Cinder.Size())) + n221, err := m.Cinder.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n221 + } + if m.CephFS != nil { + dAtA[i] = 0x72 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.CephFS.Size())) + n222, err := m.CephFS.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n222 + } + if m.Flocker != nil { + dAtA[i] = 0x7a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Flocker.Size())) + n223, err := m.Flocker.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n223 + } if m.DownwardAPI != nil { dAtA[i] = 0x82 i++ dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.DownwardAPI.Size())) - n221, err := m.DownwardAPI.MarshalTo(dAtA[i:]) + n224, err := m.DownwardAPI.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n221 + i += n224 } if m.FC != nil { dAtA[i] = 0x8a @@ -10450,11 +10480,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.FC.Size())) - n222, err := m.FC.MarshalTo(dAtA[i:]) + n225, err := m.FC.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n222 + i += n225 } if m.AzureFile != nil { dAtA[i] = 0x92 @@ -10462,11 +10492,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.AzureFile.Size())) - n223, err := m.AzureFile.MarshalTo(dAtA[i:]) + n226, err := m.AzureFile.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n223 + i += n226 } if m.ConfigMap != nil { dAtA[i] = 0x9a @@ -10474,11 +10504,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ConfigMap.Size())) - n224, err := m.ConfigMap.MarshalTo(dAtA[i:]) + n227, err := m.ConfigMap.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n224 + i += n227 } if m.VsphereVolume != nil { dAtA[i] = 0xa2 @@ -10486,11 +10516,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.VsphereVolume.Size())) - n225, err := m.VsphereVolume.MarshalTo(dAtA[i:]) + n228, err := m.VsphereVolume.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n225 + i += n228 } if m.Quobyte != nil { dAtA[i] = 0xaa @@ -10498,11 +10528,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Quobyte.Size())) - n226, err := m.Quobyte.MarshalTo(dAtA[i:]) + n229, err := m.Quobyte.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n226 + i += n229 } if m.AzureDisk != nil { dAtA[i] = 0xb2 @@ -10510,11 +10540,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.AzureDisk.Size())) - n227, err := m.AzureDisk.MarshalTo(dAtA[i:]) + n230, err := m.AzureDisk.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n227 + i += n230 } if m.PhotonPersistentDisk != nil { dAtA[i] = 0xba @@ -10522,11 +10552,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.PhotonPersistentDisk.Size())) - n228, err := m.PhotonPersistentDisk.MarshalTo(dAtA[i:]) + n231, err := m.PhotonPersistentDisk.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n228 + i += n231 } if m.PortworxVolume != nil { dAtA[i] = 0xc2 @@ -10534,11 +10564,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.PortworxVolume.Size())) - n229, err := m.PortworxVolume.MarshalTo(dAtA[i:]) + n232, err := m.PortworxVolume.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n229 + i += n232 } if m.ScaleIO != nil { dAtA[i] = 0xca @@ -10546,11 +10576,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ScaleIO.Size())) - n230, err := m.ScaleIO.MarshalTo(dAtA[i:]) + n233, err := m.ScaleIO.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n230 + i += n233 } if m.Projected != nil { dAtA[i] = 0xd2 @@ -10558,11 +10588,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Projected.Size())) - n231, err := m.Projected.MarshalTo(dAtA[i:]) + n234, err := m.Projected.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n231 + i += n234 } if m.StorageOS != nil { dAtA[i] = 0xda @@ -10570,11 +10600,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.StorageOS.Size())) - n232, err := m.StorageOS.MarshalTo(dAtA[i:]) + n235, err := m.StorageOS.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n232 + i += n235 } return i, nil } @@ -10634,11 +10664,11 @@ func (m *WeightedPodAffinityTerm) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.PodAffinityTerm.Size())) - n233, err := m.PodAffinityTerm.MarshalTo(dAtA[i:]) + n236, err := m.PodAffinityTerm.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n233 + i += n236 return i, nil } @@ -10800,6 +10830,18 @@ func (m *CSIPersistentVolumeSource) Size() (n int) { n += mapEntrySize + 1 + sovGenerated(uint64(mapEntrySize)) } } + if m.ControllerPublishSecretRef != nil { + l = m.ControllerPublishSecretRef.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.NodeStageSecretRef != nil { + l = m.NodeStageSecretRef.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.NodePublishSecretRef != nil { + l = m.NodePublishSecretRef.Size() + n += 1 + l + sovGenerated(uint64(l)) + } return n } @@ -14220,6 +14262,9 @@ func (this *CSIPersistentVolumeSource) String() string { `ReadOnly:` + fmt.Sprintf("%v", this.ReadOnly) + `,`, `FSType:` + fmt.Sprintf("%v", this.FSType) + `,`, `VolumeAttributes:` + mapStringForVolumeAttributes + `,`, + `ControllerPublishSecretRef:` + strings.Replace(fmt.Sprintf("%v", this.ControllerPublishSecretRef), "SecretReference", "SecretReference", 1) + `,`, + `NodeStageSecretRef:` + strings.Replace(fmt.Sprintf("%v", this.NodeStageSecretRef), "SecretReference", "SecretReference", 1) + `,`, + `NodePublishSecretRef:` + strings.Replace(fmt.Sprintf("%v", this.NodePublishSecretRef), "SecretReference", "SecretReference", 1) + `,`, `}`, }, "") return s @@ -18174,6 +18219,105 @@ func (m *CSIPersistentVolumeSource) Unmarshal(dAtA []byte) error { m.VolumeAttributes[mapkey] = mapvalue } iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ControllerPublishSecretRef", 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.ControllerPublishSecretRef == nil { + m.ControllerPublishSecretRef = &SecretReference{} + } + if err := m.ControllerPublishSecretRef.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NodeStageSecretRef", 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.NodeStageSecretRef == nil { + m.NodeStageSecretRef = &SecretReference{} + } + if err := m.NodeStageSecretRef.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NodePublishSecretRef", 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.NodePublishSecretRef == nil { + m.NodePublishSecretRef = &SecretReference{} + } + if err := m.NodePublishSecretRef.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(dAtA[iNdEx:]) @@ -50131,791 +50275,796 @@ func init() { } var fileDescriptorGenerated = []byte{ - // 12567 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xbd, 0x6f, 0x90, 0x24, 0x47, - 0x56, 0x18, 0x7e, 0xd5, 0x3d, 0xff, 0xfa, 0xcd, 0xff, 0xdc, 0x5d, 0xa9, 0x77, 0x24, 0xed, 0xac, - 0x4a, 0x77, 0xab, 0xd5, 0xbf, 0x99, 0xd3, 0x4a, 0x3a, 0x2d, 0xa7, 0x3b, 0xc1, 0xcc, 0xf4, 0xcc, - 0x6e, 0x6b, 0x77, 0x66, 0x5b, 0xd9, 0xb3, 0xbb, 0x77, 0x42, 0xdc, 0x4f, 0x35, 0xdd, 0x39, 0x3d, - 0xa5, 0xa9, 0xa9, 0x6a, 0x55, 0x55, 0xcf, 0xee, 0x28, 0x20, 0xe2, 0xe7, 0x33, 0x60, 0x63, 0xf8, - 0x70, 0x61, 0x08, 0x1b, 0x03, 0x81, 0x23, 0xec, 0x73, 0xc0, 0x19, 0xdb, 0x11, 0x18, 0x0c, 0x18, - 0xb0, 0x8d, 0xb1, 0xc3, 0x01, 0x5f, 0x30, 0xf8, 0xcb, 0x11, 0x41, 0x78, 0x0c, 0x0b, 0x61, 0x07, - 0x1f, 0xec, 0x70, 0x98, 0x4f, 0x8c, 0xb1, 0x71, 0xe4, 0xdf, 0xca, 0xac, 0xae, 0xea, 0xee, 0x59, - 0xcd, 0x8e, 0xc4, 0xc5, 0x7d, 0xeb, 0xce, 0xf7, 0xf2, 0x65, 0x56, 0xfe, 0x79, 0xf9, 0xf2, 0xe5, - 0xfb, 0x03, 0x6f, 0xec, 0x5e, 0x8d, 0x16, 0xdc, 0x60, 0x71, 0xb7, 0xb3, 0x45, 0x42, 0x9f, 0xc4, - 0x24, 0x5a, 0xdc, 0x27, 0x7e, 0x33, 0x08, 0x17, 0x05, 0xc0, 0x69, 0xbb, 0x8b, 0x8d, 0x20, 0x24, - 0x8b, 0xfb, 0x2f, 0x2f, 0xb6, 0x88, 0x4f, 0x42, 0x27, 0x26, 0xcd, 0x85, 0x76, 0x18, 0xc4, 0x01, - 0x42, 0x1c, 0x67, 0xc1, 0x69, 0xbb, 0x0b, 0x14, 0x67, 0x61, 0xff, 0xe5, 0xb9, 0x97, 0x5a, 0x6e, - 0xbc, 0xd3, 0xd9, 0x5a, 0x68, 0x04, 0x7b, 0x8b, 0xad, 0xa0, 0x15, 0x2c, 0x32, 0xd4, 0xad, 0xce, - 0x36, 0xfb, 0xc7, 0xfe, 0xb0, 0x5f, 0x9c, 0xc4, 0xdc, 0x7a, 0xd2, 0x0c, 0xb9, 0x1f, 0x13, 0x3f, - 0x72, 0x03, 0x3f, 0x7a, 0xc9, 0x69, 0xbb, 0x11, 0x09, 0xf7, 0x49, 0xb8, 0xd8, 0xde, 0x6d, 0x51, - 0x58, 0x64, 0x22, 0x2c, 0xee, 0xbf, 0xbc, 0x45, 0x62, 0xa7, 0xab, 0x47, 0x73, 0xaf, 0x26, 0xe4, - 0xf6, 0x9c, 0xc6, 0x8e, 0xeb, 0x93, 0xf0, 0x40, 0xd2, 0x58, 0x0c, 0x49, 0x14, 0x74, 0xc2, 0x06, - 0x39, 0x56, 0xad, 0x68, 0x71, 0x8f, 0xc4, 0x4e, 0xc6, 0xd7, 0xcf, 0x2d, 0xe6, 0xd5, 0x0a, 0x3b, - 0x7e, 0xec, 0xee, 0x75, 0x37, 0xf3, 0xb9, 0x7e, 0x15, 0xa2, 0xc6, 0x0e, 0xd9, 0x73, 0xba, 0xea, - 0xbd, 0x92, 0x57, 0xaf, 0x13, 0xbb, 0xde, 0xa2, 0xeb, 0xc7, 0x51, 0x1c, 0xa6, 0x2b, 0xd9, 0xdf, - 0xb4, 0xe0, 0xe2, 0xd2, 0xdd, 0xfa, 0xaa, 0xe7, 0x44, 0xb1, 0xdb, 0x58, 0xf6, 0x82, 0xc6, 0x6e, - 0x3d, 0x0e, 0x42, 0x72, 0x27, 0xf0, 0x3a, 0x7b, 0xa4, 0xce, 0x06, 0x02, 0xbd, 0x08, 0x63, 0xfb, - 0xec, 0x7f, 0xb5, 0x52, 0xb6, 0x2e, 0x5a, 0x97, 0x4b, 0xcb, 0x33, 0xbf, 0x75, 0x38, 0xff, 0xa9, - 0x07, 0x87, 0xf3, 0x63, 0x77, 0x44, 0x39, 0x56, 0x18, 0xe8, 0x12, 0x8c, 0x6c, 0x47, 0x9b, 0x07, - 0x6d, 0x52, 0x2e, 0x30, 0xdc, 0x29, 0x81, 0x3b, 0xb2, 0x56, 0xa7, 0xa5, 0x58, 0x40, 0xd1, 0x22, - 0x94, 0xda, 0x4e, 0x18, 0xbb, 0xb1, 0x1b, 0xf8, 0xe5, 0xe2, 0x45, 0xeb, 0xf2, 0xf0, 0xf2, 0xac, - 0x40, 0x2d, 0xd5, 0x24, 0x00, 0x27, 0x38, 0xb4, 0x1b, 0x21, 0x71, 0x9a, 0xb7, 0x7c, 0xef, 0xa0, - 0x3c, 0x74, 0xd1, 0xba, 0x3c, 0x96, 0x74, 0x03, 0x8b, 0x72, 0xac, 0x30, 0xec, 0x9f, 0x28, 0xc0, - 0xd8, 0xd2, 0xf6, 0xb6, 0xeb, 0xbb, 0xf1, 0x01, 0xba, 0x03, 0x13, 0x7e, 0xd0, 0x24, 0xf2, 0x3f, - 0xfb, 0x8a, 0xf1, 0x2b, 0x17, 0x17, 0xba, 0x57, 0xe6, 0xc2, 0x86, 0x86, 0xb7, 0x3c, 0xf3, 0xe0, - 0x70, 0x7e, 0x42, 0x2f, 0xc1, 0x06, 0x1d, 0x84, 0x61, 0xbc, 0x1d, 0x34, 0x15, 0xd9, 0x02, 0x23, - 0x3b, 0x9f, 0x45, 0xb6, 0x96, 0xa0, 0x2d, 0x4f, 0x3f, 0x38, 0x9c, 0x1f, 0xd7, 0x0a, 0xb0, 0x4e, - 0x04, 0x6d, 0xc1, 0x34, 0xfd, 0xeb, 0xc7, 0xae, 0xa2, 0x5b, 0x64, 0x74, 0x9f, 0xc9, 0xa3, 0xab, - 0xa1, 0x2e, 0x9f, 0x79, 0x70, 0x38, 0x3f, 0x9d, 0x2a, 0xc4, 0x69, 0x82, 0xf6, 0x87, 0x30, 0xb5, - 0x14, 0xc7, 0x4e, 0x63, 0x87, 0x34, 0xf9, 0x0c, 0xa2, 0x57, 0x61, 0xc8, 0x77, 0xf6, 0x88, 0x98, - 0xdf, 0x8b, 0x62, 0x60, 0x87, 0x36, 0x9c, 0x3d, 0x72, 0x74, 0x38, 0x3f, 0x73, 0xdb, 0x77, 0x3f, - 0xe8, 0x88, 0x55, 0x41, 0xcb, 0x30, 0xc3, 0x46, 0x57, 0x00, 0x9a, 0x64, 0xdf, 0x6d, 0x90, 0x9a, - 0x13, 0xef, 0x88, 0xf9, 0x46, 0xa2, 0x2e, 0x54, 0x14, 0x04, 0x6b, 0x58, 0xf6, 0x7d, 0x28, 0x2d, - 0xed, 0x07, 0x6e, 0xb3, 0x16, 0x34, 0x23, 0xb4, 0x0b, 0xd3, 0xed, 0x90, 0x6c, 0x93, 0x50, 0x15, - 0x95, 0xad, 0x8b, 0xc5, 0xcb, 0xe3, 0x57, 0x2e, 0x67, 0x7e, 0xac, 0x89, 0xba, 0xea, 0xc7, 0xe1, - 0xc1, 0xf2, 0xe3, 0xa2, 0xbd, 0xe9, 0x14, 0x14, 0xa7, 0x29, 0xdb, 0xff, 0xbe, 0x00, 0xe7, 0x96, - 0x3e, 0xec, 0x84, 0xa4, 0xe2, 0x46, 0xbb, 0xe9, 0x15, 0xde, 0x74, 0xa3, 0xdd, 0x8d, 0x64, 0x04, - 0xd4, 0xd2, 0xaa, 0x88, 0x72, 0xac, 0x30, 0xd0, 0x4b, 0x30, 0x4a, 0x7f, 0xdf, 0xc6, 0x55, 0xf1, - 0xc9, 0x67, 0x04, 0xf2, 0x78, 0xc5, 0x89, 0x9d, 0x0a, 0x07, 0x61, 0x89, 0x83, 0xd6, 0x61, 0xbc, - 0xc1, 0x36, 0x64, 0x6b, 0x3d, 0x68, 0x12, 0x36, 0x99, 0xa5, 0xe5, 0x17, 0x28, 0xfa, 0x4a, 0x52, - 0x7c, 0x74, 0x38, 0x5f, 0xe6, 0x7d, 0x13, 0x24, 0x34, 0x18, 0xd6, 0xeb, 0x23, 0x5b, 0xed, 0xaf, - 0x21, 0x46, 0x09, 0x32, 0xf6, 0xd6, 0x65, 0x6d, 0xab, 0x0c, 0xb3, 0xad, 0x32, 0x91, 0xbd, 0x4d, - 0xd0, 0xcb, 0x30, 0xb4, 0xeb, 0xfa, 0xcd, 0xf2, 0x08, 0xa3, 0xf5, 0x14, 0x9d, 0xf3, 0x1b, 0xae, - 0xdf, 0x3c, 0x3a, 0x9c, 0x9f, 0x35, 0xba, 0x43, 0x0b, 0x31, 0x43, 0xb5, 0xff, 0xcc, 0x82, 0x79, - 0x06, 0x5b, 0x73, 0x3d, 0x52, 0x23, 0x61, 0xe4, 0x46, 0x31, 0xf1, 0x63, 0x63, 0x40, 0xaf, 0x00, - 0x44, 0xa4, 0x11, 0x92, 0x58, 0x1b, 0x52, 0xb5, 0x30, 0xea, 0x0a, 0x82, 0x35, 0x2c, 0xca, 0x10, - 0xa2, 0x1d, 0x27, 0x64, 0xeb, 0x4b, 0x0c, 0xac, 0x62, 0x08, 0x75, 0x09, 0xc0, 0x09, 0x8e, 0xc1, - 0x10, 0x8a, 0xfd, 0x18, 0x02, 0xfa, 0x22, 0x4c, 0x27, 0x8d, 0x45, 0x6d, 0xa7, 0x21, 0x07, 0x90, - 0x6d, 0x99, 0xba, 0x09, 0xc2, 0x69, 0x5c, 0xfb, 0x1f, 0x5b, 0x62, 0xf1, 0xd0, 0xaf, 0xfe, 0x84, - 0x7f, 0xab, 0xfd, 0x2b, 0x16, 0x8c, 0x2e, 0xbb, 0x7e, 0xd3, 0xf5, 0x5b, 0xe8, 0x3d, 0x18, 0xa3, - 0x67, 0x53, 0xd3, 0x89, 0x1d, 0xc1, 0xf7, 0x3e, 0xab, 0xed, 0x2d, 0x75, 0x54, 0x2c, 0xb4, 0x77, - 0x5b, 0xb4, 0x20, 0x5a, 0xa0, 0xd8, 0x74, 0xb7, 0xdd, 0xda, 0x7a, 0x9f, 0x34, 0xe2, 0x75, 0x12, - 0x3b, 0xc9, 0xe7, 0x24, 0x65, 0x58, 0x51, 0x45, 0x37, 0x60, 0x24, 0x76, 0xc2, 0x16, 0x89, 0x05, - 0x03, 0xcc, 0x64, 0x54, 0xbc, 0x26, 0xa6, 0x3b, 0x92, 0xf8, 0x0d, 0x92, 0x1c, 0x0b, 0x9b, 0xac, - 0x2a, 0x16, 0x24, 0xec, 0xaf, 0x17, 0xe1, 0xfc, 0x4a, 0xbd, 0x9a, 0xb3, 0xae, 0x2e, 0xc1, 0x48, - 0x33, 0x74, 0xf7, 0x49, 0x28, 0xc6, 0x59, 0x51, 0xa9, 0xb0, 0x52, 0x2c, 0xa0, 0xe8, 0x2a, 0x4c, - 0xf0, 0x03, 0xe9, 0xba, 0xe3, 0x37, 0x3d, 0x39, 0xc4, 0x67, 0x05, 0xf6, 0xc4, 0x1d, 0x0d, 0x86, - 0x0d, 0xcc, 0x63, 0x2e, 0xaa, 0x4b, 0xa9, 0xcd, 0x98, 0x77, 0xd8, 0xfd, 0x90, 0x05, 0x33, 0xbc, - 0x99, 0xa5, 0x38, 0x0e, 0xdd, 0xad, 0x4e, 0x4c, 0xa2, 0xf2, 0x30, 0xe3, 0x74, 0x2b, 0x59, 0xa3, - 0x95, 0x3b, 0x02, 0x0b, 0x77, 0x52, 0x54, 0x38, 0x13, 0x2c, 0x8b, 0x76, 0x67, 0xd2, 0x60, 0xdc, - 0xd5, 0xec, 0xdc, 0x0a, 0x9c, 0xcb, 0x24, 0x82, 0x66, 0xa0, 0xb8, 0x4b, 0xf8, 0xe1, 0x58, 0xc2, - 0xf4, 0x27, 0x3a, 0x0b, 0xc3, 0xfb, 0x8e, 0xd7, 0x11, 0xe3, 0x87, 0xf9, 0x9f, 0xcf, 0x17, 0xae, - 0x5a, 0x76, 0x03, 0x26, 0x56, 0x9c, 0xb6, 0xb3, 0xe5, 0x7a, 0x6e, 0xec, 0x92, 0x08, 0x3d, 0x0b, - 0x45, 0xa7, 0xd9, 0x64, 0xcc, 0xbb, 0xb4, 0x7c, 0xee, 0xc1, 0xe1, 0x7c, 0x71, 0xa9, 0x49, 0xb9, - 0x08, 0x28, 0xac, 0x03, 0x4c, 0x31, 0xd0, 0xf3, 0x30, 0xd4, 0x0c, 0x83, 0x76, 0xb9, 0xc0, 0x30, - 0x1f, 0xa3, 0x0c, 0xa7, 0x12, 0x06, 0xed, 0x14, 0x2a, 0xc3, 0xb1, 0x7f, 0xa3, 0x00, 0x4f, 0xae, - 0x90, 0xf6, 0xce, 0x5a, 0x3d, 0x67, 0x39, 0x5c, 0x86, 0xb1, 0xbd, 0xc0, 0x77, 0xe3, 0x20, 0x8c, - 0x44, 0xd3, 0x8c, 0xcf, 0xad, 0x8b, 0x32, 0xac, 0xa0, 0xe8, 0x22, 0x0c, 0xb5, 0x93, 0x33, 0x6a, - 0x42, 0x9e, 0x6f, 0xec, 0x74, 0x62, 0x10, 0x8a, 0xd1, 0x89, 0x48, 0x28, 0xf8, 0xb3, 0xc2, 0xb8, - 0x1d, 0x91, 0x10, 0x33, 0x48, 0xb2, 0xd1, 0x29, 0x0b, 0x10, 0x13, 0x9e, 0xda, 0xe8, 0x14, 0x82, - 0x35, 0x2c, 0x54, 0x83, 0x12, 0xff, 0x87, 0xc9, 0x36, 0x63, 0xc5, 0x39, 0xdb, 0xa3, 0x2e, 0x91, - 0xc4, 0xf6, 0x98, 0x64, 0x9c, 0x40, 0x16, 0xe2, 0x84, 0x88, 0xb1, 0x40, 0x47, 0xfa, 0x72, 0x82, - 0x5f, 0x2b, 0x00, 0xe2, 0x43, 0xf8, 0x57, 0x6c, 0xe0, 0x6e, 0x77, 0x0f, 0x5c, 0xa6, 0x4c, 0x70, - 0x33, 0x68, 0x38, 0x5e, 0x9a, 0xb9, 0x9c, 0xd4, 0xe8, 0xfd, 0xb8, 0x05, 0x68, 0xc5, 0xf5, 0x9b, - 0x24, 0x3c, 0x05, 0x81, 0xf8, 0x78, 0x2c, 0xfe, 0x26, 0x4c, 0xad, 0x78, 0x2e, 0xf1, 0xe3, 0x6a, - 0x6d, 0x25, 0xf0, 0xb7, 0xdd, 0x16, 0xfa, 0x3c, 0x4c, 0xd1, 0xfb, 0x41, 0xd0, 0x89, 0xeb, 0xa4, - 0x11, 0xf8, 0x4c, 0x94, 0xa2, 0x52, 0x35, 0x7a, 0x70, 0x38, 0x3f, 0xb5, 0x69, 0x40, 0x70, 0x0a, - 0xd3, 0xfe, 0x03, 0xfa, 0xa1, 0xc1, 0x5e, 0x3b, 0xf0, 0x89, 0x1f, 0xaf, 0x04, 0x7e, 0x93, 0x8b, - 0xdc, 0x9f, 0x87, 0xa1, 0x98, 0x76, 0x9c, 0x7f, 0xe4, 0x25, 0x39, 0xb5, 0xb4, 0xbb, 0x47, 0x87, - 0xf3, 0x8f, 0x75, 0xd7, 0x60, 0x1f, 0xc4, 0xea, 0xa0, 0xef, 0x80, 0x91, 0x28, 0x76, 0xe2, 0x4e, - 0x24, 0x3e, 0xfb, 0x69, 0xf9, 0xd9, 0x75, 0x56, 0x7a, 0x74, 0x38, 0x3f, 0xad, 0xaa, 0xf1, 0x22, - 0x2c, 0x2a, 0xa0, 0xe7, 0x60, 0x74, 0x8f, 0x44, 0x91, 0xd3, 0x92, 0xd2, 0xd2, 0xb4, 0xa8, 0x3b, - 0xba, 0xce, 0x8b, 0xb1, 0x84, 0xa3, 0x67, 0x60, 0x98, 0x84, 0x61, 0x10, 0x8a, 0x55, 0x35, 0x29, - 0x10, 0x87, 0x57, 0x69, 0x21, 0xe6, 0x30, 0xfb, 0x3f, 0x5a, 0x30, 0xad, 0xfa, 0xca, 0xdb, 0x3a, - 0x85, 0x63, 0xf1, 0x1d, 0x80, 0x86, 0xfc, 0xc0, 0x88, 0xf1, 0xbb, 0xf1, 0x2b, 0x97, 0x32, 0x99, - 0x7d, 0xd7, 0x30, 0x26, 0x94, 0x55, 0x51, 0x84, 0x35, 0x6a, 0xf6, 0xbf, 0xb2, 0xe0, 0x4c, 0xea, - 0x8b, 0x6e, 0xba, 0x51, 0x8c, 0xde, 0xed, 0xfa, 0xaa, 0x85, 0xc1, 0xbe, 0x8a, 0xd6, 0x66, 0xdf, - 0xa4, 0xd6, 0x9c, 0x2c, 0xd1, 0xbe, 0xe8, 0x3a, 0x0c, 0xbb, 0x31, 0xd9, 0x93, 0x1f, 0xf3, 0x4c, - 0xcf, 0x8f, 0xe1, 0xbd, 0x4a, 0x66, 0xa4, 0x4a, 0x6b, 0x62, 0x4e, 0xc0, 0xfe, 0xd1, 0x22, 0x94, - 0xf8, 0xb2, 0x5d, 0x77, 0xda, 0xa7, 0x30, 0x17, 0x55, 0x18, 0x62, 0xd4, 0x79, 0xc7, 0x9f, 0xcd, - 0xee, 0xb8, 0xe8, 0xce, 0x02, 0x95, 0x79, 0xf9, 0xb1, 0xaa, 0x98, 0x19, 0x2d, 0xc2, 0x8c, 0x04, - 0x72, 0x00, 0xb6, 0x5c, 0xdf, 0x09, 0x0f, 0x68, 0x59, 0xb9, 0xc8, 0x08, 0xbe, 0xd4, 0x9b, 0xe0, - 0xb2, 0xc2, 0xe7, 0x64, 0x55, 0x5f, 0x13, 0x00, 0xd6, 0x88, 0xce, 0xbd, 0x0e, 0x25, 0x85, 0x7c, - 0x9c, 0x53, 0x79, 0xee, 0x8b, 0x30, 0x9d, 0x6a, 0xab, 0x5f, 0xf5, 0x09, 0xfd, 0x50, 0xff, 0x55, - 0xc6, 0x05, 0x44, 0xaf, 0x57, 0xfd, 0x7d, 0xc1, 0xee, 0x3e, 0x84, 0xb3, 0x5e, 0x06, 0x97, 0x15, - 0x53, 0x35, 0x38, 0x57, 0x7e, 0x52, 0x7c, 0xf6, 0xd9, 0x2c, 0x28, 0xce, 0x6c, 0x83, 0x1e, 0x54, - 0x41, 0x9b, 0xae, 0x79, 0xc7, 0x63, 0xfd, 0x15, 0x37, 0x99, 0x5b, 0xa2, 0x0c, 0x2b, 0x28, 0x65, - 0x61, 0x67, 0x55, 0xe7, 0x6f, 0x90, 0x83, 0x3a, 0xf1, 0x48, 0x23, 0x0e, 0xc2, 0x8f, 0xb5, 0xfb, - 0x4f, 0xf1, 0xd1, 0xe7, 0x1c, 0x70, 0x5c, 0x10, 0x28, 0xde, 0x20, 0x07, 0x7c, 0x2a, 0xf4, 0xaf, - 0x2b, 0xf6, 0xfc, 0xba, 0x9f, 0xb7, 0x60, 0x52, 0x7d, 0xdd, 0x29, 0x6c, 0xf5, 0x65, 0x73, 0xab, - 0x3f, 0xd5, 0x73, 0x81, 0xe7, 0x6c, 0xf2, 0xbf, 0x64, 0x4c, 0x4a, 0xe0, 0xd4, 0xc2, 0x80, 0x0e, - 0x0d, 0x3d, 0x55, 0x3e, 0xce, 0x09, 0x19, 0xe4, 0xbb, 0x6e, 0x90, 0x83, 0xcd, 0x80, 0x0a, 0x38, - 0xd9, 0xdf, 0x65, 0xcc, 0xda, 0x50, 0xcf, 0x59, 0xfb, 0xc5, 0x02, 0x9c, 0x53, 0x23, 0x60, 0x88, - 0x10, 0x7f, 0xd5, 0xc7, 0xe0, 0x65, 0x18, 0x6f, 0x92, 0x6d, 0xa7, 0xe3, 0xc5, 0x4a, 0xa9, 0x31, - 0xcc, 0x15, 0x5b, 0x95, 0xa4, 0x18, 0xeb, 0x38, 0xc7, 0x18, 0xb6, 0xaf, 0x8f, 0xb3, 0xd3, 0x21, - 0x76, 0xe8, 0x0a, 0xa6, 0xf2, 0xa5, 0xa6, 0x9a, 0x9a, 0xd0, 0x55, 0x53, 0x42, 0x0d, 0xf5, 0x0c, - 0x0c, 0xbb, 0x7b, 0x54, 0x5a, 0x28, 0x98, 0x42, 0x40, 0x95, 0x16, 0x62, 0x0e, 0x43, 0x9f, 0x81, - 0xd1, 0x46, 0xb0, 0xb7, 0xe7, 0xf8, 0x4d, 0xc6, 0xb4, 0x4b, 0xcb, 0xe3, 0x54, 0xa0, 0x58, 0xe1, - 0x45, 0x58, 0xc2, 0xd0, 0x93, 0x30, 0xe4, 0x84, 0xad, 0xa8, 0x3c, 0xc4, 0x70, 0xc6, 0x68, 0x4b, - 0x4b, 0x61, 0x2b, 0xc2, 0xac, 0x94, 0x4a, 0xb2, 0xf7, 0x82, 0x70, 0xd7, 0xf5, 0x5b, 0x15, 0x37, - 0x64, 0x62, 0xa9, 0x26, 0xc9, 0xde, 0x55, 0x10, 0xac, 0x61, 0xa1, 0x35, 0x18, 0x6e, 0x07, 0x61, - 0x1c, 0x95, 0x47, 0xd8, 0x70, 0x3f, 0x9d, 0xb3, 0x95, 0xf8, 0xd7, 0xd6, 0x82, 0x30, 0x4e, 0x3e, - 0x80, 0xfe, 0x8b, 0x30, 0xaf, 0x8e, 0xbe, 0x03, 0x8a, 0xc4, 0xdf, 0x2f, 0x8f, 0x32, 0x2a, 0x73, - 0x59, 0x54, 0x56, 0xfd, 0xfd, 0x3b, 0x4e, 0x98, 0xf0, 0x99, 0x55, 0x7f, 0x1f, 0xd3, 0x3a, 0xe8, - 0xcb, 0x50, 0x92, 0x6a, 0xed, 0xa8, 0x3c, 0x96, 0xbf, 0xc4, 0xb0, 0x40, 0xc2, 0xe4, 0x83, 0x8e, - 0x1b, 0x92, 0x3d, 0xe2, 0xc7, 0x51, 0xa2, 0x98, 0x90, 0xd0, 0x08, 0x27, 0xd4, 0xd0, 0x97, 0xe5, - 0x4d, 0x7b, 0x3d, 0xe8, 0xf8, 0x71, 0x54, 0x2e, 0xb1, 0xee, 0x65, 0xea, 0x40, 0xef, 0x24, 0x78, - 0xe9, 0xab, 0x38, 0xaf, 0x8c, 0x0d, 0x52, 0x08, 0xc3, 0xa4, 0xe7, 0xee, 0x13, 0x9f, 0x44, 0x51, - 0x2d, 0x0c, 0xb6, 0x48, 0x19, 0x58, 0xcf, 0xcf, 0x67, 0xab, 0x06, 0x83, 0x2d, 0xb2, 0x3c, 0xfb, - 0xe0, 0x70, 0x7e, 0xf2, 0xa6, 0x5e, 0x07, 0x9b, 0x24, 0xd0, 0x6d, 0x98, 0xa2, 0x22, 0xb4, 0x9b, - 0x10, 0x1d, 0xef, 0x47, 0x94, 0xc9, 0xcf, 0xd8, 0xa8, 0x84, 0x53, 0x44, 0xd0, 0x5b, 0x50, 0xf2, - 0xdc, 0x6d, 0xd2, 0x38, 0x68, 0x78, 0xa4, 0x3c, 0xc1, 0x28, 0x66, 0x6e, 0xab, 0x9b, 0x12, 0x89, - 0x5f, 0x51, 0xd4, 0x5f, 0x9c, 0x54, 0x47, 0x77, 0xe0, 0xb1, 0x98, 0x84, 0x7b, 0xae, 0xef, 0xd0, - 0xed, 0x20, 0x24, 0x5e, 0xa6, 0x60, 0x9d, 0x64, 0xeb, 0xed, 0x82, 0x18, 0xba, 0xc7, 0x36, 0x33, - 0xb1, 0x70, 0x4e, 0x6d, 0x74, 0x0b, 0xa6, 0xd9, 0x4e, 0xa8, 0x75, 0x3c, 0xaf, 0x16, 0x78, 0x6e, - 0xe3, 0xa0, 0x3c, 0xc5, 0x08, 0x7e, 0x46, 0x6a, 0x50, 0xab, 0x26, 0x98, 0xde, 0xc9, 0x93, 0x7f, - 0x38, 0x5d, 0x1b, 0x6d, 0x31, 0x8d, 0x5a, 0x27, 0x74, 0xe3, 0x03, 0xba, 0x7e, 0xc9, 0xfd, 0xb8, - 0x3c, 0xdd, 0xf3, 0x86, 0xab, 0xa3, 0x2a, 0xb5, 0x9b, 0x5e, 0x88, 0xd3, 0x04, 0xe9, 0xd6, 0x8e, - 0xe2, 0xa6, 0xeb, 0x97, 0x67, 0x18, 0xc7, 0x50, 0x3b, 0xa3, 0x4e, 0x0b, 0x31, 0x87, 0x31, 0x6d, - 0x1a, 0xfd, 0x71, 0x8b, 0x72, 0xd0, 0x59, 0x86, 0x98, 0x68, 0xd3, 0x24, 0x00, 0x27, 0x38, 0xf4, - 0x58, 0x8e, 0xe3, 0x83, 0x32, 0x62, 0xa8, 0x6a, 0xbb, 0x6c, 0x6e, 0x7e, 0x19, 0xd3, 0x72, 0x74, - 0x13, 0x46, 0x89, 0xbf, 0xbf, 0x16, 0x06, 0x7b, 0xe5, 0x33, 0xf9, 0x7b, 0x76, 0x95, 0xa3, 0x70, - 0x86, 0x9e, 0x5c, 0x51, 0x44, 0x31, 0x96, 0x24, 0xd0, 0x7d, 0x28, 0x67, 0xcc, 0x08, 0x9f, 0x80, - 0xb3, 0x6c, 0x02, 0xbe, 0x20, 0xea, 0x96, 0x37, 0x73, 0xf0, 0x8e, 0x7a, 0xc0, 0x70, 0x2e, 0x75, - 0xf4, 0x3d, 0x30, 0xc9, 0x37, 0x14, 0x57, 0xc5, 0x47, 0xe5, 0x73, 0xec, 0x6b, 0x2e, 0xe6, 0x6f, - 0x4e, 0x8e, 0xb8, 0x7c, 0x4e, 0x74, 0x68, 0x52, 0x2f, 0x8d, 0xb0, 0x49, 0xcd, 0xde, 0x82, 0x29, - 0xc5, 0xb7, 0xd8, 0xd2, 0x41, 0xf3, 0x30, 0x4c, 0x19, 0xb2, 0xd4, 0x29, 0x94, 0xe8, 0x4c, 0x31, - 0x15, 0x2a, 0xe6, 0xe5, 0x6c, 0xa6, 0xdc, 0x0f, 0xc9, 0xf2, 0x41, 0x4c, 0xf8, 0xbd, 0xb0, 0xa8, - 0xcd, 0x94, 0x04, 0xe0, 0x04, 0xc7, 0xfe, 0xbf, 0x5c, 0xee, 0x49, 0x98, 0xe3, 0x00, 0xc7, 0xc1, - 0x8b, 0x30, 0xb6, 0x13, 0x44, 0x31, 0xc5, 0x66, 0x6d, 0x0c, 0x27, 0x92, 0xce, 0x75, 0x51, 0x8e, - 0x15, 0x06, 0x7a, 0x03, 0x26, 0x1b, 0x7a, 0x03, 0xe2, 0x2c, 0x53, 0x43, 0x60, 0xb4, 0x8e, 0x4d, - 0x5c, 0x74, 0x15, 0xc6, 0xd8, 0x43, 0x5a, 0x23, 0xf0, 0xc4, 0x0d, 0x54, 0x1e, 0xc8, 0x63, 0x35, - 0x51, 0x7e, 0xa4, 0xfd, 0xc6, 0x0a, 0x1b, 0x5d, 0x82, 0x11, 0xda, 0x85, 0x6a, 0x4d, 0x9c, 0x22, - 0x4a, 0x2b, 0x70, 0x9d, 0x95, 0x62, 0x01, 0xb5, 0xff, 0x76, 0x41, 0x1b, 0x65, 0x7a, 0xa7, 0x22, - 0xa8, 0x06, 0xa3, 0xf7, 0x1c, 0x37, 0x76, 0xfd, 0x96, 0x10, 0x17, 0x9e, 0xeb, 0x79, 0xa4, 0xb0, - 0x4a, 0x77, 0x79, 0x05, 0x7e, 0xe8, 0x89, 0x3f, 0x58, 0x92, 0xa1, 0x14, 0xc3, 0x8e, 0xef, 0x53, - 0x8a, 0x85, 0x41, 0x29, 0x62, 0x5e, 0x81, 0x53, 0x14, 0x7f, 0xb0, 0x24, 0x83, 0xde, 0x05, 0x90, - 0xcb, 0x92, 0x34, 0xc5, 0x03, 0xd6, 0x8b, 0xfd, 0x89, 0x6e, 0xaa, 0x3a, 0xcb, 0x53, 0xf4, 0x48, - 0x4d, 0xfe, 0x63, 0x8d, 0x9e, 0x1d, 0x33, 0xb1, 0xaa, 0xbb, 0x33, 0xe8, 0xbb, 0x29, 0x27, 0x70, - 0xc2, 0x98, 0x34, 0x97, 0x62, 0x31, 0x38, 0xcf, 0x0f, 0x26, 0x15, 0x6f, 0xba, 0x7b, 0x44, 0xe7, - 0x1a, 0x82, 0x08, 0x4e, 0xe8, 0xd9, 0xbf, 0x5c, 0x84, 0x72, 0x5e, 0x77, 0xe9, 0xa2, 0x23, 0xf7, - 0xdd, 0x78, 0x85, 0x4a, 0x43, 0x96, 0xb9, 0xe8, 0x56, 0x45, 0x39, 0x56, 0x18, 0x74, 0xf6, 0x23, - 0xb7, 0x25, 0x2f, 0x35, 0xc3, 0xc9, 0xec, 0xd7, 0x59, 0x29, 0x16, 0x50, 0x8a, 0x17, 0x12, 0x27, - 0x12, 0x2f, 0xa4, 0xda, 0x2a, 0xc1, 0xac, 0x14, 0x0b, 0xa8, 0xae, 0x31, 0x19, 0xea, 0xa3, 0x31, - 0x31, 0x86, 0x68, 0xf8, 0x64, 0x87, 0x08, 0x7d, 0x05, 0x60, 0xdb, 0xf5, 0xdd, 0x68, 0x87, 0x51, - 0x1f, 0x39, 0x36, 0x75, 0x25, 0x4b, 0xad, 0x29, 0x2a, 0x58, 0xa3, 0x88, 0x5e, 0x83, 0x71, 0xb5, - 0x01, 0xab, 0x95, 0xf2, 0xa8, 0xf9, 0xfc, 0x96, 0x70, 0xa3, 0x0a, 0xd6, 0xf1, 0xec, 0xf7, 0xd3, - 0xeb, 0x45, 0xec, 0x00, 0x6d, 0x7c, 0xad, 0x41, 0xc7, 0xb7, 0xd0, 0x7b, 0x7c, 0xed, 0xdf, 0x2c, - 0xc2, 0xb4, 0xd1, 0x58, 0x27, 0x1a, 0x80, 0x67, 0x5d, 0xa3, 0xe7, 0x9c, 0x13, 0x13, 0xb1, 0xff, - 0xec, 0xfe, 0x5b, 0x45, 0x3f, 0x0b, 0xe9, 0x0e, 0xe0, 0xf5, 0xd1, 0x57, 0xa0, 0xe4, 0x39, 0x11, - 0xd3, 0xbe, 0x10, 0xb1, 0xef, 0x06, 0x21, 0x96, 0xdc, 0x23, 0x9c, 0x28, 0xd6, 0x8e, 0x1a, 0x4e, - 0x3b, 0x21, 0x49, 0x0f, 0x64, 0x2a, 0xfb, 0xc8, 0x27, 0x78, 0xd5, 0x09, 0x2a, 0x20, 0x1d, 0x60, - 0x0e, 0x43, 0x57, 0x61, 0x22, 0x24, 0x6c, 0x55, 0xac, 0x50, 0x51, 0x8e, 0x2d, 0xb3, 0xe1, 0x44, - 0xe6, 0xc3, 0x1a, 0x0c, 0x1b, 0x98, 0x89, 0x28, 0x3f, 0xd2, 0x43, 0x94, 0x7f, 0x0e, 0x46, 0xd9, - 0x0f, 0xb5, 0x02, 0xd4, 0x6c, 0x54, 0x79, 0x31, 0x96, 0xf0, 0xf4, 0x82, 0x19, 0x1b, 0x70, 0xc1, - 0x3c, 0x0f, 0x53, 0x15, 0x87, 0xec, 0x05, 0xfe, 0xaa, 0xdf, 0x6c, 0x07, 0xae, 0x1f, 0xa3, 0x32, - 0x0c, 0xb1, 0xd3, 0x81, 0xef, 0xed, 0x21, 0x4a, 0x01, 0x0f, 0x51, 0xc1, 0xdc, 0xfe, 0xbd, 0x02, - 0x4c, 0x56, 0x88, 0x47, 0x62, 0xc2, 0xaf, 0x32, 0x11, 0x5a, 0x03, 0xd4, 0x0a, 0x9d, 0x06, 0xa9, - 0x91, 0xd0, 0x0d, 0x9a, 0xba, 0x36, 0xb6, 0xc8, 0x5e, 0x3c, 0xd0, 0xb5, 0x2e, 0x28, 0xce, 0xa8, - 0x81, 0xde, 0x81, 0xc9, 0x76, 0x48, 0x0c, 0x25, 0xa2, 0x95, 0x27, 0x8d, 0xd4, 0x74, 0x44, 0x2e, - 0x08, 0x1b, 0x45, 0xd8, 0x24, 0x85, 0xbe, 0x0b, 0x66, 0x82, 0xb0, 0xbd, 0xe3, 0xf8, 0x15, 0xd2, - 0x26, 0x7e, 0x93, 0x4a, 0xfa, 0x42, 0x05, 0x71, 0xf6, 0xc1, 0xe1, 0xfc, 0xcc, 0xad, 0x14, 0x0c, - 0x77, 0x61, 0xa3, 0x77, 0x60, 0xb6, 0x1d, 0x06, 0x6d, 0xa7, 0xc5, 0x16, 0x8a, 0x10, 0x68, 0x38, - 0xf7, 0x79, 0xf1, 0xc1, 0xe1, 0xfc, 0x6c, 0x2d, 0x0d, 0x3c, 0x3a, 0x9c, 0x3f, 0xc3, 0x06, 0x8a, - 0x96, 0x24, 0x40, 0xdc, 0x4d, 0xc6, 0x6e, 0xc1, 0xb9, 0x4a, 0x70, 0xcf, 0xbf, 0xe7, 0x84, 0xcd, - 0xa5, 0x5a, 0x55, 0xd3, 0x1d, 0x6c, 0xc8, 0xbb, 0x2b, 0x37, 0x13, 0xc8, 0x3c, 0xa7, 0xb4, 0x9a, - 0x5c, 0x7e, 0x59, 0x73, 0x3d, 0x92, 0xa3, 0xa3, 0xf8, 0xbb, 0x05, 0xa3, 0xa5, 0x04, 0x5f, 0x3d, - 0x7c, 0x58, 0xb9, 0x0f, 0x1f, 0x6f, 0xc3, 0xd8, 0xb6, 0x4b, 0xbc, 0x26, 0x26, 0xdb, 0x62, 0x66, - 0x9e, 0xcd, 0x7f, 0xf9, 0x5c, 0xa3, 0x98, 0x52, 0x27, 0xc5, 0x6f, 0xbe, 0x6b, 0xa2, 0x32, 0x56, - 0x64, 0xd0, 0x2e, 0xcc, 0xc8, 0xab, 0x95, 0x84, 0x8a, 0x4d, 0xfc, 0x5c, 0xaf, 0xfb, 0x9a, 0x49, - 0x9c, 0x4d, 0x20, 0x4e, 0x91, 0xc1, 0x5d, 0x84, 0xe9, 0x55, 0x77, 0x8f, 0x1e, 0x57, 0x43, 0x6c, - 0x49, 0xb3, 0xab, 0x2e, 0xbb, 0xb5, 0xb3, 0x52, 0xfb, 0xa7, 0x2c, 0x78, 0xbc, 0x6b, 0x64, 0x84, - 0xf6, 0xe2, 0x84, 0x67, 0x21, 0xad, 0x4d, 0x28, 0xf4, 0xd7, 0x26, 0xd8, 0xff, 0xc4, 0x82, 0xb3, - 0xab, 0x7b, 0xed, 0xf8, 0xa0, 0xe2, 0x9a, 0x8f, 0x33, 0xaf, 0xc3, 0xc8, 0x1e, 0x69, 0xba, 0x9d, - 0x3d, 0x31, 0x73, 0xf3, 0x92, 0xa5, 0xaf, 0xb3, 0xd2, 0xa3, 0xc3, 0xf9, 0xc9, 0x7a, 0x1c, 0x84, - 0x4e, 0x8b, 0xf0, 0x02, 0x2c, 0xd0, 0xd9, 0xc1, 0xe8, 0x7e, 0x48, 0x6e, 0xba, 0x7b, 0xae, 0x7c, - 0xc9, 0xee, 0xa9, 0x51, 0x5b, 0x90, 0x03, 0xba, 0xf0, 0x76, 0xc7, 0xf1, 0x63, 0x37, 0x3e, 0x10, - 0xef, 0x4e, 0x92, 0x08, 0x4e, 0xe8, 0xd9, 0xdf, 0xb4, 0x60, 0x5a, 0xf2, 0x92, 0xa5, 0x66, 0x33, - 0x24, 0x51, 0x84, 0xe6, 0xa0, 0xe0, 0xb6, 0x45, 0x2f, 0x41, 0xf4, 0xb2, 0x50, 0xad, 0xe1, 0x82, - 0xdb, 0x46, 0x35, 0x28, 0xf1, 0x07, 0xf1, 0x64, 0x71, 0x0d, 0xf4, 0xac, 0xce, 0x7a, 0xb0, 0x29, - 0x6b, 0xe2, 0x84, 0x88, 0x94, 0x8a, 0xd9, 0x39, 0x54, 0x34, 0x1f, 0xad, 0xae, 0x8b, 0x72, 0xac, - 0x30, 0xd0, 0x65, 0x18, 0xf3, 0x83, 0x26, 0xb7, 0x4f, 0xe0, 0x7b, 0x9a, 0x2d, 0xd9, 0x0d, 0x51, - 0x86, 0x15, 0xd4, 0xfe, 0x11, 0x0b, 0x26, 0xe4, 0x97, 0x0d, 0x28, 0xa0, 0xd3, 0xad, 0x95, 0x08, - 0xe7, 0xc9, 0xd6, 0xa2, 0x02, 0x36, 0x83, 0x18, 0x72, 0x75, 0xf1, 0x38, 0x72, 0xb5, 0xfd, 0x93, - 0x05, 0x98, 0x92, 0xdd, 0xa9, 0x77, 0xb6, 0x22, 0x12, 0xa3, 0x4d, 0x28, 0x39, 0x7c, 0xc8, 0x89, - 0x5c, 0xb1, 0xcf, 0x64, 0x5f, 0xe8, 0x8c, 0xf9, 0x49, 0x44, 0x9d, 0x25, 0x59, 0x1b, 0x27, 0x84, - 0x90, 0x07, 0xb3, 0x7e, 0x10, 0xb3, 0x63, 0x4f, 0xc1, 0x7b, 0x3d, 0x8c, 0xa4, 0xa9, 0x9f, 0x17, - 0xd4, 0x67, 0x37, 0xd2, 0x54, 0x70, 0x37, 0x61, 0xb4, 0x2a, 0x95, 0x48, 0xc5, 0xfc, 0x2b, 0x9c, - 0x3e, 0x0b, 0xd9, 0x3a, 0x24, 0xfb, 0xd7, 0x2d, 0x28, 0x49, 0xb4, 0xd3, 0x78, 0x03, 0x5b, 0x87, - 0xd1, 0x88, 0x4d, 0x82, 0x1c, 0x1a, 0xbb, 0x57, 0xc7, 0xf9, 0x7c, 0x25, 0xa7, 0x39, 0xff, 0x1f, - 0x61, 0x49, 0x83, 0x69, 0xc1, 0x55, 0xf7, 0x3f, 0x21, 0x5a, 0x70, 0xd5, 0x9f, 0x9c, 0x13, 0xe6, - 0xbf, 0xb1, 0x3e, 0x6b, 0xaa, 0x02, 0x2a, 0x74, 0xb6, 0x43, 0xb2, 0xed, 0xde, 0x4f, 0x0b, 0x9d, - 0x35, 0x56, 0x8a, 0x05, 0x14, 0xbd, 0x0b, 0x13, 0x0d, 0xa9, 0x3c, 0x4e, 0xd8, 0xc0, 0xa5, 0x9e, - 0xaa, 0x78, 0xf5, 0x6a, 0xc3, 0x6d, 0x17, 0x57, 0xb4, 0xfa, 0xd8, 0xa0, 0x66, 0x5a, 0x26, 0x14, - 0xfb, 0x59, 0x26, 0x24, 0x74, 0x73, 0xdf, 0xd6, 0xed, 0x9f, 0xb6, 0x60, 0x84, 0xab, 0x20, 0x07, - 0xd3, 0xd9, 0x6a, 0x8f, 0x58, 0xc9, 0xd8, 0xdd, 0xa1, 0x85, 0xe2, 0x51, 0x0a, 0xad, 0x43, 0x89, - 0xfd, 0x60, 0xaa, 0x98, 0x62, 0xbe, 0xd1, 0x26, 0x6f, 0x55, 0xef, 0xe0, 0x1d, 0x59, 0x0d, 0x27, - 0x14, 0xec, 0x1f, 0x2b, 0x52, 0x56, 0x95, 0xa0, 0x1a, 0x27, 0xb8, 0xf5, 0xe8, 0x4e, 0xf0, 0xc2, - 0xa3, 0x3a, 0xc1, 0x5b, 0x30, 0xdd, 0xd0, 0x9e, 0xbc, 0x92, 0x99, 0xbc, 0xdc, 0x73, 0x91, 0x68, - 0xaf, 0x63, 0x5c, 0x0d, 0xb7, 0x62, 0x12, 0xc1, 0x69, 0xaa, 0xe8, 0xbb, 0x61, 0x82, 0xcf, 0xb3, - 0x68, 0x65, 0x88, 0xb5, 0xf2, 0x99, 0xfc, 0xf5, 0xa2, 0x37, 0xc1, 0x56, 0x62, 0x5d, 0xab, 0x8e, - 0x0d, 0x62, 0xf6, 0x2f, 0x8f, 0xc1, 0xf0, 0xea, 0x3e, 0xf1, 0xe3, 0x53, 0x60, 0x48, 0x0d, 0x98, - 0x72, 0xfd, 0xfd, 0xc0, 0xdb, 0x27, 0x4d, 0x0e, 0x3f, 0xce, 0xe1, 0xfa, 0x98, 0x20, 0x3d, 0x55, - 0x35, 0x48, 0xe0, 0x14, 0xc9, 0x47, 0x71, 0x6b, 0xbf, 0x06, 0x23, 0x7c, 0xee, 0xc5, 0x95, 0x3d, - 0x53, 0xc1, 0xce, 0x06, 0x51, 0xec, 0x82, 0x44, 0xa3, 0xc0, 0x35, 0xfa, 0xa2, 0x3a, 0x7a, 0x1f, - 0xa6, 0xb6, 0xdd, 0x30, 0x8a, 0xe9, 0x75, 0x3b, 0x8a, 0x9d, 0xbd, 0xf6, 0x43, 0xdc, 0xd2, 0xd5, - 0x38, 0xac, 0x19, 0x94, 0x70, 0x8a, 0x32, 0x6a, 0xc1, 0x24, 0xbd, 0x38, 0x26, 0x4d, 0x8d, 0x1e, - 0xbb, 0x29, 0xa5, 0x86, 0xbb, 0xa9, 0x13, 0xc2, 0x26, 0x5d, 0xca, 0x4c, 0x1a, 0xec, 0xa2, 0x39, - 0xc6, 0x24, 0x0a, 0xc5, 0x4c, 0xf8, 0x0d, 0x93, 0xc3, 0x28, 0x4f, 0x62, 0xc6, 0x2c, 0x25, 0x93, - 0x27, 0x69, 0x26, 0x2b, 0xef, 0x41, 0x89, 0xd0, 0x21, 0xa4, 0x84, 0xc5, 0x63, 0xc3, 0xe2, 0x60, - 0x7d, 0x5d, 0x77, 0x1b, 0x61, 0x60, 0xea, 0x47, 0x56, 0x25, 0x25, 0x9c, 0x10, 0x45, 0x2b, 0x30, - 0x12, 0x91, 0xd0, 0x25, 0x91, 0x78, 0x76, 0xe8, 0x31, 0x8d, 0x0c, 0x8d, 0x5b, 0xf7, 0xf2, 0xdf, - 0x58, 0x54, 0xa5, 0xcb, 0xcb, 0x61, 0xb7, 0x21, 0xf6, 0xd2, 0xa0, 0x2d, 0xaf, 0x25, 0x56, 0x8a, - 0x05, 0x14, 0xbd, 0x05, 0xa3, 0x21, 0xf1, 0x98, 0x02, 0x6e, 0x72, 0xf0, 0x45, 0xce, 0xf5, 0x79, - 0xbc, 0x1e, 0x96, 0x04, 0xd0, 0x0d, 0x40, 0x21, 0xa1, 0x32, 0x84, 0xeb, 0xb7, 0x94, 0x89, 0x87, - 0x78, 0x3f, 0x78, 0x42, 0xb4, 0x7f, 0x06, 0x27, 0x18, 0x7e, 0x1c, 0x06, 0x9e, 0x47, 0x42, 0x9c, - 0x51, 0x0d, 0x5d, 0x83, 0x59, 0x55, 0x5a, 0xf5, 0xa3, 0xd8, 0xf1, 0x1b, 0x84, 0x3d, 0x1d, 0x94, - 0x12, 0xa9, 0x08, 0xa7, 0x11, 0x70, 0x77, 0x1d, 0xfb, 0x1b, 0x54, 0x9c, 0xa1, 0xa3, 0x75, 0x0a, - 0xb2, 0xc0, 0x9b, 0xa6, 0x2c, 0x70, 0x3e, 0x77, 0xe6, 0x72, 0xe4, 0x80, 0x07, 0x16, 0x8c, 0x6b, - 0x33, 0x9b, 0xac, 0x59, 0xab, 0xc7, 0x9a, 0xed, 0xc0, 0x0c, 0x5d, 0xe9, 0xb7, 0xb6, 0x98, 0xa3, - 0x4b, 0x93, 0x2d, 0xcc, 0xc2, 0xc3, 0x2d, 0x4c, 0x65, 0x22, 0x7a, 0x33, 0x45, 0x10, 0x77, 0x35, - 0x81, 0x5e, 0x97, 0xda, 0xa8, 0xa2, 0x61, 0xba, 0xc5, 0x35, 0x4d, 0x47, 0x87, 0xf3, 0x33, 0xda, - 0x87, 0xe8, 0xda, 0x27, 0xfb, 0x3d, 0xf9, 0x8d, 0x9c, 0xd9, 0x2c, 0x42, 0xa9, 0xa1, 0x16, 0x8b, - 0x65, 0x9a, 0x39, 0xab, 0xe5, 0x80, 0x13, 0x1c, 0xba, 0x47, 0xe9, 0x15, 0x24, 0x6d, 0x6d, 0x48, - 0x2f, 0x28, 0x98, 0x41, 0xec, 0x57, 0x00, 0x56, 0xef, 0x93, 0x06, 0x5f, 0xea, 0xfa, 0xa3, 0xae, - 0x95, 0xff, 0xa8, 0x6b, 0xff, 0x27, 0x0b, 0xa6, 0xd6, 0x56, 0x8c, 0x6b, 0xe2, 0x02, 0x00, 0xbf, - 0x1b, 0xdd, 0xbd, 0xbb, 0x21, 0xdf, 0x2b, 0xb8, 0xca, 0x59, 0x95, 0x62, 0x0d, 0x03, 0x9d, 0x87, - 0xa2, 0xd7, 0xf1, 0xc5, 0x95, 0x65, 0xf4, 0xc1, 0xe1, 0x7c, 0xf1, 0x66, 0xc7, 0xc7, 0xb4, 0x4c, - 0x33, 0xf0, 0x2b, 0x0e, 0x6c, 0xe0, 0xd7, 0xd7, 0x81, 0x05, 0xcd, 0xc3, 0xf0, 0xbd, 0x7b, 0x6e, - 0x93, 0x9b, 0x09, 0x8b, 0xb7, 0x94, 0xbb, 0x77, 0xab, 0x95, 0x08, 0xf3, 0x72, 0xfb, 0x6b, 0x45, - 0x98, 0x5b, 0xf3, 0xc8, 0xfd, 0x8f, 0x68, 0x2a, 0x3d, 0xa8, 0x79, 0xe2, 0xf1, 0xe4, 0xc5, 0xe3, - 0xda, 0x62, 0xf6, 0x1f, 0x8f, 0x6d, 0x18, 0xe5, 0x06, 0x02, 0xd2, 0x70, 0xfa, 0x8d, 0xac, 0xd6, - 0xf3, 0x07, 0x64, 0x41, 0x68, 0xe7, 0xb8, 0x09, 0x96, 0x3a, 0x69, 0x45, 0x29, 0x96, 0xc4, 0xe7, - 0x3e, 0x0f, 0x13, 0x3a, 0xe6, 0xb1, 0xac, 0xa2, 0xff, 0x5a, 0x11, 0x66, 0x68, 0x0f, 0x1e, 0xe9, - 0x44, 0xdc, 0xee, 0x9e, 0x88, 0x93, 0xb6, 0x8c, 0xed, 0x3f, 0x1b, 0xef, 0xa6, 0x67, 0xe3, 0xe5, - 0xbc, 0xd9, 0x38, 0xed, 0x39, 0xf8, 0xeb, 0x16, 0x9c, 0x59, 0xf3, 0x82, 0xc6, 0x6e, 0xca, 0x68, - 0xf7, 0x35, 0x18, 0xa7, 0x7c, 0x3c, 0x32, 0xfc, 0x34, 0x0c, 0xcf, 0x1d, 0x01, 0xc2, 0x3a, 0x9e, - 0x56, 0xed, 0xf6, 0xed, 0x6a, 0x25, 0xcb, 0xe1, 0x47, 0x80, 0xb0, 0x8e, 0x67, 0xff, 0x8e, 0x05, - 0x4f, 0x5d, 0x5b, 0x59, 0x4d, 0x96, 0x62, 0x97, 0xcf, 0x11, 0xbd, 0x05, 0x36, 0xb5, 0xae, 0x24, - 0xb7, 0xc0, 0x0a, 0xeb, 0x85, 0x80, 0x7e, 0x52, 0xfc, 0xe9, 0x7e, 0xd6, 0x82, 0x33, 0xd7, 0xdc, - 0x98, 0x1e, 0xcb, 0x69, 0xef, 0x17, 0x7a, 0x2e, 0x47, 0x6e, 0x1c, 0x84, 0x07, 0x69, 0xef, 0x17, - 0xac, 0x20, 0x58, 0xc3, 0xe2, 0x2d, 0xef, 0xbb, 0x11, 0xed, 0x69, 0xc1, 0x54, 0x45, 0x61, 0x51, - 0x8e, 0x15, 0x06, 0xfd, 0xb0, 0xa6, 0x1b, 0xb2, 0xab, 0xc4, 0x81, 0xe0, 0xb0, 0xea, 0xc3, 0x2a, - 0x12, 0x80, 0x13, 0x1c, 0xfb, 0xa7, 0x2c, 0x38, 0x77, 0xcd, 0xeb, 0x44, 0x31, 0x09, 0xb7, 0x23, - 0xa3, 0xb3, 0xaf, 0x40, 0x89, 0xc8, 0xeb, 0xba, 0xe8, 0xab, 0x12, 0x30, 0xd5, 0x3d, 0x9e, 0xbb, - 0xde, 0x28, 0xbc, 0x01, 0x2c, 0xe0, 0x8f, 0x67, 0xb9, 0xfd, 0x0b, 0x05, 0x98, 0xbc, 0xbe, 0xb9, - 0x59, 0xbb, 0x46, 0x62, 0x71, 0x8a, 0xf5, 0x57, 0x35, 0x63, 0x4d, 0x63, 0xd6, 0xeb, 0x52, 0xd4, - 0x89, 0x5d, 0x6f, 0x81, 0xfb, 0x7a, 0x2e, 0x54, 0xfd, 0xf8, 0x56, 0x58, 0x8f, 0x43, 0xd7, 0x6f, - 0x65, 0xea, 0xd8, 0xe4, 0x59, 0x5b, 0xcc, 0x3b, 0x6b, 0xd1, 0x2b, 0x30, 0xc2, 0x9c, 0x4d, 0xe5, - 0xf5, 0xe4, 0x09, 0x75, 0xa7, 0x60, 0xa5, 0x47, 0x87, 0xf3, 0xa5, 0xdb, 0xb8, 0xca, 0xff, 0x60, - 0x81, 0x8a, 0x6e, 0xc3, 0xf8, 0x4e, 0x1c, 0xb7, 0xaf, 0x13, 0xa7, 0x49, 0x42, 0xc9, 0x1d, 0x2e, - 0x64, 0x71, 0x07, 0x3a, 0x08, 0x1c, 0x2d, 0xd9, 0x50, 0x49, 0x59, 0x84, 0x75, 0x3a, 0x76, 0x1d, - 0x20, 0x81, 0x9d, 0x90, 0x7e, 0xc1, 0xfe, 0x63, 0x0b, 0x46, 0xb9, 0xdf, 0x4f, 0x88, 0xbe, 0x00, - 0x43, 0xe4, 0x3e, 0x69, 0x08, 0xc9, 0x31, 0xb3, 0xc3, 0x89, 0xe0, 0xc1, 0xb5, 0xe5, 0xf4, 0x3f, - 0x66, 0xb5, 0xd0, 0x75, 0x18, 0xa5, 0xbd, 0xbd, 0xa6, 0x9c, 0xa0, 0x9e, 0xce, 0xfb, 0x62, 0x35, - 0xed, 0x5c, 0x56, 0x11, 0x45, 0x58, 0x56, 0x67, 0x9a, 0xdf, 0x46, 0xbb, 0x4e, 0x19, 0x58, 0xdc, - 0xeb, 0x9c, 0xdd, 0x5c, 0xa9, 0x71, 0x24, 0x41, 0x8d, 0x6b, 0x7e, 0x65, 0x21, 0x4e, 0x88, 0xd8, - 0x9b, 0x50, 0xa2, 0x93, 0xba, 0xe4, 0xb9, 0x4e, 0x6f, 0xa5, 0xf3, 0x0b, 0x50, 0x92, 0x0a, 0xe0, - 0x48, 0x38, 0xe8, 0x30, 0xaa, 0x52, 0x3f, 0x1c, 0xe1, 0x04, 0x6e, 0x6f, 0xc3, 0x59, 0x66, 0x4d, - 0xe1, 0xc4, 0x3b, 0xc6, 0x1e, 0xeb, 0xbf, 0x98, 0x5f, 0x14, 0x17, 0x31, 0x3e, 0x33, 0x65, 0xcd, - 0xa3, 0x60, 0x42, 0x52, 0x4c, 0x2e, 0x65, 0xf6, 0x9f, 0x0e, 0xc1, 0x13, 0xd5, 0x7a, 0xbe, 0x4b, - 0xd8, 0x55, 0x98, 0xe0, 0x62, 0x1a, 0x5d, 0xda, 0x8e, 0x27, 0xda, 0x55, 0x6f, 0x8d, 0x9b, 0x1a, - 0x0c, 0x1b, 0x98, 0xe8, 0x29, 0x28, 0xba, 0x1f, 0xf8, 0x69, 0xe3, 0xdc, 0xea, 0xdb, 0x1b, 0x98, - 0x96, 0x53, 0x30, 0x95, 0xf8, 0x38, 0x2b, 0x55, 0x60, 0x25, 0xf5, 0xbd, 0x09, 0x53, 0x6e, 0xd4, - 0x88, 0xdc, 0xaa, 0x4f, 0xf9, 0x4c, 0xe2, 0x4e, 0x98, 0x28, 0x09, 0x68, 0xa7, 0x15, 0x14, 0xa7, - 0xb0, 0x35, 0xbe, 0x3e, 0x3c, 0xb0, 0xd4, 0xd8, 0xd7, 0x63, 0x85, 0x0a, 0xc4, 0x6d, 0xf6, 0x75, - 0x11, 0x33, 0x14, 0x14, 0x02, 0x31, 0xff, 0xe0, 0x08, 0x4b, 0x18, 0xbd, 0x81, 0x35, 0x76, 0x9c, - 0xf6, 0x52, 0x27, 0xde, 0xa9, 0xb8, 0x51, 0x23, 0xd8, 0x27, 0xe1, 0x01, 0xbb, 0x3c, 0x8f, 0x25, - 0x37, 0x30, 0x05, 0x58, 0xb9, 0xbe, 0x54, 0xa3, 0x98, 0xb8, 0xbb, 0x8e, 0x29, 0x15, 0xc2, 0x49, - 0x48, 0x85, 0x4b, 0x30, 0x2d, 0x9b, 0xa9, 0x93, 0x88, 0x9d, 0x11, 0xe3, 0xac, 0x63, 0xca, 0xd1, - 0x57, 0x14, 0xab, 0x6e, 0xa5, 0xf1, 0xd1, 0xeb, 0x30, 0xe9, 0xfa, 0x6e, 0xec, 0x3a, 0x71, 0x10, - 0xb2, 0x13, 0x96, 0xdf, 0x93, 0xd9, 0xa3, 0x68, 0x55, 0x07, 0x60, 0x13, 0xcf, 0xfe, 0x93, 0x21, - 0x98, 0x65, 0xd3, 0xf6, 0xed, 0x15, 0xf6, 0x89, 0x59, 0x61, 0xb7, 0xbb, 0x57, 0xd8, 0x49, 0x88, - 0xbb, 0x1f, 0xe7, 0x32, 0x7b, 0x1f, 0x4a, 0xca, 0xbe, 0x5a, 0xba, 0x08, 0x58, 0x39, 0x2e, 0x02, - 0xfd, 0xa5, 0x0f, 0xf9, 0x8c, 0x5b, 0xcc, 0x7c, 0xc6, 0xfd, 0x7b, 0x16, 0x24, 0x66, 0xa6, 0xe8, - 0x3a, 0x94, 0xda, 0x01, 0x33, 0xe5, 0x08, 0xa5, 0x7d, 0xd4, 0x13, 0x99, 0x07, 0x15, 0x3f, 0x14, - 0xf9, 0xf8, 0xd5, 0x64, 0x0d, 0x9c, 0x54, 0x46, 0xcb, 0x30, 0xda, 0x0e, 0x49, 0x3d, 0x66, 0xae, - 0x9c, 0x7d, 0xe9, 0xf0, 0x35, 0xc2, 0xf1, 0xb1, 0xac, 0x68, 0xff, 0xa2, 0x05, 0xc0, 0x5f, 0x4a, - 0x1d, 0xbf, 0x45, 0x4e, 0x41, 0xfb, 0x5b, 0x81, 0xa1, 0xa8, 0x4d, 0x1a, 0xbd, 0x8c, 0x6c, 0x92, - 0xfe, 0xd4, 0xdb, 0xa4, 0x91, 0x0c, 0x38, 0xfd, 0x87, 0x59, 0x6d, 0xfb, 0x07, 0x00, 0xa6, 0x12, - 0xb4, 0x6a, 0x4c, 0xf6, 0xd0, 0x4b, 0x86, 0xa3, 0xdc, 0xf9, 0x94, 0xa3, 0x5c, 0x89, 0x61, 0x6b, - 0x8a, 0xc6, 0xf7, 0xa1, 0xb8, 0xe7, 0xdc, 0x17, 0x9a, 0xa4, 0x17, 0x7a, 0x77, 0x83, 0xd2, 0x5f, - 0x58, 0x77, 0xee, 0xf3, 0x3b, 0xd3, 0x0b, 0x72, 0x81, 0xac, 0x3b, 0xf7, 0x8f, 0xb8, 0x29, 0x0d, - 0x63, 0x52, 0x37, 0xdd, 0x28, 0xfe, 0xea, 0x7f, 0x49, 0xfe, 0xb3, 0x65, 0x47, 0x1b, 0x61, 0x6d, - 0xb9, 0xbe, 0x78, 0x37, 0x1c, 0xa8, 0x2d, 0xd7, 0x4f, 0xb7, 0xe5, 0xfa, 0x03, 0xb4, 0xe5, 0xfa, - 0xe8, 0x43, 0x18, 0x15, 0x6f, 0xf4, 0xcc, 0x7e, 0xde, 0xd4, 0x52, 0xe5, 0xb5, 0x27, 0x9e, 0xf8, - 0x79, 0x9b, 0x8b, 0xf2, 0x4e, 0x28, 0x4a, 0xfb, 0xb6, 0x2b, 0x1b, 0x44, 0x7f, 0xc7, 0x82, 0x29, - 0xf1, 0x1b, 0x93, 0x0f, 0x3a, 0x24, 0x8a, 0x85, 0xec, 0xf9, 0xb9, 0xc1, 0xfb, 0x20, 0x2a, 0xf2, - 0xae, 0x7c, 0x4e, 0xb2, 0x59, 0x13, 0xd8, 0xb7, 0x47, 0xa9, 0x5e, 0xa0, 0x7f, 0x66, 0xc1, 0xd9, - 0x3d, 0xe7, 0x3e, 0x6f, 0x91, 0x97, 0x61, 0x27, 0x76, 0x03, 0xe1, 0x0f, 0xf0, 0x85, 0xc1, 0xa6, - 0xbf, 0xab, 0x3a, 0xef, 0xa4, 0x34, 0x1d, 0x3e, 0x9b, 0x85, 0xd2, 0xb7, 0xab, 0x99, 0xfd, 0x9a, - 0xdb, 0x86, 0x31, 0xb9, 0xde, 0x32, 0x6e, 0xde, 0x15, 0x5d, 0xb0, 0x3e, 0xb6, 0x89, 0x84, 0xee, - 0xad, 0x46, 0xdb, 0x11, 0x6b, 0xed, 0x91, 0xb6, 0xf3, 0x3e, 0x4c, 0xe8, 0x6b, 0xec, 0x91, 0xb6, - 0xf5, 0x01, 0x9c, 0xc9, 0x58, 0x4b, 0x8f, 0xb4, 0xc9, 0x7b, 0x70, 0x3e, 0x77, 0x7d, 0x3c, 0xca, - 0x86, 0xed, 0x5f, 0xb0, 0x74, 0x3e, 0x78, 0x0a, 0x2a, 0xf8, 0x15, 0x53, 0x05, 0x7f, 0xa1, 0xf7, - 0xce, 0xc9, 0xd1, 0xc3, 0xbf, 0xab, 0x77, 0x9a, 0x72, 0x75, 0xf4, 0x16, 0x8c, 0x78, 0xb4, 0x44, - 0x1a, 0x87, 0xd8, 0xfd, 0x77, 0x64, 0x22, 0x4b, 0xb1, 0xf2, 0x08, 0x0b, 0x0a, 0xf6, 0xaf, 0x58, - 0x30, 0x74, 0x0a, 0x23, 0x81, 0xcd, 0x91, 0x78, 0x29, 0x97, 0xb4, 0x08, 0x1a, 0xb5, 0x80, 0x9d, - 0x7b, 0xab, 0x32, 0x30, 0x56, 0xce, 0xc0, 0xfc, 0x9f, 0x02, 0x8c, 0xd3, 0xa6, 0xa4, 0x15, 0xe3, - 0x1b, 0x30, 0xe9, 0x39, 0x5b, 0xc4, 0x93, 0xef, 0xb8, 0x69, 0x85, 0xc9, 0x4d, 0x1d, 0x88, 0x4d, - 0x5c, 0x5a, 0x79, 0x5b, 0x7f, 0xd2, 0x16, 0xf2, 0x8b, 0xaa, 0x6c, 0xbc, 0x77, 0x63, 0x13, 0x97, - 0xde, 0xdd, 0xef, 0x39, 0x71, 0x63, 0x47, 0x28, 0x53, 0x54, 0x77, 0xef, 0xd2, 0x42, 0xcc, 0x61, - 0x54, 0x80, 0x93, 0xab, 0xf3, 0x0e, 0xbd, 0x19, 0x06, 0xbe, 0x10, 0x8f, 0x95, 0x00, 0x87, 0x4d, - 0x30, 0x4e, 0xe3, 0x67, 0x78, 0xcc, 0x0f, 0x33, 0x1b, 0xcd, 0x01, 0x3c, 0xe6, 0x51, 0x0d, 0xce, - 0xba, 0x7e, 0xc3, 0xeb, 0x34, 0xc9, 0x6d, 0x9f, 0x4b, 0x77, 0x9e, 0xfb, 0x21, 0x69, 0x0a, 0x01, - 0x5a, 0x99, 0xd3, 0x56, 0x33, 0x70, 0x70, 0x66, 0x4d, 0xfb, 0xff, 0x83, 0x33, 0x37, 0x03, 0xa7, - 0xb9, 0xec, 0x78, 0x8e, 0xdf, 0x20, 0x61, 0xd5, 0x6f, 0xf5, 0xb5, 0x12, 0xd3, 0x6d, 0xba, 0x0a, - 0xfd, 0x6c, 0xba, 0xec, 0x1d, 0x40, 0x7a, 0x03, 0xc2, 0x36, 0x19, 0xc3, 0xa8, 0xcb, 0x9b, 0x12, - 0xcb, 0xff, 0xd9, 0x6c, 0xe9, 0xba, 0xab, 0x67, 0x9a, 0xd5, 0x2d, 0x2f, 0xc0, 0x92, 0x90, 0x7d, - 0x15, 0x32, 0xfd, 0x11, 0xfb, 0xab, 0x6d, 0xec, 0xd7, 0x60, 0x96, 0xd5, 0x3c, 0x9e, 0x4a, 0xc1, - 0xfe, 0x21, 0x0b, 0xa6, 0x37, 0x52, 0x31, 0x2e, 0x2e, 0xb1, 0xb7, 0xd6, 0x0c, 0xbd, 0x7b, 0x9d, - 0x95, 0x62, 0x01, 0x3d, 0x71, 0xfd, 0xde, 0x5f, 0x5a, 0x50, 0x52, 0x71, 0x83, 0x4e, 0x41, 0xa8, - 0x5d, 0x31, 0x84, 0xda, 0x4c, 0xbd, 0x93, 0xea, 0x4e, 0x9e, 0x4c, 0x8b, 0x6e, 0xa8, 0x68, 0x0d, - 0x3d, 0x54, 0x4e, 0x09, 0x19, 0xee, 0xdb, 0x3f, 0x65, 0x86, 0x74, 0x90, 0xf1, 0x1b, 0x98, 0x99, - 0x96, 0xc2, 0xfd, 0x84, 0x98, 0x69, 0xa9, 0xfe, 0xe4, 0x70, 0xbf, 0x9a, 0xd6, 0x65, 0x76, 0x2a, - 0x7c, 0x27, 0x73, 0x65, 0x60, 0x7b, 0x53, 0x05, 0x49, 0x99, 0x17, 0xae, 0x09, 0xa2, 0xf4, 0x88, - 0x31, 0x32, 0xf1, 0x8f, 0xc7, 0x78, 0x4a, 0xaa, 0xd8, 0xd7, 0x61, 0x3a, 0x35, 0x60, 0xe8, 0x35, - 0x18, 0x6e, 0xef, 0x38, 0x11, 0x49, 0x99, 0xa6, 0x0e, 0xd7, 0x68, 0xe1, 0xd1, 0xe1, 0xfc, 0x94, - 0xaa, 0xc0, 0x4a, 0x30, 0xc7, 0xb6, 0xff, 0xa7, 0x05, 0x43, 0x1b, 0x41, 0xf3, 0x34, 0x16, 0xd3, - 0x9b, 0xc6, 0x62, 0x7a, 0x32, 0x2f, 0x42, 0x5e, 0xee, 0x3a, 0x5a, 0x4b, 0xad, 0xa3, 0x0b, 0xb9, - 0x14, 0x7a, 0x2f, 0xa1, 0x3d, 0x18, 0x67, 0x71, 0xf7, 0x84, 0xa9, 0xec, 0x2b, 0xc6, 0xfd, 0x6a, - 0x3e, 0x75, 0xbf, 0x9a, 0xd6, 0x50, 0xb5, 0x5b, 0xd6, 0x73, 0x30, 0x2a, 0xcc, 0x35, 0xd3, 0x4e, - 0x1b, 0x02, 0x17, 0x4b, 0xb8, 0xfd, 0xd3, 0x45, 0x30, 0xe2, 0xfc, 0xa1, 0x5f, 0xb7, 0x60, 0x21, - 0xe4, 0x5e, 0xb0, 0xcd, 0x4a, 0x27, 0x74, 0xfd, 0x56, 0xbd, 0xb1, 0x43, 0x9a, 0x1d, 0xcf, 0xf5, - 0x5b, 0xd5, 0x96, 0x1f, 0xa8, 0xe2, 0xd5, 0xfb, 0xa4, 0xd1, 0x61, 0x6f, 0x2e, 0x7d, 0x82, 0x0a, - 0x2a, 0x73, 0xa8, 0x2b, 0x0f, 0x0e, 0xe7, 0x17, 0xf0, 0xb1, 0x68, 0xe3, 0x63, 0xf6, 0x05, 0xfd, - 0x8e, 0x05, 0x8b, 0x3c, 0xfc, 0xdd, 0xe0, 0xfd, 0xef, 0x71, 0x1b, 0xad, 0x49, 0x52, 0x09, 0x91, - 0x4d, 0x12, 0xee, 0x2d, 0xbf, 0x2e, 0x06, 0x74, 0xb1, 0x76, 0xbc, 0xb6, 0xf0, 0x71, 0x3b, 0x67, - 0xff, 0xdb, 0x22, 0x4c, 0xd2, 0x51, 0x4c, 0x62, 0xd3, 0xbc, 0x66, 0x2c, 0x89, 0xa7, 0x53, 0x4b, - 0x62, 0xd6, 0x40, 0x3e, 0x99, 0xb0, 0x34, 0x11, 0xcc, 0x7a, 0x4e, 0x14, 0x5f, 0x27, 0x4e, 0x18, - 0x6f, 0x11, 0x87, 0x9b, 0x09, 0x15, 0x8f, 0x6d, 0xd2, 0xa4, 0xd4, 0x5f, 0x37, 0xd3, 0xc4, 0x70, - 0x37, 0x7d, 0xb4, 0x0f, 0x88, 0xd9, 0x3a, 0x85, 0x8e, 0x1f, 0xf1, 0x6f, 0x71, 0xc5, 0x7b, 0xcc, - 0xf1, 0x5a, 0x9d, 0x13, 0xad, 0xa2, 0x9b, 0x5d, 0xd4, 0x70, 0x46, 0x0b, 0x9a, 0x0d, 0xdb, 0xf0, - 0xa0, 0x36, 0x6c, 0x23, 0x7d, 0x3c, 0xa3, 0xf6, 0x60, 0x46, 0xcc, 0xca, 0xb6, 0xdb, 0x12, 0x87, - 0xf4, 0x97, 0x53, 0x36, 0xae, 0xd6, 0xe0, 0x86, 0x4a, 0x7d, 0x0c, 0x5c, 0xed, 0xef, 0x85, 0x33, - 0xb4, 0x39, 0xd3, 0x8f, 0x27, 0x42, 0x04, 0xa6, 0x77, 0x3b, 0x5b, 0xc4, 0x23, 0xb1, 0x2c, 0x13, - 0x8d, 0x66, 0x8a, 0xfd, 0x66, 0xed, 0x44, 0xb6, 0xbc, 0x61, 0x92, 0xc0, 0x69, 0x9a, 0xf6, 0xcf, - 0x58, 0xc0, 0xac, 0xe5, 0x4f, 0xe1, 0xf8, 0xfb, 0xa2, 0x79, 0xfc, 0x95, 0xf3, 0x38, 0x50, 0xce, - 0xc9, 0xf7, 0x2a, 0x9f, 0x96, 0x5a, 0x18, 0xdc, 0x3f, 0x90, 0xb2, 0x7f, 0x7f, 0x89, 0xeb, 0x7f, - 0x5b, 0x7c, 0x43, 0xaa, 0xa0, 0x00, 0xe8, 0xfb, 0x60, 0xac, 0xe1, 0xb4, 0x9d, 0x06, 0x0f, 0xb0, - 0x9a, 0xab, 0xfd, 0x31, 0x2a, 0x2d, 0xac, 0x88, 0x1a, 0x5c, 0x9b, 0xf1, 0x59, 0xf9, 0x95, 0xb2, - 0xb8, 0xaf, 0x06, 0x43, 0x35, 0x39, 0xb7, 0x0b, 0x93, 0x06, 0xb1, 0x47, 0x7a, 0xf5, 0xfd, 0x3e, - 0x7e, 0x5c, 0xa8, 0x1b, 0xcb, 0x1e, 0xcc, 0xfa, 0xda, 0x7f, 0xca, 0x1c, 0xa5, 0x38, 0xfd, 0xe9, - 0x7e, 0x07, 0x02, 0xe3, 0xa4, 0x9a, 0x37, 0x40, 0x8a, 0x0c, 0xee, 0xa6, 0x6c, 0xff, 0x03, 0x0b, - 0x1e, 0xd7, 0x11, 0xb5, 0x78, 0x0d, 0xfd, 0xf4, 0xc9, 0x15, 0x18, 0x0b, 0xda, 0x24, 0x74, 0x92, - 0x3b, 0xd9, 0x65, 0x39, 0xe8, 0xb7, 0x44, 0xf9, 0xd1, 0xe1, 0xfc, 0x59, 0x9d, 0xba, 0x2c, 0xc7, - 0xaa, 0x26, 0xb2, 0x61, 0x84, 0x0d, 0x46, 0x24, 0x62, 0x69, 0x30, 0x33, 0x45, 0xf6, 0xb4, 0x1a, - 0x61, 0x01, 0xb1, 0x7f, 0xc0, 0xe2, 0x0b, 0x4b, 0xef, 0x3a, 0xfa, 0x00, 0x66, 0xf6, 0xe8, 0xf5, - 0x6d, 0xf5, 0x7e, 0x3b, 0xe4, 0x6a, 0x74, 0x39, 0x4e, 0x2f, 0xf4, 0x1b, 0x27, 0xed, 0x23, 0x13, - 0x63, 0xb6, 0xf5, 0x14, 0x31, 0xdc, 0x45, 0xde, 0xfe, 0xf3, 0x02, 0xdf, 0x89, 0x4c, 0xaa, 0x7b, - 0x0e, 0x46, 0xdb, 0x41, 0x73, 0xa5, 0x5a, 0xc1, 0x62, 0x84, 0x14, 0xbb, 0xaa, 0xf1, 0x62, 0x2c, - 0xe1, 0xe8, 0x0a, 0x00, 0xb9, 0x1f, 0x93, 0xd0, 0x77, 0x3c, 0x65, 0xf8, 0xa1, 0x84, 0xa7, 0x55, - 0x05, 0xc1, 0x1a, 0x16, 0xad, 0xd3, 0x0e, 0x83, 0x7d, 0xb7, 0xc9, 0xbc, 0x0d, 0x8b, 0x66, 0x9d, - 0x9a, 0x82, 0x60, 0x0d, 0x8b, 0x5e, 0x95, 0x3b, 0x7e, 0xc4, 0x0f, 0x40, 0x67, 0x4b, 0x04, 0xc8, - 0x1b, 0x4b, 0xae, 0xca, 0xb7, 0x75, 0x20, 0x36, 0x71, 0xd1, 0x12, 0x8c, 0xc4, 0x0e, 0x33, 0x67, - 0x18, 0xce, 0x37, 0x4b, 0xdc, 0xa4, 0x18, 0x7a, 0xc4, 0x4d, 0x5a, 0x01, 0x8b, 0x8a, 0xe8, 0x1d, - 0xc9, 0x82, 0x39, 0x4b, 0x16, 0xf6, 0xc0, 0xb9, 0xcb, 0x56, 0x67, 0xdf, 0x3a, 0x0f, 0x16, 0x76, - 0xc6, 0x06, 0x2d, 0xfb, 0xfb, 0x4b, 0x00, 0x89, 0xb4, 0x87, 0x3e, 0xec, 0x62, 0x11, 0x2f, 0xf6, - 0x96, 0x0f, 0x4f, 0x8e, 0x3f, 0xa0, 0x1f, 0xb4, 0x60, 0xdc, 0xf1, 0xbc, 0xa0, 0xe1, 0xc4, 0x6c, - 0x94, 0x0b, 0xbd, 0x59, 0x94, 0x68, 0x7f, 0x29, 0xa9, 0xc1, 0xbb, 0xf0, 0x8a, 0xb4, 0x54, 0xd0, - 0x20, 0x7d, 0x7b, 0xa1, 0x37, 0x8c, 0x3e, 0x2b, 0x2f, 0x01, 0x7c, 0x79, 0xcc, 0xa5, 0x2f, 0x01, - 0x25, 0xc6, 0x8d, 0x35, 0xf9, 0x1f, 0xdd, 0x36, 0x22, 0xc9, 0x0d, 0xe5, 0x87, 0xa4, 0x30, 0x84, - 0x9e, 0x7e, 0x41, 0xe4, 0x50, 0x4d, 0xf7, 0x8b, 0x1a, 0xce, 0x8f, 0xdb, 0xa2, 0x49, 0xd7, 0x7d, - 0x7c, 0xa2, 0xde, 0x87, 0xe9, 0xa6, 0x79, 0xdc, 0x8a, 0xd5, 0xf4, 0x6c, 0x1e, 0xdd, 0xd4, 0xe9, - 0x9c, 0x1c, 0xb0, 0x29, 0x00, 0x4e, 0x13, 0x46, 0x35, 0xee, 0xa1, 0x56, 0xf5, 0xb7, 0x03, 0x61, - 0x57, 0x6e, 0xe7, 0xce, 0xe5, 0x41, 0x14, 0x93, 0x3d, 0x8a, 0x99, 0x9c, 0xa3, 0x1b, 0xa2, 0x2e, - 0x56, 0x54, 0xd0, 0x5b, 0x30, 0xc2, 0xdc, 0x86, 0xa3, 0xf2, 0x58, 0xbe, 0x1e, 0xd0, 0x8c, 0x78, - 0x91, 0x6c, 0x2a, 0xf6, 0x37, 0xc2, 0x82, 0x02, 0xba, 0x2e, 0xc3, 0xe2, 0x44, 0x55, 0xff, 0x76, - 0x44, 0x58, 0x58, 0x9c, 0xd2, 0xf2, 0xa7, 0x93, 0x88, 0x37, 0xbc, 0x3c, 0x33, 0xb6, 0xb6, 0x51, - 0x93, 0xca, 0x2b, 0xe2, 0xbf, 0x0c, 0xd9, 0x5d, 0x86, 0xfc, 0xee, 0x99, 0x61, 0xbd, 0x93, 0xe1, - 0xbc, 0x63, 0x92, 0xc0, 0x69, 0x9a, 0xa7, 0x7a, 0x7c, 0xce, 0xf9, 0x30, 0x93, 0xde, 0x58, 0x8f, - 0xf4, 0xb8, 0xfe, 0xe3, 0x21, 0x98, 0x32, 0x17, 0x02, 0x5a, 0x84, 0x92, 0x20, 0xa2, 0x82, 0x78, - 0xaa, 0xb5, 0xbd, 0x2e, 0x01, 0x38, 0xc1, 0x61, 0x41, 0x4c, 0x59, 0x75, 0xcd, 0x0e, 0x30, 0x09, - 0x62, 0xaa, 0x20, 0x58, 0xc3, 0xa2, 0x42, 0xf4, 0x56, 0x10, 0xc4, 0xea, 0x28, 0x50, 0xab, 0x65, - 0x99, 0x95, 0x62, 0x01, 0xa5, 0x47, 0xc0, 0x2e, 0x09, 0x7d, 0xe2, 0x99, 0x9a, 0x4c, 0x75, 0x04, - 0xdc, 0xd0, 0x81, 0xd8, 0xc4, 0xa5, 0x47, 0x5a, 0x10, 0xb1, 0xe5, 0x27, 0x44, 0xf5, 0xc4, 0xae, - 0xb2, 0xce, 0xdd, 0xe6, 0x25, 0x1c, 0x7d, 0x19, 0x1e, 0x57, 0x5e, 0xee, 0x98, 0x6b, 0x86, 0x65, - 0x8b, 0x23, 0xc6, 0xcd, 0xfa, 0xf1, 0x95, 0x6c, 0x34, 0x9c, 0x57, 0x1f, 0xbd, 0x09, 0x53, 0x42, - 0x04, 0x96, 0x14, 0x47, 0x4d, 0x63, 0x85, 0x1b, 0x06, 0x14, 0xa7, 0xb0, 0x51, 0x05, 0x66, 0x68, - 0x09, 0x93, 0x42, 0x25, 0x05, 0xee, 0xad, 0xaf, 0xce, 0xfa, 0x1b, 0x29, 0x38, 0xee, 0xaa, 0x81, - 0x96, 0x60, 0x9a, 0xcb, 0x28, 0xf4, 0x4e, 0xc9, 0xe6, 0x41, 0xb8, 0x7b, 0xa8, 0x8d, 0x70, 0xcb, - 0x04, 0xe3, 0x34, 0x3e, 0xba, 0x0a, 0x13, 0x4e, 0xd8, 0xd8, 0x71, 0x63, 0xd2, 0x88, 0x3b, 0x21, - 0xf7, 0x03, 0xd1, 0xac, 0x3d, 0x96, 0x34, 0x18, 0x36, 0x30, 0xed, 0x0f, 0xe1, 0x4c, 0x86, 0xa7, - 0x18, 0x5d, 0x38, 0x4e, 0xdb, 0x95, 0xdf, 0x94, 0xb2, 0x90, 0x5c, 0xaa, 0x55, 0xe5, 0xd7, 0x68, - 0x58, 0x74, 0x75, 0x32, 0x95, 0xb8, 0x16, 0x57, 0x5f, 0xad, 0xce, 0x35, 0x09, 0xc0, 0x09, 0x8e, - 0xfd, 0xdb, 0x00, 0x9a, 0x42, 0x67, 0x00, 0xfb, 0xb8, 0xab, 0x30, 0x21, 0x93, 0x41, 0x68, 0x41, - 0xc8, 0xd5, 0x67, 0x5e, 0xd3, 0x60, 0xd8, 0xc0, 0xa4, 0x7d, 0xf3, 0x55, 0x08, 0xf5, 0x94, 0x3d, - 0x66, 0x12, 0x40, 0x3d, 0xc1, 0x41, 0x2f, 0xc2, 0x58, 0x44, 0xbc, 0xed, 0x9b, 0xae, 0xbf, 0x2b, - 0x16, 0xb6, 0xe2, 0xc2, 0x75, 0x51, 0x8e, 0x15, 0x06, 0x5a, 0x86, 0x62, 0xc7, 0x6d, 0x8a, 0xa5, - 0x2c, 0x0f, 0xfc, 0xe2, 0xed, 0x6a, 0xe5, 0xe8, 0x70, 0xfe, 0xe9, 0xbc, 0x1c, 0x17, 0xf4, 0x6a, - 0x1f, 0x2d, 0xd0, 0xed, 0x47, 0x2b, 0x67, 0xbd, 0x0d, 0x8c, 0x1c, 0xf3, 0x6d, 0xe0, 0x0a, 0x80, - 0xf8, 0x6a, 0xb9, 0x96, 0x8b, 0xc9, 0xac, 0x5d, 0x53, 0x10, 0xac, 0x61, 0xa1, 0x08, 0x66, 0x1b, - 0x21, 0x71, 0xe4, 0x1d, 0x9a, 0xfb, 0x3c, 0x8d, 0x3d, 0xbc, 0x82, 0x60, 0x25, 0x4d, 0x0c, 0x77, - 0xd3, 0x47, 0x01, 0xcc, 0x36, 0x45, 0x50, 0x85, 0xa4, 0xd1, 0xd2, 0xf1, 0x1d, 0xad, 0x98, 0x41, - 0x4e, 0x9a, 0x10, 0xee, 0xa6, 0x8d, 0xbe, 0x02, 0x73, 0xb2, 0xb0, 0x3b, 0x8e, 0x05, 0xdb, 0x2e, - 0xc5, 0xe5, 0x0b, 0x0f, 0x0e, 0xe7, 0xe7, 0x2a, 0xb9, 0x58, 0xb8, 0x07, 0x05, 0x84, 0x61, 0x84, - 0xbd, 0x25, 0x45, 0xe5, 0x71, 0x76, 0xce, 0x3d, 0x9f, 0xaf, 0x0c, 0xa0, 0x6b, 0x7d, 0x81, 0xbd, - 0x43, 0x09, 0x93, 0xf2, 0xe4, 0x59, 0x8e, 0x15, 0x62, 0x41, 0x09, 0x6d, 0xc3, 0xb8, 0xe3, 0xfb, - 0x41, 0xec, 0x70, 0x11, 0x6a, 0x22, 0x5f, 0xf6, 0xd3, 0x08, 0x2f, 0x25, 0x35, 0x38, 0x75, 0x65, - 0xa5, 0xaa, 0x41, 0xb0, 0x4e, 0x18, 0xdd, 0x83, 0xe9, 0xe0, 0x1e, 0x65, 0x8e, 0x52, 0x4b, 0x11, - 0x95, 0x27, 0x59, 0x5b, 0xaf, 0x0e, 0xa8, 0xa7, 0x35, 0x2a, 0x6b, 0x5c, 0xcb, 0x24, 0x8a, 0xd3, - 0xad, 0xa0, 0x05, 0x43, 0x5b, 0x3d, 0x95, 0xb8, 0xb3, 0x24, 0xda, 0x6a, 0x5d, 0x39, 0xcd, 0xe2, - 0xa2, 0x70, 0x13, 0x69, 0xb6, 0xfb, 0xa7, 0x53, 0x71, 0x51, 0x12, 0x10, 0xd6, 0xf1, 0xd0, 0x0e, - 0x4c, 0x24, 0x4f, 0x56, 0x61, 0xc4, 0xa2, 0xb2, 0x8d, 0x5f, 0xb9, 0x32, 0xd8, 0xc7, 0x55, 0xb5, - 0x9a, 0xfc, 0xe6, 0xa0, 0x97, 0x60, 0x83, 0xf2, 0xdc, 0x77, 0xc0, 0xb8, 0x36, 0xb1, 0xc7, 0x8a, - 0x82, 0xfb, 0x26, 0xcc, 0xa4, 0xa7, 0xee, 0x58, 0x1e, 0x04, 0xff, 0xab, 0x00, 0xd3, 0x19, 0x2f, - 0x57, 0x2c, 0x4f, 0x46, 0x8a, 0xa1, 0x26, 0x69, 0x31, 0x4c, 0xb6, 0x58, 0x18, 0x80, 0x2d, 0x4a, - 0x1e, 0x5d, 0xcc, 0xe5, 0xd1, 0x82, 0x15, 0x0e, 0x7d, 0x14, 0x56, 0x68, 0x9e, 0x3e, 0xc3, 0x03, - 0x9d, 0x3e, 0x27, 0xc0, 0x3e, 0x8d, 0x03, 0x6c, 0x74, 0x80, 0x03, 0xec, 0xc7, 0x0a, 0x30, 0x93, - 0xb6, 0xf0, 0x3d, 0x85, 0xf7, 0x8e, 0xb7, 0x8c, 0xf7, 0x8e, 0xec, 0xac, 0x33, 0x69, 0xbb, 0xe3, - 0xbc, 0xb7, 0x0f, 0x9c, 0x7a, 0xfb, 0x78, 0x7e, 0x20, 0x6a, 0xbd, 0xdf, 0x41, 0xfe, 0x61, 0x01, - 0xce, 0xa5, 0xab, 0xac, 0x78, 0x8e, 0xbb, 0x77, 0x0a, 0x63, 0x73, 0xcb, 0x18, 0x9b, 0x97, 0x06, - 0xf9, 0x1a, 0xd6, 0xb5, 0xdc, 0x01, 0xba, 0x9b, 0x1a, 0xa0, 0xc5, 0xc1, 0x49, 0xf6, 0x1e, 0xa5, - 0x6f, 0x16, 0xe1, 0x42, 0x66, 0xbd, 0xe4, 0xb9, 0x60, 0xcd, 0x78, 0x2e, 0xb8, 0x92, 0x7a, 0x2e, - 0xb0, 0x7b, 0xd7, 0x3e, 0x99, 0xf7, 0x03, 0xe1, 0x0e, 0xcd, 0x22, 0x86, 0x3e, 0xe4, 0xdb, 0x81, - 0xe1, 0x0e, 0xad, 0x08, 0x61, 0x93, 0xee, 0xb7, 0xd2, 0x9b, 0xc1, 0x6f, 0x5b, 0x70, 0x3e, 0x73, - 0x6e, 0x4e, 0x41, 0xaf, 0xbe, 0x61, 0xea, 0xd5, 0x9f, 0x1b, 0x78, 0xb5, 0xe6, 0x28, 0xda, 0xff, - 0xa4, 0x98, 0xf3, 0x2d, 0x4c, 0x33, 0x79, 0x0b, 0xc6, 0x9d, 0x46, 0x83, 0x44, 0xd1, 0x7a, 0xd0, - 0x54, 0x11, 0x34, 0x5f, 0x62, 0xd2, 0x46, 0x52, 0x7c, 0x74, 0x38, 0x3f, 0x97, 0x26, 0x91, 0x80, - 0xb1, 0x4e, 0xc1, 0x0c, 0xfa, 0x5b, 0x38, 0xd1, 0xa0, 0xbf, 0x57, 0x00, 0xf6, 0x95, 0xbe, 0x22, - 0xad, 0xe6, 0xd4, 0x34, 0x19, 0x1a, 0x16, 0xfa, 0x1e, 0x76, 0x0b, 0xe0, 0xc6, 0x40, 0x7c, 0x29, - 0xbe, 0x32, 0xe0, 0x5c, 0xe9, 0x86, 0x45, 0x3c, 0xee, 0x86, 0x52, 0x09, 0x2b, 0x92, 0xe8, 0xbb, - 0x60, 0x26, 0xe2, 0x61, 0x9d, 0x56, 0x3c, 0x27, 0x62, 0x4e, 0x5c, 0x62, 0x15, 0xb2, 0x60, 0x1a, - 0xf5, 0x14, 0x0c, 0x77, 0x61, 0xa3, 0x35, 0xf9, 0x51, 0x2c, 0x06, 0x15, 0x5f, 0x98, 0x97, 0x92, - 0x0f, 0x12, 0x59, 0xba, 0xce, 0xa6, 0x87, 0x9f, 0x0d, 0xbc, 0x56, 0xd3, 0xfe, 0xb1, 0x21, 0x78, - 0xa2, 0x07, 0x13, 0x43, 0x4b, 0xa6, 0x11, 0xc0, 0x0b, 0x69, 0xfd, 0xdf, 0x5c, 0x66, 0x65, 0x43, - 0x21, 0x98, 0x5a, 0x2b, 0x85, 0x8f, 0xbc, 0x56, 0x7e, 0xd8, 0xd2, 0x34, 0xb3, 0xdc, 0x54, 0xf8, - 0x8b, 0xc7, 0x64, 0xce, 0x27, 0xa8, 0xaa, 0xdd, 0xce, 0xd0, 0x77, 0x5e, 0x19, 0xb8, 0x3b, 0x03, - 0x2b, 0x40, 0x4f, 0xf7, 0xc9, 0xe8, 0xab, 0x16, 0x3c, 0x9d, 0xd9, 0x5f, 0xc3, 0x68, 0x69, 0x11, - 0x4a, 0x0d, 0x5a, 0xa8, 0x39, 0x86, 0x26, 0x1e, 0xf3, 0x12, 0x80, 0x13, 0x1c, 0xc3, 0x36, 0xa9, - 0xd0, 0xd7, 0x36, 0xe9, 0xdf, 0x58, 0xd0, 0xb5, 0x80, 0x4f, 0x81, 0x93, 0x56, 0x4d, 0x4e, 0xfa, - 0xe9, 0x41, 0xe6, 0x32, 0x87, 0x89, 0xfe, 0xc1, 0x34, 0x3c, 0x96, 0xe3, 0x09, 0xb6, 0x0f, 0xb3, - 0xad, 0x06, 0x31, 0x5d, 0x6e, 0xc5, 0xc7, 0x64, 0x7a, 0x27, 0xf7, 0xf4, 0xcf, 0xe5, 0x17, 0xe2, - 0x2e, 0x14, 0xdc, 0xdd, 0x04, 0xfa, 0xaa, 0x05, 0x67, 0x9d, 0x7b, 0x51, 0x57, 0x12, 0x4d, 0xb1, - 0x66, 0x5e, 0xcd, 0xd4, 0xd3, 0xf6, 0x49, 0xba, 0xc9, 0xdc, 0xe2, 0xce, 0x66, 0x61, 0xe1, 0xcc, - 0xb6, 0x10, 0x16, 0x41, 0x8f, 0xa9, 0xbc, 0xdd, 0xc3, 0x29, 0x3c, 0xcb, 0x65, 0x8f, 0xf3, 0x54, - 0x09, 0xc1, 0x8a, 0x0e, 0xba, 0x03, 0xa5, 0x96, 0xf4, 0xa3, 0x15, 0x3c, 0x3b, 0xf3, 0x10, 0xcc, - 0x74, 0xb6, 0xe5, 0xbe, 0x23, 0x0a, 0x84, 0x13, 0x52, 0xe8, 0x4d, 0x28, 0xfa, 0xdb, 0x51, 0xaf, - 0x74, 0x58, 0x29, 0x5b, 0x3e, 0x1e, 0x70, 0x61, 0x63, 0xad, 0x8e, 0x69, 0x45, 0x74, 0x1d, 0x8a, - 0xe1, 0x56, 0x53, 0x3c, 0x2d, 0x64, 0xca, 0xa5, 0x78, 0xb9, 0x92, 0xbd, 0x48, 0x38, 0x25, 0xbc, - 0x5c, 0xc1, 0x94, 0x04, 0xaa, 0xc1, 0x30, 0x73, 0x9a, 0x12, 0x2f, 0x08, 0x99, 0x02, 0x69, 0x0f, - 0xe7, 0x43, 0x1e, 0x95, 0x81, 0x21, 0x60, 0x4e, 0x08, 0xbd, 0x05, 0x23, 0x0d, 0x96, 0x31, 0x4a, - 0x28, 0x7e, 0xb2, 0xc3, 0x75, 0x75, 0xe5, 0x94, 0xe2, 0x2f, 0xa8, 0xbc, 0x1c, 0x0b, 0x0a, 0x68, - 0x13, 0x46, 0x1a, 0xa4, 0xbd, 0xb3, 0x1d, 0x09, 0x7d, 0xce, 0x67, 0x33, 0x69, 0xf5, 0x48, 0x90, - 0x26, 0xa8, 0x32, 0x0c, 0x2c, 0x68, 0xa1, 0xcf, 0x43, 0x61, 0xbb, 0x21, 0x3c, 0xa9, 0x32, 0xdf, - 0x10, 0xcc, 0x48, 0x19, 0xcb, 0x23, 0x0f, 0x0e, 0xe7, 0x0b, 0x6b, 0x2b, 0xb8, 0xb0, 0xdd, 0x40, - 0x1b, 0x30, 0xba, 0xcd, 0x7d, 0xeb, 0x45, 0x00, 0x9b, 0x67, 0xb3, 0xdd, 0xfe, 0xbb, 0xdc, 0xef, - 0xb9, 0x07, 0x90, 0x00, 0x60, 0x49, 0x84, 0xc5, 0x0b, 0x56, 0x31, 0x02, 0x44, 0xe0, 0xfc, 0x85, - 0xe3, 0xc5, 0x75, 0x10, 0x6a, 0x0e, 0x45, 0x05, 0x6b, 0x14, 0xd1, 0x7b, 0x50, 0x72, 0x64, 0xd2, - 0x46, 0x11, 0x04, 0xe7, 0x95, 0xcc, 0xed, 0xd8, 0x3b, 0x9f, 0x25, 0x5f, 0xcb, 0x0a, 0x09, 0x27, - 0x44, 0xd1, 0x2e, 0x4c, 0xee, 0x47, 0xed, 0x1d, 0x22, 0xb7, 0x2f, 0x8b, 0x89, 0x93, 0x73, 0x5c, - 0xdd, 0x11, 0x88, 0x6e, 0x18, 0x77, 0x1c, 0xaf, 0x8b, 0xe3, 0x30, 0xc7, 0xb1, 0x3b, 0x3a, 0x31, - 0x6c, 0xd2, 0xa6, 0xc3, 0xff, 0x41, 0x27, 0xd8, 0x3a, 0x88, 0x89, 0x88, 0xb4, 0x9f, 0x39, 0xfc, - 0x6f, 0x73, 0x94, 0xee, 0xe1, 0x17, 0x00, 0x2c, 0x89, 0xd0, 0x0d, 0xee, 0xc8, 0x84, 0xa8, 0x42, - 0x97, 0xf3, 0x5c, 0xee, 0xf0, 0x74, 0xf5, 0x37, 0x19, 0x14, 0xc6, 0x19, 0x13, 0x52, 0x8c, 0x23, - 0xb6, 0x77, 0x82, 0x38, 0xf0, 0x53, 0xdc, 0x78, 0x36, 0x9f, 0x23, 0xd6, 0x32, 0xf0, 0xbb, 0x39, - 0x62, 0x16, 0x16, 0xce, 0x6c, 0x0b, 0x35, 0x61, 0xaa, 0x1d, 0x84, 0xf1, 0xbd, 0x20, 0x94, 0xeb, - 0x0b, 0xf5, 0xb8, 0xe4, 0x1b, 0x98, 0xa2, 0x45, 0x66, 0x07, 0x6e, 0x42, 0x70, 0x8a, 0x26, 0xfa, - 0x12, 0x8c, 0x46, 0x0d, 0xc7, 0x23, 0xd5, 0x5b, 0xe5, 0x33, 0xf9, 0x47, 0x4d, 0x9d, 0xa3, 0xe4, - 0xac, 0x2e, 0x36, 0x39, 0x02, 0x05, 0x4b, 0x72, 0x68, 0x0d, 0x86, 0x59, 0xfa, 0x16, 0x96, 0x24, - 0x20, 0x27, 0xd8, 0x5a, 0x97, 0xad, 0x34, 0xe7, 0x48, 0xac, 0x18, 0xf3, 0xea, 0x74, 0x0f, 0x08, - 0x59, 0x37, 0x88, 0xca, 0xe7, 0xf2, 0xf7, 0x80, 0x10, 0x91, 0x6f, 0xd5, 0x7b, 0xed, 0x01, 0x85, - 0x84, 0x13, 0xa2, 0x94, 0x1f, 0x53, 0x1e, 0xfa, 0x58, 0x3e, 0x3f, 0xce, 0xe7, 0xa0, 0x8c, 0x1f, - 0x53, 0xfe, 0x49, 0x49, 0xd8, 0x7f, 0x38, 0xda, 0x2d, 0x9f, 0xb0, 0xdb, 0xd1, 0xf7, 0x5b, 0x5d, - 0xa6, 0x03, 0x9f, 0x1b, 0x54, 0x59, 0x73, 0x82, 0x92, 0xe9, 0x57, 0x2d, 0x78, 0xac, 0x9d, 0xf9, - 0x21, 0xe2, 0xb0, 0x1f, 0x4c, 0xe7, 0xc3, 0x3f, 0x5d, 0x25, 0xf2, 0xc8, 0x86, 0xe3, 0x9c, 0x96, - 0xd2, 0xd2, 0x7f, 0xf1, 0x23, 0x4b, 0xff, 0xeb, 0x30, 0xc6, 0x04, 0xca, 0x24, 0xb2, 0xdf, 0x40, - 0x06, 0x78, 0x4c, 0x6c, 0x58, 0x11, 0x15, 0xb1, 0x22, 0x81, 0x7e, 0xc4, 0x82, 0xa7, 0xd2, 0x5d, - 0xc7, 0x84, 0x81, 0x45, 0x94, 0x68, 0x7e, 0x31, 0x5b, 0x13, 0xdf, 0xff, 0x54, 0xad, 0x17, 0xf2, - 0x51, 0x3f, 0x04, 0xdc, 0xbb, 0x31, 0x54, 0xc9, 0xb8, 0x19, 0x8e, 0x98, 0x2f, 0x8b, 0x03, 0xdc, - 0x0e, 0x5f, 0x85, 0x89, 0xbd, 0xa0, 0xe3, 0x4b, 0xef, 0x18, 0xe1, 0xfb, 0xcc, 0xb4, 0xd8, 0xeb, - 0x5a, 0x39, 0x36, 0xb0, 0x52, 0x77, 0xca, 0xb1, 0x87, 0xbd, 0x53, 0xa2, 0x77, 0x53, 0x09, 0xcc, - 0x4b, 0xf9, 0xb2, 0x85, 0xb8, 0x7e, 0x1f, 0x23, 0x8d, 0xf9, 0xe9, 0xde, 0x83, 0xbe, 0x61, 0x65, - 0x08, 0xf0, 0xfc, 0x66, 0xfc, 0x05, 0xf3, 0x66, 0x7c, 0x29, 0x7d, 0x33, 0xee, 0xd2, 0x84, 0x1a, - 0x97, 0xe2, 0xc1, 0x63, 0xf4, 0x0f, 0x1a, 0xa0, 0xd1, 0xf6, 0xe0, 0x62, 0xbf, 0x63, 0x89, 0x99, - 0x4a, 0x36, 0x95, 0x0d, 0x41, 0x62, 0x2a, 0xd9, 0xac, 0x56, 0x30, 0x83, 0x0c, 0x1a, 0xc1, 0xc7, - 0xfe, 0xef, 0x16, 0x14, 0x6b, 0x41, 0xf3, 0x14, 0x34, 0xbb, 0x5f, 0x34, 0x34, 0xbb, 0x4f, 0xe4, - 0x24, 0x96, 0xcf, 0xd5, 0xe3, 0xae, 0xa6, 0xf4, 0xb8, 0x4f, 0xe5, 0x11, 0xe8, 0xad, 0xb5, 0xfd, - 0x7a, 0x11, 0xf4, 0x34, 0xf8, 0xe8, 0xdf, 0x3d, 0x8c, 0xcd, 0x7d, 0xb1, 0x57, 0x66, 0x7c, 0x41, - 0x99, 0x59, 0x58, 0x4a, 0x77, 0xde, 0xbf, 0x62, 0xa6, 0xf7, 0x77, 0x89, 0xdb, 0xda, 0x89, 0x49, - 0x33, 0xfd, 0x39, 0xa7, 0x67, 0x7a, 0xff, 0x5f, 0x2d, 0x98, 0x4e, 0xb5, 0x8e, 0xbc, 0x2c, 0xdf, - 0xc0, 0x87, 0xd4, 0xe8, 0xcd, 0xf6, 0x75, 0x26, 0x5c, 0x00, 0x50, 0xcf, 0x66, 0x52, 0xdb, 0xc5, - 0xa4, 0x7e, 0xf5, 0xae, 0x16, 0x61, 0x0d, 0x03, 0xbd, 0x06, 0xe3, 0x71, 0xd0, 0x0e, 0xbc, 0xa0, - 0x75, 0x70, 0x83, 0xc8, 0x98, 0x51, 0xea, 0x71, 0x73, 0x33, 0x01, 0x61, 0x1d, 0xcf, 0xfe, 0xd9, - 0x22, 0xff, 0x50, 0x3f, 0x76, 0xbf, 0xbd, 0x26, 0x3f, 0xd9, 0x6b, 0xf2, 0x9b, 0x16, 0xcc, 0xd0, - 0xd6, 0x99, 0xf5, 0x9a, 0x3c, 0x6c, 0x55, 0xae, 0x30, 0xab, 0x47, 0xae, 0xb0, 0x4b, 0x94, 0x77, - 0x35, 0x83, 0x4e, 0x2c, 0xb4, 0x65, 0x1a, 0x73, 0xa2, 0xa5, 0x58, 0x40, 0x05, 0x1e, 0x09, 0x43, - 0xe1, 0xf1, 0xa7, 0xe3, 0x91, 0x30, 0xc4, 0x02, 0x2a, 0x53, 0x89, 0x0d, 0xe5, 0xa4, 0x12, 0x63, - 0x11, 0x30, 0x85, 0xc5, 0x94, 0x10, 0x7b, 0xb4, 0x08, 0x98, 0xd2, 0x94, 0x2a, 0xc1, 0xb1, 0x7f, - 0xa1, 0x08, 0x13, 0xb5, 0xa0, 0x99, 0x3c, 0x5c, 0xbd, 0x6a, 0x3c, 0x5c, 0x5d, 0x4c, 0x3d, 0x5c, - 0xcd, 0xe8, 0xb8, 0xdf, 0x7e, 0xa6, 0xfa, 0xb8, 0x9e, 0xa9, 0xfe, 0xb5, 0xc5, 0x66, 0xad, 0xb2, - 0x51, 0x17, 0xc9, 0xb8, 0x5f, 0x86, 0x71, 0xc6, 0x90, 0x98, 0x8b, 0xa9, 0x7c, 0xcd, 0x61, 0x19, - 0x2d, 0x36, 0x92, 0x62, 0xac, 0xe3, 0xa0, 0xcb, 0x30, 0x16, 0x11, 0x27, 0x6c, 0xec, 0x28, 0x1e, - 0x27, 0xde, 0x3a, 0x78, 0x19, 0x56, 0x50, 0xf4, 0x76, 0x12, 0x7c, 0xb1, 0x98, 0x9f, 0x56, 0x5a, - 0xef, 0x0f, 0xdf, 0x22, 0xf9, 0x11, 0x17, 0xed, 0xbb, 0x80, 0xba, 0xf1, 0x07, 0x30, 0x23, 0x9b, - 0x37, 0xc3, 0xac, 0x95, 0xba, 0x42, 0xac, 0xfd, 0x85, 0x05, 0x53, 0xb5, 0xa0, 0x49, 0xb7, 0xee, - 0xb7, 0xd2, 0x3e, 0xd5, 0x23, 0xcf, 0x8e, 0xf4, 0x88, 0x3c, 0xfb, 0x8f, 0x2c, 0x18, 0xad, 0x05, - 0xcd, 0x53, 0xd0, 0xb1, 0x7f, 0xc1, 0xd4, 0xb1, 0x3f, 0x9e, 0xb3, 0x24, 0x72, 0xd4, 0xea, 0xbf, - 0x54, 0x84, 0x49, 0xda, 0xcf, 0xa0, 0x25, 0x67, 0xc9, 0x18, 0x11, 0x6b, 0x80, 0x11, 0xa1, 0x62, - 0x6e, 0xe0, 0x79, 0xc1, 0xbd, 0xf4, 0x8c, 0xad, 0xb1, 0x52, 0x2c, 0xa0, 0xe8, 0x45, 0x18, 0x6b, - 0x87, 0x64, 0xdf, 0x0d, 0x3a, 0x51, 0xda, 0x9b, 0xba, 0x26, 0xca, 0xb1, 0xc2, 0xa0, 0xf7, 0xae, - 0xc8, 0xf5, 0x1b, 0x44, 0xda, 0x97, 0x0d, 0x31, 0xfb, 0x32, 0x1e, 0x52, 0x5e, 0x2b, 0xc7, 0x06, - 0x16, 0xba, 0x0b, 0x25, 0xf6, 0x9f, 0x71, 0x94, 0xe3, 0x27, 0x39, 0x13, 0x79, 0x5c, 0x04, 0x01, - 0x9c, 0xd0, 0x42, 0x57, 0x00, 0x62, 0x69, 0x09, 0x17, 0x09, 0x67, 0x7f, 0x25, 0x6b, 0x2b, 0x1b, - 0xb9, 0x08, 0x6b, 0x58, 0xe8, 0x05, 0x28, 0xc5, 0x8e, 0xeb, 0xdd, 0x74, 0x7d, 0x12, 0x09, 0x4b, - 0x42, 0x91, 0xa6, 0x45, 0x14, 0xe2, 0x04, 0x4e, 0x65, 0x1d, 0x16, 0x4a, 0x82, 0xa7, 0x48, 0x1c, - 0x63, 0xd8, 0x4c, 0xd6, 0xb9, 0xa9, 0x4a, 0xb1, 0x86, 0x61, 0x5f, 0x85, 0x73, 0xb5, 0xa0, 0x59, - 0x0b, 0xc2, 0x78, 0x2d, 0x08, 0xef, 0x39, 0x61, 0x53, 0xce, 0xdf, 0xbc, 0xcc, 0x18, 0x42, 0x79, - 0xcf, 0x30, 0xdf, 0x99, 0x46, 0x2e, 0x90, 0x57, 0x98, 0xb4, 0x73, 0x4c, 0xb7, 0xaf, 0xff, 0x50, - 0x60, 0x8c, 0x22, 0x95, 0xb7, 0x13, 0x7d, 0x05, 0xa6, 0x22, 0x72, 0xd3, 0xf5, 0x3b, 0xf7, 0xe5, - 0xfd, 0xb8, 0x87, 0x4f, 0x5d, 0x7d, 0x55, 0xc7, 0xe4, 0x5a, 0x36, 0xb3, 0x0c, 0xa7, 0xa8, 0xd1, - 0x21, 0x0c, 0x3b, 0xfe, 0x52, 0x74, 0x3b, 0x22, 0xa1, 0xc8, 0x1b, 0xc9, 0x86, 0x10, 0xcb, 0x42, - 0x9c, 0xc0, 0xe9, 0x92, 0x61, 0x7f, 0x36, 0x02, 0x1f, 0x07, 0x41, 0x2c, 0x17, 0x19, 0xcb, 0x3c, - 0xa6, 0x95, 0x63, 0x03, 0x0b, 0xad, 0x01, 0x8a, 0x3a, 0xed, 0xb6, 0xc7, 0x1e, 0xc0, 0x1d, 0xef, - 0x5a, 0x18, 0x74, 0xda, 0xfc, 0xf1, 0x51, 0x24, 0xed, 0xaa, 0x77, 0x41, 0x71, 0x46, 0x0d, 0xca, - 0x18, 0xb6, 0x23, 0xf6, 0x5b, 0x44, 0x93, 0xe0, 0x9a, 0xef, 0x3a, 0x2b, 0xc2, 0x12, 0x66, 0x7f, - 0x1f, 0x3b, 0x30, 0x58, 0xba, 0xbf, 0xb8, 0x13, 0x12, 0xb4, 0x07, 0x93, 0x6d, 0x76, 0x94, 0x8b, - 0xc0, 0xe9, 0x62, 0x00, 0x1f, 0xce, 0x6e, 0x90, 0xa7, 0xff, 0xd2, 0xc9, 0x61, 0x93, 0xba, 0xfd, - 0xf5, 0x19, 0xc6, 0x97, 0xea, 0xfc, 0x3a, 0x37, 0x2a, 0xbc, 0x01, 0x84, 0xec, 0x3a, 0x97, 0xaf, - 0x57, 0x48, 0x8e, 0x10, 0xe1, 0x51, 0x80, 0x65, 0x5d, 0xf4, 0x36, 0x7b, 0xb5, 0xe5, 0xcc, 0xa0, - 0x5f, 0xde, 0x70, 0x8e, 0x65, 0x3c, 0xd0, 0x8a, 0x8a, 0x58, 0x23, 0x82, 0x6e, 0xc2, 0xa4, 0xc8, - 0x0e, 0x27, 0x14, 0x47, 0x45, 0x43, 0x31, 0x30, 0x89, 0x75, 0xe0, 0x51, 0xba, 0x00, 0x9b, 0x95, - 0x51, 0x0b, 0x9e, 0xd2, 0x52, 0xa5, 0x66, 0xd8, 0xae, 0x72, 0xde, 0xf2, 0xf4, 0x83, 0xc3, 0xf9, - 0xa7, 0x36, 0x7b, 0x21, 0xe2, 0xde, 0x74, 0xd0, 0x2d, 0x38, 0xe7, 0x34, 0x62, 0x77, 0x9f, 0x54, - 0x88, 0xd3, 0xf4, 0x5c, 0x9f, 0x98, 0xe1, 0x45, 0xce, 0x3f, 0x38, 0x9c, 0x3f, 0xb7, 0x94, 0x85, - 0x80, 0xb3, 0xeb, 0xa1, 0x2f, 0x40, 0xa9, 0xe9, 0x47, 0x62, 0x0c, 0x46, 0x8c, 0x2c, 0xc0, 0xa5, - 0xca, 0x46, 0x5d, 0x7d, 0x7f, 0xf2, 0x07, 0x27, 0x15, 0x50, 0x8b, 0x2b, 0x8f, 0xd4, 0x5d, 0x6d, - 0xb4, 0x2b, 0x66, 0x4c, 0xfa, 0xd6, 0x6f, 0xf8, 0xdd, 0x71, 0xad, 0xa9, 0xb2, 0x0c, 0x37, 0x5c, - 0xf2, 0x0c, 0xc2, 0xe8, 0x2d, 0x40, 0x54, 0x98, 0x71, 0x1b, 0x64, 0xa9, 0xc1, 0xe2, 0xd7, 0x33, - 0x5d, 0xdb, 0x98, 0xe1, 0xe6, 0x84, 0xea, 0x5d, 0x18, 0x38, 0xa3, 0x16, 0xba, 0x4e, 0x39, 0x8a, - 0x5e, 0x2a, 0x0c, 0xf9, 0xa5, 0x00, 0x5c, 0xae, 0x90, 0x76, 0x48, 0x1a, 0x4e, 0x4c, 0x9a, 0x26, - 0x45, 0x9c, 0xaa, 0x47, 0xcf, 0x1b, 0x95, 0xca, 0x0a, 0x4c, 0xf3, 0xf3, 0xee, 0x74, 0x56, 0xf4, - 0xee, 0xb8, 0x13, 0x44, 0xf1, 0x06, 0x89, 0xef, 0x05, 0xe1, 0xae, 0x88, 0x09, 0x98, 0x84, 0xa7, - 0x4d, 0x40, 0x58, 0xc7, 0xa3, 0xb2, 0x22, 0x7b, 0x36, 0xad, 0x56, 0xd8, 0x2b, 0xd6, 0x58, 0xb2, - 0x4f, 0xae, 0xf3, 0x62, 0x2c, 0xe1, 0x12, 0xb5, 0x5a, 0x5b, 0x61, 0x2f, 0x52, 0x29, 0xd4, 0x6a, - 0x6d, 0x05, 0x4b, 0x38, 0x22, 0xdd, 0x19, 0x96, 0xa7, 0xf2, 0x35, 0x7f, 0xdd, 0x7c, 0x79, 0xc0, - 0x24, 0xcb, 0x3e, 0xcc, 0xa8, 0xdc, 0xce, 0x3c, 0x58, 0x62, 0x54, 0x9e, 0x66, 0x8b, 0x64, 0xf0, - 0x48, 0x8b, 0x4a, 0x97, 0x5a, 0x4d, 0x51, 0xc2, 0x5d, 0xb4, 0x8d, 0xb0, 0x35, 0x33, 0x7d, 0x53, - 0x91, 0x2d, 0x42, 0x29, 0xea, 0x6c, 0x35, 0x83, 0x3d, 0xc7, 0xf5, 0xd9, 0x03, 0x92, 0x26, 0x88, - 0xd4, 0x25, 0x00, 0x27, 0x38, 0x68, 0x0d, 0xc6, 0x1c, 0xa9, 0x28, 0x45, 0xf9, 0x71, 0x2c, 0x94, - 0x7a, 0x94, 0x89, 0xd9, 0x4a, 0x35, 0xaa, 0xea, 0xa2, 0x37, 0x60, 0x52, 0xb8, 0x5a, 0x0a, 0x2b, - 0xe9, 0x33, 0xa6, 0x57, 0x4e, 0x5d, 0x07, 0x62, 0x13, 0x17, 0x7d, 0x0f, 0x4c, 0x51, 0x2a, 0x09, - 0x63, 0x2b, 0x9f, 0x1d, 0x84, 0x23, 0x6a, 0x29, 0x66, 0xf4, 0xca, 0x38, 0x45, 0x0c, 0x35, 0xe1, - 0x49, 0xa7, 0x13, 0x07, 0x4c, 0xd9, 0x6c, 0xae, 0xff, 0xcd, 0x60, 0x97, 0xf8, 0xec, 0x9d, 0x67, - 0x6c, 0xf9, 0xe2, 0x83, 0xc3, 0xf9, 0x27, 0x97, 0x7a, 0xe0, 0xe1, 0x9e, 0x54, 0xd0, 0x6d, 0x18, - 0x8f, 0x03, 0x4f, 0xb8, 0x37, 0x44, 0xe5, 0xc7, 0xf2, 0xc3, 0x6e, 0x6d, 0x2a, 0x34, 0x5d, 0xd1, - 0xa2, 0xaa, 0x62, 0x9d, 0x0e, 0xda, 0xe4, 0x7b, 0x8c, 0x05, 0x24, 0x26, 0x51, 0xf9, 0xf1, 0xfc, - 0x81, 0x51, 0x71, 0x8b, 0xcd, 0x2d, 0x28, 0x6a, 0x62, 0x9d, 0x0c, 0xba, 0x06, 0xb3, 0xed, 0xd0, - 0x0d, 0xd8, 0xc2, 0x56, 0x8a, 0xfe, 0xb2, 0x99, 0x55, 0xa4, 0x96, 0x46, 0xc0, 0xdd, 0x75, 0xe8, - 0x45, 0x4c, 0x16, 0x96, 0xcf, 0xf3, 0x14, 0x75, 0x5c, 0x38, 0xe5, 0x65, 0x58, 0x41, 0xd1, 0x3a, - 0xe3, 0xcb, 0xfc, 0xca, 0x54, 0x9e, 0xcb, 0x8f, 0xff, 0xa1, 0x5f, 0xad, 0xb8, 0xe0, 0xa2, 0xfe, - 0xe2, 0x84, 0x02, 0x3d, 0x37, 0xa2, 0x1d, 0x27, 0x24, 0xb5, 0x30, 0x68, 0x10, 0xde, 0x19, 0x6e, - 0x4e, 0xfe, 0x04, 0x8f, 0x9b, 0x4a, 0xcf, 0x8d, 0x7a, 0x16, 0x02, 0xce, 0xae, 0x37, 0xf7, 0x9d, - 0x30, 0xdb, 0xc5, 0xc9, 0x8f, 0x65, 0x0a, 0xff, 0xe7, 0xc3, 0x50, 0x52, 0x8a, 0x5c, 0xb4, 0x68, - 0xea, 0xe7, 0xcf, 0xa7, 0xf5, 0xf3, 0x63, 0x54, 0x9e, 0xd4, 0x55, 0xf2, 0x9b, 0x86, 0x21, 0x57, - 0x21, 0x3f, 0x75, 0x9d, 0xae, 0xc5, 0xe8, 0xeb, 0xb7, 0xaa, 0xdd, 0xcb, 0x8b, 0x03, 0x2b, 0xfa, - 0x87, 0x7a, 0x5e, 0xf5, 0x07, 0xcc, 0xc6, 0x4d, 0xaf, 0xae, 0xed, 0xa0, 0x59, 0xad, 0xa5, 0xd3, - 0xd3, 0xd6, 0x68, 0x21, 0xe6, 0x30, 0x76, 0xf9, 0xa0, 0x62, 0x07, 0xbb, 0x7c, 0x8c, 0x3e, 0xe4, - 0xe5, 0x43, 0x12, 0xc0, 0x09, 0x2d, 0xe4, 0xc1, 0x6c, 0xc3, 0xcc, 0x2c, 0xac, 0x7c, 0x55, 0x9f, - 0xe9, 0x9b, 0xe3, 0xb7, 0xa3, 0xa5, 0x1c, 0x5c, 0x49, 0x53, 0xc1, 0xdd, 0x84, 0xd1, 0x1b, 0x30, - 0xf6, 0x41, 0x10, 0xb1, 0x6d, 0x21, 0xce, 0x5e, 0xe9, 0x1d, 0x38, 0xf6, 0xf6, 0xad, 0x3a, 0x2b, - 0x3f, 0x3a, 0x9c, 0x1f, 0xaf, 0x05, 0x4d, 0xf9, 0x17, 0xab, 0x0a, 0xe8, 0x3e, 0x9c, 0x33, 0x38, - 0x96, 0xea, 0x2e, 0x0c, 0xde, 0xdd, 0xa7, 0x44, 0x73, 0xe7, 0xaa, 0x59, 0x94, 0x70, 0x76, 0x03, - 0x94, 0x0d, 0xf8, 0x81, 0xc8, 0xca, 0x2d, 0xcf, 0x77, 0x76, 0x8c, 0x97, 0xf4, 0x20, 0x0b, 0x29, - 0x04, 0xdc, 0x5d, 0xc7, 0xfe, 0x55, 0xae, 0xf7, 0x16, 0xda, 0x31, 0x12, 0x75, 0xbc, 0xd3, 0x48, - 0x50, 0xb6, 0x6a, 0x28, 0xee, 0x1e, 0xfa, 0x6d, 0xe5, 0x37, 0x2d, 0xf6, 0xb6, 0xb2, 0x49, 0xf6, - 0xda, 0x9e, 0x13, 0x9f, 0x86, 0x27, 0xc5, 0xdb, 0x30, 0x16, 0x8b, 0xd6, 0x7a, 0xe5, 0x54, 0xd3, - 0x3a, 0xc5, 0xde, 0x97, 0xd4, 0xc9, 0x2f, 0x4b, 0xb1, 0x22, 0x63, 0xff, 0x0b, 0x3e, 0x03, 0x12, - 0x72, 0x0a, 0x4a, 0x94, 0x8a, 0xa9, 0x44, 0x99, 0xef, 0xf3, 0x05, 0x39, 0xca, 0x94, 0x7f, 0x6e, - 0xf6, 0x9b, 0x5d, 0xb2, 0x3e, 0xe9, 0x8f, 0x7a, 0xf6, 0x4f, 0x58, 0x70, 0x36, 0xcb, 0x0a, 0x86, - 0x4a, 0x6b, 0xfc, 0x8a, 0xa7, 0x1e, 0x39, 0xd5, 0x08, 0xde, 0x11, 0xe5, 0x58, 0x61, 0x0c, 0x9c, - 0xae, 0xe4, 0x78, 0x31, 0xf5, 0x6e, 0x81, 0x99, 0xcd, 0x1a, 0xbd, 0xc9, 0x5d, 0xa3, 0x2c, 0x95, - 0x6e, 0xfa, 0x78, 0x6e, 0x51, 0xf6, 0xcf, 0x15, 0xe0, 0x2c, 0x7f, 0xa5, 0x58, 0xda, 0x0f, 0xdc, - 0x66, 0x2d, 0x68, 0x0a, 0x47, 0xb1, 0x77, 0x60, 0xa2, 0xad, 0xdd, 0xcb, 0x7b, 0x45, 0xf5, 0xd2, - 0xef, 0xef, 0xc9, 0xfd, 0x48, 0x2f, 0xc5, 0x06, 0x2d, 0xd4, 0x84, 0x09, 0xb2, 0xef, 0x36, 0x94, - 0xaa, 0xbb, 0x70, 0xec, 0xb3, 0x41, 0xb5, 0xb2, 0xaa, 0xd1, 0xc1, 0x06, 0xd5, 0x47, 0x90, 0x7d, - 0xd0, 0xfe, 0x49, 0x0b, 0x1e, 0xcf, 0x89, 0x01, 0x46, 0x9b, 0xbb, 0xc7, 0xde, 0x83, 0x44, 0x22, - 0x33, 0xd5, 0x1c, 0x7f, 0x25, 0xc2, 0x02, 0x8a, 0xbe, 0x04, 0xc0, 0x5f, 0x79, 0xe8, 0x75, 0x41, - 0x7c, 0xfa, 0x60, 0xb1, 0x71, 0xb4, 0x00, 0x2a, 0xb2, 0x3e, 0xd6, 0x68, 0xd9, 0x3f, 0x53, 0x84, - 0x61, 0xf6, 0xaa, 0x80, 0xd6, 0x60, 0x74, 0x87, 0x47, 0x1c, 0x1f, 0x24, 0xb8, 0x79, 0x72, 0xef, - 0xe2, 0x05, 0x58, 0x56, 0x46, 0xeb, 0x70, 0x46, 0x38, 0x23, 0x56, 0x88, 0xe7, 0x1c, 0xc8, 0xeb, - 0x3b, 0x4f, 0xfe, 0xa5, 0xd2, 0xdd, 0x55, 0xbb, 0x51, 0x70, 0x56, 0x3d, 0xf4, 0x66, 0x57, 0x9c, - 0x51, 0x1e, 0xab, 0x5d, 0x09, 0xfb, 0x7d, 0x62, 0x8d, 0xbe, 0x01, 0x93, 0xed, 0x2e, 0x45, 0xc5, - 0x70, 0x72, 0x11, 0x31, 0x95, 0x13, 0x26, 0x2e, 0x33, 0x7f, 0xe9, 0x30, 0x63, 0x9f, 0xcd, 0x9d, - 0x90, 0x44, 0x3b, 0x81, 0xd7, 0x14, 0xf9, 0xf8, 0x13, 0xf3, 0x97, 0x14, 0x1c, 0x77, 0xd5, 0xa0, - 0x54, 0xb6, 0x1d, 0xd7, 0xeb, 0x84, 0x24, 0xa1, 0x32, 0x62, 0x52, 0x59, 0x4b, 0xc1, 0x71, 0x57, - 0x0d, 0xba, 0x8e, 0xce, 0x89, 0x64, 0xee, 0x32, 0x44, 0x85, 0xb2, 0x69, 0x1a, 0x95, 0xae, 0x2a, - 0x3d, 0xc2, 0x26, 0x09, 0xab, 0x0f, 0x95, 0x0e, 0x5e, 0x4b, 0x15, 0x2c, 0x9c, 0x54, 0x24, 0x95, - 0x87, 0x49, 0x29, 0xfe, 0x87, 0x16, 0x9c, 0xc9, 0xb0, 0x9d, 0xe4, 0xac, 0xaa, 0xe5, 0x46, 0xb1, - 0x4a, 0x70, 0xa4, 0xb1, 0x2a, 0x5e, 0x8e, 0x15, 0x06, 0xdd, 0x0f, 0x9c, 0x19, 0xa6, 0x19, 0xa0, - 0xb0, 0x4d, 0x12, 0xd0, 0xe3, 0x31, 0x40, 0x74, 0x11, 0x86, 0x3a, 0x11, 0x09, 0x65, 0x2e, 0x6e, - 0xc9, 0xbf, 0x99, 0xea, 0x93, 0x41, 0xa8, 0x68, 0xda, 0x52, 0x5a, 0x47, 0x4d, 0x34, 0xe5, 0x7a, - 0x47, 0x0e, 0xb3, 0xbf, 0x56, 0x84, 0xf3, 0xb9, 0xb6, 0xd1, 0xb4, 0x4b, 0x7b, 0x81, 0xef, 0xc6, - 0x81, 0x7a, 0xb1, 0xe2, 0xf1, 0x7d, 0x48, 0x7b, 0x67, 0x5d, 0x94, 0x63, 0x85, 0x81, 0x2e, 0xc1, - 0x30, 0xbb, 0xd9, 0x77, 0xa5, 0x70, 0x5a, 0xae, 0xf0, 0xb0, 0x13, 0x1c, 0x3c, 0x70, 0x7a, 0xbc, - 0x67, 0x60, 0xa8, 0x1d, 0x04, 0x5e, 0x9a, 0x19, 0xd1, 0xee, 0x06, 0x81, 0x87, 0x19, 0x10, 0x7d, - 0x46, 0x8c, 0x43, 0xea, 0x89, 0x06, 0x3b, 0xcd, 0x20, 0xd2, 0x06, 0xe3, 0x39, 0x18, 0xdd, 0x25, - 0x07, 0xa1, 0xeb, 0xb7, 0xd2, 0x4f, 0x77, 0x37, 0x78, 0x31, 0x96, 0x70, 0x33, 0x83, 0xc9, 0xe8, - 0x49, 0xe7, 0xb5, 0x1b, 0xeb, 0x7b, 0xb4, 0xfd, 0x70, 0x11, 0xa6, 0xf1, 0x72, 0xe5, 0xdb, 0x13, - 0x71, 0xbb, 0x7b, 0x22, 0x4e, 0x3a, 0xaf, 0x5d, 0xff, 0xd9, 0xf8, 0x25, 0x0b, 0xa6, 0x59, 0x94, - 0x6f, 0x11, 0x9f, 0xc6, 0x0d, 0xfc, 0x53, 0x10, 0xdd, 0x9e, 0x81, 0xe1, 0x90, 0x36, 0x9a, 0x4e, - 0x56, 0xc5, 0x7a, 0x82, 0x39, 0x0c, 0x3d, 0x09, 0x43, 0xac, 0x0b, 0x74, 0xf2, 0x26, 0x78, 0x9e, - 0x8f, 0x8a, 0x13, 0x3b, 0x98, 0x95, 0x32, 0x47, 0x61, 0x4c, 0xda, 0x9e, 0xcb, 0x3b, 0x9d, 0xa8, - 0xfa, 0x3f, 0x19, 0x8e, 0xc2, 0x99, 0x5d, 0xfb, 0x68, 0x8e, 0xc2, 0xd9, 0x24, 0x7b, 0x5f, 0x8b, - 0xfe, 0x47, 0x01, 0x2e, 0x64, 0xd6, 0x1b, 0xd8, 0x51, 0xb8, 0x77, 0xed, 0x93, 0xb1, 0xc0, 0xc8, - 0x36, 0x8c, 0x28, 0x9e, 0xa2, 0x61, 0xc4, 0xd0, 0xa0, 0x92, 0xe3, 0xf0, 0x00, 0xfe, 0xbb, 0x99, - 0x43, 0xf6, 0x09, 0xf1, 0xdf, 0xcd, 0xec, 0x5b, 0xce, 0xb5, 0xee, 0x2f, 0x0b, 0x39, 0xdf, 0xc2, - 0x2e, 0x78, 0x97, 0x29, 0x9f, 0x61, 0xc0, 0x48, 0x48, 0xc2, 0x13, 0x9c, 0xc7, 0xf0, 0x32, 0xac, - 0xa0, 0xc8, 0xd5, 0x3c, 0x61, 0x0b, 0xf9, 0xa9, 0x4c, 0x73, 0x9b, 0x5a, 0x30, 0x5f, 0x66, 0xf4, - 0x60, 0x3a, 0x69, 0xaf, 0xd8, 0x75, 0xed, 0x52, 0x5e, 0x1c, 0xfc, 0x52, 0x3e, 0x91, 0x7d, 0x21, - 0x47, 0x4b, 0x30, 0xbd, 0xe7, 0xfa, 0x94, 0x6d, 0x1e, 0x98, 0xa2, 0xa8, 0x0a, 0x0c, 0xb1, 0x6e, - 0x82, 0x71, 0x1a, 0x7f, 0xee, 0x0d, 0x98, 0x7c, 0x78, 0x75, 0xe4, 0x37, 0x8b, 0xf0, 0x44, 0x8f, - 0x6d, 0xcf, 0x79, 0xbd, 0x31, 0x07, 0x1a, 0xaf, 0xef, 0x9a, 0x87, 0x1a, 0x9c, 0xdd, 0xee, 0x78, - 0xde, 0x01, 0xb3, 0x3d, 0x24, 0x4d, 0x89, 0x21, 0x64, 0x45, 0x15, 0xc2, 0x7f, 0x2d, 0x03, 0x07, - 0x67, 0xd6, 0x44, 0x6f, 0x01, 0x0a, 0x44, 0x1e, 0xe5, 0x24, 0x44, 0x10, 0x1b, 0xf8, 0x62, 0xb2, - 0x19, 0x6f, 0x75, 0x61, 0xe0, 0x8c, 0x5a, 0x54, 0xe8, 0xa7, 0xa7, 0xd2, 0x81, 0xea, 0x56, 0x4a, - 0xe8, 0xc7, 0x3a, 0x10, 0x9b, 0xb8, 0xe8, 0x1a, 0xcc, 0x3a, 0xfb, 0x8e, 0xcb, 0x43, 0x46, 0x4a, - 0x02, 0x5c, 0xea, 0x57, 0x4a, 0xb0, 0xa5, 0x34, 0x02, 0xee, 0xae, 0x93, 0x72, 0xc5, 0x1d, 0xc9, - 0x77, 0xc5, 0xed, 0xcd, 0x17, 0xfb, 0xe9, 0x74, 0xed, 0xff, 0x6c, 0xd1, 0xe3, 0x8b, 0x0b, 0xef, - 0x66, 0xf8, 0xac, 0x37, 0x60, 0x52, 0xe9, 0x26, 0x35, 0xaf, 0x58, 0x35, 0x0e, 0x2b, 0x3a, 0x10, - 0x9b, 0xb8, 0x7c, 0x41, 0x44, 0x89, 0x83, 0x86, 0x21, 0xba, 0x0b, 0xb7, 0x77, 0x85, 0x81, 0xbe, - 0x0c, 0xa3, 0x4d, 0x77, 0xdf, 0x8d, 0x82, 0x50, 0x6c, 0x96, 0x63, 0x9a, 0xb9, 0x27, 0x7c, 0xb0, - 0xc2, 0xc9, 0x60, 0x49, 0xcf, 0xfe, 0xe1, 0x02, 0x4c, 0xca, 0x16, 0xdf, 0xee, 0x04, 0xb1, 0x73, - 0x0a, 0xc7, 0xf2, 0x35, 0xe3, 0x58, 0xfe, 0x4c, 0x2f, 0xdf, 0x7f, 0xd6, 0xa5, 0xdc, 0xe3, 0xf8, - 0x56, 0xea, 0x38, 0x7e, 0xb6, 0x3f, 0xa9, 0xde, 0xc7, 0xf0, 0xbf, 0xb4, 0x60, 0xd6, 0xc0, 0x3f, - 0x85, 0xd3, 0x60, 0xcd, 0x3c, 0x0d, 0x9e, 0xee, 0xfb, 0x0d, 0x39, 0xa7, 0xc0, 0x37, 0x0a, 0xa9, - 0xbe, 0x33, 0xee, 0xff, 0x01, 0x0c, 0xed, 0x38, 0x61, 0xb3, 0x57, 0xe0, 0xe3, 0xae, 0x4a, 0x0b, - 0xd7, 0x9d, 0xb0, 0xc9, 0x79, 0xf8, 0x8b, 0x2a, 0xfb, 0xaa, 0x13, 0x36, 0xfb, 0xfa, 0x23, 0xb1, - 0xa6, 0xd0, 0x55, 0x18, 0x89, 0x1a, 0x41, 0x5b, 0x59, 0x0b, 0x5e, 0xe4, 0x99, 0x59, 0x69, 0xc9, - 0xd1, 0xe1, 0x3c, 0x32, 0x9b, 0xa3, 0xc5, 0x58, 0xe0, 0xcf, 0xb5, 0xa0, 0xa4, 0x9a, 0x7e, 0xa4, - 0xbe, 0x1e, 0xbf, 0x57, 0x84, 0x33, 0x19, 0xeb, 0x02, 0x45, 0xc6, 0x68, 0xbd, 0x3c, 0xe0, 0x72, - 0xfa, 0x88, 0xe3, 0x15, 0xb1, 0x1b, 0x4b, 0x53, 0xcc, 0xff, 0xc0, 0x8d, 0xde, 0x8e, 0x48, 0xba, - 0x51, 0x5a, 0xd4, 0xbf, 0x51, 0xda, 0xd8, 0xa9, 0x0d, 0x35, 0x6d, 0x48, 0xf5, 0xf4, 0x91, 0xce, - 0xe9, 0x9f, 0x15, 0xe1, 0x6c, 0x56, 0xc8, 0x10, 0xf4, 0xbd, 0xa9, 0x34, 0x4a, 0xaf, 0x0e, 0x1a, - 0x6c, 0x84, 0xe7, 0x56, 0x12, 0x31, 0xd6, 0x16, 0xcc, 0xc4, 0x4a, 0x7d, 0x87, 0x59, 0xb4, 0xc9, - 0x1c, 0x04, 0x43, 0x9e, 0xfe, 0x4a, 0x6e, 0xf1, 0xcf, 0x0d, 0xdc, 0x01, 0x91, 0x37, 0x2b, 0x4a, - 0x39, 0x08, 0xca, 0xe2, 0xfe, 0x0e, 0x82, 0xb2, 0xe5, 0x39, 0x17, 0xc6, 0xb5, 0xaf, 0x79, 0xa4, - 0x33, 0xbe, 0x4b, 0x4f, 0x14, 0xad, 0xdf, 0x8f, 0x74, 0xd6, 0x7f, 0xd2, 0x82, 0x94, 0x8d, 0x9e, - 0x52, 0x49, 0x59, 0xb9, 0x2a, 0xa9, 0x8b, 0x30, 0x14, 0x06, 0x1e, 0x49, 0x67, 0xd6, 0xc1, 0x81, - 0x47, 0x30, 0x83, 0x50, 0x8c, 0x38, 0x51, 0x48, 0x4c, 0xe8, 0x97, 0x2d, 0x71, 0x8d, 0x7a, 0x06, - 0x86, 0x3d, 0xb2, 0x4f, 0xa4, 0x36, 0x42, 0xf1, 0xe4, 0x9b, 0xb4, 0x10, 0x73, 0x98, 0xfd, 0x4b, - 0x43, 0xf0, 0x54, 0x4f, 0x17, 0x5b, 0x7a, 0x65, 0x69, 0x39, 0x31, 0xb9, 0xe7, 0x1c, 0xa4, 0xe3, - 0x7e, 0x5f, 0xe3, 0xc5, 0x58, 0xc2, 0x99, 0x45, 0x31, 0x0f, 0x1d, 0x9a, 0x52, 0xe0, 0x89, 0x88, - 0xa1, 0x02, 0x6a, 0x2a, 0x8e, 0x8a, 0x27, 0xa1, 0x38, 0xba, 0x02, 0x10, 0x45, 0xde, 0xaa, 0x4f, - 0x25, 0xb0, 0xa6, 0x30, 0x55, 0x4e, 0x42, 0xcc, 0xd6, 0x6f, 0x0a, 0x08, 0xd6, 0xb0, 0x50, 0x05, - 0x66, 0xda, 0x61, 0x10, 0x73, 0x7d, 0x68, 0x85, 0x1b, 0xc9, 0x0c, 0x9b, 0xde, 0x8d, 0xb5, 0x14, - 0x1c, 0x77, 0xd5, 0x40, 0xaf, 0xc1, 0xb8, 0xf0, 0x78, 0xac, 0x05, 0x81, 0x27, 0x54, 0x35, 0xca, - 0xe4, 0xa2, 0x9e, 0x80, 0xb0, 0x8e, 0xa7, 0x55, 0x63, 0x4a, 0xd6, 0xd1, 0xcc, 0x6a, 0x5c, 0xd1, - 0xaa, 0xe1, 0xa5, 0xc2, 0x07, 0x8d, 0x0d, 0x14, 0x3e, 0x28, 0x51, 0x5e, 0x95, 0x06, 0x7e, 0x57, - 0x82, 0xbe, 0xea, 0x9e, 0x9f, 0x1f, 0x82, 0x33, 0x62, 0xe1, 0x3c, 0xea, 0xe5, 0x72, 0xbb, 0x7b, - 0xb9, 0x9c, 0x84, 0x7a, 0xeb, 0xdb, 0x6b, 0xe6, 0xb4, 0xd7, 0xcc, 0xaf, 0x16, 0x61, 0x84, 0x4f, - 0xc5, 0x29, 0xc8, 0xf0, 0x6b, 0x42, 0xe9, 0xd7, 0x23, 0x70, 0x0e, 0xef, 0xcb, 0x42, 0xc5, 0x89, - 0x1d, 0x7e, 0x7e, 0x29, 0x36, 0x9a, 0xa8, 0x07, 0xd1, 0x82, 0xc1, 0x68, 0xe7, 0x52, 0x5a, 0x2d, - 0xe0, 0x34, 0x34, 0xb6, 0xfb, 0x15, 0x80, 0x28, 0x0e, 0x5d, 0xbf, 0x45, 0x69, 0x88, 0x10, 0x4c, - 0xcf, 0xf7, 0x68, 0xbd, 0xae, 0x90, 0x79, 0x1f, 0x92, 0x25, 0xa8, 0x00, 0x58, 0xa3, 0x38, 0xf7, - 0x3a, 0x94, 0x14, 0x72, 0x3f, 0x15, 0xc0, 0x84, 0x7e, 0xea, 0x7d, 0x11, 0xa6, 0x53, 0x6d, 0x1d, - 0x4b, 0x83, 0xf0, 0xcb, 0x16, 0x4c, 0xf3, 0x2e, 0xaf, 0xfa, 0xfb, 0x62, 0xb3, 0x7f, 0x08, 0x67, - 0xbd, 0x8c, 0x4d, 0x27, 0x66, 0x74, 0xf0, 0x4d, 0xaa, 0x34, 0x06, 0x59, 0x50, 0x9c, 0xd9, 0x06, - 0xba, 0x0c, 0x63, 0xdc, 0x05, 0xc7, 0xf1, 0x84, 0xdb, 0xc4, 0x04, 0x4f, 0xc5, 0xc1, 0xcb, 0xb0, - 0x82, 0xda, 0xbf, 0x6f, 0xc1, 0x2c, 0xef, 0xf9, 0x0d, 0x72, 0xa0, 0x6e, 0xc7, 0x1f, 0x67, 0xdf, - 0x45, 0xa6, 0x91, 0x42, 0x4e, 0xa6, 0x11, 0xfd, 0xd3, 0x8a, 0x3d, 0x3f, 0xed, 0xe7, 0x2c, 0x10, - 0x2b, 0xf0, 0x14, 0xee, 0x81, 0xdf, 0x69, 0xde, 0x03, 0xe7, 0xf2, 0x17, 0x75, 0xce, 0x05, 0xf0, - 0x2f, 0x2c, 0x98, 0xe1, 0x08, 0xc9, 0x43, 0xe4, 0xc7, 0x3a, 0x0f, 0x83, 0xa4, 0xbf, 0x53, 0xf9, - 0xc6, 0xb3, 0x3f, 0xca, 0x98, 0xac, 0xa1, 0x9e, 0x93, 0xd5, 0x94, 0x1b, 0xe8, 0x18, 0x69, 0x1d, - 0x8f, 0x1d, 0x1c, 0xd7, 0xfe, 0x53, 0x0b, 0x10, 0x6f, 0xc6, 0x38, 0x97, 0xe9, 0x69, 0xc7, 0x4a, - 0x35, 0x4d, 0x50, 0xc2, 0x6a, 0x14, 0x04, 0x6b, 0x58, 0x27, 0x32, 0x3c, 0xa9, 0xd7, 0xe4, 0x62, - 0xff, 0xd7, 0xe4, 0x63, 0x8c, 0xe8, 0xdf, 0x1a, 0x82, 0xb4, 0x8d, 0x36, 0xba, 0x03, 0x13, 0x0d, - 0xa7, 0xed, 0x6c, 0xb9, 0x9e, 0x1b, 0xbb, 0x24, 0xea, 0x65, 0x86, 0xb2, 0xa2, 0xe1, 0x89, 0x77, - 0x42, 0xad, 0x04, 0x1b, 0x74, 0xd0, 0x02, 0x40, 0x3b, 0x74, 0xf7, 0x5d, 0x8f, 0xb4, 0xd8, 0x55, - 0x98, 0x39, 0x6a, 0x71, 0xdb, 0x0a, 0x59, 0x8a, 0x35, 0x8c, 0x0c, 0xc7, 0x9e, 0xe2, 0xa3, 0x73, - 0xec, 0x19, 0x3a, 0xa6, 0x63, 0xcf, 0xf0, 0x40, 0x8e, 0x3d, 0x18, 0x1e, 0x93, 0x67, 0x37, 0xfd, - 0xbf, 0xe6, 0x7a, 0x44, 0x08, 0x6c, 0xdc, 0x7d, 0x6b, 0xee, 0xc1, 0xe1, 0xfc, 0x63, 0x38, 0x13, - 0x03, 0xe7, 0xd4, 0x44, 0x5f, 0x82, 0xb2, 0xe3, 0x79, 0xc1, 0x3d, 0x35, 0x6a, 0xab, 0x51, 0xc3, - 0xf1, 0x92, 0x58, 0xf1, 0x63, 0xcb, 0x4f, 0x3e, 0x38, 0x9c, 0x2f, 0x2f, 0xe5, 0xe0, 0xe0, 0xdc, - 0xda, 0xf6, 0x2e, 0x9c, 0xa9, 0x93, 0x50, 0x66, 0x8a, 0x55, 0x5b, 0x6c, 0x13, 0x4a, 0x61, 0x8a, - 0xa9, 0x0c, 0x14, 0xa3, 0x45, 0x8b, 0xe3, 0x29, 0x99, 0x48, 0x42, 0xc8, 0xfe, 0x73, 0x0b, 0x46, - 0x85, 0xdd, 0xf7, 0x29, 0xc8, 0x32, 0x4b, 0x86, 0x3e, 0x72, 0x3e, 0x9b, 0xf1, 0xb2, 0xce, 0xe4, - 0x6a, 0x22, 0xab, 0x29, 0x4d, 0xe4, 0xd3, 0xbd, 0x88, 0xf4, 0xd6, 0x41, 0xfe, 0x78, 0x11, 0xa6, - 0x4c, 0x9b, 0xf7, 0x53, 0x18, 0x82, 0x0d, 0x18, 0x8d, 0x84, 0x83, 0x45, 0x21, 0xdf, 0x10, 0x36, - 0x3d, 0x89, 0x89, 0x95, 0x8b, 0x70, 0xa9, 0x90, 0x44, 0x32, 0x3d, 0x37, 0x8a, 0x8f, 0xd0, 0x73, - 0xa3, 0x9f, 0xdb, 0xc1, 0xd0, 0x49, 0xb8, 0x1d, 0xd8, 0xbf, 0xc6, 0x98, 0xbf, 0x5e, 0x7e, 0x0a, - 0x72, 0xc1, 0x35, 0xf3, 0x98, 0xb0, 0x7b, 0xac, 0x2c, 0xd1, 0xa9, 0x1c, 0xf9, 0xe0, 0x9f, 0x5a, - 0x30, 0x2e, 0x10, 0x4f, 0xa1, 0xdb, 0xdf, 0x65, 0x76, 0xfb, 0x89, 0x1e, 0xdd, 0xce, 0xe9, 0xef, - 0xdf, 0x2f, 0xa8, 0xfe, 0xd6, 0x82, 0x30, 0x1e, 0x28, 0x77, 0xc8, 0x18, 0xbd, 0x0d, 0x06, 0x8d, - 0xc0, 0x13, 0x87, 0xf9, 0x93, 0x89, 0x07, 0x2f, 0x2f, 0x3f, 0xd2, 0x7e, 0x63, 0x85, 0xcd, 0x1c, - 0x4c, 0x83, 0x30, 0x16, 0x07, 0x68, 0xe2, 0x60, 0x1a, 0x84, 0x31, 0x66, 0x10, 0xd4, 0x04, 0x88, - 0x9d, 0xb0, 0x45, 0x62, 0x5a, 0x26, 0x82, 0x01, 0xe4, 0xef, 0xc2, 0x4e, 0xec, 0x7a, 0x0b, 0xae, - 0x1f, 0x47, 0x71, 0xb8, 0x50, 0xf5, 0xe3, 0x5b, 0x21, 0xbf, 0x1b, 0x68, 0x2e, 0xb9, 0x8a, 0x16, - 0xd6, 0xe8, 0x4a, 0x9f, 0x30, 0xd6, 0xc6, 0xb0, 0xf9, 0x50, 0xb8, 0x21, 0xca, 0xb1, 0xc2, 0xb0, - 0x5f, 0x67, 0x3c, 0x99, 0x0d, 0xd0, 0xf1, 0xbc, 0x65, 0x7f, 0x67, 0x4c, 0x0d, 0x2d, 0x7b, 0x25, - 0xa8, 0xe8, 0x3e, 0xb9, 0xbd, 0x59, 0x20, 0x6d, 0x58, 0xf7, 0x2f, 0x48, 0x1c, 0x77, 0xd1, 0x77, - 0x77, 0xbd, 0x1f, 0xbf, 0xd4, 0x87, 0x97, 0x1e, 0xe3, 0xc5, 0x98, 0x05, 0xa0, 0x65, 0x81, 0x3a, - 0xab, 0xb5, 0x74, 0x76, 0x97, 0x15, 0x09, 0xc0, 0x09, 0x0e, 0x5a, 0x14, 0x37, 0x4b, 0xae, 0x9f, - 0x7b, 0x22, 0x75, 0xb3, 0x94, 0x9f, 0xaf, 0x5d, 0x2d, 0x5f, 0x86, 0x71, 0x95, 0x31, 0xaf, 0xc6, - 0x13, 0x8f, 0x89, 0xd0, 0x08, 0xab, 0x49, 0x31, 0xd6, 0x71, 0xd0, 0x26, 0x4c, 0x47, 0x3c, 0x9d, - 0x9f, 0x8a, 0x80, 0xc5, 0xf5, 0x06, 0xcf, 0xcb, 0x77, 0xe7, 0xba, 0x09, 0x3e, 0x62, 0x45, 0x7c, - 0xb3, 0x4a, 0xc7, 0xae, 0x34, 0x09, 0xf4, 0x26, 0x4c, 0x79, 0x7a, 0x5a, 0xf3, 0x9a, 0x50, 0x2b, - 0x28, 0xb3, 0x4c, 0x23, 0xe9, 0x79, 0x0d, 0xa7, 0xb0, 0xa9, 0x10, 0xa0, 0x97, 0x88, 0xa8, 0x6d, - 0x8e, 0xdf, 0x22, 0x91, 0xc8, 0xf7, 0xc5, 0x84, 0x80, 0x9b, 0x39, 0x38, 0x38, 0xb7, 0x36, 0xba, - 0x0a, 0x13, 0xf2, 0xf3, 0x35, 0xb7, 0xc5, 0xc4, 0xf8, 0x57, 0x83, 0x61, 0x03, 0x13, 0xdd, 0x83, - 0x73, 0xf2, 0xff, 0x66, 0xe8, 0x6c, 0x6f, 0xbb, 0x0d, 0xe1, 0x35, 0xca, 0x3d, 0x20, 0x96, 0xa4, - 0x4b, 0xc5, 0x6a, 0x16, 0xd2, 0xd1, 0xe1, 0xfc, 0x45, 0x31, 0x6a, 0x99, 0x70, 0x36, 0x89, 0xd9, - 0xf4, 0xd1, 0x3a, 0x9c, 0xd9, 0x21, 0x8e, 0x17, 0xef, 0xac, 0xec, 0x90, 0xc6, 0xae, 0xdc, 0x44, - 0xcc, 0x19, 0x52, 0x33, 0x99, 0xbd, 0xde, 0x8d, 0x82, 0xb3, 0xea, 0xa1, 0x77, 0xa1, 0xdc, 0xee, - 0x6c, 0x79, 0x6e, 0xb4, 0xb3, 0x11, 0xc4, 0xec, 0xa9, 0x5b, 0x25, 0x9c, 0x13, 0x5e, 0x93, 0xca, - 0x11, 0xb4, 0x96, 0x83, 0x87, 0x73, 0x29, 0xa0, 0x0f, 0xe1, 0x5c, 0x6a, 0x31, 0x08, 0x1f, 0xae, - 0xa9, 0xfc, 0x18, 0x98, 0xf5, 0xac, 0x0a, 0xc2, 0x27, 0x2b, 0x0b, 0x84, 0xb3, 0x9b, 0xf8, 0x68, - 0x06, 0x10, 0x1f, 0xd0, 0xca, 0x9a, 0x74, 0x83, 0xde, 0x83, 0x09, 0x7d, 0x15, 0x89, 0x03, 0xe6, - 0x52, 0xbf, 0x14, 0xfe, 0x42, 0x36, 0x52, 0x2b, 0x4a, 0x87, 0x61, 0x83, 0xa2, 0x4d, 0x20, 0xfb, - 0xfb, 0xd0, 0x4d, 0x18, 0x6b, 0x78, 0x2e, 0xf1, 0xe3, 0x6a, 0xad, 0x97, 0xb7, 0xff, 0x8a, 0xc0, - 0x11, 0x03, 0x26, 0x82, 0x06, 0xf2, 0x32, 0xac, 0x28, 0xd8, 0xbf, 0x51, 0x80, 0xf9, 0x3e, 0x11, - 0x28, 0x53, 0x3a, 0x40, 0x6b, 0x20, 0x1d, 0xe0, 0x92, 0x4c, 0x9f, 0xb7, 0x91, 0xba, 0x7f, 0xa6, - 0x52, 0xe3, 0x25, 0xb7, 0xd0, 0x34, 0xfe, 0xc0, 0x76, 0x93, 0xba, 0x1a, 0x71, 0xa8, 0xaf, 0x45, - 0xaf, 0xf1, 0x7c, 0x30, 0x3c, 0xb8, 0x44, 0x9f, 0xab, 0x0a, 0xb6, 0x7f, 0xad, 0x00, 0xe7, 0xd4, - 0x10, 0x7e, 0xeb, 0x0e, 0xdc, 0xed, 0xee, 0x81, 0x3b, 0x01, 0x45, 0xba, 0x7d, 0x0b, 0x46, 0xea, - 0x07, 0x51, 0x23, 0xf6, 0x06, 0x10, 0x80, 0x9e, 0x31, 0xa3, 0xde, 0xa8, 0x63, 0xda, 0x88, 0x7c, - 0xf3, 0x37, 0x2c, 0x98, 0xde, 0x5c, 0xa9, 0xd5, 0x83, 0xc6, 0x2e, 0x89, 0x97, 0xb8, 0x9a, 0x08, - 0x0b, 0xf9, 0xc7, 0x7a, 0x48, 0xb9, 0x26, 0x4b, 0x62, 0xba, 0x08, 0x43, 0x3b, 0x41, 0x14, 0xa7, - 0x5f, 0xd9, 0xae, 0x07, 0x51, 0x8c, 0x19, 0xc4, 0xfe, 0x03, 0x0b, 0x86, 0x59, 0xd2, 0xd7, 0x7e, - 0xc9, 0x81, 0x07, 0xf9, 0x2e, 0xf4, 0x1a, 0x8c, 0x90, 0xed, 0x6d, 0xd2, 0x88, 0xc5, 0xac, 0x4a, - 0x37, 0xbd, 0x91, 0x55, 0x56, 0x4a, 0x0f, 0x7d, 0xd6, 0x18, 0xff, 0x8b, 0x05, 0x32, 0xba, 0x0b, - 0xa5, 0xd8, 0xdd, 0x23, 0x4b, 0xcd, 0xa6, 0x78, 0xa7, 0x78, 0x08, 0xaf, 0xc8, 0x4d, 0x49, 0x00, - 0x27, 0xb4, 0xec, 0xaf, 0x15, 0x00, 0x12, 0x57, 0xe3, 0x7e, 0x9f, 0xb8, 0xdc, 0x95, 0xff, 0xf8, - 0x52, 0x46, 0xfe, 0x63, 0x94, 0x10, 0xcc, 0xc8, 0x7e, 0xac, 0x86, 0xa9, 0x38, 0xd0, 0x30, 0x0d, - 0x1d, 0x67, 0x98, 0x56, 0x60, 0x36, 0x71, 0x95, 0x36, 0xe3, 0x46, 0xb0, 0x88, 0xf4, 0x9b, 0x69, - 0x20, 0xee, 0xc6, 0xb7, 0x7f, 0xd0, 0x02, 0xe1, 0x6e, 0x30, 0xc0, 0x62, 0x7e, 0x47, 0xa6, 0x2a, - 0x35, 0x02, 0xd9, 0x5e, 0xcc, 0xf7, 0xbf, 0x10, 0xe1, 0x6b, 0xd5, 0xe1, 0x61, 0x04, 0xad, 0x35, - 0x68, 0xd9, 0x4d, 0x10, 0xd0, 0x0a, 0x61, 0x4a, 0x86, 0xfe, 0xbd, 0xb9, 0x02, 0xd0, 0x64, 0xb8, - 0x5a, 0xea, 0x43, 0xc5, 0xaa, 0x2a, 0x0a, 0x82, 0x35, 0x2c, 0xfb, 0x47, 0x0b, 0x30, 0x2e, 0x03, - 0xa7, 0xd2, 0x7b, 0x7c, 0xff, 0x56, 0x8e, 0x95, 0x35, 0x81, 0xe5, 0x0a, 0xa5, 0x84, 0x55, 0x70, - 0x7d, 0x3d, 0x57, 0xa8, 0x04, 0xe0, 0x04, 0x07, 0x3d, 0x07, 0xa3, 0x51, 0x67, 0x8b, 0xa1, 0xa7, - 0x8c, 0xe8, 0xeb, 0xbc, 0x18, 0x4b, 0x38, 0xfa, 0x12, 0xcc, 0xf0, 0x7a, 0x61, 0xd0, 0x76, 0x5a, - 0x5c, 0x83, 0x34, 0xac, 0xbc, 0xda, 0x66, 0xd6, 0x53, 0xb0, 0xa3, 0xc3, 0xf9, 0xb3, 0xe9, 0x32, - 0xa6, 0x7b, 0xec, 0xa2, 0x62, 0xbf, 0x07, 0xa8, 0x3b, 0x16, 0x2c, 0x7a, 0x8b, 0x9b, 0x49, 0xb8, - 0x21, 0x69, 0xf6, 0x52, 0x2a, 0xea, 0x4e, 0x58, 0xd2, 0x90, 0x95, 0xd7, 0xc2, 0xaa, 0x3e, 0xdd, - 0x79, 0x33, 0x69, 0x97, 0x1c, 0x74, 0x1d, 0x46, 0x38, 0x53, 0x15, 0xe4, 0x7b, 0xbc, 0x59, 0x69, - 0x8e, 0x3c, 0x2c, 0x50, 0xbd, 0xe0, 0xcb, 0xa2, 0x3e, 0x7a, 0x17, 0xc6, 0x9b, 0xc1, 0x3d, 0xff, - 0x9e, 0x13, 0x36, 0x97, 0x6a, 0x55, 0xb1, 0x2e, 0x33, 0x65, 0xb3, 0x4a, 0x82, 0xa6, 0x3b, 0x07, - 0x31, 0xfd, 0x6c, 0x02, 0xc2, 0x3a, 0x39, 0xb4, 0xc9, 0xe2, 0x5b, 0x6d, 0xbb, 0xad, 0x75, 0xa7, - 0xdd, 0xcb, 0xae, 0x6d, 0x45, 0x22, 0x69, 0x94, 0x27, 0x45, 0x10, 0x2c, 0x0e, 0xc0, 0x09, 0x21, - 0xfb, 0xab, 0x67, 0xc0, 0xd8, 0x0f, 0x46, 0x5e, 0x06, 0xeb, 0x84, 0xf2, 0x32, 0x60, 0x18, 0x23, - 0x7b, 0xed, 0xf8, 0xa0, 0xe2, 0x86, 0xbd, 0x12, 0xfb, 0xac, 0x0a, 0x9c, 0x6e, 0x9a, 0x12, 0x82, - 0x15, 0x9d, 0xec, 0xe4, 0x19, 0xc5, 0x8f, 0x31, 0x79, 0xc6, 0xd0, 0x29, 0x26, 0xcf, 0xd8, 0x80, - 0xd1, 0x96, 0x1b, 0x63, 0xd2, 0x0e, 0x84, 0x40, 0x91, 0xb9, 0x12, 0xae, 0x71, 0x94, 0xee, 0xd0, - 0xed, 0x02, 0x80, 0x25, 0x11, 0xf4, 0x96, 0xda, 0x03, 0x23, 0xf9, 0xf2, 0x78, 0xf7, 0xf3, 0x46, - 0xe6, 0x2e, 0x10, 0xc9, 0x32, 0x46, 0x1f, 0x36, 0x59, 0xc6, 0x9a, 0x4c, 0x71, 0x31, 0x96, 0x6f, - 0x06, 0xca, 0x32, 0x58, 0xf4, 0x49, 0x6c, 0x61, 0x24, 0x03, 0x29, 0x9d, 0x5c, 0x32, 0x90, 0x1f, - 0xb4, 0xe0, 0x5c, 0x3b, 0x2b, 0x2f, 0x8e, 0x48, 0x51, 0xf1, 0xda, 0xc0, 0x89, 0x7f, 0x8c, 0x06, - 0xd9, 0xc5, 0x2c, 0x13, 0x0d, 0x67, 0x37, 0x47, 0x07, 0x3a, 0xdc, 0x6a, 0x8a, 0xbc, 0x16, 0xcf, - 0xe4, 0x64, 0x15, 0xe9, 0x91, 0x4b, 0x64, 0x33, 0x23, 0x97, 0xc5, 0xa7, 0xf3, 0x72, 0x59, 0x0c, - 0x9c, 0xc1, 0x22, 0xc9, 0x27, 0x32, 0xf9, 0x91, 0xf3, 0x89, 0xbc, 0xa5, 0xf2, 0x89, 0xf4, 0x88, - 0x22, 0xc4, 0xb3, 0x85, 0xf4, 0xcd, 0x22, 0xa2, 0x65, 0x02, 0x99, 0x3e, 0x99, 0x4c, 0x20, 0x06, - 0xb3, 0xe7, 0xc9, 0x28, 0x5e, 0xe8, 0xc3, 0xec, 0x0d, 0xba, 0xbd, 0xd9, 0x3d, 0xcf, 0x7a, 0x32, - 0xfb, 0x50, 0x59, 0x4f, 0xee, 0xe8, 0x59, 0x44, 0x50, 0x9f, 0x34, 0x19, 0x14, 0x69, 0xc0, 0xdc, - 0x21, 0x77, 0xf4, 0x23, 0xe8, 0x4c, 0x3e, 0x5d, 0x75, 0xd2, 0x74, 0xd3, 0xcd, 0x3a, 0x84, 0xba, - 0x73, 0x92, 0x9c, 0x3d, 0x9d, 0x9c, 0x24, 0xe7, 0x4e, 0x3c, 0x27, 0xc9, 0x63, 0xa7, 0x90, 0x93, - 0xe4, 0xf1, 0x8f, 0x35, 0x27, 0x49, 0xf9, 0x11, 0xe4, 0x24, 0xd9, 0x48, 0x72, 0x92, 0x9c, 0xcf, - 0x9f, 0x92, 0x0c, 0xbb, 0xb7, 0x9c, 0x4c, 0x24, 0x77, 0xa0, 0xd4, 0x96, 0x5e, 0xdb, 0x22, 0xcc, - 0x51, 0x76, 0x32, 0xc4, 0x2c, 0xd7, 0x6e, 0x3e, 0x25, 0x0a, 0x84, 0x13, 0x52, 0x94, 0x6e, 0x92, - 0x99, 0xe4, 0x89, 0x1e, 0xaa, 0xb7, 0x2c, 0xa5, 0x46, 0x7e, 0x3e, 0x12, 0xfb, 0x6f, 0x16, 0xe0, - 0x42, 0xef, 0x75, 0x9d, 0x68, 0x44, 0x6a, 0x89, 0x06, 0x3f, 0xa5, 0x11, 0xe1, 0xd7, 0x8c, 0x04, - 0x6b, 0xe0, 0xd0, 0x16, 0xd7, 0x60, 0x56, 0x19, 0xbc, 0x79, 0x6e, 0xe3, 0x40, 0x4b, 0x92, 0xa8, - 0x9c, 0x6f, 0xea, 0x69, 0x04, 0xdc, 0x5d, 0x07, 0x2d, 0xc1, 0xb4, 0x51, 0x58, 0xad, 0x88, 0xeb, - 0x84, 0x52, 0xc1, 0xd4, 0x4d, 0x30, 0x4e, 0xe3, 0xdb, 0xdf, 0xb0, 0xe0, 0xf1, 0x9c, 0x70, 0xdd, - 0x03, 0x47, 0x6e, 0xd8, 0x86, 0xe9, 0xb6, 0x59, 0xb5, 0x4f, 0x80, 0x17, 0x23, 0x28, 0xb8, 0xea, - 0x6b, 0x0a, 0x80, 0xd3, 0x44, 0x97, 0x2f, 0xff, 0xd6, 0x1f, 0x5d, 0xf8, 0xd4, 0xef, 0xfe, 0xd1, - 0x85, 0x4f, 0xfd, 0xfe, 0x1f, 0x5d, 0xf8, 0xd4, 0xff, 0xff, 0xe0, 0x82, 0xf5, 0x5b, 0x0f, 0x2e, - 0x58, 0xbf, 0xfb, 0xe0, 0x82, 0xf5, 0xfb, 0x0f, 0x2e, 0x58, 0x7f, 0xf8, 0xe0, 0x82, 0xf5, 0xb5, - 0x3f, 0xbe, 0xf0, 0xa9, 0x77, 0x0a, 0xfb, 0x2f, 0xff, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc6, - 0x04, 0x72, 0xd4, 0x90, 0xe2, 0x00, 0x00, + // 12646 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xbd, 0x5b, 0x70, 0x24, 0x47, + 0x76, 0x18, 0xba, 0xd5, 0x8d, 0x57, 0x1f, 0xbc, 0x73, 0x66, 0x48, 0x0c, 0x48, 0x4e, 0x0f, 0x8b, + 0xbb, 0xc3, 0xe1, 0x0b, 0x58, 0x0e, 0xc9, 0x25, 0xb5, 0xdc, 0xa5, 0x04, 0xa0, 0x81, 0x99, 0xe6, + 0x0c, 0x30, 0xcd, 0x6c, 0xcc, 0xcc, 0x2e, 0x45, 0xed, 0xdd, 0x42, 0x77, 0xa2, 0x51, 0x44, 0xa1, + 0xaa, 0x59, 0x55, 0x8d, 0x19, 0x30, 0xa4, 0x88, 0x7b, 0x57, 0x8f, 0x7b, 0xf5, 0xf8, 0xd8, 0xb8, + 0x52, 0xd8, 0xb2, 0xa4, 0x90, 0x23, 0x6c, 0x39, 0xa4, 0xb5, 0x6c, 0x47, 0xc8, 0x92, 0x25, 0x59, + 0x92, 0x6d, 0x59, 0x76, 0x38, 0xa4, 0x1f, 0x59, 0xf2, 0xcf, 0x2a, 0x42, 0x61, 0x58, 0x82, 0x14, + 0x76, 0xe8, 0xc3, 0x0e, 0x87, 0xf5, 0x25, 0x58, 0xb6, 0x1c, 0xf9, 0xac, 0xcc, 0xea, 0xaa, 0xee, + 0xc6, 0x10, 0x03, 0x52, 0x8a, 0xfd, 0xeb, 0xce, 0x73, 0xf2, 0x64, 0x56, 0x3e, 0x4e, 0x9e, 0x3c, + 0x79, 0x1e, 0xf0, 0xe6, 0xee, 0x1b, 0xd1, 0x82, 0x1b, 0x2c, 0xee, 0x76, 0xb6, 0x48, 0xe8, 0x93, + 0x98, 0x44, 0x8b, 0xfb, 0xc4, 0x6f, 0x06, 0xe1, 0xa2, 0x00, 0x38, 0x6d, 0x77, 0xb1, 0x11, 0x84, + 0x64, 0x71, 0xff, 0xe5, 0xc5, 0x16, 0xf1, 0x49, 0xe8, 0xc4, 0xa4, 0xb9, 0xd0, 0x0e, 0x83, 0x38, + 0x40, 0x88, 0xe3, 0x2c, 0x38, 0x6d, 0x77, 0x81, 0xe2, 0x2c, 0xec, 0xbf, 0x3c, 0xff, 0x52, 0xcb, + 0x8d, 0x77, 0x3a, 0x5b, 0x0b, 0x8d, 0x60, 0x6f, 0xb1, 0x15, 0xb4, 0x82, 0x45, 0x86, 0xba, 0xd5, + 0xd9, 0x66, 0xff, 0xd8, 0x1f, 0xf6, 0x8b, 0x93, 0x98, 0x5f, 0x4f, 0x9a, 0x21, 0x0f, 0x62, 0xe2, + 0x47, 0x6e, 0xe0, 0x47, 0x2f, 0x39, 0x6d, 0x37, 0x22, 0xe1, 0x3e, 0x09, 0x17, 0xdb, 0xbb, 0x2d, + 0x0a, 0x8b, 0x4c, 0x84, 0xc5, 0xfd, 0x97, 0xb7, 0x48, 0xec, 0x74, 0xf5, 0x68, 0xfe, 0xd5, 0x84, + 0xdc, 0x9e, 0xd3, 0xd8, 0x71, 0x7d, 0x12, 0x1e, 0x48, 0x1a, 0x8b, 0x21, 0x89, 0x82, 0x4e, 0xd8, + 0x20, 0x27, 0xaa, 0x15, 0x2d, 0xee, 0x91, 0xd8, 0xc9, 0xf8, 0xfa, 0xf9, 0xc5, 0xbc, 0x5a, 0x61, + 0xc7, 0x8f, 0xdd, 0xbd, 0xee, 0x66, 0x3e, 0xd7, 0xaf, 0x42, 0xd4, 0xd8, 0x21, 0x7b, 0x4e, 0x57, + 0xbd, 0x57, 0xf2, 0xea, 0x75, 0x62, 0xd7, 0x5b, 0x74, 0xfd, 0x38, 0x8a, 0xc3, 0x74, 0x25, 0xfb, + 0x9b, 0x16, 0x5c, 0x5e, 0xba, 0x57, 0x5f, 0xf5, 0x9c, 0x28, 0x76, 0x1b, 0xcb, 0x5e, 0xd0, 0xd8, + 0xad, 0xc7, 0x41, 0x48, 0xee, 0x06, 0x5e, 0x67, 0x8f, 0xd4, 0xd9, 0x40, 0xa0, 0x17, 0x61, 0x6c, + 0x9f, 0xfd, 0xaf, 0x56, 0xe6, 0xac, 0xcb, 0xd6, 0xd5, 0xd2, 0xf2, 0xcc, 0x6f, 0x1f, 0x96, 0x3f, + 0x75, 0x74, 0x58, 0x1e, 0xbb, 0x2b, 0xca, 0xb1, 0xc2, 0x40, 0x57, 0x60, 0x64, 0x3b, 0xda, 0x3c, + 0x68, 0x93, 0xb9, 0x02, 0xc3, 0x9d, 0x12, 0xb8, 0x23, 0x6b, 0x75, 0x5a, 0x8a, 0x05, 0x14, 0x2d, + 0x42, 0xa9, 0xed, 0x84, 0xb1, 0x1b, 0xbb, 0x81, 0x3f, 0x57, 0xbc, 0x6c, 0x5d, 0x1d, 0x5e, 0x9e, + 0x15, 0xa8, 0xa5, 0x9a, 0x04, 0xe0, 0x04, 0x87, 0x76, 0x23, 0x24, 0x4e, 0xf3, 0xb6, 0xef, 0x1d, + 0xcc, 0x0d, 0x5d, 0xb6, 0xae, 0x8e, 0x25, 0xdd, 0xc0, 0xa2, 0x1c, 0x2b, 0x0c, 0xfb, 0x27, 0x0a, + 0x30, 0xb6, 0xb4, 0xbd, 0xed, 0xfa, 0x6e, 0x7c, 0x80, 0xee, 0xc2, 0x84, 0x1f, 0x34, 0x89, 0xfc, + 0xcf, 0xbe, 0x62, 0xfc, 0xda, 0xe5, 0x85, 0xee, 0x95, 0xb9, 0xb0, 0xa1, 0xe1, 0x2d, 0xcf, 0x1c, + 0x1d, 0x96, 0x27, 0xf4, 0x12, 0x6c, 0xd0, 0x41, 0x18, 0xc6, 0xdb, 0x41, 0x53, 0x91, 0x2d, 0x30, + 0xb2, 0xe5, 0x2c, 0xb2, 0xb5, 0x04, 0x6d, 0x79, 0xfa, 0xe8, 0xb0, 0x3c, 0xae, 0x15, 0x60, 0x9d, + 0x08, 0xda, 0x82, 0x69, 0xfa, 0xd7, 0x8f, 0x5d, 0x45, 0xb7, 0xc8, 0xe8, 0x3e, 0x93, 0x47, 0x57, + 0x43, 0x5d, 0x3e, 0x77, 0x74, 0x58, 0x9e, 0x4e, 0x15, 0xe2, 0x34, 0x41, 0xfb, 0x43, 0x98, 0x5a, + 0x8a, 0x63, 0xa7, 0xb1, 0x43, 0x9a, 0x7c, 0x06, 0xd1, 0xab, 0x30, 0xe4, 0x3b, 0x7b, 0x44, 0xcc, + 0xef, 0x65, 0x31, 0xb0, 0x43, 0x1b, 0xce, 0x1e, 0x39, 0x3e, 0x2c, 0xcf, 0xdc, 0xf1, 0xdd, 0x0f, + 0x3a, 0x62, 0x55, 0xd0, 0x32, 0xcc, 0xb0, 0xd1, 0x35, 0x80, 0x26, 0xd9, 0x77, 0x1b, 0xa4, 0xe6, + 0xc4, 0x3b, 0x62, 0xbe, 0x91, 0xa8, 0x0b, 0x15, 0x05, 0xc1, 0x1a, 0x96, 0xfd, 0x00, 0x4a, 0x4b, + 0xfb, 0x81, 0xdb, 0xac, 0x05, 0xcd, 0x08, 0xed, 0xc2, 0x74, 0x3b, 0x24, 0xdb, 0x24, 0x54, 0x45, + 0x73, 0xd6, 0xe5, 0xe2, 0xd5, 0xf1, 0x6b, 0x57, 0x33, 0x3f, 0xd6, 0x44, 0x5d, 0xf5, 0xe3, 0xf0, + 0x60, 0xf9, 0x71, 0xd1, 0xde, 0x74, 0x0a, 0x8a, 0xd3, 0x94, 0xed, 0x7f, 0x5b, 0x80, 0x0b, 0x4b, + 0x1f, 0x76, 0x42, 0x52, 0x71, 0xa3, 0xdd, 0xf4, 0x0a, 0x6f, 0xba, 0xd1, 0xee, 0x46, 0x32, 0x02, + 0x6a, 0x69, 0x55, 0x44, 0x39, 0x56, 0x18, 0xe8, 0x25, 0x18, 0xa5, 0xbf, 0xef, 0xe0, 0xaa, 0xf8, + 0xe4, 0x73, 0x02, 0x79, 0xbc, 0xe2, 0xc4, 0x4e, 0x85, 0x83, 0xb0, 0xc4, 0x41, 0xeb, 0x30, 0xde, + 0x60, 0x1b, 0xb2, 0xb5, 0x1e, 0x34, 0x09, 0x9b, 0xcc, 0xd2, 0xf2, 0x0b, 0x14, 0x7d, 0x25, 0x29, + 0x3e, 0x3e, 0x2c, 0xcf, 0xf1, 0xbe, 0x09, 0x12, 0x1a, 0x0c, 0xeb, 0xf5, 0x91, 0xad, 0xf6, 0xd7, + 0x10, 0xa3, 0x04, 0x19, 0x7b, 0xeb, 0xaa, 0xb6, 0x55, 0x86, 0xd9, 0x56, 0x99, 0xc8, 0xde, 0x26, + 0xe8, 0x65, 0x18, 0xda, 0x75, 0xfd, 0xe6, 0xdc, 0x08, 0xa3, 0xf5, 0x14, 0x9d, 0xf3, 0x9b, 0xae, + 0xdf, 0x3c, 0x3e, 0x2c, 0xcf, 0x1a, 0xdd, 0xa1, 0x85, 0x98, 0xa1, 0xda, 0x7f, 0x6e, 0x41, 0x99, + 0xc1, 0xd6, 0x5c, 0x8f, 0xd4, 0x48, 0x18, 0xb9, 0x51, 0x4c, 0xfc, 0xd8, 0x18, 0xd0, 0x6b, 0x00, + 0x11, 0x69, 0x84, 0x24, 0xd6, 0x86, 0x54, 0x2d, 0x8c, 0xba, 0x82, 0x60, 0x0d, 0x8b, 0x32, 0x84, + 0x68, 0xc7, 0x09, 0xd9, 0xfa, 0x12, 0x03, 0xab, 0x18, 0x42, 0x5d, 0x02, 0x70, 0x82, 0x63, 0x30, + 0x84, 0x62, 0x3f, 0x86, 0x80, 0xbe, 0x08, 0xd3, 0x49, 0x63, 0x51, 0xdb, 0x69, 0xc8, 0x01, 0x64, + 0x5b, 0xa6, 0x6e, 0x82, 0x70, 0x1a, 0xd7, 0xfe, 0x87, 0x96, 0x58, 0x3c, 0xf4, 0xab, 0x3f, 0xe1, + 0xdf, 0x6a, 0xff, 0xaa, 0x05, 0xa3, 0xcb, 0xae, 0xdf, 0x74, 0xfd, 0x16, 0xfa, 0x2a, 0x8c, 0xd1, + 0xb3, 0xa9, 0xe9, 0xc4, 0x8e, 0xe0, 0x7b, 0x9f, 0xd5, 0xf6, 0x96, 0x3a, 0x2a, 0x16, 0xda, 0xbb, + 0x2d, 0x5a, 0x10, 0x2d, 0x50, 0x6c, 0xba, 0xdb, 0x6e, 0x6f, 0xbd, 0x4f, 0x1a, 0xf1, 0x3a, 0x89, + 0x9d, 0xe4, 0x73, 0x92, 0x32, 0xac, 0xa8, 0xa2, 0x9b, 0x30, 0x12, 0x3b, 0x61, 0x8b, 0xc4, 0x82, + 0x01, 0x66, 0x32, 0x2a, 0x5e, 0x13, 0xd3, 0x1d, 0x49, 0xfc, 0x06, 0x49, 0x8e, 0x85, 0x4d, 0x56, + 0x15, 0x0b, 0x12, 0xf6, 0x0f, 0x8d, 0xc0, 0xc5, 0x95, 0x7a, 0x35, 0x67, 0x5d, 0x5d, 0x81, 0x91, + 0x66, 0xe8, 0xee, 0x93, 0x50, 0x8c, 0xb3, 0xa2, 0x52, 0x61, 0xa5, 0x58, 0x40, 0xd1, 0x1b, 0x30, + 0xc1, 0x0f, 0xa4, 0x1b, 0x8e, 0xdf, 0xf4, 0xe4, 0x10, 0x9f, 0x17, 0xd8, 0x13, 0x77, 0x35, 0x18, + 0x36, 0x30, 0x4f, 0xb8, 0xa8, 0xae, 0xa4, 0x36, 0x63, 0xde, 0x61, 0xf7, 0x83, 0x16, 0xcc, 0xf0, + 0x66, 0x96, 0xe2, 0x38, 0x74, 0xb7, 0x3a, 0x31, 0x89, 0xe6, 0x86, 0x19, 0xa7, 0x5b, 0xc9, 0x1a, + 0xad, 0xdc, 0x11, 0x58, 0xb8, 0x9b, 0xa2, 0xc2, 0x99, 0xe0, 0x9c, 0x68, 0x77, 0x26, 0x0d, 0xc6, + 0x5d, 0xcd, 0xa2, 0xef, 0xb5, 0x60, 0xbe, 0x11, 0xf8, 0x71, 0x18, 0x78, 0x1e, 0x09, 0x6b, 0x9d, + 0x2d, 0xcf, 0x8d, 0x76, 0xf8, 0x3a, 0xc5, 0x64, 0x9b, 0x71, 0x82, 0x9c, 0x39, 0x54, 0x48, 0x62, + 0x0e, 0x2f, 0x1d, 0x1d, 0x96, 0xe7, 0x57, 0x72, 0x49, 0xe1, 0x1e, 0xcd, 0xa0, 0x5d, 0x40, 0xf4, + 0x28, 0xad, 0xc7, 0x4e, 0x8b, 0x24, 0x8d, 0x8f, 0x0e, 0xde, 0xf8, 0x63, 0x47, 0x87, 0x65, 0xb4, + 0xd1, 0x45, 0x02, 0x67, 0x90, 0x45, 0x1f, 0xc0, 0x79, 0x5a, 0xda, 0xf5, 0xad, 0x63, 0x83, 0x37, + 0x37, 0x77, 0x74, 0x58, 0x3e, 0xbf, 0x91, 0x41, 0x04, 0x67, 0x92, 0x9e, 0x5f, 0x81, 0x0b, 0x99, + 0x53, 0x85, 0x66, 0xa0, 0xb8, 0x4b, 0xb8, 0x08, 0x52, 0xc2, 0xf4, 0x27, 0x3a, 0x0f, 0xc3, 0xfb, + 0x8e, 0xd7, 0x11, 0xab, 0x14, 0xf3, 0x3f, 0x9f, 0x2f, 0xbc, 0x61, 0xd9, 0x0d, 0x98, 0x58, 0x71, + 0xda, 0xce, 0x96, 0xeb, 0xb9, 0xb1, 0x4b, 0x22, 0xf4, 0x2c, 0x14, 0x9d, 0x66, 0x93, 0x1d, 0x91, + 0xa5, 0xe5, 0x0b, 0x47, 0x87, 0xe5, 0xe2, 0x52, 0x93, 0xf2, 0x6a, 0x50, 0x58, 0x07, 0x98, 0x62, + 0xa0, 0xe7, 0x61, 0xa8, 0x19, 0x06, 0xed, 0xb9, 0x02, 0xc3, 0xa4, 0x43, 0x35, 0x54, 0x09, 0x83, + 0x76, 0x0a, 0x95, 0xe1, 0xd8, 0xbf, 0x59, 0x80, 0x27, 0x57, 0x48, 0x7b, 0x67, 0xad, 0x9e, 0xb3, + 0xe9, 0xae, 0xc2, 0xd8, 0x5e, 0xe0, 0xbb, 0x71, 0x10, 0x46, 0xa2, 0x69, 0x76, 0x9a, 0xac, 0x8b, + 0x32, 0xac, 0xa0, 0xe8, 0x32, 0x0c, 0xb5, 0x13, 0x49, 0x60, 0x42, 0x4a, 0x11, 0x4c, 0x06, 0x60, + 0x10, 0x8a, 0xd1, 0x89, 0x48, 0x28, 0x4e, 0x41, 0x85, 0x71, 0x27, 0x22, 0x21, 0x66, 0x90, 0x84, + 0x9d, 0x52, 0x46, 0x2b, 0xb6, 0x55, 0x8a, 0x9d, 0x52, 0x08, 0xd6, 0xb0, 0x50, 0x0d, 0x4a, 0x91, + 0x9a, 0xd4, 0xe1, 0xc1, 0x27, 0x75, 0x92, 0xf1, 0x5b, 0x35, 0x93, 0x09, 0x11, 0x83, 0x0d, 0x8c, + 0xf4, 0xe5, 0xb7, 0xbf, 0x5e, 0x00, 0xc4, 0x87, 0xf0, 0xaf, 0xd9, 0xc0, 0xdd, 0xe9, 0x1e, 0xb8, + 0x4c, 0xc9, 0xeb, 0x56, 0xd0, 0x70, 0xbc, 0x34, 0x0b, 0x3f, 0xad, 0xd1, 0xfb, 0x71, 0x0b, 0xd0, + 0x8a, 0xeb, 0x37, 0x49, 0x78, 0x06, 0xd7, 0x8e, 0x93, 0x1d, 0xa4, 0xb7, 0x60, 0x6a, 0xc5, 0x73, + 0x89, 0x1f, 0x57, 0x6b, 0x2b, 0x81, 0xbf, 0xed, 0xb6, 0xd0, 0xe7, 0x61, 0x8a, 0xde, 0xc2, 0x82, + 0x4e, 0x5c, 0x27, 0x8d, 0xc0, 0x67, 0x02, 0x2b, 0xbd, 0xbb, 0xa0, 0xa3, 0xc3, 0xf2, 0xd4, 0xa6, + 0x01, 0xc1, 0x29, 0x4c, 0xfb, 0x0f, 0xe9, 0x87, 0x06, 0x7b, 0xed, 0xc0, 0x27, 0x7e, 0xbc, 0x12, + 0xf8, 0x4d, 0x7e, 0xb1, 0xf9, 0x3c, 0x0c, 0xc5, 0xb4, 0xe3, 0xfc, 0x23, 0xaf, 0xc8, 0xa9, 0xa5, + 0xdd, 0x3d, 0x3e, 0x2c, 0x3f, 0xd6, 0x5d, 0x83, 0x7d, 0x10, 0xab, 0x83, 0xbe, 0x0d, 0x46, 0xa2, + 0xd8, 0x89, 0x3b, 0x91, 0xf8, 0xec, 0xa7, 0xe5, 0x67, 0xd7, 0x59, 0xe9, 0xf1, 0x61, 0x79, 0x5a, + 0x55, 0xe3, 0x45, 0x58, 0x54, 0x40, 0xcf, 0xc1, 0xe8, 0x1e, 0x89, 0x22, 0xa7, 0x25, 0x65, 0xd2, + 0x69, 0x51, 0x77, 0x74, 0x9d, 0x17, 0x63, 0x09, 0x47, 0xcf, 0xc0, 0x30, 0x09, 0xc3, 0x20, 0x14, + 0xab, 0x6a, 0x52, 0x20, 0x0e, 0xaf, 0xd2, 0x42, 0xcc, 0x61, 0xf6, 0xbf, 0xb7, 0x60, 0x5a, 0xf5, + 0x95, 0xb7, 0x75, 0x06, 0xc2, 0xc7, 0xbb, 0x00, 0x0d, 0xf9, 0x81, 0x11, 0xe3, 0x77, 0xe3, 0xd7, + 0xae, 0x64, 0x1e, 0xa9, 0x5d, 0xc3, 0x98, 0x50, 0x56, 0x45, 0x11, 0xd6, 0xa8, 0xd9, 0xff, 0xc2, + 0x82, 0x73, 0xa9, 0x2f, 0xba, 0xe5, 0x46, 0x31, 0x7a, 0xaf, 0xeb, 0xab, 0x16, 0x06, 0xfb, 0x2a, + 0x5a, 0x9b, 0x7d, 0x93, 0x5a, 0x73, 0xb2, 0x44, 0xfb, 0xa2, 0x1b, 0x30, 0xec, 0xc6, 0x64, 0x4f, + 0x7e, 0xcc, 0x33, 0x3d, 0x3f, 0x86, 0xf7, 0x2a, 0x99, 0x91, 0x2a, 0xad, 0x89, 0x39, 0x01, 0xfb, + 0x47, 0x8b, 0x50, 0xe2, 0xcb, 0x76, 0xdd, 0x69, 0x9f, 0xc1, 0x5c, 0x54, 0x61, 0x88, 0x51, 0xe7, + 0x1d, 0x7f, 0x36, 0xbb, 0xe3, 0xa2, 0x3b, 0x0b, 0xf4, 0x66, 0xc1, 0x85, 0x17, 0xc5, 0xcc, 0x68, + 0x11, 0x66, 0x24, 0x90, 0x03, 0xb0, 0xe5, 0xfa, 0x4e, 0x78, 0x40, 0xcb, 0xe6, 0x8a, 0x8c, 0xe0, + 0x4b, 0xbd, 0x09, 0x2e, 0x2b, 0x7c, 0x4e, 0x56, 0xf5, 0x35, 0x01, 0x60, 0x8d, 0xe8, 0xfc, 0xeb, + 0x50, 0x52, 0xc8, 0x27, 0x39, 0x95, 0xe7, 0xbf, 0x08, 0xd3, 0xa9, 0xb6, 0xfa, 0x55, 0x9f, 0xd0, + 0x0f, 0xf5, 0x5f, 0x63, 0x5c, 0x40, 0xf4, 0x7a, 0xd5, 0xdf, 0x17, 0xec, 0xee, 0x43, 0x38, 0xef, + 0x65, 0x70, 0x59, 0x31, 0x55, 0x83, 0x73, 0xe5, 0x27, 0xc5, 0x67, 0x9f, 0xcf, 0x82, 0xe2, 0xcc, + 0x36, 0xe8, 0x41, 0x15, 0xb4, 0xe9, 0x9a, 0x77, 0x3c, 0xd6, 0x5f, 0x71, 0x5f, 0xbc, 0x2d, 0xca, + 0xb0, 0x82, 0x52, 0x16, 0x76, 0x5e, 0x75, 0xfe, 0x26, 0x39, 0xa8, 0x13, 0x8f, 0x34, 0xe2, 0x20, + 0xfc, 0x58, 0xbb, 0xff, 0x14, 0x1f, 0x7d, 0xce, 0x01, 0xc7, 0x05, 0x81, 0xe2, 0x4d, 0x72, 0xc0, + 0xa7, 0x42, 0xff, 0xba, 0x62, 0xcf, 0xaf, 0xfb, 0x05, 0x0b, 0x26, 0xd5, 0xd7, 0x9d, 0xc1, 0x56, + 0x5f, 0x36, 0xb7, 0xfa, 0x53, 0x3d, 0x17, 0x78, 0xce, 0x26, 0xff, 0x2b, 0xc6, 0xa4, 0x04, 0x4e, + 0x2d, 0x0c, 0xe8, 0xd0, 0xd0, 0x53, 0xe5, 0xe3, 0x9c, 0x90, 0x41, 0xbe, 0xeb, 0x26, 0x39, 0xd8, + 0x0c, 0xa8, 0x80, 0x93, 0xfd, 0x5d, 0xc6, 0xac, 0x0d, 0xf5, 0x9c, 0xb5, 0x5f, 0x2a, 0xc0, 0x05, + 0x35, 0x02, 0x86, 0x08, 0xf1, 0xd7, 0x7d, 0x0c, 0x5e, 0x86, 0xf1, 0x26, 0xd9, 0x76, 0x3a, 0x5e, + 0xac, 0x54, 0x47, 0xc3, 0x5c, 0x7d, 0x58, 0x49, 0x8a, 0xb1, 0x8e, 0x73, 0x82, 0x61, 0xfb, 0x99, + 0x71, 0x76, 0x3a, 0xc4, 0x0e, 0x5d, 0xc1, 0x54, 0xbe, 0xd4, 0x14, 0x80, 0x13, 0xba, 0x02, 0x50, + 0x28, 0xfb, 0x9e, 0x81, 0x61, 0x77, 0x8f, 0x4a, 0x0b, 0x05, 0x53, 0x08, 0xa8, 0xd2, 0x42, 0xcc, + 0x61, 0xe8, 0x33, 0x30, 0xda, 0x08, 0xf6, 0xf6, 0x1c, 0xbf, 0xc9, 0x98, 0x76, 0x69, 0x79, 0x9c, + 0x0a, 0x14, 0x2b, 0xbc, 0x08, 0x4b, 0x18, 0x7a, 0x12, 0x86, 0x9c, 0xb0, 0x15, 0xcd, 0x0d, 0x31, + 0x9c, 0x31, 0xda, 0xd2, 0x52, 0xd8, 0x8a, 0x30, 0x2b, 0xa5, 0x92, 0xec, 0xfd, 0x20, 0xdc, 0x75, + 0xfd, 0x56, 0xc5, 0x0d, 0x99, 0x58, 0xaa, 0x49, 0xb2, 0xf7, 0x14, 0x04, 0x6b, 0x58, 0x68, 0x0d, + 0x86, 0xdb, 0x41, 0x18, 0x47, 0x73, 0x23, 0x6c, 0xb8, 0x9f, 0xce, 0xd9, 0x4a, 0xfc, 0x6b, 0x6b, + 0x41, 0x18, 0x27, 0x1f, 0x40, 0xff, 0x45, 0x98, 0x57, 0x47, 0xdf, 0x06, 0x45, 0xe2, 0xef, 0xcf, + 0x8d, 0x32, 0x2a, 0xf3, 0x59, 0x54, 0x56, 0xfd, 0xfd, 0xbb, 0x4e, 0x98, 0xf0, 0x99, 0x55, 0x7f, + 0x1f, 0xd3, 0x3a, 0xe8, 0xcb, 0x50, 0x92, 0x8f, 0x07, 0x91, 0xb8, 0x5a, 0x66, 0x2e, 0x31, 0x2c, + 0x90, 0x30, 0xf9, 0xa0, 0xe3, 0x86, 0x64, 0x8f, 0xf8, 0x71, 0x94, 0xa8, 0x7f, 0x24, 0x34, 0xc2, + 0x09, 0x35, 0xf4, 0x65, 0xa9, 0xcf, 0x58, 0x0f, 0x3a, 0x7e, 0x1c, 0xcd, 0x95, 0x58, 0xf7, 0x32, + 0x35, 0xcd, 0x77, 0x13, 0xbc, 0xb4, 0xc2, 0x83, 0x57, 0xc6, 0x06, 0x29, 0x84, 0x61, 0xd2, 0x73, + 0xf7, 0x89, 0x4f, 0xa2, 0xa8, 0x16, 0x06, 0x5b, 0x64, 0x0e, 0x58, 0xcf, 0x2f, 0x66, 0x2b, 0x60, + 0x83, 0x2d, 0xb2, 0x3c, 0x7b, 0x74, 0x58, 0x9e, 0xbc, 0xa5, 0xd7, 0xc1, 0x26, 0x09, 0x74, 0x07, + 0xa6, 0xa8, 0x08, 0xed, 0x26, 0x44, 0xc7, 0xfb, 0x11, 0x65, 0xf2, 0x33, 0x36, 0x2a, 0xe1, 0x14, + 0x11, 0xf4, 0x36, 0x94, 0x3c, 0x77, 0x9b, 0x34, 0x0e, 0x1a, 0x1e, 0x99, 0x9b, 0x60, 0x14, 0x33, + 0xb7, 0xd5, 0x2d, 0x89, 0xc4, 0xaf, 0x28, 0xea, 0x2f, 0x4e, 0xaa, 0xa3, 0xbb, 0xf0, 0x58, 0x4c, + 0xc2, 0x3d, 0xd7, 0x77, 0xe8, 0x76, 0x10, 0x12, 0x2f, 0x53, 0x63, 0x4f, 0xb2, 0xf5, 0x76, 0x49, + 0x0c, 0xdd, 0x63, 0x9b, 0x99, 0x58, 0x38, 0xa7, 0x36, 0xba, 0x0d, 0xd3, 0x6c, 0x27, 0xd4, 0x3a, + 0x9e, 0x57, 0x0b, 0x3c, 0xb7, 0x71, 0x30, 0x37, 0xc5, 0x08, 0x7e, 0x46, 0xea, 0xa9, 0xab, 0x26, + 0x98, 0xde, 0xc9, 0x93, 0x7f, 0x38, 0x5d, 0x1b, 0x6d, 0x31, 0xbd, 0x65, 0x27, 0x74, 0xe3, 0x03, + 0xba, 0x7e, 0xc9, 0x83, 0x78, 0x6e, 0xba, 0xe7, 0x0d, 0x57, 0x47, 0x55, 0xca, 0x4d, 0xbd, 0x10, + 0xa7, 0x09, 0xd2, 0xad, 0x1d, 0xc5, 0x4d, 0xd7, 0x9f, 0x9b, 0x61, 0x1c, 0x43, 0xed, 0x8c, 0x3a, + 0x2d, 0xc4, 0x1c, 0xc6, 0x74, 0x96, 0xf4, 0xc7, 0x6d, 0xca, 0x41, 0x67, 0x19, 0x62, 0xa2, 0xb3, + 0x94, 0x00, 0x9c, 0xe0, 0xd0, 0x63, 0x39, 0x8e, 0x0f, 0xe6, 0x10, 0x43, 0x55, 0xdb, 0x65, 0x73, + 0xf3, 0xcb, 0x98, 0x96, 0xa3, 0x5b, 0x30, 0x4a, 0xfc, 0xfd, 0xb5, 0x30, 0xd8, 0x9b, 0x3b, 0x97, + 0xbf, 0x67, 0x57, 0x39, 0x0a, 0x67, 0xe8, 0xc9, 0x15, 0x45, 0x14, 0x63, 0x49, 0x02, 0x3d, 0x80, + 0xb9, 0x8c, 0x19, 0xe1, 0x13, 0x70, 0x9e, 0x4d, 0xc0, 0x17, 0x44, 0xdd, 0xb9, 0xcd, 0x1c, 0xbc, + 0xe3, 0x1e, 0x30, 0x9c, 0x4b, 0x1d, 0x7d, 0x17, 0x4c, 0xf2, 0x0d, 0xc5, 0x1f, 0x3c, 0xa2, 0xb9, + 0x0b, 0xec, 0x6b, 0x2e, 0xe7, 0x6f, 0x4e, 0x8e, 0xb8, 0x7c, 0x41, 0x74, 0x68, 0x52, 0x2f, 0x8d, + 0xb0, 0x49, 0xcd, 0xde, 0x82, 0x29, 0xc5, 0xb7, 0xd8, 0xd2, 0x41, 0x65, 0x18, 0xa6, 0x0c, 0x59, + 0xea, 0x14, 0x4a, 0x74, 0xa6, 0x98, 0xa2, 0x1a, 0xf3, 0x72, 0x36, 0x53, 0xee, 0x87, 0x64, 0xf9, + 0x20, 0x26, 0xfc, 0x5e, 0x58, 0xd4, 0x66, 0x4a, 0x02, 0x70, 0x82, 0x63, 0xff, 0x6f, 0x2e, 0xf7, + 0x24, 0xcc, 0x71, 0x80, 0xe3, 0xe0, 0x45, 0x18, 0xdb, 0x09, 0xa2, 0x98, 0x62, 0xb3, 0x36, 0x86, + 0x13, 0x49, 0xe7, 0x86, 0x28, 0xc7, 0x0a, 0x03, 0xbd, 0x09, 0x93, 0x0d, 0xbd, 0x01, 0x71, 0x96, + 0xa9, 0x21, 0x30, 0x5a, 0xc7, 0x26, 0x2e, 0x7a, 0x03, 0xc6, 0xd8, 0x73, 0x65, 0x23, 0xf0, 0xc4, + 0x0d, 0x54, 0x1e, 0xc8, 0x63, 0x35, 0x51, 0x7e, 0xac, 0xfd, 0xc6, 0x0a, 0x1b, 0x5d, 0x81, 0x11, + 0xda, 0x85, 0x6a, 0x4d, 0x9c, 0x22, 0x4a, 0x2b, 0x70, 0x83, 0x95, 0x62, 0x01, 0xb5, 0xff, 0xff, + 0x82, 0x36, 0xca, 0xf4, 0x4e, 0x45, 0x50, 0x0d, 0x46, 0xef, 0x3b, 0x6e, 0xec, 0xfa, 0x2d, 0x21, + 0x2e, 0x3c, 0xd7, 0xf3, 0x48, 0x61, 0x95, 0xee, 0xf1, 0x0a, 0xfc, 0xd0, 0x13, 0x7f, 0xb0, 0x24, + 0x43, 0x29, 0x86, 0x1d, 0xdf, 0xa7, 0x14, 0x0b, 0x83, 0x52, 0xc4, 0xbc, 0x02, 0xa7, 0x28, 0xfe, + 0x60, 0x49, 0x06, 0xbd, 0x07, 0x20, 0x97, 0x25, 0x69, 0x8a, 0x67, 0xc2, 0x17, 0xfb, 0x13, 0xdd, + 0x54, 0x75, 0x96, 0xa7, 0xe8, 0x91, 0x9a, 0xfc, 0xc7, 0x1a, 0x3d, 0x3b, 0x66, 0x62, 0x55, 0x77, + 0x67, 0xd0, 0x77, 0x52, 0x4e, 0xe0, 0x84, 0x31, 0x69, 0x2e, 0xc5, 0x62, 0x70, 0x9e, 0x1f, 0x4c, + 0x2a, 0xde, 0x74, 0xf7, 0x88, 0xce, 0x35, 0x04, 0x11, 0x9c, 0xd0, 0xb3, 0x7f, 0xa5, 0x08, 0x73, + 0x79, 0xdd, 0xa5, 0x8b, 0x8e, 0x3c, 0x70, 0xe3, 0x15, 0x2a, 0x0d, 0x59, 0xe6, 0xa2, 0x5b, 0x15, + 0xe5, 0x58, 0x61, 0xd0, 0xd9, 0x8f, 0xdc, 0x96, 0xbc, 0xd4, 0x0c, 0x27, 0xb3, 0x5f, 0x67, 0xa5, + 0x58, 0x40, 0x29, 0x5e, 0x48, 0x9c, 0x48, 0xbc, 0x43, 0x6b, 0xab, 0x04, 0xb3, 0x52, 0x2c, 0xa0, + 0xba, 0xc6, 0x64, 0xa8, 0x8f, 0xc6, 0xc4, 0x18, 0xa2, 0xe1, 0xd3, 0x1d, 0x22, 0xf4, 0x15, 0x80, + 0x6d, 0xd7, 0x77, 0xa3, 0x1d, 0x46, 0x7d, 0xe4, 0xc4, 0xd4, 0x95, 0x2c, 0xb5, 0xa6, 0xa8, 0x60, + 0x8d, 0x22, 0x7a, 0x0d, 0xc6, 0xd5, 0x06, 0xac, 0x56, 0x98, 0x52, 0x5e, 0x7b, 0xe4, 0x4c, 0xb8, + 0x51, 0x05, 0xeb, 0x78, 0xf6, 0xfb, 0xe9, 0xf5, 0x22, 0x76, 0x80, 0x36, 0xbe, 0xd6, 0xa0, 0xe3, + 0x5b, 0xe8, 0x3d, 0xbe, 0xf6, 0x6f, 0x15, 0x61, 0xda, 0x68, 0xac, 0x13, 0x0d, 0xc0, 0xb3, 0xae, + 0xd3, 0x73, 0xce, 0x89, 0x89, 0xd8, 0x7f, 0x76, 0xff, 0xad, 0xa2, 0x9f, 0x85, 0x74, 0x07, 0xf0, + 0xfa, 0xe8, 0x2b, 0x50, 0xf2, 0x9c, 0x88, 0x69, 0x5f, 0x88, 0xd8, 0x77, 0x83, 0x10, 0x4b, 0xee, + 0x11, 0x4e, 0x14, 0x6b, 0x47, 0x0d, 0xa7, 0x9d, 0x90, 0xa4, 0x07, 0x32, 0x95, 0x7d, 0xa4, 0xa1, + 0x83, 0xea, 0x04, 0x15, 0x90, 0x0e, 0x30, 0x87, 0xa1, 0x37, 0x60, 0x22, 0x24, 0x6c, 0x55, 0xac, + 0x50, 0x51, 0x8e, 0x2d, 0xb3, 0xe1, 0x44, 0xe6, 0xc3, 0x1a, 0x0c, 0x1b, 0x98, 0x89, 0x28, 0x3f, + 0xd2, 0x43, 0x94, 0x7f, 0x0e, 0x46, 0xd9, 0x0f, 0xb5, 0x02, 0xd4, 0x6c, 0x54, 0x79, 0x31, 0x96, + 0xf0, 0xf4, 0x82, 0x19, 0x1b, 0x70, 0xc1, 0x3c, 0x0f, 0x53, 0x15, 0x87, 0xec, 0x05, 0xfe, 0xaa, + 0xdf, 0x6c, 0x07, 0xae, 0x1f, 0xa3, 0x39, 0x18, 0x62, 0xa7, 0x03, 0xdf, 0xdb, 0x43, 0x94, 0x02, + 0x1e, 0xa2, 0x82, 0xb9, 0xfd, 0xfb, 0x05, 0x98, 0xac, 0x10, 0x8f, 0xc4, 0x84, 0x5f, 0x65, 0x22, + 0xb4, 0x06, 0xa8, 0x15, 0x3a, 0x0d, 0x52, 0x23, 0xa1, 0x1b, 0x34, 0x75, 0x6d, 0x6c, 0x91, 0x3f, + 0x0e, 0x5d, 0xef, 0x82, 0xe2, 0x8c, 0x1a, 0xe8, 0x5d, 0x98, 0x6c, 0x87, 0xc4, 0x50, 0x22, 0x5a, + 0x79, 0xd2, 0x48, 0x4d, 0x47, 0xe4, 0x82, 0xb0, 0x51, 0x84, 0x4d, 0x52, 0xe8, 0x3b, 0x60, 0x26, + 0x08, 0xdb, 0x3b, 0x8e, 0x5f, 0x21, 0x6d, 0xe2, 0x37, 0xa9, 0xa4, 0x2f, 0x54, 0x10, 0xe7, 0x8f, + 0x0e, 0xcb, 0x33, 0xb7, 0x53, 0x30, 0xdc, 0x85, 0x8d, 0xde, 0x85, 0xd9, 0x76, 0x18, 0xb4, 0x9d, + 0x16, 0x5b, 0x28, 0x42, 0xa0, 0xe1, 0xdc, 0xe7, 0xc5, 0xa3, 0xc3, 0xf2, 0x6c, 0x2d, 0x0d, 0x3c, + 0x3e, 0x2c, 0x9f, 0x63, 0x03, 0x45, 0x4b, 0x12, 0x20, 0xee, 0x26, 0x63, 0xb7, 0xe0, 0x42, 0x25, + 0xb8, 0xef, 0xdf, 0x77, 0xc2, 0xe6, 0x52, 0xad, 0xaa, 0xe9, 0x0e, 0x36, 0xe4, 0xdd, 0x95, 0x1b, + 0x63, 0x64, 0x9e, 0x53, 0x5a, 0x4d, 0x2e, 0xbf, 0xac, 0xb9, 0x1e, 0xc9, 0xd1, 0x51, 0xfc, 0xed, + 0x82, 0xd1, 0x52, 0x82, 0xaf, 0x1e, 0x3e, 0xac, 0xdc, 0x87, 0x8f, 0x77, 0x60, 0x6c, 0xdb, 0x25, + 0x5e, 0x13, 0x93, 0x6d, 0x31, 0x33, 0xcf, 0xe6, 0xbf, 0x2f, 0xaf, 0x51, 0x4c, 0xa9, 0x93, 0xe2, + 0x37, 0xdf, 0x35, 0x51, 0x19, 0x2b, 0x32, 0x68, 0x17, 0x66, 0xe4, 0xd5, 0x4a, 0x42, 0xc5, 0x26, + 0x7e, 0xae, 0xd7, 0x7d, 0xcd, 0x24, 0xce, 0x26, 0x10, 0xa7, 0xc8, 0xe0, 0x2e, 0xc2, 0xf4, 0xaa, + 0xbb, 0x47, 0x8f, 0xab, 0x21, 0xb6, 0xa4, 0xd9, 0x55, 0x97, 0xdd, 0xda, 0x59, 0xa9, 0xfd, 0x53, + 0x16, 0x3c, 0xde, 0x35, 0x32, 0x42, 0x7b, 0x71, 0xca, 0xb3, 0x90, 0xd6, 0x26, 0x14, 0xfa, 0x6b, + 0x13, 0xec, 0x7f, 0x64, 0xc1, 0xf9, 0xd5, 0xbd, 0x76, 0x7c, 0x50, 0x71, 0xcd, 0xc7, 0x99, 0xd7, + 0x61, 0x64, 0x8f, 0x34, 0xdd, 0xce, 0x9e, 0x98, 0xb9, 0xb2, 0x64, 0xe9, 0xeb, 0xac, 0xf4, 0xf8, + 0xb0, 0x3c, 0x59, 0x8f, 0x83, 0xd0, 0x69, 0x11, 0x5e, 0x80, 0x05, 0x3a, 0x3b, 0x18, 0xdd, 0x0f, + 0xc9, 0x2d, 0x77, 0xcf, 0x95, 0xf6, 0x02, 0x3d, 0x35, 0x6a, 0x0b, 0x72, 0x40, 0x17, 0xde, 0xe9, + 0x38, 0x7e, 0xec, 0xc6, 0x07, 0xe2, 0xdd, 0x49, 0x12, 0xc1, 0x09, 0x3d, 0xfb, 0x9b, 0x16, 0x4c, + 0x4b, 0x5e, 0xb2, 0xd4, 0x6c, 0x86, 0x24, 0x8a, 0xd0, 0x3c, 0x14, 0xdc, 0xb6, 0xe8, 0x25, 0x88, + 0x5e, 0x16, 0xaa, 0x35, 0x5c, 0x70, 0xdb, 0xa8, 0x06, 0x25, 0x6e, 0x76, 0x90, 0x2c, 0xae, 0x81, + 0x8c, 0x17, 0x58, 0x0f, 0x36, 0x65, 0x4d, 0x9c, 0x10, 0x91, 0x52, 0x31, 0x3b, 0x87, 0x8a, 0xe6, + 0xa3, 0xd5, 0x0d, 0x51, 0x8e, 0x15, 0x06, 0xba, 0x0a, 0x63, 0x7e, 0xd0, 0xe4, 0x56, 0x20, 0x7c, + 0x4f, 0xb3, 0x25, 0xbb, 0x21, 0xca, 0xb0, 0x82, 0xda, 0x3f, 0x62, 0xc1, 0x84, 0xfc, 0xb2, 0x01, + 0x05, 0x74, 0xba, 0xb5, 0x12, 0xe1, 0x3c, 0xd9, 0x5a, 0x54, 0xc0, 0x66, 0x10, 0x43, 0xae, 0x2e, + 0x9e, 0x44, 0xae, 0xb6, 0x7f, 0xb2, 0x00, 0x53, 0xb2, 0x3b, 0xf5, 0xce, 0x56, 0x44, 0x62, 0xb4, + 0x09, 0x25, 0x87, 0x0f, 0x39, 0x91, 0x2b, 0xf6, 0x99, 0xec, 0x0b, 0x9d, 0x31, 0x3f, 0x89, 0xa8, + 0xb3, 0x24, 0x6b, 0xe3, 0x84, 0x10, 0xf2, 0x60, 0xd6, 0x0f, 0x62, 0x76, 0xec, 0x29, 0x78, 0xaf, + 0x87, 0x91, 0x34, 0xf5, 0x8b, 0x82, 0xfa, 0xec, 0x46, 0x9a, 0x0a, 0xee, 0x26, 0x8c, 0x56, 0xa5, + 0x12, 0xa9, 0x98, 0x7f, 0x85, 0xd3, 0x67, 0x21, 0x5b, 0x87, 0x64, 0xff, 0x86, 0x05, 0x25, 0x89, + 0x76, 0x16, 0x6f, 0x60, 0xeb, 0x30, 0x1a, 0xb1, 0x49, 0x90, 0x43, 0x63, 0xf7, 0xea, 0x38, 0x9f, + 0xaf, 0xe4, 0x34, 0xe7, 0xff, 0x23, 0x2c, 0x69, 0x30, 0x2d, 0xb8, 0xea, 0xfe, 0x27, 0x44, 0x0b, + 0xae, 0xfa, 0x93, 0x73, 0xc2, 0xfc, 0x17, 0xd6, 0x67, 0x4d, 0x55, 0x40, 0x85, 0xce, 0x76, 0x48, + 0xb6, 0xdd, 0x07, 0x69, 0xa1, 0xb3, 0xc6, 0x4a, 0xb1, 0x80, 0xa2, 0xf7, 0x60, 0xa2, 0x21, 0x95, + 0xc7, 0x09, 0x1b, 0xb8, 0xd2, 0x53, 0x15, 0xaf, 0x5e, 0x6d, 0xb8, 0x85, 0xe8, 0x8a, 0x56, 0x1f, + 0x1b, 0xd4, 0x4c, 0xcb, 0x84, 0x62, 0x3f, 0xcb, 0x84, 0x84, 0x6e, 0xee, 0xdb, 0xba, 0xfd, 0xd3, + 0x16, 0x8c, 0x70, 0x15, 0xe4, 0x60, 0x3a, 0x5b, 0xed, 0x11, 0x2b, 0x19, 0xbb, 0xbb, 0xb4, 0x50, + 0x3c, 0x4a, 0xa1, 0x75, 0x28, 0xb1, 0x1f, 0x4c, 0x15, 0x53, 0xcc, 0x37, 0x8d, 0xe5, 0xad, 0xea, + 0x1d, 0xbc, 0x2b, 0xab, 0xe1, 0x84, 0x82, 0xfd, 0x63, 0x45, 0xca, 0xaa, 0x12, 0x54, 0xe3, 0x04, + 0xb7, 0x1e, 0xdd, 0x09, 0x5e, 0x78, 0x54, 0x27, 0x78, 0x0b, 0xa6, 0x1b, 0xda, 0x93, 0x57, 0x32, + 0x93, 0x57, 0x7b, 0x2e, 0x12, 0xed, 0x75, 0x8c, 0xab, 0xe1, 0x56, 0x4c, 0x22, 0x38, 0x4d, 0x15, + 0x7d, 0x27, 0x4c, 0xf0, 0x79, 0x16, 0xad, 0x0c, 0xb1, 0x56, 0x3e, 0x93, 0xbf, 0x5e, 0xf4, 0x26, + 0xd8, 0x4a, 0xac, 0x6b, 0xd5, 0xb1, 0x41, 0xcc, 0xfe, 0x95, 0x31, 0x18, 0x5e, 0xdd, 0x27, 0x7e, + 0x7c, 0x06, 0x0c, 0xa9, 0x01, 0x53, 0xae, 0xbf, 0x1f, 0x78, 0xfb, 0xa4, 0xc9, 0xe1, 0x27, 0x39, + 0x5c, 0x1f, 0x13, 0xa4, 0xa7, 0xaa, 0x06, 0x09, 0x9c, 0x22, 0xf9, 0x28, 0x6e, 0xed, 0xd7, 0x61, + 0x84, 0xcf, 0xbd, 0xb8, 0xb2, 0x67, 0x2a, 0xd8, 0xd9, 0x20, 0x8a, 0x5d, 0x90, 0x68, 0x14, 0xb8, + 0x46, 0x5f, 0x54, 0x47, 0xef, 0xc3, 0xd4, 0xb6, 0x1b, 0x46, 0x31, 0xbd, 0x6e, 0x47, 0xb1, 0xb3, + 0xd7, 0x7e, 0x88, 0x5b, 0xba, 0x1a, 0x87, 0x35, 0x83, 0x12, 0x4e, 0x51, 0x46, 0x2d, 0x98, 0xa4, + 0x17, 0xc7, 0xa4, 0xa9, 0xd1, 0x13, 0x37, 0xa5, 0xd4, 0x70, 0xb7, 0x74, 0x42, 0xd8, 0xa4, 0x4b, + 0x99, 0x49, 0x83, 0x5d, 0x34, 0xc7, 0x98, 0x44, 0xa1, 0x98, 0x09, 0xbf, 0x61, 0x72, 0x18, 0xe5, + 0x49, 0xcc, 0x98, 0xa5, 0x64, 0xf2, 0x24, 0xcd, 0x64, 0xe5, 0xab, 0x50, 0x22, 0x74, 0x08, 0x29, + 0x61, 0xf1, 0xd8, 0xb0, 0x38, 0x58, 0x5f, 0xd7, 0xdd, 0x46, 0x18, 0x98, 0xfa, 0x91, 0x55, 0x49, + 0x09, 0x27, 0x44, 0xd1, 0x0a, 0x8c, 0x44, 0x24, 0x74, 0x49, 0x24, 0x9e, 0x1d, 0x7a, 0x4c, 0x23, + 0x43, 0xe3, 0x36, 0xd4, 0xfc, 0x37, 0x16, 0x55, 0xe9, 0xf2, 0x72, 0xd8, 0x6d, 0x88, 0xbd, 0x34, + 0x68, 0xcb, 0x6b, 0x89, 0x95, 0x62, 0x01, 0x45, 0x6f, 0xc3, 0x68, 0x48, 0x3c, 0xa6, 0x80, 0x9b, + 0x1c, 0x7c, 0x91, 0x73, 0x7d, 0x1e, 0xaf, 0x87, 0x25, 0x01, 0x74, 0x13, 0x50, 0x48, 0xa8, 0x0c, + 0xe1, 0xfa, 0x2d, 0x65, 0xe2, 0x21, 0xde, 0x0f, 0x9e, 0x10, 0xed, 0x9f, 0xc3, 0x09, 0x86, 0xb4, + 0xae, 0xc4, 0x19, 0xd5, 0xd0, 0x75, 0x98, 0x55, 0xa5, 0x55, 0x3f, 0x8a, 0x1d, 0xbf, 0x41, 0xd8, + 0xd3, 0x41, 0x29, 0x91, 0x8a, 0x70, 0x1a, 0x01, 0x77, 0xd7, 0xb1, 0xbf, 0x41, 0xc5, 0x19, 0x3a, + 0x5a, 0x67, 0x20, 0x0b, 0xbc, 0x65, 0xca, 0x02, 0x17, 0x73, 0x67, 0x2e, 0x47, 0x0e, 0x38, 0xb2, + 0x60, 0x5c, 0x9b, 0xd9, 0x64, 0xcd, 0x5a, 0x3d, 0xd6, 0x6c, 0x07, 0x66, 0xe8, 0x4a, 0xbf, 0xbd, + 0xc5, 0xdc, 0x89, 0x9a, 0x6c, 0x61, 0x16, 0x1e, 0x6e, 0x61, 0x2a, 0x43, 0xdc, 0x5b, 0x29, 0x82, + 0xb8, 0xab, 0x09, 0xf4, 0xba, 0xd4, 0x46, 0x15, 0x0d, 0xd3, 0x2d, 0xae, 0x69, 0x3a, 0x3e, 0x2c, + 0xcf, 0x68, 0x1f, 0xa2, 0x6b, 0x9f, 0xec, 0xaf, 0xca, 0x6f, 0xe4, 0xcc, 0x66, 0x11, 0x4a, 0x0d, + 0xb5, 0x58, 0x2c, 0xd3, 0x98, 0x5c, 0x2d, 0x07, 0x9c, 0xe0, 0xd0, 0x3d, 0x4a, 0xaf, 0x20, 0x69, + 0x6b, 0x43, 0x7a, 0x41, 0xc1, 0x0c, 0x62, 0xbf, 0x02, 0xb0, 0xfa, 0x80, 0x34, 0xf8, 0x52, 0xd7, + 0x1f, 0x75, 0xad, 0xfc, 0x47, 0x5d, 0xfb, 0x3f, 0x58, 0x30, 0xb5, 0xb6, 0x62, 0x5c, 0x13, 0x17, + 0x00, 0xf8, 0xdd, 0xe8, 0xde, 0xbd, 0x0d, 0xf9, 0x5e, 0xc1, 0x55, 0xce, 0xaa, 0x14, 0x6b, 0x18, + 0xe8, 0x22, 0x14, 0xbd, 0x8e, 0x2f, 0xae, 0x2c, 0xa3, 0x47, 0x87, 0xe5, 0xe2, 0xad, 0x8e, 0x8f, + 0x69, 0x99, 0x66, 0xe0, 0x57, 0x1c, 0xd8, 0xc0, 0xaf, 0xaf, 0x9b, 0x10, 0x2a, 0xc3, 0xf0, 0xfd, + 0xfb, 0x6e, 0x93, 0x1b, 0x63, 0x8b, 0xb7, 0x94, 0x7b, 0xf7, 0xaa, 0x95, 0x08, 0xf3, 0x72, 0xfb, + 0xeb, 0x45, 0x98, 0x5f, 0xf3, 0xc8, 0x83, 0x8f, 0x68, 0x90, 0x3e, 0xa8, 0x79, 0xe2, 0xc9, 0xe4, + 0xc5, 0x93, 0xda, 0x62, 0xf6, 0x1f, 0x8f, 0x6d, 0x18, 0xe5, 0x06, 0x02, 0xd2, 0x3c, 0xfd, 0xcd, + 0xac, 0xd6, 0xf3, 0x07, 0x64, 0x41, 0x68, 0xe7, 0xb8, 0x09, 0x96, 0x3a, 0x69, 0x45, 0x29, 0x96, + 0xc4, 0xe7, 0x3f, 0x0f, 0x13, 0x3a, 0xe6, 0x89, 0xac, 0xa2, 0xff, 0x9f, 0x22, 0xcc, 0xd0, 0x1e, + 0x3c, 0xd2, 0x89, 0xb8, 0xd3, 0x3d, 0x11, 0xa7, 0x6d, 0x19, 0xdb, 0x7f, 0x36, 0xde, 0x4b, 0xcf, + 0xc6, 0xcb, 0x79, 0xb3, 0x71, 0xd6, 0x73, 0xf0, 0xbd, 0x16, 0x9c, 0x5b, 0xf3, 0x82, 0xc6, 0x6e, + 0xca, 0x68, 0xf7, 0x35, 0x18, 0xa7, 0x7c, 0x3c, 0x32, 0xbc, 0x61, 0x0c, 0xff, 0x28, 0x01, 0xc2, + 0x3a, 0x9e, 0x56, 0xed, 0xce, 0x9d, 0x6a, 0x25, 0xcb, 0xad, 0x4a, 0x80, 0xb0, 0x8e, 0x67, 0xff, + 0xae, 0x05, 0x4f, 0x5d, 0x5f, 0x59, 0x4d, 0x96, 0x62, 0x97, 0x67, 0x17, 0xbd, 0x05, 0x36, 0xb5, + 0xae, 0x24, 0xb7, 0xc0, 0x0a, 0xeb, 0x85, 0x80, 0x7e, 0x52, 0xbc, 0x16, 0x7f, 0xce, 0x82, 0x73, + 0xd7, 0xdd, 0x98, 0x1e, 0xcb, 0x69, 0x1f, 0x23, 0x7a, 0x2e, 0x47, 0x6e, 0x1c, 0x84, 0x07, 0x69, + 0x1f, 0x23, 0xac, 0x20, 0x58, 0xc3, 0xe2, 0x2d, 0xef, 0xbb, 0x11, 0xed, 0x69, 0xc1, 0x54, 0x45, + 0x61, 0x51, 0x8e, 0x15, 0x06, 0xfd, 0xb0, 0xa6, 0x1b, 0xb2, 0xab, 0xc4, 0x81, 0xe0, 0xb0, 0xea, + 0xc3, 0x2a, 0x12, 0x80, 0x13, 0x1c, 0xfb, 0xa7, 0x2c, 0xb8, 0x70, 0xdd, 0xeb, 0x44, 0x31, 0x09, + 0xb7, 0x23, 0xa3, 0xb3, 0xaf, 0x40, 0x89, 0xc8, 0xeb, 0xba, 0xe8, 0xab, 0x12, 0x30, 0xd5, 0x3d, + 0x9e, 0x3b, 0x38, 0x29, 0xbc, 0x01, 0x2c, 0xe0, 0x4f, 0x66, 0xb9, 0xfd, 0x8b, 0x05, 0x98, 0xbc, + 0xb1, 0xb9, 0x59, 0xbb, 0x4e, 0x62, 0x71, 0x8a, 0xf5, 0x57, 0x35, 0x63, 0x4d, 0x63, 0xd6, 0xeb, + 0x52, 0xd4, 0x89, 0x5d, 0x6f, 0x81, 0x7b, 0xd4, 0x2e, 0x54, 0xfd, 0xf8, 0x76, 0x58, 0x8f, 0x43, + 0xd7, 0x6f, 0x65, 0xea, 0xd8, 0xe4, 0x59, 0x5b, 0xcc, 0x3b, 0x6b, 0xd1, 0x2b, 0x30, 0xc2, 0x5c, + 0x7a, 0xe5, 0xf5, 0xe4, 0x09, 0x75, 0xa7, 0x60, 0xa5, 0xc7, 0x87, 0xe5, 0xd2, 0x1d, 0x5c, 0xe5, + 0x7f, 0xb0, 0x40, 0x45, 0x77, 0x60, 0x7c, 0x27, 0x8e, 0xdb, 0x37, 0x88, 0xd3, 0x24, 0xa1, 0xe4, + 0x0e, 0x97, 0xb2, 0xb8, 0x03, 0x1d, 0x04, 0x8e, 0x96, 0x6c, 0xa8, 0xa4, 0x2c, 0xc2, 0x3a, 0x1d, + 0xbb, 0x0e, 0x90, 0xc0, 0x4e, 0x49, 0xbf, 0x60, 0xff, 0x89, 0x05, 0xa3, 0xdc, 0xbb, 0x2a, 0x44, + 0x5f, 0x80, 0x21, 0xf2, 0x80, 0x34, 0x84, 0xe4, 0x98, 0xd9, 0xe1, 0x44, 0xf0, 0xe0, 0xda, 0x72, + 0xfa, 0x1f, 0xb3, 0x5a, 0xe8, 0x06, 0x8c, 0xd2, 0xde, 0x5e, 0x57, 0xae, 0x66, 0x4f, 0xe7, 0x7d, + 0xb1, 0x9a, 0x76, 0x2e, 0xab, 0x88, 0x22, 0x2c, 0xab, 0x33, 0xcd, 0x6f, 0xa3, 0x5d, 0xa7, 0x0c, + 0x2c, 0xee, 0x75, 0xce, 0x6e, 0xae, 0xd4, 0x38, 0x92, 0xa0, 0xc6, 0x35, 0xbf, 0xb2, 0x10, 0x27, + 0x44, 0xec, 0x4d, 0x28, 0xd1, 0x49, 0x5d, 0xf2, 0x5c, 0xa7, 0xb7, 0xd2, 0xf9, 0x05, 0x28, 0x49, + 0x05, 0x70, 0x24, 0x1c, 0x74, 0x18, 0x55, 0xa9, 0x1f, 0x8e, 0x70, 0x02, 0xb7, 0xb7, 0xe1, 0x3c, + 0xb3, 0xa6, 0x70, 0xe2, 0x1d, 0x63, 0x8f, 0xf5, 0x5f, 0xcc, 0x2f, 0x8a, 0x8b, 0x18, 0x9f, 0x99, + 0x39, 0xcd, 0xa3, 0x60, 0x42, 0x52, 0x4c, 0x2e, 0x65, 0xf6, 0x9f, 0x0d, 0xc1, 0x13, 0xd5, 0x7a, + 0xbe, 0xe3, 0xdd, 0x1b, 0x30, 0xc1, 0xc5, 0x34, 0xba, 0xb4, 0x1d, 0x4f, 0xb4, 0xab, 0xde, 0x1a, + 0x37, 0x35, 0x18, 0x36, 0x30, 0xd1, 0x53, 0x50, 0x74, 0x3f, 0xf0, 0xd3, 0xc6, 0xb9, 0xd5, 0x77, + 0x36, 0x30, 0x2d, 0xa7, 0x60, 0x2a, 0xf1, 0x71, 0x56, 0xaa, 0xc0, 0x4a, 0xea, 0x7b, 0x0b, 0xa6, + 0xdc, 0xa8, 0x11, 0xb9, 0x55, 0x9f, 0xf2, 0x99, 0xc4, 0x69, 0x33, 0x51, 0x12, 0xd0, 0x4e, 0x2b, + 0x28, 0x4e, 0x61, 0x6b, 0x7c, 0x7d, 0x78, 0x60, 0xa9, 0xb1, 0xaf, 0xc7, 0x0a, 0x15, 0x88, 0xdb, + 0xec, 0xeb, 0x22, 0x66, 0x28, 0x28, 0x04, 0x62, 0xfe, 0xc1, 0x11, 0x96, 0x30, 0x7a, 0x03, 0x6b, + 0xec, 0x38, 0xed, 0xa5, 0x4e, 0xbc, 0x53, 0x71, 0xa3, 0x46, 0xb0, 0x4f, 0xc2, 0x03, 0x76, 0x79, + 0x1e, 0x4b, 0x6e, 0x60, 0x0a, 0xb0, 0x72, 0x63, 0xa9, 0x46, 0x31, 0x71, 0x77, 0x1d, 0x53, 0x2a, + 0x84, 0xd3, 0x90, 0x0a, 0x97, 0x60, 0x5a, 0x36, 0x53, 0x27, 0x11, 0x3b, 0x23, 0xc6, 0x59, 0xc7, + 0x94, 0x3b, 0xb5, 0x28, 0x56, 0xdd, 0x4a, 0xe3, 0xa3, 0xd7, 0x61, 0xd2, 0xf5, 0xdd, 0xd8, 0x75, + 0xe2, 0x20, 0x64, 0x27, 0x2c, 0xbf, 0x27, 0xb3, 0x47, 0xd1, 0xaa, 0x0e, 0xc0, 0x26, 0x9e, 0xfd, + 0xa7, 0x43, 0x30, 0xcb, 0xa6, 0xed, 0x5b, 0x2b, 0xec, 0x13, 0xb3, 0xc2, 0xee, 0x74, 0xaf, 0xb0, + 0xd3, 0x10, 0x77, 0x3f, 0xce, 0x65, 0xf6, 0x3e, 0x94, 0x94, 0x7d, 0xb5, 0x74, 0x11, 0xb0, 0x72, + 0x5c, 0x04, 0xfa, 0x4b, 0x1f, 0xf2, 0x19, 0xb7, 0x98, 0xf9, 0x8c, 0xfb, 0x77, 0x2c, 0x48, 0xcc, + 0x4c, 0xd1, 0x0d, 0x28, 0xb5, 0x03, 0x66, 0xca, 0x11, 0x4a, 0xfb, 0xa8, 0x27, 0x32, 0x0f, 0x2a, + 0x7e, 0x28, 0xf2, 0xf1, 0xab, 0xc9, 0x1a, 0x38, 0xa9, 0x8c, 0x96, 0x61, 0xb4, 0x1d, 0x92, 0x7a, + 0xcc, 0x5c, 0x39, 0xfb, 0xd2, 0xe1, 0x6b, 0x84, 0xe3, 0x63, 0x59, 0xd1, 0xfe, 0x25, 0x0b, 0x80, + 0xbf, 0x94, 0x3a, 0x7e, 0x8b, 0x9c, 0x81, 0xf6, 0xb7, 0x02, 0x43, 0x51, 0x9b, 0x34, 0x7a, 0x19, + 0xd9, 0x24, 0xfd, 0xa9, 0xb7, 0x49, 0x23, 0x19, 0x70, 0xfa, 0x0f, 0xb3, 0xda, 0xf6, 0xf7, 0x03, + 0x4c, 0x25, 0x68, 0xd5, 0x98, 0xec, 0xa1, 0x97, 0x0c, 0x47, 0xb9, 0x8b, 0x29, 0x47, 0xb9, 0x12, + 0xc3, 0xd6, 0x14, 0x8d, 0xef, 0x43, 0x71, 0xcf, 0x79, 0x20, 0x34, 0x49, 0x2f, 0xf4, 0xee, 0x06, + 0xa5, 0xbf, 0xb0, 0xee, 0x3c, 0xe0, 0x77, 0xa6, 0x17, 0xe4, 0x02, 0x59, 0x77, 0x1e, 0x1c, 0x73, + 0x53, 0x1a, 0xc6, 0xa4, 0x6e, 0xb9, 0x51, 0xfc, 0xb5, 0xff, 0x94, 0xfc, 0x67, 0xcb, 0x8e, 0x36, + 0xc2, 0xda, 0x72, 0x7d, 0xf1, 0x6e, 0x38, 0x50, 0x5b, 0xae, 0x9f, 0x6e, 0xcb, 0xf5, 0x07, 0x68, + 0xcb, 0xf5, 0xd1, 0x87, 0x30, 0x2a, 0xde, 0xe8, 0x99, 0xfd, 0xbc, 0xa9, 0xa5, 0xca, 0x6b, 0x4f, + 0x3c, 0xf1, 0xf3, 0x36, 0x17, 0xe5, 0x9d, 0x50, 0x94, 0xf6, 0x6d, 0x57, 0x36, 0x88, 0xfe, 0x96, + 0x05, 0x53, 0xe2, 0x37, 0x26, 0x1f, 0x74, 0x48, 0x14, 0x0b, 0xd9, 0xf3, 0x73, 0x83, 0xf7, 0x41, + 0x54, 0xe4, 0x5d, 0xf9, 0x9c, 0x64, 0xb3, 0x26, 0xb0, 0x6f, 0x8f, 0x52, 0xbd, 0x40, 0xff, 0xc4, + 0x82, 0xf3, 0x7b, 0xce, 0x03, 0xde, 0x22, 0x2f, 0xc3, 0x4e, 0xec, 0x06, 0xc2, 0x1f, 0xe0, 0x0b, + 0x83, 0x4d, 0x7f, 0x57, 0x75, 0xde, 0x49, 0x69, 0x3a, 0x7c, 0x3e, 0x0b, 0xa5, 0x6f, 0x57, 0x33, + 0xfb, 0x35, 0xbf, 0x0d, 0x63, 0x72, 0xbd, 0x65, 0xdc, 0xbc, 0x2b, 0xba, 0x60, 0x7d, 0x62, 0x13, + 0x09, 0xdd, 0x5b, 0x8d, 0xb6, 0x23, 0xd6, 0xda, 0x23, 0x6d, 0xe7, 0x7d, 0x98, 0xd0, 0xd7, 0xd8, + 0x23, 0x6d, 0xeb, 0x03, 0x38, 0x97, 0xb1, 0x96, 0x1e, 0x69, 0x93, 0xf7, 0xe1, 0x62, 0xee, 0xfa, + 0x78, 0x94, 0x0d, 0xdb, 0xbf, 0x68, 0xe9, 0x7c, 0xf0, 0x0c, 0x54, 0xf0, 0x2b, 0xa6, 0x0a, 0xfe, + 0x52, 0xef, 0x9d, 0x93, 0xa3, 0x87, 0x7f, 0x4f, 0xef, 0x34, 0xe5, 0xea, 0xe8, 0x6d, 0x18, 0xf1, + 0x68, 0x89, 0x34, 0x0e, 0xb1, 0xfb, 0xef, 0xc8, 0x44, 0x96, 0x62, 0xe5, 0x11, 0x16, 0x14, 0xec, + 0x5f, 0xb5, 0x60, 0xe8, 0x0c, 0x46, 0x02, 0x9b, 0x23, 0xf1, 0x52, 0x2e, 0x69, 0x11, 0x9a, 0x6b, + 0x01, 0x3b, 0xf7, 0x57, 0x65, 0xf8, 0xb1, 0x9c, 0x81, 0xf9, 0x5f, 0x05, 0x18, 0xa7, 0x4d, 0x49, + 0x2b, 0xc6, 0x37, 0x61, 0xd2, 0x73, 0xb6, 0x88, 0x27, 0xdf, 0x71, 0xd3, 0x0a, 0x93, 0x5b, 0x3a, + 0x10, 0x9b, 0xb8, 0xb4, 0xf2, 0xb6, 0xfe, 0xa4, 0x2d, 0xe4, 0x17, 0x55, 0xd9, 0x78, 0xef, 0xc6, + 0x26, 0x2e, 0xbd, 0xbb, 0xdf, 0x77, 0xe2, 0xc6, 0x8e, 0x50, 0xa6, 0xa8, 0xee, 0xde, 0xa3, 0x85, + 0x98, 0xc3, 0xa8, 0x00, 0x27, 0x57, 0xe7, 0x5d, 0x7a, 0x33, 0x0c, 0x7c, 0x21, 0x1e, 0x2b, 0x01, + 0x0e, 0x9b, 0x60, 0x9c, 0xc6, 0xcf, 0xf0, 0x98, 0x1f, 0x66, 0x36, 0x9a, 0x03, 0x78, 0xcc, 0xa3, + 0x1a, 0x9c, 0x77, 0xfd, 0x86, 0xd7, 0x69, 0x92, 0x3b, 0x3e, 0x97, 0xee, 0x3c, 0xf7, 0x43, 0xd2, + 0x14, 0x02, 0xb4, 0x32, 0xa7, 0xad, 0x66, 0xe0, 0xe0, 0xcc, 0x9a, 0xf6, 0xff, 0x05, 0xe7, 0x6e, + 0x05, 0x4e, 0x73, 0xd9, 0xf1, 0x1c, 0xbf, 0x41, 0xc2, 0xaa, 0xdf, 0xea, 0x6b, 0x25, 0xa6, 0xdb, + 0x74, 0x15, 0xfa, 0xd9, 0x74, 0xd9, 0x3b, 0x80, 0xf4, 0x06, 0x84, 0x6d, 0x32, 0x86, 0x51, 0x97, + 0x37, 0x25, 0x96, 0xff, 0xb3, 0xd9, 0xd2, 0x75, 0x57, 0xcf, 0x34, 0xab, 0x5b, 0x5e, 0x80, 0x25, + 0x21, 0xfb, 0x0d, 0xc8, 0xf4, 0x47, 0xec, 0xaf, 0xb6, 0xb1, 0x5f, 0x83, 0x59, 0x56, 0xf3, 0x64, + 0x2a, 0x05, 0xfb, 0x07, 0x2d, 0x98, 0xde, 0x48, 0xc5, 0xb8, 0xb8, 0xc2, 0xde, 0x5a, 0x33, 0xf4, + 0xee, 0x75, 0x56, 0x8a, 0x05, 0xf4, 0xd4, 0xf5, 0x7b, 0x7f, 0x65, 0x41, 0x49, 0x45, 0x67, 0x3a, + 0x03, 0xa1, 0x76, 0xc5, 0x10, 0x6a, 0x33, 0xf5, 0x4e, 0xaa, 0x3b, 0x79, 0x32, 0x2d, 0xba, 0xa9, + 0xa2, 0x35, 0xf4, 0x50, 0x39, 0x25, 0x64, 0xb8, 0x6f, 0xff, 0x94, 0x19, 0xd2, 0x41, 0xc6, 0x6f, + 0x60, 0x66, 0x5a, 0x0a, 0xf7, 0x13, 0x62, 0xa6, 0xa5, 0xfa, 0x93, 0xc3, 0xfd, 0x6a, 0x5a, 0x97, + 0xd9, 0xa9, 0xf0, 0xed, 0xcc, 0x95, 0x81, 0xed, 0x4d, 0x15, 0x24, 0xa5, 0x2c, 0x5c, 0x13, 0x44, + 0xe9, 0x31, 0x63, 0x64, 0xe2, 0x1f, 0x8f, 0xa4, 0x95, 0x54, 0xb1, 0x6f, 0xc0, 0x74, 0x6a, 0xc0, + 0xd0, 0x6b, 0x30, 0xdc, 0xde, 0x71, 0x22, 0x92, 0x32, 0x4d, 0x1d, 0xae, 0xd1, 0xc2, 0xe3, 0xc3, + 0xf2, 0x94, 0xaa, 0xc0, 0x4a, 0x30, 0xc7, 0xb6, 0xff, 0xbb, 0x05, 0x43, 0x1b, 0x41, 0xf3, 0x2c, + 0x16, 0xd3, 0x5b, 0xc6, 0x62, 0x7a, 0x32, 0x2f, 0x0e, 0x61, 0xee, 0x3a, 0x5a, 0x4b, 0xad, 0xa3, + 0x4b, 0xb9, 0x14, 0x7a, 0x2f, 0xa1, 0x3d, 0x18, 0x67, 0xd1, 0x0d, 0x85, 0xa9, 0xec, 0x2b, 0xc6, + 0xfd, 0xaa, 0x9c, 0xba, 0x5f, 0x4d, 0x6b, 0xa8, 0xda, 0x2d, 0xeb, 0x39, 0x18, 0x15, 0xe6, 0x9a, + 0x69, 0xa7, 0x0d, 0x81, 0x8b, 0x25, 0xdc, 0xfe, 0xe9, 0x22, 0x18, 0xd1, 0x14, 0xd1, 0x6f, 0x58, + 0xb0, 0x10, 0x72, 0x2f, 0xd8, 0x66, 0xa5, 0x13, 0xba, 0x7e, 0xab, 0xde, 0xd8, 0x21, 0xcd, 0x8e, + 0xe7, 0xfa, 0xad, 0x6a, 0xcb, 0x0f, 0x54, 0xf1, 0xea, 0x03, 0xd2, 0xe8, 0xb0, 0x37, 0x97, 0x3e, + 0xa1, 0x1b, 0x95, 0x39, 0xd4, 0xb5, 0xa3, 0xc3, 0xf2, 0x02, 0x3e, 0x11, 0x6d, 0x7c, 0xc2, 0xbe, + 0xa0, 0xdf, 0xb5, 0x60, 0x91, 0x07, 0x19, 0x1c, 0xbc, 0xff, 0x3d, 0x6e, 0xa3, 0x35, 0x49, 0x2a, + 0x21, 0xb2, 0x49, 0xc2, 0xbd, 0xe5, 0xd7, 0xc5, 0x80, 0x2e, 0xd6, 0x4e, 0xd6, 0x16, 0x3e, 0x69, + 0xe7, 0xec, 0x7f, 0x5d, 0x84, 0x49, 0x3a, 0x8a, 0x49, 0x6c, 0x9a, 0xd7, 0x8c, 0x25, 0xf1, 0x74, + 0x6a, 0x49, 0xcc, 0x1a, 0xc8, 0xa7, 0x13, 0x96, 0x26, 0x82, 0x59, 0xcf, 0x89, 0xe2, 0x1b, 0xc4, + 0x09, 0xe3, 0x2d, 0xe2, 0x70, 0x33, 0xa1, 0xe2, 0x89, 0x4d, 0x9a, 0x94, 0xfa, 0xeb, 0x56, 0x9a, + 0x18, 0xee, 0xa6, 0x8f, 0xf6, 0x01, 0x31, 0x5b, 0xa7, 0xd0, 0xf1, 0x23, 0xfe, 0x2d, 0xae, 0x78, + 0x8f, 0x39, 0x59, 0xab, 0xf3, 0xa2, 0x55, 0x74, 0xab, 0x8b, 0x1a, 0xce, 0x68, 0x41, 0xb3, 0x61, + 0x1b, 0x1e, 0xd4, 0x86, 0x6d, 0xa4, 0x8f, 0x67, 0xd4, 0x1e, 0xcc, 0x88, 0x59, 0xd9, 0x76, 0x5b, + 0xe2, 0x90, 0xfe, 0x72, 0xca, 0xc6, 0xd5, 0x1a, 0xdc, 0x50, 0xa9, 0x8f, 0x81, 0xab, 0xfd, 0xdd, + 0x70, 0x8e, 0x36, 0x67, 0xfa, 0xf1, 0x44, 0x88, 0xc0, 0xf4, 0x6e, 0x67, 0x8b, 0x78, 0x24, 0x96, + 0x65, 0xa2, 0xd1, 0x4c, 0xb1, 0xdf, 0xac, 0x9d, 0xc8, 0x96, 0x37, 0x4d, 0x12, 0x38, 0x4d, 0xd3, + 0xfe, 0x59, 0x0b, 0x98, 0xb5, 0xfc, 0x19, 0x1c, 0x7f, 0x5f, 0x34, 0x8f, 0xbf, 0xb9, 0x3c, 0x0e, + 0x94, 0x73, 0xf2, 0xbd, 0xca, 0xa7, 0xa5, 0x16, 0x06, 0x0f, 0x0e, 0xa4, 0xec, 0xdf, 0x5f, 0xe2, + 0xfa, 0x9f, 0x16, 0xdf, 0x90, 0x2a, 0x28, 0x00, 0xfa, 0x1e, 0x18, 0x6b, 0x38, 0x6d, 0xa7, 0xc1, + 0xc3, 0xd8, 0xe6, 0x6a, 0x7f, 0x8c, 0x4a, 0x0b, 0x2b, 0xa2, 0x06, 0xd7, 0x66, 0x7c, 0x56, 0x7e, + 0xa5, 0x2c, 0xee, 0xab, 0xc1, 0x50, 0x4d, 0xce, 0xef, 0xc2, 0xa4, 0x41, 0xec, 0x91, 0x5e, 0x7d, + 0xbf, 0x87, 0x1f, 0x17, 0xea, 0xc6, 0xb2, 0x07, 0xb3, 0xbe, 0xf6, 0x9f, 0x32, 0x47, 0x29, 0x4e, + 0x7f, 0xba, 0xdf, 0x81, 0xc0, 0x38, 0xa9, 0xe6, 0x0d, 0x90, 0x22, 0x83, 0xbb, 0x29, 0xdb, 0x7f, + 0xcf, 0x82, 0xc7, 0x75, 0x44, 0x2d, 0x5e, 0x43, 0x3f, 0x7d, 0x72, 0x05, 0xc6, 0x82, 0x36, 0x09, + 0x9d, 0xe4, 0x4e, 0x76, 0x55, 0x0e, 0xfa, 0x6d, 0x51, 0x7e, 0x2c, 0xe2, 0x09, 0x4a, 0xea, 0xb2, + 0x1c, 0xab, 0x9a, 0xc8, 0x86, 0x11, 0x36, 0x18, 0x91, 0x88, 0xa5, 0xc1, 0xcc, 0x14, 0xd9, 0xd3, + 0x6a, 0x84, 0x05, 0xc4, 0xfe, 0x7e, 0x8b, 0x2f, 0x2c, 0xbd, 0xeb, 0xe8, 0x03, 0x98, 0xd9, 0xa3, + 0xd7, 0xb7, 0xd5, 0x07, 0xed, 0x90, 0xab, 0xd1, 0xe5, 0x38, 0xbd, 0xd0, 0x6f, 0x9c, 0xb4, 0x8f, + 0x4c, 0x8c, 0xd9, 0xd6, 0x53, 0xc4, 0x70, 0x17, 0x79, 0xfb, 0x2f, 0x0a, 0x7c, 0x27, 0x32, 0xa9, + 0xee, 0x39, 0x18, 0x6d, 0x07, 0xcd, 0x95, 0x6a, 0x05, 0x8b, 0x11, 0x52, 0xec, 0xaa, 0xc6, 0x8b, + 0xb1, 0x84, 0xa3, 0x6b, 0x00, 0xe4, 0x41, 0x4c, 0x42, 0xdf, 0xf1, 0x94, 0xe1, 0x87, 0x12, 0x9e, + 0x56, 0x15, 0x04, 0x6b, 0x58, 0xb4, 0x4e, 0x3b, 0x0c, 0xf6, 0xdd, 0x26, 0xf3, 0x36, 0x2c, 0x9a, + 0x75, 0x6a, 0x0a, 0x82, 0x35, 0x2c, 0x7a, 0x55, 0xee, 0xf8, 0x11, 0x3f, 0x00, 0x9d, 0x2d, 0x11, + 0x20, 0x6f, 0x2c, 0xb9, 0x2a, 0xdf, 0xd1, 0x81, 0xd8, 0xc4, 0x45, 0x4b, 0x30, 0x12, 0x3b, 0xcc, + 0x9c, 0x61, 0x38, 0xdf, 0x2c, 0x71, 0x93, 0x62, 0xe8, 0x71, 0x4d, 0x69, 0x05, 0x2c, 0x2a, 0xa2, + 0x77, 0x25, 0x0b, 0xe6, 0x2c, 0x59, 0xd8, 0x03, 0xe7, 0x2e, 0x5b, 0x9d, 0x7d, 0xeb, 0x3c, 0x58, + 0xd8, 0x19, 0x1b, 0xb4, 0xec, 0xef, 0x2b, 0x01, 0x24, 0xd2, 0x1e, 0xfa, 0xb0, 0x8b, 0x45, 0xbc, + 0xd8, 0x5b, 0x3e, 0x3c, 0x3d, 0xfe, 0x80, 0x7e, 0xc0, 0x82, 0x71, 0xc7, 0xf3, 0x82, 0x86, 0x13, + 0xb3, 0x51, 0x2e, 0xf4, 0x66, 0x51, 0xa2, 0xfd, 0xa5, 0xa4, 0x06, 0xef, 0xc2, 0x2b, 0xd2, 0x52, + 0x41, 0x83, 0xf4, 0xed, 0x85, 0xde, 0x30, 0xfa, 0xac, 0xbc, 0x04, 0xf0, 0xe5, 0x31, 0x9f, 0xbe, + 0x04, 0x94, 0x18, 0x37, 0xd6, 0xe4, 0x7f, 0x74, 0xc7, 0x88, 0x24, 0x37, 0x94, 0x1f, 0x92, 0xc2, + 0x10, 0x7a, 0xfa, 0x05, 0x91, 0x43, 0x35, 0xdd, 0x2f, 0x6a, 0x38, 0x3f, 0x6e, 0x8b, 0x26, 0x5d, + 0xf7, 0xf1, 0x89, 0x7a, 0x1f, 0xa6, 0x9b, 0xe6, 0x71, 0x2b, 0x56, 0xd3, 0xb3, 0x79, 0x74, 0x53, + 0xa7, 0x73, 0x72, 0xc0, 0xa6, 0x00, 0x38, 0x4d, 0x18, 0xd5, 0xb8, 0x87, 0x5a, 0xd5, 0xdf, 0x0e, + 0x84, 0x5d, 0xb9, 0x9d, 0x3b, 0x97, 0x07, 0x51, 0x4c, 0xf6, 0x28, 0x66, 0x72, 0x8e, 0x6e, 0x88, + 0xba, 0x58, 0x51, 0x41, 0x6f, 0xc3, 0x08, 0x73, 0x1b, 0x8e, 0xe6, 0xc6, 0xf2, 0xf5, 0x80, 0x66, + 0xc4, 0x8b, 0x64, 0x53, 0xb1, 0xbf, 0x11, 0x16, 0x14, 0xd0, 0x0d, 0x19, 0x16, 0x27, 0xaa, 0xfa, + 0x77, 0x22, 0xc2, 0xc2, 0xe2, 0x94, 0x96, 0x3f, 0x9d, 0x44, 0xbc, 0xe1, 0xe5, 0x99, 0x11, 0xcc, + 0x8d, 0x9a, 0x54, 0x5e, 0x11, 0xff, 0x65, 0x60, 0xf4, 0x39, 0xc8, 0xef, 0x9e, 0x19, 0x3c, 0x3d, + 0x19, 0xce, 0xbb, 0x26, 0x09, 0x9c, 0xa6, 0x79, 0xa6, 0xc7, 0xe7, 0xbc, 0x0f, 0x33, 0xe9, 0x8d, + 0xf5, 0x48, 0x8f, 0xeb, 0x3f, 0x19, 0x82, 0x29, 0x73, 0x21, 0xa0, 0x45, 0x28, 0x09, 0x22, 0x2a, + 0x88, 0xa7, 0x5a, 0xdb, 0xeb, 0x12, 0x80, 0x13, 0x1c, 0x16, 0xc4, 0x94, 0x55, 0xd7, 0xec, 0x00, + 0x93, 0x20, 0xa6, 0x0a, 0x82, 0x35, 0x2c, 0x2a, 0x44, 0x6f, 0x05, 0x41, 0xac, 0x8e, 0x02, 0xb5, + 0x5a, 0x96, 0x59, 0x29, 0x16, 0x50, 0x7a, 0x04, 0xec, 0x92, 0xd0, 0x27, 0x9e, 0xa9, 0xc9, 0x54, + 0x47, 0xc0, 0x4d, 0x1d, 0x88, 0x4d, 0x5c, 0x7a, 0xa4, 0x05, 0x11, 0x5b, 0x7e, 0x42, 0x54, 0x4f, + 0xec, 0x2a, 0xeb, 0xdc, 0x6d, 0x5e, 0xc2, 0xd1, 0x97, 0xe1, 0x71, 0xe5, 0xe5, 0x8e, 0xb9, 0x66, + 0x58, 0xb6, 0x38, 0x62, 0xdc, 0xac, 0x1f, 0x5f, 0xc9, 0x46, 0xc3, 0x79, 0xf5, 0xd1, 0x5b, 0x30, + 0x25, 0x44, 0x60, 0x49, 0x71, 0xd4, 0x34, 0x56, 0xb8, 0x69, 0x40, 0x71, 0x0a, 0x1b, 0x55, 0x60, + 0x86, 0x96, 0x30, 0x29, 0x54, 0x52, 0xe0, 0xde, 0xfa, 0xea, 0xac, 0xbf, 0x99, 0x82, 0xe3, 0xae, + 0x1a, 0x68, 0x09, 0xa6, 0xb9, 0x8c, 0x42, 0xef, 0x94, 0x6c, 0x1e, 0x84, 0xbb, 0x87, 0xda, 0x08, + 0xb7, 0x4d, 0x30, 0x4e, 0xe3, 0xa3, 0x37, 0x60, 0xc2, 0x09, 0x1b, 0x3b, 0x6e, 0x4c, 0x1a, 0x71, + 0x27, 0xe4, 0x7e, 0x20, 0x9a, 0xb5, 0xc7, 0x92, 0x06, 0xc3, 0x06, 0xa6, 0xfd, 0x21, 0x9c, 0xcb, + 0xf0, 0x14, 0xa3, 0x0b, 0xc7, 0x69, 0xbb, 0xf2, 0x9b, 0x52, 0x16, 0x92, 0x4b, 0xb5, 0xaa, 0xfc, + 0x1a, 0x0d, 0x8b, 0xae, 0x4e, 0xa6, 0x12, 0xd7, 0xb2, 0x17, 0xa8, 0xd5, 0xb9, 0x26, 0x01, 0x38, + 0xc1, 0xb1, 0x7f, 0x07, 0x40, 0x53, 0xe8, 0x0c, 0x60, 0x1f, 0xf7, 0x06, 0x4c, 0xc8, 0x94, 0x1b, + 0x5a, 0xa8, 0x77, 0xf5, 0x99, 0xd7, 0x35, 0x18, 0x36, 0x30, 0x69, 0xdf, 0x7c, 0x15, 0xa8, 0x3e, + 0x65, 0x8f, 0x99, 0x84, 0xa9, 0x4f, 0x70, 0xd0, 0x8b, 0x30, 0x16, 0x11, 0x6f, 0xfb, 0x96, 0xeb, + 0xef, 0x8a, 0x85, 0xad, 0xb8, 0x70, 0x5d, 0x94, 0x63, 0x85, 0x81, 0x96, 0xa1, 0xd8, 0x71, 0x9b, + 0x62, 0x29, 0xcb, 0x03, 0xbf, 0x78, 0xa7, 0x5a, 0x39, 0x3e, 0x2c, 0x3f, 0x9d, 0x97, 0x49, 0x84, + 0x5e, 0xed, 0xa3, 0x05, 0xba, 0xfd, 0x68, 0xe5, 0xac, 0xb7, 0x81, 0x91, 0x13, 0xbe, 0x0d, 0x5c, + 0x03, 0x10, 0x5f, 0x2d, 0xd7, 0x72, 0x31, 0x99, 0xb5, 0xeb, 0x0a, 0x82, 0x35, 0x2c, 0x14, 0xc1, + 0x6c, 0x23, 0x24, 0x8e, 0xbc, 0x43, 0x73, 0x9f, 0xa7, 0xb1, 0x87, 0x57, 0x10, 0xac, 0xa4, 0x89, + 0xe1, 0x6e, 0xfa, 0x28, 0x80, 0xd9, 0xa6, 0x08, 0xaa, 0x90, 0x34, 0x5a, 0x3a, 0xb9, 0xa3, 0x15, + 0x33, 0xc8, 0x49, 0x13, 0xc2, 0xdd, 0xb4, 0xd1, 0x57, 0x60, 0x5e, 0x16, 0x76, 0xc7, 0xb1, 0x60, + 0xdb, 0xa5, 0xc8, 0xe3, 0xaf, 0x57, 0x72, 0xb1, 0x70, 0x0f, 0x0a, 0x08, 0xc3, 0x08, 0x7b, 0x4b, + 0x8a, 0xe6, 0xc6, 0xd9, 0x39, 0xf7, 0x7c, 0xbe, 0x32, 0x80, 0xae, 0xf5, 0x05, 0xf6, 0x0e, 0x25, + 0x4c, 0xca, 0x93, 0x67, 0x39, 0x56, 0x88, 0x05, 0x25, 0xb4, 0x0d, 0xe3, 0x8e, 0xef, 0x07, 0xb1, + 0xc3, 0x45, 0xa8, 0x89, 0x7c, 0xd9, 0x4f, 0x23, 0xbc, 0x94, 0xd4, 0xe0, 0xd4, 0x95, 0x95, 0xaa, + 0x06, 0xc1, 0x3a, 0x61, 0x74, 0x1f, 0xa6, 0x83, 0xfb, 0x94, 0x39, 0x4a, 0x2d, 0x45, 0x34, 0x37, + 0xc9, 0xda, 0x7a, 0x75, 0x40, 0x3d, 0xad, 0x51, 0x59, 0xe3, 0x5a, 0x26, 0x51, 0x9c, 0x6e, 0x05, + 0x2d, 0x18, 0xda, 0xea, 0xa9, 0xc4, 0x9d, 0x25, 0xd1, 0x56, 0xeb, 0xca, 0x69, 0x16, 0x17, 0x85, + 0x9b, 0x48, 0xb3, 0xdd, 0x3f, 0x9d, 0x8a, 0x8b, 0x92, 0x80, 0xb0, 0x8e, 0x87, 0x76, 0x60, 0x22, + 0x79, 0xb2, 0x0a, 0x23, 0x16, 0x95, 0x6d, 0xfc, 0xda, 0xb5, 0xc1, 0x3e, 0xae, 0xaa, 0xd5, 0xe4, + 0x37, 0x07, 0xbd, 0x04, 0x1b, 0x94, 0xe7, 0xbf, 0x0d, 0xc6, 0xb5, 0x89, 0x3d, 0x51, 0x14, 0xdc, + 0xb7, 0x60, 0x26, 0x3d, 0x75, 0x27, 0xf2, 0x20, 0xf8, 0x1f, 0x05, 0x98, 0xce, 0x78, 0xb9, 0x62, + 0xd9, 0x48, 0x52, 0x0c, 0x35, 0x49, 0x3e, 0x62, 0xb2, 0xc5, 0xc2, 0x00, 0x6c, 0x51, 0xf2, 0xe8, + 0x62, 0x2e, 0x8f, 0x16, 0xac, 0x70, 0xe8, 0xa3, 0xb0, 0x42, 0xf3, 0xf4, 0x19, 0x1e, 0xe8, 0xf4, + 0x39, 0x05, 0xf6, 0x69, 0x1c, 0x60, 0xa3, 0x03, 0x1c, 0x60, 0x3f, 0x56, 0x80, 0x99, 0xb4, 0x85, + 0xef, 0x19, 0xbc, 0x77, 0xbc, 0x6d, 0xbc, 0x77, 0x64, 0xe7, 0xf6, 0x49, 0xdb, 0x1d, 0xe7, 0xbd, + 0x7d, 0xe0, 0xd4, 0xdb, 0xc7, 0xf3, 0x03, 0x51, 0xeb, 0xfd, 0x0e, 0xf2, 0xf7, 0x0b, 0x70, 0x21, + 0x5d, 0x65, 0xc5, 0x73, 0xdc, 0xbd, 0x33, 0x18, 0x9b, 0xdb, 0xc6, 0xd8, 0xbc, 0x34, 0xc8, 0xd7, + 0xb0, 0xae, 0xe5, 0x0e, 0xd0, 0xbd, 0xd4, 0x00, 0x2d, 0x0e, 0x4e, 0xb2, 0xf7, 0x28, 0x7d, 0xb3, + 0x08, 0x97, 0x32, 0xeb, 0x25, 0xcf, 0x05, 0x6b, 0xc6, 0x73, 0xc1, 0xb5, 0xd4, 0x73, 0x81, 0xdd, + 0xbb, 0xf6, 0xe9, 0xbc, 0x1f, 0x08, 0x77, 0x68, 0x16, 0x31, 0xf4, 0x21, 0xdf, 0x0e, 0x0c, 0x77, + 0x68, 0x45, 0x08, 0x9b, 0x74, 0xff, 0x26, 0xbd, 0x19, 0xfc, 0x8e, 0x05, 0x17, 0x33, 0xe7, 0xe6, + 0x0c, 0xf4, 0xea, 0x1b, 0xa6, 0x5e, 0xfd, 0xb9, 0x81, 0x57, 0x6b, 0x8e, 0xa2, 0xfd, 0x4f, 0x8b, + 0x39, 0xdf, 0xc2, 0x34, 0x93, 0xb7, 0x61, 0xdc, 0x69, 0x34, 0x48, 0x14, 0xad, 0x07, 0x4d, 0x15, + 0x41, 0xf3, 0x25, 0x26, 0x6d, 0x24, 0xc5, 0xc7, 0x87, 0xe5, 0xf9, 0x34, 0x89, 0x04, 0x8c, 0x75, + 0x0a, 0x66, 0xd0, 0xdf, 0xc2, 0xa9, 0x06, 0xfd, 0xbd, 0x06, 0xb0, 0xaf, 0xf4, 0x15, 0x69, 0x35, + 0xa7, 0xa6, 0xc9, 0xd0, 0xb0, 0xd0, 0x77, 0xb1, 0x5b, 0x00, 0x37, 0x06, 0xe2, 0x4b, 0xf1, 0x95, + 0x01, 0xe7, 0x4a, 0x37, 0x2c, 0xe2, 0x71, 0x37, 0x94, 0x4a, 0x58, 0x91, 0x44, 0xdf, 0x01, 0x33, + 0x11, 0x0f, 0xeb, 0xb4, 0xe2, 0x39, 0x11, 0x73, 0xe2, 0x12, 0xab, 0x90, 0x05, 0xd3, 0xa8, 0xa7, + 0x60, 0xb8, 0x0b, 0x1b, 0xad, 0xc9, 0x8f, 0x62, 0x31, 0xa8, 0xf8, 0xc2, 0xbc, 0x92, 0x7c, 0x90, + 0xc8, 0x85, 0x76, 0x3e, 0x3d, 0xfc, 0x6c, 0xe0, 0xb5, 0x9a, 0xf6, 0x8f, 0x0d, 0xc1, 0x13, 0x3d, + 0x98, 0x18, 0x5a, 0x32, 0x8d, 0x00, 0x5e, 0x48, 0xeb, 0xff, 0xe6, 0x33, 0x2b, 0x1b, 0x0a, 0xc1, + 0xd4, 0x5a, 0x29, 0x7c, 0xe4, 0xb5, 0xf2, 0xc3, 0x96, 0xa6, 0x99, 0xe5, 0xa6, 0xc2, 0x5f, 0x3c, + 0x21, 0x73, 0x3e, 0x45, 0x55, 0xed, 0x76, 0x86, 0xbe, 0xf3, 0xda, 0xc0, 0xdd, 0x19, 0x58, 0x01, + 0x7a, 0xb6, 0x4f, 0x46, 0x5f, 0xb3, 0xe0, 0xe9, 0xcc, 0xfe, 0x1a, 0x46, 0x4b, 0x8b, 0x50, 0x6a, + 0xd0, 0x42, 0xcd, 0x31, 0x34, 0xf1, 0x98, 0x97, 0x00, 0x9c, 0xe0, 0x18, 0xb6, 0x49, 0x85, 0xbe, + 0xb6, 0x49, 0xff, 0xca, 0x82, 0xae, 0x05, 0x7c, 0x06, 0x9c, 0xb4, 0x6a, 0x72, 0xd2, 0x4f, 0x0f, + 0x32, 0x97, 0x39, 0x4c, 0xf4, 0x0f, 0xa7, 0xe1, 0xb1, 0x1c, 0x4f, 0xb0, 0x7d, 0x98, 0x6d, 0x35, + 0x88, 0xe9, 0x72, 0x2b, 0x3e, 0x26, 0xd3, 0x3b, 0xb9, 0xa7, 0x7f, 0x2e, 0xbf, 0x10, 0x77, 0xa1, + 0xe0, 0xee, 0x26, 0xd0, 0xd7, 0x2c, 0x38, 0xef, 0xdc, 0x8f, 0xba, 0x52, 0x95, 0x8a, 0x35, 0xf3, + 0x6a, 0xa6, 0x9e, 0xb6, 0x4f, 0x6a, 0x53, 0x9e, 0xd5, 0x2b, 0x0b, 0x0b, 0x67, 0xb6, 0x85, 0xb0, + 0x08, 0x7a, 0x4c, 0xe5, 0xed, 0x1e, 0x4e, 0xe1, 0x59, 0x2e, 0x7b, 0x9c, 0xa7, 0x4a, 0x08, 0x56, + 0x74, 0xd0, 0x5d, 0x28, 0xb5, 0xa4, 0x1f, 0xad, 0xe0, 0xd9, 0x99, 0x87, 0x60, 0xa6, 0xb3, 0x2d, + 0xf7, 0x1d, 0x51, 0x20, 0x9c, 0x90, 0x42, 0x6f, 0x41, 0xd1, 0xdf, 0x8e, 0x7a, 0xa5, 0xc3, 0x4a, + 0xd9, 0xf2, 0xf1, 0x80, 0x0b, 0x1b, 0x6b, 0x75, 0x4c, 0x2b, 0xa2, 0x1b, 0x50, 0x0c, 0xb7, 0x9a, + 0xe2, 0x69, 0x21, 0x53, 0x2e, 0xc5, 0xcb, 0x95, 0xec, 0x45, 0xc2, 0x29, 0xe1, 0xe5, 0x0a, 0xa6, + 0x24, 0x50, 0x0d, 0x86, 0x99, 0xd3, 0x94, 0x78, 0x41, 0xc8, 0x14, 0x48, 0x7b, 0x38, 0x1f, 0xf2, + 0xa8, 0x0c, 0x0c, 0x01, 0x73, 0x42, 0xe8, 0x6d, 0x18, 0x69, 0xb0, 0x8c, 0x51, 0x42, 0xf1, 0x93, + 0x1d, 0xae, 0xab, 0x2b, 0xa7, 0x14, 0x7f, 0x41, 0xe5, 0xe5, 0x58, 0x50, 0x40, 0x9b, 0x30, 0xd2, + 0x20, 0xed, 0x9d, 0xed, 0x48, 0xe8, 0x73, 0x3e, 0x9b, 0x49, 0xab, 0x47, 0x82, 0x34, 0x41, 0x95, + 0x61, 0x60, 0x41, 0x0b, 0x7d, 0x1e, 0x0a, 0xdb, 0x0d, 0xe1, 0x49, 0x95, 0xf9, 0x86, 0x60, 0x46, + 0xca, 0x58, 0x1e, 0x39, 0x3a, 0x2c, 0x17, 0xd6, 0x56, 0x70, 0x61, 0xbb, 0x81, 0x36, 0x60, 0x74, + 0x9b, 0xfb, 0xd6, 0x8b, 0x00, 0x36, 0xcf, 0x66, 0xbb, 0xfd, 0x77, 0xb9, 0xdf, 0x73, 0x0f, 0x20, + 0x01, 0xc0, 0x92, 0x08, 0x8b, 0x17, 0xac, 0x62, 0x04, 0x88, 0xc0, 0xf9, 0x0b, 0x27, 0x8b, 0xeb, + 0x20, 0xd4, 0x1c, 0x8a, 0x0a, 0xd6, 0x28, 0xa2, 0xaf, 0x42, 0xc9, 0x91, 0xa9, 0x31, 0x45, 0x10, + 0x9c, 0x57, 0x32, 0xb7, 0x63, 0xef, 0xac, 0xa1, 0x7c, 0x2d, 0x2b, 0x24, 0x9c, 0x10, 0x45, 0xbb, + 0x30, 0xb9, 0x1f, 0xb5, 0x77, 0x88, 0xdc, 0xbe, 0x2c, 0x26, 0x4e, 0xce, 0x71, 0x75, 0x57, 0x20, + 0xba, 0x61, 0xdc, 0x71, 0xbc, 0x2e, 0x8e, 0xc3, 0x1c, 0xc7, 0xee, 0xea, 0xc4, 0xb0, 0x49, 0x9b, + 0x0e, 0xff, 0x07, 0x9d, 0x60, 0xeb, 0x20, 0x26, 0x22, 0xd2, 0x7e, 0xe6, 0xf0, 0xbf, 0xc3, 0x51, + 0xba, 0x87, 0x5f, 0x00, 0xb0, 0x24, 0x42, 0x37, 0xb8, 0x23, 0xd3, 0xce, 0x0a, 0x5d, 0xce, 0x73, + 0xb9, 0xc3, 0xd3, 0xd5, 0xdf, 0x64, 0x50, 0x18, 0x67, 0x4c, 0x48, 0x31, 0x8e, 0xd8, 0xde, 0x09, + 0xe2, 0xc0, 0x4f, 0x71, 0xe3, 0xd9, 0x7c, 0x8e, 0x58, 0xcb, 0xc0, 0xef, 0xe6, 0x88, 0x59, 0x58, + 0x38, 0xb3, 0x2d, 0xd4, 0x84, 0xa9, 0x76, 0x10, 0xc6, 0xf7, 0x83, 0x50, 0xae, 0x2f, 0xd4, 0xe3, + 0x92, 0x6f, 0x60, 0x8a, 0x16, 0x99, 0x1d, 0xb8, 0x09, 0xc1, 0x29, 0x9a, 0xe8, 0x4b, 0x30, 0x1a, + 0x35, 0x1c, 0x8f, 0x54, 0x6f, 0xcf, 0x9d, 0xcb, 0x3f, 0x6a, 0xea, 0x1c, 0x25, 0x67, 0x75, 0xb1, + 0xc9, 0x11, 0x28, 0x58, 0x92, 0x43, 0x6b, 0x30, 0xcc, 0xd2, 0xb7, 0xb0, 0x24, 0x01, 0x39, 0xc1, + 0xd6, 0xba, 0x6c, 0xa5, 0x39, 0x47, 0x62, 0xc5, 0x98, 0x57, 0xa7, 0x7b, 0x40, 0xc8, 0xba, 0x41, + 0x34, 0x77, 0x21, 0x7f, 0x0f, 0x08, 0x11, 0xf9, 0x76, 0xbd, 0xd7, 0x1e, 0x50, 0x48, 0x38, 0x21, + 0x4a, 0xf9, 0x31, 0xe5, 0xa1, 0x8f, 0xe5, 0xf3, 0xe3, 0x7c, 0x0e, 0xca, 0xf8, 0x31, 0xe5, 0x9f, + 0x94, 0x84, 0xfd, 0x47, 0xa3, 0xdd, 0xf2, 0x09, 0xbb, 0x1d, 0x7d, 0x9f, 0xd5, 0x65, 0x3a, 0xf0, + 0xb9, 0x41, 0x95, 0x35, 0xa7, 0x28, 0x99, 0x7e, 0xcd, 0x82, 0xc7, 0xda, 0x99, 0x1f, 0x22, 0x0e, + 0xfb, 0xc1, 0x74, 0x3e, 0xfc, 0xd3, 0x55, 0x22, 0x8f, 0x6c, 0x38, 0xce, 0x69, 0x29, 0x2d, 0xfd, + 0x17, 0x3f, 0xb2, 0xf4, 0xbf, 0x0e, 0x63, 0x4c, 0xa0, 0x4c, 0x22, 0xfb, 0x0d, 0x64, 0x80, 0xc7, + 0xc4, 0x86, 0x15, 0x51, 0x11, 0x2b, 0x12, 0xe8, 0x47, 0x2c, 0x78, 0x2a, 0xdd, 0x75, 0x4c, 0x18, + 0x58, 0x44, 0x89, 0xe6, 0x17, 0xb3, 0x35, 0xf1, 0xfd, 0x4f, 0xd5, 0x7a, 0x21, 0x1f, 0xf7, 0x43, + 0xc0, 0xbd, 0x1b, 0x43, 0x95, 0x8c, 0x9b, 0xe1, 0x88, 0xf9, 0xb2, 0x38, 0xc0, 0xed, 0xf0, 0x55, + 0x98, 0xd8, 0x0b, 0x3a, 0xbe, 0xf4, 0x8e, 0x11, 0xbe, 0xcf, 0x4c, 0x8b, 0xbd, 0xae, 0x95, 0x63, + 0x03, 0x2b, 0x75, 0xa7, 0x1c, 0x7b, 0xd8, 0x3b, 0x25, 0x7a, 0x2f, 0x95, 0x26, 0xbe, 0x94, 0x2f, + 0x5b, 0x88, 0xeb, 0xf7, 0x09, 0x92, 0xc5, 0x9f, 0xed, 0x3d, 0xe8, 0x1b, 0x56, 0x86, 0x00, 0xcf, + 0x6f, 0xc6, 0x5f, 0x30, 0x6f, 0xc6, 0x57, 0xd2, 0x37, 0xe3, 0x2e, 0x4d, 0xa8, 0x71, 0x29, 0x1e, + 0x3c, 0x46, 0xff, 0xa0, 0x01, 0x1a, 0x6d, 0x0f, 0x2e, 0xf7, 0x3b, 0x96, 0x98, 0xa9, 0x64, 0x53, + 0xd9, 0x10, 0x24, 0xa6, 0x92, 0xcd, 0x6a, 0x05, 0x33, 0xc8, 0xa0, 0x11, 0x7c, 0xec, 0xff, 0x6a, + 0x41, 0xb1, 0x16, 0x34, 0xcf, 0x40, 0xb3, 0xfb, 0x45, 0x43, 0xb3, 0xfb, 0x44, 0x4e, 0xfa, 0xfe, + 0x5c, 0x3d, 0xee, 0x6a, 0x4a, 0x8f, 0xfb, 0x54, 0x1e, 0x81, 0xde, 0x5a, 0xdb, 0x9f, 0x29, 0xc2, + 0x78, 0x2d, 0x68, 0x2a, 0x9b, 0xfb, 0x7f, 0xf3, 0x30, 0x36, 0xf7, 0xb9, 0xf1, 0x96, 0x35, 0xca, + 0xcc, 0xc2, 0x52, 0xba, 0xf3, 0xfe, 0x35, 0x33, 0xbd, 0xbf, 0x47, 0xdc, 0xd6, 0x4e, 0x4c, 0x9a, + 0xe9, 0xcf, 0x39, 0x3b, 0xd3, 0xfb, 0xff, 0x6c, 0xc1, 0x74, 0xaa, 0x75, 0xe4, 0x65, 0xf9, 0x06, + 0x3e, 0xa4, 0x46, 0x6f, 0xb6, 0xaf, 0x33, 0xe1, 0x02, 0x80, 0x7a, 0x36, 0x93, 0xda, 0x2e, 0x26, + 0xf5, 0xab, 0x77, 0xb5, 0x08, 0x6b, 0x18, 0xe8, 0x35, 0x18, 0x8f, 0x83, 0x76, 0xe0, 0x05, 0xad, + 0x83, 0x9b, 0x44, 0xc6, 0x8c, 0x52, 0x8f, 0x9b, 0x9b, 0x09, 0x08, 0xeb, 0x78, 0xf6, 0xcf, 0x15, + 0xf9, 0x87, 0xfa, 0xb1, 0xfb, 0xad, 0x35, 0xf9, 0xc9, 0x5e, 0x93, 0xdf, 0xb4, 0x60, 0x86, 0xb6, + 0xce, 0xac, 0xd7, 0xe4, 0x61, 0xab, 0x72, 0x85, 0x59, 0x3d, 0x72, 0x85, 0x5d, 0xa1, 0xbc, 0xab, + 0x19, 0x74, 0x62, 0xa1, 0x2d, 0xd3, 0x98, 0x13, 0x2d, 0xc5, 0x02, 0x2a, 0xf0, 0x48, 0x18, 0x0a, + 0x8f, 0x3f, 0x1d, 0x8f, 0x84, 0x21, 0x16, 0x50, 0x99, 0x4a, 0x6c, 0x28, 0x27, 0x95, 0x18, 0x8b, + 0x80, 0x29, 0x2c, 0xa6, 0x84, 0xd8, 0xa3, 0x45, 0xc0, 0x94, 0xa6, 0x54, 0x09, 0x8e, 0xfd, 0x8b, + 0x45, 0x98, 0xa8, 0x05, 0xcd, 0xe4, 0xe1, 0xea, 0x55, 0xe3, 0xe1, 0xea, 0x72, 0xea, 0xe1, 0x6a, + 0x46, 0xc7, 0xfd, 0xd6, 0x33, 0xd5, 0xc7, 0xf5, 0x4c, 0xf5, 0x2f, 0x2d, 0x36, 0x6b, 0x95, 0x8d, + 0xba, 0x48, 0xc6, 0xfd, 0x32, 0x8c, 0x33, 0x86, 0xc4, 0x5c, 0x4c, 0xe5, 0x6b, 0x0e, 0xcb, 0x68, + 0xb1, 0x91, 0x14, 0x63, 0x1d, 0x07, 0x5d, 0x85, 0xb1, 0x88, 0x38, 0x61, 0x63, 0x47, 0xf1, 0x38, + 0xf1, 0xd6, 0xc1, 0xcb, 0xb0, 0x82, 0xa2, 0x77, 0x92, 0xe0, 0x8b, 0xc5, 0xfc, 0xb4, 0xd2, 0x7a, + 0x7f, 0xf8, 0x16, 0xc9, 0x8f, 0xb8, 0x68, 0xdf, 0x03, 0xd4, 0x8d, 0x3f, 0x80, 0x19, 0x59, 0xd9, + 0x0c, 0xb3, 0x56, 0xea, 0x0a, 0xb1, 0xf6, 0x97, 0x16, 0x4c, 0xd5, 0x82, 0x26, 0xdd, 0xba, 0x7f, + 0x93, 0xf6, 0xa9, 0x1e, 0x79, 0x76, 0xa4, 0x47, 0xe4, 0xd9, 0x7f, 0x60, 0xc1, 0x68, 0x2d, 0x68, + 0x9e, 0x81, 0x8e, 0xfd, 0x0b, 0xa6, 0x8e, 0xfd, 0xf1, 0x9c, 0x25, 0x91, 0xa3, 0x56, 0xff, 0xe5, + 0x22, 0x4c, 0xd2, 0x7e, 0x06, 0x2d, 0x39, 0x4b, 0xc6, 0x88, 0x58, 0x03, 0x8c, 0x08, 0x15, 0x73, + 0x03, 0xcf, 0x0b, 0xee, 0xa7, 0x67, 0x6c, 0x8d, 0x95, 0x62, 0x01, 0x45, 0x2f, 0xc2, 0x58, 0x3b, + 0x24, 0xfb, 0x6e, 0xd0, 0x89, 0xd2, 0xde, 0xd4, 0x35, 0x51, 0x8e, 0x15, 0x06, 0xbd, 0x77, 0x45, + 0xae, 0xdf, 0x20, 0xd2, 0xbe, 0x6c, 0x88, 0xd9, 0x97, 0xf1, 0x90, 0xf2, 0x5a, 0x39, 0x36, 0xb0, + 0xd0, 0x3d, 0x28, 0xb1, 0xff, 0x8c, 0xa3, 0x9c, 0x3c, 0xc9, 0x99, 0xc8, 0xe3, 0x22, 0x08, 0xe0, + 0x84, 0x16, 0xba, 0x06, 0x10, 0x4b, 0x4b, 0xb8, 0x48, 0x38, 0xfb, 0x2b, 0x59, 0x5b, 0xd9, 0xc8, + 0x45, 0x58, 0xc3, 0x42, 0x2f, 0x40, 0x29, 0x76, 0x5c, 0xef, 0x96, 0xeb, 0x93, 0x48, 0x58, 0x12, + 0x8a, 0x34, 0x2d, 0xa2, 0x10, 0x27, 0x70, 0x2a, 0xeb, 0xb0, 0x50, 0x12, 0x3c, 0x45, 0xe2, 0x18, + 0xc3, 0x66, 0xb2, 0xce, 0x2d, 0x55, 0x8a, 0x35, 0x0c, 0xfb, 0x0d, 0xb8, 0x50, 0x0b, 0x9a, 0xb5, + 0x20, 0x8c, 0xd7, 0x82, 0xf0, 0xbe, 0x13, 0x36, 0xe5, 0xfc, 0x95, 0x65, 0xc6, 0x10, 0xca, 0x7b, + 0x86, 0xf9, 0xce, 0x34, 0x72, 0x81, 0xbc, 0xc2, 0xa4, 0x9d, 0x13, 0xba, 0x7d, 0xfd, 0xbb, 0x02, + 0x63, 0x14, 0xa9, 0xbc, 0x9d, 0xe8, 0x2b, 0x30, 0x15, 0x91, 0x5b, 0xae, 0xdf, 0x79, 0x20, 0xef, + 0xc7, 0x3d, 0x7c, 0xea, 0xea, 0xab, 0x3a, 0x26, 0xd7, 0xb2, 0x99, 0x65, 0x38, 0x45, 0x8d, 0x0e, + 0x61, 0xd8, 0xf1, 0x97, 0xa2, 0x3b, 0x11, 0x09, 0x45, 0xde, 0x48, 0x36, 0x84, 0x58, 0x16, 0xe2, + 0x04, 0x4e, 0x97, 0x0c, 0xfb, 0xb3, 0x11, 0xf8, 0x38, 0x08, 0x62, 0xb9, 0xc8, 0x58, 0xe6, 0x31, + 0xad, 0x1c, 0x1b, 0x58, 0x68, 0x0d, 0x50, 0xd4, 0x69, 0xb7, 0x3d, 0xf6, 0x00, 0xee, 0x78, 0xd7, + 0xc3, 0xa0, 0xd3, 0xe6, 0x8f, 0x8f, 0x22, 0x69, 0x57, 0xbd, 0x0b, 0x8a, 0x33, 0x6a, 0x50, 0xc6, + 0xb0, 0x1d, 0xb1, 0xdf, 0x22, 0x9a, 0x04, 0xd7, 0x7c, 0xd7, 0x59, 0x11, 0x96, 0x30, 0xfb, 0x7b, + 0xd8, 0x81, 0xc1, 0xd2, 0xfd, 0xc5, 0x9d, 0x90, 0xa0, 0x3d, 0x98, 0x6c, 0xb3, 0xa3, 0x5c, 0x04, + 0x4e, 0x17, 0x03, 0xf8, 0x70, 0x76, 0x83, 0x3c, 0xfd, 0x97, 0x4e, 0x0e, 0x9b, 0xd4, 0xed, 0x9f, + 0x99, 0x61, 0x7c, 0xa9, 0xce, 0xaf, 0x73, 0xa3, 0xc2, 0x1b, 0x40, 0xc8, 0xae, 0xf3, 0xf9, 0x7a, + 0x85, 0xe4, 0x08, 0x11, 0x1e, 0x05, 0x58, 0xd6, 0x45, 0xef, 0xb0, 0x57, 0x5b, 0xce, 0x0c, 0xfa, + 0xe5, 0x0d, 0xe7, 0x58, 0xc6, 0x03, 0xad, 0xa8, 0x88, 0x35, 0x22, 0xe8, 0x16, 0x4c, 0x8a, 0xec, + 0x70, 0x42, 0x71, 0x54, 0x34, 0x14, 0x03, 0x93, 0x58, 0x07, 0x1e, 0xa7, 0x0b, 0xb0, 0x59, 0x19, + 0xb5, 0xe0, 0x29, 0x2d, 0x55, 0x6a, 0x86, 0xed, 0x2a, 0xe7, 0x2d, 0x4f, 0x1f, 0x1d, 0x96, 0x9f, + 0xda, 0xec, 0x85, 0x88, 0x7b, 0xd3, 0x41, 0xb7, 0xe1, 0x82, 0xd3, 0x88, 0xdd, 0x7d, 0x52, 0x21, + 0x4e, 0xd3, 0x73, 0x7d, 0x62, 0x86, 0x17, 0xb9, 0x78, 0x74, 0x58, 0xbe, 0xb0, 0x94, 0x85, 0x80, + 0xb3, 0xeb, 0xa1, 0x2f, 0x40, 0xa9, 0xe9, 0x47, 0x62, 0x0c, 0x46, 0x8c, 0x2c, 0xc0, 0xa5, 0xca, + 0x46, 0x5d, 0x7d, 0x7f, 0xf2, 0x07, 0x27, 0x15, 0x50, 0x8b, 0x2b, 0x8f, 0xd4, 0x5d, 0x6d, 0xb4, + 0x2b, 0x66, 0x4c, 0xfa, 0xd6, 0x6f, 0xf8, 0xdd, 0x71, 0xad, 0xa9, 0xb2, 0x0c, 0x37, 0x5c, 0xf2, + 0x0c, 0xc2, 0xe8, 0x6d, 0x40, 0x54, 0x98, 0x71, 0x1b, 0x64, 0xa9, 0xc1, 0xe2, 0xd7, 0x33, 0x5d, + 0xdb, 0x98, 0xe1, 0xe6, 0x84, 0xea, 0x5d, 0x18, 0x38, 0xa3, 0x16, 0xba, 0x41, 0x39, 0x8a, 0x5e, + 0x2a, 0x0c, 0xf9, 0xa5, 0x00, 0x3c, 0x57, 0x21, 0xed, 0x90, 0x34, 0x9c, 0x98, 0x34, 0x4d, 0x8a, + 0x38, 0x55, 0x8f, 0x9e, 0x37, 0x2a, 0x95, 0x15, 0x98, 0xe6, 0xe7, 0xdd, 0xe9, 0xac, 0xe8, 0xdd, + 0x71, 0x27, 0x88, 0xe2, 0x0d, 0x12, 0xdf, 0x0f, 0xc2, 0x5d, 0x11, 0x13, 0x30, 0x09, 0x4f, 0x9b, + 0x80, 0xb0, 0x8e, 0x47, 0x65, 0x45, 0xf6, 0x6c, 0x5a, 0xad, 0xb0, 0x57, 0xac, 0xb1, 0x64, 0x9f, + 0xdc, 0xe0, 0xc5, 0x58, 0xc2, 0x25, 0x6a, 0xb5, 0xb6, 0xc2, 0x5e, 0xa4, 0x52, 0xa8, 0xd5, 0xda, + 0x0a, 0x96, 0x70, 0x44, 0xba, 0x33, 0x2c, 0x4f, 0xe5, 0x6b, 0xfe, 0xba, 0xf9, 0xf2, 0x80, 0x49, + 0x96, 0x7d, 0x98, 0x51, 0xb9, 0x9d, 0x79, 0xb0, 0xc4, 0x68, 0x6e, 0x9a, 0x2d, 0x92, 0xc1, 0x23, + 0x2d, 0x2a, 0x5d, 0x6a, 0x35, 0x45, 0x09, 0x77, 0xd1, 0x36, 0xc2, 0xd6, 0xcc, 0xf4, 0x4d, 0x45, + 0xb6, 0x08, 0xa5, 0xa8, 0xb3, 0xd5, 0x0c, 0xf6, 0x1c, 0xd7, 0x67, 0x0f, 0x48, 0x9a, 0x20, 0x52, + 0x97, 0x00, 0x9c, 0xe0, 0xa0, 0x35, 0x18, 0x73, 0xa4, 0xa2, 0x14, 0xe5, 0xc7, 0xb1, 0x50, 0xea, + 0x51, 0x26, 0x66, 0x2b, 0xd5, 0xa8, 0xaa, 0x8b, 0xde, 0x84, 0x49, 0xe1, 0x6a, 0x29, 0xac, 0xa4, + 0xcf, 0x99, 0x5e, 0x39, 0x75, 0x1d, 0x88, 0x4d, 0x5c, 0xf4, 0x5d, 0x30, 0x45, 0xa9, 0x24, 0x8c, + 0x6d, 0xee, 0xfc, 0x20, 0x1c, 0x51, 0x4b, 0x31, 0xa3, 0x57, 0xc6, 0x29, 0x62, 0xa8, 0x09, 0x4f, + 0x3a, 0x9d, 0x38, 0x60, 0xca, 0x66, 0x73, 0xfd, 0x6f, 0x06, 0xbb, 0xc4, 0x67, 0xef, 0x3c, 0x63, + 0xcb, 0x97, 0x8f, 0x0e, 0xcb, 0x4f, 0x2e, 0xf5, 0xc0, 0xc3, 0x3d, 0xa9, 0xa0, 0x3b, 0x30, 0x1e, + 0x07, 0x9e, 0x70, 0x6f, 0x88, 0xe6, 0x1e, 0xcb, 0x0f, 0xbb, 0xb5, 0xa9, 0xd0, 0x74, 0x45, 0x8b, + 0xaa, 0x8a, 0x75, 0x3a, 0x68, 0x93, 0xef, 0x31, 0x16, 0x90, 0x98, 0x44, 0x73, 0x8f, 0xe7, 0x0f, + 0x8c, 0x8a, 0x5b, 0x6c, 0x6e, 0x41, 0x51, 0x13, 0xeb, 0x64, 0xd0, 0x75, 0x98, 0x6d, 0x87, 0x6e, + 0xc0, 0x16, 0xb6, 0x52, 0xf4, 0xcf, 0x99, 0x59, 0x45, 0x6a, 0x69, 0x04, 0xdc, 0x5d, 0x87, 0x5e, + 0xc4, 0x64, 0xe1, 0xdc, 0x45, 0x9e, 0xa2, 0x8e, 0x0b, 0xa7, 0xbc, 0x0c, 0x2b, 0x28, 0x5a, 0x67, + 0x7c, 0x99, 0x5f, 0x99, 0xe6, 0xe6, 0xf3, 0xe3, 0x7f, 0xe8, 0x57, 0x2b, 0x2e, 0xb8, 0xa8, 0xbf, + 0x38, 0xa1, 0x40, 0xcf, 0x8d, 0x68, 0xc7, 0x09, 0x49, 0x2d, 0x0c, 0x1a, 0x84, 0x77, 0x86, 0x9b, + 0x93, 0x3f, 0xc1, 0xe3, 0xa6, 0xd2, 0x73, 0xa3, 0x9e, 0x85, 0x80, 0xb3, 0xeb, 0xcd, 0x7f, 0x3b, + 0xcc, 0x76, 0x71, 0xf2, 0x13, 0x99, 0xc2, 0xff, 0xc5, 0x30, 0x94, 0x94, 0x22, 0x17, 0x2d, 0x9a, + 0xfa, 0xf9, 0x8b, 0x69, 0xfd, 0xfc, 0x18, 0x95, 0x27, 0x75, 0x95, 0xfc, 0xa6, 0x61, 0xc8, 0x55, + 0xc8, 0x4f, 0x5d, 0xa7, 0x6b, 0x31, 0xfa, 0xfa, 0xad, 0x6a, 0xf7, 0xf2, 0xe2, 0xc0, 0x8a, 0xfe, + 0xa1, 0x9e, 0x57, 0xfd, 0x01, 0xb3, 0x71, 0xd3, 0xab, 0x6b, 0x3b, 0x68, 0x56, 0x6b, 0xe9, 0xf4, + 0xb4, 0x35, 0x5a, 0x88, 0x39, 0x8c, 0x5d, 0x3e, 0xa8, 0xd8, 0xc1, 0x2e, 0x1f, 0xa3, 0x0f, 0x79, + 0xf9, 0x90, 0x04, 0x70, 0x42, 0x0b, 0x79, 0x30, 0xdb, 0x30, 0x33, 0x0b, 0x2b, 0x5f, 0xd5, 0x67, + 0xfa, 0xe6, 0xf8, 0xed, 0x68, 0x29, 0x07, 0x57, 0xd2, 0x54, 0x70, 0x37, 0x61, 0xf4, 0x26, 0x8c, + 0x7d, 0x10, 0x44, 0x6c, 0x5b, 0x88, 0xb3, 0x57, 0x7a, 0x07, 0x8e, 0xbd, 0x73, 0xbb, 0xce, 0xca, + 0x8f, 0x0f, 0xcb, 0xe3, 0xb5, 0xa0, 0x29, 0xff, 0x62, 0x55, 0x01, 0x3d, 0x80, 0x0b, 0x06, 0xc7, + 0x52, 0xdd, 0x85, 0xc1, 0xbb, 0xfb, 0x94, 0x68, 0xee, 0x42, 0x35, 0x8b, 0x12, 0xce, 0x6e, 0x80, + 0xb2, 0x01, 0x3f, 0x10, 0x59, 0xb9, 0xe5, 0xf9, 0xce, 0x8e, 0xf1, 0x92, 0x1e, 0x64, 0x21, 0x85, + 0x80, 0xbb, 0xeb, 0xd8, 0xbf, 0xc6, 0xf5, 0xde, 0x42, 0x3b, 0x46, 0xa2, 0x8e, 0x77, 0x16, 0x09, + 0xca, 0x56, 0x0d, 0xc5, 0xdd, 0x43, 0xbf, 0xad, 0xfc, 0x96, 0xc5, 0xde, 0x56, 0x36, 0xc9, 0x5e, + 0xdb, 0x73, 0xe2, 0xb3, 0xf0, 0xa4, 0x78, 0x07, 0xc6, 0x62, 0xd1, 0x5a, 0xaf, 0x9c, 0x6a, 0x5a, + 0xa7, 0xd8, 0xfb, 0x92, 0x3a, 0xf9, 0x65, 0x29, 0x56, 0x64, 0xec, 0x7f, 0xc6, 0x67, 0x40, 0x42, + 0xce, 0x40, 0x89, 0x52, 0x31, 0x95, 0x28, 0xe5, 0x3e, 0x5f, 0x90, 0xa3, 0x4c, 0xf9, 0xa7, 0x66, + 0xbf, 0xd9, 0x25, 0xeb, 0x93, 0xfe, 0xa8, 0x67, 0xff, 0x84, 0x05, 0xe7, 0xb3, 0xac, 0x60, 0xa8, + 0xb4, 0xc6, 0xaf, 0x78, 0xea, 0x91, 0x53, 0x8d, 0xe0, 0x5d, 0x51, 0x8e, 0x15, 0xc6, 0xc0, 0xe9, + 0x4a, 0x4e, 0x16, 0x53, 0xef, 0x36, 0x98, 0xd9, 0xac, 0xd1, 0x5b, 0xdc, 0x35, 0xca, 0x52, 0xe9, + 0xa6, 0x4f, 0xe6, 0x16, 0x65, 0xff, 0x7c, 0x01, 0xce, 0xf3, 0x57, 0x8a, 0xa5, 0xfd, 0xc0, 0x6d, + 0xd6, 0x82, 0xa6, 0x70, 0x14, 0x7b, 0x17, 0x26, 0xda, 0xda, 0xbd, 0xbc, 0x57, 0x54, 0x2f, 0xfd, + 0xfe, 0x9e, 0xdc, 0x8f, 0xf4, 0x52, 0x6c, 0xd0, 0x42, 0x4d, 0x98, 0x20, 0xfb, 0x6e, 0x43, 0xa9, + 0xba, 0x0b, 0x27, 0x3e, 0x1b, 0x54, 0x2b, 0xab, 0x1a, 0x1d, 0x6c, 0x50, 0x7d, 0x04, 0xd9, 0x07, + 0xed, 0x9f, 0xb4, 0xe0, 0xf1, 0x9c, 0x18, 0x60, 0xb4, 0xb9, 0xfb, 0xec, 0x3d, 0x48, 0x24, 0x32, + 0x53, 0xcd, 0xf1, 0x57, 0x22, 0x2c, 0xa0, 0xe8, 0x4b, 0x00, 0xfc, 0x95, 0x87, 0x5e, 0x17, 0xc4, + 0xa7, 0x0f, 0x16, 0x1b, 0x47, 0x0b, 0xa0, 0x22, 0xeb, 0x63, 0x8d, 0x96, 0xfd, 0xb3, 0x45, 0x18, + 0x66, 0xaf, 0x0a, 0x68, 0x0d, 0x46, 0x77, 0x78, 0xc4, 0xf1, 0x41, 0x82, 0x9b, 0x27, 0xf7, 0x2e, + 0x5e, 0x80, 0x65, 0x65, 0xb4, 0x0e, 0xe7, 0x84, 0x33, 0x62, 0x85, 0x78, 0xce, 0x81, 0xbc, 0xbe, + 0xf3, 0xe4, 0x5f, 0x2a, 0xdd, 0x5d, 0xb5, 0x1b, 0x05, 0x67, 0xd5, 0x43, 0x6f, 0x75, 0xc5, 0x19, + 0xe5, 0xb1, 0xda, 0x95, 0xb0, 0xdf, 0x27, 0xd6, 0xe8, 0x9b, 0x30, 0xd9, 0xee, 0x52, 0x54, 0x0c, + 0x27, 0x17, 0x11, 0x53, 0x39, 0x61, 0xe2, 0x32, 0xf3, 0x97, 0x0e, 0x33, 0xf6, 0xd9, 0xdc, 0x09, + 0x49, 0xb4, 0x13, 0x78, 0x4d, 0x91, 0x8f, 0x3f, 0x31, 0x7f, 0x49, 0xc1, 0x71, 0x57, 0x0d, 0x4a, + 0x65, 0xdb, 0x71, 0xbd, 0x4e, 0x48, 0x12, 0x2a, 0x23, 0x26, 0x95, 0xb5, 0x14, 0x1c, 0x77, 0xd5, + 0xa0, 0xeb, 0xe8, 0x82, 0x48, 0xe6, 0x2e, 0x43, 0x54, 0x28, 0x9b, 0xa6, 0x51, 0xe9, 0xaa, 0xd2, + 0x23, 0x6c, 0x92, 0xb0, 0xfa, 0x50, 0xe9, 0xe0, 0xb5, 0x54, 0xc1, 0xc2, 0x49, 0x45, 0x52, 0x79, + 0x98, 0x94, 0xe2, 0x7f, 0x64, 0xc1, 0xb9, 0x0c, 0xdb, 0x49, 0xce, 0xaa, 0x5a, 0x6e, 0x14, 0xab, + 0x04, 0x47, 0x1a, 0xab, 0xe2, 0xe5, 0x58, 0x61, 0xd0, 0xfd, 0xc0, 0x99, 0x61, 0x9a, 0x01, 0x0a, + 0xdb, 0x24, 0x01, 0x3d, 0x19, 0x03, 0x44, 0x97, 0x61, 0xa8, 0x13, 0x91, 0x50, 0xe6, 0xe2, 0x96, + 0xfc, 0x9b, 0xa9, 0x3e, 0x19, 0x84, 0x8a, 0xa6, 0x2d, 0xa5, 0x75, 0xd4, 0x44, 0x53, 0xae, 0x77, + 0xe4, 0x30, 0xfb, 0xeb, 0x45, 0xb8, 0x98, 0x6b, 0x1b, 0x4d, 0xbb, 0xb4, 0x17, 0xf8, 0x6e, 0x1c, + 0xa8, 0x17, 0x2b, 0x1e, 0xdf, 0x87, 0xb4, 0x77, 0xd6, 0x45, 0x39, 0x56, 0x18, 0xe8, 0x0a, 0x0c, + 0xb3, 0x9b, 0x7d, 0x57, 0x0a, 0xa7, 0xe5, 0x0a, 0x0f, 0x3b, 0xc1, 0xc1, 0x03, 0xa7, 0xc7, 0x7b, + 0x06, 0x86, 0xda, 0x41, 0xe0, 0xa5, 0x99, 0x11, 0xed, 0x6e, 0x10, 0x78, 0x98, 0x01, 0xd1, 0x67, + 0xc4, 0x38, 0xa4, 0x9e, 0x68, 0xb0, 0xd3, 0x0c, 0x22, 0x6d, 0x30, 0x9e, 0x83, 0xd1, 0x5d, 0x72, + 0x10, 0xba, 0x7e, 0x2b, 0xfd, 0x74, 0x77, 0x93, 0x17, 0x63, 0x09, 0x37, 0x33, 0x98, 0x8c, 0x9e, + 0x76, 0x5e, 0xbb, 0xb1, 0xbe, 0x47, 0xdb, 0x0f, 0x17, 0x61, 0x1a, 0x2f, 0x57, 0xbe, 0x35, 0x11, + 0x77, 0xba, 0x27, 0xe2, 0xb4, 0xf3, 0xda, 0xf5, 0x9f, 0x8d, 0x5f, 0xb6, 0x60, 0x9a, 0x45, 0xf9, + 0x16, 0xf1, 0x69, 0xdc, 0xc0, 0x3f, 0x03, 0xd1, 0xed, 0x19, 0x18, 0x0e, 0x69, 0xa3, 0xe9, 0x64, + 0x55, 0xac, 0x27, 0x98, 0xc3, 0xd0, 0x93, 0x30, 0xc4, 0xba, 0x40, 0x27, 0x6f, 0x82, 0xe7, 0xf9, + 0xa8, 0x38, 0xb1, 0x83, 0x59, 0x29, 0x73, 0x14, 0xc6, 0xa4, 0xed, 0xb9, 0xbc, 0xd3, 0x89, 0xaa, + 0xff, 0x93, 0xe1, 0x28, 0x9c, 0xd9, 0xb5, 0x8f, 0xe6, 0x28, 0x9c, 0x4d, 0xb2, 0xf7, 0xb5, 0xe8, + 0xbf, 0x15, 0xe0, 0x52, 0x66, 0xbd, 0x81, 0x1d, 0x85, 0x7b, 0xd7, 0x3e, 0x1d, 0x0b, 0x8c, 0x6c, + 0xc3, 0x88, 0xe2, 0x19, 0x1a, 0x46, 0x0c, 0x0d, 0x2a, 0x39, 0x0e, 0x0f, 0xe0, 0xbf, 0x9b, 0x39, + 0x64, 0x9f, 0x10, 0xff, 0xdd, 0xcc, 0xbe, 0xe5, 0x5c, 0xeb, 0xfe, 0xaa, 0x90, 0xf3, 0x2d, 0xec, + 0x82, 0x77, 0x95, 0xf2, 0x19, 0x06, 0x8c, 0x84, 0x24, 0x3c, 0xc1, 0x79, 0x0c, 0x2f, 0xc3, 0x0a, + 0x8a, 0x5c, 0xcd, 0x13, 0xb6, 0x90, 0x9f, 0xca, 0x34, 0xb7, 0xa9, 0x05, 0xf3, 0x65, 0x46, 0x0f, + 0xa6, 0x93, 0xf6, 0x8a, 0x5d, 0xd7, 0x2e, 0xe5, 0xc5, 0xc1, 0x2f, 0xe5, 0x13, 0xd9, 0x17, 0x72, + 0xb4, 0x04, 0xd3, 0x7b, 0xae, 0x4f, 0xd9, 0xe6, 0x81, 0x29, 0x8a, 0xaa, 0xc0, 0x10, 0xeb, 0x26, + 0x18, 0xa7, 0xf1, 0xe7, 0xdf, 0x84, 0xc9, 0x87, 0x57, 0x47, 0x7e, 0xb3, 0x08, 0x4f, 0xf4, 0xd8, + 0xf6, 0x9c, 0xd7, 0x1b, 0x73, 0xa0, 0xf1, 0xfa, 0xae, 0x79, 0xa8, 0xc1, 0xf9, 0xed, 0x8e, 0xe7, + 0x1d, 0x30, 0xdb, 0x43, 0xd2, 0x94, 0x18, 0x42, 0x56, 0x54, 0x21, 0xfc, 0xd7, 0x32, 0x70, 0x70, + 0x66, 0x4d, 0xf4, 0x36, 0xa0, 0x40, 0xe4, 0x51, 0x4e, 0x42, 0x04, 0xb1, 0x81, 0x2f, 0x26, 0x9b, + 0xf1, 0x76, 0x17, 0x06, 0xce, 0xa8, 0x45, 0x85, 0x7e, 0x7a, 0x2a, 0x1d, 0xa8, 0x6e, 0xa5, 0x84, + 0x7e, 0xac, 0x03, 0xb1, 0x89, 0x8b, 0xae, 0xc3, 0xac, 0xb3, 0xef, 0xb8, 0x3c, 0x64, 0xa4, 0x24, + 0xc0, 0xa5, 0x7e, 0xa5, 0x04, 0x5b, 0x4a, 0x23, 0xe0, 0xee, 0x3a, 0x29, 0x57, 0xdc, 0x91, 0x7c, + 0x57, 0xdc, 0xde, 0x7c, 0xb1, 0x9f, 0x4e, 0xd7, 0xfe, 0x8f, 0x16, 0x3d, 0xbe, 0xb8, 0xf0, 0x6e, + 0x86, 0xcf, 0x7a, 0x13, 0x26, 0x95, 0x6e, 0x52, 0xf3, 0x8a, 0x55, 0xe3, 0xb0, 0xa2, 0x03, 0xb1, + 0x89, 0xcb, 0x17, 0x44, 0x94, 0x38, 0x68, 0x18, 0xa2, 0xbb, 0x70, 0x7b, 0x57, 0x18, 0xe8, 0xcb, + 0x30, 0xda, 0x74, 0xf7, 0xdd, 0x28, 0x08, 0xc5, 0x66, 0x39, 0xa1, 0x99, 0x7b, 0xc2, 0x07, 0x2b, + 0x9c, 0x0c, 0x96, 0xf4, 0xec, 0x1f, 0x2e, 0xc0, 0xa4, 0x6c, 0xf1, 0x9d, 0x4e, 0x10, 0x3b, 0x67, + 0x70, 0x2c, 0x5f, 0x37, 0x8e, 0xe5, 0xcf, 0xf4, 0xf2, 0xfd, 0x67, 0x5d, 0xca, 0x3d, 0x8e, 0x6f, + 0xa7, 0x8e, 0xe3, 0x67, 0xfb, 0x93, 0xea, 0x7d, 0x0c, 0xff, 0x73, 0x0b, 0x66, 0x0d, 0xfc, 0x33, + 0x38, 0x0d, 0xd6, 0xcc, 0xd3, 0xe0, 0xe9, 0xbe, 0xdf, 0x90, 0x73, 0x0a, 0x7c, 0xa3, 0x90, 0xea, + 0x3b, 0xe3, 0xfe, 0x1f, 0xc0, 0xd0, 0x8e, 0x13, 0x36, 0x7b, 0x05, 0x3e, 0xee, 0xaa, 0xb4, 0x70, + 0xc3, 0x09, 0x9b, 0x9c, 0x87, 0xbf, 0xa8, 0xb2, 0xaf, 0x3a, 0x61, 0xb3, 0xaf, 0x3f, 0x12, 0x6b, + 0x0a, 0xbd, 0x01, 0x23, 0x51, 0x23, 0x68, 0x2b, 0x6b, 0xc1, 0xcb, 0x3c, 0x33, 0x2b, 0x2d, 0x39, + 0x3e, 0x2c, 0x23, 0xb3, 0x39, 0x5a, 0x8c, 0x05, 0xfe, 0x7c, 0x0b, 0x4a, 0xaa, 0xe9, 0x47, 0xea, + 0xeb, 0xf1, 0xfb, 0x45, 0x38, 0x97, 0xb1, 0x2e, 0x50, 0x64, 0x8c, 0xd6, 0xcb, 0x03, 0x2e, 0xa7, + 0x8f, 0x38, 0x5e, 0x11, 0xbb, 0xb1, 0x34, 0xc5, 0xfc, 0x0f, 0xdc, 0xe8, 0x9d, 0x88, 0xa4, 0x1b, + 0xa5, 0x45, 0xfd, 0x1b, 0xa5, 0x8d, 0x9d, 0xd9, 0x50, 0xd3, 0x86, 0x54, 0x4f, 0x1f, 0xe9, 0x9c, + 0xfe, 0x79, 0x11, 0xce, 0x67, 0x85, 0x0c, 0x41, 0xdf, 0x9d, 0x4a, 0xa3, 0xf4, 0xea, 0xa0, 0xc1, + 0x46, 0x78, 0x6e, 0x25, 0x11, 0x63, 0x6d, 0xc1, 0x4c, 0xac, 0xd4, 0x77, 0x98, 0x45, 0x9b, 0xcc, + 0x41, 0x30, 0xe4, 0xe9, 0xaf, 0xe4, 0x16, 0xff, 0xdc, 0xc0, 0x1d, 0x10, 0x79, 0xb3, 0xa2, 0x94, + 0x83, 0xa0, 0x2c, 0xee, 0xef, 0x20, 0x28, 0x5b, 0x9e, 0x77, 0x61, 0x5c, 0xfb, 0x9a, 0x47, 0x3a, + 0xe3, 0xbb, 0xf4, 0x44, 0xd1, 0xfa, 0xfd, 0x48, 0x67, 0xfd, 0x27, 0x2d, 0x48, 0xd9, 0xe8, 0x29, + 0x95, 0x94, 0x95, 0xab, 0x92, 0xba, 0x0c, 0x43, 0x61, 0xe0, 0x91, 0x74, 0x66, 0x1d, 0x1c, 0x78, + 0x04, 0x33, 0x08, 0xc5, 0x88, 0x13, 0x85, 0xc4, 0x84, 0x7e, 0xd9, 0x12, 0xd7, 0xa8, 0x67, 0x60, + 0xd8, 0x23, 0xfb, 0x44, 0x6a, 0x23, 0x14, 0x4f, 0xbe, 0x45, 0x0b, 0x31, 0x87, 0xd9, 0xbf, 0x3c, + 0x04, 0x4f, 0xf5, 0x74, 0xb1, 0xa5, 0x57, 0x96, 0x96, 0x13, 0x93, 0xfb, 0xce, 0x41, 0x3a, 0xee, + 0xf7, 0x75, 0x5e, 0x8c, 0x25, 0x9c, 0x59, 0x14, 0xf3, 0xd0, 0xa1, 0x29, 0x05, 0x9e, 0x88, 0x18, + 0x2a, 0xa0, 0xa6, 0xe2, 0xa8, 0x78, 0x1a, 0x8a, 0xa3, 0x6b, 0x00, 0x51, 0xe4, 0xad, 0xfa, 0x54, + 0x02, 0x6b, 0x0a, 0x53, 0xe5, 0x24, 0xc4, 0x6c, 0xfd, 0x96, 0x80, 0x60, 0x0d, 0x0b, 0x55, 0x60, + 0xa6, 0x1d, 0x06, 0x31, 0xd7, 0x87, 0x56, 0xb8, 0x91, 0xcc, 0xb0, 0xe9, 0xdd, 0x58, 0x4b, 0xc1, + 0x71, 0x57, 0x0d, 0xf4, 0x1a, 0x8c, 0x0b, 0x8f, 0xc7, 0x5a, 0x10, 0x78, 0x42, 0x55, 0xa3, 0x4c, + 0x2e, 0xea, 0x09, 0x08, 0xeb, 0x78, 0x5a, 0x35, 0xa6, 0x64, 0x1d, 0xcd, 0xac, 0xc6, 0x15, 0xad, + 0x1a, 0x5e, 0x2a, 0x7c, 0xd0, 0xd8, 0x40, 0xe1, 0x83, 0x12, 0xe5, 0x55, 0x69, 0xe0, 0x77, 0x25, + 0xe8, 0xab, 0xee, 0xf9, 0x85, 0x21, 0x38, 0x27, 0x16, 0xce, 0xa3, 0x5e, 0x2e, 0x77, 0xba, 0x97, + 0xcb, 0x69, 0xa8, 0xb7, 0xbe, 0xb5, 0x66, 0xce, 0x7a, 0xcd, 0xfc, 0x5a, 0x11, 0x46, 0xf8, 0x54, + 0x9c, 0x81, 0x0c, 0xbf, 0x26, 0x94, 0x7e, 0x3d, 0x02, 0xe7, 0xf0, 0xbe, 0x2c, 0x54, 0x9c, 0xd8, + 0xe1, 0xe7, 0x97, 0x62, 0xa3, 0x89, 0x7a, 0x10, 0x2d, 0x18, 0x8c, 0x76, 0x3e, 0xa5, 0xd5, 0x02, + 0x4e, 0x43, 0x63, 0xbb, 0x5f, 0x01, 0x88, 0xe2, 0xd0, 0xf5, 0x5b, 0x94, 0x86, 0x08, 0xc1, 0xf4, + 0x7c, 0x8f, 0xd6, 0xeb, 0x0a, 0x99, 0xf7, 0x21, 0x59, 0x82, 0x0a, 0x80, 0x35, 0x8a, 0xf3, 0xaf, + 0x43, 0x49, 0x21, 0xf7, 0x53, 0x01, 0x4c, 0xe8, 0xa7, 0xde, 0x17, 0x61, 0x3a, 0xd5, 0xd6, 0x89, + 0x34, 0x08, 0xbf, 0x62, 0xc1, 0x34, 0xef, 0xf2, 0xaa, 0xbf, 0x2f, 0x36, 0xfb, 0x87, 0x70, 0xde, + 0xcb, 0xd8, 0x74, 0x62, 0x46, 0x07, 0xdf, 0xa4, 0x4a, 0x63, 0x90, 0x05, 0xc5, 0x99, 0x6d, 0xa0, + 0xab, 0x30, 0xc6, 0x5d, 0x70, 0x1c, 0x4f, 0xb8, 0x4d, 0x4c, 0xf0, 0x54, 0x1c, 0xbc, 0x0c, 0x2b, + 0xa8, 0xfd, 0x07, 0x16, 0xcc, 0xf2, 0x9e, 0xdf, 0x24, 0x07, 0xea, 0x76, 0xfc, 0x71, 0xf6, 0x5d, + 0x64, 0x1a, 0x29, 0xe4, 0x64, 0x1a, 0xd1, 0x3f, 0xad, 0xd8, 0xf3, 0xd3, 0x7e, 0xde, 0x02, 0xb1, + 0x02, 0xcf, 0xe0, 0x1e, 0xf8, 0xed, 0xe6, 0x3d, 0x70, 0x3e, 0x7f, 0x51, 0xe7, 0x5c, 0x00, 0xff, + 0xd2, 0x82, 0x19, 0x8e, 0x90, 0x3c, 0x44, 0x7e, 0xac, 0xf3, 0x30, 0x48, 0xfa, 0x3b, 0x95, 0x6f, + 0x3c, 0xfb, 0xa3, 0x8c, 0xc9, 0x1a, 0xea, 0x39, 0x59, 0x4d, 0xb9, 0x81, 0x4e, 0x90, 0xd6, 0xf1, + 0xc4, 0xc1, 0x71, 0xed, 0x3f, 0xb3, 0x00, 0xf1, 0x66, 0x8c, 0x73, 0x99, 0x9e, 0x76, 0xac, 0x54, + 0xd3, 0x04, 0x25, 0xac, 0x46, 0x41, 0xb0, 0x86, 0x75, 0x2a, 0xc3, 0x93, 0x7a, 0x4d, 0x2e, 0xf6, + 0x7f, 0x4d, 0x3e, 0xc1, 0x88, 0xfe, 0xd0, 0x10, 0xa4, 0x6d, 0xb4, 0xd1, 0x5d, 0x98, 0x68, 0x38, + 0x6d, 0x67, 0xcb, 0xf5, 0xdc, 0xd8, 0x25, 0x51, 0x2f, 0x33, 0x94, 0x15, 0x0d, 0x4f, 0xbc, 0x13, + 0x6a, 0x25, 0xd8, 0xa0, 0x83, 0x16, 0x00, 0xda, 0xa1, 0xbb, 0xef, 0x7a, 0xa4, 0xc5, 0xae, 0xc2, + 0xcc, 0x51, 0x8b, 0xdb, 0x56, 0xc8, 0x52, 0xac, 0x61, 0x64, 0x38, 0xf6, 0x14, 0x1f, 0x9d, 0x63, + 0xcf, 0xd0, 0x09, 0x1d, 0x7b, 0x86, 0x07, 0x72, 0xec, 0xc1, 0xf0, 0x98, 0x3c, 0xbb, 0xe9, 0xff, + 0x35, 0xd7, 0x23, 0x42, 0x60, 0xe3, 0xee, 0x5b, 0xf3, 0x47, 0x87, 0xe5, 0xc7, 0x70, 0x26, 0x06, + 0xce, 0xa9, 0x89, 0xbe, 0x04, 0x73, 0x8e, 0xe7, 0x05, 0xf7, 0xd5, 0xa8, 0xad, 0x46, 0x0d, 0xc7, + 0x4b, 0x62, 0xc5, 0x8f, 0x2d, 0x3f, 0x79, 0x74, 0x58, 0x9e, 0x5b, 0xca, 0xc1, 0xc1, 0xb9, 0xb5, + 0xed, 0x5d, 0x38, 0x57, 0x27, 0xa1, 0xcc, 0x14, 0xab, 0xb6, 0xd8, 0x26, 0x94, 0xc2, 0x14, 0x53, + 0x19, 0x28, 0x46, 0x8b, 0x16, 0xc7, 0x53, 0x32, 0x91, 0x84, 0x90, 0xfd, 0x17, 0x16, 0x8c, 0x0a, + 0xbb, 0xef, 0x33, 0x90, 0x65, 0x96, 0x0c, 0x7d, 0x64, 0x39, 0x9b, 0xf1, 0xb2, 0xce, 0xe4, 0x6a, + 0x22, 0xab, 0x29, 0x4d, 0xe4, 0xd3, 0xbd, 0x88, 0xf4, 0xd6, 0x41, 0xfe, 0x78, 0x11, 0xa6, 0x4c, + 0x9b, 0xf7, 0x33, 0x18, 0x82, 0x0d, 0x18, 0x8d, 0x84, 0x83, 0x45, 0x21, 0xdf, 0x10, 0x36, 0x3d, + 0x89, 0x89, 0x95, 0x8b, 0x70, 0xa9, 0x90, 0x44, 0x32, 0x3d, 0x37, 0x8a, 0x8f, 0xd0, 0x73, 0xa3, + 0x9f, 0xdb, 0xc1, 0xd0, 0x69, 0xb8, 0x1d, 0xd8, 0xbf, 0xce, 0x98, 0xbf, 0x5e, 0x7e, 0x06, 0x72, + 0xc1, 0x75, 0xf3, 0x98, 0xb0, 0x7b, 0xac, 0x2c, 0xd1, 0xa9, 0x1c, 0xf9, 0xe0, 0x1f, 0x5b, 0x30, + 0x2e, 0x10, 0xcf, 0xa0, 0xdb, 0xdf, 0x61, 0x76, 0xfb, 0x89, 0x1e, 0xdd, 0xce, 0xe9, 0xef, 0xdf, + 0x2d, 0xa8, 0xfe, 0xd6, 0x82, 0x30, 0x1e, 0x28, 0x77, 0xc8, 0x18, 0xbd, 0x0d, 0x06, 0x8d, 0xc0, + 0x13, 0x87, 0xf9, 0x93, 0x89, 0x07, 0x2f, 0x2f, 0x3f, 0xd6, 0x7e, 0x63, 0x85, 0xcd, 0x1c, 0x4c, + 0x83, 0x30, 0x16, 0x07, 0x68, 0xe2, 0x60, 0x1a, 0x84, 0x31, 0x66, 0x10, 0xd4, 0x04, 0x88, 0x9d, + 0xb0, 0x45, 0x62, 0x5a, 0x26, 0x82, 0x01, 0xe4, 0xef, 0xc2, 0x4e, 0xec, 0x7a, 0x0b, 0xae, 0x1f, + 0x47, 0x71, 0xb8, 0x50, 0xf5, 0xe3, 0xdb, 0x21, 0xbf, 0x1b, 0x68, 0x2e, 0xb9, 0x8a, 0x16, 0xd6, + 0xe8, 0x4a, 0x9f, 0x30, 0xd6, 0xc6, 0xb0, 0xf9, 0x50, 0xb8, 0x21, 0xca, 0xb1, 0xc2, 0xb0, 0x5f, + 0x67, 0x3c, 0x99, 0x0d, 0xd0, 0xc9, 0xbc, 0x65, 0x7f, 0x77, 0x4c, 0x0d, 0x2d, 0x7b, 0x25, 0xa8, + 0xe8, 0x3e, 0xb9, 0xbd, 0x59, 0x20, 0x6d, 0x58, 0xf7, 0x2f, 0x48, 0x1c, 0x77, 0xd1, 0x77, 0x76, + 0xbd, 0x1f, 0xbf, 0xd4, 0x87, 0x97, 0x9e, 0xe0, 0xc5, 0x98, 0x05, 0xa0, 0x65, 0x81, 0x3a, 0xab, + 0xb5, 0x74, 0x76, 0x97, 0x15, 0x09, 0xc0, 0x09, 0x0e, 0x5a, 0x14, 0x37, 0x4b, 0xae, 0x9f, 0x7b, + 0x22, 0x75, 0xb3, 0x94, 0x9f, 0xaf, 0x5d, 0x2d, 0x5f, 0x86, 0x71, 0x95, 0x31, 0xaf, 0xc6, 0x13, + 0x8f, 0x89, 0xd0, 0x08, 0xab, 0x49, 0x31, 0xd6, 0x71, 0xd0, 0x26, 0x4c, 0x47, 0x3c, 0x9d, 0x9f, + 0x8a, 0x80, 0xc5, 0xf5, 0x06, 0xcf, 0xcb, 0x77, 0xe7, 0xba, 0x09, 0x3e, 0x66, 0x45, 0x7c, 0xb3, + 0x4a, 0xc7, 0xae, 0x34, 0x09, 0xf4, 0x16, 0x4c, 0x79, 0x7a, 0x5a, 0xf3, 0x9a, 0x50, 0x2b, 0x28, + 0xb3, 0x4c, 0x23, 0xe9, 0x79, 0x0d, 0xa7, 0xb0, 0xa9, 0x10, 0xa0, 0x97, 0x88, 0xa8, 0x6d, 0x8e, + 0xdf, 0x22, 0x91, 0xc8, 0xf7, 0xc5, 0x84, 0x80, 0x5b, 0x39, 0x38, 0x38, 0xb7, 0x36, 0x7a, 0x03, + 0x26, 0xe4, 0xe7, 0x6b, 0x6e, 0x8b, 0x89, 0xf1, 0xaf, 0x06, 0xc3, 0x06, 0x26, 0xba, 0x0f, 0x17, + 0xe4, 0xff, 0xcd, 0xd0, 0xd9, 0xde, 0x76, 0x1b, 0xc2, 0x6b, 0x94, 0x7b, 0x40, 0x2c, 0x49, 0x97, + 0x8a, 0xd5, 0x2c, 0xa4, 0xe3, 0xc3, 0xf2, 0x65, 0x31, 0x6a, 0x99, 0x70, 0x36, 0x89, 0xd9, 0xf4, + 0xd1, 0x3a, 0x9c, 0xdb, 0x21, 0x8e, 0x17, 0xef, 0xac, 0xec, 0x90, 0xc6, 0xae, 0xdc, 0x44, 0xcc, + 0x19, 0x52, 0x33, 0x99, 0xbd, 0xd1, 0x8d, 0x82, 0xb3, 0xea, 0xa1, 0xf7, 0x60, 0xae, 0xdd, 0xd9, + 0xf2, 0xdc, 0x68, 0x67, 0x23, 0x88, 0xd9, 0x53, 0xb7, 0x4a, 0x38, 0x27, 0xbc, 0x26, 0x95, 0x23, + 0x68, 0x2d, 0x07, 0x0f, 0xe7, 0x52, 0x40, 0x1f, 0xc2, 0x85, 0xd4, 0x62, 0x10, 0x3e, 0x5c, 0x53, + 0xf9, 0x31, 0x30, 0xeb, 0x59, 0x15, 0x84, 0x4f, 0x56, 0x16, 0x08, 0x67, 0x37, 0xf1, 0xd1, 0x0c, + 0x20, 0x3e, 0xa0, 0x95, 0x35, 0xe9, 0x06, 0x7d, 0x15, 0x26, 0xf4, 0x55, 0x24, 0x0e, 0x98, 0x2b, + 0xfd, 0x52, 0xf8, 0x0b, 0xd9, 0x48, 0xad, 0x28, 0x1d, 0x86, 0x0d, 0x8a, 0x36, 0x81, 0xec, 0xef, + 0x43, 0xb7, 0x60, 0xac, 0xe1, 0xb9, 0xc4, 0x8f, 0xab, 0xb5, 0x5e, 0xde, 0xfe, 0x2b, 0x02, 0x47, + 0x0c, 0x98, 0x08, 0x1a, 0xc8, 0xcb, 0xb0, 0xa2, 0x60, 0xff, 0x66, 0x01, 0xca, 0x7d, 0x22, 0x50, + 0xa6, 0x74, 0x80, 0xd6, 0x40, 0x3a, 0xc0, 0x25, 0x99, 0x3e, 0x6f, 0x23, 0x75, 0xff, 0x4c, 0xa5, + 0xc6, 0x4b, 0x6e, 0xa1, 0x69, 0xfc, 0x81, 0xed, 0x26, 0x75, 0x35, 0xe2, 0x50, 0x5f, 0x8b, 0x5e, + 0xe3, 0xf9, 0x60, 0x78, 0x70, 0x89, 0x3e, 0x57, 0x15, 0x6c, 0xff, 0x7a, 0x01, 0x2e, 0xa8, 0x21, + 0xfc, 0x9b, 0x3b, 0x70, 0x77, 0xba, 0x07, 0xee, 0x14, 0x14, 0xe9, 0xf6, 0x6d, 0x18, 0xa9, 0x1f, + 0x44, 0x8d, 0xd8, 0x1b, 0x40, 0x00, 0x7a, 0xc6, 0x8c, 0x7a, 0xa3, 0x8e, 0x69, 0x23, 0xf2, 0xcd, + 0xff, 0x6b, 0xc1, 0xf4, 0xe6, 0x4a, 0xad, 0x1e, 0x34, 0x76, 0x49, 0xbc, 0xc4, 0xd5, 0x44, 0x58, + 0xc8, 0x3f, 0xd6, 0x43, 0xca, 0x35, 0x59, 0x12, 0xd3, 0x65, 0x18, 0xda, 0x09, 0xa2, 0x38, 0xfd, + 0xca, 0x76, 0x23, 0x88, 0x62, 0xcc, 0x20, 0xf6, 0x1f, 0x5a, 0x30, 0xcc, 0x92, 0xbe, 0xf6, 0x4b, + 0x0e, 0x3c, 0xc8, 0x77, 0xa1, 0xd7, 0x60, 0x84, 0x6c, 0x6f, 0x93, 0x46, 0x2c, 0x66, 0x55, 0xba, + 0xe9, 0x8d, 0xac, 0xb2, 0x52, 0x7a, 0xe8, 0xb3, 0xc6, 0xf8, 0x5f, 0x2c, 0x90, 0xd1, 0x3d, 0x28, + 0xc5, 0xee, 0x1e, 0x59, 0x6a, 0x36, 0xc5, 0x3b, 0xc5, 0x43, 0x78, 0x45, 0x6e, 0x4a, 0x02, 0x38, + 0xa1, 0x65, 0x7f, 0xbd, 0x00, 0x90, 0xb8, 0x1a, 0xf7, 0xfb, 0xc4, 0xe5, 0xae, 0xfc, 0xc7, 0x57, + 0x32, 0xf2, 0x1f, 0xa3, 0x84, 0x60, 0x46, 0xf6, 0x63, 0x35, 0x4c, 0xc5, 0x81, 0x86, 0x69, 0xe8, + 0x24, 0xc3, 0xb4, 0x02, 0xb3, 0x89, 0xab, 0xb4, 0x19, 0x37, 0x82, 0x45, 0xa4, 0xdf, 0x4c, 0x03, + 0x71, 0x37, 0xbe, 0xfd, 0x03, 0x16, 0x08, 0x77, 0x83, 0x01, 0x16, 0xf3, 0xbb, 0x32, 0x55, 0xa9, + 0x11, 0xc8, 0xf6, 0x72, 0xbe, 0xff, 0x85, 0x08, 0x5f, 0xab, 0x0e, 0x0f, 0x23, 0x68, 0xad, 0x41, + 0xcb, 0x6e, 0x82, 0x80, 0x56, 0x08, 0x53, 0x32, 0xf4, 0xef, 0xcd, 0x35, 0x80, 0x26, 0xc3, 0xd5, + 0x52, 0x1f, 0x2a, 0x56, 0x55, 0x51, 0x10, 0xac, 0x61, 0xd9, 0x3f, 0x5a, 0x80, 0x71, 0x19, 0x38, + 0x95, 0xde, 0xe3, 0xfb, 0xb7, 0x72, 0xa2, 0xac, 0x09, 0x2c, 0x57, 0x28, 0x25, 0xac, 0x82, 0xeb, + 0xeb, 0xb9, 0x42, 0x25, 0x00, 0x27, 0x38, 0xe8, 0x39, 0x18, 0x8d, 0x3a, 0x5b, 0x0c, 0x3d, 0x65, + 0x44, 0x5f, 0xe7, 0xc5, 0x58, 0xc2, 0xd1, 0x97, 0x60, 0x86, 0xd7, 0x0b, 0x83, 0xb6, 0xd3, 0xe2, + 0x1a, 0xa4, 0x61, 0xe5, 0xd5, 0x36, 0xb3, 0x9e, 0x82, 0x1d, 0x1f, 0x96, 0xcf, 0xa7, 0xcb, 0x98, + 0xee, 0xb1, 0x8b, 0x8a, 0xfd, 0x55, 0x40, 0xdd, 0xb1, 0x60, 0xd1, 0xdb, 0xdc, 0x4c, 0xc2, 0x0d, + 0x49, 0xb3, 0x97, 0x52, 0x51, 0x77, 0xc2, 0x92, 0x86, 0xac, 0xbc, 0x16, 0x56, 0xf5, 0xe9, 0xce, + 0x9b, 0x49, 0xbb, 0xe4, 0xa0, 0x1b, 0x30, 0xc2, 0x99, 0xaa, 0x20, 0xdf, 0xe3, 0xcd, 0x4a, 0x73, + 0xe4, 0x61, 0x81, 0xea, 0x05, 0x5f, 0x16, 0xf5, 0xd1, 0x7b, 0x30, 0xde, 0x0c, 0xee, 0xfb, 0xf7, + 0x9d, 0xb0, 0xb9, 0x54, 0xab, 0x8a, 0x75, 0x99, 0x29, 0x9b, 0x55, 0x12, 0x34, 0xdd, 0x39, 0x88, + 0xe9, 0x67, 0x13, 0x10, 0xd6, 0xc9, 0xa1, 0x4d, 0x16, 0xdf, 0x6a, 0xdb, 0x6d, 0xad, 0x3b, 0xed, + 0x5e, 0x76, 0x6d, 0x2b, 0x12, 0x49, 0xa3, 0x3c, 0x29, 0x82, 0x60, 0x71, 0x00, 0x4e, 0x08, 0xd9, + 0x5f, 0x3b, 0x07, 0xc6, 0x7e, 0x30, 0xf2, 0x32, 0x58, 0xa7, 0x94, 0x97, 0x01, 0xc3, 0x18, 0xd9, + 0x6b, 0xc7, 0x07, 0x15, 0x37, 0xec, 0x95, 0xd8, 0x67, 0x55, 0xe0, 0x74, 0xd3, 0x94, 0x10, 0xac, + 0xe8, 0x64, 0x27, 0xcf, 0x28, 0x7e, 0x8c, 0xc9, 0x33, 0x86, 0xce, 0x30, 0x79, 0xc6, 0x06, 0x8c, + 0xb6, 0xdc, 0x18, 0x93, 0x76, 0x20, 0x04, 0x8a, 0xcc, 0x95, 0x70, 0x9d, 0xa3, 0x74, 0x87, 0x6e, + 0x17, 0x00, 0x2c, 0x89, 0xa0, 0xb7, 0xd5, 0x1e, 0x18, 0xc9, 0x97, 0xc7, 0xbb, 0x9f, 0x37, 0x32, + 0x77, 0x81, 0x48, 0x96, 0x31, 0xfa, 0xb0, 0xc9, 0x32, 0xd6, 0x64, 0x8a, 0x8b, 0xb1, 0x7c, 0x33, + 0x50, 0x96, 0xc1, 0xa2, 0x4f, 0x62, 0x0b, 0x23, 0x19, 0x48, 0xe9, 0xf4, 0x92, 0x81, 0xfc, 0x80, + 0x05, 0x17, 0xda, 0x59, 0x79, 0x71, 0x44, 0x8a, 0x8a, 0xd7, 0x06, 0x4e, 0xfc, 0x63, 0x34, 0xc8, + 0x2e, 0x66, 0x99, 0x68, 0x38, 0xbb, 0x39, 0x3a, 0xd0, 0xe1, 0x56, 0x53, 0xe4, 0xb5, 0x78, 0x26, + 0x27, 0xab, 0x48, 0x8f, 0x5c, 0x22, 0x9b, 0x19, 0xb9, 0x2c, 0x3e, 0x9d, 0x97, 0xcb, 0x62, 0xe0, + 0x0c, 0x16, 0x49, 0x3e, 0x91, 0xc9, 0x8f, 0x9c, 0x4f, 0xe4, 0x6d, 0x95, 0x4f, 0xa4, 0x47, 0x14, + 0x21, 0x9e, 0x2d, 0xa4, 0x6f, 0x16, 0x11, 0x2d, 0x13, 0xc8, 0xf4, 0xe9, 0x64, 0x02, 0x31, 0x98, + 0x3d, 0x4f, 0x46, 0xf1, 0x42, 0x1f, 0x66, 0x6f, 0xd0, 0xed, 0xcd, 0xee, 0x79, 0xd6, 0x93, 0xd9, + 0x87, 0xca, 0x7a, 0x72, 0x57, 0xcf, 0x22, 0x82, 0xfa, 0xa4, 0xc9, 0xa0, 0x48, 0x03, 0xe6, 0x0e, + 0xb9, 0xab, 0x1f, 0x41, 0xe7, 0xf2, 0xe9, 0xaa, 0x93, 0xa6, 0x9b, 0x6e, 0xd6, 0x21, 0xd4, 0x9d, + 0x93, 0xe4, 0xfc, 0xd9, 0xe4, 0x24, 0xb9, 0x70, 0xea, 0x39, 0x49, 0x1e, 0x3b, 0x83, 0x9c, 0x24, + 0x8f, 0x7f, 0xac, 0x39, 0x49, 0xe6, 0x1e, 0x41, 0x4e, 0x92, 0x8d, 0x24, 0x27, 0xc9, 0xc5, 0xfc, + 0x29, 0xc9, 0xb0, 0x7b, 0xcb, 0xc9, 0x44, 0x72, 0x17, 0x4a, 0x6d, 0xe9, 0xb5, 0x2d, 0xc2, 0x1c, + 0x65, 0x27, 0x43, 0xcc, 0x72, 0xed, 0xe6, 0x53, 0xa2, 0x40, 0x38, 0x21, 0x45, 0xe9, 0x26, 0x99, + 0x49, 0x9e, 0xe8, 0xa1, 0x7a, 0xcb, 0x52, 0x6a, 0xe4, 0xe7, 0x23, 0xb1, 0xff, 0xbf, 0x02, 0x5c, + 0xea, 0xbd, 0xae, 0x13, 0x8d, 0x48, 0x2d, 0xd1, 0xe0, 0xa7, 0x34, 0x22, 0xfc, 0x9a, 0x91, 0x60, + 0x0d, 0x1c, 0xda, 0xe2, 0x3a, 0xcc, 0x2a, 0x83, 0x37, 0xcf, 0x6d, 0x1c, 0x68, 0x49, 0x12, 0x95, + 0xf3, 0x4d, 0x3d, 0x8d, 0x80, 0xbb, 0xeb, 0xa0, 0x25, 0x98, 0x36, 0x0a, 0xab, 0x15, 0x71, 0x9d, + 0x50, 0x2a, 0x98, 0xba, 0x09, 0xc6, 0x69, 0x7c, 0xfb, 0x1b, 0x16, 0x3c, 0x9e, 0x13, 0xae, 0x7b, + 0xe0, 0xc8, 0x0d, 0xdb, 0x30, 0xdd, 0x36, 0xab, 0xf6, 0x09, 0xf0, 0x62, 0x04, 0x05, 0x57, 0x7d, + 0x4d, 0x01, 0x70, 0x9a, 0xe8, 0xf2, 0xd5, 0xdf, 0xfe, 0xe3, 0x4b, 0x9f, 0xfa, 0xbd, 0x3f, 0xbe, + 0xf4, 0xa9, 0x3f, 0xf8, 0xe3, 0x4b, 0x9f, 0xfa, 0xbf, 0x8f, 0x2e, 0x59, 0xbf, 0x7d, 0x74, 0xc9, + 0xfa, 0xbd, 0xa3, 0x4b, 0xd6, 0x1f, 0x1c, 0x5d, 0xb2, 0xfe, 0xe8, 0xe8, 0x92, 0xf5, 0xf5, 0x3f, + 0xb9, 0xf4, 0xa9, 0x77, 0x0b, 0xfb, 0x2f, 0xff, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x64, 0x22, + 0x56, 0xbb, 0xf6, 0xe3, 0x00, 0x00, } diff --git a/staging/src/k8s.io/api/core/v1/generated.proto b/staging/src/k8s.io/api/core/v1/generated.proto index 3fb70aff4a9..4a3bbd36487 100644 --- a/staging/src/k8s.io/api/core/v1/generated.proto +++ b/staging/src/k8s.io/api/core/v1/generated.proto @@ -195,6 +195,30 @@ message CSIPersistentVolumeSource { // Attributes of the volume to publish. // +optional map volumeAttributes = 5; + + // ControllerPublishSecretRef is a reference to the secret object containing + // sensitive information to pass to the CSI driver to complete the CSI + // ControllerPublishVolume and ControllerUnpublishVolume calls. + // This field is optional, and may be empty if no secret is required. If the + // secret object contains more than one secret, all secrets are passed. + // +optional + optional SecretReference controllerPublishSecretRef = 6; + + // NodeStageSecretRef is a reference to the secret object containing sensitive + // information to pass to the CSI driver to complete the CSI NodeStageVolume + // and NodeStageVolume and NodeUnstageVolume calls. + // This field is optional, and may be empty if no secret is required. If the + // secret object contains more than one secret, all secrets are passed. + // +optional + optional SecretReference nodeStageSecretRef = 7; + + // NodePublishSecretRef is a reference to the secret object containing + // sensitive information to pass to the CSI driver to complete the CSI + // NodePublishVolume and NodeUnpublishVolume calls. + // This field is optional, and may be empty if no secret is required. If the + // secret object contains more than one secret, all secrets are passed. + // +optional + optional SecretReference nodePublishSecretRef = 8; } // Adds and removes POSIX capabilities from running containers. diff --git a/staging/src/k8s.io/api/core/v1/types_swagger_doc_generated.go b/staging/src/k8s.io/api/core/v1/types_swagger_doc_generated.go index 56b2c469fe7..8623647f175 100644 --- a/staging/src/k8s.io/api/core/v1/types_swagger_doc_generated.go +++ b/staging/src/k8s.io/api/core/v1/types_swagger_doc_generated.go @@ -117,12 +117,15 @@ func (Binding) SwaggerDoc() map[string]string { } var map_CSIPersistentVolumeSource = map[string]string{ - "": "Represents storage that is managed by an external CSI volume driver (Beta feature)", - "driver": "Driver is the name of the driver to use for this volume. Required.", - "volumeHandle": "VolumeHandle is the unique volume name returned by the CSI volume plugin’s CreateVolume to refer to the volume on all subsequent calls. Required.", - "readOnly": "Optional: The value to pass to ControllerPublishVolumeRequest. Defaults to false (read/write).", - "fsType": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.", - "volumeAttributes": "Attributes of the volume to publish.", + "": "Represents storage that is managed by an external CSI volume driver (Beta feature)", + "driver": "Driver is the name of the driver to use for this volume. Required.", + "volumeHandle": "VolumeHandle is the unique volume name returned by the CSI volume plugin’s CreateVolume to refer to the volume on all subsequent calls. Required.", + "readOnly": "Optional: The value to pass to ControllerPublishVolumeRequest. Defaults to false (read/write).", + "fsType": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.", + "volumeAttributes": "Attributes of the volume to publish.", + "controllerPublishSecretRef": "ControllerPublishSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI ControllerPublishVolume and ControllerUnpublishVolume calls. This field is optional, and may be empty if no secret is required. If the secret object contains more than one secret, all secrets are passed.", + "nodeStageSecretRef": "NodeStageSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI NodeStageVolume and NodeStageVolume and NodeUnstageVolume calls. This field is optional, and may be empty if no secret is required. If the secret object contains more than one secret, all secrets are passed.", + "nodePublishSecretRef": "NodePublishSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI NodePublishVolume and NodeUnpublishVolume calls. This field is optional, and may be empty if no secret is required. If the secret object contains more than one secret, all secrets are passed.", } func (CSIPersistentVolumeSource) SwaggerDoc() map[string]string { diff --git a/staging/src/k8s.io/api/core/v1/zz_generated.deepcopy.go b/staging/src/k8s.io/api/core/v1/zz_generated.deepcopy.go index 2bbb71c7d80..4e0e7a39a9b 100644 --- a/staging/src/k8s.io/api/core/v1/zz_generated.deepcopy.go +++ b/staging/src/k8s.io/api/core/v1/zz_generated.deepcopy.go @@ -256,6 +256,33 @@ func (in *CSIPersistentVolumeSource) DeepCopyInto(out *CSIPersistentVolumeSource (*out)[key] = val } } + if in.ControllerPublishSecretRef != nil { + in, out := &in.ControllerPublishSecretRef, &out.ControllerPublishSecretRef + if *in == nil { + *out = nil + } else { + *out = new(SecretReference) + **out = **in + } + } + if in.NodeStageSecretRef != nil { + in, out := &in.NodeStageSecretRef, &out.NodeStageSecretRef + if *in == nil { + *out = nil + } else { + *out = new(SecretReference) + **out = **in + } + } + if in.NodePublishSecretRef != nil { + in, out := &in.NodePublishSecretRef, &out.NodePublishSecretRef + if *in == nil { + *out = nil + } else { + *out = new(SecretReference) + **out = **in + } + } return } diff --git a/vendor/github.com/container-storage-interface/spec/lib/go/csi/csi.pb.go b/vendor/github.com/container-storage-interface/spec/lib/go/csi/csi.pb.go index 877c14e993a..997102111a0 100644 --- a/vendor/github.com/container-storage-interface/spec/lib/go/csi/csi.pb.go +++ b/vendor/github.com/container-storage-interface/spec/lib/go/csi/csi.pb.go @@ -13,6 +13,11 @@ It has these top-level messages: Version GetPluginInfoRequest GetPluginInfoResponse + GetPluginCapabilitiesRequest + GetPluginCapabilitiesResponse + PluginCapability + ProbeRequest + ProbeResponse CreateVolumeRequest CreateVolumeResponse VolumeCapability @@ -30,19 +35,19 @@ It has these top-level messages: ListVolumesResponse GetCapacityRequest GetCapacityResponse - ControllerProbeRequest - ControllerProbeResponse ControllerGetCapabilitiesRequest ControllerGetCapabilitiesResponse ControllerServiceCapability + NodeStageVolumeRequest + NodeStageVolumeResponse + NodeUnstageVolumeRequest + NodeUnstageVolumeResponse NodePublishVolumeRequest NodePublishVolumeResponse NodeUnpublishVolumeRequest NodeUnpublishVolumeResponse NodeGetIdRequest NodeGetIdResponse - NodeProbeRequest - NodeProbeResponse NodeGetCapabilitiesRequest NodeGetCapabilitiesResponse NodeServiceCapability @@ -69,6 +74,37 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package +type PluginCapability_Service_Type int32 + +const ( + PluginCapability_Service_UNKNOWN PluginCapability_Service_Type = 0 + // CONTROLLER_SERVICE indicates that the Plugin provides RPCs for + // the ControllerService. Plugins SHOULD provide this capability. + // In rare cases certain plugins may wish to omit the + // ControllerService entirely from their implementation, but such + // SHOULD NOT be the common case. + // The presence of this capability determines whether the CO will + // attempt to invoke the REQUIRED ControllerService RPCs, as well + // as specific RPCs as indicated by ControllerGetCapabilities. + PluginCapability_Service_CONTROLLER_SERVICE PluginCapability_Service_Type = 1 +) + +var PluginCapability_Service_Type_name = map[int32]string{ + 0: "UNKNOWN", + 1: "CONTROLLER_SERVICE", +} +var PluginCapability_Service_Type_value = map[string]int32{ + "UNKNOWN": 0, + "CONTROLLER_SERVICE": 1, +} + +func (x PluginCapability_Service_Type) String() string { + return proto.EnumName(PluginCapability_Service_Type_name, int32(x)) +} +func (PluginCapability_Service_Type) EnumDescriptor() ([]byte, []int) { + return fileDescriptor0, []int{7, 0, 0} +} + type VolumeCapability_AccessMode_Mode int32 const ( @@ -110,7 +146,7 @@ func (x VolumeCapability_AccessMode_Mode) String() string { return proto.EnumName(VolumeCapability_AccessMode_Mode_name, int32(x)) } func (VolumeCapability_AccessMode_Mode) EnumDescriptor() ([]byte, []int) { - return fileDescriptor0, []int{7, 2, 0} + return fileDescriptor0, []int{12, 2, 0} } type ControllerServiceCapability_RPC_Type int32 @@ -142,27 +178,30 @@ func (x ControllerServiceCapability_RPC_Type) String() string { return proto.EnumName(ControllerServiceCapability_RPC_Type_name, int32(x)) } func (ControllerServiceCapability_RPC_Type) EnumDescriptor() ([]byte, []int) { - return fileDescriptor0, []int{26, 0, 0} + return fileDescriptor0, []int{29, 0, 0} } type NodeServiceCapability_RPC_Type int32 const ( - NodeServiceCapability_RPC_UNKNOWN NodeServiceCapability_RPC_Type = 0 + NodeServiceCapability_RPC_UNKNOWN NodeServiceCapability_RPC_Type = 0 + NodeServiceCapability_RPC_STAGE_UNSTAGE_VOLUME NodeServiceCapability_RPC_Type = 1 ) var NodeServiceCapability_RPC_Type_name = map[int32]string{ 0: "UNKNOWN", + 1: "STAGE_UNSTAGE_VOLUME", } var NodeServiceCapability_RPC_Type_value = map[string]int32{ - "UNKNOWN": 0, + "UNKNOWN": 0, + "STAGE_UNSTAGE_VOLUME": 1, } func (x NodeServiceCapability_RPC_Type) String() string { return proto.EnumName(NodeServiceCapability_RPC_Type_name, int32(x)) } func (NodeServiceCapability_RPC_Type) EnumDescriptor() ([]byte, []int) { - return fileDescriptor0, []int{37, 0, 0} + return fileDescriptor0, []int{42, 0, 0} } // ////// @@ -290,6 +329,177 @@ func (m *GetPluginInfoResponse) GetManifest() map[string]string { return nil } +// ////// +// ////// +type GetPluginCapabilitiesRequest struct { + // The API version assumed by the CO. This is a REQUIRED field. + Version *Version `protobuf:"bytes,1,opt,name=version" json:"version,omitempty"` +} + +func (m *GetPluginCapabilitiesRequest) Reset() { *m = GetPluginCapabilitiesRequest{} } +func (m *GetPluginCapabilitiesRequest) String() string { return proto.CompactTextString(m) } +func (*GetPluginCapabilitiesRequest) ProtoMessage() {} +func (*GetPluginCapabilitiesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} } + +func (m *GetPluginCapabilitiesRequest) GetVersion() *Version { + if m != nil { + return m.Version + } + return nil +} + +type GetPluginCapabilitiesResponse struct { + // All the capabilities that the controller service supports. This + // field is OPTIONAL. + Capabilities []*PluginCapability `protobuf:"bytes,2,rep,name=capabilities" json:"capabilities,omitempty"` +} + +func (m *GetPluginCapabilitiesResponse) Reset() { *m = GetPluginCapabilitiesResponse{} } +func (m *GetPluginCapabilitiesResponse) String() string { return proto.CompactTextString(m) } +func (*GetPluginCapabilitiesResponse) ProtoMessage() {} +func (*GetPluginCapabilitiesResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} } + +func (m *GetPluginCapabilitiesResponse) GetCapabilities() []*PluginCapability { + if m != nil { + return m.Capabilities + } + return nil +} + +// Specifies a capability of the plugin. +type PluginCapability struct { + // Types that are valid to be assigned to Type: + // *PluginCapability_Service_ + Type isPluginCapability_Type `protobuf_oneof:"type"` +} + +func (m *PluginCapability) Reset() { *m = PluginCapability{} } +func (m *PluginCapability) String() string { return proto.CompactTextString(m) } +func (*PluginCapability) ProtoMessage() {} +func (*PluginCapability) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} } + +type isPluginCapability_Type interface { + isPluginCapability_Type() +} + +type PluginCapability_Service_ struct { + Service *PluginCapability_Service `protobuf:"bytes,1,opt,name=service,oneof"` +} + +func (*PluginCapability_Service_) isPluginCapability_Type() {} + +func (m *PluginCapability) GetType() isPluginCapability_Type { + if m != nil { + return m.Type + } + return nil +} + +func (m *PluginCapability) GetService() *PluginCapability_Service { + if x, ok := m.GetType().(*PluginCapability_Service_); ok { + return x.Service + } + return nil +} + +// XXX_OneofFuncs is for the internal use of the proto package. +func (*PluginCapability) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { + return _PluginCapability_OneofMarshaler, _PluginCapability_OneofUnmarshaler, _PluginCapability_OneofSizer, []interface{}{ + (*PluginCapability_Service_)(nil), + } +} + +func _PluginCapability_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { + m := msg.(*PluginCapability) + // type + switch x := m.Type.(type) { + case *PluginCapability_Service_: + b.EncodeVarint(1<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.Service); err != nil { + return err + } + case nil: + default: + return fmt.Errorf("PluginCapability.Type has unexpected type %T", x) + } + return nil +} + +func _PluginCapability_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { + m := msg.(*PluginCapability) + switch tag { + case 1: // type.service + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(PluginCapability_Service) + err := b.DecodeMessage(msg) + m.Type = &PluginCapability_Service_{msg} + return true, err + default: + return false, nil + } +} + +func _PluginCapability_OneofSizer(msg proto.Message) (n int) { + m := msg.(*PluginCapability) + // type + switch x := m.Type.(type) { + case *PluginCapability_Service_: + s := proto.Size(x.Service) + n += proto.SizeVarint(1<<3 | proto.WireBytes) + n += proto.SizeVarint(uint64(s)) + n += s + case nil: + default: + panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) + } + return n +} + +type PluginCapability_Service struct { + Type PluginCapability_Service_Type `protobuf:"varint,1,opt,name=type,enum=csi.PluginCapability_Service_Type" json:"type,omitempty"` +} + +func (m *PluginCapability_Service) Reset() { *m = PluginCapability_Service{} } +func (m *PluginCapability_Service) String() string { return proto.CompactTextString(m) } +func (*PluginCapability_Service) ProtoMessage() {} +func (*PluginCapability_Service) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7, 0} } + +func (m *PluginCapability_Service) GetType() PluginCapability_Service_Type { + if m != nil { + return m.Type + } + return PluginCapability_Service_UNKNOWN +} + +// ////// +// ////// +type ProbeRequest struct { + // The API version assumed by the CO. This is a REQUIRED field. + Version *Version `protobuf:"bytes,1,opt,name=version" json:"version,omitempty"` +} + +func (m *ProbeRequest) Reset() { *m = ProbeRequest{} } +func (m *ProbeRequest) String() string { return proto.CompactTextString(m) } +func (*ProbeRequest) ProtoMessage() {} +func (*ProbeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} } + +func (m *ProbeRequest) GetVersion() *Version { + if m != nil { + return m.Version + } + return nil +} + +type ProbeResponse struct { +} + +func (m *ProbeResponse) Reset() { *m = ProbeResponse{} } +func (m *ProbeResponse) String() string { return proto.CompactTextString(m) } +func (*ProbeResponse) ProtoMessage() {} +func (*ProbeResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} } + // ////// // ////// type CreateVolumeRequest struct { @@ -345,7 +555,7 @@ type CreateVolumeRequest struct { func (m *CreateVolumeRequest) Reset() { *m = CreateVolumeRequest{} } func (m *CreateVolumeRequest) String() string { return proto.CompactTextString(m) } func (*CreateVolumeRequest) ProtoMessage() {} -func (*CreateVolumeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} } +func (*CreateVolumeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} } func (m *CreateVolumeRequest) GetVersion() *Version { if m != nil { @@ -399,7 +609,7 @@ type CreateVolumeResponse struct { func (m *CreateVolumeResponse) Reset() { *m = CreateVolumeResponse{} } func (m *CreateVolumeResponse) String() string { return proto.CompactTextString(m) } func (*CreateVolumeResponse) ProtoMessage() {} -func (*CreateVolumeResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} } +func (*CreateVolumeResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} } func (m *CreateVolumeResponse) GetVolume() *Volume { if m != nil { @@ -424,7 +634,7 @@ type VolumeCapability struct { func (m *VolumeCapability) Reset() { *m = VolumeCapability{} } func (m *VolumeCapability) String() string { return proto.CompactTextString(m) } func (*VolumeCapability) ProtoMessage() {} -func (*VolumeCapability) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} } +func (*VolumeCapability) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} } type isVolumeCapability_AccessType interface { isVolumeCapability_AccessType() @@ -546,10 +756,12 @@ func _VolumeCapability_OneofSizer(msg proto.Message) (n int) { type VolumeCapability_BlockVolume struct { } -func (m *VolumeCapability_BlockVolume) Reset() { *m = VolumeCapability_BlockVolume{} } -func (m *VolumeCapability_BlockVolume) String() string { return proto.CompactTextString(m) } -func (*VolumeCapability_BlockVolume) ProtoMessage() {} -func (*VolumeCapability_BlockVolume) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7, 0} } +func (m *VolumeCapability_BlockVolume) Reset() { *m = VolumeCapability_BlockVolume{} } +func (m *VolumeCapability_BlockVolume) String() string { return proto.CompactTextString(m) } +func (*VolumeCapability_BlockVolume) ProtoMessage() {} +func (*VolumeCapability_BlockVolume) Descriptor() ([]byte, []int) { + return fileDescriptor0, []int{12, 0} +} // Indicate that the volume will be accessed via the filesystem API. type VolumeCapability_MountVolume struct { @@ -564,10 +776,12 @@ type VolumeCapability_MountVolume struct { MountFlags []string `protobuf:"bytes,2,rep,name=mount_flags,json=mountFlags" json:"mount_flags,omitempty"` } -func (m *VolumeCapability_MountVolume) Reset() { *m = VolumeCapability_MountVolume{} } -func (m *VolumeCapability_MountVolume) String() string { return proto.CompactTextString(m) } -func (*VolumeCapability_MountVolume) ProtoMessage() {} -func (*VolumeCapability_MountVolume) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7, 1} } +func (m *VolumeCapability_MountVolume) Reset() { *m = VolumeCapability_MountVolume{} } +func (m *VolumeCapability_MountVolume) String() string { return proto.CompactTextString(m) } +func (*VolumeCapability_MountVolume) ProtoMessage() {} +func (*VolumeCapability_MountVolume) Descriptor() ([]byte, []int) { + return fileDescriptor0, []int{12, 1} +} func (m *VolumeCapability_MountVolume) GetFsType() string { if m != nil { @@ -592,7 +806,7 @@ type VolumeCapability_AccessMode struct { func (m *VolumeCapability_AccessMode) Reset() { *m = VolumeCapability_AccessMode{} } func (m *VolumeCapability_AccessMode) String() string { return proto.CompactTextString(m) } func (*VolumeCapability_AccessMode) ProtoMessage() {} -func (*VolumeCapability_AccessMode) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7, 2} } +func (*VolumeCapability_AccessMode) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12, 2} } func (m *VolumeCapability_AccessMode) GetMode() VolumeCapability_AccessMode_Mode { if m != nil { @@ -618,7 +832,7 @@ type CapacityRange struct { func (m *CapacityRange) Reset() { *m = CapacityRange{} } func (m *CapacityRange) String() string { return proto.CompactTextString(m) } func (*CapacityRange) ProtoMessage() {} -func (*CapacityRange) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} } +func (*CapacityRange) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} } func (m *CapacityRange) GetRequiredBytes() int64 { if m != nil { @@ -659,7 +873,7 @@ type Volume struct { func (m *Volume) Reset() { *m = Volume{} } func (m *Volume) String() string { return proto.CompactTextString(m) } func (*Volume) ProtoMessage() {} -func (*Volume) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} } +func (*Volume) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} } func (m *Volume) GetCapacityBytes() int64 { if m != nil { @@ -707,7 +921,7 @@ type DeleteVolumeRequest struct { func (m *DeleteVolumeRequest) Reset() { *m = DeleteVolumeRequest{} } func (m *DeleteVolumeRequest) String() string { return proto.CompactTextString(m) } func (*DeleteVolumeRequest) ProtoMessage() {} -func (*DeleteVolumeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} } +func (*DeleteVolumeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} } func (m *DeleteVolumeRequest) GetVersion() *Version { if m != nil { @@ -736,7 +950,7 @@ type DeleteVolumeResponse struct { func (m *DeleteVolumeResponse) Reset() { *m = DeleteVolumeResponse{} } func (m *DeleteVolumeResponse) String() string { return proto.CompactTextString(m) } func (*DeleteVolumeResponse) ProtoMessage() {} -func (*DeleteVolumeResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} } +func (*DeleteVolumeResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} } // ////// // ////// @@ -776,7 +990,7 @@ type ControllerPublishVolumeRequest struct { func (m *ControllerPublishVolumeRequest) Reset() { *m = ControllerPublishVolumeRequest{} } func (m *ControllerPublishVolumeRequest) String() string { return proto.CompactTextString(m) } func (*ControllerPublishVolumeRequest) ProtoMessage() {} -func (*ControllerPublishVolumeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} } +func (*ControllerPublishVolumeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} } func (m *ControllerPublishVolumeRequest) GetVersion() *Version { if m != nil { @@ -829,7 +1043,8 @@ func (m *ControllerPublishVolumeRequest) GetVolumeAttributes() map[string]string type ControllerPublishVolumeResponse struct { // The SP specific information that will be passed to the Plugin in - // the subsequent `NodePublishVolume` call for the given volume. + // the subsequent `NodeStageVolume` or `NodePublishVolume` calls + // for the given volume. // This information is opaque to the CO. This field is OPTIONAL. PublishInfo map[string]string `protobuf:"bytes,1,rep,name=publish_info,json=publishInfo" json:"publish_info,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` } @@ -838,7 +1053,7 @@ func (m *ControllerPublishVolumeResponse) Reset() { *m = ControllerPubli func (m *ControllerPublishVolumeResponse) String() string { return proto.CompactTextString(m) } func (*ControllerPublishVolumeResponse) ProtoMessage() {} func (*ControllerPublishVolumeResponse) Descriptor() ([]byte, []int) { - return fileDescriptor0, []int{13} + return fileDescriptor0, []int{18} } func (m *ControllerPublishVolumeResponse) GetPublishInfo() map[string]string { @@ -879,7 +1094,7 @@ func (m *ControllerUnpublishVolumeRequest) Reset() { *m = ControllerUnpu func (m *ControllerUnpublishVolumeRequest) String() string { return proto.CompactTextString(m) } func (*ControllerUnpublishVolumeRequest) ProtoMessage() {} func (*ControllerUnpublishVolumeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor0, []int{14} + return fileDescriptor0, []int{19} } func (m *ControllerUnpublishVolumeRequest) GetVersion() *Version { @@ -917,7 +1132,7 @@ func (m *ControllerUnpublishVolumeResponse) Reset() { *m = ControllerUnp func (m *ControllerUnpublishVolumeResponse) String() string { return proto.CompactTextString(m) } func (*ControllerUnpublishVolumeResponse) ProtoMessage() {} func (*ControllerUnpublishVolumeResponse) Descriptor() ([]byte, []int) { - return fileDescriptor0, []int{15} + return fileDescriptor0, []int{20} } // ////// @@ -940,7 +1155,7 @@ func (m *ValidateVolumeCapabilitiesRequest) Reset() { *m = ValidateVolum func (m *ValidateVolumeCapabilitiesRequest) String() string { return proto.CompactTextString(m) } func (*ValidateVolumeCapabilitiesRequest) ProtoMessage() {} func (*ValidateVolumeCapabilitiesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor0, []int{16} + return fileDescriptor0, []int{21} } func (m *ValidateVolumeCapabilitiesRequest) GetVersion() *Version { @@ -985,7 +1200,7 @@ func (m *ValidateVolumeCapabilitiesResponse) Reset() { *m = ValidateVolu func (m *ValidateVolumeCapabilitiesResponse) String() string { return proto.CompactTextString(m) } func (*ValidateVolumeCapabilitiesResponse) ProtoMessage() {} func (*ValidateVolumeCapabilitiesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor0, []int{17} + return fileDescriptor0, []int{22} } func (m *ValidateVolumeCapabilitiesResponse) GetSupported() bool { @@ -1026,7 +1241,7 @@ type ListVolumesRequest struct { func (m *ListVolumesRequest) Reset() { *m = ListVolumesRequest{} } func (m *ListVolumesRequest) String() string { return proto.CompactTextString(m) } func (*ListVolumesRequest) ProtoMessage() {} -func (*ListVolumesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} } +func (*ListVolumesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} } func (m *ListVolumesRequest) GetVersion() *Version { if m != nil { @@ -1063,7 +1278,7 @@ type ListVolumesResponse struct { func (m *ListVolumesResponse) Reset() { *m = ListVolumesResponse{} } func (m *ListVolumesResponse) String() string { return proto.CompactTextString(m) } func (*ListVolumesResponse) ProtoMessage() {} -func (*ListVolumesResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} } +func (*ListVolumesResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{24} } func (m *ListVolumesResponse) GetEntries() []*ListVolumesResponse_Entry { if m != nil { @@ -1086,7 +1301,7 @@ type ListVolumesResponse_Entry struct { func (m *ListVolumesResponse_Entry) Reset() { *m = ListVolumesResponse_Entry{} } func (m *ListVolumesResponse_Entry) String() string { return proto.CompactTextString(m) } func (*ListVolumesResponse_Entry) ProtoMessage() {} -func (*ListVolumesResponse_Entry) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19, 0} } +func (*ListVolumesResponse_Entry) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{24, 0} } func (m *ListVolumesResponse_Entry) GetVolume() *Volume { if m != nil { @@ -1116,7 +1331,7 @@ type GetCapacityRequest struct { func (m *GetCapacityRequest) Reset() { *m = GetCapacityRequest{} } func (m *GetCapacityRequest) String() string { return proto.CompactTextString(m) } func (*GetCapacityRequest) ProtoMessage() {} -func (*GetCapacityRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} } +func (*GetCapacityRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{25} } func (m *GetCapacityRequest) GetVersion() *Version { if m != nil { @@ -1152,7 +1367,7 @@ type GetCapacityResponse struct { func (m *GetCapacityResponse) Reset() { *m = GetCapacityResponse{} } func (m *GetCapacityResponse) String() string { return proto.CompactTextString(m) } func (*GetCapacityResponse) ProtoMessage() {} -func (*GetCapacityResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} } +func (*GetCapacityResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{26} } func (m *GetCapacityResponse) GetAvailableCapacity() int64 { if m != nil { @@ -1161,33 +1376,6 @@ func (m *GetCapacityResponse) GetAvailableCapacity() int64 { return 0 } -// ////// -// ////// -type ControllerProbeRequest struct { - // The API version assumed by the CO. This is a REQUIRED field. - Version *Version `protobuf:"bytes,1,opt,name=version" json:"version,omitempty"` -} - -func (m *ControllerProbeRequest) Reset() { *m = ControllerProbeRequest{} } -func (m *ControllerProbeRequest) String() string { return proto.CompactTextString(m) } -func (*ControllerProbeRequest) ProtoMessage() {} -func (*ControllerProbeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{22} } - -func (m *ControllerProbeRequest) GetVersion() *Version { - if m != nil { - return m.Version - } - return nil -} - -type ControllerProbeResponse struct { -} - -func (m *ControllerProbeResponse) Reset() { *m = ControllerProbeResponse{} } -func (m *ControllerProbeResponse) String() string { return proto.CompactTextString(m) } -func (*ControllerProbeResponse) ProtoMessage() {} -func (*ControllerProbeResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} } - // ////// // ////// type ControllerGetCapabilitiesRequest struct { @@ -1199,7 +1387,7 @@ func (m *ControllerGetCapabilitiesRequest) Reset() { *m = ControllerGetC func (m *ControllerGetCapabilitiesRequest) String() string { return proto.CompactTextString(m) } func (*ControllerGetCapabilitiesRequest) ProtoMessage() {} func (*ControllerGetCapabilitiesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor0, []int{24} + return fileDescriptor0, []int{27} } func (m *ControllerGetCapabilitiesRequest) GetVersion() *Version { @@ -1219,7 +1407,7 @@ func (m *ControllerGetCapabilitiesResponse) Reset() { *m = ControllerGet func (m *ControllerGetCapabilitiesResponse) String() string { return proto.CompactTextString(m) } func (*ControllerGetCapabilitiesResponse) ProtoMessage() {} func (*ControllerGetCapabilitiesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor0, []int{25} + return fileDescriptor0, []int{28} } func (m *ControllerGetCapabilitiesResponse) GetCapabilities() []*ControllerServiceCapability { @@ -1239,7 +1427,7 @@ type ControllerServiceCapability struct { func (m *ControllerServiceCapability) Reset() { *m = ControllerServiceCapability{} } func (m *ControllerServiceCapability) String() string { return proto.CompactTextString(m) } func (*ControllerServiceCapability) ProtoMessage() {} -func (*ControllerServiceCapability) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{26} } +func (*ControllerServiceCapability) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{29} } type isControllerServiceCapability_Type interface { isControllerServiceCapability_Type() @@ -1328,7 +1516,7 @@ func (m *ControllerServiceCapability_RPC) Reset() { *m = ControllerServi func (m *ControllerServiceCapability_RPC) String() string { return proto.CompactTextString(m) } func (*ControllerServiceCapability_RPC) ProtoMessage() {} func (*ControllerServiceCapability_RPC) Descriptor() ([]byte, []int) { - return fileDescriptor0, []int{26, 0} + return fileDescriptor0, []int{29, 0} } func (m *ControllerServiceCapability_RPC) GetType() ControllerServiceCapability_RPC_Type { @@ -1338,6 +1526,174 @@ func (m *ControllerServiceCapability_RPC) GetType() ControllerServiceCapability_ return ControllerServiceCapability_RPC_UNKNOWN } +// ////// +// ////// +type NodeStageVolumeRequest struct { + // The API version assumed by the CO. This is a REQUIRED field. + Version *Version `protobuf:"bytes,1,opt,name=version" json:"version,omitempty"` + // The ID of the volume to publish. This field is REQUIRED. + VolumeId string `protobuf:"bytes,2,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"` + // The CO SHALL set this field to the value returned by + // `ControllerPublishVolume` if the corresponding Controller Plugin + // has `PUBLISH_UNPUBLISH_VOLUME` controller capability, and SHALL be + // left unset if the corresponding Controller Plugin does not have + // this capability. This is an OPTIONAL field. + PublishInfo map[string]string `protobuf:"bytes,3,rep,name=publish_info,json=publishInfo" json:"publish_info,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + // The path to which the volume will be published. It MUST be an + // absolute path in the root filesystem of the process serving this + // request. The CO SHALL ensure that there is only one + // staging_target_path per volume. + // This is a REQUIRED field. + StagingTargetPath string `protobuf:"bytes,4,opt,name=staging_target_path,json=stagingTargetPath" json:"staging_target_path,omitempty"` + // The capability of the volume the CO expects the volume to have. + // This is a REQUIRED field. + VolumeCapability *VolumeCapability `protobuf:"bytes,5,opt,name=volume_capability,json=volumeCapability" json:"volume_capability,omitempty"` + // Credentials used by Node plugin to authenticate/authorize node + // stage request. + // This field contains credential data, for example username and + // password. Each key must consist of alphanumeric characters, '-', + // '_' or '.'. Each value MUST contain a valid string. An SP MAY + // choose to accept binary (non-string) data by using a binary-to-text + // encoding scheme, like base64. An SP SHALL advertise the + // requirements for credentials in documentation. COs SHALL permit + // passing through the required credentials. This information is + // sensitive and MUST be treated as such (not logged, etc.) by the CO. + // This field is OPTIONAL. + NodeStageCredentials map[string]string `protobuf:"bytes,6,rep,name=node_stage_credentials,json=nodeStageCredentials" json:"node_stage_credentials,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + // Attributes of the volume to publish. This field is OPTIONAL and + // MUST match the attributes of the VolumeInfo identified by + // `volume_id`. + VolumeAttributes map[string]string `protobuf:"bytes,7,rep,name=volume_attributes,json=volumeAttributes" json:"volume_attributes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` +} + +func (m *NodeStageVolumeRequest) Reset() { *m = NodeStageVolumeRequest{} } +func (m *NodeStageVolumeRequest) String() string { return proto.CompactTextString(m) } +func (*NodeStageVolumeRequest) ProtoMessage() {} +func (*NodeStageVolumeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{30} } + +func (m *NodeStageVolumeRequest) GetVersion() *Version { + if m != nil { + return m.Version + } + return nil +} + +func (m *NodeStageVolumeRequest) GetVolumeId() string { + if m != nil { + return m.VolumeId + } + return "" +} + +func (m *NodeStageVolumeRequest) GetPublishInfo() map[string]string { + if m != nil { + return m.PublishInfo + } + return nil +} + +func (m *NodeStageVolumeRequest) GetStagingTargetPath() string { + if m != nil { + return m.StagingTargetPath + } + return "" +} + +func (m *NodeStageVolumeRequest) GetVolumeCapability() *VolumeCapability { + if m != nil { + return m.VolumeCapability + } + return nil +} + +func (m *NodeStageVolumeRequest) GetNodeStageCredentials() map[string]string { + if m != nil { + return m.NodeStageCredentials + } + return nil +} + +func (m *NodeStageVolumeRequest) GetVolumeAttributes() map[string]string { + if m != nil { + return m.VolumeAttributes + } + return nil +} + +type NodeStageVolumeResponse struct { +} + +func (m *NodeStageVolumeResponse) Reset() { *m = NodeStageVolumeResponse{} } +func (m *NodeStageVolumeResponse) String() string { return proto.CompactTextString(m) } +func (*NodeStageVolumeResponse) ProtoMessage() {} +func (*NodeStageVolumeResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{31} } + +// ////// +// ////// +type NodeUnstageVolumeRequest struct { + // The API version assumed by the CO. This is a REQUIRED field. + Version *Version `protobuf:"bytes,1,opt,name=version" json:"version,omitempty"` + // The ID of the volume. This field is REQUIRED. + VolumeId string `protobuf:"bytes,2,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"` + // The path at which the volume was published. It MUST be an absolute + // path in the root filesystem of the process serving this request. + // This is a REQUIRED field. + StagingTargetPath string `protobuf:"bytes,3,opt,name=staging_target_path,json=stagingTargetPath" json:"staging_target_path,omitempty"` + // Credentials used by Node plugin to authenticate/authorize node + // unstage request. + // This field contains credential data, for example username and + // password. Each key must consist of alphanumeric characters, '-', + // '_' or '.'. Each value MUST contain a valid string. An SP MAY + // choose to accept binary (non-string) data by using a binary-to-text + // encoding scheme, like base64. An SP SHALL advertise the + // requirements for credentials in documentation. COs SHALL permit + // passing through the required credentials. This information is + // sensitive and MUST be treated as such (not logged, etc.) by the CO. + // This field is OPTIONAL. + NodeUnstageCredentials map[string]string `protobuf:"bytes,4,rep,name=node_unstage_credentials,json=nodeUnstageCredentials" json:"node_unstage_credentials,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` +} + +func (m *NodeUnstageVolumeRequest) Reset() { *m = NodeUnstageVolumeRequest{} } +func (m *NodeUnstageVolumeRequest) String() string { return proto.CompactTextString(m) } +func (*NodeUnstageVolumeRequest) ProtoMessage() {} +func (*NodeUnstageVolumeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{32} } + +func (m *NodeUnstageVolumeRequest) GetVersion() *Version { + if m != nil { + return m.Version + } + return nil +} + +func (m *NodeUnstageVolumeRequest) GetVolumeId() string { + if m != nil { + return m.VolumeId + } + return "" +} + +func (m *NodeUnstageVolumeRequest) GetStagingTargetPath() string { + if m != nil { + return m.StagingTargetPath + } + return "" +} + +func (m *NodeUnstageVolumeRequest) GetNodeUnstageCredentials() map[string]string { + if m != nil { + return m.NodeUnstageCredentials + } + return nil +} + +type NodeUnstageVolumeResponse struct { +} + +func (m *NodeUnstageVolumeResponse) Reset() { *m = NodeUnstageVolumeResponse{} } +func (m *NodeUnstageVolumeResponse) String() string { return proto.CompactTextString(m) } +func (*NodeUnstageVolumeResponse) ProtoMessage() {} +func (*NodeUnstageVolumeResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{33} } + // ////// // ////// type NodePublishVolumeRequest struct { @@ -1351,19 +1707,26 @@ type NodePublishVolumeRequest struct { // left unset if the corresponding Controller Plugin does not have // this capability. This is an OPTIONAL field. PublishInfo map[string]string `protobuf:"bytes,3,rep,name=publish_info,json=publishInfo" json:"publish_info,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + // The path to which the device was mounted by `NodeStageVolume`. + // It MUST be an absolute path in the root filesystem of the process + // serving this request. + // It MUST be set if the Node Plugin implements the + // `STAGE_UNSTAGE_VOLUME` node capability. + // This is an OPTIONAL field. + StagingTargetPath string `protobuf:"bytes,4,opt,name=staging_target_path,json=stagingTargetPath" json:"staging_target_path,omitempty"` // The path to which the volume will be published. It MUST be an // absolute path in the root filesystem of the process serving this // request. The CO SHALL ensure uniqueness of target_path per volume. // The CO SHALL ensure that the path exists, and that the process // serving the request has `read` and `write` permissions to the path. // This is a REQUIRED field. - TargetPath string `protobuf:"bytes,4,opt,name=target_path,json=targetPath" json:"target_path,omitempty"` + TargetPath string `protobuf:"bytes,5,opt,name=target_path,json=targetPath" json:"target_path,omitempty"` // The capability of the volume the CO expects the volume to have. // This is a REQUIRED field. - VolumeCapability *VolumeCapability `protobuf:"bytes,5,opt,name=volume_capability,json=volumeCapability" json:"volume_capability,omitempty"` + VolumeCapability *VolumeCapability `protobuf:"bytes,6,opt,name=volume_capability,json=volumeCapability" json:"volume_capability,omitempty"` // Whether to publish the volume in readonly mode. This field is // REQUIRED. - Readonly bool `protobuf:"varint,6,opt,name=readonly" json:"readonly,omitempty"` + Readonly bool `protobuf:"varint,7,opt,name=readonly" json:"readonly,omitempty"` // Credentials used by Node plugin to authenticate/authorize node // publish request. // This field contains credential data, for example username and @@ -1375,17 +1738,17 @@ type NodePublishVolumeRequest struct { // passing through the required credentials. This information is // sensitive and MUST be treated as such (not logged, etc.) by the CO. // This field is OPTIONAL. - NodePublishCredentials map[string]string `protobuf:"bytes,7,rep,name=node_publish_credentials,json=nodePublishCredentials" json:"node_publish_credentials,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + NodePublishCredentials map[string]string `protobuf:"bytes,8,rep,name=node_publish_credentials,json=nodePublishCredentials" json:"node_publish_credentials,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // Attributes of the volume to publish. This field is OPTIONAL and // MUST match the attributes of the Volume identified by // `volume_id`. - VolumeAttributes map[string]string `protobuf:"bytes,8,rep,name=volume_attributes,json=volumeAttributes" json:"volume_attributes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + VolumeAttributes map[string]string `protobuf:"bytes,9,rep,name=volume_attributes,json=volumeAttributes" json:"volume_attributes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` } func (m *NodePublishVolumeRequest) Reset() { *m = NodePublishVolumeRequest{} } func (m *NodePublishVolumeRequest) String() string { return proto.CompactTextString(m) } func (*NodePublishVolumeRequest) ProtoMessage() {} -func (*NodePublishVolumeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{27} } +func (*NodePublishVolumeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{34} } func (m *NodePublishVolumeRequest) GetVersion() *Version { if m != nil { @@ -1408,6 +1771,13 @@ func (m *NodePublishVolumeRequest) GetPublishInfo() map[string]string { return nil } +func (m *NodePublishVolumeRequest) GetStagingTargetPath() string { + if m != nil { + return m.StagingTargetPath + } + return "" +} + func (m *NodePublishVolumeRequest) GetTargetPath() string { if m != nil { return m.TargetPath @@ -1449,7 +1819,7 @@ type NodePublishVolumeResponse struct { func (m *NodePublishVolumeResponse) Reset() { *m = NodePublishVolumeResponse{} } func (m *NodePublishVolumeResponse) String() string { return proto.CompactTextString(m) } func (*NodePublishVolumeResponse) ProtoMessage() {} -func (*NodePublishVolumeResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{28} } +func (*NodePublishVolumeResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{35} } // ////// // ////// @@ -1479,7 +1849,7 @@ type NodeUnpublishVolumeRequest struct { func (m *NodeUnpublishVolumeRequest) Reset() { *m = NodeUnpublishVolumeRequest{} } func (m *NodeUnpublishVolumeRequest) String() string { return proto.CompactTextString(m) } func (*NodeUnpublishVolumeRequest) ProtoMessage() {} -func (*NodeUnpublishVolumeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{29} } +func (*NodeUnpublishVolumeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{36} } func (m *NodeUnpublishVolumeRequest) GetVersion() *Version { if m != nil { @@ -1515,7 +1885,7 @@ type NodeUnpublishVolumeResponse struct { func (m *NodeUnpublishVolumeResponse) Reset() { *m = NodeUnpublishVolumeResponse{} } func (m *NodeUnpublishVolumeResponse) String() string { return proto.CompactTextString(m) } func (*NodeUnpublishVolumeResponse) ProtoMessage() {} -func (*NodeUnpublishVolumeResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{30} } +func (*NodeUnpublishVolumeResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{37} } // ////// // ////// @@ -1527,7 +1897,7 @@ type NodeGetIdRequest struct { func (m *NodeGetIdRequest) Reset() { *m = NodeGetIdRequest{} } func (m *NodeGetIdRequest) String() string { return proto.CompactTextString(m) } func (*NodeGetIdRequest) ProtoMessage() {} -func (*NodeGetIdRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{31} } +func (*NodeGetIdRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{38} } func (m *NodeGetIdRequest) GetVersion() *Version { if m != nil { @@ -1546,7 +1916,7 @@ type NodeGetIdResponse struct { func (m *NodeGetIdResponse) Reset() { *m = NodeGetIdResponse{} } func (m *NodeGetIdResponse) String() string { return proto.CompactTextString(m) } func (*NodeGetIdResponse) ProtoMessage() {} -func (*NodeGetIdResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{32} } +func (*NodeGetIdResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{39} } func (m *NodeGetIdResponse) GetNodeId() string { if m != nil { @@ -1555,33 +1925,6 @@ func (m *NodeGetIdResponse) GetNodeId() string { return "" } -// ////// -// ////// -type NodeProbeRequest struct { - // The API version assumed by the CO. This is a REQUIRED field. - Version *Version `protobuf:"bytes,1,opt,name=version" json:"version,omitempty"` -} - -func (m *NodeProbeRequest) Reset() { *m = NodeProbeRequest{} } -func (m *NodeProbeRequest) String() string { return proto.CompactTextString(m) } -func (*NodeProbeRequest) ProtoMessage() {} -func (*NodeProbeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{33} } - -func (m *NodeProbeRequest) GetVersion() *Version { - if m != nil { - return m.Version - } - return nil -} - -type NodeProbeResponse struct { -} - -func (m *NodeProbeResponse) Reset() { *m = NodeProbeResponse{} } -func (m *NodeProbeResponse) String() string { return proto.CompactTextString(m) } -func (*NodeProbeResponse) ProtoMessage() {} -func (*NodeProbeResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{34} } - // ////// // ////// type NodeGetCapabilitiesRequest struct { @@ -1592,7 +1935,7 @@ type NodeGetCapabilitiesRequest struct { func (m *NodeGetCapabilitiesRequest) Reset() { *m = NodeGetCapabilitiesRequest{} } func (m *NodeGetCapabilitiesRequest) String() string { return proto.CompactTextString(m) } func (*NodeGetCapabilitiesRequest) ProtoMessage() {} -func (*NodeGetCapabilitiesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{35} } +func (*NodeGetCapabilitiesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{40} } func (m *NodeGetCapabilitiesRequest) GetVersion() *Version { if m != nil { @@ -1610,7 +1953,7 @@ type NodeGetCapabilitiesResponse struct { func (m *NodeGetCapabilitiesResponse) Reset() { *m = NodeGetCapabilitiesResponse{} } func (m *NodeGetCapabilitiesResponse) String() string { return proto.CompactTextString(m) } func (*NodeGetCapabilitiesResponse) ProtoMessage() {} -func (*NodeGetCapabilitiesResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{36} } +func (*NodeGetCapabilitiesResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{41} } func (m *NodeGetCapabilitiesResponse) GetCapabilities() []*NodeServiceCapability { if m != nil { @@ -1629,7 +1972,7 @@ type NodeServiceCapability struct { func (m *NodeServiceCapability) Reset() { *m = NodeServiceCapability{} } func (m *NodeServiceCapability) String() string { return proto.CompactTextString(m) } func (*NodeServiceCapability) ProtoMessage() {} -func (*NodeServiceCapability) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{37} } +func (*NodeServiceCapability) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{42} } type isNodeServiceCapability_Type interface { isNodeServiceCapability_Type() @@ -1717,7 +2060,7 @@ type NodeServiceCapability_RPC struct { func (m *NodeServiceCapability_RPC) Reset() { *m = NodeServiceCapability_RPC{} } func (m *NodeServiceCapability_RPC) String() string { return proto.CompactTextString(m) } func (*NodeServiceCapability_RPC) ProtoMessage() {} -func (*NodeServiceCapability_RPC) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{37, 0} } +func (*NodeServiceCapability_RPC) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{42, 0} } func (m *NodeServiceCapability_RPC) GetType() NodeServiceCapability_RPC_Type { if m != nil { @@ -1732,6 +2075,12 @@ func init() { proto.RegisterType((*Version)(nil), "csi.Version") proto.RegisterType((*GetPluginInfoRequest)(nil), "csi.GetPluginInfoRequest") proto.RegisterType((*GetPluginInfoResponse)(nil), "csi.GetPluginInfoResponse") + proto.RegisterType((*GetPluginCapabilitiesRequest)(nil), "csi.GetPluginCapabilitiesRequest") + proto.RegisterType((*GetPluginCapabilitiesResponse)(nil), "csi.GetPluginCapabilitiesResponse") + proto.RegisterType((*PluginCapability)(nil), "csi.PluginCapability") + proto.RegisterType((*PluginCapability_Service)(nil), "csi.PluginCapability.Service") + proto.RegisterType((*ProbeRequest)(nil), "csi.ProbeRequest") + proto.RegisterType((*ProbeResponse)(nil), "csi.ProbeResponse") proto.RegisterType((*CreateVolumeRequest)(nil), "csi.CreateVolumeRequest") proto.RegisterType((*CreateVolumeResponse)(nil), "csi.CreateVolumeResponse") proto.RegisterType((*VolumeCapability)(nil), "csi.VolumeCapability") @@ -1753,24 +2102,25 @@ func init() { proto.RegisterType((*ListVolumesResponse_Entry)(nil), "csi.ListVolumesResponse.Entry") proto.RegisterType((*GetCapacityRequest)(nil), "csi.GetCapacityRequest") proto.RegisterType((*GetCapacityResponse)(nil), "csi.GetCapacityResponse") - proto.RegisterType((*ControllerProbeRequest)(nil), "csi.ControllerProbeRequest") - proto.RegisterType((*ControllerProbeResponse)(nil), "csi.ControllerProbeResponse") proto.RegisterType((*ControllerGetCapabilitiesRequest)(nil), "csi.ControllerGetCapabilitiesRequest") proto.RegisterType((*ControllerGetCapabilitiesResponse)(nil), "csi.ControllerGetCapabilitiesResponse") proto.RegisterType((*ControllerServiceCapability)(nil), "csi.ControllerServiceCapability") proto.RegisterType((*ControllerServiceCapability_RPC)(nil), "csi.ControllerServiceCapability.RPC") + proto.RegisterType((*NodeStageVolumeRequest)(nil), "csi.NodeStageVolumeRequest") + proto.RegisterType((*NodeStageVolumeResponse)(nil), "csi.NodeStageVolumeResponse") + proto.RegisterType((*NodeUnstageVolumeRequest)(nil), "csi.NodeUnstageVolumeRequest") + proto.RegisterType((*NodeUnstageVolumeResponse)(nil), "csi.NodeUnstageVolumeResponse") proto.RegisterType((*NodePublishVolumeRequest)(nil), "csi.NodePublishVolumeRequest") proto.RegisterType((*NodePublishVolumeResponse)(nil), "csi.NodePublishVolumeResponse") proto.RegisterType((*NodeUnpublishVolumeRequest)(nil), "csi.NodeUnpublishVolumeRequest") proto.RegisterType((*NodeUnpublishVolumeResponse)(nil), "csi.NodeUnpublishVolumeResponse") proto.RegisterType((*NodeGetIdRequest)(nil), "csi.NodeGetIdRequest") proto.RegisterType((*NodeGetIdResponse)(nil), "csi.NodeGetIdResponse") - proto.RegisterType((*NodeProbeRequest)(nil), "csi.NodeProbeRequest") - proto.RegisterType((*NodeProbeResponse)(nil), "csi.NodeProbeResponse") proto.RegisterType((*NodeGetCapabilitiesRequest)(nil), "csi.NodeGetCapabilitiesRequest") proto.RegisterType((*NodeGetCapabilitiesResponse)(nil), "csi.NodeGetCapabilitiesResponse") proto.RegisterType((*NodeServiceCapability)(nil), "csi.NodeServiceCapability") proto.RegisterType((*NodeServiceCapability_RPC)(nil), "csi.NodeServiceCapability.RPC") + proto.RegisterEnum("csi.PluginCapability_Service_Type", PluginCapability_Service_Type_name, PluginCapability_Service_Type_value) proto.RegisterEnum("csi.VolumeCapability_AccessMode_Mode", VolumeCapability_AccessMode_Mode_name, VolumeCapability_AccessMode_Mode_value) proto.RegisterEnum("csi.ControllerServiceCapability_RPC_Type", ControllerServiceCapability_RPC_Type_name, ControllerServiceCapability_RPC_Type_value) proto.RegisterEnum("csi.NodeServiceCapability_RPC_Type", NodeServiceCapability_RPC_Type_name, NodeServiceCapability_RPC_Type_value) @@ -1789,6 +2139,8 @@ const _ = grpc.SupportPackageIsVersion4 type IdentityClient interface { GetSupportedVersions(ctx context.Context, in *GetSupportedVersionsRequest, opts ...grpc.CallOption) (*GetSupportedVersionsResponse, error) GetPluginInfo(ctx context.Context, in *GetPluginInfoRequest, opts ...grpc.CallOption) (*GetPluginInfoResponse, error) + GetPluginCapabilities(ctx context.Context, in *GetPluginCapabilitiesRequest, opts ...grpc.CallOption) (*GetPluginCapabilitiesResponse, error) + Probe(ctx context.Context, in *ProbeRequest, opts ...grpc.CallOption) (*ProbeResponse, error) } type identityClient struct { @@ -1817,11 +2169,31 @@ func (c *identityClient) GetPluginInfo(ctx context.Context, in *GetPluginInfoReq return out, nil } +func (c *identityClient) GetPluginCapabilities(ctx context.Context, in *GetPluginCapabilitiesRequest, opts ...grpc.CallOption) (*GetPluginCapabilitiesResponse, error) { + out := new(GetPluginCapabilitiesResponse) + err := grpc.Invoke(ctx, "/csi.Identity/GetPluginCapabilities", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *identityClient) Probe(ctx context.Context, in *ProbeRequest, opts ...grpc.CallOption) (*ProbeResponse, error) { + out := new(ProbeResponse) + err := grpc.Invoke(ctx, "/csi.Identity/Probe", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // Server API for Identity service type IdentityServer interface { GetSupportedVersions(context.Context, *GetSupportedVersionsRequest) (*GetSupportedVersionsResponse, error) GetPluginInfo(context.Context, *GetPluginInfoRequest) (*GetPluginInfoResponse, error) + GetPluginCapabilities(context.Context, *GetPluginCapabilitiesRequest) (*GetPluginCapabilitiesResponse, error) + Probe(context.Context, *ProbeRequest) (*ProbeResponse, error) } func RegisterIdentityServer(s *grpc.Server, srv IdentityServer) { @@ -1864,6 +2236,42 @@ func _Identity_GetPluginInfo_Handler(srv interface{}, ctx context.Context, dec f return interceptor(ctx, in, info, handler) } +func _Identity_GetPluginCapabilities_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetPluginCapabilitiesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(IdentityServer).GetPluginCapabilities(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/csi.Identity/GetPluginCapabilities", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(IdentityServer).GetPluginCapabilities(ctx, req.(*GetPluginCapabilitiesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Identity_Probe_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ProbeRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(IdentityServer).Probe(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/csi.Identity/Probe", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(IdentityServer).Probe(ctx, req.(*ProbeRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _Identity_serviceDesc = grpc.ServiceDesc{ ServiceName: "csi.Identity", HandlerType: (*IdentityServer)(nil), @@ -1876,6 +2284,14 @@ var _Identity_serviceDesc = grpc.ServiceDesc{ MethodName: "GetPluginInfo", Handler: _Identity_GetPluginInfo_Handler, }, + { + MethodName: "GetPluginCapabilities", + Handler: _Identity_GetPluginCapabilities_Handler, + }, + { + MethodName: "Probe", + Handler: _Identity_Probe_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "csi.proto", @@ -1891,7 +2307,6 @@ type ControllerClient interface { ValidateVolumeCapabilities(ctx context.Context, in *ValidateVolumeCapabilitiesRequest, opts ...grpc.CallOption) (*ValidateVolumeCapabilitiesResponse, error) ListVolumes(ctx context.Context, in *ListVolumesRequest, opts ...grpc.CallOption) (*ListVolumesResponse, error) GetCapacity(ctx context.Context, in *GetCapacityRequest, opts ...grpc.CallOption) (*GetCapacityResponse, error) - ControllerProbe(ctx context.Context, in *ControllerProbeRequest, opts ...grpc.CallOption) (*ControllerProbeResponse, error) ControllerGetCapabilities(ctx context.Context, in *ControllerGetCapabilitiesRequest, opts ...grpc.CallOption) (*ControllerGetCapabilitiesResponse, error) } @@ -1966,15 +2381,6 @@ func (c *controllerClient) GetCapacity(ctx context.Context, in *GetCapacityReque return out, nil } -func (c *controllerClient) ControllerProbe(ctx context.Context, in *ControllerProbeRequest, opts ...grpc.CallOption) (*ControllerProbeResponse, error) { - out := new(ControllerProbeResponse) - err := grpc.Invoke(ctx, "/csi.Controller/ControllerProbe", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil -} - func (c *controllerClient) ControllerGetCapabilities(ctx context.Context, in *ControllerGetCapabilitiesRequest, opts ...grpc.CallOption) (*ControllerGetCapabilitiesResponse, error) { out := new(ControllerGetCapabilitiesResponse) err := grpc.Invoke(ctx, "/csi.Controller/ControllerGetCapabilities", in, out, c.cc, opts...) @@ -1994,7 +2400,6 @@ type ControllerServer interface { ValidateVolumeCapabilities(context.Context, *ValidateVolumeCapabilitiesRequest) (*ValidateVolumeCapabilitiesResponse, error) ListVolumes(context.Context, *ListVolumesRequest) (*ListVolumesResponse, error) GetCapacity(context.Context, *GetCapacityRequest) (*GetCapacityResponse, error) - ControllerProbe(context.Context, *ControllerProbeRequest) (*ControllerProbeResponse, error) ControllerGetCapabilities(context.Context, *ControllerGetCapabilitiesRequest) (*ControllerGetCapabilitiesResponse, error) } @@ -2128,24 +2533,6 @@ func _Controller_GetCapacity_Handler(srv interface{}, ctx context.Context, dec f return interceptor(ctx, in, info, handler) } -func _Controller_ControllerProbe_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ControllerProbeRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ControllerServer).ControllerProbe(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/csi.Controller/ControllerProbe", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ControllerServer).ControllerProbe(ctx, req.(*ControllerProbeRequest)) - } - return interceptor(ctx, in, info, handler) -} - func _Controller_ControllerGetCapabilities_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ControllerGetCapabilitiesRequest) if err := dec(in); err != nil { @@ -2196,10 +2583,6 @@ var _Controller_serviceDesc = grpc.ServiceDesc{ MethodName: "GetCapacity", Handler: _Controller_GetCapacity_Handler, }, - { - MethodName: "ControllerProbe", - Handler: _Controller_ControllerProbe_Handler, - }, { MethodName: "ControllerGetCapabilities", Handler: _Controller_ControllerGetCapabilities_Handler, @@ -2212,10 +2595,11 @@ var _Controller_serviceDesc = grpc.ServiceDesc{ // Client API for Node service type NodeClient interface { + NodeStageVolume(ctx context.Context, in *NodeStageVolumeRequest, opts ...grpc.CallOption) (*NodeStageVolumeResponse, error) + NodeUnstageVolume(ctx context.Context, in *NodeUnstageVolumeRequest, opts ...grpc.CallOption) (*NodeUnstageVolumeResponse, error) NodePublishVolume(ctx context.Context, in *NodePublishVolumeRequest, opts ...grpc.CallOption) (*NodePublishVolumeResponse, error) NodeUnpublishVolume(ctx context.Context, in *NodeUnpublishVolumeRequest, opts ...grpc.CallOption) (*NodeUnpublishVolumeResponse, error) NodeGetId(ctx context.Context, in *NodeGetIdRequest, opts ...grpc.CallOption) (*NodeGetIdResponse, error) - NodeProbe(ctx context.Context, in *NodeProbeRequest, opts ...grpc.CallOption) (*NodeProbeResponse, error) NodeGetCapabilities(ctx context.Context, in *NodeGetCapabilitiesRequest, opts ...grpc.CallOption) (*NodeGetCapabilitiesResponse, error) } @@ -2227,6 +2611,24 @@ func NewNodeClient(cc *grpc.ClientConn) NodeClient { return &nodeClient{cc} } +func (c *nodeClient) NodeStageVolume(ctx context.Context, in *NodeStageVolumeRequest, opts ...grpc.CallOption) (*NodeStageVolumeResponse, error) { + out := new(NodeStageVolumeResponse) + err := grpc.Invoke(ctx, "/csi.Node/NodeStageVolume", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeClient) NodeUnstageVolume(ctx context.Context, in *NodeUnstageVolumeRequest, opts ...grpc.CallOption) (*NodeUnstageVolumeResponse, error) { + out := new(NodeUnstageVolumeResponse) + err := grpc.Invoke(ctx, "/csi.Node/NodeUnstageVolume", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *nodeClient) NodePublishVolume(ctx context.Context, in *NodePublishVolumeRequest, opts ...grpc.CallOption) (*NodePublishVolumeResponse, error) { out := new(NodePublishVolumeResponse) err := grpc.Invoke(ctx, "/csi.Node/NodePublishVolume", in, out, c.cc, opts...) @@ -2254,15 +2656,6 @@ func (c *nodeClient) NodeGetId(ctx context.Context, in *NodeGetIdRequest, opts . return out, nil } -func (c *nodeClient) NodeProbe(ctx context.Context, in *NodeProbeRequest, opts ...grpc.CallOption) (*NodeProbeResponse, error) { - out := new(NodeProbeResponse) - err := grpc.Invoke(ctx, "/csi.Node/NodeProbe", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil -} - func (c *nodeClient) NodeGetCapabilities(ctx context.Context, in *NodeGetCapabilitiesRequest, opts ...grpc.CallOption) (*NodeGetCapabilitiesResponse, error) { out := new(NodeGetCapabilitiesResponse) err := grpc.Invoke(ctx, "/csi.Node/NodeGetCapabilities", in, out, c.cc, opts...) @@ -2275,10 +2668,11 @@ func (c *nodeClient) NodeGetCapabilities(ctx context.Context, in *NodeGetCapabil // Server API for Node service type NodeServer interface { + NodeStageVolume(context.Context, *NodeStageVolumeRequest) (*NodeStageVolumeResponse, error) + NodeUnstageVolume(context.Context, *NodeUnstageVolumeRequest) (*NodeUnstageVolumeResponse, error) NodePublishVolume(context.Context, *NodePublishVolumeRequest) (*NodePublishVolumeResponse, error) NodeUnpublishVolume(context.Context, *NodeUnpublishVolumeRequest) (*NodeUnpublishVolumeResponse, error) NodeGetId(context.Context, *NodeGetIdRequest) (*NodeGetIdResponse, error) - NodeProbe(context.Context, *NodeProbeRequest) (*NodeProbeResponse, error) NodeGetCapabilities(context.Context, *NodeGetCapabilitiesRequest) (*NodeGetCapabilitiesResponse, error) } @@ -2286,6 +2680,42 @@ func RegisterNodeServer(s *grpc.Server, srv NodeServer) { s.RegisterService(&_Node_serviceDesc, srv) } +func _Node_NodeStageVolume_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(NodeStageVolumeRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).NodeStageVolume(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/csi.Node/NodeStageVolume", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).NodeStageVolume(ctx, req.(*NodeStageVolumeRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Node_NodeUnstageVolume_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(NodeUnstageVolumeRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).NodeUnstageVolume(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/csi.Node/NodeUnstageVolume", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).NodeUnstageVolume(ctx, req.(*NodeUnstageVolumeRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _Node_NodePublishVolume_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(NodePublishVolumeRequest) if err := dec(in); err != nil { @@ -2340,24 +2770,6 @@ func _Node_NodeGetId_Handler(srv interface{}, ctx context.Context, dec func(inte return interceptor(ctx, in, info, handler) } -func _Node_NodeProbe_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(NodeProbeRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(NodeServer).NodeProbe(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/csi.Node/NodeProbe", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(NodeServer).NodeProbe(ctx, req.(*NodeProbeRequest)) - } - return interceptor(ctx, in, info, handler) -} - func _Node_NodeGetCapabilities_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(NodeGetCapabilitiesRequest) if err := dec(in); err != nil { @@ -2380,6 +2792,14 @@ var _Node_serviceDesc = grpc.ServiceDesc{ ServiceName: "csi.Node", HandlerType: (*NodeServer)(nil), Methods: []grpc.MethodDesc{ + { + MethodName: "NodeStageVolume", + Handler: _Node_NodeStageVolume_Handler, + }, + { + MethodName: "NodeUnstageVolume", + Handler: _Node_NodeUnstageVolume_Handler, + }, { MethodName: "NodePublishVolume", Handler: _Node_NodePublishVolume_Handler, @@ -2392,10 +2812,6 @@ var _Node_serviceDesc = grpc.ServiceDesc{ MethodName: "NodeGetId", Handler: _Node_NodeGetId_Handler, }, - { - MethodName: "NodeProbe", - Handler: _Node_NodeProbe_Handler, - }, { MethodName: "NodeGetCapabilities", Handler: _Node_NodeGetCapabilities_Handler, @@ -2408,135 +2824,152 @@ var _Node_serviceDesc = grpc.ServiceDesc{ func init() { proto.RegisterFile("csi.proto", fileDescriptor0) } var fileDescriptor0 = []byte{ - // 2071 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x19, 0x49, 0x73, 0xdb, 0xd6, - 0x59, 0xe0, 0xa2, 0xe5, 0xa3, 0xa8, 0xd0, 0x4f, 0x1b, 0x04, 0x4a, 0x32, 0x0d, 0xc5, 0x8e, 0x3a, - 0x93, 0xf2, 0xa0, 0x4c, 0xa7, 0x76, 0x1c, 0x7b, 0x2a, 0x51, 0x8c, 0xc4, 0x5a, 0xa2, 0x14, 0x88, - 0xb2, 0x9b, 0xb6, 0x19, 0x14, 0x22, 0x9f, 0x64, 0xd4, 0x24, 0xc0, 0x00, 0xa0, 0xc6, 0x9c, 0x4e, - 0x6f, 0xbd, 0xb5, 0x87, 0xce, 0xf4, 0xd0, 0x4b, 0xa7, 0x3d, 0xb6, 0x9d, 0xe9, 0xad, 0xd3, 0x53, - 0xfe, 0x42, 0xaf, 0xbd, 0xf4, 0xd4, 0x6b, 0xfa, 0x2b, 0x32, 0x6f, 0x01, 0xf8, 0x00, 0x02, 0x5c, - 0xec, 0x38, 0x27, 0x12, 0xdf, 0xbe, 0xbc, 0xf7, 0x2d, 0x00, 0x2c, 0x34, 0x5d, 0xb3, 0xdc, 0x75, - 0x6c, 0xcf, 0x46, 0xe9, 0xa6, 0x6b, 0xaa, 0x5b, 0x50, 0x3c, 0xc2, 0xde, 0x45, 0xaf, 0xdb, 0xb5, - 0x1d, 0x0f, 0xb7, 0x9e, 0x63, 0xc7, 0x35, 0x6d, 0xcb, 0xd5, 0xf0, 0x97, 0x3d, 0xec, 0x7a, 0xea, - 0xcf, 0x60, 0x33, 0x1e, 0xed, 0x76, 0x6d, 0xcb, 0xc5, 0xe8, 0x31, 0x20, 0xd7, 0x47, 0xea, 0xb7, - 0x1c, 0x2b, 0x4b, 0xa5, 0xf4, 0x6e, 0x6e, 0x6f, 0xb1, 0x4c, 0x74, 0x71, 0x16, 0xed, 0x8e, 0x1b, - 0x15, 0xa2, 0x3e, 0x83, 0x39, 0xfe, 0x1f, 0xad, 0x40, 0xb6, 0x63, 0xfc, 0xd2, 0x76, 0x64, 0xa9, - 0x24, 0xed, 0x66, 0x35, 0xf6, 0x40, 0xa1, 0xa6, 0x65, 0x3b, 0x72, 0x8a, 0x43, 0xc9, 0x03, 0x81, - 0x76, 0x0d, 0xaf, 0xf9, 0x52, 0x4e, 0x33, 0x28, 0x7d, 0x50, 0x9f, 0xc2, 0xca, 0x11, 0xf6, 0xce, - 0xdb, 0xbd, 0x1b, 0xd3, 0xaa, 0x59, 0xd7, 0x36, 0xf7, 0x00, 0x3d, 0x80, 0x39, 0x6e, 0x17, 0x95, - 0x1d, 0x35, 0xcb, 0x47, 0xaa, 0xff, 0x91, 0x60, 0x35, 0x22, 0x80, 0xfb, 0x88, 0x20, 0x63, 0x19, - 0x1d, 0x4c, 0xd9, 0x17, 0x34, 0xfa, 0x1f, 0xdd, 0x87, 0xa5, 0x5b, 0x6c, 0xb5, 0x6c, 0xc7, 0x77, - 0x9a, 0x9a, 0xb8, 0xa0, 0xe5, 0x19, 0xd4, 0x77, 0xeb, 0x10, 0xe6, 0x3b, 0x86, 0x65, 0x5e, 0x63, - 0xd7, 0x93, 0xd3, 0x34, 0x28, 0xbb, 0x54, 0x7b, 0xac, 0xa2, 0xf2, 0x29, 0x27, 0xad, 0x5a, 0x9e, - 0xd3, 0xd7, 0x02, 0x4e, 0xe5, 0x31, 0xe4, 0x43, 0x28, 0x54, 0x80, 0xf4, 0x2b, 0xdc, 0xe7, 0x06, - 0x91, 0xbf, 0x24, 0x26, 0xb7, 0x46, 0xbb, 0x87, 0xb9, 0x19, 0xec, 0xe1, 0xe3, 0xd4, 0x43, 0x49, - 0xfd, 0x47, 0x06, 0x96, 0x2b, 0x0e, 0x36, 0x3c, 0xfc, 0xdc, 0x6e, 0xf7, 0x3a, 0x78, 0xca, 0xb8, - 0x04, 0xde, 0xa7, 0x04, 0xef, 0x1f, 0xc1, 0x52, 0xd3, 0xe8, 0x1a, 0x4d, 0xd3, 0xeb, 0xeb, 0x8e, - 0x61, 0xdd, 0x60, 0x9a, 0x8a, 0xdc, 0x1e, 0xa2, 0x22, 0x2a, 0x1c, 0xa5, 0x11, 0x8c, 0x96, 0x6f, - 0x8a, 0x8f, 0xe8, 0x53, 0x58, 0xbe, 0xa5, 0x76, 0xe8, 0x04, 0x7e, 0x65, 0xb6, 0x4d, 0xcf, 0xc4, - 0xae, 0x9c, 0xa1, 0xc1, 0x59, 0x65, 0x26, 0x50, 0x7c, 0xc5, 0x47, 0xf7, 0x35, 0x74, 0x1b, 0x86, - 0x98, 0xd8, 0x45, 0xc7, 0x00, 0x5d, 0xc3, 0x31, 0x3a, 0xd8, 0xc3, 0x8e, 0x2b, 0x67, 0x85, 0xd8, - 0xc6, 0x38, 0x5b, 0x3e, 0x0f, 0x48, 0x59, 0x6c, 0x05, 0x5e, 0xf4, 0x6b, 0xd8, 0x6a, 0xda, 0x96, - 0xe7, 0xd8, 0xed, 0x36, 0x76, 0xf4, 0x26, 0xe5, 0x26, 0x3f, 0x2d, 0x6c, 0x79, 0xa6, 0xd1, 0x76, - 0xe5, 0x59, 0x2a, 0xfc, 0x51, 0xa2, 0xf0, 0x4a, 0xc0, 0xcd, 0xb0, 0x95, 0x01, 0x2f, 0xd3, 0x56, - 0x6c, 0x26, 0x53, 0x28, 0x4f, 0xe0, 0xbd, 0x88, 0x75, 0xd3, 0xa4, 0x57, 0xa9, 0x43, 0x69, 0x9c, - 0xfe, 0xa9, 0x8e, 0xcb, 0x63, 0x58, 0x09, 0xfb, 0xc8, 0x2f, 0xc1, 0x0e, 0xcc, 0xb2, 0x2c, 0xf0, - 0xd3, 0x92, 0x13, 0x52, 0xa5, 0x71, 0x94, 0xfa, 0xe7, 0x0c, 0x14, 0xa2, 0xd9, 0x43, 0x8f, 0x20, - 0x7b, 0xd5, 0xb6, 0x9b, 0xaf, 0x38, 0xe3, 0xbd, 0xd8, 0x1c, 0x97, 0x0f, 0x08, 0x09, 0x83, 0x1e, - 0xcf, 0x68, 0x8c, 0x83, 0xb0, 0x76, 0xec, 0x9e, 0xe5, 0x51, 0x33, 0x13, 0x59, 0x4f, 0x09, 0xc9, - 0x80, 0x95, 0x72, 0xa0, 0x7d, 0xc8, 0x19, 0xcd, 0x26, 0x76, 0x5d, 0xbd, 0x63, 0xb7, 0xfc, 0xf3, - 0x59, 0x8a, 0x17, 0xb0, 0x4f, 0x09, 0x4f, 0xed, 0x16, 0xd6, 0xc0, 0x08, 0xfe, 0x2b, 0x79, 0xc8, - 0x09, 0x56, 0x29, 0x47, 0x90, 0x13, 0x34, 0xa1, 0x75, 0x98, 0xbb, 0x76, 0x75, 0xaf, 0xdf, 0xf5, - 0x0b, 0xc3, 0xec, 0xb5, 0xdb, 0xe8, 0x77, 0x31, 0xba, 0x0b, 0x39, 0x6a, 0x82, 0x7e, 0xdd, 0x36, - 0x6e, 0x5c, 0x39, 0x55, 0x4a, 0xef, 0x2e, 0x68, 0x40, 0x41, 0x9f, 0x12, 0x88, 0xf2, 0xb5, 0x04, - 0x30, 0x50, 0x89, 0x1e, 0x41, 0x86, 0x9a, 0x48, 0xa4, 0x2c, 0xed, 0xdd, 0x1f, 0x67, 0x62, 0x99, - 0xda, 0x49, 0x59, 0xd4, 0xbf, 0x48, 0x90, 0xa1, 0x32, 0x72, 0x30, 0x77, 0x59, 0x7f, 0x56, 0x3f, - 0x7b, 0x51, 0x2f, 0xcc, 0xa0, 0x35, 0x40, 0x17, 0xb5, 0xfa, 0xd1, 0x49, 0x55, 0xaf, 0x9f, 0x1d, - 0x56, 0xf5, 0x17, 0x5a, 0xad, 0x51, 0xd5, 0x0a, 0x12, 0x2a, 0xc2, 0xba, 0x08, 0xd7, 0xaa, 0xfb, - 0x87, 0x55, 0x4d, 0x3f, 0xab, 0x9f, 0x7c, 0x5e, 0x48, 0x21, 0x05, 0xd6, 0x4e, 0x2f, 0x4f, 0x1a, - 0xb5, 0x61, 0x5c, 0x1a, 0x6d, 0x82, 0x2c, 0xe0, 0xb8, 0x0c, 0x2e, 0x36, 0x43, 0xc4, 0x0a, 0x58, - 0xf6, 0x97, 0x23, 0xb3, 0x07, 0xf9, 0x20, 0x0d, 0x24, 0x52, 0xea, 0x0b, 0xc8, 0x87, 0xaa, 0x03, - 0xa9, 0xa3, 0x0e, 0xfe, 0xb2, 0x67, 0x3a, 0xb8, 0xa5, 0x5f, 0xf5, 0x3d, 0xec, 0xd2, 0x30, 0xa4, - 0xb5, 0xbc, 0x0f, 0x3d, 0x20, 0x40, 0x12, 0xd3, 0xb6, 0xd9, 0x31, 0x3d, 0x4e, 0x93, 0xa2, 0x34, - 0x40, 0x41, 0x94, 0x40, 0xfd, 0x4a, 0x82, 0x59, 0x9e, 0x98, 0xfb, 0x42, 0x71, 0x0a, 0x89, 0xf4, - 0xa1, 0x4c, 0xe4, 0x12, 0xa4, 0xcc, 0x16, 0x3f, 0xff, 0x29, 0xb3, 0x85, 0x1e, 0x03, 0x18, 0x9e, - 0xe7, 0x98, 0x57, 0x3d, 0xc2, 0xc2, 0x8a, 0x75, 0x51, 0x48, 0x46, 0x79, 0x3f, 0xc0, 0xf2, 0x1a, - 0x32, 0x20, 0x27, 0x97, 0x38, 0x82, 0x9e, 0xea, 0xd2, 0xfd, 0x3d, 0x05, 0xcb, 0x87, 0xb8, 0x8d, - 0xdf, 0xb4, 0x46, 0x17, 0x61, 0x81, 0x17, 0xd5, 0xc0, 0xa5, 0x79, 0x06, 0xa8, 0xb5, 0x22, 0xf5, - 0xad, 0x45, 0xd5, 0x84, 0xea, 0x5b, 0x5a, 0xa8, 0x6f, 0x31, 0x56, 0x08, 0xf5, 0x8d, 0x61, 0x47, - 0xd5, 0xb7, 0x21, 0x8a, 0x70, 0x81, 0x8a, 0x17, 0x30, 0x55, 0xac, 0xd6, 0x60, 0x25, 0x6c, 0x24, - 0x2b, 0x50, 0xea, 0xff, 0x33, 0xb0, 0x3d, 0x50, 0x74, 0xde, 0xbb, 0x6a, 0x9b, 0xee, 0xcb, 0x77, - 0x10, 0xce, 0x75, 0x98, 0xb3, 0xec, 0x16, 0x45, 0xa5, 0xd9, 0xbd, 0x27, 0x8f, 0xb5, 0x16, 0x3a, - 0x80, 0x3b, 0xd1, 0xce, 0xd6, 0x97, 0x33, 0x54, 0x4f, 0x42, 0x5f, 0x2b, 0xdc, 0x46, 0x6b, 0xa5, - 0x02, 0xf3, 0x0e, 0x36, 0x5a, 0xb6, 0xd5, 0xee, 0xcb, 0xd9, 0x92, 0xb4, 0x3b, 0xaf, 0x05, 0xcf, - 0xe8, 0xb7, 0x12, 0x6c, 0x0b, 0x89, 0xec, 0x32, 0x0f, 0x63, 0x3a, 0x55, 0x95, 0x75, 0xaa, 0x91, - 0xb1, 0x18, 0x46, 0x0f, 0x65, 0x75, 0xb3, 0x39, 0x82, 0x04, 0x5d, 0x07, 0xde, 0x0a, 0xb7, 0x66, - 0x4e, 0xec, 0x94, 0xa3, 0xf5, 0xb3, 0xa7, 0xe8, 0x9d, 0xe2, 0x11, 0x19, 0x80, 0x95, 0x33, 0xb8, - 0x37, 0xd6, 0xd4, 0xa9, 0x1a, 0x66, 0x05, 0x56, 0x63, 0x75, 0x4f, 0x75, 0x08, 0xbf, 0x92, 0xe0, - 0x6e, 0xa2, 0x83, 0xbc, 0x63, 0xfe, 0x04, 0x16, 0xfd, 0x1c, 0x99, 0xd6, 0xb5, 0xcd, 0x87, 0xe2, - 0x1f, 0x8c, 0x0e, 0x0e, 0x9f, 0x04, 0x39, 0x94, 0x4c, 0x87, 0x2c, 0x30, 0xb9, 0xee, 0x00, 0xa2, - 0x3c, 0x85, 0x42, 0x94, 0x60, 0x2a, 0xeb, 0xbf, 0x4e, 0x89, 0x77, 0xf2, 0xd2, 0xea, 0x7e, 0xf7, - 0x97, 0xe5, 0x0f, 0x12, 0x94, 0x84, 0xc3, 0xdc, 0xb3, 0xe2, 0x8e, 0x33, 0x1b, 0x0a, 0x6b, 0x91, - 0x88, 0xc5, 0xdb, 0x1b, 0x47, 0x30, 0x74, 0xa4, 0x85, 0xfb, 0x13, 0x47, 0xa4, 0x7c, 0x06, 0x3b, - 0x13, 0x88, 0x99, 0x2a, 0xd6, 0x3b, 0xe2, 0xf9, 0x1d, 0x32, 0x9d, 0xd7, 0xae, 0xff, 0xa5, 0xe0, - 0xde, 0x73, 0xa3, 0x6d, 0xb6, 0x82, 0xb9, 0x4b, 0x9c, 0x75, 0xbf, 0xd5, 0x8c, 0x24, 0xcc, 0xdf, - 0xe9, 0x69, 0xe7, 0x6f, 0x33, 0xee, 0xfe, 0xb3, 0x84, 0x7d, 0xc2, 0xa4, 0x8c, 0xf3, 0x67, 0xe2, - 0x12, 0xf0, 0xad, 0xdc, 0xd8, 0x9f, 0x83, 0x3a, 0xca, 0x22, 0x7e, 0x67, 0x37, 0x61, 0x21, 0x58, - 0x53, 0xa9, 0xdc, 0x79, 0x6d, 0x00, 0x40, 0x32, 0xcc, 0x75, 0xb0, 0xeb, 0x1a, 0x37, 0xbe, 0x7c, - 0xff, 0x51, 0xfd, 0x8d, 0x04, 0xe8, 0xc4, 0x74, 0xf9, 0x6c, 0x38, 0x75, 0xc6, 0xc8, 0xc8, 0x68, - 0xbc, 0xd6, 0xb1, 0xe5, 0x39, 0x26, 0x1f, 0x6f, 0xb2, 0x1a, 0x74, 0x8c, 0xd7, 0x55, 0x06, 0x21, - 0x33, 0x8d, 0xeb, 0x19, 0x8e, 0x67, 0x5a, 0x37, 0xba, 0x67, 0xbf, 0xc2, 0x16, 0xbf, 0x4e, 0x79, - 0x1f, 0xda, 0x20, 0x40, 0xf5, 0x4f, 0x12, 0x2c, 0x87, 0xcc, 0xe0, 0x6e, 0x3d, 0x84, 0x39, 0x5f, - 0x36, 0xab, 0x42, 0xdb, 0xd4, 0x8e, 0x18, 0xd2, 0x32, 0x4b, 0x82, 0x4f, 0x8e, 0xb6, 0x00, 0x2c, - 0xfc, 0xda, 0xe3, 0x4a, 0x99, 0xd7, 0x0b, 0x04, 0x42, 0x15, 0x2a, 0x1f, 0x42, 0x96, 0xa5, 0x62, - 0xa2, 0xf5, 0xe0, 0x77, 0x29, 0x40, 0x47, 0xd8, 0x0b, 0x26, 0xc0, 0x29, 0xa3, 0x94, 0x70, 0x74, - 0x53, 0xd3, 0x1e, 0xdd, 0xa3, 0xd0, 0xea, 0xc8, 0x4e, 0xfe, 0x07, 0xfe, 0x5a, 0x1e, 0x31, 0x6e, - 0xd4, 0xe6, 0xf8, 0x96, 0xab, 0x9b, 0x7a, 0x08, 0xcb, 0x21, 0x85, 0x3c, 0x59, 0xdf, 0x07, 0x64, - 0xdc, 0x1a, 0x66, 0xdb, 0xb8, 0x6a, 0x33, 0x4f, 0x09, 0x96, 0xcf, 0xb0, 0x77, 0x02, 0x8c, 0xcf, - 0xa6, 0xfe, 0x08, 0xd6, 0x84, 0x6e, 0xe2, 0xd8, 0x57, 0xd3, 0x56, 0x70, 0x75, 0x03, 0xd6, 0x87, - 0x24, 0xf0, 0xc2, 0xf4, 0x63, 0xb1, 0x51, 0x70, 0x63, 0xdf, 0xb0, 0x2c, 0xa9, 0xa6, 0x58, 0x09, - 0x87, 0x64, 0x71, 0xe7, 0x0f, 0x61, 0x31, 0x26, 0xb9, 0xa5, 0x48, 0x0b, 0xb8, 0xc0, 0xce, 0xad, - 0xd9, 0x14, 0xf3, 0x1c, 0xe2, 0x52, 0xff, 0x98, 0x82, 0xe2, 0x08, 0x6a, 0xf4, 0x10, 0xd2, 0x4e, - 0xb7, 0xc9, 0xcd, 0x7d, 0x7f, 0x9c, 0xf0, 0xb2, 0x76, 0x5e, 0x39, 0x9e, 0xd1, 0x08, 0x8b, 0xf2, - 0x2f, 0x09, 0xd2, 0xda, 0x79, 0x05, 0x3d, 0x81, 0x4c, 0xb0, 0xfa, 0x2d, 0xed, 0x7d, 0x6f, 0x12, - 0x11, 0x65, 0xb2, 0x1d, 0x6a, 0x94, 0x4d, 0xb5, 0x21, 0x43, 0x77, 0xc5, 0xd0, 0xde, 0x26, 0xc3, - 0x4a, 0x45, 0xab, 0xee, 0x37, 0xaa, 0xfa, 0x61, 0xf5, 0xa4, 0xda, 0xa8, 0xea, 0xcf, 0xcf, 0x4e, - 0x2e, 0x4f, 0xab, 0x05, 0x89, 0x2c, 0x60, 0xe7, 0x97, 0x07, 0x27, 0xb5, 0x8b, 0x63, 0xfd, 0xb2, - 0xee, 0xff, 0xe3, 0xd8, 0x14, 0x2a, 0xc0, 0xe2, 0x49, 0xed, 0xa2, 0xc1, 0x01, 0x17, 0x85, 0x34, - 0x81, 0x1c, 0x55, 0x1b, 0x7a, 0x65, 0xff, 0x7c, 0xbf, 0x52, 0x6b, 0x7c, 0x5e, 0xc8, 0x1c, 0xcc, - 0x32, 0x7b, 0xd5, 0xff, 0x66, 0x41, 0xae, 0xdb, 0x2d, 0xfc, 0xee, 0xe6, 0xe3, 0xcf, 0x22, 0x63, - 0x0f, 0xbb, 0x5f, 0x65, 0x2a, 0x29, 0x49, 0xf3, 0xe8, 0x79, 0x87, 0x94, 0x47, 0xcf, 0x70, 0x6e, - 0xb0, 0xa7, 0x77, 0x0d, 0xef, 0x25, 0x9d, 0xa9, 0x17, 0x34, 0x60, 0xa0, 0x73, 0xc3, 0x7b, 0x19, - 0x3f, 0x7a, 0x67, 0xdf, 0x7c, 0xf4, 0x9e, 0x8d, 0x8c, 0xde, 0x2e, 0xc8, 0x74, 0x8c, 0x89, 0x1b, - 0x52, 0xc4, 0x99, 0x37, 0xd1, 0x3f, 0x01, 0x31, 0x34, 0x94, 0xac, 0x59, 0xb1, 0x48, 0xf4, 0x8b, - 0xb8, 0x0e, 0x3b, 0x4f, 0xb5, 0x7d, 0x34, 0x5a, 0xdb, 0xa4, 0x8d, 0xf5, 0x2d, 0xe7, 0x48, 0xa5, - 0x06, 0xc5, 0x11, 0x8e, 0x7d, 0xf7, 0x53, 0x79, 0x11, 0x36, 0x62, 0x62, 0xc2, 0x4b, 0xd9, 0xbf, - 0x53, 0xa0, 0x10, 0xec, 0xbb, 0x1c, 0x77, 0x23, 0x07, 0x35, 0x3d, 0x74, 0x50, 0x7f, 0x05, 0x0a, - 0x3d, 0x48, 0xa3, 0xe6, 0xdd, 0x27, 0x41, 0x72, 0x13, 0x26, 0xdd, 0x10, 0x6a, 0xe8, 0x38, 0xd1, - 0x93, 0x1a, 0x3b, 0xdd, 0x3e, 0x83, 0xad, 0x91, 0xac, 0x53, 0xc5, 0x7a, 0x8b, 0xe5, 0x3e, 0x69, - 0xa2, 0xfd, 0x18, 0x0a, 0x04, 0x7d, 0x84, 0xbd, 0x5a, 0x6b, 0xda, 0x46, 0xf1, 0x21, 0xdc, 0x11, - 0x78, 0x79, 0x63, 0x10, 0x36, 0x09, 0x49, 0xdc, 0x24, 0x7c, 0x4d, 0x6f, 0xd4, 0xf9, 0x96, 0x99, - 0xa6, 0x70, 0xcf, 0x3b, 0x64, 0xe7, 0xe4, 0x2d, 0xbb, 0xdd, 0x17, 0x2c, 0x3e, 0x49, 0x7d, 0xee, - 0x69, 0xa4, 0xcf, 0xb1, 0xb1, 0x4c, 0x09, 0x52, 0x3f, 0xae, 0xc3, 0xfd, 0x4d, 0x82, 0xd5, 0x58, - 0x3a, 0xb4, 0x27, 0xf6, 0xb6, 0xed, 0x64, 0x81, 0x62, 0x57, 0xbb, 0x60, 0x4d, 0xed, 0x87, 0xa1, - 0xa6, 0xb6, 0x33, 0x9a, 0x57, 0x6c, 0x67, 0xcb, 0x31, 0xed, 0xcc, 0x6f, 0x39, 0x7b, 0xff, 0x94, - 0x60, 0xbe, 0x46, 0x0f, 0x9a, 0xd7, 0x47, 0x5f, 0xd0, 0xaf, 0x34, 0x43, 0xdf, 0x93, 0x50, 0xc9, - 0x9f, 0xbf, 0x92, 0xbe, 0x44, 0x29, 0xf7, 0x46, 0x50, 0xf0, 0xcc, 0xcd, 0xa0, 0x63, 0xc8, 0x87, - 0x3e, 0xad, 0xa0, 0x8d, 0xb8, 0xcf, 0x2d, 0x4c, 0xa0, 0x92, 0xfc, 0x25, 0x46, 0x9d, 0xd9, 0xfb, - 0xeb, 0x2c, 0xc0, 0xa0, 0xa1, 0xa3, 0x2a, 0x2c, 0x8a, 0xaf, 0xc5, 0x91, 0x9c, 0xf4, 0x35, 0x40, - 0xd9, 0x88, 0xc1, 0x04, 0xf6, 0x55, 0x61, 0x51, 0x7c, 0x79, 0xc5, 0xc5, 0xc4, 0xbc, 0x74, 0xe3, - 0x62, 0x62, 0xdf, 0x74, 0xcd, 0xa0, 0xeb, 0xd0, 0xc4, 0x26, 0x5e, 0x40, 0xb4, 0x33, 0xc1, 0xcb, - 0x17, 0xe5, 0xfd, 0x49, 0x5e, 0x42, 0xa8, 0x33, 0xa8, 0x0d, 0x1b, 0x89, 0xcb, 0x2b, 0xba, 0x3f, - 0xd1, 0x5e, 0xae, 0x3c, 0x18, 0x47, 0x16, 0x68, 0xb3, 0x41, 0x49, 0x5e, 0xd1, 0xd0, 0x83, 0xc9, - 0xb6, 0x4a, 0xe5, 0x83, 0xb1, 0x74, 0x81, 0xc2, 0x03, 0xc8, 0x09, 0x2b, 0x10, 0x5a, 0x1f, 0x5e, - 0x8a, 0x98, 0x48, 0x39, 0x69, 0x5b, 0x62, 0x32, 0x84, 0x21, 0x9e, 0xcb, 0x18, 0xde, 0x23, 0xb8, - 0x8c, 0x98, 0x79, 0x5f, 0x9d, 0x41, 0x75, 0x78, 0x2f, 0x32, 0x80, 0xa3, 0x62, 0x34, 0x43, 0x42, - 0x79, 0x53, 0x36, 0xe3, 0x91, 0xf1, 0x69, 0x8b, 0x54, 0xa0, 0xa1, 0xb4, 0xc5, 0xd7, 0xb9, 0xa1, - 0xb4, 0x25, 0x14, 0x32, 0x75, 0x66, 0xef, 0xf7, 0x69, 0xc8, 0x90, 0x2a, 0x81, 0x1a, 0xbc, 0x9a, - 0x86, 0x4e, 0xc9, 0xd6, 0xc8, 0x51, 0x45, 0xd9, 0x4e, 0x42, 0x07, 0xce, 0xfc, 0x14, 0x96, 0x63, - 0x1a, 0x0d, 0xba, 0x3b, 0xa6, 0x4b, 0x2a, 0xa5, 0x64, 0x82, 0x40, 0xf6, 0x27, 0xb0, 0x10, 0x74, - 0x1a, 0xb4, 0x1a, 0x30, 0x88, 0x5d, 0x4b, 0x59, 0x8b, 0x82, 0xa3, 0xdc, 0x2c, 0x61, 0x03, 0xee, - 0x50, 0xaa, 0xd6, 0xa2, 0xe0, 0xa8, 0x5f, 0xd1, 0xf4, 0xdc, 0x15, 0xd5, 0xc5, 0x25, 0xa6, 0x94, - 0x4c, 0xe0, 0xcb, 0xbe, 0x9a, 0xa5, 0x1f, 0xf8, 0x3f, 0xfa, 0x26, 0x00, 0x00, 0xff, 0xff, 0x9b, - 0x61, 0xfa, 0x6c, 0xed, 0x1f, 0x00, 0x00, + // 2348 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x1a, 0x4d, 0x6f, 0xdb, 0xc8, + 0xd5, 0xd4, 0x87, 0x65, 0x3d, 0xd9, 0x89, 0x3c, 0x76, 0x6c, 0x85, 0x8e, 0x13, 0x87, 0xd9, 0x64, + 0x53, 0x34, 0x2b, 0xb4, 0x5e, 0xec, 0x36, 0xde, 0x6c, 0x02, 0xd8, 0x32, 0x63, 0xab, 0x71, 0x64, + 0x2f, 0x2d, 0x27, 0xdd, 0x6d, 0xb7, 0x5c, 0x5a, 0x1a, 0x3b, 0x6c, 0x24, 0x52, 0x4b, 0x52, 0x46, + 0x84, 0xa2, 0xb7, 0x9e, 0xda, 0xde, 0x7a, 0xe8, 0xa5, 0x68, 0xcf, 0x05, 0x7a, 0xed, 0x69, 0xd1, + 0x4b, 0x81, 0xa2, 0x97, 0x02, 0x3d, 0x15, 0xbd, 0xf6, 0xba, 0xfd, 0x05, 0x3d, 0x16, 0x9c, 0x19, + 0x52, 0x43, 0x6a, 0x48, 0x59, 0xc9, 0x3a, 0xe8, 0xc9, 0xe2, 0xfb, 0x9e, 0x37, 0x6f, 0xde, 0xbc, + 0xf7, 0xc6, 0x50, 0x6c, 0xb9, 0x66, 0xb5, 0xe7, 0xd8, 0x9e, 0x8d, 0xb2, 0x2d, 0xd7, 0x54, 0x56, + 0x61, 0x65, 0x07, 0x7b, 0x87, 0xfd, 0x5e, 0xcf, 0x76, 0x3c, 0xdc, 0x7e, 0x86, 0x1d, 0xd7, 0xb4, + 0x2d, 0x57, 0xc3, 0x5f, 0xf6, 0xb1, 0xeb, 0x29, 0x3f, 0x84, 0x6b, 0x62, 0xb4, 0xdb, 0xb3, 0x2d, + 0x17, 0xa3, 0x07, 0x80, 0xdc, 0x00, 0xa9, 0x9f, 0x31, 0x6c, 0x45, 0x5a, 0xcb, 0xde, 0x2d, 0xad, + 0xcf, 0x56, 0x7d, 0x5d, 0x8c, 0x45, 0x9b, 0x77, 0xe3, 0x42, 0x94, 0x27, 0x50, 0x60, 0xbf, 0xd1, + 0x22, 0xe4, 0xbb, 0xc6, 0x4f, 0x6c, 0xa7, 0x22, 0xad, 0x49, 0x77, 0xf3, 0x1a, 0xfd, 0x20, 0x50, + 0xd3, 0xb2, 0x9d, 0x4a, 0x86, 0x41, 0xfd, 0x0f, 0x1f, 0xda, 0x33, 0xbc, 0xd6, 0x8b, 0x4a, 0x96, + 0x42, 0xc9, 0x87, 0xf2, 0x08, 0x16, 0x77, 0xb0, 0x77, 0xd0, 0xe9, 0x9f, 0x9a, 0x56, 0xdd, 0x3a, + 0xb1, 0xd9, 0x0a, 0xd0, 0x1d, 0x28, 0x30, 0xbb, 0x88, 0xec, 0xb8, 0x59, 0x01, 0x52, 0xf9, 0xa7, + 0x04, 0x57, 0x62, 0x02, 0xd8, 0x1a, 0x11, 0xe4, 0x2c, 0xa3, 0x8b, 0x09, 0x7b, 0x51, 0x23, 0xbf, + 0xd1, 0x6d, 0xb8, 0x74, 0x86, 0xad, 0xb6, 0xed, 0x04, 0x8b, 0x26, 0x26, 0x16, 0xb5, 0x39, 0x0a, + 0x0d, 0x96, 0xb5, 0x0d, 0x33, 0x5d, 0xc3, 0x32, 0x4f, 0xb0, 0xeb, 0x55, 0xb2, 0xc4, 0x29, 0x77, + 0x89, 0x76, 0xa1, 0xa2, 0xea, 0x53, 0x46, 0xaa, 0x5a, 0x9e, 0x33, 0xd0, 0x42, 0x4e, 0xf9, 0x01, + 0xcc, 0x45, 0x50, 0xa8, 0x0c, 0xd9, 0x97, 0x78, 0xc0, 0x0c, 0xf2, 0x7f, 0xfa, 0x3e, 0x39, 0x33, + 0x3a, 0x7d, 0xcc, 0xcc, 0xa0, 0x1f, 0x1f, 0x65, 0xee, 0x4b, 0xca, 0x63, 0xb2, 0x83, 0x54, 0x5b, + 0xcd, 0xe8, 0x19, 0xc7, 0x66, 0xc7, 0xf4, 0x4c, 0xec, 0x4e, 0xea, 0x9f, 0xcf, 0x60, 0x35, 0x41, + 0x0e, 0x73, 0xd3, 0x06, 0xcc, 0xb6, 0x38, 0x78, 0x25, 0x43, 0xd6, 0x7b, 0x85, 0x48, 0x8b, 0xb1, + 0x0d, 0xb4, 0x08, 0xa9, 0xf2, 0x57, 0x09, 0xca, 0x71, 0x12, 0xb4, 0x01, 0x05, 0x17, 0x3b, 0x67, + 0x66, 0x0b, 0x33, 0xc3, 0x56, 0x85, 0xa2, 0xaa, 0x87, 0x94, 0x68, 0x77, 0x4a, 0x0b, 0xe8, 0x65, + 0x0b, 0x0a, 0x0c, 0x8a, 0x3e, 0x84, 0x9c, 0x37, 0xe8, 0x51, 0x11, 0x97, 0xd6, 0x95, 0x54, 0x11, + 0xd5, 0xe6, 0xa0, 0x87, 0x35, 0x42, 0xaf, 0x7c, 0x1b, 0x72, 0xfe, 0x17, 0x2a, 0x41, 0xe1, 0xa8, + 0xf1, 0xa4, 0xb1, 0xff, 0xbc, 0x51, 0x9e, 0x42, 0x4b, 0x80, 0x6a, 0xfb, 0x8d, 0xa6, 0xb6, 0xbf, + 0xb7, 0xa7, 0x6a, 0xfa, 0xa1, 0xaa, 0x3d, 0xab, 0xd7, 0xd4, 0xb2, 0xb4, 0x35, 0x4d, 0x95, 0x28, + 0x1f, 0xc2, 0xec, 0x81, 0x63, 0x1f, 0xe3, 0x49, 0x7d, 0x7b, 0x19, 0xe6, 0x18, 0x1f, 0xf5, 0xa5, + 0xf2, 0xc7, 0x1c, 0x2c, 0xd4, 0x1c, 0x6c, 0x78, 0xf8, 0x99, 0xdd, 0xe9, 0x77, 0x27, 0x15, 0x18, + 0x86, 0x6c, 0x86, 0x0b, 0xd9, 0x0d, 0xb8, 0xe4, 0x3b, 0xbd, 0x65, 0x7a, 0x03, 0xdd, 0x31, 0xac, + 0x53, 0x4c, 0xce, 0x4f, 0x69, 0x1d, 0x11, 0x11, 0x35, 0x86, 0xd2, 0x7c, 0x8c, 0x36, 0xd7, 0xe2, + 0x3f, 0xd1, 0x63, 0x58, 0x38, 0x23, 0x76, 0xe8, 0x91, 0x1d, 0xce, 0x71, 0x3b, 0x4c, 0xed, 0xe4, + 0x76, 0x18, 0x9d, 0x45, 0x21, 0x26, 0x76, 0xd1, 0x2e, 0x40, 0xcf, 0x70, 0x8c, 0x2e, 0xf6, 0xb0, + 0xe3, 0x56, 0xf2, 0xdc, 0x81, 0x10, 0x2c, 0xb6, 0x7a, 0x10, 0x92, 0xd2, 0x03, 0xc1, 0xf1, 0xa2, + 0x9f, 0xc1, 0x6a, 0xcb, 0xb6, 0x3c, 0xc7, 0xee, 0x74, 0xb0, 0xa3, 0xb7, 0x08, 0xb7, 0xff, 0xa7, + 0x8d, 0x2d, 0xcf, 0x34, 0x3a, 0x6e, 0x65, 0x9a, 0x08, 0xdf, 0x48, 0x14, 0x5e, 0x0b, 0xb9, 0x29, + 0xb6, 0x36, 0xe4, 0xa5, 0xda, 0x56, 0x5a, 0xc9, 0x14, 0xf2, 0x43, 0xb8, 0x1c, 0xb3, 0x6e, 0x92, + 0x33, 0x29, 0x37, 0x60, 0x6d, 0x9c, 0xfe, 0x89, 0xce, 0xf8, 0x03, 0x58, 0x8c, 0xae, 0x91, 0x1d, + 0xc9, 0x5b, 0x30, 0x4d, 0x77, 0x81, 0x45, 0x4b, 0x89, 0xdb, 0x2a, 0x8d, 0xa1, 0x94, 0xdf, 0xe5, + 0xa0, 0x1c, 0xdf, 0x3d, 0xb4, 0x01, 0xf9, 0xe3, 0x8e, 0xdd, 0x7a, 0xc9, 0x18, 0x6f, 0x0a, 0xf7, + 0xb8, 0xba, 0xe5, 0x93, 0x50, 0xe8, 0xee, 0x94, 0x46, 0x39, 0x7c, 0xd6, 0xae, 0xdd, 0xb7, 0x3c, + 0x62, 0x66, 0x22, 0xeb, 0x53, 0x9f, 0x64, 0xc8, 0x4a, 0x38, 0xd0, 0x26, 0x94, 0x8c, 0x56, 0x0b, + 0xbb, 0xae, 0xde, 0xb5, 0xdb, 0x41, 0x7c, 0xae, 0x89, 0x05, 0x6c, 0x12, 0xc2, 0xa7, 0x76, 0x1b, + 0x6b, 0x60, 0x84, 0xbf, 0xe5, 0x39, 0x28, 0x71, 0x56, 0xc9, 0x3b, 0x50, 0xe2, 0x34, 0xa1, 0x65, + 0x28, 0x9c, 0xb8, 0x7a, 0x98, 0x10, 0x8a, 0xda, 0xf4, 0x89, 0x4b, 0x8e, 0xf9, 0x0d, 0x28, 0x11, + 0x13, 0xf4, 0x93, 0x8e, 0x71, 0x4a, 0x73, 0x57, 0x51, 0x03, 0x02, 0x7a, 0xec, 0x43, 0xe4, 0xaf, + 0x25, 0x80, 0xa1, 0x4a, 0xb4, 0x01, 0x39, 0x62, 0x22, 0x4d, 0x2b, 0xb7, 0xc7, 0x99, 0x58, 0x25, + 0x76, 0x12, 0x16, 0xe5, 0xf7, 0x12, 0xe4, 0x88, 0x8c, 0x78, 0x6a, 0x39, 0xac, 0x37, 0x76, 0xf6, + 0x54, 0xbd, 0xb1, 0xbf, 0xad, 0xea, 0xcf, 0xb5, 0x7a, 0x53, 0xd5, 0xca, 0x12, 0x5a, 0x81, 0x65, + 0x1e, 0xae, 0xa9, 0x9b, 0xdb, 0xaa, 0xa6, 0xef, 0x37, 0xf6, 0x3e, 0x2d, 0x67, 0x90, 0x0c, 0x4b, + 0x4f, 0x8f, 0xf6, 0x9a, 0xf5, 0x51, 0x5c, 0x16, 0x5d, 0x83, 0x0a, 0x87, 0x63, 0x32, 0x98, 0xd8, + 0x9c, 0x2f, 0x96, 0xc3, 0xd2, 0x9f, 0x0c, 0x99, 0xdf, 0x9a, 0x0b, 0xb7, 0x81, 0x64, 0xb5, 0xe7, + 0x30, 0x17, 0xc9, 0x0e, 0xfe, 0xe5, 0xe7, 0xe0, 0x2f, 0xfb, 0xa6, 0x83, 0xdb, 0xfa, 0xf1, 0xc0, + 0xc3, 0x2e, 0x71, 0x43, 0x56, 0x9b, 0x0b, 0xa0, 0x5b, 0x3e, 0xd0, 0xf7, 0x69, 0xc7, 0xec, 0x9a, + 0x1e, 0xa3, 0xc9, 0x10, 0x1a, 0x20, 0x20, 0x42, 0xa0, 0x7c, 0x25, 0xc1, 0x34, 0xdb, 0x98, 0xdb, + 0x5c, 0x72, 0x8a, 0x88, 0x0c, 0xa0, 0x54, 0xe4, 0x25, 0xc8, 0x98, 0x6d, 0x16, 0xff, 0x19, 0xb3, + 0x8d, 0x1e, 0x00, 0x18, 0x9e, 0xe7, 0x98, 0xc7, 0x7d, 0x9f, 0x85, 0xde, 0xb0, 0x2b, 0xdc, 0x66, + 0x54, 0x37, 0x43, 0x2c, 0xcb, 0x21, 0x43, 0x72, 0xff, 0x10, 0xc7, 0xd0, 0x13, 0x1d, 0xba, 0x3f, + 0x64, 0x60, 0x61, 0x1b, 0x77, 0xf0, 0xeb, 0xe6, 0xe8, 0x15, 0x28, 0xb2, 0xa4, 0x1a, 0x2e, 0x69, + 0x86, 0x02, 0xea, 0xed, 0x58, 0x7e, 0x6b, 0x13, 0x35, 0x91, 0xfc, 0x96, 0xe5, 0xf2, 0x9b, 0xc0, + 0x0a, 0x2e, 0xbf, 0x51, 0x6c, 0x5a, 0x7e, 0x1b, 0xa1, 0x88, 0x26, 0x28, 0xb1, 0x80, 0x89, 0x7c, + 0xb5, 0x04, 0x8b, 0x51, 0x23, 0xd9, 0x3d, 0xf7, 0x9f, 0x1c, 0x5c, 0x1f, 0x2a, 0x3a, 0xe8, 0x1f, + 0x77, 0x4c, 0xf7, 0xc5, 0x05, 0xb8, 0x73, 0x19, 0x0a, 0x96, 0xdd, 0x26, 0xa8, 0x2c, 0x3d, 0xf7, + 0xfe, 0x67, 0xbd, 0x8d, 0xb6, 0x60, 0x3e, 0x7e, 0xb3, 0x0d, 0x2a, 0x39, 0xa2, 0x27, 0xe1, 0x5e, + 0x2b, 0x9f, 0xc5, 0x73, 0xa5, 0x0c, 0x33, 0x0e, 0x36, 0xda, 0xb6, 0xd5, 0x19, 0x54, 0xf2, 0x6b, + 0xd2, 0xdd, 0x19, 0x2d, 0xfc, 0x46, 0xbf, 0x94, 0xe0, 0x3a, 0xb7, 0x91, 0x3d, 0xba, 0x42, 0xc1, + 0x4d, 0xa5, 0xd2, 0x9b, 0x2a, 0xd5, 0x17, 0xa3, 0xe8, 0x91, 0x5d, 0xbd, 0xd6, 0x4a, 0x21, 0x41, + 0x27, 0xe1, 0x6a, 0xb9, 0x53, 0x53, 0xe0, 0x6f, 0xca, 0x74, 0xfd, 0xf4, 0x2b, 0x7e, 0xa6, 0x98, + 0x47, 0x86, 0x60, 0x79, 0x1f, 0x6e, 0x8e, 0x35, 0x75, 0xa2, 0x0b, 0xb3, 0x06, 0x57, 0x84, 0xba, + 0x27, 0x0a, 0xc2, 0xaf, 0x24, 0xb8, 0x91, 0xb8, 0x40, 0x76, 0x63, 0xfe, 0x00, 0x66, 0x83, 0x3d, + 0x32, 0xad, 0x13, 0x9b, 0x75, 0x32, 0x1f, 0xa4, 0x3b, 0x87, 0x95, 0xef, 0x0c, 0xea, 0x97, 0xf4, + 0xd4, 0x31, 0xa5, 0xde, 0x10, 0x22, 0x3f, 0x82, 0x72, 0x9c, 0x60, 0x22, 0xeb, 0xbf, 0xce, 0xf0, + 0x67, 0xf2, 0xc8, 0xea, 0xbd, 0xfd, 0xc3, 0xf2, 0x6b, 0x09, 0xd6, 0xb8, 0x60, 0xee, 0x5b, 0xa2, + 0x70, 0xa6, 0x45, 0x61, 0x3d, 0xe6, 0x31, 0xb1, 0xbd, 0x22, 0x82, 0x91, 0x90, 0xe6, 0xce, 0x8f, + 0x88, 0x48, 0xfe, 0x04, 0x6e, 0x9d, 0x43, 0xcc, 0x44, 0xbe, 0xbe, 0xc5, 0xc7, 0xef, 0x88, 0xe9, + 0x2c, 0x77, 0xfd, 0x3b, 0x03, 0x37, 0x9f, 0x19, 0x1d, 0xb3, 0x1d, 0xd6, 0x5d, 0x6f, 0xd0, 0x5e, + 0xa5, 0xef, 0x48, 0x42, 0xfd, 0x9d, 0x9d, 0xb4, 0xfe, 0x36, 0x45, 0xe7, 0x9f, 0x6e, 0xd8, 0xc7, + 0x54, 0xca, 0xb8, 0xf5, 0x9c, 0x3b, 0x05, 0x7c, 0x23, 0x27, 0xf6, 0x47, 0xa0, 0xa4, 0x59, 0xc4, + 0xce, 0xec, 0x35, 0x28, 0x86, 0xb3, 0x05, 0x22, 0x77, 0x46, 0x1b, 0x02, 0x50, 0x05, 0x0a, 0x5d, + 0xec, 0xba, 0xc6, 0x69, 0x20, 0x3f, 0xf8, 0x54, 0x7e, 0x2e, 0x01, 0xda, 0x33, 0x5d, 0x56, 0x1b, + 0x4e, 0xbc, 0x63, 0x7e, 0xc9, 0x68, 0xbc, 0xd2, 0xb1, 0xe5, 0x39, 0x26, 0x2b, 0x6f, 0xf2, 0x1a, + 0x74, 0x8d, 0x57, 0x2a, 0x85, 0xf8, 0x35, 0x8d, 0xeb, 0x19, 0x8e, 0x67, 0x5a, 0xa7, 0xba, 0x67, + 0xbf, 0xc4, 0x16, 0x3b, 0x4e, 0x73, 0x01, 0xb4, 0xe9, 0x03, 0x95, 0xdf, 0x4a, 0xb0, 0x10, 0x31, + 0x83, 0x2d, 0xeb, 0x3e, 0x14, 0x02, 0xd9, 0x34, 0x0b, 0x5d, 0x27, 0x76, 0x08, 0x48, 0xab, 0x74, + 0x13, 0x02, 0x72, 0xb4, 0x0a, 0x60, 0xe1, 0x57, 0x1e, 0x53, 0x4a, 0x57, 0x5d, 0xf4, 0x21, 0x44, + 0xa1, 0x7c, 0x0f, 0xf2, 0x74, 0x2b, 0xce, 0xd5, 0x1e, 0xfc, 0x2a, 0x03, 0x68, 0x07, 0x7b, 0x61, + 0x05, 0x38, 0xa1, 0x97, 0x12, 0x42, 0x37, 0x33, 0x69, 0xe8, 0xee, 0x44, 0x5a, 0x47, 0x1a, 0xf9, + 0xef, 0x06, 0xb3, 0x94, 0x98, 0x71, 0x69, 0x9d, 0xe3, 0x1b, 0xb6, 0x6e, 0xca, 0x36, 0x2c, 0x44, + 0x14, 0xb2, 0xcd, 0x7a, 0x0f, 0x90, 0x71, 0x66, 0x98, 0x1d, 0xe3, 0xb8, 0x43, 0x57, 0xea, 0x63, + 0x59, 0x0d, 0x3b, 0x1f, 0x62, 0x02, 0x36, 0xe5, 0xfb, 0x7c, 0x2e, 0x67, 0xf2, 0x5e, 0x77, 0x30, + 0x63, 0xf2, 0xc9, 0x6a, 0x44, 0x16, 0xb3, 0x6f, 0x5b, 0x38, 0x9c, 0x59, 0x8b, 0x65, 0x69, 0x36, + 0x07, 0x49, 0x9c, 0xd3, 0xfc, 0x26, 0x03, 0x2b, 0x29, 0xd4, 0xe8, 0x3e, 0x64, 0x9d, 0x5e, 0x8b, + 0x99, 0xfb, 0xce, 0x38, 0xe1, 0x55, 0xed, 0xa0, 0xb6, 0x3b, 0xa5, 0xf9, 0x2c, 0xf2, 0x9f, 0x24, + 0xc8, 0x6a, 0x07, 0x35, 0xf4, 0x30, 0x32, 0xae, 0xf9, 0xd6, 0x79, 0x44, 0xf0, 0x53, 0x1b, 0x5b, + 0x34, 0xb5, 0xa9, 0xc0, 0x62, 0x4d, 0x53, 0x37, 0x9b, 0xaa, 0xbe, 0xad, 0xee, 0xa9, 0x4d, 0x55, + 0x7f, 0xb6, 0xbf, 0x77, 0xf4, 0x54, 0x2d, 0x4b, 0x7e, 0x8f, 0x74, 0x70, 0xb4, 0xb5, 0x57, 0x3f, + 0xdc, 0xd5, 0x8f, 0x1a, 0xc1, 0x2f, 0x86, 0xcd, 0xa0, 0x32, 0xcc, 0xee, 0xd5, 0x0f, 0x9b, 0x0c, + 0x70, 0x58, 0xce, 0xfa, 0x90, 0x1d, 0xb5, 0xa9, 0xd7, 0x36, 0x0f, 0x36, 0x6b, 0xf5, 0xe6, 0xa7, + 0xe5, 0x5c, 0x38, 0xf9, 0xf9, 0x73, 0x1e, 0x96, 0x1a, 0x76, 0x1b, 0x1f, 0x7a, 0xc6, 0xe9, 0x45, + 0xf4, 0x03, 0xfb, 0xb1, 0xba, 0x84, 0x1e, 0x80, 0x7b, 0x44, 0x92, 0x58, 0x6f, 0x7a, 0x39, 0x82, + 0xaa, 0xb0, 0xe0, 0x7a, 0xc6, 0x29, 0xc9, 0x4d, 0x86, 0x73, 0x8a, 0x3d, 0xbd, 0x67, 0x78, 0x2f, + 0x48, 0xe9, 0x5b, 0xd4, 0xe6, 0x19, 0xaa, 0x49, 0x30, 0x07, 0x86, 0xf7, 0x42, 0x5c, 0x28, 0xe7, + 0x27, 0x2b, 0x94, 0x5f, 0xc2, 0x12, 0x29, 0x2c, 0x7c, 0xe9, 0xa2, 0x69, 0xcd, 0x07, 0x69, 0xcb, + 0x09, 0xc1, 0x23, 0x05, 0xc2, 0xa2, 0x25, 0x40, 0xa1, 0x1f, 0x27, 0xd7, 0xba, 0xdf, 0x4d, 0xd3, + 0x73, 0xde, 0x0b, 0xee, 0x0d, 0xeb, 0x39, 0x79, 0x07, 0xae, 0x26, 0x2e, 0xe9, 0xed, 0xd7, 0xc6, + 0x57, 0x61, 0x79, 0xc4, 0x1f, 0xac, 0xce, 0xf9, 0x47, 0x06, 0x2a, 0x3e, 0xee, 0xc8, 0x72, 0x2f, + 0x28, 0xb8, 0x13, 0x62, 0x31, 0x9b, 0x14, 0x8b, 0x2e, 0x54, 0x48, 0x1c, 0xf5, 0xad, 0xd1, 0x48, + 0xca, 0x71, 0xdd, 0x4c, 0x92, 0xd5, 0x3c, 0x62, 0x24, 0x9a, 0x48, 0x88, 0x8e, 0x22, 0xe5, 0x3a, + 0xac, 0xa4, 0xb0, 0x4d, 0xe4, 0xec, 0x15, 0xba, 0xf5, 0x31, 0xd3, 0x98, 0xbb, 0x7f, 0x31, 0x4d, + 0xdd, 0x7d, 0x71, 0xcd, 0xf0, 0x27, 0xc2, 0x5c, 0x52, 0x0d, 0x5d, 0x26, 0x6c, 0xfd, 0xbe, 0xd9, + 0x6c, 0x72, 0x03, 0x4a, 0x3c, 0x5d, 0x9e, 0xd0, 0x81, 0x37, 0x26, 0xdd, 0x4c, 0xbf, 0x7e, 0x5f, + 0x5e, 0x88, 0xf5, 0xe5, 0x41, 0x08, 0x89, 0x3a, 0x98, 0x99, 0x58, 0x08, 0x09, 0xfd, 0xc1, 0x21, + 0xc4, 0x21, 0x24, 0x68, 0xbf, 0xbf, 0x10, 0xa5, 0xa4, 0x22, 0xd1, 0xf6, 0x7e, 0xba, 0xb6, 0xb7, + 0x95, 0x94, 0x58, 0x90, 0xff, 0xdf, 0xb4, 0xec, 0xec, 0xa4, 0x08, 0xfb, 0x6d, 0xe5, 0xef, 0x19, + 0x90, 0xe9, 0x39, 0xba, 0xb8, 0x5e, 0x38, 0x16, 0xa8, 0xd9, 0x91, 0x40, 0xfd, 0x29, 0xc8, 0x2c, + 0x17, 0x25, 0x37, 0xc3, 0x0f, 0xb9, 0x6c, 0xd4, 0x4b, 0x0a, 0xa6, 0xe4, 0x06, 0xb8, 0x62, 0x25, + 0xa0, 0xe5, 0x27, 0xb0, 0x9a, 0xca, 0x3a, 0x91, 0xaf, 0x57, 0x83, 0x04, 0x27, 0x6e, 0x77, 0x3f, + 0x82, 0xb2, 0x8f, 0xde, 0xc1, 0x5e, 0xbd, 0x3d, 0x69, 0x89, 0x7a, 0x0f, 0xe6, 0x39, 0x5e, 0x56, + 0x92, 0x72, 0x63, 0x06, 0x89, 0x1f, 0x33, 0x28, 0xdb, 0x74, 0x5b, 0xdf, 0xb0, 0x2c, 0xfe, 0x9c, + 0x2e, 0x27, 0xa9, 0x20, 0x7e, 0x14, 0x2b, 0x88, 0x69, 0x8b, 0x25, 0x0f, 0x2b, 0x83, 0x31, 0xa5, + 0xf0, 0x5f, 0x24, 0xb8, 0x22, 0xa4, 0x43, 0xeb, 0x7c, 0x11, 0x7c, 0x3d, 0x59, 0x20, 0x5f, 0xfe, + 0x76, 0x69, 0xf5, 0xfb, 0xbd, 0x48, 0xf5, 0x7b, 0x2b, 0x9d, 0x97, 0xaf, 0x7b, 0xdf, 0x4b, 0xa8, + 0x7b, 0x0f, 0x9b, 0x9b, 0x3b, 0xaa, 0x7e, 0xd4, 0xa0, 0x7f, 0x83, 0xba, 0x37, 0xa8, 0x5a, 0xd7, + 0xff, 0x96, 0x81, 0x99, 0x3a, 0x89, 0x18, 0x6f, 0x80, 0x3e, 0x27, 0x0f, 0xe8, 0x23, 0x4f, 0xfd, + 0x68, 0x2d, 0xe8, 0xb2, 0x92, 0xfe, 0x49, 0x40, 0xbe, 0x99, 0x42, 0xc1, 0xa2, 0x67, 0x0a, 0xed, + 0xc2, 0x5c, 0xe4, 0xd5, 0x1b, 0x5d, 0x15, 0xbd, 0x84, 0x53, 0x81, 0x72, 0xf2, 0x23, 0xb9, 0x32, + 0x85, 0xbe, 0xe0, 0x1e, 0xea, 0x23, 0x3d, 0xe2, 0xcd, 0x28, 0x9b, 0x20, 0x7a, 0x64, 0x25, 0x8d, + 0x24, 0xd4, 0xf0, 0x1d, 0xc8, 0x93, 0xf7, 0x58, 0x34, 0x4f, 0xdf, 0x8b, 0xb9, 0x37, 0x5d, 0x19, + 0xf1, 0xa0, 0x80, 0x63, 0xfd, 0x5f, 0x79, 0x80, 0x61, 0x9f, 0x82, 0x54, 0x98, 0xe5, 0x1f, 0xe4, + 0x50, 0x25, 0xe9, 0x1d, 0x52, 0xbe, 0x2a, 0xc0, 0x84, 0x76, 0xa8, 0x30, 0xcb, 0x8f, 0xcd, 0x99, + 0x18, 0xc1, 0xb8, 0x9f, 0x89, 0x11, 0xce, 0xd8, 0xa7, 0xd0, 0x09, 0x2c, 0x27, 0xcc, 0x2e, 0xd1, + 0xad, 0x73, 0x8c, 0x7d, 0xe5, 0x77, 0xce, 0x33, 0xfe, 0x54, 0xa6, 0x50, 0x07, 0xae, 0x26, 0x8e, + 0xcd, 0xd0, 0xed, 0x73, 0x4d, 0x04, 0xe5, 0x3b, 0xe3, 0xc8, 0x42, 0x6d, 0x36, 0xc8, 0xc9, 0xc3, + 0x21, 0x74, 0xe7, 0x7c, 0xf3, 0x2c, 0xf9, 0xdd, 0xb1, 0x74, 0xa1, 0xc2, 0x2d, 0x28, 0x71, 0xc3, + 0x17, 0xb4, 0x3c, 0x3a, 0x8e, 0xa1, 0x22, 0x2b, 0x49, 0x73, 0x1a, 0x2a, 0x83, 0x1b, 0x1f, 0x30, + 0x19, 0xa3, 0x13, 0x0c, 0x26, 0x43, 0x30, 0x69, 0x88, 0xbb, 0x39, 0x96, 0xdf, 0x46, 0xdc, 0x2c, + 0xce, 0xa2, 0x23, 0x6e, 0x4e, 0x48, 0x93, 0xca, 0xd4, 0xfa, 0x7f, 0xb3, 0x90, 0xf3, 0x73, 0x10, + 0x6a, 0xc0, 0xe5, 0x58, 0x8b, 0x80, 0x56, 0x52, 0x1a, 0x29, 0xf9, 0x9a, 0x18, 0x19, 0x2e, 0xa3, + 0x49, 0x2f, 0x85, 0x48, 0x15, 0x8c, 0x56, 0x53, 0x0b, 0x77, 0xf9, 0x7a, 0x12, 0x3a, 0x2e, 0x35, + 0x1a, 0xe5, 0xab, 0xa9, 0xd5, 0x15, 0x27, 0x35, 0x29, 0xb2, 0x3f, 0x83, 0x05, 0xc1, 0xdd, 0x88, + 0x6e, 0x8c, 0xb9, 0xd8, 0xe5, 0xb5, 0x64, 0x82, 0x50, 0xf6, 0xc7, 0x50, 0x0c, 0x2f, 0x47, 0x74, + 0x25, 0x64, 0xe0, 0x2f, 0x5a, 0x79, 0x29, 0x0e, 0x8e, 0x5b, 0x16, 0x0f, 0x83, 0x1b, 0x3c, 0x83, + 0x28, 0x00, 0xd6, 0x92, 0x09, 0x02, 0xd9, 0xc7, 0xd3, 0xe4, 0xff, 0xc4, 0xde, 0xff, 0x5f, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x2a, 0x1b, 0xdc, 0x39, 0x34, 0x26, 0x00, 0x00, }