summaryrefslogtreecommitdiffstats
path: root/vendor/tinyvec/src/array/generated_impl.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/tinyvec/src/array/generated_impl.rs')
-rw-r--r--vendor/tinyvec/src/array/generated_impl.rs9616
1 files changed, 9616 insertions, 0 deletions
diff --git a/vendor/tinyvec/src/array/generated_impl.rs b/vendor/tinyvec/src/array/generated_impl.rs
new file mode 100644
index 000000000..d72169c5b
--- /dev/null
+++ b/vendor/tinyvec/src/array/generated_impl.rs
@@ -0,0 +1,9616 @@
+// Generated file, to regenerate run
+// ./gen-array-impls.sh > src/array/generated_impl.rs
+// from the repo root
+
+use super::Array;
+
+impl<T: Default> Array for [T; 0] {
+ type Item = T;
+ const CAPACITY: usize = 0;
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice(&self) -> &[T] {
+ &*self
+ }
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice_mut(&mut self) -> &mut [T] {
+ &mut *self
+ }
+
+ #[inline(always)]
+ fn default() -> Self {
+ []
+ }
+}
+
+impl<T: Default> Array for [T; 1] {
+ type Item = T;
+ const CAPACITY: usize = 1;
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice(&self) -> &[T] {
+ &*self
+ }
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice_mut(&mut self) -> &mut [T] {
+ &mut *self
+ }
+
+ #[inline(always)]
+ fn default() -> Self {
+ [T::default()]
+ }
+}
+
+impl<T: Default> Array for [T; 2] {
+ type Item = T;
+ const CAPACITY: usize = 2;
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice(&self) -> &[T] {
+ &*self
+ }
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice_mut(&mut self) -> &mut [T] {
+ &mut *self
+ }
+
+ #[inline(always)]
+ fn default() -> Self {
+ [T::default(), T::default()]
+ }
+}
+
+impl<T: Default> Array for [T; 3] {
+ type Item = T;
+ const CAPACITY: usize = 3;
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice(&self) -> &[T] {
+ &*self
+ }
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice_mut(&mut self) -> &mut [T] {
+ &mut *self
+ }
+
+ #[inline(always)]
+ fn default() -> Self {
+ [T::default(), T::default(), T::default()]
+ }
+}
+
+impl<T: Default> Array for [T; 4] {
+ type Item = T;
+ const CAPACITY: usize = 4;
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice(&self) -> &[T] {
+ &*self
+ }
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice_mut(&mut self) -> &mut [T] {
+ &mut *self
+ }
+
+ #[inline(always)]
+ fn default() -> Self {
+ [T::default(), T::default(), T::default(), T::default()]
+ }
+}
+
+impl<T: Default> Array for [T; 5] {
+ type Item = T;
+ const CAPACITY: usize = 5;
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice(&self) -> &[T] {
+ &*self
+ }
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice_mut(&mut self) -> &mut [T] {
+ &mut *self
+ }
+
+ #[inline(always)]
+ fn default() -> Self {
+ [T::default(), T::default(), T::default(), T::default(), T::default()]
+ }
+}
+
+impl<T: Default> Array for [T; 6] {
+ type Item = T;
+ const CAPACITY: usize = 6;
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice(&self) -> &[T] {
+ &*self
+ }
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice_mut(&mut self) -> &mut [T] {
+ &mut *self
+ }
+
+ #[inline(always)]
+ fn default() -> Self {
+ [
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ ]
+ }
+}
+
+impl<T: Default> Array for [T; 7] {
+ type Item = T;
+ const CAPACITY: usize = 7;
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice(&self) -> &[T] {
+ &*self
+ }
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice_mut(&mut self) -> &mut [T] {
+ &mut *self
+ }
+
+ #[inline(always)]
+ fn default() -> Self {
+ [
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ ]
+ }
+}
+
+impl<T: Default> Array for [T; 8] {
+ type Item = T;
+ const CAPACITY: usize = 8;
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice(&self) -> &[T] {
+ &*self
+ }
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice_mut(&mut self) -> &mut [T] {
+ &mut *self
+ }
+
+ #[inline(always)]
+ fn default() -> Self {
+ [
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ ]
+ }
+}
+
+impl<T: Default> Array for [T; 9] {
+ type Item = T;
+ const CAPACITY: usize = 9;
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice(&self) -> &[T] {
+ &*self
+ }
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice_mut(&mut self) -> &mut [T] {
+ &mut *self
+ }
+
+ #[inline(always)]
+ fn default() -> Self {
+ [
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ ]
+ }
+}
+
+impl<T: Default> Array for [T; 10] {
+ type Item = T;
+ const CAPACITY: usize = 10;
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice(&self) -> &[T] {
+ &*self
+ }
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice_mut(&mut self) -> &mut [T] {
+ &mut *self
+ }
+
+ #[inline(always)]
+ fn default() -> Self {
+ [
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ ]
+ }
+}
+
+impl<T: Default> Array for [T; 11] {
+ type Item = T;
+ const CAPACITY: usize = 11;
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice(&self) -> &[T] {
+ &*self
+ }
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice_mut(&mut self) -> &mut [T] {
+ &mut *self
+ }
+
+ #[inline(always)]
+ fn default() -> Self {
+ [
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ ]
+ }
+}
+
+impl<T: Default> Array for [T; 12] {
+ type Item = T;
+ const CAPACITY: usize = 12;
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice(&self) -> &[T] {
+ &*self
+ }
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice_mut(&mut self) -> &mut [T] {
+ &mut *self
+ }
+
+ #[inline(always)]
+ fn default() -> Self {
+ [
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ ]
+ }
+}
+
+impl<T: Default> Array for [T; 13] {
+ type Item = T;
+ const CAPACITY: usize = 13;
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice(&self) -> &[T] {
+ &*self
+ }
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice_mut(&mut self) -> &mut [T] {
+ &mut *self
+ }
+
+ #[inline(always)]
+ fn default() -> Self {
+ [
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ ]
+ }
+}
+
+impl<T: Default> Array for [T; 14] {
+ type Item = T;
+ const CAPACITY: usize = 14;
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice(&self) -> &[T] {
+ &*self
+ }
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice_mut(&mut self) -> &mut [T] {
+ &mut *self
+ }
+
+ #[inline(always)]
+ fn default() -> Self {
+ [
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ ]
+ }
+}
+
+impl<T: Default> Array for [T; 15] {
+ type Item = T;
+ const CAPACITY: usize = 15;
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice(&self) -> &[T] {
+ &*self
+ }
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice_mut(&mut self) -> &mut [T] {
+ &mut *self
+ }
+
+ #[inline(always)]
+ fn default() -> Self {
+ [
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ ]
+ }
+}
+
+impl<T: Default> Array for [T; 16] {
+ type Item = T;
+ const CAPACITY: usize = 16;
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice(&self) -> &[T] {
+ &*self
+ }
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice_mut(&mut self) -> &mut [T] {
+ &mut *self
+ }
+
+ #[inline(always)]
+ fn default() -> Self {
+ [
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ ]
+ }
+}
+
+impl<T: Default> Array for [T; 17] {
+ type Item = T;
+ const CAPACITY: usize = 17;
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice(&self) -> &[T] {
+ &*self
+ }
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice_mut(&mut self) -> &mut [T] {
+ &mut *self
+ }
+
+ #[inline(always)]
+ fn default() -> Self {
+ [
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ ]
+ }
+}
+
+impl<T: Default> Array for [T; 18] {
+ type Item = T;
+ const CAPACITY: usize = 18;
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice(&self) -> &[T] {
+ &*self
+ }
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice_mut(&mut self) -> &mut [T] {
+ &mut *self
+ }
+
+ #[inline(always)]
+ fn default() -> Self {
+ [
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ ]
+ }
+}
+
+impl<T: Default> Array for [T; 19] {
+ type Item = T;
+ const CAPACITY: usize = 19;
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice(&self) -> &[T] {
+ &*self
+ }
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice_mut(&mut self) -> &mut [T] {
+ &mut *self
+ }
+
+ #[inline(always)]
+ fn default() -> Self {
+ [
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ ]
+ }
+}
+
+impl<T: Default> Array for [T; 20] {
+ type Item = T;
+ const CAPACITY: usize = 20;
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice(&self) -> &[T] {
+ &*self
+ }
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice_mut(&mut self) -> &mut [T] {
+ &mut *self
+ }
+
+ #[inline(always)]
+ fn default() -> Self {
+ [
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ ]
+ }
+}
+
+impl<T: Default> Array for [T; 21] {
+ type Item = T;
+ const CAPACITY: usize = 21;
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice(&self) -> &[T] {
+ &*self
+ }
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice_mut(&mut self) -> &mut [T] {
+ &mut *self
+ }
+
+ #[inline(always)]
+ fn default() -> Self {
+ [
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ ]
+ }
+}
+
+impl<T: Default> Array for [T; 22] {
+ type Item = T;
+ const CAPACITY: usize = 22;
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice(&self) -> &[T] {
+ &*self
+ }
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice_mut(&mut self) -> &mut [T] {
+ &mut *self
+ }
+
+ #[inline(always)]
+ fn default() -> Self {
+ [
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ ]
+ }
+}
+
+impl<T: Default> Array for [T; 23] {
+ type Item = T;
+ const CAPACITY: usize = 23;
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice(&self) -> &[T] {
+ &*self
+ }
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice_mut(&mut self) -> &mut [T] {
+ &mut *self
+ }
+
+ #[inline(always)]
+ fn default() -> Self {
+ [
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ ]
+ }
+}
+
+impl<T: Default> Array for [T; 24] {
+ type Item = T;
+ const CAPACITY: usize = 24;
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice(&self) -> &[T] {
+ &*self
+ }
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice_mut(&mut self) -> &mut [T] {
+ &mut *self
+ }
+
+ #[inline(always)]
+ fn default() -> Self {
+ [
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ ]
+ }
+}
+
+impl<T: Default> Array for [T; 25] {
+ type Item = T;
+ const CAPACITY: usize = 25;
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice(&self) -> &[T] {
+ &*self
+ }
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice_mut(&mut self) -> &mut [T] {
+ &mut *self
+ }
+
+ #[inline(always)]
+ fn default() -> Self {
+ [
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ ]
+ }
+}
+
+impl<T: Default> Array for [T; 26] {
+ type Item = T;
+ const CAPACITY: usize = 26;
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice(&self) -> &[T] {
+ &*self
+ }
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice_mut(&mut self) -> &mut [T] {
+ &mut *self
+ }
+
+ #[inline(always)]
+ fn default() -> Self {
+ [
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ ]
+ }
+}
+
+impl<T: Default> Array for [T; 27] {
+ type Item = T;
+ const CAPACITY: usize = 27;
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice(&self) -> &[T] {
+ &*self
+ }
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice_mut(&mut self) -> &mut [T] {
+ &mut *self
+ }
+
+ #[inline(always)]
+ fn default() -> Self {
+ [
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ ]
+ }
+}
+
+impl<T: Default> Array for [T; 28] {
+ type Item = T;
+ const CAPACITY: usize = 28;
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice(&self) -> &[T] {
+ &*self
+ }
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice_mut(&mut self) -> &mut [T] {
+ &mut *self
+ }
+
+ #[inline(always)]
+ fn default() -> Self {
+ [
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ ]
+ }
+}
+
+impl<T: Default> Array for [T; 29] {
+ type Item = T;
+ const CAPACITY: usize = 29;
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice(&self) -> &[T] {
+ &*self
+ }
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice_mut(&mut self) -> &mut [T] {
+ &mut *self
+ }
+
+ #[inline(always)]
+ fn default() -> Self {
+ [
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ ]
+ }
+}
+
+impl<T: Default> Array for [T; 30] {
+ type Item = T;
+ const CAPACITY: usize = 30;
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice(&self) -> &[T] {
+ &*self
+ }
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice_mut(&mut self) -> &mut [T] {
+ &mut *self
+ }
+
+ #[inline(always)]
+ fn default() -> Self {
+ [
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ ]
+ }
+}
+
+impl<T: Default> Array for [T; 31] {
+ type Item = T;
+ const CAPACITY: usize = 31;
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice(&self) -> &[T] {
+ &*self
+ }
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice_mut(&mut self) -> &mut [T] {
+ &mut *self
+ }
+
+ #[inline(always)]
+ fn default() -> Self {
+ [
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ ]
+ }
+}
+
+impl<T: Default> Array for [T; 32] {
+ type Item = T;
+ const CAPACITY: usize = 32;
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice(&self) -> &[T] {
+ &*self
+ }
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice_mut(&mut self) -> &mut [T] {
+ &mut *self
+ }
+
+ #[inline(always)]
+ fn default() -> Self {
+ [
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ ]
+ }
+}
+
+impl<T: Default> Array for [T; 33] {
+ type Item = T;
+ const CAPACITY: usize = 33;
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice(&self) -> &[T] {
+ &*self
+ }
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice_mut(&mut self) -> &mut [T] {
+ &mut *self
+ }
+
+ #[inline(always)]
+ fn default() -> Self {
+ [
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ ]
+ }
+}
+
+impl<T: Default> Array for [T; 64] {
+ type Item = T;
+ const CAPACITY: usize = 64;
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice(&self) -> &[T] {
+ &*self
+ }
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice_mut(&mut self) -> &mut [T] {
+ &mut *self
+ }
+
+ #[inline(always)]
+ fn default() -> Self {
+ [
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ ]
+ }
+}
+
+impl<T: Default> Array for [T; 128] {
+ type Item = T;
+ const CAPACITY: usize = 128;
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice(&self) -> &[T] {
+ &*self
+ }
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice_mut(&mut self) -> &mut [T] {
+ &mut *self
+ }
+
+ #[inline(always)]
+ fn default() -> Self {
+ [
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ ]
+ }
+}
+
+impl<T: Default> Array for [T; 256] {
+ type Item = T;
+ const CAPACITY: usize = 256;
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice(&self) -> &[T] {
+ &*self
+ }
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice_mut(&mut self) -> &mut [T] {
+ &mut *self
+ }
+
+ #[inline(always)]
+ fn default() -> Self {
+ [
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ ]
+ }
+}
+
+impl<T: Default> Array for [T; 512] {
+ type Item = T;
+ const CAPACITY: usize = 512;
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice(&self) -> &[T] {
+ &*self
+ }
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice_mut(&mut self) -> &mut [T] {
+ &mut *self
+ }
+
+ #[inline(always)]
+ fn default() -> Self {
+ [
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ ]
+ }
+}
+
+impl<T: Default> Array for [T; 1024] {
+ type Item = T;
+ const CAPACITY: usize = 1024;
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice(&self) -> &[T] {
+ &*self
+ }
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice_mut(&mut self) -> &mut [T] {
+ &mut *self
+ }
+
+ #[inline(always)]
+ fn default() -> Self {
+ [
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ ]
+ }
+}
+
+impl<T: Default> Array for [T; 2048] {
+ type Item = T;
+ const CAPACITY: usize = 2048;
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice(&self) -> &[T] {
+ &*self
+ }
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice_mut(&mut self) -> &mut [T] {
+ &mut *self
+ }
+
+ #[inline(always)]
+ fn default() -> Self {
+ [
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ ]
+ }
+}
+
+impl<T: Default> Array for [T; 4096] {
+ type Item = T;
+ const CAPACITY: usize = 4096;
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice(&self) -> &[T] {
+ &*self
+ }
+
+ #[inline(always)]
+ #[must_use]
+ fn as_slice_mut(&mut self) -> &mut [T] {
+ &mut *self
+ }
+
+ #[inline(always)]
+ fn default() -> Self {
+ [
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ T::default(),
+ ]
+ }
+}