An error occurred while processing the template.
The string doesn't match the expected date/time/date-time format. The string to parse was: "2/28/96, 12:00 AM". The expected format was: "dd/MM/yyyy HH:mm".
The nested reason given follows:
Unparseable date: "2/28/96, 12:00 AM"

----
FTL stack trace ("~" means nesting-related):
	- Failed at: ${ObjectField_birthDateStart.getData(...  [in template "22823141604726#20121#null" at line 621, column 40]
----
1<#assign 
2dlAppLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppLocalService") 
3dlURLHelper = serviceLocator.findService("com.liferay.document.library.util.DLURLHelper") 
4 
5objectEntryLocalService = serviceLocator.findService("com.liferay.object.service.ObjectEntryLocalService") 
6objectRelationshipLocalService = serviceLocator.findService("com.liferay.object.service.ObjectRelationshipLocalService") 
7/> 
8 
9<#assign summary = garance.getSummaryContent("Personne")> 
10 
11<#assign peopleID = ObjectEntry_objectEntryId.getData()?number 
12peopleEntry = objectEntryLocalService.fetchObjectEntry(peopleID?number) 
13peopleGroupID = peopleEntry.getGroupId() 
14
15 
16<#assign transiPeopleRel = objectRelationshipLocalService.getObjectRelationship(peopleEntry.objectDefinitionId, "transitionPersonne")> 
17<#assign transiPeoples = objectEntryLocalService.getOneToManyObjectEntries(peopleGroupID, transiPeopleRel.objectRelationshipId, peopleID, true, null, -1, -1 ) /> 
18<#assign pseudoFull = [] 
19translitFull = [] 
20equiFull = []> 
21<#list transiPeoples as transiPeople> 
22    <#switch transiPeople.values.transitionPersonneType> 
23        <#case "PSEUDO"> 
24            <#assign pseudoFull = pseudoFull + [transiPeople]> 
25            <#break> 
26        <#case "TRANSLIT"> 
27            <#assign translitFull = translitFull + [transiPeople]> 
28            <#break> 
29        <#case "EQUI"> 
30            <#assign equiFull = equiFull + [transiPeople]> 
31            <#break> 
32        <#default> 
33            <#if transiPeople.externalReferenceCode = "transi_" + peopleEntry.externalReferenceCode> 
34                <#assign mainTransiPeople = transiPeople> 
35            </#if> 
36            <#break> 
37    </#switch> 
38</#list> 
39 
40<#--------------------------------- Filmographie --------------------------> 
41 
42<#assign filmoShort = []> 
43<#assign filmoLong = []> 
44<#assign creditRealisateurRel = objectRelationshipLocalService.getObjectRelationship(mainTransiPeople.objectDefinitionId, "creditsRealisateur")> 
45<#assign creditRealisateurs = objectEntryLocalService.getManyToManyObjectEntries(peopleGroupID, creditRealisateurRel.objectRelationshipId, mainTransiPeople.objectEntryId, true, creditRealisateurRel.isReverse(), null, -1, -1 ) /> 
46<#list pseudoFull as pseudo> 
47    <#assign creditRealisateurs = creditRealisateurs + objectEntryLocalService.getManyToManyObjectEntries(peopleGroupID, creditRealisateurRel.objectRelationshipId, pseudo.objectEntryId, true, creditRealisateurRel.isReverse(), null, -1, -1 ) /> 
48</#list> 
49<#list creditRealisateurs as creditRealisateur> 
50    <#if creditRealisateur.values.descriptionLevel == "WORK"> 
51        <#if creditRealisateur.values.typeDeMetrage == "LONG"> 
52            <#assign filmoLong = filmoLong + [{"fonction": "Réalisation", "film": creditRealisateur, "year": garance.getFilmYear(creditRealisateur)}]> 
53        <#elseIf creditRealisateur.values.typeDeMetrage == "COURT"> 
54            <#assign filmoShort = filmoShort + [{"fonction": "Réalisation", "film": creditRealisateur, "year": garance.getFilmYear(creditRealisateur)}]> 
55        </#if> 
56    </#if> 
57</#list> 
58 
59<#assign creditRealisationRel = objectRelationshipLocalService.getObjectRelationship(mainTransiPeople.objectDefinitionId, "creditsRealisationName")> 
60<#assign creditRealisations = objectEntryLocalService.getOneToManyObjectEntries(peopleGroupID, creditRealisationRel.objectRelationshipId, mainTransiPeople.objectEntryId, true, null, -1, -1 ) /> 
61<#list pseudoFull as pseudo> 
62    <#assign creditRealisations = creditRealisations + objectEntryLocalService.getOneToManyObjectEntries(peopleGroupID, creditRealisationRel.objectRelationshipId, pseudo.objectEntryId, true, null, -1, -1 ) /> 
63</#list> 
64<#list creditRealisations as creditRealisation> 
65    <#if creditRealisation.values.r_creditsRealisationDomaine_c_thesaurusId != 0 && creditRealisation.values.r_creditsRealisation_c_filmId != 0> 
66        <#assign filmRealisation = objectEntryLocalService.fetchObjectEntry(creditRealisation.values.r_creditsRealisation_c_filmId)> 
67        <#if filmRealisation.values.descriptionLevel == "WORK"> 
68            <#if filmRealisation.values.typeDeMetrage == "LONG"> 
69                <#assign filmoLong = filmoLong + [{"fonction": garance.getThesaurusByID(creditRealisation.values.r_creditsRealisationDomaine_c_thesaurusId), "film": filmRealisation, "year": garance.getFilmYear(filmRealisation)}]> 
70            <#elseIf filmRealisation.values.typeDeMetrage == "COURT"> 
71                <#assign filmoShort = filmoShort + [{"fonction": garance.getThesaurusByID(creditRealisation.values.r_creditsRealisationDomaine_c_thesaurusId), "film": filmRealisation, "year": garance.getFilmYear(filmRealisation)}]> 
72            </#if> 
73        </#if> 
74    </#if> 
75</#list> 
76 
77<#assign creditInterpretationRel = objectRelationshipLocalService.getObjectRelationship(mainTransiPeople.objectDefinitionId, "creditsInterpretationName")> 
78<#assign creditInterpretations = objectEntryLocalService.getOneToManyObjectEntries(peopleGroupID, creditInterpretationRel.objectRelationshipId, mainTransiPeople.objectEntryId, true, null, -1, -1 ) /> 
79<#list pseudoFull as pseudo> 
80    <#assign creditInterpretations = creditInterpretations + objectEntryLocalService.getOneToManyObjectEntries(peopleGroupID, creditInterpretationRel.objectRelationshipId, pseudo.objectEntryId, true, null, -1, -1 ) /> 
81</#list> 
82<#list creditInterpretations as creditInterpretation> 
83    <#if creditInterpretation.values.r_creditsInterpretationDomaine_c_thesaurusId != 0 && creditInterpretation.values.r_creditsInterpretation_c_filmId != 0> 
84        <#assign filmInterpretation = objectEntryLocalService.fetchObjectEntry(creditInterpretation.values.r_creditsInterpretation_c_filmId)> 
85        <#if filmInterpretation.values.descriptionLevel == "WORK"> 
86            <#if filmInterpretation.values.typeDeMetrage == "LONG"> 
87                <#assign filmoLong = filmoLong + [{"fonction": garance.getThesaurusByID(creditInterpretation.values.r_creditsInterpretationDomaine_c_thesaurusId), "film": filmInterpretation, "year": garance.getFilmYear(filmInterpretation)}]> 
88            <#elseIf filmInterpretation.values.typeDeMetrage == "COURT"> 
89                <#assign filmoShort = filmoShort + [{"fonction": garance.getThesaurusByID(creditInterpretation.values.r_creditsInterpretationDomaine_c_thesaurusId), "film": filmInterpretation, "year": garance.getFilmYear(filmInterpretation)}]> 
90            </#if> 
91        </#if> 
92    </#if> 
93</#list> 
94 
95<#assign creditEcritureRel = objectRelationshipLocalService.getObjectRelationship(mainTransiPeople.objectDefinitionId, "creditsEcritureName")> 
96<#assign creditEcritures = objectEntryLocalService.getOneToManyObjectEntries(peopleGroupID, creditEcritureRel.objectRelationshipId, mainTransiPeople.objectEntryId, true, null, -1, -1 ) /> 
97<#list pseudoFull as pseudo> 
98    <#assign creditEcritures = creditEcritures + objectEntryLocalService.getOneToManyObjectEntries(peopleGroupID, creditEcritureRel.objectRelationshipId, pseudo.objectEntryId, true, null, -1, -1 ) /> 
99</#list> 
100<#list creditEcritures as creditEcriture> 
101    <#if creditEcriture.values.r_creditsEcritureDomaine_c_thesaurusId != 0 && creditEcriture.values.r_creditsEcriture_c_filmId != 0> 
102        <#assign filmEcriture = objectEntryLocalService.fetchObjectEntry(creditEcriture.values.r_creditsEcriture_c_filmId)> 
103        <#if filmEcriture.values.descriptionLevel == "WORK"> 
104            <#if filmEcriture.values.typeDeMetrage == "LONG"> 
105                <#assign filmoLong = filmoLong + [{"fonction": garance.getThesaurusByID(creditEcriture.values.r_creditsEcritureDomaine_c_thesaurusId), "film": filmEcriture, "year": garance.getFilmYear(filmEcriture)}]> 
106            <#elseIf filmEcriture.values.typeDeMetrage == "COURT"> 
107                <#assign filmoShort = filmoShort + [{"fonction": garance.getThesaurusByID(creditEcriture.values.r_creditsEcritureDomaine_c_thesaurusId), "film": filmEcriture, "year": garance.getFilmYear(filmEcriture)}]> 
108            </#if> 
109        </#if> 
110    </#if> 
111</#list> 
112 
113<#assign creditProductionRel = objectRelationshipLocalService.getObjectRelationship(mainTransiPeople.objectDefinitionId, "creditsProductionName")> 
114<#assign creditProductions = objectEntryLocalService.getOneToManyObjectEntries(peopleGroupID, creditProductionRel.objectRelationshipId, mainTransiPeople.objectEntryId, true, null, -1, -1 ) /> 
115<#list pseudoFull as pseudo> 
116    <#assign creditProductions = creditProductions + objectEntryLocalService.getOneToManyObjectEntries(peopleGroupID, creditProductionRel.objectRelationshipId, pseudo.objectEntryId, true, null, -1, -1 ) /> 
117</#list> 
118<#list creditProductions as creditProduction> 
119    <#if creditProduction.values.r_creditsProductionDomaine_c_thesaurusId != 0 && creditProduction.values.r_creditsProduction_c_filmId != 0> 
120        <#assign filmProduction = objectEntryLocalService.fetchObjectEntry(creditProduction.values.r_creditsProduction_c_filmId)> 
121        <#if filmProduction.values.descriptionLevel == "WORK"> 
122            <#if filmProduction.values.typeDeMetrage == "LONG"> 
123                <#assign filmoLong = filmoLong + [{"fonction": garance.getThesaurusByID(creditProduction.values.r_creditsProductionDomaine_c_thesaurusId), "film": filmProduction, "year": garance.getFilmYear(filmProduction)}]> 
124            <#elseIf filmProduction.values.typeDeMetrage == "COURT"> 
125                <#assign filmoShort = filmoShort + [{"fonction": garance.getThesaurusByID(creditProduction.values.r_creditsProductionDomaine_c_thesaurusId), "film": filmProduction, "year": garance.getFilmYear(filmProduction)}]> 
126            </#if> 
127        </#if> 
128    </#if> 
129</#list> 
130 
131<#assign creditMusicRel = objectRelationshipLocalService.getObjectRelationship(mainTransiPeople.objectDefinitionId, "creditsMusicName")> 
132<#assign creditMusics = objectEntryLocalService.getOneToManyObjectEntries(peopleGroupID, creditMusicRel.objectRelationshipId, mainTransiPeople.objectEntryId, true, null, -1, -1 ) /> 
133<#list pseudoFull as pseudo> 
134    <#assign creditMusics = creditMusics + objectEntryLocalService.getOneToManyObjectEntries(peopleGroupID, creditMusicRel.objectRelationshipId, pseudo.objectEntryId, true, null, -1, -1 ) /> 
135</#list> 
136<#list creditMusics as creditMusic> 
137    <#if creditMusic.values.r_creditsMusicDomaine_c_thesaurusId != 0 && creditMusic.values.r_creditsMusic_c_filmId != 0> 
138        <#assign filmMusic = objectEntryLocalService.fetchObjectEntry(creditMusic.values.r_creditsMusic_c_filmId)> 
139        <#if filmMusic.values.descriptionLevel == "WORK"> 
140            <#if filmMusic.values.typeDeMetrage == "LONG"> 
141                <#assign filmoLong = filmoLong + [{"fonction": garance.getThesaurusByID(creditMusic.values.r_creditsMusicDomaine_c_thesaurusId), "film": filmMusic, "year": garance.getFilmYear(filmMusic)}]> 
142            <#elseIf filmMusic.values.typeDeMetrage == "COURT"> 
143                <#assign filmoShort = filmoShort + [{"fonction": garance.getThesaurusByID(creditMusic.values.r_creditsMusicDomaine_c_thesaurusId), "film": filmMusic, "year": garance.getFilmYear(filmMusic)}]> 
144            </#if> 
145        </#if> 
146    </#if> 
147</#list> 
148 
149<#assign creditTechniqueRel = objectRelationshipLocalService.getObjectRelationship(mainTransiPeople.objectDefinitionId, "creditsTechniqueName")> 
150<#assign creditTechniques = objectEntryLocalService.getOneToManyObjectEntries(peopleGroupID, creditTechniqueRel.objectRelationshipId, mainTransiPeople.objectEntryId, true, null, -1, -1 ) /> 
151<#list pseudoFull as pseudo> 
152    <#assign creditTechniques = creditTechniques + objectEntryLocalService.getOneToManyObjectEntries(peopleGroupID, creditTechniqueRel.objectRelationshipId, pseudo.objectEntryId, true, null, -1, -1 ) /> 
153</#list> 
154<#list creditTechniques as creditTechnique> 
155    <#if creditTechnique.values.r_creditsTechniqueDomaine_c_thesaurusId != 0 && creditTechnique.values.r_creditsTechnique_c_filmId != 0> 
156        <#assign filmTechnique = objectEntryLocalService.fetchObjectEntry(creditTechnique.values.r_creditsTechnique_c_filmId)> 
157        <#if filmTechnique.values.descriptionLevel == "WORK"> 
158            <#if filmTechnique.values.typeDeMetrage == "LONG"> 
159                <#assign filmoLong = filmoLong + [{"fonction": garance.getThesaurusByID(creditTechnique.values.r_creditsTechniqueDomaine_c_thesaurusId), "film": filmTechnique, "year": garance.getFilmYear(filmTechnique)}]> 
160            <#elseIf filmTechnique.values.typeDeMetrage == "COURT"> 
161                <#assign filmoShort = filmoShort + [{"fonction": garance.getThesaurusByID(creditTechnique.values.r_creditsTechniqueDomaine_c_thesaurusId), "film": filmTechnique, "year": garance.getFilmYear(filmTechnique)}]> 
162            </#if> 
163        </#if> 
164    </#if> 
165</#list> 
166 
167<#assign showFilmo = (filmoLong?hasContent || filmoShort?hasContent)> 
168 
169<#--------------------------------- Identité --------------------------> 
170 
171<#assign functionsFull = {}> 
172<#if filmoLong?filter(f->f.fonction?hasContent)?hasContent || filmoShort?filter(f->f.fonction?hasContent)?hasContent> 
173    <#assign functionsFull = functionsFull + {"film": (filmoLong?filter(f->f.fonction?hasContent) + filmoShort?filter(f->f.fonction?hasContent))?map(f -> f.fonction)} > 
174</#if> 
175 
176<#assign imprimeAuthorRel = objectRelationshipLocalService.getObjectRelationship(mainTransiPeople.objectDefinitionId, "imprimeAuthorPersonnes")> 
177<#assign imprimeAuthor = objectEntryLocalService.getOneToManyObjectEntries(peopleGroupID, imprimeAuthorRel.objectRelationshipId, mainTransiPeople.objectEntryId, true, null, -1, -1 ) /> 
178<#if imprimeAuthor?hasContent> 
179    <#assign functionsFull = functionsFull + {"imprime": imprimeAuthor}> 
180</#if> 
181<#assign imageFixeAuteurRel = objectRelationshipLocalService.getObjectRelationship(mainTransiPeople.objectDefinitionId, "imageFixeAuteurPersonne")> 
182<#assign imgFixeAuthor = objectEntryLocalService.getOneToManyObjectEntries(peopleGroupID, imageFixeAuteurRel.objectRelationshipId, mainTransiPeople.objectEntryId, true, null, -1, -1 ) /> 
183<#if imgFixeAuthor?hasContent> 
184    <#assign functionsFull = functionsFull + {"imageFixe": imgFixeAuthor}> 
185</#if> 
186<#assign archiveAuthorRel = objectRelationshipLocalService.getObjectRelationship(mainTransiPeople.objectDefinitionId, "archiveAuthorPersonne")> 
187<#assign archiveAuthor = objectEntryLocalService.getOneToManyObjectEntries(peopleGroupID, archiveAuthorRel.objectRelationshipId, mainTransiPeople.objectEntryId, true, null, -1, -1 ) /> 
188<#if archiveAuthor?hasContent> 
189    <#assign functionsFull = functionsFull + {"archive": archiveAuthor}> 
190</#if> 
191 
192<#assign showIdentity = (ObjectField_gender.getData()?hasContent 
193|| ObjectField_typeDePersonneMorale.getData()?hasContent 
194|| ObjectField_denominationSociale.getData()?hasContent 
195|| .dataModel["ObjectRelationship#C_Thesaurus#nationalityNaturalisation_label"].getData()?hasContent 
196|| pseudoFull?hasContent 
197|| translitFull?hasContent 
198|| equiFull?hasContent 
199|| .dataModel["ObjectRelationship#C_Thesaurus#profession_label"].getData()?hasContent 
200|| functionsFull?hasContent 
201)> 
202 
203<#--------------------------------- Biographie --------------------------> 
204 
205<#assign showBiographie = (ObjectField_schoolStyle.getData()?hasContent 
206|| ObjectField_occupation.getData()?hasContent 
207|| ObjectField_otherActivities.getData()?hasContent 
208)> 
209 
210 
211<#--------------------------------- Bibliographies --------------------------> 
212 
213<#assign bibliographiesRel = objectRelationshipLocalService.getObjectRelationship(peopleEntry.objectDefinitionId, "bibliographiesPersonnes")> 
214<#assign bibliographies = objectEntryLocalService.getManyToManyObjectEntries(peopleGroupID, bibliographiesRel.objectRelationshipId, peopleID, true, bibliographiesRel.isReverse(), null, -1, -1 ) /> 
215<#assign digitalRefs = []> 
216<#if bibliographies?hasContent> 
217    <#list bibliographies as bibliographie> 
218        <#assign digitalRefsRel = objectRelationshipLocalService.getObjectRelationship(bibliographie.objectDefinitionId, "digitalReferences")> 
219        <#assign digitalRefs = objectEntryLocalService.getOneToManyObjectEntries(bibliographie.getGroupId(), digitalRefsRel.objectRelationshipId, bibliographie.objectEntryId, true, null, -1, -1 ) /> 
220    </#list> 
221</#if> 
222 
223<#assign showBibliographie = digitalRefs?hasContent> 
224 
225<#--------------------------------- Récompenses --------------------------> 
226 
227<#assign awardsRel = objectRelationshipLocalService.getObjectRelationship(peopleEntry.objectDefinitionId, "awardsPersonne")> 
228<#assign awards = objectEntryLocalService.getOneToManyObjectEntries(peopleGroupID, awardsRel.objectRelationshipId, peopleID, true, null, -1, -1 ) /> 
229 
230<#assign awardsFull = []> 
231<#list awards as award> 
232    <#assign eventResult = ""> 
233    <#assign eventYear = ""> 
234    <#if award.values.r_awardEvent_c_eventId?hasContent> 
235        <#assign event = objectEntryLocalService.fetchObjectEntry(award.values.r_awardEvent_c_eventId?number)> 
236        <#if award.values.eventResult?hasContent> 
237            <#assign eventResult = garance.getPicklistItemName(award.values.eventResult, "picklistRecompenseResultat") > 
238        </#if> 
239        <#if event.values.eventAwardYear?hasContent> 
240            <#assign eventYear = event.values.eventAwardYear?string("yyyy") > 
241        </#if> 
242        <#if event.objectEntryId?hasContent> 
243            <#assign awardsFull = awardsFull + [[eventYear, award.values.eventsNomination, event.values.eventParticipant, award.values.filmTitle, eventResult]]> 
244        </#if> 
245    </#if> 
246</#list> 
247<#assign showAwards = awardsFull?hasContent> 
248 
249<#--------------------------------- Liens familiaux --------------------------> 
250<#assign showFamille = false> 
251 
252<#if peopleEntry.values.personneType == "PP"> 
253    <#assign relatedPersonneChildren = []> 
254    <#assign relatedPersonneParents = []> 
255    <#assign relatedPersonnesRel = objectRelationshipLocalService.getObjectRelationship(peopleEntry.objectDefinitionId, "relatedPersonnesPersonne1")> 
256    <#assign relatedPersonnes = objectEntryLocalService.getOneToManyObjectEntries(peopleGroupID, relatedPersonnesRel.objectRelationshipId, peopleID, true, null, -1, -1 ) /> 
257    <#list relatedPersonnes as relatedPersonne> 
258        <#if relatedPersonne.values.relationshipType?hasContent && relatedPersonne.values.r_relatedPersonnePersonne2_c_transitionPersonneId != 0> 
259            <#assign relatedPersonneData = garance.getPersonneDisplayData(relatedPersonne.values.r_relatedPersonnePersonne2_c_transitionPersonneId)> 
260            <#if relatedPersonne.values.relationshipType == "CHILD"> 
261                <#assign relatedPersonneChildren = relatedPersonneChildren + [{ 
262                "personne": relatedPersonneData, 
263                "notes": relatedPersonne.values.relationshipNotes 
264                }]> 
265            <#elseIf relatedPersonne.values.relationshipType == "PARENT"> 
266                <#assign relatedPersonneParents = relatedPersonneParents + [{ 
267                "personne": relatedPersonneData, 
268                "notes": relatedPersonne.values.relationshipNotes 
269                }]> 
270            </#if> 
271        </#if> 
272    </#list> 
273 
274    <#assign relatedPPFull = [] /> 
275    <#assign relatedPPRel = objectRelationshipLocalService.getObjectRelationship(peopleEntry.objectDefinitionId, "relationPPPersonne1")> 
276    <#assign relatedPPs = objectEntryLocalService.getOneToManyObjectEntries(peopleGroupID, relatedPPRel.objectRelationshipId, peopleID, true, null, -1, -1 ) /> 
277    <#list relatedPPs as relatedPP> 
278        <#if relatedPP.values.r_relationPPPersonne2_c_transitionPersonneId != 0> 
279            <#assign relatedPPData = garance.getPersonneDisplayData(relatedPP.values.r_relationPPPersonne2_c_transitionPersonneId)> 
280            <#assign relatedPPFull = relatedPPFull + [{ 
281            "personne": relatedPPData, 
282            "notes": relatedPP.values.relationPPNotes 
283            }]> 
284        </#if> 
285    </#list> 
286 
287    <#assign relationFiliationFull = [] /> 
288    <#assign relationFiliationRel = objectRelationshipLocalService.getObjectRelationship(peopleEntry.objectDefinitionId, "relationFiliationPersonne1")> 
289    <#assign relationFiliations = objectEntryLocalService.getOneToManyObjectEntries(peopleGroupID, relationFiliationRel.objectRelationshipId, peopleID, true, null, -1, -1 ) /> 
290    <#list relationFiliations as relationFiliation> 
291        <#if relationFiliation.values.r_relationFiliationPersonne2_c_transitionPersonneId != 0> 
292            <#assign relationFiliationData = garance.getPersonneDisplayData(relationFiliation.values.r_relationFiliationPersonne2_c_transitionPersonneId)> 
293            <#assign relationFiliationFull = relationFiliationFull + [{ 
294            "personne": relationFiliationData, 
295            "notes": relationFiliation.values.relationFiliationNotes 
296            }]> 
297        </#if> 
298    </#list> 
299 
300    <#if peopleEntry.values.personneType == "PP"> 
301        <#assign showFamille = (relatedPersonneChildren?hasContent 
302        || relatedPersonneParents?hasContent 
303        || relatedPPFull?hasContent 
304        || relationFiliationFull?hasContent 
305        )> 
306    </#if> 
307</#if> 
308 
309<#--------------------------------- Relations professionnelles --------------------------> 
310<#assign filialeFull = [] /> 
311<#if peopleEntry.values.personneType == "PM"> 
312    <#assign filialeRel = objectRelationshipLocalService.getObjectRelationship(peopleEntry.objectDefinitionId, "filialePersonne1")> 
313    <#assign filiales = objectEntryLocalService.getOneToManyObjectEntries(peopleGroupID, filialeRel.objectRelationshipId, peopleID, true, null, -1, -1 ) /> 
314    <#list filiales as filiale> 
315        <#if filiale.values.r_filialePersonne2_c_transitionPersonneId != 0> 
316            <#assign filialeData = garance.getPersonneDisplayData(filiale.values.r_filialePersonne2_c_transitionPersonneId)> 
317            <#assign filialeFull = filialeFull + [{ 
318            "personne": filialeData, 
319            "notes": filiale.values.partsNotes, 
320            "dateStart": filiale.values.partsDateStart!"", 
321            "dateEnd": filiale.values.partsDateEnd!"" 
322            }]> 
323        </#if> 
324    </#list> 
325</#if> 
326 
327<#assign showProfessional = false /> 
328 
329<#if peopleEntry.values.personneType != "G"> 
330    <#assign relationGRel = objectRelationshipLocalService.getObjectRelationship(peopleEntry.objectDefinitionId, "relationGPersonne1")> 
331    <#assign relationGs = objectEntryLocalService.getOneToManyObjectEntries(peopleGroupID, relationGRel.objectRelationshipId, peopleID, true, null, -1, -1 ) /> 
332    <#assign relationGFull = [] /> 
333    <#list relationGs as relationG> 
334        <#if relationG.values.r_relationGPersonne2_c_transitionPersonneId != 0> 
335            <#assign relationGData = garance.getPersonneDisplayData(relationG.values.r_relationGPersonne2_c_transitionPersonneId)> 
336            <#assign relationGFull = relationGFull + [{ 
337            "personne": relationGData, 
338            "notes": relationG.values.relationGNotes, 
339            "dateStart": relationG.values.relationGDateStart!"" 
340            }]> 
341        </#if> 
342    </#list> 
343 
344 
345    <#assign relationPMRel = objectRelationshipLocalService.getObjectRelationship(peopleEntry.objectDefinitionId, "relationPMPersonne1")> 
346    <#assign relationPMs = objectEntryLocalService.getOneToManyObjectEntries(peopleGroupID, relationPMRel.objectRelationshipId, peopleID, true, null, -1, -1 ) /> 
347    <#assign relationPMFull = [] /> 
348    <#list relationPMs as relationPM> 
349        <#if relationPM.values.r_relationPMPersonne2_c_transitionPersonneId != 0> 
350            <#assign relationPMData = garance.getPersonneDisplayData(relationPM.values.r_relationPMPersonne2_c_transitionPersonneId)> 
351            <#assign relationPMFull = relationPMFull + [{ 
352            "personne": relationPMData, 
353            "notes": relationPM.values.relationPMNotes, 
354            "dateStart": relationPM.values.relationPMDateStart!"", 
355            "dateEnd": relationPM.values.relationPMDateEnd!"" 
356            }]> 
357        </#if> 
358    </#list> 
359 
360    <#assign partOfRel = objectRelationshipLocalService.getObjectRelationship(peopleEntry.objectDefinitionId, "partOfPersonne1")> 
361    <#assign partOfs = objectEntryLocalService.getOneToManyObjectEntries(peopleGroupID, partOfRel.objectRelationshipId, peopleID, true, null, -1, -1 ) /> 
362    <#assign partOfFull = [] /> 
363    <#list partOfs as partOf> 
364        <#if partOf.values.r_partOfPersonne2_c_transitionPersonneId != 0> 
365            <#assign partOfData = garance.getPersonneDisplayData(partOf.values.r_partOfPersonne2_c_transitionPersonneId)> 
366            <#assign partOfFull = partOfFull + [{ 
367            "personne": partOfData, 
368            "notes": partOf.values.partOfNotes, 
369            "dateStart": partOf.values.partOfDateStart!"" 
370            }]> 
371        </#if> 
372    </#list> 
373 
374 
375 
376    <#assign groupeGenFull = [] /> 
377    <#if peopleEntry.values.personneType == "PM"> 
378        <#assign groupeGenRel = objectRelationshipLocalService.getObjectRelationship(peopleEntry.objectDefinitionId, "groupeGeneriquePersonne1")> 
379        <#assign groupeGens = objectEntryLocalService.getOneToManyObjectEntries(peopleGroupID, groupeGenRel.objectRelationshipId, peopleID, true, null, -1, -1 ) /> 
380        <#list groupeGens as groupeGen> 
381            <#if groupeGen.values.r_groupeGeneriquePersonne2_c_transitionPersonneId != 0> 
382                <#assign groupeGenData = garance.getPersonneDisplayData(groupeGen.values.r_groupeGeneriquePersonne2_c_transitionPersonneId)> 
383                <#assign groupeGenFull = groupeGenFull + [{ 
384                "personne": groupeGenData, 
385                "notes": groupeGen.values.groupRelationNote, 
386                "type": groupeGen.values.groupRelationType, 
387                "date": groupeGen.values.groupRelationDate!"" 
388                }]> 
389            </#if> 
390        </#list> 
391    </#if> 
392 
393    <#assign showProfessional = (relationGFull?hasContent 
394    || relationPMFull?hasContent 
395    || partOfFull?hasContent 
396    || filialeFull?hasContent 
397    || groupeGenFull?hasContent 
398    )> 
399</#if> 
400 
401<#--------------------------------- Media --------------------------> 
402<#assign reproductionsRel = objectRelationshipLocalService.getObjectRelationship(peopleEntry.objectDefinitionId, "reproductionsPersonne")> 
403<#assign reproductions = objectEntryLocalService.getManyToManyObjectEntries(peopleGroupID, reproductionsRel.objectRelationshipId, peopleID, true, reproductionsRel.isReverse(), null, -1, -1 ) /> 
404<#assign reproductionsImages = []> 
405<#assign reproductionsVideos = []> 
406<#if reproductions?hasContent> 
407    <#list reproductions as reproduction> 
408        <#if reproduction.values.reproductionNature?hasContent> 
409            <#if reproduction.values.reproductionNature == "PICTURE" && reproduction.values.media?string != "0"> 
410                <#assign reproductionsImages = reproductionsImages + [reproduction]> 
411            <#elseIf reproduction.values.reproductionNature == "VIDEO"> 
412                <#assign reproductionsVideos = reproductionsVideos + [reproduction]> 
413            </#if> 
414        </#if> 
415    </#list> 
416</#if> 
417 
418<#assign bureautiquesRel = objectRelationshipLocalService.getObjectRelationship(peopleEntry.objectDefinitionId, "personneBureautique")> 
419<#assign bureautiques = objectEntryLocalService.getManyToManyObjectEntries(peopleGroupID, bureautiquesRel.objectRelationshipId, peopleID, true, bureautiquesRel.isReverse(), null, -1, -1 ) /> 
420<#assign bureautiqueFull = []> 
421<#if bureautiques?hasContent> 
422    <#list bureautiques as bureautique> 
423        <#if bureautique.values.media?string != "0" > 
424            <#assign bureautiqueFull = bureautiqueFull + [bureautique]> 
425        </#if> 
426    </#list> 
427</#if> 
428 
429 
430<#assign showMedia = (reproductionsImages?hasContent || reproductionsVideos?hasContent || bureautiqueFull?hasContent)> 
431 
432<#--------------------------------- Collections --------------------------> 
433<#assign authoredCollect = []> 
434<#if functionsFull.imageFixe??> 
435    <#list functionsFull.imageFixe as functionImageFixe> 
436        <#assign authoredImageFixe = objectEntryLocalService.fetchObjectEntry(functionImageFixe.values.r_imageFixeAutheurs_c_imageFixeId?number)> 
437        <#if authoredImageFixe.objectEntryId??> 
438            <#assign reproductionsImageFixeRel = objectRelationshipLocalService.getObjectRelationship(authoredImageFixe.objectDefinitionId, "imageFixeReproductions")> 
439            <#assign reproductionsImageFixe = objectEntryLocalService.getManyToManyObjectEntries(peopleGroupID, reproductionsImageFixeRel.objectRelationshipId, authoredImageFixe.objectEntryId, true, reproductionsImageFixeRel.isReverse(), "", -1, -1 ) /> 
440            <#assign authoredCollect = authoredCollect + [{ 
441            "id": authoredImageFixe.objectEntryId, 
442            "repros": reproductionsImageFixe, 
443            "title": authoredImageFixe.values.titreConcatenation 
444            }]> 
445        </#if> 
446    </#list> 
447</#if> 
448 
449<#if functionsFull.imprime??> 
450    <#list functionsFull.imprime as functionImprime> 
451        <#assign authoredImprime = objectEntryLocalService.fetchObjectEntry(functionImprime.values.r_imprimeAuthors_c_imprimeId?number)> 
452        <#if authoredImprime.objectEntryId??> 
453            <#assign reproductionsImprimeRel = objectRelationshipLocalService.getObjectRelationship(authoredImprime.objectDefinitionId, "reproductionsImprimes")> 
454            <#assign reproductionsImprime = objectEntryLocalService.getManyToManyObjectEntries(peopleGroupID, reproductionsImprimeRel.objectRelationshipId, authoredImprime.objectEntryId, true, reproductionsImprimeRel.isReverse(), "", -1, -1 ) /> 
455            <#assign authoredCollect = authoredCollect + [{ 
456            "id": authoredImprime.objectEntryId, 
457            "repros": reproductionsImprime, 
458            "title": authoredImprime.values.titleComplete 
459            }]> 
460        </#if> 
461    </#list> 
462</#if> 
463 
464<#assign reproductionsArchive = []> 
465<#if functionsFull.archive??> 
466    <#list functionsFull.archive as functionArchive> 
467        <#if functionArchive.values.r_archiveAuthor_c_archiveId != 0> 
468            <#assign authoredArchive = objectEntryLocalService.fetchObjectEntry(functionArchive.values.r_archiveAuthor_c_archiveId?number)> 
469            <#if authoredArchive.objectEntryId??> 
470                <#assign reproductionsArchiveRel = objectRelationshipLocalService.getObjectRelationship(authoredArchive.objectDefinitionId, "archiveReproduction")> 
471                <#assign reproductionsArchive = objectEntryLocalService.getManyToManyObjectEntries(peopleGroupID, reproductionsArchiveRel.objectRelationshipId, authoredArchive.objectEntryId, true, reproductionsArchiveRel.isReverse(), "", -1, -1 ) /> 
472                <#assign authoredCollect = authoredCollect + [{ 
473                "id": authoredArchive.objectEntryId, 
474                "repros": reproductionsArchive, 
475                "title": authoredArchive.values.titleComplete 
476                }]> 
477            </#if> 
478        </#if> 
479    </#list> 
480</#if> 
481 
482<#assign subjectCollect = []> 
483<#assign imageFixeSubjectRel = objectRelationshipLocalService.getObjectRelationship(mainTransiPeople.objectDefinitionId, "imageFixePersonneSujet")> 
484<#assign imageFixeSubjects = objectEntryLocalService.getManyToManyObjectEntries(peopleGroupID, imageFixeSubjectRel.objectRelationshipId, mainTransiPeople.objectEntryId, true, imageFixeSubjectRel.isReverse(), null, -1, -1 ) /> 
485<#list imageFixeSubjects as imageFixeSubject> 
486    <#assign reproductionsImageFixeRel = objectRelationshipLocalService.getObjectRelationship(imageFixeSubject.objectDefinitionId, "imageFixeReproductions")> 
487    <#assign reproductionsImageFixe = objectEntryLocalService.getManyToManyObjectEntries(peopleGroupID, reproductionsImageFixeRel.objectRelationshipId, imageFixeSubject.objectEntryId, true, reproductionsImageFixeRel.isReverse(), "", -1, -1 ) /> 
488    <#assign subjectCollect = subjectCollect + [{ 
489    "id": imageFixeSubject.objectEntryId, 
490    "repros": reproductionsArchive, 
491    "title": imageFixeSubject.values.titreConcatenation 
492    }]> 
493</#list> 
494 
495<#assign imprimeSubjectRel = objectRelationshipLocalService.getObjectRelationship(mainTransiPeople.objectDefinitionId, "contentSubjectPersonne")> 
496<#assign imprimeSubjects = objectEntryLocalService.getManyToManyObjectEntries(peopleGroupID, imprimeSubjectRel.objectRelationshipId, mainTransiPeople.objectEntryId, true, imprimeSubjectRel.isReverse(), null, -1, -1 ) /> 
497<#list imprimeSubjects as imprimeSubject> 
498    <#assign reproductionsImageFixeRel = objectRelationshipLocalService.getObjectRelationship(imprimeSubject.objectDefinitionId, "reproductionsImprimes")> 
499    <#assign reproductionsImageFixe = objectEntryLocalService.getManyToManyObjectEntries(peopleGroupID, reproductionsImageFixeRel.objectRelationshipId, imprimeSubject.objectEntryId, true, reproductionsImageFixeRel.isReverse(), "", -1, -1 ) /> 
500    <#assign subjectCollect = subjectCollect + [{ 
501    "id": imprimeSubject.objectEntryId, 
502    "repros": reproductionsArchive, 
503    "title": imprimeSubject.values.titleComplete 
504    }]> 
505</#list> 
506 
507<#assign archiveSubjectRel = objectRelationshipLocalService.getObjectRelationship(mainTransiPeople.objectDefinitionId, "archiveSubjectPersonne")> 
508<#assign archiveSubjects = objectEntryLocalService.getManyToManyObjectEntries(peopleGroupID, archiveSubjectRel.objectRelationshipId, mainTransiPeople.objectEntryId, true, archiveSubjectRel.isReverse(), null, -1, -1 ) /> 
509<#list archiveSubjects as archiveSubject> 
510    <#assign reproductionsImageFixeRel = objectRelationshipLocalService.getObjectRelationship(archiveSubject.objectDefinitionId, "archiveReproduction")> 
511    <#assign reproductionsImageFixe = objectEntryLocalService.getManyToManyObjectEntries(peopleGroupID, reproductionsImageFixeRel.objectRelationshipId, archiveSubject.objectEntryId, true, reproductionsImageFixeRel.isReverse(), "", -1, -1 ) /> 
512    <#assign subjectCollect = subjectCollect + [{ 
513    "id": archiveSubject.objectEntryId, 
514    "repros": reproductionsArchive, 
515    "title": archiveSubject.values.titleComplete 
516    }]> 
517</#list> 
518 
519<#assign representedCollect = []> 
520<#assign imageFixeSubjectRel = objectRelationshipLocalService.getObjectRelationship(mainTransiPeople.objectDefinitionId, "imageFixePersonRepresented")> 
521<#assign imageFixeSubjects = objectEntryLocalService.getManyToManyObjectEntries(peopleGroupID, imageFixeSubjectRel.objectRelationshipId, mainTransiPeople.objectEntryId, true, imageFixeSubjectRel.isReverse(), null, -1, -1 ) /> 
522<#list imageFixeSubjects as imageFixeSubject> 
523    <#assign reproductionsImageFixeRel = objectRelationshipLocalService.getObjectRelationship(imageFixeSubject.objectDefinitionId, "imageFixeReproductions")> 
524    <#assign reproductionsImageFixe = objectEntryLocalService.getManyToManyObjectEntries(peopleGroupID, reproductionsImageFixeRel.objectRelationshipId, imageFixeSubject.objectEntryId, true, reproductionsImageFixeRel.isReverse(), "", -1, -1 ) /> 
525    <#assign representedCollect = representedCollect + [{ 
526    "id": imageFixeSubject.objectEntryId, 
527    "repros": reproductionsArchive, 
528    "title": imageFixeSubject.values.titreConcatenation 
529    }]> 
530</#list> 
531 
532<#assign imprimeSubjectRel = objectRelationshipLocalService.getObjectRelationship(mainTransiPeople.objectDefinitionId, "contentRepresentedPersonne")> 
533<#assign imprimeSubjects = objectEntryLocalService.getManyToManyObjectEntries(peopleGroupID, imprimeSubjectRel.objectRelationshipId, mainTransiPeople.objectEntryId, true, imprimeSubjectRel.isReverse(), null, -1, -1 ) /> 
534<#list imprimeSubjects as imprimeSubject> 
535    <#assign reproductionsImageFixeRel = objectRelationshipLocalService.getObjectRelationship(imprimeSubject.objectDefinitionId, "reproductionsImprimes")> 
536    <#assign reproductionsImageFixe = objectEntryLocalService.getManyToManyObjectEntries(peopleGroupID, reproductionsImageFixeRel.objectRelationshipId, imprimeSubject.objectEntryId, true, reproductionsImageFixeRel.isReverse(), "", -1, -1 ) /> 
537    <#assign representedCollect = representedCollect + [{ 
538    "id": imprimeSubject.objectEntryId, 
539    "repros": reproductionsArchive, 
540    "title": imprimeSubject.values.titleComplete 
541    }]> 
542</#list> 
543 
544<#assign archiveSubjectRel = objectRelationshipLocalService.getObjectRelationship(mainTransiPeople.objectDefinitionId, "archiveRepresentedPersonne")> 
545<#assign archiveSubjects = objectEntryLocalService.getManyToManyObjectEntries(peopleGroupID, archiveSubjectRel.objectRelationshipId, mainTransiPeople.objectEntryId, true, archiveSubjectRel.isReverse(), null, -1, -1 ) /> 
546<#list archiveSubjects as archiveSubject> 
547    <#assign reproductionsImageFixeRel = objectRelationshipLocalService.getObjectRelationship(archiveSubject.objectDefinitionId, "archiveReproduction")> 
548    <#assign reproductionsImageFixe = objectEntryLocalService.getManyToManyObjectEntries(peopleGroupID, reproductionsImageFixeRel.objectRelationshipId, archiveSubject.objectEntryId, true, reproductionsImageFixeRel.isReverse(), "", -1, -1 ) /> 
549    <#assign representedCollect = representedCollect + [{ 
550    "id": archiveSubject.objectEntryId, 
551    "repros": reproductionsArchive, 
552    "title": archiveSubject.values.titleComplete 
553    }]> 
554</#list> 
555 
556 
557<#assign showCollection = (authoredCollect?hasContent 
558|| subjectCollect?hasContent 
559|| representedCollect?hasContent)> 
560 
561<#assign titleLabels = { 
562"birth":{ 
563"PP": "Naissance", 
564"PM": "Constitution", 
565"G": "Constitution" 
566}, 
567"death":{ 
568"PP": "Décès", 
569"PM": "Dissolution", 
570"G": "Dissolution" 
571}, 
572"pseudo":{ 
573"PP": "Pseudonyme(s)", 
574"PM": "Autres noms", 
575"G": "Autres noms" 
576
577}> 
578 
579<div class="notice notice--personne js-notice"> 
580    <div class="notice-header tw:text-white tw:pt-[3.375rem] tw:pb-[2.5rem] tw:relative tw:overflow-hidden 
581    tw:before:content-[''] tw:before:absolute tw:before:inset-0 tw:before:size-full tw:before:block tw:before:bg-text tw:before:opacity-90 
582    tw:xl:pt-[9.5rem]"> 
583        <div class="page-wrapper tw:z-0 tw:relative"> 
584            <#if request.getParameter("searchContext")?hasContent> 
585                <@garance.noticePagination request.getParameter("searchContext") peopleID /> 
586            </#if> 
587            <div class="tw:flex tw:gap-5 tw:items-start tw:flex-wrap tw:flex-col tw:z-0 
588            tw:md:flex-row tw:lg:flex-nowrap 
589            tw:xl:gap-[2.125rem]"> 
590                <div class="tw:order-2 tw:lg:order-1 tw:flex tw:flex-col tw:w-full tw:text-center 
591                    tw:md:w-fit tw:md:text-left"> 
592                    <#if ObjectField_forename.getData()?hasContent || ObjectField_surname.getData()?hasContent> 
593                        <h1 class="tw:order-1 tw:text-prim tw:mb-[0.625rem]"> 
594                            ${[ObjectField_forename.getData(), ObjectField_prefixesToName.getData(), ObjectField_surname.getData()]?filter(v->v?hasContent)?join(" ")} 
595                        </h1> 
596                    </#if> 
597                    <#if !reproductionsImages?hasContent> 
598                        <p class="tw:order-0 tw:mb-5 tw:text-[0.75rem]/[1rem] tw:block tw:mx-auto tw:rounded-xs tw:w-fit tw:bg-[rgba(255,255,255,0.9)] tw:text-prim tw:uppercase tw:px-[0.625rem] tw:py-1 
599                                            tw:md:mx-0"> 
600                            Personnalité 
601                        </p> 
602                    </#if> 
603                    <#if ObjectField_additionsToName.getData()?hasContent> 
604                        <p class="tw:order-1 tw:font-title tw:text-[1.25rem]/[1.875rem] tw:font-medium"> 
605                            ${ObjectField_additionsToName.getData()} 
606                        </p> 
607                    </#if> 
608                    <div class="tw:order-1 tw:relative tw:pt-5 tw:mt-5 tw:text-left 
609                    tw:before:block tw:before:content-[''] tw:before:absolute tw:before:top-0 tw:before:h-[0.0625rem] tw:before:w-full tw:before:bg-white tw:before:opacity-20 
610                    tw:md:before:w-[12.8125rem] "> 
611                        <#if (.dataModel["ObjectRelationship#C_Thesaurus#nationality_label"].getData())?hasContent> 
612                            <p class="tw:mb-[0.625rem]"> 
613                                <span class="tw:font-bold">Nationalité :</span>&nbsp; 
614                                ${.dataModel["ObjectRelationship#C_Thesaurus#nationality_label"].getData()} 
615                            </p> 
616                        </#if> 
617                        <#if ObjectField_birthDateStart.getData()?hasContent> 
618                            <p class="tw:mb-[0.625rem]"> 
619                                <span class="tw:font-bold">${titleLabels.birth[peopleEntry.values.personneType]} :</span>&nbsp; 
620                                <#if ObjectField_birthDatePrecision.getData()?hasContent && ObjectField_birthDatePrecision.getData() == "entre">${ObjectField_birthDateStart.getData()?datetime("dd/MM/yyyy HH:mm")?string("dd/MM/yyyy")} - ${ObjectField_birthDateEnd.getData()?datetime("dd/MM/yyyy HH:mm")?string("dd/MM/yyyy")}<#if getterUtil.getBoolean(ObjectField_birthDateEndPresume.getData())>(?)</#if> 
621                                <#else>${ObjectField_birthDateStart.getData()?datetime("dd/MM/yyyy HH:mm")?string("dd/MM/yyyy")}</#if> 
622                                <#assign birthPlace = [.dataModel["ObjectRelationship#C_Thesaurus#birthPlace_label"].getData(), ObjectField_birthNotes.getData()]?filter(v->v?hasContent)> 
623                                <#if birthPlace?hasContent> - ${birthPlace?join(" - ")}</#if> 
624                            </p> 
625                        </#if> 
626                        <#if ObjectField_deathDateStart.getData()?hasContent> 
627                            <p class="tw:mb-[0.625rem]"> 
628                                <span class="tw:font-bold">${titleLabels.death[peopleEntry.values.personneType]} :</span>&nbsp; 
629                                <#if ObjectField_deathDatePrecision.getData()?hasContent && ObjectField_deathDatePrecision.getData() == "entre">${ObjectField_deathDateStart.getData()?datetime("dd/MM/yyyy HH:mm")?string("dd/MM/yyyy")} - ${ObjectField_deathDateEnd.getData()?datetime("dd/MM/yyyy HH:mm")?string("dd/MM/yyyy")}<#if getterUtil.getBoolean(ObjectField_deathDateEndPresume.getData())>(?)</#if> 
630                                <#else>${ObjectField_deathDateStart.getData()?datetime("dd/MM/yyyy HH:mm")?string("dd/MM/yyyy")}</#if> 
631                                <#assign deathPlace = [.dataModel["ObjectRelationship#C_Thesaurus#deathPlace_label"].getData(), ObjectField_deathNotes.getData()]?filter(v->v?hasContent)> 
632                                <#if deathPlace?hasContent> - ${deathPlace?join(" - ")}</#if> 
633                            </p> 
634                        </#if> 
635                    </div> 
636                </div> 
637                <#if reproductionsImages?hasContent> 
638                    <div class="tw:order-1 tw:lg:order-0 tw:w-full 
639                                    tw:md:w-fit"> 
640                        <div class="tw:m-auto tw:mx-auto tw:max-w-full tw:w-[15.625rem] tw:relative 
641                                        tw:md:mx-0"> 
642                            <p class="tw:absolute tw:top-[0.625rem] tw:left-[0.625rem] tw:text-[0.75rem]/[1rem] tw:block tw:rounded-xs tw:w-fit tw:bg-[rgba(255,255,255,0.9)] tw:text-prim tw:uppercase tw:px-[0.625rem] tw:py-1"> 
643                                Personnalité 
644                            </p> 
645                            <#assign thumbnail = reproductionsImages?first> 
646                            <#assign fileEntryDesktop = dlAppLocalService.getFileEntry(thumbnail.values.media?number) /> 
647                            <#assign thumbnailURL = dlURLHelper.getPreviewURL(fileEntryDesktop, fileEntryDesktop.getFileVersion(), 
648                            null, "", !fileEntryDesktop.getFileVersion().equals(fileEntryDesktop.getLatestFileVersion()), true) /> 
649 
650                            <figure class="tw:w-full"> 
651                                <source media="(min-width: 480px)" 
652                                        srcset="${thumbnailURL}"/> 
653                                <img class="tw:rounded-xs tw:object-cover tw:size-full" alt="" 
654                                     src="${thumbnailURL}"/> 
655                                <#if thumbnail.values.reproductionNotes?hasContent || thumbnail.values.reproductionCopyright?hasContent> 
656                                    <figcaption class="tw:ml-[0.625rem] tw:opacity-70 tw:text-[0.75rem]/[1rem] tw:font-medium tw:mt-[0.3125rem] 
657                                                    tw:md:ml-0"> 
658                                        ${[thumbnail.values.reproductionNotes, thumbnail.values.reproductionCopyright]?filter(v->v?hasContent)?join(" - ")} 
659                                    </figcaption> 
660                                </#if> 
661                            </figure> 
662                        </div> 
663                    </div> 
664                </#if> 
665                <@garance.noticeTools /> 
666            </div> 
667        </div> 
668    </div> 
669    <div class="notice-content"> 
670 
671        <div class="tw:overflow-y-clip tw:py-10"> 
672            <div class="page-wrapper summary-ancres js-summary-ancres tw:group tw:fixed tw:w-full tw:overflow-hidden tw:h-fit tw:z-50 tw:top-[4.375rem] tw:bg-beige tw:max-lg:max-w-full! 
673                tw:lg:top-[6.875rem] tw:lg:h-0 tw:lg:overflow-visible tw:lg:sticky 
674                tw:xl:top-[8.85rem]"> 
675                <nav class="tw:bg-beige tw:lg:w-[14.25rem]" role="navigation" aria-labelledby="summary-title"> 
676                    <button id="summary-title" class="js-summary-btn tw:text-h3 tw:font-title tw:flex tw:justify-between tw:items-center tw:py-[0.625rem] tw:w-full tw:max-sm:px-[calc(2.5rem/2)] tw:focus:outline-offset-[-0.125rem] 
677                        tw:max-lg:px-[calc(5rem/2)] 
678                        tw:lg:hidden" aria-label="Ouvrir/Fermer le sommaire" aria-expanded="false" 
679                            aria-controls="summary-list"> 
680                        <span>Sommaire</span> 
681                        <span class="icon-chevron-down tw:text-prim tw:text-base tw:transition-all tw:outline-offset-[-0.125rem] 
682                        tw:group-[&.open]:rotate-180" aria-hidden="true"></span> 
683                    </button> 
684                    <div id="summary-list" class="tw:overflow-y-auto tw:bg-white tw:transition-all tw:max-sm:px-[calc(2.5rem/2)] 
685                    tw:max-lg:max-h-0 tw:max-lg:px-[calc(5rem/2)] tw:max-lg:max-w-full 
686                    tw:group-[&.open]:max-h-[calc(100vh-(4.375rem+3.125rem))] 
687                    tw:lg:max-h-[calc(100vh-12.5rem)] tw:lg:bg-transparent" tabindex="-1"> 
688                        <ul class="tw:border-sommaire-border tw:border-l-[0.125rem] tw:my-2"> 
689                            <#if showIdentity> 
690                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
691                                    <a href="#identite" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
692                                    tw:[&.is-active]:border-prim" tabindex="-1"> 
693                                        <span>${summary["IdentitePersonne"]?hasContent?then(summary["IdentitePersonne"], "Identité")}</span> 
694                                    </a> 
695                                </li> 
696                            </#if> 
697                            <#if showBiographie> 
698                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
699                                    <a href="#biographie" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
700                                tw:[&.is-active]:border-prim" tabindex="-1"> 
701                                        <span>${summary["BiographiePersonne"]?hasContent?then(summary["BiographiePersonne"], "Biographie")}</span> 
702                                    </a> 
703                                </li> 
704                            </#if> 
705                            <#if peopleEntry.values.personneType == "G" && filialeFull?hasContent> 
706                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
707                                    <a href="#groupe" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
708                                tw:[&.is-active]:border-prim" tabindex="-1"> 
709                                        <span>${summary["MembreDuGroupePersonne"]?hasContent?then(summary["MembreDuGroupePersonne"], "Membre du groupe")}</span> 
710                                    </a> 
711                                </li> 
712                            </#if> 
713                            <#if showFilmo> 
714                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
715                                    <a href="#filmographie" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
716                                tw:[&.is-active]:border-prim" tabindex="-1"> 
717                                        <span>${summary["FilmographiePersonne"]?hasContent?then(summary["FilmographiePersonne"], "Filmographie")}</span> 
718                                    </a> 
719                                </li> 
720                            </#if> 
721                            <#if showBibliographie> 
722                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
723                                    <a href="#bibliographie" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
724                                tw:[&.is-active]:border-prim" tabindex="-1"> 
725                                        <span>${summary["BibliographieEditorialePersonne"]?hasContent?then(summary["BibliographieEditorialePersonne"], "Bibliographie éditoriale")}</span> 
726                                    </a> 
727                                </li> 
728                            </#if> 
729                            <#if showAwards> 
730                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
731                                    <a href="#recompenses" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
732                                    tw:[&.is-active]:border-prim" tabindex="-1"> 
733                                        <span>${summary["RecompensesEtNominationsPersonne"]?hasContent?then(summary["RecompensesEtNominationsPersonne"], "Récompenses et nominations")}</span> 
734                                    </a> 
735                                </li> 
736                            </#if> 
737                            <#if showFamille> 
738                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
739                                    <a href="#famille" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
740                                    tw:[&.is-active]:border-prim" tabindex="-1"> 
741                                        <span>${summary["LiensFamiliauxPersonne"]?hasContent?then(summary["LiensFamiliauxPersonne"], "Liens familiaux")}</span> 
742                                    </a> 
743                                </li> 
744                            </#if> 
745                            <#if showProfessional> 
746                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
747                                    <a href="#pro" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
748                                    tw:[&.is-active]:border-prim" tabindex="-1"> 
749                                        <span>${summary["RelationsProfessionnellesPersonne"]?hasContent?then(summary["RelationsProfessionnellesPersonne"], "Relations professionnelles")}</span> 
750                                    </a> 
751                                </li> 
752                            </#if> 
753                            <#if showMedia> 
754                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
755                                    <a href="#ressources" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
756                                    tw:[&.is-active]:border-prim" tabindex="-1"> 
757                                        <span>${summary["RessourcesMediaPersonne"]?hasContent?then(summary["RessourcesMediaPersonne"], "Ressources média")}</span> 
758                                    </a> 
759                                </li> 
760                            </#if> 
761                            <#if showCollection> 
762                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
763                                    <a href="#collections" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
764                                tw:[&.is-active]:border-prim" tabindex="-1"> 
765                                        <span>${summary["CollectionsLieesPersonne"]?hasContent?then(summary["CollectionsLieesPersonne"], "Collections liées")}</span> 
766                                    </a> 
767                                </li> 
768                            </#if> 
769                        </ul> 
770                    </div> 
771                </nav> 
772            </div> 
773 
774            <#if showIdentity> 
775                <div id="identite" class="js-summary-content" tabindex="-1"></div> 
776                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:pb-10"> 
777                    <h2 class="tw:text-prim tw:mb-5">${summary["IdentitePersonne"]?hasContent?then(summary["IdentitePersonne"], "Identité")}</h2> 
778                    <#if ObjectField_typeDePersonneMorale.getData()?hasContent> 
779                        <p class="tw:flex tw:max-sm:flex-col tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
780                            <span class="tw:font-bold tw:shrink-0">Type de personne morale :</span> 
781                            <span>${ObjectField_typeDePersonneMorale.getData()}</span> 
782                        </p> 
783                    </#if> 
784 
785                    <#if ObjectField_denominationSociale.getData()?hasContent> 
786                        <p class="tw:flex tw:max-sm:flex-col tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
787                            <span class="tw:font-bold tw:shrink-0">Dénomination sociale :</span> 
788                            <span>${ObjectField_denominationSociale.getData()}</span> 
789                        </p> 
790                    </#if> 
791 
792                    <#if ObjectField_gender.getData()?hasContent> 
793                        <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
794                            <span class="tw:font-bold tw:shrink-0">Genre :</span> 
795                            <span>${ObjectField_gender.getData()}</span> 
796                        </p> 
797                    </#if> 
798 
799                    <#if .dataModel["ObjectRelationship#C_Thesaurus#nationalityNaturalisation_label"].getData()?hasContent> 
800                        <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
801                            <span class="tw:font-bold tw:shrink-0">Naturalisation :</span> 
802                            <span>${.dataModel["ObjectRelationship#C_Thesaurus#nationalityNaturalisation_label"].getData()}</span> 
803                        </p> 
804                    </#if> 
805 
806                    <#if pseudoFull?hasContent> 
807                        <div class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
808                            <p id="identite-pseudo" 
809                               class="tw:leading-[1.375rem] tw:font-bold tw:shrink-0">${titleLabels.pseudo[peopleEntry.values.personneType]} 
810                                :</p> 
811                            <ul aria-labelledby="identite-pseudo"> 
812                                <#list pseudoFull as pseudo> 
813                                    <li>${garance.getCleanFullName(pseudo.values.fullName)}</li> 
814                                </#list> 
815                            </ul> 
816                        </div> 
817                    </#if> 
818 
819                    <#if translitFull?hasContent> 
820                        <div class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
821                            <p id="identite-pseudo" class="tw:leading-[1.375rem] tw:font-bold tw:shrink-0"> 
822                                Translittération 
823                                :</p> 
824                            <ul aria-labelledby="identite-pseudo"> 
825                                <#list translitFull as translit> 
826                                    <li>${garance.getCleanFullName(translit.values.fullName)}</li> 
827                                </#list> 
828                            </ul> 
829                        </div> 
830                    </#if> 
831 
832                    <#if equiFull?hasContent> 
833                        <div class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
834                            <p id="identite-pseudo" class="tw:leading-[1.375rem] tw:font-bold tw:shrink-0">État civil 
835                                :</p> 
836                            <ul aria-labelledby="identite-pseudo"> 
837                                <#list equiFull as equi> 
838                                    <li>${garance.getCleanFullName(equi.values.fullName)}</li> 
839                                </#list> 
840                            </ul> 
841                        </div> 
842                    </#if> 
843 
844                    <#if .dataModel["ObjectRelationship#C_Thesaurus#profession_label"].getData()?hasContent> 
845                        <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
846                            <span class="tw:font-bold tw:shrink-0">Métier :</span> 
847                            <span>${.dataModel["ObjectRelationship#C_Thesaurus#profession_label"].getData()}</span> 
848                        </p> 
849                    </#if> 
850 
851                    <#if functionsFull?hasContent> 
852                        <#assign functionsCollect = []> 
853                        <#if functionsFull.film??> 
854                            <#assign functionsCollect = functionsCollect + functionsFull.film > 
855                        </#if> 
856                        <#if functionsFull.imprime??> 
857                            <#list functionsFull.imprime as imprimeWork> 
858                                <#if imprimeWork.values.r_imprimeAuthorRole_c_thesaurusId != 0> 
859                                    <#assign functionsCollect = functionsCollect + [garance.getThesaurusByID(imprimeWork.values.r_imprimeAuthorRole_c_thesaurusId)]> 
860                                </#if> 
861                            </#list> 
862                        </#if> 
863                        <#if functionsFull.imageFixe??> 
864                            <#list functionsFull.imageFixe as imageFixeWork> 
865                                <#if imageFixeWork.values.castCreditType?hasContent> 
866                                    <#assign functionsCollect = functionsCollect + [garance.getPicklistItemName(imageFixeWork.values.castCreditType, "picklistImprimeCastCreditType")]> 
867                                </#if> 
868                            </#list> 
869                        </#if> 
870                        <#if functionsFull.archive??> 
871                            <#list functionsFull.archive as archiveWork> 
872                                <#if archiveWork.values.psoterCastFonction?hasContent> 
873                                    <#assign functionsCollect = functionsCollect + [garance.getPicklistItemName(archiveWork.values.psoterCastFonction, "picklistArchiveAuthorFunction")]> 
874                                </#if> 
875                            </#list> 
876                        </#if> 
877                        <#assign cleanFunctionsCollection = []> 
878                        <#list functionsCollect as funct> 
879                            <#if !(cleanFunctionsCollection?seqContains(funct))> 
880                                <#assign cleanFunctionsCollection = cleanFunctionsCollection + [funct]> 
881                            </#if> 
882                        </#list> 
883                        <#if cleanFunctionsCollection?hasContent> 
884                            <#assign cleanFunctionsCollection = cleanFunctionsCollection?map(f -> (f == "Réalisation")?then("Réalisateur", f))> 
885                            <p class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
886                                <span class="tw:font-bold tw:shrink-0">Fonctions :</span> 
887                                <span>${cleanFunctionsCollection?join(", ")}</span> 
888                            </p> 
889                        </#if> 
890                    </#if> 
891                </div> 
892            </#if> 
893 
894            <#if peopleEntry.values.personneType == "G" && filialeFull?hasContent> 
895                <div id="groupe" class="js-summary-content" tabindex="-1"></div> 
896                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:py-10 
897                    tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40"> 
898                    <h2 id="groupe-tl" 
899                        class="tw:text-prim tw:mb-5">${summary["MembreDuGroupePersonne"]?hasContent?then(summary["MembreDuGroupePersonne"], "Membre du groupe")}</h2> 
900                    <#if filialeFull?hasContent> 
901                        <div class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
902                            <ul aria-labelledby="groupe-tl"> 
903                                <#list filialeFull as filiale> 
904                                    <li> 
905                                        <#if filiale.personne.id?hasContent> 
906                                            <a href="/l/${filiale.personne.id}" 
907                                               class="tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.0625rem] tw:hover:bg-size-[0_0.0625rem]"> 
908                                                ${filiale.personne.name} 
909                                            </a> 
910                                        <#else> 
911                                            ${filiale.personne.name} 
912                                        </#if><#if filiale.dateStart?hasContent> (${filiale.dateStart?string("yyyy")}<#if filiale.dateEnd?hasContent> - ${filiale.dateEnd?string("yyyy")}</#if>)</#if><#if filiale.notes?hasContent> - ${filiale.notes}</#if> 
913                                    </li> 
914                                </#list> 
915                            </ul> 
916                        </div> 
917                    </#if> 
918                </div> 
919            </#if> 
920 
921            <#if showBiographie> 
922                <div id="biographie" class="js-summary-content" tabindex="-1"></div> 
923                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:pb-10"> 
924                    <div class="tw:bg-white tw:p-10 tw:border-l-[0.25rem] tw:border-solid tw:border-prim tw:mt-5"> 
925                        <h3 class="tw:mb-5 tw:text-prim">${summary["BiographiePersonne"]?hasContent?then(summary["BiographiePersonne"], "Biographie")}</h3> 
926                        <#if ObjectField_schoolStyle.getData()?hasContent> 
927                            <div class="tw:mb-[0.625rem]"> 
928                                <div class="js-read-more" data-clamp-line="8" data-line-height="1.75"> 
929                                    <div class="wysiwyg--notice"> 
930                                        <h4 class="tw:font-txt tw:text-notice tw:font-bold tw:leading-[1.75rem]"> 
931                                            Formation :</h4> 
932                                        ${ObjectField_schoolStyle.getData()} 
933                                    </div> 
934                                </div> 
935                                <button type="button" 
936                                        class="tw:hidden tw:items-center tw:leading-[1.75rem] tw:mt-[0.625rem] tw:group tw:gap-[0.3125rem] tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
937                                    <span>Lire plus</span> 
938                                    <span class="icon-chevron-down tw:inline-block tw:text-prim tw:text-base tw:transition-all tw:text-[0.875rem] tw:rotate-0 
939                                    tw:group-hover:rotate-180 tw:group-data-[expanded=true]:rotate-180" aria-hidden="true"></span> 
940                                </button> 
941                            </div> 
942                        </#if> 
943                        <#if ObjectField_occupation.getData()?hasContent> 
944                            <div class="tw:mb-[0.625rem]"> 
945                                <div class="js-read-more" data-clamp-line="8" data-line-height="1.75"> 
946                                    <div class="wysiwyg--notice"> 
947                                        <h4 class="tw:font-txt tw:text-notice tw:font-bold tw:leading-[1.75rem]"> 
948                                            Carrière :</h4> 
949                                        ${ObjectField_occupation.getData()} 
950                                    </div> 
951                                </div> 
952                                <button type="button" 
953                                        class="tw:hidden tw:items-center tw:leading-[1.75rem] tw:mt-[0.625rem] tw:group tw:gap-[0.3125rem] tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
954                                    <span>Lire plus</span> 
955                                    <span class="icon-chevron-down tw:inline-block tw:text-prim tw:text-base tw:transition-all tw:text-[0.875rem] tw:rotate-0 
956                                    tw:group-hover:rotate-180 tw:group-data-[expanded=true]:rotate-180" aria-hidden="true"></span> 
957                                </button> 
958                            </div> 
959                        </#if> 
960                        <#if ObjectField_otherActivities.getData()?hasContent> 
961                            <div> 
962                                <div class="js-read-more" data-clamp-line="8" data-line-height="1.75"> 
963                                    <div class="wysiwyg--notice"> 
964                                        <h4 class="tw:font-txt tw:text-notice tw:font-bold tw:leading-[1.75rem]"> 
965                                            Autres activités :</h4> 
966                                        ${ObjectField_otherActivities.getData()} 
967                                    </div> 
968                                </div> 
969                                <button type="button" 
970                                        class="tw:hidden tw:items-center tw:leading-[1.75rem] tw:mt-[0.625rem] tw:group tw:gap-[0.3125rem] tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
971                                    <span>Lire plus</span> 
972                                    <span class="icon-chevron-down tw:inline-block tw:text-prim tw:text-base tw:transition-all tw:text-[0.875rem] tw:rotate-0 
973                                        tw:group-hover:rotate-180 tw:group-data-[expanded=true]:rotate-180" aria-hidden="true"></span> 
974                                </button> 
975                            </div> 
976                        </#if> 
977                    </div> 
978                </div> 
979            </#if> 
980 
981            <#if showFilmo> 
982                <div id="filmographie" class="js-summary-content" tabindex="-1"></div> 
983                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:py-10 
984                tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40"> 
985                    <h2 class="tw:text-prim tw:mb-5">${summary["FilmographiePersonne"]?hasContent?then(summary["FilmographiePersonne"], "Filmographie")}</h2> 
986 
987                    <div class="tw:flex tw:gap-5"> 
988                        <#if filmoShort?hasContent> 
989                            <#assign filmoShortSorted = garance.sortFilmo(filmoShort) /> 
990                            <div class="tw:bg-white tw:p-10 tw:border-l-[0.25rem] tw:border-solid tw:border-prim tw:mt-5 tw:w-full"> 
991                                <h3 class="tw:mb-5">Courts métrages</h3> 
992 
993                                <#list filmoShortSorted as section> 
994                                    <div class="js-list-expand <#if !section?isLast>tw:mb-10</#if>"> 
995                                        <p class="tw:leading-[1.625rem] tw:font-bold" 
996                                           id="long-${section.fonction}">${section.fonction}</p> 
997                                        <ul aria-labelledby="long-${section.fonction}"> 
998                                            <#list section.items?sortBy("year") as item> 
999                                                <#assign filmWorkRel = objectRelationshipLocalService.getObjectRelationship(item.film.objectDefinitionId, "filmWork")> 
1000                                                <#assign filmWorks = objectEntryLocalService.getOneToManyObjectEntries(peopleGroupID, filmWorkRel.objectRelationshipId, item.film.objectEntryId, true, null, -1, -1 ) /> 
1001                                                <li class="tw:leading-[1.625rem] <#if (item?index > 4)>tw:hidden</#if>"> 
1002                                                    <#if item.year == 0>?<#else>${item.year}</#if> 
1003                                                    - <#if filmWorks?hasContent> 
1004                                                        <a href="/l/${(filmWorks?first).objectEntryId}" 
1005                                                           class="tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
1006                                                            ${item.film.values.titleComplete}</a> 
1007                                                    <#else>${item.film.values.titleComplete} 
1008                                                    </#if> 
1009                                                </li> 
1010                                            </#list> 
1011                                        </ul> 
1012                                        <#if (section.items?size > 5)> 
1013                                            <button type="button" 
1014                                                    class="js-expand tw:items-center tw:leading-[1.75rem] tw:mt-[0.3125rem] tw:group tw:flex tw:gap-[0.3125rem] tw:font-semibold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
1015                                                <span>Voir plus</span> 
1016                                                <span class="icon-chevron-down tw:inline-block tw:text-prim tw:text-base tw:transition-all tw:text-[0.875rem] tw:rotate-0 
1017                                        tw:group-hover:rotate-180 tw:group-data-[expanded=true]:rotate-180" aria-hidden="true"></span> 
1018                                            </button> 
1019                                        </#if> 
1020                                    </div> 
1021                                </#list> 
1022                            </div> 
1023                        </#if> 
1024 
1025 
1026                        <#if filmoLong?hasContent> 
1027                            <#assign filmoLongSorted = garance.sortFilmo(filmoLong) /> 
1028                            <div class="tw:bg-white tw:p-10 tw:border-l-[0.25rem] tw:border-solid tw:border-prim tw:mt-5 tw:w-full"> 
1029                                <h3 class="tw:mb-5">Longs métrages</h3> 
1030 
1031                                <#list filmoLongSorted as section> 
1032                                    <div class="js-list-expand <#if !section?isLast>tw:mb-10</#if>"> 
1033                                        <p class="tw:leading-[1.625rem] tw:font-bold" 
1034                                           id="long-${section.fonction}">${section.fonction}</p> 
1035                                        <ul aria-labelledby="long-${section.fonction}"> 
1036                                            <#list section.items?sortBy("year") as item> 
1037                                                <#assign filmWorkRel = objectRelationshipLocalService.getObjectRelationship(item.film.objectDefinitionId, "filmWork")> 
1038                                                <#assign filmWorks = objectEntryLocalService.getOneToManyObjectEntries(peopleGroupID, filmWorkRel.objectRelationshipId, item.film.objectEntryId, true, null, -1, -1 ) /> 
1039                                                <li class="tw:leading-[1.625rem] <#if (item?index > 4)>tw:hidden</#if>"> 
1040                                                    <#if item.year == 0>?<#else>${item.year}</#if> 
1041                                                    - <#if filmWorks?hasContent> 
1042                                                        <a href="/l/${(filmWorks?first).objectEntryId}" 
1043                                                           class="tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
1044                                                            ${item.film.values.titleComplete}</a> 
1045                                                    <#else>${item.film.values.titleComplete} 
1046                                                    </#if> 
1047                                                </li> 
1048                                            </#list> 
1049                                        </ul> 
1050                                        <#if (section.items?size > 5)> 
1051                                            <button type="button" 
1052                                                    class="js-expand tw:items-center tw:leading-[1.75rem] tw:mt-[0.3125rem] tw:group tw:flex tw:gap-[0.3125rem] tw:font-semibold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
1053                                                <span>Voir plus</span> 
1054                                                <span class="icon-chevron-down tw:inline-block tw:text-prim tw:text-base tw:transition-all tw:text-[0.875rem] tw:rotate-0 
1055                                        tw:group-hover:rotate-180 tw:group-data-[expanded=true]:rotate-180" aria-hidden="true"></span> 
1056                                            </button> 
1057                                        </#if> 
1058                                    </div> 
1059                                </#list> 
1060                            </div> 
1061                        </#if> 
1062                    </div> 
1063                </div> 
1064            </#if> 
1065 
1066            <#if showBibliographie> 
1067                <div id="bibliographie" class="js-summary-content" tabindex="-1"></div> 
1068                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:py-10 
1069                tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40"> 
1070                    <h2 id="biblio" 
1071                        class="tw:text-prim tw:mb-5">${summary["BibliographieEditorialePersonne"]?hasContent?then(summary["BibliographieEditorialePersonne"], "Bibliographie éditoriale")}</h2> 
1072                    <div class="wysiwyg js-list-expand"> 
1073                        <ul aria-labelledby="biblio"> 
1074                            <#list digitalRefs as digitalRef> 
1075                                <li <#if (digitalRef?index > 4)>class="tw:hidden"</#if>><#if digitalRef.values.bibliographyType?hasContent>${garance.getPicklistItemName(digitalRef.values.bibliographyType, "picklistBibliographieReferenceType")} : </#if>${digitalRef.values.digitalReferenceDescription}</li> 
1076                            </#list> 
1077                        </ul> 
1078                        <#if (digitalRefs?size > 5)> 
1079                            <button type="button" 
1080                                    class="js-expand tw:items-center tw:leading-[1.75rem] tw:group tw:flex tw:gap-[0.3125rem] tw:font-semibold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
1081                                <span>Voir plus</span> 
1082                                <span class="icon-chevron-down tw:inline-block tw:text-prim tw:text-base tw:transition-all tw:text-[0.875rem] tw:rotate-0 
1083                                        tw:group-hover:rotate-180 tw:group-data-[expanded=true]:rotate-180" aria-hidden="true"></span> 
1084                            </button> 
1085                        </#if> 
1086                    </div> 
1087                </div> 
1088            </#if> 
1089 
1090            <#if showAwards> 
1091                <div id="recompenses" class="js-summary-content" tabindex="-1"></div> 
1092                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:py-10 
1093                    tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40"> 
1094                    <h2 id="awards" 
1095                        class="tw:text-prim tw:mb-5">${summary["RecompensesEtNominationsPersonne"]?hasContent?then(summary["RecompensesEtNominationsPersonne"], "Récompenses et nominations")}</h2> 
1096                    <div class="wysiwyg js-list-expand"> 
1097                        <ul aria-labelledby="awards"> 
1098                            <#list awardsFull as award> 
1099                                <li class="tw:font-semibold! <#if (award?index > 4)>tw:hidden</#if>">${award?filter(a -> a?hasContent)?join(" - ")}</li> 
1100                            </#list> 
1101                        </ul> 
1102                        <#if (awardsFull?size > 5)> 
1103                            <button type="button" 
1104                                    class="js-expand tw:items-center tw:leading-[1.75rem] tw:group tw:flex tw:gap-[0.3125rem] tw:font-semibold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
1105                                <span>Voir plus</span> 
1106                                <span class="icon-chevron-down tw:inline-block tw:text-prim tw:text-base tw:transition-all tw:text-[0.875rem] tw:rotate-0 
1107                                        tw:group-hover:rotate-180 tw:group-data-[expanded=true]:rotate-180" aria-hidden="true"></span> 
1108                            </button> 
1109                        </#if> 
1110                    </div> 
1111                </div> 
1112            </#if> 
1113 
1114            <#if showFamille> 
1115                <div id="famille" class="js-summary-content" tabindex="-1"></div> 
1116                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:py-10 
1117                    tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40"> 
1118                    <h2 id="awards" 
1119                        class="tw:text-prim tw:mb-5">${summary["LiensFamiliauxPersonne"]?hasContent?then(summary["LiensFamiliauxPersonne"], "Liens familiaux")}</h2> 
1120                    <#if relatedPersonneParents?hasContent> 
1121                        <div class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1122                            <p id="famille-parent" class="tw:leading-[1.375rem] tw:font-bold tw:shrink-0">Parent de 
1123                                :</p> 
1124                            <ul aria-labelledby="famille-parent"> 
1125                                <#list relatedPersonneParents as relatedPersonneParent> 
1126                                    <li> 
1127                                        <#if relatedPersonneParent.personne.id?hasContent> 
1128                                            <a href="/l/${relatedPersonneParent.personne.id}" 
1129                                               class="tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.0625rem] tw:hover:bg-size-[0_0.0625rem]"> 
1130                                                ${relatedPersonneParent.personne.name} 
1131                                            </a> 
1132                                        <#else> 
1133                                            ${relatedPersonneParent.personne.name} 
1134                                        </#if><#if relatedPersonneParent.notes?hasContent> - ${relatedPersonneParent.notes}</#if> 
1135                                    </li> 
1136                                </#list> 
1137                            </ul> 
1138                        </div> 
1139                    </#if> 
1140                    <#if relatedPersonneChildren?hasContent> 
1141                        <div class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1142                            <p id="famille-enfant" class="tw:leading-[1.375rem] tw:font-bold tw:shrink-0">Enfant de 
1143                                :</p> 
1144                            <ul aria-labelledby="famille-enfant"> 
1145                                <#list relatedPersonneChildren as relatedPersonneChild> 
1146                                    <li> 
1147                                        <#if relatedPersonneChild.personne.id?hasContent> 
1148                                            <a href="/l/${relatedPersonneChild.personne.id}" 
1149                                               class="tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.0625rem] tw:hover:bg-size-[0_0.0625rem]"> 
1150                                                ${relatedPersonneChild.personne.name} 
1151                                            </a> 
1152                                        <#else> 
1153                                            ${relatedPersonneChild.personne.name} 
1154                                        </#if><#if relatedPersonneChild.notes?hasContent> - ${relatedPersonneChild.notes}</#if> 
1155                                    </li> 
1156                                </#list> 
1157                            </ul> 
1158                        </div> 
1159                    </#if> 
1160                    <#if relatedPPFull?hasContent> 
1161                        <div class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1162                            <p id="famille-mariage" class="tw:leading-[1.375rem] tw:font-bold tw:shrink-0">Marié(e) à 
1163                                :</p> 
1164                            <ul aria-labelledby="famille-mariage"> 
1165                                <#list relatedPPFull as relatedPP> 
1166                                    <li> 
1167                                        <#if relatedPP.personne.id?hasContent> 
1168                                            <a href="/l/${relatedPP.personne.id}" 
1169                                               class="tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.0625rem] tw:hover:bg-size-[0_0.0625rem]"> 
1170                                                ${relatedPP.personne.name} 
1171                                            </a> 
1172                                        <#else> 
1173                                            ${relatedPP.personne.name} 
1174                                        </#if><#if relatedPP.notes?hasContent> - ${relatedPP.notes}</#if> 
1175                                    </li> 
1176                                </#list> 
1177                            </ul> 
1178                        </div> 
1179                    </#if> 
1180                    <#if relationFiliationFull?hasContent> 
1181                        <div class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1182                            <p id="famille-filiation" class="tw:leading-[1.375rem] tw:font-bold tw:shrink-0">Frère/Sœur 
1183                                de 
1184                                :</p> 
1185                            <ul aria-labelledby="famille-filiation"> 
1186                                <#list relationFiliationFull as relationFiliation> 
1187                                    <li> 
1188                                        <#if relationFiliation.personne.id?hasContent> 
1189                                            <a href="/l/${relationFiliation.personne.id}" 
1190                                               class="tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.0625rem] tw:hover:bg-size-[0_0.0625rem]"> 
1191                                                ${relationFiliation.personne.name} 
1192                                            </a> 
1193                                        <#else> 
1194                                            ${relationFiliation.personne.name} 
1195                                        </#if><#if relationFiliation.notes?hasContent> - ${relationFiliation.notes}</#if> 
1196                                    </li> 
1197                                </#list> 
1198                            </ul> 
1199                        </div> 
1200                    </#if> 
1201                </div> 
1202            </#if> 
1203 
1204            <#if showProfessional> 
1205                <div id="pro" class="js-summary-content" tabindex="-1"></div> 
1206                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:py-10 
1207                    tw:before:content-[''] tw:before:block tw:before:relative tw:before:top-[-2.5rem] tw:before:h-[0.0625rem] tw:before:w-full tw:before:ml-auto tw:before:bg-text tw:before:opacity-40"> 
1208                    <h2 id="awards" 
1209                        class="tw:text-prim tw:mb-5">${summary["RelationsProfessionnellesPersonne"]?hasContent?then(summary["RelationsProfessionnellesPersonne"], "Relations professionnelles")}</h2> 
1210                    <#if peopleEntry.values.personneType == "PP"> 
1211                        <#if relationGFull?hasContent> 
1212                            <div class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1213                                <p id="pro-fondation" class="tw:leading-[1.375rem] tw:font-bold tw:shrink-0">Fondateur 
1214                                    de 
1215                                    :</p> 
1216                                <ul aria-labelledby="pro-fondation"> 
1217                                    <#list relationGFull as relationG> 
1218                                        <li> 
1219                                            <#if relationG.personne.id?hasContent> 
1220                                                <a href="/l/${relationG.personne.id}" 
1221                                                   class="tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.0625rem] tw:hover:bg-size-[0_0.0625rem]"> 
1222                                                    ${relationG.personne.name} 
1223                                                </a> 
1224                                            <#else> 
1225                                                ${relationG.personne.name} 
1226                                            </#if><#if relationG.notes?hasContent> - ${relationG.notes}</#if> 
1227                                        </li> 
1228                                    </#list> 
1229                                </ul> 
1230                            </div> 
1231                        </#if> 
1232                        <#if relationPMFull?hasContent> 
1233                            <div class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1234                                <p id="pro-entreprise" class="tw:leading-[1.375rem] tw:font-bold tw:shrink-0">A 
1235                                    travaillé 
1236                                    pour 
1237                                    :</p> 
1238                                <ul aria-labelledby="pro-entreprise"> 
1239                                    <#list relationPMFull as relationPM> 
1240                                        <li> 
1241                                            <#if relationPM.personne.id?hasContent> 
1242                                                <a href="/l/${relationPM.personne.id}" 
1243                                                   class="tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.0625rem] tw:hover:bg-size-[0_0.0625rem]"> 
1244                                                    ${relationPM.personne.name} 
1245                                                </a> 
1246                                            <#else> 
1247                                                ${relationPM.personne.name} 
1248                                            </#if><#if relationPM.notes?hasContent> - ${relationPM.notes}</#if> 
1249                                        </li> 
1250                                    </#list> 
1251                                </ul> 
1252                            </div> 
1253                        </#if> 
1254                        <#if partOfFull?hasContent> 
1255                            <div class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1256                                <p id="pro-groupe" class="tw:leading-[1.375rem] tw:font-bold tw:shrink-0">Fait partie 
1257                                    du groupe 
1258                                    :</p> 
1259                                <ul aria-labelledby="pro-groupe"> 
1260                                    <#list partOfFull as partOf> 
1261                                        <li> 
1262                                            <#if partOf.personne.id?hasContent> 
1263                                                <a href="/l/${partOf.personne.id}" 
1264                                                   class="tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.0625rem] tw:hover:bg-size-[0_0.0625rem]"> 
1265                                                    ${partOf.personne.name} 
1266                                                </a> 
1267                                            <#else> 
1268                                                ${partOf.personne.name} 
1269                                            </#if><#if partOf.notes?hasContent> - ${partOf.notes}</#if> 
1270                                        </li> 
1271                                    </#list> 
1272                                </ul> 
1273                            </div> 
1274                        </#if> 
1275                    <#elseIf peopleEntry.values.personneType == "PM"> 
1276                        <#if groupeGenFull?hasContent> 
1277                            <div class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1278                                <p id="pro-groupe" class="tw:leading-[1.375rem] tw:font-bold tw:shrink-0">Type de 
1279                                    relation :</p> 
1280                                <ul aria-labelledby="pro-groupe"> 
1281                                    <#list groupeGenFull as groupGen> 
1282                                        <li><#if groupGen.type?hasContent>${garance.getPicklistItemName(groupGen.type, "picklistGroupRelationType")} </#if> 
1283                                            <#if groupGen.personne.id?hasContent> 
1284                                                <a href="/l/${groupGen.personne.id}" 
1285                                                   class="tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.0625rem] tw:hover:bg-size-[0_0.0625rem]"> 
1286                                                    ${groupGen.personne.name} 
1287                                                </a> 
1288                                            <#else> 
1289                                                ${groupGen.personne.name} 
1290                                            </#if><#if groupGen.date?hasContent> (${groupGen.date?string("yyyy")})</#if><#if groupGen.notes?hasContent> - ${groupGen.notes}</#if> 
1291                                        </li> 
1292                                    </#list> 
1293                                </ul> 
1294                            </div> 
1295                        </#if> 
1296                        <#if partOfFull?hasContent> 
1297                            <div class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1298                                <p id="pro-groupe" class="tw:leading-[1.375rem] tw:font-bold tw:shrink-0">Fait partie 
1299                                    du groupe 
1300                                    :</p> 
1301                                <ul aria-labelledby="pro-groupe"> 
1302                                    <#list partOfFull as partOf> 
1303                                        <li> 
1304                                            <#if partOf.personne.id?hasContent> 
1305                                                <a href="/l/${partOf.personne.id}" 
1306                                                   class="tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.0625rem] tw:hover:bg-size-[0_0.0625rem]"> 
1307                                                    ${partOf.personne.name} 
1308                                                </a> 
1309                                            <#else> 
1310                                                ${partOf.personne.name} 
1311                                            </#if><#if partOf.dateStart?hasContent> (${partOf.dateStart?string("yyyy")})</#if><#if partOf.notes?hasContent> - ${partOf.notes}</#if> 
1312                                        </li> 
1313                                    </#list> 
1314                                </ul> 
1315                            </div> 
1316                        </#if> 
1317                        <#if filialeFull?hasContent> 
1318                            <div class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1319                                <p id="pro-filiale" class="tw:leading-[1.375rem] tw:font-bold tw:shrink-0">A pour 
1320                                    filiale 
1321                                    :</p> 
1322                                <ul aria-labelledby="pro-filiale"> 
1323                                    <#list filialeFull as filiale> 
1324                                        <li> 
1325                                            <#if filiale.personne.id?hasContent> 
1326                                                <a href="/l/${filiale.personne.id}" 
1327                                                   class="tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.0625rem] tw:hover:bg-size-[0_0.0625rem]"> 
1328                                                    ${filiale.personne.name} 
1329                                                </a> 
1330                                            <#else> 
1331                                                ${filiale.personne.name} 
1332                                            </#if><#if filiale.dateStart?hasContent> (${filiale.dateStart?string("yyyy")})</#if><#if filiale.notes?hasContent> - ${filiale.notes}</#if> 
1333                                        </li> 
1334                                    </#list> 
1335                                </ul> 
1336                            </div> 
1337                        </#if> 
1338                        <#if relationPMFull?hasContent> 
1339                            <div class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1340                                <p id="pro-entreprise" class="tw:leading-[1.375rem] tw:font-bold tw:shrink-0">A employé 
1341                                    :</p> 
1342                                <ul aria-labelledby="pro-entreprise"> 
1343                                    <#list relationPMFull as relationPM> 
1344                                        <li> 
1345                                            <#if relationPM.personne.id?hasContent> 
1346                                                <a href="/l/${relationPM.personne.id}" 
1347                                                   class="tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.0625rem] tw:hover:bg-size-[0_0.0625rem]"> 
1348                                                    ${relationPM.personne.name} 
1349                                                </a> 
1350                                            <#else> 
1351                                                ${relationPM.personne.name} 
1352                                            </#if><#if relationPM.dateStart 
1353                                            ?hasContent>(${[relationPM.dateStart?string("yyyy"), relationPM.dateEnd?string("yyyy")] 
1354                                            ?filter(v->v?hasContent) 
1355                                            ?join(" - ")})</#if><#if relationPM.notes?hasContent> - ${relationPM.notes}</#if> 
1356                                        </li> 
1357                                    </#list> 
1358                                </ul> 
1359                            </div> 
1360                        </#if> 
1361                        <#if relationGFull?hasContent> 
1362                            <div class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1363                                <p id="pro-fondation" class="tw:leading-[1.375rem] tw:font-bold tw:shrink-0">A été créé 
1364                                    part :</p> 
1365                                <ul aria-labelledby="pro-fondation"> 
1366                                    <#list relationGFull as relationG> 
1367                                        <li> 
1368                                            <#if relationG.personne.id?hasContent> 
1369                                                <a href="/l/${relationG.personne.id}" 
1370                                                   class="tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.0625rem] tw:hover:bg-size-[0_0.0625rem]"> 
1371                                                    ${relationG.personne.name} 
1372                                                </a> 
1373                                            <#else> 
1374                                                ${relationG.personne.name} 
1375                                            </#if><#if relationG.notes?hasContent> - ${relationG.notes}</#if> 
1376                                        </li> 
1377                                    </#list> 
1378                                </ul> 
1379                            </div> 
1380                        </#if> 
1381                    </#if> 
1382                </div> 
1383            </#if> 
1384        </div> 
1385        <#if showMedia> 
1386            <#assign medias = []> 
1387            <#if reproductionsVideos?hasContent> 
1388                <#assign medias = medias + [{ 
1389                "type": "video", 
1390                "title": "Vidéos", 
1391                "reproductions": reproductionsVideos 
1392                }]> 
1393            </#if> 
1394            <#if reproductionsImages?hasContent> 
1395                <#assign medias = medias + [{ 
1396                "type": "image", 
1397                "title": "Images", 
1398                "reproductions": reproductionsImages 
1399                }]> 
1400            </#if> 
1401            <#if bureautiqueFull?hasContent> 
1402                <#assign medias = medias + [{ 
1403                "type": "fichier", 
1404                "title": "Fichiers bureautiques", 
1405                "reproductions": bureautiqueFull 
1406                }]> 
1407            </#if> 
1408 
1409            <div id="ressources" class="js-summary-content" tabindex="-1"></div> 
1410            <div class="page-wrapper tw:py-10"> 
1411                <h2 id="ressources-tl" 
1412                    class="tw:text-prim tw:mb-5">${summary["RessourcesMediaPersonne"]?hasContent?then(summary["RessourcesMediaPersonne"], "Ressources média")}</h2> 
1413                <@garance.displayMedia data=medias /> 
1414            </div> 
1415        </#if> 
1416        <#if showCollection> 
1417            <div id="collections" class="js-summary-content" tabindex="-1"></div> 
1418            <div class="page-wrapper tw:py-10"> 
1419                <h2 id="collections-tl" 
1420                    class="tw:text-prim tw:mb-5">${summary["CollectionsLieesPersonne"]?hasContent?then(summary["CollectionsLieesPersonne"], "Collections liées")}</h2> 
1421                <#assign roOrder = {"authoredCollect": "Auteur dans les collections", 
1422                "subjectCollect": "Sujet dans les collections", 
1423                "representedCollect": "Représenté dans les collections"} /> 
1424                <#assign collectFull = {}> 
1425                <#if authoredCollect?hasContent> 
1426                    <#assign collectFull = collectFull + {"authoredCollect" : authoredCollect}> 
1427                </#if> 
1428                <#if subjectCollect?hasContent> 
1429                    <#assign collectFull = collectFull + {"subjectCollect" : subjectCollect}> 
1430                </#if> 
1431                <#if representedCollect?hasContent> 
1432                    <#assign collectFull = collectFull + {"representedCollect" : representedCollect}> 
1433                </#if> 
1434                <div> 
1435                    <div class="tabs"> 
1436                        <div role="tablist" aria-labelledby="collections-tl" 
1437                             class="automatic tw:bg-white tw:rounded-xs tw:flex tw:overflow-x-auto"> 
1438                            <#assign isFirstTab = true> 
1439                            <#list roOrder as key, label> 
1440                                <#if collectFull[key]?hasContent> 
1441                                    <button id="tab-${key}" type="button" role="tab" 
1442                                            aria-selected="${isFirstTab?string}" 
1443                                            class="tw:group" 
1444                                            aria-controls="tabpanel-${key}" 
1445                                            tabindex="-1"> 
1446                                        <span class="tw:transition-all tw:whitespace-nowrap tw:font-title tw:text-[1.125rem]/[1.6875rem] tw:text-placeholder tw:font-semibold tw:block tw:px-10 tw:py-[0.475rem] tw:border-y-[0.25rem] tw:border-transparent tw:border-solid tw:group-aria-selected:border-b-prim tw:group-aria-selected:text-prim tw:group-hover:text-prim">${label}</span> 
1447                                    </button> 
1448                                    <#assign isFirstTab = false> 
1449                                </#if> 
1450                            </#list> 
1451                        </div> 
1452                        <#assign isFirstTab = true> 
1453                        <#list roOrder as key, value> 
1454                            <#if collectFull[key]?hasContent> 
1455                                <div id="tabpanel-${key}" role="tabpanel" tabindex="0" aria-labelledby="tab-${key}" 
1456                                     class="<#if !isFirstTab>tw:hidden</#if>"> 
1457                                    <div class="img-gallery js-img-gallery splide js-ressources tw:py-5 tw:relative"> 
1458                                        <div class="splide__track"> 
1459                                            <ul class="splide__list"> 
1460                                                <#list collectFull[key] as objectCard> 
1461                                                    <#assign thumbnail = {}> 
1462                                                    <#assign reproductionImageURL = ""> 
1463                                                    <#if objectCard.repros?hasContent> 
1464                                                        <#assign relatedObjectThumbnails = objectCard.repros?filter(r -> (r.values.reproductionNature == "PICTURE" && r.values.media?string != "0"))> 
1465                                                        <#if relatedObjectThumbnails?hasContent> 
1466                                                            <#assign thumbnail = relatedObjectThumbnails?first> 
1467                                                            <#assign fileEntryDesktop = dlAppLocalService.getFileEntry(thumbnail.values.media?number) /> 
1468                                                            <#assign reproductionImageURL = dlURLHelper.getPreviewURL(fileEntryDesktop, fileEntryDesktop.getFileVersion(), 
1469                                                            null, "", !fileEntryDesktop.getFileVersion().equals(fileEntryDesktop.getLatestFileVersion()), true) /> 
1470                                                        </#if> 
1471                                                    </#if> 
1472                                                    <#if objectCard.title?hasContent && objectCard.id??> 
1473                                                        <li class="splide__slide" 
1474                                                            style="width: 14.375rem"> 
1475                                                            <a href="/l/${objectCard.id}" 
1476                                                               class="zoom-effect tw:w-full tw:h-fit tw:relative tw:group tw:overflow-hidden tw:block tw:size-full tw:flex tw:flex-col"> 
1477                                                                <#if reproductionImageURL?hasContent > 
1478                                                                    <figure class="tw:w-full tw:h-fit"> 
1479                                                                        <div class="tw:relative tw:w-full tw:h-[17.5rem] tw:object-cover tw:overflow-hidden tw:mb-[0.625rem]"> 
1480                                                                            <picture> 
1481                                                                                <img src="${reproductionImageURL}" 
1482                                                                                     alt="" 
1483                                                                                     class="tw:size-full tw:transition-all tw:object-cover tw:scale-100 tw:group-hover:scale-110"/> 
1484                                                                            </picture> 
1485                                                                        </div> 
1486                                                                    </figure> 
1487                                                                <#else> 
1488                                                                    <div class="tw:relative tw:w-full tw:h-[17.5rem] tw:overflow-hidden tw:mb-[0.625rem]"> 
1489                                                                        <div class="no-photo" aria-hidden="true"> 
1490                                                                            <p>Garance</p> 
1491                                                                        </div> 
1492                                                                    </div> 
1493                                                                </#if> 
1494                                                                <p class=""> 
1495                                                                    <span class="tw:font-title tw:font-medium tw:text-[1.25rem]/[1.875rem]">${objectCard.title}</span> 
1496                                                                    <span class="icon-arrow-right tw:transition-all tw:text-[0.875rem] tw:text-prim tw:ml-1 tw:group-hover:ml-2"></span> 
1497                                                                </p> 
1498                                                            </a> 
1499                                                        </li> 
1500                                                    </#if> 
1501                                                </#list> 
1502                                            </ul> 
1503                                        </div> 
1504 
1505                                        <div class="splide__arrows tw:hidden tw:absolute tw:top-[calc(50%-1.25rem)] tw:left-[-2.5rem] tw:right-[-2.5rem] tw:lg:left-[-3.25rem] tw:lg:right-[-3.25rem] tw:sm:flex tw:justify-between tw:pointer-events-none"> 
1506                                            <button class="splide__arrow splide__arrow--prev tw:text-prim tw:text-[2.5rem] tw:pointer-events-auto tw:[&[disabled]]:invisible"> 
1507                                                <span class="icon-chevron-left" aria-hidden="true"></span> 
1508                                            </button> 
1509                                            <button class="splide__arrow splide__arrow--next tw:text-prim tw:text-[2.5rem] tw:pointer-events-auto tw:[&[disabled]]:invisible"> 
1510                                                <span class="icon-chevron-right" aria-hidden="true"></span> 
1511                                            </button> 
1512                                        </div> 
1513                                    </div> 
1514                                </div> 
1515                                <#assign isFirstTab = false> 
1516                            </#if> 
1517                        </#list> 
1518                    </div> 
1519                </div> 
1520            </div> 
1521            <script type="module" async> 
1522                import('photoswipe') 
1523                import('photoswipe-lightbox') 
1524            </script> 
1525        </#if> 
1526    </div> 
1527</div>