schema_org_types/schemas/classes/
user_blocks.rs

1use super::*;
2/// <https://schema.org/UserBlocks>
3#[cfg_attr(feature = "derive-debug", derive(Debug))]
4#[cfg_attr(feature = "derive-clone", derive(Clone))]
5#[deprecated = "This schema is superseded by <https://schema.org/InteractionCounter>."]
6pub struct UserBlocks {
7	/// <https://schema.org/about>
8	pub r#about: Vec<AboutProperty>,
9	/// <https://schema.org/actor>
10	pub r#actor: Vec<ActorProperty>,
11	/// <https://schema.org/aggregateRating>
12	pub r#aggregate_rating: Vec<AggregateRatingProperty>,
13	/// <https://schema.org/attendee>
14	pub r#attendee: Vec<AttendeeProperty>,
15	/// <https://schema.org/attendees>
16	#[deprecated = "This schema is superseded by <https://schema.org/attendee>."]
17	pub r#attendees: Vec<AttendeesProperty>,
18	/// <https://schema.org/audience>
19	pub r#audience: Vec<AudienceProperty>,
20	/// <https://schema.org/composer>
21	pub r#composer: Vec<ComposerProperty>,
22	/// <https://schema.org/contributor>
23	pub r#contributor: Vec<ContributorProperty>,
24	/// <https://schema.org/director>
25	pub r#director: Vec<DirectorProperty>,
26	/// <https://schema.org/doorTime>
27	pub r#door_time: Vec<DoorTimeProperty>,
28	/// <https://schema.org/duration>
29	pub r#duration: Vec<DurationProperty>,
30	/// <https://schema.org/endDate>
31	pub r#end_date: Vec<EndDateProperty>,
32	/// <https://schema.org/eventAttendanceMode>
33	pub r#event_attendance_mode: Vec<EventAttendanceModeProperty>,
34	/// <https://schema.org/eventSchedule>
35	pub r#event_schedule: Vec<EventScheduleProperty>,
36	/// <https://schema.org/eventStatus>
37	pub r#event_status: Vec<EventStatusProperty>,
38	/// <https://schema.org/funder>
39	pub r#funder: Vec<FunderProperty>,
40	/// <https://schema.org/funding>
41	pub r#funding: Vec<FundingProperty>,
42	/// <https://schema.org/inLanguage>
43	pub r#in_language: Vec<InLanguageProperty>,
44	/// <https://schema.org/isAccessibleForFree>
45	pub r#is_accessible_for_free: Vec<IsAccessibleForFreeProperty>,
46	/// <https://schema.org/keywords>
47	pub r#keywords: Vec<KeywordsProperty>,
48	/// <https://schema.org/location>
49	pub r#location: Vec<LocationProperty>,
50	/// <https://schema.org/maximumAttendeeCapacity>
51	pub r#maximum_attendee_capacity: Vec<MaximumAttendeeCapacityProperty>,
52	/// <https://schema.org/maximumPhysicalAttendeeCapacity>
53	pub r#maximum_physical_attendee_capacity: Vec<MaximumPhysicalAttendeeCapacityProperty>,
54	/// <https://schema.org/maximumVirtualAttendeeCapacity>
55	pub r#maximum_virtual_attendee_capacity: Vec<MaximumVirtualAttendeeCapacityProperty>,
56	/// <https://schema.org/offers>
57	pub r#offers: Vec<OffersProperty>,
58	/// <https://schema.org/organizer>
59	pub r#organizer: Vec<OrganizerProperty>,
60	/// <https://schema.org/performer>
61	pub r#performer: Vec<PerformerProperty>,
62	/// <https://schema.org/performers>
63	#[deprecated = "This schema is superseded by <https://schema.org/performer>."]
64	pub r#performers: Vec<PerformersProperty>,
65	/// <https://schema.org/previousStartDate>
66	pub r#previous_start_date: Vec<PreviousStartDateProperty>,
67	/// <https://schema.org/recordedIn>
68	pub r#recorded_in: Vec<RecordedInProperty>,
69	/// <https://schema.org/remainingAttendeeCapacity>
70	pub r#remaining_attendee_capacity: Vec<RemainingAttendeeCapacityProperty>,
71	/// <https://schema.org/review>
72	pub r#review: Vec<ReviewProperty>,
73	/// <https://schema.org/sponsor>
74	pub r#sponsor: Vec<SponsorProperty>,
75	/// <https://schema.org/startDate>
76	pub r#start_date: Vec<StartDateProperty>,
77	/// <https://schema.org/subEvent>
78	pub r#sub_event: Vec<SubEventProperty>,
79	/// <https://schema.org/subEvents>
80	#[deprecated = "This schema is superseded by <https://schema.org/subEvent>."]
81	pub r#sub_events: Vec<SubEventsProperty>,
82	/// <https://schema.org/superEvent>
83	pub r#super_event: Vec<SuperEventProperty>,
84	/// <https://schema.org/translator>
85	pub r#translator: Vec<TranslatorProperty>,
86	/// <https://schema.org/typicalAgeRange>
87	pub r#typical_age_range: Vec<TypicalAgeRangeProperty>,
88	/// <https://schema.org/workFeatured>
89	pub r#work_featured: Vec<WorkFeaturedProperty>,
90	/// <https://schema.org/workPerformed>
91	pub r#work_performed: Vec<WorkPerformedProperty>,
92	/// <https://schema.org/additionalType>
93	pub r#additional_type: Vec<AdditionalTypeProperty>,
94	/// <https://schema.org/alternateName>
95	pub r#alternate_name: Vec<AlternateNameProperty>,
96	/// <https://schema.org/description>
97	pub r#description: Vec<DescriptionProperty>,
98	/// <https://schema.org/disambiguatingDescription>
99	pub r#disambiguating_description: Vec<DisambiguatingDescriptionProperty>,
100	/// <https://schema.org/identifier>
101	pub r#identifier: Vec<IdentifierProperty>,
102	/// <https://schema.org/image>
103	pub r#image: Vec<ImageProperty>,
104	/// <https://schema.org/mainEntityOfPage>
105	pub r#main_entity_of_page: Vec<MainEntityOfPageProperty>,
106	/// <https://schema.org/name>
107	pub r#name: Vec<NameProperty>,
108	/// <https://schema.org/potentialAction>
109	pub r#potential_action: Vec<PotentialActionProperty>,
110	/// <https://schema.org/sameAs>
111	pub r#same_as: Vec<SameAsProperty>,
112	/// <https://schema.org/subjectOf>
113	pub r#subject_of: Vec<SubjectOfProperty>,
114	/// <https://schema.org/url>
115	pub r#url: Vec<UrlProperty>,
116}
117/// This trait is for properties from <https://schema.org/UserBlocks>.
118#[deprecated = "This schema is superseded by <https://schema.org/InteractionCounter>."]
119pub trait UserBlocksTrait {}
120impl UserBlocksTrait for UserBlocks {}
121impl EventTrait for UserBlocks {
122	fn get_about(&self) -> &[AboutProperty] {
123		self.r#about.as_slice()
124	}
125	fn take_about(&mut self) -> Vec<AboutProperty> {
126		std::mem::take(&mut self.r#about)
127	}
128	fn get_actor(&self) -> &[ActorProperty] {
129		self.r#actor.as_slice()
130	}
131	fn take_actor(&mut self) -> Vec<ActorProperty> {
132		std::mem::take(&mut self.r#actor)
133	}
134	fn get_aggregate_rating(&self) -> &[AggregateRatingProperty] {
135		self.r#aggregate_rating.as_slice()
136	}
137	fn take_aggregate_rating(&mut self) -> Vec<AggregateRatingProperty> {
138		std::mem::take(&mut self.r#aggregate_rating)
139	}
140	fn get_attendee(&self) -> &[AttendeeProperty] {
141		self.r#attendee.as_slice()
142	}
143	fn take_attendee(&mut self) -> Vec<AttendeeProperty> {
144		std::mem::take(&mut self.r#attendee)
145	}
146	fn get_attendees(&self) -> &[AttendeesProperty] {
147		self.r#attendees.as_slice()
148	}
149	fn take_attendees(&mut self) -> Vec<AttendeesProperty> {
150		std::mem::take(&mut self.r#attendees)
151	}
152	fn get_audience(&self) -> &[AudienceProperty] {
153		self.r#audience.as_slice()
154	}
155	fn take_audience(&mut self) -> Vec<AudienceProperty> {
156		std::mem::take(&mut self.r#audience)
157	}
158	fn get_composer(&self) -> &[ComposerProperty] {
159		self.r#composer.as_slice()
160	}
161	fn take_composer(&mut self) -> Vec<ComposerProperty> {
162		std::mem::take(&mut self.r#composer)
163	}
164	fn get_contributor(&self) -> &[ContributorProperty] {
165		self.r#contributor.as_slice()
166	}
167	fn take_contributor(&mut self) -> Vec<ContributorProperty> {
168		std::mem::take(&mut self.r#contributor)
169	}
170	fn get_director(&self) -> &[DirectorProperty] {
171		self.r#director.as_slice()
172	}
173	fn take_director(&mut self) -> Vec<DirectorProperty> {
174		std::mem::take(&mut self.r#director)
175	}
176	fn get_door_time(&self) -> &[DoorTimeProperty] {
177		self.r#door_time.as_slice()
178	}
179	fn take_door_time(&mut self) -> Vec<DoorTimeProperty> {
180		std::mem::take(&mut self.r#door_time)
181	}
182	fn get_duration(&self) -> &[DurationProperty] {
183		self.r#duration.as_slice()
184	}
185	fn take_duration(&mut self) -> Vec<DurationProperty> {
186		std::mem::take(&mut self.r#duration)
187	}
188	fn get_end_date(&self) -> &[EndDateProperty] {
189		self.r#end_date.as_slice()
190	}
191	fn take_end_date(&mut self) -> Vec<EndDateProperty> {
192		std::mem::take(&mut self.r#end_date)
193	}
194	fn get_event_attendance_mode(&self) -> &[EventAttendanceModeProperty] {
195		self.r#event_attendance_mode.as_slice()
196	}
197	fn take_event_attendance_mode(&mut self) -> Vec<EventAttendanceModeProperty> {
198		std::mem::take(&mut self.r#event_attendance_mode)
199	}
200	fn get_event_schedule(&self) -> &[EventScheduleProperty] {
201		self.r#event_schedule.as_slice()
202	}
203	fn take_event_schedule(&mut self) -> Vec<EventScheduleProperty> {
204		std::mem::take(&mut self.r#event_schedule)
205	}
206	fn get_event_status(&self) -> &[EventStatusProperty] {
207		self.r#event_status.as_slice()
208	}
209	fn take_event_status(&mut self) -> Vec<EventStatusProperty> {
210		std::mem::take(&mut self.r#event_status)
211	}
212	fn get_funder(&self) -> &[FunderProperty] {
213		self.r#funder.as_slice()
214	}
215	fn take_funder(&mut self) -> Vec<FunderProperty> {
216		std::mem::take(&mut self.r#funder)
217	}
218	fn get_funding(&self) -> &[FundingProperty] {
219		self.r#funding.as_slice()
220	}
221	fn take_funding(&mut self) -> Vec<FundingProperty> {
222		std::mem::take(&mut self.r#funding)
223	}
224	fn get_in_language(&self) -> &[InLanguageProperty] {
225		self.r#in_language.as_slice()
226	}
227	fn take_in_language(&mut self) -> Vec<InLanguageProperty> {
228		std::mem::take(&mut self.r#in_language)
229	}
230	fn get_is_accessible_for_free(&self) -> &[IsAccessibleForFreeProperty] {
231		self.r#is_accessible_for_free.as_slice()
232	}
233	fn take_is_accessible_for_free(&mut self) -> Vec<IsAccessibleForFreeProperty> {
234		std::mem::take(&mut self.r#is_accessible_for_free)
235	}
236	fn get_keywords(&self) -> &[KeywordsProperty] {
237		self.r#keywords.as_slice()
238	}
239	fn take_keywords(&mut self) -> Vec<KeywordsProperty> {
240		std::mem::take(&mut self.r#keywords)
241	}
242	fn get_location(&self) -> &[LocationProperty] {
243		self.r#location.as_slice()
244	}
245	fn take_location(&mut self) -> Vec<LocationProperty> {
246		std::mem::take(&mut self.r#location)
247	}
248	fn get_maximum_attendee_capacity(&self) -> &[MaximumAttendeeCapacityProperty] {
249		self.r#maximum_attendee_capacity.as_slice()
250	}
251	fn take_maximum_attendee_capacity(&mut self) -> Vec<MaximumAttendeeCapacityProperty> {
252		std::mem::take(&mut self.r#maximum_attendee_capacity)
253	}
254	fn get_maximum_physical_attendee_capacity(&self) -> &[MaximumPhysicalAttendeeCapacityProperty] {
255		self.r#maximum_physical_attendee_capacity.as_slice()
256	}
257	fn take_maximum_physical_attendee_capacity(
258		&mut self,
259	) -> Vec<MaximumPhysicalAttendeeCapacityProperty> {
260		std::mem::take(&mut self.r#maximum_physical_attendee_capacity)
261	}
262	fn get_maximum_virtual_attendee_capacity(&self) -> &[MaximumVirtualAttendeeCapacityProperty] {
263		self.r#maximum_virtual_attendee_capacity.as_slice()
264	}
265	fn take_maximum_virtual_attendee_capacity(
266		&mut self,
267	) -> Vec<MaximumVirtualAttendeeCapacityProperty> {
268		std::mem::take(&mut self.r#maximum_virtual_attendee_capacity)
269	}
270	fn get_offers(&self) -> &[OffersProperty] {
271		self.r#offers.as_slice()
272	}
273	fn take_offers(&mut self) -> Vec<OffersProperty> {
274		std::mem::take(&mut self.r#offers)
275	}
276	fn get_organizer(&self) -> &[OrganizerProperty] {
277		self.r#organizer.as_slice()
278	}
279	fn take_organizer(&mut self) -> Vec<OrganizerProperty> {
280		std::mem::take(&mut self.r#organizer)
281	}
282	fn get_performer(&self) -> &[PerformerProperty] {
283		self.r#performer.as_slice()
284	}
285	fn take_performer(&mut self) -> Vec<PerformerProperty> {
286		std::mem::take(&mut self.r#performer)
287	}
288	fn get_performers(&self) -> &[PerformersProperty] {
289		self.r#performers.as_slice()
290	}
291	fn take_performers(&mut self) -> Vec<PerformersProperty> {
292		std::mem::take(&mut self.r#performers)
293	}
294	fn get_previous_start_date(&self) -> &[PreviousStartDateProperty] {
295		self.r#previous_start_date.as_slice()
296	}
297	fn take_previous_start_date(&mut self) -> Vec<PreviousStartDateProperty> {
298		std::mem::take(&mut self.r#previous_start_date)
299	}
300	fn get_recorded_in(&self) -> &[RecordedInProperty] {
301		self.r#recorded_in.as_slice()
302	}
303	fn take_recorded_in(&mut self) -> Vec<RecordedInProperty> {
304		std::mem::take(&mut self.r#recorded_in)
305	}
306	fn get_remaining_attendee_capacity(&self) -> &[RemainingAttendeeCapacityProperty] {
307		self.r#remaining_attendee_capacity.as_slice()
308	}
309	fn take_remaining_attendee_capacity(&mut self) -> Vec<RemainingAttendeeCapacityProperty> {
310		std::mem::take(&mut self.r#remaining_attendee_capacity)
311	}
312	fn get_review(&self) -> &[ReviewProperty] {
313		self.r#review.as_slice()
314	}
315	fn take_review(&mut self) -> Vec<ReviewProperty> {
316		std::mem::take(&mut self.r#review)
317	}
318	fn get_sponsor(&self) -> &[SponsorProperty] {
319		self.r#sponsor.as_slice()
320	}
321	fn take_sponsor(&mut self) -> Vec<SponsorProperty> {
322		std::mem::take(&mut self.r#sponsor)
323	}
324	fn get_start_date(&self) -> &[StartDateProperty] {
325		self.r#start_date.as_slice()
326	}
327	fn take_start_date(&mut self) -> Vec<StartDateProperty> {
328		std::mem::take(&mut self.r#start_date)
329	}
330	fn get_sub_event(&self) -> &[SubEventProperty] {
331		self.r#sub_event.as_slice()
332	}
333	fn take_sub_event(&mut self) -> Vec<SubEventProperty> {
334		std::mem::take(&mut self.r#sub_event)
335	}
336	fn get_sub_events(&self) -> &[SubEventsProperty] {
337		self.r#sub_events.as_slice()
338	}
339	fn take_sub_events(&mut self) -> Vec<SubEventsProperty> {
340		std::mem::take(&mut self.r#sub_events)
341	}
342	fn get_super_event(&self) -> &[SuperEventProperty] {
343		self.r#super_event.as_slice()
344	}
345	fn take_super_event(&mut self) -> Vec<SuperEventProperty> {
346		std::mem::take(&mut self.r#super_event)
347	}
348	fn get_translator(&self) -> &[TranslatorProperty] {
349		self.r#translator.as_slice()
350	}
351	fn take_translator(&mut self) -> Vec<TranslatorProperty> {
352		std::mem::take(&mut self.r#translator)
353	}
354	fn get_typical_age_range(&self) -> &[TypicalAgeRangeProperty] {
355		self.r#typical_age_range.as_slice()
356	}
357	fn take_typical_age_range(&mut self) -> Vec<TypicalAgeRangeProperty> {
358		std::mem::take(&mut self.r#typical_age_range)
359	}
360	fn get_work_featured(&self) -> &[WorkFeaturedProperty] {
361		self.r#work_featured.as_slice()
362	}
363	fn take_work_featured(&mut self) -> Vec<WorkFeaturedProperty> {
364		std::mem::take(&mut self.r#work_featured)
365	}
366	fn get_work_performed(&self) -> &[WorkPerformedProperty] {
367		self.r#work_performed.as_slice()
368	}
369	fn take_work_performed(&mut self) -> Vec<WorkPerformedProperty> {
370		std::mem::take(&mut self.r#work_performed)
371	}
372}
373impl ThingTrait for UserBlocks {
374	fn get_additional_type(&self) -> &[AdditionalTypeProperty] {
375		self.r#additional_type.as_slice()
376	}
377	fn take_additional_type(&mut self) -> Vec<AdditionalTypeProperty> {
378		std::mem::take(&mut self.r#additional_type)
379	}
380	fn get_alternate_name(&self) -> &[AlternateNameProperty] {
381		self.r#alternate_name.as_slice()
382	}
383	fn take_alternate_name(&mut self) -> Vec<AlternateNameProperty> {
384		std::mem::take(&mut self.r#alternate_name)
385	}
386	fn get_description(&self) -> &[DescriptionProperty] {
387		self.r#description.as_slice()
388	}
389	fn take_description(&mut self) -> Vec<DescriptionProperty> {
390		std::mem::take(&mut self.r#description)
391	}
392	fn get_disambiguating_description(&self) -> &[DisambiguatingDescriptionProperty] {
393		self.r#disambiguating_description.as_slice()
394	}
395	fn take_disambiguating_description(&mut self) -> Vec<DisambiguatingDescriptionProperty> {
396		std::mem::take(&mut self.r#disambiguating_description)
397	}
398	fn get_identifier(&self) -> &[IdentifierProperty] {
399		self.r#identifier.as_slice()
400	}
401	fn take_identifier(&mut self) -> Vec<IdentifierProperty> {
402		std::mem::take(&mut self.r#identifier)
403	}
404	fn get_image(&self) -> &[ImageProperty] {
405		self.r#image.as_slice()
406	}
407	fn take_image(&mut self) -> Vec<ImageProperty> {
408		std::mem::take(&mut self.r#image)
409	}
410	fn get_main_entity_of_page(&self) -> &[MainEntityOfPageProperty] {
411		self.r#main_entity_of_page.as_slice()
412	}
413	fn take_main_entity_of_page(&mut self) -> Vec<MainEntityOfPageProperty> {
414		std::mem::take(&mut self.r#main_entity_of_page)
415	}
416	fn get_name(&self) -> &[NameProperty] {
417		self.r#name.as_slice()
418	}
419	fn take_name(&mut self) -> Vec<NameProperty> {
420		std::mem::take(&mut self.r#name)
421	}
422	fn get_potential_action(&self) -> &[PotentialActionProperty] {
423		self.r#potential_action.as_slice()
424	}
425	fn take_potential_action(&mut self) -> Vec<PotentialActionProperty> {
426		std::mem::take(&mut self.r#potential_action)
427	}
428	fn get_same_as(&self) -> &[SameAsProperty] {
429		self.r#same_as.as_slice()
430	}
431	fn take_same_as(&mut self) -> Vec<SameAsProperty> {
432		std::mem::take(&mut self.r#same_as)
433	}
434	fn get_subject_of(&self) -> &[SubjectOfProperty] {
435		self.r#subject_of.as_slice()
436	}
437	fn take_subject_of(&mut self) -> Vec<SubjectOfProperty> {
438		std::mem::take(&mut self.r#subject_of)
439	}
440	fn get_url(&self) -> &[UrlProperty] {
441		self.r#url.as_slice()
442	}
443	fn take_url(&mut self) -> Vec<UrlProperty> {
444		std::mem::take(&mut self.r#url)
445	}
446}
447impl UserInteractionTrait for UserBlocks {}
448#[cfg(feature = "serde")]
449mod serde {
450	use std::{fmt, fmt::Formatter};
451
452	use ::serde::{
453		de, de::Visitor, ser::SerializeStruct, Deserialize, Deserializer, Serialize, Serializer,
454	};
455
456	use super::*;
457	impl Serialize for UserBlocks {
458		fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
459		where
460			S: Serializer,
461		{
462			let len: usize = [
463				!Vec::is_empty(&self.r#about) as usize,
464				!Vec::is_empty(&self.r#actor) as usize,
465				!Vec::is_empty(&self.r#aggregate_rating) as usize,
466				!Vec::is_empty(&self.r#attendee) as usize,
467				!Vec::is_empty(&self.r#attendees) as usize,
468				!Vec::is_empty(&self.r#audience) as usize,
469				!Vec::is_empty(&self.r#composer) as usize,
470				!Vec::is_empty(&self.r#contributor) as usize,
471				!Vec::is_empty(&self.r#director) as usize,
472				!Vec::is_empty(&self.r#door_time) as usize,
473				!Vec::is_empty(&self.r#duration) as usize,
474				!Vec::is_empty(&self.r#end_date) as usize,
475				!Vec::is_empty(&self.r#event_attendance_mode) as usize,
476				!Vec::is_empty(&self.r#event_schedule) as usize,
477				!Vec::is_empty(&self.r#event_status) as usize,
478				!Vec::is_empty(&self.r#funder) as usize,
479				!Vec::is_empty(&self.r#funding) as usize,
480				!Vec::is_empty(&self.r#in_language) as usize,
481				!Vec::is_empty(&self.r#is_accessible_for_free) as usize,
482				!Vec::is_empty(&self.r#keywords) as usize,
483				!Vec::is_empty(&self.r#location) as usize,
484				!Vec::is_empty(&self.r#maximum_attendee_capacity) as usize,
485				!Vec::is_empty(&self.r#maximum_physical_attendee_capacity) as usize,
486				!Vec::is_empty(&self.r#maximum_virtual_attendee_capacity) as usize,
487				!Vec::is_empty(&self.r#offers) as usize,
488				!Vec::is_empty(&self.r#organizer) as usize,
489				!Vec::is_empty(&self.r#performer) as usize,
490				!Vec::is_empty(&self.r#performers) as usize,
491				!Vec::is_empty(&self.r#previous_start_date) as usize,
492				!Vec::is_empty(&self.r#recorded_in) as usize,
493				!Vec::is_empty(&self.r#remaining_attendee_capacity) as usize,
494				!Vec::is_empty(&self.r#review) as usize,
495				!Vec::is_empty(&self.r#sponsor) as usize,
496				!Vec::is_empty(&self.r#start_date) as usize,
497				!Vec::is_empty(&self.r#sub_event) as usize,
498				!Vec::is_empty(&self.r#sub_events) as usize,
499				!Vec::is_empty(&self.r#super_event) as usize,
500				!Vec::is_empty(&self.r#translator) as usize,
501				!Vec::is_empty(&self.r#typical_age_range) as usize,
502				!Vec::is_empty(&self.r#work_featured) as usize,
503				!Vec::is_empty(&self.r#work_performed) as usize,
504				!Vec::is_empty(&self.r#additional_type) as usize,
505				!Vec::is_empty(&self.r#alternate_name) as usize,
506				!Vec::is_empty(&self.r#description) as usize,
507				!Vec::is_empty(&self.r#disambiguating_description) as usize,
508				!Vec::is_empty(&self.r#identifier) as usize,
509				!Vec::is_empty(&self.r#image) as usize,
510				!Vec::is_empty(&self.r#main_entity_of_page) as usize,
511				!Vec::is_empty(&self.r#name) as usize,
512				!Vec::is_empty(&self.r#potential_action) as usize,
513				!Vec::is_empty(&self.r#same_as) as usize,
514				!Vec::is_empty(&self.r#subject_of) as usize,
515				!Vec::is_empty(&self.r#url) as usize,
516			]
517			.iter()
518			.sum();
519			let mut serialize_struct = Serializer::serialize_struct(serializer, "UserBlocks", len)?;
520			if !Vec::is_empty(&self.r#about) {
521				serialize_struct.serialize_field("about", {
522					struct SerializeWith<'a>(&'a Vec<AboutProperty>);
523					impl<'a> Serialize for SerializeWith<'a> {
524						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
525						where
526							S: Serializer,
527						{
528							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
529								self.0, serializer,
530							)
531						}
532					}
533					&SerializeWith(&self.r#about)
534				})?;
535			} else {
536				serialize_struct.skip_field("about")?;
537			}
538			if !Vec::is_empty(&self.r#actor) {
539				serialize_struct.serialize_field("actor", {
540					struct SerializeWith<'a>(&'a Vec<ActorProperty>);
541					impl<'a> Serialize for SerializeWith<'a> {
542						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
543						where
544							S: Serializer,
545						{
546							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
547								self.0, serializer,
548							)
549						}
550					}
551					&SerializeWith(&self.r#actor)
552				})?;
553			} else {
554				serialize_struct.skip_field("actor")?;
555			}
556			if !Vec::is_empty(&self.r#aggregate_rating) {
557				serialize_struct.serialize_field("aggregateRating", {
558					struct SerializeWith<'a>(&'a Vec<AggregateRatingProperty>);
559					impl<'a> Serialize for SerializeWith<'a> {
560						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
561						where
562							S: Serializer,
563						{
564							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
565								self.0, serializer,
566							)
567						}
568					}
569					&SerializeWith(&self.r#aggregate_rating)
570				})?;
571			} else {
572				serialize_struct.skip_field("aggregateRating")?;
573			}
574			if !Vec::is_empty(&self.r#attendee) {
575				serialize_struct.serialize_field("attendee", {
576					struct SerializeWith<'a>(&'a Vec<AttendeeProperty>);
577					impl<'a> Serialize for SerializeWith<'a> {
578						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
579						where
580							S: Serializer,
581						{
582							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
583								self.0, serializer,
584							)
585						}
586					}
587					&SerializeWith(&self.r#attendee)
588				})?;
589			} else {
590				serialize_struct.skip_field("attendee")?;
591			}
592			if !Vec::is_empty(&self.r#attendees) {
593				serialize_struct.serialize_field("attendees", {
594					struct SerializeWith<'a>(&'a Vec<AttendeesProperty>);
595					impl<'a> Serialize for SerializeWith<'a> {
596						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
597						where
598							S: Serializer,
599						{
600							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
601								self.0, serializer,
602							)
603						}
604					}
605					&SerializeWith(&self.r#attendees)
606				})?;
607			} else {
608				serialize_struct.skip_field("attendees")?;
609			}
610			if !Vec::is_empty(&self.r#audience) {
611				serialize_struct.serialize_field("audience", {
612					struct SerializeWith<'a>(&'a Vec<AudienceProperty>);
613					impl<'a> Serialize for SerializeWith<'a> {
614						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
615						where
616							S: Serializer,
617						{
618							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
619								self.0, serializer,
620							)
621						}
622					}
623					&SerializeWith(&self.r#audience)
624				})?;
625			} else {
626				serialize_struct.skip_field("audience")?;
627			}
628			if !Vec::is_empty(&self.r#composer) {
629				serialize_struct.serialize_field("composer", {
630					struct SerializeWith<'a>(&'a Vec<ComposerProperty>);
631					impl<'a> Serialize for SerializeWith<'a> {
632						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
633						where
634							S: Serializer,
635						{
636							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
637								self.0, serializer,
638							)
639						}
640					}
641					&SerializeWith(&self.r#composer)
642				})?;
643			} else {
644				serialize_struct.skip_field("composer")?;
645			}
646			if !Vec::is_empty(&self.r#contributor) {
647				serialize_struct.serialize_field("contributor", {
648					struct SerializeWith<'a>(&'a Vec<ContributorProperty>);
649					impl<'a> Serialize for SerializeWith<'a> {
650						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
651						where
652							S: Serializer,
653						{
654							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
655								self.0, serializer,
656							)
657						}
658					}
659					&SerializeWith(&self.r#contributor)
660				})?;
661			} else {
662				serialize_struct.skip_field("contributor")?;
663			}
664			if !Vec::is_empty(&self.r#director) {
665				serialize_struct.serialize_field("director", {
666					struct SerializeWith<'a>(&'a Vec<DirectorProperty>);
667					impl<'a> Serialize for SerializeWith<'a> {
668						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
669						where
670							S: Serializer,
671						{
672							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
673								self.0, serializer,
674							)
675						}
676					}
677					&SerializeWith(&self.r#director)
678				})?;
679			} else {
680				serialize_struct.skip_field("director")?;
681			}
682			if !Vec::is_empty(&self.r#door_time) {
683				serialize_struct.serialize_field("doorTime", {
684					struct SerializeWith<'a>(&'a Vec<DoorTimeProperty>);
685					impl<'a> Serialize for SerializeWith<'a> {
686						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
687						where
688							S: Serializer,
689						{
690							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
691								self.0, serializer,
692							)
693						}
694					}
695					&SerializeWith(&self.r#door_time)
696				})?;
697			} else {
698				serialize_struct.skip_field("doorTime")?;
699			}
700			if !Vec::is_empty(&self.r#duration) {
701				serialize_struct.serialize_field("duration", {
702					struct SerializeWith<'a>(&'a Vec<DurationProperty>);
703					impl<'a> Serialize for SerializeWith<'a> {
704						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
705						where
706							S: Serializer,
707						{
708							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
709								self.0, serializer,
710							)
711						}
712					}
713					&SerializeWith(&self.r#duration)
714				})?;
715			} else {
716				serialize_struct.skip_field("duration")?;
717			}
718			if !Vec::is_empty(&self.r#end_date) {
719				serialize_struct.serialize_field("endDate", {
720					struct SerializeWith<'a>(&'a Vec<EndDateProperty>);
721					impl<'a> Serialize for SerializeWith<'a> {
722						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
723						where
724							S: Serializer,
725						{
726							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
727								self.0, serializer,
728							)
729						}
730					}
731					&SerializeWith(&self.r#end_date)
732				})?;
733			} else {
734				serialize_struct.skip_field("endDate")?;
735			}
736			if !Vec::is_empty(&self.r#event_attendance_mode) {
737				serialize_struct.serialize_field("eventAttendanceMode", {
738					struct SerializeWith<'a>(&'a Vec<EventAttendanceModeProperty>);
739					impl<'a> Serialize for SerializeWith<'a> {
740						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
741						where
742							S: Serializer,
743						{
744							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
745								self.0, serializer,
746							)
747						}
748					}
749					&SerializeWith(&self.r#event_attendance_mode)
750				})?;
751			} else {
752				serialize_struct.skip_field("eventAttendanceMode")?;
753			}
754			if !Vec::is_empty(&self.r#event_schedule) {
755				serialize_struct.serialize_field("eventSchedule", {
756					struct SerializeWith<'a>(&'a Vec<EventScheduleProperty>);
757					impl<'a> Serialize for SerializeWith<'a> {
758						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
759						where
760							S: Serializer,
761						{
762							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
763								self.0, serializer,
764							)
765						}
766					}
767					&SerializeWith(&self.r#event_schedule)
768				})?;
769			} else {
770				serialize_struct.skip_field("eventSchedule")?;
771			}
772			if !Vec::is_empty(&self.r#event_status) {
773				serialize_struct.serialize_field("eventStatus", {
774					struct SerializeWith<'a>(&'a Vec<EventStatusProperty>);
775					impl<'a> Serialize for SerializeWith<'a> {
776						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
777						where
778							S: Serializer,
779						{
780							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
781								self.0, serializer,
782							)
783						}
784					}
785					&SerializeWith(&self.r#event_status)
786				})?;
787			} else {
788				serialize_struct.skip_field("eventStatus")?;
789			}
790			if !Vec::is_empty(&self.r#funder) {
791				serialize_struct.serialize_field("funder", {
792					struct SerializeWith<'a>(&'a Vec<FunderProperty>);
793					impl<'a> Serialize for SerializeWith<'a> {
794						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
795						where
796							S: Serializer,
797						{
798							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
799								self.0, serializer,
800							)
801						}
802					}
803					&SerializeWith(&self.r#funder)
804				})?;
805			} else {
806				serialize_struct.skip_field("funder")?;
807			}
808			if !Vec::is_empty(&self.r#funding) {
809				serialize_struct.serialize_field("funding", {
810					struct SerializeWith<'a>(&'a Vec<FundingProperty>);
811					impl<'a> Serialize for SerializeWith<'a> {
812						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
813						where
814							S: Serializer,
815						{
816							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
817								self.0, serializer,
818							)
819						}
820					}
821					&SerializeWith(&self.r#funding)
822				})?;
823			} else {
824				serialize_struct.skip_field("funding")?;
825			}
826			if !Vec::is_empty(&self.r#in_language) {
827				serialize_struct.serialize_field("inLanguage", {
828					struct SerializeWith<'a>(&'a Vec<InLanguageProperty>);
829					impl<'a> Serialize for SerializeWith<'a> {
830						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
831						where
832							S: Serializer,
833						{
834							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
835								self.0, serializer,
836							)
837						}
838					}
839					&SerializeWith(&self.r#in_language)
840				})?;
841			} else {
842				serialize_struct.skip_field("inLanguage")?;
843			}
844			if !Vec::is_empty(&self.r#is_accessible_for_free) {
845				serialize_struct.serialize_field("isAccessibleForFree", {
846					struct SerializeWith<'a>(&'a Vec<IsAccessibleForFreeProperty>);
847					impl<'a> Serialize for SerializeWith<'a> {
848						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
849						where
850							S: Serializer,
851						{
852							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
853								self.0, serializer,
854							)
855						}
856					}
857					&SerializeWith(&self.r#is_accessible_for_free)
858				})?;
859			} else {
860				serialize_struct.skip_field("isAccessibleForFree")?;
861			}
862			if !Vec::is_empty(&self.r#keywords) {
863				serialize_struct.serialize_field("keywords", {
864					struct SerializeWith<'a>(&'a Vec<KeywordsProperty>);
865					impl<'a> Serialize for SerializeWith<'a> {
866						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
867						where
868							S: Serializer,
869						{
870							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
871								self.0, serializer,
872							)
873						}
874					}
875					&SerializeWith(&self.r#keywords)
876				})?;
877			} else {
878				serialize_struct.skip_field("keywords")?;
879			}
880			if !Vec::is_empty(&self.r#location) {
881				serialize_struct.serialize_field("location", {
882					struct SerializeWith<'a>(&'a Vec<LocationProperty>);
883					impl<'a> Serialize for SerializeWith<'a> {
884						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
885						where
886							S: Serializer,
887						{
888							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
889								self.0, serializer,
890							)
891						}
892					}
893					&SerializeWith(&self.r#location)
894				})?;
895			} else {
896				serialize_struct.skip_field("location")?;
897			}
898			if !Vec::is_empty(&self.r#maximum_attendee_capacity) {
899				serialize_struct.serialize_field("maximumAttendeeCapacity", {
900					struct SerializeWith<'a>(&'a Vec<MaximumAttendeeCapacityProperty>);
901					impl<'a> Serialize for SerializeWith<'a> {
902						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
903						where
904							S: Serializer,
905						{
906							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
907								self.0, serializer,
908							)
909						}
910					}
911					&SerializeWith(&self.r#maximum_attendee_capacity)
912				})?;
913			} else {
914				serialize_struct.skip_field("maximumAttendeeCapacity")?;
915			}
916			if !Vec::is_empty(&self.r#maximum_physical_attendee_capacity) {
917				serialize_struct.serialize_field("maximumPhysicalAttendeeCapacity", {
918					struct SerializeWith<'a>(&'a Vec<MaximumPhysicalAttendeeCapacityProperty>);
919					impl<'a> Serialize for SerializeWith<'a> {
920						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
921						where
922							S: Serializer,
923						{
924							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
925								self.0, serializer,
926							)
927						}
928					}
929					&SerializeWith(&self.r#maximum_physical_attendee_capacity)
930				})?;
931			} else {
932				serialize_struct.skip_field("maximumPhysicalAttendeeCapacity")?;
933			}
934			if !Vec::is_empty(&self.r#maximum_virtual_attendee_capacity) {
935				serialize_struct.serialize_field("maximumVirtualAttendeeCapacity", {
936					struct SerializeWith<'a>(&'a Vec<MaximumVirtualAttendeeCapacityProperty>);
937					impl<'a> Serialize for SerializeWith<'a> {
938						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
939						where
940							S: Serializer,
941						{
942							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
943								self.0, serializer,
944							)
945						}
946					}
947					&SerializeWith(&self.r#maximum_virtual_attendee_capacity)
948				})?;
949			} else {
950				serialize_struct.skip_field("maximumVirtualAttendeeCapacity")?;
951			}
952			if !Vec::is_empty(&self.r#offers) {
953				serialize_struct.serialize_field("offers", {
954					struct SerializeWith<'a>(&'a Vec<OffersProperty>);
955					impl<'a> Serialize for SerializeWith<'a> {
956						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
957						where
958							S: Serializer,
959						{
960							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
961								self.0, serializer,
962							)
963						}
964					}
965					&SerializeWith(&self.r#offers)
966				})?;
967			} else {
968				serialize_struct.skip_field("offers")?;
969			}
970			if !Vec::is_empty(&self.r#organizer) {
971				serialize_struct.serialize_field("organizer", {
972					struct SerializeWith<'a>(&'a Vec<OrganizerProperty>);
973					impl<'a> Serialize for SerializeWith<'a> {
974						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
975						where
976							S: Serializer,
977						{
978							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
979								self.0, serializer,
980							)
981						}
982					}
983					&SerializeWith(&self.r#organizer)
984				})?;
985			} else {
986				serialize_struct.skip_field("organizer")?;
987			}
988			if !Vec::is_empty(&self.r#performer) {
989				serialize_struct.serialize_field("performer", {
990					struct SerializeWith<'a>(&'a Vec<PerformerProperty>);
991					impl<'a> Serialize for SerializeWith<'a> {
992						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
993						where
994							S: Serializer,
995						{
996							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
997								self.0, serializer,
998							)
999						}
1000					}
1001					&SerializeWith(&self.r#performer)
1002				})?;
1003			} else {
1004				serialize_struct.skip_field("performer")?;
1005			}
1006			if !Vec::is_empty(&self.r#performers) {
1007				serialize_struct.serialize_field("performers", {
1008					struct SerializeWith<'a>(&'a Vec<PerformersProperty>);
1009					impl<'a> Serialize for SerializeWith<'a> {
1010						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1011						where
1012							S: Serializer,
1013						{
1014							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1015								self.0, serializer,
1016							)
1017						}
1018					}
1019					&SerializeWith(&self.r#performers)
1020				})?;
1021			} else {
1022				serialize_struct.skip_field("performers")?;
1023			}
1024			if !Vec::is_empty(&self.r#previous_start_date) {
1025				serialize_struct.serialize_field("previousStartDate", {
1026					struct SerializeWith<'a>(&'a Vec<PreviousStartDateProperty>);
1027					impl<'a> Serialize for SerializeWith<'a> {
1028						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1029						where
1030							S: Serializer,
1031						{
1032							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1033								self.0, serializer,
1034							)
1035						}
1036					}
1037					&SerializeWith(&self.r#previous_start_date)
1038				})?;
1039			} else {
1040				serialize_struct.skip_field("previousStartDate")?;
1041			}
1042			if !Vec::is_empty(&self.r#recorded_in) {
1043				serialize_struct.serialize_field("recordedIn", {
1044					struct SerializeWith<'a>(&'a Vec<RecordedInProperty>);
1045					impl<'a> Serialize for SerializeWith<'a> {
1046						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1047						where
1048							S: Serializer,
1049						{
1050							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1051								self.0, serializer,
1052							)
1053						}
1054					}
1055					&SerializeWith(&self.r#recorded_in)
1056				})?;
1057			} else {
1058				serialize_struct.skip_field("recordedIn")?;
1059			}
1060			if !Vec::is_empty(&self.r#remaining_attendee_capacity) {
1061				serialize_struct.serialize_field("remainingAttendeeCapacity", {
1062					struct SerializeWith<'a>(&'a Vec<RemainingAttendeeCapacityProperty>);
1063					impl<'a> Serialize for SerializeWith<'a> {
1064						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1065						where
1066							S: Serializer,
1067						{
1068							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1069								self.0, serializer,
1070							)
1071						}
1072					}
1073					&SerializeWith(&self.r#remaining_attendee_capacity)
1074				})?;
1075			} else {
1076				serialize_struct.skip_field("remainingAttendeeCapacity")?;
1077			}
1078			if !Vec::is_empty(&self.r#review) {
1079				serialize_struct.serialize_field("review", {
1080					struct SerializeWith<'a>(&'a Vec<ReviewProperty>);
1081					impl<'a> Serialize for SerializeWith<'a> {
1082						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1083						where
1084							S: Serializer,
1085						{
1086							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1087								self.0, serializer,
1088							)
1089						}
1090					}
1091					&SerializeWith(&self.r#review)
1092				})?;
1093			} else {
1094				serialize_struct.skip_field("review")?;
1095			}
1096			if !Vec::is_empty(&self.r#sponsor) {
1097				serialize_struct.serialize_field("sponsor", {
1098					struct SerializeWith<'a>(&'a Vec<SponsorProperty>);
1099					impl<'a> Serialize for SerializeWith<'a> {
1100						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1101						where
1102							S: Serializer,
1103						{
1104							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1105								self.0, serializer,
1106							)
1107						}
1108					}
1109					&SerializeWith(&self.r#sponsor)
1110				})?;
1111			} else {
1112				serialize_struct.skip_field("sponsor")?;
1113			}
1114			if !Vec::is_empty(&self.r#start_date) {
1115				serialize_struct.serialize_field("startDate", {
1116					struct SerializeWith<'a>(&'a Vec<StartDateProperty>);
1117					impl<'a> Serialize for SerializeWith<'a> {
1118						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1119						where
1120							S: Serializer,
1121						{
1122							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1123								self.0, serializer,
1124							)
1125						}
1126					}
1127					&SerializeWith(&self.r#start_date)
1128				})?;
1129			} else {
1130				serialize_struct.skip_field("startDate")?;
1131			}
1132			if !Vec::is_empty(&self.r#sub_event) {
1133				serialize_struct.serialize_field("subEvent", {
1134					struct SerializeWith<'a>(&'a Vec<SubEventProperty>);
1135					impl<'a> Serialize for SerializeWith<'a> {
1136						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1137						where
1138							S: Serializer,
1139						{
1140							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1141								self.0, serializer,
1142							)
1143						}
1144					}
1145					&SerializeWith(&self.r#sub_event)
1146				})?;
1147			} else {
1148				serialize_struct.skip_field("subEvent")?;
1149			}
1150			if !Vec::is_empty(&self.r#sub_events) {
1151				serialize_struct.serialize_field("subEvents", {
1152					struct SerializeWith<'a>(&'a Vec<SubEventsProperty>);
1153					impl<'a> Serialize for SerializeWith<'a> {
1154						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1155						where
1156							S: Serializer,
1157						{
1158							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1159								self.0, serializer,
1160							)
1161						}
1162					}
1163					&SerializeWith(&self.r#sub_events)
1164				})?;
1165			} else {
1166				serialize_struct.skip_field("subEvents")?;
1167			}
1168			if !Vec::is_empty(&self.r#super_event) {
1169				serialize_struct.serialize_field("superEvent", {
1170					struct SerializeWith<'a>(&'a Vec<SuperEventProperty>);
1171					impl<'a> Serialize for SerializeWith<'a> {
1172						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1173						where
1174							S: Serializer,
1175						{
1176							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1177								self.0, serializer,
1178							)
1179						}
1180					}
1181					&SerializeWith(&self.r#super_event)
1182				})?;
1183			} else {
1184				serialize_struct.skip_field("superEvent")?;
1185			}
1186			if !Vec::is_empty(&self.r#translator) {
1187				serialize_struct.serialize_field("translator", {
1188					struct SerializeWith<'a>(&'a Vec<TranslatorProperty>);
1189					impl<'a> Serialize for SerializeWith<'a> {
1190						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1191						where
1192							S: Serializer,
1193						{
1194							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1195								self.0, serializer,
1196							)
1197						}
1198					}
1199					&SerializeWith(&self.r#translator)
1200				})?;
1201			} else {
1202				serialize_struct.skip_field("translator")?;
1203			}
1204			if !Vec::is_empty(&self.r#typical_age_range) {
1205				serialize_struct.serialize_field("typicalAgeRange", {
1206					struct SerializeWith<'a>(&'a Vec<TypicalAgeRangeProperty>);
1207					impl<'a> Serialize for SerializeWith<'a> {
1208						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1209						where
1210							S: Serializer,
1211						{
1212							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1213								self.0, serializer,
1214							)
1215						}
1216					}
1217					&SerializeWith(&self.r#typical_age_range)
1218				})?;
1219			} else {
1220				serialize_struct.skip_field("typicalAgeRange")?;
1221			}
1222			if !Vec::is_empty(&self.r#work_featured) {
1223				serialize_struct.serialize_field("workFeatured", {
1224					struct SerializeWith<'a>(&'a Vec<WorkFeaturedProperty>);
1225					impl<'a> Serialize for SerializeWith<'a> {
1226						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1227						where
1228							S: Serializer,
1229						{
1230							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1231								self.0, serializer,
1232							)
1233						}
1234					}
1235					&SerializeWith(&self.r#work_featured)
1236				})?;
1237			} else {
1238				serialize_struct.skip_field("workFeatured")?;
1239			}
1240			if !Vec::is_empty(&self.r#work_performed) {
1241				serialize_struct.serialize_field("workPerformed", {
1242					struct SerializeWith<'a>(&'a Vec<WorkPerformedProperty>);
1243					impl<'a> Serialize for SerializeWith<'a> {
1244						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1245						where
1246							S: Serializer,
1247						{
1248							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1249								self.0, serializer,
1250							)
1251						}
1252					}
1253					&SerializeWith(&self.r#work_performed)
1254				})?;
1255			} else {
1256				serialize_struct.skip_field("workPerformed")?;
1257			}
1258			if !Vec::is_empty(&self.r#additional_type) {
1259				serialize_struct.serialize_field("additionalType", {
1260					struct SerializeWith<'a>(&'a Vec<AdditionalTypeProperty>);
1261					impl<'a> Serialize for SerializeWith<'a> {
1262						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1263						where
1264							S: Serializer,
1265						{
1266							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1267								self.0, serializer,
1268							)
1269						}
1270					}
1271					&SerializeWith(&self.r#additional_type)
1272				})?;
1273			} else {
1274				serialize_struct.skip_field("additionalType")?;
1275			}
1276			if !Vec::is_empty(&self.r#alternate_name) {
1277				serialize_struct.serialize_field("alternateName", {
1278					struct SerializeWith<'a>(&'a Vec<AlternateNameProperty>);
1279					impl<'a> Serialize for SerializeWith<'a> {
1280						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1281						where
1282							S: Serializer,
1283						{
1284							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1285								self.0, serializer,
1286							)
1287						}
1288					}
1289					&SerializeWith(&self.r#alternate_name)
1290				})?;
1291			} else {
1292				serialize_struct.skip_field("alternateName")?;
1293			}
1294			if !Vec::is_empty(&self.r#description) {
1295				serialize_struct.serialize_field("description", {
1296					struct SerializeWith<'a>(&'a Vec<DescriptionProperty>);
1297					impl<'a> Serialize for SerializeWith<'a> {
1298						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1299						where
1300							S: Serializer,
1301						{
1302							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1303								self.0, serializer,
1304							)
1305						}
1306					}
1307					&SerializeWith(&self.r#description)
1308				})?;
1309			} else {
1310				serialize_struct.skip_field("description")?;
1311			}
1312			if !Vec::is_empty(&self.r#disambiguating_description) {
1313				serialize_struct.serialize_field("disambiguatingDescription", {
1314					struct SerializeWith<'a>(&'a Vec<DisambiguatingDescriptionProperty>);
1315					impl<'a> Serialize for SerializeWith<'a> {
1316						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1317						where
1318							S: Serializer,
1319						{
1320							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1321								self.0, serializer,
1322							)
1323						}
1324					}
1325					&SerializeWith(&self.r#disambiguating_description)
1326				})?;
1327			} else {
1328				serialize_struct.skip_field("disambiguatingDescription")?;
1329			}
1330			if !Vec::is_empty(&self.r#identifier) {
1331				serialize_struct.serialize_field("identifier", {
1332					struct SerializeWith<'a>(&'a Vec<IdentifierProperty>);
1333					impl<'a> Serialize for SerializeWith<'a> {
1334						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1335						where
1336							S: Serializer,
1337						{
1338							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1339								self.0, serializer,
1340							)
1341						}
1342					}
1343					&SerializeWith(&self.r#identifier)
1344				})?;
1345			} else {
1346				serialize_struct.skip_field("identifier")?;
1347			}
1348			if !Vec::is_empty(&self.r#image) {
1349				serialize_struct.serialize_field("image", {
1350					struct SerializeWith<'a>(&'a Vec<ImageProperty>);
1351					impl<'a> Serialize for SerializeWith<'a> {
1352						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1353						where
1354							S: Serializer,
1355						{
1356							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1357								self.0, serializer,
1358							)
1359						}
1360					}
1361					&SerializeWith(&self.r#image)
1362				})?;
1363			} else {
1364				serialize_struct.skip_field("image")?;
1365			}
1366			if !Vec::is_empty(&self.r#main_entity_of_page) {
1367				serialize_struct.serialize_field("mainEntityOfPage", {
1368					struct SerializeWith<'a>(&'a Vec<MainEntityOfPageProperty>);
1369					impl<'a> Serialize for SerializeWith<'a> {
1370						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1371						where
1372							S: Serializer,
1373						{
1374							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1375								self.0, serializer,
1376							)
1377						}
1378					}
1379					&SerializeWith(&self.r#main_entity_of_page)
1380				})?;
1381			} else {
1382				serialize_struct.skip_field("mainEntityOfPage")?;
1383			}
1384			if !Vec::is_empty(&self.r#name) {
1385				serialize_struct.serialize_field("name", {
1386					struct SerializeWith<'a>(&'a Vec<NameProperty>);
1387					impl<'a> Serialize for SerializeWith<'a> {
1388						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1389						where
1390							S: Serializer,
1391						{
1392							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1393								self.0, serializer,
1394							)
1395						}
1396					}
1397					&SerializeWith(&self.r#name)
1398				})?;
1399			} else {
1400				serialize_struct.skip_field("name")?;
1401			}
1402			if !Vec::is_empty(&self.r#potential_action) {
1403				serialize_struct.serialize_field("potentialAction", {
1404					struct SerializeWith<'a>(&'a Vec<PotentialActionProperty>);
1405					impl<'a> Serialize for SerializeWith<'a> {
1406						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1407						where
1408							S: Serializer,
1409						{
1410							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1411								self.0, serializer,
1412							)
1413						}
1414					}
1415					&SerializeWith(&self.r#potential_action)
1416				})?;
1417			} else {
1418				serialize_struct.skip_field("potentialAction")?;
1419			}
1420			if !Vec::is_empty(&self.r#same_as) {
1421				serialize_struct.serialize_field("sameAs", {
1422					struct SerializeWith<'a>(&'a Vec<SameAsProperty>);
1423					impl<'a> Serialize for SerializeWith<'a> {
1424						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1425						where
1426							S: Serializer,
1427						{
1428							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1429								self.0, serializer,
1430							)
1431						}
1432					}
1433					&SerializeWith(&self.r#same_as)
1434				})?;
1435			} else {
1436				serialize_struct.skip_field("sameAs")?;
1437			}
1438			if !Vec::is_empty(&self.r#subject_of) {
1439				serialize_struct.serialize_field("subjectOf", {
1440					struct SerializeWith<'a>(&'a Vec<SubjectOfProperty>);
1441					impl<'a> Serialize for SerializeWith<'a> {
1442						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1443						where
1444							S: Serializer,
1445						{
1446							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1447								self.0, serializer,
1448							)
1449						}
1450					}
1451					&SerializeWith(&self.r#subject_of)
1452				})?;
1453			} else {
1454				serialize_struct.skip_field("subjectOf")?;
1455			}
1456			if !Vec::is_empty(&self.r#url) {
1457				serialize_struct.serialize_field("url", {
1458					struct SerializeWith<'a>(&'a Vec<UrlProperty>);
1459					impl<'a> Serialize for SerializeWith<'a> {
1460						fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1461						where
1462							S: Serializer,
1463						{
1464							serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
1465								self.0, serializer,
1466							)
1467						}
1468					}
1469					&SerializeWith(&self.r#url)
1470				})?;
1471			} else {
1472				serialize_struct.skip_field("url")?;
1473			}
1474			serialize_struct.end()
1475		}
1476	}
1477	impl<'de> Deserialize<'de> for UserBlocks {
1478		fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
1479		where
1480			D: Deserializer<'de>,
1481		{
1482			enum Field {
1483				About,
1484				Actor,
1485				AggregateRating,
1486				Attendee,
1487				Attendees,
1488				Audience,
1489				Composer,
1490				Contributor,
1491				Director,
1492				DoorTime,
1493				Duration,
1494				EndDate,
1495				EventAttendanceMode,
1496				EventSchedule,
1497				EventStatus,
1498				Funder,
1499				Funding,
1500				InLanguage,
1501				IsAccessibleForFree,
1502				Keywords,
1503				Location,
1504				MaximumAttendeeCapacity,
1505				MaximumPhysicalAttendeeCapacity,
1506				MaximumVirtualAttendeeCapacity,
1507				Offers,
1508				Organizer,
1509				Performer,
1510				Performers,
1511				PreviousStartDate,
1512				RecordedIn,
1513				RemainingAttendeeCapacity,
1514				Review,
1515				Sponsor,
1516				StartDate,
1517				SubEvent,
1518				SubEvents,
1519				SuperEvent,
1520				Translator,
1521				TypicalAgeRange,
1522				WorkFeatured,
1523				WorkPerformed,
1524				AdditionalType,
1525				AlternateName,
1526				Description,
1527				DisambiguatingDescription,
1528				Identifier,
1529				Image,
1530				MainEntityOfPage,
1531				Name,
1532				PotentialAction,
1533				SameAs,
1534				SubjectOf,
1535				Url,
1536				Ignore,
1537			}
1538			struct FieldVisitor;
1539			impl<'de> Visitor<'de> for FieldVisitor {
1540				type Value = Field;
1541				fn expecting(&self, formatter: &mut Formatter) -> fmt::Result {
1542					formatter.write_str("field identifier")
1543				}
1544				fn visit_str<E>(self, value: &str) -> Result<Self::Value, E>
1545				where
1546					E: de::Error,
1547				{
1548					match value {
1549						"about" => Ok(Field::About),
1550						"actor" => Ok(Field::Actor),
1551						"aggregateRating" => Ok(Field::AggregateRating),
1552						"attendee" => Ok(Field::Attendee),
1553						"attendees" => Ok(Field::Attendees),
1554						"audience" => Ok(Field::Audience),
1555						"composer" => Ok(Field::Composer),
1556						"contributor" => Ok(Field::Contributor),
1557						"director" => Ok(Field::Director),
1558						"doorTime" => Ok(Field::DoorTime),
1559						"duration" => Ok(Field::Duration),
1560						"endDate" => Ok(Field::EndDate),
1561						"eventAttendanceMode" => Ok(Field::EventAttendanceMode),
1562						"eventSchedule" => Ok(Field::EventSchedule),
1563						"eventStatus" => Ok(Field::EventStatus),
1564						"funder" => Ok(Field::Funder),
1565						"funding" => Ok(Field::Funding),
1566						"inLanguage" => Ok(Field::InLanguage),
1567						"isAccessibleForFree" => Ok(Field::IsAccessibleForFree),
1568						"keywords" => Ok(Field::Keywords),
1569						"location" => Ok(Field::Location),
1570						"maximumAttendeeCapacity" => Ok(Field::MaximumAttendeeCapacity),
1571						"maximumPhysicalAttendeeCapacity" => {
1572							Ok(Field::MaximumPhysicalAttendeeCapacity)
1573						}
1574						"maximumVirtualAttendeeCapacity" => {
1575							Ok(Field::MaximumVirtualAttendeeCapacity)
1576						}
1577						"offers" => Ok(Field::Offers),
1578						"organizer" => Ok(Field::Organizer),
1579						"performer" => Ok(Field::Performer),
1580						"performers" => Ok(Field::Performers),
1581						"previousStartDate" => Ok(Field::PreviousStartDate),
1582						"recordedIn" => Ok(Field::RecordedIn),
1583						"remainingAttendeeCapacity" => Ok(Field::RemainingAttendeeCapacity),
1584						"review" => Ok(Field::Review),
1585						"sponsor" => Ok(Field::Sponsor),
1586						"startDate" => Ok(Field::StartDate),
1587						"subEvent" => Ok(Field::SubEvent),
1588						"subEvents" => Ok(Field::SubEvents),
1589						"superEvent" => Ok(Field::SuperEvent),
1590						"translator" => Ok(Field::Translator),
1591						"typicalAgeRange" => Ok(Field::TypicalAgeRange),
1592						"workFeatured" => Ok(Field::WorkFeatured),
1593						"workPerformed" => Ok(Field::WorkPerformed),
1594						"additionalType" => Ok(Field::AdditionalType),
1595						"alternateName" => Ok(Field::AlternateName),
1596						"description" => Ok(Field::Description),
1597						"disambiguatingDescription" => Ok(Field::DisambiguatingDescription),
1598						"identifier" => Ok(Field::Identifier),
1599						"image" => Ok(Field::Image),
1600						"mainEntityOfPage" => Ok(Field::MainEntityOfPage),
1601						"name" => Ok(Field::Name),
1602						"potentialAction" => Ok(Field::PotentialAction),
1603						"sameAs" => Ok(Field::SameAs),
1604						"subjectOf" => Ok(Field::SubjectOf),
1605						"url" => Ok(Field::Url),
1606						"id" | "type" => Ok(Field::Ignore),
1607						_ => Err(de::Error::unknown_field(value, FIELDS)),
1608					}
1609				}
1610				fn visit_bytes<E>(self, value: &[u8]) -> Result<Self::Value, E>
1611				where
1612					E: de::Error,
1613				{
1614					match value {
1615						b"about" => Ok(Field::About),
1616						b"actor" => Ok(Field::Actor),
1617						b"aggregateRating" => Ok(Field::AggregateRating),
1618						b"attendee" => Ok(Field::Attendee),
1619						b"attendees" => Ok(Field::Attendees),
1620						b"audience" => Ok(Field::Audience),
1621						b"composer" => Ok(Field::Composer),
1622						b"contributor" => Ok(Field::Contributor),
1623						b"director" => Ok(Field::Director),
1624						b"doorTime" => Ok(Field::DoorTime),
1625						b"duration" => Ok(Field::Duration),
1626						b"endDate" => Ok(Field::EndDate),
1627						b"eventAttendanceMode" => Ok(Field::EventAttendanceMode),
1628						b"eventSchedule" => Ok(Field::EventSchedule),
1629						b"eventStatus" => Ok(Field::EventStatus),
1630						b"funder" => Ok(Field::Funder),
1631						b"funding" => Ok(Field::Funding),
1632						b"inLanguage" => Ok(Field::InLanguage),
1633						b"isAccessibleForFree" => Ok(Field::IsAccessibleForFree),
1634						b"keywords" => Ok(Field::Keywords),
1635						b"location" => Ok(Field::Location),
1636						b"maximumAttendeeCapacity" => Ok(Field::MaximumAttendeeCapacity),
1637						b"maximumPhysicalAttendeeCapacity" => {
1638							Ok(Field::MaximumPhysicalAttendeeCapacity)
1639						}
1640						b"maximumVirtualAttendeeCapacity" => {
1641							Ok(Field::MaximumVirtualAttendeeCapacity)
1642						}
1643						b"offers" => Ok(Field::Offers),
1644						b"organizer" => Ok(Field::Organizer),
1645						b"performer" => Ok(Field::Performer),
1646						b"performers" => Ok(Field::Performers),
1647						b"previousStartDate" => Ok(Field::PreviousStartDate),
1648						b"recordedIn" => Ok(Field::RecordedIn),
1649						b"remainingAttendeeCapacity" => Ok(Field::RemainingAttendeeCapacity),
1650						b"review" => Ok(Field::Review),
1651						b"sponsor" => Ok(Field::Sponsor),
1652						b"startDate" => Ok(Field::StartDate),
1653						b"subEvent" => Ok(Field::SubEvent),
1654						b"subEvents" => Ok(Field::SubEvents),
1655						b"superEvent" => Ok(Field::SuperEvent),
1656						b"translator" => Ok(Field::Translator),
1657						b"typicalAgeRange" => Ok(Field::TypicalAgeRange),
1658						b"workFeatured" => Ok(Field::WorkFeatured),
1659						b"workPerformed" => Ok(Field::WorkPerformed),
1660						b"additionalType" => Ok(Field::AdditionalType),
1661						b"alternateName" => Ok(Field::AlternateName),
1662						b"description" => Ok(Field::Description),
1663						b"disambiguatingDescription" => Ok(Field::DisambiguatingDescription),
1664						b"identifier" => Ok(Field::Identifier),
1665						b"image" => Ok(Field::Image),
1666						b"mainEntityOfPage" => Ok(Field::MainEntityOfPage),
1667						b"name" => Ok(Field::Name),
1668						b"potentialAction" => Ok(Field::PotentialAction),
1669						b"sameAs" => Ok(Field::SameAs),
1670						b"subjectOf" => Ok(Field::SubjectOf),
1671						b"url" => Ok(Field::Url),
1672						b"id" | b"type" => Ok(Field::Ignore),
1673						_ => {
1674							let value = &String::from_utf8_lossy(value);
1675							Err(de::Error::unknown_field(value, FIELDS))
1676						}
1677					}
1678				}
1679			}
1680			impl<'de> Deserialize<'de> for Field {
1681				fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
1682				where
1683					D: Deserializer<'de>,
1684				{
1685					deserializer.deserialize_identifier(FieldVisitor)
1686				}
1687			}
1688			struct ClassVisitor;
1689			impl<'de> Visitor<'de> for ClassVisitor {
1690				type Value = UserBlocks;
1691				fn expecting(&self, formatter: &mut Formatter) -> fmt::Result {
1692					formatter.write_str("schema.org schema UserBlocks")
1693				}
1694				fn visit_map<A>(self, mut map: A) -> Result<Self::Value, A::Error>
1695				where
1696					A: de::MapAccess<'de>,
1697				{
1698					let mut r#about_property = None;
1699					let mut r#actor_property = None;
1700					let mut r#aggregate_rating_property = None;
1701					let mut r#attendee_property = None;
1702					let mut r#attendees_property = None;
1703					let mut r#audience_property = None;
1704					let mut r#composer_property = None;
1705					let mut r#contributor_property = None;
1706					let mut r#director_property = None;
1707					let mut r#door_time_property = None;
1708					let mut r#duration_property = None;
1709					let mut r#end_date_property = None;
1710					let mut r#event_attendance_mode_property = None;
1711					let mut r#event_schedule_property = None;
1712					let mut r#event_status_property = None;
1713					let mut r#funder_property = None;
1714					let mut r#funding_property = None;
1715					let mut r#in_language_property = None;
1716					let mut r#is_accessible_for_free_property = None;
1717					let mut r#keywords_property = None;
1718					let mut r#location_property = None;
1719					let mut r#maximum_attendee_capacity_property = None;
1720					let mut r#maximum_physical_attendee_capacity_property = None;
1721					let mut r#maximum_virtual_attendee_capacity_property = None;
1722					let mut r#offers_property = None;
1723					let mut r#organizer_property = None;
1724					let mut r#performer_property = None;
1725					let mut r#performers_property = None;
1726					let mut r#previous_start_date_property = None;
1727					let mut r#recorded_in_property = None;
1728					let mut r#remaining_attendee_capacity_property = None;
1729					let mut r#review_property = None;
1730					let mut r#sponsor_property = None;
1731					let mut r#start_date_property = None;
1732					let mut r#sub_event_property = None;
1733					let mut r#sub_events_property = None;
1734					let mut r#super_event_property = None;
1735					let mut r#translator_property = None;
1736					let mut r#typical_age_range_property = None;
1737					let mut r#work_featured_property = None;
1738					let mut r#work_performed_property = None;
1739					let mut r#additional_type_property = None;
1740					let mut r#alternate_name_property = None;
1741					let mut r#description_property = None;
1742					let mut r#disambiguating_description_property = None;
1743					let mut r#identifier_property = None;
1744					let mut r#image_property = None;
1745					let mut r#main_entity_of_page_property = None;
1746					let mut r#name_property = None;
1747					let mut r#potential_action_property = None;
1748					let mut r#same_as_property = None;
1749					let mut r#subject_of_property = None;
1750					let mut r#url_property = None;
1751					while let Some(key) = map.next_key::<Field>()? {
1752						match key {
1753							Field::About => {
1754								if r#about_property.is_some() {
1755									return Err(<A::Error as de::Error>::duplicate_field("about"));
1756								}
1757								r#about_property = Some({
1758									struct DeserializeWith(Vec<AboutProperty>);
1759									impl<'de> Deserialize<'de> for DeserializeWith {
1760										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
1761										where
1762											D: Deserializer<'de>,
1763										{
1764											Ok(DeserializeWith(serde_with::As::<
1765												serde_with::OneOrMany<serde_with::Same>,
1766											>::deserialize(deserializer)?))
1767										}
1768									}
1769									match map.next_value::<DeserializeWith>() {
1770										Ok(deserialize_with) => deserialize_with.0,
1771										Err(err) => {
1772											return Err(err);
1773										}
1774									}
1775								});
1776							}
1777							Field::Actor => {
1778								if r#actor_property.is_some() {
1779									return Err(<A::Error as de::Error>::duplicate_field("actor"));
1780								}
1781								r#actor_property = Some({
1782									struct DeserializeWith(Vec<ActorProperty>);
1783									impl<'de> Deserialize<'de> for DeserializeWith {
1784										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
1785										where
1786											D: Deserializer<'de>,
1787										{
1788											Ok(DeserializeWith(serde_with::As::<
1789												serde_with::OneOrMany<serde_with::Same>,
1790											>::deserialize(deserializer)?))
1791										}
1792									}
1793									match map.next_value::<DeserializeWith>() {
1794										Ok(deserialize_with) => deserialize_with.0,
1795										Err(err) => {
1796											return Err(err);
1797										}
1798									}
1799								});
1800							}
1801							Field::AggregateRating => {
1802								if r#aggregate_rating_property.is_some() {
1803									return Err(<A::Error as de::Error>::duplicate_field(
1804										"aggregateRating",
1805									));
1806								}
1807								r#aggregate_rating_property = Some({
1808									struct DeserializeWith(Vec<AggregateRatingProperty>);
1809									impl<'de> Deserialize<'de> for DeserializeWith {
1810										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
1811										where
1812											D: Deserializer<'de>,
1813										{
1814											Ok(DeserializeWith(serde_with::As::<
1815												serde_with::OneOrMany<serde_with::Same>,
1816											>::deserialize(deserializer)?))
1817										}
1818									}
1819									match map.next_value::<DeserializeWith>() {
1820										Ok(deserialize_with) => deserialize_with.0,
1821										Err(err) => {
1822											return Err(err);
1823										}
1824									}
1825								});
1826							}
1827							Field::Attendee => {
1828								if r#attendee_property.is_some() {
1829									return Err(<A::Error as de::Error>::duplicate_field(
1830										"attendee",
1831									));
1832								}
1833								r#attendee_property = Some({
1834									struct DeserializeWith(Vec<AttendeeProperty>);
1835									impl<'de> Deserialize<'de> for DeserializeWith {
1836										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
1837										where
1838											D: Deserializer<'de>,
1839										{
1840											Ok(DeserializeWith(serde_with::As::<
1841												serde_with::OneOrMany<serde_with::Same>,
1842											>::deserialize(deserializer)?))
1843										}
1844									}
1845									match map.next_value::<DeserializeWith>() {
1846										Ok(deserialize_with) => deserialize_with.0,
1847										Err(err) => {
1848											return Err(err);
1849										}
1850									}
1851								});
1852							}
1853							Field::Attendees => {
1854								if r#attendees_property.is_some() {
1855									return Err(<A::Error as de::Error>::duplicate_field(
1856										"attendees",
1857									));
1858								}
1859								r#attendees_property = Some({
1860									struct DeserializeWith(Vec<AttendeesProperty>);
1861									impl<'de> Deserialize<'de> for DeserializeWith {
1862										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
1863										where
1864											D: Deserializer<'de>,
1865										{
1866											Ok(DeserializeWith(serde_with::As::<
1867												serde_with::OneOrMany<serde_with::Same>,
1868											>::deserialize(deserializer)?))
1869										}
1870									}
1871									match map.next_value::<DeserializeWith>() {
1872										Ok(deserialize_with) => deserialize_with.0,
1873										Err(err) => {
1874											return Err(err);
1875										}
1876									}
1877								});
1878							}
1879							Field::Audience => {
1880								if r#audience_property.is_some() {
1881									return Err(<A::Error as de::Error>::duplicate_field(
1882										"audience",
1883									));
1884								}
1885								r#audience_property = Some({
1886									struct DeserializeWith(Vec<AudienceProperty>);
1887									impl<'de> Deserialize<'de> for DeserializeWith {
1888										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
1889										where
1890											D: Deserializer<'de>,
1891										{
1892											Ok(DeserializeWith(serde_with::As::<
1893												serde_with::OneOrMany<serde_with::Same>,
1894											>::deserialize(deserializer)?))
1895										}
1896									}
1897									match map.next_value::<DeserializeWith>() {
1898										Ok(deserialize_with) => deserialize_with.0,
1899										Err(err) => {
1900											return Err(err);
1901										}
1902									}
1903								});
1904							}
1905							Field::Composer => {
1906								if r#composer_property.is_some() {
1907									return Err(<A::Error as de::Error>::duplicate_field(
1908										"composer",
1909									));
1910								}
1911								r#composer_property = Some({
1912									struct DeserializeWith(Vec<ComposerProperty>);
1913									impl<'de> Deserialize<'de> for DeserializeWith {
1914										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
1915										where
1916											D: Deserializer<'de>,
1917										{
1918											Ok(DeserializeWith(serde_with::As::<
1919												serde_with::OneOrMany<serde_with::Same>,
1920											>::deserialize(deserializer)?))
1921										}
1922									}
1923									match map.next_value::<DeserializeWith>() {
1924										Ok(deserialize_with) => deserialize_with.0,
1925										Err(err) => {
1926											return Err(err);
1927										}
1928									}
1929								});
1930							}
1931							Field::Contributor => {
1932								if r#contributor_property.is_some() {
1933									return Err(<A::Error as de::Error>::duplicate_field(
1934										"contributor",
1935									));
1936								}
1937								r#contributor_property = Some({
1938									struct DeserializeWith(Vec<ContributorProperty>);
1939									impl<'de> Deserialize<'de> for DeserializeWith {
1940										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
1941										where
1942											D: Deserializer<'de>,
1943										{
1944											Ok(DeserializeWith(serde_with::As::<
1945												serde_with::OneOrMany<serde_with::Same>,
1946											>::deserialize(deserializer)?))
1947										}
1948									}
1949									match map.next_value::<DeserializeWith>() {
1950										Ok(deserialize_with) => deserialize_with.0,
1951										Err(err) => {
1952											return Err(err);
1953										}
1954									}
1955								});
1956							}
1957							Field::Director => {
1958								if r#director_property.is_some() {
1959									return Err(<A::Error as de::Error>::duplicate_field(
1960										"director",
1961									));
1962								}
1963								r#director_property = Some({
1964									struct DeserializeWith(Vec<DirectorProperty>);
1965									impl<'de> Deserialize<'de> for DeserializeWith {
1966										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
1967										where
1968											D: Deserializer<'de>,
1969										{
1970											Ok(DeserializeWith(serde_with::As::<
1971												serde_with::OneOrMany<serde_with::Same>,
1972											>::deserialize(deserializer)?))
1973										}
1974									}
1975									match map.next_value::<DeserializeWith>() {
1976										Ok(deserialize_with) => deserialize_with.0,
1977										Err(err) => {
1978											return Err(err);
1979										}
1980									}
1981								});
1982							}
1983							Field::DoorTime => {
1984								if r#door_time_property.is_some() {
1985									return Err(<A::Error as de::Error>::duplicate_field(
1986										"doorTime",
1987									));
1988								}
1989								r#door_time_property = Some({
1990									struct DeserializeWith(Vec<DoorTimeProperty>);
1991									impl<'de> Deserialize<'de> for DeserializeWith {
1992										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
1993										where
1994											D: Deserializer<'de>,
1995										{
1996											Ok(DeserializeWith(serde_with::As::<
1997												serde_with::OneOrMany<serde_with::Same>,
1998											>::deserialize(deserializer)?))
1999										}
2000									}
2001									match map.next_value::<DeserializeWith>() {
2002										Ok(deserialize_with) => deserialize_with.0,
2003										Err(err) => {
2004											return Err(err);
2005										}
2006									}
2007								});
2008							}
2009							Field::Duration => {
2010								if r#duration_property.is_some() {
2011									return Err(<A::Error as de::Error>::duplicate_field(
2012										"duration",
2013									));
2014								}
2015								r#duration_property = Some({
2016									struct DeserializeWith(Vec<DurationProperty>);
2017									impl<'de> Deserialize<'de> for DeserializeWith {
2018										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2019										where
2020											D: Deserializer<'de>,
2021										{
2022											Ok(DeserializeWith(serde_with::As::<
2023												serde_with::OneOrMany<serde_with::Same>,
2024											>::deserialize(deserializer)?))
2025										}
2026									}
2027									match map.next_value::<DeserializeWith>() {
2028										Ok(deserialize_with) => deserialize_with.0,
2029										Err(err) => {
2030											return Err(err);
2031										}
2032									}
2033								});
2034							}
2035							Field::EndDate => {
2036								if r#end_date_property.is_some() {
2037									return Err(<A::Error as de::Error>::duplicate_field(
2038										"endDate",
2039									));
2040								}
2041								r#end_date_property = Some({
2042									struct DeserializeWith(Vec<EndDateProperty>);
2043									impl<'de> Deserialize<'de> for DeserializeWith {
2044										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2045										where
2046											D: Deserializer<'de>,
2047										{
2048											Ok(DeserializeWith(serde_with::As::<
2049												serde_with::OneOrMany<serde_with::Same>,
2050											>::deserialize(deserializer)?))
2051										}
2052									}
2053									match map.next_value::<DeserializeWith>() {
2054										Ok(deserialize_with) => deserialize_with.0,
2055										Err(err) => {
2056											return Err(err);
2057										}
2058									}
2059								});
2060							}
2061							Field::EventAttendanceMode => {
2062								if r#event_attendance_mode_property.is_some() {
2063									return Err(<A::Error as de::Error>::duplicate_field(
2064										"eventAttendanceMode",
2065									));
2066								}
2067								r#event_attendance_mode_property = Some({
2068									struct DeserializeWith(Vec<EventAttendanceModeProperty>);
2069									impl<'de> Deserialize<'de> for DeserializeWith {
2070										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2071										where
2072											D: Deserializer<'de>,
2073										{
2074											Ok(DeserializeWith(serde_with::As::<
2075												serde_with::OneOrMany<serde_with::Same>,
2076											>::deserialize(deserializer)?))
2077										}
2078									}
2079									match map.next_value::<DeserializeWith>() {
2080										Ok(deserialize_with) => deserialize_with.0,
2081										Err(err) => {
2082											return Err(err);
2083										}
2084									}
2085								});
2086							}
2087							Field::EventSchedule => {
2088								if r#event_schedule_property.is_some() {
2089									return Err(<A::Error as de::Error>::duplicate_field(
2090										"eventSchedule",
2091									));
2092								}
2093								r#event_schedule_property = Some({
2094									struct DeserializeWith(Vec<EventScheduleProperty>);
2095									impl<'de> Deserialize<'de> for DeserializeWith {
2096										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2097										where
2098											D: Deserializer<'de>,
2099										{
2100											Ok(DeserializeWith(serde_with::As::<
2101												serde_with::OneOrMany<serde_with::Same>,
2102											>::deserialize(deserializer)?))
2103										}
2104									}
2105									match map.next_value::<DeserializeWith>() {
2106										Ok(deserialize_with) => deserialize_with.0,
2107										Err(err) => {
2108											return Err(err);
2109										}
2110									}
2111								});
2112							}
2113							Field::EventStatus => {
2114								if r#event_status_property.is_some() {
2115									return Err(<A::Error as de::Error>::duplicate_field(
2116										"eventStatus",
2117									));
2118								}
2119								r#event_status_property = Some({
2120									struct DeserializeWith(Vec<EventStatusProperty>);
2121									impl<'de> Deserialize<'de> for DeserializeWith {
2122										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2123										where
2124											D: Deserializer<'de>,
2125										{
2126											Ok(DeserializeWith(serde_with::As::<
2127												serde_with::OneOrMany<serde_with::Same>,
2128											>::deserialize(deserializer)?))
2129										}
2130									}
2131									match map.next_value::<DeserializeWith>() {
2132										Ok(deserialize_with) => deserialize_with.0,
2133										Err(err) => {
2134											return Err(err);
2135										}
2136									}
2137								});
2138							}
2139							Field::Funder => {
2140								if r#funder_property.is_some() {
2141									return Err(<A::Error as de::Error>::duplicate_field("funder"));
2142								}
2143								r#funder_property = Some({
2144									struct DeserializeWith(Vec<FunderProperty>);
2145									impl<'de> Deserialize<'de> for DeserializeWith {
2146										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2147										where
2148											D: Deserializer<'de>,
2149										{
2150											Ok(DeserializeWith(serde_with::As::<
2151												serde_with::OneOrMany<serde_with::Same>,
2152											>::deserialize(deserializer)?))
2153										}
2154									}
2155									match map.next_value::<DeserializeWith>() {
2156										Ok(deserialize_with) => deserialize_with.0,
2157										Err(err) => {
2158											return Err(err);
2159										}
2160									}
2161								});
2162							}
2163							Field::Funding => {
2164								if r#funding_property.is_some() {
2165									return Err(<A::Error as de::Error>::duplicate_field(
2166										"funding",
2167									));
2168								}
2169								r#funding_property = Some({
2170									struct DeserializeWith(Vec<FundingProperty>);
2171									impl<'de> Deserialize<'de> for DeserializeWith {
2172										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2173										where
2174											D: Deserializer<'de>,
2175										{
2176											Ok(DeserializeWith(serde_with::As::<
2177												serde_with::OneOrMany<serde_with::Same>,
2178											>::deserialize(deserializer)?))
2179										}
2180									}
2181									match map.next_value::<DeserializeWith>() {
2182										Ok(deserialize_with) => deserialize_with.0,
2183										Err(err) => {
2184											return Err(err);
2185										}
2186									}
2187								});
2188							}
2189							Field::InLanguage => {
2190								if r#in_language_property.is_some() {
2191									return Err(<A::Error as de::Error>::duplicate_field(
2192										"inLanguage",
2193									));
2194								}
2195								r#in_language_property = Some({
2196									struct DeserializeWith(Vec<InLanguageProperty>);
2197									impl<'de> Deserialize<'de> for DeserializeWith {
2198										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2199										where
2200											D: Deserializer<'de>,
2201										{
2202											Ok(DeserializeWith(serde_with::As::<
2203												serde_with::OneOrMany<serde_with::Same>,
2204											>::deserialize(deserializer)?))
2205										}
2206									}
2207									match map.next_value::<DeserializeWith>() {
2208										Ok(deserialize_with) => deserialize_with.0,
2209										Err(err) => {
2210											return Err(err);
2211										}
2212									}
2213								});
2214							}
2215							Field::IsAccessibleForFree => {
2216								if r#is_accessible_for_free_property.is_some() {
2217									return Err(<A::Error as de::Error>::duplicate_field(
2218										"isAccessibleForFree",
2219									));
2220								}
2221								r#is_accessible_for_free_property = Some({
2222									struct DeserializeWith(Vec<IsAccessibleForFreeProperty>);
2223									impl<'de> Deserialize<'de> for DeserializeWith {
2224										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2225										where
2226											D: Deserializer<'de>,
2227										{
2228											Ok(DeserializeWith(serde_with::As::<
2229												serde_with::OneOrMany<serde_with::Same>,
2230											>::deserialize(deserializer)?))
2231										}
2232									}
2233									match map.next_value::<DeserializeWith>() {
2234										Ok(deserialize_with) => deserialize_with.0,
2235										Err(err) => {
2236											return Err(err);
2237										}
2238									}
2239								});
2240							}
2241							Field::Keywords => {
2242								if r#keywords_property.is_some() {
2243									return Err(<A::Error as de::Error>::duplicate_field(
2244										"keywords",
2245									));
2246								}
2247								r#keywords_property = Some({
2248									struct DeserializeWith(Vec<KeywordsProperty>);
2249									impl<'de> Deserialize<'de> for DeserializeWith {
2250										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2251										where
2252											D: Deserializer<'de>,
2253										{
2254											Ok(DeserializeWith(serde_with::As::<
2255												serde_with::OneOrMany<serde_with::Same>,
2256											>::deserialize(deserializer)?))
2257										}
2258									}
2259									match map.next_value::<DeserializeWith>() {
2260										Ok(deserialize_with) => deserialize_with.0,
2261										Err(err) => {
2262											return Err(err);
2263										}
2264									}
2265								});
2266							}
2267							Field::Location => {
2268								if r#location_property.is_some() {
2269									return Err(<A::Error as de::Error>::duplicate_field(
2270										"location",
2271									));
2272								}
2273								r#location_property = Some({
2274									struct DeserializeWith(Vec<LocationProperty>);
2275									impl<'de> Deserialize<'de> for DeserializeWith {
2276										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2277										where
2278											D: Deserializer<'de>,
2279										{
2280											Ok(DeserializeWith(serde_with::As::<
2281												serde_with::OneOrMany<serde_with::Same>,
2282											>::deserialize(deserializer)?))
2283										}
2284									}
2285									match map.next_value::<DeserializeWith>() {
2286										Ok(deserialize_with) => deserialize_with.0,
2287										Err(err) => {
2288											return Err(err);
2289										}
2290									}
2291								});
2292							}
2293							Field::MaximumAttendeeCapacity => {
2294								if r#maximum_attendee_capacity_property.is_some() {
2295									return Err(<A::Error as de::Error>::duplicate_field(
2296										"maximumAttendeeCapacity",
2297									));
2298								}
2299								r#maximum_attendee_capacity_property = Some({
2300									struct DeserializeWith(Vec<MaximumAttendeeCapacityProperty>);
2301									impl<'de> Deserialize<'de> for DeserializeWith {
2302										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2303										where
2304											D: Deserializer<'de>,
2305										{
2306											Ok(DeserializeWith(serde_with::As::<
2307												serde_with::OneOrMany<serde_with::Same>,
2308											>::deserialize(deserializer)?))
2309										}
2310									}
2311									match map.next_value::<DeserializeWith>() {
2312										Ok(deserialize_with) => deserialize_with.0,
2313										Err(err) => {
2314											return Err(err);
2315										}
2316									}
2317								});
2318							}
2319							Field::MaximumPhysicalAttendeeCapacity => {
2320								if r#maximum_physical_attendee_capacity_property.is_some() {
2321									return Err(<A::Error as de::Error>::duplicate_field(
2322										"maximumPhysicalAttendeeCapacity",
2323									));
2324								}
2325								r#maximum_physical_attendee_capacity_property = Some({
2326									struct DeserializeWith(
2327										Vec<MaximumPhysicalAttendeeCapacityProperty>,
2328									);
2329									impl<'de> Deserialize<'de> for DeserializeWith {
2330										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2331										where
2332											D: Deserializer<'de>,
2333										{
2334											Ok(DeserializeWith(serde_with::As::<
2335												serde_with::OneOrMany<serde_with::Same>,
2336											>::deserialize(deserializer)?))
2337										}
2338									}
2339									match map.next_value::<DeserializeWith>() {
2340										Ok(deserialize_with) => deserialize_with.0,
2341										Err(err) => {
2342											return Err(err);
2343										}
2344									}
2345								});
2346							}
2347							Field::MaximumVirtualAttendeeCapacity => {
2348								if r#maximum_virtual_attendee_capacity_property.is_some() {
2349									return Err(<A::Error as de::Error>::duplicate_field(
2350										"maximumVirtualAttendeeCapacity",
2351									));
2352								}
2353								r#maximum_virtual_attendee_capacity_property = Some({
2354									struct DeserializeWith(
2355										Vec<MaximumVirtualAttendeeCapacityProperty>,
2356									);
2357									impl<'de> Deserialize<'de> for DeserializeWith {
2358										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2359										where
2360											D: Deserializer<'de>,
2361										{
2362											Ok(DeserializeWith(serde_with::As::<
2363												serde_with::OneOrMany<serde_with::Same>,
2364											>::deserialize(deserializer)?))
2365										}
2366									}
2367									match map.next_value::<DeserializeWith>() {
2368										Ok(deserialize_with) => deserialize_with.0,
2369										Err(err) => {
2370											return Err(err);
2371										}
2372									}
2373								});
2374							}
2375							Field::Offers => {
2376								if r#offers_property.is_some() {
2377									return Err(<A::Error as de::Error>::duplicate_field("offers"));
2378								}
2379								r#offers_property = Some({
2380									struct DeserializeWith(Vec<OffersProperty>);
2381									impl<'de> Deserialize<'de> for DeserializeWith {
2382										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2383										where
2384											D: Deserializer<'de>,
2385										{
2386											Ok(DeserializeWith(serde_with::As::<
2387												serde_with::OneOrMany<serde_with::Same>,
2388											>::deserialize(deserializer)?))
2389										}
2390									}
2391									match map.next_value::<DeserializeWith>() {
2392										Ok(deserialize_with) => deserialize_with.0,
2393										Err(err) => {
2394											return Err(err);
2395										}
2396									}
2397								});
2398							}
2399							Field::Organizer => {
2400								if r#organizer_property.is_some() {
2401									return Err(<A::Error as de::Error>::duplicate_field(
2402										"organizer",
2403									));
2404								}
2405								r#organizer_property = Some({
2406									struct DeserializeWith(Vec<OrganizerProperty>);
2407									impl<'de> Deserialize<'de> for DeserializeWith {
2408										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2409										where
2410											D: Deserializer<'de>,
2411										{
2412											Ok(DeserializeWith(serde_with::As::<
2413												serde_with::OneOrMany<serde_with::Same>,
2414											>::deserialize(deserializer)?))
2415										}
2416									}
2417									match map.next_value::<DeserializeWith>() {
2418										Ok(deserialize_with) => deserialize_with.0,
2419										Err(err) => {
2420											return Err(err);
2421										}
2422									}
2423								});
2424							}
2425							Field::Performer => {
2426								if r#performer_property.is_some() {
2427									return Err(<A::Error as de::Error>::duplicate_field(
2428										"performer",
2429									));
2430								}
2431								r#performer_property = Some({
2432									struct DeserializeWith(Vec<PerformerProperty>);
2433									impl<'de> Deserialize<'de> for DeserializeWith {
2434										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2435										where
2436											D: Deserializer<'de>,
2437										{
2438											Ok(DeserializeWith(serde_with::As::<
2439												serde_with::OneOrMany<serde_with::Same>,
2440											>::deserialize(deserializer)?))
2441										}
2442									}
2443									match map.next_value::<DeserializeWith>() {
2444										Ok(deserialize_with) => deserialize_with.0,
2445										Err(err) => {
2446											return Err(err);
2447										}
2448									}
2449								});
2450							}
2451							Field::Performers => {
2452								if r#performers_property.is_some() {
2453									return Err(<A::Error as de::Error>::duplicate_field(
2454										"performers",
2455									));
2456								}
2457								r#performers_property = Some({
2458									struct DeserializeWith(Vec<PerformersProperty>);
2459									impl<'de> Deserialize<'de> for DeserializeWith {
2460										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2461										where
2462											D: Deserializer<'de>,
2463										{
2464											Ok(DeserializeWith(serde_with::As::<
2465												serde_with::OneOrMany<serde_with::Same>,
2466											>::deserialize(deserializer)?))
2467										}
2468									}
2469									match map.next_value::<DeserializeWith>() {
2470										Ok(deserialize_with) => deserialize_with.0,
2471										Err(err) => {
2472											return Err(err);
2473										}
2474									}
2475								});
2476							}
2477							Field::PreviousStartDate => {
2478								if r#previous_start_date_property.is_some() {
2479									return Err(<A::Error as de::Error>::duplicate_field(
2480										"previousStartDate",
2481									));
2482								}
2483								r#previous_start_date_property = Some({
2484									struct DeserializeWith(Vec<PreviousStartDateProperty>);
2485									impl<'de> Deserialize<'de> for DeserializeWith {
2486										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2487										where
2488											D: Deserializer<'de>,
2489										{
2490											Ok(DeserializeWith(serde_with::As::<
2491												serde_with::OneOrMany<serde_with::Same>,
2492											>::deserialize(deserializer)?))
2493										}
2494									}
2495									match map.next_value::<DeserializeWith>() {
2496										Ok(deserialize_with) => deserialize_with.0,
2497										Err(err) => {
2498											return Err(err);
2499										}
2500									}
2501								});
2502							}
2503							Field::RecordedIn => {
2504								if r#recorded_in_property.is_some() {
2505									return Err(<A::Error as de::Error>::duplicate_field(
2506										"recordedIn",
2507									));
2508								}
2509								r#recorded_in_property = Some({
2510									struct DeserializeWith(Vec<RecordedInProperty>);
2511									impl<'de> Deserialize<'de> for DeserializeWith {
2512										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2513										where
2514											D: Deserializer<'de>,
2515										{
2516											Ok(DeserializeWith(serde_with::As::<
2517												serde_with::OneOrMany<serde_with::Same>,
2518											>::deserialize(deserializer)?))
2519										}
2520									}
2521									match map.next_value::<DeserializeWith>() {
2522										Ok(deserialize_with) => deserialize_with.0,
2523										Err(err) => {
2524											return Err(err);
2525										}
2526									}
2527								});
2528							}
2529							Field::RemainingAttendeeCapacity => {
2530								if r#remaining_attendee_capacity_property.is_some() {
2531									return Err(<A::Error as de::Error>::duplicate_field(
2532										"remainingAttendeeCapacity",
2533									));
2534								}
2535								r#remaining_attendee_capacity_property = Some({
2536									struct DeserializeWith(Vec<RemainingAttendeeCapacityProperty>);
2537									impl<'de> Deserialize<'de> for DeserializeWith {
2538										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2539										where
2540											D: Deserializer<'de>,
2541										{
2542											Ok(DeserializeWith(serde_with::As::<
2543												serde_with::OneOrMany<serde_with::Same>,
2544											>::deserialize(deserializer)?))
2545										}
2546									}
2547									match map.next_value::<DeserializeWith>() {
2548										Ok(deserialize_with) => deserialize_with.0,
2549										Err(err) => {
2550											return Err(err);
2551										}
2552									}
2553								});
2554							}
2555							Field::Review => {
2556								if r#review_property.is_some() {
2557									return Err(<A::Error as de::Error>::duplicate_field("review"));
2558								}
2559								r#review_property = Some({
2560									struct DeserializeWith(Vec<ReviewProperty>);
2561									impl<'de> Deserialize<'de> for DeserializeWith {
2562										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2563										where
2564											D: Deserializer<'de>,
2565										{
2566											Ok(DeserializeWith(serde_with::As::<
2567												serde_with::OneOrMany<serde_with::Same>,
2568											>::deserialize(deserializer)?))
2569										}
2570									}
2571									match map.next_value::<DeserializeWith>() {
2572										Ok(deserialize_with) => deserialize_with.0,
2573										Err(err) => {
2574											return Err(err);
2575										}
2576									}
2577								});
2578							}
2579							Field::Sponsor => {
2580								if r#sponsor_property.is_some() {
2581									return Err(<A::Error as de::Error>::duplicate_field(
2582										"sponsor",
2583									));
2584								}
2585								r#sponsor_property = Some({
2586									struct DeserializeWith(Vec<SponsorProperty>);
2587									impl<'de> Deserialize<'de> for DeserializeWith {
2588										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2589										where
2590											D: Deserializer<'de>,
2591										{
2592											Ok(DeserializeWith(serde_with::As::<
2593												serde_with::OneOrMany<serde_with::Same>,
2594											>::deserialize(deserializer)?))
2595										}
2596									}
2597									match map.next_value::<DeserializeWith>() {
2598										Ok(deserialize_with) => deserialize_with.0,
2599										Err(err) => {
2600											return Err(err);
2601										}
2602									}
2603								});
2604							}
2605							Field::StartDate => {
2606								if r#start_date_property.is_some() {
2607									return Err(<A::Error as de::Error>::duplicate_field(
2608										"startDate",
2609									));
2610								}
2611								r#start_date_property = Some({
2612									struct DeserializeWith(Vec<StartDateProperty>);
2613									impl<'de> Deserialize<'de> for DeserializeWith {
2614										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2615										where
2616											D: Deserializer<'de>,
2617										{
2618											Ok(DeserializeWith(serde_with::As::<
2619												serde_with::OneOrMany<serde_with::Same>,
2620											>::deserialize(deserializer)?))
2621										}
2622									}
2623									match map.next_value::<DeserializeWith>() {
2624										Ok(deserialize_with) => deserialize_with.0,
2625										Err(err) => {
2626											return Err(err);
2627										}
2628									}
2629								});
2630							}
2631							Field::SubEvent => {
2632								if r#sub_event_property.is_some() {
2633									return Err(<A::Error as de::Error>::duplicate_field(
2634										"subEvent",
2635									));
2636								}
2637								r#sub_event_property = Some({
2638									struct DeserializeWith(Vec<SubEventProperty>);
2639									impl<'de> Deserialize<'de> for DeserializeWith {
2640										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2641										where
2642											D: Deserializer<'de>,
2643										{
2644											Ok(DeserializeWith(serde_with::As::<
2645												serde_with::OneOrMany<serde_with::Same>,
2646											>::deserialize(deserializer)?))
2647										}
2648									}
2649									match map.next_value::<DeserializeWith>() {
2650										Ok(deserialize_with) => deserialize_with.0,
2651										Err(err) => {
2652											return Err(err);
2653										}
2654									}
2655								});
2656							}
2657							Field::SubEvents => {
2658								if r#sub_events_property.is_some() {
2659									return Err(<A::Error as de::Error>::duplicate_field(
2660										"subEvents",
2661									));
2662								}
2663								r#sub_events_property = Some({
2664									struct DeserializeWith(Vec<SubEventsProperty>);
2665									impl<'de> Deserialize<'de> for DeserializeWith {
2666										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2667										where
2668											D: Deserializer<'de>,
2669										{
2670											Ok(DeserializeWith(serde_with::As::<
2671												serde_with::OneOrMany<serde_with::Same>,
2672											>::deserialize(deserializer)?))
2673										}
2674									}
2675									match map.next_value::<DeserializeWith>() {
2676										Ok(deserialize_with) => deserialize_with.0,
2677										Err(err) => {
2678											return Err(err);
2679										}
2680									}
2681								});
2682							}
2683							Field::SuperEvent => {
2684								if r#super_event_property.is_some() {
2685									return Err(<A::Error as de::Error>::duplicate_field(
2686										"superEvent",
2687									));
2688								}
2689								r#super_event_property = Some({
2690									struct DeserializeWith(Vec<SuperEventProperty>);
2691									impl<'de> Deserialize<'de> for DeserializeWith {
2692										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2693										where
2694											D: Deserializer<'de>,
2695										{
2696											Ok(DeserializeWith(serde_with::As::<
2697												serde_with::OneOrMany<serde_with::Same>,
2698											>::deserialize(deserializer)?))
2699										}
2700									}
2701									match map.next_value::<DeserializeWith>() {
2702										Ok(deserialize_with) => deserialize_with.0,
2703										Err(err) => {
2704											return Err(err);
2705										}
2706									}
2707								});
2708							}
2709							Field::Translator => {
2710								if r#translator_property.is_some() {
2711									return Err(<A::Error as de::Error>::duplicate_field(
2712										"translator",
2713									));
2714								}
2715								r#translator_property = Some({
2716									struct DeserializeWith(Vec<TranslatorProperty>);
2717									impl<'de> Deserialize<'de> for DeserializeWith {
2718										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2719										where
2720											D: Deserializer<'de>,
2721										{
2722											Ok(DeserializeWith(serde_with::As::<
2723												serde_with::OneOrMany<serde_with::Same>,
2724											>::deserialize(deserializer)?))
2725										}
2726									}
2727									match map.next_value::<DeserializeWith>() {
2728										Ok(deserialize_with) => deserialize_with.0,
2729										Err(err) => {
2730											return Err(err);
2731										}
2732									}
2733								});
2734							}
2735							Field::TypicalAgeRange => {
2736								if r#typical_age_range_property.is_some() {
2737									return Err(<A::Error as de::Error>::duplicate_field(
2738										"typicalAgeRange",
2739									));
2740								}
2741								r#typical_age_range_property = Some({
2742									struct DeserializeWith(Vec<TypicalAgeRangeProperty>);
2743									impl<'de> Deserialize<'de> for DeserializeWith {
2744										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2745										where
2746											D: Deserializer<'de>,
2747										{
2748											Ok(DeserializeWith(serde_with::As::<
2749												serde_with::OneOrMany<serde_with::Same>,
2750											>::deserialize(deserializer)?))
2751										}
2752									}
2753									match map.next_value::<DeserializeWith>() {
2754										Ok(deserialize_with) => deserialize_with.0,
2755										Err(err) => {
2756											return Err(err);
2757										}
2758									}
2759								});
2760							}
2761							Field::WorkFeatured => {
2762								if r#work_featured_property.is_some() {
2763									return Err(<A::Error as de::Error>::duplicate_field(
2764										"workFeatured",
2765									));
2766								}
2767								r#work_featured_property = Some({
2768									struct DeserializeWith(Vec<WorkFeaturedProperty>);
2769									impl<'de> Deserialize<'de> for DeserializeWith {
2770										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2771										where
2772											D: Deserializer<'de>,
2773										{
2774											Ok(DeserializeWith(serde_with::As::<
2775												serde_with::OneOrMany<serde_with::Same>,
2776											>::deserialize(deserializer)?))
2777										}
2778									}
2779									match map.next_value::<DeserializeWith>() {
2780										Ok(deserialize_with) => deserialize_with.0,
2781										Err(err) => {
2782											return Err(err);
2783										}
2784									}
2785								});
2786							}
2787							Field::WorkPerformed => {
2788								if r#work_performed_property.is_some() {
2789									return Err(<A::Error as de::Error>::duplicate_field(
2790										"workPerformed",
2791									));
2792								}
2793								r#work_performed_property = Some({
2794									struct DeserializeWith(Vec<WorkPerformedProperty>);
2795									impl<'de> Deserialize<'de> for DeserializeWith {
2796										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2797										where
2798											D: Deserializer<'de>,
2799										{
2800											Ok(DeserializeWith(serde_with::As::<
2801												serde_with::OneOrMany<serde_with::Same>,
2802											>::deserialize(deserializer)?))
2803										}
2804									}
2805									match map.next_value::<DeserializeWith>() {
2806										Ok(deserialize_with) => deserialize_with.0,
2807										Err(err) => {
2808											return Err(err);
2809										}
2810									}
2811								});
2812							}
2813							Field::AdditionalType => {
2814								if r#additional_type_property.is_some() {
2815									return Err(<A::Error as de::Error>::duplicate_field(
2816										"additionalType",
2817									));
2818								}
2819								r#additional_type_property = Some({
2820									struct DeserializeWith(Vec<AdditionalTypeProperty>);
2821									impl<'de> Deserialize<'de> for DeserializeWith {
2822										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2823										where
2824											D: Deserializer<'de>,
2825										{
2826											Ok(DeserializeWith(serde_with::As::<
2827												serde_with::OneOrMany<serde_with::Same>,
2828											>::deserialize(deserializer)?))
2829										}
2830									}
2831									match map.next_value::<DeserializeWith>() {
2832										Ok(deserialize_with) => deserialize_with.0,
2833										Err(err) => {
2834											return Err(err);
2835										}
2836									}
2837								});
2838							}
2839							Field::AlternateName => {
2840								if r#alternate_name_property.is_some() {
2841									return Err(<A::Error as de::Error>::duplicate_field(
2842										"alternateName",
2843									));
2844								}
2845								r#alternate_name_property = Some({
2846									struct DeserializeWith(Vec<AlternateNameProperty>);
2847									impl<'de> Deserialize<'de> for DeserializeWith {
2848										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2849										where
2850											D: Deserializer<'de>,
2851										{
2852											Ok(DeserializeWith(serde_with::As::<
2853												serde_with::OneOrMany<serde_with::Same>,
2854											>::deserialize(deserializer)?))
2855										}
2856									}
2857									match map.next_value::<DeserializeWith>() {
2858										Ok(deserialize_with) => deserialize_with.0,
2859										Err(err) => {
2860											return Err(err);
2861										}
2862									}
2863								});
2864							}
2865							Field::Description => {
2866								if r#description_property.is_some() {
2867									return Err(<A::Error as de::Error>::duplicate_field(
2868										"description",
2869									));
2870								}
2871								r#description_property = Some({
2872									struct DeserializeWith(Vec<DescriptionProperty>);
2873									impl<'de> Deserialize<'de> for DeserializeWith {
2874										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2875										where
2876											D: Deserializer<'de>,
2877										{
2878											Ok(DeserializeWith(serde_with::As::<
2879												serde_with::OneOrMany<serde_with::Same>,
2880											>::deserialize(deserializer)?))
2881										}
2882									}
2883									match map.next_value::<DeserializeWith>() {
2884										Ok(deserialize_with) => deserialize_with.0,
2885										Err(err) => {
2886											return Err(err);
2887										}
2888									}
2889								});
2890							}
2891							Field::DisambiguatingDescription => {
2892								if r#disambiguating_description_property.is_some() {
2893									return Err(<A::Error as de::Error>::duplicate_field(
2894										"disambiguatingDescription",
2895									));
2896								}
2897								r#disambiguating_description_property = Some({
2898									struct DeserializeWith(Vec<DisambiguatingDescriptionProperty>);
2899									impl<'de> Deserialize<'de> for DeserializeWith {
2900										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2901										where
2902											D: Deserializer<'de>,
2903										{
2904											Ok(DeserializeWith(serde_with::As::<
2905												serde_with::OneOrMany<serde_with::Same>,
2906											>::deserialize(deserializer)?))
2907										}
2908									}
2909									match map.next_value::<DeserializeWith>() {
2910										Ok(deserialize_with) => deserialize_with.0,
2911										Err(err) => {
2912											return Err(err);
2913										}
2914									}
2915								});
2916							}
2917							Field::Identifier => {
2918								if r#identifier_property.is_some() {
2919									return Err(<A::Error as de::Error>::duplicate_field(
2920										"identifier",
2921									));
2922								}
2923								r#identifier_property = Some({
2924									struct DeserializeWith(Vec<IdentifierProperty>);
2925									impl<'de> Deserialize<'de> for DeserializeWith {
2926										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2927										where
2928											D: Deserializer<'de>,
2929										{
2930											Ok(DeserializeWith(serde_with::As::<
2931												serde_with::OneOrMany<serde_with::Same>,
2932											>::deserialize(deserializer)?))
2933										}
2934									}
2935									match map.next_value::<DeserializeWith>() {
2936										Ok(deserialize_with) => deserialize_with.0,
2937										Err(err) => {
2938											return Err(err);
2939										}
2940									}
2941								});
2942							}
2943							Field::Image => {
2944								if r#image_property.is_some() {
2945									return Err(<A::Error as de::Error>::duplicate_field("image"));
2946								}
2947								r#image_property = Some({
2948									struct DeserializeWith(Vec<ImageProperty>);
2949									impl<'de> Deserialize<'de> for DeserializeWith {
2950										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2951										where
2952											D: Deserializer<'de>,
2953										{
2954											Ok(DeserializeWith(serde_with::As::<
2955												serde_with::OneOrMany<serde_with::Same>,
2956											>::deserialize(deserializer)?))
2957										}
2958									}
2959									match map.next_value::<DeserializeWith>() {
2960										Ok(deserialize_with) => deserialize_with.0,
2961										Err(err) => {
2962											return Err(err);
2963										}
2964									}
2965								});
2966							}
2967							Field::MainEntityOfPage => {
2968								if r#main_entity_of_page_property.is_some() {
2969									return Err(<A::Error as de::Error>::duplicate_field(
2970										"mainEntityOfPage",
2971									));
2972								}
2973								r#main_entity_of_page_property = Some({
2974									struct DeserializeWith(Vec<MainEntityOfPageProperty>);
2975									impl<'de> Deserialize<'de> for DeserializeWith {
2976										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2977										where
2978											D: Deserializer<'de>,
2979										{
2980											Ok(DeserializeWith(serde_with::As::<
2981												serde_with::OneOrMany<serde_with::Same>,
2982											>::deserialize(deserializer)?))
2983										}
2984									}
2985									match map.next_value::<DeserializeWith>() {
2986										Ok(deserialize_with) => deserialize_with.0,
2987										Err(err) => {
2988											return Err(err);
2989										}
2990									}
2991								});
2992							}
2993							Field::Name => {
2994								if r#name_property.is_some() {
2995									return Err(<A::Error as de::Error>::duplicate_field("name"));
2996								}
2997								r#name_property = Some({
2998									struct DeserializeWith(Vec<NameProperty>);
2999									impl<'de> Deserialize<'de> for DeserializeWith {
3000										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3001										where
3002											D: Deserializer<'de>,
3003										{
3004											Ok(DeserializeWith(serde_with::As::<
3005												serde_with::OneOrMany<serde_with::Same>,
3006											>::deserialize(deserializer)?))
3007										}
3008									}
3009									match map.next_value::<DeserializeWith>() {
3010										Ok(deserialize_with) => deserialize_with.0,
3011										Err(err) => {
3012											return Err(err);
3013										}
3014									}
3015								});
3016							}
3017							Field::PotentialAction => {
3018								if r#potential_action_property.is_some() {
3019									return Err(<A::Error as de::Error>::duplicate_field(
3020										"potentialAction",
3021									));
3022								}
3023								r#potential_action_property = Some({
3024									struct DeserializeWith(Vec<PotentialActionProperty>);
3025									impl<'de> Deserialize<'de> for DeserializeWith {
3026										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3027										where
3028											D: Deserializer<'de>,
3029										{
3030											Ok(DeserializeWith(serde_with::As::<
3031												serde_with::OneOrMany<serde_with::Same>,
3032											>::deserialize(deserializer)?))
3033										}
3034									}
3035									match map.next_value::<DeserializeWith>() {
3036										Ok(deserialize_with) => deserialize_with.0,
3037										Err(err) => {
3038											return Err(err);
3039										}
3040									}
3041								});
3042							}
3043							Field::SameAs => {
3044								if r#same_as_property.is_some() {
3045									return Err(<A::Error as de::Error>::duplicate_field("sameAs"));
3046								}
3047								r#same_as_property = Some({
3048									struct DeserializeWith(Vec<SameAsProperty>);
3049									impl<'de> Deserialize<'de> for DeserializeWith {
3050										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3051										where
3052											D: Deserializer<'de>,
3053										{
3054											Ok(DeserializeWith(serde_with::As::<
3055												serde_with::OneOrMany<serde_with::Same>,
3056											>::deserialize(deserializer)?))
3057										}
3058									}
3059									match map.next_value::<DeserializeWith>() {
3060										Ok(deserialize_with) => deserialize_with.0,
3061										Err(err) => {
3062											return Err(err);
3063										}
3064									}
3065								});
3066							}
3067							Field::SubjectOf => {
3068								if r#subject_of_property.is_some() {
3069									return Err(<A::Error as de::Error>::duplicate_field(
3070										"subjectOf",
3071									));
3072								}
3073								r#subject_of_property = Some({
3074									struct DeserializeWith(Vec<SubjectOfProperty>);
3075									impl<'de> Deserialize<'de> for DeserializeWith {
3076										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3077										where
3078											D: Deserializer<'de>,
3079										{
3080											Ok(DeserializeWith(serde_with::As::<
3081												serde_with::OneOrMany<serde_with::Same>,
3082											>::deserialize(deserializer)?))
3083										}
3084									}
3085									match map.next_value::<DeserializeWith>() {
3086										Ok(deserialize_with) => deserialize_with.0,
3087										Err(err) => {
3088											return Err(err);
3089										}
3090									}
3091								});
3092							}
3093							Field::Url => {
3094								if r#url_property.is_some() {
3095									return Err(<A::Error as de::Error>::duplicate_field("url"));
3096								}
3097								r#url_property = Some({
3098									struct DeserializeWith(Vec<UrlProperty>);
3099									impl<'de> Deserialize<'de> for DeserializeWith {
3100										fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
3101										where
3102											D: Deserializer<'de>,
3103										{
3104											Ok(DeserializeWith(serde_with::As::<
3105												serde_with::OneOrMany<serde_with::Same>,
3106											>::deserialize(deserializer)?))
3107										}
3108									}
3109									match map.next_value::<DeserializeWith>() {
3110										Ok(deserialize_with) => deserialize_with.0,
3111										Err(err) => {
3112											return Err(err);
3113										}
3114									}
3115								});
3116							}
3117							Field::Ignore => {
3118								let _ = map.next_value::<de::IgnoredAny>()?;
3119							}
3120						}
3121					}
3122					Ok(UserBlocks {
3123						r#about: r#about_property.unwrap_or_default(),
3124						r#actor: r#actor_property.unwrap_or_default(),
3125						r#aggregate_rating: r#aggregate_rating_property.unwrap_or_default(),
3126						r#attendee: r#attendee_property.unwrap_or_default(),
3127						r#attendees: r#attendees_property.unwrap_or_default(),
3128						r#audience: r#audience_property.unwrap_or_default(),
3129						r#composer: r#composer_property.unwrap_or_default(),
3130						r#contributor: r#contributor_property.unwrap_or_default(),
3131						r#director: r#director_property.unwrap_or_default(),
3132						r#door_time: r#door_time_property.unwrap_or_default(),
3133						r#duration: r#duration_property.unwrap_or_default(),
3134						r#end_date: r#end_date_property.unwrap_or_default(),
3135						r#event_attendance_mode: r#event_attendance_mode_property
3136							.unwrap_or_default(),
3137						r#event_schedule: r#event_schedule_property.unwrap_or_default(),
3138						r#event_status: r#event_status_property.unwrap_or_default(),
3139						r#funder: r#funder_property.unwrap_or_default(),
3140						r#funding: r#funding_property.unwrap_or_default(),
3141						r#in_language: r#in_language_property.unwrap_or_default(),
3142						r#is_accessible_for_free: r#is_accessible_for_free_property
3143							.unwrap_or_default(),
3144						r#keywords: r#keywords_property.unwrap_or_default(),
3145						r#location: r#location_property.unwrap_or_default(),
3146						r#maximum_attendee_capacity: r#maximum_attendee_capacity_property
3147							.unwrap_or_default(),
3148						r#maximum_physical_attendee_capacity:
3149							r#maximum_physical_attendee_capacity_property.unwrap_or_default(),
3150						r#maximum_virtual_attendee_capacity:
3151							r#maximum_virtual_attendee_capacity_property.unwrap_or_default(),
3152						r#offers: r#offers_property.unwrap_or_default(),
3153						r#organizer: r#organizer_property.unwrap_or_default(),
3154						r#performer: r#performer_property.unwrap_or_default(),
3155						r#performers: r#performers_property.unwrap_or_default(),
3156						r#previous_start_date: r#previous_start_date_property.unwrap_or_default(),
3157						r#recorded_in: r#recorded_in_property.unwrap_or_default(),
3158						r#remaining_attendee_capacity: r#remaining_attendee_capacity_property
3159							.unwrap_or_default(),
3160						r#review: r#review_property.unwrap_or_default(),
3161						r#sponsor: r#sponsor_property.unwrap_or_default(),
3162						r#start_date: r#start_date_property.unwrap_or_default(),
3163						r#sub_event: r#sub_event_property.unwrap_or_default(),
3164						r#sub_events: r#sub_events_property.unwrap_or_default(),
3165						r#super_event: r#super_event_property.unwrap_or_default(),
3166						r#translator: r#translator_property.unwrap_or_default(),
3167						r#typical_age_range: r#typical_age_range_property.unwrap_or_default(),
3168						r#work_featured: r#work_featured_property.unwrap_or_default(),
3169						r#work_performed: r#work_performed_property.unwrap_or_default(),
3170						r#additional_type: r#additional_type_property.unwrap_or_default(),
3171						r#alternate_name: r#alternate_name_property.unwrap_or_default(),
3172						r#description: r#description_property.unwrap_or_default(),
3173						r#disambiguating_description: r#disambiguating_description_property
3174							.unwrap_or_default(),
3175						r#identifier: r#identifier_property.unwrap_or_default(),
3176						r#image: r#image_property.unwrap_or_default(),
3177						r#main_entity_of_page: r#main_entity_of_page_property.unwrap_or_default(),
3178						r#name: r#name_property.unwrap_or_default(),
3179						r#potential_action: r#potential_action_property.unwrap_or_default(),
3180						r#same_as: r#same_as_property.unwrap_or_default(),
3181						r#subject_of: r#subject_of_property.unwrap_or_default(),
3182						r#url: r#url_property.unwrap_or_default(),
3183					})
3184				}
3185			}
3186			const FIELDS: &[&str] = &[
3187				"about",
3188				"actor",
3189				"aggregateRating",
3190				"attendee",
3191				"attendees",
3192				"audience",
3193				"composer",
3194				"contributor",
3195				"director",
3196				"doorTime",
3197				"duration",
3198				"endDate",
3199				"eventAttendanceMode",
3200				"eventSchedule",
3201				"eventStatus",
3202				"funder",
3203				"funding",
3204				"inLanguage",
3205				"isAccessibleForFree",
3206				"keywords",
3207				"location",
3208				"maximumAttendeeCapacity",
3209				"maximumPhysicalAttendeeCapacity",
3210				"maximumVirtualAttendeeCapacity",
3211				"offers",
3212				"organizer",
3213				"performer",
3214				"performers",
3215				"previousStartDate",
3216				"recordedIn",
3217				"remainingAttendeeCapacity",
3218				"review",
3219				"sponsor",
3220				"startDate",
3221				"subEvent",
3222				"subEvents",
3223				"superEvent",
3224				"translator",
3225				"typicalAgeRange",
3226				"workFeatured",
3227				"workPerformed",
3228				"additionalType",
3229				"alternateName",
3230				"description",
3231				"disambiguatingDescription",
3232				"identifier",
3233				"image",
3234				"mainEntityOfPage",
3235				"name",
3236				"potentialAction",
3237				"sameAs",
3238				"subjectOf",
3239				"url",
3240			];
3241			deserializer.deserialize_struct("UserBlocks", FIELDS, ClassVisitor)
3242		}
3243	}
3244}