react-image-gallery
Version:
React carousel image gallery component with thumbnail and mobile support
1 lines • 34 kB
JavaScript
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react/jsx-runtime"),require("react")):"function"==typeof define&&define.amd?define(["react/jsx-runtime","react"],t):"object"==typeof exports?exports.ImageGallery=t(require("react/jsx-runtime"),require("react")):e.ImageGallery=t(e.ReactJSXRuntime,e.React)}(this,((e,t)=>(()=>{"use strict";var n={12(e){e.exports=t},550(t){t.exports=e}},r={};function l(e){var t=r[e];if(void 0!==t)return t.exports;var i=r[e]={exports:{}};return n[e](i,i.exports,l),i.exports}l.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return l.d(t,{a:t}),t},l.d=(e,t)=>{for(var n in t)l.o(t,n)&&!l.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},l.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),l.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};l.r(i),l.d(i,{default:()=>G});var s=l(550),a=l(12),u=l.n(a);function o(e){var t,n,r="";if("string"==typeof e||"number"==typeof e)r+=e;else if("object"==typeof e)if(Array.isArray(e)){var l=e.length;for(t=0;t<l;t++)e[t]&&(n=o(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}const c=function(){for(var e,t,n=0,r="",l=arguments.length;n<l;n++)(e=arguments[n])&&(t=o(e))&&(r&&(r+=" "),r+=t);return r},d=(0,a.memo)((function({index:e,isActive:t=!1,bulletClass:n="",onClick:r}){const l=c("image-gallery-bullet",n,{active:t});return(0,s.jsx)("button",{"aria-label":`Go to Slide ${e+1}`,"aria-pressed":t?"true":"false",className:l,type:"button",onClick:r},`bullet-${e}`)})),m=(0,a.memo)((function({bullets:e=[],slideVertically:t=!1,currentIndex:n=0,maxBullets:r}){const l=(0,a.useRef)(null),[i,u]=(0,a.useState)(0),o=void 0!==r&&r<3?3:r,d=c("image-gallery-bullets",{"image-gallery-bullets-vertical":t});(0,a.useEffect)((()=>{const n=()=>{if(l.current&&o&&e.length>0){const e=l.current.querySelector(".image-gallery-bullet");if(e){const n=window.getComputedStyle(e),r=e.offsetWidth,l=parseFloat(n.marginLeft)||0,i=parseFloat(n.marginRight)||0,s=e.offsetHeight,a=parseFloat(n.marginTop)||0,o=parseFloat(n.marginBottom)||0;u(t?s+a+o:r+l+i)}}};n();const r=new ResizeObserver((()=>{n()}));return l.current&&r.observe(l.current),()=>{r.disconnect()}}),[e.length,o,t]);const m=(0,a.useMemo)((()=>{if(!o||o>=e.length||0===i)return{};const r=e.length,l=Math.floor(o/2);let s;return s=n<=l?0:n>=r-l-1?-(r-o)*i:-(n-l)*i,{transform:t?`translateY(${s}px)`:`translateX(${s}px)`,transition:"transform 0.3s ease-out"}}),[e.length,n,o,i,t]),h=(0,a.useMemo)((()=>{if(!o||o>=e.length||0===i)return{};const n=o*i;return t?{height:`${n}px`,overflow:"hidden"}:{width:`${n}px`,overflow:"hidden"}}),[o,e.length,i,t]);return e&&0!==e.length?(0,s.jsx)("div",{className:d,children:(0,s.jsx)("div",{"aria-label":"Bullet Navigation",className:"image-gallery-bullets-container",role:"navigation",style:h,children:(0,s.jsx)("div",{ref:l,className:"image-gallery-bullets-inner",style:m,children:e})})}):null})),h=550,g=3e3,f=.4,b=30,p="cubic-bezier(0.4, 0, 0.2, 1)",y={left:(0,s.jsx)("polyline",{points:"15 18 9 12 15 6"}),right:(0,s.jsx)("polyline",{points:"9 18 15 12 9 6"}),top:(0,s.jsx)("polyline",{points:"6 15 12 9 18 15"}),bottom:(0,s.jsx)("polyline",{points:"6 9 12 15 18 9"}),maximize:(0,s.jsx)("path",{d:"M8 3H3v5m18 0V3h-5m0 18h5v-5M3 16v5h5"}),minimize:(0,s.jsx)("path",{d:"M8 3v5H3m18 0h-5V3m0 18v-5h5M3 16h5v5"}),play:(0,s.jsx)("polygon",{points:"5 3 19 12 5 21 5 3"}),pause:(0,s.jsxs)(u().Fragment,{children:[(0,s.jsx)("rect",{height:"16",width:"4",x:"6",y:"4"}),(0,s.jsx)("rect",{height:"16",width:"4",x:"14",y:"4"})]})},v={strokeWidth:1,viewBox:"0 0 24 24"},x=e=>{const{strokeWidth:t,viewBox:n,icon:r}={...v,...e};return(0,s.jsx)("svg",{className:"image-gallery-svg",fill:"none",stroke:"currentColor",strokeLinecap:"square",strokeLinejoin:"miter",strokeWidth:t,viewBox:n,xmlns:"http://www.w3.org/2000/svg",children:y[r]})},S=u().memo((({disabled:e,onClick:t})=>(0,s.jsx)("button",{"aria-label":"Next Slide",className:"image-gallery-icon image-gallery-bottom-nav",disabled:e,type:"button",onClick:t,children:(0,s.jsx)(x,{icon:"bottom",viewBox:"6 0 12 24"})})));S.displayName="BottomNav";const w=S,C=u().memo((({isFullscreen:e,onClick:t})=>(0,s.jsx)("button",{"aria-label":"Open Fullscreen",className:"image-gallery-icon image-gallery-fullscreen-button",type:"button",onClick:t,children:(0,s.jsx)(x,{icon:e?"minimize":"maximize",strokeWidth:2})})));C.displayName="Fullscreen";const T=C,k=u().memo((({disabled:e,onClick:t})=>(0,s.jsx)("button",{"aria-label":"Previous Slide",className:"image-gallery-icon image-gallery-left-nav",disabled:e,type:"button",onClick:t,children:(0,s.jsx)(x,{icon:"left",viewBox:"6 0 12 24"})})));k.displayName="LeftNav";const R=k,j=u().memo((({isPlaying:e,onClick:t})=>(0,s.jsx)("button",{"aria-label":"Play or Pause Slideshow",className:"image-gallery-icon image-gallery-play-button",type:"button",onClick:t,children:(0,s.jsx)(x,{icon:e?"pause":"play",strokeWidth:2})})));j.displayName="PlayPause";const I=j,F=u().memo((({disabled:e,onClick:t})=>(0,s.jsx)("button",{"aria-label":"Next Slide",className:"image-gallery-icon image-gallery-right-nav",disabled:e,type:"button",onClick:t,children:(0,s.jsx)(x,{icon:"right",viewBox:"6 0 12 24"})})));F.displayName="RightNav";const E=F,N=u().memo((({disabled:e,onClick:t})=>(0,s.jsx)("button",{"aria-label":"Previous Slide",className:"image-gallery-icon image-gallery-top-nav",disabled:e,type:"button",onClick:t,children:(0,s.jsx)(x,{icon:"top",viewBox:"6 0 12 24"})})));N.displayName="TopNav";const L=N;function M(e,t,n={}){const{leading:r=!0,trailing:l=!0}=n;let i=0,s=null,a=null,u=null;function o(){null!==a&&(e.apply(u,a),i=Date.now(),a=null,u=null)}return function(...e){const n=Date.now(),c=n-i;a=e,u=this,c>=t?(s&&(clearTimeout(s),s=null),r?o():i=n):l&&!s&&(s=setTimeout((()=>{s=null,a&&o()}),t-c))}}function $(e,t){let n;return function(...r){clearTimeout(n),n=setTimeout((()=>{e.apply(this,r)}),t)}}const W=(0,a.memo)((function({currentIndex:e,totalItems:t,indexSeparator:n=" / "}){return(0,s.jsxs)("div",{className:"image-gallery-index",children:[(0,s.jsx)("span",{className:"image-gallery-index-current",children:e+1}),(0,s.jsx)("span",{className:"image-gallery-index-separator",children:n}),(0,s.jsx)("span",{className:"image-gallery-index-total",children:t})]})})),P={description:"",fullscreen:"",isFullscreen:!1,originalAlt:"",originalHeight:"",originalWidth:"",originalTitle:"",sizes:"",srcSet:"",loading:"eager"},D=u().memo((e=>{const{description:t,fullscreen:n,handleImageLoaded:r,isFullscreen:l,onImageError:i,original:a,originalAlt:o,originalHeight:c,originalWidth:d,originalTitle:m,sizes:h,srcSet:g,loading:f}={...P,...e},b=l&&n||a;return(0,s.jsxs)(u().Fragment,{children:[(0,s.jsx)("img",{alt:o,className:"image-gallery-image",height:c,loading:f,sizes:h,src:b,srcSet:g,title:m,width:d,onError:i,onLoad:e=>r(e,a)}),t&&(0,s.jsx)("span",{className:"image-gallery-description",children:t})]})}));D.displayName="Item";const B=D,z=(0,a.memo)((function({index:e,alignment:t="",originalClass:n="",style:r={},onClick:l,onKeyUp:i,onTouchMove:a,onTouchEnd:u,onTouchStart:o,onMouseOver:c,onMouseLeave:d,children:m=null}){return(0,s.jsx)("div",{"aria-label":`Go to Slide ${e+1}`,className:`image-gallery-slide ${t} ${n}`,role:"button",style:r,tabIndex:-1,onClick:l,onFocus:c,onKeyUp:i,onMouseLeave:d,onMouseOver:c,onTouchEnd:u,onTouchMove:a,onTouchStart:o,children:m},`slide-${e}`)}));function H(e,t){return Math.abs(e)>=Math.abs(t)?e>0?"Right":"Left":t>0?"Down":"Up"}function O(e){if(e.length<2)return 0;const t=e[0],n=e[e.length-1],r=n.time-t.time;if(0===r)return 0;const l=n.x-t.x,i=n.y-t.y;return Math.sqrt(l*l+i*i)/r}const q={className:"",delta:0,onSwiping:()=>{},onSwiped:()=>{}},A=e=>{const{children:t,className:n,delta:r,onSwiping:l,onSwiped:i}={...q,...e},{ref:u}=function({delta:e=0,onSwiping:t,onSwiped:n}){const r=(0,a.useRef)({swiping:!1,startX:0,startY:0,samples:[]}),l=(0,a.useRef)({delta:e,onSwiping:t,onSwiped:n});l.current={delta:e,onSwiping:t,onSwiped:n};const i=(0,a.useRef)(null);if(!i.current){const e=e=>{const t=e.touches[0],n=r.current;n.startX=t.clientX,n.startY=t.clientY,n.swiping=!1,n.samples=[{x:t.clientX,y:t.clientY,time:Date.now()}]},t=e=>{const t=e.touches[0],n=r.current,{delta:i,onSwiping:s}=l.current,a=t.clientX-n.startX,u=t.clientY-n.startY,o=Math.abs(a),c=Math.abs(u),d=Date.now();n.samples.push({x:t.clientX,y:t.clientY,time:d});const m=d-100;for(;n.samples.length>1&&n.samples[0].time<m;)n.samples.shift();if(!n.swiping){if(Math.max(o,c)<i)return;n.swiping=!0}s&&s({event:e,absX:o,absY:c,dir:H(a,u),velocity:O(n.samples)})},n=e=>{const t=r.current,{onSwiped:n}=l.current;if(t.swiping){if(t.swiping=!1,n){const r=(e.changedTouches[0]?.clientX??0)-t.startX,l=(e.changedTouches[0]?.clientY??0)-t.startY;n({event:e,absX:Math.abs(r),absY:Math.abs(l),dir:H(r,l),velocity:O(t.samples)})}t.samples=[]}};i.current={touchstart:e,touchmove:t,touchend:n}}const s=(0,a.useRef)(null);return{ref:(0,a.useCallback)((e=>{const t=i.current;s.current&&(s.current.removeEventListener("touchstart",t.touchstart),s.current.removeEventListener("touchmove",t.touchmove),s.current.removeEventListener("touchend",t.touchend)),s.current=e,e&&(e.addEventListener("touchstart",t.touchstart,{passive:!0}),e.addEventListener("touchmove",t.touchmove,{passive:!1}),e.addEventListener("touchend",t.touchend,{passive:!0}))}),[])}}({delta:r,onSwiping:l,onSwiped:i});return(0,s.jsx)("div",{ref:u,className:n,children:t})},U=(0,a.memo)((function({index:e,isActive:t=!1,thumbnailClass:n="",onMouseLeave:r,onMouseOver:l,onFocus:i,onKeyUp:a,onClick:u,children:o=null}){const d=c("image-gallery-thumbnail",n,{active:t});return(0,s.jsx)("button",{"aria-label":`Go to Slide ${e+1}`,"aria-pressed":t?"true":"false",className:d,tabIndex:0,type:"button",onClick:u??void 0,onFocus:i??void 0,onKeyUp:a??void 0,onMouseLeave:r??void 0,onMouseOver:l??void 0,children:o},`thumbnail-${e}`)})),X=(0,a.memo)((function({thumbnails:e=[],thumbnailPosition:t="bottom",thumbnailStyle:n={},thumbnailBarHeight:r={},isRTL:l=!1,disableThumbnailSwipe:i=!1,onSwiping:a,onSwiped:u,thumbnailsWrapperRef:o,thumbnailsRef:d}){const m="left"===t||"right"===t,h=c("image-gallery-thumbnails-wrapper",(e=>{const t={left:"image-gallery-thumbnails-left",right:"image-gallery-thumbnails-right",bottom:"image-gallery-thumbnails-bottom",top:"image-gallery-thumbnails-top"};return t[e]?` ${t[e]}`:""})(t),{"thumbnails-wrapper-rtl":!m&&l},{"thumbnails-swipe-horizontal":!m&&!i},{"thumbnails-swipe-vertical":m&&!i});return e&&0!==e.length?(0,s.jsx)(A,{className:h,delta:0,onSwiped:i?void 0:u??void 0,onSwiping:i?void 0:a??void 0,children:(0,s.jsx)("div",{ref:o,className:"image-gallery-thumbnails",style:r,children:(0,s.jsx)("nav",{ref:d,"aria-label":"Thumbnail Navigation",className:"image-gallery-thumbnails-container",style:n,children:e})})}):null}));const Y=["fullscreenchange","MSFullscreenChange","mozfullscreenchange","webkitfullscreenchange"];function K(e){const t=parseInt(String(e.keyCode||e.which||0),10);return 13===t||32===t}function V(e){return{left:" image-gallery-thumbnails-left",right:" image-gallery-thumbnails-right",bottom:" image-gallery-thumbnails-bottom",top:" image-gallery-thumbnails-top"}[e]||""}const G=(0,a.forwardRef)((function(e,t){const{additionalClass:n="",autoPlay:r=!1,disableKeyDown:l=!1,disableSwipe:i=!1,disableThumbnailScroll:u=!1,disableThumbnailSwipe:o=!1,flickThreshold:y=f,indexSeparator:v=" / ",infinite:x=!0,isRTL:S=!1,items:C,lazyLoad:k=!1,onBeforeSlide:j,onBulletClick:F,onClick:N,onErrorImageURL:P="",onImageError:D,onImageLoad:H,onMouseLeave:O,onMouseOver:q,onPause:G,onPlay:_,onScreenChange:J,onSlide:Q,onThumbnailClick:Z,onThumbnailError:ee,onTouchEnd:te,onTouchMove:ne,onTouchStart:re,renderBottomNav:le=(e,t)=>(0,s.jsx)(w,{disabled:t,onClick:e}),renderCustomControls:ie,renderFullscreenButton:se=(e,t)=>(0,s.jsx)(T,{isFullscreen:t,onClick:e}),renderItem:ae,renderLeftNav:ue=(e,t)=>(0,s.jsx)(R,{disabled:t,onClick:e}),renderPlayPauseButton:oe=(e,t)=>(0,s.jsx)(I,{isPlaying:t,onClick:e}),renderRightNav:ce=(e,t)=>(0,s.jsx)(E,{disabled:t,onClick:e}),renderThumbInner:de,renderTopNav:me=(e,t)=>(0,s.jsx)(L,{disabled:t,onClick:e}),showBullets:he=!1,maxBullets:ge,showFullscreenButton:fe=!0,showIndex:be=!1,showNav:pe=!0,showPlayButton:ye=!0,showThumbnails:ve=!0,slideDuration:xe=h,slideInterval:Se=g,slideOnThumbnailOver:we=!1,slideVertically:Ce=!1,startIndex:Te=0,stopPropagation:ke=!1,swipeThreshold:Re=b,thumbnailPosition:je="bottom",useBrowserFullscreen:Ie=!0,useTranslate3D:Fe=!0,useWindowKeyDown:Ee=!0}=e,Ne=(0,a.useRef)(null),Le=(0,a.useRef)(null),Me=(0,a.useRef)(null),$e=(0,a.useRef)({}),We=(0,a.useRef)([]),Pe=(0,a.useRef)(null),De=(0,a.useRef)(null),[Be,ze]=(0,a.useState)(0),[He,Oe]=(0,a.useState)(0),[qe,Ae]=(0,a.useState)(0),Ue=(0,a.useRef)(!1),Xe=(0,a.useRef)(!1),Ye=(0,a.useRef)(null),Ke=(0,a.useRef)(0),Ve=(0,a.useRef)(null),Ge=C.length,_e=Ge>=2,{currentIndex:Je,displayIndex:Qe,isTransitioning:Ze,currentSlideOffset:et,canSlideLeft:tt,canSlideRight:nt,slideToIndex:rt,slideToIndexCore:lt,slideToIndexWithStyleReset:it,slideLeft:st,slideRight:at,getContainerStyle:ut,getExtendedSlides:ot,getAlignmentClass:ct,setCurrentSlideOffset:dt,setSlideStyle:mt,setIsTransitioning:ht,totalDisplaySlides:gt}=function({items:e,startIndex:t=0,infinite:n=!0,isRTL:r=!1,slideDuration:l=h,onSlide:i,onBeforeSlide:s}){const[u,o]=(0,a.useState)(t),[c,d]=(0,a.useState)(t),[m,g]=(0,a.useState)(!1),[f,b]=(0,a.useState)(0),[y,v]=(0,a.useState)(n&&e.length>1?t+1:t),[x,S]=(0,a.useState)({transition:`transform ${l}ms ${p}`}),w=(0,a.useRef)(null),C=(0,a.useRef)(null),T=(0,a.useRef)(!1),k=e.length,R=k>=2,j=n&&k>1?k+2:k;(0,a.useEffect)((()=>()=>{w.current&&window.clearTimeout(w.current),C.current&&window.clearTimeout(C.current)}),[]),(0,a.useEffect)((()=>{o(t),v(n&&e.length>1?t+1:t),S({transition:"none"})}),[e,t,n]);const I=(0,a.useCallback)((()=>u>0),[u]),F=(0,a.useCallback)((()=>u<k-1),[u,k]),E=(0,a.useCallback)((()=>n||(r?F():I())),[n,r,F,I]),N=(0,a.useCallback)((()=>n||(r?I():F())),[n,r,F,I]),L=(0,a.useCallback)((()=>{w.current=window.setTimeout((()=>{m&&(g(!1),i&&i(u))}),l+50)}),[m,u,l,i]),$=(0,a.useCallback)((e=>n&&k>1?e+1:e),[n,k]),W=(0,a.useCallback)(((e,t)=>{T.current=!0,S({transition:"none"}),v(t),C.current=window.setTimeout((()=>{S({transition:`transform ${l}ms ${p}`}),T.current=!1}),50)}),[l]),P=(0,a.useCallback)(((e,t,r=!1,a)=>{if((m||T.current)&&!r)return;const c=a??l,h=k-1;let f,y=e,x=!1,C=null;e<0?(y=h,x=!0,C="start"):e>h&&(y=0,x=!0,C="end"),f=n&&k>1?x&&"start"===C?0:x&&"end"===C?j-1:y+1:y,s&&y!==u&&s(y),d(u),o(y),v(f),g(y!==u||x),b(0),S({transition:`transform ${c}ms ${p}`}),n&&k>1&&x&&(w.current=window.setTimeout((()=>{g(!1),i&&i(y);const e=$(y);W(y,e)}),c+20))}),[u,k,j,l,s,i,m,n,$,W]),D=(0,a.useRef)(M(((e,t)=>{P(e,t,!1)}),l,{trailing:!1}));(0,a.useEffect)((()=>{D.current=M(((e,t)=>{P(e,t,!1)}),l,{trailing:!1})}),[l,P]);const B=(0,a.useCallback)(((e,t)=>{D.current(e,t)}),[]),z=(0,a.useCallback)(((e,t)=>{b((t=>t+(u>e?.001:-.001))),S({transition:"none"}),window.setTimeout((()=>{P(e,t)}),25)}),[u,P]),H=(0,a.useCallback)((e=>{const t=u+("left"==(r?"right":"left")?-1:1);m||T.current||(2===k?z(t,e):B(t,e))}),[r,u,m,k,z,B]),O=(0,a.useCallback)((e=>{const t=u+("left"==(r?"left":"right")?-1:1);m||T.current||(2===k?z(t,e):B(t,e))}),[r,u,m,k,z,B]),q=(0,a.useCallback)((({useTranslate3D:e=!0,slideVertically:t=!1}={})=>{const n=-(100*y-f*(r?-1:1)),l=t?e?`translate3d(0, ${n}%, 0)`:`translate(0, ${n}%)`:e?`translate3d(${n}%, 0, 0)`:`translate(${n}%, 0)`;return{transform:l,WebkitTransform:l,MozTransform:l,msTransform:l,OTransform:l,...x}}),[y,f,x,r]),A=(0,a.useCallback)((()=>{if(!n||k<=1)return{extendedItems:e,getSlideKey:e=>`slide-${e}`,getRealIndex:e=>e};const t=[e[k-1],...e,e[0]];return{extendedItems:t,getSlideKey:e=>0===e?"slide-clone-last":e===t.length-1?"slide-clone-first":"slide-"+(e-1),getRealIndex:e=>0===e?k-1:e===t.length-1?0:e-1}}),[e,k,n]),U=(0,a.useCallback)((e=>{const{getRealIndex:t}=A(),n=t(e);return n===u?"image-gallery-center":n===(u-1+k)%k?"image-gallery-left":n===(u+1)%k?"image-gallery-right":""}),[u,k,A]);return(0,a.useEffect)((()=>{m&&!T.current&&L()}),[m,L]),{currentIndex:u,previousIndex:c,displayIndex:y,isTransitioning:m,currentSlideOffset:f,slideStyle:x,canSlide:R,canSlideLeft:E,canSlideRight:N,canSlidePrevious:I,canSlideNext:F,slideToIndex:B,slideToIndexCore:P,slideToIndexWithStyleReset:z,slideLeft:H,slideRight:O,getContainerStyle:q,getExtendedSlides:A,getAlignmentClass:U,setCurrentSlideOffset:b,setSlideStyle:S,setIsTransitioning:g,totalDisplaySlides:j}}({items:C,startIndex:Te,infinite:x,isRTL:S,slideDuration:xe,onSlide:Q,onBeforeSlide:j}),{thumbsTranslate:ft,setThumbsTranslate:bt,thumbsSwipedTranslate:pt,setThumbsSwipedTranslate:yt,setThumbsStyle:vt,thumbnailsWrapperWidth:xt,thumbnailsWrapperHeight:St,isSwipingThumbnail:wt,setIsSwipingThumbnail:Ct,thumbnailsWrapperRef:Tt,thumbnailsRef:kt,isThumbnailVertical:Rt,getThumbnailStyle:jt,getThumbnailBarHeight:It,initResizeObserver:Ft,removeResizeObserver:Et}=function({currentIndex:e,items:t,thumbnailPosition:n="bottom",disableThumbnailScroll:r=!1,slideDuration:l=h,isRTL:i=!1,useTranslate3D:s=!0}){const[u,o]=(0,a.useState)(0),[c,d]=(0,a.useState)(0),[m,g]=(0,a.useState)({transition:`all ${l}ms ease-out`}),[f,b]=(0,a.useState)(0),[p,y]=(0,a.useState)(0),[v,x]=(0,a.useState)(!1),S=(0,a.useRef)(null),w=(0,a.useRef)(null),C=(0,a.useRef)(null),T=(0,a.useRef)(e),k=(0,a.useCallback)((()=>"left"===n||"right"===n),[n]),R=(0,a.useCallback)((e=>{if(r)return 0;const n=w.current;if(!n)return 0;let l;if(k()){if(n.scrollHeight<=p)return 0;l=n.scrollHeight-p}else{if(n.scrollWidth<=f||f<=0)return 0;l=n.scrollWidth-f}return e*(l/(t.length-1))}),[r,t.length,f,p,k]),j=(0,a.useCallback)((()=>{if(v)return;const t=-R(e);g({transition:`all ${l}ms ease-out`}),0===e?(o(0),d(0)):(o(t),d(t))}),[e,R,v,l]);(0,a.useEffect)((()=>{T.current!==e&&(T.current=e,j())}),[e,j]);const I=(0,a.useRef)(n);(0,a.useEffect)((()=>{if(I.current!==n){I.current=n,g({transition:"none"}),o(0),d(0);const r=()=>{if(!S.current||!w.current)return;const r=S.current.getBoundingClientRect(),i=r.width,s=r.height;b(i),y(s);const a="left"===n||"right"===n,u=w.current;let c;if(a){if(u.scrollHeight<=s)return void g({transition:`all ${l}ms ease-out`});c=u.scrollHeight-s}else{if(u.scrollWidth<=i)return void g({transition:`all ${l}ms ease-out`});c=u.scrollWidth-i}const m=c/(t.length-1),h=-e*m;o(h),d(h),requestAnimationFrame((()=>{g({transition:`all ${l}ms ease-out`})}))};requestAnimationFrame((()=>{requestAnimationFrame((()=>{setTimeout(r,100)}))}))}}),[n,e,t.length,l]);const F=(0,a.useCallback)((()=>{const e=i?-1*u:u;let t;return t=k()?s?`translate3d(0, ${u}px, 0)`:`translate(0, ${u}px)`:s?`translate3d(${e}px, 0, 0)`:`translate(${e}px, 0)`,{WebkitTransform:t,MozTransform:t,msTransform:t,OTransform:t,transform:t,...m}}),[u,m,i,s,k]),E=(0,a.useCallback)((e=>k()?{height:e}:{}),[k]),N=(0,a.useCallback)((e=>{e?.current&&(C.current=new ResizeObserver($((e=>{e&&e.forEach((e=>{b(e.contentRect.width),y(e.contentRect.height)}))}),50)),C.current.observe(e.current))}),[]),L=(0,a.useCallback)((()=>{C.current&&S.current&&(C.current.unobserve(S.current),C.current=null)}),[]),M=(0,a.useRef)({width:0,height:0});(0,a.useEffect)((()=>{if(0===f&&0===p)return;if(M.current.width===f&&M.current.height===p)return;if(M.current={width:f,height:p},v)return;const n=w.current;if(!n)return;let r;if(k()){if(n.scrollHeight<=p)return o(0),void d(0);r=n.scrollHeight-p}else{if(n.scrollWidth<=f)return o(0),void d(0);r=n.scrollWidth-f}const l=r/(t.length-1),i=-e*l;o(i),d(i)}),[f,p,e,t.length,v,k]),(0,a.useEffect)((()=>()=>{L()}),[L]);const W=(0,a.useCallback)((()=>{x(!0),d(u),g({transition:`all ${l}ms ease-out`})}),[u,l]),P=(0,a.useCallback)((()=>{x(!1)}),[]);return{thumbsTranslate:u,setThumbsTranslate:o,thumbsSwipedTranslate:c,setThumbsSwipedTranslate:d,thumbsStyle:m,setThumbsStyle:g,thumbnailsWrapperWidth:f,thumbnailsWrapperHeight:p,isSwipingThumbnail:v,setIsSwipingThumbnail:x,thumbnailsWrapperRef:S,thumbnailsRef:w,isThumbnailVertical:k,getThumbsTranslate:R,getThumbnailStyle:F,getThumbnailBarHeight:E,slideThumbnailBar:j,initResizeObserver:N,removeResizeObserver:L,handleThumbnailSwipeEnd:W,resetSwipingThumbnail:P}}({currentIndex:Je,items:C,thumbnailPosition:je,disableThumbnailScroll:u,slideDuration:xe,isRTL:S,useTranslate3D:Fe}),{isFullscreen:Nt,modalFullscreen:Lt,fullScreen:Mt,exitFullScreen:$t,toggleFullScreen:Wt,handleScreenChange:Pt}=function({useBrowserFullscreen:e=!0,onScreenChange:t,galleryRef:n}){const[r,l]=(0,a.useState)(!1),[i,s]=(0,a.useState)(!1),u=(0,a.useCallback)((()=>{const r=document,i=r.fullscreenElement||r.msFullscreenElement||r.mozFullScreenElement||r.webkitFullscreenElement,s=n?.current===i;t&&t(s),e&&l(s)}),[n,e,t]),o=(0,a.useCallback)((e=>{s(e),t&&t(e)}),[t]),c=(0,a.useCallback)((()=>{const t=n?.current;t&&(e?t.requestFullscreen?t.requestFullscreen():t.msRequestFullscreen?t.msRequestFullscreen():t.mozRequestFullScreen?t.mozRequestFullScreen():t.webkitRequestFullscreen?t.webkitRequestFullscreen():o(!0):o(!0),l(!0))}),[n,e,o]),d=(0,a.useCallback)((()=>{if(!r)return;const t=document;e?t.exitFullscreen?t.exitFullscreen():t.webkitExitFullscreen?t.webkitExitFullscreen():t.mozCancelFullScreen?t.mozCancelFullScreen():t.msExitFullscreen?t.msExitFullscreen():o(!1):o(!1),l(!1)}),[r,e,o]),m=(0,a.useCallback)((()=>{r?d():c()}),[r,d,c]);return{isFullscreen:r,modalFullscreen:i,fullScreen:c,exitFullScreen:d,toggleFullScreen:m,handleScreenChange:u}}({useBrowserFullscreen:Ie,onScreenChange:J,galleryRef:Ne}),{isPlaying:Dt,playPauseIntervalRef:Bt,play:zt,pause:Ht,togglePlay:Ot}=function({autoPlay:e=!1,slideInterval:t=g,slideDuration:n=h,infinite:r=!0,totalSlides:l,currentIndex:i,canSlideRight:s,slideToIndexCore:u,slideToIndexWithStyleReset:o,onPlay:c,onPause:d}){const[m,f]=(0,a.useState)(!1),b=(0,a.useRef)(null),p=(0,a.useRef)(null),y=(0,a.useCallback)((()=>{if(r||s()){const e=i+1;2===l?o(e):u(e)}else b.current&&(clearInterval(b.current),b.current=null,f(!1),d&&d(i))}),[r,s,i,l,u,o,d]);p.current=y;const v=(0,a.useCallback)(((e=!0)=>{b.current||(f(!0),b.current=setInterval((()=>p.current?.()),Math.max(t,n)),c&&e&&c(i))}),[t,n,c,i]),x=(0,a.useCallback)(((e=!0)=>{b.current&&(clearInterval(b.current),b.current=null,f(!1),d&&e&&d(i))}),[d,i]),S=(0,a.useCallback)((()=>{b.current?x():v()}),[v,x]),w=(0,a.useRef)(v),C=(0,a.useRef)(x);return w.current=v,C.current=x,(0,a.useEffect)((()=>{m&&(C.current(!1),w.current(!1))}),[t,n,m]),(0,a.useEffect)((()=>{e&&!b.current&&w.current()}),[e]),(0,a.useEffect)((()=>()=>{b.current&&(clearInterval(b.current),b.current=null)}),[]),{isPlaying:m,playPauseIntervalRef:b,play:v,pause:x,togglePlay:S}}({autoPlay:r,slideInterval:Se,slideDuration:xe,infinite:x,totalSlides:Ge,currentIndex:Je,canSlideRight:nt,slideToIndexCore:lt,slideToIndexWithStyleReset:it,onPlay:_,onPause:G}),qt=(0,a.useCallback)((()=>{Ue.current=!1,Xe.current=!1}),[]),At=(0,a.useCallback)((()=>{return e=Ke.current,t=Re,Math.abs(e)>t;var e,t}),[Re]),Ut=(0,a.useCallback)((({event:e,absX:t,absY:n,dir:r})=>{const l=r,s=Ue.current,a=Xe.current;if(("Up"===l||"Down"===l||s)&&!a&&(s||(Ue.current=!0),!Ce))return;if("Left"!==l&&"Right"!==l||a||(Xe.current=!0),i)return;(!Ce&&Xe.current||Ce&&Ue.current)&&e.preventDefault(),ke&&e.preventDefault();const u=!s&&!a;if(Ze&&!u)return void(Ke.current=0);if(Ze&&u&&ht(!1),function(e,t){return!("Left"!==e&&"Right"!==e||!t)||!("Up"!==e&&"Down"!==e||t)}(l,Ce))return;const o=function(e,t,n,r,l,i){const s={Left:-1,Right:1,Up:-1,Down:1}[l];let a=i?t/r*100:e/n*100;return Math.abs(a)>=100&&(a=100),s*a}(t,n,Be,He,l,Ce);Ke.current=o;const c=Ye.current;c&&(u&&(c.style.transition="none"),null!==Ve.current&&cancelAnimationFrame(Ve.current),Ve.current=requestAnimationFrame((()=>{Ve.current=null;const e=Ke.current*(S?-1:1),t=-(100*Qe-e),n=Ce?Fe?`translate3d(0, ${t}%, 0)`:`translate(0, ${t}%)`:Fe?`translate3d(${t}%, 0, 0)`:`translate(${t}%, 0)`;c.style.transform=n})))}),[i,ke,Ze,Be,He,Ce,Qe,S,Fe,ht]),Xt=(0,a.useCallback)(((e,t,n)=>{null!==Ve.current&&(cancelAnimationFrame(Ve.current),Ve.current=null);const r=Ke.current,l=function(e,t,n,r,l,i,s){let a=e;return!n&&!r||l||(a+=t),-1!==t||i||(a=e),1!==t||s||(a=e),a}(Je,e,At(),t,Ze,tt(),nt()),i=function(e,t,n,r,l,i){const s=Math.abs(e),a=(t!==n?100-s:s)/100*i;return r>0?Math.min(l,Math.max(80,Math.round(a/r))):l}(r,l,Je,n,xe,Ce?He:Be),s=function(e,t,n,r){const l=t-1;return e<0?0:e>l?r&&t>1?n-1:l:r&&t>1?e+1:e}(l,Ge,gt,x),a=Ye.current;if(a){a.getBoundingClientRect(),a.style.transition=`transform ${i}ms ${p}`;const e=-100*s;a.style.transform=Ce?Fe?`translate3d(0, ${e}%, 0)`:`translate(0, ${e}%)`:Fe?`translate3d(${e}%, 0, 0)`:`translate(${e}%, 0)`}dt(r),lt(l,void 0,!1,i),Ke.current=0}),[Je,Ge,gt,x,Ze,xe,Ce,Fe,Be,He,At,tt,nt,lt,dt]),Yt=(0,a.useCallback)((({event:e,dir:t,velocity:n})=>{if(i)return;ke&&e.stopPropagation(),qt();const r=t,l=function(e,t,n){return n?"Up"===e?1:-1:("Left"===e?1:-1)*(t?-1:1)}(r,S,Ce),s=function(e,t,n,r){return r?e>t&&!("Left"===n||"Right"===n):e>t&&!("Up"===n||"Down"===n)}(n,y,r,Ce);Xt(l,s,n)}),[i,ke,qt,S,Ce,y,Xt]),Kt=(0,a.useCallback)((({event:e,absX:t,absY:n,dir:r})=>{const l=r,i=Rt(),s=Ue.current,a=Xe.current;if(i){if(("Left"===l||"Right"===l||a)&&!s)return void(a||(Xe.current=!0));"Up"!==l&&"Down"!==l||s||(Ue.current=!0)}else{if(("Up"===l||"Down"===l||s)&&!a)return void(s||(Ue.current=!0));"Left"!==l&&"Right"!==l||a||(Xe.current=!0)}const u=kt.current;if(!u)return;let o,c,d,m,h;i?(o=pt+("Down"===l?n:-n),c=u.scrollHeight-St+0,d=Math.abs(o)>c,m=o>0,h=u.scrollHeight<=St):(o=pt+("Right"===l?t:-t),c=u.scrollWidth-xt+0,d=Math.abs(o)>c,m=o>0,h=u.scrollWidth<=xt),h||("Left"!==l&&"Up"!==l||!d)&&("Right"!==l&&"Down"!==l||!m)&&(ke&&e.stopPropagation(),bt(o),wt||(vt({transition:"none"}),Ct(!0)))}),[Rt,St,xt,pt,ke,wt,kt,bt,vt,Ct]),Vt=(0,a.useCallback)((({velocity:e,dir:t})=>{qt();const n=kt.current,r=Rt(),l=r?n?.scrollHeight??0:n?.scrollWidth??0,i=r?St:xt,{targetTranslate:s,transitionStyle:a}=function(e){const{velocity:t,direction:n,isVertical:r,currentTranslate:l,scrollSize:i,wrapperSize:s,slideDuration:a,emptySpaceMargin:u=0,momentumMultiplier:o=150}=e,c=function(e,t=150){return e*t}(t,o),d=function(e,t){return t?"Down"===e?1:-1:"Right"===e?1:-1}(n,r);let m=l+c*d;const g=i-s+u;g>0&&(m=function(e,t,n=0){let r=Math.min(n,e);return r=Math.max(-t,r),r}(m,g,u));const f=function(e,t=h,n=700){return Math.min(n,t+100*e)}(t,a);return{targetTranslate:m,transitionDuration:f,transitionStyle:`all ${f}ms cubic-bezier(0.25, 0.46, 0.45, 0.94)`}}({velocity:e,direction:t,isVertical:r,currentTranslate:ft,scrollSize:l,wrapperSize:i,slideDuration:xe});vt({transition:a}),bt(s),yt(s),Ct(!1)}),[qt,ft,bt,yt,Ct,vt,xe,Rt,kt,St,xt]),Gt=(0,a.useCallback)((e=>{if(Ne.current?.classList.remove("image-gallery-using-mouse"),!l)switch(parseInt(String(e.keyCode||e.which||0),10)){case 37:tt()&&!Bt?.current&&st(e);break;case 39:nt()&&!Bt?.current&&at(e);break;case 27:Nt&&!Ie&&$t()}}),[l,tt,nt,st,at,Nt,Ie,$t,Bt]);De.current=Gt;const _t=(0,a.useCallback)((e=>{De.current?.(e)}),[]),Jt=(0,a.useCallback)((()=>{Ne.current?.classList.add("image-gallery-using-mouse")}),[]),Qt=(0,a.useCallback)((e=>{K(e)&&N&&N(e)}),[N]),Zt=(0,a.useCallback)(((e,t)=>{Me.current&&(window.clearTimeout(Me.current),Me.current=null),Me.current=window.setTimeout((()=>{rt(t),Ht()}),300)}),[rt,Ht]),en=(0,a.useCallback)((()=>{Me.current&&(window.clearTimeout(Me.current),Me.current=null,r&&zt())}),[r,zt]),tn=(0,a.useCallback)(((e,t)=>{we&&Zt(e,t)}),[we,Zt]),nn=(0,a.useCallback)(((e,t)=>{K(e)&&Z?.(e,t)}),[Z]),rn=(0,a.useCallback)(((e,t)=>{const n=e.target.parentNode?.parentNode;n?.blur&&n.blur(),Je!==t&&(2===Ge?it(t,e):rt(t,e)),Z&&Z(e,t)}),[Je,Ge,rt,it,Z]),ln=(0,a.useCallback)(((e,t)=>{e.target.blur(),Je!==t&&(2===Ge?it(t,e):rt(t,e)),F&&F(e,t)}),[Je,Ge,rt,it,F]),sn=(0,a.useCallback)((e=>{P&&-1===e.currentTarget.src.indexOf(P)&&(e.currentTarget.src=P)}),[P]),an=(0,a.useCallback)(((e,t)=>{$e.current[t]||($e.current[t]=!0,H&&H(e),Ce&&pn.current?.())}),[H,Ce]),un=(0,a.useCallback)((()=>{if(!Ne.current)return;const e=Ne.current.offsetWidth;if(ze(e),Oe(Ne.current.offsetHeight),Le.current)if(Ce){const t=Le.current.offsetWidth||e,n=Le.current.querySelector(".image-gallery-center .image-gallery-image")??Le.current.querySelector(".image-gallery-image");if(n&&n.naturalWidth>0&&n.naturalHeight>0){const e=n.naturalHeight/n.naturalWidth,r=Math.round(t*e),l=window.innerHeight-80;Ae(Math.min(r,l))}else Ae(Le.current.offsetHeight)}else Ae(Le.current.offsetHeight)}),[Ce]),on=(0,a.useCallback)((e=>{e?.current&&(Pe.current=new ResizeObserver($((e=>{e&&e.forEach((()=>{un()}))}),50)),Pe.current.observe(e.current))}),[un]),cn=(0,a.useCallback)((()=>{Pe.current&&Le.current&&(Pe.current.unobserve(Le.current),Pe.current=null)}),[]),dn=(0,a.useRef)(null),mn=(0,a.useRef)(null),hn=(0,a.useRef)(null),gn=(0,a.useRef)(null),fn=(0,a.useRef)(null),bn=(0,a.useRef)(null),pn=(0,a.useRef)(null);dn.current=Jt,mn.current=Pt,hn.current=on,gn.current=Ft,fn.current=cn,bn.current=Et,pn.current=un;const yn=(0,a.useCallback)((()=>{dn.current?.()}),[]),vn=(0,a.useCallback)((()=>{mn.current?.()}),[]),xn=(0,a.useCallback)((e=>{const t=D||sn;return(0,s.jsx)(B,{description:e.description,fullscreen:e.fullscreen,handleImageLoaded:an,isFullscreen:Nt,loading:e.loading,original:e.original,originalAlt:e.originalAlt,originalHeight:e.originalHeight,originalTitle:e.originalTitle,originalWidth:e.originalWidth,sizes:e.sizes,srcSet:e.srcSet,onImageError:t})}),[Nt,D,sn,an]),Sn=(0,a.useCallback)((e=>{const t=ee||sn;return(0,s.jsxs)("span",{className:"image-gallery-thumbnail-inner",children:[(0,s.jsx)("img",{alt:e.thumbnailAlt,className:"image-gallery-thumbnail-image",height:e.thumbnailHeight,loading:e.thumbnailLoading,src:e.thumbnail,title:e.thumbnailTitle,width:e.thumbnailWidth,onError:t}),e.thumbnailLabel&&(0,s.jsx)("div",{className:"image-gallery-thumbnail-label",children:e.thumbnailLabel})]})}),[ee,sn]),wn=(0,a.useMemo)((()=>ut({useTranslate3D:Fe,slideVertically:Ce})),[ut,Fe,Ce]),Cn=(0,a.useMemo)((()=>{const e=[],t=[],n=[],{extendedItems:r,getSlideKey:l,getRealIndex:i}=ot();return r.forEach(((t,n)=>{const r=i(n),a=ct(n),u=t.originalClass?` ${t.originalClass}`:"",o=t.renderItem||ae||xn,c=!k||a||We.current[r];c&&k&&!We.current[r]&&(We.current[r]=!0),e.push((0,s.jsx)(z,{alignment:a,index:r,originalClass:u,onClick:N,onKeyUp:Qt,onMouseLeave:O,onMouseOver:q,onTouchEnd:te,onTouchMove:ne,onTouchStart:re,children:c?o(t):(0,s.jsx)("div",{style:{height:"100%"}})},l(n)))})),C.forEach(((e,r)=>{const l=e.thumbnailClass?` ${e.thumbnailClass}`:"",i=e.renderThumbInner||de||Sn;ve&&e.thumbnail&&t.push((0,s.jsx)(U,{index:r,isActive:Je===r,thumbnailClass:l,onClick:e=>rn(e,r),onFocus:e=>tn(e,r),onKeyUp:e=>nn(e,r),onMouseLeave:we?en:null,onMouseOver:e=>tn(e,r),children:i(e)},`thumbnail-${r}`)),he&&n.push((0,s.jsx)(d,{bulletClass:e.bulletClass,index:r,isActive:Je===r,onClick:e=>ln(e,r)},`bullet-${r}`))})),{slides:e,thumbnails:t,bullets:n}}),[C,Je,ot,ct,k,ve,he,we,xn,Sn,ae,de,N,Qt,ne,te,re,q,O,en,tn,nn,rn,ln]);(0,a.useEffect)((()=>{const e=Ne.current;return Ee?window.addEventListener("keydown",_t):e?.addEventListener("keydown",_t),window.addEventListener("mousedown",yn),hn.current?.(Le),gn.current?.(Tt),Y.forEach((e=>{document.addEventListener(e,vn)})),()=>{window.removeEventListener("mousedown",yn),window.removeEventListener("keydown",_t),e?.removeEventListener("keydown",_t),Y.forEach((e=>{document.removeEventListener(e,vn)})),fn.current?.(),bn.current?.()}}),[Ee,_t,yn,vn,Tt]),(0,a.useEffect)((()=>{fn.current?.(),bn.current?.(),hn.current?.(Le),gn.current?.(Tt)}),[je,Tt]),(0,a.useEffect)((()=>{ve?gn.current?.(Tt):bn.current?.(),pn.current?.()}),[ve,Tt]),(0,a.useEffect)((()=>{fn.current?.(),bn.current?.(),hn.current?.(Le),gn.current?.(Tt),pn.current?.()}),[Ce,Tt]),(0,a.useEffect)((()=>{k&&(We.current=[]),pn.current?.()}),[C,k]);const Tn=(0,a.useRef)(zt),kn=(0,a.useRef)(Ht),Rn=(0,a.useRef)(Ot),jn=(0,a.useRef)(Mt),In=(0,a.useRef)($t),Fn=(0,a.useRef)(Wt),En=(0,a.useRef)(lt),Nn=(0,a.useRef)(Je);Tn.current=zt,kn.current=Ht,Rn.current=Ot,jn.current=Mt,In.current=$t,Fn.current=Wt,En.current=lt,Nn.current=Je,(0,a.useImperativeHandle)(t,(()=>({play:e=>Tn.current(e),pause:e=>kn.current(e),togglePlay:()=>Rn.current(),fullScreen:()=>jn.current(),exitFullScreen:()=>In.current(),toggleFullScreen:()=>Fn.current(),slideToIndex:(e,t)=>En.current(e,t),getCurrentIndex:()=>Nn.current})),[]);const{slides:Ln,thumbnails:Mn,bullets:$n}=Cn,Wn=c("image-gallery-slide-wrapper",V(je),{"image-gallery-rtl":S}),Pn=(0,s.jsxs)("div",{ref:Le,className:Wn,children:[ie&&ie(),_e?(0,s.jsxs)(s.Fragment,{children:[pe&&(0,s.jsxs)(s.Fragment,{children:[Ce?me(st,!tt()):ue(st,!tt()),Ce?le(at,!nt()):ce(at,!nt())]}),(0,s.jsx)(A,{className:"image-gallery-swipe",delta:0,onSwiped:Yt,onSwiping:Ut,children:(0,s.jsx)("div",{className:"image-gallery-slides",style:Ce?{height:qe}:void 0,children:(0,s.jsx)("div",{ref:Ye,className:c("image-gallery-slides-container",{vertical:Ce}),style:wn,children:Ln})})})]}):(0,s.jsx)("div",{className:"image-gallery-slides",style:Ce?{height:qe}:void 0,children:(0,s.jsx)("div",{ref:Ye,className:c("image-gallery-slides-container",{vertical:Ce}),style:wn,children:Ln})}),ye&&oe(Ot,Dt),he&&(0,s.jsx)(m,{bullets:$n,currentIndex:Je,maxBullets:ge,slideVertically:Ce}),fe&&se(Wt,Nt),be&&(0,s.jsx)(W,{currentIndex:Je,indexSeparator:v,totalItems:Ge})]}),Dn=c("image-gallery",n,{"fullscreen-modal":Lt}),Bn=c("image-gallery-content",V(je),{fullscreen:Nt});return(0,s.jsx)("div",{ref:Ne,"aria-live":"polite",className:Dn,children:(0,s.jsxs)("div",{className:Bn,children:[("bottom"===je||"right"===je)&&Pn,ve&&Mn.length>0&&(0,s.jsx)(X,{disableThumbnailSwipe:o,isRTL:S,thumbnailBarHeight:It(qe),thumbnailPosition:je,thumbnails:Mn,thumbnailsRef:kt,thumbnailStyle:jt(),thumbnailsWrapperRef:Tt,onSwiped:Vt,onSwiping:Kt}),("top"===je||"left"===je)&&Pn]})})}));return i})()));