Finanziamenti – Agevolazioni

Siamo operativi in tutta Italia

Rete 5G TIM: Primi in Italia per Internet veloce

[]
TIM 5G carousel_vantaggi_grey_bg

Perchè il 5G di TIM è il migliore

Icona Velocità

Velocità fino a 2Gbps

Il 5G TIM è la tecnologia dati iperveloce che offre prestazioni di rete mobile fino a 10 volte superiori a quelle attuali.

Icona esperienze

Esperienze in tempo reale

Gioca e chatta online con la massima reattività del VERO 5G TIM e interagisci in tempo reale per nuove esperienze immersive e coinvolgenti.

Icona qualità rete

Qualità della rete

Grazie a una capacità di rete mai vista, non dovrai più preoccuparti della qualità della navigazione e avrai sempre un posto in prima fila.

Guarda in Ultra HD

Guarda film, serie e sport in Ultra HD.

Il VERO 5G TIM consente lo streaming video live e on-demand in altissima definizione, senza interruzioni e tempi di attesa. Con il 5G TIM sei pronto per i contenuti di nuova generazione in 4K e 8K, a 360°e in Multi-View, sempre in prima fila.

Condividi in tempo reale

Condividi video e stories in tempo reale.

Il VERO 5G TIM consente il download e l’upload di contenuti di altissima qualità a una velocità senza compromessi, con dirette streaming fluide in alta definizione ed interazioni live e sincronizzazioni e back-up immediati.

Gioca alla massima reattività

Gioca e chatta in tempo reale alla massima reattività.

La migliore esperienza di gioco online, grazie alla bassissima latenza e all’ampiezza di banda del VERO 5G TIM. Giochi in streaming ad altissima definizione con comandi di gioco iper-reattivi, zero tempi di attesa, videocomunicazione istantanea con gli amici per un’esperienza di gioco più reale, immersiva e vincente.

Ascolta in alta qualità

Ascolta la tua musica in qualità HD.

Il VERO 5G TIM consente la migliore esperienza di ascolto in streaming di musica e audio ad altissima definizione, senza tempi di attesa e senza interruzioni o degrado della qualità. La migliore qualità audio, live e on-demand, grazie alla migliore rete 5G TIM.

TIM è la rete N.1 in Italia per velocità 5G e per copertura della rete mobile

N° 1 per copertura mobile: analisi di Ookla® dei dati Speedtest Intelligence® da Gennaio a Giugno 2021.

N° 1 per velocità 5G: analisi di Ookla® dei dati Speedtest Intelligence® sulle velocità di download 5G mediane in Italia da Aprile a Giugno 2021. Il Servizio 5G è in fase di attuazione ed è disponibile in alcune aree delle città raggiunte e su dispositivi abilitati.

Marchi Ookla® utilizzati su licenza e pubblicati con autorizzazione.

Lanci_ookla_offerte_desktop_840x700px = 12) { document.body.className += ((document.body.className.length) ? ” ” : “”) + “edge-” + version; } else { document.body.className += ((document.body.className.length) ? ” ” : “”) + “ie-” + version; var head = document.getElementsByTagName(“head”)[0]; var script = document.createElement(“script”); script.type = “text/javascript”; head.appendChild(script); } if (!isTouch) { document.body.className += ((document.body.className.length) ? ” ” : “”) + “touch-none”; } else { document.body.className += ((document.body.className.length) ? ” ” : “”) + “touch”; } /** * Detect version of IE browser via browser agent sniffing * @return {number} Version of Internet Explorer or 0 if none */ function detectIE() { var ua = window.navigator.userAgent; var msie = ua.indexOf(‘MSIE ‘); if (msie > 0) { return parseInt(ua.substring(msie + 5, ua.indexOf(‘.’, msie)), 10); } var trident = ua.indexOf(‘Trident/’); if (trident > 0) { var rv = ua.indexOf(‘rv:’); return parseInt(ua.substring(rv + 3, ua.indexOf(‘.’, rv)), 10); } var edge = ua.indexOf(‘Edge/’); if (edge > 0) { return parseInt(ua.substring(edge + 5, ua.indexOf(‘.’, edge)), 10); } return 0; } /* * Detect touch events */ function detectTouch() { return ((‘ontouchstart’ in window) || window.DocumentTouch && document instanceof DocumentTouch) || false; } ]]>

Tutta la velocità a tua disposizione

Rete 5G

4 secondi

Rete 4G

16 secondi

Rete 3G

22 secondi

Rete 5G

4 secondi

Rete 4G

16 secondi

Rete 3G

22 secondi

Rete 5G

4 secondi

Rete 4G

16 secondi

Rete 3G

22 secondi

I risultati del test sono solo indicativi e calcolati sulla base delle dimensioni dei file e della velocità nominale delle tecnologie Fibra e ADSL

“); ]]> { const itemToAnimateElement = document.querySelector(‘#swiper-velocita’); const isAfterInViewport = (elementRect, viewportHeight) => { return (elementRect.top >= 0 && elementRect.top { return (elementRect.top >= viewportHeight) } const isBeforeInViewport = (elementRect, viewportHeight) => { return (elementRect.bottom >= 0 && elementRect.bottom { return (elementRect.top < 0 && elementRect.bottom { return isAfterInViewport(elementRect, viewportHeight) || isBeforeInViewport(elementRect, viewportHeight); } const isFullyInViewport = (elementRect, viewportHeight) => { return (elementRect.top >= 0 && (elementRect.bottom * 0.6) { const viewportHeight = (window.innerHeight || document.documentElement.clientHeight); const itemToAnimateElementRect = itemToAnimateElement.getBoundingClientRect(); if (isFullyInViewport(itemToAnimateElementRect, viewportHeight)) { itemToAnimateElement.classList.add(‘animate’); } else if (!isInViewport(itemToAnimateElementRect, viewportHeight)) { if (isAfterViewport(itemToAnimateElementRect, viewportHeight)) { itemToAnimateElement.classList.remove(‘animate’); itemToAnimateElement.classList.remove(‘animated’); } else if (isBeforeViewport(itemToAnimateElementRect)) { itemToAnimateElement.classList.add(‘animated’); } } } window.addEventListener(‘resize’, handleIsInViewport); window.addEventListener(‘scroll’, handleIsInViewport); }); ]]> r.height ? r.style.backgroundSize = “contain” : r.style.backgroundSize = “auto” }) : r.style.backgroundSize = l[“object-fit”].replace(“none”, “auto”).replace(“fill”, “100% 100%”), e(d.img, function(e) { t(r, e.naturalWidth, e.naturalHeight) }) } function r(t, e) { var s = !d && !t; if (e = e || {}, t = t || “img”, a && !e.skipTest || !l) return !1; “img” === t ? t = document.getElementsByTagName(“img”) : “string” == typeof t ? t = document.querySelectorAll(t) : “length” in t || (t = [t]); for (var c = 0; c 0 && 0 === x.container.parents(“.” + x.params.slideActiveClass).length) return; var s = window.pageXOffset, i = window.pageYOffset, r = window.innerWidth, n = window.innerHeight, o = x.container.offset(); x.rtl && (o.left = o.left – x.container[0].scrollLeft); for (var l = [ [o.left, o.top], [o.left + x.width, o.top], [o.left, o.top + x.height], [o.left + x.width, o.top + x.height] ], p = 0; p = s && d[0] = i && d[1] <= i + n && (t = !0) } if (!t) return } x.isHorizontal() ? (37 !== a && 39 !== a || (e.preventDefault ? e.preventDefault() : e.returnValue = !1), (39 === a && !x.rtl || 37 === a && x.rtl) && x.slideNext(), (37 === a && !x.rtl || 39 === a && x.rtl) && x.slidePrev()) : (38 !== a && 40 !== a || (e.preventDefault ? e.preventDefault() : e.returnValue = !1), 40 === a && x.slideNext(), 38 === a && x.slidePrev()), x.emit("onKeyPress", x, a) } } function l(e) { e.originalEvent && (e = e.originalEvent); var a, t, s, i, r, n = 0, o = x.rtl ? -1 : 1, l = (t = 0, s = 0, i = 0, r = 0, "detail" in (a = e) && (s = a.detail), "wheelDelta" in a && (s = -a.wheelDelta / 120), "wheelDeltaY" in a && (s = -a.wheelDeltaY / 120), "wheelDeltaX" in a && (t = -a.wheelDeltaX / 120), "axis" in a && a.axis === a.HORIZONTAL_AXIS && (t = s, s = 0), i = 10 * t, r = 10 * s, "deltaY" in a && (r = a.deltaY), "deltaX" in a && (i = a.deltaX), (i || r) && a.deltaMode && (1 === a.deltaMode ? (i *= 40, r *= 40) : (i *= 800, r *= 800)), i && !t && (t = i < 1 ? -1 : 1), r && !s && (s = r Math.abs(l.pixelY))) return; n = l.pixelX * o } else { if (!(Math.abs(l.pixelY) > Math.abs(l.pixelX))) return; n = l.pixelY } else n = Math.abs(l.pixelX) > Math.abs(l.pixelY) ? -l.pixelX * o : -l.pixelY; if (0 !== n) { if (x.params.mousewheelInvert && (n = -n), x.params.freeMode) { var p = x.getWrapperTranslate() + n * x.params.mousewheelSensitivity, d = x.isBeginning, m = x.isEnd; if (p >= x.minTranslate() && (p = x.minTranslate()), p 60) if (n = 0 ? parseInt(i, 10) * t * n + “%” : i * t * n + “px”, r = r.indexOf(“%”) >= 0 ? parseInt(r, 10) * t + “%” : r * t + “px”, a.transform(“translate3d(” + i + “, ” + r + “,0px)”) } function m(e) { return 0 !== e.indexOf(“on”) && (e = e[0] !== e[0].toUpperCase() ? “on” + e[0].toUpperCase() + e.substring(1) : “on” + e), e } if (!(this instanceof d)) return new d(a, t); var u = { direction: “horizontal”, touchEventsTarget: “container”, initialSlide: 0, speed: 300, autoplay: !1, autoplayDisableOnInteraction: !0, autoplayStopOnLast: !1, iOSEdgeSwipeDetection: !1, iOSEdgeSwipeThreshold: 20, freeMode: !1, freeModeMomentum: !0, freeModeMomentumRatio: 1, freeModeMomentumBounce: !0, freeModeMomentumBounceRatio: 1, freeModeMomentumVelocityRatio: 1, freeModeSticky: !1, freeModeMinimumVelocity: .02, autoHeight: !1, setWrapperSize: !1, virtualTranslate: !1, effect: “slide”, coverflow: { rotate: 50, stretch: 0, depth: 100, modifier: 1, slideShadows: !0 }, flip: { slideShadows: !0, limitRotation: !0 }, cube: { slideShadows: !0, shadow: !0, shadowOffset: 20, shadowScale: .94 }, fade: { crossFade: !1 }, parallax: !1, zoom: !1, zoomMax: 3, zoomMin: 1, zoomToggle: !0, scrollbar: null, scrollbarHide: !0, scrollbarDraggable: !1, scrollbarSnapOnRelease: !1, keyboardControl: !1, mousewheelControl: !1, mousewheelReleaseOnEdges: !1, mousewheelInvert: !1, mousewheelForceToAxis: !1, mousewheelSensitivity: 1, mousewheelEventsTarged: “container”, hashnav: !1, hashnavWatchState: !1, history: !1, replaceState: !1, breakpoints: void 0, spaceBetween: 0, slidesPerView: 1, slidesPerColumn: 1, slidesPerColumnFill: “column”, slidesPerGroup: 1, centeredSlides: !1, slidesOffsetBefore: 0, slidesOffsetAfter: 0, roundLengths: !1, touchRatio: 1, touchAngle: 45, simulateTouch: !0, shortSwipes: !0, longSwipes: !0, longSwipesRatio: .5, longSwipesMs: 300, followFinger: !0, onlyExternal: !1, threshold: 0, touchMoveStopPropagation: !0, touchReleaseOnEdges: !1, uniqueNavElements: !0, pagination: null, paginationElement: “span”, paginationClickable: !1, paginationHide: !1, paginationBulletRender: null, paginationProgressRender: null, paginationFractionRender: null, paginationCustomRender: null, paginationType: “bullets”, resistance: !0, resistanceRatio: .85, nextButton: null, prevButton: null, watchSlidesProgress: !1, watchSlidesVisibility: !1, grabCursor: !1, preventClicks: !0, preventClicksPropagation: !0, slideToClickedSlide: !1, lazyLoading: !1, lazyLoadingInPrevNext: !1, lazyLoadingInPrevNextAmount: 1, lazyLoadingOnTransitionStart: !1, preloadImages: !0, updateOnImagesReady: !0, loop: !1, loopAdditionalSlides: 0, loopedSlides: null, control: void 0, controlInverse: !1, controlBy: “slide”, normalizeSlideIndex: !0, allowSwipeToPrev: !0, allowSwipeToNext: !0, swipeHandler: null, noSwiping: !0, noSwipingClass: “swiper-no-swiping”, passiveListeners: !0, containerModifierClass: “swiper-container-“, slideClass: “swiper-slide”, slideActiveClass: “swiper-slide-active”, slideDuplicateActiveClass: “swiper-slide-duplicate-active”, slideVisibleClass: “swiper-slide-visible”, slideDuplicateClass: “swiper-slide-duplicate”, slideNextClass: “swiper-slide-next”, slideDuplicateNextClass: “swiper-slide-duplicate-next”, slidePrevClass: “swiper-slide-prev”, slideDuplicatePrevClass: “swiper-slide-duplicate-prev”, wrapperClass: “swiper-wrapper”, bulletClass: “swiper-pagination-bullet”, bulletActiveClass: “swiper-pagination-bullet-active”, buttonDisabledClass: “swiper-button-disabled”, paginationCurrentClass: “swiper-pagination-current”, paginationTotalClass: “swiper-pagination-total”, paginationHiddenClass: “swiper-pagination-hidden”, paginationProgressbarClass: “swiper-pagination-progressbar”, paginationClickableClass: “swiper-pagination-clickable”, paginationModifierClass: “swiper-pagination-“, lazyLoadingClass: “swiper-lazy”, lazyStatusLoadingClass: “swiper-lazy-loading”, lazyStatusLoadedClass: “swiper-lazy-loaded”, lazyPreloaderClass: “swiper-lazy-preloader”, notificationClass: “swiper-notification”, preloaderClass: “preloader”, zoomContainerClass: “swiper-zoom-container”, observer: !1, observeParents: !1, a11y: !1, prevSlideMessage: “Previous slide”, nextSlideMessage: “Next slide”, firstSlideMessage: “This is the first slide”, lastSlideMessage: “This is the last slide”, paginationBulletMessage: “Go to slide {{index}}”, runCallbacksOnInit: !0 }, c = t && t.virtualTranslate; t = t || {}; var g = {}; for (var h in t) if (“object” != typeof t[h] || null === t[h] || t[h].nodeType || t[h] === window || t[h] === document || “undefined” != typeof Dom7 && t[h] instanceof Dom7 || “undefined” != typeof jQuery && t[h] instanceof jQuery) g[h] = t[h]; else for (var v in g[h] = {}, t[h]) g[h][v] = t[h][v]; for (var f in u) if (void 0 === t[f]) t[f] = u[f]; else if (“object” == typeof t[f]) for (var w in u[f]) void 0 === t[f][w] && (t[f][w] = u[f][w]); var x = this; if (x.params = t, x.originalParams = g, x.classNames = [], void 0 !== e && “undefined” != typeof Dom7 && (e = Dom7), (void 0 !== e || (e = “undefined” == typeof Dom7 ? window.Dom7 || window.Zepto || window.jQuery : Dom7)) && (x.$ = e, x.currentBreakpoint = void 0, x.getActiveBreakpoint = function() { if (!x.params.breakpoints) return !1; var e, a = !1, t = []; for (e in x.params.breakpoints) x.params.breakpoints.hasOwnProperty(e) && t.push(e); t.sort(function(e, a) { return parseInt(e, 10) > parseInt(a, 10) }); for (var s = 0; s = window.innerWidth && !a && (a = e); return a || “max” }, x.setBreakpoint = function() { var e = x.getActiveBreakpoint(); if (e && x.currentBreakpoint !== e) { var a = e in x.params.breakpoints ? x.params.breakpoints[e] : x.originalParams, t = x.params.loop && a.slidesPerView !== x.params.slidesPerView; for (var s in a) x.params[s] = a[s]; x.currentBreakpoint = e, t && x.destroyLoop && x.reLoop(!0) } }, x.params.breakpoints && x.setBreakpoint(), x.container = e(a), 0 !== x.container.length)) { if (x.container.length > 1) { var y = []; return x.container.each(function() { y.push(new d(this, t)) }), y } x.container[0].swiper = x, x.container.data(“swiper”, x), x.classNames.push(x.params.containerModifierClass + x.params.direction), x.params.freeMode && x.classNames.push(x.params.containerModifierClass + “free-mode”), x.support.flexbox || (x.classNames.push(x.params.containerModifierClass + “no-flexbox”), x.params.slidesPerColumn = 1), x.params.autoHeight && x.classNames.push(x.params.containerModifierClass + “autoheight”), (x.params.parallax || x.params.watchSlidesVisibility) && (x.params.watchSlidesProgress = !0), x.params.touchReleaseOnEdges && (x.params.resistanceRatio = 0), [“cube”, “coverflow”, “flip”].indexOf(x.params.effect) >= 0 && (x.support.transforms3d ? (x.params.watchSlidesProgress = !0, x.classNames.push(x.params.containerModifierClass + “3d”)) : x.params.effect = “slide”), “slide” !== x.params.effect && x.classNames.push(x.params.containerModifierClass + x.params.effect), “cube” === x.params.effect && (x.params.resistanceRatio = 0, x.params.slidesPerView = 1, x.params.slidesPerColumn = 1, x.params.slidesPerGroup = 1, x.params.centeredSlides = !1, x.params.spaceBetween = 0, x.params.virtualTranslate = !0), “fade” !== x.params.effect && “flip” !== x.params.effect || (x.params.slidesPerView = 1, x.params.slidesPerColumn = 1, x.params.slidesPerGroup = 1, x.params.watchSlidesProgress = !0, x.params.spaceBetween = 0, void 0 === c && (x.params.virtualTranslate = !0)), x.params.grabCursor && x.support.touch && (x.params.grabCursor = !1), x.wrapper = x.container.children(“.” + x.params.wrapperClass), x.params.pagination && (x.paginationContainer = e(x.params.pagination), x.params.uniqueNavElements && “string” == typeof x.params.pagination && x.paginationContainer.length > 1 && 1 === x.container.find(x.params.pagination).length && (x.paginationContainer = x.container.find(x.params.pagination)), “bullets” === x.params.paginationType && x.params.paginationClickable ? x.paginationContainer.addClass(x.params.paginationModifierClass + “clickable”) : x.params.paginationClickable = !1, x.paginationContainer.addClass(x.params.paginationModifierClass + x.params.paginationType)), (x.params.nextButton || x.params.prevButton) && (x.params.nextButton && (x.nextButton = e(x.params.nextButton), x.params.uniqueNavElements && “string” == typeof x.params.nextButton && x.nextButton.length > 1 && 1 === x.container.find(x.params.nextButton).length && (x.nextButton = x.container.find(x.params.nextButton))), x.params.prevButton && (x.prevButton = e(x.params.prevButton), x.params.uniqueNavElements && “string” == typeof x.params.prevButton && x.prevButton.length > 1 && 1 === x.container.find(x.params.prevButton).length && (x.prevButton = x.container.find(x.params.prevButton)))), x.isHorizontal = function() { return “horizontal” === x.params.direction }, x.rtl = x.isHorizontal() && (“rtl” === x.container[0].dir.toLowerCase() || “rtl” === x.container.css(“direction”)), x.rtl && x.classNames.push(x.params.containerModifierClass + “rtl”), x.rtl && (x.wrongRTL = “-webkit-box” === x.wrapper.css(“display”)), x.params.slidesPerColumn > 1 && x.classNames.push(x.params.containerModifierClass + “multirow”), x.device.android && x.classNames.push(x.params.containerModifierClass + “android”), x.container.addClass(x.classNames.join(” “)), x.translate = 0, x.progress = 0, x.velocity = 0, x.lockSwipeToNext = function() { x.params.allowSwipeToNext = !1, !1 === x.params.allowSwipeToPrev && x.params.grabCursor && x.unsetGrabCursor() }, x.lockSwipeToPrev = function() { x.params.allowSwipeToPrev = !1, !1 === x.params.allowSwipeToNext && x.params.grabCursor && x.unsetGrabCursor() }, x.lockSwipes = function() { x.params.allowSwipeToNext = x.params.allowSwipeToPrev = !1, x.params.grabCursor && x.unsetGrabCursor() }, x.unlockSwipeToNext = function() { x.params.allowSwipeToNext = !0, !0 === x.params.allowSwipeToPrev && x.params.grabCursor && x.setGrabCursor() }, x.unlockSwipeToPrev = function() { x.params.allowSwipeToPrev = !0, !0 === x.params.allowSwipeToNext && x.params.grabCursor && x.setGrabCursor() }, x.unlockSwipes = function() { x.params.allowSwipeToNext = x.params.allowSwipeToPrev = !0, x.params.grabCursor && x.setGrabCursor() }, x.setGrabCursor = function(e) { x.container[0].style.cursor = “move”, x.container[0].style.cursor = e ? “-webkit-grabbing” : “-webkit-grab”, x.container[0].style.cursor = e ? “-moz-grabbin” : “-moz-grab”, x.container[0].style.cursor = e ? “grabbing” : “grab” }, x.unsetGrabCursor = function() { x.container[0].style.cursor = “” }, x.params.grabCursor && x.setGrabCursor(), x.imagesToLoad = [], x.imagesLoaded = 0, x.loadImage = function(e, a, t, s, i, r) { function n() { r && r() } var o; e.complete && i ? n() : a ? ((o = new window.Image).onload = n, o.onerror = n, s && (o.sizes = s), t && (o.srcset = t), a && (o.src = a)) : n() }, x.preloadImages = function() { function e() { null != x && x && (void 0 !== x.imagesLoaded && x.imagesLoaded++, x.imagesLoaded === x.imagesToLoad.length && (x.params.updateOnImagesReady && x.update(), x.emit(“onImagesReady”, x))) } x.imagesToLoad = x.container.find(“img”); for (var a = 0; a 1) for (e = 0; e x.slides.length) break; a.push(x.slides.eq(s)[0]) } else a.push(x.slides.eq(x.activeIndex)[0]); for (e = 0; e t ? i : t } t && x.wrapper.css(“height”, t + “px”) }, x.updateContainerSize = function() { var e, a; e = void 0 !== x.params.width ? x.params.width : x.container[0].clientWidth, a = void 0 !== x.params.height ? x.params.height : x.container[0].clientHeight, 0 === e && x.isHorizontal() || 0 === a && !x.isHorizontal() || (e = e – parseInt(x.container.css(“padding-left”), 10) – parseInt(x.container.css(“padding-right”), 10), a = a – parseInt(x.container.css(“padding-top”), 10) – parseInt(x.container.css(“padding-bottom”), 10), x.width = e, x.height = a, x.size = x.isHorizontal() ? x.width : x.height) }, x.updateSlidesSize = function() { x.slides = x.wrapper.children(“.” + x.params.slideClass), x.snapGrid = [], x.slidesGrid = [], x.slidesSizesGrid = []; var e, a = x.params.spaceBetween, t = -x.params.slidesOffsetBefore, i = 0, r = 0; if (void 0 !== x.size) { var n; “string” == typeof a && a.indexOf(“%”) >= 0 && (a = parseFloat(a.replace(“%”, “”)) / 100 * x.size), x.virtualSize = -a, x.rtl ? x.slides.css({ marginLeft: “”, marginTop: “” }) : x.slides.css({ marginRight: “”, marginBottom: “” }), x.params.slidesPerColumn > 1 && (n = Math.floor(x.slides.length / x.params.slidesPerColumn) === x.slides.length / x.params.slidesPerColumn ? x.slides.length : Math.ceil(x.slides.length / x.params.slidesPerColumn) * x.params.slidesPerColumn, “auto” !== x.params.slidesPerView && “row” === x.params.slidesPerColumnFill && (n = Math.max(n, x.params.slidesPerView * x.params.slidesPerColumn))); var o, l, p = x.params.slidesPerColumn, d = n / p, m = d – (x.params.slidesPerColumn * d – x.slides.length); for (e = 0; e 1) “column” === x.params.slidesPerColumnFill ? (g = e – (c = Math.floor(e / p)) * p, (c > m || c === m && g === p – 1) && ++g >= p && (g = 0, c++), u = c + g * n / p, h.css({ “-webkit-box-ordinal-group”: u, “-moz-box-ordinal-group”: u, “-ms-flex-order”: u, “-webkit-order”: u, order: u })) : c = e – (g = Math.floor(e / d)) * d, h.css(“margin-” + (x.isHorizontal() ? “top” : “left”), 0 !== g && x.params.spaceBetween && x.params.spaceBetween + “px”).attr(“data-swiper-column”, c).attr(“data-swiper-row”, g); “none” !== h.css(“display”) && (“auto” === x.params.slidesPerView ? (o = x.isHorizontal() ? h.outerWidth(!0) : h.outerHeight(!0), x.params.roundLengths && (o = s(o))) : (o = (x.size – (x.params.slidesPerView – 1) * a) / x.params.slidesPerView, x.params.roundLengths && (o = s(o)), x.isHorizontal() ? x.slides[e].style.width = o + “px” : x.slides[e].style.height = o + “px”), x.slides[e].swiperSlideSize = o, x.slidesSizesGrid.push(o), x.params.centeredSlides ? (t = t + o / 2 + i / 2 + a, 0 === i && 0 !== e && (t = t – x.size / 2 – a), 0 === e && (t = t – x.size / 2 – a), Math.abs(t) 1 && (x.virtualSize = (o + x.params.spaceBetween) * n, x.virtualSize = Math.ceil(x.virtualSize / x.params.slidesPerColumn) – x.params.spaceBetween, x.isHorizontal() ? x.wrapper.css({ width: x.virtualSize + x.params.spaceBetween + “px” }) : x.wrapper.css({ height: x.virtualSize + x.params.spaceBetween + “px” }), x.params.centeredSlides)) { for (l = [], e = 0; e < x.snapGrid.length; e++) x.snapGrid[e] < x.virtualSize + x.snapGrid[0] && l.push(x.snapGrid[e]); x.snapGrid = l } if (!x.params.centeredSlides) { for (l = [], e = 0; e < x.snapGrid.length; e++) x.snapGrid[e] 1 && x.snapGrid.push(x.virtualSize - x.size) } 0 === x.snapGrid.length && (x.snapGrid = [0]), 0 !== x.params.spaceBetween && (x.isHorizontal() ? x.rtl ? x.slides.css({ marginLeft: a + "px" }) : x.slides.css({ marginRight: a + "px" }) : x.slides.css({ marginBottom: a + "px" })), x.params.watchSlidesProgress && x.updateSlidesOffset() } }, x.updateSlidesOffset = function() { for (var e = 0; e < x.slides.length; e++) x.slides[e].swiperSlideOffset = x.isHorizontal() ? x.slides[e].offsetLeft : x.slides[e].offsetTop }, x.currentSlidesPerView = function() { var e, a, t = 1; if (x.params.centeredSlides) { var s, i = x.slides[x.activeIndex].swiperSlideSize; for (e = x.activeIndex + 1; e x.size && (s = !0)); for (a = x.activeIndex - 1; a >= 0; a–) x.slides[a] && !s && (t++, (i += x.slides[a].swiperSlideSize) > x.size && (s = !0)) } else for (e = x.activeIndex + 1; e < x.slides.length; e++) x.slidesGrid[e] - x.slidesGrid[x.activeIndex] < x.size && t++; return t }, x.updateSlidesProgress = function(e) { if (void 0 === e && (e = x.translate || 0), 0 !== x.slides.length) { void 0 === x.slides[0].swiperSlideOffset && x.updateSlidesOffset(); var a = -e; x.rtl && (a = e), x.slides.removeClass(x.params.slideVisibleClass); for (var t = 0; t = 0 && r 0 && n <= x.size || r = x.size) && x.slides.eq(t).addClass(x.params.slideVisibleClass) } s.progress = x.rtl ? -i : i } } }, x.updateProgress = function(e) { void 0 === e && (e = x.translate || 0); var a = x.maxTranslate() - x.minTranslate(), t = x.isBeginning, s = x.isEnd; 0 === a ? (x.progress = 0, x.isBeginning = x.isEnd = !0) : (x.progress = (e - x.minTranslate()) / a, x.isBeginning = x.progress = 1), x.isBeginning && !t && x.emit("onReachBeginning", x), x.isEnd && !s && x.emit("onReachEnd", x), x.params.watchSlidesProgress && x.updateSlidesProgress(e), x.emit("onProgress", x, x.progress) }, x.updateActiveIndex = function() { var e, a, t, s = x.rtl ? x.translate : -x.translate; for (a = 0; a = x.slidesGrid[a] && s = x.slidesGrid[a] && s = x.slidesGrid[a] && (e = a); x.params.normalizeSlideIndex && (e = x.snapGrid.length && (t = x.snapGrid.length - 1), e !== x.activeIndex && (x.snapIndex = t, x.previousIndex = x.activeIndex, x.activeIndex = e, x.updateClasses(), x.updateRealIndex()) }, x.updateRealIndex = function() { x.realIndex = parseInt(x.slides.eq(x.activeIndex).attr("data-swiper-slide-index") || x.activeIndex, 10) }, x.updateClasses = function() { x.slides.removeClass(x.params.slideActiveClass + " " + x.params.slideNextClass + " " + x.params.slidePrevClass + " " + x.params.slideDuplicateActiveClass + " " + x.params.slideDuplicateNextClass + " " + x.params.slideDuplicatePrevClass); var a = x.slides.eq(x.activeIndex); a.addClass(x.params.slideActiveClass), t.loop && (a.hasClass(x.params.slideDuplicateClass) ? x.wrapper.children("." + x.params.slideClass + ":not(." + x.params.slideDuplicateClass + ')[data-swiper-slide-index="' + x.realIndex + '"]').addClass(x.params.slideDuplicateActiveClass) : x.wrapper.children("." + x.params.slideClass + "." + x.params.slideDuplicateClass + '[data-swiper-slide-index="' + x.realIndex + '"]').addClass(x.params.slideDuplicateActiveClass)); var s = a.next("." + x.params.slideClass).addClass(x.params.slideNextClass); x.params.loop && 0 === s.length && (s = x.slides.eq(0)).addClass(x.params.slideNextClass); var i = a.prev("." + x.params.slideClass).addClass(x.params.slidePrevClass); if (x.params.loop && 0 === i.length && (i = x.slides.eq(-1)).addClass(x.params.slidePrevClass), t.loop && (s.hasClass(x.params.slideDuplicateClass) ? x.wrapper.children("." + x.params.slideClass + ":not(." + x.params.slideDuplicateClass + ')[data-swiper-slide-index="' + s.attr("data-swiper-slide-index") + '"]').addClass(x.params.slideDuplicateNextClass) : x.wrapper.children("." + x.params.slideClass + "." + x.params.slideDuplicateClass + '[data-swiper-slide-index="' + s.attr("data-swiper-slide-index") + '"]').addClass(x.params.slideDuplicateNextClass), i.hasClass(x.params.slideDuplicateClass) ? x.wrapper.children("." + x.params.slideClass + ":not(." + x.params.slideDuplicateClass + ')[data-swiper-slide-index="' + i.attr("data-swiper-slide-index") + '"]').addClass(x.params.slideDuplicatePrevClass) : x.wrapper.children("." + x.params.slideClass + "." + x.params.slideDuplicateClass + '[data-swiper-slide-index="' + i.attr("data-swiper-slide-index") + '"]').addClass(x.params.slideDuplicatePrevClass)), x.paginationContainer && x.paginationContainer.length > 0) { var r, n = x.params.loop ? Math.ceil((x.slides.length – 2 * x.loopedSlides) / x.params.slidesPerGroup) : x.snapGrid.length; if (x.params.loop ? ((r = Math.ceil((x.activeIndex – x.loopedSlides) / x.params.slidesPerGroup)) > x.slides.length – 1 – 2 * x.loopedSlides && (r -= x.slides.length – 2 * x.loopedSlides), r > n – 1 && (r -= n), r 0 && (x.bullets.removeClass(x.params.bulletActiveClass), x.paginationContainer.length > 1 ? x.bullets.each(function() { e(this).index() === r && e(this).addClass(x.params.bulletActiveClass) }) : x.bullets.eq(r).addClass(x.params.bulletActiveClass)), “fraction” === x.params.paginationType && (x.paginationContainer.find(“.” + x.params.paginationCurrentClass).text(r + 1), x.paginationContainer.find(“.” + x.params.paginationTotalClass).text(n)), “progress” === x.params.paginationType) { var o = (r + 1) / n, l = o, p = 1; x.isHorizontal() || (p = o, l = 1), x.paginationContainer.find(“.” + x.params.paginationProgressbarClass).transform(“translate3d(0,0,0) scaleX(” + l + “) scaleY(” + p + “)”).transition(x.params.speed) } “custom” === x.params.paginationType && x.params.paginationCustomRender && (x.paginationContainer.html(x.params.paginationCustomRender(x, r + 1, n)), x.emit(“onPaginationRendered”, x, x.paginationContainer[0])) } x.params.loop || (x.params.prevButton && x.prevButton && x.prevButton.length > 0 && (x.isBeginning ? (x.prevButton.addClass(x.params.buttonDisabledClass), x.params.a11y && x.a11y && x.a11y.disable(x.prevButton)) : (x.prevButton.removeClass(x.params.buttonDisabledClass), x.params.a11y && x.a11y && x.a11y.enable(x.prevButton))), x.params.nextButton && x.nextButton && x.nextButton.length > 0 && (x.isEnd ? (x.nextButton.addClass(x.params.buttonDisabledClass), x.params.a11y && x.a11y && x.a11y.disable(x.nextButton)) : (x.nextButton.removeClass(x.params.buttonDisabledClass), x.params.a11y && x.a11y && x.a11y.enable(x.nextButton)))) }, x.updatePagination = function() { if (x.params.pagination && x.paginationContainer && x.paginationContainer.length > 0) { var e = “”; if (“bullets” === x.params.paginationType) { for (var a = x.params.loop ? Math.ceil((x.slides.length – 2 * x.loopedSlides) / x.params.slidesPerGroup) : x.snapGrid.length, t = 0; t < a; t++) e += x.params.paginationBulletRender ? x.params.paginationBulletRender(x, t, x.params.bulletClass) : ""; x.paginationContainer.html(e), x.bullets = x.paginationContainer.find("." + x.params.bulletClass), x.params.paginationClickable && x.params.a11y && x.a11y && x.a11y.initPagination() } "fraction" === x.params.paginationType && (e = x.params.paginationFractionRender ? x.params.paginationFractionRender(x, x.params.paginationCurrentClass, x.params.paginationTotalClass) : ' / ', x.paginationContainer.html(e)), "progress" === x.params.paginationType && (e = x.params.paginationProgressRender ? x.params.paginationProgressRender(x, x.params.paginationProgressbarClass) : '', x.paginationContainer.html(e)), "custom" !== x.params.paginationType && x.emit("onPaginationRendered", x, x.paginationContainer[0]) } }, x.update = function(e) { function a() { x.rtl, x.translate, t = Math.min(Math.max(x.translate, x.maxTranslate()), x.minTranslate()), x.setWrapperTranslate(t), x.updateActiveIndex(), x.updateClasses() } var t; x && (x.updateContainerSize(), x.updateSlidesSize(), x.updateProgress(), x.updatePagination(), x.updateClasses(), x.params.scrollbar && x.scrollbar && x.scrollbar.set(), e ? (x.controller && x.controller.spline && (x.controller.spline = void 0), x.params.freeMode ? (a(), x.params.autoHeight && x.updateAutoHeight()) : (("auto" === x.params.slidesPerView || x.params.slidesPerView > 1) && x.isEnd && !x.params.centeredSlides ? x.slideTo(x.slides.length – 1, 0, !1, !0) : x.slideTo(x.activeIndex, 0, !1, !0)) || a()) : x.params.autoHeight && x.updateAutoHeight()) }, x.onResize = function(e) { x.params.onBeforeResize && x.params.onBeforeResize(x), x.params.breakpoints && x.setBreakpoint(); var a = x.params.allowSwipeToPrev, t = x.params.allowSwipeToNext; x.params.allowSwipeToPrev = x.params.allowSwipeToNext = !0, x.updateContainerSize(), x.updateSlidesSize(), (“auto” === x.params.slidesPerView || x.params.freeMode || e) && x.updatePagination(), x.params.scrollbar && x.scrollbar && x.scrollbar.set(), x.controller && x.controller.spline && (x.controller.spline = void 0); var s = !1; if (x.params.freeMode) { var i = Math.min(Math.max(x.translate, x.maxTranslate()), x.minTranslate()); x.setWrapperTranslate(i), x.updateActiveIndex(), x.updateClasses(), x.params.autoHeight && x.updateAutoHeight() } else x.updateClasses(), s = (“auto” === x.params.slidesPerView || x.params.slidesPerView > 1) && x.isEnd && !x.params.centeredSlides ? x.slideTo(x.slides.length – 1, 0, !1, !0) : x.slideTo(x.activeIndex, 0, !1, !0); x.params.lazyLoading && !s && x.lazy && x.lazy.load(), x.params.allowSwipeToPrev = a, x.params.allowSwipeToNext = t, x.params.onAfterResize && x.params.onAfterResize(x) }, x.touchEventsDesktop = { start: “mousedown”, move: “mousemove”, end: “mouseup” }, window.navigator.pointerEnabled ? x.touchEventsDesktop = { start: “pointerdown”, move: “pointermove”, end: “pointerup” } : window.navigator.msPointerEnabled && (x.touchEventsDesktop = { start: “MSPointerDown”, move: “MSPointerMove”, end: “MSPointerUp” }), x.touchEvents = { start: x.support.touch || !x.params.simulateTouch ? “touchstart” : x.touchEventsDesktop.start, move: x.support.touch || !x.params.simulateTouch ? “touchmove” : x.touchEventsDesktop.move, end: x.support.touch || !x.params.simulateTouch ? “touchend” : x.touchEventsDesktop.end }, (window.navigator.pointerEnabled || window.navigator.msPointerEnabled) && (“container” === x.params.touchEventsTarget ? x.container : x.wrapper).addClass(“swiper-wp8-” + x.params.direction), x.initEvents = function(e) { var a = e ? “off” : “on”, s = e ? “removeEventListener” : “addEventListener”, i = “container” === x.params.touchEventsTarget ? x.container[0] : x.wrapper[0], r = x.support.touch ? i : document, n = !!x.params.nested; if (x.browser.ie) i[s](x.touchEvents.start, x.onTouchStart, !1), r[s](x.touchEvents.move, x.onTouchMove, n), r[s](x.touchEvents.end, x.onTouchEnd, !1); else { if (x.support.touch) { var o = !(“touchstart” !== x.touchEvents.start || !x.support.passiveListener || !x.params.passiveListeners) && { passive: !0, capture: !1 }; i[s](x.touchEvents.start, x.onTouchStart, o), i[s](x.touchEvents.move, x.onTouchMove, n), i[s](x.touchEvents.end, x.onTouchEnd, o) }(t.simulateTouch && !x.device.ios && !x.device.android || t.simulateTouch && !x.support.touch && x.device.ios) && (i[s](“mousedown”, x.onTouchStart, !1), document[s](“mousemove”, x.onTouchMove, n), document[s](“mouseup”, x.onTouchEnd, !1)) } window[s](“resize”, x.onResize), x.params.nextButton && x.nextButton && x.nextButton.length > 0 && (x.nextButton[a](“click”, x.onClickNext), x.params.a11y && x.a11y && x.nextButton[a](“keydown”, x.a11y.onEnterKey)), x.params.prevButton && x.prevButton && x.prevButton.length > 0 && (x.prevButton[a](“click”, x.onClickPrev), x.params.a11y && x.a11y && x.prevButton[a](“keydown”, x.a11y.onEnterKey)), x.params.pagination && x.params.paginationClickable && (x.paginationContainer[a](“click”, “.” + x.params.bulletClass, x.onClickIndex), x.params.a11y && x.a11y && x.paginationContainer[a](“keydown”, “.” + x.params.bulletClass, x.a11y.onEnterKey)), (x.params.preventClicks || x.params.preventClicksPropagation) && i[s](“click”, x.preventClicks, !0) }, x.attachEvents = function() { x.initEvents() }, x.detachEvents = function() { x.initEvents(!0) }, x.allowClick = !0, x.preventClicks = function(e) { x.allowClick || (x.params.preventClicks && e.preventDefault(), x.params.preventClicksPropagation && x.animating && (e.stopPropagation(), e.stopImmediatePropagation())) }, x.onClickNext = function(e) { e.preventDefault(), x.isEnd && !x.params.loop || x.slideNext() }, x.onClickPrev = function(e) { e.preventDefault(), x.isBeginning && !x.params.loop || x.slidePrev() }, x.onClickIndex = function(a) { a.preventDefault(); var t = e(this).index() * x.params.slidesPerGroup; x.params.loop && (t += x.loopedSlides), x.slideTo(t) }, x.updateClickedSlide = function(a) { var t = r(a, “.” + x.params.slideClass), s = !1; if (t) for (var i = 0; i < x.slides.length; i++) x.slides[i] === t && (s = !0); if (!t || !s) return x.clickedSlide = void 0, void(x.clickedIndex = void 0); if (x.clickedSlide = t, x.clickedIndex = e(t).index(), x.params.slideToClickedSlide && void 0 !== x.clickedIndex && x.clickedIndex !== x.activeIndex) { var n, o = x.clickedIndex, l = "auto" === x.params.slidesPerView ? x.currentSlidesPerView() : x.params.slidesPerView; if (x.params.loop) { if (x.animating) return; n = parseInt(e(x.clickedSlide).attr("data-swiper-slide-index"), 10), x.params.centeredSlides ? o x.slides.length - x.loopedSlides + l / 2 ? (x.fixLoop(), o = x.wrapper.children("." + x.params.slideClass + '[data-swiper-slide-index="' + n + '"]:not(.' + x.params.slideDuplicateClass + ")").eq(0).index(), setTimeout(function() { x.slideTo(o) }, 0)) : x.slideTo(o) : o > x.slides.length – l ? (x.fixLoop(), o = x.wrapper.children(“.” + x.params.slideClass + ‘[data-swiper-slide-index=”‘ + n + ‘”]:not(.’ + x.params.slideDuplicateClass + “)”).eq(0).index(), setTimeout(function() { x.slideTo(o) }, 0)) : x.slideTo(o) } else x.slideTo(o) } }; var T, b, C, S, z, M, P, E, I, k, D, L, B = “input, select, textarea, button, video”, H = Date.now(), G = []; for (var X in x.animating = !1, x.touches = { startX: 0, startY: 0, currentX: 0, currentY: 0, diff: 0 }, x.onTouchStart = function(a) { if (a.originalEvent && (a = a.originalEvent), (D = “touchstart” === a.type) || !(“which” in a) || 3 !== a.which) { if (x.params.noSwiping && r(a, “.” + x.params.noSwipingClass)) return void(x.allowClick = !0); if (!x.params.swipeHandler || r(a, x.params.swipeHandler)) { var t = x.touches.currentX = “touchstart” === a.type ? a.targetTouches[0].pageX : a.pageX, s = x.touches.currentY = “touchstart” === a.type ? a.targetTouches[0].pageY : a.pageY; if (!(x.device.ios && x.params.iOSEdgeSwipeDetection && t 0 && (E = !1), “touchstart” !== a.type) { var i = !0; e(a.target).is(B) && (i = !1), document.activeElement && e(document.activeElement).is(B) && document.activeElement.blur(), i && a.preventDefault() } x.emit(“onTouchStart”, x, a) } } } }, x.onTouchMove = function(a) { if (a.originalEvent && (a = a.originalEvent), !D || “mousemove” !== a.type) { if (a.preventedByNestedSwiper) return x.touches.startX = “touchmove” === a.type ? a.targetTouches[0].pageX : a.pageX, void(x.touches.startY = “touchmove” === a.type ? a.targetTouches[0].pageY : a.pageY); if (x.params.onlyExternal) return x.allowClick = !1, void(T && (x.touches.startX = x.touches.currentX = “touchmove” === a.type ? a.targetTouches[0].pageX : a.pageX, x.touches.startY = x.touches.currentY = “touchmove” === a.type ? a.targetTouches[0].pageY : a.pageY, S = Date.now())); if (D && x.params.touchReleaseOnEdges && !x.params.loop) if (x.isHorizontal()) { if (x.touches.currentX < x.touches.startX && x.translate x.touches.startX && x.translate >= x.minTranslate()) return } else if (x.touches.currentY < x.touches.startY && x.translate x.touches.startY && x.translate >= x.minTranslate()) return; if (D && document.activeElement && a.target === document.activeElement && e(a.target).is(B)) return b = !0, void(x.allowClick = !1); if (C && x.emit(“onTouchMove”, x, a), !(a.targetTouches && a.targetTouches.length > 1)) { var s; if (x.touches.currentX = “touchmove” === a.type ? a.targetTouches[0].pageX : a.pageX, x.touches.currentY = “touchmove” === a.type ? a.targetTouches[0].pageY : a.pageY, void 0 === z) x.isHorizontal() && x.touches.currentY === x.touches.startY || !x.isHorizontal() && x.touches.currentX === x.touches.startX ? z = !1 : (s = 180 * Math.atan2(Math.abs(x.touches.currentY – x.touches.startY), Math.abs(x.touches.currentX – x.touches.startX)) / Math.PI, z = x.isHorizontal() ? s > x.params.touchAngle : 90 – s > x.params.touchAngle); if (z && x.emit(“onTouchMoveOpposite”, x, a), void 0 === L && (x.touches.currentX === x.touches.startX && x.touches.currentY === x.touches.startY || (L = !0)), T) { if (z) return void(T = !1); if (L) { x.allowClick = !1, x.emit(“onSliderMove”, x, a), a.preventDefault(), x.params.touchMoveStopPropagation && !x.params.nested && a.stopPropagation(), b || (t.loop && x.fixLoop(), P = x.getWrapperTranslate(), x.setWrapperTransition(0), x.animating && x.wrapper.trigger(“webkitTransitionEnd transitionend oTransitionEnd MSTransitionEnd msTransitionEnd”), x.params.autoplay && x.autoplaying && (x.params.autoplayDisableOnInteraction ? x.stopAutoplay() : x.pauseAutoplay()), k = !1, !x.params.grabCursor || !0 !== x.params.allowSwipeToNext && !0 !== x.params.allowSwipeToPrev || x.setGrabCursor(!0)), b = !0; var i = x.touches.diff = x.isHorizontal() ? x.touches.currentX – x.touches.startX : x.touches.currentY – x.touches.startY; i *= x.params.touchRatio, x.rtl && (i = -i), x.swipeDirection = i > 0 ? “prev” : “next”, M = i + P; var r = !0; if (i > 0 && M > x.minTranslate() ? (r = !1, x.params.resistance && (M = x.minTranslate() – 1 + Math.pow(-x.minTranslate() + P + i, x.params.resistanceRatio))) : i < 0 && M < x.maxTranslate() && (r = !1, x.params.resistance && (M = x.maxTranslate() + 1 - Math.pow(x.maxTranslate() - P - i, x.params.resistanceRatio))), r && (a.preventedByNestedSwiper = !0), !x.params.allowSwipeToNext && "next" === x.swipeDirection && M

P && (M = P), x.params.threshold > 0) { if (!(Math.abs(i) > x.params.threshold || E)) return void(M = P); if (!E) return E = !0, x.touches.startX = x.touches.currentX, x.touches.startY = x.touches.currentY, M = P, void(x.touches.diff = x.isHorizontal() ? x.touches.currentX – x.touches.startX : x.touches.currentY – x.touches.startY) } x.params.followFinger && ((x.params.freeMode || x.params.watchSlidesProgress) && x.updateActiveIndex(), x.params.freeMode && (0 === G.length && G.push({ position: x.touches[x.isHorizontal() ? “startX” : “startY”], time: S }), G.push({ position: x.touches[x.isHorizontal() ? “currentX” : “currentY”], time: (new window.Date).getTime() })), x.updateProgress(M), x.setWrapperTranslate(M)) } } } } }, x.onTouchEnd = function(a) { if (a.originalEvent && (a = a.originalEvent), C && x.emit(“onTouchEnd”, x, a), C = !1, T) { x.params.grabCursor && b && T && (!0 === x.params.allowSwipeToNext || !0 === x.params.allowSwipeToPrev) && x.setGrabCursor(!1); var t, s = Date.now(), i = s – S; if (x.allowClick && (x.updateClickedSlide(a), x.emit(“onTap”, x, a), i 300 && (I && clearTimeout(I), I = setTimeout(function() { x && (x.params.paginationHide && x.paginationContainer.length > 0 && !e(a.target).hasClass(x.params.bulletClass) && x.paginationContainer.toggleClass(x.params.paginationHiddenClass), x.emit(“onClick”, x, a)) }, 300)), i < 300 && s - H < 300 && (I && clearTimeout(I), x.emit("onDoubleTap", x, a))), H = Date.now(), setTimeout(function() { x && (x.allowClick = !0) }, 0), !T || !b || !x.swipeDirection || 0 === x.touches.diff || M === P) return void(T = b = !1); if (T = b = !1, t = x.params.followFinger ? x.rtl ? x.translate : -x.translate : -M, x.params.freeMode) { if (t -x.maxTranslate()) return void(x.slides.length 1) { var r = G.pop(), n = G.pop(), o = r.position - n.position, l = r.time - n.time; x.velocity = o / l, x.velocity = x.velocity / 2, Math.abs(x.velocity) 150 || (new window.Date).getTime() - r.time > 300) && (x.velocity = 0) } else x.velocity = 0; x.velocity = x.velocity * x.params.freeModeMomentumVelocityRatio, G.length = 0; var p = 1e3 * x.params.freeModeMomentumRatio, d = x.velocity * p, m = x.translate + d; x.rtl && (m = -m); var u, c = !1, g = 20 * Math.abs(x.velocity) * x.params.freeModeMomentumBounceRatio; if (m < x.maxTranslate()) x.params.freeModeMomentumBounce ? (m + x.maxTranslate() x.minTranslate()) x.params.freeModeMomentumBounce ? (m - x.minTranslate() > g && (m = x.minTranslate() + g), u = x.minTranslate(), c = !0, k = !0) : m = x.minTranslate(); else if (x.params.freeModeSticky) { var h, v = 0; for (v = 0; v -m) { h = v; break } m = Math.abs(x.snapGrid[h] – m) = x.params.longSwipesMs) && (x.updateProgress(), x.updateActiveIndex())) } var f, w = 0, y = x.slidesSizesGrid[0]; for (f = 0; f = x.slidesGrid[f] && t = x.slidesGrid[f] && (w = f, y = x.slidesGrid[x.slidesGrid.length – 1] – x.slidesGrid[x.slidesGrid.length – 2]); var z = (t – x.slidesGrid[w]) / y; if (i > x.params.longSwipesMs) { if (!x.params.longSwipes) return void x.slideTo(x.activeIndex); “next” === x.swipeDirection && (z >= x.params.longSwipesRatio ? x.slideTo(w + x.params.slidesPerGroup) : x.slideTo(w)), “prev” === x.swipeDirection && (z > 1 – x.params.longSwipesRatio ? x.slideTo(w + x.params.slidesPerGroup) : x.slideTo(w)) } else { if (!x.params.shortSwipes) return void x.slideTo(x.activeIndex); “next” === x.swipeDirection && x.slideTo(w + x.params.slidesPerGroup), “prev” === x.swipeDirection && x.slideTo(w) } } }, x._slideTo = function(e, a) { return x.slideTo(e, a, !0, !0) }, x.slideTo = function(e, a, t, s) { void 0 === t && (t = !0), void 0 === e && (e = 0), e = x.snapGrid.length && (x.snapIndex = x.snapGrid.length – 1); var i = -x.snapGrid[x.snapIndex]; if (x.params.autoplay && x.autoplaying && (s || !x.params.autoplayDisableOnInteraction ? x.pauseAutoplay(a) : x.stopAutoplay()), x.updateProgress(i), x.params.normalizeSlideIndex) for (var r = 0; r = Math.floor(100 * x.slidesGrid[r]) && (e = r); return !(!x.params.allowSwipeToNext && i < x.translate && i x.translate && i > x.maxTranslate() && (x.activeIndex || 0) !== e || (void 0 === a && (a = x.params.speed), x.previousIndex = x.activeIndex || 0, x.activeIndex = e, x.updateRealIndex(), x.rtl && -i === x.translate || !x.rtl && i === x.translate ? (x.params.autoHeight && x.updateAutoHeight(), x.updateClasses(), “slide” !== x.params.effect && x.setWrapperTranslate(i), 1) : (x.updateClasses(), x.onTransitionStart(t), 0 === a || x.browser.lteIE9 ? (x.setWrapperTranslate(i), x.setWrapperTransition(0), x.onTransitionEnd(t)) : (x.setWrapperTranslate(i), x.setWrapperTransition(a), x.animating || (x.animating = !0, x.wrapper.transitionEnd(function() { x && x.onTransitionEnd(t) }))), 0))) }, x.onTransitionStart = function(e) { void 0 === e && (e = !0), x.params.autoHeight && x.updateAutoHeight(), x.lazy && x.lazy.onTransitionStart(), e && (x.emit(“onTransitionStart”, x), x.activeIndex !== x.previousIndex && (x.emit(“onSlideChangeStart”, x), x.activeIndex > x.previousIndex ? x.emit(“onSlideNextStart”, x) : x.emit(“onSlidePrevStart”, x))) }, x.onTransitionEnd = function(e) { x.animating = !1, x.setWrapperTransition(0), void 0 === e && (e = !0), x.lazy && x.lazy.onTransitionEnd(), e && (x.emit(“onTransitionEnd”, x), x.activeIndex !== x.previousIndex && (x.emit(“onSlideChangeEnd”, x), x.activeIndex > x.previousIndex ? x.emit(“onSlideNextEnd”, x) : x.emit(“onSlidePrevEnd”, x))), x.params.history && x.history && x.history.setHistory(x.params.history, x.activeIndex), x.params.hashnav && x.hashnav && x.hashnav.setHash() }, x.slideNext = function(e, a, t) { return x.params.loop ? !x.animating && (x.fixLoop(), x.container[0].clientLeft, x.slideTo(x.activeIndex + x.params.slidesPerGroup, a, e, t)) : x.slideTo(x.activeIndex + x.params.slidesPerGroup, a, e, t) }, x._slideNext = function(e) { return x.slideNext(!0, e, !0) }, x.slidePrev = function(e, a, t) { return x.params.loop ? !x.animating && (x.fixLoop(), x.container[0].clientLeft, x.slideTo(x.activeIndex – 1, a, e, t)) : x.slideTo(x.activeIndex – 1, a, e, t) }, x._slidePrev = function(e) { return x.slidePrev(!0, e, !0) }, x.slideReset = function(e, a, t) { return x.slideTo(x.activeIndex, a, e) }, x.disableTouchControl = function() { return x.params.onlyExternal = !0, !0 }, x.enableTouchControl = function() { return x.params.onlyExternal = !1, !0 }, x.setWrapperTransition = function(e, a) { x.wrapper.transition(e), “slide” !== x.params.effect && x.effects[x.params.effect] && x.effects[x.params.effect].setTransition(e), x.params.parallax && x.parallax && x.parallax.setTransition(e), x.params.scrollbar && x.scrollbar && x.scrollbar.setTransition(e), x.params.control && x.controller && x.controller.setTransition(e, a), x.emit(“onSetTransition”, x, e) }, x.setWrapperTranslate = function(e, a, t) { var i = 0, r = 0; x.isHorizontal() ? i = x.rtl ? -e : e : r = e, x.params.roundLengths && (i = s(i), r = s(r)), x.params.virtualTranslate || (x.support.transforms3d ? x.wrapper.transform(“translate3d(” + i + “px, ” + r + “px, 0px)”) : x.wrapper.transform(“translate(” + i + “px, ” + r + “px)”)), x.translate = x.isHorizontal() ? i : r; var n = x.maxTranslate() – x.minTranslate(); (0 === n ? 0 : (e – x.minTranslate()) / n) !== x.progress && x.updateProgress(e), a && x.updateActiveIndex(), “slide” !== x.params.effect && x.effects[x.params.effect] && x.effects[x.params.effect].setTranslate(x.translate), x.params.parallax && x.parallax && x.parallax.setTranslate(x.translate), x.params.scrollbar && x.scrollbar && x.scrollbar.setTranslate(x.translate), x.params.control && x.controller && x.controller.setTranslate(x.translate, t), x.emit(“onSetTranslate”, x, x.translate) }, x.getTranslate = function(e, a) { var t, s, i, r; return void 0 === a && (a = “x”), x.params.virtualTranslate ? x.rtl ? -x.translate : x.translate : (i = window.getComputedStyle(e, null), window.WebKitCSSMatrix ? ((s = i.transform || i.webkitTransform).split(“,”).length > 6 && (s = s.split(“, “).map(function(e) { return e.replace(“,”, “.”) }).join(“, “)), r = new window.WebKitCSSMatrix(“none” === s ? “” : s)) : t = (r = i.MozTransform || i.OTransform || i.MsTransform || i.msTransform || i.transform || i.getPropertyValue(“transform”).replace(“translate(“, “matrix(1, 0, 0, 1,”)).toString().split(“,”), “x” === a && (s = window.WebKitCSSMatrix ? r.m41 : 16 === t.length ? parseFloat(t[12]) : parseFloat(t[4])), “y” === a && (s = window.WebKitCSSMatrix ? r.m42 : 16 === t.length ? parseFloat(t[13]) : parseFloat(t[5])), x.rtl && s && (s = -s), s || 0) }, x.getWrapperTranslate = function(e) { return void 0 === e && (e = x.isHorizontal() ? “x” : “y”), x.getTranslate(x.wrapper[0], e) }, x.observers = [], x.initObservers = function() { if (x.params.observeParents) for (var e = x.container.parents(), a = 0; a < e.length; a++) n(e[a]); n(x.container[0], { childList: !1 }), n(x.wrapper[0], { attributes: !1 }) }, x.disconnectObservers = function() { for (var e = 0; e a.length && (x.loopedSlides = a.length); var t, s = [], i = []; for (a.each(function(t, r) { var n = e(this); t < x.loopedSlides && i.push(r), t = a.length – x.loopedSlides && s.push(r), n.attr(“data-swiper-slide-index”, t) }), t = 0; t = 0; t–) x.wrapper.prepend(e(s[t].cloneNode(!0)).addClass(x.params.slideDuplicateClass)) }, x.destroyLoop = function() { x.wrapper.children(“.” + x.params.slideClass + “.” + x.params.slideDuplicateClass).remove(), x.slides.removeAttr(“data-swiper-slide-index”) }, x.reLoop = function(e) { var a = x.activeIndex – x.loopedSlides; x.destroyLoop(), x.createLoop(), x.updateSlidesSize(), e && x.slideTo(a + x.loopedSlides, 0, !1) }, x.fixLoop = function() { var e; x.activeIndex = 2 * x.loopedSlides || x.activeIndex > x.slides.length – 2 * x.params.slidesPerView) && (e = -x.slides.length + x.activeIndex + x.loopedSlides, e += x.loopedSlides, x.slideTo(e, 0, !1, !0)) }, x.appendSlide = function(e) { if (x.params.loop && x.destroyLoop(), “object” == typeof e && e.length) for (var a = 0; a < e.length; a++) e[a] && x.wrapper.append(e[a]); else x.wrapper.append(e); x.params.loop && x.createLoop(), x.params.observer && x.support.observer || x.update(!0) }, x.prependSlide = function(e) { x.params.loop && x.destroyLoop(); var a = x.activeIndex + 1; if ("object" == typeof e && e.length) { for (var t = 0; t < e.length; t++) e[t] && x.wrapper.prepend(e[t]); a = x.activeIndex + e.length } else x.wrapper.prepend(e); x.params.loop && x.createLoop(), x.params.observer && x.support.observer || x.update(!0), x.slideTo(a, 0, !1) }, x.removeSlide = function(e) { x.params.loop && (x.destroyLoop(), x.slides = x.wrapper.children("." + x.params.slideClass)); var a, t = x.activeIndex; if ("object" == typeof e && e.length) { for (var s = 0; s < e.length; s++) a = e[s], x.slides[a] && x.slides.eq(a).remove(), a < t && t--; t = Math.max(t, 0) } else a = e, x.slides[a] && x.slides.eq(a).remove(), a < t && t--, t = Math.max(t, 0); x.params.loop && x.createLoop(), x.params.observer && x.support.observer || x.update(!0), x.params.loop ? x.slideTo(t + x.loopedSlides, 0, !1) : x.slideTo(t, 0, !1) }, x.removeAllSlides = function() { for (var e = [], a = 0; a < x.slides.length; a++) e.push(a); x.removeSlide(e) }, x.effects = { fade: { setTranslate: function() { for (var e = 0; e < x.slides.length; e++) { var a = x.slides.eq(e), t = -a[0].swiperSlideOffset; x.params.virtualTranslate || (t -= x.translate); var s = 0; x.isHorizontal() || (s = t, t = 0); var i = x.params.fade.crossFade ? Math.max(1 - Math.abs(a[0].progress), 0) : 1 + Math.min(Math.max(a[0].progress, -1), 0); a.css({ opacity: i }).transform("translate3d(" + t + "px, " + s + "px, 0px)") } }, setTransition: function(e) { if (x.slides.transition(e), x.params.virtualTranslate && 0 !== e) { var a = !1; x.slides.transitionEnd(function() { if (!a && x) { a = !0, x.animating = !1; for (var e = ["webkitTransitionEnd", "transitionend", "oTransitionEnd", "MSTransitionEnd", "msTransitionEnd"], t = 0; t < e.length; t++) x.wrapper.trigger(e[t]) } }) } } }, flip: { setTranslate: function() { for (var a = 0; a < x.slides.length; a++) { var t = x.slides.eq(a), s = t[0].progress; x.params.flip.limitRotation && (s = Math.max(Math.min(t[0].progress, 1), -1)); var i = -180 * s, r = 0, n = -t[0].swiperSlideOffset, o = 0; if (x.isHorizontal() ? x.rtl && (i = -i) : (o = n, n = 0, r = -i, i = 0), t[0].style.zIndex = -Math.abs(Math.round(s)) + x.slides.length, x.params.flip.slideShadows) { var l = x.isHorizontal() ? t.find(".swiper-slide-shadow-left") : t.find(".swiper-slide-shadow-top"), p = x.isHorizontal() ? t.find(".swiper-slide-shadow-right") : t.find(".swiper-slide-shadow-bottom"); 0 === l.length && (l = e(']]>‘), t.append(l)), 0 === p.length && (p = e(”), t.append(p)), l.length && (l[0].style.opacity = Math.max(-s, 0)), p.length && (p[0].style.opacity = Math.max(s, 0)) } t.transform(“translate3d(” + n + “px, ” + o + “px, 0px) rotateX(” + r + “deg) rotateY(” + i + “deg)”) } }, setTransition: function(a) { if (x.slides.transition(a).find(“.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left”).transition(a), x.params.virtualTranslate && 0 !== a) { var t = !1; x.slides.eq(x.activeIndex).transitionEnd(function() { if (!t && x && e(this).hasClass(x.params.slideActiveClass)) { t = !0, x.animating = !1; for (var a = [“webkitTransitionEnd”, “transitionend”, “oTransitionEnd”, “MSTransitionEnd”, “msTransitionEnd”], s = 0; s ‘), x.wrapper.append(a)), a.css({ height: x.width + “px” })) : 0 === (a = x.container.find(“.swiper-cube-shadow”)).length && (a = e(”), x.container.append(a))); for (var s = 0; s -1 && (t = 90 * s + 90 * o, x.rtl && (t = 90 * -s – 90 * o)), i.transform(m), x.params.cube.slideShadows) { var u = x.isHorizontal() ? i.find(“.swiper-slide-shadow-left”) : i.find(“.swiper-slide-shadow-top”), c = x.isHorizontal() ? i.find(“.swiper-slide-shadow-right”) : i.find(“.swiper-slide-shadow-bottom”); 0 === u.length && (u = e(”), i.append(u)), 0 === c.length && (c = e(”), i.append(c)), u.length && (u[0].style.opacity = Math.max(-o, 0)), c.length && (c[0].style.opacity = Math.max(o, 0)) } } if (x.wrapper.css({ “-webkit-transform-origin”: “50% 50% -” + x.size / 2 + “px”, “-moz-transform-origin”: “50% 50% -” + x.size / 2 + “px”, “-ms-transform-origin”: “50% 50% -” + x.size / 2 + “px”, “transform-origin”: “50% 50% -” + x.size / 2 + “px” }), x.params.cube.shadow) if (x.isHorizontal()) a.transform(“translate3d(0px, ” + (x.width / 2 + x.params.cube.shadowOffset) + “px, ” + -x.width / 2 + “px) rotateX(90deg) rotateZ(0deg) scale(” + x.params.cube.shadowScale + “)”); else { var g = Math.abs(t) – 90 * Math.floor(Math.abs(t) / 90), h = 1.5 – (Math.sin(2 * g * Math.PI / 360) / 2 + Math.cos(2 * g * Math.PI / 360) / 2), v = x.params.cube.shadowScale, f = x.params.cube.shadowScale / h, w = x.params.cube.shadowOffset; a.transform(“scale3d(” + v + “, 1, ” + f + “) translate3d(0px, ” + (x.height / 2 + w) + “px, ” + -x.height / 2 / f + “px) rotateX(-90deg)”) } var y = x.isSafari || x.isUiWebView ? -x.size / 2 : 0; x.wrapper.transform(“translate3d(0px,0,” + y + “px) rotateX(” + (x.isHorizontal() ? 0 : t) + “deg) rotateY(” + (x.isHorizontal() ? -t : 0) + “deg)”) }, setTransition: function(e) { x.slides.transition(e).find(“.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left”).transition(e), x.params.cube.shadow && !x.isHorizontal() && x.container.find(“.swiper-cube-shadow”).transition(e) } }, coverflow: { setTranslate: function() { for (var a = x.translate, t = x.isHorizontal() ? -a + x.width / 2 : -a + x.height / 2, s = x.isHorizontal() ? x.params.coverflow.rotate : -x.params.coverflow.rotate, i = x.params.coverflow.depth, r = 0, n = x.slides.length; r

Source

“https://www.tim.it/fisso-e-mobile/5g”
Pubblichiamo solo i migliori articoli della rete. Clicca qui per visitare il sito di provenienza. SITE: the best of the best ⭐⭐⭐⭐⭐

La rete Adessonews è un aggregatore di news e replica gli articoli senza fini di lucro ma con finalità di critica, discussione od insegnamento, come previsto dall’art. 70 legge sul diritto d’autore e art. 41 della costituzione Italiana. Al termine di ciascun articolo è indicata la provenienza dell’articolo. Per richiedere la rimozione dell’articolo clicca qui

Finanziamenti – Agevolazioni

Siamo operativi in tutta Italia

La rete Adessonews è un aggregatore di news e replica gli articoli senza fini di lucro ma con finalità di critica, discussione od insegnamento,

come previsto dall’art. 70 legge sul diritto d’autore e art. 41 della costituzione Italiana. Al termine di ciascun articolo è indicata la provenienza dell’articolo.

Per richiedere la rimozione dell’articolo clicca qui