From c91a12d205c0391d3c2649aadf40091222906281 Mon Sep 17 00:00:00 2001 From: mbohlool Date: Wed, 21 Jun 2017 00:13:36 -0700 Subject: [PATCH 1/4] Remove all references to types.UnixUserID and types.UnixGroupID --- pkg/api/types.go | 8 ++--- pkg/api/v1/types.go | 8 ++--- pkg/api/validation/validation_test.go | 29 ++++++++------- pkg/apis/extensions/types.go | 9 +++-- .../securitycontext/provider_test.go | 11 +++--- pkg/kubelet/kubelet_volumes_test.go | 4 +-- .../kuberuntime/kuberuntime_container_test.go | 3 +- .../kuberuntime/security_context_test.go | 3 +- pkg/kubelet/rkt/rkt_test.go | 18 +++++----- .../volumemanager/volume_manager_test.go | 3 +- .../podsecuritypolicy/group/mustrunas.go | 13 ++++--- .../podsecuritypolicy/group/mustrunas_test.go | 21 ++++++----- .../podsecuritypolicy/group/runasany.go | 9 +++-- pkg/security/podsecuritypolicy/group/types.go | 7 ++-- pkg/security/podsecuritypolicy/provider.go | 3 +- .../podsecuritypolicy/provider_test.go | 17 +++++---- .../podsecuritypolicy/user/mustrunas.go | 5 ++- .../podsecuritypolicy/user/mustrunas_test.go | 5 ++- .../podsecuritypolicy/user/nonroot.go | 3 +- .../podsecuritypolicy/user/nonroot_test.go | 5 ++- .../podsecuritypolicy/user/runasany.go | 3 +- pkg/security/podsecuritypolicy/user/types.go | 3 +- pkg/security/podsecuritypolicy/util/util.go | 5 ++- pkg/securitycontext/util.go | 9 +++-- pkg/securitycontext/util_test.go | 13 ++++--- pkg/volume/aws_ebs/aws_ebs.go | 4 +-- pkg/volume/azure_dd/azure_dd.go | 4 +-- pkg/volume/azure_file/azure_file.go | 4 +-- pkg/volume/cephfs/cephfs.go | 4 +-- pkg/volume/cinder/cinder.go | 4 +-- pkg/volume/configmap/configmap.go | 4 +-- pkg/volume/configmap/configmap_test.go | 8 ++--- pkg/volume/downwardapi/downwardapi.go | 4 +-- pkg/volume/empty_dir/empty_dir.go | 4 +-- pkg/volume/fc/disk_manager.go | 3 +- pkg/volume/fc/fc.go | 4 +-- pkg/volume/flexvolume/mounter-defaults.go | 3 +- pkg/volume/flexvolume/mounter.go | 5 ++- pkg/volume/flexvolume/mounter_test.go | 2 +- pkg/volume/flocker/flocker.go | 4 +-- pkg/volume/gce_pd/gce_pd.go | 4 +-- pkg/volume/git_repo/git_repo.go | 4 +-- pkg/volume/glusterfs/glusterfs.go | 4 +-- pkg/volume/host_path/host_path.go | 4 +-- pkg/volume/iscsi/disk_manager.go | 3 +- pkg/volume/iscsi/iscsi.go | 4 +-- pkg/volume/local/local.go | 4 +-- pkg/volume/nfs/nfs.go | 4 +-- pkg/volume/photon_pd/photon_pd.go | 4 +-- pkg/volume/portworx/portworx.go | 4 +-- pkg/volume/projected/projected.go | 4 +-- pkg/volume/quobyte/quobyte.go | 4 +-- pkg/volume/rbd/disk_manager.go | 3 +- pkg/volume/rbd/rbd.go | 4 +-- pkg/volume/scaleio/sio_volume.go | 4 +-- pkg/volume/secret/secret.go | 4 +-- pkg/volume/storageos/storageos.go | 4 +-- pkg/volume/testing/testing.go | 4 +-- .../operationexecutor/operation_generator.go | 2 +- pkg/volume/volume.go | 4 +-- pkg/volume/volume_linux.go | 4 +-- pkg/volume/volume_unsupported.go | 4 +-- pkg/volume/vsphere_volume/vsphere_volume.go | 4 +-- .../podsecuritypolicy/admission_test.go | 35 +++++++++---------- .../securitycontext/scdeny/admission_test.go | 7 ++-- .../apimachinery/pkg/types/unix_user_id.go | 23 ------------ .../pkg/util/validation/validation.go | 6 ++-- .../pkg/util/validation/validation_test.go | 14 ++++---- staging/src/k8s.io/client-go/pkg/api/types.go | 8 ++--- .../src/k8s.io/client-go/pkg/api/v1/types.go | 8 ++--- .../client-go/pkg/apis/extensions/types.go | 9 +++-- test/e2e/common/configmap.go | 9 +++-- test/e2e/common/downwardapi_volume.go | 9 +++-- test/e2e/common/empty_dir.go | 9 +++-- test/e2e/common/projected.go | 23 ++++++------ test/e2e/common/secrets.go | 7 ++-- test/e2e/framework/volume_util.go | 3 +- test/e2e/security_context.go | 9 +++-- test/e2e/storage/volumes.go | 12 +++---- test/e2e_node/runtime_conformance_test.go | 5 ++- 80 files changed, 247 insertions(+), 315 deletions(-) delete mode 100644 staging/src/k8s.io/apimachinery/pkg/types/unix_user_id.go diff --git a/pkg/api/types.go b/pkg/api/types.go index 412d6d08ccd..b59f7202e4c 100644 --- a/pkg/api/types.go +++ b/pkg/api/types.go @@ -2263,7 +2263,7 @@ type PodSecurityContext struct { // PodSecurityContext, the value specified in SecurityContext takes precedence // for that container. // +optional - RunAsUser *types.UnixUserID + RunAsUser *int64 // Indicates that the container must run as a non-root user. // If true, the Kubelet will validate the image at runtime to ensure that it // does not run as UID 0 (root) and fail to start the container if it does. @@ -2276,7 +2276,7 @@ type PodSecurityContext struct { // to the container's primary GID. If unspecified, no groups will be added to // any container. // +optional - SupplementalGroups []types.UnixGroupID + SupplementalGroups []int64 // A special supplemental group that applies to all containers in a pod. // Some volume types allow the Kubelet to change the ownership of that volume // to be owned by the pod: @@ -2287,7 +2287,7 @@ type PodSecurityContext struct { // // If unset, the Kubelet will not modify the ownership and permissions of any volume. // +optional - FSGroup *types.UnixGroupID + FSGroup *int64 } // PodQOSClass defines the supported qos classes of Pods. @@ -3924,7 +3924,7 @@ type SecurityContext struct { // May also be set in PodSecurityContext. If set in both SecurityContext and // PodSecurityContext, the value specified in SecurityContext takes precedence. // +optional - RunAsUser *types.UnixUserID + RunAsUser *int64 // Indicates that the container must run as a non-root user. // If true, the Kubelet will validate the image at runtime to ensure that it // does not run as UID 0 (root) and fail to start the container if it does. diff --git a/pkg/api/v1/types.go b/pkg/api/v1/types.go index ba7723296f0..8ec3b0beee0 100644 --- a/pkg/api/v1/types.go +++ b/pkg/api/v1/types.go @@ -2548,7 +2548,7 @@ type PodSecurityContext struct { // PodSecurityContext, the value specified in SecurityContext takes precedence // for that container. // +optional - RunAsUser *types.UnixUserID `json:"runAsUser,omitempty" protobuf:"varint,2,opt,name=runAsUser,casttype=k8s.io/apimachinery/pkg/types.UnixUserID"` + RunAsUser *int64 `json:"runAsUser,omitempty" protobuf:"varint,2,opt,name=runAsUser"` // Indicates that the container must run as a non-root user. // If true, the Kubelet will validate the image at runtime to ensure that it // does not run as UID 0 (root) and fail to start the container if it does. @@ -2561,7 +2561,7 @@ type PodSecurityContext struct { // to the container's primary GID. If unspecified, no groups will be added to // any container. // +optional - SupplementalGroups []types.UnixGroupID `json:"supplementalGroups,omitempty" protobuf:"varint,4,rep,name=supplementalGroups,casttype=k8s.io/apimachinery/pkg/types.UnixGroupID"` + SupplementalGroups []int64 `json:"supplementalGroups,omitempty" protobuf:"varint,4,rep,name=supplementalGroups"` // A special supplemental group that applies to all containers in a pod. // Some volume types allow the Kubelet to change the ownership of that volume // to be owned by the pod: @@ -2572,7 +2572,7 @@ type PodSecurityContext struct { // // If unset, the Kubelet will not modify the ownership and permissions of any volume. // +optional - FSGroup *types.UnixGroupID `json:"fsGroup,omitempty" protobuf:"varint,5,opt,name=fsGroup,casttype=k8s.io/apimachinery/pkg/types.UnixGroupID"` + FSGroup *int64 `json:"fsGroup,omitempty" protobuf:"varint,5,opt,name=fsGroup"` } // PodQOSClass defines the supported qos classes of Pods. @@ -4511,7 +4511,7 @@ type SecurityContext struct { // May also be set in PodSecurityContext. If set in both SecurityContext and // PodSecurityContext, the value specified in SecurityContext takes precedence. // +optional - RunAsUser *types.UnixUserID `json:"runAsUser,omitempty" protobuf:"varint,4,opt,name=runAsUser,casttype=k8s.io/apimachinery/pkg/types.UnixUserID"` + RunAsUser *int64 `json:"runAsUser,omitempty" protobuf:"varint,4,opt,name=runAsUser"` // Indicates that the container must run as a non-root user. // If true, the Kubelet will validate the image at runtime to ensure that it // does not run as UID 0 (root) and fail to start the container if it does. diff --git a/pkg/api/validation/validation_test.go b/pkg/api/validation/validation_test.go index df815355784..2aa6b4541c9 100644 --- a/pkg/api/validation/validation_test.go +++ b/pkg/api/validation/validation_test.go @@ -24,7 +24,6 @@ import ( "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/intstr" "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/validation/field" @@ -3612,10 +3611,10 @@ func TestValidatePodSpec(t *testing.T) { activeDeadlineSeconds := int64(30) activeDeadlineSecondsMax := int64(math.MaxInt32) - minUserID := types.UnixUserID(0) - maxUserID := types.UnixUserID(2147483647) - minGroupID := types.UnixGroupID(0) - maxGroupID := types.UnixGroupID(2147483647) + minUserID := int64(0) + maxUserID := int64(2147483647) + minGroupID := int64(0) + maxGroupID := int64(2147483647) successCases := []api.PodSpec{ { // Populate basic fields, leave defaults for most. @@ -3670,7 +3669,7 @@ func TestValidatePodSpec(t *testing.T) { { // Populate RunAsUser SupplementalGroups FSGroup with minID 0 Containers: []api.Container{{Name: "ctr", Image: "image", ImagePullPolicy: "IfNotPresent", TerminationMessagePolicy: "File"}}, SecurityContext: &api.PodSecurityContext{ - SupplementalGroups: []types.UnixGroupID{minGroupID}, + SupplementalGroups: []int64{minGroupID}, RunAsUser: &minUserID, FSGroup: &minGroupID, }, @@ -3680,7 +3679,7 @@ func TestValidatePodSpec(t *testing.T) { { // Populate RunAsUser SupplementalGroups FSGroup with maxID 2147483647 Containers: []api.Container{{Name: "ctr", Image: "image", ImagePullPolicy: "IfNotPresent", TerminationMessagePolicy: "File"}}, SecurityContext: &api.PodSecurityContext{ - SupplementalGroups: []types.UnixGroupID{maxGroupID}, + SupplementalGroups: []int64{maxGroupID}, RunAsUser: &maxUserID, FSGroup: &maxGroupID, }, @@ -3735,10 +3734,10 @@ func TestValidatePodSpec(t *testing.T) { activeDeadlineSeconds = int64(0) activeDeadlineSecondsTooLarge := int64(math.MaxInt32 + 1) - minUserID = types.UnixUserID(-1) - maxUserID = types.UnixUserID(2147483648) - minGroupID = types.UnixGroupID(-1) - maxGroupID = types.UnixGroupID(2147483648) + minUserID = int64(-1) + maxUserID = int64(2147483648) + minGroupID = int64(-1) + maxGroupID = int64(2147483648) failureCases := map[string]api.PodSpec{ "bad volume": { @@ -3812,7 +3811,7 @@ func TestValidatePodSpec(t *testing.T) { Containers: []api.Container{{Name: "ctr", Image: "image", ImagePullPolicy: "IfNotPresent", TerminationMessagePolicy: "File"}}, SecurityContext: &api.PodSecurityContext{ HostNetwork: false, - SupplementalGroups: []types.UnixGroupID{maxGroupID, 1234}, + SupplementalGroups: []int64{maxGroupID, 1234}, }, RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, @@ -3821,7 +3820,7 @@ func TestValidatePodSpec(t *testing.T) { Containers: []api.Container{{Name: "ctr", Image: "image", ImagePullPolicy: "IfNotPresent", TerminationMessagePolicy: "File"}}, SecurityContext: &api.PodSecurityContext{ HostNetwork: false, - SupplementalGroups: []types.UnixGroupID{minGroupID, 1234}, + SupplementalGroups: []int64{minGroupID, 1234}, }, RestartPolicy: api.RestartPolicyAlways, DNSPolicy: api.DNSClusterFirst, @@ -9582,7 +9581,7 @@ func TestValidateTLSSecret(t *testing.T) { func TestValidateSecurityContext(t *testing.T) { priv := false - runAsUser := types.UnixUserID(1) + runAsUser := int64(1) fullValidSC := func() *api.SecurityContext { return &api.SecurityContext{ Privileged: &priv, @@ -9634,7 +9633,7 @@ func TestValidateSecurityContext(t *testing.T) { privRequestWithGlobalDeny.Privileged = &requestPrivileged negativeRunAsUser := fullValidSC() - negativeUser := types.UnixUserID(-1) + negativeUser := int64(-1) negativeRunAsUser.RunAsUser = &negativeUser errorCases := map[string]struct { diff --git a/pkg/apis/extensions/types.go b/pkg/apis/extensions/types.go index fb6b15f69d4..a06d63cfb2e 100644 --- a/pkg/apis/extensions/types.go +++ b/pkg/apis/extensions/types.go @@ -31,7 +31,6 @@ package extensions import ( "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/intstr" "k8s.io/kubernetes/pkg/api" ) @@ -980,17 +979,17 @@ type RunAsUserStrategyOptions struct { // UserIDRange provides a min/max of an allowed range of UserIDs. type UserIDRange struct { // Min is the start of the range, inclusive. - Min types.UnixUserID + Min int64 // Max is the end of the range, inclusive. - Max types.UnixUserID + Max int64 } // GroupIDRange provides a min/max of an allowed range of GroupIDs. type GroupIDRange struct { // Min is the start of the range, inclusive. - Min types.UnixGroupID + Min int64 // Max is the end of the range, inclusive. - Max types.UnixGroupID + Max int64 } // RunAsUserStrategy denotes strategy types for generating RunAsUser values for a diff --git a/pkg/kubelet/dockershim/securitycontext/provider_test.go b/pkg/kubelet/dockershim/securitycontext/provider_test.go index 3df2f2f6574..858e43c9577 100644 --- a/pkg/kubelet/dockershim/securitycontext/provider_test.go +++ b/pkg/kubelet/dockershim/securitycontext/provider_test.go @@ -23,14 +23,13 @@ import ( "testing" dockercontainer "github.com/docker/engine-api/types/container" - "k8s.io/apimachinery/pkg/types" apitesting "k8s.io/kubernetes/pkg/api/testing" "k8s.io/kubernetes/pkg/api/v1" ) func TestModifyContainerConfig(t *testing.T) { - userID := types.UnixUserID(123) - overrideUserID := types.UnixUserID(321) + userID := int64(123) + overrideUserID := int64(321) cases := []struct { name string @@ -177,7 +176,7 @@ func TestModifyHostConfig(t *testing.T) { func TestModifyHostConfigPodSecurityContext(t *testing.T) { supplementalGroupsSC := &v1.PodSecurityContext{} - supplementalGroupsSC.SupplementalGroups = []types.UnixGroupID{2222} + supplementalGroupsSC.SupplementalGroups = []int64{2222} supplementalGroupHC := fullValidHostConfig() supplementalGroupHC.GroupAdd = []string{"2222"} fsGroupHC := fullValidHostConfig() @@ -186,7 +185,7 @@ func TestModifyHostConfigPodSecurityContext(t *testing.T) { extraSupplementalGroupHC.GroupAdd = []string{"1234"} bothHC := fullValidHostConfig() bothHC.GroupAdd = []string{"2222", "1234"} - fsGroup := types.UnixGroupID(1234) + fsGroup := int64(1234) extraSupplementalGroup := []int64{1234} testCases := map[string]struct { @@ -211,7 +210,7 @@ func TestModifyHostConfigPodSecurityContext(t *testing.T) { }, "FSGroup + SupplementalGroups": { securityContext: &v1.PodSecurityContext{ - SupplementalGroups: []types.UnixGroupID{2222}, + SupplementalGroups: []int64{2222}, FSGroup: &fsGroup, }, expected: bothHC, diff --git a/pkg/kubelet/kubelet_volumes_test.go b/pkg/kubelet/kubelet_volumes_test.go index 739bdbe0645..98e8e099a85 100644 --- a/pkg/kubelet/kubelet_volumes_test.go +++ b/pkg/kubelet/kubelet_volumes_test.go @@ -453,10 +453,10 @@ func (f *stubVolume) CanMount() error { return nil } -func (f *stubVolume) SetUp(fsGroup *types.UnixGroupID) error { +func (f *stubVolume) SetUp(fsGroup *int64) error { return nil } -func (f *stubVolume) SetUpAt(dir string, fsGroup *types.UnixGroupID) error { +func (f *stubVolume) SetUpAt(dir string, fsGroup *int64) error { return nil } diff --git a/pkg/kubelet/kuberuntime/kuberuntime_container_test.go b/pkg/kubelet/kuberuntime/kuberuntime_container_test.go index 478b778b820..3b1328414a0 100644 --- a/pkg/kubelet/kuberuntime/kuberuntime_container_test.go +++ b/pkg/kubelet/kuberuntime/kuberuntime_container_test.go @@ -24,7 +24,6 @@ import ( "github.com/stretchr/testify/assert" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" runtimeapi "k8s.io/kubernetes/pkg/kubelet/apis/cri/v1alpha1/runtime" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" @@ -227,7 +226,7 @@ func TestGenerateContainerConfig(t *testing.T) { assert.NoError(t, err) assert.Equal(t, expectedConfig, containerConfig, "generate container config for kubelet runtime v1.") - runAsUser := types.UnixUserID(0) + runAsUser := int64(0) runAsNonRootTrue := true podWithContainerSecurityContext := &v1.Pod{ ObjectMeta: metav1.ObjectMeta{ diff --git a/pkg/kubelet/kuberuntime/security_context_test.go b/pkg/kubelet/kuberuntime/security_context_test.go index 1cbeca2e205..a8bfcd57e83 100644 --- a/pkg/kubelet/kuberuntime/security_context_test.go +++ b/pkg/kubelet/kuberuntime/security_context_test.go @@ -18,7 +18,6 @@ package kuberuntime import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" "github.com/stretchr/testify/assert" @@ -45,7 +44,7 @@ func TestVerifyRunAsNonRoot(t *testing.T) { }, } - rootUser := types.UnixUserID(0) + rootUser := int64(0) runAsNonRootTrue := true runAsNonRootFalse := false imageRootUser := int64(0) diff --git a/pkg/kubelet/rkt/rkt_test.go b/pkg/kubelet/rkt/rkt_test.go index 46140526855..16c661733bd 100644 --- a/pkg/kubelet/rkt/rkt_test.go +++ b/pkg/kubelet/rkt/rkt_test.go @@ -983,10 +983,10 @@ func TestSetApp(t *testing.T) { } defer os.RemoveAll(tmpDir) - rootUser := kubetypes.UnixUserID(0) - nonRootUser := kubetypes.UnixUserID(42) + rootUser := int64(0) + nonRootUser := int64(42) runAsNonRootTrue := true - fsgid := kubetypes.UnixGroupID(3) + fsgid := int64(3) tests := []struct { container *v1.Container @@ -1092,9 +1092,9 @@ func TestSetApp(t *testing.T) { RunAsNonRoot: &runAsNonRootTrue, }, podCtx: &v1.PodSecurityContext{ - SupplementalGroups: []kubetypes.UnixGroupID{ - kubetypes.UnixGroupID(1), - kubetypes.UnixGroupID(2), + SupplementalGroups: []int64{ + int64(1), + int64(2), }, FSGroup: &fsgid, }, @@ -1157,9 +1157,9 @@ func TestSetApp(t *testing.T) { RunAsNonRoot: &runAsNonRootTrue, }, podCtx: &v1.PodSecurityContext{ - SupplementalGroups: []kubetypes.UnixGroupID{ - kubetypes.UnixGroupID(1), - kubetypes.UnixGroupID(2), + SupplementalGroups: []int64{ + int64(1), + int64(2), }, FSGroup: &fsgid, }, diff --git a/pkg/kubelet/volumemanager/volume_manager_test.go b/pkg/kubelet/volumemanager/volume_manager_test.go index 4794ceaa7d4..33f29f2e888 100644 --- a/pkg/kubelet/volumemanager/volume_manager_test.go +++ b/pkg/kubelet/volumemanager/volume_manager_test.go @@ -24,7 +24,6 @@ import ( "time" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - kubetypes "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/sets" "k8s.io/client-go/tools/record" utiltesting "k8s.io/client-go/util/testing" @@ -239,7 +238,7 @@ func createObjects() (*v1.Node, *v1.Pod, *v1.PersistentVolume, *v1.PersistentVol }, }, SecurityContext: &v1.PodSecurityContext{ - SupplementalGroups: []kubetypes.UnixGroupID{555}, + SupplementalGroups: []int64{555}, }, }, } diff --git a/pkg/security/podsecuritypolicy/group/mustrunas.go b/pkg/security/podsecuritypolicy/group/mustrunas.go index 30763853f9b..6413ed2d4d4 100644 --- a/pkg/security/podsecuritypolicy/group/mustrunas.go +++ b/pkg/security/podsecuritypolicy/group/mustrunas.go @@ -19,7 +19,6 @@ package group import ( "fmt" - "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" @@ -47,14 +46,14 @@ func NewMustRunAs(ranges []extensions.GroupIDRange, field string) (GroupStrategy // Generate creates the group based on policy rules. By default this returns the first group of the // first range (min val). -func (s *mustRunAs) Generate(pod *api.Pod) ([]types.UnixGroupID, error) { - return []types.UnixGroupID{s.ranges[0].Min}, nil +func (s *mustRunAs) Generate(pod *api.Pod) ([]int64, error) { + return []int64{s.ranges[0].Min}, nil } // Generate a single value to be applied. This is used for FSGroup. This strategy will return // the first group of the first range (min val). -func (s *mustRunAs) GenerateSingle(pod *api.Pod) (*types.UnixGroupID, error) { - single := new(types.UnixGroupID) +func (s *mustRunAs) GenerateSingle(pod *api.Pod) (*int64, error) { + single := new(int64) *single = s.ranges[0].Min return single, nil } @@ -62,7 +61,7 @@ func (s *mustRunAs) GenerateSingle(pod *api.Pod) (*types.UnixGroupID, error) { // Validate ensures that the specified values fall within the range of the strategy. // Groups are passed in here to allow this strategy to support multiple group fields (fsgroup and // supplemental groups). -func (s *mustRunAs) Validate(pod *api.Pod, groups []types.UnixGroupID) field.ErrorList { +func (s *mustRunAs) Validate(pod *api.Pod, groups []int64) field.ErrorList { allErrs := field.ErrorList{} if pod.Spec.SecurityContext == nil { @@ -84,7 +83,7 @@ func (s *mustRunAs) Validate(pod *api.Pod, groups []types.UnixGroupID) field.Err return allErrs } -func (s *mustRunAs) isGroupValid(group types.UnixGroupID) bool { +func (s *mustRunAs) isGroupValid(group int64) bool { for _, rng := range s.ranges { if psputil.GroupFallsInRange(group, rng) { return true diff --git a/pkg/security/podsecuritypolicy/group/mustrunas_test.go b/pkg/security/podsecuritypolicy/group/mustrunas_test.go index 3e6ff6c218a..554e8a19a2d 100644 --- a/pkg/security/podsecuritypolicy/group/mustrunas_test.go +++ b/pkg/security/podsecuritypolicy/group/mustrunas_test.go @@ -19,7 +19,6 @@ package group import ( "testing" - "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" ) @@ -54,26 +53,26 @@ func TestMustRunAsOptions(t *testing.T) { func TestGenerate(t *testing.T) { tests := map[string]struct { ranges []extensions.GroupIDRange - expected []types.UnixGroupID + expected []int64 }{ "multi value": { ranges: []extensions.GroupIDRange{ {Min: 1, Max: 2}, }, - expected: []types.UnixGroupID{1}, + expected: []int64{1}, }, "single value": { ranges: []extensions.GroupIDRange{ {Min: 1, Max: 1}, }, - expected: []types.UnixGroupID{1}, + expected: []int64{1}, }, "multi range": { ranges: []extensions.GroupIDRange{ {Min: 1, Max: 1}, {Min: 2, Max: 500}, }, - expected: []types.UnixGroupID{1}, + expected: []int64{1}, }, } @@ -121,7 +120,7 @@ func TestValidate(t *testing.T) { tests := map[string]struct { ranges []extensions.GroupIDRange pod *api.Pod - groups []types.UnixGroupID + groups []int64 pass bool }{ "nil security context": { @@ -138,7 +137,7 @@ func TestValidate(t *testing.T) { }, "not in range": { pod: validPod(), - groups: []types.UnixGroupID{5}, + groups: []int64{5}, ranges: []extensions.GroupIDRange{ {Min: 1, Max: 3}, {Min: 4, Max: 4}, @@ -146,7 +145,7 @@ func TestValidate(t *testing.T) { }, "in range 1": { pod: validPod(), - groups: []types.UnixGroupID{2}, + groups: []int64{2}, ranges: []extensions.GroupIDRange{ {Min: 1, Max: 3}, }, @@ -154,7 +153,7 @@ func TestValidate(t *testing.T) { }, "in range boundry min": { pod: validPod(), - groups: []types.UnixGroupID{1}, + groups: []int64{1}, ranges: []extensions.GroupIDRange{ {Min: 1, Max: 3}, }, @@ -162,7 +161,7 @@ func TestValidate(t *testing.T) { }, "in range boundry max": { pod: validPod(), - groups: []types.UnixGroupID{3}, + groups: []int64{3}, ranges: []extensions.GroupIDRange{ {Min: 1, Max: 3}, }, @@ -170,7 +169,7 @@ func TestValidate(t *testing.T) { }, "singular range": { pod: validPod(), - groups: []types.UnixGroupID{4}, + groups: []int64{4}, ranges: []extensions.GroupIDRange{ {Min: 4, Max: 4}, }, diff --git a/pkg/security/podsecuritypolicy/group/runasany.go b/pkg/security/podsecuritypolicy/group/runasany.go index e2f728e5d72..0d3f1182e09 100644 --- a/pkg/security/podsecuritypolicy/group/runasany.go +++ b/pkg/security/podsecuritypolicy/group/runasany.go @@ -17,7 +17,6 @@ limitations under the License. package group import ( - "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" ) @@ -34,17 +33,17 @@ func NewRunAsAny() (GroupStrategy, error) { } // Generate creates the group based on policy rules. This strategy returns an empty slice. -func (s *runAsAny) Generate(pod *api.Pod) ([]types.UnixGroupID, error) { - return []types.UnixGroupID{}, nil +func (s *runAsAny) Generate(pod *api.Pod) ([]int64, error) { + return []int64{}, nil } // Generate a single value to be applied. This is used for FSGroup. This strategy returns nil. -func (s *runAsAny) GenerateSingle(pod *api.Pod) (*types.UnixGroupID, error) { +func (s *runAsAny) GenerateSingle(pod *api.Pod) (*int64, error) { return nil, nil } // Validate ensures that the specified values fall within the range of the strategy. -func (s *runAsAny) Validate(pod *api.Pod, groups []types.UnixGroupID) field.ErrorList { +func (s *runAsAny) Validate(pod *api.Pod, groups []int64) field.ErrorList { return field.ErrorList{} } diff --git a/pkg/security/podsecuritypolicy/group/types.go b/pkg/security/podsecuritypolicy/group/types.go index 50245f539c0..fa3a11d97d3 100644 --- a/pkg/security/podsecuritypolicy/group/types.go +++ b/pkg/security/podsecuritypolicy/group/types.go @@ -17,7 +17,6 @@ limitations under the License. package group import ( - "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" ) @@ -27,10 +26,10 @@ type GroupStrategy interface { // Generate creates the group based on policy rules. The underlying implementation can // decide whether it will return a full range of values or a subset of values from the // configured ranges. - Generate(pod *api.Pod) ([]types.UnixGroupID, error) + Generate(pod *api.Pod) ([]int64, error) // Generate a single value to be applied. The underlying implementation decides which // value to return if configured with multiple ranges. This is used for FSGroup. - GenerateSingle(pod *api.Pod) (*types.UnixGroupID, error) + GenerateSingle(pod *api.Pod) (*int64, error) // Validate ensures that the specified values fall within the range of the strategy. - Validate(pod *api.Pod, groups []types.UnixGroupID) field.ErrorList + Validate(pod *api.Pod, groups []int64) field.ErrorList } diff --git a/pkg/security/podsecuritypolicy/provider.go b/pkg/security/podsecuritypolicy/provider.go index 9fc80fa8895..42edabf0646 100644 --- a/pkg/security/podsecuritypolicy/provider.go +++ b/pkg/security/podsecuritypolicy/provider.go @@ -19,7 +19,6 @@ package podsecuritypolicy import ( "fmt" - "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" @@ -195,7 +194,7 @@ func (s *simpleProvider) ValidatePodSecurityContext(pod *api.Pod, fldPath *field return allErrs } - fsGroups := []types.UnixGroupID{} + fsGroups := []int64{} if pod.Spec.SecurityContext.FSGroup != nil { fsGroups = append(fsGroups, *pod.Spec.SecurityContext.FSGroup) } diff --git a/pkg/security/podsecuritypolicy/provider_test.go b/pkg/security/podsecuritypolicy/provider_test.go index 71d241d86a4..eb9c6166248 100644 --- a/pkg/security/podsecuritypolicy/provider_test.go +++ b/pkg/security/podsecuritypolicy/provider_test.go @@ -25,7 +25,6 @@ import ( "github.com/davecgh/go-spew/spew" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/diff" "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" @@ -134,7 +133,7 @@ func TestCreateContainerSecurityContextNonmutating(t *testing.T) { // Create a PSP with strategies that will populate a blank security context createPSP := func() *extensions.PodSecurityPolicy { - uid := types.UnixUserID(1) + uid := int64(1) return &extensions.PodSecurityPolicy{ ObjectMeta: metav1.ObjectMeta{ Name: "psp-sa", @@ -206,7 +205,7 @@ func TestValidatePodSecurityContextFailures(t *testing.T) { failHostIPCPod.Spec.SecurityContext.HostIPC = true failSupplementalGroupPod := defaultPod() - failSupplementalGroupPod.Spec.SecurityContext.SupplementalGroups = []types.UnixGroupID{999} + failSupplementalGroupPod.Spec.SecurityContext.SupplementalGroups = []int64{999} failSupplementalGroupPSP := defaultPSP() failSupplementalGroupPSP.Spec.SupplementalGroups = extensions.SupplementalGroupsStrategyOptions{ Rule: extensions.SupplementalGroupsStrategyMustRunAs, @@ -216,7 +215,7 @@ func TestValidatePodSecurityContextFailures(t *testing.T) { } failFSGroupPod := defaultPod() - fsGroup := types.UnixGroupID(999) + fsGroup := int64(999) failFSGroupPod.Spec.SecurityContext.FSGroup = &fsGroup failFSGroupPSP := defaultPSP() failFSGroupPSP.Spec.FSGroup = extensions.FSGroupStrategyOptions{ @@ -383,8 +382,8 @@ func TestValidatePodSecurityContextFailures(t *testing.T) { func TestValidateContainerSecurityContextFailures(t *testing.T) { // fail user strat failUserPSP := defaultPSP() - uid := types.UnixUserID(999) - badUID := types.UnixUserID(1) + uid := int64(999) + badUID := int64(1) failUserPSP.Spec.RunAsUser = extensions.RunAsUserStrategyOptions{ Rule: extensions.RunAsUserStrategyMustRunAs, Ranges: []extensions.UserIDRange{{Min: uid, Max: uid}}, @@ -547,7 +546,7 @@ func TestValidatePodSecurityContextSuccess(t *testing.T) { }, } supGroupPod := defaultPod() - supGroupPod.Spec.SecurityContext.SupplementalGroups = []types.UnixGroupID{3} + supGroupPod.Spec.SecurityContext.SupplementalGroups = []int64{3} fsGroupPSP := defaultPSP() fsGroupPSP.Spec.FSGroup = extensions.FSGroupStrategyOptions{ @@ -557,7 +556,7 @@ func TestValidatePodSecurityContextSuccess(t *testing.T) { }, } fsGroupPod := defaultPod() - fsGroup := types.UnixGroupID(3) + fsGroup := int64(3) fsGroupPod.Spec.SecurityContext.FSGroup = &fsGroup seLinuxPod := defaultPod() @@ -680,7 +679,7 @@ func TestValidateContainerSecurityContextSuccess(t *testing.T) { // success user strat userPSP := defaultPSP() - uid := types.UnixUserID(999) + uid := int64(999) userPSP.Spec.RunAsUser = extensions.RunAsUserStrategyOptions{ Rule: extensions.RunAsUserStrategyMustRunAs, Ranges: []extensions.UserIDRange{{Min: uid, Max: uid}}, diff --git a/pkg/security/podsecuritypolicy/user/mustrunas.go b/pkg/security/podsecuritypolicy/user/mustrunas.go index 5e32bd222f4..abc631e2803 100644 --- a/pkg/security/podsecuritypolicy/user/mustrunas.go +++ b/pkg/security/podsecuritypolicy/user/mustrunas.go @@ -19,7 +19,6 @@ package user import ( "fmt" - "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" @@ -45,7 +44,7 @@ func NewMustRunAs(options *extensions.RunAsUserStrategyOptions) (RunAsUserStrate } // Generate creates the uid based on policy rules. MustRunAs returns the first range's Min. -func (s *mustRunAs) Generate(pod *api.Pod, container *api.Container) (*types.UnixUserID, error) { +func (s *mustRunAs) Generate(pod *api.Pod, container *api.Container) (*int64, error) { return &s.opts.Ranges[0].Min, nil } @@ -75,7 +74,7 @@ func (s *mustRunAs) Validate(pod *api.Pod, container *api.Container) field.Error return allErrs } -func (s *mustRunAs) isValidUID(id types.UnixUserID) bool { +func (s *mustRunAs) isValidUID(id int64) bool { for _, rng := range s.opts.Ranges { if psputil.UserFallsInRange(id, rng) { return true diff --git a/pkg/security/podsecuritypolicy/user/mustrunas_test.go b/pkg/security/podsecuritypolicy/user/mustrunas_test.go index fa439382b1f..02edf0e4a8f 100644 --- a/pkg/security/podsecuritypolicy/user/mustrunas_test.go +++ b/pkg/security/podsecuritypolicy/user/mustrunas_test.go @@ -20,7 +20,6 @@ import ( "strings" "testing" - "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" ) @@ -85,8 +84,8 @@ func TestValidate(t *testing.T) { }, } - validID := types.UnixUserID(15) - invalidID := types.UnixUserID(21) + validID := int64(15) + invalidID := int64(21) tests := map[string]struct { container *api.Container diff --git a/pkg/security/podsecuritypolicy/user/nonroot.go b/pkg/security/podsecuritypolicy/user/nonroot.go index 7d168836076..f53880a9a68 100644 --- a/pkg/security/podsecuritypolicy/user/nonroot.go +++ b/pkg/security/podsecuritypolicy/user/nonroot.go @@ -19,7 +19,6 @@ package user import ( "fmt" - "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" @@ -35,7 +34,7 @@ func NewRunAsNonRoot(options *extensions.RunAsUserStrategyOptions) (RunAsUserStr // Generate creates the uid based on policy rules. This strategy does return a UID. It assumes // that the user will specify a UID or the container image specifies a UID. -func (s *nonRoot) Generate(pod *api.Pod, container *api.Container) (*types.UnixUserID, error) { +func (s *nonRoot) Generate(pod *api.Pod, container *api.Container) (*int64, error) { return nil, nil } diff --git a/pkg/security/podsecuritypolicy/user/nonroot_test.go b/pkg/security/podsecuritypolicy/user/nonroot_test.go index 3e8662cb562..d2ec55ae06d 100644 --- a/pkg/security/podsecuritypolicy/user/nonroot_test.go +++ b/pkg/security/podsecuritypolicy/user/nonroot_test.go @@ -19,7 +19,6 @@ package user import ( "testing" - "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" ) @@ -50,8 +49,8 @@ func TestNonRootGenerate(t *testing.T) { } func TestNonRootValidate(t *testing.T) { - goodUID := types.UnixUserID(1) - badUID := types.UnixUserID(0) + goodUID := int64(1) + badUID := int64(0) untrue := false unfalse := true s, err := NewRunAsNonRoot(&extensions.RunAsUserStrategyOptions{}) diff --git a/pkg/security/podsecuritypolicy/user/runasany.go b/pkg/security/podsecuritypolicy/user/runasany.go index ddd8833ff02..ffee679320d 100644 --- a/pkg/security/podsecuritypolicy/user/runasany.go +++ b/pkg/security/podsecuritypolicy/user/runasany.go @@ -17,7 +17,6 @@ limitations under the License. package user import ( - "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" @@ -34,7 +33,7 @@ func NewRunAsAny(options *extensions.RunAsUserStrategyOptions) (RunAsUserStrateg } // Generate creates the uid based on policy rules. -func (s *runAsAny) Generate(pod *api.Pod, container *api.Container) (*types.UnixUserID, error) { +func (s *runAsAny) Generate(pod *api.Pod, container *api.Container) (*int64, error) { return nil, nil } diff --git a/pkg/security/podsecuritypolicy/user/types.go b/pkg/security/podsecuritypolicy/user/types.go index 8a2ba06499b..8e754c32f6c 100644 --- a/pkg/security/podsecuritypolicy/user/types.go +++ b/pkg/security/podsecuritypolicy/user/types.go @@ -17,7 +17,6 @@ limitations under the License. package user import ( - "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" ) @@ -25,7 +24,7 @@ import ( // RunAsUserStrategy defines the interface for all uid constraint strategies. type RunAsUserStrategy interface { // Generate creates the uid based on policy rules. - Generate(pod *api.Pod, container *api.Container) (*types.UnixUserID, error) + Generate(pod *api.Pod, container *api.Container) (*int64, error) // Validate ensures that the specified values fall within the range of the strategy. Validate(pod *api.Pod, container *api.Container) field.ErrorList } diff --git a/pkg/security/podsecuritypolicy/util/util.go b/pkg/security/podsecuritypolicy/util/util.go index 51e255391e9..27f4826b584 100644 --- a/pkg/security/podsecuritypolicy/util/util.go +++ b/pkg/security/podsecuritypolicy/util/util.go @@ -20,7 +20,6 @@ import ( "fmt" "strings" - "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" @@ -164,12 +163,12 @@ func PSPAllowsFSType(psp *extensions.PodSecurityPolicy, fsType extensions.FSType } // UserFallsInRange is a utility to determine it the id falls in the valid range. -func UserFallsInRange(id types.UnixUserID, rng extensions.UserIDRange) bool { +func UserFallsInRange(id int64, rng extensions.UserIDRange) bool { return id >= rng.Min && id <= rng.Max } // GroupFallsInRange is a utility to determine it the id falls in the valid range. -func GroupFallsInRange(id types.UnixGroupID, rng extensions.GroupIDRange) bool { +func GroupFallsInRange(id int64, rng extensions.GroupIDRange) bool { return id >= rng.Min && id <= rng.Max } diff --git a/pkg/securitycontext/util.go b/pkg/securitycontext/util.go index c01cac4e357..dacc25f2021 100644 --- a/pkg/securitycontext/util.go +++ b/pkg/securitycontext/util.go @@ -20,7 +20,6 @@ import ( "fmt" "strings" - "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" ) @@ -120,7 +119,7 @@ func DetermineEffectiveSecurityContext(pod *v1.Pod, container *v1.Container) *v1 } if containerSc.RunAsUser != nil { - effectiveSc.RunAsUser = new(types.UnixUserID) + effectiveSc.RunAsUser = new(int64) *effectiveSc.RunAsUser = *containerSc.RunAsUser } @@ -149,7 +148,7 @@ func securityContextFromPodSecurityContext(pod *v1.Pod) *v1.SecurityContext { *synthesized.SELinuxOptions = *pod.Spec.SecurityContext.SELinuxOptions } if pod.Spec.SecurityContext.RunAsUser != nil { - synthesized.RunAsUser = new(types.UnixUserID) + synthesized.RunAsUser = new(int64) *synthesized.RunAsUser = *pod.Spec.SecurityContext.RunAsUser } @@ -192,7 +191,7 @@ func InternalDetermineEffectiveSecurityContext(pod *api.Pod, container *api.Cont } if containerSc.RunAsUser != nil { - effectiveSc.RunAsUser = new(types.UnixUserID) + effectiveSc.RunAsUser = new(int64) *effectiveSc.RunAsUser = *containerSc.RunAsUser } @@ -221,7 +220,7 @@ func internalSecurityContextFromPodSecurityContext(pod *api.Pod) *api.SecurityCo *synthesized.SELinuxOptions = *pod.Spec.SecurityContext.SELinuxOptions } if pod.Spec.SecurityContext.RunAsUser != nil { - synthesized.RunAsUser = new(types.UnixUserID) + synthesized.RunAsUser = new(int64) *synthesized.RunAsUser = *pod.Spec.SecurityContext.RunAsUser } diff --git a/pkg/securitycontext/util_test.go b/pkg/securitycontext/util_test.go index b0bbc46fbfc..889352d7721 100644 --- a/pkg/securitycontext/util_test.go +++ b/pkg/securitycontext/util_test.go @@ -19,7 +19,6 @@ package securitycontext import ( "testing" - "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" ) @@ -85,13 +84,13 @@ func compareContexts(name string, ex, ac *v1.SELinuxOptions, t *testing.T) { } } -func containerWithUser(ptr *types.UnixUserID) *v1.Container { +func containerWithUser(ptr *int64) *v1.Container { return &v1.Container{SecurityContext: &v1.SecurityContext{RunAsUser: ptr}} } func TestHaRootUID(t *testing.T) { - nonRoot := types.UnixUserID(1) - root := types.UnixUserID(0) + nonRoot := int64(1) + root := int64(0) tests := map[string]struct { container *v1.Container @@ -121,7 +120,7 @@ func TestHaRootUID(t *testing.T) { } func TestHasRunAsUser(t *testing.T) { - runAsUser := types.UnixUserID(0) + runAsUser := int64(0) tests := map[string]struct { container *v1.Container @@ -148,8 +147,8 @@ func TestHasRunAsUser(t *testing.T) { } func TestHasRootRunAsUser(t *testing.T) { - nonRoot := types.UnixUserID(1) - root := types.UnixUserID(0) + nonRoot := int64(1) + root := int64(0) tests := map[string]struct { container *v1.Container diff --git a/pkg/volume/aws_ebs/aws_ebs.go b/pkg/volume/aws_ebs/aws_ebs.go index d0c3d3a541d..93ad1003f14 100644 --- a/pkg/volume/aws_ebs/aws_ebs.go +++ b/pkg/volume/aws_ebs/aws_ebs.go @@ -294,12 +294,12 @@ func (b *awsElasticBlockStoreMounter) CanMount() error { } // SetUp attaches the disk and bind mounts to the volume path. -func (b *awsElasticBlockStoreMounter) SetUp(fsGroup *types.UnixGroupID) error { +func (b *awsElasticBlockStoreMounter) SetUp(fsGroup *int64) error { return b.SetUpAt(b.GetPath(), fsGroup) } // SetUpAt attaches the disk and bind mounts to the volume path. -func (b *awsElasticBlockStoreMounter) SetUpAt(dir string, fsGroup *types.UnixGroupID) error { +func (b *awsElasticBlockStoreMounter) SetUpAt(dir string, fsGroup *int64) error { // TODO: handle failed mounts here. notMnt, err := b.mounter.IsLikelyNotMountPoint(dir) glog.V(4).Infof("PersistentDisk set up: %s %v %v", dir, !notMnt, err) diff --git a/pkg/volume/azure_dd/azure_dd.go b/pkg/volume/azure_dd/azure_dd.go index 7d4a41acfe0..edffe4fd754 100644 --- a/pkg/volume/azure_dd/azure_dd.go +++ b/pkg/volume/azure_dd/azure_dd.go @@ -234,12 +234,12 @@ func (b *azureDiskMounter) CanMount() error { } // SetUp attaches the disk and bind mounts to the volume path. -func (b *azureDiskMounter) SetUp(fsGroup *types.UnixGroupID) error { +func (b *azureDiskMounter) SetUp(fsGroup *int64) error { return b.SetUpAt(b.GetPath(), fsGroup) } // SetUpAt attaches the disk and bind mounts to the volume path. -func (b *azureDiskMounter) SetUpAt(dir string, fsGroup *types.UnixGroupID) error { +func (b *azureDiskMounter) SetUpAt(dir string, fsGroup *int64) error { b.plugin.volumeLocks.LockKey(b.diskName) defer b.plugin.volumeLocks.UnlockKey(b.diskName) diff --git a/pkg/volume/azure_file/azure_file.go b/pkg/volume/azure_file/azure_file.go index 0aeae26b8f0..788df3f748c 100644 --- a/pkg/volume/azure_file/azure_file.go +++ b/pkg/volume/azure_file/azure_file.go @@ -189,11 +189,11 @@ func (b *azureFileMounter) CanMount() error { } // SetUp attaches the disk and bind mounts to the volume path. -func (b *azureFileMounter) SetUp(fsGroup *types.UnixGroupID) error { +func (b *azureFileMounter) SetUp(fsGroup *int64) error { return b.SetUpAt(b.GetPath(), fsGroup) } -func (b *azureFileMounter) SetUpAt(dir string, fsGroup *types.UnixGroupID) error { +func (b *azureFileMounter) SetUpAt(dir string, fsGroup *int64) error { notMnt, err := b.mounter.IsLikelyNotMountPoint(dir) glog.V(4).Infof("AzureFile mount set up: %s %v %v", dir, !notMnt, err) if err != nil && !os.IsNotExist(err) { diff --git a/pkg/volume/cephfs/cephfs.go b/pkg/volume/cephfs/cephfs.go index 01f645d0901..043124cec88 100644 --- a/pkg/volume/cephfs/cephfs.go +++ b/pkg/volume/cephfs/cephfs.go @@ -217,12 +217,12 @@ func (cephfsMounter *cephfsMounter) CanMount() error { } // SetUp attaches the disk and bind mounts to the volume path. -func (cephfsVolume *cephfsMounter) SetUp(fsGroup *types.UnixGroupID) error { +func (cephfsVolume *cephfsMounter) SetUp(fsGroup *int64) error { return cephfsVolume.SetUpAt(cephfsVolume.GetPath(), fsGroup) } // SetUpAt attaches the disk and bind mounts to the volume path. -func (cephfsVolume *cephfsMounter) SetUpAt(dir string, fsGroup *types.UnixGroupID) error { +func (cephfsVolume *cephfsMounter) SetUpAt(dir string, fsGroup *int64) error { notMnt, err := cephfsVolume.mounter.IsLikelyNotMountPoint(dir) glog.V(4).Infof("CephFS mount set up: %s %v %v", dir, !notMnt, err) if err != nil && !os.IsNotExist(err) { diff --git a/pkg/volume/cinder/cinder.go b/pkg/volume/cinder/cinder.go index 92a3e5710f8..be6fea4e5da 100644 --- a/pkg/volume/cinder/cinder.go +++ b/pkg/volume/cinder/cinder.go @@ -298,12 +298,12 @@ func (b *cinderVolumeMounter) CanMount() error { return nil } -func (b *cinderVolumeMounter) SetUp(fsGroup *types.UnixGroupID) error { +func (b *cinderVolumeMounter) SetUp(fsGroup *int64) error { return b.SetUpAt(b.GetPath(), fsGroup) } // SetUp bind mounts to the volume path. -func (b *cinderVolumeMounter) SetUpAt(dir string, fsGroup *types.UnixGroupID) error { +func (b *cinderVolumeMounter) SetUpAt(dir string, fsGroup *int64) error { glog.V(5).Infof("Cinder SetUp %s to %s", b.pdName, dir) b.plugin.volumeLocks.LockKey(b.pdName) diff --git a/pkg/volume/configmap/configmap.go b/pkg/volume/configmap/configmap.go index 4e869293bd7..8f087cb6317 100644 --- a/pkg/volume/configmap/configmap.go +++ b/pkg/volume/configmap/configmap.go @@ -179,11 +179,11 @@ func (b *configMapVolumeMounter) CanMount() error { return nil } -func (b *configMapVolumeMounter) SetUp(fsGroup *types.UnixGroupID) error { +func (b *configMapVolumeMounter) SetUp(fsGroup *int64) error { return b.SetUpAt(b.GetPath(), fsGroup) } -func (b *configMapVolumeMounter) SetUpAt(dir string, fsGroup *types.UnixGroupID) error { +func (b *configMapVolumeMounter) SetUpAt(dir string, fsGroup *int64) error { glog.V(3).Infof("Setting up volume %v for pod %v at %v", b.volName, b.pod.UID, dir) // Wrap EmptyDir, let it do the setup. diff --git a/pkg/volume/configmap/configmap_test.go b/pkg/volume/configmap/configmap_test.go index 9f6e401626b..60682b751c1 100644 --- a/pkg/volume/configmap/configmap_test.go +++ b/pkg/volume/configmap/configmap_test.go @@ -333,7 +333,7 @@ func TestPlugin(t *testing.T) { t.Errorf("Got unexpected path: %s", volumePath) } - fsGroup := types.UnixGroupID(1001) + fsGroup := int64(1001) err = mounter.SetUp(&fsGroup) if err != nil { t.Errorf("Failed to setup volume: %v", err) @@ -391,7 +391,7 @@ func TestPluginReboot(t *testing.T) { t.Errorf("Got unexpected path: %s", volumePath) } - fsGroup := types.UnixGroupID(1001) + fsGroup := int64(1001) err = mounter.SetUp(&fsGroup) if err != nil { t.Errorf("Failed to setup volume: %v", err) @@ -453,7 +453,7 @@ func TestPluginOptional(t *testing.T) { t.Errorf("Got unexpected path: %s", volumePath) } - fsGroup := types.UnixGroupID(1001) + fsGroup := int64(1001) err = mounter.SetUp(&fsGroup) if err != nil { t.Errorf("Failed to setup volume: %v", err) @@ -528,7 +528,7 @@ func TestPluginKeysOptional(t *testing.T) { t.Errorf("Got unexpected path: %s", volumePath) } - fsGroup := types.UnixGroupID(1001) + fsGroup := int64(1001) err = mounter.SetUp(&fsGroup) if err != nil { t.Errorf("Failed to setup volume: %v", err) diff --git a/pkg/volume/downwardapi/downwardapi.go b/pkg/volume/downwardapi/downwardapi.go index b31b01544c1..aac6eb730cf 100644 --- a/pkg/volume/downwardapi/downwardapi.go +++ b/pkg/volume/downwardapi/downwardapi.go @@ -168,11 +168,11 @@ func (b *downwardAPIVolumeMounter) CanMount() error { // This function is not idempotent by design. We want the data to be refreshed periodically. // The internal sync interval of kubelet will drive the refresh of data. // TODO: Add volume specific ticker and refresh loop -func (b *downwardAPIVolumeMounter) SetUp(fsGroup *types.UnixGroupID) error { +func (b *downwardAPIVolumeMounter) SetUp(fsGroup *int64) error { return b.SetUpAt(b.GetPath(), fsGroup) } -func (b *downwardAPIVolumeMounter) SetUpAt(dir string, fsGroup *types.UnixGroupID) error { +func (b *downwardAPIVolumeMounter) SetUpAt(dir string, fsGroup *int64) error { glog.V(3).Infof("Setting up a downwardAPI volume %v for pod %v/%v at %v", b.volName, b.pod.Namespace, b.pod.Name, dir) // Wrap EmptyDir. Here we rely on the idempotency of the wrapped plugin to avoid repeatedly mounting wrapped, err := b.plugin.host.NewWrapperMounter(b.volName, wrappedVolumeSpec(), b.pod, *b.opts) diff --git a/pkg/volume/empty_dir/empty_dir.go b/pkg/volume/empty_dir/empty_dir.go index e2596471ab2..a42121a492e 100644 --- a/pkg/volume/empty_dir/empty_dir.go +++ b/pkg/volume/empty_dir/empty_dir.go @@ -191,12 +191,12 @@ func (b *emptyDir) CanMount() error { } // SetUp creates new directory. -func (ed *emptyDir) SetUp(fsGroup *types.UnixGroupID) error { +func (ed *emptyDir) SetUp(fsGroup *int64) error { return ed.SetUpAt(ed.GetPath(), fsGroup) } // SetUpAt creates new directory. -func (ed *emptyDir) SetUpAt(dir string, fsGroup *types.UnixGroupID) error { +func (ed *emptyDir) SetUpAt(dir string, fsGroup *int64) error { notMnt, err := ed.mounter.IsLikelyNotMountPoint(dir) // Getting an os.IsNotExist err from is a contingency; the directory // may not exist yet, in which case, setup should run. diff --git a/pkg/volume/fc/disk_manager.go b/pkg/volume/fc/disk_manager.go index e3324796d9c..7a0e210fb72 100644 --- a/pkg/volume/fc/disk_manager.go +++ b/pkg/volume/fc/disk_manager.go @@ -20,7 +20,6 @@ import ( "os" "github.com/golang/glog" - "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/util/mount" "k8s.io/kubernetes/pkg/volume" ) @@ -35,7 +34,7 @@ type diskManager interface { } // utility to mount a disk based filesystem -func diskSetUp(manager diskManager, b fcDiskMounter, volPath string, mounter mount.Interface, fsGroup *types.UnixGroupID) error { +func diskSetUp(manager diskManager, b fcDiskMounter, volPath string, mounter mount.Interface, fsGroup *int64) error { globalPDPath := manager.MakeGlobalPDName(*b.fcDisk) // TODO: handle failed mounts here. noMnt, err := mounter.IsLikelyNotMountPoint(volPath) diff --git a/pkg/volume/fc/fc.go b/pkg/volume/fc/fc.go index ebbc92c2cf6..2d98773a99e 100644 --- a/pkg/volume/fc/fc.go +++ b/pkg/volume/fc/fc.go @@ -204,11 +204,11 @@ func (b *fcDiskMounter) CanMount() error { return nil } -func (b *fcDiskMounter) SetUp(fsGroup *types.UnixGroupID) error { +func (b *fcDiskMounter) SetUp(fsGroup *int64) error { return b.SetUpAt(b.GetPath(), fsGroup) } -func (b *fcDiskMounter) SetUpAt(dir string, fsGroup *types.UnixGroupID) error { +func (b *fcDiskMounter) SetUpAt(dir string, fsGroup *int64) error { // diskSetUp checks mountpoints and prevent repeated calls err := diskSetUp(b.manager, *b, dir, b.mounter, fsGroup) if err != nil { diff --git a/pkg/volume/flexvolume/mounter-defaults.go b/pkg/volume/flexvolume/mounter-defaults.go index b51bfb482ae..2d62f9b8a9e 100644 --- a/pkg/volume/flexvolume/mounter-defaults.go +++ b/pkg/volume/flexvolume/mounter-defaults.go @@ -21,7 +21,6 @@ import ( "github.com/golang/glog" - "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/volume" ) @@ -29,7 +28,7 @@ type mounterDefaults flexVolumeMounter // SetUpAt is part of the volume.Mounter interface. // This implementation relies on the attacher's device mount path and does a bind mount to dir. -func (f *mounterDefaults) SetUpAt(dir string, fsGroup *types.UnixGroupID) error { +func (f *mounterDefaults) SetUpAt(dir string, fsGroup *int64) error { glog.Warning(logPrefix(f.plugin), "using default SetUpAt to ", dir) a, err := f.plugin.NewAttacher() diff --git a/pkg/volume/flexvolume/mounter.go b/pkg/volume/flexvolume/mounter.go index 87a67e11257..0fc791e6786 100644 --- a/pkg/volume/flexvolume/mounter.go +++ b/pkg/volume/flexvolume/mounter.go @@ -19,7 +19,6 @@ package flexvolume import ( "strconv" - "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/util/exec" "k8s.io/kubernetes/pkg/util/mount" "k8s.io/kubernetes/pkg/volume" @@ -44,12 +43,12 @@ var _ volume.Mounter = &flexVolumeMounter{} // Mounter interface // SetUp creates new directory. -func (f *flexVolumeMounter) SetUp(fsGroup *types.UnixGroupID) error { +func (f *flexVolumeMounter) SetUp(fsGroup *int64) error { return f.SetUpAt(f.GetPath(), fsGroup) } // SetUpAt creates new directory. -func (f *flexVolumeMounter) SetUpAt(dir string, fsGroup *types.UnixGroupID) error { +func (f *flexVolumeMounter) SetUpAt(dir string, fsGroup *int64) error { // Mount only once. alreadyMounted, err := prepareForMount(f.mounter, dir) if err != nil { diff --git a/pkg/volume/flexvolume/mounter_test.go b/pkg/volume/flexvolume/mounter_test.go index e64248f0643..54289f533b8 100644 --- a/pkg/volume/flexvolume/mounter_test.go +++ b/pkg/volume/flexvolume/mounter_test.go @@ -67,6 +67,6 @@ func TestSetUpAt(t *testing.T) { m, _ := plugin.newMounterInternal(spec, pod, mounter, plugin.runner) m.SetUpAt(rootDir+"/mount-dir", nil) - fsGroup := types.UnixGroupID(42) + fsGroup := int64(42) m.SetUpAt(rootDir+"/mount-dir", &fsGroup) } diff --git a/pkg/volume/flocker/flocker.go b/pkg/volume/flocker/flocker.go index c46750660b2..8f44fae6e4e 100644 --- a/pkg/volume/flocker/flocker.go +++ b/pkg/volume/flocker/flocker.go @@ -232,7 +232,7 @@ func (b *flockerVolumeMounter) GetPath() string { } // SetUp bind mounts the disk global mount to the volume path. -func (b *flockerVolumeMounter) SetUp(fsGroup *types.UnixGroupID) error { +func (b *flockerVolumeMounter) SetUp(fsGroup *int64) error { return b.SetUpAt(b.GetPath(), fsGroup) } @@ -274,7 +274,7 @@ control service: need to update the Primary UUID for this volume. 5. Wait until the Primary UUID was updated or timeout. */ -func (b *flockerVolumeMounter) SetUpAt(dir string, fsGroup *types.UnixGroupID) error { +func (b *flockerVolumeMounter) SetUpAt(dir string, fsGroup *int64) error { var err error if b.flockerClient == nil { b.flockerClient, err = b.newFlockerClient() diff --git a/pkg/volume/gce_pd/gce_pd.go b/pkg/volume/gce_pd/gce_pd.go index 685d82d7f2d..1c90fd5825f 100644 --- a/pkg/volume/gce_pd/gce_pd.go +++ b/pkg/volume/gce_pd/gce_pd.go @@ -257,12 +257,12 @@ func (b *gcePersistentDiskMounter) CanMount() error { } // SetUp bind mounts the disk global mount to the volume path. -func (b *gcePersistentDiskMounter) SetUp(fsGroup *types.UnixGroupID) error { +func (b *gcePersistentDiskMounter) SetUp(fsGroup *int64) error { return b.SetUpAt(b.GetPath(), fsGroup) } // SetUp bind mounts the disk global mount to the give volume path. -func (b *gcePersistentDiskMounter) SetUpAt(dir string, fsGroup *types.UnixGroupID) error { +func (b *gcePersistentDiskMounter) SetUpAt(dir string, fsGroup *int64) error { // TODO: handle failed mounts here. notMnt, err := b.mounter.IsLikelyNotMountPoint(dir) glog.V(4).Infof("GCE PersistentDisk set up: Dir (%s) PD name (%q) Mounted (%t) Error (%v), ReadOnly (%t)", dir, b.pdName, !notMnt, err, b.readOnly) diff --git a/pkg/volume/git_repo/git_repo.go b/pkg/volume/git_repo/git_repo.go index ac6026ad5f5..18b61d9c3e4 100644 --- a/pkg/volume/git_repo/git_repo.go +++ b/pkg/volume/git_repo/git_repo.go @@ -171,12 +171,12 @@ func (b *gitRepoVolumeMounter) CanMount() error { } // SetUp creates new directory and clones a git repo. -func (b *gitRepoVolumeMounter) SetUp(fsGroup *types.UnixGroupID) error { +func (b *gitRepoVolumeMounter) SetUp(fsGroup *int64) error { return b.SetUpAt(b.GetPath(), fsGroup) } // SetUpAt creates new directory and clones a git repo. -func (b *gitRepoVolumeMounter) SetUpAt(dir string, fsGroup *types.UnixGroupID) error { +func (b *gitRepoVolumeMounter) SetUpAt(dir string, fsGroup *int64) error { if volumeutil.IsReady(b.getMetaDir()) { return nil } diff --git a/pkg/volume/glusterfs/glusterfs.go b/pkg/volume/glusterfs/glusterfs.go index 0e07876d2c4..6c16d524c13 100644 --- a/pkg/volume/glusterfs/glusterfs.go +++ b/pkg/volume/glusterfs/glusterfs.go @@ -252,11 +252,11 @@ func (b *glusterfsMounter) CanMount() error { } // SetUp attaches the disk and bind mounts to the volume path. -func (b *glusterfsMounter) SetUp(fsGroup *types.UnixGroupID) error { +func (b *glusterfsMounter) SetUp(fsGroup *int64) error { return b.SetUpAt(b.GetPath(), fsGroup) } -func (b *glusterfsMounter) SetUpAt(dir string, fsGroup *types.UnixGroupID) error { +func (b *glusterfsMounter) SetUpAt(dir string, fsGroup *int64) error { notMnt, err := b.mounter.IsLikelyNotMountPoint(dir) glog.V(4).Infof("glusterfs: mount set up: %s %v %v", dir, !notMnt, err) if err != nil && !os.IsNotExist(err) { diff --git a/pkg/volume/host_path/host_path.go b/pkg/volume/host_path/host_path.go index eccf80fec61..f7c24fd6a46 100644 --- a/pkg/volume/host_path/host_path.go +++ b/pkg/volume/host_path/host_path.go @@ -206,7 +206,7 @@ func (b *hostPathMounter) CanMount() error { } // SetUp does nothing. -func (b *hostPathMounter) SetUp(fsGroup *types.UnixGroupID) error { +func (b *hostPathMounter) SetUp(fsGroup *int64) error { err := validation.ValidatePathNoBacksteps(b.GetPath()) if err != nil { return fmt.Errorf("invalid HostPath `%s`: %v", b.GetPath(), err) @@ -215,7 +215,7 @@ func (b *hostPathMounter) SetUp(fsGroup *types.UnixGroupID) error { } // SetUpAt does not make sense for host paths - probably programmer error. -func (b *hostPathMounter) SetUpAt(dir string, fsGroup *types.UnixGroupID) error { +func (b *hostPathMounter) SetUpAt(dir string, fsGroup *int64) error { return fmt.Errorf("SetUpAt() does not make sense for host paths") } diff --git a/pkg/volume/iscsi/disk_manager.go b/pkg/volume/iscsi/disk_manager.go index 31c189d1485..2c470b9b1ba 100644 --- a/pkg/volume/iscsi/disk_manager.go +++ b/pkg/volume/iscsi/disk_manager.go @@ -20,7 +20,6 @@ import ( "os" "github.com/golang/glog" - "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/util/mount" "k8s.io/kubernetes/pkg/volume" ) @@ -35,7 +34,7 @@ type diskManager interface { } // utility to mount a disk based filesystem -func diskSetUp(manager diskManager, b iscsiDiskMounter, volPath string, mounter mount.Interface, fsGroup *types.UnixGroupID) error { +func diskSetUp(manager diskManager, b iscsiDiskMounter, volPath string, mounter mount.Interface, fsGroup *int64) error { globalPDPath := manager.MakeGlobalPDName(*b.iscsiDisk) // TODO: handle failed mounts here. notMnt, err := mounter.IsLikelyNotMountPoint(volPath) diff --git a/pkg/volume/iscsi/iscsi.go b/pkg/volume/iscsi/iscsi.go index 408f707cdc9..d1d45050763 100644 --- a/pkg/volume/iscsi/iscsi.go +++ b/pkg/volume/iscsi/iscsi.go @@ -236,11 +236,11 @@ func (b *iscsiDiskMounter) CanMount() error { return nil } -func (b *iscsiDiskMounter) SetUp(fsGroup *types.UnixGroupID) error { +func (b *iscsiDiskMounter) SetUp(fsGroup *int64) error { return b.SetUpAt(b.GetPath(), fsGroup) } -func (b *iscsiDiskMounter) SetUpAt(dir string, fsGroup *types.UnixGroupID) error { +func (b *iscsiDiskMounter) SetUpAt(dir string, fsGroup *int64) error { // diskSetUp checks mountpoints and prevent repeated calls err := diskSetUp(b.manager, *b, dir, b.mounter, fsGroup) if err != nil { diff --git a/pkg/volume/local/local.go b/pkg/volume/local/local.go index 9e485c52b34..d4a2ff7535c 100644 --- a/pkg/volume/local/local.go +++ b/pkg/volume/local/local.go @@ -181,12 +181,12 @@ func (m *localVolumeMounter) CanMount() error { } // SetUp bind mounts the directory to the volume path -func (m *localVolumeMounter) SetUp(fsGroup *types.UnixGroupID) error { +func (m *localVolumeMounter) SetUp(fsGroup *int64) error { return m.SetUpAt(m.GetPath(), fsGroup) } // SetUpAt bind mounts the directory to the volume path and sets up volume ownership -func (m *localVolumeMounter) SetUpAt(dir string, fsGroup *types.UnixGroupID) error { +func (m *localVolumeMounter) SetUpAt(dir string, fsGroup *int64) error { if m.globalPath == "" { err := fmt.Errorf("LocalVolume volume %q path is empty", m.volName) return err diff --git a/pkg/volume/nfs/nfs.go b/pkg/volume/nfs/nfs.go index 12ecd3aa9f6..db8ab0e5ca6 100644 --- a/pkg/volume/nfs/nfs.go +++ b/pkg/volume/nfs/nfs.go @@ -229,11 +229,11 @@ func (b *nfsMounter) GetAttributes() volume.Attributes { } // SetUp attaches the disk and bind mounts to the volume path. -func (b *nfsMounter) SetUp(fsGroup *types.UnixGroupID) error { +func (b *nfsMounter) SetUp(fsGroup *int64) error { return b.SetUpAt(b.GetPath(), fsGroup) } -func (b *nfsMounter) SetUpAt(dir string, fsGroup *types.UnixGroupID) error { +func (b *nfsMounter) SetUpAt(dir string, fsGroup *int64) error { notMnt, err := b.mounter.IsLikelyNotMountPoint(dir) glog.V(4).Infof("NFS mount set up: %s %v %v", dir, !notMnt, err) if err != nil && !os.IsNotExist(err) { diff --git a/pkg/volume/photon_pd/photon_pd.go b/pkg/volume/photon_pd/photon_pd.go index 7733de663c8..189cf36df56 100644 --- a/pkg/volume/photon_pd/photon_pd.go +++ b/pkg/volume/photon_pd/photon_pd.go @@ -195,12 +195,12 @@ func (b *photonPersistentDiskMounter) CanMount() error { } // SetUp attaches the disk and bind mounts to the volume path. -func (b *photonPersistentDiskMounter) SetUp(fsGroup *types.UnixGroupID) error { +func (b *photonPersistentDiskMounter) SetUp(fsGroup *int64) error { return b.SetUpAt(b.GetPath(), fsGroup) } // SetUp attaches the disk and bind mounts to the volume path. -func (b *photonPersistentDiskMounter) SetUpAt(dir string, fsGroup *types.UnixGroupID) error { +func (b *photonPersistentDiskMounter) SetUpAt(dir string, fsGroup *int64) error { glog.V(4).Infof("Photon Persistent Disk setup %s to %s", b.pdID, dir) // TODO: handle failed mounts here. diff --git a/pkg/volume/portworx/portworx.go b/pkg/volume/portworx/portworx.go index 9aa93bb8494..291baa06e08 100644 --- a/pkg/volume/portworx/portworx.go +++ b/pkg/volume/portworx/portworx.go @@ -259,12 +259,12 @@ func (b *portworxVolumeMounter) CanMount() error { } // SetUp attaches the disk and bind mounts to the volume path. -func (b *portworxVolumeMounter) SetUp(fsGroup *types.UnixGroupID) error { +func (b *portworxVolumeMounter) SetUp(fsGroup *int64) error { return b.SetUpAt(b.GetPath(), fsGroup) } // SetUpAt attaches the disk and bind mounts to the volume path. -func (b *portworxVolumeMounter) SetUpAt(dir string, fsGroup *types.UnixGroupID) error { +func (b *portworxVolumeMounter) SetUpAt(dir string, fsGroup *int64) error { notMnt, err := b.mounter.IsLikelyNotMountPoint(dir) glog.V(4).Infof("Portworx Volume set up: %s %v %v", dir, !notMnt, err) if err != nil && !os.IsNotExist(err) { diff --git a/pkg/volume/projected/projected.go b/pkg/volume/projected/projected.go index eb12cebb0ca..a4d3e57e2ba 100644 --- a/pkg/volume/projected/projected.go +++ b/pkg/volume/projected/projected.go @@ -177,11 +177,11 @@ func (s *projectedVolumeMounter) CanMount() error { return nil } -func (s *projectedVolumeMounter) SetUp(fsGroup *types.UnixGroupID) error { +func (s *projectedVolumeMounter) SetUp(fsGroup *int64) error { return s.SetUpAt(s.GetPath(), fsGroup) } -func (s *projectedVolumeMounter) SetUpAt(dir string, fsGroup *types.UnixGroupID) error { +func (s *projectedVolumeMounter) SetUpAt(dir string, fsGroup *int64) error { glog.V(3).Infof("Setting up volume %v for pod %v at %v", s.volName, s.pod.UID, dir) wrapped, err := s.plugin.host.NewWrapperMounter(s.volName, wrappedVolumeSpec(), s.pod, *s.opts) diff --git a/pkg/volume/quobyte/quobyte.go b/pkg/volume/quobyte/quobyte.go index 4aa2d99379a..b6a29768b35 100644 --- a/pkg/volume/quobyte/quobyte.go +++ b/pkg/volume/quobyte/quobyte.go @@ -234,12 +234,12 @@ func (mounter *quobyteMounter) CanMount() error { } // SetUp attaches the disk and bind mounts to the volume path. -func (mounter *quobyteMounter) SetUp(fsGroup *types.UnixGroupID) error { +func (mounter *quobyteMounter) SetUp(fsGroup *int64) error { pluginDir := mounter.plugin.host.GetPluginDir(strings.EscapeQualifiedNameForDisk(quobytePluginName)) return mounter.SetUpAt(pluginDir, fsGroup) } -func (mounter *quobyteMounter) SetUpAt(dir string, fsGroup *types.UnixGroupID) error { +func (mounter *quobyteMounter) SetUpAt(dir string, fsGroup *int64) error { // Check if Quobyte is already mounted on the host in the Plugin Dir // if so we can use this mountpoint instead of creating a new one // IsLikelyNotMountPoint wouldn't check the mount type diff --git a/pkg/volume/rbd/disk_manager.go b/pkg/volume/rbd/disk_manager.go index 2d5de0eec71..b65c6e998b1 100644 --- a/pkg/volume/rbd/disk_manager.go +++ b/pkg/volume/rbd/disk_manager.go @@ -26,7 +26,6 @@ import ( "os" "github.com/golang/glog" - "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/util/mount" "k8s.io/kubernetes/pkg/volume" @@ -46,7 +45,7 @@ type diskManager interface { } // utility to mount a disk based filesystem -func diskSetUp(manager diskManager, b rbdMounter, volPath string, mounter mount.Interface, fsGroup *types.UnixGroupID) error { +func diskSetUp(manager diskManager, b rbdMounter, volPath string, mounter mount.Interface, fsGroup *int64) error { globalPDPath := manager.MakeGlobalPDName(*b.rbd) // TODO: handle failed mounts here. notMnt, err := mounter.IsLikelyNotMountPoint(volPath) diff --git a/pkg/volume/rbd/rbd.go b/pkg/volume/rbd/rbd.go index 3163cb8b597..99bdc0ec47d 100644 --- a/pkg/volume/rbd/rbd.go +++ b/pkg/volume/rbd/rbd.go @@ -403,11 +403,11 @@ func (b *rbdMounter) CanMount() error { return nil } -func (b *rbdMounter) SetUp(fsGroup *types.UnixGroupID) error { +func (b *rbdMounter) SetUp(fsGroup *int64) error { return b.SetUpAt(b.GetPath(), fsGroup) } -func (b *rbdMounter) SetUpAt(dir string, fsGroup *types.UnixGroupID) error { +func (b *rbdMounter) SetUpAt(dir string, fsGroup *int64) error { // diskSetUp checks mountpoints and prevent repeated calls glog.V(4).Infof("rbd: attempting to SetUp and mount %s", dir) err := diskSetUp(b.manager, *b, dir, b.mounter, fsGroup) diff --git a/pkg/volume/scaleio/sio_volume.go b/pkg/volume/scaleio/sio_volume.go index c0bd76bc44c..3abebd6a382 100644 --- a/pkg/volume/scaleio/sio_volume.go +++ b/pkg/volume/scaleio/sio_volume.go @@ -79,12 +79,12 @@ func (v *sioVolume) CanMount() error { return nil } -func (v *sioVolume) SetUp(fsGroup *types.UnixGroupID) error { +func (v *sioVolume) SetUp(fsGroup *int64) error { return v.SetUpAt(v.GetPath(), fsGroup) } // SetUp bind mounts the disk global mount to the volume path. -func (v *sioVolume) SetUpAt(dir string, fsGroup *types.UnixGroupID) error { +func (v *sioVolume) SetUpAt(dir string, fsGroup *int64) error { v.plugin.volumeMtx.LockKey(v.volSpecName) defer v.plugin.volumeMtx.UnlockKey(v.volSpecName) diff --git a/pkg/volume/secret/secret.go b/pkg/volume/secret/secret.go index 40af0d20280..f16d950560d 100644 --- a/pkg/volume/secret/secret.go +++ b/pkg/volume/secret/secret.go @@ -178,11 +178,11 @@ func (b *secretVolumeMounter) CanMount() error { return nil } -func (b *secretVolumeMounter) SetUp(fsGroup *types.UnixGroupID) error { +func (b *secretVolumeMounter) SetUp(fsGroup *int64) error { return b.SetUpAt(b.GetPath(), fsGroup) } -func (b *secretVolumeMounter) SetUpAt(dir string, fsGroup *types.UnixGroupID) error { +func (b *secretVolumeMounter) SetUpAt(dir string, fsGroup *int64) error { glog.V(3).Infof("Setting up volume %v for pod %v at %v", b.volName, b.pod.UID, dir) // Wrap EmptyDir, let it do the setup. diff --git a/pkg/volume/storageos/storageos.go b/pkg/volume/storageos/storageos.go index 0a5e3519a19..c0a67de761c 100644 --- a/pkg/volume/storageos/storageos.go +++ b/pkg/volume/storageos/storageos.go @@ -333,7 +333,7 @@ func (b *storageosMounter) CanMount() error { } // SetUp attaches the disk and bind mounts to the volume path. -func (b *storageosMounter) SetUp(fsGroup *types.UnixGroupID) error { +func (b *storageosMounter) SetUp(fsGroup *int64) error { // Need a namespace to find the volume, try pod's namespace if not set. if b.volNamespace == "" { glog.V(2).Infof("Setting StorageOS volume namespace to pod namespace: %s", b.podNamespace) @@ -360,7 +360,7 @@ func (b *storageosMounter) SetUp(fsGroup *types.UnixGroupID) error { } // SetUp bind mounts the disk global mount to the give volume path. -func (b *storageosMounter) SetUpAt(dir string, fsGroup *types.UnixGroupID) error { +func (b *storageosMounter) SetUpAt(dir string, fsGroup *int64) error { notMnt, err := b.mounter.IsLikelyNotMountPoint(dir) glog.V(4).Infof("StorageOS volume set up: %s %v %v", dir, !notMnt, err) if err != nil && !os.IsNotExist(err) { diff --git a/pkg/volume/testing/testing.go b/pkg/volume/testing/testing.go index e80a8a5271d..a5d790f6091 100644 --- a/pkg/volume/testing/testing.go +++ b/pkg/volume/testing/testing.go @@ -354,7 +354,7 @@ func (fv *FakeVolume) CanMount() error { return nil } -func (fv *FakeVolume) SetUp(fsGroup *types.UnixGroupID) error { +func (fv *FakeVolume) SetUp(fsGroup *int64) error { fv.Lock() defer fv.Unlock() fv.SetUpCallCount++ @@ -367,7 +367,7 @@ func (fv *FakeVolume) GetSetUpCallCount() int { return fv.SetUpCallCount } -func (fv *FakeVolume) SetUpAt(dir string, fsGroup *types.UnixGroupID) error { +func (fv *FakeVolume) SetUpAt(dir string, fsGroup *int64) error { return os.MkdirAll(dir, 0750) } diff --git a/pkg/volume/util/operationexecutor/operation_generator.go b/pkg/volume/util/operationexecutor/operation_generator.go index 419bf1e6adc..4c189d96ddd 100644 --- a/pkg/volume/util/operationexecutor/operation_generator.go +++ b/pkg/volume/util/operationexecutor/operation_generator.go @@ -392,7 +392,7 @@ func (og *operationGenerator) GenerateMountVolumeFunc( volumeAttacher, _ = attachableVolumePlugin.NewAttacher() } - var fsGroup *types.UnixGroupID + var fsGroup *int64 if volumeToMount.Pod.Spec.SecurityContext != nil && volumeToMount.Pod.Spec.SecurityContext.FSGroup != nil { fsGroup = volumeToMount.Pod.Spec.SecurityContext.FSGroup diff --git a/pkg/volume/volume.go b/pkg/volume/volume.go index 86a8ff7404e..76c96d2e222 100644 --- a/pkg/volume/volume.go +++ b/pkg/volume/volume.go @@ -109,14 +109,14 @@ type Mounter interface { // content should be owned by 'fsGroup' so that it can be // accessed by the pod. This may be called more than once, so // implementations must be idempotent. - SetUp(fsGroup *types.UnixGroupID) error + SetUp(fsGroup *int64) error // SetUpAt prepares and mounts/unpacks the volume to the // specified directory path, which may or may not exist yet. // The mount point and its content should be owned by // 'fsGroup' so that it can be accessed by the pod. This may // be called more than once, so implementations must be // idempotent. - SetUpAt(dir string, fsGroup *types.UnixGroupID) error + SetUpAt(dir string, fsGroup *int64) error // GetAttributes returns the attributes of the mounter. GetAttributes() Attributes } diff --git a/pkg/volume/volume_linux.go b/pkg/volume/volume_linux.go index c13ee2b81f2..ef1f45208c9 100644 --- a/pkg/volume/volume_linux.go +++ b/pkg/volume/volume_linux.go @@ -24,8 +24,6 @@ import ( "os" - "k8s.io/apimachinery/pkg/types" - "github.com/golang/glog" ) @@ -37,7 +35,7 @@ const ( // SetVolumeOwnership modifies the given volume to be owned by // fsGroup, and sets SetGid so that newly created files are owned by // fsGroup. If fsGroup is nil nothing is done. -func SetVolumeOwnership(mounter Mounter, fsGroup *types.UnixGroupID) error { +func SetVolumeOwnership(mounter Mounter, fsGroup *int64) error { if fsGroup == nil { return nil diff --git a/pkg/volume/volume_unsupported.go b/pkg/volume/volume_unsupported.go index db873f0f595..45a6cc5ca7f 100644 --- a/pkg/volume/volume_unsupported.go +++ b/pkg/volume/volume_unsupported.go @@ -18,8 +18,6 @@ limitations under the License. package volume -import "k8s.io/apimachinery/pkg/types" - -func SetVolumeOwnership(mounter Mounter, fsGroup *types.UnixGroupID) error { +func SetVolumeOwnership(mounter Mounter, fsGroup *int64) error { return nil } diff --git a/pkg/volume/vsphere_volume/vsphere_volume.go b/pkg/volume/vsphere_volume/vsphere_volume.go index 2c6bf74be8e..bfb1d9491da 100644 --- a/pkg/volume/vsphere_volume/vsphere_volume.go +++ b/pkg/volume/vsphere_volume/vsphere_volume.go @@ -194,7 +194,7 @@ func (b *vsphereVolumeMounter) GetAttributes() volume.Attributes { } // SetUp attaches the disk and bind mounts to the volume path. -func (b *vsphereVolumeMounter) SetUp(fsGroup *types.UnixGroupID) error { +func (b *vsphereVolumeMounter) SetUp(fsGroup *int64) error { return b.SetUpAt(b.GetPath(), fsGroup) } @@ -206,7 +206,7 @@ func (b *vsphereVolumeMounter) CanMount() error { } // SetUp attaches the disk and bind mounts to the volume path. -func (b *vsphereVolumeMounter) SetUpAt(dir string, fsGroup *types.UnixGroupID) error { +func (b *vsphereVolumeMounter) SetUpAt(dir string, fsGroup *int64) error { glog.V(5).Infof("vSphere volume setup %s to %s", b.volPath, dir) // TODO: handle failed mounts here. diff --git a/plugin/pkg/admission/security/podsecuritypolicy/admission_test.go b/plugin/pkg/admission/security/podsecuritypolicy/admission_test.go index 5c6f86d8584..53a1dcc5c31 100644 --- a/plugin/pkg/admission/security/podsecuritypolicy/admission_test.go +++ b/plugin/pkg/admission/security/podsecuritypolicy/admission_test.go @@ -25,7 +25,6 @@ import ( "github.com/stretchr/testify/assert" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/diff" "k8s.io/apimachinery/pkg/util/sets" kadmission "k8s.io/apiserver/pkg/admission" @@ -835,7 +834,7 @@ func TestAdmitRunAsUser(t *testing.T) { // doesn't matter if we set it here or on the container, the // admission controller uses DetermineEffectiveSC to get the defaulting // behavior so it can validate what will be applied at runtime - userID := types.UnixUserID(user) + userID := int64(user) pod.Spec.SecurityContext.RunAsUser = &userID return pod } @@ -855,7 +854,7 @@ func TestAdmitRunAsUser(t *testing.T) { pod *kapi.Pod psps []*extensions.PodSecurityPolicy shouldPass bool - expectedRunAsUser *types.UnixUserID + expectedRunAsUser *int64 expectedPSP string }{ "runAsAny no pod request": { @@ -941,8 +940,8 @@ func TestAdmitSupplementalGroups(t *testing.T) { // doesn't matter if we set it here or on the container, the // admission controller uses DetermineEffectiveSC to get the defaulting // behavior so it can validate what will be applied at runtime - groupID := types.UnixGroupID(group) - pod.Spec.SecurityContext.SupplementalGroups = []types.UnixGroupID{groupID} + groupID := int64(group) + pod.Spec.SecurityContext.SupplementalGroups = []int64{groupID} return pod } @@ -957,28 +956,28 @@ func TestAdmitSupplementalGroups(t *testing.T) { pod *kapi.Pod psps []*extensions.PodSecurityPolicy shouldPass bool - expectedSupGroups []types.UnixGroupID + expectedSupGroups []int64 expectedPSP string }{ "runAsAny no pod request": { pod: goodPod(), psps: []*extensions.PodSecurityPolicy{runAsAny}, shouldPass: true, - expectedSupGroups: []types.UnixGroupID{}, + expectedSupGroups: []int64{}, expectedPSP: runAsAny.Name, }, "runAsAny pod request": { pod: createPodWithSupGroup(1), psps: []*extensions.PodSecurityPolicy{runAsAny}, shouldPass: true, - expectedSupGroups: []types.UnixGroupID{1}, + expectedSupGroups: []int64{1}, expectedPSP: runAsAny.Name, }, "mustRunAs no pod request": { pod: goodPod(), psps: []*extensions.PodSecurityPolicy{mustRunAs}, shouldPass: true, - expectedSupGroups: []types.UnixGroupID{mustRunAs.Spec.SupplementalGroups.Ranges[0].Min}, + expectedSupGroups: []int64{mustRunAs.Spec.SupplementalGroups.Ranges[0].Min}, expectedPSP: mustRunAs.Name, }, "mustRunAs bad pod request": { @@ -990,7 +989,7 @@ func TestAdmitSupplementalGroups(t *testing.T) { pod: createPodWithSupGroup(999), psps: []*extensions.PodSecurityPolicy{mustRunAs}, shouldPass: true, - expectedSupGroups: []types.UnixGroupID{999}, + expectedSupGroups: []int64{999}, expectedPSP: mustRunAs.Name, }, } @@ -1035,7 +1034,7 @@ func TestAdmitFSGroup(t *testing.T) { pod *kapi.Pod psps []*extensions.PodSecurityPolicy shouldPass bool - expectedFSGroup *types.UnixGroupID + expectedFSGroup *int64 expectedPSP string }{ "runAsAny no pod request": { @@ -1711,7 +1710,7 @@ func restrictivePSP() *extensions.PodSecurityPolicy { RunAsUser: extensions.RunAsUserStrategyOptions{ Rule: extensions.RunAsUserStrategyMustRunAs, Ranges: []extensions.UserIDRange{ - {Min: types.UnixUserID(999), Max: types.UnixUserID(999)}, + {Min: int64(999), Max: int64(999)}, }, }, SELinux: extensions.SELinuxStrategyOptions{ @@ -1723,13 +1722,13 @@ func restrictivePSP() *extensions.PodSecurityPolicy { FSGroup: extensions.FSGroupStrategyOptions{ Rule: extensions.FSGroupStrategyMustRunAs, Ranges: []extensions.GroupIDRange{ - {Min: types.UnixGroupID(999), Max: types.UnixGroupID(999)}, + {Min: int64(999), Max: int64(999)}, }, }, SupplementalGroups: extensions.SupplementalGroupsStrategyOptions{ Rule: extensions.SupplementalGroupsStrategyMustRunAs, Ranges: []extensions.GroupIDRange{ - {Min: types.UnixGroupID(999), Max: types.UnixGroupID(999)}, + {Min: int64(999), Max: int64(999)}, }, }, }, @@ -1774,12 +1773,12 @@ func goodPod() *kapi.Pod { } } -func userIDPtr(i int) *types.UnixUserID { - userID := types.UnixUserID(i) +func userIDPtr(i int) *int64 { + userID := int64(i) return &userID } -func groupIDPtr(i int) *types.UnixGroupID { - groupID := types.UnixGroupID(i) +func groupIDPtr(i int) *int64 { + groupID := int64(i) return &groupID } diff --git a/plugin/pkg/admission/securitycontext/scdeny/admission_test.go b/plugin/pkg/admission/securitycontext/scdeny/admission_test.go index 4b7758e23b6..f3c498a1bfd 100644 --- a/plugin/pkg/admission/securitycontext/scdeny/admission_test.go +++ b/plugin/pkg/admission/securitycontext/scdeny/admission_test.go @@ -19,7 +19,6 @@ package scdeny import ( "testing" - "k8s.io/apimachinery/pkg/types" "k8s.io/apiserver/pkg/admission" "k8s.io/kubernetes/pkg/api" ) @@ -28,7 +27,7 @@ import ( func TestAdmission(t *testing.T) { handler := NewSecurityContextDeny() - runAsUser := types.UnixUserID(1) + runAsUser := int64(1) priv := true cases := []struct { @@ -116,7 +115,7 @@ func TestPodSecurityContextAdmission(t *testing.T) { }, } - fsGroup := types.UnixGroupID(1001) + fsGroup := int64(1001) tests := []struct { securityContext api.PodSecurityContext @@ -128,7 +127,7 @@ func TestPodSecurityContextAdmission(t *testing.T) { }, { securityContext: api.PodSecurityContext{ - SupplementalGroups: []types.UnixGroupID{types.UnixGroupID(1234)}, + SupplementalGroups: []int64{int64(1234)}, }, errorExpected: true, }, diff --git a/staging/src/k8s.io/apimachinery/pkg/types/unix_user_id.go b/staging/src/k8s.io/apimachinery/pkg/types/unix_user_id.go deleted file mode 100644 index dc770c11e2b..00000000000 --- a/staging/src/k8s.io/apimachinery/pkg/types/unix_user_id.go +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2016 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 types - -// int64 is used as a safe bet against wrap-around (uid's are general -// int32) and to support uid_t -1, and -2. - -type UnixUserID int64 -type UnixGroupID int64 diff --git a/staging/src/k8s.io/apimachinery/pkg/util/validation/validation.go b/staging/src/k8s.io/apimachinery/pkg/util/validation/validation.go index 1e5b85047c3..b1fcc570812 100644 --- a/staging/src/k8s.io/apimachinery/pkg/util/validation/validation.go +++ b/staging/src/k8s.io/apimachinery/pkg/util/validation/validation.go @@ -22,8 +22,6 @@ import ( "net" "regexp" "strings" - - "k8s.io/apimachinery/pkg/types" ) const qnameCharFmt string = "[A-Za-z0-9]" @@ -200,7 +198,7 @@ const ( ) // IsValidGroupID tests that the argument is a valid Unix GID. -func IsValidGroupID(gid types.UnixGroupID) []string { +func IsValidGroupID(gid int64) []string { if minGroupID <= gid && gid <= maxGroupID { return nil } @@ -208,7 +206,7 @@ func IsValidGroupID(gid types.UnixGroupID) []string { } // IsValidUserID tests that the argument is a valid Unix UID. -func IsValidUserID(uid types.UnixUserID) []string { +func IsValidUserID(uid int64) []string { if minUserID <= uid && uid <= maxUserID { return nil } diff --git a/staging/src/k8s.io/apimachinery/pkg/util/validation/validation_test.go b/staging/src/k8s.io/apimachinery/pkg/util/validation/validation_test.go index cb807c899d2..061be1a6e65 100644 --- a/staging/src/k8s.io/apimachinery/pkg/util/validation/validation_test.go +++ b/staging/src/k8s.io/apimachinery/pkg/util/validation/validation_test.go @@ -19,8 +19,6 @@ package validation import ( "strings" "testing" - - "k8s.io/apimachinery/pkg/types" ) func TestIsDNS1123Label(t *testing.T) { @@ -156,18 +154,18 @@ func TestIsValidPortNum(t *testing.T) { } } -func createGroupIDs(ids ...int64) []types.UnixGroupID { - var output []types.UnixGroupID +func createGroupIDs(ids ...int64) []int64 { + var output []int64 for _, id := range ids { - output = append(output, types.UnixGroupID(id)) + output = append(output, int64(id)) } return output } -func createUserIDs(ids ...int64) []types.UnixUserID { - var output []types.UnixUserID +func createUserIDs(ids ...int64) []int64 { + var output []int64 for _, id := range ids { - output = append(output, types.UnixUserID(id)) + output = append(output, int64(id)) } return output } diff --git a/staging/src/k8s.io/client-go/pkg/api/types.go b/staging/src/k8s.io/client-go/pkg/api/types.go index 412d6d08ccd..b59f7202e4c 100644 --- a/staging/src/k8s.io/client-go/pkg/api/types.go +++ b/staging/src/k8s.io/client-go/pkg/api/types.go @@ -2263,7 +2263,7 @@ type PodSecurityContext struct { // PodSecurityContext, the value specified in SecurityContext takes precedence // for that container. // +optional - RunAsUser *types.UnixUserID + RunAsUser *int64 // Indicates that the container must run as a non-root user. // If true, the Kubelet will validate the image at runtime to ensure that it // does not run as UID 0 (root) and fail to start the container if it does. @@ -2276,7 +2276,7 @@ type PodSecurityContext struct { // to the container's primary GID. If unspecified, no groups will be added to // any container. // +optional - SupplementalGroups []types.UnixGroupID + SupplementalGroups []int64 // A special supplemental group that applies to all containers in a pod. // Some volume types allow the Kubelet to change the ownership of that volume // to be owned by the pod: @@ -2287,7 +2287,7 @@ type PodSecurityContext struct { // // If unset, the Kubelet will not modify the ownership and permissions of any volume. // +optional - FSGroup *types.UnixGroupID + FSGroup *int64 } // PodQOSClass defines the supported qos classes of Pods. @@ -3924,7 +3924,7 @@ type SecurityContext struct { // May also be set in PodSecurityContext. If set in both SecurityContext and // PodSecurityContext, the value specified in SecurityContext takes precedence. // +optional - RunAsUser *types.UnixUserID + RunAsUser *int64 // Indicates that the container must run as a non-root user. // If true, the Kubelet will validate the image at runtime to ensure that it // does not run as UID 0 (root) and fail to start the container if it does. diff --git a/staging/src/k8s.io/client-go/pkg/api/v1/types.go b/staging/src/k8s.io/client-go/pkg/api/v1/types.go index ba7723296f0..8ec3b0beee0 100644 --- a/staging/src/k8s.io/client-go/pkg/api/v1/types.go +++ b/staging/src/k8s.io/client-go/pkg/api/v1/types.go @@ -2548,7 +2548,7 @@ type PodSecurityContext struct { // PodSecurityContext, the value specified in SecurityContext takes precedence // for that container. // +optional - RunAsUser *types.UnixUserID `json:"runAsUser,omitempty" protobuf:"varint,2,opt,name=runAsUser,casttype=k8s.io/apimachinery/pkg/types.UnixUserID"` + RunAsUser *int64 `json:"runAsUser,omitempty" protobuf:"varint,2,opt,name=runAsUser"` // Indicates that the container must run as a non-root user. // If true, the Kubelet will validate the image at runtime to ensure that it // does not run as UID 0 (root) and fail to start the container if it does. @@ -2561,7 +2561,7 @@ type PodSecurityContext struct { // to the container's primary GID. If unspecified, no groups will be added to // any container. // +optional - SupplementalGroups []types.UnixGroupID `json:"supplementalGroups,omitempty" protobuf:"varint,4,rep,name=supplementalGroups,casttype=k8s.io/apimachinery/pkg/types.UnixGroupID"` + SupplementalGroups []int64 `json:"supplementalGroups,omitempty" protobuf:"varint,4,rep,name=supplementalGroups"` // A special supplemental group that applies to all containers in a pod. // Some volume types allow the Kubelet to change the ownership of that volume // to be owned by the pod: @@ -2572,7 +2572,7 @@ type PodSecurityContext struct { // // If unset, the Kubelet will not modify the ownership and permissions of any volume. // +optional - FSGroup *types.UnixGroupID `json:"fsGroup,omitempty" protobuf:"varint,5,opt,name=fsGroup,casttype=k8s.io/apimachinery/pkg/types.UnixGroupID"` + FSGroup *int64 `json:"fsGroup,omitempty" protobuf:"varint,5,opt,name=fsGroup"` } // PodQOSClass defines the supported qos classes of Pods. @@ -4511,7 +4511,7 @@ type SecurityContext struct { // May also be set in PodSecurityContext. If set in both SecurityContext and // PodSecurityContext, the value specified in SecurityContext takes precedence. // +optional - RunAsUser *types.UnixUserID `json:"runAsUser,omitempty" protobuf:"varint,4,opt,name=runAsUser,casttype=k8s.io/apimachinery/pkg/types.UnixUserID"` + RunAsUser *int64 `json:"runAsUser,omitempty" protobuf:"varint,4,opt,name=runAsUser"` // Indicates that the container must run as a non-root user. // If true, the Kubelet will validate the image at runtime to ensure that it // does not run as UID 0 (root) and fail to start the container if it does. diff --git a/staging/src/k8s.io/client-go/pkg/apis/extensions/types.go b/staging/src/k8s.io/client-go/pkg/apis/extensions/types.go index 161158dcbff..e4afc0f8c20 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/extensions/types.go +++ b/staging/src/k8s.io/client-go/pkg/apis/extensions/types.go @@ -31,7 +31,6 @@ package extensions import ( "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/intstr" "k8s.io/client-go/pkg/api" ) @@ -980,17 +979,17 @@ type RunAsUserStrategyOptions struct { // UserIDRange provides a min/max of an allowed range of UserIDs. type UserIDRange struct { // Min is the start of the range, inclusive. - Min types.UnixUserID + Min int64 // Max is the end of the range, inclusive. - Max types.UnixUserID + Max int64 } // GroupIDRange provides a min/max of an allowed range of GroupIDs. type GroupIDRange struct { // Min is the start of the range, inclusive. - Min types.UnixGroupID + Min int64 // Max is the end of the range, inclusive. - Max types.UnixGroupID + Max int64 } // RunAsUserStrategy denotes strategy types for generating RunAsUser values for a diff --git a/test/e2e/common/configmap.go b/test/e2e/common/configmap.go index 58421952c2c..427574cd545 100644 --- a/test/e2e/common/configmap.go +++ b/test/e2e/common/configmap.go @@ -25,7 +25,6 @@ import ( . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/uuid" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/test/e2e/framework" @@ -523,8 +522,8 @@ func newEnvFromConfigMap(f *framework.Framework, name string) *v1.ConfigMap { } func doConfigMapE2EWithoutMappings(f *framework.Framework, uid, fsGroup int64, defaultMode *int32) { - userID := types.UnixUserID(uid) - groupID := types.UnixGroupID(fsGroup) + userID := int64(uid) + groupID := int64(fsGroup) var ( name = "configmap-test-volume-" + string(uuid.NewUUID()) @@ -602,8 +601,8 @@ func doConfigMapE2EWithoutMappings(f *framework.Framework, uid, fsGroup int64, d } func doConfigMapE2EWithMappings(f *framework.Framework, uid, fsGroup int64, itemMode *int32) { - userID := types.UnixUserID(uid) - groupID := types.UnixGroupID(fsGroup) + userID := int64(uid) + groupID := int64(fsGroup) var ( name = "configmap-test-volume-map-" + string(uuid.NewUUID()) diff --git a/test/e2e/common/downwardapi_volume.go b/test/e2e/common/downwardapi_volume.go index 65dc7d617c1..2e85ccd64d7 100644 --- a/test/e2e/common/downwardapi_volume.go +++ b/test/e2e/common/downwardapi_volume.go @@ -28,7 +28,6 @@ import ( . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" - "k8s.io/apimachinery/pkg/types" ) var _ = framework.KubeDescribe("Downward API volume", func() { @@ -71,8 +70,8 @@ var _ = framework.KubeDescribe("Downward API volume", func() { It("should provide podname as non-root with fsgroup [Feature:FSGroup] [Volume]", func() { podName := "metadata-volume-" + string(uuid.NewUUID()) - uid := types.UnixUserID(1001) - gid := types.UnixGroupID(1234) + uid := int64(1001) + gid := int64(1234) pod := downwardAPIVolumePodForSimpleTest(podName, "/etc/podname") pod.Spec.SecurityContext = &v1.PodSecurityContext{ RunAsUser: &uid, @@ -85,8 +84,8 @@ var _ = framework.KubeDescribe("Downward API volume", func() { It("should provide podname as non-root with fsgroup and defaultMode [Feature:FSGroup] [Volume]", func() { podName := "metadata-volume-" + string(uuid.NewUUID()) - uid := types.UnixUserID(1001) - gid := types.UnixGroupID(1234) + uid := int64(1001) + gid := int64(1234) mode := int32(0440) /* setting fsGroup sets mode to at least 440 */ pod := downwardAPIVolumePodForModeTest(podName, "/etc/podname", &mode, nil) pod.Spec.SecurityContext = &v1.PodSecurityContext{ diff --git a/test/e2e/common/empty_dir.go b/test/e2e/common/empty_dir.go index 760d906cb65..7f4415205a0 100644 --- a/test/e2e/common/empty_dir.go +++ b/test/e2e/common/empty_dir.go @@ -27,7 +27,6 @@ import ( "k8s.io/kubernetes/test/e2e/framework" . "github.com/onsi/ginkgo" - "k8s.io/apimachinery/pkg/types" ) const ( @@ -142,7 +141,7 @@ func doTestSetgidFSGroup(f *framework.Framework, image string, medium v1.Storage fmt.Sprintf("--file_owner=%v", filePath), } - fsGroup := types.UnixGroupID(123) + fsGroup := int64(123) pod.Spec.SecurityContext.FSGroup = &fsGroup msg := fmt.Sprintf("emptydir 0644 on %v", formatMedium(medium)) @@ -172,7 +171,7 @@ func doTestSubPathFSGroup(f *framework.Framework, image string, medium v1.Storag pod.Spec.Containers[0].VolumeMounts[0].SubPath = subPath - fsGroup := types.UnixGroupID(123) + fsGroup := int64(123) pod.Spec.SecurityContext.FSGroup = &fsGroup msg := fmt.Sprintf("emptydir subpath on %v", formatMedium(medium)) @@ -198,7 +197,7 @@ func doTestVolumeModeFSGroup(f *framework.Framework, image string, medium v1.Sto fmt.Sprintf("--file_perm=%v", volumePath), } - fsGroup := types.UnixGroupID(1001) + fsGroup := int64(1001) pod.Spec.SecurityContext.FSGroup = &fsGroup msg := fmt.Sprintf("emptydir volume type on %v", formatMedium(medium)) @@ -224,7 +223,7 @@ func doTest0644FSGroup(f *framework.Framework, image string, medium v1.StorageMe fmt.Sprintf("--file_perm=%v", filePath), } - fsGroup := types.UnixGroupID(123) + fsGroup := int64(123) pod.Spec.SecurityContext.FSGroup = &fsGroup msg := fmt.Sprintf("emptydir 0644 on %v", formatMedium(medium)) diff --git a/test/e2e/common/projected.go b/test/e2e/common/projected.go index 02c75e409a6..3af9acb548d 100644 --- a/test/e2e/common/projected.go +++ b/test/e2e/common/projected.go @@ -29,7 +29,6 @@ import ( . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" - "k8s.io/apimachinery/pkg/types" ) var _ = framework.KubeDescribe("Projected", func() { @@ -47,8 +46,8 @@ var _ = framework.KubeDescribe("Projected", func() { It("should be consumable from pods in volume as non-root with defaultMode and fsGroup set [Conformance] [Volume]", func() { defaultMode := int32(0440) /* setting fsGroup sets mode to at least 440 */ - fsGroup := types.UnixGroupID(1001) - uid := types.UnixUserID(1000) + fsGroup := int64(1001) + uid := int64(1000) doProjectedSecretE2EWithoutMapping(f, &defaultMode, "projected-secret-test-"+string(uuid.NewUUID()), &fsGroup, &uid) }) @@ -834,8 +833,8 @@ var _ = framework.KubeDescribe("Projected", func() { It("should provide podname as non-root with fsgroup [Feature:FSGroup] [Volume]", func() { podName := "metadata-volume-" + string(uuid.NewUUID()) - uid := types.UnixUserID(1001) - gid := types.UnixGroupID(1234) + uid := int64(1001) + gid := int64(1234) pod := downwardAPIVolumePodForSimpleTest(podName, "/etc/podname") pod.Spec.SecurityContext = &v1.PodSecurityContext{ RunAsUser: &uid, @@ -848,8 +847,8 @@ var _ = framework.KubeDescribe("Projected", func() { It("should provide podname as non-root with fsgroup and defaultMode [Feature:FSGroup] [Volume]", func() { podName := "metadata-volume-" + string(uuid.NewUUID()) - uid := types.UnixUserID(1001) - gid := types.UnixGroupID(1234) + uid := int64(1001) + gid := int64(1234) mode := int32(0440) /* setting fsGroup sets mode to at least 440 */ pod := projectedDownwardAPIVolumePodForModeTest(podName, "/etc/podname", &mode, nil) pod.Spec.SecurityContext = &v1.PodSecurityContext{ @@ -1025,7 +1024,7 @@ var _ = framework.KubeDescribe("Projected", func() { }) func doProjectedSecretE2EWithoutMapping(f *framework.Framework, defaultMode *int32, - secretName string, fsGroup *types.UnixGroupID, uid *types.UnixUserID) { + secretName string, fsGroup *int64, uid *int64) { var ( volumeName = "projected-secret-volume" volumeMountPath = "/etc/projected-secret-volume" @@ -1185,8 +1184,8 @@ func doProjectedSecretE2EWithMapping(f *framework.Framework, mode *int32) { } func doProjectedConfigMapE2EWithoutMappings(f *framework.Framework, uid, fsGroup int64, defaultMode *int32) { - userID := types.UnixUserID(uid) - groupID := types.UnixGroupID(fsGroup) + userID := int64(uid) + groupID := int64(fsGroup) var ( name = "projected-configmap-test-volume-" + string(uuid.NewUUID()) @@ -1269,8 +1268,8 @@ func doProjectedConfigMapE2EWithoutMappings(f *framework.Framework, uid, fsGroup } func doProjectedConfigMapE2EWithMappings(f *framework.Framework, uid, fsGroup int64, itemMode *int32) { - userID := types.UnixUserID(uid) - groupID := types.UnixGroupID(fsGroup) + userID := int64(uid) + groupID := int64(fsGroup) var ( name = "projected-configmap-test-volume-map-" + string(uuid.NewUUID()) diff --git a/test/e2e/common/secrets.go b/test/e2e/common/secrets.go index 4dd0e5308e1..be804dbbdd4 100644 --- a/test/e2e/common/secrets.go +++ b/test/e2e/common/secrets.go @@ -29,7 +29,6 @@ import ( . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" - "k8s.io/apimachinery/pkg/types" ) var _ = framework.KubeDescribe("Secrets", func() { @@ -46,8 +45,8 @@ var _ = framework.KubeDescribe("Secrets", func() { It("should be consumable from pods in volume as non-root with defaultMode and fsGroup set [Conformance] [Volume]", func() { defaultMode := int32(0440) /* setting fsGroup sets mode to at least 440 */ - fsGroup := types.UnixGroupID(1001) - uid := types.UnixUserID(1000) + fsGroup := int64(1001) + uid := int64(1000) doSecretE2EWithoutMapping(f, &defaultMode, "secret-test-"+string(uuid.NewUUID()), &fsGroup, &uid) }) @@ -455,7 +454,7 @@ func secretForTest(namespace, name string) *v1.Secret { } func doSecretE2EWithoutMapping(f *framework.Framework, defaultMode *int32, secretName string, - fsGroup *types.UnixGroupID, uid *types.UnixUserID) { + fsGroup *int64, uid *int64) { var ( volumeName = "secret-volume" volumeMountPath = "/etc/secret-volume" diff --git a/test/e2e/framework/volume_util.go b/test/e2e/framework/volume_util.go index 718a84ad2e0..c35d5bcf09e 100644 --- a/test/e2e/framework/volume_util.go +++ b/test/e2e/framework/volume_util.go @@ -46,7 +46,6 @@ import ( apierrs "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" @@ -243,7 +242,7 @@ func VolumeTestCleanup(f *Framework, config VolumeTestConfig) { // and check that the pod sees expected data, e.g. from the server pod. // Multiple VolumeTests can be specified to mount multiple volumes to a single // pod. -func TestVolumeClient(client clientset.Interface, config VolumeTestConfig, fsGroup *types.UnixGroupID, tests []VolumeTest) { +func TestVolumeClient(client clientset.Interface, config VolumeTestConfig, fsGroup *int64, tests []VolumeTest) { By(fmt.Sprint("starting ", config.Prefix, " client")) clientPod := &v1.Pod{ TypeMeta: metav1.TypeMeta{ diff --git a/test/e2e/security_context.go b/test/e2e/security_context.go index 0656943bdd2..871b6f870d5 100644 --- a/test/e2e/security_context.go +++ b/test/e2e/security_context.go @@ -26,7 +26,6 @@ import ( "fmt" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/uuid" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/test/e2e/framework" @@ -66,14 +65,14 @@ var _ = framework.KubeDescribe("Security Context [Feature:SecurityContext]", fun It("should support pod.Spec.SecurityContext.SupplementalGroups", func() { pod := scTestPod(false, false) pod.Spec.Containers[0].Command = []string{"id", "-G"} - pod.Spec.SecurityContext.SupplementalGroups = []types.UnixGroupID{1234, 5678} + pod.Spec.SecurityContext.SupplementalGroups = []int64{1234, 5678} groups := []string{"1234", "5678"} f.TestContainerOutput("pod.Spec.SecurityContext.SupplementalGroups", pod, 0, groups) }) It("should support pod.Spec.SecurityContext.RunAsUser", func() { pod := scTestPod(false, false) - userID := types.UnixUserID(1001) + userID := int64(1001) pod.Spec.SecurityContext.RunAsUser = &userID pod.Spec.Containers[0].Command = []string{"sh", "-c", "id -u"} @@ -84,8 +83,8 @@ var _ = framework.KubeDescribe("Security Context [Feature:SecurityContext]", fun It("should support container.SecurityContext.RunAsUser", func() { pod := scTestPod(false, false) - userID := types.UnixUserID(1001) - overrideUserID := types.UnixUserID(1002) + userID := int64(1001) + overrideUserID := int64(1002) pod.Spec.SecurityContext.RunAsUser = &userID pod.Spec.Containers[0].SecurityContext = new(v1.SecurityContext) pod.Spec.Containers[0].SecurityContext.RunAsUser = &overrideUserID diff --git a/test/e2e/storage/volumes.go b/test/e2e/storage/volumes.go index 9eb37922e06..fed03ccaf6f 100644 --- a/test/e2e/storage/volumes.go +++ b/test/e2e/storage/volumes.go @@ -264,7 +264,7 @@ var _ = framework.KubeDescribe("Volumes [Volume]", func() { ExpectedContent: "Hello from iSCSI", }, } - fsGroup := types.UnixGroupID(1234) + fsGroup := int64(1234) framework.TestVolumeClient(cs, config, &fsGroup, tests) }) }) @@ -343,7 +343,7 @@ var _ = framework.KubeDescribe("Volumes [Volume]", func() { ExpectedContent: "Hello from RBD", }, } - fsGroup := types.UnixGroupID(1234) + fsGroup := int64(1234) framework.TestVolumeClient(cs, config, &fsGroup, tests) }) }) @@ -496,7 +496,7 @@ var _ = framework.KubeDescribe("Volumes [Volume]", func() { framework.InjectHtml(cs, config, tests[0].Volume, tests[0].ExpectedContent) - fsGroup := types.UnixGroupID(1234) + fsGroup := int64(1234) framework.TestVolumeClient(cs, config, &fsGroup, tests) }) }) @@ -550,7 +550,7 @@ var _ = framework.KubeDescribe("Volumes [Volume]", func() { framework.InjectHtml(cs, config, tests[0].Volume, tests[0].ExpectedContent) - fsGroup := types.UnixGroupID(1234) + fsGroup := int64(1234) framework.TestVolumeClient(cs, config, &fsGroup, tests) }) }) @@ -682,7 +682,7 @@ var _ = framework.KubeDescribe("Volumes [Volume]", func() { framework.InjectHtml(cs, config, tests[0].Volume, tests[0].ExpectedContent) - fsGroup := types.UnixGroupID(1234) + fsGroup := int64(1234) framework.TestVolumeClient(cs, config, &fsGroup, tests) }) }) @@ -732,7 +732,7 @@ var _ = framework.KubeDescribe("Volumes [Volume]", func() { framework.InjectHtml(cs, config, tests[0].Volume, tests[0].ExpectedContent) - fsGroup := types.UnixGroupID(1234) + fsGroup := int64(1234) framework.TestVolumeClient(cs, config, &fsGroup, tests) }) }) diff --git a/test/e2e_node/runtime_conformance_test.go b/test/e2e_node/runtime_conformance_test.go index 20993961937..9dfd45829df 100644 --- a/test/e2e_node/runtime_conformance_test.go +++ b/test/e2e_node/runtime_conformance_test.go @@ -21,7 +21,6 @@ import ( "path" "time" - "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/uuid" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/kubelet/images" @@ -130,8 +129,8 @@ while true; do sleep 1; done } }) - rootUser := types.UnixUserID(0) - nonRootUser := types.UnixUserID(10000) + rootUser := int64(0) + nonRootUser := int64(10000) for _, testCase := range []struct { name string container v1.Container From 70c4fe7f4ff7f7acf5de9fee7551da1b2e5aa22c Mon Sep 17 00:00:00 2001 From: mbohlool Date: Tue, 20 Jun 2017 17:29:04 -0700 Subject: [PATCH 2/4] update generated files --- .../apps/v1beta1/definitions.html | 16 +- docs/api-reference/batch/v1/definitions.html | 24 +- .../batch/v2alpha1/definitions.html | 16 +- .../extensions/v1beta1/definitions.html | 16 +- docs/api-reference/v1/definitions.html | 16 +- .../apis/swagger-spec/extensions_v1beta1.json | 19 +- .../extensions/v1beta1/definitions.html | 16 +- pkg/api/v1/generated.pb.go | 1414 ++++++++--------- pkg/api/v1/types.generated.go | 169 +- pkg/api/v1/zz_generated.conversion.go | 16 +- pkg/api/v1/zz_generated.deepcopy.go | 8 +- pkg/api/validation/BUILD | 1 - pkg/api/zz_generated.deepcopy.go | 8 +- pkg/apis/extensions/BUILD | 1 - pkg/kubelet/dockershim/securitycontext/BUILD | 1 - pkg/kubelet/volumemanager/BUILD | 1 - pkg/security/podsecuritypolicy/BUILD | 2 - pkg/security/podsecuritypolicy/group/BUILD | 2 - pkg/security/podsecuritypolicy/user/BUILD | 2 - pkg/security/podsecuritypolicy/util/BUILD | 1 - pkg/securitycontext/BUILD | 6 +- .../security/podsecuritypolicy/BUILD | 1 - .../admission/securitycontext/scdeny/BUILD | 1 - .../src/k8s.io/apimachinery/pkg/types/BUILD | 1 - .../apimachinery/pkg/util/validation/BUILD | 2 - .../client-go/pkg/api/v1/generated.pb.go | 1414 ++++++++--------- .../client-go/pkg/api/v1/types.generated.go | 169 +- .../pkg/api/v1/zz_generated.conversion.go | 16 +- .../pkg/api/v1/zz_generated.deepcopy.go | 8 +- .../pkg/api/zz_generated.deepcopy.go | 8 +- .../client-go/pkg/apis/extensions/BUILD | 1 - test/e2e/common/BUILD | 1 - 32 files changed, 1500 insertions(+), 1877 deletions(-) diff --git a/docs/api-reference/apps/v1beta1/definitions.html b/docs/api-reference/apps/v1beta1/definitions.html index 5c1bddd7cfc..69f90e1a499 100755 --- a/docs/api-reference/apps/v1beta1/definitions.html +++ b/docs/api-reference/apps/v1beta1/definitions.html @@ -4426,10 +4426,6 @@ Examples:
- -
-

types.UnixUserID

-

v1.PhotonPersistentDiskVolumeSource

@@ -4843,10 +4839,6 @@ Examples:
-
-
-

types.UnixGroupID

-

v1beta1.DeploymentRollback

@@ -5541,7 +5533,7 @@ Examples:

runAsUser

The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container.

false

-

types.UnixUserID

+

integer (int64)

@@ -5555,7 +5547,7 @@ Examples:

supplementalGroups

A list of groups applied to the first process run in each container, in addition to the container’s primary GID. If unspecified, no groups will be added to any container.

false

-

types.UnixGroupID array

+

integer (int32) array

@@ -5564,7 +5556,7 @@ Examples:

1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR’d with rw-rw

false

-

types.UnixGroupID

+

integer (int64)

@@ -6000,7 +5992,7 @@ Examples:

runAsUser

The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.

false

-

types.UnixUserID

+

integer (int64)

diff --git a/docs/api-reference/batch/v1/definitions.html b/docs/api-reference/batch/v1/definitions.html index a8918dace4f..0229b3801bc 100755 --- a/docs/api-reference/batch/v1/definitions.html +++ b/docs/api-reference/batch/v1/definitions.html @@ -1483,10 +1483,6 @@ When an object is created, the system will populate this list with the current s -
-
-

types.UID

-

v1.AzureFileVolumeSource

@@ -1535,6 +1531,10 @@ When an object is created, the system will populate this list with the current s +
+
+

types.UID

+

v1.ISCSIVolumeSource

@@ -3672,10 +3672,6 @@ Examples:
-
-
-

types.UnixUserID

-

v1.PhotonPersistentDiskVolumeSource

@@ -3986,10 +3982,6 @@ Examples:
-
-
-

types.UnixGroupID

-

v1.HTTPHeader

@@ -4505,7 +4497,7 @@ Examples:

runAsUser

The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container.

false

-

types.UnixUserID

+

integer (int64)

@@ -4519,7 +4511,7 @@ Examples:

supplementalGroups

A list of groups applied to the first process run in each container, in addition to the container’s primary GID. If unspecified, no groups will be added to any container.

false

-

types.UnixGroupID array

+

integer (int32) array

@@ -4528,7 +4520,7 @@ Examples:

1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR’d with rw-rw

false

-

types.UnixGroupID

+

integer (int64)

@@ -4978,7 +4970,7 @@ Examples:

runAsUser

The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.

false

-

types.UnixUserID

+

integer (int64)

diff --git a/docs/api-reference/batch/v2alpha1/definitions.html b/docs/api-reference/batch/v2alpha1/definitions.html index d6efc1b8e3e..b754159be10 100755 --- a/docs/api-reference/batch/v2alpha1/definitions.html +++ b/docs/api-reference/batch/v2alpha1/definitions.html @@ -3679,10 +3679,6 @@ Examples:
-
-
-

types.UnixUserID

-

v1.PhotonPersistentDiskVolumeSource

@@ -3993,10 +3989,6 @@ Examples:
-
-
-

types.UnixGroupID

-

v1.HTTPHeader

@@ -4512,7 +4504,7 @@ Examples:

runAsUser

The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container.

false

-

types.UnixUserID

+

integer (int64)

@@ -4526,7 +4518,7 @@ Examples:

supplementalGroups

A list of groups applied to the first process run in each container, in addition to the container’s primary GID. If unspecified, no groups will be added to any container.

false

-

types.UnixGroupID array

+

integer (int32) array

@@ -4535,7 +4527,7 @@ Examples:

1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR’d with rw-rw

false

-

types.UnixGroupID

+

integer (int64)

@@ -4916,7 +4908,7 @@ Examples:

runAsUser

The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.

false

-

types.UnixUserID

+

integer (int64)

diff --git a/docs/api-reference/extensions/v1beta1/definitions.html b/docs/api-reference/extensions/v1beta1/definitions.html index 6e89ba19e49..9dcfa797e2d 100755 --- a/docs/api-reference/extensions/v1beta1/definitions.html +++ b/docs/api-reference/extensions/v1beta1/definitions.html @@ -5094,10 +5094,6 @@ Examples:
-
-
-

types.UnixUserID

-

v1.PhotonPersistentDiskVolumeSource

@@ -5608,10 +5604,6 @@ Examples:
-
-
-

types.UnixGroupID

-

v1beta1.DeploymentRollback

@@ -6410,7 +6402,7 @@ Both these may change in the future. Incoming requests are matched against the h

runAsUser

The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container.

false

-

types.UnixUserID

+

integer (int64)

@@ -6424,7 +6416,7 @@ Both these may change in the future. Incoming requests are matched against the h

supplementalGroups

A list of groups applied to the first process run in each container, in addition to the container’s primary GID. If unspecified, no groups will be added to any container.

false

-

types.UnixGroupID array

+

integer (int32) array

@@ -6433,7 +6425,7 @@ Both these may change in the future. Incoming requests are matched against the h
1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR’d with rw-rw

false

-

types.UnixGroupID

+

integer (int64)

@@ -7048,7 +7040,7 @@ Both these may change in the future. Incoming requests are matched against the h

runAsUser

The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.

false

-

types.UnixUserID

+

integer (int64)

diff --git a/docs/api-reference/v1/definitions.html b/docs/api-reference/v1/definitions.html index ee7015002b3..690f1cd411d 100755 --- a/docs/api-reference/v1/definitions.html +++ b/docs/api-reference/v1/definitions.html @@ -6213,10 +6213,6 @@ Examples:
-
-
-

types.UnixUserID

-

v1.PhotonPersistentDiskVolumeSource

@@ -6616,10 +6612,6 @@ Examples:
-
-
-

types.UnixGroupID

-

v1.HTTPHeader

@@ -7272,7 +7264,7 @@ Examples:

runAsUser

The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container.

false

-

types.UnixUserID

+

integer (int64)

@@ -7286,7 +7278,7 @@ Examples:

supplementalGroups

A list of groups applied to the first process run in each container, in addition to the container’s primary GID. If unspecified, no groups will be added to any container.

false

-

types.UnixGroupID array

+

integer (int32) array

@@ -7295,7 +7287,7 @@ Examples:

1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR’d with rw-rw

false

-

types.UnixGroupID

+

integer (int64)

@@ -8343,7 +8335,7 @@ Examples:

runAsUser

The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.

false

-

types.UnixUserID

+

integer (int64)

diff --git a/federation/apis/swagger-spec/extensions_v1beta1.json b/federation/apis/swagger-spec/extensions_v1beta1.json index 0631b3b9c2a..91f2ff89ec5 100644 --- a/federation/apis/swagger-spec/extensions_v1beta1.json +++ b/federation/apis/swagger-spec/extensions_v1beta1.json @@ -6536,7 +6536,8 @@ "description": "The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence." }, "runAsUser": { - "$ref": "types.UnixUserID", + "type": "integer", + "format": "int64", "description": "The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence." }, "runAsNonRoot": { @@ -6595,10 +6596,6 @@ } } }, - "types.UnixUserID": { - "id": "types.UnixUserID", - "properties": {} - }, "v1.PodSecurityContext": { "id": "v1.PodSecurityContext", "description": "PodSecurityContext holds pod-level security attributes and common container settings. Some fields are also present in container.securityContext. Field values of container.securityContext take precedence over field values of PodSecurityContext.", @@ -6608,7 +6605,8 @@ "description": "The SELinux context to be applied to all containers. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container." }, "runAsUser": { - "$ref": "types.UnixUserID", + "type": "integer", + "format": "int64", "description": "The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container." }, "runAsNonRoot": { @@ -6618,20 +6616,17 @@ "supplementalGroups": { "type": "array", "items": { - "$ref": "types.UnixGroupID" + "type": "integer" }, "description": "A list of groups applied to the first process run in each container, in addition to the container's primary GID. If unspecified, no groups will be added to any container." }, "fsGroup": { - "$ref": "types.UnixGroupID", + "type": "integer", + "format": "int64", "description": "A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod:\n\n1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw " } } }, - "types.UnixGroupID": { - "id": "types.UnixGroupID", - "properties": {} - }, "v1.Affinity": { "id": "v1.Affinity", "description": "Affinity is a group of affinity scheduling rules.", diff --git a/federation/docs/api-reference/extensions/v1beta1/definitions.html b/federation/docs/api-reference/extensions/v1beta1/definitions.html index bb6bfef75a8..924cac33e59 100755 --- a/federation/docs/api-reference/extensions/v1beta1/definitions.html +++ b/federation/docs/api-reference/extensions/v1beta1/definitions.html @@ -4713,10 +4713,6 @@ Examples:
-
-
-

types.UnixUserID

-

v1.PhotonPersistentDiskVolumeSource

@@ -5130,10 +5126,6 @@ Examples:
-
-
-

types.UnixGroupID

-

v1beta1.DeploymentRollback

@@ -5832,7 +5824,7 @@ Both these may change in the future. Incoming requests are matched against the h

runAsUser

The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container.

false

-

types.UnixUserID

+

integer (int64)

@@ -5846,7 +5838,7 @@ Both these may change in the future. Incoming requests are matched against the h

supplementalGroups

A list of groups applied to the first process run in each container, in addition to the container’s primary GID. If unspecified, no groups will be added to any container.

false

-

types.UnixGroupID array

+

integer (int32) array

@@ -5855,7 +5847,7 @@ Both these may change in the future. Incoming requests are matched against the h
1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR’d with rw-rw

false

-

types.UnixGroupID

+

integer (int64)

@@ -6429,7 +6421,7 @@ Both these may change in the future. Incoming requests are matched against the h

runAsUser

The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.

false

-

types.UnixUserID

+

integer (int64)

diff --git a/pkg/api/v1/generated.pb.go b/pkg/api/v1/generated.pb.go index 03199cc6730..f195f882625 100644 --- a/pkg/api/v1/generated.pb.go +++ b/pkg/api/v1/generated.pb.go @@ -33491,7 +33491,7 @@ func (m *PodSecurityContext) Unmarshal(dAtA []byte) error { if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field RunAsUser", wireType) } - var v k8s_io_apimachinery_pkg_types.UnixUserID + var v int64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowGenerated @@ -33501,7 +33501,7 @@ func (m *PodSecurityContext) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (k8s_io_apimachinery_pkg_types.UnixUserID(b) & 0x7F) << shift + v |= (int64(b) & 0x7F) << shift if b < 0x80 { break } @@ -33530,7 +33530,7 @@ func (m *PodSecurityContext) Unmarshal(dAtA []byte) error { m.RunAsNonRoot = &b case 4: if wireType == 0 { - var v k8s_io_apimachinery_pkg_types.UnixGroupID + var v int64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowGenerated @@ -33540,7 +33540,7 @@ func (m *PodSecurityContext) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (k8s_io_apimachinery_pkg_types.UnixGroupID(b) & 0x7F) << shift + v |= (int64(b) & 0x7F) << shift if b < 0x80 { break } @@ -33570,7 +33570,7 @@ func (m *PodSecurityContext) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } for iNdEx < postIndex { - var v k8s_io_apimachinery_pkg_types.UnixGroupID + var v int64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowGenerated @@ -33580,7 +33580,7 @@ func (m *PodSecurityContext) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (k8s_io_apimachinery_pkg_types.UnixGroupID(b) & 0x7F) << shift + v |= (int64(b) & 0x7F) << shift if b < 0x80 { break } @@ -33594,7 +33594,7 @@ func (m *PodSecurityContext) Unmarshal(dAtA []byte) error { if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field FSGroup", wireType) } - var v k8s_io_apimachinery_pkg_types.UnixGroupID + var v int64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowGenerated @@ -33604,7 +33604,7 @@ func (m *PodSecurityContext) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (k8s_io_apimachinery_pkg_types.UnixGroupID(b) & 0x7F) << shift + v |= (int64(b) & 0x7F) << shift if b < 0x80 { break } @@ -40243,7 +40243,7 @@ func (m *SecurityContext) Unmarshal(dAtA []byte) error { if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field RunAsUser", wireType) } - var v k8s_io_apimachinery_pkg_types.UnixUserID + var v int64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowGenerated @@ -40253,7 +40253,7 @@ func (m *SecurityContext) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (k8s_io_apimachinery_pkg_types.UnixUserID(b) & 0x7F) << shift + v |= (int64(b) & 0x7F) << shift if b < 0x80 { break } @@ -44391,722 +44391,720 @@ func init() { } var fileDescriptorGenerated = []byte{ - // 11467 bytes of a gzipped FileDescriptorProto + // 11433 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x7d, 0x6d, 0x8c, 0x24, 0xc7, 0x75, 0x98, 0x7a, 0x66, 0xf6, 0x63, 0xde, 0x7e, 0xd7, 0xed, 0x1d, 0x97, 0x2b, 0xf2, 0xf6, 0xd8, - 0x14, 0xe9, 0x23, 0x79, 0xdc, 0xd3, 0x1d, 0x49, 0xf1, 0x24, 0xca, 0xb4, 0x76, 0x77, 0x76, 0xef, - 0xd6, 0xf7, 0x35, 0xac, 0xd9, 0xbb, 0xa3, 0x28, 0x46, 0x64, 0xdf, 0x74, 0xed, 0x6e, 0xf3, 0x66, - 0xbb, 0x87, 0xdd, 0x3d, 0x7b, 0xb7, 0x34, 0x0c, 0xd8, 0x8a, 0x60, 0x2b, 0x80, 0x92, 0xc8, 0x70, - 0x04, 0x04, 0x4e, 0x00, 0x05, 0x06, 0xe2, 0x28, 0xdf, 0x56, 0x04, 0x7d, 0x18, 0x96, 0x13, 0xc4, - 0xb1, 0x1c, 0x39, 0x48, 0x1c, 0x03, 0x46, 0x6c, 0x05, 0x86, 0xd7, 0xd6, 0x0a, 0xf1, 0xbf, 0x04, - 0x41, 0xf2, 0x6f, 0xf3, 0x81, 0xa0, 0x3e, 0xbb, 0xaa, 0xa7, 0x67, 0xbb, 0x67, 0x79, 0xbb, 0xa6, - 0x84, 0xfc, 0x9b, 0xa9, 0xf7, 0xea, 0x55, 0x75, 0x7d, 0xbc, 0x7a, 0xef, 0xd5, 0x7b, 0xaf, 0xe0, - 0xdc, 0xbd, 0x4b, 0xd1, 0xbc, 0x17, 0x9c, 0xbf, 0xd7, 0xb9, 0x4b, 0x42, 0x9f, 0xc4, 0x24, 0x3a, - 0xdf, 0xbe, 0xb7, 0x71, 0xde, 0x69, 0x7b, 0xe7, 0xb7, 0x2f, 0x9c, 0xdf, 0x20, 0x3e, 0x09, 0x9d, - 0x98, 0xb8, 0xf3, 0xed, 0x30, 0x88, 0x03, 0xf4, 0x18, 0xc7, 0x9e, 0x4f, 0xb0, 0xe7, 0xdb, 0xf7, - 0x36, 0xe6, 0x9d, 0xb6, 0x37, 0xbf, 0x7d, 0x61, 0xf6, 0xf9, 0x0d, 0x2f, 0xde, 0xec, 0xdc, 0x9d, - 0x6f, 0x06, 0x5b, 0xe7, 0x37, 0x82, 0x8d, 0xe0, 0x3c, 0xab, 0x74, 0xb7, 0xb3, 0xce, 0xfe, 0xb1, - 0x3f, 0xec, 0x17, 0x27, 0x36, 0xfb, 0xa2, 0x68, 0xda, 0x69, 0x7b, 0x5b, 0x4e, 0x73, 0xd3, 0xf3, + 0x14, 0xe9, 0x23, 0x79, 0xdc, 0xd3, 0x1d, 0x49, 0x91, 0x12, 0x65, 0x5a, 0xbb, 0x3b, 0xbb, 0x77, + 0xeb, 0xfb, 0x1a, 0xd6, 0xec, 0xdd, 0x51, 0x14, 0x23, 0xb2, 0x6f, 0xba, 0x76, 0xb7, 0x79, 0xb3, + 0xdd, 0xc3, 0xee, 0x9e, 0xbd, 0x5b, 0x1a, 0x02, 0x6c, 0x45, 0x90, 0x14, 0x40, 0x49, 0x64, 0x38, + 0x02, 0x02, 0x27, 0x80, 0x02, 0x03, 0x71, 0x94, 0x6f, 0x2b, 0x82, 0x3e, 0x0c, 0xcb, 0x09, 0xe2, + 0x48, 0x8e, 0x1c, 0x24, 0x8e, 0x00, 0x23, 0xb1, 0x02, 0xc3, 0x6b, 0x6b, 0x85, 0xf8, 0x5f, 0xf2, + 0x23, 0xf9, 0xb7, 0xf9, 0x40, 0x50, 0x9f, 0x5d, 0xd5, 0xd3, 0xb3, 0xdd, 0xb3, 0xbc, 0x5d, 0x53, + 0x42, 0xfe, 0xcd, 0xd4, 0x7b, 0xf5, 0xaa, 0xba, 0x3e, 0x5e, 0xbd, 0xf7, 0xea, 0xbd, 0x57, 0x70, + 0xee, 0xee, 0x4b, 0xd1, 0xbc, 0x17, 0x9c, 0xbf, 0xdb, 0xb9, 0x43, 0x42, 0x9f, 0xc4, 0x24, 0x3a, + 0xdf, 0xbe, 0xbb, 0x71, 0xde, 0x69, 0x7b, 0xe7, 0xb7, 0x2f, 0x9c, 0xdf, 0x20, 0x3e, 0x09, 0x9d, + 0x98, 0xb8, 0xf3, 0xed, 0x30, 0x88, 0x03, 0xf4, 0x08, 0xc7, 0x9e, 0x4f, 0xb0, 0xe7, 0xdb, 0x77, + 0x37, 0xe6, 0x9d, 0xb6, 0x37, 0xbf, 0x7d, 0x61, 0xf6, 0xd9, 0x0d, 0x2f, 0xde, 0xec, 0xdc, 0x99, + 0x6f, 0x06, 0x5b, 0xe7, 0x37, 0x82, 0x8d, 0xe0, 0x3c, 0xab, 0x74, 0xa7, 0xb3, 0xce, 0xfe, 0xb1, + 0x3f, 0xec, 0x17, 0x27, 0x36, 0xfb, 0xbc, 0x68, 0xda, 0x69, 0x7b, 0x5b, 0x4e, 0x73, 0xd3, 0xf3, 0x49, 0xb8, 0xa3, 0x1a, 0x0f, 0x49, 0x14, 0x74, 0xc2, 0x26, 0x49, 0x77, 0xe1, 0xc0, 0x5a, 0xd1, 0xf9, 0x2d, 0x12, 0x3b, 0x19, 0x1d, 0x9f, 0x3d, 0xdf, 0xab, 0x56, 0xd8, 0xf1, 0x63, 0x6f, 0xab, - 0xbb, 0x99, 0x8f, 0xe5, 0x55, 0x88, 0x9a, 0x9b, 0x64, 0xcb, 0xe9, 0xaa, 0xf7, 0x42, 0xaf, 0x7a, + 0xbb, 0x99, 0x8f, 0xe4, 0x55, 0x88, 0x9a, 0x9b, 0x64, 0xcb, 0xe9, 0xaa, 0xf7, 0x5c, 0xaf, 0x7a, 0x9d, 0xd8, 0x6b, 0x9d, 0xf7, 0xfc, 0x38, 0x8a, 0xc3, 0x74, 0x25, 0xfb, 0x8f, 0x2d, 0x38, 0xb3, - 0x70, 0xa7, 0xb1, 0xdc, 0x72, 0xa2, 0xd8, 0x6b, 0x2e, 0xb6, 0x82, 0xe6, 0xbd, 0x46, 0x1c, 0x84, - 0xe4, 0x76, 0xd0, 0xea, 0x6c, 0x91, 0x06, 0x1b, 0x08, 0x74, 0x0e, 0x86, 0xb7, 0xd9, 0xff, 0xd5, - 0xda, 0x8c, 0x75, 0xc6, 0x3a, 0x5b, 0x5d, 0x9c, 0xfc, 0xde, 0xee, 0xdc, 0x87, 0xf6, 0x76, 0xe7, - 0x86, 0x6f, 0x8b, 0x72, 0xac, 0x30, 0xd0, 0xd3, 0x30, 0xb8, 0x1e, 0xad, 0xed, 0xb4, 0xc9, 0x4c, + 0x70, 0xbb, 0xb1, 0xdc, 0x72, 0xa2, 0xd8, 0x6b, 0x2e, 0xb6, 0x82, 0xe6, 0xdd, 0x46, 0x1c, 0x84, + 0xe4, 0x56, 0xd0, 0xea, 0x6c, 0x91, 0x06, 0x1b, 0x08, 0x74, 0x0e, 0x86, 0xb7, 0xd9, 0xff, 0xd5, + 0xda, 0x8c, 0x75, 0xc6, 0x3a, 0x5b, 0x5d, 0x9c, 0xfc, 0xc1, 0xee, 0xdc, 0x07, 0xf6, 0x76, 0xe7, + 0x86, 0x6f, 0x89, 0x72, 0xac, 0x30, 0xd0, 0x93, 0x30, 0xb8, 0x1e, 0xad, 0xed, 0xb4, 0xc9, 0x4c, 0x89, 0xe1, 0x8e, 0x0b, 0xdc, 0xc1, 0x95, 0x06, 0x2d, 0xc5, 0x02, 0x8a, 0xce, 0x43, 0xb5, 0xed, 0x84, 0xb1, 0x17, 0x7b, 0x81, 0x3f, 0x53, 0x3e, 0x63, 0x9d, 0x1d, 0x58, 0x9c, 0x12, 0xa8, 0xd5, - 0xba, 0x04, 0xe0, 0x04, 0x87, 0x76, 0x23, 0x24, 0x8e, 0x7b, 0xd3, 0x6f, 0xed, 0xcc, 0x54, 0xce, - 0x58, 0x67, 0x87, 0x93, 0x6e, 0x60, 0x51, 0x8e, 0x15, 0x86, 0xfd, 0xed, 0x12, 0x0c, 0x2f, 0xac, - 0xaf, 0x7b, 0xbe, 0x17, 0xef, 0xa0, 0xb7, 0x61, 0xd4, 0x0f, 0x5c, 0x22, 0xff, 0xb3, 0xaf, 0x18, - 0xb9, 0xf8, 0xec, 0xfc, 0x41, 0x8b, 0x6a, 0xfe, 0x86, 0x56, 0x63, 0x71, 0x72, 0x6f, 0x77, 0x6e, - 0x54, 0x2f, 0xc1, 0x06, 0x45, 0xf4, 0x26, 0x8c, 0xb4, 0x03, 0x57, 0x35, 0x50, 0x62, 0x0d, 0x3c, - 0x73, 0x70, 0x03, 0xf5, 0xa4, 0xc2, 0xe2, 0xc4, 0xde, 0xee, 0xdc, 0x88, 0x56, 0x80, 0x75, 0x72, - 0xa8, 0x05, 0x13, 0xf4, 0xaf, 0x1f, 0x7b, 0xaa, 0x85, 0x32, 0x6b, 0xe1, 0xf9, 0xfc, 0x16, 0xb4, - 0x4a, 0x8b, 0x27, 0xf6, 0x76, 0xe7, 0x26, 0x52, 0x85, 0x38, 0x4d, 0xda, 0x7e, 0x0f, 0xc6, 0x17, - 0xe2, 0xd8, 0x69, 0x6e, 0x12, 0x97, 0xcf, 0x2f, 0x7a, 0x11, 0x2a, 0xbe, 0xb3, 0x45, 0xc4, 0xec, - 0x9f, 0x11, 0xc3, 0x5e, 0xb9, 0xe1, 0x6c, 0x91, 0xfd, 0xdd, 0xb9, 0xc9, 0x5b, 0xbe, 0xf7, 0x6e, + 0xba, 0x04, 0xe0, 0x04, 0x87, 0x76, 0x23, 0x24, 0x8e, 0x7b, 0xc3, 0x6f, 0xed, 0xcc, 0x54, 0xce, + 0x58, 0x67, 0x87, 0x93, 0x6e, 0x60, 0x51, 0x8e, 0x15, 0x86, 0xfd, 0x9d, 0x12, 0x0c, 0x2f, 0xac, + 0xaf, 0x7b, 0xbe, 0x17, 0xef, 0xa0, 0xb7, 0x60, 0xd4, 0x0f, 0x5c, 0x22, 0xff, 0xb3, 0xaf, 0x18, + 0xb9, 0xf8, 0xf4, 0xfc, 0x41, 0x8b, 0x6a, 0xfe, 0xba, 0x56, 0x63, 0x71, 0x72, 0x6f, 0x77, 0x6e, + 0x54, 0x2f, 0xc1, 0x06, 0x45, 0xf4, 0x06, 0x8c, 0xb4, 0x03, 0x57, 0x35, 0x50, 0x62, 0x0d, 0x3c, + 0x75, 0x70, 0x03, 0xf5, 0xa4, 0xc2, 0xe2, 0xc4, 0xde, 0xee, 0xdc, 0x88, 0x56, 0x80, 0x75, 0x72, + 0xa8, 0x05, 0x13, 0xf4, 0xaf, 0x1f, 0x7b, 0xaa, 0x85, 0x32, 0x6b, 0xe1, 0xd9, 0xfc, 0x16, 0xb4, + 0x4a, 0x8b, 0x27, 0xf6, 0x76, 0xe7, 0x26, 0x52, 0x85, 0x38, 0x4d, 0xda, 0x7e, 0x17, 0xc6, 0x17, + 0xe2, 0xd8, 0x69, 0x6e, 0x12, 0x97, 0xcf, 0x2f, 0x7a, 0x1e, 0x2a, 0xbe, 0xb3, 0x45, 0xc4, 0xec, + 0x9f, 0x11, 0xc3, 0x5e, 0xb9, 0xee, 0x6c, 0x91, 0xfd, 0xdd, 0xb9, 0xc9, 0x9b, 0xbe, 0xf7, 0x4e, 0x47, 0xac, 0x19, 0x5a, 0x86, 0x19, 0x36, 0xba, 0x08, 0xe0, 0x92, 0x6d, 0xaf, 0x49, 0xea, 0x4e, - 0xbc, 0x29, 0x56, 0x03, 0x12, 0x75, 0xa1, 0xa6, 0x20, 0x58, 0xc3, 0xb2, 0x3f, 0x67, 0x41, 0x75, + 0xbc, 0x29, 0x56, 0x03, 0x12, 0x75, 0xa1, 0xa6, 0x20, 0x58, 0xc3, 0xb2, 0x3f, 0x6b, 0x41, 0x75, 0x61, 0x3b, 0xf0, 0xdc, 0x7a, 0xe0, 0x46, 0xa8, 0x03, 0x13, 0xed, 0x90, 0xac, 0x93, 0x50, 0x15, 0xcd, 0x58, 0x67, 0xca, 0x67, 0x47, 0x2e, 0x5e, 0xcc, 0xf9, 0x6e, 0xb3, 0xd2, 0xb2, 0x1f, 0x87, - 0x3b, 0x8b, 0x8f, 0x88, 0xa6, 0x27, 0x52, 0x50, 0x9c, 0x6e, 0xc3, 0xfe, 0x9d, 0x12, 0x9c, 0x5c, - 0x78, 0xaf, 0x13, 0x92, 0x9a, 0x17, 0xdd, 0x4b, 0x6f, 0x05, 0xd7, 0x8b, 0xee, 0xdd, 0x48, 0x06, - 0x43, 0xad, 0xc1, 0x9a, 0x28, 0xc7, 0x0a, 0x03, 0x3d, 0x0f, 0x43, 0xf4, 0xf7, 0x2d, 0xbc, 0x2a, - 0xbe, 0xfe, 0x84, 0x40, 0x1e, 0xa9, 0x39, 0xb1, 0x53, 0xe3, 0x20, 0x2c, 0x71, 0xd0, 0x75, 0x18, - 0x69, 0xb2, 0x9d, 0xbb, 0x71, 0x3d, 0x70, 0x09, 0x9b, 0xe1, 0xea, 0xe2, 0x73, 0x14, 0x7d, 0x29, - 0x29, 0xde, 0xdf, 0x9d, 0x9b, 0xe1, 0x7d, 0x13, 0x24, 0x34, 0x18, 0xd6, 0xeb, 0x23, 0x5b, 0x6d, - 0xc4, 0x0a, 0xa3, 0x04, 0x19, 0x9b, 0xf0, 0xac, 0xb6, 0xa7, 0x06, 0xd8, 0x9e, 0x1a, 0xcd, 0xde, - 0x4f, 0xe8, 0x02, 0x54, 0xee, 0x79, 0xbe, 0x3b, 0x33, 0xc8, 0x68, 0x3d, 0x4e, 0xa7, 0xff, 0xaa, - 0xe7, 0xbb, 0xfb, 0xbb, 0x73, 0x53, 0x46, 0x77, 0x68, 0x21, 0x66, 0xa8, 0xf6, 0x3f, 0xb2, 0xc4, - 0x30, 0xae, 0x78, 0x2d, 0x93, 0xa3, 0x5c, 0x04, 0x88, 0x48, 0x33, 0x24, 0xb1, 0x36, 0x90, 0x6a, - 0x65, 0x34, 0x14, 0x04, 0x6b, 0x58, 0x94, 0x5f, 0x44, 0x9b, 0x4e, 0xc8, 0x16, 0x98, 0x18, 0x4e, - 0xc5, 0x2f, 0x1a, 0x12, 0x80, 0x13, 0x1c, 0x83, 0x5f, 0x94, 0x73, 0xf9, 0xc5, 0x6f, 0x5b, 0x30, - 0xb4, 0xe8, 0xf9, 0xae, 0xe7, 0x6f, 0xa0, 0xb7, 0x61, 0x98, 0xb2, 0x73, 0xd7, 0x89, 0x1d, 0xc1, - 0x2a, 0x3e, 0x2a, 0xd7, 0x9b, 0xce, 0x5d, 0xe5, 0x8a, 0x8b, 0xe6, 0x29, 0x36, 0x5d, 0x77, 0x37, - 0xef, 0xbe, 0x43, 0x9a, 0xf1, 0x75, 0x12, 0x3b, 0xc9, 0xe7, 0x24, 0x65, 0x58, 0x51, 0x45, 0xb7, - 0x60, 0x30, 0x76, 0xc2, 0x0d, 0x12, 0x0b, 0x4e, 0x91, 0xb3, 0x8f, 0x39, 0x0d, 0x4c, 0x57, 0x29, - 0xf1, 0x9b, 0x24, 0xe1, 0xa9, 0x6b, 0x8c, 0x08, 0x16, 0xc4, 0xec, 0x26, 0x8c, 0x2e, 0x39, 0x6d, - 0xe7, 0xae, 0xd7, 0xf2, 0x62, 0x8f, 0x44, 0xe8, 0x27, 0xa0, 0xec, 0xb8, 0x2e, 0xdb, 0x33, 0xd5, - 0xc5, 0x93, 0x7b, 0xbb, 0x73, 0xe5, 0x05, 0x97, 0x4e, 0x19, 0x28, 0xac, 0x1d, 0x4c, 0x31, 0xd0, - 0xb3, 0x50, 0x71, 0xc3, 0xa0, 0x3d, 0x53, 0x62, 0x98, 0xa7, 0xe8, 0xec, 0xd6, 0xc2, 0xa0, 0x9d, - 0x42, 0x65, 0x38, 0xf6, 0x77, 0x4b, 0x80, 0x96, 0x48, 0x7b, 0x73, 0xa5, 0x61, 0xcc, 0xe9, 0x59, - 0x18, 0xde, 0x0a, 0x7c, 0x2f, 0x0e, 0xc2, 0x48, 0x34, 0xc8, 0x96, 0xd2, 0x75, 0x51, 0x86, 0x15, - 0x14, 0x9d, 0x81, 0x4a, 0x3b, 0xe1, 0x08, 0xa3, 0x92, 0x9b, 0x30, 0x5e, 0xc0, 0x20, 0x14, 0xa3, - 0x13, 0x91, 0x50, 0x6c, 0x01, 0x85, 0x71, 0x2b, 0x22, 0x21, 0x66, 0x90, 0x64, 0x05, 0xd1, 0xb5, - 0x25, 0x16, 0x78, 0x6a, 0x05, 0x51, 0x08, 0xd6, 0xb0, 0xd0, 0x5b, 0x50, 0xe5, 0xff, 0x30, 0x59, - 0x67, 0xab, 0x3d, 0x97, 0x8f, 0x5c, 0x0b, 0x9a, 0x4e, 0x2b, 0x3d, 0xf8, 0x63, 0x6c, 0xc5, 0x49, - 0x42, 0x38, 0xa1, 0x69, 0xac, 0xb8, 0xc1, 0xdc, 0x15, 0xf7, 0xb7, 0x2d, 0x40, 0x4b, 0x9e, 0xef, - 0x92, 0xf0, 0x18, 0x4e, 0xdb, 0xfe, 0x36, 0xc3, 0x9f, 0xd0, 0xae, 0x05, 0x5b, 0xed, 0xc0, 0x27, - 0x7e, 0xbc, 0x14, 0xf8, 0x2e, 0x3f, 0x81, 0x3f, 0x01, 0x95, 0x98, 0x36, 0xc5, 0xbb, 0xf5, 0xb4, - 0x9c, 0x16, 0xda, 0xc0, 0xfe, 0xee, 0xdc, 0xa9, 0xee, 0x1a, 0xac, 0x0b, 0xac, 0x0e, 0xfa, 0x38, - 0x0c, 0x46, 0xb1, 0x13, 0x77, 0x22, 0xd1, 0xd1, 0x27, 0x64, 0x47, 0x1b, 0xac, 0x74, 0x7f, 0x77, - 0x6e, 0x42, 0x55, 0xe3, 0x45, 0x58, 0x54, 0x40, 0xcf, 0xc0, 0xd0, 0x16, 0x89, 0x22, 0x67, 0x43, - 0xf2, 0xc4, 0x09, 0x51, 0x77, 0xe8, 0x3a, 0x2f, 0xc6, 0x12, 0x8e, 0x9e, 0x84, 0x01, 0x12, 0x86, - 0x41, 0x28, 0x56, 0xc4, 0x98, 0x40, 0x1c, 0x58, 0xa6, 0x85, 0x98, 0xc3, 0xec, 0xff, 0x6c, 0xc1, - 0x84, 0xea, 0x2b, 0x6f, 0xeb, 0x18, 0xb6, 0xbc, 0x0b, 0xd0, 0x94, 0x1f, 0x18, 0xb1, 0x8d, 0xa6, - 0xb5, 0x91, 0xbd, 0xfc, 0xba, 0x07, 0x34, 0x69, 0x43, 0x15, 0x45, 0x58, 0xa3, 0x6b, 0xff, 0x5b, - 0x0b, 0x4e, 0xa4, 0xbe, 0xed, 0x9a, 0x17, 0xc5, 0xe8, 0xcd, 0xae, 0xef, 0x9b, 0x2f, 0xf6, 0x7d, - 0xb4, 0x36, 0xfb, 0x3a, 0xb5, 0x5e, 0x64, 0x89, 0xf6, 0x6d, 0x18, 0x06, 0xbc, 0x98, 0x6c, 0xc9, - 0xcf, 0x7a, 0xbe, 0xe0, 0x67, 0xf1, 0xfe, 0x25, 0xb3, 0xb4, 0x4a, 0x69, 0x60, 0x4e, 0xca, 0xfe, - 0x5f, 0x16, 0x54, 0x97, 0x02, 0x7f, 0xdd, 0xdb, 0xb8, 0xee, 0xb4, 0x8f, 0x61, 0x7e, 0x1a, 0x50, - 0x61, 0xd4, 0xf9, 0x27, 0x5c, 0xc8, 0xfb, 0x04, 0xd1, 0xb1, 0x79, 0x7a, 0xee, 0x71, 0xf9, 0x42, - 0xb1, 0x29, 0x5a, 0x84, 0x19, 0xb1, 0xd9, 0x97, 0xa1, 0xaa, 0x10, 0xd0, 0x24, 0x94, 0xef, 0x11, - 0x2e, 0x7c, 0x56, 0x31, 0xfd, 0x89, 0xa6, 0x61, 0x60, 0xdb, 0x69, 0x75, 0xc4, 0xe6, 0xc5, 0xfc, - 0xcf, 0x27, 0x4a, 0x97, 0x2c, 0xfb, 0xbb, 0x6c, 0x07, 0x8a, 0x46, 0x96, 0xfd, 0x6d, 0xc1, 0x1c, - 0x3e, 0x6f, 0xc1, 0x74, 0x2b, 0x83, 0x29, 0x89, 0x31, 0x39, 0x0c, 0x3b, 0x7b, 0x4c, 0x74, 0x7b, + 0x3b, 0x8b, 0x0f, 0x89, 0xa6, 0x27, 0x52, 0x50, 0x9c, 0x6e, 0xc3, 0xfe, 0x5e, 0x09, 0x4e, 0x2e, + 0xbc, 0xdb, 0x09, 0x49, 0xcd, 0x8b, 0xee, 0xa6, 0xb7, 0x82, 0xeb, 0x45, 0x77, 0xaf, 0x27, 0x83, + 0xa1, 0xd6, 0x60, 0x4d, 0x94, 0x63, 0x85, 0x81, 0x9e, 0x85, 0x21, 0xfa, 0xfb, 0x26, 0x5e, 0x15, + 0x5f, 0x7f, 0x42, 0x20, 0x8f, 0xd4, 0x9c, 0xd8, 0xa9, 0x71, 0x10, 0x96, 0x38, 0xe8, 0x1a, 0x8c, + 0x34, 0xd9, 0xce, 0xdd, 0xb8, 0x16, 0xb8, 0x84, 0xcd, 0x70, 0x75, 0xf1, 0x19, 0x8a, 0xbe, 0x94, + 0x14, 0xef, 0xef, 0xce, 0xcd, 0xf0, 0xbe, 0x09, 0x12, 0x1a, 0x0c, 0xeb, 0xf5, 0x91, 0xad, 0x36, + 0x62, 0x85, 0x51, 0x82, 0x8c, 0x4d, 0x78, 0x56, 0xdb, 0x53, 0x03, 0x6c, 0x4f, 0x8d, 0x66, 0xef, + 0x27, 0x74, 0x01, 0x2a, 0x77, 0x3d, 0xdf, 0x9d, 0x19, 0x64, 0xb4, 0x1e, 0xa5, 0xd3, 0x7f, 0xc5, + 0xf3, 0xdd, 0xfd, 0xdd, 0xb9, 0x29, 0xa3, 0x3b, 0xb4, 0x10, 0x33, 0x54, 0xfb, 0x1f, 0x59, 0x62, + 0x18, 0x57, 0xbc, 0x96, 0xc9, 0x51, 0x2e, 0x02, 0x44, 0xa4, 0x19, 0x92, 0x58, 0x1b, 0x48, 0xb5, + 0x32, 0x1a, 0x0a, 0x82, 0x35, 0x2c, 0xca, 0x2f, 0xa2, 0x4d, 0x27, 0x64, 0x0b, 0x4c, 0x0c, 0xa7, + 0xe2, 0x17, 0x0d, 0x09, 0xc0, 0x09, 0x8e, 0xc1, 0x2f, 0xca, 0xb9, 0xfc, 0xe2, 0xf7, 0x2c, 0x18, + 0x5a, 0xf4, 0x7c, 0xd7, 0xf3, 0x37, 0xd0, 0x5b, 0x30, 0x4c, 0xd9, 0xb9, 0xeb, 0xc4, 0x8e, 0x60, + 0x15, 0x1f, 0x96, 0xeb, 0x4d, 0xe7, 0xae, 0x72, 0xc5, 0x45, 0xf3, 0x14, 0x9b, 0xae, 0xbb, 0x1b, + 0x77, 0xde, 0x26, 0xcd, 0xf8, 0x1a, 0x89, 0x9d, 0xe4, 0x73, 0x92, 0x32, 0xac, 0xa8, 0xa2, 0x9b, + 0x30, 0x18, 0x3b, 0xe1, 0x06, 0x89, 0x05, 0xa7, 0xc8, 0xd9, 0xc7, 0x9c, 0x06, 0xa6, 0xab, 0x94, + 0xf8, 0x4d, 0x92, 0xf0, 0xd4, 0x35, 0x46, 0x04, 0x0b, 0x62, 0x76, 0x13, 0x46, 0x97, 0x9c, 0xb6, + 0x73, 0xc7, 0x6b, 0x79, 0xb1, 0x47, 0x22, 0xf4, 0x73, 0x50, 0x76, 0x5c, 0x97, 0xed, 0x99, 0xea, + 0xe2, 0xc9, 0xbd, 0xdd, 0xb9, 0xf2, 0x82, 0x4b, 0xa7, 0x0c, 0x14, 0xd6, 0x0e, 0xa6, 0x18, 0xe8, + 0x69, 0xa8, 0xb8, 0x61, 0xd0, 0x9e, 0x29, 0x31, 0xcc, 0x53, 0x74, 0x76, 0x6b, 0x61, 0xd0, 0x4e, + 0xa1, 0x32, 0x1c, 0xfb, 0xfb, 0x25, 0x40, 0x4b, 0xa4, 0xbd, 0xb9, 0xd2, 0x30, 0xe6, 0xf4, 0x2c, + 0x0c, 0x6f, 0x05, 0xbe, 0x17, 0x07, 0x61, 0x24, 0x1a, 0x64, 0x4b, 0xe9, 0x9a, 0x28, 0xc3, 0x0a, + 0x8a, 0xce, 0x40, 0xa5, 0x9d, 0x70, 0x84, 0x51, 0xc9, 0x4d, 0x18, 0x2f, 0x60, 0x10, 0x8a, 0xd1, + 0x89, 0x48, 0x28, 0xb6, 0x80, 0xc2, 0xb8, 0x19, 0x91, 0x10, 0x33, 0x48, 0xb2, 0x82, 0xe8, 0xda, + 0x12, 0x0b, 0x3c, 0xb5, 0x82, 0x28, 0x04, 0x6b, 0x58, 0xe8, 0x4d, 0xa8, 0xf2, 0x7f, 0x98, 0xac, + 0xb3, 0xd5, 0x9e, 0xcb, 0x47, 0xae, 0x06, 0x4d, 0xa7, 0x95, 0x1e, 0xfc, 0x31, 0xb6, 0xe2, 0x24, + 0x21, 0x9c, 0xd0, 0x34, 0x56, 0xdc, 0x60, 0xee, 0x8a, 0xfb, 0xdb, 0x16, 0xa0, 0x25, 0xcf, 0x77, + 0x49, 0x78, 0x0c, 0xa7, 0x6d, 0x7f, 0x9b, 0xe1, 0x4f, 0x68, 0xd7, 0x82, 0xad, 0x76, 0xe0, 0x13, + 0x3f, 0x5e, 0x0a, 0x7c, 0x97, 0x9f, 0xc0, 0x1f, 0x83, 0x4a, 0x4c, 0x9b, 0xe2, 0xdd, 0x7a, 0x52, + 0x4e, 0x0b, 0x6d, 0x60, 0x7f, 0x77, 0xee, 0x54, 0x77, 0x0d, 0xd6, 0x05, 0x56, 0x07, 0x7d, 0x14, + 0x06, 0xa3, 0xd8, 0x89, 0x3b, 0x91, 0xe8, 0xe8, 0x63, 0xb2, 0xa3, 0x0d, 0x56, 0xba, 0xbf, 0x3b, + 0x37, 0xa1, 0xaa, 0xf1, 0x22, 0x2c, 0x2a, 0xa0, 0xa7, 0x60, 0x68, 0x8b, 0x44, 0x91, 0xb3, 0x21, + 0x79, 0xe2, 0x84, 0xa8, 0x3b, 0x74, 0x8d, 0x17, 0x63, 0x09, 0x47, 0x8f, 0xc3, 0x00, 0x09, 0xc3, + 0x20, 0x14, 0x2b, 0x62, 0x4c, 0x20, 0x0e, 0x2c, 0xd3, 0x42, 0xcc, 0x61, 0xf6, 0x7f, 0xb1, 0x60, + 0x42, 0xf5, 0x95, 0xb7, 0x75, 0x0c, 0x5b, 0xde, 0x05, 0x68, 0xca, 0x0f, 0x8c, 0xd8, 0x46, 0xd3, + 0xda, 0xc8, 0x5e, 0x7e, 0xdd, 0x03, 0x9a, 0xb4, 0xa1, 0x8a, 0x22, 0xac, 0xd1, 0xb5, 0xff, 0xad, + 0x05, 0x27, 0x52, 0xdf, 0x76, 0xd5, 0x8b, 0x62, 0xf4, 0x46, 0xd7, 0xf7, 0xcd, 0x17, 0xfb, 0x3e, + 0x5a, 0x9b, 0x7d, 0x9d, 0x5a, 0x2f, 0xb2, 0x44, 0xfb, 0x36, 0x0c, 0x03, 0x5e, 0x4c, 0xb6, 0xe4, + 0x67, 0x3d, 0x5b, 0xf0, 0xb3, 0x78, 0xff, 0x92, 0x59, 0x5a, 0xa5, 0x34, 0x30, 0x27, 0x65, 0xff, + 0x2f, 0x0b, 0xaa, 0x4b, 0x81, 0xbf, 0xee, 0x6d, 0x5c, 0x73, 0xda, 0xc7, 0x30, 0x3f, 0x0d, 0xa8, + 0x30, 0xea, 0xfc, 0x13, 0x2e, 0xe4, 0x7d, 0x82, 0xe8, 0xd8, 0x3c, 0x3d, 0xf7, 0xb8, 0x7c, 0xa1, + 0xd8, 0x14, 0x2d, 0xc2, 0x8c, 0xd8, 0xec, 0x8b, 0x50, 0x55, 0x08, 0x68, 0x12, 0xca, 0x77, 0x09, + 0x17, 0x3e, 0xab, 0x98, 0xfe, 0x44, 0xd3, 0x30, 0xb0, 0xed, 0xb4, 0x3a, 0x62, 0xf3, 0x62, 0xfe, + 0xe7, 0x63, 0xa5, 0x97, 0x2c, 0xfb, 0xfb, 0x6c, 0x07, 0x8a, 0x46, 0x96, 0xfd, 0x6d, 0xc1, 0x1c, + 0x3e, 0x67, 0xc1, 0x74, 0x2b, 0x83, 0x29, 0x89, 0x31, 0x39, 0x0c, 0x3b, 0x7b, 0x44, 0x74, 0x7b, 0x3a, 0x0b, 0x8a, 0x33, 0x5b, 0xa3, 0xbc, 0x3e, 0x68, 0xd3, 0x05, 0xe7, 0xb4, 0x58, 0xd7, 0x85, - 0xd8, 0x70, 0x53, 0x94, 0x61, 0x05, 0xb5, 0xff, 0xc2, 0x82, 0x69, 0xf5, 0x1d, 0x57, 0xc9, 0x4e, - 0x83, 0xb4, 0x48, 0x33, 0x0e, 0xc2, 0x0f, 0xca, 0x97, 0x3c, 0xce, 0xe7, 0x84, 0xf3, 0xa4, 0x11, - 0x41, 0xa0, 0x7c, 0x95, 0xec, 0xf0, 0x09, 0xd2, 0x3f, 0xb4, 0x7c, 0xe0, 0x87, 0xfe, 0xa6, 0x05, - 0x63, 0xea, 0x43, 0x8f, 0x61, 0xcb, 0x5d, 0x33, 0xb7, 0xdc, 0x4f, 0x14, 0x5c, 0xaf, 0x3d, 0x36, - 0xdb, 0xdf, 0x2a, 0x51, 0xb6, 0x21, 0x70, 0xea, 0x61, 0x40, 0x07, 0x89, 0x72, 0xfc, 0x0f, 0xc8, - 0x2c, 0xf5, 0xf7, 0xb1, 0x57, 0xc9, 0xce, 0x5a, 0x40, 0xa5, 0x89, 0xec, 0x8f, 0x35, 0x26, 0xb5, - 0x72, 0xe0, 0xa4, 0xfe, 0x5e, 0x09, 0x4e, 0xaa, 0x61, 0x31, 0x4e, 0xe9, 0x1f, 0xcb, 0x81, 0xb9, + 0xd8, 0x70, 0x43, 0x94, 0x61, 0x05, 0xb5, 0xff, 0xc2, 0x82, 0x69, 0xf5, 0x1d, 0x57, 0xc8, 0x4e, + 0x83, 0xb4, 0x48, 0x33, 0x0e, 0xc2, 0xf7, 0xcb, 0x97, 0x3c, 0xca, 0xe7, 0x84, 0xf3, 0xa4, 0x11, + 0x41, 0xa0, 0x7c, 0x85, 0xec, 0xf0, 0x09, 0xd2, 0x3f, 0xb4, 0x7c, 0xe0, 0x87, 0xfe, 0x8e, 0x05, + 0x63, 0xea, 0x43, 0x8f, 0x61, 0xcb, 0x5d, 0x35, 0xb7, 0xdc, 0xcf, 0x15, 0x5c, 0xaf, 0x3d, 0x36, + 0xdb, 0xdf, 0x2a, 0x51, 0xb6, 0x21, 0x70, 0xea, 0x61, 0x40, 0x07, 0x89, 0x72, 0xfc, 0xf7, 0xc9, + 0x2c, 0xf5, 0xf7, 0xb1, 0x57, 0xc8, 0xce, 0x5a, 0x40, 0xa5, 0x89, 0xec, 0x8f, 0x35, 0x26, 0xb5, + 0x72, 0xe0, 0xa4, 0xfe, 0x41, 0x09, 0x4e, 0xaa, 0x61, 0x31, 0x4e, 0xe9, 0x9f, 0xc9, 0x81, 0xb9, 0x00, 0x23, 0x2e, 0x59, 0x77, 0x3a, 0xad, 0x58, 0x29, 0x20, 0x03, 0x5c, 0x33, 0xad, 0x25, 0xc5, - 0x58, 0xc7, 0xe9, 0x63, 0x2c, 0xbf, 0x32, 0xc2, 0xf8, 0x79, 0xec, 0xd0, 0x55, 0x4f, 0x25, 0x3c, - 0x4d, 0xa3, 0x1c, 0xd5, 0x35, 0x4a, 0xa1, 0x3d, 0x3e, 0x09, 0x03, 0xde, 0x16, 0x3d, 0xf3, 0x4b, - 0xe6, 0x51, 0xbe, 0x4a, 0x0b, 0x31, 0x87, 0xa1, 0xa7, 0x60, 0xa8, 0x19, 0x6c, 0x6d, 0x39, 0xbe, - 0x3b, 0x53, 0x66, 0x32, 0xe7, 0x08, 0x15, 0x0b, 0x96, 0x78, 0x11, 0x96, 0x30, 0xf4, 0x18, 0x54, + 0x58, 0xc7, 0xe9, 0x63, 0x2c, 0xbf, 0x3a, 0xc2, 0xf8, 0x79, 0xec, 0xd0, 0x55, 0x4f, 0x25, 0x3c, + 0x4d, 0xa3, 0x1c, 0xd5, 0x35, 0x4a, 0xa1, 0x3d, 0x3e, 0x0e, 0x03, 0xde, 0x16, 0x3d, 0xf3, 0x4b, + 0xe6, 0x51, 0xbe, 0x4a, 0x0b, 0x31, 0x87, 0xa1, 0x27, 0x60, 0xa8, 0x19, 0x6c, 0x6d, 0x39, 0xbe, + 0x3b, 0x53, 0x66, 0x32, 0xe7, 0x08, 0x15, 0x0b, 0x96, 0x78, 0x11, 0x96, 0x30, 0xf4, 0x08, 0x54, 0x9c, 0x70, 0x23, 0x9a, 0xa9, 0x30, 0x9c, 0x61, 0xda, 0xd2, 0x42, 0xb8, 0x11, 0x61, 0x56, 0x4a, - 0x65, 0xc9, 0xfb, 0x41, 0x78, 0xcf, 0xf3, 0x37, 0x6a, 0x5e, 0xc8, 0x04, 0x43, 0x4d, 0x96, 0xbc, - 0xa3, 0x20, 0x58, 0xc3, 0x42, 0x75, 0x18, 0x68, 0x07, 0x61, 0x1c, 0xcd, 0x0c, 0xb2, 0x81, 0x7f, - 0x2e, 0x77, 0xfb, 0xf1, 0xef, 0xae, 0x07, 0x61, 0x9c, 0x7c, 0x0a, 0xfd, 0x17, 0x61, 0x4e, 0x08, - 0x2d, 0x41, 0x99, 0xf8, 0xdb, 0x33, 0x43, 0x8c, 0xde, 0x47, 0x0e, 0xa6, 0xb7, 0xec, 0x6f, 0xdf, - 0x76, 0xc2, 0x84, 0x5f, 0x2d, 0xfb, 0xdb, 0x98, 0xd6, 0x46, 0x4d, 0xa8, 0x4a, 0xfb, 0x55, 0x34, - 0x33, 0x5c, 0x64, 0x29, 0x62, 0x81, 0x8e, 0xc9, 0xbb, 0x1d, 0x2f, 0x24, 0x5b, 0xc4, 0x8f, 0xa3, - 0x44, 0xb1, 0x92, 0xd0, 0x08, 0x27, 0x74, 0x51, 0x13, 0x46, 0xb9, 0xfc, 0x79, 0x3d, 0xe8, 0xf8, - 0x71, 0x34, 0x53, 0x65, 0x5d, 0xce, 0x31, 0x76, 0xdc, 0x4e, 0x6a, 0x2c, 0x4e, 0x0b, 0xf2, 0xa3, - 0x5a, 0x61, 0x84, 0x0d, 0xa2, 0xe8, 0x4d, 0x18, 0x6b, 0x79, 0xdb, 0xc4, 0x27, 0x51, 0x54, 0x0f, - 0x83, 0xbb, 0x64, 0x06, 0xd8, 0xd7, 0x3c, 0x99, 0xa7, 0xf8, 0x07, 0x77, 0xc9, 0xe2, 0xd4, 0xde, - 0xee, 0xdc, 0xd8, 0x35, 0xbd, 0x36, 0x36, 0x89, 0xa1, 0xb7, 0x60, 0x9c, 0x0a, 0xbb, 0x5e, 0x42, + 0x65, 0xc9, 0x7b, 0x41, 0x78, 0xd7, 0xf3, 0x37, 0x6a, 0x5e, 0xc8, 0x04, 0x43, 0x4d, 0x96, 0xbc, + 0xad, 0x20, 0x58, 0xc3, 0x42, 0x75, 0x18, 0x68, 0x07, 0x61, 0x1c, 0xcd, 0x0c, 0xb2, 0x81, 0x7f, + 0x26, 0x77, 0xfb, 0xf1, 0xef, 0xae, 0x07, 0x61, 0x9c, 0x7c, 0x0a, 0xfd, 0x17, 0x61, 0x4e, 0x08, + 0x2d, 0x41, 0x99, 0xf8, 0xdb, 0x33, 0x43, 0x8c, 0xde, 0x87, 0x0e, 0xa6, 0xb7, 0xec, 0x6f, 0xdf, + 0x72, 0xc2, 0x84, 0x5f, 0x2d, 0xfb, 0xdb, 0x98, 0xd6, 0x46, 0x4d, 0xa8, 0x4a, 0xfb, 0x55, 0x34, + 0x33, 0x5c, 0x64, 0x29, 0x62, 0x81, 0x8e, 0xc9, 0x3b, 0x1d, 0x2f, 0x24, 0x5b, 0xc4, 0x8f, 0xa3, + 0x44, 0xb1, 0x92, 0xd0, 0x08, 0x27, 0x74, 0x51, 0x13, 0x46, 0xb9, 0xfc, 0x79, 0x2d, 0xe8, 0xf8, + 0x71, 0x34, 0x53, 0x65, 0x5d, 0xce, 0x31, 0x76, 0xdc, 0x4a, 0x6a, 0x2c, 0x4e, 0x0b, 0xf2, 0xa3, + 0x5a, 0x61, 0x84, 0x0d, 0xa2, 0xe8, 0x0d, 0x18, 0x6b, 0x79, 0xdb, 0xc4, 0x27, 0x51, 0x54, 0x0f, + 0x83, 0x3b, 0x64, 0x06, 0xd8, 0xd7, 0x3c, 0x9e, 0xa7, 0xf8, 0x07, 0x77, 0xc8, 0xe2, 0xd4, 0xde, + 0xee, 0xdc, 0xd8, 0x55, 0xbd, 0x36, 0x36, 0x89, 0xa1, 0x37, 0x61, 0x9c, 0x0a, 0xbb, 0x5e, 0x42, 0x7e, 0xa4, 0x38, 0x79, 0xb4, 0xb7, 0x3b, 0x37, 0x8e, 0x8d, 0xea, 0x38, 0x45, 0x0e, 0xad, 0x41, - 0xb5, 0xe5, 0xad, 0x93, 0xe6, 0x4e, 0xb3, 0x45, 0x66, 0x46, 0x19, 0xed, 0x9c, 0xcd, 0x79, 0x4d, - 0xa2, 0x73, 0x05, 0x43, 0xfd, 0xc5, 0x09, 0x21, 0x74, 0x1b, 0x4e, 0xc5, 0x24, 0xdc, 0xf2, 0x7c, + 0xb5, 0xe5, 0xad, 0x93, 0xe6, 0x4e, 0xb3, 0x45, 0x66, 0x46, 0x19, 0xed, 0x9c, 0xcd, 0x79, 0x55, + 0xa2, 0x73, 0x05, 0x43, 0xfd, 0xc5, 0x09, 0x21, 0x74, 0x0b, 0x4e, 0xc5, 0x24, 0xdc, 0xf2, 0x7c, 0x87, 0x6e, 0x2a, 0x21, 0xfd, 0x32, 0xeb, 0xca, 0x18, 0x5b, 0xb5, 0xa7, 0xc5, 0xc0, 0x9e, 0x5a, - 0xcb, 0xc4, 0xc2, 0x3d, 0x6a, 0xa3, 0x9b, 0x30, 0xc1, 0xf6, 0x53, 0xbd, 0xd3, 0x6a, 0xd5, 0x83, - 0x96, 0xd7, 0xdc, 0x99, 0x19, 0x67, 0x04, 0x9f, 0x92, 0x36, 0x93, 0x55, 0x13, 0x4c, 0x15, 0xc3, + 0xcb, 0xc4, 0xc2, 0x3d, 0x6a, 0xa3, 0x1b, 0x30, 0xc1, 0xf6, 0x53, 0xbd, 0xd3, 0x6a, 0xd5, 0x83, + 0x96, 0xd7, 0xdc, 0x99, 0x19, 0x67, 0x04, 0x9f, 0x90, 0x36, 0x93, 0x55, 0x13, 0x4c, 0x15, 0xc3, 0xe4, 0x1f, 0x4e, 0xd7, 0x46, 0x2d, 0x98, 0x88, 0x48, 0xb3, 0x13, 0x7a, 0xf1, 0x0e, 0x5d, 0xfb, - 0xe4, 0x41, 0x3c, 0x33, 0x51, 0x44, 0xd1, 0x6d, 0x98, 0x95, 0xb8, 0xc1, 0x2a, 0x55, 0x88, 0xd3, + 0xe4, 0x7e, 0x3c, 0x33, 0x51, 0x44, 0xd1, 0x6d, 0x98, 0x95, 0xb8, 0xc1, 0x2a, 0x55, 0x88, 0xd3, 0xa4, 0x29, 0xab, 0x88, 0x62, 0xd7, 0xf3, 0x67, 0x26, 0x19, 0x07, 0x52, 0xfb, 0xab, 0x41, 0x0b, - 0x31, 0x87, 0x31, 0xfb, 0x01, 0xfd, 0x71, 0x93, 0x72, 0xe9, 0x29, 0x86, 0x98, 0xd8, 0x0f, 0x24, + 0x31, 0x87, 0x31, 0xfb, 0x01, 0xfd, 0x71, 0x83, 0x72, 0xe9, 0x29, 0x86, 0x98, 0xd8, 0x0f, 0x24, 0x00, 0x27, 0x38, 0x54, 0x34, 0x88, 0xe3, 0x9d, 0x19, 0xc4, 0x50, 0xd5, 0x56, 0x5b, 0x5b, 0xfb, - 0x34, 0xa6, 0xe5, 0xe8, 0x36, 0x0c, 0x11, 0x7f, 0x7b, 0x25, 0x0c, 0xb6, 0x66, 0x4e, 0x14, 0xe1, - 0x01, 0xcb, 0x1c, 0x99, 0x9f, 0x1f, 0x89, 0x0a, 0x23, 0x8a, 0xb1, 0x24, 0x86, 0x1e, 0xc0, 0x4c, - 0xc6, 0x2c, 0xf1, 0x49, 0x99, 0x66, 0x93, 0xf2, 0x49, 0x51, 0x77, 0x66, 0xad, 0x07, 0xde, 0xfe, - 0x01, 0x30, 0xdc, 0x93, 0xba, 0x7d, 0x17, 0xc6, 0x15, 0xa3, 0x62, 0xf3, 0x8d, 0xe6, 0x60, 0x80, + 0x24, 0xa6, 0xe5, 0xe8, 0x16, 0x0c, 0x11, 0x7f, 0x7b, 0x25, 0x0c, 0xb6, 0x66, 0x4e, 0x14, 0xe1, + 0x01, 0xcb, 0x1c, 0x99, 0x9f, 0x1f, 0x89, 0x0a, 0x23, 0x8a, 0xb1, 0x24, 0x86, 0xee, 0xc3, 0x4c, + 0xc6, 0x2c, 0xf1, 0x49, 0x99, 0x66, 0x93, 0xf2, 0x71, 0x51, 0x77, 0x66, 0xad, 0x07, 0xde, 0xfe, + 0x01, 0x30, 0xdc, 0x93, 0xba, 0x7d, 0x07, 0xc6, 0x15, 0xa3, 0x62, 0xf3, 0x8d, 0xe6, 0x60, 0x80, 0xf2, 0x62, 0xa9, 0xd0, 0x57, 0xe9, 0xa0, 0x52, 0x16, 0x1d, 0x61, 0x5e, 0xce, 0x06, 0xd5, 0x7b, - 0x8f, 0x2c, 0xee, 0xc4, 0x84, 0x2b, 0x76, 0x65, 0x6d, 0x50, 0x25, 0x00, 0x27, 0x38, 0xf6, 0xff, + 0x97, 0x2c, 0xee, 0xc4, 0x84, 0x2b, 0x76, 0x65, 0x6d, 0x50, 0x25, 0x00, 0x27, 0x38, 0xf6, 0xff, 0xe5, 0x62, 0x52, 0xc2, 0x0d, 0x0b, 0x9c, 0x04, 0xe7, 0x60, 0x78, 0x33, 0x88, 0x62, 0x8a, 0xcd, - 0xda, 0x18, 0x48, 0x04, 0xa3, 0x2b, 0xa2, 0x1c, 0x2b, 0x0c, 0xf4, 0x0a, 0x8c, 0x35, 0xf5, 0x06, - 0xc4, 0x31, 0x76, 0x52, 0x54, 0x31, 0x5b, 0xc7, 0x26, 0x2e, 0xba, 0x04, 0xc3, 0xcc, 0x30, 0xde, - 0x0c, 0x5a, 0x42, 0x85, 0x94, 0xa7, 0xf2, 0x70, 0x5d, 0x94, 0xef, 0x6b, 0xbf, 0xb1, 0xc2, 0xa6, - 0x8a, 0x38, 0xed, 0xc2, 0x6a, 0x5d, 0x1c, 0x20, 0x4a, 0x11, 0xbf, 0xc2, 0x4a, 0xb1, 0x80, 0xda, - 0xbf, 0x5e, 0xd2, 0x46, 0x99, 0x2a, 0x40, 0x04, 0xbd, 0x01, 0x43, 0xf7, 0x1d, 0x2f, 0xf6, 0xfc, - 0x0d, 0x21, 0x3d, 0xbc, 0x50, 0xf0, 0x34, 0x61, 0xd5, 0xef, 0xf0, 0xaa, 0xfc, 0xe4, 0x13, 0x7f, - 0xb0, 0x24, 0x48, 0x69, 0x87, 0x1d, 0xdf, 0xa7, 0xb4, 0x4b, 0xfd, 0xd3, 0xc6, 0xbc, 0x2a, 0xa7, - 0x2d, 0xfe, 0x60, 0x49, 0x10, 0xad, 0x03, 0xc8, 0xb5, 0x44, 0x5c, 0x61, 0x90, 0xfe, 0x58, 0x3f, - 0xe4, 0xd7, 0x54, 0xed, 0xc5, 0x71, 0x7a, 0xd6, 0x26, 0xff, 0xb1, 0x46, 0xd9, 0x8e, 0x99, 0x10, - 0xd6, 0xdd, 0x2d, 0xf4, 0x19, 0xba, 0xa5, 0x9d, 0x30, 0x26, 0xee, 0x42, 0x9c, 0xb6, 0xe9, 0x1f, - 0x2c, 0x62, 0xaf, 0x79, 0x5b, 0x44, 0xdf, 0xfe, 0x82, 0x08, 0x4e, 0xe8, 0xd9, 0xdf, 0x2a, 0xc3, - 0x4c, 0xaf, 0xee, 0xd2, 0x25, 0x49, 0x1e, 0x78, 0xf1, 0x12, 0x15, 0x93, 0x2c, 0x73, 0x49, 0x2e, - 0x8b, 0x72, 0xac, 0x30, 0xe8, 0xda, 0x88, 0xbc, 0x0d, 0xa9, 0x2c, 0x0d, 0x24, 0x6b, 0xa3, 0xc1, - 0x4a, 0xb1, 0x80, 0x52, 0xbc, 0x90, 0x38, 0x91, 0xb8, 0x0f, 0xd1, 0xd6, 0x10, 0x66, 0xa5, 0x58, - 0x40, 0x75, 0x83, 0x48, 0x25, 0xc7, 0x20, 0x62, 0x0c, 0xd1, 0xc0, 0xc3, 0x1d, 0x22, 0xf4, 0x59, - 0x80, 0x75, 0xcf, 0xf7, 0xa2, 0x4d, 0x46, 0x7d, 0xb0, 0x6f, 0xea, 0x4a, 0xc8, 0x5a, 0x51, 0x54, - 0xb0, 0x46, 0x11, 0xbd, 0x04, 0x23, 0x6a, 0x7b, 0xae, 0xd6, 0x66, 0x86, 0x4c, 0x1b, 0x7a, 0xc2, - 0xab, 0x6a, 0x58, 0xc7, 0xb3, 0xdf, 0x49, 0xaf, 0x17, 0xb1, 0x2b, 0xb4, 0xf1, 0xb5, 0x8a, 0x8e, - 0x6f, 0xe9, 0xe0, 0xf1, 0xb5, 0xff, 0xa8, 0x0c, 0x13, 0x46, 0x63, 0x9d, 0xa8, 0x00, 0x47, 0x7b, - 0x8d, 0x1e, 0x58, 0x4e, 0x4c, 0xc4, 0x9e, 0x3c, 0xd7, 0xcf, 0xa6, 0xd1, 0x8f, 0x37, 0xba, 0x17, - 0x38, 0x25, 0xb4, 0x09, 0xd5, 0x96, 0x13, 0x31, 0x93, 0x0a, 0x11, 0x7b, 0xb1, 0x3f, 0xb2, 0x89, - 0xfa, 0xe1, 0x44, 0xb1, 0x76, 0x7a, 0xf0, 0x56, 0x12, 0xe2, 0xf4, 0xb4, 0xa5, 0xc2, 0x8e, 0xbc, - 0x84, 0x53, 0xdd, 0xa1, 0x12, 0xd1, 0x0e, 0xe6, 0x30, 0x74, 0x09, 0x46, 0x43, 0xc2, 0x56, 0xca, - 0x12, 0x95, 0xe7, 0xd8, 0xd2, 0x1b, 0x48, 0x04, 0x3f, 0xac, 0xc1, 0xb0, 0x81, 0x99, 0xc8, 0xfd, - 0x83, 0x07, 0xc8, 0xfd, 0xcf, 0xc0, 0x10, 0xfb, 0xa1, 0x56, 0x85, 0x9a, 0xa1, 0x55, 0x5e, 0x8c, - 0x25, 0x3c, 0xbd, 0x88, 0x86, 0x0b, 0x2e, 0xa2, 0x67, 0x61, 0xbc, 0xe6, 0x90, 0xad, 0xc0, 0x5f, - 0xf6, 0xdd, 0x76, 0xe0, 0xf9, 0x31, 0x9a, 0x81, 0x0a, 0x3b, 0x4f, 0xf8, 0x7e, 0xaf, 0x50, 0x0a, - 0xb8, 0x42, 0x65, 0x77, 0xfb, 0x4f, 0x4a, 0x30, 0x56, 0x23, 0x2d, 0x12, 0x13, 0xae, 0xf7, 0x44, - 0x68, 0x05, 0xd0, 0x46, 0xe8, 0x34, 0x49, 0x9d, 0x84, 0x5e, 0xe0, 0x36, 0x48, 0x33, 0xf0, 0xd9, - 0xdd, 0x15, 0x3d, 0x20, 0x4f, 0xed, 0xed, 0xce, 0xa1, 0xcb, 0x5d, 0x50, 0x9c, 0x51, 0x03, 0xb9, - 0x30, 0xd6, 0x0e, 0x89, 0x61, 0x37, 0xb4, 0xf2, 0x45, 0x8d, 0xba, 0x5e, 0x85, 0x4b, 0xc3, 0x46, - 0x11, 0x36, 0x89, 0xa2, 0x4f, 0xc1, 0x64, 0x10, 0xb6, 0x37, 0x1d, 0xbf, 0x46, 0xda, 0xc4, 0x77, - 0xa9, 0x0a, 0x20, 0xac, 0x1d, 0xd3, 0x7b, 0xbb, 0x73, 0x93, 0x37, 0x53, 0x30, 0xdc, 0x85, 0x8d, - 0xde, 0x80, 0xa9, 0x76, 0x18, 0xb4, 0x9d, 0x0d, 0xb6, 0x64, 0x84, 0xb4, 0xc2, 0x79, 0xd3, 0xb9, - 0xbd, 0xdd, 0xb9, 0xa9, 0x7a, 0x1a, 0xb8, 0xbf, 0x3b, 0x77, 0x82, 0x0d, 0x19, 0x2d, 0x49, 0x80, - 0xb8, 0x9b, 0x8c, 0xfd, 0x2e, 0x9c, 0xac, 0x05, 0xf7, 0xfd, 0xfb, 0x4e, 0xe8, 0x2e, 0xd4, 0x57, - 0x35, 0xe3, 0xc4, 0xeb, 0x52, 0xf9, 0xe5, 0x77, 0x82, 0x39, 0x27, 0x9b, 0x46, 0x83, 0xab, 0x1d, - 0x2b, 0x5e, 0x8b, 0xf4, 0x30, 0x87, 0xfc, 0xe3, 0x92, 0xd1, 0x66, 0x82, 0xaf, 0xee, 0x2e, 0xac, - 0x9e, 0x77, 0x17, 0x9f, 0x81, 0xe1, 0x75, 0x8f, 0xb4, 0x5c, 0x4c, 0xd6, 0xc5, 0x6c, 0x5d, 0x28, - 0x72, 0xb9, 0xb3, 0x42, 0xeb, 0x48, 0xeb, 0x18, 0x57, 0xa2, 0x57, 0x04, 0x19, 0xac, 0x08, 0xa2, - 0x0e, 0x4c, 0x4a, 0x3d, 0x4c, 0x42, 0xc5, 0x66, 0x7f, 0xa1, 0x98, 0x9a, 0x67, 0x36, 0xc3, 0xa6, - 0x17, 0xa7, 0x08, 0xe2, 0xae, 0x26, 0xa8, 0xfe, 0xbc, 0x45, 0x8f, 0xba, 0x0a, 0x5b, 0xfa, 0x4c, - 0x7f, 0x66, 0xa6, 0x00, 0x56, 0x6a, 0xff, 0x9a, 0x05, 0x8f, 0x74, 0x8d, 0x96, 0xb0, 0x93, 0x1c, - 0xd9, 0x1c, 0xa5, 0x8d, 0x15, 0xa5, 0x7c, 0x63, 0x85, 0xfd, 0xeb, 0x16, 0x4c, 0x2f, 0x6f, 0xb5, - 0xe3, 0x9d, 0x9a, 0x67, 0xde, 0xb9, 0xbc, 0x0c, 0x83, 0x5b, 0xc4, 0xf5, 0x3a, 0x5b, 0x62, 0x5e, - 0xe7, 0xe4, 0xc1, 0x70, 0x9d, 0x95, 0xee, 0xef, 0xce, 0x8d, 0x35, 0xe2, 0x20, 0x74, 0x36, 0x08, - 0x2f, 0xc0, 0x02, 0x9d, 0x5d, 0x29, 0x79, 0xef, 0x91, 0x6b, 0xde, 0x96, 0x27, 0xaf, 0xf2, 0x0e, - 0x34, 0xf2, 0xcd, 0xcb, 0xa1, 0x9d, 0x7f, 0xad, 0xe3, 0xf8, 0xb1, 0x17, 0xef, 0x98, 0xf2, 0x32, - 0x23, 0x84, 0x13, 0x9a, 0xf6, 0x0f, 0x2c, 0x98, 0x90, 0x1c, 0x68, 0xc1, 0x75, 0x43, 0x12, 0x45, - 0x68, 0x16, 0x4a, 0x5e, 0x5b, 0xf4, 0x14, 0x44, 0xed, 0xd2, 0x6a, 0x1d, 0x97, 0xbc, 0x36, 0x7a, - 0x03, 0xaa, 0xfc, 0x2e, 0x30, 0x59, 0x7e, 0x7d, 0xde, 0x2d, 0x32, 0xed, 0x73, 0x4d, 0xd2, 0xc0, - 0x09, 0x39, 0x29, 0x87, 0xb3, 0xb3, 0xad, 0x6c, 0xde, 0x4c, 0x5d, 0x11, 0xe5, 0x58, 0x61, 0xa0, - 0xb3, 0x30, 0xec, 0x07, 0x2e, 0xbf, 0xae, 0xe5, 0x9c, 0x80, 0x2d, 0xea, 0x1b, 0xa2, 0x0c, 0x2b, - 0xa8, 0xfd, 0x45, 0x0b, 0x46, 0xe5, 0x37, 0x16, 0x54, 0x09, 0xe8, 0x36, 0x4c, 0xd4, 0x81, 0x64, - 0x1b, 0x52, 0x91, 0x9e, 0x41, 0x0c, 0x49, 0xbe, 0xdc, 0x8f, 0x24, 0x6f, 0xff, 0x46, 0x09, 0xc6, - 0x65, 0x77, 0x1a, 0x9d, 0xbb, 0x11, 0xa1, 0x82, 0x4e, 0xd5, 0xe1, 0x83, 0x4f, 0xe4, 0x4a, 0x7e, - 0x3e, 0x4f, 0xdb, 0x33, 0xe6, 0x2c, 0x99, 0xe5, 0x05, 0x49, 0x07, 0x27, 0x24, 0xd1, 0x36, 0x4c, - 0xf9, 0x41, 0xcc, 0x0e, 0x50, 0x05, 0x2f, 0x76, 0x97, 0x92, 0x6e, 0xe7, 0x51, 0xd1, 0xce, 0xd4, - 0x8d, 0x34, 0x3d, 0xdc, 0xdd, 0x04, 0xba, 0x29, 0xad, 0x58, 0x65, 0xd6, 0xd6, 0xb3, 0xc5, 0xda, - 0xea, 0x6d, 0xc4, 0xb2, 0x7f, 0xd7, 0x82, 0xaa, 0x44, 0x3b, 0x8e, 0x4b, 0xb5, 0x3b, 0x30, 0x14, - 0xb1, 0x29, 0x92, 0xc3, 0x75, 0xae, 0xd8, 0x27, 0xf0, 0x79, 0x4d, 0xa4, 0x06, 0xfe, 0x3f, 0xc2, - 0x92, 0x1a, 0x33, 0xe7, 0xab, 0x0f, 0xf9, 0xc0, 0x99, 0xf3, 0x55, 0xcf, 0x7a, 0xdf, 0x9d, 0x8d, - 0x19, 0xf6, 0x06, 0x2a, 0xfa, 0xb6, 0x43, 0xb2, 0xee, 0x3d, 0x48, 0x8b, 0xbe, 0x75, 0x56, 0x8a, - 0x05, 0x14, 0xad, 0xc3, 0x68, 0x53, 0x1a, 0xbc, 0x13, 0x16, 0xf2, 0xd1, 0x82, 0xb7, 0x0b, 0xea, - 0xa2, 0x8a, 0xfb, 0x4b, 0x2d, 0x69, 0x94, 0xb0, 0x41, 0x97, 0xf2, 0xa9, 0xe4, 0x2e, 0xbe, 0x5c, - 0xd0, 0x34, 0x14, 0x92, 0x38, 0x69, 0xa1, 0xe7, 0x35, 0xbc, 0xfd, 0x55, 0x0b, 0x06, 0xb9, 0x85, - 0xb4, 0x98, 0x99, 0x59, 0xbb, 0x82, 0x4b, 0xc6, 0xf3, 0x36, 0x2d, 0x14, 0x37, 0x72, 0xe8, 0x0e, - 0x54, 0xd9, 0x0f, 0x66, 0xed, 0x29, 0x17, 0x71, 0x1e, 0xe3, 0xed, 0xeb, 0x5d, 0xbd, 0x2d, 0x09, - 0xe0, 0x84, 0x96, 0xfd, 0x9d, 0x32, 0x65, 0x7d, 0x09, 0xaa, 0x21, 0x3d, 0x58, 0xc7, 0x21, 0x3d, - 0x94, 0x8e, 0x5e, 0x7a, 0x78, 0x17, 0x26, 0x9a, 0xda, 0x15, 0x60, 0x32, 0xe3, 0x17, 0x0b, 0x2e, - 0x2b, 0xed, 0xde, 0x90, 0x5b, 0x04, 0x97, 0x4c, 0x72, 0x38, 0x4d, 0x1f, 0x11, 0x18, 0xe5, 0xeb, - 0x41, 0xb4, 0x57, 0x61, 0xed, 0x9d, 0x2f, 0xb2, 0xc2, 0xf4, 0xc6, 0xd8, 0x2a, 0x6e, 0x68, 0x84, - 0xb0, 0x41, 0xd6, 0xfe, 0x95, 0x01, 0x18, 0x58, 0xde, 0x26, 0x7e, 0x7c, 0x0c, 0xac, 0x6e, 0x0b, - 0xc6, 0x3d, 0x7f, 0x3b, 0x68, 0x6d, 0x13, 0x97, 0xc3, 0x0f, 0x77, 0xbc, 0x9f, 0x12, 0x8d, 0x8c, - 0xaf, 0x1a, 0xc4, 0x70, 0x8a, 0xf8, 0x51, 0xd8, 0x22, 0x5e, 0x83, 0x41, 0xbe, 0x32, 0x84, 0x21, - 0x22, 0xe7, 0xc6, 0x80, 0x0d, 0xac, 0xd8, 0x41, 0x89, 0xc5, 0x84, 0x5f, 0x56, 0x08, 0x42, 0xe8, - 0x1d, 0x18, 0x5f, 0xf7, 0xc2, 0x28, 0x5e, 0xf3, 0xb6, 0xa8, 0x0e, 0xb9, 0xd5, 0x3e, 0x84, 0x15, - 0x42, 0x8d, 0xc8, 0x8a, 0x41, 0x09, 0xa7, 0x28, 0xa3, 0x0d, 0x18, 0xa3, 0x4a, 0x70, 0xd2, 0xd4, - 0x50, 0xdf, 0x4d, 0x29, 0x23, 0xe4, 0x35, 0x9d, 0x10, 0x36, 0xe9, 0x52, 0x96, 0xd4, 0x64, 0x4a, - 0xf3, 0x30, 0x93, 0x6e, 0x14, 0x4b, 0xe2, 0xda, 0x32, 0x87, 0x51, 0xce, 0xc6, 0x7c, 0x71, 0xaa, - 0x26, 0x67, 0x4b, 0x3c, 0x6e, 0xec, 0xaf, 0xd3, 0xb3, 0x98, 0x8e, 0xe1, 0x31, 0x1c, 0x5f, 0x57, - 0xcc, 0xe3, 0xeb, 0xc9, 0x02, 0x33, 0xdb, 0xe3, 0xe8, 0x7a, 0x1b, 0x46, 0xb4, 0x89, 0x47, 0xe7, - 0xa1, 0xda, 0x94, 0xee, 0x22, 0x82, 0x8b, 0x2b, 0x51, 0x4a, 0xf9, 0x91, 0xe0, 0x04, 0x87, 0x8e, - 0x0b, 0x15, 0x41, 0xd3, 0xce, 0x65, 0x54, 0x40, 0xc5, 0x0c, 0x62, 0xbf, 0x00, 0xb0, 0xfc, 0x80, - 0x34, 0x17, 0xb8, 0x12, 0xa9, 0xdd, 0x20, 0x5a, 0xbd, 0x6f, 0x10, 0xed, 0xaf, 0x59, 0x30, 0xbe, - 0xb2, 0x64, 0x28, 0x0d, 0xf3, 0x00, 0x5c, 0x36, 0xbe, 0x73, 0xe7, 0x86, 0xb4, 0x90, 0x73, 0x33, - 0xa6, 0x2a, 0xc5, 0x1a, 0x06, 0x7a, 0x14, 0xca, 0xad, 0x8e, 0x2f, 0x44, 0xd6, 0xa1, 0xbd, 0xdd, - 0xb9, 0xf2, 0xb5, 0x8e, 0x8f, 0x69, 0x99, 0xe6, 0xc5, 0x55, 0x2e, 0xec, 0xc5, 0x95, 0xef, 0x02, - 0xfd, 0xe5, 0x32, 0x4c, 0xae, 0xb4, 0xc8, 0x03, 0xa3, 0xd7, 0x4f, 0xc3, 0xa0, 0x1b, 0x7a, 0xdb, - 0x24, 0x4c, 0x0b, 0x02, 0x35, 0x56, 0x8a, 0x05, 0xb4, 0xb0, 0x63, 0xd9, 0x5b, 0xdd, 0x07, 0xf9, - 0xd1, 0x39, 0xd5, 0xe5, 0x7e, 0x33, 0x5a, 0x87, 0x21, 0x7e, 0xe3, 0x1c, 0xcd, 0x0c, 0xb0, 0xa5, - 0xf8, 0xca, 0xc1, 0x9d, 0x49, 0x8f, 0xcf, 0xbc, 0xb0, 0xe0, 0x70, 0x97, 0x1e, 0xc5, 0xcb, 0x44, - 0x29, 0x96, 0xc4, 0x67, 0x3f, 0x01, 0xa3, 0x3a, 0x66, 0x5f, 0xbe, 0x3d, 0x7f, 0xd5, 0x82, 0x13, - 0x2b, 0xad, 0xa0, 0x79, 0x2f, 0xe5, 0xf9, 0xf7, 0x12, 0x8c, 0xd0, 0xcd, 0x14, 0x19, 0x6e, 0xb1, - 0x86, 0xcb, 0xb0, 0x00, 0x61, 0x1d, 0x4f, 0xab, 0x76, 0xeb, 0xd6, 0x6a, 0x2d, 0xcb, 0xd3, 0x58, - 0x80, 0xb0, 0x8e, 0x67, 0xff, 0xbe, 0x05, 0x8f, 0x5f, 0x5e, 0x5a, 0xae, 0x93, 0x30, 0xf2, 0xa2, - 0x98, 0xf8, 0x71, 0x97, 0xb3, 0x33, 0x95, 0x19, 0x5d, 0xad, 0x2b, 0x89, 0xcc, 0x58, 0x63, 0xbd, - 0x10, 0xd0, 0x0f, 0x8a, 0xc7, 0xff, 0x57, 0x2d, 0x38, 0x71, 0xd9, 0x8b, 0x31, 0x69, 0x07, 0x69, - 0x67, 0xe3, 0x90, 0xb4, 0x83, 0xc8, 0x8b, 0x83, 0x70, 0x27, 0xed, 0x6c, 0x8c, 0x15, 0x04, 0x6b, - 0x58, 0xbc, 0xe5, 0x6d, 0x2f, 0xa2, 0x3d, 0x2d, 0x99, 0xaa, 0x2e, 0x16, 0xe5, 0x58, 0x61, 0xd0, - 0x0f, 0x73, 0xbd, 0x90, 0x89, 0x0c, 0x3b, 0x62, 0x07, 0xab, 0x0f, 0xab, 0x49, 0x00, 0x4e, 0x70, - 0xec, 0xbf, 0x6b, 0xc1, 0xc9, 0xcb, 0xad, 0x4e, 0x14, 0x93, 0x70, 0x3d, 0x32, 0x3a, 0xfb, 0x02, - 0x54, 0x89, 0x14, 0xee, 0x45, 0x5f, 0xd5, 0xa1, 0xa1, 0xa4, 0x7e, 0xee, 0xe9, 0xac, 0xf0, 0x0a, - 0x38, 0xd4, 0xf6, 0xe7, 0xfe, 0xf9, 0x5b, 0x25, 0x18, 0xbb, 0xb2, 0xb6, 0x56, 0xbf, 0x4c, 0x62, - 0xc1, 0x25, 0xf3, 0xcd, 0x5e, 0x58, 0xd3, 0xc8, 0x0f, 0x12, 0x7e, 0x3a, 0xb1, 0xd7, 0x9a, 0xe7, - 0xd1, 0x28, 0xf3, 0xab, 0x7e, 0x7c, 0x33, 0x6c, 0xc4, 0xa1, 0xe7, 0x6f, 0x64, 0xea, 0xf0, 0x92, - 0x97, 0x97, 0x7b, 0xf1, 0x72, 0xf4, 0x02, 0x0c, 0xb2, 0x70, 0x18, 0x29, 0x7c, 0x7c, 0x58, 0xc9, - 0x09, 0xac, 0x74, 0x7f, 0x77, 0xae, 0x7a, 0x0b, 0xaf, 0xf2, 0x3f, 0x58, 0xa0, 0xa2, 0xb7, 0x60, - 0x64, 0x33, 0x8e, 0xdb, 0x57, 0x88, 0xe3, 0x92, 0x50, 0xf2, 0x89, 0xb3, 0x07, 0xf3, 0x09, 0x3a, - 0x1c, 0xbc, 0x42, 0xb2, 0xb5, 0x92, 0xb2, 0x08, 0xeb, 0x14, 0xed, 0x06, 0x40, 0x02, 0x7b, 0x48, - 0x3a, 0x88, 0xfd, 0xf3, 0x25, 0x18, 0xba, 0xe2, 0xf8, 0x6e, 0x8b, 0x84, 0x68, 0x05, 0x2a, 0xe4, - 0x01, 0x69, 0x8a, 0x83, 0x3c, 0xa7, 0xeb, 0xc9, 0x61, 0xc7, 0x2d, 0x77, 0xf4, 0x3f, 0x66, 0xf5, - 0x11, 0x86, 0x21, 0xda, 0xef, 0xcb, 0xca, 0x0f, 0xfd, 0xb9, 0xfc, 0x51, 0x50, 0x8b, 0x82, 0x9f, - 0x94, 0xa2, 0x08, 0x4b, 0x42, 0xcc, 0x02, 0xd5, 0x6c, 0x37, 0x28, 0x7b, 0x8b, 0x8b, 0x69, 0x76, - 0x6b, 0x4b, 0x75, 0x8e, 0x2e, 0xe8, 0x72, 0x0b, 0x94, 0x2c, 0xc4, 0x09, 0x39, 0x7b, 0x0d, 0xaa, - 0x74, 0xf2, 0x17, 0x5a, 0x9e, 0x73, 0xb0, 0x19, 0xec, 0x39, 0xa8, 0x4a, 0x43, 0x54, 0x24, 0x9c, - 0xda, 0x19, 0x55, 0x69, 0xa7, 0x8a, 0x70, 0x02, 0xb7, 0x2f, 0xc1, 0x34, 0xbb, 0x47, 0x76, 0xe2, - 0x4d, 0x63, 0x2f, 0xe6, 0x2e, 0x7a, 0xfb, 0x1b, 0x15, 0x98, 0x5a, 0x6d, 0x2c, 0x35, 0x4c, 0x9b, - 0xe7, 0x25, 0x18, 0xe5, 0xc7, 0x3e, 0x5d, 0xca, 0x4e, 0x4b, 0xd4, 0x57, 0x77, 0x1f, 0x6b, 0x1a, - 0x0c, 0x1b, 0x98, 0xe8, 0x71, 0x28, 0x7b, 0xef, 0xfa, 0x69, 0x6f, 0xc4, 0xd5, 0xd7, 0x6e, 0x60, - 0x5a, 0x4e, 0xc1, 0x54, 0x82, 0xe0, 0xac, 0x53, 0x81, 0x95, 0x14, 0xf1, 0x2a, 0x8c, 0x7b, 0x51, - 0x33, 0xf2, 0x56, 0x7d, 0xca, 0x57, 0x9c, 0xa6, 0xdc, 0x14, 0x89, 0xc8, 0x4f, 0xbb, 0xaa, 0xa0, - 0x38, 0x85, 0xad, 0xf1, 0xf1, 0x81, 0xc2, 0x52, 0x48, 0xae, 0x9b, 0x3b, 0x15, 0xb0, 0xda, 0xec, - 0xeb, 0x22, 0xe6, 0xdb, 0x24, 0x04, 0x2c, 0xfe, 0xc1, 0x11, 0x96, 0x30, 0x74, 0x19, 0xa6, 0x9a, - 0x9b, 0x4e, 0x7b, 0xa1, 0x13, 0x6f, 0xd6, 0xbc, 0xa8, 0x19, 0x6c, 0x93, 0x70, 0x87, 0x09, 0xc0, - 0xc3, 0x89, 0x4d, 0x4b, 0x01, 0x96, 0xae, 0x2c, 0xd4, 0x29, 0x26, 0xee, 0xae, 0x63, 0x0a, 0x24, - 0x70, 0x04, 0x02, 0xc9, 0x02, 0x4c, 0xc8, 0x56, 0x1b, 0x24, 0x62, 0x47, 0xc4, 0x08, 0xeb, 0xa7, - 0x0a, 0x30, 0x12, 0xc5, 0xaa, 0x97, 0x69, 0x7c, 0xfb, 0x1d, 0xa8, 0x2a, 0x5f, 0x3c, 0xe9, 0x82, - 0x6a, 0xf5, 0x70, 0x41, 0xcd, 0x67, 0xee, 0xd2, 0x3a, 0x5f, 0xce, 0xb4, 0xce, 0xff, 0x53, 0x0b, - 0x12, 0x67, 0x22, 0x84, 0xa1, 0xda, 0x0e, 0xd8, 0x4d, 0x5e, 0x28, 0xaf, 0xcc, 0x9f, 0xca, 0xd9, - 0xf3, 0x9c, 0xe7, 0xf0, 0x01, 0xa9, 0xcb, 0xba, 0x38, 0x21, 0x83, 0xae, 0xc1, 0x50, 0x3b, 0x24, - 0x8d, 0x98, 0xc5, 0x8f, 0xf4, 0x41, 0x91, 0x2f, 0x04, 0x5e, 0x13, 0x4b, 0x12, 0xf6, 0xbf, 0xb4, - 0x00, 0xb8, 0x19, 0xdc, 0xf1, 0x37, 0xc8, 0x31, 0x28, 0xd6, 0x37, 0xa0, 0x12, 0xb5, 0x49, 0xb3, - 0xd8, 0x5d, 0x6c, 0xd2, 0xb3, 0x46, 0x9b, 0x34, 0x93, 0xe9, 0xa0, 0xff, 0x30, 0xa3, 0x63, 0x7f, - 0x1b, 0x60, 0x3c, 0x41, 0xa3, 0xca, 0x0d, 0x7a, 0xde, 0x08, 0x9c, 0x78, 0x34, 0x15, 0x38, 0x51, - 0x65, 0xd8, 0x5a, 0xac, 0x44, 0x0c, 0xe5, 0x2d, 0xe7, 0x81, 0xd0, 0xa5, 0x5e, 0x2a, 0xda, 0x21, - 0xda, 0xd2, 0xfc, 0x75, 0xe7, 0x01, 0x17, 0x5d, 0x9f, 0x93, 0x0b, 0xe9, 0xba, 0xf3, 0x60, 0x9f, - 0xdf, 0xb8, 0x32, 0xee, 0x44, 0x95, 0xb7, 0xcf, 0xfd, 0x59, 0xf2, 0x9f, 0x1d, 0x43, 0xb4, 0x39, - 0xd6, 0xaa, 0xe7, 0x0b, 0x53, 0x70, 0x9f, 0xad, 0x7a, 0x7e, 0xba, 0x55, 0xcf, 0x2f, 0xd0, 0xaa, - 0xc7, 0x3c, 0x8c, 0x87, 0xc4, 0x1d, 0x0d, 0x73, 0xcf, 0x1c, 0xb9, 0xf8, 0xf1, 0xbe, 0x9a, 0x16, - 0x97, 0x3d, 0xbc, 0xf9, 0xf3, 0x52, 0x5e, 0x17, 0xa5, 0xb9, 0x5d, 0x90, 0x4d, 0xa3, 0xbf, 0x67, - 0xc1, 0xb8, 0xf8, 0x8d, 0xc9, 0xbb, 0x1d, 0x12, 0xc5, 0x42, 0x2e, 0xf8, 0xd4, 0x61, 0x7a, 0x23, - 0x48, 0xf0, 0x4e, 0x7d, 0x4c, 0xb2, 0x5f, 0x13, 0x98, 0xdb, 0xb7, 0x54, 0x7f, 0xd0, 0xb7, 0x2d, - 0x98, 0xde, 0x72, 0x1e, 0xf0, 0x16, 0x79, 0x19, 0x76, 0x62, 0x2f, 0x10, 0x2e, 0xa8, 0x2b, 0xfd, - 0xae, 0x93, 0x2e, 0x42, 0xbc, 0xbb, 0xd2, 0xbb, 0x6c, 0x3a, 0x0b, 0x25, 0xb7, 0xd3, 0x99, 0x3d, - 0x9c, 0x5d, 0x87, 0x61, 0xb9, 0x30, 0x33, 0x34, 0xa5, 0x9a, 0x2e, 0xfe, 0xf4, 0x7d, 0x81, 0xa6, - 0x69, 0x56, 0xac, 0x1d, 0xb1, 0x14, 0x8f, 0xb4, 0x9d, 0x77, 0x60, 0x54, 0x5f, 0x77, 0x47, 0xda, - 0xd6, 0xbb, 0x70, 0x22, 0x63, 0x55, 0x1d, 0x69, 0x93, 0xf7, 0xe1, 0xd1, 0x9e, 0xeb, 0xe3, 0x28, - 0x1b, 0xb6, 0x7f, 0xcb, 0xd2, 0x59, 0xe7, 0x31, 0xd8, 0xad, 0xae, 0x9b, 0x76, 0xab, 0xb3, 0x45, - 0xf7, 0x50, 0x0f, 0xe3, 0xd5, 0xba, 0xde, 0x7d, 0x7a, 0x24, 0xa0, 0x35, 0x18, 0x6c, 0xd1, 0x12, - 0x79, 0x6d, 0x78, 0xae, 0x9f, 0x5d, 0x9a, 0x48, 0x60, 0xac, 0x3c, 0xc2, 0x82, 0x96, 0xfd, 0x6d, - 0x0b, 0x2a, 0x7f, 0x89, 0x61, 0x5d, 0x5d, 0xa4, 0x45, 0x6a, 0x82, 0x79, 0xec, 0xdc, 0x5f, 0x7e, - 0x10, 0x13, 0x3f, 0x62, 0x62, 0x7c, 0xe6, 0x10, 0xfd, 0x9f, 0x12, 0x8c, 0xd0, 0xa6, 0xa4, 0xa7, - 0xcc, 0x2b, 0x30, 0xd6, 0x72, 0xee, 0x92, 0x96, 0xb4, 0xb9, 0xa7, 0x95, 0xde, 0x6b, 0x3a, 0x10, - 0x9b, 0xb8, 0xb4, 0xf2, 0xba, 0x7e, 0x25, 0x21, 0x84, 0x24, 0x55, 0xd9, 0xb8, 0xaf, 0xc0, 0x26, - 0x2e, 0xd5, 0xba, 0xee, 0x3b, 0x71, 0x73, 0x53, 0x28, 0xc4, 0xaa, 0xbb, 0x77, 0x68, 0x21, 0xe6, - 0x30, 0x2a, 0xec, 0xc9, 0x15, 0x7b, 0x9b, 0x84, 0x4c, 0xd8, 0xe3, 0x42, 0xb5, 0x12, 0xf6, 0xb0, - 0x09, 0xc6, 0x69, 0x7c, 0xf4, 0x09, 0x18, 0xa7, 0x83, 0x13, 0x74, 0x62, 0xe9, 0x07, 0x34, 0xc0, - 0xfc, 0x80, 0x98, 0x1b, 0xf9, 0x9a, 0x01, 0xc1, 0x29, 0x4c, 0x54, 0x87, 0x69, 0xcf, 0x6f, 0xb6, - 0x3a, 0x2e, 0xb9, 0xe5, 0x7b, 0xbe, 0x17, 0x7b, 0x4e, 0xcb, 0x7b, 0x8f, 0xb8, 0x42, 0xec, 0x56, - 0x2e, 0x5b, 0xab, 0x19, 0x38, 0x38, 0xb3, 0xa6, 0xfd, 0x16, 0x9c, 0xb8, 0x16, 0x38, 0xee, 0xa2, - 0xd3, 0x72, 0xfc, 0x26, 0x09, 0x57, 0xfd, 0x8d, 0x5c, 0x9f, 0x02, 0xfd, 0xde, 0xbf, 0x94, 0x77, - 0xef, 0x6f, 0x87, 0x80, 0xf4, 0x06, 0x84, 0x4f, 0xdc, 0x9b, 0x30, 0xe4, 0xf1, 0xa6, 0xc4, 0x46, - 0xb8, 0x90, 0x27, 0x93, 0x77, 0xf5, 0x51, 0xf3, 0xf1, 0xe2, 0x05, 0x58, 0x92, 0xa4, 0x1a, 0x5c, - 0x96, 0x10, 0x9f, 0xaf, 0x7a, 0xdb, 0x2f, 0xc1, 0x14, 0xab, 0xd9, 0xa7, 0xe2, 0xf7, 0xd7, 0x2c, - 0x98, 0xb8, 0x91, 0x0a, 0x80, 0x7e, 0x1a, 0x06, 0x23, 0x12, 0x66, 0x58, 0x56, 0x1b, 0xac, 0x14, - 0x0b, 0xe8, 0x43, 0xb7, 0xd6, 0xfc, 0x72, 0x09, 0xaa, 0xcc, 0x29, 0xbb, 0x4d, 0x95, 0xb8, 0xa3, - 0x97, 0x97, 0xaf, 0x1b, 0xf2, 0x72, 0x8e, 0xc5, 0x40, 0x75, 0xac, 0x97, 0xb8, 0x8c, 0x6e, 0xa9, - 0xc0, 0xe0, 0x42, 0xc6, 0x82, 0x84, 0x20, 0x0f, 0x1e, 0x1d, 0x37, 0xe3, 0x88, 0x65, 0xd0, 0x30, - 0xbb, 0xc0, 0x57, 0xb8, 0x1f, 0xb8, 0x0b, 0x7c, 0xd5, 0xb3, 0x1e, 0x5c, 0xb2, 0xae, 0x75, 0x9e, - 0x9d, 0x23, 0x3f, 0xc5, 0x5c, 0x6d, 0xd9, 0x1e, 0x56, 0xf1, 0xf5, 0x73, 0xc2, 0x75, 0x56, 0x94, - 0xee, 0x33, 0x86, 0x27, 0xfe, 0xf1, 0xf4, 0x09, 0x49, 0x15, 0xfb, 0x0a, 0x4c, 0xa4, 0x86, 0x0e, - 0xbd, 0x04, 0x03, 0xed, 0x4d, 0x27, 0x22, 0x29, 0xa7, 0xa7, 0x81, 0x3a, 0x2d, 0xdc, 0xdf, 0x9d, - 0x1b, 0x57, 0x15, 0x58, 0x09, 0xe6, 0xd8, 0xf6, 0xe7, 0x4b, 0x50, 0xb9, 0x11, 0xb8, 0xc7, 0xb1, - 0xd4, 0xae, 0x18, 0x4b, 0xed, 0xe9, 0xfc, 0x7c, 0x2d, 0x3d, 0x57, 0x59, 0x3d, 0xb5, 0xca, 0xce, - 0x16, 0xa0, 0x75, 0xf0, 0x02, 0xdb, 0x82, 0x11, 0x96, 0x0f, 0x46, 0x38, 0x65, 0xbd, 0x60, 0xa8, - 0x78, 0x73, 0x29, 0x15, 0x6f, 0x42, 0x43, 0xd5, 0x14, 0xbd, 0x67, 0x60, 0x48, 0x38, 0x01, 0xa5, - 0x1d, 0x8d, 0x05, 0x2e, 0x96, 0x70, 0xfb, 0x5f, 0x94, 0xc1, 0xc8, 0x3f, 0x83, 0x7e, 0xd7, 0x82, - 0xf9, 0x90, 0x07, 0x6d, 0xb9, 0xb5, 0x4e, 0xe8, 0xf9, 0x1b, 0x8d, 0xe6, 0x26, 0x71, 0x3b, 0x2d, - 0xcf, 0xdf, 0x58, 0xdd, 0xf0, 0x03, 0x55, 0xbc, 0xfc, 0x80, 0x34, 0x3b, 0xcc, 0xe6, 0x5e, 0x38, - 0xed, 0x8d, 0xba, 0x00, 0xbf, 0xb8, 0xb7, 0x3b, 0x37, 0x8f, 0xfb, 0x6a, 0x05, 0xf7, 0xd9, 0x2b, - 0xf4, 0x7d, 0x0b, 0xce, 0xf3, 0x0c, 0x2c, 0xc5, 0xbf, 0xa4, 0x90, 0x6a, 0x5c, 0x97, 0x44, 0x13, - 0x72, 0x6b, 0x24, 0xdc, 0x5a, 0x7c, 0x59, 0x0c, 0xf2, 0xf9, 0x7a, 0x7f, 0xad, 0xe2, 0x7e, 0xbb, - 0x69, 0xff, 0xeb, 0x32, 0x8c, 0xd1, 0xf1, 0x4c, 0x52, 0x28, 0xbc, 0x64, 0x2c, 0x93, 0x27, 0x52, - 0xcb, 0x64, 0xca, 0x40, 0x7e, 0x38, 0xd9, 0x13, 0x22, 0x98, 0x6a, 0x39, 0x51, 0x7c, 0x85, 0x38, - 0x61, 0x7c, 0x97, 0x38, 0xec, 0x9e, 0x39, 0xed, 0xc3, 0x52, 0xe0, 0xea, 0x5a, 0x19, 0xe1, 0xae, - 0xa5, 0x89, 0xe1, 0x6e, 0xfa, 0x68, 0x1b, 0x10, 0xbb, 0xd3, 0x0e, 0x1d, 0x3f, 0xe2, 0xdf, 0xe2, - 0x09, 0x1b, 0x7d, 0x7f, 0xad, 0xce, 0x8a, 0x56, 0xd1, 0xb5, 0x2e, 0x6a, 0x38, 0xa3, 0x05, 0xcd, - 0x6b, 0x61, 0xa0, 0xa8, 0xd7, 0xc2, 0x60, 0x8e, 0x87, 0xff, 0x2f, 0x58, 0x70, 0x82, 0x4e, 0x8b, - 0xe9, 0x0d, 0x1e, 0xa1, 0x00, 0x26, 0xe8, 0xb2, 0x6b, 0x91, 0x58, 0x96, 0x89, 0xfd, 0x95, 0x23, - 0xe2, 0x9b, 0x74, 0x12, 0x39, 0xf2, 0xaa, 0x49, 0x0c, 0xa7, 0xa9, 0xdb, 0x5f, 0xb3, 0x80, 0x79, - 0x4f, 0x1e, 0xc3, 0x61, 0x76, 0xd9, 0x3c, 0xcc, 0xec, 0x7c, 0x8e, 0xd1, 0xe3, 0x1c, 0x7b, 0x11, - 0x26, 0x29, 0xb4, 0x1e, 0x06, 0x0f, 0x76, 0xa4, 0xc4, 0x9f, 0x2f, 0x5d, 0xfd, 0x42, 0x89, 0x6f, - 0x1b, 0x15, 0x7d, 0x8a, 0x7e, 0xd1, 0x82, 0xe1, 0xa6, 0xd3, 0x76, 0x9a, 0x3c, 0x7b, 0x57, 0x01, - 0x33, 0x91, 0x51, 0x7f, 0x7e, 0x49, 0xd4, 0xe5, 0x26, 0x8e, 0x8f, 0xca, 0x4f, 0x97, 0xc5, 0xb9, - 0x66, 0x0d, 0xd5, 0xf8, 0xec, 0x3d, 0x18, 0x33, 0x88, 0x1d, 0xa9, 0x3e, 0xfc, 0x8b, 0x16, 0x67, - 0xfa, 0x4a, 0x67, 0xb9, 0x0f, 0x53, 0xbe, 0xf6, 0x9f, 0xb2, 0x33, 0x29, 0x50, 0xcf, 0x17, 0x67, - 0xeb, 0x8c, 0x0b, 0x6a, 0x9e, 0xa2, 0x29, 0x82, 0xb8, 0xbb, 0x0d, 0xfb, 0x57, 0x2d, 0x78, 0x44, - 0x47, 0xd4, 0xc2, 0x85, 0xf3, 0x0c, 0xd8, 0x35, 0x18, 0x0e, 0xda, 0x24, 0x74, 0x12, 0xfd, 0xec, - 0xac, 0x1c, 0xff, 0x9b, 0xa2, 0x7c, 0x7f, 0x77, 0x6e, 0x5a, 0xa7, 0x2e, 0xcb, 0xb1, 0xaa, 0x89, - 0x6c, 0x18, 0x64, 0xe3, 0x12, 0x89, 0x40, 0x6f, 0x96, 0xcd, 0x8a, 0x5d, 0x90, 0x45, 0x58, 0x40, - 0xec, 0xbf, 0x69, 0xf1, 0xe5, 0xa6, 0x77, 0x1d, 0xfd, 0x0c, 0x4c, 0x6e, 0x51, 0x55, 0x6e, 0xf9, - 0x41, 0x3b, 0xe4, 0xe6, 0x77, 0x39, 0x62, 0x2f, 0x15, 0x1f, 0x31, 0xed, 0x73, 0x17, 0x67, 0x44, - 0xef, 0x27, 0xaf, 0xa7, 0xc8, 0xe2, 0xae, 0x86, 0xec, 0x7f, 0x50, 0xe2, 0x7b, 0x96, 0xc9, 0x70, - 0xcf, 0xc0, 0x50, 0x3b, 0x70, 0x97, 0x56, 0x6b, 0x58, 0x8c, 0x95, 0x62, 0x3a, 0x75, 0x5e, 0x8c, - 0x25, 0x1c, 0x5d, 0x04, 0x20, 0x0f, 0x62, 0x12, 0xfa, 0x4e, 0x4b, 0x5d, 0xe9, 0x2b, 0x51, 0x69, - 0x59, 0x41, 0xb0, 0x86, 0x45, 0xeb, 0xb4, 0xc3, 0x60, 0xdb, 0x73, 0x59, 0x9c, 0x4b, 0xd9, 0xac, - 0x53, 0x57, 0x10, 0xac, 0x61, 0x51, 0x05, 0xba, 0xe3, 0x47, 0xfc, 0x18, 0x73, 0xee, 0x8a, 0x4c, - 0x4a, 0xc3, 0x89, 0x02, 0x7d, 0x4b, 0x07, 0x62, 0x13, 0x17, 0x5d, 0x85, 0xc1, 0xd8, 0x61, 0x17, - 0xd5, 0x03, 0x45, 0xbc, 0x7e, 0xd6, 0x28, 0xae, 0x9e, 0xba, 0x8a, 0x56, 0xc5, 0x82, 0x84, 0xfd, - 0x9f, 0xaa, 0x00, 0x89, 0xd4, 0x85, 0x3e, 0xdf, 0xbd, 0xe1, 0x3f, 0x56, 0x54, 0x64, 0x7b, 0x78, - 0xbb, 0x1d, 0x7d, 0xc9, 0x82, 0x11, 0xa7, 0xd5, 0x0a, 0x9a, 0x4e, 0xcc, 0x86, 0xa7, 0x54, 0x94, - 0xf5, 0x88, 0x9e, 0x2c, 0x24, 0x75, 0x79, 0x67, 0x5e, 0x90, 0x97, 0xc7, 0x1a, 0x24, 0xb7, 0x3f, - 0x7a, 0x17, 0xd0, 0x47, 0xa5, 0xd4, 0xce, 0x67, 0x78, 0x36, 0x2d, 0xb5, 0x57, 0x19, 0xc3, 0xd5, - 0x04, 0x76, 0xf4, 0x96, 0x91, 0x79, 0xa8, 0x52, 0x24, 0x58, 0xd9, 0x90, 0x43, 0xf2, 0x92, 0x0e, - 0xa1, 0x37, 0x74, 0xf7, 0xf8, 0x81, 0x22, 0xd9, 0x00, 0x34, 0x71, 0x38, 0xc7, 0x35, 0x3e, 0x86, - 0x09, 0xd7, 0x3c, 0x79, 0x85, 0x8b, 0xdf, 0x85, 0xfc, 0x16, 0x52, 0x47, 0x76, 0x72, 0xd6, 0xa6, - 0x00, 0x38, 0xdd, 0x04, 0x7a, 0x83, 0x07, 0x2f, 0xac, 0xfa, 0xeb, 0x81, 0x70, 0xf3, 0x3b, 0x57, - 0x60, 0xce, 0x77, 0xa2, 0x98, 0x6c, 0xd1, 0x3a, 0xc9, 0xe1, 0x7a, 0x43, 0x50, 0xc1, 0x8a, 0x1e, - 0x5a, 0x83, 0x41, 0x16, 0x9b, 0x16, 0xcd, 0x0c, 0x17, 0x31, 0x09, 0x9a, 0x21, 0xd9, 0xc9, 0xfe, - 0x61, 0x7f, 0x23, 0x2c, 0x68, 0xa1, 0x2b, 0x32, 0x29, 0x43, 0xb4, 0xea, 0xdf, 0x8a, 0x08, 0x4b, - 0xca, 0x50, 0x5d, 0xfc, 0x48, 0x92, 0x65, 0x81, 0x97, 0x67, 0xa6, 0x6b, 0x34, 0x6a, 0x52, 0xc1, - 0x46, 0xfc, 0x97, 0x59, 0x20, 0x67, 0xa0, 0x48, 0x47, 0xcd, 0x9c, 0x91, 0xc9, 0x60, 0xdf, 0x36, - 0x89, 0xe1, 0x34, 0xf5, 0x63, 0x3d, 0x52, 0x67, 0x7d, 0x98, 0x4c, 0x6f, 0xca, 0x23, 0x3d, 0xc2, - 0x7f, 0x58, 0x81, 0x71, 0x73, 0x71, 0xa0, 0xf3, 0x50, 0x15, 0x44, 0x54, 0x8a, 0x37, 0xb5, 0x07, - 0xae, 0x4b, 0x00, 0x4e, 0x70, 0x58, 0xb2, 0x3b, 0x56, 0x5d, 0x73, 0xf0, 0x4a, 0x92, 0xdd, 0x29, - 0x08, 0xd6, 0xb0, 0xa8, 0x24, 0x7c, 0x37, 0x08, 0x62, 0x75, 0x12, 0xa8, 0x75, 0xb3, 0xc8, 0x4a, - 0xb1, 0x80, 0xd2, 0x13, 0xe0, 0x1e, 0x9d, 0xcc, 0x96, 0x69, 0xde, 0x54, 0x27, 0xc0, 0x55, 0x1d, - 0x88, 0x4d, 0x5c, 0x7a, 0xa2, 0x05, 0x11, 0x5b, 0x88, 0x42, 0xde, 0x4e, 0x1c, 0xe6, 0x1a, 0x3c, - 0x5e, 0x53, 0xc2, 0xd1, 0xa7, 0xe1, 0x11, 0x15, 0x5e, 0x89, 0xb9, 0xb9, 0x58, 0xb6, 0x38, 0x68, - 0xa8, 0xcc, 0x8f, 0x2c, 0x65, 0xa3, 0xe1, 0x5e, 0xf5, 0xd1, 0xab, 0x30, 0x2e, 0x64, 0x65, 0x49, - 0x71, 0xc8, 0xf4, 0x7b, 0xb8, 0x6a, 0x40, 0x71, 0x0a, 0x1b, 0xd5, 0x60, 0x92, 0x96, 0x30, 0x21, - 0x55, 0x52, 0xe0, 0x61, 0xa2, 0xea, 0xa8, 0xbf, 0x9a, 0x82, 0xe3, 0xae, 0x1a, 0x68, 0x01, 0x26, - 0xb8, 0xb0, 0x42, 0x15, 0x43, 0x36, 0x0f, 0xc2, 0x37, 0x57, 0x6d, 0x84, 0x9b, 0x26, 0x18, 0xa7, - 0xf1, 0xd1, 0x25, 0x18, 0x75, 0xc2, 0xe6, 0xa6, 0x17, 0x93, 0x66, 0xdc, 0x09, 0x79, 0xca, 0x13, - 0xcd, 0x71, 0x64, 0x41, 0x83, 0x61, 0x03, 0xd3, 0x7e, 0x0f, 0x4e, 0x64, 0x04, 0x02, 0xd0, 0x85, - 0xe3, 0xb4, 0x3d, 0xf9, 0x4d, 0x29, 0xd7, 0xb7, 0x85, 0xfa, 0xaa, 0xfc, 0x1a, 0x0d, 0x8b, 0xae, - 0x4e, 0x66, 0x27, 0xd7, 0x92, 0xb6, 0xaa, 0xd5, 0xb9, 0x22, 0x01, 0x38, 0xc1, 0xb1, 0xff, 0x14, - 0x40, 0xb3, 0xde, 0x14, 0x70, 0x77, 0xba, 0x04, 0xa3, 0x32, 0x0f, 0xb1, 0x96, 0xcc, 0x53, 0x7d, - 0xe6, 0x65, 0x0d, 0x86, 0x0d, 0x4c, 0xda, 0x37, 0x5f, 0xda, 0xa4, 0xd2, 0x8e, 0x76, 0xca, 0x58, - 0x85, 0x13, 0x1c, 0x74, 0x0e, 0x86, 0x23, 0xd2, 0x5a, 0xbf, 0xe6, 0xf9, 0xf7, 0xc4, 0xc2, 0x56, - 0x9c, 0xb9, 0x21, 0xca, 0xb1, 0xc2, 0x40, 0x8b, 0x50, 0xee, 0x78, 0xae, 0x58, 0xca, 0x52, 0x6c, - 0x28, 0xdf, 0x5a, 0xad, 0xed, 0xef, 0xce, 0x3d, 0xd1, 0x2b, 0xbd, 0x32, 0xd5, 0xcf, 0xa3, 0x79, - 0xba, 0xfd, 0x68, 0xe5, 0xac, 0x0b, 0x83, 0xc1, 0x3e, 0x2f, 0x0c, 0x2e, 0x02, 0x88, 0xaf, 0x96, - 0x6b, 0xb9, 0x9c, 0xcc, 0xda, 0x65, 0x05, 0xc1, 0x1a, 0x16, 0xd5, 0xf2, 0x9b, 0x21, 0x71, 0xa4, - 0x22, 0xcc, 0x1d, 0xd4, 0x87, 0x0f, 0xaf, 0xe5, 0x2f, 0xa5, 0x89, 0xe1, 0x6e, 0xfa, 0x28, 0x80, - 0x29, 0x57, 0xc4, 0xf0, 0x26, 0x8d, 0x56, 0xfb, 0xf7, 0x8a, 0x67, 0xbe, 0x3d, 0x69, 0x42, 0xb8, - 0x9b, 0x36, 0xfa, 0x2c, 0xcc, 0xca, 0xc2, 0xee, 0x00, 0x6a, 0xb6, 0x5d, 0xca, 0x8b, 0xa7, 0xf7, - 0x76, 0xe7, 0x66, 0x6b, 0x3d, 0xb1, 0xf0, 0x01, 0x14, 0xd0, 0x9b, 0x30, 0xc8, 0x2e, 0x98, 0xa2, - 0x99, 0x11, 0x76, 0xe2, 0xbd, 0x58, 0x24, 0xb6, 0x82, 0xae, 0xfa, 0x79, 0x76, 0x4d, 0x25, 0xbc, - 0x86, 0x93, 0x5b, 0x3b, 0x56, 0x88, 0x05, 0x4d, 0xd4, 0x86, 0x11, 0xc7, 0xf7, 0x83, 0xd8, 0xe1, - 0x82, 0xd8, 0x68, 0x11, 0x59, 0x52, 0x6b, 0x62, 0x21, 0xa9, 0xcb, 0xdb, 0x51, 0x8e, 0x88, 0x1a, - 0x04, 0xeb, 0x4d, 0xa0, 0xfb, 0x30, 0x11, 0xdc, 0xa7, 0x0c, 0x53, 0xde, 0x88, 0x44, 0x33, 0x63, - 0xe6, 0x87, 0xe5, 0x18, 0x6a, 0x8d, 0xca, 0x1a, 0x27, 0x33, 0x89, 0xe2, 0x74, 0x2b, 0x68, 0xde, - 0x30, 0x57, 0x8f, 0x27, 0xbe, 0xf1, 0x89, 0xb9, 0x5a, 0xb7, 0x4e, 0xb3, 0x20, 0x7d, 0xee, 0x0f, - 0xcb, 0x38, 0xc2, 0x44, 0x2a, 0x48, 0x3f, 0x01, 0x61, 0x1d, 0x0f, 0x6d, 0xc2, 0x68, 0x72, 0xb7, - 0x15, 0x46, 0x2c, 0xff, 0x8f, 0xe6, 0xee, 0x75, 0xf0, 0xc7, 0xad, 0x6a, 0x35, 0x79, 0xa4, 0x8f, - 0x5e, 0x82, 0x0d, 0xca, 0xb3, 0x1f, 0x87, 0x11, 0x6d, 0x8a, 0xfb, 0x71, 0xf7, 0x9e, 0x7d, 0x15, - 0x26, 0xd3, 0x53, 0xd7, 0x97, 0xbb, 0xf8, 0xff, 0x28, 0xc1, 0x44, 0xc6, 0xc5, 0x16, 0xcb, 0xc6, - 0x9c, 0x62, 0xb2, 0x49, 0xf2, 0x65, 0x93, 0x55, 0x96, 0x0a, 0xb0, 0x4a, 0xc9, 0xb7, 0xcb, 0x3d, - 0xf9, 0xb6, 0x60, 0x8f, 0x95, 0xf7, 0xc3, 0x1e, 0xcd, 0x13, 0x69, 0xa0, 0xd0, 0x89, 0xf4, 0x10, - 0x58, 0xaa, 0x71, 0xa8, 0x0d, 0x15, 0x38, 0xd4, 0xbe, 0x5a, 0x82, 0xc9, 0xc4, 0x35, 0x5e, 0xa4, - 0x41, 0x3f, 0xfa, 0x0b, 0x8f, 0x35, 0xe3, 0xc2, 0x23, 0x2f, 0xcb, 0x79, 0xaa, 0x7f, 0x3d, 0x2f, - 0x3f, 0xde, 0x4c, 0x5d, 0x7e, 0xbc, 0xd8, 0x27, 0xdd, 0x83, 0x2f, 0x42, 0xbe, 0x55, 0x82, 0x93, - 0xe9, 0x2a, 0x4b, 0x2d, 0xc7, 0xdb, 0x3a, 0x86, 0xf1, 0xfa, 0xb4, 0x31, 0x5e, 0x2f, 0xf7, 0xf7, - 0x5d, 0xac, 0x93, 0x3d, 0x07, 0xcd, 0x49, 0x0d, 0xda, 0xc7, 0x0f, 0x43, 0xfc, 0xe0, 0x91, 0xfb, - 0x43, 0x0b, 0x1e, 0xcd, 0xac, 0x77, 0x0c, 0x26, 0xde, 0xd7, 0x4d, 0x13, 0xef, 0x0b, 0x87, 0xf8, - 0xba, 0x1e, 0x36, 0xdf, 0x5f, 0x2b, 0xf7, 0xf8, 0x2a, 0x66, 0x04, 0xbb, 0x09, 0x23, 0x4e, 0xb3, - 0x49, 0xa2, 0xe8, 0x7a, 0xe0, 0xaa, 0xc4, 0x62, 0xcf, 0xb3, 0x53, 0x2c, 0x29, 0xde, 0xdf, 0x9d, - 0x9b, 0x4d, 0x93, 0x48, 0xc0, 0x58, 0xa7, 0x60, 0xa6, 0x3c, 0x2c, 0x1d, 0x51, 0xca, 0xc3, 0x8b, - 0x00, 0xdb, 0x4a, 0x5f, 0x4e, 0xdb, 0xd6, 0x34, 0x4d, 0x5a, 0xc3, 0x42, 0x7f, 0x85, 0xc9, 0x9e, - 0xdc, 0x2f, 0xa5, 0x62, 0x46, 0xd9, 0xe6, 0xcc, 0x9f, 0xee, 0xe3, 0xc2, 0x83, 0x79, 0x95, 0x1d, - 0x52, 0x91, 0x44, 0x9f, 0x82, 0xc9, 0x88, 0xe7, 0xa4, 0x58, 0x6a, 0x39, 0x11, 0x8b, 0x09, 0x11, - 0xfc, 0x94, 0xc5, 0xe5, 0x36, 0x52, 0x30, 0xdc, 0x85, 0x6d, 0x7f, 0xb3, 0x0c, 0x1f, 0x3e, 0x60, - 0xd9, 0xa2, 0x05, 0xf3, 0x7e, 0xf8, 0xb9, 0xb4, 0xa5, 0x69, 0x36, 0xb3, 0xb2, 0x61, 0x7a, 0x4a, - 0xcd, 0x76, 0xe9, 0x7d, 0xcf, 0xf6, 0x97, 0x75, 0xbb, 0x20, 0x77, 0x55, 0xbd, 0x7c, 0xe8, 0x8d, - 0xf9, 0xa3, 0x7a, 0x2d, 0xf0, 0x39, 0x0b, 0x9e, 0xc8, 0xfc, 0x2c, 0xc3, 0x1f, 0xe5, 0x3c, 0x54, - 0x9b, 0xb4, 0x50, 0x8b, 0xe0, 0x4a, 0x42, 0x27, 0x25, 0x00, 0x27, 0x38, 0x86, 0xdb, 0x49, 0x29, - 0xd7, 0xed, 0xe4, 0xf7, 0x2c, 0x98, 0x4e, 0x77, 0xe2, 0x18, 0xf8, 0x56, 0xc3, 0xe4, 0x5b, 0xf3, - 0xfd, 0x4d, 0x7e, 0x0f, 0x96, 0xf5, 0xd5, 0x49, 0x38, 0xd5, 0x75, 0xea, 0xf1, 0x51, 0xfc, 0x39, - 0x0b, 0xa6, 0x36, 0x98, 0x9e, 0xa0, 0x85, 0xc9, 0x89, 0xef, 0xca, 0x89, 0x2d, 0x3c, 0x30, 0xba, - 0x8e, 0x6b, 0x3d, 0x5d, 0x28, 0xb8, 0xbb, 0x31, 0xf4, 0x45, 0x0b, 0xa6, 0x9d, 0xfb, 0x51, 0xd7, - 0x23, 0x3d, 0x62, 0x21, 0xbd, 0x9a, 0x63, 0x96, 0xcb, 0x79, 0xde, 0x67, 0x71, 0x66, 0x6f, 0x77, - 0x6e, 0x3a, 0x0b, 0x0b, 0x67, 0xb6, 0x4a, 0xe7, 0x77, 0x53, 0x84, 0xcb, 0x14, 0x0b, 0xf8, 0xcc, - 0x0a, 0xae, 0xe1, 0x6c, 0x4d, 0x42, 0xb0, 0xa2, 0x88, 0xde, 0x86, 0xea, 0x86, 0x8c, 0x8c, 0x4b, - 0xb3, 0xcd, 0x1e, 0xc3, 0x9c, 0x15, 0x48, 0xc7, 0xc3, 0x15, 0x14, 0x08, 0x27, 0x44, 0xd1, 0x15, - 0x28, 0xfb, 0xeb, 0x91, 0x88, 0x41, 0xcf, 0xf3, 0x36, 0x32, 0x7d, 0xbc, 0x78, 0xd8, 0xee, 0x8d, - 0x95, 0x06, 0xa6, 0x24, 0x28, 0xa5, 0xf0, 0xae, 0x2b, 0xec, 0xd1, 0x39, 0x94, 0xf0, 0x62, 0xad, - 0x9b, 0x12, 0x5e, 0xac, 0x61, 0x4a, 0x02, 0xd5, 0x61, 0x80, 0x05, 0xe3, 0x08, 0x63, 0x73, 0x4e, - 0xa2, 0x82, 0xae, 0x90, 0x23, 0x9e, 0x99, 0x93, 0x15, 0x63, 0x4e, 0x08, 0xad, 0xc1, 0x60, 0x93, - 0x3d, 0x2e, 0x21, 0xac, 0x00, 0x79, 0x29, 0x3c, 0xba, 0x1e, 0xa2, 0xe0, 0x37, 0x6c, 0xbc, 0x1c, - 0x0b, 0x5a, 0x8c, 0x2a, 0x69, 0x6f, 0xae, 0x47, 0x42, 0xcd, 0xcf, 0xa3, 0xda, 0xf5, 0x4c, 0x88, - 0xa0, 0xca, 0xca, 0xb1, 0xa0, 0x85, 0x6a, 0x50, 0x5a, 0x6f, 0x8a, 0x58, 0x9d, 0x1c, 0x23, 0xb3, - 0x19, 0x83, 0xbd, 0x38, 0xb8, 0xb7, 0x3b, 0x57, 0x5a, 0x59, 0xc2, 0xa5, 0xf5, 0x26, 0x7a, 0x1d, - 0x86, 0xd6, 0x79, 0x54, 0xad, 0x48, 0xe6, 0x7b, 0x21, 0x2f, 0xf4, 0xb7, 0x2b, 0x04, 0x97, 0x87, - 0xa4, 0x08, 0x00, 0x96, 0xe4, 0x58, 0x9e, 0x43, 0x15, 0x27, 0x2c, 0xb2, 0xf9, 0xce, 0xf7, 0x17, - 0x57, 0x2c, 0xb4, 0x5f, 0x55, 0x8a, 0x35, 0x8a, 0x74, 0xcd, 0x3b, 0xf2, 0x9d, 0x1c, 0x96, 0xc9, - 0x37, 0x77, 0xcd, 0x67, 0x3e, 0xab, 0xc3, 0xd7, 0xbc, 0x02, 0xe1, 0x84, 0x28, 0xea, 0xc0, 0xd8, - 0x76, 0xd4, 0xde, 0x24, 0x72, 0xeb, 0xb3, 0xf4, 0xbe, 0x23, 0x17, 0x3f, 0x99, 0x93, 0xb3, 0x59, - 0x54, 0xf1, 0xc2, 0xb8, 0xe3, 0xb4, 0xba, 0x38, 0x18, 0x4b, 0x2c, 0x77, 0x5b, 0x27, 0x8b, 0xcd, - 0x56, 0xe8, 0x94, 0xbc, 0xdb, 0x09, 0xee, 0xee, 0xc4, 0x44, 0xa4, 0xff, 0xcd, 0x99, 0x92, 0xd7, - 0x38, 0x72, 0xf7, 0x94, 0x08, 0x00, 0x96, 0xe4, 0xd4, 0x90, 0x31, 0x6e, 0x3c, 0x59, 0x78, 0xc8, - 0xba, 0xbe, 0x21, 0x19, 0x32, 0xc6, 0x7d, 0x13, 0xa2, 0x8c, 0xeb, 0xb6, 0x37, 0x83, 0x38, 0xf0, - 0x53, 0xbc, 0x7f, 0xaa, 0x08, 0xd7, 0xad, 0x67, 0xd4, 0xec, 0xe6, 0xba, 0x59, 0x58, 0x38, 0xb3, - 0x55, 0xe4, 0xc3, 0x78, 0x3b, 0x08, 0xe3, 0xfb, 0x41, 0x28, 0xd7, 0x21, 0x2a, 0xa4, 0x23, 0x1a, - 0x75, 0x44, 0xdb, 0xcc, 0xf3, 0xd8, 0x84, 0xe0, 0x14, 0x75, 0x3a, 0x75, 0x51, 0xd3, 0x69, 0x91, - 0xd5, 0x9b, 0x33, 0x27, 0x8a, 0x4c, 0x5d, 0x83, 0x23, 0x77, 0x4f, 0x9d, 0x00, 0x60, 0x49, 0x8e, - 0xf2, 0x3a, 0x96, 0xcb, 0x9e, 0x65, 0x33, 0xce, 0xe5, 0x75, 0x5d, 0xde, 0xb9, 0x9c, 0xd7, 0xb1, - 0x62, 0xcc, 0x09, 0xa1, 0x77, 0xa0, 0x2a, 0x84, 0xdb, 0x20, 0x9a, 0x39, 0xc9, 0xa8, 0xfe, 0x64, - 0x4e, 0x6f, 0x39, 0xfa, 0xcd, 0x46, 0xf6, 0xa9, 0x2f, 0xa2, 0xff, 0x24, 0x12, 0x4e, 0xc8, 0xdb, - 0xbf, 0x3a, 0xd8, 0x2d, 0xf6, 0x30, 0xc5, 0xe6, 0x6f, 0x74, 0xdf, 0x58, 0x7f, 0xaa, 0x7f, 0xfd, - 0xfd, 0x21, 0xde, 0x5d, 0x7f, 0xd1, 0x82, 0x53, 0xed, 0xcc, 0xcf, 0x13, 0x82, 0x43, 0xbf, 0x66, - 0x00, 0x3e, 0x34, 0x2a, 0xc7, 0x78, 0x36, 0x1c, 0xf7, 0x68, 0x33, 0xad, 0x0a, 0x94, 0xdf, 0xb7, - 0x2a, 0x70, 0x07, 0x86, 0x99, 0xec, 0x9a, 0xe4, 0xf7, 0xe9, 0x33, 0x15, 0x0e, 0x13, 0x41, 0x96, - 0x04, 0x09, 0xac, 0x88, 0xd1, 0x81, 0x7b, 0x3c, 0xfd, 0x11, 0x98, 0x30, 0xb0, 0xc8, 0x6c, 0xc9, - 0xf5, 0xac, 0x15, 0x31, 0x12, 0x8f, 0xd7, 0x0f, 0x42, 0xde, 0xcf, 0x43, 0xc0, 0x07, 0x37, 0x86, - 0x6a, 0x19, 0x8a, 0xde, 0xa0, 0x79, 0x3d, 0x95, 0xaf, 0xec, 0x1d, 0xaf, 0x82, 0xf2, 0x0f, 0xad, - 0x0c, 0x79, 0x9a, 0x2b, 0x95, 0x9f, 0x34, 0x95, 0xca, 0xa7, 0xd3, 0x4a, 0x65, 0x97, 0x29, 0xc9, - 0xd0, 0x27, 0x8b, 0x67, 0xe6, 0x2d, 0x9a, 0xc0, 0xc8, 0x6e, 0xc1, 0x99, 0x3c, 0x66, 0xcd, 0x5c, - 0xd6, 0x5c, 0x75, 0x59, 0x9b, 0xb8, 0xac, 0xb9, 0xab, 0x35, 0xcc, 0x20, 0x45, 0x73, 0x60, 0xd8, - 0x3f, 0x5f, 0x82, 0x72, 0x3d, 0x70, 0x8f, 0xc1, 0x34, 0x76, 0xd9, 0x30, 0x8d, 0x3d, 0x95, 0xfb, - 0x50, 0x64, 0x4f, 0x43, 0xd8, 0xcd, 0x94, 0x21, 0xec, 0x27, 0xf2, 0x49, 0x1d, 0x6c, 0xf6, 0xfa, - 0x76, 0x19, 0xf4, 0xa7, 0x2e, 0xd1, 0x7f, 0x38, 0x8c, 0x27, 0x73, 0xb9, 0xd8, 0xeb, 0x97, 0xa2, - 0x0d, 0xe6, 0xf1, 0x26, 0x03, 0x31, 0x7f, 0x64, 0x1d, 0x9a, 0xef, 0x10, 0x6f, 0x63, 0x33, 0x26, - 0x6e, 0xfa, 0xc3, 0x8e, 0xcf, 0xa1, 0xf9, 0x2f, 0x2c, 0x98, 0x48, 0xb5, 0x8e, 0x5a, 0x59, 0x11, - 0x5c, 0x87, 0x34, 0x76, 0x4d, 0xe5, 0x86, 0x7c, 0xcd, 0x03, 0xa8, 0x3b, 0x0b, 0x69, 0x50, 0x62, - 0xb2, 0xb5, 0xba, 0xd4, 0x88, 0xb0, 0x86, 0x81, 0x5e, 0x82, 0x91, 0x38, 0x68, 0x07, 0xad, 0x60, - 0x63, 0xe7, 0x2a, 0x91, 0xd9, 0x59, 0xd4, 0xcd, 0xd2, 0x5a, 0x02, 0xc2, 0x3a, 0x9e, 0xfd, 0x9d, - 0x32, 0xa4, 0x1f, 0x4a, 0xfd, 0xff, 0xeb, 0xf4, 0x47, 0x67, 0x9d, 0xfe, 0xb1, 0x05, 0x93, 0xb4, - 0x75, 0xe6, 0x62, 0x24, 0x1d, 0x8f, 0xd5, 0x33, 0x21, 0xd6, 0x01, 0xcf, 0x84, 0x3c, 0x4d, 0xb9, - 0x9d, 0x1b, 0x74, 0x62, 0x61, 0x02, 0xd3, 0x98, 0x18, 0x2d, 0xc5, 0x02, 0x2a, 0xf0, 0x48, 0x18, - 0x8a, 0x08, 0x2d, 0x1d, 0x8f, 0x84, 0x21, 0x16, 0x50, 0xf9, 0x8a, 0x48, 0xa5, 0xc7, 0x2b, 0x22, - 0x2c, 0xbf, 0x99, 0x70, 0x6b, 0x11, 0x62, 0x85, 0x96, 0xdf, 0x4c, 0xfa, 0xbb, 0x24, 0x38, 0xf6, - 0xd7, 0xcb, 0x30, 0x5a, 0x0f, 0xdc, 0x24, 0xa2, 0xe0, 0x45, 0x23, 0xa2, 0xe0, 0x4c, 0x2a, 0xa2, - 0x60, 0x52, 0xc7, 0x7d, 0x38, 0x01, 0x05, 0x22, 0x0f, 0x1e, 0x7b, 0xe7, 0xe6, 0x90, 0xc1, 0x04, - 0x46, 0x1e, 0x3c, 0x45, 0x08, 0x9b, 0x74, 0x7f, 0x9c, 0x82, 0x08, 0xfe, 0xb7, 0x05, 0xe3, 0xf5, - 0xc0, 0xa5, 0x0b, 0xf4, 0xc7, 0x69, 0x35, 0xea, 0xd9, 0xf3, 0x06, 0x0f, 0xc8, 0x9e, 0xf7, 0xcf, - 0x2d, 0x18, 0xaa, 0x07, 0xee, 0x31, 0x98, 0x87, 0x57, 0x4c, 0xf3, 0xf0, 0x13, 0xb9, 0x9c, 0xb7, - 0x87, 0x45, 0xf8, 0x9b, 0x65, 0x18, 0xa3, 0x3d, 0x0e, 0x36, 0xe4, 0x7c, 0x19, 0x63, 0x63, 0x15, - 0x18, 0x1b, 0x2a, 0x12, 0x06, 0xad, 0x56, 0x70, 0x3f, 0x3d, 0x77, 0x2b, 0xac, 0x14, 0x0b, 0x28, - 0x3a, 0x07, 0xc3, 0xed, 0x90, 0x6c, 0x7b, 0x41, 0x27, 0x4a, 0x47, 0x7b, 0xd6, 0x45, 0x39, 0x56, - 0x18, 0xe8, 0x45, 0x18, 0x8d, 0x3c, 0xbf, 0x49, 0xa4, 0xd3, 0x4b, 0x85, 0x39, 0xbd, 0xf0, 0x44, - 0xa5, 0x5a, 0x39, 0x36, 0xb0, 0xd0, 0x1d, 0xa8, 0xb2, 0xff, 0x6c, 0x07, 0xf5, 0xff, 0x0c, 0x08, - 0x57, 0x87, 0x25, 0x01, 0x9c, 0xd0, 0x42, 0x17, 0x01, 0x62, 0xe9, 0x9e, 0x13, 0x89, 0xb0, 0x64, - 0x25, 0x97, 0x2a, 0xc7, 0x9d, 0x08, 0x6b, 0x58, 0xe8, 0x39, 0xa8, 0xc6, 0x8e, 0xd7, 0xba, 0xe6, - 0xf9, 0x24, 0x12, 0xee, 0x4d, 0x22, 0xe9, 0xb8, 0x28, 0xc4, 0x09, 0x9c, 0x9e, 0xf7, 0x2c, 0xe8, - 0x9d, 0x3f, 0x31, 0x34, 0xcc, 0xb0, 0xd9, 0x79, 0x7f, 0x4d, 0x95, 0x62, 0x0d, 0xc3, 0xbe, 0x04, - 0x27, 0xeb, 0x81, 0x5b, 0x0f, 0xc2, 0x78, 0x25, 0x08, 0xef, 0x3b, 0xa1, 0x2b, 0xe7, 0x6f, 0x4e, - 0xe6, 0xba, 0xa6, 0x67, 0xf2, 0x00, 0xb7, 0x22, 0x18, 0xb9, 0xab, 0x5f, 0x60, 0x27, 0x7e, 0x9f, - 0xa1, 0x2a, 0x7f, 0x54, 0x06, 0x54, 0x67, 0x0e, 0x44, 0xc6, 0x8b, 0x54, 0x9b, 0x30, 0x1e, 0x91, - 0x6b, 0x9e, 0xdf, 0x79, 0x20, 0x48, 0x15, 0x8b, 0x0d, 0x6a, 0x2c, 0xeb, 0x75, 0xb8, 0x9d, 0xc6, - 0x2c, 0xc3, 0x29, 0xba, 0x74, 0x66, 0xc3, 0x8e, 0xbf, 0x10, 0xdd, 0x8a, 0x48, 0x28, 0x5e, 0x60, - 0xfa, 0x38, 0xbb, 0xc6, 0x94, 0x85, 0xfb, 0xbb, 0x73, 0x67, 0x73, 0x9c, 0x33, 0x7c, 0xef, 0x01, - 0xc5, 0x5c, 0xad, 0xe1, 0x84, 0x16, 0x5d, 0x68, 0xec, 0xcf, 0x8d, 0xc0, 0xc7, 0x41, 0x10, 0xcb, - 0xa5, 0xc9, 0x5e, 0xef, 0xd0, 0xca, 0xb1, 0x81, 0x85, 0x22, 0x40, 0x51, 0xa7, 0xdd, 0x6e, 0xb1, - 0x5b, 0x55, 0xa7, 0x75, 0x39, 0x0c, 0x3a, 0x6d, 0xee, 0x73, 0x5e, 0x5e, 0x5c, 0xa2, 0x3c, 0xb8, - 0xd1, 0x05, 0xdd, 0xdf, 0x9d, 0x7b, 0x26, 0xbf, 0x83, 0x0c, 0x77, 0xb5, 0x86, 0x33, 0xc8, 0x23, - 0x0c, 0x43, 0xeb, 0x11, 0xfb, 0x2d, 0x42, 0xeb, 0x2f, 0x31, 0x33, 0x6e, 0x83, 0x15, 0xf5, 0x47, - 0x5e, 0x12, 0xb2, 0x7f, 0x96, 0x1d, 0xb3, 0xec, 0x81, 0x9e, 0xb8, 0x13, 0x12, 0xb4, 0x05, 0x63, - 0x6d, 0x76, 0x94, 0xc6, 0x61, 0xd0, 0x6a, 0x11, 0x29, 0xe5, 0x1e, 0xce, 0x91, 0x8a, 0x3f, 0xc9, - 0xa1, 0x93, 0xc3, 0x26, 0x75, 0xfb, 0xbf, 0x8e, 0x33, 0x8e, 0x29, 0xae, 0xcc, 0x87, 0x84, 0xcb, - 0xb4, 0x90, 0x27, 0x3f, 0x52, 0xe4, 0xa9, 0xbd, 0xe4, 0x34, 0x12, 0x0e, 0xd8, 0x58, 0x52, 0x41, - 0x9f, 0x61, 0x01, 0x01, 0x9c, 0x4d, 0x15, 0x7f, 0x40, 0x94, 0xe3, 0x1b, 0xc1, 0x00, 0x82, 0x04, - 0xd6, 0xc8, 0xa1, 0x6b, 0x30, 0x26, 0xde, 0x73, 0x11, 0xc6, 0x92, 0xb2, 0xa1, 0xe8, 0x8f, 0x61, - 0x1d, 0xb8, 0x9f, 0x2e, 0xc0, 0x66, 0x65, 0xb4, 0x01, 0x8f, 0x6b, 0xef, 0x95, 0x65, 0x38, 0xfd, - 0x71, 0xfe, 0xf7, 0xc4, 0xde, 0xee, 0xdc, 0xe3, 0x6b, 0x07, 0x21, 0xe2, 0x83, 0xe9, 0xa0, 0x9b, - 0x70, 0xd2, 0x69, 0xc6, 0xde, 0x36, 0xa9, 0x11, 0xc7, 0x6d, 0x79, 0x3e, 0x31, 0x93, 0x35, 0x3c, - 0xba, 0xb7, 0x3b, 0x77, 0x72, 0x21, 0x0b, 0x01, 0x67, 0xd7, 0x43, 0x9f, 0x84, 0xaa, 0xeb, 0x47, - 0x62, 0x0c, 0x06, 0x8d, 0xe7, 0xf9, 0xaa, 0xb5, 0x1b, 0x0d, 0xf5, 0xfd, 0xc9, 0x1f, 0x9c, 0x54, - 0x40, 0xef, 0xc2, 0xa8, 0x1e, 0x84, 0x25, 0x9e, 0x85, 0x7c, 0xb9, 0x90, 0x16, 0x6f, 0x44, 0x2e, - 0x71, 0x3b, 0xa2, 0x72, 0xae, 0x35, 0x82, 0x9a, 0x8c, 0x26, 0xd0, 0x4f, 0x03, 0x8a, 0x48, 0xb8, - 0xed, 0x35, 0xc9, 0x42, 0x93, 0xe5, 0x18, 0x66, 0x96, 0xa6, 0x61, 0x23, 0xca, 0x04, 0x35, 0xba, - 0x30, 0x70, 0x46, 0x2d, 0x74, 0x85, 0xf2, 0x3f, 0xbd, 0x54, 0xf8, 0x42, 0x4b, 0xf1, 0x74, 0xa6, - 0x46, 0xda, 0x21, 0x69, 0x3a, 0x31, 0x71, 0x4d, 0x8a, 0x38, 0x55, 0x8f, 0x9e, 0x8e, 0xea, 0x19, - 0x09, 0x30, 0x3d, 0x78, 0xbb, 0x9f, 0x92, 0xa0, 0xda, 0xde, 0x66, 0x10, 0xc5, 0x37, 0x48, 0x7c, - 0x3f, 0x08, 0xef, 0x89, 0xbc, 0x6c, 0x49, 0xc2, 0xc6, 0x04, 0x84, 0x75, 0x3c, 0x2a, 0xc9, 0xb1, - 0x0b, 0xc8, 0xd5, 0x1a, 0xbb, 0xdd, 0x19, 0x4e, 0xf6, 0xce, 0x15, 0x5e, 0x8c, 0x25, 0x5c, 0xa2, - 0xae, 0xd6, 0x97, 0xd8, 0x4d, 0x4d, 0x0a, 0x75, 0xb5, 0xbe, 0x84, 0x25, 0x1c, 0x05, 0xdd, 0x8f, - 0x20, 0x8e, 0x17, 0xb9, 0x35, 0xeb, 0x3e, 0x4f, 0x0a, 0xbe, 0x83, 0xf8, 0x00, 0x26, 0xd5, 0x43, - 0x8c, 0x3c, 0x75, 0x5d, 0x34, 0x33, 0xc1, 0x16, 0xce, 0x61, 0x32, 0xe0, 0x29, 0xeb, 0xe2, 0x6a, - 0x8a, 0x26, 0xee, 0x6a, 0xc5, 0x48, 0x11, 0x32, 0x99, 0xfb, 0x34, 0xc8, 0x79, 0xa8, 0x46, 0x9d, - 0xbb, 0x6e, 0xb0, 0xe5, 0x78, 0x3e, 0xbb, 0x4e, 0xd1, 0x44, 0xa9, 0x86, 0x04, 0xe0, 0x04, 0x07, - 0xd5, 0x61, 0xd8, 0x11, 0x8a, 0xa4, 0xb8, 0xf6, 0xc8, 0xc9, 0x05, 0x20, 0xd5, 0x4e, 0x6e, 0xe3, - 0x95, 0xff, 0xb0, 0xa2, 0x82, 0x5e, 0x81, 0x31, 0x11, 0xca, 0x26, 0x5c, 0x4e, 0x4f, 0x98, 0x61, - 0x0f, 0x0d, 0x1d, 0x88, 0x4d, 0x5c, 0xb4, 0x01, 0xe3, 0x94, 0x4a, 0xc2, 0x00, 0x67, 0xa6, 0xfb, - 0xe3, 0xa1, 0x5a, 0x12, 0x76, 0x9d, 0x0c, 0x4e, 0x91, 0x45, 0x2e, 0x3c, 0xe6, 0x74, 0xe2, 0x60, - 0x8b, 0xee, 0x04, 0x73, 0x9f, 0xac, 0x05, 0xf7, 0x88, 0xcf, 0xee, 0x3a, 0x86, 0x17, 0xcf, 0xec, - 0xed, 0xce, 0x3d, 0xb6, 0x70, 0x00, 0x1e, 0x3e, 0x90, 0x0a, 0x7a, 0x0b, 0x46, 0xe2, 0xa0, 0x25, - 0x3c, 0xc9, 0xa3, 0x99, 0x53, 0x45, 0x52, 0x21, 0xad, 0xa9, 0x0a, 0xba, 0x31, 0x45, 0x11, 0xc1, - 0x3a, 0x45, 0xf4, 0x36, 0x8c, 0xd2, 0xb9, 0xbf, 0xee, 0xb4, 0xdb, 0x9e, 0xbf, 0x11, 0xcd, 0x3c, - 0x52, 0x64, 0xb4, 0x54, 0xa2, 0x4f, 0x73, 0xff, 0xb2, 0x22, 0x12, 0x61, 0x83, 0xe2, 0xec, 0x4f, - 0xc1, 0x54, 0x17, 0xd3, 0xeb, 0xcb, 0xc9, 0xf6, 0x3f, 0x0e, 0x40, 0x55, 0x59, 0x2e, 0xd1, 0x79, - 0xd3, 0x48, 0xfd, 0x68, 0xda, 0x48, 0x3d, 0x4c, 0x05, 0x45, 0xdd, 0x2e, 0xfd, 0xd9, 0x8c, 0xc7, - 0xfd, 0x9f, 0xcd, 0xdd, 0xe5, 0xc5, 0x23, 0xec, 0x34, 0x55, 0xb3, 0x5c, 0xd8, 0xee, 0x5d, 0x39, - 0x50, 0x7b, 0x2d, 0xf8, 0x60, 0x25, 0xd5, 0x53, 0xdb, 0x81, 0xbb, 0x5a, 0x4f, 0xbf, 0xc7, 0x56, - 0xa7, 0x85, 0x98, 0xc3, 0x98, 0x7e, 0x41, 0x4f, 0x6d, 0xa6, 0x5f, 0x0c, 0x1d, 0x52, 0xbf, 0x90, - 0x04, 0x70, 0x42, 0x0b, 0x6d, 0xc3, 0x54, 0xd3, 0x7c, 0x5e, 0x4f, 0xc5, 0xcd, 0x3d, 0xdf, 0xc7, - 0xf3, 0x76, 0x1d, 0xed, 0x65, 0x9c, 0xa5, 0x34, 0x3d, 0xdc, 0xdd, 0x04, 0x7a, 0x05, 0x86, 0xdf, - 0x0d, 0x22, 0x76, 0x7d, 0x22, 0x8e, 0x2e, 0x19, 0x9f, 0x34, 0xfc, 0xda, 0xcd, 0x06, 0x2b, 0xdf, - 0xdf, 0x9d, 0x1b, 0xa9, 0x07, 0xae, 0xfc, 0x8b, 0x55, 0x05, 0xf4, 0x39, 0x0b, 0x4e, 0x1a, 0x3b, - 0x59, 0xf5, 0x1c, 0x0e, 0xd3, 0xf3, 0xc7, 0x45, 0xcb, 0x27, 0x57, 0xb3, 0x68, 0xe2, 0xec, 0xa6, - 0xec, 0xdf, 0xe1, 0xa6, 0x5a, 0x61, 0xbc, 0x21, 0x51, 0xa7, 0x75, 0x1c, 0xaf, 0x54, 0xdc, 0x34, - 0xec, 0x4a, 0x0f, 0xe1, 0xb2, 0xe0, 0xdf, 0x5b, 0xec, 0xb2, 0x60, 0x8d, 0x6c, 0xb5, 0x5b, 0x4e, - 0x7c, 0x1c, 0x3e, 0xd8, 0x9f, 0x81, 0xe1, 0x58, 0xb4, 0x56, 0xec, 0x89, 0x0d, 0xad, 0x7b, 0xec, - 0x12, 0x45, 0x1d, 0x7d, 0xb2, 0x14, 0x2b, 0x82, 0xf6, 0xbf, 0xe2, 0xb3, 0x22, 0x21, 0xc7, 0x60, - 0x11, 0xb9, 0x61, 0x5a, 0x44, 0x9e, 0x29, 0xfc, 0x2d, 0x3d, 0x2c, 0x23, 0xdf, 0x31, 0xbf, 0x80, - 0x69, 0x28, 0x3f, 0x3a, 0xb7, 0x59, 0xf6, 0xaf, 0x58, 0x30, 0x9d, 0xe5, 0x14, 0x41, 0x45, 0x18, - 0xae, 0x1f, 0xa9, 0x7b, 0x3e, 0x35, 0xaa, 0xb7, 0x45, 0x39, 0x56, 0x18, 0x85, 0x73, 0xde, 0xf7, - 0x97, 0xca, 0xeb, 0x26, 0x98, 0x0f, 0x35, 0xa2, 0x57, 0x79, 0xc8, 0x85, 0xa5, 0x5e, 0x52, 0xec, - 0x2f, 0xdc, 0xc2, 0xfe, 0x46, 0x09, 0xa6, 0xb9, 0xb1, 0x7d, 0x61, 0x3b, 0xf0, 0xdc, 0x7a, 0xe0, - 0x8a, 0x00, 0x14, 0x17, 0x46, 0xdb, 0x9a, 0x7a, 0x5b, 0x2c, 0x35, 0x90, 0xae, 0x10, 0x27, 0x2a, - 0x85, 0x5e, 0x8a, 0x0d, 0xaa, 0xb4, 0x15, 0xb2, 0xed, 0x35, 0x95, 0xed, 0xb6, 0xd4, 0xf7, 0xc9, - 0xa0, 0x5a, 0x59, 0xd6, 0xe8, 0x60, 0x83, 0xea, 0x11, 0x3c, 0x55, 0x63, 0xff, 0x7d, 0x0b, 0x1e, - 0xe9, 0x91, 0x3e, 0x88, 0x36, 0x77, 0x9f, 0x5d, 0x70, 0x88, 0x97, 0x40, 0x55, 0x73, 0xfc, 0xda, - 0x03, 0x0b, 0x28, 0xba, 0x0b, 0xc0, 0xaf, 0x2d, 0xa8, 0x34, 0x9d, 0xbe, 0x53, 0x2f, 0x98, 0xa4, - 0x43, 0xcb, 0xdf, 0x20, 0x29, 0x61, 0x8d, 0xaa, 0xfd, 0xb5, 0x32, 0x0c, 0xf0, 0x07, 0xe7, 0xeb, - 0x30, 0xb4, 0xc9, 0xf3, 0x2a, 0xf7, 0x97, 0xd6, 0x39, 0x51, 0x5f, 0x78, 0x01, 0x96, 0x64, 0xd0, - 0x75, 0x38, 0x21, 0x42, 0xa0, 0x6a, 0xa4, 0xe5, 0xec, 0x48, 0x7d, 0x98, 0xbf, 0x5f, 0x22, 0x13, - 0xed, 0x9f, 0x58, 0xed, 0x46, 0xc1, 0x59, 0xf5, 0xd0, 0xab, 0x5d, 0x69, 0x10, 0x79, 0xbe, 0x6a, - 0x25, 0x0b, 0xe7, 0xa4, 0x42, 0x7c, 0x05, 0xc6, 0xda, 0x5d, 0x9a, 0xbf, 0xf6, 0xae, 0xb7, 0xa9, - 0xed, 0x9b, 0xb8, 0xcc, 0x87, 0xa2, 0xc3, 0x7c, 0x47, 0xd6, 0x36, 0x43, 0x12, 0x6d, 0x06, 0x2d, - 0x57, 0x3c, 0x49, 0x9b, 0xf8, 0x50, 0xa4, 0xe0, 0xb8, 0xab, 0x06, 0xa5, 0xb2, 0xee, 0x78, 0xad, - 0x4e, 0x48, 0x12, 0x2a, 0x83, 0x26, 0x95, 0x95, 0x14, 0x1c, 0x77, 0xd5, 0xa0, 0x6b, 0xeb, 0xa4, - 0x78, 0xc5, 0x54, 0x06, 0xcb, 0x0b, 0x16, 0xf4, 0x69, 0x18, 0x92, 0x81, 0x0c, 0x85, 0x72, 0xba, - 0x08, 0x07, 0x09, 0xf5, 0x22, 0xaa, 0xf6, 0x9e, 0x9d, 0x08, 0x61, 0x90, 0xf4, 0x0e, 0xf3, 0x5a, - 0xe6, 0x9f, 0x5b, 0x70, 0x22, 0xc3, 0x21, 0x8f, 0xb3, 0xb4, 0x0d, 0x2f, 0x8a, 0xd5, 0x6b, 0x1a, - 0x1a, 0x4b, 0xe3, 0xe5, 0x58, 0x61, 0xd0, 0xdd, 0xc2, 0x99, 0x66, 0x9a, 0x51, 0x0a, 0x57, 0x17, - 0x01, 0xed, 0x8f, 0x51, 0xa2, 0x33, 0x50, 0xe9, 0x44, 0x24, 0x94, 0x0f, 0x4b, 0x4a, 0x3e, 0x7f, - 0x2b, 0x22, 0x21, 0x66, 0x10, 0x2a, 0xb6, 0x6e, 0x28, 0x8b, 0xa0, 0x26, 0xb6, 0x32, 0xeb, 0x1e, - 0xe6, 0x30, 0xfb, 0xcb, 0x65, 0x98, 0x48, 0x39, 0xe6, 0xd2, 0x8e, 0x6c, 0x05, 0xbe, 0x17, 0x07, - 0x2a, 0xcf, 0x1e, 0x7f, 0xcb, 0x8e, 0xb4, 0x37, 0xaf, 0x8b, 0x72, 0xac, 0x30, 0xd0, 0xd3, 0xf2, - 0xb5, 0xe2, 0xf4, 0x2b, 0x21, 0x8b, 0x35, 0xe3, 0xc1, 0xe2, 0xa2, 0x2f, 0xfc, 0x3c, 0x09, 0x95, - 0x76, 0xa0, 0x1e, 0x9f, 0x57, 0xf3, 0x89, 0x17, 0x6b, 0xf5, 0x20, 0x68, 0x61, 0x06, 0x44, 0x4f, - 0x89, 0xaf, 0x4f, 0xdd, 0xd0, 0x60, 0xc7, 0x0d, 0x22, 0x6d, 0x08, 0x9e, 0x81, 0xa1, 0x7b, 0x64, - 0x27, 0xf4, 0xfc, 0x8d, 0xf4, 0xfd, 0xd4, 0x55, 0x5e, 0x8c, 0x25, 0xdc, 0x4c, 0x9a, 0x3f, 0x74, - 0xc4, 0xaf, 0xf8, 0x0c, 0xe7, 0x9e, 0x83, 0xdf, 0xb4, 0x60, 0x82, 0x65, 0xc1, 0x15, 0xa9, 0x1a, - 0xbc, 0xc0, 0x3f, 0x06, 0x19, 0xe3, 0x49, 0x18, 0x08, 0x69, 0xa3, 0xe9, 0x67, 0x38, 0x58, 0x4f, - 0x30, 0x87, 0xa1, 0xc7, 0xa0, 0xc2, 0xba, 0x40, 0xa7, 0x71, 0x94, 0x27, 0xdb, 0xaf, 0x39, 0xb1, - 0x83, 0x59, 0x29, 0x8b, 0x85, 0xc3, 0xa4, 0xdd, 0xf2, 0x78, 0xa7, 0x13, 0x83, 0xee, 0x07, 0x2d, - 0x16, 0x2e, 0xb3, 0x93, 0x0f, 0x2b, 0x16, 0x2e, 0x9b, 0xf8, 0xc1, 0x72, 0xfe, 0x7f, 0x2b, 0xc1, - 0xe9, 0xcc, 0x7a, 0xc9, 0x4d, 0xf7, 0x8a, 0x71, 0xd3, 0x7d, 0x31, 0x75, 0xd3, 0x6d, 0x1f, 0x5c, - 0xfb, 0xe1, 0xdc, 0x7d, 0x67, 0x5f, 0x49, 0x97, 0x8f, 0xf1, 0x4a, 0xba, 0x52, 0x54, 0xc4, 0x19, - 0xc8, 0x11, 0x71, 0xfe, 0xd0, 0x82, 0x47, 0x33, 0x87, 0xec, 0x03, 0x17, 0x7c, 0x98, 0xd9, 0xcb, - 0x1e, 0xda, 0xc9, 0x2f, 0x97, 0x7b, 0x7c, 0x15, 0xd3, 0x53, 0xce, 0x52, 0x2e, 0xc4, 0x80, 0x91, - 0x10, 0xde, 0x46, 0x39, 0x07, 0xe2, 0x65, 0x58, 0x41, 0x51, 0xa4, 0x05, 0xef, 0xf1, 0x4e, 0x2e, - 0x1f, 0x72, 0x43, 0xcd, 0x9b, 0x96, 0x78, 0x3d, 0xff, 0x44, 0x3a, 0xa4, 0xef, 0x8e, 0xa6, 0x79, - 0x96, 0x0f, 0xa3, 0x79, 0x8e, 0x66, 0x6b, 0x9d, 0x68, 0x01, 0x26, 0xb6, 0x3c, 0x9f, 0x3d, 0xfe, - 0x6b, 0x4a, 0x4f, 0x2a, 0x82, 0xfa, 0xba, 0x09, 0xc6, 0x69, 0xfc, 0xd9, 0x57, 0x60, 0xec, 0xf0, - 0xd6, 0xb5, 0x1f, 0x94, 0xe1, 0xc3, 0x07, 0x30, 0x05, 0x7e, 0x3a, 0x18, 0xf3, 0xa2, 0x9d, 0x0e, - 0x5d, 0x73, 0x53, 0x87, 0xe9, 0xf5, 0x4e, 0xab, 0xb5, 0xc3, 0xfc, 0xc4, 0x88, 0x2b, 0x31, 0x84, - 0x50, 0xa3, 0x92, 0x62, 0xaf, 0x64, 0xe0, 0xe0, 0xcc, 0x9a, 0xe8, 0xa7, 0x01, 0x05, 0x77, 0x59, - 0x7a, 0x66, 0x37, 0xc9, 0xaf, 0xc1, 0xa6, 0xa0, 0x9c, 0x6c, 0xd5, 0x9b, 0x5d, 0x18, 0x38, 0xa3, - 0x16, 0x95, 0x53, 0xe9, 0x39, 0xb6, 0xa3, 0xba, 0x95, 0x92, 0x53, 0xb1, 0x0e, 0xc4, 0x26, 0x2e, - 0xba, 0x0c, 0x53, 0xce, 0xb6, 0xe3, 0xf1, 0x74, 0x6b, 0x92, 0x00, 0x17, 0x54, 0x95, 0xfd, 0x6a, - 0x21, 0x8d, 0x80, 0xbb, 0xeb, 0xa0, 0xb6, 0x61, 0x90, 0xe4, 0x2f, 0x44, 0x7c, 0xf2, 0x10, 0x2b, - 0xb8, 0xb0, 0x89, 0xd2, 0xfe, 0x53, 0x8b, 0x1e, 0x7d, 0x19, 0xef, 0xc4, 0xd2, 0x11, 0x51, 0x06, - 0x36, 0x2d, 0x18, 0x51, 0x8d, 0xc8, 0x92, 0x0e, 0xc4, 0x26, 0x2e, 0x5f, 0x1a, 0x51, 0xe2, 0xb6, - 0x6e, 0x48, 0x9b, 0x22, 0x8e, 0x57, 0x61, 0x50, 0x09, 0xda, 0xf5, 0xb6, 0xbd, 0x28, 0x08, 0xc5, - 0x06, 0xea, 0xf7, 0x35, 0x76, 0xc5, 0x2f, 0x6b, 0x9c, 0x0c, 0x96, 0xf4, 0xec, 0xaf, 0x94, 0x60, - 0x4c, 0xb6, 0xf8, 0x5a, 0x27, 0x88, 0x9d, 0x63, 0x38, 0xd2, 0x5f, 0x33, 0x8e, 0xf4, 0xf3, 0xc5, - 0xc2, 0x9a, 0x59, 0xe7, 0x7a, 0x1e, 0xe5, 0x9f, 0x4e, 0x1d, 0xe5, 0x17, 0xfa, 0x21, 0x7a, 0xf0, - 0x11, 0xfe, 0x6f, 0x2c, 0x98, 0x32, 0xf0, 0x8f, 0xe1, 0x24, 0xa9, 0x9b, 0x27, 0xc9, 0x73, 0x7d, - 0x7c, 0x4d, 0x8f, 0x13, 0xe4, 0xeb, 0xa5, 0xd4, 0x57, 0xb0, 0x93, 0xe3, 0x67, 0xa0, 0xb2, 0xe9, - 0x84, 0x6e, 0xb1, 0xdc, 0xa3, 0x5d, 0xd5, 0xe7, 0xaf, 0x38, 0xa1, 0xcb, 0xf9, 0xff, 0x39, 0xf5, - 0x8a, 0x9d, 0x13, 0xba, 0xb9, 0xd1, 0x1c, 0xac, 0x51, 0x74, 0x09, 0x06, 0xa3, 0x66, 0xd0, 0x56, - 0xfe, 0xae, 0x67, 0xf8, 0x0b, 0x77, 0xb4, 0x64, 0x7f, 0x77, 0x0e, 0x99, 0xcd, 0xd1, 0x62, 0x2c, - 0xf0, 0x67, 0x37, 0xa0, 0xaa, 0x9a, 0x3e, 0x52, 0x8f, 0xff, 0xff, 0x52, 0x86, 0x13, 0x19, 0x6b, - 0x05, 0xfd, 0xac, 0x31, 0x6e, 0xaf, 0xf4, 0xbd, 0xd8, 0xde, 0xe7, 0xc8, 0xfd, 0x2c, 0xd3, 0x94, - 0x5c, 0xb1, 0x3a, 0x0e, 0xd1, 0xfc, 0xad, 0x88, 0xa4, 0x9b, 0xa7, 0x45, 0xf9, 0xcd, 0xd3, 0x66, - 0x8f, 0x6d, 0xf8, 0x69, 0x43, 0xaa, 0xa7, 0x47, 0x3a, 0xcf, 0x5f, 0xa8, 0xc0, 0x74, 0x56, 0xfe, - 0x04, 0xf4, 0x0b, 0x56, 0xea, 0xa5, 0x93, 0x57, 0xfb, 0x4f, 0xc2, 0xc0, 0x9f, 0x3f, 0x11, 0xd9, - 0x8d, 0xe6, 0xcd, 0xb7, 0x4f, 0x72, 0x47, 0x5c, 0xb4, 0xce, 0xe2, 0xb0, 0x42, 0xfe, 0x6a, 0x8d, - 0xe4, 0x0a, 0x9f, 0x3a, 0x44, 0x57, 0xc4, 0xc3, 0x37, 0x51, 0x2a, 0x0e, 0x4b, 0x16, 0xe7, 0xc7, - 0x61, 0xc9, 0x3e, 0xcc, 0x7a, 0x30, 0xa2, 0x7d, 0xd7, 0x91, 0x2e, 0x83, 0x7b, 0xf4, 0x88, 0xd2, - 0xfa, 0x7d, 0xa4, 0x4b, 0xe1, 0xef, 0x58, 0x90, 0x72, 0x4e, 0x53, 0x66, 0x19, 0xab, 0xa7, 0x59, - 0xe6, 0x0c, 0x54, 0xc2, 0xa0, 0x45, 0xd2, 0x8f, 0x5f, 0xe0, 0xa0, 0x45, 0x30, 0x83, 0xa8, 0x87, - 0xad, 0xcb, 0xbd, 0x1e, 0xb6, 0xa6, 0x7a, 0x7a, 0x8b, 0x6c, 0x13, 0x69, 0x24, 0x51, 0x6c, 0xfc, - 0x1a, 0x2d, 0xc4, 0x1c, 0x66, 0xff, 0x66, 0x05, 0x4e, 0x64, 0xc4, 0x24, 0x52, 0x0d, 0x69, 0xc3, - 0x89, 0xc9, 0x7d, 0x67, 0x27, 0x9d, 0x84, 0xf7, 0x32, 0x2f, 0xc6, 0x12, 0xce, 0x9c, 0x6a, 0x79, - 0x22, 0xbf, 0x94, 0xe9, 0x4a, 0xe4, 0xef, 0x13, 0xd0, 0xa3, 0x7f, 0x02, 0xf9, 0x22, 0x40, 0x14, - 0xb5, 0x96, 0x7d, 0x2a, 0xe1, 0xb9, 0xc2, 0x79, 0x37, 0xc9, 0xff, 0xd8, 0xb8, 0x26, 0x20, 0x58, - 0xc3, 0x42, 0x35, 0x98, 0x6c, 0x87, 0x41, 0xcc, 0x0d, 0x83, 0x35, 0xee, 0x6a, 0x31, 0x60, 0x46, - 0x8d, 0xd5, 0x53, 0x70, 0xdc, 0x55, 0x03, 0xbd, 0x04, 0x23, 0x22, 0x92, 0xac, 0x1e, 0x04, 0x2d, - 0x61, 0x46, 0x52, 0xf7, 0xf1, 0x8d, 0x04, 0x84, 0x75, 0x3c, 0xad, 0x1a, 0xb3, 0x36, 0x0e, 0x65, - 0x56, 0xe3, 0x16, 0x47, 0x0d, 0x2f, 0x95, 0x65, 0x65, 0xb8, 0x50, 0x96, 0x95, 0xc4, 0xb0, 0x56, - 0x2d, 0x7c, 0x11, 0x03, 0xb9, 0x06, 0xa8, 0xdf, 0x2f, 0xc3, 0x20, 0x9f, 0x8a, 0x63, 0x90, 0xf2, - 0xea, 0xc2, 0xa4, 0x54, 0x28, 0xa3, 0x05, 0xef, 0xd5, 0x7c, 0xcd, 0x89, 0x1d, 0xce, 0x9a, 0xd4, - 0x0e, 0x49, 0xcc, 0x50, 0x68, 0xde, 0xd8, 0x43, 0xb3, 0x29, 0x4b, 0x09, 0x70, 0x1a, 0xda, 0x8e, - 0xda, 0x04, 0x88, 0xd8, 0x33, 0xbc, 0x94, 0x86, 0xc8, 0x10, 0xfc, 0x62, 0xa1, 0x7e, 0x34, 0x54, - 0x35, 0xde, 0x9b, 0x64, 0x59, 0x2a, 0x00, 0xd6, 0x68, 0xcf, 0xbe, 0x0c, 0x55, 0x85, 0x9c, 0xa7, - 0x42, 0x8e, 0xea, 0xac, 0xed, 0x27, 0x61, 0x22, 0xd5, 0x56, 0x5f, 0x1a, 0xe8, 0x6f, 0x5b, 0x30, - 0xc1, 0xbb, 0xbc, 0xec, 0x6f, 0x0b, 0x56, 0xf0, 0x79, 0x0b, 0xa6, 0x5b, 0x19, 0x3b, 0x51, 0x4c, - 0xf3, 0x61, 0xf6, 0xb0, 0x52, 0x3e, 0xb3, 0xa0, 0x38, 0xb3, 0x35, 0x74, 0x16, 0x86, 0xf9, 0xab, - 0xe2, 0x4e, 0x4b, 0x78, 0x8a, 0x8f, 0xf2, 0xdc, 0xe8, 0xbc, 0x0c, 0x2b, 0xa8, 0xfd, 0x43, 0x0b, - 0xa6, 0xf8, 0x47, 0x5c, 0x25, 0x3b, 0x4a, 0xbd, 0xfa, 0x80, 0x7c, 0x86, 0xc8, 0x02, 0x5f, 0xea, - 0x91, 0x05, 0x5e, 0xff, 0xca, 0xf2, 0x81, 0x5f, 0xf9, 0x0d, 0x0b, 0xc4, 0x0a, 0x3d, 0x06, 0xfd, - 0x61, 0xd5, 0xd4, 0x1f, 0x3e, 0x52, 0x64, 0xd1, 0xf7, 0x50, 0x1c, 0x7e, 0xa9, 0x04, 0x93, 0x1c, - 0x21, 0xb9, 0x91, 0xf9, 0xa0, 0x4c, 0x4e, 0x7f, 0xaf, 0x13, 0xa9, 0xb7, 0x69, 0xb3, 0xbf, 0xd4, - 0x98, 0xcb, 0xca, 0x81, 0x73, 0xf9, 0x3f, 0x2d, 0x40, 0x7c, 0x4c, 0xd2, 0x4f, 0xb2, 0xf3, 0xd3, - 0x4d, 0x33, 0x07, 0x24, 0x9c, 0x43, 0x41, 0xb0, 0x86, 0xf5, 0x90, 0x3f, 0x21, 0x75, 0x1f, 0x56, - 0xce, 0xbf, 0x0f, 0xeb, 0xe3, 0xab, 0xff, 0x7b, 0x19, 0xd2, 0xce, 0x9a, 0xe8, 0x6d, 0x18, 0x6d, - 0x3a, 0x6d, 0xe7, 0xae, 0xd7, 0xf2, 0x62, 0x8f, 0x44, 0xc5, 0x2e, 0xdc, 0x97, 0xb4, 0x1a, 0xe2, - 0x1a, 0x4a, 0x2b, 0xc1, 0x06, 0x45, 0x34, 0x0f, 0xd0, 0x0e, 0xbd, 0x6d, 0xaf, 0x45, 0x36, 0x98, - 0xc6, 0xc3, 0x62, 0x4e, 0xf8, 0xdd, 0xb1, 0x2c, 0xc5, 0x1a, 0x46, 0x46, 0x8c, 0x42, 0xf9, 0x38, - 0x62, 0x14, 0x2a, 0x47, 0x18, 0xa3, 0x30, 0x50, 0x28, 0x46, 0x01, 0xc3, 0x29, 0x79, 0xd0, 0xd3, - 0xff, 0x2b, 0x5e, 0x8b, 0x08, 0x39, 0x8f, 0xc7, 0xaf, 0xcc, 0xee, 0xed, 0xce, 0x9d, 0xc2, 0x99, - 0x18, 0xb8, 0x47, 0x4d, 0xbb, 0x03, 0x27, 0x1a, 0x24, 0x94, 0x4f, 0xef, 0xa9, 0x7d, 0xf7, 0x59, - 0xa8, 0x86, 0xa9, 0x2d, 0xdf, 0x67, 0x92, 0x02, 0x2d, 0x2f, 0x9d, 0xdc, 0xe2, 0x09, 0x49, 0xfb, - 0xaf, 0x97, 0x60, 0x48, 0xb8, 0x74, 0x1e, 0x83, 0xa0, 0x72, 0xd5, 0x30, 0x47, 0x3d, 0x93, 0xc7, - 0x2b, 0x59, 0xb7, 0x7a, 0x1a, 0xa2, 0x1a, 0x29, 0x43, 0xd4, 0x73, 0xc5, 0xc8, 0x1d, 0x6c, 0x82, - 0xfa, 0x27, 0x65, 0x18, 0x37, 0x5d, 0x5c, 0x8f, 0x61, 0x58, 0x5e, 0x87, 0xa1, 0x48, 0x78, 0x5b, - 0x97, 0x8a, 0xf8, 0xf7, 0xa5, 0xa7, 0x38, 0xb9, 0xb5, 0x17, 0xfe, 0xd5, 0x92, 0x5c, 0xa6, 0x43, - 0x77, 0xf9, 0x58, 0x1c, 0xba, 0xf3, 0x3c, 0x8f, 0x2b, 0x0f, 0xc3, 0xf3, 0xd8, 0xfe, 0x2e, 0x3b, - 0x1e, 0xf4, 0xf2, 0x63, 0x38, 0xf2, 0x5f, 0x33, 0x0f, 0x92, 0x73, 0x85, 0xd6, 0x9d, 0xe8, 0x5e, - 0x8f, 0xa3, 0xff, 0x5b, 0x16, 0x8c, 0x08, 0xc4, 0x63, 0xf8, 0x80, 0x9f, 0x36, 0x3f, 0xe0, 0xa9, - 0x42, 0x1f, 0xd0, 0xa3, 0xe7, 0x5f, 0x29, 0xa9, 0x9e, 0xd7, 0x83, 0x30, 0x2e, 0x94, 0xbd, 0x7d, - 0x98, 0xaa, 0x89, 0x41, 0x33, 0x68, 0x09, 0x61, 0xef, 0xb1, 0x24, 0x5c, 0x91, 0x97, 0xef, 0x6b, - 0xbf, 0xb1, 0xc2, 0x66, 0xd1, 0x74, 0x41, 0x18, 0x8b, 0xc3, 0x36, 0x89, 0xa6, 0x0b, 0xc2, 0x18, - 0x33, 0x08, 0x72, 0x01, 0x62, 0x27, 0xdc, 0x20, 0x31, 0x2d, 0x13, 0x91, 0xbe, 0xbd, 0x77, 0x6b, - 0x27, 0xf6, 0x5a, 0xf3, 0x9e, 0x1f, 0x47, 0x71, 0x38, 0xbf, 0xea, 0xc7, 0x37, 0x43, 0xae, 0x20, - 0x68, 0xf1, 0x87, 0x8a, 0x16, 0xd6, 0xe8, 0xca, 0x90, 0x12, 0xd6, 0xc6, 0x80, 0x79, 0xdb, 0x74, - 0x43, 0x94, 0x63, 0x85, 0x61, 0xbf, 0xcc, 0x38, 0x3b, 0x1b, 0xa0, 0xfe, 0x42, 0x03, 0xbf, 0x30, - 0xa4, 0x86, 0x96, 0x99, 0x90, 0x6f, 0xe8, 0x01, 0x88, 0x45, 0xd9, 0x27, 0xed, 0x82, 0xee, 0x73, - 0x9d, 0xc4, 0x2b, 0x22, 0xd2, 0x75, 0x45, 0xf9, 0x72, 0x61, 0x8e, 0xdc, 0xc7, 0xa5, 0x24, 0x4b, - 0x23, 0xc9, 0x72, 0xe7, 0xad, 0xd6, 0xd3, 0x39, 0xf7, 0x97, 0x24, 0x00, 0x27, 0x38, 0xe8, 0xbc, - 0x50, 0x3e, 0xb9, 0x75, 0xe6, 0xc3, 0x29, 0xe5, 0x53, 0x0e, 0x89, 0xa6, 0x7d, 0x5e, 0x80, 0x11, - 0xf5, 0x8c, 0x51, 0x9d, 0x3f, 0x20, 0x53, 0xe5, 0xb2, 0xd8, 0x72, 0x52, 0x8c, 0x75, 0x1c, 0xb4, - 0x06, 0x13, 0x11, 0x7f, 0x63, 0x49, 0xc6, 0x76, 0x08, 0x23, 0xc3, 0xb3, 0xf2, 0x42, 0xb3, 0x61, - 0x82, 0xf7, 0x59, 0x11, 0xdf, 0xca, 0x32, 0x1a, 0x24, 0x4d, 0x02, 0xbd, 0x0a, 0xe3, 0x2d, 0xfd, - 0xdd, 0xd9, 0xba, 0xb0, 0x41, 0x28, 0x17, 0x35, 0xe3, 0x55, 0xda, 0x3a, 0x4e, 0x61, 0xa3, 0xd7, - 0x61, 0x46, 0x2f, 0x11, 0x09, 0x91, 0x1c, 0x7f, 0x83, 0x44, 0xe2, 0x3d, 0x96, 0xc7, 0xf6, 0x76, - 0xe7, 0x66, 0xae, 0xf5, 0xc0, 0xc1, 0x3d, 0x6b, 0xa3, 0x4b, 0x30, 0x2a, 0x3f, 0x5f, 0x8b, 0x84, - 0x4a, 0x9c, 0x23, 0x35, 0x18, 0x36, 0x30, 0xd1, 0x7d, 0x38, 0x29, 0xff, 0xaf, 0x85, 0xce, 0xfa, - 0xba, 0xd7, 0x14, 0x21, 0x69, 0x23, 0x8c, 0xc4, 0x82, 0xf4, 0x2d, 0x5f, 0xce, 0x42, 0xda, 0xdf, - 0x9d, 0x3b, 0x23, 0x46, 0x2d, 0x13, 0xce, 0x26, 0x31, 0x9b, 0x3e, 0xba, 0x0e, 0x27, 0x36, 0x89, - 0xd3, 0x8a, 0x37, 0x97, 0x36, 0x49, 0xf3, 0x9e, 0xdc, 0x58, 0x2c, 0xbe, 0x4a, 0x73, 0x1f, 0xbc, - 0xd2, 0x8d, 0x82, 0xb3, 0xea, 0xbd, 0xbf, 0xfb, 0xe7, 0x9f, 0xa1, 0x95, 0x35, 0xf9, 0x01, 0xbd, - 0x03, 0xa3, 0xfa, 0x58, 0xa7, 0x05, 0x83, 0xfc, 0x37, 0x89, 0x85, 0x1c, 0xa2, 0x66, 0x40, 0x87, - 0x61, 0x83, 0xb6, 0xfd, 0xef, 0x4a, 0x30, 0x97, 0x93, 0x6f, 0x2c, 0x65, 0xf9, 0xb2, 0x0a, 0x59, - 0xbe, 0x16, 0xe4, 0x3b, 0x3d, 0x37, 0x52, 0x79, 0xde, 0x53, 0x2f, 0xef, 0x24, 0xd9, 0xde, 0xd3, - 0xf8, 0x85, 0xbd, 0xd2, 0x74, 0xe3, 0x59, 0x25, 0xd7, 0x39, 0xef, 0x0d, 0xdd, 0x1e, 0x3a, 0x70, - 0x18, 0xa1, 0xb7, 0xa7, 0x29, 0xd4, 0xfe, 0x6e, 0x09, 0x4e, 0xaa, 0xc1, 0xfc, 0xf1, 0x1d, 0xc2, - 0xb7, 0xba, 0x87, 0xf0, 0xa1, 0x9a, 0x94, 0xed, 0x9b, 0x30, 0xd8, 0xd8, 0x89, 0x9a, 0x71, 0xab, - 0xc0, 0x89, 0xff, 0xa4, 0xb1, 0xaf, 0x92, 0xd3, 0x88, 0xbd, 0xbe, 0x27, 0xb6, 0x99, 0xfd, 0x8b, - 0x16, 0x4c, 0xac, 0x2d, 0xd5, 0x1b, 0x41, 0xf3, 0x1e, 0x89, 0x17, 0xb8, 0xf1, 0x03, 0x8b, 0x03, - 0xdf, 0x3a, 0xe4, 0x41, 0x9e, 0x25, 0x22, 0x9c, 0x81, 0xca, 0x66, 0x10, 0xc5, 0xe9, 0x0b, 0x84, - 0x2b, 0x41, 0x14, 0x63, 0x06, 0xb1, 0xff, 0xcc, 0x82, 0x01, 0xf6, 0xb8, 0x5c, 0xde, 0xc3, 0x84, - 0x45, 0xbe, 0x0b, 0xbd, 0x04, 0x83, 0x64, 0x7d, 0x9d, 0x34, 0x63, 0x31, 0xbf, 0x32, 0x18, 0x67, - 0x70, 0x99, 0x95, 0xd2, 0x13, 0x8d, 0x35, 0xc6, 0xff, 0x62, 0x81, 0x8c, 0x3e, 0x03, 0xd5, 0xd8, - 0xdb, 0x22, 0x0b, 0xae, 0x2b, 0x2c, 0xf6, 0xfd, 0xf9, 0x87, 0xa9, 0x13, 0x76, 0x4d, 0x12, 0xc1, - 0x09, 0x3d, 0xfb, 0x4b, 0x25, 0x80, 0x24, 0xd8, 0x2e, 0xef, 0x33, 0x17, 0xbb, 0xde, 0x5f, 0x7c, - 0x3a, 0xe3, 0xfd, 0x45, 0x94, 0x10, 0xcc, 0x78, 0x7d, 0x51, 0x0d, 0x55, 0xb9, 0xd0, 0x50, 0x55, - 0xfa, 0x19, 0xaa, 0x25, 0x98, 0x4a, 0x82, 0x05, 0xcd, 0xa8, 0x6b, 0x96, 0x23, 0x79, 0x2d, 0x0d, - 0xc4, 0xdd, 0xf8, 0xf6, 0x97, 0x2c, 0x10, 0x1e, 0xc5, 0x05, 0x16, 0xb4, 0x2b, 0xdf, 0x4a, 0x33, - 0xd2, 0x21, 0x3e, 0x5b, 0xc4, 0xd9, 0x5a, 0x24, 0x41, 0x54, 0x7c, 0xdf, 0x48, 0x7d, 0x68, 0x50, - 0xb5, 0x7f, 0xc3, 0x82, 0x11, 0x0e, 0xbe, 0xce, 0x14, 0xd1, 0xfc, 0x7e, 0xf5, 0x95, 0x80, 0x9b, - 0x3d, 0x23, 0x46, 0x09, 0xab, 0x44, 0xcc, 0xfa, 0x33, 0x62, 0x12, 0x80, 0x13, 0x1c, 0xf4, 0x0c, - 0x0c, 0x45, 0x9d, 0xbb, 0x0c, 0x3d, 0xe5, 0x5e, 0xdc, 0xe0, 0xc5, 0x58, 0xc2, 0xed, 0x7f, 0x56, - 0x82, 0xc9, 0xb4, 0x77, 0x39, 0xc2, 0x30, 0xc8, 0x19, 0x48, 0x5a, 0xa7, 0x39, 0xc8, 0x58, 0xaa, - 0x79, 0xa7, 0x03, 0x7f, 0x0c, 0x9f, 0xb1, 0x20, 0x41, 0x09, 0xad, 0xc3, 0x88, 0x1b, 0xdc, 0xf7, - 0xef, 0x3b, 0xa1, 0xbb, 0x50, 0x5f, 0x15, 0x33, 0x91, 0xe3, 0x0f, 0x58, 0x4b, 0x2a, 0xe8, 0xbe, - 0xef, 0xcc, 0x78, 0x97, 0x80, 0xb0, 0x4e, 0x18, 0x7d, 0x96, 0x65, 0x6f, 0x59, 0xf7, 0x36, 0xae, - 0x3b, 0xed, 0x62, 0x9e, 0x2f, 0x4b, 0x12, 0x5d, 0x6b, 0x63, 0x4c, 0x24, 0x7b, 0xe1, 0x00, 0x9c, - 0x90, 0xb4, 0x7f, 0xe9, 0x24, 0x18, 0x6b, 0xc1, 0xc8, 0x92, 0x6d, 0x3d, 0xf4, 0x2c, 0xd9, 0x6f, - 0xc2, 0x30, 0xd9, 0x6a, 0xc7, 0x3b, 0x35, 0x2f, 0x2c, 0xf6, 0xe6, 0xc1, 0xb2, 0xc0, 0xee, 0xa6, - 0x2e, 0x21, 0x58, 0x51, 0xec, 0x91, 0xf3, 0xbc, 0xfc, 0x81, 0xc8, 0x79, 0x5e, 0xf9, 0x4b, 0xc9, - 0x79, 0xfe, 0x3a, 0x0c, 0x6d, 0x78, 0x31, 0x26, 0xed, 0x40, 0x9c, 0xc6, 0x39, 0x8b, 0xe7, 0x32, - 0x47, 0xee, 0xce, 0x86, 0x2b, 0x00, 0x58, 0x92, 0x43, 0x6b, 0x6a, 0x53, 0x0d, 0x16, 0x91, 0x41, - 0xbb, 0x8d, 0xe9, 0x99, 0xdb, 0x4a, 0xe4, 0x38, 0x1f, 0x7a, 0xff, 0x39, 0xce, 0x55, 0x66, 0xf2, - 0xe1, 0x87, 0x95, 0x99, 0xdc, 0xc8, 0xf0, 0x5e, 0x3d, 0x8a, 0x0c, 0xef, 0x5f, 0xb2, 0xe0, 0x64, - 0x3b, 0xeb, 0x7d, 0x04, 0x91, 0x63, 0xfc, 0xa7, 0x0e, 0xf1, 0x62, 0x84, 0xd1, 0x34, 0xcb, 0x06, - 0x92, 0x89, 0x86, 0xb3, 0x1b, 0x96, 0xa9, 0xe2, 0x47, 0xde, 0x7f, 0xaa, 0xf8, 0xa3, 0x4e, 0x46, - 0x9e, 0x24, 0x8e, 0x1f, 0x3b, 0x92, 0xc4, 0xf1, 0xe3, 0x0f, 0x31, 0x71, 0xbc, 0x96, 0xf2, 0x7d, - 0xe2, 0xe1, 0xa6, 0x7c, 0xdf, 0x34, 0xcf, 0x25, 0x9e, 0x61, 0xfc, 0xa5, 0xc2, 0xe7, 0x92, 0xd1, - 0xc2, 0xc1, 0x27, 0x13, 0x4f, 0x7e, 0x3f, 0xf5, 0x3e, 0x93, 0xdf, 0x1b, 0x29, 0xe4, 0xd1, 0x51, - 0xa4, 0x90, 0x7f, 0x5b, 0x3f, 0x41, 0x4f, 0x14, 0x69, 0x41, 0x1d, 0x94, 0xdd, 0x2d, 0x64, 0x9d, - 0xa1, 0xdd, 0x49, 0xea, 0xa7, 0x8f, 0x3b, 0x49, 0xfd, 0xc9, 0x23, 0x4c, 0x52, 0x7f, 0xea, 0x58, - 0x93, 0xd4, 0x3f, 0xf2, 0x01, 0x49, 0x52, 0x3f, 0x73, 0x5c, 0x49, 0xea, 0x1f, 0x7d, 0xb8, 0x49, - 0xea, 0xdf, 0x86, 0x6a, 0x5b, 0xc6, 0x68, 0xce, 0xcc, 0x16, 0x99, 0xba, 0xcc, 0x90, 0x4e, 0x3e, - 0x75, 0x0a, 0x84, 0x13, 0xa2, 0xb4, 0x85, 0x24, 0x69, 0xfd, 0x87, 0x8b, 0xb4, 0x90, 0x69, 0xf7, - 0x38, 0x20, 0x55, 0xfd, 0x17, 0x4a, 0x70, 0xfa, 0xe0, 0xdd, 0x91, 0x18, 0x4d, 0xea, 0x89, 0x2d, - 0x3b, 0x65, 0x34, 0x61, 0x92, 0xa7, 0x86, 0x55, 0x38, 0xf4, 0xfd, 0x32, 0x4c, 0x29, 0x9f, 0xb0, - 0x96, 0xd7, 0xdc, 0xd1, 0x9e, 0xce, 0x52, 0xb1, 0x0c, 0x8d, 0x34, 0x02, 0xee, 0xae, 0x83, 0x16, - 0x60, 0xc2, 0x28, 0x5c, 0xad, 0x09, 0xfd, 0x45, 0x59, 0x69, 0x1a, 0x26, 0x18, 0xa7, 0xf1, 0xed, - 0xaf, 0x5b, 0xf0, 0x48, 0x8f, 0xac, 0xb4, 0x85, 0xe3, 0xb9, 0xdb, 0x30, 0xd1, 0x36, 0xab, 0x16, - 0x4e, 0x0f, 0x61, 0x64, 0xc1, 0x55, 0xbd, 0x4e, 0x01, 0x70, 0x9a, 0xfc, 0xe2, 0xd9, 0xef, 0xfd, - 0xe0, 0xf4, 0x87, 0xfe, 0xe0, 0x07, 0xa7, 0x3f, 0xf4, 0xfd, 0x1f, 0x9c, 0xfe, 0xd0, 0xcf, 0xed, - 0x9d, 0xb6, 0xbe, 0xb7, 0x77, 0xda, 0xfa, 0x83, 0xbd, 0xd3, 0xd6, 0xf7, 0xf7, 0x4e, 0x5b, 0x7f, - 0xbe, 0x77, 0xda, 0xfa, 0xd2, 0x0f, 0x4f, 0x7f, 0xe8, 0x8d, 0xd2, 0xf6, 0x85, 0xff, 0x17, 0x00, - 0x00, 0xff, 0xff, 0x06, 0x5b, 0x53, 0xd1, 0x4d, 0xd1, 0x00, 0x00, + 0xda, 0x18, 0x48, 0x04, 0xa3, 0xcb, 0xa2, 0x1c, 0x2b, 0x0c, 0xf4, 0x32, 0x8c, 0x35, 0xf5, 0x06, + 0xc4, 0x31, 0x76, 0x52, 0x54, 0x31, 0x5b, 0xc7, 0x26, 0x2e, 0x7a, 0x09, 0x86, 0x99, 0x61, 0xbc, + 0x19, 0xb4, 0x84, 0x0a, 0x29, 0x4f, 0xe5, 0xe1, 0xba, 0x28, 0xdf, 0xd7, 0x7e, 0x63, 0x85, 0x4d, + 0x15, 0x71, 0xda, 0x85, 0xd5, 0xba, 0x38, 0x40, 0x94, 0x22, 0x7e, 0x99, 0x95, 0x62, 0x01, 0xb5, + 0x7f, 0xab, 0xa4, 0x8d, 0x32, 0x55, 0x80, 0x08, 0x7a, 0x1d, 0x86, 0xee, 0x39, 0x5e, 0xec, 0xf9, + 0x1b, 0x42, 0x7a, 0x78, 0xae, 0xe0, 0x69, 0xc2, 0xaa, 0xdf, 0xe6, 0x55, 0xf9, 0xc9, 0x27, 0xfe, + 0x60, 0x49, 0x90, 0xd2, 0x0e, 0x3b, 0xbe, 0x4f, 0x69, 0x97, 0xfa, 0xa7, 0x8d, 0x79, 0x55, 0x4e, + 0x5b, 0xfc, 0xc1, 0x92, 0x20, 0x5a, 0x07, 0x90, 0x6b, 0x89, 0xb8, 0xc2, 0x20, 0xfd, 0x91, 0x7e, + 0xc8, 0xaf, 0xa9, 0xda, 0x8b, 0xe3, 0xf4, 0xac, 0x4d, 0xfe, 0x63, 0x8d, 0xb2, 0x1d, 0x33, 0x21, + 0xac, 0xbb, 0x5b, 0xe8, 0x53, 0x74, 0x4b, 0x3b, 0x61, 0x4c, 0xdc, 0x85, 0x38, 0x6d, 0xd3, 0x3f, + 0x58, 0xc4, 0x5e, 0xf3, 0xb6, 0x88, 0xbe, 0xfd, 0x05, 0x11, 0x9c, 0xd0, 0xb3, 0xbf, 0x5d, 0x86, + 0x99, 0x5e, 0xdd, 0xa5, 0x4b, 0x92, 0xdc, 0xf7, 0xe2, 0x25, 0x2a, 0x26, 0x59, 0xe6, 0x92, 0x5c, + 0x16, 0xe5, 0x58, 0x61, 0xd0, 0xb5, 0x11, 0x79, 0x1b, 0x52, 0x59, 0x1a, 0x48, 0xd6, 0x46, 0x83, + 0x95, 0x62, 0x01, 0xa5, 0x78, 0x21, 0x71, 0x22, 0x71, 0x1f, 0xa2, 0xad, 0x21, 0xcc, 0x4a, 0xb1, + 0x80, 0xea, 0x06, 0x91, 0x4a, 0x8e, 0x41, 0xc4, 0x18, 0xa2, 0x81, 0x07, 0x3b, 0x44, 0xe8, 0xd3, + 0x00, 0xeb, 0x9e, 0xef, 0x45, 0x9b, 0x8c, 0xfa, 0x60, 0xdf, 0xd4, 0x95, 0x90, 0xb5, 0xa2, 0xa8, + 0x60, 0x8d, 0x22, 0x7a, 0x01, 0x46, 0xd4, 0xf6, 0x5c, 0xad, 0xcd, 0x0c, 0x99, 0x36, 0xf4, 0x84, + 0x57, 0xd5, 0xb0, 0x8e, 0x67, 0xbf, 0x9d, 0x5e, 0x2f, 0x62, 0x57, 0x68, 0xe3, 0x6b, 0x15, 0x1d, + 0xdf, 0xd2, 0xc1, 0xe3, 0x6b, 0xff, 0xe7, 0x32, 0x4c, 0x18, 0x8d, 0x75, 0xa2, 0x02, 0x1c, 0xed, + 0x55, 0x7a, 0x60, 0x39, 0x31, 0x11, 0x7b, 0xf2, 0x5c, 0x3f, 0x9b, 0x46, 0x3f, 0xde, 0xe8, 0x5e, + 0xe0, 0x94, 0xd0, 0x26, 0x54, 0x5b, 0x4e, 0xc4, 0x4c, 0x2a, 0x44, 0xec, 0xc5, 0xfe, 0xc8, 0x26, + 0xea, 0x87, 0x13, 0xc5, 0xda, 0xe9, 0xc1, 0x5b, 0x49, 0x88, 0xd3, 0xd3, 0x96, 0x0a, 0x3b, 0xf2, + 0x12, 0x4e, 0x75, 0x87, 0x4a, 0x44, 0x3b, 0x98, 0xc3, 0xd0, 0x4b, 0x30, 0x1a, 0x12, 0xb6, 0x52, + 0x96, 0xa8, 0x3c, 0xc7, 0x96, 0xde, 0x40, 0x22, 0xf8, 0x61, 0x0d, 0x86, 0x0d, 0xcc, 0x44, 0xee, + 0x1f, 0x3c, 0x40, 0xee, 0x7f, 0x0a, 0x86, 0xd8, 0x0f, 0xb5, 0x2a, 0xd4, 0x0c, 0xad, 0xf2, 0x62, + 0x2c, 0xe1, 0xe9, 0x45, 0x34, 0x5c, 0x70, 0x11, 0x3d, 0x0d, 0xe3, 0x35, 0x87, 0x6c, 0x05, 0xfe, + 0xb2, 0xef, 0xb6, 0x03, 0xcf, 0x8f, 0xd1, 0x0c, 0x54, 0xd8, 0x79, 0xc2, 0xf7, 0x7b, 0x85, 0x52, + 0xc0, 0x15, 0x2a, 0xbb, 0xdb, 0x7f, 0x52, 0x82, 0xb1, 0x1a, 0x69, 0x91, 0x98, 0x70, 0xbd, 0x27, + 0x42, 0x2b, 0x80, 0x36, 0x42, 0xa7, 0x49, 0xea, 0x24, 0xf4, 0x02, 0xb7, 0x41, 0x9a, 0x81, 0xcf, + 0xee, 0xae, 0xe8, 0x01, 0x79, 0x6a, 0x6f, 0x77, 0x0e, 0x5d, 0xea, 0x82, 0xe2, 0x8c, 0x1a, 0xc8, + 0x85, 0xb1, 0x76, 0x48, 0x0c, 0xbb, 0xa1, 0x95, 0x2f, 0x6a, 0xd4, 0xf5, 0x2a, 0x5c, 0x1a, 0x36, + 0x8a, 0xb0, 0x49, 0x14, 0x7d, 0x02, 0x26, 0x83, 0xb0, 0xbd, 0xe9, 0xf8, 0x35, 0xd2, 0x26, 0xbe, + 0x4b, 0x55, 0x00, 0x61, 0xed, 0x98, 0xde, 0xdb, 0x9d, 0x9b, 0xbc, 0x91, 0x82, 0xe1, 0x2e, 0x6c, + 0xf4, 0x3a, 0x4c, 0xb5, 0xc3, 0xa0, 0xed, 0x6c, 0xb0, 0x25, 0x23, 0xa4, 0x15, 0xce, 0x9b, 0xce, + 0xed, 0xed, 0xce, 0x4d, 0xd5, 0xd3, 0xc0, 0xfd, 0xdd, 0xb9, 0x13, 0x6c, 0xc8, 0x68, 0x49, 0x02, + 0xc4, 0xdd, 0x64, 0xec, 0x77, 0xe0, 0x64, 0x2d, 0xb8, 0xe7, 0xdf, 0x73, 0x42, 0x77, 0xa1, 0xbe, + 0xaa, 0x19, 0x27, 0x5e, 0x93, 0xca, 0x2f, 0xbf, 0x13, 0xcc, 0x39, 0xd9, 0x34, 0x1a, 0x5c, 0xed, + 0x58, 0xf1, 0x5a, 0xa4, 0x87, 0x39, 0xe4, 0x1f, 0x97, 0x8c, 0x36, 0x13, 0x7c, 0x75, 0x77, 0x61, + 0xf5, 0xbc, 0xbb, 0xf8, 0x14, 0x0c, 0xaf, 0x7b, 0xa4, 0xe5, 0x62, 0xb2, 0x2e, 0x66, 0xeb, 0x42, + 0x91, 0xcb, 0x9d, 0x15, 0x5a, 0x47, 0x5a, 0xc7, 0xb8, 0x12, 0xbd, 0x22, 0xc8, 0x60, 0x45, 0x10, + 0x75, 0x60, 0x52, 0xea, 0x61, 0x12, 0x2a, 0x36, 0xfb, 0x73, 0xc5, 0xd4, 0x3c, 0xb3, 0x19, 0x36, + 0xbd, 0x38, 0x45, 0x10, 0x77, 0x35, 0x41, 0xf5, 0xe7, 0x2d, 0x7a, 0xd4, 0x55, 0xd8, 0xd2, 0x67, + 0xfa, 0x33, 0x33, 0x05, 0xb0, 0x52, 0xfb, 0x37, 0x2d, 0x78, 0xa8, 0x6b, 0xb4, 0x84, 0x9d, 0xe4, + 0xc8, 0xe6, 0x28, 0x6d, 0xac, 0x28, 0xe5, 0x1b, 0x2b, 0xec, 0xdf, 0xb2, 0x60, 0x7a, 0x79, 0xab, + 0x1d, 0xef, 0xd4, 0x3c, 0xf3, 0xce, 0xe5, 0x45, 0x18, 0xdc, 0x22, 0xae, 0xd7, 0xd9, 0x12, 0xf3, + 0x3a, 0x27, 0x0f, 0x86, 0x6b, 0xac, 0x74, 0x7f, 0x77, 0x6e, 0xac, 0x11, 0x07, 0xa1, 0xb3, 0x41, + 0x78, 0x01, 0x16, 0xe8, 0xec, 0x4a, 0xc9, 0x7b, 0x97, 0x5c, 0xf5, 0xb6, 0x3c, 0x79, 0x95, 0x77, + 0xa0, 0x91, 0x6f, 0x5e, 0x0e, 0xed, 0xfc, 0xab, 0x1d, 0xc7, 0x8f, 0xbd, 0x78, 0xc7, 0x94, 0x97, + 0x19, 0x21, 0x9c, 0xd0, 0xb4, 0x7f, 0x6c, 0xc1, 0x84, 0xe4, 0x40, 0x0b, 0xae, 0x1b, 0x92, 0x28, + 0x42, 0xb3, 0x50, 0xf2, 0xda, 0xa2, 0xa7, 0x20, 0x6a, 0x97, 0x56, 0xeb, 0xb8, 0xe4, 0xb5, 0xd1, + 0xeb, 0x50, 0xe5, 0x77, 0x81, 0xc9, 0xf2, 0xeb, 0xf3, 0x6e, 0x91, 0x69, 0x9f, 0x6b, 0x92, 0x06, + 0x4e, 0xc8, 0x49, 0x39, 0x9c, 0x9d, 0x6d, 0x65, 0xf3, 0x66, 0xea, 0xb2, 0x28, 0xc7, 0x0a, 0x03, + 0x9d, 0x85, 0x61, 0x3f, 0x70, 0xf9, 0x75, 0x2d, 0xe7, 0x04, 0x6c, 0x51, 0x5f, 0x17, 0x65, 0x58, + 0x41, 0xed, 0x2f, 0x59, 0x30, 0x2a, 0xbf, 0xb1, 0xa0, 0x4a, 0x40, 0xb7, 0x61, 0xa2, 0x0e, 0x24, + 0xdb, 0x90, 0x8a, 0xf4, 0x0c, 0x62, 0x48, 0xf2, 0xe5, 0x7e, 0x24, 0x79, 0xfb, 0xb7, 0x4b, 0x30, + 0x2e, 0xbb, 0xd3, 0xe8, 0xdc, 0x89, 0x08, 0x15, 0x74, 0xaa, 0x0e, 0x1f, 0x7c, 0x22, 0x57, 0xf2, + 0xb3, 0x79, 0xda, 0x9e, 0x31, 0x67, 0xc9, 0x2c, 0x2f, 0x48, 0x3a, 0x38, 0x21, 0x89, 0xb6, 0x61, + 0xca, 0x0f, 0x62, 0x76, 0x80, 0x2a, 0x78, 0xb1, 0xbb, 0x94, 0x74, 0x3b, 0x0f, 0x8b, 0x76, 0xa6, + 0xae, 0xa7, 0xe9, 0xe1, 0xee, 0x26, 0xd0, 0x0d, 0x69, 0xc5, 0x2a, 0xb3, 0xb6, 0x9e, 0x2e, 0xd6, + 0x56, 0x6f, 0x23, 0x96, 0xfd, 0xfb, 0x16, 0x54, 0x25, 0xda, 0x71, 0x5c, 0xaa, 0xdd, 0x86, 0xa1, + 0x88, 0x4d, 0x91, 0x1c, 0xae, 0x73, 0xc5, 0x3e, 0x81, 0xcf, 0x6b, 0x22, 0x35, 0xf0, 0xff, 0x11, + 0x96, 0xd4, 0x98, 0x39, 0x5f, 0x7d, 0xc8, 0xfb, 0xce, 0x9c, 0xaf, 0x7a, 0xd6, 0xfb, 0xee, 0x6c, + 0xcc, 0xb0, 0x37, 0x50, 0xd1, 0xb7, 0x1d, 0x92, 0x75, 0xef, 0x7e, 0x5a, 0xf4, 0xad, 0xb3, 0x52, + 0x2c, 0xa0, 0x68, 0x1d, 0x46, 0x9b, 0xd2, 0xe0, 0x9d, 0xb0, 0x90, 0x0f, 0x17, 0xbc, 0x5d, 0x50, + 0x17, 0x55, 0xdc, 0x5f, 0x6a, 0x49, 0xa3, 0x84, 0x0d, 0xba, 0x94, 0x4f, 0x25, 0x77, 0xf1, 0xe5, + 0x82, 0xa6, 0xa1, 0x90, 0xc4, 0x49, 0x0b, 0x3d, 0xaf, 0xe1, 0xed, 0xaf, 0x59, 0x30, 0xc8, 0x2d, + 0xa4, 0xc5, 0xcc, 0xcc, 0xda, 0x15, 0x5c, 0x32, 0x9e, 0xb7, 0x68, 0xa1, 0xb8, 0x91, 0x43, 0xb7, + 0xa1, 0xca, 0x7e, 0x30, 0x6b, 0x4f, 0xb9, 0x88, 0xf3, 0x18, 0x6f, 0x5f, 0xef, 0xea, 0x2d, 0x49, + 0x00, 0x27, 0xb4, 0xec, 0xef, 0x96, 0x29, 0xeb, 0x4b, 0x50, 0x0d, 0xe9, 0xc1, 0x3a, 0x0e, 0xe9, + 0xa1, 0x74, 0xf4, 0xd2, 0xc3, 0x3b, 0x30, 0xd1, 0xd4, 0xae, 0x00, 0x93, 0x19, 0xbf, 0x58, 0x70, + 0x59, 0x69, 0xf7, 0x86, 0xdc, 0x22, 0xb8, 0x64, 0x92, 0xc3, 0x69, 0xfa, 0x88, 0xc0, 0x28, 0x5f, + 0x0f, 0xa2, 0xbd, 0x0a, 0x6b, 0xef, 0x7c, 0x91, 0x15, 0xa6, 0x37, 0xc6, 0x56, 0x71, 0x43, 0x23, + 0x84, 0x0d, 0xb2, 0xf6, 0xaf, 0x0f, 0xc0, 0xc0, 0xf2, 0x36, 0xf1, 0xe3, 0x63, 0x60, 0x75, 0x5b, + 0x30, 0xee, 0xf9, 0xdb, 0x41, 0x6b, 0x9b, 0xb8, 0x1c, 0x7e, 0xb8, 0xe3, 0xfd, 0x94, 0x68, 0x64, + 0x7c, 0xd5, 0x20, 0x86, 0x53, 0xc4, 0x8f, 0xc2, 0x16, 0xf1, 0x2a, 0x0c, 0xf2, 0x95, 0x21, 0x0c, + 0x11, 0x39, 0x37, 0x06, 0x6c, 0x60, 0xc5, 0x0e, 0x4a, 0x2c, 0x26, 0xfc, 0xb2, 0x42, 0x10, 0x42, + 0x6f, 0xc3, 0xf8, 0xba, 0x17, 0x46, 0xf1, 0x9a, 0xb7, 0x45, 0x75, 0xc8, 0xad, 0xf6, 0x21, 0xac, + 0x10, 0x6a, 0x44, 0x56, 0x0c, 0x4a, 0x38, 0x45, 0x19, 0x6d, 0xc0, 0x18, 0x55, 0x82, 0x93, 0xa6, + 0x86, 0xfa, 0x6e, 0x4a, 0x19, 0x21, 0xaf, 0xea, 0x84, 0xb0, 0x49, 0x97, 0xb2, 0xa4, 0x26, 0x53, + 0x9a, 0x87, 0x99, 0x74, 0xa3, 0x58, 0x12, 0xd7, 0x96, 0x39, 0x8c, 0x72, 0x36, 0xe6, 0x8b, 0x53, + 0x35, 0x39, 0x5b, 0xe2, 0x71, 0x63, 0x7f, 0x83, 0x9e, 0xc5, 0x74, 0x0c, 0x8f, 0xe1, 0xf8, 0xba, + 0x6c, 0x1e, 0x5f, 0x8f, 0x17, 0x98, 0xd9, 0x1e, 0x47, 0xd7, 0x5b, 0x30, 0xa2, 0x4d, 0x3c, 0x3a, + 0x0f, 0xd5, 0xa6, 0x74, 0x17, 0x11, 0x5c, 0x5c, 0x89, 0x52, 0xca, 0x8f, 0x04, 0x27, 0x38, 0x74, + 0x5c, 0xa8, 0x08, 0x9a, 0x76, 0x2e, 0xa3, 0x02, 0x2a, 0x66, 0x10, 0xfb, 0x39, 0x80, 0xe5, 0xfb, + 0xa4, 0xb9, 0xc0, 0x95, 0x48, 0xed, 0x06, 0xd1, 0xea, 0x7d, 0x83, 0x68, 0x7f, 0xdd, 0x82, 0xf1, + 0x95, 0x25, 0x43, 0x69, 0x98, 0x07, 0xe0, 0xb2, 0xf1, 0xed, 0xdb, 0xd7, 0xa5, 0x85, 0x9c, 0x9b, + 0x31, 0x55, 0x29, 0xd6, 0x30, 0xd0, 0xc3, 0x50, 0x6e, 0x75, 0x7c, 0x21, 0xb2, 0x0e, 0xed, 0xed, + 0xce, 0x95, 0xaf, 0x76, 0x7c, 0x4c, 0xcb, 0x34, 0x2f, 0xae, 0x72, 0x61, 0x2f, 0xae, 0x7c, 0x17, + 0xe8, 0xaf, 0x94, 0x61, 0x72, 0xa5, 0x45, 0xee, 0x1b, 0xbd, 0x7e, 0x12, 0x06, 0xdd, 0xd0, 0xdb, + 0x26, 0x61, 0x5a, 0x10, 0xa8, 0xb1, 0x52, 0x2c, 0xa0, 0x85, 0x1d, 0xcb, 0xde, 0xec, 0x3e, 0xc8, + 0x8f, 0xce, 0xa9, 0x2e, 0xf7, 0x9b, 0xd1, 0x3a, 0x0c, 0xf1, 0x1b, 0xe7, 0x68, 0x66, 0x80, 0x2d, + 0xc5, 0x97, 0x0f, 0xee, 0x4c, 0x7a, 0x7c, 0xe6, 0x85, 0x05, 0x87, 0xbb, 0xf4, 0x28, 0x5e, 0x26, + 0x4a, 0xb1, 0x24, 0x3e, 0xfb, 0x31, 0x18, 0xd5, 0x31, 0xfb, 0xf2, 0xed, 0xf9, 0xab, 0x16, 0x9c, + 0x58, 0x69, 0x05, 0xcd, 0xbb, 0x29, 0xcf, 0xbf, 0x17, 0x60, 0x84, 0x6e, 0xa6, 0xc8, 0x70, 0x8b, + 0x35, 0x5c, 0x86, 0x05, 0x08, 0xeb, 0x78, 0x5a, 0xb5, 0x9b, 0x37, 0x57, 0x6b, 0x59, 0x9e, 0xc6, + 0x02, 0x84, 0x75, 0x3c, 0xfb, 0x0f, 0x2d, 0x78, 0xf4, 0xd2, 0xd2, 0x72, 0x9d, 0x84, 0x91, 0x17, + 0xc5, 0xc4, 0x8f, 0xbb, 0x9c, 0x9d, 0xa9, 0xcc, 0xe8, 0x6a, 0x5d, 0x49, 0x64, 0xc6, 0x1a, 0xeb, + 0x85, 0x80, 0xbe, 0x5f, 0x3c, 0xfe, 0xbf, 0x66, 0xc1, 0x89, 0x4b, 0x5e, 0x8c, 0x49, 0x3b, 0x48, + 0x3b, 0x1b, 0x87, 0xa4, 0x1d, 0x44, 0x5e, 0x1c, 0x84, 0x3b, 0x69, 0x67, 0x63, 0xac, 0x20, 0x58, + 0xc3, 0xe2, 0x2d, 0x6f, 0x7b, 0x11, 0xed, 0x69, 0xc9, 0x54, 0x75, 0xb1, 0x28, 0xc7, 0x0a, 0x83, + 0x7e, 0x98, 0xeb, 0x85, 0x4c, 0x64, 0xd8, 0x11, 0x3b, 0x58, 0x7d, 0x58, 0x4d, 0x02, 0x70, 0x82, + 0x63, 0xff, 0x5d, 0x0b, 0x4e, 0x5e, 0x6a, 0x75, 0xa2, 0x98, 0x84, 0xeb, 0x91, 0xd1, 0xd9, 0xe7, + 0xa0, 0x4a, 0xa4, 0x70, 0x2f, 0xfa, 0xaa, 0x0e, 0x0d, 0x25, 0xf5, 0x73, 0x4f, 0x67, 0x85, 0x57, + 0xc0, 0xa1, 0xb6, 0x3f, 0xf7, 0xcf, 0xdf, 0x2d, 0xc1, 0xd8, 0xe5, 0xb5, 0xb5, 0xfa, 0x25, 0x12, + 0x0b, 0x2e, 0x99, 0x6f, 0xf6, 0xc2, 0x9a, 0x46, 0x7e, 0x90, 0xf0, 0xd3, 0x89, 0xbd, 0xd6, 0x3c, + 0x8f, 0x46, 0x99, 0x5f, 0xf5, 0xe3, 0x1b, 0x61, 0x23, 0x0e, 0x3d, 0x7f, 0x23, 0x53, 0x87, 0x97, + 0xbc, 0xbc, 0xdc, 0x8b, 0x97, 0xa3, 0xe7, 0x60, 0x90, 0x85, 0xc3, 0x48, 0xe1, 0xe3, 0x83, 0x4a, + 0x4e, 0x60, 0xa5, 0xfb, 0xbb, 0x73, 0xd5, 0x9b, 0x78, 0x95, 0xff, 0xc1, 0x02, 0x15, 0xbd, 0x09, + 0x23, 0x9b, 0x71, 0xdc, 0xbe, 0x4c, 0x1c, 0x97, 0x84, 0x92, 0x4f, 0x9c, 0x3d, 0x98, 0x4f, 0xd0, + 0xe1, 0xe0, 0x15, 0x92, 0xad, 0x95, 0x94, 0x45, 0x58, 0xa7, 0x68, 0x37, 0x00, 0x12, 0xd8, 0x03, + 0xd2, 0x41, 0xec, 0x5f, 0x29, 0xc1, 0xd0, 0x65, 0xc7, 0x77, 0x5b, 0x24, 0x44, 0x2b, 0x50, 0x21, + 0xf7, 0x49, 0x53, 0x1c, 0xe4, 0x39, 0x5d, 0x4f, 0x0e, 0x3b, 0x6e, 0xb9, 0xa3, 0xff, 0x31, 0xab, + 0x8f, 0x30, 0x0c, 0xd1, 0x7e, 0x5f, 0x52, 0x7e, 0xe8, 0xcf, 0xe4, 0x8f, 0x82, 0x5a, 0x14, 0xfc, + 0xa4, 0x14, 0x45, 0x58, 0x12, 0x62, 0x16, 0xa8, 0x66, 0xbb, 0x41, 0xd9, 0x5b, 0x5c, 0x4c, 0xb3, + 0x5b, 0x5b, 0xaa, 0x73, 0x74, 0x41, 0x97, 0x5b, 0xa0, 0x64, 0x21, 0x4e, 0xc8, 0xd9, 0x6b, 0x50, + 0xa5, 0x93, 0xbf, 0xd0, 0xf2, 0x9c, 0x83, 0xcd, 0x60, 0xcf, 0x40, 0x55, 0x1a, 0xa2, 0x22, 0xe1, + 0xd4, 0xce, 0xa8, 0x4a, 0x3b, 0x55, 0x84, 0x13, 0xb8, 0xfd, 0x12, 0x4c, 0xb3, 0x7b, 0x64, 0x27, + 0xde, 0x34, 0xf6, 0x62, 0xee, 0xa2, 0xb7, 0xbf, 0x59, 0x81, 0xa9, 0xd5, 0xc6, 0x52, 0xc3, 0xb4, + 0x79, 0xbe, 0x04, 0xa3, 0xfc, 0xd8, 0xa7, 0x4b, 0xd9, 0x69, 0x89, 0xfa, 0xea, 0xee, 0x63, 0x4d, + 0x83, 0x61, 0x03, 0x13, 0x3d, 0x0a, 0x65, 0xef, 0x1d, 0x3f, 0xed, 0x8d, 0xb8, 0xfa, 0xea, 0x75, + 0x4c, 0xcb, 0x29, 0x98, 0x4a, 0x10, 0x9c, 0x75, 0x2a, 0xb0, 0x92, 0x22, 0x5e, 0x81, 0x71, 0x2f, + 0x6a, 0x46, 0xde, 0xaa, 0x4f, 0xf9, 0x8a, 0xd3, 0x94, 0x9b, 0x22, 0x11, 0xf9, 0x69, 0x57, 0x15, + 0x14, 0xa7, 0xb0, 0x35, 0x3e, 0x3e, 0x50, 0x58, 0x0a, 0xc9, 0x75, 0x73, 0xa7, 0x02, 0x56, 0x9b, + 0x7d, 0x5d, 0xc4, 0x7c, 0x9b, 0x84, 0x80, 0xc5, 0x3f, 0x38, 0xc2, 0x12, 0x86, 0x2e, 0xc1, 0x54, + 0x73, 0xd3, 0x69, 0x2f, 0x74, 0xe2, 0xcd, 0x9a, 0x17, 0x35, 0x83, 0x6d, 0x12, 0xee, 0x30, 0x01, + 0x78, 0x38, 0xb1, 0x69, 0x29, 0xc0, 0xd2, 0xe5, 0x85, 0x3a, 0xc5, 0xc4, 0xdd, 0x75, 0x4c, 0x81, + 0x04, 0x8e, 0x40, 0x20, 0x59, 0x80, 0x09, 0xd9, 0x6a, 0x83, 0x44, 0xec, 0x88, 0x18, 0x61, 0xfd, + 0x54, 0x01, 0x46, 0xa2, 0x58, 0xf5, 0x32, 0x8d, 0x6f, 0xbf, 0x0d, 0x55, 0xe5, 0x8b, 0x27, 0x5d, + 0x50, 0xad, 0x1e, 0x2e, 0xa8, 0xf9, 0xcc, 0x5d, 0x5a, 0xe7, 0xcb, 0x99, 0xd6, 0xf9, 0x7f, 0x6a, + 0x41, 0xe2, 0x4c, 0x84, 0x30, 0x54, 0xdb, 0x01, 0xbb, 0xc9, 0x0b, 0xe5, 0x95, 0xf9, 0x13, 0x39, + 0x7b, 0x9e, 0xf3, 0x1c, 0x3e, 0x20, 0x75, 0x59, 0x17, 0x27, 0x64, 0xd0, 0x55, 0x18, 0x6a, 0x87, + 0xa4, 0x11, 0xb3, 0xf8, 0x91, 0x3e, 0x28, 0xf2, 0x85, 0xc0, 0x6b, 0x62, 0x49, 0xc2, 0xfe, 0x97, + 0x16, 0x00, 0x37, 0x83, 0x3b, 0xfe, 0x06, 0x39, 0x06, 0xc5, 0xfa, 0x3a, 0x54, 0xa2, 0x36, 0x69, + 0x16, 0xbb, 0x8b, 0x4d, 0x7a, 0xd6, 0x68, 0x93, 0x66, 0x32, 0x1d, 0xf4, 0x1f, 0x66, 0x74, 0xec, + 0xef, 0x00, 0x8c, 0x27, 0x68, 0x54, 0xb9, 0x41, 0xcf, 0x1a, 0x81, 0x13, 0x0f, 0xa7, 0x02, 0x27, + 0xaa, 0x0c, 0x5b, 0x8b, 0x95, 0x88, 0xa1, 0xbc, 0xe5, 0xdc, 0x17, 0xba, 0xd4, 0x0b, 0x45, 0x3b, + 0x44, 0x5b, 0x9a, 0xbf, 0xe6, 0xdc, 0xe7, 0xa2, 0xeb, 0x33, 0x72, 0x21, 0x5d, 0x73, 0xee, 0xef, + 0xf3, 0x1b, 0x57, 0xc6, 0x9d, 0xa8, 0xf2, 0xf6, 0xd9, 0x3f, 0x4b, 0xfe, 0xb3, 0x63, 0x88, 0x36, + 0xc7, 0x5a, 0xf5, 0x7c, 0x61, 0x0a, 0xee, 0xb3, 0x55, 0xcf, 0x4f, 0xb7, 0xea, 0xf9, 0x05, 0x5a, + 0xf5, 0x98, 0x87, 0xf1, 0x90, 0xb8, 0xa3, 0x61, 0xee, 0x99, 0x23, 0x17, 0x3f, 0xda, 0x57, 0xd3, + 0xe2, 0xb2, 0x87, 0x37, 0x7f, 0x5e, 0xca, 0xeb, 0xa2, 0x34, 0xb7, 0x0b, 0xb2, 0x69, 0xf4, 0xf7, + 0x2c, 0x18, 0x17, 0xbf, 0x31, 0x79, 0xa7, 0x43, 0xa2, 0x58, 0xc8, 0x05, 0x9f, 0x38, 0x4c, 0x6f, + 0x04, 0x09, 0xde, 0xa9, 0x8f, 0x48, 0xf6, 0x6b, 0x02, 0x73, 0xfb, 0x96, 0xea, 0x0f, 0xfa, 0x8e, + 0x05, 0xd3, 0x5b, 0xce, 0x7d, 0xde, 0x22, 0x2f, 0xc3, 0x4e, 0xec, 0x05, 0xc2, 0x05, 0x75, 0xa5, + 0xdf, 0x75, 0xd2, 0x45, 0x88, 0x77, 0x57, 0x7a, 0x97, 0x4d, 0x67, 0xa1, 0xe4, 0x76, 0x3a, 0xb3, + 0x87, 0xb3, 0xeb, 0x30, 0x2c, 0x17, 0x66, 0x86, 0xa6, 0x54, 0xd3, 0xc5, 0x9f, 0xbe, 0x2f, 0xd0, + 0x34, 0xcd, 0x8a, 0xb5, 0x23, 0x96, 0xe2, 0x91, 0xb6, 0xf3, 0x36, 0x8c, 0xea, 0xeb, 0xee, 0x48, + 0xdb, 0x7a, 0x07, 0x4e, 0x64, 0xac, 0xaa, 0x23, 0x6d, 0xf2, 0x1e, 0x3c, 0xdc, 0x73, 0x7d, 0x1c, + 0x65, 0xc3, 0xf6, 0xef, 0x5a, 0x3a, 0xeb, 0x3c, 0x06, 0xbb, 0xd5, 0x35, 0xd3, 0x6e, 0x75, 0xb6, + 0xe8, 0x1e, 0xea, 0x61, 0xbc, 0x5a, 0xd7, 0xbb, 0x4f, 0x8f, 0x04, 0xb4, 0x06, 0x83, 0x2d, 0x5a, + 0x22, 0xaf, 0x0d, 0xcf, 0xf5, 0xb3, 0x4b, 0x13, 0x09, 0x8c, 0x95, 0x47, 0x58, 0xd0, 0xb2, 0xbf, + 0x63, 0x41, 0xe5, 0x2f, 0x31, 0xac, 0xab, 0x8b, 0xb4, 0x48, 0x4d, 0x30, 0x8f, 0x9d, 0x7b, 0xcb, + 0xf7, 0x63, 0xe2, 0x47, 0x4c, 0x8c, 0xcf, 0x1c, 0xa2, 0xff, 0x53, 0x82, 0x11, 0xda, 0x94, 0xf4, + 0x94, 0x79, 0x19, 0xc6, 0x5a, 0xce, 0x1d, 0xd2, 0x92, 0x36, 0xf7, 0xb4, 0xd2, 0x7b, 0x55, 0x07, + 0x62, 0x13, 0x97, 0x56, 0x5e, 0xd7, 0xaf, 0x24, 0x84, 0x90, 0xa4, 0x2a, 0x1b, 0xf7, 0x15, 0xd8, + 0xc4, 0xa5, 0x5a, 0xd7, 0x3d, 0x27, 0x6e, 0x6e, 0x0a, 0x85, 0x58, 0x75, 0xf7, 0x36, 0x2d, 0xc4, + 0x1c, 0x46, 0x85, 0x3d, 0xb9, 0x62, 0x6f, 0x91, 0x90, 0x09, 0x7b, 0x5c, 0xa8, 0x56, 0xc2, 0x1e, + 0x36, 0xc1, 0x38, 0x8d, 0x8f, 0x3e, 0x06, 0xe3, 0x74, 0x70, 0x82, 0x4e, 0x2c, 0xfd, 0x80, 0x06, + 0x98, 0x1f, 0x10, 0x73, 0x23, 0x5f, 0x33, 0x20, 0x38, 0x85, 0x89, 0xea, 0x30, 0xed, 0xf9, 0xcd, + 0x56, 0xc7, 0x25, 0x37, 0x7d, 0xcf, 0xf7, 0x62, 0xcf, 0x69, 0x79, 0xef, 0x12, 0x57, 0x88, 0xdd, + 0xca, 0x65, 0x6b, 0x35, 0x03, 0x07, 0x67, 0xd6, 0xb4, 0xdf, 0x84, 0x13, 0x57, 0x03, 0xc7, 0x5d, + 0x74, 0x5a, 0x8e, 0xdf, 0x24, 0xe1, 0xaa, 0xbf, 0x91, 0xeb, 0x53, 0xa0, 0xdf, 0xfb, 0x97, 0xf2, + 0xee, 0xfd, 0xed, 0x10, 0x90, 0xde, 0x80, 0xf0, 0x89, 0x7b, 0x03, 0x86, 0x3c, 0xde, 0x94, 0xd8, + 0x08, 0x17, 0xf2, 0x64, 0xf2, 0xae, 0x3e, 0x6a, 0x3e, 0x5e, 0xbc, 0x00, 0x4b, 0x92, 0x54, 0x83, + 0xcb, 0x12, 0xe2, 0xf3, 0x55, 0x6f, 0xfb, 0x05, 0x98, 0x62, 0x35, 0xfb, 0x54, 0xfc, 0xfe, 0x9a, + 0x05, 0x13, 0xd7, 0x53, 0x01, 0xd0, 0x4f, 0xc2, 0x60, 0x44, 0xc2, 0x0c, 0xcb, 0x6a, 0x83, 0x95, + 0x62, 0x01, 0x7d, 0xe0, 0xd6, 0x9a, 0x5f, 0x2b, 0x41, 0x95, 0x39, 0x65, 0xb7, 0xa9, 0x12, 0x77, + 0xf4, 0xf2, 0xf2, 0x35, 0x43, 0x5e, 0xce, 0xb1, 0x18, 0xa8, 0x8e, 0xf5, 0x12, 0x97, 0xd1, 0x4d, + 0x15, 0x18, 0x5c, 0xc8, 0x58, 0x90, 0x10, 0xe4, 0xc1, 0xa3, 0xe3, 0x66, 0x1c, 0xb1, 0x0c, 0x1a, + 0x66, 0x17, 0xf8, 0x0a, 0xf7, 0x7d, 0x77, 0x81, 0xaf, 0x7a, 0xd6, 0x83, 0x4b, 0xd6, 0xb5, 0xce, + 0xb3, 0x73, 0xe4, 0x17, 0x98, 0xab, 0x2d, 0xdb, 0xc3, 0x2a, 0xbe, 0x7e, 0x4e, 0xb8, 0xce, 0x8a, + 0xd2, 0x7d, 0xc6, 0xf0, 0xc4, 0x3f, 0x9e, 0x3e, 0x21, 0xa9, 0x62, 0x5f, 0x86, 0x89, 0xd4, 0xd0, + 0xa1, 0x17, 0x60, 0xa0, 0xbd, 0xe9, 0x44, 0x24, 0xe5, 0xf4, 0x34, 0x50, 0xa7, 0x85, 0xfb, 0xbb, + 0x73, 0xe3, 0xaa, 0x02, 0x2b, 0xc1, 0x1c, 0xdb, 0xfe, 0x5c, 0x09, 0x2a, 0xd7, 0x03, 0xf7, 0x38, + 0x96, 0xda, 0x65, 0x63, 0xa9, 0x3d, 0x99, 0x9f, 0xaf, 0xa5, 0xe7, 0x2a, 0xab, 0xa7, 0x56, 0xd9, + 0xd9, 0x02, 0xb4, 0x0e, 0x5e, 0x60, 0x5b, 0x30, 0xc2, 0xf2, 0xc1, 0x08, 0xa7, 0xac, 0xe7, 0x0c, + 0x15, 0x6f, 0x2e, 0xa5, 0xe2, 0x4d, 0x68, 0xa8, 0x9a, 0xa2, 0xf7, 0x14, 0x0c, 0x09, 0x27, 0xa0, + 0xb4, 0xa3, 0xb1, 0xc0, 0xc5, 0x12, 0x6e, 0xff, 0x8b, 0x32, 0x18, 0xf9, 0x67, 0xd0, 0xef, 0x5b, + 0x30, 0x1f, 0xf2, 0xa0, 0x2d, 0xb7, 0xd6, 0x09, 0x3d, 0x7f, 0xa3, 0xd1, 0xdc, 0x24, 0x6e, 0xa7, + 0xe5, 0xf9, 0x1b, 0xab, 0x1b, 0x7e, 0xa0, 0x8a, 0x97, 0xef, 0x93, 0x66, 0x87, 0xd9, 0xdc, 0x0b, + 0xa7, 0xbd, 0x51, 0x17, 0xe0, 0x17, 0xf7, 0x76, 0xe7, 0xe6, 0x71, 0x5f, 0xad, 0xe0, 0x3e, 0x7b, + 0x85, 0x7e, 0x64, 0xc1, 0x79, 0x9e, 0x81, 0xa5, 0xf8, 0x97, 0x14, 0x52, 0x8d, 0xeb, 0x92, 0x68, + 0x42, 0x6e, 0x8d, 0x84, 0x5b, 0x8b, 0x2f, 0x8a, 0x41, 0x3e, 0x5f, 0xef, 0xaf, 0x55, 0xdc, 0x6f, + 0x37, 0xed, 0x7f, 0x5d, 0x86, 0x31, 0x3a, 0x9e, 0x49, 0x0a, 0x85, 0x17, 0x8c, 0x65, 0xf2, 0x58, + 0x6a, 0x99, 0x4c, 0x19, 0xc8, 0x0f, 0x26, 0x7b, 0x42, 0x04, 0x53, 0x2d, 0x27, 0x8a, 0x2f, 0x13, + 0x27, 0x8c, 0xef, 0x10, 0x87, 0xdd, 0x33, 0xa7, 0x7d, 0x58, 0x0a, 0x5c, 0x5d, 0x2b, 0x23, 0xdc, + 0xd5, 0x34, 0x31, 0xdc, 0x4d, 0x1f, 0x6d, 0x03, 0x62, 0x77, 0xda, 0xa1, 0xe3, 0x47, 0xfc, 0x5b, + 0x3c, 0x61, 0xa3, 0xef, 0xaf, 0xd5, 0x59, 0xd1, 0x2a, 0xba, 0xda, 0x45, 0x0d, 0x67, 0xb4, 0xa0, + 0x79, 0x2d, 0x0c, 0x14, 0xf5, 0x5a, 0x18, 0xcc, 0xf1, 0xf0, 0xff, 0xbc, 0x05, 0x27, 0xe8, 0xb4, + 0x98, 0xde, 0xe0, 0x11, 0x0a, 0x60, 0x82, 0x2e, 0xbb, 0x16, 0x89, 0x65, 0x99, 0xd8, 0x5f, 0x39, + 0x22, 0xbe, 0x49, 0x27, 0x91, 0x23, 0xaf, 0x98, 0xc4, 0x70, 0x9a, 0xba, 0xfd, 0x75, 0x0b, 0x98, + 0xf7, 0xe4, 0x31, 0x1c, 0x66, 0x97, 0xcc, 0xc3, 0xcc, 0xce, 0xe7, 0x18, 0x3d, 0xce, 0xb1, 0xe7, + 0x61, 0x92, 0x42, 0xeb, 0x61, 0x70, 0x7f, 0x47, 0x4a, 0xfc, 0xf9, 0xd2, 0xd5, 0xe7, 0x4b, 0x7c, + 0xdb, 0xa8, 0xe8, 0x53, 0xf4, 0x05, 0x0b, 0x86, 0x9b, 0x4e, 0xdb, 0x69, 0xf2, 0xec, 0x5d, 0x05, + 0xcc, 0x44, 0x46, 0xfd, 0xf9, 0x25, 0x51, 0x97, 0x9b, 0x38, 0x3e, 0x2c, 0x3f, 0x5d, 0x16, 0xe7, + 0x9a, 0x35, 0x54, 0xe3, 0xb3, 0x77, 0x61, 0xcc, 0x20, 0x76, 0xa4, 0xfa, 0xf0, 0x17, 0x2c, 0xce, + 0xf4, 0x95, 0xce, 0x72, 0x0f, 0xa6, 0x7c, 0xed, 0x3f, 0x65, 0x67, 0x52, 0xa0, 0x9e, 0x2f, 0xce, + 0xd6, 0x19, 0x17, 0xd4, 0x3c, 0x45, 0x53, 0x04, 0x71, 0x77, 0x1b, 0xf6, 0x6f, 0x58, 0xf0, 0x90, + 0x8e, 0xa8, 0x85, 0x0b, 0xe7, 0x19, 0xb0, 0x6b, 0x30, 0x1c, 0xb4, 0x49, 0xe8, 0x24, 0xfa, 0xd9, + 0x59, 0x39, 0xfe, 0x37, 0x44, 0xf9, 0xfe, 0xee, 0xdc, 0xb4, 0x4e, 0x5d, 0x96, 0x63, 0x55, 0x13, + 0xd9, 0x30, 0xc8, 0xc6, 0x25, 0x12, 0x81, 0xde, 0x2c, 0x9b, 0x15, 0xbb, 0x20, 0x8b, 0xb0, 0x80, + 0xd8, 0x7f, 0xd3, 0xe2, 0xcb, 0x4d, 0xef, 0x3a, 0xfa, 0x25, 0x98, 0xdc, 0xa2, 0xaa, 0xdc, 0xf2, + 0xfd, 0x76, 0xc8, 0xcd, 0xef, 0x72, 0xc4, 0x5e, 0x28, 0x3e, 0x62, 0xda, 0xe7, 0x2e, 0xce, 0x88, + 0xde, 0x4f, 0x5e, 0x4b, 0x91, 0xc5, 0x5d, 0x0d, 0xd9, 0xff, 0xa0, 0xc4, 0xf7, 0x2c, 0x93, 0xe1, + 0x9e, 0x82, 0xa1, 0x76, 0xe0, 0x2e, 0xad, 0xd6, 0xb0, 0x18, 0x2b, 0xc5, 0x74, 0xea, 0xbc, 0x18, + 0x4b, 0x38, 0xba, 0x08, 0x40, 0xee, 0xc7, 0x24, 0xf4, 0x9d, 0x96, 0xba, 0xd2, 0x57, 0xa2, 0xd2, + 0xb2, 0x82, 0x60, 0x0d, 0x8b, 0xd6, 0x69, 0x87, 0xc1, 0xb6, 0xe7, 0xb2, 0x38, 0x97, 0xb2, 0x59, + 0xa7, 0xae, 0x20, 0x58, 0xc3, 0xa2, 0x0a, 0x74, 0xc7, 0x8f, 0xf8, 0x31, 0xe6, 0xdc, 0x11, 0x99, + 0x94, 0x86, 0x13, 0x05, 0xfa, 0xa6, 0x0e, 0xc4, 0x26, 0x2e, 0xba, 0x02, 0x83, 0xb1, 0xc3, 0x2e, + 0xaa, 0x07, 0x8a, 0x78, 0xfd, 0xac, 0x51, 0x5c, 0x3d, 0x75, 0x15, 0xad, 0x8a, 0x05, 0x09, 0xfb, + 0x3f, 0x55, 0x01, 0x12, 0xa9, 0x0b, 0x7d, 0xae, 0x7b, 0xc3, 0x7f, 0xa4, 0xa8, 0xc8, 0xf6, 0xe0, + 0x76, 0x3b, 0xfa, 0xb2, 0x05, 0x23, 0x4e, 0xab, 0x15, 0x34, 0x9d, 0x98, 0x0d, 0x4f, 0xa9, 0x28, + 0xeb, 0x11, 0x3d, 0x59, 0x48, 0xea, 0xf2, 0xce, 0x3c, 0x27, 0x2f, 0x8f, 0x35, 0x48, 0x6e, 0x7f, + 0xf4, 0x2e, 0xa0, 0x0f, 0x4b, 0xa9, 0x9d, 0xcf, 0xf0, 0x6c, 0x5a, 0x6a, 0xaf, 0x32, 0x86, 0xab, + 0x09, 0xec, 0xe8, 0x4d, 0x23, 0xf3, 0x50, 0xa5, 0x48, 0xb0, 0xb2, 0x21, 0x87, 0xe4, 0x25, 0x1d, + 0x42, 0xaf, 0xeb, 0xee, 0xf1, 0x03, 0x45, 0xb2, 0x01, 0x68, 0xe2, 0x70, 0x8e, 0x6b, 0x7c, 0x0c, + 0x13, 0xae, 0x79, 0xf2, 0x0a, 0x17, 0xbf, 0x0b, 0xf9, 0x2d, 0xa4, 0x8e, 0xec, 0xe4, 0xac, 0x4d, + 0x01, 0x70, 0xba, 0x09, 0xf4, 0x3a, 0x0f, 0x5e, 0x58, 0xf5, 0xd7, 0x03, 0xe1, 0xe6, 0x77, 0xae, + 0xc0, 0x9c, 0xef, 0x44, 0x31, 0xd9, 0xa2, 0x75, 0x92, 0xc3, 0xf5, 0xba, 0xa0, 0x82, 0x15, 0x3d, + 0xb4, 0x06, 0x83, 0x2c, 0x36, 0x2d, 0x9a, 0x19, 0x2e, 0x62, 0x12, 0x34, 0x43, 0xb2, 0x93, 0xfd, + 0xc3, 0xfe, 0x46, 0x58, 0xd0, 0x42, 0x97, 0x65, 0x52, 0x86, 0x68, 0xd5, 0xbf, 0x19, 0x11, 0x96, + 0x94, 0xa1, 0xba, 0xf8, 0xa1, 0x24, 0xcb, 0x02, 0x2f, 0xcf, 0x4c, 0xd7, 0x68, 0xd4, 0xa4, 0x82, + 0x8d, 0xf8, 0x2f, 0xb3, 0x40, 0xce, 0x40, 0x91, 0x8e, 0x9a, 0x39, 0x23, 0x93, 0xc1, 0xbe, 0x65, + 0x12, 0xc3, 0x69, 0xea, 0xc7, 0x7a, 0xa4, 0xce, 0xfa, 0x30, 0x99, 0xde, 0x94, 0x47, 0x7a, 0x84, + 0xff, 0xa4, 0x02, 0xe3, 0xe6, 0xe2, 0x40, 0xe7, 0xa1, 0x2a, 0x88, 0xa8, 0x14, 0x6f, 0x6a, 0x0f, + 0x5c, 0x93, 0x00, 0x9c, 0xe0, 0xb0, 0x64, 0x77, 0xac, 0xba, 0xe6, 0xe0, 0x95, 0x24, 0xbb, 0x53, + 0x10, 0xac, 0x61, 0x51, 0x49, 0xf8, 0x4e, 0x10, 0xc4, 0xea, 0x24, 0x50, 0xeb, 0x66, 0x91, 0x95, + 0x62, 0x01, 0xa5, 0x27, 0xc0, 0x5d, 0x3a, 0x99, 0x2d, 0xd3, 0xbc, 0xa9, 0x4e, 0x80, 0x2b, 0x3a, + 0x10, 0x9b, 0xb8, 0xf4, 0x44, 0x0b, 0x22, 0xb6, 0x10, 0x85, 0xbc, 0x9d, 0x38, 0xcc, 0x35, 0x78, + 0xbc, 0xa6, 0x84, 0xa3, 0x4f, 0xc2, 0x43, 0x2a, 0xbc, 0x12, 0x73, 0x73, 0xb1, 0x6c, 0x71, 0xd0, + 0x50, 0x99, 0x1f, 0x5a, 0xca, 0x46, 0xc3, 0xbd, 0xea, 0xa3, 0x57, 0x60, 0x5c, 0xc8, 0xca, 0x92, + 0xe2, 0x90, 0xe9, 0xf7, 0x70, 0xc5, 0x80, 0xe2, 0x14, 0x36, 0xaa, 0xc1, 0x24, 0x2d, 0x61, 0x42, + 0xaa, 0xa4, 0xc0, 0xc3, 0x44, 0xd5, 0x51, 0x7f, 0x25, 0x05, 0xc7, 0x5d, 0x35, 0xd0, 0x02, 0x4c, + 0x70, 0x61, 0x85, 0x2a, 0x86, 0x6c, 0x1e, 0x84, 0x6f, 0xae, 0xda, 0x08, 0x37, 0x4c, 0x30, 0x4e, + 0xe3, 0xa3, 0x97, 0x60, 0xd4, 0x09, 0x9b, 0x9b, 0x5e, 0x4c, 0x9a, 0x71, 0x27, 0xe4, 0x29, 0x4f, + 0x34, 0xc7, 0x91, 0x05, 0x0d, 0x86, 0x0d, 0x4c, 0xfb, 0x5d, 0x38, 0x91, 0x11, 0x08, 0x40, 0x17, + 0x8e, 0xd3, 0xf6, 0xe4, 0x37, 0xa5, 0x5c, 0xdf, 0x16, 0xea, 0xab, 0xf2, 0x6b, 0x34, 0x2c, 0xba, + 0x3a, 0x99, 0x9d, 0x5c, 0x4b, 0xda, 0xaa, 0x56, 0xe7, 0x8a, 0x04, 0xe0, 0x04, 0xc7, 0xfe, 0x53, + 0x00, 0xcd, 0x7a, 0x53, 0xc0, 0xdd, 0xe9, 0x25, 0x18, 0x95, 0x79, 0x88, 0xb5, 0x64, 0x9e, 0xea, + 0x33, 0x2f, 0x69, 0x30, 0x6c, 0x60, 0xd2, 0xbe, 0xf9, 0xd2, 0x26, 0x95, 0x76, 0xb4, 0x53, 0xc6, + 0x2a, 0x9c, 0xe0, 0xa0, 0x73, 0x30, 0x1c, 0x91, 0xd6, 0xfa, 0x55, 0xcf, 0xbf, 0x2b, 0x16, 0xb6, + 0xe2, 0xcc, 0x0d, 0x51, 0x8e, 0x15, 0x06, 0x5a, 0x84, 0x72, 0xc7, 0x73, 0xc5, 0x52, 0x96, 0x62, + 0x43, 0xf9, 0xe6, 0x6a, 0x6d, 0x7f, 0x77, 0xee, 0xb1, 0x5e, 0xe9, 0x95, 0xa9, 0x7e, 0x1e, 0xcd, + 0xd3, 0xed, 0x47, 0x2b, 0x67, 0x5d, 0x18, 0x0c, 0xf6, 0x79, 0x61, 0x70, 0x11, 0x40, 0x7c, 0xb5, + 0x5c, 0xcb, 0xe5, 0x64, 0xd6, 0x2e, 0x29, 0x08, 0xd6, 0xb0, 0xa8, 0x96, 0xdf, 0x0c, 0x89, 0x23, + 0x15, 0x61, 0xee, 0xa0, 0x3e, 0x7c, 0x78, 0x2d, 0x7f, 0x29, 0x4d, 0x0c, 0x77, 0xd3, 0x47, 0x01, + 0x4c, 0xb9, 0x22, 0x86, 0x37, 0x69, 0xb4, 0xda, 0xbf, 0x57, 0x3c, 0xf3, 0xed, 0x49, 0x13, 0xc2, + 0xdd, 0xb4, 0xd1, 0xa7, 0x61, 0x56, 0x16, 0x76, 0x07, 0x50, 0xb3, 0xed, 0x52, 0x5e, 0x3c, 0xbd, + 0xb7, 0x3b, 0x37, 0x5b, 0xeb, 0x89, 0x85, 0x0f, 0xa0, 0x80, 0xde, 0x80, 0x41, 0x76, 0xc1, 0x14, + 0xcd, 0x8c, 0xb0, 0x13, 0xef, 0xf9, 0x22, 0xb1, 0x15, 0x74, 0xd5, 0xcf, 0xb3, 0x6b, 0x2a, 0xe1, + 0x35, 0x9c, 0xdc, 0xda, 0xb1, 0x42, 0x2c, 0x68, 0xa2, 0x36, 0x8c, 0x38, 0xbe, 0x1f, 0xc4, 0x0e, + 0x17, 0xc4, 0x46, 0x8b, 0xc8, 0x92, 0x5a, 0x13, 0x0b, 0x49, 0x5d, 0xde, 0x8e, 0x72, 0x44, 0xd4, + 0x20, 0x58, 0x6f, 0x02, 0xdd, 0x83, 0x89, 0xe0, 0x1e, 0x65, 0x98, 0xf2, 0x46, 0x24, 0x9a, 0x19, + 0x33, 0x3f, 0x2c, 0xc7, 0x50, 0x6b, 0x54, 0xd6, 0x38, 0x99, 0x49, 0x14, 0xa7, 0x5b, 0x41, 0xf3, + 0x86, 0xb9, 0x7a, 0x3c, 0xf1, 0x8d, 0x4f, 0xcc, 0xd5, 0xba, 0x75, 0x9a, 0x05, 0xe9, 0x73, 0x7f, + 0x58, 0xc6, 0x11, 0x26, 0x52, 0x41, 0xfa, 0x09, 0x08, 0xeb, 0x78, 0x68, 0x13, 0x46, 0x93, 0xbb, + 0xad, 0x30, 0x62, 0xf9, 0x7f, 0x34, 0x77, 0xaf, 0x83, 0x3f, 0x6e, 0x55, 0xab, 0xc9, 0x23, 0x7d, + 0xf4, 0x12, 0x6c, 0x50, 0x9e, 0xfd, 0x28, 0x8c, 0x68, 0x53, 0xdc, 0x8f, 0xbb, 0xf7, 0xec, 0x2b, + 0x30, 0x99, 0x9e, 0xba, 0xbe, 0xdc, 0xc5, 0xff, 0x47, 0x09, 0x26, 0x32, 0x2e, 0xb6, 0x58, 0x36, + 0xe6, 0x14, 0x93, 0x4d, 0x92, 0x2f, 0x9b, 0xac, 0xb2, 0x54, 0x80, 0x55, 0x4a, 0xbe, 0x5d, 0xee, + 0xc9, 0xb7, 0x05, 0x7b, 0xac, 0xbc, 0x17, 0xf6, 0x68, 0x9e, 0x48, 0x03, 0x85, 0x4e, 0xa4, 0x07, + 0xc0, 0x52, 0x8d, 0x43, 0x6d, 0xa8, 0xc0, 0xa1, 0xf6, 0xb5, 0x12, 0x4c, 0x26, 0xae, 0xf1, 0x22, + 0x0d, 0xfa, 0xd1, 0x5f, 0x78, 0xac, 0x19, 0x17, 0x1e, 0x79, 0x59, 0xce, 0x53, 0xfd, 0xeb, 0x79, + 0xf9, 0xf1, 0x46, 0xea, 0xf2, 0xe3, 0xf9, 0x3e, 0xe9, 0x1e, 0x7c, 0x11, 0xf2, 0xed, 0x12, 0x9c, + 0x4c, 0x57, 0x59, 0x6a, 0x39, 0xde, 0xd6, 0x31, 0x8c, 0xd7, 0x27, 0x8d, 0xf1, 0x7a, 0xb1, 0xbf, + 0xef, 0x62, 0x9d, 0xec, 0x39, 0x68, 0x4e, 0x6a, 0xd0, 0x3e, 0x7a, 0x18, 0xe2, 0x07, 0x8f, 0xdc, + 0x1f, 0x59, 0xf0, 0x70, 0x66, 0xbd, 0x63, 0x30, 0xf1, 0xbe, 0x66, 0x9a, 0x78, 0x9f, 0x3b, 0xc4, + 0xd7, 0xf5, 0xb0, 0xf9, 0xfe, 0x66, 0xb9, 0xc7, 0x57, 0x31, 0x23, 0xd8, 0x0d, 0x18, 0x71, 0x9a, + 0x4d, 0x12, 0x45, 0xd7, 0x02, 0x57, 0x25, 0x16, 0x7b, 0x96, 0x9d, 0x62, 0x49, 0xf1, 0xfe, 0xee, + 0xdc, 0x6c, 0x9a, 0x44, 0x02, 0xc6, 0x3a, 0x05, 0x33, 0xe5, 0x61, 0xe9, 0x88, 0x52, 0x1e, 0x5e, + 0x04, 0xd8, 0x56, 0xfa, 0x72, 0xda, 0xb6, 0xa6, 0x69, 0xd2, 0x1a, 0x16, 0xfa, 0x2b, 0x4c, 0xf6, + 0xe4, 0x7e, 0x29, 0x15, 0x33, 0xca, 0x36, 0x67, 0xfe, 0x74, 0x1f, 0x17, 0x1e, 0xcc, 0xab, 0xec, + 0x90, 0x8a, 0x24, 0xfa, 0x04, 0x4c, 0x46, 0x3c, 0x27, 0xc5, 0x52, 0xcb, 0x89, 0x58, 0x4c, 0x88, + 0xe0, 0xa7, 0x2c, 0x2e, 0xb7, 0x91, 0x82, 0xe1, 0x2e, 0x6c, 0xfb, 0x5b, 0x65, 0xf8, 0xe0, 0x01, + 0xcb, 0x16, 0x2d, 0x98, 0xf7, 0xc3, 0xcf, 0xa4, 0x2d, 0x4d, 0xb3, 0x99, 0x95, 0x0d, 0xd3, 0x53, + 0x6a, 0xb6, 0x4b, 0xef, 0x79, 0xb6, 0xbf, 0xa2, 0xdb, 0x05, 0xb9, 0xab, 0xea, 0xa5, 0x43, 0x6f, + 0xcc, 0x9f, 0xd6, 0x6b, 0x81, 0xcf, 0x5a, 0xf0, 0x58, 0xe6, 0x67, 0x19, 0xfe, 0x28, 0xe7, 0xa1, + 0xda, 0xa4, 0x85, 0x5a, 0x04, 0x57, 0x12, 0x3a, 0x29, 0x01, 0x38, 0xc1, 0x31, 0xdc, 0x4e, 0x4a, + 0xb9, 0x6e, 0x27, 0x7f, 0x60, 0xc1, 0x74, 0xba, 0x13, 0xc7, 0xc0, 0xb7, 0x1a, 0x26, 0xdf, 0x9a, + 0xef, 0x6f, 0xf2, 0x7b, 0xb0, 0xac, 0xaf, 0x4d, 0xc2, 0xa9, 0xae, 0x53, 0x8f, 0x8f, 0xe2, 0x2f, + 0x5b, 0x30, 0xb5, 0xc1, 0xf4, 0x04, 0x2d, 0x4c, 0x4e, 0x7c, 0x57, 0x4e, 0x6c, 0xe1, 0x81, 0xd1, + 0x75, 0x5c, 0xeb, 0xe9, 0x42, 0xc1, 0xdd, 0x8d, 0xa1, 0x2f, 0x59, 0x30, 0xed, 0xdc, 0x8b, 0xba, + 0x1e, 0xe9, 0x11, 0x0b, 0xe9, 0x95, 0x1c, 0xb3, 0x5c, 0xce, 0xf3, 0x3e, 0x8b, 0x33, 0x7b, 0xbb, + 0x73, 0xd3, 0x59, 0x58, 0x38, 0xb3, 0x55, 0x3a, 0xbf, 0x9b, 0x22, 0x5c, 0xa6, 0x58, 0xc0, 0x67, + 0x56, 0x70, 0x0d, 0x67, 0x6b, 0x12, 0x82, 0x15, 0x45, 0xf4, 0x16, 0x54, 0x37, 0x64, 0x64, 0x5c, + 0x9a, 0x6d, 0xf6, 0x18, 0xe6, 0xac, 0x40, 0x3a, 0x1e, 0xae, 0xa0, 0x40, 0x38, 0x21, 0x8a, 0x2e, + 0x43, 0xd9, 0x5f, 0x8f, 0x44, 0x0c, 0x7a, 0x9e, 0xb7, 0x91, 0xe9, 0xe3, 0xc5, 0xc3, 0x76, 0xaf, + 0xaf, 0x34, 0x30, 0x25, 0x41, 0x29, 0x85, 0x77, 0x5c, 0x61, 0x8f, 0xce, 0xa1, 0x84, 0x17, 0x6b, + 0xdd, 0x94, 0xf0, 0x62, 0x0d, 0x53, 0x12, 0xa8, 0x0e, 0x03, 0x2c, 0x18, 0x47, 0x18, 0x9b, 0x73, + 0x12, 0x15, 0x74, 0x85, 0x1c, 0xf1, 0xcc, 0x9c, 0xac, 0x18, 0x73, 0x42, 0x68, 0x0d, 0x06, 0x9b, + 0xec, 0x71, 0x09, 0x61, 0x05, 0xc8, 0x4b, 0xe1, 0xd1, 0xf5, 0x10, 0x05, 0xbf, 0x61, 0xe3, 0xe5, + 0x58, 0xd0, 0x62, 0x54, 0x49, 0x7b, 0x73, 0x3d, 0x12, 0x6a, 0x7e, 0x1e, 0xd5, 0xae, 0x67, 0x42, + 0x04, 0x55, 0x56, 0x8e, 0x05, 0x2d, 0x54, 0x83, 0xd2, 0x7a, 0x53, 0xc4, 0xea, 0xe4, 0x18, 0x99, + 0xcd, 0x18, 0xec, 0xc5, 0xc1, 0xbd, 0xdd, 0xb9, 0xd2, 0xca, 0x12, 0x2e, 0xad, 0x37, 0xd1, 0x6b, + 0x30, 0xb4, 0xce, 0xa3, 0x6a, 0x45, 0x32, 0xdf, 0x0b, 0x79, 0xa1, 0xbf, 0x5d, 0x21, 0xb8, 0x3c, + 0x24, 0x45, 0x00, 0xb0, 0x24, 0xc7, 0xf2, 0x1c, 0xaa, 0x38, 0x61, 0x91, 0xcd, 0x77, 0xbe, 0xbf, + 0xb8, 0x62, 0xa1, 0xfd, 0xaa, 0x52, 0xac, 0x51, 0xa4, 0x6b, 0xde, 0x91, 0xef, 0xe4, 0xb0, 0x4c, + 0xbe, 0xb9, 0x6b, 0x3e, 0xf3, 0x59, 0x1d, 0xbe, 0xe6, 0x15, 0x08, 0x27, 0x44, 0x51, 0x07, 0xc6, + 0xb6, 0xa3, 0xf6, 0x26, 0x91, 0x5b, 0x9f, 0xa5, 0xf7, 0x1d, 0xb9, 0xf8, 0xf1, 0x9c, 0x9c, 0xcd, + 0xa2, 0x8a, 0x17, 0xc6, 0x1d, 0xa7, 0xd5, 0xc5, 0xc1, 0x58, 0x62, 0xb9, 0x5b, 0x3a, 0x59, 0x6c, + 0xb6, 0x42, 0xa7, 0xe4, 0x9d, 0x4e, 0x70, 0x67, 0x27, 0x26, 0x22, 0xfd, 0x6f, 0xce, 0x94, 0xbc, + 0xca, 0x91, 0xbb, 0xa7, 0x44, 0x00, 0xb0, 0x24, 0xa7, 0x86, 0x8c, 0x71, 0xe3, 0xc9, 0xc2, 0x43, + 0xd6, 0xf5, 0x0d, 0xc9, 0x90, 0x31, 0xee, 0x9b, 0x10, 0x65, 0x5c, 0xb7, 0xbd, 0x19, 0xc4, 0x81, + 0x9f, 0xe2, 0xfd, 0x53, 0x45, 0xb8, 0x6e, 0x3d, 0xa3, 0x66, 0x37, 0xd7, 0xcd, 0xc2, 0xc2, 0x99, + 0xad, 0x22, 0x1f, 0xc6, 0xdb, 0x41, 0x18, 0xdf, 0x0b, 0x42, 0xb9, 0x0e, 0x51, 0x21, 0x1d, 0xd1, + 0xa8, 0x23, 0xda, 0x66, 0x9e, 0xc7, 0x26, 0x04, 0xa7, 0xa8, 0xd3, 0xa9, 0x8b, 0x9a, 0x4e, 0x8b, + 0xac, 0xde, 0x98, 0x39, 0x51, 0x64, 0xea, 0x1a, 0x1c, 0xb9, 0x7b, 0xea, 0x04, 0x00, 0x4b, 0x72, + 0x94, 0xd7, 0xb1, 0x5c, 0xf6, 0x2c, 0x9b, 0x71, 0x2e, 0xaf, 0xeb, 0xf2, 0xce, 0xe5, 0xbc, 0x8e, + 0x15, 0x63, 0x4e, 0x08, 0xbd, 0x0d, 0x55, 0x21, 0xdc, 0x06, 0xd1, 0xcc, 0x49, 0x46, 0xf5, 0xe7, + 0x73, 0x7a, 0xcb, 0xd1, 0x6f, 0x34, 0xb2, 0x4f, 0x7d, 0x11, 0xfd, 0x27, 0x91, 0x70, 0x42, 0xde, + 0xfe, 0x8d, 0xc1, 0x6e, 0xb1, 0x87, 0x29, 0x36, 0x7f, 0xa3, 0xfb, 0xc6, 0xfa, 0x13, 0xfd, 0xeb, + 0xef, 0x0f, 0xf0, 0xee, 0xfa, 0x4b, 0x16, 0x9c, 0x6a, 0x67, 0x7e, 0x9e, 0x10, 0x1c, 0xfa, 0x35, + 0x03, 0xf0, 0xa1, 0x51, 0x39, 0xc6, 0xb3, 0xe1, 0xb8, 0x47, 0x9b, 0x69, 0x55, 0xa0, 0xfc, 0x9e, + 0x55, 0x81, 0xdb, 0x30, 0xcc, 0x64, 0xd7, 0x24, 0xbf, 0x4f, 0x9f, 0xa9, 0x70, 0x98, 0x08, 0xb2, + 0x24, 0x48, 0x60, 0x45, 0x8c, 0x0e, 0xdc, 0xa3, 0xe9, 0x8f, 0xc0, 0x84, 0x81, 0x45, 0x66, 0x4b, + 0xae, 0x67, 0xad, 0x88, 0x91, 0x78, 0xb4, 0x7e, 0x10, 0xf2, 0x7e, 0x1e, 0x02, 0x3e, 0xb8, 0x31, + 0x54, 0xcb, 0x50, 0xf4, 0x06, 0xcd, 0xeb, 0xa9, 0x7c, 0x65, 0xef, 0x78, 0x15, 0x94, 0x7f, 0x68, + 0x65, 0xc8, 0xd3, 0x5c, 0xa9, 0xfc, 0xb8, 0xa9, 0x54, 0x3e, 0x99, 0x56, 0x2a, 0xbb, 0x4c, 0x49, + 0x86, 0x3e, 0x59, 0x3c, 0x33, 0x6f, 0xd1, 0x04, 0x46, 0x76, 0x0b, 0xce, 0xe4, 0x31, 0x6b, 0xe6, + 0xb2, 0xe6, 0xaa, 0xcb, 0xda, 0xc4, 0x65, 0xcd, 0x5d, 0xad, 0x61, 0x06, 0x29, 0x9a, 0x03, 0xc3, + 0xfe, 0x95, 0x12, 0x94, 0xeb, 0x81, 0x7b, 0x0c, 0xa6, 0xb1, 0x4b, 0x86, 0x69, 0xec, 0x89, 0xdc, + 0x87, 0x22, 0x7b, 0x1a, 0xc2, 0x6e, 0xa4, 0x0c, 0x61, 0x3f, 0x97, 0x4f, 0xea, 0x60, 0xb3, 0xd7, + 0x77, 0xca, 0xa0, 0x3f, 0x75, 0x89, 0xfe, 0xc3, 0x61, 0x3c, 0x99, 0xcb, 0xc5, 0x5e, 0xbf, 0x14, + 0x6d, 0x30, 0x8f, 0x37, 0x19, 0x88, 0xf9, 0x53, 0xeb, 0xd0, 0x7c, 0x9b, 0x78, 0x1b, 0x9b, 0x31, + 0x71, 0xd3, 0x1f, 0x76, 0x7c, 0x0e, 0xcd, 0x7f, 0x61, 0xc1, 0x44, 0xaa, 0x75, 0xd4, 0xca, 0x8a, + 0xe0, 0x3a, 0xa4, 0xb1, 0x6b, 0x2a, 0x37, 0xe4, 0x6b, 0x1e, 0x40, 0xdd, 0x59, 0x48, 0x83, 0x12, + 0x93, 0xad, 0xd5, 0xa5, 0x46, 0x84, 0x35, 0x0c, 0xf4, 0x02, 0x8c, 0xc4, 0x41, 0x3b, 0x68, 0x05, + 0x1b, 0x3b, 0x57, 0x88, 0xcc, 0xce, 0xa2, 0x6e, 0x96, 0xd6, 0x12, 0x10, 0xd6, 0xf1, 0xec, 0xef, + 0x96, 0x21, 0xfd, 0x50, 0xea, 0xff, 0x5f, 0xa7, 0x3f, 0x3d, 0xeb, 0xf4, 0x8f, 0x2d, 0x98, 0xa4, + 0xad, 0x33, 0x17, 0x23, 0xe9, 0x78, 0xac, 0x9e, 0x09, 0xb1, 0x0e, 0x78, 0x26, 0xe4, 0x49, 0xca, + 0xed, 0xdc, 0xa0, 0x13, 0x0b, 0x13, 0x98, 0xc6, 0xc4, 0x68, 0x29, 0x16, 0x50, 0x81, 0x47, 0xc2, + 0x50, 0x44, 0x68, 0xe9, 0x78, 0x24, 0x0c, 0xb1, 0x80, 0xca, 0x57, 0x44, 0x2a, 0x3d, 0x5e, 0x11, + 0x61, 0xf9, 0xcd, 0x84, 0x5b, 0x8b, 0x10, 0x2b, 0xb4, 0xfc, 0x66, 0xd2, 0xdf, 0x25, 0xc1, 0xb1, + 0xbf, 0x51, 0x86, 0xd1, 0x7a, 0xe0, 0x26, 0x11, 0x05, 0xcf, 0x1b, 0x11, 0x05, 0x67, 0x52, 0x11, + 0x05, 0x93, 0x3a, 0xee, 0x83, 0x09, 0x28, 0x10, 0x79, 0xf0, 0xd8, 0x3b, 0x37, 0x87, 0x0c, 0x26, + 0x30, 0xf2, 0xe0, 0x29, 0x42, 0xd8, 0xa4, 0xfb, 0xb3, 0x14, 0x44, 0xf0, 0xbf, 0x2d, 0x18, 0xaf, + 0x07, 0x2e, 0x5d, 0xa0, 0x3f, 0x4b, 0xab, 0x51, 0xcf, 0x9e, 0x37, 0x78, 0x40, 0xf6, 0xbc, 0x7f, + 0x6e, 0xc1, 0x50, 0x3d, 0x70, 0x8f, 0xc1, 0x3c, 0xbc, 0x62, 0x9a, 0x87, 0x1f, 0xcb, 0xe5, 0xbc, + 0x3d, 0x2c, 0xc2, 0xdf, 0x2a, 0xc3, 0x18, 0xed, 0x71, 0xb0, 0x21, 0xe7, 0xcb, 0x18, 0x1b, 0xab, + 0xc0, 0xd8, 0x50, 0x91, 0x30, 0x68, 0xb5, 0x82, 0x7b, 0xe9, 0xb9, 0x5b, 0x61, 0xa5, 0x58, 0x40, + 0xd1, 0x39, 0x18, 0x6e, 0x87, 0x64, 0xdb, 0x0b, 0x3a, 0x51, 0x3a, 0xda, 0xb3, 0x2e, 0xca, 0xb1, + 0xc2, 0x40, 0xcf, 0xc3, 0x68, 0xe4, 0xf9, 0x4d, 0x22, 0x9d, 0x5e, 0x2a, 0xcc, 0xe9, 0x85, 0x27, + 0x2a, 0xd5, 0xca, 0xb1, 0x81, 0x85, 0x6e, 0x43, 0x95, 0xfd, 0x67, 0x3b, 0xa8, 0xff, 0x67, 0x40, + 0xb8, 0x3a, 0x2c, 0x09, 0xe0, 0x84, 0x16, 0xba, 0x08, 0x10, 0x4b, 0xf7, 0x9c, 0x48, 0x84, 0x25, + 0x2b, 0xb9, 0x54, 0x39, 0xee, 0x44, 0x58, 0xc3, 0x42, 0xcf, 0x40, 0x35, 0x76, 0xbc, 0xd6, 0x55, + 0xcf, 0x27, 0x91, 0x70, 0x6f, 0x12, 0x49, 0xc7, 0x45, 0x21, 0x4e, 0xe0, 0xf4, 0xbc, 0x67, 0x41, + 0xef, 0xfc, 0x89, 0xa1, 0x61, 0x86, 0xcd, 0xce, 0xfb, 0xab, 0xaa, 0x14, 0x6b, 0x18, 0xf6, 0x4b, + 0x70, 0xb2, 0x1e, 0xb8, 0xf5, 0x20, 0x8c, 0x57, 0x82, 0xf0, 0x9e, 0x13, 0xba, 0x72, 0xfe, 0xe6, + 0x64, 0xae, 0x6b, 0x7a, 0x26, 0x0f, 0x70, 0x2b, 0x82, 0x91, 0xbb, 0xfa, 0x39, 0x76, 0xe2, 0xf7, + 0x19, 0xaa, 0xf2, 0xc3, 0x12, 0xa0, 0x3a, 0x73, 0x20, 0x32, 0x5e, 0xa4, 0xda, 0x84, 0xf1, 0x88, + 0x5c, 0xf5, 0xfc, 0xce, 0x7d, 0x41, 0xaa, 0x58, 0x6c, 0x50, 0x63, 0x59, 0xaf, 0xc3, 0xed, 0x34, + 0x66, 0x19, 0x4e, 0xd1, 0xa5, 0x83, 0x19, 0x76, 0xfc, 0x85, 0xe8, 0x66, 0x44, 0x42, 0xf1, 0x02, + 0x13, 0x1b, 0x4c, 0x2c, 0x0b, 0x71, 0x02, 0xa7, 0x8b, 0x87, 0xfd, 0xb9, 0x1e, 0xf8, 0x38, 0x08, + 0x62, 0xb9, 0xdc, 0xd8, 0x8b, 0x1c, 0x5a, 0x39, 0x36, 0xb0, 0xd0, 0x0a, 0xa0, 0xa8, 0xd3, 0x6e, + 0xb7, 0xd8, 0x4d, 0xa9, 0xd3, 0xba, 0x14, 0x06, 0x9d, 0x36, 0xf7, 0x23, 0x17, 0x8f, 0x59, 0x34, + 0xba, 0xa0, 0x38, 0xa3, 0x06, 0x65, 0x16, 0xeb, 0x11, 0xfb, 0x2d, 0x22, 0xe0, 0xb9, 0xb5, 0xb5, + 0xc1, 0x8a, 0xb0, 0x84, 0xd9, 0x9f, 0x61, 0x07, 0x1c, 0x7b, 0x1a, 0x27, 0xee, 0x84, 0x04, 0x6d, + 0xc1, 0x58, 0x9b, 0x1d, 0x62, 0x71, 0x18, 0xb4, 0x5a, 0x44, 0xca, 0x97, 0x87, 0x73, 0x61, 0xe2, + 0x8f, 0x61, 0xe8, 0xe4, 0xb0, 0x49, 0xdd, 0xfe, 0x6f, 0xe3, 0x8c, 0x57, 0x89, 0xcb, 0xea, 0x21, + 0xe1, 0xac, 0x2c, 0x24, 0xb9, 0x0f, 0x15, 0x79, 0xe4, 0x2e, 0x39, 0x07, 0x84, 0xeb, 0x33, 0x96, + 0x54, 0xd0, 0xa7, 0x98, 0x2b, 0x3e, 0x67, 0x10, 0xc5, 0x9f, 0xee, 0xe4, 0xf8, 0x86, 0x1b, 0xbe, + 0x20, 0x81, 0x35, 0x72, 0xe8, 0x2a, 0x8c, 0x89, 0x97, 0x54, 0x84, 0x99, 0xa2, 0x6c, 0xa8, 0xd8, + 0x63, 0x58, 0x07, 0xee, 0xa7, 0x0b, 0xb0, 0x59, 0x19, 0x6d, 0xc0, 0xa3, 0xda, 0x4b, 0x61, 0x19, + 0xee, 0x76, 0x9c, 0xf3, 0x3c, 0xb6, 0xb7, 0x3b, 0xf7, 0xe8, 0xda, 0x41, 0x88, 0xf8, 0x60, 0x3a, + 0xe8, 0x06, 0x9c, 0x74, 0x9a, 0xb1, 0xb7, 0x4d, 0x6a, 0xc4, 0x71, 0x5b, 0x9e, 0x4f, 0xcc, 0x34, + 0x09, 0x0f, 0xef, 0xed, 0xce, 0x9d, 0x5c, 0xc8, 0x42, 0xc0, 0xd9, 0xf5, 0xd0, 0xc7, 0xa1, 0xea, + 0xfa, 0x91, 0x18, 0x83, 0x41, 0xe3, 0x61, 0xbc, 0x6a, 0xed, 0x7a, 0x43, 0x7d, 0x7f, 0xf2, 0x07, + 0x27, 0x15, 0xd0, 0x3b, 0x30, 0xaa, 0x87, 0x3f, 0x89, 0x07, 0x19, 0x5f, 0x2c, 0xa4, 0x3f, 0x1b, + 0x31, 0x43, 0xdc, 0x82, 0xa7, 0xdc, 0x5a, 0x8d, 0x70, 0x22, 0xa3, 0x09, 0xf4, 0x8b, 0x80, 0x22, + 0x12, 0x6e, 0x7b, 0x4d, 0xb2, 0xd0, 0x64, 0xd9, 0x7d, 0x99, 0x8d, 0x67, 0xd8, 0x88, 0xef, 0x40, + 0x8d, 0x2e, 0x0c, 0x9c, 0x51, 0x0b, 0x5d, 0xa6, 0x9c, 0x47, 0x2f, 0x15, 0x5e, 0xc8, 0x52, 0x30, + 0x9c, 0xa9, 0x91, 0x76, 0x48, 0x9a, 0x4e, 0x4c, 0x5c, 0x93, 0x22, 0x4e, 0xd5, 0xa3, 0xe7, 0x92, + 0x7a, 0xc0, 0x01, 0x4c, 0xdf, 0xd9, 0xee, 0x47, 0x1c, 0xa8, 0x9e, 0xb5, 0x19, 0x44, 0xf1, 0x75, + 0x12, 0xdf, 0x0b, 0xc2, 0xbb, 0x22, 0x23, 0x5a, 0x92, 0x2a, 0x31, 0x01, 0x61, 0x1d, 0x8f, 0xca, + 0x50, 0xec, 0xea, 0x6f, 0xb5, 0xc6, 0xee, 0x55, 0x86, 0x93, 0xbd, 0x73, 0x99, 0x17, 0x63, 0x09, + 0x97, 0xa8, 0xab, 0xf5, 0x25, 0x76, 0x47, 0x92, 0x42, 0x5d, 0xad, 0x2f, 0x61, 0x09, 0x47, 0x41, + 0xf7, 0xf3, 0x83, 0xe3, 0x45, 0xee, 0xab, 0xba, 0x39, 0x79, 0xc1, 0x17, 0x08, 0xef, 0xc3, 0xa4, + 0x7a, 0x02, 0x91, 0x27, 0x8d, 0x8b, 0x66, 0x26, 0xd8, 0xc2, 0x39, 0x4c, 0xee, 0x39, 0x65, 0xd7, + 0x5b, 0x4d, 0xd1, 0xc4, 0x5d, 0xad, 0x18, 0xc9, 0x39, 0x26, 0x73, 0x1f, 0xe5, 0x38, 0x0f, 0xd5, + 0xa8, 0x73, 0xc7, 0x0d, 0xb6, 0x1c, 0xcf, 0x67, 0x17, 0x19, 0x9a, 0x10, 0xd3, 0x90, 0x00, 0x9c, + 0xe0, 0xa0, 0x3a, 0x0c, 0x3b, 0x42, 0x85, 0x13, 0x17, 0x0e, 0x39, 0x51, 0xf8, 0x52, 0xe1, 0xe3, + 0xd6, 0x55, 0xf9, 0x0f, 0x2b, 0x2a, 0xe8, 0x65, 0x18, 0x13, 0x41, 0x64, 0xc2, 0xd9, 0xf3, 0x84, + 0x19, 0x70, 0xd0, 0xd0, 0x81, 0xd8, 0xc4, 0x45, 0x1b, 0x30, 0x4e, 0xa9, 0x24, 0x0c, 0x70, 0x66, + 0xba, 0x3f, 0x1e, 0xaa, 0xa5, 0x3f, 0xd7, 0xc9, 0xe0, 0x14, 0x59, 0xe4, 0xc2, 0x23, 0x4e, 0x27, + 0x0e, 0xb6, 0xe8, 0x4e, 0x30, 0xf7, 0xc9, 0x5a, 0x70, 0x97, 0xf8, 0xec, 0x96, 0x61, 0x78, 0xf1, + 0xcc, 0xde, 0xee, 0xdc, 0x23, 0x0b, 0x07, 0xe0, 0xe1, 0x03, 0xa9, 0xa0, 0x37, 0x61, 0x24, 0x0e, + 0x5a, 0xc2, 0x87, 0x3b, 0x9a, 0x39, 0x55, 0x24, 0x09, 0xd1, 0x9a, 0xaa, 0xa0, 0x9b, 0x31, 0x14, + 0x11, 0xac, 0x53, 0x44, 0x6f, 0xc1, 0x28, 0x9d, 0xfb, 0x6b, 0x4e, 0xbb, 0xed, 0xf9, 0x1b, 0xd1, + 0xcc, 0x43, 0x45, 0x46, 0x4b, 0xa5, 0xd8, 0x34, 0xf7, 0x2f, 0x2b, 0x22, 0x11, 0x36, 0x28, 0xce, + 0xfe, 0x02, 0x4c, 0x75, 0x31, 0xbd, 0xbe, 0xdc, 0x5b, 0xff, 0xe3, 0x00, 0x54, 0x95, 0xcd, 0x10, + 0x9d, 0x37, 0xcd, 0xc3, 0x0f, 0xa7, 0xcd, 0xc3, 0xc3, 0x54, 0x44, 0xd3, 0x2d, 0xc2, 0x9f, 0xce, + 0x78, 0x56, 0xff, 0xe9, 0xdc, 0x5d, 0x5e, 0x3c, 0xb6, 0x4d, 0x53, 0xf2, 0xca, 0x85, 0x2d, 0xce, + 0x95, 0x03, 0xf5, 0xc6, 0x82, 0x4f, 0x45, 0x52, 0x0d, 0xb1, 0x1d, 0xb8, 0xab, 0xf5, 0xf4, 0x4b, + 0x68, 0x75, 0x5a, 0x88, 0x39, 0x8c, 0x49, 0xf6, 0xf4, 0xd4, 0x66, 0x92, 0xfd, 0xd0, 0x21, 0x25, + 0x7b, 0x49, 0x00, 0x27, 0xb4, 0xd0, 0x36, 0x4c, 0x35, 0xcd, 0x87, 0xed, 0x54, 0xc4, 0xda, 0xb3, + 0x7d, 0x3c, 0x2c, 0xd7, 0xd1, 0xde, 0xa4, 0x59, 0x4a, 0xd3, 0xc3, 0xdd, 0x4d, 0xa0, 0x97, 0x61, + 0xf8, 0x9d, 0x20, 0x62, 0x17, 0x17, 0xe2, 0xe8, 0x92, 0x91, 0x41, 0xc3, 0xaf, 0xde, 0x68, 0xb0, + 0xf2, 0xfd, 0xdd, 0xb9, 0x91, 0x7a, 0xe0, 0xca, 0xbf, 0x58, 0x55, 0x40, 0x9f, 0xb5, 0xe0, 0xa4, + 0xb1, 0x93, 0x55, 0xcf, 0xe1, 0x30, 0x3d, 0x7f, 0x54, 0xb4, 0x7c, 0x72, 0x35, 0x8b, 0x26, 0xce, + 0x6e, 0xca, 0xfe, 0x1e, 0x37, 0x92, 0x0a, 0xb3, 0x09, 0x89, 0x3a, 0xad, 0xe3, 0x78, 0x1f, 0xe2, + 0x86, 0x61, 0xd1, 0x79, 0x00, 0x66, 0xfa, 0x7f, 0x6f, 0x31, 0x33, 0xfd, 0x1a, 0xd9, 0x6a, 0xb7, + 0x9c, 0xf8, 0x38, 0xbc, 0x9f, 0x3f, 0x05, 0xc3, 0xb1, 0x68, 0xad, 0xd8, 0xe3, 0x16, 0x5a, 0xf7, + 0xd8, 0xf5, 0x85, 0x3a, 0xfa, 0x64, 0x29, 0x56, 0x04, 0xed, 0x7f, 0xc5, 0x67, 0x45, 0x42, 0x8e, + 0xc1, 0x16, 0x71, 0xdd, 0xb4, 0x45, 0x3c, 0x55, 0xf8, 0x5b, 0x7a, 0xd8, 0x24, 0xbe, 0x6b, 0x7e, + 0x01, 0xd3, 0x50, 0x7e, 0x7a, 0xee, 0x91, 0xec, 0x5f, 0xb7, 0x60, 0x3a, 0xcb, 0x1d, 0x81, 0x8a, + 0x30, 0x5c, 0x3f, 0x52, 0x37, 0x6c, 0x6a, 0x54, 0x6f, 0x89, 0x72, 0xac, 0x30, 0x0a, 0x67, 0x9b, + 0xef, 0x2f, 0x89, 0xd6, 0x0d, 0x30, 0x9f, 0x48, 0x44, 0xaf, 0xf0, 0x60, 0x07, 0x4b, 0xbd, 0x61, + 0xd8, 0x5f, 0xa0, 0x83, 0xfd, 0xcd, 0x12, 0x4c, 0x73, 0x33, 0xf7, 0xc2, 0x76, 0xe0, 0xb9, 0xf5, + 0xc0, 0x15, 0xa1, 0x1f, 0x2e, 0x8c, 0xb6, 0x35, 0xf5, 0xb6, 0x58, 0x52, 0x1e, 0x5d, 0x21, 0x4e, + 0x54, 0x0a, 0xbd, 0x14, 0x1b, 0x54, 0x69, 0x2b, 0x64, 0xdb, 0x6b, 0x2a, 0xab, 0x69, 0xa9, 0xef, + 0x93, 0x41, 0xb5, 0xb2, 0xac, 0xd1, 0xc1, 0x06, 0xd5, 0x23, 0x78, 0x24, 0xc6, 0xfe, 0xfb, 0x16, + 0x3c, 0xd4, 0x23, 0x71, 0x0f, 0x6d, 0xee, 0x1e, 0xbb, 0x5a, 0x10, 0x6f, 0x70, 0xaa, 0xe6, 0xf8, + 0x85, 0x03, 0x16, 0x50, 0x74, 0x07, 0x80, 0x5f, 0x18, 0x50, 0x69, 0x3a, 0x7d, 0x9b, 0x5d, 0x30, + 0x3d, 0x86, 0x96, 0x39, 0x41, 0x52, 0xc2, 0x1a, 0x55, 0xfb, 0xeb, 0x65, 0x18, 0xe0, 0x4f, 0xbd, + 0xd7, 0x61, 0x68, 0x93, 0x67, 0x34, 0xee, 0x2f, 0xa1, 0x72, 0xa2, 0xbe, 0xf0, 0x02, 0x2c, 0xc9, + 0xa0, 0x6b, 0x70, 0x42, 0x04, 0x1f, 0xd5, 0x48, 0xcb, 0xd9, 0x91, 0xfa, 0x30, 0x7f, 0x39, 0x44, + 0xa6, 0xb8, 0x3f, 0xb1, 0xda, 0x8d, 0x82, 0xb3, 0xea, 0xa1, 0x57, 0xba, 0x12, 0x10, 0xf2, 0x4c, + 0xd1, 0x4a, 0x16, 0xce, 0x49, 0x42, 0xf8, 0x32, 0x8c, 0xb5, 0xbb, 0x34, 0x7f, 0xed, 0x45, 0x6d, + 0x53, 0xdb, 0x37, 0x71, 0x99, 0xf7, 0x42, 0x87, 0x79, 0x6d, 0xac, 0x6d, 0x86, 0x24, 0xda, 0x0c, + 0x5a, 0xae, 0x78, 0x0c, 0x36, 0xf1, 0x5e, 0x48, 0xc1, 0x71, 0x57, 0x0d, 0x4a, 0x65, 0xdd, 0xf1, + 0x5a, 0x9d, 0x90, 0x24, 0x54, 0x06, 0x4d, 0x2a, 0x2b, 0x29, 0x38, 0xee, 0xaa, 0x41, 0xd7, 0xd6, + 0x49, 0xf1, 0x7e, 0xa8, 0x0c, 0x53, 0x17, 0x2c, 0xe8, 0x93, 0x30, 0x24, 0x43, 0x08, 0x0a, 0x65, + 0x53, 0x11, 0xae, 0x09, 0xea, 0x2d, 0x52, 0xed, 0x25, 0x39, 0x11, 0x3c, 0x20, 0xe9, 0x1d, 0xe6, + 0x9d, 0xca, 0x3f, 0xb7, 0xe0, 0x44, 0x86, 0x2b, 0x1c, 0x67, 0x69, 0x1b, 0x5e, 0x14, 0xab, 0x77, + 0x2c, 0x34, 0x96, 0xc6, 0xcb, 0xb1, 0xc2, 0xa0, 0xbb, 0x85, 0x33, 0xcd, 0x34, 0xa3, 0x14, 0x4e, + 0x26, 0x02, 0xda, 0x1f, 0xa3, 0x44, 0x67, 0xa0, 0xd2, 0x89, 0x48, 0x28, 0x9f, 0x74, 0x94, 0x7c, + 0x9e, 0x59, 0x1a, 0x19, 0x84, 0x8a, 0xad, 0x1b, 0xca, 0xc8, 0xa7, 0x89, 0xad, 0xdc, 0xcc, 0xc7, + 0x61, 0xf6, 0x57, 0xca, 0x30, 0x91, 0x72, 0x89, 0xa5, 0x1d, 0xd9, 0x0a, 0x7c, 0x2f, 0x0e, 0x54, + 0x86, 0x3b, 0xfe, 0x8a, 0x1c, 0x69, 0x6f, 0x5e, 0x13, 0xe5, 0x58, 0x61, 0xa0, 0x27, 0xe5, 0x3b, + 0xc1, 0xe9, 0xf7, 0x39, 0x16, 0x6b, 0xc6, 0x53, 0xc1, 0x45, 0xdf, 0xd6, 0x79, 0x1c, 0x2a, 0xed, + 0x40, 0x3d, 0xfb, 0xae, 0xe6, 0x13, 0x2f, 0xd6, 0xea, 0x41, 0xd0, 0xc2, 0x0c, 0x88, 0x9e, 0x10, + 0x5f, 0x9f, 0xba, 0x1b, 0xc1, 0x8e, 0x1b, 0x44, 0xda, 0x10, 0x3c, 0x05, 0x43, 0x77, 0xc9, 0x4e, + 0xe8, 0xf9, 0x1b, 0xe9, 0x9b, 0xa1, 0x2b, 0xbc, 0x18, 0x4b, 0xb8, 0x99, 0xae, 0x7e, 0xe8, 0x88, + 0xdf, 0xcf, 0x19, 0xce, 0x3d, 0x07, 0xbf, 0x65, 0xc1, 0x04, 0xcb, 0x3f, 0x2b, 0x92, 0x24, 0x78, + 0x81, 0x7f, 0x0c, 0x32, 0xc6, 0xe3, 0x30, 0x10, 0xd2, 0x46, 0xd3, 0x0f, 0x60, 0xb0, 0x9e, 0x60, + 0x0e, 0x43, 0x8f, 0x40, 0x85, 0x75, 0x81, 0x4e, 0xe3, 0x28, 0x4f, 0x73, 0x5f, 0x73, 0x62, 0x07, + 0xb3, 0x52, 0x16, 0x85, 0x86, 0x49, 0xbb, 0xe5, 0xf1, 0x4e, 0x27, 0x06, 0xdd, 0xf7, 0x5b, 0x14, + 0x5a, 0x66, 0x27, 0x1f, 0x54, 0x14, 0x5a, 0x36, 0xf1, 0x83, 0xe5, 0xfc, 0xff, 0x5e, 0x82, 0xd3, + 0x99, 0xf5, 0x92, 0x3b, 0xe6, 0x15, 0xe3, 0x8e, 0xf9, 0x62, 0xea, 0x8e, 0xd9, 0x3e, 0xb8, 0xf6, + 0x83, 0xb9, 0x75, 0xce, 0xbe, 0x0c, 0x2e, 0x1f, 0xe3, 0x65, 0x70, 0xa5, 0xa8, 0x88, 0x33, 0x90, + 0x23, 0xe2, 0xfc, 0x91, 0x05, 0x0f, 0x67, 0x0e, 0xd9, 0xfb, 0x2e, 0xec, 0x2f, 0xb3, 0x97, 0x3d, + 0xb4, 0x93, 0x5f, 0x2b, 0xf7, 0xf8, 0x2a, 0xa6, 0xa7, 0x9c, 0xa5, 0x5c, 0x88, 0x01, 0x23, 0x21, + 0xbc, 0x8d, 0x72, 0x0e, 0xc4, 0xcb, 0xb0, 0x82, 0xa2, 0x48, 0x0b, 0x9b, 0xe3, 0x9d, 0x5c, 0x3e, + 0xe4, 0x86, 0x9a, 0x37, 0x2d, 0xf1, 0x7a, 0xe6, 0x87, 0x74, 0x30, 0xdd, 0x6d, 0x4d, 0xf3, 0x2c, + 0x1f, 0x46, 0xf3, 0x1c, 0xcd, 0xd6, 0x3a, 0xd1, 0x02, 0x4c, 0x6c, 0x79, 0x3e, 0x7b, 0x76, 0xd7, + 0x94, 0x9e, 0x54, 0xec, 0xf2, 0x35, 0x13, 0x8c, 0xd3, 0xf8, 0xb3, 0x2f, 0xc3, 0xd8, 0xe1, 0xad, + 0x6b, 0x3f, 0x2e, 0xc3, 0x07, 0x0f, 0x60, 0x0a, 0xfc, 0x74, 0x30, 0xe6, 0x45, 0x3b, 0x1d, 0xba, + 0xe6, 0xa6, 0x0e, 0xd3, 0xeb, 0x9d, 0x56, 0x6b, 0x87, 0x79, 0x68, 0x11, 0x57, 0x62, 0x08, 0xa1, + 0x46, 0xa5, 0xa3, 0x5e, 0xc9, 0xc0, 0xc1, 0x99, 0x35, 0xd1, 0x2f, 0x02, 0x0a, 0xee, 0xb0, 0xc4, + 0xc8, 0x6e, 0x92, 0xd9, 0x82, 0x4d, 0x41, 0x39, 0xd9, 0xaa, 0x37, 0xba, 0x30, 0x70, 0x46, 0x2d, + 0x2a, 0xa7, 0xd2, 0x73, 0x6c, 0x47, 0x75, 0x2b, 0x25, 0xa7, 0x62, 0x1d, 0x88, 0x4d, 0x5c, 0x74, + 0x09, 0xa6, 0x9c, 0x6d, 0xc7, 0xe3, 0x89, 0xce, 0x24, 0x01, 0x2e, 0xa8, 0x2a, 0xfb, 0xd5, 0x42, + 0x1a, 0x01, 0x77, 0xd7, 0x41, 0x6d, 0xc3, 0x20, 0xc9, 0xdf, 0x66, 0xf8, 0xf8, 0x21, 0x56, 0x70, + 0x61, 0x13, 0xa5, 0xfd, 0xa7, 0x16, 0x3d, 0xfa, 0x32, 0x5e, 0x68, 0xa5, 0x23, 0xa2, 0x0c, 0x6c, + 0x5a, 0x18, 0xa0, 0x1a, 0x91, 0x25, 0x1d, 0x88, 0x4d, 0x5c, 0xbe, 0x34, 0xa2, 0xc4, 0x61, 0xdc, + 0x90, 0x36, 0x45, 0x04, 0xad, 0xc2, 0xa0, 0x12, 0xb4, 0xeb, 0x6d, 0x7b, 0x51, 0x10, 0x8a, 0x0d, + 0xd4, 0xef, 0x3b, 0xe8, 0x8a, 0x5f, 0xd6, 0x38, 0x19, 0x2c, 0xe9, 0xd9, 0x5f, 0x2d, 0xc1, 0x98, + 0x6c, 0xf1, 0xd5, 0x4e, 0x10, 0x3b, 0xc7, 0x70, 0xa4, 0xbf, 0x6a, 0x1c, 0xe9, 0xe7, 0x8b, 0x05, + 0x14, 0xb3, 0xce, 0xf5, 0x3c, 0xca, 0x3f, 0x99, 0x3a, 0xca, 0x2f, 0xf4, 0x43, 0xf4, 0xe0, 0x23, + 0xfc, 0xdf, 0x58, 0x30, 0x65, 0xe0, 0x1f, 0xc3, 0x49, 0x52, 0x37, 0x4f, 0x92, 0x67, 0xfa, 0xf8, + 0x9a, 0x1e, 0x27, 0xc8, 0x37, 0x4a, 0xa9, 0xaf, 0x60, 0x27, 0xc7, 0x2f, 0x41, 0x65, 0xd3, 0x09, + 0xdd, 0x62, 0x59, 0x3f, 0xbb, 0xaa, 0xcf, 0x5f, 0x76, 0x42, 0x97, 0xf3, 0xff, 0x73, 0xea, 0xfd, + 0x38, 0x27, 0x74, 0x73, 0xe3, 0x28, 0x58, 0xa3, 0xe8, 0x25, 0x18, 0x8c, 0x9a, 0x41, 0x5b, 0x79, + 0x9a, 0x9e, 0xe1, 0x6f, 0xcb, 0xd1, 0x92, 0xfd, 0xdd, 0x39, 0x64, 0x36, 0x47, 0x8b, 0xb1, 0xc0, + 0x9f, 0xdd, 0x80, 0xaa, 0x6a, 0xfa, 0x48, 0x7d, 0xed, 0xff, 0x6b, 0x19, 0x4e, 0x64, 0xac, 0x15, + 0xf4, 0x19, 0x63, 0xdc, 0x5e, 0xee, 0x7b, 0xb1, 0xbd, 0xc7, 0x91, 0xfb, 0x0c, 0xd3, 0x94, 0x5c, + 0xb1, 0x3a, 0x0e, 0xd1, 0xfc, 0xcd, 0x88, 0xa4, 0x9b, 0xa7, 0x45, 0xf9, 0xcd, 0xd3, 0x66, 0x8f, + 0x6d, 0xf8, 0x69, 0x43, 0xaa, 0xa7, 0x47, 0x3a, 0xcf, 0x5f, 0xac, 0xc0, 0x74, 0x56, 0xe6, 0x02, + 0xf4, 0x79, 0x2b, 0xf5, 0xc6, 0xc8, 0x2b, 0xfd, 0xa7, 0x3f, 0xe0, 0x0f, 0x8f, 0x88, 0xbc, 0x42, + 0xf3, 0xe6, 0xab, 0x23, 0xb9, 0x23, 0x2e, 0x5a, 0x67, 0x11, 0x50, 0x21, 0x7f, 0x2f, 0x46, 0x72, + 0x85, 0x4f, 0x1c, 0xa2, 0x2b, 0xe2, 0xc9, 0x99, 0x28, 0x15, 0x01, 0x25, 0x8b, 0xf3, 0x23, 0xa0, + 0x64, 0x1f, 0x66, 0x3d, 0x18, 0xd1, 0xbe, 0xeb, 0x48, 0x97, 0xc1, 0x5d, 0x7a, 0x44, 0x69, 0xfd, + 0x3e, 0xd2, 0xa5, 0xf0, 0x77, 0x2c, 0x48, 0xb9, 0x85, 0x29, 0xb3, 0x8c, 0xd5, 0xd3, 0x2c, 0x73, + 0x06, 0x2a, 0x61, 0xd0, 0x22, 0xe9, 0x67, 0x27, 0x70, 0xd0, 0x22, 0x98, 0x41, 0xd4, 0x93, 0xd2, + 0xe5, 0x5e, 0x4f, 0x4a, 0x53, 0x3d, 0xbd, 0x45, 0xb6, 0x89, 0x34, 0x92, 0x28, 0x36, 0x7e, 0x95, + 0x16, 0x62, 0x0e, 0xb3, 0x7f, 0xa7, 0x02, 0x27, 0x32, 0xa2, 0x01, 0xa9, 0x86, 0xb4, 0xe1, 0xc4, + 0xe4, 0x9e, 0xb3, 0x93, 0x4e, 0x7f, 0x7b, 0x89, 0x17, 0x63, 0x09, 0x67, 0xee, 0xac, 0x3c, 0x85, + 0x5e, 0xca, 0x74, 0x25, 0x32, 0xe7, 0x09, 0xe8, 0xd1, 0x3f, 0x3e, 0x7c, 0x11, 0x20, 0x8a, 0x5a, + 0xcb, 0x3e, 0x95, 0xf0, 0x5c, 0xe1, 0x36, 0x9b, 0x64, 0x5e, 0x6c, 0x5c, 0x15, 0x10, 0xac, 0x61, + 0xa1, 0x1a, 0x4c, 0xb6, 0xc3, 0x20, 0xe6, 0x86, 0xc1, 0x1a, 0x77, 0xb5, 0x18, 0x30, 0xe3, 0xb5, + 0xea, 0x29, 0x38, 0xee, 0xaa, 0x81, 0x5e, 0x80, 0x11, 0x11, 0xc3, 0x55, 0x0f, 0x82, 0x96, 0x30, + 0x23, 0xa9, 0xfb, 0xf8, 0x46, 0x02, 0xc2, 0x3a, 0x9e, 0x56, 0x8d, 0x59, 0x1b, 0x87, 0x32, 0xab, + 0x71, 0x8b, 0xa3, 0x86, 0x97, 0xca, 0x6f, 0x32, 0x5c, 0x28, 0xbf, 0x49, 0x62, 0x58, 0xab, 0x16, + 0xbe, 0x88, 0x81, 0x5c, 0x03, 0xd4, 0x1f, 0x96, 0x61, 0x90, 0x4f, 0xc5, 0x31, 0x48, 0x79, 0x75, + 0x61, 0x52, 0x2a, 0x94, 0x4b, 0x82, 0xf7, 0x6a, 0xbe, 0xe6, 0xc4, 0x0e, 0x67, 0x4d, 0x6a, 0x87, + 0x24, 0x66, 0x28, 0x34, 0x6f, 0xec, 0xa1, 0xd9, 0x94, 0xa5, 0x04, 0x38, 0x0d, 0x6d, 0x47, 0x6d, + 0x02, 0x44, 0xec, 0x01, 0x5c, 0x4a, 0x43, 0xe4, 0xe6, 0x7d, 0xbe, 0x50, 0x3f, 0x1a, 0xaa, 0x1a, + 0xef, 0x4d, 0xb2, 0x2c, 0x15, 0x00, 0x6b, 0xb4, 0x67, 0x5f, 0x84, 0xaa, 0x42, 0xce, 0x53, 0x21, + 0x47, 0x75, 0xd6, 0xf6, 0xf3, 0x30, 0x91, 0x6a, 0xab, 0x2f, 0x0d, 0xf4, 0xf7, 0x2c, 0x98, 0xe0, + 0x5d, 0x5e, 0xf6, 0xb7, 0x05, 0x2b, 0xf8, 0x9c, 0x05, 0xd3, 0xad, 0x8c, 0x9d, 0x28, 0xa6, 0xf9, + 0x30, 0x7b, 0x58, 0x29, 0x9f, 0x59, 0x50, 0x9c, 0xd9, 0x1a, 0x3a, 0x0b, 0xc3, 0xfc, 0x3d, 0x6f, + 0xa7, 0x25, 0x7c, 0xb4, 0x47, 0x79, 0x56, 0x72, 0x5e, 0x86, 0x15, 0xd4, 0xfe, 0x89, 0x05, 0x53, + 0xfc, 0x23, 0xae, 0x90, 0x1d, 0xa5, 0x5e, 0xbd, 0x4f, 0x3e, 0x43, 0xe4, 0x5f, 0x2f, 0xf5, 0xc8, + 0xbf, 0xae, 0x7f, 0x65, 0xf9, 0xc0, 0xaf, 0xfc, 0xa6, 0x05, 0x62, 0x85, 0x1e, 0x83, 0xfe, 0xb0, + 0x6a, 0xea, 0x0f, 0x1f, 0x2a, 0xb2, 0xe8, 0x7b, 0x28, 0x0e, 0xbf, 0x5a, 0x82, 0x49, 0x8e, 0x90, + 0xdc, 0xc8, 0xbc, 0x5f, 0x26, 0xa7, 0xbf, 0x77, 0x81, 0xd4, 0xab, 0xb0, 0xd9, 0x5f, 0x6a, 0xcc, + 0x65, 0xe5, 0xc0, 0xb9, 0xfc, 0x9f, 0x16, 0x20, 0x3e, 0x26, 0xe9, 0xc7, 0xd0, 0xf9, 0xe9, 0xa6, + 0x99, 0x03, 0x12, 0xce, 0xa1, 0x20, 0x58, 0xc3, 0x7a, 0xc0, 0x9f, 0x90, 0xba, 0x0f, 0x2b, 0xe7, + 0xdf, 0x87, 0xf5, 0xf1, 0xd5, 0xdf, 0x2b, 0x43, 0xda, 0x59, 0x13, 0xbd, 0x05, 0xa3, 0x4d, 0xa7, + 0xed, 0xdc, 0xf1, 0x5a, 0x5e, 0xec, 0x91, 0xa8, 0xd8, 0x85, 0xfb, 0x92, 0x56, 0x43, 0x5c, 0x43, + 0x69, 0x25, 0xd8, 0xa0, 0x88, 0xe6, 0x01, 0xda, 0xa1, 0xb7, 0xed, 0xb5, 0xc8, 0x06, 0xd3, 0x78, + 0x58, 0xb4, 0x07, 0xbf, 0x3b, 0x96, 0xa5, 0x58, 0xc3, 0xc8, 0x88, 0x0e, 0x28, 0x1f, 0x47, 0x74, + 0x40, 0xa5, 0xcf, 0xe8, 0x80, 0x81, 0x42, 0xd1, 0x01, 0x18, 0x4e, 0xc9, 0xc3, 0x9b, 0xfe, 0x5f, + 0xf1, 0x5a, 0x44, 0xc8, 0x6e, 0x3c, 0x1a, 0x64, 0x76, 0x6f, 0x77, 0xee, 0x14, 0xce, 0xc4, 0xc0, + 0x3d, 0x6a, 0xda, 0x1d, 0x38, 0xd1, 0x20, 0xa1, 0x7c, 0xc8, 0x4e, 0xed, 0xa5, 0x4f, 0x43, 0x35, + 0x4c, 0x6d, 0xe3, 0x3e, 0x43, 0xfe, 0xb5, 0x2c, 0x6f, 0x72, 0xdb, 0x26, 0x24, 0xed, 0xbf, 0x5e, + 0x82, 0x21, 0xe1, 0xa6, 0x79, 0x0c, 0xc2, 0xc7, 0x15, 0xc3, 0xc4, 0xf4, 0x54, 0x1e, 0xff, 0x63, + 0xdd, 0xea, 0x69, 0x5c, 0x6a, 0xa4, 0x8c, 0x4b, 0xcf, 0x14, 0x23, 0x77, 0xb0, 0x59, 0xe9, 0x9f, + 0x94, 0x61, 0xdc, 0x74, 0x5b, 0x3d, 0x86, 0x61, 0x79, 0x0d, 0x86, 0x22, 0xe1, 0x41, 0x5d, 0x2a, + 0xe2, 0xb3, 0x97, 0x9e, 0xe2, 0xe4, 0x26, 0x5e, 0xf8, 0x4c, 0x4b, 0x72, 0x99, 0x4e, 0xda, 0xe5, + 0x63, 0x71, 0xd2, 0xce, 0xf3, 0x26, 0xae, 0x3c, 0x08, 0x6f, 0x62, 0xfb, 0xfb, 0x8c, 0xe5, 0xeb, + 0xe5, 0xc7, 0x70, 0x8c, 0xbf, 0x6a, 0x1e, 0x0e, 0xe7, 0x0a, 0xad, 0x3b, 0xd1, 0xbd, 0x1e, 0xc7, + 0xf9, 0xb7, 0x2d, 0x18, 0x11, 0x88, 0xc7, 0xf0, 0x01, 0xbf, 0x68, 0x7e, 0xc0, 0x13, 0x85, 0x3e, + 0xa0, 0x47, 0xcf, 0xbf, 0x5a, 0x52, 0x3d, 0xaf, 0x07, 0x61, 0x5c, 0x28, 0x17, 0xfa, 0x30, 0x55, + 0xfd, 0x82, 0x66, 0xd0, 0x12, 0x02, 0xdc, 0x23, 0x49, 0xf0, 0x1f, 0x2f, 0xdf, 0xd7, 0x7e, 0x63, + 0x85, 0xcd, 0x62, 0xd3, 0x82, 0x30, 0x16, 0x07, 0x68, 0x12, 0x9b, 0x16, 0x84, 0x31, 0x66, 0x10, + 0xe4, 0x02, 0xc4, 0x4e, 0xb8, 0x41, 0x62, 0x5a, 0x26, 0xe2, 0x66, 0x7b, 0xef, 0xd6, 0x4e, 0xec, + 0xb5, 0xe6, 0x3d, 0x3f, 0x8e, 0xe2, 0x70, 0x7e, 0xd5, 0x8f, 0x6f, 0x84, 0x5c, 0xe8, 0xd7, 0xa2, + 0xf9, 0x14, 0x2d, 0xac, 0xd1, 0x95, 0x61, 0x22, 0xac, 0x8d, 0x01, 0xf3, 0x06, 0xe9, 0xba, 0x28, + 0xc7, 0x0a, 0xc3, 0x7e, 0x91, 0x71, 0x76, 0x36, 0x40, 0xfd, 0x05, 0xda, 0x7d, 0x71, 0x48, 0x0d, + 0x2d, 0x33, 0x0b, 0x5f, 0xd7, 0xc3, 0xf9, 0x8a, 0xb2, 0x4f, 0xda, 0x05, 0xdd, 0x8f, 0x3a, 0x89, + 0xfe, 0x43, 0xa4, 0xeb, 0xda, 0xf1, 0xc5, 0xc2, 0x1c, 0xb9, 0x8f, 0x8b, 0x46, 0x96, 0x94, 0x91, + 0x65, 0xa2, 0x5b, 0xad, 0xa7, 0x33, 0xd8, 0x2f, 0x49, 0x00, 0x4e, 0x70, 0xd0, 0x79, 0xa1, 0x50, + 0x72, 0x8b, 0xcb, 0x07, 0x53, 0x0a, 0xa5, 0x1c, 0x12, 0x4d, 0xa3, 0xbc, 0x00, 0x23, 0xea, 0x51, + 0xa0, 0x3a, 0x7f, 0x8e, 0xa5, 0xca, 0xe5, 0xab, 0xe5, 0xa4, 0x18, 0xeb, 0x38, 0x68, 0x0d, 0x26, + 0x22, 0xfe, 0x62, 0x91, 0x8c, 0xd7, 0x10, 0x86, 0x83, 0xa7, 0xe5, 0x25, 0x65, 0xc3, 0x04, 0xef, + 0xb3, 0x22, 0xbe, 0x95, 0x65, 0x84, 0x47, 0x9a, 0x04, 0x7a, 0x05, 0xc6, 0x5b, 0xfa, 0x2b, 0xae, + 0x75, 0x61, 0x57, 0x50, 0x6e, 0x67, 0xc6, 0x1b, 0xaf, 0x75, 0x9c, 0xc2, 0x46, 0xaf, 0xc1, 0x8c, + 0x5e, 0x22, 0xd2, 0x0b, 0x39, 0xfe, 0x06, 0x89, 0xc4, 0xeb, 0x26, 0x8f, 0xec, 0xed, 0xce, 0xcd, + 0x5c, 0xed, 0x81, 0x83, 0x7b, 0xd6, 0x46, 0x2f, 0xc1, 0xa8, 0xfc, 0x7c, 0x2d, 0xba, 0x29, 0x71, + 0x78, 0xd4, 0x60, 0xd8, 0xc0, 0x44, 0xf7, 0xe0, 0xa4, 0xfc, 0xbf, 0x16, 0x3a, 0xeb, 0xeb, 0x5e, + 0x53, 0x84, 0x99, 0x8d, 0x30, 0x12, 0x0b, 0xd2, 0x5f, 0x7c, 0x39, 0x0b, 0x69, 0x7f, 0x77, 0xee, + 0x8c, 0x18, 0xb5, 0x4c, 0x38, 0x9b, 0xc4, 0x6c, 0xfa, 0xe8, 0x1a, 0x9c, 0xd8, 0x24, 0x4e, 0x2b, + 0xde, 0x5c, 0xda, 0x24, 0xcd, 0xbb, 0x72, 0x63, 0xb1, 0x98, 0x29, 0xcd, 0x25, 0xf0, 0x72, 0x37, + 0x0a, 0xce, 0xaa, 0xf7, 0xde, 0xee, 0x94, 0x7f, 0x89, 0x56, 0xd6, 0xe4, 0x07, 0xf4, 0x36, 0x8c, + 0xea, 0x63, 0x9d, 0x16, 0x0c, 0xf2, 0x5f, 0xf8, 0x15, 0x72, 0x88, 0x9a, 0x01, 0x1d, 0x86, 0x0d, + 0xda, 0xf6, 0xbf, 0x2b, 0xc1, 0x5c, 0x4e, 0xf6, 0xae, 0x94, 0x35, 0xcb, 0x2a, 0x64, 0xcd, 0x5a, + 0x90, 0xaf, 0xde, 0x5c, 0x4f, 0x65, 0x4d, 0x4f, 0xbd, 0x63, 0x93, 0xe4, 0x4e, 0x4f, 0xe3, 0x17, + 0xf6, 0x34, 0xd3, 0x0d, 0x62, 0x95, 0x5c, 0x87, 0xbb, 0xd7, 0x75, 0x1b, 0xe7, 0xc0, 0x61, 0x84, + 0xde, 0x9e, 0xe6, 0x4d, 0xfb, 0xfb, 0x25, 0x38, 0xa9, 0x06, 0xf3, 0x67, 0x77, 0x08, 0xdf, 0xec, + 0x1e, 0xc2, 0x07, 0x6a, 0x26, 0xb6, 0x6f, 0xc0, 0x60, 0x63, 0x27, 0x6a, 0xc6, 0xad, 0x02, 0x27, + 0xfe, 0xe3, 0xc6, 0xbe, 0x4a, 0x4e, 0x23, 0xf6, 0x96, 0x9d, 0xd8, 0x66, 0xf6, 0x17, 0x2c, 0x98, + 0x58, 0x5b, 0xaa, 0x37, 0x82, 0xe6, 0x5d, 0x12, 0x2f, 0x70, 0x83, 0x06, 0x16, 0x07, 0xbe, 0x75, + 0xc8, 0x83, 0x3c, 0x4b, 0x44, 0x38, 0x03, 0x95, 0xcd, 0x20, 0x8a, 0xd3, 0x97, 0x02, 0x97, 0x83, + 0x28, 0xc6, 0x0c, 0x62, 0xff, 0x99, 0x05, 0x03, 0xec, 0xa9, 0xb6, 0xbc, 0x67, 0xfe, 0x8a, 0x7c, + 0x17, 0x7a, 0x01, 0x06, 0xc9, 0xfa, 0x3a, 0x69, 0xc6, 0x62, 0x7e, 0x65, 0x80, 0xcd, 0xe0, 0x32, + 0x2b, 0xa5, 0x27, 0x1a, 0x6b, 0x8c, 0xff, 0xc5, 0x02, 0x19, 0x7d, 0x0a, 0xaa, 0xb1, 0xb7, 0x45, + 0x16, 0x5c, 0x57, 0x58, 0xe1, 0xfb, 0xf3, 0xf9, 0x52, 0x27, 0xec, 0x9a, 0x24, 0x82, 0x13, 0x7a, + 0xf6, 0x97, 0x4b, 0x00, 0x49, 0x00, 0x5d, 0xde, 0x67, 0x2e, 0x76, 0xbd, 0x66, 0xf8, 0x64, 0xc6, + 0x6b, 0x86, 0x28, 0x21, 0x98, 0xf1, 0x96, 0xa1, 0x1a, 0xaa, 0x72, 0xa1, 0xa1, 0xaa, 0xf4, 0x33, + 0x54, 0x4b, 0x30, 0x95, 0x04, 0x00, 0x9a, 0x91, 0xd4, 0x2c, 0xe3, 0xf0, 0x5a, 0x1a, 0x88, 0xbb, + 0xf1, 0xed, 0x2f, 0x5b, 0x20, 0xbc, 0x84, 0x0b, 0x2c, 0x68, 0x57, 0xbe, 0x3c, 0x66, 0x24, 0x17, + 0x7c, 0xba, 0x88, 0x03, 0xb5, 0x48, 0x29, 0xa8, 0xf8, 0xbe, 0x91, 0x48, 0xd0, 0xa0, 0x6a, 0xff, + 0xb6, 0x05, 0x23, 0x1c, 0x7c, 0x8d, 0x29, 0xa2, 0xf9, 0xfd, 0xea, 0x2b, 0x9d, 0x35, 0x7b, 0x94, + 0x8b, 0x12, 0x56, 0x69, 0x8d, 0xf5, 0x47, 0xb9, 0x24, 0x00, 0x27, 0x38, 0xe8, 0x29, 0x18, 0x8a, + 0x3a, 0x77, 0x18, 0x7a, 0xca, 0x65, 0xb8, 0xc1, 0x8b, 0xb1, 0x84, 0xdb, 0xff, 0xac, 0x04, 0x93, + 0x69, 0x8f, 0x71, 0x84, 0x61, 0x90, 0x33, 0x90, 0xb4, 0x4e, 0x73, 0x90, 0x01, 0x54, 0xf3, 0x38, + 0x07, 0xfe, 0xb4, 0x3c, 0x63, 0x41, 0x82, 0x12, 0x5a, 0x87, 0x11, 0x37, 0xb8, 0xe7, 0xdf, 0x73, + 0x42, 0x77, 0xa1, 0xbe, 0x2a, 0x66, 0x22, 0xc7, 0xc7, 0xaf, 0x96, 0x54, 0xd0, 0xfd, 0xd9, 0x99, + 0x41, 0x2e, 0x01, 0x61, 0x9d, 0x30, 0xfa, 0x34, 0xcb, 0x85, 0xb2, 0xee, 0x6d, 0x5c, 0x73, 0xda, + 0xc5, 0xbc, 0x59, 0x96, 0x24, 0xba, 0xd6, 0xc6, 0x98, 0x48, 0x9d, 0xc2, 0x01, 0x38, 0x21, 0x69, + 0xff, 0xea, 0x49, 0x30, 0xd6, 0x82, 0x91, 0x73, 0xda, 0x7a, 0xe0, 0x39, 0xa7, 0xdf, 0x80, 0x61, + 0xb2, 0xd5, 0x8e, 0x77, 0x6a, 0x5e, 0x58, 0xec, 0x05, 0x81, 0x65, 0x81, 0xdd, 0x4d, 0x5d, 0x42, + 0xb0, 0xa2, 0xd8, 0x23, 0x83, 0x78, 0xf9, 0x7d, 0x91, 0x41, 0xbc, 0xf2, 0x97, 0x92, 0x41, 0xfc, + 0x35, 0x18, 0xda, 0xf0, 0x62, 0x4c, 0xda, 0x81, 0x38, 0x8d, 0x73, 0x16, 0xcf, 0x25, 0x8e, 0xdc, + 0x9d, 0x5b, 0x56, 0x00, 0xb0, 0x24, 0x87, 0xd6, 0xd4, 0xa6, 0x1a, 0x2c, 0x22, 0x83, 0x76, 0x1b, + 0xc8, 0x33, 0xb7, 0x95, 0xc8, 0x18, 0x3e, 0xf4, 0xde, 0x33, 0x86, 0xab, 0x3c, 0xdf, 0xc3, 0x0f, + 0x2a, 0xcf, 0xb7, 0x91, 0x2f, 0xbd, 0x7a, 0x14, 0xf9, 0xd2, 0xbf, 0x6c, 0xc1, 0xc9, 0x76, 0xd6, + 0x6b, 0x03, 0x22, 0x63, 0xf7, 0x2f, 0x1c, 0xe2, 0xfd, 0x05, 0xa3, 0x69, 0x96, 0xe1, 0x23, 0x13, + 0x0d, 0x67, 0x37, 0x2c, 0x13, 0xaf, 0x8f, 0xbc, 0xf7, 0xc4, 0xeb, 0x47, 0x9d, 0xda, 0x3b, 0x49, + 0xc3, 0x3e, 0x76, 0x24, 0x69, 0xd8, 0xc7, 0x1f, 0x60, 0x1a, 0x76, 0x2d, 0x81, 0xfa, 0xc4, 0x83, + 0x4d, 0xa0, 0xbe, 0x69, 0x9e, 0x4b, 0x3c, 0x5f, 0xf7, 0x0b, 0x85, 0xcf, 0x25, 0xa3, 0x85, 0x83, + 0x4f, 0x26, 0x9e, 0x4a, 0x7e, 0xea, 0x3d, 0xa6, 0x92, 0x37, 0x12, 0xb2, 0xa3, 0xa3, 0x48, 0xc8, + 0xfe, 0x96, 0x7e, 0x82, 0x9e, 0x28, 0xd2, 0x82, 0x3a, 0x28, 0xbb, 0x5b, 0xc8, 0x3a, 0x43, 0xbb, + 0x53, 0xbe, 0x4f, 0x1f, 0x77, 0xca, 0xf7, 0x93, 0x47, 0x98, 0xf2, 0xfd, 0xd4, 0xb1, 0xa6, 0x7c, + 0x7f, 0xe8, 0x7d, 0x92, 0xf2, 0x7d, 0xe6, 0xb8, 0x52, 0xbe, 0x3f, 0xfc, 0x60, 0x53, 0xbe, 0xbf, + 0x05, 0xd5, 0xb6, 0x8c, 0xbb, 0x9c, 0x99, 0x2d, 0x32, 0x75, 0x99, 0x61, 0x9a, 0x7c, 0xea, 0x14, + 0x08, 0x27, 0x44, 0x69, 0x0b, 0x49, 0x0a, 0xf8, 0x0f, 0x16, 0x69, 0x21, 0xd3, 0xee, 0x71, 0x40, + 0xe2, 0xf7, 0x2f, 0x96, 0xe0, 0xf4, 0xc1, 0xbb, 0x23, 0x31, 0x9a, 0xd4, 0x13, 0x5b, 0x76, 0xca, + 0x68, 0xc2, 0x24, 0x4f, 0x0d, 0xab, 0x70, 0x38, 0xfb, 0x25, 0x98, 0x52, 0x7e, 0x5e, 0x2d, 0xaf, + 0xb9, 0xa3, 0x3d, 0x44, 0xa5, 0xe2, 0x13, 0x1a, 0x69, 0x04, 0xdc, 0x5d, 0x07, 0x2d, 0xc0, 0x84, + 0x51, 0xb8, 0x5a, 0x13, 0xfa, 0x8b, 0xb2, 0xd2, 0x34, 0x4c, 0x30, 0x4e, 0xe3, 0xdb, 0xdf, 0xb0, + 0xe0, 0xa1, 0x1e, 0x39, 0x5e, 0x0b, 0xc7, 0x68, 0xb7, 0x61, 0xa2, 0x6d, 0x56, 0x2d, 0x9c, 0xf2, + 0xc1, 0xc8, 0x29, 0xab, 0x7a, 0x9d, 0x02, 0xe0, 0x34, 0xf9, 0xc5, 0xb3, 0x3f, 0xf8, 0xf1, 0xe9, + 0x0f, 0xfc, 0xf0, 0xc7, 0xa7, 0x3f, 0xf0, 0xa3, 0x1f, 0x9f, 0xfe, 0xc0, 0x2f, 0xef, 0x9d, 0xb6, + 0x7e, 0xb0, 0x77, 0xda, 0xfa, 0xe1, 0xde, 0x69, 0xeb, 0x47, 0x7b, 0xa7, 0xad, 0x3f, 0xdf, 0x3b, + 0x6d, 0x7d, 0xf9, 0x27, 0xa7, 0x3f, 0xf0, 0x7a, 0x69, 0xfb, 0xc2, 0xff, 0x0b, 0x00, 0x00, 0xff, + 0xff, 0x2b, 0xa9, 0x4a, 0xd9, 0x9b, 0xd0, 0x00, 0x00, } diff --git a/pkg/api/v1/types.generated.go b/pkg/api/v1/types.generated.go index dc5ef1f52d7..f2c59706c85 100644 --- a/pkg/api/v1/types.generated.go +++ b/pkg/api/v1/types.generated.go @@ -37619,7 +37619,6 @@ func (x *PodSecurityContext) CodecEncodeSelf(e *codec1978.Encoder) { yym8 := z.EncBinary() _ = yym8 if false { - } else if z.HasExtensions() && z.EncExt(yy7) { } else { r.EncodeInt(int64(yy7)) } @@ -37639,7 +37638,6 @@ func (x *PodSecurityContext) CodecEncodeSelf(e *codec1978.Encoder) { yym10 := z.EncBinary() _ = yym10 if false { - } else if z.HasExtensions() && z.EncExt(yy9) { } else { r.EncodeInt(int64(yy9)) } @@ -37691,7 +37689,7 @@ func (x *PodSecurityContext) CodecEncodeSelf(e *codec1978.Encoder) { _ = yym17 if false { } else { - h.encSlicetypes_UnixGroupID(([]pkg1_types.UnixGroupID)(x.SupplementalGroups), e) + z.F.EncSliceInt64V(x.SupplementalGroups, false, e) } } } else { @@ -37709,7 +37707,7 @@ func (x *PodSecurityContext) CodecEncodeSelf(e *codec1978.Encoder) { _ = yym18 if false { } else { - h.encSlicetypes_UnixGroupID(([]pkg1_types.UnixGroupID)(x.SupplementalGroups), e) + z.F.EncSliceInt64V(x.SupplementalGroups, false, e) } } } @@ -37724,7 +37722,6 @@ func (x *PodSecurityContext) CodecEncodeSelf(e *codec1978.Encoder) { yym21 := z.EncBinary() _ = yym21 if false { - } else if z.HasExtensions() && z.EncExt(yy20) { } else { r.EncodeInt(int64(yy20)) } @@ -37744,7 +37741,6 @@ func (x *PodSecurityContext) CodecEncodeSelf(e *codec1978.Encoder) { yym23 := z.EncBinary() _ = yym23 if false { - } else if z.HasExtensions() && z.EncExt(yy22) { } else { r.EncodeInt(int64(yy22)) } @@ -37830,12 +37826,11 @@ func (x *PodSecurityContext) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) } } else { if x.RunAsUser == nil { - x.RunAsUser = new(pkg1_types.UnixUserID) + x.RunAsUser = new(int64) } yym6 := z.DecBinary() _ = yym6 if false { - } else if z.HasExtensions() && z.DecExt(x.RunAsUser) { } else { *((*int64)(x.RunAsUser)) = int64(r.DecodeInt(64)) } @@ -37865,7 +37860,7 @@ func (x *PodSecurityContext) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) _ = yym10 if false { } else { - h.decSlicetypes_UnixGroupID((*[]pkg1_types.UnixGroupID)(yyv9), d) + z.F.DecSliceInt64X(yyv9, false, d) } } case "fsGroup": @@ -37875,12 +37870,11 @@ func (x *PodSecurityContext) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) } } else { if x.FSGroup == nil { - x.FSGroup = new(pkg1_types.UnixGroupID) + x.FSGroup = new(int64) } yym12 := z.DecBinary() _ = yym12 if false { - } else if z.HasExtensions() && z.DecExt(x.FSGroup) { } else { *((*int64)(x.FSGroup)) = int64(r.DecodeInt(64)) } @@ -37937,12 +37931,11 @@ func (x *PodSecurityContext) codecDecodeSelfFromArray(l int, d *codec1978.Decode } } else { if x.RunAsUser == nil { - x.RunAsUser = new(pkg1_types.UnixUserID) + x.RunAsUser = new(int64) } yym16 := z.DecBinary() _ = yym16 if false { - } else if z.HasExtensions() && z.DecExt(x.RunAsUser) { } else { *((*int64)(x.RunAsUser)) = int64(r.DecodeInt(64)) } @@ -37992,7 +37985,7 @@ func (x *PodSecurityContext) codecDecodeSelfFromArray(l int, d *codec1978.Decode _ = yym20 if false { } else { - h.decSlicetypes_UnixGroupID((*[]pkg1_types.UnixGroupID)(yyv19), d) + z.F.DecSliceInt64X(yyv19, false, d) } } yyj13++ @@ -38012,12 +38005,11 @@ func (x *PodSecurityContext) codecDecodeSelfFromArray(l int, d *codec1978.Decode } } else { if x.FSGroup == nil { - x.FSGroup = new(pkg1_types.UnixGroupID) + x.FSGroup = new(int64) } yym22 := z.DecBinary() _ = yym22 if false { - } else if z.HasExtensions() && z.DecExt(x.FSGroup) { } else { *((*int64)(x.FSGroup)) = int64(r.DecodeInt(64)) } @@ -67969,7 +67961,6 @@ func (x *SecurityContext) CodecEncodeSelf(e *codec1978.Encoder) { yym16 := z.EncBinary() _ = yym16 if false { - } else if z.HasExtensions() && z.EncExt(yy15) { } else { r.EncodeInt(int64(yy15)) } @@ -67989,7 +67980,6 @@ func (x *SecurityContext) CodecEncodeSelf(e *codec1978.Encoder) { yym18 := z.EncBinary() _ = yym18 if false { - } else if z.HasExtensions() && z.EncExt(yy17) { } else { r.EncodeInt(int64(yy17)) } @@ -68172,12 +68162,11 @@ func (x *SecurityContext) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) { } } else { if x.RunAsUser == nil { - x.RunAsUser = new(pkg1_types.UnixUserID) + x.RunAsUser = new(int64) } yym9 := z.DecBinary() _ = yym9 if false { - } else if z.HasExtensions() && z.DecExt(x.RunAsUser) { } else { *((*int64)(x.RunAsUser)) = int64(r.DecodeInt(64)) } @@ -68313,12 +68302,11 @@ func (x *SecurityContext) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) } } else { if x.RunAsUser == nil { - x.RunAsUser = new(pkg1_types.UnixUserID) + x.RunAsUser = new(int64) } yym20 := z.DecBinary() _ = yym20 if false { - } else if z.HasExtensions() && z.DecExt(x.RunAsUser) { } else { *((*int64)(x.RunAsUser)) = int64(r.DecodeInt(64)) } @@ -72192,143 +72180,6 @@ func (x codecSelfer1234) decSliceHostAlias(v *[]HostAlias, d *codec1978.Decoder) } } -func (x codecSelfer1234) encSlicetypes_UnixGroupID(v []pkg1_types.UnixGroupID, e *codec1978.Encoder) { - var h codecSelfer1234 - z, r := codec1978.GenHelperEncoder(e) - _, _, _ = h, z, r - r.EncodeArrayStart(len(v)) - for _, yyv1 := range v { - z.EncSendContainerState(codecSelfer_containerArrayElem1234) - yym2 := z.EncBinary() - _ = yym2 - if false { - } else if z.HasExtensions() && z.EncExt(yyv1) { - } else { - r.EncodeInt(int64(yyv1)) - } - } - z.EncSendContainerState(codecSelfer_containerArrayEnd1234) -} - -func (x codecSelfer1234) decSlicetypes_UnixGroupID(v *[]pkg1_types.UnixGroupID, d *codec1978.Decoder) { - var h codecSelfer1234 - z, r := codec1978.GenHelperDecoder(d) - _, _, _ = h, z, r - - yyv1 := *v - yyh1, yyl1 := z.DecSliceHelperStart() - var yyc1 bool - _ = yyc1 - if yyl1 == 0 { - if yyv1 == nil { - yyv1 = []pkg1_types.UnixGroupID{} - yyc1 = true - } else if len(yyv1) != 0 { - yyv1 = yyv1[:0] - yyc1 = true - } - } else if yyl1 > 0 { - var yyrr1, yyrl1 int - var yyrt1 bool - _, _ = yyrl1, yyrt1 - yyrr1 = yyl1 // len(yyv1) - if yyl1 > cap(yyv1) { - - yyrl1, yyrt1 = z.DecInferLen(yyl1, z.DecBasicHandle().MaxInitLen, 8) - if yyrt1 { - if yyrl1 <= cap(yyv1) { - yyv1 = yyv1[:yyrl1] - } else { - yyv1 = make([]pkg1_types.UnixGroupID, yyrl1) - } - } else { - yyv1 = make([]pkg1_types.UnixGroupID, yyrl1) - } - yyc1 = true - yyrr1 = len(yyv1) - } else if yyl1 != len(yyv1) { - yyv1 = yyv1[:yyl1] - yyc1 = true - } - yyj1 := 0 - for ; yyj1 < yyrr1; yyj1++ { - yyh1.ElemContainerState(yyj1) - if r.TryDecodeAsNil() { - yyv1[yyj1] = 0 - } else { - yyv2 := &yyv1[yyj1] - yym3 := z.DecBinary() - _ = yym3 - if false { - } else if z.HasExtensions() && z.DecExt(yyv2) { - } else { - *((*int64)(yyv2)) = int64(r.DecodeInt(64)) - } - } - - } - if yyrt1 { - for ; yyj1 < yyl1; yyj1++ { - yyv1 = append(yyv1, 0) - yyh1.ElemContainerState(yyj1) - if r.TryDecodeAsNil() { - yyv1[yyj1] = 0 - } else { - yyv4 := &yyv1[yyj1] - yym5 := z.DecBinary() - _ = yym5 - if false { - } else if z.HasExtensions() && z.DecExt(yyv4) { - } else { - *((*int64)(yyv4)) = int64(r.DecodeInt(64)) - } - } - - } - } - - } else { - yyj1 := 0 - for ; !r.CheckBreak(); yyj1++ { - - if yyj1 >= len(yyv1) { - yyv1 = append(yyv1, 0) // var yyz1 pkg1_types.UnixGroupID - yyc1 = true - } - yyh1.ElemContainerState(yyj1) - if yyj1 < len(yyv1) { - if r.TryDecodeAsNil() { - yyv1[yyj1] = 0 - } else { - yyv6 := &yyv1[yyj1] - yym7 := z.DecBinary() - _ = yym7 - if false { - } else if z.HasExtensions() && z.DecExt(yyv6) { - } else { - *((*int64)(yyv6)) = int64(r.DecodeInt(64)) - } - } - - } else { - z.DecSwallow() - } - - } - if yyj1 < len(yyv1) { - yyv1 = yyv1[:yyj1] - yyc1 = true - } else if yyj1 == 0 && yyv1 == nil { - yyv1 = []pkg1_types.UnixGroupID{} - yyc1 = true - } - } - yyh1.End() - if yyc1 { - *v = yyv1 - } -} - func (x codecSelfer1234) encSlicePodCondition(v []PodCondition, e *codec1978.Encoder) { var h codecSelfer1234 z, r := codec1978.GenHelperEncoder(e) diff --git a/pkg/api/v1/zz_generated.conversion.go b/pkg/api/v1/zz_generated.conversion.go index c4083424b42..9897d4710a4 100644 --- a/pkg/api/v1/zz_generated.conversion.go +++ b/pkg/api/v1/zz_generated.conversion.go @@ -3450,10 +3450,10 @@ func Convert_api_PodProxyOptions_To_v1_PodProxyOptions(in *api.PodProxyOptions, func autoConvert_v1_PodSecurityContext_To_api_PodSecurityContext(in *PodSecurityContext, out *api.PodSecurityContext, s conversion.Scope) error { out.SELinuxOptions = (*api.SELinuxOptions)(unsafe.Pointer(in.SELinuxOptions)) - out.RunAsUser = (*types.UnixUserID)(unsafe.Pointer(in.RunAsUser)) + out.RunAsUser = (*int64)(unsafe.Pointer(in.RunAsUser)) out.RunAsNonRoot = (*bool)(unsafe.Pointer(in.RunAsNonRoot)) - out.SupplementalGroups = *(*[]types.UnixGroupID)(unsafe.Pointer(&in.SupplementalGroups)) - out.FSGroup = (*types.UnixGroupID)(unsafe.Pointer(in.FSGroup)) + out.SupplementalGroups = *(*[]int64)(unsafe.Pointer(&in.SupplementalGroups)) + out.FSGroup = (*int64)(unsafe.Pointer(in.FSGroup)) return nil } @@ -3462,10 +3462,10 @@ func autoConvert_api_PodSecurityContext_To_v1_PodSecurityContext(in *api.PodSecu // INFO: in.HostPID opted out of conversion generation // INFO: in.HostIPC opted out of conversion generation out.SELinuxOptions = (*SELinuxOptions)(unsafe.Pointer(in.SELinuxOptions)) - out.RunAsUser = (*types.UnixUserID)(unsafe.Pointer(in.RunAsUser)) + out.RunAsUser = (*int64)(unsafe.Pointer(in.RunAsUser)) out.RunAsNonRoot = (*bool)(unsafe.Pointer(in.RunAsNonRoot)) - out.SupplementalGroups = *(*[]types.UnixGroupID)(unsafe.Pointer(&in.SupplementalGroups)) - out.FSGroup = (*types.UnixGroupID)(unsafe.Pointer(in.FSGroup)) + out.SupplementalGroups = *(*[]int64)(unsafe.Pointer(&in.SupplementalGroups)) + out.FSGroup = (*int64)(unsafe.Pointer(in.FSGroup)) return nil } @@ -4525,7 +4525,7 @@ func autoConvert_v1_SecurityContext_To_api_SecurityContext(in *SecurityContext, out.Capabilities = (*api.Capabilities)(unsafe.Pointer(in.Capabilities)) out.Privileged = (*bool)(unsafe.Pointer(in.Privileged)) out.SELinuxOptions = (*api.SELinuxOptions)(unsafe.Pointer(in.SELinuxOptions)) - out.RunAsUser = (*types.UnixUserID)(unsafe.Pointer(in.RunAsUser)) + out.RunAsUser = (*int64)(unsafe.Pointer(in.RunAsUser)) out.RunAsNonRoot = (*bool)(unsafe.Pointer(in.RunAsNonRoot)) out.ReadOnlyRootFilesystem = (*bool)(unsafe.Pointer(in.ReadOnlyRootFilesystem)) return nil @@ -4540,7 +4540,7 @@ func autoConvert_api_SecurityContext_To_v1_SecurityContext(in *api.SecurityConte out.Capabilities = (*Capabilities)(unsafe.Pointer(in.Capabilities)) out.Privileged = (*bool)(unsafe.Pointer(in.Privileged)) out.SELinuxOptions = (*SELinuxOptions)(unsafe.Pointer(in.SELinuxOptions)) - out.RunAsUser = (*types.UnixUserID)(unsafe.Pointer(in.RunAsUser)) + out.RunAsUser = (*int64)(unsafe.Pointer(in.RunAsUser)) out.RunAsNonRoot = (*bool)(unsafe.Pointer(in.RunAsNonRoot)) out.ReadOnlyRootFilesystem = (*bool)(unsafe.Pointer(in.ReadOnlyRootFilesystem)) return nil diff --git a/pkg/api/v1/zz_generated.deepcopy.go b/pkg/api/v1/zz_generated.deepcopy.go index 38ee730ebc8..b909d9b3325 100644 --- a/pkg/api/v1/zz_generated.deepcopy.go +++ b/pkg/api/v1/zz_generated.deepcopy.go @@ -2469,7 +2469,7 @@ func DeepCopy_v1_PodSecurityContext(in interface{}, out interface{}, c *conversi } if in.RunAsUser != nil { in, out := &in.RunAsUser, &out.RunAsUser - *out = new(types.UnixUserID) + *out = new(int64) **out = **in } if in.RunAsNonRoot != nil { @@ -2479,12 +2479,12 @@ func DeepCopy_v1_PodSecurityContext(in interface{}, out interface{}, c *conversi } if in.SupplementalGroups != nil { in, out := &in.SupplementalGroups, &out.SupplementalGroups - *out = make([]types.UnixGroupID, len(*in)) + *out = make([]int64, len(*in)) copy(*out, *in) } if in.FSGroup != nil { in, out := &in.FSGroup, &out.FSGroup - *out = new(types.UnixGroupID) + *out = new(int64) **out = **in } return nil @@ -3264,7 +3264,7 @@ func DeepCopy_v1_SecurityContext(in interface{}, out interface{}, c *conversion. } if in.RunAsUser != nil { in, out := &in.RunAsUser, &out.RunAsUser - *out = new(types.UnixUserID) + *out = new(int64) **out = **in } if in.RunAsNonRoot != nil { diff --git a/pkg/api/validation/BUILD b/pkg/api/validation/BUILD index fbc56456b84..ecd90e895b6 100644 --- a/pkg/api/validation/BUILD +++ b/pkg/api/validation/BUILD @@ -81,7 +81,6 @@ go_test( "//vendor/k8s.io/apimachinery/pkg/api/testing:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/types:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/intstr:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/sets:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", diff --git a/pkg/api/zz_generated.deepcopy.go b/pkg/api/zz_generated.deepcopy.go index b9b24716ebe..cc111561b7f 100644 --- a/pkg/api/zz_generated.deepcopy.go +++ b/pkg/api/zz_generated.deepcopy.go @@ -2487,7 +2487,7 @@ func DeepCopy_api_PodSecurityContext(in interface{}, out interface{}, c *convers } if in.RunAsUser != nil { in, out := &in.RunAsUser, &out.RunAsUser - *out = new(types.UnixUserID) + *out = new(int64) **out = **in } if in.RunAsNonRoot != nil { @@ -2497,12 +2497,12 @@ func DeepCopy_api_PodSecurityContext(in interface{}, out interface{}, c *convers } if in.SupplementalGroups != nil { in, out := &in.SupplementalGroups, &out.SupplementalGroups - *out = make([]types.UnixGroupID, len(*in)) + *out = make([]int64, len(*in)) copy(*out, *in) } if in.FSGroup != nil { in, out := &in.FSGroup, &out.FSGroup - *out = new(types.UnixGroupID) + *out = new(int64) **out = **in } return nil @@ -3270,7 +3270,7 @@ func DeepCopy_api_SecurityContext(in interface{}, out interface{}, c *conversion } if in.RunAsUser != nil { in, out := &in.RunAsUser, &out.RunAsUser - *out = new(types.UnixUserID) + *out = new(int64) **out = **in } if in.RunAsNonRoot != nil { diff --git a/pkg/apis/extensions/BUILD b/pkg/apis/extensions/BUILD index 2bb7260d288..a9de8e682ee 100644 --- a/pkg/apis/extensions/BUILD +++ b/pkg/apis/extensions/BUILD @@ -32,7 +32,6 @@ go_library( "//vendor/k8s.io/apimachinery/pkg/conversion:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime/schema:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/types:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/intstr:go_default_library", ], ) diff --git a/pkg/kubelet/dockershim/securitycontext/BUILD b/pkg/kubelet/dockershim/securitycontext/BUILD index 1b48859b454..21a6ddcf34e 100644 --- a/pkg/kubelet/dockershim/securitycontext/BUILD +++ b/pkg/kubelet/dockershim/securitycontext/BUILD @@ -36,7 +36,6 @@ go_test( "//pkg/api/testing:go_default_library", "//pkg/api/v1:go_default_library", "//vendor/github.com/docker/engine-api/types/container:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/types:go_default_library", ], ) diff --git a/pkg/kubelet/volumemanager/BUILD b/pkg/kubelet/volumemanager/BUILD index 46ee7c04cce..0aa60c074df 100644 --- a/pkg/kubelet/volumemanager/BUILD +++ b/pkg/kubelet/volumemanager/BUILD @@ -60,7 +60,6 @@ go_test( "//pkg/volume/util/types:go_default_library", "//pkg/volume/util/volumehelper:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/types:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/sets:go_default_library", "//vendor/k8s.io/client-go/tools/record:go_default_library", "//vendor/k8s.io/client-go/util/testing:go_default_library", diff --git a/pkg/security/podsecuritypolicy/BUILD b/pkg/security/podsecuritypolicy/BUILD index 4a13e2f54e2..339282846bb 100644 --- a/pkg/security/podsecuritypolicy/BUILD +++ b/pkg/security/podsecuritypolicy/BUILD @@ -29,7 +29,6 @@ go_library( "//pkg/security/podsecuritypolicy/user:go_default_library", "//pkg/security/podsecuritypolicy/util:go_default_library", "//pkg/util/maps:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/types:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/errors:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", ], @@ -49,7 +48,6 @@ go_test( "//pkg/security/podsecuritypolicy/util:go_default_library", "//vendor/github.com/davecgh/go-spew/spew:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/types:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/diff:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", ], diff --git a/pkg/security/podsecuritypolicy/group/BUILD b/pkg/security/podsecuritypolicy/group/BUILD index 7e940657586..d5992815002 100644 --- a/pkg/security/podsecuritypolicy/group/BUILD +++ b/pkg/security/podsecuritypolicy/group/BUILD @@ -21,7 +21,6 @@ go_library( "//pkg/api:go_default_library", "//pkg/apis/extensions:go_default_library", "//pkg/security/podsecuritypolicy/util:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/types:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", ], ) @@ -37,7 +36,6 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/apis/extensions:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/types:go_default_library", ], ) diff --git a/pkg/security/podsecuritypolicy/user/BUILD b/pkg/security/podsecuritypolicy/user/BUILD index 9588123f0ae..e7bed5b3ef6 100644 --- a/pkg/security/podsecuritypolicy/user/BUILD +++ b/pkg/security/podsecuritypolicy/user/BUILD @@ -22,7 +22,6 @@ go_library( "//pkg/api:go_default_library", "//pkg/apis/extensions:go_default_library", "//pkg/security/podsecuritypolicy/util:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/types:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", ], ) @@ -39,7 +38,6 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/apis/extensions:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/types:go_default_library", ], ) diff --git a/pkg/security/podsecuritypolicy/util/BUILD b/pkg/security/podsecuritypolicy/util/BUILD index 0d8a581f725..2343551c4dc 100644 --- a/pkg/security/podsecuritypolicy/util/BUILD +++ b/pkg/security/podsecuritypolicy/util/BUILD @@ -18,7 +18,6 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/apis/extensions:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/types:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/sets:go_default_library", ], ) diff --git a/pkg/securitycontext/BUILD b/pkg/securitycontext/BUILD index 49abb737749..1f461d83079 100644 --- a/pkg/securitycontext/BUILD +++ b/pkg/securitycontext/BUILD @@ -19,7 +19,6 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/types:go_default_library", ], ) @@ -28,10 +27,7 @@ go_test( srcs = ["util_test.go"], library = ":go_default_library", tags = ["automanaged"], - deps = [ - "//pkg/api/v1:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/types:go_default_library", - ], + deps = ["//pkg/api/v1:go_default_library"], ) filegroup( diff --git a/plugin/pkg/admission/security/podsecuritypolicy/BUILD b/plugin/pkg/admission/security/podsecuritypolicy/BUILD index 23c4fbb81a7..475d0384d20 100644 --- a/plugin/pkg/admission/security/podsecuritypolicy/BUILD +++ b/plugin/pkg/admission/security/podsecuritypolicy/BUILD @@ -50,7 +50,6 @@ go_test( "//pkg/security/podsecuritypolicy/util:go_default_library", "//vendor/github.com/stretchr/testify/assert:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/types:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/diff:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/sets:go_default_library", "//vendor/k8s.io/apiserver/pkg/admission:go_default_library", diff --git a/plugin/pkg/admission/securitycontext/scdeny/BUILD b/plugin/pkg/admission/securitycontext/scdeny/BUILD index b8c1e098826..207311ec378 100644 --- a/plugin/pkg/admission/securitycontext/scdeny/BUILD +++ b/plugin/pkg/admission/securitycontext/scdeny/BUILD @@ -26,7 +26,6 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/types:go_default_library", "//vendor/k8s.io/apiserver/pkg/admission:go_default_library", ], ) diff --git a/staging/src/k8s.io/apimachinery/pkg/types/BUILD b/staging/src/k8s.io/apimachinery/pkg/types/BUILD index fb07226efda..f6dadfcca8a 100644 --- a/staging/src/k8s.io/apimachinery/pkg/types/BUILD +++ b/staging/src/k8s.io/apimachinery/pkg/types/BUILD @@ -15,7 +15,6 @@ go_library( "nodename.go", "patch.go", "uid.go", - "unix_user_id.go", ], tags = ["automanaged"], ) diff --git a/staging/src/k8s.io/apimachinery/pkg/util/validation/BUILD b/staging/src/k8s.io/apimachinery/pkg/util/validation/BUILD index 5deabcdbf57..5b5d461e9dd 100644 --- a/staging/src/k8s.io/apimachinery/pkg/util/validation/BUILD +++ b/staging/src/k8s.io/apimachinery/pkg/util/validation/BUILD @@ -13,12 +13,10 @@ go_test( srcs = ["validation_test.go"], library = ":go_default_library", tags = ["automanaged"], - deps = ["//vendor/k8s.io/apimachinery/pkg/types:go_default_library"], ) go_library( name = "go_default_library", srcs = ["validation.go"], tags = ["automanaged"], - deps = ["//vendor/k8s.io/apimachinery/pkg/types:go_default_library"], ) diff --git a/staging/src/k8s.io/client-go/pkg/api/v1/generated.pb.go b/staging/src/k8s.io/client-go/pkg/api/v1/generated.pb.go index 13804ea9b11..ed17a53e29e 100644 --- a/staging/src/k8s.io/client-go/pkg/api/v1/generated.pb.go +++ b/staging/src/k8s.io/client-go/pkg/api/v1/generated.pb.go @@ -33491,7 +33491,7 @@ func (m *PodSecurityContext) Unmarshal(dAtA []byte) error { if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field RunAsUser", wireType) } - var v k8s_io_apimachinery_pkg_types.UnixUserID + var v int64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowGenerated @@ -33501,7 +33501,7 @@ func (m *PodSecurityContext) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (k8s_io_apimachinery_pkg_types.UnixUserID(b) & 0x7F) << shift + v |= (int64(b) & 0x7F) << shift if b < 0x80 { break } @@ -33530,7 +33530,7 @@ func (m *PodSecurityContext) Unmarshal(dAtA []byte) error { m.RunAsNonRoot = &b case 4: if wireType == 0 { - var v k8s_io_apimachinery_pkg_types.UnixGroupID + var v int64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowGenerated @@ -33540,7 +33540,7 @@ func (m *PodSecurityContext) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (k8s_io_apimachinery_pkg_types.UnixGroupID(b) & 0x7F) << shift + v |= (int64(b) & 0x7F) << shift if b < 0x80 { break } @@ -33570,7 +33570,7 @@ func (m *PodSecurityContext) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } for iNdEx < postIndex { - var v k8s_io_apimachinery_pkg_types.UnixGroupID + var v int64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowGenerated @@ -33580,7 +33580,7 @@ func (m *PodSecurityContext) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (k8s_io_apimachinery_pkg_types.UnixGroupID(b) & 0x7F) << shift + v |= (int64(b) & 0x7F) << shift if b < 0x80 { break } @@ -33594,7 +33594,7 @@ func (m *PodSecurityContext) Unmarshal(dAtA []byte) error { if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field FSGroup", wireType) } - var v k8s_io_apimachinery_pkg_types.UnixGroupID + var v int64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowGenerated @@ -33604,7 +33604,7 @@ func (m *PodSecurityContext) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (k8s_io_apimachinery_pkg_types.UnixGroupID(b) & 0x7F) << shift + v |= (int64(b) & 0x7F) << shift if b < 0x80 { break } @@ -40243,7 +40243,7 @@ func (m *SecurityContext) Unmarshal(dAtA []byte) error { if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field RunAsUser", wireType) } - var v k8s_io_apimachinery_pkg_types.UnixUserID + var v int64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowGenerated @@ -40253,7 +40253,7 @@ func (m *SecurityContext) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= (k8s_io_apimachinery_pkg_types.UnixUserID(b) & 0x7F) << shift + v |= (int64(b) & 0x7F) << shift if b < 0x80 { break } @@ -44391,722 +44391,720 @@ func init() { } var fileDescriptorGenerated = []byte{ - // 11467 bytes of a gzipped FileDescriptorProto + // 11433 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x7d, 0x6d, 0x8c, 0x24, 0xc7, 0x75, 0x98, 0x7a, 0x66, 0xf6, 0x63, 0xde, 0x7e, 0xd7, 0xed, 0x1d, 0x97, 0x2b, 0xf2, 0xf6, 0xd8, - 0x14, 0xe9, 0x23, 0x79, 0xdc, 0xd3, 0x1d, 0x49, 0xf1, 0x24, 0xca, 0xb4, 0x76, 0x77, 0x76, 0xef, - 0xd6, 0xf7, 0x35, 0xac, 0xd9, 0xbb, 0xa3, 0x28, 0x46, 0x64, 0xdf, 0x74, 0xed, 0x6e, 0xf3, 0x66, - 0xbb, 0x87, 0xdd, 0x3d, 0x7b, 0xb7, 0x34, 0x0c, 0xd8, 0x8a, 0x60, 0x2b, 0x80, 0x92, 0xc8, 0x70, - 0x04, 0x04, 0x4e, 0x00, 0x05, 0x06, 0xe2, 0x28, 0xdf, 0x56, 0x04, 0x7d, 0x18, 0x96, 0x13, 0xc4, - 0xb1, 0x1c, 0x39, 0x48, 0x1c, 0x03, 0x46, 0x6c, 0x05, 0x86, 0xd7, 0xd6, 0x0a, 0xf1, 0xbf, 0x04, - 0x41, 0xf2, 0x6f, 0xf3, 0x81, 0xa0, 0x3e, 0xbb, 0xaa, 0xa7, 0x67, 0xbb, 0x67, 0x79, 0xbb, 0xa6, - 0x84, 0xfc, 0x9b, 0xa9, 0xf7, 0xea, 0x55, 0x75, 0x7d, 0xbc, 0x7a, 0xef, 0xd5, 0x7b, 0xaf, 0xe0, - 0xdc, 0xbd, 0x4b, 0xd1, 0xbc, 0x17, 0x9c, 0xbf, 0xd7, 0xb9, 0x4b, 0x42, 0x9f, 0xc4, 0x24, 0x3a, - 0xdf, 0xbe, 0xb7, 0x71, 0xde, 0x69, 0x7b, 0xe7, 0xb7, 0x2f, 0x9c, 0xdf, 0x20, 0x3e, 0x09, 0x9d, - 0x98, 0xb8, 0xf3, 0xed, 0x30, 0x88, 0x03, 0xf4, 0x18, 0xc7, 0x9e, 0x4f, 0xb0, 0xe7, 0xdb, 0xf7, - 0x36, 0xe6, 0x9d, 0xb6, 0x37, 0xbf, 0x7d, 0x61, 0xf6, 0xf9, 0x0d, 0x2f, 0xde, 0xec, 0xdc, 0x9d, - 0x6f, 0x06, 0x5b, 0xe7, 0x37, 0x82, 0x8d, 0xe0, 0x3c, 0xab, 0x74, 0xb7, 0xb3, 0xce, 0xfe, 0xb1, - 0x3f, 0xec, 0x17, 0x27, 0x36, 0xfb, 0xa2, 0x68, 0xda, 0x69, 0x7b, 0x5b, 0x4e, 0x73, 0xd3, 0xf3, + 0x14, 0xe9, 0x23, 0x79, 0xdc, 0xd3, 0x1d, 0x49, 0x91, 0x12, 0x65, 0x5a, 0xbb, 0x3b, 0xbb, 0x77, + 0xeb, 0xfb, 0x1a, 0xd6, 0xec, 0xdd, 0x51, 0x14, 0x23, 0xb2, 0x6f, 0xba, 0x76, 0xb7, 0x79, 0xb3, + 0xdd, 0xc3, 0xee, 0x9e, 0xbd, 0x5b, 0x1a, 0x02, 0x6c, 0x45, 0x90, 0x14, 0x40, 0x49, 0x64, 0x38, + 0x02, 0x02, 0x27, 0x80, 0x02, 0x03, 0x71, 0x94, 0x6f, 0x2b, 0x82, 0x3e, 0x0c, 0xcb, 0x09, 0xe2, + 0x48, 0x8e, 0x1c, 0x24, 0x8e, 0x00, 0x23, 0xb1, 0x02, 0xc3, 0x6b, 0x6b, 0x85, 0xf8, 0x5f, 0xf2, + 0x23, 0xf9, 0xb7, 0xf9, 0x40, 0x50, 0x9f, 0x5d, 0xd5, 0xd3, 0xb3, 0xdd, 0xb3, 0xbc, 0x5d, 0x53, + 0x42, 0xfe, 0xcd, 0xd4, 0x7b, 0xf5, 0xaa, 0xba, 0x3e, 0x5e, 0xbd, 0xf7, 0xea, 0xbd, 0x57, 0x70, + 0xee, 0xee, 0x4b, 0xd1, 0xbc, 0x17, 0x9c, 0xbf, 0xdb, 0xb9, 0x43, 0x42, 0x9f, 0xc4, 0x24, 0x3a, + 0xdf, 0xbe, 0xbb, 0x71, 0xde, 0x69, 0x7b, 0xe7, 0xb7, 0x2f, 0x9c, 0xdf, 0x20, 0x3e, 0x09, 0x9d, + 0x98, 0xb8, 0xf3, 0xed, 0x30, 0x88, 0x03, 0xf4, 0x08, 0xc7, 0x9e, 0x4f, 0xb0, 0xe7, 0xdb, 0x77, + 0x37, 0xe6, 0x9d, 0xb6, 0x37, 0xbf, 0x7d, 0x61, 0xf6, 0xd9, 0x0d, 0x2f, 0xde, 0xec, 0xdc, 0x99, + 0x6f, 0x06, 0x5b, 0xe7, 0x37, 0x82, 0x8d, 0xe0, 0x3c, 0xab, 0x74, 0xa7, 0xb3, 0xce, 0xfe, 0xb1, + 0x3f, 0xec, 0x17, 0x27, 0x36, 0xfb, 0xbc, 0x68, 0xda, 0x69, 0x7b, 0x5b, 0x4e, 0x73, 0xd3, 0xf3, 0x49, 0xb8, 0xa3, 0x1a, 0x0f, 0x49, 0x14, 0x74, 0xc2, 0x26, 0x49, 0x77, 0xe1, 0xc0, 0x5a, 0xd1, 0xf9, 0x2d, 0x12, 0x3b, 0x19, 0x1d, 0x9f, 0x3d, 0xdf, 0xab, 0x56, 0xd8, 0xf1, 0x63, 0x6f, 0xab, - 0xbb, 0x99, 0x8f, 0xe5, 0x55, 0x88, 0x9a, 0x9b, 0x64, 0xcb, 0xe9, 0xaa, 0xf7, 0x42, 0xaf, 0x7a, + 0xbb, 0x99, 0x8f, 0xe4, 0x55, 0x88, 0x9a, 0x9b, 0x64, 0xcb, 0xe9, 0xaa, 0xf7, 0x5c, 0xaf, 0x7a, 0x9d, 0xd8, 0x6b, 0x9d, 0xf7, 0xfc, 0x38, 0x8a, 0xc3, 0x74, 0x25, 0xfb, 0x8f, 0x2d, 0x38, 0xb3, - 0x70, 0xa7, 0xb1, 0xdc, 0x72, 0xa2, 0xd8, 0x6b, 0x2e, 0xb6, 0x82, 0xe6, 0xbd, 0x46, 0x1c, 0x84, - 0xe4, 0x76, 0xd0, 0xea, 0x6c, 0x91, 0x06, 0x1b, 0x08, 0x74, 0x0e, 0x86, 0xb7, 0xd9, 0xff, 0xd5, - 0xda, 0x8c, 0x75, 0xc6, 0x3a, 0x5b, 0x5d, 0x9c, 0xfc, 0xde, 0xee, 0xdc, 0x87, 0xf6, 0x76, 0xe7, - 0x86, 0x6f, 0x8b, 0x72, 0xac, 0x30, 0xd0, 0xd3, 0x30, 0xb8, 0x1e, 0xad, 0xed, 0xb4, 0xc9, 0x4c, + 0x70, 0xbb, 0xb1, 0xdc, 0x72, 0xa2, 0xd8, 0x6b, 0x2e, 0xb6, 0x82, 0xe6, 0xdd, 0x46, 0x1c, 0x84, + 0xe4, 0x56, 0xd0, 0xea, 0x6c, 0x91, 0x06, 0x1b, 0x08, 0x74, 0x0e, 0x86, 0xb7, 0xd9, 0xff, 0xd5, + 0xda, 0x8c, 0x75, 0xc6, 0x3a, 0x5b, 0x5d, 0x9c, 0xfc, 0xc1, 0xee, 0xdc, 0x07, 0xf6, 0x76, 0xe7, + 0x86, 0x6f, 0x89, 0x72, 0xac, 0x30, 0xd0, 0x93, 0x30, 0xb8, 0x1e, 0xad, 0xed, 0xb4, 0xc9, 0x4c, 0x89, 0xe1, 0x8e, 0x0b, 0xdc, 0xc1, 0x95, 0x06, 0x2d, 0xc5, 0x02, 0x8a, 0xce, 0x43, 0xb5, 0xed, 0x84, 0xb1, 0x17, 0x7b, 0x81, 0x3f, 0x53, 0x3e, 0x63, 0x9d, 0x1d, 0x58, 0x9c, 0x12, 0xa8, 0xd5, - 0xba, 0x04, 0xe0, 0x04, 0x87, 0x76, 0x23, 0x24, 0x8e, 0x7b, 0xd3, 0x6f, 0xed, 0xcc, 0x54, 0xce, - 0x58, 0x67, 0x87, 0x93, 0x6e, 0x60, 0x51, 0x8e, 0x15, 0x86, 0xfd, 0xed, 0x12, 0x0c, 0x2f, 0xac, - 0xaf, 0x7b, 0xbe, 0x17, 0xef, 0xa0, 0xb7, 0x61, 0xd4, 0x0f, 0x5c, 0x22, 0xff, 0xb3, 0xaf, 0x18, - 0xb9, 0xf8, 0xec, 0xfc, 0x41, 0x8b, 0x6a, 0xfe, 0x86, 0x56, 0x63, 0x71, 0x72, 0x6f, 0x77, 0x6e, - 0x54, 0x2f, 0xc1, 0x06, 0x45, 0xf4, 0x26, 0x8c, 0xb4, 0x03, 0x57, 0x35, 0x50, 0x62, 0x0d, 0x3c, - 0x73, 0x70, 0x03, 0xf5, 0xa4, 0xc2, 0xe2, 0xc4, 0xde, 0xee, 0xdc, 0x88, 0x56, 0x80, 0x75, 0x72, - 0xa8, 0x05, 0x13, 0xf4, 0xaf, 0x1f, 0x7b, 0xaa, 0x85, 0x32, 0x6b, 0xe1, 0xf9, 0xfc, 0x16, 0xb4, - 0x4a, 0x8b, 0x27, 0xf6, 0x76, 0xe7, 0x26, 0x52, 0x85, 0x38, 0x4d, 0xda, 0x7e, 0x0f, 0xc6, 0x17, - 0xe2, 0xd8, 0x69, 0x6e, 0x12, 0x97, 0xcf, 0x2f, 0x7a, 0x11, 0x2a, 0xbe, 0xb3, 0x45, 0xc4, 0xec, - 0x9f, 0x11, 0xc3, 0x5e, 0xb9, 0xe1, 0x6c, 0x91, 0xfd, 0xdd, 0xb9, 0xc9, 0x5b, 0xbe, 0xf7, 0x6e, + 0xba, 0x04, 0xe0, 0x04, 0x87, 0x76, 0x23, 0x24, 0x8e, 0x7b, 0xc3, 0x6f, 0xed, 0xcc, 0x54, 0xce, + 0x58, 0x67, 0x87, 0x93, 0x6e, 0x60, 0x51, 0x8e, 0x15, 0x86, 0xfd, 0x9d, 0x12, 0x0c, 0x2f, 0xac, + 0xaf, 0x7b, 0xbe, 0x17, 0xef, 0xa0, 0xb7, 0x60, 0xd4, 0x0f, 0x5c, 0x22, 0xff, 0xb3, 0xaf, 0x18, + 0xb9, 0xf8, 0xf4, 0xfc, 0x41, 0x8b, 0x6a, 0xfe, 0xba, 0x56, 0x63, 0x71, 0x72, 0x6f, 0x77, 0x6e, + 0x54, 0x2f, 0xc1, 0x06, 0x45, 0xf4, 0x06, 0x8c, 0xb4, 0x03, 0x57, 0x35, 0x50, 0x62, 0x0d, 0x3c, + 0x75, 0x70, 0x03, 0xf5, 0xa4, 0xc2, 0xe2, 0xc4, 0xde, 0xee, 0xdc, 0x88, 0x56, 0x80, 0x75, 0x72, + 0xa8, 0x05, 0x13, 0xf4, 0xaf, 0x1f, 0x7b, 0xaa, 0x85, 0x32, 0x6b, 0xe1, 0xd9, 0xfc, 0x16, 0xb4, + 0x4a, 0x8b, 0x27, 0xf6, 0x76, 0xe7, 0x26, 0x52, 0x85, 0x38, 0x4d, 0xda, 0x7e, 0x17, 0xc6, 0x17, + 0xe2, 0xd8, 0x69, 0x6e, 0x12, 0x97, 0xcf, 0x2f, 0x7a, 0x1e, 0x2a, 0xbe, 0xb3, 0x45, 0xc4, 0xec, + 0x9f, 0x11, 0xc3, 0x5e, 0xb9, 0xee, 0x6c, 0x91, 0xfd, 0xdd, 0xb9, 0xc9, 0x9b, 0xbe, 0xf7, 0x4e, 0x47, 0xac, 0x19, 0x5a, 0x86, 0x19, 0x36, 0xba, 0x08, 0xe0, 0x92, 0x6d, 0xaf, 0x49, 0xea, 0x4e, - 0xbc, 0x29, 0x56, 0x03, 0x12, 0x75, 0xa1, 0xa6, 0x20, 0x58, 0xc3, 0xb2, 0x3f, 0x67, 0x41, 0x75, + 0xbc, 0x29, 0x56, 0x03, 0x12, 0x75, 0xa1, 0xa6, 0x20, 0x58, 0xc3, 0xb2, 0x3f, 0x6b, 0x41, 0x75, 0x61, 0x3b, 0xf0, 0xdc, 0x7a, 0xe0, 0x46, 0xa8, 0x03, 0x13, 0xed, 0x90, 0xac, 0x93, 0x50, 0x15, 0xcd, 0x58, 0x67, 0xca, 0x67, 0x47, 0x2e, 0x5e, 0xcc, 0xf9, 0x6e, 0xb3, 0xd2, 0xb2, 0x1f, 0x87, - 0x3b, 0x8b, 0x8f, 0x88, 0xa6, 0x27, 0x52, 0x50, 0x9c, 0x6e, 0xc3, 0xfe, 0x9d, 0x12, 0x9c, 0x5c, - 0x78, 0xaf, 0x13, 0x92, 0x9a, 0x17, 0xdd, 0x4b, 0x6f, 0x05, 0xd7, 0x8b, 0xee, 0xdd, 0x48, 0x06, - 0x43, 0xad, 0xc1, 0x9a, 0x28, 0xc7, 0x0a, 0x03, 0x3d, 0x0f, 0x43, 0xf4, 0xf7, 0x2d, 0xbc, 0x2a, - 0xbe, 0xfe, 0x84, 0x40, 0x1e, 0xa9, 0x39, 0xb1, 0x53, 0xe3, 0x20, 0x2c, 0x71, 0xd0, 0x75, 0x18, - 0x69, 0xb2, 0x9d, 0xbb, 0x71, 0x3d, 0x70, 0x09, 0x9b, 0xe1, 0xea, 0xe2, 0x73, 0x14, 0x7d, 0x29, - 0x29, 0xde, 0xdf, 0x9d, 0x9b, 0xe1, 0x7d, 0x13, 0x24, 0x34, 0x18, 0xd6, 0xeb, 0x23, 0x5b, 0x6d, - 0xc4, 0x0a, 0xa3, 0x04, 0x19, 0x9b, 0xf0, 0xac, 0xb6, 0xa7, 0x06, 0xd8, 0x9e, 0x1a, 0xcd, 0xde, - 0x4f, 0xe8, 0x02, 0x54, 0xee, 0x79, 0xbe, 0x3b, 0x33, 0xc8, 0x68, 0x3d, 0x4e, 0xa7, 0xff, 0xaa, - 0xe7, 0xbb, 0xfb, 0xbb, 0x73, 0x53, 0x46, 0x77, 0x68, 0x21, 0x66, 0xa8, 0xf6, 0x3f, 0xb2, 0xc4, - 0x30, 0xae, 0x78, 0x2d, 0x93, 0xa3, 0x5c, 0x04, 0x88, 0x48, 0x33, 0x24, 0xb1, 0x36, 0x90, 0x6a, - 0x65, 0x34, 0x14, 0x04, 0x6b, 0x58, 0x94, 0x5f, 0x44, 0x9b, 0x4e, 0xc8, 0x16, 0x98, 0x18, 0x4e, - 0xc5, 0x2f, 0x1a, 0x12, 0x80, 0x13, 0x1c, 0x83, 0x5f, 0x94, 0x73, 0xf9, 0xc5, 0x6f, 0x5b, 0x30, - 0xb4, 0xe8, 0xf9, 0xae, 0xe7, 0x6f, 0xa0, 0xb7, 0x61, 0x98, 0xb2, 0x73, 0xd7, 0x89, 0x1d, 0xc1, - 0x2a, 0x3e, 0x2a, 0xd7, 0x9b, 0xce, 0x5d, 0xe5, 0x8a, 0x8b, 0xe6, 0x29, 0x36, 0x5d, 0x77, 0x37, - 0xef, 0xbe, 0x43, 0x9a, 0xf1, 0x75, 0x12, 0x3b, 0xc9, 0xe7, 0x24, 0x65, 0x58, 0x51, 0x45, 0xb7, - 0x60, 0x30, 0x76, 0xc2, 0x0d, 0x12, 0x0b, 0x4e, 0x91, 0xb3, 0x8f, 0x39, 0x0d, 0x4c, 0x57, 0x29, - 0xf1, 0x9b, 0x24, 0xe1, 0xa9, 0x6b, 0x8c, 0x08, 0x16, 0xc4, 0xec, 0x26, 0x8c, 0x2e, 0x39, 0x6d, - 0xe7, 0xae, 0xd7, 0xf2, 0x62, 0x8f, 0x44, 0xe8, 0x27, 0xa0, 0xec, 0xb8, 0x2e, 0xdb, 0x33, 0xd5, - 0xc5, 0x93, 0x7b, 0xbb, 0x73, 0xe5, 0x05, 0x97, 0x4e, 0x19, 0x28, 0xac, 0x1d, 0x4c, 0x31, 0xd0, - 0xb3, 0x50, 0x71, 0xc3, 0xa0, 0x3d, 0x53, 0x62, 0x98, 0xa7, 0xe8, 0xec, 0xd6, 0xc2, 0xa0, 0x9d, - 0x42, 0x65, 0x38, 0xf6, 0x77, 0x4b, 0x80, 0x96, 0x48, 0x7b, 0x73, 0xa5, 0x61, 0xcc, 0xe9, 0x59, - 0x18, 0xde, 0x0a, 0x7c, 0x2f, 0x0e, 0xc2, 0x48, 0x34, 0xc8, 0x96, 0xd2, 0x75, 0x51, 0x86, 0x15, - 0x14, 0x9d, 0x81, 0x4a, 0x3b, 0xe1, 0x08, 0xa3, 0x92, 0x9b, 0x30, 0x5e, 0xc0, 0x20, 0x14, 0xa3, - 0x13, 0x91, 0x50, 0x6c, 0x01, 0x85, 0x71, 0x2b, 0x22, 0x21, 0x66, 0x90, 0x64, 0x05, 0xd1, 0xb5, - 0x25, 0x16, 0x78, 0x6a, 0x05, 0x51, 0x08, 0xd6, 0xb0, 0xd0, 0x5b, 0x50, 0xe5, 0xff, 0x30, 0x59, - 0x67, 0xab, 0x3d, 0x97, 0x8f, 0x5c, 0x0b, 0x9a, 0x4e, 0x2b, 0x3d, 0xf8, 0x63, 0x6c, 0xc5, 0x49, - 0x42, 0x38, 0xa1, 0x69, 0xac, 0xb8, 0xc1, 0xdc, 0x15, 0xf7, 0xb7, 0x2d, 0x40, 0x4b, 0x9e, 0xef, - 0x92, 0xf0, 0x18, 0x4e, 0xdb, 0xfe, 0x36, 0xc3, 0x9f, 0xd0, 0xae, 0x05, 0x5b, 0xed, 0xc0, 0x27, - 0x7e, 0xbc, 0x14, 0xf8, 0x2e, 0x3f, 0x81, 0x3f, 0x01, 0x95, 0x98, 0x36, 0xc5, 0xbb, 0xf5, 0xb4, - 0x9c, 0x16, 0xda, 0xc0, 0xfe, 0xee, 0xdc, 0xa9, 0xee, 0x1a, 0xac, 0x0b, 0xac, 0x0e, 0xfa, 0x38, - 0x0c, 0x46, 0xb1, 0x13, 0x77, 0x22, 0xd1, 0xd1, 0x27, 0x64, 0x47, 0x1b, 0xac, 0x74, 0x7f, 0x77, - 0x6e, 0x42, 0x55, 0xe3, 0x45, 0x58, 0x54, 0x40, 0xcf, 0xc0, 0xd0, 0x16, 0x89, 0x22, 0x67, 0x43, - 0xf2, 0xc4, 0x09, 0x51, 0x77, 0xe8, 0x3a, 0x2f, 0xc6, 0x12, 0x8e, 0x9e, 0x84, 0x01, 0x12, 0x86, - 0x41, 0x28, 0x56, 0xc4, 0x98, 0x40, 0x1c, 0x58, 0xa6, 0x85, 0x98, 0xc3, 0xec, 0xff, 0x6c, 0xc1, - 0x84, 0xea, 0x2b, 0x6f, 0xeb, 0x18, 0xb6, 0xbc, 0x0b, 0xd0, 0x94, 0x1f, 0x18, 0xb1, 0x8d, 0xa6, - 0xb5, 0x91, 0xbd, 0xfc, 0xba, 0x07, 0x34, 0x69, 0x43, 0x15, 0x45, 0x58, 0xa3, 0x6b, 0xff, 0x5b, - 0x0b, 0x4e, 0xa4, 0xbe, 0xed, 0x9a, 0x17, 0xc5, 0xe8, 0xcd, 0xae, 0xef, 0x9b, 0x2f, 0xf6, 0x7d, - 0xb4, 0x36, 0xfb, 0x3a, 0xb5, 0x5e, 0x64, 0x89, 0xf6, 0x6d, 0x18, 0x06, 0xbc, 0x98, 0x6c, 0xc9, - 0xcf, 0x7a, 0xbe, 0xe0, 0x67, 0xf1, 0xfe, 0x25, 0xb3, 0xb4, 0x4a, 0x69, 0x60, 0x4e, 0xca, 0xfe, - 0x5f, 0x16, 0x54, 0x97, 0x02, 0x7f, 0xdd, 0xdb, 0xb8, 0xee, 0xb4, 0x8f, 0x61, 0x7e, 0x1a, 0x50, - 0x61, 0xd4, 0xf9, 0x27, 0x5c, 0xc8, 0xfb, 0x04, 0xd1, 0xb1, 0x79, 0x7a, 0xee, 0x71, 0xf9, 0x42, - 0xb1, 0x29, 0x5a, 0x84, 0x19, 0xb1, 0xd9, 0x97, 0xa1, 0xaa, 0x10, 0xd0, 0x24, 0x94, 0xef, 0x11, - 0x2e, 0x7c, 0x56, 0x31, 0xfd, 0x89, 0xa6, 0x61, 0x60, 0xdb, 0x69, 0x75, 0xc4, 0xe6, 0xc5, 0xfc, - 0xcf, 0x27, 0x4a, 0x97, 0x2c, 0xfb, 0xbb, 0x6c, 0x07, 0x8a, 0x46, 0x96, 0xfd, 0x6d, 0xc1, 0x1c, - 0x3e, 0x6f, 0xc1, 0x74, 0x2b, 0x83, 0x29, 0x89, 0x31, 0x39, 0x0c, 0x3b, 0x7b, 0x4c, 0x74, 0x7b, + 0x3b, 0x8b, 0x0f, 0x89, 0xa6, 0x27, 0x52, 0x50, 0x9c, 0x6e, 0xc3, 0xfe, 0x5e, 0x09, 0x4e, 0x2e, + 0xbc, 0xdb, 0x09, 0x49, 0xcd, 0x8b, 0xee, 0xa6, 0xb7, 0x82, 0xeb, 0x45, 0x77, 0xaf, 0x27, 0x83, + 0xa1, 0xd6, 0x60, 0x4d, 0x94, 0x63, 0x85, 0x81, 0x9e, 0x85, 0x21, 0xfa, 0xfb, 0x26, 0x5e, 0x15, + 0x5f, 0x7f, 0x42, 0x20, 0x8f, 0xd4, 0x9c, 0xd8, 0xa9, 0x71, 0x10, 0x96, 0x38, 0xe8, 0x1a, 0x8c, + 0x34, 0xd9, 0xce, 0xdd, 0xb8, 0x16, 0xb8, 0x84, 0xcd, 0x70, 0x75, 0xf1, 0x19, 0x8a, 0xbe, 0x94, + 0x14, 0xef, 0xef, 0xce, 0xcd, 0xf0, 0xbe, 0x09, 0x12, 0x1a, 0x0c, 0xeb, 0xf5, 0x91, 0xad, 0x36, + 0x62, 0x85, 0x51, 0x82, 0x8c, 0x4d, 0x78, 0x56, 0xdb, 0x53, 0x03, 0x6c, 0x4f, 0x8d, 0x66, 0xef, + 0x27, 0x74, 0x01, 0x2a, 0x77, 0x3d, 0xdf, 0x9d, 0x19, 0x64, 0xb4, 0x1e, 0xa5, 0xd3, 0x7f, 0xc5, + 0xf3, 0xdd, 0xfd, 0xdd, 0xb9, 0x29, 0xa3, 0x3b, 0xb4, 0x10, 0x33, 0x54, 0xfb, 0x1f, 0x59, 0x62, + 0x18, 0x57, 0xbc, 0x96, 0xc9, 0x51, 0x2e, 0x02, 0x44, 0xa4, 0x19, 0x92, 0x58, 0x1b, 0x48, 0xb5, + 0x32, 0x1a, 0x0a, 0x82, 0x35, 0x2c, 0xca, 0x2f, 0xa2, 0x4d, 0x27, 0x64, 0x0b, 0x4c, 0x0c, 0xa7, + 0xe2, 0x17, 0x0d, 0x09, 0xc0, 0x09, 0x8e, 0xc1, 0x2f, 0xca, 0xb9, 0xfc, 0xe2, 0xf7, 0x2c, 0x18, + 0x5a, 0xf4, 0x7c, 0xd7, 0xf3, 0x37, 0xd0, 0x5b, 0x30, 0x4c, 0xd9, 0xb9, 0xeb, 0xc4, 0x8e, 0x60, + 0x15, 0x1f, 0x96, 0xeb, 0x4d, 0xe7, 0xae, 0x72, 0xc5, 0x45, 0xf3, 0x14, 0x9b, 0xae, 0xbb, 0x1b, + 0x77, 0xde, 0x26, 0xcd, 0xf8, 0x1a, 0x89, 0x9d, 0xe4, 0x73, 0x92, 0x32, 0xac, 0xa8, 0xa2, 0x9b, + 0x30, 0x18, 0x3b, 0xe1, 0x06, 0x89, 0x05, 0xa7, 0xc8, 0xd9, 0xc7, 0x9c, 0x06, 0xa6, 0xab, 0x94, + 0xf8, 0x4d, 0x92, 0xf0, 0xd4, 0x35, 0x46, 0x04, 0x0b, 0x62, 0x76, 0x13, 0x46, 0x97, 0x9c, 0xb6, + 0x73, 0xc7, 0x6b, 0x79, 0xb1, 0x47, 0x22, 0xf4, 0x73, 0x50, 0x76, 0x5c, 0x97, 0xed, 0x99, 0xea, + 0xe2, 0xc9, 0xbd, 0xdd, 0xb9, 0xf2, 0x82, 0x4b, 0xa7, 0x0c, 0x14, 0xd6, 0x0e, 0xa6, 0x18, 0xe8, + 0x69, 0xa8, 0xb8, 0x61, 0xd0, 0x9e, 0x29, 0x31, 0xcc, 0x53, 0x74, 0x76, 0x6b, 0x61, 0xd0, 0x4e, + 0xa1, 0x32, 0x1c, 0xfb, 0xfb, 0x25, 0x40, 0x4b, 0xa4, 0xbd, 0xb9, 0xd2, 0x30, 0xe6, 0xf4, 0x2c, + 0x0c, 0x6f, 0x05, 0xbe, 0x17, 0x07, 0x61, 0x24, 0x1a, 0x64, 0x4b, 0xe9, 0x9a, 0x28, 0xc3, 0x0a, + 0x8a, 0xce, 0x40, 0xa5, 0x9d, 0x70, 0x84, 0x51, 0xc9, 0x4d, 0x18, 0x2f, 0x60, 0x10, 0x8a, 0xd1, + 0x89, 0x48, 0x28, 0xb6, 0x80, 0xc2, 0xb8, 0x19, 0x91, 0x10, 0x33, 0x48, 0xb2, 0x82, 0xe8, 0xda, + 0x12, 0x0b, 0x3c, 0xb5, 0x82, 0x28, 0x04, 0x6b, 0x58, 0xe8, 0x4d, 0xa8, 0xf2, 0x7f, 0x98, 0xac, + 0xb3, 0xd5, 0x9e, 0xcb, 0x47, 0xae, 0x06, 0x4d, 0xa7, 0x95, 0x1e, 0xfc, 0x31, 0xb6, 0xe2, 0x24, + 0x21, 0x9c, 0xd0, 0x34, 0x56, 0xdc, 0x60, 0xee, 0x8a, 0xfb, 0xdb, 0x16, 0xa0, 0x25, 0xcf, 0x77, + 0x49, 0x78, 0x0c, 0xa7, 0x6d, 0x7f, 0x9b, 0xe1, 0x4f, 0x68, 0xd7, 0x82, 0xad, 0x76, 0xe0, 0x13, + 0x3f, 0x5e, 0x0a, 0x7c, 0x97, 0x9f, 0xc0, 0x1f, 0x83, 0x4a, 0x4c, 0x9b, 0xe2, 0xdd, 0x7a, 0x52, + 0x4e, 0x0b, 0x6d, 0x60, 0x7f, 0x77, 0xee, 0x54, 0x77, 0x0d, 0xd6, 0x05, 0x56, 0x07, 0x7d, 0x14, + 0x06, 0xa3, 0xd8, 0x89, 0x3b, 0x91, 0xe8, 0xe8, 0x63, 0xb2, 0xa3, 0x0d, 0x56, 0xba, 0xbf, 0x3b, + 0x37, 0xa1, 0xaa, 0xf1, 0x22, 0x2c, 0x2a, 0xa0, 0xa7, 0x60, 0x68, 0x8b, 0x44, 0x91, 0xb3, 0x21, + 0x79, 0xe2, 0x84, 0xa8, 0x3b, 0x74, 0x8d, 0x17, 0x63, 0x09, 0x47, 0x8f, 0xc3, 0x00, 0x09, 0xc3, + 0x20, 0x14, 0x2b, 0x62, 0x4c, 0x20, 0x0e, 0x2c, 0xd3, 0x42, 0xcc, 0x61, 0xf6, 0x7f, 0xb1, 0x60, + 0x42, 0xf5, 0x95, 0xb7, 0x75, 0x0c, 0x5b, 0xde, 0x05, 0x68, 0xca, 0x0f, 0x8c, 0xd8, 0x46, 0xd3, + 0xda, 0xc8, 0x5e, 0x7e, 0xdd, 0x03, 0x9a, 0xb4, 0xa1, 0x8a, 0x22, 0xac, 0xd1, 0xb5, 0xff, 0xad, + 0x05, 0x27, 0x52, 0xdf, 0x76, 0xd5, 0x8b, 0x62, 0xf4, 0x46, 0xd7, 0xf7, 0xcd, 0x17, 0xfb, 0x3e, + 0x5a, 0x9b, 0x7d, 0x9d, 0x5a, 0x2f, 0xb2, 0x44, 0xfb, 0x36, 0x0c, 0x03, 0x5e, 0x4c, 0xb6, 0xe4, + 0x67, 0x3d, 0x5b, 0xf0, 0xb3, 0x78, 0xff, 0x92, 0x59, 0x5a, 0xa5, 0x34, 0x30, 0x27, 0x65, 0xff, + 0x2f, 0x0b, 0xaa, 0x4b, 0x81, 0xbf, 0xee, 0x6d, 0x5c, 0x73, 0xda, 0xc7, 0x30, 0x3f, 0x0d, 0xa8, + 0x30, 0xea, 0xfc, 0x13, 0x2e, 0xe4, 0x7d, 0x82, 0xe8, 0xd8, 0x3c, 0x3d, 0xf7, 0xb8, 0x7c, 0xa1, + 0xd8, 0x14, 0x2d, 0xc2, 0x8c, 0xd8, 0xec, 0x8b, 0x50, 0x55, 0x08, 0x68, 0x12, 0xca, 0x77, 0x09, + 0x17, 0x3e, 0xab, 0x98, 0xfe, 0x44, 0xd3, 0x30, 0xb0, 0xed, 0xb4, 0x3a, 0x62, 0xf3, 0x62, 0xfe, + 0xe7, 0x63, 0xa5, 0x97, 0x2c, 0xfb, 0xfb, 0x6c, 0x07, 0x8a, 0x46, 0x96, 0xfd, 0x6d, 0xc1, 0x1c, + 0x3e, 0x67, 0xc1, 0x74, 0x2b, 0x83, 0x29, 0x89, 0x31, 0x39, 0x0c, 0x3b, 0x7b, 0x44, 0x74, 0x7b, 0x3a, 0x0b, 0x8a, 0x33, 0x5b, 0xa3, 0xbc, 0x3e, 0x68, 0xd3, 0x05, 0xe7, 0xb4, 0x58, 0xd7, 0x85, - 0xd8, 0x70, 0x53, 0x94, 0x61, 0x05, 0xb5, 0xff, 0xc2, 0x82, 0x69, 0xf5, 0x1d, 0x57, 0xc9, 0x4e, - 0x83, 0xb4, 0x48, 0x33, 0x0e, 0xc2, 0x0f, 0xca, 0x97, 0x3c, 0xce, 0xe7, 0x84, 0xf3, 0xa4, 0x11, - 0x41, 0xa0, 0x7c, 0x95, 0xec, 0xf0, 0x09, 0xd2, 0x3f, 0xb4, 0x7c, 0xe0, 0x87, 0xfe, 0xa6, 0x05, - 0x63, 0xea, 0x43, 0x8f, 0x61, 0xcb, 0x5d, 0x33, 0xb7, 0xdc, 0x4f, 0x14, 0x5c, 0xaf, 0x3d, 0x36, - 0xdb, 0xdf, 0x2a, 0x51, 0xb6, 0x21, 0x70, 0xea, 0x61, 0x40, 0x07, 0x89, 0x72, 0xfc, 0x0f, 0xc8, - 0x2c, 0xf5, 0xf7, 0xb1, 0x57, 0xc9, 0xce, 0x5a, 0x40, 0xa5, 0x89, 0xec, 0x8f, 0x35, 0x26, 0xb5, - 0x72, 0xe0, 0xa4, 0xfe, 0x5e, 0x09, 0x4e, 0xaa, 0x61, 0x31, 0x4e, 0xe9, 0x1f, 0xcb, 0x81, 0xb9, + 0xd8, 0x70, 0x43, 0x94, 0x61, 0x05, 0xb5, 0xff, 0xc2, 0x82, 0x69, 0xf5, 0x1d, 0x57, 0xc8, 0x4e, + 0x83, 0xb4, 0x48, 0x33, 0x0e, 0xc2, 0xf7, 0xcb, 0x97, 0x3c, 0xca, 0xe7, 0x84, 0xf3, 0xa4, 0x11, + 0x41, 0xa0, 0x7c, 0x85, 0xec, 0xf0, 0x09, 0xd2, 0x3f, 0xb4, 0x7c, 0xe0, 0x87, 0xfe, 0x8e, 0x05, + 0x63, 0xea, 0x43, 0x8f, 0x61, 0xcb, 0x5d, 0x35, 0xb7, 0xdc, 0xcf, 0x15, 0x5c, 0xaf, 0x3d, 0x36, + 0xdb, 0xdf, 0x2a, 0x51, 0xb6, 0x21, 0x70, 0xea, 0x61, 0x40, 0x07, 0x89, 0x72, 0xfc, 0xf7, 0xc9, + 0x2c, 0xf5, 0xf7, 0xb1, 0x57, 0xc8, 0xce, 0x5a, 0x40, 0xa5, 0x89, 0xec, 0x8f, 0x35, 0x26, 0xb5, + 0x72, 0xe0, 0xa4, 0xfe, 0x41, 0x09, 0x4e, 0xaa, 0x61, 0x31, 0x4e, 0xe9, 0x9f, 0xc9, 0x81, 0xb9, 0x00, 0x23, 0x2e, 0x59, 0x77, 0x3a, 0xad, 0x58, 0x29, 0x20, 0x03, 0x5c, 0x33, 0xad, 0x25, 0xc5, - 0x58, 0xc7, 0xe9, 0x63, 0x2c, 0xbf, 0x32, 0xc2, 0xf8, 0x79, 0xec, 0xd0, 0x55, 0x4f, 0x25, 0x3c, - 0x4d, 0xa3, 0x1c, 0xd5, 0x35, 0x4a, 0xa1, 0x3d, 0x3e, 0x09, 0x03, 0xde, 0x16, 0x3d, 0xf3, 0x4b, - 0xe6, 0x51, 0xbe, 0x4a, 0x0b, 0x31, 0x87, 0xa1, 0xa7, 0x60, 0xa8, 0x19, 0x6c, 0x6d, 0x39, 0xbe, - 0x3b, 0x53, 0x66, 0x32, 0xe7, 0x08, 0x15, 0x0b, 0x96, 0x78, 0x11, 0x96, 0x30, 0xf4, 0x18, 0x54, + 0x58, 0xc7, 0xe9, 0x63, 0x2c, 0xbf, 0x3a, 0xc2, 0xf8, 0x79, 0xec, 0xd0, 0x55, 0x4f, 0x25, 0x3c, + 0x4d, 0xa3, 0x1c, 0xd5, 0x35, 0x4a, 0xa1, 0x3d, 0x3e, 0x0e, 0x03, 0xde, 0x16, 0x3d, 0xf3, 0x4b, + 0xe6, 0x51, 0xbe, 0x4a, 0x0b, 0x31, 0x87, 0xa1, 0x27, 0x60, 0xa8, 0x19, 0x6c, 0x6d, 0x39, 0xbe, + 0x3b, 0x53, 0x66, 0x32, 0xe7, 0x08, 0x15, 0x0b, 0x96, 0x78, 0x11, 0x96, 0x30, 0xf4, 0x08, 0x54, 0x9c, 0x70, 0x23, 0x9a, 0xa9, 0x30, 0x9c, 0x61, 0xda, 0xd2, 0x42, 0xb8, 0x11, 0x61, 0x56, 0x4a, - 0x65, 0xc9, 0xfb, 0x41, 0x78, 0xcf, 0xf3, 0x37, 0x6a, 0x5e, 0xc8, 0x04, 0x43, 0x4d, 0x96, 0xbc, - 0xa3, 0x20, 0x58, 0xc3, 0x42, 0x75, 0x18, 0x68, 0x07, 0x61, 0x1c, 0xcd, 0x0c, 0xb2, 0x81, 0x7f, - 0x2e, 0x77, 0xfb, 0xf1, 0xef, 0xae, 0x07, 0x61, 0x9c, 0x7c, 0x0a, 0xfd, 0x17, 0x61, 0x4e, 0x08, - 0x2d, 0x41, 0x99, 0xf8, 0xdb, 0x33, 0x43, 0x8c, 0xde, 0x47, 0x0e, 0xa6, 0xb7, 0xec, 0x6f, 0xdf, - 0x76, 0xc2, 0x84, 0x5f, 0x2d, 0xfb, 0xdb, 0x98, 0xd6, 0x46, 0x4d, 0xa8, 0x4a, 0xfb, 0x55, 0x34, - 0x33, 0x5c, 0x64, 0x29, 0x62, 0x81, 0x8e, 0xc9, 0xbb, 0x1d, 0x2f, 0x24, 0x5b, 0xc4, 0x8f, 0xa3, - 0x44, 0xb1, 0x92, 0xd0, 0x08, 0x27, 0x74, 0x51, 0x13, 0x46, 0xb9, 0xfc, 0x79, 0x3d, 0xe8, 0xf8, - 0x71, 0x34, 0x53, 0x65, 0x5d, 0xce, 0x31, 0x76, 0xdc, 0x4e, 0x6a, 0x2c, 0x4e, 0x0b, 0xf2, 0xa3, - 0x5a, 0x61, 0x84, 0x0d, 0xa2, 0xe8, 0x4d, 0x18, 0x6b, 0x79, 0xdb, 0xc4, 0x27, 0x51, 0x54, 0x0f, - 0x83, 0xbb, 0x64, 0x06, 0xd8, 0xd7, 0x3c, 0x99, 0xa7, 0xf8, 0x07, 0x77, 0xc9, 0xe2, 0xd4, 0xde, - 0xee, 0xdc, 0xd8, 0x35, 0xbd, 0x36, 0x36, 0x89, 0xa1, 0xb7, 0x60, 0x9c, 0x0a, 0xbb, 0x5e, 0x42, + 0x65, 0xc9, 0x7b, 0x41, 0x78, 0xd7, 0xf3, 0x37, 0x6a, 0x5e, 0xc8, 0x04, 0x43, 0x4d, 0x96, 0xbc, + 0xad, 0x20, 0x58, 0xc3, 0x42, 0x75, 0x18, 0x68, 0x07, 0x61, 0x1c, 0xcd, 0x0c, 0xb2, 0x81, 0x7f, + 0x26, 0x77, 0xfb, 0xf1, 0xef, 0xae, 0x07, 0x61, 0x9c, 0x7c, 0x0a, 0xfd, 0x17, 0x61, 0x4e, 0x08, + 0x2d, 0x41, 0x99, 0xf8, 0xdb, 0x33, 0x43, 0x8c, 0xde, 0x87, 0x0e, 0xa6, 0xb7, 0xec, 0x6f, 0xdf, + 0x72, 0xc2, 0x84, 0x5f, 0x2d, 0xfb, 0xdb, 0x98, 0xd6, 0x46, 0x4d, 0xa8, 0x4a, 0xfb, 0x55, 0x34, + 0x33, 0x5c, 0x64, 0x29, 0x62, 0x81, 0x8e, 0xc9, 0x3b, 0x1d, 0x2f, 0x24, 0x5b, 0xc4, 0x8f, 0xa3, + 0x44, 0xb1, 0x92, 0xd0, 0x08, 0x27, 0x74, 0x51, 0x13, 0x46, 0xb9, 0xfc, 0x79, 0x2d, 0xe8, 0xf8, + 0x71, 0x34, 0x53, 0x65, 0x5d, 0xce, 0x31, 0x76, 0xdc, 0x4a, 0x6a, 0x2c, 0x4e, 0x0b, 0xf2, 0xa3, + 0x5a, 0x61, 0x84, 0x0d, 0xa2, 0xe8, 0x0d, 0x18, 0x6b, 0x79, 0xdb, 0xc4, 0x27, 0x51, 0x54, 0x0f, + 0x83, 0x3b, 0x64, 0x06, 0xd8, 0xd7, 0x3c, 0x9e, 0xa7, 0xf8, 0x07, 0x77, 0xc8, 0xe2, 0xd4, 0xde, + 0xee, 0xdc, 0xd8, 0x55, 0xbd, 0x36, 0x36, 0x89, 0xa1, 0x37, 0x61, 0x9c, 0x0a, 0xbb, 0x5e, 0x42, 0x7e, 0xa4, 0x38, 0x79, 0xb4, 0xb7, 0x3b, 0x37, 0x8e, 0x8d, 0xea, 0x38, 0x45, 0x0e, 0xad, 0x41, - 0xb5, 0xe5, 0xad, 0x93, 0xe6, 0x4e, 0xb3, 0x45, 0x66, 0x46, 0x19, 0xed, 0x9c, 0xcd, 0x79, 0x4d, - 0xa2, 0x73, 0x05, 0x43, 0xfd, 0xc5, 0x09, 0x21, 0x74, 0x1b, 0x4e, 0xc5, 0x24, 0xdc, 0xf2, 0x7c, + 0xb5, 0xe5, 0xad, 0x93, 0xe6, 0x4e, 0xb3, 0x45, 0x66, 0x46, 0x19, 0xed, 0x9c, 0xcd, 0x79, 0x55, + 0xa2, 0x73, 0x05, 0x43, 0xfd, 0xc5, 0x09, 0x21, 0x74, 0x0b, 0x4e, 0xc5, 0x24, 0xdc, 0xf2, 0x7c, 0x87, 0x6e, 0x2a, 0x21, 0xfd, 0x32, 0xeb, 0xca, 0x18, 0x5b, 0xb5, 0xa7, 0xc5, 0xc0, 0x9e, 0x5a, - 0xcb, 0xc4, 0xc2, 0x3d, 0x6a, 0xa3, 0x9b, 0x30, 0xc1, 0xf6, 0x53, 0xbd, 0xd3, 0x6a, 0xd5, 0x83, - 0x96, 0xd7, 0xdc, 0x99, 0x19, 0x67, 0x04, 0x9f, 0x92, 0x36, 0x93, 0x55, 0x13, 0x4c, 0x15, 0xc3, + 0xcb, 0xc4, 0xc2, 0x3d, 0x6a, 0xa3, 0x1b, 0x30, 0xc1, 0xf6, 0x53, 0xbd, 0xd3, 0x6a, 0xd5, 0x83, + 0x96, 0xd7, 0xdc, 0x99, 0x19, 0x67, 0x04, 0x9f, 0x90, 0x36, 0x93, 0x55, 0x13, 0x4c, 0x15, 0xc3, 0xe4, 0x1f, 0x4e, 0xd7, 0x46, 0x2d, 0x98, 0x88, 0x48, 0xb3, 0x13, 0x7a, 0xf1, 0x0e, 0x5d, 0xfb, - 0xe4, 0x41, 0x3c, 0x33, 0x51, 0x44, 0xd1, 0x6d, 0x98, 0x95, 0xb8, 0xc1, 0x2a, 0x55, 0x88, 0xd3, + 0xe4, 0x7e, 0x3c, 0x33, 0x51, 0x44, 0xd1, 0x6d, 0x98, 0x95, 0xb8, 0xc1, 0x2a, 0x55, 0x88, 0xd3, 0xa4, 0x29, 0xab, 0x88, 0x62, 0xd7, 0xf3, 0x67, 0x26, 0x19, 0x07, 0x52, 0xfb, 0xab, 0x41, 0x0b, - 0x31, 0x87, 0x31, 0xfb, 0x01, 0xfd, 0x71, 0x93, 0x72, 0xe9, 0x29, 0x86, 0x98, 0xd8, 0x0f, 0x24, + 0x31, 0x87, 0x31, 0xfb, 0x01, 0xfd, 0x71, 0x83, 0x72, 0xe9, 0x29, 0x86, 0x98, 0xd8, 0x0f, 0x24, 0x00, 0x27, 0x38, 0x54, 0x34, 0x88, 0xe3, 0x9d, 0x19, 0xc4, 0x50, 0xd5, 0x56, 0x5b, 0x5b, 0xfb, - 0x34, 0xa6, 0xe5, 0xe8, 0x36, 0x0c, 0x11, 0x7f, 0x7b, 0x25, 0x0c, 0xb6, 0x66, 0x4e, 0x14, 0xe1, - 0x01, 0xcb, 0x1c, 0x99, 0x9f, 0x1f, 0x89, 0x0a, 0x23, 0x8a, 0xb1, 0x24, 0x86, 0x1e, 0xc0, 0x4c, - 0xc6, 0x2c, 0xf1, 0x49, 0x99, 0x66, 0x93, 0xf2, 0x49, 0x51, 0x77, 0x66, 0xad, 0x07, 0xde, 0xfe, - 0x01, 0x30, 0xdc, 0x93, 0xba, 0x7d, 0x17, 0xc6, 0x15, 0xa3, 0x62, 0xf3, 0x8d, 0xe6, 0x60, 0x80, + 0x24, 0xa6, 0xe5, 0xe8, 0x16, 0x0c, 0x11, 0x7f, 0x7b, 0x25, 0x0c, 0xb6, 0x66, 0x4e, 0x14, 0xe1, + 0x01, 0xcb, 0x1c, 0x99, 0x9f, 0x1f, 0x89, 0x0a, 0x23, 0x8a, 0xb1, 0x24, 0x86, 0xee, 0xc3, 0x4c, + 0xc6, 0x2c, 0xf1, 0x49, 0x99, 0x66, 0x93, 0xf2, 0x71, 0x51, 0x77, 0x66, 0xad, 0x07, 0xde, 0xfe, + 0x01, 0x30, 0xdc, 0x93, 0xba, 0x7d, 0x07, 0xc6, 0x15, 0xa3, 0x62, 0xf3, 0x8d, 0xe6, 0x60, 0x80, 0xf2, 0x62, 0xa9, 0xd0, 0x57, 0xe9, 0xa0, 0x52, 0x16, 0x1d, 0x61, 0x5e, 0xce, 0x06, 0xd5, 0x7b, - 0x8f, 0x2c, 0xee, 0xc4, 0x84, 0x2b, 0x76, 0x65, 0x6d, 0x50, 0x25, 0x00, 0x27, 0x38, 0xf6, 0xff, + 0x97, 0x2c, 0xee, 0xc4, 0x84, 0x2b, 0x76, 0x65, 0x6d, 0x50, 0x25, 0x00, 0x27, 0x38, 0xf6, 0xff, 0xe5, 0x62, 0x52, 0xc2, 0x0d, 0x0b, 0x9c, 0x04, 0xe7, 0x60, 0x78, 0x33, 0x88, 0x62, 0x8a, 0xcd, - 0xda, 0x18, 0x48, 0x04, 0xa3, 0x2b, 0xa2, 0x1c, 0x2b, 0x0c, 0xf4, 0x0a, 0x8c, 0x35, 0xf5, 0x06, - 0xc4, 0x31, 0x76, 0x52, 0x54, 0x31, 0x5b, 0xc7, 0x26, 0x2e, 0xba, 0x04, 0xc3, 0xcc, 0x30, 0xde, - 0x0c, 0x5a, 0x42, 0x85, 0x94, 0xa7, 0xf2, 0x70, 0x5d, 0x94, 0xef, 0x6b, 0xbf, 0xb1, 0xc2, 0xa6, - 0x8a, 0x38, 0xed, 0xc2, 0x6a, 0x5d, 0x1c, 0x20, 0x4a, 0x11, 0xbf, 0xc2, 0x4a, 0xb1, 0x80, 0xda, - 0xbf, 0x5e, 0xd2, 0x46, 0x99, 0x2a, 0x40, 0x04, 0xbd, 0x01, 0x43, 0xf7, 0x1d, 0x2f, 0xf6, 0xfc, - 0x0d, 0x21, 0x3d, 0xbc, 0x50, 0xf0, 0x34, 0x61, 0xd5, 0xef, 0xf0, 0xaa, 0xfc, 0xe4, 0x13, 0x7f, - 0xb0, 0x24, 0x48, 0x69, 0x87, 0x1d, 0xdf, 0xa7, 0xb4, 0x4b, 0xfd, 0xd3, 0xc6, 0xbc, 0x2a, 0xa7, - 0x2d, 0xfe, 0x60, 0x49, 0x10, 0xad, 0x03, 0xc8, 0xb5, 0x44, 0x5c, 0x61, 0x90, 0xfe, 0x58, 0x3f, - 0xe4, 0xd7, 0x54, 0xed, 0xc5, 0x71, 0x7a, 0xd6, 0x26, 0xff, 0xb1, 0x46, 0xd9, 0x8e, 0x99, 0x10, - 0xd6, 0xdd, 0x2d, 0xf4, 0x19, 0xba, 0xa5, 0x9d, 0x30, 0x26, 0xee, 0x42, 0x9c, 0xb6, 0xe9, 0x1f, - 0x2c, 0x62, 0xaf, 0x79, 0x5b, 0x44, 0xdf, 0xfe, 0x82, 0x08, 0x4e, 0xe8, 0xd9, 0xdf, 0x2a, 0xc3, - 0x4c, 0xaf, 0xee, 0xd2, 0x25, 0x49, 0x1e, 0x78, 0xf1, 0x12, 0x15, 0x93, 0x2c, 0x73, 0x49, 0x2e, - 0x8b, 0x72, 0xac, 0x30, 0xe8, 0xda, 0x88, 0xbc, 0x0d, 0xa9, 0x2c, 0x0d, 0x24, 0x6b, 0xa3, 0xc1, - 0x4a, 0xb1, 0x80, 0x52, 0xbc, 0x90, 0x38, 0x91, 0xb8, 0x0f, 0xd1, 0xd6, 0x10, 0x66, 0xa5, 0x58, - 0x40, 0x75, 0x83, 0x48, 0x25, 0xc7, 0x20, 0x62, 0x0c, 0xd1, 0xc0, 0xc3, 0x1d, 0x22, 0xf4, 0x59, - 0x80, 0x75, 0xcf, 0xf7, 0xa2, 0x4d, 0x46, 0x7d, 0xb0, 0x6f, 0xea, 0x4a, 0xc8, 0x5a, 0x51, 0x54, - 0xb0, 0x46, 0x11, 0xbd, 0x04, 0x23, 0x6a, 0x7b, 0xae, 0xd6, 0x66, 0x86, 0x4c, 0x1b, 0x7a, 0xc2, - 0xab, 0x6a, 0x58, 0xc7, 0xb3, 0xdf, 0x49, 0xaf, 0x17, 0xb1, 0x2b, 0xb4, 0xf1, 0xb5, 0x8a, 0x8e, - 0x6f, 0xe9, 0xe0, 0xf1, 0xb5, 0xff, 0xa8, 0x0c, 0x13, 0x46, 0x63, 0x9d, 0xa8, 0x00, 0x47, 0x7b, - 0x8d, 0x1e, 0x58, 0x4e, 0x4c, 0xc4, 0x9e, 0x3c, 0xd7, 0xcf, 0xa6, 0xd1, 0x8f, 0x37, 0xba, 0x17, - 0x38, 0x25, 0xb4, 0x09, 0xd5, 0x96, 0x13, 0x31, 0x93, 0x0a, 0x11, 0x7b, 0xb1, 0x3f, 0xb2, 0x89, - 0xfa, 0xe1, 0x44, 0xb1, 0x76, 0x7a, 0xf0, 0x56, 0x12, 0xe2, 0xf4, 0xb4, 0xa5, 0xc2, 0x8e, 0xbc, - 0x84, 0x53, 0xdd, 0xa1, 0x12, 0xd1, 0x0e, 0xe6, 0x30, 0x74, 0x09, 0x46, 0x43, 0xc2, 0x56, 0xca, - 0x12, 0x95, 0xe7, 0xd8, 0xd2, 0x1b, 0x48, 0x04, 0x3f, 0xac, 0xc1, 0xb0, 0x81, 0x99, 0xc8, 0xfd, - 0x83, 0x07, 0xc8, 0xfd, 0xcf, 0xc0, 0x10, 0xfb, 0xa1, 0x56, 0x85, 0x9a, 0xa1, 0x55, 0x5e, 0x8c, - 0x25, 0x3c, 0xbd, 0x88, 0x86, 0x0b, 0x2e, 0xa2, 0x67, 0x61, 0xbc, 0xe6, 0x90, 0xad, 0xc0, 0x5f, - 0xf6, 0xdd, 0x76, 0xe0, 0xf9, 0x31, 0x9a, 0x81, 0x0a, 0x3b, 0x4f, 0xf8, 0x7e, 0xaf, 0x50, 0x0a, - 0xb8, 0x42, 0x65, 0x77, 0xfb, 0x4f, 0x4a, 0x30, 0x56, 0x23, 0x2d, 0x12, 0x13, 0xae, 0xf7, 0x44, - 0x68, 0x05, 0xd0, 0x46, 0xe8, 0x34, 0x49, 0x9d, 0x84, 0x5e, 0xe0, 0x36, 0x48, 0x33, 0xf0, 0xd9, - 0xdd, 0x15, 0x3d, 0x20, 0x4f, 0xed, 0xed, 0xce, 0xa1, 0xcb, 0x5d, 0x50, 0x9c, 0x51, 0x03, 0xb9, - 0x30, 0xd6, 0x0e, 0x89, 0x61, 0x37, 0xb4, 0xf2, 0x45, 0x8d, 0xba, 0x5e, 0x85, 0x4b, 0xc3, 0x46, - 0x11, 0x36, 0x89, 0xa2, 0x4f, 0xc1, 0x64, 0x10, 0xb6, 0x37, 0x1d, 0xbf, 0x46, 0xda, 0xc4, 0x77, - 0xa9, 0x0a, 0x20, 0xac, 0x1d, 0xd3, 0x7b, 0xbb, 0x73, 0x93, 0x37, 0x53, 0x30, 0xdc, 0x85, 0x8d, - 0xde, 0x80, 0xa9, 0x76, 0x18, 0xb4, 0x9d, 0x0d, 0xb6, 0x64, 0x84, 0xb4, 0xc2, 0x79, 0xd3, 0xb9, - 0xbd, 0xdd, 0xb9, 0xa9, 0x7a, 0x1a, 0xb8, 0xbf, 0x3b, 0x77, 0x82, 0x0d, 0x19, 0x2d, 0x49, 0x80, - 0xb8, 0x9b, 0x8c, 0xfd, 0x2e, 0x9c, 0xac, 0x05, 0xf7, 0xfd, 0xfb, 0x4e, 0xe8, 0x2e, 0xd4, 0x57, - 0x35, 0xe3, 0xc4, 0xeb, 0x52, 0xf9, 0xe5, 0x77, 0x82, 0x39, 0x27, 0x9b, 0x46, 0x83, 0xab, 0x1d, - 0x2b, 0x5e, 0x8b, 0xf4, 0x30, 0x87, 0xfc, 0xe3, 0x92, 0xd1, 0x66, 0x82, 0xaf, 0xee, 0x2e, 0xac, - 0x9e, 0x77, 0x17, 0x9f, 0x81, 0xe1, 0x75, 0x8f, 0xb4, 0x5c, 0x4c, 0xd6, 0xc5, 0x6c, 0x5d, 0x28, - 0x72, 0xb9, 0xb3, 0x42, 0xeb, 0x48, 0xeb, 0x18, 0x57, 0xa2, 0x57, 0x04, 0x19, 0xac, 0x08, 0xa2, - 0x0e, 0x4c, 0x4a, 0x3d, 0x4c, 0x42, 0xc5, 0x66, 0x7f, 0xa1, 0x98, 0x9a, 0x67, 0x36, 0xc3, 0xa6, - 0x17, 0xa7, 0x08, 0xe2, 0xae, 0x26, 0xa8, 0xfe, 0xbc, 0x45, 0x8f, 0xba, 0x0a, 0x5b, 0xfa, 0x4c, - 0x7f, 0x66, 0xa6, 0x00, 0x56, 0x6a, 0xff, 0x9a, 0x05, 0x8f, 0x74, 0x8d, 0x96, 0xb0, 0x93, 0x1c, - 0xd9, 0x1c, 0xa5, 0x8d, 0x15, 0xa5, 0x7c, 0x63, 0x85, 0xfd, 0xeb, 0x16, 0x4c, 0x2f, 0x6f, 0xb5, - 0xe3, 0x9d, 0x9a, 0x67, 0xde, 0xb9, 0xbc, 0x0c, 0x83, 0x5b, 0xc4, 0xf5, 0x3a, 0x5b, 0x62, 0x5e, - 0xe7, 0xe4, 0xc1, 0x70, 0x9d, 0x95, 0xee, 0xef, 0xce, 0x8d, 0x35, 0xe2, 0x20, 0x74, 0x36, 0x08, - 0x2f, 0xc0, 0x02, 0x9d, 0x5d, 0x29, 0x79, 0xef, 0x91, 0x6b, 0xde, 0x96, 0x27, 0xaf, 0xf2, 0x0e, - 0x34, 0xf2, 0xcd, 0xcb, 0xa1, 0x9d, 0x7f, 0xad, 0xe3, 0xf8, 0xb1, 0x17, 0xef, 0x98, 0xf2, 0x32, - 0x23, 0x84, 0x13, 0x9a, 0xf6, 0x0f, 0x2c, 0x98, 0x90, 0x1c, 0x68, 0xc1, 0x75, 0x43, 0x12, 0x45, - 0x68, 0x16, 0x4a, 0x5e, 0x5b, 0xf4, 0x14, 0x44, 0xed, 0xd2, 0x6a, 0x1d, 0x97, 0xbc, 0x36, 0x7a, - 0x03, 0xaa, 0xfc, 0x2e, 0x30, 0x59, 0x7e, 0x7d, 0xde, 0x2d, 0x32, 0xed, 0x73, 0x4d, 0xd2, 0xc0, - 0x09, 0x39, 0x29, 0x87, 0xb3, 0xb3, 0xad, 0x6c, 0xde, 0x4c, 0x5d, 0x11, 0xe5, 0x58, 0x61, 0xa0, - 0xb3, 0x30, 0xec, 0x07, 0x2e, 0xbf, 0xae, 0xe5, 0x9c, 0x80, 0x2d, 0xea, 0x1b, 0xa2, 0x0c, 0x2b, - 0xa8, 0xfd, 0x45, 0x0b, 0x46, 0xe5, 0x37, 0x16, 0x54, 0x09, 0xe8, 0x36, 0x4c, 0xd4, 0x81, 0x64, - 0x1b, 0x52, 0x91, 0x9e, 0x41, 0x0c, 0x49, 0xbe, 0xdc, 0x8f, 0x24, 0x6f, 0xff, 0x46, 0x09, 0xc6, - 0x65, 0x77, 0x1a, 0x9d, 0xbb, 0x11, 0xa1, 0x82, 0x4e, 0xd5, 0xe1, 0x83, 0x4f, 0xe4, 0x4a, 0x7e, - 0x3e, 0x4f, 0xdb, 0x33, 0xe6, 0x2c, 0x99, 0xe5, 0x05, 0x49, 0x07, 0x27, 0x24, 0xd1, 0x36, 0x4c, - 0xf9, 0x41, 0xcc, 0x0e, 0x50, 0x05, 0x2f, 0x76, 0x97, 0x92, 0x6e, 0xe7, 0x51, 0xd1, 0xce, 0xd4, - 0x8d, 0x34, 0x3d, 0xdc, 0xdd, 0x04, 0xba, 0x29, 0xad, 0x58, 0x65, 0xd6, 0xd6, 0xb3, 0xc5, 0xda, - 0xea, 0x6d, 0xc4, 0xb2, 0x7f, 0xd7, 0x82, 0xaa, 0x44, 0x3b, 0x8e, 0x4b, 0xb5, 0x3b, 0x30, 0x14, - 0xb1, 0x29, 0x92, 0xc3, 0x75, 0xae, 0xd8, 0x27, 0xf0, 0x79, 0x4d, 0xa4, 0x06, 0xfe, 0x3f, 0xc2, - 0x92, 0x1a, 0x33, 0xe7, 0xab, 0x0f, 0xf9, 0xc0, 0x99, 0xf3, 0x55, 0xcf, 0x7a, 0xdf, 0x9d, 0x8d, - 0x19, 0xf6, 0x06, 0x2a, 0xfa, 0xb6, 0x43, 0xb2, 0xee, 0x3d, 0x48, 0x8b, 0xbe, 0x75, 0x56, 0x8a, - 0x05, 0x14, 0xad, 0xc3, 0x68, 0x53, 0x1a, 0xbc, 0x13, 0x16, 0xf2, 0xd1, 0x82, 0xb7, 0x0b, 0xea, - 0xa2, 0x8a, 0xfb, 0x4b, 0x2d, 0x69, 0x94, 0xb0, 0x41, 0x97, 0xf2, 0xa9, 0xe4, 0x2e, 0xbe, 0x5c, - 0xd0, 0x34, 0x14, 0x92, 0x38, 0x69, 0xa1, 0xe7, 0x35, 0xbc, 0xfd, 0x55, 0x0b, 0x06, 0xb9, 0x85, - 0xb4, 0x98, 0x99, 0x59, 0xbb, 0x82, 0x4b, 0xc6, 0xf3, 0x36, 0x2d, 0x14, 0x37, 0x72, 0xe8, 0x0e, - 0x54, 0xd9, 0x0f, 0x66, 0xed, 0x29, 0x17, 0x71, 0x1e, 0xe3, 0xed, 0xeb, 0x5d, 0xbd, 0x2d, 0x09, - 0xe0, 0x84, 0x96, 0xfd, 0x9d, 0x32, 0x65, 0x7d, 0x09, 0xaa, 0x21, 0x3d, 0x58, 0xc7, 0x21, 0x3d, - 0x94, 0x8e, 0x5e, 0x7a, 0x78, 0x17, 0x26, 0x9a, 0xda, 0x15, 0x60, 0x32, 0xe3, 0x17, 0x0b, 0x2e, - 0x2b, 0xed, 0xde, 0x90, 0x5b, 0x04, 0x97, 0x4c, 0x72, 0x38, 0x4d, 0x1f, 0x11, 0x18, 0xe5, 0xeb, - 0x41, 0xb4, 0x57, 0x61, 0xed, 0x9d, 0x2f, 0xb2, 0xc2, 0xf4, 0xc6, 0xd8, 0x2a, 0x6e, 0x68, 0x84, - 0xb0, 0x41, 0xd6, 0xfe, 0x95, 0x01, 0x18, 0x58, 0xde, 0x26, 0x7e, 0x7c, 0x0c, 0xac, 0x6e, 0x0b, - 0xc6, 0x3d, 0x7f, 0x3b, 0x68, 0x6d, 0x13, 0x97, 0xc3, 0x0f, 0x77, 0xbc, 0x9f, 0x12, 0x8d, 0x8c, - 0xaf, 0x1a, 0xc4, 0x70, 0x8a, 0xf8, 0x51, 0xd8, 0x22, 0x5e, 0x83, 0x41, 0xbe, 0x32, 0x84, 0x21, - 0x22, 0xe7, 0xc6, 0x80, 0x0d, 0xac, 0xd8, 0x41, 0x89, 0xc5, 0x84, 0x5f, 0x56, 0x08, 0x42, 0xe8, - 0x1d, 0x18, 0x5f, 0xf7, 0xc2, 0x28, 0x5e, 0xf3, 0xb6, 0xa8, 0x0e, 0xb9, 0xd5, 0x3e, 0x84, 0x15, - 0x42, 0x8d, 0xc8, 0x8a, 0x41, 0x09, 0xa7, 0x28, 0xa3, 0x0d, 0x18, 0xa3, 0x4a, 0x70, 0xd2, 0xd4, - 0x50, 0xdf, 0x4d, 0x29, 0x23, 0xe4, 0x35, 0x9d, 0x10, 0x36, 0xe9, 0x52, 0x96, 0xd4, 0x64, 0x4a, - 0xf3, 0x30, 0x93, 0x6e, 0x14, 0x4b, 0xe2, 0xda, 0x32, 0x87, 0x51, 0xce, 0xc6, 0x7c, 0x71, 0xaa, - 0x26, 0x67, 0x4b, 0x3c, 0x6e, 0xec, 0xaf, 0xd3, 0xb3, 0x98, 0x8e, 0xe1, 0x31, 0x1c, 0x5f, 0x57, - 0xcc, 0xe3, 0xeb, 0xc9, 0x02, 0x33, 0xdb, 0xe3, 0xe8, 0x7a, 0x1b, 0x46, 0xb4, 0x89, 0x47, 0xe7, - 0xa1, 0xda, 0x94, 0xee, 0x22, 0x82, 0x8b, 0x2b, 0x51, 0x4a, 0xf9, 0x91, 0xe0, 0x04, 0x87, 0x8e, - 0x0b, 0x15, 0x41, 0xd3, 0xce, 0x65, 0x54, 0x40, 0xc5, 0x0c, 0x62, 0xbf, 0x00, 0xb0, 0xfc, 0x80, - 0x34, 0x17, 0xb8, 0x12, 0xa9, 0xdd, 0x20, 0x5a, 0xbd, 0x6f, 0x10, 0xed, 0xaf, 0x59, 0x30, 0xbe, - 0xb2, 0x64, 0x28, 0x0d, 0xf3, 0x00, 0x5c, 0x36, 0xbe, 0x73, 0xe7, 0x86, 0xb4, 0x90, 0x73, 0x33, - 0xa6, 0x2a, 0xc5, 0x1a, 0x06, 0x7a, 0x14, 0xca, 0xad, 0x8e, 0x2f, 0x44, 0xd6, 0xa1, 0xbd, 0xdd, - 0xb9, 0xf2, 0xb5, 0x8e, 0x8f, 0x69, 0x99, 0xe6, 0xc5, 0x55, 0x2e, 0xec, 0xc5, 0x95, 0xef, 0x02, - 0xfd, 0xe5, 0x32, 0x4c, 0xae, 0xb4, 0xc8, 0x03, 0xa3, 0xd7, 0x4f, 0xc3, 0xa0, 0x1b, 0x7a, 0xdb, - 0x24, 0x4c, 0x0b, 0x02, 0x35, 0x56, 0x8a, 0x05, 0xb4, 0xb0, 0x63, 0xd9, 0x5b, 0xdd, 0x07, 0xf9, - 0xd1, 0x39, 0xd5, 0xe5, 0x7e, 0x33, 0x5a, 0x87, 0x21, 0x7e, 0xe3, 0x1c, 0xcd, 0x0c, 0xb0, 0xa5, - 0xf8, 0xca, 0xc1, 0x9d, 0x49, 0x8f, 0xcf, 0xbc, 0xb0, 0xe0, 0x70, 0x97, 0x1e, 0xc5, 0xcb, 0x44, - 0x29, 0x96, 0xc4, 0x67, 0x3f, 0x01, 0xa3, 0x3a, 0x66, 0x5f, 0xbe, 0x3d, 0x7f, 0xd5, 0x82, 0x13, - 0x2b, 0xad, 0xa0, 0x79, 0x2f, 0xe5, 0xf9, 0xf7, 0x12, 0x8c, 0xd0, 0xcd, 0x14, 0x19, 0x6e, 0xb1, - 0x86, 0xcb, 0xb0, 0x00, 0x61, 0x1d, 0x4f, 0xab, 0x76, 0xeb, 0xd6, 0x6a, 0x2d, 0xcb, 0xd3, 0x58, - 0x80, 0xb0, 0x8e, 0x67, 0xff, 0xbe, 0x05, 0x8f, 0x5f, 0x5e, 0x5a, 0xae, 0x93, 0x30, 0xf2, 0xa2, - 0x98, 0xf8, 0x71, 0x97, 0xb3, 0x33, 0x95, 0x19, 0x5d, 0xad, 0x2b, 0x89, 0xcc, 0x58, 0x63, 0xbd, - 0x10, 0xd0, 0x0f, 0x8a, 0xc7, 0xff, 0x57, 0x2d, 0x38, 0x71, 0xd9, 0x8b, 0x31, 0x69, 0x07, 0x69, - 0x67, 0xe3, 0x90, 0xb4, 0x83, 0xc8, 0x8b, 0x83, 0x70, 0x27, 0xed, 0x6c, 0x8c, 0x15, 0x04, 0x6b, - 0x58, 0xbc, 0xe5, 0x6d, 0x2f, 0xa2, 0x3d, 0x2d, 0x99, 0xaa, 0x2e, 0x16, 0xe5, 0x58, 0x61, 0xd0, - 0x0f, 0x73, 0xbd, 0x90, 0x89, 0x0c, 0x3b, 0x62, 0x07, 0xab, 0x0f, 0xab, 0x49, 0x00, 0x4e, 0x70, - 0xec, 0xbf, 0x6b, 0xc1, 0xc9, 0xcb, 0xad, 0x4e, 0x14, 0x93, 0x70, 0x3d, 0x32, 0x3a, 0xfb, 0x02, - 0x54, 0x89, 0x14, 0xee, 0x45, 0x5f, 0xd5, 0xa1, 0xa1, 0xa4, 0x7e, 0xee, 0xe9, 0xac, 0xf0, 0x0a, - 0x38, 0xd4, 0xf6, 0xe7, 0xfe, 0xf9, 0x5b, 0x25, 0x18, 0xbb, 0xb2, 0xb6, 0x56, 0xbf, 0x4c, 0x62, - 0xc1, 0x25, 0xf3, 0xcd, 0x5e, 0x58, 0xd3, 0xc8, 0x0f, 0x12, 0x7e, 0x3a, 0xb1, 0xd7, 0x9a, 0xe7, - 0xd1, 0x28, 0xf3, 0xab, 0x7e, 0x7c, 0x33, 0x6c, 0xc4, 0xa1, 0xe7, 0x6f, 0x64, 0xea, 0xf0, 0x92, - 0x97, 0x97, 0x7b, 0xf1, 0x72, 0xf4, 0x02, 0x0c, 0xb2, 0x70, 0x18, 0x29, 0x7c, 0x7c, 0x58, 0xc9, - 0x09, 0xac, 0x74, 0x7f, 0x77, 0xae, 0x7a, 0x0b, 0xaf, 0xf2, 0x3f, 0x58, 0xa0, 0xa2, 0xb7, 0x60, - 0x64, 0x33, 0x8e, 0xdb, 0x57, 0x88, 0xe3, 0x92, 0x50, 0xf2, 0x89, 0xb3, 0x07, 0xf3, 0x09, 0x3a, - 0x1c, 0xbc, 0x42, 0xb2, 0xb5, 0x92, 0xb2, 0x08, 0xeb, 0x14, 0xed, 0x06, 0x40, 0x02, 0x7b, 0x48, - 0x3a, 0x88, 0xfd, 0xf3, 0x25, 0x18, 0xba, 0xe2, 0xf8, 0x6e, 0x8b, 0x84, 0x68, 0x05, 0x2a, 0xe4, - 0x01, 0x69, 0x8a, 0x83, 0x3c, 0xa7, 0xeb, 0xc9, 0x61, 0xc7, 0x2d, 0x77, 0xf4, 0x3f, 0x66, 0xf5, - 0x11, 0x86, 0x21, 0xda, 0xef, 0xcb, 0xca, 0x0f, 0xfd, 0xb9, 0xfc, 0x51, 0x50, 0x8b, 0x82, 0x9f, - 0x94, 0xa2, 0x08, 0x4b, 0x42, 0xcc, 0x02, 0xd5, 0x6c, 0x37, 0x28, 0x7b, 0x8b, 0x8b, 0x69, 0x76, - 0x6b, 0x4b, 0x75, 0x8e, 0x2e, 0xe8, 0x72, 0x0b, 0x94, 0x2c, 0xc4, 0x09, 0x39, 0x7b, 0x0d, 0xaa, - 0x74, 0xf2, 0x17, 0x5a, 0x9e, 0x73, 0xb0, 0x19, 0xec, 0x39, 0xa8, 0x4a, 0x43, 0x54, 0x24, 0x9c, - 0xda, 0x19, 0x55, 0x69, 0xa7, 0x8a, 0x70, 0x02, 0xb7, 0x2f, 0xc1, 0x34, 0xbb, 0x47, 0x76, 0xe2, - 0x4d, 0x63, 0x2f, 0xe6, 0x2e, 0x7a, 0xfb, 0x1b, 0x15, 0x98, 0x5a, 0x6d, 0x2c, 0x35, 0x4c, 0x9b, - 0xe7, 0x25, 0x18, 0xe5, 0xc7, 0x3e, 0x5d, 0xca, 0x4e, 0x4b, 0xd4, 0x57, 0x77, 0x1f, 0x6b, 0x1a, - 0x0c, 0x1b, 0x98, 0xe8, 0x71, 0x28, 0x7b, 0xef, 0xfa, 0x69, 0x6f, 0xc4, 0xd5, 0xd7, 0x6e, 0x60, - 0x5a, 0x4e, 0xc1, 0x54, 0x82, 0xe0, 0xac, 0x53, 0x81, 0x95, 0x14, 0xf1, 0x2a, 0x8c, 0x7b, 0x51, - 0x33, 0xf2, 0x56, 0x7d, 0xca, 0x57, 0x9c, 0xa6, 0xdc, 0x14, 0x89, 0xc8, 0x4f, 0xbb, 0xaa, 0xa0, - 0x38, 0x85, 0xad, 0xf1, 0xf1, 0x81, 0xc2, 0x52, 0x48, 0xae, 0x9b, 0x3b, 0x15, 0xb0, 0xda, 0xec, - 0xeb, 0x22, 0xe6, 0xdb, 0x24, 0x04, 0x2c, 0xfe, 0xc1, 0x11, 0x96, 0x30, 0x74, 0x19, 0xa6, 0x9a, - 0x9b, 0x4e, 0x7b, 0xa1, 0x13, 0x6f, 0xd6, 0xbc, 0xa8, 0x19, 0x6c, 0x93, 0x70, 0x87, 0x09, 0xc0, - 0xc3, 0x89, 0x4d, 0x4b, 0x01, 0x96, 0xae, 0x2c, 0xd4, 0x29, 0x26, 0xee, 0xae, 0x63, 0x0a, 0x24, - 0x70, 0x04, 0x02, 0xc9, 0x02, 0x4c, 0xc8, 0x56, 0x1b, 0x24, 0x62, 0x47, 0xc4, 0x08, 0xeb, 0xa7, - 0x0a, 0x30, 0x12, 0xc5, 0xaa, 0x97, 0x69, 0x7c, 0xfb, 0x1d, 0xa8, 0x2a, 0x5f, 0x3c, 0xe9, 0x82, - 0x6a, 0xf5, 0x70, 0x41, 0xcd, 0x67, 0xee, 0xd2, 0x3a, 0x5f, 0xce, 0xb4, 0xce, 0xff, 0x53, 0x0b, - 0x12, 0x67, 0x22, 0x84, 0xa1, 0xda, 0x0e, 0xd8, 0x4d, 0x5e, 0x28, 0xaf, 0xcc, 0x9f, 0xca, 0xd9, - 0xf3, 0x9c, 0xe7, 0xf0, 0x01, 0xa9, 0xcb, 0xba, 0x38, 0x21, 0x83, 0xae, 0xc1, 0x50, 0x3b, 0x24, - 0x8d, 0x98, 0xc5, 0x8f, 0xf4, 0x41, 0x91, 0x2f, 0x04, 0x5e, 0x13, 0x4b, 0x12, 0xf6, 0xbf, 0xb4, - 0x00, 0xb8, 0x19, 0xdc, 0xf1, 0x37, 0xc8, 0x31, 0x28, 0xd6, 0x37, 0xa0, 0x12, 0xb5, 0x49, 0xb3, - 0xd8, 0x5d, 0x6c, 0xd2, 0xb3, 0x46, 0x9b, 0x34, 0x93, 0xe9, 0xa0, 0xff, 0x30, 0xa3, 0x63, 0x7f, - 0x1b, 0x60, 0x3c, 0x41, 0xa3, 0xca, 0x0d, 0x7a, 0xde, 0x08, 0x9c, 0x78, 0x34, 0x15, 0x38, 0x51, - 0x65, 0xd8, 0x5a, 0xac, 0x44, 0x0c, 0xe5, 0x2d, 0xe7, 0x81, 0xd0, 0xa5, 0x5e, 0x2a, 0xda, 0x21, - 0xda, 0xd2, 0xfc, 0x75, 0xe7, 0x01, 0x17, 0x5d, 0x9f, 0x93, 0x0b, 0xe9, 0xba, 0xf3, 0x60, 0x9f, - 0xdf, 0xb8, 0x32, 0xee, 0x44, 0x95, 0xb7, 0xcf, 0xfd, 0x59, 0xf2, 0x9f, 0x1d, 0x43, 0xb4, 0x39, - 0xd6, 0xaa, 0xe7, 0x0b, 0x53, 0x70, 0x9f, 0xad, 0x7a, 0x7e, 0xba, 0x55, 0xcf, 0x2f, 0xd0, 0xaa, - 0xc7, 0x3c, 0x8c, 0x87, 0xc4, 0x1d, 0x0d, 0x73, 0xcf, 0x1c, 0xb9, 0xf8, 0xf1, 0xbe, 0x9a, 0x16, - 0x97, 0x3d, 0xbc, 0xf9, 0xf3, 0x52, 0x5e, 0x17, 0xa5, 0xb9, 0x5d, 0x90, 0x4d, 0xa3, 0xbf, 0x67, - 0xc1, 0xb8, 0xf8, 0x8d, 0xc9, 0xbb, 0x1d, 0x12, 0xc5, 0x42, 0x2e, 0xf8, 0xd4, 0x61, 0x7a, 0x23, - 0x48, 0xf0, 0x4e, 0x7d, 0x4c, 0xb2, 0x5f, 0x13, 0x98, 0xdb, 0xb7, 0x54, 0x7f, 0xd0, 0xb7, 0x2d, - 0x98, 0xde, 0x72, 0x1e, 0xf0, 0x16, 0x79, 0x19, 0x76, 0x62, 0x2f, 0x10, 0x2e, 0xa8, 0x2b, 0xfd, - 0xae, 0x93, 0x2e, 0x42, 0xbc, 0xbb, 0xd2, 0xbb, 0x6c, 0x3a, 0x0b, 0x25, 0xb7, 0xd3, 0x99, 0x3d, - 0x9c, 0x5d, 0x87, 0x61, 0xb9, 0x30, 0x33, 0x34, 0xa5, 0x9a, 0x2e, 0xfe, 0xf4, 0x7d, 0x81, 0xa6, - 0x69, 0x56, 0xac, 0x1d, 0xb1, 0x14, 0x8f, 0xb4, 0x9d, 0x77, 0x60, 0x54, 0x5f, 0x77, 0x47, 0xda, - 0xd6, 0xbb, 0x70, 0x22, 0x63, 0x55, 0x1d, 0x69, 0x93, 0xf7, 0xe1, 0xd1, 0x9e, 0xeb, 0xe3, 0x28, - 0x1b, 0xb6, 0x7f, 0xcb, 0xd2, 0x59, 0xe7, 0x31, 0xd8, 0xad, 0xae, 0x9b, 0x76, 0xab, 0xb3, 0x45, - 0xf7, 0x50, 0x0f, 0xe3, 0xd5, 0xba, 0xde, 0x7d, 0x7a, 0x24, 0xa0, 0x35, 0x18, 0x6c, 0xd1, 0x12, - 0x79, 0x6d, 0x78, 0xae, 0x9f, 0x5d, 0x9a, 0x48, 0x60, 0xac, 0x3c, 0xc2, 0x82, 0x96, 0xfd, 0x6d, - 0x0b, 0x2a, 0x7f, 0x89, 0x61, 0x5d, 0x5d, 0xa4, 0x45, 0x6a, 0x82, 0x79, 0xec, 0xdc, 0x5f, 0x7e, - 0x10, 0x13, 0x3f, 0x62, 0x62, 0x7c, 0xe6, 0x10, 0xfd, 0x9f, 0x12, 0x8c, 0xd0, 0xa6, 0xa4, 0xa7, - 0xcc, 0x2b, 0x30, 0xd6, 0x72, 0xee, 0x92, 0x96, 0xb4, 0xb9, 0xa7, 0x95, 0xde, 0x6b, 0x3a, 0x10, - 0x9b, 0xb8, 0xb4, 0xf2, 0xba, 0x7e, 0x25, 0x21, 0x84, 0x24, 0x55, 0xd9, 0xb8, 0xaf, 0xc0, 0x26, - 0x2e, 0xd5, 0xba, 0xee, 0x3b, 0x71, 0x73, 0x53, 0x28, 0xc4, 0xaa, 0xbb, 0x77, 0x68, 0x21, 0xe6, - 0x30, 0x2a, 0xec, 0xc9, 0x15, 0x7b, 0x9b, 0x84, 0x4c, 0xd8, 0xe3, 0x42, 0xb5, 0x12, 0xf6, 0xb0, - 0x09, 0xc6, 0x69, 0x7c, 0xf4, 0x09, 0x18, 0xa7, 0x83, 0x13, 0x74, 0x62, 0xe9, 0x07, 0x34, 0xc0, - 0xfc, 0x80, 0x98, 0x1b, 0xf9, 0x9a, 0x01, 0xc1, 0x29, 0x4c, 0x54, 0x87, 0x69, 0xcf, 0x6f, 0xb6, - 0x3a, 0x2e, 0xb9, 0xe5, 0x7b, 0xbe, 0x17, 0x7b, 0x4e, 0xcb, 0x7b, 0x8f, 0xb8, 0x42, 0xec, 0x56, - 0x2e, 0x5b, 0xab, 0x19, 0x38, 0x38, 0xb3, 0xa6, 0xfd, 0x16, 0x9c, 0xb8, 0x16, 0x38, 0xee, 0xa2, - 0xd3, 0x72, 0xfc, 0x26, 0x09, 0x57, 0xfd, 0x8d, 0x5c, 0x9f, 0x02, 0xfd, 0xde, 0xbf, 0x94, 0x77, - 0xef, 0x6f, 0x87, 0x80, 0xf4, 0x06, 0x84, 0x4f, 0xdc, 0x9b, 0x30, 0xe4, 0xf1, 0xa6, 0xc4, 0x46, - 0xb8, 0x90, 0x27, 0x93, 0x77, 0xf5, 0x51, 0xf3, 0xf1, 0xe2, 0x05, 0x58, 0x92, 0xa4, 0x1a, 0x5c, - 0x96, 0x10, 0x9f, 0xaf, 0x7a, 0xdb, 0x2f, 0xc1, 0x14, 0xab, 0xd9, 0xa7, 0xe2, 0xf7, 0xd7, 0x2c, - 0x98, 0xb8, 0x91, 0x0a, 0x80, 0x7e, 0x1a, 0x06, 0x23, 0x12, 0x66, 0x58, 0x56, 0x1b, 0xac, 0x14, - 0x0b, 0xe8, 0x43, 0xb7, 0xd6, 0xfc, 0x72, 0x09, 0xaa, 0xcc, 0x29, 0xbb, 0x4d, 0x95, 0xb8, 0xa3, - 0x97, 0x97, 0xaf, 0x1b, 0xf2, 0x72, 0x8e, 0xc5, 0x40, 0x75, 0xac, 0x97, 0xb8, 0x8c, 0x6e, 0xa9, - 0xc0, 0xe0, 0x42, 0xc6, 0x82, 0x84, 0x20, 0x0f, 0x1e, 0x1d, 0x37, 0xe3, 0x88, 0x65, 0xd0, 0x30, - 0xbb, 0xc0, 0x57, 0xb8, 0x1f, 0xb8, 0x0b, 0x7c, 0xd5, 0xb3, 0x1e, 0x5c, 0xb2, 0xae, 0x75, 0x9e, - 0x9d, 0x23, 0x3f, 0xc5, 0x5c, 0x6d, 0xd9, 0x1e, 0x56, 0xf1, 0xf5, 0x73, 0xc2, 0x75, 0x56, 0x94, - 0xee, 0x33, 0x86, 0x27, 0xfe, 0xf1, 0xf4, 0x09, 0x49, 0x15, 0xfb, 0x0a, 0x4c, 0xa4, 0x86, 0x0e, - 0xbd, 0x04, 0x03, 0xed, 0x4d, 0x27, 0x22, 0x29, 0xa7, 0xa7, 0x81, 0x3a, 0x2d, 0xdc, 0xdf, 0x9d, - 0x1b, 0x57, 0x15, 0x58, 0x09, 0xe6, 0xd8, 0xf6, 0xe7, 0x4b, 0x50, 0xb9, 0x11, 0xb8, 0xc7, 0xb1, - 0xd4, 0xae, 0x18, 0x4b, 0xed, 0xe9, 0xfc, 0x7c, 0x2d, 0x3d, 0x57, 0x59, 0x3d, 0xb5, 0xca, 0xce, - 0x16, 0xa0, 0x75, 0xf0, 0x02, 0xdb, 0x82, 0x11, 0x96, 0x0f, 0x46, 0x38, 0x65, 0xbd, 0x60, 0xa8, - 0x78, 0x73, 0x29, 0x15, 0x6f, 0x42, 0x43, 0xd5, 0x14, 0xbd, 0x67, 0x60, 0x48, 0x38, 0x01, 0xa5, - 0x1d, 0x8d, 0x05, 0x2e, 0x96, 0x70, 0xfb, 0x5f, 0x94, 0xc1, 0xc8, 0x3f, 0x83, 0x7e, 0xd7, 0x82, - 0xf9, 0x90, 0x07, 0x6d, 0xb9, 0xb5, 0x4e, 0xe8, 0xf9, 0x1b, 0x8d, 0xe6, 0x26, 0x71, 0x3b, 0x2d, - 0xcf, 0xdf, 0x58, 0xdd, 0xf0, 0x03, 0x55, 0xbc, 0xfc, 0x80, 0x34, 0x3b, 0xcc, 0xe6, 0x5e, 0x38, - 0xed, 0x8d, 0xba, 0x00, 0xbf, 0xb8, 0xb7, 0x3b, 0x37, 0x8f, 0xfb, 0x6a, 0x05, 0xf7, 0xd9, 0x2b, - 0xf4, 0x7d, 0x0b, 0xce, 0xf3, 0x0c, 0x2c, 0xc5, 0xbf, 0xa4, 0x90, 0x6a, 0x5c, 0x97, 0x44, 0x13, - 0x72, 0x6b, 0x24, 0xdc, 0x5a, 0x7c, 0x59, 0x0c, 0xf2, 0xf9, 0x7a, 0x7f, 0xad, 0xe2, 0x7e, 0xbb, - 0x69, 0xff, 0xeb, 0x32, 0x8c, 0xd1, 0xf1, 0x4c, 0x52, 0x28, 0xbc, 0x64, 0x2c, 0x93, 0x27, 0x52, - 0xcb, 0x64, 0xca, 0x40, 0x7e, 0x38, 0xd9, 0x13, 0x22, 0x98, 0x6a, 0x39, 0x51, 0x7c, 0x85, 0x38, - 0x61, 0x7c, 0x97, 0x38, 0xec, 0x9e, 0x39, 0xed, 0xc3, 0x52, 0xe0, 0xea, 0x5a, 0x19, 0xe1, 0xae, - 0xa5, 0x89, 0xe1, 0x6e, 0xfa, 0x68, 0x1b, 0x10, 0xbb, 0xd3, 0x0e, 0x1d, 0x3f, 0xe2, 0xdf, 0xe2, - 0x09, 0x1b, 0x7d, 0x7f, 0xad, 0xce, 0x8a, 0x56, 0xd1, 0xb5, 0x2e, 0x6a, 0x38, 0xa3, 0x05, 0xcd, - 0x6b, 0x61, 0xa0, 0xa8, 0xd7, 0xc2, 0x60, 0x8e, 0x87, 0xff, 0x2f, 0x58, 0x70, 0x82, 0x4e, 0x8b, - 0xe9, 0x0d, 0x1e, 0xa1, 0x00, 0x26, 0xe8, 0xb2, 0x6b, 0x91, 0x58, 0x96, 0x89, 0xfd, 0x95, 0x23, - 0xe2, 0x9b, 0x74, 0x12, 0x39, 0xf2, 0xaa, 0x49, 0x0c, 0xa7, 0xa9, 0xdb, 0x5f, 0xb3, 0x80, 0x79, - 0x4f, 0x1e, 0xc3, 0x61, 0x76, 0xd9, 0x3c, 0xcc, 0xec, 0x7c, 0x8e, 0xd1, 0xe3, 0x1c, 0x7b, 0x11, - 0x26, 0x29, 0xb4, 0x1e, 0x06, 0x0f, 0x76, 0xa4, 0xc4, 0x9f, 0x2f, 0x5d, 0xfd, 0x42, 0x89, 0x6f, - 0x1b, 0x15, 0x7d, 0x8a, 0x7e, 0xd1, 0x82, 0xe1, 0xa6, 0xd3, 0x76, 0x9a, 0x3c, 0x7b, 0x57, 0x01, - 0x33, 0x91, 0x51, 0x7f, 0x7e, 0x49, 0xd4, 0xe5, 0x26, 0x8e, 0x8f, 0xca, 0x4f, 0x97, 0xc5, 0xb9, - 0x66, 0x0d, 0xd5, 0xf8, 0xec, 0x3d, 0x18, 0x33, 0x88, 0x1d, 0xa9, 0x3e, 0xfc, 0x8b, 0x16, 0x67, - 0xfa, 0x4a, 0x67, 0xb9, 0x0f, 0x53, 0xbe, 0xf6, 0x9f, 0xb2, 0x33, 0x29, 0x50, 0xcf, 0x17, 0x67, - 0xeb, 0x8c, 0x0b, 0x6a, 0x9e, 0xa2, 0x29, 0x82, 0xb8, 0xbb, 0x0d, 0xfb, 0x57, 0x2d, 0x78, 0x44, - 0x47, 0xd4, 0xc2, 0x85, 0xf3, 0x0c, 0xd8, 0x35, 0x18, 0x0e, 0xda, 0x24, 0x74, 0x12, 0xfd, 0xec, - 0xac, 0x1c, 0xff, 0x9b, 0xa2, 0x7c, 0x7f, 0x77, 0x6e, 0x5a, 0xa7, 0x2e, 0xcb, 0xb1, 0xaa, 0x89, - 0x6c, 0x18, 0x64, 0xe3, 0x12, 0x89, 0x40, 0x6f, 0x96, 0xcd, 0x8a, 0x5d, 0x90, 0x45, 0x58, 0x40, - 0xec, 0xbf, 0x69, 0xf1, 0xe5, 0xa6, 0x77, 0x1d, 0xfd, 0x0c, 0x4c, 0x6e, 0x51, 0x55, 0x6e, 0xf9, - 0x41, 0x3b, 0xe4, 0xe6, 0x77, 0x39, 0x62, 0x2f, 0x15, 0x1f, 0x31, 0xed, 0x73, 0x17, 0x67, 0x44, - 0xef, 0x27, 0xaf, 0xa7, 0xc8, 0xe2, 0xae, 0x86, 0xec, 0x7f, 0x50, 0xe2, 0x7b, 0x96, 0xc9, 0x70, - 0xcf, 0xc0, 0x50, 0x3b, 0x70, 0x97, 0x56, 0x6b, 0x58, 0x8c, 0x95, 0x62, 0x3a, 0x75, 0x5e, 0x8c, - 0x25, 0x1c, 0x5d, 0x04, 0x20, 0x0f, 0x62, 0x12, 0xfa, 0x4e, 0x4b, 0x5d, 0xe9, 0x2b, 0x51, 0x69, - 0x59, 0x41, 0xb0, 0x86, 0x45, 0xeb, 0xb4, 0xc3, 0x60, 0xdb, 0x73, 0x59, 0x9c, 0x4b, 0xd9, 0xac, - 0x53, 0x57, 0x10, 0xac, 0x61, 0x51, 0x05, 0xba, 0xe3, 0x47, 0xfc, 0x18, 0x73, 0xee, 0x8a, 0x4c, - 0x4a, 0xc3, 0x89, 0x02, 0x7d, 0x4b, 0x07, 0x62, 0x13, 0x17, 0x5d, 0x85, 0xc1, 0xd8, 0x61, 0x17, - 0xd5, 0x03, 0x45, 0xbc, 0x7e, 0xd6, 0x28, 0xae, 0x9e, 0xba, 0x8a, 0x56, 0xc5, 0x82, 0x84, 0xfd, - 0x9f, 0xaa, 0x00, 0x89, 0xd4, 0x85, 0x3e, 0xdf, 0xbd, 0xe1, 0x3f, 0x56, 0x54, 0x64, 0x7b, 0x78, - 0xbb, 0x1d, 0x7d, 0xc9, 0x82, 0x11, 0xa7, 0xd5, 0x0a, 0x9a, 0x4e, 0xcc, 0x86, 0xa7, 0x54, 0x94, - 0xf5, 0x88, 0x9e, 0x2c, 0x24, 0x75, 0x79, 0x67, 0x5e, 0x90, 0x97, 0xc7, 0x1a, 0x24, 0xb7, 0x3f, - 0x7a, 0x17, 0xd0, 0x47, 0xa5, 0xd4, 0xce, 0x67, 0x78, 0x36, 0x2d, 0xb5, 0x57, 0x19, 0xc3, 0xd5, - 0x04, 0x76, 0xf4, 0x96, 0x91, 0x79, 0xa8, 0x52, 0x24, 0x58, 0xd9, 0x90, 0x43, 0xf2, 0x92, 0x0e, - 0xa1, 0x37, 0x74, 0xf7, 0xf8, 0x81, 0x22, 0xd9, 0x00, 0x34, 0x71, 0x38, 0xc7, 0x35, 0x3e, 0x86, - 0x09, 0xd7, 0x3c, 0x79, 0x85, 0x8b, 0xdf, 0x85, 0xfc, 0x16, 0x52, 0x47, 0x76, 0x72, 0xd6, 0xa6, - 0x00, 0x38, 0xdd, 0x04, 0x7a, 0x83, 0x07, 0x2f, 0xac, 0xfa, 0xeb, 0x81, 0x70, 0xf3, 0x3b, 0x57, - 0x60, 0xce, 0x77, 0xa2, 0x98, 0x6c, 0xd1, 0x3a, 0xc9, 0xe1, 0x7a, 0x43, 0x50, 0xc1, 0x8a, 0x1e, - 0x5a, 0x83, 0x41, 0x16, 0x9b, 0x16, 0xcd, 0x0c, 0x17, 0x31, 0x09, 0x9a, 0x21, 0xd9, 0xc9, 0xfe, - 0x61, 0x7f, 0x23, 0x2c, 0x68, 0xa1, 0x2b, 0x32, 0x29, 0x43, 0xb4, 0xea, 0xdf, 0x8a, 0x08, 0x4b, - 0xca, 0x50, 0x5d, 0xfc, 0x48, 0x92, 0x65, 0x81, 0x97, 0x67, 0xa6, 0x6b, 0x34, 0x6a, 0x52, 0xc1, - 0x46, 0xfc, 0x97, 0x59, 0x20, 0x67, 0xa0, 0x48, 0x47, 0xcd, 0x9c, 0x91, 0xc9, 0x60, 0xdf, 0x36, - 0x89, 0xe1, 0x34, 0xf5, 0x63, 0x3d, 0x52, 0x67, 0x7d, 0x98, 0x4c, 0x6f, 0xca, 0x23, 0x3d, 0xc2, - 0x7f, 0x58, 0x81, 0x71, 0x73, 0x71, 0xa0, 0xf3, 0x50, 0x15, 0x44, 0x54, 0x8a, 0x37, 0xb5, 0x07, - 0xae, 0x4b, 0x00, 0x4e, 0x70, 0x58, 0xb2, 0x3b, 0x56, 0x5d, 0x73, 0xf0, 0x4a, 0x92, 0xdd, 0x29, - 0x08, 0xd6, 0xb0, 0xa8, 0x24, 0x7c, 0x37, 0x08, 0x62, 0x75, 0x12, 0xa8, 0x75, 0xb3, 0xc8, 0x4a, - 0xb1, 0x80, 0xd2, 0x13, 0xe0, 0x1e, 0x9d, 0xcc, 0x96, 0x69, 0xde, 0x54, 0x27, 0xc0, 0x55, 0x1d, - 0x88, 0x4d, 0x5c, 0x7a, 0xa2, 0x05, 0x11, 0x5b, 0x88, 0x42, 0xde, 0x4e, 0x1c, 0xe6, 0x1a, 0x3c, - 0x5e, 0x53, 0xc2, 0xd1, 0xa7, 0xe1, 0x11, 0x15, 0x5e, 0x89, 0xb9, 0xb9, 0x58, 0xb6, 0x38, 0x68, - 0xa8, 0xcc, 0x8f, 0x2c, 0x65, 0xa3, 0xe1, 0x5e, 0xf5, 0xd1, 0xab, 0x30, 0x2e, 0x64, 0x65, 0x49, - 0x71, 0xc8, 0xf4, 0x7b, 0xb8, 0x6a, 0x40, 0x71, 0x0a, 0x1b, 0xd5, 0x60, 0x92, 0x96, 0x30, 0x21, - 0x55, 0x52, 0xe0, 0x61, 0xa2, 0xea, 0xa8, 0xbf, 0x9a, 0x82, 0xe3, 0xae, 0x1a, 0x68, 0x01, 0x26, - 0xb8, 0xb0, 0x42, 0x15, 0x43, 0x36, 0x0f, 0xc2, 0x37, 0x57, 0x6d, 0x84, 0x9b, 0x26, 0x18, 0xa7, - 0xf1, 0xd1, 0x25, 0x18, 0x75, 0xc2, 0xe6, 0xa6, 0x17, 0x93, 0x66, 0xdc, 0x09, 0x79, 0xca, 0x13, - 0xcd, 0x71, 0x64, 0x41, 0x83, 0x61, 0x03, 0xd3, 0x7e, 0x0f, 0x4e, 0x64, 0x04, 0x02, 0xd0, 0x85, - 0xe3, 0xb4, 0x3d, 0xf9, 0x4d, 0x29, 0xd7, 0xb7, 0x85, 0xfa, 0xaa, 0xfc, 0x1a, 0x0d, 0x8b, 0xae, - 0x4e, 0x66, 0x27, 0xd7, 0x92, 0xb6, 0xaa, 0xd5, 0xb9, 0x22, 0x01, 0x38, 0xc1, 0xb1, 0xff, 0x14, - 0x40, 0xb3, 0xde, 0x14, 0x70, 0x77, 0xba, 0x04, 0xa3, 0x32, 0x0f, 0xb1, 0x96, 0xcc, 0x53, 0x7d, - 0xe6, 0x65, 0x0d, 0x86, 0x0d, 0x4c, 0xda, 0x37, 0x5f, 0xda, 0xa4, 0xd2, 0x8e, 0x76, 0xca, 0x58, - 0x85, 0x13, 0x1c, 0x74, 0x0e, 0x86, 0x23, 0xd2, 0x5a, 0xbf, 0xe6, 0xf9, 0xf7, 0xc4, 0xc2, 0x56, - 0x9c, 0xb9, 0x21, 0xca, 0xb1, 0xc2, 0x40, 0x8b, 0x50, 0xee, 0x78, 0xae, 0x58, 0xca, 0x52, 0x6c, - 0x28, 0xdf, 0x5a, 0xad, 0xed, 0xef, 0xce, 0x3d, 0xd1, 0x2b, 0xbd, 0x32, 0xd5, 0xcf, 0xa3, 0x79, - 0xba, 0xfd, 0x68, 0xe5, 0xac, 0x0b, 0x83, 0xc1, 0x3e, 0x2f, 0x0c, 0x2e, 0x02, 0x88, 0xaf, 0x96, - 0x6b, 0xb9, 0x9c, 0xcc, 0xda, 0x65, 0x05, 0xc1, 0x1a, 0x16, 0xd5, 0xf2, 0x9b, 0x21, 0x71, 0xa4, - 0x22, 0xcc, 0x1d, 0xd4, 0x87, 0x0f, 0xaf, 0xe5, 0x2f, 0xa5, 0x89, 0xe1, 0x6e, 0xfa, 0x28, 0x80, - 0x29, 0x57, 0xc4, 0xf0, 0x26, 0x8d, 0x56, 0xfb, 0xf7, 0x8a, 0x67, 0xbe, 0x3d, 0x69, 0x42, 0xb8, - 0x9b, 0x36, 0xfa, 0x2c, 0xcc, 0xca, 0xc2, 0xee, 0x00, 0x6a, 0xb6, 0x5d, 0xca, 0x8b, 0xa7, 0xf7, - 0x76, 0xe7, 0x66, 0x6b, 0x3d, 0xb1, 0xf0, 0x01, 0x14, 0xd0, 0x9b, 0x30, 0xc8, 0x2e, 0x98, 0xa2, - 0x99, 0x11, 0x76, 0xe2, 0xbd, 0x58, 0x24, 0xb6, 0x82, 0xae, 0xfa, 0x79, 0x76, 0x4d, 0x25, 0xbc, - 0x86, 0x93, 0x5b, 0x3b, 0x56, 0x88, 0x05, 0x4d, 0xd4, 0x86, 0x11, 0xc7, 0xf7, 0x83, 0xd8, 0xe1, - 0x82, 0xd8, 0x68, 0x11, 0x59, 0x52, 0x6b, 0x62, 0x21, 0xa9, 0xcb, 0xdb, 0x51, 0x8e, 0x88, 0x1a, - 0x04, 0xeb, 0x4d, 0xa0, 0xfb, 0x30, 0x11, 0xdc, 0xa7, 0x0c, 0x53, 0xde, 0x88, 0x44, 0x33, 0x63, - 0xe6, 0x87, 0xe5, 0x18, 0x6a, 0x8d, 0xca, 0x1a, 0x27, 0x33, 0x89, 0xe2, 0x74, 0x2b, 0x68, 0xde, - 0x30, 0x57, 0x8f, 0x27, 0xbe, 0xf1, 0x89, 0xb9, 0x5a, 0xb7, 0x4e, 0xb3, 0x20, 0x7d, 0xee, 0x0f, - 0xcb, 0x38, 0xc2, 0x44, 0x2a, 0x48, 0x3f, 0x01, 0x61, 0x1d, 0x0f, 0x6d, 0xc2, 0x68, 0x72, 0xb7, - 0x15, 0x46, 0x2c, 0xff, 0x8f, 0xe6, 0xee, 0x75, 0xf0, 0xc7, 0xad, 0x6a, 0x35, 0x79, 0xa4, 0x8f, - 0x5e, 0x82, 0x0d, 0xca, 0xb3, 0x1f, 0x87, 0x11, 0x6d, 0x8a, 0xfb, 0x71, 0xf7, 0x9e, 0x7d, 0x15, - 0x26, 0xd3, 0x53, 0xd7, 0x97, 0xbb, 0xf8, 0xff, 0x28, 0xc1, 0x44, 0xc6, 0xc5, 0x16, 0xcb, 0xc6, - 0x9c, 0x62, 0xb2, 0x49, 0xf2, 0x65, 0x93, 0x55, 0x96, 0x0a, 0xb0, 0x4a, 0xc9, 0xb7, 0xcb, 0x3d, - 0xf9, 0xb6, 0x60, 0x8f, 0x95, 0xf7, 0xc3, 0x1e, 0xcd, 0x13, 0x69, 0xa0, 0xd0, 0x89, 0xf4, 0x10, - 0x58, 0xaa, 0x71, 0xa8, 0x0d, 0x15, 0x38, 0xd4, 0xbe, 0x5a, 0x82, 0xc9, 0xc4, 0x35, 0x5e, 0xa4, - 0x41, 0x3f, 0xfa, 0x0b, 0x8f, 0x35, 0xe3, 0xc2, 0x23, 0x2f, 0xcb, 0x79, 0xaa, 0x7f, 0x3d, 0x2f, - 0x3f, 0xde, 0x4c, 0x5d, 0x7e, 0xbc, 0xd8, 0x27, 0xdd, 0x83, 0x2f, 0x42, 0xbe, 0x55, 0x82, 0x93, - 0xe9, 0x2a, 0x4b, 0x2d, 0xc7, 0xdb, 0x3a, 0x86, 0xf1, 0xfa, 0xb4, 0x31, 0x5e, 0x2f, 0xf7, 0xf7, - 0x5d, 0xac, 0x93, 0x3d, 0x07, 0xcd, 0x49, 0x0d, 0xda, 0xc7, 0x0f, 0x43, 0xfc, 0xe0, 0x91, 0xfb, - 0x43, 0x0b, 0x1e, 0xcd, 0xac, 0x77, 0x0c, 0x26, 0xde, 0xd7, 0x4d, 0x13, 0xef, 0x0b, 0x87, 0xf8, - 0xba, 0x1e, 0x36, 0xdf, 0x5f, 0x2b, 0xf7, 0xf8, 0x2a, 0x66, 0x04, 0xbb, 0x09, 0x23, 0x4e, 0xb3, - 0x49, 0xa2, 0xe8, 0x7a, 0xe0, 0xaa, 0xc4, 0x62, 0xcf, 0xb3, 0x53, 0x2c, 0x29, 0xde, 0xdf, 0x9d, - 0x9b, 0x4d, 0x93, 0x48, 0xc0, 0x58, 0xa7, 0x60, 0xa6, 0x3c, 0x2c, 0x1d, 0x51, 0xca, 0xc3, 0x8b, - 0x00, 0xdb, 0x4a, 0x5f, 0x4e, 0xdb, 0xd6, 0x34, 0x4d, 0x5a, 0xc3, 0x42, 0x7f, 0x85, 0xc9, 0x9e, - 0xdc, 0x2f, 0xa5, 0x62, 0x46, 0xd9, 0xe6, 0xcc, 0x9f, 0xee, 0xe3, 0xc2, 0x83, 0x79, 0x95, 0x1d, - 0x52, 0x91, 0x44, 0x9f, 0x82, 0xc9, 0x88, 0xe7, 0xa4, 0x58, 0x6a, 0x39, 0x11, 0x8b, 0x09, 0x11, - 0xfc, 0x94, 0xc5, 0xe5, 0x36, 0x52, 0x30, 0xdc, 0x85, 0x6d, 0x7f, 0xb3, 0x0c, 0x1f, 0x3e, 0x60, - 0xd9, 0xa2, 0x05, 0xf3, 0x7e, 0xf8, 0xb9, 0xb4, 0xa5, 0x69, 0x36, 0xb3, 0xb2, 0x61, 0x7a, 0x4a, - 0xcd, 0x76, 0xe9, 0x7d, 0xcf, 0xf6, 0x97, 0x75, 0xbb, 0x20, 0x77, 0x55, 0xbd, 0x7c, 0xe8, 0x8d, - 0xf9, 0xa3, 0x7a, 0x2d, 0xf0, 0x39, 0x0b, 0x9e, 0xc8, 0xfc, 0x2c, 0xc3, 0x1f, 0xe5, 0x3c, 0x54, - 0x9b, 0xb4, 0x50, 0x8b, 0xe0, 0x4a, 0x42, 0x27, 0x25, 0x00, 0x27, 0x38, 0x86, 0xdb, 0x49, 0x29, - 0xd7, 0xed, 0xe4, 0xf7, 0x2c, 0x98, 0x4e, 0x77, 0xe2, 0x18, 0xf8, 0x56, 0xc3, 0xe4, 0x5b, 0xf3, - 0xfd, 0x4d, 0x7e, 0x0f, 0x96, 0xf5, 0xd5, 0x49, 0x38, 0xd5, 0x75, 0xea, 0xf1, 0x51, 0xfc, 0x39, - 0x0b, 0xa6, 0x36, 0x98, 0x9e, 0xa0, 0x85, 0xc9, 0x89, 0xef, 0xca, 0x89, 0x2d, 0x3c, 0x30, 0xba, - 0x8e, 0x6b, 0x3d, 0x5d, 0x28, 0xb8, 0xbb, 0x31, 0xf4, 0x45, 0x0b, 0xa6, 0x9d, 0xfb, 0x51, 0xd7, - 0x23, 0x3d, 0x62, 0x21, 0xbd, 0x9a, 0x63, 0x96, 0xcb, 0x79, 0xde, 0x67, 0x71, 0x66, 0x6f, 0x77, - 0x6e, 0x3a, 0x0b, 0x0b, 0x67, 0xb6, 0x4a, 0xe7, 0x77, 0x53, 0x84, 0xcb, 0x14, 0x0b, 0xf8, 0xcc, - 0x0a, 0xae, 0xe1, 0x6c, 0x4d, 0x42, 0xb0, 0xa2, 0x88, 0xde, 0x86, 0xea, 0x86, 0x8c, 0x8c, 0x4b, - 0xb3, 0xcd, 0x1e, 0xc3, 0x9c, 0x15, 0x48, 0xc7, 0xc3, 0x15, 0x14, 0x08, 0x27, 0x44, 0xd1, 0x15, - 0x28, 0xfb, 0xeb, 0x91, 0x88, 0x41, 0xcf, 0xf3, 0x36, 0x32, 0x7d, 0xbc, 0x78, 0xd8, 0xee, 0x8d, - 0x95, 0x06, 0xa6, 0x24, 0x28, 0xa5, 0xf0, 0xae, 0x2b, 0xec, 0xd1, 0x39, 0x94, 0xf0, 0x62, 0xad, - 0x9b, 0x12, 0x5e, 0xac, 0x61, 0x4a, 0x02, 0xd5, 0x61, 0x80, 0x05, 0xe3, 0x08, 0x63, 0x73, 0x4e, - 0xa2, 0x82, 0xae, 0x90, 0x23, 0x9e, 0x99, 0x93, 0x15, 0x63, 0x4e, 0x08, 0xad, 0xc1, 0x60, 0x93, - 0x3d, 0x2e, 0x21, 0xac, 0x00, 0x79, 0x29, 0x3c, 0xba, 0x1e, 0xa2, 0xe0, 0x37, 0x6c, 0xbc, 0x1c, - 0x0b, 0x5a, 0x8c, 0x2a, 0x69, 0x6f, 0xae, 0x47, 0x42, 0xcd, 0xcf, 0xa3, 0xda, 0xf5, 0x4c, 0x88, - 0xa0, 0xca, 0xca, 0xb1, 0xa0, 0x85, 0x6a, 0x50, 0x5a, 0x6f, 0x8a, 0x58, 0x9d, 0x1c, 0x23, 0xb3, - 0x19, 0x83, 0xbd, 0x38, 0xb8, 0xb7, 0x3b, 0x57, 0x5a, 0x59, 0xc2, 0xa5, 0xf5, 0x26, 0x7a, 0x1d, - 0x86, 0xd6, 0x79, 0x54, 0xad, 0x48, 0xe6, 0x7b, 0x21, 0x2f, 0xf4, 0xb7, 0x2b, 0x04, 0x97, 0x87, - 0xa4, 0x08, 0x00, 0x96, 0xe4, 0x58, 0x9e, 0x43, 0x15, 0x27, 0x2c, 0xb2, 0xf9, 0xce, 0xf7, 0x17, - 0x57, 0x2c, 0xb4, 0x5f, 0x55, 0x8a, 0x35, 0x8a, 0x74, 0xcd, 0x3b, 0xf2, 0x9d, 0x1c, 0x96, 0xc9, - 0x37, 0x77, 0xcd, 0x67, 0x3e, 0xab, 0xc3, 0xd7, 0xbc, 0x02, 0xe1, 0x84, 0x28, 0xea, 0xc0, 0xd8, - 0x76, 0xd4, 0xde, 0x24, 0x72, 0xeb, 0xb3, 0xf4, 0xbe, 0x23, 0x17, 0x3f, 0x99, 0x93, 0xb3, 0x59, - 0x54, 0xf1, 0xc2, 0xb8, 0xe3, 0xb4, 0xba, 0x38, 0x18, 0x4b, 0x2c, 0x77, 0x5b, 0x27, 0x8b, 0xcd, - 0x56, 0xe8, 0x94, 0xbc, 0xdb, 0x09, 0xee, 0xee, 0xc4, 0x44, 0xa4, 0xff, 0xcd, 0x99, 0x92, 0xd7, - 0x38, 0x72, 0xf7, 0x94, 0x08, 0x00, 0x96, 0xe4, 0xd4, 0x90, 0x31, 0x6e, 0x3c, 0x59, 0x78, 0xc8, - 0xba, 0xbe, 0x21, 0x19, 0x32, 0xc6, 0x7d, 0x13, 0xa2, 0x8c, 0xeb, 0xb6, 0x37, 0x83, 0x38, 0xf0, - 0x53, 0xbc, 0x7f, 0xaa, 0x08, 0xd7, 0xad, 0x67, 0xd4, 0xec, 0xe6, 0xba, 0x59, 0x58, 0x38, 0xb3, - 0x55, 0xe4, 0xc3, 0x78, 0x3b, 0x08, 0xe3, 0xfb, 0x41, 0x28, 0xd7, 0x21, 0x2a, 0xa4, 0x23, 0x1a, - 0x75, 0x44, 0xdb, 0xcc, 0xf3, 0xd8, 0x84, 0xe0, 0x14, 0x75, 0x3a, 0x75, 0x51, 0xd3, 0x69, 0x91, - 0xd5, 0x9b, 0x33, 0x27, 0x8a, 0x4c, 0x5d, 0x83, 0x23, 0x77, 0x4f, 0x9d, 0x00, 0x60, 0x49, 0x8e, - 0xf2, 0x3a, 0x96, 0xcb, 0x9e, 0x65, 0x33, 0xce, 0xe5, 0x75, 0x5d, 0xde, 0xb9, 0x9c, 0xd7, 0xb1, - 0x62, 0xcc, 0x09, 0xa1, 0x77, 0xa0, 0x2a, 0x84, 0xdb, 0x20, 0x9a, 0x39, 0xc9, 0xa8, 0xfe, 0x64, - 0x4e, 0x6f, 0x39, 0xfa, 0xcd, 0x46, 0xf6, 0xa9, 0x2f, 0xa2, 0xff, 0x24, 0x12, 0x4e, 0xc8, 0xdb, - 0xbf, 0x3a, 0xd8, 0x2d, 0xf6, 0x30, 0xc5, 0xe6, 0x6f, 0x74, 0xdf, 0x58, 0x7f, 0xaa, 0x7f, 0xfd, - 0xfd, 0x21, 0xde, 0x5d, 0x7f, 0xd1, 0x82, 0x53, 0xed, 0xcc, 0xcf, 0x13, 0x82, 0x43, 0xbf, 0x66, - 0x00, 0x3e, 0x34, 0x2a, 0xc7, 0x78, 0x36, 0x1c, 0xf7, 0x68, 0x33, 0xad, 0x0a, 0x94, 0xdf, 0xb7, - 0x2a, 0x70, 0x07, 0x86, 0x99, 0xec, 0x9a, 0xe4, 0xf7, 0xe9, 0x33, 0x15, 0x0e, 0x13, 0x41, 0x96, - 0x04, 0x09, 0xac, 0x88, 0xd1, 0x81, 0x7b, 0x3c, 0xfd, 0x11, 0x98, 0x30, 0xb0, 0xc8, 0x6c, 0xc9, - 0xf5, 0xac, 0x15, 0x31, 0x12, 0x8f, 0xd7, 0x0f, 0x42, 0xde, 0xcf, 0x43, 0xc0, 0x07, 0x37, 0x86, - 0x6a, 0x19, 0x8a, 0xde, 0xa0, 0x79, 0x3d, 0x95, 0xaf, 0xec, 0x1d, 0xaf, 0x82, 0xf2, 0x0f, 0xad, - 0x0c, 0x79, 0x9a, 0x2b, 0x95, 0x9f, 0x34, 0x95, 0xca, 0xa7, 0xd3, 0x4a, 0x65, 0x97, 0x29, 0xc9, - 0xd0, 0x27, 0x8b, 0x67, 0xe6, 0x2d, 0x9a, 0xc0, 0xc8, 0x6e, 0xc1, 0x99, 0x3c, 0x66, 0xcd, 0x5c, - 0xd6, 0x5c, 0x75, 0x59, 0x9b, 0xb8, 0xac, 0xb9, 0xab, 0x35, 0xcc, 0x20, 0x45, 0x73, 0x60, 0xd8, - 0x3f, 0x5f, 0x82, 0x72, 0x3d, 0x70, 0x8f, 0xc1, 0x34, 0x76, 0xd9, 0x30, 0x8d, 0x3d, 0x95, 0xfb, - 0x50, 0x64, 0x4f, 0x43, 0xd8, 0xcd, 0x94, 0x21, 0xec, 0x27, 0xf2, 0x49, 0x1d, 0x6c, 0xf6, 0xfa, - 0x76, 0x19, 0xf4, 0xa7, 0x2e, 0xd1, 0x7f, 0x38, 0x8c, 0x27, 0x73, 0xb9, 0xd8, 0xeb, 0x97, 0xa2, - 0x0d, 0xe6, 0xf1, 0x26, 0x03, 0x31, 0x7f, 0x64, 0x1d, 0x9a, 0xef, 0x10, 0x6f, 0x63, 0x33, 0x26, - 0x6e, 0xfa, 0xc3, 0x8e, 0xcf, 0xa1, 0xf9, 0x2f, 0x2c, 0x98, 0x48, 0xb5, 0x8e, 0x5a, 0x59, 0x11, - 0x5c, 0x87, 0x34, 0x76, 0x4d, 0xe5, 0x86, 0x7c, 0xcd, 0x03, 0xa8, 0x3b, 0x0b, 0x69, 0x50, 0x62, - 0xb2, 0xb5, 0xba, 0xd4, 0x88, 0xb0, 0x86, 0x81, 0x5e, 0x82, 0x91, 0x38, 0x68, 0x07, 0xad, 0x60, - 0x63, 0xe7, 0x2a, 0x91, 0xd9, 0x59, 0xd4, 0xcd, 0xd2, 0x5a, 0x02, 0xc2, 0x3a, 0x9e, 0xfd, 0x9d, - 0x32, 0xa4, 0x1f, 0x4a, 0xfd, 0xff, 0xeb, 0xf4, 0x47, 0x67, 0x9d, 0xfe, 0xb1, 0x05, 0x93, 0xb4, - 0x75, 0xe6, 0x62, 0x24, 0x1d, 0x8f, 0xd5, 0x33, 0x21, 0xd6, 0x01, 0xcf, 0x84, 0x3c, 0x4d, 0xb9, - 0x9d, 0x1b, 0x74, 0x62, 0x61, 0x02, 0xd3, 0x98, 0x18, 0x2d, 0xc5, 0x02, 0x2a, 0xf0, 0x48, 0x18, - 0x8a, 0x08, 0x2d, 0x1d, 0x8f, 0x84, 0x21, 0x16, 0x50, 0xf9, 0x8a, 0x48, 0xa5, 0xc7, 0x2b, 0x22, - 0x2c, 0xbf, 0x99, 0x70, 0x6b, 0x11, 0x62, 0x85, 0x96, 0xdf, 0x4c, 0xfa, 0xbb, 0x24, 0x38, 0xf6, - 0xd7, 0xcb, 0x30, 0x5a, 0x0f, 0xdc, 0x24, 0xa2, 0xe0, 0x45, 0x23, 0xa2, 0xe0, 0x4c, 0x2a, 0xa2, - 0x60, 0x52, 0xc7, 0x7d, 0x38, 0x01, 0x05, 0x22, 0x0f, 0x1e, 0x7b, 0xe7, 0xe6, 0x90, 0xc1, 0x04, - 0x46, 0x1e, 0x3c, 0x45, 0x08, 0x9b, 0x74, 0x7f, 0x9c, 0x82, 0x08, 0xfe, 0xb7, 0x05, 0xe3, 0xf5, - 0xc0, 0xa5, 0x0b, 0xf4, 0xc7, 0x69, 0x35, 0xea, 0xd9, 0xf3, 0x06, 0x0f, 0xc8, 0x9e, 0xf7, 0xcf, - 0x2d, 0x18, 0xaa, 0x07, 0xee, 0x31, 0x98, 0x87, 0x57, 0x4c, 0xf3, 0xf0, 0x13, 0xb9, 0x9c, 0xb7, - 0x87, 0x45, 0xf8, 0x9b, 0x65, 0x18, 0xa3, 0x3d, 0x0e, 0x36, 0xe4, 0x7c, 0x19, 0x63, 0x63, 0x15, - 0x18, 0x1b, 0x2a, 0x12, 0x06, 0xad, 0x56, 0x70, 0x3f, 0x3d, 0x77, 0x2b, 0xac, 0x14, 0x0b, 0x28, - 0x3a, 0x07, 0xc3, 0xed, 0x90, 0x6c, 0x7b, 0x41, 0x27, 0x4a, 0x47, 0x7b, 0xd6, 0x45, 0x39, 0x56, - 0x18, 0xe8, 0x45, 0x18, 0x8d, 0x3c, 0xbf, 0x49, 0xa4, 0xd3, 0x4b, 0x85, 0x39, 0xbd, 0xf0, 0x44, - 0xa5, 0x5a, 0x39, 0x36, 0xb0, 0xd0, 0x1d, 0xa8, 0xb2, 0xff, 0x6c, 0x07, 0xf5, 0xff, 0x0c, 0x08, - 0x57, 0x87, 0x25, 0x01, 0x9c, 0xd0, 0x42, 0x17, 0x01, 0x62, 0xe9, 0x9e, 0x13, 0x89, 0xb0, 0x64, - 0x25, 0x97, 0x2a, 0xc7, 0x9d, 0x08, 0x6b, 0x58, 0xe8, 0x39, 0xa8, 0xc6, 0x8e, 0xd7, 0xba, 0xe6, - 0xf9, 0x24, 0x12, 0xee, 0x4d, 0x22, 0xe9, 0xb8, 0x28, 0xc4, 0x09, 0x9c, 0x9e, 0xf7, 0x2c, 0xe8, - 0x9d, 0x3f, 0x31, 0x34, 0xcc, 0xb0, 0xd9, 0x79, 0x7f, 0x4d, 0x95, 0x62, 0x0d, 0xc3, 0xbe, 0x04, - 0x27, 0xeb, 0x81, 0x5b, 0x0f, 0xc2, 0x78, 0x25, 0x08, 0xef, 0x3b, 0xa1, 0x2b, 0xe7, 0x6f, 0x4e, - 0xe6, 0xba, 0xa6, 0x67, 0xf2, 0x00, 0xb7, 0x22, 0x18, 0xb9, 0xab, 0x5f, 0x60, 0x27, 0x7e, 0x9f, - 0xa1, 0x2a, 0x7f, 0x54, 0x06, 0x54, 0x67, 0x0e, 0x44, 0xc6, 0x8b, 0x54, 0x9b, 0x30, 0x1e, 0x91, - 0x6b, 0x9e, 0xdf, 0x79, 0x20, 0x48, 0x15, 0x8b, 0x0d, 0x6a, 0x2c, 0xeb, 0x75, 0xb8, 0x9d, 0xc6, - 0x2c, 0xc3, 0x29, 0xba, 0x74, 0x66, 0xc3, 0x8e, 0xbf, 0x10, 0xdd, 0x8a, 0x48, 0x28, 0x5e, 0x60, - 0xfa, 0x38, 0xbb, 0xc6, 0x94, 0x85, 0xfb, 0xbb, 0x73, 0x67, 0x73, 0x9c, 0x33, 0x7c, 0xef, 0x01, - 0xc5, 0x5c, 0xad, 0xe1, 0x84, 0x16, 0x5d, 0x68, 0xec, 0xcf, 0x8d, 0xc0, 0xc7, 0x41, 0x10, 0xcb, - 0xa5, 0xc9, 0x5e, 0xef, 0xd0, 0xca, 0xb1, 0x81, 0x85, 0x22, 0x40, 0x51, 0xa7, 0xdd, 0x6e, 0xb1, - 0x5b, 0x55, 0xa7, 0x75, 0x39, 0x0c, 0x3a, 0x6d, 0xee, 0x73, 0x5e, 0x5e, 0x5c, 0xa2, 0x3c, 0xb8, - 0xd1, 0x05, 0xdd, 0xdf, 0x9d, 0x7b, 0x26, 0xbf, 0x83, 0x0c, 0x77, 0xb5, 0x86, 0x33, 0xc8, 0x23, - 0x0c, 0x43, 0xeb, 0x11, 0xfb, 0x2d, 0x42, 0xeb, 0x2f, 0x31, 0x33, 0x6e, 0x83, 0x15, 0xf5, 0x47, - 0x5e, 0x12, 0xb2, 0x7f, 0x96, 0x1d, 0xb3, 0xec, 0x81, 0x9e, 0xb8, 0x13, 0x12, 0xb4, 0x05, 0x63, - 0x6d, 0x76, 0x94, 0xc6, 0x61, 0xd0, 0x6a, 0x11, 0x29, 0xe5, 0x1e, 0xce, 0x91, 0x8a, 0x3f, 0xc9, - 0xa1, 0x93, 0xc3, 0x26, 0x75, 0xfb, 0xbf, 0x8e, 0x33, 0x8e, 0x29, 0xae, 0xcc, 0x87, 0x84, 0xcb, - 0xb4, 0x90, 0x27, 0x3f, 0x52, 0xe4, 0xa9, 0xbd, 0xe4, 0x34, 0x12, 0x0e, 0xd8, 0x58, 0x52, 0x41, - 0x9f, 0x61, 0x01, 0x01, 0x9c, 0x4d, 0x15, 0x7f, 0x40, 0x94, 0xe3, 0x1b, 0xc1, 0x00, 0x82, 0x04, - 0xd6, 0xc8, 0xa1, 0x6b, 0x30, 0x26, 0xde, 0x73, 0x11, 0xc6, 0x92, 0xb2, 0xa1, 0xe8, 0x8f, 0x61, - 0x1d, 0xb8, 0x9f, 0x2e, 0xc0, 0x66, 0x65, 0xb4, 0x01, 0x8f, 0x6b, 0xef, 0x95, 0x65, 0x38, 0xfd, - 0x71, 0xfe, 0xf7, 0xc4, 0xde, 0xee, 0xdc, 0xe3, 0x6b, 0x07, 0x21, 0xe2, 0x83, 0xe9, 0xa0, 0x9b, - 0x70, 0xd2, 0x69, 0xc6, 0xde, 0x36, 0xa9, 0x11, 0xc7, 0x6d, 0x79, 0x3e, 0x31, 0x93, 0x35, 0x3c, - 0xba, 0xb7, 0x3b, 0x77, 0x72, 0x21, 0x0b, 0x01, 0x67, 0xd7, 0x43, 0x9f, 0x84, 0xaa, 0xeb, 0x47, - 0x62, 0x0c, 0x06, 0x8d, 0xe7, 0xf9, 0xaa, 0xb5, 0x1b, 0x0d, 0xf5, 0xfd, 0xc9, 0x1f, 0x9c, 0x54, - 0x40, 0xef, 0xc2, 0xa8, 0x1e, 0x84, 0x25, 0x9e, 0x85, 0x7c, 0xb9, 0x90, 0x16, 0x6f, 0x44, 0x2e, - 0x71, 0x3b, 0xa2, 0x72, 0xae, 0x35, 0x82, 0x9a, 0x8c, 0x26, 0xd0, 0x4f, 0x03, 0x8a, 0x48, 0xb8, - 0xed, 0x35, 0xc9, 0x42, 0x93, 0xe5, 0x18, 0x66, 0x96, 0xa6, 0x61, 0x23, 0xca, 0x04, 0x35, 0xba, - 0x30, 0x70, 0x46, 0x2d, 0x74, 0x85, 0xf2, 0x3f, 0xbd, 0x54, 0xf8, 0x42, 0x4b, 0xf1, 0x74, 0xa6, - 0x46, 0xda, 0x21, 0x69, 0x3a, 0x31, 0x71, 0x4d, 0x8a, 0x38, 0x55, 0x8f, 0x9e, 0x8e, 0xea, 0x19, - 0x09, 0x30, 0x3d, 0x78, 0xbb, 0x9f, 0x92, 0xa0, 0xda, 0xde, 0x66, 0x10, 0xc5, 0x37, 0x48, 0x7c, - 0x3f, 0x08, 0xef, 0x89, 0xbc, 0x6c, 0x49, 0xc2, 0xc6, 0x04, 0x84, 0x75, 0x3c, 0x2a, 0xc9, 0xb1, - 0x0b, 0xc8, 0xd5, 0x1a, 0xbb, 0xdd, 0x19, 0x4e, 0xf6, 0xce, 0x15, 0x5e, 0x8c, 0x25, 0x5c, 0xa2, - 0xae, 0xd6, 0x97, 0xd8, 0x4d, 0x4d, 0x0a, 0x75, 0xb5, 0xbe, 0x84, 0x25, 0x1c, 0x05, 0xdd, 0x8f, - 0x20, 0x8e, 0x17, 0xb9, 0x35, 0xeb, 0x3e, 0x4f, 0x0a, 0xbe, 0x83, 0xf8, 0x00, 0x26, 0xd5, 0x43, - 0x8c, 0x3c, 0x75, 0x5d, 0x34, 0x33, 0xc1, 0x16, 0xce, 0x61, 0x32, 0xe0, 0x29, 0xeb, 0xe2, 0x6a, - 0x8a, 0x26, 0xee, 0x6a, 0xc5, 0x48, 0x11, 0x32, 0x99, 0xfb, 0x34, 0xc8, 0x79, 0xa8, 0x46, 0x9d, - 0xbb, 0x6e, 0xb0, 0xe5, 0x78, 0x3e, 0xbb, 0x4e, 0xd1, 0x44, 0xa9, 0x86, 0x04, 0xe0, 0x04, 0x07, - 0xd5, 0x61, 0xd8, 0x11, 0x8a, 0xa4, 0xb8, 0xf6, 0xc8, 0xc9, 0x05, 0x20, 0xd5, 0x4e, 0x6e, 0xe3, - 0x95, 0xff, 0xb0, 0xa2, 0x82, 0x5e, 0x81, 0x31, 0x11, 0xca, 0x26, 0x5c, 0x4e, 0x4f, 0x98, 0x61, - 0x0f, 0x0d, 0x1d, 0x88, 0x4d, 0x5c, 0xb4, 0x01, 0xe3, 0x94, 0x4a, 0xc2, 0x00, 0x67, 0xa6, 0xfb, - 0xe3, 0xa1, 0x5a, 0x12, 0x76, 0x9d, 0x0c, 0x4e, 0x91, 0x45, 0x2e, 0x3c, 0xe6, 0x74, 0xe2, 0x60, - 0x8b, 0xee, 0x04, 0x73, 0x9f, 0xac, 0x05, 0xf7, 0x88, 0xcf, 0xee, 0x3a, 0x86, 0x17, 0xcf, 0xec, - 0xed, 0xce, 0x3d, 0xb6, 0x70, 0x00, 0x1e, 0x3e, 0x90, 0x0a, 0x7a, 0x0b, 0x46, 0xe2, 0xa0, 0x25, - 0x3c, 0xc9, 0xa3, 0x99, 0x53, 0x45, 0x52, 0x21, 0xad, 0xa9, 0x0a, 0xba, 0x31, 0x45, 0x11, 0xc1, - 0x3a, 0x45, 0xf4, 0x36, 0x8c, 0xd2, 0xb9, 0xbf, 0xee, 0xb4, 0xdb, 0x9e, 0xbf, 0x11, 0xcd, 0x3c, - 0x52, 0x64, 0xb4, 0x54, 0xa2, 0x4f, 0x73, 0xff, 0xb2, 0x22, 0x12, 0x61, 0x83, 0xe2, 0xec, 0x4f, - 0xc1, 0x54, 0x17, 0xd3, 0xeb, 0xcb, 0xc9, 0xf6, 0x3f, 0x0e, 0x40, 0x55, 0x59, 0x2e, 0xd1, 0x79, - 0xd3, 0x48, 0xfd, 0x68, 0xda, 0x48, 0x3d, 0x4c, 0x05, 0x45, 0xdd, 0x2e, 0xfd, 0xd9, 0x8c, 0xc7, - 0xfd, 0x9f, 0xcd, 0xdd, 0xe5, 0xc5, 0x23, 0xec, 0x34, 0x55, 0xb3, 0x5c, 0xd8, 0xee, 0x5d, 0x39, - 0x50, 0x7b, 0x2d, 0xf8, 0x60, 0x25, 0xd5, 0x53, 0xdb, 0x81, 0xbb, 0x5a, 0x4f, 0xbf, 0xc7, 0x56, - 0xa7, 0x85, 0x98, 0xc3, 0x98, 0x7e, 0x41, 0x4f, 0x6d, 0xa6, 0x5f, 0x0c, 0x1d, 0x52, 0xbf, 0x90, - 0x04, 0x70, 0x42, 0x0b, 0x6d, 0xc3, 0x54, 0xd3, 0x7c, 0x5e, 0x4f, 0xc5, 0xcd, 0x3d, 0xdf, 0xc7, - 0xf3, 0x76, 0x1d, 0xed, 0x65, 0x9c, 0xa5, 0x34, 0x3d, 0xdc, 0xdd, 0x04, 0x7a, 0x05, 0x86, 0xdf, - 0x0d, 0x22, 0x76, 0x7d, 0x22, 0x8e, 0x2e, 0x19, 0x9f, 0x34, 0xfc, 0xda, 0xcd, 0x06, 0x2b, 0xdf, - 0xdf, 0x9d, 0x1b, 0xa9, 0x07, 0xae, 0xfc, 0x8b, 0x55, 0x05, 0xf4, 0x39, 0x0b, 0x4e, 0x1a, 0x3b, - 0x59, 0xf5, 0x1c, 0x0e, 0xd3, 0xf3, 0xc7, 0x45, 0xcb, 0x27, 0x57, 0xb3, 0x68, 0xe2, 0xec, 0xa6, - 0xec, 0xdf, 0xe1, 0xa6, 0x5a, 0x61, 0xbc, 0x21, 0x51, 0xa7, 0x75, 0x1c, 0xaf, 0x54, 0xdc, 0x34, - 0xec, 0x4a, 0x0f, 0xe1, 0xb2, 0xe0, 0xdf, 0x5b, 0xec, 0xb2, 0x60, 0x8d, 0x6c, 0xb5, 0x5b, 0x4e, - 0x7c, 0x1c, 0x3e, 0xd8, 0x9f, 0x81, 0xe1, 0x58, 0xb4, 0x56, 0xec, 0x89, 0x0d, 0xad, 0x7b, 0xec, - 0x12, 0x45, 0x1d, 0x7d, 0xb2, 0x14, 0x2b, 0x82, 0xf6, 0xbf, 0xe2, 0xb3, 0x22, 0x21, 0xc7, 0x60, - 0x11, 0xb9, 0x61, 0x5a, 0x44, 0x9e, 0x29, 0xfc, 0x2d, 0x3d, 0x2c, 0x23, 0xdf, 0x31, 0xbf, 0x80, - 0x69, 0x28, 0x3f, 0x3a, 0xb7, 0x59, 0xf6, 0xaf, 0x58, 0x30, 0x9d, 0xe5, 0x14, 0x41, 0x45, 0x18, - 0xae, 0x1f, 0xa9, 0x7b, 0x3e, 0x35, 0xaa, 0xb7, 0x45, 0x39, 0x56, 0x18, 0x85, 0x73, 0xde, 0xf7, - 0x97, 0xca, 0xeb, 0x26, 0x98, 0x0f, 0x35, 0xa2, 0x57, 0x79, 0xc8, 0x85, 0xa5, 0x5e, 0x52, 0xec, - 0x2f, 0xdc, 0xc2, 0xfe, 0x46, 0x09, 0xa6, 0xb9, 0xb1, 0x7d, 0x61, 0x3b, 0xf0, 0xdc, 0x7a, 0xe0, - 0x8a, 0x00, 0x14, 0x17, 0x46, 0xdb, 0x9a, 0x7a, 0x5b, 0x2c, 0x35, 0x90, 0xae, 0x10, 0x27, 0x2a, - 0x85, 0x5e, 0x8a, 0x0d, 0xaa, 0xb4, 0x15, 0xb2, 0xed, 0x35, 0x95, 0xed, 0xb6, 0xd4, 0xf7, 0xc9, - 0xa0, 0x5a, 0x59, 0xd6, 0xe8, 0x60, 0x83, 0xea, 0x11, 0x3c, 0x55, 0x63, 0xff, 0x7d, 0x0b, 0x1e, - 0xe9, 0x91, 0x3e, 0x88, 0x36, 0x77, 0x9f, 0x5d, 0x70, 0x88, 0x97, 0x40, 0x55, 0x73, 0xfc, 0xda, - 0x03, 0x0b, 0x28, 0xba, 0x0b, 0xc0, 0xaf, 0x2d, 0xa8, 0x34, 0x9d, 0xbe, 0x53, 0x2f, 0x98, 0xa4, - 0x43, 0xcb, 0xdf, 0x20, 0x29, 0x61, 0x8d, 0xaa, 0xfd, 0xb5, 0x32, 0x0c, 0xf0, 0x07, 0xe7, 0xeb, - 0x30, 0xb4, 0xc9, 0xf3, 0x2a, 0xf7, 0x97, 0xd6, 0x39, 0x51, 0x5f, 0x78, 0x01, 0x96, 0x64, 0xd0, - 0x75, 0x38, 0x21, 0x42, 0xa0, 0x6a, 0xa4, 0xe5, 0xec, 0x48, 0x7d, 0x98, 0xbf, 0x5f, 0x22, 0x13, - 0xed, 0x9f, 0x58, 0xed, 0x46, 0xc1, 0x59, 0xf5, 0xd0, 0xab, 0x5d, 0x69, 0x10, 0x79, 0xbe, 0x6a, - 0x25, 0x0b, 0xe7, 0xa4, 0x42, 0x7c, 0x05, 0xc6, 0xda, 0x5d, 0x9a, 0xbf, 0xf6, 0xae, 0xb7, 0xa9, - 0xed, 0x9b, 0xb8, 0xcc, 0x87, 0xa2, 0xc3, 0x7c, 0x47, 0xd6, 0x36, 0x43, 0x12, 0x6d, 0x06, 0x2d, - 0x57, 0x3c, 0x49, 0x9b, 0xf8, 0x50, 0xa4, 0xe0, 0xb8, 0xab, 0x06, 0xa5, 0xb2, 0xee, 0x78, 0xad, - 0x4e, 0x48, 0x12, 0x2a, 0x83, 0x26, 0x95, 0x95, 0x14, 0x1c, 0x77, 0xd5, 0xa0, 0x6b, 0xeb, 0xa4, - 0x78, 0xc5, 0x54, 0x06, 0xcb, 0x0b, 0x16, 0xf4, 0x69, 0x18, 0x92, 0x81, 0x0c, 0x85, 0x72, 0xba, - 0x08, 0x07, 0x09, 0xf5, 0x22, 0xaa, 0xf6, 0x9e, 0x9d, 0x08, 0x61, 0x90, 0xf4, 0x0e, 0xf3, 0x5a, - 0xe6, 0x9f, 0x5b, 0x70, 0x22, 0xc3, 0x21, 0x8f, 0xb3, 0xb4, 0x0d, 0x2f, 0x8a, 0xd5, 0x6b, 0x1a, - 0x1a, 0x4b, 0xe3, 0xe5, 0x58, 0x61, 0xd0, 0xdd, 0xc2, 0x99, 0x66, 0x9a, 0x51, 0x0a, 0x57, 0x17, - 0x01, 0xed, 0x8f, 0x51, 0xa2, 0x33, 0x50, 0xe9, 0x44, 0x24, 0x94, 0x0f, 0x4b, 0x4a, 0x3e, 0x7f, - 0x2b, 0x22, 0x21, 0x66, 0x10, 0x2a, 0xb6, 0x6e, 0x28, 0x8b, 0xa0, 0x26, 0xb6, 0x32, 0xeb, 0x1e, - 0xe6, 0x30, 0xfb, 0xcb, 0x65, 0x98, 0x48, 0x39, 0xe6, 0xd2, 0x8e, 0x6c, 0x05, 0xbe, 0x17, 0x07, - 0x2a, 0xcf, 0x1e, 0x7f, 0xcb, 0x8e, 0xb4, 0x37, 0xaf, 0x8b, 0x72, 0xac, 0x30, 0xd0, 0xd3, 0xf2, - 0xb5, 0xe2, 0xf4, 0x2b, 0x21, 0x8b, 0x35, 0xe3, 0xc1, 0xe2, 0xa2, 0x2f, 0xfc, 0x3c, 0x09, 0x95, - 0x76, 0xa0, 0x1e, 0x9f, 0x57, 0xf3, 0x89, 0x17, 0x6b, 0xf5, 0x20, 0x68, 0x61, 0x06, 0x44, 0x4f, - 0x89, 0xaf, 0x4f, 0xdd, 0xd0, 0x60, 0xc7, 0x0d, 0x22, 0x6d, 0x08, 0x9e, 0x81, 0xa1, 0x7b, 0x64, - 0x27, 0xf4, 0xfc, 0x8d, 0xf4, 0xfd, 0xd4, 0x55, 0x5e, 0x8c, 0x25, 0xdc, 0x4c, 0x9a, 0x3f, 0x74, - 0xc4, 0xaf, 0xf8, 0x0c, 0xe7, 0x9e, 0x83, 0xdf, 0xb4, 0x60, 0x82, 0x65, 0xc1, 0x15, 0xa9, 0x1a, - 0xbc, 0xc0, 0x3f, 0x06, 0x19, 0xe3, 0x49, 0x18, 0x08, 0x69, 0xa3, 0xe9, 0x67, 0x38, 0x58, 0x4f, - 0x30, 0x87, 0xa1, 0xc7, 0xa0, 0xc2, 0xba, 0x40, 0xa7, 0x71, 0x94, 0x27, 0xdb, 0xaf, 0x39, 0xb1, - 0x83, 0x59, 0x29, 0x8b, 0x85, 0xc3, 0xa4, 0xdd, 0xf2, 0x78, 0xa7, 0x13, 0x83, 0xee, 0x07, 0x2d, - 0x16, 0x2e, 0xb3, 0x93, 0x0f, 0x2b, 0x16, 0x2e, 0x9b, 0xf8, 0xc1, 0x72, 0xfe, 0x7f, 0x2b, 0xc1, - 0xe9, 0xcc, 0x7a, 0xc9, 0x4d, 0xf7, 0x8a, 0x71, 0xd3, 0x7d, 0x31, 0x75, 0xd3, 0x6d, 0x1f, 0x5c, - 0xfb, 0xe1, 0xdc, 0x7d, 0x67, 0x5f, 0x49, 0x97, 0x8f, 0xf1, 0x4a, 0xba, 0x52, 0x54, 0xc4, 0x19, - 0xc8, 0x11, 0x71, 0xfe, 0xd0, 0x82, 0x47, 0x33, 0x87, 0xec, 0x03, 0x17, 0x7c, 0x98, 0xd9, 0xcb, - 0x1e, 0xda, 0xc9, 0x2f, 0x97, 0x7b, 0x7c, 0x15, 0xd3, 0x53, 0xce, 0x52, 0x2e, 0xc4, 0x80, 0x91, - 0x10, 0xde, 0x46, 0x39, 0x07, 0xe2, 0x65, 0x58, 0x41, 0x51, 0xa4, 0x05, 0xef, 0xf1, 0x4e, 0x2e, - 0x1f, 0x72, 0x43, 0xcd, 0x9b, 0x96, 0x78, 0x3d, 0xff, 0x44, 0x3a, 0xa4, 0xef, 0x8e, 0xa6, 0x79, - 0x96, 0x0f, 0xa3, 0x79, 0x8e, 0x66, 0x6b, 0x9d, 0x68, 0x01, 0x26, 0xb6, 0x3c, 0x9f, 0x3d, 0xfe, - 0x6b, 0x4a, 0x4f, 0x2a, 0x82, 0xfa, 0xba, 0x09, 0xc6, 0x69, 0xfc, 0xd9, 0x57, 0x60, 0xec, 0xf0, - 0xd6, 0xb5, 0x1f, 0x94, 0xe1, 0xc3, 0x07, 0x30, 0x05, 0x7e, 0x3a, 0x18, 0xf3, 0xa2, 0x9d, 0x0e, - 0x5d, 0x73, 0x53, 0x87, 0xe9, 0xf5, 0x4e, 0xab, 0xb5, 0xc3, 0xfc, 0xc4, 0x88, 0x2b, 0x31, 0x84, - 0x50, 0xa3, 0x92, 0x62, 0xaf, 0x64, 0xe0, 0xe0, 0xcc, 0x9a, 0xe8, 0xa7, 0x01, 0x05, 0x77, 0x59, - 0x7a, 0x66, 0x37, 0xc9, 0xaf, 0xc1, 0xa6, 0xa0, 0x9c, 0x6c, 0xd5, 0x9b, 0x5d, 0x18, 0x38, 0xa3, - 0x16, 0x95, 0x53, 0xe9, 0x39, 0xb6, 0xa3, 0xba, 0x95, 0x92, 0x53, 0xb1, 0x0e, 0xc4, 0x26, 0x2e, - 0xba, 0x0c, 0x53, 0xce, 0xb6, 0xe3, 0xf1, 0x74, 0x6b, 0x92, 0x00, 0x17, 0x54, 0x95, 0xfd, 0x6a, - 0x21, 0x8d, 0x80, 0xbb, 0xeb, 0xa0, 0xb6, 0x61, 0x90, 0xe4, 0x2f, 0x44, 0x7c, 0xf2, 0x10, 0x2b, - 0xb8, 0xb0, 0x89, 0xd2, 0xfe, 0x53, 0x8b, 0x1e, 0x7d, 0x19, 0xef, 0xc4, 0xd2, 0x11, 0x51, 0x06, - 0x36, 0x2d, 0x18, 0x51, 0x8d, 0xc8, 0x92, 0x0e, 0xc4, 0x26, 0x2e, 0x5f, 0x1a, 0x51, 0xe2, 0xb6, - 0x6e, 0x48, 0x9b, 0x22, 0x8e, 0x57, 0x61, 0x50, 0x09, 0xda, 0xf5, 0xb6, 0xbd, 0x28, 0x08, 0xc5, - 0x06, 0xea, 0xf7, 0x35, 0x76, 0xc5, 0x2f, 0x6b, 0x9c, 0x0c, 0x96, 0xf4, 0xec, 0xaf, 0x94, 0x60, - 0x4c, 0xb6, 0xf8, 0x5a, 0x27, 0x88, 0x9d, 0x63, 0x38, 0xd2, 0x5f, 0x33, 0x8e, 0xf4, 0xf3, 0xc5, - 0xc2, 0x9a, 0x59, 0xe7, 0x7a, 0x1e, 0xe5, 0x9f, 0x4e, 0x1d, 0xe5, 0x17, 0xfa, 0x21, 0x7a, 0xf0, - 0x11, 0xfe, 0x6f, 0x2c, 0x98, 0x32, 0xf0, 0x8f, 0xe1, 0x24, 0xa9, 0x9b, 0x27, 0xc9, 0x73, 0x7d, - 0x7c, 0x4d, 0x8f, 0x13, 0xe4, 0xeb, 0xa5, 0xd4, 0x57, 0xb0, 0x93, 0xe3, 0x67, 0xa0, 0xb2, 0xe9, - 0x84, 0x6e, 0xb1, 0xdc, 0xa3, 0x5d, 0xd5, 0xe7, 0xaf, 0x38, 0xa1, 0xcb, 0xf9, 0xff, 0x39, 0xf5, - 0x8a, 0x9d, 0x13, 0xba, 0xb9, 0xd1, 0x1c, 0xac, 0x51, 0x74, 0x09, 0x06, 0xa3, 0x66, 0xd0, 0x56, - 0xfe, 0xae, 0x67, 0xf8, 0x0b, 0x77, 0xb4, 0x64, 0x7f, 0x77, 0x0e, 0x99, 0xcd, 0xd1, 0x62, 0x2c, - 0xf0, 0x67, 0x37, 0xa0, 0xaa, 0x9a, 0x3e, 0x52, 0x8f, 0xff, 0xff, 0x52, 0x86, 0x13, 0x19, 0x6b, - 0x05, 0xfd, 0xac, 0x31, 0x6e, 0xaf, 0xf4, 0xbd, 0xd8, 0xde, 0xe7, 0xc8, 0xfd, 0x2c, 0xd3, 0x94, - 0x5c, 0xb1, 0x3a, 0x0e, 0xd1, 0xfc, 0xad, 0x88, 0xa4, 0x9b, 0xa7, 0x45, 0xf9, 0xcd, 0xd3, 0x66, - 0x8f, 0x6d, 0xf8, 0x69, 0x43, 0xaa, 0xa7, 0x47, 0x3a, 0xcf, 0x5f, 0xa8, 0xc0, 0x74, 0x56, 0xfe, - 0x04, 0xf4, 0x0b, 0x56, 0xea, 0xa5, 0x93, 0x57, 0xfb, 0x4f, 0xc2, 0xc0, 0x9f, 0x3f, 0x11, 0xd9, - 0x8d, 0xe6, 0xcd, 0xb7, 0x4f, 0x72, 0x47, 0x5c, 0xb4, 0xce, 0xe2, 0xb0, 0x42, 0xfe, 0x6a, 0x8d, - 0xe4, 0x0a, 0x9f, 0x3a, 0x44, 0x57, 0xc4, 0xc3, 0x37, 0x51, 0x2a, 0x0e, 0x4b, 0x16, 0xe7, 0xc7, - 0x61, 0xc9, 0x3e, 0xcc, 0x7a, 0x30, 0xa2, 0x7d, 0xd7, 0x91, 0x2e, 0x83, 0x7b, 0xf4, 0x88, 0xd2, - 0xfa, 0x7d, 0xa4, 0x4b, 0xe1, 0xef, 0x58, 0x90, 0x72, 0x4e, 0x53, 0x66, 0x19, 0xab, 0xa7, 0x59, - 0xe6, 0x0c, 0x54, 0xc2, 0xa0, 0x45, 0xd2, 0x8f, 0x5f, 0xe0, 0xa0, 0x45, 0x30, 0x83, 0xa8, 0x87, - 0xad, 0xcb, 0xbd, 0x1e, 0xb6, 0xa6, 0x7a, 0x7a, 0x8b, 0x6c, 0x13, 0x69, 0x24, 0x51, 0x6c, 0xfc, - 0x1a, 0x2d, 0xc4, 0x1c, 0x66, 0xff, 0x66, 0x05, 0x4e, 0x64, 0xc4, 0x24, 0x52, 0x0d, 0x69, 0xc3, - 0x89, 0xc9, 0x7d, 0x67, 0x27, 0x9d, 0x84, 0xf7, 0x32, 0x2f, 0xc6, 0x12, 0xce, 0x9c, 0x6a, 0x79, - 0x22, 0xbf, 0x94, 0xe9, 0x4a, 0xe4, 0xef, 0x13, 0xd0, 0xa3, 0x7f, 0x02, 0xf9, 0x22, 0x40, 0x14, - 0xb5, 0x96, 0x7d, 0x2a, 0xe1, 0xb9, 0xc2, 0x79, 0x37, 0xc9, 0xff, 0xd8, 0xb8, 0x26, 0x20, 0x58, - 0xc3, 0x42, 0x35, 0x98, 0x6c, 0x87, 0x41, 0xcc, 0x0d, 0x83, 0x35, 0xee, 0x6a, 0x31, 0x60, 0x46, - 0x8d, 0xd5, 0x53, 0x70, 0xdc, 0x55, 0x03, 0xbd, 0x04, 0x23, 0x22, 0x92, 0xac, 0x1e, 0x04, 0x2d, - 0x61, 0x46, 0x52, 0xf7, 0xf1, 0x8d, 0x04, 0x84, 0x75, 0x3c, 0xad, 0x1a, 0xb3, 0x36, 0x0e, 0x65, - 0x56, 0xe3, 0x16, 0x47, 0x0d, 0x2f, 0x95, 0x65, 0x65, 0xb8, 0x50, 0x96, 0x95, 0xc4, 0xb0, 0x56, - 0x2d, 0x7c, 0x11, 0x03, 0xb9, 0x06, 0xa8, 0xdf, 0x2f, 0xc3, 0x20, 0x9f, 0x8a, 0x63, 0x90, 0xf2, - 0xea, 0xc2, 0xa4, 0x54, 0x28, 0xa3, 0x05, 0xef, 0xd5, 0x7c, 0xcd, 0x89, 0x1d, 0xce, 0x9a, 0xd4, - 0x0e, 0x49, 0xcc, 0x50, 0x68, 0xde, 0xd8, 0x43, 0xb3, 0x29, 0x4b, 0x09, 0x70, 0x1a, 0xda, 0x8e, - 0xda, 0x04, 0x88, 0xd8, 0x33, 0xbc, 0x94, 0x86, 0xc8, 0x10, 0xfc, 0x62, 0xa1, 0x7e, 0x34, 0x54, - 0x35, 0xde, 0x9b, 0x64, 0x59, 0x2a, 0x00, 0xd6, 0x68, 0xcf, 0xbe, 0x0c, 0x55, 0x85, 0x9c, 0xa7, - 0x42, 0x8e, 0xea, 0xac, 0xed, 0x27, 0x61, 0x22, 0xd5, 0x56, 0x5f, 0x1a, 0xe8, 0x6f, 0x5b, 0x30, - 0xc1, 0xbb, 0xbc, 0xec, 0x6f, 0x0b, 0x56, 0xf0, 0x79, 0x0b, 0xa6, 0x5b, 0x19, 0x3b, 0x51, 0x4c, - 0xf3, 0x61, 0xf6, 0xb0, 0x52, 0x3e, 0xb3, 0xa0, 0x38, 0xb3, 0x35, 0x74, 0x16, 0x86, 0xf9, 0xab, - 0xe2, 0x4e, 0x4b, 0x78, 0x8a, 0x8f, 0xf2, 0xdc, 0xe8, 0xbc, 0x0c, 0x2b, 0xa8, 0xfd, 0x43, 0x0b, - 0xa6, 0xf8, 0x47, 0x5c, 0x25, 0x3b, 0x4a, 0xbd, 0xfa, 0x80, 0x7c, 0x86, 0xc8, 0x02, 0x5f, 0xea, - 0x91, 0x05, 0x5e, 0xff, 0xca, 0xf2, 0x81, 0x5f, 0xf9, 0x0d, 0x0b, 0xc4, 0x0a, 0x3d, 0x06, 0xfd, - 0x61, 0xd5, 0xd4, 0x1f, 0x3e, 0x52, 0x64, 0xd1, 0xf7, 0x50, 0x1c, 0x7e, 0xa9, 0x04, 0x93, 0x1c, - 0x21, 0xb9, 0x91, 0xf9, 0xa0, 0x4c, 0x4e, 0x7f, 0xaf, 0x13, 0xa9, 0xb7, 0x69, 0xb3, 0xbf, 0xd4, - 0x98, 0xcb, 0xca, 0x81, 0x73, 0xf9, 0x3f, 0x2d, 0x40, 0x7c, 0x4c, 0xd2, 0x4f, 0xb2, 0xf3, 0xd3, - 0x4d, 0x33, 0x07, 0x24, 0x9c, 0x43, 0x41, 0xb0, 0x86, 0xf5, 0x90, 0x3f, 0x21, 0x75, 0x1f, 0x56, - 0xce, 0xbf, 0x0f, 0xeb, 0xe3, 0xab, 0xff, 0x7b, 0x19, 0xd2, 0xce, 0x9a, 0xe8, 0x6d, 0x18, 0x6d, - 0x3a, 0x6d, 0xe7, 0xae, 0xd7, 0xf2, 0x62, 0x8f, 0x44, 0xc5, 0x2e, 0xdc, 0x97, 0xb4, 0x1a, 0xe2, - 0x1a, 0x4a, 0x2b, 0xc1, 0x06, 0x45, 0x34, 0x0f, 0xd0, 0x0e, 0xbd, 0x6d, 0xaf, 0x45, 0x36, 0x98, - 0xc6, 0xc3, 0x62, 0x4e, 0xf8, 0xdd, 0xb1, 0x2c, 0xc5, 0x1a, 0x46, 0x46, 0x8c, 0x42, 0xf9, 0x38, - 0x62, 0x14, 0x2a, 0x47, 0x18, 0xa3, 0x30, 0x50, 0x28, 0x46, 0x01, 0xc3, 0x29, 0x79, 0xd0, 0xd3, - 0xff, 0x2b, 0x5e, 0x8b, 0x08, 0x39, 0x8f, 0xc7, 0xaf, 0xcc, 0xee, 0xed, 0xce, 0x9d, 0xc2, 0x99, - 0x18, 0xb8, 0x47, 0x4d, 0xbb, 0x03, 0x27, 0x1a, 0x24, 0x94, 0x4f, 0xef, 0xa9, 0x7d, 0xf7, 0x59, - 0xa8, 0x86, 0xa9, 0x2d, 0xdf, 0x67, 0x92, 0x02, 0x2d, 0x2f, 0x9d, 0xdc, 0xe2, 0x09, 0x49, 0xfb, - 0xaf, 0x97, 0x60, 0x48, 0xb8, 0x74, 0x1e, 0x83, 0xa0, 0x72, 0xd5, 0x30, 0x47, 0x3d, 0x93, 0xc7, - 0x2b, 0x59, 0xb7, 0x7a, 0x1a, 0xa2, 0x1a, 0x29, 0x43, 0xd4, 0x73, 0xc5, 0xc8, 0x1d, 0x6c, 0x82, - 0xfa, 0x27, 0x65, 0x18, 0x37, 0x5d, 0x5c, 0x8f, 0x61, 0x58, 0x5e, 0x87, 0xa1, 0x48, 0x78, 0x5b, - 0x97, 0x8a, 0xf8, 0xf7, 0xa5, 0xa7, 0x38, 0xb9, 0xb5, 0x17, 0xfe, 0xd5, 0x92, 0x5c, 0xa6, 0x43, - 0x77, 0xf9, 0x58, 0x1c, 0xba, 0xf3, 0x3c, 0x8f, 0x2b, 0x0f, 0xc3, 0xf3, 0xd8, 0xfe, 0x2e, 0x3b, - 0x1e, 0xf4, 0xf2, 0x63, 0x38, 0xf2, 0x5f, 0x33, 0x0f, 0x92, 0x73, 0x85, 0xd6, 0x9d, 0xe8, 0x5e, - 0x8f, 0xa3, 0xff, 0x5b, 0x16, 0x8c, 0x08, 0xc4, 0x63, 0xf8, 0x80, 0x9f, 0x36, 0x3f, 0xe0, 0xa9, - 0x42, 0x1f, 0xd0, 0xa3, 0xe7, 0x5f, 0x29, 0xa9, 0x9e, 0xd7, 0x83, 0x30, 0x2e, 0x94, 0xbd, 0x7d, - 0x98, 0xaa, 0x89, 0x41, 0x33, 0x68, 0x09, 0x61, 0xef, 0xb1, 0x24, 0x5c, 0x91, 0x97, 0xef, 0x6b, - 0xbf, 0xb1, 0xc2, 0x66, 0xd1, 0x74, 0x41, 0x18, 0x8b, 0xc3, 0x36, 0x89, 0xa6, 0x0b, 0xc2, 0x18, - 0x33, 0x08, 0x72, 0x01, 0x62, 0x27, 0xdc, 0x20, 0x31, 0x2d, 0x13, 0x91, 0xbe, 0xbd, 0x77, 0x6b, - 0x27, 0xf6, 0x5a, 0xf3, 0x9e, 0x1f, 0x47, 0x71, 0x38, 0xbf, 0xea, 0xc7, 0x37, 0x43, 0xae, 0x20, - 0x68, 0xf1, 0x87, 0x8a, 0x16, 0xd6, 0xe8, 0xca, 0x90, 0x12, 0xd6, 0xc6, 0x80, 0x79, 0xdb, 0x74, - 0x43, 0x94, 0x63, 0x85, 0x61, 0xbf, 0xcc, 0x38, 0x3b, 0x1b, 0xa0, 0xfe, 0x42, 0x03, 0xbf, 0x30, - 0xa4, 0x86, 0x96, 0x99, 0x90, 0x6f, 0xe8, 0x01, 0x88, 0x45, 0xd9, 0x27, 0xed, 0x82, 0xee, 0x73, - 0x9d, 0xc4, 0x2b, 0x22, 0xd2, 0x75, 0x45, 0xf9, 0x72, 0x61, 0x8e, 0xdc, 0xc7, 0xa5, 0x24, 0x4b, - 0x23, 0xc9, 0x72, 0xe7, 0xad, 0xd6, 0xd3, 0x39, 0xf7, 0x97, 0x24, 0x00, 0x27, 0x38, 0xe8, 0xbc, - 0x50, 0x3e, 0xb9, 0x75, 0xe6, 0xc3, 0x29, 0xe5, 0x53, 0x0e, 0x89, 0xa6, 0x7d, 0x5e, 0x80, 0x11, - 0xf5, 0x8c, 0x51, 0x9d, 0x3f, 0x20, 0x53, 0xe5, 0xb2, 0xd8, 0x72, 0x52, 0x8c, 0x75, 0x1c, 0xb4, - 0x06, 0x13, 0x11, 0x7f, 0x63, 0x49, 0xc6, 0x76, 0x08, 0x23, 0xc3, 0xb3, 0xf2, 0x42, 0xb3, 0x61, - 0x82, 0xf7, 0x59, 0x11, 0xdf, 0xca, 0x32, 0x1a, 0x24, 0x4d, 0x02, 0xbd, 0x0a, 0xe3, 0x2d, 0xfd, - 0xdd, 0xd9, 0xba, 0xb0, 0x41, 0x28, 0x17, 0x35, 0xe3, 0x55, 0xda, 0x3a, 0x4e, 0x61, 0xa3, 0xd7, - 0x61, 0x46, 0x2f, 0x11, 0x09, 0x91, 0x1c, 0x7f, 0x83, 0x44, 0xe2, 0x3d, 0x96, 0xc7, 0xf6, 0x76, - 0xe7, 0x66, 0xae, 0xf5, 0xc0, 0xc1, 0x3d, 0x6b, 0xa3, 0x4b, 0x30, 0x2a, 0x3f, 0x5f, 0x8b, 0x84, - 0x4a, 0x9c, 0x23, 0x35, 0x18, 0x36, 0x30, 0xd1, 0x7d, 0x38, 0x29, 0xff, 0xaf, 0x85, 0xce, 0xfa, - 0xba, 0xd7, 0x14, 0x21, 0x69, 0x23, 0x8c, 0xc4, 0x82, 0xf4, 0x2d, 0x5f, 0xce, 0x42, 0xda, 0xdf, - 0x9d, 0x3b, 0x23, 0x46, 0x2d, 0x13, 0xce, 0x26, 0x31, 0x9b, 0x3e, 0xba, 0x0e, 0x27, 0x36, 0x89, - 0xd3, 0x8a, 0x37, 0x97, 0x36, 0x49, 0xf3, 0x9e, 0xdc, 0x58, 0x2c, 0xbe, 0x4a, 0x73, 0x1f, 0xbc, - 0xd2, 0x8d, 0x82, 0xb3, 0xea, 0xbd, 0xbf, 0xfb, 0xe7, 0x9f, 0xa1, 0x95, 0x35, 0xf9, 0x01, 0xbd, - 0x03, 0xa3, 0xfa, 0x58, 0xa7, 0x05, 0x83, 0xfc, 0x37, 0x89, 0x85, 0x1c, 0xa2, 0x66, 0x40, 0x87, - 0x61, 0x83, 0xb6, 0xfd, 0xef, 0x4a, 0x30, 0x97, 0x93, 0x6f, 0x2c, 0x65, 0xf9, 0xb2, 0x0a, 0x59, - 0xbe, 0x16, 0xe4, 0x3b, 0x3d, 0x37, 0x52, 0x79, 0xde, 0x53, 0x2f, 0xef, 0x24, 0xd9, 0xde, 0xd3, - 0xf8, 0x85, 0xbd, 0xd2, 0x74, 0xe3, 0x59, 0x25, 0xd7, 0x39, 0xef, 0x0d, 0xdd, 0x1e, 0x3a, 0x70, - 0x18, 0xa1, 0xb7, 0xa7, 0x29, 0xd4, 0xfe, 0x6e, 0x09, 0x4e, 0xaa, 0xc1, 0xfc, 0xf1, 0x1d, 0xc2, - 0xb7, 0xba, 0x87, 0xf0, 0xa1, 0x9a, 0x94, 0xed, 0x9b, 0x30, 0xd8, 0xd8, 0x89, 0x9a, 0x71, 0xab, - 0xc0, 0x89, 0xff, 0xa4, 0xb1, 0xaf, 0x92, 0xd3, 0x88, 0xbd, 0xbe, 0x27, 0xb6, 0x99, 0xfd, 0x8b, - 0x16, 0x4c, 0xac, 0x2d, 0xd5, 0x1b, 0x41, 0xf3, 0x1e, 0x89, 0x17, 0xb8, 0xf1, 0x03, 0x8b, 0x03, - 0xdf, 0x3a, 0xe4, 0x41, 0x9e, 0x25, 0x22, 0x9c, 0x81, 0xca, 0x66, 0x10, 0xc5, 0xe9, 0x0b, 0x84, - 0x2b, 0x41, 0x14, 0x63, 0x06, 0xb1, 0xff, 0xcc, 0x82, 0x01, 0xf6, 0xb8, 0x5c, 0xde, 0xc3, 0x84, - 0x45, 0xbe, 0x0b, 0xbd, 0x04, 0x83, 0x64, 0x7d, 0x9d, 0x34, 0x63, 0x31, 0xbf, 0x32, 0x18, 0x67, - 0x70, 0x99, 0x95, 0xd2, 0x13, 0x8d, 0x35, 0xc6, 0xff, 0x62, 0x81, 0x8c, 0x3e, 0x03, 0xd5, 0xd8, - 0xdb, 0x22, 0x0b, 0xae, 0x2b, 0x2c, 0xf6, 0xfd, 0xf9, 0x87, 0xa9, 0x13, 0x76, 0x4d, 0x12, 0xc1, - 0x09, 0x3d, 0xfb, 0x4b, 0x25, 0x80, 0x24, 0xd8, 0x2e, 0xef, 0x33, 0x17, 0xbb, 0xde, 0x5f, 0x7c, - 0x3a, 0xe3, 0xfd, 0x45, 0x94, 0x10, 0xcc, 0x78, 0x7d, 0x51, 0x0d, 0x55, 0xb9, 0xd0, 0x50, 0x55, - 0xfa, 0x19, 0xaa, 0x25, 0x98, 0x4a, 0x82, 0x05, 0xcd, 0xa8, 0x6b, 0x96, 0x23, 0x79, 0x2d, 0x0d, - 0xc4, 0xdd, 0xf8, 0xf6, 0x97, 0x2c, 0x10, 0x1e, 0xc5, 0x05, 0x16, 0xb4, 0x2b, 0xdf, 0x4a, 0x33, - 0xd2, 0x21, 0x3e, 0x5b, 0xc4, 0xd9, 0x5a, 0x24, 0x41, 0x54, 0x7c, 0xdf, 0x48, 0x7d, 0x68, 0x50, - 0xb5, 0x7f, 0xc3, 0x82, 0x11, 0x0e, 0xbe, 0xce, 0x14, 0xd1, 0xfc, 0x7e, 0xf5, 0x95, 0x80, 0x9b, - 0x3d, 0x23, 0x46, 0x09, 0xab, 0x44, 0xcc, 0xfa, 0x33, 0x62, 0x12, 0x80, 0x13, 0x1c, 0xf4, 0x0c, - 0x0c, 0x45, 0x9d, 0xbb, 0x0c, 0x3d, 0xe5, 0x5e, 0xdc, 0xe0, 0xc5, 0x58, 0xc2, 0xed, 0x7f, 0x56, - 0x82, 0xc9, 0xb4, 0x77, 0x39, 0xc2, 0x30, 0xc8, 0x19, 0x48, 0x5a, 0xa7, 0x39, 0xc8, 0x58, 0xaa, - 0x79, 0xa7, 0x03, 0x7f, 0x0c, 0x9f, 0xb1, 0x20, 0x41, 0x09, 0xad, 0xc3, 0x88, 0x1b, 0xdc, 0xf7, - 0xef, 0x3b, 0xa1, 0xbb, 0x50, 0x5f, 0x15, 0x33, 0x91, 0xe3, 0x0f, 0x58, 0x4b, 0x2a, 0xe8, 0xbe, - 0xef, 0xcc, 0x78, 0x97, 0x80, 0xb0, 0x4e, 0x18, 0x7d, 0x96, 0x65, 0x6f, 0x59, 0xf7, 0x36, 0xae, - 0x3b, 0xed, 0x62, 0x9e, 0x2f, 0x4b, 0x12, 0x5d, 0x6b, 0x63, 0x4c, 0x24, 0x7b, 0xe1, 0x00, 0x9c, - 0x90, 0xb4, 0x7f, 0xe9, 0x24, 0x18, 0x6b, 0xc1, 0xc8, 0x92, 0x6d, 0x3d, 0xf4, 0x2c, 0xd9, 0x6f, - 0xc2, 0x30, 0xd9, 0x6a, 0xc7, 0x3b, 0x35, 0x2f, 0x2c, 0xf6, 0xe6, 0xc1, 0xb2, 0xc0, 0xee, 0xa6, - 0x2e, 0x21, 0x58, 0x51, 0xec, 0x91, 0xf3, 0xbc, 0xfc, 0x81, 0xc8, 0x79, 0x5e, 0xf9, 0x4b, 0xc9, - 0x79, 0xfe, 0x3a, 0x0c, 0x6d, 0x78, 0x31, 0x26, 0xed, 0x40, 0x9c, 0xc6, 0x39, 0x8b, 0xe7, 0x32, - 0x47, 0xee, 0xce, 0x86, 0x2b, 0x00, 0x58, 0x92, 0x43, 0x6b, 0x6a, 0x53, 0x0d, 0x16, 0x91, 0x41, - 0xbb, 0x8d, 0xe9, 0x99, 0xdb, 0x4a, 0xe4, 0x38, 0x1f, 0x7a, 0xff, 0x39, 0xce, 0x55, 0x66, 0xf2, - 0xe1, 0x87, 0x95, 0x99, 0xdc, 0xc8, 0xf0, 0x5e, 0x3d, 0x8a, 0x0c, 0xef, 0x5f, 0xb2, 0xe0, 0x64, - 0x3b, 0xeb, 0x7d, 0x04, 0x91, 0x63, 0xfc, 0xa7, 0x0e, 0xf1, 0x62, 0x84, 0xd1, 0x34, 0xcb, 0x06, - 0x92, 0x89, 0x86, 0xb3, 0x1b, 0x96, 0xa9, 0xe2, 0x47, 0xde, 0x7f, 0xaa, 0xf8, 0xa3, 0x4e, 0x46, - 0x9e, 0x24, 0x8e, 0x1f, 0x3b, 0x92, 0xc4, 0xf1, 0xe3, 0x0f, 0x31, 0x71, 0xbc, 0x96, 0xf2, 0x7d, - 0xe2, 0xe1, 0xa6, 0x7c, 0xdf, 0x34, 0xcf, 0x25, 0x9e, 0x61, 0xfc, 0xa5, 0xc2, 0xe7, 0x92, 0xd1, - 0xc2, 0xc1, 0x27, 0x13, 0x4f, 0x7e, 0x3f, 0xf5, 0x3e, 0x93, 0xdf, 0x1b, 0x29, 0xe4, 0xd1, 0x51, - 0xa4, 0x90, 0x7f, 0x5b, 0x3f, 0x41, 0x4f, 0x14, 0x69, 0x41, 0x1d, 0x94, 0xdd, 0x2d, 0x64, 0x9d, - 0xa1, 0xdd, 0x49, 0xea, 0xa7, 0x8f, 0x3b, 0x49, 0xfd, 0xc9, 0x23, 0x4c, 0x52, 0x7f, 0xea, 0x58, - 0x93, 0xd4, 0x3f, 0xf2, 0x01, 0x49, 0x52, 0x3f, 0x73, 0x5c, 0x49, 0xea, 0x1f, 0x7d, 0xb8, 0x49, - 0xea, 0xdf, 0x86, 0x6a, 0x5b, 0xc6, 0x68, 0xce, 0xcc, 0x16, 0x99, 0xba, 0xcc, 0x90, 0x4e, 0x3e, - 0x75, 0x0a, 0x84, 0x13, 0xa2, 0xb4, 0x85, 0x24, 0x69, 0xfd, 0x87, 0x8b, 0xb4, 0x90, 0x69, 0xf7, - 0x38, 0x20, 0x55, 0xfd, 0x17, 0x4a, 0x70, 0xfa, 0xe0, 0xdd, 0x91, 0x18, 0x4d, 0xea, 0x89, 0x2d, - 0x3b, 0x65, 0x34, 0x61, 0x92, 0xa7, 0x86, 0x55, 0x38, 0xf4, 0xfd, 0x32, 0x4c, 0x29, 0x9f, 0xb0, - 0x96, 0xd7, 0xdc, 0xd1, 0x9e, 0xce, 0x52, 0xb1, 0x0c, 0x8d, 0x34, 0x02, 0xee, 0xae, 0x83, 0x16, - 0x60, 0xc2, 0x28, 0x5c, 0xad, 0x09, 0xfd, 0x45, 0x59, 0x69, 0x1a, 0x26, 0x18, 0xa7, 0xf1, 0xed, - 0xaf, 0x5b, 0xf0, 0x48, 0x8f, 0xac, 0xb4, 0x85, 0xe3, 0xb9, 0xdb, 0x30, 0xd1, 0x36, 0xab, 0x16, - 0x4e, 0x0f, 0x61, 0x64, 0xc1, 0x55, 0xbd, 0x4e, 0x01, 0x70, 0x9a, 0xfc, 0xe2, 0xd9, 0xef, 0xfd, - 0xe0, 0xf4, 0x87, 0xfe, 0xe0, 0x07, 0xa7, 0x3f, 0xf4, 0xfd, 0x1f, 0x9c, 0xfe, 0xd0, 0xcf, 0xed, - 0x9d, 0xb6, 0xbe, 0xb7, 0x77, 0xda, 0xfa, 0x83, 0xbd, 0xd3, 0xd6, 0xf7, 0xf7, 0x4e, 0x5b, 0x7f, - 0xbe, 0x77, 0xda, 0xfa, 0xd2, 0x0f, 0x4f, 0x7f, 0xe8, 0x8d, 0xd2, 0xf6, 0x85, 0xff, 0x17, 0x00, - 0x00, 0xff, 0xff, 0x06, 0x5b, 0x53, 0xd1, 0x4d, 0xd1, 0x00, 0x00, + 0xda, 0x18, 0x48, 0x04, 0xa3, 0xcb, 0xa2, 0x1c, 0x2b, 0x0c, 0xf4, 0x32, 0x8c, 0x35, 0xf5, 0x06, + 0xc4, 0x31, 0x76, 0x52, 0x54, 0x31, 0x5b, 0xc7, 0x26, 0x2e, 0x7a, 0x09, 0x86, 0x99, 0x61, 0xbc, + 0x19, 0xb4, 0x84, 0x0a, 0x29, 0x4f, 0xe5, 0xe1, 0xba, 0x28, 0xdf, 0xd7, 0x7e, 0x63, 0x85, 0x4d, + 0x15, 0x71, 0xda, 0x85, 0xd5, 0xba, 0x38, 0x40, 0x94, 0x22, 0x7e, 0x99, 0x95, 0x62, 0x01, 0xb5, + 0x7f, 0xab, 0xa4, 0x8d, 0x32, 0x55, 0x80, 0x08, 0x7a, 0x1d, 0x86, 0xee, 0x39, 0x5e, 0xec, 0xf9, + 0x1b, 0x42, 0x7a, 0x78, 0xae, 0xe0, 0x69, 0xc2, 0xaa, 0xdf, 0xe6, 0x55, 0xf9, 0xc9, 0x27, 0xfe, + 0x60, 0x49, 0x90, 0xd2, 0x0e, 0x3b, 0xbe, 0x4f, 0x69, 0x97, 0xfa, 0xa7, 0x8d, 0x79, 0x55, 0x4e, + 0x5b, 0xfc, 0xc1, 0x92, 0x20, 0x5a, 0x07, 0x90, 0x6b, 0x89, 0xb8, 0xc2, 0x20, 0xfd, 0x91, 0x7e, + 0xc8, 0xaf, 0xa9, 0xda, 0x8b, 0xe3, 0xf4, 0xac, 0x4d, 0xfe, 0x63, 0x8d, 0xb2, 0x1d, 0x33, 0x21, + 0xac, 0xbb, 0x5b, 0xe8, 0x53, 0x74, 0x4b, 0x3b, 0x61, 0x4c, 0xdc, 0x85, 0x38, 0x6d, 0xd3, 0x3f, + 0x58, 0xc4, 0x5e, 0xf3, 0xb6, 0x88, 0xbe, 0xfd, 0x05, 0x11, 0x9c, 0xd0, 0xb3, 0xbf, 0x5d, 0x86, + 0x99, 0x5e, 0xdd, 0xa5, 0x4b, 0x92, 0xdc, 0xf7, 0xe2, 0x25, 0x2a, 0x26, 0x59, 0xe6, 0x92, 0x5c, + 0x16, 0xe5, 0x58, 0x61, 0xd0, 0xb5, 0x11, 0x79, 0x1b, 0x52, 0x59, 0x1a, 0x48, 0xd6, 0x46, 0x83, + 0x95, 0x62, 0x01, 0xa5, 0x78, 0x21, 0x71, 0x22, 0x71, 0x1f, 0xa2, 0xad, 0x21, 0xcc, 0x4a, 0xb1, + 0x80, 0xea, 0x06, 0x91, 0x4a, 0x8e, 0x41, 0xc4, 0x18, 0xa2, 0x81, 0x07, 0x3b, 0x44, 0xe8, 0xd3, + 0x00, 0xeb, 0x9e, 0xef, 0x45, 0x9b, 0x8c, 0xfa, 0x60, 0xdf, 0xd4, 0x95, 0x90, 0xb5, 0xa2, 0xa8, + 0x60, 0x8d, 0x22, 0x7a, 0x01, 0x46, 0xd4, 0xf6, 0x5c, 0xad, 0xcd, 0x0c, 0x99, 0x36, 0xf4, 0x84, + 0x57, 0xd5, 0xb0, 0x8e, 0x67, 0xbf, 0x9d, 0x5e, 0x2f, 0x62, 0x57, 0x68, 0xe3, 0x6b, 0x15, 0x1d, + 0xdf, 0xd2, 0xc1, 0xe3, 0x6b, 0xff, 0xe7, 0x32, 0x4c, 0x18, 0x8d, 0x75, 0xa2, 0x02, 0x1c, 0xed, + 0x55, 0x7a, 0x60, 0x39, 0x31, 0x11, 0x7b, 0xf2, 0x5c, 0x3f, 0x9b, 0x46, 0x3f, 0xde, 0xe8, 0x5e, + 0xe0, 0x94, 0xd0, 0x26, 0x54, 0x5b, 0x4e, 0xc4, 0x4c, 0x2a, 0x44, 0xec, 0xc5, 0xfe, 0xc8, 0x26, + 0xea, 0x87, 0x13, 0xc5, 0xda, 0xe9, 0xc1, 0x5b, 0x49, 0x88, 0xd3, 0xd3, 0x96, 0x0a, 0x3b, 0xf2, + 0x12, 0x4e, 0x75, 0x87, 0x4a, 0x44, 0x3b, 0x98, 0xc3, 0xd0, 0x4b, 0x30, 0x1a, 0x12, 0xb6, 0x52, + 0x96, 0xa8, 0x3c, 0xc7, 0x96, 0xde, 0x40, 0x22, 0xf8, 0x61, 0x0d, 0x86, 0x0d, 0xcc, 0x44, 0xee, + 0x1f, 0x3c, 0x40, 0xee, 0x7f, 0x0a, 0x86, 0xd8, 0x0f, 0xb5, 0x2a, 0xd4, 0x0c, 0xad, 0xf2, 0x62, + 0x2c, 0xe1, 0xe9, 0x45, 0x34, 0x5c, 0x70, 0x11, 0x3d, 0x0d, 0xe3, 0x35, 0x87, 0x6c, 0x05, 0xfe, + 0xb2, 0xef, 0xb6, 0x03, 0xcf, 0x8f, 0xd1, 0x0c, 0x54, 0xd8, 0x79, 0xc2, 0xf7, 0x7b, 0x85, 0x52, + 0xc0, 0x15, 0x2a, 0xbb, 0xdb, 0x7f, 0x52, 0x82, 0xb1, 0x1a, 0x69, 0x91, 0x98, 0x70, 0xbd, 0x27, + 0x42, 0x2b, 0x80, 0x36, 0x42, 0xa7, 0x49, 0xea, 0x24, 0xf4, 0x02, 0xb7, 0x41, 0x9a, 0x81, 0xcf, + 0xee, 0xae, 0xe8, 0x01, 0x79, 0x6a, 0x6f, 0x77, 0x0e, 0x5d, 0xea, 0x82, 0xe2, 0x8c, 0x1a, 0xc8, + 0x85, 0xb1, 0x76, 0x48, 0x0c, 0xbb, 0xa1, 0x95, 0x2f, 0x6a, 0xd4, 0xf5, 0x2a, 0x5c, 0x1a, 0x36, + 0x8a, 0xb0, 0x49, 0x14, 0x7d, 0x02, 0x26, 0x83, 0xb0, 0xbd, 0xe9, 0xf8, 0x35, 0xd2, 0x26, 0xbe, + 0x4b, 0x55, 0x00, 0x61, 0xed, 0x98, 0xde, 0xdb, 0x9d, 0x9b, 0xbc, 0x91, 0x82, 0xe1, 0x2e, 0x6c, + 0xf4, 0x3a, 0x4c, 0xb5, 0xc3, 0xa0, 0xed, 0x6c, 0xb0, 0x25, 0x23, 0xa4, 0x15, 0xce, 0x9b, 0xce, + 0xed, 0xed, 0xce, 0x4d, 0xd5, 0xd3, 0xc0, 0xfd, 0xdd, 0xb9, 0x13, 0x6c, 0xc8, 0x68, 0x49, 0x02, + 0xc4, 0xdd, 0x64, 0xec, 0x77, 0xe0, 0x64, 0x2d, 0xb8, 0xe7, 0xdf, 0x73, 0x42, 0x77, 0xa1, 0xbe, + 0xaa, 0x19, 0x27, 0x5e, 0x93, 0xca, 0x2f, 0xbf, 0x13, 0xcc, 0x39, 0xd9, 0x34, 0x1a, 0x5c, 0xed, + 0x58, 0xf1, 0x5a, 0xa4, 0x87, 0x39, 0xe4, 0x1f, 0x97, 0x8c, 0x36, 0x13, 0x7c, 0x75, 0x77, 0x61, + 0xf5, 0xbc, 0xbb, 0xf8, 0x14, 0x0c, 0xaf, 0x7b, 0xa4, 0xe5, 0x62, 0xb2, 0x2e, 0x66, 0xeb, 0x42, + 0x91, 0xcb, 0x9d, 0x15, 0x5a, 0x47, 0x5a, 0xc7, 0xb8, 0x12, 0xbd, 0x22, 0xc8, 0x60, 0x45, 0x10, + 0x75, 0x60, 0x52, 0xea, 0x61, 0x12, 0x2a, 0x36, 0xfb, 0x73, 0xc5, 0xd4, 0x3c, 0xb3, 0x19, 0x36, + 0xbd, 0x38, 0x45, 0x10, 0x77, 0x35, 0x41, 0xf5, 0xe7, 0x2d, 0x7a, 0xd4, 0x55, 0xd8, 0xd2, 0x67, + 0xfa, 0x33, 0x33, 0x05, 0xb0, 0x52, 0xfb, 0x37, 0x2d, 0x78, 0xa8, 0x6b, 0xb4, 0x84, 0x9d, 0xe4, + 0xc8, 0xe6, 0x28, 0x6d, 0xac, 0x28, 0xe5, 0x1b, 0x2b, 0xec, 0xdf, 0xb2, 0x60, 0x7a, 0x79, 0xab, + 0x1d, 0xef, 0xd4, 0x3c, 0xf3, 0xce, 0xe5, 0x45, 0x18, 0xdc, 0x22, 0xae, 0xd7, 0xd9, 0x12, 0xf3, + 0x3a, 0x27, 0x0f, 0x86, 0x6b, 0xac, 0x74, 0x7f, 0x77, 0x6e, 0xac, 0x11, 0x07, 0xa1, 0xb3, 0x41, + 0x78, 0x01, 0x16, 0xe8, 0xec, 0x4a, 0xc9, 0x7b, 0x97, 0x5c, 0xf5, 0xb6, 0x3c, 0x79, 0x95, 0x77, + 0xa0, 0x91, 0x6f, 0x5e, 0x0e, 0xed, 0xfc, 0xab, 0x1d, 0xc7, 0x8f, 0xbd, 0x78, 0xc7, 0x94, 0x97, + 0x19, 0x21, 0x9c, 0xd0, 0xb4, 0x7f, 0x6c, 0xc1, 0x84, 0xe4, 0x40, 0x0b, 0xae, 0x1b, 0x92, 0x28, + 0x42, 0xb3, 0x50, 0xf2, 0xda, 0xa2, 0xa7, 0x20, 0x6a, 0x97, 0x56, 0xeb, 0xb8, 0xe4, 0xb5, 0xd1, + 0xeb, 0x50, 0xe5, 0x77, 0x81, 0xc9, 0xf2, 0xeb, 0xf3, 0x6e, 0x91, 0x69, 0x9f, 0x6b, 0x92, 0x06, + 0x4e, 0xc8, 0x49, 0x39, 0x9c, 0x9d, 0x6d, 0x65, 0xf3, 0x66, 0xea, 0xb2, 0x28, 0xc7, 0x0a, 0x03, + 0x9d, 0x85, 0x61, 0x3f, 0x70, 0xf9, 0x75, 0x2d, 0xe7, 0x04, 0x6c, 0x51, 0x5f, 0x17, 0x65, 0x58, + 0x41, 0xed, 0x2f, 0x59, 0x30, 0x2a, 0xbf, 0xb1, 0xa0, 0x4a, 0x40, 0xb7, 0x61, 0xa2, 0x0e, 0x24, + 0xdb, 0x90, 0x8a, 0xf4, 0x0c, 0x62, 0x48, 0xf2, 0xe5, 0x7e, 0x24, 0x79, 0xfb, 0xb7, 0x4b, 0x30, + 0x2e, 0xbb, 0xd3, 0xe8, 0xdc, 0x89, 0x08, 0x15, 0x74, 0xaa, 0x0e, 0x1f, 0x7c, 0x22, 0x57, 0xf2, + 0xb3, 0x79, 0xda, 0x9e, 0x31, 0x67, 0xc9, 0x2c, 0x2f, 0x48, 0x3a, 0x38, 0x21, 0x89, 0xb6, 0x61, + 0xca, 0x0f, 0x62, 0x76, 0x80, 0x2a, 0x78, 0xb1, 0xbb, 0x94, 0x74, 0x3b, 0x0f, 0x8b, 0x76, 0xa6, + 0xae, 0xa7, 0xe9, 0xe1, 0xee, 0x26, 0xd0, 0x0d, 0x69, 0xc5, 0x2a, 0xb3, 0xb6, 0x9e, 0x2e, 0xd6, + 0x56, 0x6f, 0x23, 0x96, 0xfd, 0xfb, 0x16, 0x54, 0x25, 0xda, 0x71, 0x5c, 0xaa, 0xdd, 0x86, 0xa1, + 0x88, 0x4d, 0x91, 0x1c, 0xae, 0x73, 0xc5, 0x3e, 0x81, 0xcf, 0x6b, 0x22, 0x35, 0xf0, 0xff, 0x11, + 0x96, 0xd4, 0x98, 0x39, 0x5f, 0x7d, 0xc8, 0xfb, 0xce, 0x9c, 0xaf, 0x7a, 0xd6, 0xfb, 0xee, 0x6c, + 0xcc, 0xb0, 0x37, 0x50, 0xd1, 0xb7, 0x1d, 0x92, 0x75, 0xef, 0x7e, 0x5a, 0xf4, 0xad, 0xb3, 0x52, + 0x2c, 0xa0, 0x68, 0x1d, 0x46, 0x9b, 0xd2, 0xe0, 0x9d, 0xb0, 0x90, 0x0f, 0x17, 0xbc, 0x5d, 0x50, + 0x17, 0x55, 0xdc, 0x5f, 0x6a, 0x49, 0xa3, 0x84, 0x0d, 0xba, 0x94, 0x4f, 0x25, 0x77, 0xf1, 0xe5, + 0x82, 0xa6, 0xa1, 0x90, 0xc4, 0x49, 0x0b, 0x3d, 0xaf, 0xe1, 0xed, 0xaf, 0x59, 0x30, 0xc8, 0x2d, + 0xa4, 0xc5, 0xcc, 0xcc, 0xda, 0x15, 0x5c, 0x32, 0x9e, 0xb7, 0x68, 0xa1, 0xb8, 0x91, 0x43, 0xb7, + 0xa1, 0xca, 0x7e, 0x30, 0x6b, 0x4f, 0xb9, 0x88, 0xf3, 0x18, 0x6f, 0x5f, 0xef, 0xea, 0x2d, 0x49, + 0x00, 0x27, 0xb4, 0xec, 0xef, 0x96, 0x29, 0xeb, 0x4b, 0x50, 0x0d, 0xe9, 0xc1, 0x3a, 0x0e, 0xe9, + 0xa1, 0x74, 0xf4, 0xd2, 0xc3, 0x3b, 0x30, 0xd1, 0xd4, 0xae, 0x00, 0x93, 0x19, 0xbf, 0x58, 0x70, + 0x59, 0x69, 0xf7, 0x86, 0xdc, 0x22, 0xb8, 0x64, 0x92, 0xc3, 0x69, 0xfa, 0x88, 0xc0, 0x28, 0x5f, + 0x0f, 0xa2, 0xbd, 0x0a, 0x6b, 0xef, 0x7c, 0x91, 0x15, 0xa6, 0x37, 0xc6, 0x56, 0x71, 0x43, 0x23, + 0x84, 0x0d, 0xb2, 0xf6, 0xaf, 0x0f, 0xc0, 0xc0, 0xf2, 0x36, 0xf1, 0xe3, 0x63, 0x60, 0x75, 0x5b, + 0x30, 0xee, 0xf9, 0xdb, 0x41, 0x6b, 0x9b, 0xb8, 0x1c, 0x7e, 0xb8, 0xe3, 0xfd, 0x94, 0x68, 0x64, + 0x7c, 0xd5, 0x20, 0x86, 0x53, 0xc4, 0x8f, 0xc2, 0x16, 0xf1, 0x2a, 0x0c, 0xf2, 0x95, 0x21, 0x0c, + 0x11, 0x39, 0x37, 0x06, 0x6c, 0x60, 0xc5, 0x0e, 0x4a, 0x2c, 0x26, 0xfc, 0xb2, 0x42, 0x10, 0x42, + 0x6f, 0xc3, 0xf8, 0xba, 0x17, 0x46, 0xf1, 0x9a, 0xb7, 0x45, 0x75, 0xc8, 0xad, 0xf6, 0x21, 0xac, + 0x10, 0x6a, 0x44, 0x56, 0x0c, 0x4a, 0x38, 0x45, 0x19, 0x6d, 0xc0, 0x18, 0x55, 0x82, 0x93, 0xa6, + 0x86, 0xfa, 0x6e, 0x4a, 0x19, 0x21, 0xaf, 0xea, 0x84, 0xb0, 0x49, 0x97, 0xb2, 0xa4, 0x26, 0x53, + 0x9a, 0x87, 0x99, 0x74, 0xa3, 0x58, 0x12, 0xd7, 0x96, 0x39, 0x8c, 0x72, 0x36, 0xe6, 0x8b, 0x53, + 0x35, 0x39, 0x5b, 0xe2, 0x71, 0x63, 0x7f, 0x83, 0x9e, 0xc5, 0x74, 0x0c, 0x8f, 0xe1, 0xf8, 0xba, + 0x6c, 0x1e, 0x5f, 0x8f, 0x17, 0x98, 0xd9, 0x1e, 0x47, 0xd7, 0x5b, 0x30, 0xa2, 0x4d, 0x3c, 0x3a, + 0x0f, 0xd5, 0xa6, 0x74, 0x17, 0x11, 0x5c, 0x5c, 0x89, 0x52, 0xca, 0x8f, 0x04, 0x27, 0x38, 0x74, + 0x5c, 0xa8, 0x08, 0x9a, 0x76, 0x2e, 0xa3, 0x02, 0x2a, 0x66, 0x10, 0xfb, 0x39, 0x80, 0xe5, 0xfb, + 0xa4, 0xb9, 0xc0, 0x95, 0x48, 0xed, 0x06, 0xd1, 0xea, 0x7d, 0x83, 0x68, 0x7f, 0xdd, 0x82, 0xf1, + 0x95, 0x25, 0x43, 0x69, 0x98, 0x07, 0xe0, 0xb2, 0xf1, 0xed, 0xdb, 0xd7, 0xa5, 0x85, 0x9c, 0x9b, + 0x31, 0x55, 0x29, 0xd6, 0x30, 0xd0, 0xc3, 0x50, 0x6e, 0x75, 0x7c, 0x21, 0xb2, 0x0e, 0xed, 0xed, + 0xce, 0x95, 0xaf, 0x76, 0x7c, 0x4c, 0xcb, 0x34, 0x2f, 0xae, 0x72, 0x61, 0x2f, 0xae, 0x7c, 0x17, + 0xe8, 0xaf, 0x94, 0x61, 0x72, 0xa5, 0x45, 0xee, 0x1b, 0xbd, 0x7e, 0x12, 0x06, 0xdd, 0xd0, 0xdb, + 0x26, 0x61, 0x5a, 0x10, 0xa8, 0xb1, 0x52, 0x2c, 0xa0, 0x85, 0x1d, 0xcb, 0xde, 0xec, 0x3e, 0xc8, + 0x8f, 0xce, 0xa9, 0x2e, 0xf7, 0x9b, 0xd1, 0x3a, 0x0c, 0xf1, 0x1b, 0xe7, 0x68, 0x66, 0x80, 0x2d, + 0xc5, 0x97, 0x0f, 0xee, 0x4c, 0x7a, 0x7c, 0xe6, 0x85, 0x05, 0x87, 0xbb, 0xf4, 0x28, 0x5e, 0x26, + 0x4a, 0xb1, 0x24, 0x3e, 0xfb, 0x31, 0x18, 0xd5, 0x31, 0xfb, 0xf2, 0xed, 0xf9, 0xab, 0x16, 0x9c, + 0x58, 0x69, 0x05, 0xcd, 0xbb, 0x29, 0xcf, 0xbf, 0x17, 0x60, 0x84, 0x6e, 0xa6, 0xc8, 0x70, 0x8b, + 0x35, 0x5c, 0x86, 0x05, 0x08, 0xeb, 0x78, 0x5a, 0xb5, 0x9b, 0x37, 0x57, 0x6b, 0x59, 0x9e, 0xc6, + 0x02, 0x84, 0x75, 0x3c, 0xfb, 0x0f, 0x2d, 0x78, 0xf4, 0xd2, 0xd2, 0x72, 0x9d, 0x84, 0x91, 0x17, + 0xc5, 0xc4, 0x8f, 0xbb, 0x9c, 0x9d, 0xa9, 0xcc, 0xe8, 0x6a, 0x5d, 0x49, 0x64, 0xc6, 0x1a, 0xeb, + 0x85, 0x80, 0xbe, 0x5f, 0x3c, 0xfe, 0xbf, 0x66, 0xc1, 0x89, 0x4b, 0x5e, 0x8c, 0x49, 0x3b, 0x48, + 0x3b, 0x1b, 0x87, 0xa4, 0x1d, 0x44, 0x5e, 0x1c, 0x84, 0x3b, 0x69, 0x67, 0x63, 0xac, 0x20, 0x58, + 0xc3, 0xe2, 0x2d, 0x6f, 0x7b, 0x11, 0xed, 0x69, 0xc9, 0x54, 0x75, 0xb1, 0x28, 0xc7, 0x0a, 0x83, + 0x7e, 0x98, 0xeb, 0x85, 0x4c, 0x64, 0xd8, 0x11, 0x3b, 0x58, 0x7d, 0x58, 0x4d, 0x02, 0x70, 0x82, + 0x63, 0xff, 0x5d, 0x0b, 0x4e, 0x5e, 0x6a, 0x75, 0xa2, 0x98, 0x84, 0xeb, 0x91, 0xd1, 0xd9, 0xe7, + 0xa0, 0x4a, 0xa4, 0x70, 0x2f, 0xfa, 0xaa, 0x0e, 0x0d, 0x25, 0xf5, 0x73, 0x4f, 0x67, 0x85, 0x57, + 0xc0, 0xa1, 0xb6, 0x3f, 0xf7, 0xcf, 0xdf, 0x2d, 0xc1, 0xd8, 0xe5, 0xb5, 0xb5, 0xfa, 0x25, 0x12, + 0x0b, 0x2e, 0x99, 0x6f, 0xf6, 0xc2, 0x9a, 0x46, 0x7e, 0x90, 0xf0, 0xd3, 0x89, 0xbd, 0xd6, 0x3c, + 0x8f, 0x46, 0x99, 0x5f, 0xf5, 0xe3, 0x1b, 0x61, 0x23, 0x0e, 0x3d, 0x7f, 0x23, 0x53, 0x87, 0x97, + 0xbc, 0xbc, 0xdc, 0x8b, 0x97, 0xa3, 0xe7, 0x60, 0x90, 0x85, 0xc3, 0x48, 0xe1, 0xe3, 0x83, 0x4a, + 0x4e, 0x60, 0xa5, 0xfb, 0xbb, 0x73, 0xd5, 0x9b, 0x78, 0x95, 0xff, 0xc1, 0x02, 0x15, 0xbd, 0x09, + 0x23, 0x9b, 0x71, 0xdc, 0xbe, 0x4c, 0x1c, 0x97, 0x84, 0x92, 0x4f, 0x9c, 0x3d, 0x98, 0x4f, 0xd0, + 0xe1, 0xe0, 0x15, 0x92, 0xad, 0x95, 0x94, 0x45, 0x58, 0xa7, 0x68, 0x37, 0x00, 0x12, 0xd8, 0x03, + 0xd2, 0x41, 0xec, 0x5f, 0x29, 0xc1, 0xd0, 0x65, 0xc7, 0x77, 0x5b, 0x24, 0x44, 0x2b, 0x50, 0x21, + 0xf7, 0x49, 0x53, 0x1c, 0xe4, 0x39, 0x5d, 0x4f, 0x0e, 0x3b, 0x6e, 0xb9, 0xa3, 0xff, 0x31, 0xab, + 0x8f, 0x30, 0x0c, 0xd1, 0x7e, 0x5f, 0x52, 0x7e, 0xe8, 0xcf, 0xe4, 0x8f, 0x82, 0x5a, 0x14, 0xfc, + 0xa4, 0x14, 0x45, 0x58, 0x12, 0x62, 0x16, 0xa8, 0x66, 0xbb, 0x41, 0xd9, 0x5b, 0x5c, 0x4c, 0xb3, + 0x5b, 0x5b, 0xaa, 0x73, 0x74, 0x41, 0x97, 0x5b, 0xa0, 0x64, 0x21, 0x4e, 0xc8, 0xd9, 0x6b, 0x50, + 0xa5, 0x93, 0xbf, 0xd0, 0xf2, 0x9c, 0x83, 0xcd, 0x60, 0xcf, 0x40, 0x55, 0x1a, 0xa2, 0x22, 0xe1, + 0xd4, 0xce, 0xa8, 0x4a, 0x3b, 0x55, 0x84, 0x13, 0xb8, 0xfd, 0x12, 0x4c, 0xb3, 0x7b, 0x64, 0x27, + 0xde, 0x34, 0xf6, 0x62, 0xee, 0xa2, 0xb7, 0xbf, 0x59, 0x81, 0xa9, 0xd5, 0xc6, 0x52, 0xc3, 0xb4, + 0x79, 0xbe, 0x04, 0xa3, 0xfc, 0xd8, 0xa7, 0x4b, 0xd9, 0x69, 0x89, 0xfa, 0xea, 0xee, 0x63, 0x4d, + 0x83, 0x61, 0x03, 0x13, 0x3d, 0x0a, 0x65, 0xef, 0x1d, 0x3f, 0xed, 0x8d, 0xb8, 0xfa, 0xea, 0x75, + 0x4c, 0xcb, 0x29, 0x98, 0x4a, 0x10, 0x9c, 0x75, 0x2a, 0xb0, 0x92, 0x22, 0x5e, 0x81, 0x71, 0x2f, + 0x6a, 0x46, 0xde, 0xaa, 0x4f, 0xf9, 0x8a, 0xd3, 0x94, 0x9b, 0x22, 0x11, 0xf9, 0x69, 0x57, 0x15, + 0x14, 0xa7, 0xb0, 0x35, 0x3e, 0x3e, 0x50, 0x58, 0x0a, 0xc9, 0x75, 0x73, 0xa7, 0x02, 0x56, 0x9b, + 0x7d, 0x5d, 0xc4, 0x7c, 0x9b, 0x84, 0x80, 0xc5, 0x3f, 0x38, 0xc2, 0x12, 0x86, 0x2e, 0xc1, 0x54, + 0x73, 0xd3, 0x69, 0x2f, 0x74, 0xe2, 0xcd, 0x9a, 0x17, 0x35, 0x83, 0x6d, 0x12, 0xee, 0x30, 0x01, + 0x78, 0x38, 0xb1, 0x69, 0x29, 0xc0, 0xd2, 0xe5, 0x85, 0x3a, 0xc5, 0xc4, 0xdd, 0x75, 0x4c, 0x81, + 0x04, 0x8e, 0x40, 0x20, 0x59, 0x80, 0x09, 0xd9, 0x6a, 0x83, 0x44, 0xec, 0x88, 0x18, 0x61, 0xfd, + 0x54, 0x01, 0x46, 0xa2, 0x58, 0xf5, 0x32, 0x8d, 0x6f, 0xbf, 0x0d, 0x55, 0xe5, 0x8b, 0x27, 0x5d, + 0x50, 0xad, 0x1e, 0x2e, 0xa8, 0xf9, 0xcc, 0x5d, 0x5a, 0xe7, 0xcb, 0x99, 0xd6, 0xf9, 0x7f, 0x6a, + 0x41, 0xe2, 0x4c, 0x84, 0x30, 0x54, 0xdb, 0x01, 0xbb, 0xc9, 0x0b, 0xe5, 0x95, 0xf9, 0x13, 0x39, + 0x7b, 0x9e, 0xf3, 0x1c, 0x3e, 0x20, 0x75, 0x59, 0x17, 0x27, 0x64, 0xd0, 0x55, 0x18, 0x6a, 0x87, + 0xa4, 0x11, 0xb3, 0xf8, 0x91, 0x3e, 0x28, 0xf2, 0x85, 0xc0, 0x6b, 0x62, 0x49, 0xc2, 0xfe, 0x97, + 0x16, 0x00, 0x37, 0x83, 0x3b, 0xfe, 0x06, 0x39, 0x06, 0xc5, 0xfa, 0x3a, 0x54, 0xa2, 0x36, 0x69, + 0x16, 0xbb, 0x8b, 0x4d, 0x7a, 0xd6, 0x68, 0x93, 0x66, 0x32, 0x1d, 0xf4, 0x1f, 0x66, 0x74, 0xec, + 0xef, 0x00, 0x8c, 0x27, 0x68, 0x54, 0xb9, 0x41, 0xcf, 0x1a, 0x81, 0x13, 0x0f, 0xa7, 0x02, 0x27, + 0xaa, 0x0c, 0x5b, 0x8b, 0x95, 0x88, 0xa1, 0xbc, 0xe5, 0xdc, 0x17, 0xba, 0xd4, 0x0b, 0x45, 0x3b, + 0x44, 0x5b, 0x9a, 0xbf, 0xe6, 0xdc, 0xe7, 0xa2, 0xeb, 0x33, 0x72, 0x21, 0x5d, 0x73, 0xee, 0xef, + 0xf3, 0x1b, 0x57, 0xc6, 0x9d, 0xa8, 0xf2, 0xf6, 0xd9, 0x3f, 0x4b, 0xfe, 0xb3, 0x63, 0x88, 0x36, + 0xc7, 0x5a, 0xf5, 0x7c, 0x61, 0x0a, 0xee, 0xb3, 0x55, 0xcf, 0x4f, 0xb7, 0xea, 0xf9, 0x05, 0x5a, + 0xf5, 0x98, 0x87, 0xf1, 0x90, 0xb8, 0xa3, 0x61, 0xee, 0x99, 0x23, 0x17, 0x3f, 0xda, 0x57, 0xd3, + 0xe2, 0xb2, 0x87, 0x37, 0x7f, 0x5e, 0xca, 0xeb, 0xa2, 0x34, 0xb7, 0x0b, 0xb2, 0x69, 0xf4, 0xf7, + 0x2c, 0x18, 0x17, 0xbf, 0x31, 0x79, 0xa7, 0x43, 0xa2, 0x58, 0xc8, 0x05, 0x9f, 0x38, 0x4c, 0x6f, + 0x04, 0x09, 0xde, 0xa9, 0x8f, 0x48, 0xf6, 0x6b, 0x02, 0x73, 0xfb, 0x96, 0xea, 0x0f, 0xfa, 0x8e, + 0x05, 0xd3, 0x5b, 0xce, 0x7d, 0xde, 0x22, 0x2f, 0xc3, 0x4e, 0xec, 0x05, 0xc2, 0x05, 0x75, 0xa5, + 0xdf, 0x75, 0xd2, 0x45, 0x88, 0x77, 0x57, 0x7a, 0x97, 0x4d, 0x67, 0xa1, 0xe4, 0x76, 0x3a, 0xb3, + 0x87, 0xb3, 0xeb, 0x30, 0x2c, 0x17, 0x66, 0x86, 0xa6, 0x54, 0xd3, 0xc5, 0x9f, 0xbe, 0x2f, 0xd0, + 0x34, 0xcd, 0x8a, 0xb5, 0x23, 0x96, 0xe2, 0x91, 0xb6, 0xf3, 0x36, 0x8c, 0xea, 0xeb, 0xee, 0x48, + 0xdb, 0x7a, 0x07, 0x4e, 0x64, 0xac, 0xaa, 0x23, 0x6d, 0xf2, 0x1e, 0x3c, 0xdc, 0x73, 0x7d, 0x1c, + 0x65, 0xc3, 0xf6, 0xef, 0x5a, 0x3a, 0xeb, 0x3c, 0x06, 0xbb, 0xd5, 0x35, 0xd3, 0x6e, 0x75, 0xb6, + 0xe8, 0x1e, 0xea, 0x61, 0xbc, 0x5a, 0xd7, 0xbb, 0x4f, 0x8f, 0x04, 0xb4, 0x06, 0x83, 0x2d, 0x5a, + 0x22, 0xaf, 0x0d, 0xcf, 0xf5, 0xb3, 0x4b, 0x13, 0x09, 0x8c, 0x95, 0x47, 0x58, 0xd0, 0xb2, 0xbf, + 0x63, 0x41, 0xe5, 0x2f, 0x31, 0xac, 0xab, 0x8b, 0xb4, 0x48, 0x4d, 0x30, 0x8f, 0x9d, 0x7b, 0xcb, + 0xf7, 0x63, 0xe2, 0x47, 0x4c, 0x8c, 0xcf, 0x1c, 0xa2, 0xff, 0x53, 0x82, 0x11, 0xda, 0x94, 0xf4, + 0x94, 0x79, 0x19, 0xc6, 0x5a, 0xce, 0x1d, 0xd2, 0x92, 0x36, 0xf7, 0xb4, 0xd2, 0x7b, 0x55, 0x07, + 0x62, 0x13, 0x97, 0x56, 0x5e, 0xd7, 0xaf, 0x24, 0x84, 0x90, 0xa4, 0x2a, 0x1b, 0xf7, 0x15, 0xd8, + 0xc4, 0xa5, 0x5a, 0xd7, 0x3d, 0x27, 0x6e, 0x6e, 0x0a, 0x85, 0x58, 0x75, 0xf7, 0x36, 0x2d, 0xc4, + 0x1c, 0x46, 0x85, 0x3d, 0xb9, 0x62, 0x6f, 0x91, 0x90, 0x09, 0x7b, 0x5c, 0xa8, 0x56, 0xc2, 0x1e, + 0x36, 0xc1, 0x38, 0x8d, 0x8f, 0x3e, 0x06, 0xe3, 0x74, 0x70, 0x82, 0x4e, 0x2c, 0xfd, 0x80, 0x06, + 0x98, 0x1f, 0x10, 0x73, 0x23, 0x5f, 0x33, 0x20, 0x38, 0x85, 0x89, 0xea, 0x30, 0xed, 0xf9, 0xcd, + 0x56, 0xc7, 0x25, 0x37, 0x7d, 0xcf, 0xf7, 0x62, 0xcf, 0x69, 0x79, 0xef, 0x12, 0x57, 0x88, 0xdd, + 0xca, 0x65, 0x6b, 0x35, 0x03, 0x07, 0x67, 0xd6, 0xb4, 0xdf, 0x84, 0x13, 0x57, 0x03, 0xc7, 0x5d, + 0x74, 0x5a, 0x8e, 0xdf, 0x24, 0xe1, 0xaa, 0xbf, 0x91, 0xeb, 0x53, 0xa0, 0xdf, 0xfb, 0x97, 0xf2, + 0xee, 0xfd, 0xed, 0x10, 0x90, 0xde, 0x80, 0xf0, 0x89, 0x7b, 0x03, 0x86, 0x3c, 0xde, 0x94, 0xd8, + 0x08, 0x17, 0xf2, 0x64, 0xf2, 0xae, 0x3e, 0x6a, 0x3e, 0x5e, 0xbc, 0x00, 0x4b, 0x92, 0x54, 0x83, + 0xcb, 0x12, 0xe2, 0xf3, 0x55, 0x6f, 0xfb, 0x05, 0x98, 0x62, 0x35, 0xfb, 0x54, 0xfc, 0xfe, 0x9a, + 0x05, 0x13, 0xd7, 0x53, 0x01, 0xd0, 0x4f, 0xc2, 0x60, 0x44, 0xc2, 0x0c, 0xcb, 0x6a, 0x83, 0x95, + 0x62, 0x01, 0x7d, 0xe0, 0xd6, 0x9a, 0x5f, 0x2b, 0x41, 0x95, 0x39, 0x65, 0xb7, 0xa9, 0x12, 0x77, + 0xf4, 0xf2, 0xf2, 0x35, 0x43, 0x5e, 0xce, 0xb1, 0x18, 0xa8, 0x8e, 0xf5, 0x12, 0x97, 0xd1, 0x4d, + 0x15, 0x18, 0x5c, 0xc8, 0x58, 0x90, 0x10, 0xe4, 0xc1, 0xa3, 0xe3, 0x66, 0x1c, 0xb1, 0x0c, 0x1a, + 0x66, 0x17, 0xf8, 0x0a, 0xf7, 0x7d, 0x77, 0x81, 0xaf, 0x7a, 0xd6, 0x83, 0x4b, 0xd6, 0xb5, 0xce, + 0xb3, 0x73, 0xe4, 0x17, 0x98, 0xab, 0x2d, 0xdb, 0xc3, 0x2a, 0xbe, 0x7e, 0x4e, 0xb8, 0xce, 0x8a, + 0xd2, 0x7d, 0xc6, 0xf0, 0xc4, 0x3f, 0x9e, 0x3e, 0x21, 0xa9, 0x62, 0x5f, 0x86, 0x89, 0xd4, 0xd0, + 0xa1, 0x17, 0x60, 0xa0, 0xbd, 0xe9, 0x44, 0x24, 0xe5, 0xf4, 0x34, 0x50, 0xa7, 0x85, 0xfb, 0xbb, + 0x73, 0xe3, 0xaa, 0x02, 0x2b, 0xc1, 0x1c, 0xdb, 0xfe, 0x5c, 0x09, 0x2a, 0xd7, 0x03, 0xf7, 0x38, + 0x96, 0xda, 0x65, 0x63, 0xa9, 0x3d, 0x99, 0x9f, 0xaf, 0xa5, 0xe7, 0x2a, 0xab, 0xa7, 0x56, 0xd9, + 0xd9, 0x02, 0xb4, 0x0e, 0x5e, 0x60, 0x5b, 0x30, 0xc2, 0xf2, 0xc1, 0x08, 0xa7, 0xac, 0xe7, 0x0c, + 0x15, 0x6f, 0x2e, 0xa5, 0xe2, 0x4d, 0x68, 0xa8, 0x9a, 0xa2, 0xf7, 0x14, 0x0c, 0x09, 0x27, 0xa0, + 0xb4, 0xa3, 0xb1, 0xc0, 0xc5, 0x12, 0x6e, 0xff, 0x8b, 0x32, 0x18, 0xf9, 0x67, 0xd0, 0xef, 0x5b, + 0x30, 0x1f, 0xf2, 0xa0, 0x2d, 0xb7, 0xd6, 0x09, 0x3d, 0x7f, 0xa3, 0xd1, 0xdc, 0x24, 0x6e, 0xa7, + 0xe5, 0xf9, 0x1b, 0xab, 0x1b, 0x7e, 0xa0, 0x8a, 0x97, 0xef, 0x93, 0x66, 0x87, 0xd9, 0xdc, 0x0b, + 0xa7, 0xbd, 0x51, 0x17, 0xe0, 0x17, 0xf7, 0x76, 0xe7, 0xe6, 0x71, 0x5f, 0xad, 0xe0, 0x3e, 0x7b, + 0x85, 0x7e, 0x64, 0xc1, 0x79, 0x9e, 0x81, 0xa5, 0xf8, 0x97, 0x14, 0x52, 0x8d, 0xeb, 0x92, 0x68, + 0x42, 0x6e, 0x8d, 0x84, 0x5b, 0x8b, 0x2f, 0x8a, 0x41, 0x3e, 0x5f, 0xef, 0xaf, 0x55, 0xdc, 0x6f, + 0x37, 0xed, 0x7f, 0x5d, 0x86, 0x31, 0x3a, 0x9e, 0x49, 0x0a, 0x85, 0x17, 0x8c, 0x65, 0xf2, 0x58, + 0x6a, 0x99, 0x4c, 0x19, 0xc8, 0x0f, 0x26, 0x7b, 0x42, 0x04, 0x53, 0x2d, 0x27, 0x8a, 0x2f, 0x13, + 0x27, 0x8c, 0xef, 0x10, 0x87, 0xdd, 0x33, 0xa7, 0x7d, 0x58, 0x0a, 0x5c, 0x5d, 0x2b, 0x23, 0xdc, + 0xd5, 0x34, 0x31, 0xdc, 0x4d, 0x1f, 0x6d, 0x03, 0x62, 0x77, 0xda, 0xa1, 0xe3, 0x47, 0xfc, 0x5b, + 0x3c, 0x61, 0xa3, 0xef, 0xaf, 0xd5, 0x59, 0xd1, 0x2a, 0xba, 0xda, 0x45, 0x0d, 0x67, 0xb4, 0xa0, + 0x79, 0x2d, 0x0c, 0x14, 0xf5, 0x5a, 0x18, 0xcc, 0xf1, 0xf0, 0xff, 0xbc, 0x05, 0x27, 0xe8, 0xb4, + 0x98, 0xde, 0xe0, 0x11, 0x0a, 0x60, 0x82, 0x2e, 0xbb, 0x16, 0x89, 0x65, 0x99, 0xd8, 0x5f, 0x39, + 0x22, 0xbe, 0x49, 0x27, 0x91, 0x23, 0xaf, 0x98, 0xc4, 0x70, 0x9a, 0xba, 0xfd, 0x75, 0x0b, 0x98, + 0xf7, 0xe4, 0x31, 0x1c, 0x66, 0x97, 0xcc, 0xc3, 0xcc, 0xce, 0xe7, 0x18, 0x3d, 0xce, 0xb1, 0xe7, + 0x61, 0x92, 0x42, 0xeb, 0x61, 0x70, 0x7f, 0x47, 0x4a, 0xfc, 0xf9, 0xd2, 0xd5, 0xe7, 0x4b, 0x7c, + 0xdb, 0xa8, 0xe8, 0x53, 0xf4, 0x05, 0x0b, 0x86, 0x9b, 0x4e, 0xdb, 0x69, 0xf2, 0xec, 0x5d, 0x05, + 0xcc, 0x44, 0x46, 0xfd, 0xf9, 0x25, 0x51, 0x97, 0x9b, 0x38, 0x3e, 0x2c, 0x3f, 0x5d, 0x16, 0xe7, + 0x9a, 0x35, 0x54, 0xe3, 0xb3, 0x77, 0x61, 0xcc, 0x20, 0x76, 0xa4, 0xfa, 0xf0, 0x17, 0x2c, 0xce, + 0xf4, 0x95, 0xce, 0x72, 0x0f, 0xa6, 0x7c, 0xed, 0x3f, 0x65, 0x67, 0x52, 0xa0, 0x9e, 0x2f, 0xce, + 0xd6, 0x19, 0x17, 0xd4, 0x3c, 0x45, 0x53, 0x04, 0x71, 0x77, 0x1b, 0xf6, 0x6f, 0x58, 0xf0, 0x90, + 0x8e, 0xa8, 0x85, 0x0b, 0xe7, 0x19, 0xb0, 0x6b, 0x30, 0x1c, 0xb4, 0x49, 0xe8, 0x24, 0xfa, 0xd9, + 0x59, 0x39, 0xfe, 0x37, 0x44, 0xf9, 0xfe, 0xee, 0xdc, 0xb4, 0x4e, 0x5d, 0x96, 0x63, 0x55, 0x13, + 0xd9, 0x30, 0xc8, 0xc6, 0x25, 0x12, 0x81, 0xde, 0x2c, 0x9b, 0x15, 0xbb, 0x20, 0x8b, 0xb0, 0x80, + 0xd8, 0x7f, 0xd3, 0xe2, 0xcb, 0x4d, 0xef, 0x3a, 0xfa, 0x25, 0x98, 0xdc, 0xa2, 0xaa, 0xdc, 0xf2, + 0xfd, 0x76, 0xc8, 0xcd, 0xef, 0x72, 0xc4, 0x5e, 0x28, 0x3e, 0x62, 0xda, 0xe7, 0x2e, 0xce, 0x88, + 0xde, 0x4f, 0x5e, 0x4b, 0x91, 0xc5, 0x5d, 0x0d, 0xd9, 0xff, 0xa0, 0xc4, 0xf7, 0x2c, 0x93, 0xe1, + 0x9e, 0x82, 0xa1, 0x76, 0xe0, 0x2e, 0xad, 0xd6, 0xb0, 0x18, 0x2b, 0xc5, 0x74, 0xea, 0xbc, 0x18, + 0x4b, 0x38, 0xba, 0x08, 0x40, 0xee, 0xc7, 0x24, 0xf4, 0x9d, 0x96, 0xba, 0xd2, 0x57, 0xa2, 0xd2, + 0xb2, 0x82, 0x60, 0x0d, 0x8b, 0xd6, 0x69, 0x87, 0xc1, 0xb6, 0xe7, 0xb2, 0x38, 0x97, 0xb2, 0x59, + 0xa7, 0xae, 0x20, 0x58, 0xc3, 0xa2, 0x0a, 0x74, 0xc7, 0x8f, 0xf8, 0x31, 0xe6, 0xdc, 0x11, 0x99, + 0x94, 0x86, 0x13, 0x05, 0xfa, 0xa6, 0x0e, 0xc4, 0x26, 0x2e, 0xba, 0x02, 0x83, 0xb1, 0xc3, 0x2e, + 0xaa, 0x07, 0x8a, 0x78, 0xfd, 0xac, 0x51, 0x5c, 0x3d, 0x75, 0x15, 0xad, 0x8a, 0x05, 0x09, 0xfb, + 0x3f, 0x55, 0x01, 0x12, 0xa9, 0x0b, 0x7d, 0xae, 0x7b, 0xc3, 0x7f, 0xa4, 0xa8, 0xc8, 0xf6, 0xe0, + 0x76, 0x3b, 0xfa, 0xb2, 0x05, 0x23, 0x4e, 0xab, 0x15, 0x34, 0x9d, 0x98, 0x0d, 0x4f, 0xa9, 0x28, + 0xeb, 0x11, 0x3d, 0x59, 0x48, 0xea, 0xf2, 0xce, 0x3c, 0x27, 0x2f, 0x8f, 0x35, 0x48, 0x6e, 0x7f, + 0xf4, 0x2e, 0xa0, 0x0f, 0x4b, 0xa9, 0x9d, 0xcf, 0xf0, 0x6c, 0x5a, 0x6a, 0xaf, 0x32, 0x86, 0xab, + 0x09, 0xec, 0xe8, 0x4d, 0x23, 0xf3, 0x50, 0xa5, 0x48, 0xb0, 0xb2, 0x21, 0x87, 0xe4, 0x25, 0x1d, + 0x42, 0xaf, 0xeb, 0xee, 0xf1, 0x03, 0x45, 0xb2, 0x01, 0x68, 0xe2, 0x70, 0x8e, 0x6b, 0x7c, 0x0c, + 0x13, 0xae, 0x79, 0xf2, 0x0a, 0x17, 0xbf, 0x0b, 0xf9, 0x2d, 0xa4, 0x8e, 0xec, 0xe4, 0xac, 0x4d, + 0x01, 0x70, 0xba, 0x09, 0xf4, 0x3a, 0x0f, 0x5e, 0x58, 0xf5, 0xd7, 0x03, 0xe1, 0xe6, 0x77, 0xae, + 0xc0, 0x9c, 0xef, 0x44, 0x31, 0xd9, 0xa2, 0x75, 0x92, 0xc3, 0xf5, 0xba, 0xa0, 0x82, 0x15, 0x3d, + 0xb4, 0x06, 0x83, 0x2c, 0x36, 0x2d, 0x9a, 0x19, 0x2e, 0x62, 0x12, 0x34, 0x43, 0xb2, 0x93, 0xfd, + 0xc3, 0xfe, 0x46, 0x58, 0xd0, 0x42, 0x97, 0x65, 0x52, 0x86, 0x68, 0xd5, 0xbf, 0x19, 0x11, 0x96, + 0x94, 0xa1, 0xba, 0xf8, 0xa1, 0x24, 0xcb, 0x02, 0x2f, 0xcf, 0x4c, 0xd7, 0x68, 0xd4, 0xa4, 0x82, + 0x8d, 0xf8, 0x2f, 0xb3, 0x40, 0xce, 0x40, 0x91, 0x8e, 0x9a, 0x39, 0x23, 0x93, 0xc1, 0xbe, 0x65, + 0x12, 0xc3, 0x69, 0xea, 0xc7, 0x7a, 0xa4, 0xce, 0xfa, 0x30, 0x99, 0xde, 0x94, 0x47, 0x7a, 0x84, + 0xff, 0xa4, 0x02, 0xe3, 0xe6, 0xe2, 0x40, 0xe7, 0xa1, 0x2a, 0x88, 0xa8, 0x14, 0x6f, 0x6a, 0x0f, + 0x5c, 0x93, 0x00, 0x9c, 0xe0, 0xb0, 0x64, 0x77, 0xac, 0xba, 0xe6, 0xe0, 0x95, 0x24, 0xbb, 0x53, + 0x10, 0xac, 0x61, 0x51, 0x49, 0xf8, 0x4e, 0x10, 0xc4, 0xea, 0x24, 0x50, 0xeb, 0x66, 0x91, 0x95, + 0x62, 0x01, 0xa5, 0x27, 0xc0, 0x5d, 0x3a, 0x99, 0x2d, 0xd3, 0xbc, 0xa9, 0x4e, 0x80, 0x2b, 0x3a, + 0x10, 0x9b, 0xb8, 0xf4, 0x44, 0x0b, 0x22, 0xb6, 0x10, 0x85, 0xbc, 0x9d, 0x38, 0xcc, 0x35, 0x78, + 0xbc, 0xa6, 0x84, 0xa3, 0x4f, 0xc2, 0x43, 0x2a, 0xbc, 0x12, 0x73, 0x73, 0xb1, 0x6c, 0x71, 0xd0, + 0x50, 0x99, 0x1f, 0x5a, 0xca, 0x46, 0xc3, 0xbd, 0xea, 0xa3, 0x57, 0x60, 0x5c, 0xc8, 0xca, 0x92, + 0xe2, 0x90, 0xe9, 0xf7, 0x70, 0xc5, 0x80, 0xe2, 0x14, 0x36, 0xaa, 0xc1, 0x24, 0x2d, 0x61, 0x42, + 0xaa, 0xa4, 0xc0, 0xc3, 0x44, 0xd5, 0x51, 0x7f, 0x25, 0x05, 0xc7, 0x5d, 0x35, 0xd0, 0x02, 0x4c, + 0x70, 0x61, 0x85, 0x2a, 0x86, 0x6c, 0x1e, 0x84, 0x6f, 0xae, 0xda, 0x08, 0x37, 0x4c, 0x30, 0x4e, + 0xe3, 0xa3, 0x97, 0x60, 0xd4, 0x09, 0x9b, 0x9b, 0x5e, 0x4c, 0x9a, 0x71, 0x27, 0xe4, 0x29, 0x4f, + 0x34, 0xc7, 0x91, 0x05, 0x0d, 0x86, 0x0d, 0x4c, 0xfb, 0x5d, 0x38, 0x91, 0x11, 0x08, 0x40, 0x17, + 0x8e, 0xd3, 0xf6, 0xe4, 0x37, 0xa5, 0x5c, 0xdf, 0x16, 0xea, 0xab, 0xf2, 0x6b, 0x34, 0x2c, 0xba, + 0x3a, 0x99, 0x9d, 0x5c, 0x4b, 0xda, 0xaa, 0x56, 0xe7, 0x8a, 0x04, 0xe0, 0x04, 0xc7, 0xfe, 0x53, + 0x00, 0xcd, 0x7a, 0x53, 0xc0, 0xdd, 0xe9, 0x25, 0x18, 0x95, 0x79, 0x88, 0xb5, 0x64, 0x9e, 0xea, + 0x33, 0x2f, 0x69, 0x30, 0x6c, 0x60, 0xd2, 0xbe, 0xf9, 0xd2, 0x26, 0x95, 0x76, 0xb4, 0x53, 0xc6, + 0x2a, 0x9c, 0xe0, 0xa0, 0x73, 0x30, 0x1c, 0x91, 0xd6, 0xfa, 0x55, 0xcf, 0xbf, 0x2b, 0x16, 0xb6, + 0xe2, 0xcc, 0x0d, 0x51, 0x8e, 0x15, 0x06, 0x5a, 0x84, 0x72, 0xc7, 0x73, 0xc5, 0x52, 0x96, 0x62, + 0x43, 0xf9, 0xe6, 0x6a, 0x6d, 0x7f, 0x77, 0xee, 0xb1, 0x5e, 0xe9, 0x95, 0xa9, 0x7e, 0x1e, 0xcd, + 0xd3, 0xed, 0x47, 0x2b, 0x67, 0x5d, 0x18, 0x0c, 0xf6, 0x79, 0x61, 0x70, 0x11, 0x40, 0x7c, 0xb5, + 0x5c, 0xcb, 0xe5, 0x64, 0xd6, 0x2e, 0x29, 0x08, 0xd6, 0xb0, 0xa8, 0x96, 0xdf, 0x0c, 0x89, 0x23, + 0x15, 0x61, 0xee, 0xa0, 0x3e, 0x7c, 0x78, 0x2d, 0x7f, 0x29, 0x4d, 0x0c, 0x77, 0xd3, 0x47, 0x01, + 0x4c, 0xb9, 0x22, 0x86, 0x37, 0x69, 0xb4, 0xda, 0xbf, 0x57, 0x3c, 0xf3, 0xed, 0x49, 0x13, 0xc2, + 0xdd, 0xb4, 0xd1, 0xa7, 0x61, 0x56, 0x16, 0x76, 0x07, 0x50, 0xb3, 0xed, 0x52, 0x5e, 0x3c, 0xbd, + 0xb7, 0x3b, 0x37, 0x5b, 0xeb, 0x89, 0x85, 0x0f, 0xa0, 0x80, 0xde, 0x80, 0x41, 0x76, 0xc1, 0x14, + 0xcd, 0x8c, 0xb0, 0x13, 0xef, 0xf9, 0x22, 0xb1, 0x15, 0x74, 0xd5, 0xcf, 0xb3, 0x6b, 0x2a, 0xe1, + 0x35, 0x9c, 0xdc, 0xda, 0xb1, 0x42, 0x2c, 0x68, 0xa2, 0x36, 0x8c, 0x38, 0xbe, 0x1f, 0xc4, 0x0e, + 0x17, 0xc4, 0x46, 0x8b, 0xc8, 0x92, 0x5a, 0x13, 0x0b, 0x49, 0x5d, 0xde, 0x8e, 0x72, 0x44, 0xd4, + 0x20, 0x58, 0x6f, 0x02, 0xdd, 0x83, 0x89, 0xe0, 0x1e, 0x65, 0x98, 0xf2, 0x46, 0x24, 0x9a, 0x19, + 0x33, 0x3f, 0x2c, 0xc7, 0x50, 0x6b, 0x54, 0xd6, 0x38, 0x99, 0x49, 0x14, 0xa7, 0x5b, 0x41, 0xf3, + 0x86, 0xb9, 0x7a, 0x3c, 0xf1, 0x8d, 0x4f, 0xcc, 0xd5, 0xba, 0x75, 0x9a, 0x05, 0xe9, 0x73, 0x7f, + 0x58, 0xc6, 0x11, 0x26, 0x52, 0x41, 0xfa, 0x09, 0x08, 0xeb, 0x78, 0x68, 0x13, 0x46, 0x93, 0xbb, + 0xad, 0x30, 0x62, 0xf9, 0x7f, 0x34, 0x77, 0xaf, 0x83, 0x3f, 0x6e, 0x55, 0xab, 0xc9, 0x23, 0x7d, + 0xf4, 0x12, 0x6c, 0x50, 0x9e, 0xfd, 0x28, 0x8c, 0x68, 0x53, 0xdc, 0x8f, 0xbb, 0xf7, 0xec, 0x2b, + 0x30, 0x99, 0x9e, 0xba, 0xbe, 0xdc, 0xc5, 0xff, 0x47, 0x09, 0x26, 0x32, 0x2e, 0xb6, 0x58, 0x36, + 0xe6, 0x14, 0x93, 0x4d, 0x92, 0x2f, 0x9b, 0xac, 0xb2, 0x54, 0x80, 0x55, 0x4a, 0xbe, 0x5d, 0xee, + 0xc9, 0xb7, 0x05, 0x7b, 0xac, 0xbc, 0x17, 0xf6, 0x68, 0x9e, 0x48, 0x03, 0x85, 0x4e, 0xa4, 0x07, + 0xc0, 0x52, 0x8d, 0x43, 0x6d, 0xa8, 0xc0, 0xa1, 0xf6, 0xb5, 0x12, 0x4c, 0x26, 0xae, 0xf1, 0x22, + 0x0d, 0xfa, 0xd1, 0x5f, 0x78, 0xac, 0x19, 0x17, 0x1e, 0x79, 0x59, 0xce, 0x53, 0xfd, 0xeb, 0x79, + 0xf9, 0xf1, 0x46, 0xea, 0xf2, 0xe3, 0xf9, 0x3e, 0xe9, 0x1e, 0x7c, 0x11, 0xf2, 0xed, 0x12, 0x9c, + 0x4c, 0x57, 0x59, 0x6a, 0x39, 0xde, 0xd6, 0x31, 0x8c, 0xd7, 0x27, 0x8d, 0xf1, 0x7a, 0xb1, 0xbf, + 0xef, 0x62, 0x9d, 0xec, 0x39, 0x68, 0x4e, 0x6a, 0xd0, 0x3e, 0x7a, 0x18, 0xe2, 0x07, 0x8f, 0xdc, + 0x1f, 0x59, 0xf0, 0x70, 0x66, 0xbd, 0x63, 0x30, 0xf1, 0xbe, 0x66, 0x9a, 0x78, 0x9f, 0x3b, 0xc4, + 0xd7, 0xf5, 0xb0, 0xf9, 0xfe, 0x66, 0xb9, 0xc7, 0x57, 0x31, 0x23, 0xd8, 0x0d, 0x18, 0x71, 0x9a, + 0x4d, 0x12, 0x45, 0xd7, 0x02, 0x57, 0x25, 0x16, 0x7b, 0x96, 0x9d, 0x62, 0x49, 0xf1, 0xfe, 0xee, + 0xdc, 0x6c, 0x9a, 0x44, 0x02, 0xc6, 0x3a, 0x05, 0x33, 0xe5, 0x61, 0xe9, 0x88, 0x52, 0x1e, 0x5e, + 0x04, 0xd8, 0x56, 0xfa, 0x72, 0xda, 0xb6, 0xa6, 0x69, 0xd2, 0x1a, 0x16, 0xfa, 0x2b, 0x4c, 0xf6, + 0xe4, 0x7e, 0x29, 0x15, 0x33, 0xca, 0x36, 0x67, 0xfe, 0x74, 0x1f, 0x17, 0x1e, 0xcc, 0xab, 0xec, + 0x90, 0x8a, 0x24, 0xfa, 0x04, 0x4c, 0x46, 0x3c, 0x27, 0xc5, 0x52, 0xcb, 0x89, 0x58, 0x4c, 0x88, + 0xe0, 0xa7, 0x2c, 0x2e, 0xb7, 0x91, 0x82, 0xe1, 0x2e, 0x6c, 0xfb, 0x5b, 0x65, 0xf8, 0xe0, 0x01, + 0xcb, 0x16, 0x2d, 0x98, 0xf7, 0xc3, 0xcf, 0xa4, 0x2d, 0x4d, 0xb3, 0x99, 0x95, 0x0d, 0xd3, 0x53, + 0x6a, 0xb6, 0x4b, 0xef, 0x79, 0xb6, 0xbf, 0xa2, 0xdb, 0x05, 0xb9, 0xab, 0xea, 0xa5, 0x43, 0x6f, + 0xcc, 0x9f, 0xd6, 0x6b, 0x81, 0xcf, 0x5a, 0xf0, 0x58, 0xe6, 0x67, 0x19, 0xfe, 0x28, 0xe7, 0xa1, + 0xda, 0xa4, 0x85, 0x5a, 0x04, 0x57, 0x12, 0x3a, 0x29, 0x01, 0x38, 0xc1, 0x31, 0xdc, 0x4e, 0x4a, + 0xb9, 0x6e, 0x27, 0x7f, 0x60, 0xc1, 0x74, 0xba, 0x13, 0xc7, 0xc0, 0xb7, 0x1a, 0x26, 0xdf, 0x9a, + 0xef, 0x6f, 0xf2, 0x7b, 0xb0, 0xac, 0xaf, 0x4d, 0xc2, 0xa9, 0xae, 0x53, 0x8f, 0x8f, 0xe2, 0x2f, + 0x5b, 0x30, 0xb5, 0xc1, 0xf4, 0x04, 0x2d, 0x4c, 0x4e, 0x7c, 0x57, 0x4e, 0x6c, 0xe1, 0x81, 0xd1, + 0x75, 0x5c, 0xeb, 0xe9, 0x42, 0xc1, 0xdd, 0x8d, 0xa1, 0x2f, 0x59, 0x30, 0xed, 0xdc, 0x8b, 0xba, + 0x1e, 0xe9, 0x11, 0x0b, 0xe9, 0x95, 0x1c, 0xb3, 0x5c, 0xce, 0xf3, 0x3e, 0x8b, 0x33, 0x7b, 0xbb, + 0x73, 0xd3, 0x59, 0x58, 0x38, 0xb3, 0x55, 0x3a, 0xbf, 0x9b, 0x22, 0x5c, 0xa6, 0x58, 0xc0, 0x67, + 0x56, 0x70, 0x0d, 0x67, 0x6b, 0x12, 0x82, 0x15, 0x45, 0xf4, 0x16, 0x54, 0x37, 0x64, 0x64, 0x5c, + 0x9a, 0x6d, 0xf6, 0x18, 0xe6, 0xac, 0x40, 0x3a, 0x1e, 0xae, 0xa0, 0x40, 0x38, 0x21, 0x8a, 0x2e, + 0x43, 0xd9, 0x5f, 0x8f, 0x44, 0x0c, 0x7a, 0x9e, 0xb7, 0x91, 0xe9, 0xe3, 0xc5, 0xc3, 0x76, 0xaf, + 0xaf, 0x34, 0x30, 0x25, 0x41, 0x29, 0x85, 0x77, 0x5c, 0x61, 0x8f, 0xce, 0xa1, 0x84, 0x17, 0x6b, + 0xdd, 0x94, 0xf0, 0x62, 0x0d, 0x53, 0x12, 0xa8, 0x0e, 0x03, 0x2c, 0x18, 0x47, 0x18, 0x9b, 0x73, + 0x12, 0x15, 0x74, 0x85, 0x1c, 0xf1, 0xcc, 0x9c, 0xac, 0x18, 0x73, 0x42, 0x68, 0x0d, 0x06, 0x9b, + 0xec, 0x71, 0x09, 0x61, 0x05, 0xc8, 0x4b, 0xe1, 0xd1, 0xf5, 0x10, 0x05, 0xbf, 0x61, 0xe3, 0xe5, + 0x58, 0xd0, 0x62, 0x54, 0x49, 0x7b, 0x73, 0x3d, 0x12, 0x6a, 0x7e, 0x1e, 0xd5, 0xae, 0x67, 0x42, + 0x04, 0x55, 0x56, 0x8e, 0x05, 0x2d, 0x54, 0x83, 0xd2, 0x7a, 0x53, 0xc4, 0xea, 0xe4, 0x18, 0x99, + 0xcd, 0x18, 0xec, 0xc5, 0xc1, 0xbd, 0xdd, 0xb9, 0xd2, 0xca, 0x12, 0x2e, 0xad, 0x37, 0xd1, 0x6b, + 0x30, 0xb4, 0xce, 0xa3, 0x6a, 0x45, 0x32, 0xdf, 0x0b, 0x79, 0xa1, 0xbf, 0x5d, 0x21, 0xb8, 0x3c, + 0x24, 0x45, 0x00, 0xb0, 0x24, 0xc7, 0xf2, 0x1c, 0xaa, 0x38, 0x61, 0x91, 0xcd, 0x77, 0xbe, 0xbf, + 0xb8, 0x62, 0xa1, 0xfd, 0xaa, 0x52, 0xac, 0x51, 0xa4, 0x6b, 0xde, 0x91, 0xef, 0xe4, 0xb0, 0x4c, + 0xbe, 0xb9, 0x6b, 0x3e, 0xf3, 0x59, 0x1d, 0xbe, 0xe6, 0x15, 0x08, 0x27, 0x44, 0x51, 0x07, 0xc6, + 0xb6, 0xa3, 0xf6, 0x26, 0x91, 0x5b, 0x9f, 0xa5, 0xf7, 0x1d, 0xb9, 0xf8, 0xf1, 0x9c, 0x9c, 0xcd, + 0xa2, 0x8a, 0x17, 0xc6, 0x1d, 0xa7, 0xd5, 0xc5, 0xc1, 0x58, 0x62, 0xb9, 0x5b, 0x3a, 0x59, 0x6c, + 0xb6, 0x42, 0xa7, 0xe4, 0x9d, 0x4e, 0x70, 0x67, 0x27, 0x26, 0x22, 0xfd, 0x6f, 0xce, 0x94, 0xbc, + 0xca, 0x91, 0xbb, 0xa7, 0x44, 0x00, 0xb0, 0x24, 0xa7, 0x86, 0x8c, 0x71, 0xe3, 0xc9, 0xc2, 0x43, + 0xd6, 0xf5, 0x0d, 0xc9, 0x90, 0x31, 0xee, 0x9b, 0x10, 0x65, 0x5c, 0xb7, 0xbd, 0x19, 0xc4, 0x81, + 0x9f, 0xe2, 0xfd, 0x53, 0x45, 0xb8, 0x6e, 0x3d, 0xa3, 0x66, 0x37, 0xd7, 0xcd, 0xc2, 0xc2, 0x99, + 0xad, 0x22, 0x1f, 0xc6, 0xdb, 0x41, 0x18, 0xdf, 0x0b, 0x42, 0xb9, 0x0e, 0x51, 0x21, 0x1d, 0xd1, + 0xa8, 0x23, 0xda, 0x66, 0x9e, 0xc7, 0x26, 0x04, 0xa7, 0xa8, 0xd3, 0xa9, 0x8b, 0x9a, 0x4e, 0x8b, + 0xac, 0xde, 0x98, 0x39, 0x51, 0x64, 0xea, 0x1a, 0x1c, 0xb9, 0x7b, 0xea, 0x04, 0x00, 0x4b, 0x72, + 0x94, 0xd7, 0xb1, 0x5c, 0xf6, 0x2c, 0x9b, 0x71, 0x2e, 0xaf, 0xeb, 0xf2, 0xce, 0xe5, 0xbc, 0x8e, + 0x15, 0x63, 0x4e, 0x08, 0xbd, 0x0d, 0x55, 0x21, 0xdc, 0x06, 0xd1, 0xcc, 0x49, 0x46, 0xf5, 0xe7, + 0x73, 0x7a, 0xcb, 0xd1, 0x6f, 0x34, 0xb2, 0x4f, 0x7d, 0x11, 0xfd, 0x27, 0x91, 0x70, 0x42, 0xde, + 0xfe, 0x8d, 0xc1, 0x6e, 0xb1, 0x87, 0x29, 0x36, 0x7f, 0xa3, 0xfb, 0xc6, 0xfa, 0x13, 0xfd, 0xeb, + 0xef, 0x0f, 0xf0, 0xee, 0xfa, 0x4b, 0x16, 0x9c, 0x6a, 0x67, 0x7e, 0x9e, 0x10, 0x1c, 0xfa, 0x35, + 0x03, 0xf0, 0xa1, 0x51, 0x39, 0xc6, 0xb3, 0xe1, 0xb8, 0x47, 0x9b, 0x69, 0x55, 0xa0, 0xfc, 0x9e, + 0x55, 0x81, 0xdb, 0x30, 0xcc, 0x64, 0xd7, 0x24, 0xbf, 0x4f, 0x9f, 0xa9, 0x70, 0x98, 0x08, 0xb2, + 0x24, 0x48, 0x60, 0x45, 0x8c, 0x0e, 0xdc, 0xa3, 0xe9, 0x8f, 0xc0, 0x84, 0x81, 0x45, 0x66, 0x4b, + 0xae, 0x67, 0xad, 0x88, 0x91, 0x78, 0xb4, 0x7e, 0x10, 0xf2, 0x7e, 0x1e, 0x02, 0x3e, 0xb8, 0x31, + 0x54, 0xcb, 0x50, 0xf4, 0x06, 0xcd, 0xeb, 0xa9, 0x7c, 0x65, 0xef, 0x78, 0x15, 0x94, 0x7f, 0x68, + 0x65, 0xc8, 0xd3, 0x5c, 0xa9, 0xfc, 0xb8, 0xa9, 0x54, 0x3e, 0x99, 0x56, 0x2a, 0xbb, 0x4c, 0x49, + 0x86, 0x3e, 0x59, 0x3c, 0x33, 0x6f, 0xd1, 0x04, 0x46, 0x76, 0x0b, 0xce, 0xe4, 0x31, 0x6b, 0xe6, + 0xb2, 0xe6, 0xaa, 0xcb, 0xda, 0xc4, 0x65, 0xcd, 0x5d, 0xad, 0x61, 0x06, 0x29, 0x9a, 0x03, 0xc3, + 0xfe, 0x95, 0x12, 0x94, 0xeb, 0x81, 0x7b, 0x0c, 0xa6, 0xb1, 0x4b, 0x86, 0x69, 0xec, 0x89, 0xdc, + 0x87, 0x22, 0x7b, 0x1a, 0xc2, 0x6e, 0xa4, 0x0c, 0x61, 0x3f, 0x97, 0x4f, 0xea, 0x60, 0xb3, 0xd7, + 0x77, 0xca, 0xa0, 0x3f, 0x75, 0x89, 0xfe, 0xc3, 0x61, 0x3c, 0x99, 0xcb, 0xc5, 0x5e, 0xbf, 0x14, + 0x6d, 0x30, 0x8f, 0x37, 0x19, 0x88, 0xf9, 0x53, 0xeb, 0xd0, 0x7c, 0x9b, 0x78, 0x1b, 0x9b, 0x31, + 0x71, 0xd3, 0x1f, 0x76, 0x7c, 0x0e, 0xcd, 0x7f, 0x61, 0xc1, 0x44, 0xaa, 0x75, 0xd4, 0xca, 0x8a, + 0xe0, 0x3a, 0xa4, 0xb1, 0x6b, 0x2a, 0x37, 0xe4, 0x6b, 0x1e, 0x40, 0xdd, 0x59, 0x48, 0x83, 0x12, + 0x93, 0xad, 0xd5, 0xa5, 0x46, 0x84, 0x35, 0x0c, 0xf4, 0x02, 0x8c, 0xc4, 0x41, 0x3b, 0x68, 0x05, + 0x1b, 0x3b, 0x57, 0x88, 0xcc, 0xce, 0xa2, 0x6e, 0x96, 0xd6, 0x12, 0x10, 0xd6, 0xf1, 0xec, 0xef, + 0x96, 0x21, 0xfd, 0x50, 0xea, 0xff, 0x5f, 0xa7, 0x3f, 0x3d, 0xeb, 0xf4, 0x8f, 0x2d, 0x98, 0xa4, + 0xad, 0x33, 0x17, 0x23, 0xe9, 0x78, 0xac, 0x9e, 0x09, 0xb1, 0x0e, 0x78, 0x26, 0xe4, 0x49, 0xca, + 0xed, 0xdc, 0xa0, 0x13, 0x0b, 0x13, 0x98, 0xc6, 0xc4, 0x68, 0x29, 0x16, 0x50, 0x81, 0x47, 0xc2, + 0x50, 0x44, 0x68, 0xe9, 0x78, 0x24, 0x0c, 0xb1, 0x80, 0xca, 0x57, 0x44, 0x2a, 0x3d, 0x5e, 0x11, + 0x61, 0xf9, 0xcd, 0x84, 0x5b, 0x8b, 0x10, 0x2b, 0xb4, 0xfc, 0x66, 0xd2, 0xdf, 0x25, 0xc1, 0xb1, + 0xbf, 0x51, 0x86, 0xd1, 0x7a, 0xe0, 0x26, 0x11, 0x05, 0xcf, 0x1b, 0x11, 0x05, 0x67, 0x52, 0x11, + 0x05, 0x93, 0x3a, 0xee, 0x83, 0x09, 0x28, 0x10, 0x79, 0xf0, 0xd8, 0x3b, 0x37, 0x87, 0x0c, 0x26, + 0x30, 0xf2, 0xe0, 0x29, 0x42, 0xd8, 0xa4, 0xfb, 0xb3, 0x14, 0x44, 0xf0, 0xbf, 0x2d, 0x18, 0xaf, + 0x07, 0x2e, 0x5d, 0xa0, 0x3f, 0x4b, 0xab, 0x51, 0xcf, 0x9e, 0x37, 0x78, 0x40, 0xf6, 0xbc, 0x7f, + 0x6e, 0xc1, 0x50, 0x3d, 0x70, 0x8f, 0xc1, 0x3c, 0xbc, 0x62, 0x9a, 0x87, 0x1f, 0xcb, 0xe5, 0xbc, + 0x3d, 0x2c, 0xc2, 0xdf, 0x2a, 0xc3, 0x18, 0xed, 0x71, 0xb0, 0x21, 0xe7, 0xcb, 0x18, 0x1b, 0xab, + 0xc0, 0xd8, 0x50, 0x91, 0x30, 0x68, 0xb5, 0x82, 0x7b, 0xe9, 0xb9, 0x5b, 0x61, 0xa5, 0x58, 0x40, + 0xd1, 0x39, 0x18, 0x6e, 0x87, 0x64, 0xdb, 0x0b, 0x3a, 0x51, 0x3a, 0xda, 0xb3, 0x2e, 0xca, 0xb1, + 0xc2, 0x40, 0xcf, 0xc3, 0x68, 0xe4, 0xf9, 0x4d, 0x22, 0x9d, 0x5e, 0x2a, 0xcc, 0xe9, 0x85, 0x27, + 0x2a, 0xd5, 0xca, 0xb1, 0x81, 0x85, 0x6e, 0x43, 0x95, 0xfd, 0x67, 0x3b, 0xa8, 0xff, 0x67, 0x40, + 0xb8, 0x3a, 0x2c, 0x09, 0xe0, 0x84, 0x16, 0xba, 0x08, 0x10, 0x4b, 0xf7, 0x9c, 0x48, 0x84, 0x25, + 0x2b, 0xb9, 0x54, 0x39, 0xee, 0x44, 0x58, 0xc3, 0x42, 0xcf, 0x40, 0x35, 0x76, 0xbc, 0xd6, 0x55, + 0xcf, 0x27, 0x91, 0x70, 0x6f, 0x12, 0x49, 0xc7, 0x45, 0x21, 0x4e, 0xe0, 0xf4, 0xbc, 0x67, 0x41, + 0xef, 0xfc, 0x89, 0xa1, 0x61, 0x86, 0xcd, 0xce, 0xfb, 0xab, 0xaa, 0x14, 0x6b, 0x18, 0xf6, 0x4b, + 0x70, 0xb2, 0x1e, 0xb8, 0xf5, 0x20, 0x8c, 0x57, 0x82, 0xf0, 0x9e, 0x13, 0xba, 0x72, 0xfe, 0xe6, + 0x64, 0xae, 0x6b, 0x7a, 0x26, 0x0f, 0x70, 0x2b, 0x82, 0x91, 0xbb, 0xfa, 0x39, 0x76, 0xe2, 0xf7, + 0x19, 0xaa, 0xf2, 0xc3, 0x12, 0xa0, 0x3a, 0x73, 0x20, 0x32, 0x5e, 0xa4, 0xda, 0x84, 0xf1, 0x88, + 0x5c, 0xf5, 0xfc, 0xce, 0x7d, 0x41, 0xaa, 0x58, 0x6c, 0x50, 0x63, 0x59, 0xaf, 0xc3, 0xed, 0x34, + 0x66, 0x19, 0x4e, 0xd1, 0xa5, 0x83, 0x19, 0x76, 0xfc, 0x85, 0xe8, 0x66, 0x44, 0x42, 0xf1, 0x02, + 0x13, 0x1b, 0x4c, 0x2c, 0x0b, 0x71, 0x02, 0xa7, 0x8b, 0x87, 0xfd, 0xb9, 0x1e, 0xf8, 0x38, 0x08, + 0x62, 0xb9, 0xdc, 0xd8, 0x8b, 0x1c, 0x5a, 0x39, 0x36, 0xb0, 0xd0, 0x0a, 0xa0, 0xa8, 0xd3, 0x6e, + 0xb7, 0xd8, 0x4d, 0xa9, 0xd3, 0xba, 0x14, 0x06, 0x9d, 0x36, 0xf7, 0x23, 0x17, 0x8f, 0x59, 0x34, + 0xba, 0xa0, 0x38, 0xa3, 0x06, 0x65, 0x16, 0xeb, 0x11, 0xfb, 0x2d, 0x22, 0xe0, 0xb9, 0xb5, 0xb5, + 0xc1, 0x8a, 0xb0, 0x84, 0xd9, 0x9f, 0x61, 0x07, 0x1c, 0x7b, 0x1a, 0x27, 0xee, 0x84, 0x04, 0x6d, + 0xc1, 0x58, 0x9b, 0x1d, 0x62, 0x71, 0x18, 0xb4, 0x5a, 0x44, 0xca, 0x97, 0x87, 0x73, 0x61, 0xe2, + 0x8f, 0x61, 0xe8, 0xe4, 0xb0, 0x49, 0xdd, 0xfe, 0x6f, 0xe3, 0x8c, 0x57, 0x89, 0xcb, 0xea, 0x21, + 0xe1, 0xac, 0x2c, 0x24, 0xb9, 0x0f, 0x15, 0x79, 0xe4, 0x2e, 0x39, 0x07, 0x84, 0xeb, 0x33, 0x96, + 0x54, 0xd0, 0xa7, 0x98, 0x2b, 0x3e, 0x67, 0x10, 0xc5, 0x9f, 0xee, 0xe4, 0xf8, 0x86, 0x1b, 0xbe, + 0x20, 0x81, 0x35, 0x72, 0xe8, 0x2a, 0x8c, 0x89, 0x97, 0x54, 0x84, 0x99, 0xa2, 0x6c, 0xa8, 0xd8, + 0x63, 0x58, 0x07, 0xee, 0xa7, 0x0b, 0xb0, 0x59, 0x19, 0x6d, 0xc0, 0xa3, 0xda, 0x4b, 0x61, 0x19, + 0xee, 0x76, 0x9c, 0xf3, 0x3c, 0xb6, 0xb7, 0x3b, 0xf7, 0xe8, 0xda, 0x41, 0x88, 0xf8, 0x60, 0x3a, + 0xe8, 0x06, 0x9c, 0x74, 0x9a, 0xb1, 0xb7, 0x4d, 0x6a, 0xc4, 0x71, 0x5b, 0x9e, 0x4f, 0xcc, 0x34, + 0x09, 0x0f, 0xef, 0xed, 0xce, 0x9d, 0x5c, 0xc8, 0x42, 0xc0, 0xd9, 0xf5, 0xd0, 0xc7, 0xa1, 0xea, + 0xfa, 0x91, 0x18, 0x83, 0x41, 0xe3, 0x61, 0xbc, 0x6a, 0xed, 0x7a, 0x43, 0x7d, 0x7f, 0xf2, 0x07, + 0x27, 0x15, 0xd0, 0x3b, 0x30, 0xaa, 0x87, 0x3f, 0x89, 0x07, 0x19, 0x5f, 0x2c, 0xa4, 0x3f, 0x1b, + 0x31, 0x43, 0xdc, 0x82, 0xa7, 0xdc, 0x5a, 0x8d, 0x70, 0x22, 0xa3, 0x09, 0xf4, 0x8b, 0x80, 0x22, + 0x12, 0x6e, 0x7b, 0x4d, 0xb2, 0xd0, 0x64, 0xd9, 0x7d, 0x99, 0x8d, 0x67, 0xd8, 0x88, 0xef, 0x40, + 0x8d, 0x2e, 0x0c, 0x9c, 0x51, 0x0b, 0x5d, 0xa6, 0x9c, 0x47, 0x2f, 0x15, 0x5e, 0xc8, 0x52, 0x30, + 0x9c, 0xa9, 0x91, 0x76, 0x48, 0x9a, 0x4e, 0x4c, 0x5c, 0x93, 0x22, 0x4e, 0xd5, 0xa3, 0xe7, 0x92, + 0x7a, 0xc0, 0x01, 0x4c, 0xdf, 0xd9, 0xee, 0x47, 0x1c, 0xa8, 0x9e, 0xb5, 0x19, 0x44, 0xf1, 0x75, + 0x12, 0xdf, 0x0b, 0xc2, 0xbb, 0x22, 0x23, 0x5a, 0x92, 0x2a, 0x31, 0x01, 0x61, 0x1d, 0x8f, 0xca, + 0x50, 0xec, 0xea, 0x6f, 0xb5, 0xc6, 0xee, 0x55, 0x86, 0x93, 0xbd, 0x73, 0x99, 0x17, 0x63, 0x09, + 0x97, 0xa8, 0xab, 0xf5, 0x25, 0x76, 0x47, 0x92, 0x42, 0x5d, 0xad, 0x2f, 0x61, 0x09, 0x47, 0x41, + 0xf7, 0xf3, 0x83, 0xe3, 0x45, 0xee, 0xab, 0xba, 0x39, 0x79, 0xc1, 0x17, 0x08, 0xef, 0xc3, 0xa4, + 0x7a, 0x02, 0x91, 0x27, 0x8d, 0x8b, 0x66, 0x26, 0xd8, 0xc2, 0x39, 0x4c, 0xee, 0x39, 0x65, 0xd7, + 0x5b, 0x4d, 0xd1, 0xc4, 0x5d, 0xad, 0x18, 0xc9, 0x39, 0x26, 0x73, 0x1f, 0xe5, 0x38, 0x0f, 0xd5, + 0xa8, 0x73, 0xc7, 0x0d, 0xb6, 0x1c, 0xcf, 0x67, 0x17, 0x19, 0x9a, 0x10, 0xd3, 0x90, 0x00, 0x9c, + 0xe0, 0xa0, 0x3a, 0x0c, 0x3b, 0x42, 0x85, 0x13, 0x17, 0x0e, 0x39, 0x51, 0xf8, 0x52, 0xe1, 0xe3, + 0xd6, 0x55, 0xf9, 0x0f, 0x2b, 0x2a, 0xe8, 0x65, 0x18, 0x13, 0x41, 0x64, 0xc2, 0xd9, 0xf3, 0x84, + 0x19, 0x70, 0xd0, 0xd0, 0x81, 0xd8, 0xc4, 0x45, 0x1b, 0x30, 0x4e, 0xa9, 0x24, 0x0c, 0x70, 0x66, + 0xba, 0x3f, 0x1e, 0xaa, 0xa5, 0x3f, 0xd7, 0xc9, 0xe0, 0x14, 0x59, 0xe4, 0xc2, 0x23, 0x4e, 0x27, + 0x0e, 0xb6, 0xe8, 0x4e, 0x30, 0xf7, 0xc9, 0x5a, 0x70, 0x97, 0xf8, 0xec, 0x96, 0x61, 0x78, 0xf1, + 0xcc, 0xde, 0xee, 0xdc, 0x23, 0x0b, 0x07, 0xe0, 0xe1, 0x03, 0xa9, 0xa0, 0x37, 0x61, 0x24, 0x0e, + 0x5a, 0xc2, 0x87, 0x3b, 0x9a, 0x39, 0x55, 0x24, 0x09, 0xd1, 0x9a, 0xaa, 0xa0, 0x9b, 0x31, 0x14, + 0x11, 0xac, 0x53, 0x44, 0x6f, 0xc1, 0x28, 0x9d, 0xfb, 0x6b, 0x4e, 0xbb, 0xed, 0xf9, 0x1b, 0xd1, + 0xcc, 0x43, 0x45, 0x46, 0x4b, 0xa5, 0xd8, 0x34, 0xf7, 0x2f, 0x2b, 0x22, 0x11, 0x36, 0x28, 0xce, + 0xfe, 0x02, 0x4c, 0x75, 0x31, 0xbd, 0xbe, 0xdc, 0x5b, 0xff, 0xe3, 0x00, 0x54, 0x95, 0xcd, 0x10, + 0x9d, 0x37, 0xcd, 0xc3, 0x0f, 0xa7, 0xcd, 0xc3, 0xc3, 0x54, 0x44, 0xd3, 0x2d, 0xc2, 0x9f, 0xce, + 0x78, 0x56, 0xff, 0xe9, 0xdc, 0x5d, 0x5e, 0x3c, 0xb6, 0x4d, 0x53, 0xf2, 0xca, 0x85, 0x2d, 0xce, + 0x95, 0x03, 0xf5, 0xc6, 0x82, 0x4f, 0x45, 0x52, 0x0d, 0xb1, 0x1d, 0xb8, 0xab, 0xf5, 0xf4, 0x4b, + 0x68, 0x75, 0x5a, 0x88, 0x39, 0x8c, 0x49, 0xf6, 0xf4, 0xd4, 0x66, 0x92, 0xfd, 0xd0, 0x21, 0x25, + 0x7b, 0x49, 0x00, 0x27, 0xb4, 0xd0, 0x36, 0x4c, 0x35, 0xcd, 0x87, 0xed, 0x54, 0xc4, 0xda, 0xb3, + 0x7d, 0x3c, 0x2c, 0xd7, 0xd1, 0xde, 0xa4, 0x59, 0x4a, 0xd3, 0xc3, 0xdd, 0x4d, 0xa0, 0x97, 0x61, + 0xf8, 0x9d, 0x20, 0x62, 0x17, 0x17, 0xe2, 0xe8, 0x92, 0x91, 0x41, 0xc3, 0xaf, 0xde, 0x68, 0xb0, + 0xf2, 0xfd, 0xdd, 0xb9, 0x91, 0x7a, 0xe0, 0xca, 0xbf, 0x58, 0x55, 0x40, 0x9f, 0xb5, 0xe0, 0xa4, + 0xb1, 0x93, 0x55, 0xcf, 0xe1, 0x30, 0x3d, 0x7f, 0x54, 0xb4, 0x7c, 0x72, 0x35, 0x8b, 0x26, 0xce, + 0x6e, 0xca, 0xfe, 0x1e, 0x37, 0x92, 0x0a, 0xb3, 0x09, 0x89, 0x3a, 0xad, 0xe3, 0x78, 0x1f, 0xe2, + 0x86, 0x61, 0xd1, 0x79, 0x00, 0x66, 0xfa, 0x7f, 0x6f, 0x31, 0x33, 0xfd, 0x1a, 0xd9, 0x6a, 0xb7, + 0x9c, 0xf8, 0x38, 0xbc, 0x9f, 0x3f, 0x05, 0xc3, 0xb1, 0x68, 0xad, 0xd8, 0xe3, 0x16, 0x5a, 0xf7, + 0xd8, 0xf5, 0x85, 0x3a, 0xfa, 0x64, 0x29, 0x56, 0x04, 0xed, 0x7f, 0xc5, 0x67, 0x45, 0x42, 0x8e, + 0xc1, 0x16, 0x71, 0xdd, 0xb4, 0x45, 0x3c, 0x55, 0xf8, 0x5b, 0x7a, 0xd8, 0x24, 0xbe, 0x6b, 0x7e, + 0x01, 0xd3, 0x50, 0x7e, 0x7a, 0xee, 0x91, 0xec, 0x5f, 0xb7, 0x60, 0x3a, 0xcb, 0x1d, 0x81, 0x8a, + 0x30, 0x5c, 0x3f, 0x52, 0x37, 0x6c, 0x6a, 0x54, 0x6f, 0x89, 0x72, 0xac, 0x30, 0x0a, 0x67, 0x9b, + 0xef, 0x2f, 0x89, 0xd6, 0x0d, 0x30, 0x9f, 0x48, 0x44, 0xaf, 0xf0, 0x60, 0x07, 0x4b, 0xbd, 0x61, + 0xd8, 0x5f, 0xa0, 0x83, 0xfd, 0xcd, 0x12, 0x4c, 0x73, 0x33, 0xf7, 0xc2, 0x76, 0xe0, 0xb9, 0xf5, + 0xc0, 0x15, 0xa1, 0x1f, 0x2e, 0x8c, 0xb6, 0x35, 0xf5, 0xb6, 0x58, 0x52, 0x1e, 0x5d, 0x21, 0x4e, + 0x54, 0x0a, 0xbd, 0x14, 0x1b, 0x54, 0x69, 0x2b, 0x64, 0xdb, 0x6b, 0x2a, 0xab, 0x69, 0xa9, 0xef, + 0x93, 0x41, 0xb5, 0xb2, 0xac, 0xd1, 0xc1, 0x06, 0xd5, 0x23, 0x78, 0x24, 0xc6, 0xfe, 0xfb, 0x16, + 0x3c, 0xd4, 0x23, 0x71, 0x0f, 0x6d, 0xee, 0x1e, 0xbb, 0x5a, 0x10, 0x6f, 0x70, 0xaa, 0xe6, 0xf8, + 0x85, 0x03, 0x16, 0x50, 0x74, 0x07, 0x80, 0x5f, 0x18, 0x50, 0x69, 0x3a, 0x7d, 0x9b, 0x5d, 0x30, + 0x3d, 0x86, 0x96, 0x39, 0x41, 0x52, 0xc2, 0x1a, 0x55, 0xfb, 0xeb, 0x65, 0x18, 0xe0, 0x4f, 0xbd, + 0xd7, 0x61, 0x68, 0x93, 0x67, 0x34, 0xee, 0x2f, 0xa1, 0x72, 0xa2, 0xbe, 0xf0, 0x02, 0x2c, 0xc9, + 0xa0, 0x6b, 0x70, 0x42, 0x04, 0x1f, 0xd5, 0x48, 0xcb, 0xd9, 0x91, 0xfa, 0x30, 0x7f, 0x39, 0x44, + 0xa6, 0xb8, 0x3f, 0xb1, 0xda, 0x8d, 0x82, 0xb3, 0xea, 0xa1, 0x57, 0xba, 0x12, 0x10, 0xf2, 0x4c, + 0xd1, 0x4a, 0x16, 0xce, 0x49, 0x42, 0xf8, 0x32, 0x8c, 0xb5, 0xbb, 0x34, 0x7f, 0xed, 0x45, 0x6d, + 0x53, 0xdb, 0x37, 0x71, 0x99, 0xf7, 0x42, 0x87, 0x79, 0x6d, 0xac, 0x6d, 0x86, 0x24, 0xda, 0x0c, + 0x5a, 0xae, 0x78, 0x0c, 0x36, 0xf1, 0x5e, 0x48, 0xc1, 0x71, 0x57, 0x0d, 0x4a, 0x65, 0xdd, 0xf1, + 0x5a, 0x9d, 0x90, 0x24, 0x54, 0x06, 0x4d, 0x2a, 0x2b, 0x29, 0x38, 0xee, 0xaa, 0x41, 0xd7, 0xd6, + 0x49, 0xf1, 0x7e, 0xa8, 0x0c, 0x53, 0x17, 0x2c, 0xe8, 0x93, 0x30, 0x24, 0x43, 0x08, 0x0a, 0x65, + 0x53, 0x11, 0xae, 0x09, 0xea, 0x2d, 0x52, 0xed, 0x25, 0x39, 0x11, 0x3c, 0x20, 0xe9, 0x1d, 0xe6, + 0x9d, 0xca, 0x3f, 0xb7, 0xe0, 0x44, 0x86, 0x2b, 0x1c, 0x67, 0x69, 0x1b, 0x5e, 0x14, 0xab, 0x77, + 0x2c, 0x34, 0x96, 0xc6, 0xcb, 0xb1, 0xc2, 0xa0, 0xbb, 0x85, 0x33, 0xcd, 0x34, 0xa3, 0x14, 0x4e, + 0x26, 0x02, 0xda, 0x1f, 0xa3, 0x44, 0x67, 0xa0, 0xd2, 0x89, 0x48, 0x28, 0x9f, 0x74, 0x94, 0x7c, + 0x9e, 0x59, 0x1a, 0x19, 0x84, 0x8a, 0xad, 0x1b, 0xca, 0xc8, 0xa7, 0x89, 0xad, 0xdc, 0xcc, 0xc7, + 0x61, 0xf6, 0x57, 0xca, 0x30, 0x91, 0x72, 0x89, 0xa5, 0x1d, 0xd9, 0x0a, 0x7c, 0x2f, 0x0e, 0x54, + 0x86, 0x3b, 0xfe, 0x8a, 0x1c, 0x69, 0x6f, 0x5e, 0x13, 0xe5, 0x58, 0x61, 0xa0, 0x27, 0xe5, 0x3b, + 0xc1, 0xe9, 0xf7, 0x39, 0x16, 0x6b, 0xc6, 0x53, 0xc1, 0x45, 0xdf, 0xd6, 0x79, 0x1c, 0x2a, 0xed, + 0x40, 0x3d, 0xfb, 0xae, 0xe6, 0x13, 0x2f, 0xd6, 0xea, 0x41, 0xd0, 0xc2, 0x0c, 0x88, 0x9e, 0x10, + 0x5f, 0x9f, 0xba, 0x1b, 0xc1, 0x8e, 0x1b, 0x44, 0xda, 0x10, 0x3c, 0x05, 0x43, 0x77, 0xc9, 0x4e, + 0xe8, 0xf9, 0x1b, 0xe9, 0x9b, 0xa1, 0x2b, 0xbc, 0x18, 0x4b, 0xb8, 0x99, 0xae, 0x7e, 0xe8, 0x88, + 0xdf, 0xcf, 0x19, 0xce, 0x3d, 0x07, 0xbf, 0x65, 0xc1, 0x04, 0xcb, 0x3f, 0x2b, 0x92, 0x24, 0x78, + 0x81, 0x7f, 0x0c, 0x32, 0xc6, 0xe3, 0x30, 0x10, 0xd2, 0x46, 0xd3, 0x0f, 0x60, 0xb0, 0x9e, 0x60, + 0x0e, 0x43, 0x8f, 0x40, 0x85, 0x75, 0x81, 0x4e, 0xe3, 0x28, 0x4f, 0x73, 0x5f, 0x73, 0x62, 0x07, + 0xb3, 0x52, 0x16, 0x85, 0x86, 0x49, 0xbb, 0xe5, 0xf1, 0x4e, 0x27, 0x06, 0xdd, 0xf7, 0x5b, 0x14, + 0x5a, 0x66, 0x27, 0x1f, 0x54, 0x14, 0x5a, 0x36, 0xf1, 0x83, 0xe5, 0xfc, 0xff, 0x5e, 0x82, 0xd3, + 0x99, 0xf5, 0x92, 0x3b, 0xe6, 0x15, 0xe3, 0x8e, 0xf9, 0x62, 0xea, 0x8e, 0xd9, 0x3e, 0xb8, 0xf6, + 0x83, 0xb9, 0x75, 0xce, 0xbe, 0x0c, 0x2e, 0x1f, 0xe3, 0x65, 0x70, 0xa5, 0xa8, 0x88, 0x33, 0x90, + 0x23, 0xe2, 0xfc, 0x91, 0x05, 0x0f, 0x67, 0x0e, 0xd9, 0xfb, 0x2e, 0xec, 0x2f, 0xb3, 0x97, 0x3d, + 0xb4, 0x93, 0x5f, 0x2b, 0xf7, 0xf8, 0x2a, 0xa6, 0xa7, 0x9c, 0xa5, 0x5c, 0x88, 0x01, 0x23, 0x21, + 0xbc, 0x8d, 0x72, 0x0e, 0xc4, 0xcb, 0xb0, 0x82, 0xa2, 0x48, 0x0b, 0x9b, 0xe3, 0x9d, 0x5c, 0x3e, + 0xe4, 0x86, 0x9a, 0x37, 0x2d, 0xf1, 0x7a, 0xe6, 0x87, 0x74, 0x30, 0xdd, 0x6d, 0x4d, 0xf3, 0x2c, + 0x1f, 0x46, 0xf3, 0x1c, 0xcd, 0xd6, 0x3a, 0xd1, 0x02, 0x4c, 0x6c, 0x79, 0x3e, 0x7b, 0x76, 0xd7, + 0x94, 0x9e, 0x54, 0xec, 0xf2, 0x35, 0x13, 0x8c, 0xd3, 0xf8, 0xb3, 0x2f, 0xc3, 0xd8, 0xe1, 0xad, + 0x6b, 0x3f, 0x2e, 0xc3, 0x07, 0x0f, 0x60, 0x0a, 0xfc, 0x74, 0x30, 0xe6, 0x45, 0x3b, 0x1d, 0xba, + 0xe6, 0xa6, 0x0e, 0xd3, 0xeb, 0x9d, 0x56, 0x6b, 0x87, 0x79, 0x68, 0x11, 0x57, 0x62, 0x08, 0xa1, + 0x46, 0xa5, 0xa3, 0x5e, 0xc9, 0xc0, 0xc1, 0x99, 0x35, 0xd1, 0x2f, 0x02, 0x0a, 0xee, 0xb0, 0xc4, + 0xc8, 0x6e, 0x92, 0xd9, 0x82, 0x4d, 0x41, 0x39, 0xd9, 0xaa, 0x37, 0xba, 0x30, 0x70, 0x46, 0x2d, + 0x2a, 0xa7, 0xd2, 0x73, 0x6c, 0x47, 0x75, 0x2b, 0x25, 0xa7, 0x62, 0x1d, 0x88, 0x4d, 0x5c, 0x74, + 0x09, 0xa6, 0x9c, 0x6d, 0xc7, 0xe3, 0x89, 0xce, 0x24, 0x01, 0x2e, 0xa8, 0x2a, 0xfb, 0xd5, 0x42, + 0x1a, 0x01, 0x77, 0xd7, 0x41, 0x6d, 0xc3, 0x20, 0xc9, 0xdf, 0x66, 0xf8, 0xf8, 0x21, 0x56, 0x70, + 0x61, 0x13, 0xa5, 0xfd, 0xa7, 0x16, 0x3d, 0xfa, 0x32, 0x5e, 0x68, 0xa5, 0x23, 0xa2, 0x0c, 0x6c, + 0x5a, 0x18, 0xa0, 0x1a, 0x91, 0x25, 0x1d, 0x88, 0x4d, 0x5c, 0xbe, 0x34, 0xa2, 0xc4, 0x61, 0xdc, + 0x90, 0x36, 0x45, 0x04, 0xad, 0xc2, 0xa0, 0x12, 0xb4, 0xeb, 0x6d, 0x7b, 0x51, 0x10, 0x8a, 0x0d, + 0xd4, 0xef, 0x3b, 0xe8, 0x8a, 0x5f, 0xd6, 0x38, 0x19, 0x2c, 0xe9, 0xd9, 0x5f, 0x2d, 0xc1, 0x98, + 0x6c, 0xf1, 0xd5, 0x4e, 0x10, 0x3b, 0xc7, 0x70, 0xa4, 0xbf, 0x6a, 0x1c, 0xe9, 0xe7, 0x8b, 0x05, + 0x14, 0xb3, 0xce, 0xf5, 0x3c, 0xca, 0x3f, 0x99, 0x3a, 0xca, 0x2f, 0xf4, 0x43, 0xf4, 0xe0, 0x23, + 0xfc, 0xdf, 0x58, 0x30, 0x65, 0xe0, 0x1f, 0xc3, 0x49, 0x52, 0x37, 0x4f, 0x92, 0x67, 0xfa, 0xf8, + 0x9a, 0x1e, 0x27, 0xc8, 0x37, 0x4a, 0xa9, 0xaf, 0x60, 0x27, 0xc7, 0x2f, 0x41, 0x65, 0xd3, 0x09, + 0xdd, 0x62, 0x59, 0x3f, 0xbb, 0xaa, 0xcf, 0x5f, 0x76, 0x42, 0x97, 0xf3, 0xff, 0x73, 0xea, 0xfd, + 0x38, 0x27, 0x74, 0x73, 0xe3, 0x28, 0x58, 0xa3, 0xe8, 0x25, 0x18, 0x8c, 0x9a, 0x41, 0x5b, 0x79, + 0x9a, 0x9e, 0xe1, 0x6f, 0xcb, 0xd1, 0x92, 0xfd, 0xdd, 0x39, 0x64, 0x36, 0x47, 0x8b, 0xb1, 0xc0, + 0x9f, 0xdd, 0x80, 0xaa, 0x6a, 0xfa, 0x48, 0x7d, 0xed, 0xff, 0x6b, 0x19, 0x4e, 0x64, 0xac, 0x15, + 0xf4, 0x19, 0x63, 0xdc, 0x5e, 0xee, 0x7b, 0xb1, 0xbd, 0xc7, 0x91, 0xfb, 0x0c, 0xd3, 0x94, 0x5c, + 0xb1, 0x3a, 0x0e, 0xd1, 0xfc, 0xcd, 0x88, 0xa4, 0x9b, 0xa7, 0x45, 0xf9, 0xcd, 0xd3, 0x66, 0x8f, + 0x6d, 0xf8, 0x69, 0x43, 0xaa, 0xa7, 0x47, 0x3a, 0xcf, 0x5f, 0xac, 0xc0, 0x74, 0x56, 0xe6, 0x02, + 0xf4, 0x79, 0x2b, 0xf5, 0xc6, 0xc8, 0x2b, 0xfd, 0xa7, 0x3f, 0xe0, 0x0f, 0x8f, 0x88, 0xbc, 0x42, + 0xf3, 0xe6, 0xab, 0x23, 0xb9, 0x23, 0x2e, 0x5a, 0x67, 0x11, 0x50, 0x21, 0x7f, 0x2f, 0x46, 0x72, + 0x85, 0x4f, 0x1c, 0xa2, 0x2b, 0xe2, 0xc9, 0x99, 0x28, 0x15, 0x01, 0x25, 0x8b, 0xf3, 0x23, 0xa0, + 0x64, 0x1f, 0x66, 0x3d, 0x18, 0xd1, 0xbe, 0xeb, 0x48, 0x97, 0xc1, 0x5d, 0x7a, 0x44, 0x69, 0xfd, + 0x3e, 0xd2, 0xa5, 0xf0, 0x77, 0x2c, 0x48, 0xb9, 0x85, 0x29, 0xb3, 0x8c, 0xd5, 0xd3, 0x2c, 0x73, + 0x06, 0x2a, 0x61, 0xd0, 0x22, 0xe9, 0x67, 0x27, 0x70, 0xd0, 0x22, 0x98, 0x41, 0xd4, 0x93, 0xd2, + 0xe5, 0x5e, 0x4f, 0x4a, 0x53, 0x3d, 0xbd, 0x45, 0xb6, 0x89, 0x34, 0x92, 0x28, 0x36, 0x7e, 0x95, + 0x16, 0x62, 0x0e, 0xb3, 0x7f, 0xa7, 0x02, 0x27, 0x32, 0xa2, 0x01, 0xa9, 0x86, 0xb4, 0xe1, 0xc4, + 0xe4, 0x9e, 0xb3, 0x93, 0x4e, 0x7f, 0x7b, 0x89, 0x17, 0x63, 0x09, 0x67, 0xee, 0xac, 0x3c, 0x85, + 0x5e, 0xca, 0x74, 0x25, 0x32, 0xe7, 0x09, 0xe8, 0xd1, 0x3f, 0x3e, 0x7c, 0x11, 0x20, 0x8a, 0x5a, + 0xcb, 0x3e, 0x95, 0xf0, 0x5c, 0xe1, 0x36, 0x9b, 0x64, 0x5e, 0x6c, 0x5c, 0x15, 0x10, 0xac, 0x61, + 0xa1, 0x1a, 0x4c, 0xb6, 0xc3, 0x20, 0xe6, 0x86, 0xc1, 0x1a, 0x77, 0xb5, 0x18, 0x30, 0xe3, 0xb5, + 0xea, 0x29, 0x38, 0xee, 0xaa, 0x81, 0x5e, 0x80, 0x11, 0x11, 0xc3, 0x55, 0x0f, 0x82, 0x96, 0x30, + 0x23, 0xa9, 0xfb, 0xf8, 0x46, 0x02, 0xc2, 0x3a, 0x9e, 0x56, 0x8d, 0x59, 0x1b, 0x87, 0x32, 0xab, + 0x71, 0x8b, 0xa3, 0x86, 0x97, 0xca, 0x6f, 0x32, 0x5c, 0x28, 0xbf, 0x49, 0x62, 0x58, 0xab, 0x16, + 0xbe, 0x88, 0x81, 0x5c, 0x03, 0xd4, 0x1f, 0x96, 0x61, 0x90, 0x4f, 0xc5, 0x31, 0x48, 0x79, 0x75, + 0x61, 0x52, 0x2a, 0x94, 0x4b, 0x82, 0xf7, 0x6a, 0xbe, 0xe6, 0xc4, 0x0e, 0x67, 0x4d, 0x6a, 0x87, + 0x24, 0x66, 0x28, 0x34, 0x6f, 0xec, 0xa1, 0xd9, 0x94, 0xa5, 0x04, 0x38, 0x0d, 0x6d, 0x47, 0x6d, + 0x02, 0x44, 0xec, 0x01, 0x5c, 0x4a, 0x43, 0xe4, 0xe6, 0x7d, 0xbe, 0x50, 0x3f, 0x1a, 0xaa, 0x1a, + 0xef, 0x4d, 0xb2, 0x2c, 0x15, 0x00, 0x6b, 0xb4, 0x67, 0x5f, 0x84, 0xaa, 0x42, 0xce, 0x53, 0x21, + 0x47, 0x75, 0xd6, 0xf6, 0xf3, 0x30, 0x91, 0x6a, 0xab, 0x2f, 0x0d, 0xf4, 0xf7, 0x2c, 0x98, 0xe0, + 0x5d, 0x5e, 0xf6, 0xb7, 0x05, 0x2b, 0xf8, 0x9c, 0x05, 0xd3, 0xad, 0x8c, 0x9d, 0x28, 0xa6, 0xf9, + 0x30, 0x7b, 0x58, 0x29, 0x9f, 0x59, 0x50, 0x9c, 0xd9, 0x1a, 0x3a, 0x0b, 0xc3, 0xfc, 0x3d, 0x6f, + 0xa7, 0x25, 0x7c, 0xb4, 0x47, 0x79, 0x56, 0x72, 0x5e, 0x86, 0x15, 0xd4, 0xfe, 0x89, 0x05, 0x53, + 0xfc, 0x23, 0xae, 0x90, 0x1d, 0xa5, 0x5e, 0xbd, 0x4f, 0x3e, 0x43, 0xe4, 0x5f, 0x2f, 0xf5, 0xc8, + 0xbf, 0xae, 0x7f, 0x65, 0xf9, 0xc0, 0xaf, 0xfc, 0xa6, 0x05, 0x62, 0x85, 0x1e, 0x83, 0xfe, 0xb0, + 0x6a, 0xea, 0x0f, 0x1f, 0x2a, 0xb2, 0xe8, 0x7b, 0x28, 0x0e, 0xbf, 0x5a, 0x82, 0x49, 0x8e, 0x90, + 0xdc, 0xc8, 0xbc, 0x5f, 0x26, 0xa7, 0xbf, 0x77, 0x81, 0xd4, 0xab, 0xb0, 0xd9, 0x5f, 0x6a, 0xcc, + 0x65, 0xe5, 0xc0, 0xb9, 0xfc, 0x9f, 0x16, 0x20, 0x3e, 0x26, 0xe9, 0xc7, 0xd0, 0xf9, 0xe9, 0xa6, + 0x99, 0x03, 0x12, 0xce, 0xa1, 0x20, 0x58, 0xc3, 0x7a, 0xc0, 0x9f, 0x90, 0xba, 0x0f, 0x2b, 0xe7, + 0xdf, 0x87, 0xf5, 0xf1, 0xd5, 0xdf, 0x2b, 0x43, 0xda, 0x59, 0x13, 0xbd, 0x05, 0xa3, 0x4d, 0xa7, + 0xed, 0xdc, 0xf1, 0x5a, 0x5e, 0xec, 0x91, 0xa8, 0xd8, 0x85, 0xfb, 0x92, 0x56, 0x43, 0x5c, 0x43, + 0x69, 0x25, 0xd8, 0xa0, 0x88, 0xe6, 0x01, 0xda, 0xa1, 0xb7, 0xed, 0xb5, 0xc8, 0x06, 0xd3, 0x78, + 0x58, 0xb4, 0x07, 0xbf, 0x3b, 0x96, 0xa5, 0x58, 0xc3, 0xc8, 0x88, 0x0e, 0x28, 0x1f, 0x47, 0x74, + 0x40, 0xa5, 0xcf, 0xe8, 0x80, 0x81, 0x42, 0xd1, 0x01, 0x18, 0x4e, 0xc9, 0xc3, 0x9b, 0xfe, 0x5f, + 0xf1, 0x5a, 0x44, 0xc8, 0x6e, 0x3c, 0x1a, 0x64, 0x76, 0x6f, 0x77, 0xee, 0x14, 0xce, 0xc4, 0xc0, + 0x3d, 0x6a, 0xda, 0x1d, 0x38, 0xd1, 0x20, 0xa1, 0x7c, 0xc8, 0x4e, 0xed, 0xa5, 0x4f, 0x43, 0x35, + 0x4c, 0x6d, 0xe3, 0x3e, 0x43, 0xfe, 0xb5, 0x2c, 0x6f, 0x72, 0xdb, 0x26, 0x24, 0xed, 0xbf, 0x5e, + 0x82, 0x21, 0xe1, 0xa6, 0x79, 0x0c, 0xc2, 0xc7, 0x15, 0xc3, 0xc4, 0xf4, 0x54, 0x1e, 0xff, 0x63, + 0xdd, 0xea, 0x69, 0x5c, 0x6a, 0xa4, 0x8c, 0x4b, 0xcf, 0x14, 0x23, 0x77, 0xb0, 0x59, 0xe9, 0x9f, + 0x94, 0x61, 0xdc, 0x74, 0x5b, 0x3d, 0x86, 0x61, 0x79, 0x0d, 0x86, 0x22, 0xe1, 0x41, 0x5d, 0x2a, + 0xe2, 0xb3, 0x97, 0x9e, 0xe2, 0xe4, 0x26, 0x5e, 0xf8, 0x4c, 0x4b, 0x72, 0x99, 0x4e, 0xda, 0xe5, + 0x63, 0x71, 0xd2, 0xce, 0xf3, 0x26, 0xae, 0x3c, 0x08, 0x6f, 0x62, 0xfb, 0xfb, 0x8c, 0xe5, 0xeb, + 0xe5, 0xc7, 0x70, 0x8c, 0xbf, 0x6a, 0x1e, 0x0e, 0xe7, 0x0a, 0xad, 0x3b, 0xd1, 0xbd, 0x1e, 0xc7, + 0xf9, 0xb7, 0x2d, 0x18, 0x11, 0x88, 0xc7, 0xf0, 0x01, 0xbf, 0x68, 0x7e, 0xc0, 0x13, 0x85, 0x3e, + 0xa0, 0x47, 0xcf, 0xbf, 0x5a, 0x52, 0x3d, 0xaf, 0x07, 0x61, 0x5c, 0x28, 0x17, 0xfa, 0x30, 0x55, + 0xfd, 0x82, 0x66, 0xd0, 0x12, 0x02, 0xdc, 0x23, 0x49, 0xf0, 0x1f, 0x2f, 0xdf, 0xd7, 0x7e, 0x63, + 0x85, 0xcd, 0x62, 0xd3, 0x82, 0x30, 0x16, 0x07, 0x68, 0x12, 0x9b, 0x16, 0x84, 0x31, 0x66, 0x10, + 0xe4, 0x02, 0xc4, 0x4e, 0xb8, 0x41, 0x62, 0x5a, 0x26, 0xe2, 0x66, 0x7b, 0xef, 0xd6, 0x4e, 0xec, + 0xb5, 0xe6, 0x3d, 0x3f, 0x8e, 0xe2, 0x70, 0x7e, 0xd5, 0x8f, 0x6f, 0x84, 0x5c, 0xe8, 0xd7, 0xa2, + 0xf9, 0x14, 0x2d, 0xac, 0xd1, 0x95, 0x61, 0x22, 0xac, 0x8d, 0x01, 0xf3, 0x06, 0xe9, 0xba, 0x28, + 0xc7, 0x0a, 0xc3, 0x7e, 0x91, 0x71, 0x76, 0x36, 0x40, 0xfd, 0x05, 0xda, 0x7d, 0x71, 0x48, 0x0d, + 0x2d, 0x33, 0x0b, 0x5f, 0xd7, 0xc3, 0xf9, 0x8a, 0xb2, 0x4f, 0xda, 0x05, 0xdd, 0x8f, 0x3a, 0x89, + 0xfe, 0x43, 0xa4, 0xeb, 0xda, 0xf1, 0xc5, 0xc2, 0x1c, 0xb9, 0x8f, 0x8b, 0x46, 0x96, 0x94, 0x91, + 0x65, 0xa2, 0x5b, 0xad, 0xa7, 0x33, 0xd8, 0x2f, 0x49, 0x00, 0x4e, 0x70, 0xd0, 0x79, 0xa1, 0x50, + 0x72, 0x8b, 0xcb, 0x07, 0x53, 0x0a, 0xa5, 0x1c, 0x12, 0x4d, 0xa3, 0xbc, 0x00, 0x23, 0xea, 0x51, + 0xa0, 0x3a, 0x7f, 0x8e, 0xa5, 0xca, 0xe5, 0xab, 0xe5, 0xa4, 0x18, 0xeb, 0x38, 0x68, 0x0d, 0x26, + 0x22, 0xfe, 0x62, 0x91, 0x8c, 0xd7, 0x10, 0x86, 0x83, 0xa7, 0xe5, 0x25, 0x65, 0xc3, 0x04, 0xef, + 0xb3, 0x22, 0xbe, 0x95, 0x65, 0x84, 0x47, 0x9a, 0x04, 0x7a, 0x05, 0xc6, 0x5b, 0xfa, 0x2b, 0xae, + 0x75, 0x61, 0x57, 0x50, 0x6e, 0x67, 0xc6, 0x1b, 0xaf, 0x75, 0x9c, 0xc2, 0x46, 0xaf, 0xc1, 0x8c, + 0x5e, 0x22, 0xd2, 0x0b, 0x39, 0xfe, 0x06, 0x89, 0xc4, 0xeb, 0x26, 0x8f, 0xec, 0xed, 0xce, 0xcd, + 0x5c, 0xed, 0x81, 0x83, 0x7b, 0xd6, 0x46, 0x2f, 0xc1, 0xa8, 0xfc, 0x7c, 0x2d, 0xba, 0x29, 0x71, + 0x78, 0xd4, 0x60, 0xd8, 0xc0, 0x44, 0xf7, 0xe0, 0xa4, 0xfc, 0xbf, 0x16, 0x3a, 0xeb, 0xeb, 0x5e, + 0x53, 0x84, 0x99, 0x8d, 0x30, 0x12, 0x0b, 0xd2, 0x5f, 0x7c, 0x39, 0x0b, 0x69, 0x7f, 0x77, 0xee, + 0x8c, 0x18, 0xb5, 0x4c, 0x38, 0x9b, 0xc4, 0x6c, 0xfa, 0xe8, 0x1a, 0x9c, 0xd8, 0x24, 0x4e, 0x2b, + 0xde, 0x5c, 0xda, 0x24, 0xcd, 0xbb, 0x72, 0x63, 0xb1, 0x98, 0x29, 0xcd, 0x25, 0xf0, 0x72, 0x37, + 0x0a, 0xce, 0xaa, 0xf7, 0xde, 0xee, 0x94, 0x7f, 0x89, 0x56, 0xd6, 0xe4, 0x07, 0xf4, 0x36, 0x8c, + 0xea, 0x63, 0x9d, 0x16, 0x0c, 0xf2, 0x5f, 0xf8, 0x15, 0x72, 0x88, 0x9a, 0x01, 0x1d, 0x86, 0x0d, + 0xda, 0xf6, 0xbf, 0x2b, 0xc1, 0x5c, 0x4e, 0xf6, 0xae, 0x94, 0x35, 0xcb, 0x2a, 0x64, 0xcd, 0x5a, + 0x90, 0xaf, 0xde, 0x5c, 0x4f, 0x65, 0x4d, 0x4f, 0xbd, 0x63, 0x93, 0xe4, 0x4e, 0x4f, 0xe3, 0x17, + 0xf6, 0x34, 0xd3, 0x0d, 0x62, 0x95, 0x5c, 0x87, 0xbb, 0xd7, 0x75, 0x1b, 0xe7, 0xc0, 0x61, 0x84, + 0xde, 0x9e, 0xe6, 0x4d, 0xfb, 0xfb, 0x25, 0x38, 0xa9, 0x06, 0xf3, 0x67, 0x77, 0x08, 0xdf, 0xec, + 0x1e, 0xc2, 0x07, 0x6a, 0x26, 0xb6, 0x6f, 0xc0, 0x60, 0x63, 0x27, 0x6a, 0xc6, 0xad, 0x02, 0x27, + 0xfe, 0xe3, 0xc6, 0xbe, 0x4a, 0x4e, 0x23, 0xf6, 0x96, 0x9d, 0xd8, 0x66, 0xf6, 0x17, 0x2c, 0x98, + 0x58, 0x5b, 0xaa, 0x37, 0x82, 0xe6, 0x5d, 0x12, 0x2f, 0x70, 0x83, 0x06, 0x16, 0x07, 0xbe, 0x75, + 0xc8, 0x83, 0x3c, 0x4b, 0x44, 0x38, 0x03, 0x95, 0xcd, 0x20, 0x8a, 0xd3, 0x97, 0x02, 0x97, 0x83, + 0x28, 0xc6, 0x0c, 0x62, 0xff, 0x99, 0x05, 0x03, 0xec, 0xa9, 0xb6, 0xbc, 0x67, 0xfe, 0x8a, 0x7c, + 0x17, 0x7a, 0x01, 0x06, 0xc9, 0xfa, 0x3a, 0x69, 0xc6, 0x62, 0x7e, 0x65, 0x80, 0xcd, 0xe0, 0x32, + 0x2b, 0xa5, 0x27, 0x1a, 0x6b, 0x8c, 0xff, 0xc5, 0x02, 0x19, 0x7d, 0x0a, 0xaa, 0xb1, 0xb7, 0x45, + 0x16, 0x5c, 0x57, 0x58, 0xe1, 0xfb, 0xf3, 0xf9, 0x52, 0x27, 0xec, 0x9a, 0x24, 0x82, 0x13, 0x7a, + 0xf6, 0x97, 0x4b, 0x00, 0x49, 0x00, 0x5d, 0xde, 0x67, 0x2e, 0x76, 0xbd, 0x66, 0xf8, 0x64, 0xc6, + 0x6b, 0x86, 0x28, 0x21, 0x98, 0xf1, 0x96, 0xa1, 0x1a, 0xaa, 0x72, 0xa1, 0xa1, 0xaa, 0xf4, 0x33, + 0x54, 0x4b, 0x30, 0x95, 0x04, 0x00, 0x9a, 0x91, 0xd4, 0x2c, 0xe3, 0xf0, 0x5a, 0x1a, 0x88, 0xbb, + 0xf1, 0xed, 0x2f, 0x5b, 0x20, 0xbc, 0x84, 0x0b, 0x2c, 0x68, 0x57, 0xbe, 0x3c, 0x66, 0x24, 0x17, + 0x7c, 0xba, 0x88, 0x03, 0xb5, 0x48, 0x29, 0xa8, 0xf8, 0xbe, 0x91, 0x48, 0xd0, 0xa0, 0x6a, 0xff, + 0xb6, 0x05, 0x23, 0x1c, 0x7c, 0x8d, 0x29, 0xa2, 0xf9, 0xfd, 0xea, 0x2b, 0x9d, 0x35, 0x7b, 0x94, + 0x8b, 0x12, 0x56, 0x69, 0x8d, 0xf5, 0x47, 0xb9, 0x24, 0x00, 0x27, 0x38, 0xe8, 0x29, 0x18, 0x8a, + 0x3a, 0x77, 0x18, 0x7a, 0xca, 0x65, 0xb8, 0xc1, 0x8b, 0xb1, 0x84, 0xdb, 0xff, 0xac, 0x04, 0x93, + 0x69, 0x8f, 0x71, 0x84, 0x61, 0x90, 0x33, 0x90, 0xb4, 0x4e, 0x73, 0x90, 0x01, 0x54, 0xf3, 0x38, + 0x07, 0xfe, 0xb4, 0x3c, 0x63, 0x41, 0x82, 0x12, 0x5a, 0x87, 0x11, 0x37, 0xb8, 0xe7, 0xdf, 0x73, + 0x42, 0x77, 0xa1, 0xbe, 0x2a, 0x66, 0x22, 0xc7, 0xc7, 0xaf, 0x96, 0x54, 0xd0, 0xfd, 0xd9, 0x99, + 0x41, 0x2e, 0x01, 0x61, 0x9d, 0x30, 0xfa, 0x34, 0xcb, 0x85, 0xb2, 0xee, 0x6d, 0x5c, 0x73, 0xda, + 0xc5, 0xbc, 0x59, 0x96, 0x24, 0xba, 0xd6, 0xc6, 0x98, 0x48, 0x9d, 0xc2, 0x01, 0x38, 0x21, 0x69, + 0xff, 0xea, 0x49, 0x30, 0xd6, 0x82, 0x91, 0x73, 0xda, 0x7a, 0xe0, 0x39, 0xa7, 0xdf, 0x80, 0x61, + 0xb2, 0xd5, 0x8e, 0x77, 0x6a, 0x5e, 0x58, 0xec, 0x05, 0x81, 0x65, 0x81, 0xdd, 0x4d, 0x5d, 0x42, + 0xb0, 0xa2, 0xd8, 0x23, 0x83, 0x78, 0xf9, 0x7d, 0x91, 0x41, 0xbc, 0xf2, 0x97, 0x92, 0x41, 0xfc, + 0x35, 0x18, 0xda, 0xf0, 0x62, 0x4c, 0xda, 0x81, 0x38, 0x8d, 0x73, 0x16, 0xcf, 0x25, 0x8e, 0xdc, + 0x9d, 0x5b, 0x56, 0x00, 0xb0, 0x24, 0x87, 0xd6, 0xd4, 0xa6, 0x1a, 0x2c, 0x22, 0x83, 0x76, 0x1b, + 0xc8, 0x33, 0xb7, 0x95, 0xc8, 0x18, 0x3e, 0xf4, 0xde, 0x33, 0x86, 0xab, 0x3c, 0xdf, 0xc3, 0x0f, + 0x2a, 0xcf, 0xb7, 0x91, 0x2f, 0xbd, 0x7a, 0x14, 0xf9, 0xd2, 0xbf, 0x6c, 0xc1, 0xc9, 0x76, 0xd6, + 0x6b, 0x03, 0x22, 0x63, 0xf7, 0x2f, 0x1c, 0xe2, 0xfd, 0x05, 0xa3, 0x69, 0x96, 0xe1, 0x23, 0x13, + 0x0d, 0x67, 0x37, 0x2c, 0x13, 0xaf, 0x8f, 0xbc, 0xf7, 0xc4, 0xeb, 0x47, 0x9d, 0xda, 0x3b, 0x49, + 0xc3, 0x3e, 0x76, 0x24, 0x69, 0xd8, 0xc7, 0x1f, 0x60, 0x1a, 0x76, 0x2d, 0x81, 0xfa, 0xc4, 0x83, + 0x4d, 0xa0, 0xbe, 0x69, 0x9e, 0x4b, 0x3c, 0x5f, 0xf7, 0x0b, 0x85, 0xcf, 0x25, 0xa3, 0x85, 0x83, + 0x4f, 0x26, 0x9e, 0x4a, 0x7e, 0xea, 0x3d, 0xa6, 0x92, 0x37, 0x12, 0xb2, 0xa3, 0xa3, 0x48, 0xc8, + 0xfe, 0x96, 0x7e, 0x82, 0x9e, 0x28, 0xd2, 0x82, 0x3a, 0x28, 0xbb, 0x5b, 0xc8, 0x3a, 0x43, 0xbb, + 0x53, 0xbe, 0x4f, 0x1f, 0x77, 0xca, 0xf7, 0x93, 0x47, 0x98, 0xf2, 0xfd, 0xd4, 0xb1, 0xa6, 0x7c, + 0x7f, 0xe8, 0x7d, 0x92, 0xf2, 0x7d, 0xe6, 0xb8, 0x52, 0xbe, 0x3f, 0xfc, 0x60, 0x53, 0xbe, 0xbf, + 0x05, 0xd5, 0xb6, 0x8c, 0xbb, 0x9c, 0x99, 0x2d, 0x32, 0x75, 0x99, 0x61, 0x9a, 0x7c, 0xea, 0x14, + 0x08, 0x27, 0x44, 0x69, 0x0b, 0x49, 0x0a, 0xf8, 0x0f, 0x16, 0x69, 0x21, 0xd3, 0xee, 0x71, 0x40, + 0xe2, 0xf7, 0x2f, 0x96, 0xe0, 0xf4, 0xc1, 0xbb, 0x23, 0x31, 0x9a, 0xd4, 0x13, 0x5b, 0x76, 0xca, + 0x68, 0xc2, 0x24, 0x4f, 0x0d, 0xab, 0x70, 0x38, 0xfb, 0x25, 0x98, 0x52, 0x7e, 0x5e, 0x2d, 0xaf, + 0xb9, 0xa3, 0x3d, 0x44, 0xa5, 0xe2, 0x13, 0x1a, 0x69, 0x04, 0xdc, 0x5d, 0x07, 0x2d, 0xc0, 0x84, + 0x51, 0xb8, 0x5a, 0x13, 0xfa, 0x8b, 0xb2, 0xd2, 0x34, 0x4c, 0x30, 0x4e, 0xe3, 0xdb, 0xdf, 0xb0, + 0xe0, 0xa1, 0x1e, 0x39, 0x5e, 0x0b, 0xc7, 0x68, 0xb7, 0x61, 0xa2, 0x6d, 0x56, 0x2d, 0x9c, 0xf2, + 0xc1, 0xc8, 0x29, 0xab, 0x7a, 0x9d, 0x02, 0xe0, 0x34, 0xf9, 0xc5, 0xb3, 0x3f, 0xf8, 0xf1, 0xe9, + 0x0f, 0xfc, 0xf0, 0xc7, 0xa7, 0x3f, 0xf0, 0xa3, 0x1f, 0x9f, 0xfe, 0xc0, 0x2f, 0xef, 0x9d, 0xb6, + 0x7e, 0xb0, 0x77, 0xda, 0xfa, 0xe1, 0xde, 0x69, 0xeb, 0x47, 0x7b, 0xa7, 0xad, 0x3f, 0xdf, 0x3b, + 0x6d, 0x7d, 0xf9, 0x27, 0xa7, 0x3f, 0xf0, 0x7a, 0x69, 0xfb, 0xc2, 0xff, 0x0b, 0x00, 0x00, 0xff, + 0xff, 0x2b, 0xa9, 0x4a, 0xd9, 0x9b, 0xd0, 0x00, 0x00, } diff --git a/staging/src/k8s.io/client-go/pkg/api/v1/types.generated.go b/staging/src/k8s.io/client-go/pkg/api/v1/types.generated.go index dc5ef1f52d7..f2c59706c85 100644 --- a/staging/src/k8s.io/client-go/pkg/api/v1/types.generated.go +++ b/staging/src/k8s.io/client-go/pkg/api/v1/types.generated.go @@ -37619,7 +37619,6 @@ func (x *PodSecurityContext) CodecEncodeSelf(e *codec1978.Encoder) { yym8 := z.EncBinary() _ = yym8 if false { - } else if z.HasExtensions() && z.EncExt(yy7) { } else { r.EncodeInt(int64(yy7)) } @@ -37639,7 +37638,6 @@ func (x *PodSecurityContext) CodecEncodeSelf(e *codec1978.Encoder) { yym10 := z.EncBinary() _ = yym10 if false { - } else if z.HasExtensions() && z.EncExt(yy9) { } else { r.EncodeInt(int64(yy9)) } @@ -37691,7 +37689,7 @@ func (x *PodSecurityContext) CodecEncodeSelf(e *codec1978.Encoder) { _ = yym17 if false { } else { - h.encSlicetypes_UnixGroupID(([]pkg1_types.UnixGroupID)(x.SupplementalGroups), e) + z.F.EncSliceInt64V(x.SupplementalGroups, false, e) } } } else { @@ -37709,7 +37707,7 @@ func (x *PodSecurityContext) CodecEncodeSelf(e *codec1978.Encoder) { _ = yym18 if false { } else { - h.encSlicetypes_UnixGroupID(([]pkg1_types.UnixGroupID)(x.SupplementalGroups), e) + z.F.EncSliceInt64V(x.SupplementalGroups, false, e) } } } @@ -37724,7 +37722,6 @@ func (x *PodSecurityContext) CodecEncodeSelf(e *codec1978.Encoder) { yym21 := z.EncBinary() _ = yym21 if false { - } else if z.HasExtensions() && z.EncExt(yy20) { } else { r.EncodeInt(int64(yy20)) } @@ -37744,7 +37741,6 @@ func (x *PodSecurityContext) CodecEncodeSelf(e *codec1978.Encoder) { yym23 := z.EncBinary() _ = yym23 if false { - } else if z.HasExtensions() && z.EncExt(yy22) { } else { r.EncodeInt(int64(yy22)) } @@ -37830,12 +37826,11 @@ func (x *PodSecurityContext) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) } } else { if x.RunAsUser == nil { - x.RunAsUser = new(pkg1_types.UnixUserID) + x.RunAsUser = new(int64) } yym6 := z.DecBinary() _ = yym6 if false { - } else if z.HasExtensions() && z.DecExt(x.RunAsUser) { } else { *((*int64)(x.RunAsUser)) = int64(r.DecodeInt(64)) } @@ -37865,7 +37860,7 @@ func (x *PodSecurityContext) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) _ = yym10 if false { } else { - h.decSlicetypes_UnixGroupID((*[]pkg1_types.UnixGroupID)(yyv9), d) + z.F.DecSliceInt64X(yyv9, false, d) } } case "fsGroup": @@ -37875,12 +37870,11 @@ func (x *PodSecurityContext) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) } } else { if x.FSGroup == nil { - x.FSGroup = new(pkg1_types.UnixGroupID) + x.FSGroup = new(int64) } yym12 := z.DecBinary() _ = yym12 if false { - } else if z.HasExtensions() && z.DecExt(x.FSGroup) { } else { *((*int64)(x.FSGroup)) = int64(r.DecodeInt(64)) } @@ -37937,12 +37931,11 @@ func (x *PodSecurityContext) codecDecodeSelfFromArray(l int, d *codec1978.Decode } } else { if x.RunAsUser == nil { - x.RunAsUser = new(pkg1_types.UnixUserID) + x.RunAsUser = new(int64) } yym16 := z.DecBinary() _ = yym16 if false { - } else if z.HasExtensions() && z.DecExt(x.RunAsUser) { } else { *((*int64)(x.RunAsUser)) = int64(r.DecodeInt(64)) } @@ -37992,7 +37985,7 @@ func (x *PodSecurityContext) codecDecodeSelfFromArray(l int, d *codec1978.Decode _ = yym20 if false { } else { - h.decSlicetypes_UnixGroupID((*[]pkg1_types.UnixGroupID)(yyv19), d) + z.F.DecSliceInt64X(yyv19, false, d) } } yyj13++ @@ -38012,12 +38005,11 @@ func (x *PodSecurityContext) codecDecodeSelfFromArray(l int, d *codec1978.Decode } } else { if x.FSGroup == nil { - x.FSGroup = new(pkg1_types.UnixGroupID) + x.FSGroup = new(int64) } yym22 := z.DecBinary() _ = yym22 if false { - } else if z.HasExtensions() && z.DecExt(x.FSGroup) { } else { *((*int64)(x.FSGroup)) = int64(r.DecodeInt(64)) } @@ -67969,7 +67961,6 @@ func (x *SecurityContext) CodecEncodeSelf(e *codec1978.Encoder) { yym16 := z.EncBinary() _ = yym16 if false { - } else if z.HasExtensions() && z.EncExt(yy15) { } else { r.EncodeInt(int64(yy15)) } @@ -67989,7 +67980,6 @@ func (x *SecurityContext) CodecEncodeSelf(e *codec1978.Encoder) { yym18 := z.EncBinary() _ = yym18 if false { - } else if z.HasExtensions() && z.EncExt(yy17) { } else { r.EncodeInt(int64(yy17)) } @@ -68172,12 +68162,11 @@ func (x *SecurityContext) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) { } } else { if x.RunAsUser == nil { - x.RunAsUser = new(pkg1_types.UnixUserID) + x.RunAsUser = new(int64) } yym9 := z.DecBinary() _ = yym9 if false { - } else if z.HasExtensions() && z.DecExt(x.RunAsUser) { } else { *((*int64)(x.RunAsUser)) = int64(r.DecodeInt(64)) } @@ -68313,12 +68302,11 @@ func (x *SecurityContext) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) } } else { if x.RunAsUser == nil { - x.RunAsUser = new(pkg1_types.UnixUserID) + x.RunAsUser = new(int64) } yym20 := z.DecBinary() _ = yym20 if false { - } else if z.HasExtensions() && z.DecExt(x.RunAsUser) { } else { *((*int64)(x.RunAsUser)) = int64(r.DecodeInt(64)) } @@ -72192,143 +72180,6 @@ func (x codecSelfer1234) decSliceHostAlias(v *[]HostAlias, d *codec1978.Decoder) } } -func (x codecSelfer1234) encSlicetypes_UnixGroupID(v []pkg1_types.UnixGroupID, e *codec1978.Encoder) { - var h codecSelfer1234 - z, r := codec1978.GenHelperEncoder(e) - _, _, _ = h, z, r - r.EncodeArrayStart(len(v)) - for _, yyv1 := range v { - z.EncSendContainerState(codecSelfer_containerArrayElem1234) - yym2 := z.EncBinary() - _ = yym2 - if false { - } else if z.HasExtensions() && z.EncExt(yyv1) { - } else { - r.EncodeInt(int64(yyv1)) - } - } - z.EncSendContainerState(codecSelfer_containerArrayEnd1234) -} - -func (x codecSelfer1234) decSlicetypes_UnixGroupID(v *[]pkg1_types.UnixGroupID, d *codec1978.Decoder) { - var h codecSelfer1234 - z, r := codec1978.GenHelperDecoder(d) - _, _, _ = h, z, r - - yyv1 := *v - yyh1, yyl1 := z.DecSliceHelperStart() - var yyc1 bool - _ = yyc1 - if yyl1 == 0 { - if yyv1 == nil { - yyv1 = []pkg1_types.UnixGroupID{} - yyc1 = true - } else if len(yyv1) != 0 { - yyv1 = yyv1[:0] - yyc1 = true - } - } else if yyl1 > 0 { - var yyrr1, yyrl1 int - var yyrt1 bool - _, _ = yyrl1, yyrt1 - yyrr1 = yyl1 // len(yyv1) - if yyl1 > cap(yyv1) { - - yyrl1, yyrt1 = z.DecInferLen(yyl1, z.DecBasicHandle().MaxInitLen, 8) - if yyrt1 { - if yyrl1 <= cap(yyv1) { - yyv1 = yyv1[:yyrl1] - } else { - yyv1 = make([]pkg1_types.UnixGroupID, yyrl1) - } - } else { - yyv1 = make([]pkg1_types.UnixGroupID, yyrl1) - } - yyc1 = true - yyrr1 = len(yyv1) - } else if yyl1 != len(yyv1) { - yyv1 = yyv1[:yyl1] - yyc1 = true - } - yyj1 := 0 - for ; yyj1 < yyrr1; yyj1++ { - yyh1.ElemContainerState(yyj1) - if r.TryDecodeAsNil() { - yyv1[yyj1] = 0 - } else { - yyv2 := &yyv1[yyj1] - yym3 := z.DecBinary() - _ = yym3 - if false { - } else if z.HasExtensions() && z.DecExt(yyv2) { - } else { - *((*int64)(yyv2)) = int64(r.DecodeInt(64)) - } - } - - } - if yyrt1 { - for ; yyj1 < yyl1; yyj1++ { - yyv1 = append(yyv1, 0) - yyh1.ElemContainerState(yyj1) - if r.TryDecodeAsNil() { - yyv1[yyj1] = 0 - } else { - yyv4 := &yyv1[yyj1] - yym5 := z.DecBinary() - _ = yym5 - if false { - } else if z.HasExtensions() && z.DecExt(yyv4) { - } else { - *((*int64)(yyv4)) = int64(r.DecodeInt(64)) - } - } - - } - } - - } else { - yyj1 := 0 - for ; !r.CheckBreak(); yyj1++ { - - if yyj1 >= len(yyv1) { - yyv1 = append(yyv1, 0) // var yyz1 pkg1_types.UnixGroupID - yyc1 = true - } - yyh1.ElemContainerState(yyj1) - if yyj1 < len(yyv1) { - if r.TryDecodeAsNil() { - yyv1[yyj1] = 0 - } else { - yyv6 := &yyv1[yyj1] - yym7 := z.DecBinary() - _ = yym7 - if false { - } else if z.HasExtensions() && z.DecExt(yyv6) { - } else { - *((*int64)(yyv6)) = int64(r.DecodeInt(64)) - } - } - - } else { - z.DecSwallow() - } - - } - if yyj1 < len(yyv1) { - yyv1 = yyv1[:yyj1] - yyc1 = true - } else if yyj1 == 0 && yyv1 == nil { - yyv1 = []pkg1_types.UnixGroupID{} - yyc1 = true - } - } - yyh1.End() - if yyc1 { - *v = yyv1 - } -} - func (x codecSelfer1234) encSlicePodCondition(v []PodCondition, e *codec1978.Encoder) { var h codecSelfer1234 z, r := codec1978.GenHelperEncoder(e) diff --git a/staging/src/k8s.io/client-go/pkg/api/v1/zz_generated.conversion.go b/staging/src/k8s.io/client-go/pkg/api/v1/zz_generated.conversion.go index 2fdecd13fdf..1832c432bc0 100644 --- a/staging/src/k8s.io/client-go/pkg/api/v1/zz_generated.conversion.go +++ b/staging/src/k8s.io/client-go/pkg/api/v1/zz_generated.conversion.go @@ -3450,10 +3450,10 @@ func Convert_api_PodProxyOptions_To_v1_PodProxyOptions(in *api.PodProxyOptions, func autoConvert_v1_PodSecurityContext_To_api_PodSecurityContext(in *PodSecurityContext, out *api.PodSecurityContext, s conversion.Scope) error { out.SELinuxOptions = (*api.SELinuxOptions)(unsafe.Pointer(in.SELinuxOptions)) - out.RunAsUser = (*types.UnixUserID)(unsafe.Pointer(in.RunAsUser)) + out.RunAsUser = (*int64)(unsafe.Pointer(in.RunAsUser)) out.RunAsNonRoot = (*bool)(unsafe.Pointer(in.RunAsNonRoot)) - out.SupplementalGroups = *(*[]types.UnixGroupID)(unsafe.Pointer(&in.SupplementalGroups)) - out.FSGroup = (*types.UnixGroupID)(unsafe.Pointer(in.FSGroup)) + out.SupplementalGroups = *(*[]int64)(unsafe.Pointer(&in.SupplementalGroups)) + out.FSGroup = (*int64)(unsafe.Pointer(in.FSGroup)) return nil } @@ -3462,10 +3462,10 @@ func autoConvert_api_PodSecurityContext_To_v1_PodSecurityContext(in *api.PodSecu // INFO: in.HostPID opted out of conversion generation // INFO: in.HostIPC opted out of conversion generation out.SELinuxOptions = (*SELinuxOptions)(unsafe.Pointer(in.SELinuxOptions)) - out.RunAsUser = (*types.UnixUserID)(unsafe.Pointer(in.RunAsUser)) + out.RunAsUser = (*int64)(unsafe.Pointer(in.RunAsUser)) out.RunAsNonRoot = (*bool)(unsafe.Pointer(in.RunAsNonRoot)) - out.SupplementalGroups = *(*[]types.UnixGroupID)(unsafe.Pointer(&in.SupplementalGroups)) - out.FSGroup = (*types.UnixGroupID)(unsafe.Pointer(in.FSGroup)) + out.SupplementalGroups = *(*[]int64)(unsafe.Pointer(&in.SupplementalGroups)) + out.FSGroup = (*int64)(unsafe.Pointer(in.FSGroup)) return nil } @@ -4525,7 +4525,7 @@ func autoConvert_v1_SecurityContext_To_api_SecurityContext(in *SecurityContext, out.Capabilities = (*api.Capabilities)(unsafe.Pointer(in.Capabilities)) out.Privileged = (*bool)(unsafe.Pointer(in.Privileged)) out.SELinuxOptions = (*api.SELinuxOptions)(unsafe.Pointer(in.SELinuxOptions)) - out.RunAsUser = (*types.UnixUserID)(unsafe.Pointer(in.RunAsUser)) + out.RunAsUser = (*int64)(unsafe.Pointer(in.RunAsUser)) out.RunAsNonRoot = (*bool)(unsafe.Pointer(in.RunAsNonRoot)) out.ReadOnlyRootFilesystem = (*bool)(unsafe.Pointer(in.ReadOnlyRootFilesystem)) return nil @@ -4540,7 +4540,7 @@ func autoConvert_api_SecurityContext_To_v1_SecurityContext(in *api.SecurityConte out.Capabilities = (*Capabilities)(unsafe.Pointer(in.Capabilities)) out.Privileged = (*bool)(unsafe.Pointer(in.Privileged)) out.SELinuxOptions = (*SELinuxOptions)(unsafe.Pointer(in.SELinuxOptions)) - out.RunAsUser = (*types.UnixUserID)(unsafe.Pointer(in.RunAsUser)) + out.RunAsUser = (*int64)(unsafe.Pointer(in.RunAsUser)) out.RunAsNonRoot = (*bool)(unsafe.Pointer(in.RunAsNonRoot)) out.ReadOnlyRootFilesystem = (*bool)(unsafe.Pointer(in.ReadOnlyRootFilesystem)) return nil diff --git a/staging/src/k8s.io/client-go/pkg/api/v1/zz_generated.deepcopy.go b/staging/src/k8s.io/client-go/pkg/api/v1/zz_generated.deepcopy.go index 38ee730ebc8..b909d9b3325 100644 --- a/staging/src/k8s.io/client-go/pkg/api/v1/zz_generated.deepcopy.go +++ b/staging/src/k8s.io/client-go/pkg/api/v1/zz_generated.deepcopy.go @@ -2469,7 +2469,7 @@ func DeepCopy_v1_PodSecurityContext(in interface{}, out interface{}, c *conversi } if in.RunAsUser != nil { in, out := &in.RunAsUser, &out.RunAsUser - *out = new(types.UnixUserID) + *out = new(int64) **out = **in } if in.RunAsNonRoot != nil { @@ -2479,12 +2479,12 @@ func DeepCopy_v1_PodSecurityContext(in interface{}, out interface{}, c *conversi } if in.SupplementalGroups != nil { in, out := &in.SupplementalGroups, &out.SupplementalGroups - *out = make([]types.UnixGroupID, len(*in)) + *out = make([]int64, len(*in)) copy(*out, *in) } if in.FSGroup != nil { in, out := &in.FSGroup, &out.FSGroup - *out = new(types.UnixGroupID) + *out = new(int64) **out = **in } return nil @@ -3264,7 +3264,7 @@ func DeepCopy_v1_SecurityContext(in interface{}, out interface{}, c *conversion. } if in.RunAsUser != nil { in, out := &in.RunAsUser, &out.RunAsUser - *out = new(types.UnixUserID) + *out = new(int64) **out = **in } if in.RunAsNonRoot != nil { diff --git a/staging/src/k8s.io/client-go/pkg/api/zz_generated.deepcopy.go b/staging/src/k8s.io/client-go/pkg/api/zz_generated.deepcopy.go index b9b24716ebe..cc111561b7f 100644 --- a/staging/src/k8s.io/client-go/pkg/api/zz_generated.deepcopy.go +++ b/staging/src/k8s.io/client-go/pkg/api/zz_generated.deepcopy.go @@ -2487,7 +2487,7 @@ func DeepCopy_api_PodSecurityContext(in interface{}, out interface{}, c *convers } if in.RunAsUser != nil { in, out := &in.RunAsUser, &out.RunAsUser - *out = new(types.UnixUserID) + *out = new(int64) **out = **in } if in.RunAsNonRoot != nil { @@ -2497,12 +2497,12 @@ func DeepCopy_api_PodSecurityContext(in interface{}, out interface{}, c *convers } if in.SupplementalGroups != nil { in, out := &in.SupplementalGroups, &out.SupplementalGroups - *out = make([]types.UnixGroupID, len(*in)) + *out = make([]int64, len(*in)) copy(*out, *in) } if in.FSGroup != nil { in, out := &in.FSGroup, &out.FSGroup - *out = new(types.UnixGroupID) + *out = new(int64) **out = **in } return nil @@ -3270,7 +3270,7 @@ func DeepCopy_api_SecurityContext(in interface{}, out interface{}, c *conversion } if in.RunAsUser != nil { in, out := &in.RunAsUser, &out.RunAsUser - *out = new(types.UnixUserID) + *out = new(int64) **out = **in } if in.RunAsNonRoot != nil { diff --git a/staging/src/k8s.io/client-go/pkg/apis/extensions/BUILD b/staging/src/k8s.io/client-go/pkg/apis/extensions/BUILD index 529181ac240..95cb77d78af 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/extensions/BUILD +++ b/staging/src/k8s.io/client-go/pkg/apis/extensions/BUILD @@ -23,7 +23,6 @@ go_library( "//vendor/k8s.io/apimachinery/pkg/conversion:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime/schema:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/types:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/intstr:go_default_library", "//vendor/k8s.io/client-go/pkg/api:go_default_library", ], diff --git a/test/e2e/common/BUILD b/test/e2e/common/BUILD index 77c5ff19dee..274443efca9 100644 --- a/test/e2e/common/BUILD +++ b/test/e2e/common/BUILD @@ -59,7 +59,6 @@ go_library( "//vendor/k8s.io/apimachinery/pkg/labels:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime/schema:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/types:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/intstr:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/sets:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/uuid:go_default_library", From 9fe19d1074dfde11d1b74ac420f90c1c876ab63e Mon Sep 17 00:00:00 2001 From: mbohlool Date: Tue, 20 Jun 2017 18:45:24 -0700 Subject: [PATCH 3/4] Update swagger 1.2 spec --- api/swagger-spec/apps_v1beta1.json | 19 +++++++------------ api/swagger-spec/batch_v1.json | 19 +++++++------------ api/swagger-spec/batch_v2alpha1.json | 19 +++++++------------ api/swagger-spec/extensions_v1beta1.json | 19 +++++++------------ api/swagger-spec/v1.json | 19 +++++++------------ 5 files changed, 35 insertions(+), 60 deletions(-) diff --git a/api/swagger-spec/apps_v1beta1.json b/api/swagger-spec/apps_v1beta1.json index 43e6e8aa5db..a5370a98417 100644 --- a/api/swagger-spec/apps_v1beta1.json +++ b/api/swagger-spec/apps_v1beta1.json @@ -5320,7 +5320,8 @@ "description": "The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence." }, "runAsUser": { - "$ref": "types.UnixUserID", + "type": "integer", + "format": "int64", "description": "The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence." }, "runAsNonRoot": { @@ -5379,10 +5380,6 @@ } } }, - "types.UnixUserID": { - "id": "types.UnixUserID", - "properties": {} - }, "v1.PodSecurityContext": { "id": "v1.PodSecurityContext", "description": "PodSecurityContext holds pod-level security attributes and common container settings. Some fields are also present in container.securityContext. Field values of container.securityContext take precedence over field values of PodSecurityContext.", @@ -5392,7 +5389,8 @@ "description": "The SELinux context to be applied to all containers. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container." }, "runAsUser": { - "$ref": "types.UnixUserID", + "type": "integer", + "format": "int64", "description": "The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container." }, "runAsNonRoot": { @@ -5402,20 +5400,17 @@ "supplementalGroups": { "type": "array", "items": { - "$ref": "types.UnixGroupID" + "type": "integer" }, "description": "A list of groups applied to the first process run in each container, in addition to the container's primary GID. If unspecified, no groups will be added to any container." }, "fsGroup": { - "$ref": "types.UnixGroupID", + "type": "integer", + "format": "int64", "description": "A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod:\n\n1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw " } } }, - "types.UnixGroupID": { - "id": "types.UnixGroupID", - "properties": {} - }, "v1.Affinity": { "id": "v1.Affinity", "description": "Affinity is a group of affinity scheduling rules.", diff --git a/api/swagger-spec/batch_v1.json b/api/swagger-spec/batch_v1.json index 8e9b3cd8a1c..baa40b1df26 100644 --- a/api/swagger-spec/batch_v1.json +++ b/api/swagger-spec/batch_v1.json @@ -3067,7 +3067,8 @@ "description": "The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence." }, "runAsUser": { - "$ref": "types.UnixUserID", + "type": "integer", + "format": "int64", "description": "The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence." }, "runAsNonRoot": { @@ -3126,10 +3127,6 @@ } } }, - "types.UnixUserID": { - "id": "types.UnixUserID", - "properties": {} - }, "v1.PodSecurityContext": { "id": "v1.PodSecurityContext", "description": "PodSecurityContext holds pod-level security attributes and common container settings. Some fields are also present in container.securityContext. Field values of container.securityContext take precedence over field values of PodSecurityContext.", @@ -3139,7 +3136,8 @@ "description": "The SELinux context to be applied to all containers. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container." }, "runAsUser": { - "$ref": "types.UnixUserID", + "type": "integer", + "format": "int64", "description": "The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container." }, "runAsNonRoot": { @@ -3149,20 +3147,17 @@ "supplementalGroups": { "type": "array", "items": { - "$ref": "types.UnixGroupID" + "type": "integer" }, "description": "A list of groups applied to the first process run in each container, in addition to the container's primary GID. If unspecified, no groups will be added to any container." }, "fsGroup": { - "$ref": "types.UnixGroupID", + "type": "integer", + "format": "int64", "description": "A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod:\n\n1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw " } } }, - "types.UnixGroupID": { - "id": "types.UnixGroupID", - "properties": {} - }, "v1.Affinity": { "id": "v1.Affinity", "description": "Affinity is a group of affinity scheduling rules.", diff --git a/api/swagger-spec/batch_v2alpha1.json b/api/swagger-spec/batch_v2alpha1.json index 461a9cd0495..8982676e089 100644 --- a/api/swagger-spec/batch_v2alpha1.json +++ b/api/swagger-spec/batch_v2alpha1.json @@ -4148,7 +4148,8 @@ "description": "The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence." }, "runAsUser": { - "$ref": "types.UnixUserID", + "type": "integer", + "format": "int64", "description": "The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence." }, "runAsNonRoot": { @@ -4207,10 +4208,6 @@ } } }, - "types.UnixUserID": { - "id": "types.UnixUserID", - "properties": {} - }, "v1.PodSecurityContext": { "id": "v1.PodSecurityContext", "description": "PodSecurityContext holds pod-level security attributes and common container settings. Some fields are also present in container.securityContext. Field values of container.securityContext take precedence over field values of PodSecurityContext.", @@ -4220,7 +4217,8 @@ "description": "The SELinux context to be applied to all containers. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container." }, "runAsUser": { - "$ref": "types.UnixUserID", + "type": "integer", + "format": "int64", "description": "The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container." }, "runAsNonRoot": { @@ -4230,20 +4228,17 @@ "supplementalGroups": { "type": "array", "items": { - "$ref": "types.UnixGroupID" + "type": "integer" }, "description": "A list of groups applied to the first process run in each container, in addition to the container's primary GID. If unspecified, no groups will be added to any container." }, "fsGroup": { - "$ref": "types.UnixGroupID", + "type": "integer", + "format": "int64", "description": "A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod:\n\n1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw " } } }, - "types.UnixGroupID": { - "id": "types.UnixGroupID", - "properties": {} - }, "v1.Affinity": { "id": "v1.Affinity", "description": "Affinity is a group of affinity scheduling rules.", diff --git a/api/swagger-spec/extensions_v1beta1.json b/api/swagger-spec/extensions_v1beta1.json index 749dc0fe5f3..85d5a714c76 100644 --- a/api/swagger-spec/extensions_v1beta1.json +++ b/api/swagger-spec/extensions_v1beta1.json @@ -8792,7 +8792,8 @@ "description": "The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence." }, "runAsUser": { - "$ref": "types.UnixUserID", + "type": "integer", + "format": "int64", "description": "The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence." }, "runAsNonRoot": { @@ -8851,10 +8852,6 @@ } } }, - "types.UnixUserID": { - "id": "types.UnixUserID", - "properties": {} - }, "v1.PodSecurityContext": { "id": "v1.PodSecurityContext", "description": "PodSecurityContext holds pod-level security attributes and common container settings. Some fields are also present in container.securityContext. Field values of container.securityContext take precedence over field values of PodSecurityContext.", @@ -8864,7 +8861,8 @@ "description": "The SELinux context to be applied to all containers. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container." }, "runAsUser": { - "$ref": "types.UnixUserID", + "type": "integer", + "format": "int64", "description": "The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container." }, "runAsNonRoot": { @@ -8874,20 +8872,17 @@ "supplementalGroups": { "type": "array", "items": { - "$ref": "types.UnixGroupID" + "type": "integer" }, "description": "A list of groups applied to the first process run in each container, in addition to the container's primary GID. If unspecified, no groups will be added to any container." }, "fsGroup": { - "$ref": "types.UnixGroupID", + "type": "integer", + "format": "int64", "description": "A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod:\n\n1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw " } } }, - "types.UnixGroupID": { - "id": "types.UnixGroupID", - "properties": {} - }, "v1.Affinity": { "id": "v1.Affinity", "description": "Affinity is a group of affinity scheduling rules.", diff --git a/api/swagger-spec/v1.json b/api/swagger-spec/v1.json index 8248d776766..0ae50e618f9 100644 --- a/api/swagger-spec/v1.json +++ b/api/swagger-spec/v1.json @@ -20623,7 +20623,8 @@ "description": "The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence." }, "runAsUser": { - "$ref": "types.UnixUserID", + "type": "integer", + "format": "int64", "description": "The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence." }, "runAsNonRoot": { @@ -20682,10 +20683,6 @@ } } }, - "types.UnixUserID": { - "id": "types.UnixUserID", - "properties": {} - }, "v1.PodSecurityContext": { "id": "v1.PodSecurityContext", "description": "PodSecurityContext holds pod-level security attributes and common container settings. Some fields are also present in container.securityContext. Field values of container.securityContext take precedence over field values of PodSecurityContext.", @@ -20695,7 +20692,8 @@ "description": "The SELinux context to be applied to all containers. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container." }, "runAsUser": { - "$ref": "types.UnixUserID", + "type": "integer", + "format": "int64", "description": "The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container." }, "runAsNonRoot": { @@ -20705,20 +20703,17 @@ "supplementalGroups": { "type": "array", "items": { - "$ref": "types.UnixGroupID" + "type": "integer" }, "description": "A list of groups applied to the first process run in each container, in addition to the container's primary GID. If unspecified, no groups will be added to any container." }, "fsGroup": { - "$ref": "types.UnixGroupID", + "type": "integer", + "format": "int64", "description": "A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod:\n\n1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw " } } }, - "types.UnixGroupID": { - "id": "types.UnixGroupID", - "properties": {} - }, "v1.Affinity": { "id": "v1.Affinity", "description": "Affinity is a group of affinity scheduling rules.", From 222f6ae37fdae67fa510487b15e8ce617583db29 Mon Sep 17 00:00:00 2001 From: mbohlool Date: Wed, 21 Jun 2017 10:56:00 -0700 Subject: [PATCH 4/4] Add test from #47578 --- hack/make-rules/test-cmd-util.sh | 10 ++++++++++ hack/testdata/deployment-with-UnixUserID.yaml | 18 ++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 hack/testdata/deployment-with-UnixUserID.yaml diff --git a/hack/make-rules/test-cmd-util.sh b/hack/make-rules/test-cmd-util.sh index 3c715acca09..fc34fe9e6c0 100644 --- a/hack/make-rules/test-cmd-util.sh +++ b/hack/make-rules/test-cmd-util.sh @@ -2851,6 +2851,16 @@ run_deployment_tests() { # Clean up kubectl delete deployment test-nginx-apps "${kube_flags[@]}" + ### Test kubectl create deployment should not fail validation + # Pre-Condition: No deployment exists. + kube::test::get_object_assert deployment "{{range.items}}{{$id_field}}:{{end}}" '' + # Command + kubectl create -f hack/testdata/deployment-with-UnixUserID.yaml "${kube_flags[@]}" + # Post-Condition: Deployment "deployment-with-unixuserid" is created. + kube::test::get_object_assert deployment "{{range.items}}{{$id_field}}:{{end}}" 'deployment-with-unixuserid:' + # Clean up + kubectl delete deployment deployment-with-unixuserid "${kube_flags[@]}" + ### Test cascading deletion ## Test that rs is deleted when deployment is deleted. # Pre-condition: no deployment exists diff --git a/hack/testdata/deployment-with-UnixUserID.yaml b/hack/testdata/deployment-with-UnixUserID.yaml new file mode 100644 index 00000000000..ef69b33558c --- /dev/null +++ b/hack/testdata/deployment-with-UnixUserID.yaml @@ -0,0 +1,18 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: deployment-with-unixuserid +spec: + replicas: 1 + template: + metadata: + labels: + app: nginx + spec: + containers: + - name: nginx + image: nginx:1.7.9 + securityContext: + runAsNonRoot: true + runAsUser: 65534 +