schema_org_types/schemas/classes/
user_plus_ones.rs

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