An error occurred while processing the template.
Invocation of method 'getImageProperties' in class com.liferay.portal.util.IterTemplateContent threw exception XYZ_E_INVALIDARG_ZYX at 21736/F/SCROLL_INFINITO[line 85, column 38]
1$iterVelocityTools.setRenderArticleMode(1)
2#set($sectionID = "#printAssignedSectionID_v1")
3#set($canonicalUrl = $articleToolbox.getArticleViewer('canonical'))
4#set($title = $!articleToolbox.getTag(null,'Headline').data)
5#set($hostName = "#siteUrl()")
6#set($fullUrl = "${hostName}${canonicalUrl}")
7
8#set($titleRaw = $!title)
9#if(!$titleRaw) #set($titleRaw = "") #end
10#set($titleClean = $titleRaw.replaceAll('"', "'").replaceAll('\n', ' ').replaceAll('\r', '').replaceAll('\\', '\\\\').replaceAll('<', '').replaceAll('>', '').trim())
11
12#set($descRaw = $!articleToolbox.getTag(null, 'Resumen_News').data)
13#if(!$descRaw || $descRaw == "") #set($descRaw = $!articleToolbox.getTag(null, 'Subheadline').data) #end
14#if(!$descRaw || $descRaw == "") #set($descRaw = $!articleToolbox.getTag(null, 'Lead_Text').data) #end
15#if(!$descRaw || $descRaw == "") #set($descRaw = $titleClean) #end
16#set($descClean = $htmlUtil.stripHtml($descRaw).replaceAll('"', "'").replaceAll('\n', ' ').replaceAll('\r', '').replaceAll('\\', '\\\\').replaceAll('<', '').replaceAll('>', '').trim())
17
18#set($rawModify = $reserved-article-modified-date.data)
19#set($rawPublish = $reserved-article-display-date.data)
20#set($fmtIn = "EEE, d MMM yyyy HH:mm:ss Z")
21#set($fmtOutISO = "yyyy-MM-dd'T'HH:mm:ssXXX")
22#set($fmtOutDisplay = "d MMMM yyyy")
23
24#set($dateObjP = $dateTool.toDate($fmtIn, $rawPublish))
25#if($dateObjP)
26 #set($datePublished = $dateTool.format($fmtOutISO, $dateObjP))
27 #set($dateDisplay = $dateTool.format($fmtOutDisplay, $dateObjP))
28#else
29 #set($datePublished = $dateTool.get($fmtOutISO))
30 #set($dateDisplay = $dateTool.get($fmtOutDisplay))
31#end
32
33#set($dateObjM = $dateTool.toDate($fmtIn, $rawModify))
34#if($dateObjM)
35 #set($dateModified = $dateTool.format($fmtOutISO, $dateObjM))
36#else
37 #set($dateModified = $datePublished)
38#end
39
40#set($hmTemas = {}) #getAcAssignedCatExtended_v1($hmTemas "Topic")
41#set($hmGeografico = {}) #getAcAssignedCatExtended_v1($hmGeografico "Location")
42#set($hmCompanies = {}) #getAcAssignedCatExtended_v1($hmCompanies "Companies")
43#set($hmPersonajes = {}) #getAcAssignedCatExtended_v1($hmPersonajes "People")
44#set($hmAutores = {}) #getAcAssignedCatExtended_v1($hmAutores "Author")
45#set($AuthorNoFoto = $!iterVelocityTools.getVariable($sectionID, "authorNoFoto"))
46
47#set($section = "#printAssignedSection_v1")
48#set($sectionSlug = $section.toLowerCase().replaceAll(" ", "-").replaceAll("á","a").replaceAll("é","e").replaceAll("í","i").replaceAll("ó","o").replaceAll("ú","u").replaceAll("ñ","n"))
49
50#set($imgDefault = "https://vanguardia.com.mx/base-portlet/webrsrc/theme/13d16cf89ee0b324585019c9998ec6dd.svg")
51#set($img16x9 = $articleToolbox.getImageURL("Image","0","crop_1200x675"))
52#if(!$img16x9 || $img16x9 == "")
53 #set($img16x9 = $articleToolbox.getImageURL("Image","0",""))
54#end
55#if(!$img16x9 || $img16x9 == "")
56 #set($img16x9 = $imgDefault)
57#end
58
59#set($img4x3 = $articleToolbox.getImageURL("Image","0","crop_1200x900"))
60#set($img1x1 = $articleToolbox.getImageURL("Image","0","crop_1200x1200"))
61
62#set($imgOG = $articleToolbox.getImageURL("Image","0","social"))
63
64#set($imgTwitter = $img16x9)
65#set($imgLCP = $articleToolbox.getImageURL("Image","0","crop_1152x648"))
66#if(!$imgLCP || $imgLCP == "")
67 #set($imgLCP = $articleToolbox.getImageURL("Image","0",""))
68#end
69
70#set($imgProps = false)
71#if($img16x9 && $img16x9 != $imgDefault)
72 #set($imgProps = $articleToolbox.getImageProperties($img16x9))
73#end
74#set($imgWidth = 1200)
75#set($imgHeight = 675)
76#if($imgProps && $imgProps.width)
77 #set($imgWidth = $imgProps.width)
78#end
79#if($imgProps && $imgProps.height)
80 #set($imgHeight = $imgProps.height)
81#end
82
83#set($imgOGProps = false)
84#if($imgOG && $imgOG != $imgDefault && $imgOG != $img16x9)
85 #set($imgOGProps = $articleToolbox.getImageProperties($imgOG))
86#end
87#set($imgOGWidth = 1200)
88#set($imgOGHeight = 630)
89#if($imgOGProps && $imgOGProps.width)
90 #set($imgOGWidth = $imgOGProps.width)
91#end
92#if($imgOGProps && $imgOGProps.height)
93 #set($imgOGHeight = $imgOGProps.height)
94#end
95
96#set($img4x3Width = 1200)
97#set($img4x3Height = 900)
98#if($img4x3 && $img4x3 != "")
99 #set($img4x3Props = $articleToolbox.getImageProperties($img4x3))
100 #if($img4x3Props && $img4x3Props.width)
101 #set($img4x3Width = $img4x3Props.width)
102 #end
103 #if($img4x3Props && $img4x3Props.height)
104 #set($img4x3Height = $img4x3Props.height)
105 #end
106#end
107
108#set($img1x1Width = 1200)
109#set($img1x1Height = 1200)
110#if($img1x1 && $img1x1 != "")
111 #set($img1x1Props = $articleToolbox.getImageProperties($img1x1))
112 #if($img1x1Props && $img1x1Props.width)
113 #set($img1x1Width = $img1x1Props.width)
114 #end
115 #if($img1x1Props && $img1x1Props.height)
116 #set($img1x1Height = $img1x1Props.height)
117 #end
118#end
119
120#set($ac-url = $articleContext.selectNodes('articlectx/url'))
121#set($xml-url = $ac-url.get(0).text)
122#set($url_actual = $!xml-url)
123
124#set($arrayListContenidos = [])
125#macro(regEl $name $type $class $tag)
126 #set($e = {})
127 #set($x = $e.put("name", $name))
128 #set($x = $e.put("type", $type))
129 #set($x = $e.put("cssclass", $class))
130 #set($x = $e.put("tag", $tag))
131 #set($x = $arrayListContenidos.add($e))
132#end
133
134#regEl("Text", "paragraph", "texto", "div")
135#regEl("ArticleText", "article_text", "article_text", "div")
136#regEl("Lead_Text", "text", "intertitulo", "div")
137#regEl("Quote", "text", "quote", "div")
138#regEl("Quote_byline", "text", "Quote_byline", "div")
139#regEl("Lead", "text", "lead destacado", "div")
140#regEl("Parrafo_Lista", "text", "Parrafo_Lista", "div")
141#regEl("Image_Text", "image", "img text", "div")
142#regEl("Image_Text_GIF", "image", "imagen", "div")
143#regEl("TikTok_Text", "tiktok", "tiktok_text", "div")
144#regEl("Twitter_Text", "twitter", "twitter_text", "div")
145#regEl("Facebook_Text", "facebook", "facebook_text", "div")
146#regEl("Instagram_Text", "instagram", "instagram_text", "div")
147#regEl("Youtube_Text", "youtube", "youtube_video", "div")
148#regEl("Multimedia_Text", "multimedia", "video", "div")
149#regEl("HTML_Text", "html", "html_text", "div")
150#regEl("Flourish_Text", "text", "flourish_text", "div")
151#regEl("linkTitle_Text", "text", "link_tpi", "div")
152#regEl("title_list", "microformat", "microformat", "div")
153#regEl("image_list", "microformat", "microformat", "div")
154#regEl("text_list", "microformat", "microformat", "div")
155#regEl("Titulo_News", "text", "titulo_news", "div")
156#regEl("Resumen_News", "text", "resumen_news", "div")
157#regEl("Boton", "text", "Boton", "div")
158#regEl("Ficha_Titulo", "text", "Ficha_Titulo", "div")
159#regEl("Ficha_Foto", "image", "Ficha_Foto", "div")
160#regEl("Ficha_Texto", "text", "Ficha_Texto", "div")
161#regEl("Ficha_Social", "text", "Ficha_Social", "div")
162#regEl("Entrevista_Pregunta", "text", "Entrevista_Pregunta", "div")
163#regEl("Entrevista_Respuesta", "text", "Entrevista_Respuesta", "div")
164#regEl("URLCanonical", "text", "URLCanonical", "div")
165#regEl("Titulo_App", "text", "Titulo_App", "div")
166#regEl("resena_titulo", "text", "resena_titulo", "div")
167#regEl("resena_imagen", "image", "resena_imagen", "div")
168#regEl("resena_texto", "text", "resena_texto", "div")
169
170#set($FacebookText_ = $articleToolbox.getTag(null,"Facebook_Text"))
171#if($FacebookText_ && $FacebookText_.data != "")
172<div id="fb-root"></div>
173<script async defer src="https://connect.facebook.net/es_LA/sdk.js#xfbml=1&version=v21.0" crossorigin="anonymous"></script>
174#end
175
176#set($sectionUrl = "${hostName}/${sectionSlug}")
177#set($bcLevel1 = "")
178#set($bcLevel1Url = "")
179#set($bcLevel2 = "")
180#set($bcLevel2Url = "")
181#set($hasLevel2 = false)
182
183#if($canonicalUrl && $canonicalUrl.lastIndexOf("/") > 0)
184 #set($lastSlashIdx = $canonicalUrl.lastIndexOf("/"))
185 #set($sectionPath = $canonicalUrl.substring(0, $lastSlashIdx))
186 #set($tempPath = $sectionPath)
187 #if($tempPath.startsWith("/"))
188 #set($tempPath = $tempPath.substring(1))
189 #end
190 #set($firstSlash = $tempPath.indexOf("/"))
191 #if($firstSlash > 0)
192 #set($bcLevel1 = $tempPath.substring(0, $firstSlash))
193 #set($bcLevel1Url = "${hostName}/${bcLevel1}")
194 #set($nextIdx = $firstSlash + 1)
195 #set($bcLevel2 = $tempPath.substring($nextIdx))
196 #set($bcLevel2Url = "${hostName}${sectionPath}")
197 #set($hasLevel2 = true)
198 #else
199 #set($bcLevel1 = $tempPath)
200 #set($bcLevel1Url = "${hostName}/${bcLevel1}")
201 #end
202#end
203
204#if($bcLevel1 == "")
205 #set($bcLevel1 = $sectionSlug)
206 #set($bcLevel1Url = "${hostName}/${sectionSlug}")
207#end
208
209#set($articleBodyText = "")
210#set($bodyTextTags = ["Lead_Text", "Text", "ArticleText", "Entrevista_Pregunta", "Entrevista_Respuesta", "Quote", "Parrafo_Lista"])
211#foreach($bodyTagName in $bodyTextTags)
212 #set($bodyTag = $articleToolbox.getTag(null, $bodyTagName))
213 #if($bodyTag && $bodyTag.data && $bodyTag.data.trim() != "")
214 #set($bodyStripped = $htmlUtil.stripHtml($bodyTag.data).trim())
215 #if($bodyStripped != "")
216 #if($articleBodyText != "") #set($articleBodyText = "${articleBodyText} ") #end
217 #set($articleBodyText = "${articleBodyText}${bodyStripped}")
218 #end
219 #end
220 #if($bodyTag)
221 #set($bodySiblings = $bodyTag.getSiblings())
222 #if($bodySiblings && $bodySiblings.size() > 1)
223 #set($sibIdx = 0)
224 #foreach($sib in $bodySiblings)
225 #if($sibIdx > 0 && $sib.data && $sib.data.trim() != "")
226 #set($sibStripped = $htmlUtil.stripHtml($sib.data).trim())
227 #if($sibStripped != "")
228 #if($articleBodyText != "") #set($articleBodyText = "${articleBodyText} ") #end
229 #set($articleBodyText = "${articleBodyText}${sibStripped}")
230 #end
231 #end
232 #set($sibIdx = $sibIdx + 1)
233 #end
234 #end
235 #end
236#end
237#set($articleBodyClean = $articleBodyText.replaceAll('"', "'").replaceAll('\n', ' ').replaceAll('\r', '').replaceAll('\t', ' ').replaceAll('\\', '\\\\').replaceAll('<', '').replaceAll('>', '').trim())
238#if($articleBodyClean.length() > 18000)
239 #set($articleBodyClean = $articleBodyClean.substring(0, 18000))
240#end
241
242#set($imgDescClean = $titleClean)
243#if($imgDescClean.length() > 200)
244 #set($imgDescClean = $imgDescClean.substring(0, 200))
245#end
246
247#set($contentLocationName = "")
248#if($hmGeografico && !$hmGeografico.isEmpty())
249 #set($geoNames = [])
250 #foreach($geoItem in $hmGeografico)
251 #set($geoClean = $geoItem.name.replaceAll('"', "'").trim())
252 #if(!$geoNames.contains($geoClean))
253 #set($x = $geoNames.add($geoClean))
254 #end
255 #end
256 #foreach($gn in $geoNames)
257 #if($contentLocationName != "")
258 #set($contentLocationName = "${contentLocationName}, ${gn}")
259 #else
260 #set($contentLocationName = $gn)
261 #end
262 #end
263#end
264
265<script type="application/ld+json">
266{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Vanguardia","item":"https://vanguardia.com.mx"},{"@type":"ListItem","position":2,"name":"$htmlUtil.escape($bcLevel1)","item":"$htmlUtil.escape($bcLevel1Url)"}#if($hasLevel2),{"@type":"ListItem","position":3,"name":"$htmlUtil.escape($bcLevel2)","item":"$htmlUtil.escape($bcLevel2Url)"},{"@type":"ListItem","position":4,"name":"$htmlUtil.escape($titleClean)","item":"$htmlUtil.escape($fullUrl)"}#else,{"@type":"ListItem","position":3,"name":"$htmlUtil.escape($titleClean)","item":"$htmlUtil.escape($fullUrl)"}#end]}
267</script>
268
269#set($keywordsStr = "")
270#macro(addKeywordsToMap $mapInput)
271 #if($mapInput && !$mapInput.isEmpty())
272 #foreach($item in $mapInput)
273 #if($keywordsStr != "") #set($keywordsStr = "${keywordsStr}, ") #end
274 #set($cleanName = $item.name.replaceAll('"', "'").trim())
275 #set($keywordsStr = "${keywordsStr}${cleanName}")
276 #end
277 #end
278#end
279
280#addKeywordsToMap($hmTemas)
281#addKeywordsToMap($hmGeografico)
282#addKeywordsToMap($hmPersonajes)
283#addKeywordsToMap($hmCompanies)
284
285<script type="application/ld+json" id="vangdata-schema-newsarticle">
286{
287 "@context": "https://schema.org",
288 "@type": "NewsArticle",
289 "mainEntityOfPage": {
290 "@type": "WebPage",
291 "@id": "$htmlUtil.escape($fullUrl)"
292 },
293 "headline": "$!{titleClean}",
294 "description": "$!{descClean}",
295 #if($articleBodyClean && $articleBodyClean != "")
296 "articleBody": "$!{articleBodyClean}",
297 #end
298 "keywords": "$!{keywordsStr}",
299 "inLanguage": "es-MX",
300 "image": [
301 {
302 "@type": "ImageObject",
303 "url": "$htmlUtil.escape($img16x9)",
304 "width": $imgWidth,
305 "height": $imgHeight,
306 "description": "$!{imgDescClean}"
307 }
308 #if($img4x3 && $img4x3 != "")
309 ,{
310 "@type": "ImageObject",
311 "url": "$htmlUtil.escape($img4x3)",
312 "width": $img4x3Width,
313 "height": $img4x3Height,
314 "description": "$!{imgDescClean}"
315 }
316 #end
317 #if($img1x1 && $img1x1 != "")
318 ,{
319 "@type": "ImageObject",
320 "url": "$htmlUtil.escape($img1x1)",
321 "width": $img1x1Width,
322 "height": $img1x1Height,
323 "description": "$!{imgDescClean}"
324 }
325 #end
326 ],
327 "datePublished": "$!{datePublished}",
328 "dateModified": "$!{dateModified}",
329 "author": [
330 #if($hmAutores && !$hmAutores.isEmpty())
331 #set($authorIdx = 0)
332 #foreach($elem in $hmAutores)
333 #set($authorNameClean = $!elem.name.replaceAll('"', "'").replaceAll('\n', ' ').replaceAll('\\', '\\\\').replaceAll('<', '').replaceAll('>', '').trim())
334 #set($authorNameLower = $authorNameClean.toLowerCase())
335 #set($esAgencia = false)
336 #if($authorNameLower.contains("efe") || $authorNameLower.contains("ap ") || $authorNameLower.equals("ap") || $authorNameLower.contains("espn") || $authorNameLower.contains("new york times") || $authorNameLower.contains("reforma") || $authorNameLower.contains("el universal") || $authorNameLower.contains("reuters") || $authorNameLower.contains("afp") || $authorNameLower.contains("notimex") || $authorNameLower.contains("dpa"))
337 #set($esAgencia = true)
338 #end
339 #if($authorIdx > 0),#end
340 #if($esAgencia)
341 {"@type": "Organization", "name": "$!{authorNameClean}", "url": "${hostName}/autor/-/meta/$htmlUtil.escapeURL($!elem.friendlyname)"}
342 #else
343 {"@type": "Person", "name": "$!{authorNameClean}", "url": "${hostName}/autor/-/meta/$htmlUtil.escapeURL($!elem.friendlyname)"}
344 #end
345 #set($authorIdx = $authorIdx + 1)
346 #end
347 #else
348 {"@type": "Organization", "name": "Vanguardia", "url": "https://vanguardia.com.mx"}
349 #end
350 ],
351 "publisher": {
352 "@type": "Organization",
353 "name": "Vanguardia",
354 "url": "https://vanguardia.com.mx",
355 "logo": {
356 "@type": "ImageObject",
357 "url": "https://vanguardia.com.mx/base-portlet/webrsrc/ctxvar/9d387887-99eb-4c1e-bb4a-7cbec97451dd.png",
358 "width": 380,
359 "height": 35
360 },
361 "sameAs": [
362 "https://www.facebook.com/VanguardiaMx",
363 "https://www.instagram.com/vanguardiamx",
364 "https://x.com/vanguardiamx",
365 "https://www.tiktok.com/@vanguardia_mx",
366 "https://www.youtube.com/channel/UCQtlgxJiZmFmaH7RsCtANsQ",
367 "https://es.wikipedia.org/wiki/Vanguardia_(peri%C3%B3dico_mexicano)",
368 "https://whatsapp.com/channel/0029Va2n3TCA2pL9rkrqWx2b"
369 ]
370 },
371 "articleSection": "$htmlUtil.escape($section)",
372 "isAccessibleForFree": true
373 #if($contentLocationName && $contentLocationName != "")
374 ,"contentLocation": {
375 "@type": "Place",
376 "name": "$htmlUtil.escape($contentLocationName)"
377 }
378 #end
379}
380</script>
381
382<script type="application/ld+json">
383{
384 "@context": "https://schema.org",
385 "@type": "NewsMediaOrganization",
386 "name": "Vanguardia",
387 "description": "Vanguardia es el periódico líder de noticias en Coahuila y el noreste de México, con cobertura local, nacional e internacional desde Saltillo.",
388 "url": "https://vanguardia.com.mx",
389 "logo": {
390 "@type": "ImageObject",
391 "url": "https://vanguardia.com.mx/base-portlet/webrsrc/ctxvar/9d387887-99eb-4c1e-bb4a-7cbec97451dd.png",
392 "width": 380,
393 "height": 35
394 },
395 "sameAs": [
396 "https://www.facebook.com/VanguardiaMx",
397 "https://www.instagram.com/vanguardiamx",
398 "https://x.com/vanguardiamx",
399 "https://www.tiktok.com/@vanguardia_mx",
400 "https://www.youtube.com/channel/UCQtlgxJiZmFmaH7RsCtANsQ",
401 "https://es.wikipedia.org/wiki/Vanguardia_(peri%C3%B3dico_mexicano)",
402 "https://whatsapp.com/channel/0029Va2n3TCA2pL9rkrqWx2b"
403 ],
404 "email": "contacto@vanguardia.com.mx",
405 "foundingDate": "1975-10-04",
406 "verificationFactCheckingPolicy": "https://vanguardia.com.mx/politicas-de-privacidad"
407}
408</script>
409
410<script type="application/ld+json">
411{
412 "@context": "https://schema.org",
413 "@type": "WebSite",
414 "name": "Vanguardia",
415 "url": "https://vanguardia.com.mx",
416 "potentialAction": {
417 "@type": "SearchAction",
418 "target": "https://vanguardia.com.mx/resultados-busqueda/-/search/{search_term_string}/false/false/19840101/29991231/date/true/true/0/0/meta/0/0/0/1",
419 "query-input": "required name=search_term_string"
420 }
421}
422</script>
423
424#set($youtubeContent = $articleToolbox.getTag(null,"Youtube_Text"))
425#if($youtubeContent && $youtubeContent.data && $youtubeContent.data != "")
426#set($youtubeRaw = $youtubeContent.data)
427#set($youtubeId = "")
428#if($youtubeRaw.contains("youtube.com/embed/"))
429 #set($startIdx = $youtubeRaw.indexOf("youtube.com/embed/"))
430 #set($startIdx = $startIdx + 18)
431 #set($tempStr = $youtubeRaw.substring($startIdx))
432 #if($tempStr.contains('"'))
433 #set($endIdx = $tempStr.indexOf('"'))
434 #set($youtubeId = $tempStr.substring(0, $endIdx))
435 #elseif($tempStr.contains("?"))
436 #set($endIdx = $tempStr.indexOf("?"))
437 #set($youtubeId = $tempStr.substring(0, $endIdx))
438 #else
439 #set($youtubeId = $tempStr.substring(0, 11))
440 #end
441#elseif($youtubeRaw.contains("youtu.be/"))
442 #set($startIdx = $youtubeRaw.indexOf("youtu.be/"))
443 #set($startIdx = $startIdx + 9)
444 #set($tempStr = $youtubeRaw.substring($startIdx))
445 #if($tempStr.contains('"'))
446 #set($endIdx = $tempStr.indexOf('"'))
447 #set($youtubeId = $tempStr.substring(0, $endIdx))
448 #else
449 #set($youtubeId = $tempStr.substring(0, 11))
450 #end
451#elseif($youtubeRaw.contains("watch?v="))
452 #set($startIdx = $youtubeRaw.indexOf("watch?v="))
453 #set($startIdx = $startIdx + 8)
454 #set($tempStr = $youtubeRaw.substring($startIdx))
455 #if($tempStr.contains("&"))
456 #set($endIdx = $tempStr.indexOf("&"))
457 #set($youtubeId = $tempStr.substring(0, $endIdx))
458 #elseif($tempStr.contains('"'))
459 #set($endIdx = $tempStr.indexOf('"'))
460 #set($youtubeId = $tempStr.substring(0, $endIdx))
461 #else
462 #set($youtubeId = $tempStr.substring(0, 11))
463 #end
464#end
465#set($youtubeIdClean = $youtubeId.replaceAll("[^a-zA-Z0-9_-]", ""))
466#if($youtubeIdClean && $youtubeIdClean.length() == 11)
467<script type="application/ld+json">
468{"@context":"https://schema.org","@type":"VideoObject","name":"$!{titleClean}","description":"$!{descClean}","thumbnailUrl":"https://img.youtube.com/vi/${youtubeIdClean}/maxresdefault.jpg","uploadDate":"$!{datePublished}","embedUrl":"https://www.youtube.com/embed/${youtubeIdClean}","contentUrl":"https://www.youtube.com/watch?v=${youtubeIdClean}"}
469</script>
470#end
471#end
472
473#set($metaOG = {}) #set($temp = $metaOG.put("property","og:site_name")) #set($temp = $metaOG.put("content", "Vanguardia")) $iterVelocityTools.addMetaTag($metaOG)
474#set($metaOG = {}) #set($temp = $metaOG.put("property","og:type")) #set($temp = $metaOG.put("content", "article")) $iterVelocityTools.addMetaTag($metaOG)
475#set($metaOG = {}) #set($temp = $metaOG.put("property","og:title")) #set($temp = $metaOG.put("content", "$htmlUtil.escape($titleClean)")) $iterVelocityTools.addMetaTag($metaOG)
476#set($metaOG = {}) #set($temp = $metaOG.put("property","og:description")) #set($temp = $metaOG.put("content", "$htmlUtil.escape($descClean)")) $iterVelocityTools.addMetaTag($metaOG)
477#set($metaOG = {}) #set($temp = $metaOG.put("property","og:url")) #set($temp = $metaOG.put("content", "$htmlUtil.escape($fullUrl)")) $iterVelocityTools.addMetaTag($metaOG)
478#set($metaOG = {}) #set($temp = $metaOG.put("property","og:image")) #set($temp = $metaOG.put("content", "$htmlUtil.escape($imgOG)")) $iterVelocityTools.addMetaTag($metaOG)
479#set($metaOG = {}) #set($temp = $metaOG.put("property","og:image:width")) #set($temp = $metaOG.put("content", "$imgOGWidth")) $iterVelocityTools.addMetaTag($metaOG)
480#set($metaOG = {}) #set($temp = $metaOG.put("property","og:image:height")) #set($temp = $metaOG.put("content", "$imgOGHeight")) $iterVelocityTools.addMetaTag($metaOG)
481#set($metaOG = {}) #set($temp = $metaOG.put("property","article:published_time")) #set($temp = $metaOG.put("content", "$datePublished")) $iterVelocityTools.addMetaTag($metaOG)
482#set($metaOG = {}) #set($temp = $metaOG.put("property","article:modified_time")) #set($temp = $metaOG.put("content", "$dateModified")) $iterVelocityTools.addMetaTag($metaOG)
483#set($metaOG = {}) #set($temp = $metaOG.put("property","article:section")) #set($temp = $metaOG.put("content", "$htmlUtil.escape($section)")) $iterVelocityTools.addMetaTag($metaOG)
484
485#set($metaTW = {}) #set($temp = $metaTW.put("name","twitter:card")) #set($temp = $metaTW.put("content", "summary_large_image")) $iterVelocityTools.addMetaTag($metaTW)
486#set($metaTW = {}) #set($temp = $metaTW.put("name","twitter:site")) #set($temp = $metaTW.put("content", "@vanguardiamx")) $iterVelocityTools.addMetaTag($metaTW)
487#set($metaTW = {}) #set($temp = $metaTW.put("name","twitter:title")) #set($temp = $metaTW.put("content", "$htmlUtil.escape($titleClean)")) $iterVelocityTools.addMetaTag($metaTW)
488#set($metaTW = {}) #set($temp = $metaTW.put("name","twitter:description")) #set($temp = $metaTW.put("content", "$htmlUtil.escape($descClean)")) $iterVelocityTools.addMetaTag($metaTW)
489#set($metaTW = {}) #set($temp = $metaTW.put("name","twitter:image")) #set($temp = $metaTW.put("content", "$htmlUtil.escape($imgTwitter)")) $iterVelocityTools.addMetaTag($metaTW)
490#set($metaTW = {}) #set($temp = $metaTW.put("name","twitter:image:alt")) #set($temp = $metaTW.put("content", "$htmlUtil.escape($titleClean)")) $iterVelocityTools.addMetaTag($metaTW)
491#set($metaTW = {}) #set($temp = $metaTW.put("name","twitter:url")) #set($temp = $metaTW.put("content", "$htmlUtil.escape($fullUrl)")) $iterVelocityTools.addMetaTag($metaTW)
492
493#set($metaCSP = {}) #set($temp = $metaCSP.put("http-equiv","Content-Security-Policy")) #set($temp = $metaCSP.put("content", "upgrade-insecure-requests")) $iterVelocityTools.addMetaTag($metaCSP)
494
495<script>console.log("%c VNG-ESTANDAR-30 v11.0","background:#179d30ff;color:white;padding:4px;font-weight:bold");</script>
496
497<script>
498(function(){
499 function applyNativeLazy(img) {
500 if (img.closest('.image_main')) return;
501 if (img.src && img.src.includes('placeholder/svg')) return;
502 if (img.hasAttribute('loading')) return;
503 img.loading = 'lazy';
504 img.decoding = 'async';
505 }
506 new MutationObserver(function(mutations) {
507 mutations.forEach(function(mutation) {
508 mutation.addedNodes.forEach(function(node) {
509 if (node.nodeName === 'IMG') applyNativeLazy(node);
510 if (node.querySelectorAll) {
511 node.querySelectorAll('img').forEach(applyNativeLazy);
512 }
513 });
514 });
515 }).observe(document.documentElement, {childList: true, subtree: true});
516 document.querySelectorAll('img').forEach(applyNativeLazy);
517})();
518</script>
519
520#if($imgLCP && $imgLCP != "")
521<link rel="preload" as="image" href="$htmlUtil.escape($imgLCP)" fetchpriority="high">
522#end
523
524## ═══════════════════════════════════════════════════════════════
525## ESTRUCTURA HTML PRINCIPAL
526## template-infinity > container > article > row.middle(A)
527## ├─ col-md-8 (B) contenido principal
528## │ ├─ image_main
529## │ └─ row.middle(C) interior
530## │ ├─ col-md-3 (autor + compartir + temas desktop)
531## │ └─ col-md-9 (texto del artículo)
532## └─ col-md-4 (D) sidebar lateral
533## ═══════════════════════════════════════════════════════════════
534
535<div class="template-infinity idart_$reserved-article-id.data detail col-100-top-one-col col-xs-12 v2" id-next="$htmlUtil.escape($!art_next.reserved-article-id.data)" id-section="$htmlUtil.escape($sectionID)">
536
537<style>
538.block_URLCanonical{display:none}
539#iter-content-wrapper{min-height:1000px}
540@media (min-width:769px){
541 .row.middle{align-items:flex-start !important;overflow:visible !important}
542 .row.middle>.col-md-3{align-self:flex-start !important;overflow:visible !important}
543 .col-60-40-top-two-col{overflow:visible !important}
544 .col-60-40-top-one-col{overflow:visible !important}
545 .portlet-column{overflow:visible !important}
546 .mrf-article-body{overflow:visible !important}
547 .template-infinity{overflow:visible !important}
548 .container{overflow:visible !important}
549 article{overflow:visible !important}
550}
551/* ── Publicidad containers responsivos al creative servido ─── */
552.publicidad-container{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;width:100%}
553.publicidad-container--top{min-height:250px}
554.publicidad-container--mid{min-height:600px}
555.publicidad-container--bot{min-height:600px}
556.publicidad-label{font-size:0.7rem;color:#999;text-transform:uppercase;letter-spacing:1px;margin-bottom:5px}
557
558div.block_Parrafo_Lista p{margin:0px !important}
559div.media_block1 a div img{border-radius:50% !important;border:#ff6d00 3px solid}
560.misarticulos{font-size:1rem;text-transform:uppercase;font-family:"PT Sans",helvetica,arial,sans-serif;font-weight:400;letter-spacing:1px;border-bottom:solid 2.5px #ff7c2c;max-width:168px;margin:0 auto}
561.author-card2{border:#c7c7c7d1 1px solid;margin-block:50px;width:90%;margin-inline:auto;padding-inline:5%;padding-top:30px;background-color:#F2F2F2}
562.author-description{padding-inline:5%;margin-bottom:20px}
563.author-description a{color:#ff6d00 !important}
564.btn-follow-wrapper{position:relative;display:inline-block;margin-bottom:15px}
565.btn-follow-google{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;min-height:32px;border:1px solid #dadce0;border-radius:999px;font-family:Arial,Helvetica,sans-serif;font-size:14px;font-weight:500;color:#1f1f1f;background-color:#fff;text-decoration:none;cursor:pointer;transition:background-color .2s ease,box-shadow .2s ease;box-sizing:border-box}
566.btn-follow-google:hover{background-color:#f8f9fa;box-shadow:0 1px 3px rgba(0,0,0,.08);text-decoration:none;color:#1f1f1f}
567.btn-follow-google:active{background-color:#f1f3f4}
568.btn-follow-plus{font-size:18px;font-weight:300;line-height:1;color:#5f6368;margin-right:2px}
569.btn-follow-text{white-space:nowrap;color:#3c4043}
570.btn-follow-google-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0}
571.btn-follow-google-icon svg{width:18px;height:18px}
572.btn-follow-tooltip{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);background-color:#3c4043;color:#fff;font-size:12px;padding:6px 10px;border-radius:4px;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;pointer-events:none;z-index:10}
573.btn-follow-tooltip::before{content:'';position:absolute;bottom:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-bottom-color:#3c4043}
574.btn-follow-wrapper:hover .btn-follow-tooltip{opacity:1;visibility:visible}
575.thrd-pty-wgn{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:24px 0;max-width:100%;box-sizing:border-box}
576.thrd-pty-ch{display:flex;align-items:center;justify-content:space-between;text-decoration:none;border:1px solid #e0e0e0;border-radius:999px;padding:12px 16px;transition:all .2s ease;background:#fff;min-width:0}
577.thrd-pty-ch:hover{border-color:#bdbdbd;background:#fafafa}
578.thrd-pty-ch-ctn{display:flex;align-items:center;gap:12px;min-width:0;flex:1}
579.thrd-pty-txt{font-size:14px;line-height:1.3;color:#111;margin:0}
580.g-nws-tg-icon{position:relative;width:48px;height:48px;flex-shrink:0}
581.g-nws-tg-icon img{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:block}
582.glo-wsp-icon{width:50px;height:50px;flex-shrink:0}
583.lnk-icon-arrow{flex-shrink:0}
584.lnk-icon-arrow-rect,.lnk-icon-arrow-path{transition:all .2s ease}
585.thrd-pty-ch:hover .lnk-icon-arrow-rect{stroke:#999}
586.thrd-pty-ch:hover .lnk-icon-arrow-path{fill:#999}
587@media(max-width:768px){.thrd-pty-wgn{grid-template-columns:1fr}.thrd-pty-txt{font-size:16px}}
588.article_text .teaser-container{display:grid;grid-template-columns:200px 1fr;gap:0;border-left:3px solid #f07a2b;border-top:1px solid #e8e0d4;border-right:1px solid #e8e0d4;border-bottom:1px solid #e8e0d4;border-radius:4px;background:#f7f4ef;overflow:hidden;transition:box-shadow .2s ease,border-color .2s ease;margin:1.5rem 0}
589.article_text .teaser-container:hover{box-shadow:0 2px 12px rgba(240,122,43,.12);border-left-color:#ff6d00}
590.article_text .teaser-image-container{overflow:hidden;min-height:120px}
591.article_text .teaser-image-container a{display:block;height:100%}
592.article_text .teaser-image-container img.teaser-image{width:100%;height:100%;object-fit:cover;display:block}
593.article_text .teaser-content{display:flex;flex-direction:column;justify-content:center;padding:14px 18px}
594.article_text .teaser-content::before{content:"TE PUEDE INTERESAR:";font-family:"PT Sans",Helvetica,Arial,sans-serif;font-size:.8rem;font-weight:700;letter-spacing:1.5px;color:#f07a2b;margin-bottom:6px}
595.article_text .teaser-title a{font-family:"PT Serif",Georgia,serif;font-size:1.05rem;font-weight:400;line-height:1.35;color:#1a1a1a;text-decoration:none;transition:color .2s ease}
596.article_text .teaser-title a:hover{color:#f07a2b}
597@media(max-width:600px){
598 .article_text .teaser-container{grid-template-columns:140px 1fr}
599 .article_text .teaser-content{padding:10px 14px}
600 .article_text .teaser-title a{font-size:1rem}
601}
602</style>
603
604<div class="container">
605 <script>
606 var group_id="$htmlUtil.escape($!request.theme-display.scope-group-id)";
607 var id_art_infinity="$htmlUtil.escape($!reserved-article-id.data)";
608 if(typeof n_noticia==="undefined") n_noticia=0;
609 #if($iterVelocityTools.getVelocityVariable("teaseritemposition") == 1)
610 var teaser_first=true;
611 n_noticia=1;
612 idart_view="$htmlUtil.escape($reserved-article-id.data)";
613 #else
614 var teaser_first=false;
615 n_noticia=n_noticia+1;
616 #end
617 </script>
618
619 #set($titleForJS = $titleClean.replaceAll('"', '\\"').replaceAll("'", "\\'").replaceAll('\n', ' ').replaceAll('<', '').replaceAll('>', '').replaceAll('/', '\\/'))
620
621 <script>
622 document.addEventListener("DOMContentLoaded",function(){
623 if(typeof sendHitUser==="function"){
624 sendHitUser("$titleForJS");
625 }
626 });
627 </script>
628
629 ## ── AD SLOT: TOP (publicidad-container--top) ──
630 <div class="banner-bg">
631 <div class="publicidad-container publicidad-container--top">
632 <span class="publicidad-label">Publicidad</span>
633 <div id="div-gpt-ad-1733160976056-0"><script>googletag.cmd.push(function() { googletag.display('div-gpt-ad-1733160976056-0'); });</script></div>
634 </div>
635 </div>
636
637 <article class="mrf-article-body" style="min-height: 1000px;">
638 #set($NombreAutor = "")
639 #set($IDAutor = "")
640 #if($hmAutores && $hmAutores.size() > 0)
641 #foreach($elem in $hmAutores)
642 #set($NombreAutor = $htmlUtil.escape($elem.name))
643 #set($IDAutor = $htmlUtil.escape($elem.id))
644 <div data-author-name="$NombreAutor" class="meta-author-name"></div>
645 <div data-author-id="$IDAutor" class="meta-author-id"></div>
646 <div class="categoryListItem categoryPageItem" data-categoryid="$IDAutor" data-categoryname="$NombreAutor"></div>
647 #end
648 #end
649
650 <div id="eww-general" style="display:none;"></div>
651 <h1 class="headline artit font-1 medium bold" canonicalUrl="$htmlUtil.escape($canonicalUrl)" idart="$htmlUtil.escape($reserved-article-id.data)">#getTitle_v1</h1>
652
653 <div class="btn-follow-wrapper">
654 <a href="https://profile.google.com/cp/CgsvZy8xdGN6d2Nqa" class="btn-follow-google" aria-label="Seguir a VANGUARDIA en Google Discover" target="_blank" rel="noopener">
655 <span class="btn-follow-plus">+</span>
656 <span class="btn-follow-text">Seguir en</span>
657 <span class="btn-follow-google-icon">
658 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18">
659 <path fill="#4285F4" d="M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z"/>
660 <path fill="#34A853" d="M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z"/>
661 <path fill="#FBBC05" d="M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z"/>
662 <path fill="#EA4335" d="M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z"/>
663 </svg>
664 </span>
665 </a>
666 <span class="btn-follow-tooltip">Seguir en Google</span>
667 </div>
668
669 <div class="info">
670 <span class="secc">#printTopcontainer_v1("section" "")</span> /
671 <span class="date">$htmlUtil.escape($dateDisplay)</span>
672 </div>
673
674 ## ── ROW MIDDLE (A) ── contenedor exterior: col-md-8 + col-md-4
675 <div class="row middle">
676
677 ## ── COL-MD-8 (B) ── columna principal de contenido
678 <div class="col-60-40-top-one-col col-xs-12 col-md-8 col-lg-8 portlet-column nopadding" id="col-60-40-top-one-col">
679 #set($hasImages = $articleToolbox.getNumImageTags("Image", "true"))
680 #if($section == "Opinión" || $section == "Politicón")
681 #if($hasImages > 0)
682 <div class="image_main">
683 #getMultimediaMixed_v1("fullcontent", "crop_1152x648", "100%", "432", "100%")
684 </div>
685 #elseif($hmAutores && $hmAutores.size() > 0)
686 #foreach($elem in $hmAutores)
687 #set($articuloInstrumental = $aboutCategoryArticles.getArticle($elem.id))
688 #set($authorNameEsc = $htmlUtil.escape($elem.name))
689 #set($imgColumn = $!articuloInstrumental.getImageTag("ImagenColumnista","0","crop_1152x648","","","","","true","",""))
690 #if($imgColumn && $imgColumn != "")
691 <div class="image_main">$!imgColumn</div>
692 #end
693 #end
694 #end
695 #else
696 <div class="image_main">
697 #getMultimediaMixed_v1("fullcontent", "crop_1152x648", "100%", "432", "100%")
698 </div>
699 #end
700 <script>
701 (function(){
702 var img=document.querySelector('.image_main img');
703 if(!img) return;
704 var real=img.getAttribute('data-src')||'';
705 if(real){
706 img.src=real;
707 img.removeAttribute('data-src');
708 }
709 var realSet=img.getAttribute('data-srcset')||'';
710 if(realSet){
711 img.srcset=realSet;
712 img.removeAttribute('data-srcset');
713 }
714 img.setAttribute('loading','eager');
715 img.setAttribute('fetchpriority','high');
716 img.removeAttribute('decoding');
717 img.classList.remove('lazyload','lazyloading','lazyloaded');
718 })();
719 </script>
720
721 ## ── ROW MIDDLE (C) ── interior: col-md-3 (autor) + col-md-9 (texto)
722 <div class="row middle">
723
724 ## ── COL-MD-3 ── autor + compartir + temas (desktop)
725 <div class="col-60-40-top-two-col col-xs-12 col-md-3 col-lg-3 portlet-column nopadding" id="col-60-40-top-two-col">
726 <div class="author">
727 #if($hmAutores && $hmAutores.size() > 0)
728 #foreach($elem in $hmAutores)
729 #set($articuloInstrumental = $aboutCategoryArticles.getArticle($elem.id))
730 #set($authorNameEsc = $htmlUtil.escape($elem.name))
731 #set($imgAuthor = $!articuloInstrumental.getImageTag("Image","0","crop_250x250","","","","","$authorNameEsc","",""))
732 <div class="img_author">
733 #if($imgAuthor && $imgAuthor != "")
734 $!imgAuthor
735 #else
736 <img class="img-fluid" src="$htmlUtil.escape($AuthorNoFoto)" alt="$authorNameEsc" loading="lazy"/>
737 #end
738 </div>
739 <div class="text_author">por <span class="name_author"><a href="/autor/-/meta/$htmlUtil.escapeURL($elem.friendlyname)">$authorNameEsc</a></span></div>
740 <div data-author-name="$authorNameEsc" class="meta-author-name"></div>
741 <div data-author-id="$htmlUtil.escape($elem.id)" class="meta-author-id"></div>
742 #set($NombreAutor = $authorNameEsc)
743 #set($IDAutor = $htmlUtil.escape($elem.id))
744 #end
745 #end
746 </div>
747
748 <div class="compartirr">
749 <div class="rrss d-desktop">
750 <h2 class="sectiondestacadas" style="margin-bottom: 15px; margin-top: 40px;">COMPARTIR</h2>
751 <div class="network-social">
752 #set($uEnc = $escapeTool.url($fullUrl))
753 #set($tEnc = $escapeTool.url($title))
754 <ul class="social-options">
755 <li><a class="facebook" href="https://www.facebook.com/sharer/sharer.php?u=${uEnc}" target="_blank" rel="noopener noreferrer nofollow" title="Compartir en Facebook"><div class="fab facebook"></div><b>Facebook</b></a></li>
756 <li><a class="twitter" href="https://twitter.com/intent/tweet?text=${tEnc}&url=${uEnc}" target="_blank" rel="noopener noreferrer nofollow" title="Compartir en Twitter"><div class="fab twitter"></div><b>Twitter</b></a></li>
757 <li><a class="whatsapp" href="https://api.whatsapp.com/send?text=${tEnc}%20-%20${uEnc}" target="_blank" rel="noopener noreferrer nofollow" title="Compartir en Whatsapp"><div class="fab whatsapp"></div><b>Whatsapp</b></a></li>
758 <li><a class="linkedin" href="https://www.linkedin.com/shareArticle?mini=true&url=${uEnc}" target="_blank" rel="noopener noreferrer nofollow" title="Compartir en Linkedin"><div class="fab linkedin"></div><b>Linkedin</b></a></li>
759 </ul>
760 </div>
761 </div>
762
763 <div class="temas d-desktop" temas="$hmTemas.size()">
764 #if($hmTemas && $hmTemas.size() > 0)
765 <h2 class="sectiondestacadas1" style="margin-bottom: 15px;">TEMAS</h2><br>
766 #set($count = 0)
767 #foreach($elem in $hmTemas)
768 #if($count < 3)
769 <div class="item_tema t_$hmTemas.size() keywords TemasTopics"><a href="/topic/-/meta/$htmlUtil.escapeURL($elem.friendlyname)">$htmlUtil.escape($elem.name)</a></div>
770 #set($count = $count + 1)
771 #end
772 #end
773 #end
774 #if($hmGeografico && $hmGeografico.size() > 0)
775 <h2 class="sectiondestacadas1" style="margin-bottom: 15px;">Localizaciones</h2><br>
776 #set($count = 0)
777 #foreach($elem in $hmGeografico)
778 #if($count < 3)
779 <div class="item_tema t_$hmGeografico.size() keywords TemasLocalizaciones"><a href="/localizaciones/-/meta/$htmlUtil.escapeURL($elem.friendlyname)">$htmlUtil.escape($elem.name)</a></div>
780 #set($count = $count + 1)
781 #end
782 #end
783 #end
784 #if($hmPersonajes && $hmPersonajes.size() > 0)
785 <h2 class="sectiondestacadas1" style="margin-bottom: 15px;">Personajes</h2><br>
786 #set($count = 0)
787 #foreach($elem in $hmPersonajes)
788 #if($count < 3)
789 <div class="item_tema t_$hmPersonajes.size() keywords TemasPersonajes"><a href="/personajes/-/meta/$htmlUtil.escapeURL($elem.friendlyname)">$htmlUtil.escape($elem.name)</a></div>
790 #set($count = $count + 1)
791 #end
792 #end
793 #end
794 #if($hmCompanies && $hmCompanies.size() > 0)
795 <h2 class="sectiondestacadas1" style="margin-bottom: 15px;">Organizaciones</h2><br>
796 #set($count = 0)
797 #foreach($elem in $hmCompanies)
798 #if($count < 3)
799 <div class="item_tema t_$hmCompanies.size() keywords TemasOrganizaciones"><a href="/organizaciones/-/meta/$htmlUtil.escapeURL($elem.friendlyname)">$htmlUtil.escape($elem.name)</a></div>
800 #set($count = $count + 1)
801 #end
802 #end
803 #end
804 </div>
805 </div>
806 </div>## /col-md-3
807
808 #php_if("getenv('ITER_UA_IS_MOBILE')==='true'")
809 <div class="rrss end d-movil" style="background: white; z-index: 3;">
810 <div class="cab-rrss">COMPARTIR</div>
811 <div class="network-social">
812 <ul class="social-options">
813 <li><a class="facebook" href="https://www.facebook.com/sharer/sharer.php?u=${uEnc}" target="_blank" rel="noopener noreferrer nofollow" title="Compartir en Facebook"><div class="fab facebook"></div></a></li>
814 <li><a class="twitter" href="https://twitter.com/intent/tweet?text=${tEnc}&url=${uEnc}" target="_blank" rel="noopener noreferrer nofollow" title="Compartir en Twitter"><div class="fab twitter"></div></a></li>
815 <li><a class="whatsapp" href="https://api.whatsapp.com/send?text=${tEnc}%20-%20${uEnc}" target="_blank" rel="noopener noreferrer nofollow" title="Compartir en Whatsapp"><div class="fab whatsapp"></div></a></li>
816 <li><a class="linkedin" href="https://www.linkedin.com/shareArticle?mini=true&url=${uEnc}" target="_blank" rel="noopener noreferrer nofollow" title="Compartir en Linkedin"><div class="fab linkedin"></div></a></li>
817 </ul>
818 </div>
819 </div>
820 #php_end
821
822 ## ── COL-MD-9 ── texto del artículo
823 <div class="col-60-40-top-one-col col-xs-12 col-md-9 col-lg-9 portlet-column nopadding" id="col-60-40-top-one-col" data-section="$htmlUtil.escape($section)" data-author="$NombreAutor" data-post-title="$htmlUtil.escape($titleClean)" data-post-id="$htmlUtil.escape($reserved-article-id.data)" data-author-id="$IDAutor">
824 #set($tempSubheadline = "#getTeaserSubheadline_v1(true)")
825 #if($tempSubheadline && $tempSubheadline != "")
826 <h2 class="subheadline">$tempSubheadline</h2>
827 #end
828
829 ## ── AD SLOT: MID-1 (publicidad-container--mid) ──
830 <div class="banner-bg">
831 <div class="publicidad-container publicidad-container--mid">
832 <span class="publicidad-label">Publicidad</span>
833 <div id="div-gpt-ad-1733161081350-0"><script>googletag.cmd.push(function() { googletag.display('div-gpt-ad-1733161081350-0'); });</script></div>
834 </div>
835 </div>
836 <div id="eww-save-post" style="display:none;"></div>
837
838 <div class="text resizable">
839 #if($section == "Politicón")
840 <div class="PoliticonNotaslogo" style="width: 300px; height: 60px; margin-bottom: 3rem;"></div>
841 #end
842 #printHTMLContentArticle_v1_latam($arrayListContenidos, "crop_1152x648_detalle", "100%", "100%", "375")
843
844 <div class="thrd-pty-wgn">
845 <a aria-label="Google News" class="thrd-pty-ch" href="https://news.google.com/publications/CAAqLQgKIidDQklTRndnTWFoTUtFWFpoYm1kMVlYSmthV0V1WTI5dExtMTRLQUFQAQ?ceid=US:es-419&oc=3" target="_blank" rel="noopener noreferrer">
846 <div class="thrd-pty-ch-ctn">
847 <div class="g-nws-tg-icon">
848 <svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
849 <rect width="48" height="48" rx="24" fill="#F1F3F4"/>
850 <rect x="0.5" y="0.5" width="47" height="47" rx="23.5" stroke="#DADCE0"/>
851 </svg>
852 <img alt="Google News" height="22" width="26" src="https://vanguardia.com.mx/binrepository/google-news-icon_1-14239467_20260119191111.png" loading="lazy">
853 </div>
854 <p class="thrd-pty-txt">Sigue a <strong>Vanguardia</strong> en Google News.</p>
855 </div>
856 <svg width="32" height="32" class="lnk-icon-arrow" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="0.5" y="0.5" width="31" height="31" rx="15.5" class="lnk-icon-arrow-rect" stroke="#C2C2C2"></rect><path class="lnk-icon-arrow-path" d="M20.8188 10.0464C20.0855 10.0464 15.031 10.0726 13.2152 10.0726C12.8137 10.0726 12.4819 10.2123 12.255 10.5615C12.0367 10.9019 12.0193 11.286 12.2288 11.6352C12.4296 11.9931 12.7613 12.1677 13.189 12.1765C14.7866 12.1677 18.3483 12.1677 18.3483 12.1677L10.3432 20.1729C9.93285 20.5832 9.93285 21.2466 10.3432 21.6569C10.7534 22.0672 11.4169 22.0672 11.8272 21.6569L19.8411 13.6431C19.8411 13.6431 19.8411 17.2048 19.8323 18.8023C19.8323 19.2213 20.0069 19.5531 20.3736 19.7626C20.7315 19.9634 21.0982 19.9459 21.4473 19.7364C21.7965 19.5094 21.9362 19.1777 21.9362 18.7761C21.9449 16.9691 21.9624 11.1725 21.9624 11.1725C21.9624 10.4742 21.5346 10.0464 20.8275 10.0377L20.8188 10.0464Z" fill="#C2C2C2"></path></svg>
857 </a>
858
859 <a aria-label="WhatsApp" class="thrd-pty-ch" href="https://whatsapp.com/channel/0029Va2n3TCA2pL9rkrqWx2b" target="_blank" rel="noopener noreferrer">
860 <div class="thrd-pty-ch-ctn">
861 <svg width="48" height="48" class="glo-wsp-icon" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="48" height="48" rx="24" fill="#02840C" fill-opacity="0.05"></rect><rect x="0.5" y="0.5" width="47" height="47" rx="23.5" stroke="#02840C" stroke-opacity="0.7"></rect><path d="M27.43 25.4144C27.15 25.2811 26.95 25.3878 26.7634 25.6277C26.5101 25.9877 26.2035 26.321 25.9369 26.6676C25.7502 26.9075 25.5369 26.9609 25.2569 26.8409C23.4972 26.1343 22.1641 24.9745 21.1909 23.3747C21.0442 23.1348 21.0576 22.9481 21.2309 22.7348C21.4842 22.4282 21.7241 22.1349 21.9241 21.8016C22.0174 21.6416 22.0707 21.3883 22.0174 21.2284C21.7108 20.4152 21.3642 19.6286 21.0176 18.8287C20.9509 18.6821 20.8176 18.4954 20.6843 18.4821C20.1377 18.3888 19.5644 18.2821 19.0978 18.7354C18.1647 19.6153 17.818 20.6951 18.058 21.9349C18.2713 23.0414 18.8979 23.948 19.5644 24.8412C20.8309 26.4943 22.2974 27.9341 24.2438 28.7873C25.1903 29.2139 26.1502 29.6405 27.2167 29.6405C27.4033 29.6405 27.5899 29.6405 27.7632 29.6005C29.1764 29.3072 30.1762 28.5073 30.1229 27.0275C30.1229 26.8809 30.0296 26.6676 29.9229 26.6143C29.0964 26.1876 28.2698 25.801 27.43 25.4144Z" fill="#02840C"></path><path d="M35.9216 22.3087C35.0951 15.6963 28.7094 11.017 22.0837 12.1768C14.4714 13.4966 10.0721 21.4288 13.0316 28.4944C13.7915 29.4943 13.5916 30.5208 13.2316 31.6273C12.765 33.0404 12.4184 34.5069 12.0051 36C12.1784 35.96 12.2984 35.9467 12.4184 35.9067C14.2581 35.4268 16.0979 34.9602 17.9109 34.4802C18.2309 34.4002 18.4708 34.4402 18.7641 34.5869C21.2571 35.8 23.8834 36.1466 26.5763 35.5601C32.7488 34.1869 36.6815 28.5744 35.895 22.3353L35.9216 22.3087ZM25.5765 33.6937C23.2168 34.0669 21.0038 33.587 18.9241 32.4005C18.7641 32.3072 18.5108 32.2672 18.3109 32.3205C17.191 32.5872 16.0712 32.8938 14.8714 33.2004C15.178 32.0539 15.458 31.0007 15.7646 29.9209C15.8446 29.6409 15.8046 29.441 15.6579 29.201C12.0051 23.3219 15.1513 15.8163 21.9237 14.2565C27.4295 12.9767 33.0421 16.7761 33.8819 22.362C34.7085 27.8279 31.0423 32.8405 25.5765 33.6937Z" fill="#02840C"></path></svg>
862 <p class="thrd-pty-txt">Noticias de <strong>Vanguardia</strong> en WhatsApp.</p>
863 </div>
864 <svg width="32" height="32" class="lnk-icon-arrow" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="0.5" y="0.5" width="31" height="31" rx="15.5" class="lnk-icon-arrow-rect" stroke="#C2C2C2"></rect><path class="lnk-icon-arrow-path" d="M20.8188 10.0464C20.0855 10.0464 15.031 10.0726 13.2152 10.0726C12.8137 10.0726 12.4819 10.2123 12.255 10.5615C12.0367 10.9019 12.0193 11.286 12.2288 11.6352C12.4296 11.9931 12.7613 12.1677 13.189 12.1765C14.7866 12.1677 18.3483 12.1677 18.3483 12.1677L10.3432 20.1729C9.93285 20.5832 9.93285 21.2466 10.3432 21.6569C10.7534 22.0672 11.4169 22.0672 11.8272 21.6569L19.8411 13.6431C19.8411 13.6431 19.8411 17.2048 19.8323 18.8023C19.8323 19.2213 20.0069 19.5531 20.3736 19.7626C20.7315 19.9634 21.0982 19.9459 21.4473 19.7364C21.7965 19.5094 21.9362 19.1777 21.9362 18.7761C21.9449 16.9691 21.9624 11.1725 21.9624 11.1725C21.9624 10.4742 21.5346 10.0464 20.8275 10.0377L20.8188 10.0464Z" fill="#C2C2C2"></path></svg>
865 </a>
866 </div>
867
868 ## ── AD SLOT: MID-2 (publicidad-container--mid) ──
869 <div class="banner-bg">
870 <div class="publicidad-container publicidad-container--mid">
871 <span class="publicidad-label">Publicidad</span>
872 <div id="div-gpt-ad-1733161131848-0"><script>googletag.cmd.push(function() { googletag.display('div-gpt-ad-1733161131848-0'); });</script></div>
873 </div>
874 </div>
875
876 <div class="temas d-movil" temas="$hmTemas.size()">
877 #if($hmTemas && $hmTemas.size() > 0)
878 <h2 class="sectiondestacadas1" style="margin-bottom: 15px;">Temas</h2><br>
879 #set($count = 0)
880 #foreach($elem in $hmTemas)
881 #if($count < 3)
882 <div class="item_tema t_$hmTemas.size() keywords TemasTopics"><a href="/topic/-/meta/$htmlUtil.escapeURL($elem.friendlyname)">$htmlUtil.escape($elem.name)</a></div>
883 #set($count = $count + 1)
884 #end
885 #end
886 <br>
887 #end
888 #if($hmGeografico && $hmGeografico.size() > 0)
889 <h2 class="sectiondestacadas1" style="margin-bottom: 15px;">Localizaciones</h2><br>
890 #set($count = 0)
891 #foreach($elem in $hmGeografico)
892 #if($count < 3)
893 <div class="item_tema t_$hmGeografico.size() keywords TemasLocalizaciones"><a href="/localizaciones/-/meta/$htmlUtil.escapeURL($elem.friendlyname)">$htmlUtil.escape($elem.name)</a></div>
894 #set($count = $count + 1)
895 #end
896 #end
897 <br>
898 #end
899 #if($hmPersonajes && $hmPersonajes.size() > 0)
900 <h2 class="sectiondestacadas1" style="margin-bottom: 15px;">Personajes</h2><br>
901 #set($count = 0)
902 #foreach($elem in $hmPersonajes)
903 #if($count < 3)
904 <div class="item_tema t_$hmPersonajes.size() keywords TemasPersonajes"><a href="/personajes/-/meta/$htmlUtil.escapeURL($elem.friendlyname)">$htmlUtil.escape($elem.name)</a></div>
905 #set($count = $count + 1)
906 #end
907 #end
908 <br>
909 #end
910 #if($hmCompanies && $hmCompanies.size() > 0)
911 <h2 class="sectiondestacadas1" style="margin-bottom: 15px;">Organizaciones</h2><br>
912 #set($count = 0)
913 #foreach($elem in $hmCompanies)
914 #if($count < 3)
915 <div class="item_tema t_$hmCompanies.size() keywords TemasOrganizaciones"><a href="/organizaciones/-/meta/$htmlUtil.escapeURL($elem.friendlyname)">$htmlUtil.escape($elem.name)</a></div>
916 #set($count = $count + 1)
917 #end
918 #end
919 <br>
920 #end
921 </div>
922
923 #set($NombreAutor = "")
924 #set($IDAutor = "")
925 #if($hmAutores && $hmAutores.size() > 0)
926 #foreach($elem in $hmAutores)
927 #set($NombreAutor = $htmlUtil.escape($elem.name))
928 #set($IDAutor = $htmlUtil.escape($elem.id))
929 <div class="categoryListItem categoryPageItem" data-categoryid="$IDAutor" data-categoryname="$NombreAutor"></div>
930 #set($articuloAutor = $aboutCategoryArticles.getArticle("$elem.id"))
931 #if($articuloAutor)
932 #set($imgAuthor = $!articuloAutor.getImageTag("Image","0","crop_250x250","","","","","$htmlUtil.escape($!articuloAutor.Headline.data)","",""))
933 #if($articuloAutor.Text && $articuloAutor.Text.data && $articuloAutor.Text.data.trim() != "" && $articuloAutor.Headline && $articuloAutor.Headline.data && $articuloAutor.Headline.data.trim() != "")
934 <div style="border-top: solid 1px #80808047; margin-top: 30px;"></div>
935 <div class="author-card2">
936 <div class="row"><div class="col-12" style="display: flex; justify-content: center;">
937 <div class="media_block1" style="padding: 1rem; margin-top: 15px;">
938 <a style="width: 140px; display: flex; margin: auto;" href="/autor/-/meta/$htmlUtil.escapeURL($elem.friendlyname)" title="$htmlUtil.escape($!articuloAutor.Headline.data)">$!imgAuthor</a>
939 <a style="color: black;" href="/autor/-/meta/$htmlUtil.escapeURL($elem.friendlyname)">
940 <p style="font-size: 1.7rem; font-family: 'PT Serif', Georgia, serif; font-weight: 400; line-height: 120%; margin-top: 15px;">$htmlUtil.escape($!articuloAutor.Headline.data)</p>
941 </a>
942 </div>
943 </div></div>
944 <div class="row"><div class="col-12" style="display: flex; justify-content: center; margin-bottom: 30px;">
945 <div class="text_block">
946 #set($authorDescRaw = $!articuloAutor.Text.data)
947 #set($authorDescSafe = $authorDescRaw.replaceAll("(?i)<script[^>]*>.*?</script>", "").replaceAll("(?i)on\w+\s*=", "data-removed=").replaceAll("(?i)javascript:", ""))
948 <div class="author-description">$!authorDescSafe</div>
949 <div class="row"><div class="col-12" style="display: flex; justify-content: center;">
950 #if($articuloAutor.twitterProfile && $articuloAutor.twitterProfile.data != "")
951 #set($twitterUrl = $articuloAutor.twitterProfile.data.replaceAll("[^a-zA-Z0-9:/._-]", ""))
952 <div style="margin-right: 20px;" class="author-twitter1">
953 <a href="$htmlUtil.escape($twitterUrl)" target="_blank" rel="noopener noreferrer nofollow">
954 <svg xmlns="http://www.w3.org/2000/svg" height="1em" viewBox="0 0 512 512" style="font-size: 30px;" fill="#FF6600"><path d="M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"/></svg>
955 </a>
956 </div>
957 #end
958 #if($articuloAutor.emailAutor && $articuloAutor.emailAutor.data != "")
959 #set($emailClean = $articuloAutor.emailAutor.data.replaceAll("[^a-zA-Z0-9@._-]", ""))
960 <div class="author-email1">
961 <a href="mailto:$htmlUtil.escape($emailClean)">
962 <svg xmlns="http://www.w3.org/2000/svg" height="1em" viewBox="0 0 512 512" style="font-size: 30px;" fill="#FF6600"><path d="M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48H48zM0 176V384c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V176L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z"/></svg>
963 </a>
964 </div>
965 #end
966 </div></div>
967 </div>
968 </div></div>
969 </div>
970 #end
971 #end
972 #end
973 #end
974
975 <div class="ComentariosDR" id="eww-comments" style="display:none;"></div>
976
977 #if($Generic && $Generic.getSiblings().size() > 0)
978 <ul class="generic">
979 #foreach($el in $Generic.getSiblings())
980 <li><span class="icon"></span><a href="$htmlUtil.escape($!el.Document.data)">$htmlUtil.escape($!el.data) ($htmlUtil.escape($el.Extension.data))</a></li>
981 #end
982 </ul>
983 #end
984
985 #set($urlLink = $articleToolbox.getTag(null,"linkURL"))
986 #set($titleLink = $articleToolbox.getTag(null,"linkTitle"))
987 #if(($urlLink && $urlLink.data != "") && ($titleLink && $titleLink.data != ""))
988 #set($urlLinkClean = $urlLink.data.replaceAll("[<>\"']", ""))
989 <a class="ext_link" href="$htmlUtil.escape($urlLinkClean)" target="_blank" rel="nofollow noopener noreferrer"><strong>$htmlUtil.escape($!titleLink.data)</strong></a>
990 #end
991
992 #if($linkIntTitle && $linkIntTitle.getSiblings().size() > 0)
993 <div class="link_tpi">
994 <div class="head_int"><span class="icon"></span> TE PUEDE INTERESAR: </div>
995 #foreach($el in $linkIntTitle.getSiblings())
996 #set($intUrlClean = $el.linkIntURL.data.replaceAll("[<>\"']", ""))
997 <div class="item_int"><a href="$htmlUtil.escape($intUrlClean)">$htmlUtil.escape($!el.data)</a></div>
998 #end
999 </div>
1000 #end
1001 </div>
1002 </div>## /col-md-9
1003
1004 </div>## /row.middle(C) interior
1005
1006 </div>## /col-md-8 (B) — CORREGIDO: cierre faltante agregado
1007
1008 ## ── COL-MD-4 (D) ── sidebar lateral (ranking, newsletter, encuesta)
1009 <div class="col-60-40-top-two-col col-xs-12 col-md-4 col-lg-4 portlet-column nopadding" id="col-60-40-top-two-col">
1010 <div id="" class="portlet-boundary portlet-static-end htmlcontainer-portlet block_newsletter">
1011 <div class="move-from-a">
1012 <h2 hidden class="sectiondestacadas">Encuesta Vanguardia</h2>
1013 <div hidden id="encuesta-container" style="margin-bottom: 40px; margin-top: 40px;"></div>
1014 </div>
1015 </div>
1016 <div class="ranking_infinity lateral_secc c004_003"></div>
1017 </div>## /col-md-4 (D)
1018
1019 </div>## /row.middle(A) exterior
1020 </article>
1021
1022 ## ── AD SLOT: BOT (publicidad-container--bot) ──
1023 <div class="banner-bg">
1024 <div class="publicidad-container publicidad-container--bot">
1025 <span class="publicidad-label">Publicidad</span>
1026 <div id="div-gpt-ad-1733161178287-0"><script>googletag.cmd.push(function() { googletag.display('div-gpt-ad-1733161178287-0'); });</script></div>
1027 </div>
1028 </div>
1029
1030</div>## /container
1031</div>## /template-infinity
1032<div class="cl"></div>
1033
1034#set($urlExterna = $articleToolbox.getTag(null,"URLCanonical"))
1035#if($urlExterna && $urlExterna.data != "")
1036 #set($urlExternaData = $urlExterna.data)
1037 #set($urlExternaData = $urlExternaData.replaceAll("<.*?>",""))
1038 #set($urlExternaData = $urlExternaData.replaceAll("[\"']",""))
1039 #set($linkCanonical = {})
1040 #set($temp = $linkCanonical.put("rel","canonical"))
1041 #set($temp = $linkCanonical.put("href",$htmlUtil.escape($urlExternaData)))
1042 $iterVelocityTools.addLinkTag($linkCanonical)
1043 #set($urlmrf = "#siteUrl()$url_actual")
1044 #set($linkCanonical2 = {})
1045 #set($temp = $linkCanonical2.put("property","mrf:canonical"))
1046 #set($temp = $linkCanonical2.put("content",$htmlUtil.escape($urlmrf)))
1047 $iterVelocityTools.addMetaTag($linkCanonical2)
1048#end
1049
1050<script>
1051document.addEventListener("DOMContentLoaded",function(){
1052 var pageTitle="$!{titleClean}";
1053 document.querySelectorAll('img:not([alt]), img[alt=""]').forEach(function(img){
1054 img.setAttribute('alt',pageTitle);
1055 });
1056 document.querySelectorAll('img:not([title]), img[title=""]').forEach(function(img){
1057 img.setAttribute('title',pageTitle);
1058 });
1059 var mainImg=document.querySelector('.image_main img');
1060 if(mainImg){
1061 var ds=mainImg.getAttribute('data-src');
1062 if(ds){mainImg.src=ds;mainImg.removeAttribute('data-src');}
1063 var dss=mainImg.getAttribute('data-srcset');
1064 if(dss){mainImg.srcset=dss;mainImg.removeAttribute('data-srcset');}
1065 mainImg.setAttribute('loading','eager');
1066 mainImg.setAttribute('fetchpriority','high');
1067 mainImg.removeAttribute('decoding');
1068 mainImg.classList.remove('lazyload','lazyloading','lazyloaded');
1069 }
1070 document.querySelectorAll('.block_Parrafo_Lista').forEach(function(block){
1071 block.querySelectorAll('p').forEach(function(paragraph){
1072 if(paragraph.innerHTML.trim()===''){
1073 paragraph.style.height='20px';
1074 paragraph.style.display='block';
1075 }
1076 var boldElement=paragraph.querySelector('b');
1077 if(boldElement&&boldElement.innerHTML.trim()===''){
1078 boldElement.style.height='20px';
1079 boldElement.style.display='block';
1080 }
1081 });
1082 });
1083 if(document.body.hasAttribute('itemscope')){
1084 document.body.removeAttribute('itemscope');
1085 document.body.removeAttribute('itemtype');
1086 }
1087 document.querySelectorAll('[itemprop]').forEach(function(el){
1088 el.removeAttribute('itemprop');
1089 el.removeAttribute('itemscope');
1090 el.removeAttribute('itemtype');
1091 });
1092 document.querySelectorAll('script[type="application/ld+json"]').forEach(function(script){
1093 var content=script.textContent||"";
1094 if(script.id!=='vangdata-schema-newsarticle'&&(content.includes('"NewsArticle"')||content.includes('"Article"'))){
1095 script.remove();
1096 }
1097 });
1098 document.querySelectorAll('iframe').forEach(function(oldIframe){
1099 var src=oldIframe.src||oldIframe.getAttribute('data-src')||'';
1100 if(src.indexOf('youtube.com')>-1||src.indexOf('youtu.be')>-1){
1101 var newIframe=document.createElement('iframe');
1102 newIframe.src=src;
1103 newIframe.width=oldIframe.width||'100%';
1104 newIframe.height=oldIframe.height||'315';
1105 newIframe.frameBorder='0';
1106 newIframe.setAttribute('loading','lazy');
1107 newIframe.setAttribute('referrerpolicy','strict-origin-when-cross-origin');
1108 newIframe.setAttribute('allow','accelerometer;autoplay;clipboard-write;encrypted-media;gyroscope;picture-in-picture;web-share');
1109 newIframe.setAttribute('allowfullscreen','');
1110 newIframe.style.cssText=oldIframe.style.cssText||'max-width:100%;';
1111 if(oldIframe.className) newIframe.className=oldIframe.className;
1112 oldIframe.parentNode.replaceChild(newIframe,oldIframe);
1113 }
1114 });
1115 if(typeof isMobileEnvironment!=='undefined'&&isMobileEnvironment===false){
1116 var target=document.querySelector(".ranking_infinity");
1117 var source=document.querySelector(".infinity_ranking .iter-tabview-content");
1118 if(target&&source) target.innerHTML=source.innerHTML;
1119 }
1120});
1121</script> Selección de los editores