@car-cutter/react-webplayer 3.1.4 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +1 -1
- package/dist/index.js +2 -2
- package/dist/legacy.cjs +1 -1
- package/dist/legacy.js +2 -2
- package/dist/shared--KSqoDlV.cjs +6 -0
- package/dist/shared-BmkEtdef.js +5919 -0
- package/package.json +5 -5
- package/dist/shared-BunvpEAK.js +0 -5911
- package/dist/shared-DGpP-10h.cjs +0 -6
package/dist/shared-DGpP-10h.cjs
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
"use strict";const n=require("react/jsx-runtime"),a=require("react"),xt="cc-webplayer",It="cc-webplayer-custom-media",_t="cc-webplayer-icon",Tt="composition-loading",St="composition-loaded",Nt="composition-load-error",Pt="item-change",Rt="extend-mode-on",jt="extend-mode-off",gt="hotspots-on",vt="hotspots-off",At="gallery-open",zt="gallery-close",tn="analytics-load",nn="analytics-display",rn="analytics-interaction",on="analytics-error",An=!1,zn=!1,Dn=!1,On="quality",Fn=0,Hn=1/0,Vn=1,Un=!1,Bn=!1,Wn="*",Zn="full_screen",Dt="cc-webplayer:",Xn=!1,Yn=!1,Gn="ew-resize",qn=!1,sn=1,an="cc-analytics:",Kn="",$n="",Jn=!1,Qn=!1,er=!1;function Ot(){if(typeof crypto<"u"&&typeof crypto.randomUUID=="function")return crypto.randomUUID();if(typeof crypto<"u"&&typeof crypto.getRandomValues=="function"){const t=new Uint8Array(16);crypto.getRandomValues(t),t[6]=t[6]&15|64,t[8]=t[8]&63|128;const s=Array.from(t,l=>l.toString(16).padStart(2,"0")).join("");return`${s.slice(0,8)}-${s.slice(8,12)}-${s.slice(12,16)}-${s.slice(16,20)}-${s.slice(20)}`}return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>{const s=Math.random()*16|0;return(t==="x"?s:s&3|8).toString(16)})}function tr(t,s){return`https://cdn.car-cutter.com/gallery/${t}/${s}/composition_v3.json`}function nr(t,s){const l=t.split("/"),f=l.pop();return[l.join("/"),s,f].join("/")}function rr(){const t="car-cutter-webplayer-browser-id",s=typeof window<"u"?window.localStorage.getItem(t):null;if(s)return s;const l=Ot();return typeof window<"u"&&window.localStorage.setItem(t,l),l}function or(){const t="car-cutter-webplayer-session-id",s=typeof window<"u"?window.sessionStorage.getItem(t):null;if(s)return s;const l=Ot();return typeof window<"u"&&window.sessionStorage.setItem(t,l),l}function sr(){return Ot()}function ar(){return!!customElements.get(xt)&&!!customElements.get(It)&&!!customElements.get(_t)}async function ir(t){const s=await fetch(t);if(!s.ok)throw new Error(`Failed to fetch composition: ${s.statusText}`);return await s.json()}const Mt=new Map,lr=t=>{const[s,l]=a.useState({status:"pending",isSuccess:!1});return a.useEffect(()=>{const f=c=>l({status:"success",data:c,isSuccess:!0}),d=Mt.get(t);if(d&&!(d instanceof Promise)){f(d);return}l({status:"fetching",isSuccess:!1}),(async function(){try{let c;if(d)c=await d;else{const x=ir(t);Mt.set(t,x),c=await x,Mt.set(t,c)}f(c)}catch(c){l({status:"error",isSuccess:!1,error:c})}})()},[t]),s},ln=a.createContext(null),We=()=>{const t=a.useContext(ln);if(!t)throw new Error("useGlobalContext must be used within a GlobalContextProvider");return t},cr=({children:t,...s})=>n.jsx(ln.Provider,{value:s,children:t}),cn=a.createContext(null),nt=()=>{const t=a.useContext(cn);if(!t)throw new Error("useCompositionContext must be used within a CompositionContextProvider");return t},ur=({composition:t,children:s})=>{const{aspectRatio:l,categories:f,imageHdWidth:d,imageSubWidths:c}=t,{minMediaWidth:x,maxMediaWidth:e,categoriesFilter:L}=We(),k=a.useMemo(()=>{if(L==="*")return f;function o(y){return L.split("|").some(N=>new RegExp(`^${N.replace(/\*/g,".*")}$`).test(y))}return f.filter(({id:y})=>o(y))},[f,L]),j=a.useMemo(()=>k.flatMap(({items:o})=>o),[k]),M={aspectRatio:l.replace(":"," / ")},h=a.useMemo(()=>{const o=c.concat(d),y=o.sort((_,w)=>_-w),N=y.filter(_=>_>=x&&_<=e);if(N.length===0){const _=(x+e)/2,w=o.reduce((E,C)=>Math.abs(C-_)<Math.abs(E-_)?C:E,d);return console.warn(`None of available media widths (${y.join("|")}) match the given constraints (${x>0?`${x} ≤ `:""}width${e<1/0?` ≤ ${e}`:""}).`,`Using the closest width instead (${w}).`),[w]}return N},[c,d,x,e]);return n.jsx(cn.Provider,{value:{...t,categories:k,items:j,aspectRatioStyle:M,usedMediaWidths:h},children:s})},un=500,st=.75,tt=1+st*2,dn=()=>{const{isFullScreen:t,maxItemsShown:s,integration:l}=We();return{effectiveMaxItemsShown:l&&t?sn:s}};function Ke(t,s,l){return Math.min(Math.max(t,s),l)}const mt=(t,s,l)=>t+(s-t)*l,qt=(t,s,l,f,d,c=!1)=>{const x=Ke(t,s,l);if(x===(c?l:s))return f;if(x===(c?s:l))return 1;const e=(x-s)/(l-s),k=1+(c?e:1-e)*(f-1),M=1+Math.round((k-1)/d)*d;return Ke(M,1,f)},dr=(t,s)=>{if(s.includes(t))return t;let l=s[0],f=Math.abs(t-l);for(let d=1;d<s.length;d++){const c=Math.abs(t-s[d]);c<f&&(f=c,l=s[d])}return l},fn=a.createContext(null),Ft=()=>a.useContext(fn),ut=()=>{const t=Ft();if(!t)throw new Error("useCustomizationContext must be used within a CustomizationContextProvider");return t},Kt="*:size-full",$t="*:object-cover *:size-full",fr=({children:t})=>{const{compositionUrl:s}=We(),l=a.useCallback(()=>document.querySelector(`${xt}[composition-url="${s}"]`),[s]),f=a.useCallback(y=>{const N=y.querySelectorAll(_t),_=new Map;for(const w of N){const E=w.getAttribute("name");if(!E){console.warn("Icon element is missing a name attribute");continue}const C=w.innerHTML,p=C?n.jsx("div",{className:Kt,dangerouslySetInnerHTML:{__html:C}}):void 0;if(!p){console.warn(`Icon "${E}" customization is empty.`);continue}_.set(E,{Icon:p})}return _},[]),[d,c]=a.useState(()=>{const y=l();return y?f(y):new Map});a.useEffect(()=>{const y=l();if(!y)return;const N=new MutationObserver(()=>{c(f(y))});return N.observe(y,{childList:!0,subtree:!0}),()=>N.disconnect()},[f,l]);const x=a.useCallback(y=>d.get(y),[d]),e=a.useCallback((y,N)=>{c(_=>{const{Icon:w,...E}=N;return new Map(_.set(y,{...E,Icon:n.jsx("div",{className:Kt,children:w})}))})},[]),L=a.useCallback(y=>{c(N=>(N.delete(y),new Map(N)))},[]),k=a.useCallback(y=>{const N=y.querySelectorAll(It),_=new Array;for(const w of N){const E=w.innerHTML;if(!E){console.warn("Custom media element is empty");continue}const C=Number(w.getAttribute("index"));if(Number.isNaN(C)){console.warn("Custom media element is missing the 'index' attribute");continue}const p=w.getAttribute("thumbnail-src")??void 0,b=JSON.stringify({index:C,thumbnailSrc:p});_.push({id:b,Media:n.jsx("div",{className:$t,dangerouslySetInnerHTML:{__html:E}}),index:C,thumbnailSrc:p})}return _},[]),[j,M]=a.useState(()=>{const y=l();return y?k(y):[]});a.useEffect(()=>{const y=l();if(!y)return;const N=new MutationObserver(()=>{M(k(y))});return N.observe(y,{childList:!0,subtree:!0}),()=>N.disconnect()},[k,l]);const h=a.useCallback(y=>{const{Media:N,..._}=y,w=n.jsx("div",{className:$t,children:N}),E=JSON.stringify(_);return M(C=>[...C,{id:E,Media:w,..._}]),E},[]),o=a.useCallback(y=>{M(N=>N.filter(_=>_.id!==y))},[]);return n.jsx(fn.Provider,{value:{getIconConfig:x,registerIconConfig:e,unregisterIconConfig:L,customMediaList:j,registerCustomMedia:h,unregisterCustomMedia:o},children:t})},hn=a.createContext(null),Ze=()=>{const t=a.useContext(hn);if(!t)throw new Error("useControlsContext must be used within a ControlsContextProvider");return t},hr=({children:t})=>{const{infiniteCarrousel:s,extendBehavior:l,integration:f,emitEvent:d,emitAnalyticsEvent:c,isFullScreen:x,requestFullscreen:e,exitFullscreen:L}=We(),{customMediaList:k}=ut(),{categories:j,items:M}=nt(),h=a.useMemo(()=>{const F=new Array(...M),ce=k.slice().sort((A,pe)=>A.index<0&&pe.index<0?pe.index-A.index:A.index<0?1:pe.index<0?-1:A.index-pe.index);for(const A of ce){let pe=A.index;pe<0&&(pe=F.length+pe+1),F.splice(pe,0,{type:"custom",...A})}return F},[M,k]),[o,y]=a.useState(h.map(()=>null));a.useEffect(()=>{y(h.map(()=>null))},[h]);const N=a.useCallback((F,ce)=>{y(A=>A.map((pe,Ee)=>Ee===F?ce:pe))},[]),[_,w]=a.useState(0),[E,C]=a.useState(null),p=E??_,b=h[p],P=o[p],[$,T]=a.useState(null),V=!!$,G=a.useCallback(()=>T(null),[]),{effectiveMaxItemsShown:R}=dn(),Z=a.useCallback(F=>{const ce=Math.min(_,F),A=Math.max(_,F);o.slice(ce,A+1).filter(Ee=>Ee===null).length>2&&T("instant"),C(F)},[_,o]),S=a.useMemo(()=>{let F;if(b.type==="custom"){const ce=h.slice(0,p).reverse().find(A=>A.type!=="custom")??h.slice(p+1).find(A=>A.type!=="custom");if(!ce)throw new Error("No non-custom item found");F=ce}else F=b;for(const ce of j)if(ce.items.includes(F))return ce.id;throw new Error("Current item not found in any category")},[j,b,h,p]),Y=a.useMemo(()=>j.find(({id:F})=>F===S)?.title??"Unnamed Category",[j,S]),ae=a.useMemo(()=>h.length,[h]),W=a.useCallback(F=>{const ce=j.find(({id:pe})=>pe===F)?.items[0];if(ce===void 0)throw new Error("Failed to find target category");const A=h.findIndex(pe=>pe===ce);Z(A)},[j,h,Z]),z=a.useCallback(()=>{if(V||E!==null)return;const F=_-1;if(F>=0)C(F);else if(s){T("first_to_last");const ce=Math.ceil(R),A=h.length+(f&&!s&&R%1!==0?1:0),pe=R>1?Math.max(0,A-ce):h.length-1;C(pe)}c({type:"interaction",current:{category_id:S,category_name:Y,item_type:b.type,item_position:_},action:{name:"Item Navigation",field:"item_navigation",value:"prev"}})},[V,E,_,s,c,S,Y,b.type,R,h.length,f]),q=a.useCallback(()=>{if(V||E!==null)return;const F=_+1,ce=Math.ceil(R),A=h.length+(f&&!s&&R%1!==0?1:0),pe=R>1?Math.max(0,A-ce):h.length-1;F<=pe?C(F):s&&(T("last_to_first"),C(0)),c({type:"interaction",current:{category_id:S,category_name:Y,item_type:b.type,item_position:_},action:{name:"Item Navigation",field:"item_navigation",value:"next"}})},[V,E,_,R,h.length,f,s,c,S,Y,b.type]);a.useEffect(()=>{d(Pt,{index:p,item:b})},[b,d,p]),a.useEffect(()=>{if(V||E!==null)return;const F={type:"display",item:{category_id:S,category_name:Y,item_type:b.type,item_position:_,items_count:ae}},ce=setTimeout(()=>c(F),0);return()=>clearTimeout(ce)},[S,Y,ae,b.type,_,c,V,E]);const D=a.useMemo(()=>{if(f&&!x)return h.some(F=>{switch(F.type){case"image":return!!F.hotspots?.length;case"360":return F.images.some(ce=>!!ce.hotspots?.length);default:return!1}});switch(b.type){case"image":return!!b.hotspots?.length;case"360":return P==="running"&&b.images.some(F=>!!F.hotspots?.length);default:return!1}},[b,P,f,h,x]),[U,ie]=a.useState(!0),[O,ne]=a.useState({}),se=a.useMemo(()=>f&&x?O[p]??!0:U,[f,x,O,p,U]),oe=a.useCallback(()=>{if(f&&x){const ce=!(O[p]??!0);ne(A=>({...A,[p]:ce})),d(ce?gt:vt),c({type:"interaction",current:{category_id:S,category_name:Y,item_type:b.type,item_position:_},action:{name:"Hotspots Toggled",field:"hotspots_toggle_state",value:ce}})}else{const F=!U;ie(F),d(F?gt:vt),c({type:"interaction",current:{category_id:S,category_name:Y,item_type:b.type,item_position:_},action:{name:"Hotspots Toggled",field:"hotspots_toggle_state",value:F}})}},[f,x,O,p,d,c,S,Y,b.type,_,U]),I=a.useMemo(()=>{switch(b.type){case"video":return P!=="running";default:return!0}},[b,P]),[be,K]=a.useState(!1),Se=a.useCallback(()=>{const F=!be;K(F),d(F?At:zt),c({type:"interaction",current:{category_id:S,category_name:Y,item_type:b.type,item_position:_},action:{name:"Gallery Toggled",field:"gallery_toggle_state",value:F}})},[be,d,c,S,Y,b.type,_]),[Ue,Ve]=a.useState(null),xe=a.useCallback(()=>Ve(null),[]),u=!!Ue,m=a.useMemo(()=>{switch(b.type){case"image":return!0;case"interior-360":return P==="running";case"360":return P==="running";default:return!1}},[b.type,P]),[Q,re]=a.useState(1),ee=a.useCallback(F=>{const ce=typeof F=="function"?F(Q):F;Q!==ce&&(re(ce),c({type:"interaction",current:{category_id:S,category_name:Y,item_type:b.type,item_position:_},action:{name:"Zoom Changed",field:"zoom_level",value:ce}}))},[Q,c,S,Y,b.type,_]),v=Q!==1,J=Q<tt,te=Q>1,ve=a.useCallback(F=>{ee(ce=>Ke(ce+F,1,tt))},[ee]),de=a.useCallback(()=>ee(1),[ee]),He=a.useCallback(()=>ve(st),[ve]),le=a.useCallback(()=>ve(-st),[ve]),me=a.useCallback(()=>{de(),xe()},[de,xe]),[ge,Ae]=a.useState(!1),[De,Le]=a.useState(),[Pe,Ne]=a.useState(!1),Me=a.useCallback(async F=>{me(),Ae(F),d(F?Rt:jt),c({type:"interaction",current:{category_id:S,category_name:Y,item_type:b.type,item_position:_},action:{name:"Fake Fullscreen Toggled",field:"fake_fullscreen_toggle_state",value:F}})},[me,d,c,S,Y,b.type,_]),ke=a.useCallback(()=>{clearTimeout(De);const F=setTimeout(()=>{Le(void 0)},un);Le(F)},[De]),ze=a.useCallback(async()=>{const F=await e();return F&&c({type:"interaction",current:{category_id:S,category_name:Y,item_type:b.type,item_position:_},action:{name:"Fullscreen Toggled",field:"fullscreen_toggle_state",value:!0}}),F},[e,c,S,Y,b.type,_]),_e=a.useCallback(async()=>{const F=await L();return F&&c({type:"interaction",current:{category_id:S,category_name:Y,item_type:b.type,item_position:_},action:{name:"Fullscreen Toggled",field:"fullscreen_toggle_state",value:!1}}),F},[L,c,S,Y,b.type,_]),Oe=a.useCallback(async()=>{if(ke(),l==="full_screen"){const F=await ze();if(Ne(!F),F)return}Me(!0)},[l,Me,ze,ke]),Fe=a.useCallback(async()=>{ke(),!(l==="full_screen"&&(Ne(!1),await _e()))&&Me(!1)},[l,Me,_e,ke]),Ie=a.useCallback(()=>{ge?Fe():Oe()},[Fe,Oe,ge]);return a.useEffect(()=>{l==="full_screen"&&(Pe&&ge||x!==ge&&(ke(),Me(x)))},[l,Me,ge,Pe,x,ke]),n.jsx(hn.Provider,{value:{items:h,setItemInteraction:N,slidable:h.length>1,carrouselItemIndex:_,setCarrouselItemIndex:w,itemIndexCommand:E,setItemIndexCommand:C,masterItemIndex:p,specialCommand:$,isRunningSpecialCommand:V,finishSpecialCommand:G,prevItem:z,nextItem:q,scrollToItemIndex:Z,displayedCategoryId:S,displayedCategoryName:Y,changeCategory:W,enableHotspotsControl:D,showHotspots:U,currentItemHotspotsVisible:se,toggleHotspots:oe,showGalleryControls:I,showGallery:be,toggleGallery:Se,shownDetails:Ue,isShowingDetails:u,setShownDetails:Ve,resetShownDetails:xe,showZoomControls:m,zoom:Q,isZooming:v,setZoom:ee,resetZoom:de,canZoomIn:J,zoomIn:He,canZoomOut:te,zoomOut:le,resetView:me,extendMode:ge,enableExtendMode:Oe,disableExtendMode:Fe,toggleExtendMode:Ie,extendTransition:!!De,fakeFullScreen:Pe},children:t})},pn=["left","center","right","fullW"],mn=["top","middle","bottom","fullH"],pr=[...pn,...mn,"top-left","top-center","top-right","top-fullW","middle-left","middle-center","middle-right","middle-fullW","bottom-left","bottom-center","bottom-right","bottom-fullW","fullH-left","fullH-center","fullH-right","fullW-fullW"];function mr(t){return pn.includes(t)}function gr(t){return mn.includes(t)}function vr(t){return pr.includes(t)}function xr(t){if(!vr(t))throw new Error(`Invalid position: ${t}`);return gr(t)?[t,void 0]:mr(t)?[void 0,t]:t.split("-")}function he(...t){return t.filter(s=>!!s).map(s=>s.trim()).join(" ")}function wr(t){switch(t){case"left":return"left-1 small:left-2";case"right":return"right-1 small:right-2";case"center":return"left-1/2 -translate-x-1/2";case"fullW":return"inset-x-1 small:inset-x-2"}}function gn(t){switch(t){case"top":return"top-1 small:top-2";case"bottom":return"bottom-1 small:bottom-2";case"middle":return"top-1/2 -translate-y-1/2";case"fullH":return"inset-y-1 small:inset-y-2"}}function br({positionX:t,positionY:s}){const l=new Array;return t&&l.push(wr(t)),s&&l.push(gn(s)),l.join(" ")}function at(t){const[s,l]=xr(t);return br({positionX:l,positionY:s})}const Be=({customizationKey:t,className:s,children:l})=>{const{getIconConfig:f}=ut(),c=f(t)?.Icon;return c?s?n.jsx("div",{className:s,children:c}):c:l},Cr=({className:t})=>n.jsx(Be,{className:t,customizationKey:"UI_CLOSE",children:n.jsx("svg",{className:t,width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:n.jsx("path",{d:"M19 6.41L17.59 5L12 10.59L6.41 5L5 6.41L10.59 12L5 17.59L6.41 19L12 13.41L17.59 19L19 17.59L13.41 12L19 6.41Z",fill:"currentColor"})})}),yr={fill:{primary:"bg-primary text-primary-foreground hover:opacity-80",neutral:"bg-background text-neutral-foreground hover:opacity-80"},ghost:{primary:"bg-transparent text-foreground hover:bg-primary/25",neutral:"bg-transparent text-background hover:bg-foreground/25"}},Er={button:"h-8 px-2",icon:"size-8 p-2"},Ge=({variant:t="fill",shape:s="button",color:l="primary",className:f,children:d,...c})=>{const x=yr[t][l],e=Er[s];return n.jsx("button",{className:he("flex items-center justify-center rounded-ui text-sm transition-all disabled:opacity-60",x,e,f),...c,children:d})},kt=t=>n.jsx(Ge,{color:"neutral",shape:"icon",...t,children:n.jsx(Cr,{className:"size-full"})}),wt=({text:t,className:s})=>n.jsxs("div",{className:he("flex size-full flex-col items-center justify-center gap-y-4",s),children:[n.jsx("img",{className:"h-20 small:h-28",src:"https://cdn.car-cutter.com/libs/web-player/v3/assets/car_placeholder.png"}),n.jsx("div",{className:"text-2xl font-bold",children:t})]}),Lr={primary:"border-primary",foreground:"border-foreground",background:"border-background"},Mr={sm:"size-4 border",md:"size-8 border-2",lg:"size-12 border-4"},vn=({color:t="foreground",size:s="md"})=>{const l=Lr[t],f=Mr[s];return n.jsx("div",{className:he("inline-block animate-rotation rounded-full border-b-transparent",f,l)})},$e=a.forwardRef(({src:t,className:s,onLoad:l,imgInPlayerWidthRatio:f=1,onlyThumbnail:d,fadeIn:c,...x},e)=>{const{mediaLoadStrategy:L,playerInViewportWidthRatio:k}=We(),{imageHdWidth:j,usedMediaWidths:M}=nt(),[h,o]=a.useMemo(()=>{const _=M.map(E=>`${E!==j?nr(t,E):t} ${E}w`);let w;if(d)w=[`${M[0]}px`];else{const E=1/(f*k);switch(L){case"quality":{const C=[...M],p=C.pop();w=C.map(b=>`(max-width: ${E*b}px) ${b}px`),w.push(`${p}px`);break}case"balanced":{w=[];for(let C=0;C<M.length-1;C++){const p=M[C],b=M[C+1],P=Math.round((p+b)/2);w.push(`(max-width: ${E*P}px) ${p}px`)}w.push(`${M[M.length-1]}px`);break}case"speed":{const C=[...M],p=C.shift();w=C.reverse().map(b=>`(min-width: ${E*b}px) ${b}px`),w.push(`${p}px`);break}}}return[_.join(", "),w.join(", ")]},[j,f,L,d,k,t,M]),[y,N]=a.useState();return a.useEffect(()=>{if(y===!0)return;const _=setTimeout(()=>{N(w=>w??!1)},30);return()=>clearTimeout(_)},[y]),n.jsx("img",{ref:e,src:t,srcSet:h,sizes:o,className:he(s,c&&he(y!==void 0&&"transition-opacity duration-200",y===!1&&"opacity-0",y===!0&&"opacity-100")),onLoad:_=>{N(!0),l?.(_)},...x})});$e.displayName="CdnImage";const xn=({className:t})=>n.jsx(Be,{className:t,customizationKey:"UI_IMAGE",children:n.jsx("svg",{className:t,viewBox:"0 0 12 12",fill:"none",children:n.jsx("path",{d:"M9.5 2.5V9.5H2.5V2.5H9.5ZM9.5 1.5H2.5C1.95 1.5 1.5 1.95 1.5 2.5V9.5C1.5 10.05 1.95 10.5 2.5 10.5H9.5C10.05 10.5 10.5 10.05 10.5 9.5V2.5C10.5 1.95 10.05 1.5 9.5 1.5ZM7.07 5.93L5.57 7.865L4.5 6.57L3 8.5H9L7.07 5.93Z",fill:"currentColor"})})}),wn=({className:t})=>n.jsx(Be,{className:t,customizationKey:"INTERIOR_UI_360",children:n.jsxs("svg",{className:t,viewBox:"0 0 98 98",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[n.jsx("path",{d:"M30.9343 48C26.8559 48 24.3496 46.2454 23.3411 44.1517C23.1038 43.6651 23 43.1933 23 42.7509C23 41.6008 23.7415 40.8784 24.9725 40.8784C25.8623 40.8784 26.4259 41.2322 26.8708 42.0432C27.6271 43.5324 28.7839 44.4171 31.0085 44.4171C33.2034 44.4171 34.7161 43.149 34.7161 41.3797C34.731 39.3154 33.2034 38.1653 30.6081 38.1653H29.6737C28.5911 38.1653 27.9682 37.5313 27.9682 36.5729C27.9682 35.644 28.5911 34.9952 29.6737 34.9952H30.5488C32.7882 34.9952 34.2416 33.7862 34.2416 32.0463C34.2416 30.336 33.0848 29.2006 30.9195 29.2006C29.1102 29.2006 28.0127 29.9526 27.3157 31.4565C26.8263 32.4592 26.3072 32.8278 25.2987 32.8278C24.053 32.8278 23.4153 32.1053 23.4153 31.0289C23.4153 30.5276 23.5191 30.1 23.7415 29.5987C24.6907 27.5197 27.1229 25.7799 30.9047 25.7799C35.428 25.7799 38.4831 28.0063 38.4831 31.4123C38.4831 34.1106 36.5403 35.8799 34.0191 36.396V36.4845C37.2077 36.7793 39.2691 38.6372 39.2691 41.5713C39.2691 45.4344 35.9026 48 30.9343 48Z",fill:"white"}),n.jsx("path",{d:"M50.5032 48C47.107 48 44.4079 46.4223 42.8358 43.2965C42.0201 41.6451 41.5752 39.5366 41.5752 37.0595C41.5752 30.0116 44.9566 25.7651 50.5181 25.7651C54.0626 25.7651 56.6134 27.2543 57.6219 29.2448C57.8295 29.6577 57.9333 30.0411 57.9333 30.4392C57.9333 31.4271 57.2363 32.1938 56.0647 32.1938C55.1749 32.1938 54.641 31.8104 53.9884 31.0584C53.0096 29.8346 51.9715 29.2891 50.5032 29.2891C47.4481 29.2891 45.8909 32.179 45.8613 36.7204V36.9415H45.9502C46.7808 34.9658 48.8867 33.5208 51.7787 33.5208C55.9164 33.5208 58.749 36.455 58.749 40.4508C58.749 44.8594 55.2787 48 50.5032 48ZM50.4439 44.4613C52.6388 44.4613 54.374 42.7804 54.3888 40.6424C54.3888 38.4013 52.7426 36.8088 50.4884 36.8088C48.2193 36.8088 46.5286 38.3865 46.5286 40.554C46.5286 42.7509 48.249 44.4613 50.4439 44.4613Z",fill:"white"}),n.jsx("path",{d:"M68.9374 48C63.5094 48 60.2022 43.7388 60.2022 36.8531C60.2022 29.9821 63.5391 25.7651 68.9374 25.7651C74.3357 25.7651 77.6577 29.9673 77.6577 36.8383C77.6577 43.7093 74.3654 48 68.9374 48ZM68.9374 44.4318C71.5772 44.4318 73.1048 41.7335 73.1048 36.8531C73.1048 32.0021 71.5624 29.3333 68.9374 29.3333C66.3272 29.3333 64.7552 32.0168 64.7552 36.8531C64.7552 41.7335 66.2975 44.4318 68.9374 44.4318Z",fill:"white"}),n.jsx("path",{d:"M81.6758 28.4244C78.6504 28.4244 76.3665 26.1685 76.3665 23.2048C76.3665 20.2559 78.6504 18 81.6758 18C84.6864 18 87 20.2559 87 23.2048C87 26.1685 84.6864 28.4244 81.6758 28.4244ZM81.6758 25.4755C82.9364 25.4755 83.9152 24.4581 83.9152 23.2048C83.9152 21.9368 82.9216 20.9489 81.6758 20.9489C80.4597 20.9489 79.4364 21.9368 79.4364 23.2048C79.4364 24.4581 80.4449 25.4755 81.6758 25.4755Z",fill:"white"}),n.jsx("path",{d:"M37.3915 79.7285C36.5538 79.7285 36.0601 79.2171 36.0601 78.3442V68.0541C36.0601 67.1724 36.5538 66.661 37.3915 66.661C38.2292 66.661 38.7229 67.1724 38.7229 68.0541V78.3442C38.7229 79.2171 38.2292 79.7285 37.3915 79.7285Z",fill:"white"}),n.jsx("path",{d:"M43.7429 79.7285C42.9405 79.7285 42.4644 79.2436 42.4644 78.3971V67.9924C42.4644 67.1459 42.9582 66.661 43.8047 66.661C44.3513 66.661 44.7217 66.8814 45.1273 67.4369L50.6294 75.1258H50.6999V68.0012C50.6999 67.1459 51.1761 66.661 51.9785 66.661C52.7809 66.661 53.2482 67.1459 53.2482 68.0012V78.4324C53.2482 79.2612 52.7809 79.7285 51.9432 79.7285C51.3701 79.7285 51.0174 79.5257 50.6118 78.9614L45.092 71.2284H45.0126V78.3971C45.0126 79.2436 44.5365 79.7285 43.7429 79.7285Z",fill:"white"}),n.jsx("path",{d:"M61.3719 79.7285C60.5343 79.7285 60.0405 79.2171 60.0405 78.3442V69.0417H57.4129C56.6898 69.0417 56.2049 68.6273 56.2049 67.9395C56.2049 67.2518 56.681 66.8373 57.4129 66.8373H65.3398C66.0629 66.8373 66.539 67.2518 66.539 67.9395C66.539 68.6273 66.054 69.0417 65.3398 69.0417H62.7034V78.3442C62.7034 79.2171 62.2096 79.7285 61.3719 79.7285Z",fill:"white"}),n.jsx("path",{d:"M11.5291 40.7269C5.85358 44.3944 2.5 48.9252 2.5 53.8286C2.5 62.4095 12.77 69.8493 27.7816 73.5179M86.4709 40.7269C92.1464 44.3944 95.5 48.9252 95.5 53.8286C95.5 61.8751 86.4695 68.9181 72.967 72.7891M27.7816 73.5179L23.267 65.1144M27.7816 73.5179L19.6553 77.7552",stroke:"currentColor",strokeWidth:"4.51456",strokeLinecap:"round"})]})}),bn=({className:t})=>n.jsx(Be,{className:t,customizationKey:"UI_PLAY",children:n.jsx("svg",{className:t,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:n.jsx("polygon",{points:"6 3 20 12 6 21 6 3"})})}),Ht=({className:t})=>n.jsx(Be,{className:t,customizationKey:"UI_360",children:n.jsxs("svg",{className:t,viewBox:"0 0 98 98",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[n.jsx("path",{d:"M30.9343 48C26.8559 48 24.3496 46.2454 23.3411 44.1517C23.1038 43.6651 23 43.1933 23 42.7509C23 41.6008 23.7415 40.8784 24.9725 40.8784C25.8623 40.8784 26.4259 41.2322 26.8708 42.0432C27.6271 43.5324 28.7839 44.4171 31.0085 44.4171C33.2034 44.4171 34.7161 43.149 34.7161 41.3797C34.731 39.3154 33.2034 38.1653 30.6081 38.1653H29.6737C28.5911 38.1653 27.9682 37.5313 27.9682 36.5729C27.9682 35.644 28.5911 34.9952 29.6737 34.9952H30.5488C32.7882 34.9952 34.2416 33.7862 34.2416 32.0463C34.2416 30.336 33.0848 29.2006 30.9195 29.2006C29.1102 29.2006 28.0127 29.9526 27.3157 31.4565C26.8263 32.4592 26.3072 32.8278 25.2987 32.8278C24.053 32.8278 23.4153 32.1053 23.4153 31.0289C23.4153 30.5276 23.5191 30.1 23.7415 29.5987C24.6907 27.5197 27.1229 25.7799 30.9047 25.7799C35.428 25.7799 38.4831 28.0063 38.4831 31.4123C38.4831 34.1106 36.5403 35.8799 34.0191 36.396V36.4845C37.2077 36.7793 39.2691 38.6372 39.2691 41.5713C39.2691 45.4344 35.9026 48 30.9343 48Z",fill:"white"}),n.jsx("path",{d:"M50.5032 48C47.107 48 44.4079 46.4223 42.8358 43.2965C42.0201 41.6451 41.5752 39.5366 41.5752 37.0595C41.5752 30.0116 44.9566 25.7651 50.5181 25.7651C54.0626 25.7651 56.6134 27.2543 57.6219 29.2448C57.8295 29.6577 57.9333 30.0411 57.9333 30.4392C57.9333 31.4271 57.2363 32.1938 56.0647 32.1938C55.1749 32.1938 54.641 31.8104 53.9884 31.0584C53.0096 29.8346 51.9715 29.2891 50.5032 29.2891C47.4481 29.2891 45.8909 32.179 45.8613 36.7204V36.9415H45.9502C46.7808 34.9658 48.8867 33.5208 51.7787 33.5208C55.9164 33.5208 58.749 36.455 58.749 40.4508C58.749 44.8594 55.2787 48 50.5032 48ZM50.4439 44.4613C52.6388 44.4613 54.374 42.7804 54.3888 40.6424C54.3888 38.4013 52.7426 36.8088 50.4884 36.8088C48.2193 36.8088 46.5286 38.3865 46.5286 40.554C46.5286 42.7509 48.249 44.4613 50.4439 44.4613Z",fill:"white"}),n.jsx("path",{d:"M68.9374 48C63.5094 48 60.2022 43.7388 60.2022 36.8531C60.2022 29.9821 63.5391 25.7651 68.9374 25.7651C74.3357 25.7651 77.6577 29.9673 77.6577 36.8383C77.6577 43.7093 74.3654 48 68.9374 48ZM68.9374 44.4318C71.5772 44.4318 73.1048 41.7335 73.1048 36.8531C73.1048 32.0021 71.5624 29.3333 68.9374 29.3333C66.3272 29.3333 64.7552 32.0168 64.7552 36.8531C64.7552 41.7335 66.2975 44.4318 68.9374 44.4318Z",fill:"white"}),n.jsx("path",{d:"M81.6758 28.4244C78.6504 28.4244 76.3665 26.1685 76.3665 23.2048C76.3665 20.2559 78.6504 18 81.6758 18C84.6864 18 87 20.2559 87 23.2048C87 26.1685 84.6864 28.4244 81.6758 28.4244ZM81.6758 25.4755C82.9364 25.4755 83.9152 24.4581 83.9152 23.2048C83.9152 21.9368 82.9216 20.9489 81.6758 20.9489C80.4597 20.9489 79.4364 21.9368 79.4364 23.2048C79.4364 24.4581 80.4449 25.4755 81.6758 25.4755Z",fill:"white"}),n.jsx("path",{d:"M34.6814 79.561C33.8438 79.561 33.35 79.0496 33.35 78.1678V68.2217C33.35 67.3487 33.8438 66.8373 34.6814 66.8373H40.7302C41.4621 66.8373 41.9382 67.2518 41.9382 67.9395C41.9382 68.6273 41.4533 69.0417 40.7302 69.0417H36.0129V72.1014H40.501C41.1623 72.1014 41.612 72.4894 41.612 73.1242C41.612 73.7591 41.1711 74.147 40.501 74.147H36.0129V77.3566H40.7302C41.4533 77.3566 41.9382 77.771 41.9382 78.4588C41.9382 79.1466 41.4621 79.561 40.7302 79.561H34.6814Z",fill:"white"}),n.jsx("path",{d:"M46.4115 79.7285C45.7061 79.7285 45.1506 79.2171 45.1506 78.5734C45.1506 78.2472 45.2564 77.965 45.5121 77.6123L48.6864 73.1859V73.1154L45.6179 68.9359C45.327 68.5479 45.23 68.2569 45.23 67.9131C45.23 67.19 45.8031 66.661 46.5791 66.661C47.0817 66.661 47.4344 66.8814 47.7782 67.4017L50.5028 71.4224H50.5734L53.3862 67.3135C53.6948 66.855 53.9593 66.661 54.4707 66.661C55.1673 66.661 55.7669 67.1636 55.7669 67.7984C55.7669 68.1423 55.6699 68.4245 55.4142 68.7507L52.1076 73.1683V73.23L55.3172 77.5594C55.5641 77.8768 55.6699 78.1766 55.6699 78.5293C55.6699 79.2259 55.132 79.7285 54.3914 79.7285C53.9064 79.7285 53.5802 79.5345 53.2363 79.0672L50.397 75.1082H50.3265L47.5313 79.076C47.1963 79.561 46.9141 79.7285 46.4115 79.7285Z",fill:"white"}),n.jsx("path",{d:"M63.7055 79.7285C62.8678 79.7285 62.374 79.2171 62.374 78.3442V69.0417H59.7464C59.0234 69.0417 58.5384 68.6273 58.5384 67.9395C58.5384 67.2518 59.0146 66.8373 59.7464 66.8373H67.6734C68.3964 66.8373 68.8725 67.2518 68.8725 67.9395C68.8725 68.6273 68.3876 69.0417 67.6734 69.0417H65.0369V78.3442C65.0369 79.2171 64.5431 79.7285 63.7055 79.7285Z",fill:"white"}),n.jsx("path",{d:"M11.5291 40.7263C5.85358 44.3937 2.5 48.9245 2.5 53.828C2.5 62.4089 12.77 69.8486 27.7816 73.5172M86.4709 40.7263C92.1464 44.3937 95.5 48.9245 95.5 53.828C95.5 61.8744 86.4695 68.9174 72.967 72.7885M27.7816 73.5172L23.267 65.1137M27.7816 73.5172L19.6553 77.7545",stroke:"currentColor",strokeWidth:"4.51456",strokeLinecap:"round"})]})}),kr=({src:t,withCdn:s})=>{const{permanentGallery:l}=We();if(!t)return null;const f="size-full object-cover";return s?n.jsx($e,{className:f,src:t,onlyThumbnail:!0,fadeIn:!l}):n.jsx("img",{className:f,src:t})},pt=({children:t})=>{const{extendMode:s}=Ze();return n.jsx("div",{className:he("flex aspect-square h-3/4 items-center justify-center rounded-full bg-foreground/50 p-1",s&&"large:h-3/5 large:p-2"),children:t})},Ir=({item:t})=>{const{aspectRatioStyle:s}=nt(),{type:l}=t;let f,d;switch(l){case"360":f=t.images[0].src,d=!0;break;case"next360":f=t.images[0].src,d=!0;break;case"interior-360":f=t.poster,d=!0;break;case"image":f=t.src,d=!0;break;case"video":f=t.poster,d=!0;break;case"custom":f=t.thumbnailSrc,d=!1;break;default:d=!1}const c=n.jsx(kr,{src:f,withCdn:d});let x;switch(l){case"360":x=n.jsx(pt,{children:n.jsx(Ht,{className:"size-full"})});break;case"interior-360":x=n.jsx(pt,{children:n.jsx(wn,{className:"size-full"})});break;case"video":x=n.jsx(pt,{children:n.jsx(bn,{className:"size-full p-0.5 text-background"})});break;case"custom":x=f?null:n.jsx(pt,{children:n.jsx(xn,{className:"size-full p-0.5 text-background"})});break}return n.jsxs("div",{className:"relative bg-foreground/30",style:s,children:[c,x&&n.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-foreground/25",children:x})]})},_r={primary:"bg-primary/50",neutral:"bg-neutral/50",background:"bg-background/50",foreground:"bg-foreground/50"},Cn=({color:t="neutral",orientation:s="horizontal"})=>{const l=_r[t],f=s==="horizontal"?"h-px w-full":"w-px h-full";return n.jsx("div",{className:he(l,f)})},yn=({className:t="",containerClassName:s=""})=>{const{hideCategoriesNav:l,infiniteCarrousel:f,permanentGallery:d,isFullScreen:c,maxItemsShown:x}=We(),{categories:e,aspectRatioStyle:L}=nt(),{emitAnalyticsEvent:k}=We(),{items:j,extendMode:M,extendTransition:h,masterItemIndex:o,prevItem:y,nextItem:N,scrollToItemIndex:_,resetView:w,displayedCategoryId:E,displayedCategoryName:C}=Ze(),p=a.useMemo(()=>j[o].type,[j,o]),b=a.useMemo(()=>{if(l)return[];const z=new Array;let q=e[0];const D=U=>e.find(ie=>ie.items.some(O=>O===U));for(let U=0;U<j.length;U++){const ie=j[U],O=D(ie);O&&O!==q&&(z.push(U),q=O)}return z},[e,l,j]),P=a.useRef(null),$=a.useCallback(()=>{if(!P.current)throw new Error("slider.current is null");return P.current},[]),T=a.useRef(!1),V=a.useRef(null),[G,R]=a.useState(!1),Z=a.useCallback((z,q)=>{const D=$(),U=D.clientWidth,ie=D.scrollWidth/j.length,O=(z+1/2)*ie-U/2,ne=D.scrollWidth-D.clientWidth;D.scrollTo({left:Ke(O,0,ne),behavior:q})},[j.length,$]);a.useEffect(()=>{const z=P.current;if(!z)return;const q=ie=>{ie.preventDefault(),T.current=!0,V.current={x:ie.pageX-z.offsetLeft,scrollLeft:z.scrollLeft}},D=ie=>{if(!T.current)return;if(V.current===null)throw new Error("[onMouseMove] scrollStart is null");const ne=ie.pageX-z.offsetLeft-V.current.x;if(!G&&Math.abs(ne)<5)return;const se=V.current.scrollLeft-ne;R(!0),requestAnimationFrame(()=>{z.scrollLeft=se})},U=()=>{T.current&&(T.current=!1,requestAnimationFrame(()=>{R(!1)}))};return z.addEventListener("mousedown",q),document.addEventListener("mousemove",D),document.addEventListener("mouseleave",U),document.addEventListener("mouseup",U),document.addEventListener("contextmenu",U),()=>{z.removeEventListener("mousedown",q),document.removeEventListener("mousemove",D),document.removeEventListener("mouseleave",U),document.removeEventListener("mouseup",U),document.removeEventListener("contextmenu",U)}},[G]);const S=a.useRef(o);a.useEffect(()=>{P.current&&(Z(o,"smooth"),S.current=o)},[o,Z]),a.useEffect(()=>{P.current&&Z(S.current,"instant")},[Z,c,M,h]);const Y=a.useCallback(z=>{k({type:"interaction",current:{category_id:E,category_name:C,item_type:p,item_position:o},action:{name:"Gallery Item Clicked",field:"gallery_item_clicked",value:z}})},[k,E,C,p,o]),ae=a.useCallback(z=>{if(!G){if(Y(z),f&&z===j.length-1&&o===0)y();else if(f&&z===0&&o===j.length-1)N();else if(!c&&x!==1&&z===j.length-1){const q=Math.ceil(x),D=j.length+1,U=Math.max(0,D-q);_(U)}else _(z);w()}},[G,Y,f,j.length,o,w,y,N,c,x,_]),W=a.useCallback((z,q)=>x!==1?"after:opacity-0 hover:after:opacity-70":z===q?"after:opacity-100":"after:opacity-0 hover:after:opacity-70",[x]);return n.jsx("div",{ref:P,className:he("relative w-full overflow-x-auto no-scrollbar",G?"cursor-grab":"cursor-grabbing",t),children:n.jsx("div",{className:he("flex h-10 w-fit gap-1 small:h-12 small:gap-2",M&&"large:h-20 large:gap-4",s),children:j.map((z,q)=>n.jsxs(a.Fragment,{children:[b.includes(q)&&n.jsx("div",{className:"my-2",children:n.jsx(Cn,{color:d&&!c?"neutral":"background",orientation:"vertical"})}),n.jsx("div",{className:he("relative h-full overflow-hidden rounded-gallery transition-radius",!G&&"cursor-pointer","after:absolute after:inset-0 after:rounded-gallery after:border-2 after:border-primary after:transition-all",W(q,o)),style:L,onClick:()=>ae(q),children:n.jsx(Ir,{item:z})})]},q))})})},En=t=>1-Math.pow(1-t,2),Tr=({Media:t,itemIndex:s})=>{const{setItemInteraction:l}=Ze();return a.useEffect(()=>{l(s,"ready")},[s,l]),t},Jt=(t,s)=>Math.sqrt((t.clientX-s.clientX)**2+(t.clientY-s.clientY)**2),Sr=({onlyPreload:t,...s})=>{const{zoom:l,isZooming:f,setZoom:d}=Ze(),c=a.useRef(null),x=a.useRef(null),e=a.useCallback(C=>{if(!x.current)throw new Error(`[${C??"getTransformElementOrThrow"}] transformElementRef.current is null`);return x.current},[]),L=a.useRef(!1),k=a.useRef(null),j=a.useRef(new Map),M=a.useRef({x:0,y:0,scale:1}),h=a.useRef(null),o=a.useCallback(C=>{const p=e("setTransformStyle"),{x:b,y:P,scale:$}={...M.current,...C},T=Ke($,1,tt),V=p.clientWidth,G=p.clientHeight,R=V*T,Z=G*T,S=Ke(b,-(R-V),0),Y=Ke(P,-(Z-G),0);M.current={x:S,y:Y,scale:T},p.style.transform=`translate(${S}px, ${Y}px) scale(${T})`},[e]),y=a.useCallback((C,p)=>{const{x:b,y:P,scale:$}=M.current,{x:T,y:V,scale:G}={...M.current,...C};h.current&&(cancelAnimationFrame(h.current),h.current=null);const R=()=>{o({x:T,y:V,scale:G}),d(G)},Z=Math.abs(T-b)<1&&Math.abs(V-P)<1&&Math.abs(G-$)<.005;if(!p||Z){R();return}const S=new Date().getTime(),Y=()=>{const ae=()=>{const z=new Date().getTime()-S;if(z>=p){R(),h.current=null;return}const q=Math.min(z/p,1),D=En(q),U=mt(b,T,D),ie=mt(P,V,D),O=mt($,G,D);o({x:U,y:ie,scale:O}),Y()};h.current=requestAnimationFrame(ae)};Y()},[o,d]),N=a.useCallback((C,p)=>{let{x:b,y:P}=M.current;C.x&&(b+=C.x),C.y&&(P+=C.y),y({x:b,y:P},p)},[y]),_=a.useCallback((C,p,b)=>{const P=M.current.scale,$=Ke(C,1,tt),T=$/P,{x:V,y:G}=M.current,{x:R,y:Z}=p,S=-V+R,Y=-G+Z,ae=S*T,W=Y*T,z=ae-R,q=W-Z,D=-z,U=-q;y({x:D,y:U,scale:$},b)},[y]),w=a.useCallback(C=>{const p=e("shiftZoomFromButton"),b=p.clientWidth,P=p.clientHeight;_(C,{x:b/2,y:P/2},200)},[e,_]),E=a.useCallback((C,p,b)=>{const{scale:P}=M.current;_(P+C,p,b)},[_]);return a.useEffect(()=>{t||x.current&&w(l)},[t,w,l]),a.useEffect(()=>{if(t||!f)return;const C=x.current;if(!C)return;const p=$=>{$.preventDefault(),$.stopPropagation(),L.current=!0,k.current={x:$.clientX,y:$.clientY}},b=$=>{if(!L.current)return;if(!k.current)throw new Error("mouseStartXY.current is null");$.stopPropagation();const T=$.clientX-k.current.x,V=$.clientY-k.current.y;N({x:T,y:V}),k.current={x:$.clientX,y:$.clientY}},P=()=>{L.current=!1};return C.addEventListener("mousedown",p),document.addEventListener("mousemove",b),document.addEventListener("mouseleave",P),document.addEventListener("mouseup",P),document.addEventListener("contextmenu",P),()=>{C.removeEventListener("mousedown",p),document.removeEventListener("mousemove",b),document.removeEventListener("mouseleave",P),document.removeEventListener("mouseup",P),document.removeEventListener("contextmenu",P)}},[f,N,t]),a.useEffect(()=>{if(t)return;const C=c.current;if(!C)return;const p=b=>{const{ctrlKey:P,clientX:$,clientY:T,deltaX:V,deltaY:G}=b;if(P){if(!f&&G>=0)return;const{left:R,top:Z}=C.getBoundingClientRect(),S=$-R,Y=T-Z;E(-.01*G,{x:S,y:Y})}else{if(!f)return;N({x:-2*V,y:-2*G})}b.preventDefault()};return C.addEventListener("wheel",p),()=>{C.removeEventListener("wheel",p)}},[f,N,E,t]),a.useEffect(()=>{const C=c.current,p=x.current;if(!C||!p)return;const b=j.current,P=V=>{for(let G=0;G<V.changedTouches.length;G++){const R=V.changedTouches[G];b.set(R.identifier,R)}},$=V=>{for(let G=0;G<V.changedTouches.length;G++){const R=V.changedTouches[G];b.delete(R.identifier)}},T=V=>{const G=V.touches.length;if(G===1){if(!f)return;V.preventDefault();const R=V.touches[0],Z=b.get(R.identifier);if(!Z)throw new Error("touchStart is null");const S=R.clientX-Z.clientX,Y=R.clientY-Z.clientY;N({x:S,y:Y}),b.set(R.identifier,R)}else if(G===2){V.preventDefault();const[R,Z]=V.touches,S=b.get(R.identifier),Y=b.get(Z.identifier);if(!S||!Y)throw new Error("initialTouch1 or initialTouch2 is null");const ae=Jt(S,Y),z=Jt(R,Z)/ae,{left:q,top:D}=C.getBoundingClientRect();E(z-1,{x:(R.clientX+Z.clientX)/2-q,y:(R.clientY+Z.clientY)/2-D}),b.set(R.identifier,R),b.set(Z.identifier,Z)}};return p.addEventListener("touchstart",P),p.addEventListener("touchmove",T),p.addEventListener("touchend",$),p.addEventListener("touchcancel",$),()=>{p.removeEventListener("touchstart",P),p.removeEventListener("touchmove",T),p.removeEventListener("touchend",$),p.removeEventListener("touchcancel",$)}},[f,N,E]),n.jsx("div",{ref:c,className:`relative size-full overflow-hidden ${f?"z-zoomed-image cursor-move":""}`,children:n.jsx("div",{ref:x,className:"origin-top-left",children:n.jsx($e,{...s,imgInPlayerWidthRatio:t?1:l})})})},Nr=({className:t})=>n.jsx(Be,{className:t,customizationKey:"UI_WARNING",children:n.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[n.jsx("circle",{cx:"12",cy:"12",r:"10"}),n.jsx("line",{x1:"12",x2:"12",y1:"8",y2:"12"}),n.jsx("line",{x1:"12",x2:"12.01",y1:"16",y2:"16"})]})}),Pr=({hotspot:t,item:s,analyticsValue:l})=>{const{title:f,icon:d,description:c,position:x,detail:e,type:L}=t,{emitAnalyticsEvent:k}=We(),{extendMode:j,setShownDetails:M,displayedCategoryId:h,displayedCategoryName:o}=Ze(),y=a.useCallback(Y=>{const ae=Y==="click"?"Hotspot Clicked":"Hotspot Hovered",W=Y==="click"?"hotspot_clicked":"hotspot_hovered";k({type:"interaction",current:{category_id:h,category_name:o,item_type:s.item_type,item_position:s.item_position},action:{name:ae,field:W,value:l}})},[k,h,o,s,l]),N=a.useCallback(()=>{y("click")},[y]),_=a.useCallback(()=>{y("hover")},[y]),{getIconConfig:w}=ut(),E=d?w(d):void 0,C=!!e,p=e?.type==="image",b=!!f||!!c,P=p?L==="damage"?n.jsx(Nr,{className:"size-4"}):n.jsx(xn,{className:"size-4"}):n.jsx("div",{className:"size-1"}),$=()=>{N(),p&&M({src:e.src,title:f,text:c})},[T,V]=a.useState(!1),G=a.useCallback(()=>{T||(V(!0),_())},[T,V,_]),R=a.useCallback(()=>{T&&V(!1)},[T,V]),S=a.useCallback(()=>L==="damage"?"var(--hotspot-damage-color)":"var(--hotspot-feature-color)",[L])();return n.jsxs("div",{className:he("group absolute z-hotspot -translate-x-1/2 -translate-y-1/2 hover:z-hotspot-hover",C?"cursor-pointer":"cursor-help"),style:{top:`${100*t.position.y}%`,left:`${100*t.position.x}%`},onClick:$,onMouseEnter:G,onMouseLeave:R,children:[n.jsxs("div",{className:"relative flex items-center justify-center rounded-full border-2 border-background bg-primary text-primary-foreground",style:{backgroundColor:S},children:[n.jsx("div",{className:"pointer-events-none absolute -z-20 size-8 animate-hotspot-ping rounded-full border-2 border-background bg-primary",style:{backgroundColor:S}}),n.jsx("div",{className:"p-1",children:E?.Icon?n.jsx("div",{className:"size-4",children:E.Icon}):P})]}),!p&&b&&n.jsx("div",{className:he("absolute -z-10 w-max max-w-40 text-pretty rounded-ui bg-background p-2 small:max-w-48",j&&"large:max-w-56",x.y<.55?"-top-1":"-bottom-1",x.x<.55?"-left-1 pl-6 small:pl-8":"-right-1 pr-4 small:pr-6","pointer-events-none opacity-0 transition-opacity duration-200 group-hover:pointer-events-auto group-hover:opacity-100"),children:n.jsxs("div",{className:"space-y-1 text-pretty",children:[f&&n.jsx("div",{className:"text-sm font-semibold small:text-base small:font-bold",children:f}),c&&n.jsx("div",{className:"text-xs text-foreground/65 small:text-sm",children:c})]})})]})},Rr=({hotspot:t,item:s})=>{const{detail:l,title:f,description:d,position:c}=t,x=a.useMemo(()=>f||d?{...f?{title:f}:{},...d?{description:d}:{}}:void 0,[f,d]),e=a.useMemo(()=>x||c?{...x?{text:x}:{},...c?{position:c}:{}}:void 0,[x,c]),L=a.useMemo(()=>({...e?{hotspot:e}:{},...l?{detail:l}:{}}),[e,l]),k=n.jsx(Pr,{hotspot:t,item:s,analyticsValue:L});switch(l?.type){case"link":case"pdf":return n.jsx("a",{href:l.src,target:"_blank",rel:"noreferrer",children:k});default:return k}},Ln=({hotspots:t,itemIndex:s,className:l,onLoad:f,...d})=>{const{isShowingDetails:c,currentItemHotspotsVisible:x,setItemInteraction:e}=Ze();return n.jsx("div",{className:he("relative size-full overflow-hidden",l),children:n.jsxs("div",{className:he("size-full duration-details",c?"scale-105":"scale-100"),children:[n.jsx(Sr,{className:"size-full object-cover",onLoad:L=>{s!==void 0&&s>=0&&e(s,"ready"),f?.(L)},...d}),x&&t?.map((L,k)=>n.jsx(Rr,{hotspot:L,item:{item_type:"image",item_position:s}},k))]})})},jr=100,it=100,ct=50,Ar=0,zr=0,Dr=t=>{const[s,l]=a.useState(0),[f,d]=a.useState(!1);return a.useEffect(()=>{const c=XMLHttpRequest.prototype.open,x=XMLHttpRequest.prototype.send;let e=!1;return XMLHttpRequest.prototype.open=function(L,k,j=!0,M,h){return k.toString().includes(t)&&(e=!0,d(!0)),c.call(this,L,k,j,M||null,h||null)},XMLHttpRequest.prototype.send=function(L){return e&&(this.addEventListener("progress",k=>{if(k.lengthComputable){const j=Math.round(k.loaded/k.total*100);l(j)}}),this.addEventListener("loadend",()=>{e=!1,l(100),d(!1)})),x.call(this,L)},()=>{XMLHttpRequest.prototype.open=c,XMLHttpRequest.prototype.send=x}},[t]),[s,f]};window.libpannellum=(function(t,s,l){function f(j){var M=s.createElement("canvas");M.style.width=M.style.height="100%",j.appendChild(M);var h,o,y,N,_,w,E,C,p,b,P,$,T,V,G,R;this.init=function(u,m,Q,re,ee,v,J,te){if(m===l&&(m="equirectangular"),m!="equirectangular"&&m!="cubemap"&&m!="multires")throw console.log("Error: invalid image type specified!"),{type:"config error"};if(b=m,p=u,P=Q,R=te||{},h){if(y&&(o.detachShader(h,y),o.deleteShader(y)),N&&(o.detachShader(h,N),o.deleteShader(N)),o.bindBuffer(o.ARRAY_BUFFER,null),o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,null),h.texture&&o.deleteTexture(h.texture),h.nodeCache)for(var ve=0;ve<h.nodeCache.length;ve++)o.deleteTexture(h.nodeCache[ve].texture);o.deleteProgram(h),h=l}C=l;var de,He=!1,le;if(b=="cubemap")for(de=0;de<6;de++)p[de].width>0?(le===l&&(le=p[de].width),le!=p[de].width&&console.log("Cube faces have inconsistent widths: "+le+" vs. "+p[de].width)):He=!0;function me(ce){if(He){var A=ce*ce*4,pe=new Uint8ClampedArray(A),Ee=te.backgroundColor?te.backgroundColor:[0,0,0];Ee[0]*=255,Ee[1]*=255,Ee[2]*=255;for(var Ce=0;Ce<A;Ce++)pe[Ce++]=Ee[0],pe[Ce++]=Ee[1],pe[Ce++]=Ee[2];var Re=new ImageData(pe,ce,ce);for(de=0;de<6;de++)p[de].width==0&&(p[de]=Re)}}if(b=="cubemap"&&(le&le-1)!==0&&(navigator.userAgent.toLowerCase().match(/(iphone|ipod|ipad).* os 8_/)||navigator.userAgent.toLowerCase().match(/(iphone|ipod|ipad).* os 9_/)||navigator.userAgent.toLowerCase().match(/(iphone|ipod|ipad).* os 10_/)||navigator.userAgent.match(/Trident.*rv[ :]*11\./))||(o||(o=M.getContext("experimental-webgl",{alpha:!1,depth:!1})),o&&o.getError()==1286&&xe()),!o&&(b=="multires"&&p.hasOwnProperty("fallbackPath")||b=="cubemap")&&("WebkitAppearance"in s.documentElement.style||navigator.userAgent.match(/Trident.*rv[ :]*11\./)||navigator.appVersion.indexOf("MSIE 10")!==-1)){w&&j.removeChild(w),w=s.createElement("div"),w.className="pnlm-world";var ge;p.basePath?ge=p.basePath+p.fallbackPath:ge=p.fallbackPath;var Ae=["f","r","b","l","u","d"],De=0,Le=function(){var A=s.createElement("canvas");A.className="pnlm-face pnlm-"+Ae[this.side]+"face",w.appendChild(A);var pe=A.getContext("2d");A.style.width=this.width+4+"px",A.style.height=this.height+4+"px",A.width=this.width+4,A.height=this.height+4,pe.drawImage(this,2,2);var Ee=pe.getImageData(0,0,A.width,A.height),Ce=Ee.data,Re,ue;for(Re=2;Re<A.width-2;Re++)for(ue=0;ue<4;ue++)Ce[(Re+A.width)*4+ue]=Ce[(Re+A.width*2)*4+ue],Ce[(Re+A.width*(A.height-2))*4+ue]=Ce[(Re+A.width*(A.height-3))*4+ue];for(Re=2;Re<A.height-2;Re++)for(ue=0;ue<4;ue++)Ce[(Re*A.width+1)*4+ue]=Ce[(Re*A.width+2)*4+ue],Ce[((Re+1)*A.width-2)*4+ue]=Ce[((Re+1)*A.width-3)*4+ue];for(ue=0;ue<4;ue++)Ce[(A.width+1)*4+ue]=Ce[(A.width*2+2)*4+ue],Ce[(A.width*2-2)*4+ue]=Ce[(A.width*3-3)*4+ue],Ce[(A.width*(A.height-2)+1)*4+ue]=Ce[(A.width*(A.height-3)+2)*4+ue],Ce[(A.width*(A.height-1)-2)*4+ue]=Ce[(A.width*(A.height-2)-3)*4+ue];for(Re=1;Re<A.width-1;Re++)for(ue=0;ue<4;ue++)Ce[Re*4+ue]=Ce[(Re+A.width)*4+ue],Ce[(Re+A.width*(A.height-1))*4+ue]=Ce[(Re+A.width*(A.height-2))*4+ue];for(Re=1;Re<A.height-1;Re++)for(ue=0;ue<4;ue++)Ce[Re*A.width*4+ue]=Ce[(Re*A.width+1)*4+ue],Ce[((Re+1)*A.width-1)*4+ue]=Ce[((Re+1)*A.width-2)*4+ue];for(ue=0;ue<4;ue++)Ce[ue]=Ce[(A.width+1)*4+ue],Ce[(A.width-1)*4+ue]=Ce[(A.width*2-2)*4+ue],Ce[A.width*(A.height-1)*4+ue]=Ce[(A.width*(A.height-2)+1)*4+ue],Ce[(A.width*A.height-1)*4+ue]=Ce[(A.width*(A.height-1)-2)*4+ue];pe.putImageData(Ee,0,0),Pe.call(this)},Pe=function(){this.width>0?(_===l&&(_=this.width),_!=this.width&&console.log("Fallback faces have inconsistent widths: "+_+" vs. "+this.width)):He=!0,De++,De==6&&(_=this.width,j.appendChild(w),J())};for(He=!1,de=0;de<6;de++){var Ne=new Image;Ne.crossOrigin=R.crossOrigin?R.crossOrigin:"anonymous",Ne.side=de,Ne.onload=Le,Ne.onerror=Pe,b=="multires"?Ne.src=encodeURI(ge.replace("%s",Ae[de])+"."+p.extension):Ne.src=encodeURI(p[de].src)}me(_);return}else if(!o)throw console.log("Error: no WebGL support detected!"),{type:"no webgl"};b=="cubemap"&&me(le),p.basePath?p.fullpath=p.basePath+p.path:p.fullpath=p.path,p.invTileResolution=1/p.tileResolution;var Me=z();for(E=[],de=0;de<6;de++)E[de]=Me.slice(de*12,de*12+12),Me=z();var ke=0,ze=0;if(b=="equirectangular"?(ke=Math.max(p.width,p.height),ze=o.getParameter(o.MAX_TEXTURE_SIZE)):b=="cubemap"&&(ke=le,ze=o.getParameter(o.MAX_CUBE_MAP_TEXTURE_SIZE)),ke>ze)throw console.log("Error: The image is too big; it's "+ke+"px wide, but this device's maximum supported size is "+ze+"px."),{type:"webgl size error",width:ke,maxWidth:ze};te!==l&&(te.horizonPitch!==l||te.horizonRoll!==l)&&(C=[te.horizonPitch==l?0:te.horizonPitch,te.horizonRoll==l?0:te.horizonRoll]);var _e=o.TEXTURE_2D;o.viewport(0,0,o.drawingBufferWidth,o.drawingBufferHeight),y=o.createShader(o.VERTEX_SHADER);var Oe=d;b=="multires"&&(Oe=c),o.shaderSource(y,Oe),o.compileShader(y),N=o.createShader(o.FRAGMENT_SHADER);var Fe=L;b=="cubemap"?(_e=o.TEXTURE_CUBE_MAP,Fe=e):b=="multires"&&(Fe=k),o.shaderSource(N,Fe),o.compileShader(N),h=o.createProgram(),o.attachShader(h,y),o.attachShader(h,N),o.linkProgram(h),o.getShaderParameter(y,o.COMPILE_STATUS)||console.log(o.getShaderInfoLog(y)),o.getShaderParameter(N,o.COMPILE_STATUS)||console.log(o.getShaderInfoLog(N)),o.getProgramParameter(h,o.LINK_STATUS)||console.log(o.getProgramInfoLog(h)),o.useProgram(h),h.drawInProgress=!1;var Ie=te.backgroundColor?te.backgroundColor:[0,0,0];o.clearColor(Ie[0],Ie[1],Ie[2],1),o.clear(o.COLOR_BUFFER_BIT),h.texCoordLocation=o.getAttribLocation(h,"a_texCoord"),o.enableVertexAttribArray(h.texCoordLocation),b!="multires"?($||($=o.createBuffer()),o.bindBuffer(o.ARRAY_BUFFER,$),o.bufferData(o.ARRAY_BUFFER,new Float32Array([-1,1,1,1,1,-1,-1,1,1,-1,-1,-1]),o.STATIC_DRAW),o.vertexAttribPointer(h.texCoordLocation,2,o.FLOAT,!1,0,0),h.aspectRatio=o.getUniformLocation(h,"u_aspectRatio"),o.uniform1f(h.aspectRatio,o.drawingBufferWidth/o.drawingBufferHeight),h.psi=o.getUniformLocation(h,"u_psi"),h.theta=o.getUniformLocation(h,"u_theta"),h.f=o.getUniformLocation(h,"u_f"),h.h=o.getUniformLocation(h,"u_h"),h.v=o.getUniformLocation(h,"u_v"),h.vo=o.getUniformLocation(h,"u_vo"),h.rot=o.getUniformLocation(h,"u_rot"),o.uniform1f(h.h,re/(Math.PI*2)),o.uniform1f(h.v,ee/Math.PI),o.uniform1f(h.vo,v/Math.PI*2),b=="equirectangular"&&(h.backgroundColor=o.getUniformLocation(h,"u_backgroundColor"),o.uniform4fv(h.backgroundColor,Ie.concat([1]))),h.texture=o.createTexture(),o.bindTexture(_e,h.texture),b=="cubemap"?(o.texImage2D(o.TEXTURE_CUBE_MAP_POSITIVE_X,0,o.RGB,o.RGB,o.UNSIGNED_BYTE,p[1]),o.texImage2D(o.TEXTURE_CUBE_MAP_NEGATIVE_X,0,o.RGB,o.RGB,o.UNSIGNED_BYTE,p[3]),o.texImage2D(o.TEXTURE_CUBE_MAP_POSITIVE_Y,0,o.RGB,o.RGB,o.UNSIGNED_BYTE,p[4]),o.texImage2D(o.TEXTURE_CUBE_MAP_NEGATIVE_Y,0,o.RGB,o.RGB,o.UNSIGNED_BYTE,p[5]),o.texImage2D(o.TEXTURE_CUBE_MAP_POSITIVE_Z,0,o.RGB,o.RGB,o.UNSIGNED_BYTE,p[0]),o.texImage2D(o.TEXTURE_CUBE_MAP_NEGATIVE_Z,0,o.RGB,o.RGB,o.UNSIGNED_BYTE,p[2])):o.texImage2D(_e,0,o.RGB,o.RGB,o.UNSIGNED_BYTE,p),o.texParameteri(_e,o.TEXTURE_WRAP_S,o.CLAMP_TO_EDGE),o.texParameteri(_e,o.TEXTURE_WRAP_T,o.CLAMP_TO_EDGE),o.texParameteri(_e,o.TEXTURE_MIN_FILTER,o.LINEAR),o.texParameteri(_e,o.TEXTURE_MAG_FILTER,o.LINEAR)):(h.vertPosLocation=o.getAttribLocation(h,"a_vertCoord"),o.enableVertexAttribArray(h.vertPosLocation),T||(T=o.createBuffer()),V||(V=o.createBuffer()),G||(G=o.createBuffer()),o.bindBuffer(o.ARRAY_BUFFER,V),o.bufferData(o.ARRAY_BUFFER,new Float32Array([0,0,1,0,1,1,0,1]),o.STATIC_DRAW),o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,G),o.bufferData(o.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,0,2,3]),o.STATIC_DRAW),h.perspUniform=o.getUniformLocation(h,"u_perspMatrix"),h.cubeUniform=o.getUniformLocation(h,"u_cubeMatrix"),h.level=-1,h.currentNodes=[],h.nodeCache=[],h.nodeCacheTimestamp=0);var F=o.getError();if(F!==0)throw console.log("Error: Something went wrong with WebGL!",F),{type:"webgl error"};J()},this.destroy=function(){if(j!==l&&(M!==l&&j.contains(M)&&j.removeChild(M),w!==l&&j.contains(w)&&j.removeChild(w)),o){var u=o.getExtension("WEBGL_lose_context");u&&u.loseContext()}},this.resize=function(){var u=t.devicePixelRatio||1;M.width=M.clientWidth*u,M.height=M.clientHeight*u,o&&(o.getError()==1286&&xe(),o.viewport(0,0,o.drawingBufferWidth,o.drawingBufferHeight),b!="multires"&&o.uniform1f(h.aspectRatio,M.clientWidth/M.clientHeight))},this.resize(),this.setPose=function(u,m){C=[u,m]},this.render=function(u,m,Q,re){var ee,v,J,te=0;if(re===l&&(re={}),re.roll&&(te=re.roll),C!==l){var ve=C[0],de=C[1],He=u,le=m,me=Math.cos(de)*Math.sin(u)*Math.sin(ve)+Math.cos(u)*(Math.cos(ve)*Math.cos(m)+Math.sin(de)*Math.sin(ve)*Math.sin(m)),ge=-Math.sin(u)*Math.sin(de)+Math.cos(u)*Math.cos(de)*Math.sin(m),Ae=Math.cos(de)*Math.cos(ve)*Math.sin(u)+Math.cos(u)*(-Math.cos(m)*Math.sin(ve)+Math.cos(ve)*Math.sin(de)*Math.sin(m));u=Math.asin(Math.max(Math.min(Ae,1),-1)),m=Math.atan2(ge,me);var De=[Math.cos(He)*(Math.sin(de)*Math.sin(ve)*Math.cos(le)-Math.cos(ve)*Math.sin(le)),Math.cos(He)*Math.cos(de)*Math.cos(le),Math.cos(He)*(Math.cos(ve)*Math.sin(de)*Math.cos(le)+Math.sin(le)*Math.sin(ve))],Le=[-Math.cos(u)*Math.sin(m),Math.cos(u)*Math.cos(m)],Pe=Math.acos(Math.max(Math.min((De[0]*Le[0]+De[1]*Le[1])/(Math.sqrt(De[0]*De[0]+De[1]*De[1]+De[2]*De[2])*Math.sqrt(Le[0]*Le[0]+Le[1]*Le[1])),1),-1));De[2]<0&&(Pe=2*Math.PI-Pe),te+=Pe}if(!o&&(b=="multires"||b=="cubemap")){J=_/2;var Ne={f:"translate3d(-"+(J+2)+"px, -"+(J+2)+"px, -"+J+"px)",b:"translate3d("+(J+2)+"px, -"+(J+2)+"px, "+J+"px) rotateX(180deg) rotateZ(180deg)",u:"translate3d(-"+(J+2)+"px, -"+J+"px, "+(J+2)+"px) rotateX(270deg)",d:"translate3d(-"+(J+2)+"px, "+J+"px, -"+(J+2)+"px) rotateX(90deg)",l:"translate3d(-"+J+"px, -"+(J+2)+"px, "+(J+2)+"px) rotateX(180deg) rotateY(90deg) rotateZ(180deg)",r:"translate3d("+J+"px, -"+(J+2)+"px, -"+(J+2)+"px) rotateY(270deg)"};ee=1/Math.tan(Q/2);var Me=ee*M.clientWidth/2+"px",ke="perspective("+Me+") translateZ("+Me+") rotateX("+u+"rad) rotateY("+m+"rad) ",ze=Object.keys(Ne);for(v=0;v<6;v++){var _e=w.querySelector(".pnlm-"+ze[v]+"face");_e&&(_e.style.webkitTransform=ke+Ne[ze[v]],_e.style.transform=ke+Ne[ze[v]])}return}if(b!="multires"){var Oe=2*Math.atan(Math.tan(Q*.5)/(o.drawingBufferWidth/o.drawingBufferHeight));ee=1/Math.tan(Oe*.5),o.uniform1f(h.psi,m),o.uniform1f(h.theta,u),o.uniform1f(h.rot,te),o.uniform1f(h.f,ee),P===!0&&b=="equirectangular"&&(o.bindTexture(o.TEXTURE_2D,h.texture),o.texImage2D(o.TEXTURE_2D,0,o.RGB,o.RGB,o.UNSIGNED_BYTE,p)),o.drawArrays(o.TRIANGLES,0,6)}else{var Fe=O(Q,o.drawingBufferWidth/o.drawingBufferHeight,.1,100);be(Q);var Ie=q();Ie=D(Ie,-te,"z"),Ie=D(Ie,-u,"x"),Ie=D(Ie,m,"y"),Ie=U(Ie),o.uniformMatrix4fv(h.perspUniform,!1,new Float32Array(ie(Fe))),o.uniformMatrix4fv(h.cubeUniform,!1,new Float32Array(ie(Ie)));var F=K(Fe,Ie);if(h.nodeCache.sort(Z),h.nodeCache.length>200&&h.nodeCache.length>h.currentNodes.length+50)for(var ce=h.nodeCache.splice(200,h.nodeCache.length-200),v=0;v<ce.length;v++)o.deleteTexture(ce[v].texture);h.currentNodes=[];var A=["f","b","u","d","l","r"];for(J=0;J<6;J++){var pe=new ae(E[J],A[J],1,0,0,p.fullpath);W(F,pe,u,m)}for(h.currentNodes.sort(S),v=se.length-1;v>=0;v--)h.currentNodes.indexOf(se[v].node)===-1&&(se[v].node.textureLoad=!1,se.splice(v,1));if(se.length===0)for(v=0;v<h.currentNodes.length;v++){var Ee=h.currentNodes[v];if(!Ee.texture&&!Ee.textureLoad){Ee.textureLoad=!0,setTimeout(I,0,Ee);break}}Y()}if(re.returnImage!==l)return M.toDataURL("image/png")},this.isLoading=function(){if(o&&b=="multires"){for(var u=0;u<h.currentNodes.length;u++)if(!h.currentNodes[u].textureLoaded)return!0}return!1},this.getCanvas=function(){return M};function Z(u,m){return u.level==1&&m.level!=1?-1:m.level==1&&u.level!=1?1:m.timestamp-u.timestamp}function S(u,m){return u.level!=m.level?u.level-m.level:u.diff-m.diff}function Y(){if(!h.drawInProgress){h.drawInProgress=!0,o.clear(o.COLOR_BUFFER_BIT);for(var u=0;u<h.currentNodes.length;u++)h.currentNodes[u].textureLoaded>1&&(o.bindBuffer(o.ARRAY_BUFFER,T),o.bufferData(o.ARRAY_BUFFER,new Float32Array(h.currentNodes[u].vertices),o.STATIC_DRAW),o.vertexAttribPointer(h.vertPosLocation,3,o.FLOAT,!1,0,0),o.bindBuffer(o.ARRAY_BUFFER,V),o.vertexAttribPointer(h.texCoordLocation,2,o.FLOAT,!1,0,0),o.bindTexture(o.TEXTURE_2D,h.currentNodes[u].texture),o.drawElements(o.TRIANGLES,6,o.UNSIGNED_SHORT,0));h.drawInProgress=!1}}function ae(u,m,Q,re,ee,v){this.vertices=u,this.side=m,this.level=Q,this.x=re,this.y=ee,this.path=v.replace("%s",m).replace("%l",Q).replace("%x",re).replace("%y",ee)}function W(u,m,Q,re,ee){if(Ve(u,m.vertices)){var v=m.vertices,J=v[0]+v[3]+v[6]+v[9],te=v[1]+v[4]+v[7]+v[10],ve=v[2]+v[5]+v[8]+v[11],de=Math.sqrt(J*J+te*te+ve*ve),He=Math.asin(ve/de),le=Math.atan2(te,J),me=le-re;me+=me>Math.PI?-2*Math.PI:me<-Math.PI?2*Math.PI:0,me=Math.abs(me),m.diff=Math.acos(Math.sin(Q)*Math.sin(He)+Math.cos(Q)*Math.cos(He)*Math.cos(me));for(var ge=!1,Ae=0;Ae<h.nodeCache.length;Ae++)if(h.nodeCache[Ae].path==m.path){ge=!0,h.nodeCache[Ae].timestamp=h.nodeCacheTimestamp++,h.nodeCache[Ae].diff=m.diff,h.currentNodes.push(h.nodeCache[Ae]);break}if(ge||(m.timestamp=h.nodeCacheTimestamp++,h.currentNodes.push(m),h.nodeCache.push(m)),m.level<h.level){var De=p.cubeResolution*Math.pow(2,m.level-p.maxLevel),Le=Math.ceil(De*p.invTileResolution)-1,Pe=De%p.tileResolution*2,Ne=De*2%p.tileResolution;Ne===0&&(Ne=p.tileResolution),Pe===0&&(Pe=p.tileResolution*2);var Me=.5;(m.x==Le||m.y==Le)&&(Me=1-p.tileResolution/(p.tileResolution+Ne));var ke=1-Me,ze=[],_e,Oe,Fe=Me,Ie=Me,F=Me,ce=ke,A=ke,pe=ke;Ne<p.tileResolution&&(m.x==Le&&m.y!=Le?(Ie=.5,A=.5,(m.side=="d"||m.side=="u")&&(F=.5,pe=.5)):m.x!=Le&&m.y==Le&&(Fe=.5,ce=.5,(m.side=="l"||m.side=="r")&&(F=.5,pe=.5))),Pe<=p.tileResolution&&(m.x==Le&&(Fe=0,ce=1,(m.side=="l"||m.side=="r")&&(F=0,pe=1)),m.y==Le&&(Ie=0,A=1,(m.side=="d"||m.side=="u")&&(F=0,pe=1))),_e=[v[0],v[1],v[2],v[0]*Fe+v[3]*ce,v[1]*Me+v[4]*ke,v[2]*F+v[5]*pe,v[0]*Fe+v[6]*ce,v[1]*Ie+v[7]*A,v[2]*F+v[8]*pe,v[0]*Me+v[9]*ke,v[1]*Ie+v[10]*A,v[2]*F+v[11]*pe],Oe=new ae(_e,m.side,m.level+1,m.x*2,m.y*2,p.fullpath),ze.push(Oe),m.x==Le&&Pe<=p.tileResolution||(_e=[v[0]*Fe+v[3]*ce,v[1]*Me+v[4]*ke,v[2]*F+v[5]*pe,v[3],v[4],v[5],v[3]*Me+v[6]*ke,v[4]*Ie+v[7]*A,v[5]*F+v[8]*pe,v[0]*Fe+v[6]*ce,v[1]*Ie+v[7]*A,v[2]*F+v[8]*pe],Oe=new ae(_e,m.side,m.level+1,m.x*2+1,m.y*2,p.fullpath),ze.push(Oe)),!(m.x==Le&&Pe<=p.tileResolution)&&!(m.y==Le&&Pe<=p.tileResolution)&&(_e=[v[0]*Fe+v[6]*ce,v[1]*Ie+v[7]*A,v[2]*F+v[8]*pe,v[3]*Me+v[6]*ke,v[4]*Ie+v[7]*A,v[5]*F+v[8]*pe,v[6],v[7],v[8],v[9]*Fe+v[6]*ce,v[10]*Me+v[7]*ke,v[11]*F+v[8]*pe],Oe=new ae(_e,m.side,m.level+1,m.x*2+1,m.y*2+1,p.fullpath),ze.push(Oe)),m.y==Le&&Pe<=p.tileResolution||(_e=[v[0]*Me+v[9]*ke,v[1]*Ie+v[10]*A,v[2]*F+v[11]*pe,v[0]*Fe+v[6]*ce,v[1]*Ie+v[7]*A,v[2]*F+v[8]*pe,v[9]*Fe+v[6]*ce,v[10]*Me+v[7]*ke,v[11]*F+v[8]*pe,v[9],v[10],v[11]],Oe=new ae(_e,m.side,m.level+1,m.x*2,m.y*2+1,p.fullpath),ze.push(Oe));for(var Ee=0;Ee<ze.length;Ee++)W(u,ze[Ee],Q,re)}}}function z(){return[-1,1,-1,1,1,-1,1,-1,-1,-1,-1,-1,1,1,1,-1,1,1,-1,-1,1,1,-1,1,-1,1,1,1,1,1,1,1,-1,-1,1,-1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,1,-1,1,1,-1,1,-1,-1,-1,-1,-1,-1,1,1,1,-1,1,1,1,1,-1,1,1,-1,-1]}function q(){return[1,0,0,0,1,0,0,0,1]}function D(u,m,Q){var re=Math.sin(m),ee=Math.cos(m);if(Q=="x")return[u[0],ee*u[1]+re*u[2],ee*u[2]-re*u[1],u[3],ee*u[4]+re*u[5],ee*u[5]-re*u[4],u[6],ee*u[7]+re*u[8],ee*u[8]-re*u[7]];if(Q=="y")return[ee*u[0]-re*u[2],u[1],ee*u[2]+re*u[0],ee*u[3]-re*u[5],u[4],ee*u[5]+re*u[3],ee*u[6]-re*u[8],u[7],ee*u[8]+re*u[6]];if(Q=="z")return[ee*u[0]+re*u[1],ee*u[1]-re*u[0],u[2],ee*u[3]+re*u[4],ee*u[4]-re*u[3],u[5],ee*u[6]+re*u[7],ee*u[7]-re*u[6],u[8]]}function U(u){return[u[0],u[1],u[2],0,u[3],u[4],u[5],0,u[6],u[7],u[8],0,0,0,0,1]}function ie(u){return[u[0],u[4],u[8],u[12],u[1],u[5],u[9],u[13],u[2],u[6],u[10],u[14],u[3],u[7],u[11],u[15]]}function O(u,m,Q,re){var ee=2*Math.atan(Math.tan(u/2)*o.drawingBufferHeight/o.drawingBufferWidth),v=1/Math.tan(ee/2);return[v/m,0,0,0,0,v,0,0,0,0,(re+Q)/(Q-re),2*re*Q/(Q-re),0,0,-1,0]}function ne(u,m){o.bindTexture(o.TEXTURE_2D,m),o.texImage2D(o.TEXTURE_2D,0,o.RGB,o.RGB,o.UNSIGNED_BYTE,u),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MAG_FILTER,o.LINEAR),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MIN_FILTER,o.LINEAR),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_WRAP_S,o.CLAMP_TO_EDGE),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_WRAP_T,o.CLAMP_TO_EDGE),o.bindTexture(o.TEXTURE_2D,null)}var se=[],oe=(function(){var u=4,m={},Q;function re(){var te=this;this.texture=this.callback=null,this.image=new Image,this.image.crossOrigin=Q||"anonymous";var ve=function(){te.image.width>0&&te.image.height>0?(ne(te.image,te.texture),te.callback(te.texture,!0)):te.callback(te.texture,!1),v(te)};this.image.addEventListener("load",ve),this.image.addEventListener("error",ve)}re.prototype.loadTexture=function(te,ve,de){this.texture=ve,this.callback=de,this.image.src=te};function ee(te,ve,de,He){this.node=te,this.src=ve,this.texture=de,this.callback=He}function v(te){if(se.length){var ve=se.shift();te.loadTexture(ve.src,ve.texture,ve.callback)}else m[u++]=te}for(var J=0;J<u;J++)m[J]=new re;return function(te,ve,de,He){Q=He;var le=o.createTexture();return u?m[--u].loadTexture(ve,le,de):se.push(new ee(te,ve,le,de)),le}})();function I(u){oe(u,encodeURI(u.path+"."+p.extension),function(m,Q){u.texture=m,u.textureLoaded=Q?2:1},R.crossOrigin)}function be(u){for(var m=1;m<p.maxLevel&&o.drawingBufferWidth>p.tileResolution*Math.pow(2,m-1)*Math.tan(u/2)*.707;)m++;h.level=m}function K(u,m){return[u[0]*m[0],u[0]*m[1],u[0]*m[2],0,u[5]*m[4],u[5]*m[5],u[5]*m[6],0,u[10]*m[8],u[10]*m[9],u[10]*m[10],u[11],-m[8],-m[9],-m[10],0]}function Se(u,m){return[u[0]*m[0]+u[1]*m[1]+u[2]*m[2],u[4]*m[0]+u[5]*m[1]+u[6]*m[2],u[11]+u[8]*m[0]+u[9]*m[1]+u[10]*m[2],1/(u[12]*m[0]+u[13]*m[1]+u[14]*m[2])]}function Ue(u,m){var Q=Se(u,m),re=Q[0]*Q[3],ee=Q[1]*Q[3],v=Q[2]*Q[3],J=[0,0,0];return re<-1&&(J[0]=-1),re>1&&(J[0]=1),ee<-1&&(J[1]=-1),ee>1&&(J[1]=1),(v<-1||v>1)&&(J[2]=1),J}function Ve(u,m){var Q=Ue(u,m.slice(0,3)),re=Ue(u,m.slice(3,6)),ee=Ue(u,m.slice(6,9)),v=Ue(u,m.slice(9,12)),J=Q[0]+re[0]+ee[0]+v[0];if(J==-4||J==4)return!1;var te=Q[1]+re[1]+ee[1]+v[1];if(te==-4||te==4)return!1;var ve=Q[2]+re[2]+ee[2]+v[2];return ve!=4}function xe(){console.log("Reducing canvas size due to error 1286!"),M.width=Math.round(M.width/2),M.height=Math.round(M.height/2)}}var d=["attribute vec2 a_texCoord;","varying vec2 v_texCoord;","void main() {","gl_Position = vec4(a_texCoord, 0.0, 1.0);","v_texCoord = a_texCoord;","}"].join(""),c=["attribute vec3 a_vertCoord;","attribute vec2 a_texCoord;","uniform mat4 u_cubeMatrix;","uniform mat4 u_perspMatrix;","varying mediump vec2 v_texCoord;","void main(void) {","gl_Position = u_perspMatrix * u_cubeMatrix * vec4(a_vertCoord, 1.0);","v_texCoord = a_texCoord;","}"].join(""),x=["precision mediump float;","uniform float u_aspectRatio;","uniform float u_psi;","uniform float u_theta;","uniform float u_f;","uniform float u_h;","uniform float u_v;","uniform float u_vo;","uniform float u_rot;","const float PI = 3.14159265358979323846264;","uniform sampler2D u_image;","uniform samplerCube u_imageCube;","varying vec2 v_texCoord;","uniform vec4 u_backgroundColor;","void main() {","float x = v_texCoord.x * u_aspectRatio;","float y = v_texCoord.y;","float sinrot = sin(u_rot);","float cosrot = cos(u_rot);","float rot_x = x * cosrot - y * sinrot;","float rot_y = x * sinrot + y * cosrot;","float sintheta = sin(u_theta);","float costheta = cos(u_theta);","float a = u_f * costheta - rot_y * sintheta;","float root = sqrt(rot_x * rot_x + a * a);","float lambda = atan(rot_x / root, a / root) + u_psi;","float phi = atan((rot_y * costheta + u_f * sintheta) / root);"].join(`
|
|
2
|
-
`),e=x+["float cosphi = cos(phi);","gl_FragColor = textureCube(u_imageCube, vec3(cosphi*sin(lambda), sin(phi), cosphi*cos(lambda)));","}"].join(`
|
|
3
|
-
`),L=x+["lambda = mod(lambda + PI, PI * 2.0) - PI;","vec2 coord = vec2(lambda / PI, phi / (PI / 2.0));","if(coord.x < -u_h || coord.x > u_h || coord.y < -u_v + u_vo || coord.y > u_v + u_vo)","gl_FragColor = u_backgroundColor;","else","gl_FragColor = texture2D(u_image, vec2((coord.x + u_h) / (u_h * 2.0), (-coord.y + u_v + u_vo) / (u_v * 2.0)));","}"].join(`
|
|
4
|
-
`),k=["varying mediump vec2 v_texCoord;","uniform sampler2D u_sampler;","void main(void) {","gl_FragColor = texture2D(u_sampler, v_texCoord);","}"].join("");return{renderer:function(M,h,o,y){return new f(M)}}})(window,document);window.pannellum=(function(t,s,l){function f(d,c){var x=this,e,L,k,j=!1,M=Date.now(),h=0,o=0,y=-1,N=0,_=0,w=new Array(10),E=!1,C,p=!1,b=!1,P,$,T={yaw:0,pitch:0,hfov:0},V=!1,G=!1,R=0,Z,S=0,Y,ae,W={},z={},q=[],D=!1,U=!1,ie={hfov:100,minHfov:50,maxHfov:120,pitch:0,minPitch:l,maxPitch:l,yaw:0,minYaw:-180,maxYaw:180,roll:0,haov:360,vaov:180,vOffset:0,autoRotate:!1,autoRotateInactivityDelay:-1,autoRotateStopDelay:l,type:"equirectangular",northOffset:0,showFullscreenCtrl:!0,dynamic:!1,doubleClickZoom:!0,keyboardZoom:!0,mouseZoom:!0,showZoomCtrl:!0,autoLoad:!1,showControls:!0,orientationOnByDefault:!1,hotSpotDebug:!1,backgroundColor:[0,0,0],avoidShowingBackground:!1,animationTimingFunction:A,draggable:!0,disableKeyboardCtrl:!1,crossOrigin:"anonymous",touchPanSpeedCoeffFactor:1,capturedKeyNumbers:[16,17,27,37,38,39,40,61,65,68,83,87,107,109,173,187,189]};ie.strings={loadButtonLabel:"Click to<br>Load<br>Panorama",loadingLabel:"Loading...",bylineLabel:"by %s",noPanoramaError:"No panorama image was specified.",fileAccessError:"The file %s could not be accessed.",malformedURLError:"There is something wrong with the panorama URL.",iOS8WebGLError:"Due to iOS 8's broken WebGL implementation, only progressive encoded JPEGs work for your device (this panorama uses standard encoding).",genericWebGLError:"Your browser does not have the necessary WebGL support to display this panorama.",textureSizeError:"This panorama is too big for your device! It's %spx wide, but your device only supports images up to %spx wide. Try another device. (If you're the author, try scaling down the image.)",unknownError:"Unknown error. Check developer console."},d=typeof d=="string"?s.getElementById(d):d,d.classList.add("pnlm-container"),d.tabIndex=0;var O=s.createElement("div");O.className="pnlm-ui",d.appendChild(O);var ne=s.createElement("div");ne.className="pnlm-render-container",d.appendChild(ne);var se=s.createElement("div");se.className="pnlm-dragfix",O.appendChild(se);var oe=s.createElement("span");oe.className="pnlm-about-msg",oe.innerHTML='<a href="https://pannellum.org/" target="_blank">Pannellum</a>',O.appendChild(oe),se.addEventListener("contextmenu",J);var I={},be=s.createElement("div");be.className="pnlm-sprite pnlm-hot-spot-debug-indicator",O.appendChild(be),I.container=s.createElement("div"),I.container.className="pnlm-panorama-info",I.title=s.createElement("div"),I.title.className="pnlm-title-box",I.container.appendChild(I.title),I.author=s.createElement("div"),I.author.className="pnlm-author-box",I.container.appendChild(I.author),O.appendChild(I.container),I.load={},I.load.box=s.createElement("div"),I.load.box.className="pnlm-load-box",I.load.boxp=s.createElement("p"),I.load.box.appendChild(I.load.boxp),I.load.lbox=s.createElement("div"),I.load.lbox.className="pnlm-lbox",I.load.lbox.innerHTML='<div class="pnlm-loading"></div>',I.load.box.appendChild(I.load.lbox),I.load.lbar=s.createElement("div"),I.load.lbar.className="pnlm-lbar",I.load.lbarFill=s.createElement("div"),I.load.lbarFill.className="pnlm-lbar-fill",I.load.lbar.appendChild(I.load.lbarFill),I.load.box.appendChild(I.load.lbar),I.load.msg=s.createElement("p"),I.load.msg.className="pnlm-lmsg",I.load.box.appendChild(I.load.msg),O.appendChild(I.load.box),I.errorMsg=s.createElement("div"),I.errorMsg.className="pnlm-error-msg pnlm-info-box",O.appendChild(I.errorMsg);var K={};K.container=s.createElement("div"),K.container.className="pnlm-controls-container",O.appendChild(K.container),K.load=s.createElement("div"),K.load.className="pnlm-load-button",K.load.addEventListener("click",function(){Ct(),Yt()}),O.appendChild(K.load),K.zoom=s.createElement("div"),K.zoom.className="pnlm-zoom-controls pnlm-controls",K.zoomIn=s.createElement("div"),K.zoomIn.className="pnlm-zoom-in pnlm-sprite pnlm-control",K.zoomIn.addEventListener("click",Pn),K.zoom.appendChild(K.zoomIn),K.zoomOut=s.createElement("div"),K.zoomOut.className="pnlm-zoom-out pnlm-sprite pnlm-control",K.zoomOut.addEventListener("click",Rn),K.zoom.appendChild(K.zoomOut),K.container.appendChild(K.zoom),K.fullscreen=s.createElement("div"),K.fullscreen.addEventListener("click",yt),K.fullscreen.className="pnlm-fullscreen-toggle-button pnlm-sprite pnlm-fullscreen-toggle-button-inactive pnlm-controls pnlm-control",(s.fullscreenEnabled||s.mozFullScreenEnabled||s.webkitFullscreenEnabled||s.msFullscreenEnabled)&&K.container.appendChild(K.fullscreen),K.orientation=s.createElement("div"),K.orientation.addEventListener("click",function(r){G?lt():ht()}),K.orientation.addEventListener("mousedown",function(r){r.stopPropagation()}),K.orientation.addEventListener("touchstart",function(r){r.stopPropagation()}),K.orientation.addEventListener("pointerdown",function(r){r.stopPropagation()}),K.orientation.className="pnlm-orientation-button pnlm-orientation-button-inactive pnlm-sprite pnlm-controls pnlm-control";var Se,Ue=!1;function Ve(r){t.removeEventListener("deviceorientation",Ve),r&&r.alpha!==null&&r.beta!==null&&r.gamma!==null?(K.container.appendChild(K.orientation),Se=!0,Ue&&ht()):Se=!1}t.DeviceOrientationEvent?t.addEventListener("deviceorientation",Ve):Se=!1;var xe=s.createElement("div");xe.className="pnlm-compass pnlm-controls pnlm-control",O.appendChild(xe),c.firstScene?dt(c.firstScene):c.default&&c.default.firstScene?dt(c.default.firstScene):dt(null),Ct(!0);function u(){var r=s.createElement("div");if(r.innerHTML="<!--[if lte IE 9]><i></i><![endif]-->",r.getElementsByTagName("i").length==1){ee();return}Y=e.hfov,ae=e.pitch;var i,g;if(e.type=="cubemap"){for(P=[],i=0;i<6;i++)P.push(new Image),P[i].crossOrigin=e.crossOrigin;I.load.lbox.style.display="block",I.load.lbar.style.display="none"}else if(e.type=="multires"){var H=JSON.parse(JSON.stringify(e.multiRes));e.basePath&&e.multiRes.basePath&&!/^(?:[a-z]+:)?\/\//i.test(e.multiRes.basePath)?H.basePath=e.basePath+e.multiRes.basePath:e.multiRes.basePath?H.basePath=e.multiRes.basePath:e.basePath&&(H.basePath=e.basePath),P=H}else if(e.dynamic===!0)P=e.panorama;else{if(e.panorama===l){ee(e.strings.noPanoramaError);return}P=new Image}if(e.type=="cubemap"){var X=6,B=function(){X--,X===0&&Q()},we=function(je){var Te=s.createElement("a");Te.href=je.target.src,Te.textContent=Te.href,ee(e.strings.fileAccessError.replace("%s",Te.outerHTML))};for(i=0;i<P.length;i++)g=e.cubeMap[i],g=="null"?(console.log("Will use background instead of missing cubemap face "+i),B()):(e.basePath&&!m(g)&&(g=e.basePath+g),P[i].onload=B,P[i].onerror=we,P[i].src=ot(g))}else if(e.type=="multires")Q();else if(g="",e.basePath&&(g=e.basePath),e.dynamic!==!0){g=m(e.panorama)?e.panorama:g+e.panorama,P.onload=function(){t.URL.revokeObjectURL(this.src),Q()};var fe=new XMLHttpRequest;fe.onloadend=function(){if(fe.status!=200){var ye=s.createElement("a");ye.href=g,ye.textContent=ye.href,ee(e.strings.fileAccessError.replace("%s",ye.outerHTML))}var je=this.response;re(je),I.load.msg.innerHTML=""},fe.onprogress=function(ye){if(ye.lengthComputable){var je=ye.loaded/ye.total*100;I.load.lbarFill.style.width=je+"%";var Te,Ye,Xe;ye.total>1e6?(Te="MB",Ye=(ye.loaded/1e6).toFixed(2),Xe=(ye.total/1e6).toFixed(2)):ye.total>1e3?(Te="kB",Ye=(ye.loaded/1e3).toFixed(1),Xe=(ye.total/1e3).toFixed(1)):(Te="B",Ye=ye.loaded,Xe=ye.total),I.load.msg.innerHTML=Ye+" / "+Xe+" "+Te}else I.load.lbox.style.display="block",I.load.lbar.style.display="none"};try{fe.open("GET",g,!0)}catch{ee(e.strings.malformedURLError)}fe.responseType="blob",fe.setRequestHeader("Accept","image/*,*/*;q=0.9"),fe.withCredentials=e.crossOrigin==="use-credentials",fe.send()}e.draggable&&O.classList.add("pnlm-grab"),O.classList.remove("pnlm-grabbing")}function m(r){return new RegExp("^(?:[a-z]+:)?//","i").test(r)||r[0]=="/"||r.slice(0,5)=="blob:"}function Q(){L||(L=new libpannellum.renderer(ne)),b||(b=!0,se.addEventListener("mousedown",ve,!1),s.addEventListener("mousemove",le,!1),s.addEventListener("mouseup",me,!1),e.mouseZoom&&(O.addEventListener("mousewheel",ze,!1),O.addEventListener("DOMMouseScroll",ze,!1)),e.doubleClickZoom&&se.addEventListener("dblclick",de,!1),O.addEventListener("mozfullscreenchange",Je,!1),O.addEventListener("webkitfullscreenchange",Je,!1),O.addEventListener("msfullscreenchange",Je,!1),O.addEventListener("fullscreenchange",Je,!1),t.addEventListener("resize",pe,!1),t.addEventListener("orientationchange",pe,!1),e.disableKeyboardCtrl||(d.addEventListener("keydown",_e,!1),d.addEventListener("keyup",Fe,!1),d.addEventListener("blur",Oe,!1)),s.addEventListener("mouseleave",me,!1),s.documentElement.style.pointerAction===""&&s.documentElement.style.touchAction===""?(se.addEventListener("pointerdown",Ne,!1),se.addEventListener("pointermove",Me,!1),se.addEventListener("pointerup",ke,!1),se.addEventListener("pointerleave",ke,!1)):(se.addEventListener("touchstart",ge,!1),se.addEventListener("touchmove",Ae,!1),se.addEventListener("touchend",De,!1)),t.navigator.pointerEnabled&&(d.style.touchAction="none")),_n(),qe(e.hfov),setTimeout(function(){},500)}function re(r){var i=new FileReader;i.addEventListener("loadend",function(){var g=i.result;if(navigator.userAgent.toLowerCase().match(/(iphone|ipod|ipad).* os 8_/)){var H=g.indexOf("ÿÂ");(H<0||H>65536)&&ee(e.strings.iOS8WebGLError)}var X=g.indexOf("<x:xmpmeta");if(X>-1&&e.ignoreGPanoXMP!==!0){var B=g.substring(X,g.indexOf("</x:xmpmeta>")+12),we=function(je){var Te;return B.indexOf(je+'="')>=0?(Te=B.substring(B.indexOf(je+'="')+je.length+2),Te=Te.substring(0,Te.indexOf('"'))):B.indexOf(je+">")>=0&&(Te=B.substring(B.indexOf(je+">")+je.length+1),Te=Te.substring(0,Te.indexOf("<"))),Te!==l?Number(Te):null},fe={fullWidth:we("GPano:FullPanoWidthPixels"),croppedWidth:we("GPano:CroppedAreaImageWidthPixels"),fullHeight:we("GPano:FullPanoHeightPixels"),croppedHeight:we("GPano:CroppedAreaImageHeightPixels"),topPixels:we("GPano:CroppedAreaTopPixels"),heading:we("GPano:PoseHeadingDegrees"),horizonPitch:we("GPano:PosePitchDegrees"),horizonRoll:we("GPano:PoseRollDegrees")};fe.fullWidth!==null&&fe.croppedWidth!==null&&fe.fullHeight!==null&&fe.croppedHeight!==null&&fe.topPixels!==null&&(q.indexOf("haov")<0&&(e.haov=fe.croppedWidth/fe.fullWidth*360),q.indexOf("vaov")<0&&(e.vaov=fe.croppedHeight/fe.fullHeight*180),q.indexOf("vOffset")<0&&(e.vOffset=((fe.topPixels+fe.croppedHeight/2)/fe.fullHeight-.5)*-180),fe.heading!==null&&q.indexOf("northOffset")<0&&(e.northOffset=fe.heading,e.compass!==!1&&(e.compass=!0)),fe.horizonPitch!==null&&fe.horizonRoll!==null&&(q.indexOf("horizonPitch")<0&&(e.horizonPitch=fe.horizonPitch),q.indexOf("horizonRoll")<0&&(e.horizonRoll=fe.horizonRoll)))}P.src=t.URL.createObjectURL(r)}),i.readAsBinaryString!==l?i.readAsBinaryString(r):i.readAsText(r)}function ee(r){r===l&&(r=e.strings.genericWebGLError),I.errorMsg.innerHTML="<p>"+r+"</p>",K.load.style.display="none",I.load.box.style.display="none",I.errorMsg.style.display="table",p=!0,ne.style.display="none",Qe("error",r)}function v(){p&&(I.load.box.style.display="none",I.errorMsg.style.display="none",p=!1,Qe("errorcleared"))}function J(r){var i=te(r);oe.style.left=i.x+"px",oe.style.top=i.y+"px",clearTimeout(J.t1),clearTimeout(J.t2),oe.style.display="block",oe.style.opacity=1,J.t1=setTimeout(function(){oe.style.opacity=0},2e3),J.t2=setTimeout(function(){oe.style.display="none"},2500),r.preventDefault()}function te(r){var i=d.getBoundingClientRect(),g={};return g.x=r.clientX-i.left,g.y=r.clientY-i.top,g}function ve(r){if(r.preventDefault(),d.focus(),!(!C||!e.draggable)){var i=te(r);if(e.hotSpotDebug){var g=He(r);console.log("Pitch: "+g[0]+", Yaw: "+g[1]+", Center Pitch: "+e.pitch+", Center Yaw: "+e.yaw+", HFOV: "+e.hfov)}ft(),lt(),e.roll=0,T.hfov=0,j=!0,M=Date.now(),h=i.x,o=i.y,N=e.yaw,_=e.pitch,O.classList.add("pnlm-grabbing"),O.classList.remove("pnlm-grab"),Qe("mousedown",r),Ee()}}function de(r){if(e.minHfov===e.hfov)x.setHfov(Y,1e3);else{var i=He(r);x.lookAt(i[0],i[1],e.minHfov,1e3)}}function He(r){var i=te(r),g=L.getCanvas(),H=g.clientWidth,X=g.clientHeight,B=i.x/H*2-1,we=(1-i.y/X*2)*X/H,fe=1/Math.tan(e.hfov*Math.PI/360),ye=Math.sin(e.pitch*Math.PI/180),je=Math.cos(e.pitch*Math.PI/180),Te=fe*je-we*ye,Ye=Math.sqrt(B*B+Te*Te),Xe=Math.atan((we*je+fe*ye)/Ye)*180/Math.PI,et=Math.atan2(B/Ye,Te/Ye)*180/Math.PI+e.yaw;return et<-180&&(et+=360),et>180&&(et-=360),[Xe,et]}function le(r){if(j&&C){M=Date.now();var i=L.getCanvas(),g=i.clientWidth,H=i.clientHeight,X=te(r),B=(Math.atan(h/g*2-1)-Math.atan(X.x/g*2-1))*180/Math.PI*e.hfov/90+N;T.yaw=(B-e.yaw)%360*.2,e.yaw=B;var we=2*Math.atan(Math.tan(e.hfov/360*Math.PI)*H/g)*180/Math.PI,fe=(Math.atan(X.y/H*2-1)-Math.atan(o/H*2-1))*180/Math.PI*we/90+_;T.pitch=(fe-e.pitch)*.2,e.pitch=fe}}function me(r){j&&(j=!1,Date.now()-M>15&&(T.pitch=T.yaw=0),O.classList.add("pnlm-grab"),O.classList.remove("pnlm-grabbing"),M=Date.now(),Qe("mouseup",r))}function ge(r){if(!(!C||!e.draggable)){ft(),lt(),e.roll=0,T.hfov=0;var i=te(r.targetTouches[0]);if(h=i.x,o=i.y,r.targetTouches.length==2){var g=te(r.targetTouches[1]);h+=(g.x-i.x)*.5,o+=(g.y-i.y)*.5,y=Math.sqrt((i.x-g.x)*(i.x-g.x)+(i.y-g.y)*(i.y-g.y))}j=!0,M=Date.now(),N=e.yaw,_=e.pitch,Qe("touchstart",r),Ee()}}function Ae(r){if(e.draggable&&(r.preventDefault(),C&&(M=Date.now()),j&&C)){var i=te(r.targetTouches[0]),g=i.x,H=i.y;if(r.targetTouches.length==2&&y!=-1){var X=te(r.targetTouches[1]);g+=(X.x-i.x)*.5,H+=(X.y-i.y)*.5;var B=Math.sqrt((i.x-X.x)*(i.x-X.x)+(i.y-X.y)*(i.y-X.y));qe(e.hfov+(y-B)*.1),y=B}var we=e.hfov/360*e.touchPanSpeedCoeffFactor,fe=(h-g)*we+N;T.yaw=(fe-e.yaw)%360*.2,e.yaw=fe;var ye=(H-o)*we+_;T.pitch=(ye-e.pitch)*.2,e.pitch=ye}}function De(){j=!1,Date.now()-M>150&&(T.pitch=T.yaw=0),y=-1,M=Date.now(),Qe("touchend",event)}var Le=[],Pe=[];function Ne(r){r.pointerType=="touch"&&(Le.push(r.pointerId),Pe.push({clientX:r.clientX,clientY:r.clientY}),r.targetTouches=Pe,ge(r),r.preventDefault())}function Me(r){if(r.pointerType=="touch"){for(var i=0;i<Le.length;i++)if(r.pointerId==Le[i]){Pe[i].clientX=r.clientX,Pe[i].clientY=r.clientY,r.targetTouches=Pe,Ae(r),r.preventDefault();return}}}function ke(r){if(r.pointerType=="touch"){for(var i=!1,g=0;g<Le.length;g++)r.pointerId==Le[g]&&(Le[g]=l),Le[g]&&(i=!0);i||(Le=[],Pe=[],De()),r.preventDefault()}}function ze(r){!C||e.mouseZoom=="fullscreenonly"&&!E||(r.preventDefault(),ft(),M=Date.now(),r.wheelDeltaY?(qe(e.hfov-r.wheelDeltaY*.05),T.hfov=r.wheelDelta<0?1:-1):r.wheelDelta?(qe(e.hfov-r.wheelDelta*.05),T.hfov=r.wheelDelta<0?1:-1):r.detail&&(qe(e.hfov+r.detail*1.5),T.hfov=r.detail>0?1:-1),Ee())}function _e(r){ft(),M=Date.now(),lt(),e.roll=0;var i=r.which||r.keycode;e.capturedKeyNumbers.indexOf(i)<0||(r.preventDefault(),i==27?E&&yt():Ie(i,!0))}function Oe(){for(var r=0;r<10;r++)w[r]=!1}function Fe(r){var i=r.which||r.keycode;e.capturedKeyNumbers.indexOf(i)<0||(r.preventDefault(),Ie(i,!1))}function Ie(r,i){var g=!1;switch(r){case 109:case 189:case 17:case 173:w[0]!=i&&(g=!0),w[0]=i;break;case 107:case 187:case 16:case 61:w[1]!=i&&(g=!0),w[1]=i;break;case 38:w[2]!=i&&(g=!0),w[2]=i;break;case 87:w[6]!=i&&(g=!0),w[6]=i;break;case 40:w[3]!=i&&(g=!0),w[3]=i;break;case 83:w[7]!=i&&(g=!0),w[7]=i;break;case 37:w[4]!=i&&(g=!0),w[4]=i;break;case 65:w[8]!=i&&(g=!0),w[8]=i;break;case 39:w[5]!=i&&(g=!0),w[5]=i;break;case 68:w[9]!=i&&(g=!0),w[9]=i}g&&i&&(typeof performance<"u"&&performance.now()?$=performance.now():$=Date.now(),Ee())}function F(){if(C){var r=!1,i=e.pitch,g=e.yaw,H=e.hfov,X;typeof performance<"u"&&performance.now()?X=performance.now():X=Date.now(),$===l&&($=X);var B=(X-$)*e.hfov/1700;if(B=Math.min(B,1),w[0]&&e.keyboardZoom===!0&&(qe(e.hfov+(T.hfov*.8+.5)*B),r=!0),w[1]&&e.keyboardZoom===!0&&(qe(e.hfov+(T.hfov*.8-.2)*B),r=!0),(w[2]||w[6])&&(e.pitch+=(T.pitch*.8+.2)*B,r=!0),(w[3]||w[7])&&(e.pitch+=(T.pitch*.8-.2)*B,r=!0),(w[4]||w[8])&&(e.yaw+=(T.yaw*.8-.2)*B,r=!0),(w[5]||w[9])&&(e.yaw+=(T.yaw*.8+.2)*B,r=!0),r&&(M=Date.now()),e.autoRotate){if(X-$>.001){var we=(X-$)/1e3,fe=(T.yaw/we*B-e.autoRotate*.2)*we;fe=(-e.autoRotate>0?1:-1)*Math.min(Math.abs(e.autoRotate*we),Math.abs(fe)),e.yaw+=fe}e.autoRotateStopDelay&&(e.autoRotateStopDelay-=X-$,e.autoRotateStopDelay<=0&&(e.autoRotateStopDelay=!1,S=e.autoRotate,e.autoRotate=0))}if(W.pitch&&(ce("pitch"),i=e.pitch),W.yaw&&(ce("yaw"),g=e.yaw),W.hfov&&(ce("hfov"),H=e.hfov),B>0&&!e.autoRotate){var ye=.85;!w[4]&&!w[5]&&!w[8]&&!w[9]&&!W.yaw&&(e.yaw+=T.yaw*B*ye),!w[2]&&!w[3]&&!w[6]&&!w[7]&&!W.pitch&&(e.pitch+=T.pitch*B*ye),!w[0]&&!w[1]&&!W.hfov&&qe(e.hfov+T.hfov*B*ye)}if($=X,B>0){T.yaw=T.yaw*.8+(e.yaw-g)/B*.2,T.pitch=T.pitch*.8+(e.pitch-i)/B*.2,T.hfov=T.hfov*.8+(e.hfov-H)/B*.2;var je=e.autoRotate?Math.abs(e.autoRotate):5;T.yaw=Math.min(je,Math.max(T.yaw,-je)),T.pitch=Math.min(je,Math.max(T.pitch,-je)),T.hfov=Math.min(je,Math.max(T.hfov,-je))}w[0]&&w[1]&&(T.hfov=0),(w[2]||w[6])&&(w[3]||w[7])&&(T.pitch=0),(w[4]||w[8])&&(w[5]||w[9])&&(T.yaw=0)}}function ce(r){var i=W[r],g=Math.min(1,Math.max((Date.now()-i.startTime)/1e3/(i.duration/1e3),0)),H=i.startPosition+e.animationTimingFunction(g)*(i.endPosition-i.startPosition);if(i.endPosition>i.startPosition&&H>=i.endPosition||i.endPosition<i.startPosition&&H<=i.endPosition||i.endPosition===i.startPosition){H=i.endPosition,T[r]=0;var X=W[r].callback,B=W[r].callbackArgs;delete W[r],typeof X=="function"&&X(B)}e[r]=H}function A(r){return r<.5?2*r*r:-1+(4-2*r)*r}function pe(){Je()}function Ee(){V||(V=!0,Ce())}function Ce(){if(Re(),Z&&clearTimeout(Z),j||G===!0)requestAnimationFrame(Ce);else if(w[0]||w[1]||w[2]||w[3]||w[4]||w[5]||w[6]||w[7]||w[8]||w[9]||e.autoRotate||W.pitch||W.yaw||W.hfov||Math.abs(T.yaw)>.01||Math.abs(T.pitch)>.01||Math.abs(T.hfov)>.01)F(),e.autoRotateInactivityDelay>=0&&S&&Date.now()-M>e.autoRotateInactivityDelay&&!e.autoRotate&&(e.autoRotate=S,x.lookAt(ae,l,Y,3e3)),requestAnimationFrame(Ce);else if(L&&(L.isLoading()||e.dynamic===!0&&D))requestAnimationFrame(Ce);else{V=!1,$=l;var r=e.autoRotateInactivityDelay-(Date.now()-M);r>0?Z=setTimeout(function(){e.autoRotate=S,x.lookAt(ae,l,Y,3e3),Ee()},r):e.autoRotateInactivityDelay>=0&&S&&(e.autoRotate=S,x.lookAt(ae,l,Y,3e3),Ee())}}function Re(){var r;if(C){e.yaw>180?e.yaw-=360:e.yaw<-180&&(e.yaw+=360),r=e.yaw;var i=0;if(e.avoidShowingBackground){var ye=L.getCanvas(),g=e.hfov/2,H=Math.atan2(Math.tan(g/180*Math.PI),ye.width/ye.height)*180/Math.PI,X=e.vaov>e.haov;X?H*(1-Math.min(Math.cos((e.pitch-g)/180*Math.PI),Math.cos((e.pitch+g)/180*Math.PI))):i=g*(1-Math.min(Math.cos((e.pitch-H)/180*Math.PI),Math.cos((e.pitch+H)/180*Math.PI)))}var B=e.maxYaw-e.minYaw,we=-180,fe=180;B<360&&(we=e.minYaw+e.hfov/2+i,fe=e.maxYaw-e.hfov/2-i,B<e.hfov&&(we=fe=(we+fe)/2),e.yaw=Math.max(we,Math.min(fe,e.yaw))),e.autoRotate!==!1&&r!=e.yaw&&$!==l&&(e.autoRotate*=-1);var ye=L.getCanvas(),je=2*Math.atan(Math.tan(e.hfov/180*Math.PI*.5)/(ye.width/ye.height))/Math.PI*180,Te=e.minPitch+je/2,Ye=e.maxPitch-je/2,Xe=e.maxPitch-e.minPitch;Xe<je&&(Te=Ye=(Te+Ye)/2),isNaN(Te)&&(Te=-90),isNaN(Ye)&&(Ye=90),e.pitch=Math.max(Te,Math.min(Ye,e.pitch)),L.render(e.pitch*Math.PI/180,e.yaw*Math.PI/180,e.hfov*Math.PI/180,{roll:e.roll*Math.PI/180}),Zt(),e.compass&&(xe.style.transform="rotate("+(-e.yaw-e.northOffset)+"deg)",xe.style.webkitTransform="rotate("+(-e.yaw-e.northOffset)+"deg)"),e.onRender&&e.onRender()}}function ue(r,i,g,H){this.w=r,this.x=i,this.y=g,this.z=H}ue.prototype.multiply=function(r){return new ue(this.w*r.w-this.x*r.x-this.y*r.y-this.z*r.z,this.x*r.w+this.w*r.x+this.y*r.z-this.z*r.y,this.y*r.w+this.w*r.y+this.z*r.x-this.x*r.z,this.z*r.w+this.w*r.z+this.x*r.y-this.y*r.x)},ue.prototype.toEulerAngles=function(){var r=Math.atan2(2*(this.w*this.x+this.y*this.z),1-2*(this.x*this.x+this.y*this.y)),i=Math.asin(2*(this.w*this.y-this.z*this.x)),g=Math.atan2(2*(this.w*this.z+this.x*this.y),1-2*(this.y*this.y+this.z*this.z));return[r,i,g]};function kn(r,i,g){var H=[i?i*Math.PI/180/2:0,g?g*Math.PI/180/2:0,r?r*Math.PI/180/2:0],X=[Math.cos(H[0]),Math.cos(H[1]),Math.cos(H[2])],B=[Math.sin(H[0]),Math.sin(H[1]),Math.sin(H[2])];return new ue(X[0]*X[1]*X[2]-B[0]*B[1]*B[2],B[0]*X[1]*X[2]-X[0]*B[1]*B[2],X[0]*B[1]*X[2]+B[0]*X[1]*B[2],X[0]*X[1]*B[2]+B[0]*B[1]*X[2])}function In(r,i,g){var H=kn(r,i,g);H=H.multiply(new ue(Math.sqrt(.5),-Math.sqrt(.5),0,0));var X=t.orientation?-t.orientation*Math.PI/180/2:0;return H.multiply(new ue(Math.cos(X),0,-Math.sin(X),0))}function Ut(r){var i=In(r.alpha,r.beta,r.gamma).toEulerAngles();typeof G=="number"&&G<10?G+=1:G===10?(R=i[2]/Math.PI*180+e.yaw,G=!0,requestAnimationFrame(Ce)):(e.pitch=i[0]/Math.PI*180,e.roll=-i[1]/Math.PI*180,e.yaw=-i[2]/Math.PI*180+R)}function _n(){try{var r={};e.horizonPitch!==l&&(r.horizonPitch=e.horizonPitch*Math.PI/180),e.horizonRoll!==l&&(r.horizonRoll=e.horizonRoll*Math.PI/180),e.backgroundColor!==l&&(r.backgroundColor=e.backgroundColor),L.init(P,e.type,e.dynamic,e.haov*Math.PI/180,e.vaov*Math.PI/180,e.vOffset*Math.PI/180,Tn,r),e.dynamic!==!0&&(P=l)}catch(i){if(i.type=="webgl error"||i.type=="no webgl")ee();else if(i.type=="webgl size error")ee(e.strings.textureSizeError.replace("%s",i.width).replace("%s",i.maxWidth));else throw ee(e.strings.unknownError),i}}function Tn(){if(e.sceneFadeDuration&&L.fadeImg!==l){L.fadeImg.style.opacity=0;var r=L.fadeImg;delete L.fadeImg,setTimeout(function(){ne.removeChild(r),Qe("scenechangefadedone")},e.sceneFadeDuration)}e.compass?xe.style.display="inline":xe.style.display="none",Sn(),I.load.box.style.display="none",k!==l&&(ne.removeChild(k),k=l),C=!0,Qe("load"),Ee()}function Bt(r){r.pitch=Number(r.pitch)||0,r.yaw=Number(r.yaw)||0;var i=s.createElement("div");i.className="pnlm-hotspot-base",r.cssClass?i.className+=" "+r.cssClass:i.className+=" pnlm-hotspot pnlm-sprite pnlm-"+rt(r.type);var g=s.createElement("span");r.text&&(g.innerHTML=rt(r.text));var H;if(r.video){var X=s.createElement("video"),B=r.video;e.basePath&&!m(B)&&(B=e.basePath+B),X.src=ot(B),X.controls=!0,X.style.width=r.width+"px",ne.appendChild(i),g.appendChild(X)}else if(r.image){var B=r.image;e.basePath&&!m(B)&&(B=e.basePath+B),H=s.createElement("a"),H.href=ot(r.URL?r.URL:B),H.target="_blank",g.appendChild(H);var we=s.createElement("img");we.src=ot(B),we.style.width=r.width+"px",we.style.paddingTop="5px",ne.appendChild(i),H.appendChild(we),g.style.maxWidth="initial"}else r.URL?(H=s.createElement("a"),H.href=ot(r.URL),H.target="_blank",ne.appendChild(H),i.className+=" pnlm-pointer",g.className+=" pnlm-pointer",H.appendChild(i)):(r.sceneId&&(i.onclick=i.ontouchend=function(){return i.clicked||(i.clicked=!0,Et(r.sceneId,r.targetPitch,r.targetYaw,r.targetHfov)),!1},i.className+=" pnlm-pointer",g.className+=" pnlm-pointer"),ne.appendChild(i));r.createTooltipFunc?r.createTooltipFunc(i,r.createTooltipArgs):(r.text||r.video||r.image)&&(i.classList.add("pnlm-tooltip"),i.appendChild(g),g.style.width=g.scrollWidth-20+"px",g.style.marginLeft=-(g.scrollWidth-i.offsetWidth)/2+"px",g.style.marginTop=-g.scrollHeight-12+"px"),r.clickHandlerFunc&&(i.addEventListener("click",function(fe){r.clickHandlerFunc(fe,r.clickHandlerArgs)},"false"),i.className+=" pnlm-pointer",g.className+=" pnlm-pointer"),r.div=i}function Sn(){U||(e.hotSpots?(e.hotSpots=e.hotSpots.sort(function(r,i){return r.pitch<i.pitch}),e.hotSpots.forEach(Bt)):e.hotSpots=[],U=!0,Zt())}function Nn(){var r=e.hotSpots;if(U=!1,delete e.hotSpots,r)for(var i=0;i<r.length;i++){for(var g=r[i].div;g.parentNode!=ne;)g=g.parentNode;ne.removeChild(g),delete r[i].div}}function Wt(r){var i=Math.sin(r.pitch*Math.PI/180),g=Math.cos(r.pitch*Math.PI/180),H=Math.sin(e.pitch*Math.PI/180),X=Math.cos(e.pitch*Math.PI/180),B=Math.cos((-r.yaw+e.yaw)*Math.PI/180),we=i*H+g*B*X;if(r.yaw<=90&&r.yaw>-90&&we<=0||(r.yaw>90||r.yaw<=-90)&&we<=0)r.div.style.visibility="hidden";else{var fe=Math.sin((-r.yaw+e.yaw)*Math.PI/180),ye=Math.tan(e.hfov*Math.PI/360);r.div.style.visibility="visible";var je=L.getCanvas(),Te=je.clientWidth,Ye=je.clientHeight,Xe=[-Te/ye*fe*g/we/2,-Te/ye*(i*X-g*B*H)/we/2],et=Math.sin(e.roll*Math.PI/180),Gt=Math.cos(e.roll*Math.PI/180);Xe=[Xe[0]*Gt-Xe[1]*et,Xe[0]*et+Xe[1]*Gt],Xe[0]+=(Te-r.div.offsetWidth)/2,Xe[1]+=(Ye-r.div.offsetHeight)/2;var Lt="translate("+Xe[0]+"px, "+Xe[1]+"px) translateZ(9999px) rotate("+e.roll+"deg)";r.div.style.webkitTransform=Lt,r.div.style.MozTransform=Lt,r.div.style.transform=Lt}}function Zt(){e.hotSpots.forEach(Wt)}function dt(r){e={};var i,g,H=["haov","vaov","vOffset","northOffset","horizonPitch","horizonRoll"];q=[];for(i in ie)ie.hasOwnProperty(i)&&(e[i]=ie[i]);for(i in c.default)if(c.default.hasOwnProperty(i))if(i=="strings")for(g in c.default.strings)c.default.strings.hasOwnProperty(g)&&(e.strings[g]=rt(c.default.strings[g]));else e[i]=c.default[i],H.indexOf(i)>=0&&q.push(i);if(r!==null&&r!==""&&c.scenes&&c.scenes[r]){var X=c.scenes[r];for(i in X)if(X.hasOwnProperty(i))if(i=="strings")for(g in X.strings)X.strings.hasOwnProperty(g)&&(e.strings[g]=rt(X.strings[g]));else e[i]=X[i],H.indexOf(i)>=0&&q.push(i);e.scene=r}for(i in c)if(c.hasOwnProperty(i))if(i=="strings")for(g in c.strings)c.strings.hasOwnProperty(g)&&(e.strings[g]=rt(c.strings[g]));else e[i]=c[i],H.indexOf(i)>=0&&q.push(i)}function Ct(r){if(r=r||!1,r&&"preview"in e){var i=e.preview;e.basePath&&!m(i)&&(i=e.basePath+i),k=s.createElement("div"),k.className="pnlm-preview-img",k.style.backgroundImage="url('"+jn(i)+"')",ne.appendChild(k)}var g=e.title,H=e.author;r&&("previewTitle"in e&&(e.title=e.previewTitle),"previewAuthor"in e&&(e.author=e.previewAuthor)),e.hasOwnProperty("title")||(I.title.innerHTML=""),e.hasOwnProperty("author")||(I.author.innerHTML=""),!e.hasOwnProperty("title")&&!e.hasOwnProperty("author")&&(I.container.style.display="none"),K.load.innerHTML="<p>"+e.strings.loadButtonLabel+"</p>",I.load.boxp.innerHTML=e.strings.loadingLabel;for(var X in e)if(e.hasOwnProperty(X))switch(X){case"title":I.title.innerHTML=rt(e[X]),I.container.style.display="inline";break;case"author":I.author.innerHTML=e.strings.bylineLabel.replace("%s",rt(e[X])),I.container.style.display="inline";break;case"fallback":var B=s.createElement("a");B.href=ot(e[X]),B.target="_blank",B.textContent="Click here to view this panorama in an alternative viewer.";var we=s.createElement("p");we.textContent="Your browser does not support WebGL.",we.appendChild(s.createElement("br")),we.appendChild(B),I.errorMsg.innerHTML="",I.errorMsg.appendChild(we);break;case"hfov":qe(Number(e[X]));break;case"autoLoad":e[X]===!0&&L===l&&(I.load.box.style.display="inline",K.load.style.display="none",u());break;case"showZoomCtrl":e[X]&&e.showControls!=!1?K.zoom.style.display="block":K.zoom.style.display="none";break;case"showFullscreenCtrl":e[X]&&e.showControls!=!1&&("fullscreen"in s||"mozFullScreen"in s||"webkitIsFullScreen"in s||"msFullscreenElement"in s)?K.fullscreen.style.display="block":K.fullscreen.style.display="none";break;case"hotSpotDebug":e[X]?be.style.display="block":be.style.display="none";break;case"showControls":e[X]||(K.orientation.style.display="none",K.zoom.style.display="none",K.fullscreen.style.display="none");break;case"orientationOnByDefault":e[X]&&(Se===l?Ue=!0:Se===!0&&ht());break}r&&(g?e.title=g:delete e.title,H?e.author=H:delete e.author)}function yt(){if(C&&!p)if(E)s.exitFullscreen?s.exitFullscreen():s.mozCancelFullScreen?s.mozCancelFullScreen():s.webkitCancelFullScreen?s.webkitCancelFullScreen():s.msExitFullscreen&&s.msExitFullscreen();else try{d.requestFullscreen?d.requestFullscreen():d.mozRequestFullScreen?d.mozRequestFullScreen():d.msRequestFullscreen?d.msRequestFullscreen():d.webkitRequestFullScreen()}catch{}}function Je(){var r=t.innerWidth==screen.width&&t.innerHeight==screen.height;s.fullscreen||s.mozFullScreen||s.webkitIsFullScreen||s.msFullscreenElement||r?(K.fullscreen.classList.add("pnlm-fullscreen-toggle-button-active"),E=!0):(K.fullscreen.classList.remove("pnlm-fullscreen-toggle-button-active"),E=!1),L.resize(),qe(e.hfov),Ee()}function Pn(){C&&(qe(e.hfov-5),Ee())}function Rn(){C&&(qe(e.hfov+5),Ee())}function Xt(r){var i=e.minHfov;if(e.type=="multires"&&L&&(i=Math.min(i,L.getCanvas().width/(e.multiRes.cubeResolution/90*.9))),i>e.maxHfov)return console.log("HFOV bounds do not make sense (minHfov > maxHfov)."),e.hfov;var g=e.hfov;if(r<i?g=i:r>e.maxHfov?g=e.maxHfov:g=r,e.avoidShowingBackground&&L){var H=L.getCanvas();g=Math.min(g,Math.atan(Math.tan((e.maxPitch-e.minPitch)/360*Math.PI)/H.height*H.width)*360/Math.PI)}return g}function qe(r){e.hfov=Xt(r)}function ft(){W={},S=e.autoRotate?e.autoRotate:S,e.autoRotate=!1}function Yt(){v(),C=!1,K.load.style.display="none",I.load.box.style.display="inline",u()}function Et(r,i,g,H,X){C=!1,W={};var B,we,fe,ye;if(e.sceneFadeDuration&&!X){var je=L.render(e.pitch*Math.PI/180,e.yaw*Math.PI/180,e.hfov*Math.PI/180,{returnImage:!0});if(je!==l){B=new Image,B.className="pnlm-fade-img",B.style.transition="opacity "+e.sceneFadeDuration/1e3+"s",B.style.width="100%",B.style.height="100%",B.onload=function(){Et(r,i,g,H,!0)},B.src=je,ne.appendChild(B),L.fadeImg=B;return}}i==="same"?we=e.pitch:we=i,g==="same"?fe=e.yaw:g==="sameAzimuth"?fe=e.yaw+(e.northOffset||0)-(c.scenes[r].northOffset||0):fe=g,H==="same"?ye=e.hfov:ye=H,Nn(),dt(r),T.yaw=T.pitch=T.hfov=0,Ct(),we!==l&&(e.pitch=we),fe!==l&&(e.yaw=fe),ye!==l&&(e.hfov=ye),Qe("scenechange",r),Yt()}function lt(){t.removeEventListener("deviceorientation",Ut),K.orientation.classList.remove("pnlm-orientation-button-active"),G=!1}function ht(){G=1,t.addEventListener("deviceorientation",Ut),K.orientation.classList.add("pnlm-orientation-button-active")}function rt(r){return c.escapeHTML?String(r).split(/&/g).join("&").split('"').join(""").split("'").join("'").split("<").join("<").split(">").join(">").split("/").join("/").split(`
|
|
5
|
-
`).join("<br>"):String(r).split(`
|
|
6
|
-
`).join("<br>")}function ot(r){return r.trim().toLowerCase().indexOf("javascript:")===0?"about:blank":r}function jn(r){return ot(r).replace(/"/g,"%22").replace(/'/g,"%27")}this.isLoaded=function(){return!!C},this.getPitch=function(){return e.pitch},this.setPitch=function(r,i,g,H){return i=i==l?1e3:Number(i),i?W.pitch={startTime:Date.now(),startPosition:e.pitch,endPosition:r,duration:i,callback:g,callbackArgs:H}:e.pitch=r,Ee(),this},this.getPitchBounds=function(){return[e.minPitch,e.maxPitch]},this.setPitchBounds=function(r){return e.minPitch=Math.max(-90,Math.min(r[0],90)),e.maxPitch=Math.max(-90,Math.min(r[1],90)),this},this.getYaw=function(){return e.yaw},this.setYaw=function(r,i,g,H){return i=i==l?1e3:Number(i),r=(r+180)%360-180,i?(e.yaw-r>180?r+=360:r-e.yaw>180&&(r-=360),W.yaw={startTime:Date.now(),startPosition:e.yaw,endPosition:r,duration:i,callback:g,callbackArgs:H}):e.yaw=r,Ee(),this},this.getYawBounds=function(){return[e.minYaw,e.maxYaw]},this.setYawBounds=function(r){return e.minYaw=Math.max(-180,Math.min(r[0],180)),e.maxYaw=Math.max(-180,Math.min(r[1],180)),this},this.getHfov=function(){return e.hfov},this.setHfov=function(r,i,g,H){return i=i==l?1e3:Number(i),i?W.hfov={startTime:Date.now(),startPosition:e.hfov,endPosition:Xt(r),duration:i,callback:g,callbackArgs:H}:qe(r),Ee(),this},this.getHfovBounds=function(){return[e.minHfov,e.maxHfov]},this.setHfovBounds=function(r){return e.minHfov=Math.max(0,r[0]),e.maxHfov=Math.max(0,r[1]),this},this.lookAt=function(r,i,g,H,X,B){return H=H==l?1e3:Number(H),r!==l&&(this.setPitch(r,H,X,B),X=l),i!==l&&(this.setYaw(i,H,X,B),X=l),g!==l&&this.setHfov(g,H,X,B),this},this.getNorthOffset=function(){return e.northOffset},this.setNorthOffset=function(r){return e.northOffset=Math.min(360,Math.max(0,r)),Ee(),this},this.getHorizonRoll=function(){return e.horizonRoll},this.setHorizonRoll=function(r){return e.horizonRoll=Math.min(90,Math.max(-90,r)),L.setPose(e.horizonPitch*Math.PI/180,e.horizonRoll*Math.PI/180),Ee(),this},this.getHorizonPitch=function(){return e.horizonPitch},this.setHorizonPitch=function(r){return e.horizonPitch=Math.min(90,Math.max(-90,r)),L.setPose(e.horizonPitch*Math.PI/180,e.horizonRoll*Math.PI/180),Ee(),this},this.startAutoRotate=function(r){return r=r||S||1,e.autoRotate=r,x.lookAt(ae,l,Y,3e3),Ee(),this},this.stopAutoRotate=function(){return S=e.autoRotate?e.autoRotate:S,e.autoRotate=!1,e.autoRotateInactivityDelay=-1,this},this.getRenderer=function(){return L},this.setUpdate=function(r){return D=r===!0,L===l?Q():Ee(),this},this.mouseEventToCoords=function(r){return He(r)},this.loadScene=function(r,i,g,H){return C!==!1&&Et(r,i,g,H),this},this.getScene=function(){return e.scene},this.addScene=function(r,i){return c.scenes[r]=i,this},this.removeScene=function(r){return e.scene===r||!c.scenes.hasOwnProperty(r)?!1:(delete c.scenes[r],!0)},this.toggleFullscreen=function(){return yt(),this},this.getConfig=function(){return e},this.getContainer=function(){return d},this.addHotSpot=function(r,i){if(i===l&&e.scene===l)e.hotSpots.push(r);else{var g=i!==l?i:e.scene;if(c.scenes.hasOwnProperty(g))c.scenes[g].hasOwnProperty("hotSpots")||(c.scenes[g].hotSpots=[],g==e.scene&&(e.hotSpots=c.scenes[g].hotSpots)),c.scenes[g].hotSpots.push(r);else throw"Invalid scene ID!"}return(i===l||e.scene==i)&&(Bt(r),C&&Wt(r)),this},this.removeHotSpot=function(r,i){if(i===l||e.scene==i){if(!e.hotSpots)return!1;for(var g=0;g<e.hotSpots.length;g++)if(e.hotSpots[g].hasOwnProperty("id")&&e.hotSpots[g].id===r){for(var H=e.hotSpots[g].div;H.parentNode!=ne;)H=H.parentNode;return ne.removeChild(H),delete e.hotSpots[g].div,e.hotSpots.splice(g,1),!0}}else if(c.scenes.hasOwnProperty(i)){if(!c.scenes[i].hasOwnProperty("hotSpots"))return!1;for(var g=0;g<c.scenes[i].hotSpots.length;g++)if(c.scenes[i].hotSpots[g].hasOwnProperty("id")&&c.scenes[i].hotSpots[g].id===r)return c.scenes[i].hotSpots.splice(g,1),!0}else return!1},this.resize=function(){L&&pe()},this.isLoaded=function(){return C},this.isOrientationSupported=function(){return Se||!1},this.stopOrientation=function(){lt()},this.startOrientation=function(){Se&&ht()},this.isOrientationActive=function(){return!!G},this.on=function(r,i){return z[r]=z[r]||[],z[r].push(i),this},this.off=function(r,i){if(!r)return z={},this;if(i){var g=z[r].indexOf(i);g>=0&&z[r].splice(g,1),z[r].length==0&&delete z[r]}else delete z[r];return this};function Qe(r){if(r in z)for(var i=z[r].length;i>0;i--)z[r][z[r].length-i].apply(null,[].slice.call(arguments,1))}this.destroy=function(){L&&L.destroy(),b&&(se.removeEventListener("mousedown",ve,!1),se.removeEventListener("dblclick",de,!1),s.removeEventListener("mousemove",le,!1),s.removeEventListener("mouseup",me,!1),d.removeEventListener("mousewheel",ze,!1),d.removeEventListener("DOMMouseScroll",ze,!1),d.removeEventListener("mozfullscreenchange",Je,!1),d.removeEventListener("webkitfullscreenchange",Je,!1),d.removeEventListener("msfullscreenchange",Je,!1),d.removeEventListener("fullscreenchange",Je,!1),t.removeEventListener("resize",pe,!1),t.removeEventListener("orientationchange",pe,!1),d.removeEventListener("keydown",_e,!1),d.removeEventListener("keyup",Fe,!1),d.removeEventListener("blur",Oe,!1),s.removeEventListener("mouseleave",me,!1),se.removeEventListener("touchstart",ge,!1),se.removeEventListener("touchmove",Ae,!1),se.removeEventListener("touchend",De,!1),se.removeEventListener("pointerdown",Ne,!1),se.removeEventListener("pointermove",Me,!1),se.removeEventListener("pointerup",ke,!1),se.removeEventListener("pointerleave",ke,!1)),d.innerHTML="",d.classList.remove("pnlm-container"),O.classList.remove("pnlm-grab"),O.classList.remove("pnlm-grabbing")}}return{viewer:function(c,x){return new f(c,x)}}})(window,document);window.requestAnimationFrame||(window.requestAnimationFrame=(function(){return window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(t,s){window.setTimeout(t,1e3/60)}})());function Or(t,s,l){const f=a.useRef(null),d=a.useRef(l);return d.current=l,a.useEffect(()=>{const c=t.current;if(!c)return;const x=window.pannellum;if(!x){console.error("[InteriorThreeSixty] pannellum global not available"),d.current.onError?.();return}const e=x.viewer(c,{type:"equirectangular",panorama:s.image,preview:s.preview,pitch:Ar,yaw:zr,hfov:jr,maxHfov:it,minHfov:ct,compass:!1,showControls:!1,keyboardZoom:!1,autoLoad:s.autoLoad});return f.current=e,e.on("load",()=>d.current.onLoad?.()),e.on("error",()=>d.current.onError?.()),e.on("mousedown",(...L)=>d.current.onMousedown?.(L[0])),e.on("mouseup",(...L)=>d.current.onMouseup?.(L[0])),e.on("touchstart",(...L)=>d.current.onTouchstart?.(L[0])),e.on("touchend",(...L)=>d.current.onTouchend?.(L[0])),()=>{f.current=null,e.destroy()}},[s.image,s.preview,s.autoLoad]),f}function Fr(t,s=50,l=200){let f=null,d=0;return(...c)=>{const x=Date.now();f&&(clearTimeout(f),f=null),x-d>=s&&(t(...c),d=x),f=setTimeout(()=>{t(...c)},l)}}const Hr=({className:t})=>n.jsx(Be,{className:t,customizationKey:"UI_INTERIOR_360_PLAY",children:n.jsx("svg",{className:t,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:n.jsx("polygon",{points:"6 3 20 12 6 21 6 3"})})}),Vr=({itemIndex:t,isPannellumLoaded:s,isLoading:l,progress:f,autoloadInterior360:d,loadScene:c})=>{const{emitAnalyticsEvent:x}=We(),{displayedCategoryId:e,displayedCategoryName:L}=Ze(),k=a.useCallback(M=>{x({type:"interaction",current:{category_id:e,category_name:L,item_type:"interior-360",item_position:t},action:{name:"Interior 360 Play",field:"interior_360_play",value:M}})},[x,e,L,t]),j=a.useCallback(()=>{c(),k("click")},[c,k]);return a.useEffect(()=>{d&&(c(),k("auto"))},[d,c,k]),s?null:n.jsx("div",{className:"pointer-events-auto absolute inset-0 flex flex-col items-center justify-center gap-y-4",children:n.jsxs("div",{className:"pointer-events-auto absolute inset-0 flex flex-col items-center justify-center gap-y-4 bg-foreground/35",children:[n.jsx(wn,{className:"size-20"}),n.jsx(Ge,{color:"neutral",shape:"icon",onClick:j,children:n.jsx(Hr,{className:"size-full"})}),n.jsx("div",{className:he("relative h-1 w-3/5 overflow-hidden rounded-full bg-background",!l&&"invisible"),children:n.jsx("div",{className:"h-full bg-primary transition-[width]",style:{width:`${f}%`}})})]})})},Ur=t=>{const{itemIndex:s,src:l,poster:f,onLoaded:d,onError:c,onlyPreload:x}=t,{autoLoadInterior360:e}=We(),{isShowingDetails:L,zoom:k,setZoom:j}=Ze(),[M,h]=Dr(l),o=a.useRef(null),[y,N]=a.useState(!1),[_,w]=a.useState(e);a.useEffect(()=>{e&&w(!0)},[e]);const E=a.useCallback(()=>{d?.(),N(!0)},[d]),C=a.useCallback(P=>{P instanceof MouseEvent&&P.button!==0||(P.preventDefault(),P.stopPropagation(),P.stopImmediatePropagation())},[]),p=a.useCallback(()=>{w(!0)},[]),b=Or(o,{image:l,preview:f,autoLoad:_},{onLoad:E,onError:c,onMousedown:C,onMouseup:C,onTouchstart:C,onTouchend:C});return a.useEffect(()=>{if(x)return;const P=b.current;if(!P||!y)return;const $=1,T=Ke((k-$)/(tt-$),0,1),V=Ke(it-T*(it-ct),ct,it);P.setHfov(V)},[k,y,b,x]),a.useEffect(()=>{if(x)return;const P=o.current;if(!P||!y)return;const T=Fr(G=>{G.preventDefault();const R=b.current;if(!R)return;const Z=qt(R.getHfov(),ct,it,tt,st),Y=(G.deltaY<0?"zoom-in":"zoom-out")==="zoom-in"?Math.min(Z+st,tt):Math.max(Z-st,1);j(Y)},100,150),V=G=>{G.preventDefault();const R=b.current;if(!R)return;const Z=qt(R.getHfov(),ct,it,tt,st,!0);j(Z)};return P.addEventListener("wheel",T),P.addEventListener("dblclick",V),()=>{P.removeEventListener("wheel",T),P.removeEventListener("dblclick",V)}},[y,j,b,x]),n.jsx("div",{className:he("relative aspect-[4/3] w-full overflow-hidden bg-transparent"),children:n.jsxs("div",{className:he("size-full",L?"scale-105":"scale-100"),children:[n.jsx("div",{ref:o,className:"size-full"}),n.jsx(Vr,{isPannellumLoaded:y,isLoading:h,progress:M,autoloadInterior360:e,loadScene:p,itemIndex:s})]})})},Br=t=>{const{itemIndex:s}=t,{setItemInteraction:l}=Ze(),[f,d]=a.useState(),c=a.useCallback(()=>{d("spin")},[]),x=a.useCallback(()=>{d("error")},[]);return a.useEffect(()=>{f===null||f==="error"||l(s,f==="spin"?"running":"ready")},[s,l,f]),f==="error"?n.jsx(wt,{className:"text-background",text:"Interior Spin could not be loaded"}):n.jsx(Ur,{...t,onLoaded:c,onError:x})},Wr="data:image/svg+xml,%3csvg%20width='108'%20height='68'%20viewBox='0%200%20108%2068'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20filter='url(%23filter0_d_73_2787)'%3e%3crect%20x='12'%20y='2'%20width='84'%20height='44'%20rx='22'%20fill='white'%20shape-rendering='crispEdges'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M39.7657%2017.2278C40.0781%2017.5315%2040.0781%2018.024%2039.7657%2018.3277L33.9314%2024L39.7657%2029.6723C40.0781%2029.976%2040.0781%2030.4685%2039.7657%2030.7722C39.4533%2031.0759%2038.9467%2031.0759%2038.6343%2030.7722L32.2343%2024.55C31.9219%2024.2462%2031.9219%2023.7538%2032.2343%2023.45L38.6343%2017.2278C38.9467%2016.9241%2039.4533%2016.9241%2039.7657%2017.2278Z'%20fill='%230F0F0F'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M68.2343%2017.2278C68.5467%2016.9241%2069.0533%2016.9241%2069.3657%2017.2278L75.7657%2023.45C76.0781%2023.7538%2076.0781%2024.2462%2075.7657%2024.55L69.3657%2030.7722C69.0533%2031.0759%2068.5467%2031.0759%2068.2343%2030.7722C67.9219%2030.4685%2067.9219%2029.976%2068.2343%2029.6723L74.0686%2024L68.2343%2018.3277C67.9219%2018.024%2067.9219%2017.5315%2068.2343%2017.2278Z'%20fill='%230F0F0F'/%3e%3c/g%3e%3cdefs%3e%3cfilter%20id='filter0_d_73_2787'%20x='0'%20y='0'%20width='108'%20height='68'%20filterUnits='userSpaceOnUse'%20color-interpolation-filters='sRGB'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeColorMatrix%20in='SourceAlpha'%20type='matrix'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'%20result='hardAlpha'/%3e%3cfeOffset%20dy='10'/%3e%3cfeGaussianBlur%20stdDeviation='6'/%3e%3cfeComposite%20in2='hardAlpha'%20operator='out'/%3e%3cfeColorMatrix%20type='matrix'%20values='0%200%200%200%200.227451%200%200%200%200%200.227451%200%200%200%200%200.227451%200%200%200%200.08%200'/%3e%3cfeBlend%20mode='normal'%20in2='BackgroundImageFix'%20result='effect1_dropShadow_73_2787'/%3e%3cfeBlend%20mode='normal'%20in='SourceGraphic'%20in2='effect1_dropShadow_73_2787'%20result='shape'/%3e%3c/filter%3e%3c/defs%3e%3c/svg%3e",Zr="data:image/svg+xml,%3csvg%20width='84'%20height='44'%20viewBox='0%200%2084%2044'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='84'%20height='44'%20rx='22'%20fill='white'/%3e%3cpath%20d='M0%2022C0%209.84974%209.84974%200%2022%200H42V44H22C9.84974%2044%200%2034.1503%200%2022Z'%20fill='%23F5F5F5'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M27.7657%2015.2278C28.0781%2015.5315%2028.0781%2016.024%2027.7657%2016.3277L21.9314%2022L27.7657%2027.6723C28.0781%2027.976%2028.0781%2028.4685%2027.7657%2028.7722C27.4533%2029.0759%2026.9467%2029.0759%2026.6343%2028.7722L20.2343%2022.55C19.9219%2022.2462%2019.9219%2021.7538%2020.2343%2021.45L26.6343%2015.2278C26.9467%2014.9241%2027.4533%2014.9241%2027.7657%2015.2278Z'%20fill='%230F0F0F'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M56.2343%2015.2278C56.5467%2014.9241%2057.0533%2014.9241%2057.3657%2015.2278L63.7657%2021.45C64.0781%2021.7538%2064.0781%2022.2462%2063.7657%2022.55L57.3657%2028.7722C57.0533%2029.0759%2056.5467%2029.0759%2056.2343%2028.7722C55.9219%2028.4685%2055.9219%2027.976%2056.2343%2027.6723L62.0686%2022L56.2343%2016.3277C55.9219%2016.024%2055.9219%2015.5315%2056.2343%2015.2278Z'%20fill='%230F0F0F'/%3e%3c/svg%3e",Xr="data:image/svg+xml,%3csvg%20width='78'%20height='78'%20viewBox='0%200%2078%2078'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M1.36035%2038.4241C1.36035%2017.9895%2017.9258%201.42407%2038.3604%201.42407C58.7949%201.42407%2075.3604%2017.9895%2075.3604%2038.4241C75.3604%2058.8586%2058.7949%2075.4241%2038.3604%2075.4241C17.9258%2075.4241%201.36035%2058.8586%201.36035%2038.4241Z'%20fill='black'%20fill-opacity='0.5'/%3e%3cpath%20d='M63.6101%2047.2044L66.7877%2048.587L66.5803%2049.0636L63.8703%2047.8845L63.181%2049.4687L62.7134%2049.2653L63.6101%2047.2044ZM61.5503%2054.7756C61.7117%2054.8903%2061.8699%2054.9725%2062.025%2055.022C62.1809%2055.0762%2062.3281%2055.0999%2062.4666%2055.093C62.6077%2055.0881%2062.7369%2055.0545%2062.8542%2054.9921C62.9696%2054.9324%2063.0674%2054.8461%2063.1478%2054.7331C63.2281%2054.6201%2063.2775%2054.4994%2063.2961%2054.3708C63.3154%2054.2469%2063.3045%2054.1197%2063.2636%2053.9893C63.2227%2053.859%2063.151%2053.7291%2063.0487%2053.5996C62.9491%2053.4721%2062.8186%2053.3509%2062.6572%2053.2361C62.4958%2053.1214%2062.3372%2053.0369%2062.1813%2052.9828C62.0262%2052.9332%2061.8791%2052.9095%2061.7398%2052.9117C61.6013%2052.9185%2061.4744%2052.9518%2061.359%2053.0115C61.2418%2053.0739%2061.143%2053.1616%2061.0626%2053.2745C60.9823%2053.3875%2060.9325%2053.506%2060.9132%2053.6299C60.8946%2053.7585%2060.9058%2053.888%2060.9468%2054.0183C60.9858%2054.1514%2061.0551%2054.2817%2061.1548%2054.4092C61.2571%2054.5387%2061.3889%2054.6608%2061.5503%2054.7756ZM61.2514%2055.213C61.0308%2055.0561%2060.8515%2054.884%2060.7134%2054.6967C60.5779%2054.5113%2060.4839%2054.3189%2060.4313%2054.1195C60.3795%2053.9247%2060.3713%2053.7285%2060.4065%2053.5308C60.4418%2053.3332%2060.5235%2053.1443%2060.6517%2052.9641C60.7779%2052.7866%2060.9272%2052.6477%2061.0997%2052.5476C61.2748%2052.4494%2061.4629%2052.3928%2061.6639%2052.3778C61.8649%2052.3629%2062.0752%2052.3889%2062.2948%2052.456C62.5151%2052.5276%2062.7356%2052.6419%2062.9561%2052.7987C63.1767%2052.9556%2063.3547%2053.1267%2063.4901%2053.3121C63.6282%2053.4994%2063.7232%2053.6905%2063.775%2053.8853C63.8276%2054.0847%2063.8363%2054.2832%2063.801%2054.4808C63.7657%2054.6785%2063.685%2054.8661%2063.5587%2055.0436C63.4306%2055.2238%2063.2789%2055.363%2063.1038%2055.4612C62.9314%2055.5613%2062.7446%2055.6188%2062.5436%2055.6338C62.3426%2055.6488%2062.1319%2055.6205%2061.9116%2055.5488C61.692%2055.4818%2061.4719%2055.3698%2061.2514%2055.213ZM58.2673%2059.1725C58.324%2059.2057%2058.3876%2059.2416%2058.4581%2059.2803C58.5286%2059.3189%2058.5991%2059.3575%2058.6696%2059.3961C58.7376%2059.437%2058.8012%2059.4729%2058.8604%2059.5039C58.9193%2059.5396%2058.9647%2059.5676%2058.9963%2059.5879C58.9793%2059.5544%2058.9561%2059.5064%2058.9265%2059.4442C58.8992%2059.3844%2058.8686%2059.3186%2058.8349%2059.2468C58.8033%2059.1774%2058.7708%2059.1045%2058.7373%2059.028C58.7013%2058.9538%2058.6709%2058.8856%2058.646%2058.8236L58.3207%2058.0501L57.5273%2058.7669L58.2673%2059.1725ZM56.3301%2058.1139L57.0977%2058.5279L58.1262%2057.5986L57.7883%2056.7963L58.1887%2056.4346L59.5863%2059.8421L59.1786%2060.2105L55.9187%2058.4857L56.3301%2058.1139ZM52.6993%2062.9259C52.7889%2063.0838%2052.8889%2063.2168%2052.9995%2063.3248C53.1117%2063.4357%2053.2363%2063.515%2053.3732%2063.5625C53.5073%2063.6117%2053.6536%2063.6255%2053.8121%2063.6039C53.9677%2063.584%2054.1346%2063.5235%2054.3126%2063.4226L54.6829%2063.2127L53.4719%2061.0766L53.1016%2061.2866C52.9236%2061.3875%2052.7861%2061.4996%2052.689%2061.6229C52.5891%2061.7478%2052.5258%2061.8804%2052.4992%2062.0208C52.4696%2062.1627%2052.4728%2062.3089%2052.5087%2062.4592C52.5463%2062.6124%2052.6098%2062.768%2052.6993%2062.9259ZM52.2385%2063.1872C52.0872%2062.9202%2051.998%2062.6691%2051.9709%2062.4341C51.941%2062.2006%2051.9585%2061.9839%2052.0235%2061.784C52.0901%2061.5869%2052.1961%2061.4092%2052.3415%2061.2508C52.4841%2061.0941%2052.6544%2060.9596%2052.8525%2060.8473L53.6751%2060.381L55.3842%2063.3956L54.5616%2063.8619C54.3606%2063.9758%2054.1549%2064.0546%2053.9443%2064.098C53.7309%2064.1432%2053.5231%2064.1414%2053.3211%2064.0929C53.1206%2064.0471%2052.928%2063.9515%2052.743%2063.806C52.5581%2063.6604%2052.3899%2063.4542%2052.2385%2063.1872ZM43.3091%2065.6047C43.2474%2065.2537%2043.3126%2064.9674%2043.5049%2064.7459C43.6977%2064.5277%2043.9956%2064.3831%2044.3987%2064.3122C44.5189%2064.291%2044.6415%2064.2829%2044.7663%2064.2877C44.8912%2064.2926%2045.0131%2064.3097%2045.1322%2064.339C45.2481%2064.3688%2045.3575%2064.4099%2045.4605%2064.4622C45.5641%2064.5177%2045.6529%2064.5841%2045.7268%2064.6616L45.3951%2065.0618C45.2677%2064.9468%2045.1234%2064.87%2044.9625%2064.8313C44.8021%2064.7958%2044.6439%2064.7918%2044.4879%2064.8193C44.2148%2064.8673%2044.0317%2064.9498%2043.9383%2065.0668C43.8423%2065.1875%2043.8097%2065.3357%2043.8406%2065.5112C43.8714%2065.6867%2043.9525%2065.8048%2044.0839%2065.8655C44.2157%2065.9294%2044.3711%2065.9457%2044.5498%2065.9142L44.8668%2065.8584L44.9543%2066.3558L44.6422%2066.4107C44.4829%2066.4387%2044.3707%2066.5053%2044.3054%2066.6107C44.2402%2066.716%2044.219%2066.8336%2044.2419%2066.9636C44.2505%2067.0124%2044.2694%2067.0627%2044.2986%2067.1145C44.3278%2067.1663%2044.3708%2067.2107%2044.4276%2067.2476C44.4843%2067.2846%2044.5575%2067.3102%2044.6472%2067.3246C44.7342%2067.3428%2044.8411%2067.3408%2044.9678%2067.3185C45.1043%2067.2944%2045.223%2067.2451%2045.3238%2067.1704C45.4213%2067.0963%2045.5084%2067.0005%2045.5849%2066.8832L46.0287%2067.1771C45.9087%2067.3523%2045.7695%2067.4941%2045.6109%2067.6024C45.4497%2067.7146%2045.2618%2067.7895%2045.0473%2067.8272C44.888%2067.8553%2044.7332%2067.8607%2044.5827%2067.8436C44.4328%2067.8298%2044.299%2067.793%2044.1813%2067.7333C44.0635%2067.6736%2043.9635%2067.5907%2043.8811%2067.4845C43.7994%2067.3816%2043.7453%2067.2554%2043.719%2067.1059C43.683%2066.9011%2043.6956%2066.7347%2043.7568%2066.6067C43.8148%2066.4792%2043.8966%2066.3726%2044.0022%2066.287C43.8317%2066.2701%2043.683%2066.2058%2043.5561%2066.0941C43.4292%2065.9824%2043.3469%2065.8192%2043.3091%2065.6047ZM38.1161%2066.0627C38.1101%2066.2706%2038.1749%2066.4243%2038.3107%2066.524C38.4464%2066.627%2038.6379%2066.6822%2038.8853%2066.6894C39.1394%2066.6968%2039.3404%2066.6514%2039.4886%2066.5534C39.6366%2066.4587%2039.7136%2066.309%2039.7196%2066.1045C39.7221%2066.0187%2039.7079%2065.9374%2039.6772%2065.8606C39.6464%2065.7838%2039.5989%2065.7147%2039.5346%2065.6534C39.467%2065.5953%2039.3842%2065.5466%2039.2863%2065.5075C39.1883%2065.4716%2039.0749%2065.4518%2038.9463%2065.448C38.6824%2065.4403%2038.4795%2065.4906%2038.3377%2065.5987C38.1958%2065.7101%2038.1219%2065.8648%2038.1161%2066.0627ZM37.5913%2066.0573C37.5968%2065.8693%2037.6363%2065.7037%2037.7098%2065.5606C37.7833%2065.4174%2037.8825%2065.2998%2038.0073%2065.2077C38.1322%2065.1156%2038.2778%2065.0472%2038.4442%2065.0025C38.6106%2064.9579%2038.7895%2064.9383%2038.9808%2064.9439C39.1622%2064.9492%2039.3314%2064.9789%2039.4883%2065.033C39.6451%2065.0904%2039.7813%2065.1769%2039.8968%2065.2925C40.009%2065.408%2040.0971%2065.5542%2040.1613%2065.7311C40.2222%2065.9078%2040.2491%2066.1183%2040.242%2066.3624C40.2376%2066.5142%2040.2181%2066.6721%2040.1836%2066.8362C40.1491%2067.0002%2040.0966%2067.1605%2040.026%2067.3169C39.9521%2067.4732%2039.8586%2067.6224%2039.7455%2067.7644C39.6291%2067.9063%2039.4901%2068.031%2039.3285%2068.1385C39.1668%2068.2461%2038.9795%2068.3314%2038.7663%2068.3945C38.5499%2068.4576%2038.3046%2068.49%2038.0305%2068.492L38.0448%2068.0021C38.4444%2067.9972%2038.7805%2067.9063%2039.0531%2067.7293C39.3224%2067.5523%2039.5185%2067.284%2039.6412%2066.9244C39.5164%2067.0165%2039.3857%2067.082%2039.2492%2067.1209C39.1093%2067.1631%2038.9337%2067.1811%2038.7226%2067.1749C38.5643%2067.1703%2038.4165%2067.1429%2038.2793%2067.0927C38.1387%2067.0457%2038.0169%2066.9761%2037.9139%2066.8839C37.811%2066.7918%2037.7301%2066.6772%2037.6714%2066.5401C37.6126%2066.403%2037.5859%2066.2421%2037.5913%2066.0573ZM32.327%2065.9829C32.2844%2066.1594%2032.2608%2066.3269%2032.2565%2066.4854C32.2481%2066.6463%2032.264%2066.7911%2032.3042%2066.9197C32.3413%2067.0475%2032.4049%2067.1562%2032.4953%2067.246C32.5824%2067.335%2032.6998%2067.3973%2032.8473%2067.433C32.9949%2067.4687%2033.1278%2067.4668%2033.2459%2067.4275C33.3633%2067.3914%2033.4693%2067.3253%2033.5638%2067.2293C33.6543%2067.1358%2033.7326%2067.0155%2033.7987%2066.8685C33.8641%2066.7247%2033.9181%2066.5646%2033.9607%2066.3882C34.0034%2066.2117%2034.0289%2066.043%2034.0373%2065.8821C34.0416%2065.7235%2034.0253%2065.5804%2033.9883%2065.4526C33.9481%2065.324%2033.8844%2065.2153%2033.7973%2065.1263C33.7069%2065.0365%2033.588%2064.9738%2033.4404%2064.9381C33.2928%2064.9024%2033.1604%2064.9027%2033.043%2064.9388C32.9248%2064.9781%2032.8205%2065.0446%2032.7299%2065.1381C32.6354%2065.2341%2032.5555%2065.354%2032.4902%2065.4978C32.4241%2065.6448%2032.3697%2065.8065%2032.327%2065.9829ZM31.8146%2065.8692C31.8767%2065.6126%2031.9626%2065.3838%2032.0723%2065.1828C32.1812%2064.9851%2032.3105%2064.8228%2032.46%2064.696C32.6095%2064.5691%2032.7781%2064.4826%2032.9659%2064.4363C33.1496%2064.3924%2033.3506%2064.3969%2033.5687%2064.4496C33.7868%2064.5024%2033.9692%2064.5906%2034.1159%2064.7144C34.2585%2064.8405%2034.3678%2064.9926%2034.4436%2065.1705C34.5154%2065.3509%2034.5546%2065.5539%2034.5612%2065.7796C34.5645%2066.0045%2034.5352%2066.2452%2034.4731%2066.5019C34.4118%2066.7553%2034.3267%2066.9809%2034.2178%2067.1786C34.1081%2067.3796%2033.9785%2067.5435%2033.8289%2067.6703C33.6794%2067.7972%2033.5124%2067.8841%2033.3279%2067.9312C33.1401%2067.9774%2032.9372%2067.9742%2032.719%2067.9215C32.5009%2067.8687%2032.3205%2067.7793%2032.1778%2067.6531C32.0312%2067.5293%2031.922%2067.3773%2031.8501%2067.1969C31.7743%2067.019%2031.7351%2066.816%2031.7325%2066.5879C31.726%2066.3622%2031.7534%2066.1227%2031.8146%2065.8692ZM27.1159%2065.1708C27.0856%2065.2367%2027.0708%2065.3044%2027.0716%2065.3738C27.0681%2065.4448%2027.0784%2065.5131%2027.1027%2065.5788C27.1241%2065.6431%2027.1592%2065.701%2027.2082%2065.7525C27.2527%2065.8057%2027.3095%2065.8481%2027.3785%2065.8798C27.4475%2065.9115%2027.5181%2065.9276%2027.5905%2065.9282C27.6585%2065.9304%2027.7254%2065.9193%2027.791%2065.895C27.8537%2065.8693%2027.9123%2065.8327%2027.9668%2065.7851C28.017%2065.7391%2028.0572%2065.6832%2028.0875%2065.6172C28.1192%2065.5482%2028.1368%2065.4782%2028.1404%2065.4072C28.141%2065.3349%2028.1306%2065.2665%2028.1093%2065.2022C28.085%2065.1366%2028.0505%2065.0772%2028.0059%2065.024C27.957%2064.9725%2027.898%2064.9308%2027.829%2064.8992C27.7601%2064.8675%2027.6916%2064.8505%2027.6236%2064.8483C27.5512%2064.8478%2027.4837%2064.8603%2027.421%2064.886C27.3554%2064.9103%2027.2968%2064.947%2027.2452%2064.9959C27.1907%2065.0435%2027.1476%2065.1018%2027.1159%2065.1708ZM26.711%2064.9848C26.7689%2064.8588%2026.8458%2064.7507%2026.9418%2064.6604C27.0364%2064.5731%2027.1427%2064.5076%2027.2609%2064.4638C27.3791%2064.42%2027.5025%2064.4004%2027.6311%2064.4051C27.7597%2064.4097%2027.887%2064.4409%2028.013%2064.4988C28.139%2064.5567%2028.2456%2064.6329%2028.3329%2064.7275C28.4202%2064.8221%2028.4857%2064.9285%2028.5295%2065.0466C28.5702%2065.1634%2028.5898%2065.2868%2028.5882%2065.4168C28.5822%2065.5485%2028.5503%2065.6773%2028.4924%2065.8032C28.4359%2065.9262%2028.3604%2066.0313%2028.2658%2066.1186C28.1682%2066.2045%2028.0625%2066.2685%2027.9487%2066.3107C27.8305%2066.3544%2027.7071%2066.374%2027.5785%2066.3694C27.4485%2066.3678%2027.3205%2066.338%2027.1945%2066.2802C27.0686%2066.2223%2026.9627%2066.1446%2026.8767%2066.047C26.7894%2065.9524%2026.7239%2065.846%2026.6801%2065.7278C26.635%2065.6127%2026.6147%2065.4908%2026.6193%2065.3621C26.624%2065.2335%2026.6545%2065.1077%2026.711%2064.9848ZM21.0589%2058.281L21.4547%2058.6622L19.9168%2061.9925L19.5104%2061.601L20.5217%2059.5094C20.5441%2059.4623%2020.57%2059.4093%2020.5992%2059.3504C20.6262%2059.2939%2020.6543%2059.2385%2020.6836%2059.1843C20.7106%2059.1278%2020.7376%2059.0759%2020.7648%2059.0287C20.7872%2058.9816%2020.8064%2058.9451%2020.8222%2058.9191C20.7969%2058.9359%2020.7623%2058.9576%2020.7184%2058.9841C20.6699%2059.0107%2020.6191%2059.0396%2020.566%2059.0709C20.5105%2059.1%2020.4539%2059.1302%2020.3961%2059.1616C20.3384%2059.1931%2020.2864%2059.2209%2020.2401%2059.2451L18.1984%2060.3371L17.7991%2059.9524L21.0589%2058.281ZM18.1215%2055.3391L15.3278%2057.3893L15.0202%2056.9702L17.814%2054.92L18.1215%2055.3391ZM15.9886%2052.3007L12.8819%2053.836L11.8927%2051.8344L12.3454%2051.6107L13.1043%2053.1463L13.8721%2052.7668L13.4312%2051.8748L13.8839%2051.6511L14.3248%2052.5431L15.3056%2052.0584L14.5138%2050.4562L14.9665%2050.2325L15.9886%2052.3007ZM13.0654%2044.7145L13.187%2045.225L11.1353%2046.2685C11.108%2046.2818%2011.0745%2046.2982%2011.0351%2046.3178C10.9925%2046.3381%2010.9514%2046.3581%2010.912%2046.3777C10.8693%2046.398%2010.8299%2046.4176%2010.7936%2046.4364C10.7566%2046.452%2010.7289%2046.4637%2010.7104%2046.4715C10.7304%2046.4701%2010.7609%2046.4697%2010.8017%2046.4701C10.8417%2046.4674%2010.8854%2046.4654%2010.9326%2046.4644C10.9766%2046.464%2011.0223%2046.4634%2011.0695%2046.4623C11.1136%2046.462%2011.1508%2046.4616%2011.1812%2046.4611L13.4887%2046.4915L13.608%2046.9924L10.4011%2048.4841L10.2795%2047.9736L12.3116%2047.062C12.3366%2047.0527%2012.3675%2047.0402%2012.4045%2047.0246C12.4407%2047.0058%2012.479%2046.9882%2012.5192%2046.9719C12.5586%2046.9523%2012.5984%2046.9343%2012.6386%2046.918C12.6756%2046.9024%2012.7082%2046.8895%2012.7363%2046.8794C12.7067%2046.8831%2012.6718%2046.8863%2012.6318%2046.8891C12.5909%2046.8886%2012.5485%2046.8885%2012.5045%2046.8889C12.4605%2046.8892%2012.4184%2046.8907%2012.3784%2046.8935C12.3375%2046.893%2012.3035%2046.8926%2012.2763%2046.8923L10.0144%2046.8612L9.91119%2046.4278L11.9619%2045.3591C12.0038%2045.3355%2012.0614%2045.3066%2012.1346%2045.2722C12.2078%2045.2377%2012.2738%2045.2085%2012.3325%2045.1843C12.2652%2045.1867%2012.1915%2045.1907%2012.1114%2045.1962C12.0281%2045.2025%2011.9648%2045.2074%2011.9215%2045.2109L9.64731%2045.3202L9.53029%2044.829L13.0654%2044.7145ZM10.5555%2035.995C10.6605%2036.0061%2010.7553%2036.036%2010.8397%2036.0847C10.9246%2036.1302%2010.9978%2036.191%2011.0594%2036.2672C11.1182%2036.3397%2011.1624%2036.424%2011.1921%2036.5201C11.2188%2036.6125%2011.2269%2036.7096%2011.2161%2036.8113C11.2051%2036.9164%2011.1768%2037.0113%2011.1314%2037.0961C11.0826%2037.1806%2011.0218%2037.2538%2010.9489%2037.3158C10.8731%2037.3742%2010.7888%2037.4184%2010.696%2037.4485C10.6036%2037.4752%2010.5049%2037.4831%2010.3998%2037.472C10.2981%2037.4613%2010.2032%2037.433%2010.1151%2037.3872C10.0273%2037.3382%209.95408%2037.2773%209.89535%2037.2048C9.83369%2037.1286%209.78784%2037.0441%209.75779%2036.9513C9.72775%2036.8586%209.71826%2036.7597%209.72933%2036.6546C9.74005%2036.5529%209.76978%2036.4598%209.8185%2036.3753C9.86758%2036.2876%209.93003%2036.2145%2010.0059%2036.1561C10.0788%2036.0941%2010.1631%2036.0499%2010.2588%2036.0235C10.3548%2035.9938%2010.4537%2035.9843%2010.5555%2035.995ZM13.7648%2029.7157L10.6128%2028.2756L10.8288%2027.8028L13.517%2029.031L14.235%2027.4595L14.6988%2027.6714L13.7648%2029.7157ZM15.9499%2022.181C15.7902%2022.064%2015.6332%2021.9796%2015.4788%2021.9278C15.3237%2021.8714%2015.1769%2021.8456%2015.0383%2021.8505C14.8971%2021.8534%2014.7674%2021.8852%2014.6492%2021.9459C14.5331%2022.0039%2014.434%2022.0888%2014.352%2022.2006C14.2701%2022.3124%2014.2189%2022.4325%2014.1986%2022.5608C14.1775%2022.6844%2014.1865%2022.8117%2014.2256%2022.9427C14.2646%2023.0736%2014.3344%2023.2045%2014.4349%2023.3354C14.5327%2023.4644%2014.6614%2023.5874%2014.8211%2023.7045C14.9809%2023.8215%2015.1383%2023.9082%2015.2933%2023.9646C15.4477%2024.0164%2015.5945%2024.0422%2015.7338%2024.0419C15.8724%2024.0371%2015.9998%2024.0057%2016.116%2023.9476C16.2341%2023.8869%2016.3342%2023.8007%2016.4161%2023.6889C16.4981%2023.5771%2016.5496%2023.4593%2016.5706%2023.3356C16.591%2023.2074%2016.5817%2023.0777%2016.5426%2022.9468C16.5055%2022.8132%2016.438%2022.6819%2016.3402%2022.553C16.2397%2022.4221%2016.1097%2022.2981%2015.9499%2022.181ZM16.2551%2021.7479C16.4734%2021.9079%2016.6502%2022.0825%2016.7856%2022.2718C16.9184%2022.4591%2017.0097%2022.6529%2017.0594%2022.853C17.1084%2023.0485%2017.1139%2023.2448%2017.0758%2023.442C17.0377%2023.6391%2016.9533%2023.8268%2016.8226%2024.0052C16.6938%2024.1809%2016.5425%2024.3175%2016.3687%2024.4152C16.1922%2024.5108%2016.0033%2024.5647%2015.8021%2024.5769C15.6009%2024.589%2015.391%2024.56%2015.1724%2024.4898C14.9531%2024.4149%2014.7343%2024.2975%2014.516%2024.1376C14.2977%2023.9776%2014.1222%2023.8039%2013.9894%2023.6166C13.854%2023.4273%2013.7618%2023.2349%2013.7127%2023.0394C13.663%2022.8393%2013.6572%2022.6407%2013.6953%2022.4435C13.7334%2022.2464%2013.8168%2022.06%2013.9456%2021.8843C14.0763%2021.706%2014.2299%2021.5689%2014.4064%2021.4733C14.5802%2021.3756%2014.7678%2021.3208%2014.969%2021.3086C15.1702%2021.2965%2015.3804%2021.3279%2015.5998%2021.4027C15.8184%2021.4729%2016.0368%2021.588%2016.2551%2021.7479ZM19.3021%2017.8311C19.2459%2017.797%2019.1829%2017.76%2019.1131%2017.7202C19.0432%2017.6804%2018.9734%2017.6407%2018.9035%2017.6009C18.8362%2017.559%2018.7732%2017.522%2018.7145%2017.49C18.6562%2017.4533%2018.6113%2017.4246%2018.58%2017.4038C18.5964%2017.4376%2018.6189%2017.4859%2018.6474%2017.5486C18.6738%2017.6089%2018.7033%2017.6752%2018.7358%2017.7475C18.7662%2017.8174%2018.7975%2017.8908%2018.8298%2017.9678C18.8645%2018.0427%2018.8938%2018.1113%2018.9177%2018.1737L19.2303%2018.9525L20.0354%2018.2488L19.3021%2017.8311ZM21.2217%2018.9213L20.4609%2018.4949L19.4173%2019.4071L19.742%2020.2148L19.3357%2020.57L17.9942%2017.1399L18.408%2016.7782L21.6391%2018.5564L21.2217%2018.9213ZM24.9375%2014.1721C24.8509%2014.0126%2024.7534%2013.8778%2024.6448%2013.7677C24.5347%2013.6547%2024.4116%2013.5732%2024.2755%2013.5231C24.1424%2013.4715%2023.9964%2013.455%2023.8375%2013.4736C23.6815%2013.4906%2023.5136%2013.5479%2023.3338%2013.6455L22.9596%2013.8486L24.1307%2016.0068L24.5049%2015.8037C24.6847%2015.7061%2024.8243%2015.5966%2024.9236%2015.4751C25.0258%2015.3521%2025.0915%2015.2206%2025.1208%2015.0808C25.153%2014.9395%2025.1525%2014.7933%2025.1194%2014.6423C25.0847%2014.4884%2025.0241%2014.3317%2024.9375%2014.1721ZM25.4031%2013.9195C25.5495%2014.1893%2025.634%2014.4419%2025.6567%2014.6774C25.6822%2014.9114%2025.6607%2015.1277%2025.592%2015.3264C25.5218%2015.5222%2025.4125%2015.698%2025.2641%2015.8536C25.1187%2016.0076%2024.9459%2016.1389%2024.7457%2016.2475L23.9146%2016.6985L22.2619%2013.6527L23.0929%2013.2017C23.296%2013.0915%2023.5032%2013.0167%2023.7145%2012.9771C23.9287%2012.9359%2024.1364%2012.9415%2024.3375%2012.9938C24.5371%2013.0433%2024.728%2013.1425%2024.9102%2013.2914C25.0924%2013.4404%2025.2567%2013.6497%2025.4031%2013.9195ZM34.3617%2011.6339C34.4181%2011.9858%2034.3486%2012.2711%2034.153%2012.4896C33.9569%2012.7049%2033.6568%2012.845%2033.2527%2012.9098C33.1322%2012.9291%2033.0095%2012.9354%2032.8847%2012.9287C32.76%2012.922%2032.6383%2012.9031%2032.5197%2012.872C32.4043%2012.8403%2032.2955%2012.7976%2032.1933%2012.7438C32.0905%2012.6868%2032.0028%2012.619%2031.93%2012.5404L32.2677%2012.1453C32.3934%2012.2621%2032.5365%2012.3411%2032.6968%2012.3823C32.8566%2012.4201%2033.0148%2012.4265%2033.1712%2012.4014C33.4449%2012.3575%2033.6293%2012.2778%2033.7244%2012.1623C33.8223%2012.043%2033.8571%2011.8953%2033.8289%2011.7194C33.8007%2011.5434%2033.7214%2011.4241%2033.591%2011.3614C33.4601%2011.2955%2033.305%2011.2769%2033.1258%2011.3057L32.8081%2011.3567L32.7281%2010.8581L33.0409%2010.8079C33.2006%2010.7823%2033.3138%2010.7173%2033.3807%2010.613C33.4475%2010.5087%2033.4705%2010.3914%2033.4496%2010.261C33.4417%2010.2122%2033.4236%2010.1616%2033.3951%2010.1093C33.3667%2010.0571%2033.3244%2010.012%2033.2682%209.97426C33.212%209.93648%2033.1392%209.90972%2033.0497%209.89398C32.963%209.87446%2032.8562%209.8749%2032.7291%209.89528C32.5922%209.91724%2032.4728%209.9648%2032.3709%2010.038C32.2723%2010.1106%2032.1838%2010.205%2032.1055%2010.3212L31.6662%2010.0206C31.7888%209.84723%2031.9302%209.70756%2032.0903%209.60165C32.2532%209.49196%2032.4422%209.41986%2032.6573%209.38536C32.817%209.35975%2032.9719%209.35662%2033.1221%209.37599C33.2717%209.39209%2033.405%209.43088%2033.5218%209.49236C33.6386%209.55385%2033.7374%209.63828%2033.8181%209.74566C33.8983%209.84978%2033.9505%209.97679%2033.9745%2010.1267C34.0074%2010.332%2033.9923%2010.4982%2033.9291%2010.6253C33.8692%2010.7519%2033.7858%2010.8572%2033.679%2010.9412C33.8492%2010.9607%2033.997%2011.0272%2034.1221%2011.1409C34.2473%2011.2545%2034.3272%2011.4188%2034.3617%2011.6339ZM39.5621%2011.2542C39.5713%2011.0465%2039.5088%2010.8918%2039.3745%2010.79C39.2404%2010.685%2039.0497%2010.627%2038.8024%2010.616C38.5486%2010.6048%2038.3468%2010.6471%2038.1972%2010.7429C38.0478%2010.8353%2037.9685%2010.9838%2037.9595%2011.1882C37.9557%2011.2739%2037.9686%2011.3555%2037.9982%2011.4327C38.0278%2011.51%2038.0743%2011.5798%2038.1376%2011.6421C38.2044%2011.7012%2038.2864%2011.7511%2038.3837%2011.7917C38.4812%2011.8291%2038.5942%2011.8506%2038.7228%2011.8563C38.9865%2011.868%2039.1901%2011.8208%2039.3336%2011.7148C39.4772%2011.6056%2039.5533%2011.452%2039.5621%2011.2542ZM40.0868%2011.2675C40.0785%2011.4555%2040.0365%2011.6204%2039.9608%2011.7624C39.8851%2011.9044%2039.7842%2012.0206%2039.658%2012.1108C39.5318%2012.201%2039.3851%2012.2672%2039.2181%2012.3093C39.051%2012.3515%2038.8719%2012.3683%2038.6807%2012.3599C38.4993%2012.3518%2038.3306%2012.3196%2038.1745%2012.2631C38.0186%2012.2034%2037.8838%2012.1148%2037.77%2011.9975C37.6596%2011.8803%2037.5736%2011.7327%2037.5121%2011.5549C37.4539%2011.3773%2037.4302%2011.1664%2037.441%2010.9225C37.4477%2010.7708%2037.4696%2010.6132%2037.5066%2010.4496C37.5435%2010.2861%2037.5985%2010.1267%2037.6714%209.97132C37.7477%209.81613%2037.8434%209.6684%2037.9586%209.52815C38.0772%209.38803%2038.218%209.26543%2038.3813%209.16034C38.5445%209.05524%2038.7331%208.97274%2038.9472%208.91284C39.1646%208.85309%2039.4103%208.82432%2039.6844%208.82655L39.6627%209.31617C39.2631%209.31499%2038.9256%209.40081%2038.6504%209.57363C38.3784%209.74659%2038.1784%2010.0119%2038.0502%2010.3697C38.1765%2010.2794%2038.3081%2010.2159%2038.4452%2010.179C38.5857%2010.139%2038.7615%2010.1236%2038.9725%2010.133C39.1307%2010.14%2039.2781%2010.1696%2039.4145%2010.2219C39.5544%2010.2711%2039.6751%2010.3425%2039.7767%2010.4362C39.8783%2010.5299%2039.9574%2010.6457%2040.014%2010.7836C40.0707%2010.9216%2040.0949%2011.0829%2040.0868%2011.2675ZM45.3511%2011.4213C45.3964%2011.2455%2045.4225%2011.0784%2045.4292%2010.92C45.44%2010.7592%2045.4262%2010.6142%2045.388%2010.485C45.3529%2010.3567%2045.2908%2010.247%2045.2019%2010.1559C45.1161%2010.0656%2044.9997%2010.0015%2044.8527%209.9636C44.7057%209.9257%2044.5728%209.92553%2044.454%209.96309C44.3361%209.99745%2044.2292%2010.0619%2044.1332%2010.1565C44.0413%2010.2486%2043.9612%2010.3677%2043.8929%2010.5137C43.8254%2010.6565%2043.769%2010.8158%2043.7237%2010.9916C43.6784%2011.1673%2043.6503%2011.3356%2043.6396%2011.4964C43.6328%2011.6549%2043.647%2011.7983%2043.682%2011.9266C43.7203%2012.0558%2043.7824%2012.1655%2043.8682%2012.2558C43.9571%2012.3469%2044.0751%2012.4114%2044.2221%2012.4493C44.3692%2012.4871%2044.5016%2012.4889%2044.6195%2012.4546C44.7383%2012.417%2044.8436%2012.3521%2044.9355%2012.2599C45.0315%2012.1654%2045.1132%2012.0467%2045.1807%2011.9039C45.249%2011.7579%2045.3058%2011.5971%2045.3511%2011.4213ZM45.8617%2011.5427C45.7958%2011.7984%2045.7065%2012.0258%2045.5938%2012.2251C45.4819%2012.4212%2045.3502%2012.5816%2045.1988%2012.7061C45.0474%2012.8307%2044.8775%2012.9147%2044.6891%2012.9582C44.5047%2012.9992%2044.3038%2012.9918%2044.0865%2012.9357C43.8692%2012.8797%2043.6882%2012.7888%2043.5434%2012.6628C43.4026%2012.5345%2043.2957%2012.3808%2043.2226%2012.2018C43.1534%2012.0204%2043.1173%2011.8168%2043.1142%2011.5911C43.1142%2011.3661%2043.1472%2011.1258%2043.2131%2010.8702C43.2782%2010.6177%2043.3667%2010.3934%2043.4785%2010.1973C43.5913%209.99801%2043.7233%209.83608%2043.8747%209.71151C44.0261%209.58694%2044.1944%209.50252%2044.3797%209.45825C44.5681%209.4148%2044.771%209.42108%2044.9883%209.4771C45.2056%209.53312%2045.3846%209.62528%2045.5254%209.75359C45.6702%209.87952%2045.7771%2010.0332%2045.8462%2010.2146C45.9193%2010.3936%2045.9555%2010.5972%2045.9546%2010.8253C45.9578%2011.0511%2045.9268%2011.2902%2045.8617%2011.5427ZM50.5577%2012.3223C50.5892%2012.2569%2050.6052%2012.1895%2050.6057%2012.1201C50.6106%2012.0492%2050.6015%2011.9807%2050.5785%2011.9146C50.5584%2011.8499%2050.5243%2011.7913%2050.4763%2011.7389C50.4328%2011.6849%2050.3768%2011.6414%2050.3084%2011.6084C50.24%2011.5755%2050.1697%2011.558%2050.0973%2011.5561C50.0294%2011.5526%2049.9624%2011.5624%2049.8963%2011.5855C49.8331%2011.61%2049.7739%2011.6455%2049.7184%2011.6921C49.6674%2011.7371%2049.6261%2011.7923%2049.5946%2011.8577C49.5616%2011.9261%2049.5427%2011.9957%2049.5378%2012.0666C49.5358%2012.139%2049.5449%2012.2075%2049.565%2012.2722C49.5881%2012.3383%2049.6214%2012.3983%2049.665%2012.4523C49.713%2012.5048%2049.7712%2012.5475%2049.8395%2012.5805C49.9079%2012.6134%2049.9761%2012.6317%2050.044%2012.6351C50.1164%2012.637%2050.1841%2012.6258%2050.2472%2012.6012C50.3133%2012.5782%2050.3726%2012.5426%2050.4251%2012.4946C50.4805%2012.4481%2050.5247%2012.3906%2050.5577%2012.3223ZM50.959%2012.5158C50.8988%2012.6407%2050.8198%2012.7474%2050.7222%2012.8358C50.626%2012.9213%2050.5184%2012.9849%2050.3994%2013.0264C50.2804%2013.068%2050.1567%2013.0852%2050.0282%2013.0782C49.8997%2013.0712%2049.773%2013.0375%2049.6481%2012.9773C49.5233%2012.9171%2049.4181%2012.8389%2049.3326%2012.7427C49.2471%2012.6465%2049.1836%2012.5389%2049.142%2012.4199C49.1034%2012.3023%2049.0862%2012.1786%2049.0902%2012.0486C49.0987%2011.9172%2049.133%2011.789%2049.1933%2011.6641C49.2521%2011.5423%2049.3296%2011.4386%2049.4258%2011.3531C49.5249%2011.269%2049.6318%2011.207%2049.7464%2011.1669C49.8654%2011.1254%2049.9891%2011.1081%2050.1176%2011.1152C50.2476%2011.1192%2050.375%2011.1514%2050.4998%2011.2116C50.6247%2011.2718%2050.7291%2011.3515%2050.8132%2011.4507C50.8987%2011.5469%2050.9622%2011.6545%2051.0038%2011.7735C51.0468%2011.8895%2051.0647%2012.0117%2051.0577%2012.1402C51.0507%2012.2688%2051.0178%2012.394%2050.959%2012.5158ZM56.4961%2019.3123L56.1061%2018.9252L57.6939%2015.6184L58.0944%2016.016L57.0517%2018.0921C57.0286%2018.1389%2057.0019%2018.1915%2056.9718%2018.25C56.944%2018.3061%2056.915%2018.361%2056.8849%2018.4148C56.8571%2018.4709%2056.8293%2018.5223%2056.8014%2018.5691C56.7783%2018.6159%2056.7586%2018.6521%2056.7423%2018.6779C56.7679%2018.6614%2056.8029%2018.6403%2056.8471%2018.6145C56.896%2018.5886%2056.9473%2018.5604%2057.0008%2018.5299C57.0567%2018.5017%2057.1138%2018.4723%2057.172%2018.4418C57.2303%2018.4112%2057.2827%2018.3842%2057.3293%2018.3607L59.3872%2017.2996L59.7807%2017.6902L56.4961%2019.3123ZM59.3871%2022.2996L62.2211%2020.3055L62.5202%2020.7306L59.6862%2022.7247L59.3871%2022.2996ZM61.4608%2025.3785L64.59%2023.8895L65.5493%2025.9055L65.0934%2026.1225L64.3574%2024.5758L63.584%2024.9438L64.0116%2025.8423L63.5556%2026.0593L63.1281%2025.1608L62.1402%2025.6309L62.9081%2027.2446L62.4521%2027.4616L61.4608%2025.3785ZM64.2671%2033.0066L64.1536%2032.4942L66.2216%2031.4834C66.2491%2031.4706%2066.2828%2031.4547%2066.3226%2031.4357C66.3655%2031.4161%2066.4069%2031.3968%2066.4466%2031.3778C66.4896%2031.3582%2066.5293%2031.3392%2066.5659%2031.321C66.6031%2031.306%2066.631%2031.2947%2066.6497%2031.2872C66.6296%2031.2883%2066.5992%2031.2883%2066.5584%2031.2872C66.5183%2031.2893%2066.4746%2031.2905%2066.4274%2031.2908C66.3833%2031.2904%2066.3377%2031.2904%2066.2904%2031.2907C66.2464%2031.2903%2066.2092%2031.2901%2066.1787%2031.2901L63.872%2031.2231L63.7607%2030.7204L66.9909%2029.2798L67.1044%2029.7921L65.058%2030.6713C65.0329%2030.6803%2065.0018%2030.6922%2064.9645%2030.7072C64.928%2030.7255%2064.8895%2030.7424%2064.8491%2030.7582C64.8093%2030.7771%2064.7692%2030.7944%2064.7287%2030.8102C64.6915%2030.8252%2064.6587%2030.8375%2064.6305%2030.8472C64.6602%2030.844%2064.6951%2030.8413%2064.7352%2030.8392C64.776%2030.8403%2064.8184%2030.841%2064.8624%2030.8414C64.9065%2030.8418%2064.9485%2030.8409%2064.9886%2030.8388C65.0294%2030.8399%2065.0634%2030.8408%2065.0906%2030.8416L67.3517%2030.9086L67.4481%2031.3436L65.3806%2032.3796C65.3384%2032.4025%2065.2804%2032.4305%2065.2066%2032.4638C65.1328%2032.497%2065.0664%2032.5253%2065.0073%2032.5485C65.0746%2032.5471%2065.1484%2032.5443%2065.2286%2032.54C65.312%2032.5351%2065.3753%2032.5312%2065.4187%2032.5284L67.6943%2032.4553L67.8035%2032.9483L64.2671%2033.0066ZM66.6349%2041.7727C66.5302%2041.7592%2066.4362%2041.7272%2066.3528%2041.6765C66.2691%2041.6292%2066.1972%2041.5667%2066.1373%2041.4891C66.0803%2041.4153%2066.038%2041.33%2066.0105%2041.2333C65.9858%2041.1403%2065.98%2041.043%2065.993%2040.9415C66.0065%2040.8368%2066.0369%2040.7425%2066.0843%2040.6588C66.1349%2040.5754%2066.1974%2040.5036%2066.2717%2040.4433C66.3488%2040.3866%2066.4341%2040.3443%2066.5275%2040.3164C66.6205%2040.2918%2066.7194%2040.2862%2066.8242%2040.2996C66.9256%2040.3127%2067.0199%2040.3431%2067.1069%2040.3908C67.1935%2040.4419%2067.2654%2040.5044%2067.3224%2040.5782C67.3823%2040.6558%2067.4263%2040.7413%2067.4542%2040.8347C67.4821%2040.9282%2067.4894%2041.0273%2067.4759%2041.132C67.4629%2041.2335%2067.431%2041.3259%2067.3804%2041.4092C67.3293%2041.4958%2067.2652%2041.5675%2067.1881%2041.6241C67.1138%2041.6844%2067.0285%2041.7267%2066.9322%2041.751C66.8355%2041.7785%2066.7364%2041.7857%2066.6349%2041.7727Z'%20fill='white'/%3e%3crect%20x='18.6079'%20y='18.6716'%20width='39.505'%20height='39.505'%20rx='19.7525'%20stroke='white'%20stroke-opacity='0.1'%20stroke-width='0.49505'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M33.085%2032.379C33.0851%2031.5988%2033.9392%2031.1196%2034.6055%2031.5255L45.1846%2037.9718C45.8238%2038.3615%2045.8237%2039.29%2045.1846%2039.6798L34.6055%2046.1271C33.9392%2046.5327%2033.085%2046.0528%2033.085%2045.2726V32.379Z'%20fill='white'/%3e%3c/svg%3e",Yr="data:image/svg+xml,%3csvg%20width='84'%20height='44'%20viewBox='0%200%2084%2044'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='84'%20height='44'%20rx='22'%20fill='white'/%3e%3cg%20opacity='0.5'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M27.7657%2015.2278C28.0781%2015.5315%2028.0781%2016.024%2027.7657%2016.3277L21.9314%2022L27.7657%2027.6723C28.0781%2027.976%2028.0781%2028.4685%2027.7657%2028.7722C27.4533%2029.0759%2026.9467%2029.0759%2026.6343%2028.7722L20.2343%2022.55C19.9219%2022.2462%2019.9219%2021.7538%2020.2343%2021.45L26.6343%2015.2278C26.9467%2014.9241%2027.4533%2014.9241%2027.7657%2015.2278Z'%20fill='%230F0F0F'/%3e%3c/g%3e%3cpath%20d='M42%200H62C74.1503%200%2084%209.84974%2084%2022C84%2034.1503%2074.1503%2044%2062%2044H42V0Z'%20fill='%23F5F5F5'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M56.2343%2015.2278C56.5467%2014.9241%2057.0533%2014.9241%2057.3657%2015.2278L63.7657%2021.45C64.0781%2021.7538%2064.0781%2022.2462%2063.7657%2022.55L57.3657%2028.7722C57.0533%2029.0759%2056.5467%2029.0759%2056.2343%2028.7722C55.9219%2028.4685%2055.9219%2027.976%2056.2343%2027.6723L62.0686%2022L56.2343%2016.3277C55.9219%2016.024%2055.9219%2015.5315%2056.2343%2015.2278Z'%20fill='%230F0F0F'/%3e%3c/svg%3e",Gr={playButton:{default:Xr},cursor:{default:Wr,leftSpin:Zr,rightSpin:Yr}},qr={autonation:Gr},bt=t=>{if(t)return qr[t]},Mn=({className:t})=>n.jsx(Be,{className:t,customizationKey:"UI_360_PLAY",children:n.jsx("svg",{className:t,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:n.jsx("polygon",{points:"6 3 20 12 6 21 6 3"})})}),Kr=750,$r=1250,Jr=360,Qr=480,eo=(t,s)=>({cursor:`url("${t}"), ${s}`}),to=({images:t,onlyPreload:s})=>{const{demoSpin:l,reverse360:f,spinCursor:d,themeConfig:c}=We(),{isShowingDetails:x,isZooming:e}=Ze(),L=a.useMemo(()=>bt(c),[c]),k=e||x,j=a.useRef(null),M=a.useRef(null),[h,o]=a.useState(!1),[y,N]=a.useState("default"),_=d==="grab"&&h?"grabbing":d,w=L?.cursor?eo(L.cursor[y==="left"?"leftSpin":y==="right"?"rightSpin":"default"],_):{cursor:_},E=a.useRef(0),C=a.useRef(null),p=a.useRef(null),b=a.useRef(null),P=a.useRef(null),$=a.useRef(0),T=16,V=a.useRef({timestamps:new Float64Array(10),values:new Float64Array(10),index:0,count:0}),G=a.useRef(l),R=a.useRef(null),Z=a.useCallback(()=>{R.current&&(clearTimeout(R.current),R.current=null)},[]),S=a.useRef(null),Y=()=>{S.current&&(cancelAnimationFrame(S.current),S.current=null)},[ae,W]=a.useState(0);a.useEffect(()=>{E.current=ae},[ae]);const z=t.length,q=a.useCallback(O=>{if(E.current===O)return;const se=C.current;se&&(se.src=t[O].src),E.current=O},[t]),D=a.useCallback(()=>{const O=(E.current+1)%z;q(O)},[z,q]),U=a.useCallback(()=>{const O=(E.current-1+z)%z;q(O)},[z,q]),ie=a.useCallback(()=>{W(E.current)},[]);return a.useEffect(()=>{if(k){Z();return}const O=j.current,ne=M.current;if(!O||!ne)return;G.current&&(G.current=!1,R.current=setTimeout(()=>{const le=Date.now(),me=()=>{const ge=()=>{const De=(Date.now()-le)/$r,Pe=Math.round((Me=>Me*(2-Me))(De)*z),Ne=Ke(Pe%z,0,z-1);W(Ne),!(Pe>=z)&&me()};S.current=requestAnimationFrame(ge)};me()},Kr));const se=Jr/z;let oe=null;const I=V.current,be=()=>{I.index=0,I.count=0},K=(le,me)=>{const ge=I.index;I.timestamps[ge]=le,I.values[ge]=me,I.index=(ge+1)%10,I.count<10&&I.count++},Se=()=>{const le=(()=>{const Pe=Date.now(),{timestamps:Ne,values:Me,index:ke,count:ze}=I;if(ze<2)return 0;let _e=-1,Oe=-1;for(let Ie=0;Ie<ze;Ie++){const F=(ke-1-Ie+10)%10;Pe-Ne[F]<50&&(Oe===-1&&(Oe=F),_e=F)}if(_e===-1||Oe===-1||_e===Oe)return 0;const Fe=Ne[Oe]-Ne[_e];return Fe<=0?0:(Me[Oe]-Me[_e])/(Fe/1e3)})(),me=Date.now();let ge=0,Ae=me,De=me;const Le=()=>{const Pe=()=>{const Ne=Date.now(),Me=(Ne-me)/1e3,ke=Math.pow(.05,Me),ze=le*ke,_e=(Ne-Ae)/1e3;if(ge+=ze*_e,Math.abs(ze)<5*se&&Math.abs(ge)<se){S.current=null,ie();return}const Oe=Ne-De;Math.abs(ge)>=se&&Oe>=T&&(ge>0!==f?D():U(),ge=0,De=Ne),Ae=Ne,Le()};S.current=requestAnimationFrame(Pe)};Le()},Ue=()=>{Z(),Y()};o(!1);const Ve=le=>{if(le.button!==0)return;le.preventDefault(),le.stopPropagation(),Ue(),o(!0),N("default");const me=le.clientX;oe=me,be(),K(Date.now(),me)},xe=le=>{if(oe===null)return;le.stopPropagation();const{clientX:me}=le;K(Date.now(),me);const ge=me-oe;ge!==0&&L?.cursor&&N(ge<0?"left":"right"),!(Math.abs(ge)<se)&&(ge>0!==f?D():U(),oe=me)},u=()=>{oe!==null&&(oe=null,o(!1),N("default"),Se())};O.addEventListener("mousedown",Ve),document.addEventListener("mousemove",xe),document.addEventListener("mouseleave",u),document.addEventListener("mouseup",u),document.addEventListener("contextmenu",u);const m=Qr/z,Q=()=>ne.getBoundingClientRect().width,re=()=>ne.scrollWidth/2-Q()/2,ee=()=>{const le=re();ne.scrollLeft=le};ee();const v=()=>{const le=ne.scrollLeft-re();Math.abs(le)<m||(le<0!==f?D():U(),ee())};ne.addEventListener("scroll",v);let J=null;const te=()=>{p.current=null;const le=performance.now();if(le-$.current<T){p.current=requestAnimationFrame(te);return}$.current=le;const me=b.current,ge=P.current;if(me===null||ge===null)return;const Ae=me-ge;Ae!==0&&L?.cursor&&N(Ae<0?"left":"right"),!(Math.abs(Ae)<se)&&(Ae>0!==f?D():U(),P.current=me,oe=me)},ve=le=>{if(J!==null||le.changedTouches.length!==1)return;Ue(),o(!0),N("default"),p.current!==null&&(cancelAnimationFrame(p.current),p.current=null);const me=le.changedTouches[0];J=me.identifier;const ge=me.clientX;oe=ge,P.current=ge,b.current=ge,be(),K(Date.now(),ge)},de=le=>{if(oe===null)return;let me=null;for(let Ae=0;Ae<le.changedTouches.length;Ae++)if(le.changedTouches[Ae].identifier===J){me=le.changedTouches[Ae];break}if(!me)return;le.preventDefault();const ge=me.clientX;K(Date.now(),ge),b.current=ge,p.current===null&&(p.current=requestAnimationFrame(te))},He=le=>{if(oe===null)return;let me=!1;for(let ge=0;ge<le.changedTouches.length;ge++)if(le.changedTouches[ge].identifier===J){me=!0;break}me&&(p.current!==null&&(cancelAnimationFrame(p.current),p.current=null),J=null,oe=null,P.current=null,b.current=null,o(!1),N("default"),Se())};return ne.addEventListener("touchstart",ve,{passive:!1}),ne.addEventListener("touchmove",de,{passive:!1}),ne.addEventListener("touchend",He),ne.addEventListener("touchcancel",He),()=>{Y(),o(!1),p.current!==null&&(cancelAnimationFrame(p.current),p.current=null),O.removeEventListener("mousedown",Ve),document.removeEventListener("mousemove",xe),document.removeEventListener("mouseleave",u),document.removeEventListener("mouseup",u),document.removeEventListener("contextmenu",u),ne.removeEventListener("scroll",v),ne.removeEventListener("touchstart",ve),ne.removeEventListener("touchmove",de),ne.removeEventListener("touchend",He),ne.removeEventListener("touchcancel",He)}},[Z,D,U,ie,k,f,L,z]),n.jsx("div",{ref:j,style:w,children:n.jsxs("div",{ref:M,className:" overflow-x-scroll",children:[n.jsx("div",{className:"sticky left-0 top-0",children:n.jsx("img",{ref:C,src:t[ae].src,className:"pointer-events-none size-full object-cover",alt:""})}),n.jsx("div",{className:"pointer-events-none -mt-px h-px w-[calc(100%+1024px)]"})]})})},no=({itemIndex:t,images:s,onPlaceholderImageLoaded:l,onSpinImagesLoaded:f,onError:d})=>{const{autoLoad360:c,emitAnalyticsEvent:x,themeConfig:e}=We(),{displayedCategoryId:L,displayedCategoryName:k}=Ze(),j=a.useMemo(()=>bt(e),[e]),M=a.useMemo(()=>s.map(({src:E})=>E),[s]),[h,o]=a.useState(null),y=h?[...h.values()].filter(E=>E).length/s.length*100:null,N=a.useCallback(E=>{y===null&&(o(new Map(M.map(C=>[C,!1]))),x({type:"interaction",current:{category_id:L,category_name:k,item_type:"next360",item_position:t},action:{name:"Next 360 Play",field:"next360_play",value:E}}))},[y,M,x,L,k,t]),_=a.useCallback(()=>{N("click")},[N]),w=a.useCallback(E=>{o(C=>{const p=new Map(C);return p.set(E,!0),p})},[]);return a.useEffect(()=>{c&&N("auto")},[c,N]),a.useEffect(()=>{y===100&&f()},[y,f]),n.jsxs("div",{className:"relative aspect-[4/3] w-full",children:[y!==null&&y!==100&&n.jsx("div",{className:"hidden",children:M.map(E=>n.jsx($e,{src:E,onLoad:()=>w(E),onError:d},E))}),n.jsx($e,{className:"size-full",src:M[0],onLoad:l}),n.jsxs("div",{className:"absolute inset-0 flex flex-col items-center justify-center gap-y-4 bg-foreground/35",children:[n.jsx(Ht,{className:"size-20"}),n.jsx(Ge,{"aria-label":"Play 360 view",className:j?.playButton?"size-[78px] border-0 bg-transparent p-0 shadow-none hover:bg-transparent":void 0,color:"neutral",shape:"icon",onClick:_,children:j?.playButton?n.jsx("img",{className:"size-full",src:j.playButton.default,alt:""}):n.jsx(Mn,{className:"size-full"})}),n.jsx("div",{className:he("relative h-1 w-3/5 overflow-hidden rounded-full bg-background",y===null&&"invisible"),children:n.jsx("div",{className:"h-full bg-primary transition-[width]",style:{width:`${y??0}%`}})})]})]})},ro=t=>{const{itemIndex:s}=t,{setItemInteraction:l}=Ze(),[f,d]=a.useState(null);return a.useEffect(()=>{f===null||f==="error"||l(s,f==="spin"?"running":"ready")},[s,l,f]),f==="error"?n.jsx(wt,{className:"text-background",text:"Spin could not be loaded"}):f!=="spin"?n.jsx(no,{...t,onPlaceholderImageLoaded:()=>d(c=>c===null?"placeholder":c),onSpinImagesLoaded:()=>d("spin"),onError:()=>d("error")}):n.jsx(to,{...t})},oo=750,so=1250,ao=360,io=480,lo=(t,s)=>({cursor:`url("${t}"), ${s}`}),co=({images:t,onlyPreload:s})=>{const{demoSpin:l,reverse360:f,spinCursor:d,themeConfig:c}=We(),{isShowingDetails:x,isZooming:e}=Ze(),L=a.useMemo(()=>bt(c),[c]),k=e||x,j=a.useRef(null),M=a.useRef(null),[h,o]=a.useState(!1),[y,N]=a.useState("default"),_=d==="grab"&&h?"grabbing":d,w=L?.cursor?lo(L.cursor[y==="left"?"leftSpin":y==="right"?"rightSpin":"default"],_):{cursor:_},E=a.useRef(l),C=a.useRef(null),p=a.useCallback(()=>{C.current&&(clearTimeout(C.current),C.current=null)},[]),b=a.useRef(null),P=()=>{b.current&&(cancelAnimationFrame(b.current),b.current=null)},[$,T]=a.useState(0),V=t.length,G=a.useCallback(()=>{T(Z=>(Z-1+V)%V)},[V]),R=a.useCallback(()=>{T(Z=>(Z+1)%V)},[V]);return a.useEffect(()=>{if(k){p();return}const Z=j.current,S=M.current;if(!Z||!S)return;E.current&&(E.current=!1,C.current=setTimeout(()=>{const xe=Date.now(),u=()=>{const m=()=>{const re=(Date.now()-xe)/so,v=Math.round((te=>te*(2-te))(re)*V),J=Ke(v%V,0,V-1);T(J),!(v>=V)&&u()};b.current=requestAnimationFrame(m)};u()},oo));const Y=ao/V;let ae=null,W=[];const z=xe=>{W.push(xe),W.length>20&&W.shift()},q=()=>{const xe=(()=>{const ee=Date.now(),v=W.filter(ve=>ee-ve.timestamp<50);if(v.length<2)return 0;const J=v[0],te=v[v.length-1];return(te.value-J.value)/(.001*Math.max(te.timestamp-J.timestamp,1))})(),u=Date.now();let m=0,Q=u;const re=()=>{const ee=()=>{const v=Date.now(),J=(v-u)/1e3,te=Math.pow(.05,J),ve=xe*te,de=(v-Q)/1e3;if(m+=ve*de,Math.abs(ve)<5*Y&&Math.abs(m)<Y){b.current=null;return}Math.abs(m)>=Y&&(m>0!==f?R():G(),m=0),Q=v,re()};b.current=requestAnimationFrame(ee)};re()},D=()=>{p(),P()};o(!1);const U=xe=>{if(xe.button!==0)return;xe.preventDefault(),xe.stopPropagation(),D(),o(!0),N("default");const u=xe.clientX;ae=u,W=[{timestamp:Date.now(),value:u}]},ie=xe=>{if(ae===null)return;xe.stopPropagation();const{clientX:u}=xe;z({timestamp:Date.now(),value:u});const m=u-ae;m!==0&&L?.cursor&&N(m<0?"left":"right"),!(Math.abs(m)<Y)&&(m>0!==f?R():G(),ae=u)},O=()=>{ae!==null&&(ae=null,o(!1),N("default"),q())};Z.addEventListener("mousedown",U),document.addEventListener("mousemove",ie),document.addEventListener("mouseleave",O),document.addEventListener("mouseup",O),document.addEventListener("contextmenu",O);const ne=io/V,se=()=>S.getBoundingClientRect().width,oe=()=>S.scrollWidth/2-se()/2,I=()=>{const xe=oe();S.scrollLeft=xe};I();const be=()=>{const xe=S.scrollLeft-oe();Math.abs(xe)<ne||(xe<0!==f?R():G(),I())};S.addEventListener("scroll",be);let K=null;const Se=xe=>{if(K!==null||xe.changedTouches.length!==1)return;D(),o(!0),N("default");const{identifier:u,clientX:m}=xe.changedTouches[0];K=u,ae=m,W=[{timestamp:Date.now(),value:m}]},Ue=xe=>{if(!ae)return;const u=Array.from(xe.changedTouches).find(({identifier:re})=>re===K);if(!u)return;xe.preventDefault();const{clientX:m}=u;z({timestamp:Date.now(),value:m});const Q=m-ae;Q!==0&&L?.cursor&&N(Q<0?"left":"right"),!(Math.abs(Q)<Y)&&(Q>0!==f?R():G(),ae=m)},Ve=xe=>{!ae||!Array.from(xe.changedTouches).some(({identifier:m})=>m===K)||(K=null,ae=null,o(!1),N("default"),q())};return S.addEventListener("touchstart",Se),S.addEventListener("touchmove",Ue),S.addEventListener("touchend",Ve),S.addEventListener("touchcancel",Ve),()=>{o(!1),Z.removeEventListener("mousedown",U),document.removeEventListener("mousemove",ie),document.removeEventListener("mouseleave",O),document.removeEventListener("mouseup",O),document.removeEventListener("contextmenu",O),S.removeEventListener("scroll",be),S.removeEventListener("touchstart",Se),S.removeEventListener("touchmove",Ue),S.removeEventListener("touchend",Ve),S.removeEventListener("touchcancel",Ve)}},[p,R,G,k,f,L,V]),n.jsx("div",{ref:j,style:w,children:n.jsxs("div",{ref:M,className:"overflow-x-scroll",children:[n.jsxs("div",{className:"sticky left-0 top-0",children:[t.map(Z=>n.jsx($e,{src:Z.src,className:"pointer-events-none !absolute left-0 top-0 -z-10"},Z.src)),n.jsx(Ln,{...t[$],onlyPreload:s,itemIndex:-1})]}),n.jsx("div",{className:"pointer-events-none -mt-px h-px w-[calc(100%+1024px)]"})]})})},uo=({itemIndex:t,images:s,onPlaceholderImageLoaded:l,onSpinImagesLoaded:f,onError:d})=>{const{autoLoad360:c,emitAnalyticsEvent:x,themeConfig:e}=We(),{displayedCategoryId:L,displayedCategoryName:k}=Ze(),j=a.useMemo(()=>bt(e),[e]),M=a.useMemo(()=>s.map(({src:E})=>E),[s]),[h,o]=a.useState(null),y=h?[...h.values()].filter(E=>E).length/s.length*100:null,N=a.useCallback(E=>{y===null&&(o(new Map(M.map(C=>[C,!1]))),x({type:"interaction",current:{category_id:L,category_name:k,item_type:"exterior-360",item_position:t},action:{name:"Exterior 360 Play",field:"exterior_360_play",value:E}}))},[y,M,x,L,k,t]),_=a.useCallback(()=>{N("click")},[N]),w=a.useCallback(E=>{o(C=>{const p=new Map(C);return p.set(E,!0),p})},[]);return a.useEffect(()=>{c&&N("auto")},[c,N]),a.useEffect(()=>{y===100&&f()},[y,f]),n.jsxs("div",{className:"relative aspect-[4/3] w-full",children:[y!==null&&y!==100&&n.jsx("div",{className:"hidden",children:M.map(E=>n.jsx($e,{src:E,onLoad:()=>w(E),onError:d},E))}),n.jsx($e,{className:"size-full",src:M[0],onLoad:l}),n.jsxs("div",{className:"absolute inset-0 flex flex-col items-center justify-center gap-y-4 bg-foreground/35",children:[n.jsx(Ht,{className:"size-20"}),n.jsx(Ge,{"aria-label":"Play 360 view",className:j?.playButton?"size-[78px] border-0 bg-transparent p-0 shadow-none hover:bg-transparent":void 0,color:"neutral",shape:"icon",onClick:_,children:j?.playButton?n.jsx("img",{className:"size-full",src:j.playButton.default,alt:""}):n.jsx(Mn,{className:"size-full"})}),n.jsx("div",{className:he("relative h-1 w-3/5 overflow-hidden rounded-full bg-background",y===null&&"invisible"),children:n.jsx("div",{className:"h-full bg-primary transition-[width]",style:{width:`${y??0}%`}})})]})]})},fo=t=>{const{itemIndex:s}=t,{setItemInteraction:l}=Ze(),[f,d]=a.useState();return a.useEffect(()=>{f===null||f==="error"||l(s,f==="spin"?"running":"ready")},[s,l,f]),f==="error"?n.jsx(wt,{className:"text-background",text:"Spin could not be loaded"}):f!=="spin"?n.jsx(uo,{...t,onPlaceholderImageLoaded:()=>d(c=>c===null?"placeholder":c),onSpinImagesLoaded:()=>d("spin"),onError:()=>d("error")}):n.jsx(co,{...t})},ho=t=>n.jsx(Ge,{color:"neutral",shape:"icon",...t,children:n.jsx(bn,{className:"size-full"})}),po=({className:t})=>n.jsx(Be,{className:t,customizationKey:"UI_PAUSE",children:n.jsx("svg",{className:t,width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:n.jsx("path",{d:"M4 12.6667H6.66667V3.33333H4V12.6667ZM9.33333 3.33333V12.6667H12V3.33333H9.33333Z",fill:"currentColor"})})}),mo=({className:t})=>n.jsx(Be,{className:t,customizationKey:"UI_VOLUME",children:n.jsx("svg",{className:t,width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:n.jsx("path",{d:"M2 6V10H4.66667L8 13.3333V2.66667L4.66667 6H2ZM11 8C11 6.82 10.32 5.80667 9.33333 5.31334V10.68C10.32 10.1933 11 9.18 11 8ZM9.33333 2.15334V3.52667C11.26 4.1 12.6667 5.88667 12.6667 8C12.6667 10.1133 11.26 11.9 9.33333 12.4733V13.8467C12.0067 13.24 14 10.8533 14 8C14 5.14667 12.0067 2.76 9.33333 2.15334Z",fill:"currentColor"})})}),go=({className:t})=>n.jsx(Be,{className:t,customizationKey:"UI_VOLUME_OFF",children:n.jsx("svg",{className:t,width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:n.jsx("path",{d:"M11 8C11 6.82 10.32 5.80667 9.33333 5.31333V6.78667L10.9667 8.42C10.9867 8.28667 11 8.14667 11 8ZM12.6667 8C12.6667 8.62667 12.5333 9.21333 12.3067 9.76L13.3133 10.7667C13.7533 9.94 14 9 14 8C14 5.14667 12.0067 2.76 9.33333 2.15333V3.52667C11.26 4.1 12.6667 5.88667 12.6667 8ZM2.84667 2L2 2.84667L5.15333 6H2V10H4.66667L8 13.3333V8.84667L10.8333 11.68C10.3867 12.0267 9.88667 12.3 9.33333 12.4667V13.84C10.2533 13.6333 11.0867 13.2067 11.7933 12.6333L13.1533 14L14 13.1533L2.84667 2ZM8 2.66667L6.60667 4.06L8 5.45333V2.66667Z",fill:"currentColor"})})}),Qt=({progress:t})=>n.jsx("div",{className:"h-1 w-full overflow-hidden rounded-ui-sm bg-background/25",children:n.jsx("div",{className:"size-full rounded-ui-sm bg-background transition-transform",style:{transform:`translateX(-${100*(1-t)}%)`}})}),vo=3e3,xo=({src:t,poster:s,itemIndex:l})=>{const{carrouselItemIndex:f,setItemInteraction:d}=Ze(),c=a.useRef(null),x=a.useRef(null),e=a.useCallback(()=>{if(!x.current)throw new Error("videoRef.current is null");return x.current},[]);a.useEffect(()=>{d(l,"ready")},[l,d]);const L=a.useCallback(()=>{e().play()},[e]),k=a.useCallback(()=>{e().pause()},[e]);a.useEffect(()=>{f===l||k()},[f,l,k]);const[j,M]=a.useState(!1),[h,o]=a.useState(!0),y=()=>{M(!0),d(l,"running")},N=()=>{M(!1),d(l,"ready")},_=()=>{o(!1)},w=()=>{o(!0)},[E,C]=a.useState(null),p=W=>{const z=e(),q=W.currentTarget.getBoundingClientRect(),U=(W.clientX-q.left)/q.width,ie=Math.min(1,Math.max(0,U));z.volume=ie,z.muted=!1},b=W=>{const z=e();z.muted=W};a.useEffect(()=>{const W=x.current;if(!W)return;const z=()=>{C({volume:W.volume,isMuted:W.muted})};return z(),W.addEventListener("volumechange",z),()=>{W.removeEventListener("volumechange",z)}},[]);const[P,$]=a.useState(null),T=P?P.currentTime/P.duration:0;a.useEffect(()=>{const W=x.current;if(!W)return;const z=()=>{const q=W.currentTime,D=W.duration;isNaN(q)||isNaN(D)||$({currentTime:q,duration:D})};return z(),W.addEventListener("timeupdate",z),()=>{W.removeEventListener("timeupdate",z)}},[]);const V=W=>{const z=e(),q=W.currentTarget.getBoundingClientRect(),U=(W.clientX-q.left)/q.width,ie=z.duration*U;z.currentTime=ie},G=W=>{const z=Math.floor(W%3600/60),q=Math.floor(W%60);return`${z}:${q.toString().padStart(2,"0")}`},[R,Z]=a.useState(!1),S=a.useRef(void 0),Y=a.useCallback(()=>clearTimeout(S.current),[]),ae=a.useCallback(()=>{Y(),S.current=setTimeout(()=>{Z(!1)},vo)},[Y]);return a.useEffect(()=>{const W=c.current,z=x.current;if(!W||!z)return;const q=()=>{ae(),Z(!0)},D=()=>{Y(),Z(!1)};let U=!1;const ie=()=>{U=!0},O=()=>{U&&(U=!1,k())},ne=()=>{U=!1,q()},se=oe=>{oe.preventDefault(),oe.touches.length===1&&(ae(),Z(be=>!be))};return W.addEventListener("mousedown",ie),W.addEventListener("mouseup",O),W.addEventListener("mouseenter",q),W.addEventListener("mousemove",ne),W.addEventListener("mouseleave",D),z.addEventListener("touchstart",se,{passive:!0}),()=>{W.removeEventListener("mousedown",ie),W.removeEventListener("mouseup",O),W.removeEventListener("mouseenter",q),W.removeEventListener("mousemove",q),W.removeEventListener("mouseleave",D),z.removeEventListener("touchstart",se)}},[Y,k,ae]),n.jsxs("div",{ref:c,className:"relative aspect-[4/3] w-full",children:[n.jsx("video",{ref:x,className:"size-full",src:t,poster:s,disablePictureInPicture:!0,playsInline:!0,onPlay:y,onPause:N,onEnded:N,onCanPlay:_,onWaiting:w}),j?n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:he("absolute inset-x-0 bottom-0 cursor-auto space-y-2 bg-gradient-to-t from-foreground to-transparent p-4 pr-12 pt-8 transition-opacity duration-300",R?"pointer-events-auto opacity-100":"pointer-events-none opacity-0"),onMouseDownCapture:W=>W.stopPropagation(),children:[n.jsxs("div",{className:"flex items-center justify-between text-background",children:[n.jsxs("div",{className:"flex items-center gap-x-4",children:[n.jsx(Ge,{shape:"icon",variant:"ghost",color:"neutral",onClick:k,children:n.jsx(po,{className:"size-full"})}),P&&n.jsxs("span",{className:"text-sm",children:[G(P.currentTime)," /"," ",G(P.duration)]})]}),E&&n.jsxs("div",{className:"group/volume flex items-center gap-x-4 rounded-ui-md p-2 transition-colors hover:bg-foreground/25",children:[n.jsx("div",{className:`w-12 cursor-pointer py-1 opacity-0 transition-opacity ${E.isMuted?"group-hover/volume:opacity-50":"group-hover/volume:opacity-100"}`,onClick:p,children:n.jsx(Qt,{progress:E.volume})}),n.jsx("div",{className:"size-5 cursor-pointer",onClick:()=>b(!E.isMuted),children:E.isMuted?n.jsx(go,{className:"size-full"}):n.jsx(mo,{className:"size-full"})})]})]}),n.jsx("div",{className:"cursor-pointer py-1",onClick:V,children:n.jsx(Qt,{progress:T})})]}),h&&n.jsx("div",{className:"pointer-events-none absolute inset-0 flex items-center justify-center bg-foreground/25",children:n.jsx(vn,{size:"lg",color:"background"})})]}):n.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-foreground/25",children:n.jsx(ho,{onClick:L})})]})},wo=({index:t,item:s,isShown:l})=>{const{type:f}=s;let d;switch(f){case"image":d=n.jsx(Ln,{itemIndex:t,onlyPreload:!l,...s});break;case"video":d=n.jsx(xo,{itemIndex:t,...s});break;case"360":d=n.jsx(fo,{itemIndex:t,onlyPreload:!l,...s});break;case"next360":d=n.jsx(ro,{itemIndex:t,onlyPreload:!l,...s});break;case"interior-360":d=n.jsx(Br,{itemIndex:t,onlyPreload:!l,...s});break;case"custom":d=n.jsx(Tr,{itemIndex:t,...s})}return d=n.jsx("div",{className:"grid grid-cols-[repeat(var(--max-items),1fr)]",children:d}),d},bo=t=>{a.useEffect(()=>{const s=l=>{l.key==="Escape"&&t()};return addEventListener("keydown",s),()=>{removeEventListener("keydown",s)}},[t])};function Co(t){return t.target===t.currentTarget}const yo=({className:t,children:s,isVisible:l,url:f,title:d,description:c,clickHandler:x,extendMode:e,variant:L,aspectRatioStyle:k,maxItemsShown:j=1})=>{const{isFullScreen:M,integration:h}=We(),o=()=>L||(!h||M?"centered":"aside"),y=()=>!!(d||c),N=o(),_=w=>{if(!k)return{};switch(w){case"centered":return{...k,maxHeight:y()?"50%":"100%"};case"aside":return{...k,minHeight:0,flex:"1 1 auto"};case"fullwidth":return{...k,height:"85%"};default:return k}};return N==="centered"?n.jsx("div",{className:he(t,"absolute inset-0 z-overlay flex justify-end overflow-hidden bg-foreground/60 transition-opacity duration-details",l?"opacity-100":"pointer-events-none opacity-0"),onClick:x,children:n.jsxs("div",{className:he("flex h-full flex-col bg-background transition-transform duration-details",l?"translate-x-0":"translate-x-full",y()?"max-w-[60%]":"w-full"),children:[s,l&&n.jsxs(n.Fragment,{children:[n.jsx($e,{className:he(y()?"max-h-[50%]":"h-full","w-full bg-foreground/65 object-contain"),src:f||"",style:_("centered"),imgInPlayerWidthRatio:.6}),y()&&n.jsxs("div",{className:he("flex-1 space-y-1 overflow-y-auto px-2 py-1 small:p-3",e&&"large:p-4"),children:[d&&n.jsx("span",{className:he("text-sm font-semibold small:text-base small:font-bold",e&&"large:text-lg"),children:d}),c&&n.jsx("p",{className:he("text-xs text-foreground/65 small:text-sm",e&&"large:text-base"),children:c})]})]})]})}):N==="aside"?n.jsx("div",{className:he(t,"absolute inset-0 z-overlay flex items-center justify-center overflow-hidden bg-foreground/60 transition-opacity duration-details",l?"opacity-100":"pointer-events-none opacity-0"),onClick:x,children:n.jsxs("div",{className:he("relative flex h-full flex-col bg-background transition-transform duration-details",l?"translate-y-0":"translate-y-full"),style:{width:h?`${100/(M?1:j)}%`:`${100/j}%`},children:[s,l&&n.jsxs(n.Fragment,{children:[n.jsx($e,{className:"min-h-0 w-full flex-1 bg-foreground/65 object-contain",src:f||"",style:_("aside"),imgInPlayerWidthRatio:.6}),n.jsxs("div",{className:"min-h-[15%] shrink-0 space-y-1 p-2 small:p-3",children:[d&&n.jsx("span",{className:he("block text-xs font-semibold leading-tight small:text-base small:font-bold",e&&"large:text-lg"),children:d}),c&&n.jsx("p",{className:he("text-[10px] leading-tight text-foreground/65 small:text-sm",e&&"large:text-base"),children:c})]})]})]})}):n.jsx("div",{className:he(t,"absolute inset-0 z-overlay flex items-center justify-center overflow-hidden bg-foreground/60 transition-opacity duration-details",l?"opacity-100":"pointer-events-none opacity-0"),onClick:x,children:n.jsxs("div",{className:he("relative flex aspect-[4/3] flex-col bg-background transition-transform duration-details",l?"translate-y-0":"translate-y-full"),style:{width:h?`${100/(M?1:j)}%`:`${100/j}%`},children:[s,l&&f&&n.jsxs(n.Fragment,{children:[n.jsx($e,{className:"h-[85%] w-full bg-foreground/65 object-contain",src:f,style:_("fullwidth"),imgInPlayerWidthRatio:.6}),n.jsxs("div",{className:"h-[15%] space-y-1 overflow-y-auto px-2 py-1 small:p-3",children:[d&&n.jsx("span",{className:he("text-sm font-semibold small:text-base small:font-bold",e&&"large:text-lg"),children:d}),c&&n.jsx("p",{className:he("text-xs text-foreground/65 small:text-sm",e&&"large:text-base"),children:c})]})]})]})})},Eo=({currentIndex:t,maxIndex:s})=>n.jsxs("div",{className:"space-x-0.5 rounded-ui bg-foreground/40 px-1.5 py-0.5 text-xs text-background/75 transition-radius small:space-x-1 small:px-2 small:py-1 small:text-sm",children:[n.jsx("span",{children:t+1}),n.jsx("span",{children:"/"}),n.jsx("span",{children:s+1})]}),en=({className:t})=>n.jsx(Be,{className:t,customizationKey:"UI_ARROW_RIGHT",children:n.jsx("svg",{className:t,viewBox:"0 0 16 16",fill:"none",children:n.jsx("path",{d:"M4.07666 13.4868L5.25666 14.6668L11.9233 8.00016L5.25666 1.3335L4.07666 2.5135L9.56333 8.00016L4.07666 13.4868Z",fill:"currentColor"})})}),Lo=({className:t})=>n.jsx(Be,{className:t,customizationKey:"UI_EXTEND",children:n.jsx("svg",{className:t,viewBox:"0 0 16 16",fill:"none",children:n.jsx("path",{d:"M4.66683 9.3335H3.3335V12.6668H6.66683V11.3335H4.66683V9.3335ZM3.3335 6.66683H4.66683V4.66683H6.66683V3.3335H3.3335V6.66683ZM11.3335 11.3335H9.3335V12.6668H12.6668V9.3335H11.3335V11.3335ZM9.3335 3.3335V4.66683H11.3335V6.66683H12.6668V3.3335H9.3335Z",fill:"currentColor"})})}),Mo=({className:t})=>n.jsx(Be,{className:t,customizationKey:"UI_GALLERY",children:n.jsx("svg",{className:t,viewBox:"0 0 16 16",fill:"none",children:n.jsx("path",{d:"M13.3334 2.66683V10.6668H5.33337V2.66683H13.3334ZM13.3334 1.3335H5.33337C4.60004 1.3335 4.00004 1.9335 4.00004 2.66683V10.6668C4.00004 11.4002 4.60004 12.0002 5.33337 12.0002H13.3334C14.0667 12.0002 14.6667 11.4002 14.6667 10.6668V2.66683C14.6667 1.9335 14.0667 1.3335 13.3334 1.3335ZM7.66671 7.78016L8.79337 9.28683L10.4467 7.22016L12.6667 10.0002H6.00004L7.66671 7.78016ZM1.33337 4.00016V13.3335C1.33337 14.0668 1.93337 14.6668 2.66671 14.6668H12V13.3335H2.66671V4.00016H1.33337Z",fill:"currentColor"})})}),ko=({className:t})=>n.jsx(Be,{className:t,customizationKey:"UI_HOTSPOTS",children:n.jsxs("svg",{className:t,width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[n.jsx("g",{clipPath:"url(#clip0_418_982)",children:n.jsx("path",{d:"M6 4C4.895 4 4 4.895 4 6C4 7.105 4.895 8 6 8C7.105 8 8 7.105 8 6C8 4.895 7.105 4 6 4ZM10.47 5.5C10.24 3.415 8.585 1.76 6.5 1.53V0.5H5.5V1.53C3.415 1.76 1.76 3.415 1.53 5.5H0.5V6.5H1.53C1.76 8.585 3.415 10.24 5.5 10.47V11.5H6.5V10.47C8.585 10.24 10.24 8.585 10.47 6.5H11.5V5.5H10.47ZM6 9.5C4.065 9.5 2.5 7.935 2.5 6C2.5 4.065 4.065 2.5 6 2.5C7.935 2.5 9.5 4.065 9.5 6C9.5 7.935 7.935 9.5 6 9.5Z",fill:"currentColor"})}),n.jsx("defs",{children:n.jsx("clipPath",{id:"clip0_418_982",children:n.jsx("rect",{width:"12",height:"12",fill:"white"})})})]})}),Io=({className:t})=>n.jsx(Be,{className:t,customizationKey:"UI_MINUS",children:n.jsx("svg",{className:t,width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:n.jsx("path",{d:"M12.6666 8.66634H3.33325V7.33301H12.6666V8.66634Z",fill:"currentColor"})})}),_o=({className:t})=>n.jsx(Be,{className:t,customizationKey:"UI_PLUS",children:n.jsx("svg",{className:t,width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:n.jsx("path",{d:"M12.6666 8.66634H8.66659V12.6663H7.33325V8.66634H3.33325V7.33301H7.33325V3.33301H8.66659V7.33301H12.6666V8.66634Z",fill:"currentColor"})})}),To=({className:t})=>n.jsx(Be,{className:t,customizationKey:"UI_REDUCE",children:n.jsx("svg",{className:t,viewBox:"0 0 16 16",fill:"none",children:n.jsx("path",{d:"M3.33325 10.6668H5.33325V12.6668H6.66659V9.3335H3.33325V10.6668ZM5.33325 5.3335H3.33325V6.66683H6.66659V3.3335H5.33325V5.3335ZM9.33325 12.6668H10.6666V10.6668H12.6666V9.3335H9.33325V12.6668ZM10.6666 5.3335V3.3335H9.33325V6.66683H12.6666V5.3335H10.6666Z",fill:"currentColor"})})}),So=({enabled:t,onToggle:s,label:l,className:f,children:d})=>n.jsxs("label",{className:he("flex cursor-pointer items-center justify-center gap-x-2",f),children:[n.jsx("input",{type:"checkbox",className:"sr-only",checked:t,onChange:s}),l&&n.jsx("div",{className:"text-xs text-background",children:l}),n.jsx("div",{className:he("flex h-5 w-8 items-center justify-center rounded-full transition-colors",t?"bg-primary":"bg-background/60"),children:n.jsx("div",{className:he("flex size-4 items-center justify-center rounded-full p-0.5 transition",t?"translate-x-1.5 bg-primary-foreground text-primary":"-translate-x-1.5 bg-background text-foreground"),children:d})})]}),No=({className:t})=>n.jsx(Be,{className:t,customizationKey:"UI_BURGER",children:n.jsx("svg",{className:t,width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:n.jsx("path",{d:"M2 12H14V10.6667H2V12ZM2 8.66667H14V7.33333H2V8.66667ZM2 4V5.33333H14V4H2Z",fill:"currentColor"})})}),Po=({sharedClassName:t})=>{const{categories:s}=nt(),{displayedCategoryId:l,changeCategory:f}=Ze(),[d,c]=a.useState(!1),x=()=>{c(!d)},e=()=>{c(!1)};return n.jsxs(n.Fragment,{children:[d&&n.jsx("div",{className:he(t,"inset-0 small:hidden"),onClick:e}),n.jsxs("div",{className:he(t,at("top-left"),"flex gap-x-2 small:hidden"),children:[n.jsx(Ge,{shape:"icon",color:d?"primary":"neutral",onClick:x,children:n.jsx(No,{})}),d&&n.jsx("div",{className:"rounded-ui-md bg-background transition-radius",children:n.jsx("ul",{className:"space-y-0.5 p-1",children:s.map(({id:L,title:k})=>n.jsx("li",{className:he("cursor-pointer rounded-ui px-2 py-1 text-sm font-bold transition-all hover:bg-primary/30",L===l&&"bg-primary/50"),onClick:()=>{f(L),c(!1)},children:k},L))})})]}),n.jsx("div",{className:he(t,gn("top"),"w-full overflow-x-auto max-small:hidden"),children:n.jsx("div",{className:"mx-auto flex w-fit gap-x-1 rounded-ui-md bg-background p-1 shadow",children:s.map(({id:L,title:k})=>n.jsx(Ge,{variant:L===l?"fill":"ghost",onClick:()=>f(L),children:k},L))})})]})},Ro=()=>{const{hideCategoriesNav:t,infiniteCarrousel:s,permanentGallery:l,extendBehavior:f,maxItemsShown:d,isFullScreen:c,integration:x}=We(),{aspectRatioStyle:e,categories:{length:L}}=nt(),{items:{length:k},slidable:j,carrouselItemIndex:M,masterItemIndex:h,prevItem:o,nextItem:y,showGalleryControls:N,enableHotspotsControl:_,currentItemHotspotsVisible:w,toggleHotspots:E,showGallery:C,toggleGallery:p,extendMode:b,toggleExtendMode:P,shownDetails:$,isShowingDetails:T,resetShownDetails:V,showZoomControls:G,isZooming:R,canZoomIn:Z,zoomIn:S,canZoomOut:Y,zoomOut:ae,resetView:W}=Ze(),z=a.useCallback(ie=>{Co(ie)&&V()},[V]);bo(V);const q="absolute z-overlay",D=()=>{if(d===1)return M;const O=Math.floor(d)-1;return M+O},U=()=>{if(!x)return h;const O=Math.floor(d)-1;return h+O};return n.jsxs(n.Fragment,{children:[!t&&L>1&&n.jsx(Po,{sharedClassName:he(q,"transition-opacity",R?"!pointer-events-none opacity-0":"opacity-100")}),j&&!R&&n.jsx("div",{className:he(q,at("top-right")),children:n.jsx(Eo,{currentIndex:!x||c?M:D(),maxIndex:k-1})}),j&&n.jsxs(n.Fragment,{children:[n.jsx(Ge,{shape:"icon",color:"neutral",className:he(q,at("middle-left"),R?"!pointer-events-none opacity-0":"opacity-100"),onClick:o,disabled:!s&&h<=0,children:n.jsx(Be,{customizationKey:"CONTROLS_PREV",children:n.jsx(en,{className:"size-full -scale-x-100"})})}),n.jsx(Ge,{shape:"icon",color:"neutral",className:he(q,at("middle-right"),R?"!pointer-events-none opacity-0":"opacity-100"),onClick:y,disabled:!s&&U()>=k-1,children:n.jsx(Be,{customizationKey:"CONTROLS_NEXT",children:n.jsx(en,{className:"size-full"})})})]}),n.jsxs("div",{className:he(q,at("bottom-fullW"),"pointer-events-none grid grid-cols-[auto,1fr,auto] items-end *:pointer-events-auto small:gap-x-2"),children:[!l&&j&&n.jsxs(n.Fragment,{children:[n.jsx(Ge,{className:N&&!R?"opacity-100":"!pointer-events-none opacity-0",variant:"fill",color:C?"primary":"neutral",shape:"icon",onClick:p,children:n.jsx(Mo,{className:"size-full"})}),C&&n.jsx(yn,{className:he("transition-opacity",N&&!R?"opacity-100":"!pointer-events-none opacity-0","[mask-image:linear-gradient(to_left,transparent_0px,black_4px,black_calc(100%-4px),transparent_100%)]"),containerClassName:"mx-1"})]}),n.jsxs("div",{className:"col-start-3 flex flex-col items-end gap-y-1 small:gap-y-2",children:[_&&n.jsx(So,{className:he("transition-opacity",R?"!pointer-events-none opacity-0":"opacity-100"),enabled:w,onToggle:E,children:n.jsx(ko,{className:"size-full"})}),G&&(!x||c)&&n.jsxs("div",{className:"max-small:hidden",children:[n.jsx(Ge,{className:"rounded-b-none",color:"neutral",shape:"icon",disabled:!Z,onClick:S,children:n.jsx(_o,{className:"size-full"})}),n.jsx(Cn,{color:"background"}),n.jsx(Ge,{className:"rounded-t-none",color:"neutral",shape:"icon",disabled:!Y,onClick:ae,children:n.jsx(Io,{className:"size-full"})})]}),f!=="none"&&n.jsx(Ge,{variant:"fill",color:b?"primary":"neutral",shape:"icon",onClick:P,children:b?n.jsx(To,{className:"size-full"}):n.jsx(Lo,{className:"size-full"})})]})]}),n.jsx(yo,{isVisible:T,className:q,url:$?.src,title:$?.title,description:$?.text,clickHandler:z,extendMode:b,maxItemsShown:d,aspectRatioStyle:e,children:n.jsx(kt,{className:"absolute right-2 top-2 z-10",onClick:V})}),R&&n.jsx(kt,{className:he(q,at("top-right")),onClick:W})]})},jo=({className:t=""})=>{const{infiniteCarrousel:s,preloadRange:l,isFullScreen:f,maxItemsShown:d,integration:c}=We(),{aspectRatioStyle:x}=nt(),{items:e,slidable:L,carrouselItemIndex:k,setCarrouselItemIndex:j,itemIndexCommand:M,setItemIndexCommand:h,specialCommand:o,isRunningSpecialCommand:y,finishSpecialCommand:N,extendMode:_,extendTransition:w}=Ze(),{effectiveMaxItemsShown:E}=dn(),C=a.useRef(null),p=a.useCallback(D=>{if(!C.current)throw new Error(`[${D??"sliderOrThrow"}] slider.current is null`);return C.current},[]),b=a.useRef(!1),P=a.useRef(null),$=a.useRef(null),T=a.useRef(null),V=a.useCallback(()=>{T.current&&cancelAnimationFrame(T.current)},[]),G=a.useCallback(()=>{const D=p("computeClosestSnapIndex"),U=Array.from(D.children),ie=D.scrollLeft;let O=0,ne=1/0;if(U.forEach((se,oe)=>{const I=se.offsetLeft,be=Math.abs(I-ie);be<ne&&(ne=be,O=oe)}),E>1){const se=Math.ceil(E),oe=e.length+(c&&!s&&E%1!==0?1:0),I=Math.max(0,oe-se);if(O=Math.min(O,I),c&&!s&&E%1!==0){const be=e.length-1;O=Math.min(O,be)}}return O},[p,E,e.length,s,c]),R=a.useCallback(D=>{const U=p("setStyleCursor");U.style.cursor=D},[p]),Z=a.useCallback(D=>{const U=p("setStyleSnapState");D==="mandatory"?U.style.scrollSnapType="x mandatory":U.style.scrollSnapType="none"},[p]),S=a.useCallback((D,U,ie)=>{V();const O=p("scrollToIndex"),ne=Array.from(O.children),se=O.scrollLeft;let oe=ne[D].offsetLeft;const I=O.clientWidth,be=O.scrollWidth-I;if(E>1){const m=Math.ceil(E),Q=e.length+(c&&!s&&E%1!==0?1:0);D>=Q-m&&(oe=Math.min(oe,be))}const K=m=>{O.scrollTo({left:m,behavior:"instant"})},Se=()=>{K(oe),Z("mandatory"),ie?.()},Ue=Math.abs(se-oe);if(Ue<1||U==="instant"){Se();return}const Ve=Ke(Ue/2.5,300,1e3),xe=new Date().getTime();Z("none");const u=()=>{const m=()=>{const re=new Date().getTime()-xe;if(re>=Ve){Se();return}const ee=Math.min(re/Ve,1),v=En(ee),J=mt(se,oe,v);K(J),u()};T.current=requestAnimationFrame(m)};u()},[V,p,E,Z,e.length,c,s]),[Y,ae]=a.useState(),W=!!Y;a.useEffect(()=>{const D=()=>{clearTimeout(Y);const U=setTimeout(()=>{ae(void 0)},un);ae(U)};return addEventListener("resize",D),document.addEventListener("fullscreenchange",D),()=>{removeEventListener("resize",D),document.removeEventListener("fullscreenchange",D)}},[Y]),a.useEffect(()=>{if(o)return;const D=G();Number.isNaN(D)||D!==k&&S(k,"instant")},[k,G,S,o,e,Y,f,_,w]),a.useEffect(()=>{if(!L||y){R("auto");return}const D=C.current;if(!D)return;R("grab"),Z("mandatory");const U=ne=>{ne.button===0&&(ne.preventDefault(),ne.stopPropagation(),V(),b.current=!0,P.current=ne.pageX-D.offsetLeft,$.current=D.scrollLeft,R("grabbing"))},ie=ne=>{if(!b.current)return;if(P.current===null)throw new Error("[onMouseMove] startX is null");Z("none");const oe=ne.pageX-D.offsetLeft-P.current;requestAnimationFrame(()=>{if($.current===null)throw new Error("[onMouseMove] scrollLeft is null");let I=$.current-oe;if(!s){const be=D.scrollWidth-D.clientWidth;I>be&&(I=be)}D.scrollLeft=I})},O=()=>{if(!b.current)return;b.current=!1,R("grab");const ne=G();S(ne,"smooth")};return D.addEventListener("mousedown",U),document.addEventListener("mousemove",ie),document.addEventListener("mouseleave",O),document.addEventListener("mouseup",O),document.addEventListener("contextmenu",O),()=>{D.removeEventListener("mousedown",U),document.removeEventListener("mousemove",ie),document.removeEventListener("mouseleave",O),document.removeEventListener("mouseup",O),document.removeEventListener("contextmenu",O)}},[V,G,s,y,S,R,Z,L]),a.useEffect(()=>{if(w||W)return;const D=C.current;if(!D)return;const U=()=>{const ie=G();Number.isNaN(ie)||(j(ie),ie===M&&h(null))};return D.addEventListener("scroll",U),()=>{D.removeEventListener("scroll",U)}},[G,w,W,M,d,j,h]),a.useEffect(()=>{if(M===null)return;const D=()=>{setTimeout(()=>{h(null),N()},75)};switch(o){case"first_to_last":{const U=Math.ceil(E),ie=e.length+(c&&!s&&E%1!==0?1:0),O=E>1?Math.max(0,ie-U):e.length-1;S(O,"instant",D);break}case"last_to_first":S(0,"instant",D);break;case"instant":S(M,"instant",D);break;default:S(M,"smooth");break}},[o,N,M,e.length,S,h,E,s,c]);const z=a.useMemo(()=>!c||f?x:{aspectRatio:"auto"},[c,f,x]),q=a.useMemo(()=>({...x,minWidth:`${100/E}%`,width:`${100/E}%`,flexShrink:0}),[x,E]);return n.jsxs("div",{className:he("relative overflow-hidden rounded-carrousel transition-radius",t),style:z,children:[n.jsxs("div",{ref:C,className:`flex size-full ${L?"overflow-x-auto no-scrollbar *:snap-start *:snap-always":"justify-center"}`,children:[e.map((D,U)=>{const ie=U===k,O=U===0,ne=U===e.length-1,se=(()=>{const Se=Math.ceil(E);if(o==="first_to_last"&&O)return{transform:`translateX(${100*e.length/Se}%)`};if(o==="last_to_first"&&ne)return{transform:`translateX(-${100*e.length/Se}%)`}})(),oe=Math.ceil(E),I=Math.max(l,oe);let be=Math.abs(U-k)<=I;be||=U===M,be||=U>=k&&U<k+oe,s&&(be||=k<I&&e.length-U<=I-k,be||=k>=e.length-I&&U<=I-(e.length-k));const K=(()=>{let Se;switch(D.type){case"360":Se=D.images[0].src;break;case"interior-360":Se=D.poster??"interior-360";break;case"image":Se=D.src;break;case"video":Se=D.poster??"video";break;case"custom":Se="custom";break;default:Se="unknown"}return`${U}_${Se}`})();return n.jsx("div",{className:he("h-full bg-foreground/35",k===U&&"z-1"),style:{...q,...se},children:be&&n.jsx(wo,{index:U,item:D,isShown:ie})},K)}),c&&!s&&!f&&d%1!==0&&n.jsx("div",{className:"h-full",style:q},"empty-slide")]}),n.jsx(Ro,{})]})},Ao=()=>{const{permanentGallery:t,integration:s}=We(),{aspectRatioStyle:l}=nt(),{isShowingDetails:f,resetShownDetails:d,extendMode:c,disableExtendMode:x,isZooming:e,resetZoom:L,fakeFullScreen:k}=Ze(),j=a.useRef(null),M=a.useRef(null),h=a.useRef(null);return a.useEffect(()=>{if(!c)return;const o=j.current,y=M.current,N=h.current;if(!o||!y||!N)return;let _=!1;const w=p=>[o,y,N].includes(p.target),E=p=>{_=w(p)},C=p=>{_&&(w(p)&&x(),_=!1)};return o.addEventListener("mousedown",E),o.addEventListener("mouseup",C),()=>{o.removeEventListener("mousedown",E),o.removeEventListener("mouseup",C)}},[x,c]),a.useEffect(()=>{const o=y=>{y.key==="Escape"&&(e?L():f?d():x())};return addEventListener("keydown",o),()=>{removeEventListener("keydown",o)}},[x,f,e,d,L]),n.jsxs("div",{ref:j,className:he("relative",c&&"flex size-full items-center justify-center",k&&"fixed inset-0 z-overlay bg-foreground/75"),children:[n.jsxs("div",{ref:M,className:c?"flex size-full flex-col justify-center gap-y-2 small:gap-y-4":"space-y-2",children:[n.jsx("div",{ref:h,className:he(c&&"mx-auto flex min-h-0 w-full max-w-[1600px] justify-center"),style:s?{}:l,children:n.jsx(jo,{className:he(c&&"h-full min-w-0")})}),t&&n.jsx(yn,{className:he(c&&"my-2 shrink-0 small:my-4")})]}),c&&n.jsx(kt,{className:"absolute right-2 top-2 small:right-4 small:top-4",onClick:x})]})},zo=()=>{const{emitEvent:t,emitAnalyticsEvent:s,compositionUrl:l}=We(),{data:f,status:d,isSuccess:c,error:x}=lr(l);return a.useEffect(()=>{if(x){t(Nt,x);const e={type:"error",error:x instanceof Error?{name:x.name||"CompositionLoadError",message:x.message,stack:x.stack}:{name:"NonError",message:(()=>{try{return JSON.stringify(x)}catch{return String(x)}})()}};s(e)}else d==="fetching"?t(Tt,l):c&&t(St,f)},[f,l,t,s,x,c,d]),x?n.jsx(wt,{className:"aspect-square text-foreground/70",text:"Player could not be loaded"}):c?n.jsx(ur,{composition:f,children:n.jsx(hr,{children:n.jsx(Ao,{})})}):n.jsxs("div",{className:"flex aspect-square size-full flex-col items-center justify-center gap-y-4",children:[n.jsx("div",{className:"animate-pulse text-xl",children:"Loading Player"}),n.jsx(vn,{color:"foreground"})]})},Do={hideCategoriesNav:!0,infiniteCarrousel:!1,permanentGallery:!1},Oo=[1,1.5,2,2.5],Fo=()=>a.useMemo(()=>rr(),[]),Ho=()=>a.useMemo(()=>or(),[]),Vo=()=>a.useMemo(()=>sr(),[]),Uo="https://analytics.eu.car-cutter.com",Bo={load:"/webplayer/load",display:"/webplayer/display",interaction:"/webplayer/interaction",error:"/webplayer/error"},Wo=t=>{const s=Bo[t];return new URL(s,Uo).toString()},Zo=t=>{const s=new Headers;return s.append("Content-Type","application/json"),s.append("Authorization",`Bearer ${t}`),s},Xo=t=>{const{type:s,...l}=t;return JSON.stringify(l)},Yo=1e4,Go=async(t,s=Yo)=>{const{payload:l,compositionUrl:f}=t,d=Zo(f),c=Xo(l),x=Wo(l.type),e=new AbortController,L=setTimeout(()=>e.abort(),s);try{const k=await fetch(x,{method:"POST",headers:d,body:c,signal:e.signal});if(!k.ok)throw new Error(`Monitoring request failed: ${k.status} ${k.statusText} (${x})`)}finally{clearTimeout(L)}},qo=({compositionUrl:t,integration:s=qn,maxItemsShown:l=sn,hideCategoriesNav:f=An,infiniteCarrousel:d=zn,permanentGallery:c=Dn,mediaLoadStrategy:x=On,minMediaWidth:e=Fn,maxMediaWidth:L=Hn,preloadRange:k=Vn,autoLoad360:j=Un,autoLoadInterior360:M=Bn,categoriesFilter:h=Wn,extendBehavior:o=Zn,eventPrefix:y=Dt,demoSpin:N=Xn,reverse360:_=Yn,analyticsEventPrefix:w=an,analyticsUrl:E=Kn,analyticsBearer:C=$n,analyticsSimpleRequestsOnly:p=Jn,analyticsDryRun:b=Qn,analyticsDebug:P=er,spinCursor:$=Gn,monitoring:T,themeConfig:V,children:G})=>{const R=T!==void 0?T:!E;l=dr(l,Oo);const Z=a.useRef(null),[S,Y]=a.useState(.5),[ae,W]=a.useState(!1),z=a.useCallback((oe,I)=>{const be=y+oe,K=new CustomEvent(be,{detail:I});document.dispatchEvent(K)},[y]),q=Fo(),D=Ho(),U=Vo(),ie=a.useCallback(async oe=>{try{const I={instance_id:U,browser_id:q,session_id:D,from_url:window.location.href},be={...oe,timestamp:new Date().toISOString(),instance:I};if(b){console.log("[DRY RUN] AnalyticsEvent:",be);return}const K=w+oe.type,Se=new CustomEvent(K,{detail:be});if(document.dispatchEvent(Se),E||R){const Ue="POST",Ve=new Headers;p||(Ve.append("Content-Type","application/json"),Ve.append("Cache-Control","no-cache"),C&&Ve.append("Authorization",`Bearer ${C}`));const xe=JSON.stringify(be);E&&await fetch(E,{method:Ue,headers:Ve,body:xe}),R&&await Go({payload:be,compositionUrl:t})}}catch(I){if(!P)return;console.error("Error while sending analytics event:",I)}},[w,E,C,p,b,P,U,q,D,t,R]),[O]=a.useState({type:"load",config:{composition_url:t,integration:s,max_items_shown:l,hide_categories_nav:f,infinite_carrousel:d,permanent_gallery:c,media_load_strategy:x,min_media_width:e,preload_range:k,auto_load_360:j,auto_load_interior_360:M,categories_filter:h,extend_behavior:o,event_prefix:y,demo_spin:N,reverse_360:_}});a.useEffect(()=>{const oe=setTimeout(()=>ie(O),0);return()=>clearTimeout(oe)},[ie,O]),a.useEffect(()=>{if(ae){Y(1);return}if(!Z.current)return;const oe=Z.current,I=()=>{const be=window.innerWidth,K=oe.clientWidth;Y(K/be)};return I(),addEventListener("resize",I),()=>{removeEventListener("resize",I)}},[ae]),a.useEffect(()=>{if(o!=="full_screen")return;const oe=Z.current;if(!oe)throw new Error("Wrapper not found");const I=()=>{const{fullscreenElement:be}=document;W(be===oe||be?.localName===xt)};return document.addEventListener("fullscreenchange",I),()=>{document.removeEventListener("fullscreenchange",I)}},[o]);const ne=a.useCallback(async()=>{const oe=Z.current;if(!oe)throw new Error("Wrapper not found");try{return await oe.requestFullscreen(),!0}catch{return!1}},[]),se=a.useCallback(async()=>{try{return await document.exitFullscreen(),!0}catch{return!1}},[]);return n.jsx(cr,{compositionUrl:t,integration:s,hideCategoriesNav:f,infiniteCarrousel:d,permanentGallery:c,maxItemsShown:l,mediaLoadStrategy:x,minMediaWidth:e,maxMediaWidth:L,preloadRange:k,categoriesFilter:h,autoLoad360:j,autoLoadInterior360:M,extendBehavior:o,demoSpin:N,reverse360:_,spinCursor:$,themeConfig:V,emitEvent:z,emitAnalyticsEvent:ie,playerInViewportWidthRatio:S,isFullScreen:ae,requestFullscreen:ne,exitFullscreen:se,...s?Do:{},children:n.jsxs(fr,{children:[n.jsx("div",{ref:Z,className:"select-none text-foreground",style:{"--background":"var(--cc-webplayer-background, 0 0% 100%)","--foreground":"var(--cc-webplayer-foreground, 240 10% 3.9%)","--primary":"var(--cc-webplayer-primary, 216 100% 52%)","--primary-foreground":"var(--cc-webplayer-primary-foreground, var(--background))","--primary-light":"var(--cc-webplayer-primary-light, var(--primary))","--neutral":"var(--cc-webplayer-neutral, 0 0% 39%)","--neutral-foreground":"var(--cc-webplayer-neutral-foreground, var(--foreground))","--radius-ui":"var(--cc-webplayer-radius-ui, 16px)","--radius-carrousel":"var(--cc-webplayer-radius-carrousel, 0)","--radius-gallery":"var(--cc-webplayer-radius-gallery, 0)","--hotspot-damage-color":"hsl(var(--cc-webplayer-hotspot-damage-color, 37 89% 52%))","--hotspot-feature-color":"hsl(var(--cc-webplayer-hotspot-feature-color, var(--primary)))"},children:n.jsx(zo,{})}),G]})})},Ko=({children:t,index:s,thumbnailSrc:l})=>{const{registerCustomMedia:f,unregisterCustomMedia:d}=ut();return a.useEffect(()=>{if(!t)return;const c=f({Media:t,index:s,thumbnailSrc:l});return()=>{d(c)}},[t,d,s,f,l]),null},$o=t=>Ft()?n.jsx(Ko,{...t}):n.jsx("slot",{}),Jo=({name:t,children:s})=>{const{registerIconConfig:l,unregisterIconConfig:f}=ut();return a.useEffect(()=>{if(s)return l(t,{Icon:s}),()=>{f(t)}},[s,t,l,f]),null},Qo=t=>Ft()?n.jsx(Jo,{...t}):n.jsx("slot",{}),es=`*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\\!container{width:100%!important}.container{width:100%}@media(min-width:1280px){.\\!container{max-width:1280px!important}.container{max-width:1280px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.\\!pointer-events-none{pointer-events:none!important}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.\\!absolute{position:absolute!important}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-x-1{left:4px;right:4px}.inset-y-1{top:4px;bottom:4px}.-bottom-1{bottom:-4px}.-left-1{left:-4px}.-right-1{right:-4px}.-top-1{top:-4px}.bottom-0{bottom:0}.bottom-1{bottom:4px}.left-0{left:0}.left-1{left:4px}.left-1\\/2{left:50%}.right-1{right:4px}.right-2{right:8px}.top-0{top:0}.top-1{top:4px}.top-1\\/2{top:50%}.top-2{top:8px}.-z-10{z-index:-10}.-z-20{z-index:-20}.z-1{z-index:1}.z-10,.z-hotspot{z-index:10}.z-overlay{z-index:30}.z-zoomed-image{z-index:20}.col-start-3{grid-column-start:3}.mx-1{margin-left:4px;margin-right:4px}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:8px;margin-bottom:8px}.-ml-px{margin-left:-1px}.-mt-px{margin-top:-1px}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.aspect-\\[4\\/3\\]{aspect-ratio:4/3}.aspect-square{aspect-ratio:1 / 1}.size-1{width:4px;height:4px}.size-12{width:48px;height:48px}.size-20{width:80px;height:80px}.size-4{width:16px;height:16px}.size-5{width:20px;height:20px}.size-8{width:32px;height:32px}.size-\\[78px\\]{width:78px;height:78px}.size-full{width:100%;height:100%}.h-1{height:4px}.h-10{height:40px}.h-20{height:80px}.h-3\\/4{height:75%}.h-5{height:20px}.h-8{height:32px}.h-\\[15\\%\\]{height:15%}.h-\\[85\\%\\]{height:85%}.h-full{height:100%}.h-px{height:1px}.max-h-\\[50\\%\\]{max-height:50%}.min-h-0{min-height:0}.min-h-\\[15\\%\\]{min-height:15%}.w-12{width:48px}.w-3\\/5{width:60%}.w-8{width:32px}.w-\\[calc\\(100\\%\\+1024px\\)\\]{width:calc(100% + 1024px)}.w-\\[calc\\(100\\%\\+2px\\)\\]{width:calc(100% + 2px)}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-px{width:1px}.min-w-0{min-width:0}.max-w-40{max-width:160px}.max-w-\\[1600px\\]{max-width:1600px}.max-w-\\[60\\%\\]{max-width:60%}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.origin-top-left{transform-origin:top left}.-translate-x-1\\.5{--tw-translate-x: -6px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-1\\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-1\\.5{--tw-translate-x: 6px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y: 0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-full{--tw-translate-y: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-105{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-scale-x-100{--tw-scale-x: -1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes hotspot-ping{0%{transform:scale(0)}25%{opacity:1}75%,to{transform:scale(1.5);opacity:0}}.animate-hotspot-ping{animation:hotspot-ping 3s cubic-bezier(0,0,.2,1) infinite}@keyframes pulse{50%{opacity:1}0%,to{opacity:0}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-rotation{animation:rotation 1s linear infinite}.cursor-auto{cursor:auto}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-help{cursor:help}.cursor-move{cursor:move}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-\\[auto\\,1fr\\,auto\\]{grid-template-columns:auto 1fr auto}.grid-cols-\\[repeat\\(var\\(--max-items\\)\\,1fr\\)\\]{grid-template-columns:repeat(var(--max-items),1fr)}.flex-col{flex-direction:column}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:4px}.gap-x-1{-moz-column-gap:4px;column-gap:4px}.gap-x-2{-moz-column-gap:8px;column-gap:8px}.gap-x-4{-moz-column-gap:16px;column-gap:16px}.gap-y-1{row-gap:4px}.gap-y-2{row-gap:8px}.gap-y-4{row-gap:16px}.space-x-0\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(2px * var(--tw-space-x-reverse));margin-left:calc(2px * calc(1 - var(--tw-space-x-reverse)))}.space-y-0\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2px * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(4px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(4px * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(8px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(8px * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-scroll{overflow-x:scroll}.text-pretty{text-wrap:pretty}.rounded-carrousel{border-radius:var(--radius-carrousel)}.rounded-full{border-radius:9999px}.rounded-gallery{border-radius:var(--radius-gallery)}.rounded-ui{border-radius:var(--radius-ui)}.rounded-ui-md{border-radius:calc(var(--radius-ui) + 2px)}.rounded-ui-sm{border-radius:calc(var(--radius-ui) - 2px)}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-4{border-width:4px}.border-background{border-color:hsl(var(--background))}.border-foreground{border-color:hsl(var(--foreground))}.border-primary{border-color:hsl(var(--primary))}.border-b-transparent{border-bottom-color:transparent}.bg-background{background-color:hsl(var(--background))}.bg-background\\/25{background-color:hsl(var(--background) / .25)}.bg-background\\/50{background-color:hsl(var(--background) / .5)}.bg-background\\/60{background-color:hsl(var(--background) / .6)}.bg-foreground\\/25{background-color:hsl(var(--foreground) / .25)}.bg-foreground\\/30{background-color:hsl(var(--foreground) / .3)}.bg-foreground\\/35{background-color:hsl(var(--foreground) / .35)}.bg-foreground\\/40{background-color:hsl(var(--foreground) / .4)}.bg-foreground\\/50{background-color:hsl(var(--foreground) / .5)}.bg-foreground\\/60{background-color:hsl(var(--foreground) / .6)}.bg-foreground\\/65{background-color:hsl(var(--foreground) / .65)}.bg-foreground\\/75{background-color:hsl(var(--foreground) / .75)}.bg-neutral\\/50{background-color:hsl(var(--neutral) / .5)}.bg-primary{background-color:hsl(var(--primary))}.bg-primary-foreground{background-color:hsl(var(--primary-foreground))}.bg-primary\\/50{background-color:hsl(var(--primary) / .5)}.bg-transparent{background-color:transparent}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-foreground{--tw-gradient-from: hsl(var(--foreground)) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--foreground) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-0\\.5{padding:2px}.p-1{padding:4px}.p-2{padding:8px}.p-4{padding:16px}.px-1\\.5{padding-left:6px;padding-right:6px}.px-2{padding-left:8px;padding-right:8px}.py-0\\.5{padding-top:2px;padding-bottom:2px}.py-1{padding-top:4px;padding-bottom:4px}.pl-6{padding-left:24px}.pr-12{padding-right:48px}.pr-4{padding-right:16px}.pt-8{padding-top:32px}.text-2xl{font-size:24px;line-height:32px}.text-\\[10px\\]{font-size:10px}.text-sm{font-size:14px;line-height:20px}.text-xl{font-size:20px;line-height:28px}.text-xs{font-size:12px;line-height:16px}.font-bold{font-weight:700}.font-semibold{font-weight:600}.leading-tight{line-height:1.25}.text-background{color:hsl(var(--background))}.text-background\\/75{color:hsl(var(--background) / .75)}.text-foreground{color:hsl(var(--foreground))}.text-foreground\\/65{color:hsl(var(--foreground) / .65)}.text-foreground\\/70{color:hsl(var(--foreground) / .7)}.text-neutral-foreground{color:hsl(var(--neutral-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.invert{--tw-invert: invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\\[width\\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-radius{transition-property:border-radius;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-details{transition-duration:.35s}.no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.no-scrollbar::-webkit-scrollbar{display:none}.\\[mask-image\\:linear-gradient\\(to_left\\,transparent_0px\\,black_4px\\,black_calc\\(100\\%-4px\\)\\,transparent_100\\%\\)\\]{-webkit-mask-image:linear-gradient(to left,transparent 0px,black 4px,black calc(100% - 4px),transparent 100%);mask-image:linear-gradient(to left,transparent 0px,black 4px,black calc(100% - 4px),transparent 100%)}.pnlm-load-button,.pnlm-load-box{display:none!important}.pnlm-container{background-image:none!important}.pnlm-about-msg{width:0;height:0;padding:0;visibility:hidden}.pnlm-about-msg a{display:none;visibility:hidden}.\\*\\:pointer-events-auto>*{pointer-events:auto}.\\*\\:size-full>*{width:100%;height:100%}.\\*\\:snap-start>*{scroll-snap-align:start}.\\*\\:snap-always>*{scroll-snap-stop:always}.\\*\\:object-cover>*{-o-object-fit:cover;object-fit:cover}.after\\:absolute:after{content:var(--tw-content);position:absolute}.after\\:inset-0:after{content:var(--tw-content);inset:0}.after\\:rounded-gallery:after{content:var(--tw-content);border-radius:var(--radius-gallery)}.after\\:border-2:after{content:var(--tw-content);border-width:2px}.after\\:border-primary:after{content:var(--tw-content);border-color:hsl(var(--primary))}.after\\:opacity-0:after{content:var(--tw-content);opacity:0}.after\\:opacity-100:after{content:var(--tw-content);opacity:1}.after\\:transition-all:after{content:var(--tw-content);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.hover\\:z-hotspot-hover:hover{z-index:11}.hover\\:bg-foreground\\/25:hover{background-color:hsl(var(--foreground) / .25)}.hover\\:bg-primary\\/25:hover{background-color:hsl(var(--primary) / .25)}.hover\\:bg-primary\\/30:hover{background-color:hsl(var(--primary) / .3)}.hover\\:bg-transparent:hover{background-color:transparent}.hover\\:opacity-80:hover{opacity:.8}.hover\\:after\\:opacity-70:hover:after{content:var(--tw-content);opacity:.7}.disabled\\:opacity-60:disabled{opacity:.6}.group:hover .group-hover\\:pointer-events-auto{pointer-events:auto}.group\\/volume:hover .group-hover\\/volume\\:opacity-100{opacity:1}.group\\/volume:hover .group-hover\\/volume\\:opacity-50{opacity:.5}.group:hover .group-hover\\:opacity-100{opacity:1}@media((orientation:portrait)and (max-width:767px))or ((orientation:landscape)and (max-width:1023px)){.max-small\\:hidden{display:none}}@media((orientation:portrait)and (min-width:768px))or ((orientation:landscape)and (min-width:1024px)){.small\\:inset-x-2{left:8px;right:8px}.small\\:inset-y-2{top:8px;bottom:8px}.small\\:bottom-2{bottom:8px}.small\\:left-2{left:8px}.small\\:right-2{right:8px}.small\\:right-4{right:16px}.small\\:top-2{top:8px}.small\\:top-4{top:16px}.small\\:my-4{margin-top:16px;margin-bottom:16px}.small\\:hidden{display:none}.small\\:h-12{height:48px}.small\\:h-28{height:112px}.small\\:max-w-48{max-width:192px}.small\\:gap-2{gap:8px}.small\\:gap-x-2{-moz-column-gap:8px;column-gap:8px}.small\\:gap-y-2{row-gap:8px}.small\\:gap-y-4{row-gap:16px}.small\\:space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(4px * var(--tw-space-x-reverse));margin-left:calc(4px * calc(1 - var(--tw-space-x-reverse)))}.small\\:p-3{padding:12px}.small\\:px-2{padding-left:8px;padding-right:8px}.small\\:py-1{padding-top:4px;padding-bottom:4px}.small\\:pl-8{padding-left:32px}.small\\:pr-6{padding-right:24px}.small\\:text-base{font-size:16px;line-height:24px}.small\\:text-sm{font-size:14px;line-height:20px}.small\\:font-bold{font-weight:700}}@media(min-width:1280px){.large\\:h-20{height:80px}.large\\:h-3\\/5{height:60%}.large\\:max-w-56{max-width:224px}.large\\:gap-4{gap:16px}.large\\:p-2{padding:8px}.large\\:p-4{padding:16px}.large\\:text-base{font-size:16px;line-height:24px}.large\\:text-lg{font-size:18px;line-height:28px}}.pnlm-container{margin:0;padding:0;overflow:hidden;position:relative;cursor:default;width:100%;height:100%;font-family:Helvetica,Nimbus Sans L,Liberation Sans,Arial,sans-serif;background:#f4f4f4 url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='67'%20height='100'%20viewBox='0%200%2067%20100'%3e%3cpath%20stroke='%23ccc'%20fill='none'%20d='M33.5,50,0,63,33.5,75,67,63,33.5,50m-33.5-50,67,25m-0.5,0,0,75m-66.5-75,67-25m-33.5,75,0,25m0-100,0,50'/%3e%3c/svg%3e") repeat;-webkit-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none;outline:0;line-height:1.4;contain:content;touch-action:none}.pnlm-container *{box-sizing:content-box}.pnlm-ui{position:absolute;width:100%;height:100%;z-index:1}.pnlm-grab{cursor:grab;cursor:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20height='26'%20width='26'%3e%3cpath%20stroke='%23000'%20stroke-width='1px'%20fill='%23fff'%20d='m15.3%2020.5s6.38-6.73%204.64-8.24-3.47%201.01-3.47%201.01%203.61-5.72%201.41-6.49c-2.2-0.769-3.33%204.36-3.33%204.36s0.873-5.76-1.06-5.76-1.58%205.39-1.58%205.39-0.574-4.59-2.18-4.12c-1.61%200.468-0.572%205.51-0.572%205.51s-1.58-4.89-2.93-3.79c-1.35%201.11%200.258%205.25%200.572%206.62%200.836%202.43%202.03%202.94%202.17%205.55'/%3e%3c/svg%3e") 12 8,default}.pnlm-grabbing{cursor:grabbing;cursor:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20height='26'%20width='26'%3e%3cpath%20stroke='%23000'%20stroke-width='1px'%20fill='%23fff'%20d='m15.3%2020.5s5.07-5.29%203.77-6.74c-1.31-1.45-2.53%200.14-2.53%200.14s2.74-3.29%200.535-4.06c-2.2-0.769-2.52%201.3-2.52%201.3s0.81-2.13-1.12-2.13-1.52%201.77-1.52%201.77-0.261-1.59-1.87-1.12c-1.61%200.468-0.874%202.17-0.874%202.17s-0.651-1.55-2-0.445c-1.35%201.11-0.68%202.25-0.365%203.62%200.836%202.43%202.03%202.94%202.17%205.55'/%3e%3c/svg%3e") 12 8,default}.pnlm-sprite{background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='26'%20height='208'%3e%3ccircle%20fill-opacity='.78'%20cy='117'%20cx='13'%20r='11'%20fill='%23fff'/%3e%3ccircle%20fill-opacity='.78'%20cy='143'%20cx='13'%20r='11'%20fill='%23fff'/%3e%3ccircle%20cy='169'%20cx='13'%20r='7'%20fill='none'%20stroke='%23000'%20stroke-width='2'/%3e%3ccircle%20cy='195'%20cx='13'%20r='7'%20fill='none'%20stroke='%23000'%20stroke-width='2'/%3e%3ccircle%20cx='13'%20cy='195'%20r='2.5'/%3e%3cpath%20d='m5%2083v6h2v-4h4v-2zm10%200v2h4v4h2v-6zm-5%205v6h6v-6zm-5%205v6h6v-2h-4v-4zm14%200v4h-4v2h6v-6z'/%3e%3cpath%20d='m13%20110a7%207%200%200%200%20-7%207%207%207%200%200%200%207%207%207%207%200%200%200%207%20-7%207%207%200%200%200%20-7%20-7zm-1%203h2v2h-2zm0%203h2v5h-2z'/%3e%3cpath%20d='m5%2057v6h2v-4h4v-2zm10%200v2h4v4h2v-6zm-10%2010v6h6v-2h-4v-4zm14%200v4h-4v2h6v-6z'/%3e%3cpath%20d='m17%2038v2h-8v-2z'/%3e%3cpath%20d='m12%209v3h-3v2h3v3h2v-3h3v-2h-3v-3z'/%3e%3cpath%20d='m13%20136-6.125%206.125h4.375v7.875h3.5v-7.875h4.375z'/%3e%3cpath%20d='m10.428%20173.33v-5.77l5-2.89v5.77zm1-1.73%203-1.73-3.001-1.74z'/%3e%3c/svg%3e")}.pnlm-container:fullscreen{height:100%!important;width:100%!important;position:static!important}.pnlm-render-container{cursor:inherit;position:absolute;height:100%;width:100%}.pnlm-controls{margin-top:4px;background-color:#fff;border:1px solid #999;border-color:#0006;border-radius:3px;cursor:pointer;z-index:2;transform:translateZ(9999px)}.pnlm-control:hover{background-color:#f8f8f8}.pnlm-controls-container{position:absolute;top:0;left:4px;z-index:1}.pnlm-zoom-controls{width:26px;height:52px}.pnlm-zoom-in{width:100%;height:50%;position:absolute;top:0;border-radius:3px 3px 0 0}.pnlm-zoom-out{width:100%;height:50%;position:absolute;bottom:0;background-position:0 -26px;border-top:1px solid #ddd;border-top-color:#0000001a;border-radius:0 0 3px 3px}.pnlm-fullscreen-toggle-button,.pnlm-orientation-button,.pnlm-hot-spot-debug-indicator{width:26px;height:26px}.pnlm-hot-spot-debug-indicator{position:absolute;top:50%;left:50%;width:26px;height:26px;margin:-13px 0 0 -13px;background-color:#ffffff80;border-radius:13px;display:none}.pnlm-orientation-button-inactive{background-position:0 -156px}.pnlm-orientation-button-active{background-position:0 -182px}.pnlm-fullscreen-toggle-button-inactive{background-position:0 -52px}.pnlm-fullscreen-toggle-button-active{background-position:0 -78px}.pnlm-panorama-info{position:absolute;bottom:4px;background-color:#000000b3;border-radius:0 3px 3px 0;padding-right:10px;color:#fff;text-align:left;display:none;z-index:2;transform:translateZ(9999px)}.pnlm-title-box{position:relative;font-size:20px;display:table;padding-left:5px;margin-bottom:3px}.pnlm-author-box{position:relative;font-size:12px;display:table;padding-left:5px}.pnlm-load-box{position:absolute;top:50%;left:50%;width:200px;height:150px;margin:-75px 0 0 -100px;background-color:#000000b3;border-radius:3px;text-align:center;font-size:20px;display:none;color:#fff}.pnlm-load-box p{margin:20px 0}.pnlm-lbox{position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;display:none}.pnlm-loading{animation-duration:1.5s;-webkit-animation-duration:1.5s;animation-name:pnlm-mv;-webkit-animation-name:pnlm-mv;animation-iteration-count:infinite;-webkit-animation-iteration-count:infinite;animation-timing-function:linear;-webkit-animation-timing-function:linear;height:10px;width:10px;background-color:#fff;position:relative}@keyframes pnlm-mv{0%{left:0;top:0}25%{left:10px;top:0}50%{left:10px;top:10px}75%{left:0;top:10px}to{left:0;top:0}}.pnlm-load-button{position:absolute;top:50%;left:50%;width:200px;height:100px;margin:-50px 0 0 -100px;background-color:#000000b3;border-radius:3px;text-align:center;font-size:20px;display:table;color:#fff;cursor:pointer}.pnlm-load-button:hover{background-color:#000c}.pnlm-load-button p{display:table-cell;vertical-align:middle}.pnlm-info-box{font-size:15px;position:absolute;top:50%;left:50%;width:200px;height:150px;margin:-75px 0 0 -100px;background-color:#000;border-radius:3px;display:table;text-align:center;color:#fff;table-layout:fixed}.pnlm-info-box a{color:#fff;word-wrap:break-word;overflow-wrap:break-word}.pnlm-info-box p{display:table-cell;vertical-align:middle;padding:0 5px}.pnlm-error-msg{display:none}.pnlm-about-msg{font-size:11px;line-height:11px;color:#fff;padding:5px 8px;background:#000000b3;border-radius:3px;position:absolute;top:50px;left:50px;display:none;opacity:0;transition:opacity .3s ease-in-out;z-index:1}.pnlm-about-msg a:link,.pnlm-about-msg a:visited{color:#fff}.pnlm-about-msg a:hover,.pnlm-about-msg a:active{color:#eee}.pnlm-hotspot-base{position:absolute;visibility:hidden;cursor:default;vertical-align:middle;top:0;z-index:1}.pnlm-hotspot{height:26px;width:26px;border-radius:13px}.pnlm-hotspot:hover{background-color:#fff3}.pnlm-hotspot.pnlm-info{background-position:0 -104px}.pnlm-hotspot.pnlm-scene{background-position:0 -130px}div.pnlm-tooltip span{visibility:hidden;position:absolute;border-radius:3px;background-color:#000000b3;color:#fff;text-align:center;max-width:200px;padding:5px 10px;margin-left:-220px;cursor:default}div.pnlm-tooltip:hover span{visibility:visible}div.pnlm-tooltip:hover span:after{content:"";position:absolute;width:0;height:0;border-width:10px;border-style:solid;border-color:rgba(0,0,0,.7) transparent transparent transparent;bottom:-20px;left:-10px;margin:0 50%}.pnlm-compass{position:absolute;width:50px;height:50px;right:4px;bottom:4px;border-radius:25px;background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20height='50'%20width='50'%3e%3cpath%20d='m24.5078%206-3.2578%2018h7.5l-3.25781-18h-0.984376zm-3.2578%2020%203.2578%2018h0.9844l3.2578-18h-7.5zm1.19531%200.9941h5.10938l-2.5547%2014.1075-2.5547-14.1075z'/%3e%3c/svg%3e");cursor:default;display:none}.pnlm-world{position:absolute;left:50%;top:50%}.pnlm-face{position:absolute;transform-origin:0 0 0}.pnlm-dragfix,.pnlm-preview-img{position:absolute;height:100%;width:100%}.pnlm-preview-img{background-size:cover;background-position:center}.pnlm-lbar{width:150px;margin:0 auto;border:#fff 1px solid;height:6px}.pnlm-lbar-fill{background:#fff;height:100%;width:0}.pnlm-lmsg{font-size:12px}.pnlm-fade-img{position:absolute;top:0;left:0}.pnlm-pointer{cursor:pointer}#textInfo .tooltip-content{font-size:1.6em;position:absolute;left:-70px;bottom:80px;width:200px;pointer-events:none;background-color:#333;color:#fff;line-height:1.2em;padding:.8em;opacity:0;transform-origin:50% calc(100% + 6em);transform:rotate3d(0,0,1,15deg);transition:opacity .5s,transform .5s;transition-timing-function:ease,cubic-bezier(.17,.67,.4,1.39)}#textInfo:hover{z-index:3}#textInfo:hover .tooltip-content{opacity:1;pointer-events:all;transform:translateZ(0) rotate3d(0,0,0,0)}#textInfo .hotspot{cursor:pointer;box-sizing:border-box}#textInfo .hotspot .out:before{speak:none;font-size:48px;line-height:90px;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;display:block;-webkit-font-smoothing:antialiased}#textInfo .hotspot .out{width:60px;height:60px;border-radius:50%;border:5px solid rgba(255,255,255,.8);transition:transform ease-out .1s,border .2s;box-sizing:border-box}#textInfo .hotspot .in{width:40px;height:40px;position:absolute;top:10px;left:10px;background-color:#fffc;border-radius:50%;transition:transform ease-out .1s,background .2s}#textInfo .hotspot .out:after{top:0;left:0;padding:0;z-index:-1;box-shadow:0 0 0 2px #ffffff1a;opacity:0;pointer-events:none;position:absolute;width:100%;height:100%;border-radius:50%;content:"";box-sizing:content-box;transform:scale(.9)}#textInfo .hotspot:hover .out{border:5px solid rgba(255,255,255,1);transform:scale(.9);color:#fff}#textInfo .hotspot:hover .in{background-color:#fff;transform:scale(.8)}#textInfo .hotspot:hover .out:after{animation:sonarEffect 1.2s ease-out}@keyframes sonarEffect{0%{opacity:.5}20%{opacity:.8;box-shadow:0 0 0 2px #ffffff1a,0 0 10px 10px #25aae1cc,0 0 0 10px #ffffff80}to{box-shadow:0 0 0 2px #ffffff1a,0 0 10px 10px #25aae1cc,0 0 0 10px #ffffff80;transform:scale(1.5);opacity:0}}`;function ts(t){return t.replace(/([a-z0-9])([A-Z])/g,(s,l,f)=>`${l}-${f.toLowerCase()}`)}function Vt(t){return Object.entries(t).reduce((s,[l,f])=>{if(f!==void 0){const d=ts(l);s[d]=f.toString()}return s},{})}const ns=t=>n.jsxs(n.Fragment,{children:[n.jsx("style",{children:es}),n.jsx(qo,{...t})]}),rs=t=>Vt(t),os=t=>Vt(t),ss=t=>Vt(t),as=({onCompositionLoading:t,onCompositionLoaded:s,onCompositionLoadError:l,onItemChange:f,onExtendModeOn:d,onExtendModeOff:c,onHotspotsOn:x,onHotspotsOff:e,onGalleryOpen:L,onGalleryClose:k,onAnalyticsLoad:j,onAnalyticsDisplay:M,onAnalyticsInteraction:h,onAnalyticsError:o,className:y,style:N={},children:_,...w})=>{const E=a.useMemo(()=>{const C=rs(w);return y&&Object.assign(C,{class:y}),C},[y,w]);return a.useEffect(()=>{const C=w.eventPrefix??Dt,p=w.analyticsEventPrefix??an,b=R=>`${C}${R}`,P=R=>`${p}${R}`,$={[Tt]:t,[St]:s,[Nt]:l,[Pt]:f,[Rt]:d,[jt]:c,[gt]:x,[vt]:e,[At]:L,[zt]:k},T={[tn]:j,[nn]:M,[rn]:h,[on]:o},V=new Map,G=new Map;return Object.entries($).forEach(([R,Z])=>{if(!Z)return;const S=b(R),Y=ae=>Z(ae.detail);V.set(S,Y),document.addEventListener(S,Y)}),Object.entries(T).forEach(([R,Z])=>{if(!Z)return;const S=P(R),Y=ae=>Z(ae.detail);G.set(S,Y),document.addEventListener(S,Y)}),()=>{V.forEach((R,Z)=>{document.removeEventListener(Z,R)}),G.forEach((R,Z)=>{document.removeEventListener(Z,R)})}},[w.eventPrefix,t,s,l,f,d,c,x,e,L,k,w.analyticsEventPrefix,j,M,h,o]),n.jsx("cc-webplayer",{style:{display:"block",...N},...E,children:_})},is=({children:t,...s})=>{const l=os(s);return n.jsx("cc-webplayer-custom-media",{...l,children:t})},ls=({children:t,...s})=>{const l=ss(s);return n.jsx("cc-webplayer-icon",{...l,children:t})};exports.ANALYTICS_EVENT_DISPLAY=nn;exports.ANALYTICS_EVENT_ERROR=on;exports.ANALYTICS_EVENT_INTERACTION=rn;exports.ANALYTICS_EVENT_LOAD=tn;exports.DEFAULT_EVENT_PREFIX=Dt;exports.EVENT_COMPOSITION_LOADED=St;exports.EVENT_COMPOSITION_LOADING=Tt;exports.EVENT_COMPOSITION_LOAD_ERROR=Nt;exports.EVENT_EXTEND_MODE_OFF=jt;exports.EVENT_EXTEND_MODE_ON=Rt;exports.EVENT_GALLERY_CLOSE=zt;exports.EVENT_GALLERY_OPEN=At;exports.EVENT_HOTSPOTS_OFF=vt;exports.EVENT_HOTSPOTS_ON=gt;exports.EVENT_ITEM_CHANGE=Pt;exports.WEB_PLAYER_CUSTOM_MEDIA_WC_TAG=It;exports.WEB_PLAYER_ICON_WC_TAG=_t;exports.WEB_PLAYER_WC_TAG=xt;exports.WebPlayer=as;exports.WebPlayerCustomMedia=$o;exports.WebPlayerCustomMedia$1=is;exports.WebPlayerIcon=Qo;exports.WebPlayerIcon$1=ls;exports.WebPlayerWithInjectedStyles=ns;exports.checkCustomElementsDefinition=ar;exports.generateCompositionUrl=tr;
|