PageSourceSearch

https://www.ftu.org.hk/_nuxt/skxs2esw.js

js ftu.org.hk collected 2026-09-25 04:50:09 UTC 18,871 bytes, 1 lines download raw bytes

vendor: 4,701 bytes, line 1
1import{s as j,d as V,S as W}from"./C43kgiy-.js";import{i as g,a$ as R,S as $,k as M,ao as A,aO as S,b0 as q,c as G,af as P,Q as K}from"./D1FcBL9p.js";const L=["eventsPrefix","injectStyles","injectStylesUrls","modules","init","_direction","oneWayMovement","swiperElementNodeName","touchEventsTarget","initialSlide","_speed","cssMode","updateOnWindowResize","resizeObserver","nested","focusableElements","_enabled","_width","_height","preventInteractionOnTransition","userAgent","url","_edgeSwipeDetection","_edgeSwipeThreshold","_freeMode","_autoHeight","setWrapperSize","virtualTranslate","_effect","breakpoints","breakpointsBase","_spaceBetween","_slidesPerView","maxBackfaceHiddenSlides","_grid","_slidesPerGroup","_slidesPerGroupSkip","_slidesPerGroupAuto","_centeredSlides","_centeredSlidesBounds","_slidesOffsetBefore","_slidesOffsetAfter","normalizeSlideIndex","_centerInsufficientSlides","_watchOverflow","roundLengths","touchRatio","touchAngle","simulateTouch","_shortSwipes","_longSwipes","longSwipesRatio","longSwipesMs","_followFinger","allowTouchMove","_threshold","touchMoveStopPropagation","touchStartPreventDefault","touchStartForcePreventDefault","touchReleaseOnEdges","uniqueNavElements","_resistance","_resistanceRatio","_watchSlidesProgress","_grabCursor","preventClicks","preventClicksPropagation","_slideToClickedSlide","_loop","loopAdditionalSlides","loopAddBlankSlides","loopPreventsSliding","_rewind","_allowSlidePrev","_allowSlideNext","_swipeHandler","_noSwiping","noSwipingClass","noSwipingSelector","passiveListeners","containerModifierClass","slideClass","slideActiveClass","slideVisibleClass","slideFullyVisibleClass","slideNextClass","slidePrevClass","slideBlankClass","wrapperClass","lazyPreloaderClass","lazyPreloadPrevNext","runCallbacksOnInit","observer","observeParents","observeSlideChildren","a11y","_autoplay","_controller","coverflowEffect","cubeEffect","fadeEffect","flipEffect","creativeEffect","cardsEffect","hashNavigation","history","keyboard","mousewheel","_navigation","_pagination","parallax","_scrollbar","_thumbs","virtual","zoom","control"];function B(e){return typeof e=="object"&&e!==null&&e.constructor&&Object.prototype.toString.call(e).slice(8,-1)==="Object"&&!e.__swiper__}function x(e,o){const l=["__proto__","constructor","prototype"];Object.keys(o).filter(n=>l.indexOf(n)<0).forEach(n=>{typeof e[n]>"u"?e[n]=o[n]:B(o[n])&&B(e[n])&&Object.keys(o[n]).length>0?o[n].__swiper__?e[n]=o[n]:x(e[n],o[n]):e[n]=o[n]})}function D(e={}){return e.navigation&&typeof e.navigation.nextEl>"u"&&typeof e.navigation.prevEl>"u"}function F(e={}){return e.pagination&&typeof e.pagination.el>"u"}function U(e={}){return e.scrollbar&&typeof e.scrollbar.el>"u"}function H(e=""){const o=e.split(" ").map(n=>n.trim()).filter(n=>!!n),l=[];return o.forEach(n=>{l.indexOf(n)<0&&l.push(n)}),l.join(" ")}function Q(e=""){return e?e.includes("swiper-wrapper")?e:`swiper-wrapper ${e}`:"swiper-wrapper"}function Z({swiper:e,slides:o,passedParams:l,changedParams:n,nextEl:s,prevEl:r,scrollbarEl:u,paginationEl:f}){const t=n.filter(a=>a!=="children"&&a!=="direction"&&a!=="wrapperClass"),{params:d,pagination:i,navigation:p,scrollbar:v,virtual:b,thumbs:w}=e;let C,m,_,y,N,T,E,O;n.includes("thumbs")&&l.thumbs&&l.thumbs.swiper&&!l.thumbs.swiper.destroyed&&d.thumbs&&(!d.thumbs.swiper||d.thumbs.swiper.destroyed)&&(C=!0),n.includes("controller")&&l.controller&&l.controller.control&&d.controller&&!d.controller.control&&(m=!0),n.includes("pagination")&&l.pagination&&(l.pagination.el||f)&&(d.pagination||d.pagination===!1)&&i&&!i.el&&(_=!0),n.includes("scrollbar")&&l.scrollbar&&(l.scrollbar.el||u)&&(d.scrollbar||d.scrollbar===!1)&&v&&!v.el&&(y=!0),n.includes("navigation")&&l.navigation&&(l.navigation.prevEl||r)&&(l.navigation.nextEl||s)&&(d.navigation||d.navigation===!1)&&p&&!p.prevEl&&!p.nextEl&&(N=!0);const c=a=>{e[a]&&(e[a].destroy(),a==="navigation"?(e.isElement&&(e[a].prevEl.remove(),e[a].nextEl.remove()),d[a].prevEl=void 0,d[a].nextEl=void 0,e[a].prevEl=void 0,e[a].nextEl=void 0):(e.isElement&&e[a].el.remove(),d[a].el=void 0,e[a].el=void 0))};n.includes("loop")&&e.isElement&&(d.loop&&!l.loop?T=!0:!d.loop&&l.loop?E=!0:O=!0),t.forEach(a=>{if(B(d[a])&&B(l[a]))Object.assign(d[a],l[a]),(a==="navigation"||a==="pagination"||a==="scrollbar")&&"enabled"in l[a]&&!l[a].enabled&&c(a);else{const h=l[a];(h===!0||h===!1)&&(a==="navigation"||a==="pagination"||a==="scrollbar")?h===!1&&c(a):d[a]=l[a]}}),t.includes("controller")&&!m&&e.controller&&e.controller.control&&d.controller&&d.controller.control&&(e.controller.control=d.controller.control),n.includes("children")&&o&&b&&d.virtual.enabled?(b.slides=o,b.update(!0)):n.includes("virtual")&&b&&d.virtual.enabled&&(o&&
1(b.slides=o),b.update(!0)),n.includes("children")&&o&&d.loop&&(O=!0),C&&w.init()&&w.update(!0),m&&(e.controller.control=d.controller.control),_&&(e.isElement&&(!f||typeof f=="string")&&(f=document.createElement("div"),f.classList.add("swiper-pagination"),f.part.add("pagination"),e.el.appendChild(f)),f&&(d.pagination.el=f),i.init(),i.render(),i.update()),y&&(e.isElement&&(!u||typeof u=="string")&&(u=document.createElement("div"),u.classList.add("swiper-scrollbar"),u.part.add("scrollbar"),e.el.appendChild(u)),u&&(d.scrollbar.el=u),v.init(),v.updateSize(),v.setTranslate()),N&&(e.isElement&&((!s||typeof s=="string")&&(s=document.createElement("div"),s.classList.add("swiper-button-next"),j(s,e.navigation.arrowSvg),s.part.add("button-next"),e.el.appendChild(s)),(!r||typeof r=="string")&&(r=document.createElement("div"),r.classList.add("swiper-button-prev"),j(r,e.navigation.arrowSvg),r.part.add("button-prev"),e.el.appendChild(r))),s&&(d.navigation.nextEl=s),r&&(d.navigation.prevEl=r),p.init(),p.update()),n.includes("allowSlideNext")&&(e.allowSlideNext=l.allowSlideNext),n.includes("allowSlidePrev")&&(e.allowSlidePrev=l.allowSlidePrev),n.includes("direction")&&e.changeDirection(l.direction,!1),(T||O)&&e.loopDestroy(),(E||O)&&e.loopCreate(),e.update()}function I(e={},o=!0){const l={on:{}},n={},s={};x(l,V),l._emitClasses=!0,l.init=!1;const r={},u=L.map(t=>t.replace(/_/,"")),f=Object.assign({},e);return Object.keys(f).forEach(t=>{typeof e[t]>"u"||(u.indexOf(t)>=0?B(e[t])?(l[t]={},s[t]={},x(l[t],e[t]),x(s[t],e[t])):(l[t]=e[t],s[t]=e[t]):t.search(/on[A-Z]/)===0&&typeof e[t]=="function"?o?n[`${t[2].toLowerCase()}${t.substr(3)}`]=e[t]:l.on[`${t[2].toLowerCase()}${t.substr(3)}`]=e[t]:r[t]=e[t])}),["navigation","pagination","scrollbar"].forEach(t=>{l[t]===!0&&(l[t]={}),l[t]===!1&&delete l[t]}),{params:l,passedParams:s,rest:r,events:n}}function J({el:e,nextEl:o,prevEl:l,paginationEl:n,scrollbarEl:s,swiper:r},u){D(u)&&o&&l&&(r.params.navigation.nextEl=o,r.originalParams.navigation.nextEl=o,r.params.navigation.prevEl=l,r.originalParams.navigation.prevEl=l),F(u)&&n&&(r.params.pagination.el=n,r.originalParams.pagination.el=n),U(u)&&s&&(r.params.scrollbar.el=s,r.originalParams.scrollbar.el=s),r.init(e)}function X(e,o,l,n,s){const r=[];if(!o)return r;const u=t=>{r.indexOf(t)<0&&r.push(t)};if(l&&n){const t=n.map(s),d=l.map(s);t.join("")!==d.join("")&&u("children"),n.length!==l.length&&u("children")}return L.filter(t=>t[0]==="_").map(t=>t.replace(/_/,"")).forEach(t=>{if(t in e&&t in o)if(B(e[t])&&B(o[t])){const d=Object.keys(e[t]),i=Object.keys(o[t]);d.length!==i.length?u(t):(d.forEach(p=>{e[t][p]!==o[t][p]&&u(t)}),i.forEach(p=>{e[t][p]!==o[t][p]&&u(t)}))}else e[t]!==o[t]&&u(t)}),r}const Y=e=>{!e||e.destroyed||!e.params.virtual||e.params.virtual&&!e.params.virtual.enabled||(e.updateSlides(),e.updateProgress(),e.updateSlidesClasses(),e.emit("_virtualUpdated"),e.parallax&&e.params.parallax&&e.params.parallax.enabled&&e.parallax.setTranslate())};function z(e={},o,l){const n=[],s={"container-start":[],"container-end":[],"wrapper-start":[],"wrapper-end":[]},r=(u,f)=>{Array.isArray(u)&&u.forEach(t=>{const d=typeof t.type=="symbol";f==="default"&&(f="container-end"),d&&t.children?r(t.children,f):t.type&&(t.type.name==="SwiperSlide"||t.type.name==="AsyncComponentWrapper")||t.componentOptions&&t.componentOptions.tag==="SwiperSlide"?n.push(t):s[f]&&s[f].push(t)})};return Object.keys(e).forEach(u=>{if(typeof e[u]!="function")return;const f=e[u]();r(f,u)}
1),l.value=o.value,o.value=n,{slides:n,slots:s}}function k(e,o,l){if(!l)return null;const n=i=>{let p=i;return i<0?p=o.length+i:p>=o.length&&(p=p-o.length),p},s=e.value.isHorizontal()?{[e.value.rtlTranslate?"right":"left"]:`${l.offset}px`}:{top:`${l.offset}px`},{from:r,to:u}=l,f=e.value.params.loop?-o.length:0,t=e.value.params.loop?o.length*2:o.length,d=[];for(let i=f;i<t;i+=1)i>=r&&i<=u&&d.length<o.length&&d.push(o[n(i)]);return d.map(i=>{if(i.props||(i.props={}),i.props.style||(i.props.style={}),i.props.swiperRef=e,i.props.style=s,i.type)return S(i.type,{...i.props},i.children);if(i.componentOptions)return S(i.componentOptions.Ctor,{...i.props},i.componentOptions.children)})}const ne={name:"Swiper",props:{tag:{type:String,default:"div"},wrapperTag:{type:String,default:"div"},modules:{type:Array,default:void 0},init:{type:Boolean,default:void 0},direction:{type:String,default:void 0},oneWayMovement:{type:Boolean,default:void 0},swiperElementNodeName:{type:String,default:"SWIPER-CONTAINER"},touchEventsTarget:{type:String,default:void 0},initialSlide:{type:Number,default:void 0},speed:{type:Number,default:void 0},cssMode:{type:Boolean,default:void 0},updateOnWindowResize:{type:Boolean,default:void 0},resizeObserver:{type:Boolean,default:void 0},nested:{type:Boolean,default:void 0},focusableElements:{type:String,default:void 0},width:{type:Number,default:void 0},height:{type:Number,default:void 0},preventInteractionOnTransition:{type:Boolean,default:void 0},userAgent:{type:String,default:void 0},url:{type:String,default:void 0},edgeSwipeDetection:{type:[Boolean,String],default:void 0},edgeSwipeThreshold:{type:Number,default:void 0},autoHeight:{type:Boolean,default:void 0},setWrapperSize:{type:Boolean,default:void 0},virtualTranslate:{type:Boolean,default:void 0},effect:{type:String,default:void 0},breakpoints:{type:Object,default:void 0},breakpointsBase:{type:String,default:void 0},spaceBetween:{type:[Number,String],default:void 0},slidesPerView:{type:[Number,String],default:void 0},maxBackfaceHiddenSlides:{type:Number,default:void 0},slidesPerGroup:{type:Number,default:void 0},slidesPerGroupSkip:{type:Number,default:void 0},slidesPerGroupAuto:{type:Boolean,default:void 0},centeredSlides:{type:Boolean,default:void 0},centeredSlidesBounds:{type:Boolean,default:void 0},slidesOffsetBefore:{type:Number,default:void 0},slidesOffsetAfter:{type:Number,default:void 0},normalizeSlideIndex:{type:Boolean,default:void 0},centerInsufficientSlides:{type:Boolean,default:void 0},watchOverflow:{type:Boolean,default:void 0},roundLengths:{type:Boolean,default:void 0},touchRatio:{type:Number,default:void 0},touchAngle:{type:Number,default:void 0},simulateTouch:{type:Boolean,default:void 0},shortSwipes:{type:Boolean,default:void 0},longSwipes:{type:Boolean,default:void 0},longSwipesRatio:{type:Number,default:void 0},longSwipesMs:{type:Number,default:void 0},followFinger:{type:Boolean,default:void 0},allowTouchMove:{type:Boolean,default:void 0},threshold:{type:Number,default:void 0},touchMoveStopPropagation:{type:Boolean,default:void 0},touchStartPreventDefault:{type:Boolean,default:void 0},touchStartForcePreventDefault:{type:Boolean,default:void 0},touchReleaseOnEdges:{type:Boolean,default:void 0},uniqueNavElements:{type:Boolean,default:void 0},resistance:{type:Boolean,default:void 0},resistanceRatio:{type:Number,default:void 0},watchSlidesProgress:{type:Boolean,default:void 0},grabCursor:{type:Boolean,default:void 0},preventClicks:{type:Boolean,default:void 0},preventClicksPropagation:{type:Boolean,default:void 0},slideToClickedSlide:{type:Boolean,default:void 0},loop:{type:Boolean,default:void 0},loopedSlides:{type:Number,default:void 0},loopPreventsSliding:{type:Boolean,default:void 0},loopAdditionalSlides:{type:Number,default:void 0},loopAddBlankSlides:{type:Boolean,default:void 0},rewind:{type:Boolean,default:void 0},allowSlidePrev:{type:Boolean,default:void 0},allowSlideNext:{type:Boolean,default:void 0},swipeHandler:{type:Boolean,default:void 0},noSwiping:{type:Boolean,default:void 0},noSwipingClass:{type:String,default:void 0},noSwipingSelector:{type:String,default:void 0},passiveListeners:{type:Boolean,default:void 0},containerModifierClass:{type:String,default:void 0},slideClass:{type:String,default:void 0},slideActiveClass:{type:String,default:void 0},slideVisibleClass:{type:String,default:void 0},slideFullyVisibleClass:{type:String,default:void 0},slideBlankClass:{type:String,default:void 0},slideNextClass:{type:String,default:void 0},slidePrevClass:{type:String,default:void 0},wrapperClass:{type:String,default:void 0},lazyPreloaderClass:{type:String,default:void 0},lazyPreloadPrevNext:{type:Number,default:void 0},runCallbacksOnInit:{type:Boolean,default:void 0},observer:{type:Boolean,default:void 0},observeParents:{type:Boolean,default:void 0},observeSlideChildren:{type:Boolean,default:void 0},a11y:{type:[Boolean,Object],default:void 0},autoplay:{type:[Boolean,Object],default:void 0},controller:{type:Object,default:void 0},coverflowEffect:{type:Object,default:void 0},cubeEffect:{type:Object,default:void 0},fadeEffect:{type:Object,default:void 0},flipEffect:{type:Object,default:void 0},creativeEffect:{type:Object,default:void 0},cardsEffect:{type:Object,default:void 0},hashNavigation:{type:[Boolean,Object],default:void 0},history:{type:[Boolean,Object],default:void 0},keyboard:{type:[Boolean,Object],default:void 0},mousewheel:{type:[Boolean,Object],default:void 0},navigation:{type:[Boolean,Object],default:void 0},pagination:{type:[Boolean,Object],default:void 0},parallax:{type:[Boolean,Object],default:void 0},scrollbar:{type:[Boolean,Object],default:void 0},thumbs:{type:Object,default:void 0},virtual:{type:[Boolean,Object],default:void 0},zoom:{type:[Boolean,Object],default:void 0},grid:{type:[Object],default:void 0},freeMode:{type:[Boolean,Object],default:void 0},enabled:{type:Boolean,default:void 0}},emits:["_beforeBreakpoint","_containerClasses","_slideClass","_slideClasses","_swiper","_freeModeNoMomentumRelease","_virtualUpdated","activeIndexChange","afterInit","autoplay","autoplayStart","autoplayStop","auto
1playPause","autoplayResume","autoplayTimeLeft","beforeDestroy","beforeInit","beforeLoopFix","beforeResize","beforeSlideChangeStart","beforeTransitionStart","breakpoint","changeDirection","click","disable","doubleTap","doubleClick","destroy","enable","fromEdge","hashChange","hashSet","init","keyPress","lock","loopFix","momentumBounce","navigationHide","navigationShow","navigationPrev","navigationNext","observerUpdate","orientationchange","paginationHide","paginationRender","paginationShow","paginationUpdate","progress","reachBeginning","reachEnd","realIndexChange","resize","scroll","scrollbarDragEnd","scrollbarDragMove","scrollbarDragStart","setTransition","setTranslate","slidesUpdated","slideChange","slideChangeTransitionEnd","slideChangeTransitionStart","slideNextTransitionEnd","slideNextTransitionStart","slidePrevTransitionEnd","slidePrevTransitionStart","slideResetTransitionStart","slideResetTransitionEnd","sliderMove","sliderFirstMove","slidesLengthChange","slidesGridLengthChange","snapGridLengthChange","snapIndexChange","swiper","tap","toEdge","touchEnd","touchMove","touchMoveOpposite","touchStart","transitionEnd","transitionStart","unlock","update","virtualUpdate","zoomChange"],setup(e,{slots:o,emit:l}){const{tag:n,wrapperTag:s}=e,r=g("swiper"),u=g(null),f=g(!1),t=g(!1),d=g(null),i=g(null),p=g(null),v={value:[]},b={value:[]},w=g(null),C=g(null),m=g(null),_=g(null),{params:y,passedParams:N}=I(e,!1);z(o,v,b),p.value=N,b.value=v.value;const T=()=>{z(o,v,b),f.value=!0};y.onAny=(c,...a)=>{l(c,...a)},Object.assign(y.on,{_beforeBreakpoint:T,_containerClasses(c,a){r.value=a}});const E={...y};if(delete E.wrapperClass,i.value=new W(E),i.value.virtual&&i.value.params.virtual.enabled){i.value.virtual.slides=v.value;const c={cache:!1,slides:v.value,renderExternal:a=>{u.value=a},renderExternalUpdate:!1};x(i.value.params.virtual,c),x(i.value.originalParams.virtual,c)}R(()=>{!t.value&&i.value&&(i.value.emitSlidesClasses(),t.value=!0);const{passedParams:c}=I(e,!1),a=X(c,p.value,v.value,b.value,h=>h.props&&h.props.key);p.value=c,(a.length||f.value)&&i.value&&!i.value.destroyed&&Z({swiper:i.value,slides:v.value,passedParams:c,changedParams:a,nextEl:w.value,prevEl:C.value,scrollbarEl:_.value,paginationEl:m.value}),f.value=!1}),P("swiper",i),$(u,()=>{K(()=>{Y(i.value)})}),M(()=>{d.value&&(J({el:d.value,nextEl:w.value,prevEl:C.value,paginationEl:m.value,scrollbarEl:_.value,swiper:i.value},y),l("swiper",i.value))}),A(()=>{i.value&&!i.value.destroyed&&i.value.destroy(!0,!1)});function O(c){return y.virtual?k(i,c,u.value):(c.forEach((a,h)=>{a.props||(a.props={}),a.props.swiperRef=i,a.props.swiperSlideIndex=h}),c)}return()=>{const{slides:c,slots:a}=z(o,v,b);return S(n,{ref:d,class:H(r.value)},[a["container-start"],S(s,{class:Q(y.wrapperClass)},[a["wrapper-start"],O(c),a["wrapper-end"]]),D(e)&&[S("div",{ref:C,class:"swiper-button-prev"}),S("div",{ref:w,class:"swiper-button-next"})],U(e)&&S("div",{ref:_,class:"swiper-scrollbar"}),F(e)&&S("div",{ref:m,class:"swiper-pagination"}),a["container-end"]])}}},le={name:"SwiperSlide",props:{tag:{type:String,default:"div"},swiperRef:{type:Object,required:!1},swiperSlideIndex:{type:Number,default:void 0,required:!1},zoom:{type:Boolean,default:void 0,required:!1},lazy:{type:Boolean,default:!1,required:!1},virtualIndex:{type:[String,Number],default:void 0}},setup(e,{slots:o}){let l=!1;const{swiperRef:n}=e,s=g(null),r=g("swiper-slide"),u=g(!1);function f(i,p,v){p===s.value&&(r.value=v)}M(()=>{!n||!n.value||(n.value.on("_slideClass",f),l=!0)}),q(()=>{l||!n||!n.value||(n.value.on("_slideClass",f),l=!0)}),R(()=>{!s.value||!n||!n.value||(typeof e.swiperSlideIndex<"u"&&(s.value.swiperSlideIndex=e.swiperSlideIndex),n.value.destroyed&&r.value!=="swiper-slide"&&(r.value="swiper-slide"))}),A(()=>{!n||!n.value||n.value.off("_slideClass",f)});const t=G(()=>({isActive:r.value.indexOf("swiper-slide-active")>=0,isVisible:r.value.indexOf("swiper-slide-visible")>=0,isPrev:r.value.indexOf("swiper-slide-prev")>=0,isNext:r.value.indexOf("swiper-slide-next")>=0}));P("swiperSlide",t);const d=()=>{u.value=!0};return()=>S(e.tag,{class:H(`${r.value}`),ref:s,"data-swiper-slide-index":typeof e.virtualIndex>"u"&&n&&n.value&&n.value.params.loop?e.swiperSlideIndex:e.virtualIndex,onLoadCapture:d},e.zoom?S("div",{class:"swiper-zoom-container","data-swiper-zoom":typeof e.zoom=="number"?e.zoom:void 0},[o.default&&o.default(t.value),e.lazy&&!u.value&&S("div",{class:"swiper-lazy-preloader"})]):[o.default&&o.default(t.value),e.lazy&&!u.value&&S("div",{class:"swiper-lazy-preloader"})])}};export{ne as S,le as a};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.