Producto Recomendado

Termo Camping Inox

Tempor proident qui aute consequat duis sit. Sit minim consequat veniam nisi id. Anim irure est incididunt minim. Ullamco magna id Lorem incididunt duis. Non et officia mollit cillum. In cillum enim dolor duis irure voluptate. Velit eiusmod id elit eu laborum qui voluptate. Sunt sint voluptate cupidatat fugiat do id. Ea commodo consectetur ipsum […]

Tempor proident qui aute consequat duis sit. Sit minim consequat veniam nisi id. Anim irure est incididunt minim. Ullamco magna id Lorem incididunt duis. Non et officia mollit cillum. In cillum enim dolor duis irure voluptate. Velit eiusmod id elit eu laborum qui voluptate. Sunt sint voluptate cupidatat fugiat do id. Ea commodo consectetur ipsum velit sit in est. Est eu magna fugiat nostrud cillum. Consectetur elit cillum minim dolor. Commodo ea eu ipsum nulla enim magna. Nostrud Lorem duis est in tempor nulla mollit est aliquip. Labore labore magna eiusmod qui ea fugiat consequat ad ea. Proident quis anim irure exercitation ad et anim. Amet dolore aliquip commodo magna ea commodo. Id labore anim id elit anim laboris fugiat dolore. Sit deserunt in nisi sint ex sint do. Veniam magna labore ea consectetur aliqua aute sunt veniam nisi. Occaecat ex duis Lorem nisi. Cupidatat aliquip commodo commodo irure nostrud. Ut est minim tempor esse adipisicing adipisicing anim irure cupidatat. Nostrud amet nostrud velit ad incididunt. Ea consectetur quis ut sint ut commodo laborum exercitation. Mollit incididunt amet nostrud voluptate quis. Qui quis fugiat dolor cupidatat dolore ad ea nulla. Ad culpa veniam anim Lorem nulla commodo commodo nisi commodo. Quis incididunt consectetur cupidatat aliqua esse. Incididunt esse id incididunt reprehenderit excepteur adipisicing. Deserunt aliqua velit reprehenderit excepteur voluptate amet nostrud labore ad. Anim nisi enim sit non. Sit ad ad voluptate id dolore Lorem eiusmod proident. Ullamco pariatur sit esse proident. In occaecat elit officia ipsum eu proident. Consectetur culpa ad dolore laboris dolor sunt. Laborum et Lorem excepteur est officia ea sit occaecat. Quis consectetur voluptate ut dolor cillum. Non tempor dolore adipisicing veniam dolore laboris. Ipsum exercitation amet elit aute nisi in. In esse sint ipsum anim tempor pariatur eiusmod. Dolor non proident reprehenderit ad elit aute voluptate. Cupidatat et veniam duis ex. Id non tempor elit officia elit. Sit ad culpa enim quis deserunt cillum qui. Deserunt amet ut velit sint duis. In fugiat consectetur culpa eiusmod qui consequat ea nulla. Excepteur laborum sit amet irure voluptate et magna non. Dolor consequat elit sunt non. Dolore reprehenderit labore veniam adipisicing ex voluptate. Voluptate quis irure eiusmod ipsum aute sint est.

Mas Info

El precio original era: 35,00€.El precio actual es: 30,00€.

Imac 27 - 2023

Haz tus tareas en tiempo récord gracias a este chip de última generación de Apple. No habrá presentación, juego o proyecto que se te resista

SUPERPOTENCIADO CON M3 — Haz tus tareas en tiempo récord gracias a este chip de última generación de Apple. No habrá presentación, juego o proyecto que se te resista.
PERFECTO PARA CUALQUIER ESPACIO — Este todo en uno de diseño ultrafino está disponible en siete colores deslumbrantes y queda genial lo pongas donde lo pongas.
PANTALLA ESPECTACULAR — En la pantalla Retina 4,5K de 24 pulgadas con 500 nits de brillo y 1.000 millones de colores lo verás todo con una definición y una claridad increíbles, desde películas hasta fotos. (El tamaño real de la pantalla en diagonal es de 23,5 pulgadas.)
CÁMARA Y AUDIO AVANZADOS — Disfruta de una imagen y un sonido asombrosos gracias a la cámara FaceTime HD a 1080p, el conjunto de tres micrófonos con calidad de estudio y el sistema de seis altavoces con audio espacial.
COMPATIBLE CON TUS APPS FAVORITAS — Las apps que más usas van a toda pastilla en el iMac, ya sea Microsoft 365, Adobe Creative Cloud o Zoom. Incluso puedes usar muchas de tus apps favoritas del iPhone y el iPad directamente en el iMac. (Las apps están disponibles en el App Store.)
FUNCIONA CON TODOS TUS DISPOSITIVOS APPLE — Cuando usas tus dispositivos Apple juntos, sus posibilidades se multiplican. Copia lo que quieras en el iPhone y pégalo en el iMac, o responde llamadas FaceTime y envía mensajes de texto directamente desde el iMac. Y eso es solo el principio.
ACCESORIOS MAGIC INCLUIDOS — El iMac incluye un teclado Magic Keyboard con Touch ID y un ratón Magic Mouse a juego. El sensor Touch ID es la forma más fácil, rápida y segura de desbloquear el iMac e iniciar sesión en apps y sitios web.

Mas Info

El precio original era: 2.500,00€.El precio actual es: 2.400,00€.

Pantalón Puma Ultrawave

Id velit reprehenderit est labore duis amet elit. Ea consectetur proident aliqua sunt Lorem. Id sit non exercitation dolore exercitation voluptate. Sint pariatur eiusmod sunt ut consectetur esse reprehenderit incididunt. Aliqua excepteur quis incididunt in. Enim cupidatat anim officia esse nulla proident sit sint. Ullamco nostrud elit cillum veniam non aute. Commodo cupidatat tempor magna […]

Id velit reprehenderit est labore duis amet elit. Ea consectetur proident aliqua sunt Lorem. Id sit non exercitation dolore exercitation voluptate. Sint pariatur eiusmod sunt ut consectetur esse reprehenderit incididunt. Aliqua excepteur quis incididunt in. Enim cupidatat anim officia esse nulla proident sit sint. Ullamco nostrud elit cillum veniam non aute. Commodo cupidatat tempor magna qui nisi duis. Ut occaecat sunt veniam occaecat esse ullamco et ex nulla. Excepteur quis voluptate dolore non dolore. Consequat officia et est sit ad. Elit mollit qui aliqua ut nisi. Fugiat aliqua nulla occaecat sunt consectetur in. Sint Lorem enim nulla ut sit labore Lorem. Eiusmod duis mollit cupidatat dolore. Proident esse et adipisicing ad. Laborum aute consequat amet culpa quis fugiat occaecat veniam. Irure laboris ex qui reprehenderit pariatur. Lorem nulla enim culpa amet commodo cupidatat. Aute esse occaecat adipisicing exercitation magna labore velit ea qui. Non ullamco enim nulla et. Veniam laboris aute nostrud in amet qui eiusmod velit nostrud. Sint in incididunt occaecat commodo consectetur deserunt sint. Quis commodo magna ex aliquip esse. Enim incididunt dolor amet magna. Non ex laboris sunt nulla tempor deserunt in. Eu ullamco exercitation cillum labore duis cillum cupidatat. Ad sint Lorem enim voluptate ipsum mollit velit voluptate laboris. Quis do deserunt ea ex deserunt excepteur ullamco anim. Esse eiusmod consectetur excepteur ad laborum. Consectetur occaecat aliqua ullamco quis eiusmod ad minim. Non mollit aliqua magna enim ad eu veniam laboris. Lorem pariatur duis deserunt pariatur nisi excepteur tempor excepteur. Anim laboris cillum ipsum id sunt excepteur dolore irure nostrud. Pariatur ullamco elit incididunt aliqua cupidatat eu tempor Lorem minim. Labore eu fugiat minim tempor labore consequat eiusmod. Sunt ea aliqua eu laboris laboris aliquip nostrud elit tempor. Velit eu enim incididunt laborum velit fugiat adipisicing id esse. Occaecat excepteur Lorem consequat officia laborum consectetur. Officia est exercitation in ex sit adipisicing id ullamco eiusmod. Mollit ad aliquip consequat incididunt sunt voluptate sit. Mollit proident ut aliquip nisi elit. Ex nisi dolor do culpa. Proident irure ut velit ad reprehenderit nisi ex. Mollit do ad adipisicing pariatur magna duis. Pariatur amet occaecat irure dolor. Non laborum laborum consequat officia do eiusmod labore cupidatat. Minim commodo et id commodo fugiat minim. Consequat ex nisi non ipsum tempor aute eiusmod consectetur. Ea esse aliqua voluptate sit irure elit consectetur non cupidatat.

Mas Info

El precio original era: 52,00€.El precio actual es: 48,00€.

Pantalón Cordón

Id nulla laborum pariatur laboris laboris commodo veniam ex dolore. Incididunt aute ea ex sint. Deserunt laborum eiusmod eu enim quis qui laboris. Officia in ad sunt qui labore dolore. Officia ipsum Lorem ut exercitation nostrud ipsum non enim. Incididunt do nisi consectetur occaecat et dolor ut ipsum magna. Adipisicing ullamco in enim ea mollit […]

Id nulla laborum pariatur laboris laboris commodo veniam ex dolore. Incididunt aute ea ex sint. Deserunt laborum eiusmod eu enim quis qui laboris. Officia in ad sunt qui labore dolore. Officia ipsum Lorem ut exercitation nostrud ipsum non enim. Incididunt do nisi consectetur occaecat et dolor ut ipsum magna. Adipisicing ullamco in enim ea mollit Lorem minim veniam. Esse laboris sunt voluptate occaecat laborum. Quis adipisicing ea ut et labore. Ea nisi sit ipsum nulla dolor in minim aliqua ut. Adipisicing aliqua officia nulla occaecat eiusmod ullamco. Nostrud officia dolor irure ea enim elit do Lorem. Aliquip in enim quis enim.

Ad ullamco id nulla labore et ullamco aliquip. Qui ut aliquip dolor culpa do laborum est excepteur reprehenderit. Ipsum dolor veniam non incididunt mollit nisi. Quis elit reprehenderit labore consequat veniam adipisicing laborum. Cillum cillum adipisicing non ipsum deserunt. Consequat in non in tempor.

Commodo sunt aliquip et magna reprehenderit exercitation officia. Sint et mollit velit dolore. Aliquip labore consequat id esse labore nisi laborum. Aliqua id cillum tempor sint consequat. Proident veniam in dolore eiusmod minim dolor elit non. Cillum sunt mollit adipisicing ad. In labore proident velit eu. Nisi esse sit sit consequat. Irure amet dolor voluptate cupidatat magna id laboris proident ullamco. Veniam laboris qui aliquip irure veniam aliquip minim laboris. Anim excepteur cupidatat officia eu. Mollit proident pariatur duis excepteur aute labore enim. Dolor cupidatat voluptate ex mollit est eiusmod. Ex tempor qui dolore proident minim ipsum. Excepteur nostrud aute nostrud Lorem enim dolore laboris sit. Aliquip proident minim qui deserunt Lorem incididunt quis reprehenderit. Deserunt ullamco laboris elit ut anim mollit amet esse sunt. Occaecat ad laborum do fugiat cupidatat dolore. Ex ex ut cupidatat esse occaecat deserunt occaecat. Fugiat veniam consequat aliquip exercitation veniam sint dolore est. Officia incididunt proident aliquip labore tempor esse culpa qui. Commodo anim et non tempor excepteur. Duis do labore laboris qui ut occaecat nostrud minim Lorem. Commodo mollit labore mollit minim. Do non est mollit proident eiusmod irure non. Aliquip sint sunt excepteur reprehenderit commodo exercitation labore cupidatat. Aute minim consequat proident quis commodo. Commodo nostrud aliqua aliqua aliqua qui cupidatat sint dolor aute. Labore in incididunt eu fugiat laboris labore ad voluptate. Anim ex ad ut ullamco eiusmod. Velit laboris ad fugiat nostrud Lorem.

Mas Info

39,00

eyJzb3VyY2UiOiJodHRwczovL3RlbXBsYXRlcy5veHlnZW5hZG9zLmNvbSIsImNvbXBvbmVudCI6W3siaWQiOjY0OSwibmFtZSI6ImN0X3NlY3Rpb24iLCJvcHRpb25zIjp7ImN0X2lkIjo2NDksImN0X3BhcmVudCI6MTAwMDI2LCJzZWxlY3RvciI6InNlY3Rpb24tNjQ5LTgxNiIsIm9yaWdpbmFsIjpbXSwibmljZW5hbWUiOiJzZWN0aW9uLTItODA1IiwiY2xhc3NlcyI6W10sImFjdGl2ZXNlbGVjdG9yIjpmYWxzZSwibWVkaWEiOnsicGhvbmUtcG9ydHJhaXQiOnsib3JpZ2luYWwiOnsiZGlzcGxheSI6Im5vbmUifX19fSwiZGVwdGgiOjQsImNoaWxkcmVuIjpbeyJpZCI6NjUwLCJuYW1lIjoiY3RfY29kZV9ibG9jayIsIm9wdGlvbnMiOnsiY3RfaWQiOjY1MCwiY3RfcGFyZW50Ijo2NDksInNlbGVjdG9yIjoiY29kZV9ibG9jay02NTAtODE2Iiwib3JpZ2luYWwiOnsiY29kZS1waHAiOiI8IS0tLS0+IiwiY29kZS1qcyI6ImNvbnN0IERlc2NMZW5ndGhNYXggPSAxNTUwOyAvL03DoXhpbW8gbsO6bm1lcm8gZGUgbGV0cmFzIGEgbW9zdHJhciBlbiBsYSBkZXNjcmlwY2nDs24sIC0xIHBhcmEgZGVzYWN0aXZhci5cbmNvbnN0IEV4Y2VMZW5ndGhNYXggPSAyMjU7ICAvL03DoXhpbW8gbsO6bm1lcm8gZGUgbGV0cmFzIGEgbW9zdHJhciBlbiBsb3MgZXhjZXJwdHMsIC0xIHBhcmEgZGVzYWN0aXZhci5cbmNvbnN0IFN1c3RpdHV0byA9ICcgLi5bIC4uLl0nIC8vTG8gcXVlIHJlZW1wbGF6YSBhbCBleGNlc28gZGUgdGV4dG9cbmNvbnN0IENvbnRyb2xIZWlnaHQgPSAxIC8vLTEgRGVzYWN0aXZhIGVsIGNvbnRyb2wgZGUgZXhjZXNvIGRlIHRleHRvXG4gLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuIC8qKiogTk8gY2FtYmlhciBuYWRhIGRlc2RlIGFxdcOtIGEgbm8gc2VyIHF1ZSBzZXBhcyBsbyBxdWUgaGFjZXMgKi9cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCgpPT57XG4gIGlmICh3aW5kb3cuYW5ndWxhcikgcmV0dXJuO1xuICBjb25zdCAgZHRTID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLndvbzEwLXByb2R1Y3QtZGF0b3MnKSwgcHJvRXAgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcud29vMTAtZXhjLXByaWNlJyksXG4gIGV4Y2VycHRzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLndvbzEwLXByb2R1Y3QtZXhjZXJwdCcpLCBkZXN0aW5vID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLndvbzEwLWRpdkMnKSxcbiAgZGVzUGF0aCA9ICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcud29vMTAtZGl2LXBhdGgnKSwgXG4gIGh0bWxXb28gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdodG1sJylcbiAgXG4gIGxldCByZXBlYXRlciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5veHktZHluYW1pYy1saXN0JyksXG4gICBkaXZTID0gcmVwZWF0ZXIucXVlcnlTZWxlY3RvckFsbCgnLndvbzEwLWRpdi1wcm9kdWN0bycpLCByZUJvdG9tID0gMCwgcmVUb3AgPSAwLCByZUxlZiA9IDAsIHJlVG9wUyA9IDAsIHJlTGVmUyA9IDAsXG4gICBzdGlsb3MgPSBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy53b28xMC1iZy1pbWFnZW4nKVsxXSksIFxuICAgcmV0cmFzbyA9ICBOdW1iZXIoc3RpbG9zLmdldFByb3BlcnR5VmFsdWUoJ3RyYW5zaXRpb24tZHVyYXRpb24nKS5yZXBsYWNlKFwic1wiLFwiXCIpKSAqMTAwMCwgaW5kZXggPSAwXG5cbiAgY29uc3QgYWNvcnRhID0gKGNvbmp1bnRvLCBsTWF4KSA9PntcbiAgICBmb3IocHJFIG9mIGNvbmp1bnRvKVxuICAgICAgaWYocHJFLmlubmVyVGV4dC5sZW5ndGggPiBsTWF4ICYmIGxNYXggPiAwKVxuICAgICAgICAgIHByRS5pbm5lclRleHQgPSAgcHJFLmlubmVyVGV4dC5zdWJzdHJpbmcoMCwgbE1heCkgKyBTdXN0aXR1dG9cbiAgfVxuXG5pZihFeGNlTGVuZ3RoTWF4ICE9IC0xKSAgXG4gICBhY29ydGEoZXhjZXJwdHMsIEV4Y2VMZW5ndGhNYXgpXG5cbiAgY29uc3QgYWRhcHRhID0gKGNvbmopPT57XG4gICAgbGV0IGhNYXggPSAwXG4gICAgY29uai5mb3JFYWNoKChvYmopPT57XG4gICAgaWYob2JqLmNsaWVudEhlaWdodCA+IGhNYXgpXG4gICAgICBoTWF4ID0gb2JqLmNsaWVudEhlaWdodFxuICB9KVxuICBmb3Iob2Igb2YgY29uailcbiAgICBvYi5zdHlsZS5oZWlnaHQgPSBoTWF4ICsgJ3B4J1xuICB9XG4gIGFkYXB0YShwcm9FcClcbiAgYWRhcHRhKGR0UylcbiAgYWRhcHRhKGRpdlMpXG5cbiAgcHJpbnRQYXRoID0gKG9yaWdlbik9PntcbiAgICAgIGRlc1BhdGguaW5uZXJIVE1MID0gb3JpZ2VuLmlubmVySFRNTFxuICB9XG5cbiBjb25zdCBjYWxjUmVjdHMgPSAoYWN0dWFsKT0+e1xuICAgcmVjdCA9IGRlc3Rpbm8ucXVlcnlTZWxlY3RvcignLndvbzEwLWJnLWltYWdlbicpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpXG4gICByZUJvdG9tID0gcmVjdC5ib3R0b21cbiAgIHJlVG9wID0gcmVjdC50b3BcbiAgIHJlTGVmID0gcmVjdC5sZWZ0XG4gICByZWN0UyA9IGFjdHVhbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSBcbiAgIHJlVG9wUyA9IHJlY3RTLnRvcFxuICAgcmVMZWZTID0gcmVjdFMubGVmdFxuICB9XG5cbiAgYWNjaW9uID0gZnVuY3Rpb24obWlEaXYsaW5kZXgpe1xuICAgIGxldCBwcm9kdWN0byA9IHJlcGVhdGVyLmNoaWxkcmVuW2luZGV4XSxcbiAgICAgICAgY29waWFSZXBlYXRlciA9IG1pRGl2LmNsb25lTm9kZSh0cnVlKSwgaW1hZ2VuID0gbWlEaXYucXVlcnlTZWxlY3RvcignLndvbzEwLWJnLWltYWdlbicpLCBcbiAgICAgICAgaW1hZ0Rlc3QgPSBkZXN0aW5vLnF1ZXJ5U2VsZWN0b3IoJy53b28xMC1iZy1pbWFnZW4nKSwgXG4gICAgICAgIHJlY3REaXYgPSBtaURpdi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSwgXG4gICAgICAgIGVzY2FsYSA9IGltYWdEZXN0Lm9mZnNldFdpZHRoIC8gaW1hZ2VuLm9mZnNldFdpZHRoXG4gICAgICAgIGFycmliYSA9IHJlQm90b20gLSByZVRvcFMgLSAgKHJlQm90b20gLSByZVRvcCksIFxuICAgICAgICBsYXRlcmFsID0gcmVMZWYgLSByZWN0RGl2LmxlZnRcbiAgICAgIFxuICAgIGNvcGlhUmVwZWF0ZXIuaWQgPSBjb3BpYVJlcGVhdGVyLmlkICsgJy1TdXAnXG4gICAgaW1hZ2VuLnN0eWxlLnRyYW5zZm9ybSA9ICd0cmFuc2xhdGUoICcrbGF0ZXJhbCsncHgsICcrIGFycmliYSArJ3B4KSBzY2FsZSgnK2VzY2FsYSsnKSdcbiAgICByZXBlYXRlci5zdHlsZS5wb2ludGVyRXZlbnRzPSAnbm9uZSc7XG5cbiAgICBzZXRUaW1lb3V0KCgpPT57IFxuICAgICAgcHJpbnRQYXRoKHByb2R1Y3RvLnF1ZXJ5U2VsZWN0b3IoJy53b28xMC1wYXRoJykpXG4gICAgICBkZXN0aW5vLmFwcGVuZENoaWxkKGNvcGlhUmVwZWF0ZXIpXG4gICAgICBwcm9kdWN0by5yZW1vdmVDaGlsZChyZXBlYXRlci5jaGlsZHJlbltpbmRleF0uZmlyc3RDaGlsZClcbiAgICAgIHByb2R1Y3RvLmFwcGVuZENoaWxkKGNvcGlhU3VwZXJpb3IpXG4gICAgICBjb3BpYVN1cGVyaW9yPSBjb3BpYVJlcGVhdGVyXG4gICAgICBwcm9kdWN0by5zdHlsZS5vcGFjaXR5ID0gMVxuICAgICAgbGV0IGNhID0gcHJvZHVjdG8uZmlyc3RDaGlsZCBcbiAgICAgIGNhLmlkID0gY2EuaWQucmVwbGFjZSgnLVN1cCcsJycpXG4gICAgICByZXBlYXRlci5zdHlsZS5wb2ludGVyRXZlbnRzPSAnYXV0bydcbiAgICAgIGh0bWxXb28uY2xhc3NMaXN0LmFkZCgnbW92aW1pZW50bycpXG4gICAgfSwgcmV0cmFzbykgICAgXG5cbiAgICBzZXRUaW1lb3V0KCgpPT57XG4gICAgICBodG1sV29vLmNsYXNzTGlzdC5yZW1vdmUoJ21vdmltaWVudG8nKVxuICAgIH0sIHJldHJhc28gKyAocmV0cmFzbyAqIDAuNSkpICAgICBcbiAgfVxuICAgXG4gIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywoZXZ0KT0+e1xuICAgIG9iamV0aXZvID0gZXZ0LnRhcmdldFxuICAgIGlmKCBvYmpldGl2by5jbG9zZXN0KCcud29vMTAtZGl2QycpKSBcbiAgICAgIHJldHVybiBcbiAgICBpZihvYmpldGl2by5jbG9zZXN0KCcud29vMTAtZGl2LXByb2R1Y3RvJykgKXsgXG4gICAgICBtaURpdiA9IG9iamV0aXZvLmNsb3Nlc3QoJy53b28xMC1kaXYtcHJvZHVjdG8nKVxuICAgICAgcmVwZWF0ZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcub3h5LWR5bmFtaWMtbGlzdCcpXG4gICAgICBkaXZTID0gcmVwZWF0ZXIucXVlcnlTZWxlY3RvckFsbCgnLndvbzEwLWRpdi1wcm9kdWN0bycpXG4gICAgICBmb3IobGV0IGkgPSAwOyBpIDwgZGl2Uy5sZW5ndGg7IGkrKylcbiAgICAgICAgICBpZihkaXZTW2ldID09IG1pRGl2KVxuICAgICAgICAgICAgaW5kZXggPSBpXG4gICAgICBcbiAgICAgIGNhbGNSZWN0cyhtaURpdilcbiAgICAgIGFjY2lvbihtaURpdixpbmRleClcbiAgICB9XG4gIH0pXG4gZGVzdGluby5hcHBlbmRDaGlsZChkaXZTWzBdKVxuIHJlcGVhdGVyLnJlbW92ZUNoaWxkKHJlcGVhdGVyLmZpcnN0Q2hpbGQpXG4gcHJpbnRQYXRoKGRpdlNbMF0ucXVlcnlTZWxlY3RvcignLndvbzEwLXBhdGgnKSlcbiBjb3BpYVN1cGVyaW9yID0gZGl2U1swXVxuIGRlc3Rpbm8uZmlyc3RDaGlsZC5pZCA9IGRlc3Rpbm8uZmlyc3RDaGlsZC5pZCArICctU3VwJ1xuXG4gY29uc3QgZGVzY1JzID0gZGVzdGluby5xdWVyeVNlbGVjdG9yQWxsKCcud29vMTAtcHJvZHVjdC1kZXNjcicpIFxuIGxldCBTdW1hQWx0dXJhcyA9IDA7IFxuIGNvbnN0IEludGVybm9zID0gZGVzY1JzWzBdLnF1ZXJ5U2VsZWN0b3IoJy5veHktc3RvY2stY29udGVudC1zdHlsZXMnKS5jaGlsZHJlbjtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBJbnRlcm5vcy5sZW5ndGg7IGkrKykgXG4gICAgU3VtYUFsdHVyYXMgKz0gSW50ZXJub3NbaV0ub2Zmc2V0SGVpZ2h0O1xuXG4gaWYoRGVzY0xlbmd0aE1heCAhPSAtMSApICBcbiAgICBhY29ydGEoZGVzY1JzLCBEZXNjTGVuZ3RoTWF4KVxuXG5pZihTdW1hQWx0dXJhcyA+IGRlc2NSc1swXS5vZmZzZXRIZWlnaHQgJiYgRGVzY0xlbmd0aE1heCAhPSAtMSkgXG4gICAgICBodG1sV29vLmNsYXNzTGlzdC5hZGQoJ3RleHRvLXNjcm9sbCcpXG59KVxuIiwiY29kZS1jc3MiOiIud29vMTAtZGl2Q3tcbiAgaGVpZ2h0OiA1MDBweDtcbn1cbi53b28xMC1kaXYtcGF0aCBuYXYud29vY29tbWVyY2UtYnJlYWRjcnVtYiBhIHtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBmb250LXdlaWdodDogNjAwO1xufVxuLndvbzEwLWRpdkMgLndvbzEwLWRpdi1wcm9kdWN0b3tcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgd2lkdGg6IDEwMCU7XG4gIGdhcDogMjVweDtcbiAgYm9yZGVyOiBub25lO1xufVxuLndvbzEwLWRpdkMgLndvbzEwLWJnLWltYWdlbiB7XG4gIGhlaWdodDogMTAwJTtcbn1cbi53b28xMC1kaXZDIC53b28xMC1kaXYtcHJvZHVjdG8gLndvbzEwLXByb2R1Y3QtZGF0b3MsXG4ud29vMTAtZGl2QyAud29vMTAtZGl2LXByb2R1Y3RvIC53b28xMC1wcm9kdWN0LWRlc2NyLFxuLndvbzEwLWRpdkMgLndvbzEwLWRpdi1wcm9kdWN0byAud29vMTAtZXhjLXByaWNlIHtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi53b28xMC1kaXZDIC53b28xMC1kaXYtcHJvZHVjdG8gIHtcbiAgbWF4LWhlaWdodDogNTAwcHg7XG59XG4ud29vMTAtZGl2QyAud29vMTAtcHJvZHVjdC1kYXRvc3tcbiAgcGFkZGluZzogMDtcbn1cbi53b28xMC1kaXZDICAud29vMTAtcHJvZHVjdC1uYW1le1xuICBmb250LXNpemU6IDE2cHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IDZweDtcbn1cbi53b28xMC1kaXZDIC53b28xMC1wcm9kdWN0LWV4Y2VycHR7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ud29vMTAtZGl2LXBhdGggLndvb2NvbW1lcmNlLWJyZWFkY3J1bWIsXG4ud29vMTAtZGl2QyAud29vMTAtcHJvZHVjdC1kZXNjcixcbi53b28xMC1kaXZDIC53b28xMC1ib3Rvbi1wcmVjaW8sXG4ud29vMTAtZGl2QyAgLndvbzEwLXByb2R1Y3QtbmFtZXsgIFxuICB0cmFuc2l0aW9uOiAuNXMgZWFzZS1pbi1vdXQ7XG59XG4ud29vMTAtZGl2QyBuYXYud29vY29tbWVyY2UtYnJlYWRjcnVtYntcbiAgZGlzcGxheTogbm9uZTtcbn1cbmh0bWwudGV4dG8tc2Nyb2xsIC53b28xMC1kaXZDIC53b28xMC1wcm9kdWN0LWRlc2Nye1xuICBvdmVyZmxvdzogc2Nyb2xsICFpbXBvcnRhbnQ7XG59XG4ud29vMTAtZGl2QyAud29vMTAtcHJvZHVjdC1kZXNjciBwe1xuICBsaW5lLWhlaWdodDogMS40O1xuICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbn1cbi53b28xMC1kaXZDICAud29vMTAtcHJvZHVjdC1ib3Rvbixcbi53b28xMC1kaXZDICAud29vMTAtcHJvZHVjdC1wcmljZXtcbiAgZGlzcGxheTpmbGV4ICFpbXBvcnRhbnQ7XG59XG46cm9vdHtcbiAgLS10cmFuc2xhdGU6IDFyZW07XG59XG4vKioqKioqKioqIFRSQU5TSVRJT05TIFkgTU9WSU1JRU5UT1MgKioqKioqL1xuaHRtbC5tb3ZpbWllbnRvIC53b28xMC1kaXZDIC53b28xMC1wcm9kdWN0LW5hbWUsXG5odG1sLm1vdmltaWVudG8gLndvbzEwLWRpdkMgLndvbzEwLWJvdG9uLXByZWNpb3tcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKHZhcigtLXRyYW5zbGF0ZSkpO1xuICBvcGFjaXR5OiAwO1xufVxuaHRtbC5tb3ZpbWllbnRvIC53b28xMC1kaXYtcGF0aCAud29vY29tbWVyY2UtYnJlYWRjcnVtYixcbmh0bWwubW92aW1pZW50byAud29vMTAtZGl2QyAud29vMTAtcHJvZHVjdC1kZXNjcntcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGModmFyKC0tdHJhbnNsYXRlKSotMSkpO1xuICBvcGFjaXR5OiAwO1xufVxuaHRtbC5tb3ZpbWllbnRvIC53b28xMC1kaXZDIC53b28xMC1iZy1pbWFnZW57XG4gIG9wYWNpdHk6IDA7XG59XG5cbmRlbCBiZGl7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGNvbG9yOiByZWQ7XG59XG5pbnMgYmRpLFxuYmRpe1xuICAgIGZvbnQtc2l6ZTogMjVweDtcbn1cbmlucyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbltpZF49XCJfZHluYW1pY19saXN0XCJde1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG5cblxuLyoqKioqIEVuIE94eWdnZW4gKi9cbmh0bWwubmctc2NvcGUgLndvbzEwLXByb2R1Y3QtZGVzY3IsXG5odG1sLm5nLXNjb3BlIC53b28xMC1wcm9kdWN0LWJvdG9uLFxuaHRtbC5uZy1zY29wZSAud29vMTAtcHJvZHVjdC1wcmljZVxue1xuICBkaXNwbGF5OmZsZXggIWltcG9ydGFudDtcbn1cbiIsInVud3JhcCI6InRydWUifSwibmljZW5hbWUiOiJDb2RlIEJsb2NrICgjMykifSwiZGVwdGgiOjV9LHsiaWQiOjY1MiwibmFtZSI6ImN0X2Rpdl9ibG9jayIsIm9wdGlvbnMiOnsiY3RfaWQiOjY1MiwiY3RfcGFyZW50Ijo2NDksInNlbGVjdG9yIjoiZGl2X2Jsb2NrLTY1Mi04MTYiLCJvcmlnaW5hbCI6eyJ3aWR0aC11bml0IjoiIiwicGFkZGluZy10b3AtdW5pdCI6IiIsInBhZGRpbmctcmlnaHQtdW5pdCI6IiIsInBhZGRpbmctYm90dG9tLXVuaXQiOiIiLCJwYWRkaW5nLWxlZnQtdW5pdCI6IiIsIm1hcmdpbi10b3AtdW5pdCI6IiIsIm1hcmdpbi1yaWdodC11bml0IjoiIiwibWFyZ2luLWJvdHRvbS11bml0IjoiIiwibWFyZ2luLWxlZnQtdW5pdCI6IiIsIm1pbi13aWR0aC11bml0IjoiIiwibWF4LXdpZHRoLXVuaXQiOiIiLCJoZWlnaHQtdW5pdCI6IiIsIm1pbi1oZWlnaHQtdW5pdCI6IiIsIm1heC1oZWlnaHQtdW5pdCI6IiJ9LCJuaWNlbmFtZSI6IndvbzEwLWRpdl9oZWFkZXIiLCJjbGFzc2VzIjpbIndvbzEwLWRpdl9oZWFkZXIiXX0sImRlcHRoIjo1LCJjaGlsZHJlbiI6W3siaWQiOjY1MywibmFtZSI6ImN0X2hlYWRsaW5lIiwib3B0aW9ucyI6eyJjdF9pZCI6NjUzLCJjdF9wYXJlbnQiOjY1Miwic2VsZWN0b3IiOiJoZWFkbGluZS02NTMtODE2Iiwib3JpZ2luYWwiOnsidGFnIjoiaDMifSwibmljZW5hbWUiOiJ3b28xMC1oZWFkZXIiLCJjdF9jb250ZW50IjoiUHJvZHVjdG8gUmVjb21lbmRhZG8iLCJjbGFzc2VzIjpbIndvbzEwLWhlYWRlciJdfSwiZGVwdGgiOjZ9XX0seyJpZCI6NjUxLCJuYW1lIjoiY3RfZGl2X2Jsb2NrIiwib3B0aW9ucyI6eyJjdF9pZCI6NjUxLCJjdF9wYXJlbnQiOjY0OSwic2VsZWN0b3IiOiJkaXZfYmxvY2stNjUxLTgxNiIsIm9yaWdpbmFsIjpbXSwibmljZW5hbWUiOiJ3b28xMC1maXJzdC1jb250YWluZXIpIiwiY2xhc3NlcyI6WyJ3b28xMC1maXJzdC1jb250YWluZXIiXX0sImRlcHRoIjo1LCJjaGlsZHJlbiI6W3siaWQiOjY1NCwibmFtZSI6ImN0X2Rpdl9ibG9jayIsIm9wdGlvbnMiOnsiY3RfaWQiOjY1NCwiY3RfcGFyZW50Ijo2NTEsInNlbGVjdG9yIjoiZGl2X2Jsb2NrLTY1NC04MTYiLCJvcmlnaW5hbCI6W10sIm5pY2VuYW1lIjoid29vMTAtZGl2LXBhdGgiLCJjbGFzc2VzIjpbIndvbzEwLWRpdi1wYXRoIl0sImFjdGl2ZXNlbGVjdG9yIjoid29vMTAtZGl2LXBhdGgifSwiZGVwdGgiOjZ9LHsiaWQiOjY1NSwibmFtZSI6ImN0X2Rpdl9ibG9jayIsIm9wdGlvbnMiOnsiY3RfaWQiOjY1NSwiY3RfcGFyZW50Ijo2NTEsInNlbGVjdG9yIjoiZGl2X2Jsb2NrLTY1NS04MTYiLCJvcmlnaW5hbCI6W10sIm5pY2VuYW1lIjoid29vMTAtZGl2QyIsImNsYXNzZXMiOlsid29vMTAtZGl2QyJdLCJhY3RpdmVzZWxlY3RvciI6IndvbzEwLWRpdkMifSwiZGVwdGgiOjZ9XX0seyJpZCI6NjU2LCJuYW1lIjoib3h5X2R5bmFtaWNfbGlzdCIsIm9wdGlvbnMiOnsiY3RfaWQiOjY1NiwiY3RfcGFyZW50Ijo2NDksInNlbGVjdG9yIjoiX2R5bmFtaWNfbGlzdC02NTYtODE2Iiwib3JpZ2luYWwiOnsid3BfcXVlcnkiOiJhZHZhbmNlZCIsIndwX3F1ZXJ5X2FkdmFuY2VkX3ByZXNldCI6IkN1c3RvbSBTZXR0aW5ncyIsIndwX3F1ZXJ5X2FkdmFuY2VkIjpbeyJrZXkiOiJwb3N0X3R5cGUiLCJ2YWx1ZXMiOlt7InZhbHVlIjoicHJvZHVjdCJ9XX0seyJrZXkiOiJwb3N0c19wZXJfcGFnZSIsInZhbHVlcyI6W3sidmFsdWUiOiI0In1dfSx7ImtleSI6Im5vX2ZvdW5kX3Jvd3MiLCJ2YWx1ZXMiOlt7InZhbHVlIjoidHJ1ZSJ9XX0seyJrZXkiOiJvcmRlcmJ5IiwidmFsdWVzIjpbeyJ2YWx1ZSI6InJhbmQifV19XSwiZGlzcGxheSI6ImdyaWQiLCJncmlkLXJvdy1iZWhhdmlvciI6IkV4cGxpY2l0IiwiZ3JpZC1yb3ctbWF4LWhlaWdodCI6IjEiLCJncmlkLWNvbHVtbi1taW4td2lkdGgiOiIwIiwiX2dyaWQtYWR2YW5jZWQtYWN0aXZlIjp0cnVlLCJncmlkLWNvbHVtbi1nYXAiOiI1MCIsImdyaWQtcm93LWdhcCI6IjIwIiwiZ3JpZC1yb3ctY291bnQiOiIxIiwiZ3JpZC1jb2x1bW4tY291bnQiOiI0IiwiZ3JpZC1jb2x1bW4tbWF4LXdpZHRoLXVuaXQiOiIgIiwiZ3JpZC1jb2x1bW4tbWF4LXdpZHRoIjoiY2FsYygyNSUgLSAyMHB4KSIsImdyaWQtY29sdW1uLW1pbi13aWR0aC11bml0IjoiICIsImdyaWQtY2hpbGQtcnVsZXMiOltdLCJncmlkLWNvbHVtbnMtYXV0by1maXQiOiJ0cnVlIiwiZ3JpZC1qdXN0aWZ5LWl0ZW1zIjoiY2VudGVyIiwiZ3JpZC1tYXRjaC1oZWlnaHQtb2YtdGFsbGVzdC1jaGlsZCI6ImZhbHNlIiwibWFyZ2luLXRvcCI6IjI3Iiwid2lkdGgiOiIxMDAifSwibmljZW5hbWUiOiJSZXBlYXRlciAoIzY1NikiLCJjbGFzc2VzIjpbXSwiYWN0aXZlc2VsZWN0b3IiOiIiLCJtZWRpYSI6eyJwaG9uZS1sYW5kc2NhcGUiOnsib3JpZ2luYWwiOnsiZGlzcGxheSI6ImdyaWQiLCJncmlkLWNvbHVtbnMtYXV0by1maXQiOiJmYWxzZSIsImdyaWQtY29sdW1uLWNvdW50IjoiMyIsImdyaWQtY29sdW1uLWdhcCI6IjIifX0sInRhYmxldCI6eyJvcmlnaW5hbCI6eyJkaXNwbGF5IjoiZ3JpZCIsImdyaWQtY29sdW1ucy1hdXRvLWZpdCI6InRydWUiLCJncmlkLWNvbHVtbi1tYXgtd2lkdGgiOiJjYWxjKDMzJSAtIDIwcHgpIiwiZ3JpZC1jb2x1bW4tbWF4LXdpZHRoLXVuaXQiOiIgIn19fX0sImRlcHRoIjo1LCJjaGlsZHJlbiI6W3siaWQiOjY1NywibmFtZSI6ImN0X2Rpdl9ibG9jayIsIm9wdGlvbnMiOnsiY3RfaWQiOjY1NywiY3RfcGFyZW50Ijo2NTYsInNlbGVjdG9yIjoiZGl2X2Jsb2NrLTY1Ny04MTYiLCJvcmlnaW5hbCI6W10sIm5pY2VuYW1lIjoiZGl2IHJlcGVhdGVyIiwiY2xhc3NlcyI6W119LCJkZXB0aCI6NiwiY2hpbGRyZW4iOlt7ImlkIjo2NTgsIm5hbWUiOiJjdF9kaXZfYmxvY2siLCJvcHRpb25zIjp7ImN0X2lkIjo2NTgsImN0X3BhcmVudCI6NjU3LCJzZWxlY3RvciI6ImRpdl9ibG9jay02NTgtODE2Iiwib3JpZ2luYWwiOnsiYmFja2dyb3VuZC1pbWFnZWR5bmFtaWMiOmZhbHNlLCJjdXN0b20tY3NzIjoiY3Vyc29yOiBwb2ludGVyOyIsInBhZGRpbmctdG9wIjoiMCJ9LCJuaWNlbmFtZSI6IndvbzEwLWRpdi1wcm9kdWN0byIsImNsYXNzZXMiOlsid29vMTAtZGl2LXByb2R1Y3RvIl0sImFjdGl2ZXNlbGVjdG9yIjoid29vMTAtZGl2LXByb2R1Y3RvIn0sImRlcHRoIjo3LCJjaGlsZHJlbiI6W3siaWQiOjY1OSwibmFtZSI6ImN0X2Rpdl9ibG9jayIsIm9wdGlvbnMiOnsiY3RfaWQiOjY1OSwiY3RfcGFyZW50Ijo2NTgsInNlbGVjdG9yIjoiZGl2X2Jsb2NrLTY1OS04MTYiLCJvcmlnaW5hbCI6eyJiYWNrZ3JvdW5kLWltYWdlIjoiW294eWdlbiBjdF9zaWduX3NoYTI1Nj0nNWI4NWQ0NjNlNmFjMjIwZmM3ZmZiYTUyZGY2NDFjN2NhN2FhNTU2ZTAyYzJjNTczNWExZTM0NTMzMzVmNWU3YicgZGF0YT0nZmVhdHVyZWRfaW1hZ2UnIHNpemU9J21lZGl1bV9sYXJnZScgXSIsImJhY2tncm91bmQtaW1hZ2VkeW5hbWljIjp0cnVlLCJiYWNrZ3JvdW5kLXBvc2l0aW9uLXRvcC11bml0IjoiJSIsImJhY2tncm91bmQtc2l6ZSI6ImNvbnRhaW4iLCJiYWNrZ3JvdW5kLXBvc2l0aW9uLXRvcCI6IjUwIiwiYmFja2dyb3VuZC1wb3NpdGlvbi1sZWZ0LXVuaXQiOiIlIiwiYmFja2dyb3VuZC1wb3NpdGlvbi1sZWZ0IjoiNTAiLCJiYWNrZ3JvdW5kLXJlcGVhdCI6Im5vLXJlcGVhdCIsImN1c3RvbS1jc3MiOiJ0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsifSwibmljZW5hbWUiOiJ3b28xMC1iZy1pbWFnZW4iLCJjbGFzc2VzIjpbIndvbzEwLWJnLWltYWdlbiJdLCJhY3RpdmVzZWxlY3RvciI6ZmFsc2UsIm1lZGlhIjp7InBob25lLWxhbmRzY2FwZSI6eyJvcmlnaW5hbCI6eyJwYWRkaW5nLWxlZnQiOiI1IiwicGFkZGluZy1yaWdodCI6IjUifX19fSwiZGVwdGgiOjh9LHsiaWQiOjY2MCwibmFtZSI6ImN0X2Rpdl9ibG9jayIsIm9wdGlvbnMiOnsiY3RfaWQiOjY2MCwiY3RfcGFyZW50Ijo2NTgsInNlbGVjdG9yIjoiZGl2X2Jsb2NrLTY2MC04MTYiLCJvcmlnaW5hbCI6eyJtYXJnaW4tdG9wIjoiMCIsInRleHQtYWxpZ24iOiJsZWZ0IiwiYWxpZ24taXRlbXMiOiJjZW50ZXIiLCJwYWRkaW5nLXRvcCI6IjYifSwibmljZW5hbWUiOiJ3b28xMC1wcm9kdWN0LWRhdG9zIiwiY2xhc3NlcyI6WyJ3b28xMC1wcm9kdWN0LWRhdG9zIl19LCJkZXB0aCI6OCwiY2hpbGRyZW4iOlt7ImlkIjo2NjEsIm5hbWUiOiJveHktYnJlYWRjcnVtYiIsIm9wdGlvbnMiOnsiY3RfaWQiOjY2MSwiY3RfcGFyZW50Ijo2NjAsInNlbGVjdG9yIjoiLWJyZWFkY3J1bWItNjYxLTgxNiIsIm9yaWdpbmFsIjpbXSwibmljZW5hbWUiOiJCcmVhZGNydW1iICgjMTcwKSIsImNsYXNzZXMiOlsid29vMTAtcGF0aCJdLCJhY3RpdmVzZWxlY3RvciI6IndvbzEwLXBhdGgifSwiZGVwdGgiOjl9LHsiaWQiOjY2MiwibmFtZSI6ImN0X2hlYWRsaW5lIiwib3B0aW9ucyI6eyJjdF9pZCI6NjYyLCJjdF9wYXJlbnQiOjY2MCwic2VsZWN0b3IiOiJoZWFkbGluZS02NjItODE2Iiwib3JpZ2luYWwiOnsidGFnIjoiaDUiLCJmb250LXNpemUtdW5pdCI6ImVtIiwicGFkZGluZy1sZWZ0IjoiMCJ9LCJuaWNlbmFtZSI6IndvbzEwLXByb2R1Y3QtbmFtZSIsImN0X2NvbnRlbnQiOiI8c3BhbiBpZD1cImN0LXBsYWNlaG9sZGVyLTY2M1wiPjwvc3Bhbj4iLCJjbGFzc2VzIjpbIndvbzEwLXByb2R1Y3QtbmFtZSJdLCJhY3RpdmVzZWxlY3RvciI6IndvbzEwLXByb2R1Y3QtbmFtZSJ9LCJkZXB0aCI6OSwiY2hpbGRyZW4iOlt7ImlkIjo2NjMsIm5hbWUiOiJjdF9zcGFuIiwib3B0aW9ucyI6eyJjdF9pZCI6NjYzLCJjdF9wYXJlbnQiOjY2Miwic2VsZWN0b3IiOiJzcGFuLTY2My04MTYiLCJvcmlnaW5hbCI6W10sIm5pY2VuYW1lIjoiU3BhbiAoIzE1MikiLCJjdF9jb250ZW50IjoiW294eWdlbiBjdF9zaWduX3NoYTI1Nj0nZTdiODNlYzNlZWZlNDhlYjk4MWIzNGU1M2U5YjI3YTMzMWU1NWUwNGJiM2I5MGI3MTY1Zjk4NDc4ZTEwYTJlYicgZGF0YT0ndGl0bGUnIF0ifSwiZGVwdGgiOjEwfV19LHsiaWQiOjY2NCwibmFtZSI6ImN0X2Rpdl9ibG9jayIsIm9wdGlvbnMiOnsiY3RfaWQiOjY2NCwiY3RfcGFyZW50Ijo2NjAsInNlbGVjdG9yIjoiZGl2X2Jsb2NrLTY2NC04MTYiLCJvcmlnaW5hbCI6W10sIm5pY2VuYW1lIjoid29vMTAtZXhjLXByaWNlIiwiY2xhc3NlcyI6WyJ3b28xMC1leGMtcHJpY2UiXX0sImRlcHRoIjo5LCJjaGlsZHJlbiI6W3siaWQiOjY2NSwibmFtZSI6ImN0X3RleHRfYmxvY2siLCJvcHRpb25zIjp7ImN0X2lkIjo2NjUsImN0X3BhcmVudCI6NjY0LCJzZWxlY3RvciI6InRleHRfYmxvY2stNjY1LTgxNiIsIm9yaWdpbmFsIjp7InRhZyI6InAifSwibmljZW5hbWUiOiJ3b28xMC1wcm9kdWN0LWV4Y2VycHQiLCJjdF9jb250ZW50IjoiPHNwYW4gaWQ9XCJjdC1wbGFjZWhvbGRlci02NjZcIj48L3NwYW4+IiwiY2xhc3NlcyI6WyJ3b28xMC1wcm9kdWN0LWV4Y2VycHQiXSwiYWN0aXZlc2VsZWN0b3IiOiJ3b28xMC1wcm9kdWN0LWV4Y2VycHQifSwiZGVwdGgiOjEwLCJjaGlsZHJlbiI6W3siaWQiOjY2NiwibmFtZSI6ImN0X3NwYW4iLCJvcHRpb25zIjp7ImN0X2lkIjo2NjYsImN0X3BhcmVudCI6NjY1LCJzZWxlY3RvciI6InNwYW4tNjY2LTgxNiIsIm9yaWdpbmFsIjp7ImN1c3RvbS1jc3MiOiIgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAtd2Via2l0LWxpbmUtY2xhbXA6IDU7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7ICBcbiAgb3ZlcmZsb3c6IGhpZGRlbjsifSwibmljZW5hbWUiOiJTcGFuICgjMTU0KSIsImN0X2NvbnRlbnQiOiJbb3h5Z2VuIGN0X3NpZ25fc2hhMjU2PSc3ZTQ5YzBiYmUzM2Q1MjFmMzY3NzE5Y2Y1MTYzNWU1ZDg4MGNhZDBmOGRkMGZmMDhmYWJmZDc4MmY1NTRlNDVlJyBkYXRhPSdleGNlcnB0JyBdIn0sImRlcHRoIjoxMX1dfSx7ImlkIjo2NjcsIm5hbWUiOiJjdF90ZXh0X2Jsb2NrIiwib3B0aW9ucyI6eyJjdF9pZCI6NjY3LCJjdF9wYXJlbnQiOjY2NCwic2VsZWN0b3IiOiJ0ZXh0X2Jsb2NrLTY2Ny04MTYiLCJvcmlnaW5hbCI6W10sIm5pY2VuYW1lIjoid29vMTAtcHJvZHVjdC1kZXNjciIsImN0X2NvbnRlbnQiOiI8c3BhbiBpZD1cImN0LXBsYWNlaG9sZGVyLTY2OFwiPjwvc3Bhbj4iLCJjbGFzc2VzIjpbIndvbzEwLXByb2R1Y3QtZGVzY3IiXSwiYWN0aXZlc2VsZWN0b3IiOiJ3b28xMC1wcm9kdWN0LWRlc2NyIn0sImRlcHRoIjoxMCwiY2hpbGRyZW4iOlt7ImlkIjo2NjgsIm5hbWUiOiJjdF9zcGFuIiwib3B0aW9ucyI6eyJjdF9pZCI6NjY4LCJjdF9wYXJlbnQiOjY2Nywic2VsZWN0b3IiOiJzcGFuLTY2OC04MTYiLCJvcmlnaW5hbCI6W10sIm5pY2VuYW1lIjoiU3BhbiAoIzQyMykiLCJjdF9jb250ZW50IjoiW294eWdlbiBjdF9zaWduX3NoYTI1Nj0nOWFiZmQ2NzRhYmI2ZGRlNThhMmVlYTQ1MzM1NTBmMTJiYTJmNDM0MGRjODBjYzdhMjFhNjU1MWM4ZjkxNjNjYScgZGF0YT0nY29udGVudCcgXSIsImNsYXNzZXMiOlsib3h5LXN0b2NrLWNvbnRlbnQtc3R5bGVzIl19LCJkZXB0aCI6MTF9XX0seyJpZCI6NjY5LCJuYW1lIjoiY3RfZGl2X2Jsb2NrIiwib3B0aW9ucyI6eyJjdF9pZCI6NjY5LCJjdF9wYXJlbnQiOjY2NCwic2VsZWN0b3IiOiJkaXZfYmxvY2stNjY5LTgxNiIsIm9yaWdpbmFsIjp7IndpZHRoLXVuaXQiOiIlIn0sIm5pY2VuYW1lIjoid29vMTAtYm90b24tcHJlY2lvIiwiY2xhc3NlcyI6WyJ3b28xMC1ib3Rvbi1wcmVjaW8iXSwiYWN0aXZlc2VsZWN0b3IiOiJ3b28xMC1ib3Rvbi1wcmVjaW8ifSwiZGVwdGgiOjEwLCJjaGlsZHJlbiI6W3siaWQiOjY3MCwibmFtZSI6ImN0X2xpbmtfdGV4dCIsIm9wdGlvbnMiOnsiY3RfaWQiOjY3MCwiY3RfcGFyZW50Ijo2NjksInNlbGVjdG9yIjoibGlua190ZXh0LTY3MC04MTYiLCJvcmlnaW5hbCI6eyJ1cmwiOiJbb3h5Z2VuIGN0X3NpZ25fc2hhMjU2PSdmZmE2NWE1MDFiOTZkMjY3YmVjZTRjYTQzYmM4ZDAxMzUyNDNjY2U5MWYzOTU1NjMwMTlmNTVmNDZkNDFiNzhiJyBkYXRhPSdwZXJtYWxpbmsnIF0iLCJ0YXJnZXQiOiJfYmxhbmsifSwibmljZW5hbWUiOiJ3b28xMC1wcm9kdWN0LWJvdG9uIiwiY3RfY29udGVudCI6Ik1hcyBJbmZvIiwiY2xhc3NlcyI6WyJ3b28xMC1wcm9kdWN0LWJvdG9uIl19LCJkZXB0aCI6MTF9LHsiaWQiOjY3MSwibmFtZSI6Im94eS1wcm9kdWN0LXByaWNlIiwib3B0aW9ucyI6eyJjdF9pZCI6NjcxLCJjdF9wYXJlbnQiOjY2OSwic2VsZWN0b3IiOiItcHJvZHVjdC1wcmljZS02NzEtODE2Iiwib3JpZ2luYWwiOnsib3h5LXByb2R1Y3QtcHJpY2Vfc3RhY2tpbmdfbGlzdCI6InZlcnRpY2FsIn0sIm5pY2VuYW1lIjoid29vMTAtcHJvZHVjdC1wcmljZSIsImNsYXNzZXMiOlsid29vMTAtcHJvZHVjdC1wcmljZSJdfSwiZGVwdGgiOjExfV19XX1dfV19XX1dfV19XSwiY2xhc3NlcyI6eyJ3b28xMC1kaXZfaGVhZGVyIjp7ImtleSI6IndvbzEwLWRpdl9oZWFkZXIiLCJvcmlnaW5hbCI6eyJ3aWR0aC11bml0IjoiJSIsImZsZXgtZGlyZWN0aW9uIjoiY29sdW1uIiwiZGlzcGxheSI6ImZsZXgiLCJhbGlnbi1pdGVtcyI6ImNlbnRlciIsInRleHQtYWxpZ24iOiJjZW50ZXIiLCJ3aWR0aCI6IjEwMCIsInBhZGRpbmctYm90dG9tIjoiMzQifX0sIndvbzEwLWhlYWRlciI6eyJrZXkiOiJ3b28xMC1oZWFkZXIiLCJvcmlnaW5hbCI6eyJmb250LXNpemUiOiIzMCIsImZvbnQtd2VpZ2h0IjoiMzAwIiwibWFyZ2luLXRvcCI6IjE1In19LCJ3b28xMC1maXJzdC1jb250YWluZXIiOnsia2V5Ijoid29vMTAtZmlyc3QtY29udGFpbmVyIiwib3JpZ2luYWwiOnsid2lkdGgtdW5pdCI6IiUiLCJkaXNwbGF5IjoiZmxleCIsImNvbnRhaW5lci1wYWRkaW5nLXRvcCI6Ijc1IiwianVzdGlmeS1jb250ZW50IjoiZmxleC1zdGFydCIsImZsZXgtZGlyZWN0aW9uIjoiY29sdW1uIiwiY29udGFpbmVyLXBhZGRpbmctYm90dG9tIjoiNzUiLCJwb3NpdGlvbiI6InJlbGF0aXZlIiwid2lkdGgiOiIxMDAiLCJhbGlnbi1pdGVtcyI6ImNlbnRlciIsIm92ZXJmbG93IjoiaGlkZGVuIiwibWFyZ2luLXRvcCI6IjI1In19LCJ3b28xMC1kaXYtcGF0aCI6eyJrZXkiOiJ3b28xMC1kaXYtcGF0aCIsIm9yaWdpbmFsIjp7IndpZHRoLXVuaXQiOiIlIiwiZmxleC1kaXJlY3Rpb24iOiJyb3ciLCJkaXNwbGF5IjoiZmxleCIsImp1c3RpZnktY29udGVudCI6ImZsZXgtc3RhcnQiLCJ0ZXh0LWFsaWduIjoibGVmdCIsInBhZGRpbmctbGVmdCI6IjUwIiwid2lkdGgiOiIxMDAifX0sIndvbzEwLWRpdkMiOnsia2V5Ijoid29vMTAtZGl2QyIsIm9yaWdpbmFsIjp7IndpZHRoLXVuaXQiOiIlIiwiYmFja2dyb3VuZC1zaXplIjoiY292ZXIiLCJiYWNrZ3JvdW5kLXJlcGVhdCI6Im5vLXJlcGVhdCIsImRpc3BsYXkiOiJmbGV4IiwiZmxleC1kaXJlY3Rpb24iOiJyb3ciLCJnYXAiOiIyNSIsIndpZHRoIjoiMTAwIiwiYWxpZ24taXRlbXMiOiJjZW50ZXIiLCJqdXN0aWZ5LWNvbnRlbnQiOiJjZW50ZXIiLCJvdmVyZmxvdyI6ImhpZGRlbiIsInRyYW5zaXRpb24tZHVyYXRpb24iOiIuNiIsIm1hcmdpbi10b3AiOiIyMiIsInBhZGRpbmctYm90dG9tIjoiMjkiLCJtYXJnaW4tYm90dG9tIjoiMTQifX0sIndvbzEwLWRpdi1wcm9kdWN0byI6eyJrZXkiOiJ3b28xMC1kaXYtcHJvZHVjdG8iLCJvcmlnaW5hbCI6eyJ3aWR0aC11bml0IjoiJSIsImhlaWdodC11bml0IjoiJSIsInRyYW5zaXRpb24tZHVyYXRpb24iOiIuNyIsIm1pbi1oZWlnaHQiOiI0MDAiLCJtYXJnaW4tdG9wIjoiMCIsImRpc3BsYXkiOiJmbGV4In19LCJ3b28xMC1iZy1pbWFnZW4iOnsia2V5Ijoid29vMTAtYmctaW1hZ2VuIiwib3JpZ2luYWwiOnsid2lkdGgtdW5pdCI6IiUiLCJiYWNrZ3JvdW5kLXBvc2l0aW9uLWxlZnQtdW5pdCI6IiUiLCJiYWNrZ3JvdW5kLXBvc2l0aW9uLXRvcC11bml0IjoiJSIsImJhY2tncm91bmQtcmVwZWF0Ijoibm8tcmVwZWF0IiwiaGVpZ2h0IjoiMjY1IiwiYmFja2dyb3VuZC1wb3NpdGlvbi1sZWZ0IjoiNTAiLCJiYWNrZ3JvdW5kLXBvc2l0aW9uLXRvcCI6IjUwIiwiY3VzdG9tLWNzcyI6InRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0OyIsInotaW5kZXgiOiIxIiwid2lkdGgiOiIxMDAiLCJ0cmFuc2l0aW9uLWR1cmF0aW9uIjoiLjE1IiwibWF4LWhlaWdodCI6IjQ2MCJ9fSwid29vMTAtcHJvZHVjdC1kYXRvcyI6eyJrZXkiOiJ3b28xMC1wcm9kdWN0LWRhdG9zIiwib3JpZ2luYWwiOnsid2lkdGgtdW5pdCI6IiUiLCJjb2xvciI6IiM3MDcwNzAiLCJmb250LXNpemUiOiIyMiIsInBhZGRpbmctbGVmdCI6IjEwIiwicGFkZGluZy1yaWdodCI6IjEwIiwiZmxleC1kaXJlY3Rpb24iOiJjb2x1bW4iLCJkaXNwbGF5IjoiZmxleCIsImFsaWduLWl0ZW1zIjoiZmxleC1zdGFydCIsInRleHQtYWxpZ24iOiJsZWZ0IiwianVzdGlmeS1jb250ZW50IjoiZmxleC1zdGFydCIsIndpZHRoIjoiMTAwIiwibWFyZ2luLXRvcCI6IjIxIn19LCJ3b28xMC1wYXRoIjp7ImtleSI6IndvbzEwLXBhdGgiLCJtZWRpYSI6eyJwaG9uZS1sYW5kc2NhcGUiOnsib3JpZ2luYWwiOnsib3h5LWJyZWFkY3J1bWJfbmF2LXdvb2NvbW1lcmNlLWJyZWFkY3J1bWJfdHlwb2dyYXBoeV9mb250LXNpemUiOiIxMiIsIm94eS1icmVhZGNydW1iX25hdi13b29jb21tZXJjZS1icmVhZGNydW1iX3R5cG9ncmFwaHlfdGV4dC1hbGlnbiI6ImxlZnQifX19LCJvcmlnaW5hbCI6eyJkaXNwbGF5Ijoibm9uZSIsIm94eS1icmVhZGNydW1iX25hdi13b29jb21tZXJjZS1icmVhZGNydW1iX3R5cG9ncmFwaHlfZm9udC13ZWlnaHQiOiIxMDAiLCJveHktYnJlYWRjcnVtYl9uYXYtd29vY29tbWVyY2UtYnJlYWRjcnVtYl90eXBvZ3JhcGh5X2ZvbnQtc2l6ZSI6IjEyIn19LCJ3b28xMC1wcm9kdWN0LW5hbWUiOnsia2V5Ijoid29vMTAtcHJvZHVjdC1uYW1lIiwib3JpZ2luYWwiOnsiZm9udC1zaXplLXVuaXQiOiJlbSIsImZvbnQtc2l6ZSI6Ii41In19LCJ3b28xMC1leGMtcHJpY2UiOnsia2V5Ijoid29vMTAtZXhjLXByaWNlIiwib3JpZ2luYWwiOnsid2lkdGgtdW5pdCI6IiUiLCJ3aWR0aCI6IjEwMCIsImp1c3RpZnktY29udGVudCI6InNwYWNlLWJldHdlZW4iLCJmbGV4LWRpcmVjdGlvbiI6ImNvbHVtbiIsImRpc3BsYXkiOiJmbGV4IiwibWFyZ2luLXRvcCI6IjE1Iiwiei1pbmRleCI6IjEifX0sIndvbzEwLXByb2R1Y3QtZXhjZXJwdCI6eyJrZXkiOiJ3b28xMC1wcm9kdWN0LWV4Y2VycHQiLCJvcmlnaW5hbCI6eyJmb250LXNpemUtdW5pdCI6ImVtIiwid2lkdGgtdW5pdCI6IiUiLCJveHktcHJvZHVjdC1kZXNjcmlwdGlvbl9zbHVnX3BfZm9udF9zaXplLXVuaXQiOiJlbSIsImZvbnQtc2l6ZSI6Ii40NSIsIndpZHRoIjoiMTAwIiwibWFyZ2luLXRvcCI6IjAiLCJtYXJnaW4tYm90dG9tIjoiMjAiLCJveHktcHJvZHVjdC1kZXNjcmlwdGlvbl9zbHVnX3BfZm9udF9zaXplIjoiLjcifX0sIndvbzEwLXByb2R1Y3QtZGVzY3IiOnsia2V5Ijoid29vMTAtcHJvZHVjdC1kZXNjciIsIm9yaWdpbmFsIjp7Im94eS1wcm9kdWN0LWRlc2NyaXB0aW9uX3NsdWdfcF9mb250X3NpemUtdW5pdCI6ImVtIiwiZm9udC1zaXplLXVuaXQiOiJlbSIsIm94eS1wcm9kdWN0LWRlc2NyaXB0aW9uX3NsdWdfcF9mb250X3NpemUiOiIuNyIsIm94eS1wcm9kdWN0LWRlc2NyaXB0aW9uX3NsdWdfcF9mb250X3dlaWdodCI6IjMwMCIsImRpc3BsYXkiOiJub25lIiwiZm9udC1zaXplIjoiLjUiLCJiYWNrZ3JvdW5kLWNvbG9yIjoiI2ZmZmZmZiJ9fSwib3h5LXN0b2NrLWNvbnRlbnQtc3R5bGVzIjp7ImtleSI6Im94eS1zdG9jay1jb250ZW50LXN0eWxlcyIsIm9yaWdpbmFsIjp7fX0sIndvbzEwLWJvdG9uLXByZWNpbyI6eyJrZXkiOiJ3b28xMC1ib3Rvbi1wcmVjaW8iLCJvcmlnaW5hbCI6eyJ3aWR0aC11bml0IjoiJSIsIndpZHRoIjoiMTAwIiwiYWxpZ24taXRlbXMiOiJjZW50ZXIiLCJqdXN0aWZ5LWNvbnRlbnQiOiJzcGFjZS1hcm91bmQiLCJkaXNwbGF5IjoiZmxleCIsImZsZXgtZGlyZWN0aW9uIjoicm93IiwidGV4dC1hbGlnbiI6Imp1c3RpZnkifX0sIndvbzEwLXByb2R1Y3QtYm90b24iOnsia2V5Ijoid29vMTAtcHJvZHVjdC1ib3RvbiIsIm9yaWdpbmFsIjp7ImZvbnQtc2l6ZS11bml0IjoiZW0iLCJmb250LXNpemUiOiIuNiIsInBhZGRpbmctbGVmdCI6IjEwIiwicGFkZGluZy1yaWdodCI6IjEwIiwicGFkZGluZy10b3AiOiI1IiwicGFkZGluZy1ib3R0b20iOiI1IiwiYm9yZGVyLXRvcC13aWR0aCI6IjEiLCJib3JkZXItcmlnaHQtd2lkdGgiOiIxIiwiYm9yZGVyLWJvdHRvbS13aWR0aCI6IjEiLCJib3JkZXItbGVmdC13aWR0aCI6IjEiLCJib3JkZXItYWxsLXdpZHRoIjoiMSIsImJvcmRlci10b3AtY29sb3IiOiIjYTNhM2EzIiwiYm9yZGVyLXJpZ2h0LWNvbG9yIjoiI2EzYTNhMyIsImJvcmRlci1ib3R0b20tY29sb3IiOiIjYTNhM2EzIiwiYm9yZGVyLWxlZnQtY29sb3IiOiIjYTNhM2EzIiwiYm9yZGVyLWFsbC1jb2xvciI6IiNhM2EzYTMiLCJib3JkZXItdG9wLXN0eWxlIjoic29saWQiLCJib3JkZXItcmlnaHQtc3R5bGUiOiJzb2xpZCIsImJvcmRlci1ib3R0b20tc3R5bGUiOiJzb2xpZCIsImJvcmRlci1sZWZ0LXN0eWxlIjoic29saWQiLCJib3JkZXItYWxsLXN0eWxlIjoic29saWQiLCJkaXNwbGF5Ijoibm9uZSJ9fSwid29vMTAtcHJvZHVjdC1wcmljZSI6eyJrZXkiOiJ3b28xMC1wcm9kdWN0LXByaWNlIiwib3JpZ2luYWwiOnsiZm9udC1zaXplLXVuaXQiOiJlbSIsIndpZHRoLXVuaXQiOiIlIiwib3h5LXByb2R1Y3QtcHJpY2VfLXByaWNlLSAtd29vY29tbWVyY2UtUHJpY2UtYW1vdW50LSAtcHJpY2UgZGVsX3R5cG9ncmFwaHlfZm9udC1zaXplLXVuaXQiOiJlbSIsIm1hcmdpbi10b3AiOiIwIiwiZm9udC13ZWlnaHQiOiI3MDAiLCJ0ZXh0LWFsaWduIjoicmlnaHQiLCJwYWRkaW5nLWxlZnQiOiIwIiwibWFyZ2luLWxlZnQiOiIwIiwib3h5LXByb2R1Y3QtcHJpY2VfLXByaWNlLSAtd29vY29tbWVyY2UtUHJpY2UtYW1vdW50LSAtcHJpY2UgZGVsX3R5cG9ncmFwaHlfZm9udC13ZWlnaHQiOiI0MDAiLCJveHktcHJvZHVjdC1wcmljZV8tcHJpY2UgZGVsIC13b29jb21tZXJjZS1QcmljZS1hbW91bnQtIC1wcmljZSBkZWxfdHlwb2dyYXBoeV90ZXh0LWRlY29yYXRpb24iOiJsaW5lLXRocm91Z2giLCJveHktcHJvZHVjdC1wcmljZV8tcHJpY2UtIC13b29jb21tZXJjZS1QcmljZS1hbW91bnQtIC1wcmljZSBkZWxfdHlwb2dyYXBoeV90ZXh0LWRlY29yYXRpb24iOiJub25lIiwiZGlzcGxheSI6Im5vbmUifX19LCJjb2xvcnMiOnt9fQ==

{"component":{"id":649,"name":"ct_section","options":{"ct_id":649,"ct_parent":100026,"selector":"section-649-816","original":[],"nicename":"section-2-805","classes":[],"activeselector":false,"media":{"phone-portrait":{"original":{"display":"none"}}}},"depth":4,"children":[{"id":650,"name":"ct_code_block","options":{"ct_id":650,"ct_parent":649,"selector":"code_block-650-816","original":{"code-php":"<!---->","code-js":"const DescLengthMax = 1550; //Máximo núnmero de letras a mostrar en la descripción, -1 para desactivar.\nconst ExceLengthMax = 225; //Máximo núnmero de letras a mostrar en los excerpts, -1 para desactivar.\nconst Sustituto = ' ..[ ...]' //Lo que reemplaza al exceso de texto\nconst ControlHeight = 1 //-1 Desactiva el control de exceso de texto\n /***********************************/\n /*** NO cambiar nada desde aquí a no ser que sepas lo que haces */\n /***********************************/\n document.addEventListener('DOMContentLoaded',()=>{\n if (window.angular) return;\n const dtS = document.querySelectorAll('.woo10-product-datos'), proEp = document.querySelectorAll('.woo10-exc-price'),\n excerpts = document.querySelectorAll('.woo10-product-excerpt'), destino = document.querySelector('.woo10-divC'),\n desPath = document.querySelector('.woo10-div-path'), \n htmlWoo = document.querySelector('html')\n \n let repeater = document.querySelector('.oxy-dynamic-list'),\n divS = repeater.querySelectorAll('.woo10-div-producto'), reBotom = 0, reTop = 0, reLef = 0, reTopS = 0, reLefS = 0,\n stilos = getComputedStyle(document.querySelectorAll('.woo10-bg-imagen')[1]), \n retraso = Number(stilos.getPropertyValue('transition-duration').replace(\"s\",\"\")) *1000, index = 0\n\n const acorta = (conjunto, lMax) =>{\n for(prE of conjunto)\n if(prE.innerText.length > lMax && lMax > 0)\n prE.innerText = prE.innerText.substring(0, lMax) + Sustituto\n }\n\nif(ExceLengthMax != -1) \n acorta(excerpts, ExceLengthMax)\n\n const adapta = (conj)=>{\n let hMax = 0\n conj.forEach((obj)=>{\n if(obj.clientHeight > hMax)\n hMax = obj.clientHeight\n })\n for(ob of conj)\n ob.style.height = hMax + 'px'\n }\n adapta(proEp)\n adapta(dtS)\n adapta(divS)\n\n printPath = (origen)=>{\n desPath.innerHTML = origen.innerHTML\n }\n\n const calcRects = (actual)=>{\n rect = destino.querySelector('.woo10-bg-imagen').getBoundingClientRect()\n reBotom = rect.bottom\n reTop = rect.top\n reLef = rect.left\n rectS = actual.getBoundingClientRect() \n reTopS = rectS.top\n reLefS = rectS.left\n }\n\n accion = function(miDiv,index){\n let producto = repeater.children[index],\n copiaRepeater = miDiv.cloneNode(true), imagen = miDiv.querySelector('.woo10-bg-imagen'), \n imagDest = destino.querySelector('.woo10-bg-imagen'), \n rectDiv = miDiv.getBoundingClientRect(), \n escala = imagDest.offsetWidth / imagen.offsetWidth\n arriba = reBotom - reTopS - (reBotom - reTop), \n lateral = reLef - rectDiv.left\n \n copiaRepeater.id = copiaRepeater.id + '-Sup'\n imagen.style.transform = 'translate( '+lateral+'px, '+ arriba +'px) scale('+escala+')'\n repeater.style.pointerEvents= 'none';\n\n setTimeout(()=>{ \n printPath(producto.querySelector('.woo10-path'))\n destino.appendChild(copiaRepeater)\n producto.removeChild(repeater.children[index].firstChild)\n producto.appendChild(copiaSuperior)\n copiaSuperior= copiaRepeater\n producto.style.opacity = 1\n let ca = producto.firstChild \n ca.id = ca.id.replace('-Sup','')\n repeater.style.pointerEvents= 'auto'\n htmlWoo.classList.add('movimiento')\n }, retraso) \n\n setTimeout(()=>{\n htmlWoo.classList.remove('movimiento')\n }, retraso + (retraso * 0.5)) \n }\n \n document.addEventListener('click',(evt)=>{\n objetivo = evt.target\n if( objetivo.closest('.woo10-divC')) \n return \n if(objetivo.closest('.woo10-div-producto') ){ \n miDiv = objetivo.closest('.woo10-div-producto')\n repeater = document.querySelector('.oxy-dynamic-list')\n divS = repeater.querySelectorAll('.woo10-div-producto')\n for(let i = 0; i < divS.length; i++)\n if(divS[i] == miDiv)\n index = i\n \n calcRects(miDiv)\n accion(miDiv,index)\n }\n })\n destino.appendChild(divS[0])\n repeater.removeChild(repeater.firstChild)\n printPath(divS[0].querySelector('.woo10-path'))\n copiaSuperior = divS[0]\n destino.firstChild.id = destino.firstChild.id + '-Sup'\n\n const descRs = destino.querySelectorAll('.woo10-product-descr') \n let SumaAlturas = 0; \n const Internos = descRs[0].querySelector('.oxy-stock-content-styles').children;\n for (let i = 0; i < Internos.length; i++) \n SumaAlturas += Internos[i].offsetHeight;\n\n if(DescLengthMax != -1 ) \n acorta(descRs, DescLengthMax)\n\nif(SumaAlturas > descRs[0].offsetHeight && DescLengthMax != -1) \n htmlWoo.classList.add('texto-scroll')\n})\n","code-css":".woo10-divC{\n height: 500px;\n}\n.woo10-div-path nav.woocommerce-breadcrumb a {\n font-size: 15px;\n font-weight: 600;\n}\n.woo10-divC .woo10-div-producto{\n flex-direction: row;\n width: 100%;\n gap: 25px;\n border: none;\n}\n.woo10-divC .woo10-bg-imagen {\n height: 100%;\n}\n.woo10-divC .woo10-div-producto .woo10-product-datos,\n.woo10-divC .woo10-div-producto .woo10-product-descr,\n.woo10-divC .woo10-div-producto .woo10-exc-price {\n display: flex !important;\n height: 100% !important;\n margin-top: 0;\n}\n.woo10-divC .woo10-div-producto {\n max-height: 500px;\n}\n.woo10-divC .woo10-product-datos{\n padding: 0;\n}\n.woo10-divC .woo10-product-name{\n font-size: 16px;\n padding: 0;\n margin-bottom: 6px;\n}\n.woo10-divC .woo10-product-excerpt{\n display: none;\n}\n.woo10-div-path .woocommerce-breadcrumb,\n.woo10-divC .woo10-product-descr,\n.woo10-divC .woo10-boton-precio,\n.woo10-divC .woo10-product-name{ \n transition: .5s ease-in-out;\n}\n.woo10-divC nav.woocommerce-breadcrumb{\n display: none;\n}\nhtml.texto-scroll .woo10-divC .woo10-product-descr{\n overflow: scroll !important;\n}\n.woo10-divC .woo10-product-descr p{\n line-height: 1.4;\n font-size: 14px !important;\n padding-right: 15px;\n}\n.woo10-divC .woo10-product-boton,\n.woo10-divC .woo10-product-price{\n display:flex !important;\n}\n:root{\n --translate: 1rem;\n}\n/********* TRANSITIONS Y MOVIMIENTOS ******/\nhtml.movimiento .woo10-divC .woo10-product-name,\nhtml.movimiento .woo10-divC .woo10-boton-precio{\n transform: translateY(var(--translate));\n opacity: 0;\n}\nhtml.movimiento .woo10-div-path .woocommerce-breadcrumb,\nhtml.movimiento .woo10-divC .woo10-product-descr{\n transform: translateY(calc(var(--translate)*-1));\n opacity: 0;\n}\nhtml.movimiento .woo10-divC .woo10-bg-imagen{\n opacity: 0;\n}\n\ndel bdi{\n font-size: 18px;\n color: red;\n}\nins bdi,\nbdi{\n font-size: 25px;\n}\nins {\n text-decoration: none !important;\n}\n\n[id^=\"_dynamic_list\"]{\n justify-content: center;\n}\n\n\n\n/***** En Oxyggen */\nhtml.ng-scope .woo10-product-descr,\nhtml.ng-scope .woo10-product-boton,\nhtml.ng-scope .woo10-product-price\n{\n display:flex !important;\n}\n","unwrap":"true"},"nicename":"Code Block (#3)"},"depth":5},{"id":652,"name":"ct_div_block","options":{"ct_id":652,"ct_parent":649,"selector":"div_block-652-816","original":{"width-unit":"","padding-top-unit":"","padding-right-unit":"","padding-bottom-unit":"","padding-left-unit":"","margin-top-unit":"","margin-right-unit":"","margin-bottom-unit":"","margin-left-unit":"","min-width-unit":"","max-width-unit":"","height-unit":"","min-height-unit":"","max-height-unit":""},"nicename":"woo10-div_header","classes":["woo10-div_header"]},"depth":5,"children":[{"id":653,"name":"ct_headline","options":{"ct_id":653,"ct_parent":652,"selector":"headline-653-816","original":{"tag":"h3"},"nicename":"woo10-header","ct_content":"Producto Recomendado","classes":["woo10-header"]},"depth":6}]},{"id":651,"name":"ct_div_block","options":{"ct_id":651,"ct_parent":649,"selector":"div_block-651-816","original":[],"nicename":"woo10-first-container)","classes":["woo10-first-container"]},"depth":5,"children":[{"id":654,"name":"ct_div_block","options":{"ct_id":654,"ct_parent":651,"selector":"div_block-654-816","original":[],"nicename":"woo10-div-path","classes":["woo10-div-path"],"activeselector":"woo10-div-path"},"depth":6},{"id":655,"name":"ct_div_block","options":{"ct_id":655,"ct_parent":651,"selector":"div_block-655-816","original":[],"nicename":"woo10-divC","classes":["woo10-divC"],"activeselector":"woo10-divC"},"depth":6}]},{"id":656,"name":"oxy_dynamic_list","options":{"ct_id":656,"ct_parent":649,"selector":"_dynamic_list-656-816","original":{"wp_query":"advanced","wp_query_advanced_preset":"Custom Settings","wp_query_advanced":[{"key":"post_type","values":[{"value":"product"}]},{"key":"posts_per_page","values":[{"value":"4"}]},{"key":"no_found_rows","values":[{"value":"true"}]},{"key":"orderby","values":[{"value":"rand"}]}],"display":"grid","grid-row-behavior":"Explicit","grid-row-max-height":"1","grid-column-min-width":"0","_grid-advanced-active":true,"grid-column-gap":"50","grid-row-gap":"20","grid-row-count":"1","grid-column-count":"4","grid-column-max-width-unit":" ","grid-column-max-width":"calc(25% - 20px)","grid-column-min-width-unit":" ","grid-child-rules":[],"grid-columns-auto-fit":"true","grid-justify-items":"center","grid-match-height-of-tallest-child":"false","margin-top":"27","width":"100"},"nicename":"Repeater (#656)","classes":[],"activeselector":"","media":{"phone-landscape":{"original":{"display":"grid","grid-columns-auto-fit":"false","grid-column-count":"3","grid-column-gap":"2"}},"tablet":{"original":{"display":"grid","grid-columns-auto-fit":"true","grid-column-max-width":"calc(33% - 20px)","grid-column-max-width-unit":" "}}}},"depth":5,"children":[{"id":657,"name":"ct_div_block","options":{"ct_id":657,"ct_parent":656,"selector":"div_block-657-816","original":[],"nicename":"div repeater","classes":[]},"depth":6,"children":[{"id":658,"name":"ct_div_block","options":{"ct_id":658,"ct_parent":657,"selector":"div_block-658-816","original":{"background-imagedynamic":false,"custom-css":"cursor: pointer;","padding-top":"0"},"nicename":"woo10-div-producto","classes":["woo10-div-producto"],"activeselector":"woo10-div-producto"},"depth":7,"children":[{"id":659,"name":"ct_div_block","options":{"ct_id":659,"ct_parent":658,"selector":"div_block-659-816","original":{"background-image":"https://templates.oxygenados.com/wp-content/uploads/2024/01/10-Woo.webp","background-imagedynamic":true,"background-position-top-unit":"%","background-size":"contain","background-position-top":"50","background-position-left-unit":"%","background-position-left":"50","background-repeat":"no-repeat","custom-css":"transform-origin: top left;"},"nicename":"woo10-bg-imagen","classes":["woo10-bg-imagen"],"activeselector":false,"media":{"phone-landscape":{"original":{"padding-left":"5","padding-right":"5"}}}},"depth":8},{"id":660,"name":"ct_div_block","options":{"ct_id":660,"ct_parent":658,"selector":"div_block-660-816","original":{"margin-top":"0","text-align":"left","align-items":"center","padding-top":"6"},"nicename":"woo10-product-datos","classes":["woo10-product-datos"]},"depth":8,"children":[{"id":661,"name":"oxy-breadcrumb","options":{"ct_id":661,"ct_parent":660,"selector":"-breadcrumb-661-816","original":[],"nicename":"Breadcrumb (#170)","classes":["woo10-path"],"activeselector":"woo10-path"},"depth":9},{"id":662,"name":"ct_headline","options":{"ct_id":662,"ct_parent":660,"selector":"headline-662-816","original":{"tag":"h5","font-size-unit":"em","padding-left":"0"},"nicename":"woo10-product-name","ct_content":"<span id=\"ct-placeholder-663\"></span>","classes":["woo10-product-name"],"activeselector":"woo10-product-name"},"depth":9,"children":[{"id":663,"name":"ct_span","options":{"ct_id":663,"ct_parent":662,"selector":"span-663-816","original":[],"nicename":"Span (#152)","ct_content":"10 - Woo"},"depth":10}]},{"id":664,"name":"ct_div_block","options":{"ct_id":664,"ct_parent":660,"selector":"div_block-664-816","original":[],"nicename":"woo10-exc-price","classes":["woo10-exc-price"]},"depth":9,"children":[{"id":665,"name":"ct_text_block","options":{"ct_id":665,"ct_parent":664,"selector":"text_block-665-816","original":{"tag":"p"},"nicename":"woo10-product-excerpt","ct_content":"<span id=\"ct-placeholder-666\"></span>","classes":["woo10-product-excerpt"],"activeselector":"woo10-product-excerpt"},"depth":10,"children":[{"id":666,"name":"ct_span","options":{"ct_id":666,"ct_parent":665,"selector":"span-666-816","original":{"custom-css":" display: -webkit-box;\n -webkit-line-clamp: 5;\n -webkit-box-orient: vertical; \n overflow: hidden;"},"nicename":"Span (#154)","ct_content":"Toma cuatro productos de forma aleatoria. De manera automática previene el exceso de texto que se pueda incluir en la descripción para que no desborde el div superior que lo contiene. Se puede configurar el número máximo de caracteres que aparecerán en div de descripción. También se puede desactivar esta funcionalidad. Se puede configurar el […]"},"depth":11}]},{"id":667,"name":"ct_text_block","options":{"ct_id":667,"ct_parent":664,"selector":"text_block-667-816","original":[],"nicename":"woo10-product-descr","ct_content":"<span id=\"ct-placeholder-668\"></span>","classes":["woo10-product-descr"],"activeselector":"woo10-product-descr"},"depth":10,"children":[{"id":668,"name":"ct_span","options":{"ct_id":668,"ct_parent":667,"selector":"span-668-816","original":[],"nicename":"Span (#423)","ct_content":"

Toma cuatro productos de forma aleatoria.
De manera automática previene el exceso de texto que se pueda incluir en la descripción para que no desborde el div superior que lo contiene.
Se puede configurar el número máximo de caracteres que aparecerán en div de descripción.
También se puede desactivar esta funcionalidad.
Se puede configurar el número máximo de caracteres que aparecerán en div de excerpt de cada producto.
Se puede configurar que caracteres o qué texto reemplazará el exceso de texto en las circunstancias anteriores.
- Ver las instrucciones para cambiar estas funcionalidades.
En responsive de menos de 480px no se mostrará puesto que no tiene sentido alguno.

","classes":["oxy-stock-content-styles"]},"depth":11}]},{"id":669,"name":"ct_div_block","options":{"ct_id":669,"ct_parent":664,"selector":"div_block-669-816","original":{"width-unit":"%"},"nicename":"woo10-boton-precio","classes":["woo10-boton-precio"],"activeselector":"woo10-boton-precio"},"depth":10,"children":[{"id":670,"name":"ct_link_text","options":{"ct_id":670,"ct_parent":669,"selector":"link_text-670-816","original":{"url":"https://templates.oxygenados.com/10-woo/","target":"_blank"},"nicename":"woo10-product-boton","ct_content":"Mas Info","classes":["woo10-product-boton"]},"depth":11},{"id":671,"name":"oxy-product-price","options":{"ct_id":671,"ct_parent":669,"selector":"-product-price-671-816","original":{"oxy-product-price_stacking_list":"vertical"},"nicename":"woo10-product-price","classes":["woo10-product-price"]},"depth":11}]}]}]}]}]}]}]},"classes":{"woo10-div_header":{"key":"woo10-div_header","original":{"width-unit":"%","flex-direction":"column","display":"flex","align-items":"center","text-align":"center","width":"100","padding-bottom":"34"}},"woo10-header":{"key":"woo10-header","original":{"font-size":"30","font-weight":"300","margin-top":"15"}},"woo10-first-container":{"key":"woo10-first-container","original":{"width-unit":"%","display":"flex","container-padding-top":"75","justify-content":"flex-start","flex-direction":"column","container-padding-bottom":"75","position":"relative","width":"100","align-items":"center","overflow":"hidden","margin-top":"25"}},"woo10-div-path":{"key":"woo10-div-path","original":{"width-unit":"%","flex-direction":"row","display":"flex","justify-content":"flex-start","text-align":"left","padding-left":"50","width":"100"}},"woo10-divC":{"key":"woo10-divC","original":{"width-unit":"%","background-size":"cover","background-repeat":"no-repeat","display":"flex","flex-direction":"row","gap":"25","width":"100","align-items":"center","justify-content":"center","overflow":"hidden","transition-duration":".6","margin-top":"22","padding-bottom":"29","margin-bottom":"14"}},"woo10-div-producto":{"key":"woo10-div-producto","original":{"width-unit":"%","height-unit":"%","transition-duration":".7","min-height":"400","margin-top":"0","display":"flex"}},"woo10-bg-imagen":{"key":"woo10-bg-imagen","original":{"width-unit":"%","background-position-left-unit":"%","background-position-top-unit":"%","background-repeat":"no-repeat","height":"265","background-position-left":"50","background-position-top":"50","custom-css":"transform-origin: top left;","z-index":"1","width":"100","transition-duration":".15","max-height":"460"}},"woo10-product-datos":{"key":"woo10-product-datos","original":{"width-unit":"%","color":"#707070","font-size":"22","padding-left":"10","padding-right":"10","flex-direction":"column","display":"flex","align-items":"flex-start","text-align":"left","justify-content":"flex-start","width":"100","margin-top":"21"}},"woo10-path":{"key":"woo10-path","media":{"phone-landscape":{"original":{"oxy-breadcrumb_nav-woocommerce-breadcrumb_typography_font-size":"12","oxy-breadcrumb_nav-woocommerce-breadcrumb_typography_text-align":"left"}}},"original":{"display":"none","oxy-breadcrumb_nav-woocommerce-breadcrumb_typography_font-weight":"100","oxy-breadcrumb_nav-woocommerce-breadcrumb_typography_font-size":"12"}},"woo10-product-name":{"key":"woo10-product-name","original":{"font-size-unit":"em","font-size":".5"}},"woo10-exc-price":{"key":"woo10-exc-price","original":{"width-unit":"%","width":"100","justify-content":"space-between","flex-direction":"column","display":"flex","margin-top":"15","z-index":"1"}},"woo10-product-excerpt":{"key":"woo10-product-excerpt","original":{"font-size-unit":"em","width-unit":"%","oxy-product-description_slug_p_font_size-unit":"em","font-size":".45","width":"100","margin-top":"0","margin-bottom":"20","oxy-product-description_slug_p_font_size":".7"}},"woo10-product-descr":{"key":"woo10-product-descr","original":{"oxy-product-description_slug_p_font_size-unit":"em","font-size-unit":"em","oxy-product-description_slug_p_font_size":".7","oxy-product-description_slug_p_font_weight":"300","display":"none","font-size":".5","background-color":"#ffffff"}},"oxy-stock-content-styles":{"key":"oxy-stock-content-styles","original":{}},"woo10-boton-precio":{"key":"woo10-boton-precio","original":{"width-unit":"%","width":"100","align-items":"center","justify-content":"space-around","display":"flex","flex-direction":"row","text-align":"justify"}},"woo10-product-boton":{"key":"woo10-product-boton","original":{"font-size-unit":"em","font-size":".6","padding-left":"10","padding-right":"10","padding-top":"5","padding-bottom":"5","border-top-width":"1","border-right-width":"1","border-bottom-width":"1","border-left-width":"1","border-all-width":"1","border-top-color":"#a3a3a3","border-right-color":"#a3a3a3","border-bottom-color":"#a3a3a3","border-left-color":"#a3a3a3","border-all-color":"#a3a3a3","border-top-style":"solid","border-right-style":"solid","border-bottom-style":"solid","border-left-style":"solid","border-all-style":"solid","display":"none"}},"woo10-product-price":{"key":"woo10-product-price","original":{"font-size-unit":"em","width-unit":"%","oxy-product-price_-price- -woocommerce-Price-amount- -price del_typography_font-size-unit":"em","margin-top":"0","font-weight":"700","text-align":"right","padding-left":"0","margin-left":"0","oxy-product-price_-price- -woocommerce-Price-amount- -price del_typography_font-weight":"400","oxy-product-price_-price del -woocommerce-Price-amount- -price del_typography_text-decoration":"line-through","oxy-product-price_-price- -woocommerce-Price-amount- -price del_typography_text-decoration":"none","display":"none"}}}}

10 - Woo

Descripción

Leer Instrucciones

Toma cuatro productos de forma aleatoria, se puede cambiar esto en el Wp Query que se ha realizado en Advanced del Repeater.
De manera automática previene el exceso de texto que se pueda incluir en la descripción para que no desborde el div superior que lo contiene.


Se puede configurar:

  • El número máximo de caracteres que aparecerán en div de descripción; también se puede desactivar esta funcionalidad.
  • Número máximo de caracteres que aparecerán en div de excerpt de cada producto.
  • Qué caracteres o qué texto reemplazará el exceso de texto en las circunstancias anteriores.

Ver las instrucciones para cambiar estas funcionalidades.

Características:

  • El tamaño en altura de los divs contenedores de cada producto de la sección inferior está controlado con JavaScript, de manera que se mantenga el título y el texto alineado horizontalmente entre los tres elementos.
  • En responsive de menos de 480px no se mostrará puesto que no tiene sentido alguno.
  • Control automático del exceso de texto en el contenedor de la descripción de la sección superior.

Sería interesante dar estilo css a la barra de scroll del div contenedor de la descripción.

Cualquier duda, modificación, notificación de errores o consulta se puede hacer en nuestro grupo de Telegram, dejando un comentario o por medio de nuestro formulario en el botón de "Contacto".

Ver Instrucciones

El valor de la primera constante DescLengthMax será el que maneje la cantidad máxima de letras o caracteres que aparecerán en el div superior donde se muestra la descripción del producto, alcanzado ese máximo todo el texto siguiente será reemplazado por lo que indiquemos en el valor de Sustituto(Atención: no eliminar las comillas).

El valor de ExceLengthMax sirve exactamente lo mismo que el valor de DescLengthMax, solo que en este caso controla la cantidad de texto a mostrar en el texto que aparece justo debajo de cada imagen de cada producto de la sección inferior y que corresponde al excerpt de cada producto.

ControlHeight sirve para desactivar la funcionalidad de control automático de exceso de texto que desborde del contenedor de la descripción de la sección superior, y hace que el contenedor adquiera un over-flow: scroll.

const DescLengthMax = 1550; //Máximo núnmero de letras a mostrar en la descripción, -1 para desactivar.
const ExceLengthMax = 225;  //Máximo núnmero de letras a mostrar en los excerpts, -1 para desactivar.
const Sustituto = ' ..[ ...]' //Lo que reemplaza al exceso de texto
const ControlHeight = 1 //-1 Desactiva el control de exceso de texto
Contactar
img-3
Copiar
img-4
Copiar
Comentar
Ver todos los Templates

Recordad que esto son templates o base de template, la personalización y adaptación depende del gusto de cada una y de las exigencias de cada diseño, por lo que es imposible en una plantilla todas las opciones de cada diseño en particular.

Como siempre esperamos tus comentarios y por supuesto si tienes alguna duda o necesitas ayuda puedes contactar por nuestro grupo de Telegram o dejando un comentario.

Nos vemos en la próxima. 👌