diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json index b5431fb0..d9fef120 100644 --- a/Godeps/Godeps.json +++ b/Godeps/Godeps.json @@ -324,151 +324,151 @@ }, { "ImportPath": "k8s.io/apimachinery/pkg/api/errors", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/api/meta", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/apimachinery", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/apimachinery/announced", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/apimachinery/registered", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/conversion", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/conversion/queryparams", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/fields", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/labels", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/openapi", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/schema", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/json", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/protobuf", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/recognizer", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/streaming", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/versioning", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/selection", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/types", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/diff", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/errors", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/framer", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/json", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/net", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/rand", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/runtime", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/sets", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/validation", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/validation/field", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/wait", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/yaml", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/version", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/pkg/watch", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" }, { "ImportPath": "k8s.io/apimachinery/third_party/forked/golang/reflect", - "Rev": "1f1411cd407a75607081ff37f3ca1baeeb63d05a" + "Rev": "02fccf9462f0fb0287e82cb8a0f1d03b05f8d704" } ] } diff --git a/discovery/helper_blackbox_test.go b/discovery/helper_blackbox_test.go index 8731658a..8b2fae57 100644 --- a/discovery/helper_blackbox_test.go +++ b/discovery/helper_blackbox_test.go @@ -125,6 +125,7 @@ func TestNegotiateVersion(t *testing.T) { for _, test := range tests { fakeClient := &fake.RESTClient{ + APIRegistry: api.Registry, NegotiatedSerializer: testapi.Default.NegotiatedSerializer(), Resp: &http.Response{ StatusCode: test.statusCode, diff --git a/dynamic/client.go b/dynamic/client.go index 8fad7ce9..1b4f3aa5 100644 --- a/dynamic/client.go +++ b/dynamic/client.go @@ -138,7 +138,7 @@ func (rc *ResourceClient) Get(name string) (*unstructured.Unstructured, error) { } // Delete deletes the resource with the specified name. -func (rc *ResourceClient) Delete(name string, opts *v1.DeleteOptions) error { +func (rc *ResourceClient) Delete(name string, opts *metav1.DeleteOptions) error { return rc.cl.Delete(). NamespaceIfScoped(rc.ns, rc.resource.Namespaced). Resource(rc.resource.Name). @@ -149,7 +149,7 @@ func (rc *ResourceClient) Delete(name string, opts *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (rc *ResourceClient) DeleteCollection(deleteOptions *v1.DeleteOptions, listOptions runtime.Object) error { +func (rc *ResourceClient) DeleteCollection(deleteOptions *metav1.DeleteOptions, listOptions runtime.Object) error { parameterEncoder := rc.parameterCodec if parameterEncoder == nil { parameterEncoder = defaultParameterEncoder diff --git a/kubernetes/typed/apps/v1beta1/fake/fake_statefulset.go b/kubernetes/typed/apps/v1beta1/fake/fake_statefulset.go index 19bfd1b6..430e4a22 100644 --- a/kubernetes/typed/apps/v1beta1/fake/fake_statefulset.go +++ b/kubernetes/typed/apps/v1beta1/fake/fake_statefulset.go @@ -17,12 +17,11 @@ limitations under the License. package fake import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/apps/v1beta1" testing "k8s.io/client-go/testing" ) @@ -72,14 +71,14 @@ func (c *FakeStatefulSets) Delete(name string, options *v1.DeleteOptions) error return err } -func (c *FakeStatefulSets) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeStatefulSets) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { action := testing.NewDeleteCollectionAction(statefulsetsResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1beta1.StatefulSetList{}) return err } -func (c *FakeStatefulSets) Get(name string, options meta_v1.GetOptions) (result *v1beta1.StatefulSet, err error) { +func (c *FakeStatefulSets) Get(name string, options v1.GetOptions) (result *v1beta1.StatefulSet, err error) { obj, err := c.Fake. Invokes(testing.NewGetAction(statefulsetsResource, c.ns, name), &v1beta1.StatefulSet{}) @@ -89,7 +88,7 @@ func (c *FakeStatefulSets) Get(name string, options meta_v1.GetOptions) (result return obj.(*v1beta1.StatefulSet), err } -func (c *FakeStatefulSets) List(opts meta_v1.ListOptions) (result *v1beta1.StatefulSetList, err error) { +func (c *FakeStatefulSets) List(opts v1.ListOptions) (result *v1beta1.StatefulSetList, err error) { obj, err := c.Fake. Invokes(testing.NewListAction(statefulsetsResource, c.ns, opts), &v1beta1.StatefulSetList{}) @@ -111,7 +110,7 @@ func (c *FakeStatefulSets) List(opts meta_v1.ListOptions) (result *v1beta1.State } // Watch returns a watch.Interface that watches the requested statefulSets. -func (c *FakeStatefulSets) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *FakeStatefulSets) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewWatchAction(statefulsetsResource, c.ns, opts)) diff --git a/kubernetes/typed/apps/v1beta1/statefulset.go b/kubernetes/typed/apps/v1beta1/statefulset.go index cda7cbe0..4cceda81 100644 --- a/kubernetes/typed/apps/v1beta1/statefulset.go +++ b/kubernetes/typed/apps/v1beta1/statefulset.go @@ -17,11 +17,10 @@ limitations under the License. package v1beta1 import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/client-go/pkg/api" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/apps/v1beta1" rest "k8s.io/client-go/rest" ) @@ -38,10 +37,10 @@ type StatefulSetInterface interface { Update(*v1beta1.StatefulSet) (*v1beta1.StatefulSet, error) UpdateStatus(*v1beta1.StatefulSet) (*v1beta1.StatefulSet, error) Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error - Get(name string, options meta_v1.GetOptions) (*v1beta1.StatefulSet, error) - List(opts meta_v1.ListOptions) (*v1beta1.StatefulSetList, error) - Watch(opts meta_v1.ListOptions) (watch.Interface, error) + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v1beta1.StatefulSet, error) + List(opts v1.ListOptions) (*v1beta1.StatefulSetList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.StatefulSet, err error) StatefulSetExpansion } @@ -113,7 +112,7 @@ func (c *statefulSets) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *statefulSets) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *statefulSets) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("statefulsets"). @@ -124,7 +123,7 @@ func (c *statefulSets) DeleteCollection(options *v1.DeleteOptions, listOptions m } // Get takes name of the statefulSet, and returns the corresponding statefulSet object, and an error if there is any. -func (c *statefulSets) Get(name string, options meta_v1.GetOptions) (result *v1beta1.StatefulSet, err error) { +func (c *statefulSets) Get(name string, options v1.GetOptions) (result *v1beta1.StatefulSet, err error) { result = &v1beta1.StatefulSet{} err = c.client.Get(). Namespace(c.ns). @@ -137,7 +136,7 @@ func (c *statefulSets) Get(name string, options meta_v1.GetOptions) (result *v1b } // List takes label and field selectors, and returns the list of StatefulSets that match those selectors. -func (c *statefulSets) List(opts meta_v1.ListOptions) (result *v1beta1.StatefulSetList, err error) { +func (c *statefulSets) List(opts v1.ListOptions) (result *v1beta1.StatefulSetList, err error) { result = &v1beta1.StatefulSetList{} err = c.client.Get(). Namespace(c.ns). @@ -149,7 +148,7 @@ func (c *statefulSets) List(opts meta_v1.ListOptions) (result *v1beta1.StatefulS } // Watch returns a watch.Interface that watches the requested statefulSets. -func (c *statefulSets) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *statefulSets) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.client.Get(). Prefix("watch"). Namespace(c.ns). diff --git a/kubernetes/typed/autoscaling/v1/fake/fake_horizontalpodautoscaler.go b/kubernetes/typed/autoscaling/v1/fake/fake_horizontalpodautoscaler.go index 26fa3275..66ef7be4 100644 --- a/kubernetes/typed/autoscaling/v1/fake/fake_horizontalpodautoscaler.go +++ b/kubernetes/typed/autoscaling/v1/fake/fake_horizontalpodautoscaler.go @@ -22,7 +22,6 @@ import ( schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" - api_v1 "k8s.io/client-go/pkg/api/v1" v1 "k8s.io/client-go/pkg/apis/autoscaling/v1" testing "k8s.io/client-go/testing" ) @@ -65,14 +64,14 @@ func (c *FakeHorizontalPodAutoscalers) UpdateStatus(horizontalPodAutoscaler *v1. return obj.(*v1.HorizontalPodAutoscaler), err } -func (c *FakeHorizontalPodAutoscalers) Delete(name string, options *api_v1.DeleteOptions) error { +func (c *FakeHorizontalPodAutoscalers) Delete(name string, options *meta_v1.DeleteOptions) error { _, err := c.Fake. Invokes(testing.NewDeleteAction(horizontalpodautoscalersResource, c.ns, name), &v1.HorizontalPodAutoscaler{}) return err } -func (c *FakeHorizontalPodAutoscalers) DeleteCollection(options *api_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeHorizontalPodAutoscalers) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { action := testing.NewDeleteCollectionAction(horizontalpodautoscalersResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1.HorizontalPodAutoscalerList{}) diff --git a/kubernetes/typed/autoscaling/v1/horizontalpodautoscaler.go b/kubernetes/typed/autoscaling/v1/horizontalpodautoscaler.go index 80f16ad2..781a789c 100644 --- a/kubernetes/typed/autoscaling/v1/horizontalpodautoscaler.go +++ b/kubernetes/typed/autoscaling/v1/horizontalpodautoscaler.go @@ -21,7 +21,6 @@ import ( types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/client-go/pkg/api" - api_v1 "k8s.io/client-go/pkg/api/v1" v1 "k8s.io/client-go/pkg/apis/autoscaling/v1" rest "k8s.io/client-go/rest" ) @@ -37,8 +36,8 @@ type HorizontalPodAutoscalerInterface interface { Create(*v1.HorizontalPodAutoscaler) (*v1.HorizontalPodAutoscaler, error) Update(*v1.HorizontalPodAutoscaler) (*v1.HorizontalPodAutoscaler, error) UpdateStatus(*v1.HorizontalPodAutoscaler) (*v1.HorizontalPodAutoscaler, error) - Delete(name string, options *api_v1.DeleteOptions) error - DeleteCollection(options *api_v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error Get(name string, options meta_v1.GetOptions) (*v1.HorizontalPodAutoscaler, error) List(opts meta_v1.ListOptions) (*v1.HorizontalPodAutoscalerList, error) Watch(opts meta_v1.ListOptions) (watch.Interface, error) @@ -102,7 +101,7 @@ func (c *horizontalPodAutoscalers) UpdateStatus(horizontalPodAutoscaler *v1.Hori } // Delete takes name of the horizontalPodAutoscaler and deletes it. Returns an error if one occurs. -func (c *horizontalPodAutoscalers) Delete(name string, options *api_v1.DeleteOptions) error { +func (c *horizontalPodAutoscalers) Delete(name string, options *meta_v1.DeleteOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("horizontalpodautoscalers"). @@ -113,7 +112,7 @@ func (c *horizontalPodAutoscalers) Delete(name string, options *api_v1.DeleteOpt } // DeleteCollection deletes a collection of objects. -func (c *horizontalPodAutoscalers) DeleteCollection(options *api_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *horizontalPodAutoscalers) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("horizontalpodautoscalers"). diff --git a/kubernetes/typed/batch/v1/fake/fake_job.go b/kubernetes/typed/batch/v1/fake/fake_job.go index 30ef2dbe..e193a776 100644 --- a/kubernetes/typed/batch/v1/fake/fake_job.go +++ b/kubernetes/typed/batch/v1/fake/fake_job.go @@ -22,7 +22,6 @@ import ( schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" - api_v1 "k8s.io/client-go/pkg/api/v1" v1 "k8s.io/client-go/pkg/apis/batch/v1" testing "k8s.io/client-go/testing" ) @@ -65,14 +64,14 @@ func (c *FakeJobs) UpdateStatus(job *v1.Job) (*v1.Job, error) { return obj.(*v1.Job), err } -func (c *FakeJobs) Delete(name string, options *api_v1.DeleteOptions) error { +func (c *FakeJobs) Delete(name string, options *meta_v1.DeleteOptions) error { _, err := c.Fake. Invokes(testing.NewDeleteAction(jobsResource, c.ns, name), &v1.Job{}) return err } -func (c *FakeJobs) DeleteCollection(options *api_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeJobs) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { action := testing.NewDeleteCollectionAction(jobsResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1.JobList{}) diff --git a/kubernetes/typed/batch/v1/job.go b/kubernetes/typed/batch/v1/job.go index a7a22d15..7f39d181 100644 --- a/kubernetes/typed/batch/v1/job.go +++ b/kubernetes/typed/batch/v1/job.go @@ -21,7 +21,6 @@ import ( types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/client-go/pkg/api" - api_v1 "k8s.io/client-go/pkg/api/v1" v1 "k8s.io/client-go/pkg/apis/batch/v1" rest "k8s.io/client-go/rest" ) @@ -37,8 +36,8 @@ type JobInterface interface { Create(*v1.Job) (*v1.Job, error) Update(*v1.Job) (*v1.Job, error) UpdateStatus(*v1.Job) (*v1.Job, error) - Delete(name string, options *api_v1.DeleteOptions) error - DeleteCollection(options *api_v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error Get(name string, options meta_v1.GetOptions) (*v1.Job, error) List(opts meta_v1.ListOptions) (*v1.JobList, error) Watch(opts meta_v1.ListOptions) (watch.Interface, error) @@ -102,7 +101,7 @@ func (c *jobs) UpdateStatus(job *v1.Job) (result *v1.Job, err error) { } // Delete takes name of the job and deletes it. Returns an error if one occurs. -func (c *jobs) Delete(name string, options *api_v1.DeleteOptions) error { +func (c *jobs) Delete(name string, options *meta_v1.DeleteOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("jobs"). @@ -113,7 +112,7 @@ func (c *jobs) Delete(name string, options *api_v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *jobs) DeleteCollection(options *api_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *jobs) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("jobs"). diff --git a/kubernetes/typed/batch/v2alpha1/cronjob.go b/kubernetes/typed/batch/v2alpha1/cronjob.go index 7f0ccaea..b1c17eb9 100644 --- a/kubernetes/typed/batch/v2alpha1/cronjob.go +++ b/kubernetes/typed/batch/v2alpha1/cronjob.go @@ -17,11 +17,10 @@ limitations under the License. package v2alpha1 import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/client-go/pkg/api" - v1 "k8s.io/client-go/pkg/api/v1" v2alpha1 "k8s.io/client-go/pkg/apis/batch/v2alpha1" rest "k8s.io/client-go/rest" ) @@ -38,10 +37,10 @@ type CronJobInterface interface { Update(*v2alpha1.CronJob) (*v2alpha1.CronJob, error) UpdateStatus(*v2alpha1.CronJob) (*v2alpha1.CronJob, error) Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error - Get(name string, options meta_v1.GetOptions) (*v2alpha1.CronJob, error) - List(opts meta_v1.ListOptions) (*v2alpha1.CronJobList, error) - Watch(opts meta_v1.ListOptions) (watch.Interface, error) + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v2alpha1.CronJob, error) + List(opts v1.ListOptions) (*v2alpha1.CronJobList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v2alpha1.CronJob, err error) CronJobExpansion } @@ -113,7 +112,7 @@ func (c *cronJobs) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *cronJobs) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *cronJobs) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("cronjobs"). @@ -124,7 +123,7 @@ func (c *cronJobs) DeleteCollection(options *v1.DeleteOptions, listOptions meta_ } // Get takes name of the cronJob, and returns the corresponding cronJob object, and an error if there is any. -func (c *cronJobs) Get(name string, options meta_v1.GetOptions) (result *v2alpha1.CronJob, err error) { +func (c *cronJobs) Get(name string, options v1.GetOptions) (result *v2alpha1.CronJob, err error) { result = &v2alpha1.CronJob{} err = c.client.Get(). Namespace(c.ns). @@ -137,7 +136,7 @@ func (c *cronJobs) Get(name string, options meta_v1.GetOptions) (result *v2alpha } // List takes label and field selectors, and returns the list of CronJobs that match those selectors. -func (c *cronJobs) List(opts meta_v1.ListOptions) (result *v2alpha1.CronJobList, err error) { +func (c *cronJobs) List(opts v1.ListOptions) (result *v2alpha1.CronJobList, err error) { result = &v2alpha1.CronJobList{} err = c.client.Get(). Namespace(c.ns). @@ -149,7 +148,7 @@ func (c *cronJobs) List(opts meta_v1.ListOptions) (result *v2alpha1.CronJobList, } // Watch returns a watch.Interface that watches the requested cronJobs. -func (c *cronJobs) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *cronJobs) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.client.Get(). Prefix("watch"). Namespace(c.ns). diff --git a/kubernetes/typed/batch/v2alpha1/fake/fake_cronjob.go b/kubernetes/typed/batch/v2alpha1/fake/fake_cronjob.go index 176d01b9..9e570a8a 100644 --- a/kubernetes/typed/batch/v2alpha1/fake/fake_cronjob.go +++ b/kubernetes/typed/batch/v2alpha1/fake/fake_cronjob.go @@ -17,12 +17,11 @@ limitations under the License. package fake import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" - v1 "k8s.io/client-go/pkg/api/v1" v2alpha1 "k8s.io/client-go/pkg/apis/batch/v2alpha1" testing "k8s.io/client-go/testing" ) @@ -72,14 +71,14 @@ func (c *FakeCronJobs) Delete(name string, options *v1.DeleteOptions) error { return err } -func (c *FakeCronJobs) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeCronJobs) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { action := testing.NewDeleteCollectionAction(cronjobsResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v2alpha1.CronJobList{}) return err } -func (c *FakeCronJobs) Get(name string, options meta_v1.GetOptions) (result *v2alpha1.CronJob, err error) { +func (c *FakeCronJobs) Get(name string, options v1.GetOptions) (result *v2alpha1.CronJob, err error) { obj, err := c.Fake. Invokes(testing.NewGetAction(cronjobsResource, c.ns, name), &v2alpha1.CronJob{}) @@ -89,7 +88,7 @@ func (c *FakeCronJobs) Get(name string, options meta_v1.GetOptions) (result *v2a return obj.(*v2alpha1.CronJob), err } -func (c *FakeCronJobs) List(opts meta_v1.ListOptions) (result *v2alpha1.CronJobList, err error) { +func (c *FakeCronJobs) List(opts v1.ListOptions) (result *v2alpha1.CronJobList, err error) { obj, err := c.Fake. Invokes(testing.NewListAction(cronjobsResource, c.ns, opts), &v2alpha1.CronJobList{}) @@ -111,7 +110,7 @@ func (c *FakeCronJobs) List(opts meta_v1.ListOptions) (result *v2alpha1.CronJobL } // Watch returns a watch.Interface that watches the requested cronJobs. -func (c *FakeCronJobs) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *FakeCronJobs) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewWatchAction(cronjobsResource, c.ns, opts)) diff --git a/kubernetes/typed/batch/v2alpha1/fake/fake_job.go b/kubernetes/typed/batch/v2alpha1/fake/fake_job.go index 11f41865..8a976596 100644 --- a/kubernetes/typed/batch/v2alpha1/fake/fake_job.go +++ b/kubernetes/typed/batch/v2alpha1/fake/fake_job.go @@ -17,12 +17,11 @@ limitations under the License. package fake import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" - v1 "k8s.io/client-go/pkg/api/v1" v2alpha1 "k8s.io/client-go/pkg/apis/batch/v2alpha1" testing "k8s.io/client-go/testing" ) @@ -72,14 +71,14 @@ func (c *FakeJobs) Delete(name string, options *v1.DeleteOptions) error { return err } -func (c *FakeJobs) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeJobs) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { action := testing.NewDeleteCollectionAction(jobsResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v2alpha1.JobList{}) return err } -func (c *FakeJobs) Get(name string, options meta_v1.GetOptions) (result *v2alpha1.Job, err error) { +func (c *FakeJobs) Get(name string, options v1.GetOptions) (result *v2alpha1.Job, err error) { obj, err := c.Fake. Invokes(testing.NewGetAction(jobsResource, c.ns, name), &v2alpha1.Job{}) @@ -89,7 +88,7 @@ func (c *FakeJobs) Get(name string, options meta_v1.GetOptions) (result *v2alpha return obj.(*v2alpha1.Job), err } -func (c *FakeJobs) List(opts meta_v1.ListOptions) (result *v2alpha1.JobList, err error) { +func (c *FakeJobs) List(opts v1.ListOptions) (result *v2alpha1.JobList, err error) { obj, err := c.Fake. Invokes(testing.NewListAction(jobsResource, c.ns, opts), &v2alpha1.JobList{}) @@ -111,7 +110,7 @@ func (c *FakeJobs) List(opts meta_v1.ListOptions) (result *v2alpha1.JobList, err } // Watch returns a watch.Interface that watches the requested jobs. -func (c *FakeJobs) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *FakeJobs) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewWatchAction(jobsResource, c.ns, opts)) diff --git a/kubernetes/typed/batch/v2alpha1/job.go b/kubernetes/typed/batch/v2alpha1/job.go index 96609169..ca330248 100644 --- a/kubernetes/typed/batch/v2alpha1/job.go +++ b/kubernetes/typed/batch/v2alpha1/job.go @@ -17,11 +17,10 @@ limitations under the License. package v2alpha1 import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/client-go/pkg/api" - v1 "k8s.io/client-go/pkg/api/v1" v2alpha1 "k8s.io/client-go/pkg/apis/batch/v2alpha1" rest "k8s.io/client-go/rest" ) @@ -38,10 +37,10 @@ type JobInterface interface { Update(*v2alpha1.Job) (*v2alpha1.Job, error) UpdateStatus(*v2alpha1.Job) (*v2alpha1.Job, error) Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error - Get(name string, options meta_v1.GetOptions) (*v2alpha1.Job, error) - List(opts meta_v1.ListOptions) (*v2alpha1.JobList, error) - Watch(opts meta_v1.ListOptions) (watch.Interface, error) + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v2alpha1.Job, error) + List(opts v1.ListOptions) (*v2alpha1.JobList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v2alpha1.Job, err error) JobExpansion } @@ -113,7 +112,7 @@ func (c *jobs) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *jobs) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *jobs) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("jobs"). @@ -124,7 +123,7 @@ func (c *jobs) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.L } // Get takes name of the job, and returns the corresponding job object, and an error if there is any. -func (c *jobs) Get(name string, options meta_v1.GetOptions) (result *v2alpha1.Job, err error) { +func (c *jobs) Get(name string, options v1.GetOptions) (result *v2alpha1.Job, err error) { result = &v2alpha1.Job{} err = c.client.Get(). Namespace(c.ns). @@ -137,7 +136,7 @@ func (c *jobs) Get(name string, options meta_v1.GetOptions) (result *v2alpha1.Jo } // List takes label and field selectors, and returns the list of Jobs that match those selectors. -func (c *jobs) List(opts meta_v1.ListOptions) (result *v2alpha1.JobList, err error) { +func (c *jobs) List(opts v1.ListOptions) (result *v2alpha1.JobList, err error) { result = &v2alpha1.JobList{} err = c.client.Get(). Namespace(c.ns). @@ -149,7 +148,7 @@ func (c *jobs) List(opts meta_v1.ListOptions) (result *v2alpha1.JobList, err err } // Watch returns a watch.Interface that watches the requested jobs. -func (c *jobs) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *jobs) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.client.Get(). Prefix("watch"). Namespace(c.ns). diff --git a/kubernetes/typed/certificates/v1beta1/certificatesigningrequest.go b/kubernetes/typed/certificates/v1beta1/certificatesigningrequest.go index 02a4d8e6..aab53da5 100644 --- a/kubernetes/typed/certificates/v1beta1/certificatesigningrequest.go +++ b/kubernetes/typed/certificates/v1beta1/certificatesigningrequest.go @@ -17,11 +17,10 @@ limitations under the License. package v1beta1 import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/client-go/pkg/api" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/certificates/v1beta1" rest "k8s.io/client-go/rest" ) @@ -38,10 +37,10 @@ type CertificateSigningRequestInterface interface { Update(*v1beta1.CertificateSigningRequest) (*v1beta1.CertificateSigningRequest, error) UpdateStatus(*v1beta1.CertificateSigningRequest) (*v1beta1.CertificateSigningRequest, error) Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error - Get(name string, options meta_v1.GetOptions) (*v1beta1.CertificateSigningRequest, error) - List(opts meta_v1.ListOptions) (*v1beta1.CertificateSigningRequestList, error) - Watch(opts meta_v1.ListOptions) (watch.Interface, error) + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v1beta1.CertificateSigningRequest, error) + List(opts v1.ListOptions) (*v1beta1.CertificateSigningRequestList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.CertificateSigningRequest, err error) CertificateSigningRequestExpansion } @@ -107,7 +106,7 @@ func (c *certificateSigningRequests) Delete(name string, options *v1.DeleteOptio } // DeleteCollection deletes a collection of objects. -func (c *certificateSigningRequests) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *certificateSigningRequests) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { return c.client.Delete(). Resource("certificatesigningrequests"). VersionedParams(&listOptions, api.ParameterCodec). @@ -117,7 +116,7 @@ func (c *certificateSigningRequests) DeleteCollection(options *v1.DeleteOptions, } // Get takes name of the certificateSigningRequest, and returns the corresponding certificateSigningRequest object, and an error if there is any. -func (c *certificateSigningRequests) Get(name string, options meta_v1.GetOptions) (result *v1beta1.CertificateSigningRequest, err error) { +func (c *certificateSigningRequests) Get(name string, options v1.GetOptions) (result *v1beta1.CertificateSigningRequest, err error) { result = &v1beta1.CertificateSigningRequest{} err = c.client.Get(). Resource("certificatesigningrequests"). @@ -129,7 +128,7 @@ func (c *certificateSigningRequests) Get(name string, options meta_v1.GetOptions } // List takes label and field selectors, and returns the list of CertificateSigningRequests that match those selectors. -func (c *certificateSigningRequests) List(opts meta_v1.ListOptions) (result *v1beta1.CertificateSigningRequestList, err error) { +func (c *certificateSigningRequests) List(opts v1.ListOptions) (result *v1beta1.CertificateSigningRequestList, err error) { result = &v1beta1.CertificateSigningRequestList{} err = c.client.Get(). Resource("certificatesigningrequests"). @@ -140,7 +139,7 @@ func (c *certificateSigningRequests) List(opts meta_v1.ListOptions) (result *v1b } // Watch returns a watch.Interface that watches the requested certificateSigningRequests. -func (c *certificateSigningRequests) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *certificateSigningRequests) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.client.Get(). Prefix("watch"). Resource("certificatesigningrequests"). diff --git a/kubernetes/typed/certificates/v1beta1/fake/fake_certificatesigningrequest.go b/kubernetes/typed/certificates/v1beta1/fake/fake_certificatesigningrequest.go index 45f881bb..3ff1fe5a 100644 --- a/kubernetes/typed/certificates/v1beta1/fake/fake_certificatesigningrequest.go +++ b/kubernetes/typed/certificates/v1beta1/fake/fake_certificatesigningrequest.go @@ -17,12 +17,11 @@ limitations under the License. package fake import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/certificates/v1beta1" testing "k8s.io/client-go/testing" ) @@ -67,14 +66,14 @@ func (c *FakeCertificateSigningRequests) Delete(name string, options *v1.DeleteO return err } -func (c *FakeCertificateSigningRequests) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeCertificateSigningRequests) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { action := testing.NewRootDeleteCollectionAction(certificatesigningrequestsResource, listOptions) _, err := c.Fake.Invokes(action, &v1beta1.CertificateSigningRequestList{}) return err } -func (c *FakeCertificateSigningRequests) Get(name string, options meta_v1.GetOptions) (result *v1beta1.CertificateSigningRequest, err error) { +func (c *FakeCertificateSigningRequests) Get(name string, options v1.GetOptions) (result *v1beta1.CertificateSigningRequest, err error) { obj, err := c.Fake. Invokes(testing.NewRootGetAction(certificatesigningrequestsResource, name), &v1beta1.CertificateSigningRequest{}) if obj == nil { @@ -83,7 +82,7 @@ func (c *FakeCertificateSigningRequests) Get(name string, options meta_v1.GetOpt return obj.(*v1beta1.CertificateSigningRequest), err } -func (c *FakeCertificateSigningRequests) List(opts meta_v1.ListOptions) (result *v1beta1.CertificateSigningRequestList, err error) { +func (c *FakeCertificateSigningRequests) List(opts v1.ListOptions) (result *v1beta1.CertificateSigningRequestList, err error) { obj, err := c.Fake. Invokes(testing.NewRootListAction(certificatesigningrequestsResource, opts), &v1beta1.CertificateSigningRequestList{}) if obj == nil { @@ -104,7 +103,7 @@ func (c *FakeCertificateSigningRequests) List(opts meta_v1.ListOptions) (result } // Watch returns a watch.Interface that watches the requested certificateSigningRequests. -func (c *FakeCertificateSigningRequests) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *FakeCertificateSigningRequests) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewRootWatchAction(certificatesigningrequestsResource, opts)) } diff --git a/kubernetes/typed/core/v1/componentstatus.go b/kubernetes/typed/core/v1/componentstatus.go index f6217847..085019a0 100644 --- a/kubernetes/typed/core/v1/componentstatus.go +++ b/kubernetes/typed/core/v1/componentstatus.go @@ -35,8 +35,8 @@ type ComponentStatusesGetter interface { type ComponentStatusInterface interface { Create(*v1.ComponentStatus) (*v1.ComponentStatus, error) Update(*v1.ComponentStatus) (*v1.ComponentStatus, error) - Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error Get(name string, options meta_v1.GetOptions) (*v1.ComponentStatus, error) List(opts meta_v1.ListOptions) (*v1.ComponentStatusList, error) Watch(opts meta_v1.ListOptions) (watch.Interface, error) @@ -80,7 +80,7 @@ func (c *componentStatuses) Update(componentStatus *v1.ComponentStatus) (result } // Delete takes name of the componentStatus and deletes it. Returns an error if one occurs. -func (c *componentStatuses) Delete(name string, options *v1.DeleteOptions) error { +func (c *componentStatuses) Delete(name string, options *meta_v1.DeleteOptions) error { return c.client.Delete(). Resource("componentstatuses"). Name(name). @@ -90,7 +90,7 @@ func (c *componentStatuses) Delete(name string, options *v1.DeleteOptions) error } // DeleteCollection deletes a collection of objects. -func (c *componentStatuses) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *componentStatuses) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { return c.client.Delete(). Resource("componentstatuses"). VersionedParams(&listOptions, api.ParameterCodec). diff --git a/kubernetes/typed/core/v1/configmap.go b/kubernetes/typed/core/v1/configmap.go index 6eda267c..e116303c 100644 --- a/kubernetes/typed/core/v1/configmap.go +++ b/kubernetes/typed/core/v1/configmap.go @@ -35,8 +35,8 @@ type ConfigMapsGetter interface { type ConfigMapInterface interface { Create(*v1.ConfigMap) (*v1.ConfigMap, error) Update(*v1.ConfigMap) (*v1.ConfigMap, error) - Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error Get(name string, options meta_v1.GetOptions) (*v1.ConfigMap, error) List(opts meta_v1.ListOptions) (*v1.ConfigMapList, error) Watch(opts meta_v1.ListOptions) (watch.Interface, error) @@ -84,7 +84,7 @@ func (c *configMaps) Update(configMap *v1.ConfigMap) (result *v1.ConfigMap, err } // Delete takes name of the configMap and deletes it. Returns an error if one occurs. -func (c *configMaps) Delete(name string, options *v1.DeleteOptions) error { +func (c *configMaps) Delete(name string, options *meta_v1.DeleteOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("configmaps"). @@ -95,7 +95,7 @@ func (c *configMaps) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *configMaps) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *configMaps) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("configmaps"). diff --git a/kubernetes/typed/core/v1/endpoints.go b/kubernetes/typed/core/v1/endpoints.go index e5737aa4..ada3af55 100644 --- a/kubernetes/typed/core/v1/endpoints.go +++ b/kubernetes/typed/core/v1/endpoints.go @@ -35,8 +35,8 @@ type EndpointsGetter interface { type EndpointsInterface interface { Create(*v1.Endpoints) (*v1.Endpoints, error) Update(*v1.Endpoints) (*v1.Endpoints, error) - Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error Get(name string, options meta_v1.GetOptions) (*v1.Endpoints, error) List(opts meta_v1.ListOptions) (*v1.EndpointsList, error) Watch(opts meta_v1.ListOptions) (watch.Interface, error) @@ -84,7 +84,7 @@ func (c *endpoints) Update(endpoints *v1.Endpoints) (result *v1.Endpoints, err e } // Delete takes name of the endpoints and deletes it. Returns an error if one occurs. -func (c *endpoints) Delete(name string, options *v1.DeleteOptions) error { +func (c *endpoints) Delete(name string, options *meta_v1.DeleteOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("endpoints"). @@ -95,7 +95,7 @@ func (c *endpoints) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *endpoints) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *endpoints) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("endpoints"). diff --git a/kubernetes/typed/core/v1/event.go b/kubernetes/typed/core/v1/event.go index 5837d516..420524e4 100644 --- a/kubernetes/typed/core/v1/event.go +++ b/kubernetes/typed/core/v1/event.go @@ -35,8 +35,8 @@ type EventsGetter interface { type EventInterface interface { Create(*v1.Event) (*v1.Event, error) Update(*v1.Event) (*v1.Event, error) - Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error Get(name string, options meta_v1.GetOptions) (*v1.Event, error) List(opts meta_v1.ListOptions) (*v1.EventList, error) Watch(opts meta_v1.ListOptions) (watch.Interface, error) @@ -84,7 +84,7 @@ func (c *events) Update(event *v1.Event) (result *v1.Event, err error) { } // Delete takes name of the event and deletes it. Returns an error if one occurs. -func (c *events) Delete(name string, options *v1.DeleteOptions) error { +func (c *events) Delete(name string, options *meta_v1.DeleteOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("events"). @@ -95,7 +95,7 @@ func (c *events) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *events) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *events) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("events"). diff --git a/kubernetes/typed/core/v1/fake/fake_componentstatus.go b/kubernetes/typed/core/v1/fake/fake_componentstatus.go index 3412c859..6e211108 100644 --- a/kubernetes/typed/core/v1/fake/fake_componentstatus.go +++ b/kubernetes/typed/core/v1/fake/fake_componentstatus.go @@ -51,13 +51,13 @@ func (c *FakeComponentStatuses) Update(componentStatus *v1.ComponentStatus) (res return obj.(*v1.ComponentStatus), err } -func (c *FakeComponentStatuses) Delete(name string, options *v1.DeleteOptions) error { +func (c *FakeComponentStatuses) Delete(name string, options *meta_v1.DeleteOptions) error { _, err := c.Fake. Invokes(testing.NewRootDeleteAction(componentstatusesResource, name), &v1.ComponentStatus{}) return err } -func (c *FakeComponentStatuses) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeComponentStatuses) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { action := testing.NewRootDeleteCollectionAction(componentstatusesResource, listOptions) _, err := c.Fake.Invokes(action, &v1.ComponentStatusList{}) diff --git a/kubernetes/typed/core/v1/fake/fake_configmap.go b/kubernetes/typed/core/v1/fake/fake_configmap.go index 0ba0d56f..560ad7a4 100644 --- a/kubernetes/typed/core/v1/fake/fake_configmap.go +++ b/kubernetes/typed/core/v1/fake/fake_configmap.go @@ -54,14 +54,14 @@ func (c *FakeConfigMaps) Update(configMap *v1.ConfigMap) (result *v1.ConfigMap, return obj.(*v1.ConfigMap), err } -func (c *FakeConfigMaps) Delete(name string, options *v1.DeleteOptions) error { +func (c *FakeConfigMaps) Delete(name string, options *meta_v1.DeleteOptions) error { _, err := c.Fake. Invokes(testing.NewDeleteAction(configmapsResource, c.ns, name), &v1.ConfigMap{}) return err } -func (c *FakeConfigMaps) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeConfigMaps) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { action := testing.NewDeleteCollectionAction(configmapsResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1.ConfigMapList{}) diff --git a/kubernetes/typed/core/v1/fake/fake_endpoints.go b/kubernetes/typed/core/v1/fake/fake_endpoints.go index 5bd3e0a6..d4b7ad06 100644 --- a/kubernetes/typed/core/v1/fake/fake_endpoints.go +++ b/kubernetes/typed/core/v1/fake/fake_endpoints.go @@ -54,14 +54,14 @@ func (c *FakeEndpoints) Update(endpoints *v1.Endpoints) (result *v1.Endpoints, e return obj.(*v1.Endpoints), err } -func (c *FakeEndpoints) Delete(name string, options *v1.DeleteOptions) error { +func (c *FakeEndpoints) Delete(name string, options *meta_v1.DeleteOptions) error { _, err := c.Fake. Invokes(testing.NewDeleteAction(endpointsResource, c.ns, name), &v1.Endpoints{}) return err } -func (c *FakeEndpoints) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeEndpoints) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { action := testing.NewDeleteCollectionAction(endpointsResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1.EndpointsList{}) diff --git a/kubernetes/typed/core/v1/fake/fake_event.go b/kubernetes/typed/core/v1/fake/fake_event.go index 6850d535..7abe8158 100644 --- a/kubernetes/typed/core/v1/fake/fake_event.go +++ b/kubernetes/typed/core/v1/fake/fake_event.go @@ -54,14 +54,14 @@ func (c *FakeEvents) Update(event *v1.Event) (result *v1.Event, err error) { return obj.(*v1.Event), err } -func (c *FakeEvents) Delete(name string, options *v1.DeleteOptions) error { +func (c *FakeEvents) Delete(name string, options *meta_v1.DeleteOptions) error { _, err := c.Fake. Invokes(testing.NewDeleteAction(eventsResource, c.ns, name), &v1.Event{}) return err } -func (c *FakeEvents) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeEvents) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { action := testing.NewDeleteCollectionAction(eventsResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1.EventList{}) diff --git a/kubernetes/typed/core/v1/fake/fake_limitrange.go b/kubernetes/typed/core/v1/fake/fake_limitrange.go index 3a3e2405..27863583 100644 --- a/kubernetes/typed/core/v1/fake/fake_limitrange.go +++ b/kubernetes/typed/core/v1/fake/fake_limitrange.go @@ -54,14 +54,14 @@ func (c *FakeLimitRanges) Update(limitRange *v1.LimitRange) (result *v1.LimitRan return obj.(*v1.LimitRange), err } -func (c *FakeLimitRanges) Delete(name string, options *v1.DeleteOptions) error { +func (c *FakeLimitRanges) Delete(name string, options *meta_v1.DeleteOptions) error { _, err := c.Fake. Invokes(testing.NewDeleteAction(limitrangesResource, c.ns, name), &v1.LimitRange{}) return err } -func (c *FakeLimitRanges) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeLimitRanges) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { action := testing.NewDeleteCollectionAction(limitrangesResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1.LimitRangeList{}) diff --git a/kubernetes/typed/core/v1/fake/fake_namespace.go b/kubernetes/typed/core/v1/fake/fake_namespace.go index 2d95ebef..2ec73767 100644 --- a/kubernetes/typed/core/v1/fake/fake_namespace.go +++ b/kubernetes/typed/core/v1/fake/fake_namespace.go @@ -60,13 +60,13 @@ func (c *FakeNamespaces) UpdateStatus(namespace *v1.Namespace) (*v1.Namespace, e return obj.(*v1.Namespace), err } -func (c *FakeNamespaces) Delete(name string, options *v1.DeleteOptions) error { +func (c *FakeNamespaces) Delete(name string, options *meta_v1.DeleteOptions) error { _, err := c.Fake. Invokes(testing.NewRootDeleteAction(namespacesResource, name), &v1.Namespace{}) return err } -func (c *FakeNamespaces) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeNamespaces) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { action := testing.NewRootDeleteCollectionAction(namespacesResource, listOptions) _, err := c.Fake.Invokes(action, &v1.NamespaceList{}) diff --git a/kubernetes/typed/core/v1/fake/fake_node.go b/kubernetes/typed/core/v1/fake/fake_node.go index 1ee38968..35729722 100644 --- a/kubernetes/typed/core/v1/fake/fake_node.go +++ b/kubernetes/typed/core/v1/fake/fake_node.go @@ -60,13 +60,13 @@ func (c *FakeNodes) UpdateStatus(node *v1.Node) (*v1.Node, error) { return obj.(*v1.Node), err } -func (c *FakeNodes) Delete(name string, options *v1.DeleteOptions) error { +func (c *FakeNodes) Delete(name string, options *meta_v1.DeleteOptions) error { _, err := c.Fake. Invokes(testing.NewRootDeleteAction(nodesResource, name), &v1.Node{}) return err } -func (c *FakeNodes) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeNodes) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { action := testing.NewRootDeleteCollectionAction(nodesResource, listOptions) _, err := c.Fake.Invokes(action, &v1.NodeList{}) diff --git a/kubernetes/typed/core/v1/fake/fake_persistentvolume.go b/kubernetes/typed/core/v1/fake/fake_persistentvolume.go index f123be04..8c3bed76 100644 --- a/kubernetes/typed/core/v1/fake/fake_persistentvolume.go +++ b/kubernetes/typed/core/v1/fake/fake_persistentvolume.go @@ -60,13 +60,13 @@ func (c *FakePersistentVolumes) UpdateStatus(persistentVolume *v1.PersistentVolu return obj.(*v1.PersistentVolume), err } -func (c *FakePersistentVolumes) Delete(name string, options *v1.DeleteOptions) error { +func (c *FakePersistentVolumes) Delete(name string, options *meta_v1.DeleteOptions) error { _, err := c.Fake. Invokes(testing.NewRootDeleteAction(persistentvolumesResource, name), &v1.PersistentVolume{}) return err } -func (c *FakePersistentVolumes) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakePersistentVolumes) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { action := testing.NewRootDeleteCollectionAction(persistentvolumesResource, listOptions) _, err := c.Fake.Invokes(action, &v1.PersistentVolumeList{}) diff --git a/kubernetes/typed/core/v1/fake/fake_persistentvolumeclaim.go b/kubernetes/typed/core/v1/fake/fake_persistentvolumeclaim.go index f1d294ae..f909a7f0 100644 --- a/kubernetes/typed/core/v1/fake/fake_persistentvolumeclaim.go +++ b/kubernetes/typed/core/v1/fake/fake_persistentvolumeclaim.go @@ -64,14 +64,14 @@ func (c *FakePersistentVolumeClaims) UpdateStatus(persistentVolumeClaim *v1.Pers return obj.(*v1.PersistentVolumeClaim), err } -func (c *FakePersistentVolumeClaims) Delete(name string, options *v1.DeleteOptions) error { +func (c *FakePersistentVolumeClaims) Delete(name string, options *meta_v1.DeleteOptions) error { _, err := c.Fake. Invokes(testing.NewDeleteAction(persistentvolumeclaimsResource, c.ns, name), &v1.PersistentVolumeClaim{}) return err } -func (c *FakePersistentVolumeClaims) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakePersistentVolumeClaims) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { action := testing.NewDeleteCollectionAction(persistentvolumeclaimsResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1.PersistentVolumeClaimList{}) diff --git a/kubernetes/typed/core/v1/fake/fake_pod.go b/kubernetes/typed/core/v1/fake/fake_pod.go index 1aa827b2..3f921fe0 100644 --- a/kubernetes/typed/core/v1/fake/fake_pod.go +++ b/kubernetes/typed/core/v1/fake/fake_pod.go @@ -64,14 +64,14 @@ func (c *FakePods) UpdateStatus(pod *v1.Pod) (*v1.Pod, error) { return obj.(*v1.Pod), err } -func (c *FakePods) Delete(name string, options *v1.DeleteOptions) error { +func (c *FakePods) Delete(name string, options *meta_v1.DeleteOptions) error { _, err := c.Fake. Invokes(testing.NewDeleteAction(podsResource, c.ns, name), &v1.Pod{}) return err } -func (c *FakePods) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakePods) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { action := testing.NewDeleteCollectionAction(podsResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1.PodList{}) diff --git a/kubernetes/typed/core/v1/fake/fake_podtemplate.go b/kubernetes/typed/core/v1/fake/fake_podtemplate.go index 38550970..86091e41 100644 --- a/kubernetes/typed/core/v1/fake/fake_podtemplate.go +++ b/kubernetes/typed/core/v1/fake/fake_podtemplate.go @@ -54,14 +54,14 @@ func (c *FakePodTemplates) Update(podTemplate *v1.PodTemplate) (result *v1.PodTe return obj.(*v1.PodTemplate), err } -func (c *FakePodTemplates) Delete(name string, options *v1.DeleteOptions) error { +func (c *FakePodTemplates) Delete(name string, options *meta_v1.DeleteOptions) error { _, err := c.Fake. Invokes(testing.NewDeleteAction(podtemplatesResource, c.ns, name), &v1.PodTemplate{}) return err } -func (c *FakePodTemplates) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakePodTemplates) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { action := testing.NewDeleteCollectionAction(podtemplatesResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1.PodTemplateList{}) diff --git a/kubernetes/typed/core/v1/fake/fake_replicationcontroller.go b/kubernetes/typed/core/v1/fake/fake_replicationcontroller.go index 871b423e..f2bb8cef 100644 --- a/kubernetes/typed/core/v1/fake/fake_replicationcontroller.go +++ b/kubernetes/typed/core/v1/fake/fake_replicationcontroller.go @@ -64,14 +64,14 @@ func (c *FakeReplicationControllers) UpdateStatus(replicationController *v1.Repl return obj.(*v1.ReplicationController), err } -func (c *FakeReplicationControllers) Delete(name string, options *v1.DeleteOptions) error { +func (c *FakeReplicationControllers) Delete(name string, options *meta_v1.DeleteOptions) error { _, err := c.Fake. Invokes(testing.NewDeleteAction(replicationcontrollersResource, c.ns, name), &v1.ReplicationController{}) return err } -func (c *FakeReplicationControllers) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeReplicationControllers) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { action := testing.NewDeleteCollectionAction(replicationcontrollersResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1.ReplicationControllerList{}) diff --git a/kubernetes/typed/core/v1/fake/fake_resourcequota.go b/kubernetes/typed/core/v1/fake/fake_resourcequota.go index 61e8ce8c..0389f8e8 100644 --- a/kubernetes/typed/core/v1/fake/fake_resourcequota.go +++ b/kubernetes/typed/core/v1/fake/fake_resourcequota.go @@ -64,14 +64,14 @@ func (c *FakeResourceQuotas) UpdateStatus(resourceQuota *v1.ResourceQuota) (*v1. return obj.(*v1.ResourceQuota), err } -func (c *FakeResourceQuotas) Delete(name string, options *v1.DeleteOptions) error { +func (c *FakeResourceQuotas) Delete(name string, options *meta_v1.DeleteOptions) error { _, err := c.Fake. Invokes(testing.NewDeleteAction(resourcequotasResource, c.ns, name), &v1.ResourceQuota{}) return err } -func (c *FakeResourceQuotas) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeResourceQuotas) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { action := testing.NewDeleteCollectionAction(resourcequotasResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1.ResourceQuotaList{}) diff --git a/kubernetes/typed/core/v1/fake/fake_secret.go b/kubernetes/typed/core/v1/fake/fake_secret.go index d9c1a18d..a0b30550 100644 --- a/kubernetes/typed/core/v1/fake/fake_secret.go +++ b/kubernetes/typed/core/v1/fake/fake_secret.go @@ -54,14 +54,14 @@ func (c *FakeSecrets) Update(secret *v1.Secret) (result *v1.Secret, err error) { return obj.(*v1.Secret), err } -func (c *FakeSecrets) Delete(name string, options *v1.DeleteOptions) error { +func (c *FakeSecrets) Delete(name string, options *meta_v1.DeleteOptions) error { _, err := c.Fake. Invokes(testing.NewDeleteAction(secretsResource, c.ns, name), &v1.Secret{}) return err } -func (c *FakeSecrets) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeSecrets) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { action := testing.NewDeleteCollectionAction(secretsResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1.SecretList{}) diff --git a/kubernetes/typed/core/v1/fake/fake_service.go b/kubernetes/typed/core/v1/fake/fake_service.go index 5f35e5c2..4cc8ed0e 100644 --- a/kubernetes/typed/core/v1/fake/fake_service.go +++ b/kubernetes/typed/core/v1/fake/fake_service.go @@ -64,14 +64,14 @@ func (c *FakeServices) UpdateStatus(service *v1.Service) (*v1.Service, error) { return obj.(*v1.Service), err } -func (c *FakeServices) Delete(name string, options *v1.DeleteOptions) error { +func (c *FakeServices) Delete(name string, options *meta_v1.DeleteOptions) error { _, err := c.Fake. Invokes(testing.NewDeleteAction(servicesResource, c.ns, name), &v1.Service{}) return err } -func (c *FakeServices) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeServices) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { action := testing.NewDeleteCollectionAction(servicesResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1.ServiceList{}) diff --git a/kubernetes/typed/core/v1/fake/fake_serviceaccount.go b/kubernetes/typed/core/v1/fake/fake_serviceaccount.go index b52f3f22..c049d7de 100644 --- a/kubernetes/typed/core/v1/fake/fake_serviceaccount.go +++ b/kubernetes/typed/core/v1/fake/fake_serviceaccount.go @@ -54,14 +54,14 @@ func (c *FakeServiceAccounts) Update(serviceAccount *v1.ServiceAccount) (result return obj.(*v1.ServiceAccount), err } -func (c *FakeServiceAccounts) Delete(name string, options *v1.DeleteOptions) error { +func (c *FakeServiceAccounts) Delete(name string, options *meta_v1.DeleteOptions) error { _, err := c.Fake. Invokes(testing.NewDeleteAction(serviceaccountsResource, c.ns, name), &v1.ServiceAccount{}) return err } -func (c *FakeServiceAccounts) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeServiceAccounts) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { action := testing.NewDeleteCollectionAction(serviceaccountsResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1.ServiceAccountList{}) diff --git a/kubernetes/typed/core/v1/limitrange.go b/kubernetes/typed/core/v1/limitrange.go index 0c3d03a8..82143a18 100644 --- a/kubernetes/typed/core/v1/limitrange.go +++ b/kubernetes/typed/core/v1/limitrange.go @@ -35,8 +35,8 @@ type LimitRangesGetter interface { type LimitRangeInterface interface { Create(*v1.LimitRange) (*v1.LimitRange, error) Update(*v1.LimitRange) (*v1.LimitRange, error) - Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error Get(name string, options meta_v1.GetOptions) (*v1.LimitRange, error) List(opts meta_v1.ListOptions) (*v1.LimitRangeList, error) Watch(opts meta_v1.ListOptions) (watch.Interface, error) @@ -84,7 +84,7 @@ func (c *limitRanges) Update(limitRange *v1.LimitRange) (result *v1.LimitRange, } // Delete takes name of the limitRange and deletes it. Returns an error if one occurs. -func (c *limitRanges) Delete(name string, options *v1.DeleteOptions) error { +func (c *limitRanges) Delete(name string, options *meta_v1.DeleteOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("limitranges"). @@ -95,7 +95,7 @@ func (c *limitRanges) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *limitRanges) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *limitRanges) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("limitranges"). diff --git a/kubernetes/typed/core/v1/namespace.go b/kubernetes/typed/core/v1/namespace.go index 362a608c..0a40ec2a 100644 --- a/kubernetes/typed/core/v1/namespace.go +++ b/kubernetes/typed/core/v1/namespace.go @@ -36,8 +36,8 @@ type NamespaceInterface interface { Create(*v1.Namespace) (*v1.Namespace, error) Update(*v1.Namespace) (*v1.Namespace, error) UpdateStatus(*v1.Namespace) (*v1.Namespace, error) - Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error Get(name string, options meta_v1.GetOptions) (*v1.Namespace, error) List(opts meta_v1.ListOptions) (*v1.NamespaceList, error) Watch(opts meta_v1.ListOptions) (watch.Interface, error) @@ -96,7 +96,7 @@ func (c *namespaces) UpdateStatus(namespace *v1.Namespace) (result *v1.Namespace } // Delete takes name of the namespace and deletes it. Returns an error if one occurs. -func (c *namespaces) Delete(name string, options *v1.DeleteOptions) error { +func (c *namespaces) Delete(name string, options *meta_v1.DeleteOptions) error { return c.client.Delete(). Resource("namespaces"). Name(name). @@ -106,7 +106,7 @@ func (c *namespaces) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *namespaces) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *namespaces) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { return c.client.Delete(). Resource("namespaces"). VersionedParams(&listOptions, api.ParameterCodec). diff --git a/kubernetes/typed/core/v1/node.go b/kubernetes/typed/core/v1/node.go index ccbc8309..e5d23bc7 100644 --- a/kubernetes/typed/core/v1/node.go +++ b/kubernetes/typed/core/v1/node.go @@ -36,8 +36,8 @@ type NodeInterface interface { Create(*v1.Node) (*v1.Node, error) Update(*v1.Node) (*v1.Node, error) UpdateStatus(*v1.Node) (*v1.Node, error) - Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error Get(name string, options meta_v1.GetOptions) (*v1.Node, error) List(opts meta_v1.ListOptions) (*v1.NodeList, error) Watch(opts meta_v1.ListOptions) (watch.Interface, error) @@ -96,7 +96,7 @@ func (c *nodes) UpdateStatus(node *v1.Node) (result *v1.Node, err error) { } // Delete takes name of the node and deletes it. Returns an error if one occurs. -func (c *nodes) Delete(name string, options *v1.DeleteOptions) error { +func (c *nodes) Delete(name string, options *meta_v1.DeleteOptions) error { return c.client.Delete(). Resource("nodes"). Name(name). @@ -106,7 +106,7 @@ func (c *nodes) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *nodes) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *nodes) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { return c.client.Delete(). Resource("nodes"). VersionedParams(&listOptions, api.ParameterCodec). diff --git a/kubernetes/typed/core/v1/persistentvolume.go b/kubernetes/typed/core/v1/persistentvolume.go index 5de1f427..7f74510f 100644 --- a/kubernetes/typed/core/v1/persistentvolume.go +++ b/kubernetes/typed/core/v1/persistentvolume.go @@ -36,8 +36,8 @@ type PersistentVolumeInterface interface { Create(*v1.PersistentVolume) (*v1.PersistentVolume, error) Update(*v1.PersistentVolume) (*v1.PersistentVolume, error) UpdateStatus(*v1.PersistentVolume) (*v1.PersistentVolume, error) - Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error Get(name string, options meta_v1.GetOptions) (*v1.PersistentVolume, error) List(opts meta_v1.ListOptions) (*v1.PersistentVolumeList, error) Watch(opts meta_v1.ListOptions) (watch.Interface, error) @@ -96,7 +96,7 @@ func (c *persistentVolumes) UpdateStatus(persistentVolume *v1.PersistentVolume) } // Delete takes name of the persistentVolume and deletes it. Returns an error if one occurs. -func (c *persistentVolumes) Delete(name string, options *v1.DeleteOptions) error { +func (c *persistentVolumes) Delete(name string, options *meta_v1.DeleteOptions) error { return c.client.Delete(). Resource("persistentvolumes"). Name(name). @@ -106,7 +106,7 @@ func (c *persistentVolumes) Delete(name string, options *v1.DeleteOptions) error } // DeleteCollection deletes a collection of objects. -func (c *persistentVolumes) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *persistentVolumes) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { return c.client.Delete(). Resource("persistentvolumes"). VersionedParams(&listOptions, api.ParameterCodec). diff --git a/kubernetes/typed/core/v1/persistentvolumeclaim.go b/kubernetes/typed/core/v1/persistentvolumeclaim.go index 3c3e89c2..80007b02 100644 --- a/kubernetes/typed/core/v1/persistentvolumeclaim.go +++ b/kubernetes/typed/core/v1/persistentvolumeclaim.go @@ -36,8 +36,8 @@ type PersistentVolumeClaimInterface interface { Create(*v1.PersistentVolumeClaim) (*v1.PersistentVolumeClaim, error) Update(*v1.PersistentVolumeClaim) (*v1.PersistentVolumeClaim, error) UpdateStatus(*v1.PersistentVolumeClaim) (*v1.PersistentVolumeClaim, error) - Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error Get(name string, options meta_v1.GetOptions) (*v1.PersistentVolumeClaim, error) List(opts meta_v1.ListOptions) (*v1.PersistentVolumeClaimList, error) Watch(opts meta_v1.ListOptions) (watch.Interface, error) @@ -101,7 +101,7 @@ func (c *persistentVolumeClaims) UpdateStatus(persistentVolumeClaim *v1.Persiste } // Delete takes name of the persistentVolumeClaim and deletes it. Returns an error if one occurs. -func (c *persistentVolumeClaims) Delete(name string, options *v1.DeleteOptions) error { +func (c *persistentVolumeClaims) Delete(name string, options *meta_v1.DeleteOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("persistentvolumeclaims"). @@ -112,7 +112,7 @@ func (c *persistentVolumeClaims) Delete(name string, options *v1.DeleteOptions) } // DeleteCollection deletes a collection of objects. -func (c *persistentVolumeClaims) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *persistentVolumeClaims) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("persistentvolumeclaims"). diff --git a/kubernetes/typed/core/v1/pod.go b/kubernetes/typed/core/v1/pod.go index cb762b41..3dc1d83b 100644 --- a/kubernetes/typed/core/v1/pod.go +++ b/kubernetes/typed/core/v1/pod.go @@ -36,8 +36,8 @@ type PodInterface interface { Create(*v1.Pod) (*v1.Pod, error) Update(*v1.Pod) (*v1.Pod, error) UpdateStatus(*v1.Pod) (*v1.Pod, error) - Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error Get(name string, options meta_v1.GetOptions) (*v1.Pod, error) List(opts meta_v1.ListOptions) (*v1.PodList, error) Watch(opts meta_v1.ListOptions) (watch.Interface, error) @@ -101,7 +101,7 @@ func (c *pods) UpdateStatus(pod *v1.Pod) (result *v1.Pod, err error) { } // Delete takes name of the pod and deletes it. Returns an error if one occurs. -func (c *pods) Delete(name string, options *v1.DeleteOptions) error { +func (c *pods) Delete(name string, options *meta_v1.DeleteOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("pods"). @@ -112,7 +112,7 @@ func (c *pods) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *pods) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *pods) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("pods"). diff --git a/kubernetes/typed/core/v1/podtemplate.go b/kubernetes/typed/core/v1/podtemplate.go index c3fdee97..6aab583d 100644 --- a/kubernetes/typed/core/v1/podtemplate.go +++ b/kubernetes/typed/core/v1/podtemplate.go @@ -35,8 +35,8 @@ type PodTemplatesGetter interface { type PodTemplateInterface interface { Create(*v1.PodTemplate) (*v1.PodTemplate, error) Update(*v1.PodTemplate) (*v1.PodTemplate, error) - Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error Get(name string, options meta_v1.GetOptions) (*v1.PodTemplate, error) List(opts meta_v1.ListOptions) (*v1.PodTemplateList, error) Watch(opts meta_v1.ListOptions) (watch.Interface, error) @@ -84,7 +84,7 @@ func (c *podTemplates) Update(podTemplate *v1.PodTemplate) (result *v1.PodTempla } // Delete takes name of the podTemplate and deletes it. Returns an error if one occurs. -func (c *podTemplates) Delete(name string, options *v1.DeleteOptions) error { +func (c *podTemplates) Delete(name string, options *meta_v1.DeleteOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("podtemplates"). @@ -95,7 +95,7 @@ func (c *podTemplates) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *podTemplates) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *podTemplates) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("podtemplates"). diff --git a/kubernetes/typed/core/v1/replicationcontroller.go b/kubernetes/typed/core/v1/replicationcontroller.go index 49712869..d5cc7d3d 100644 --- a/kubernetes/typed/core/v1/replicationcontroller.go +++ b/kubernetes/typed/core/v1/replicationcontroller.go @@ -36,8 +36,8 @@ type ReplicationControllerInterface interface { Create(*v1.ReplicationController) (*v1.ReplicationController, error) Update(*v1.ReplicationController) (*v1.ReplicationController, error) UpdateStatus(*v1.ReplicationController) (*v1.ReplicationController, error) - Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error Get(name string, options meta_v1.GetOptions) (*v1.ReplicationController, error) List(opts meta_v1.ListOptions) (*v1.ReplicationControllerList, error) Watch(opts meta_v1.ListOptions) (watch.Interface, error) @@ -101,7 +101,7 @@ func (c *replicationControllers) UpdateStatus(replicationController *v1.Replicat } // Delete takes name of the replicationController and deletes it. Returns an error if one occurs. -func (c *replicationControllers) Delete(name string, options *v1.DeleteOptions) error { +func (c *replicationControllers) Delete(name string, options *meta_v1.DeleteOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("replicationcontrollers"). @@ -112,7 +112,7 @@ func (c *replicationControllers) Delete(name string, options *v1.DeleteOptions) } // DeleteCollection deletes a collection of objects. -func (c *replicationControllers) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *replicationControllers) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("replicationcontrollers"). diff --git a/kubernetes/typed/core/v1/resourcequota.go b/kubernetes/typed/core/v1/resourcequota.go index 5311b6c7..62af891f 100644 --- a/kubernetes/typed/core/v1/resourcequota.go +++ b/kubernetes/typed/core/v1/resourcequota.go @@ -36,8 +36,8 @@ type ResourceQuotaInterface interface { Create(*v1.ResourceQuota) (*v1.ResourceQuota, error) Update(*v1.ResourceQuota) (*v1.ResourceQuota, error) UpdateStatus(*v1.ResourceQuota) (*v1.ResourceQuota, error) - Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error Get(name string, options meta_v1.GetOptions) (*v1.ResourceQuota, error) List(opts meta_v1.ListOptions) (*v1.ResourceQuotaList, error) Watch(opts meta_v1.ListOptions) (watch.Interface, error) @@ -101,7 +101,7 @@ func (c *resourceQuotas) UpdateStatus(resourceQuota *v1.ResourceQuota) (result * } // Delete takes name of the resourceQuota and deletes it. Returns an error if one occurs. -func (c *resourceQuotas) Delete(name string, options *v1.DeleteOptions) error { +func (c *resourceQuotas) Delete(name string, options *meta_v1.DeleteOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("resourcequotas"). @@ -112,7 +112,7 @@ func (c *resourceQuotas) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *resourceQuotas) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *resourceQuotas) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("resourcequotas"). diff --git a/kubernetes/typed/core/v1/secret.go b/kubernetes/typed/core/v1/secret.go index 62d5397e..621f0ef2 100644 --- a/kubernetes/typed/core/v1/secret.go +++ b/kubernetes/typed/core/v1/secret.go @@ -35,8 +35,8 @@ type SecretsGetter interface { type SecretInterface interface { Create(*v1.Secret) (*v1.Secret, error) Update(*v1.Secret) (*v1.Secret, error) - Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error Get(name string, options meta_v1.GetOptions) (*v1.Secret, error) List(opts meta_v1.ListOptions) (*v1.SecretList, error) Watch(opts meta_v1.ListOptions) (watch.Interface, error) @@ -84,7 +84,7 @@ func (c *secrets) Update(secret *v1.Secret) (result *v1.Secret, err error) { } // Delete takes name of the secret and deletes it. Returns an error if one occurs. -func (c *secrets) Delete(name string, options *v1.DeleteOptions) error { +func (c *secrets) Delete(name string, options *meta_v1.DeleteOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("secrets"). @@ -95,7 +95,7 @@ func (c *secrets) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *secrets) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *secrets) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("secrets"). diff --git a/kubernetes/typed/core/v1/service.go b/kubernetes/typed/core/v1/service.go index 762d5761..4c70cfc1 100644 --- a/kubernetes/typed/core/v1/service.go +++ b/kubernetes/typed/core/v1/service.go @@ -36,8 +36,8 @@ type ServiceInterface interface { Create(*v1.Service) (*v1.Service, error) Update(*v1.Service) (*v1.Service, error) UpdateStatus(*v1.Service) (*v1.Service, error) - Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error Get(name string, options meta_v1.GetOptions) (*v1.Service, error) List(opts meta_v1.ListOptions) (*v1.ServiceList, error) Watch(opts meta_v1.ListOptions) (watch.Interface, error) @@ -101,7 +101,7 @@ func (c *services) UpdateStatus(service *v1.Service) (result *v1.Service, err er } // Delete takes name of the service and deletes it. Returns an error if one occurs. -func (c *services) Delete(name string, options *v1.DeleteOptions) error { +func (c *services) Delete(name string, options *meta_v1.DeleteOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("services"). @@ -112,7 +112,7 @@ func (c *services) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *services) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *services) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("services"). diff --git a/kubernetes/typed/core/v1/serviceaccount.go b/kubernetes/typed/core/v1/serviceaccount.go index bc9cd6ba..4fee3382 100644 --- a/kubernetes/typed/core/v1/serviceaccount.go +++ b/kubernetes/typed/core/v1/serviceaccount.go @@ -35,8 +35,8 @@ type ServiceAccountsGetter interface { type ServiceAccountInterface interface { Create(*v1.ServiceAccount) (*v1.ServiceAccount, error) Update(*v1.ServiceAccount) (*v1.ServiceAccount, error) - Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error Get(name string, options meta_v1.GetOptions) (*v1.ServiceAccount, error) List(opts meta_v1.ListOptions) (*v1.ServiceAccountList, error) Watch(opts meta_v1.ListOptions) (watch.Interface, error) @@ -84,7 +84,7 @@ func (c *serviceAccounts) Update(serviceAccount *v1.ServiceAccount) (result *v1. } // Delete takes name of the serviceAccount and deletes it. Returns an error if one occurs. -func (c *serviceAccounts) Delete(name string, options *v1.DeleteOptions) error { +func (c *serviceAccounts) Delete(name string, options *meta_v1.DeleteOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("serviceaccounts"). @@ -95,7 +95,7 @@ func (c *serviceAccounts) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *serviceAccounts) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *serviceAccounts) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("serviceaccounts"). diff --git a/kubernetes/typed/extensions/v1beta1/daemonset.go b/kubernetes/typed/extensions/v1beta1/daemonset.go index f9c4cada..a929e993 100644 --- a/kubernetes/typed/extensions/v1beta1/daemonset.go +++ b/kubernetes/typed/extensions/v1beta1/daemonset.go @@ -17,11 +17,10 @@ limitations under the License. package v1beta1 import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/client-go/pkg/api" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/extensions/v1beta1" rest "k8s.io/client-go/rest" ) @@ -38,10 +37,10 @@ type DaemonSetInterface interface { Update(*v1beta1.DaemonSet) (*v1beta1.DaemonSet, error) UpdateStatus(*v1beta1.DaemonSet) (*v1beta1.DaemonSet, error) Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error - Get(name string, options meta_v1.GetOptions) (*v1beta1.DaemonSet, error) - List(opts meta_v1.ListOptions) (*v1beta1.DaemonSetList, error) - Watch(opts meta_v1.ListOptions) (watch.Interface, error) + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v1beta1.DaemonSet, error) + List(opts v1.ListOptions) (*v1beta1.DaemonSetList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.DaemonSet, err error) DaemonSetExpansion } @@ -113,7 +112,7 @@ func (c *daemonSets) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *daemonSets) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *daemonSets) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("daemonsets"). @@ -124,7 +123,7 @@ func (c *daemonSets) DeleteCollection(options *v1.DeleteOptions, listOptions met } // Get takes name of the daemonSet, and returns the corresponding daemonSet object, and an error if there is any. -func (c *daemonSets) Get(name string, options meta_v1.GetOptions) (result *v1beta1.DaemonSet, err error) { +func (c *daemonSets) Get(name string, options v1.GetOptions) (result *v1beta1.DaemonSet, err error) { result = &v1beta1.DaemonSet{} err = c.client.Get(). Namespace(c.ns). @@ -137,7 +136,7 @@ func (c *daemonSets) Get(name string, options meta_v1.GetOptions) (result *v1bet } // List takes label and field selectors, and returns the list of DaemonSets that match those selectors. -func (c *daemonSets) List(opts meta_v1.ListOptions) (result *v1beta1.DaemonSetList, err error) { +func (c *daemonSets) List(opts v1.ListOptions) (result *v1beta1.DaemonSetList, err error) { result = &v1beta1.DaemonSetList{} err = c.client.Get(). Namespace(c.ns). @@ -149,7 +148,7 @@ func (c *daemonSets) List(opts meta_v1.ListOptions) (result *v1beta1.DaemonSetLi } // Watch returns a watch.Interface that watches the requested daemonSets. -func (c *daemonSets) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *daemonSets) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.client.Get(). Prefix("watch"). Namespace(c.ns). diff --git a/kubernetes/typed/extensions/v1beta1/deployment.go b/kubernetes/typed/extensions/v1beta1/deployment.go index 48ea1acd..16200822 100644 --- a/kubernetes/typed/extensions/v1beta1/deployment.go +++ b/kubernetes/typed/extensions/v1beta1/deployment.go @@ -17,11 +17,10 @@ limitations under the License. package v1beta1 import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/client-go/pkg/api" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/extensions/v1beta1" rest "k8s.io/client-go/rest" ) @@ -38,10 +37,10 @@ type DeploymentInterface interface { Update(*v1beta1.Deployment) (*v1beta1.Deployment, error) UpdateStatus(*v1beta1.Deployment) (*v1beta1.Deployment, error) Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error - Get(name string, options meta_v1.GetOptions) (*v1beta1.Deployment, error) - List(opts meta_v1.ListOptions) (*v1beta1.DeploymentList, error) - Watch(opts meta_v1.ListOptions) (watch.Interface, error) + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v1beta1.Deployment, error) + List(opts v1.ListOptions) (*v1beta1.DeploymentList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.Deployment, err error) DeploymentExpansion } @@ -113,7 +112,7 @@ func (c *deployments) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *deployments) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *deployments) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("deployments"). @@ -124,7 +123,7 @@ func (c *deployments) DeleteCollection(options *v1.DeleteOptions, listOptions me } // Get takes name of the deployment, and returns the corresponding deployment object, and an error if there is any. -func (c *deployments) Get(name string, options meta_v1.GetOptions) (result *v1beta1.Deployment, err error) { +func (c *deployments) Get(name string, options v1.GetOptions) (result *v1beta1.Deployment, err error) { result = &v1beta1.Deployment{} err = c.client.Get(). Namespace(c.ns). @@ -137,7 +136,7 @@ func (c *deployments) Get(name string, options meta_v1.GetOptions) (result *v1be } // List takes label and field selectors, and returns the list of Deployments that match those selectors. -func (c *deployments) List(opts meta_v1.ListOptions) (result *v1beta1.DeploymentList, err error) { +func (c *deployments) List(opts v1.ListOptions) (result *v1beta1.DeploymentList, err error) { result = &v1beta1.DeploymentList{} err = c.client.Get(). Namespace(c.ns). @@ -149,7 +148,7 @@ func (c *deployments) List(opts meta_v1.ListOptions) (result *v1beta1.Deployment } // Watch returns a watch.Interface that watches the requested deployments. -func (c *deployments) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *deployments) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.client.Get(). Prefix("watch"). Namespace(c.ns). diff --git a/kubernetes/typed/extensions/v1beta1/fake/fake_daemonset.go b/kubernetes/typed/extensions/v1beta1/fake/fake_daemonset.go index 741c2fb9..e7413703 100644 --- a/kubernetes/typed/extensions/v1beta1/fake/fake_daemonset.go +++ b/kubernetes/typed/extensions/v1beta1/fake/fake_daemonset.go @@ -17,12 +17,11 @@ limitations under the License. package fake import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/extensions/v1beta1" testing "k8s.io/client-go/testing" ) @@ -72,14 +71,14 @@ func (c *FakeDaemonSets) Delete(name string, options *v1.DeleteOptions) error { return err } -func (c *FakeDaemonSets) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeDaemonSets) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { action := testing.NewDeleteCollectionAction(daemonsetsResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1beta1.DaemonSetList{}) return err } -func (c *FakeDaemonSets) Get(name string, options meta_v1.GetOptions) (result *v1beta1.DaemonSet, err error) { +func (c *FakeDaemonSets) Get(name string, options v1.GetOptions) (result *v1beta1.DaemonSet, err error) { obj, err := c.Fake. Invokes(testing.NewGetAction(daemonsetsResource, c.ns, name), &v1beta1.DaemonSet{}) @@ -89,7 +88,7 @@ func (c *FakeDaemonSets) Get(name string, options meta_v1.GetOptions) (result *v return obj.(*v1beta1.DaemonSet), err } -func (c *FakeDaemonSets) List(opts meta_v1.ListOptions) (result *v1beta1.DaemonSetList, err error) { +func (c *FakeDaemonSets) List(opts v1.ListOptions) (result *v1beta1.DaemonSetList, err error) { obj, err := c.Fake. Invokes(testing.NewListAction(daemonsetsResource, c.ns, opts), &v1beta1.DaemonSetList{}) @@ -111,7 +110,7 @@ func (c *FakeDaemonSets) List(opts meta_v1.ListOptions) (result *v1beta1.DaemonS } // Watch returns a watch.Interface that watches the requested daemonSets. -func (c *FakeDaemonSets) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *FakeDaemonSets) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewWatchAction(daemonsetsResource, c.ns, opts)) diff --git a/kubernetes/typed/extensions/v1beta1/fake/fake_deployment.go b/kubernetes/typed/extensions/v1beta1/fake/fake_deployment.go index 77fa8d14..e4a2a030 100644 --- a/kubernetes/typed/extensions/v1beta1/fake/fake_deployment.go +++ b/kubernetes/typed/extensions/v1beta1/fake/fake_deployment.go @@ -17,12 +17,11 @@ limitations under the License. package fake import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/extensions/v1beta1" testing "k8s.io/client-go/testing" ) @@ -72,14 +71,14 @@ func (c *FakeDeployments) Delete(name string, options *v1.DeleteOptions) error { return err } -func (c *FakeDeployments) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeDeployments) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { action := testing.NewDeleteCollectionAction(deploymentsResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1beta1.DeploymentList{}) return err } -func (c *FakeDeployments) Get(name string, options meta_v1.GetOptions) (result *v1beta1.Deployment, err error) { +func (c *FakeDeployments) Get(name string, options v1.GetOptions) (result *v1beta1.Deployment, err error) { obj, err := c.Fake. Invokes(testing.NewGetAction(deploymentsResource, c.ns, name), &v1beta1.Deployment{}) @@ -89,7 +88,7 @@ func (c *FakeDeployments) Get(name string, options meta_v1.GetOptions) (result * return obj.(*v1beta1.Deployment), err } -func (c *FakeDeployments) List(opts meta_v1.ListOptions) (result *v1beta1.DeploymentList, err error) { +func (c *FakeDeployments) List(opts v1.ListOptions) (result *v1beta1.DeploymentList, err error) { obj, err := c.Fake. Invokes(testing.NewListAction(deploymentsResource, c.ns, opts), &v1beta1.DeploymentList{}) @@ -111,7 +110,7 @@ func (c *FakeDeployments) List(opts meta_v1.ListOptions) (result *v1beta1.Deploy } // Watch returns a watch.Interface that watches the requested deployments. -func (c *FakeDeployments) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *FakeDeployments) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewWatchAction(deploymentsResource, c.ns, opts)) diff --git a/kubernetes/typed/extensions/v1beta1/fake/fake_ingress.go b/kubernetes/typed/extensions/v1beta1/fake/fake_ingress.go index 7722e698..7ad797e3 100644 --- a/kubernetes/typed/extensions/v1beta1/fake/fake_ingress.go +++ b/kubernetes/typed/extensions/v1beta1/fake/fake_ingress.go @@ -17,12 +17,11 @@ limitations under the License. package fake import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/extensions/v1beta1" testing "k8s.io/client-go/testing" ) @@ -72,14 +71,14 @@ func (c *FakeIngresses) Delete(name string, options *v1.DeleteOptions) error { return err } -func (c *FakeIngresses) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeIngresses) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { action := testing.NewDeleteCollectionAction(ingressesResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1beta1.IngressList{}) return err } -func (c *FakeIngresses) Get(name string, options meta_v1.GetOptions) (result *v1beta1.Ingress, err error) { +func (c *FakeIngresses) Get(name string, options v1.GetOptions) (result *v1beta1.Ingress, err error) { obj, err := c.Fake. Invokes(testing.NewGetAction(ingressesResource, c.ns, name), &v1beta1.Ingress{}) @@ -89,7 +88,7 @@ func (c *FakeIngresses) Get(name string, options meta_v1.GetOptions) (result *v1 return obj.(*v1beta1.Ingress), err } -func (c *FakeIngresses) List(opts meta_v1.ListOptions) (result *v1beta1.IngressList, err error) { +func (c *FakeIngresses) List(opts v1.ListOptions) (result *v1beta1.IngressList, err error) { obj, err := c.Fake. Invokes(testing.NewListAction(ingressesResource, c.ns, opts), &v1beta1.IngressList{}) @@ -111,7 +110,7 @@ func (c *FakeIngresses) List(opts meta_v1.ListOptions) (result *v1beta1.IngressL } // Watch returns a watch.Interface that watches the requested ingresses. -func (c *FakeIngresses) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *FakeIngresses) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewWatchAction(ingressesResource, c.ns, opts)) diff --git a/kubernetes/typed/extensions/v1beta1/fake/fake_podsecuritypolicy.go b/kubernetes/typed/extensions/v1beta1/fake/fake_podsecuritypolicy.go index d64c6440..78b0868c 100644 --- a/kubernetes/typed/extensions/v1beta1/fake/fake_podsecuritypolicy.go +++ b/kubernetes/typed/extensions/v1beta1/fake/fake_podsecuritypolicy.go @@ -17,12 +17,11 @@ limitations under the License. package fake import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/extensions/v1beta1" testing "k8s.io/client-go/testing" ) @@ -58,14 +57,14 @@ func (c *FakePodSecurityPolicies) Delete(name string, options *v1.DeleteOptions) return err } -func (c *FakePodSecurityPolicies) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakePodSecurityPolicies) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { action := testing.NewRootDeleteCollectionAction(podsecuritypoliciesResource, listOptions) _, err := c.Fake.Invokes(action, &v1beta1.PodSecurityPolicyList{}) return err } -func (c *FakePodSecurityPolicies) Get(name string, options meta_v1.GetOptions) (result *v1beta1.PodSecurityPolicy, err error) { +func (c *FakePodSecurityPolicies) Get(name string, options v1.GetOptions) (result *v1beta1.PodSecurityPolicy, err error) { obj, err := c.Fake. Invokes(testing.NewRootGetAction(podsecuritypoliciesResource, name), &v1beta1.PodSecurityPolicy{}) if obj == nil { @@ -74,7 +73,7 @@ func (c *FakePodSecurityPolicies) Get(name string, options meta_v1.GetOptions) ( return obj.(*v1beta1.PodSecurityPolicy), err } -func (c *FakePodSecurityPolicies) List(opts meta_v1.ListOptions) (result *v1beta1.PodSecurityPolicyList, err error) { +func (c *FakePodSecurityPolicies) List(opts v1.ListOptions) (result *v1beta1.PodSecurityPolicyList, err error) { obj, err := c.Fake. Invokes(testing.NewRootListAction(podsecuritypoliciesResource, opts), &v1beta1.PodSecurityPolicyList{}) if obj == nil { @@ -95,7 +94,7 @@ func (c *FakePodSecurityPolicies) List(opts meta_v1.ListOptions) (result *v1beta } // Watch returns a watch.Interface that watches the requested podSecurityPolicies. -func (c *FakePodSecurityPolicies) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *FakePodSecurityPolicies) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewRootWatchAction(podsecuritypoliciesResource, opts)) } diff --git a/kubernetes/typed/extensions/v1beta1/fake/fake_replicaset.go b/kubernetes/typed/extensions/v1beta1/fake/fake_replicaset.go index 7fbd1715..b5fbc6b5 100644 --- a/kubernetes/typed/extensions/v1beta1/fake/fake_replicaset.go +++ b/kubernetes/typed/extensions/v1beta1/fake/fake_replicaset.go @@ -17,12 +17,11 @@ limitations under the License. package fake import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/extensions/v1beta1" testing "k8s.io/client-go/testing" ) @@ -72,14 +71,14 @@ func (c *FakeReplicaSets) Delete(name string, options *v1.DeleteOptions) error { return err } -func (c *FakeReplicaSets) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeReplicaSets) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { action := testing.NewDeleteCollectionAction(replicasetsResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1beta1.ReplicaSetList{}) return err } -func (c *FakeReplicaSets) Get(name string, options meta_v1.GetOptions) (result *v1beta1.ReplicaSet, err error) { +func (c *FakeReplicaSets) Get(name string, options v1.GetOptions) (result *v1beta1.ReplicaSet, err error) { obj, err := c.Fake. Invokes(testing.NewGetAction(replicasetsResource, c.ns, name), &v1beta1.ReplicaSet{}) @@ -89,7 +88,7 @@ func (c *FakeReplicaSets) Get(name string, options meta_v1.GetOptions) (result * return obj.(*v1beta1.ReplicaSet), err } -func (c *FakeReplicaSets) List(opts meta_v1.ListOptions) (result *v1beta1.ReplicaSetList, err error) { +func (c *FakeReplicaSets) List(opts v1.ListOptions) (result *v1beta1.ReplicaSetList, err error) { obj, err := c.Fake. Invokes(testing.NewListAction(replicasetsResource, c.ns, opts), &v1beta1.ReplicaSetList{}) @@ -111,7 +110,7 @@ func (c *FakeReplicaSets) List(opts meta_v1.ListOptions) (result *v1beta1.Replic } // Watch returns a watch.Interface that watches the requested replicaSets. -func (c *FakeReplicaSets) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *FakeReplicaSets) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewWatchAction(replicasetsResource, c.ns, opts)) diff --git a/kubernetes/typed/extensions/v1beta1/fake/fake_thirdpartyresource.go b/kubernetes/typed/extensions/v1beta1/fake/fake_thirdpartyresource.go index 43842eb5..cb625070 100644 --- a/kubernetes/typed/extensions/v1beta1/fake/fake_thirdpartyresource.go +++ b/kubernetes/typed/extensions/v1beta1/fake/fake_thirdpartyresource.go @@ -17,12 +17,11 @@ limitations under the License. package fake import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/extensions/v1beta1" testing "k8s.io/client-go/testing" ) @@ -58,14 +57,14 @@ func (c *FakeThirdPartyResources) Delete(name string, options *v1.DeleteOptions) return err } -func (c *FakeThirdPartyResources) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeThirdPartyResources) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { action := testing.NewRootDeleteCollectionAction(thirdpartyresourcesResource, listOptions) _, err := c.Fake.Invokes(action, &v1beta1.ThirdPartyResourceList{}) return err } -func (c *FakeThirdPartyResources) Get(name string, options meta_v1.GetOptions) (result *v1beta1.ThirdPartyResource, err error) { +func (c *FakeThirdPartyResources) Get(name string, options v1.GetOptions) (result *v1beta1.ThirdPartyResource, err error) { obj, err := c.Fake. Invokes(testing.NewRootGetAction(thirdpartyresourcesResource, name), &v1beta1.ThirdPartyResource{}) if obj == nil { @@ -74,7 +73,7 @@ func (c *FakeThirdPartyResources) Get(name string, options meta_v1.GetOptions) ( return obj.(*v1beta1.ThirdPartyResource), err } -func (c *FakeThirdPartyResources) List(opts meta_v1.ListOptions) (result *v1beta1.ThirdPartyResourceList, err error) { +func (c *FakeThirdPartyResources) List(opts v1.ListOptions) (result *v1beta1.ThirdPartyResourceList, err error) { obj, err := c.Fake. Invokes(testing.NewRootListAction(thirdpartyresourcesResource, opts), &v1beta1.ThirdPartyResourceList{}) if obj == nil { @@ -95,7 +94,7 @@ func (c *FakeThirdPartyResources) List(opts meta_v1.ListOptions) (result *v1beta } // Watch returns a watch.Interface that watches the requested thirdPartyResources. -func (c *FakeThirdPartyResources) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *FakeThirdPartyResources) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewRootWatchAction(thirdpartyresourcesResource, opts)) } diff --git a/kubernetes/typed/extensions/v1beta1/ingress.go b/kubernetes/typed/extensions/v1beta1/ingress.go index 6e4c42ee..fb347167 100644 --- a/kubernetes/typed/extensions/v1beta1/ingress.go +++ b/kubernetes/typed/extensions/v1beta1/ingress.go @@ -17,11 +17,10 @@ limitations under the License. package v1beta1 import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/client-go/pkg/api" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/extensions/v1beta1" rest "k8s.io/client-go/rest" ) @@ -38,10 +37,10 @@ type IngressInterface interface { Update(*v1beta1.Ingress) (*v1beta1.Ingress, error) UpdateStatus(*v1beta1.Ingress) (*v1beta1.Ingress, error) Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error - Get(name string, options meta_v1.GetOptions) (*v1beta1.Ingress, error) - List(opts meta_v1.ListOptions) (*v1beta1.IngressList, error) - Watch(opts meta_v1.ListOptions) (watch.Interface, error) + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v1beta1.Ingress, error) + List(opts v1.ListOptions) (*v1beta1.IngressList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.Ingress, err error) IngressExpansion } @@ -113,7 +112,7 @@ func (c *ingresses) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *ingresses) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *ingresses) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("ingresses"). @@ -124,7 +123,7 @@ func (c *ingresses) DeleteCollection(options *v1.DeleteOptions, listOptions meta } // Get takes name of the ingress, and returns the corresponding ingress object, and an error if there is any. -func (c *ingresses) Get(name string, options meta_v1.GetOptions) (result *v1beta1.Ingress, err error) { +func (c *ingresses) Get(name string, options v1.GetOptions) (result *v1beta1.Ingress, err error) { result = &v1beta1.Ingress{} err = c.client.Get(). Namespace(c.ns). @@ -137,7 +136,7 @@ func (c *ingresses) Get(name string, options meta_v1.GetOptions) (result *v1beta } // List takes label and field selectors, and returns the list of Ingresses that match those selectors. -func (c *ingresses) List(opts meta_v1.ListOptions) (result *v1beta1.IngressList, err error) { +func (c *ingresses) List(opts v1.ListOptions) (result *v1beta1.IngressList, err error) { result = &v1beta1.IngressList{} err = c.client.Get(). Namespace(c.ns). @@ -149,7 +148,7 @@ func (c *ingresses) List(opts meta_v1.ListOptions) (result *v1beta1.IngressList, } // Watch returns a watch.Interface that watches the requested ingresses. -func (c *ingresses) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *ingresses) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.client.Get(). Prefix("watch"). Namespace(c.ns). diff --git a/kubernetes/typed/extensions/v1beta1/podsecuritypolicy.go b/kubernetes/typed/extensions/v1beta1/podsecuritypolicy.go index c839dad4..95637869 100644 --- a/kubernetes/typed/extensions/v1beta1/podsecuritypolicy.go +++ b/kubernetes/typed/extensions/v1beta1/podsecuritypolicy.go @@ -17,11 +17,10 @@ limitations under the License. package v1beta1 import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/client-go/pkg/api" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/extensions/v1beta1" rest "k8s.io/client-go/rest" ) @@ -37,10 +36,10 @@ type PodSecurityPolicyInterface interface { Create(*v1beta1.PodSecurityPolicy) (*v1beta1.PodSecurityPolicy, error) Update(*v1beta1.PodSecurityPolicy) (*v1beta1.PodSecurityPolicy, error) Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error - Get(name string, options meta_v1.GetOptions) (*v1beta1.PodSecurityPolicy, error) - List(opts meta_v1.ListOptions) (*v1beta1.PodSecurityPolicyList, error) - Watch(opts meta_v1.ListOptions) (watch.Interface, error) + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v1beta1.PodSecurityPolicy, error) + List(opts v1.ListOptions) (*v1beta1.PodSecurityPolicyList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.PodSecurityPolicy, err error) PodSecurityPolicyExpansion } @@ -91,7 +90,7 @@ func (c *podSecurityPolicies) Delete(name string, options *v1.DeleteOptions) err } // DeleteCollection deletes a collection of objects. -func (c *podSecurityPolicies) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *podSecurityPolicies) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { return c.client.Delete(). Resource("podsecuritypolicies"). VersionedParams(&listOptions, api.ParameterCodec). @@ -101,7 +100,7 @@ func (c *podSecurityPolicies) DeleteCollection(options *v1.DeleteOptions, listOp } // Get takes name of the podSecurityPolicy, and returns the corresponding podSecurityPolicy object, and an error if there is any. -func (c *podSecurityPolicies) Get(name string, options meta_v1.GetOptions) (result *v1beta1.PodSecurityPolicy, err error) { +func (c *podSecurityPolicies) Get(name string, options v1.GetOptions) (result *v1beta1.PodSecurityPolicy, err error) { result = &v1beta1.PodSecurityPolicy{} err = c.client.Get(). Resource("podsecuritypolicies"). @@ -113,7 +112,7 @@ func (c *podSecurityPolicies) Get(name string, options meta_v1.GetOptions) (resu } // List takes label and field selectors, and returns the list of PodSecurityPolicies that match those selectors. -func (c *podSecurityPolicies) List(opts meta_v1.ListOptions) (result *v1beta1.PodSecurityPolicyList, err error) { +func (c *podSecurityPolicies) List(opts v1.ListOptions) (result *v1beta1.PodSecurityPolicyList, err error) { result = &v1beta1.PodSecurityPolicyList{} err = c.client.Get(). Resource("podsecuritypolicies"). @@ -124,7 +123,7 @@ func (c *podSecurityPolicies) List(opts meta_v1.ListOptions) (result *v1beta1.Po } // Watch returns a watch.Interface that watches the requested podSecurityPolicies. -func (c *podSecurityPolicies) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *podSecurityPolicies) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.client.Get(). Prefix("watch"). Resource("podsecuritypolicies"). diff --git a/kubernetes/typed/extensions/v1beta1/replicaset.go b/kubernetes/typed/extensions/v1beta1/replicaset.go index 84463c92..a919f8fc 100644 --- a/kubernetes/typed/extensions/v1beta1/replicaset.go +++ b/kubernetes/typed/extensions/v1beta1/replicaset.go @@ -17,11 +17,10 @@ limitations under the License. package v1beta1 import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/client-go/pkg/api" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/extensions/v1beta1" rest "k8s.io/client-go/rest" ) @@ -38,10 +37,10 @@ type ReplicaSetInterface interface { Update(*v1beta1.ReplicaSet) (*v1beta1.ReplicaSet, error) UpdateStatus(*v1beta1.ReplicaSet) (*v1beta1.ReplicaSet, error) Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error - Get(name string, options meta_v1.GetOptions) (*v1beta1.ReplicaSet, error) - List(opts meta_v1.ListOptions) (*v1beta1.ReplicaSetList, error) - Watch(opts meta_v1.ListOptions) (watch.Interface, error) + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v1beta1.ReplicaSet, error) + List(opts v1.ListOptions) (*v1beta1.ReplicaSetList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.ReplicaSet, err error) ReplicaSetExpansion } @@ -113,7 +112,7 @@ func (c *replicaSets) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *replicaSets) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *replicaSets) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("replicasets"). @@ -124,7 +123,7 @@ func (c *replicaSets) DeleteCollection(options *v1.DeleteOptions, listOptions me } // Get takes name of the replicaSet, and returns the corresponding replicaSet object, and an error if there is any. -func (c *replicaSets) Get(name string, options meta_v1.GetOptions) (result *v1beta1.ReplicaSet, err error) { +func (c *replicaSets) Get(name string, options v1.GetOptions) (result *v1beta1.ReplicaSet, err error) { result = &v1beta1.ReplicaSet{} err = c.client.Get(). Namespace(c.ns). @@ -137,7 +136,7 @@ func (c *replicaSets) Get(name string, options meta_v1.GetOptions) (result *v1be } // List takes label and field selectors, and returns the list of ReplicaSets that match those selectors. -func (c *replicaSets) List(opts meta_v1.ListOptions) (result *v1beta1.ReplicaSetList, err error) { +func (c *replicaSets) List(opts v1.ListOptions) (result *v1beta1.ReplicaSetList, err error) { result = &v1beta1.ReplicaSetList{} err = c.client.Get(). Namespace(c.ns). @@ -149,7 +148,7 @@ func (c *replicaSets) List(opts meta_v1.ListOptions) (result *v1beta1.ReplicaSet } // Watch returns a watch.Interface that watches the requested replicaSets. -func (c *replicaSets) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *replicaSets) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.client.Get(). Prefix("watch"). Namespace(c.ns). diff --git a/kubernetes/typed/extensions/v1beta1/thirdpartyresource.go b/kubernetes/typed/extensions/v1beta1/thirdpartyresource.go index e8378d35..d806511c 100644 --- a/kubernetes/typed/extensions/v1beta1/thirdpartyresource.go +++ b/kubernetes/typed/extensions/v1beta1/thirdpartyresource.go @@ -17,11 +17,10 @@ limitations under the License. package v1beta1 import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/client-go/pkg/api" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/extensions/v1beta1" rest "k8s.io/client-go/rest" ) @@ -37,10 +36,10 @@ type ThirdPartyResourceInterface interface { Create(*v1beta1.ThirdPartyResource) (*v1beta1.ThirdPartyResource, error) Update(*v1beta1.ThirdPartyResource) (*v1beta1.ThirdPartyResource, error) Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error - Get(name string, options meta_v1.GetOptions) (*v1beta1.ThirdPartyResource, error) - List(opts meta_v1.ListOptions) (*v1beta1.ThirdPartyResourceList, error) - Watch(opts meta_v1.ListOptions) (watch.Interface, error) + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v1beta1.ThirdPartyResource, error) + List(opts v1.ListOptions) (*v1beta1.ThirdPartyResourceList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.ThirdPartyResource, err error) ThirdPartyResourceExpansion } @@ -91,7 +90,7 @@ func (c *thirdPartyResources) Delete(name string, options *v1.DeleteOptions) err } // DeleteCollection deletes a collection of objects. -func (c *thirdPartyResources) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *thirdPartyResources) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { return c.client.Delete(). Resource("thirdpartyresources"). VersionedParams(&listOptions, api.ParameterCodec). @@ -101,7 +100,7 @@ func (c *thirdPartyResources) DeleteCollection(options *v1.DeleteOptions, listOp } // Get takes name of the thirdPartyResource, and returns the corresponding thirdPartyResource object, and an error if there is any. -func (c *thirdPartyResources) Get(name string, options meta_v1.GetOptions) (result *v1beta1.ThirdPartyResource, err error) { +func (c *thirdPartyResources) Get(name string, options v1.GetOptions) (result *v1beta1.ThirdPartyResource, err error) { result = &v1beta1.ThirdPartyResource{} err = c.client.Get(). Resource("thirdpartyresources"). @@ -113,7 +112,7 @@ func (c *thirdPartyResources) Get(name string, options meta_v1.GetOptions) (resu } // List takes label and field selectors, and returns the list of ThirdPartyResources that match those selectors. -func (c *thirdPartyResources) List(opts meta_v1.ListOptions) (result *v1beta1.ThirdPartyResourceList, err error) { +func (c *thirdPartyResources) List(opts v1.ListOptions) (result *v1beta1.ThirdPartyResourceList, err error) { result = &v1beta1.ThirdPartyResourceList{} err = c.client.Get(). Resource("thirdpartyresources"). @@ -124,7 +123,7 @@ func (c *thirdPartyResources) List(opts meta_v1.ListOptions) (result *v1beta1.Th } // Watch returns a watch.Interface that watches the requested thirdPartyResources. -func (c *thirdPartyResources) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *thirdPartyResources) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.client.Get(). Prefix("watch"). Resource("thirdpartyresources"). diff --git a/kubernetes/typed/policy/v1beta1/fake/fake_poddisruptionbudget.go b/kubernetes/typed/policy/v1beta1/fake/fake_poddisruptionbudget.go index 9e5a57ca..30968658 100644 --- a/kubernetes/typed/policy/v1beta1/fake/fake_poddisruptionbudget.go +++ b/kubernetes/typed/policy/v1beta1/fake/fake_poddisruptionbudget.go @@ -17,12 +17,11 @@ limitations under the License. package fake import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/policy/v1beta1" testing "k8s.io/client-go/testing" ) @@ -72,14 +71,14 @@ func (c *FakePodDisruptionBudgets) Delete(name string, options *v1.DeleteOptions return err } -func (c *FakePodDisruptionBudgets) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakePodDisruptionBudgets) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { action := testing.NewDeleteCollectionAction(poddisruptionbudgetsResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1beta1.PodDisruptionBudgetList{}) return err } -func (c *FakePodDisruptionBudgets) Get(name string, options meta_v1.GetOptions) (result *v1beta1.PodDisruptionBudget, err error) { +func (c *FakePodDisruptionBudgets) Get(name string, options v1.GetOptions) (result *v1beta1.PodDisruptionBudget, err error) { obj, err := c.Fake. Invokes(testing.NewGetAction(poddisruptionbudgetsResource, c.ns, name), &v1beta1.PodDisruptionBudget{}) @@ -89,7 +88,7 @@ func (c *FakePodDisruptionBudgets) Get(name string, options meta_v1.GetOptions) return obj.(*v1beta1.PodDisruptionBudget), err } -func (c *FakePodDisruptionBudgets) List(opts meta_v1.ListOptions) (result *v1beta1.PodDisruptionBudgetList, err error) { +func (c *FakePodDisruptionBudgets) List(opts v1.ListOptions) (result *v1beta1.PodDisruptionBudgetList, err error) { obj, err := c.Fake. Invokes(testing.NewListAction(poddisruptionbudgetsResource, c.ns, opts), &v1beta1.PodDisruptionBudgetList{}) @@ -111,7 +110,7 @@ func (c *FakePodDisruptionBudgets) List(opts meta_v1.ListOptions) (result *v1bet } // Watch returns a watch.Interface that watches the requested podDisruptionBudgets. -func (c *FakePodDisruptionBudgets) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *FakePodDisruptionBudgets) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewWatchAction(poddisruptionbudgetsResource, c.ns, opts)) diff --git a/kubernetes/typed/policy/v1beta1/poddisruptionbudget.go b/kubernetes/typed/policy/v1beta1/poddisruptionbudget.go index 36bdce6d..0f1b9b71 100644 --- a/kubernetes/typed/policy/v1beta1/poddisruptionbudget.go +++ b/kubernetes/typed/policy/v1beta1/poddisruptionbudget.go @@ -17,11 +17,10 @@ limitations under the License. package v1beta1 import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/client-go/pkg/api" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/policy/v1beta1" rest "k8s.io/client-go/rest" ) @@ -38,10 +37,10 @@ type PodDisruptionBudgetInterface interface { Update(*v1beta1.PodDisruptionBudget) (*v1beta1.PodDisruptionBudget, error) UpdateStatus(*v1beta1.PodDisruptionBudget) (*v1beta1.PodDisruptionBudget, error) Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error - Get(name string, options meta_v1.GetOptions) (*v1beta1.PodDisruptionBudget, error) - List(opts meta_v1.ListOptions) (*v1beta1.PodDisruptionBudgetList, error) - Watch(opts meta_v1.ListOptions) (watch.Interface, error) + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v1beta1.PodDisruptionBudget, error) + List(opts v1.ListOptions) (*v1beta1.PodDisruptionBudgetList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.PodDisruptionBudget, err error) PodDisruptionBudgetExpansion } @@ -113,7 +112,7 @@ func (c *podDisruptionBudgets) Delete(name string, options *v1.DeleteOptions) er } // DeleteCollection deletes a collection of objects. -func (c *podDisruptionBudgets) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *podDisruptionBudgets) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("poddisruptionbudgets"). @@ -124,7 +123,7 @@ func (c *podDisruptionBudgets) DeleteCollection(options *v1.DeleteOptions, listO } // Get takes name of the podDisruptionBudget, and returns the corresponding podDisruptionBudget object, and an error if there is any. -func (c *podDisruptionBudgets) Get(name string, options meta_v1.GetOptions) (result *v1beta1.PodDisruptionBudget, err error) { +func (c *podDisruptionBudgets) Get(name string, options v1.GetOptions) (result *v1beta1.PodDisruptionBudget, err error) { result = &v1beta1.PodDisruptionBudget{} err = c.client.Get(). Namespace(c.ns). @@ -137,7 +136,7 @@ func (c *podDisruptionBudgets) Get(name string, options meta_v1.GetOptions) (res } // List takes label and field selectors, and returns the list of PodDisruptionBudgets that match those selectors. -func (c *podDisruptionBudgets) List(opts meta_v1.ListOptions) (result *v1beta1.PodDisruptionBudgetList, err error) { +func (c *podDisruptionBudgets) List(opts v1.ListOptions) (result *v1beta1.PodDisruptionBudgetList, err error) { result = &v1beta1.PodDisruptionBudgetList{} err = c.client.Get(). Namespace(c.ns). @@ -149,7 +148,7 @@ func (c *podDisruptionBudgets) List(opts meta_v1.ListOptions) (result *v1beta1.P } // Watch returns a watch.Interface that watches the requested podDisruptionBudgets. -func (c *podDisruptionBudgets) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *podDisruptionBudgets) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.client.Get(). Prefix("watch"). Namespace(c.ns). diff --git a/kubernetes/typed/rbac/v1alpha1/clusterrole.go b/kubernetes/typed/rbac/v1alpha1/clusterrole.go index 1f7a61ca..f352f017 100644 --- a/kubernetes/typed/rbac/v1alpha1/clusterrole.go +++ b/kubernetes/typed/rbac/v1alpha1/clusterrole.go @@ -17,11 +17,10 @@ limitations under the License. package v1alpha1 import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/client-go/pkg/api" - v1 "k8s.io/client-go/pkg/api/v1" v1alpha1 "k8s.io/client-go/pkg/apis/rbac/v1alpha1" rest "k8s.io/client-go/rest" ) @@ -37,10 +36,10 @@ type ClusterRoleInterface interface { Create(*v1alpha1.ClusterRole) (*v1alpha1.ClusterRole, error) Update(*v1alpha1.ClusterRole) (*v1alpha1.ClusterRole, error) Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error - Get(name string, options meta_v1.GetOptions) (*v1alpha1.ClusterRole, error) - List(opts meta_v1.ListOptions) (*v1alpha1.ClusterRoleList, error) - Watch(opts meta_v1.ListOptions) (watch.Interface, error) + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v1alpha1.ClusterRole, error) + List(opts v1.ListOptions) (*v1alpha1.ClusterRoleList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.ClusterRole, err error) ClusterRoleExpansion } @@ -91,7 +90,7 @@ func (c *clusterRoles) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *clusterRoles) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *clusterRoles) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { return c.client.Delete(). Resource("clusterroles"). VersionedParams(&listOptions, api.ParameterCodec). @@ -101,7 +100,7 @@ func (c *clusterRoles) DeleteCollection(options *v1.DeleteOptions, listOptions m } // Get takes name of the clusterRole, and returns the corresponding clusterRole object, and an error if there is any. -func (c *clusterRoles) Get(name string, options meta_v1.GetOptions) (result *v1alpha1.ClusterRole, err error) { +func (c *clusterRoles) Get(name string, options v1.GetOptions) (result *v1alpha1.ClusterRole, err error) { result = &v1alpha1.ClusterRole{} err = c.client.Get(). Resource("clusterroles"). @@ -113,7 +112,7 @@ func (c *clusterRoles) Get(name string, options meta_v1.GetOptions) (result *v1a } // List takes label and field selectors, and returns the list of ClusterRoles that match those selectors. -func (c *clusterRoles) List(opts meta_v1.ListOptions) (result *v1alpha1.ClusterRoleList, err error) { +func (c *clusterRoles) List(opts v1.ListOptions) (result *v1alpha1.ClusterRoleList, err error) { result = &v1alpha1.ClusterRoleList{} err = c.client.Get(). Resource("clusterroles"). @@ -124,7 +123,7 @@ func (c *clusterRoles) List(opts meta_v1.ListOptions) (result *v1alpha1.ClusterR } // Watch returns a watch.Interface that watches the requested clusterRoles. -func (c *clusterRoles) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *clusterRoles) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.client.Get(). Prefix("watch"). Resource("clusterroles"). diff --git a/kubernetes/typed/rbac/v1alpha1/clusterrolebinding.go b/kubernetes/typed/rbac/v1alpha1/clusterrolebinding.go index b80fadd7..08b518ff 100644 --- a/kubernetes/typed/rbac/v1alpha1/clusterrolebinding.go +++ b/kubernetes/typed/rbac/v1alpha1/clusterrolebinding.go @@ -17,11 +17,10 @@ limitations under the License. package v1alpha1 import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/client-go/pkg/api" - v1 "k8s.io/client-go/pkg/api/v1" v1alpha1 "k8s.io/client-go/pkg/apis/rbac/v1alpha1" rest "k8s.io/client-go/rest" ) @@ -37,10 +36,10 @@ type ClusterRoleBindingInterface interface { Create(*v1alpha1.ClusterRoleBinding) (*v1alpha1.ClusterRoleBinding, error) Update(*v1alpha1.ClusterRoleBinding) (*v1alpha1.ClusterRoleBinding, error) Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error - Get(name string, options meta_v1.GetOptions) (*v1alpha1.ClusterRoleBinding, error) - List(opts meta_v1.ListOptions) (*v1alpha1.ClusterRoleBindingList, error) - Watch(opts meta_v1.ListOptions) (watch.Interface, error) + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v1alpha1.ClusterRoleBinding, error) + List(opts v1.ListOptions) (*v1alpha1.ClusterRoleBindingList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.ClusterRoleBinding, err error) ClusterRoleBindingExpansion } @@ -91,7 +90,7 @@ func (c *clusterRoleBindings) Delete(name string, options *v1.DeleteOptions) err } // DeleteCollection deletes a collection of objects. -func (c *clusterRoleBindings) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *clusterRoleBindings) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { return c.client.Delete(). Resource("clusterrolebindings"). VersionedParams(&listOptions, api.ParameterCodec). @@ -101,7 +100,7 @@ func (c *clusterRoleBindings) DeleteCollection(options *v1.DeleteOptions, listOp } // Get takes name of the clusterRoleBinding, and returns the corresponding clusterRoleBinding object, and an error if there is any. -func (c *clusterRoleBindings) Get(name string, options meta_v1.GetOptions) (result *v1alpha1.ClusterRoleBinding, err error) { +func (c *clusterRoleBindings) Get(name string, options v1.GetOptions) (result *v1alpha1.ClusterRoleBinding, err error) { result = &v1alpha1.ClusterRoleBinding{} err = c.client.Get(). Resource("clusterrolebindings"). @@ -113,7 +112,7 @@ func (c *clusterRoleBindings) Get(name string, options meta_v1.GetOptions) (resu } // List takes label and field selectors, and returns the list of ClusterRoleBindings that match those selectors. -func (c *clusterRoleBindings) List(opts meta_v1.ListOptions) (result *v1alpha1.ClusterRoleBindingList, err error) { +func (c *clusterRoleBindings) List(opts v1.ListOptions) (result *v1alpha1.ClusterRoleBindingList, err error) { result = &v1alpha1.ClusterRoleBindingList{} err = c.client.Get(). Resource("clusterrolebindings"). @@ -124,7 +123,7 @@ func (c *clusterRoleBindings) List(opts meta_v1.ListOptions) (result *v1alpha1.C } // Watch returns a watch.Interface that watches the requested clusterRoleBindings. -func (c *clusterRoleBindings) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *clusterRoleBindings) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.client.Get(). Prefix("watch"). Resource("clusterrolebindings"). diff --git a/kubernetes/typed/rbac/v1alpha1/fake/fake_clusterrole.go b/kubernetes/typed/rbac/v1alpha1/fake/fake_clusterrole.go index 4b3af7d3..fed2d4e8 100644 --- a/kubernetes/typed/rbac/v1alpha1/fake/fake_clusterrole.go +++ b/kubernetes/typed/rbac/v1alpha1/fake/fake_clusterrole.go @@ -17,12 +17,11 @@ limitations under the License. package fake import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" - v1 "k8s.io/client-go/pkg/api/v1" v1alpha1 "k8s.io/client-go/pkg/apis/rbac/v1alpha1" testing "k8s.io/client-go/testing" ) @@ -58,14 +57,14 @@ func (c *FakeClusterRoles) Delete(name string, options *v1.DeleteOptions) error return err } -func (c *FakeClusterRoles) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeClusterRoles) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { action := testing.NewRootDeleteCollectionAction(clusterrolesResource, listOptions) _, err := c.Fake.Invokes(action, &v1alpha1.ClusterRoleList{}) return err } -func (c *FakeClusterRoles) Get(name string, options meta_v1.GetOptions) (result *v1alpha1.ClusterRole, err error) { +func (c *FakeClusterRoles) Get(name string, options v1.GetOptions) (result *v1alpha1.ClusterRole, err error) { obj, err := c.Fake. Invokes(testing.NewRootGetAction(clusterrolesResource, name), &v1alpha1.ClusterRole{}) if obj == nil { @@ -74,7 +73,7 @@ func (c *FakeClusterRoles) Get(name string, options meta_v1.GetOptions) (result return obj.(*v1alpha1.ClusterRole), err } -func (c *FakeClusterRoles) List(opts meta_v1.ListOptions) (result *v1alpha1.ClusterRoleList, err error) { +func (c *FakeClusterRoles) List(opts v1.ListOptions) (result *v1alpha1.ClusterRoleList, err error) { obj, err := c.Fake. Invokes(testing.NewRootListAction(clusterrolesResource, opts), &v1alpha1.ClusterRoleList{}) if obj == nil { @@ -95,7 +94,7 @@ func (c *FakeClusterRoles) List(opts meta_v1.ListOptions) (result *v1alpha1.Clus } // Watch returns a watch.Interface that watches the requested clusterRoles. -func (c *FakeClusterRoles) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *FakeClusterRoles) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewRootWatchAction(clusterrolesResource, opts)) } diff --git a/kubernetes/typed/rbac/v1alpha1/fake/fake_clusterrolebinding.go b/kubernetes/typed/rbac/v1alpha1/fake/fake_clusterrolebinding.go index 96a93c9e..9e577cdf 100644 --- a/kubernetes/typed/rbac/v1alpha1/fake/fake_clusterrolebinding.go +++ b/kubernetes/typed/rbac/v1alpha1/fake/fake_clusterrolebinding.go @@ -17,12 +17,11 @@ limitations under the License. package fake import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" - v1 "k8s.io/client-go/pkg/api/v1" v1alpha1 "k8s.io/client-go/pkg/apis/rbac/v1alpha1" testing "k8s.io/client-go/testing" ) @@ -58,14 +57,14 @@ func (c *FakeClusterRoleBindings) Delete(name string, options *v1.DeleteOptions) return err } -func (c *FakeClusterRoleBindings) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeClusterRoleBindings) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { action := testing.NewRootDeleteCollectionAction(clusterrolebindingsResource, listOptions) _, err := c.Fake.Invokes(action, &v1alpha1.ClusterRoleBindingList{}) return err } -func (c *FakeClusterRoleBindings) Get(name string, options meta_v1.GetOptions) (result *v1alpha1.ClusterRoleBinding, err error) { +func (c *FakeClusterRoleBindings) Get(name string, options v1.GetOptions) (result *v1alpha1.ClusterRoleBinding, err error) { obj, err := c.Fake. Invokes(testing.NewRootGetAction(clusterrolebindingsResource, name), &v1alpha1.ClusterRoleBinding{}) if obj == nil { @@ -74,7 +73,7 @@ func (c *FakeClusterRoleBindings) Get(name string, options meta_v1.GetOptions) ( return obj.(*v1alpha1.ClusterRoleBinding), err } -func (c *FakeClusterRoleBindings) List(opts meta_v1.ListOptions) (result *v1alpha1.ClusterRoleBindingList, err error) { +func (c *FakeClusterRoleBindings) List(opts v1.ListOptions) (result *v1alpha1.ClusterRoleBindingList, err error) { obj, err := c.Fake. Invokes(testing.NewRootListAction(clusterrolebindingsResource, opts), &v1alpha1.ClusterRoleBindingList{}) if obj == nil { @@ -95,7 +94,7 @@ func (c *FakeClusterRoleBindings) List(opts meta_v1.ListOptions) (result *v1alph } // Watch returns a watch.Interface that watches the requested clusterRoleBindings. -func (c *FakeClusterRoleBindings) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *FakeClusterRoleBindings) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewRootWatchAction(clusterrolebindingsResource, opts)) } diff --git a/kubernetes/typed/rbac/v1alpha1/fake/fake_role.go b/kubernetes/typed/rbac/v1alpha1/fake/fake_role.go index 5c3df069..511b2104 100644 --- a/kubernetes/typed/rbac/v1alpha1/fake/fake_role.go +++ b/kubernetes/typed/rbac/v1alpha1/fake/fake_role.go @@ -17,12 +17,11 @@ limitations under the License. package fake import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" - v1 "k8s.io/client-go/pkg/api/v1" v1alpha1 "k8s.io/client-go/pkg/apis/rbac/v1alpha1" testing "k8s.io/client-go/testing" ) @@ -62,14 +61,14 @@ func (c *FakeRoles) Delete(name string, options *v1.DeleteOptions) error { return err } -func (c *FakeRoles) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeRoles) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { action := testing.NewDeleteCollectionAction(rolesResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1alpha1.RoleList{}) return err } -func (c *FakeRoles) Get(name string, options meta_v1.GetOptions) (result *v1alpha1.Role, err error) { +func (c *FakeRoles) Get(name string, options v1.GetOptions) (result *v1alpha1.Role, err error) { obj, err := c.Fake. Invokes(testing.NewGetAction(rolesResource, c.ns, name), &v1alpha1.Role{}) @@ -79,7 +78,7 @@ func (c *FakeRoles) Get(name string, options meta_v1.GetOptions) (result *v1alph return obj.(*v1alpha1.Role), err } -func (c *FakeRoles) List(opts meta_v1.ListOptions) (result *v1alpha1.RoleList, err error) { +func (c *FakeRoles) List(opts v1.ListOptions) (result *v1alpha1.RoleList, err error) { obj, err := c.Fake. Invokes(testing.NewListAction(rolesResource, c.ns, opts), &v1alpha1.RoleList{}) @@ -101,7 +100,7 @@ func (c *FakeRoles) List(opts meta_v1.ListOptions) (result *v1alpha1.RoleList, e } // Watch returns a watch.Interface that watches the requested roles. -func (c *FakeRoles) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *FakeRoles) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewWatchAction(rolesResource, c.ns, opts)) diff --git a/kubernetes/typed/rbac/v1alpha1/fake/fake_rolebinding.go b/kubernetes/typed/rbac/v1alpha1/fake/fake_rolebinding.go index 6e854d73..85d6c7ed 100644 --- a/kubernetes/typed/rbac/v1alpha1/fake/fake_rolebinding.go +++ b/kubernetes/typed/rbac/v1alpha1/fake/fake_rolebinding.go @@ -17,12 +17,11 @@ limitations under the License. package fake import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" - v1 "k8s.io/client-go/pkg/api/v1" v1alpha1 "k8s.io/client-go/pkg/apis/rbac/v1alpha1" testing "k8s.io/client-go/testing" ) @@ -62,14 +61,14 @@ func (c *FakeRoleBindings) Delete(name string, options *v1.DeleteOptions) error return err } -func (c *FakeRoleBindings) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeRoleBindings) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { action := testing.NewDeleteCollectionAction(rolebindingsResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1alpha1.RoleBindingList{}) return err } -func (c *FakeRoleBindings) Get(name string, options meta_v1.GetOptions) (result *v1alpha1.RoleBinding, err error) { +func (c *FakeRoleBindings) Get(name string, options v1.GetOptions) (result *v1alpha1.RoleBinding, err error) { obj, err := c.Fake. Invokes(testing.NewGetAction(rolebindingsResource, c.ns, name), &v1alpha1.RoleBinding{}) @@ -79,7 +78,7 @@ func (c *FakeRoleBindings) Get(name string, options meta_v1.GetOptions) (result return obj.(*v1alpha1.RoleBinding), err } -func (c *FakeRoleBindings) List(opts meta_v1.ListOptions) (result *v1alpha1.RoleBindingList, err error) { +func (c *FakeRoleBindings) List(opts v1.ListOptions) (result *v1alpha1.RoleBindingList, err error) { obj, err := c.Fake. Invokes(testing.NewListAction(rolebindingsResource, c.ns, opts), &v1alpha1.RoleBindingList{}) @@ -101,7 +100,7 @@ func (c *FakeRoleBindings) List(opts meta_v1.ListOptions) (result *v1alpha1.Role } // Watch returns a watch.Interface that watches the requested roleBindings. -func (c *FakeRoleBindings) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *FakeRoleBindings) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewWatchAction(rolebindingsResource, c.ns, opts)) diff --git a/kubernetes/typed/rbac/v1alpha1/role.go b/kubernetes/typed/rbac/v1alpha1/role.go index ba2dbadc..c1a5a75c 100644 --- a/kubernetes/typed/rbac/v1alpha1/role.go +++ b/kubernetes/typed/rbac/v1alpha1/role.go @@ -17,11 +17,10 @@ limitations under the License. package v1alpha1 import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/client-go/pkg/api" - v1 "k8s.io/client-go/pkg/api/v1" v1alpha1 "k8s.io/client-go/pkg/apis/rbac/v1alpha1" rest "k8s.io/client-go/rest" ) @@ -37,10 +36,10 @@ type RoleInterface interface { Create(*v1alpha1.Role) (*v1alpha1.Role, error) Update(*v1alpha1.Role) (*v1alpha1.Role, error) Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error - Get(name string, options meta_v1.GetOptions) (*v1alpha1.Role, error) - List(opts meta_v1.ListOptions) (*v1alpha1.RoleList, error) - Watch(opts meta_v1.ListOptions) (watch.Interface, error) + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v1alpha1.Role, error) + List(opts v1.ListOptions) (*v1alpha1.RoleList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.Role, err error) RoleExpansion } @@ -96,7 +95,7 @@ func (c *roles) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *roles) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *roles) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("roles"). @@ -107,7 +106,7 @@ func (c *roles) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1. } // Get takes name of the role, and returns the corresponding role object, and an error if there is any. -func (c *roles) Get(name string, options meta_v1.GetOptions) (result *v1alpha1.Role, err error) { +func (c *roles) Get(name string, options v1.GetOptions) (result *v1alpha1.Role, err error) { result = &v1alpha1.Role{} err = c.client.Get(). Namespace(c.ns). @@ -120,7 +119,7 @@ func (c *roles) Get(name string, options meta_v1.GetOptions) (result *v1alpha1.R } // List takes label and field selectors, and returns the list of Roles that match those selectors. -func (c *roles) List(opts meta_v1.ListOptions) (result *v1alpha1.RoleList, err error) { +func (c *roles) List(opts v1.ListOptions) (result *v1alpha1.RoleList, err error) { result = &v1alpha1.RoleList{} err = c.client.Get(). Namespace(c.ns). @@ -132,7 +131,7 @@ func (c *roles) List(opts meta_v1.ListOptions) (result *v1alpha1.RoleList, err e } // Watch returns a watch.Interface that watches the requested roles. -func (c *roles) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *roles) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.client.Get(). Prefix("watch"). Namespace(c.ns). diff --git a/kubernetes/typed/rbac/v1alpha1/rolebinding.go b/kubernetes/typed/rbac/v1alpha1/rolebinding.go index 20fc4778..fa629494 100644 --- a/kubernetes/typed/rbac/v1alpha1/rolebinding.go +++ b/kubernetes/typed/rbac/v1alpha1/rolebinding.go @@ -17,11 +17,10 @@ limitations under the License. package v1alpha1 import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/client-go/pkg/api" - v1 "k8s.io/client-go/pkg/api/v1" v1alpha1 "k8s.io/client-go/pkg/apis/rbac/v1alpha1" rest "k8s.io/client-go/rest" ) @@ -37,10 +36,10 @@ type RoleBindingInterface interface { Create(*v1alpha1.RoleBinding) (*v1alpha1.RoleBinding, error) Update(*v1alpha1.RoleBinding) (*v1alpha1.RoleBinding, error) Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error - Get(name string, options meta_v1.GetOptions) (*v1alpha1.RoleBinding, error) - List(opts meta_v1.ListOptions) (*v1alpha1.RoleBindingList, error) - Watch(opts meta_v1.ListOptions) (watch.Interface, error) + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v1alpha1.RoleBinding, error) + List(opts v1.ListOptions) (*v1alpha1.RoleBindingList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.RoleBinding, err error) RoleBindingExpansion } @@ -96,7 +95,7 @@ func (c *roleBindings) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *roleBindings) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *roleBindings) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("rolebindings"). @@ -107,7 +106,7 @@ func (c *roleBindings) DeleteCollection(options *v1.DeleteOptions, listOptions m } // Get takes name of the roleBinding, and returns the corresponding roleBinding object, and an error if there is any. -func (c *roleBindings) Get(name string, options meta_v1.GetOptions) (result *v1alpha1.RoleBinding, err error) { +func (c *roleBindings) Get(name string, options v1.GetOptions) (result *v1alpha1.RoleBinding, err error) { result = &v1alpha1.RoleBinding{} err = c.client.Get(). Namespace(c.ns). @@ -120,7 +119,7 @@ func (c *roleBindings) Get(name string, options meta_v1.GetOptions) (result *v1a } // List takes label and field selectors, and returns the list of RoleBindings that match those selectors. -func (c *roleBindings) List(opts meta_v1.ListOptions) (result *v1alpha1.RoleBindingList, err error) { +func (c *roleBindings) List(opts v1.ListOptions) (result *v1alpha1.RoleBindingList, err error) { result = &v1alpha1.RoleBindingList{} err = c.client.Get(). Namespace(c.ns). @@ -132,7 +131,7 @@ func (c *roleBindings) List(opts meta_v1.ListOptions) (result *v1alpha1.RoleBind } // Watch returns a watch.Interface that watches the requested roleBindings. -func (c *roleBindings) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *roleBindings) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.client.Get(). Prefix("watch"). Namespace(c.ns). diff --git a/kubernetes/typed/rbac/v1beta1/clusterrole.go b/kubernetes/typed/rbac/v1beta1/clusterrole.go index 0f10a6ec..1eb0e76c 100644 --- a/kubernetes/typed/rbac/v1beta1/clusterrole.go +++ b/kubernetes/typed/rbac/v1beta1/clusterrole.go @@ -17,11 +17,10 @@ limitations under the License. package v1beta1 import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/client-go/pkg/api" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/rbac/v1beta1" rest "k8s.io/client-go/rest" ) @@ -37,10 +36,10 @@ type ClusterRoleInterface interface { Create(*v1beta1.ClusterRole) (*v1beta1.ClusterRole, error) Update(*v1beta1.ClusterRole) (*v1beta1.ClusterRole, error) Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error - Get(name string, options meta_v1.GetOptions) (*v1beta1.ClusterRole, error) - List(opts meta_v1.ListOptions) (*v1beta1.ClusterRoleList, error) - Watch(opts meta_v1.ListOptions) (watch.Interface, error) + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v1beta1.ClusterRole, error) + List(opts v1.ListOptions) (*v1beta1.ClusterRoleList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.ClusterRole, err error) ClusterRoleExpansion } @@ -91,7 +90,7 @@ func (c *clusterRoles) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *clusterRoles) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *clusterRoles) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { return c.client.Delete(). Resource("clusterroles"). VersionedParams(&listOptions, api.ParameterCodec). @@ -101,7 +100,7 @@ func (c *clusterRoles) DeleteCollection(options *v1.DeleteOptions, listOptions m } // Get takes name of the clusterRole, and returns the corresponding clusterRole object, and an error if there is any. -func (c *clusterRoles) Get(name string, options meta_v1.GetOptions) (result *v1beta1.ClusterRole, err error) { +func (c *clusterRoles) Get(name string, options v1.GetOptions) (result *v1beta1.ClusterRole, err error) { result = &v1beta1.ClusterRole{} err = c.client.Get(). Resource("clusterroles"). @@ -113,7 +112,7 @@ func (c *clusterRoles) Get(name string, options meta_v1.GetOptions) (result *v1b } // List takes label and field selectors, and returns the list of ClusterRoles that match those selectors. -func (c *clusterRoles) List(opts meta_v1.ListOptions) (result *v1beta1.ClusterRoleList, err error) { +func (c *clusterRoles) List(opts v1.ListOptions) (result *v1beta1.ClusterRoleList, err error) { result = &v1beta1.ClusterRoleList{} err = c.client.Get(). Resource("clusterroles"). @@ -124,7 +123,7 @@ func (c *clusterRoles) List(opts meta_v1.ListOptions) (result *v1beta1.ClusterRo } // Watch returns a watch.Interface that watches the requested clusterRoles. -func (c *clusterRoles) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *clusterRoles) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.client.Get(). Prefix("watch"). Resource("clusterroles"). diff --git a/kubernetes/typed/rbac/v1beta1/clusterrolebinding.go b/kubernetes/typed/rbac/v1beta1/clusterrolebinding.go index f6d03d7d..c7a58ef5 100644 --- a/kubernetes/typed/rbac/v1beta1/clusterrolebinding.go +++ b/kubernetes/typed/rbac/v1beta1/clusterrolebinding.go @@ -17,11 +17,10 @@ limitations under the License. package v1beta1 import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/client-go/pkg/api" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/rbac/v1beta1" rest "k8s.io/client-go/rest" ) @@ -37,10 +36,10 @@ type ClusterRoleBindingInterface interface { Create(*v1beta1.ClusterRoleBinding) (*v1beta1.ClusterRoleBinding, error) Update(*v1beta1.ClusterRoleBinding) (*v1beta1.ClusterRoleBinding, error) Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error - Get(name string, options meta_v1.GetOptions) (*v1beta1.ClusterRoleBinding, error) - List(opts meta_v1.ListOptions) (*v1beta1.ClusterRoleBindingList, error) - Watch(opts meta_v1.ListOptions) (watch.Interface, error) + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v1beta1.ClusterRoleBinding, error) + List(opts v1.ListOptions) (*v1beta1.ClusterRoleBindingList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.ClusterRoleBinding, err error) ClusterRoleBindingExpansion } @@ -91,7 +90,7 @@ func (c *clusterRoleBindings) Delete(name string, options *v1.DeleteOptions) err } // DeleteCollection deletes a collection of objects. -func (c *clusterRoleBindings) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *clusterRoleBindings) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { return c.client.Delete(). Resource("clusterrolebindings"). VersionedParams(&listOptions, api.ParameterCodec). @@ -101,7 +100,7 @@ func (c *clusterRoleBindings) DeleteCollection(options *v1.DeleteOptions, listOp } // Get takes name of the clusterRoleBinding, and returns the corresponding clusterRoleBinding object, and an error if there is any. -func (c *clusterRoleBindings) Get(name string, options meta_v1.GetOptions) (result *v1beta1.ClusterRoleBinding, err error) { +func (c *clusterRoleBindings) Get(name string, options v1.GetOptions) (result *v1beta1.ClusterRoleBinding, err error) { result = &v1beta1.ClusterRoleBinding{} err = c.client.Get(). Resource("clusterrolebindings"). @@ -113,7 +112,7 @@ func (c *clusterRoleBindings) Get(name string, options meta_v1.GetOptions) (resu } // List takes label and field selectors, and returns the list of ClusterRoleBindings that match those selectors. -func (c *clusterRoleBindings) List(opts meta_v1.ListOptions) (result *v1beta1.ClusterRoleBindingList, err error) { +func (c *clusterRoleBindings) List(opts v1.ListOptions) (result *v1beta1.ClusterRoleBindingList, err error) { result = &v1beta1.ClusterRoleBindingList{} err = c.client.Get(). Resource("clusterrolebindings"). @@ -124,7 +123,7 @@ func (c *clusterRoleBindings) List(opts meta_v1.ListOptions) (result *v1beta1.Cl } // Watch returns a watch.Interface that watches the requested clusterRoleBindings. -func (c *clusterRoleBindings) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *clusterRoleBindings) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.client.Get(). Prefix("watch"). Resource("clusterrolebindings"). diff --git a/kubernetes/typed/rbac/v1beta1/fake/fake_clusterrole.go b/kubernetes/typed/rbac/v1beta1/fake/fake_clusterrole.go index de0a67c9..25e04d15 100644 --- a/kubernetes/typed/rbac/v1beta1/fake/fake_clusterrole.go +++ b/kubernetes/typed/rbac/v1beta1/fake/fake_clusterrole.go @@ -17,12 +17,11 @@ limitations under the License. package fake import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/rbac/v1beta1" testing "k8s.io/client-go/testing" ) @@ -58,14 +57,14 @@ func (c *FakeClusterRoles) Delete(name string, options *v1.DeleteOptions) error return err } -func (c *FakeClusterRoles) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeClusterRoles) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { action := testing.NewRootDeleteCollectionAction(clusterrolesResource, listOptions) _, err := c.Fake.Invokes(action, &v1beta1.ClusterRoleList{}) return err } -func (c *FakeClusterRoles) Get(name string, options meta_v1.GetOptions) (result *v1beta1.ClusterRole, err error) { +func (c *FakeClusterRoles) Get(name string, options v1.GetOptions) (result *v1beta1.ClusterRole, err error) { obj, err := c.Fake. Invokes(testing.NewRootGetAction(clusterrolesResource, name), &v1beta1.ClusterRole{}) if obj == nil { @@ -74,7 +73,7 @@ func (c *FakeClusterRoles) Get(name string, options meta_v1.GetOptions) (result return obj.(*v1beta1.ClusterRole), err } -func (c *FakeClusterRoles) List(opts meta_v1.ListOptions) (result *v1beta1.ClusterRoleList, err error) { +func (c *FakeClusterRoles) List(opts v1.ListOptions) (result *v1beta1.ClusterRoleList, err error) { obj, err := c.Fake. Invokes(testing.NewRootListAction(clusterrolesResource, opts), &v1beta1.ClusterRoleList{}) if obj == nil { @@ -95,7 +94,7 @@ func (c *FakeClusterRoles) List(opts meta_v1.ListOptions) (result *v1beta1.Clust } // Watch returns a watch.Interface that watches the requested clusterRoles. -func (c *FakeClusterRoles) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *FakeClusterRoles) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewRootWatchAction(clusterrolesResource, opts)) } diff --git a/kubernetes/typed/rbac/v1beta1/fake/fake_clusterrolebinding.go b/kubernetes/typed/rbac/v1beta1/fake/fake_clusterrolebinding.go index 3ad5f479..38fb39c8 100644 --- a/kubernetes/typed/rbac/v1beta1/fake/fake_clusterrolebinding.go +++ b/kubernetes/typed/rbac/v1beta1/fake/fake_clusterrolebinding.go @@ -17,12 +17,11 @@ limitations under the License. package fake import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/rbac/v1beta1" testing "k8s.io/client-go/testing" ) @@ -58,14 +57,14 @@ func (c *FakeClusterRoleBindings) Delete(name string, options *v1.DeleteOptions) return err } -func (c *FakeClusterRoleBindings) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeClusterRoleBindings) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { action := testing.NewRootDeleteCollectionAction(clusterrolebindingsResource, listOptions) _, err := c.Fake.Invokes(action, &v1beta1.ClusterRoleBindingList{}) return err } -func (c *FakeClusterRoleBindings) Get(name string, options meta_v1.GetOptions) (result *v1beta1.ClusterRoleBinding, err error) { +func (c *FakeClusterRoleBindings) Get(name string, options v1.GetOptions) (result *v1beta1.ClusterRoleBinding, err error) { obj, err := c.Fake. Invokes(testing.NewRootGetAction(clusterrolebindingsResource, name), &v1beta1.ClusterRoleBinding{}) if obj == nil { @@ -74,7 +73,7 @@ func (c *FakeClusterRoleBindings) Get(name string, options meta_v1.GetOptions) ( return obj.(*v1beta1.ClusterRoleBinding), err } -func (c *FakeClusterRoleBindings) List(opts meta_v1.ListOptions) (result *v1beta1.ClusterRoleBindingList, err error) { +func (c *FakeClusterRoleBindings) List(opts v1.ListOptions) (result *v1beta1.ClusterRoleBindingList, err error) { obj, err := c.Fake. Invokes(testing.NewRootListAction(clusterrolebindingsResource, opts), &v1beta1.ClusterRoleBindingList{}) if obj == nil { @@ -95,7 +94,7 @@ func (c *FakeClusterRoleBindings) List(opts meta_v1.ListOptions) (result *v1beta } // Watch returns a watch.Interface that watches the requested clusterRoleBindings. -func (c *FakeClusterRoleBindings) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *FakeClusterRoleBindings) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewRootWatchAction(clusterrolebindingsResource, opts)) } diff --git a/kubernetes/typed/rbac/v1beta1/fake/fake_role.go b/kubernetes/typed/rbac/v1beta1/fake/fake_role.go index b9581247..fd763761 100644 --- a/kubernetes/typed/rbac/v1beta1/fake/fake_role.go +++ b/kubernetes/typed/rbac/v1beta1/fake/fake_role.go @@ -17,12 +17,11 @@ limitations under the License. package fake import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/rbac/v1beta1" testing "k8s.io/client-go/testing" ) @@ -62,14 +61,14 @@ func (c *FakeRoles) Delete(name string, options *v1.DeleteOptions) error { return err } -func (c *FakeRoles) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeRoles) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { action := testing.NewDeleteCollectionAction(rolesResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1beta1.RoleList{}) return err } -func (c *FakeRoles) Get(name string, options meta_v1.GetOptions) (result *v1beta1.Role, err error) { +func (c *FakeRoles) Get(name string, options v1.GetOptions) (result *v1beta1.Role, err error) { obj, err := c.Fake. Invokes(testing.NewGetAction(rolesResource, c.ns, name), &v1beta1.Role{}) @@ -79,7 +78,7 @@ func (c *FakeRoles) Get(name string, options meta_v1.GetOptions) (result *v1beta return obj.(*v1beta1.Role), err } -func (c *FakeRoles) List(opts meta_v1.ListOptions) (result *v1beta1.RoleList, err error) { +func (c *FakeRoles) List(opts v1.ListOptions) (result *v1beta1.RoleList, err error) { obj, err := c.Fake. Invokes(testing.NewListAction(rolesResource, c.ns, opts), &v1beta1.RoleList{}) @@ -101,7 +100,7 @@ func (c *FakeRoles) List(opts meta_v1.ListOptions) (result *v1beta1.RoleList, er } // Watch returns a watch.Interface that watches the requested roles. -func (c *FakeRoles) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *FakeRoles) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewWatchAction(rolesResource, c.ns, opts)) diff --git a/kubernetes/typed/rbac/v1beta1/fake/fake_rolebinding.go b/kubernetes/typed/rbac/v1beta1/fake/fake_rolebinding.go index c7a96d10..5e55996f 100644 --- a/kubernetes/typed/rbac/v1beta1/fake/fake_rolebinding.go +++ b/kubernetes/typed/rbac/v1beta1/fake/fake_rolebinding.go @@ -17,12 +17,11 @@ limitations under the License. package fake import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/rbac/v1beta1" testing "k8s.io/client-go/testing" ) @@ -62,14 +61,14 @@ func (c *FakeRoleBindings) Delete(name string, options *v1.DeleteOptions) error return err } -func (c *FakeRoleBindings) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeRoleBindings) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { action := testing.NewDeleteCollectionAction(rolebindingsResource, c.ns, listOptions) _, err := c.Fake.Invokes(action, &v1beta1.RoleBindingList{}) return err } -func (c *FakeRoleBindings) Get(name string, options meta_v1.GetOptions) (result *v1beta1.RoleBinding, err error) { +func (c *FakeRoleBindings) Get(name string, options v1.GetOptions) (result *v1beta1.RoleBinding, err error) { obj, err := c.Fake. Invokes(testing.NewGetAction(rolebindingsResource, c.ns, name), &v1beta1.RoleBinding{}) @@ -79,7 +78,7 @@ func (c *FakeRoleBindings) Get(name string, options meta_v1.GetOptions) (result return obj.(*v1beta1.RoleBinding), err } -func (c *FakeRoleBindings) List(opts meta_v1.ListOptions) (result *v1beta1.RoleBindingList, err error) { +func (c *FakeRoleBindings) List(opts v1.ListOptions) (result *v1beta1.RoleBindingList, err error) { obj, err := c.Fake. Invokes(testing.NewListAction(rolebindingsResource, c.ns, opts), &v1beta1.RoleBindingList{}) @@ -101,7 +100,7 @@ func (c *FakeRoleBindings) List(opts meta_v1.ListOptions) (result *v1beta1.RoleB } // Watch returns a watch.Interface that watches the requested roleBindings. -func (c *FakeRoleBindings) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *FakeRoleBindings) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewWatchAction(rolebindingsResource, c.ns, opts)) diff --git a/kubernetes/typed/rbac/v1beta1/role.go b/kubernetes/typed/rbac/v1beta1/role.go index ccab602b..e1c92c39 100644 --- a/kubernetes/typed/rbac/v1beta1/role.go +++ b/kubernetes/typed/rbac/v1beta1/role.go @@ -17,11 +17,10 @@ limitations under the License. package v1beta1 import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/client-go/pkg/api" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/rbac/v1beta1" rest "k8s.io/client-go/rest" ) @@ -37,10 +36,10 @@ type RoleInterface interface { Create(*v1beta1.Role) (*v1beta1.Role, error) Update(*v1beta1.Role) (*v1beta1.Role, error) Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error - Get(name string, options meta_v1.GetOptions) (*v1beta1.Role, error) - List(opts meta_v1.ListOptions) (*v1beta1.RoleList, error) - Watch(opts meta_v1.ListOptions) (watch.Interface, error) + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v1beta1.Role, error) + List(opts v1.ListOptions) (*v1beta1.RoleList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.Role, err error) RoleExpansion } @@ -96,7 +95,7 @@ func (c *roles) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *roles) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *roles) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("roles"). @@ -107,7 +106,7 @@ func (c *roles) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1. } // Get takes name of the role, and returns the corresponding role object, and an error if there is any. -func (c *roles) Get(name string, options meta_v1.GetOptions) (result *v1beta1.Role, err error) { +func (c *roles) Get(name string, options v1.GetOptions) (result *v1beta1.Role, err error) { result = &v1beta1.Role{} err = c.client.Get(). Namespace(c.ns). @@ -120,7 +119,7 @@ func (c *roles) Get(name string, options meta_v1.GetOptions) (result *v1beta1.Ro } // List takes label and field selectors, and returns the list of Roles that match those selectors. -func (c *roles) List(opts meta_v1.ListOptions) (result *v1beta1.RoleList, err error) { +func (c *roles) List(opts v1.ListOptions) (result *v1beta1.RoleList, err error) { result = &v1beta1.RoleList{} err = c.client.Get(). Namespace(c.ns). @@ -132,7 +131,7 @@ func (c *roles) List(opts meta_v1.ListOptions) (result *v1beta1.RoleList, err er } // Watch returns a watch.Interface that watches the requested roles. -func (c *roles) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *roles) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.client.Get(). Prefix("watch"). Namespace(c.ns). diff --git a/kubernetes/typed/rbac/v1beta1/rolebinding.go b/kubernetes/typed/rbac/v1beta1/rolebinding.go index f75460e3..027f51e9 100644 --- a/kubernetes/typed/rbac/v1beta1/rolebinding.go +++ b/kubernetes/typed/rbac/v1beta1/rolebinding.go @@ -17,11 +17,10 @@ limitations under the License. package v1beta1 import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/client-go/pkg/api" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/rbac/v1beta1" rest "k8s.io/client-go/rest" ) @@ -37,10 +36,10 @@ type RoleBindingInterface interface { Create(*v1beta1.RoleBinding) (*v1beta1.RoleBinding, error) Update(*v1beta1.RoleBinding) (*v1beta1.RoleBinding, error) Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error - Get(name string, options meta_v1.GetOptions) (*v1beta1.RoleBinding, error) - List(opts meta_v1.ListOptions) (*v1beta1.RoleBindingList, error) - Watch(opts meta_v1.ListOptions) (watch.Interface, error) + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v1beta1.RoleBinding, error) + List(opts v1.ListOptions) (*v1beta1.RoleBindingList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.RoleBinding, err error) RoleBindingExpansion } @@ -96,7 +95,7 @@ func (c *roleBindings) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *roleBindings) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *roleBindings) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { return c.client.Delete(). Namespace(c.ns). Resource("rolebindings"). @@ -107,7 +106,7 @@ func (c *roleBindings) DeleteCollection(options *v1.DeleteOptions, listOptions m } // Get takes name of the roleBinding, and returns the corresponding roleBinding object, and an error if there is any. -func (c *roleBindings) Get(name string, options meta_v1.GetOptions) (result *v1beta1.RoleBinding, err error) { +func (c *roleBindings) Get(name string, options v1.GetOptions) (result *v1beta1.RoleBinding, err error) { result = &v1beta1.RoleBinding{} err = c.client.Get(). Namespace(c.ns). @@ -120,7 +119,7 @@ func (c *roleBindings) Get(name string, options meta_v1.GetOptions) (result *v1b } // List takes label and field selectors, and returns the list of RoleBindings that match those selectors. -func (c *roleBindings) List(opts meta_v1.ListOptions) (result *v1beta1.RoleBindingList, err error) { +func (c *roleBindings) List(opts v1.ListOptions) (result *v1beta1.RoleBindingList, err error) { result = &v1beta1.RoleBindingList{} err = c.client.Get(). Namespace(c.ns). @@ -132,7 +131,7 @@ func (c *roleBindings) List(opts meta_v1.ListOptions) (result *v1beta1.RoleBindi } // Watch returns a watch.Interface that watches the requested roleBindings. -func (c *roleBindings) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *roleBindings) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.client.Get(). Prefix("watch"). Namespace(c.ns). diff --git a/kubernetes/typed/storage/v1beta1/fake/fake_storageclass.go b/kubernetes/typed/storage/v1beta1/fake/fake_storageclass.go index fb3f40d3..b8c937d4 100644 --- a/kubernetes/typed/storage/v1beta1/fake/fake_storageclass.go +++ b/kubernetes/typed/storage/v1beta1/fake/fake_storageclass.go @@ -17,12 +17,11 @@ limitations under the License. package fake import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/storage/v1beta1" testing "k8s.io/client-go/testing" ) @@ -58,14 +57,14 @@ func (c *FakeStorageClasses) Delete(name string, options *v1.DeleteOptions) erro return err } -func (c *FakeStorageClasses) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *FakeStorageClasses) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { action := testing.NewRootDeleteCollectionAction(storageclassesResource, listOptions) _, err := c.Fake.Invokes(action, &v1beta1.StorageClassList{}) return err } -func (c *FakeStorageClasses) Get(name string, options meta_v1.GetOptions) (result *v1beta1.StorageClass, err error) { +func (c *FakeStorageClasses) Get(name string, options v1.GetOptions) (result *v1beta1.StorageClass, err error) { obj, err := c.Fake. Invokes(testing.NewRootGetAction(storageclassesResource, name), &v1beta1.StorageClass{}) if obj == nil { @@ -74,7 +73,7 @@ func (c *FakeStorageClasses) Get(name string, options meta_v1.GetOptions) (resul return obj.(*v1beta1.StorageClass), err } -func (c *FakeStorageClasses) List(opts meta_v1.ListOptions) (result *v1beta1.StorageClassList, err error) { +func (c *FakeStorageClasses) List(opts v1.ListOptions) (result *v1beta1.StorageClassList, err error) { obj, err := c.Fake. Invokes(testing.NewRootListAction(storageclassesResource, opts), &v1beta1.StorageClassList{}) if obj == nil { @@ -95,7 +94,7 @@ func (c *FakeStorageClasses) List(opts meta_v1.ListOptions) (result *v1beta1.Sto } // Watch returns a watch.Interface that watches the requested storageClasses. -func (c *FakeStorageClasses) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *FakeStorageClasses) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewRootWatchAction(storageclassesResource, opts)) } diff --git a/kubernetes/typed/storage/v1beta1/storageclass.go b/kubernetes/typed/storage/v1beta1/storageclass.go index 4436a8ac..9d276be4 100644 --- a/kubernetes/typed/storage/v1beta1/storageclass.go +++ b/kubernetes/typed/storage/v1beta1/storageclass.go @@ -17,11 +17,10 @@ limitations under the License. package v1beta1 import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/client-go/pkg/api" - v1 "k8s.io/client-go/pkg/api/v1" v1beta1 "k8s.io/client-go/pkg/apis/storage/v1beta1" rest "k8s.io/client-go/rest" ) @@ -37,10 +36,10 @@ type StorageClassInterface interface { Create(*v1beta1.StorageClass) (*v1beta1.StorageClass, error) Update(*v1beta1.StorageClass) (*v1beta1.StorageClass, error) Delete(name string, options *v1.DeleteOptions) error - DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error - Get(name string, options meta_v1.GetOptions) (*v1beta1.StorageClass, error) - List(opts meta_v1.ListOptions) (*v1beta1.StorageClassList, error) - Watch(opts meta_v1.ListOptions) (watch.Interface, error) + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v1beta1.StorageClass, error) + List(opts v1.ListOptions) (*v1beta1.StorageClassList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.StorageClass, err error) StorageClassExpansion } @@ -91,7 +90,7 @@ func (c *storageClasses) Delete(name string, options *v1.DeleteOptions) error { } // DeleteCollection deletes a collection of objects. -func (c *storageClasses) DeleteCollection(options *v1.DeleteOptions, listOptions meta_v1.ListOptions) error { +func (c *storageClasses) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { return c.client.Delete(). Resource("storageclasses"). VersionedParams(&listOptions, api.ParameterCodec). @@ -101,7 +100,7 @@ func (c *storageClasses) DeleteCollection(options *v1.DeleteOptions, listOptions } // Get takes name of the storageClass, and returns the corresponding storageClass object, and an error if there is any. -func (c *storageClasses) Get(name string, options meta_v1.GetOptions) (result *v1beta1.StorageClass, err error) { +func (c *storageClasses) Get(name string, options v1.GetOptions) (result *v1beta1.StorageClass, err error) { result = &v1beta1.StorageClass{} err = c.client.Get(). Resource("storageclasses"). @@ -113,7 +112,7 @@ func (c *storageClasses) Get(name string, options meta_v1.GetOptions) (result *v } // List takes label and field selectors, and returns the list of StorageClasses that match those selectors. -func (c *storageClasses) List(opts meta_v1.ListOptions) (result *v1beta1.StorageClassList, err error) { +func (c *storageClasses) List(opts v1.ListOptions) (result *v1beta1.StorageClassList, err error) { result = &v1beta1.StorageClassList{} err = c.client.Get(). Resource("storageclasses"). @@ -124,7 +123,7 @@ func (c *storageClasses) List(opts meta_v1.ListOptions) (result *v1beta1.Storage } // Watch returns a watch.Interface that watches the requested storageClasses. -func (c *storageClasses) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { +func (c *storageClasses) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.client.Get(). Prefix("watch"). Resource("storageclasses"). diff --git a/pkg/api/helpers.go b/pkg/api/helpers.go index d0c2dd0e..943ed0af 100644 --- a/pkg/api/helpers.go +++ b/pkg/api/helpers.go @@ -31,7 +31,6 @@ import ( "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/selection" - "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/sets" "k8s.io/client-go/pkg/api/resource" ) @@ -228,27 +227,6 @@ func IsIntegerResourceName(str string) bool { return integerResources.Has(str) || IsOpaqueIntResourceName(ResourceName(str)) } -// NewDeleteOptions returns a DeleteOptions indicating the resource should -// be deleted within the specified grace period. Use zero to indicate -// immediate deletion. If you would prefer to use the default grace period, -// use &api.DeleteOptions{} directly. -func NewDeleteOptions(grace int64) *DeleteOptions { - return &DeleteOptions{GracePeriodSeconds: &grace} -} - -// NewPreconditionDeleteOptions returns a DeleteOptions with a UID precondition set. -func NewPreconditionDeleteOptions(uid string) *DeleteOptions { - u := types.UID(uid) - p := Preconditions{UID: &u} - return &DeleteOptions{Preconditions: &p} -} - -// NewUIDPreconditions returns a Preconditions with UID set. -func NewUIDPreconditions(uid string) *Preconditions { - u := types.UID(uid) - return &Preconditions{UID: &u} -} - // this function aims to check if the service's ClusterIP is set or not // the objective is not to perform validation here func IsServiceIPSet(service *Service) bool { @@ -451,10 +429,6 @@ func NodeSelectorRequirementsAsSelector(nsm []NodeSelectorRequirement) (labels.S } const ( - // AffinityAnnotationKey represents the key of affinity data (json serialized) - // in the Annotations of a Pod. - AffinityAnnotationKey string = "scheduler.alpha.kubernetes.io/affinity" - // TolerationsAnnotationKey represents the key of tolerations data (json serialized) // in the Annotations of a Pod. TolerationsAnnotationKey string = "scheduler.alpha.kubernetes.io/tolerations" diff --git a/pkg/api/register.go b/pkg/api/register.go index 0e0809c7..e9d9b414 100644 --- a/pkg/api/register.go +++ b/pkg/api/register.go @@ -124,8 +124,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { &PersistentVolumeList{}, &PersistentVolumeClaim{}, &PersistentVolumeClaimList{}, - &DeleteOptions{}, - &ListOptions{}, &PodAttachOptions{}, &PodLogOptions{}, &PodExecOptions{}, diff --git a/pkg/api/types.go b/pkg/api/types.go index fdae0968..d35c75e1 100644 --- a/pkg/api/types.go +++ b/pkg/api/types.go @@ -729,8 +729,8 @@ type SecretVolumeSource struct { // key and content is the value. If specified, the listed keys will be // projected into the specified paths, and unlisted keys will not be // present. If a key is specified which is not present in the Secret, - // the volume setup will error. Paths must be relative and may not contain - // the '..' path or start with '..'. + // the volume setup will error unless it is marked optional. Paths must be + // relative and may not contain the '..' path or start with '..'. // +optional Items []KeyToPath // Mode bits to use on created files by default. Must be a value between @@ -740,6 +740,9 @@ type SecretVolumeSource struct { // mode, like fsGroup, and the result can be other mode bits set. // +optional DefaultMode *int32 + // Specify whether the Secret or it's key must be defined + // +optional + Optional *bool } // Represents an NFS mount that lasts the lifetime of a pod. @@ -992,8 +995,8 @@ type ConfigMapVolumeSource struct { // key and content is the value. If specified, the listed keys will be // projected into the specified paths, and unlisted keys will not be // present. If a key is specified which is not present in the ConfigMap, - // the volume setup will error. Paths must be relative and may not contain - // the '..' path or start with '..'. + // the volume setup will error unless it is marked optional. Paths must be + // relative and may not contain the '..' path or start with '..'. // +optional Items []KeyToPath // Mode bits to use on created files by default. Must be a value between @@ -1003,6 +1006,9 @@ type ConfigMapVolumeSource struct { // mode, like fsGroup, and the result can be other mode bits set. // +optional DefaultMode *int32 + // Specify whether the ConfigMap or it's keys must be defined + // +optional + Optional *bool } // Maps a string key to a path within a volume. @@ -1124,6 +1130,9 @@ type ConfigMapKeySelector struct { LocalObjectReference // The key to select. Key string + // Specify whether the ConfigMap or it's key must be defined + // +optional + Optional *bool } // SecretKeySelector selects a key of a Secret. @@ -1132,6 +1141,9 @@ type SecretKeySelector struct { LocalObjectReference // The key of the secret to select from. Must be a valid secret key. Key string + // Specify whether the Secret or it's key must be defined + // +optional + Optional *bool } // EnvFromSource represents the source of a set of ConfigMaps @@ -1155,6 +1167,9 @@ type EnvFromSource struct { type ConfigMapEnvSource struct { // The ConfigMap to select from. LocalObjectReference + // Specify whether the ConfigMap must be defined + // +optional + Optional *bool } // SecretEnvSource selects a Secret to populate the environment @@ -1165,6 +1180,9 @@ type ConfigMapEnvSource struct { type SecretEnvSource struct { // The Secret to select from. LocalObjectReference + // Specify whether the Secret must be defined + // +optional + Optional *bool } // HTTPHeader describes a custom header to be used in HTTP probes @@ -2845,6 +2863,7 @@ type Preconditions struct { } // DeleteOptions may be provided when deleting an API object +// DEPRECATED: This type has been moved to meta/v1 and will be removed soon. type DeleteOptions struct { metav1.TypeMeta diff --git a/pkg/api/v1/generated.pb.go b/pkg/api/v1/generated.pb.go index 8dd836ac..4e183f15 100644 --- a/pkg/api/v1/generated.pb.go +++ b/pkg/api/v1/generated.pb.go @@ -1628,6 +1628,16 @@ func (m *ConfigMapEnvSource) MarshalTo(data []byte) (int, error) { return 0, err } i += n10 + if m.Optional != nil { + data[i] = 0x10 + i++ + if *m.Optional { + data[i] = 1 + } else { + data[i] = 0 + } + i++ + } return i, nil } @@ -1658,6 +1668,16 @@ func (m *ConfigMapKeySelector) MarshalTo(data []byte) (int, error) { i++ i = encodeVarintGenerated(data, i, uint64(len(m.Key))) i += copy(data[i:], m.Key) + if m.Optional != nil { + data[i] = 0x18 + i++ + if *m.Optional { + data[i] = 1 + } else { + data[i] = 0 + } + i++ + } return i, nil } @@ -1739,6 +1759,16 @@ func (m *ConfigMapVolumeSource) MarshalTo(data []byte) (int, error) { i++ i = encodeVarintGenerated(data, i, uint64(*m.DefaultMode)) } + if m.Optional != nil { + data[i] = 0x20 + i++ + if *m.Optional { + data[i] = 1 + } else { + data[i] = 0 + } + i++ + } return i, nil } @@ -7309,6 +7339,16 @@ func (m *SecretEnvSource) MarshalTo(data []byte) (int, error) { return 0, err } i += n155 + if m.Optional != nil { + data[i] = 0x10 + i++ + if *m.Optional { + data[i] = 1 + } else { + data[i] = 0 + } + i++ + } return i, nil } @@ -7339,6 +7379,16 @@ func (m *SecretKeySelector) MarshalTo(data []byte) (int, error) { i++ i = encodeVarintGenerated(data, i, uint64(len(m.Key))) i += copy(data[i:], m.Key) + if m.Optional != nil { + data[i] = 0x18 + i++ + if *m.Optional { + data[i] = 1 + } else { + data[i] = 0 + } + i++ + } return i, nil } @@ -7416,6 +7466,16 @@ func (m *SecretVolumeSource) MarshalTo(data []byte) (int, error) { i++ i = encodeVarintGenerated(data, i, uint64(*m.DefaultMode)) } + if m.Optional != nil { + data[i] = 0x20 + i++ + if *m.Optional { + data[i] = 1 + } else { + data[i] = 0 + } + i++ + } return i, nil } @@ -8625,6 +8685,9 @@ func (m *ConfigMapEnvSource) Size() (n int) { _ = l l = m.LocalObjectReference.Size() n += 1 + l + sovGenerated(uint64(l)) + if m.Optional != nil { + n += 2 + } return n } @@ -8635,6 +8698,9 @@ func (m *ConfigMapKeySelector) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) l = len(m.Key) n += 1 + l + sovGenerated(uint64(l)) + if m.Optional != nil { + n += 2 + } return n } @@ -8666,6 +8732,9 @@ func (m *ConfigMapVolumeSource) Size() (n int) { if m.DefaultMode != nil { n += 1 + sovGenerated(uint64(*m.DefaultMode)) } + if m.Optional != nil { + n += 2 + } return n } @@ -10733,6 +10802,9 @@ func (m *SecretEnvSource) Size() (n int) { _ = l l = m.LocalObjectReference.Size() n += 1 + l + sovGenerated(uint64(l)) + if m.Optional != nil { + n += 2 + } return n } @@ -10743,6 +10815,9 @@ func (m *SecretKeySelector) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) l = len(m.Key) n += 1 + l + sovGenerated(uint64(l)) + if m.Optional != nil { + n += 2 + } return n } @@ -10774,6 +10849,9 @@ func (m *SecretVolumeSource) Size() (n int) { if m.DefaultMode != nil { n += 1 + sovGenerated(uint64(*m.DefaultMode)) } + if m.Optional != nil { + n += 2 + } return n } @@ -11329,6 +11407,7 @@ func (this *ConfigMapEnvSource) String() string { } s := strings.Join([]string{`&ConfigMapEnvSource{`, `LocalObjectReference:` + strings.Replace(strings.Replace(this.LocalObjectReference.String(), "LocalObjectReference", "LocalObjectReference", 1), `&`, ``, 1) + `,`, + `Optional:` + valueToStringGenerated(this.Optional) + `,`, `}`, }, "") return s @@ -11340,6 +11419,7 @@ func (this *ConfigMapKeySelector) String() string { s := strings.Join([]string{`&ConfigMapKeySelector{`, `LocalObjectReference:` + strings.Replace(strings.Replace(this.LocalObjectReference.String(), "LocalObjectReference", "LocalObjectReference", 1), `&`, ``, 1) + `,`, `Key:` + fmt.Sprintf("%v", this.Key) + `,`, + `Optional:` + valueToStringGenerated(this.Optional) + `,`, `}`, }, "") return s @@ -11363,6 +11443,7 @@ func (this *ConfigMapVolumeSource) String() string { `LocalObjectReference:` + strings.Replace(strings.Replace(this.LocalObjectReference.String(), "LocalObjectReference", "LocalObjectReference", 1), `&`, ``, 1) + `,`, `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "KeyToPath", "KeyToPath", 1), `&`, ``, 1) + `,`, `DefaultMode:` + valueToStringGenerated(this.DefaultMode) + `,`, + `Optional:` + valueToStringGenerated(this.Optional) + `,`, `}`, }, "") return s @@ -13105,6 +13186,7 @@ func (this *SecretEnvSource) String() string { } s := strings.Join([]string{`&SecretEnvSource{`, `LocalObjectReference:` + strings.Replace(strings.Replace(this.LocalObjectReference.String(), "LocalObjectReference", "LocalObjectReference", 1), `&`, ``, 1) + `,`, + `Optional:` + valueToStringGenerated(this.Optional) + `,`, `}`, }, "") return s @@ -13116,6 +13198,7 @@ func (this *SecretKeySelector) String() string { s := strings.Join([]string{`&SecretKeySelector{`, `LocalObjectReference:` + strings.Replace(strings.Replace(this.LocalObjectReference.String(), "LocalObjectReference", "LocalObjectReference", 1), `&`, ``, 1) + `,`, `Key:` + fmt.Sprintf("%v", this.Key) + `,`, + `Optional:` + valueToStringGenerated(this.Optional) + `,`, `}`, }, "") return s @@ -13139,6 +13222,7 @@ func (this *SecretVolumeSource) String() string { `SecretName:` + fmt.Sprintf("%v", this.SecretName) + `,`, `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "KeyToPath", "KeyToPath", 1), `&`, ``, 1) + `,`, `DefaultMode:` + valueToStringGenerated(this.DefaultMode) + `,`, + `Optional:` + valueToStringGenerated(this.Optional) + `,`, `}`, }, "") return s @@ -15414,6 +15498,27 @@ func (m *ConfigMapEnvSource) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Optional", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + b := bool(v != 0) + m.Optional = &b default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -15523,6 +15628,27 @@ func (m *ConfigMapKeySelector) Unmarshal(data []byte) error { } m.Key = string(data[iNdEx:postIndex]) iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Optional", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + b := bool(v != 0) + m.Optional = &b default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -15765,6 +15891,27 @@ func (m *ConfigMapVolumeSource) Unmarshal(data []byte) error { } } m.DefaultMode = &v + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Optional", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + b := bool(v != 0) + m.Optional = &b default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -36170,6 +36317,27 @@ func (m *SecretEnvSource) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Optional", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + b := bool(v != 0) + m.Optional = &b default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -36279,6 +36447,27 @@ func (m *SecretKeySelector) Unmarshal(data []byte) error { } m.Key = string(data[iNdEx:postIndex]) iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Optional", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + b := bool(v != 0) + m.Optional = &b default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -36520,6 +36709,27 @@ func (m *SecretVolumeSource) Unmarshal(data []byte) error { } } m.DefaultMode = &v + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Optional", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + b := bool(v != 0) + m.Optional = &b default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -39962,16 +40172,16 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 10271 bytes of a gzipped FileDescriptorProto + // 10327 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xec, 0x7d, 0x6d, 0x6c, 0x24, 0xc7, 0x95, 0x98, 0x7b, 0x86, 0x5f, 0xf3, 0xf8, 0xb9, 0xb5, 0x1f, 0xa2, 0x68, 0x69, 0xb9, 0x6a, 0x59, 0xf2, 0x4a, 0x5a, 0x91, 0xde, 0x95, 0x64, 0xad, 0x2d, 0x47, 0x36, 0xc9, 0x21, 0x77, 0xe9, 0x25, - 0x77, 0x47, 0x35, 0xdc, 0x5d, 0xd9, 0x56, 0x2c, 0x35, 0xa7, 0x8b, 0x64, 0x6b, 0x9b, 0xdd, 0xa3, - 0xee, 0x1e, 0xee, 0x52, 0x8e, 0x81, 0x3b, 0x9f, 0x70, 0x87, 0x20, 0x4e, 0xe2, 0xe0, 0x60, 0xe0, - 0x90, 0x4b, 0xe0, 0x4b, 0x80, 0x04, 0x4e, 0x0e, 0xf9, 0x70, 0x9c, 0x3b, 0xfb, 0x70, 0x4e, 0x82, - 0x24, 0x77, 0x8e, 0x2f, 0x1f, 0x07, 0x07, 0x07, 0xe4, 0x2e, 0x67, 0x80, 0x39, 0xf1, 0x82, 0xfc, - 0xcc, 0x8f, 0xe4, 0x1f, 0x13, 0x24, 0x41, 0x7d, 0x76, 0x55, 0xcf, 0x0c, 0xbb, 0x87, 0x5a, 0xd2, - 0xf2, 0x21, 0xff, 0x66, 0xde, 0x7b, 0xf5, 0xea, 0xa3, 0x5f, 0x55, 0xbd, 0xf7, 0xea, 0xd5, 0x2b, + 0x77, 0x47, 0x35, 0xdc, 0x5d, 0xd9, 0x56, 0x2c, 0x35, 0xa7, 0x8b, 0x64, 0x7b, 0x9b, 0xdd, 0xa3, + 0xee, 0x1e, 0xee, 0x52, 0x8e, 0x81, 0x3b, 0x9f, 0x70, 0x87, 0x20, 0x4e, 0xe2, 0xe0, 0x60, 0x20, + 0xc8, 0x07, 0xee, 0x12, 0x20, 0x81, 0x93, 0x43, 0x3e, 0x1c, 0xe7, 0xce, 0x3e, 0x9c, 0x93, 0x20, + 0x97, 0xb3, 0xe3, 0xcb, 0xc7, 0xc1, 0xc1, 0x01, 0xb9, 0xcb, 0x19, 0x60, 0x4e, 0x74, 0x70, 0x3f, + 0xf3, 0x23, 0xf7, 0x8f, 0x09, 0x92, 0xa0, 0x3e, 0xbb, 0xaa, 0x67, 0x86, 0xdd, 0x43, 0x2d, 0x69, + 0xf9, 0x70, 0xff, 0x66, 0xde, 0x7b, 0xf5, 0xea, 0xa3, 0x5f, 0x55, 0xbd, 0xf7, 0xea, 0xd5, 0x2b, 0xb8, 0x74, 0xef, 0x6a, 0x3c, 0xe3, 0x85, 0xb3, 0xf7, 0x5a, 0xeb, 0x24, 0x0a, 0x48, 0x42, 0xe2, 0xd9, 0xe6, 0xbd, 0xcd, 0x59, 0xa7, 0xe9, 0xcd, 0xee, 0x5c, 0x9e, 0xdd, 0x24, 0x01, 0x89, 0x9c, 0x84, 0xb8, 0x33, 0xcd, 0x28, 0x4c, 0x42, 0xf4, 0x18, 0xa7, 0x9e, 0x49, 0xa9, 0x67, 0x9a, 0xf7, @@ -39979,630 +40189,634 @@ var fileDescriptorGenerated = []byte{ 0x34, 0xc2, 0xed, 0xd9, 0xcd, 0x70, 0x33, 0x9c, 0x65, 0x85, 0xd6, 0x5b, 0x1b, 0xec, 0x1f, 0xfb, 0xc3, 0x7e, 0x71, 0x66, 0x53, 0x2f, 0x8a, 0xaa, 0x9d, 0xa6, 0xb7, 0xed, 0x34, 0xb6, 0xbc, 0x80, 0x44, 0xbb, 0xb2, 0xf2, 0x78, 0x76, 0x9b, 0x24, 0x4e, 0x87, 0x26, 0x4c, 0xcd, 0x76, 0x2b, 0x15, - 0xb5, 0x82, 0xc4, 0xdb, 0x26, 0x6d, 0x05, 0x3e, 0x99, 0x57, 0x20, 0x6e, 0x6c, 0x91, 0x6d, 0xa7, + 0xb5, 0x82, 0xc4, 0xdb, 0x26, 0x6d, 0x05, 0x3e, 0x9e, 0x57, 0x20, 0x6e, 0x6c, 0x91, 0x6d, 0xa7, 0xad, 0xdc, 0x95, 0xee, 0x23, 0x13, 0x91, 0x38, 0x6c, 0x45, 0x8d, 0xf6, 0xba, 0x2e, 0x77, 0x2e, - 0xd3, 0x4a, 0x3c, 0x7f, 0xd6, 0x0b, 0x92, 0x38, 0x89, 0xb2, 0x45, 0xec, 0x3f, 0xb4, 0xe0, 0xc2, + 0xd3, 0x4a, 0x3c, 0x7f, 0xd6, 0x0b, 0x92, 0x38, 0x89, 0xb2, 0x45, 0xec, 0x3f, 0xb0, 0xe0, 0xc2, 0xdc, 0xdd, 0xfa, 0xa2, 0xef, 0xc4, 0x89, 0xd7, 0x98, 0xf7, 0xc3, 0xc6, 0xbd, 0x7a, 0x12, 0x46, 0xe4, 0x4e, 0xe8, 0xb7, 0xb6, 0x49, 0x9d, 0xd5, 0x83, 0x2e, 0xc1, 0xd0, 0x0e, 0xfb, 0xbf, 0x5c, - 0x9d, 0xb4, 0x2e, 0x58, 0x17, 0x2b, 0xf3, 0x13, 0x3f, 0xda, 0x9b, 0xfe, 0xc8, 0xfe, 0xde, 0xf4, + 0x9d, 0xb4, 0x2e, 0x58, 0x17, 0x2b, 0xf3, 0x13, 0x3f, 0xdc, 0x9b, 0xfe, 0xd0, 0xfe, 0xde, 0xf4, 0xd0, 0x1d, 0x01, 0xc7, 0x8a, 0x02, 0x3d, 0x0d, 0x03, 0x1b, 0xf1, 0xda, 0x6e, 0x93, 0x4c, 0x96, 0x18, 0xed, 0x98, 0xa0, 0x1d, 0x58, 0xaa, 0x53, 0x28, 0x16, 0x58, 0x34, 0x0b, 0x95, 0xa6, 0x13, 0x25, 0x5e, 0xe2, 0x85, 0xc1, 0x64, 0xf9, 0x82, 0x75, 0xb1, 0x7f, 0xfe, 0x94, 0x20, 0xad, 0xd4, 0x24, 0x02, 0xa7, 0x34, 0xb4, 0x19, 0x11, 0x71, 0xdc, 0x5b, 0x81, 0xbf, 0x3b, 0xd9, 0x77, 0xc1, - 0xba, 0x38, 0x94, 0x36, 0x03, 0x0b, 0x38, 0x56, 0x14, 0xf6, 0xf7, 0x4b, 0x30, 0x34, 0xb7, 0xb1, + 0xba, 0x38, 0x94, 0x36, 0x03, 0x0b, 0x38, 0x56, 0x14, 0xf6, 0x77, 0x4b, 0x30, 0x34, 0xb7, 0xb1, 0xe1, 0x05, 0x5e, 0xb2, 0x8b, 0xde, 0x82, 0x91, 0x20, 0x74, 0x89, 0xfc, 0xcf, 0x7a, 0x31, 0x7c, 0xe5, 0xd9, 0x99, 0xc3, 0x04, 0x6a, 0xe6, 0xa6, 0x56, 0x62, 0x7e, 0x62, 0x7f, 0x6f, 0x7a, 0x44, 0x87, 0x60, 0x83, 0x23, 0x7a, 0x03, 0x86, 0x9b, 0xa1, 0xab, 0x2a, 0x28, 0xb1, 0x0a, 0x9e, 0x39, 0xbc, 0x82, 0x5a, 0x5a, 0x60, 0x7e, 0x7c, 0x7f, 0x6f, 0x7a, 0x58, 0x03, 0x60, 0x9d, 0x1d, 0xf2, 0x61, 0x9c, 0xfe, 0x0d, 0x12, 0x4f, 0xd5, 0x50, 0x66, 0x35, 0x3c, 0x9f, 0x5f, 0x83, 0x56, 0x68, - 0xfe, 0xf4, 0xfe, 0xde, 0xf4, 0x78, 0x06, 0x88, 0xb3, 0xac, 0xed, 0x77, 0x61, 0x6c, 0x2e, 0x49, + 0xfe, 0xf4, 0xfe, 0xde, 0xf4, 0x78, 0x06, 0x88, 0xb3, 0xac, 0xed, 0x77, 0x60, 0x6c, 0x2e, 0x49, 0x9c, 0xc6, 0x16, 0x71, 0xf9, 0xf7, 0x45, 0x2f, 0x42, 0x5f, 0xe0, 0x6c, 0x13, 0xf1, 0xf5, 0x2f, - 0x88, 0x61, 0xef, 0xbb, 0xe9, 0x6c, 0x93, 0x83, 0xbd, 0xe9, 0x89, 0xdb, 0x81, 0xf7, 0x4e, 0x4b, + 0x88, 0x61, 0xef, 0xbb, 0xe9, 0x6c, 0x93, 0x83, 0xbd, 0xe9, 0x89, 0xdb, 0x81, 0xf7, 0x76, 0x4b, 0xc8, 0x0c, 0x85, 0x61, 0x46, 0x8d, 0xae, 0x00, 0xb8, 0x64, 0xc7, 0x6b, 0x90, 0x9a, 0x93, 0x6c, - 0x09, 0x69, 0x40, 0xa2, 0x2c, 0x54, 0x15, 0x06, 0x6b, 0x54, 0xf6, 0xd7, 0x2c, 0xa8, 0xcc, 0xed, + 0x09, 0x69, 0x40, 0xa2, 0x2c, 0x54, 0x15, 0x06, 0x6b, 0x54, 0xf6, 0x57, 0x2d, 0xa8, 0xcc, 0xed, 0x84, 0x9e, 0x5b, 0x0b, 0xdd, 0x18, 0xb5, 0x60, 0xbc, 0x19, 0x91, 0x0d, 0x12, 0x29, 0xd0, 0xa4, 0x75, 0xa1, 0x7c, 0x71, 0xf8, 0xca, 0x95, 0x9c, 0x7e, 0x9b, 0x85, 0x16, 0x83, 0x24, 0xda, 0x9d, - 0x7f, 0x44, 0x54, 0x3d, 0x9e, 0xc1, 0xe2, 0x6c, 0x1d, 0xf6, 0x5f, 0x2b, 0xc1, 0xd9, 0xb9, 0x77, - 0x5b, 0x11, 0xa9, 0x7a, 0xf1, 0xbd, 0xec, 0x54, 0x70, 0xbd, 0xf8, 0xde, 0xcd, 0x74, 0x30, 0x94, + 0x7f, 0x44, 0x54, 0x3d, 0x9e, 0xc1, 0xe2, 0x6c, 0x1d, 0xf6, 0xdf, 0x28, 0xc1, 0xd9, 0xb9, 0x77, + 0x5a, 0x11, 0xa9, 0x7a, 0xf1, 0xbd, 0xec, 0x54, 0x70, 0xbd, 0xf8, 0xde, 0xcd, 0x74, 0x30, 0x94, 0x0c, 0x56, 0x05, 0x1c, 0x2b, 0x0a, 0xf4, 0x3c, 0x0c, 0xd2, 0xdf, 0xb7, 0xf1, 0xb2, 0xe8, 0xfd, 0x69, 0x41, 0x3c, 0x5c, 0x75, 0x12, 0xa7, 0xca, 0x51, 0x58, 0xd2, 0xa0, 0x55, 0x18, 0x6e, 0xb0, 0x35, 0x62, 0x73, 0x35, 0x74, 0x09, 0xfb, 0xc2, 0x95, 0xf9, 0xe7, 0x28, 0xf9, 0x42, 0x0a, 0x3e, 0xd8, 0x9b, 0x9e, 0xe4, 0x6d, 0x13, 0x2c, 0x34, 0x1c, 0xd6, 0xcb, 0x23, 0x5b, 0x4d, 0xc4, 0x3e, 0xc6, 0x09, 0x3a, 0x4c, 0xc2, 0x8b, 0xda, 0x9c, 0xea, 0x67, 0x73, 0x6a, 0xa4, 0xcb, 0x7c, 0xfa, - 0xfb, 0x96, 0x18, 0x93, 0x25, 0xcf, 0x37, 0x97, 0x87, 0x2b, 0x00, 0x31, 0x69, 0x44, 0x24, 0xd1, + 0xc7, 0x96, 0x18, 0x93, 0x25, 0xcf, 0x37, 0x97, 0x87, 0x2b, 0x00, 0x31, 0x69, 0x44, 0x24, 0xd1, 0x46, 0x45, 0x7d, 0xe6, 0xba, 0xc2, 0x60, 0x8d, 0x8a, 0x4e, 0xfe, 0x78, 0xcb, 0x89, 0x98, 0xb4, 0x88, 0xb1, 0x51, 0x93, 0xbf, 0x2e, 0x11, 0x38, 0xa5, 0x31, 0x26, 0x7f, 0x39, 0x77, 0xf2, 0xff, - 0x2b, 0x0b, 0x06, 0xe7, 0xbd, 0xc0, 0xf5, 0x82, 0x4d, 0xf4, 0x16, 0x0c, 0xd1, 0xd5, 0xdc, 0x75, - 0x12, 0x47, 0xcc, 0xfb, 0x4f, 0x48, 0xe1, 0xd1, 0x17, 0x65, 0x29, 0x3e, 0xf1, 0x0c, 0xa5, 0xa6, - 0x42, 0x74, 0x6b, 0xfd, 0x6d, 0xd2, 0x48, 0x56, 0x49, 0xe2, 0xa4, 0xdd, 0x49, 0x61, 0x58, 0x71, + 0xb6, 0x05, 0x83, 0xf3, 0x5e, 0xe0, 0x7a, 0xc1, 0x26, 0x7a, 0x0b, 0x86, 0xe8, 0x6a, 0xee, 0x3a, + 0x89, 0x23, 0xe6, 0xfd, 0xc7, 0xa4, 0xf0, 0xe8, 0x8b, 0xb2, 0x14, 0x9f, 0x78, 0x86, 0x52, 0x53, + 0x21, 0xba, 0xb5, 0xfe, 0x25, 0xd2, 0x48, 0x56, 0x49, 0xe2, 0xa4, 0xdd, 0x49, 0x61, 0x58, 0x71, 0x45, 0xb7, 0x61, 0x20, 0x71, 0xa2, 0x4d, 0x92, 0x88, 0x69, 0x9f, 0x33, 0x29, 0x39, 0x0f, 0x4c, 0x45, 0x8e, 0x04, 0x0d, 0x92, 0x2e, 0x90, 0x6b, 0x8c, 0x09, 0x16, 0xcc, 0xec, 0x06, 0x8c, 0x2c, - 0x38, 0x4d, 0x67, 0xdd, 0xf3, 0xbd, 0xc4, 0x23, 0x31, 0xfa, 0x38, 0x94, 0x1d, 0xd7, 0x65, 0x13, + 0x38, 0x4d, 0x67, 0xdd, 0xf3, 0xbd, 0xc4, 0x23, 0x31, 0xfa, 0x28, 0x94, 0x1d, 0xd7, 0x65, 0x13, 0xa0, 0x32, 0x7f, 0x76, 0x7f, 0x6f, 0xba, 0x3c, 0xe7, 0xba, 0x07, 0x7b, 0xd3, 0xa0, 0xa8, 0x76, 0x31, 0xa5, 0x40, 0xcf, 0x42, 0x9f, 0x1b, 0x85, 0xcd, 0xc9, 0x12, 0xa3, 0x3c, 0x47, 0x67, 0x6a, - 0x35, 0x0a, 0x9b, 0x19, 0x52, 0x46, 0x63, 0xff, 0x6e, 0x09, 0xd0, 0x02, 0x69, 0x6e, 0x2d, 0xd5, - 0x8d, 0x6f, 0x7a, 0x11, 0x86, 0xb6, 0xc3, 0xc0, 0x4b, 0xc2, 0x28, 0x16, 0x15, 0x32, 0xb9, 0x58, - 0x15, 0x30, 0xac, 0xb0, 0xe8, 0x02, 0xf4, 0x35, 0xd3, 0xe9, 0x3d, 0x22, 0x97, 0x06, 0x36, 0xb1, - 0x19, 0x86, 0x52, 0xb4, 0x62, 0x12, 0x09, 0x79, 0x56, 0x14, 0xb7, 0x63, 0x12, 0x61, 0x86, 0x49, - 0x25, 0x88, 0xca, 0x96, 0x90, 0xd6, 0x8c, 0x04, 0x51, 0x0c, 0xd6, 0xa8, 0xd0, 0x9b, 0x50, 0xe1, - 0xff, 0x30, 0xd9, 0x60, 0xa2, 0x9b, 0xbb, 0x28, 0xac, 0x84, 0x0d, 0xc7, 0xcf, 0x0e, 0xfe, 0x28, - 0x93, 0x38, 0xc9, 0x08, 0xa7, 0x3c, 0x0d, 0x89, 0x1b, 0xc8, 0x95, 0xb8, 0x5f, 0xb1, 0x00, 0x2d, - 0x78, 0x81, 0x4b, 0xa2, 0x13, 0xd8, 0x3a, 0x7b, 0x9b, 0x0c, 0x3f, 0xa1, 0x4d, 0x0b, 0xb7, 0x9b, - 0x61, 0x40, 0x82, 0x64, 0x21, 0x0c, 0x5c, 0xbe, 0x9d, 0x7e, 0x1a, 0xfa, 0x12, 0x5a, 0x15, 0x6f, + 0x35, 0x0a, 0x9b, 0x19, 0x52, 0x46, 0x63, 0x7f, 0xbf, 0x04, 0x68, 0x81, 0x34, 0xb7, 0x96, 0xea, + 0xc6, 0x37, 0xbd, 0x08, 0x43, 0xdb, 0x61, 0xe0, 0x25, 0x61, 0x14, 0x8b, 0x0a, 0x99, 0x5c, 0xac, + 0x0a, 0x18, 0x56, 0x58, 0x74, 0x01, 0xfa, 0x9a, 0xe9, 0xf4, 0x1e, 0x91, 0x4b, 0x03, 0x9b, 0xd8, + 0x0c, 0x43, 0x29, 0x5a, 0x31, 0x89, 0x84, 0x3c, 0x2b, 0x8a, 0xdb, 0x31, 0x89, 0x30, 0xc3, 0xa4, + 0x12, 0x44, 0x65, 0x4b, 0x48, 0x6b, 0x46, 0x82, 0x28, 0x06, 0x6b, 0x54, 0xe8, 0x4d, 0xa8, 0xf0, + 0x7f, 0x98, 0x6c, 0x30, 0xd1, 0xcd, 0x5d, 0x14, 0x56, 0xc2, 0x86, 0xe3, 0x67, 0x07, 0x7f, 0x94, + 0x49, 0x9c, 0x64, 0x84, 0x53, 0x9e, 0x86, 0xc4, 0x0d, 0xe4, 0x4a, 0xdc, 0xdf, 0xb4, 0x00, 0x2d, + 0x78, 0x81, 0x4b, 0xa2, 0x13, 0xd8, 0x3a, 0x7b, 0x9b, 0x0c, 0x3f, 0xa6, 0x4d, 0x0b, 0xb7, 0x9b, + 0x61, 0x40, 0x82, 0x64, 0x21, 0x0c, 0x5c, 0xbe, 0x9d, 0x7e, 0x12, 0xfa, 0x12, 0x5a, 0x15, 0x6f, 0xd6, 0xd3, 0xf2, 0xb3, 0xd0, 0x0a, 0x0e, 0xf6, 0xa6, 0xcf, 0xb5, 0x97, 0x60, 0x4d, 0x60, 0x65, - 0xd0, 0xa7, 0x60, 0x20, 0x4e, 0x9c, 0xa4, 0x15, 0x8b, 0x86, 0x3e, 0x21, 0x1b, 0x5a, 0x67, 0xd0, + 0xd0, 0x27, 0x60, 0x20, 0x4e, 0x9c, 0xa4, 0x15, 0x8b, 0x86, 0x3e, 0x21, 0x1b, 0x5a, 0x67, 0xd0, 0x83, 0xbd, 0xe9, 0x71, 0x55, 0x8c, 0x83, 0xb0, 0x28, 0x80, 0x9e, 0x81, 0xc1, 0x6d, 0x12, 0xc7, 0xce, 0xa6, 0x5c, 0xe0, 0xc6, 0x45, 0xd9, 0xc1, 0x55, 0x0e, 0xc6, 0x12, 0x8f, 0x9e, 0x84, 0x7e, - 0x12, 0x45, 0x61, 0x24, 0x24, 0x62, 0x54, 0x10, 0xf6, 0x2f, 0x52, 0x20, 0xe6, 0x38, 0xfb, 0x3f, - 0x5b, 0x30, 0xae, 0xda, 0xca, 0xeb, 0x3a, 0x81, 0x29, 0xef, 0x02, 0x34, 0x64, 0x07, 0x63, 0x36, + 0x12, 0x45, 0x61, 0x24, 0x24, 0x62, 0x54, 0x10, 0xf6, 0x2f, 0x52, 0x20, 0xe6, 0x38, 0xfb, 0xbf, + 0x59, 0x30, 0xae, 0xda, 0xca, 0xeb, 0x3a, 0x81, 0x29, 0xef, 0x02, 0x34, 0x64, 0x07, 0x63, 0x36, 0xd1, 0xb4, 0x3a, 0x3a, 0x8b, 0x5f, 0xfb, 0x80, 0xa6, 0x75, 0x28, 0x50, 0x8c, 0x35, 0xbe, 0xf6, - 0xbf, 0xb1, 0xe0, 0x74, 0xa6, 0x6f, 0x2b, 0x5e, 0x9c, 0xa0, 0x37, 0xda, 0xfa, 0x37, 0x53, 0xac, + 0xbf, 0xb7, 0xe0, 0x74, 0xa6, 0x6f, 0x2b, 0x5e, 0x9c, 0xa0, 0x37, 0xda, 0xfa, 0x37, 0x53, 0xac, 0x7f, 0xb4, 0x34, 0xeb, 0x9d, 0x92, 0x17, 0x09, 0xd1, 0xfa, 0x86, 0xa1, 0xdf, 0x4b, 0xc8, 0xb6, 0xec, 0xd6, 0xf3, 0x05, 0xbb, 0xc5, 0xdb, 0x97, 0x7e, 0xa5, 0x65, 0xca, 0x03, 0x73, 0x56, 0xf6, - 0xff, 0xb2, 0xa0, 0xb2, 0x10, 0x06, 0x1b, 0xde, 0xe6, 0xaa, 0xd3, 0x3c, 0x81, 0xef, 0x53, 0x87, + 0xff, 0xb6, 0xa0, 0xb2, 0x10, 0x06, 0x1b, 0xde, 0xe6, 0xaa, 0xd3, 0x3c, 0x81, 0xef, 0x53, 0x87, 0x3e, 0xc6, 0x9d, 0x77, 0xe1, 0x72, 0x5e, 0x17, 0x44, 0xc3, 0x66, 0xe8, 0x9e, 0xca, 0x95, 0x05, 0xb5, 0x4c, 0x51, 0x10, 0x66, 0xcc, 0xa6, 0x5e, 0x86, 0x8a, 0x22, 0x40, 0x13, 0x50, 0xbe, 0x47, 0xb8, 0x26, 0x59, 0xc1, 0xf4, 0x27, 0x3a, 0x03, 0xfd, 0x3b, 0x8e, 0xdf, 0x12, 0x93, 0x17, 0xf3, - 0x3f, 0x9f, 0x2e, 0x5d, 0xb5, 0xec, 0x5f, 0x65, 0x33, 0x50, 0x54, 0xb2, 0x18, 0xec, 0x88, 0xc5, - 0xe1, 0x3d, 0x0b, 0xce, 0xf8, 0x1d, 0x16, 0x25, 0x31, 0x26, 0x47, 0x59, 0xce, 0x1e, 0x13, 0xcd, - 0x3e, 0xd3, 0x09, 0x8b, 0x3b, 0xd6, 0x66, 0xff, 0xc0, 0x82, 0x33, 0xaa, 0x75, 0x37, 0xc8, 0x6e, - 0x9d, 0xf8, 0xa4, 0x91, 0x84, 0xd1, 0x87, 0xa4, 0x7d, 0xe8, 0x71, 0x3e, 0xd2, 0x7c, 0xa5, 0x19, - 0x16, 0x0c, 0xca, 0x37, 0xc8, 0x2e, 0x1b, 0x76, 0xfb, 0xb7, 0x2d, 0x18, 0x55, 0xcd, 0x3f, 0x81, - 0xe9, 0xb1, 0x62, 0x4e, 0x8f, 0x8f, 0x17, 0x94, 0xad, 0x2e, 0x13, 0xe3, 0x5b, 0x25, 0x38, 0xab, - 0x68, 0x8c, 0xad, 0xe3, 0x43, 0x32, 0xfa, 0xbd, 0x75, 0xf7, 0x06, 0xd9, 0x5d, 0x0b, 0xe9, 0xde, - 0xdf, 0xb9, 0xbb, 0xe8, 0x32, 0x0c, 0xbb, 0x64, 0xc3, 0x69, 0xf9, 0x89, 0x52, 0x71, 0xfb, 0xb9, - 0xed, 0x53, 0x4d, 0xc1, 0x58, 0xa7, 0xb1, 0xbf, 0x35, 0xcc, 0x96, 0x8e, 0xc4, 0xa1, 0x1f, 0x8d, - 0x2a, 0x13, 0x9a, 0x25, 0x32, 0xa2, 0x5b, 0x22, 0xc2, 0xea, 0x78, 0x12, 0xfa, 0xbd, 0x6d, 0xba, - 0xbd, 0x94, 0xcc, 0x5d, 0x63, 0x99, 0x02, 0x31, 0xc7, 0xa1, 0xa7, 0x60, 0xb0, 0x11, 0x6e, 0x6f, - 0x3b, 0x81, 0x3b, 0x59, 0x66, 0xea, 0xcd, 0x30, 0xdd, 0x81, 0x16, 0x38, 0x08, 0x4b, 0x1c, 0x7a, - 0x0c, 0xfa, 0x9c, 0x68, 0x33, 0x9e, 0xec, 0x63, 0x34, 0x43, 0xb4, 0xa6, 0xb9, 0x68, 0x33, 0xc6, - 0x0c, 0x4a, 0xd5, 0x96, 0xfb, 0x61, 0x74, 0xcf, 0x0b, 0x36, 0xab, 0x5e, 0xc4, 0x74, 0x10, 0x4d, - 0x6d, 0xb9, 0xab, 0x30, 0x58, 0xa3, 0x42, 0x35, 0xe8, 0x6f, 0x86, 0x51, 0x12, 0x4f, 0x0e, 0xb0, - 0xe1, 0x7c, 0x2e, 0x57, 0x7a, 0x78, 0xbf, 0x6b, 0x61, 0x94, 0xa4, 0x5d, 0xa1, 0xff, 0x62, 0xcc, - 0x19, 0xa1, 0x05, 0x28, 0x93, 0x60, 0x67, 0x72, 0x90, 0xf1, 0xfb, 0xd8, 0xe1, 0xfc, 0x16, 0x83, - 0x9d, 0x3b, 0x4e, 0x94, 0x4e, 0xa2, 0xc5, 0x60, 0x07, 0xd3, 0xd2, 0xa8, 0x01, 0x15, 0xe9, 0x56, - 0x88, 0x27, 0x87, 0x8a, 0x08, 0x18, 0x16, 0xe4, 0x98, 0xbc, 0xd3, 0xf2, 0x22, 0xb2, 0x4d, 0x82, - 0x24, 0x4e, 0x75, 0x78, 0x89, 0x8d, 0x71, 0xca, 0x17, 0x35, 0x60, 0x84, 0xab, 0x3a, 0xab, 0x61, - 0x2b, 0x48, 0xe2, 0xc9, 0x0a, 0x6b, 0x72, 0x8e, 0x91, 0x7c, 0x27, 0x2d, 0x31, 0x7f, 0x46, 0xb0, - 0x1f, 0xd1, 0x80, 0x31, 0x36, 0x98, 0xa2, 0x37, 0x60, 0xd4, 0xf7, 0x76, 0x48, 0x40, 0xe2, 0xb8, - 0x16, 0x85, 0xeb, 0x64, 0x12, 0x58, 0x6f, 0x9e, 0xcc, 0x33, 0x18, 0xc3, 0x75, 0x32, 0x7f, 0x6a, - 0x7f, 0x6f, 0x7a, 0x74, 0x45, 0x2f, 0x8d, 0x4d, 0x66, 0xe8, 0x4d, 0x18, 0xa3, 0x7a, 0x95, 0x97, - 0xb2, 0x1f, 0x2e, 0xce, 0x1e, 0xed, 0xef, 0x4d, 0x8f, 0x61, 0xa3, 0x38, 0xce, 0xb0, 0x43, 0x6b, - 0x50, 0xf1, 0xbd, 0x0d, 0xd2, 0xd8, 0x6d, 0xf8, 0x64, 0x72, 0x84, 0xf1, 0xce, 0x99, 0x72, 0x2b, - 0x92, 0x9c, 0xeb, 0xb2, 0xea, 0x2f, 0x4e, 0x19, 0xa1, 0x3b, 0x70, 0x2e, 0x21, 0xd1, 0xb6, 0x17, - 0x38, 0x54, 0xb1, 0x10, 0x8a, 0x16, 0xb3, 0xca, 0x47, 0x99, 0xd4, 0x9e, 0x17, 0x03, 0x7b, 0x6e, - 0xad, 0x23, 0x15, 0xee, 0x52, 0x1a, 0xdd, 0x82, 0x71, 0x36, 0x9f, 0x6a, 0x2d, 0xdf, 0xaf, 0x85, - 0xbe, 0xd7, 0xd8, 0x9d, 0x1c, 0x63, 0x0c, 0x9f, 0x92, 0xb6, 0xf6, 0xb2, 0x89, 0xa6, 0x36, 0x48, - 0xfa, 0x0f, 0x67, 0x4b, 0x23, 0x1f, 0xc6, 0x63, 0xd2, 0x68, 0x45, 0x5e, 0xb2, 0x4b, 0x65, 0x9f, - 0x3c, 0x48, 0x26, 0xc7, 0x8b, 0xd8, 0x54, 0x75, 0xb3, 0x10, 0x77, 0x74, 0x64, 0x80, 0x38, 0xcb, - 0x9a, 0x2e, 0x15, 0x71, 0xe2, 0x7a, 0xc1, 0xe4, 0x04, 0x53, 0xa2, 0xd5, 0xfc, 0xaa, 0x53, 0x20, - 0xe6, 0x38, 0x66, 0xaa, 0xd2, 0x1f, 0xb7, 0xe8, 0xda, 0x7b, 0x8a, 0x11, 0xa6, 0xa6, 0xaa, 0x44, - 0xe0, 0x94, 0x86, 0xee, 0x57, 0x49, 0xb2, 0x3b, 0x89, 0x18, 0xa9, 0x9a, 0x6a, 0x6b, 0x6b, 0x5f, - 0xc0, 0x14, 0x8e, 0xee, 0xc0, 0x20, 0x09, 0x76, 0x96, 0xa2, 0x70, 0x7b, 0xf2, 0x74, 0x91, 0x35, - 0x60, 0x91, 0x13, 0xf3, 0x5d, 0x21, 0xd5, 0x96, 0x05, 0x18, 0x4b, 0x66, 0xe8, 0x01, 0x4c, 0x76, - 0xf8, 0x4a, 0xfc, 0xa3, 0x9c, 0x61, 0x1f, 0xe5, 0x33, 0xa2, 0xec, 0xe4, 0x5a, 0x17, 0xba, 0x83, - 0x43, 0x70, 0xb8, 0x2b, 0x77, 0x7b, 0x1d, 0xc6, 0xd4, 0x42, 0xc5, 0xbe, 0x37, 0x9a, 0x86, 0x7e, - 0xba, 0x16, 0x4b, 0xdb, 0xb1, 0x42, 0x07, 0x95, 0x2e, 0xd1, 0x31, 0xe6, 0x70, 0x36, 0xa8, 0xde, - 0xbb, 0x64, 0x7e, 0x37, 0x21, 0xdc, 0x86, 0x28, 0x6b, 0x83, 0x2a, 0x11, 0x38, 0xa5, 0xb1, 0xff, - 0x0f, 0xdf, 0xe5, 0xd3, 0xd5, 0xb0, 0xc0, 0x4e, 0x70, 0x09, 0x86, 0xb6, 0xc2, 0x38, 0xa1, 0xd4, - 0xac, 0x8e, 0xfe, 0x74, 0x5f, 0xbf, 0x2e, 0xe0, 0x58, 0x51, 0xa0, 0x57, 0x60, 0xb4, 0xa1, 0x57, - 0x20, 0x36, 0xa7, 0xb3, 0xa2, 0x88, 0x59, 0x3b, 0x36, 0x69, 0xd1, 0x55, 0x18, 0x62, 0x0e, 0xd5, - 0x46, 0xe8, 0x0b, 0x6b, 0x45, 0xee, 0xb5, 0x43, 0x35, 0x01, 0x3f, 0xd0, 0x7e, 0x63, 0x45, 0x4d, - 0x6d, 0x3e, 0xda, 0x84, 0xe5, 0x9a, 0xd8, 0x40, 0x94, 0xcd, 0x77, 0x9d, 0x41, 0xb1, 0xc0, 0xda, - 0xff, 0xb8, 0xa4, 0x8d, 0x32, 0xd5, 0xb5, 0x09, 0xfa, 0x22, 0x0c, 0xde, 0x77, 0xbc, 0xc4, 0x0b, - 0x36, 0x85, 0x4e, 0xf0, 0x42, 0xc1, 0xdd, 0x84, 0x15, 0xbf, 0xcb, 0x8b, 0xf2, 0x9d, 0x4f, 0xfc, - 0xc1, 0x92, 0x21, 0xe5, 0x1d, 0xb5, 0x82, 0x80, 0xf2, 0x2e, 0xf5, 0xce, 0x1b, 0xf3, 0xa2, 0x9c, - 0xb7, 0xf8, 0x83, 0x25, 0x43, 0xb4, 0x01, 0x20, 0x65, 0x89, 0xb8, 0xc2, 0x91, 0xf9, 0xc9, 0x5e, - 0xd8, 0xaf, 0xa9, 0xd2, 0xf3, 0x63, 0x74, 0xaf, 0x4d, 0xff, 0x63, 0x8d, 0xb3, 0x9d, 0x30, 0xd5, - 0xaa, 0xbd, 0x59, 0xe8, 0x4b, 0x74, 0x4a, 0x3b, 0x51, 0x42, 0xdc, 0xb9, 0x24, 0xeb, 0x0b, 0x3e, - 0x5c, 0x43, 0x5c, 0xf3, 0xb6, 0x89, 0x3e, 0xfd, 0x05, 0x13, 0x9c, 0xf2, 0xb3, 0xbf, 0x57, 0x86, - 0xc9, 0x6e, 0xcd, 0xa5, 0x22, 0x49, 0x1e, 0x78, 0xc9, 0x02, 0x55, 0x7e, 0x2c, 0x53, 0x24, 0x17, - 0x05, 0x1c, 0x2b, 0x0a, 0x2a, 0x1b, 0xb1, 0xb7, 0x19, 0x38, 0xbe, 0x10, 0x5f, 0x25, 0x1b, 0x75, - 0x06, 0xc5, 0x02, 0x4b, 0xe9, 0x22, 0xe2, 0xc4, 0xc2, 0x8f, 0xae, 0xc9, 0x10, 0x66, 0x50, 0x2c, - 0xb0, 0xba, 0xed, 0xdd, 0x97, 0x63, 0x7b, 0x1b, 0x43, 0xd4, 0xff, 0x70, 0x87, 0x08, 0x7d, 0x19, - 0x60, 0xc3, 0x0b, 0xbc, 0x78, 0x8b, 0x71, 0x1f, 0xe8, 0x99, 0xbb, 0x52, 0xb2, 0x96, 0x14, 0x17, - 0xac, 0x71, 0x44, 0x2f, 0xc1, 0xb0, 0x9a, 0x9e, 0xcb, 0xd5, 0xc9, 0x41, 0xd3, 0xf7, 0x9a, 0xae, - 0x55, 0x55, 0xac, 0xd3, 0xd9, 0x6f, 0x67, 0xe5, 0x45, 0xcc, 0x0a, 0x6d, 0x7c, 0xad, 0xa2, 0xe3, - 0x5b, 0x3a, 0x7c, 0x7c, 0xed, 0xff, 0x54, 0x86, 0x71, 0xa3, 0xb2, 0x56, 0x5c, 0x60, 0x45, 0x7b, - 0x8d, 0x6e, 0x58, 0x4e, 0x42, 0xc4, 0x9c, 0xbc, 0xd4, 0xcb, 0xa4, 0xd1, 0xb7, 0x37, 0x3a, 0x17, - 0x38, 0x27, 0xb4, 0x05, 0x15, 0xdf, 0x89, 0x99, 0xf5, 0x4e, 0xc4, 0x5c, 0xec, 0x8d, 0x6d, 0x6a, - 0x54, 0x38, 0x71, 0xa2, 0xed, 0x1e, 0xbc, 0x96, 0x94, 0x39, 0xdd, 0x6d, 0xa9, 0xb2, 0x23, 0x0f, - 0x6f, 0x54, 0x73, 0xa8, 0x46, 0xb4, 0x8b, 0x39, 0x0e, 0x5d, 0x85, 0x91, 0x88, 0x30, 0x49, 0x59, - 0xa0, 0xfa, 0x1c, 0x13, 0xbd, 0xfe, 0x54, 0xf1, 0xc3, 0x1a, 0x0e, 0x1b, 0x94, 0xa9, 0xde, 0x3f, - 0x70, 0x88, 0xde, 0xff, 0x0c, 0x0c, 0xb2, 0x1f, 0x4a, 0x2a, 0xd4, 0x17, 0x5a, 0xe6, 0x60, 0x2c, - 0xf1, 0x59, 0x21, 0x1a, 0x2a, 0x28, 0x44, 0xcf, 0xc2, 0x58, 0xd5, 0x21, 0xdb, 0x61, 0xb0, 0x18, - 0xb8, 0xcd, 0xd0, 0x0b, 0x12, 0x34, 0x09, 0x7d, 0x6c, 0x3f, 0xe1, 0xf3, 0xbd, 0x8f, 0x72, 0xc0, - 0x7d, 0x54, 0x77, 0xb7, 0xff, 0xaf, 0x05, 0xa3, 0x55, 0xe2, 0x93, 0x84, 0xdc, 0x6a, 0x32, 0x8f, - 0x0f, 0x5a, 0x02, 0xb4, 0x19, 0x39, 0x0d, 0x52, 0x23, 0x91, 0x17, 0xba, 0x75, 0xd2, 0x08, 0x03, - 0x76, 0xe6, 0x41, 0x37, 0xc8, 0x73, 0xfb, 0x7b, 0xd3, 0xe8, 0x5a, 0x1b, 0x16, 0x77, 0x28, 0x81, - 0x5c, 0x18, 0x6d, 0x46, 0xc4, 0x70, 0x51, 0x59, 0xf9, 0xaa, 0x46, 0x4d, 0x2f, 0xc2, 0xb5, 0x61, - 0x03, 0x84, 0x4d, 0xa6, 0xe8, 0x73, 0x30, 0x11, 0x46, 0xcd, 0x2d, 0x27, 0xa8, 0x92, 0x26, 0x09, - 0x5c, 0x6a, 0x02, 0x08, 0x7f, 0xe4, 0x99, 0xfd, 0xbd, 0xe9, 0x89, 0x5b, 0x19, 0x1c, 0x6e, 0xa3, - 0xb6, 0x7f, 0xbd, 0x04, 0x67, 0xab, 0xe1, 0xfd, 0xe0, 0xbe, 0x13, 0xb9, 0x73, 0xb5, 0x65, 0xae, - 0xd7, 0x33, 0xff, 0xae, 0xf4, 0x2b, 0x5b, 0x5d, 0xfd, 0xca, 0x5f, 0x82, 0xa1, 0x0d, 0x8f, 0xf8, - 0x2e, 0x26, 0x1b, 0xa2, 0x7b, 0x97, 0x8b, 0x38, 0xde, 0x97, 0x68, 0x19, 0xe9, 0xe3, 0xe0, 0x6e, - 0xed, 0x25, 0xc1, 0x06, 0x2b, 0x86, 0xa8, 0x05, 0x13, 0xd2, 0x70, 0x91, 0x58, 0x31, 0x3b, 0x5e, - 0x28, 0x66, 0x17, 0x99, 0xd5, 0xb0, 0xf1, 0xc0, 0x19, 0x86, 0xb8, 0xad, 0x0a, 0x6a, 0x70, 0x6e, - 0xd3, 0xbd, 0xa1, 0x8f, 0xc9, 0x0a, 0x33, 0x38, 0x99, 0x45, 0xcc, 0xa0, 0xf6, 0xdf, 0xb5, 0xe0, - 0x91, 0xb6, 0xd1, 0x12, 0xee, 0x82, 0xd7, 0xa5, 0x9d, 0xce, 0x0f, 0xc8, 0x72, 0x5a, 0xd9, 0x71, - 0xcc, 0x8b, 0xd9, 0xec, 0xa5, 0x02, 0x36, 0xfb, 0x2d, 0x38, 0xb3, 0xb8, 0xdd, 0x4c, 0x76, 0xab, - 0x9e, 0xe9, 0x0e, 0x7f, 0x19, 0x06, 0xb6, 0x89, 0xeb, 0xb5, 0xb6, 0xc5, 0x67, 0x9d, 0x96, 0x0b, - 0xe9, 0x2a, 0x83, 0x1e, 0xec, 0x4d, 0x8f, 0xd6, 0x93, 0x30, 0x72, 0x36, 0x09, 0x07, 0x60, 0x41, - 0x6e, 0xbf, 0x6f, 0xc1, 0xb8, 0x9c, 0x50, 0x73, 0xae, 0x1b, 0x91, 0x38, 0x46, 0x53, 0x50, 0xf2, - 0x9a, 0x82, 0x11, 0x08, 0x46, 0xa5, 0xe5, 0x1a, 0x2e, 0x79, 0x4d, 0xf4, 0x45, 0xa8, 0xf0, 0x53, - 0x94, 0x54, 0x38, 0x7a, 0x3c, 0x95, 0x61, 0xc6, 0xd4, 0x9a, 0xe4, 0x81, 0x53, 0x76, 0x52, 0xad, - 0x64, 0x4b, 0x75, 0xd9, 0xf4, 0xe9, 0x5f, 0x17, 0x70, 0xac, 0x28, 0xd0, 0x45, 0x18, 0x0a, 0x42, - 0x97, 0x1f, 0x74, 0xf1, 0x4d, 0x97, 0x89, 0xdc, 0x4d, 0x01, 0xc3, 0x0a, 0x6b, 0x7f, 0xdd, 0x82, - 0x11, 0xd9, 0xc7, 0x82, 0x1a, 0x2e, 0x9d, 0x24, 0xa9, 0x76, 0x9b, 0x4e, 0x12, 0xaa, 0xa1, 0x32, - 0x8c, 0xa1, 0x98, 0x96, 0x7b, 0x51, 0x4c, 0xed, 0xdf, 0x2a, 0xc1, 0x98, 0x6c, 0x4e, 0xbd, 0xb5, - 0x1e, 0x13, 0xba, 0x6f, 0x57, 0x1c, 0x3e, 0xf8, 0x44, 0xca, 0xd9, 0xf3, 0x79, 0xc6, 0x8b, 0xf1, - 0xcd, 0x52, 0xbd, 0x60, 0x4e, 0xf2, 0xc1, 0x29, 0x4b, 0xb4, 0x03, 0xa7, 0x82, 0x30, 0x61, 0xfb, - 0x81, 0xc2, 0x17, 0xf3, 0x42, 0x67, 0xeb, 0x79, 0x54, 0xd4, 0x73, 0xea, 0x66, 0x96, 0x1f, 0x6e, - 0xaf, 0x02, 0xdd, 0x92, 0x4e, 0x99, 0x32, 0xab, 0xeb, 0xd9, 0x62, 0x75, 0x75, 0xf7, 0xc9, 0xd8, - 0x3f, 0xb4, 0xa0, 0x22, 0xc9, 0x4e, 0xe2, 0x38, 0xe2, 0x2e, 0x0c, 0xc6, 0xec, 0x13, 0xc9, 0xe1, - 0xba, 0x54, 0xac, 0x0b, 0xfc, 0xbb, 0xa6, 0x9b, 0x20, 0xff, 0x1f, 0x63, 0xc9, 0x8d, 0x39, 0x57, - 0x55, 0x47, 0x3e, 0x74, 0xce, 0x55, 0xd5, 0xb2, 0xee, 0xa7, 0x0e, 0xa3, 0x86, 0xf9, 0x4c, 0x35, - 0xb9, 0x66, 0x44, 0x36, 0xbc, 0x07, 0x59, 0x4d, 0xae, 0xc6, 0xa0, 0x58, 0x60, 0xd1, 0x06, 0x8c, - 0x34, 0xa4, 0x57, 0x36, 0x5d, 0x42, 0x3e, 0x51, 0xd0, 0xd7, 0xab, 0x5c, 0xfc, 0x3c, 0x6c, 0x64, - 0x41, 0xe3, 0x84, 0x0d, 0xbe, 0x74, 0x9d, 0x4a, 0x4f, 0x31, 0xcb, 0x05, 0x3d, 0x1d, 0x11, 0x49, - 0xd2, 0x1a, 0xba, 0x1e, 0x60, 0xda, 0xdf, 0xb6, 0x60, 0x80, 0x3b, 0xfc, 0x8a, 0x79, 0x4d, 0xb5, - 0xc3, 0x8b, 0x74, 0x3c, 0xef, 0x50, 0xa0, 0x38, 0xcb, 0x40, 0x77, 0xa1, 0xc2, 0x7e, 0x30, 0xe7, - 0x45, 0xb9, 0x48, 0x0c, 0x0d, 0xaf, 0x5f, 0x6f, 0xea, 0x1d, 0xc9, 0x00, 0xa7, 0xbc, 0xec, 0x1f, - 0x94, 0xe9, 0xd2, 0x97, 0x92, 0x1a, 0x7b, 0xbb, 0x75, 0x12, 0x7b, 0x7b, 0xe9, 0xf8, 0xf7, 0xf6, - 0x77, 0x60, 0xbc, 0xa1, 0x1d, 0xb3, 0xa4, 0x5f, 0xfc, 0x4a, 0x41, 0xb1, 0xd2, 0xce, 0x66, 0xb8, - 0x83, 0x6b, 0xc1, 0x64, 0x87, 0xb3, 0xfc, 0x11, 0x81, 0x11, 0x2e, 0x0f, 0xa2, 0xbe, 0x3e, 0x56, - 0xdf, 0x6c, 0x11, 0x09, 0xd3, 0x2b, 0x63, 0x52, 0x5c, 0xd7, 0x18, 0x61, 0x83, 0xad, 0xfd, 0xd7, - 0xfb, 0xa1, 0x7f, 0x71, 0x87, 0x04, 0xc9, 0x09, 0x2c, 0x75, 0xdb, 0x30, 0xe6, 0x05, 0x3b, 0xa1, - 0xbf, 0x43, 0x5c, 0x8e, 0x3f, 0xda, 0xf6, 0x7e, 0x4e, 0x54, 0x32, 0xb6, 0x6c, 0x30, 0xc3, 0x19, - 0xe6, 0xc7, 0x61, 0x5a, 0xbf, 0x06, 0x03, 0x5c, 0x32, 0x84, 0x5d, 0x9d, 0xe3, 0x00, 0x67, 0x03, - 0x2b, 0x66, 0x50, 0xea, 0x00, 0xe0, 0xbe, 0x77, 0xc1, 0x08, 0xbd, 0x0d, 0x63, 0x1b, 0x5e, 0x14, - 0x27, 0xd4, 0x3a, 0x8e, 0x13, 0x67, 0xbb, 0x79, 0x04, 0xa3, 0x5a, 0x8d, 0xc8, 0x92, 0xc1, 0x09, - 0x67, 0x38, 0xa3, 0x4d, 0x18, 0xa5, 0x36, 0x5d, 0x5a, 0xd5, 0x60, 0xcf, 0x55, 0x29, 0x9f, 0xda, - 0x8a, 0xce, 0x08, 0x9b, 0x7c, 0xe9, 0x92, 0xd4, 0x60, 0x36, 0xe0, 0x10, 0xd3, 0x6e, 0xd4, 0x92, - 0xc4, 0x8d, 0x3f, 0x8e, 0xa3, 0x2b, 0x1b, 0x8b, 0x62, 0xa8, 0x98, 0x2b, 0x5b, 0x1a, 0xab, 0x60, - 0x7f, 0x97, 0xee, 0xc5, 0x74, 0x0c, 0x4f, 0x60, 0xfb, 0xba, 0x6e, 0x6e, 0x5f, 0x4f, 0x16, 0xf8, - 0xb2, 0x5d, 0xb6, 0xae, 0xb7, 0x60, 0x58, 0xfb, 0xf0, 0x68, 0x16, 0x2a, 0x0d, 0x79, 0xd0, 0x2e, - 0x56, 0x71, 0xa5, 0x4a, 0xa9, 0x13, 0x78, 0x9c, 0xd2, 0xd0, 0x71, 0xa1, 0x2a, 0x68, 0x36, 0x2c, - 0x87, 0x2a, 0xa8, 0x98, 0x61, 0xec, 0x17, 0x00, 0x16, 0x1f, 0x90, 0xc6, 0x5c, 0x83, 0x45, 0x83, - 0x68, 0x07, 0x62, 0x56, 0xf7, 0x03, 0x31, 0xfb, 0x3b, 0x16, 0x8c, 0x2d, 0x2d, 0x18, 0x3a, 0xfd, - 0x0c, 0x00, 0xd7, 0x8d, 0xef, 0xde, 0xbd, 0x29, 0x1d, 0xbe, 0xdc, 0x2b, 0xa7, 0xa0, 0x58, 0xa3, - 0x40, 0x8f, 0x42, 0xd9, 0x6f, 0x05, 0x42, 0x65, 0x1d, 0xdc, 0xdf, 0x9b, 0x2e, 0xaf, 0xb4, 0x02, - 0x4c, 0x61, 0x5a, 0xfc, 0x4b, 0xb9, 0x70, 0xfc, 0x4b, 0x7e, 0x24, 0xe8, 0x37, 0xcb, 0x30, 0xb1, - 0xe4, 0x93, 0x07, 0x46, 0xab, 0x9f, 0x86, 0x01, 0x37, 0xf2, 0x76, 0x48, 0x94, 0x55, 0x04, 0xaa, - 0x0c, 0x8a, 0x05, 0xb6, 0x70, 0x48, 0xce, 0x9b, 0xed, 0x1b, 0xf9, 0xf1, 0x85, 0x23, 0xe5, 0xf6, - 0x19, 0x6d, 0xc0, 0x60, 0xc8, 0x5d, 0x0a, 0x93, 0xfd, 0x4c, 0x14, 0x5f, 0x39, 0xbc, 0x31, 0xd9, - 0xf1, 0x99, 0x11, 0x0e, 0x09, 0x1e, 0x0c, 0xa1, 0xd6, 0x32, 0x01, 0xc5, 0x92, 0xf9, 0xd4, 0xa7, - 0x61, 0x44, 0xa7, 0xec, 0x29, 0x2a, 0xe2, 0x17, 0x2c, 0x38, 0xbd, 0xe4, 0x87, 0x8d, 0x7b, 0x99, - 0x98, 0xa9, 0x97, 0x60, 0x98, 0x4e, 0xa6, 0xd8, 0x08, 0x28, 0x34, 0x22, 0x27, 0x05, 0x0a, 0xeb, - 0x74, 0x5a, 0xb1, 0xdb, 0xb7, 0x97, 0xab, 0x9d, 0x02, 0x2e, 0x05, 0x0a, 0xeb, 0x74, 0xf6, 0xef, - 0x5b, 0xf0, 0xf8, 0xb5, 0x85, 0xc5, 0x1a, 0x89, 0x62, 0x2f, 0x4e, 0x48, 0x90, 0xb4, 0xc5, 0x7c, - 0x52, 0x9d, 0xd1, 0xd5, 0x9a, 0x92, 0xea, 0x8c, 0x55, 0xd6, 0x0a, 0x81, 0xfd, 0xb0, 0x04, 0x3e, - 0x7f, 0xdb, 0x82, 0xd3, 0xd7, 0xbc, 0x04, 0x93, 0x66, 0x98, 0x0d, 0xd3, 0x8c, 0x48, 0x33, 0x8c, - 0xbd, 0x24, 0x8c, 0x76, 0xb3, 0x61, 0x9a, 0x58, 0x61, 0xb0, 0x46, 0xc5, 0x6b, 0xde, 0xf1, 0x62, - 0xda, 0xd2, 0x92, 0x69, 0xea, 0x62, 0x01, 0xc7, 0x8a, 0x82, 0x76, 0xcc, 0xf5, 0x22, 0xa6, 0x32, - 0xec, 0x8a, 0x19, 0xac, 0x3a, 0x56, 0x95, 0x08, 0x9c, 0xd2, 0xd8, 0x7f, 0xc3, 0x82, 0xb3, 0xd7, - 0xfc, 0x56, 0x9c, 0x90, 0x68, 0x23, 0x36, 0x1a, 0xfb, 0x02, 0x54, 0x88, 0x54, 0xee, 0x45, 0x5b, - 0xd5, 0xa6, 0xa1, 0xb4, 0x7e, 0x1e, 0x23, 0xaa, 0xe8, 0x0a, 0x84, 0x22, 0xf6, 0x16, 0x38, 0xf7, - 0xdb, 0x25, 0x18, 0xbd, 0xbe, 0xb6, 0x56, 0xbb, 0x46, 0x12, 0xb1, 0x4a, 0xe6, 0x3b, 0xa5, 0x6a, - 0x9a, 0x45, 0xae, 0xed, 0x2d, 0x99, 0x59, 0xd7, 0x4a, 0x3c, 0x7f, 0x86, 0x87, 0xe4, 0xcf, 0x2c, - 0x07, 0xc9, 0xad, 0xa8, 0x9e, 0x44, 0x5e, 0xb0, 0xd9, 0xd1, 0x82, 0x97, 0x2b, 0x79, 0xb9, 0xdb, - 0x4a, 0x8e, 0x5e, 0x80, 0x01, 0x76, 0x8b, 0x40, 0xaa, 0x1e, 0x1f, 0x55, 0x5a, 0x02, 0x83, 0x1e, - 0xec, 0x4d, 0x57, 0x6e, 0xe3, 0x65, 0xfe, 0x07, 0x0b, 0x52, 0xf4, 0x26, 0x0c, 0x6f, 0x25, 0x49, - 0xf3, 0x3a, 0x71, 0x5c, 0x12, 0xc9, 0x55, 0xe2, 0xe2, 0xe1, 0xab, 0x04, 0x1d, 0x0c, 0x5e, 0x20, - 0x9d, 0x58, 0x29, 0x2c, 0xc6, 0x3a, 0x47, 0xbb, 0x0e, 0x90, 0xe2, 0x1e, 0x92, 0x05, 0x62, 0xff, - 0x7c, 0x09, 0x06, 0xaf, 0x3b, 0x81, 0xeb, 0x93, 0x08, 0x2d, 0x41, 0x1f, 0x79, 0x40, 0x1a, 0x62, - 0x1b, 0xcf, 0x69, 0x7a, 0xba, 0xd5, 0x71, 0xaf, 0x1a, 0xfd, 0x8f, 0x59, 0x79, 0x84, 0x61, 0x90, - 0xb6, 0xfb, 0x9a, 0x8a, 0xdf, 0x7d, 0x2e, 0x7f, 0x14, 0x94, 0x48, 0xf0, 0x7d, 0x52, 0x80, 0xb0, - 0x64, 0xc4, 0xfc, 0x4f, 0x8d, 0x66, 0x9d, 0x2e, 0x6e, 0x49, 0x31, 0xbb, 0x6e, 0x6d, 0xa1, 0xc6, - 0xc9, 0x05, 0x5f, 0xee, 0x7f, 0x92, 0x40, 0x9c, 0xb2, 0xb3, 0xaf, 0xc2, 0x19, 0x76, 0x7c, 0xe9, - 0x24, 0x5b, 0xc6, 0x9c, 0xc9, 0x15, 0x4e, 0xfb, 0x6f, 0x95, 0xe0, 0xd4, 0x72, 0x7d, 0xa1, 0x6e, - 0x7a, 0x0e, 0xaf, 0xc2, 0x08, 0xdf, 0x9e, 0xa9, 0xd0, 0x39, 0xbe, 0x28, 0xaf, 0x5c, 0xee, 0x6b, - 0x1a, 0x0e, 0x1b, 0x94, 0xe8, 0x71, 0x28, 0x7b, 0xef, 0x04, 0xd9, 0xc8, 0xac, 0xe5, 0xd7, 0x6e, - 0x62, 0x0a, 0xa7, 0x68, 0xba, 0xd3, 0xf3, 0x25, 0x4e, 0xa1, 0xd5, 0x6e, 0xff, 0x2a, 0x8c, 0x79, - 0x71, 0x23, 0xf6, 0x96, 0x03, 0x3a, 0xff, 0x9d, 0x86, 0x14, 0xdf, 0x54, 0x35, 0xa7, 0x4d, 0x55, - 0x58, 0x9c, 0xa1, 0xd6, 0xd6, 0xdb, 0xfe, 0xc2, 0xda, 0x42, 0x7e, 0x20, 0xef, 0xdb, 0x50, 0x51, - 0x41, 0x4c, 0x32, 0xf4, 0xcc, 0xea, 0x1c, 0x7a, 0x56, 0x60, 0xc1, 0x91, 0xfe, 0xdc, 0x72, 0x47, - 0x7f, 0xee, 0x3f, 0xb0, 0x20, 0x8d, 0xd7, 0x40, 0x18, 0x2a, 0xcd, 0x90, 0x1d, 0x96, 0x44, 0xf2, - 0x54, 0xf2, 0xa9, 0x1c, 0x49, 0xe4, 0x33, 0x81, 0xcb, 0x4a, 0x4d, 0x96, 0xc5, 0x29, 0x1b, 0xb4, - 0x02, 0x83, 0xcd, 0x88, 0xd4, 0x13, 0x16, 0x0d, 0xde, 0x03, 0x47, 0x26, 0xd5, 0x35, 0x5e, 0x12, - 0x4b, 0x16, 0xf6, 0x3f, 0xb7, 0x00, 0x56, 0xbc, 0x6d, 0x2f, 0xc1, 0x4e, 0xb0, 0x49, 0x4e, 0xc0, - 0xd8, 0xbb, 0x09, 0x7d, 0x71, 0x93, 0x34, 0x8a, 0x1d, 0x77, 0xa5, 0x2d, 0xab, 0x37, 0x49, 0x23, - 0xfd, 0x1c, 0xf4, 0x1f, 0x66, 0x7c, 0xec, 0x7f, 0x08, 0x30, 0x96, 0x92, 0x51, 0x85, 0x1b, 0x3d, - 0x6f, 0x84, 0x41, 0x3f, 0x9a, 0x09, 0x83, 0xae, 0x30, 0x6a, 0x2d, 0xf2, 0x39, 0x81, 0xf2, 0xb6, - 0xf3, 0x40, 0xe8, 0xf7, 0x2f, 0x15, 0x6d, 0x10, 0xad, 0x69, 0x66, 0xd5, 0x79, 0xc0, 0xd5, 0xa9, - 0xe7, 0xa4, 0x20, 0xad, 0x3a, 0x0f, 0x0e, 0xf8, 0xa1, 0x16, 0x9b, 0x89, 0xd4, 0xa0, 0xf8, 0xda, - 0x7f, 0x49, 0xff, 0xb3, 0xc5, 0x91, 0x56, 0xc7, 0x6a, 0xf5, 0x02, 0xe1, 0x9e, 0xec, 0xb1, 0x56, - 0x2f, 0xc8, 0xd6, 0xea, 0x05, 0x05, 0x6a, 0xf5, 0x02, 0xf4, 0x9e, 0x05, 0x83, 0xc2, 0xab, 0xcf, - 0x22, 0xe0, 0x86, 0xaf, 0x7c, 0xaa, 0xa7, 0xaa, 0xc5, 0xf1, 0x00, 0xaf, 0x7e, 0x56, 0xea, 0x90, - 0x02, 0x9a, 0xdb, 0x04, 0x59, 0x35, 0xfa, 0x35, 0x0b, 0xc6, 0xc4, 0x6f, 0x4c, 0xde, 0x69, 0x91, - 0x38, 0x11, 0xbb, 0xd5, 0xe7, 0x8e, 0xd2, 0x1a, 0xc1, 0x82, 0x37, 0xea, 0x93, 0x72, 0xa9, 0x31, - 0x91, 0xb9, 0x6d, 0xcb, 0xb4, 0x07, 0x7d, 0xdf, 0x82, 0x33, 0xdb, 0xce, 0x03, 0x5e, 0x23, 0x87, - 0x61, 0x27, 0xf1, 0x42, 0x11, 0xe5, 0xb7, 0xd4, 0xab, 0x9c, 0xb4, 0x31, 0xe2, 0xcd, 0x95, 0x01, - 0x3c, 0x67, 0x3a, 0x91, 0xe4, 0x36, 0xba, 0x63, 0x0b, 0xa7, 0x5c, 0x18, 0x92, 0x82, 0xd9, 0x41, - 0x7b, 0x9f, 0xd7, 0x37, 0xe5, 0xc3, 0x67, 0xa0, 0xf4, 0x77, 0xcd, 0xbc, 0xd6, 0x72, 0x82, 0xc4, - 0x4b, 0x76, 0x35, 0x5d, 0x9f, 0xd5, 0x22, 0x04, 0xf1, 0x18, 0x6b, 0xd9, 0x82, 0x11, 0x5d, 0xe6, - 0x8e, 0xb1, 0xa6, 0x10, 0x4e, 0x77, 0x90, 0xa7, 0x63, 0xac, 0xb0, 0x05, 0x8f, 0x76, 0x95, 0x8b, - 0xe3, 0xab, 0xd6, 0xfe, 0x67, 0x96, 0xbe, 0x60, 0x9e, 0x80, 0x07, 0x65, 0xd5, 0xf4, 0xa0, 0x5c, - 0x2c, 0x3a, 0x73, 0xba, 0xb8, 0x51, 0x36, 0xf4, 0xe6, 0xd3, 0x8d, 0x00, 0xad, 0xc1, 0x80, 0x4f, - 0x21, 0xf2, 0x00, 0xeb, 0x52, 0x2f, 0x73, 0x33, 0xd5, 0x31, 0x18, 0x3c, 0xc6, 0x82, 0x97, 0xfd, - 0x7d, 0x0b, 0xfa, 0x7e, 0x8a, 0x57, 0x33, 0xda, 0x58, 0x8b, 0xdb, 0xc5, 0x33, 0xd8, 0xb9, 0xbf, - 0xf8, 0x20, 0x21, 0x41, 0xcc, 0x54, 0xca, 0x8e, 0x43, 0xf4, 0xeb, 0x25, 0x18, 0xa6, 0x55, 0xc9, - 0x10, 0x84, 0x57, 0x60, 0xd4, 0x77, 0xd6, 0x89, 0x2f, 0xbd, 0xbf, 0x59, 0xf3, 0x6b, 0x45, 0x47, - 0x62, 0x93, 0x96, 0x16, 0xde, 0xd0, 0x9d, 0xe3, 0x42, 0x35, 0x52, 0x85, 0x0d, 0xcf, 0x39, 0x36, - 0x69, 0xa9, 0x05, 0x70, 0xdf, 0x49, 0x1a, 0x5b, 0xc2, 0x34, 0x53, 0xcd, 0xbd, 0x4b, 0x81, 0x98, - 0xe3, 0xd0, 0x1c, 0x8c, 0x4b, 0x89, 0xbd, 0x43, 0x6d, 0xf6, 0x30, 0x10, 0x6a, 0xa3, 0xba, 0xde, - 0x89, 0x4d, 0x34, 0xce, 0xd2, 0xa3, 0x4f, 0xc3, 0x18, 0x1d, 0x9c, 0xb0, 0x95, 0xc8, 0x00, 0x8b, - 0x7e, 0x16, 0x60, 0xc1, 0xe2, 0x73, 0xd7, 0x0c, 0x0c, 0xce, 0x50, 0xda, 0x6f, 0xc2, 0xe9, 0x95, - 0xd0, 0x71, 0xe7, 0x1d, 0xdf, 0x09, 0x1a, 0x24, 0x5a, 0x0e, 0x36, 0x73, 0xcf, 0xa2, 0xf5, 0xf3, - 0xe2, 0x52, 0xde, 0x79, 0xb1, 0x1d, 0x01, 0xd2, 0x2b, 0x10, 0xa1, 0x41, 0x6f, 0xc0, 0xa0, 0xc7, - 0xab, 0x12, 0x62, 0x7b, 0x39, 0xcf, 0xb9, 0xd4, 0xd6, 0x46, 0x2d, 0xd4, 0x85, 0x03, 0xb0, 0x64, - 0x49, 0x2d, 0x8a, 0x4e, 0xde, 0xa8, 0x7c, 0xa3, 0xcd, 0xfe, 0x8b, 0x16, 0x8c, 0xdf, 0xcc, 0xdc, - 0x1d, 0x7c, 0x1a, 0x06, 0x62, 0x12, 0x75, 0x70, 0xad, 0xd5, 0x19, 0x14, 0x0b, 0xec, 0x43, 0x37, - 0xd7, 0x7f, 0xb9, 0x04, 0x15, 0x16, 0x64, 0xda, 0xa4, 0xd6, 0xc1, 0xf1, 0x2b, 0xa7, 0xab, 0x86, - 0x72, 0x9a, 0x63, 0x34, 0xaa, 0x86, 0x75, 0xd3, 0x4d, 0xd1, 0x6d, 0x75, 0xa7, 0xae, 0x90, 0xbd, - 0x98, 0x32, 0xe4, 0xf7, 0xae, 0xc6, 0xcc, 0x2b, 0x78, 0xf2, 0xbe, 0x1d, 0x3b, 0xc1, 0x55, 0xb4, - 0x1f, 0xba, 0x13, 0x5c, 0xd5, 0xb2, 0x2e, 0x8b, 0x53, 0x4d, 0x6b, 0x3c, 0x5b, 0xbe, 0x3f, 0xcb, - 0x42, 0x07, 0x1d, 0xdf, 0x7b, 0x97, 0xa8, 0xab, 0xa9, 0xd3, 0x22, 0x14, 0x50, 0x40, 0x0f, 0xd8, - 0x3a, 0x23, 0xfe, 0xf1, 0x9b, 0xc7, 0x69, 0x11, 0xfb, 0x3a, 0x8c, 0x67, 0x86, 0x0e, 0xbd, 0x04, - 0xfd, 0xcd, 0x2d, 0x27, 0x26, 0x99, 0xa0, 0x94, 0xfe, 0x1a, 0x05, 0x1e, 0xec, 0x4d, 0x8f, 0xa9, - 0x02, 0x0c, 0x82, 0x39, 0xb5, 0xfd, 0x5e, 0x09, 0xfa, 0x6e, 0x86, 0xee, 0x49, 0x88, 0xda, 0x75, - 0x43, 0xd4, 0x9e, 0xce, 0xcf, 0x5b, 0xd0, 0x55, 0xca, 0x6a, 0x19, 0x29, 0xbb, 0x58, 0x80, 0xd7, - 0xe1, 0x02, 0xb6, 0x0d, 0xc3, 0x2c, 0x2f, 0x82, 0x88, 0xca, 0x79, 0xc1, 0xb0, 0xa7, 0xa6, 0x33, - 0xf6, 0xd4, 0xb8, 0x46, 0xaa, 0x59, 0x55, 0xcf, 0xc0, 0xa0, 0x88, 0x02, 0xc9, 0x06, 0x4e, 0x0a, - 0x5a, 0x2c, 0xf1, 0xf6, 0x3f, 0x29, 0x83, 0x91, 0x87, 0x01, 0xfd, 0xd0, 0x82, 0x99, 0x88, 0x5f, - 0x42, 0x71, 0xab, 0xad, 0xc8, 0x0b, 0x36, 0xeb, 0x8d, 0x2d, 0xe2, 0xb6, 0x7c, 0x2f, 0xd8, 0x5c, - 0xde, 0x0c, 0x42, 0x05, 0x5e, 0x7c, 0x40, 0x1a, 0x2d, 0xe6, 0x74, 0x2d, 0x9c, 0xfe, 0x41, 0x9d, - 0x80, 0x5e, 0xd9, 0xdf, 0x9b, 0x9e, 0xc1, 0x3d, 0xd5, 0x82, 0x7b, 0x6c, 0x15, 0xfa, 0x23, 0x0b, - 0x66, 0x79, 0x26, 0x82, 0xe2, 0x3d, 0x29, 0x64, 0x87, 0xd6, 0x24, 0xd3, 0x94, 0xdd, 0x1a, 0x89, - 0xb6, 0xe7, 0x5f, 0x16, 0x83, 0x3c, 0x5b, 0xeb, 0xad, 0x56, 0xdc, 0x6b, 0x33, 0xed, 0x7f, 0x59, - 0x86, 0x51, 0x3a, 0x9e, 0xe9, 0xed, 0xe3, 0x97, 0x0c, 0x31, 0x79, 0x22, 0x23, 0x26, 0xa7, 0x0c, - 0xe2, 0x87, 0x73, 0xf1, 0x38, 0x86, 0x53, 0xbe, 0x13, 0x27, 0xd7, 0x89, 0x13, 0x25, 0xeb, 0xc4, - 0x61, 0x07, 0x8d, 0xd9, 0x20, 0x86, 0x02, 0x67, 0x97, 0x2a, 0xb2, 0x68, 0x25, 0xcb, 0x0c, 0xb7, - 0xf3, 0x47, 0x3b, 0x80, 0xd8, 0xa1, 0x66, 0xe4, 0x04, 0x31, 0xef, 0x8b, 0x27, 0xdc, 0xb4, 0xbd, - 0xd5, 0x3a, 0x25, 0x6a, 0x45, 0x2b, 0x6d, 0xdc, 0x70, 0x87, 0x1a, 0xb4, 0x63, 0xeb, 0xfe, 0xa2, - 0xc7, 0xd6, 0x03, 0x39, 0x11, 0xcb, 0xbf, 0x68, 0xc1, 0x69, 0xfa, 0x59, 0xcc, 0xe8, 0xd6, 0x18, - 0x85, 0x30, 0x4e, 0xc5, 0xce, 0x27, 0x89, 0x84, 0x89, 0xf9, 0x95, 0xa3, 0x59, 0x9b, 0x7c, 0x52, - 0xf5, 0xed, 0x86, 0xc9, 0x0c, 0x67, 0xb9, 0xdb, 0xdf, 0xb1, 0x80, 0x85, 0xcf, 0x9d, 0xc0, 0x66, - 0x76, 0xcd, 0xdc, 0xcc, 0xec, 0xfc, 0x15, 0xa3, 0xcb, 0x3e, 0xf6, 0x22, 0x4c, 0x50, 0x6c, 0x2d, - 0x0a, 0x1f, 0xec, 0x4a, 0x45, 0x3b, 0xdf, 0x5f, 0xfb, 0x5e, 0x89, 0x4f, 0x1b, 0x75, 0x9b, 0x0e, - 0xfd, 0x92, 0x05, 0x43, 0x0d, 0xa7, 0xe9, 0x34, 0x78, 0x16, 0x9b, 0x02, 0x3e, 0x19, 0xa3, 0xfc, - 0xcc, 0x82, 0x28, 0xcb, 0xfd, 0x09, 0x9f, 0x90, 0x5d, 0x97, 0xe0, 0x5c, 0x1f, 0x82, 0xaa, 0x7c, - 0xca, 0x83, 0x51, 0x83, 0xd9, 0x31, 0x1a, 0xa1, 0xbf, 0x64, 0xf1, 0x25, 0x5f, 0x19, 0x0a, 0xf7, - 0xe1, 0x54, 0xa0, 0xfd, 0xa7, 0x8b, 0x99, 0xd4, 0x8b, 0x67, 0x8a, 0x2f, 0xea, 0x6c, 0x0d, 0xd4, - 0x02, 0x05, 0x33, 0x0c, 0x71, 0x7b, 0x1d, 0xf6, 0xdf, 0xb6, 0xe0, 0x11, 0x9d, 0x50, 0xbb, 0xfc, - 0x98, 0xe7, 0x2b, 0xae, 0xc2, 0x50, 0xd8, 0x24, 0x91, 0x93, 0x1a, 0x45, 0x17, 0xe5, 0xe8, 0xdf, - 0x12, 0xf0, 0x83, 0xbd, 0xe9, 0x33, 0x3a, 0x77, 0x09, 0xc7, 0xaa, 0x24, 0xb2, 0x61, 0x80, 0x8d, - 0x4b, 0x2c, 0xae, 0xad, 0xb2, 0x9c, 0x2e, 0xec, 0x84, 0x24, 0xc6, 0x02, 0x63, 0xff, 0x55, 0x8b, - 0x0b, 0x9b, 0xde, 0x74, 0xf4, 0x15, 0x98, 0xd8, 0xa6, 0xf6, 0xd3, 0xe2, 0x83, 0x26, 0xdd, 0x46, - 0xd9, 0xc9, 0xb0, 0x55, 0x64, 0xf3, 0xe8, 0xd2, 0xdd, 0xf9, 0x49, 0xd1, 0xfa, 0x89, 0xd5, 0x0c, - 0x5b, 0xdc, 0x56, 0x91, 0xfd, 0xc7, 0x62, 0xc6, 0x32, 0x0d, 0xee, 0x19, 0x18, 0x6c, 0x86, 0xee, - 0xc2, 0x72, 0x15, 0x8b, 0xb1, 0x52, 0x4b, 0x4e, 0x8d, 0x83, 0xb1, 0xc4, 0xa3, 0x2b, 0x00, 0xe4, - 0x41, 0x42, 0xa2, 0xc0, 0xf1, 0xd5, 0x89, 0xae, 0x52, 0x94, 0x16, 0x15, 0x06, 0x6b, 0x54, 0xb4, - 0x4c, 0x33, 0x0a, 0x77, 0x3c, 0x97, 0x45, 0xed, 0x97, 0xcd, 0x32, 0x35, 0x85, 0xc1, 0x1a, 0x15, - 0xb5, 0x5a, 0x5b, 0x41, 0xcc, 0x37, 0x31, 0x67, 0x5d, 0xa4, 0x20, 0x19, 0x4a, 0xad, 0xd6, 0xdb, - 0x3a, 0x12, 0x9b, 0xb4, 0xf6, 0x7f, 0xac, 0x00, 0xa4, 0x6a, 0x12, 0x7a, 0xaf, 0x7d, 0x86, 0x7e, - 0xb2, 0xa8, 0x8e, 0xf5, 0xf0, 0xa6, 0x27, 0xfa, 0x86, 0x05, 0xc3, 0x8e, 0xef, 0x87, 0x0d, 0x27, - 0x61, 0x3d, 0x2a, 0x15, 0x5d, 0x2b, 0x44, 0x4b, 0xe6, 0xd2, 0xb2, 0xbc, 0x31, 0x2f, 0xc8, 0x03, - 0x3f, 0x0d, 0x93, 0xdb, 0x1e, 0xbd, 0x09, 0xe8, 0x13, 0x52, 0xcd, 0xe6, 0x1f, 0x65, 0x2a, 0xab, - 0x66, 0x57, 0xd8, 0x0a, 0xa9, 0x69, 0xd8, 0xe8, 0x4d, 0x23, 0xcb, 0x46, 0x5f, 0x91, 0xdb, 0x92, - 0x86, 0xe2, 0x90, 0x97, 0x60, 0x03, 0x7d, 0x51, 0x0f, 0x68, 0xee, 0x2f, 0x72, 0x1d, 0x59, 0xd3, - 0x5f, 0x73, 0x82, 0x99, 0x13, 0x18, 0x77, 0xcd, 0xad, 0x52, 0x04, 0x65, 0x5d, 0xce, 0xaf, 0x21, - 0xb3, 0xc7, 0xa6, 0x9b, 0x63, 0x06, 0x81, 0xb3, 0x55, 0xa0, 0x2f, 0xf2, 0x70, 0xf3, 0xe5, 0x60, - 0x23, 0x14, 0x81, 0x59, 0x97, 0x0a, 0x7c, 0xf3, 0xdd, 0x38, 0x21, 0xdb, 0xb4, 0x4c, 0xba, 0x1b, - 0xde, 0x14, 0x5c, 0xb0, 0xe2, 0x87, 0xd6, 0x60, 0x80, 0x5d, 0x8e, 0x89, 0x27, 0x87, 0x8a, 0xb8, - 0xce, 0xcc, 0x3b, 0xa1, 0xa9, 0x0a, 0xc2, 0xfe, 0xc6, 0x58, 0xf0, 0x42, 0xd7, 0xe5, 0xad, 0xf0, - 0x78, 0x39, 0xb8, 0x1d, 0x13, 0x76, 0x2b, 0xbc, 0x32, 0xff, 0xb1, 0xf4, 0x9a, 0x37, 0x87, 0x77, - 0xcc, 0x33, 0x66, 0x94, 0xa4, 0x9a, 0x88, 0xf8, 0x2f, 0xd3, 0x97, 0x4d, 0x42, 0x91, 0x86, 0x9a, - 0xc9, 0xce, 0xd2, 0xc1, 0xbe, 0x63, 0x32, 0xc3, 0x59, 0xee, 0x27, 0xb8, 0x07, 0x4e, 0xf9, 0x30, - 0x91, 0x9d, 0x92, 0xc7, 0xb8, 0xe3, 0xfe, 0x69, 0x1f, 0x8c, 0x99, 0x82, 0x81, 0x66, 0xa1, 0x22, - 0xb4, 0x29, 0x95, 0xca, 0x48, 0xc9, 0xff, 0xaa, 0x44, 0xe0, 0x94, 0x86, 0x25, 0x75, 0x62, 0xc5, - 0xb5, 0x70, 0x9c, 0x34, 0xa9, 0x93, 0xc2, 0x60, 0x8d, 0x8a, 0xaa, 0xad, 0xeb, 0x61, 0x98, 0xa8, - 0x85, 0x5b, 0xc9, 0xcc, 0x3c, 0x83, 0x62, 0x81, 0xa5, 0x0b, 0xf6, 0x3d, 0xda, 0x21, 0xdf, 0x74, - 0x01, 0xaa, 0x05, 0xfb, 0x86, 0x8e, 0xc4, 0x26, 0x2d, 0xdd, 0x80, 0xc2, 0x98, 0x09, 0xa1, 0x50, - 0x8e, 0xd3, 0xf0, 0xa6, 0x3a, 0xbf, 0x2c, 0x26, 0xf1, 0xe8, 0x0b, 0xf0, 0x88, 0xba, 0xdb, 0x85, - 0xb9, 0x4b, 0x55, 0xd6, 0x38, 0x60, 0xd8, 0xb7, 0x8f, 0x2c, 0x74, 0x26, 0xc3, 0xdd, 0xca, 0xa3, - 0x57, 0x61, 0x4c, 0x28, 0xb6, 0x92, 0xe3, 0xa0, 0x79, 0xfa, 0x7d, 0xc3, 0xc0, 0xe2, 0x0c, 0x35, - 0xaa, 0xc2, 0x04, 0x85, 0x30, 0x8d, 0x52, 0x72, 0xe0, 0x77, 0xd4, 0xd4, 0xce, 0x7c, 0x23, 0x83, - 0xc7, 0x6d, 0x25, 0xd0, 0x1c, 0x8c, 0x73, 0xdd, 0x82, 0x5a, 0x71, 0xec, 0x3b, 0x88, 0x48, 0x4a, - 0x35, 0x09, 0x6e, 0x99, 0x68, 0x9c, 0xa5, 0x47, 0x57, 0x61, 0xc4, 0x89, 0x1a, 0x5b, 0x5e, 0x42, - 0x1a, 0x49, 0x2b, 0xe2, 0xf9, 0x16, 0xb4, 0xf0, 0x81, 0x39, 0x0d, 0x87, 0x0d, 0x4a, 0xfb, 0x5d, - 0x38, 0xdd, 0x21, 0x6c, 0x9b, 0x0a, 0x8e, 0xd3, 0xf4, 0x64, 0x9f, 0x32, 0x81, 0x4a, 0x73, 0xb5, - 0x65, 0xd9, 0x1b, 0x8d, 0x8a, 0x4a, 0x27, 0xf3, 0x25, 0x6b, 0x99, 0x06, 0x95, 0x74, 0x2e, 0x49, - 0x04, 0x4e, 0x69, 0xec, 0xff, 0x59, 0x01, 0xcd, 0xd5, 0x52, 0x20, 0x3c, 0xe5, 0x2a, 0x8c, 0xc8, - 0xe4, 0x99, 0x5a, 0xd2, 0x3a, 0xd5, 0xcd, 0x6b, 0x1a, 0x0e, 0x1b, 0x94, 0xb4, 0x6d, 0x81, 0x74, - 0x20, 0x65, 0xc3, 0xa2, 0x94, 0x67, 0x09, 0xa7, 0x34, 0xe8, 0x12, 0x0c, 0xc5, 0xc4, 0xdf, 0x58, - 0xf1, 0x82, 0x7b, 0x42, 0xb0, 0xd5, 0xaa, 0x5c, 0x17, 0x70, 0xac, 0x28, 0xd0, 0x3c, 0x94, 0x5b, - 0x9e, 0x2b, 0x44, 0x59, 0xaa, 0x0c, 0xe5, 0xdb, 0xcb, 0xd5, 0x83, 0xbd, 0xe9, 0x27, 0xba, 0x65, - 0x1f, 0xa5, 0xc6, 0x74, 0x3c, 0x43, 0xa7, 0x1f, 0x2d, 0xdc, 0xc9, 0xa9, 0x3e, 0xd0, 0xa3, 0x53, - 0xfd, 0x0a, 0x80, 0xe8, 0xb5, 0x94, 0xe5, 0x72, 0xfa, 0xd5, 0xae, 0x29, 0x0c, 0xd6, 0xa8, 0xa8, - 0x49, 0xde, 0x88, 0x88, 0x23, 0xad, 0x56, 0x1e, 0x4e, 0x3c, 0x74, 0x74, 0x93, 0x7c, 0x21, 0xcb, - 0x0c, 0xb7, 0xf3, 0x47, 0x21, 0x9c, 0x72, 0xe9, 0x44, 0x32, 0x2a, 0xad, 0xf4, 0x1e, 0xc3, 0x4c, - 0x2b, 0xac, 0x66, 0x19, 0xe1, 0x76, 0xde, 0xe8, 0xcb, 0x30, 0x25, 0x81, 0xed, 0xb7, 0x37, 0xd9, - 0x74, 0x29, 0xcf, 0x9f, 0xdf, 0xdf, 0x9b, 0x9e, 0xaa, 0x76, 0xa5, 0xc2, 0x87, 0x70, 0x40, 0x6f, - 0xc0, 0x00, 0x3b, 0x84, 0x89, 0x27, 0x87, 0xd9, 0x6e, 0xf7, 0x62, 0x91, 0x48, 0x78, 0x2a, 0xf5, - 0x33, 0xec, 0x28, 0x47, 0xc4, 0x78, 0xa6, 0x27, 0x5b, 0x0c, 0x88, 0x05, 0x4f, 0xd4, 0x84, 0x61, - 0x27, 0x08, 0xc2, 0xc4, 0xe1, 0x4a, 0xd8, 0x48, 0x11, 0x3d, 0x52, 0xab, 0x62, 0x2e, 0x2d, 0xcb, - 0xeb, 0x51, 0x81, 0x63, 0x1a, 0x06, 0xeb, 0x55, 0xa0, 0xfb, 0x30, 0x1e, 0xde, 0xa7, 0x0b, 0xa6, - 0x3c, 0x87, 0x88, 0x27, 0x47, 0xcd, 0x8e, 0xe5, 0x78, 0x55, 0x8d, 0xc2, 0xda, 0x4a, 0x66, 0x32, - 0xc5, 0xd9, 0x5a, 0xd0, 0x8c, 0xe1, 0x5b, 0x1e, 0x4b, 0x23, 0x99, 0x53, 0xdf, 0xb2, 0xee, 0x4a, - 0x66, 0x37, 0x84, 0x79, 0xf4, 0x22, 0x5b, 0x11, 0xc6, 0x33, 0x37, 0x84, 0x53, 0x14, 0xd6, 0xe9, - 0xa6, 0x3e, 0x05, 0xc3, 0xda, 0xc0, 0xf7, 0x12, 0x32, 0x3b, 0xf5, 0x2a, 0x4c, 0x64, 0x07, 0xb4, - 0xa7, 0x90, 0xdb, 0xff, 0x51, 0x82, 0xf1, 0x0e, 0x87, 0x3c, 0xf7, 0x3c, 0x16, 0xf6, 0x6d, 0x2c, - 0x7d, 0x37, 0xbc, 0xc0, 0xc5, 0x0c, 0x63, 0x2e, 0x60, 0xa5, 0x02, 0x0b, 0x98, 0x5c, 0x4d, 0xcb, - 0x5d, 0x57, 0x53, 0xb1, 0x68, 0xf5, 0x7d, 0x90, 0x45, 0xcb, 0xdc, 0x27, 0xfa, 0x0b, 0xed, 0x13, - 0x0f, 0x61, 0xa1, 0x33, 0xb6, 0x9a, 0xc1, 0x02, 0x5b, 0xcd, 0xb7, 0x4b, 0x30, 0x91, 0x86, 0x17, - 0x8b, 0x8c, 0xba, 0xc7, 0x7f, 0x66, 0xb0, 0x66, 0x9c, 0x19, 0xe4, 0x25, 0xcc, 0xcd, 0xb4, 0xaf, - 0xeb, 0xf9, 0xc1, 0x1b, 0x99, 0xf3, 0x83, 0x17, 0x7b, 0xe4, 0x7b, 0xf8, 0x59, 0xc2, 0xf7, 0x4a, - 0x70, 0x36, 0x5b, 0x64, 0xc1, 0x77, 0xbc, 0xed, 0x13, 0x18, 0xaf, 0x2f, 0x18, 0xe3, 0xf5, 0x72, - 0x6f, 0xfd, 0x62, 0x8d, 0xec, 0x3a, 0x68, 0x4e, 0x66, 0xd0, 0x3e, 0x75, 0x14, 0xe6, 0x87, 0x8f, - 0xdc, 0x1f, 0x58, 0xf0, 0x68, 0xc7, 0x72, 0x27, 0xe0, 0x25, 0x7d, 0xdd, 0xf4, 0x92, 0xbe, 0x70, - 0x84, 0xde, 0x75, 0x71, 0x9b, 0xfe, 0xd7, 0x52, 0x97, 0x5e, 0x31, 0x4f, 0xd2, 0x2d, 0x18, 0x76, - 0x1a, 0x0d, 0x12, 0xc7, 0xab, 0xa1, 0xab, 0x72, 0x0d, 0x3d, 0xcf, 0xf6, 0x96, 0x14, 0x7c, 0xb0, - 0x37, 0x3d, 0x95, 0x65, 0x91, 0xa2, 0xb1, 0xce, 0xc1, 0xcc, 0x82, 0x56, 0x3a, 0xa6, 0x2c, 0x68, - 0x57, 0x00, 0x76, 0x94, 0x05, 0x9b, 0x75, 0x50, 0x69, 0xb6, 0xad, 0x46, 0x85, 0xfe, 0x3c, 0xd3, - 0x08, 0x79, 0x44, 0x45, 0x9f, 0x79, 0x53, 0x31, 0xe7, 0xfb, 0xe9, 0xd1, 0x19, 0xfc, 0x42, 0xa4, - 0x72, 0xe6, 0x29, 0x96, 0xf6, 0x3f, 0x2d, 0xc3, 0x47, 0x0f, 0x11, 0x3a, 0x34, 0x67, 0x1e, 0x90, - 0x3e, 0x97, 0xf5, 0xdc, 0x4c, 0x75, 0x2c, 0x6c, 0xb8, 0x72, 0x32, 0xdf, 0xaa, 0xf4, 0x81, 0xbf, - 0xd5, 0x37, 0x75, 0x3f, 0x1b, 0x0f, 0x8c, 0xbc, 0x76, 0xe4, 0x69, 0xf5, 0xb3, 0xe9, 0x17, 0xff, - 0x9a, 0x05, 0x4f, 0x74, 0xec, 0x94, 0x11, 0x8e, 0x31, 0x0b, 0x95, 0x06, 0x05, 0x6a, 0x37, 0x58, - 0xd2, 0xab, 0x63, 0x12, 0x81, 0x53, 0x1a, 0x23, 0xea, 0xa2, 0x94, 0x1b, 0x75, 0xf1, 0x7b, 0x16, - 0x9c, 0xc9, 0x36, 0xe2, 0x04, 0xd6, 0x9c, 0xba, 0xb9, 0xe6, 0xcc, 0xf4, 0xf6, 0xe9, 0xbb, 0x2c, - 0x37, 0xbf, 0x36, 0x0a, 0xe7, 0xda, 0x76, 0x2c, 0x3e, 0x8a, 0x3f, 0x67, 0xc1, 0xa9, 0x4d, 0xa6, - 0x79, 0x6b, 0xd7, 0x84, 0x44, 0xbf, 0x72, 0xee, 0x56, 0x1d, 0x7a, 0xbb, 0x88, 0xdb, 0x11, 0x6d, - 0x24, 0xb8, 0xbd, 0x32, 0xf4, 0x75, 0x0b, 0xce, 0x38, 0xf7, 0xe3, 0xb6, 0xb7, 0x1a, 0x84, 0x18, - 0xbd, 0x9a, 0xe3, 0xe4, 0xca, 0x79, 0xe5, 0x61, 0x7e, 0x72, 0x7f, 0x6f, 0xfa, 0x4c, 0x27, 0x2a, - 0xdc, 0xb1, 0x56, 0xfa, 0x7d, 0xb7, 0xc4, 0x35, 0x84, 0x62, 0x17, 0xde, 0x3a, 0x5d, 0x5a, 0xe0, - 0x4b, 0x92, 0xc4, 0x60, 0xc5, 0x11, 0xbd, 0x05, 0x95, 0x4d, 0x79, 0x33, 0x28, 0xbb, 0xe4, 0x75, - 0x19, 0xe6, 0x4e, 0x17, 0x89, 0x78, 0x68, 0xbc, 0x42, 0xe1, 0x94, 0x29, 0xba, 0x0e, 0xe5, 0x60, - 0x23, 0x16, 0x77, 0x70, 0xf3, 0x82, 0x6d, 0xcc, 0x10, 0x27, 0x7e, 0x6d, 0xf1, 0xe6, 0x52, 0x1d, - 0x53, 0x16, 0x94, 0x53, 0xb4, 0xee, 0x0a, 0xef, 0x6e, 0x0e, 0x27, 0x3c, 0x5f, 0x6d, 0xe7, 0x84, - 0xe7, 0xab, 0x98, 0xb2, 0x40, 0x35, 0xe8, 0x67, 0x97, 0x1c, 0x84, 0xeb, 0x36, 0xe7, 0xa2, 0x76, - 0xdb, 0x55, 0x0e, 0x9e, 0x68, 0x8f, 0x81, 0x31, 0x67, 0x84, 0xd6, 0x60, 0xa0, 0xc1, 0xd2, 0x92, - 0x0b, 0xbb, 0x3a, 0x2f, 0x85, 0x41, 0x5b, 0x0a, 0x73, 0x7e, 0xc4, 0xc4, 0xe1, 0x58, 0xf0, 0x62, - 0x5c, 0x49, 0x73, 0x6b, 0x23, 0x16, 0x86, 0x73, 0x1e, 0xd7, 0xb6, 0x04, 0xf3, 0x82, 0x2b, 0x83, - 0x63, 0xc1, 0x0b, 0x55, 0xa1, 0xb4, 0xd1, 0x10, 0xf9, 0x3a, 0x73, 0x5c, 0xb6, 0xe6, 0x1d, 0xd4, - 0xf9, 0x81, 0xfd, 0xbd, 0xe9, 0xd2, 0xd2, 0x02, 0x2e, 0x6d, 0x34, 0xd0, 0xeb, 0x30, 0xb8, 0xc1, - 0x6f, 0x15, 0x8a, 0xdc, 0x9c, 0x97, 0xf3, 0xae, 0x3e, 0xb6, 0x5d, 0x41, 0xe4, 0xd7, 0x1f, 0x04, - 0x02, 0x4b, 0x76, 0x2c, 0x6d, 0x99, 0xba, 0x27, 0x29, 0x92, 0x73, 0xce, 0xf4, 0x76, 0xaf, 0x52, - 0xd8, 0x93, 0x0a, 0x8a, 0x35, 0x8e, 0x54, 0xe6, 0x1d, 0xf9, 0xc2, 0x02, 0x4b, 0xcc, 0x99, 0x2b, - 0xf3, 0x1d, 0x1f, 0x64, 0xe0, 0x32, 0xaf, 0x50, 0x38, 0x65, 0x8a, 0x5a, 0x30, 0xba, 0x13, 0x37, - 0xb7, 0x88, 0x9c, 0xfa, 0x2c, 0x5b, 0xe7, 0xf0, 0x95, 0xcf, 0xe4, 0xa4, 0x60, 0x15, 0x45, 0xbc, - 0x28, 0x69, 0x39, 0x7e, 0xdb, 0x0a, 0xc6, 0xf2, 0x44, 0xdd, 0xd1, 0xd9, 0x62, 0xb3, 0x16, 0xfa, - 0x49, 0xde, 0x69, 0x85, 0xeb, 0xbb, 0x09, 0x11, 0xd9, 0x3c, 0x73, 0x3e, 0xc9, 0x6b, 0x9c, 0xb8, - 0xfd, 0x93, 0x08, 0x04, 0x96, 0xec, 0xd4, 0x90, 0xb1, 0xd5, 0x78, 0xa2, 0xf0, 0x90, 0xb5, 0xf5, - 0x21, 0x1d, 0x32, 0xb6, 0xfa, 0xa6, 0x4c, 0xd9, 0xaa, 0xdb, 0xdc, 0x0a, 0x93, 0x30, 0xc8, 0xac, - 0xfd, 0xa7, 0x8a, 0xac, 0xba, 0xb5, 0x0e, 0x25, 0xdb, 0x57, 0xdd, 0x4e, 0x54, 0xb8, 0x63, 0xad, - 0xf6, 0x1f, 0xf7, 0xb7, 0x6f, 0xb7, 0x4c, 0x19, 0xfe, 0x2b, 0xed, 0xe7, 0x8e, 0x9f, 0xeb, 0xdd, - 0xe6, 0x7b, 0x88, 0x27, 0x90, 0x5f, 0xb7, 0xe0, 0x5c, 0xb3, 0xe3, 0x66, 0x2a, 0x36, 0xac, 0x5e, - 0x4d, 0x47, 0x3e, 0x60, 0x2a, 0x55, 0x6d, 0x67, 0x3c, 0xee, 0x52, 0x67, 0x56, 0x01, 0x2d, 0x7f, - 0x60, 0x05, 0xf4, 0x2e, 0x0c, 0x31, 0x9d, 0x29, 0xcd, 0xab, 0xd1, 0x63, 0x0a, 0x0a, 0xb6, 0xf5, - 0x2d, 0x08, 0x16, 0x58, 0x31, 0xa3, 0x03, 0xf7, 0x78, 0xb6, 0x13, 0x98, 0x30, 0xb4, 0x48, 0xe7, - 0xca, 0x7d, 0x1d, 0x4b, 0x62, 0x24, 0x1e, 0xaf, 0x1d, 0x46, 0x7c, 0x90, 0x47, 0x80, 0x0f, 0xaf, - 0xec, 0x24, 0x15, 0xda, 0xbf, 0x67, 0x75, 0xd0, 0xbf, 0xb8, 0x09, 0xf2, 0x19, 0xd3, 0x04, 0x79, - 0x3a, 0x6b, 0x82, 0xb4, 0xb9, 0x0d, 0x0c, 0xeb, 0xa3, 0x78, 0x62, 0xc6, 0xa2, 0x09, 0x3f, 0x6c, - 0x1f, 0x2e, 0xe4, 0x4d, 0x6e, 0x16, 0xe1, 0xe3, 0xaa, 0xe3, 0xb2, 0x34, 0xc2, 0xc7, 0x5d, 0xae, - 0x62, 0x86, 0x29, 0x7a, 0x67, 0xdc, 0xfe, 0xf9, 0x12, 0x94, 0x6b, 0xa1, 0x7b, 0x02, 0x6e, 0x90, - 0x6b, 0x86, 0x1b, 0xe4, 0xa9, 0xdc, 0xf7, 0xa5, 0xba, 0x3a, 0x3d, 0x6e, 0x65, 0x9c, 0x1e, 0x1f, - 0xcf, 0x67, 0x75, 0xb8, 0x8b, 0xe3, 0xfb, 0x65, 0xd0, 0x5f, 0xc8, 0x42, 0xff, 0xe1, 0x28, 0x81, - 0x9f, 0xe5, 0x62, 0x8f, 0x66, 0x89, 0x3a, 0x58, 0x88, 0x90, 0xbc, 0x24, 0xf6, 0x33, 0x1b, 0xff, - 0x79, 0x97, 0x78, 0x9b, 0x5b, 0x09, 0x71, 0xb3, 0x1d, 0x3b, 0xb9, 0xf8, 0xcf, 0xff, 0x66, 0xc1, - 0x78, 0xa6, 0x76, 0xe4, 0x77, 0xba, 0x67, 0x72, 0x44, 0xc7, 0xc6, 0xa9, 0xdc, 0x8b, 0x29, 0x33, - 0x00, 0xca, 0x3f, 0x2d, 0xdd, 0x0f, 0x4c, 0x17, 0x53, 0x0e, 0xec, 0x18, 0x6b, 0x14, 0xe8, 0x25, - 0x18, 0x4e, 0xc2, 0x66, 0xe8, 0x87, 0x9b, 0xbb, 0x37, 0x88, 0xcc, 0x66, 0xa0, 0x7c, 0xfb, 0x6b, - 0x29, 0x0a, 0xeb, 0x74, 0xf6, 0x0f, 0xca, 0x90, 0x7d, 0x5f, 0xed, 0xff, 0xcb, 0xe9, 0xcf, 0x8e, - 0x9c, 0xfe, 0xa1, 0x05, 0x13, 0xb4, 0x76, 0x16, 0xe0, 0x21, 0xe3, 0x34, 0x55, 0x96, 0x78, 0xeb, - 0x90, 0x2c, 0xf1, 0x4f, 0xd3, 0xd5, 0xce, 0x0d, 0x5b, 0x89, 0x70, 0x99, 0x68, 0x8b, 0x18, 0x85, - 0x62, 0x81, 0x15, 0x74, 0x24, 0x8a, 0xc4, 0x85, 0x16, 0x9d, 0x8e, 0x44, 0x11, 0x16, 0x58, 0x99, - 0x44, 0xbe, 0xaf, 0x4b, 0x12, 0x79, 0x96, 0x0f, 0x48, 0x04, 0x16, 0x08, 0x75, 0x40, 0xcb, 0x07, - 0x24, 0x23, 0x0e, 0x52, 0x1a, 0xfb, 0xbb, 0x65, 0x18, 0xa9, 0x85, 0x6e, 0x1a, 0x80, 0xfd, 0xa2, - 0x11, 0x80, 0x7d, 0x21, 0x13, 0x80, 0x3d, 0xa1, 0xd3, 0x3e, 0x9c, 0xf8, 0x6b, 0x91, 0x37, 0x8a, - 0x3d, 0x73, 0x70, 0xc4, 0xd8, 0x6b, 0x23, 0x6f, 0x94, 0x62, 0x84, 0x4d, 0xbe, 0x7f, 0x96, 0x62, - 0xae, 0xff, 0xb7, 0x05, 0x63, 0xb5, 0xd0, 0xa5, 0x02, 0xfa, 0x67, 0x49, 0x1a, 0xf5, 0x6c, 0x53, - 0x03, 0x87, 0x64, 0x9b, 0xfa, 0x47, 0x16, 0x0c, 0xd6, 0x42, 0xf7, 0x04, 0xdc, 0x89, 0x4b, 0xa6, - 0x3b, 0xf1, 0x89, 0xdc, 0x95, 0xb7, 0x8b, 0x07, 0xf1, 0x37, 0xcb, 0x30, 0x4a, 0x5b, 0x1c, 0x6e, - 0xca, 0xef, 0x65, 0x8c, 0x8d, 0x55, 0x60, 0x6c, 0xa8, 0x4a, 0x18, 0xfa, 0x7e, 0x78, 0x3f, 0xfb, - 0xed, 0x96, 0x18, 0x14, 0x0b, 0x2c, 0xba, 0x04, 0x43, 0xcd, 0x88, 0xec, 0x78, 0x61, 0x2b, 0xce, - 0x5e, 0x8e, 0xab, 0x09, 0x38, 0x56, 0x14, 0xe8, 0x45, 0x18, 0x89, 0xbd, 0xa0, 0x41, 0x64, 0xd8, - 0x41, 0x1f, 0x0b, 0x3b, 0xe0, 0x89, 0xfd, 0x34, 0x38, 0x36, 0xa8, 0xd0, 0x5d, 0xa8, 0xb0, 0xff, - 0x6c, 0x06, 0xf5, 0x9e, 0x05, 0x9e, 0x67, 0xb3, 0x92, 0x0c, 0x70, 0xca, 0x0b, 0x5d, 0x01, 0x48, - 0x64, 0x80, 0x44, 0x2c, 0xb2, 0x72, 0x28, 0xbd, 0x54, 0x85, 0x4e, 0xc4, 0x58, 0xa3, 0x42, 0xcf, - 0x41, 0x25, 0x71, 0x3c, 0x7f, 0xc5, 0x0b, 0x48, 0x2c, 0x02, 0x4c, 0x44, 0x92, 0x5e, 0x01, 0xc4, - 0x29, 0x9e, 0xee, 0xf7, 0xec, 0x6a, 0x2e, 0x7f, 0x61, 0x62, 0x88, 0x51, 0xb3, 0xfd, 0x7e, 0x45, - 0x41, 0xb1, 0x46, 0x61, 0x5f, 0x85, 0xb3, 0xb5, 0xd0, 0xad, 0x85, 0x51, 0xb2, 0x14, 0x46, 0xf7, - 0x9d, 0xc8, 0x95, 0xdf, 0x6f, 0x5a, 0xe6, 0x86, 0xa5, 0x7b, 0x72, 0x3f, 0xf7, 0xb0, 0x19, 0xb9, - 0x5e, 0x5f, 0x60, 0x3b, 0x7e, 0x8f, 0x91, 0xfd, 0x3f, 0x2e, 0x01, 0xaa, 0xb1, 0x10, 0x0e, 0xe3, - 0x41, 0x92, 0x2d, 0x18, 0x8b, 0xc9, 0x8a, 0x17, 0xb4, 0x1e, 0x08, 0x56, 0xc5, 0xae, 0x52, 0xd4, - 0x17, 0xf5, 0x32, 0xfc, 0x1e, 0xab, 0x09, 0xc3, 0x19, 0xbe, 0x74, 0x30, 0xa3, 0x56, 0x30, 0x17, - 0xdf, 0x8e, 0x49, 0x24, 0x1e, 0xe0, 0x60, 0x83, 0x89, 0x25, 0x10, 0xa7, 0x78, 0x2a, 0x3c, 0xec, - 0xcf, 0xcd, 0x30, 0xc0, 0x61, 0x98, 0x48, 0x71, 0x63, 0x09, 0xd9, 0x35, 0x38, 0x36, 0xa8, 0xd0, - 0x12, 0xa0, 0xb8, 0xd5, 0x6c, 0xfa, 0xec, 0x54, 0xcc, 0xf1, 0xaf, 0x45, 0x61, 0xab, 0xc9, 0xa3, - 0x78, 0x45, 0x2e, 0xf3, 0x7a, 0x1b, 0x16, 0x77, 0x28, 0x41, 0x17, 0x8b, 0x8d, 0x98, 0xfd, 0x16, - 0xf7, 0x74, 0xb9, 0x77, 0xae, 0xce, 0x40, 0x58, 0xe2, 0xec, 0xaf, 0xb2, 0x0d, 0x8e, 0xbd, 0x8c, - 0x90, 0xb4, 0x22, 0x82, 0xb6, 0x61, 0xb4, 0xc9, 0x36, 0xb1, 0x24, 0x0a, 0x7d, 0x9f, 0x48, 0xfd, - 0xf2, 0x68, 0x41, 0x24, 0x3c, 0x17, 0xba, 0xce, 0x0e, 0x9b, 0xdc, 0xed, 0x9f, 0x0c, 0xb3, 0xb5, - 0x4a, 0x1c, 0x4c, 0x0e, 0x8a, 0x50, 0x51, 0xa1, 0xc9, 0x7d, 0xac, 0xc8, 0x1b, 0x47, 0xe9, 0x3e, - 0x20, 0x02, 0x4f, 0xb1, 0xe4, 0x82, 0xbe, 0xc4, 0x02, 0xa1, 0xf9, 0x02, 0x51, 0xfc, 0xe1, 0x31, - 0x4e, 0x6f, 0x04, 0x41, 0x0b, 0x16, 0x58, 0x63, 0x87, 0x56, 0x60, 0x54, 0x24, 0xd2, 0x17, 0xee, - 0x85, 0xb2, 0x61, 0x62, 0x8f, 0x62, 0x1d, 0x79, 0x90, 0x05, 0x60, 0xb3, 0x30, 0xda, 0x84, 0xc7, - 0xb5, 0x87, 0x62, 0x3a, 0x04, 0x3c, 0xf1, 0x95, 0xe7, 0x89, 0xfd, 0xbd, 0xe9, 0xc7, 0xd7, 0x0e, - 0x23, 0xc4, 0x87, 0xf3, 0x41, 0xb7, 0xe0, 0xac, 0xd3, 0x48, 0xbc, 0x1d, 0x52, 0x25, 0x8e, 0xeb, - 0x7b, 0x01, 0x31, 0x2f, 0x73, 0x3f, 0xba, 0xbf, 0x37, 0x7d, 0x76, 0xae, 0x13, 0x01, 0xee, 0x5c, - 0x0e, 0x7d, 0x06, 0x2a, 0x6e, 0x10, 0x8b, 0x31, 0x18, 0x30, 0xde, 0x45, 0xaa, 0x54, 0x6f, 0xd6, - 0x55, 0xff, 0xd3, 0x3f, 0x38, 0x2d, 0x80, 0xde, 0xe1, 0x4f, 0x4c, 0x2b, 0x6b, 0x86, 0xbf, 0xc7, - 0xf5, 0x72, 0x21, 0xfb, 0xd9, 0xb8, 0x64, 0xc1, 0x3d, 0x6f, 0x2a, 0xb0, 0xd0, 0xb8, 0x7f, 0x61, - 0x54, 0x81, 0x3e, 0x0f, 0x28, 0x26, 0xd1, 0x8e, 0xd7, 0x20, 0x73, 0x0d, 0x96, 0x0d, 0x93, 0x1d, - 0xf1, 0x0d, 0x19, 0xd1, 0xf5, 0xa8, 0xde, 0x46, 0x81, 0x3b, 0x94, 0x42, 0xd7, 0xe9, 0xca, 0xa3, - 0x43, 0x45, 0x1c, 0xa8, 0x54, 0x0c, 0x27, 0xab, 0xa4, 0x19, 0x91, 0x86, 0x93, 0x10, 0xd7, 0xe4, - 0x88, 0x33, 0xe5, 0xe8, 0xbe, 0xa4, 0x12, 0x9e, 0x83, 0x19, 0xbd, 0xd8, 0x9e, 0xf4, 0x9c, 0xda, - 0x59, 0x5b, 0x61, 0x9c, 0xdc, 0x24, 0xc9, 0xfd, 0x30, 0xba, 0xc7, 0x3c, 0xf6, 0x43, 0x5a, 0x72, - 0xb1, 0x14, 0x85, 0x75, 0x3a, 0xaa, 0x43, 0xb1, 0xa3, 0xa2, 0xe5, 0x2a, 0xf3, 0xc3, 0x0f, 0xa5, - 0x73, 0xe7, 0x3a, 0x07, 0x63, 0x89, 0x97, 0xa4, 0xcb, 0xb5, 0x05, 0xe6, 0x53, 0xcf, 0x90, 0x2e, - 0xd7, 0x16, 0xb0, 0xc4, 0xa3, 0xb0, 0xfd, 0xf5, 0xa9, 0xb1, 0x22, 0xe7, 0x1b, 0xed, 0x2b, 0x79, - 0xc1, 0x07, 0xa8, 0x1e, 0xc0, 0x84, 0x7a, 0x01, 0x8b, 0x67, 0x7d, 0x8c, 0x27, 0xc7, 0x8b, 0x3c, - 0x70, 0xdd, 0x31, 0x79, 0xa4, 0x0a, 0xfc, 0x5d, 0xce, 0xf0, 0xc4, 0x6d, 0xb5, 0x18, 0x49, 0x09, - 0x26, 0x72, 0x93, 0xd8, 0xcf, 0x42, 0x25, 0x6e, 0xad, 0xbb, 0xe1, 0xb6, 0xe3, 0x05, 0xcc, 0xf1, - 0xad, 0x3f, 0xd7, 0x2c, 0x11, 0x38, 0xa5, 0x41, 0x35, 0x18, 0x72, 0xe4, 0x4b, 0xe5, 0xa8, 0xc8, - 0xa5, 0x65, 0xf5, 0x44, 0x39, 0xf3, 0x8a, 0xaa, 0xb7, 0xc9, 0x15, 0x17, 0xf4, 0x0a, 0x8c, 0x8a, - 0x5b, 0x37, 0x24, 0x62, 0xad, 0x3e, 0x6d, 0x86, 0x7c, 0xd7, 0x25, 0x92, 0x09, 0x98, 0x49, 0x3b, - 0xf5, 0x59, 0x38, 0xd5, 0x36, 0xc5, 0x7a, 0x0a, 0x9c, 0xfb, 0xb7, 0x7d, 0x50, 0x51, 0x1e, 0x2a, - 0x34, 0x6b, 0x3a, 0x23, 0x1f, 0xcd, 0x3a, 0x23, 0x87, 0xa8, 0x42, 0xa0, 0xfb, 0x1f, 0xbf, 0xdc, - 0xe1, 0xb9, 0xd8, 0x67, 0x73, 0x65, 0xaa, 0xf8, 0x3d, 0x96, 0x1e, 0x1e, 0xd5, 0x4d, 0xad, 0x94, - 0xbe, 0x43, 0xad, 0x94, 0x82, 0xef, 0x52, 0x51, 0x7b, 0xa4, 0x19, 0xba, 0xcb, 0xb5, 0xec, 0xb3, - 0x2b, 0x35, 0x0a, 0xc4, 0x1c, 0xc7, 0xf4, 0x48, 0xba, 0x47, 0x30, 0x3d, 0x72, 0xf0, 0x88, 0x7a, - 0xa4, 0x64, 0x80, 0x53, 0x5e, 0x68, 0x07, 0x4e, 0x35, 0xcc, 0x57, 0x74, 0xd4, 0xed, 0x94, 0xe7, - 0x7b, 0x78, 0xc5, 0xa6, 0xa5, 0xbd, 0x18, 0xb0, 0x90, 0xe5, 0x87, 0xdb, 0xab, 0x40, 0xaf, 0xc0, - 0xd0, 0x3b, 0x61, 0xbc, 0xe0, 0x3b, 0x71, 0x2c, 0x16, 0x4a, 0x79, 0x13, 0x60, 0xe8, 0xb5, 0x5b, - 0x75, 0x06, 0x3f, 0xe0, 0x0f, 0xfa, 0xcb, 0xbf, 0x58, 0x15, 0xb0, 0x7f, 0x87, 0x7b, 0xc3, 0x84, - 0x7d, 0x4c, 0xe2, 0x96, 0x7f, 0x12, 0x89, 0xb3, 0x6f, 0x19, 0xa6, 0xfb, 0x43, 0xf0, 0xc7, 0xfe, - 0x7b, 0x8b, 0xf9, 0x63, 0xd7, 0xc8, 0x76, 0xd3, 0x77, 0x92, 0x93, 0x08, 0x69, 0xfc, 0x12, 0x0c, - 0x25, 0xa2, 0xb6, 0x62, 0x59, 0xbf, 0xb5, 0xe6, 0x31, 0x3f, 0xb5, 0x5a, 0xe3, 0x24, 0x14, 0x2b, - 0x86, 0xf6, 0xbf, 0xe0, 0x5f, 0x45, 0x62, 0x4e, 0xc0, 0xe8, 0xbc, 0x69, 0x1a, 0x9d, 0xcf, 0x14, - 0xee, 0x4b, 0x17, 0xe3, 0xf3, 0x07, 0x66, 0x0f, 0x98, 0x2a, 0xfa, 0xb3, 0x73, 0x60, 0x60, 0xdf, - 0x02, 0xf3, 0xb5, 0x21, 0xf4, 0x2a, 0x0f, 0x12, 0xe6, 0x8b, 0xec, 0xa5, 0x9e, 0x03, 0x84, 0xed, - 0xdf, 0x28, 0xc1, 0x19, 0xee, 0x32, 0x9c, 0xdb, 0x09, 0x3d, 0xb7, 0x16, 0xba, 0x22, 0x64, 0xda, - 0x85, 0x91, 0xa6, 0x66, 0x2a, 0x14, 0xcb, 0x07, 0xa1, 0x1b, 0x17, 0xa9, 0x7a, 0xa6, 0x43, 0xb1, - 0xc1, 0x95, 0xd6, 0x42, 0x76, 0xbc, 0x86, 0xf2, 0x40, 0x95, 0x7a, 0x5e, 0xf7, 0x54, 0x2d, 0x8b, - 0x1a, 0x1f, 0x6c, 0x70, 0x3d, 0x86, 0x04, 0xf5, 0xf6, 0xdf, 0xb1, 0xe0, 0x91, 0x2e, 0x39, 0x23, - 0x68, 0x75, 0xf7, 0x99, 0x9b, 0x56, 0x3c, 0x67, 0xa5, 0xaa, 0xe3, 0xce, 0x5b, 0x2c, 0xb0, 0x68, - 0x1d, 0x80, 0x3b, 0x5f, 0xd9, 0x93, 0xc5, 0xa5, 0x22, 0xb1, 0x12, 0x6d, 0x77, 0xb3, 0xb5, 0x6b, - 0xbb, 0xea, 0x91, 0x62, 0x8d, 0xab, 0xfd, 0x9d, 0x32, 0xf4, 0xf3, 0x57, 0x53, 0x6b, 0x30, 0xb8, - 0xc5, 0x33, 0x57, 0xf6, 0x96, 0x38, 0x33, 0x55, 0x05, 0x39, 0x00, 0x4b, 0x36, 0x68, 0x15, 0x4e, - 0x53, 0xbd, 0xc3, 0x73, 0xfc, 0x2a, 0xf1, 0x9d, 0x5d, 0x69, 0x5b, 0xf0, 0xac, 0xe5, 0x32, 0xc1, - 0xee, 0xe9, 0xe5, 0x76, 0x12, 0xdc, 0xa9, 0x1c, 0x7a, 0xb5, 0x2d, 0xe5, 0x14, 0xcf, 0x08, 0xaa, - 0x6e, 0x7b, 0x1d, 0x9e, 0x76, 0x8a, 0x6a, 0x3f, 0xcd, 0x36, 0x2b, 0x4a, 0x7b, 0x9c, 0xd2, 0xb4, - 0x9c, 0x4c, 0x5a, 0x54, 0x85, 0x89, 0xb8, 0xc5, 0x4e, 0xae, 0xd7, 0xb6, 0x22, 0x12, 0x6f, 0x85, - 0xbe, 0x2b, 0xde, 0x55, 0x53, 0x1a, 0x63, 0x3d, 0x83, 0xc7, 0x6d, 0x25, 0x28, 0x97, 0x0d, 0xc7, - 0xf3, 0x5b, 0x11, 0x49, 0xb9, 0x0c, 0x98, 0x5c, 0x96, 0x32, 0x78, 0xdc, 0x56, 0xc2, 0xfe, 0x13, - 0x0b, 0x4e, 0x77, 0x08, 0xef, 0xe0, 0x41, 0x87, 0x9b, 0x5e, 0x9c, 0xa8, 0xdc, 0xd4, 0x5a, 0xd0, - 0x21, 0x87, 0x63, 0x45, 0x41, 0xa5, 0x90, 0x9b, 0xc6, 0xd9, 0x63, 0x53, 0x71, 0x80, 0x2d, 0xb0, - 0xbd, 0x25, 0x90, 0x42, 0x17, 0xa0, 0xaf, 0x15, 0x93, 0x48, 0x3e, 0xd3, 0x24, 0x97, 0x28, 0xe6, - 0x0d, 0x61, 0x18, 0xaa, 0xec, 0x6c, 0x2a, 0x47, 0x84, 0xa6, 0xec, 0x70, 0x57, 0x04, 0xc7, 0xd9, - 0xdf, 0x2c, 0xc3, 0x78, 0x26, 0xcc, 0x8b, 0x36, 0x64, 0x3b, 0x0c, 0xbc, 0x24, 0x54, 0x49, 0x8b, - 0xf8, 0xcb, 0x30, 0xa4, 0xb9, 0xb5, 0x2a, 0xe0, 0x58, 0x51, 0xa0, 0xa7, 0xcd, 0x27, 0xac, 0xd3, - 0x36, 0xcf, 0x57, 0x8d, 0xd7, 0xec, 0x8a, 0xe6, 0xcb, 0x7f, 0x12, 0xfa, 0x9a, 0xa1, 0x7a, 0x99, - 0x54, 0x09, 0x3d, 0x9e, 0xaf, 0xd6, 0xc2, 0xd0, 0xc7, 0x0c, 0x89, 0x9e, 0x12, 0xbd, 0xcf, 0xf8, - 0x6f, 0xb1, 0xe3, 0x86, 0xb1, 0x36, 0x04, 0xcf, 0xc0, 0xe0, 0x3d, 0xb2, 0x1b, 0x79, 0xc1, 0x66, - 0xd6, 0x7b, 0x7d, 0x83, 0x83, 0xb1, 0xc4, 0x9b, 0x39, 0xf1, 0x07, 0x8f, 0x39, 0x27, 0xfe, 0x50, - 0x6e, 0xa4, 0xea, 0x6f, 0x5a, 0x30, 0xce, 0x32, 0xf9, 0x89, 0x8b, 0xb4, 0x5e, 0x18, 0x9c, 0xc0, - 0xf6, 0xf8, 0x24, 0xf4, 0x47, 0xb4, 0xd2, 0x6c, 0x5a, 0x6b, 0xd6, 0x12, 0xcc, 0x71, 0xe8, 0x31, - 0xe8, 0x63, 0x4d, 0xa0, 0x9f, 0x71, 0x84, 0xa7, 0x09, 0xae, 0x3a, 0x89, 0x83, 0x19, 0x94, 0xdd, - 0x8a, 0xc0, 0xa4, 0xe9, 0x7b, 0xbc, 0xd1, 0xa9, 0xd3, 0xe9, 0xc3, 0x76, 0x2b, 0xa2, 0x63, 0x23, - 0x1f, 0xd6, 0xad, 0x88, 0xce, 0xcc, 0x0f, 0x57, 0x51, 0xff, 0x7b, 0x09, 0xce, 0x77, 0x2c, 0x97, - 0x9e, 0x83, 0x2d, 0x19, 0xe7, 0x60, 0x57, 0x32, 0xe7, 0x60, 0xf6, 0xe1, 0xa5, 0x1f, 0xce, 0xc9, - 0x58, 0xe7, 0x03, 0xab, 0xf2, 0x09, 0x1e, 0x58, 0xf5, 0x15, 0x55, 0x1d, 0xfa, 0x73, 0x54, 0x87, - 0x3f, 0xb0, 0xe0, 0xd1, 0x8e, 0x43, 0xf6, 0xa1, 0xbb, 0x86, 0xd2, 0xb1, 0x95, 0x5d, 0x14, 0xeb, - 0x5f, 0x2e, 0x77, 0xe9, 0x15, 0x53, 0xb1, 0x2f, 0xd2, 0x55, 0x88, 0x21, 0x63, 0xa1, 0x14, 0x8d, - 0xf0, 0x15, 0x88, 0xc3, 0xb0, 0xc2, 0xa2, 0x58, 0xbb, 0xc6, 0xc1, 0x1b, 0xb9, 0x78, 0xc4, 0x09, - 0x35, 0x63, 0x7a, 0x0b, 0xf5, 0xfb, 0xc1, 0x99, 0xcb, 0x1d, 0xe8, 0xae, 0x66, 0x34, 0x95, 0x8f, - 0x62, 0x34, 0x8d, 0x74, 0x36, 0x98, 0xd0, 0x1c, 0x8c, 0x6f, 0x7b, 0x01, 0x7b, 0x4a, 0xcf, 0xd4, - 0x4a, 0xd4, 0x5d, 0xba, 0x55, 0x13, 0x8d, 0xb3, 0xf4, 0x53, 0xaf, 0xc0, 0xe8, 0xd1, 0x7d, 0x32, - 0xef, 0x97, 0xe1, 0xa3, 0x87, 0x2c, 0x0a, 0x7c, 0x77, 0x30, 0xbe, 0x8b, 0xb6, 0x3b, 0xb4, 0x7d, - 0x9b, 0x1a, 0x9c, 0xd9, 0x68, 0xf9, 0xfe, 0x2e, 0x8b, 0x22, 0x21, 0xae, 0xa4, 0x10, 0x1a, 0x9f, - 0x7a, 0xe4, 0x76, 0xa9, 0x03, 0x0d, 0xee, 0x58, 0x12, 0x7d, 0x1e, 0x50, 0xb8, 0xce, 0x72, 0x5d, - 0xba, 0xe9, 0xfd, 0x67, 0xf6, 0x09, 0xca, 0xe9, 0x54, 0xbd, 0xd5, 0x46, 0x81, 0x3b, 0x94, 0xa2, - 0xfa, 0x1f, 0x7b, 0x1f, 0x57, 0x35, 0x2b, 0xa3, 0xff, 0x61, 0x1d, 0x89, 0x4d, 0x5a, 0x74, 0x0d, - 0x4e, 0x39, 0x3b, 0x8e, 0xc7, 0xb3, 0xd7, 0x48, 0x06, 0x5c, 0x01, 0x54, 0x5e, 0x8f, 0xb9, 0x2c, - 0x01, 0x6e, 0x2f, 0x83, 0x9a, 0x86, 0x1b, 0x8b, 0xe7, 0xb6, 0xfe, 0xcc, 0x11, 0x24, 0xb8, 0xb0, - 0x63, 0xcb, 0xfe, 0x89, 0x45, 0xb7, 0xbe, 0x0e, 0xaf, 0xae, 0x19, 0xcf, 0xb5, 0x6b, 0x57, 0x5b, - 0xda, 0x9f, 0x6b, 0xe7, 0xfe, 0x40, 0x83, 0x96, 0x8b, 0x46, 0x9c, 0x06, 0xa3, 0x1a, 0xda, 0xa6, - 0xb8, 0xd1, 0xa5, 0x28, 0xd0, 0x5d, 0x18, 0x74, 0xbd, 0x1d, 0x2f, 0x0e, 0xa3, 0x02, 0x0f, 0x24, - 0xb7, 0x05, 0x38, 0xa6, 0xab, 0x65, 0x95, 0x33, 0xc1, 0x92, 0x9b, 0xfd, 0xad, 0x12, 0x8c, 0xca, - 0xfa, 0x5e, 0x6b, 0x85, 0x89, 0x73, 0x02, 0x1b, 0xfa, 0x6b, 0xc6, 0x86, 0x3e, 0x5b, 0xec, 0x7a, - 0x1b, 0x6b, 0x5c, 0xd7, 0x8d, 0xfc, 0x0b, 0x99, 0x8d, 0xfc, 0x72, 0x2f, 0x4c, 0x0f, 0xdf, 0xc0, - 0xff, 0xb5, 0x05, 0xa7, 0x0c, 0xfa, 0x13, 0xd8, 0x47, 0x6a, 0xe6, 0x3e, 0xf2, 0x5c, 0x0f, 0xbd, - 0xe9, 0xb2, 0x7f, 0x7c, 0xa7, 0x94, 0xe9, 0x05, 0xdb, 0x37, 0xbe, 0x02, 0x7d, 0x5b, 0x4e, 0xe4, - 0x16, 0x4b, 0xe3, 0xd6, 0x56, 0x7c, 0xe6, 0xba, 0x13, 0xb9, 0x7c, 0xf5, 0xbf, 0xa4, 0xde, 0x84, - 0x71, 0x22, 0x37, 0x37, 0x42, 0x9b, 0x55, 0x8a, 0xae, 0xc2, 0x40, 0xdc, 0x08, 0x9b, 0x2a, 0x16, - 0xee, 0x02, 0x7f, 0x2f, 0x86, 0x42, 0x0e, 0xf6, 0xa6, 0x91, 0x59, 0x1d, 0x05, 0x63, 0x41, 0x3f, - 0x45, 0xa0, 0xa2, 0xaa, 0x3e, 0xc6, 0x58, 0xe0, 0xf7, 0xcb, 0x70, 0xba, 0x83, 0xa4, 0xa0, 0xaf, - 0x1a, 0xa3, 0xf6, 0x4a, 0xcf, 0xa2, 0xf6, 0x01, 0xc7, 0xed, 0xab, 0xcc, 0x4a, 0x72, 0x85, 0x6c, - 0x1c, 0xa1, 0xfa, 0xdb, 0x31, 0xc9, 0x56, 0x4f, 0x41, 0xf9, 0xd5, 0xd3, 0x6a, 0x4f, 0x68, 0xf0, - 0x69, 0x35, 0xaa, 0x9d, 0xc7, 0xf8, 0x8d, 0xdf, 0xeb, 0x83, 0x33, 0x9d, 0x6e, 0xd0, 0xa2, 0x5f, - 0xb4, 0x32, 0x59, 0xda, 0x5f, 0xed, 0xfd, 0x1a, 0x2e, 0x4f, 0xdd, 0x2e, 0xb2, 0x4e, 0xcc, 0x98, - 0x79, 0xdb, 0x73, 0x47, 0x5b, 0xd4, 0xce, 0x6e, 0x55, 0x44, 0x3c, 0xdf, 0xbe, 0x5c, 0x0f, 0x3e, - 0x77, 0x84, 0xa6, 0x88, 0x94, 0xfd, 0x71, 0xe6, 0x56, 0x85, 0x04, 0xe7, 0xdf, 0xaa, 0x90, 0x6d, - 0x98, 0xda, 0x84, 0x61, 0xad, 0x5f, 0xc7, 0x28, 0x02, 0x1e, 0xdd, 0x9a, 0xb4, 0x56, 0x1f, 0xa3, - 0x18, 0xfc, 0xaa, 0x05, 0x99, 0x70, 0x15, 0xe5, 0x8a, 0xb1, 0xba, 0xba, 0x62, 0x2e, 0x40, 0x5f, - 0x14, 0xfa, 0x24, 0x9b, 0x3d, 0x1c, 0x87, 0x3e, 0xc1, 0x0c, 0xa3, 0x9e, 0x86, 0x2c, 0x77, 0x7b, - 0x1a, 0x92, 0xda, 0xe6, 0x3e, 0xd9, 0x21, 0xd2, 0x31, 0xa2, 0x16, 0xef, 0x15, 0x0a, 0xc4, 0x1c, - 0x67, 0xff, 0x7e, 0x19, 0x06, 0xb8, 0xf7, 0xe1, 0x04, 0x76, 0xe7, 0x9a, 0x70, 0x04, 0x14, 0xba, - 0xd5, 0xca, 0x5b, 0x35, 0x53, 0x75, 0x12, 0x87, 0x0b, 0x96, 0xea, 0x63, 0xea, 0x3c, 0x40, 0x33, - 0xc6, 0x28, 0x4c, 0x65, 0xec, 0x5b, 0xe0, 0x3c, 0xb4, 0x31, 0xd9, 0x02, 0x88, 0xd9, 0x63, 0x64, - 0x94, 0x87, 0xc8, 0xb9, 0xf7, 0x62, 0xa1, 0x76, 0xd4, 0x55, 0x31, 0xde, 0x9a, 0x34, 0xd9, 0x97, - 0x42, 0x60, 0x8d, 0xf7, 0xd4, 0xcb, 0x50, 0x51, 0xc4, 0x79, 0x8a, 0xff, 0x88, 0x2e, 0x9a, 0x7f, - 0x0e, 0xc6, 0x33, 0x75, 0xf5, 0x64, 0x37, 0xfc, 0x8a, 0x05, 0xe3, 0x99, 0x57, 0x94, 0xd1, 0x7b, - 0x16, 0x9c, 0xf1, 0x3b, 0x38, 0x9f, 0xc4, 0x67, 0x3e, 0x8a, 0xdb, 0x4a, 0x99, 0x0c, 0x9d, 0xb0, - 0xb8, 0x63, 0x6d, 0xf6, 0x6f, 0x59, 0x70, 0xaa, 0xed, 0xf9, 0xdd, 0x0f, 0x49, 0xe3, 0x64, 0x82, - 0xd3, 0x52, 0xe7, 0x04, 0xa7, 0xf6, 0x6f, 0x58, 0x20, 0xa4, 0xe9, 0x04, 0x74, 0xb4, 0x65, 0x53, - 0x47, 0xfb, 0x58, 0x11, 0x01, 0xed, 0xa2, 0x9c, 0xfd, 0x9e, 0x05, 0x88, 0x13, 0x64, 0x9f, 0x4b, - 0xe4, 0x8e, 0x46, 0xcd, 0xb8, 0x48, 0x25, 0x5a, 0x61, 0xb0, 0x46, 0xd5, 0x63, 0xee, 0x7b, 0xf5, - 0xcc, 0x58, 0xe7, 0x86, 0xa1, 0xcb, 0x30, 0x2c, 0x9e, 0x19, 0x5a, 0x4d, 0x9f, 0x10, 0x1b, 0x67, - 0x8f, 0x59, 0xa6, 0x60, 0xac, 0xd3, 0xd8, 0xbf, 0x53, 0x86, 0x6c, 0xd0, 0x09, 0x7a, 0x0b, 0x46, - 0x1a, 0x4e, 0xd3, 0x59, 0xf7, 0x7c, 0x2f, 0xf1, 0x48, 0x5c, 0xec, 0xb0, 0x6b, 0x41, 0x2b, 0x21, - 0x5c, 0xd5, 0x1a, 0x04, 0x1b, 0x1c, 0xd1, 0x0c, 0x40, 0x33, 0xf2, 0x76, 0x3c, 0x9f, 0x6c, 0x32, - 0xcd, 0x88, 0x45, 0xad, 0xf2, 0x73, 0x1b, 0x09, 0xc5, 0x1a, 0x45, 0x87, 0x28, 0xc7, 0xf2, 0x49, - 0x44, 0x39, 0xf6, 0xf5, 0x18, 0xe5, 0xd8, 0x5f, 0x28, 0xca, 0x11, 0xc3, 0x39, 0xe9, 0x61, 0xa6, - 0xff, 0x97, 0x3c, 0x9f, 0xf0, 0x84, 0x86, 0x22, 0xaa, 0x75, 0x6a, 0x7f, 0x6f, 0xfa, 0x1c, 0xee, - 0x48, 0x81, 0xbb, 0x94, 0xb4, 0x5b, 0x70, 0xba, 0x4e, 0x22, 0x8f, 0xe5, 0x99, 0x72, 0xd3, 0x09, - 0xf8, 0x65, 0xa8, 0x44, 0x99, 0xb9, 0xdf, 0xe3, 0x95, 0x43, 0x2d, 0x33, 0x89, 0x9c, 0xeb, 0x29, - 0x4b, 0xfb, 0x2f, 0x97, 0x60, 0x50, 0x04, 0x77, 0x9d, 0xc0, 0x56, 0x77, 0xc3, 0x30, 0x44, 0x9f, - 0xc9, 0x9b, 0xc1, 0xac, 0x59, 0x5d, 0x4d, 0xd0, 0x7a, 0xc6, 0x04, 0x7d, 0xae, 0x18, 0xbb, 0xc3, - 0x8d, 0xcf, 0x1f, 0x96, 0x60, 0xcc, 0x0c, 0x76, 0x3b, 0x81, 0x61, 0x79, 0x1d, 0x06, 0x63, 0x11, - 0x09, 0x56, 0x2a, 0x12, 0xc7, 0x92, 0xfd, 0xc4, 0xca, 0xdb, 0x20, 0x63, 0xbf, 0x24, 0xbb, 0x8e, - 0xc1, 0x66, 0xe5, 0x93, 0x08, 0x36, 0xb3, 0x7f, 0x97, 0x2d, 0xb1, 0xfa, 0x40, 0x9e, 0xc0, 0x16, - 0xf1, 0x9a, 0xb9, 0x18, 0x5f, 0x2a, 0x24, 0x11, 0xa2, 0x79, 0x5d, 0xb6, 0x8a, 0xef, 0x59, 0x30, - 0x2c, 0x08, 0x4f, 0xa0, 0x03, 0x9f, 0x37, 0x3b, 0xf0, 0x54, 0xa1, 0x0e, 0x74, 0x69, 0xf9, 0xdf, - 0x2c, 0xa9, 0x96, 0xd7, 0xc4, 0xa3, 0xb2, 0xb9, 0xf9, 0x2e, 0x87, 0x9a, 0x51, 0x98, 0x84, 0x8d, - 0xd0, 0x17, 0x5b, 0xfe, 0x63, 0xe9, 0xf5, 0x02, 0x0e, 0x3f, 0xd0, 0x7e, 0x63, 0x45, 0xcd, 0xa2, - 0xdf, 0xc3, 0x28, 0x11, 0x1b, 0x56, 0xa7, 0x27, 0x6d, 0xd7, 0xe5, 0x93, 0xe1, 0x14, 0x26, 0x6e, - 0xe6, 0xf4, 0xfa, 0x54, 0x6e, 0x7a, 0x5b, 0x40, 0x71, 0xc2, 0x1a, 0x57, 0x19, 0x86, 0xca, 0x6a, - 0xe8, 0x37, 0xbd, 0xbf, 0x37, 0x05, 0x1c, 0x2b, 0x0a, 0xfb, 0x65, 0xb6, 0xe2, 0xb2, 0xe1, 0xe9, - 0x2d, 0x90, 0xff, 0x2f, 0x0d, 0xa8, 0x81, 0x65, 0x4e, 0x9d, 0x9b, 0xfa, 0x75, 0x81, 0xa2, 0xcb, - 0x1a, 0x6d, 0x82, 0x1e, 0x39, 0x97, 0xde, 0x2e, 0x40, 0xa4, 0xed, 0xc8, 0xe0, 0xe5, 0xc2, 0x2b, - 0x65, 0x0f, 0x87, 0x04, 0x2c, 0x49, 0x10, 0xcb, 0x8c, 0xb2, 0x5c, 0xcb, 0xe6, 0x28, 0x5d, 0x90, - 0x08, 0x9c, 0xd2, 0xa0, 0x59, 0x61, 0x56, 0x98, 0x2f, 0x0e, 0x4b, 0xb3, 0x42, 0x0e, 0x89, 0x66, - 0x57, 0x5c, 0x86, 0x61, 0x95, 0xa5, 0xbd, 0xc6, 0x93, 0x6d, 0x57, 0xb8, 0x36, 0xb3, 0x98, 0x82, - 0xb1, 0x4e, 0x83, 0x96, 0xe1, 0xb4, 0xab, 0xa2, 0x8e, 0x6b, 0xad, 0x75, 0xdf, 0x6b, 0xd0, 0xa2, - 0xfc, 0xc6, 0xd0, 0x23, 0xfb, 0x7b, 0xd3, 0xa7, 0xab, 0xed, 0x68, 0xdc, 0xa9, 0x0c, 0x5a, 0x83, - 0xf1, 0x98, 0x67, 0xa3, 0x97, 0xa1, 0xa5, 0x22, 0x75, 0xdf, 0xb3, 0xf2, 0xac, 0xa2, 0x6e, 0xa2, - 0x0f, 0x18, 0x88, 0xaf, 0x09, 0x32, 0x18, 0x35, 0xcb, 0x02, 0xbd, 0x0a, 0x63, 0xbe, 0xfe, 0xd0, - 0x56, 0x4d, 0x04, 0x5f, 0xab, 0xa8, 0x0e, 0xe3, 0x19, 0xae, 0x1a, 0xce, 0x50, 0xa3, 0xd7, 0x61, - 0x52, 0x87, 0x88, 0x0c, 0x06, 0x4e, 0xb0, 0x49, 0x62, 0x91, 0x06, 0xfb, 0xb1, 0xfd, 0xbd, 0xe9, - 0xc9, 0x95, 0x2e, 0x34, 0xb8, 0x6b, 0x69, 0x74, 0x15, 0x46, 0xe4, 0x48, 0x6a, 0x81, 0xd8, 0x69, - 0x3c, 0x91, 0x86, 0xc3, 0x06, 0xe5, 0x07, 0x3b, 0x92, 0xf9, 0x0a, 0x2d, 0xac, 0x6d, 0xad, 0xe8, - 0x6d, 0x18, 0xd1, 0xdb, 0x98, 0xdd, 0x33, 0xf3, 0x1f, 0x2f, 0x13, 0x5b, 0xb4, 0x6a, 0xb9, 0x8e, - 0xc3, 0x06, 0x6f, 0xfb, 0x16, 0x0c, 0xd4, 0x77, 0xe3, 0x46, 0xe2, 0x3f, 0xac, 0xc7, 0xa6, 0x1b, - 0x30, 0x9e, 0x79, 0x95, 0x59, 0x3d, 0xef, 0x6d, 0x3d, 0xac, 0xe7, 0xbd, 0xed, 0xaf, 0x59, 0xd0, - 0xbf, 0xe6, 0x78, 0xf9, 0x0f, 0x48, 0x14, 0x69, 0x32, 0x7a, 0x09, 0x06, 0xc8, 0xc6, 0x06, 0x69, - 0xc8, 0xe7, 0xc2, 0x1f, 0x97, 0xaa, 0xcd, 0x22, 0x83, 0xd2, 0xa9, 0xc9, 0x2a, 0xe3, 0x7f, 0xb1, - 0x20, 0xb6, 0xff, 0x9d, 0x05, 0xb0, 0x16, 0xfa, 0xf2, 0xb4, 0x29, 0xa7, 0x25, 0xf3, 0x6d, 0x4f, - 0x59, 0x3c, 0xdd, 0xe1, 0x29, 0x0b, 0x94, 0x32, 0xec, 0xf0, 0x90, 0x85, 0xea, 0x4d, 0xb9, 0x50, - 0x6f, 0xfa, 0x7a, 0xe9, 0xcd, 0x37, 0x2c, 0x10, 0x81, 0x40, 0x05, 0x24, 0xc1, 0x95, 0xe9, 0xe7, - 0x8d, 0xdc, 0x24, 0xcf, 0x16, 0xb9, 0xb0, 0x23, 0x32, 0x92, 0x28, 0xd9, 0x34, 0xf2, 0x90, 0x18, - 0x5c, 0xa9, 0x61, 0x3f, 0xcc, 0xd1, 0xab, 0x4c, 0x8f, 0xcc, 0x6f, 0x57, 0x4f, 0x59, 0xd8, 0x58, - 0x76, 0x76, 0xca, 0x58, 0x65, 0xe3, 0xd2, 0xb3, 0xb3, 0x4b, 0x04, 0x4e, 0x69, 0xd0, 0x33, 0x30, - 0x18, 0xb7, 0xd6, 0x19, 0x79, 0x26, 0x2a, 0xa8, 0xce, 0xc1, 0x58, 0xe2, 0xed, 0x5f, 0x40, 0x60, - 0x74, 0xcd, 0xc8, 0xfc, 0x65, 0x3d, 0xf4, 0xcc, 0x5f, 0x6f, 0xc0, 0x10, 0xd9, 0x6e, 0x26, 0xbb, - 0x55, 0x2f, 0x2a, 0x96, 0x83, 0x71, 0x51, 0x50, 0xb7, 0x73, 0x97, 0x18, 0xac, 0x38, 0x76, 0xc9, - 0xe3, 0x56, 0xfe, 0x50, 0xe4, 0x71, 0xeb, 0xfb, 0xa9, 0xe4, 0x71, 0x7b, 0x1d, 0x06, 0x37, 0xbd, - 0x04, 0x93, 0x66, 0x28, 0x6e, 0x78, 0xe6, 0x1c, 0xdf, 0x5d, 0xe3, 0xc4, 0xed, 0xc9, 0x99, 0x04, - 0x02, 0x4b, 0x76, 0x68, 0x0d, 0x06, 0xb8, 0xed, 0x21, 0x52, 0xa3, 0x7d, 0xa2, 0x88, 0x97, 0xa6, - 0x3d, 0x4b, 0x98, 0x08, 0xfd, 0x12, 0xbc, 0x64, 0xde, 0xb6, 0xc1, 0x0f, 0x9e, 0xb7, 0x4d, 0x65, - 0x5b, 0x1b, 0x7a, 0x58, 0xd9, 0xd6, 0x8c, 0xac, 0x75, 0x95, 0xe3, 0xc8, 0x5a, 0xf7, 0x0d, 0x0b, - 0xce, 0x36, 0x3b, 0xe5, 0x7c, 0x14, 0x79, 0xd3, 0x3e, 0x7b, 0x84, 0x1c, 0x98, 0x46, 0xd5, 0xec, - 0xde, 0x5c, 0x47, 0x32, 0xdc, 0xb9, 0x62, 0x99, 0xfe, 0x6e, 0xf8, 0x83, 0xa7, 0xbf, 0x3b, 0xee, - 0x04, 0x6b, 0x69, 0x32, 0xbc, 0xd1, 0x63, 0x49, 0x86, 0x37, 0xf6, 0x10, 0x93, 0xe1, 0x69, 0x69, - 0xec, 0xc6, 0x1f, 0x6e, 0x1a, 0xbb, 0x2d, 0x18, 0x76, 0xc3, 0xfb, 0xc1, 0x7d, 0x27, 0x72, 0xe7, - 0x6a, 0xcb, 0x22, 0x6b, 0x5a, 0x4e, 0x6a, 0x8e, 0x6a, 0x5a, 0xc0, 0xa8, 0x81, 0xbb, 0x23, 0x53, - 0x24, 0xd6, 0x59, 0x8b, 0x84, 0x7e, 0xa7, 0x3e, 0x60, 0x42, 0x3f, 0x23, 0x2d, 0x1e, 0x3a, 0x8e, - 0xb4, 0x78, 0x6f, 0xb1, 0x3b, 0xfa, 0x1b, 0xde, 0xe6, 0xaa, 0xd3, 0x64, 0xf7, 0xca, 0x72, 0x6b, - 0x58, 0x90, 0xe4, 0xed, 0x35, 0x28, 0x14, 0x4e, 0x99, 0xb6, 0x27, 0xde, 0x3b, 0x73, 0xd2, 0x89, - 0xf7, 0xce, 0x1e, 0x63, 0xe2, 0xbd, 0x73, 0x27, 0x9a, 0x78, 0xef, 0x91, 0x9f, 0x4a, 0xe2, 0xbd, - 0xbf, 0x00, 0xe7, 0x0f, 0xff, 0x1c, 0x69, 0x62, 0xe7, 0x5a, 0xea, 0x32, 0xc8, 0x24, 0x76, 0x66, - 0xaa, 0x8e, 0x46, 0x55, 0x38, 0xff, 0xd7, 0x77, 0x2d, 0x78, 0xa4, 0x4b, 0x7a, 0x9c, 0xc2, 0x57, - 0x32, 0x9a, 0x30, 0xde, 0x34, 0x8b, 0x16, 0xbe, 0x44, 0x65, 0xa4, 0xe3, 0x51, 0xe1, 0x7d, 0x19, - 0x04, 0xce, 0xb2, 0x9f, 0xff, 0xd8, 0x8f, 0xde, 0x3f, 0xff, 0x91, 0x1f, 0xbf, 0x7f, 0xfe, 0x23, - 0x7f, 0xf4, 0xfe, 0xf9, 0x8f, 0xfc, 0xdc, 0xfe, 0x79, 0xeb, 0x47, 0xfb, 0xe7, 0xad, 0x1f, 0xef, - 0x9f, 0xb7, 0xfe, 0x64, 0xff, 0xbc, 0xf5, 0x8d, 0x3f, 0x3d, 0xff, 0x91, 0x2f, 0x96, 0x76, 0x2e, - 0xff, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x37, 0x41, 0x6d, 0xd5, 0x05, 0xba, 0x00, 0x00, + 0x3f, 0x9f, 0x2c, 0x5d, 0xb5, 0xec, 0xef, 0xb3, 0x19, 0x28, 0x2a, 0x59, 0x0c, 0x76, 0xc4, 0xe2, + 0xf0, 0xae, 0x05, 0x67, 0xfc, 0x0e, 0x8b, 0x92, 0x18, 0x93, 0xa3, 0x2c, 0x67, 0x8f, 0x89, 0x66, + 0x9f, 0xe9, 0x84, 0xc5, 0x1d, 0x6b, 0xa3, 0x6b, 0x7d, 0xd8, 0xa4, 0x02, 0xe7, 0xf8, 0xac, 0xe9, + 0x42, 0x07, 0xb8, 0x25, 0x60, 0x58, 0x61, 0xed, 0x3f, 0xb1, 0xe0, 0x8c, 0xea, 0xc7, 0x0d, 0xb2, + 0x5b, 0x27, 0x3e, 0x69, 0x24, 0x61, 0xf4, 0x41, 0xe9, 0xc9, 0xe3, 0xfc, 0x9b, 0xf0, 0x35, 0x69, + 0x58, 0x30, 0x28, 0xdf, 0x20, 0xbb, 0xfc, 0x03, 0xe9, 0x1d, 0x2d, 0x1f, 0xda, 0xd1, 0xdf, 0xb2, + 0x60, 0x54, 0x75, 0xf4, 0x04, 0xa6, 0xdc, 0x8a, 0x39, 0xe5, 0x3e, 0x5a, 0x50, 0x5e, 0xbb, 0x4c, + 0xb6, 0xdf, 0x2d, 0xc1, 0x59, 0x45, 0x63, 0x6c, 0x47, 0x1f, 0x90, 0xef, 0xd4, 0x5b, 0x77, 0x6f, + 0x90, 0xdd, 0xb5, 0x90, 0xea, 0x13, 0x9d, 0xbb, 0x8b, 0x2e, 0xc3, 0xb0, 0x4b, 0x36, 0x9c, 0x96, + 0x9f, 0x28, 0xb5, 0xb9, 0x9f, 0xdb, 0x53, 0xd5, 0x14, 0x8c, 0x75, 0x1a, 0x43, 0x12, 0xfa, 0x0e, + 0x95, 0x84, 0x5f, 0x19, 0x66, 0x0b, 0x57, 0xe2, 0xd0, 0xcf, 0x4b, 0x55, 0x19, 0xcd, 0x0e, 0x1a, + 0xd1, 0xed, 0x20, 0x61, 0xf3, 0x3c, 0x09, 0xfd, 0xde, 0x36, 0xdd, 0xdc, 0x4a, 0xe6, 0x9e, 0xb5, + 0x4c, 0x81, 0x98, 0xe3, 0xd0, 0x53, 0x30, 0xd8, 0x08, 0xb7, 0xb7, 0x9d, 0xc0, 0x9d, 0x2c, 0x33, + 0xe5, 0x6a, 0x98, 0xee, 0x7f, 0x0b, 0x1c, 0x84, 0x25, 0x0e, 0x3d, 0x06, 0x7d, 0x4e, 0xb4, 0x19, + 0x4f, 0xf6, 0x31, 0x9a, 0x21, 0x5a, 0xd3, 0x5c, 0xb4, 0x19, 0x63, 0x06, 0xa5, 0x4a, 0xd3, 0xfd, + 0x30, 0xba, 0xe7, 0x05, 0x9b, 0x55, 0x2f, 0x62, 0x1a, 0x90, 0xa6, 0x34, 0xdd, 0x55, 0x18, 0xac, + 0x51, 0xa1, 0x1a, 0xf4, 0x37, 0xc3, 0x28, 0x89, 0x27, 0x07, 0xd8, 0xc0, 0x3f, 0x97, 0x2b, 0x67, + 0xbc, 0xdf, 0xb5, 0x30, 0x4a, 0xd2, 0xae, 0xd0, 0x7f, 0x31, 0xe6, 0x8c, 0xd0, 0x02, 0x94, 0x49, + 0xb0, 0x33, 0x39, 0xc8, 0xf8, 0x7d, 0xe4, 0x70, 0x7e, 0x8b, 0xc1, 0xce, 0x1d, 0x27, 0x4a, 0x27, + 0xe6, 0x62, 0xb0, 0x83, 0x69, 0x69, 0xd4, 0x80, 0x8a, 0x74, 0x6a, 0xc4, 0x93, 0x43, 0x45, 0x44, + 0x11, 0x0b, 0x72, 0x4c, 0xde, 0x6e, 0x79, 0x11, 0xd9, 0x26, 0x41, 0x12, 0xa7, 0x16, 0x84, 0xc4, + 0xc6, 0x38, 0xe5, 0x8b, 0x1a, 0x30, 0xc2, 0x15, 0xad, 0xd5, 0xb0, 0x15, 0x24, 0xf1, 0x64, 0x85, + 0x35, 0x39, 0xc7, 0x44, 0xbf, 0x93, 0x96, 0x98, 0x3f, 0x23, 0xd8, 0x8f, 0x68, 0xc0, 0x18, 0x1b, + 0x4c, 0xd1, 0x1b, 0x30, 0xea, 0x7b, 0x3b, 0x24, 0x20, 0x71, 0x5c, 0x8b, 0xc2, 0x75, 0x32, 0x09, + 0xac, 0x37, 0x4f, 0xe6, 0x99, 0xab, 0xe1, 0x3a, 0x99, 0x3f, 0xb5, 0xbf, 0x37, 0x3d, 0xba, 0xa2, + 0x97, 0xc6, 0x26, 0x33, 0xf4, 0x26, 0x8c, 0x51, 0xad, 0xce, 0x4b, 0xd9, 0x0f, 0x17, 0x67, 0x8f, + 0xf6, 0xf7, 0xa6, 0xc7, 0xb0, 0x51, 0x1c, 0x67, 0xd8, 0xa1, 0x35, 0xa8, 0xf8, 0xde, 0x06, 0x69, + 0xec, 0x36, 0x7c, 0x32, 0x39, 0xc2, 0x78, 0xe7, 0x4c, 0xce, 0x15, 0x49, 0xce, 0x35, 0x69, 0xf5, + 0x17, 0xa7, 0x8c, 0xd0, 0x1d, 0x38, 0x97, 0x90, 0x68, 0xdb, 0x0b, 0x1c, 0x3a, 0xa9, 0x84, 0x9a, + 0xc7, 0x7c, 0x02, 0xa3, 0x4c, 0x6a, 0xcf, 0x8b, 0x81, 0x3d, 0xb7, 0xd6, 0x91, 0x0a, 0x77, 0x29, + 0x8d, 0x6e, 0xc1, 0x38, 0x9b, 0x4f, 0xb5, 0x96, 0xef, 0xd7, 0x42, 0xdf, 0x6b, 0xec, 0x4e, 0x8e, + 0x31, 0x86, 0x4f, 0x49, 0x4b, 0x7f, 0xd9, 0x44, 0x53, 0x0b, 0x28, 0xfd, 0x87, 0xb3, 0xa5, 0x91, + 0x0f, 0xe3, 0x31, 0x69, 0xb4, 0x22, 0x2f, 0xd9, 0xa5, 0xb2, 0x4f, 0x1e, 0x24, 0x93, 0xe3, 0x45, + 0x2c, 0xba, 0xba, 0x59, 0x88, 0xbb, 0x59, 0x32, 0x40, 0x9c, 0x65, 0x4d, 0x97, 0x8a, 0x38, 0x71, + 0xbd, 0x60, 0x72, 0x82, 0xad, 0x40, 0x6a, 0x7e, 0xd5, 0x29, 0x10, 0x73, 0x1c, 0x33, 0x94, 0xe9, + 0x8f, 0x5b, 0x74, 0x95, 0x3e, 0xc5, 0x08, 0x53, 0x43, 0x59, 0x22, 0x70, 0x4a, 0x43, 0xf7, 0xc0, + 0x24, 0xd9, 0x9d, 0x44, 0x8c, 0x54, 0x4d, 0xb5, 0xb5, 0xb5, 0xcf, 0x61, 0x0a, 0x47, 0x77, 0x60, + 0x90, 0x04, 0x3b, 0x4b, 0x51, 0xb8, 0x3d, 0x79, 0xba, 0xc8, 0x1a, 0xb0, 0xc8, 0x89, 0xf9, 0xfe, + 0x91, 0xea, 0xea, 0x02, 0x8c, 0x25, 0x33, 0xf4, 0x00, 0x26, 0x3b, 0x7c, 0x25, 0xfe, 0x51, 0xce, + 0xb0, 0x8f, 0xf2, 0x29, 0x51, 0x76, 0x72, 0xad, 0x0b, 0xdd, 0xc1, 0x21, 0x38, 0xdc, 0x95, 0xbb, + 0xbd, 0x0e, 0x63, 0x6a, 0xa1, 0x62, 0xdf, 0x1b, 0x4d, 0x43, 0x3f, 0x5d, 0x8b, 0xa5, 0xe5, 0x5a, + 0xa1, 0x83, 0x4a, 0x97, 0xe8, 0x18, 0x73, 0x38, 0x1b, 0x54, 0xef, 0x1d, 0x32, 0xbf, 0x9b, 0x10, + 0x6e, 0xc1, 0x94, 0xb5, 0x41, 0x95, 0x08, 0x9c, 0xd2, 0xd8, 0xff, 0x97, 0xeb, 0x03, 0xe9, 0x6a, + 0x58, 0x60, 0x27, 0xb8, 0x04, 0x43, 0x5b, 0x61, 0x9c, 0x50, 0x6a, 0x56, 0x47, 0x7f, 0xaa, 0x01, + 0x5c, 0x17, 0x70, 0xac, 0x28, 0xd0, 0x2b, 0x30, 0xda, 0xd0, 0x2b, 0x10, 0xdb, 0xd8, 0x59, 0x51, + 0xc4, 0xac, 0x1d, 0x9b, 0xb4, 0xe8, 0x2a, 0x0c, 0x31, 0x77, 0x6e, 0x23, 0xf4, 0x85, 0xad, 0x24, + 0x77, 0xe5, 0xa1, 0x9a, 0x80, 0x1f, 0x68, 0xbf, 0xb1, 0xa2, 0xa6, 0x16, 0x27, 0x6d, 0xc2, 0x72, + 0x4d, 0x6c, 0x20, 0xca, 0xe2, 0xbc, 0xce, 0xa0, 0x58, 0x60, 0xed, 0x7f, 0x5e, 0xd2, 0x46, 0x99, + 0x6a, 0xfa, 0x04, 0x7d, 0x1e, 0x06, 0xef, 0x3b, 0x5e, 0xe2, 0x05, 0x9b, 0x42, 0x7b, 0x78, 0xa1, + 0xe0, 0x6e, 0xc2, 0x8a, 0xdf, 0xe5, 0x45, 0xf9, 0xce, 0x27, 0xfe, 0x60, 0xc9, 0x90, 0xf2, 0x8e, + 0x5a, 0x41, 0x40, 0x79, 0x97, 0x7a, 0xe7, 0x8d, 0x79, 0x51, 0xce, 0x5b, 0xfc, 0xc1, 0x92, 0x21, + 0xda, 0x00, 0x90, 0xb2, 0x44, 0x5c, 0xe1, 0x46, 0xfd, 0x78, 0x2f, 0xec, 0xd7, 0x54, 0xe9, 0xf9, + 0x31, 0xba, 0xd7, 0xa6, 0xff, 0xb1, 0xc6, 0xd9, 0x4e, 0x98, 0x12, 0xd6, 0xde, 0x2c, 0xf4, 0x05, + 0x3a, 0xa5, 0x9d, 0x28, 0x21, 0xee, 0x5c, 0x92, 0xf5, 0x44, 0x1f, 0xae, 0x4b, 0xae, 0x79, 0xdb, + 0x44, 0x9f, 0xfe, 0x82, 0x09, 0x4e, 0xf9, 0xd9, 0xdf, 0x29, 0xc3, 0x64, 0xb7, 0xe6, 0x52, 0x91, + 0x24, 0x0f, 0xbc, 0x64, 0x81, 0xaa, 0x49, 0x96, 0x29, 0x92, 0x8b, 0x02, 0x8e, 0x15, 0x05, 0x95, + 0x8d, 0xd8, 0xdb, 0x94, 0x56, 0x41, 0x7f, 0x2a, 0x1b, 0x75, 0x06, 0xc5, 0x02, 0x4b, 0xe9, 0x22, + 0xe2, 0xc4, 0xc2, 0x8b, 0xaf, 0xc9, 0x10, 0x66, 0x50, 0x2c, 0xb0, 0xba, 0xe5, 0xdf, 0x97, 0x63, + 0xf9, 0x1b, 0x43, 0xd4, 0xff, 0x70, 0x87, 0x08, 0x7d, 0x11, 0x60, 0xc3, 0x0b, 0xbc, 0x78, 0x8b, + 0x71, 0x1f, 0xe8, 0x99, 0xbb, 0x52, 0xb2, 0x96, 0x14, 0x17, 0xac, 0x71, 0x44, 0x2f, 0xc1, 0xb0, + 0x9a, 0x9e, 0xcb, 0xd5, 0xc9, 0x41, 0xd3, 0xf3, 0x9b, 0xae, 0x55, 0x55, 0xac, 0xd3, 0xd9, 0x5f, + 0xca, 0xca, 0x8b, 0x98, 0x15, 0xda, 0xf8, 0x5a, 0x45, 0xc7, 0xb7, 0x74, 0xf8, 0xf8, 0xda, 0xff, + 0xb5, 0x0c, 0xe3, 0x46, 0x65, 0xad, 0xb8, 0xc0, 0x8a, 0xf6, 0x1a, 0xdd, 0xb0, 0x9c, 0x84, 0x88, + 0x39, 0x79, 0xa9, 0x97, 0x49, 0xa3, 0x6f, 0x6f, 0x74, 0x2e, 0x70, 0x4e, 0x68, 0x0b, 0x2a, 0xbe, + 0x13, 0x33, 0xdf, 0x01, 0x11, 0x73, 0xb1, 0x37, 0xb6, 0xa9, 0xf9, 0xe1, 0xc4, 0x89, 0xb6, 0x7b, + 0xf0, 0x5a, 0x52, 0xe6, 0x74, 0xb7, 0xa5, 0xca, 0x8e, 0x3c, 0x3a, 0x52, 0xcd, 0xa1, 0x1a, 0xd1, + 0x2e, 0xe6, 0x38, 0x74, 0x15, 0x46, 0x22, 0xc2, 0x24, 0x65, 0x81, 0xea, 0x73, 0x4c, 0xf4, 0xfa, + 0x53, 0xc5, 0x0f, 0x6b, 0x38, 0x6c, 0x50, 0xa6, 0x7a, 0xff, 0xc0, 0x21, 0x7a, 0xff, 0x33, 0x30, + 0xc8, 0x7e, 0x28, 0xa9, 0x50, 0x5f, 0x68, 0x99, 0x83, 0xb1, 0xc4, 0x67, 0x85, 0x68, 0xa8, 0xa0, + 0x10, 0x3d, 0x0b, 0x63, 0x55, 0x87, 0x6c, 0x87, 0xc1, 0x62, 0xe0, 0x36, 0x43, 0x2f, 0x48, 0xd0, + 0x24, 0xf4, 0xb1, 0xfd, 0x84, 0xcf, 0xf7, 0x3e, 0xca, 0x01, 0xf7, 0x51, 0xdd, 0xdd, 0xfe, 0x7f, + 0x16, 0x8c, 0x56, 0x89, 0x4f, 0x12, 0xc2, 0xed, 0x9e, 0x18, 0x2d, 0x01, 0xda, 0x8c, 0x9c, 0x06, + 0xa9, 0x91, 0xc8, 0x0b, 0xdd, 0x3a, 0x69, 0x84, 0x01, 0x3b, 0x71, 0xa1, 0x1b, 0xe4, 0xb9, 0xfd, + 0xbd, 0x69, 0x74, 0xad, 0x0d, 0x8b, 0x3b, 0x94, 0x40, 0x2e, 0x8c, 0x36, 0x23, 0x62, 0x38, 0xc8, + 0xac, 0x7c, 0x55, 0xa3, 0xa6, 0x17, 0xe1, 0xda, 0xb0, 0x01, 0xc2, 0x26, 0x53, 0xf4, 0x19, 0x98, + 0x08, 0xa3, 0xe6, 0x96, 0x13, 0x54, 0x49, 0x93, 0x04, 0x2e, 0x35, 0x01, 0x84, 0x59, 0x7f, 0x66, + 0x7f, 0x6f, 0x7a, 0xe2, 0x56, 0x06, 0x87, 0xdb, 0xa8, 0xed, 0x5f, 0x2b, 0xc1, 0xd9, 0x6a, 0x78, + 0x3f, 0xb8, 0xef, 0x44, 0xee, 0x5c, 0x6d, 0x99, 0xeb, 0xf5, 0xcc, 0xbb, 0x2c, 0xbd, 0xda, 0x56, + 0x57, 0xaf, 0xf6, 0x17, 0x60, 0x68, 0xc3, 0x23, 0xbe, 0x8b, 0xc9, 0x86, 0xe8, 0xde, 0xe5, 0x22, + 0x6e, 0xff, 0x25, 0x5a, 0x46, 0xfa, 0x4d, 0xb8, 0xd5, 0xb9, 0x24, 0xd8, 0x60, 0xc5, 0x10, 0xb5, + 0x60, 0x42, 0x1a, 0x2e, 0x12, 0x2b, 0x66, 0xc7, 0x0b, 0xc5, 0xec, 0x22, 0xb3, 0x1a, 0x36, 0x1e, + 0x38, 0xc3, 0x10, 0xb7, 0x55, 0x41, 0x0d, 0xce, 0x6d, 0xba, 0x37, 0xf4, 0x31, 0x59, 0x61, 0x06, + 0x27, 0xb3, 0x9d, 0x19, 0xd4, 0xfe, 0x87, 0x16, 0x3c, 0xd2, 0x36, 0x5a, 0xc2, 0xb1, 0xf0, 0xba, + 0xb4, 0xe8, 0xf9, 0xf1, 0x5c, 0x4e, 0x2b, 0x3b, 0x8e, 0x79, 0x31, 0xeb, 0xbe, 0x94, 0x6f, 0xdd, + 0xdb, 0xb7, 0xe0, 0xcc, 0xe2, 0x76, 0x33, 0xd9, 0xad, 0x7a, 0xa6, 0x33, 0xfe, 0x65, 0x18, 0xd8, + 0x26, 0xae, 0xd7, 0xda, 0x16, 0x9f, 0x75, 0x5a, 0x2e, 0xa4, 0xab, 0x0c, 0x7a, 0xb0, 0x37, 0x3d, + 0x5a, 0x4f, 0xc2, 0xc8, 0xd9, 0x24, 0x1c, 0x80, 0x05, 0xb9, 0xfd, 0x9e, 0x05, 0xe3, 0x72, 0x42, + 0xcd, 0xb9, 0x6e, 0x44, 0xe2, 0x18, 0x4d, 0x41, 0xc9, 0x6b, 0x0a, 0x46, 0x20, 0x18, 0x95, 0x96, + 0x6b, 0xb8, 0xe4, 0x35, 0xd1, 0xe7, 0xa1, 0xc2, 0xcf, 0x70, 0x52, 0xe1, 0xe8, 0xf1, 0x4c, 0x88, + 0x19, 0x53, 0x6b, 0x92, 0x07, 0x4e, 0xd9, 0x49, 0xb5, 0x92, 0x2d, 0xd5, 0x65, 0xf3, 0x44, 0xe1, + 0xba, 0x80, 0x63, 0x45, 0x81, 0x2e, 0xc2, 0x50, 0x10, 0xba, 0xfc, 0x98, 0x8d, 0x6f, 0xba, 0x4c, + 0xe4, 0x6e, 0x0a, 0x18, 0x56, 0x58, 0xfb, 0x6b, 0x16, 0x8c, 0xc8, 0x3e, 0x16, 0xd4, 0x70, 0xe9, + 0x24, 0x49, 0xb5, 0xdb, 0x74, 0x92, 0x50, 0x0d, 0x95, 0x61, 0x0c, 0xc5, 0xb4, 0xdc, 0x8b, 0x62, + 0x6a, 0xff, 0x66, 0x09, 0xc6, 0x64, 0x73, 0xea, 0xad, 0xf5, 0x98, 0xd0, 0x7d, 0xbb, 0xe2, 0xf0, + 0xc1, 0x27, 0x52, 0xce, 0x9e, 0xcf, 0x33, 0x5e, 0x8c, 0x6f, 0x96, 0xea, 0x05, 0x73, 0x92, 0x0f, + 0x4e, 0x59, 0xa2, 0x1d, 0x38, 0x15, 0x84, 0x09, 0xdb, 0x0f, 0x14, 0xbe, 0x98, 0x0f, 0x3c, 0x5b, + 0xcf, 0xa3, 0xa2, 0x9e, 0x53, 0x37, 0xb3, 0xfc, 0x70, 0x7b, 0x15, 0xe8, 0x96, 0x74, 0xca, 0x94, + 0x59, 0x5d, 0xcf, 0x16, 0xab, 0xab, 0xbb, 0x4f, 0xc6, 0xfe, 0x81, 0x05, 0x15, 0x49, 0x76, 0x12, + 0x87, 0x21, 0x77, 0x61, 0x30, 0x66, 0x9f, 0x48, 0x0e, 0xd7, 0xa5, 0x62, 0x5d, 0xe0, 0xdf, 0x35, + 0xdd, 0x04, 0xf9, 0xff, 0x18, 0x4b, 0x6e, 0xcc, 0x0d, 0xab, 0x3a, 0xf2, 0x81, 0x73, 0xc3, 0xaa, + 0x96, 0x75, 0x3f, 0xf3, 0x18, 0x35, 0xcc, 0x67, 0xaa, 0xc9, 0x35, 0x23, 0xb2, 0xe1, 0x3d, 0xc8, + 0x6a, 0x72, 0x35, 0x06, 0xc5, 0x02, 0x8b, 0x36, 0x60, 0xa4, 0x21, 0xfd, 0xb7, 0xe9, 0x12, 0xf2, + 0xb1, 0x82, 0x5e, 0x61, 0x75, 0xc0, 0xc0, 0x83, 0x56, 0x16, 0x34, 0x4e, 0xd8, 0xe0, 0x4b, 0xd7, + 0xa9, 0xf4, 0x0c, 0xb5, 0x5c, 0xd0, 0xd3, 0x11, 0x91, 0x24, 0xad, 0xa1, 0xeb, 0xf1, 0xa9, 0xfd, + 0x4d, 0x0b, 0x06, 0xb8, 0xc3, 0xaf, 0x98, 0xd7, 0x54, 0x3b, 0x3a, 0x49, 0xc7, 0xf3, 0x0e, 0x05, + 0x8a, 0x93, 0x14, 0x74, 0x17, 0x2a, 0xec, 0x07, 0x73, 0x5e, 0x94, 0x8b, 0x44, 0xf0, 0xf0, 0xfa, + 0xf5, 0xa6, 0xde, 0x91, 0x0c, 0x70, 0xca, 0xcb, 0xfe, 0x5e, 0x99, 0x2e, 0x7d, 0x29, 0xa9, 0xb1, + 0xb7, 0x5b, 0x27, 0xb1, 0xb7, 0x97, 0x8e, 0x7f, 0x6f, 0x7f, 0x1b, 0xc6, 0x1b, 0xda, 0xd1, 0x4d, + 0xfa, 0xc5, 0xaf, 0x14, 0x14, 0x2b, 0xed, 0xbc, 0x87, 0x3b, 0xb8, 0x16, 0x4c, 0x76, 0x38, 0xcb, + 0x1f, 0x11, 0x18, 0xe1, 0xf2, 0x20, 0xea, 0xeb, 0x63, 0xf5, 0xcd, 0x16, 0x91, 0x30, 0xbd, 0x32, + 0x26, 0xc5, 0x75, 0x8d, 0x11, 0x36, 0xd8, 0xda, 0x7f, 0xab, 0x1f, 0xfa, 0x17, 0x77, 0x48, 0x90, + 0x9c, 0xc0, 0x52, 0xb7, 0x0d, 0x63, 0x5e, 0xb0, 0x13, 0xfa, 0x3b, 0xc4, 0xe5, 0xf8, 0xa3, 0x6d, + 0xef, 0xe7, 0x44, 0x25, 0x63, 0xcb, 0x06, 0x33, 0x9c, 0x61, 0x7e, 0x1c, 0xa6, 0xf5, 0x6b, 0x30, + 0xc0, 0x25, 0x43, 0xd8, 0xd5, 0x39, 0x0e, 0x70, 0x36, 0xb0, 0x62, 0x06, 0xa5, 0x0e, 0x00, 0xee, + 0x7b, 0x17, 0x8c, 0xd0, 0x97, 0x60, 0x6c, 0xc3, 0x8b, 0xe2, 0x84, 0x5a, 0xc7, 0x71, 0xe2, 0x6c, + 0x37, 0x8f, 0x60, 0x54, 0xab, 0x11, 0x59, 0x32, 0x38, 0xe1, 0x0c, 0x67, 0xb4, 0x09, 0xa3, 0xd4, + 0xa6, 0x4b, 0xab, 0x1a, 0xec, 0xb9, 0x2a, 0xe5, 0x53, 0x5b, 0xd1, 0x19, 0x61, 0x93, 0x2f, 0x5d, + 0x92, 0x1a, 0xcc, 0x06, 0x1c, 0x62, 0xda, 0x8d, 0x5a, 0x92, 0xb8, 0xf1, 0xc7, 0x71, 0x74, 0x65, + 0x63, 0x31, 0x14, 0x15, 0x73, 0x65, 0x4b, 0x23, 0x25, 0xec, 0x6f, 0xd3, 0xbd, 0x98, 0x8e, 0xe1, + 0x09, 0x6c, 0x5f, 0xd7, 0xcd, 0xed, 0xeb, 0xc9, 0x02, 0x5f, 0xb6, 0xcb, 0xd6, 0xf5, 0x16, 0x0c, + 0x6b, 0x1f, 0x1e, 0xcd, 0x42, 0xa5, 0x21, 0x8f, 0xf9, 0xc5, 0x2a, 0xae, 0x54, 0x29, 0x75, 0xfe, + 0x8f, 0x53, 0x1a, 0x3a, 0x2e, 0x54, 0x05, 0xcd, 0x06, 0x05, 0x51, 0x05, 0x15, 0x33, 0x8c, 0xfd, + 0x02, 0xc0, 0xe2, 0x03, 0xd2, 0x98, 0x6b, 0xb0, 0x58, 0x14, 0xed, 0x40, 0xcc, 0xea, 0x7e, 0x20, + 0x66, 0x7f, 0xcb, 0x82, 0xb1, 0xa5, 0x05, 0x43, 0xa7, 0x9f, 0x01, 0xe0, 0xba, 0xf1, 0xdd, 0xbb, + 0x37, 0xa5, 0xc3, 0x97, 0x7b, 0xe5, 0x14, 0x14, 0x6b, 0x14, 0xe8, 0x51, 0x28, 0xfb, 0xad, 0x40, + 0xa8, 0xac, 0x83, 0xfb, 0x7b, 0xd3, 0xe5, 0x95, 0x56, 0x80, 0x29, 0x4c, 0x8b, 0xbe, 0x29, 0x17, + 0x8e, 0xbe, 0xc9, 0x8f, 0x43, 0xfd, 0x46, 0x19, 0x26, 0x96, 0x7c, 0xf2, 0xc0, 0x68, 0xf5, 0xd3, + 0x30, 0xe0, 0x46, 0xde, 0x0e, 0x89, 0xb2, 0x8a, 0x40, 0x95, 0x41, 0xb1, 0xc0, 0x16, 0x0e, 0x08, + 0x7a, 0xb3, 0x7d, 0x23, 0x3f, 0xbe, 0x60, 0xa8, 0xdc, 0x3e, 0xa3, 0x0d, 0x18, 0xe4, 0x07, 0xa8, + 0xf1, 0x64, 0x3f, 0x13, 0xc5, 0x57, 0x0e, 0x6f, 0x4c, 0x76, 0x7c, 0x66, 0x84, 0x43, 0x82, 0x87, + 0x62, 0xa8, 0xb5, 0x4c, 0x40, 0xb1, 0x64, 0x3e, 0xf5, 0x49, 0x18, 0xd1, 0x29, 0x7b, 0x8a, 0xc9, + 0xf8, 0x05, 0x0b, 0x4e, 0x2f, 0xf9, 0x61, 0xe3, 0x5e, 0x26, 0x62, 0xeb, 0x25, 0x18, 0xa6, 0x93, + 0x29, 0x36, 0xc2, 0x19, 0x8d, 0xb8, 0x4d, 0x81, 0xc2, 0x3a, 0x9d, 0x56, 0xec, 0xf6, 0xed, 0xe5, + 0x6a, 0xa7, 0x70, 0x4f, 0x81, 0xc2, 0x3a, 0x9d, 0xfd, 0x7b, 0x16, 0x3c, 0x7e, 0x6d, 0x61, 0xb1, + 0x46, 0xa2, 0xd8, 0x8b, 0x13, 0x12, 0x24, 0x6d, 0x11, 0xa7, 0x54, 0x67, 0x74, 0xb5, 0xa6, 0xa4, + 0x3a, 0x63, 0x95, 0xb5, 0x42, 0x60, 0x3f, 0x28, 0x61, 0xd7, 0xdf, 0xb4, 0xe0, 0xf4, 0x35, 0x2f, + 0xc1, 0xa4, 0x19, 0x66, 0x83, 0x44, 0x23, 0xd2, 0x0c, 0x63, 0x2f, 0x09, 0xa3, 0xdd, 0x6c, 0x90, + 0x28, 0x56, 0x18, 0xac, 0x51, 0xf1, 0x9a, 0x77, 0xbc, 0x98, 0xb6, 0xb4, 0x64, 0x9a, 0xba, 0x58, + 0xc0, 0xb1, 0xa2, 0xa0, 0x1d, 0x73, 0xbd, 0x88, 0xa9, 0x0c, 0xbb, 0x62, 0x06, 0xab, 0x8e, 0x55, + 0x25, 0x02, 0xa7, 0x34, 0xf6, 0xdf, 0xb1, 0xe0, 0xec, 0x35, 0xbf, 0x15, 0x27, 0x24, 0xda, 0x88, + 0x8d, 0xc6, 0xbe, 0x00, 0x15, 0x22, 0x95, 0x7b, 0xd1, 0x56, 0xb5, 0x69, 0x28, 0xad, 0x9f, 0x47, + 0xa8, 0x2a, 0xba, 0x02, 0x81, 0x90, 0xbd, 0x85, 0xed, 0xfd, 0x56, 0x09, 0x46, 0xaf, 0xaf, 0xad, + 0xd5, 0xae, 0x91, 0x44, 0xac, 0x92, 0xf9, 0x4e, 0xa9, 0x9a, 0x66, 0x91, 0x6b, 0x7b, 0x4b, 0x66, + 0xd6, 0xb5, 0x12, 0xcf, 0x9f, 0xe1, 0x17, 0x02, 0x66, 0x96, 0x83, 0xe4, 0x56, 0x54, 0x4f, 0x22, + 0x2f, 0xd8, 0xec, 0x68, 0xc1, 0xcb, 0x95, 0xbc, 0xdc, 0x6d, 0x25, 0x47, 0x2f, 0xc0, 0x00, 0xbb, + 0xc3, 0x20, 0x55, 0x8f, 0x0f, 0x2b, 0x2d, 0x81, 0x41, 0x0f, 0xf6, 0xa6, 0x2b, 0xb7, 0xf1, 0x32, + 0xff, 0x83, 0x05, 0x29, 0x7a, 0x13, 0x86, 0xb7, 0x92, 0xa4, 0x79, 0x9d, 0x38, 0x2e, 0x89, 0xe4, + 0x2a, 0x71, 0xf1, 0xf0, 0x55, 0x82, 0x0e, 0x06, 0x2f, 0x90, 0x4e, 0xac, 0x14, 0x16, 0x63, 0x9d, + 0xa3, 0x5d, 0x07, 0x48, 0x71, 0x0f, 0xc9, 0x02, 0xb1, 0x7f, 0xbe, 0x04, 0x83, 0xd7, 0x9d, 0xc0, + 0xf5, 0x49, 0x84, 0x96, 0xa0, 0x8f, 0x3c, 0x20, 0x0d, 0xb1, 0x8d, 0xe7, 0x34, 0x3d, 0xdd, 0xea, + 0xb8, 0x57, 0x8d, 0xfe, 0xc7, 0xac, 0x3c, 0xc2, 0x30, 0x48, 0xdb, 0x7d, 0x4d, 0x45, 0x0f, 0x3f, + 0x97, 0x3f, 0x0a, 0x4a, 0x24, 0xf8, 0x3e, 0x29, 0x40, 0x58, 0x32, 0x62, 0xfe, 0xa7, 0x46, 0xb3, + 0x4e, 0x17, 0xb7, 0xa4, 0x98, 0x5d, 0xb7, 0xb6, 0x50, 0xe3, 0xe4, 0x82, 0x2f, 0xf7, 0x3f, 0x49, + 0x20, 0x4e, 0xd9, 0xd9, 0x57, 0xe1, 0x0c, 0x3b, 0xbe, 0x74, 0x92, 0x2d, 0x63, 0xce, 0xe4, 0x0a, + 0xa7, 0xfd, 0xf7, 0x4a, 0x70, 0x6a, 0xb9, 0xbe, 0x50, 0x37, 0x3d, 0x87, 0x57, 0x61, 0x84, 0x6f, + 0xcf, 0x54, 0xe8, 0x1c, 0x5f, 0x94, 0x57, 0x2e, 0xf7, 0x35, 0x0d, 0x87, 0x0d, 0x4a, 0xf4, 0x38, + 0x94, 0xbd, 0xb7, 0x83, 0x6c, 0xb4, 0xd7, 0xf2, 0x6b, 0x37, 0x31, 0x85, 0x53, 0x34, 0xdd, 0xe9, + 0xf9, 0x12, 0xa7, 0xd0, 0x6a, 0xb7, 0x7f, 0x15, 0xc6, 0xbc, 0xb8, 0x11, 0x7b, 0xcb, 0x01, 0x9d, + 0xff, 0x4e, 0x43, 0x8a, 0x6f, 0xaa, 0x9a, 0xd3, 0xa6, 0x2a, 0x2c, 0xce, 0x50, 0x6b, 0xeb, 0x6d, + 0x7f, 0x61, 0x6d, 0x21, 0x3f, 0x8c, 0xf8, 0x4b, 0x50, 0x51, 0xe1, 0x4e, 0x32, 0x9c, 0xcd, 0xea, + 0x12, 0xce, 0x96, 0xbf, 0xe0, 0x48, 0x7f, 0x6e, 0xb9, 0xa3, 0x3f, 0xf7, 0x9f, 0x58, 0x90, 0xc6, + 0x6b, 0x20, 0x0c, 0x95, 0x66, 0xc8, 0x0e, 0x4b, 0x22, 0x79, 0x2a, 0xf9, 0x54, 0x8e, 0x24, 0xf2, + 0x99, 0xc0, 0x65, 0xa5, 0x26, 0xcb, 0xe2, 0x94, 0x0d, 0x5a, 0x81, 0xc1, 0x66, 0x44, 0xea, 0x09, + 0x8b, 0x45, 0xef, 0x81, 0x23, 0x93, 0xea, 0x1a, 0x2f, 0x89, 0x25, 0x0b, 0xfb, 0x5f, 0x5b, 0x00, + 0x2b, 0xde, 0xb6, 0x97, 0x60, 0x27, 0xd8, 0x24, 0x27, 0x60, 0xec, 0xdd, 0x84, 0xbe, 0xb8, 0x49, + 0x1a, 0xc5, 0x8e, 0xbb, 0xd2, 0x96, 0xd5, 0x9b, 0xa4, 0x91, 0x7e, 0x0e, 0xfa, 0x0f, 0x33, 0x3e, + 0xf6, 0x3f, 0x05, 0x18, 0x4b, 0xc9, 0xa8, 0xc2, 0x8d, 0x9e, 0x37, 0x82, 0xb0, 0x1f, 0xcd, 0x04, + 0x61, 0x57, 0x18, 0xb5, 0x16, 0x77, 0x9d, 0x40, 0x79, 0xdb, 0x79, 0x20, 0xf4, 0xfb, 0x97, 0x8a, + 0x36, 0x88, 0xd6, 0x34, 0xb3, 0xea, 0x3c, 0xe0, 0xea, 0xd4, 0x73, 0x52, 0x90, 0x56, 0x9d, 0x07, + 0x07, 0xfc, 0x50, 0x8b, 0xcd, 0x44, 0x6a, 0x50, 0x7c, 0xf5, 0xbf, 0xa7, 0xff, 0xd9, 0xe2, 0x48, + 0xab, 0x63, 0xb5, 0x7a, 0x81, 0x70, 0x4f, 0xf6, 0x58, 0xab, 0x17, 0x64, 0x6b, 0xf5, 0x82, 0x02, + 0xb5, 0x7a, 0x01, 0x7a, 0xd7, 0x82, 0x41, 0xe1, 0xd5, 0x67, 0x11, 0x70, 0xc3, 0x57, 0x3e, 0xd1, + 0x53, 0xd5, 0xe2, 0x78, 0x80, 0x57, 0x3f, 0x2b, 0x75, 0x48, 0x01, 0xcd, 0x6d, 0x82, 0xac, 0x1a, + 0xfd, 0xaa, 0x05, 0x63, 0xe2, 0x37, 0x26, 0x6f, 0xb7, 0x48, 0x9c, 0x88, 0xdd, 0xea, 0x33, 0x47, + 0x69, 0x8d, 0x60, 0xc1, 0x1b, 0xf5, 0x71, 0xb9, 0xd4, 0x98, 0xc8, 0xdc, 0xb6, 0x65, 0xda, 0x83, + 0xbe, 0x6b, 0xc1, 0x99, 0x6d, 0xe7, 0x01, 0xaf, 0x91, 0xc3, 0xb0, 0x93, 0x78, 0xa1, 0x88, 0xf2, + 0x5b, 0xea, 0x55, 0x4e, 0xda, 0x18, 0xf1, 0xe6, 0xca, 0x00, 0x9e, 0x33, 0x9d, 0x48, 0x72, 0x1b, + 0xdd, 0xb1, 0x85, 0x53, 0x2e, 0x0c, 0x49, 0xc1, 0xec, 0xa0, 0xbd, 0xcf, 0xeb, 0x9b, 0xf2, 0xe1, + 0x33, 0x50, 0xfa, 0xbb, 0x66, 0x5e, 0x6b, 0x39, 0x41, 0xe2, 0x25, 0xbb, 0x9a, 0xae, 0xcf, 0x6a, + 0x11, 0x82, 0x78, 0x8c, 0xb5, 0x6c, 0xc1, 0x88, 0x2e, 0x73, 0xc7, 0x58, 0x53, 0x08, 0xa7, 0x3b, + 0xc8, 0xd3, 0x31, 0x56, 0xd8, 0x82, 0x47, 0xbb, 0xca, 0xc5, 0xf1, 0x55, 0x6b, 0xff, 0x2b, 0x4b, + 0x5f, 0x30, 0x4f, 0xc0, 0x83, 0xb2, 0x6a, 0x7a, 0x50, 0x2e, 0x16, 0x9d, 0x39, 0x5d, 0xdc, 0x28, + 0x1b, 0x7a, 0xf3, 0xe9, 0x46, 0x80, 0xd6, 0x60, 0xc0, 0xa7, 0x10, 0x79, 0x80, 0x75, 0xa9, 0x97, + 0xb9, 0x99, 0xea, 0x18, 0x0c, 0x1e, 0x63, 0xc1, 0xcb, 0xfe, 0xae, 0x05, 0x7d, 0x3f, 0xc5, 0x8b, + 0x21, 0x6d, 0xac, 0xc5, 0xdd, 0xe6, 0x19, 0xec, 0xdc, 0x5f, 0x7c, 0x90, 0x90, 0x20, 0x66, 0x2a, + 0x65, 0xc7, 0x21, 0xfa, 0xb5, 0x12, 0x0c, 0xd3, 0xaa, 0x64, 0x08, 0xc2, 0x2b, 0x30, 0xea, 0x3b, + 0xeb, 0xc4, 0x97, 0xde, 0xdf, 0xac, 0xf9, 0xb5, 0xa2, 0x23, 0xb1, 0x49, 0x4b, 0x0b, 0x6f, 0xe8, + 0xce, 0x71, 0xa1, 0x1a, 0xa9, 0xc2, 0x86, 0xe7, 0x1c, 0x9b, 0xb4, 0xd4, 0x02, 0xb8, 0xef, 0x24, + 0x8d, 0x2d, 0x61, 0x9a, 0xa9, 0xe6, 0xde, 0xa5, 0x40, 0xcc, 0x71, 0x68, 0x0e, 0xc6, 0xa5, 0xc4, + 0xde, 0xa1, 0x36, 0x7b, 0x18, 0x08, 0xb5, 0x51, 0x5d, 0x2e, 0xc5, 0x26, 0x1a, 0x67, 0xe9, 0xd1, + 0x27, 0x61, 0x8c, 0x0e, 0x4e, 0xd8, 0x4a, 0x64, 0x80, 0x45, 0x3f, 0x0b, 0xb0, 0x60, 0xf1, 0xb9, + 0x6b, 0x06, 0x06, 0x67, 0x28, 0xed, 0x37, 0xe1, 0xf4, 0x4a, 0xe8, 0xb8, 0xf3, 0x8e, 0xef, 0x04, + 0x0d, 0x12, 0x2d, 0x07, 0x9b, 0xb9, 0x67, 0xd1, 0xfa, 0x79, 0x71, 0x29, 0xef, 0xbc, 0xd8, 0x8e, + 0x00, 0xe9, 0x15, 0x88, 0xd0, 0xa0, 0x37, 0x60, 0xd0, 0xe3, 0x55, 0x09, 0xb1, 0xbd, 0x9c, 0xe7, + 0x5c, 0x6a, 0x6b, 0xa3, 0x16, 0xea, 0xc2, 0x01, 0x58, 0xb2, 0xa4, 0x16, 0x45, 0x27, 0x6f, 0x54, + 0xbe, 0xd1, 0x66, 0xff, 0x65, 0x0b, 0xc6, 0x6f, 0x66, 0x6e, 0x2e, 0x3e, 0x0d, 0x03, 0x31, 0x89, + 0x3a, 0xb8, 0xd6, 0xea, 0x0c, 0x8a, 0x05, 0xf6, 0xa1, 0x9b, 0xeb, 0xbf, 0x5c, 0x82, 0x0a, 0x0b, + 0x32, 0x6d, 0x52, 0xeb, 0xe0, 0xf8, 0x95, 0xd3, 0x55, 0x43, 0x39, 0xcd, 0x31, 0x1a, 0x55, 0xc3, + 0xba, 0xe9, 0xa6, 0xe8, 0xb6, 0xba, 0xd1, 0x57, 0xc8, 0x5e, 0x4c, 0x19, 0xf2, 0x5b, 0x5f, 0x63, + 0xe6, 0x05, 0x40, 0x79, 0xdb, 0x8f, 0x9d, 0xe0, 0x2a, 0xda, 0x0f, 0xdc, 0x09, 0xae, 0x6a, 0x59, + 0x97, 0xc5, 0xa9, 0xa6, 0x35, 0x9e, 0x2d, 0xdf, 0x9f, 0x66, 0xa1, 0x83, 0x8e, 0xef, 0xbd, 0x43, + 0xd4, 0xc5, 0xd8, 0x69, 0x11, 0x0a, 0x28, 0xa0, 0x07, 0x6c, 0x9d, 0x11, 0xff, 0xf8, 0xbd, 0xe7, + 0xb4, 0x88, 0x7d, 0x1d, 0xc6, 0x33, 0x43, 0x87, 0x5e, 0x82, 0xfe, 0xe6, 0x96, 0x13, 0x93, 0x4c, + 0x50, 0x4a, 0x7f, 0x8d, 0x02, 0x0f, 0xf6, 0xa6, 0xc7, 0x54, 0x01, 0x06, 0xc1, 0x9c, 0xda, 0x7e, + 0xb7, 0x04, 0x7d, 0x37, 0x43, 0xf7, 0x24, 0x44, 0xed, 0xba, 0x21, 0x6a, 0x4f, 0xe7, 0x67, 0x4d, + 0xe8, 0x2a, 0x65, 0xb5, 0x8c, 0x94, 0x5d, 0x2c, 0xc0, 0xeb, 0x70, 0x01, 0xdb, 0x86, 0x61, 0x96, + 0x95, 0x41, 0x44, 0xe5, 0xbc, 0x60, 0xd8, 0x53, 0xd3, 0x19, 0x7b, 0x6a, 0x5c, 0x23, 0xd5, 0xac, + 0xaa, 0x67, 0x60, 0x50, 0x44, 0x81, 0x64, 0x03, 0x27, 0x05, 0x2d, 0x96, 0x78, 0xfb, 0x5f, 0x94, + 0xc1, 0xc8, 0x02, 0x81, 0x7e, 0x60, 0xc1, 0x4c, 0xc4, 0x2f, 0xa1, 0xb8, 0xd5, 0x56, 0xe4, 0x05, + 0x9b, 0xf5, 0xc6, 0x16, 0x71, 0x5b, 0xbe, 0x17, 0x6c, 0x2e, 0x6f, 0x06, 0xa1, 0x02, 0x2f, 0x3e, + 0x20, 0x8d, 0x16, 0x73, 0xba, 0x16, 0x4e, 0x3e, 0xa1, 0x4e, 0x40, 0xaf, 0xec, 0xef, 0x4d, 0xcf, + 0xe0, 0x9e, 0x6a, 0xc1, 0x3d, 0xb6, 0x0a, 0xfd, 0xa1, 0x05, 0xb3, 0x3c, 0x0f, 0x42, 0xf1, 0x9e, + 0x14, 0xb2, 0x43, 0x6b, 0x92, 0x69, 0xca, 0x6e, 0x8d, 0x44, 0xdb, 0xf3, 0x2f, 0x8b, 0x41, 0x9e, + 0xad, 0xf5, 0x56, 0x2b, 0xee, 0xb5, 0x99, 0xf6, 0xbf, 0x2d, 0xc3, 0x28, 0x1d, 0xcf, 0xf4, 0xee, + 0xf3, 0x4b, 0x86, 0x98, 0x3c, 0x91, 0x11, 0x93, 0x53, 0x06, 0xf1, 0xc3, 0xb9, 0xf6, 0x1c, 0xc3, + 0x29, 0xdf, 0x89, 0x93, 0xeb, 0xc4, 0x89, 0x92, 0x75, 0xe2, 0xb0, 0x83, 0xc6, 0x6c, 0x10, 0x43, + 0x81, 0xb3, 0x4b, 0x15, 0x59, 0xb4, 0x92, 0x65, 0x86, 0xdb, 0xf9, 0xa3, 0x1d, 0x40, 0xec, 0x50, + 0x33, 0x72, 0x82, 0x98, 0xf7, 0xc5, 0x13, 0x6e, 0xda, 0xde, 0x6a, 0x9d, 0x12, 0xb5, 0xa2, 0x95, + 0x36, 0x6e, 0xb8, 0x43, 0x0d, 0xda, 0xb1, 0x75, 0x7f, 0xd1, 0x63, 0xeb, 0x81, 0x9c, 0x88, 0xe5, + 0x5f, 0xb4, 0xe0, 0x34, 0xfd, 0x2c, 0x66, 0x74, 0x6b, 0x8c, 0x42, 0x18, 0xa7, 0x62, 0xe7, 0x93, + 0x44, 0xc2, 0xc4, 0xfc, 0xca, 0xd1, 0xac, 0x4d, 0x3e, 0xa9, 0xfa, 0x76, 0xc3, 0x64, 0x86, 0xb3, + 0xdc, 0xed, 0x6f, 0x59, 0xc0, 0xc2, 0xe7, 0x4e, 0x60, 0x33, 0xbb, 0x66, 0x6e, 0x66, 0x76, 0xfe, + 0x8a, 0xd1, 0x65, 0x1f, 0x7b, 0x11, 0x26, 0x28, 0xb6, 0x16, 0x85, 0x0f, 0x76, 0xa5, 0xa2, 0x9d, + 0xef, 0xaf, 0x7d, 0xb7, 0xc4, 0xa7, 0x8d, 0xba, 0x4d, 0x87, 0x7e, 0xc9, 0x82, 0xa1, 0x86, 0xd3, + 0x74, 0x1a, 0x3c, 0x87, 0x4e, 0x01, 0x9f, 0x8c, 0x51, 0x7e, 0x66, 0x41, 0x94, 0xe5, 0xfe, 0x84, + 0x8f, 0xc9, 0xae, 0x4b, 0x70, 0xae, 0x0f, 0x41, 0x55, 0x3e, 0xe5, 0xc1, 0xa8, 0xc1, 0xec, 0x18, + 0x8d, 0xd0, 0x5f, 0xb2, 0xf8, 0x92, 0xaf, 0x0c, 0x85, 0xfb, 0x70, 0x2a, 0xd0, 0xfe, 0xd3, 0xc5, + 0x4c, 0xea, 0xc5, 0x33, 0xc5, 0x17, 0x75, 0xb6, 0x06, 0x6a, 0x81, 0x82, 0x19, 0x86, 0xb8, 0xbd, + 0x0e, 0xfb, 0xef, 0x5b, 0xf0, 0x88, 0x4e, 0xa8, 0x5d, 0x7e, 0xcc, 0xf3, 0x15, 0x57, 0x61, 0x28, + 0x6c, 0x92, 0xc8, 0x49, 0x8d, 0xa2, 0x8b, 0x72, 0xf4, 0x6f, 0x09, 0xf8, 0xc1, 0xde, 0xf4, 0x19, + 0x9d, 0xbb, 0x84, 0x63, 0x55, 0x12, 0xd9, 0x30, 0xc0, 0xc6, 0x25, 0x16, 0xd7, 0x56, 0x59, 0x46, + 0x19, 0x76, 0x42, 0x12, 0x63, 0x81, 0xb1, 0xff, 0xba, 0xc5, 0x85, 0x4d, 0x6f, 0x3a, 0xfa, 0x32, + 0x4c, 0x6c, 0x53, 0xfb, 0x69, 0xf1, 0x41, 0x93, 0x6e, 0xa3, 0xec, 0x64, 0xd8, 0x2a, 0xb2, 0x79, + 0x74, 0xe9, 0xee, 0xfc, 0xa4, 0x68, 0xfd, 0xc4, 0x6a, 0x86, 0x2d, 0x6e, 0xab, 0xc8, 0xfe, 0x23, + 0x31, 0x63, 0x99, 0x06, 0xf7, 0x0c, 0x0c, 0x36, 0x43, 0x77, 0x61, 0xb9, 0x8a, 0xc5, 0x58, 0xa9, + 0x25, 0xa7, 0xc6, 0xc1, 0x58, 0xe2, 0xd1, 0x15, 0x00, 0xf2, 0x20, 0x21, 0x51, 0xe0, 0xf8, 0xea, + 0x44, 0x57, 0x29, 0x4a, 0x8b, 0x0a, 0x83, 0x35, 0x2a, 0x5a, 0xa6, 0x19, 0x85, 0x3b, 0x9e, 0xcb, + 0xa2, 0xf6, 0xcb, 0x66, 0x99, 0x9a, 0xc2, 0x60, 0x8d, 0x8a, 0x5a, 0xad, 0xad, 0x20, 0xe6, 0x9b, + 0x98, 0xb3, 0x2e, 0x12, 0xa0, 0x0c, 0xa5, 0x56, 0xeb, 0x6d, 0x1d, 0x89, 0x4d, 0x5a, 0xfb, 0xbf, + 0x54, 0x00, 0x52, 0x35, 0x09, 0xbd, 0xdb, 0x3e, 0x43, 0x3f, 0x5e, 0x54, 0xc7, 0x7a, 0x78, 0xd3, + 0x13, 0x7d, 0xdd, 0x82, 0x61, 0xc7, 0xf7, 0xc3, 0x86, 0x93, 0xb0, 0x1e, 0x95, 0x8a, 0xae, 0x15, + 0xa2, 0x25, 0x73, 0x69, 0x59, 0xde, 0x98, 0x17, 0xe4, 0x81, 0x9f, 0x86, 0xc9, 0x6d, 0x8f, 0xde, + 0x04, 0xf4, 0x31, 0xa9, 0x66, 0xf3, 0x8f, 0x32, 0x95, 0x55, 0xb3, 0x2b, 0x6c, 0x85, 0xd4, 0x34, + 0x6c, 0xf4, 0xa6, 0x91, 0xe3, 0xa3, 0xaf, 0xc8, 0x6d, 0x49, 0x43, 0x71, 0xc8, 0x4b, 0xef, 0x81, + 0x3e, 0xaf, 0x07, 0x34, 0xf7, 0x17, 0xb9, 0x8e, 0xac, 0xe9, 0xaf, 0x39, 0xc1, 0xcc, 0x09, 0x8c, + 0xbb, 0xe6, 0x56, 0x29, 0x82, 0xb2, 0x2e, 0xe7, 0xd7, 0x90, 0xd9, 0x63, 0xd3, 0xcd, 0x31, 0x83, + 0xc0, 0xd9, 0x2a, 0xd0, 0xe7, 0x79, 0xb8, 0xf9, 0x72, 0xb0, 0x11, 0x8a, 0xc0, 0xac, 0x4b, 0x05, + 0xbe, 0xf9, 0x6e, 0x9c, 0x90, 0x6d, 0x5a, 0x26, 0xdd, 0x0d, 0x6f, 0x0a, 0x2e, 0x58, 0xf1, 0x43, + 0x6b, 0x30, 0xc0, 0x2e, 0xc7, 0xc4, 0x93, 0x43, 0x45, 0x5c, 0x67, 0xe6, 0x9d, 0xd0, 0x54, 0x05, + 0x61, 0x7f, 0x63, 0x2c, 0x78, 0xa1, 0xeb, 0xf2, 0x56, 0x78, 0xbc, 0x1c, 0xdc, 0x8e, 0x09, 0xbb, + 0x15, 0x5e, 0x99, 0xff, 0x48, 0x7a, 0xcd, 0x9b, 0xc3, 0x3b, 0x66, 0x39, 0x33, 0x4a, 0x52, 0x4d, + 0x44, 0xfc, 0x97, 0xc9, 0xd3, 0x26, 0xa1, 0x48, 0x43, 0xcd, 0x54, 0x6b, 0xe9, 0x60, 0xdf, 0x31, + 0x99, 0xe1, 0x2c, 0xf7, 0x13, 0xdc, 0x03, 0xa7, 0x7c, 0x98, 0xc8, 0x4e, 0xc9, 0x63, 0xdc, 0x71, + 0x7f, 0xd2, 0x07, 0x63, 0xa6, 0x60, 0xa0, 0x59, 0xa8, 0x08, 0x6d, 0x4a, 0x25, 0x52, 0x52, 0xf2, + 0xbf, 0x2a, 0x11, 0x38, 0xa5, 0x61, 0x29, 0xa5, 0x58, 0x71, 0x2d, 0x1c, 0x27, 0x4d, 0x29, 0xa5, + 0x30, 0x58, 0xa3, 0xa2, 0x6a, 0xeb, 0x7a, 0x18, 0x26, 0x6a, 0xe1, 0x56, 0x32, 0x33, 0xcf, 0xa0, + 0x58, 0x60, 0xe9, 0x82, 0x7d, 0x8f, 0x76, 0xc8, 0x37, 0x5d, 0x80, 0x6a, 0xc1, 0xbe, 0xa1, 0x23, + 0xb1, 0x49, 0x4b, 0x37, 0xa0, 0x30, 0x66, 0x42, 0x28, 0x94, 0xe3, 0x34, 0xbc, 0xa9, 0xce, 0x2f, + 0x8b, 0x49, 0x3c, 0xfa, 0x1c, 0x3c, 0xa2, 0xee, 0x76, 0x61, 0xee, 0x52, 0x95, 0x35, 0x0e, 0x18, + 0xf6, 0xed, 0x23, 0x0b, 0x9d, 0xc9, 0x70, 0xb7, 0xf2, 0xe8, 0x55, 0x18, 0x13, 0x8a, 0xad, 0xe4, + 0x38, 0x68, 0x9e, 0x7e, 0xdf, 0x30, 0xb0, 0x38, 0x43, 0x8d, 0xaa, 0x30, 0x41, 0x21, 0x4c, 0xa3, + 0x94, 0x1c, 0xf8, 0x1d, 0x35, 0xb5, 0x33, 0xdf, 0xc8, 0xe0, 0x71, 0x5b, 0x09, 0x34, 0x07, 0xe3, + 0x5c, 0xb7, 0xa0, 0x56, 0x1c, 0xfb, 0x0e, 0x22, 0x92, 0x52, 0x4d, 0x82, 0x5b, 0x26, 0x1a, 0x67, + 0xe9, 0xd1, 0x55, 0x18, 0x71, 0xa2, 0xc6, 0x96, 0x97, 0x90, 0x46, 0xd2, 0x8a, 0x78, 0xbe, 0x05, + 0x2d, 0x7c, 0x60, 0x4e, 0xc3, 0x61, 0x83, 0xd2, 0x7e, 0x07, 0x4e, 0x77, 0x08, 0xdb, 0xa6, 0x82, + 0xe3, 0x34, 0x3d, 0xd9, 0xa7, 0x4c, 0xa0, 0xd2, 0x5c, 0x6d, 0x59, 0xf6, 0x46, 0xa3, 0xa2, 0xd2, + 0xc9, 0x7c, 0xc9, 0x5a, 0x9e, 0x43, 0x25, 0x9d, 0x4b, 0x12, 0x81, 0x53, 0x1a, 0xfb, 0x4f, 0x2b, + 0xa0, 0xb9, 0x5a, 0x0a, 0x84, 0xa7, 0x5c, 0x85, 0x11, 0x99, 0xba, 0x53, 0x4b, 0x99, 0xa7, 0xba, + 0x79, 0x4d, 0xc3, 0x61, 0x83, 0x92, 0xb6, 0x2d, 0x90, 0x0e, 0xa4, 0x6c, 0x58, 0x94, 0xf2, 0x2c, + 0xe1, 0x94, 0x06, 0x5d, 0x82, 0xa1, 0x98, 0xf8, 0x1b, 0x2b, 0x5e, 0x70, 0x4f, 0x08, 0xb6, 0x5a, + 0x95, 0xeb, 0x02, 0x8e, 0x15, 0x05, 0x9a, 0x87, 0x72, 0xcb, 0x73, 0x85, 0x28, 0x4b, 0x95, 0xa1, + 0x7c, 0x7b, 0xb9, 0x7a, 0xb0, 0x37, 0xfd, 0x44, 0xb7, 0xdc, 0xa7, 0xd4, 0x98, 0x8e, 0x67, 0xe8, + 0xf4, 0xa3, 0x85, 0x3b, 0x39, 0xd5, 0x07, 0x7a, 0x74, 0xaa, 0x5f, 0x01, 0x10, 0xbd, 0x96, 0xb2, + 0x5c, 0x4e, 0xbf, 0xda, 0x35, 0x85, 0xc1, 0x1a, 0x15, 0x35, 0xc9, 0x1b, 0x11, 0x71, 0xa4, 0xd5, + 0xca, 0xc3, 0x89, 0x87, 0x8e, 0x6e, 0x92, 0x2f, 0x64, 0x99, 0xe1, 0x76, 0xfe, 0x28, 0x84, 0x53, + 0x2e, 0x9d, 0x48, 0x46, 0xa5, 0x95, 0xde, 0x63, 0x98, 0x69, 0x85, 0xd5, 0x2c, 0x23, 0xdc, 0xce, + 0x1b, 0x7d, 0x11, 0xa6, 0x24, 0xb0, 0xfd, 0xf6, 0x26, 0x9b, 0x2e, 0xe5, 0xf9, 0xf3, 0xfb, 0x7b, + 0xd3, 0x53, 0xd5, 0xae, 0x54, 0xf8, 0x10, 0x0e, 0xe8, 0x0d, 0x18, 0x60, 0x87, 0x30, 0xf1, 0xe4, + 0x30, 0xdb, 0xed, 0x5e, 0x2c, 0x12, 0x09, 0x4f, 0xa5, 0x7e, 0x86, 0x1d, 0xe5, 0x88, 0x18, 0xcf, + 0xf4, 0x64, 0x8b, 0x01, 0xb1, 0xe0, 0x89, 0x9a, 0x30, 0xec, 0x04, 0x41, 0x98, 0x38, 0x5c, 0x09, + 0x1b, 0x29, 0xa2, 0x47, 0x6a, 0x55, 0xcc, 0xa5, 0x65, 0x79, 0x3d, 0x2a, 0x70, 0x4c, 0xc3, 0x60, + 0xbd, 0x0a, 0x74, 0x1f, 0xc6, 0xc3, 0xfb, 0x74, 0xc1, 0x94, 0xe7, 0x10, 0xf1, 0xe4, 0xa8, 0xd9, + 0xb1, 0x1c, 0xaf, 0xaa, 0x51, 0x58, 0x5b, 0xc9, 0x4c, 0xa6, 0x38, 0x5b, 0x0b, 0x9a, 0x31, 0x7c, + 0xcb, 0x63, 0x69, 0x24, 0x73, 0xea, 0x5b, 0xd6, 0x5d, 0xc9, 0xec, 0x86, 0x30, 0x8f, 0x5e, 0x64, + 0x2b, 0xc2, 0x78, 0xe6, 0x86, 0x70, 0x8a, 0xc2, 0x3a, 0xdd, 0xd4, 0x27, 0x60, 0x58, 0x1b, 0xf8, + 0x5e, 0x42, 0x66, 0xa7, 0x5e, 0x85, 0x89, 0xec, 0x80, 0xf6, 0x14, 0x72, 0xfb, 0xbf, 0x4a, 0x30, + 0xde, 0xe1, 0x90, 0xe7, 0x9e, 0xc7, 0xc2, 0xbe, 0x8d, 0xa5, 0xef, 0x86, 0x17, 0xb8, 0x98, 0x61, + 0xcc, 0x05, 0xac, 0x54, 0x60, 0x01, 0x93, 0xab, 0x69, 0xb9, 0xeb, 0x6a, 0x2a, 0x16, 0xad, 0xbe, + 0xf7, 0xb3, 0x68, 0x99, 0xfb, 0x44, 0x7f, 0xa1, 0x7d, 0xe2, 0x21, 0x2c, 0x74, 0xc6, 0x56, 0x33, + 0x58, 0x60, 0xab, 0xf9, 0x66, 0x09, 0x26, 0xd2, 0xf0, 0x62, 0x91, 0xcf, 0xf7, 0xf8, 0xcf, 0x0c, + 0xd6, 0x8c, 0x33, 0x83, 0xbc, 0x74, 0xbd, 0x99, 0xf6, 0x75, 0x3d, 0x3f, 0x78, 0x23, 0x73, 0x7e, + 0xf0, 0x62, 0x8f, 0x7c, 0x0f, 0x3f, 0x4b, 0xf8, 0x4e, 0x09, 0xce, 0x66, 0x8b, 0x2c, 0xf8, 0x8e, + 0xb7, 0x7d, 0x02, 0xe3, 0xf5, 0x39, 0x63, 0xbc, 0x5e, 0xee, 0xad, 0x5f, 0xac, 0x91, 0x5d, 0x07, + 0xcd, 0xc9, 0x0c, 0xda, 0x27, 0x8e, 0xc2, 0xfc, 0xf0, 0x91, 0xfb, 0x7d, 0x0b, 0x1e, 0xed, 0x58, + 0xee, 0x04, 0xbc, 0xa4, 0xaf, 0x9b, 0x5e, 0xd2, 0x17, 0x8e, 0xd0, 0xbb, 0x2e, 0x6e, 0xd3, 0xff, + 0x51, 0xea, 0xd2, 0x2b, 0xe6, 0x49, 0xba, 0x05, 0xc3, 0x4e, 0xa3, 0x41, 0xe2, 0x78, 0x35, 0x74, + 0x55, 0xae, 0xa1, 0xe7, 0xd9, 0xde, 0x92, 0x82, 0x0f, 0xf6, 0xa6, 0xa7, 0xb2, 0x2c, 0x52, 0x34, + 0xd6, 0x39, 0x98, 0x59, 0xd0, 0x4a, 0xc7, 0x94, 0x05, 0xed, 0x0a, 0xc0, 0x8e, 0xb2, 0x60, 0xb3, + 0x0e, 0x2a, 0xcd, 0xb6, 0xd5, 0xa8, 0xd0, 0x5f, 0x64, 0x1a, 0x21, 0x8f, 0xa8, 0xe8, 0x33, 0x6f, + 0x2a, 0xe6, 0x7c, 0x3f, 0x3d, 0x3a, 0x83, 0x5f, 0x88, 0x54, 0xce, 0x3c, 0xc5, 0xd2, 0xfe, 0x97, + 0x65, 0xf8, 0xf0, 0x21, 0x42, 0x87, 0xe6, 0xcc, 0x03, 0xd2, 0xe7, 0xb2, 0x9e, 0x9b, 0xa9, 0x8e, + 0x85, 0x0d, 0x57, 0x4e, 0xe6, 0x5b, 0x95, 0xde, 0xf7, 0xb7, 0xfa, 0x86, 0xee, 0x67, 0xe3, 0x81, + 0x91, 0xd7, 0x8e, 0x3c, 0xad, 0x7e, 0x36, 0xfd, 0xe2, 0x5f, 0xb5, 0xe0, 0x89, 0x8e, 0x9d, 0x32, + 0xc2, 0x31, 0x66, 0xa1, 0xd2, 0xa0, 0x40, 0xed, 0x06, 0x4b, 0x7a, 0x75, 0x4c, 0x22, 0x70, 0x4a, + 0x63, 0x44, 0x5d, 0x94, 0x72, 0xa3, 0x2e, 0x7e, 0xd7, 0x82, 0x33, 0xd9, 0x46, 0x9c, 0xc0, 0x9a, + 0x53, 0x37, 0xd7, 0x9c, 0x99, 0xde, 0x3e, 0x7d, 0x97, 0xe5, 0xe6, 0x57, 0x47, 0xe1, 0x5c, 0xdb, + 0x8e, 0xc5, 0x47, 0xf1, 0xe7, 0x2c, 0x38, 0xb5, 0xc9, 0x34, 0x6f, 0xed, 0x9a, 0x90, 0xe8, 0x57, + 0xce, 0xdd, 0xaa, 0x43, 0x6f, 0x17, 0x71, 0x3b, 0xa2, 0x8d, 0x04, 0xb7, 0x57, 0x86, 0xbe, 0x66, + 0xc1, 0x19, 0xe7, 0x7e, 0xdc, 0xf6, 0x52, 0x84, 0x10, 0xa3, 0x57, 0x73, 0x9c, 0x5c, 0x39, 0x6f, + 0x4c, 0xcc, 0x4f, 0xee, 0xef, 0x4d, 0x9f, 0xe9, 0x44, 0x85, 0x3b, 0xd6, 0x4a, 0xbf, 0xef, 0x96, + 0xb8, 0x86, 0x50, 0xec, 0xc2, 0x5b, 0xa7, 0x4b, 0x0b, 0x7c, 0x49, 0x92, 0x18, 0xac, 0x38, 0xa2, + 0xb7, 0xa0, 0xb2, 0x29, 0x6f, 0x06, 0x65, 0x97, 0xbc, 0x2e, 0xc3, 0xdc, 0xe9, 0x22, 0x11, 0x0f, + 0x8d, 0x57, 0x28, 0x9c, 0x32, 0x45, 0xd7, 0xa1, 0x1c, 0x6c, 0xc4, 0xe2, 0x0e, 0x6e, 0x5e, 0xb0, + 0x8d, 0x19, 0xe2, 0xc4, 0xaf, 0x2d, 0xde, 0x5c, 0xaa, 0x63, 0xca, 0x82, 0x72, 0x8a, 0xd6, 0x5d, + 0xe1, 0xdd, 0xcd, 0xe1, 0x84, 0xe7, 0xab, 0xed, 0x9c, 0xf0, 0x7c, 0x15, 0x53, 0x16, 0xa8, 0x06, + 0xfd, 0xec, 0x92, 0x83, 0x70, 0xdd, 0xe6, 0x5c, 0xd4, 0x6e, 0xbb, 0xca, 0xc1, 0x13, 0xed, 0x31, + 0x30, 0xe6, 0x8c, 0xd0, 0x1a, 0x0c, 0x34, 0x58, 0x52, 0x74, 0x61, 0x57, 0xe7, 0xa5, 0x30, 0x68, + 0x4b, 0xa0, 0xce, 0x8f, 0x98, 0x38, 0x1c, 0x0b, 0x5e, 0x8c, 0x2b, 0x69, 0x6e, 0x6d, 0xc4, 0xc2, + 0x70, 0xce, 0xe3, 0xda, 0x96, 0xde, 0x5e, 0x70, 0x65, 0x70, 0x2c, 0x78, 0xa1, 0x2a, 0x94, 0x36, + 0x1a, 0x22, 0x5f, 0x67, 0x8e, 0xcb, 0xd6, 0xbc, 0x83, 0x3a, 0x3f, 0xb0, 0xbf, 0x37, 0x5d, 0x5a, + 0x5a, 0xc0, 0xa5, 0x8d, 0x06, 0x7a, 0x1d, 0x06, 0x37, 0xf8, 0xad, 0x42, 0x91, 0x9b, 0xf3, 0x72, + 0xde, 0xd5, 0xc7, 0xb6, 0x2b, 0x88, 0xfc, 0xfa, 0x83, 0x40, 0x60, 0xc9, 0x8e, 0xa5, 0x2d, 0x53, + 0xf7, 0x24, 0x45, 0x72, 0xce, 0x99, 0xde, 0xee, 0x55, 0x0a, 0x7b, 0x52, 0x41, 0xb1, 0xc6, 0x91, + 0xca, 0xbc, 0x23, 0xdf, 0x77, 0x60, 0x89, 0x39, 0x73, 0x65, 0xbe, 0xe3, 0x73, 0x10, 0x5c, 0xe6, + 0x15, 0x0a, 0xa7, 0x4c, 0x51, 0x0b, 0x46, 0x77, 0xe2, 0xe6, 0x16, 0x91, 0x53, 0x9f, 0x65, 0xeb, + 0x1c, 0xbe, 0xf2, 0xa9, 0x9c, 0x14, 0xac, 0xa2, 0x88, 0x17, 0x25, 0x2d, 0xc7, 0x6f, 0x5b, 0xc1, + 0x58, 0x9e, 0xa8, 0x3b, 0x3a, 0x5b, 0x6c, 0xd6, 0x42, 0x3f, 0xc9, 0xdb, 0xad, 0x70, 0x7d, 0x37, + 0x21, 0x22, 0x9b, 0x67, 0xce, 0x27, 0x79, 0x8d, 0x13, 0xb7, 0x7f, 0x12, 0x81, 0xc0, 0x92, 0x9d, + 0x1a, 0x32, 0xb6, 0x1a, 0x4f, 0x14, 0x1e, 0xb2, 0xb6, 0x3e, 0xa4, 0x43, 0xc6, 0x56, 0xdf, 0x94, + 0x29, 0x5b, 0x75, 0x9b, 0x5b, 0x61, 0x12, 0x06, 0x99, 0xb5, 0xff, 0x54, 0x91, 0x55, 0xb7, 0xd6, + 0xa1, 0x64, 0xfb, 0xaa, 0xdb, 0x89, 0x0a, 0x77, 0xac, 0xd5, 0xfe, 0xa3, 0xfe, 0xf6, 0xed, 0x96, + 0x29, 0xc3, 0x7f, 0xad, 0xfd, 0xdc, 0xf1, 0x33, 0xbd, 0xdb, 0x7c, 0x0f, 0xf1, 0x04, 0xf2, 0x6b, + 0x16, 0x9c, 0x6b, 0x76, 0xdc, 0x4c, 0xc5, 0x86, 0xd5, 0xab, 0xe9, 0xc8, 0x07, 0x4c, 0xa5, 0xaa, + 0xed, 0x8c, 0xc7, 0x5d, 0xea, 0xcc, 0x2a, 0xa0, 0xe5, 0xf7, 0xad, 0x80, 0xde, 0x85, 0x21, 0xa6, + 0x33, 0xa5, 0x79, 0x35, 0x7a, 0x4c, 0x41, 0xc1, 0xb6, 0xbe, 0x05, 0xc1, 0x02, 0x2b, 0x66, 0x74, + 0xe0, 0x1e, 0xcf, 0x76, 0x02, 0x13, 0x86, 0x16, 0xe9, 0x5c, 0xb9, 0xaf, 0x63, 0x49, 0x8c, 0xc4, + 0xe3, 0xb5, 0xc3, 0x88, 0x0f, 0xf2, 0x08, 0xf0, 0xe1, 0x95, 0x9d, 0xa4, 0x42, 0xfb, 0x8f, 0xac, + 0x0e, 0xfa, 0x17, 0x37, 0x41, 0x3e, 0x65, 0x9a, 0x20, 0x4f, 0x67, 0x4d, 0x90, 0x36, 0xb7, 0x81, + 0x61, 0x7d, 0x14, 0x4f, 0xcc, 0x58, 0x34, 0xe1, 0x87, 0xed, 0xc3, 0x85, 0xbc, 0xc9, 0xcd, 0x22, + 0x7c, 0x5c, 0x75, 0x5c, 0x96, 0x46, 0xf8, 0xb8, 0xcb, 0x55, 0xcc, 0x30, 0x45, 0xef, 0x8c, 0xdb, + 0x3f, 0x5f, 0x82, 0x72, 0x2d, 0x74, 0x4f, 0xc0, 0x0d, 0x72, 0xcd, 0x70, 0x83, 0x3c, 0x95, 0xfb, + 0xba, 0x55, 0x57, 0xa7, 0xc7, 0xad, 0x8c, 0xd3, 0xe3, 0xa3, 0xf9, 0xac, 0x0e, 0x77, 0x71, 0x7c, + 0xb7, 0x0c, 0xfa, 0xfb, 0x5c, 0xe8, 0x3f, 0x1f, 0x25, 0xf0, 0xb3, 0x5c, 0xec, 0xc9, 0x2e, 0x51, + 0x07, 0x0b, 0x11, 0x92, 0x97, 0xc4, 0x7e, 0x66, 0xe3, 0x3f, 0xef, 0x12, 0x6f, 0x73, 0x2b, 0x21, + 0x6e, 0xb6, 0x63, 0x27, 0x17, 0xff, 0xf9, 0x27, 0x16, 0x8c, 0x67, 0x6a, 0x47, 0x7e, 0xa7, 0x7b, + 0x26, 0x47, 0x74, 0x6c, 0x9c, 0xca, 0xbd, 0x98, 0x32, 0x03, 0xa0, 0xfc, 0xd3, 0xd2, 0xfd, 0xc0, + 0x74, 0x31, 0xe5, 0xc0, 0x8e, 0xb1, 0x46, 0x81, 0x5e, 0x82, 0xe1, 0x24, 0x6c, 0x86, 0x7e, 0xb8, + 0xb9, 0x7b, 0x83, 0xc8, 0x6c, 0x06, 0xca, 0xb7, 0xbf, 0x96, 0xa2, 0xb0, 0x4e, 0x67, 0x7f, 0xaf, + 0x0c, 0xd9, 0xd7, 0xdd, 0xfe, 0x5c, 0x4e, 0x7f, 0x76, 0xe4, 0xf4, 0x0f, 0x2c, 0x98, 0xa0, 0xb5, + 0xb3, 0x00, 0x0f, 0x19, 0xa7, 0xa9, 0xb2, 0xc4, 0x5b, 0x87, 0x64, 0x89, 0x7f, 0x9a, 0xae, 0x76, + 0x6e, 0xd8, 0x4a, 0x84, 0xcb, 0x44, 0x5b, 0xc4, 0x28, 0x14, 0x0b, 0xac, 0xa0, 0x23, 0x51, 0x24, + 0x2e, 0xb4, 0xe8, 0x74, 0x24, 0x8a, 0xb0, 0xc0, 0xca, 0x24, 0xf2, 0x7d, 0x5d, 0x92, 0xc8, 0xb3, + 0x7c, 0x40, 0x22, 0xb0, 0x40, 0xa8, 0x03, 0x5a, 0x3e, 0x20, 0x19, 0x71, 0x90, 0xd2, 0xd8, 0xdf, + 0x2e, 0xc3, 0x48, 0x2d, 0x74, 0xd3, 0x00, 0xec, 0x17, 0x8d, 0x00, 0xec, 0x0b, 0x99, 0x00, 0xec, + 0x09, 0x9d, 0xf6, 0xe1, 0xc4, 0x5f, 0x8b, 0xbc, 0x51, 0xec, 0x99, 0x83, 0x23, 0xc6, 0x5e, 0x1b, + 0x79, 0xa3, 0x14, 0x23, 0x6c, 0xf2, 0xfd, 0xb3, 0x14, 0x73, 0xfd, 0x7f, 0x2c, 0x18, 0xab, 0x85, + 0x2e, 0x15, 0xd0, 0x3f, 0x4b, 0xd2, 0xa8, 0x67, 0x9b, 0x1a, 0x38, 0x24, 0xdb, 0xd4, 0x3f, 0xb3, + 0x60, 0xb0, 0x16, 0xba, 0x27, 0xe0, 0x4e, 0x5c, 0x32, 0xdd, 0x89, 0x4f, 0xe4, 0xae, 0xbc, 0x5d, + 0x3c, 0x88, 0xbf, 0x51, 0x86, 0x51, 0xda, 0xe2, 0x70, 0x53, 0x7e, 0x2f, 0x63, 0x6c, 0xac, 0x02, + 0x63, 0x43, 0x55, 0xc2, 0xd0, 0xf7, 0xc3, 0xfb, 0xd9, 0x6f, 0xb7, 0xc4, 0xa0, 0x58, 0x60, 0xd1, + 0x25, 0x18, 0x6a, 0x46, 0x64, 0xc7, 0x0b, 0x5b, 0x71, 0xf6, 0x72, 0x5c, 0x4d, 0xc0, 0xb1, 0xa2, + 0x40, 0x2f, 0xc2, 0x48, 0xec, 0x05, 0x0d, 0x22, 0xc3, 0x0e, 0xfa, 0x58, 0xd8, 0x01, 0x4f, 0xec, + 0xa7, 0xc1, 0xb1, 0x41, 0x85, 0xee, 0x42, 0x85, 0xfd, 0x67, 0x33, 0xa8, 0xf7, 0x2c, 0xf0, 0x3c, + 0x9b, 0x95, 0x64, 0x80, 0x53, 0x5e, 0xe8, 0x0a, 0x40, 0x22, 0x03, 0x24, 0x62, 0x91, 0x95, 0x43, + 0xe9, 0xa5, 0x2a, 0x74, 0x22, 0xc6, 0x1a, 0x15, 0x7a, 0x0e, 0x2a, 0x89, 0xe3, 0xf9, 0x2b, 0x5e, + 0x40, 0x62, 0x11, 0x60, 0x22, 0x92, 0xf4, 0x0a, 0x20, 0x4e, 0xf1, 0x74, 0xbf, 0x67, 0x57, 0x73, + 0xf9, 0x0b, 0x13, 0x43, 0x8c, 0x9a, 0xed, 0xf7, 0x2b, 0x0a, 0x8a, 0x35, 0x0a, 0xfb, 0x2a, 0x9c, + 0xad, 0x85, 0x6e, 0x2d, 0x8c, 0x92, 0xa5, 0x30, 0xba, 0xef, 0x44, 0xae, 0xfc, 0x7e, 0xd3, 0x32, + 0x37, 0x2c, 0xdd, 0x93, 0xfb, 0xb9, 0x87, 0xcd, 0xc8, 0xf5, 0xfa, 0x02, 0xdb, 0xf1, 0x7b, 0x8c, + 0xec, 0xff, 0x51, 0x09, 0x50, 0x8d, 0x85, 0x70, 0x18, 0x0f, 0x92, 0x6c, 0xc1, 0x58, 0x4c, 0x56, + 0xbc, 0xa0, 0xf5, 0x40, 0xb0, 0x2a, 0x76, 0x95, 0xa2, 0xbe, 0xa8, 0x97, 0xe1, 0xf7, 0x58, 0x4d, + 0x18, 0xce, 0xf0, 0xa5, 0x83, 0x19, 0xb5, 0x82, 0xb9, 0xf8, 0x76, 0x4c, 0x22, 0xf1, 0x00, 0x07, + 0x1b, 0x4c, 0x2c, 0x81, 0x38, 0xc5, 0x53, 0xe1, 0x61, 0x7f, 0x6e, 0x86, 0x01, 0x0e, 0xc3, 0x44, + 0x8a, 0x1b, 0x4b, 0xc8, 0xae, 0xc1, 0xb1, 0x41, 0x85, 0x96, 0x00, 0xc5, 0xad, 0x66, 0xd3, 0x67, + 0xa7, 0x62, 0x8e, 0x7f, 0x2d, 0x0a, 0x5b, 0x4d, 0x1e, 0xc5, 0x2b, 0x72, 0x99, 0xd7, 0xdb, 0xb0, + 0xb8, 0x43, 0x09, 0xba, 0x58, 0x6c, 0xc4, 0xec, 0xb7, 0xb8, 0xa7, 0xcb, 0xbd, 0x73, 0x75, 0x06, + 0xc2, 0x12, 0x67, 0x7f, 0x85, 0x6d, 0x70, 0xec, 0x65, 0x84, 0xa4, 0x15, 0x11, 0xb4, 0x0d, 0xa3, + 0x4d, 0xb6, 0x89, 0x25, 0x51, 0xe8, 0xfb, 0x44, 0xea, 0x97, 0x47, 0x0b, 0x22, 0xe1, 0xb9, 0xd0, + 0x75, 0x76, 0xd8, 0xe4, 0x6e, 0xff, 0x78, 0x98, 0xad, 0x55, 0xe2, 0x60, 0x72, 0x50, 0x84, 0x8a, + 0x0a, 0x4d, 0xee, 0x23, 0x45, 0xde, 0x38, 0x4a, 0xf7, 0x01, 0x11, 0x78, 0x8a, 0x25, 0x17, 0xf4, + 0x05, 0x16, 0x08, 0xcd, 0x17, 0x88, 0xe2, 0x4f, 0x94, 0x71, 0x7a, 0x23, 0x08, 0x5a, 0xb0, 0xc0, + 0x1a, 0x3b, 0xb4, 0x02, 0xa3, 0x22, 0x91, 0xbe, 0x70, 0x2f, 0x94, 0x0d, 0x13, 0x7b, 0x14, 0xeb, + 0xc8, 0x83, 0x2c, 0x00, 0x9b, 0x85, 0xd1, 0x26, 0x3c, 0xae, 0x3d, 0x14, 0xd3, 0x21, 0xe0, 0x89, + 0xaf, 0x3c, 0x4f, 0xec, 0xef, 0x4d, 0x3f, 0xbe, 0x76, 0x18, 0x21, 0x3e, 0x9c, 0x0f, 0xba, 0x05, + 0x67, 0x9d, 0x46, 0xe2, 0xed, 0x90, 0x2a, 0x71, 0x5c, 0xdf, 0x0b, 0x88, 0x79, 0x99, 0xfb, 0xd1, + 0xfd, 0xbd, 0xe9, 0xb3, 0x73, 0x9d, 0x08, 0x70, 0xe7, 0x72, 0xe8, 0x53, 0x50, 0x71, 0x83, 0x58, + 0x8c, 0xc1, 0x80, 0xf1, 0x2e, 0x52, 0xa5, 0x7a, 0xb3, 0xae, 0xfa, 0x9f, 0xfe, 0xc1, 0x69, 0x01, + 0xf4, 0x36, 0x7f, 0xe0, 0x5a, 0x59, 0x33, 0xfc, 0x3d, 0xae, 0x97, 0x0b, 0xd9, 0xcf, 0xc6, 0x25, + 0x0b, 0xee, 0x79, 0x53, 0x81, 0x85, 0xc6, 0xfd, 0x0b, 0xa3, 0x0a, 0xf4, 0x59, 0x40, 0x31, 0x89, + 0x76, 0xbc, 0x06, 0x99, 0x6b, 0xb0, 0x6c, 0x98, 0xec, 0x88, 0x6f, 0xc8, 0x88, 0xae, 0x47, 0xf5, + 0x36, 0x0a, 0xdc, 0xa1, 0x14, 0xba, 0x4e, 0x57, 0x1e, 0x1d, 0x2a, 0xe2, 0x40, 0xa5, 0x62, 0x38, + 0x59, 0x25, 0xcd, 0x88, 0x34, 0x9c, 0x84, 0xb8, 0x26, 0x47, 0x9c, 0x29, 0x47, 0xf7, 0x25, 0x95, + 0xf0, 0x1c, 0xcc, 0xe8, 0xc5, 0xf6, 0xa4, 0xe7, 0xd4, 0xce, 0xda, 0x0a, 0xe3, 0xe4, 0x26, 0x49, + 0xee, 0x87, 0xd1, 0x3d, 0xe6, 0xb1, 0x1f, 0xd2, 0x92, 0x8b, 0xa5, 0x28, 0xac, 0xd3, 0x51, 0x1d, + 0x8a, 0x1d, 0x15, 0x2d, 0x57, 0x99, 0x1f, 0x7e, 0x28, 0x9d, 0x3b, 0xd7, 0x39, 0x18, 0x4b, 0xbc, + 0x24, 0x5d, 0xae, 0x2d, 0x30, 0x9f, 0x7a, 0x86, 0x74, 0xb9, 0xb6, 0x80, 0x25, 0x1e, 0x85, 0xed, + 0xaf, 0x4f, 0x8d, 0x15, 0x39, 0xdf, 0x68, 0x5f, 0xc9, 0x0b, 0x3e, 0x40, 0xf5, 0x00, 0x26, 0xd4, + 0x0b, 0x58, 0x3c, 0xeb, 0x63, 0x3c, 0x39, 0x5e, 0xe4, 0x79, 0xed, 0x8e, 0xc9, 0x23, 0x55, 0xe0, + 0xef, 0x72, 0x86, 0x27, 0x6e, 0xab, 0xc5, 0x48, 0x4a, 0x30, 0x91, 0x9b, 0xc4, 0x7e, 0x16, 0x2a, + 0x71, 0x6b, 0xdd, 0x0d, 0xb7, 0x1d, 0x2f, 0x60, 0x8e, 0x6f, 0xfd, 0xb1, 0x68, 0x89, 0xc0, 0x29, + 0x0d, 0xaa, 0xc1, 0x90, 0x23, 0xdf, 0x49, 0x47, 0x45, 0x2e, 0x2d, 0xab, 0x07, 0xd2, 0x99, 0x57, + 0x54, 0xbd, 0x8c, 0xae, 0xb8, 0xa0, 0x57, 0x60, 0x54, 0xdc, 0xba, 0x21, 0x11, 0x6b, 0xf5, 0x69, + 0x33, 0xe4, 0xbb, 0x2e, 0x91, 0x4c, 0xc0, 0x4c, 0xda, 0xa9, 0x4f, 0xc3, 0xa9, 0xb6, 0x29, 0xd6, + 0x53, 0xe0, 0xdc, 0x7f, 0xe8, 0x83, 0x8a, 0xf2, 0x50, 0xa1, 0x59, 0xd3, 0x19, 0xf9, 0x68, 0xd6, + 0x19, 0x39, 0x44, 0x15, 0x02, 0xdd, 0xff, 0xf8, 0xc5, 0x0e, 0x8f, 0xd5, 0x3e, 0x9b, 0x2b, 0x53, + 0xc5, 0xef, 0xb1, 0xf4, 0xf0, 0xa4, 0x6f, 0x6a, 0xa5, 0xf4, 0x1d, 0x6a, 0xa5, 0x14, 0x7c, 0x97, + 0x8a, 0xda, 0x23, 0xcd, 0xd0, 0x5d, 0xae, 0x65, 0x9f, 0x5d, 0xa9, 0x51, 0x20, 0xe6, 0x38, 0xa6, + 0x47, 0xd2, 0x3d, 0x82, 0xe9, 0x91, 0x83, 0x47, 0xd4, 0x23, 0x25, 0x03, 0x9c, 0xf2, 0x42, 0x3b, + 0x70, 0xaa, 0x61, 0xbe, 0xa2, 0xa3, 0x6e, 0xa7, 0x3c, 0xdf, 0xc3, 0x2b, 0x36, 0x2d, 0xed, 0xc5, + 0x80, 0x85, 0x2c, 0x3f, 0xdc, 0x5e, 0x05, 0x7a, 0x05, 0x86, 0xde, 0x0e, 0xe3, 0x05, 0xdf, 0x89, + 0x63, 0xb1, 0x50, 0xca, 0x9b, 0x00, 0x43, 0xaf, 0xdd, 0xaa, 0x33, 0xf8, 0xc1, 0xde, 0xf4, 0x70, + 0x2d, 0x74, 0xe5, 0x5f, 0xac, 0x0a, 0xd8, 0xbf, 0xc3, 0xbd, 0x61, 0xc2, 0x3e, 0x26, 0x71, 0xcb, + 0x3f, 0x89, 0xc4, 0xd9, 0xb7, 0x0c, 0xd3, 0xfd, 0x21, 0xf8, 0x63, 0xff, 0x93, 0xc5, 0xfc, 0xb1, + 0x6b, 0x64, 0xbb, 0xe9, 0x3b, 0xc9, 0x49, 0x84, 0x34, 0x7e, 0x01, 0x86, 0x12, 0x51, 0x5b, 0xb1, + 0xac, 0xdf, 0x5a, 0xf3, 0x98, 0x9f, 0x5a, 0xad, 0x71, 0x12, 0x8a, 0x15, 0x43, 0xfb, 0xdf, 0xf0, + 0xaf, 0x22, 0x31, 0x27, 0x60, 0x74, 0xde, 0x34, 0x8d, 0xce, 0x67, 0x0a, 0xf7, 0xa5, 0x8b, 0xf1, + 0xf9, 0x3d, 0xb3, 0x07, 0x4c, 0x15, 0xfd, 0xd9, 0x39, 0x30, 0xb0, 0x6f, 0x81, 0xf9, 0xda, 0x10, + 0x7a, 0x95, 0x07, 0x09, 0xf3, 0x45, 0xf6, 0x52, 0xcf, 0x01, 0xc2, 0xf6, 0xaf, 0x97, 0xe0, 0x0c, + 0x77, 0x19, 0xce, 0xed, 0x84, 0x9e, 0x5b, 0x0b, 0x5d, 0x11, 0x32, 0xed, 0xc2, 0x48, 0x53, 0x33, + 0x15, 0x8a, 0xe5, 0x83, 0xd0, 0x8d, 0x8b, 0x54, 0x3d, 0xd3, 0xa1, 0xd8, 0xe0, 0x4a, 0x6b, 0x21, + 0x3b, 0x5e, 0x43, 0x79, 0xa0, 0x4a, 0x3d, 0xaf, 0x7b, 0xaa, 0x96, 0x45, 0x8d, 0x0f, 0x36, 0xb8, + 0x1e, 0x43, 0x82, 0x7a, 0xfb, 0x1f, 0x58, 0xf0, 0x48, 0x97, 0x9c, 0x11, 0xb4, 0xba, 0xfb, 0xcc, + 0x4d, 0x2b, 0x9e, 0xb3, 0x52, 0xd5, 0x71, 0xe7, 0x2d, 0x16, 0x58, 0xb4, 0x0e, 0xc0, 0x9d, 0xaf, + 0xec, 0x71, 0xe3, 0x52, 0x91, 0x58, 0x89, 0xb6, 0xbb, 0xd9, 0xda, 0xb5, 0x5d, 0xf5, 0x9c, 0xb1, + 0xc6, 0xd5, 0xfe, 0x56, 0x19, 0xfa, 0xf9, 0xab, 0xa9, 0x35, 0x18, 0xdc, 0xe2, 0x99, 0x2b, 0x7b, + 0x4b, 0x9c, 0x99, 0xaa, 0x82, 0x1c, 0x80, 0x25, 0x1b, 0xb4, 0x0a, 0xa7, 0xa9, 0xde, 0xe1, 0x39, + 0x7e, 0x95, 0xf8, 0xce, 0xae, 0xb4, 0x2d, 0x78, 0xd6, 0x72, 0x99, 0x60, 0xf7, 0xf4, 0x72, 0x3b, + 0x09, 0xee, 0x54, 0x0e, 0xbd, 0xda, 0x96, 0x72, 0x8a, 0x67, 0x04, 0x55, 0xb7, 0xbd, 0x0e, 0x4f, + 0x3b, 0x45, 0xb5, 0x9f, 0x66, 0x9b, 0x15, 0xa5, 0x3d, 0x4e, 0x69, 0x5a, 0x4e, 0x26, 0x2d, 0xaa, + 0xc2, 0x44, 0xdc, 0x62, 0x27, 0xd7, 0x6b, 0x5b, 0x11, 0x89, 0xb7, 0x42, 0xdf, 0x15, 0xef, 0xaa, + 0x29, 0x8d, 0xb1, 0x9e, 0xc1, 0xe3, 0xb6, 0x12, 0x94, 0xcb, 0x86, 0xe3, 0xf9, 0xad, 0x88, 0xa4, + 0x5c, 0x06, 0x4c, 0x2e, 0x4b, 0x19, 0x3c, 0x6e, 0x2b, 0x61, 0xff, 0xb1, 0x05, 0xa7, 0x3b, 0x84, + 0x77, 0xf0, 0xa0, 0xc3, 0x4d, 0x2f, 0x4e, 0x54, 0x6e, 0x6a, 0x2d, 0xe8, 0x90, 0xc3, 0xb1, 0xa2, + 0xa0, 0x52, 0xc8, 0x4d, 0xe3, 0xec, 0xb1, 0xa9, 0x38, 0xc0, 0x16, 0xd8, 0xde, 0x12, 0x48, 0xa1, + 0x0b, 0xd0, 0xd7, 0x8a, 0x49, 0x24, 0x9f, 0x69, 0x92, 0x4b, 0x14, 0xf3, 0x86, 0x30, 0x0c, 0x55, + 0x76, 0x36, 0x95, 0x23, 0x42, 0x53, 0x76, 0xb8, 0x2b, 0x82, 0xe3, 0xec, 0x6f, 0x94, 0x61, 0x3c, + 0x13, 0xe6, 0x45, 0x1b, 0xb2, 0x1d, 0x06, 0x5e, 0x12, 0xaa, 0xa4, 0x45, 0xfc, 0x65, 0x18, 0xd2, + 0xdc, 0x5a, 0x15, 0x70, 0xac, 0x28, 0xd0, 0xd3, 0xe6, 0x13, 0xd6, 0x69, 0x9b, 0xe7, 0xab, 0xc6, + 0x6b, 0x76, 0x45, 0xf3, 0xe5, 0x3f, 0x09, 0x7d, 0xcd, 0x50, 0xbd, 0x4c, 0xaa, 0x84, 0x1e, 0xcf, + 0x57, 0x6b, 0x61, 0xe8, 0x63, 0x86, 0x44, 0x4f, 0x89, 0xde, 0x67, 0xfc, 0xb7, 0xd8, 0x71, 0xc3, + 0x58, 0x1b, 0x82, 0x67, 0x60, 0xf0, 0x1e, 0xd9, 0x8d, 0xbc, 0x60, 0x33, 0xeb, 0xbd, 0xbe, 0xc1, + 0xc1, 0x58, 0xe2, 0xcd, 0x9c, 0xf8, 0x83, 0xc7, 0x9c, 0x13, 0x7f, 0x28, 0x37, 0x52, 0xf5, 0x37, + 0x2c, 0x18, 0x67, 0x99, 0xfc, 0xc4, 0x45, 0x5a, 0x2f, 0x0c, 0x4e, 0x60, 0x7b, 0x7c, 0x12, 0xfa, + 0x23, 0x5a, 0x69, 0x36, 0xad, 0x35, 0x6b, 0x09, 0xe6, 0x38, 0xf4, 0x18, 0xf4, 0xb1, 0x26, 0xd0, + 0xcf, 0x38, 0xc2, 0xd3, 0x04, 0x57, 0x9d, 0xc4, 0xc1, 0x0c, 0xca, 0x6e, 0x45, 0x60, 0xd2, 0xf4, + 0x3d, 0xde, 0xe8, 0xd4, 0xe9, 0xf4, 0x41, 0xbb, 0x15, 0xd1, 0xb1, 0x91, 0x0f, 0xeb, 0x56, 0x44, + 0x67, 0xe6, 0x87, 0xab, 0xa8, 0xff, 0xb3, 0x04, 0xe7, 0x3b, 0x96, 0x4b, 0xcf, 0xc1, 0x96, 0x8c, + 0x73, 0xb0, 0x2b, 0x99, 0x73, 0x30, 0xfb, 0xf0, 0xd2, 0x0f, 0xe7, 0x64, 0xac, 0xf3, 0x81, 0x55, + 0xf9, 0x04, 0x0f, 0xac, 0xfa, 0x8a, 0xaa, 0x0e, 0xfd, 0x39, 0xaa, 0xc3, 0xef, 0x5b, 0xf0, 0x68, + 0xc7, 0x21, 0xfb, 0xc0, 0x5d, 0x43, 0xe9, 0xd8, 0xca, 0x2e, 0x8a, 0xf5, 0x2f, 0x97, 0xbb, 0xf4, + 0x8a, 0xa9, 0xd8, 0x17, 0xe9, 0x2a, 0xc4, 0x90, 0xb1, 0x50, 0x8a, 0x46, 0xf8, 0x0a, 0xc4, 0x61, + 0x58, 0x61, 0x51, 0xac, 0x5d, 0xe3, 0xe0, 0x8d, 0x5c, 0x3c, 0xe2, 0x84, 0x9a, 0x31, 0xbd, 0x85, + 0xfa, 0xfd, 0xe0, 0xcc, 0xe5, 0x0e, 0x74, 0x57, 0x33, 0x9a, 0xca, 0x47, 0x31, 0x9a, 0x46, 0x3a, + 0x1b, 0x4c, 0x68, 0x0e, 0xc6, 0xb7, 0xbd, 0x80, 0x3d, 0xa5, 0x67, 0x6a, 0x25, 0xea, 0x2e, 0xdd, + 0xaa, 0x89, 0xc6, 0x59, 0xfa, 0xa9, 0x57, 0x60, 0xf4, 0xe8, 0x3e, 0x99, 0xf7, 0xca, 0xf0, 0xe1, + 0x43, 0x16, 0x05, 0xbe, 0x3b, 0x18, 0xdf, 0x45, 0xdb, 0x1d, 0xda, 0xbe, 0x4d, 0x0d, 0xce, 0x6c, + 0xb4, 0x7c, 0x7f, 0x97, 0x45, 0x91, 0x10, 0x57, 0x52, 0x08, 0x8d, 0x4f, 0x3d, 0x72, 0xbb, 0xd4, + 0x81, 0x06, 0x77, 0x2c, 0x89, 0x3e, 0x0b, 0x28, 0x5c, 0x67, 0xb9, 0x2e, 0xdd, 0xf4, 0xfe, 0x33, + 0xfb, 0x04, 0xe5, 0x74, 0xaa, 0xde, 0x6a, 0xa3, 0xc0, 0x1d, 0x4a, 0x51, 0xfd, 0x8f, 0xbd, 0x8f, + 0xab, 0x9a, 0x95, 0xd1, 0xff, 0xb0, 0x8e, 0xc4, 0x26, 0x2d, 0xba, 0x06, 0xa7, 0x9c, 0x1d, 0xc7, + 0xe3, 0xd9, 0x6b, 0x24, 0x03, 0xae, 0x00, 0x2a, 0xaf, 0xc7, 0x5c, 0x96, 0x00, 0xb7, 0x97, 0x41, + 0x4d, 0xc3, 0x8d, 0xc5, 0x73, 0x5b, 0x7f, 0xea, 0x08, 0x12, 0x5c, 0xd8, 0xb1, 0x65, 0xff, 0xd8, + 0xa2, 0x5b, 0x5f, 0x87, 0x57, 0xd7, 0x8c, 0xe7, 0xda, 0xb5, 0xab, 0x2d, 0xed, 0xcf, 0xb5, 0x73, + 0x7f, 0xa0, 0x41, 0xcb, 0x45, 0x23, 0x4e, 0x83, 0x51, 0x0d, 0x6d, 0x53, 0xdc, 0xe8, 0x52, 0x14, + 0xe8, 0x2e, 0x0c, 0xba, 0xde, 0x8e, 0x17, 0x87, 0x51, 0x81, 0x07, 0x92, 0xdb, 0x02, 0x1c, 0xd3, + 0xd5, 0xb2, 0xca, 0x99, 0x60, 0xc9, 0xcd, 0xfe, 0x95, 0x12, 0x8c, 0xca, 0xfa, 0x5e, 0x6b, 0x85, + 0x89, 0x73, 0x02, 0x1b, 0xfa, 0x6b, 0xc6, 0x86, 0x3e, 0x5b, 0xec, 0x7a, 0x1b, 0x6b, 0x5c, 0xd7, + 0x8d, 0xfc, 0x73, 0x99, 0x8d, 0xfc, 0x72, 0x2f, 0x4c, 0x0f, 0xdf, 0xc0, 0xff, 0x9d, 0x05, 0xa7, + 0x0c, 0xfa, 0x13, 0xd8, 0x47, 0x6a, 0xe6, 0x3e, 0xf2, 0x5c, 0x0f, 0xbd, 0xe9, 0xb2, 0x7f, 0x7c, + 0xab, 0x94, 0xe9, 0x05, 0xdb, 0x37, 0xbe, 0x0c, 0x7d, 0x5b, 0x4e, 0xe4, 0x16, 0x4b, 0xe3, 0xd6, + 0x56, 0x7c, 0xe6, 0xba, 0x13, 0xb9, 0x7c, 0xf5, 0xbf, 0xa4, 0xde, 0x84, 0x71, 0x22, 0x37, 0x37, + 0x42, 0x9b, 0x55, 0x8a, 0xae, 0xc2, 0x40, 0xdc, 0x08, 0x9b, 0x2a, 0x16, 0xee, 0x02, 0x7f, 0x2f, + 0x86, 0x42, 0x0e, 0xf6, 0xa6, 0x91, 0x59, 0x1d, 0x05, 0x63, 0x41, 0x3f, 0x45, 0xa0, 0xa2, 0xaa, + 0x3e, 0xc6, 0x58, 0xe0, 0xf7, 0xca, 0x70, 0xba, 0x83, 0xa4, 0xa0, 0xaf, 0x18, 0xa3, 0xf6, 0x4a, + 0xcf, 0xa2, 0xf6, 0x3e, 0xc7, 0xed, 0x2b, 0xcc, 0x4a, 0x72, 0x85, 0x6c, 0x1c, 0xa1, 0xfa, 0xdb, + 0x31, 0xc9, 0x56, 0x4f, 0x41, 0xf9, 0xd5, 0xd3, 0x6a, 0x4f, 0x68, 0xf0, 0x69, 0x35, 0xaa, 0x9d, + 0xc7, 0xf8, 0x8d, 0xdf, 0xed, 0x83, 0x33, 0x9d, 0x6e, 0xd0, 0xa2, 0x5f, 0xb4, 0x32, 0x59, 0xda, + 0x5f, 0xed, 0xfd, 0x1a, 0x2e, 0x4f, 0xdd, 0x2e, 0xb2, 0x4e, 0xcc, 0x98, 0x79, 0xdb, 0x73, 0x47, + 0x5b, 0xd4, 0xce, 0x6e, 0x55, 0x44, 0x3c, 0xdf, 0xbe, 0x5c, 0x0f, 0x3e, 0x73, 0x84, 0xa6, 0x88, + 0x94, 0xfd, 0x71, 0xe6, 0x56, 0x85, 0x04, 0xe7, 0xdf, 0xaa, 0x90, 0x6d, 0x98, 0xda, 0x84, 0x61, + 0xad, 0x5f, 0xc7, 0x28, 0x02, 0x1e, 0xdd, 0x9a, 0xb4, 0x56, 0x1f, 0xa3, 0x18, 0xfc, 0x6d, 0x0b, + 0x32, 0xe1, 0x2a, 0xca, 0x15, 0x63, 0x75, 0x75, 0xc5, 0x5c, 0x80, 0xbe, 0x28, 0xf4, 0x49, 0x36, + 0x7b, 0x38, 0x0e, 0x7d, 0x82, 0x19, 0x46, 0x3d, 0x0d, 0x59, 0xee, 0xf6, 0x34, 0x24, 0xb5, 0xcd, + 0x7d, 0xb2, 0x43, 0xa4, 0x63, 0x44, 0x2d, 0xde, 0x2b, 0x14, 0x88, 0x39, 0xce, 0xfe, 0xbd, 0x32, + 0x0c, 0x70, 0xef, 0xc3, 0x09, 0xec, 0xce, 0x35, 0xe1, 0x08, 0x28, 0x74, 0xab, 0x95, 0xb7, 0x6a, + 0xa6, 0xea, 0x24, 0x0e, 0x17, 0x2c, 0xd5, 0xc7, 0xd4, 0x79, 0x80, 0x66, 0x8c, 0x51, 0x98, 0xca, + 0xd8, 0xb7, 0xc0, 0x79, 0x68, 0x63, 0xb2, 0x05, 0x10, 0xb3, 0xc7, 0xc8, 0x28, 0x0f, 0x91, 0x73, + 0xef, 0xc5, 0x42, 0xed, 0xa8, 0xab, 0x62, 0xbc, 0x35, 0x69, 0xb2, 0x2f, 0x85, 0xc0, 0x1a, 0xef, + 0xa9, 0x97, 0xa1, 0xa2, 0x88, 0xf3, 0x14, 0xff, 0x11, 0x5d, 0x34, 0xff, 0x02, 0x8c, 0x67, 0xea, + 0xea, 0xc9, 0x6e, 0xf8, 0x6d, 0x0b, 0xc6, 0x33, 0xaf, 0x28, 0xa3, 0x77, 0x2d, 0x38, 0xe3, 0x77, + 0x70, 0x3e, 0x89, 0xcf, 0x7c, 0x14, 0xb7, 0x95, 0x32, 0x19, 0x3a, 0x61, 0x71, 0xc7, 0xda, 0xa8, + 0x29, 0xc9, 0x5f, 0x56, 0x74, 0x7c, 0x11, 0xfd, 0x37, 0xc2, 0x13, 0x84, 0x72, 0x18, 0x56, 0x58, + 0xfb, 0x27, 0x16, 0x9c, 0x6a, 0x7b, 0xa8, 0xf7, 0x83, 0xd2, 0x0d, 0x91, 0x0a, 0xb5, 0xd4, 0x25, + 0x15, 0xaa, 0xde, 0xcb, 0xf2, 0xa1, 0xbd, 0xfc, 0x75, 0x0b, 0x84, 0x84, 0x9e, 0x80, 0xde, 0xb7, + 0x6c, 0xea, 0x7d, 0x1f, 0x29, 0x22, 0xf4, 0x5d, 0x14, 0xbe, 0x3f, 0xb5, 0x00, 0x71, 0x82, 0xec, + 0x13, 0x8c, 0xdc, 0x79, 0xa9, 0x19, 0x2c, 0xe9, 0x2c, 0x51, 0x18, 0xac, 0x51, 0xf5, 0x98, 0x4f, + 0x5f, 0x3d, 0x5d, 0xd6, 0xb9, 0x61, 0xe8, 0x32, 0x0c, 0x8b, 0xa7, 0x8b, 0x56, 0xd3, 0x67, 0xc9, + 0xc6, 0xd9, 0x03, 0x99, 0x29, 0x18, 0xeb, 0x34, 0xc6, 0xd7, 0xea, 0x3b, 0xf4, 0x6b, 0xfd, 0x4e, + 0x19, 0xb2, 0x21, 0x2f, 0xe8, 0x2d, 0x18, 0x69, 0x38, 0x4d, 0x67, 0xdd, 0xf3, 0xbd, 0xc4, 0x23, + 0x71, 0xb1, 0xa3, 0xb6, 0x05, 0xad, 0x84, 0x70, 0x94, 0x6b, 0x10, 0x6c, 0x70, 0x44, 0x33, 0x00, + 0xcd, 0xc8, 0xdb, 0xf1, 0x7c, 0xb2, 0xc9, 0xf4, 0x32, 0x16, 0x33, 0xcb, 0x4f, 0x8d, 0x24, 0x14, + 0x6b, 0x14, 0x1d, 0x62, 0x2c, 0xcb, 0x27, 0x11, 0x63, 0xd9, 0xd7, 0x63, 0x8c, 0x65, 0x7f, 0xa1, + 0x18, 0x4b, 0x0c, 0xe7, 0xa4, 0x7f, 0x9b, 0xfe, 0x5f, 0xf2, 0x7c, 0xc2, 0xd3, 0x29, 0x8a, 0x98, + 0xda, 0xa9, 0xfd, 0xbd, 0xe9, 0x73, 0xb8, 0x23, 0x05, 0xee, 0x52, 0xd2, 0x6e, 0xc1, 0xe9, 0x3a, + 0x89, 0x3c, 0x96, 0xe5, 0xca, 0x4d, 0x27, 0xf5, 0x17, 0xa1, 0x12, 0x65, 0xd6, 0x93, 0x1e, 0x2f, + 0x3c, 0x6a, 0x79, 0x51, 0xe4, 0xfa, 0x91, 0xb2, 0xb4, 0xff, 0x6a, 0x09, 0x06, 0x45, 0x68, 0xd9, + 0x09, 0x6c, 0xb4, 0x37, 0x0c, 0x33, 0xf8, 0x99, 0xbc, 0xb9, 0xce, 0x9a, 0xd5, 0xd5, 0x00, 0xae, + 0x67, 0x0c, 0xe0, 0xe7, 0x8a, 0xb1, 0x3b, 0xdc, 0xf4, 0xfd, 0x41, 0x09, 0xc6, 0xcc, 0x50, 0xbb, + 0x13, 0x18, 0x96, 0xd7, 0x61, 0x30, 0x16, 0x71, 0x68, 0xa5, 0x22, 0x51, 0x34, 0xd9, 0x4f, 0xac, + 0x7c, 0x1d, 0x32, 0xf2, 0x4c, 0xb2, 0xeb, 0x18, 0xea, 0x56, 0x3e, 0x89, 0x50, 0x37, 0xfb, 0xfb, + 0x6c, 0x31, 0xd6, 0x07, 0xf2, 0x04, 0x36, 0x93, 0xd7, 0xcc, 0x65, 0xfb, 0x52, 0x21, 0x89, 0x10, + 0xcd, 0xeb, 0xb2, 0xa9, 0x7c, 0xc7, 0x82, 0x61, 0x41, 0x78, 0x02, 0x1d, 0xf8, 0xac, 0xd9, 0x81, + 0xa7, 0x0a, 0x75, 0xa0, 0x4b, 0xcb, 0xff, 0x6e, 0x49, 0xb5, 0xbc, 0x26, 0x9e, 0xb4, 0xcd, 0xcd, + 0xb6, 0x39, 0xd4, 0x8c, 0xc2, 0x24, 0x6c, 0x84, 0xbe, 0x50, 0x23, 0x1e, 0x4b, 0x2f, 0x37, 0x70, + 0xf8, 0x81, 0xf6, 0x1b, 0x2b, 0x6a, 0x16, 0x7b, 0x1f, 0x46, 0x89, 0xd8, 0xda, 0x3a, 0x3d, 0xa8, + 0xbb, 0x2e, 0x1f, 0x2c, 0xa7, 0x30, 0x71, 0x2f, 0xa8, 0xd7, 0x87, 0x7a, 0xd3, 0xbb, 0x0a, 0x8a, + 0x13, 0xd6, 0xb8, 0xca, 0x20, 0x58, 0x56, 0x43, 0xbf, 0xe9, 0x7b, 0xbe, 0x29, 0xe0, 0x58, 0x51, + 0xd8, 0x2f, 0xb3, 0x15, 0x97, 0x0d, 0x4f, 0x6f, 0xd7, 0x08, 0xfe, 0xca, 0x80, 0x1a, 0x58, 0xe6, + 0x52, 0xba, 0xa9, 0x5f, 0x56, 0x28, 0xba, 0xac, 0xd1, 0x26, 0xe8, 0x71, 0x7b, 0xe9, 0xdd, 0x06, + 0x44, 0xda, 0x0e, 0x2c, 0x5e, 0x2e, 0xbc, 0x52, 0xf6, 0x70, 0x44, 0xc1, 0x52, 0x14, 0xb1, 0xbc, + 0x2c, 0xcb, 0xb5, 0x6c, 0x86, 0xd4, 0x05, 0x89, 0xc0, 0x29, 0x0d, 0x9a, 0x15, 0x46, 0x8d, 0xf9, + 0xde, 0xb1, 0x34, 0x6a, 0xe4, 0x90, 0x68, 0x56, 0xcd, 0x65, 0x18, 0x56, 0x39, 0xe2, 0x6b, 0x3c, + 0xd5, 0x77, 0x85, 0xeb, 0x3d, 0x8b, 0x29, 0x18, 0xeb, 0x34, 0x68, 0x19, 0x4e, 0xbb, 0x2a, 0xe6, + 0xb9, 0xd6, 0x5a, 0xf7, 0xbd, 0x06, 0x2d, 0xca, 0xef, 0x2b, 0x3d, 0xb2, 0xbf, 0x37, 0x7d, 0xba, + 0xda, 0x8e, 0xc6, 0x9d, 0xca, 0xa0, 0x35, 0x18, 0x8f, 0x79, 0x2e, 0x7c, 0x19, 0xd8, 0x2a, 0x12, + 0x07, 0x3e, 0x2b, 0x4f, 0x4a, 0xea, 0x26, 0xfa, 0x80, 0x81, 0xf8, 0x9a, 0x20, 0x43, 0x61, 0xb3, + 0x2c, 0xd0, 0xab, 0x30, 0xe6, 0xeb, 0xcf, 0x7c, 0xd5, 0x44, 0xe8, 0xb7, 0x8a, 0x29, 0x31, 0x1e, + 0x01, 0xab, 0xe1, 0x0c, 0x35, 0x7a, 0x1d, 0x26, 0x75, 0x88, 0xc8, 0x9f, 0xe0, 0x04, 0x9b, 0x24, + 0x16, 0x49, 0xb8, 0x1f, 0xdb, 0xdf, 0x9b, 0x9e, 0x5c, 0xe9, 0x42, 0x83, 0xbb, 0x96, 0x46, 0x57, + 0x61, 0x44, 0x8e, 0xa4, 0x16, 0x06, 0x9e, 0x46, 0x33, 0x69, 0x38, 0x6c, 0x50, 0xbe, 0xbf, 0x03, + 0xa1, 0x2f, 0xd3, 0xc2, 0xda, 0xd6, 0x8a, 0xbe, 0x04, 0x23, 0x7a, 0x1b, 0xb3, 0x7b, 0x66, 0xfe, + 0xd3, 0x69, 0x62, 0x8b, 0x56, 0x2d, 0xd7, 0x71, 0xd8, 0xe0, 0x6d, 0xdf, 0x82, 0x81, 0xfa, 0x6e, + 0xdc, 0x48, 0xfc, 0x87, 0xf5, 0xd4, 0x75, 0x03, 0xc6, 0x33, 0x6f, 0x42, 0xab, 0xc7, 0xc5, 0xad, + 0x87, 0xf5, 0xb8, 0xb8, 0xfd, 0x55, 0x0b, 0xfa, 0xd7, 0x1c, 0x2f, 0xff, 0xf9, 0x8a, 0x22, 0x4d, + 0x46, 0x2f, 0xc1, 0x00, 0xd9, 0xd8, 0x20, 0x0d, 0xf9, 0x58, 0xf9, 0xe3, 0x52, 0xb5, 0x59, 0x64, + 0x50, 0x3a, 0x35, 0x59, 0x65, 0xfc, 0x2f, 0x16, 0xc4, 0xf6, 0x7f, 0xb4, 0x00, 0xd6, 0x42, 0x5f, + 0x9e, 0x75, 0xe5, 0xb4, 0x64, 0xbe, 0xed, 0x21, 0x8d, 0xa7, 0x3b, 0x3c, 0xa4, 0x81, 0x52, 0x86, + 0x1d, 0x9e, 0xd1, 0x50, 0xbd, 0x29, 0x17, 0xea, 0x4d, 0x5f, 0x2f, 0xbd, 0xf9, 0xba, 0x05, 0x22, + 0x0c, 0xa9, 0x80, 0x24, 0xb8, 0x32, 0xf9, 0xbd, 0x91, 0x19, 0xe5, 0xd9, 0x22, 0xd7, 0x85, 0x44, + 0x3e, 0x14, 0x25, 0x9b, 0x46, 0x16, 0x14, 0x83, 0xab, 0xfd, 0x9b, 0x16, 0x0c, 0x73, 0xf4, 0x2a, + 0xd3, 0x23, 0xf3, 0xdb, 0xd5, 0x53, 0x0e, 0x38, 0x96, 0x1b, 0x9e, 0x32, 0x56, 0xb9, 0xc0, 0xf4, + 0xdc, 0xf0, 0x12, 0x81, 0x53, 0x1a, 0xf4, 0x0c, 0x0c, 0xc6, 0xad, 0x75, 0x46, 0x9e, 0x89, 0x49, + 0xaa, 0x73, 0x30, 0x96, 0x78, 0xfb, 0x17, 0x10, 0x18, 0x5d, 0x33, 0xf2, 0x8e, 0x59, 0x0f, 0x3d, + 0xef, 0xd8, 0x1b, 0x30, 0x44, 0xb6, 0x9b, 0xc9, 0x6e, 0xd5, 0x8b, 0x8a, 0x65, 0x80, 0x5c, 0x14, + 0xd4, 0xed, 0xdc, 0x25, 0x06, 0x2b, 0x8e, 0x5d, 0xb2, 0xc8, 0x95, 0x3f, 0x10, 0x59, 0xe4, 0xfa, + 0x7e, 0x2a, 0x59, 0xe4, 0x5e, 0x87, 0xc1, 0x4d, 0x2f, 0xc1, 0xa4, 0x19, 0x8a, 0xfb, 0xa5, 0x39, + 0x87, 0x87, 0xd7, 0x38, 0x71, 0x7b, 0x6a, 0x28, 0x81, 0xc0, 0x92, 0x1d, 0x5a, 0x83, 0x01, 0x6e, + 0x7b, 0x88, 0xc4, 0x6c, 0x1f, 0x2b, 0xe2, 0xcf, 0x69, 0xcf, 0x51, 0x26, 0x02, 0xcf, 0x04, 0x2f, + 0x99, 0x35, 0x6e, 0xf0, 0xfd, 0x67, 0x8d, 0x53, 0xb9, 0xde, 0x86, 0x1e, 0x56, 0xae, 0x37, 0x23, + 0x67, 0x5e, 0xe5, 0x38, 0x72, 0xe6, 0x7d, 0xdd, 0x82, 0xb3, 0xcd, 0x4e, 0x19, 0x27, 0x45, 0xd6, + 0xb6, 0x4f, 0x1f, 0x21, 0x03, 0xa7, 0x51, 0x35, 0xbb, 0xb5, 0xd7, 0x91, 0x0c, 0x77, 0xae, 0x58, + 0x26, 0xdf, 0x1b, 0x7e, 0xff, 0xc9, 0xf7, 0x8e, 0x3b, 0xbd, 0x5b, 0x9a, 0x8a, 0x6f, 0xf4, 0x58, + 0x52, 0xf1, 0x8d, 0x3d, 0xc4, 0x54, 0x7c, 0x5a, 0x12, 0xbd, 0xf1, 0x87, 0x9b, 0x44, 0x6f, 0x0b, + 0x86, 0xdd, 0xf0, 0x7e, 0x70, 0xdf, 0x89, 0xdc, 0xb9, 0xda, 0xb2, 0xc8, 0xd9, 0x96, 0x93, 0x18, + 0xa4, 0x9a, 0x16, 0x30, 0x6a, 0xe0, 0x8e, 0xcb, 0x14, 0x89, 0x75, 0xd6, 0x22, 0x9d, 0xe0, 0xa9, + 0xf7, 0x99, 0x4e, 0xd0, 0x48, 0xca, 0x87, 0x8e, 0x23, 0x29, 0xdf, 0x5b, 0x2c, 0x43, 0xc0, 0x86, + 0xb7, 0xb9, 0xea, 0x34, 0xd9, 0xad, 0xb6, 0xdc, 0x1a, 0x16, 0x24, 0x79, 0x7b, 0x0d, 0x0a, 0x85, + 0x53, 0xa6, 0xed, 0x69, 0xff, 0xce, 0x9c, 0x74, 0xda, 0xbf, 0xb3, 0xc7, 0x98, 0xf6, 0xef, 0xdc, + 0x89, 0xa6, 0xfd, 0x7b, 0xe4, 0xa7, 0x92, 0xf6, 0xef, 0x2f, 0xc1, 0xf9, 0xc3, 0x3f, 0x47, 0x9a, + 0x56, 0xba, 0x96, 0xba, 0x0c, 0x32, 0x69, 0xa5, 0x99, 0xaa, 0xa3, 0x51, 0x15, 0xce, 0x3e, 0xf6, + 0x6d, 0x0b, 0x1e, 0xe9, 0x92, 0x9c, 0xa7, 0xf0, 0x85, 0x90, 0x26, 0x8c, 0x37, 0xcd, 0xa2, 0x85, + 0xaf, 0x70, 0x19, 0xc9, 0x80, 0x54, 0x70, 0x61, 0x06, 0x81, 0xb3, 0xec, 0xe7, 0x3f, 0xf2, 0xc3, + 0xf7, 0xce, 0x7f, 0xe8, 0x47, 0xef, 0x9d, 0xff, 0xd0, 0x1f, 0xbe, 0x77, 0xfe, 0x43, 0x3f, 0xb7, + 0x7f, 0xde, 0xfa, 0xe1, 0xfe, 0x79, 0xeb, 0x47, 0xfb, 0xe7, 0xad, 0x3f, 0xde, 0x3f, 0x6f, 0x7d, + 0xfd, 0x27, 0xe7, 0x3f, 0xf4, 0xf9, 0xd2, 0xce, 0xe5, 0xff, 0x1f, 0x00, 0x00, 0xff, 0xff, 0xac, + 0x63, 0x67, 0xe3, 0x01, 0xbb, 0x00, 0x00, } diff --git a/pkg/api/v1/generated.proto b/pkg/api/v1/generated.proto index 3196ae4d..73dca3fe 100644 --- a/pkg/api/v1/generated.proto +++ b/pkg/api/v1/generated.proto @@ -279,6 +279,10 @@ message ConfigMap { message ConfigMapEnvSource { // The ConfigMap to select from. optional LocalObjectReference localObjectReference = 1; + + // Specify whether the ConfigMap must be defined + // +optional + optional bool optional = 2; } // Selects a key from a ConfigMap. @@ -288,6 +292,10 @@ message ConfigMapKeySelector { // The key to select. optional string key = 2; + + // Specify whether the ConfigMap or it's key must be defined + // +optional + optional bool optional = 3; } // ConfigMapList is a resource containing a list of ConfigMap objects. @@ -314,8 +322,8 @@ message ConfigMapVolumeSource { // key and content is the value. If specified, the listed keys will be // projected into the specified paths, and unlisted keys will not be // present. If a key is specified which is not present in the ConfigMap, - // the volume setup will error. Paths must be relative and may not contain - // the '..' path or start with '..'. + // the volume setup will error unless it is marked optional. Paths must be + // relative and may not contain the '..' path or start with '..'. // +optional repeated KeyToPath items = 2; @@ -326,6 +334,10 @@ message ConfigMapVolumeSource { // mode, like fsGroup, and the result can be other mode bits set. // +optional optional int32 defaultMode = 3; + + // Specify whether the ConfigMap or it's keys must be defined + // +optional + optional bool optional = 4; } // A single application container that you want to run within a pod. @@ -627,6 +639,8 @@ message DaemonEndpoint { } // DeleteOptions may be provided when deleting an API object +// DEPRECATED: This type has been moved to meta/v1 and will be removed soon. +// +k8s:openapi-gen=false message DeleteOptions { // The duration in seconds before the object should be deleted. Value must be non-negative integer. // The value zero indicates delete immediately. If this value is nil, the default grace period for the @@ -2694,6 +2708,7 @@ message PodTemplateSpec { } // Preconditions must be fulfilled before an operation (update, delete, etc.) is carried out. +// +k8s:openapi-gen=false message Preconditions { // Specifies the target UID. // +optional @@ -3106,6 +3121,10 @@ message Secret { message SecretEnvSource { // The Secret to select from. optional LocalObjectReference localObjectReference = 1; + + // Specify whether the Secret must be defined + // +optional + optional bool optional = 2; } // SecretKeySelector selects a key of a Secret. @@ -3115,6 +3134,10 @@ message SecretKeySelector { // The key of the secret to select from. Must be a valid secret key. optional string key = 2; + + // Specify whether the Secret or it's key must be defined + // +optional + optional bool optional = 3; } // SecretList is a list of Secret. @@ -3145,8 +3168,8 @@ message SecretVolumeSource { // key and content is the value. If specified, the listed keys will be // projected into the specified paths, and unlisted keys will not be // present. If a key is specified which is not present in the Secret, - // the volume setup will error. Paths must be relative and may not contain - // the '..' path or start with '..'. + // the volume setup will error unless it is marked optional. Paths must be + // relative and may not contain the '..' path or start with '..'. // +optional repeated KeyToPath items = 2; @@ -3157,6 +3180,10 @@ message SecretVolumeSource { // mode, like fsGroup, and the result can be other mode bits set. // +optional optional int32 defaultMode = 3; + + // Specify whether the Secret or it's keys must be defined + // +optional + optional bool optional = 4; } // SecurityContext holds security configuration that will be applied to a container. diff --git a/pkg/api/v1/helpers.go b/pkg/api/v1/helpers.go index 7463e68f..f0ebe997 100644 --- a/pkg/api/v1/helpers.go +++ b/pkg/api/v1/helpers.go @@ -47,7 +47,7 @@ func OpaqueIntResourceName(name string) ResourceName { // NewDeleteOptions returns a DeleteOptions indicating the resource should // be deleted within the specified grace period. Use zero to indicate // immediate deletion. If you would prefer to use the default grace period, -// use &api.DeleteOptions{} directly. +// use &metav1.DeleteOptions{} directly. func NewDeleteOptions(grace int64) *DeleteOptions { return &DeleteOptions{GracePeriodSeconds: &grace} } @@ -233,10 +233,6 @@ func NodeSelectorRequirementsAsSelector(nsm []NodeSelectorRequirement) (labels.S } const ( - // AffinityAnnotationKey represents the key of affinity data (json serialized) - // in the Annotations of a Pod. - AffinityAnnotationKey string = "scheduler.alpha.kubernetes.io/affinity" - // TolerationsAnnotationKey represents the key of tolerations data (json serialized) // in the Annotations of a Pod. TolerationsAnnotationKey string = "scheduler.alpha.kubernetes.io/tolerations" @@ -276,20 +272,6 @@ const ( UnsafeSysctlsPodAnnotationKey string = "security.alpha.kubernetes.io/unsafe-sysctls" ) -// GetAffinityFromPod gets the json serialized affinity data from Pod.Annotations -// and converts it to the Affinity type in api. -func GetAffinityFromPodAnnotations(annotations map[string]string) (*Affinity, error) { - if len(annotations) > 0 && annotations[AffinityAnnotationKey] != "" { - var affinity Affinity - err := json.Unmarshal([]byte(annotations[AffinityAnnotationKey]), &affinity) - if err != nil { - return nil, err - } - return &affinity, nil - } - return nil, nil -} - // GetTolerationsFromPodAnnotations gets the json serialized tolerations data from Pod.Annotations // and converts it to the []Toleration type in api. func GetTolerationsFromPodAnnotations(annotations map[string]string) ([]Toleration, error) { diff --git a/pkg/api/v1/register.go b/pkg/api/v1/register.go index 2ad0c4a9..5c2dfddd 100644 --- a/pkg/api/v1/register.go +++ b/pkg/api/v1/register.go @@ -74,10 +74,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { &PersistentVolumeList{}, &PersistentVolumeClaim{}, &PersistentVolumeClaimList{}, - &DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, - &ListOptions{}, &PodAttachOptions{}, &PodLogOptions{}, &PodExecOptions{}, diff --git a/pkg/api/v1/types.generated.go b/pkg/api/v1/types.generated.go index 07e02483..400186c1 100644 --- a/pkg/api/v1/types.generated.go +++ b/pkg/api/v1/types.generated.go @@ -14141,15 +14141,16 @@ func (x *SecretVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) { } else { yysep2 := !z.EncBinary() yy2arr2 := z.EncBasicHandle().StructToArray - var yyq2 [3]bool + var yyq2 [4]bool _, _, _ = yysep2, yyq2, yy2arr2 const yyr2 bool = false yyq2[0] = x.SecretName != "" yyq2[1] = len(x.Items) != 0 yyq2[2] = x.DefaultMode != nil + yyq2[3] = x.Optional != nil var yynn2 int if yyr2 || yy2arr2 { - r.EncodeArrayStart(3) + r.EncodeArrayStart(4) } else { yynn2 = 0 for _, b := range yyq2 { @@ -14253,6 +14254,41 @@ func (x *SecretVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) { } } } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayElem1234) + if yyq2[3] { + if x.Optional == nil { + r.EncodeNil() + } else { + yy15 := *x.Optional + yym16 := z.EncBinary() + _ = yym16 + if false { + } else { + r.EncodeBool(bool(yy15)) + } + } + } else { + r.EncodeNil() + } + } else { + if yyq2[3] { + z.EncSendContainerState(codecSelfer_containerMapKey1234) + r.EncodeString(codecSelferC_UTF81234, string("optional")) + z.EncSendContainerState(codecSelfer_containerMapValue1234) + if x.Optional == nil { + r.EncodeNil() + } else { + yy17 := *x.Optional + yym18 := z.EncBinary() + _ = yym18 + if false { + } else { + r.EncodeBool(bool(yy17)) + } + } + } + } if yyr2 || yy2arr2 { z.EncSendContainerState(codecSelfer_containerArrayEnd1234) } else { @@ -14354,6 +14390,22 @@ func (x *SecretVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) *((*int32)(x.DefaultMode)) = int32(r.DecodeInt(32)) } } + case "optional": + if r.TryDecodeAsNil() { + if x.Optional != nil { + x.Optional = nil + } + } else { + if x.Optional == nil { + x.Optional = new(bool) + } + yym11 := z.DecBinary() + _ = yym11 + if false { + } else { + *((*bool)(x.Optional)) = r.DecodeBool() + } + } default: z.DecStructFieldNotFound(-1, yys3) } // end switch yys3 @@ -14365,16 +14417,16 @@ func (x *SecretVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decode var h codecSelfer1234 z, r := codec1978.GenHelperDecoder(d) _, _, _ = h, z, r - var yyj10 int - var yyb10 bool - var yyhl10 bool = l >= 0 - yyj10++ - if yyhl10 { - yyb10 = yyj10 > l + var yyj12 int + var yyb12 bool + var yyhl12 bool = l >= 0 + yyj12++ + if yyhl12 { + yyb12 = yyj12 > l } else { - yyb10 = r.CheckBreak() + yyb12 = r.CheckBreak() } - if yyb10 { + if yyb12 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -14382,21 +14434,21 @@ func (x *SecretVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decode if r.TryDecodeAsNil() { x.SecretName = "" } else { - yyv11 := &x.SecretName - yym12 := z.DecBinary() - _ = yym12 + yyv13 := &x.SecretName + yym14 := z.DecBinary() + _ = yym14 if false { } else { - *((*string)(yyv11)) = r.DecodeString() + *((*string)(yyv13)) = r.DecodeString() } } - yyj10++ - if yyhl10 { - yyb10 = yyj10 > l + yyj12++ + if yyhl12 { + yyb12 = yyj12 > l } else { - yyb10 = r.CheckBreak() + yyb12 = r.CheckBreak() } - if yyb10 { + if yyb12 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -14404,21 +14456,21 @@ func (x *SecretVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decode if r.TryDecodeAsNil() { x.Items = nil } else { - yyv13 := &x.Items - yym14 := z.DecBinary() - _ = yym14 + yyv15 := &x.Items + yym16 := z.DecBinary() + _ = yym16 if false { } else { - h.decSliceKeyToPath((*[]KeyToPath)(yyv13), d) + h.decSliceKeyToPath((*[]KeyToPath)(yyv15), d) } } - yyj10++ - if yyhl10 { - yyb10 = yyj10 > l + yyj12++ + if yyhl12 { + yyb12 = yyj12 > l } else { - yyb10 = r.CheckBreak() + yyb12 = r.CheckBreak() } - if yyb10 { + if yyb12 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -14431,25 +14483,51 @@ func (x *SecretVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decode if x.DefaultMode == nil { x.DefaultMode = new(int32) } - yym16 := z.DecBinary() - _ = yym16 + yym18 := z.DecBinary() + _ = yym18 if false { } else { *((*int32)(x.DefaultMode)) = int32(r.DecodeInt(32)) } } - for { - yyj10++ - if yyhl10 { - yyb10 = yyj10 > l - } else { - yyb10 = r.CheckBreak() + yyj12++ + if yyhl12 { + yyb12 = yyj12 > l + } else { + yyb12 = r.CheckBreak() + } + if yyb12 { + z.DecSendContainerState(codecSelfer_containerArrayEnd1234) + return + } + z.DecSendContainerState(codecSelfer_containerArrayElem1234) + if r.TryDecodeAsNil() { + if x.Optional != nil { + x.Optional = nil } - if yyb10 { + } else { + if x.Optional == nil { + x.Optional = new(bool) + } + yym20 := z.DecBinary() + _ = yym20 + if false { + } else { + *((*bool)(x.Optional)) = r.DecodeBool() + } + } + for { + yyj12++ + if yyhl12 { + yyb12 = yyj12 > l + } else { + yyb12 = r.CheckBreak() + } + if yyb12 { break } z.DecSendContainerState(codecSelfer_containerArrayElem1234) - z.DecStructFieldNotFound(yyj10-1, "") + z.DecStructFieldNotFound(yyj12-1, "") } z.DecSendContainerState(codecSelfer_containerArrayEnd1234) } @@ -16810,15 +16888,16 @@ func (x *ConfigMapVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) { } else { yysep2 := !z.EncBinary() yy2arr2 := z.EncBasicHandle().StructToArray - var yyq2 [3]bool + var yyq2 [4]bool _, _, _ = yysep2, yyq2, yy2arr2 const yyr2 bool = false yyq2[0] = x.Name != "" yyq2[1] = len(x.Items) != 0 yyq2[2] = x.DefaultMode != nil + yyq2[3] = x.Optional != nil var yynn2 int if yyr2 || yy2arr2 { - r.EncodeArrayStart(3) + r.EncodeArrayStart(4) } else { yynn2 = 0 for _, b := range yyq2 { @@ -16922,6 +17001,41 @@ func (x *ConfigMapVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) { } } } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayElem1234) + if yyq2[3] { + if x.Optional == nil { + r.EncodeNil() + } else { + yy15 := *x.Optional + yym16 := z.EncBinary() + _ = yym16 + if false { + } else { + r.EncodeBool(bool(yy15)) + } + } + } else { + r.EncodeNil() + } + } else { + if yyq2[3] { + z.EncSendContainerState(codecSelfer_containerMapKey1234) + r.EncodeString(codecSelferC_UTF81234, string("optional")) + z.EncSendContainerState(codecSelfer_containerMapValue1234) + if x.Optional == nil { + r.EncodeNil() + } else { + yy17 := *x.Optional + yym18 := z.EncBinary() + _ = yym18 + if false { + } else { + r.EncodeBool(bool(yy17)) + } + } + } + } if yyr2 || yy2arr2 { z.EncSendContainerState(codecSelfer_containerArrayEnd1234) } else { @@ -17023,6 +17137,22 @@ func (x *ConfigMapVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decod *((*int32)(x.DefaultMode)) = int32(r.DecodeInt(32)) } } + case "optional": + if r.TryDecodeAsNil() { + if x.Optional != nil { + x.Optional = nil + } + } else { + if x.Optional == nil { + x.Optional = new(bool) + } + yym11 := z.DecBinary() + _ = yym11 + if false { + } else { + *((*bool)(x.Optional)) = r.DecodeBool() + } + } default: z.DecStructFieldNotFound(-1, yys3) } // end switch yys3 @@ -17034,16 +17164,16 @@ func (x *ConfigMapVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Dec var h codecSelfer1234 z, r := codec1978.GenHelperDecoder(d) _, _, _ = h, z, r - var yyj10 int - var yyb10 bool - var yyhl10 bool = l >= 0 - yyj10++ - if yyhl10 { - yyb10 = yyj10 > l + var yyj12 int + var yyb12 bool + var yyhl12 bool = l >= 0 + yyj12++ + if yyhl12 { + yyb12 = yyj12 > l } else { - yyb10 = r.CheckBreak() + yyb12 = r.CheckBreak() } - if yyb10 { + if yyb12 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -17051,21 +17181,21 @@ func (x *ConfigMapVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Dec if r.TryDecodeAsNil() { x.Name = "" } else { - yyv11 := &x.Name - yym12 := z.DecBinary() - _ = yym12 + yyv13 := &x.Name + yym14 := z.DecBinary() + _ = yym14 if false { } else { - *((*string)(yyv11)) = r.DecodeString() + *((*string)(yyv13)) = r.DecodeString() } } - yyj10++ - if yyhl10 { - yyb10 = yyj10 > l + yyj12++ + if yyhl12 { + yyb12 = yyj12 > l } else { - yyb10 = r.CheckBreak() + yyb12 = r.CheckBreak() } - if yyb10 { + if yyb12 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -17073,21 +17203,21 @@ func (x *ConfigMapVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Dec if r.TryDecodeAsNil() { x.Items = nil } else { - yyv13 := &x.Items - yym14 := z.DecBinary() - _ = yym14 + yyv15 := &x.Items + yym16 := z.DecBinary() + _ = yym16 if false { } else { - h.decSliceKeyToPath((*[]KeyToPath)(yyv13), d) + h.decSliceKeyToPath((*[]KeyToPath)(yyv15), d) } } - yyj10++ - if yyhl10 { - yyb10 = yyj10 > l + yyj12++ + if yyhl12 { + yyb12 = yyj12 > l } else { - yyb10 = r.CheckBreak() + yyb12 = r.CheckBreak() } - if yyb10 { + if yyb12 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -17100,25 +17230,51 @@ func (x *ConfigMapVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Dec if x.DefaultMode == nil { x.DefaultMode = new(int32) } - yym16 := z.DecBinary() - _ = yym16 + yym18 := z.DecBinary() + _ = yym18 if false { } else { *((*int32)(x.DefaultMode)) = int32(r.DecodeInt(32)) } } - for { - yyj10++ - if yyhl10 { - yyb10 = yyj10 > l - } else { - yyb10 = r.CheckBreak() + yyj12++ + if yyhl12 { + yyb12 = yyj12 > l + } else { + yyb12 = r.CheckBreak() + } + if yyb12 { + z.DecSendContainerState(codecSelfer_containerArrayEnd1234) + return + } + z.DecSendContainerState(codecSelfer_containerArrayElem1234) + if r.TryDecodeAsNil() { + if x.Optional != nil { + x.Optional = nil } - if yyb10 { + } else { + if x.Optional == nil { + x.Optional = new(bool) + } + yym20 := z.DecBinary() + _ = yym20 + if false { + } else { + *((*bool)(x.Optional)) = r.DecodeBool() + } + } + for { + yyj12++ + if yyhl12 { + yyb12 = yyj12 > l + } else { + yyb12 = r.CheckBreak() + } + if yyb12 { break } z.DecSendContainerState(codecSelfer_containerArrayElem1234) - z.DecStructFieldNotFound(yyj10-1, "") + z.DecStructFieldNotFound(yyj12-1, "") } z.DecSendContainerState(codecSelfer_containerArrayEnd1234) } @@ -19360,13 +19516,14 @@ func (x *ConfigMapKeySelector) CodecEncodeSelf(e *codec1978.Encoder) { } else { yysep2 := !z.EncBinary() yy2arr2 := z.EncBasicHandle().StructToArray - var yyq2 [2]bool + var yyq2 [3]bool _, _, _ = yysep2, yyq2, yy2arr2 const yyr2 bool = false yyq2[0] = x.Name != "" + yyq2[2] = x.Optional != nil var yynn2 int if yyr2 || yy2arr2 { - r.EncodeArrayStart(2) + r.EncodeArrayStart(3) } else { yynn2 = 1 for _, b := range yyq2 { @@ -19421,6 +19578,41 @@ func (x *ConfigMapKeySelector) CodecEncodeSelf(e *codec1978.Encoder) { r.EncodeString(codecSelferC_UTF81234, string(x.Key)) } } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayElem1234) + if yyq2[2] { + if x.Optional == nil { + r.EncodeNil() + } else { + yy10 := *x.Optional + yym11 := z.EncBinary() + _ = yym11 + if false { + } else { + r.EncodeBool(bool(yy10)) + } + } + } else { + r.EncodeNil() + } + } else { + if yyq2[2] { + z.EncSendContainerState(codecSelfer_containerMapKey1234) + r.EncodeString(codecSelferC_UTF81234, string("optional")) + z.EncSendContainerState(codecSelfer_containerMapValue1234) + if x.Optional == nil { + r.EncodeNil() + } else { + yy12 := *x.Optional + yym13 := z.EncBinary() + _ = yym13 + if false { + } else { + r.EncodeBool(bool(yy12)) + } + } + } + } if yyr2 || yy2arr2 { z.EncSendContainerState(codecSelfer_containerArrayEnd1234) } else { @@ -19506,6 +19698,22 @@ func (x *ConfigMapKeySelector) codecDecodeSelfFromMap(l int, d *codec1978.Decode *((*string)(yyv6)) = r.DecodeString() } } + case "optional": + if r.TryDecodeAsNil() { + if x.Optional != nil { + x.Optional = nil + } + } else { + if x.Optional == nil { + x.Optional = new(bool) + } + yym9 := z.DecBinary() + _ = yym9 + if false { + } else { + *((*bool)(x.Optional)) = r.DecodeBool() + } + } default: z.DecStructFieldNotFound(-1, yys3) } // end switch yys3 @@ -19517,16 +19725,16 @@ func (x *ConfigMapKeySelector) codecDecodeSelfFromArray(l int, d *codec1978.Deco var h codecSelfer1234 z, r := codec1978.GenHelperDecoder(d) _, _, _ = h, z, r - var yyj8 int - var yyb8 bool - var yyhl8 bool = l >= 0 - yyj8++ - if yyhl8 { - yyb8 = yyj8 > l + var yyj10 int + var yyb10 bool + var yyhl10 bool = l >= 0 + yyj10++ + if yyhl10 { + yyb10 = yyj10 > l } else { - yyb8 = r.CheckBreak() + yyb10 = r.CheckBreak() } - if yyb8 { + if yyb10 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -19534,29 +19742,7 @@ func (x *ConfigMapKeySelector) codecDecodeSelfFromArray(l int, d *codec1978.Deco if r.TryDecodeAsNil() { x.Name = "" } else { - yyv9 := &x.Name - yym10 := z.DecBinary() - _ = yym10 - if false { - } else { - *((*string)(yyv9)) = r.DecodeString() - } - } - yyj8++ - if yyhl8 { - yyb8 = yyj8 > l - } else { - yyb8 = r.CheckBreak() - } - if yyb8 { - z.DecSendContainerState(codecSelfer_containerArrayEnd1234) - return - } - z.DecSendContainerState(codecSelfer_containerArrayElem1234) - if r.TryDecodeAsNil() { - x.Key = "" - } else { - yyv11 := &x.Key + yyv11 := &x.Name yym12 := z.DecBinary() _ = yym12 if false { @@ -19564,18 +19750,66 @@ func (x *ConfigMapKeySelector) codecDecodeSelfFromArray(l int, d *codec1978.Deco *((*string)(yyv11)) = r.DecodeString() } } - for { - yyj8++ - if yyhl8 { - yyb8 = yyj8 > l + yyj10++ + if yyhl10 { + yyb10 = yyj10 > l + } else { + yyb10 = r.CheckBreak() + } + if yyb10 { + z.DecSendContainerState(codecSelfer_containerArrayEnd1234) + return + } + z.DecSendContainerState(codecSelfer_containerArrayElem1234) + if r.TryDecodeAsNil() { + x.Key = "" + } else { + yyv13 := &x.Key + yym14 := z.DecBinary() + _ = yym14 + if false { } else { - yyb8 = r.CheckBreak() + *((*string)(yyv13)) = r.DecodeString() } - if yyb8 { + } + yyj10++ + if yyhl10 { + yyb10 = yyj10 > l + } else { + yyb10 = r.CheckBreak() + } + if yyb10 { + z.DecSendContainerState(codecSelfer_containerArrayEnd1234) + return + } + z.DecSendContainerState(codecSelfer_containerArrayElem1234) + if r.TryDecodeAsNil() { + if x.Optional != nil { + x.Optional = nil + } + } else { + if x.Optional == nil { + x.Optional = new(bool) + } + yym16 := z.DecBinary() + _ = yym16 + if false { + } else { + *((*bool)(x.Optional)) = r.DecodeBool() + } + } + for { + yyj10++ + if yyhl10 { + yyb10 = yyj10 > l + } else { + yyb10 = r.CheckBreak() + } + if yyb10 { break } z.DecSendContainerState(codecSelfer_containerArrayElem1234) - z.DecStructFieldNotFound(yyj8-1, "") + z.DecStructFieldNotFound(yyj10-1, "") } z.DecSendContainerState(codecSelfer_containerArrayEnd1234) } @@ -19594,13 +19828,14 @@ func (x *SecretKeySelector) CodecEncodeSelf(e *codec1978.Encoder) { } else { yysep2 := !z.EncBinary() yy2arr2 := z.EncBasicHandle().StructToArray - var yyq2 [2]bool + var yyq2 [3]bool _, _, _ = yysep2, yyq2, yy2arr2 const yyr2 bool = false yyq2[0] = x.Name != "" + yyq2[2] = x.Optional != nil var yynn2 int if yyr2 || yy2arr2 { - r.EncodeArrayStart(2) + r.EncodeArrayStart(3) } else { yynn2 = 1 for _, b := range yyq2 { @@ -19655,6 +19890,41 @@ func (x *SecretKeySelector) CodecEncodeSelf(e *codec1978.Encoder) { r.EncodeString(codecSelferC_UTF81234, string(x.Key)) } } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayElem1234) + if yyq2[2] { + if x.Optional == nil { + r.EncodeNil() + } else { + yy10 := *x.Optional + yym11 := z.EncBinary() + _ = yym11 + if false { + } else { + r.EncodeBool(bool(yy10)) + } + } + } else { + r.EncodeNil() + } + } else { + if yyq2[2] { + z.EncSendContainerState(codecSelfer_containerMapKey1234) + r.EncodeString(codecSelferC_UTF81234, string("optional")) + z.EncSendContainerState(codecSelfer_containerMapValue1234) + if x.Optional == nil { + r.EncodeNil() + } else { + yy12 := *x.Optional + yym13 := z.EncBinary() + _ = yym13 + if false { + } else { + r.EncodeBool(bool(yy12)) + } + } + } + } if yyr2 || yy2arr2 { z.EncSendContainerState(codecSelfer_containerArrayEnd1234) } else { @@ -19740,6 +20010,22 @@ func (x *SecretKeySelector) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) *((*string)(yyv6)) = r.DecodeString() } } + case "optional": + if r.TryDecodeAsNil() { + if x.Optional != nil { + x.Optional = nil + } + } else { + if x.Optional == nil { + x.Optional = new(bool) + } + yym9 := z.DecBinary() + _ = yym9 + if false { + } else { + *((*bool)(x.Optional)) = r.DecodeBool() + } + } default: z.DecStructFieldNotFound(-1, yys3) } // end switch yys3 @@ -19751,16 +20037,16 @@ func (x *SecretKeySelector) codecDecodeSelfFromArray(l int, d *codec1978.Decoder var h codecSelfer1234 z, r := codec1978.GenHelperDecoder(d) _, _, _ = h, z, r - var yyj8 int - var yyb8 bool - var yyhl8 bool = l >= 0 - yyj8++ - if yyhl8 { - yyb8 = yyj8 > l + var yyj10 int + var yyb10 bool + var yyhl10 bool = l >= 0 + yyj10++ + if yyhl10 { + yyb10 = yyj10 > l } else { - yyb8 = r.CheckBreak() + yyb10 = r.CheckBreak() } - if yyb8 { + if yyb10 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -19768,29 +20054,7 @@ func (x *SecretKeySelector) codecDecodeSelfFromArray(l int, d *codec1978.Decoder if r.TryDecodeAsNil() { x.Name = "" } else { - yyv9 := &x.Name - yym10 := z.DecBinary() - _ = yym10 - if false { - } else { - *((*string)(yyv9)) = r.DecodeString() - } - } - yyj8++ - if yyhl8 { - yyb8 = yyj8 > l - } else { - yyb8 = r.CheckBreak() - } - if yyb8 { - z.DecSendContainerState(codecSelfer_containerArrayEnd1234) - return - } - z.DecSendContainerState(codecSelfer_containerArrayElem1234) - if r.TryDecodeAsNil() { - x.Key = "" - } else { - yyv11 := &x.Key + yyv11 := &x.Name yym12 := z.DecBinary() _ = yym12 if false { @@ -19798,18 +20062,66 @@ func (x *SecretKeySelector) codecDecodeSelfFromArray(l int, d *codec1978.Decoder *((*string)(yyv11)) = r.DecodeString() } } - for { - yyj8++ - if yyhl8 { - yyb8 = yyj8 > l + yyj10++ + if yyhl10 { + yyb10 = yyj10 > l + } else { + yyb10 = r.CheckBreak() + } + if yyb10 { + z.DecSendContainerState(codecSelfer_containerArrayEnd1234) + return + } + z.DecSendContainerState(codecSelfer_containerArrayElem1234) + if r.TryDecodeAsNil() { + x.Key = "" + } else { + yyv13 := &x.Key + yym14 := z.DecBinary() + _ = yym14 + if false { } else { - yyb8 = r.CheckBreak() + *((*string)(yyv13)) = r.DecodeString() } - if yyb8 { + } + yyj10++ + if yyhl10 { + yyb10 = yyj10 > l + } else { + yyb10 = r.CheckBreak() + } + if yyb10 { + z.DecSendContainerState(codecSelfer_containerArrayEnd1234) + return + } + z.DecSendContainerState(codecSelfer_containerArrayElem1234) + if r.TryDecodeAsNil() { + if x.Optional != nil { + x.Optional = nil + } + } else { + if x.Optional == nil { + x.Optional = new(bool) + } + yym16 := z.DecBinary() + _ = yym16 + if false { + } else { + *((*bool)(x.Optional)) = r.DecodeBool() + } + } + for { + yyj10++ + if yyhl10 { + yyb10 = yyj10 > l + } else { + yyb10 = r.CheckBreak() + } + if yyb10 { break } z.DecSendContainerState(codecSelfer_containerArrayElem1234) - z.DecStructFieldNotFound(yyj8-1, "") + z.DecStructFieldNotFound(yyj10-1, "") } z.DecSendContainerState(codecSelfer_containerArrayEnd1234) } @@ -20121,13 +20433,14 @@ func (x *ConfigMapEnvSource) CodecEncodeSelf(e *codec1978.Encoder) { } else { yysep2 := !z.EncBinary() yy2arr2 := z.EncBasicHandle().StructToArray - var yyq2 [1]bool + var yyq2 [2]bool _, _, _ = yysep2, yyq2, yy2arr2 const yyr2 bool = false yyq2[0] = x.Name != "" + yyq2[1] = x.Optional != nil var yynn2 int if yyr2 || yy2arr2 { - r.EncodeArrayStart(1) + r.EncodeArrayStart(2) } else { yynn2 = 0 for _, b := range yyq2 { @@ -20163,6 +20476,41 @@ func (x *ConfigMapEnvSource) CodecEncodeSelf(e *codec1978.Encoder) { } } } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayElem1234) + if yyq2[1] { + if x.Optional == nil { + r.EncodeNil() + } else { + yy7 := *x.Optional + yym8 := z.EncBinary() + _ = yym8 + if false { + } else { + r.EncodeBool(bool(yy7)) + } + } + } else { + r.EncodeNil() + } + } else { + if yyq2[1] { + z.EncSendContainerState(codecSelfer_containerMapKey1234) + r.EncodeString(codecSelferC_UTF81234, string("optional")) + z.EncSendContainerState(codecSelfer_containerMapValue1234) + if x.Optional == nil { + r.EncodeNil() + } else { + yy9 := *x.Optional + yym10 := z.EncBinary() + _ = yym10 + if false { + } else { + r.EncodeBool(bool(yy9)) + } + } + } + } if yyr2 || yy2arr2 { z.EncSendContainerState(codecSelfer_containerArrayEnd1234) } else { @@ -20236,6 +20584,22 @@ func (x *ConfigMapEnvSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) *((*string)(yyv4)) = r.DecodeString() } } + case "optional": + if r.TryDecodeAsNil() { + if x.Optional != nil { + x.Optional = nil + } + } else { + if x.Optional == nil { + x.Optional = new(bool) + } + yym7 := z.DecBinary() + _ = yym7 + if false { + } else { + *((*bool)(x.Optional)) = r.DecodeBool() + } + } default: z.DecStructFieldNotFound(-1, yys3) } // end switch yys3 @@ -20247,16 +20611,16 @@ func (x *ConfigMapEnvSource) codecDecodeSelfFromArray(l int, d *codec1978.Decode var h codecSelfer1234 z, r := codec1978.GenHelperDecoder(d) _, _, _ = h, z, r - var yyj6 int - var yyb6 bool - var yyhl6 bool = l >= 0 - yyj6++ - if yyhl6 { - yyb6 = yyj6 > l + var yyj8 int + var yyb8 bool + var yyhl8 bool = l >= 0 + yyj8++ + if yyhl8 { + yyb8 = yyj8 > l } else { - yyb6 = r.CheckBreak() + yyb8 = r.CheckBreak() } - if yyb6 { + if yyb8 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -20264,26 +20628,52 @@ func (x *ConfigMapEnvSource) codecDecodeSelfFromArray(l int, d *codec1978.Decode if r.TryDecodeAsNil() { x.Name = "" } else { - yyv7 := &x.Name - yym8 := z.DecBinary() - _ = yym8 + yyv9 := &x.Name + yym10 := z.DecBinary() + _ = yym10 if false { } else { - *((*string)(yyv7)) = r.DecodeString() + *((*string)(yyv9)) = r.DecodeString() + } + } + yyj8++ + if yyhl8 { + yyb8 = yyj8 > l + } else { + yyb8 = r.CheckBreak() + } + if yyb8 { + z.DecSendContainerState(codecSelfer_containerArrayEnd1234) + return + } + z.DecSendContainerState(codecSelfer_containerArrayElem1234) + if r.TryDecodeAsNil() { + if x.Optional != nil { + x.Optional = nil + } + } else { + if x.Optional == nil { + x.Optional = new(bool) + } + yym12 := z.DecBinary() + _ = yym12 + if false { + } else { + *((*bool)(x.Optional)) = r.DecodeBool() } } for { - yyj6++ - if yyhl6 { - yyb6 = yyj6 > l + yyj8++ + if yyhl8 { + yyb8 = yyj8 > l } else { - yyb6 = r.CheckBreak() + yyb8 = r.CheckBreak() } - if yyb6 { + if yyb8 { break } z.DecSendContainerState(codecSelfer_containerArrayElem1234) - z.DecStructFieldNotFound(yyj6-1, "") + z.DecStructFieldNotFound(yyj8-1, "") } z.DecSendContainerState(codecSelfer_containerArrayEnd1234) } @@ -20302,13 +20692,14 @@ func (x *SecretEnvSource) CodecEncodeSelf(e *codec1978.Encoder) { } else { yysep2 := !z.EncBinary() yy2arr2 := z.EncBasicHandle().StructToArray - var yyq2 [1]bool + var yyq2 [2]bool _, _, _ = yysep2, yyq2, yy2arr2 const yyr2 bool = false yyq2[0] = x.Name != "" + yyq2[1] = x.Optional != nil var yynn2 int if yyr2 || yy2arr2 { - r.EncodeArrayStart(1) + r.EncodeArrayStart(2) } else { yynn2 = 0 for _, b := range yyq2 { @@ -20344,6 +20735,41 @@ func (x *SecretEnvSource) CodecEncodeSelf(e *codec1978.Encoder) { } } } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayElem1234) + if yyq2[1] { + if x.Optional == nil { + r.EncodeNil() + } else { + yy7 := *x.Optional + yym8 := z.EncBinary() + _ = yym8 + if false { + } else { + r.EncodeBool(bool(yy7)) + } + } + } else { + r.EncodeNil() + } + } else { + if yyq2[1] { + z.EncSendContainerState(codecSelfer_containerMapKey1234) + r.EncodeString(codecSelferC_UTF81234, string("optional")) + z.EncSendContainerState(codecSelfer_containerMapValue1234) + if x.Optional == nil { + r.EncodeNil() + } else { + yy9 := *x.Optional + yym10 := z.EncBinary() + _ = yym10 + if false { + } else { + r.EncodeBool(bool(yy9)) + } + } + } + } if yyr2 || yy2arr2 { z.EncSendContainerState(codecSelfer_containerArrayEnd1234) } else { @@ -20417,6 +20843,22 @@ func (x *SecretEnvSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) { *((*string)(yyv4)) = r.DecodeString() } } + case "optional": + if r.TryDecodeAsNil() { + if x.Optional != nil { + x.Optional = nil + } + } else { + if x.Optional == nil { + x.Optional = new(bool) + } + yym7 := z.DecBinary() + _ = yym7 + if false { + } else { + *((*bool)(x.Optional)) = r.DecodeBool() + } + } default: z.DecStructFieldNotFound(-1, yys3) } // end switch yys3 @@ -20428,16 +20870,16 @@ func (x *SecretEnvSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) var h codecSelfer1234 z, r := codec1978.GenHelperDecoder(d) _, _, _ = h, z, r - var yyj6 int - var yyb6 bool - var yyhl6 bool = l >= 0 - yyj6++ - if yyhl6 { - yyb6 = yyj6 > l + var yyj8 int + var yyb8 bool + var yyhl8 bool = l >= 0 + yyj8++ + if yyhl8 { + yyb8 = yyj8 > l } else { - yyb6 = r.CheckBreak() + yyb8 = r.CheckBreak() } - if yyb6 { + if yyb8 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -20445,26 +20887,52 @@ func (x *SecretEnvSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) if r.TryDecodeAsNil() { x.Name = "" } else { - yyv7 := &x.Name - yym8 := z.DecBinary() - _ = yym8 + yyv9 := &x.Name + yym10 := z.DecBinary() + _ = yym10 if false { } else { - *((*string)(yyv7)) = r.DecodeString() + *((*string)(yyv9)) = r.DecodeString() + } + } + yyj8++ + if yyhl8 { + yyb8 = yyj8 > l + } else { + yyb8 = r.CheckBreak() + } + if yyb8 { + z.DecSendContainerState(codecSelfer_containerArrayEnd1234) + return + } + z.DecSendContainerState(codecSelfer_containerArrayElem1234) + if r.TryDecodeAsNil() { + if x.Optional != nil { + x.Optional = nil + } + } else { + if x.Optional == nil { + x.Optional = new(bool) + } + yym12 := z.DecBinary() + _ = yym12 + if false { + } else { + *((*bool)(x.Optional)) = r.DecodeBool() } } for { - yyj6++ - if yyhl6 { - yyb6 = yyj6 > l + yyj8++ + if yyhl8 { + yyb8 = yyj8 > l } else { - yyb6 = r.CheckBreak() + yyb8 = r.CheckBreak() } - if yyb6 { + if yyb8 { break } z.DecSendContainerState(codecSelfer_containerArrayElem1234) - z.DecStructFieldNotFound(yyj6-1, "") + z.DecStructFieldNotFound(yyj8-1, "") } z.DecSendContainerState(codecSelfer_containerArrayEnd1234) } diff --git a/pkg/api/v1/types.go b/pkg/api/v1/types.go index 3e58af4f..d2dcfa9f 100644 --- a/pkg/api/v1/types.go +++ b/pkg/api/v1/types.go @@ -924,8 +924,8 @@ type SecretVolumeSource struct { // key and content is the value. If specified, the listed keys will be // projected into the specified paths, and unlisted keys will not be // present. If a key is specified which is not present in the Secret, - // the volume setup will error. Paths must be relative and may not contain - // the '..' path or start with '..'. + // the volume setup will error unless it is marked optional. Paths must be + // relative and may not contain the '..' path or start with '..'. // +optional Items []KeyToPath `json:"items,omitempty" protobuf:"bytes,2,rep,name=items"` // Optional: mode bits to use on created files by default. Must be a @@ -935,6 +935,9 @@ type SecretVolumeSource struct { // mode, like fsGroup, and the result can be other mode bits set. // +optional DefaultMode *int32 `json:"defaultMode,omitempty" protobuf:"bytes,3,opt,name=defaultMode"` + // Specify whether the Secret or it's keys must be defined + // +optional + Optional *bool `json:"optional,omitempty" protobuf:"varint,4,opt,name=optional"` } const ( @@ -1081,8 +1084,8 @@ type ConfigMapVolumeSource struct { // key and content is the value. If specified, the listed keys will be // projected into the specified paths, and unlisted keys will not be // present. If a key is specified which is not present in the ConfigMap, - // the volume setup will error. Paths must be relative and may not contain - // the '..' path or start with '..'. + // the volume setup will error unless it is marked optional. Paths must be + // relative and may not contain the '..' path or start with '..'. // +optional Items []KeyToPath `json:"items,omitempty" protobuf:"bytes,2,rep,name=items"` // Optional: mode bits to use on created files by default. Must be a @@ -1092,6 +1095,9 @@ type ConfigMapVolumeSource struct { // mode, like fsGroup, and the result can be other mode bits set. // +optional DefaultMode *int32 `json:"defaultMode,omitempty" protobuf:"varint,3,opt,name=defaultMode"` + // Specify whether the ConfigMap or it's keys must be defined + // +optional + Optional *bool `json:"optional,omitempty" protobuf:"varint,4,opt,name=optional"` } const ( @@ -1225,6 +1231,9 @@ type ConfigMapKeySelector struct { LocalObjectReference `json:",inline" protobuf:"bytes,1,opt,name=localObjectReference"` // The key to select. Key string `json:"key" protobuf:"bytes,2,opt,name=key"` + // Specify whether the ConfigMap or it's key must be defined + // +optional + Optional *bool `json:"optional,omitempty" protobuf:"varint,3,opt,name=optional"` } // SecretKeySelector selects a key of a Secret. @@ -1233,6 +1242,9 @@ type SecretKeySelector struct { LocalObjectReference `json:",inline" protobuf:"bytes,1,opt,name=localObjectReference"` // The key of the secret to select from. Must be a valid secret key. Key string `json:"key" protobuf:"bytes,2,opt,name=key"` + // Specify whether the Secret or it's key must be defined + // +optional + Optional *bool `json:"optional,omitempty" protobuf:"varint,3,opt,name=optional"` } // EnvFromSource represents the source of a set of ConfigMaps @@ -1256,6 +1268,9 @@ type EnvFromSource struct { type ConfigMapEnvSource struct { // The ConfigMap to select from. LocalObjectReference `json:",inline" protobuf:"bytes,1,opt,name=localObjectReference"` + // Specify whether the ConfigMap must be defined + // +optional + Optional *bool `json:"optional,omitempty" protobuf:"varint,2,opt,name=optional"` } // SecretEnvSource selects a Secret to populate the environment @@ -1266,6 +1281,9 @@ type ConfigMapEnvSource struct { type SecretEnvSource struct { // The Secret to select from. LocalObjectReference `json:",inline" protobuf:"bytes,1,opt,name=localObjectReference"` + // Specify whether the Secret must be defined + // +optional + Optional *bool `json:"optional,omitempty" protobuf:"varint,2,opt,name=optional"` } // HTTPHeader describes a custom header to be used in HTTP probes @@ -3279,6 +3297,7 @@ type Binding struct { } // Preconditions must be fulfilled before an operation (update, delete, etc.) is carried out. +// +k8s:openapi-gen=false type Preconditions struct { // Specifies the target UID. // +optional @@ -3286,6 +3305,8 @@ type Preconditions struct { } // DeleteOptions may be provided when deleting an API object +// DEPRECATED: This type has been moved to meta/v1 and will be removed soon. +// +k8s:openapi-gen=false type DeleteOptions struct { metav1.TypeMeta `json:",inline"` diff --git a/pkg/api/v1/types_swagger_doc_generated.go b/pkg/api/v1/types_swagger_doc_generated.go index 9928598d..6eb85766 100644 --- a/pkg/api/v1/types_swagger_doc_generated.go +++ b/pkg/api/v1/types_swagger_doc_generated.go @@ -181,7 +181,8 @@ func (ConfigMap) SwaggerDoc() map[string]string { } var map_ConfigMapEnvSource = map[string]string{ - "": "ConfigMapEnvSource selects a ConfigMap to populate the environment variables with.\n\nThe contents of the target ConfigMap's Data field will represent the key-value pairs as environment variables.", + "": "ConfigMapEnvSource selects a ConfigMap to populate the environment variables with.\n\nThe contents of the target ConfigMap's Data field will represent the key-value pairs as environment variables.", + "optional": "Specify whether the ConfigMap must be defined", } func (ConfigMapEnvSource) SwaggerDoc() map[string]string { @@ -189,8 +190,9 @@ func (ConfigMapEnvSource) SwaggerDoc() map[string]string { } var map_ConfigMapKeySelector = map[string]string{ - "": "Selects a key from a ConfigMap.", - "key": "The key to select.", + "": "Selects a key from a ConfigMap.", + "key": "The key to select.", + "optional": "Specify whether the ConfigMap or it's key must be defined", } func (ConfigMapKeySelector) SwaggerDoc() map[string]string { @@ -209,8 +211,9 @@ func (ConfigMapList) SwaggerDoc() map[string]string { var map_ConfigMapVolumeSource = map[string]string{ "": "Adapts a ConfigMap into a volume.\n\nThe contents of the target ConfigMap's Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. ConfigMap volumes support ownership management and SELinux relabeling.", - "items": "If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error. Paths must be relative and may not contain the '..' path or start with '..'.", + "items": "If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.", "defaultMode": "Optional: mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.", + "optional": "Specify whether the ConfigMap or it's keys must be defined", } func (ConfigMapVolumeSource) SwaggerDoc() map[string]string { @@ -339,7 +342,7 @@ func (DaemonEndpoint) SwaggerDoc() map[string]string { } var map_DeleteOptions = map[string]string{ - "": "DeleteOptions may be provided when deleting an API object", + "": "DeleteOptions may be provided when deleting an API object DEPRECATED: This type has been moved to meta/v1 and will be removed soon.", "gracePeriodSeconds": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", "preconditions": "Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned.", "orphanDependents": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", @@ -1600,7 +1603,8 @@ func (Secret) SwaggerDoc() map[string]string { } var map_SecretEnvSource = map[string]string{ - "": "SecretEnvSource selects a Secret to populate the environment variables with.\n\nThe contents of the target Secret's Data field will represent the key-value pairs as environment variables.", + "": "SecretEnvSource selects a Secret to populate the environment variables with.\n\nThe contents of the target Secret's Data field will represent the key-value pairs as environment variables.", + "optional": "Specify whether the Secret must be defined", } func (SecretEnvSource) SwaggerDoc() map[string]string { @@ -1608,8 +1612,9 @@ func (SecretEnvSource) SwaggerDoc() map[string]string { } var map_SecretKeySelector = map[string]string{ - "": "SecretKeySelector selects a key of a Secret.", - "key": "The key of the secret to select from. Must be a valid secret key.", + "": "SecretKeySelector selects a key of a Secret.", + "key": "The key of the secret to select from. Must be a valid secret key.", + "optional": "Specify whether the Secret or it's key must be defined", } func (SecretKeySelector) SwaggerDoc() map[string]string { @@ -1629,8 +1634,9 @@ func (SecretList) SwaggerDoc() map[string]string { var map_SecretVolumeSource = map[string]string{ "": "Adapts a Secret into a volume.\n\nThe contents of the target Secret's Data field will be presented in a volume as files using the keys in the Data field as the file names. Secret volumes support ownership management and SELinux relabeling.", "secretName": "Name of the secret in the pod's namespace to use. More info: http://kubernetes.io/docs/user-guide/volumes#secrets", - "items": "If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error. Paths must be relative and may not contain the '..' path or start with '..'.", + "items": "If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.", "defaultMode": "Optional: mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.", + "optional": "Specify whether the Secret or it's keys must be defined", } func (SecretVolumeSource) SwaggerDoc() map[string]string { diff --git a/pkg/api/v1/zz_generated.conversion.go b/pkg/api/v1/zz_generated.conversion.go index 44ce6d35..0796ae05 100644 --- a/pkg/api/v1/zz_generated.conversion.go +++ b/pkg/api/v1/zz_generated.conversion.go @@ -674,6 +674,7 @@ func autoConvert_v1_ConfigMapEnvSource_To_api_ConfigMapEnvSource(in *ConfigMapEn if err := Convert_v1_LocalObjectReference_To_api_LocalObjectReference(&in.LocalObjectReference, &out.LocalObjectReference, s); err != nil { return err } + out.Optional = (*bool)(unsafe.Pointer(in.Optional)) return nil } @@ -685,6 +686,7 @@ func autoConvert_api_ConfigMapEnvSource_To_v1_ConfigMapEnvSource(in *api.ConfigM if err := Convert_api_LocalObjectReference_To_v1_LocalObjectReference(&in.LocalObjectReference, &out.LocalObjectReference, s); err != nil { return err } + out.Optional = (*bool)(unsafe.Pointer(in.Optional)) return nil } @@ -697,6 +699,7 @@ func autoConvert_v1_ConfigMapKeySelector_To_api_ConfigMapKeySelector(in *ConfigM return err } out.Key = in.Key + out.Optional = (*bool)(unsafe.Pointer(in.Optional)) return nil } @@ -709,6 +712,7 @@ func autoConvert_api_ConfigMapKeySelector_To_v1_ConfigMapKeySelector(in *api.Con return err } out.Key = in.Key + out.Optional = (*bool)(unsafe.Pointer(in.Optional)) return nil } @@ -742,6 +746,7 @@ func autoConvert_v1_ConfigMapVolumeSource_To_api_ConfigMapVolumeSource(in *Confi } out.Items = *(*[]api.KeyToPath)(unsafe.Pointer(&in.Items)) out.DefaultMode = (*int32)(unsafe.Pointer(in.DefaultMode)) + out.Optional = (*bool)(unsafe.Pointer(in.Optional)) return nil } @@ -755,6 +760,7 @@ func autoConvert_api_ConfigMapVolumeSource_To_v1_ConfigMapVolumeSource(in *api.C } out.Items = *(*[]KeyToPath)(unsafe.Pointer(&in.Items)) out.DefaultMode = (*int32)(unsafe.Pointer(in.DefaultMode)) + out.Optional = (*bool)(unsafe.Pointer(in.Optional)) return nil } @@ -3790,6 +3796,7 @@ func autoConvert_v1_SecretEnvSource_To_api_SecretEnvSource(in *SecretEnvSource, if err := Convert_v1_LocalObjectReference_To_api_LocalObjectReference(&in.LocalObjectReference, &out.LocalObjectReference, s); err != nil { return err } + out.Optional = (*bool)(unsafe.Pointer(in.Optional)) return nil } @@ -3801,6 +3808,7 @@ func autoConvert_api_SecretEnvSource_To_v1_SecretEnvSource(in *api.SecretEnvSour if err := Convert_api_LocalObjectReference_To_v1_LocalObjectReference(&in.LocalObjectReference, &out.LocalObjectReference, s); err != nil { return err } + out.Optional = (*bool)(unsafe.Pointer(in.Optional)) return nil } @@ -3813,6 +3821,7 @@ func autoConvert_v1_SecretKeySelector_To_api_SecretKeySelector(in *SecretKeySele return err } out.Key = in.Key + out.Optional = (*bool)(unsafe.Pointer(in.Optional)) return nil } @@ -3825,6 +3834,7 @@ func autoConvert_api_SecretKeySelector_To_v1_SecretKeySelector(in *api.SecretKey return err } out.Key = in.Key + out.Optional = (*bool)(unsafe.Pointer(in.Optional)) return nil } @@ -3876,6 +3886,7 @@ func autoConvert_v1_SecretVolumeSource_To_api_SecretVolumeSource(in *SecretVolum out.SecretName = in.SecretName out.Items = *(*[]api.KeyToPath)(unsafe.Pointer(&in.Items)) out.DefaultMode = (*int32)(unsafe.Pointer(in.DefaultMode)) + out.Optional = (*bool)(unsafe.Pointer(in.Optional)) return nil } @@ -3887,6 +3898,7 @@ func autoConvert_api_SecretVolumeSource_To_v1_SecretVolumeSource(in *api.SecretV out.SecretName = in.SecretName out.Items = *(*[]KeyToPath)(unsafe.Pointer(&in.Items)) out.DefaultMode = (*int32)(unsafe.Pointer(in.DefaultMode)) + out.Optional = (*bool)(unsafe.Pointer(in.Optional)) return nil } diff --git a/pkg/api/v1/zz_generated.deepcopy.go b/pkg/api/v1/zz_generated.deepcopy.go index 6a04adcb..9fa0625e 100644 --- a/pkg/api/v1/zz_generated.deepcopy.go +++ b/pkg/api/v1/zz_generated.deepcopy.go @@ -431,6 +431,11 @@ func DeepCopy_v1_ConfigMapEnvSource(in interface{}, out interface{}, c *conversi in := in.(*ConfigMapEnvSource) out := out.(*ConfigMapEnvSource) *out = *in + if in.Optional != nil { + in, out := &in.Optional, &out.Optional + *out = new(bool) + **out = **in + } return nil } } @@ -440,6 +445,11 @@ func DeepCopy_v1_ConfigMapKeySelector(in interface{}, out interface{}, c *conver in := in.(*ConfigMapKeySelector) out := out.(*ConfigMapKeySelector) *out = *in + if in.Optional != nil { + in, out := &in.Optional, &out.Optional + *out = new(bool) + **out = **in + } return nil } } @@ -481,6 +491,11 @@ func DeepCopy_v1_ConfigMapVolumeSource(in interface{}, out interface{}, c *conve *out = new(int32) **out = **in } + if in.Optional != nil { + in, out := &in.Optional, &out.Optional + *out = new(bool) + **out = **in + } return nil } } @@ -861,12 +876,16 @@ func DeepCopy_v1_EnvFromSource(in interface{}, out interface{}, c *conversion.Cl if in.ConfigMapRef != nil { in, out := &in.ConfigMapRef, &out.ConfigMapRef *out = new(ConfigMapEnvSource) - **out = **in + if err := DeepCopy_v1_ConfigMapEnvSource(*in, *out, c); err != nil { + return err + } } if in.SecretRef != nil { in, out := &in.SecretRef, &out.SecretRef *out = new(SecretEnvSource) - **out = **in + if err := DeepCopy_v1_SecretEnvSource(*in, *out, c); err != nil { + return err + } } return nil } @@ -908,12 +927,16 @@ func DeepCopy_v1_EnvVarSource(in interface{}, out interface{}, c *conversion.Clo if in.ConfigMapKeyRef != nil { in, out := &in.ConfigMapKeyRef, &out.ConfigMapKeyRef *out = new(ConfigMapKeySelector) - **out = **in + if err := DeepCopy_v1_ConfigMapKeySelector(*in, *out, c); err != nil { + return err + } } if in.SecretKeyRef != nil { in, out := &in.SecretKeyRef, &out.SecretKeyRef *out = new(SecretKeySelector) - **out = **in + if err := DeepCopy_v1_SecretKeySelector(*in, *out, c); err != nil { + return err + } } return nil } @@ -2759,6 +2782,11 @@ func DeepCopy_v1_SecretEnvSource(in interface{}, out interface{}, c *conversion. in := in.(*SecretEnvSource) out := out.(*SecretEnvSource) *out = *in + if in.Optional != nil { + in, out := &in.Optional, &out.Optional + *out = new(bool) + **out = **in + } return nil } } @@ -2768,6 +2796,11 @@ func DeepCopy_v1_SecretKeySelector(in interface{}, out interface{}, c *conversio in := in.(*SecretKeySelector) out := out.(*SecretKeySelector) *out = *in + if in.Optional != nil { + in, out := &in.Optional, &out.Optional + *out = new(bool) + **out = **in + } return nil } } @@ -2809,6 +2842,11 @@ func DeepCopy_v1_SecretVolumeSource(in interface{}, out interface{}, c *conversi *out = new(int32) **out = **in } + if in.Optional != nil { + in, out := &in.Optional, &out.Optional + *out = new(bool) + **out = **in + } return nil } } diff --git a/pkg/api/zz_generated.deepcopy.go b/pkg/api/zz_generated.deepcopy.go index b489267e..f4ccb1f8 100644 --- a/pkg/api/zz_generated.deepcopy.go +++ b/pkg/api/zz_generated.deepcopy.go @@ -434,6 +434,11 @@ func DeepCopy_api_ConfigMapEnvSource(in interface{}, out interface{}, c *convers in := in.(*ConfigMapEnvSource) out := out.(*ConfigMapEnvSource) *out = *in + if in.Optional != nil { + in, out := &in.Optional, &out.Optional + *out = new(bool) + **out = **in + } return nil } } @@ -443,6 +448,11 @@ func DeepCopy_api_ConfigMapKeySelector(in interface{}, out interface{}, c *conve in := in.(*ConfigMapKeySelector) out := out.(*ConfigMapKeySelector) *out = *in + if in.Optional != nil { + in, out := &in.Optional, &out.Optional + *out = new(bool) + **out = **in + } return nil } } @@ -484,6 +494,11 @@ func DeepCopy_api_ConfigMapVolumeSource(in interface{}, out interface{}, c *conv *out = new(int32) **out = **in } + if in.Optional != nil { + in, out := &in.Optional, &out.Optional + *out = new(bool) + **out = **in + } return nil } } @@ -889,12 +904,16 @@ func DeepCopy_api_EnvFromSource(in interface{}, out interface{}, c *conversion.C if in.ConfigMapRef != nil { in, out := &in.ConfigMapRef, &out.ConfigMapRef *out = new(ConfigMapEnvSource) - **out = **in + if err := DeepCopy_api_ConfigMapEnvSource(*in, *out, c); err != nil { + return err + } } if in.SecretRef != nil { in, out := &in.SecretRef, &out.SecretRef *out = new(SecretEnvSource) - **out = **in + if err := DeepCopy_api_SecretEnvSource(*in, *out, c); err != nil { + return err + } } return nil } @@ -936,12 +955,16 @@ func DeepCopy_api_EnvVarSource(in interface{}, out interface{}, c *conversion.Cl if in.ConfigMapKeyRef != nil { in, out := &in.ConfigMapKeyRef, &out.ConfigMapKeyRef *out = new(ConfigMapKeySelector) - **out = **in + if err := DeepCopy_api_ConfigMapKeySelector(*in, *out, c); err != nil { + return err + } } if in.SecretKeyRef != nil { in, out := &in.SecretKeyRef, &out.SecretKeyRef *out = new(SecretKeySelector) - **out = **in + if err := DeepCopy_api_SecretKeySelector(*in, *out, c); err != nil { + return err + } } return nil } @@ -2791,6 +2814,11 @@ func DeepCopy_api_SecretEnvSource(in interface{}, out interface{}, c *conversion in := in.(*SecretEnvSource) out := out.(*SecretEnvSource) *out = *in + if in.Optional != nil { + in, out := &in.Optional, &out.Optional + *out = new(bool) + **out = **in + } return nil } } @@ -2800,6 +2828,11 @@ func DeepCopy_api_SecretKeySelector(in interface{}, out interface{}, c *conversi in := in.(*SecretKeySelector) out := out.(*SecretKeySelector) *out = *in + if in.Optional != nil { + in, out := &in.Optional, &out.Optional + *out = new(bool) + **out = **in + } return nil } } @@ -2841,6 +2874,11 @@ func DeepCopy_api_SecretVolumeSource(in interface{}, out interface{}, c *convers *out = new(int32) **out = **in } + if in.Optional != nil { + in, out := &in.Optional, &out.Optional + *out = new(bool) + **out = **in + } return nil } } diff --git a/pkg/apis/apps/register.go b/pkg/apis/apps/register.go index fc1ea934..639c1be4 100644 --- a/pkg/apis/apps/register.go +++ b/pkg/apis/apps/register.go @@ -19,7 +19,6 @@ package apps import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api" ) var ( @@ -49,7 +48,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, &StatefulSet{}, &StatefulSetList{}, - &api.DeleteOptions{}, ) return nil } diff --git a/pkg/apis/apps/v1beta1/register.go b/pkg/apis/apps/v1beta1/register.go index bf5ae0c7..4e7829d9 100644 --- a/pkg/apis/apps/v1beta1/register.go +++ b/pkg/apis/apps/v1beta1/register.go @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api/v1" ) // GroupName is the group name use in this package @@ -44,9 +43,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, &StatefulSet{}, &StatefulSetList{}, - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, ) metav1.AddToGroupVersion(scheme, SchemeGroupVersion) return nil diff --git a/pkg/apis/authentication/register.go b/pkg/apis/authentication/register.go index 9233bf95..b0ac3c28 100644 --- a/pkg/apis/authentication/register.go +++ b/pkg/apis/authentication/register.go @@ -17,10 +17,8 @@ limitations under the License. package authentication import ( - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api" ) // GroupName is the group name use in this package @@ -46,10 +44,6 @@ var ( func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, - &api.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, - &TokenReview{}, ) return nil diff --git a/pkg/apis/authentication/v1beta1/register.go b/pkg/apis/authentication/v1beta1/register.go index 91f7cb09..ddaa1970 100644 --- a/pkg/apis/authentication/v1beta1/register.go +++ b/pkg/apis/authentication/v1beta1/register.go @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api/v1" ) // GroupName is the group name use in this package @@ -42,10 +41,6 @@ var ( // Adds the list of known types to api.Scheme. func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, - &TokenReview{}, ) metav1.AddToGroupVersion(scheme, SchemeGroupVersion) diff --git a/pkg/apis/authorization/register.go b/pkg/apis/authorization/register.go index 11da9c78..5693885e 100644 --- a/pkg/apis/authorization/register.go +++ b/pkg/apis/authorization/register.go @@ -17,10 +17,8 @@ limitations under the License. package authorization import ( - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api" ) // GroupName is the group name use in this package @@ -46,10 +44,6 @@ var ( func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, - &api.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, - &SelfSubjectAccessReview{}, &SubjectAccessReview{}, &LocalSubjectAccessReview{}, diff --git a/pkg/apis/authorization/v1beta1/register.go b/pkg/apis/authorization/v1beta1/register.go index fba266f5..66549ed8 100644 --- a/pkg/apis/authorization/v1beta1/register.go +++ b/pkg/apis/authorization/v1beta1/register.go @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api/v1" ) // GroupName is the group name use in this package @@ -42,10 +41,6 @@ var ( // Adds the list of known types to api.Scheme. func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, - &SelfSubjectAccessReview{}, &SubjectAccessReview{}, &LocalSubjectAccessReview{}, diff --git a/pkg/apis/autoscaling/register.go b/pkg/apis/autoscaling/register.go index 814c076b..2bcea84b 100644 --- a/pkg/apis/autoscaling/register.go +++ b/pkg/apis/autoscaling/register.go @@ -19,7 +19,6 @@ package autoscaling import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api" ) // GroupName is the group name use in this package @@ -49,7 +48,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { &Scale{}, &HorizontalPodAutoscaler{}, &HorizontalPodAutoscalerList{}, - &api.DeleteOptions{}, ) return nil } diff --git a/pkg/apis/autoscaling/v1/register.go b/pkg/apis/autoscaling/v1/register.go index 2dbc4733..adb1d767 100644 --- a/pkg/apis/autoscaling/v1/register.go +++ b/pkg/apis/autoscaling/v1/register.go @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api/v1" ) // GroupName is the group name use in this package @@ -45,9 +44,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { &HorizontalPodAutoscaler{}, &HorizontalPodAutoscalerList{}, &Scale{}, - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, ) metav1.AddToGroupVersion(scheme, SchemeGroupVersion) return nil diff --git a/pkg/apis/batch/register.go b/pkg/apis/batch/register.go index a5055826..4601ca4e 100644 --- a/pkg/apis/batch/register.go +++ b/pkg/apis/batch/register.go @@ -19,7 +19,6 @@ package batch import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api" ) // GroupName is the group name use in this package @@ -51,7 +50,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { &JobTemplate{}, &CronJob{}, &CronJobList{}, - &api.DeleteOptions{}, ) scheme.AddKnownTypeWithName(SchemeGroupVersion.WithKind("ScheduledJob"), &CronJob{}) scheme.AddKnownTypeWithName(SchemeGroupVersion.WithKind("ScheduledJobList"), &CronJobList{}) diff --git a/pkg/apis/batch/v1/register.go b/pkg/apis/batch/v1/register.go index 6463b62f..4ba570d1 100644 --- a/pkg/apis/batch/v1/register.go +++ b/pkg/apis/batch/v1/register.go @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api/v1" ) // GroupName is the group name use in this package @@ -44,9 +43,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, &Job{}, &JobList{}, - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, ) metav1.AddToGroupVersion(scheme, SchemeGroupVersion) return nil diff --git a/pkg/apis/batch/v2alpha1/register.go b/pkg/apis/batch/v2alpha1/register.go index 92318111..e8e669ab 100644 --- a/pkg/apis/batch/v2alpha1/register.go +++ b/pkg/apis/batch/v2alpha1/register.go @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api/v1" ) // GroupName is the group name use in this package @@ -47,9 +46,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { &JobTemplate{}, &CronJob{}, &CronJobList{}, - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, ) scheme.AddKnownTypeWithName(SchemeGroupVersion.WithKind("ScheduledJob"), &CronJob{}) scheme.AddKnownTypeWithName(SchemeGroupVersion.WithKind("ScheduledJobList"), &CronJobList{}) diff --git a/pkg/apis/certificates/register.go b/pkg/apis/certificates/register.go index 8eadfec3..f9d228d0 100644 --- a/pkg/apis/certificates/register.go +++ b/pkg/apis/certificates/register.go @@ -19,7 +19,6 @@ package certificates import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api" ) var ( @@ -48,7 +47,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, &CertificateSigningRequest{}, &CertificateSigningRequestList{}, - &api.DeleteOptions{}, ) return nil } diff --git a/pkg/apis/certificates/v1beta1/register.go b/pkg/apis/certificates/v1beta1/register.go index ecdcdfea..6574de97 100644 --- a/pkg/apis/certificates/v1beta1/register.go +++ b/pkg/apis/certificates/v1beta1/register.go @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api/v1" ) // GroupName is the group name use in this package @@ -49,9 +48,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, &CertificateSigningRequest{}, &CertificateSigningRequestList{}, - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, ) // Add the watch version that applies diff --git a/pkg/apis/componentconfig/types.go b/pkg/apis/componentconfig/types.go index 70cf601b..23a9881e 100644 --- a/pkg/apis/componentconfig/types.go +++ b/pkg/apis/componentconfig/types.go @@ -17,10 +17,13 @@ limitations under the License. package componentconfig import ( + "fmt" + "sort" + "strings" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" "k8s.io/client-go/pkg/api" - utilconfig "k8s.io/client-go/pkg/util/config" ) type KubeProxyConfiguration struct { @@ -445,12 +448,12 @@ type KubeletConfiguration struct { // that describe resources reserved for non-kubernetes components. // Currently only cpu and memory are supported. [default=none] // See http://kubernetes.io/docs/user-guide/compute-resources for more detail. - SystemReserved utilconfig.ConfigurationMap + SystemReserved ConfigurationMap // A set of ResourceName=ResourceQuantity (e.g. cpu=200m,memory=150G) pairs // that describe resources reserved for kubernetes system components. // Currently only cpu and memory are supported. [default=none] // See http://kubernetes.io/docs/user-guide/compute-resources for more detail. - KubeReserved utilconfig.ConfigurationMap + KubeReserved ConfigurationMap // Default behaviour for kernel tuning ProtectKernelDefaults bool // If true, Kubelet ensures a set of iptables rules are present on host. @@ -863,3 +866,33 @@ type AdmissionPluginConfiguration struct { // +optional Configuration runtime.Object } + +type ConfigurationMap map[string]string + +func (m *ConfigurationMap) String() string { + pairs := []string{} + for k, v := range *m { + pairs = append(pairs, fmt.Sprintf("%s=%s", k, v)) + } + sort.Strings(pairs) + return strings.Join(pairs, ",") +} + +func (m *ConfigurationMap) Set(value string) error { + for _, s := range strings.Split(value, ",") { + if len(s) == 0 { + continue + } + arr := strings.SplitN(s, "=", 2) + if len(arr) == 2 { + (*m)[strings.TrimSpace(arr[0])] = strings.TrimSpace(arr[1]) + } else { + (*m)[strings.TrimSpace(arr[0])] = "" + } + } + return nil +} + +func (*ConfigurationMap) Type() string { + return "mapStringString" +} diff --git a/pkg/apis/componentconfig/v1alpha1/zz_generated.conversion.go b/pkg/apis/componentconfig/v1alpha1/zz_generated.conversion.go index a413b81c..4d8c203b 100644 --- a/pkg/apis/componentconfig/v1alpha1/zz_generated.conversion.go +++ b/pkg/apis/componentconfig/v1alpha1/zz_generated.conversion.go @@ -26,7 +26,6 @@ import ( api "k8s.io/client-go/pkg/api" v1 "k8s.io/client-go/pkg/api/v1" componentconfig "k8s.io/client-go/pkg/apis/componentconfig" - config "k8s.io/client-go/pkg/util/config" unsafe "unsafe" ) @@ -464,8 +463,8 @@ func autoConvert_v1alpha1_KubeletConfiguration_To_componentconfig_KubeletConfigu if err := api.Convert_Pointer_bool_To_bool(&in.EnableControllerAttachDetach, &out.EnableControllerAttachDetach, s); err != nil { return err } - out.SystemReserved = *(*config.ConfigurationMap)(unsafe.Pointer(&in.SystemReserved)) - out.KubeReserved = *(*config.ConfigurationMap)(unsafe.Pointer(&in.KubeReserved)) + out.SystemReserved = *(*componentconfig.ConfigurationMap)(unsafe.Pointer(&in.SystemReserved)) + out.KubeReserved = *(*componentconfig.ConfigurationMap)(unsafe.Pointer(&in.KubeReserved)) out.ProtectKernelDefaults = in.ProtectKernelDefaults if err := api.Convert_Pointer_bool_To_bool(&in.MakeIPTablesUtilChains, &out.MakeIPTablesUtilChains, s); err != nil { return err diff --git a/pkg/apis/componentconfig/zz_generated.deepcopy.go b/pkg/apis/componentconfig/zz_generated.deepcopy.go index b50958f4..e58b21e4 100644 --- a/pkg/apis/componentconfig/zz_generated.deepcopy.go +++ b/pkg/apis/componentconfig/zz_generated.deepcopy.go @@ -24,7 +24,6 @@ import ( conversion "k8s.io/apimachinery/pkg/conversion" runtime "k8s.io/apimachinery/pkg/runtime" api "k8s.io/client-go/pkg/api" - config "k8s.io/client-go/pkg/util/config" reflect "reflect" ) @@ -208,14 +207,14 @@ func DeepCopy_componentconfig_KubeletConfiguration(in interface{}, out interface } if in.SystemReserved != nil { in, out := &in.SystemReserved, &out.SystemReserved - *out = make(config.ConfigurationMap) + *out = make(ConfigurationMap) for key, val := range *in { (*out)[key] = val } } if in.KubeReserved != nil { in, out := &in.KubeReserved, &out.KubeReserved - *out = make(config.ConfigurationMap) + *out = make(ConfigurationMap) for key, val := range *in { (*out)[key] = val } diff --git a/pkg/apis/extensions/register.go b/pkg/apis/extensions/register.go index ff51b4bc..bd772f11 100644 --- a/pkg/apis/extensions/register.go +++ b/pkg/apis/extensions/register.go @@ -17,10 +17,8 @@ limitations under the License. package extensions import ( - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api" "k8s.io/client-go/pkg/apis/autoscaling" ) @@ -64,11 +62,8 @@ func addKnownTypes(scheme *runtime.Scheme) error { &ThirdPartyResourceDataList{}, &Ingress{}, &IngressList{}, - &api.DeleteOptions{}, &ReplicaSet{}, &ReplicaSetList{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, &PodSecurityPolicy{}, &PodSecurityPolicyList{}, &NetworkPolicy{}, diff --git a/pkg/apis/extensions/v1beta1/register.go b/pkg/apis/extensions/v1beta1/register.go index 769f4737..6b03fb02 100644 --- a/pkg/apis/extensions/v1beta1/register.go +++ b/pkg/apis/extensions/v1beta1/register.go @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api/v1" ) // GroupName is the group name use in this package @@ -57,9 +56,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { &ThirdPartyResourceDataList{}, &Ingress{}, &IngressList{}, - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, &ReplicaSet{}, &ReplicaSetList{}, &PodSecurityPolicy{}, diff --git a/pkg/apis/imagepolicy/register.go b/pkg/apis/imagepolicy/register.go index 4f1f6e0d..446aaf5e 100644 --- a/pkg/apis/imagepolicy/register.go +++ b/pkg/apis/imagepolicy/register.go @@ -17,10 +17,8 @@ limitations under the License. package imagepolicy import ( - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api" ) // GroupName is the group name use in this package @@ -46,10 +44,6 @@ var ( func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, - &api.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, - &ImageReview{}, ) // metav1.AddToGroupVersion(scheme, SchemeGroupVersion) diff --git a/pkg/apis/imagepolicy/v1alpha1/register.go b/pkg/apis/imagepolicy/v1alpha1/register.go index aa95b244..81ac79a8 100644 --- a/pkg/apis/imagepolicy/v1alpha1/register.go +++ b/pkg/apis/imagepolicy/v1alpha1/register.go @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api/v1" ) // GroupName is the group name for this API. @@ -42,10 +41,6 @@ var ( // Adds the list of known types to api.Scheme. func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, - &ImageReview{}, ) metav1.AddToGroupVersion(scheme, SchemeGroupVersion) diff --git a/pkg/apis/kubeadm/register.go b/pkg/apis/kubeadm/register.go index 34e2e07e..05a829c0 100644 --- a/pkg/apis/kubeadm/register.go +++ b/pkg/apis/kubeadm/register.go @@ -17,10 +17,8 @@ limitations under the License. package kubeadm import ( - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api" ) // GroupName is the group name use in this package @@ -49,8 +47,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { &MasterConfiguration{}, &NodeConfiguration{}, &ClusterInfo{}, - &api.DeleteOptions{}, - &metav1.ExportOptions{}, ) return nil } diff --git a/pkg/apis/kubeadm/v1alpha1/register.go b/pkg/apis/kubeadm/v1alpha1/register.go index 3298cbbc..31496f3c 100644 --- a/pkg/apis/kubeadm/v1alpha1/register.go +++ b/pkg/apis/kubeadm/v1alpha1/register.go @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api/v1" ) // GroupName is the group name use in this package @@ -49,8 +48,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { &MasterConfiguration{}, &NodeConfiguration{}, &ClusterInfo{}, - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, ) metav1.AddToGroupVersion(scheme, SchemeGroupVersion) return nil diff --git a/pkg/apis/policy/register.go b/pkg/apis/policy/register.go index 1e3c7d30..5aadc3f1 100644 --- a/pkg/apis/policy/register.go +++ b/pkg/apis/policy/register.go @@ -17,10 +17,8 @@ limitations under the License. package policy import ( - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api" ) // GroupName is the group name use in this package @@ -48,10 +46,6 @@ var ( func addKnownTypes(scheme *runtime.Scheme) error { // TODO this gets cleaned up when the types are fixed scheme.AddKnownTypes(SchemeGroupVersion, - &api.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, - &PodDisruptionBudget{}, &PodDisruptionBudgetList{}, &Eviction{}, diff --git a/pkg/apis/policy/types.go b/pkg/apis/policy/types.go index 73cebecc..f8ef4b55 100644 --- a/pkg/apis/policy/types.go +++ b/pkg/apis/policy/types.go @@ -18,7 +18,6 @@ package policy import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/pkg/api" "k8s.io/client-go/pkg/util/intstr" ) @@ -110,5 +109,5 @@ type Eviction struct { // DeleteOptions may be provided // +optional - DeleteOptions *api.DeleteOptions + DeleteOptions *metav1.DeleteOptions } diff --git a/pkg/apis/policy/v1beta1/generated.pb.go b/pkg/apis/policy/v1beta1/generated.pb.go index 9128d6d1..d50935ca 100644 --- a/pkg/apis/policy/v1beta1/generated.pb.go +++ b/pkg/apis/policy/v1beta1/generated.pb.go @@ -39,8 +39,6 @@ import math "math" import k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" -import k8s_io_kubernetes_pkg_api_v1 "k8s.io/client-go/pkg/api/v1" - import strings "strings" import reflect "reflect" import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" @@ -408,7 +406,7 @@ func (this *Eviction) String() string { } s := strings.Join([]string{`&Eviction{`, `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, - `DeleteOptions:` + strings.Replace(fmt.Sprintf("%v", this.DeleteOptions), "DeleteOptions", "k8s_io_kubernetes_pkg_api_v1.DeleteOptions", 1) + `,`, + `DeleteOptions:` + strings.Replace(fmt.Sprintf("%v", this.DeleteOptions), "DeleteOptions", "k8s_io_apimachinery_pkg_apis_meta_v1.DeleteOptions", 1) + `,`, `}`, }, "") return s @@ -566,7 +564,7 @@ func (m *Eviction) Unmarshal(data []byte) error { return io.ErrUnexpectedEOF } if m.DeleteOptions == nil { - m.DeleteOptions = &k8s_io_kubernetes_pkg_api_v1.DeleteOptions{} + m.DeleteOptions = &k8s_io_apimachinery_pkg_apis_meta_v1.DeleteOptions{} } if err := m.DeleteOptions.Unmarshal(data[iNdEx:postIndex]); err != nil { return err @@ -1324,54 +1322,54 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 776 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xbc, 0x94, 0x4d, 0x6f, 0xe3, 0x44, - 0x18, 0xc7, 0xe3, 0x26, 0x29, 0x61, 0x9a, 0x54, 0x65, 0xa0, 0x10, 0x22, 0xe1, 0xa2, 0x9c, 0x5a, - 0x5e, 0xc6, 0xa4, 0x20, 0x54, 0x38, 0x54, 0xd4, 0xa4, 0x82, 0x22, 0xaa, 0x54, 0x2e, 0x12, 0x12, - 0x02, 0x89, 0xb1, 0xfd, 0xe0, 0x0c, 0xf1, 0x9b, 0x66, 0xc6, 0x81, 0xdc, 0xf8, 0x08, 0x1c, 0xf8, - 0x50, 0x95, 0xb8, 0x54, 0x7b, 0xda, 0xc3, 0xaa, 0xda, 0x66, 0x3f, 0xc3, 0xde, 0x57, 0xb6, 0x27, - 0x2f, 0xce, 0x8b, 0x36, 0x52, 0x57, 0x7b, 0xcb, 0xcc, 0x3c, 0xbf, 0xff, 0xff, 0x79, 0x73, 0xd0, - 0x57, 0x83, 0x13, 0x41, 0x58, 0x64, 0x0c, 0x12, 0x1b, 0x78, 0x08, 0x12, 0x84, 0x11, 0x0f, 0x3c, - 0x83, 0xc6, 0x4c, 0x18, 0x71, 0xe4, 0x33, 0x67, 0x64, 0x0c, 0x3b, 0x36, 0x48, 0xda, 0x31, 0x3c, - 0x08, 0x81, 0x53, 0x09, 0x2e, 0x89, 0x79, 0x24, 0x23, 0x7c, 0x94, 0xa3, 0x64, 0x86, 0x92, 0x78, - 0xe0, 0x91, 0x14, 0x25, 0x39, 0x4a, 0x14, 0xda, 0xfa, 0xd4, 0x63, 0xb2, 0x9f, 0xd8, 0xc4, 0x89, - 0x02, 0xc3, 0x8b, 0xbc, 0xc8, 0xc8, 0x14, 0xec, 0xe4, 0x8f, 0xec, 0x94, 0x1d, 0xb2, 0x5f, 0xb9, - 0x72, 0xeb, 0x0b, 0x95, 0x14, 0x8d, 0x59, 0x40, 0x9d, 0x3e, 0x0b, 0x81, 0x8f, 0x66, 0x69, 0x05, - 0x20, 0xa9, 0x31, 0x5c, 0xca, 0xa7, 0x65, 0xac, 0xa3, 0x78, 0x12, 0x4a, 0x16, 0xc0, 0x12, 0xf0, - 0xe5, 0xcb, 0x00, 0xe1, 0xf4, 0x21, 0xa0, 0x4b, 0xdc, 0xf1, 0xda, 0x9e, 0x19, 0x1c, 0x44, 0x94, - 0x70, 0x67, 0xd9, 0xeb, 0x93, 0xf5, 0xcc, 0x8a, 0x52, 0x3a, 0xab, 0xa3, 0x13, 0xc9, 0x7c, 0x83, - 0x85, 0x52, 0x48, 0xbe, 0x88, 0xb4, 0x1f, 0x69, 0xa8, 0x76, 0x3e, 0x64, 0x8e, 0x64, 0x51, 0x88, - 0x7f, 0x47, 0xb5, 0xb4, 0x4b, 0x2e, 0x95, 0xb4, 0xa9, 0x7d, 0xa8, 0x1d, 0xee, 0x1c, 0x7f, 0x46, - 0xd4, 0xb4, 0xe6, 0x8b, 0x9d, 0xcd, 0x2b, 0x8d, 0x26, 0xc3, 0x0e, 0xe9, 0xd9, 0x7f, 0x82, 0x23, - 0x2f, 0x41, 0x52, 0x13, 0xdf, 0xdc, 0x1d, 0x94, 0xc6, 0x77, 0x07, 0x68, 0x76, 0x67, 0x4d, 0x55, - 0xb1, 0x8b, 0x1a, 0x2e, 0xf8, 0x20, 0xa1, 0x17, 0xa7, 0x8e, 0xa2, 0xb9, 0x95, 0xd9, 0x7c, 0x4c, - 0xd6, 0x2e, 0x45, 0x2a, 0xdf, 0x9d, 0x47, 0xcc, 0xb7, 0xc6, 0x77, 0x07, 0x8d, 0xc2, 0x95, 0x55, - 0x14, 0x6d, 0xff, 0xbf, 0x85, 0xde, 0xbe, 0x8a, 0xdc, 0x2e, 0x13, 0x3c, 0xc9, 0xae, 0xcc, 0xc4, - 0xf5, 0x40, 0xbe, 0x96, 0xfa, 0x2a, 0x22, 0x06, 0x47, 0x95, 0x65, 0x92, 0x8d, 0x77, 0x9d, 0xac, - 0xc8, 0xf7, 0x3a, 0x06, 0xc7, 0xac, 0x2b, 0xbf, 0x4a, 0x7a, 0xb2, 0x32, 0x75, 0xec, 0xa3, 0x6d, - 0x21, 0xa9, 0x4c, 0x44, 0xb3, 0x9c, 0xf9, 0x74, 0x1f, 0xe8, 0x93, 0x69, 0x99, 0xbb, 0xca, 0x69, - 0x3b, 0x3f, 0x5b, 0xca, 0xa3, 0xfd, 0x44, 0x43, 0xef, 0xad, 0xa0, 0x7e, 0x64, 0x42, 0xe2, 0x5f, - 0x97, 0x3a, 0x4a, 0x36, 0xeb, 0x68, 0x4a, 0x67, 0xfd, 0xdc, 0x53, 0xae, 0xb5, 0xc9, 0xcd, 0x5c, - 0x37, 0x1d, 0x54, 0x65, 0x12, 0x82, 0x74, 0x4b, 0xca, 0x87, 0x3b, 0xc7, 0xa7, 0x0f, 0x2b, 0xd3, - 0x6c, 0x28, 0xab, 0xea, 0x45, 0x2a, 0x6a, 0xe5, 0xda, 0xed, 0xf1, 0xea, 0xf2, 0xd2, 0x76, 0xe3, - 0x3e, 0xaa, 0x07, 0x2c, 0x3c, 0x1b, 0x52, 0xe6, 0x53, 0xdb, 0x87, 0xc5, 0x12, 0x17, 0xf2, 0x48, - 0xbf, 0x33, 0x92, 0x7f, 0x67, 0xe4, 0x22, 0x94, 0x3d, 0x7e, 0x2d, 0x39, 0x0b, 0x3d, 0xf3, 0x1d, - 0xe5, 0x5b, 0xbf, 0x9c, 0xd3, 0xb2, 0x0a, 0xca, 0xf8, 0x37, 0x54, 0x13, 0xe0, 0x83, 0x23, 0x23, - 0xae, 0x96, 0xe7, 0xf3, 0x0d, 0x1b, 0x49, 0x6d, 0xf0, 0xaf, 0x15, 0x6a, 0xd6, 0xd3, 0x4e, 0x4e, - 0x4e, 0xd6, 0x54, 0xb2, 0xfd, 0xbc, 0x82, 0xde, 0x5f, 0x3b, 0x79, 0xfc, 0x03, 0xc2, 0x91, 0x2d, - 0x80, 0x0f, 0xc1, 0xfd, 0x2e, 0xff, 0x7f, 0x60, 0x51, 0x98, 0x15, 0x5b, 0x36, 0x5b, 0x2a, 0x79, - 0xdc, 0x5b, 0x8a, 0xb0, 0x56, 0x50, 0xf8, 0x3f, 0x0d, 0x35, 0xdc, 0xdc, 0x06, 0xdc, 0xab, 0xc8, - 0x9d, 0x0c, 0xef, 0xe7, 0x57, 0xb1, 0xa3, 0xa4, 0x3b, 0xaf, 0x7c, 0x1e, 0x4a, 0x3e, 0x32, 0xf7, - 0x55, 0x82, 0x8d, 0xc2, 0x9b, 0x55, 0x4c, 0x02, 0x5f, 0x22, 0xec, 0x4e, 0x25, 0xc5, 0x99, 0xef, - 0x47, 0x7f, 0x81, 0x9b, 0x7d, 0x3e, 0x55, 0xf3, 0x03, 0xa5, 0xb0, 0x5f, 0xf0, 0x9d, 0x04, 0x59, - 0x2b, 0x40, 0x7c, 0x8a, 0x76, 0x9d, 0x84, 0x73, 0x08, 0xe5, 0xf7, 0x40, 0x7d, 0xd9, 0x1f, 0x35, - 0x2b, 0x99, 0xd4, 0xbb, 0x4a, 0x6a, 0xf7, 0xdb, 0xc2, 0xab, 0xb5, 0x10, 0x9d, 0xf2, 0x2e, 0x08, - 0xc6, 0xc1, 0x9d, 0xf0, 0xd5, 0x22, 0xdf, 0x2d, 0xbc, 0x5a, 0x0b, 0xd1, 0xf8, 0x04, 0xd5, 0xe1, - 0xef, 0x18, 0x9c, 0x49, 0x8f, 0xb7, 0x33, 0x7a, 0xba, 0x68, 0xe7, 0x73, 0x6f, 0x56, 0x21, 0xb2, - 0xe5, 0x23, 0xbc, 0xdc, 0x44, 0xbc, 0x87, 0xca, 0x03, 0x18, 0x65, 0x23, 0x7f, 0xd3, 0x4a, 0x7f, - 0xe2, 0x6f, 0x50, 0x75, 0x48, 0xfd, 0x04, 0xd4, 0x36, 0x7e, 0xb4, 0xd9, 0x36, 0xfe, 0xc4, 0x02, - 0xb0, 0x72, 0xf0, 0xeb, 0xad, 0x13, 0xcd, 0x3c, 0xba, 0xb9, 0xd7, 0x4b, 0xb7, 0xf7, 0x7a, 0xe9, - 0xf1, 0xbd, 0x5e, 0xfa, 0x67, 0xac, 0x6b, 0x37, 0x63, 0x5d, 0xbb, 0x1d, 0xeb, 0xda, 0xd3, 0xb1, - 0xae, 0xfd, 0xfb, 0x4c, 0x2f, 0xfd, 0xf2, 0x86, 0x1a, 0xfa, 0x8b, 0x00, 0x00, 0x00, 0xff, 0xff, - 0x9b, 0xdc, 0x98, 0x55, 0x53, 0x08, 0x00, 0x00, + // 773 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xbc, 0x94, 0xcd, 0x6e, 0xeb, 0x44, + 0x14, 0xc7, 0xe3, 0x26, 0x29, 0x61, 0x9a, 0x54, 0x65, 0xa0, 0x10, 0x22, 0xe1, 0xa2, 0xac, 0x5a, + 0x04, 0x63, 0x52, 0x10, 0x2a, 0x2c, 0x2a, 0x6a, 0x52, 0x41, 0x51, 0xab, 0x54, 0x2e, 0x12, 0x12, + 0x02, 0x89, 0xb1, 0x7d, 0x70, 0x86, 0xf8, 0x4b, 0x33, 0xe3, 0x40, 0x76, 0x3c, 0x02, 0x0b, 0x1e, + 0xaa, 0x12, 0x9b, 0x2e, 0x11, 0x42, 0x15, 0xcd, 0x7d, 0x86, 0xbb, 0xbf, 0xb2, 0x3d, 0xf9, 0x70, + 0x3e, 0x74, 0x73, 0xd5, 0xab, 0xbb, 0xf3, 0xcc, 0x9c, 0xdf, 0xff, 0x7f, 0xce, 0x99, 0x33, 0x46, + 0x9f, 0x0f, 0x4e, 0x04, 0x61, 0x91, 0x31, 0x48, 0x6c, 0xe0, 0x21, 0x48, 0x10, 0x46, 0x3c, 0xf0, + 0x0c, 0x1a, 0x33, 0x61, 0xc4, 0x91, 0xcf, 0x9c, 0x91, 0x31, 0xec, 0xd8, 0x20, 0x69, 0xc7, 0xf0, + 0x20, 0x04, 0x4e, 0x25, 0xb8, 0x24, 0xe6, 0x91, 0x8c, 0xf0, 0x51, 0x8e, 0x92, 0x19, 0x4a, 0xe2, + 0x81, 0x47, 0x52, 0x94, 0xe4, 0x28, 0x51, 0x68, 0xeb, 0x23, 0x8f, 0xc9, 0x7e, 0x62, 0x13, 0x27, + 0x0a, 0x0c, 0x2f, 0xf2, 0x22, 0x23, 0x53, 0xb0, 0x93, 0x5f, 0xb2, 0x55, 0xb6, 0xc8, 0xbe, 0x72, + 0xe5, 0xd6, 0xa7, 0x2a, 0x29, 0x1a, 0xb3, 0x80, 0x3a, 0x7d, 0x16, 0x02, 0x1f, 0xcd, 0xd2, 0x0a, + 0x40, 0x52, 0x63, 0xb8, 0x94, 0x4f, 0xcb, 0x58, 0x47, 0xf1, 0x24, 0x94, 0x2c, 0x80, 0x25, 0xe0, + 0xb3, 0xe7, 0x01, 0xc2, 0xe9, 0x43, 0x40, 0x97, 0xb8, 0xe3, 0xb5, 0x3d, 0x33, 0x38, 0x88, 0x28, + 0xe1, 0xce, 0xb2, 0xd7, 0x87, 0xeb, 0x99, 0x15, 0xa5, 0x74, 0x56, 0x47, 0x27, 0x92, 0xf9, 0x06, + 0x0b, 0xa5, 0x90, 0x7c, 0x11, 0x69, 0xff, 0xab, 0xa1, 0xda, 0xf9, 0x90, 0x39, 0x92, 0x45, 0x21, + 0xfe, 0x19, 0xd5, 0xd2, 0x2e, 0xb9, 0x54, 0xd2, 0xa6, 0xf6, 0xbe, 0x76, 0xb8, 0x73, 0xfc, 0x31, + 0x51, 0xb7, 0x35, 0x5f, 0xec, 0xec, 0xbe, 0xd2, 0x68, 0x32, 0xec, 0x90, 0x9e, 0xfd, 0x2b, 0x38, + 0xf2, 0x0a, 0x24, 0x35, 0xf1, 0xed, 0xfd, 0x41, 0x69, 0x7c, 0x7f, 0x80, 0x66, 0x7b, 0xd6, 0x54, + 0x15, 0xfb, 0xa8, 0xe1, 0x82, 0x0f, 0x12, 0x7a, 0x71, 0xea, 0x28, 0x9a, 0x5b, 0x99, 0xcd, 0x27, + 0x9b, 0xd9, 0x74, 0xe7, 0x51, 0xf3, 0x8d, 0xf1, 0xfd, 0x41, 0xa3, 0xb0, 0x65, 0x15, 0xc5, 0xdb, + 0x7f, 0x6f, 0xa1, 0x37, 0xaf, 0x23, 0xb7, 0xcb, 0x04, 0x4f, 0xb2, 0x2d, 0x33, 0x71, 0x3d, 0x90, + 0xaf, 0xa0, 0x4e, 0x17, 0x55, 0x44, 0x0c, 0x8e, 0x2a, 0xcf, 0x24, 0x1b, 0xcf, 0x3c, 0x59, 0x91, + 0xef, 0x4d, 0x0c, 0x8e, 0x59, 0x57, 0x7e, 0x95, 0x74, 0x65, 0x65, 0xea, 0xd8, 0x47, 0xdb, 0x42, + 0x52, 0x99, 0x88, 0x66, 0x39, 0xf3, 0xe9, 0x3e, 0xd2, 0x27, 0xd3, 0x32, 0x77, 0x95, 0xd3, 0x76, + 0xbe, 0xb6, 0x94, 0x47, 0xfb, 0x3f, 0x0d, 0xbd, 0xb3, 0x82, 0xba, 0x64, 0x42, 0xe2, 0x1f, 0x97, + 0x3a, 0x4a, 0x36, 0xeb, 0x68, 0x4a, 0x67, 0xfd, 0xdc, 0x53, 0xae, 0xb5, 0xc9, 0xce, 0x5c, 0x37, + 0x1d, 0x54, 0x65, 0x12, 0x82, 0x74, 0x5a, 0xca, 0x87, 0x3b, 0xc7, 0xa7, 0x8f, 0x2b, 0xd3, 0x6c, + 0x28, 0xab, 0xea, 0x45, 0x2a, 0x6a, 0xe5, 0xda, 0xed, 0xf1, 0xea, 0xf2, 0xd2, 0x76, 0xe3, 0x3e, + 0xaa, 0x07, 0x2c, 0x3c, 0x1b, 0x52, 0xe6, 0x53, 0xdb, 0x87, 0xc5, 0x12, 0x17, 0xf2, 0x48, 0xdf, + 0x1b, 0xc9, 0xdf, 0x1b, 0xb9, 0x08, 0x65, 0x8f, 0xdf, 0x48, 0xce, 0x42, 0xcf, 0x7c, 0x4b, 0xf9, + 0xd6, 0xaf, 0xe6, 0xb4, 0xac, 0x82, 0x32, 0xfe, 0x09, 0xd5, 0x04, 0xf8, 0xe0, 0xc8, 0x88, 0xbf, + 0xd8, 0xdb, 0xb8, 0xa4, 0x36, 0xf8, 0x37, 0x0a, 0x35, 0xeb, 0x69, 0x27, 0x27, 0x2b, 0x6b, 0x2a, + 0xd9, 0x7e, 0x5a, 0x41, 0xef, 0xae, 0xbd, 0x79, 0xfc, 0x2d, 0xc2, 0x91, 0x2d, 0x80, 0x0f, 0xc1, + 0xfd, 0x3a, 0xff, 0x4f, 0xb0, 0x28, 0xcc, 0x8a, 0x2d, 0x9b, 0x2d, 0x95, 0x3c, 0xee, 0x2d, 0x45, + 0x58, 0x2b, 0x28, 0xfc, 0x97, 0x86, 0x1a, 0x6e, 0x6e, 0x03, 0xee, 0x75, 0xe4, 0x4e, 0x2e, 0xef, + 0xfb, 0x97, 0x31, 0xa3, 0xa4, 0x3b, 0xaf, 0x7c, 0x1e, 0x4a, 0x3e, 0x32, 0xf7, 0x55, 0x82, 0x8d, + 0xc2, 0x99, 0x55, 0x4c, 0x02, 0x5f, 0x21, 0xec, 0x4e, 0x25, 0xc5, 0x99, 0xef, 0x47, 0xbf, 0x81, + 0x9b, 0x3d, 0x9f, 0xaa, 0xf9, 0x9e, 0x52, 0xd8, 0x2f, 0xf8, 0x4e, 0x82, 0xac, 0x15, 0x20, 0x3e, + 0x45, 0xbb, 0x4e, 0xc2, 0x39, 0x84, 0xf2, 0x1b, 0xa0, 0xbe, 0xec, 0x8f, 0x9a, 0x95, 0x4c, 0xea, + 0x6d, 0x25, 0xb5, 0xfb, 0x55, 0xe1, 0xd4, 0x5a, 0x88, 0x4e, 0x79, 0x17, 0x04, 0xe3, 0xe0, 0x4e, + 0xf8, 0x6a, 0x91, 0xef, 0x16, 0x4e, 0xad, 0x85, 0x68, 0x7c, 0x82, 0xea, 0xf0, 0x7b, 0x0c, 0xce, + 0xa4, 0xc7, 0xdb, 0x19, 0x3d, 0x1d, 0xb4, 0xf3, 0xb9, 0x33, 0xab, 0x10, 0xd9, 0xf2, 0x11, 0x5e, + 0x6e, 0x22, 0xde, 0x43, 0xe5, 0x01, 0x8c, 0xb2, 0x2b, 0x7f, 0xdd, 0x4a, 0x3f, 0xf1, 0x97, 0xa8, + 0x3a, 0xa4, 0x7e, 0x02, 0x6a, 0x1a, 0x3f, 0xd8, 0x6c, 0x1a, 0xbf, 0x63, 0x01, 0x58, 0x39, 0xf8, + 0xc5, 0xd6, 0x89, 0x66, 0x1e, 0xdd, 0x3e, 0xe8, 0xa5, 0xbb, 0x07, 0xbd, 0xf4, 0xcf, 0x83, 0x5e, + 0xfa, 0x63, 0xac, 0x6b, 0xb7, 0x63, 0x5d, 0xbb, 0x1b, 0xeb, 0xda, 0xff, 0x63, 0x5d, 0xfb, 0xf3, + 0x89, 0x5e, 0xfa, 0xe1, 0x35, 0x75, 0xe9, 0xcf, 0x02, 0x00, 0x00, 0xff, 0xff, 0xca, 0xf1, 0x55, + 0x25, 0x5b, 0x08, 0x00, 0x00, } diff --git a/pkg/apis/policy/v1beta1/generated.proto b/pkg/apis/policy/v1beta1/generated.proto index 51e1451c..4d74c13c 100644 --- a/pkg/apis/policy/v1beta1/generated.proto +++ b/pkg/apis/policy/v1beta1/generated.proto @@ -39,7 +39,7 @@ message Eviction { optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // DeleteOptions may be provided - optional k8s.io.kubernetes.pkg.api.v1.DeleteOptions deleteOptions = 2; + optional k8s.io.apimachinery.pkg.apis.meta.v1.DeleteOptions deleteOptions = 2; } // PodDisruptionBudget is an object to define the max disruption that can be caused to a collection of pods diff --git a/pkg/apis/policy/v1beta1/register.go b/pkg/apis/policy/v1beta1/register.go index 83493e2f..52bd65c8 100644 --- a/pkg/apis/policy/v1beta1/register.go +++ b/pkg/apis/policy/v1beta1/register.go @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api/v1" ) // GroupName is the group name use in this package @@ -45,9 +44,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { &PodDisruptionBudget{}, &PodDisruptionBudgetList{}, &Eviction{}, - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, ) // Add the watch version that applies metav1.AddToGroupVersion(scheme, SchemeGroupVersion) diff --git a/pkg/apis/policy/v1beta1/types.generated.go b/pkg/apis/policy/v1beta1/types.generated.go index cdd6db24..bdfd65a6 100644 --- a/pkg/apis/policy/v1beta1/types.generated.go +++ b/pkg/apis/policy/v1beta1/types.generated.go @@ -27,7 +27,6 @@ import ( codec1978 "github.com/ugorji/go/codec" pkg2_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" pkg3_types "k8s.io/apimachinery/pkg/types" - pkg4_v1 "k8s.io/client-go/pkg/api/v1" pkg1_intstr "k8s.io/client-go/pkg/util/intstr" "reflect" "runtime" @@ -66,10 +65,9 @@ func init() { if false { // reference the types, but skip this branch at build/run time var v0 pkg2_v1.LabelSelector var v1 pkg3_types.UID - var v2 pkg4_v1.DeleteOptions - var v3 pkg1_intstr.IntOrString - var v4 time.Time - _, _, _, _, _ = v0, v1, v2, v3, v4 + var v2 pkg1_intstr.IntOrString + var v3 time.Time + _, _, _, _ = v0, v1, v2, v3 } } @@ -1680,7 +1678,13 @@ func (x *Eviction) CodecEncodeSelf(e *codec1978.Encoder) { if x.DeleteOptions == nil { r.EncodeNil() } else { - x.DeleteOptions.CodecEncodeSelf(e) + yym15 := z.EncBinary() + _ = yym15 + if false { + } else if z.HasExtensions() && z.EncExt(x.DeleteOptions) { + } else { + z.EncFallback(x.DeleteOptions) + } } } else { r.EncodeNil() @@ -1693,7 +1697,13 @@ func (x *Eviction) CodecEncodeSelf(e *codec1978.Encoder) { if x.DeleteOptions == nil { r.EncodeNil() } else { - x.DeleteOptions.CodecEncodeSelf(e) + yym16 := z.EncBinary() + _ = yym16 + if false { + } else if z.HasExtensions() && z.EncExt(x.DeleteOptions) { + } else { + z.EncFallback(x.DeleteOptions) + } } } } @@ -1802,9 +1812,15 @@ func (x *Eviction) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) { } } else { if x.DeleteOptions == nil { - x.DeleteOptions = new(pkg4_v1.DeleteOptions) + x.DeleteOptions = new(pkg2_v1.DeleteOptions) + } + yym11 := z.DecBinary() + _ = yym11 + if false { + } else if z.HasExtensions() && z.DecExt(x.DeleteOptions) { + } else { + z.DecFallback(x.DeleteOptions, false) } - x.DeleteOptions.CodecDecodeSelf(d) } default: z.DecStructFieldNotFound(-1, yys3) @@ -1817,16 +1833,16 @@ func (x *Eviction) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { var h codecSelfer1234 z, r := codec1978.GenHelperDecoder(d) _, _, _ = h, z, r - var yyj11 int - var yyb11 bool - var yyhl11 bool = l >= 0 - yyj11++ - if yyhl11 { - yyb11 = yyj11 > l + var yyj12 int + var yyb12 bool + var yyhl12 bool = l >= 0 + yyj12++ + if yyhl12 { + yyb12 = yyj12 > l } else { - yyb11 = r.CheckBreak() + yyb12 = r.CheckBreak() } - if yyb11 { + if yyb12 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -1834,21 +1850,21 @@ func (x *Eviction) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { if r.TryDecodeAsNil() { x.Kind = "" } else { - yyv12 := &x.Kind - yym13 := z.DecBinary() - _ = yym13 + yyv13 := &x.Kind + yym14 := z.DecBinary() + _ = yym14 if false { } else { - *((*string)(yyv12)) = r.DecodeString() + *((*string)(yyv13)) = r.DecodeString() } } - yyj11++ - if yyhl11 { - yyb11 = yyj11 > l + yyj12++ + if yyhl12 { + yyb12 = yyj12 > l } else { - yyb11 = r.CheckBreak() + yyb12 = r.CheckBreak() } - if yyb11 { + if yyb12 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -1856,21 +1872,21 @@ func (x *Eviction) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { if r.TryDecodeAsNil() { x.APIVersion = "" } else { - yyv14 := &x.APIVersion - yym15 := z.DecBinary() - _ = yym15 + yyv15 := &x.APIVersion + yym16 := z.DecBinary() + _ = yym16 if false { } else { - *((*string)(yyv14)) = r.DecodeString() + *((*string)(yyv15)) = r.DecodeString() } } - yyj11++ - if yyhl11 { - yyb11 = yyj11 > l + yyj12++ + if yyhl12 { + yyb12 = yyj12 > l } else { - yyb11 = r.CheckBreak() + yyb12 = r.CheckBreak() } - if yyb11 { + if yyb12 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -1878,22 +1894,22 @@ func (x *Eviction) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { if r.TryDecodeAsNil() { x.ObjectMeta = pkg2_v1.ObjectMeta{} } else { - yyv16 := &x.ObjectMeta - yym17 := z.DecBinary() - _ = yym17 + yyv17 := &x.ObjectMeta + yym18 := z.DecBinary() + _ = yym18 if false { - } else if z.HasExtensions() && z.DecExt(yyv16) { + } else if z.HasExtensions() && z.DecExt(yyv17) { } else { - z.DecFallback(yyv16, false) + z.DecFallback(yyv17, false) } } - yyj11++ - if yyhl11 { - yyb11 = yyj11 > l + yyj12++ + if yyhl12 { + yyb12 = yyj12 > l } else { - yyb11 = r.CheckBreak() + yyb12 = r.CheckBreak() } - if yyb11 { + if yyb12 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -1904,22 +1920,28 @@ func (x *Eviction) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { } } else { if x.DeleteOptions == nil { - x.DeleteOptions = new(pkg4_v1.DeleteOptions) + x.DeleteOptions = new(pkg2_v1.DeleteOptions) + } + yym20 := z.DecBinary() + _ = yym20 + if false { + } else if z.HasExtensions() && z.DecExt(x.DeleteOptions) { + } else { + z.DecFallback(x.DeleteOptions, false) } - x.DeleteOptions.CodecDecodeSelf(d) } for { - yyj11++ - if yyhl11 { - yyb11 = yyj11 > l + yyj12++ + if yyhl12 { + yyb12 = yyj12 > l } else { - yyb11 = r.CheckBreak() + yyb12 = r.CheckBreak() } - if yyb11 { + if yyb12 { break } z.DecSendContainerState(codecSelfer_containerArrayElem1234) - z.DecStructFieldNotFound(yyj11-1, "") + z.DecStructFieldNotFound(yyj12-1, "") } z.DecSendContainerState(codecSelfer_containerArrayEnd1234) } diff --git a/pkg/apis/policy/v1beta1/types.go b/pkg/apis/policy/v1beta1/types.go index 0ec6b94c..95b4f306 100644 --- a/pkg/apis/policy/v1beta1/types.go +++ b/pkg/apis/policy/v1beta1/types.go @@ -18,7 +18,6 @@ package v1beta1 import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/pkg/api/v1" "k8s.io/client-go/pkg/util/intstr" ) @@ -102,5 +101,5 @@ type Eviction struct { metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` // DeleteOptions may be provided - DeleteOptions *v1.DeleteOptions `json:"deleteOptions,omitempty" protobuf:"bytes,2,opt,name=deleteOptions"` + DeleteOptions *metav1.DeleteOptions `json:"deleteOptions,omitempty" protobuf:"bytes,2,opt,name=deleteOptions"` } diff --git a/pkg/apis/policy/v1beta1/zz_generated.conversion.go b/pkg/apis/policy/v1beta1/zz_generated.conversion.go index 47facf79..cb4cbb6d 100644 --- a/pkg/apis/policy/v1beta1/zz_generated.conversion.go +++ b/pkg/apis/policy/v1beta1/zz_generated.conversion.go @@ -21,11 +21,9 @@ limitations under the License. package v1beta1 import ( - meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" conversion "k8s.io/apimachinery/pkg/conversion" runtime "k8s.io/apimachinery/pkg/runtime" - api "k8s.io/client-go/pkg/api" - v1 "k8s.io/client-go/pkg/api/v1" policy "k8s.io/client-go/pkg/apis/policy" unsafe "unsafe" ) @@ -53,7 +51,7 @@ func RegisterConversions(scheme *runtime.Scheme) error { func autoConvert_v1beta1_Eviction_To_policy_Eviction(in *Eviction, out *policy.Eviction, s conversion.Scope) error { out.ObjectMeta = in.ObjectMeta - out.DeleteOptions = (*api.DeleteOptions)(unsafe.Pointer(in.DeleteOptions)) + out.DeleteOptions = (*v1.DeleteOptions)(unsafe.Pointer(in.DeleteOptions)) return nil } @@ -123,7 +121,7 @@ func Convert_policy_PodDisruptionBudgetList_To_v1beta1_PodDisruptionBudgetList(i func autoConvert_v1beta1_PodDisruptionBudgetSpec_To_policy_PodDisruptionBudgetSpec(in *PodDisruptionBudgetSpec, out *policy.PodDisruptionBudgetSpec, s conversion.Scope) error { out.MinAvailable = in.MinAvailable - out.Selector = (*meta_v1.LabelSelector)(unsafe.Pointer(in.Selector)) + out.Selector = (*v1.LabelSelector)(unsafe.Pointer(in.Selector)) return nil } @@ -133,7 +131,7 @@ func Convert_v1beta1_PodDisruptionBudgetSpec_To_policy_PodDisruptionBudgetSpec(i func autoConvert_policy_PodDisruptionBudgetSpec_To_v1beta1_PodDisruptionBudgetSpec(in *policy.PodDisruptionBudgetSpec, out *PodDisruptionBudgetSpec, s conversion.Scope) error { out.MinAvailable = in.MinAvailable - out.Selector = (*meta_v1.LabelSelector)(unsafe.Pointer(in.Selector)) + out.Selector = (*v1.LabelSelector)(unsafe.Pointer(in.Selector)) return nil } @@ -143,7 +141,7 @@ func Convert_policy_PodDisruptionBudgetSpec_To_v1beta1_PodDisruptionBudgetSpec(i func autoConvert_v1beta1_PodDisruptionBudgetStatus_To_policy_PodDisruptionBudgetStatus(in *PodDisruptionBudgetStatus, out *policy.PodDisruptionBudgetStatus, s conversion.Scope) error { out.ObservedGeneration = in.ObservedGeneration - out.DisruptedPods = *(*map[string]meta_v1.Time)(unsafe.Pointer(&in.DisruptedPods)) + out.DisruptedPods = *(*map[string]v1.Time)(unsafe.Pointer(&in.DisruptedPods)) out.PodDisruptionsAllowed = in.PodDisruptionsAllowed out.CurrentHealthy = in.CurrentHealthy out.DesiredHealthy = in.DesiredHealthy @@ -157,7 +155,7 @@ func Convert_v1beta1_PodDisruptionBudgetStatus_To_policy_PodDisruptionBudgetStat func autoConvert_policy_PodDisruptionBudgetStatus_To_v1beta1_PodDisruptionBudgetStatus(in *policy.PodDisruptionBudgetStatus, out *PodDisruptionBudgetStatus, s conversion.Scope) error { out.ObservedGeneration = in.ObservedGeneration - out.DisruptedPods = *(*map[string]meta_v1.Time)(unsafe.Pointer(&in.DisruptedPods)) + out.DisruptedPods = *(*map[string]v1.Time)(unsafe.Pointer(&in.DisruptedPods)) out.PodDisruptionsAllowed = in.PodDisruptionsAllowed out.CurrentHealthy = in.CurrentHealthy out.DesiredHealthy = in.DesiredHealthy diff --git a/pkg/apis/policy/v1beta1/zz_generated.deepcopy.go b/pkg/apis/policy/v1beta1/zz_generated.deepcopy.go index 99b5378f..395e6689 100644 --- a/pkg/apis/policy/v1beta1/zz_generated.deepcopy.go +++ b/pkg/apis/policy/v1beta1/zz_generated.deepcopy.go @@ -24,7 +24,6 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" conversion "k8s.io/apimachinery/pkg/conversion" runtime "k8s.io/apimachinery/pkg/runtime" - api_v1 "k8s.io/client-go/pkg/api/v1" reflect "reflect" ) @@ -56,9 +55,10 @@ func DeepCopy_v1beta1_Eviction(in interface{}, out interface{}, c *conversion.Cl } if in.DeleteOptions != nil { in, out := &in.DeleteOptions, &out.DeleteOptions - *out = new(api_v1.DeleteOptions) - if err := api_v1.DeepCopy_v1_DeleteOptions(*in, *out, c); err != nil { + if newVal, err := c.DeepCopy(*in); err != nil { return err + } else { + *out = newVal.(*v1.DeleteOptions) } } return nil diff --git a/pkg/apis/policy/zz_generated.deepcopy.go b/pkg/apis/policy/zz_generated.deepcopy.go index c4dd5833..298ec5fd 100644 --- a/pkg/apis/policy/zz_generated.deepcopy.go +++ b/pkg/apis/policy/zz_generated.deepcopy.go @@ -24,7 +24,6 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" conversion "k8s.io/apimachinery/pkg/conversion" runtime "k8s.io/apimachinery/pkg/runtime" - api "k8s.io/client-go/pkg/api" reflect "reflect" ) @@ -56,9 +55,10 @@ func DeepCopy_policy_Eviction(in interface{}, out interface{}, c *conversion.Clo } if in.DeleteOptions != nil { in, out := &in.DeleteOptions, &out.DeleteOptions - *out = new(api.DeleteOptions) - if err := api.DeepCopy_api_DeleteOptions(*in, *out, c); err != nil { + if newVal, err := c.DeepCopy(*in); err != nil { return err + } else { + *out = newVal.(*v1.DeleteOptions) } } return nil diff --git a/pkg/apis/rbac/register.go b/pkg/apis/rbac/register.go index 8642b9d7..a7403d34 100644 --- a/pkg/apis/rbac/register.go +++ b/pkg/apis/rbac/register.go @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api" ) const GroupName = "rbac.authorization.k8s.io" @@ -55,10 +54,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { &ClusterRoleBinding{}, &ClusterRoleBindingList{}, &ClusterRoleList{}, - - &api.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, ) metav1.AddToGroupVersion(scheme, SchemeGroupVersion) return nil diff --git a/pkg/apis/rbac/v1alpha1/register.go b/pkg/apis/rbac/v1alpha1/register.go index 1395592f..3977e99c 100644 --- a/pkg/apis/rbac/v1alpha1/register.go +++ b/pkg/apis/rbac/v1alpha1/register.go @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api/v1" ) const GroupName = "rbac.authorization.k8s.io" @@ -50,10 +49,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { &ClusterRoleBinding{}, &ClusterRoleBindingList{}, &ClusterRoleList{}, - - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, ) metav1.AddToGroupVersion(scheme, SchemeGroupVersion) return nil diff --git a/pkg/apis/rbac/v1beta1/register.go b/pkg/apis/rbac/v1beta1/register.go index bc3a694c..cab2e77e 100644 --- a/pkg/apis/rbac/v1beta1/register.go +++ b/pkg/apis/rbac/v1beta1/register.go @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api/v1" ) const GroupName = "rbac.authorization.k8s.io" @@ -50,10 +49,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { &ClusterRoleBinding{}, &ClusterRoleBindingList{}, &ClusterRoleList{}, - - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, ) metav1.AddToGroupVersion(scheme, SchemeGroupVersion) return nil diff --git a/pkg/apis/storage/register.go b/pkg/apis/storage/register.go index 65171364..aaa619b4 100644 --- a/pkg/apis/storage/register.go +++ b/pkg/apis/storage/register.go @@ -17,10 +17,8 @@ limitations under the License. package storage import ( - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api" ) // GroupName is the group name use in this package @@ -46,10 +44,6 @@ var ( func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, - &api.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, - &StorageClass{}, &StorageClassList{}, ) diff --git a/pkg/apis/storage/v1beta1/register.go b/pkg/apis/storage/v1beta1/register.go index 6e87105c..70087f37 100644 --- a/pkg/apis/storage/v1beta1/register.go +++ b/pkg/apis/storage/v1beta1/register.go @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api/v1" ) // GroupName is the group name use in this package @@ -42,10 +41,6 @@ var ( // Adds the list of known types to api.Scheme. func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, - &StorageClass{}, &StorageClassList{}, ) diff --git a/pkg/federation/apis/federation/register.go b/pkg/federation/apis/federation/register.go index d8122aff..78f54810 100644 --- a/pkg/federation/apis/federation/register.go +++ b/pkg/federation/apis/federation/register.go @@ -19,7 +19,6 @@ package federation import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api" ) // GroupName is the group name use in this package @@ -47,7 +46,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, &Cluster{}, &ClusterList{}, - &api.DeleteOptions{}, ) return nil } diff --git a/pkg/federation/apis/federation/v1beta1/register.go b/pkg/federation/apis/federation/v1beta1/register.go index bcad5cc5..0a772ff1 100644 --- a/pkg/federation/apis/federation/v1beta1/register.go +++ b/pkg/federation/apis/federation/v1beta1/register.go @@ -20,7 +20,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/pkg/api/v1" ) // GroupName is the group name use in this package @@ -38,9 +37,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, &Cluster{}, &ClusterList{}, - &v1.DeleteOptions{}, - &metav1.ExportOptions{}, - &metav1.GetOptions{}, ) metav1.AddToGroupVersion(scheme, SchemeGroupVersion) return nil diff --git a/pkg/util/config/config.go b/pkg/util/config/config.go deleted file mode 100644 index c789daa2..00000000 --- a/pkg/util/config/config.go +++ /dev/null @@ -1,140 +0,0 @@ -/* -Copyright 2014 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 config - -import ( - "sync" - - "k8s.io/apimachinery/pkg/util/wait" -) - -type Merger interface { - // Invoked when a change from a source is received. May also function as an incremental - // merger if you wish to consume changes incrementally. Must be reentrant when more than - // one source is defined. - Merge(source string, update interface{}) error -} - -// MergeFunc implements the Merger interface -type MergeFunc func(source string, update interface{}) error - -func (f MergeFunc) Merge(source string, update interface{}) error { - return f(source, update) -} - -// Mux is a class for merging configuration from multiple sources. Changes are -// pushed via channels and sent to the merge function. -type Mux struct { - // Invoked when an update is sent to a source. - merger Merger - - // Sources and their lock. - sourceLock sync.RWMutex - // Maps source names to channels - sources map[string]chan interface{} -} - -// NewMux creates a new mux that can merge changes from multiple sources. -func NewMux(merger Merger) *Mux { - mux := &Mux{ - sources: make(map[string]chan interface{}), - merger: merger, - } - return mux -} - -// Channel returns a channel where a configuration source -// can send updates of new configurations. Multiple calls with the same -// source will return the same channel. This allows change and state based sources -// to use the same channel. Different source names however will be treated as a -// union. -func (m *Mux) Channel(source string) chan interface{} { - if len(source) == 0 { - panic("Channel given an empty name") - } - m.sourceLock.Lock() - defer m.sourceLock.Unlock() - channel, exists := m.sources[source] - if exists { - return channel - } - newChannel := make(chan interface{}) - m.sources[source] = newChannel - go wait.Until(func() { m.listen(source, newChannel) }, 0, wait.NeverStop) - return newChannel -} - -func (m *Mux) listen(source string, listenChannel <-chan interface{}) { - for update := range listenChannel { - m.merger.Merge(source, update) - } -} - -// Accessor is an interface for retrieving the current merge state. -type Accessor interface { - // MergedState returns a representation of the current merge state. - // Must be reentrant when more than one source is defined. - MergedState() interface{} -} - -// AccessorFunc implements the Accessor interface. -type AccessorFunc func() interface{} - -func (f AccessorFunc) MergedState() interface{} { - return f() -} - -type Listener interface { - // OnUpdate is invoked when a change is made to an object. - OnUpdate(instance interface{}) -} - -// ListenerFunc receives a representation of the change or object. -type ListenerFunc func(instance interface{}) - -func (f ListenerFunc) OnUpdate(instance interface{}) { - f(instance) -} - -type Broadcaster struct { - // Listeners for changes and their lock. - listenerLock sync.RWMutex - listeners []Listener -} - -// NewBroadcaster registers a set of listeners that support the Listener interface -// and notifies them all on changes. -func NewBroadcaster() *Broadcaster { - return &Broadcaster{} -} - -// Add registers listener to receive updates of changes. -func (b *Broadcaster) Add(listener Listener) { - b.listenerLock.Lock() - defer b.listenerLock.Unlock() - b.listeners = append(b.listeners, listener) -} - -// Notify notifies all listeners. -func (b *Broadcaster) Notify(instance interface{}) { - b.listenerLock.RLock() - listeners := b.listeners - b.listenerLock.RUnlock() - for _, listener := range listeners { - listener.OnUpdate(instance) - } -} diff --git a/pkg/util/config/configuration_map.go b/pkg/util/config/configuration_map.go deleted file mode 100644 index 0acbde56..00000000 --- a/pkg/util/config/configuration_map.go +++ /dev/null @@ -1,53 +0,0 @@ -/* -Copyright 2014 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 config - -import ( - "fmt" - "sort" - "strings" -) - -type ConfigurationMap map[string]string - -func (m *ConfigurationMap) String() string { - pairs := []string{} - for k, v := range *m { - pairs = append(pairs, fmt.Sprintf("%s=%s", k, v)) - } - sort.Strings(pairs) - return strings.Join(pairs, ",") -} - -func (m *ConfigurationMap) Set(value string) error { - for _, s := range strings.Split(value, ",") { - if len(s) == 0 { - continue - } - arr := strings.SplitN(s, "=", 2) - if len(arr) == 2 { - (*m)[strings.TrimSpace(arr[0])] = strings.TrimSpace(arr[1]) - } else { - (*m)[strings.TrimSpace(arr[0])] = "" - } - } - return nil -} - -func (*ConfigurationMap) Type() string { - return "mapStringString" -} diff --git a/pkg/util/config/doc.go b/pkg/util/config/doc.go deleted file mode 100644 index 5dbb37d4..00000000 --- a/pkg/util/config/doc.go +++ /dev/null @@ -1,20 +0,0 @@ -/* -Copyright 2014 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 config provides utility objects for decoupling sources of configuration and the -// actual configuration state. Consumers must implement the Merger interface to unify -// the sources of change into an object. -package config diff --git a/pkg/util/config/feature_gate.go b/pkg/util/config/feature_gate.go deleted file mode 100644 index ea01833f..00000000 --- a/pkg/util/config/feature_gate.go +++ /dev/null @@ -1,260 +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 config - -import ( - "fmt" - "sort" - "strconv" - "strings" - - "github.com/golang/glog" - "github.com/spf13/pflag" -) - -const ( - flagName = "feature-gates" - - // All known feature keys - // To add a new feature, define a key for it below and add - // a featureSpec entry to knownFeatures. - - // allAlphaGate is a global toggle for alpha features. Per-feature key - // values override the default set by allAlphaGate. Examples: - // AllAlpha=false,NewFeature=true will result in newFeature=true - // AllAlpha=true,NewFeature=false will result in newFeature=false - allAlphaGate = "AllAlpha" - externalTrafficLocalOnly = "AllowExtTrafficLocalEndpoints" - appArmor = "AppArmor" - dynamicKubeletConfig = "DynamicKubeletConfig" - dynamicVolumeProvisioning = "DynamicVolumeProvisioning" - streamingProxyRedirects = "StreamingProxyRedirects" - - // experimentalHostUserNamespaceDefaulting Default userns=host for containers - // that are using other host namespaces, host mounts, the pod contains a privileged container, - // or specific non-namespaced capabilities - // (MKNOD, SYS_MODULE, SYS_TIME). This should only be enabled if user namespace remapping is enabled - // in the docker daemon. - experimentalHostUserNamespaceDefaultingGate = "ExperimentalHostUserNamespaceDefaulting" -) - -var ( - // Default values for recorded features. Every new feature gate should be - // represented here. - knownFeatures = map[string]featureSpec{ - allAlphaGate: {false, alpha}, - externalTrafficLocalOnly: {true, beta}, - appArmor: {true, beta}, - dynamicKubeletConfig: {false, alpha}, - dynamicVolumeProvisioning: {true, alpha}, - streamingProxyRedirects: {true, beta}, - experimentalHostUserNamespaceDefaultingGate: {false, alpha}, - } - - // Special handling for a few gates. - specialFeatures = map[string]func(f *featureGate, val bool){ - allAlphaGate: setUnsetAlphaGates, - } - - // DefaultFeatureGate is a shared global FeatureGate. - DefaultFeatureGate = &featureGate{ - known: knownFeatures, - special: specialFeatures, - } -) - -type featureSpec struct { - enabled bool - prerelease prerelease -} - -type prerelease string - -const ( - // Values for prerelease. - alpha = prerelease("ALPHA") - beta = prerelease("BETA") - ga = prerelease("") -) - -// FeatureGate parses and stores flag gates for known features from -// a string like feature1=true,feature2=false,... -type FeatureGate interface { - AddFlag(fs *pflag.FlagSet) - Set(value string) error - KnownFeatures() []string - - // Every feature gate should add method here following this template: - // - // // owner: @username - // // alpha: v1.4 - // MyFeature() bool - - // owner: @timstclair - // beta: v1.4 - AppArmor() bool - - // owner: @girishkalele - // alpha: v1.4 - ExternalTrafficLocalOnly() bool - - // owner: @saad-ali - // alpha: v1.3 - DynamicVolumeProvisioning() bool - - // owner: @mtaufen - // alpha: v1.4 - DynamicKubeletConfig() bool - - // owner: timstclair - // alpha: v1.5 - StreamingProxyRedirects() bool - - // owner: @pweil- - // alpha: v1.5 - ExperimentalHostUserNamespaceDefaulting() bool -} - -// featureGate implements FeatureGate as well as pflag.Value for flag parsing. -type featureGate struct { - known map[string]featureSpec - special map[string]func(*featureGate, bool) - enabled map[string]bool -} - -func setUnsetAlphaGates(f *featureGate, val bool) { - for k, v := range f.known { - if v.prerelease == alpha { - if _, found := f.enabled[k]; !found { - f.enabled[k] = val - } - } - } -} - -// Set, String, and Type implement pflag.Value - -// Set Parses a string of the form // "key1=value1,key2=value2,..." into a -// map[string]bool of known keys or returns an error. -func (f *featureGate) Set(value string) error { - f.enabled = make(map[string]bool) - for _, s := range strings.Split(value, ",") { - if len(s) == 0 { - continue - } - arr := strings.SplitN(s, "=", 2) - k := strings.TrimSpace(arr[0]) - _, ok := f.known[k] - if !ok { - return fmt.Errorf("unrecognized key: %s", k) - } - if len(arr) != 2 { - return fmt.Errorf("missing bool value for %s", k) - } - v := strings.TrimSpace(arr[1]) - boolValue, err := strconv.ParseBool(v) - if err != nil { - return fmt.Errorf("invalid value of %s: %s, err: %v", k, v, err) - } - f.enabled[k] = boolValue - - // Handle "special" features like "all alpha gates" - if fn, found := f.special[k]; found { - fn(f, boolValue) - } - } - - glog.Infof("feature gates: %v", f.enabled) - return nil -} - -func (f *featureGate) String() string { - pairs := []string{} - for k, v := range f.enabled { - pairs = append(pairs, fmt.Sprintf("%s=%t", k, v)) - } - sort.Strings(pairs) - return strings.Join(pairs, ",") -} - -func (f *featureGate) Type() string { - return "mapStringBool" -} - -// ExternalTrafficLocalOnly returns value for AllowExtTrafficLocalEndpoints -func (f *featureGate) ExternalTrafficLocalOnly() bool { - return f.lookup(externalTrafficLocalOnly) -} - -// AppArmor returns the value for the AppArmor feature gate. -func (f *featureGate) AppArmor() bool { - return f.lookup(appArmor) -} - -// DynamicKubeletConfig returns value for dynamicKubeletConfig -func (f *featureGate) DynamicKubeletConfig() bool { - return f.lookup(dynamicKubeletConfig) -} - -// DynamicVolumeProvisioning returns value for dynamicVolumeProvisioning -func (f *featureGate) DynamicVolumeProvisioning() bool { - return f.lookup(dynamicVolumeProvisioning) -} - -// StreamingProxyRedirects controls whether the apiserver should intercept (and follow) -// redirects from the backend (Kubelet) for streaming requests (exec/attach/port-forward). -func (f *featureGate) StreamingProxyRedirects() bool { - return f.lookup(streamingProxyRedirects) -} - -// ExperimentalHostUserNamespaceDefaulting returns value for experimentalHostUserNamespaceDefaulting -func (f *featureGate) ExperimentalHostUserNamespaceDefaulting() bool { - return f.lookup(experimentalHostUserNamespaceDefaultingGate) -} - -func (f *featureGate) lookup(key string) bool { - defaultValue := f.known[key].enabled - if f.enabled != nil { - if v, ok := f.enabled[key]; ok { - return v - } - } - return defaultValue - -} - -// AddFlag adds a flag for setting global feature gates to the specified FlagSet. -func (f *featureGate) AddFlag(fs *pflag.FlagSet) { - known := f.KnownFeatures() - fs.Var(f, flagName, ""+ - "A set of key=value pairs that describe feature gates for alpha/experimental features. "+ - "Options are:\n"+strings.Join(known, "\n")) -} - -// Returns a string describing the FeatureGate's known features. -func (f *featureGate) KnownFeatures() []string { - var known []string - for k, v := range f.known { - pre := "" - if v.prerelease != ga { - pre = fmt.Sprintf("%s - ", v.prerelease) - } - known = append(known, fmt.Sprintf("%s=true|false (%sdefault=%t)", k, pre, v.enabled)) - } - sort.Strings(known) - return known -} diff --git a/pkg/util/config/namedcertkey_flag.go b/pkg/util/config/namedcertkey_flag.go deleted file mode 100644 index 39f20f68..00000000 --- a/pkg/util/config/namedcertkey_flag.go +++ /dev/null @@ -1,113 +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 config - -import ( - "errors" - "flag" - "strings" -) - -// NamedCertKey is a flag value parsing "certfile,keyfile" and "certfile,keyfile:name,name,name". -type NamedCertKey struct { - Names []string - CertFile, KeyFile string -} - -var _ flag.Value = &NamedCertKey{} - -func (nkc *NamedCertKey) String() string { - s := nkc.CertFile + "," + nkc.KeyFile - if len(nkc.Names) > 0 { - s = s + ":" + strings.Join(nkc.Names, ",") - } - return s -} - -func (nkc *NamedCertKey) Set(value string) error { - cs := strings.SplitN(value, ":", 2) - var keycert string - if len(cs) == 2 { - var names string - keycert, names = strings.TrimSpace(cs[0]), strings.TrimSpace(cs[1]) - if names == "" { - return errors.New("empty names list is not allowed") - } - nkc.Names = nil - for _, name := range strings.Split(names, ",") { - nkc.Names = append(nkc.Names, strings.TrimSpace(name)) - } - } else { - nkc.Names = nil - keycert = strings.TrimSpace(cs[0]) - } - cs = strings.Split(keycert, ",") - if len(cs) != 2 { - return errors.New("expected comma separated certificate and key file paths") - } - nkc.CertFile = strings.TrimSpace(cs[0]) - nkc.KeyFile = strings.TrimSpace(cs[1]) - return nil -} - -func (*NamedCertKey) Type() string { - return "namedCertKey" -} - -// NamedCertKeyArray is a flag value parsing NamedCertKeys, each passed with its own -// flag instance (in contrast to comma separated slices). -type NamedCertKeyArray struct { - value *[]NamedCertKey - changed bool -} - -var _ flag.Value = &NamedCertKey{} - -// NewNamedKeyCertArray creates a new NamedCertKeyArray with the internal value -// pointing to p. -func NewNamedCertKeyArray(p *[]NamedCertKey) *NamedCertKeyArray { - return &NamedCertKeyArray{ - value: p, - } -} - -func (a *NamedCertKeyArray) Set(val string) error { - nkc := NamedCertKey{} - err := nkc.Set(val) - if err != nil { - return err - } - if !a.changed { - *a.value = []NamedCertKey{nkc} - a.changed = true - } else { - *a.value = append(*a.value, nkc) - } - return nil -} - -func (a *NamedCertKeyArray) Type() string { - return "namedCertKey" -} - -func (a *NamedCertKeyArray) String() string { - nkcs := make([]string, 0, len(*a.value)) - for i := range *a.value { - nkcs = append(nkcs, (*a.value)[i].String()) - } - return "[" + strings.Join(nkcs, ";") + "]" -} diff --git a/pkg/util/labels/.readonly b/pkg/util/labels/.readonly new file mode 100644 index 00000000..e69de29b diff --git a/rest/fake/fake.go b/rest/fake/fake.go index 8903a458..a475b831 100644 --- a/rest/fake/fake.go +++ b/rest/fake/fake.go @@ -22,11 +22,10 @@ import ( "net/http" "net/url" + "k8s.io/apimachinery/pkg/apimachinery/registered" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/types" - "k8s.io/client-go/pkg/api" - "k8s.io/client-go/pkg/api/testapi" restclient "k8s.io/client-go/rest" "k8s.io/client-go/util/flowcontrol" ) @@ -48,6 +47,7 @@ type RESTClient struct { Client *http.Client NegotiatedSerializer runtime.NegotiatedSerializer GroupName string + APIRegistry *registered.APIRegistrationManager Req *http.Request Resp *http.Response @@ -79,7 +79,7 @@ func (c *RESTClient) Verb(verb string) *restclient.Request { } func (c *RESTClient) APIVersion() schema.GroupVersion { - return *(testapi.Default.GroupVersion()) + return c.APIRegistry.GroupOrDie("").GroupVersion } func (c *RESTClient) GetRateLimiter() flowcontrol.RateLimiter { @@ -88,24 +88,22 @@ func (c *RESTClient) GetRateLimiter() flowcontrol.RateLimiter { func (c *RESTClient) request(verb string) *restclient.Request { config := restclient.ContentConfig{ - ContentType: runtime.ContentTypeJSON, - GroupVersion: &api.Registry.GroupOrDie(api.GroupName).GroupVersion, + ContentType: runtime.ContentTypeJSON, + // TODO this was hardcoded before, but it doesn't look right + GroupVersion: &c.APIRegistry.GroupOrDie("").GroupVersion, NegotiatedSerializer: c.NegotiatedSerializer, } - groupName := api.GroupName - if c.GroupName != "" { - groupName = c.GroupName - } ns := c.NegotiatedSerializer info, _ := runtime.SerializerInfoForMediaType(ns.SupportedMediaTypes(), runtime.ContentTypeJSON) internalVersion := schema.GroupVersion{ - Group: api.Registry.GroupOrDie(groupName).GroupVersion.Group, + Group: c.APIRegistry.GroupOrDie(c.GroupName).GroupVersion.Group, Version: runtime.APIVersionInternal, } internalVersion.Version = runtime.APIVersionInternal serializers := restclient.Serializers{ - Encoder: ns.EncoderForVersion(info.Serializer, api.Registry.GroupOrDie(api.GroupName).GroupVersion), + // TODO this was hardcoded before, but it doesn't look right + Encoder: ns.EncoderForVersion(info.Serializer, c.APIRegistry.GroupOrDie("").GroupVersion), Decoder: ns.DecoderToVersion(info.Serializer, internalVersion), } if info.StreamSerializer != nil { diff --git a/tools/cache/listwatch_test.go b/tools/cache/listwatch_test.go new file mode 100644 index 00000000..e174dd3c --- /dev/null +++ b/tools/cache/listwatch_test.go @@ -0,0 +1,228 @@ +/* +Copyright 2015 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 cache_test + +import ( + "net/http/httptest" + "net/url" + "testing" + "time" + + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/fields" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" + restclient "k8s.io/client-go/rest" + . "k8s.io/client-go/tools/cache" + utiltesting "k8s.io/client-go/util/testing" + "k8s.io/kubernetes/pkg/api" + "k8s.io/kubernetes/pkg/api/testapi" + "k8s.io/kubernetes/pkg/api/v1" + clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" +) + +func parseSelectorOrDie(s string) fields.Selector { + selector, err := fields.ParseSelector(s) + if err != nil { + panic(err) + } + return selector +} + +// buildQueryValues is a convenience function for knowing if a namespace should be in a query param or not +func buildQueryValues(query url.Values) url.Values { + v := url.Values{} + if query != nil { + for key, values := range query { + for _, value := range values { + v.Add(key, value) + } + } + } + return v +} + +func buildLocation(resourcePath string, query url.Values) string { + return resourcePath + "?" + query.Encode() +} + +func TestListWatchesCanList(t *testing.T) { + fieldSelectorQueryParamName := metav1.FieldSelectorQueryParam(api.Registry.GroupOrDie(v1.GroupName).GroupVersion.String()) + table := []struct { + location string + resource string + namespace string + fieldSelector fields.Selector + }{ + // Node + { + location: testapi.Default.ResourcePath("nodes", metav1.NamespaceAll, ""), + resource: "nodes", + namespace: metav1.NamespaceAll, + fieldSelector: parseSelectorOrDie(""), + }, + // pod with "assigned" field selector. + { + location: buildLocation( + testapi.Default.ResourcePath("pods", metav1.NamespaceAll, ""), + buildQueryValues(url.Values{fieldSelectorQueryParamName: []string{"spec.host="}})), + resource: "pods", + namespace: metav1.NamespaceAll, + fieldSelector: fields.Set{"spec.host": ""}.AsSelector(), + }, + // pod in namespace "foo" + { + location: buildLocation( + testapi.Default.ResourcePath("pods", "foo", ""), + buildQueryValues(url.Values{fieldSelectorQueryParamName: []string{"spec.host="}})), + resource: "pods", + namespace: "foo", + fieldSelector: fields.Set{"spec.host": ""}.AsSelector(), + }, + } + for _, item := range table { + handler := utiltesting.FakeHandler{ + StatusCode: 500, + ResponseBody: "", + T: t, + } + server := httptest.NewServer(&handler) + defer server.Close() + client := clientset.NewForConfigOrDie(&restclient.Config{Host: server.URL, ContentConfig: restclient.ContentConfig{GroupVersion: &api.Registry.GroupOrDie(v1.GroupName).GroupVersion}}) + lw := NewListWatchFromClient(client.Core().RESTClient(), item.resource, item.namespace, item.fieldSelector) + // This test merely tests that the correct request is made. + lw.List(metav1.ListOptions{}) + handler.ValidateRequest(t, item.location, "GET", nil) + } +} + +func TestListWatchesCanWatch(t *testing.T) { + fieldSelectorQueryParamName := metav1.FieldSelectorQueryParam(api.Registry.GroupOrDie(v1.GroupName).GroupVersion.String()) + table := []struct { + rv string + location string + resource string + namespace string + fieldSelector fields.Selector + }{ + // Node + { + location: buildLocation( + testapi.Default.ResourcePathWithPrefix("watch", "nodes", metav1.NamespaceAll, ""), + buildQueryValues(url.Values{})), + rv: "", + resource: "nodes", + namespace: metav1.NamespaceAll, + fieldSelector: parseSelectorOrDie(""), + }, + { + location: buildLocation( + testapi.Default.ResourcePathWithPrefix("watch", "nodes", metav1.NamespaceAll, ""), + buildQueryValues(url.Values{"resourceVersion": []string{"42"}})), + rv: "42", + resource: "nodes", + namespace: metav1.NamespaceAll, + fieldSelector: parseSelectorOrDie(""), + }, + // pod with "assigned" field selector. + { + location: buildLocation( + testapi.Default.ResourcePathWithPrefix("watch", "pods", metav1.NamespaceAll, ""), + buildQueryValues(url.Values{fieldSelectorQueryParamName: []string{"spec.host="}, "resourceVersion": []string{"0"}})), + rv: "0", + resource: "pods", + namespace: metav1.NamespaceAll, + fieldSelector: fields.Set{"spec.host": ""}.AsSelector(), + }, + // pod with namespace foo and assigned field selector + { + location: buildLocation( + testapi.Default.ResourcePathWithPrefix("watch", "pods", "foo", ""), + buildQueryValues(url.Values{fieldSelectorQueryParamName: []string{"spec.host="}, "resourceVersion": []string{"0"}})), + rv: "0", + resource: "pods", + namespace: "foo", + fieldSelector: fields.Set{"spec.host": ""}.AsSelector(), + }, + } + + for _, item := range table { + handler := utiltesting.FakeHandler{ + StatusCode: 500, + ResponseBody: "", + T: t, + } + server := httptest.NewServer(&handler) + defer server.Close() + client := clientset.NewForConfigOrDie(&restclient.Config{Host: server.URL, ContentConfig: restclient.ContentConfig{GroupVersion: &api.Registry.GroupOrDie(v1.GroupName).GroupVersion}}) + lw := NewListWatchFromClient(client.Core().RESTClient(), item.resource, item.namespace, item.fieldSelector) + // This test merely tests that the correct request is made. + lw.Watch(metav1.ListOptions{ResourceVersion: item.rv}) + handler.ValidateRequest(t, item.location, "GET", nil) + } +} + +type lw struct { + list runtime.Object + watch watch.Interface +} + +func (w lw) List(options metav1.ListOptions) (runtime.Object, error) { + return w.list, nil +} + +func (w lw) Watch(options metav1.ListOptions) (watch.Interface, error) { + return w.watch, nil +} + +func TestListWatchUntil(t *testing.T) { + fw := watch.NewFake() + go func() { + var obj *v1.Pod + fw.Modify(obj) + }() + listwatch := lw{ + list: &v1.PodList{Items: []v1.Pod{{}}}, + watch: fw, + } + + conditions := []watch.ConditionFunc{ + func(event watch.Event) (bool, error) { + t.Logf("got %#v", event) + return event.Type == watch.Added, nil + }, + func(event watch.Event) (bool, error) { + t.Logf("got %#v", event) + return event.Type == watch.Modified, nil + }, + } + + timeout := 10 * time.Second + lastEvent, err := ListWatchUntil(timeout, listwatch, conditions...) + if err != nil { + t.Fatalf("expected nil error, got %#v", err) + } + if lastEvent == nil { + t.Fatal("expected an event") + } + if lastEvent.Type != watch.Modified { + t.Fatalf("expected MODIFIED event type, got %v", lastEvent.Type) + } + if got, isPod := lastEvent.Object.(*v1.Pod); !isPod { + t.Fatalf("expected a pod event, got %#v", got) + } +} diff --git a/tools/cache/reflector.go b/tools/cache/reflector.go index 77565d00..b46ade6e 100644 --- a/tools/cache/reflector.go +++ b/tools/cache/reflector.go @@ -110,7 +110,7 @@ func NewNamedReflector(name string, lw ListerWatcher, expectedType interface{}, // internalPackages are packages that ignored when creating a default reflector name. These packages are in the common // call chains to NewReflector, so they'd be low entropy names for reflectors -var internalPackages = []string{"kubernetes/pkg/client/cache/", "/runtime/asm_"} +var internalPackages = []string{"client-go/tools/cache/", "/runtime/asm_"} // getDefaultReflectorName walks back through the call stack until we find a caller from outside of the ignoredPackages // it returns back a shortpath/filename:line to aid in identification of this reflector when it starts logging diff --git a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.pb.go b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.pb.go index 03ae8b15..dfc3eb39 100644 --- a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.pb.go +++ b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.pb.go @@ -30,6 +30,7 @@ limitations under the License. APIResource APIResourceList APIVersions + DeleteOptions Duration ExportOptions GetOptions @@ -45,6 +46,7 @@ limitations under the License. ListOptions ObjectMeta OwnerReference + Preconditions RootPaths ServerAddressByClientCIDR Status @@ -100,111 +102,119 @@ func (m *APIVersions) Reset() { *m = APIVersions{} } func (*APIVersions) ProtoMessage() {} func (*APIVersions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{4} } +func (m *DeleteOptions) Reset() { *m = DeleteOptions{} } +func (*DeleteOptions) ProtoMessage() {} +func (*DeleteOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{5} } + func (m *Duration) Reset() { *m = Duration{} } func (*Duration) ProtoMessage() {} -func (*Duration) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{5} } +func (*Duration) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{6} } func (m *ExportOptions) Reset() { *m = ExportOptions{} } func (*ExportOptions) ProtoMessage() {} -func (*ExportOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{6} } +func (*ExportOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{7} } func (m *GetOptions) Reset() { *m = GetOptions{} } func (*GetOptions) ProtoMessage() {} -func (*GetOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{7} } +func (*GetOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{8} } func (m *GroupKind) Reset() { *m = GroupKind{} } func (*GroupKind) ProtoMessage() {} -func (*GroupKind) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{8} } +func (*GroupKind) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{9} } func (m *GroupResource) Reset() { *m = GroupResource{} } func (*GroupResource) ProtoMessage() {} -func (*GroupResource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{9} } +func (*GroupResource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{10} } func (m *GroupVersion) Reset() { *m = GroupVersion{} } func (*GroupVersion) ProtoMessage() {} -func (*GroupVersion) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{10} } +func (*GroupVersion) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{11} } func (m *GroupVersionForDiscovery) Reset() { *m = GroupVersionForDiscovery{} } func (*GroupVersionForDiscovery) ProtoMessage() {} func (*GroupVersionForDiscovery) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{11} + return fileDescriptorGenerated, []int{12} } func (m *GroupVersionKind) Reset() { *m = GroupVersionKind{} } func (*GroupVersionKind) ProtoMessage() {} -func (*GroupVersionKind) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{12} } +func (*GroupVersionKind) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{13} } func (m *GroupVersionResource) Reset() { *m = GroupVersionResource{} } func (*GroupVersionResource) ProtoMessage() {} -func (*GroupVersionResource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{13} } +func (*GroupVersionResource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{14} } func (m *LabelSelector) Reset() { *m = LabelSelector{} } func (*LabelSelector) ProtoMessage() {} -func (*LabelSelector) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{14} } +func (*LabelSelector) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{15} } func (m *LabelSelectorRequirement) Reset() { *m = LabelSelectorRequirement{} } func (*LabelSelectorRequirement) ProtoMessage() {} func (*LabelSelectorRequirement) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{15} + return fileDescriptorGenerated, []int{16} } func (m *ListMeta) Reset() { *m = ListMeta{} } func (*ListMeta) ProtoMessage() {} -func (*ListMeta) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{16} } +func (*ListMeta) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{17} } func (m *ListOptions) Reset() { *m = ListOptions{} } func (*ListOptions) ProtoMessage() {} -func (*ListOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{17} } +func (*ListOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{18} } func (m *ObjectMeta) Reset() { *m = ObjectMeta{} } func (*ObjectMeta) ProtoMessage() {} -func (*ObjectMeta) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{18} } +func (*ObjectMeta) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{19} } func (m *OwnerReference) Reset() { *m = OwnerReference{} } func (*OwnerReference) ProtoMessage() {} -func (*OwnerReference) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{19} } +func (*OwnerReference) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{20} } + +func (m *Preconditions) Reset() { *m = Preconditions{} } +func (*Preconditions) ProtoMessage() {} +func (*Preconditions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{21} } func (m *RootPaths) Reset() { *m = RootPaths{} } func (*RootPaths) ProtoMessage() {} -func (*RootPaths) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{20} } +func (*RootPaths) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{22} } func (m *ServerAddressByClientCIDR) Reset() { *m = ServerAddressByClientCIDR{} } func (*ServerAddressByClientCIDR) ProtoMessage() {} func (*ServerAddressByClientCIDR) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{21} + return fileDescriptorGenerated, []int{23} } func (m *Status) Reset() { *m = Status{} } func (*Status) ProtoMessage() {} -func (*Status) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{22} } +func (*Status) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{24} } func (m *StatusCause) Reset() { *m = StatusCause{} } func (*StatusCause) ProtoMessage() {} -func (*StatusCause) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{23} } +func (*StatusCause) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{25} } func (m *StatusDetails) Reset() { *m = StatusDetails{} } func (*StatusDetails) ProtoMessage() {} -func (*StatusDetails) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{24} } +func (*StatusDetails) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{26} } func (m *Time) Reset() { *m = Time{} } func (*Time) ProtoMessage() {} -func (*Time) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{25} } +func (*Time) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{27} } func (m *Timestamp) Reset() { *m = Timestamp{} } func (*Timestamp) ProtoMessage() {} -func (*Timestamp) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{26} } +func (*Timestamp) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{28} } func (m *TypeMeta) Reset() { *m = TypeMeta{} } func (*TypeMeta) ProtoMessage() {} -func (*TypeMeta) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{27} } +func (*TypeMeta) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{29} } func (m *Verbs) Reset() { *m = Verbs{} } func (*Verbs) ProtoMessage() {} -func (*Verbs) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{28} } +func (*Verbs) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{30} } func (m *WatchEvent) Reset() { *m = WatchEvent{} } func (*WatchEvent) ProtoMessage() {} -func (*WatchEvent) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{29} } +func (*WatchEvent) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{31} } func init() { proto.RegisterType((*APIGroup)(nil), "k8s.io.apimachinery.pkg.apis.meta.v1.APIGroup") @@ -212,6 +222,7 @@ func init() { proto.RegisterType((*APIResource)(nil), "k8s.io.apimachinery.pkg.apis.meta.v1.APIResource") proto.RegisterType((*APIResourceList)(nil), "k8s.io.apimachinery.pkg.apis.meta.v1.APIResourceList") proto.RegisterType((*APIVersions)(nil), "k8s.io.apimachinery.pkg.apis.meta.v1.APIVersions") + proto.RegisterType((*DeleteOptions)(nil), "k8s.io.apimachinery.pkg.apis.meta.v1.DeleteOptions") proto.RegisterType((*Duration)(nil), "k8s.io.apimachinery.pkg.apis.meta.v1.Duration") proto.RegisterType((*ExportOptions)(nil), "k8s.io.apimachinery.pkg.apis.meta.v1.ExportOptions") proto.RegisterType((*GetOptions)(nil), "k8s.io.apimachinery.pkg.apis.meta.v1.GetOptions") @@ -227,6 +238,7 @@ func init() { proto.RegisterType((*ListOptions)(nil), "k8s.io.apimachinery.pkg.apis.meta.v1.ListOptions") proto.RegisterType((*ObjectMeta)(nil), "k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta") proto.RegisterType((*OwnerReference)(nil), "k8s.io.apimachinery.pkg.apis.meta.v1.OwnerReference") + proto.RegisterType((*Preconditions)(nil), "k8s.io.apimachinery.pkg.apis.meta.v1.Preconditions") proto.RegisterType((*RootPaths)(nil), "k8s.io.apimachinery.pkg.apis.meta.v1.RootPaths") proto.RegisterType((*ServerAddressByClientCIDR)(nil), "k8s.io.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR") proto.RegisterType((*Status)(nil), "k8s.io.apimachinery.pkg.apis.meta.v1.Status") @@ -445,6 +457,49 @@ func (m *APIVersions) MarshalTo(data []byte) (int, error) { return i, nil } +func (m *DeleteOptions) Marshal() (data []byte, err error) { + size := m.Size() + data = make([]byte, size) + n, err := m.MarshalTo(data) + if err != nil { + return nil, err + } + return data[:n], nil +} + +func (m *DeleteOptions) MarshalTo(data []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.GracePeriodSeconds != nil { + data[i] = 0x8 + i++ + i = encodeVarintGenerated(data, i, uint64(*m.GracePeriodSeconds)) + } + if m.Preconditions != nil { + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(m.Preconditions.Size())) + n3, err := m.Preconditions.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n3 + } + if m.OrphanDependents != nil { + data[i] = 0x18 + i++ + if *m.OrphanDependents { + data[i] = 1 + } else { + data[i] = 0 + } + i++ + } + return i, nil +} + func (m *Duration) Marshal() (data []byte, err error) { size := m.Size() data = make([]byte, size) @@ -888,20 +943,20 @@ func (m *ObjectMeta) MarshalTo(data []byte) (int, error) { data[i] = 0x42 i++ i = encodeVarintGenerated(data, i, uint64(m.CreationTimestamp.Size())) - n3, err := m.CreationTimestamp.MarshalTo(data[i:]) + n4, err := m.CreationTimestamp.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n3 + i += n4 if m.DeletionTimestamp != nil { data[i] = 0x4a i++ i = encodeVarintGenerated(data, i, uint64(m.DeletionTimestamp.Size())) - n4, err := m.DeletionTimestamp.MarshalTo(data[i:]) + n5, err := m.DeletionTimestamp.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n4 + i += n5 } if m.DeletionGracePeriodSeconds != nil { data[i] = 0x50 @@ -1020,6 +1075,30 @@ func (m *OwnerReference) MarshalTo(data []byte) (int, error) { return i, nil } +func (m *Preconditions) Marshal() (data []byte, err error) { + size := m.Size() + data = make([]byte, size) + n, err := m.MarshalTo(data) + if err != nil { + return nil, err + } + return data[:n], nil +} + +func (m *Preconditions) MarshalTo(data []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.UID != nil { + data[i] = 0xa + i++ + i = encodeVarintGenerated(data, i, uint64(len(*m.UID))) + i += copy(data[i:], *m.UID) + } + return i, nil +} + func (m *RootPaths) Marshal() (data []byte, err error) { size := m.Size() data = make([]byte, size) @@ -1097,11 +1176,11 @@ func (m *Status) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n5, err := m.ListMeta.MarshalTo(data[i:]) + n6, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n5 + i += n6 data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(len(m.Status))) @@ -1118,11 +1197,11 @@ func (m *Status) MarshalTo(data []byte) (int, error) { data[i] = 0x2a i++ i = encodeVarintGenerated(data, i, uint64(m.Details.Size())) - n6, err := m.Details.MarshalTo(data[i:]) + n7, err := m.Details.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n6 + i += n7 } data[i] = 0x30 i++ @@ -1310,11 +1389,11 @@ func (m *WatchEvent) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.Object.Size())) - n7, err := m.Object.MarshalTo(data[i:]) + n8, err := m.Object.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n7 + i += n8 return i, nil } @@ -1426,6 +1505,22 @@ func (m *APIVersions) Size() (n int) { return n } +func (m *DeleteOptions) Size() (n int) { + var l int + _ = l + if m.GracePeriodSeconds != nil { + n += 1 + sovGenerated(uint64(*m.GracePeriodSeconds)) + } + if m.Preconditions != nil { + l = m.Preconditions.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.OrphanDependents != nil { + n += 2 + } + return n +} + func (m *Duration) Size() (n int) { var l int _ = l @@ -1650,6 +1745,16 @@ func (m *OwnerReference) Size() (n int) { return n } +func (m *Preconditions) Size() (n int) { + var l int + _ = l + if m.UID != nil { + l = len(*m.UID) + n += 1 + l + sovGenerated(uint64(l)) + } + return n +} + func (m *RootPaths) Size() (n int) { var l int _ = l @@ -1822,6 +1927,18 @@ func (this *APIResourceList) String() string { }, "") return s } +func (this *DeleteOptions) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&DeleteOptions{`, + `GracePeriodSeconds:` + valueToStringGenerated(this.GracePeriodSeconds) + `,`, + `Preconditions:` + strings.Replace(fmt.Sprintf("%v", this.Preconditions), "Preconditions", "Preconditions", 1) + `,`, + `OrphanDependents:` + valueToStringGenerated(this.OrphanDependents) + `,`, + `}`, + }, "") + return s +} func (this *Duration) String() string { if this == nil { return "nil" @@ -1980,6 +2097,16 @@ func (this *OwnerReference) String() string { }, "") return s } +func (this *Preconditions) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&Preconditions{`, + `UID:` + valueToStringGenerated(this.UID) + `,`, + `}`, + }, "") + return s +} func (this *RootPaths) String() string { if this == nil { return "nil" @@ -2716,6 +2843,130 @@ func (m *APIVersions) Unmarshal(data []byte) error { } return nil } +func (m *DeleteOptions) Unmarshal(data []byte) error { + l := len(data) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: DeleteOptions: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: DeleteOptions: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GracePeriodSeconds", wireType) + } + var v int64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + v |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.GracePeriodSeconds = &v + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Preconditions", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Preconditions == nil { + m.Preconditions = &Preconditions{} + } + if err := m.Preconditions.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field OrphanDependents", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + b := bool(v != 0) + m.OrphanDependents = &b + default: + iNdEx = preIndex + skippy, err := skipGenerated(data[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *Duration) Unmarshal(data []byte) error { l := len(data) iNdEx := 0 @@ -5098,6 +5349,86 @@ func (m *OwnerReference) Unmarshal(data []byte) error { } return nil } +func (m *Preconditions) Unmarshal(data []byte) error { + l := len(data) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Preconditions: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Preconditions: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field UID", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + s := k8s_io_apimachinery_pkg_types.UID(data[iNdEx:postIndex]) + m.UID = &s + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(data[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *RootPaths) Unmarshal(data []byte) error { l := len(data) iNdEx := 0 @@ -6318,130 +6649,136 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 1992 bytes of a gzipped FileDescriptorProto + // 2089 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xcc, 0x19, 0x4d, 0x6f, 0x23, 0x49, - 0xd5, 0xed, 0xaf, 0xb1, 0x9f, 0xf3, 0x59, 0xcc, 0x08, 0x6f, 0x24, 0xec, 0x6c, 0xef, 0x0a, 0xcd, - 0xc2, 0xae, 0x4d, 0x02, 0xac, 0x86, 0x01, 0x16, 0xc5, 0x71, 0x26, 0x8a, 0x76, 0x32, 0x13, 0x55, - 0x76, 0x06, 0xb1, 0x8c, 0x10, 0x9d, 0xee, 0x8a, 0xd3, 0xa4, 0xdd, 0x6d, 0xaa, 0xca, 0x9e, 0x98, - 0x3d, 0xb0, 0x12, 0x20, 0x71, 0x40, 0x68, 0x8e, 0x1c, 0x10, 0xda, 0x11, 0xdc, 0xb8, 0xf1, 0x27, - 0x98, 0xe3, 0x4a, 0x7b, 0xe1, 0x80, 0x2c, 0x26, 0x1c, 0x38, 0x72, 0x8f, 0x38, 0xa0, 0xaa, 0xae, - 0xea, 0x0f, 0x27, 0xde, 0xb4, 0xd9, 0x3d, 0x70, 0x4a, 0xd7, 0xfb, 0xae, 0xf7, 0x5e, 0xbd, 0x0f, - 0x07, 0xf6, 0x4f, 0xef, 0xb0, 0x96, 0x1b, 0xb4, 0x4f, 0x87, 0x47, 0x84, 0xfa, 0x84, 0x13, 0xd6, - 0x1e, 0x11, 0xdf, 0x09, 0x68, 0x5b, 0x21, 0xac, 0x81, 0xdb, 0xb7, 0xec, 0x13, 0xd7, 0x27, 0x74, - 0xdc, 0x1e, 0x9c, 0xf6, 0x04, 0x80, 0xb5, 0xfb, 0x84, 0x5b, 0xed, 0xd1, 0x46, 0xbb, 0x47, 0x7c, - 0x42, 0x2d, 0x4e, 0x9c, 0xd6, 0x80, 0x06, 0x3c, 0x40, 0xaf, 0x87, 0x5c, 0xad, 0x24, 0x57, 0x6b, - 0x70, 0xda, 0x13, 0x00, 0xd6, 0x12, 0x5c, 0xad, 0xd1, 0xc6, 0xda, 0x5b, 0x3d, 0x97, 0x9f, 0x0c, - 0x8f, 0x5a, 0x76, 0xd0, 0x6f, 0xf7, 0x82, 0x5e, 0xd0, 0x96, 0xcc, 0x47, 0xc3, 0x63, 0x79, 0x92, - 0x07, 0xf9, 0x15, 0x0a, 0x5d, 0x9b, 0x69, 0x0a, 0x1d, 0xfa, 0xdc, 0xed, 0x93, 0x69, 0x2b, 0xd6, - 0xde, 0xbe, 0x8e, 0x81, 0xd9, 0x27, 0xa4, 0x6f, 0x5d, 0xe2, 0xdb, 0xbc, 0xec, 0x0c, 0x75, 0xe3, - 0x36, 0x25, 0x2c, 0x18, 0x52, 0xfb, 0xb2, 0xae, 0x8d, 0xab, 0x79, 0x86, 0xdc, 0xf5, 0xda, 0xae, - 0xcf, 0x19, 0xa7, 0xd3, 0x2c, 0xe6, 0x5f, 0x0b, 0x50, 0xd9, 0x3a, 0xd8, 0xdb, 0xa5, 0xc1, 0x70, - 0x80, 0xd6, 0xa1, 0xe8, 0x5b, 0x7d, 0x52, 0x37, 0xd6, 0x8d, 0xdb, 0xd5, 0xce, 0xc2, 0x8b, 0x49, - 0x33, 0x77, 0x3e, 0x69, 0x16, 0x1f, 0x58, 0x7d, 0x82, 0x25, 0x06, 0x79, 0x50, 0x19, 0x11, 0xca, - 0xdc, 0xc0, 0x67, 0xf5, 0xfc, 0x7a, 0xe1, 0x76, 0x6d, 0xf3, 0x9d, 0x56, 0x16, 0x37, 0xb7, 0xa4, - 0x82, 0xc7, 0x21, 0xeb, 0xbd, 0x80, 0x76, 0x5d, 0x66, 0x07, 0x23, 0x42, 0xc7, 0x9d, 0x15, 0xa5, - 0xa5, 0xa2, 0x90, 0x0c, 0x47, 0x1a, 0xd0, 0x2f, 0x0d, 0x58, 0x19, 0x50, 0x72, 0x4c, 0x28, 0x25, - 0x8e, 0xc2, 0xd7, 0x0b, 0xeb, 0xc6, 0xe7, 0xa0, 0xb6, 0xae, 0xd4, 0xae, 0x1c, 0x4c, 0xc9, 0xc7, - 0x97, 0x34, 0xa2, 0x3f, 0x1a, 0xb0, 0xc6, 0x08, 0x1d, 0x11, 0xba, 0xe5, 0x38, 0x94, 0x30, 0xd6, - 0x19, 0x6f, 0x7b, 0x2e, 0xf1, 0xf9, 0xf6, 0x5e, 0x17, 0xb3, 0x7a, 0x51, 0xfa, 0xe1, 0x7b, 0xd9, - 0x0c, 0x3a, 0x9c, 0x25, 0xa7, 0x63, 0x2a, 0x8b, 0xd6, 0x66, 0x92, 0x30, 0xfc, 0x29, 0x66, 0x98, - 0xc7, 0xb0, 0xa0, 0x03, 0x79, 0xdf, 0x65, 0x1c, 0x3d, 0x86, 0x72, 0x4f, 0x1c, 0x58, 0xdd, 0x90, - 0x06, 0xb6, 0xb2, 0x19, 0xa8, 0x65, 0x74, 0x96, 0x94, 0x3d, 0x65, 0x79, 0x64, 0x58, 0x49, 0x33, - 0x3f, 0x31, 0xa0, 0xb6, 0x75, 0xb0, 0x87, 0x55, 0x12, 0x66, 0x48, 0x9a, 0x4d, 0x00, 0xf1, 0x97, - 0x0d, 0x2c, 0x9b, 0x38, 0xf5, 0xfc, 0xba, 0x71, 0xbb, 0xd2, 0x41, 0x8a, 0x0e, 0x1e, 0x44, 0x18, - 0x9c, 0xa0, 0x12, 0x52, 0x4f, 0x5d, 0xdf, 0x91, 0xd1, 0x4e, 0x48, 0x7d, 0xd7, 0xf5, 0x1d, 0x2c, - 0x31, 0xe8, 0x3e, 0x94, 0x46, 0x84, 0x1e, 0x09, 0xff, 0x8b, 0x84, 0xf8, 0x6a, 0xb6, 0xeb, 0x3d, - 0x16, 0x2c, 0x9d, 0xea, 0xf9, 0xa4, 0x59, 0x92, 0x9f, 0x38, 0x14, 0x62, 0xfe, 0xc5, 0x80, 0xe5, - 0xc4, 0xad, 0xa4, 0x07, 0xef, 0xc0, 0x42, 0x2f, 0x91, 0x3f, 0xea, 0x86, 0x37, 0x95, 0x2d, 0x0b, - 0xc9, 0xdc, 0xc2, 0x29, 0x4a, 0x44, 0xa0, 0xaa, 0x1f, 0xa9, 0x7e, 0x27, 0x1b, 0x99, 0xdd, 0xaf, - 0x6d, 0x88, 0x35, 0x25, 0x80, 0x0c, 0xc7, 0x92, 0xcd, 0x7f, 0x85, 0xa1, 0xd0, 0x2f, 0x07, 0xdd, - 0x4e, 0xbc, 0x4e, 0x11, 0xf4, 0x6a, 0x67, 0x61, 0xc6, 0xcb, 0xba, 0x26, 0xa5, 0xf3, 0xff, 0x17, - 0x29, 0x7d, 0xb7, 0xf2, 0xbb, 0x8f, 0x9a, 0xb9, 0x0f, 0xff, 0xbe, 0x9e, 0x33, 0xf7, 0xa0, 0xd2, - 0x1d, 0x52, 0x8b, 0x0b, 0xe7, 0x7e, 0x17, 0x2a, 0x8e, 0xfa, 0x96, 0x21, 0x29, 0x74, 0x5e, 0xd5, - 0x35, 0x44, 0xd3, 0x5c, 0x4c, 0x9a, 0x8b, 0xa2, 0xb8, 0xb6, 0x34, 0x00, 0x47, 0x2c, 0xe6, 0x13, - 0x58, 0xdc, 0x39, 0x1b, 0x04, 0x94, 0x3f, 0x1c, 0x70, 0xe9, 0x8b, 0x2f, 0x43, 0x99, 0x48, 0x80, - 0x94, 0x56, 0x89, 0x13, 0x3f, 0x24, 0xc3, 0x0a, 0x8b, 0x5e, 0x83, 0x12, 0x39, 0xb3, 0x6c, 0xae, - 0x32, 0x78, 0x51, 0x91, 0x95, 0x76, 0x04, 0x10, 0x87, 0x38, 0xf3, 0x21, 0xc0, 0x2e, 0x89, 0x44, - 0x6f, 0xc1, 0xb2, 0x8e, 0x56, 0x3a, 0x89, 0xbe, 0xa8, 0x98, 0x97, 0x71, 0x1a, 0x8d, 0xa7, 0xe9, - 0xcd, 0x27, 0x50, 0x95, 0x89, 0x26, 0x32, 0x5f, 0x98, 0x20, 0xf3, 0x4c, 0x49, 0x89, 0x4c, 0x90, - 0x14, 0x38, 0xc4, 0x45, 0x4f, 0x27, 0x3f, 0xeb, 0xe9, 0x24, 0xfc, 0xea, 0xc1, 0x62, 0xc8, 0xab, - 0x5f, 0x73, 0x26, 0x0d, 0x6f, 0x42, 0x45, 0x9b, 0xa9, 0xb4, 0x44, 0x55, 0x5c, 0x0b, 0xc2, 0x11, - 0x45, 0x42, 0xdb, 0x09, 0xa4, 0x1e, 0x4d, 0x36, 0x65, 0x6f, 0xc0, 0x0d, 0x95, 0xb6, 0x4a, 0xd7, - 0xb2, 0x22, 0xbb, 0xa1, 0x7d, 0xa6, 0xf1, 0x09, 0x4d, 0x3f, 0x87, 0xfa, 0xac, 0xd2, 0xff, 0x19, - 0x9e, 0x75, 0x76, 0x53, 0xcc, 0xdf, 0x1a, 0xb0, 0x92, 0x94, 0x94, 0x3d, 0x7c, 0xd9, 0x95, 0x5c, - 0x5f, 0x24, 0x13, 0x1e, 0xf9, 0x83, 0x01, 0x37, 0x53, 0x57, 0x9b, 0x2b, 0xe2, 0x73, 0x18, 0x95, - 0x4c, 0x8e, 0xc2, 0x1c, 0xc9, 0xf1, 0x49, 0x1e, 0x16, 0xef, 0x5b, 0x47, 0xc4, 0x3b, 0x24, 0x1e, - 0xb1, 0x79, 0x40, 0xd1, 0x07, 0x50, 0xeb, 0x5b, 0xdc, 0x3e, 0x91, 0x50, 0xdd, 0xc6, 0xba, 0xd9, - 0x8a, 0x52, 0x4a, 0x52, 0x6b, 0x3f, 0x16, 0xb3, 0xe3, 0x73, 0x3a, 0xee, 0x7c, 0x41, 0x99, 0x54, - 0x4b, 0x60, 0x70, 0x52, 0x9b, 0x9c, 0x3d, 0xe4, 0x79, 0xe7, 0x6c, 0x20, 0x2a, 0xd3, 0xfc, 0x23, - 0x4f, 0xca, 0x04, 0x4c, 0x7e, 0x3a, 0x74, 0x29, 0xe9, 0x13, 0x9f, 0xc7, 0xb3, 0xc7, 0xfe, 0x94, - 0x7c, 0x7c, 0x49, 0xe3, 0xda, 0x3b, 0xb0, 0x32, 0x6d, 0x3c, 0x5a, 0x81, 0xc2, 0x29, 0x19, 0x87, - 0xf1, 0xc2, 0xe2, 0x13, 0xdd, 0x84, 0xd2, 0xc8, 0xf2, 0x86, 0xea, 0x35, 0xe2, 0xf0, 0x70, 0x37, - 0x7f, 0xc7, 0x30, 0xff, 0x64, 0x40, 0x7d, 0x96, 0x21, 0xe8, 0x4b, 0x09, 0x41, 0x9d, 0x9a, 0xb2, - 0xaa, 0xf0, 0x2e, 0x19, 0x87, 0x52, 0x77, 0xa0, 0x12, 0x0c, 0xc4, 0xb4, 0x18, 0x50, 0x15, 0xf5, - 0x37, 0x74, 0x24, 0x1f, 0x2a, 0xf8, 0xc5, 0xa4, 0x79, 0x2b, 0x25, 0x5e, 0x23, 0x70, 0xc4, 0x8a, - 0x4c, 0x28, 0x4b, 0x7b, 0x58, 0xbd, 0x20, 0x7b, 0x12, 0x88, 0xda, 0xfa, 0x58, 0x42, 0xb0, 0xc2, - 0x98, 0x1f, 0x40, 0x45, 0xb4, 0xdc, 0x7d, 0xc2, 0x2d, 0x91, 0x40, 0x8c, 0x78, 0xc7, 0xf7, 0x5d, - 0xff, 0x54, 0x99, 0x16, 0x25, 0xd0, 0xa1, 0x82, 0xe3, 0x88, 0xe2, 0xaa, 0x12, 0x9b, 0x9f, 0xb3, - 0xc4, 0xfe, 0x39, 0x0f, 0x35, 0xa1, 0x5d, 0x57, 0xed, 0x6f, 0xc3, 0xa2, 0x97, 0xbc, 0x93, 0xb2, - 0xe2, 0x96, 0x12, 0x98, 0xce, 0x52, 0x9c, 0xa6, 0x15, 0xcc, 0xc7, 0x2e, 0xf1, 0x9c, 0x88, 0x39, - 0x9f, 0x66, 0xbe, 0x97, 0x44, 0xe2, 0x34, 0xad, 0x78, 0x8b, 0x4f, 0x45, 0xb4, 0xe5, 0xc3, 0x49, - 0xb4, 0x98, 0xef, 0x0b, 0x20, 0x0e, 0x71, 0x57, 0xdd, 0xb8, 0x38, 0xdf, 0x8d, 0xd1, 0x5d, 0x58, - 0x12, 0xed, 0x31, 0x18, 0xf2, 0x43, 0x62, 0x07, 0xbe, 0xc3, 0xea, 0x25, 0xd9, 0x48, 0xd1, 0xf9, - 0xa4, 0xb9, 0xf4, 0x5e, 0x0a, 0x83, 0xa7, 0x28, 0xcd, 0x5f, 0x00, 0xc0, 0xc3, 0xa3, 0x9f, 0x10, - 0x3b, 0x8c, 0xd6, 0xf5, 0xe3, 0x9f, 0xa8, 0xb7, 0x6a, 0xeb, 0x10, 0x50, 0xe5, 0x90, 0xb8, 0xde, - 0x26, 0x70, 0x38, 0x45, 0x89, 0xda, 0x50, 0x8d, 0x46, 0x42, 0x55, 0x4b, 0x56, 0x15, 0x5b, 0x35, - 0x9a, 0x1b, 0x71, 0x4c, 0x93, 0x4a, 0x9d, 0xe2, 0xb5, 0xa9, 0xd3, 0x81, 0xc2, 0xd0, 0x75, 0xe4, - 0xd5, 0xab, 0x9d, 0xaf, 0xe9, 0xf4, 0x7f, 0xb4, 0xd7, 0xbd, 0x98, 0x34, 0x5f, 0x9d, 0xb5, 0xb6, - 0xf1, 0xf1, 0x80, 0xb0, 0xd6, 0xa3, 0xbd, 0x2e, 0x16, 0xcc, 0x57, 0x05, 0xa3, 0x3c, 0x67, 0x30, - 0x36, 0x01, 0xd4, 0xad, 0x05, 0xf7, 0x8d, 0x30, 0x10, 0x7a, 0x3c, 0xde, 0x8d, 0x30, 0x38, 0x41, - 0x85, 0x18, 0xac, 0xda, 0x94, 0xc8, 0x6f, 0x11, 0x2e, 0xc6, 0xad, 0xfe, 0xa0, 0x5e, 0x91, 0x83, - 0xf0, 0x57, 0xb2, 0x55, 0x27, 0xc1, 0xd6, 0x79, 0x45, 0xa9, 0x59, 0xdd, 0x9e, 0x16, 0x86, 0x2f, - 0xcb, 0x47, 0x01, 0xac, 0x3a, 0xc4, 0x23, 0x69, 0xa5, 0xd5, 0xb9, 0x95, 0xde, 0x12, 0x0a, 0xbb, - 0xd3, 0x82, 0xf0, 0x65, 0xd9, 0xe8, 0x47, 0xb0, 0xa6, 0x81, 0xbb, 0xd4, 0xb2, 0xc9, 0x01, 0xa1, - 0x6e, 0xe0, 0xe8, 0x94, 0x05, 0xe9, 0xa9, 0x86, 0x98, 0x2f, 0xbb, 0x33, 0xa9, 0xf0, 0xa7, 0x48, - 0x40, 0x0e, 0x94, 0xbd, 0xb0, 0xb7, 0xd4, 0x64, 0x61, 0xff, 0x4e, 0xb6, 0x5b, 0xc4, 0xd9, 0xdf, - 0x4a, 0xf6, 0x94, 0x68, 0x6e, 0x54, 0xed, 0x44, 0xc9, 0x46, 0x67, 0x50, 0xb3, 0x7c, 0x3f, 0xe0, - 0xd2, 0x9b, 0xac, 0xbe, 0x20, 0x55, 0x6d, 0xcd, 0xad, 0x6a, 0x2b, 0x96, 0x31, 0xd5, 0xc3, 0x12, - 0x18, 0x9c, 0x54, 0x85, 0x9e, 0xc2, 0x72, 0xf0, 0xd4, 0x27, 0x14, 0x8b, 0x85, 0x96, 0xf8, 0x62, - 0x19, 0x59, 0x94, 0xda, 0xbf, 0x91, 0x51, 0x7b, 0x8a, 0x39, 0x4e, 0xe9, 0x34, 0x9c, 0xe1, 0x69, - 0x2d, 0xa8, 0x05, 0x70, 0xec, 0xfa, 0x96, 0xe7, 0xfe, 0x8c, 0x50, 0x56, 0x5f, 0x92, 0x65, 0x7f, - 0x49, 0xa4, 0xf3, 0xbd, 0x08, 0x8a, 0x13, 0x14, 0xe8, 0x9b, 0x50, 0xb3, 0xbd, 0x21, 0xe3, 0x84, - 0xca, 0x0a, 0xb1, 0x2c, 0x5f, 0x50, 0x74, 0xbf, 0xed, 0x18, 0x85, 0x93, 0x74, 0x6b, 0xdf, 0x82, - 0xda, 0xff, 0xd8, 0x17, 0x45, 0x5f, 0x9d, 0x76, 0xe8, 0x5c, 0x7d, 0xf5, 0x3f, 0x06, 0x2c, 0xa5, - 0xdd, 0x10, 0x4d, 0x63, 0xc6, 0xcc, 0x95, 0x55, 0xd7, 0xca, 0xc2, 0xcc, 0x5a, 0xa9, 0x4a, 0x52, - 0xf1, 0xb3, 0x94, 0xa4, 0x4d, 0x00, 0x6b, 0xe0, 0xea, 0x6a, 0x14, 0x56, 0xb7, 0xa8, 0x9e, 0xc4, - 0xeb, 0x22, 0x4e, 0x50, 0x89, 0x80, 0xd9, 0x81, 0xcf, 0x69, 0xe0, 0x79, 0x84, 0xca, 0x0a, 0x56, - 0x09, 0x03, 0xb6, 0x1d, 0x41, 0x71, 0x82, 0xc2, 0x7c, 0x13, 0xaa, 0x38, 0x08, 0xf8, 0x81, 0xc5, - 0x4f, 0x18, 0x6a, 0x42, 0x69, 0x20, 0x3e, 0xd4, 0xce, 0x29, 0x97, 0x6b, 0x89, 0xc1, 0x21, 0xdc, - 0xfc, 0x8d, 0x01, 0xaf, 0xcc, 0x5c, 0x01, 0x85, 0xbd, 0x76, 0x74, 0x52, 0xde, 0x8b, 0xec, 0x8d, - 0xe9, 0x70, 0x82, 0x4a, 0x74, 0xd9, 0xd4, 0xde, 0x38, 0xdd, 0x65, 0x53, 0xda, 0x70, 0x9a, 0xd6, - 0xfc, 0x77, 0x1e, 0xca, 0x87, 0xdc, 0xe2, 0x43, 0x86, 0x9e, 0x40, 0x45, 0x24, 0xbb, 0x63, 0x71, - 0x4b, 0x6a, 0xce, 0xfc, 0x33, 0x89, 0x9e, 0x56, 0xe2, 0x06, 0xa3, 0x21, 0x38, 0x92, 0x28, 0x36, - 0x4b, 0x26, 0xf5, 0x28, 0xf3, 0xa2, 0x0a, 0x11, 0x6a, 0xc7, 0x0a, 0x2b, 0xa6, 0xeb, 0x3e, 0x61, - 0xcc, 0xea, 0xe9, 0xd4, 0x88, 0xa6, 0xeb, 0xfd, 0x10, 0x8c, 0x35, 0x1e, 0xbd, 0x0d, 0x65, 0x4a, - 0x2c, 0x16, 0xf5, 0xfc, 0x86, 0x16, 0x89, 0x25, 0xf4, 0x62, 0xd2, 0x5c, 0x50, 0xc2, 0xe5, 0x19, - 0x2b, 0x6a, 0xf4, 0x3e, 0xdc, 0x70, 0x08, 0xb7, 0x5c, 0x2f, 0x6c, 0xf5, 0xb5, 0xcd, 0xaf, 0x67, - 0x5c, 0xee, 0xa5, 0xb0, 0x6e, 0xc8, 0xda, 0xa9, 0x09, 0x9b, 0xd4, 0x01, 0x6b, 0x81, 0x22, 0xad, - 0xed, 0xc0, 0x21, 0x32, 0x6d, 0x4a, 0x71, 0x5a, 0x6f, 0x07, 0x0e, 0xc1, 0x12, 0x63, 0x3e, 0x33, - 0xa0, 0x16, 0x4a, 0xda, 0xb6, 0x86, 0x8c, 0xa0, 0x8d, 0xe8, 0x16, 0x61, 0xb8, 0x75, 0x1f, 0x2a, - 0xbe, 0x37, 0x1e, 0x90, 0x8b, 0x49, 0xb3, 0x2a, 0xc9, 0xc4, 0x21, 0xba, 0x40, 0xc2, 0x47, 0xf9, - 0x6b, 0x7c, 0xf4, 0x1a, 0x94, 0xe4, 0x58, 0xa5, 0x9c, 0x19, 0x4d, 0x51, 0x72, 0xf4, 0xc2, 0x21, - 0xce, 0xfc, 0x7d, 0x1e, 0x16, 0x53, 0x97, 0xcb, 0x30, 0xc9, 0x44, 0xab, 0x52, 0x3e, 0xc3, 0xfa, - 0x3d, 0xfb, 0x97, 0xab, 0x1f, 0x40, 0xd9, 0x16, 0xf7, 0xd3, 0x3f, 0x1d, 0x6e, 0xcc, 0x13, 0x0a, - 0xe9, 0x99, 0x38, 0x93, 0xe4, 0x91, 0x61, 0x25, 0x10, 0xed, 0xc2, 0x2a, 0x25, 0x9c, 0x8e, 0xb7, - 0x8e, 0x39, 0xa1, 0xc9, 0xd9, 0xae, 0x14, 0xf7, 0x7a, 0x3c, 0x4d, 0x80, 0x2f, 0xf3, 0x98, 0x1e, - 0x14, 0x45, 0x1f, 0x16, 0x6e, 0x67, 0x4a, 0x4c, 0xf8, 0x5b, 0x4b, 0xe4, 0x76, 0xcd, 0xac, 0xf1, - 0xc2, 0x3b, 0xbe, 0xe5, 0x07, 0x61, 0xb2, 0x97, 0x62, 0xef, 0x3c, 0x10, 0x40, 0x1c, 0xe2, 0xee, - 0xde, 0x14, 0xfb, 0xde, 0xaf, 0x9f, 0x37, 0x73, 0xcf, 0x9e, 0x37, 0x73, 0x1f, 0x3d, 0x57, 0xbb, - 0xdf, 0x0f, 0xa1, 0x1a, 0x77, 0xfd, 0xcf, 0x59, 0xa5, 0xf9, 0x63, 0xa8, 0x88, 0x4c, 0xd2, 0xd3, - 0xea, 0x35, 0x35, 0x3a, 0x5d, 0x3d, 0xf3, 0x59, 0xaa, 0xa7, 0xb9, 0x09, 0xe1, 0x8f, 0x89, 0xa2, - 0x12, 0xba, 0x9c, 0xf4, 0x53, 0x95, 0x70, 0x4f, 0x00, 0x70, 0x08, 0x4f, 0xac, 0xbb, 0xbf, 0x32, - 0x00, 0xe4, 0x58, 0xbf, 0x33, 0x12, 0xab, 0xd8, 0x3a, 0x14, 0x45, 0x19, 0x9f, 0x36, 0x4c, 0x3e, - 0x01, 0x89, 0x41, 0x8f, 0xa0, 0x1c, 0xc8, 0x69, 0x40, 0x1a, 0x55, 0xdb, 0x7c, 0x6b, 0x66, 0xd6, - 0xa8, 0xff, 0x2c, 0xb4, 0xb0, 0xf5, 0x74, 0xe7, 0x8c, 0x13, 0x5f, 0xd8, 0x18, 0x67, 0x4c, 0x38, - 0x52, 0x60, 0x25, 0xac, 0xf3, 0xfa, 0x8b, 0x97, 0x8d, 0xdc, 0xc7, 0x2f, 0x1b, 0xb9, 0xbf, 0xbd, - 0x6c, 0xe4, 0x3e, 0x3c, 0x6f, 0x18, 0x2f, 0xce, 0x1b, 0xc6, 0xc7, 0xe7, 0x0d, 0xe3, 0x1f, 0xe7, - 0x0d, 0xe3, 0xd9, 0x3f, 0x1b, 0xb9, 0xf7, 0xf3, 0xa3, 0x8d, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, - 0x01, 0xac, 0x25, 0xfa, 0x9b, 0x19, 0x00, 0x00, + 0x35, 0xed, 0xc4, 0x1e, 0xfb, 0x39, 0xce, 0x47, 0x91, 0x01, 0x6f, 0x24, 0xec, 0x6c, 0xef, 0x0a, + 0xcd, 0xc2, 0xac, 0x4d, 0x02, 0xac, 0x86, 0x01, 0x06, 0xe2, 0x38, 0x13, 0x45, 0x3b, 0x99, 0x44, + 0x95, 0x9d, 0x41, 0x2c, 0x23, 0x44, 0xc7, 0x5d, 0x71, 0x9a, 0xb4, 0xbb, 0x9b, 0xaa, 0xb2, 0x27, + 0x61, 0x0f, 0xac, 0x04, 0x08, 0x0e, 0x08, 0xcd, 0x91, 0x03, 0x42, 0x3b, 0x82, 0x1b, 0x37, 0xfe, + 0x04, 0x73, 0x5c, 0x69, 0x2f, 0x1c, 0x90, 0xc5, 0x84, 0x03, 0x47, 0xee, 0x11, 0x07, 0x54, 0xd5, + 0x55, 0xfd, 0x61, 0xc7, 0x9b, 0x36, 0xbb, 0x87, 0x3d, 0xc5, 0xf5, 0xbe, 0xbf, 0xea, 0xbd, 0x57, + 0x1d, 0xd8, 0x3b, 0xbd, 0xc3, 0x1a, 0x8e, 0xdf, 0x3c, 0xed, 0x1f, 0x11, 0xea, 0x11, 0x4e, 0x58, + 0x73, 0x40, 0x3c, 0xdb, 0xa7, 0x4d, 0x85, 0xb0, 0x02, 0xa7, 0x67, 0x75, 0x4e, 0x1c, 0x8f, 0xd0, + 0xf3, 0x66, 0x70, 0xda, 0x15, 0x00, 0xd6, 0xec, 0x11, 0x6e, 0x35, 0x07, 0xeb, 0xcd, 0x2e, 0xf1, + 0x08, 0xb5, 0x38, 0xb1, 0x1b, 0x01, 0xf5, 0xb9, 0x8f, 0x5e, 0x0f, 0xb9, 0x1a, 0x49, 0xae, 0x46, + 0x70, 0xda, 0x15, 0x00, 0xd6, 0x10, 0x5c, 0x8d, 0xc1, 0xfa, 0xea, 0x9b, 0x5d, 0x87, 0x9f, 0xf4, + 0x8f, 0x1a, 0x1d, 0xbf, 0xd7, 0xec, 0xfa, 0x5d, 0xbf, 0x29, 0x99, 0x8f, 0xfa, 0xc7, 0xf2, 0x24, + 0x0f, 0xf2, 0x57, 0x28, 0x74, 0x75, 0xa2, 0x29, 0xb4, 0xef, 0x71, 0xa7, 0x47, 0x46, 0xad, 0x58, + 0x7d, 0xeb, 0x3a, 0x06, 0xd6, 0x39, 0x21, 0x3d, 0x6b, 0x8c, 0x6f, 0x63, 0x3c, 0x18, 0xca, 0xe3, + 0x26, 0x25, 0xcc, 0xef, 0xd3, 0xce, 0xb8, 0xae, 0xf5, 0xab, 0x79, 0xfa, 0xdc, 0x71, 0x9b, 0x8e, + 0xc7, 0x19, 0xa7, 0xa3, 0x2c, 0xe6, 0xdf, 0x66, 0xa1, 0xb8, 0x79, 0xb0, 0xbb, 0x43, 0xfd, 0x7e, + 0x80, 0xd6, 0x60, 0xce, 0xb3, 0x7a, 0xa4, 0x6a, 0xac, 0x19, 0xb7, 0x4a, 0xad, 0xf9, 0x17, 0xc3, + 0xfa, 0xcc, 0xc5, 0xb0, 0x3e, 0xf7, 0xd0, 0xea, 0x11, 0x2c, 0x31, 0xc8, 0x85, 0xe2, 0x80, 0x50, + 0xe6, 0xf8, 0x1e, 0xab, 0xe6, 0xd6, 0x66, 0x6f, 0x95, 0x37, 0xee, 0x35, 0xb2, 0x84, 0xb9, 0x21, + 0x15, 0x3c, 0x0e, 0x59, 0xef, 0xfb, 0xb4, 0xed, 0xb0, 0x8e, 0x3f, 0x20, 0xf4, 0xbc, 0xb5, 0xa4, + 0xb4, 0x14, 0x15, 0x92, 0xe1, 0x48, 0x03, 0xfa, 0xa5, 0x01, 0x4b, 0x01, 0x25, 0xc7, 0x84, 0x52, + 0x62, 0x2b, 0x7c, 0x75, 0x76, 0xcd, 0xf8, 0x14, 0xd4, 0x56, 0x95, 0xda, 0xa5, 0x83, 0x11, 0xf9, + 0x78, 0x4c, 0x23, 0xfa, 0x93, 0x01, 0xab, 0x8c, 0xd0, 0x01, 0xa1, 0x9b, 0xb6, 0x4d, 0x09, 0x63, + 0xad, 0xf3, 0x2d, 0xd7, 0x21, 0x1e, 0xdf, 0xda, 0x6d, 0x63, 0x56, 0x9d, 0x93, 0x71, 0xf8, 0x6e, + 0x36, 0x83, 0x0e, 0x27, 0xc9, 0x69, 0x99, 0xca, 0xa2, 0xd5, 0x89, 0x24, 0x0c, 0x7f, 0x8c, 0x19, + 0xe6, 0x31, 0xcc, 0xeb, 0x44, 0x3e, 0x70, 0x18, 0x47, 0x8f, 0xa1, 0xd0, 0x15, 0x07, 0x56, 0x35, + 0xa4, 0x81, 0x8d, 0x6c, 0x06, 0x6a, 0x19, 0xad, 0x05, 0x65, 0x4f, 0x41, 0x1e, 0x19, 0x56, 0xd2, + 0xcc, 0x8f, 0x0c, 0x28, 0x6f, 0x1e, 0xec, 0x62, 0x55, 0x84, 0x19, 0x8a, 0x66, 0x03, 0x40, 0xfc, + 0x65, 0x81, 0xd5, 0x21, 0x76, 0x35, 0xb7, 0x66, 0xdc, 0x2a, 0xb6, 0x90, 0xa2, 0x83, 0x87, 0x11, + 0x06, 0x27, 0xa8, 0x84, 0xd4, 0x53, 0xc7, 0xb3, 0x65, 0xb6, 0x13, 0x52, 0xdf, 0x76, 0x3c, 0x1b, + 0x4b, 0x0c, 0x7a, 0x00, 0xf9, 0x01, 0xa1, 0x47, 0x22, 0xfe, 0xa2, 0x20, 0xbe, 0x92, 0xcd, 0xbd, + 0xc7, 0x82, 0xa5, 0x55, 0xba, 0x18, 0xd6, 0xf3, 0xf2, 0x27, 0x0e, 0x85, 0x98, 0x7f, 0x35, 0x60, + 0x31, 0xe1, 0x95, 0x8c, 0xe0, 0x1d, 0x98, 0xef, 0x26, 0xea, 0x47, 0x79, 0xb8, 0xa2, 0x6c, 0x99, + 0x4f, 0xd6, 0x16, 0x4e, 0x51, 0x22, 0x02, 0x25, 0x7d, 0x49, 0xf5, 0x3d, 0x59, 0xcf, 0x1c, 0x7e, + 0x6d, 0x43, 0xac, 0x29, 0x01, 0x64, 0x38, 0x96, 0x6c, 0xfe, 0x3b, 0x4c, 0x85, 0xbe, 0x39, 0xe8, + 0x56, 0xe2, 0x76, 0x8a, 0xa4, 0x97, 0x5a, 0xf3, 0x13, 0x6e, 0xd6, 0x35, 0x25, 0x9d, 0xfb, 0x4c, + 0x94, 0xf4, 0xdd, 0xe2, 0xef, 0x3f, 0xa8, 0xcf, 0xbc, 0xff, 0x8f, 0xb5, 0x19, 0xf3, 0xd7, 0x39, + 0xa8, 0xb4, 0x89, 0x4b, 0x38, 0xd9, 0x0f, 0xb8, 0xf4, 0xe0, 0x3e, 0xa0, 0x2e, 0xb5, 0x3a, 0xe4, + 0x80, 0x50, 0xc7, 0xb7, 0x0f, 0x49, 0xc7, 0xf7, 0x6c, 0x26, 0x53, 0x34, 0xdb, 0xfa, 0xfc, 0xc5, + 0xb0, 0x8e, 0x76, 0xc6, 0xb0, 0xf8, 0x0a, 0x0e, 0xe4, 0x42, 0x25, 0xa0, 0xf2, 0xb7, 0xc3, 0x55, + 0x5b, 0x13, 0xe5, 0xf4, 0xb5, 0x6c, 0xbe, 0x1f, 0x24, 0x59, 0x5b, 0xcb, 0x17, 0xc3, 0x7a, 0x25, + 0x05, 0xc2, 0x69, 0xe1, 0xe8, 0x7b, 0xb0, 0xe4, 0xd3, 0xe0, 0xc4, 0xf2, 0xda, 0x24, 0x20, 0x9e, + 0x4d, 0x3c, 0xce, 0x64, 0x89, 0x17, 0x5b, 0x2b, 0xa2, 0x19, 0xed, 0x8f, 0xe0, 0xf0, 0x18, 0xb5, + 0xb9, 0x0b, 0xc5, 0x76, 0x9f, 0x5a, 0x42, 0x1c, 0xfa, 0x0e, 0x14, 0x6d, 0xf5, 0x5b, 0x79, 0xfe, + 0xaa, 0xee, 0xa6, 0x9a, 0xe6, 0x72, 0x58, 0xaf, 0x88, 0x31, 0xd3, 0xd0, 0x00, 0x1c, 0xb1, 0x98, + 0x4f, 0xa0, 0xb2, 0x7d, 0x16, 0xf8, 0x94, 0xeb, 0x98, 0x7e, 0x09, 0x0a, 0x44, 0x02, 0xa4, 0xb4, + 0x62, 0xdc, 0x02, 0x42, 0x32, 0xac, 0xb0, 0xe8, 0x35, 0xc8, 0x93, 0x33, 0xab, 0xc3, 0xd5, 0x5d, + 0xae, 0x28, 0xb2, 0xfc, 0xb6, 0x00, 0xe2, 0x10, 0x67, 0xee, 0x03, 0xec, 0x90, 0x48, 0xf4, 0x26, + 0x2c, 0xea, 0xba, 0x4d, 0x5f, 0xa7, 0x2f, 0x28, 0xe6, 0x45, 0x9c, 0x46, 0xe3, 0x51, 0x7a, 0xf3, + 0x09, 0x94, 0xe4, 0x95, 0x13, 0x3d, 0x40, 0x98, 0x20, 0x6f, 0x9c, 0x92, 0x12, 0x99, 0x20, 0x29, + 0x70, 0x88, 0x8b, 0x9a, 0x48, 0x6e, 0x52, 0x13, 0x49, 0x54, 0x98, 0x0b, 0x95, 0x90, 0x57, 0xf7, + 0xb5, 0x4c, 0x1a, 0x6e, 0x43, 0x51, 0x9b, 0xa9, 0xb4, 0x44, 0xf3, 0x4c, 0x0b, 0xc2, 0x11, 0x45, + 0x42, 0xdb, 0x09, 0xa4, 0xda, 0x47, 0x36, 0x65, 0x6f, 0xc0, 0x0d, 0x75, 0x81, 0x95, 0xae, 0x45, + 0x45, 0x76, 0x43, 0xc7, 0x4c, 0xe3, 0x13, 0x9a, 0x7e, 0x0e, 0xd5, 0x49, 0x43, 0xf0, 0x13, 0x34, + 0xb8, 0xec, 0xa6, 0x98, 0xbf, 0x33, 0x60, 0x29, 0x29, 0x29, 0x7b, 0xfa, 0xb2, 0x2b, 0xb9, 0x7e, + 0x5c, 0x24, 0x22, 0xf2, 0x47, 0x03, 0x56, 0x52, 0xae, 0x4d, 0x95, 0xf1, 0x29, 0x8c, 0x4a, 0x16, + 0xc7, 0xec, 0x14, 0xc5, 0xf1, 0x51, 0x0e, 0x2a, 0x0f, 0xac, 0x23, 0xe2, 0x1e, 0x12, 0x97, 0x74, + 0xb8, 0x4f, 0xd1, 0x7b, 0x50, 0xee, 0x59, 0xbc, 0x73, 0x22, 0xa1, 0x7a, 0xa0, 0xb7, 0xb3, 0xb5, + 0xa8, 0x94, 0xa4, 0xc6, 0x5e, 0x2c, 0x66, 0xdb, 0xe3, 0xf4, 0xbc, 0xf5, 0x39, 0x65, 0x52, 0x39, + 0x81, 0xc1, 0x49, 0x6d, 0x72, 0x0b, 0x93, 0xe7, 0xed, 0xb3, 0x40, 0xf4, 0xe8, 0xe9, 0x97, 0xbf, + 0x94, 0x09, 0x98, 0xfc, 0xb4, 0xef, 0x50, 0xd2, 0x23, 0x1e, 0x8f, 0xb7, 0xb0, 0xbd, 0x11, 0xf9, + 0x78, 0x4c, 0xe3, 0xea, 0x3d, 0x58, 0x1a, 0x35, 0x1e, 0x2d, 0xc1, 0xec, 0x29, 0x39, 0x0f, 0xf3, + 0x85, 0xc5, 0x4f, 0xb4, 0x02, 0xf9, 0x81, 0xe5, 0xf6, 0xd5, 0x6d, 0xc4, 0xe1, 0xe1, 0x6e, 0xee, + 0x8e, 0x61, 0xfe, 0xd9, 0x80, 0xea, 0x24, 0x43, 0xd0, 0x17, 0x13, 0x82, 0x5a, 0x65, 0x65, 0xd5, + 0xec, 0xdb, 0xe4, 0x3c, 0x94, 0xba, 0x0d, 0x45, 0x3f, 0x10, 0x7b, 0xb3, 0x4f, 0x55, 0xd6, 0xdf, + 0xd0, 0x99, 0xdc, 0x57, 0xf0, 0xcb, 0x61, 0xfd, 0x66, 0x4a, 0xbc, 0x46, 0xe0, 0x88, 0x15, 0x99, + 0x50, 0x90, 0xf6, 0x88, 0x9e, 0x2f, 0xa6, 0x33, 0x88, 0xde, 0xfa, 0x58, 0x42, 0xb0, 0xc2, 0x98, + 0xef, 0x41, 0x51, 0x2c, 0x1f, 0x7b, 0x84, 0x5b, 0xa2, 0x80, 0x18, 0x71, 0x8f, 0x1f, 0x38, 0xde, + 0xa9, 0x32, 0x2d, 0x2a, 0xa0, 0x43, 0x05, 0xc7, 0x11, 0xc5, 0x55, 0x2d, 0x36, 0x37, 0x65, 0x8b, + 0xfd, 0x4b, 0x0e, 0xca, 0x42, 0xbb, 0xee, 0xda, 0xdf, 0x82, 0x8a, 0x9b, 0xf4, 0x49, 0x59, 0x71, + 0x53, 0x09, 0x4c, 0x57, 0x29, 0x4e, 0xd3, 0x0a, 0xe6, 0x63, 0x87, 0xb8, 0x76, 0xc4, 0x9c, 0x4b, + 0x33, 0xdf, 0x4f, 0x22, 0x71, 0x9a, 0x56, 0xdc, 0xc5, 0xa7, 0x22, 0xdb, 0x6a, 0x3a, 0x46, 0x77, + 0xf1, 0xfb, 0x02, 0x88, 0x43, 0xdc, 0x55, 0x1e, 0xcf, 0x4d, 0xe7, 0x31, 0xba, 0x0b, 0x0b, 0x62, + 0x3c, 0xfa, 0x7d, 0xae, 0x57, 0x88, 0xbc, 0x1c, 0xa4, 0xe8, 0x62, 0x58, 0x5f, 0x78, 0x27, 0x85, + 0xc1, 0x23, 0x94, 0xe6, 0x2f, 0x00, 0x60, 0xff, 0xe8, 0x27, 0xa4, 0x13, 0x66, 0xeb, 0xfa, 0x45, + 0x58, 0xf4, 0x5b, 0xf5, 0xfe, 0x12, 0x50, 0x15, 0x90, 0xb8, 0xdf, 0x26, 0x70, 0x38, 0x45, 0x89, + 0x9a, 0x50, 0x8a, 0x96, 0x63, 0xd5, 0x4b, 0x96, 0x15, 0x5b, 0x29, 0xda, 0xa0, 0x71, 0x4c, 0x93, + 0x2a, 0x9d, 0xb9, 0x6b, 0x4b, 0xa7, 0x05, 0xb3, 0x7d, 0xc7, 0x96, 0xae, 0x97, 0x5a, 0x5f, 0xd5, + 0xe5, 0xff, 0x68, 0xb7, 0x7d, 0x39, 0xac, 0xbf, 0x3a, 0xe9, 0x01, 0xcb, 0xcf, 0x03, 0xc2, 0x1a, + 0x8f, 0x76, 0xdb, 0x58, 0x30, 0x5f, 0x95, 0x8c, 0xc2, 0x94, 0xc9, 0xd8, 0x00, 0x50, 0x5e, 0x0b, + 0xee, 0x1b, 0x61, 0x22, 0xf4, 0x43, 0x61, 0x27, 0xc2, 0xe0, 0x04, 0x15, 0x62, 0xb0, 0xdc, 0xa1, + 0x44, 0xfe, 0x16, 0xe9, 0x62, 0xdc, 0xea, 0x05, 0xd5, 0xa2, 0xdc, 0xe1, 0xbe, 0x9c, 0xad, 0x3b, + 0x09, 0xb6, 0xd6, 0x2b, 0x4a, 0xcd, 0xf2, 0xd6, 0xa8, 0x30, 0x3c, 0x2e, 0x1f, 0xf9, 0xb0, 0x6c, + 0x8b, 0x6d, 0x34, 0xa5, 0xb4, 0x34, 0xb5, 0xd2, 0x9b, 0x42, 0x61, 0x7b, 0x54, 0x10, 0x1e, 0x97, + 0x8d, 0x7e, 0x04, 0xab, 0x1a, 0x38, 0xbe, 0xd7, 0x56, 0x41, 0x46, 0xaa, 0x26, 0x36, 0xed, 0xf6, + 0x44, 0x2a, 0xfc, 0x31, 0x12, 0x90, 0x0d, 0x05, 0x37, 0x9c, 0x2d, 0x65, 0xd9, 0xd8, 0xbf, 0x9d, + 0xcd, 0x8b, 0xb8, 0xfa, 0x1b, 0xc9, 0x99, 0x12, 0xed, 0x8d, 0x6a, 0x9c, 0x28, 0xd9, 0xe8, 0x0c, + 0xca, 0x96, 0xe7, 0xf9, 0xdc, 0x0a, 0x37, 0xed, 0x79, 0xa9, 0x6a, 0x73, 0x6a, 0x55, 0x9b, 0xb1, + 0x8c, 0x91, 0x19, 0x96, 0xc0, 0xe0, 0xa4, 0x2a, 0xf4, 0x14, 0x16, 0xfd, 0xa7, 0x1e, 0xa1, 0x58, + 0x3c, 0xed, 0x89, 0x27, 0x9e, 0x65, 0x15, 0xa9, 0xfd, 0xeb, 0x19, 0xb5, 0xa7, 0x98, 0xe3, 0x92, + 0x4e, 0xc3, 0x19, 0x1e, 0xd5, 0x82, 0x1a, 0x00, 0xc7, 0x8e, 0x67, 0xb9, 0xce, 0xcf, 0x08, 0x65, + 0xd5, 0x05, 0xd9, 0xf6, 0x17, 0x44, 0x39, 0xdf, 0x8f, 0xa0, 0x38, 0x41, 0x81, 0xbe, 0x01, 0xe5, + 0x8e, 0xdb, 0x67, 0x9c, 0x50, 0xd9, 0x21, 0x16, 0xe5, 0x0d, 0x8a, 0xfc, 0xdb, 0x8a, 0x51, 0x38, + 0x49, 0xb7, 0xfa, 0x4d, 0x28, 0xff, 0x9f, 0x73, 0x51, 0xcc, 0xd5, 0xd1, 0x80, 0x4e, 0x35, 0x57, + 0xff, 0x6b, 0xc0, 0x42, 0x3a, 0x0c, 0xd1, 0x36, 0x66, 0x4c, 0x7c, 0xbc, 0xeb, 0x5e, 0x39, 0x3b, + 0xb1, 0x57, 0xaa, 0x96, 0x34, 0xf7, 0x49, 0x5a, 0xd2, 0x06, 0x80, 0x15, 0x38, 0xba, 0x1b, 0x85, + 0xdd, 0x2d, 0xea, 0x27, 0xf1, 0xc3, 0x19, 0x27, 0xa8, 0x44, 0xc2, 0x3a, 0xbe, 0xc7, 0xa9, 0xef, + 0xba, 0x84, 0xca, 0x0e, 0x56, 0x0c, 0x13, 0xb6, 0x15, 0x41, 0x71, 0x82, 0xc2, 0xdc, 0x87, 0xf4, + 0x8b, 0x0f, 0xdd, 0x0b, 0x0d, 0x0f, 0x7d, 0xbf, 0x3d, 0xb5, 0xd1, 0xe6, 0x6d, 0x28, 0x61, 0xdf, + 0xe7, 0x07, 0x16, 0x3f, 0x61, 0xa8, 0x0e, 0xf9, 0x40, 0xfc, 0x50, 0xcf, 0x79, 0xf9, 0xdd, 0x42, + 0x62, 0x70, 0x08, 0x37, 0x7f, 0x6b, 0xc0, 0x2b, 0x13, 0x5f, 0xd7, 0x22, 0x00, 0x9d, 0xe8, 0xa4, + 0x4c, 0x8a, 0x02, 0x10, 0xd3, 0xe1, 0x04, 0x95, 0x18, 0xdb, 0xa9, 0x27, 0xf9, 0xe8, 0xd8, 0x4e, + 0x69, 0xc3, 0x69, 0x5a, 0xf3, 0x3f, 0x39, 0x28, 0x1c, 0x72, 0x8b, 0xf7, 0x19, 0x7a, 0x02, 0x45, + 0x71, 0x7b, 0x6c, 0x8b, 0x5b, 0x52, 0x73, 0xe6, 0x2f, 0x50, 0x7a, 0xfd, 0x89, 0x27, 0x96, 0x86, + 0xe0, 0x48, 0xa2, 0x78, 0xaa, 0x32, 0xa9, 0x47, 0x99, 0x17, 0xb5, 0x9c, 0x50, 0x3b, 0x56, 0x58, + 0xb1, 0xae, 0xf7, 0x08, 0x63, 0x56, 0x57, 0xd7, 0x5a, 0xb4, 0xae, 0xef, 0x85, 0x60, 0xac, 0xf1, + 0xe8, 0x2d, 0x28, 0x50, 0x62, 0xb1, 0x68, 0x89, 0xa8, 0x69, 0x91, 0x58, 0x42, 0x2f, 0x87, 0xf5, + 0x79, 0x25, 0x5c, 0x9e, 0xb1, 0xa2, 0x46, 0xef, 0xc2, 0x0d, 0x9b, 0x70, 0xcb, 0x71, 0xc3, 0xdd, + 0x21, 0xf3, 0xb7, 0x83, 0x50, 0x58, 0x3b, 0x64, 0x6d, 0x95, 0x85, 0x4d, 0xea, 0x80, 0xb5, 0x40, + 0x71, 0x4f, 0x3a, 0xbe, 0x4d, 0x64, 0x1d, 0xe6, 0xe3, 0x7b, 0xb2, 0xe5, 0xdb, 0x04, 0x4b, 0x8c, + 0xf9, 0xcc, 0x80, 0x72, 0x28, 0x69, 0xcb, 0xea, 0x33, 0x82, 0xd6, 0x23, 0x2f, 0xc2, 0x74, 0xeb, + 0xc1, 0x36, 0xf7, 0xce, 0x79, 0x40, 0x2e, 0x87, 0xf5, 0x92, 0x24, 0x13, 0x87, 0xc8, 0x81, 0x44, + 0x8c, 0x72, 0xd7, 0xc4, 0xe8, 0x35, 0xc8, 0xcb, 0x3d, 0x4d, 0x05, 0x33, 0x5a, 0xcb, 0xe4, 0x2e, + 0x87, 0x43, 0x9c, 0xf9, 0x87, 0x1c, 0x54, 0x52, 0xce, 0x65, 0x58, 0x8d, 0xa2, 0xb7, 0x57, 0x2e, + 0xc3, 0x7b, 0x7e, 0xf2, 0x47, 0xc1, 0x1f, 0x40, 0xa1, 0x23, 0xfc, 0xd3, 0x5f, 0x65, 0xd7, 0xa7, + 0x49, 0x85, 0x8c, 0x4c, 0x5c, 0x49, 0xf2, 0xc8, 0xb0, 0x12, 0x88, 0x76, 0x60, 0x99, 0x12, 0x4e, + 0xcf, 0x37, 0x8f, 0x39, 0xa1, 0xc9, 0x65, 0x31, 0x1f, 0x2f, 0x0f, 0x78, 0x94, 0x00, 0x8f, 0xf3, + 0x98, 0x2e, 0xcc, 0x89, 0xc1, 0x2e, 0xc2, 0xce, 0x52, 0x9f, 0xad, 0xa2, 0xb0, 0x6b, 0x66, 0x8d, + 0x17, 0xd1, 0xf1, 0x2c, 0xcf, 0x0f, 0x8b, 0x3d, 0x1f, 0x47, 0xe7, 0xa1, 0x00, 0xe2, 0x10, 0x77, + 0x77, 0x45, 0x3c, 0x20, 0x7f, 0xf3, 0xbc, 0x3e, 0xf3, 0xec, 0x79, 0x7d, 0xe6, 0x83, 0xe7, 0xea, + 0x31, 0xf9, 0x43, 0x28, 0xc5, 0x6b, 0xc4, 0xa7, 0xac, 0xd2, 0xfc, 0x31, 0x14, 0x45, 0x25, 0xe9, + 0xf5, 0xf7, 0x9a, 0xa6, 0x9f, 0x6e, 0xc7, 0xb9, 0x2c, 0xed, 0xd8, 0xdc, 0x80, 0xf0, 0x3b, 0xad, + 0xe8, 0x84, 0x0e, 0x27, 0xbd, 0x54, 0x27, 0xdc, 0x15, 0x00, 0x1c, 0xc2, 0x13, 0xef, 0xe7, 0x5f, + 0x19, 0x00, 0xf2, 0x9d, 0xb0, 0x3d, 0x10, 0x6f, 0xbb, 0x35, 0x98, 0x13, 0x2d, 0x76, 0xd4, 0x30, + 0x79, 0x05, 0x24, 0x06, 0x3d, 0x82, 0x82, 0x2f, 0xd7, 0x0b, 0xf5, 0xf1, 0xef, 0xcd, 0x89, 0x55, + 0xa3, 0xfe, 0x69, 0xd3, 0xc0, 0xd6, 0xd3, 0xed, 0x33, 0x4e, 0x3c, 0x61, 0x63, 0x5c, 0x31, 0xe1, + 0x8e, 0x82, 0x95, 0xb0, 0xd6, 0xeb, 0x2f, 0x5e, 0xd6, 0x66, 0x3e, 0x7c, 0x59, 0x9b, 0xf9, 0xfb, + 0xcb, 0xda, 0xcc, 0xfb, 0x17, 0x35, 0xe3, 0xc5, 0x45, 0xcd, 0xf8, 0xf0, 0xa2, 0x66, 0xfc, 0xf3, + 0xa2, 0x66, 0x3c, 0xfb, 0x57, 0x6d, 0xe6, 0xdd, 0xdc, 0x60, 0xfd, 0x7f, 0x01, 0x00, 0x00, 0xff, + 0xff, 0x0c, 0x01, 0x08, 0xec, 0xf6, 0x1a, 0x00, 0x00, } diff --git a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto index 2acd4727..70699610 100644 --- a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto +++ b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto @@ -105,6 +105,26 @@ message APIVersions { repeated ServerAddressByClientCIDR serverAddressByClientCIDRs = 2; } +// DeleteOptions may be provided when deleting an API object. +message DeleteOptions { + // The duration in seconds before the object should be deleted. Value must be non-negative integer. + // The value zero indicates delete immediately. If this value is nil, the default grace period for the + // specified type will be used. + // Defaults to a per object value if not specified. zero means delete immediately. + // +optional + optional int64 gracePeriodSeconds = 1; + + // Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be + // returned. + // +optional + optional Preconditions preconditions = 2; + + // Should the dependent objects be orphaned. If true/false, the "orphan" + // finalizer will be added to/removed from the object's finalizers list. + // +optional + optional bool orphanDependents = 3; +} + // Duration is a wrapper around time.Duration which supports correct // marshaling to YAML and JSON. In particular, it marshals into strings, which // can be used as map keys in json. @@ -449,6 +469,13 @@ message OwnerReference { optional bool controller = 6; } +// Preconditions must be fulfilled before an operation (update, delete, etc.) is carried out. +message Preconditions { + // Specifies the target UID. + // +optional + optional string uid = 1; +} + // RootPaths lists the paths available at root. // For example: "/healthz", "/apis". message RootPaths { diff --git a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/helpers.go b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/helpers.go index 5836bb32..877aa193 100644 --- a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/helpers.go +++ b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/helpers.go @@ -22,6 +22,7 @@ import ( "k8s.io/apimachinery/pkg/fields" "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/selection" + "k8s.io/apimachinery/pkg/types" ) // LabelSelectorAsSelector converts the LabelSelector api type into a struct that implements @@ -204,3 +205,24 @@ func SingleObject(meta ObjectMeta) ListOptions { ResourceVersion: meta.ResourceVersion, } } + +// NewDeleteOptions returns a DeleteOptions indicating the resource should +// be deleted within the specified grace period. Use zero to indicate +// immediate deletion. If you would prefer to use the default grace period, +// use &metav1.DeleteOptions{} directly. +func NewDeleteOptions(grace int64) *DeleteOptions { + return &DeleteOptions{GracePeriodSeconds: &grace} +} + +// NewPreconditionDeleteOptions returns a DeleteOptions with a UID precondition set. +func NewPreconditionDeleteOptions(uid string) *DeleteOptions { + u := types.UID(uid) + p := Preconditions{UID: &u} + return &DeleteOptions{Preconditions: &p} +} + +// NewUIDPreconditions returns a Preconditions with UID set. +func NewUIDPreconditions(uid string) *Preconditions { + u := types.UID(uid) + return &Preconditions{UID: &u} +} diff --git a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/register.go b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/register.go index ec3c221d..735f5e6c 100644 --- a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/register.go +++ b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/register.go @@ -42,7 +42,12 @@ func AddToGroupVersion(scheme *runtime.Scheme, groupVersion schema.GroupVersion) schema.GroupVersion{Group: groupVersion.Group, Version: runtime.APIVersionInternal}.WithKind(WatchEventKind), &InternalEvent{}, ) - scheme.AddKnownTypes(groupVersion, &ListOptions{}) + scheme.AddKnownTypes(groupVersion, + &ListOptions{}, + &ExportOptions{}, + &GetOptions{}, + &DeleteOptions{}, + ) scheme.AddConversionFuncs( Convert_versioned_Event_to_watch_Event, Convert_versioned_InternalEvent_to_versioned_Event, diff --git a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/types.go b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/types.go index dd096ffa..feb5e72e 100644 --- a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/types.go +++ b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/types.go @@ -298,6 +298,35 @@ type GetOptions struct { ResourceVersion string `json:"resourceVersion,omitempty" protobuf:"bytes,1,opt,name=resourceVersion"` } +// DeleteOptions may be provided when deleting an API object. +type DeleteOptions struct { + TypeMeta `json:",inline"` + + // The duration in seconds before the object should be deleted. Value must be non-negative integer. + // The value zero indicates delete immediately. If this value is nil, the default grace period for the + // specified type will be used. + // Defaults to a per object value if not specified. zero means delete immediately. + // +optional + GracePeriodSeconds *int64 `json:"gracePeriodSeconds,omitempty" protobuf:"varint,1,opt,name=gracePeriodSeconds"` + + // Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be + // returned. + // +optional + Preconditions *Preconditions `json:"preconditions,omitempty" protobuf:"bytes,2,opt,name=preconditions"` + + // Should the dependent objects be orphaned. If true/false, the "orphan" + // finalizer will be added to/removed from the object's finalizers list. + // +optional + OrphanDependents *bool `json:"orphanDependents,omitempty" protobuf:"varint,3,opt,name=orphanDependents"` +} + +// Preconditions must be fulfilled before an operation (update, delete, etc.) is carried out. +type Preconditions struct { + // Specifies the target UID. + // +optional + UID *types.UID `json:"uid,omitempty" protobuf:"bytes,1,opt,name=uid,casttype=k8s.io/apimachinery/pkg/types.UID"` +} + // Status is a return value for calls that don't return other objects. type Status struct { TypeMeta `json:",inline"` diff --git a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/types_swagger_doc_generated.go b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/types_swagger_doc_generated.go index 43eb0f11..3b23e525 100644 --- a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/types_swagger_doc_generated.go +++ b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/types_swagger_doc_generated.go @@ -80,6 +80,17 @@ func (APIVersions) SwaggerDoc() map[string]string { return map_APIVersions } +var map_DeleteOptions = map[string]string{ + "": "DeleteOptions may be provided when deleting an API object.", + "gracePeriodSeconds": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", + "preconditions": "Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned.", + "orphanDependents": "Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list.", +} + +func (DeleteOptions) SwaggerDoc() map[string]string { + return map_DeleteOptions +} + var map_ExportOptions = map[string]string{ "": "ExportOptions is the query options to the standard REST get call.", "export": "Should this value be exported. Export strips fields that a user can not specify.", @@ -197,6 +208,15 @@ func (Patch) SwaggerDoc() map[string]string { return map_Patch } +var map_Preconditions = map[string]string{ + "": "Preconditions must be fulfilled before an operation (update, delete, etc.) is carried out.", + "uid": "Specifies the target UID.", +} + +func (Preconditions) SwaggerDoc() map[string]string { + return map_Preconditions +} + var map_RootPaths = map[string]string{ "": "RootPaths lists the paths available at root. For example: \"/healthz\", \"/apis\".", "paths": "paths are the paths available at root.", diff --git a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/zz_generated.deepcopy.go b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/zz_generated.deepcopy.go index 871767e9..4bc909c1 100644 --- a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/zz_generated.deepcopy.go +++ b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/zz_generated.deepcopy.go @@ -23,6 +23,7 @@ package v1 import ( conversion "k8s.io/apimachinery/pkg/conversion" runtime "k8s.io/apimachinery/pkg/runtime" + types "k8s.io/apimachinery/pkg/types" reflect "reflect" ) @@ -34,6 +35,7 @@ func GetGeneratedDeepCopyFuncs() []conversion.GeneratedDeepCopyFunc { {Fn: DeepCopy_v1_APIResource, InType: reflect.TypeOf(&APIResource{})}, {Fn: DeepCopy_v1_APIResourceList, InType: reflect.TypeOf(&APIResourceList{})}, {Fn: DeepCopy_v1_APIVersions, InType: reflect.TypeOf(&APIVersions{})}, + {Fn: DeepCopy_v1_DeleteOptions, InType: reflect.TypeOf(&DeleteOptions{})}, {Fn: DeepCopy_v1_Duration, InType: reflect.TypeOf(&Duration{})}, {Fn: DeepCopy_v1_ExportOptions, InType: reflect.TypeOf(&ExportOptions{})}, {Fn: DeepCopy_v1_GetOptions, InType: reflect.TypeOf(&GetOptions{})}, @@ -51,6 +53,7 @@ func GetGeneratedDeepCopyFuncs() []conversion.GeneratedDeepCopyFunc { {Fn: DeepCopy_v1_ObjectMeta, InType: reflect.TypeOf(&ObjectMeta{})}, {Fn: DeepCopy_v1_OwnerReference, InType: reflect.TypeOf(&OwnerReference{})}, {Fn: DeepCopy_v1_Patch, InType: reflect.TypeOf(&Patch{})}, + {Fn: DeepCopy_v1_Preconditions, InType: reflect.TypeOf(&Preconditions{})}, {Fn: DeepCopy_v1_RootPaths, InType: reflect.TypeOf(&RootPaths{})}, {Fn: DeepCopy_v1_ServerAddressByClientCIDR, InType: reflect.TypeOf(&ServerAddressByClientCIDR{})}, {Fn: DeepCopy_v1_Status, InType: reflect.TypeOf(&Status{})}, @@ -71,16 +74,12 @@ func DeepCopy_v1_APIGroup(in interface{}, out interface{}, c *conversion.Cloner) if in.Versions != nil { in, out := &in.Versions, &out.Versions *out = make([]GroupVersionForDiscovery, len(*in)) - for i := range *in { - (*out)[i] = (*in)[i] - } + copy(*out, *in) } if in.ServerAddressByClientCIDRs != nil { in, out := &in.ServerAddressByClientCIDRs, &out.ServerAddressByClientCIDRs *out = make([]ServerAddressByClientCIDR, len(*in)) - for i := range *in { - (*out)[i] = (*in)[i] - } + copy(*out, *in) } return nil } @@ -153,10 +152,35 @@ func DeepCopy_v1_APIVersions(in interface{}, out interface{}, c *conversion.Clon if in.ServerAddressByClientCIDRs != nil { in, out := &in.ServerAddressByClientCIDRs, &out.ServerAddressByClientCIDRs *out = make([]ServerAddressByClientCIDR, len(*in)) - for i := range *in { - (*out)[i] = (*in)[i] + copy(*out, *in) + } + return nil + } +} + +func DeepCopy_v1_DeleteOptions(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*DeleteOptions) + out := out.(*DeleteOptions) + *out = *in + if in.GracePeriodSeconds != nil { + in, out := &in.GracePeriodSeconds, &out.GracePeriodSeconds + *out = new(int64) + **out = **in + } + if in.Preconditions != nil { + in, out := &in.Preconditions, &out.Preconditions + if newVal, err := c.DeepCopy(*in); err != nil { + return err + } else { + *out = newVal.(*Preconditions) } } + if in.OrphanDependents != nil { + in, out := &in.OrphanDependents, &out.OrphanDependents + *out = new(bool) + **out = **in + } return nil } } @@ -396,6 +420,20 @@ func DeepCopy_v1_Patch(in interface{}, out interface{}, c *conversion.Cloner) er } } +func DeepCopy_v1_Preconditions(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*Preconditions) + out := out.(*Preconditions) + *out = *in + if in.UID != nil { + in, out := &in.UID, &out.UID + *out = new(types.UID) + **out = **in + } + return nil + } +} + func DeepCopy_v1_RootPaths(in interface{}, out interface{}, c *conversion.Cloner) error { { in := in.(*RootPaths) @@ -453,9 +491,7 @@ func DeepCopy_v1_StatusDetails(in interface{}, out interface{}, c *conversion.Cl if in.Causes != nil { in, out := &in.Causes, &out.Causes *out = make([]StatusCause, len(*in)) - for i := range *in { - (*out)[i] = (*in)[i] - } + copy(*out, *in) } return nil } diff --git a/vendor/k8s.io/apimachinery/pkg/conversion/OWNERS b/vendor/k8s.io/apimachinery/pkg/conversion/OWNERS index a046efc0..c25e7faf 100644 --- a/vendor/k8s.io/apimachinery/pkg/conversion/OWNERS +++ b/vendor/k8s.io/apimachinery/pkg/conversion/OWNERS @@ -1,5 +1,10 @@ -assignees: - - derekwaynecarr - - lavalamp - - smarterclayton - - wojtek-t +approvers: +- derekwaynecarr +- lavalamp +- smarterclayton +- wojtek-t +reviewers: +- derekwaynecarr +- lavalamp +- smarterclayton +- wojtek-t diff --git a/vendor/k8s.io/apimachinery/pkg/fields/selector.go b/vendor/k8s.io/apimachinery/pkg/fields/selector.go index 3959c032..554d011d 100644 --- a/vendor/k8s.io/apimachinery/pkg/fields/selector.go +++ b/vendor/k8s.io/apimachinery/pkg/fields/selector.go @@ -17,6 +17,7 @@ limitations under the License. package fields import ( + "bytes" "fmt" "sort" "strings" @@ -90,7 +91,7 @@ func (t *hasTerm) Requirements() Requirements { } func (t *hasTerm) String() string { - return fmt.Sprintf("%v=%v", t.field, t.value) + return fmt.Sprintf("%v=%v", t.field, EscapeValue(t.value)) } type notHasTerm struct { @@ -126,7 +127,7 @@ func (t *notHasTerm) Requirements() Requirements { } func (t *notHasTerm) String() string { - return fmt.Sprintf("%v!=%v", t.field, t.value) + return fmt.Sprintf("%v!=%v", t.field, EscapeValue(t.value)) } type andTerm []Selector @@ -212,6 +213,81 @@ func SelectorFromSet(ls Set) Selector { return andTerm(items) } +// valueEscaper prefixes \,= characters with a backslash +var valueEscaper = strings.NewReplacer( + // escape \ characters + `\`, `\\`, + // then escape , and = characters to allow unambiguous parsing of the value in a fieldSelector + `,`, `\,`, + `=`, `\=`, +) + +// Escapes an arbitrary literal string for use as a fieldSelector value +func EscapeValue(s string) string { + return valueEscaper.Replace(s) +} + +// InvalidEscapeSequence indicates an error occurred unescaping a field selector +type InvalidEscapeSequence struct { + sequence string +} + +func (i InvalidEscapeSequence) Error() string { + return fmt.Sprintf("invalid field selector: invalid escape sequence: %s", i.sequence) +} + +// UnescapedRune indicates an error occurred unescaping a field selector +type UnescapedRune struct { + r rune +} + +func (i UnescapedRune) Error() string { + return fmt.Sprintf("invalid field selector: unescaped character in value: %v", i.r) +} + +// Unescapes a fieldSelector value and returns the original literal value. +// May return the original string if it contains no escaped or special characters. +func UnescapeValue(s string) (string, error) { + // if there's no escaping or special characters, just return to avoid allocation + if !strings.ContainsAny(s, `\,=`) { + return s, nil + } + + v := bytes.NewBuffer(make([]byte, 0, len(s))) + inSlash := false + for _, c := range s { + if inSlash { + switch c { + case '\\', ',', '=': + // omit the \ for recognized escape sequences + v.WriteRune(c) + default: + // error on unrecognized escape sequences + return "", InvalidEscapeSequence{sequence: string([]rune{'\\', c})} + } + inSlash = false + continue + } + + switch c { + case '\\': + inSlash = true + case ',', '=': + // unescaped , and = characters are not allowed in field selector values + return "", UnescapedRune{r: c} + default: + v.WriteRune(c) + } + } + + // Ending with a single backslash is an invalid sequence + if inSlash { + return "", InvalidEscapeSequence{sequence: "\\"} + } + + return v.String(), nil +} + // ParseSelectorOrDie takes a string representing a selector and returns an // object suitable for matching, or panic when an error occur. func ParseSelectorOrDie(s string) Selector { @@ -239,29 +315,83 @@ func ParseAndTransformSelector(selector string, fn TransformFunc) (Selector, err // Function to transform selectors. type TransformFunc func(field, value string) (newField, newValue string, err error) -func try(selectorPiece, op string) (lhs, rhs string, ok bool) { - pieces := strings.Split(selectorPiece, op) - if len(pieces) == 2 { - return pieces[0], pieces[1], true +// splitTerms returns the comma-separated terms contained in the given fieldSelector. +// Backslash-escaped commas are treated as data instead of delimiters, and are included in the returned terms, with the leading backslash preserved. +func splitTerms(fieldSelector string) []string { + if len(fieldSelector) == 0 { + return nil } - return "", "", false + + terms := make([]string, 0, 1) + startIndex := 0 + inSlash := false + for i, c := range fieldSelector { + switch { + case inSlash: + inSlash = false + case c == '\\': + inSlash = true + case c == ',': + terms = append(terms, fieldSelector[startIndex:i]) + startIndex = i + 1 + } + } + + terms = append(terms, fieldSelector[startIndex:]) + + return terms +} + +const ( + notEqualOperator = "!=" + doubleEqualOperator = "==" + equalOperator = "=" +) + +// termOperators holds the recognized operators supported in fieldSelectors. +// doubleEqualOperator and equal are equivalent, but doubleEqualOperator is checked first +// to avoid leaving a leading = character on the rhs value. +var termOperators = []string{notEqualOperator, doubleEqualOperator, equalOperator} + +// splitTerm returns the lhs, operator, and rhs parsed from the given term, along with an indicator of whether the parse was successful. +// no escaping of special characters is supported in the lhs value, so the first occurance of a recognized operator is used as the split point. +// the literal rhs is returned, and the caller is responsible for applying any desired unescaping. +func splitTerm(term string) (lhs, op, rhs string, ok bool) { + for i := range term { + remaining := term[i:] + for _, op := range termOperators { + if strings.HasPrefix(remaining, op) { + return term[0:i], op, term[i+len(op):], true + } + } + } + return "", "", "", false } func parseSelector(selector string, fn TransformFunc) (Selector, error) { - parts := strings.Split(selector, ",") + parts := splitTerms(selector) sort.StringSlice(parts).Sort() var items []Selector for _, part := range parts { if part == "" { continue } - if lhs, rhs, ok := try(part, "!="); ok { - items = append(items, ¬HasTerm{field: lhs, value: rhs}) - } else if lhs, rhs, ok := try(part, "=="); ok { - items = append(items, &hasTerm{field: lhs, value: rhs}) - } else if lhs, rhs, ok := try(part, "="); ok { - items = append(items, &hasTerm{field: lhs, value: rhs}) - } else { + lhs, op, rhs, ok := splitTerm(part) + if !ok { + return nil, fmt.Errorf("invalid selector: '%s'; can't understand '%s'", selector, part) + } + unescapedRHS, err := UnescapeValue(rhs) + if err != nil { + return nil, err + } + switch op { + case notEqualOperator: + items = append(items, ¬HasTerm{field: lhs, value: unescapedRHS}) + case doubleEqualOperator: + items = append(items, &hasTerm{field: lhs, value: unescapedRHS}) + case equalOperator: + items = append(items, &hasTerm{field: lhs, value: unescapedRHS}) + default: return nil, fmt.Errorf("invalid selector: '%s'; can't understand '%s'", selector, part) } } diff --git a/vendor/k8s.io/apimachinery/pkg/labels/selector.go b/vendor/k8s.io/apimachinery/pkg/labels/selector.go index 8cfa44ba..9bddc35a 100644 --- a/vendor/k8s.io/apimachinery/pkg/labels/selector.go +++ b/vendor/k8s.io/apimachinery/pkg/labels/selector.go @@ -793,7 +793,7 @@ func validateLabelValue(v string) error { // SelectorFromSet returns a Selector which will match exactly the given Set. A // nil and empty Sets are considered equivalent to Everything(). func SelectorFromSet(ls Set) Selector { - if ls == nil { + if ls == nil || len(ls) == 0 { return internalSelector{} } var requirements internalSelector @@ -807,14 +807,14 @@ func SelectorFromSet(ls Set) Selector { } // sort to have deterministic string representation sort.Sort(ByKey(requirements)) - return internalSelector(requirements) + return requirements } // SelectorFromValidatedSet returns a Selector which will match exactly the given Set. // A nil and empty Sets are considered equivalent to Everything(). // It assumes that Set is already validated and doesn't do any validation. func SelectorFromValidatedSet(ls Set) Selector { - if ls == nil { + if ls == nil || len(ls) == 0 { return internalSelector{} } var requirements internalSelector @@ -823,7 +823,7 @@ func SelectorFromValidatedSet(ls Set) Selector { } // sort to have deterministic string representation sort.Sort(ByKey(requirements)) - return internalSelector(requirements) + return requirements } // ParseToRequirements takes a string representing a selector and returns a list of