PageSourceSearch

https://cyberwise.ie/assets/index-BrKtQF0e.js

js cyberwise.ie collected 2026-10-07 11:58:15 UTC 1,158,007 bytes, 541 lines download raw bytes

vendor: 6,287 bytes, lines 1-9
1var iN=Object.defineProperty;var uf=e=>{throw TypeError(e)};var oN=(e,t,r)=>t in e?iN(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var Hr=(e,t,r)=>oN(e,typeof t!="symbol"?t+"":t,r),$d=(e,t,r)=>t.has(e)||uf("Cannot "+r);var A=(e,t,r)=>($d(e,t,"read from private field"),r?r.call(e):t.get(e)),ue=(e,t,r)=>t.has(e)?uf("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),re=(e,t,r,s)=>($d(e,t,"write to private field"),s?s.call(e,r):t.set(e,r),r),at=(e,t,r)=>($d(e,t,"access private method"),r);var tl=(e,t,r,s)=>({set _(a){re(e,t,a,r)},get _(){return A(e,t,s)}});function lN(e,t){for(var r=0;r<t.length;r++){const s=t[r];if(typeof s!="string"&&!Array.isArray(s)){for(const a in s)if(a!=="default"&&!(a in e)){const i=Object.getOwnPropertyDescriptor(s,a);i&&Object.defineProperty(e,a,i.get?i:{enumerable:!0,get:()=>s[a]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))s(a);new MutationObserver(a=>{for(const i of a)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&s(o)}).observe(document,{childList:!0,subtree:!0});function r(a){const i={};return a.integrity&&(i.integrity=a.integrity),a.referrerPolicy&&(i.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?i.credentials="include":a.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function s(a){if(a.ep)return;a.ep=!0;const i=r(a);fetch(a.href,i)}})();function Mo(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Uy={exports:{}},zc={},By={exports:{}},ie={};/**
2 * @license React
3 * react.production.min.js
4 *
5 * Copyright (c) Facebook, Inc. and its affiliates.
6 *
7 * This source code is licensed under the MIT license found in the
8 * LICENSE file in the root directory of this source tree.
9 */var Lo=Symbol.for("react.element"),cN=Symbol.for("react.portal"),dN=Symbol.for("react.fragment"),uN=Symbol.for("react.strict_mode"),hN=Symbol.for("react.profiler"),mN=Symbol.for("react.provider"),pN=Symbol.for("react.context"),fN=Symbol.for("react.forward_ref"),gN=Symbol.for("react.suspense"),xN=Symbol.for("react.memo"),yN=Symbol.for("react.lazy"),hf=Symbol.iterator;function bN(e){return e===null||typeof e!="object"?null:(e=hf&&e[hf]||e["@@iterator"],typeof e=="function"?e:null)}var Fy={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},zy=Object.assign,Wy={};function Ya(e,t,r){this.props=e,this.context=t,this.refs=Wy,this.updater=r||Fy}Ya.prototype.isReactComponent={};Ya.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};Ya.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Gy(){}Gy.prototype=Ya.prototype;function xm(e,t,r){this.props=e,this.context=t,this.refs=Wy,this.updater=r||Fy}var ym=xm.prototype=new Gy;ym.constructor=xm;zy(ym,Ya.prototype);ym.isPureReactComponent=!0;var mf=Array.isArray,Hy=Object.prototype.hasOwnProperty,bm={current:null},Vy={key:!0,ref:!0,__self:!0,__source:!0};function qy(e,t,r){var s,a={},i=null,o=null;if(t!=null)for(s in t.ref!==void 0&&(o=t.ref),t.key!==void 0&&(i=""+t.key),t)Hy.call(t,s)&&!Vy.hasOwnProperty(s)&&(a[s]=t[s]);var l=arguments.length-2;if(l===1)a.children=r;else if(1<l){for(var c=Array(l),d=0;d<l;d++)c[d]=arguments[d+2];a.children=c}if(e&&e.defaultProps)for(s in l=e.defaultProps,l)a[s]===void 0&&(a[s]=l[s]);return{$$typeof:Lo,type:e,key:i,ref:o,props:a,_owner:bm.current}}function vN(e,t){return{$$typeof:Lo,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function vm(e){return typeof e=="object"&&e!==null&&e.$$typeof===Lo}function wN(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(r){return t[r]})}var pf=/\/+/g;function Ud(e,t){return typeof e=="object"&&e!==null&&e.key!=null?wN(""+e.key):t.toString(36)}function Ll(e,t,r,s,a){var i=typeof e;(i==="undefined"||i==="boolean")&&(e=null);var o=!1;if(e===null)o=!0;else switch(i){case"string":case"number":o=!0;break;case"object":switch(e.$$typeof){case Lo:case cN:o=!0}}if(o)return o=e,a=a(o),e=s===""?"."+Ud(o,0):s,mf(a)?(r="",e!=null&&(r=e.replace(pf,"$&/")+"/"),Ll(a,t,r,"",function(d){return d})):a!=null&&(vm(a)&&(a=vN(a,r+(!a.key||o&&o.key===a.key?"":(""+a.key).replace(pf,"$&/")+"/")+e)),t.push(a)),1;if(o=0,s=s===""?".":s+":",mf(e))for(var l=0;l<e.length;l++){i=e[l];var c=s+Ud(i,l);o+=Ll(i,t,r,c,a)}else if(c=bN(e),typeof c=="function")for(e=c.call(e),l=0;!(i=e.next()).done;)i=i.value,c=s+Ud(i,l++),o+=Ll(i,t,r,c,a);else if(i==="object")throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return o}function rl(e,t,r){if(e==null)return e;var s=[],a=0;return Ll(e,s,"","",function(i){return t.call(r,i,a++)}),s}function jN(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(r){(e._status===0||e._status===-1)&&(e._status=1,e._result=r)},function(r){(e._status===0||e._status===-1)&&(e._status=2,e._result=r)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var yt={current:null},$l={transition:null},NN={ReactCurrentDispatcher:yt,ReactCurrentBatchConfig:$l,ReactCurrentOwner:bm};function Ky(){throw Error("act(...) is not supported in production builds of React.")}ie.Children={map:rl,forEach:function(e,t,r){rl(e,function(){t.apply(this,arguments)},r)},count:function(e){var t=0;return rl(e,function(){t++}),t},toArray:function(e){return rl(e,function(t){return t})||[]},only:function(e){if(!vm(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};ie.Component=Ya;ie.Fragment=dN;ie.Profiler=hN;ie.PureComponent=xm;ie.StrictMode=uN;ie.Suspense=gN;
vendor: 5,306 bytes, lines 9-25
9ie.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=NN;ie.act=Ky;ie.cloneElement=function(e,t,r){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var s=zy({},e.props),a=e.key,i=e.ref,o=e._owner;if(t!=null){if(t.ref!==void 0&&(i=t.ref,o=bm.current),t.key!==void 0&&(a=""+t.key),e.type&&e.type.defaultProps)var l=e.type.defaultProps;for(c in t)Hy.call(t,c)&&!Vy.hasOwnProperty(c)&&(s[c]=t[c]===void 0&&l!==void 0?l[c]:t[c])}var c=arguments.length-2;if(c===1)s.children=r;else if(1<c){l=Array(c);for(var d=0;d<c;d++)l[d]=arguments[d+2];s.children=l}return{$$typeof:Lo,type:e.type,key:a,ref:i,props:s,_owner:o}};ie.createContext=function(e){return e={$$typeof:pN,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:mN,_context:e},e.Consumer=e};ie.createElement=qy;ie.createFactory=function(e){var t=qy.bind(null,e);return t.type=e,t};ie.createRef=function(){return{current:null}};ie.forwardRef=function(e){return{$$typeof:fN,render:e}};ie.isValidElement=vm;ie.lazy=function(e){return{$$typeof:yN,_payload:{_status:-1,_result:e},_init:jN}};ie.memo=function(e,t){return{$$typeof:xN,type:e,compare:t===void 0?null:t}};ie.startTransition=function(e){var t=$l.transition;$l.transition={};try{e()}finally{$l.transition=t}};ie.unstable_act=Ky;ie.useCallback=function(e,t){return yt.current.useCallback(e,t)};ie.useContext=function(e){return yt.current.useContext(e)};ie.useDebugValue=function(){};ie.useDeferredValue=function(e){return yt.current.useDeferredValue(e)};ie.useEffect=function(e,t){return yt.current.useEffect(e,t)};ie.useId=function(){return yt.current.useId()};ie.useImperativeHandle=function(e,t,r){return yt.current.useImperativeHandle(e,t,r)};ie.useInsertionEffect=function(e,t){return yt.current.useInsertionEffect(e,t)};ie.useLayoutEffect=function(e,t){return yt.current.useLayoutEffect(e,t)};ie.useMemo=function(e,t){return yt.current.useMemo(e,t)};ie.useReducer=function(e,t,r){return yt.current.useReducer(e,t,r)};ie.useRef=function(e){return yt.current.useRef(e)};ie.useState=function(e){return yt.current.useState(e)};ie.useSyncExternalStore=function(e,t,r){return yt.current.useSyncExternalStore(e,t,r)};ie.useTransition=function(){return yt.current.useTransition()};ie.version="18.3.1";By.exports=ie;var w=By.exports;const P=Mo(w),wm=lN({__proto__:null,default:P},[w]);/**
10 * @license React
11 * react-jsx-runtime.production.min.js
12 *
13 * Copyright (c) Facebook, Inc. and its affiliates.
14 *
15 * This source code is licensed under the MIT license found in the
16 * LICENSE file in the root directory of this source tree.
17 */var kN=w,CN=Symbol.for("react.element"),SN=Symbol.for("react.fragment"),EN=Object.prototype.hasOwnProperty,_N=kN.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,TN={key:!0,ref:!0,__self:!0,__source:!0};function Yy(e,t,r){var s,a={},i=null,o=null;r!==void 0&&(i=""+r),t.key!==void 0&&(i=""+t.key),t.ref!==void 0&&(o=t.ref);for(s in t)EN.call(t,s)&&!TN.hasOwnProperty(s)&&(a[s]=t[s]);if(e&&e.defaultProps)for(s in t=e.defaultProps,t)a[s]===void 0&&(a[s]=t[s]);return{$$typeof:CN,type:e,key:i,ref:o,props:a,_owner:_N.current}}zc.Fragment=SN;zc.jsx=Yy;zc.jsxs=Yy;Uy.exports=zc;var n=Uy.exports,Jy={exports:{}},$t={},Qy={exports:{}},Xy={};/**
18 * @license React
19 * scheduler.production.min.js
20 *
21 * Copyright (c) Facebook, Inc. and its affiliates.
22 *
23 * This source code is licensed under the MIT license found in the
24 * LICENSE file in the root directory of this source tree.
25 */(function(e){function t(E,T){var M=E.length;E.push(T);e:for(;0<M;){var V=M-1>>>1,W=E[V];if(0<a(W,T))E[V]=T,E[M]=W,M=V;else break e}}function r(E){return E.length===0?null:E[0]}function s(E){if(E.length===0)return null;var T=E[0],M=E.pop();if(M!==T){E[0]=M;e:for(var V=0,W=E.length,Q=W>>>1;V<Q;){var X=2*(V+1)-1,ye=E[X],Re=X+1,ee=E[Re];if(0>a(ye,M))Re<W&&0>a(ee,ye)?(E[V]=ee,E[Re]=M,V=Re):(E[V]=ye,E[X]=M,V=X);else if(Re<W&&0>a(ee,M))E[V]=ee,E[Re]=M,V=Re;else break e}}return T}function a(E,T){var M=E.sortIndex-T.sortIndex;return M!==0?M:E.id-T.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var o=Date,l=o.now();e.unstable_now=function(){return o.now()-l}}var c=[],d=[],u=1,h=null,m=3,p=!1,y=!1,f=!1,v=typeof setTimeout=="function"?setTimeout:null,g=typeof clearTimeout=="function"?clearTimeout:null,x=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function b(E){for(var T=r(d);T!==null;){if(T.callback===null)s(d);else if(T.startTime<=E)s(d),T.sortIndex=T.expirationTime,t(c,T);else break;T=r(d)}}function j(E){if(f=!1,b(E),!y)if(r(c)!==null)y=!0,G(N);else{var T=r(d);T!==null&&H(j,T.startTime-E)}}function N(E,T){y=!1,f&&(f=!1,g(S),S=-1),p=!0;var M=m;try{for(b(T),h=r(c);h!==null&&(!(h.expirationTime>T)||E&&!$());){var V=h.callback;if(typeof V=="function"){h.callback=null,m=h.priorityLevel;var W=V(h.expirationTime<=T);T=e.unstable_now(),typeof W=="function"?h.callback=W:h===r(c)&&s(c),b(T)}else s(c);h=r(c)}if(h!==null)var Q=!0;else{var X=r(d);X!==null&&H(j,X.startTime-T),Q=!1}
vendor: 8,903 bytes, lines 25-34
25return Q}finally{h=null,m=M,p=!1}}var k=!1,C=null,S=-1,_=5,R=-1;function $(){return!(e.unstable_now()-R<_)}function O(){if(C!==null){var E=e.unstable_now();R=E;var T=!0;try{T=C(!0,E)}finally{T?J():(k=!1,C=null)}}else k=!1}var J;if(typeof x=="function")J=function(){x(O)};else if(typeof MessageChannel<"u"){var D=new MessageChannel,K=D.port2;D.port1.onmessage=O,J=function(){K.postMessage(null)}}else J=function(){v(O,0)};function G(E){C=E,k||(k=!0,J())}function H(E,T){S=v(function(){E(e.unstable_now())},T)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(E){E.callback=null},e.unstable_continueExecution=function(){y||p||(y=!0,G(N))},e.unstable_forceFrameRate=function(E){0>E||125<E?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):_=0<E?Math.floor(1e3/E):5},e.unstable_getCurrentPriorityLevel=function(){return m},e.unstable_getFirstCallbackNode=function(){return r(c)},e.unstable_next=function(E){switch(m){case 1:case 2:case 3:var T=3;break;default:T=m}var M=m;m=T;try{return E()}finally{m=M}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(E,T){switch(E){case 1:case 2:case 3:case 4:case 5:break;default:E=3}var M=m;m=E;try{return T()}finally{m=M}},e.unstable_scheduleCallback=function(E,T,M){var V=e.unstable_now();switch(typeof M=="object"&&M!==null?(M=M.delay,M=typeof M=="number"&&0<M?V+M:V):M=V,E){case 1:var W=-1;break;case 2:W=250;break;case 5:W=1073741823;break;case 4:W=1e4;break;default:W=5e3}return W=M+W,E={id:u++,callback:T,priorityLevel:E,startTime:M,expirationTime:W,sortIndex:-1},M>V?(E.sortIndex=M,t(d,E),r(c)===null&&E===r(d)&&(f?(g(S),S=-1):f=!0,H(j,M-V))):(E.sortIndex=W,t(c,E),y||p||(y=!0,G(N))),E},e.unstable_shouldYield=$,e.unstable_wrapCallback=function(E){var T=m;return function(){var M=m;m=T;try{return E.apply(this,arguments)}finally{m=M}}}})(Xy);Qy.exports=Xy;var AN=Qy.exports;/**
26 * @license React
27 * react-dom.production.min.js
28 *
29 * Copyright (c) Facebook, Inc. and its affiliates.
30 *
31 * This source code is licensed under the MIT license found in the
32 * LICENSE file in the root directory of this source tree.
33 */var PN=w,Lt=AN;function I(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=1;r<arguments.length;r++)t+="&args[]="+encodeURIComponent(arguments[r]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var Zy=new Set,Vi={};function Ls(e,t){Ua(e,t),Ua(e+"Capture",t)}function Ua(e,t){for(Vi[e]=t,e=0;e<t.length;e++)Zy.add(t[e])}var rn=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Bu=Object.prototype.hasOwnProperty,RN=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,ff={},gf={};function DN(e){return Bu.call(gf,e)?!0:Bu.call(ff,e)?!1:RN.test(e)?gf[e]=!0:(ff[e]=!0,!1)}function IN(e,t,r,s){if(r!==null&&r.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return s?!1:r!==null?!r.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function ON(e,t,r,s){if(t===null||typeof t>"u"||IN(e,t,r,s))return!0;if(s)return!1;if(r!==null)switch(r.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function bt(e,t,r,s,a,i,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=s,this.attributeNamespace=a,this.mustUseProperty=r,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=o}var rt={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){rt[e]=new bt(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];rt[t]=new bt(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){rt[e]=new bt(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){rt[e]=new bt(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){rt[e]=new bt(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){rt[e]=new bt(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){rt[e]=new bt(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){rt[e]=new bt(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){rt[e]=new bt(e,5,!1,e.toLowerCase(),null,!1,!1)});var jm=/[\-:]([a-z])/g;function Nm(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(jm,Nm);rt[t]=new bt(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(jm,Nm);rt[t]=new bt(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(jm,Nm);rt[t]=new bt(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){rt[e]=new bt(e,1,!1,e.toLowerCase(),null,!1,!1)});rt.xlinkHref=new bt("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){rt[e]=new bt(e,1,!1,e.toLowerCase(),null,!0,!0)});function km(e,t,r,s){var a=rt.hasOwnProperty(t)?rt[t]:null;(a!==null?a.type!==0:s||!(2<t.length)||t[0]!=="o"&&t[0]!=="O"||t[1]!=="n"&&t[1]!=="N")&&(ON(t,r,a,s)&&(r=null),s||a===null?DN(t)&&(r===null?e.removeAttribute(t):e.setAttribute(t,""+r)):a.mustUseProperty?e[a.propertyName]=r===null?a.type===3?!1:"":r:(t=a.attributeName,s=a.attributeNamespace,r===null?e.removeAttribute(t):(a=a.type,r=a===3||a===4&&r===!0?"":""+r,s?e.setAttributeNS(s,t,r):e.setAttribute(t,r))))}var dn=PN.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,nl=Symbol.for("react.element"),aa=Symbol.for("react.portal"),ia=Symbol.for("react.fragment"),Cm=Symbol.for("react.strict_mode"),Fu=Symbol.for("react.profiler"),eb=Symbol.for("react.provider"),tb=Symbol.for("react.context"),Sm=Symbol.for("react.forward_ref"),zu=Symbol.for("react.suspense"),Wu=Symbol.for("react.suspense_list"),Em=Symbol.for("react.memo"),kn=Symbol.for("react.lazy"),rb=Symbol.for("react.offscreen"),xf=Symbol.iterator;function ci(e){return e===null||typeof e!="object"?null:(e=xf&&e[xf]||e["@@iterator"],typeof e=="function"?e:null)}var Pe=Object.assign,Bd;function Ci(e){if(Bd===void 0)try{throw Error()}catch(r){var t=r.stack.trim().match(/\n( *(at )?)/);Bd=t&&t[1]||""}return`
34`+Bd+e}var Fd=!1;function zd(e,t){if(!e||Fd)return"";Fd=!0;var r=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(t,[])}catch(d){var s=d}Reflect.construct(e,[],t)}else{try{t.call()}catch(d){s=d}e.call(t.prototype)}else{try{throw Error()}catch(d){s=d}e()}}
vendor: 14,090 bytes, lines 34-37
34catch(d){if(d&&s&&typeof d.stack=="string"){for(var a=d.stack.split(`
35`),i=s.stack.split(`
36`),o=a.length-1,l=i.length-1;1<=o&&0<=l&&a[o]!==i[l];)l--;for(;1<=o&&0<=l;o--,l--)if(a[o]!==i[l]){if(o!==1||l!==1)do if(o--,l--,0>l||a[o]!==i[l]){var c=`
37`+a[o].replace(" at new "," at ");return e.displayName&&c.includes("<anonymous>")&&(c=c.replace("<anonymous>",e.displayName)),c}while(1<=o&&0<=l);break}}}finally{Fd=!1,Error.prepareStackTrace=r}return(e=e?e.displayName||e.name:"")?Ci(e):""}function MN(e){switch(e.tag){case 5:return Ci(e.type);case 16:return Ci("Lazy");case 13:return Ci("Suspense");case 19:return Ci("SuspenseList");case 0:case 2:case 15:return e=zd(e.type,!1),e;case 11:return e=zd(e.type.render,!1),e;case 1:return e=zd(e.type,!0),e;default:return""}}function Gu(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case ia:return"Fragment";case aa:return"Portal";case Fu:return"Profiler";case Cm:return"StrictMode";case zu:return"Suspense";case Wu:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case tb:return(e.displayName||"Context")+".Consumer";case eb:return(e._context.displayName||"Context")+".Provider";case Sm:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Em:return t=e.displayName||null,t!==null?t:Gu(e.type)||"Memo";case kn:t=e._payload,e=e._init;try{return Gu(e(t))}catch{}}return null}function LN(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Gu(t);case 8:return t===Cm?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Vn(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function nb(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function $N(e){var t=nb(e)?"checked":"value",r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),s=""+e[t];if(!e.hasOwnProperty(t)&&typeof r<"u"&&typeof r.get=="function"&&typeof r.set=="function"){var a=r.get,i=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return a.call(this)},set:function(o){s=""+o,i.call(this,o)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return s},setValue:function(o){s=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function sl(e){e._valueTracker||(e._valueTracker=$N(e))}function sb(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var r=t.getValue(),s="";return e&&(s=nb(e)?e.checked?"true":"false":e.value),e=s,e!==r?(t.setValue(e),!0):!1}function sc(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Hu(e,t){var r=t.checked;return Pe({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:r??e._wrapperState.initialChecked})}function yf(e,t){var r=t.defaultValue==null?"":t.defaultValue,s=t.checked!=null?t.checked:t.defaultChecked;r=Vn(t.value!=null?t.value:r),e._wrapperState={initialChecked:s,initialValue:r,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function ab(e,t){t=t.checked,t!=null&&km(e,"checked",t,!1)}function Vu(e,t){ab(e,t);var r=Vn(t.value),s=t.type;if(r!=null)s==="number"?(r===0&&e.value===""||e.value!=r)&&(e.value=""+r):e.value!==""+r&&(e.value=""+r);else if(s==="submit"||s==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?qu(e,t.type,r):t.hasOwnProperty("defaultValue")&&qu(e,t.type,Vn(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function bf(e,t,r){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var s=t.type;if(!(s!=="submit"&&s!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,r||t===e.value||(e.value=t),e.defaultValue=t}r=e.name,r!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,r!==""&&(e.name=r)}function qu(e,t,r){(t!=="number"||sc(e.ownerDocument)!==e)&&(r==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+r&&(e.defaultValue=""+r))}var Si=Array.isArray;function ya(e,t,r,s){if(e=e.options,t){t={};for(var a=0;a<r.length;a++)t["$"+r[a]]=!0;for(r=0;r<e.length;r++)a=t.hasOwnProperty("$"+e[r].value),e[r].selected!==a&&(e[r].selected=a),a&&s&&(e[r].defaultSelected=!0)}else{for(r=""+Vn(r),t=null,a=0;a<e.length;a++){if(e[a].value===r){e[a].selected=!0,s&&(e[a].defaultSelected=!0);return}t!==null||e[a].disabled||(t=e[a])}t!==null&&(t.selected=!0)}}function Ku(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(I(91));return Pe({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function vf(e,t){var r=t.value;if(r==null){if(r=t.children,t=t.defaultValue,r!=null){if(t!=null)throw Error(I(92));if(Si(r)){if(1<r.length)throw Error(I(93));r=r[0]}t=r}t==null&&(t=""),r=t}e._wrapperState={initialValue:Vn(r)}}function ib(e,t){var r=Vn(t.value),s=Vn(t.defaultValue);r!=null&&(r=""+r,r!==e.value&&(e.value=r),t.defaultValue==null&&e.defaultValue!==r&&(e.defaultValue=r)),s!=null&&(e.defaultValue=""+s)}function wf(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}function ob(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function Yu(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?ob(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var al,lb=function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(t,r,s,a){MSApp.execUnsafeLocalFunction(function(){return e(t,r,s,a)})}:e}(function(e,t){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=t;else{for(al=al||document.createElement("div"),al.innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=al.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function qi(e,t){if(t){var r=e.firstChild;if(r&&r===e.lastChild&&r.nodeType===3){r.nodeValue=t;return}}e.textContent=t}var Ri={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},UN=["Webkit","ms","Moz","O"];Object.keys(Ri).forEach(function(e){UN.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Ri[t]=Ri[e]})});function cb(e,t,r){return t==null||typeof t=="boolean"||t===""?"":r||typeof t!="number"||t===0||Ri.hasOwnProperty(e)&&Ri[e]?(""+t).trim():t+"px"}function db(e,t){e=e.style;for(var r in t)if(t.hasOwnProperty(r)){var s=r.indexOf("--")===0,a=cb(r,t[r],s);r==="float"&&(r="cssFloat"),s?e.setProperty(r,a):e[r]=a}}var BN=Pe({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Ju(e,t){if(t){if(BN[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(I(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(I(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(I(61))}if(t.style!=null&&typeof t.style!="object")throw Error(I(62))}}function Qu(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Xu=null;function _m(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Zu=null,ba=null,va=null;function jf(e){if(e=Bo(e)){if(typeof Zu!="function")throw Error(I(280));var t=e.stateNode;t&&(t=qc(t),Zu(e.stateNode,e.type,t))}}function ub(e){ba?va?va.push(e):va=[e]:ba=e}function hb(){if(ba){var e=ba,t=va;if(va=ba=null,jf(e),t)for(e=0;e<t.length;e++)jf(t[e])}}function mb(e,t){return e(t)}function pb(){}var Wd=!1;function fb(e,t,r){if(Wd)return e(t,r);Wd=!0;try{return mb(e,t,r)}finally{Wd=!1,(ba!==null||va!==null)&&(pb(),hb())}}function Ki(e,t){var r=e.stateNode;if(r===null)return null;var s=qc(r);if(s===null)return null;r=s[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(s=!s.disabled)||(e=e.type,s=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!s;break e;default:e=!1}if(e)return null;if(r&&typeof r!="function")throw Error(I(231,t,typeof r));return r}var eh=!1;if(rn)try{var di={};Object.defineProperty(di,"passive",{get:function(){eh=!0}}),window.addEventListener("test",di,di),window.removeEventListener("test",di,di)}catch{eh=!1}function FN(e,t,r,s,a,i,o,l,c){var d=Array.prototype.slice.call(arguments,3);try{t.apply(r,d)}catch(u){this.onError(u)}}var Di=!1,ac=null,ic=!1,th=null,zN={onError:function(e){Di=!0,ac=e}};function WN(e,t,r,s,a,i,o,l,c){Di=!1,ac=null,FN.apply(zN,arguments)}function GN(e,t,r,s,a,i,o,l,c){if(WN.apply(this,arguments),Di){if(Di){var d=ac;Di=!1,ac=null}else throw Error(I(198));ic||(ic=!0,th=d)}}function $s(e){var t=e,r=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(r=t.return),e=t.return;while(e)}return t.tag===3?r:null}function gb(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function Nf(e){if($s(e)!==e)throw Error(I(188))}function HN(e){var t=e.alternate;if(!t){if(t=$s(e),t===null)throw Error(I(188));return t!==e?null:e}for(var r=e,s=t;;){var a=r.return;if(a===null)break;var i=a.alternate;if(i===null){if(s=a.return,s!==null){r=s;continue}break}if(a.child===i.child){for(i=a.child;i;){if(i===r)return Nf(a),e;if(i===s)return Nf(a),t;i=i.sibling}throw Error(I(188))}if(r.return!==s.return)r=a,s=i;else{for(var o=!1,l=a.child;l;){if(l===r){o=!0,r=a,s=i;break}if(l===s){o=!0,s=a,r=i;break}l=l.sibling}if(!o){for(l=i.child;l;){if(l===r){o=!0,r=i,s=a;break}if(l===s){o=!0,s=i,r=a;break}l=l.sibling}if(!o)throw Error(I(189))}}if(r.alternate!==s)throw Error(I(190))}if(r.tag!==3)throw Error(I(188));return r.stateNode.current===r?e:t}function xb(e){return e=HN(e),e!==null?yb(e):null}function yb(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=yb(e);if(t!==null)return t;e=e.sibling}return null}var bb=Lt.unstable_scheduleCallback,kf=Lt.unstable_cancelCallback,VN=Lt.unstable_shouldYield,qN=Lt.unstable_requestPaint,Le=Lt.unstable_now,KN=Lt.unstable_getCurrentPriorityLevel,Tm=Lt.unstable_ImmediatePriority,vb=Lt.unstable_UserBlockingPriority,oc=Lt.unstable_NormalPriority,YN=Lt.unstable_LowPriority,wb=Lt.unstable_IdlePriority,Wc=null,$r=null;function JN(e){if($r&&typeof $r.onCommitFiberRoot=="function")try{$r.onCommitFiberRoot(Wc,e,void 0,(e.current.flags&128)===128)}catch{}}var fr=Math.clz32?Math.clz32:ZN,QN=Math.log,XN=Math.LN2;function ZN(e){return e>>>=0,e===0?32:31-(QN(e)/XN|0)|0}var il=64,ol=4194304;function Ei(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function lc(e,t){var r=e.pendingLanes;if(r===0)return 0;var s=0,a=e.suspendedLanes,i=e.pingedLanes,o=r&268435455;if(o!==0){var l=o&~a;l!==0?s=Ei(l):(i&=o,i!==0&&(s=Ei(i)))}else o=r&~a,o!==0?s=Ei(o):i!==0&&(s=Ei(i));if(s===0)return 0;if(t!==0&&t!==s&&!(t&a)&&(a=s&-s,i=t&-t,a>=i||a===16&&(i&4194240)!==0))return t;if(s&4&&(s|=r&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=s;0<t;)r=31-fr(t),a=1<<r,s|=e[r],t&=~a;return s}function e2(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function t2(e,t){for(var r=e.suspendedLanes,s=e.pingedLanes,a=e.expirationTimes,i=e.pendingLanes;0<i;){var o=31-fr(i),l=1<<o,c=a[o];c===-1?(!(l&r)||l&s)&&(a[o]=e2(l,t)):c<=t&&(e.expiredLanes|=l),i&=~l}}function rh(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function jb(){var e=il;return il<<=1,!(il&4194240)&&(il=64),e}function Gd(e){for(var t=[],r=0;31>r;r++)t.push(e);return t}
vendor: 4,087 bytes, line 37
37function $o(e,t,r){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-fr(t),e[t]=r}function r2(e,t){var r=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var s=e.eventTimes;for(e=e.expirationTimes;0<r;){var a=31-fr(r),i=1<<a;t[a]=0,s[a]=-1,e[a]=-1,r&=~i}}function Am(e,t){var r=e.entangledLanes|=t;for(e=e.entanglements;r;){var s=31-fr(r),a=1<<s;a&t|e[s]&t&&(e[s]|=t),r&=~a}}var ge=0;function Nb(e){return e&=-e,1<e?4<e?e&268435455?16:536870912:4:1}var kb,Pm,Cb,Sb,Eb,nh=!1,ll=[],$n=null,Un=null,Bn=null,Yi=new Map,Ji=new Map,Sn=[],n2="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Cf(e,t){switch(e){case"focusin":case"focusout":$n=null;break;case"dragenter":case"dragleave":Un=null;break;case"mouseover":case"mouseout":Bn=null;break;case"pointerover":case"pointerout":Yi.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Ji.delete(t.pointerId)}}function ui(e,t,r,s,a,i){return e===null||e.nativeEvent!==i?(e={blockedOn:t,domEventName:r,eventSystemFlags:s,nativeEvent:i,targetContainers:[a]},t!==null&&(t=Bo(t),t!==null&&Pm(t)),e):(e.eventSystemFlags|=s,t=e.targetContainers,a!==null&&t.indexOf(a)===-1&&t.push(a),e)}function s2(e,t,r,s,a){switch(t){case"focusin":return $n=ui($n,e,t,r,s,a),!0;case"dragenter":return Un=ui(Un,e,t,r,s,a),!0;case"mouseover":return Bn=ui(Bn,e,t,r,s,a),!0;case"pointerover":var i=a.pointerId;return Yi.set(i,ui(Yi.get(i)||null,e,t,r,s,a)),!0;case"gotpointercapture":return i=a.pointerId,Ji.set(i,ui(Ji.get(i)||null,e,t,r,s,a)),!0}return!1}function _b(e){var t=ms(e.target);if(t!==null){var r=$s(t);if(r!==null){if(t=r.tag,t===13){if(t=gb(r),t!==null){e.blockedOn=t,Eb(e.priority,function(){Cb(r)});return}}else if(t===3&&r.stateNode.current.memoizedState.isDehydrated){e.blockedOn=r.tag===3?r.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Ul(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var r=sh(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(r===null){r=e.nativeEvent;var s=new r.constructor(r.type,r);Xu=s,r.target.dispatchEvent(s),Xu=null}else return t=Bo(r),t!==null&&Pm(t),e.blockedOn=r,!1;t.shift()}return!0}function Sf(e,t,r){Ul(e)&&r.delete(t)}function a2(){nh=!1,$n!==null&&Ul($n)&&($n=null),Un!==null&&Ul(Un)&&(Un=null),Bn!==null&&Ul(Bn)&&(Bn=null),Yi.forEach(Sf),Ji.forEach(Sf)}function hi(e,t){e.blockedOn===t&&(e.blockedOn=null,nh||(nh=!0,Lt.unstable_scheduleCallback(Lt.unstable_NormalPriority,a2)))}function Qi(e){function t(a){return hi(a,e)}if(0<ll.length){hi(ll[0],e);for(var r=1;r<ll.length;r++){var s=ll[r];s.blockedOn===e&&(s.blockedOn=null)}}for($n!==null&&hi($n,e),Un!==null&&hi(Un,e),Bn!==null&&hi(Bn,e),Yi.forEach(t),Ji.forEach(t),r=0;r<Sn.length;r++)s=Sn[r],s.blockedOn===e&&(s.blockedOn=null);for(;0<Sn.length&&(r=Sn[0],r.blockedOn===null);)_b(r),r.blockedOn===null&&Sn.shift()}var wa=dn.ReactCurrentBatchConfig,cc=!0;function i2(e,t,r,s){var a=ge,i=wa.transition;wa.transition=null;try{ge=1,Rm(e,t,r,s)}finally{ge=a,wa.transition=i}}function o2(e,t,r,s){var a=ge,i=wa.transition;wa.transition=null;try{ge=4,Rm(e,t,r,s)}finally{ge=a,wa.transition=i}}function Rm(e,t,r,s){if(cc){var a=sh(e,t,r,s);if(a===null)eu(e,t,s,dc,r),Cf(e,s);else if(s2(a,e,t,r,s))s.stopPropagation();else if(Cf(e,s),t&4&&-1<n2.indexOf(e)){for(;a!==null;){var i=Bo(a);if(i!==null&&kb(i),i=sh(e,t,r,s),i===null&&eu(e,t,s,dc,r),i===a)break;a=i}a!==null&&s.stopPropagation()}else eu(e,t,s,null,r)}}var dc=null;function sh(e,t,r,s){if(dc=null,e=_m(s),e=ms(e),e!==null)if(t=$s(e),t===null)e=null;else if(r=t.tag,r===13){if(e=gb(t),e!==null)return e;e=null}else if(r===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return dc=e,null}
vendor: 8,361 bytes, line 37
37function Tb(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(KN()){case Tm:return 1;case vb:return 4;case oc:case YN:return 16;case wb:return 536870912;default:return 16}default:return 16}}var On=null,Dm=null,Bl=null;function Ab(){if(Bl)return Bl;var e,t=Dm,r=t.length,s,a="value"in On?On.value:On.textContent,i=a.length;for(e=0;e<r&&t[e]===a[e];e++);var o=r-e;for(s=1;s<=o&&t[r-s]===a[i-s];s++);return Bl=a.slice(e,1<s?1-s:void 0)}function Fl(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function cl(){return!0}function Ef(){return!1}function Ut(e){function t(r,s,a,i,o){this._reactName=r,this._targetInst=a,this.type=s,this.nativeEvent=i,this.target=o,this.currentTarget=null;for(var l in e)e.hasOwnProperty(l)&&(r=e[l],this[l]=r?r(i):i[l]);return this.isDefaultPrevented=(i.defaultPrevented!=null?i.defaultPrevented:i.returnValue===!1)?cl:Ef,this.isPropagationStopped=Ef,this}return Pe(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var r=this.nativeEvent;r&&(r.preventDefault?r.preventDefault():typeof r.returnValue!="unknown"&&(r.returnValue=!1),this.isDefaultPrevented=cl)},stopPropagation:function(){var r=this.nativeEvent;r&&(r.stopPropagation?r.stopPropagation():typeof r.cancelBubble!="unknown"&&(r.cancelBubble=!0),this.isPropagationStopped=cl)},persist:function(){},isPersistent:cl}),t}var Ja={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Im=Ut(Ja),Uo=Pe({},Ja,{view:0,detail:0}),l2=Ut(Uo),Hd,Vd,mi,Gc=Pe({},Uo,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Om,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==mi&&(mi&&e.type==="mousemove"?(Hd=e.screenX-mi.screenX,Vd=e.screenY-mi.screenY):Vd=Hd=0,mi=e),Hd)},movementY:function(e){return"movementY"in e?e.movementY:Vd}}),_f=Ut(Gc),c2=Pe({},Gc,{dataTransfer:0}),d2=Ut(c2),u2=Pe({},Uo,{relatedTarget:0}),qd=Ut(u2),h2=Pe({},Ja,{animationName:0,elapsedTime:0,pseudoElement:0}),m2=Ut(h2),p2=Pe({},Ja,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),f2=Ut(p2),g2=Pe({},Ja,{data:0}),Tf=Ut(g2),x2={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},y2={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},b2={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function v2(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=b2[e])?!!t[e]:!1}function Om(){return v2}var w2=Pe({},Uo,{key:function(e){if(e.key){var t=x2[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Fl(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?y2[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Om,charCode:function(e){return e.type==="keypress"?Fl(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Fl(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),j2=Ut(w2),N2=Pe({},Gc,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Af=Ut(N2),k2=Pe({},Uo,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Om}),C2=Ut(k2),S2=Pe({},Ja,{propertyName:0,elapsedTime:0,pseudoElement:0}),E2=Ut(S2),_2=Pe({},Gc,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),T2=Ut(_2),A2=[9,13,27,32],Mm=rn&&"CompositionEvent"in window,Ii=null;rn&&"documentMode"in document&&(Ii=document.documentMode);var P2=rn&&"TextEvent"in window&&!Ii,Pb=rn&&(!Mm||Ii&&8<Ii&&11>=Ii),Pf=" ",Rf=!1;function Rb(e,t){switch(e){case"keyup":return A2.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Db(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var oa=!1;function R2(e,t){switch(e){case"compositionend":return Db(t);case"keypress":return t.which!==32?null:(Rf=!0,Pf);case"textInput":return e=t.data,e===Pf&&Rf?null:e;default:return null}}function D2(e,t){if(oa)return e==="compositionend"||!Mm&&Rb(e,t)?(e=Ab(),Bl=Dm=On=null,oa=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Pb&&t.locale!=="ko"?null:t.data;default:return null}}var I2={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Df(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!I2[e.type]:t==="textarea"}function Ib(e,t,r,s){ub(s),t=uc(t,"onChange"),0<t.length&&(r=new Im("onChange","change",null,r,s),e.push({event:r,listeners:t}))}var Oi=null,Xi=null;function O2(e){Hb(e,0)}function Hc(e){var t=da(e);if(sb(t))return e}function M2(e,t){if(e==="change")return t}var Ob=!1;if(rn){var Kd;if(rn){var Yd="oninput"in document;if(!Yd){var If=document.createElement("div");If.setAttribute("oninput","return;"),Yd=typeof If.oninput=="function"}Kd=Yd}else Kd=!1;Ob=Kd&&(!document.documentMode||9<document.documentMode)}function Of(){Oi&&(Oi.detachEvent("onpropertychange",Mb),Xi=Oi=null)}function Mb(e){if(e.propertyName==="value"&&Hc(Xi)){var t=[];Ib(t,Xi,e,_m(e)),fb(O2,t)}}function L2(e,t,r){e==="focusin"?(Of(),Oi=t,Xi=r,Oi.attachEvent("onpropertychange",Mb)):e==="focusout"&&Of()}function $2(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Hc(Xi)}function U2(e,t){if(e==="click")return Hc(t)}function B2(e,t){if(e==="input"||e==="change")return Hc(t)}function F2(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var yr=typeof Object.is=="function"?Object.is:F2;function Zi(e,t){if(yr(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var r=Object.keys(e),s=Object.keys(t);if(r.length!==s.length)return!1;for(s=0;s<r.length;s++){var a=r[s];if(!Bu.call(t,a)||!yr(e[a],t[a]))return!1}return!0}function Mf(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Lf(e,t){var r=Mf(e);e=0;for(var s;r;){if(r.nodeType===3){if(s=e+r.textContent.length,e<=t&&s>=t)return{node:r,offset:t-e};e=s}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=Mf(r)}}
vendor: 4,298 bytes, line 37
37function Lb(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Lb(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function $b(){for(var e=window,t=sc();t instanceof e.HTMLIFrameElement;){try{var r=typeof t.contentWindow.location.href=="string"}catch{r=!1}if(r)e=t.contentWindow;else break;t=sc(e.document)}return t}function Lm(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function z2(e){var t=$b(),r=e.focusedElem,s=e.selectionRange;if(t!==r&&r&&r.ownerDocument&&Lb(r.ownerDocument.documentElement,r)){if(s!==null&&Lm(r)){if(t=s.start,e=s.end,e===void 0&&(e=t),"selectionStart"in r)r.selectionStart=t,r.selectionEnd=Math.min(e,r.value.length);else if(e=(t=r.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var a=r.textContent.length,i=Math.min(s.start,a);s=s.end===void 0?i:Math.min(s.end,a),!e.extend&&i>s&&(a=s,s=i,i=a),a=Lf(r,i);var o=Lf(r,s);a&&o&&(e.rangeCount!==1||e.anchorNode!==a.node||e.anchorOffset!==a.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(a.node,a.offset),e.removeAllRanges(),i>s?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=r;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof r.focus=="function"&&r.focus(),r=0;r<t.length;r++)e=t[r],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var W2=rn&&"documentMode"in document&&11>=document.documentMode,la=null,ah=null,Mi=null,ih=!1;function $f(e,t,r){var s=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;ih||la==null||la!==sc(s)||(s=la,"selectionStart"in s&&Lm(s)?s={start:s.selectionStart,end:s.selectionEnd}:(s=(s.ownerDocument&&s.ownerDocument.defaultView||window).getSelection(),s={anchorNode:s.anchorNode,anchorOffset:s.anchorOffset,focusNode:s.focusNode,focusOffset:s.focusOffset}),Mi&&Zi(Mi,s)||(Mi=s,s=uc(ah,"onSelect"),0<s.length&&(t=new Im("onSelect","select",null,t,r),e.push({event:t,listeners:s}),t.target=la)))}function dl(e,t){var r={};return r[e.toLowerCase()]=t.toLowerCase(),r["Webkit"+e]="webkit"+t,r["Moz"+e]="moz"+t,r}var ca={animationend:dl("Animation","AnimationEnd"),animationiteration:dl("Animation","AnimationIteration"),animationstart:dl("Animation","AnimationStart"),transitionend:dl("Transition","TransitionEnd")},Jd={},Ub={};rn&&(Ub=document.createElement("div").style,"AnimationEvent"in window||(delete ca.animationend.animation,delete ca.animationiteration.animation,delete ca.animationstart.animation),"TransitionEvent"in window||delete ca.transitionend.transition);function Vc(e){if(Jd[e])return Jd[e];if(!ca[e])return e;var t=ca[e],r;for(r in t)if(t.hasOwnProperty(r)&&r in Ub)return Jd[e]=t[r];return e}var Bb=Vc("animationend"),Fb=Vc("animationiteration"),zb=Vc("animationstart"),Wb=Vc("transitionend"),Gb=new Map,Uf="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Xn(e,t){Gb.set(e,t),Ls(t,[e])}for(var Qd=0;Qd<Uf.length;Qd++){var Xd=Uf[Qd],G2=Xd.toLowerCase(),H2=Xd[0].toUpperCase()+Xd.slice(1);Xn(G2,"on"+H2)}Xn(Bb,"onAnimationEnd");Xn(Fb,"onAnimationIteration");Xn(zb,"onAnimationStart");Xn("dblclick","onDoubleClick");Xn("focusin","onFocus");Xn("focusout","onBlur");Xn(Wb,"onTransitionEnd");Ua("onMouseEnter",["mouseout","mouseover"]);Ua("onMouseLeave",["mouseout","mouseover"]);Ua("onPointerEnter",["pointerout","pointerover"]);Ua("onPointerLeave",["pointerout","pointerover"]);Ls("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));
vendor: 4,770 bytes, line 37
37Ls("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));Ls("onBeforeInput",["compositionend","keypress","textInput","paste"]);Ls("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));Ls("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));Ls("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var _i="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),V2=new Set("cancel close invalid load scroll toggle".split(" ").concat(_i));function Bf(e,t,r){var s=e.type||"unknown-event";e.currentTarget=r,GN(s,t,void 0,e),e.currentTarget=null}function Hb(e,t){t=(t&4)!==0;for(var r=0;r<e.length;r++){var s=e[r],a=s.event;s=s.listeners;e:{var i=void 0;if(t)for(var o=s.length-1;0<=o;o--){var l=s[o],c=l.instance,d=l.currentTarget;if(l=l.listener,c!==i&&a.isPropagationStopped())break e;Bf(a,l,d),i=c}else for(o=0;o<s.length;o++){if(l=s[o],c=l.instance,d=l.currentTarget,l=l.listener,c!==i&&a.isPropagationStopped())break e;Bf(a,l,d),i=c}}}if(ic)throw e=th,ic=!1,th=null,e}function ke(e,t){var r=t[uh];r===void 0&&(r=t[uh]=new Set);var s=e+"__bubble";r.has(s)||(Vb(t,e,2,!1),r.add(s))}function Zd(e,t,r){var s=0;t&&(s|=4),Vb(r,e,s,t)}var ul="_reactListening"+Math.random().toString(36).slice(2);function eo(e){if(!e[ul]){e[ul]=!0,Zy.forEach(function(r){r!=="selectionchange"&&(V2.has(r)||Zd(r,!1,e),Zd(r,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[ul]||(t[ul]=!0,Zd("selectionchange",!1,t))}}function Vb(e,t,r,s){switch(Tb(t)){case 1:var a=i2;break;case 4:a=o2;break;default:a=Rm}r=a.bind(null,t,r,e),a=void 0,!eh||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(a=!0),s?a!==void 0?e.addEventListener(t,r,{capture:!0,passive:a}):e.addEventListener(t,r,!0):a!==void 0?e.addEventListener(t,r,{passive:a}):e.addEventListener(t,r,!1)}function eu(e,t,r,s,a){var i=s;if(!(t&1)&&!(t&2)&&s!==null)e:for(;;){if(s===null)return;var o=s.tag;if(o===3||o===4){var l=s.stateNode.containerInfo;if(l===a||l.nodeType===8&&l.parentNode===a)break;if(o===4)for(o=s.return;o!==null;){var c=o.tag;if((c===3||c===4)&&(c=o.stateNode.containerInfo,c===a||c.nodeType===8&&c.parentNode===a))return;o=o.return}for(;l!==null;){if(o=ms(l),o===null)return;if(c=o.tag,c===5||c===6){s=i=o;continue e}l=l.parentNode}}s=s.return}fb(function(){var d=i,u=_m(r),h=[];e:{var m=Gb.get(e);if(m!==void 0){var p=Im,y=e;switch(e){case"keypress":if(Fl(r)===0)break e;case"keydown":case"keyup":p=j2;break;case"focusin":y="focus",p=qd;break;case"focusout":y="blur",p=qd;break;case"beforeblur":case"afterblur":p=qd;break;case"click":if(r.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":p=_f;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":p=d2;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":p=C2;break;case Bb:case Fb:case zb:p=m2;break;case Wb:p=E2;break;case"scroll":p=l2;break;case"wheel":p=T2;break;case"copy":case"cut":case"paste":p=f2;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":p=Af}var f=(t&4)!==0,v=!f&&e==="scroll",g=f?m!==null?m+"Capture":null:m;f=[];for(var x=d,b;x!==null;){b=x;var j=b.stateNode;if(b.tag===5&&j!==null&&(b=j,g!==null&&(j=Ki(x,g),j!=null&&f.push(to(x,j,b)))),v)break;x=x.return}0<f.length&&(m=new p(m,y,null,r,u),h.push({event:m,listeners:f}))}}if(!(t&7)){e:{if(m=e==="mouseover"||e==="pointerover",p=e==="mouseout"||e==="pointerout",m&&r!==Xu&&(y=r.relatedTarget||r.fromElement)&&(ms(y)||y[nn]))break e;if((p||m)&&(m=u.window===u?u:(m=u.ownerDocument)?m.defaultView||m.parentWindow:window,p?(y=r.relatedTarget||r.toElement,p=d,y=y?ms(y):null,y!==null&&(v=$s(y),y!==v||y.tag!==5&&y.tag!==6)&&(y=null)):(p=null,y=d),p!==y)){if(f=_f,j="onMouseLeave",g="onMouseEnter",x="mouse",(e==="pointerout"||e==="pointerover")&&(f=Af,j="onPointerLeave",g="onPointerEnter",x="pointer"),v=p==null?m:da(p),b=y==null?m:da(y),m=new f(j,x+"leave",p,r,u),m.target=v,m.relatedTarget=b,j=null,ms(u)===d&&(f=new f(g,x+"enter",y,r,u),f.target=b,f.relatedTarget=v,j=f),v=j,p&&y)t:{for(f=p,g=y,x=0,b=f;b;b=Ws(b))x++;for(b=0,j=g;j;j=Ws(j))b++;for(;0<x-b;)f=Ws(f),x--;for(;0<b-x;)g=Ws(g),b--;for(;x--;){if(f===g||g!==null&&f===g.alternate)break t;f=Ws(f),g=Ws(g)}f=null}else f=null;p!==null&&Ff(h,m,p,f,!1),y!==null&&v!==null&&Ff(h,v,y,f,!0)}}
vendor: 7,582 bytes, lines 37-38
37e:{if(m=d?da(d):window,p=m.nodeName&&m.nodeName.toLowerCase(),p==="select"||p==="input"&&m.type==="file")var N=M2;else if(Df(m))if(Ob)N=B2;else{N=$2;var k=L2}else(p=m.nodeName)&&p.toLowerCase()==="input"&&(m.type==="checkbox"||m.type==="radio")&&(N=U2);if(N&&(N=N(e,d))){Ib(h,N,r,u);break e}k&&k(e,m,d),e==="focusout"&&(k=m._wrapperState)&&k.controlled&&m.type==="number"&&qu(m,"number",m.value)}switch(k=d?da(d):window,e){case"focusin":(Df(k)||k.contentEditable==="true")&&(la=k,ah=d,Mi=null);break;case"focusout":Mi=ah=la=null;break;case"mousedown":ih=!0;break;case"contextmenu":case"mouseup":case"dragend":ih=!1,$f(h,r,u);break;case"selectionchange":if(W2)break;case"keydown":case"keyup":$f(h,r,u)}var C;if(Mm)e:{switch(e){case"compositionstart":var S="onCompositionStart";break e;case"compositionend":S="onCompositionEnd";break e;case"compositionupdate":S="onCompositionUpdate";break e}S=void 0}else oa?Rb(e,r)&&(S="onCompositionEnd"):e==="keydown"&&r.keyCode===229&&(S="onCompositionStart");S&&(Pb&&r.locale!=="ko"&&(oa||S!=="onCompositionStart"?S==="onCompositionEnd"&&oa&&(C=Ab()):(On=u,Dm="value"in On?On.value:On.textContent,oa=!0)),k=uc(d,S),0<k.length&&(S=new Tf(S,e,null,r,u),h.push({event:S,listeners:k}),C?S.data=C:(C=Db(r),C!==null&&(S.data=C)))),(C=P2?R2(e,r):D2(e,r))&&(d=uc(d,"onBeforeInput"),0<d.length&&(u=new Tf("onBeforeInput","beforeinput",null,r,u),h.push({event:u,listeners:d}),u.data=C))}Hb(h,t)})}function to(e,t,r){return{instance:e,listener:t,currentTarget:r}}function uc(e,t){for(var r=t+"Capture",s=[];e!==null;){var a=e,i=a.stateNode;a.tag===5&&i!==null&&(a=i,i=Ki(e,r),i!=null&&s.unshift(to(e,i,a)),i=Ki(e,t),i!=null&&s.push(to(e,i,a))),e=e.return}return s}function Ws(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function Ff(e,t,r,s,a){for(var i=t._reactName,o=[];r!==null&&r!==s;){var l=r,c=l.alternate,d=l.stateNode;if(c!==null&&c===s)break;l.tag===5&&d!==null&&(l=d,a?(c=Ki(r,i),c!=null&&o.unshift(to(r,c,l))):a||(c=Ki(r,i),c!=null&&o.push(to(r,c,l)))),r=r.return}o.length!==0&&e.push({event:t,listeners:o})}var q2=/\r\n?/g,K2=/\u0000|\uFFFD/g;function zf(e){return(typeof e=="string"?e:""+e).replace(q2,`
38`).replace(K2,"")}function hl(e,t,r){if(t=zf(t),zf(e)!==t&&r)throw Error(I(425))}function hc(){}var oh=null,lh=null;function ch(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var dh=typeof setTimeout=="function"?setTimeout:void 0,Y2=typeof clearTimeout=="function"?clearTimeout:void 0,Wf=typeof Promise=="function"?Promise:void 0,J2=typeof queueMicrotask=="function"?queueMicrotask:typeof Wf<"u"?function(e){return Wf.resolve(null).then(e).catch(Q2)}:dh;function Q2(e){setTimeout(function(){throw e})}function tu(e,t){var r=t,s=0;do{var a=r.nextSibling;if(e.removeChild(r),a&&a.nodeType===8)if(r=a.data,r==="/$"){if(s===0){e.removeChild(a),Qi(t);return}s--}else r!=="$"&&r!=="$?"&&r!=="$!"||s++;r=a}while(r);Qi(t)}function Fn(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?")break;if(t==="/$")return null}}return e}function Gf(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var r=e.data;if(r==="$"||r==="$!"||r==="$?"){if(t===0)return e;t--}else r==="/$"&&t++}e=e.previousSibling}return null}var Qa=Math.random().toString(36).slice(2),Or="__reactFiber$"+Qa,ro="__reactProps$"+Qa,nn="__reactContainer$"+Qa,uh="__reactEvents$"+Qa,X2="__reactListeners$"+Qa,Z2="__reactHandles$"+Qa;function ms(e){var t=e[Or];if(t)return t;for(var r=e.parentNode;r;){if(t=r[nn]||r[Or]){if(r=t.alternate,t.child!==null||r!==null&&r.child!==null)for(e=Gf(e);e!==null;){if(r=e[Or])return r;e=Gf(e)}return t}e=r,r=e.parentNode}return null}function Bo(e){return e=e[Or]||e[nn],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function da(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(I(33))}function qc(e){return e[ro]||null}var hh=[],ua=-1;function Zn(e){return{current:e}}function Se(e){0>ua||(e.current=hh[ua],hh[ua]=null,ua--)}function we(e,t){ua++,hh[ua]=e.current,e.current=t}var qn={},dt=Zn(qn),Ct=Zn(!1),_s=qn;function Ba(e,t){var r=e.type.contextTypes;if(!r)return qn;var s=e.stateNode;if(s&&s.__reactInternalMemoizedUnmaskedChildContext===t)return s.__reactInternalMemoizedMaskedChildContext;var a={},i;for(i in r)a[i]=t[i];return s&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=a),a}function St(e){return e=e.childContextTypes,e!=null}function mc(){Se(Ct),Se(dt)}function Hf(e,t,r){if(dt.current!==qn)throw Error(I(168));we(dt,t),we(Ct,r)}function qb(e,t,r){var s=e.stateNode;if(t=t.childContextTypes,typeof s.getChildContext!="function")return r;s=s.getChildContext();for(var a in s)if(!(a in t))throw Error(I(108,LN(e)||"Unknown",a));return Pe({},r,s)}function pc(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||qn,_s=dt.current,we(dt,e),we(Ct,Ct.current),!0}function Vf(e,t,r){var s=e.stateNode;if(!s)throw Error(I(169));r?(e=qb(e,t,_s),s.__reactInternalMemoizedMergedChildContext=e,Se(Ct),Se(dt),we(dt,e)):Se(Ct),we(Ct,r)}var Qr=null,Kc=!1,ru=!1;function Kb(e){Qr===null?Qr=[e]:Qr.push(e)}function ek(e){Kc=!0,Kb(e)}function es(){if(!ru&&Qr!==null){ru=!0;var e=0,t=ge;try{var r=Qr;for(ge=1;e<r.length;e++){var s=r[e];do s=s(!0);while(s!==null)}Qr=null,Kc=!1}catch(a){throw Qr!==null&&(Qr=Qr.slice(e+1)),bb(Tm,es),a}finally{ge=t,ru=!1}}return null}var ha=[],ma=0,fc=null,gc=0,Wt=[],Gt=0,Ts=null,Zr=1,en="";function os(e,t){ha[ma++]=gc,ha[ma++]=fc,fc=e,gc=t}function Yb(e,t,r){Wt[Gt++]=Zr,Wt[Gt++]=en,Wt[Gt++]=Ts,Ts=e;var s=Zr;e=en;var a=32-fr(s)-1;s&=~(1<<a),r+=1;var i=32-fr(t)+a;if(30<i){var o=a-a%5;i=(s&(1<<o)-1).toString(32),s>>=o,a-=o,Zr=1<<32-fr(t)+a|r<<a|s,en=i+e}else Zr=1<<i|r<<a|s,en=e}function $m(e){e.return!==null&&(os(e,1),Yb(e,1,0))}function Um(e){for(;e===fc;)fc=ha[--ma],ha[ma]=null,gc=ha[--ma],ha[ma]=null;for(;e===Ts;)Ts=Wt[--Gt],Wt[Gt]=null,en=Wt[--Gt],Wt[Gt]=null,Zr=Wt[--Gt],Wt[Gt]=null}var Ot=null,It=null,Ee=!1,mr=null;function Jb(e,t){var r=Vt(5,null,null,0);r.elementType="DELETED",r.stateNode=t,r.return=e,t=e.deletions,t===null?(e.deletions=[r],e.flags|=16):t.push(r)}function qf(e,t){switch(e.tag){case 5:var r=e.type;return t=t.nodeType!==1||r.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,Ot=e,It=Fn(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,Ot=e,It=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(r=Ts!==null?{id:Zr,overflow:en}:null,e.memoizedState={dehydrated:t,treeContext:r,retryLane:1073741824},r=Vt(18,null,null,0),r.stateNode=t,r.return=e,e.child=r,Ot=e,It=null,!0):!1;default:return!1}}function mh(e){return(e.mode&1)!==0&&(e.flags&128)===0}function ph(e){if(Ee){var t=It;if(t){var r=t;if(!qf(e,t)){if(mh(e))throw Error(I(418));t=Fn(r.nextSibling);var s=Ot;t&&qf(e,t)?Jb(s,r):(e.flags=e.flags&-4097|2,Ee=!1,Ot=e)}}else{if(mh(e))throw Error(I(418));e.flags=e.flags&-4097|2,Ee=!1,Ot=e}}}function Kf(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;Ot=e}function ml(e){if(e!==Ot)return!1;if(!Ee)return Kf(e),Ee=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!=="head"&&t!=="body"&&!ch(e.type,e.memoizedProps)),t&&(t=It)){if(mh(e))throw Qb(),Error(I(418));for(;t;)Jb(e,t),t=Fn(t.nextSibling)}if(Kf(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(I(317)
vendor: 8,336 bytes, line 38
38);e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var r=e.data;if(r==="/$"){if(t===0){It=Fn(e.nextSibling);break e}t--}else r!=="$"&&r!=="$!"&&r!=="$?"||t++}e=e.nextSibling}It=null}}else It=Ot?Fn(e.stateNode.nextSibling):null;return!0}function Qb(){for(var e=It;e;)e=Fn(e.nextSibling)}function Fa(){It=Ot=null,Ee=!1}function Bm(e){mr===null?mr=[e]:mr.push(e)}var tk=dn.ReactCurrentBatchConfig;function pi(e,t,r){if(e=r.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(r._owner){if(r=r._owner,r){if(r.tag!==1)throw Error(I(309));var s=r.stateNode}if(!s)throw Error(I(147,e));var a=s,i=""+e;return t!==null&&t.ref!==null&&typeof t.ref=="function"&&t.ref._stringRef===i?t.ref:(t=function(o){var l=a.refs;o===null?delete l[i]:l[i]=o},t._stringRef=i,t)}if(typeof e!="string")throw Error(I(284));if(!r._owner)throw Error(I(290,e))}return e}function pl(e,t){throw e=Object.prototype.toString.call(t),Error(I(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function Yf(e){var t=e._init;return t(e._payload)}function Xb(e){function t(g,x){if(e){var b=g.deletions;b===null?(g.deletions=[x],g.flags|=16):b.push(x)}}function r(g,x){if(!e)return null;for(;x!==null;)t(g,x),x=x.sibling;return null}function s(g,x){for(g=new Map;x!==null;)x.key!==null?g.set(x.key,x):g.set(x.index,x),x=x.sibling;return g}function a(g,x){return g=Hn(g,x),g.index=0,g.sibling=null,g}function i(g,x,b){return g.index=b,e?(b=g.alternate,b!==null?(b=b.index,b<x?(g.flags|=2,x):b):(g.flags|=2,x)):(g.flags|=1048576,x)}function o(g){return e&&g.alternate===null&&(g.flags|=2),g}function l(g,x,b,j){return x===null||x.tag!==6?(x=cu(b,g.mode,j),x.return=g,x):(x=a(x,b),x.return=g,x)}function c(g,x,b,j){var N=b.type;return N===ia?u(g,x,b.props.children,j,b.key):x!==null&&(x.elementType===N||typeof N=="object"&&N!==null&&N.$$typeof===kn&&Yf(N)===x.type)?(j=a(x,b.props),j.ref=pi(g,x,b),j.return=g,j):(j=Kl(b.type,b.key,b.props,null,g.mode,j),j.ref=pi(g,x,b),j.return=g,j)}function d(g,x,b,j){return x===null||x.tag!==4||x.stateNode.containerInfo!==b.containerInfo||x.stateNode.implementation!==b.implementation?(x=du(b,g.mode,j),x.return=g,x):(x=a(x,b.children||[]),x.return=g,x)}function u(g,x,b,j,N){return x===null||x.tag!==7?(x=Cs(b,g.mode,j,N),x.return=g,x):(x=a(x,b),x.return=g,x)}function h(g,x,b){if(typeof x=="string"&&x!==""||typeof x=="number")return x=cu(""+x,g.mode,b),x.return=g,x;if(typeof x=="object"&&x!==null){switch(x.$$typeof){case nl:return b=Kl(x.type,x.key,x.props,null,g.mode,b),b.ref=pi(g,null,x),b.return=g,b;case aa:return x=du(x,g.mode,b),x.return=g,x;case kn:var j=x._init;return h(g,j(x._payload),b)}if(Si(x)||ci(x))return x=Cs(x,g.mode,b,null),x.return=g,x;pl(g,x)}return null}function m(g,x,b,j){var N=x!==null?x.key:null;if(typeof b=="string"&&b!==""||typeof b=="number")return N!==null?null:l(g,x,""+b,j);if(typeof b=="object"&&b!==null){switch(b.$$typeof){case nl:return b.key===N?c(g,x,b,j):null;case aa:return b.key===N?d(g,x,b,j):null;case kn:return N=b._init,m(g,x,N(b._payload),j)}if(Si(b)||ci(b))return N!==null?null:u(g,x,b,j,null);pl(g,b)}return null}function p(g,x,b,j,N){if(typeof j=="string"&&j!==""||typeof j=="number")return g=g.get(b)||null,l(x,g,""+j,N);if(typeof j=="object"&&j!==null){switch(j.$$typeof){case nl:return g=g.get(j.key===null?b:j.key)||null,c(x,g,j,N);case aa:return g=g.get(j.key===null?b:j.key)||null,d(x,g,j,N);case kn:var k=j._init;return p(g,x,b,k(j._payload),N)}if(Si(j)||ci(j))return g=g.get(b)||null,u(x,g,j,N,null);pl(x,j)}return null}function y(g,x,b,j){for(var N=null,k=null,C=x,S=x=0,_=null;C!==null&&S<b.length;S++){C.index>S?(_=C,C=null):_=C.sibling;var R=m(g,C,b[S],j);if(R===null){C===null&&(C=_);break}e&&C&&R.alternate===null&&t(g,C),x=i(R,x,S),k===null?N=R:k.sibling=R,k=R,C=_}if(S===b.length)return r(g,C),Ee&&os(g,S),N;if(C===null){for(;S<b.length;S++)C=h(g,b[S],j),C!==null&&(x=i(C,x,S),k===null?N=C:k.sibling=C,k=C);return Ee&&os(g,S),N}for(C=s(g,C);S<b.length;S++)_=p(C,g,S,b[S],j),_!==null&&(e&&_.alternate!==null&&C.delete(_.key===null?S:_.key),x=i(_,x,S),k===null?N=_:k.sibling=_,k=_);return e&&C.forEach(function($){return t(g,$)}),Ee&&os(g,S),N}function f(g,x,b,j){var N=ci(b);if(typeof N!="function")throw Error(I(150));if(b=N.call(b),b==null)throw Error(I(151));for(var k=N=null,C=x,S=x=0,_=null,R=b.next();C!==null&&!R.done;S++,R=b.next()){C.index>S?(_=C,C=null):_=C.sibling;var $=m(g,C,R.value,j);if($===null){C===null&&(C=_);break}e&&C&&$.alternate===null&&t(g,C),x=i($,x,S),k===null?N=$:k.sibling=$,k=$,C=_}if(R.done)return r(g,C),Ee&&os(g,S),N;if(C===null){for(;!R.done;S++,R=b.next())R=h(g,R.value,j),R!==null&&(x=i(R,x,S),k===null?N=R:k.sibling=R,k=R);return Ee&&os(g,S),N}for(C=s(g,C);!R.done;S++,R=b.next())R=p(C,g,S,R.value,j),R!==null&&(e&&R.alternate!==null&&C.delete(R.key===null?S:R.key),x=i(R,x,S),k===null?N=R:k.sibling=R,k=R);return e&&C.forEach(function(O){return t(g,O)}),Ee&&os(g,S),N}function v(g,x,b,j){if(typeof b=="object"&&b!==null&&b.type===ia&&b.key===null&&(b=b.props.children),typeof b=="object"&&b!==null){switch(b.$$typeof){case nl:e:{for(var N=b.key,k=x;k!==null;){if(k.key===N){if(N=b.type,N===ia){if(k.tag===7){r(g,k.sibling),x=a(k,b.props.children),x.return=g,g=x;break e}}else if(k.elementType===N||typeof N=="object"&&N!==null&&N.$$typeof===kn&&Yf(N)===k.type){r(g,k.sibling),x=a(k,b.props),x.ref=pi(g,k,b),x.return=g,g=x;break e}r(g,k);break}else t(g,k);k=k.sibling}b.type===ia?(x=Cs(b.props.children,g.mode,j,b.key),x.return=g,g=x):(j=Kl(b.type,b.key,b.props,null,g.mode,j),j.ref=pi(g,x,b),j.return=g,g=j)}return o(g);case aa:e:{for(k=b.key;x!==null;){if(x.key===k)if(x.tag===4&&x.stateNode.containerInfo===b.containerInfo&&x.stateNode.implementation===b.implementation){r(g,x.sibling),x=a(x,b.children||[]),x.return=g,g=x;break e}else{r(g,x);break}else t(g,x);x=x.sibling}x=du(b,g.mode,j),x.return=g,g=x}return o(g);case kn:return k=b._init,v(g,x,k(b._payload),j)}if(Si(b))return y(g,x,b,j);if(ci(b))return f(g,x,b,j);pl(g,b)}return typeof b=="string"&&b!==""||typeof b=="number"?(b=""+b,x!==null&&x.tag===6?(r(g,x.sibling),x=a(x,b),x.return=g,g=x):(r(g,x),x=cu(b,g.mode,j),x.return=g,g=x),o(g)):r(g,x)}return v}var za=Xb(!0),Zb=Xb(!1),xc=Zn(null),yc=null,pa=null,Fm=null;function zm(){Fm=pa=yc=null}function Wm(e){var t=xc.current;Se(xc),e._currentValue=t}function fh(e,t,r){for(;e!==null;){var s=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,s!==null&&(s.childLanes|=t)):s!==null&&(s.childLanes&t)!==t&&(s.childLanes|=t),e===r)break;e=e.return}}function ja(e,t){yc=e,Fm=pa=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(kt=!0),e.firstContext=null)}function Kt(e){var t=e._currentValue;if(Fm!==e)if(e={context:e,memoizedValue:t,next:null},pa===null){if(yc===null)throw Error(I(308));pa=e,yc.dependencies={lanes:0,firstContext:e}}else pa=pa.next=e;return t}var ps=null;function Gm(e){ps===null?ps=[e]:ps.push(e)}function ev(e,t,r,s){var a=t.interleaved;return a===null?(r.next=r,Gm(t)):(r.next=a.next,a.next=r),t.interleaved=r,sn(e,s)}function sn(e,t){e.lanes|=t;var r=e.alternate;for(r!==null&&(r.lanes|=t),r=e,e=e.return;e!==null;)e.childLanes|=t,r=e.alternate,r!==null&&(r.childLanes|=t),r=e,e=e.return;return r.tag===3?r.stateNode:null}var Cn=!1;function Hm(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function tv(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function tn(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function zn(e,t,r){var s=e.updateQueue;if(s===null)return null;if(s=s.shared,ce&2){var a=s.pending;return a===null?t.next=t:(t.next=a.next,a.next=t),s.pending=t,sn(e,r)}return a=s.interleaved,a===null?(t.next=t,Gm(s)):(t.next=a.next,a.next=t),s.interleaved=t,sn(e,r)}function zl(e,t,r){if(t=t.updateQueue,t!==null&&(t=t.shared,(r&4194240)!==0)){var s=t.lanes;s&=e.pendingLanes,r|=s,t.lanes=r,Am(e,r)}}function Jf(e,t){var r=e.updateQueue,s=e.alternate;if(s!==null&&(s=s.updateQueue,r===s)){var a=null,i=null;if(r=r.firstBaseUpdate,r!==null){do{var o={eventTime:r.eventTime,lane:r.lane,tag:r.tag,payload:r.payload,callback:r.callback,next:null};i===null?a=i=o:i=i.next=o,r=r.next}
vendor: 1,802 bytes, line 38
38while(r!==null);i===null?a=i=t:i=i.next=t}else a=i=t;r={baseState:s.baseState,firstBaseUpdate:a,lastBaseUpdate:i,shared:s.shared,effects:s.effects},e.updateQueue=r;return}e=r.lastBaseUpdate,e===null?r.firstBaseUpdate=t:e.next=t,r.lastBaseUpdate=t}function bc(e,t,r,s){var a=e.updateQueue;Cn=!1;var i=a.firstBaseUpdate,o=a.lastBaseUpdate,l=a.shared.pending;if(l!==null){a.shared.pending=null;var c=l,d=c.next;c.next=null,o===null?i=d:o.next=d,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,l=u.lastBaseUpdate,l!==o&&(l===null?u.firstBaseUpdate=d:l.next=d,u.lastBaseUpdate=c))}if(i!==null){var h=a.baseState;o=0,u=d=c=null,l=i;do{var m=l.lane,p=l.eventTime;if((s&m)===m){u!==null&&(u=u.next={eventTime:p,lane:0,tag:l.tag,payload:l.payload,callback:l.callback,next:null});e:{var y=e,f=l;switch(m=t,p=r,f.tag){case 1:if(y=f.payload,typeof y=="function"){h=y.call(p,h,m);break e}h=y;break e;case 3:y.flags=y.flags&-65537|128;case 0:if(y=f.payload,m=typeof y=="function"?y.call(p,h,m):y,m==null)break e;h=Pe({},h,m);break e;case 2:Cn=!0}}l.callback!==null&&l.lane!==0&&(e.flags|=64,m=a.effects,m===null?a.effects=[l]:m.push(l))}else p={eventTime:p,lane:m,tag:l.tag,payload:l.payload,callback:l.callback,next:null},u===null?(d=u=p,c=h):u=u.next=p,o|=m;if(l=l.next,l===null){if(l=a.shared.pending,l===null)break;m=l,l=m.next,m.next=null,a.lastBaseUpdate=m,a.shared.pending=null}}while(!0);if(u===null&&(c=h),a.baseState=c,a.firstBaseUpdate=d,a.lastBaseUpdate=u,t=a.shared.interleaved,t!==null){a=t;do o|=a.lane,a=a.next;while(a!==t)}else i===null&&(a.shared.lanes=0);Ps|=o,e.lanes=o,e.memoizedState=h}}function Qf(e,t,r){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var s=e[t],a=s.callback;if(a!==null){if(s.callback=null,s=r,typeof a!="function")throw Error(I(191,a));a.call(s)}}}var Fo={}
vendor: 5,180 bytes, line 38
38,Ur=Zn(Fo),no=Zn(Fo),so=Zn(Fo);function fs(e){if(e===Fo)throw Error(I(174));return e}function Vm(e,t){switch(we(so,t),we(no,e),we(Ur,Fo),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:Yu(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=Yu(t,e)}Se(Ur),we(Ur,t)}function Wa(){Se(Ur),Se(no),Se(so)}function rv(e){fs(so.current);var t=fs(Ur.current),r=Yu(t,e.type);t!==r&&(we(no,e),we(Ur,r))}function qm(e){no.current===e&&(Se(Ur),Se(no))}var _e=Zn(0);function vc(e){for(var t=e;t!==null;){if(t.tag===13){var r=t.memoizedState;if(r!==null&&(r=r.dehydrated,r===null||r.data==="$?"||r.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var nu=[];function Km(){for(var e=0;e<nu.length;e++)nu[e]._workInProgressVersionPrimary=null;nu.length=0}var Wl=dn.ReactCurrentDispatcher,su=dn.ReactCurrentBatchConfig,As=0,Ae=null,Ge=null,Ye=null,wc=!1,Li=!1,ao=0,rk=0;function it(){throw Error(I(321))}function Ym(e,t){if(t===null)return!1;for(var r=0;r<t.length&&r<e.length;r++)if(!yr(e[r],t[r]))return!1;return!0}function Jm(e,t,r,s,a,i){if(As=i,Ae=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,Wl.current=e===null||e.memoizedState===null?ik:ok,e=r(s,a),Li){i=0;do{if(Li=!1,ao=0,25<=i)throw Error(I(301));i+=1,Ye=Ge=null,t.updateQueue=null,Wl.current=lk,e=r(s,a)}while(Li)}if(Wl.current=jc,t=Ge!==null&&Ge.next!==null,As=0,Ye=Ge=Ae=null,wc=!1,t)throw Error(I(300));return e}function Qm(){var e=ao!==0;return ao=0,e}function Tr(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Ye===null?Ae.memoizedState=Ye=e:Ye=Ye.next=e,Ye}function Yt(){if(Ge===null){var e=Ae.alternate;e=e!==null?e.memoizedState:null}else e=Ge.next;var t=Ye===null?Ae.memoizedState:Ye.next;if(t!==null)Ye=t,Ge=e;else{if(e===null)throw Error(I(310));Ge=e,e={memoizedState:Ge.memoizedState,baseState:Ge.baseState,baseQueue:Ge.baseQueue,queue:Ge.queue,next:null},Ye===null?Ae.memoizedState=Ye=e:Ye=Ye.next=e}return Ye}function io(e,t){return typeof t=="function"?t(e):t}function au(e){var t=Yt(),r=t.queue;if(r===null)throw Error(I(311));r.lastRenderedReducer=e;var s=Ge,a=s.baseQueue,i=r.pending;if(i!==null){if(a!==null){var o=a.next;a.next=i.next,i.next=o}s.baseQueue=a=i,r.pending=null}if(a!==null){i=a.next,s=s.baseState;var l=o=null,c=null,d=i;do{var u=d.lane;if((As&u)===u)c!==null&&(c=c.next={lane:0,action:d.action,hasEagerState:d.hasEagerState,eagerState:d.eagerState,next:null}),s=d.hasEagerState?d.eagerState:e(s,d.action);else{var h={lane:u,action:d.action,hasEagerState:d.hasEagerState,eagerState:d.eagerState,next:null};c===null?(l=c=h,o=s):c=c.next=h,Ae.lanes|=u,Ps|=u}d=d.next}while(d!==null&&d!==i);c===null?o=s:c.next=l,yr(s,t.memoizedState)||(kt=!0),t.memoizedState=s,t.baseState=o,t.baseQueue=c,r.lastRenderedState=s}if(e=r.interleaved,e!==null){a=e;do i=a.lane,Ae.lanes|=i,Ps|=i,a=a.next;while(a!==e)}else a===null&&(r.lanes=0);return[t.memoizedState,r.dispatch]}function iu(e){var t=Yt(),r=t.queue;if(r===null)throw Error(I(311));r.lastRenderedReducer=e;var s=r.dispatch,a=r.pending,i=t.memoizedState;if(a!==null){r.pending=null;var o=a=a.next;do i=e(i,o.action),o=o.next;while(o!==a);yr(i,t.memoizedState)||(kt=!0),t.memoizedState=i,t.baseQueue===null&&(t.baseState=i),r.lastRenderedState=i}return[i,s]}function nv(){}function sv(e,t){var r=Ae,s=Yt(),a=t(),i=!yr(s.memoizedState,a);if(i&&(s.memoizedState=a,kt=!0),s=s.queue,Xm(ov.bind(null,r,s,e),[e]),s.getSnapshot!==t||i||Ye!==null&&Ye.memoizedState.tag&1){if(r.flags|=2048,oo(9,iv.bind(null,r,s,a,t),void 0,null),Je===null)throw Error(I(349));As&30||av(r,t,a)}return a}function av(e,t,r){e.flags|=16384,e={getSnapshot:t,value:r},t=Ae.updateQueue,t===null?(t={lastEffect:null,stores:null},Ae.updateQueue=t,t.stores=[e]):(r=t.stores,r===null?t.stores=[e]:r.push(e))}function iv(e,t,r,s){t.value=r,t.getSnapshot=s,lv(t)&&cv(e)}function ov(e,t,r){return r(function(){lv(t)&&cv(e)})}function lv(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!yr(e,r)}catch{return!0}}function cv(e){var t=sn(e,1);t!==null&&gr(t,e,1,-1)}function Xf(e){var t=Tr();return typeof e=="function"&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:io,lastRenderedState:e},t.queue=e,e=e.dispatch=ak.bind(null,Ae,e),[t.memoizedState,e]}function oo(e,t,r,s){return e={tag:e,create:t,destroy:r,deps:s,next:null},t=Ae.updateQueue,t===null?(t={lastEffect:null,stores:null},Ae.updateQueue=t,t.lastEffect=e.next=e):(r=t.lastEffect,r===null?t.lastEffect=e.next=e:(s=r.next,r.next=e,e.next=s,t.lastEffect=e)),e}function dv(){return Yt().memoizedState}function Gl(e,t,r,s){var a=Tr();Ae.flags|=e,a.memoizedState=oo(1|t,r,void 0,s===void 0?null:s)}function Yc(e,t,r,s){var a=Yt();s=s===void 0?null:s;var i=void 0;if(Ge!==null){var o=Ge.memoizedState;if(i=o.destroy,s!==null&&Ym(s,o.deps)){a.memoizedState=oo(t,r,i,s);return}}Ae.flags|=e,a.memoizedState=oo(1|t,r,i,s)}
vendor: 10,309 bytes, lines 38-40
38function Zf(e,t){return Gl(8390656,8,e,t)}function Xm(e,t){return Yc(2048,8,e,t)}function uv(e,t){return Yc(4,2,e,t)}function hv(e,t){return Yc(4,4,e,t)}function mv(e,t){if(typeof t=="function")return e=e(),t(e),function(){t(null)};if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function pv(e,t,r){return r=r!=null?r.concat([e]):null,Yc(4,4,mv.bind(null,t,e),r)}function Zm(){}function fv(e,t){var r=Yt();t=t===void 0?null:t;var s=r.memoizedState;return s!==null&&t!==null&&Ym(t,s[1])?s[0]:(r.memoizedState=[e,t],e)}function gv(e,t){var r=Yt();t=t===void 0?null:t;var s=r.memoizedState;return s!==null&&t!==null&&Ym(t,s[1])?s[0]:(e=e(),r.memoizedState=[e,t],e)}function xv(e,t,r){return As&21?(yr(r,t)||(r=jb(),Ae.lanes|=r,Ps|=r,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,kt=!0),e.memoizedState=r)}function nk(e,t){var r=ge;ge=r!==0&&4>r?r:4,e(!0);var s=su.transition;su.transition={};try{e(!1),t()}finally{ge=r,su.transition=s}}function yv(){return Yt().memoizedState}function sk(e,t,r){var s=Gn(e);if(r={lane:s,action:r,hasEagerState:!1,eagerState:null,next:null},bv(e))vv(t,r);else if(r=ev(e,t,r,s),r!==null){var a=gt();gr(r,e,s,a),wv(r,t,s)}}function ak(e,t,r){var s=Gn(e),a={lane:s,action:r,hasEagerState:!1,eagerState:null,next:null};if(bv(e))vv(t,a);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var o=t.lastRenderedState,l=i(o,r);if(a.hasEagerState=!0,a.eagerState=l,yr(l,o)){var c=t.interleaved;c===null?(a.next=a,Gm(t)):(a.next=c.next,c.next=a),t.interleaved=a;return}}catch{}finally{}r=ev(e,t,a,s),r!==null&&(a=gt(),gr(r,e,s,a),wv(r,t,s))}}function bv(e){var t=e.alternate;return e===Ae||t!==null&&t===Ae}function vv(e,t){Li=wc=!0;var r=e.pending;r===null?t.next=t:(t.next=r.next,r.next=t),e.pending=t}function wv(e,t,r){if(r&4194240){var s=t.lanes;s&=e.pendingLanes,r|=s,t.lanes=r,Am(e,r)}}var jc={readContext:Kt,useCallback:it,useContext:it,useEffect:it,useImperativeHandle:it,useInsertionEffect:it,useLayoutEffect:it,useMemo:it,useReducer:it,useRef:it,useState:it,useDebugValue:it,useDeferredValue:it,useTransition:it,useMutableSource:it,useSyncExternalStore:it,useId:it,unstable_isNewReconciler:!1},ik={readContext:Kt,useCallback:function(e,t){return Tr().memoizedState=[e,t===void 0?null:t],e},useContext:Kt,useEffect:Zf,useImperativeHandle:function(e,t,r){return r=r!=null?r.concat([e]):null,Gl(4194308,4,mv.bind(null,t,e),r)},useLayoutEffect:function(e,t){return Gl(4194308,4,e,t)},useInsertionEffect:function(e,t){return Gl(4,2,e,t)},useMemo:function(e,t){var r=Tr();return t=t===void 0?null:t,e=e(),r.memoizedState=[e,t],e},useReducer:function(e,t,r){var s=Tr();return t=r!==void 0?r(t):t,s.memoizedState=s.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},s.queue=e,e=e.dispatch=sk.bind(null,Ae,e),[s.memoizedState,e]},useRef:function(e){var t=Tr();return e={current:e},t.memoizedState=e},useState:Xf,useDebugValue:Zm,useDeferredValue:function(e){return Tr().memoizedState=e},useTransition:function(){var e=Xf(!1),t=e[0];return e=nk.bind(null,e[1]),Tr().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,r){var s=Ae,a=Tr();if(Ee){if(r===void 0)throw Error(I(407));r=r()}else{if(r=t(),Je===null)throw Error(I(349));As&30||av(s,t,r)}a.memoizedState=r;var i={value:r,getSnapshot:t};return a.queue=i,Zf(ov.bind(null,s,i,e),[e]),s.flags|=2048,oo(9,iv.bind(null,s,i,r,t),void 0,null),r},useId:function(){var e=Tr(),t=Je.identifierPrefix;if(Ee){var r=en,s=Zr;r=(s&~(1<<32-fr(s)-1)).toString(32)+r,t=":"+t+"R"+r,r=ao++,0<r&&(t+="H"+r.toString(32)),t+=":"}else r=rk++,t=":"+t+"r"+r.toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},ok={readContext:Kt,useCallback:fv,useContext:Kt,useEffect:Xm,useImperativeHandle:pv,useInsertionEffect:uv,useLayoutEffect:hv,useMemo:gv,useReducer:au,useRef:dv,useState:function(){return au(io)},useDebugValue:Zm,useDeferredValue:function(e){var t=Yt();return xv(t,Ge.memoizedState,e)},useTransition:function(){var e=au(io)[0],t=Yt().memoizedState;return[e,t]},useMutableSource:nv,useSyncExternalStore:sv,useId:yv,unstable_isNewReconciler:!1},lk={readContext:Kt,useCallback:fv,useContext:Kt,useEffect:Xm,useImperativeHandle:pv,useInsertionEffect:uv,useLayoutEffect:hv,useMemo:gv,useReducer:iu,useRef:dv,useState:function(){return iu(io)},useDebugValue:Zm,useDeferredValue:function(e){var t=Yt();return Ge===null?t.memoizedState=e:xv(t,Ge.memoizedState,e)},useTransition:function(){var e=iu(io)[0],t=Yt().memoizedState;return[e,t]},useMutableSource:nv,useSyncExternalStore:sv,useId:yv,unstable_isNewReconciler:!1};function or(e,t){if(e&&e.defaultProps){t=Pe({},t),e=e.defaultProps;for(var r in e)t[r]===void 0&&(t[r]=e[r]);return t}return t}function gh(e,t,r,s){t=e.memoizedState,r=r(s,t),r=r==null?t:Pe({},t,r),e.memoizedState=r,e.lanes===0&&(e.updateQueue.baseState=r)}var Jc={isMounted:function(e){return(e=e._reactInternals)?$s(e)===e:!1},enqueueSetState:function(e,t,r){e=e._reactInternals;var s=gt(),a=Gn(e),i=tn(s,a);i.payload=t,r!=null&&(i.callback=r),t=zn(e,i,a),t!==null&&(gr(t,e,a,s),zl(t,e,a))},enqueueReplaceState:function(e,t,r){e=e._reactInternals;var s=gt(),a=Gn(e),i=tn(s,a);i.tag=1,i.payload=t,r!=null&&(i.callback=r),t=zn(e,i,a),t!==null&&(gr(t,e,a,s),zl(t,e,a))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var r=gt(),s=Gn(e),a=tn(r,s);a.tag=2,t!=null&&(a.callback=t),t=zn(e,a,s),t!==null&&(gr(t,e,s,r),zl(t,e,s))}};function eg(e,t,r,s,a,i,o){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(s,i,o):t.prototype&&t.prototype.isPureReactComponent?!Zi(r,s)||!Zi(a,i):!0}function jv(e,t,r){var s=!1,a=qn,i=t.contextType;return typeof i=="object"&&i!==null?i=Kt(i):(a=St(t)?_s:dt.current,s=t.contextTypes,i=(s=s!=null)?Ba(e,a):qn),t=new t(r,i),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=Jc,e.stateNode=t,t._reactInternals=e,s&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=a,e.__reactInternalMemoizedMaskedChildContext=i),t}function tg(e,t,r,s){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(r,s),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(r,s),t.state!==e&&Jc.enqueueReplaceState(t,t.state,null)}function xh(e,t,r,s){var a=e.stateNode;a.props=r,a.state=e.memoizedState,a.refs={},Hm(e);var i=t.contextType;typeof i=="object"&&i!==null?a.context=Kt(i):(i=St(t)?_s:dt.current,a.context=Ba(e,i)),a.state=e.memoizedState,i=t.getDerivedStateFromProps,typeof i=="function"&&(gh(e,t,i,r),a.state=e.memoizedState),typeof t.getDerivedStateFromProps=="function"||typeof a.getSnapshotBeforeUpdate=="function"||typeof a.UNSAFE_componentWillMount!="function"&&typeof a.componentWillMount!="function"||(t=a.state,typeof a.componentWillMount=="function"&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount=="function"&&a.UNSAFE_componentWillMount(),t!==a.state&&Jc.enqueueReplaceState(a,a.state,null),bc(e,r,a,s),a.state=e.memoizedState),typeof a.componentDidMount=="function"&&(e.flags|=4194308)}function Ga(e,t){try{var r="",s=t;do r+=MN(s),s=s.return;while(s);var a=r}catch(i){a=`
39Error generating stack: `+i.message+`
40`+i.stack}return{value:e,source:t,stack:a,digest:null}}function ou(e,t,r){return{value:e,source:null,stack:r??null,digest:t??null}}function yh(e,t){try{console.error(t.value)}catch(r){setTimeout(function(){throw r})}}var ck=typeof WeakMap=="function"?WeakMap:Map;function Nv(e,t,r){r=tn(-1,r),r.tag=3,r.payload={element:null};var s=t.value;return r.callback=function(){kc||(kc=!0,_h=s),yh(e,t)},r}function kv(e,t,r){r=tn(-1,r),r.tag=3;var s=e.type.getDerivedStateFromError;if(typeof s=="function"){var a=t.value;r.payload=function(){return s(a)},r.callback=function(){yh(e,t)}}var i=e.stateNode;return i!==null&&typeof i.componentDidCatch=="function"&&(r.callback=function(){yh(e,t),typeof s!="function"&&(Wn===null?Wn=new Set([this]):Wn.add(this));var o=t.stack;this.componentDidCatch(t.value,{componentStack:o!==null?o:""})}),r}function rg(e,t,r){var s=e.pingCache;if(s===null){s=e.pingCache=new ck;var a=new Set;s.set(t,a)}else a=s.get(t),a===void 0&&(a=new Set,s.set(t,a));a.has(r)||(a.add(r),e=Nk.bind(null,e,t,r),t.then(e,e))}function ng(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function sg(e,t,r,s,a){return e.mode&1?(e.flags|=65536,e.lanes=a,e):(e===t?e.flags|=65536:(e.flags|=128,r.flags|=131072,r.flags&=-52805,r.tag===1&&(r.alternate===null?r.tag=17:(t=tn(-1,1),t.tag=2,zn(r,t,1))),r.lanes|=1),e)}var dk=dn.ReactCurrentOwner,kt=!1;function pt(e,t,r,s){t.child=e===null?Zb(t,null,r,s):za(t,e.child,r,s)}function ag(e,t,r,s,a){r=r.render;var i=t.ref;return ja(t,a),s=Jm(e,t,r,s,i,a),r=Qm(),e!==null&&!kt?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a,an(e,t,a)):(Ee&&r&&$m(t),t.flags|=1,pt(e,t,s,a),t.child)}function ig(e,t,r,s,a){if(e===null){var i=r.type;return typeof i=="function"&&!op(i)&&i.defaultProps===void 0&&r.compare===null&&r.defaultProps===void 0?(t.tag=15,t.type=i,Cv(e,t,i,s,a)):(e=Kl(r.type,null,s,t,t.mode,a),e.ref=t.ref,e.return=t,t.child=e)}if(i=e.child,!(e.lanes&a)){var o=i.memoizedProps;if(r=r.compare,r=r!==null?r:Zi,r(o,s)&&e.ref===t.ref)return an(e,t,a)}return t.flags|=1,e=Hn(i,s),e.ref=t.ref,e.return=t,t.child=e}function Cv(e,t,r,s,a){if(e!==null){var i=e.memoizedProps;if(Zi(i,s)&&e.ref===t.ref)if(kt=!1,t.pendingProps=s=i,(e.lanes&a)!==0)e.flags&131072&&(kt=!0);else return t.lanes=e.lanes,an(e,t,a)}return bh(e,t,r,s,a)}function Sv(e,t,r){var s=t.pendingProps,a=s.children,i=e!==null?e.memoizedState:null;if(s.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},we(ga,Pt),Pt|=r;else{if(!(r&1073741824))return e=i!==null?i.baseLanes|r:r,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,we(ga,Pt),Pt|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},s=i!==null?i.baseLanes:r,we(ga,Pt),Pt|=s}else i!==null?(s=i.baseLanes|r,t.memoizedState=null):s=r,we(ga,Pt),Pt|=s;return pt(e,t,a,r),t.child}function Ev(e,t){var r=t.ref;(e===null&&r!==null||e!==null&&e.ref!==r)&&(t.flags|=512,t.flags|=2097152)}
vendor: 4,711 bytes, line 40
40function bh(e,t,r,s,a){var i=St(r)?_s:dt.current;return i=Ba(t,i),ja(t,a),r=Jm(e,t,r,s,i,a),s=Qm(),e!==null&&!kt?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a,an(e,t,a)):(Ee&&s&&$m(t),t.flags|=1,pt(e,t,r,a),t.child)}function og(e,t,r,s,a){if(St(r)){var i=!0;pc(t)}else i=!1;if(ja(t,a),t.stateNode===null)Hl(e,t),jv(t,r,s),xh(t,r,s,a),s=!0;else if(e===null){var o=t.stateNode,l=t.memoizedProps;o.props=l;var c=o.context,d=r.contextType;typeof d=="object"&&d!==null?d=Kt(d):(d=St(r)?_s:dt.current,d=Ba(t,d));var u=r.getDerivedStateFromProps,h=typeof u=="function"||typeof o.getSnapshotBeforeUpdate=="function";h||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(l!==s||c!==d)&&tg(t,o,s,d),Cn=!1;var m=t.memoizedState;o.state=m,bc(t,s,o,a),c=t.memoizedState,l!==s||m!==c||Ct.current||Cn?(typeof u=="function"&&(gh(t,r,u,s),c=t.memoizedState),(l=Cn||eg(t,r,l,s,m,c,d))?(h||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(t.flags|=4194308)):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=s,t.memoizedState=c),o.props=s,o.state=c,o.context=d,s=l):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),s=!1)}else{o=t.stateNode,tv(e,t),l=t.memoizedProps,d=t.type===t.elementType?l:or(t.type,l),o.props=d,h=t.pendingProps,m=o.context,c=r.contextType,typeof c=="object"&&c!==null?c=Kt(c):(c=St(r)?_s:dt.current,c=Ba(t,c));var p=r.getDerivedStateFromProps;(u=typeof p=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(l!==h||m!==c)&&tg(t,o,s,c),Cn=!1,m=t.memoizedState,o.state=m,bc(t,s,o,a);var y=t.memoizedState;l!==h||m!==y||Ct.current||Cn?(typeof p=="function"&&(gh(t,r,p,s),y=t.memoizedState),(d=Cn||eg(t,r,d,s,m,y,c)||!1)?(u||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(s,y,c),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(s,y,c)),typeof o.componentDidUpdate=="function"&&(t.flags|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof o.componentDidUpdate!="function"||l===e.memoizedProps&&m===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||l===e.memoizedProps&&m===e.memoizedState||(t.flags|=1024),t.memoizedProps=s,t.memoizedState=y),o.props=s,o.state=y,o.context=c,s=d):(typeof o.componentDidUpdate!="function"||l===e.memoizedProps&&m===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||l===e.memoizedProps&&m===e.memoizedState||(t.flags|=1024),s=!1)}return vh(e,t,r,s,i,a)}function vh(e,t,r,s,a,i){Ev(e,t);var o=(t.flags&128)!==0;if(!s&&!o)return a&&Vf(t,r,!1),an(e,t,i);s=t.stateNode,dk.current=t;var l=o&&typeof r.getDerivedStateFromError!="function"?null:s.render();return t.flags|=1,e!==null&&o?(t.child=za(t,e.child,null,i),t.child=za(t,null,l,i)):pt(e,t,l,i),t.memoizedState=s.state,a&&Vf(t,r,!0),t.child}function _v(e){var t=e.stateNode;t.pendingContext?Hf(e,t.pendingContext,t.pendingContext!==t.context):t.context&&Hf(e,t.context,!1),Vm(e,t.containerInfo)}function lg(e,t,r,s,a){return Fa(),Bm(a),t.flags|=256,pt(e,t,r,s),t.child}var wh={dehydrated:null,treeContext:null,retryLane:0};function jh(e){return{baseLanes:e,cachePool:null,transitions:null}}function Tv(e,t,r){var s=t.pendingProps,a=_e.current,i=!1,o=(t.flags&128)!==0,l;if((l=o)||(l=e!==null&&e.memoizedState===null?!1:(a&2)!==0),l?(i=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(a|=1),we(_e,a&1),e===null)return ph(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data==="$!"?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(o=s.children,e=s.fallback,i?(s=t.mode,i=t.child,o={mode:"hidden",children:o},!(s&1)&&i!==null?(i.childLanes=0,i.pendingProps=o):i=Zc(o,s,0,null),e=Cs(e,s,r,null),i.return=t,e.return=t,i.sibling=e,t.child=i,t.child.memoizedState=jh(r),t.memoizedState=wh,e):ep(t,o));if(a=e.memoizedState,a!==null&&(l=a.dehydrated,l!==null))return uk(e,t,o,s,l,a,r);if(i){i=s.fallback,o=t.mode,a=e.child,l=a.sibling;var c={mode:"hidden",children:s.children};return!(o&1)&&t.child!==a?(s=t.child,s.childLanes=0,s.pendingProps=c,t.deletions=null):(s=Hn(a,c),s.subtreeFlags=a.subtreeFlags&14680064),l!==null?i=Hn(l,i):(i=Cs(i,o,r,null),i.flags|=2),i.return=t,s.return=t,s.sibling=i,t.child=s,s=i,i=t.child,o=e.child.memoizedState,o=o===null?jh(r):{base
vendor: 7,497 bytes, line 40
40Lanes:o.baseLanes|r,cachePool:null,transitions:o.transitions},i.memoizedState=o,i.childLanes=e.childLanes&~r,t.memoizedState=wh,s}return i=e.child,e=i.sibling,s=Hn(i,{mode:"visible",children:s.children}),!(t.mode&1)&&(s.lanes=r),s.return=t,s.sibling=null,e!==null&&(r=t.deletions,r===null?(t.deletions=[e],t.flags|=16):r.push(e)),t.child=s,t.memoizedState=null,s}function ep(e,t){return t=Zc({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function fl(e,t,r,s){return s!==null&&Bm(s),za(t,e.child,null,r),e=ep(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function uk(e,t,r,s,a,i,o){if(r)return t.flags&256?(t.flags&=-257,s=ou(Error(I(422))),fl(e,t,o,s)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(i=s.fallback,a=t.mode,s=Zc({mode:"visible",children:s.children},a,0,null),i=Cs(i,a,o,null),i.flags|=2,s.return=t,i.return=t,s.sibling=i,t.child=s,t.mode&1&&za(t,e.child,null,o),t.child.memoizedState=jh(o),t.memoizedState=wh,i);if(!(t.mode&1))return fl(e,t,o,null);if(a.data==="$!"){if(s=a.nextSibling&&a.nextSibling.dataset,s)var l=s.dgst;return s=l,i=Error(I(419)),s=ou(i,s,void 0),fl(e,t,o,s)}if(l=(o&e.childLanes)!==0,kt||l){if(s=Je,s!==null){switch(o&-o){case 4:a=2;break;case 16:a=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:a=32;break;case 536870912:a=268435456;break;default:a=0}a=a&(s.suspendedLanes|o)?0:a,a!==0&&a!==i.retryLane&&(i.retryLane=a,sn(e,a),gr(s,e,a,-1))}return ip(),s=ou(Error(I(421))),fl(e,t,o,s)}return a.data==="$?"?(t.flags|=128,t.child=e.child,t=kk.bind(null,e),a._reactRetry=t,null):(e=i.treeContext,It=Fn(a.nextSibling),Ot=t,Ee=!0,mr=null,e!==null&&(Wt[Gt++]=Zr,Wt[Gt++]=en,Wt[Gt++]=Ts,Zr=e.id,en=e.overflow,Ts=t),t=ep(t,s.children),t.flags|=4096,t)}function cg(e,t,r){e.lanes|=t;var s=e.alternate;s!==null&&(s.lanes|=t),fh(e.return,t,r)}function lu(e,t,r,s,a){var i=e.memoizedState;i===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:s,tail:r,tailMode:a}:(i.isBackwards=t,i.rendering=null,i.renderingStartTime=0,i.last=s,i.tail=r,i.tailMode=a)}function Av(e,t,r){var s=t.pendingProps,a=s.revealOrder,i=s.tail;if(pt(e,t,s.children,r),s=_e.current,s&2)s=s&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&cg(e,r,t);else if(e.tag===19)cg(e,r,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}s&=1}if(we(_e,s),!(t.mode&1))t.memoizedState=null;else switch(a){case"forwards":for(r=t.child,a=null;r!==null;)e=r.alternate,e!==null&&vc(e)===null&&(a=r),r=r.sibling;r=a,r===null?(a=t.child,t.child=null):(a=r.sibling,r.sibling=null),lu(t,!1,a,r,i);break;case"backwards":for(r=null,a=t.child,t.child=null;a!==null;){if(e=a.alternate,e!==null&&vc(e)===null){t.child=a;break}e=a.sibling,a.sibling=r,r=a,a=e}lu(t,!0,r,null,i);break;case"together":lu(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function Hl(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function an(e,t,r){if(e!==null&&(t.dependencies=e.dependencies),Ps|=t.lanes,!(r&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(I(153));if(t.child!==null){for(e=t.child,r=Hn(e,e.pendingProps),t.child=r,r.return=t;e.sibling!==null;)e=e.sibling,r=r.sibling=Hn(e,e.pendingProps),r.return=t;r.sibling=null}return t.child}function hk(e,t,r){switch(t.tag){case 3:_v(t),Fa();break;case 5:rv(t);break;case 1:St(t.type)&&pc(t);break;case 4:Vm(t,t.stateNode.containerInfo);break;case 10:var s=t.type._context,a=t.memoizedProps.value;we(xc,s._currentValue),s._currentValue=a;break;case 13:if(s=t.memoizedState,s!==null)return s.dehydrated!==null?(we(_e,_e.current&1),t.flags|=128,null):r&t.child.childLanes?Tv(e,t,r):(we(_e,_e.current&1),e=an(e,t,r),e!==null?e.sibling:null);we(_e,_e.current&1);break;case 19:if(s=(r&t.childLanes)!==0,e.flags&128){if(s)return Av(e,t,r);t.flags|=128}if(a=t.memoizedState,a!==null&&(a.rendering=null,a.tail=null,a.lastEffect=null),we(_e,_e.current),s)break;return null;case 22:case 23:return t.lanes=0,Sv(e,t,r)}return an(e,t,r)}var Pv,Nh,Rv,Dv;Pv=function(e,t){for(var r=t.child;r!==null;){if(r.tag===5||r.tag===6)e.appendChild(r.stateNode);else if(r.tag!==4&&r.child!==null){r.child.return=r,r=r.child;continue}if(r===t)break;for(;r.sibling===null;){if(r.return===null||r.return===t)return;r=r.return}r.sibling.return=r.return,r=r.sibling}};Nh=function(){};Rv=function(e,t,r,s){var a=e.memoizedProps;if(a!==s){e=t.stateNode,fs(Ur.current);var i=null;switch(r){case"input":a=Hu(e,a),s=Hu(e,s),i=[];break;case"select":a=Pe({},a,{value:void 0}),s=Pe({},s,{value:void 0}),i=[];break;case"textarea":a=Ku(e,a),s=Ku(e,s),i=[];break;default:typeof a.onClick!="function"&&typeof s.onClick=="function"&&(e.onclick=hc)}Ju(r,s);var o;r=null;for(d in a)if(!s.hasOwnProperty(d)&&a.hasOwnProperty(d)&&a[d]!=null)if(d==="style"){var l=a[d];for(o in l)l.hasOwnProperty(o)&&(r||(r={}),r[o]="")}else d!=="dangerouslySetInnerHTML"&&d!=="children"&&d!=="suppressContentEditableWarning"&&d!=="suppressHydrationWarning"&&d!=="autoFocus"&&(Vi.hasOwnProperty(d)?i||(i=[]):(i=i||[]).push(d,null));for(d in s){var c=s[d];if(l=a!=null?a[d]:void 0,s.hasOwnProperty(d)&&c!==l&&(c!=null||l!=null))if(d==="style")if(l){for(o in l)!l.hasOwnProperty(o)||c&&c.hasOwnProperty(o)||(r||(r={}),r[o]="");for(o in c)c.hasOwnProperty(o)&&l[o]!==c[o]&&(r||(r={}),r[o]=c[o])}else r||(i||(i=[]),i.push(d,r)),r=c;else d==="dangerouslySetInnerHTML"?(c=c?c.__html:void 0,l=l?l.__html:void 0,c!=null&&l!==c&&(i=i||[]).push(d,c)):d==="children"?typeof c!="string"&&typeof c!="number"||(i=i||[]).push(d,""+c):d!=="suppressContentEditableWarning"&&d!=="suppressHydrationWarning"&&(Vi.hasOwnProperty(d)?(c!=null&&d==="onScroll"&&ke("scroll",e),i||l===c||(i=[])):(i=i||[]).push(d,c))}r&&(i=i||[]).push("style",r);var d=i;(t.updateQueue=d)&&(t.flags|=4)}};Dv=function(e,t,r,s){r!==s&&(t.flags|=4)};function fi(e,t){if(!Ee)switch(e.tailMode){case"hidden":t=e.tail;for(var r=null;t!==null;)t.alternate!==null&&(r=t),t=t.sibling;r===null?e.tail=null:r.sibling=null;break;case"collapsed":r=e.tail;for(var s=null;r!==null;)r.alternate!==null&&(s=r),r=r.sibling;s===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:s.sibling=null}}function ot(e){var t=e.alternate!==null&&e.alternate.child===e.child,r=0,s=0;if(t)for(var a=e.child;a!==null;)r|=a.lanes|a.childLanes,s|=a.subtreeFlags&14680064,s|=a.flags&14680064,a.return=e,a=a.sibling;else for(a=e.child;a!==null;)r|=a.lanes|a.childLanes,s|=a.subtreeFlags,s|=a.flags,a.return=e,a=a.sibling;return e.subtreeFlags|=s,e.childLanes=r,t}function mk(e,t,r){var s=t.pendingProps;switch(Um(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return ot(t),null;case 1:return St(t.type)&&mc(),ot(t),null;case 3:return s=t.stateNode,Wa(),Se(Ct),Se(dt),Km(),s.pendingContext&&(s.context=s.pendingContext,s.pendingContext=null),(e===null||e.child===null)&&(ml(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,mr!==null&&(Ph(mr),mr=null))),Nh(e,t),ot(t),null;case 5:qm(t);var a=fs(so.current);if(r=t.type,e!==null&&t.stateNode!=null)Rv(e,t,r,s,a),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);
vendor: 31,086 bytes, line 40
40else{if(!s){if(t.stateNode===null)throw Error(I(166));return ot(t),null}if(e=fs(Ur.current),ml(t)){s=t.stateNode,r=t.type;var i=t.memoizedProps;switch(s[Or]=t,s[ro]=i,e=(t.mode&1)!==0,r){case"dialog":ke("cancel",s),ke("close",s);break;case"iframe":case"object":case"embed":ke("load",s);break;case"video":case"audio":for(a=0;a<_i.length;a++)ke(_i[a],s);break;case"source":ke("error",s);break;case"img":case"image":case"link":ke("error",s),ke("load",s);break;case"details":ke("toggle",s);break;case"input":yf(s,i),ke("invalid",s);break;case"select":s._wrapperState={wasMultiple:!!i.multiple},ke("invalid",s);break;case"textarea":vf(s,i),ke("invalid",s)}Ju(r,i),a=null;for(var o in i)if(i.hasOwnProperty(o)){var l=i[o];o==="children"?typeof l=="string"?s.textContent!==l&&(i.suppressHydrationWarning!==!0&&hl(s.textContent,l,e),a=["children",l]):typeof l=="number"&&s.textContent!==""+l&&(i.suppressHydrationWarning!==!0&&hl(s.textContent,l,e),a=["children",""+l]):Vi.hasOwnProperty(o)&&l!=null&&o==="onScroll"&&ke("scroll",s)}switch(r){case"input":sl(s),bf(s,i,!0);break;case"textarea":sl(s),wf(s);break;case"select":case"option":break;default:typeof i.onClick=="function"&&(s.onclick=hc)}s=a,t.updateQueue=s,s!==null&&(t.flags|=4)}else{o=a.nodeType===9?a:a.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=ob(r)),e==="http://www.w3.org/1999/xhtml"?r==="script"?(e=o.createElement("div"),e.innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):typeof s.is=="string"?e=o.createElement(r,{is:s.is}):(e=o.createElement(r),r==="select"&&(o=e,s.multiple?o.multiple=!0:s.size&&(o.size=s.size))):e=o.createElementNS(e,r),e[Or]=t,e[ro]=s,Pv(e,t,!1,!1),t.stateNode=e;e:{switch(o=Qu(r,s),r){case"dialog":ke("cancel",e),ke("close",e),a=s;break;case"iframe":case"object":case"embed":ke("load",e),a=s;break;case"video":case"audio":for(a=0;a<_i.length;a++)ke(_i[a],e);a=s;break;case"source":ke("error",e),a=s;break;case"img":case"image":case"link":ke("error",e),ke("load",e),a=s;break;case"details":ke("toggle",e),a=s;break;case"input":yf(e,s),a=Hu(e,s),ke("invalid",e);break;case"option":a=s;break;case"select":e._wrapperState={wasMultiple:!!s.multiple},a=Pe({},s,{value:void 0}),ke("invalid",e);break;case"textarea":vf(e,s),a=Ku(e,s),ke("invalid",e);break;default:a=s}Ju(r,a),l=a;for(i in l)if(l.hasOwnProperty(i)){var c=l[i];i==="style"?db(e,c):i==="dangerouslySetInnerHTML"?(c=c?c.__html:void 0,c!=null&&lb(e,c)):i==="children"?typeof c=="string"?(r!=="textarea"||c!=="")&&qi(e,c):typeof c=="number"&&qi(e,""+c):i!=="suppressContentEditableWarning"&&i!=="suppressHydrationWarning"&&i!=="autoFocus"&&(Vi.hasOwnProperty(i)?c!=null&&i==="onScroll"&&ke("scroll",e):c!=null&&km(e,i,c,o))}switch(r){case"input":sl(e),bf(e,s,!1);break;case"textarea":sl(e),wf(e);break;case"option":s.value!=null&&e.setAttribute("value",""+Vn(s.value));break;case"select":e.multiple=!!s.multiple,i=s.value,i!=null?ya(e,!!s.multiple,i,!1):s.defaultValue!=null&&ya(e,!!s.multiple,s.defaultValue,!0);break;default:typeof a.onClick=="function"&&(e.onclick=hc)}switch(r){case"button":case"input":case"select":case"textarea":s=!!s.autoFocus;break e;case"img":s=!0;break e;default:s=!1}}s&&(t.flags|=4)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}return ot(t),null;case 6:if(e&&t.stateNode!=null)Dv(e,t,e.memoizedProps,s);else{if(typeof s!="string"&&t.stateNode===null)throw Error(I(166));if(r=fs(so.current),fs(Ur.current),ml(t)){if(s=t.stateNode,r=t.memoizedProps,s[Or]=t,(i=s.nodeValue!==r)&&(e=Ot,e!==null))switch(e.tag){case 3:hl(s.nodeValue,r,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&hl(s.nodeValue,r,(e.mode&1)!==0)}i&&(t.flags|=4)}else s=(r.nodeType===9?r:r.ownerDocument).createTextNode(s),s[Or]=t,t.stateNode=s}return ot(t),null;case 13:if(Se(_e),s=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(Ee&&It!==null&&t.mode&1&&!(t.flags&128))Qb(),Fa(),t.flags|=98560,i=!1;else if(i=ml(t),s!==null&&s.dehydrated!==null){if(e===null){if(!i)throw Error(I(318));if(i=t.memoizedState,i=i!==null?i.dehydrated:null,!i)throw Error(I(317));i[Or]=t}else Fa(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;ot(t),i=!1}else mr!==null&&(Ph(mr),mr=null),i=!0;if(!i)return t.flags&65536?t:null}return t.flags&128?(t.lanes=r,t):(s=s!==null,s!==(e!==null&&e.memoizedState!==null)&&s&&(t.child.flags|=8192,t.mode&1&&(e===null||_e.current&1?He===0&&(He=3):ip())),t.updateQueue!==null&&(t.flags|=4),ot(t),null);case 4:return Wa(),Nh(e,t),e===null&&eo(t.stateNode.containerInfo),ot(t),null;case 10:return Wm(t.type._context),ot(t),null;case 17:return St(t.type)&&mc(),ot(t),null;case 19:if(Se(_e),i=t.memoizedState,i===null)return ot(t),null;if(s=(t.flags&128)!==0,o=i.rendering,o===null)if(s)fi(i,!1);else{if(He!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=vc(e),o!==null){for(t.flags|=128,fi(i,!1),s=o.updateQueue,s!==null&&(t.updateQueue=s,t.flags|=4),t.subtreeFlags=0,s=r,r=t.child;r!==null;)i=r,e=s,i.flags&=14680066,o=i.alternate,o===null?(i.childLanes=0,i.lanes=e,i.child=null,i.subtreeFlags=0,i.memoizedProps=null,i.memoizedState=null,i.updateQueue=null,i.dependencies=null,i.stateNode=null):(i.childLanes=o.childLanes,i.lanes=o.lanes,i.child=o.child,i.subtreeFlags=0,i.deletions=null,i.memoizedProps=o.memoizedProps,i.memoizedState=o.memoizedState,i.updateQueue=o.updateQueue,i.type=o.type,e=o.dependencies,i.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),r=r.sibling;return we(_e,_e.current&1|2),t.child}e=e.sibling}i.tail!==null&&Le()>Ha&&(t.flags|=128,s=!0,fi(i,!1),t.lanes=4194304)}else{if(!s)if(e=vc(o),e!==null){if(t.flags|=128,s=!0,r=e.updateQueue,r!==null&&(t.updateQueue=r,t.flags|=4),fi(i,!0),i.tail===null&&i.tailMode==="hidden"&&!o.alternate&&!Ee)return ot(t),null}else 2*Le()-i.renderingStartTime>Ha&&r!==1073741824&&(t.flags|=128,s=!0,fi(i,!1),t.lanes=4194304);i.isBackwards?(o.sibling=t.child,t.child=o):(r=i.last,r!==null?r.sibling=o:t.child=o,i.last=o)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=Le(),t.sibling=null,r=_e.current,we(_e,s?r&1|2:r&1),t):(ot(t),null);case 22:case 23:return ap(),s=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==s&&(t.flags|=8192),s&&t.mode&1?Pt&1073741824&&(ot(t),t.subtreeFlags&6&&(t.flags|=8192)):ot(t),null;case 24:return null;case 25:return null}throw Error(I(156,t.tag))}function pk(e,t){switch(Um(t),t.tag){case 1:return St(t.type)&&mc(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Wa(),Se(Ct),Se(dt),Km(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return qm(t),null;case 13:if(Se(_e),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(I(340));Fa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Se(_e),null;case 4:return Wa(),null;case 10:return Wm(t.type._context),null;case 22:case 23:return ap(),null;case 24:return null;default:return null}}var gl=!1,ct=!1,fk=typeof WeakSet=="function"?WeakSet:Set,B=null;function fa(e,t){var r=e.ref;if(r!==null)if(typeof r=="function")try{r(null)}catch(s){Me(e,t,s)}else r.current=null}function kh(e,t,r){try{r()}catch(s){Me(e,t,s)}}var dg=!1;function gk(e,t){if(oh=cc,e=$b(),Lm(e)){if("selectionStart"in e)var r={start:e.selectionStart,end:e.selectionEnd};else e:{r=(r=e.ownerDocument)&&r.defaultView||window;var s=r.getSelection&&r.getSelection();if(s&&s.rangeCount!==0){r=s.anchorNode;var a=s.anchorOffset,i=s.focusNode;s=s.focusOffset;try{r.nodeType,i.nodeType}catch{r=null;break e}var o=0,l=-1,c=-1,d=0,u=0,h=e,m=null;t:for(;;){for(var p;h!==r||a!==0&&h.nodeType!==3||(l=o+a),h!==i||s!==0&&h.nodeType!==3||(c=o+s),h.nodeType===3&&(o+=h.nodeValue.length),(p=h.firstChild)!==null;)m=h,h=p;for(;;){if(h===e)break t;if(m===r&&++d===a&&(l=o),m===i&&++u===s&&(c=o),(p=h.nextSibling)!==null)break;h=m,m=h.parentNode}h=p}r=l===-1||c===-1?null:{start:l,end:c}}else r=null}r=r||{start:0,end:0}}else r=null;for(lh={focusedElem:e,selectionRange:r},cc=!1,B=t;B!==null;)if(t=B,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,B=e;else for(;B!==null;){t=B;try{var y=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(y!==null){var f=y.memoizedProps,v=y.memoizedState,g=t.stateNode,x=g.getSnapshotBeforeUpdate(t.elementType===t.type?f:or(t.type,f),v);g.__reactInternalSnapshotBeforeUpdate=x}break;case 3:var b=t.stateNode.containerInfo;b.nodeType===1?b.textContent="":b.nodeType===9&&b.documentElement&&b.removeChild(b.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(I(163))}}catch(j){Me(t,t.return,j)}if(e=t.sibling,e!==null){e.return=t.return,B=e;break}B=t.return}return y=dg,dg=!1,y}function $i(e,t,r){var s=t.updateQueue;if(s=s!==null?s.lastEffect:null,s!==null){var a=s=s.next;do{if((a.tag&e)===e){var i=a.destroy;a.destroy=void 0,i!==void 0&&kh(t,r,i)}a=a.next}while(a!==s)}}function Qc(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var r=t=t.next;do{if((r.tag&e)===e){var s=r.create;r.destroy=s()}r=r.next}while(r!==t)}}function Ch(e){var t=e.ref;if(t!==null){var r=e.stateNode;switch(e.tag){case 5:e=r;break;default:e=r}typeof t=="function"?t(e):t.current=e}}function Iv(e){var t=e.alternate;t!==null&&(e.alternate=null,Iv(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Or],delete t[ro],delete t[uh],delete t[X2],delete t[Z2])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Ov(e){return e.tag===5||e.tag===3||e.tag===4}function ug(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Ov(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Sh(e,t,r){var s=e.tag;if(s===5||s===6)e=e.stateNode,t?r.nodeType===8?r.parentNode.insertBefore(e,t):r.insertBefore(e,t):(r.nodeType===8?(t=r.parentNode,t.insertBefore(e,r)):(t=r,t.appendChild(e)),r=r._reactRootContainer,r!=null||t.onclick!==null||(t.onclick=hc));else if(s!==4&&(e=e.child,e!==null))for(Sh(e,t,r),e=e.sibling;e!==null;)Sh(e,t,r),e=e.sibling}function Eh(e,t,r){var s=e.tag;if(s===5||s===6)e=e.stateNode,t?r.insertBefore(e,t):r.appendChild(e);else if(s!==4&&(e=e.child,e!==null))for(Eh(e,t,r),e=e.sibling;e!==null;)Eh(e,t,r),e=e.sibling}var et=null,hr=!1;function yn(e,t,r){for(r=r.child;r!==null;)Mv(e,t,r),r=r.sibling}function Mv(e,t,r){if($r&&typeof $r.onCommitFiberUnmount=="function")try{$r.onCommitFiberUnmount(Wc,r)}catch{}switch(r.tag){case 5:ct||fa(r,t);case 6:var s=et,a=hr;et=null,yn(e,t,r),et=s,hr=a,et!==null&&(hr?(e=et,r=r.stateNode,e.nodeType===8?e.parentNode.removeChild(r):e.removeChild(r)):et.removeChild(r.stateNode));break;case 18:et!==null&&(hr?(e=et,r=r.stateNode,e.nodeType===8?tu(e.parentNode,r):e.nodeType===1&&tu(e,r),Qi(e)):tu(et,r.stateNode));break;case 4:s=et,a=hr,et=r.stateNode.containerInfo,hr=!0,yn(e,t,r),et=s,hr=a;break;case 0:case 11:case 14:case 15:if(!ct&&(s=r.updateQueue,s!==null&&(s=s.lastEffect,s!==null))){a=s=s.next;do{var i=a,o=i.destroy;i=i.tag,o!==void 0&&(i&2||i&4)&&kh(r,t,o),a=a.next}while(a!==s)}yn(e,t,r);break;case 1:if(!ct&&(fa(r,t),s=r.stateNode,typeof s.componentWillUnmount=="function"))try{s.props=r.memoizedProps,s.state=r.memoizedState,s.componentWillUnmount()}catch(l){Me(r,t,l)}yn(e,t,r);break;case 21:yn(e,t,r);break;case 22:r.mode&1?(ct=(s=ct)||r.memoizedState!==null,yn(e,t,r),ct=s):yn(e,t,r);break;default:yn(e,t,r)}}function hg(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var r=e.stateNode;r===null&&(r=e.stateNode=new fk),t.forEach(function(s){var a=Ck.bind(null,e,s);r.has(s)||(r.add(s),s.then(a,a))})}}function sr(e,t){var r=t.deletions;if(r!==null)for(var s=0;s<r.length;s++){var a=r[s];try{var i=e,o=t,l=o;e:for(;l!==null;){switch(l.tag){case 5:et=l.stateNode,hr=!1;break e;case 3:et=l.stateNode.containerInfo,hr=!0;break e;case 4:et=l.stateNode.containerInfo,hr=!0;break e}l=l.return}if(et===null)throw Error(I(160));Mv(i,o,a),et=null,hr=!1;var c=a.alternate;c!==null&&(c.return=null),a.return=null}catch(d){Me(a,t,d)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)Lv(t,e),t=t.sibling}function Lv(e,t){var r=e.alternate,s=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(sr(t,e),Sr(e),s&4){try{$i(3,e,e.return),Qc(3,e)}catch(f){Me(e,e.return,f)}try{$i(5,e,e.return)}catch(f){Me(e,e.return,f)}}break;case 1:sr(t,e),Sr(e),s&512&&r!==null&&fa(r,r.return);break;case 5:if(sr(t,e),Sr(e),s&512&&r!==null&&fa(r,r.return),e.flags&32){var a=e.stateNode;try{qi(a,"")}catch(f){Me(e,e.return,f)}}if(s&4&&(a=e.stateNode,a!=null)){var i=e.memoizedProps,o=r!==null?r.memoizedProps:i,l=e.type,c=e.updateQueue;if(e.updateQueue=null,c!==null)try{l==="input"&&i.type==="radio"&&i.name!=null&&ab(a,i),Qu(l,o);var d=Qu(l,i);for(o=0;o<c.length;o+=2){var u=c[o],h=c[o+1];u==="style"?db(a,h):u==="dangerouslySetInnerHTML"?lb(a,h):u==="children"?qi(a,h):km(a,u,h,d)}switch(l){case"input":Vu(a,i);break;case"textarea":ib(a,i);break;case"select":var m=a._wrapperState.wasMultiple;a._wrapperState.wasMultiple=!!i.multiple;var p=i.value;p!=null?ya(a,!!i.multiple,p,!1):m!==!!i.multiple&&(i.defaultValue!=null?ya(a,!!i.multiple,i.defaultValue,!0):ya(a,!!i.multiple,i.multiple?[]:"",!1))}a[ro]=i}catch(f){Me(e,e.return,f)}}break;case 6:if(sr(t,e),Sr(e),s&4){if(e.stateNode===null)throw Error(I(162));a=e.stateNode,i=e.memoizedProps;try{a.nodeValue=i}catch(f){Me(e,e.return,f)}}break;case 3:if(sr(t,e),Sr(e),s&4&&r!==null&&r.memoizedState.isDehydrated)try{Qi(t.containerInfo)}catch(f){Me(e,e.return,f)}break;case 4:sr(t,e),Sr(e);break;case 13:sr(t,e),Sr(e),a=e.child,a.flags&8192&&(i=a.memoizedState!==null,a.stateNode.isHidden=i,!i||a.alternate!==null&&a.alternate.memoizedState!==null||(np=Le())),s&4&&hg(e);break;case 22:if(u=r!==null&&r.memoizedState!==null,e.mode&1?(ct=(d=ct)||u,sr(t,e),ct=d):sr(t,e),Sr(e),s&8192){if(d=e.memoizedState!==null,(e.stateNode.isHidden=d)&&!u&&e.mode&1)for(B=e,u=e.child;u!==null;){for(h=B=u;B!==null;){switch(m=B,p=m.child,m.tag){case 0:case 11:case 14:case 15:$i(4,m,m.return);break;case 1:fa(m,m.return);var y=m.stateNode;if(typeof y.componentWillUnmount=="function"){s=m,r=m.return;try{t=s,y.props=t.memoizedProps,y.state=t.memoizedState,y.componentWillUnmount()}catch(f){Me(s,r,f)}}break;case 5:fa(m,m.return);break;case 22:if(m.memoizedState!==null){pg(h);continue}}p!==null?(p.return=m,B=p):pg(h)}u=u.sibling}e:for(u=null,h=e;;){if(h.tag===5){if(u===null){u=h;try{a=h.stateNode,d?(i=a.style,typeof i.setProperty=="function"?i.setProperty("display","none","important"):i.display="none"):(l=h.stateNode,c=h.memoizedProps.style,o=c!=null&&c.hasOwnProperty("display")?c.display:null,l.style.display=cb("display",o))}catch(f){Me(e,e.return,f)}}}else if(h.tag===6){if(u===null)try{h.stateNode.nodeValue=d?"":h.memoizedProps}catch(f){Me(e,e.return,f)}}else if((h.tag!==22&&h.tag!==23||h.memoizedState===null||h===e)&&h.child!==null){h.child.return=h,h=h.child;continue}if(h===e)break e;for(;h.sibling===null;){if(h.return===null||h.return===e)break e;u===h&&(u=null),h=h.return}u===h&&(u=null),h.sibling.return=h.return,h=h.sibling}}break;case 19:sr(t,e),Sr(e),s&4&&hg(e);break;case 21:break;default:sr(t,e),Sr(e)}}function Sr(e){var t=e.flags;if(t&2){try{e:{for(var r=e.return;r!==null;){if(Ov(r)){var s=r;break e}r=r.return}throw Error(I(160))}switch(s.tag){case 5:var a=s.stateNode;s.flags&32&&(qi(a,""),s.flags&=-33);var i=ug(e);Eh(e,i,a);break;case 3:case 4:var o=s.stateNode.containerInfo,l=ug(e);Sh(e,l,o);break;default:throw Error(I(161))}}catch(c){Me(e,e.return,c)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function xk(e,t,r){B=e,$v(e)}function $v(e,t,r){for(var s=(e.mode&1)!==0;B!==null;){var a=B,i=a.child;if(a.tag===22&&s){var o=a.memoizedState!==null||gl;if(!o){var l=a.alternate,c=l!==null&&l.memoizedState!==null||ct;l=gl;var d=ct;if(gl=o,(ct=c)&&!d)for(B=a;B!==null;)o=B,c=o.child,o.tag===22&&o.memoizedState!==null?fg(a):c!==null?(c.return=o,B=c):fg(a);for(;i!==null;)B=i,$v(i),i=i.sibling;B=a,gl=l,ct=d}mg(e)}else a.subtreeFlags&8772&&i!==null?(i.return=a,B=i):mg(e)}}function mg(e){for(;B!==null;){var t=B;if(t.flags&8772){var r=t.alternate;try{if(t.flags&8772)switch(t.tag){case 0:case 11:case 15:ct||Qc(5,t);break;case 1:var s=t.stateNode;if(t.flags&4&&!ct)if(r===null)s.componentDidMount();else{var a=t.elementType===t.type?r.memoizedProps:or(t.type,r.memoizedProps);s.componentDidUpdate(a,r.memoizedState,s.__reactInternalSnapshotBeforeUpdate)}var i=t.updateQueue;i!==null&&Qf(t,i,s);break;case 3:var o=t.updateQueue;if(o!==null){if(r=null,t.child!==null)switch(t.child.tag){case 5:r=t.child.stateNode;break;case 1:r=t.child.stateNode}Qf(t,o,r)}break;case 5:var l=t.stateNode;if(r===null&&t.flags&4){r=l;var c=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":c.autoFocus&&r.focus();break;case"img":c.src&&(r.src=c.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var d=t.alternate;if(d!==null){var u=d.memoizedState;if(u!==null){var h=u.dehydrated;h!==null&&Qi(h)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(I(163))}ct||t.flags&512&&Ch(t)}catch(m){Me(t,t.return,m)}}if(t===e){B=null;break}if(r=t.sibling,r!==null){r.return=t.return,B=r;break}B=t.return}}function pg(e){for(;B!==null;){var t=B;if(t===e){B=null;break}var r=t.sibling;if(r!==null){r.return=t.return,B=r;break}B=t.return}}function fg(e){for(;B!==null;){var t=B;try{switch(t.tag){case 0:case 11:case 15:var r=t.return;try{Qc(4,t)}catch(c){Me(t,r,c)}break;case 1:var s=t.stateNode;if(typeof s.componentDidMount=="function"){var a=t.return;try{s.componentDidMount()}catch(c){Me(t,a,c)}}var i=t.return;try{Ch(t)}catch(c){Me(t,i,c)}break;case 5:var o=t.return;try{Ch(t)}catch(c){Me(t,o,c)}}}catch(c){Me(t,t.return,c)}if(t===e){B=null;break}var l=t.sibling;if(l!==null){l.return=t.return,B=l;break}B=t.return}}var yk=Math.ceil,Nc=dn.ReactCurrentDispatcher,tp=dn.ReactCurrentOwner,qt=dn.ReactCurrentBatchConfig,ce=0,Je=null,ze=null,tt=0,Pt=0,ga=Zn(0),He=0,lo=null,Ps=0,Xc=0,rp=0,Ui=null,Nt=null,np=0,Ha=1/0,Kr=null,kc=!1,_h=null,Wn=null,xl=!1,Mn=null,Cc=0,Bi=0,Th=null,Vl=-1,ql=0;function gt(){return ce&6?Le():Vl!==-1?Vl:Vl=Le()}function Gn(e){return e.mode&1?ce&2&&tt!==0?tt&-tt:tk.transition!==null?(ql===0&&(ql=jb()),ql):(e=ge,e!==0||(e=window.event,e=e===void 0?16:Tb(e.type)),e):1}function gr(e,t,r,s){if(50<Bi)throw Bi=0,Th=null,Error(I(185));$o(e,r,s),(!(ce&2)||e!==Je)&&(e===Je&&(!(ce&2)&&(Xc|=r),He===4&&En(e,tt)),Et(e,s),r===1&&ce===0&&!(t.mode&1)&&(Ha=Le()+500,Kc&&es()))}function Et(e,t){var r=e.callbackNode;t2(e,t);var s=lc(e,e===Je?tt:0);if(s===0)r!==null&&kf(r),e.callbackNode=null,e.callbackPriority=0;else if(t=s&-s,e.callbackPriority!==t){if(r!=null&&kf(r),t===1)e.tag===0?ek(gg.bind(null,e)):Kb(gg.bind(null,e)),J2(function(){!(ce&6)&&es()}),r=null;else{switch(Nb(s)){case 1:r=Tm;break;case 4:r=vb;break;case 16:r=oc;break;case 536870912:r=wb;break;default:r=oc}r=Vv(r,Uv.bind(null,e))}e.callbackPriority=t,e.callbackNode=r}}function Uv(e,t){if(Vl=-1,ql=0,ce&6)throw Error(I(327));var r=e.callbackNode;if(Na()&&e.callbackNode!==r)return null;var s=lc(e,e===Je?tt:0);if(s===0)return null;if(s&30||s&e.expiredLanes||t)t=Sc(e,s);else{t=s;var a=ce;ce|=2;var i=Fv();(Je!==e||tt!==t)&&(Kr=null,Ha=Le()+500,ks(e,t));do try{wk();break}catch(l){Bv(e,l)}while(!0);zm(),Nc.current=i,ce=a,ze!==null?t=0:(Je=null,tt=0,t=He)}if(t!==0){if(t===2&&(a=rh(e),a!==0&&(s=a,t=Ah(e,a))),t===1)throw r=lo,ks(e,0),En(e,s),Et(e,Le()),r;if(t===6)En(e,s);else{if(a=e.current.alternate,!(s&30)&&!bk(a)&&(t=Sc(e,s),t===2&&(i=rh(e),i!==0&&(s=i,t=Ah(e,i))),t===1))throw r=lo,ks(e,0),En(e,s),Et(e,Le()),r;switch(e.finishedWork=a,e.finishedLanes=s,t){case 0:case 1:throw Error(I(345));case 2:ls(e,Nt,Kr);break;case 3:if(En(e,s),(s&130023424)===s&&(t=np+500-Le(),10<t)){if(lc(e,0)!==0)break;if(a=e.suspendedLanes,(a&s)!==s){gt(),e.pingedLanes|=e.suspendedLanes&a;break}e.timeoutHandle=dh(ls.bind(null,e,Nt,Kr),t);break}ls(e,Nt,Kr);break;case 4:if(En(e,s),(s&4194240)===s)break;for(t=e.eventTimes,a=-1;0<s;){var o=31-fr(s);i=1<<o,o=t[o],o>a&&(a=o),s&=~i}if(s=a,s=Le()-s,s=(120>s?120:480>s?480:1080>s?1080:1920>s?1920:3e3>s?3e3:4320>s?4320:1960*yk(s/1960))-s,10<s){e.timeoutHandle=dh(ls.bind(null,e,Nt,Kr),s);break}ls(e,Nt,Kr);break;case 5:ls(e,Nt,Kr);break;default:throw Error(I(329))}}}return Et(e,Le()),e.callbackNode===r?Uv.bind(null,e):null}function Ah(e,t){var r=Ui;return e.current.memoizedState.isDehydrated&&(ks(e,t).flags|=256),e=Sc(e,t),e!==2&&(t=Nt,Nt=r,t!==null&&Ph(t)),e}function Ph(e){Nt===null?Nt=e:Nt.push.apply(Nt,e)}function bk(e){for(var t=e;;){if(t.flags&16384){var r=t.updateQueue;if(r!==null&&(r=r.stores,r!==null))for(var s=0;s<r.length;s++){var a=r[s],i=a.getSnapshot;a=a.value;try{if(!yr(i(),a))return!1}catch{return!1}}}if(r=t.child,t.subtreeFlags&16384&&r!==null)r.return=t,t=r;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function En(e,t){for(t&=~rp,t&=~Xc,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var r=31-fr(t),s=1<<r;e[r]=-1,t&=~s}}function gg(e){if(ce&6)throw Error(I(327));Na();var t=lc(e,0);if(!(t&1))return Et(e,Le()),null;var r=Sc(e,t);if(e.tag!==0&&r===2){var s=rh(e);s!==0&&(t=s,r=Ah(e,s))}if(r===1)throw r=lo,ks(e,0),En(e,t),Et(e,Le()),r;if(r===6)throw Error(I(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,ls(e,Nt,Kr),Et(e,Le()),null}function sp(e,t){var r=ce;ce|=1;try{return e(t)}finally{ce=r,ce===0&&(Ha=Le()+500,Kc&&es())}}function Rs(e){Mn!==null&&Mn.tag===0&&!(ce&6)&&Na();var t=ce;ce|=1;var r=qt.transition,s=ge;try{if(qt.transition=null,ge=1,e)return e()}finally{ge=s,qt.transition=r,ce=t,!(ce&6)&&es()}}function ap(){Pt=ga.current,Se(ga)}function ks(e,t){e.finishedWork=null,e.finishedLanes=0;var r=e.timeoutHandle;if(r!==-1&&(e.timeoutHandle=-1,Y2(r)),ze!==null)for(r=ze.return;r!==null;){var s=r;switch(Um(s),s.tag){case 1:s=s.type.childContextTypes,s!=null&&mc();break;case 3:Wa(),Se(Ct),Se(dt),Km();break;case 5:qm(s);break;case 4:Wa();break;case 13:Se(_e);break;case 19:Se(_e);break;case 10:Wm(s.type._context);break;case 22:case 23:ap()}r=r.return}if(Je=e,ze=e=Hn(e.current,null),tt=Pt=t,He=0,lo=null,rp=Xc=Ps=0,Nt=Ui=null,ps!==null){for(t=0;t<ps.length;t++)if(r=ps[t],s=r.interleaved,s!==null){r.interleaved=null;var a=s.next,i=r.pending;if(i!==null){var o=i.next;i.next=a,s.next=o}r.pending=s}ps=null}return e}function Bv(e,t){do{var r=ze;try{if(zm(),Wl.current=jc,wc){for(var s=Ae.memoizedState;s!==null;){var a=s.queue;a!==null&&(a.pending=null),s=s.next}wc=!1}if(As=0,Ye=Ge=Ae=null,Li=!1,ao=0,tp.current=null,r===null||r.return===null){He=1,lo=t,ze=null;break}e:{var i=e,o=r.return,l=r,c=t;if(t=tt,l.flags|=32768,c!==null&&typeof c=="object"&&typeof c.then=="function"){var d=c,u=l,h=u.tag;if(!(u.mode&1)&&(h===0||h===11||h===15)){var m=u.alternate;m?(u.updateQueue=m.updateQueue,u.memoizedState=m.memoizedState,u.lanes=m.lanes):(u.updateQueue=null,u.memoizedState=null)}var p=ng(o);if(p!==null){p.flags&=-257,sg(p,o,l,i,t),p.mode&1&&rg(i,d,t),t=p,c=d;var y=t.updateQueue;if(y===null){var f=new Set;f.add(c),t.updateQueue=f}else y.add(c);break e}else{if(!(t&1)){rg(i,d,t),ip();break e}c=Error(I(426))}}else if(Ee&&l.mode&1){var v=ng(o);if(v!==null){!(v.flags&65536)&&(v.flags|=256),sg(v,o,l,i,t),Bm(Ga(c,l));break e}}i=c=Ga(c,l),He!==4&&(He=2),Ui===null?Ui=[i]:Ui.push(i),i=o;do{switch(i.tag){case 3:i.flags|=65536,t&=-t,i.lanes|=t;var g=Nv(i,c,t);Jf(i,g);break e;case 1:l=c;var x=i.type,b=i.stateNode;if(!(i.flags&128)&&(typeof x.getDerivedStateFromError=="function"||b!==null&&typeof b.componentDidCatch=="function"&&(Wn===null||!Wn.has(b)))){i.flags|=65536,t&=-t,i.lanes|=t;var j=kv(i,l,t);Jf(i,j);break e}}i=i.return}while(i!==null)}Wv(r)}catch(N){t=N,ze===r&&r!==null&&(ze=r=r.return);continue}break}while(!0)}function Fv(){var e=Nc.current;return Nc.current=jc,e===null?jc:e}function ip(){(He===0||He===3||He===2)&&(He=4),Je===null||!(Ps&268435455)&&!(Xc&268435455)||En(Je,tt)}function Sc(e,t){var r=ce;ce|=2;var s=Fv();(Je!==e||tt!==t)&&(Kr=null,ks(e,t));do try{vk();break}catch(a){Bv(e,a)}while(!0);if(zm(),ce=r,Nc.current=s,ze!==null)throw Error(I(261));return Je=null,tt=0,He}function vk(){for(;ze!==null;)zv(ze)}function wk(){for(;ze!==null&&!VN();)zv(ze)}function zv(e){var t=Hv(e.alternate,e,Pt);e.memoizedProps=e.pendingProps,t===null?Wv(e):ze=t,tp.current=null}function Wv(e){var t=e;do{var r=t.alternate;if(e=t.return,t.flags&32768){if(r=pk(r,t),r!==null){r.flags&=32767,ze=r;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{He=6,ze=null;return}}else if(r=mk(r,t,Pt),r!==null){ze=r;return}if(t=t.sibling,t!==null){ze=t;return}ze=t=e}while(t!==null);He===0&&(He=5)}function ls(e,t,r){var s=ge,a=qt.transition;try{qt.transition=null,ge=1,jk(e,t,r,s)}finally{qt.transition=a,ge=s}return null}function jk(e,t,r,s){do Na();while(Mn!==null);if(ce&6)throw Error(I(327));r=e.finishedWork;var a=e.finishedLanes;if(r===null)return null;if(e.finishedWork=null,e.finishedLanes=0,r===e.current)throw Error(I(177));e.callbackNode=null,e.callbackPriority=0;var i=r.lanes|r.childLanes;if(r2(e,i),e===Je&&(ze=Je=null,tt=0),!(r.subtreeFlags&2064)&&!(r.flags&2064)||xl||(xl=!0,Vv(oc,function(){return Na(),null})),i=(r.flags&15990)!==0,r.subtreeFlags&15990||i){i=qt.transition,qt.transition=null;var o=ge;ge=1;var l=ce;ce|=4,tp.current=null,gk(e,r),Lv(r,e),z2(lh),cc=!!oh,lh=oh=null,e.current=r,xk(r),qN(),ce=l,ge=o,qt.transition=i}else e.current=r;if(xl&&(xl=!1,Mn=e,Cc=a),i=e.pendingLanes,i===0&&(Wn=null),JN(r.stateNode),Et(e,Le()),t!==null)for(s=e.onRecoverableError,r=0;r<t.length;r++)a=t[r],s(a.value,{componentStack:a.stack,digest:a.digest});if(kc)throw kc=!1,e=_h,_h=null,e;return Cc&1&&e.tag!==0&&Na(),i=e.pendingLanes,i&1?e===Th?Bi++:(Bi=0,Th=e):Bi=0,es(),null}function Na(){if(Mn!==null){var e=Nb(Cc),t=qt.transition,r=ge;try{if(qt.transition=null,ge=16>e?16:e,Mn===null)var s=!1;else{if(e=Mn,Mn=null,Cc=0,ce&6)throw Error(I(331));var a=ce;for(ce|=4,B=e.current;B!==null;){var i=B,o=i.child;if(B.flags&16){var l=i.deletions;if(l!==null){for(var c=0;c<l.length;c++){var d=l[c];for(B=d;B!==null;){var u=B;switch(u.tag){case 0:case 11:case 15:$i(8,u,i)}var h=u.child;if(h!==null)h.return=u,B=h;else for(;B!==null;){u=B;var m=u.sibling,p=u.return;if(Iv(u),u===d){B=null;break}if(m!==null){m.return=p,B=m;break}B=p}}}var y=i.alternate;if(y!==null){var f=y.child;if(f!==null){y.child=null;do{var v=f.sibling;f.sibling=null,f=v}while(f!==null)}}B=i}}if(i.subtreeFlags&2064&&o!==null)o.return=i,B=o;else e:for(;B!==null;){if(i=B,i.flags&2048)switch(i.tag){case 0:case 11:case 15:$i(9,i,i.return)}var g=i.sibling;if(g!==null){g.return=i.return,B=g;break e}B=i.return}}var x=e.current;for(B=x;B!==null;){o=B;var b=o.child;if(o.subtreeFlags&2064&&b!==null)b.return=o,B=b;else e:for(o=x;B!==null;){if(l=B,l.flags&2048)try{switch(l.tag){case 0:case 11:case 15:Qc(9,l)}}catch(N){Me(l,l.return,N)}if(l===o){B=null;break e}var j=l.sibling;if(j!==null){j.return=l.return,B=j;break e}B=l.return}}if(ce=a,es(),$r&&typeof $r.onPostCommitFiberRoot=="function")try{$r.onPostCommitFiberRoot(Wc,e)}catch{}s=!0}return s}finally{ge=r,qt.transition=t}}return!1}function xg(e,t,r){t=Ga(r,t),t=Nv(e,t,1),e=zn(e,t,1),t=gt(),e!==null&&($o(e,1,t),Et(e,t))}function Me(e,t,r){if(e.tag===3)xg(e,e,r);else for(;t!==null;){if(t.tag===3){xg(t,e,r);break}else if(t.tag===1){var s=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof s.componentDidCatch=="function"&&(Wn===null||!Wn.has(s))){e=Ga(r,e),e=kv(t,e,1),t=zn(t,e,1),e=gt(),t!==null&&($o(t,1,e),Et(t,e));break}}t=t.return}}function Nk(e,t,r){var s=e.pingCache;s!==null&&s.delete(t),t=gt(),e.pingedLanes|=e.suspendedLanes&r,Je===e&&(tt&r)===r&&(He===4||He===3&&(tt&130023424)===tt&&500>Le()-np?ks(e,0):rp|=r),Et(e,t)}function Gv(e,t){t===0&&(e.mode&1?(t=ol,ol<<=1,!(ol&130023424)&&(ol=4194304)):t=1);var r=gt();e=sn(e,t),e!==null&&($o(e,t,r),Et(e,r))}function kk(e){var t=e.memoizedState,r=0;t!==null&&(r=t.retryLane),Gv(e,r)}function Ck(e,t){var r=0;switch(e.tag){case 13:var s=e.stateNode,a=e.memoizedState;a!==null&&(r=a.retryLane);break;case 19:s=e.stateNode;break;default:throw Error(I(314))}s!==null&&s.delete(t),Gv(e,r)}var Hv;Hv=function(e,t,r){if(e!==null)if(e.memoizedProps!==t.pendingProps||Ct.current)kt=!0;else{if(!(e.lanes&r)&&!(t.flags&128))return kt=!1,hk(e,t,r);kt=!!(e.flags&131072)}else kt=!1,Ee&&t.flags&1048576&&Yb(t,gc,t.index);switch(t.lanes=0,t.tag){case 2:var s=t.type;Hl(e,t),e=t.pendingProps;var a=Ba(t,dt.current);ja(t,r),a=Jm(null,t,s,e,a,r);var i=Qm();return t.flags|=1,typeof a=="object"&&a!==null&&typeof a.render=="function"&&a.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,St(s)?(i=!0,pc(t)):i=!1,t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,Hm(t),a.updater=Jc,t.stateNode=a,a._reactInternals=t,xh(t,s,e,r),t=vh(null,t,s,!0,i,r)):(t.tag=0,Ee&&i&&$m(t),pt(null,t,a,r),t=t.child),t;case 16:s=t.elementType;e:{switch(Hl(e,t),e=t.pendingProps,a=s._init,s=a(s._payload),t.type=s,a=t.tag=Ek(s),e=or(s,e),a){case 0:t=bh(null,t,s,e,r);break e;case 1:t=og(null,t,s,e,r);break e;case 11:t=ag(null,t,s,e,r);break e;case 14:t=ig(null,t,s,or(s.type,e),r);break e}throw Error(I(306,s,""))}return t;case 0:return s=t.type,a=t.pendingProps,a=t.elementType===s?a:or(s,a),bh(e,t,s,a,r);case 1:return s=t.type,a=t.pendingProps,a=t.elementType===s?a:or(s,a),og(e,t,s,a,r);case 3:e:{if(_v(t),e===null)throw Error(I(387));s=t.pendingProps,i=t.memoizedState,a=i.element,tv(e,t),bc(t,s,null,r);var o=t.memoizedState;if(s=o.element,i.isDehydrated)if(i={element:s,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){a=Ga(Error(I(423)),t),t=lg(e,t,s,r,a);break e}else if(s!==a){a=Ga(Error(I(424)),t),t=lg(e,t,s,r,a);break e}else for(It=Fn(t.stateNode.containerInfo.firstChild),Ot=t,Ee=!0,mr=null,r=Zb(t,null,s,r),t.child=r;r;)r.flags=r.flags&-3|4096,r=r.sibling;else{if(Fa(),s===a){t=an(e,t,r);break e}pt(e,t,s,r)}t=t.child}return t;case 5:return rv(t),e===null&&ph(t),s=t.type,a=t.pendingProps,i=e!==null?e.memoizedProps:null,o=a.children,ch(s,a)?o=null:i!==null&&ch(s,i)&&(t.flags|=32),Ev(e,t),pt(e,t,o,r),t.child;case 6:return e===null&&ph(t),null;case 13:return Tv(e,t,r);case 4:return Vm(t,t.stateNode.containerInfo),s=t.pendingProps,e===null?t.child=za(t,null,s,r):pt(e,t,s,r),t.child;case 11:return s=t.type,a=t.pendingProps,a=t.elementType===s?a:or(s,a),ag(e,t,s,a,r);case 7:return pt(e,t,t.pendingProps,r),t.child;case 8:return pt(e,t,t.pendingProps.children,r),t.child;case 12:return pt(e,t,t.pendingProps.children,r),t.child;case 10:e:{if(s=t.type._context,a=t.pendingProps,i=t.memoizedProps,o=a.value,we(xc,s._currentValue),s._currentValue=o,i!==null)if(yr(i.value,o)){if(i.children===a.children&&!Ct.current){t=an(e,t,r);break e}}else for(i=t.child,i!==null&&(i.return=t);
vendor: 12,419 bytes, line 40
40i!==null;){var l=i.dependencies;if(l!==null){o=i.child;for(var c=l.firstContext;c!==null;){if(c.context===s){if(i.tag===1){c=tn(-1,r&-r),c.tag=2;var d=i.updateQueue;if(d!==null){d=d.shared;var u=d.pending;u===null?c.next=c:(c.next=u.next,u.next=c),d.pending=c}}i.lanes|=r,c=i.alternate,c!==null&&(c.lanes|=r),fh(i.return,r,t),l.lanes|=r;break}c=c.next}}else if(i.tag===10)o=i.type===t.type?null:i.child;else if(i.tag===18){if(o=i.return,o===null)throw Error(I(341));o.lanes|=r,l=o.alternate,l!==null&&(l.lanes|=r),fh(o,r,t),o=i.sibling}else o=i.child;if(o!==null)o.return=i;else for(o=i;o!==null;){if(o===t){o=null;break}if(i=o.sibling,i!==null){i.return=o.return,o=i;break}o=o.return}i=o}pt(e,t,a.children,r),t=t.child}return t;case 9:return a=t.type,s=t.pendingProps.children,ja(t,r),a=Kt(a),s=s(a),t.flags|=1,pt(e,t,s,r),t.child;case 14:return s=t.type,a=or(s,t.pendingProps),a=or(s.type,a),ig(e,t,s,a,r);case 15:return Cv(e,t,t.type,t.pendingProps,r);case 17:return s=t.type,a=t.pendingProps,a=t.elementType===s?a:or(s,a),Hl(e,t),t.tag=1,St(s)?(e=!0,pc(t)):e=!1,ja(t,r),jv(t,s,a),xh(t,s,a,r),vh(null,t,s,!0,e,r);case 19:return Av(e,t,r);case 22:return Sv(e,t,r)}throw Error(I(156,t.tag))};function Vv(e,t){return bb(e,t)}function Sk(e,t,r,s){this.tag=e,this.key=r,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=s,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Vt(e,t,r,s){return new Sk(e,t,r,s)}function op(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Ek(e){if(typeof e=="function")return op(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Sm)return 11;if(e===Em)return 14}return 2}function Hn(e,t){var r=e.alternate;return r===null?(r=Vt(e.tag,t,e.key,e.mode),r.elementType=e.elementType,r.type=e.type,r.stateNode=e.stateNode,r.alternate=e,e.alternate=r):(r.pendingProps=t,r.type=e.type,r.flags=0,r.subtreeFlags=0,r.deletions=null),r.flags=e.flags&14680064,r.childLanes=e.childLanes,r.lanes=e.lanes,r.child=e.child,r.memoizedProps=e.memoizedProps,r.memoizedState=e.memoizedState,r.updateQueue=e.updateQueue,t=e.dependencies,r.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},r.sibling=e.sibling,r.index=e.index,r.ref=e.ref,r}function Kl(e,t,r,s,a,i){var o=2;if(s=e,typeof e=="function")op(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case ia:return Cs(r.children,a,i,t);case Cm:o=8,a|=8;break;case Fu:return e=Vt(12,r,t,a|2),e.elementType=Fu,e.lanes=i,e;case zu:return e=Vt(13,r,t,a),e.elementType=zu,e.lanes=i,e;case Wu:return e=Vt(19,r,t,a),e.elementType=Wu,e.lanes=i,e;case rb:return Zc(r,a,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case eb:o=10;break e;case tb:o=9;break e;case Sm:o=11;break e;case Em:o=14;break e;case kn:o=16,s=null;break e}throw Error(I(130,e==null?e:typeof e,""))}return t=Vt(o,r,t,a),t.elementType=e,t.type=s,t.lanes=i,t}function Cs(e,t,r,s){return e=Vt(7,e,s,t),e.lanes=r,e}function Zc(e,t,r,s){return e=Vt(22,e,s,t),e.elementType=rb,e.lanes=r,e.stateNode={isHidden:!1},e}function cu(e,t,r){return e=Vt(6,e,null,t),e.lanes=r,e}function du(e,t,r){return t=Vt(4,e.children!==null?e.children:[],e.key,t),t.lanes=r,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function _k(e,t,r,s,a){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Gd(0),this.expirationTimes=Gd(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Gd(0),this.identifierPrefix=s,this.onRecoverableError=a,this.mutableSourceEagerHydrationData=null}function lp(e,t,r,s,a,i,o,l,c){return e=new _k(e,t,r,l,c),t===1?(t=1,i===!0&&(t|=8)):t=0,i=Vt(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:s,isDehydrated:r,cache:null,transitions:null,pendingSuspenseBoundaries:null},Hm(i),e}function Tk(e,t,r){var s=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:aa,key:s==null?null:""+s,children:e,containerInfo:t,implementation:r}}function qv(e){if(!e)return qn;e=e._reactInternals;e:{if($s(e)!==e||e.tag!==1)throw Error(I(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(St(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(I(171))}if(e.tag===1){var r=e.type;if(St(r))return qb(e,r,t)}return t}function Kv(e,t,r,s,a,i,o,l,c){return e=lp(r,s,!0,e,a,i,o,l,c),e.context=qv(null),r=e.current,s=gt(),a=Gn(r),i=tn(s,a),i.callback=t??null,zn(r,i,a),e.current.lanes=a,$o(e,a,s),Et(e,s),e}function ed(e,t,r,s){var a=t.current,i=gt(),o=Gn(a);return r=qv(r),t.context===null?t.context=r:t.pendingContext=r,t=tn(i,o),t.payload={element:e},s=s===void 0?null:s,s!==null&&(t.callback=s),e=zn(a,t,o),e!==null&&(gr(e,a,o,i),zl(e,a,o)),o}function Ec(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function yg(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var r=e.retryLane;e.retryLane=r!==0&&r<t?r:t}}function cp(e,t){yg(e,t),(e=e.alternate)&&yg(e,t)}function Ak(){return null}var Yv=typeof reportError=="function"?reportError:function(e){console.error(e)};function dp(e){this._internalRoot=e}td.prototype.render=dp.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(I(409));ed(e,t,null,null)};td.prototype.unmount=dp.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Rs(function(){ed(null,e,null,null)}),t[nn]=null}};function td(e){this._internalRoot=e}td.prototype.unstable_scheduleHydration=function(e){if(e){var t=Sb();e={blockedOn:null,target:e,priority:t};for(var r=0;r<Sn.length&&t!==0&&t<Sn[r].priority;r++);Sn.splice(r,0,e),r===0&&_b(e)}};function up(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function rd(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function bg(){}function Pk(e,t,r,s,a){if(a){if(typeof s=="function"){var i=s;s=function(){var d=Ec(o);i.call(d)}}var o=Kv(t,s,e,0,null,!1,!1,"",bg);return e._reactRootContainer=o,e[nn]=o.current,eo(e.nodeType===8?e.parentNode:e),Rs(),o}for(;a=e.lastChild;)e.removeChild(a);if(typeof s=="function"){var l=s;s=function(){var d=Ec(c);l.call(d)}}var c=lp(e,0,!1,null,null,!1,!1,"",bg);return e._reactRootContainer=c,e[nn]=c.current,eo(e.nodeType===8?e.parentNode:e),Rs(function(){ed(t,c,r,s)}),c}function nd(e,t,r,s,a){var i=r._reactRootContainer;if(i){var o=i;if(typeof a=="function"){var l=a;a=function(){var c=Ec(o);l.call(c)}}ed(t,o,e,a)}else o=Pk(r,t,e,a,s);return Ec(o)}kb=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var r=Ei(t.pendingLanes);r!==0&&(Am(t,r|1),Et(t,Le()),!(ce&6)&&(Ha=Le()+500,es()))}break;case 13:Rs(function(){var s=sn(e,1);if(s!==null){var a=gt();gr(s,e,1,a)}}),cp(e,1)}};Pm=function(e){if(e.tag===13){var t=sn(e,134217728);if(t!==null){var r=gt();gr(t,e,134217728,r)}cp(e,134217728)}};Cb=function(e){if(e.tag===13){var t=Gn(e),r=sn(e,t);if(r!==null){var s=gt();gr(r,e,t,s)}cp(e,t)}};Sb=function(){return ge};Eb=function(e,t){var r=ge;try{return ge=e,t()}finally{ge=r}};Zu=function(e,t,r){switch(t){case"input":if(Vu(e,r),t=r.name,r.type==="radio"&&t!=null){for(r=e;r.parentNode;)r=r.parentNode;for(r=r.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<r.length;t++){var s=r[t];if(s!==e&&s.form===e.form){var a=qc(s);if(!a)throw Error(I(90));sb(s),Vu(s,a)}}}break;case"textarea":ib(e,r);break;case"select":t=r.value,t!=null&&ya(e,!!r.multiple,t,!1)}};mb=sp;pb=Rs;var Rk={usingClientEntryPoint:!1,Events:[Bo,da,qc,ub,hb,sp]},gi={findFiberByHostInstance:ms,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},Dk={bundleType:gi.bundleType,version:gi.version,rendererPackageName:gi.rendererPackageName,rendererConfig:gi.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:dn.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=xb(e),e===null?null:e.stateNode},findFiberByHostInstance:gi.findFiberByHostInstance||Ak,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var yl=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!yl.isDisabled&&yl.supportsFiber)try{Wc=yl.inject(Dk),$r=yl}catch{}}$t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Rk;$t.createPortal=function(e,t){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!up(t))throw Error(I(200));return Tk(e,t,null,r)};$t.createRoot=function(e,t){if(!up(e))throw Error(I(299));var r=!1,s="",a=Yv;return t!=null&&(t.unstable_strictMode===!0&&(r=!0),t.identifierPrefix!==void 0&&(s=t.identifierPrefix),t.onRecoverableError!==void 0&&(a=t.onRecoverableError)),t=lp(e,1,!1,null,null,r,!1,s,a),e[nn]=t.current,eo(e.nodeType===8?e.parentNode:e),new dp(t)};$t.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(I(188)):(e=Object.keys(e).join(","),Error(I(268,e)));return e=xb(t),e=e===null?null:e.stateNode,e};$t.flushSync=function(e){return Rs(e)};$t.hydrate=function(e,t,r){if(!rd(t))throw Error(I(200));return nd(null,e,t,!0,r)};$t.hydrateRoot=function(e,t,r){if(!up(e))throw Error(I(405));var s=r!=null&&r.hydratedSources||null,a=!1,i="",o=Yv;if(r!=null&&(r.unstable_strictMode===!0&&(a=!0),r.identifierPrefix!==void 0&&(i=r.identifierPrefix),r.onRecoverableError!==void 0&&(o=r.onRecoverableError)),t=Kv(t,null,e,1,r??null,a,!1,i,o),e[nn]=t.current,eo(e),s)for(e=0;e<s.length;e++)r=s[e],a=r._getVersion,a=a(r._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[r,a]:t.mutableSourceEagerHydrationData.push(r,a);return new td(t)};$t.render=function(e,t,r){if(!rd(t))throw Error(I(200));return nd(null,e,t,!1,r)};$t.unmountComponentAtNode=function(e){if(!rd(e))throw Error(I(40));return e._reactRootContainer?(Rs(function(){nd(null,null,e,!1,function(){e._reactRootContainer=null,e[nn]=null})}),!0):!1};$t.unstable_batchedUpdates=sp;$t.unstable_renderSubtreeIntoContainer=function(e,t,r,s){if(!rd(r))throw Error(I(200));if(e==null||e._reactInternals===void 0)throw Error(I(38));return nd(e,t,r,!1,s)};$t.version="18.3.1-next-f1338f8080-20240426";function Jv(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Jv)}catch(e){console.error(e)}}Jv(),Jy.exports=$t;var zo=Jy.exports;const Qv=Mo(zo);var Xv,vg=zo;Xv=vg.createRoot,vg.hydrateRoot;var sd=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},ad=typeof window>"u"||"Deno"in globalThis;function lr(){}function Ik(e,t){return typeof e=="function"?e(t):e}function Ok(e){return typeof e=="number"&&e>=0&&e!==1/0}function Mk(e,t){return Math.max(e+(t||0)-Date.now(),0)}function Rh(e,t){return typeof e=="function"?e(t):e}function Lk(e,t){return typeof e=="function"?e(t):e}function wg(e,t){const{type:r="all",exact:s,fetchStatus:a,predicate:i,queryKey:o,stale:l}=e;if(o){if(s){if(t.queryHash!==hp(o,t.options))return!1}else if(!uo(t.queryKey,o))return!1}if(r!=="all"){const c=t.isActive();if(r==="active"&&!c||r==="inactive"&&c)return!1}return!(typeof l=="boolean"&&t.isStale()!==l||a&&a!==t.state.fetchStatus||i&&!i(t))}function jg(e,t){const{exact:r,status:s,predicate:a,mutationKey:i}=e;if(i){if(!t.options.mutationKey)return!1;if(r){if(co(t.options.mutationKey)!==co(i))return!1}
vendor: 25,584 bytes, lines 40-49
40else if(!uo(t.options.mutationKey,i))return!1}return!(s&&t.state.status!==s||a&&!a(t))}function hp(e,t){return((t==null?void 0:t.queryKeyHashFn)||co)(e)}function co(e){return JSON.stringify(e,(t,r)=>Dh(r)?Object.keys(r).sort().reduce((s,a)=>(s[a]=r[a],s),{}):r)}function uo(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(t).every(r=>uo(e[r],t[r])):!1}function Zv(e,t){if(e===t)return e;const r=Ng(e)&&Ng(t);if(r||Dh(e)&&Dh(t)){const s=r?e:Object.keys(e),a=s.length,i=r?t:Object.keys(t),o=i.length,l=r?[]:{},c=new Set(s);let d=0;for(let u=0;u<o;u++){const h=r?u:i[u];(!r&&c.has(h)||r)&&e[h]===void 0&&t[h]===void 0?(l[h]=void 0,d++):(l[h]=Zv(e[h],t[h]),l[h]===e[h]&&e[h]!==void 0&&d++)}return a===o&&d===a?e:l}return t}function Ng(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function Dh(e){if(!kg(e))return!1;const t=e.constructor;if(t===void 0)return!0;const r=t.prototype;return!(!kg(r)||!r.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(e)!==Object.prototype)}function kg(e){return Object.prototype.toString.call(e)==="[object Object]"}function $k(e){return new Promise(t=>{setTimeout(t,e)})}function Uk(e,t,r){return typeof r.structuralSharing=="function"?r.structuralSharing(e,t):r.structuralSharing!==!1?Zv(e,t):t}function Bk(e,t,r=0){const s=[...e,t];return r&&s.length>r?s.slice(1):s}function Fk(e,t,r=0){const s=[t,...e];return r&&s.length>r?s.slice(0,-1):s}var mp=Symbol();function e0(e,t){return!e.queryFn&&(t!=null&&t.initialPromise)?()=>t.initialPromise:!e.queryFn||e.queryFn===mp?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}var xs,An,Pa,Py,zk=(Py=class extends sd{constructor(){super();ue(this,xs);ue(this,An);ue(this,Pa);re(this,Pa,t=>{if(!ad&&window.addEventListener){const r=()=>t();return window.addEventListener("visibilitychange",r,!1),()=>{window.removeEventListener("visibilitychange",r)}}})}onSubscribe(){A(this,An)||this.setEventListener(A(this,Pa))}onUnsubscribe(){var t;this.hasListeners()||((t=A(this,An))==null||t.call(this),re(this,An,void 0))}setEventListener(t){var r;re(this,Pa,t),(r=A(this,An))==null||r.call(this),re(this,An,t(s=>{typeof s=="boolean"?this.setFocused(s):this.onFocus()}))}setFocused(t){A(this,xs)!==t&&(re(this,xs,t),this.onFocus())}onFocus(){const t=this.isFocused();this.listeners.forEach(r=>{r(t)})}isFocused(){var t;return typeof A(this,xs)=="boolean"?A(this,xs):((t=globalThis.document)==null?void 0:t.visibilityState)!=="hidden"}},xs=new WeakMap,An=new WeakMap,Pa=new WeakMap,Py),t0=new zk,Ra,Pn,Da,Ry,Wk=(Ry=class extends sd{constructor(){super();ue(this,Ra,!0);ue(this,Pn);ue(this,Da);re(this,Da,t=>{if(!ad&&window.addEventListener){const r=()=>t(!0),s=()=>t(!1);return window.addEventListener("online",r,!1),window.addEventListener("offline",s,!1),()=>{window.removeEventListener("online",r),window.removeEventListener("offline",s)}}})}onSubscribe(){A(this,Pn)||this.setEventListener(A(this,Da))}onUnsubscribe(){var t;this.hasListeners()||((t=A(this,Pn))==null||t.call(this),re(this,Pn,void 0))}setEventListener(t){var r;re(this,Da,t),(r=A(this,Pn))==null||r.call(this),re(this,Pn,t(this.setOnline.bind(this)))}setOnline(t){A(this,Ra)!==t&&(re(this,Ra,t),this.listeners.forEach(s=>{s(t)}))}isOnline(){return A(this,Ra)}},Ra=new WeakMap,Pn=new WeakMap,Da=new WeakMap,Ry),_c=new Wk;function Gk(){let e,t;const r=new Promise((a,i)=>{e=a,t=i});r.status="pending",r.catch(()=>{});function s(a){Object.assign(r,a),delete r.resolve,delete r.reject}return r.resolve=a=>{s({status:"fulfilled",value:a}),e(a)},r.reject=a=>{s({status:"rejected",reason:a}),t(a)},r}function Hk(e){return Math.min(1e3*2**e,3e4)}function r0(e){return(e??"online")==="online"?_c.isOnline():!0}var n0=class extends Error{constructor(e){super("CancelledError"),this.revert=e==null?void 0:e.revert,this.silent=e==null?void 0:e.silent}};function uu(e){return e instanceof n0}function s0(e){let t=!1,r=0,s=!1,a;const i=Gk(),o=f=>{var v;s||(m(new n0(f)),(v=e.abort)==null||v.call(e))},l=()=>{t=!0},c=()=>{t=!1},d=()=>t0.isFocused()&&(e.networkMode==="always"||_c.isOnline())&&e.canRun(),u=()=>r0(e.networkMode)&&e.canRun(),h=f=>{var v;s||(s=!0,(v=e.onSuccess)==null||v.call(e,f),a==null||a(),i.resolve(f))},m=f=>{var v;s||(s=!0,(v=e.onError)==null||v.call(e,f),a==null||a(),i.reject(f))},p=()=>new Promise(f=>{var v;a=g=>{(s||d())&&f(g)},(v=e.onPause)==null||v.call(e)}).then(()=>{var f;a=void 0,s||(f=e.onContinue)==null||f.call(e)}),y=()=>{if(s)return;let f;const v=r===0?e.initialPromise:void 0;try{f=v??e.fn()}catch(g){f=Promise.reject(g)}Promise.resolve(f).then(h).catch(g=>{var k;if(s)return;const x=e.retry??(ad?0:3),b=e.retryDelay??Hk,j=typeof b=="function"?b(r,g):b,N=x===!0||typeof x=="number"&&r<x||typeof x=="function"&&x(r,g);if(t||!N){m(g);return}r++,(k=e.onFail)==null||k.call(e,r,g),$k(j).then(()=>d()?void 0:p()).then(()=>{t?m(g):y()})})};return{promise:i,cancel:o,continue:()=>(a==null||a(),i),cancelRetry:l,continueRetry:c,canStart:u,start:()=>(u()?y():p().then(y),i)}}var Vk=e=>setTimeout(e,0);function qk(){let e=[],t=0,r=l=>{l()},s=l=>{l()},a=Vk;const i=l=>{t?e.push(l):a(()=>{r(l)})},o=()=>{const l=e;e=[],l.length&&a(()=>{s(()=>{l.forEach(c=>{r(c)})})})};return{batch:l=>{let c;t++;try{c=l()}finally{t--,t||o()}return c},batchCalls:l=>(...c)=>{i(()=>{l(...c)})},schedule:i,setNotifyFunction:l=>{r=l},setBatchNotifyFunction:l=>{s=l},setScheduler:l=>{a=l}}}var ft=qk(),ys,Dy,a0=(Dy=class{constructor(){ue(this,ys)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),Ok(this.gcTime)&&re(this,ys,setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(ad?1/0:5*60*1e3))}clearGcTimeout(){A(this,ys)&&(clearTimeout(A(this,ys)),re(this,ys,void 0))}},ys=new WeakMap,Dy),Ia,bs,zt,vs,lt,Io,ws,dr,qr,Iy,Kk=(Iy=class extends a0{constructor(t){super();ue(this,dr);ue(this,Ia);ue(this,bs);ue(this,zt);ue(this,vs);ue(this,lt);ue(this,Io);ue(this,ws);re(this,ws,!1),re(this,Io,t.defaultOptions),this.setOptions(t.options),this.observers=[],re(this,vs,t.client),re(this,zt,A(this,vs).getQueryCache()),this.queryKey=t.queryKey,this.queryHash=t.queryHash,re(this,Ia,Jk(this.options)),this.state=t.state??A(this,Ia),this.scheduleGc()}get meta(){return this.options.meta}get promise(){var t;return(t=A(this,lt))==null?void 0:t.promise}setOptions(t){this.options={...A(this,Io),...t},this.updateGcTime(this.options.gcTime)}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&A(this,zt).remove(this)}setData(t,r){const s=Uk(this.state.data,t,this.options);return at(this,dr,qr).call(this,{data:s,type:"success",dataUpdatedAt:r==null?void 0:r.updatedAt,manual:r==null?void 0:r.manual}),s}setState(t,r){at(this,dr,qr).call(this,{type:"setState",state:t,setStateOptions:r})}cancel(t){var s,a;const r=(s=A(this,lt))==null?void 0:s.promise;return(a=A(this,lt))==null||a.cancel(t),r?r.then(lr).catch(lr):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(A(this,Ia))}isActive(){return this.observers.some(t=>Lk(t.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===mp||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStatic(){return this.getObserversCount()>0?this.observers.some(t=>Rh(t.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(t=>t.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(t=0){return this.state.data===void 0?!0:t==="static"?!1:this.state.isInvalidated?!0:!Mk(this.state.dataUpdatedAt,t)}onFocus(){var r;const t=this.observers.find(s=>s.shouldFetchOnWindowFocus());t==null||t.refetch({cancelRefetch:!1}),(r=A(this,lt))==null||r.continue()}onOnline(){var r;const t=this.observers.find(s=>s.shouldFetchOnReconnect());t==null||t.refetch({cancelRefetch:!1}),(r=A(this,lt))==null||r.continue()}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),A(this,zt).notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){this.observers.includes(t)&&(this.observers=this.observers.filter(r=>r!==t),this.observers.length||(A(this,lt)&&(A(this,ws)?A(this,lt).cancel({revert:!0}):A(this,lt).cancelRetry()),this.scheduleGc()),A(this,zt).notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||at(this,dr,qr).call(this,{type:"invalidate"})}fetch(t,r){var d,u,h;if(this.state.fetchStatus!=="idle"){if(this.state.data!==void 0&&(r!=null&&r.cancelRefetch))this.cancel({silent:!0});else if(A(this,lt))return A(this,lt).continueRetry(),A(this,lt).promise}if(t&&this.setOptions(t),!this.options.queryFn){const m=this.observers.find(p=>p.options.queryFn);m&&this.setOptions(m.options)}const s=new AbortController,a=m=>{Object.defineProperty(m,"signal",{enumerable:!0,get:()=>(re(this,ws,!0),s.signal)})},i=()=>{const m=e0(this.options,r),y=(()=>{const f={client:A(this,vs),queryKey:this.queryKey,meta:this.meta};return a(f),f})();return re(this,ws,!1),this.options.persister?this.options.persister(m,y,this):m(y)},l=(()=>{const m={fetchOptions:r,options:this.options,queryKey:this.queryKey,client:A(this,vs),state:this.state,fetchFn:i};return a(m),m})();(d=this.options.behavior)==null||d.onFetch(l,this),re(this,bs,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((u=l.fetchOptions)==null?void 0:u.meta))&&at(this,dr,qr).call(this,{type:"fetch",meta:(h=l.fetchOptions)==null?void 0:h.meta});const c=m=>{var p,y,f,v;uu(m)&&m.silent||at(this,dr,qr).call(this,{type:"error",error:m}),uu(m)||((y=(p=A(this,zt).config).onError)==null||y.call(p,m,this),(v=(f=A(this,zt).config).onSettled)==null||v.call(f,this.state.data,m,this)),this.scheduleGc()};return re(this,lt,s0({initialPromise:r==null?void 0:r.initialPromise,fn:l.fetchFn,abort:s.abort.bind(s),onSuccess:m=>{var p,y,f,v;if(m===void 0){c(new Error(`${this.queryHash} data is undefined`));return}try{this.setData(m)}catch(g){c(g);return}(y=(p=A(this,zt).config).onSuccess)==null||y.call(p,m,this),(v=(f=A(this,zt).config).onSettled)==null||v.call(f,m,this.state.error,this),this.scheduleGc()},onError:c,onFail:(m,p)=>{at(this,dr,qr).call(this,{type:"failed",failureCount:m,error:p})},onPause:()=>{at(this,dr,qr).call(this,{type:"pause"})},onContinue:()=>{at(this,dr,qr).call(this,{type:"continue"})},retry:l.options.retry,retryDelay:l.options.retryDelay,networkMode:l.options.networkMode,canRun:()=>!0})),A(this,lt).start()}},Ia=new WeakMap,bs=new WeakMap,zt=new WeakMap,vs=new WeakMap,lt=new WeakMap,Io=new WeakMap,ws=new WeakMap,dr=new WeakSet,qr=function(t){const r=s=>{switch(t.type){case"failed":return{...s,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...s,fetchStatus:"paused"};case"continue":return{...s,fetchStatus:"fetching"};case"fetch":return{...s,...Yk(s.data,this.options),fetchMeta:t.meta??null};case"success":return re(this,bs,void 0),{...s,data:t.data,dataUpdateCount:s.dataUpdateCount+1,dataUpdatedAt:t.dataUpdatedAt??Date.now(),error:null,isInvalidated:!1,status:"success",...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":const a=t.error;return uu(a)&&a.revert&&A(this,bs)?{...A(this,bs),fetchStatus:"idle"}:{...s,error:a,errorUpdateCount:s.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:s.fetchFailureCount+1,fetchFailureReason:a,fetchStatus:"idle",status:"error"};case"invalidate":return{...s,isInvalidated:!0};case"setState":return{...s,...t.state}}};this.state=r(this.state),ft.batch(()=>{this.observers.forEach(s=>{s.onQueryUpdate()}),A(this,zt).notify({query:this,type:"updated",action:t})})},Iy);function Yk(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:r0(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function Jk(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,r=t!==void 0,s=r?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:r?s??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:r?"success":"pending",fetchStatus:"idle"}}var Pr,Oy,Qk=(Oy=class extends sd{constructor(t={}){super();ue(this,Pr);this.config=t,re(this,Pr,new Map)}build(t,r,s){const a=r.queryKey,i=r.queryHash??hp(a,r);let o=this.get(i);return o||(o=new Kk({client:t,queryKey:a,queryHash:i,options:t.defaultQueryOptions(r),state:s,defaultOptions:t.getQueryDefaults(a)}),this.add(o)),o}add(t){A(this,Pr).has(t.queryHash)||(A(this,Pr).set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){const r=A(this,Pr).get(t.queryHash);r&&(t.destroy(),r===t&&A(this,Pr).delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){ft.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return A(this,Pr).get(t)}getAll(){return[...A(this,Pr).values()]}find(t){const r={exact:!0,...t};return this.getAll().find(s=>wg(r,s))}findAll(t={}){const r=this.getAll();return Object.keys(t).length>0?r.filter(s=>wg(t,s)):r}notify(t){ft.batch(()=>{this.listeners.forEach(r=>{r(t)})})}onFocus(){ft.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){ft.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},Pr=new WeakMap,Oy),Rr,mt,js,Dr,jn,My,Xk=(My=class extends a0{constructor(t){super();ue(this,Dr);ue(this,Rr);ue(this,mt);ue(this,js);this.mutationId=t.mutationId,re(this,mt,t.mutationCache),re(this,Rr,[]),this.state=t.state||Zk(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){A(this,Rr).includes(t)||(A(this,Rr).push(t),this.clearGcTimeout(),A(this,mt).notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){re(this,Rr,A(this,Rr).filter(r=>r!==t)),this.scheduleGc(),A(this,mt).notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){A(this,Rr).length||(this.state.status==="pending"?this.scheduleGc():A(this,mt).remove(this))}continue(){var t;return((t=A(this,js))==null?void 0:t.continue())??this.execute(this.state.variables)}async execute(t){var i,o,l,c,d,u,h,m,p,y,f,v,g,x,b,j,N,k,C,S;const r=()=>{at(this,Dr,jn).call(this,{type:"continue"})};re(this,js,s0({fn:()=>this.options.mutationFn?this.options.mutationFn(t):Promise.reject(new Error("No mutationFn found")),onFail:(_,R)=>{at(this,Dr,jn).call(this,{type:"failed",failureCount:_,error:R})},onPause:()=>{at(this,Dr,jn).call(this,{type:"pause"})},onContinue:r,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>A(this,mt).canRun(this)}));const s=this.state.status==="pending",a=!A(this,js).canStart();try{if(s)r();else{at(this,Dr,jn).call(this,{type:"pending",variables:t,isPaused:a}),await((o=(i=A(this,mt).config).onMutate)==null?void 0:o.call(i,t,this));const R=await((c=(l=this.options).onMutate)==null?void 0:c.call(l,t));R!==this.state.context&&at(this,Dr,jn).call(this,{type:"pending",context:R,variables:t,isPaused:a})}const _=await A(this,js).start();return await((u=(d=A(this,mt).config).onSuccess)==null?void 0:u.call(d,_,t,this.state.context,this)),await((m=(h=this.options).onSuccess)==null?void 0:m.call(h,_,t,this.state.context)),await((y=(p=A(this,mt).config).onSettled)==null?void 0:y.call(p,_,null,this.state.variables,this.state.context,this)),await((v=(f=this.options).onSettled)==null?void 0:v.call(f,_,null,t,this.state.context)),at(this,Dr,jn).call(this,{type:"success",data:_}),_}catch(_){try{throw await((x=(g=A(this,mt).config).onError)==null?void 0:x.call(g,_,t,this.state.context,this)),await((j=(b=this.options).onError)==null?void 0:j.call(b,_,t,this.state.context)),await((k=(N=A(this,mt).config).onSettled)==null?void 0:k.call(N,void 0,_,this.state.variables,this.state.context,this)),await((S=(C=this.options).onSettled)==null?void 0:S.call(C,void 0,_,t,this.state.context)),_}finally{at(this,Dr,jn).call(this,{type:"error",error:_})}}finally{A(this,mt).runNext(this)}}},Rr=new WeakMap,mt=new WeakMap,js=new WeakMap,Dr=new WeakSet,jn=function(t){const r=s=>{switch(t.type){case"failed":return{...s,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...s,isPaused:!0};case"continue":return{...s,isPaused:!1};case"pending":return{...s,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:t.isPaused,status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...s,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...s,data:void 0,error:t.error,failureCount:s.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}};this.state=r(this.state),ft.batch(()=>{A(this,Rr).forEach(s=>{s.onMutationUpdate(t)}),A(this,mt).notify({mutation:this,type:"updated",action:t})})},My);function Zk(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var Xr,ur,Oo,Ly,eC=(Ly=class extends sd{constructor(t={}){super();ue(this,Xr);ue(this,ur);ue(this,Oo);this.config=t,re(this,Xr,new Set),re(this,ur,new Map),re(this,Oo,0)}build(t,r,s){const a=new Xk({mutationCache:this,mutationId:++tl(this,Oo)._,options:t.defaultMutationOptions(r),state:s});return this.add(a),a}add(t){A(this,Xr).add(t);const r=bl(t);if(typeof r=="string"){const s=A(this,ur).get(r);s?s.push(t):A(this,ur).set(r,[t])}this.notify({type:"added",mutation:t})}remove(t){if(A(this,Xr).delete(t)){const r=bl(t);if(typeof r=="string"){const s=A(this,ur).get(r);if(s)if(s.length>1){const a=s.indexOf(t);a!==-1&&s.splice(a,1)}else s[0]===t&&A(this,ur).delete(r)}}this.notify({type:"removed",mutation:t})}canRun(t){const r=bl(t);if(typeof r=="string"){const s=A(this,ur).get(r),a=s==null?void 0:s.find(i=>i.state.status==="pending");return!a||a===t}else return!0}runNext(t){var s;const r=bl(t);if(typeof r=="string"){const a=(s=A(this,ur).get(r))==null?void 0:s.find(i=>i!==t&&i.state.isPaused);return(a==null?void 0:a.continue())??Promise.resolve()}else return Promise.resolve()}clear(){ft.batch(()=>{A(this,Xr).forEach(t=>{this.notify({type:"removed",mutation:t})}),A(this,Xr).clear(),A(this,ur).clear()})}getAll(){return Array.from(A(this,Xr))}find(t){const r={exact:!0,...t};return this.getAll().find(s=>jg(r,s))}findAll(t={}){return this.getAll().filter(r=>jg(t,r))}notify(t){ft.batch(()=>{this.listeners.forEach(r=>{r(t)})})}resumePausedMutations(){const t=this.getAll().filter(r=>r.state.isPaused);return ft.batch(()=>Promise.all(t.map(r=>r.continue().catch(lr))))}},Xr=new WeakMap,ur=new WeakMap,Oo=new WeakMap,Ly);function bl(e){var t;return(t=e.options.scope)==null?void 0:t.id}function Cg(e){return{onFetch:(t,r)=>{var u,h,m,p,y;const s=t.options,a=(m=(h=(u=t.fetchOptions)==null?void 0:u.meta)==null?void 0:h.fetchMore)==null?void 0:m.direction,i=((p=t.state.data)==null?void 0:p.pages)||[],o=((y=t.state.data)==null?void 0:y.pageParams)||[];let l={pages:[],pageParams:[]},c=0;const d=async()=>{let f=!1;const v=b=>{Object.defineProperty(b,"signal",{enumerable:!0,get:()=>(t.signal.aborted?f=!0:t.signal.addEventListener("abort",()=>{f=!0}),t.signal)})},g=e0(t.options,t.fetchOptions),x=async(b,j,N)=>{if(f)return Promise.reject();if(j==null&&b.pages.length)return Promise.resolve(b);const C=(()=>{const $={client:t.client,queryKey:t.queryKey,pageParam:j,direction:N?"backward":"forward",meta:t.options.meta};return v($),$})(),S=await g(C),{maxPages:_}=t.options,R=N?Fk:Bk;return{pages:R(b.pages,S,_),pageParams:R(b.pageParams,j,_)}};if(a&&i.length){const b=a==="backward",j=b?tC:Sg,N={pages:i,pageParams:o},k=j(s,N);l=await x(N,k,b)}else{const b=e??i.length;do{const j=c===0?o[0]??s.initialPageParam:Sg(s,l);if(c>0&&j==null)break;l=await x(l,j),c++}while(c<b)}return l};t.options.persister?t.fetchFn=()=>{var f,v;return(v=(f=t.options).persister)==null?void 0:v.call(f,d,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},r)}:t.fetchFn=d}}}function Sg(e,{pages:t,pageParams:r}){const s=t.length-1;return t.length>0?e.getNextPageParam(t[s],t,r[s],r):void 0}function tC(e,{pages:t,pageParams:r}){var s;return t.length>0?(s=e.getPreviousPageParam)==null?void 0:s.call(e,t[0],t,r[0],r):void 0}var Ie,Rn,Dn,Oa,Ma,In,La,$a,$y,rC=($y=class{constructor(e={}){ue(this,Ie);ue(this,Rn);ue(this,Dn);ue(this,Oa);ue(this,Ma);ue(this,In);ue(this,La);ue(this,$a);re(this,Ie,e.queryCache||new Qk),re(this,Rn,e.mutationCache||new eC),re(this,Dn,e.defaultOptions||{}),re(this,Oa,new Map),re(this,Ma,new Map),re(this,In,0)}mount(){tl(this,In)._++,A(this,In)===1&&(re(this,La,t0.subscribe(async e=>{e&&(await this.resumePausedMutations(),A(this,Ie).onFocus())})),re(this,$a,_c.subscribe(async e=>{e&&(await this.resumePausedMutations(),A(this,Ie).onOnline())})))}unmount(){var e,t;tl(this,In)._--,A(this,In)===0&&((e=A(this,La))==null||e.call(this),re(this,La,void 0),(t=A(this,$a))==null||t.call(this),re(this,$a,void 0))}isFetching(e){return A(this,Ie).findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return A(this,Rn).findAll({...e,status:"pending"}).length}getQueryData(e){var r;const t=this.defaultQueryOptions({queryKey:e});return(r=A(this,Ie).get(t.queryHash))==null?void 0:r.state.data}ensureQueryData(e){const t=this.defaultQueryOptions(e),r=A(this,Ie).build(this,t),s=r.state.data;return s===void 0?this.fetchQuery(e):(e.revalidateIfStale&&r.isStaleByTime(Rh(t.staleTime,r))&&this.prefetchQuery(t),Promise.resolve(s))}getQueriesData(e){return A(this,Ie).findAll(e).map(({queryKey:t,state:r})=>{const s=r.data;return[t,s]})}setQueryData(e,t,r){const s=this.defaultQueryOptions({queryKey:e}),a=A(this,Ie).get(s.queryHash),i=a==null?void 0:a.state.data,o=Ik(t,i);if(o!==void 0)return A(this,Ie).build(this,s).setData(o,{...r,manual:!0})}setQueriesData(e,t,r){return ft.batch(()=>A(this,Ie).findAll(e).map(({queryKey:s})=>[s,this.setQueryData(s,t,r)]))}getQueryState(e){var r;const t=this.defaultQueryOptions({queryKey:e});return(r=A(this,Ie).get(t.queryHash))==null?void 0:r.state}removeQueries(e){const t=A(this,Ie);ft.batch(()=>{t.findAll(e).forEach(r=>{t.remove(r)})})}resetQueries(e,t){const r=A(this,Ie);return ft.batch(()=>(r.findAll(e).forEach(s=>{s.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){const r={revert:!0,...t},s=ft.batch(()=>A(this,Ie).findAll(e).map(a=>a.cancel(r)));return Promise.all(s).then(lr).catch(lr)}invalidateQueries(e,t={}){return ft.batch(()=>(A(this,Ie).findAll(e).forEach(r=>{r.invalidate()}),(e==null?void 0:e.refetchType)==="none"?Promise.resolve():this.refetchQueries({...e,type:(e==null?void 0:e.refetchType)??(e==null?void 0:e.type)??"active"},t)))}refetchQueries(e,t={}){const r={...t,cancelRefetch:t.cancelRefetch??!0},s=ft.batch(()=>A(this,Ie).findAll(e).filter(a=>!a.isDisabled()&&!a.isStatic()).map(a=>{let i=a.fetch(void 0,r);return r.throwOnError||(i=i.catch(lr)),a.state.fetchStatus==="paused"?Promise.resolve():i}));return Promise.all(s).then(lr)}fetchQuery(e){const t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);const r=A(this,Ie).build(this,t);return r.isStaleByTime(Rh(t.staleTime,r))?r.fetch(t):Promise.resolve(r.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(lr).catch(lr)}fetchInfiniteQuery(e){return e.behavior=Cg(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(lr).catch(lr)}ensureInfiniteQueryData(e){return e.behavior=Cg(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return _c.isOnline()?A(this,Rn).resumePausedMutations():Promise.resolve()}getQueryCache(){return A(this,Ie)}getMutationCache(){return A(this,Rn)}getDefaultOptions(){return A(this,Dn)}setDefaultOptions(e){re(this,Dn,e)}setQueryDefaults(e,t){A(this,Oa).set(co(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...A(this,Oa).values()],r={};return t.forEach(s=>{uo(e,s.queryKey)&&Object.assign(r,s.defaultOptions)}),r}setMutationDefaults(e,t){A(this,Ma).set(co(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...A(this,Ma).values()],r={};return t.forEach(s=>{uo(e,s.mutationKey)&&Object.assign(r,s.defaultOptions)}),r}defaultQueryOptions(e){if(e._defaulted)return e;const t={...A(this,Dn).queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=hp(t.queryKey,t)),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!=="always"),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===mp&&(t.enabled=!1),t}defaultMutationOptions(e){return e!=null&&e._defaulted?e:{...A(this,Dn).mutations,...(e==null?void 0:e.mutationKey)&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){A(this,Ie).clear(),A(this,Rn).clear()}},Ie=new WeakMap,Rn=new WeakMap,Dn=new WeakMap,Oa=new WeakMap,Ma=new WeakMap,In=new WeakMap,La=new WeakMap,$a=new WeakMap,$y),nC=w.createContext(void 0),sC=({client:e,children:t})=>(w.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),n.jsx(nC.Provider,{value:e,children:t}));/**
41 * @remix-run/router v1.23.0
42 *
43 * Copyright (c) Remix Software Inc.
44 *
45 * This source code is licensed under the MIT license found in the
46 * LICENSE.md file in the root directory of this source tree.
47 *
48 * @license MIT
49 */function ho(){return ho=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];
vendor: 4,513 bytes, line 49
49for(var s in r)Object.prototype.hasOwnProperty.call(r,s)&&(e[s]=r[s])}return e},ho.apply(this,arguments)}var Ln;(function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"})(Ln||(Ln={}));const Eg="popstate";function aC(e){e===void 0&&(e={});function t(s,a){let{pathname:i,search:o,hash:l}=s.location;return Ih("",{pathname:i,search:o,hash:l},a.state&&a.state.usr||null,a.state&&a.state.key||"default")}function r(s,a){return typeof a=="string"?a:o0(a)}return oC(t,r,null,e)}function Ve(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function i0(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function iC(){return Math.random().toString(36).substr(2,8)}function _g(e,t){return{usr:e.state,key:e.key,idx:t}}function Ih(e,t,r,s){return r===void 0&&(r=null),ho({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?Xa(t):t,{state:r,key:t&&t.key||s||iC()})}function o0(e){let{pathname:t="/",search:r="",hash:s=""}=e;return r&&r!=="?"&&(t+=r.charAt(0)==="?"?r:"?"+r),s&&s!=="#"&&(t+=s.charAt(0)==="#"?s:"#"+s),t}function Xa(e){let t={};if(e){let r=e.indexOf("#");r>=0&&(t.hash=e.substr(r),e=e.substr(0,r));let s=e.indexOf("?");s>=0&&(t.search=e.substr(s),e=e.substr(0,s)),e&&(t.pathname=e)}return t}function oC(e,t,r,s){s===void 0&&(s={});let{window:a=document.defaultView,v5Compat:i=!1}=s,o=a.history,l=Ln.Pop,c=null,d=u();d==null&&(d=0,o.replaceState(ho({},o.state,{idx:d}),""));function u(){return(o.state||{idx:null}).idx}function h(){l=Ln.Pop;let v=u(),g=v==null?null:v-d;d=v,c&&c({action:l,location:f.location,delta:g})}function m(v,g){l=Ln.Push;let x=Ih(f.location,v,g);d=u()+1;let b=_g(x,d),j=f.createHref(x);try{o.pushState(b,"",j)}catch(N){if(N instanceof DOMException&&N.name==="DataCloneError")throw N;a.location.assign(j)}i&&c&&c({action:l,location:f.location,delta:1})}function p(v,g){l=Ln.Replace;let x=Ih(f.location,v,g);d=u();let b=_g(x,d),j=f.createHref(x);o.replaceState(b,"",j),i&&c&&c({action:l,location:f.location,delta:0})}function y(v){let g=a.location.origin!=="null"?a.location.origin:a.location.href,x=typeof v=="string"?v:o0(v);return x=x.replace(/ $/,"%20"),Ve(g,"No window.location.(origin|href) available to create URL for href: "+x),new URL(x,g)}let f={get action(){return l},get location(){return e(a,o)},listen(v){if(c)throw new Error("A history only accepts one active listener");return a.addEventListener(Eg,h),c=v,()=>{a.removeEventListener(Eg,h),c=null}},createHref(v){return t(a,v)},createURL:y,encodeLocation(v){let g=y(v);return{pathname:g.pathname,search:g.search,hash:g.hash}},push:m,replace:p,go(v){return o.go(v)}};return f}var Tg;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(Tg||(Tg={}));function lC(e,t,r){return r===void 0&&(r="/"),cC(e,t,r,!1)}function cC(e,t,r,s){let a=typeof t=="string"?Xa(t):t,i=d0(a.pathname||"/",r);if(i==null)return null;let o=l0(e);dC(o);let l=null;for(let c=0;l==null&&c<o.length;++c){let d=wC(i);l=bC(o[c],d,s)}return l}function l0(e,t,r,s){t===void 0&&(t=[]),r===void 0&&(r=[]),s===void 0&&(s="");let a=(i,o,l)=>{let c={relativePath:l===void 0?i.path||"":l,caseSensitive:i.caseSensitive===!0,childrenIndex:o,route:i};c.relativePath.startsWith("/")&&(Ve(c.relativePath.startsWith(s),'Absolute route path "'+c.relativePath+'" nested under path '+('"'+s+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),c.relativePath=c.relativePath.slice(s.length));let d=Ss([s,c.relativePath]),u=r.concat(c);i.children&&i.children.length>0&&(Ve(i.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+d+'".')),l0(i.children,t,u,d)),!(i.path==null&&!i.index)&&t.push({path:d,score:xC(d,i.index),routesMeta:u})};return e.forEach((i,o)=>{var l;if(i.path===""||!((l=i.path)!=null&&l.includes("?")))a(i,o);else for(let c of c0(i.path))a(i,o,c)}),t}function c0(e){let t=e.split("/");if(t.length===0)return[];let[r,...s]=t,a=r.endsWith("?"),i=r.replace(/\?$/,"");if(s.length===0)return a?[i,""]:[i];let o=c0(s.join("/")),l=[];return l.push(...o.map(c=>c===""?i:[i,c].join("/"))),a&&l.push(...o),l.map(c=>e.startsWith("/")&&c===""?"/":c)}function dC(e){e.sort((t,r)=>t.score!==r.score?r.score-t.score:yC(t.routesMeta.map(s=>s.childrenIndex),r.routesMeta.map(s=>s.childrenIndex)))}const uC=/^:[\w-]+$/,hC=3,mC=2,pC=1,fC=10,gC=-2,Ag=e=>e==="*";function xC(e,t){let r=e.split("/"),s=r.length;return r.some(Ag)&&(s+=gC),t&&(s+=mC),r.filter(a=>
vendor: 13,522 bytes, lines 49-67
49!Ag(a)).reduce((a,i)=>a+(uC.test(i)?hC:i===""?pC:fC),s)}function yC(e,t){return e.length===t.length&&e.slice(0,-1).every((s,a)=>s===t[a])?e[e.length-1]-t[t.length-1]:0}function bC(e,t,r){let{routesMeta:s}=e,a={},i="/",o=[];for(let l=0;l<s.length;++l){let c=s[l],d=l===s.length-1,u=i==="/"?t:t.slice(i.length)||"/",h=Pg({path:c.relativePath,caseSensitive:c.caseSensitive,end:d},u),m=c.route;if(!h&&d&&r&&!s[s.length-1].route.index&&(h=Pg({path:c.relativePath,caseSensitive:c.caseSensitive,end:!1},u)),!h)return null;Object.assign(a,h.params),o.push({params:a,pathname:Ss([i,h.pathname]),pathnameBase:EC(Ss([i,h.pathnameBase])),route:m}),h.pathnameBase!=="/"&&(i=Ss([i,h.pathnameBase]))}return o}function Pg(e,t){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[r,s]=vC(e.path,e.caseSensitive,e.end),a=t.match(r);if(!a)return null;let i=a[0],o=i.replace(/(.)\/+$/,"$1"),l=a.slice(1);return{params:s.reduce((d,u,h)=>{let{paramName:m,isOptional:p}=u;if(m==="*"){let f=l[h]||"";o=i.slice(0,i.length-f.length).replace(/(.)\/+$/,"$1")}const y=l[h];return p&&!y?d[m]=void 0:d[m]=(y||"").replace(/%2F/g,"/"),d},{}),pathname:i,pathnameBase:o,pattern:e}}function vC(e,t,r){t===void 0&&(t=!1),r===void 0&&(r=!0),i0(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let s=[],a="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(o,l,c)=>(s.push({paramName:l,isOptional:c!=null}),c?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(s.push({paramName:"*"}),a+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):r?a+="\\/*$":e!==""&&e!=="/"&&(a+="(?:(?=\\/|$))"),[new RegExp(a,t?void 0:"i"),s]}function wC(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return i0(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+t+").")),e}}function d0(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let r=t.endsWith("/")?t.length-1:t.length,s=e.charAt(r);return s&&s!=="/"?null:e.slice(r)||"/"}function jC(e,t){t===void 0&&(t="/");let{pathname:r,search:s="",hash:a=""}=typeof e=="string"?Xa(e):e;return{pathname:r?r.startsWith("/")?r:NC(r,t):t,search:_C(s),hash:TC(a)}}function NC(e,t){let r=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(a=>{a===".."?r.length>1&&r.pop():a!=="."&&r.push(a)}),r.length>1?r.join("/"):"/"}function hu(e,t,r,s){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field ["+JSON.stringify(s)+"].  Please separate it out to the ")+("`to."+r+"` field. Alternatively you may provide the full path as ")+'a string in <Link to="..."> and the router will parse it for you.'}function kC(e){return e.filter((t,r)=>r===0||t.route.path&&t.route.path.length>0)}function CC(e,t){let r=kC(e);return t?r.map((s,a)=>a===r.length-1?s.pathname:s.pathnameBase):r.map(s=>s.pathnameBase)}function SC(e,t,r,s){s===void 0&&(s=!1);let a;typeof e=="string"?a=Xa(e):(a=ho({},e),Ve(!a.pathname||!a.pathname.includes("?"),hu("?","pathname","search",a)),Ve(!a.pathname||!a.pathname.includes("#"),hu("#","pathname","hash",a)),Ve(!a.search||!a.search.includes("#"),hu("#","search","hash",a)));let i=e===""||a.pathname==="",o=i?"/":a.pathname,l;if(o==null)l=r;else{let h=t.length-1;if(!s&&o.startsWith("..")){let m=o.split("/");for(;m[0]==="..";)m.shift(),h-=1;a.pathname=m.join("/")}l=h>=0?t[h]:"/"}let c=jC(a,l),d=o&&o!=="/"&&o.endsWith("/"),u=(i||o===".")&&r.endsWith("/");return!c.pathname.endsWith("/")&&(d||u)&&(c.pathname+="/"),c}const Ss=e=>e.join("/").replace(/\/\/+/g,"/"),EC=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),_C=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,TC=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function AC(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const u0=["post","put","patch","delete"];new Set(u0);const PC=["get",...u0];new Set(PC);/**
50 * React Router v6.30.1
51 *
52 * Copyright (c) Remix Software Inc.
53 *
54 * This source code is licensed under the MIT license found in the
55 * LICENSE.md file in the root directory of this source tree.
56 *
57 * @license MIT
58 */function mo(){return mo=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var s in r)Object.prototype.hasOwnProperty.call(r,s)&&(e[s]=r[s])}return e},mo.apply(this,arguments)}const pp=w.createContext(null),RC=w.createContext(null),id=w.createContext(null),od=w.createContext(null),Za=w.createContext({outlet:null,matches:[],isDataRoute:!1}),h0=w.createContext(null);function ld(){return w.useContext(od)!=null}function fp(){return ld()||Ve(!1),w.useContext(od).location}function m0(e){w.useContext(id).static||w.useLayoutEffect(e)}function p0(){let{isDataRoute:e}=w.useContext(Za);return e?HC():DC()}function DC(){ld()||Ve(!1);let e=w.useContext(pp),{basename:t,future:r,navigator:s}=w.useContext(id),{matches:a}=w.useContext(Za),{pathname:i}=fp(),o=JSON.stringify(CC(a,r.v7_relativeSplatPath)),l=w.useRef(!1);return m0(()=>{l.current=!0}),w.useCallback(function(d,u){if(u===void 0&&(u={}),!l.current)return;if(typeof d=="number"){s.go(d);return}let h=SC(d,JSON.parse(o),i,u.relative==="path");e==null&&t!=="/"&&(h.pathname=h.pathname==="/"?t:Ss([t,h.pathname])),(u.replace?s.replace:s.push)(h,u.state,u)},[t,s,o,i,e])}function IC(e,t){return OC(e,t)}function OC(e,t,r,s){ld()||Ve(!1);let{navigator:a}=w.useContext(id),{matches:i}=w.useContext(Za),o=i[i.length-1],l=o?o.params:{};o&&o.pathname;let c=o?o.pathnameBase:"/";o&&o.route;let d=fp(),u;if(t){var h;let v=typeof t=="string"?Xa(t):t;c==="/"||(h=v.pathname)!=null&&h.startsWith(c)||Ve(!1),u=v}else u=d;let m=u.pathname||"/",p=m;if(c!=="/"){let v=c.replace(/^\//,"").split("/");p="/"+m.replace(/^\//,"").split("/").slice(v.length).join("/")}let y=lC(e,{pathname:p}),f=BC(y&&y.map(v=>Object.assign({},v,{params:Object.assign({},l,v.params),pathname:Ss([c,a.encodeLocation?a.encodeLocation(v.pathname).pathname:v.pathname]),pathnameBase:v.pathnameBase==="/"?c:Ss([c,a.encodeLocation?a.encodeLocation(v.pathnameBase).pathname:v.pathnameBase])})),i,r,s);return t&&f?w.createElement(od.Provider,{value:{location:mo({pathname:"/",search:"",hash:"",state:null,key:"default"},u),navigationType:Ln.Pop}},f):f}function MC(){let e=GC(),t=AC(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),r=e instanceof Error?e.stack:null,a={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return w.createElement(w.Fragment,null,w.createElement("h2",null,"Unexpected Application Error!"),w.createElement("h3",{style:{fontStyle:"italic"}},t),r?w.createElement("pre",{style:a},r):null,null)}const LC=w.createElement(MC,null);class $C extends w.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,r){return r.location!==t.location||r.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:r.error,location:r.location,revalidation:t.revalidation||r.revalidation}}componentDidCatch(t,r){console.error("React Router caught the following error during render",t,r)}render(){return this.state.error!==void 0?w.createElement(Za.Provider,{value:this.props.routeContext},w.createElement(h0.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function UC(e){let{routeContext:t,match:r,children:s}=e,a=w.useContext(pp);return a&&a.static&&a.staticContext&&(r.route.errorElement||r.route.ErrorBoundary)&&(a.staticContext._deepestRenderedBoundaryId=r.route.id),w.createElement(Za.Provider,{value:t},s)}function BC(e,t,r,s){var a;if(t===void 0&&(t=[]),r===void 0&&(r=null),s===void 0&&(s=null),e==null){var i;if(!r)return null;if(r.errors)e=r.matches;else if((i=s)!=null&&i.v7_partialHydration&&t.length===0&&!r.initialized&&r.matches.length>0)e=r.matches;else return null}let o=e,l=(a=r)==null?void 0:a.errors;if(l!=null){let u=o.findIndex(h=>h.route.id&&(l==null?void 0:l[h.route.id])!==void 0);u>=0||Ve(!1),o=o.slice(0,Math.min(o.length,u+1))}let c=!1,d=-1;if(r&&s&&s.v7_partialHydration)for(let u=0;u<o.length;u++){let h=o[u];if((h.route.HydrateFallback||h.route.hydrateFallbackElement)&&(d=u),h.route.id){let{loaderData:m,errors:p}=r,y=h.route.loader&&m[h.route.id]===void 0&&(!p||p[h.route.id]===void 0);if(h.route.lazy||y){c=!0,d>=0?o=o.slice(0,d+1):o=[o[0]];break}}}return o.reduceRight((u,h,m)=>{let p,y=!1,f=null,v=null;r&&(p=l&&h.route.id?l[h.route.id]:void 0,f=h.route.errorElement||LC,c&&(d<0&&m===0?(y=!0,v=null):d===m&&(y=!0,v=h.route.hydrateFallbackElement||null)));let g=t.concat(o.slice(0,m+1)),x=()=>{let b;return p?b=f:y?b=v:h.route.Component?b=w.createElement(h.route.Component,null):h.route.element?b=h.route.element:b=u,w.createElement(UC,{match:h,routeContext:{outlet:u,matches:g,isDataRoute:r!=null},children:b})};return r&&(h.route.ErrorBoundary||h.route.errorElement||m===0)?w.createElement($C,{location:r.location,revalidation:r.revalidation,component:f,error:p,children:x(),routeContext:{outlet:null,matches:g,isDataRoute:!0}}):x()},null)}var f0=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(f0||{}),Tc=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(Tc||{});function FC(e){let t=w.useContext(pp);return t||Ve(!1),t}function zC(e){let t=w.useContext(RC);return t||Ve(!1),t}function WC(e){let t=w.useContext(Za);return t||Ve(!1),t}function g0(e){let t=WC(),r=t.matches[t.matches.length-1];return r.route.id||Ve(!1),r.route.id}function GC(){var e;let t=w.useContext(h0),r=zC(Tc.UseRouteError),s=g0(Tc.UseRouteError);return t!==void 0?t:(e=r.errors)==null?void 0:e[s]}function HC(){let{router:e}=FC(f0.UseNavigateStable),t=g0(Tc.UseNavigateStable),r=w.useRef(!1);return m0(()=>{r.current=!0}),w.useCallback(function(a,i){i===void 0&&(i={}),r.current&&(typeof a=="number"?e.navigate(a):e.navigate(a,mo({fromRouteId:t},i)))},[e,t])}function VC(e,t){e==null||e.v7_startTransition,e==null||e.v7_relativeSplatPath}function te(e){Ve(!1)}function qC(e){let{basename:t="/",children:r=null,location:s,navigationType:a=Ln.Pop,navigator:i,static:o=!1,future:l}=e;ld()&&Ve(!1);let c=t.replace(/^\/*/,"/"),d=w.useMemo(()=>({basename:c,navigator:i,static:o,future:mo({v7_relativeSplatPath:!1},l)}),[c,l,i,o]);typeof s=="string"&&(s=Xa(s));let{pathname:u="/",search:h="",hash:m="",state:p=null,key:y="default"}=s,f=w.useMemo(()=>{let v=d0(u,c);return v==null?null:{location:{pathname:v,search:h,hash:m,state:p,key:y},navigationType:a}},[c,u,h,m,p,y,a]);return f==null?null:w.createElement(id.Provider,{value:d},w.createElement(od.Provider,{children:r,value:f}))}function KC(e){let{children:t,location:r}=e;return IC(Oh(t),r)}new Promise(()=>{});function Oh(e,t){t===void 0&&(t=[]);let r=[];return w.Children.forEach(e,(s,a)=>{if(!w.isValidElement(s))return;let i=[...t,a];if(s.type===w.Fragment){r.push.apply(r,Oh(s.props.children,i));return}s.type!==te&&Ve(!1),!s.props.index||!s.props.children||Ve(!1);let o={id:s.props.id||i.join("-"),caseSensitive:s.props.caseSensitive,element:s.props.element,Component:s.props.Component,index:s.props.index,path:s.props.path,loader:s.props.loader,action:s.props.action,errorElement:s.props.errorElement,ErrorBoundary:s.props.ErrorBoundary,hasErrorBoundary:s.props.ErrorBoundary!=null||s.props.errorElement!=null,shouldRevalidate:s.props.shouldRevalidate,handle:s.props.handle,lazy:s.props.lazy};s.props.children&&(o.children=Oh(s.props.children,i)),r.push(o)}),r}/**
59 * React Router DOM v6.30.1
60 *
61 * Copyright (c) Remix Software Inc.
62 *
63 * This source code is licensed under the MIT license found in the
64 * LICENSE.md file in the root directory of this source tree.
65 *
66 * @license MIT
67 */const YC="6";try{window.__reactRouterVersion=YC}catch{}const JC="startTransition",Rg=wm[JC];function QC(e){let{basename:t,children:r,future:s,window:a}=e,i=w.useRef();i.current==null&&(i.current=aC({window:a,v5Compat:!0}));let o=i.current,[l,c]=w.useState({action:o.action,location:o.location}),{v7_startTransition:d}=s||{},u=w.useCallback(h=>{d&&Rg?Rg(()=>c(h)):c(h)},[c,d]);return w.useLayoutEffect(()=>o.listen(u),[o,u]),w.useEffect(()=>VC(s),[s]),w.createElement(qC,{basename:t,children:r,location:l.location,navigationType:l.action,navigator:o,future:s})}var Dg;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(Dg||(Dg={}));var Ig;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(Ig||(Ig={}));var XC=typeof Element<"u",ZC=typeof Map=="function",eS=typeof Set=="function",tS=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function Yl(e,t){if(e===t)return!0;
67if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;var r,s,a;if(Array.isArray(e)){if(r=e.length,r!=t.length)return!1;for(s=r;s--!==0;)if(!Yl(e[s],t[s]))return!1;return!0}var i;if(ZC&&e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(i=e.entries();!(s=i.next()).done;)if(!t.has(s.value[0]))return!1;for(i=e.entries();!(s=i.next()).done;)if(!Yl(s.value[1],t.get(s.value[0])))return!1;return!0}if(eS&&e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(i=e.entries();!(s=i.next()).done;)if(!t.has(s.value[0]))return!1;return!0}if(tS&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if(r=e.length,r!=t.length)return!1;for(s=r;s--!==0;)if(e[s]!==t[s])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf&&typeof e.valueOf=="function"&&typeof t.valueOf=="function")return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString&&typeof e.toString=="function"&&typeof t.toString=="function")return e.toString()===t.toString();if(a=Object.keys(e),r=a.length,r!==Object.keys(t).length)return!1;for(s=r;s--!==0;)if(!Object.prototype.hasOwnProperty.call(t,a[s]))return!1;if(XC&&e instanceof Element)return!1;for(s=r;s--!==0;)if(!((a[s]==="_owner"||a[s]==="__v"||a[s]==="__o")&&e.$$typeof)&&!Yl(e[a[s]],t[a[s]]))return!1;return!0}return e!==e&&t!==t}var rS=function(t,r){try{return Yl(t,r)}catch(s){if((s.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw s}};const nS=Mo(rS);var sS=function(e,t,r,s,a,i,o,l){if(!e){var c;if(t===void 0)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var d=[r,s,a,i,o,l],u=0;c=new Error(t.replace(/%s/g,function(){return d[u++]})),c.name="Invariant Violation"}throw c.framesToPop=1,c}},aS=sS;const Og=Mo(aS);var iS=function(t,r,s,a){var i=s?s.call(a,t,r):void 0;if(i!==void 0)return!!i;if(t===r)return!0;if(typeof t!="object"||!t||typeof r!="object"||!r)return!1;var o=Object.keys(t),l=Object.keys(r);if(o.length!==l.length)return!1;for(var c=Object.prototype.hasOwnProperty.bind(r),d=0;d<o.length;d++){var u=o[d];if(!c(u))return!1;var h=t[u],m=r[u];if(i=s?s.call(a,h,m,u):void 0,i===!1||i===void 0&&h!==m)return!1}return!0};const oS=Mo(iS);var x0=(e=>(e.BASE="base",e.BODY="body",e.HEAD="head",e.HTML="html",e.LINK="link",e.META="meta",e.NOSCRIPT="noscript",e.SCRIPT="script",e.STYLE="style",e.TITLE="title",e.FRAGMENT="Symbol(react.fragment)",e))(x0||{}),mu={link:{rel:["amphtml","canonical","alternate"]},script:{type:["application/ld+json"]},meta:{charset:"",name:["generator","robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]}},Mg=Object.values(x0),cd={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},y0=Object.entries(cd).reduce((e,[t,r])=>(e[r]=t,e),{}),pr="data-rh",ka={DEFAULT_TITLE:"defaultTitle",DEFER:"defer",ENCODE_SPECIAL_CHARACTERS:"encodeSpecialCharacters",ON_CHANGE_CLIENT_STATE:"onChangeClientState",TITLE_TEMPLATE:"titleTemplate",PRIORITIZE_SEO_TAGS:"prioritizeSeoTags"},Ca=(e,t)=>{for(let r=e.length-1;r>=0;r-=1){const s=e[r];if(Object.prototype.hasOwnProperty.call(s,t))return s[t]}return null},lS=e=>{let t=Ca(e,"title");const r=Ca(e,ka.TITLE_TEMPLATE);if(Array.isArray(t)&&(t=t.join("")),r&&t)return r.replace(/%s/g,()=>t);const s=Ca(e,ka.DEFAULT_TITLE);return t||s||void 0},cS=e=>Ca(e,ka.ON_CHANGE_CLIENT_STATE)||(()=>{}),pu=(e,t)=>t.filter(r=>typeof r[e]<"u").map(r=>r[e]).reduce((r,s)=>({...r,...s}),{}),dS=(e,t)=>t.filter(r=>typeof r.base<"u").map(r=>r.base).reverse().reduce((r,s)=>{if(!r.length){const a=Object.keys(s);for(let i=0;i<a.length;i+=1){const l=a[i].toLowerCase();if(e.indexOf(l)!==-1&&s[l])return r.concat(s)}}return r},[]),uS=e=>console&&typeof console.warn=="function"&&console.warn(e),xi=(e,t,r)=>{const s={};return r.filter(a=>Array.isArray(a[e])?!0:(typeof a[e]<"u"&&uS(`Helmet: ${e} should be of type "Array". Instead found type "${typeof a[e]}"`),!1)).map(a=>a[e]).reverse().reduce((a,i)=>{const o={};i.filter(c=>{let d;const u=Object.keys(c);for(let m=0;m<u.length;m+=1){const p=u[m],y=p.toLowerCase();t.indexOf(y)!==-1&&!(d==="rel"&&c[d].toLowerCase()==="canonical")&&!(y==="rel"&&c[y].toLowerCase()==="stylesheet")&&(d=y),t.indexOf(p)!==-1&&(p==="innerHTML"||p==="cssText"||p==="itemprop")&&(d=p)}if(!d||!c[d])return!1;const h=c[d].toLowerCase();return s[d]||(s[d]={}),o[d]||(o[d]={}),s[d][h]?!1:(o[d][h]=!0,!0)}
67).reverse().forEach(c=>a.push(c));const l=Object.keys(o);for(let c=0;c<l.length;c+=1){const d=l[c],u={...s[d],...o[d]};s[d]=u}return a},[]).reverse()},hS=(e,t)=>{if(Array.isArray(e)&&e.length){for(let r=0;r<e.length;r+=1)if(e[r][t])return!0}return!1},mS=e=>({baseTag:dS(["href"],e),bodyAttributes:pu("bodyAttributes",e),defer:Ca(e,ka.DEFER),encode:Ca(e,ka.ENCODE_SPECIAL_CHARACTERS),htmlAttributes:pu("htmlAttributes",e),linkTags:xi("link",["rel","href"],e),metaTags:xi("meta",["name","charset","http-equiv","property","itemprop"],e),noscriptTags:xi("noscript",["innerHTML"],e),onChangeClientState:cS(e),scriptTags:xi("script",["src","innerHTML"],e),styleTags:xi("style",["cssText"],e),title:lS(e),titleAttributes:pu("titleAttributes",e),prioritizeSeoTags:hS(e,ka.PRIORITIZE_SEO_TAGS)}),b0=e=>Array.isArray(e)?e.join(""):e,pS=(e,t)=>{const r=Object.keys(e);for(let s=0;s<r.length;s+=1)if(t[r[s]]&&t[r[s]].includes(e[r[s]]))return!0;return!1},fu=(e,t)=>Array.isArray(e)?e.reduce((r,s)=>(pS(s,t)?r.priority.push(s):r.default.push(s),r),{priority:[],default:[]}):{default:e,priority:[]},Lg=(e,t)=>({...e,[t]:void 0}),fS=["noscript","script","style"],Mh=(e,t=!0)=>t===!1?String(e):String(e).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;"),v0=e=>Object.keys(e).reduce((t,r)=>{const s=typeof e[r]<"u"?`${r}="${e[r]}"`:`${r}`;return t?`${t} ${s}`:s},""),gS=(e,t,r,s)=>{const a=v0(r),i=b0(t);return a?`<${e} ${pr}="true" ${a}>${Mh(i,s)}</${e}>`:`<${e} ${pr}="true">${Mh(i,s)}</${e}>`},xS=(e,t,r=!0)=>t.reduce((s,a)=>{const i=a,o=Object.keys(i).filter(d=>!(d==="innerHTML"||d==="cssText")).reduce((d,u)=>{const h=typeof i[u]>"u"?u:`${u}="${Mh(i[u],r)}"`;return d?`${d} ${h}`:h},""),l=i.innerHTML||i.cssText||"",c=fS.indexOf(e)===-1;return`${s}<${e} ${pr}="true" ${o}${c?"/>":`>${l}</${e}>`}`},""),w0=(e,t={})=>Object.keys(e).reduce((r,s)=>{const a=cd[s];return r[a||s]=e[s],r},t),yS=(e,t,r)=>{const s={key:t,[pr]:!0},a=w0(r,s);return[P.createElement("title",a,t)]},Jl=(e,t)=>
67t.map((r,s)=>{const a={key:s,[pr]:!0};return Object.keys(r).forEach(i=>{const l=cd[i]||i;if(l==="innerHTML"||l==="cssText"){const c=r.innerHTML||r.cssText;a.dangerouslySetInnerHTML={__html:c}}else a[l]=r[i]}),P.createElement(e,a)}),Ft=(e,t,r=!0)=>{switch(e){case"title":return{toComponent:()=>yS(e,t.title,t.titleAttributes),toString:()=>gS(e,t.title,t.titleAttributes,r)};case"bodyAttributes":case"htmlAttributes":return{toComponent:()=>w0(t),toString:()=>v0(t)};default:return{toComponent:()=>Jl(e,t),toString:()=>xS(e,t,r)}}},bS=({metaTags:e,linkTags:t,scriptTags:r,encode:s})=>{const a=fu(e,mu.meta),i=fu(t,mu.link),o=fu(r,mu.script);return{priorityMethods:{toComponent:()=>[...Jl("meta",a.priority),...Jl("link",i.priority),...Jl("script",o.priority)],toString:()=>`${Ft("meta",a.priority,s)} ${Ft("link",i.priority,s)} ${Ft("script",o.priority,s)}`},metaTags:a.default,linkTags:i.default,scriptTags:o.default}},vS=e=>{const{baseTag:t,bodyAttributes:r,encode:s=!0,htmlAttributes:a,noscriptTags:i,styleTags:o,title:l="",titleAttributes:c,prioritizeSeoTags:d}=e;let{linkTags:u,metaTags:h,scriptTags:m}=e,p={toComponent:()=>[],toString:()=>""};return d&&({priorityMethods:p,linkTags:u,metaTags:h,scriptTags:m}=bS(e)),{priority:p,base:Ft("base",t,s),bodyAttributes:Ft("bodyAttributes",r,s),htmlAttributes:Ft("htmlAttributes",a,s),link:Ft("link",u,s),meta:Ft("meta",h,s),noscript:Ft("noscript",i,s),script:Ft("script",m,s),style:Ft("style",o,s),title:Ft("title",{title:l,titleAttributes:c},s)}},Lh=vS,vl=[],gp=!!(typeof window<"u"&&window.document&&window.document.createElement),$h=class{constructor(e,t){Hr(this,"instances",[]);Hr(this,"canUseDOM",gp);Hr(this,"context");Hr(this,"value",{setHelmet:e=>{this.context.helmet=e},helmetInstances:{get:()=>this.canUseDOM?vl:this.instances,add:e=>{(this.canUseDOM?vl:this.instances).push(e)},remove:e=>{const t=(this.canUseDOM?vl:this.instances).indexOf(e);(this.canUseDOM?vl:this.instances).splice(t,1)}}});this.context=e,this.canUseDOM=t||!1,t||(e.helmet=Lh({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))}},wS=parseInt(P.version.split(".")[0],10),Uh=wS>=19,jS={},j0=P.createContext(jS),Ns,N0=(Ns=class extends w.Component{constructor(r){super(r);Hr(this,"helmetData");Uh?this.helmetData=null:this.helmetData=new $h(this.props.context||{},Ns.canUseDOM)}render(){return Uh?P.createElement(P.Fragment,null,this.props.children):P.createElement(j0.Provider,{value:this.helmetData.value},this.props.children)}},Hr(Ns,"canUseDOM",gp),Ns),Gs=(e,t)=>{const r=document.head||document.querySelector("head"),s=r.querySelectorAll(`${e}[${pr}]`),a=[].slice.call(s),i=[];let o;return t&&t.length&&t.forEach(l=>{const c=document.createElement(e);for(const d in l)if(Object.prototype.hasOwnProperty.call(l,d))if(d==="innerHTML")c.innerHTML=l.innerHTML;else if(d==="cssText"){const u=l.cssText;c.appendChild(document.createTextNode(u))}else{const u=d,h=typeof l[u]>"u"?"":l[u];c.setAttribute(d,h)}c.setAttribute(pr,"true"),a.some((d,u)=>(o=u,c.isEqualNode(d)))?a.splice(o,1):i.push(c)}),a.forEach(l=>{var c;return(c=l.parentNode)==null?void 0:c.removeChild(l)}),i.forEach(l=>r.appendChild(l)),{oldTags:a,newTags:i}},Bh=(e,t)=>{const r=document.getElementsByTagName(e)[0];if(!r)return;const s=r.getAttribute(pr),a=s?s.split(","):[],i=[...a],o=Object.keys(t);for(const l of o){const c=t[l]||"";r.getAttribute(l)!==c&&r.setAttribute(l,c),a.indexOf(l)===-1&&a.push(l);const d=i.indexOf(l);d!==-1&&i.splice(d,1)}for(let l=i.length-1;l>=0;l-=1)r.removeAttribute(i[l]);a.length===i.length?r.removeAttribute(pr):r.getAttribute(pr)!==o.join(",")&&r.setAttribute(pr,o.join(","))},NS=(e,t)=>{typeof e<"u"&&document.title!==e&&(document.title=b0(e)),Bh("title",t)},$g=(e,t)=>{const{baseTag:r,bodyAttributes:s,htmlAttributes:a,linkTags:i,metaTags:o,noscriptTags:l,onChangeClientState:c,scriptTags:d,styleTags:u,title:h,titleAttributes:m}=e;Bh("body",s),Bh("html",a),NS(h,m);const p={baseTag:Gs("base",r),linkTags:Gs("link",i),metaTags:Gs("meta",o),noscriptTags:Gs("noscript",l),scriptTags:Gs("script",d),styleTags:Gs("style",u)},y={},f={};
67Object.keys(p).forEach(v=>{const{newTags:g,oldTags:x}=p[v];g.length&&(y[v]=g),x.length&&(f[v]=p[v].oldTags)}),t&&t(),c(e,y,f)},yi=null,kS=e=>{yi&&cancelAnimationFrame(yi),e.defer?yi=requestAnimationFrame(()=>{$g(e,()=>{yi=null})}):($g(e),yi=null)},CS=kS,Ug=class extends w.Component{constructor(){super(...arguments);Hr(this,"rendered",!1)}shouldComponentUpdate(t){return!oS(t,this.props)}componentDidUpdate(){this.emitChange()}componentWillUnmount(){const{helmetInstances:t}=this.props.context;t.remove(this),this.emitChange()}emitChange(){const{helmetInstances:t,setHelmet:r}=this.props.context;let s=null;const a=mS(t.get().map(i=>{const{context:o,...l}=i.props;return l}));N0.canUseDOM?CS(a):Lh&&(s=Lh(a)),r(s)}init(){if(this.rendered)return;this.rendered=!0;const{helmetInstances:t}=this.props.context;t.add(this),this.emitChange()}render(){return this.init(),null}},Ql=[],Bg=e=>{const t={};for(const r of Object.keys(e))t[y0[r]||r]=e[r];return t},ns=e=>{const t={};for(const r of Object.keys(e)){const s=cd[r];t[s||r]=e[r]}return t},Fg=(e,t)=>{if(!gp)return;const r=document.getElementsByTagName(e)[0];if(!r)return;const s="data-rh-managed",a=r.getAttribute(s),i=a?a.split(","):[],o=Object.keys(t);for(const l of i)o.includes(l)||r.removeAttribute(l);for(const l of o){const c=t[l];c==null||c===!1?r.removeAttribute(l):c===!0?r.setAttribute(l,""):r.setAttribute(l,String(c))}o.length>0?r.setAttribute(s,o.join(",")):r.removeAttribute(s)},gu=()=>{const e={},t={};for(const r of Ql){const{htmlAttributes:s,bodyAttributes:a}=r.props;s&&Object.assign(e,Bg(s)),a&&Object.assign(t,Bg(a))}Fg("html",e),Fg("body",t)},SS=class extends w.Component{componentDidMount(){Ql.push(this),gu()}componentDidUpdate(){gu()}componentWillUnmount(){const e=Ql.indexOf(this);e!==-1&&Ql.splice(e,1),gu()}resolveTitle(){const{title:e,titleTemplate:t,defaultTitle:r}=this.props;return e&&t?t.replace(/%s/g,()=>Array.isArray(e)?e.join(""):e):e||r||void 0}renderTitle(){const e=this.resolveTitle();if(e===void 0)return null;const t=this.props.titleAttributes||{};return P.createElement("title",ns(t),e)}renderBase(){const{base:e}=this.props;return e?P.createElement("base",ns(e)):null}renderMeta(){const{meta:e}=this.props;return!e||!Array.isArray(e)?null:e.map((t,r)=>P.createElement("meta",{key:r,...ns(t)}))}renderLink(){const{link:e}=this.props;return!e||!Array.isArray(e)?null:e.map((t,r)=>P.createElement("link",{key:r,...ns(t)}))}renderScript(){const{script:e}=this.props;return!e||!Array.isArray(e)?null:e.map((t,r)=>{const{innerHTML:s,...a}=t,i=ns(a);return s&&(i.dangerouslySetInnerHTML={__html:s}),P.createElement("script",{key:r,...i})})}renderStyle(){const{style:e}=this.props;return!e||!Array.isArray(e)?null:e.map((t,r)=>{const{cssText:s,...a}=t,i=ns(a);return s&&(i.dangerouslySetInnerHTML={__html:s}),P.createElement("style",{key:r,...i})})}renderNoscript(){const{noscript:e}=this.props;return!e||!Array.isArray(e)?null:e.map((t,r)=>{const{innerHTML:s,...a}=t,i=ns(a);return s&&(i.dangerouslySetInnerHTML={__html:s}),P.createElement("noscript",{key:r,...i})})}render(){return P.createElement(P.Fragment,null,this.renderTitle(),this.renderBase(),this.renderMeta(),this.renderLink(),this.renderScript(),this.renderStyle(),this.renderNoscript())}},Uu,ES=(Uu=class extends w.Component{shouldComponentUpdate(e){return!nS(Lg(this.props,"helmetData"),Lg(e,"helmetData"))}mapNestedChildrenToProps(e,t){if(!t)return null;switch(e.type){case"script":case"noscript":return{innerHTML:t};case"style":return{cssText:t};default:throw new Error(`<${e.type} /> elements are self-closing and can not contain children. Refer to our API for more information.`)}}flattenArrayTypeChildren(e,t,r,s){return{...t,[e.type]:[...t[e.type]||[],{...r,...this.mapNestedChildrenToProps(e,s)}]}}mapObjectTypeChildren(e,t,r,s){switch(e.type){case"title":return{...t,[e.type]:s,titleAttributes:{...r}};case"body":return{...t,bodyAttributes:{...r}};case"html":return{...t,htmlAttributes:{...r}};default:return{...t,[e.type]:{...r}}}}mapArrayTypeChildrenToProps(e,t){let r={...t};return Object.keys(e).forEach(s=>{r={...r,[s]:e[s]}}),r}
67warnOnInvalidChildren(e,t){return Og(Mg.some(r=>e.type===r),typeof e.type=="function"?"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.":`Only elements types ${Mg.join(", ")} are allowed. Helmet does not support rendering <${e.type}> elements. Refer to our API for more information.`),Og(!t||typeof t=="string"||Array.isArray(t)&&!t.some(r=>typeof r!="string"),`Helmet expects a string as a child of <${e.type}>. Did you forget to wrap your children in braces? ( <${e.type}>{\`\`}</${e.type}> ) Refer to our API for more information.`),!0}mapChildrenToProps(e,t){let r={};return P.Children.forEach(e,s=>{if(!s||!s.props)return;const{children:a,...i}=s.props,o=Object.keys(i).reduce((c,d)=>(c[y0[d]||d]=i[d],c),{});let{type:l}=s;switch(typeof l=="symbol"?l=l.toString():this.warnOnInvalidChildren(s,a),l){case"Symbol(react.fragment)":t=this.mapChildrenToProps(a,t);break;case"link":case"meta":case"noscript":case"script":case"style":r=this.flattenArrayTypeChildren(s,r,o,a);break;default:t=this.mapObjectTypeChildren(s,t,o,a);break}}),this.mapArrayTypeChildrenToProps(r,t)}render(){const{children:e,...t}=this.props;let r={...t},{helmetData:s}=t;if(e&&(r=this.mapChildrenToProps(e,r)),s&&!(s instanceof $h)){const a=s;s=new $h(a.context,!0),delete r.helmetData}return Uh?P.createElement(SS,{...r}):s?P.createElement(Ug,{...r,context:s.value}):P.createElement(j0.Consumer,null,a=>P.createElement(Ug,{...r,context:a}))}},Hr(Uu,"defaultProps",{defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1}),Uu),zg=["light","dark"],_S="(prefers-color-scheme: dark)",TS=w.createContext(void 0),AS={setTheme:e=>{},themes:[]},PS=()=>{var e;return(e=w.useContext(TS))!=null?e:AS};w.memo(({forcedTheme:e,storageKey:t,attribute:r,enableSystem:s,enableColorScheme:a,defaultTheme:i,value:o,attrs:l,nonce:c})=>{let d=i==="system",u=r==="class"?`var d=document.documentElement,c=d.classList;${`c.remove(${l.map(y=>`'${y}'`).join(",")})`};`:`var d=document.documentElement,n='${r}',s='setAttribute';`,h=a?zg.includes(i)&&i?`if(e==='light'||e==='dark'||!e)d.style.colorScheme=e||'${i}'`:"if(e==='light'||e==='dark')d.style.colorScheme=e":"",m=(y,f=!1,v=!0)=>{let g=o?o[y]:y,x=f?y+"|| ''":`'${g}'`,b="";return a&&v&&!f&&zg.includes(y)&&(b+=`d.style.colorScheme = '${y}';`),r==="class"?f||g?b+=`c.add(${x})`:b+="null":g&&(b+=`d[s](n,${x})`),b},p=e?`!function(){${u}${m(e)}}()`:s?`!function(){try{${u}var e=localStorage.getItem('${t}');if('system'===e||(!e&&${d})){var t='${_S}',m=window.matchMedia(t);if(m.media!==t||m.matches){${m("dark")}}else{${m("light")}}}else if(e){${o?`var x=${JSON.stringify(o)};`:""}${m(o?"x[e]":"e",!0)}}${d?"":"else{"+m(i,!1,!1)+"}"}${h}}catch(e){}}()`:`!function(){try{${u}var e=localStorage.getItem('${t}');if(e){${o?`var x=${JSON.stringify(o)};`:""}${m(o?"x[e]":"e",!0)}}else{${m(i,!1,!1)};}${h}}catch(t){}}();`;return w.createElement("script",{nonce:c,dangerouslySetInnerHTML:{__html:p}})});var RS=e=>{switch(e){case"success":return OS;case"info":return LS;case"warning":return MS;case"error":return $S;default:return null}},DS=Array(12).fill(0),IS=({visible:e,className:t})=>P.createElement("div",{className:["sonner-loading-wrapper",t].filter(Boolean).join(" "),"data-visible":e},P.createElement("div",{className:"sonner-spinner"},DS.map((r,s)=>P.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${s}`})))),OS=P.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},P.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),MS=P.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},P.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),LS=P.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},P.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),$S=P.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},P.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),US=P.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},P.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),P.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),BS=()=>{let[e,t]=P.useState(document.hidden);return P.useEffect(()=>{let r=()=>{t(document.hidden)};return document.addEventListener("visibilitychange",r),()=>window.removeEventListener("visibilitychange",r)},[]),e},Fh=1,FS=class{constructor(){this.subscribe=e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)}),this.publish=e=>
vendor: 1,050 bytes, line 67
67{this.subscribers.forEach(t=>t(e))},this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]},this.create=e=>{var t;let{message:r,...s}=e,a=typeof(e==null?void 0:e.id)=="number"||((t=e.id)==null?void 0:t.length)>0?e.id:Fh++,i=this.toasts.find(l=>l.id===a),o=e.dismissible===void 0?!0:e.dismissible;return this.dismissedToasts.has(a)&&this.dismissedToasts.delete(a),i?this.toasts=this.toasts.map(l=>l.id===a?(this.publish({...l,...e,id:a,title:r}),{...l,...e,id:a,dismissible:o,title:r}):l):this.addToast({title:r,...s,dismissible:o,id:a}),a},this.dismiss=e=>(this.dismissedToasts.add(e),e||this.toasts.forEach(t=>{this.subscribers.forEach(r=>r({id:t.id,dismiss:!0}))}),this.subscribers.forEach(t=>t({id:e,dismiss:!0})),e),this.message=(e,t)=>this.create({...t,message:e}),this.error=(e,t)=>this.create({...t,message:e,type:"error"}),this.success=(e,t)=>this.create({...t,type:"success",message:e}),this.info=(e,t)=>this.create({...t,type:"info",message:e}),this.warning=(e,t)=>this.create({...t,type:"warning",message:e}),this.loading=(e,t)=>
67this.create({...t,type:"loading",message:e}),this.promise=(e,t)=>{if(!t)return;let r;t.loading!==void 0&&(r=this.create({...t,promise:e,type:"loading",message:t.loading,description:typeof t.description!="function"?t.description:void 0}));let s=e instanceof Promise?e:e(),a=r!==void 0,i,o=s.then(async c=>{if(i=["resolve",c],P.isValidElement(c))a=!1,this.create({id:r,type:"default",message:c});else if(WS(c)&&!c.ok){a=!1;let d=typeof t.error=="function"?await t.error(`HTTP error! status: ${c.status}`):t.error,u=typeof t.description=="function"?await t.description(`HTTP error! status: ${c.status}`):t.description;this.create({id:r,type:"error",message:d,description:u})}else if(t.success!==void 0){a=!1;let d=typeof t.success=="function"?await t.success(c):t.success,u=typeof t.description=="function"?await t.description(c):t.description;this.create({id:r,type:"success",message:d,description:u})}}).catch(async c=>{if(i=["reject",c],t.error!==void 0){a=!1;let d=typeof t.error=="function"?await t.error(c):t.error,u=typeof t.description=="function"?await t.description(c):t.description;this.create({id:r,type:"error",message:d,description:u})}}).finally(()=>{var c;a&&(this.dismiss(r),r=void 0),(c=t.finally)==null||c.call(t)}),l=()=>new Promise((c,d)=>o.then(()=>i[0]==="reject"?d(i[1]):c(i[1])).catch(d));return typeof r!="string"&&typeof r!="number"?{unwrap:l}:Object.assign(r,{unwrap:l})},this.custom=(e,t)=>{let r=(t==null?void 0:t.id)||Fh++;return this.create({jsx:e(r),id:r,...t}),r},this.getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}},jt=new FS,zS=(e,t)=>{let r=(t==null?void 0:t.id)||Fh++;return jt.addToast({title:e,...t,id:r}),r},WS=e=>e&&typeof e=="object"&&"ok"in e&&typeof e.ok=="boolean"&&"status"in e&&typeof e.status=="number",GS=zS,HS=()=>jt.toasts,VS=()=>jt.getActiveToasts(),Wg=Object.assign(GS,{success:jt.success,info:jt.info,warning:jt.warning,error:jt.error,custom:jt.custom,message:jt.message,promise:jt.promise,dismiss:jt.dismiss,loading:jt.loading},{getHistory:HS,getToasts:VS});function qS(e,{insertAt:t}={}){if(typeof document>"u")return;let r=document.head||document.getElementsByTagName("head")[0],s=document.createElement("style");s.type="text/css",t==="top"&&r.firstChild?r.insertBefore(s,r.firstChild):r.appendChild(s),s.styleSheet?s.styleSheet.cssText=e:s.appendChild(document.createTextNode(e))}qS(`:where(html[dir="ltr"]),:where([data-sonner-toaster][dir="ltr"]){--toast-icon-margin-start: -3px;--toast-icon-margin-end: 4px;--toast-svg-margin-start: -1px;--toast-svg-margin-end: 0px;--toast-button-margin-start: auto;--toast-button-margin-end: 0;--toast-close-button-start: 0;--toast-close-button-end: unset;--toast-close-button-transform: translate(-35%, -35%)}:where(html[dir="rtl"]),:where([data-sonner-toaster][dir="rtl"]){--toast-icon-margin-start: 4px;--toast-icon-margin-end: -3px;--toast-svg-margin-start: 0px;--toast-svg-margin-end: -1px;--toast-button-margin-start: 0;--toast-button-margin-end: auto;--toast-close-button-start: unset;--toast-close-button-end: 0;--toast-close-button-transform: translate(35%, -35%)}:where([data-sonner-toaster]){position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1: hsl(0, 0%, 99%);--gray2: hsl(0, 0%, 97.3%);--gray3: hsl(0, 0%, 95.1%);--gray4: hsl(0, 0%, 93%);--gray5: hsl(0, 0%, 90.9%);--gray6: hsl(0, 0%, 88.7%);--gray7: hsl(0, 0%, 85.8%);--gray8: hsl(0, 0%, 78%);--gray9: hsl(0, 0%, 56.1%);--gray10: hsl(0, 0%, 52.3%);--gray11: hsl(0, 0%, 43.5%);--gray12: hsl(0, 0%, 9%);--border-radius: 8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:none;z-index:999999999;transition:transform .4s ease}:where([data-sonner-toaster][data-lifted="true"]){transform:translateY(-10px)}@media (hover: none) and (pointer: coarse){:where([data-sonner-toaster][data-lifted="true"]){transform:none}}:where([data-sonner-toaster][data-x-position="right"]){right:var(--offset-right)}:where([data-sonner-toaster][data-x-position="left"]){left:var(--offset-left)}:where([data-sonner-toaster][data-x-position="center"]){left:50%;transform:translate(-50%)}:where([data-sonner-toaster][data-y-position="top"]){top:var(--offset-top)}:where([data-sonner-toaster][data-y-position="bottom"]){bottom:var(--offset-bottom)}:where([data-sonner-toast]){--y: translateY(100%);--lift-amount: calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);filter:blur(0);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:none;overflow-wrap:anywhere}:where([data-sonner-toast][data-styled="true"]){padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}:where([data-sonner-toast]:focus-visible){box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast][data-y-position="top"]){top:0;--y: translateY(-100%);--lift: 1;--lift-amount: calc(1 * var(--gap))}:where([data-sonner-toast][data-y-position="bottom"]){bottom:0;--y: translateY(100%);--lift: -1;--lift-amount: calc(var(--lift) * var(--gap))}:where([data-sonner-toast]) :where([data-description]){font-weight:400;line-height:1.4;color:inherit}:where([data-sonner-toast]) :where([data-title]){font-weight:500;line-height:1.5;color:inherit}:where([data-sonner-toast]) :where([data-icon]){display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}:where([data-sonner-toast][data-promise="true"]) :where([data-icon])>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}:where([data-sonner-toast]) :where([data-icon])>*{flex-shrink:0}:where([data-sonner-toast]) :where([data-icon]) svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}:where([data-sonner-toast]) :where([data-content]){display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;cursor:pointer;outline:none;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}:where([data-sonner-toast]) :where([data-button]):focus-visible{box-shadow:0 0 0 2px #0006}:where([data-sonner-toast]) :where([data-button]):first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}:where([data-sonner-toast]) :where([data-cancel]){color:var(--normal-text);background:rgba(0,0,0,.08)}:where([data-sonner-toast][data-theme="dark"]) :where([data-cancel]){background:rgba(255,255,255,.3)}:where([data-sonner-toast]) :where([data-close-button]){position:absolute;
67left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast] [data-close-button]{background:var(--gray1)}:where([data-sonner-toast]) :where([data-close-button]):focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast]) :where([data-disabled="true"]){cursor:not-allowed}:where([data-sonner-toast]):hover :where([data-close-button]):hover{background:var(--gray2);border-color:var(--gray5)}:where([data-sonner-toast][data-swiping="true"]):before{content:"";position:absolute;left:-50%;right:-50%;height:100%;z-index:-1}:where([data-sonner-toast][data-y-position="top"][data-swiping="true"]):before{bottom:50%;transform:scaleY(3) translateY(50%)}:where([data-sonner-toast][data-y-position="bottom"][data-swiping="true"]):before{top:50%;transform:scaleY(3) translateY(-50%)}:where([data-sonner-toast][data-swiping="false"][data-removed="true"]):before{content:"";position:absolute;inset:0;transform:scaleY(2)}:where([data-sonner-toast]):after{content:"";position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}:where([data-sonner-toast][data-mounted="true"]){--y: translateY(0);opacity:1}:where([data-sonner-toast][data-expanded="false"][data-front="false"]){--scale: var(--toasts-before) * .05 + 1;--y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}:where([data-sonner-toast])>*{transition:opacity .4s}:where([data-sonner-toast][data-expanded="false"][data-front="false"][data-styled="true"])>*{opacity:0}
67:where([data-sonner-toast][data-visible="false"]){opacity:0;pointer-events:none}:where([data-sonner-toast][data-mounted="true"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}:where([data-sonner-toast][data-removed="true"][data-front="true"][data-swipe-out="false"]){--y: translateY(calc(var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="false"]){--y: translateY(40%);opacity:0;transition:transform .5s,opacity .2s}:where([data-sonner-toast][data-removed="true"][data-front="false"]):before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y, 0px)) translate(var(--swipe-amount-x, 0px));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width: 600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-theme=light]{--normal-bg: #fff;--normal-border: var(--gray4);--normal-text: var(--gray12);--success-bg: hsl(143, 85%, 96%);--success-border: hsl(145, 92%, 91%);--success-text: hsl(140, 100%, 27%);--info-bg: hsl(208, 100%, 97%);--info-border: hsl(221, 91%, 91%);--info-text: hsl(210, 92%, 45%);--warning-bg: hsl(49, 100%, 97%);--warning-border: hsl(49, 91%, 91%);--warning-text: hsl(31, 92%, 45%);--error-bg: hsl(359, 100%, 97%);--error-border: hsl(359, 100%, 94%);--error-text: hsl(360, 100%, 45%)}[data-sonner-toaster][data-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg: #fff;--normal-border: var(--gray3);--normal-text: var(--gray12)}[data-sonner-toaster][data-theme=dark]{--normal-bg: #000;--normal-bg-hover: hsl(0, 0%, 12%);--normal-border: hsl(0, 0%, 20%);--normal-border-hover: hsl(0, 0%, 25%);--normal-text: var(--gray1);--success-bg: hsl(150, 100%, 6%);--success-border: hsl(147, 100%, 12%);--success-text: hsl(150, 86%, 65%);--info-bg: hsl(215, 100%, 6%);--info-border: hsl(223, 100%, 12%);--info-text: hsl(216, 87%, 65%);--warning-bg: hsl(64, 100%, 6%);--warning-border: hsl(60, 100%, 12%);--warning-text: hsl(46, 87%, 65%);--error-bg: hsl(358, 76%, 10%);--error-border: hsl(357, 89%, 16%);
67--error-text: hsl(358, 100%, 81%)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success],[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info],[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning],[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error],[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size: 16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:nth-child(1){animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media (prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}
68`);function wl(e){return e.label!==void 0}var KS=3,YS="32px",JS="16px",Gg=4e3,QS=356,XS=14,ZS=20,e4=200;function ar(...e){return e.filter(Boolean).join(" ")}function t4(e){let[t,r]=e.split("-"),s=[];return t&&s.push(t),r&&s.push(r),s}var r4=e=>{var t,r,s,a,i,o,l,c,d,u,h;let{invert:m,toast:p,unstyled:y,interacting:f,setHeights:v,visibleToasts:g,heights:x,index:b,toasts:j,expanded:N,removeToast:k,defaultRichColors:C,closeButton:S,style:_,cancelButtonStyle:R,actionButtonStyle:$,className:O="",descriptionClassName:J="",duration:D,position:K,gap:G,loadingIcon:H,expandByDefault:E,classNames:T,icons:M,closeButtonAriaLabel:V="Close toast",pauseWhenPageIsHidden:W}=e,[Q,X]=P.useState(null),[ye,Re]=P.useState(null),[ee,De]=P.useState(!1),[Ke,Be]=P.useState(!1),[de,z]=P.useState(!1),[oe,je]=P.useState(!1),[We,ut]=P.useState(!1),[_t,Tt]=P.useState(0),[ht,Cr]=P.useState(0),Qt=P.useRef(p.duration||D||Gg),Bs=P.useRef(null),Xt=P.useRef(null),Jo=b===0,Qo=b+1<=g,vt=p.type,Gr=p.dismissible!==!1,Id=p.className||"",ii=p.descriptionClassName||"",Zt=P.useMemo(()=>x.findIndex(Z=>Z.toastId===p.id)||0,[x,p.id]),oi=P.useMemo(()=>{var Z;return(Z=p.closeButton)!=null?Z:S},[p.closeButton,S]),Fs=P.useMemo(()=>p.duration||D||Gg,[p.duration,D]),mn=P.useRef(0),pn=P.useRef(0),Xo=P.useRef(0),fn=P.useRef(null),[Od,Md]=K.split("-"),li=P.useMemo(()=>x.reduce((Z,he,be)=>be>=Zt?Z:Z+he.height,0),[x,Zt]),Zo=BS(),el=p.invert||m,zs=vt==="loading";pn.current=P.useMemo(()=>Zt*G+li,[Zt,li]),P.useEffect(()=>{Qt.current=Fs},[Fs]),P.useEffect(()=>{De(!0)},[]),P.useEffect(()=>{let Z=Xt.current;if(Z){let he=Z.getBoundingClientRect().height;return Cr(he),v(be=>[{toastId:p.id,height:he,position:p.position},...be]),()=>v(be=>be.filter(tr=>tr.toastId!==p.id))}},[v,p.id]),P.useLayoutEffect(()=>{if(!ee)return;let Z=Xt.current,he=Z.style.height;Z.style.height="auto";let be=Z.getBoundingClientRect().height;Z.style.height=he,Cr(be),v(tr=>tr.find(rr=>rr.toastId===p.id)?tr.map(rr=>
68rr.toastId===p.id?{...rr,height:be}:rr):[{toastId:p.id,height:be,position:p.position},...tr])},[ee,p.title,p.description,v,p.id]);let er=P.useCallback(()=>{Be(!0),Tt(pn.current),v(Z=>Z.filter(he=>he.toastId!==p.id)),setTimeout(()=>{k(p)},e4)},[p,k,v,pn]);P.useEffect(()=>{if(p.promise&&vt==="loading"||p.duration===1/0||p.type==="loading")return;let Z;return N||f||W&&Zo?(()=>{if(Xo.current<mn.current){let he=new Date().getTime()-mn.current;Qt.current=Qt.current-he}Xo.current=new Date().getTime()})():Qt.current!==1/0&&(mn.current=new Date().getTime(),Z=setTimeout(()=>{var he;(he=p.onAutoClose)==null||he.call(p,p),er()},Qt.current)),()=>clearTimeout(Z)},[N,f,p,vt,W,Zo,er]),P.useEffect(()=>{p.delete&&er()},[er,p.delete]);function Ld(){var Z,he,be;return M!=null&&M.loading?P.createElement("div",{className:ar(T==null?void 0:T.loader,(Z=p==null?void 0:p.classNames)==null?void 0:Z.loader,"sonner-loader"),"data-visible":vt==="loading"},M.loading):H?P.createElement("div",{className:ar(T==null?void 0:T.loader,(he=p==null?void 0:p.classNames)==null?void 0:he.loader,"sonner-loader"),"data-visible":vt==="loading"},H):P.createElement(IS,{className:ar(T==null?void 0:T.loader,(be=p==null?void 0:p.classNames)==null?void 0:be.loader),visible:vt==="loading"})}return P.createElement("li",{tabIndex:0,ref:Xt,className:ar(O,Id,T==null?void 0:T.toast,(t=p==null?void 0:p.classNames)==null?void 0:t.toast,T==null?void 0:T.default,T==null?void 0:T[vt],(r=p==null?void 0:p.classNames)==null?void 0:r[vt]),"data-sonner-toast":"","data-rich-colors":(s=p.richColors)!=null?s:C,"data-styled":!(p.jsx||p.unstyled||y),"data-mounted":ee,"data-promise":!!p.promise,"data-swiped":We,"data-removed":Ke,"data-visible":Qo,"data-y-position":Od,"data-x-position":Md,"data-index":b,"data-front":Jo,"data-swiping":de,"data-dismissible":Gr,"data-type":vt,"data-invert":el,"data-swipe-out":oe,"data-swipe-direction":ye,"data-expanded":!!(N||E&&ee),style:{"--index":b,"--toasts-before":b,"--z-index":j.length-b,"--offset":`${Ke?_t:pn.current}px`,"--initial-height":E?"auto":`${ht}px`,..._,...p.style},onDragEnd:()=>{z(!1),X(null),fn.current=null},onPointerDown:Z=>{zs||!Gr||(Bs.current=new Date,Tt(pn.current),Z.target.setPointerCapture(Z.pointerId),Z.target.tagName!=="BUTTON"&&(z(!0),fn.current={x:Z.clientX,y:Z.clientY}))},onPointerUp:()=>{var Z,he,be,tr;if(oe||!Gr)return;fn.current=null;let rr=Number(((Z=Xt.current)==null?void 0:Z.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),gn=Number(((he=Xt.current)==null?void 0:he.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),rs=new Date().getTime()-((be=Bs.current)==null?void 0:be.getTime()),nr=Q==="x"?rr:gn,xn=Math.abs(nr)/rs;if(Math.abs(nr)>=ZS||xn>.11){Tt(pn.current),(tr=p.onDismiss)==null||tr.call(p,p),Re(Q==="x"?rr>0?"right":"left":gn>0?"down":"up"),er(),je(!0),ut(!1);return}z(!1),X(null)},onPointerMove:Z=>{var he,be,tr,rr;if(!fn.current||!Gr||((he=window.getSelection())==null?void 0:he.toString().length)>0)return;let gn=Z.clientY-fn.current.y,rs=Z.clientX-fn.current.x,nr=(be=e.swipeDirections)!=null?be:t4(K);!Q&&(Math.abs(rs)>1||Math.abs(gn)>1)&&X(Math.abs(rs)>Math.abs(gn)?"x":"y");let xn={x:0,y:0};Q==="y"?(nr.includes("top")||nr.includes("bottom"))&&(nr.includes("top")&&gn<0||nr.includes("bottom")&&gn>0)&&(xn.y=gn):Q==="x"&&(nr.includes("left")||nr.includes("right"))&&(nr.includes("left")&&rs<0||nr.includes("right")&&rs>0)&&(xn.x=rs),(Math.abs(xn.x)>0||Math.abs(xn.y)>0)&&ut(!0),(tr=Xt.current)==null||tr.style.setProperty("--swipe-amount-x",`${xn.x}px`),(rr=Xt.current)==null||rr.style.setProperty("--swipe-amount-y",`${xn.y}px`)}},oi&&!p.jsx?P.createElement("button",{"aria-label":V,"data-disabled":zs,"data-close-button":!0,onClick:zs||!Gr?()=>{}:()=>{var Z;er(),(Z=p.onDismiss)==null||Z.call(p,p)},className:ar(T==null?void 0:T.closeButton,(a=p==null?void 0:p.classNames)==null?void 0:a.closeButton)},(i=M==null?void 0:M.close)!=null?i:US):null,p.jsx||w.isValidElement(p.title)?p.jsx?p.jsx:typeof p.title=="function"?p.title():p.title:P.createElement(P.Fragment,null,vt||p.icon||p.promise?P.createElement("div",{"data-icon":"",className:ar(T==null?void 0:T.icon,(o=p==null?void 0:p.classNames)==null?void 0:o.icon)}
vendor: 6,803 bytes, line 68
68,p.promise||p.type==="loading"&&!p.icon?p.icon||Ld():null,p.type!=="loading"?p.icon||(M==null?void 0:M[vt])||RS(vt):null):null,P.createElement("div",{"data-content":"",className:ar(T==null?void 0:T.content,(l=p==null?void 0:p.classNames)==null?void 0:l.content)},P.createElement("div",{"data-title":"",className:ar(T==null?void 0:T.title,(c=p==null?void 0:p.classNames)==null?void 0:c.title)},typeof p.title=="function"?p.title():p.title),p.description?P.createElement("div",{"data-description":"",className:ar(J,ii,T==null?void 0:T.description,(d=p==null?void 0:p.classNames)==null?void 0:d.description)},typeof p.description=="function"?p.description():p.description):null),w.isValidElement(p.cancel)?p.cancel:p.cancel&&wl(p.cancel)?P.createElement("button",{"data-button":!0,"data-cancel":!0,style:p.cancelButtonStyle||R,onClick:Z=>{var he,be;wl(p.cancel)&&Gr&&((be=(he=p.cancel).onClick)==null||be.call(he,Z),er())},className:ar(T==null?void 0:T.cancelButton,(u=p==null?void 0:p.classNames)==null?void 0:u.cancelButton)},p.cancel.label):null,w.isValidElement(p.action)?p.action:p.action&&wl(p.action)?P.createElement("button",{"data-button":!0,"data-action":!0,style:p.actionButtonStyle||$,onClick:Z=>{var he,be;wl(p.action)&&((be=(he=p.action).onClick)==null||be.call(he,Z),!Z.defaultPrevented&&er())},className:ar(T==null?void 0:T.actionButton,(h=p==null?void 0:p.classNames)==null?void 0:h.actionButton)},p.action.label):null))};function Hg(){if(typeof window>"u"||typeof document>"u")return"ltr";let e=document.documentElement.getAttribute("dir");return e==="auto"||!e?window.getComputedStyle(document.documentElement).direction:e}function n4(e,t){let r={};return[e,t].forEach((s,a)=>{let i=a===1,o=i?"--mobile-offset":"--offset",l=i?JS:YS;function c(d){["top","right","bottom","left"].forEach(u=>{r[`${o}-${u}`]=typeof d=="number"?`${d}px`:d})}typeof s=="number"||typeof s=="string"?c(s):typeof s=="object"?["top","right","bottom","left"].forEach(d=>{s[d]===void 0?r[`${o}-${d}`]=l:r[`${o}-${d}`]=typeof s[d]=="number"?`${s[d]}px`:s[d]}):c(l)}),r}var s4=w.forwardRef(function(e,t){let{invert:r,position:s="bottom-right",hotkey:a=["altKey","KeyT"],expand:i,closeButton:o,className:l,offset:c,mobileOffset:d,theme:u="light",richColors:h,duration:m,style:p,visibleToasts:y=KS,toastOptions:f,dir:v=Hg(),gap:g=XS,loadingIcon:x,icons:b,containerAriaLabel:j="Notifications",pauseWhenPageIsHidden:N}=e,[k,C]=P.useState([]),S=P.useMemo(()=>Array.from(new Set([s].concat(k.filter(W=>W.position).map(W=>W.position)))),[k,s]),[_,R]=P.useState([]),[$,O]=P.useState(!1),[J,D]=P.useState(!1),[K,G]=P.useState(u!=="system"?u:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),H=P.useRef(null),E=a.join("+").replace(/Key/g,"").replace(/Digit/g,""),T=P.useRef(null),M=P.useRef(!1),V=P.useCallback(W=>{C(Q=>{var X;return(X=Q.find(ye=>ye.id===W.id))!=null&&X.delete||jt.dismiss(W.id),Q.filter(({id:ye})=>ye!==W.id)})},[]);return P.useEffect(()=>jt.subscribe(W=>{if(W.dismiss){C(Q=>Q.map(X=>X.id===W.id?{...X,delete:!0}:X));return}setTimeout(()=>{Qv.flushSync(()=>{C(Q=>{let X=Q.findIndex(ye=>ye.id===W.id);return X!==-1?[...Q.slice(0,X),{...Q[X],...W},...Q.slice(X+1)]:[W,...Q]})})})}),[]),P.useEffect(()=>{if(u!=="system"){G(u);return}if(u==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?G("dark"):G("light")),typeof window>"u")return;let W=window.matchMedia("(prefers-color-scheme: dark)");try{W.addEventListener("change",({matches:Q})=>{G(Q?"dark":"light")})}catch{W.addListener(({matches:X})=>{try{G(X?"dark":"light")}catch(ye){console.error(ye)}})}},[u]),P.useEffect(()=>{k.length<=1&&O(!1)},[k]),P.useEffect(()=>{let W=Q=>{var X,ye;a.every(Re=>Q[Re]||Q.code===Re)&&(O(!0),(X=H.current)==null||X.focus()),Q.code==="Escape"&&(document.activeElement===H.current||(ye=H.current)!=null&&ye.contains(document.activeElement))&&O(!1)};return document.addEventListener("keydown",W),()=>document.removeEventListener("keydown",W)},[a]),P.useEffect(()=>{if(H.current)return()=>{T.current&&(T.current.focus({preventScroll:!0}),T.current=null,M.current=!1)}},[H.current]),P.createElement("section",{ref:t,"aria-label":`${j} ${E}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},S.map((W,Q)=>{var X;let[ye,Re]=W.split("-");return k.length?P.createElement("ol",{key:W,dir:v==="auto"?Hg():v,tabIndex:-1,ref:H,className:l,"data-sonner-toaster":!0,"data-theme":K,"data-y-position":ye,"data-lifted":$&&k.length>1&&!i,"data-x-position":Re,style:{"--front-toast-height":`${((X=_[0])==null?void 0:X.height)||0}px`,"--width":`${QS}px`,"--gap":`${g}px`,...p,...n4(c,d)},onBlur:ee=>{M.current&&!ee.currentTarget.contains(ee.relatedTarget)&&(M.current=!1,T.current&&(T.current.focus({preventScroll:!0}),T.current=null))},onFocus:ee=>{ee.target instanceof HTMLElement&&ee.target.dataset.dismissible==="false"||M.current||(M.current=!0,T.current=ee.relatedTarget)},onMouseEnter:()=>O(!0),onMouseMove:()=>O(!0),onMouseLeave:()=>{J||O(!1)},onDragEnd:()=>O(!1),onPointerDown:ee=>{ee.target instanceof HTMLElement&&ee.target.dataset.dismissible==="false"||D(!0)},onPointerUp:()=>D(!1)},k.filter(ee=>!ee.position&&Q===0||ee.position===W).map((ee,De)=>{var Ke,Be;return P.createElement(r4,{key:ee.id,icons:b,index:De,toast:ee,defaultRichColors:h,duration:(Ke=f==null?void 0:f.duration)!=null?Ke:m,className:f==null?void 0:f.className,descriptionClassName:f==null?void 0:f.descriptionClassName,invert:r,visibleToasts:y,closeButton:(Be=f==null?void 0:f.closeButton)!=null?Be:o,interacting:J,position:W,style:f==null?void 0:f.style,unstyled:f==null?void 0:f.unstyled,classNames:f==null?void 0:f.classNames,cancelButtonStyle:f==null?void 0:f.cancelButtonStyle,actionButtonStyle:f==null?void 0:f.actionButtonStyle,removeToast:V,toasts:k.filter(de=>de.position==ee.position),heights:_.filter(de=>de.position==ee.position),setHeights:R,expandByDefault:i,gap:g,loadingIcon:x,expanded:$,pauseWhenPageIsHidden:N,swipeDirections:e.swipeDirections})})):null}))});const a4=({...e})=>{const{theme:t="system"}=PS();return n.jsx(s4,{theme:t,className:"toaster group",toastOptions:{classNames:{toast:"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",description:"group-[.toast]:text-muted-foreground",actionButton:"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",cancelButton:"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground"}},...e})},i4=1,o4=1e6;let xu=0;function l4(){return xu=(xu+1)%Number.MAX_SAFE_INTEGER,xu.toString()}const yu=new Map,Vg=e=>{if(yu.has(e))return;const t=setTimeout(()=>{yu.delete(e),Fi({type:"REMOVE_TOAST",toastId:e})},o4);yu.set(e,t)},c4=(e,t)=>
68{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,i4)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(r=>r.id===t.toast.id?{...r,...t.toast}:r)};case"DISMISS_TOAST":{const{toastId:r}=t;return r?Vg(r):e.toasts.forEach(s=>{Vg(s.id)}),{...e,toasts:e.toasts.map(s=>s.id===r||r===void 0?{...s,open:!1}:s)}}case"REMOVE_TOAST":return t.toastId===void 0?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(r=>r.id!==t.toastId)}}},Xl=[];let Zl={toasts:[]};function Fi(e){Zl=c4(Zl,e),Xl.forEach(t=>{t(Zl)})}function d4({...e}){const t=l4(),r=a=>Fi({type:"UPDATE_TOAST",toast:{...a,id:t}}),s=()=>Fi({type:"DISMISS_TOAST",toastId:t});return Fi({type:"ADD_TOAST",toast:{...e,id:t,open:!0,onOpenChange:a=>{a||s()}}}),{id:t,dismiss:s,update:r}}function k0(){const[e,t]=w.useState(Zl);return w.useEffect(()=>(Xl.push(t),()=>{const r=Xl.indexOf(t);r>-1&&Xl.splice(r,1)}),[e]),{...e,toast:d4,dismiss:r=>Fi({type:"DISMISS_TOAST",toastId:r})}}function Ce(e,t,{checkForDefaultPrevented:r=!0}={}){return function(a){if(e==null||e(a),r===!1||!a.defaultPrevented)return t==null?void 0:t(a)}}function qg(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function C0(...e){return t=>{let r=!1;const s=e.map(a=>{const i=qg(a,t);return!r&&typeof i=="function"&&(r=!0),i});if(r)return()=>{for(let a=0;a<s.length;a++){const i=s[a];typeof i=="function"?i():qg(e[a],null)}}}}function nt(...e){return w.useCallback(C0(...e),e)}function u4(e,t){const r=w.createContext(t),s=i=>{const{children:o,...l}=i,c=w.useMemo(()=>l,Object.values(l));return n.jsx(r.Provider,{value:c,children:o})};s.displayName=e+"Provider";function a(i){const o=w.useContext(r);if(o)return o;if(t!==void 0)return t;throw new Error(`\`${i}\` must be used within \`${e}\``)}return[s,a]}function ei(e,t=[]){let r=[];function s(i,o){const l=w.createContext(o),c=r.length;r=[...r,o];const d=h=>{var g;const{scope:m,children:p,...y}=h,f=((g=m==null?void 0:m[e])==null?void 0:g[c])||l,v=w.useMemo(()=>y,Object.values(y));return n.jsx(f.Provider,{value:v,children:p})};d.displayName=i+"Provider";function u(h,m){var f;const p=((f=m==null?void 0:m[e])==null?void 0:f[c])||l,y=w.useContext(p);if(y)return y;if(o!==void 0)return o;throw new Error(`\`${h}\` must be used within \`${i}\``)}return[d,u]}const a=()=>{const i=r.map(o=>w.createContext(o));return function(l){const c=(l==null?void 0:l[e])||i;return w.useMemo(()=>({[`__scope${e}`]:{...l,[e]:c}}),[l,c])}};return a.scopeName=e,[s,h4(a,...t)]}function h4(...e){const t=e[0];if(e.length===1)return t;const r=()=>{const s=e.map(a=>({useScope:a(),scopeName:a.scopeName}));return function(i){const o=s.reduce((l,{useScope:c,scopeName:d})=>{const h=c(i)[`__scope${d}`];return{...l,...h}},{});return w.useMemo(()=>({[`__scope${t.scopeName}`]:o}),[o])}};return r.scopeName=t.scopeName,r}function po(e){const t=p4(e),r=w.forwardRef((s,a)=>{const{children:i,...o}=s,l=w.Children.toArray(i),c=l.find(f4);if(c){const d=c.props.children,u=l.map(h=>h===c?w.Children.count(d)>1?w.Children.only(null):w.isValidElement(d)?d.props.children:null:h);return n.jsx(t,{...o,ref:a,children:w.isValidElement(d)?w.cloneElement(d,void 0,u):null})}return n.jsx(t,{...o,ref:a,children:i})});return r.displayName=`${e}.Slot`,r}var m4=po("Slot");function p4(e){const t=w.forwardRef((r,s)=>{const{children:a,...i}=r;if(w.isValidElement(a)){const o=x4(a),l=g4(i,a.props);return a.type!==w.Fragment&&(l.ref=s?C0(s,o):o),w.cloneElement(a,l)}return w.Children.count(a)>1?w.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var S0=Symbol("radix.slottable");function E0(e){const t=({children:r})=>n.jsx(n.Fragment,{children:r});return t.displayName=`${e}.Slottable`,t.__radixId=S0,t}function f4(e){return w.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===S0}function g4(e,t){const r={...t};for(const s in t){const a=e[s],i=t[s];/^on[A-Z]/.test(s)?a&&i?r[s]=(...l)=>{const c=i(...l);return a(...l),c}:a&&(r[s]=a):s==="style"?r[s]={...a,...i}:s==="className"&&(r[s]=[a,i].filter(Boolean).join(" "))}return{...e,...r}}function x4(e){var s,a;let t=(s=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:s.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=(a=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:a.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}function y4(e){const t=e+"CollectionProvider",[r,s]=ei(t),[a,i]=r(t,{collectionRef:{current:null},itemMap:new Map}),o=f=>{const{scope:v,children:g}=f,x=P.useRef(null),b=P.useRef(new Map).current;return n.jsx(a,{scope:v,itemMap:b,collectionRef:x,children:g})};o.displayName=t;const l=e+"CollectionSlot",c=po(l),d=P.forwardRef((f,v)=>{const{scope:g,children:x}=f,b=i(l,g),j=nt(v,b.collectionRef);return n.jsx(c,{ref:j,children:x})});d.displayName=l;const u=e+"CollectionItemSlot",h="data-radix-collection-item",m=po(u),p=P.forwardRef((f,v)=>{const{scope:g,children:x,...b}=f,j=P.useRef(null),N=nt(v,j),k=i(u,g);return P.useEffect(()=>(k.itemMap.set(j,{ref:j,...b}),()=>void k.itemMap.delete(j))),n.jsx(m,{[h]:"",ref:N,children:x})});p.displayName=u;function y(f){const v=i(e+"CollectionConsumer",f);return P.useCallback(()=>{const x=v.collectionRef.current;if(!x)return[];const b=Array.from(x.querySelectorAll(`[${h}]`));return Array.from(v.itemMap.values()).sort((k,C)=>b.indexOf(k.ref.current)-b.indexOf(C.ref.current))},[v.collectionRef,v.itemMap])}return[{Provider:o,Slot:d,ItemSlot:p},y,s]}var b4=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],$e=b4.reduce((e,t)=>
vendor: 8,608 bytes, line 68
68{const r=po(`Primitive.${t}`),s=w.forwardRef((a,i)=>{const{asChild:o,...l}=a,c=o?r:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),n.jsx(c,{...l,ref:i})});return s.displayName=`Primitive.${t}`,{...e,[t]:s}},{});function _0(e,t){e&&zo.flushSync(()=>e.dispatchEvent(t))}function Fr(e){const t=w.useRef(e);return w.useEffect(()=>{t.current=e}),w.useMemo(()=>(...r)=>{var s;return(s=t.current)==null?void 0:s.call(t,...r)},[])}function v4(e,t=globalThis==null?void 0:globalThis.document){const r=Fr(e);w.useEffect(()=>{const s=a=>{a.key==="Escape"&&r(a)};return t.addEventListener("keydown",s,{capture:!0}),()=>t.removeEventListener("keydown",s,{capture:!0})},[r,t])}var w4="DismissableLayer",zh="dismissableLayer.update",j4="dismissableLayer.pointerDownOutside",N4="dismissableLayer.focusOutside",Kg,T0=w.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),dd=w.forwardRef((e,t)=>{const{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:s,onPointerDownOutside:a,onFocusOutside:i,onInteractOutside:o,onDismiss:l,...c}=e,d=w.useContext(T0),[u,h]=w.useState(null),m=(u==null?void 0:u.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,p]=w.useState({}),y=nt(t,C=>h(C)),f=Array.from(d.layers),[v]=[...d.layersWithOutsidePointerEventsDisabled].slice(-1),g=f.indexOf(v),x=u?f.indexOf(u):-1,b=d.layersWithOutsidePointerEventsDisabled.size>0,j=x>=g,N=C4(C=>{const S=C.target,_=[...d.branches].some(R=>R.contains(S));!j||_||(a==null||a(C),o==null||o(C),C.defaultPrevented||l==null||l())},m),k=S4(C=>{const S=C.target;[...d.branches].some(R=>R.contains(S))||(i==null||i(C),o==null||o(C),C.defaultPrevented||l==null||l())},m);return v4(C=>{x===d.layers.size-1&&(s==null||s(C),!C.defaultPrevented&&l&&(C.preventDefault(),l()))},m),w.useEffect(()=>{if(u)return r&&(d.layersWithOutsidePointerEventsDisabled.size===0&&(Kg=m.body.style.pointerEvents,m.body.style.pointerEvents="none"),d.layersWithOutsidePointerEventsDisabled.add(u)),d.layers.add(u),Yg(),()=>{r&&d.layersWithOutsidePointerEventsDisabled.size===1&&(m.body.style.pointerEvents=Kg)}},[u,m,r,d]),w.useEffect(()=>()=>{u&&(d.layers.delete(u),d.layersWithOutsidePointerEventsDisabled.delete(u),Yg())},[u,d]),w.useEffect(()=>{const C=()=>p({});return document.addEventListener(zh,C),()=>document.removeEventListener(zh,C)},[]),n.jsx($e.div,{...c,ref:y,style:{pointerEvents:b?j?"auto":"none":void 0,...e.style},onFocusCapture:Ce(e.onFocusCapture,k.onFocusCapture),onBlurCapture:Ce(e.onBlurCapture,k.onBlurCapture),onPointerDownCapture:Ce(e.onPointerDownCapture,N.onPointerDownCapture)})});dd.displayName=w4;var k4="DismissableLayerBranch",A0=w.forwardRef((e,t)=>{const r=w.useContext(T0),s=w.useRef(null),a=nt(t,s);return w.useEffect(()=>{const i=s.current;if(i)return r.branches.add(i),()=>{r.branches.delete(i)}},[r.branches]),n.jsx($e.div,{...e,ref:a})});A0.displayName=k4;function C4(e,t=globalThis==null?void 0:globalThis.document){const r=Fr(e),s=w.useRef(!1),a=w.useRef(()=>{});return w.useEffect(()=>{const i=l=>{if(l.target&&!s.current){let c=function(){P0(j4,r,d,{discrete:!0})};const d={originalEvent:l};l.pointerType==="touch"?(t.removeEventListener("click",a.current),a.current=c,t.addEventListener("click",a.current,{once:!0})):c()}else t.removeEventListener("click",a.current);s.current=!1},o=window.setTimeout(()=>{t.addEventListener("pointerdown",i)},0);return()=>{window.clearTimeout(o),t.removeEventListener("pointerdown",i),t.removeEventListener("click",a.current)}},[t,r]),{onPointerDownCapture:()=>s.current=!0}}function S4(e,t=globalThis==null?void 0:globalThis.document){const r=Fr(e),s=w.useRef(!1);return w.useEffect(()=>{const a=i=>{i.target&&!s.current&&P0(N4,r,{originalEvent:i},{discrete:!1})};return t.addEventListener("focusin",a),()=>t.removeEventListener("focusin",a)},[t,r]),{onFocusCapture:()=>s.current=!0,onBlurCapture:()=>s.current=!1}}function Yg(){const e=new CustomEvent(zh);document.dispatchEvent(e)}function P0(e,t,r,{discrete:s}){const a=r.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});t&&a.addEventListener(e,t,{once:!0}),s?_0(a,i):a.dispatchEvent(i)}var E4=dd,_4=A0,on=globalThis!=null&&globalThis.document?w.useLayoutEffect:()=>{},T4="Portal",xp=w.forwardRef((e,t)=>{var l;const{container:r,...s}=e,[a,i]=w.useState(!1);on(()=>i(!0),[]);const o=r||a&&((l=globalThis==null?void 0:globalThis.document)==null?void 0:l.body);return o?Qv.createPortal(n.jsx($e.div,{...s,ref:t}),o):null});xp.displayName=T4;function A4(e,t){return w.useReducer((r,s)=>t[r][s]??r,e)}var ti=e=>{const{present:t,children:r}=e,s=P4(t),a=typeof r=="function"?r({present:s.isPresent}):w.Children.only(r),i=nt(s.ref,R4(a));return typeof r=="function"||s.isPresent?w.cloneElement(a,{ref:i}):null};ti.displayName="Presence";function P4(e){const[t,r]=w.useState(),s=w.useRef(null),a=w.useRef(e),i=w.useRef("none"),o=e?"mounted":"unmounted",[l,c]=A4(o,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return w.useEffect(()=>{const d=jl(s.current);i.current=l==="mounted"?d:"none"},[l]),on(()=>{const d=s.current,u=a.current;if(u!==e){const m=i.current,p=jl(d);e?c("MOUNT"):p==="none"||(d==null?void 0:d.display)==="none"?c("UNMOUNT"):c(u&&m!==p?"ANIMATION_OUT":"UNMOUNT"),a.current=e}},[e,c]),on(()=>{if(t){let d;const u=t.ownerDocument.defaultView??window,h=p=>{const f=jl(s.current).includes(p.animationName);if(p.target===t&&f&&(c("ANIMATION_END"),!a.current)){const v=t.style.animationFillMode;t.style.animationFillMode="forwards",d=u.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=v)})}},m=p=>{p.target===t&&(i.current=jl(s.current))};return t.addEventListener("animationstart",m),t.addEventListener("animationcancel",h),t.addEventListener("animationend",h),()=>{u.clearTimeout(d),t.removeEventListener("animationstart",m),t.removeEventListener("animationcancel",h),t.removeEventListener("animationend",h)}}else c("ANIMATION_END")},[t,c]),{isPresent:["mounted","unmountSuspended"].includes(l),ref:w.useCallback(d=>{s.current=d?getComputedStyle(d):null,r(d)},[])}}function jl(e){return(e==null?void 0:e.animationName)||"none"}function R4(e){var s,a;let t=(s=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:s.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=(a=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:a.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}var D4=wm[" useInsertionEffect ".trim().toString()]||on;function R0({prop:e,defaultProp:t,onChange:r=()=>{},caller:s}){const[a,i,o]=I4({defaultProp:t,onChange:r}),l=e!==void 0,c=l?e:a;{const u=w.useRef(e!==void 0);w.useEffect(()=>{const h=u.current;h!==l&&console.warn(`${s} is changing from ${h?"controlled":"uncontrolled"} to ${l?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),u.current=l},[l,s])}const d=w.useCallback(u=>{var h;if(l){const m=O4(u)?u(e):u;m!==e&&((h=o.current)==null||h.call(o,m))}else i(u)},[l,e,i,o]);return[c,d]}function I4({defaultProp:e,onChange:t}){const[r,s]=w.useState(e),a=w.useRef(r),i=w.useRef(t);return D4(()=>{i.current=t},[t]),w.useEffect(()=>{var o;a.current!==r&&((o=i.current)==null||o.call(i,r),a.current=r)},[r,a]),[r,s,i]}function O4(e){return typeof e=="function"}var M4=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),L4="VisuallyHidden",ud=w.forwardRef((e,t)=>n.jsx($e.span,{...e,ref:t,style:{...M4,...e.style}}));ud.displayName=L4;var $4=ud,yp="ToastProvider",[bp,U4,B4]=y4("Toast"),[D0,RF]=ei("Toast",[B4]),[F4,hd]=D0(yp),I0=e=>{const{__scopeToast:t,label:r="Notification",duration:s=5e3,swipeDirection:a="right",swipeThreshold:i=50,children:o}=e,[l,c]=w.useState(null),[d,u]=w.useState(0),h=w.useRef(!1),m=w.useRef(!1);return r.trim()||console.error(`Invalid prop \`label\` supplied to \`${yp}\`. Expected non-empty \`string\`.`),n.jsx(bp.Provider,{scope:t,children:n.jsx(F4,{scope:t,label:r,duration:s,swipeDirection:a,swipeThreshold:i,toastCount:d,viewport:l,onViewportChange:c,onToastAdd:w.useCallback(()=>u(p=>p+1),[]),onToastRemove:w.useCallback(()=>u(p=>p-1),[]),isFocusedToastEscapeKeyDownRef:h,isClosePausedRef:m,children:o})})};I0.displayName=yp;var O0="ToastViewport",z4=["F8"],Wh="toast.viewportPause",Gh="toast.viewportResume",M0=w.forwardRef((e,t)=>
68{const{__scopeToast:r,hotkey:s=z4,label:a="Notifications ({hotkey})",...i}=e,o=hd(O0,r),l=U4(r),c=w.useRef(null),d=w.useRef(null),u=w.useRef(null),h=w.useRef(null),m=nt(t,h,o.onViewportChange),p=s.join("+").replace(/Key/g,"").replace(/Digit/g,""),y=o.toastCount>0;w.useEffect(()=>{const v=g=>{var b;s.length!==0&&s.every(j=>g[j]||g.code===j)&&((b=h.current)==null||b.focus())};return document.addEventListener("keydown",v),()=>document.removeEventListener("keydown",v)},[s]),w.useEffect(()=>{const v=c.current,g=h.current;if(y&&v&&g){const x=()=>{if(!o.isClosePausedRef.current){const k=new CustomEvent(Wh);g.dispatchEvent(k),o.isClosePausedRef.current=!0}},b=()=>{if(o.isClosePausedRef.current){const k=new CustomEvent(Gh);g.dispatchEvent(k),o.isClosePausedRef.current=!1}},j=k=>{!v.contains(k.relatedTarget)&&b()},N=()=>{v.contains(document.activeElement)||b()};return v.addEventListener("focusin",x),v.addEventListener("focusout",j),v.addEventListener("pointermove",x),v.addEventListener("pointerleave",N),window.addEventListener("blur",x),window.addEventListener("focus",b),()=>{v.removeEventListener("focusin",x),v.removeEventListener("focusout",j),v.removeEventListener("pointermove",x),v.removeEventListener("pointerleave",N),window.removeEventListener("blur",x),window.removeEventListener("focus",b)}}},[y,o.isClosePausedRef]);const f=w.useCallback(({tabbingDirection:v})=>{const x=l().map(b=>{const j=b.ref.current,N=[j,...tE(j)];return v==="forwards"?N:N.reverse()});return(v==="forwards"?x.reverse():x).flat()},[l]);return w.useEffect(()=>{const v=h.current;if(v){const g=x=>{var N,k,C;const b=x.altKey||x.ctrlKey||x.metaKey;if(x.key==="Tab"&&!b){const S=document.activeElement,_=x.shiftKey;if(x.target===v&&_){(N=d.current)==null||N.focus();return}const O=f({tabbingDirection:_?"backwards":"forwards"}),J=O.findIndex(D=>D===S);bu(O.slice(J+1))?x.preventDefault():_?(k=d.current)==null||k.focus():(C=u.current)==null||C.focus()}};return v.addEventListener("keydown",g),()=>v.removeEventListener("keydown",g)}},[l,f]),n.jsxs(_4,{ref:c,role:"region","aria-label":a.replace("{hotkey}",p),tabIndex:-1,style:{pointerEvents:y?void 0:"none"},children:[y&&n.jsx(Hh,{ref:d,onFocusFromOutsideViewport:()=>{const v=f({tabbingDirection:"forwards"});bu(v)}}),n.jsx(bp.Slot,{scope:r,children:n.jsx($e.ol,{tabIndex:-1,...i,ref:m})}),y&&n.jsx(Hh,{ref:u,onFocusFromOutsideViewport:()=>{const v=f({tabbingDirection:"backwards"});bu(v)}})]})});M0.displayName=O0;var L0="ToastFocusProxy",Hh=w.forwardRef((e,t)=>{const{__scopeToast:r,onFocusFromOutsideViewport:s,...a}=e,i=hd(L0,r);return n.jsx(ud,{"aria-hidden":!0,tabIndex:0,...a,ref:t,style:{position:"fixed"},onFocus:o=>{var d;const l=o.relatedTarget;!((d=i.viewport)!=null&&d.contains(l))&&s()}})});Hh.displayName=L0;var Wo="Toast",W4="toast.swipeStart",G4="toast.swipeMove",H4="toast.swipeCancel",V4="toast.swipeEnd",$0=w.forwardRef((e,t)=>{const{forceMount:r,open:s,defaultOpen:a,onOpenChange:i,...o}=e,[l,c]=R0({prop:s,defaultProp:a??!0,onChange:i,caller:Wo});return n.jsx(ti,{present:r||l,children:n.jsx(Y4,{open:l,...o,ref:t,onClose:()=>c(!1),onPause:Fr(e.onPause),onResume:Fr(e.onResume),onSwipeStart:Ce(e.onSwipeStart,d=>{d.currentTarget.setAttribute("data-swipe","start")}),onSwipeMove:Ce(e.onSwipeMove,d=>{const{x:u,y:h}=d.detail.delta;d.currentTarget.setAttribute("data-swipe","move"),d.currentTarget.style.setProperty("--radix-toast-swipe-move-x",`${u}px`),d.currentTarget.style.setProperty("--radix-toast-swipe-move-y",`${h}px`)}),onSwipeCancel:Ce(e.onSwipeCancel,d=>{d.currentTarget.setAttribute("data-swipe","cancel"),d.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),d.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),d.currentTarget.style.removeProperty("--radix-toast-swipe-end-x"),d.currentTarget.style.removeProperty("--radix-toast-swipe-end-y")}),onSwipeEnd:Ce(e.onSwipeEnd,d=>{const{x:u,y:h}=d.detail.delta;d.currentTarget.setAttribute("data-swipe","end"),d.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),d.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),d.currentTarget.style.setProperty("--radix-toast-swipe-end-x",`${u}px`),d.currentTarget.style.setProperty("--radix-toast-swipe-end-y",`${h}px`),c(!1)})})})});$0.displayName=Wo;var[q4,K4]=D0(Wo,{onClose(){}}),Y4=w.forwardRef((e,t)=>
68{const{__scopeToast:r,type:s="foreground",duration:a,open:i,onClose:o,onEscapeKeyDown:l,onPause:c,onResume:d,onSwipeStart:u,onSwipeMove:h,onSwipeCancel:m,onSwipeEnd:p,...y}=e,f=hd(Wo,r),[v,g]=w.useState(null),x=nt(t,D=>g(D)),b=w.useRef(null),j=w.useRef(null),N=a||f.duration,k=w.useRef(0),C=w.useRef(N),S=w.useRef(0),{onToastAdd:_,onToastRemove:R}=f,$=Fr(()=>{var K;(v==null?void 0:v.contains(document.activeElement))&&((K=f.viewport)==null||K.focus()),o()}),O=w.useCallback(D=>{!D||D===1/0||(window.clearTimeout(S.current),k.current=new Date().getTime(),S.current=window.setTimeout($,D))},[$]);w.useEffect(()=>{const D=f.viewport;if(D){const K=()=>{O(C.current),d==null||d()},G=()=>{const H=new Date().getTime()-k.current;C.current=C.current-H,window.clearTimeout(S.current),c==null||c()};return D.addEventListener(Wh,G),D.addEventListener(Gh,K),()=>{D.removeEventListener(Wh,G),D.removeEventListener(Gh,K)}}},[f.viewport,N,c,d,O]),w.useEffect(()=>{i&&!f.isClosePausedRef.current&&O(N)},[i,N,f.isClosePausedRef,O]),w.useEffect(()=>(_(),()=>R()),[_,R]);const J=w.useMemo(()=>v?H0(v):null,[v]);return f.viewport?n.jsxs(n.Fragment,{children:[J&&n.jsx(J4,{__scopeToast:r,role:"status","aria-live":s==="foreground"?"assertive":"polite","aria-atomic":!0,children:J}),n.jsx(q4,{scope:r,onClose:$,children:zo.createPortal(n.jsx(bp.ItemSlot,{scope:r,children:n.jsx(E4,{asChild:!0,onEscapeKeyDown:Ce(l,()=>{f.isFocusedToastEscapeKeyDownRef.current||$(),f.isFocusedToastEscapeKeyDownRef.current=!1}),children:n.jsx($e.li,{role:"status","aria-live":"off","aria-atomic":!0,tabIndex:0,"data-state":i?"open":"closed","data-swipe-direction":f.swipeDirection,...y,ref:x,style:{userSelect:"none",touchAction:"none",...e.style},onKeyDown:Ce(e.onKeyDown,D=>{D.key==="Escape"&&(l==null||l(D.nativeEvent),D.nativeEvent.defaultPrevented||(f.isFocusedToastEscapeKeyDownRef.current=!0,$()))}),onPointerDown:Ce(e.onPointerDown,D=>{D.button===0&&(b.current={x:D.clientX,y:D.clientY})}),onPointerMove:Ce(e.onPointerMove,D=>{if(!b.current)return;const K=D.clientX-b.current.x,G=D.clientY-b.current.y,H=!!j.current,E=["left","right"].includes(f.swipeDirection),T=["left","up"].includes(f.swipeDirection)?Math.min:Math.max,M=E?T(0,K):0,V=E?0:T(0,G),W=D.pointerType==="touch"?10:2,Q={x:M,y:V},X={originalEvent:D,delta:Q};H?(j.current=Q,Nl(G4,h,X,{discrete:!1})):Jg(Q,f.swipeDirection,W)?(j.current=Q,Nl(W4,u,X,{discrete:!1}),D.target.setPointerCapture(D.pointerId)):(Math.abs(K)>W||Math.abs(G)>W)&&(b.current=null)}),onPointerUp:Ce(e.onPointerUp,D=>{const K=j.current,G=D.target;if(G.hasPointerCapture(D.pointerId)&&G.releasePointerCapture(D.pointerId),j.current=null,b.current=null,K){const H=D.currentTarget,E={originalEvent:D,delta:K};Jg(K,f.swipeDirection,f.swipeThreshold)?Nl(V4,p,E,{discrete:!0}):Nl(H4,m,E,{discrete:!0}),H.addEventListener("click",T=>T.preventDefault(),{once:!0})}})})})}),f.viewport)})]}):null}),J4=e=>{const{__scopeToast:t,children:r,...s}=e,a=hd(Wo,t),[i,o]=w.useState(!1),[l,c]=w.useState(!1);return Z4(()=>o(!0)),w.useEffect(()=>{const d=window.setTimeout(()=>c(!0),1e3);return()=>window.clearTimeout(d)},[]),l?null:n.jsx(xp,{asChild:!0,children:n.jsx(ud,{...s,children:i&&n.jsxs(n.Fragment,{children:[a.label," ",r]})})})},Q4="ToastTitle",U0=w.forwardRef((e,t)=>{const{__scopeToast:r,...s}=e;return n.jsx($e.div,{...s,ref:t})});U0.displayName=Q4;var X4="ToastDescription",B0=w.forwardRef((e,t)=>{const{__scopeToast:r,...s}=e;return n.jsx($e.div,{...s,ref:t})});B0.displayName=X4;var F0="ToastAction",z0=w.forwardRef((e,t)=>{const{altText:r,...s}=e;return r.trim()?n.jsx(G0,{altText:r,asChild:!0,children:n.jsx(vp,{...s,ref:t})}):(console.error(`Invalid prop \`altText\` supplied to \`${F0}\`. Expected non-empty \`string\`.`),null)});z0.displayName=F0;var W0="ToastClose",vp=w.forwardRef((e,t)=>{const{__scopeToast:r,...s}=e,a=K4(W0,r);return n.jsx(G0,{asChild:!0,children:n.jsx($e.button,{type:"button",...s,ref:t,onClick:Ce(e.onClick,a.onClose)})})});vp.displayName=W0;var G0=w.forwardRef((e,t)=>{const{__scopeToast:r,altText:s,...a}=e;return n.jsx($e.div,{"data-radix-toast-announce-exclude":"","data-radix-toast-announce-alt":s||void 0,...a,ref:t})});function H0(e){const t=[];
vendor: 6,970 bytes, lines 68-123
68return Array.from(e.childNodes).forEach(s=>{if(s.nodeType===s.TEXT_NODE&&s.textContent&&t.push(s.textContent),eE(s)){const a=s.ariaHidden||s.hidden||s.style.display==="none",i=s.dataset.radixToastAnnounceExclude==="";if(!a)if(i){const o=s.dataset.radixToastAnnounceAlt;o&&t.push(o)}else t.push(...H0(s))}}),t}function Nl(e,t,r,{discrete:s}){const a=r.originalEvent.currentTarget,i=new CustomEvent(e,{bubbles:!0,cancelable:!0,detail:r});t&&a.addEventListener(e,t,{once:!0}),s?_0(a,i):a.dispatchEvent(i)}var Jg=(e,t,r=0)=>{const s=Math.abs(e.x),a=Math.abs(e.y),i=s>a;return t==="left"||t==="right"?i&&s>r:!i&&a>r};function Z4(e=()=>{}){const t=Fr(e);on(()=>{let r=0,s=0;return r=window.requestAnimationFrame(()=>s=window.requestAnimationFrame(t)),()=>{window.cancelAnimationFrame(r),window.cancelAnimationFrame(s)}},[t])}function eE(e){return e.nodeType===e.ELEMENT_NODE}function tE(e){const t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:s=>{const a=s.tagName==="INPUT"&&s.type==="hidden";return s.disabled||s.hidden||a?NodeFilter.FILTER_SKIP:s.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)t.push(r.currentNode);return t}function bu(e){const t=document.activeElement;return e.some(r=>r===t?!0:(r.focus(),document.activeElement!==t))}var rE=I0,V0=M0,q0=$0,K0=U0,Y0=B0,J0=z0,Q0=vp;function X0(e){var t,r,s="";if(typeof e=="string"||typeof e=="number")s+=e;else if(typeof e=="object")if(Array.isArray(e)){var a=e.length;for(t=0;t<a;t++)e[t]&&(r=X0(e[t]))&&(s&&(s+=" "),s+=r)}else for(r in e)e[r]&&(s&&(s+=" "),s+=r);return s}function Z0(){for(var e,t,r=0,s="",a=arguments.length;r<a;r++)(e=arguments[r])&&(t=X0(e))&&(s&&(s+=" "),s+=t);return s}const Qg=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,Xg=Z0,wp=(e,t)=>r=>{var s;if((t==null?void 0:t.variants)==null)return Xg(e,r==null?void 0:r.class,r==null?void 0:r.className);const{variants:a,defaultVariants:i}=t,o=Object.keys(a).map(d=>{const u=r==null?void 0:r[d],h=i==null?void 0:i[d];if(u===null)return null;const m=Qg(u)||Qg(h);return a[d][m]}),l=r&&Object.entries(r).reduce((d,u)=>{let[h,m]=u;return m===void 0||(d[h]=m),d},{}),c=t==null||(s=t.compoundVariants)===null||s===void 0?void 0:s.reduce((d,u)=>{let{class:h,className:m,...p}=u;return Object.entries(p).every(y=>{let[f,v]=y;return Array.isArray(v)?v.includes({...i,...l}[f]):{...i,...l}[f]===v})?[...d,h,m]:d},[]);return Xg(e,o,c,r==null?void 0:r.class,r==null?void 0:r.className)};/**
69 * @license lucide-react v0.462.0 - ISC
70 *
71 * This source code is licensed under the ISC license.
72 * See the LICENSE file in the root directory of this source tree.
73 */const nE=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),ew=(...e)=>e.filter((t,r,s)=>!!t&&t.trim()!==""&&s.indexOf(t)===r).join(" ").trim();/**
74 * @license lucide-react v0.462.0 - ISC
75 *
76 * This source code is licensed under the ISC license.
77 * See the LICENSE file in the root directory of this source tree.
78 */var sE={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/**
79 * @license lucide-react v0.462.0 - ISC
80 *
81 * This source code is licensed under the ISC license.
82 * See the LICENSE file in the root directory of this source tree.
83 */const aE=w.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:r=2,absoluteStrokeWidth:s,className:a="",children:i,iconNode:o,...l},c)=>w.createElement("svg",{ref:c,...sE,width:t,height:t,stroke:e,strokeWidth:s?Number(r)*24/Number(t):r,className:ew("lucide",a),...l},[...o.map(([d,u])=>w.createElement(d,u)),...Array.isArray(i)?i:[i]]));/**
84 * @license lucide-react v0.462.0 - ISC
85 *
86 * This source code is licensed under the ISC license.
87 * See the LICENSE file in the root directory of this source tree.
88 */const U=(e,t)=>{const r=w.forwardRef(({className:s,...a},i)=>w.createElement(aE,{ref:i,iconNode:t,className:ew(`lucide-${nE(e)}`,s),...a}));return r.displayName=`${e}`,r};/**
89 * @license lucide-react v0.462.0 - ISC
90 *
91 * This source code is licensed under the ISC license.
92 * See the LICENSE file in the root directory of this source tree.
93 */const iE=U("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);/**
94 * @license lucide-react v0.462.0 - ISC
95 *
96 * This source code is licensed under the ISC license.
97 * See the LICENSE file in the root directory of this source tree.
98 */const le=U("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);/**
99 * @license lucide-react v0.462.0 - ISC
100 *
101 * This source code is licensed under the ISC license.
102 * See the LICENSE file in the root directory of this source tree.
103 */const Kn=U("Award",[["path",{d:"m15.477 12.89 1.515 8.526a.5.5 0 0 1-.81.47l-3.58-2.687a1 1 0 0 0-1.197 0l-3.586 2.686a.5.5 0 0 1-.81-.469l1.514-8.526",key:"1yiouv"}],["circle",{cx:"12",cy:"8",r:"6",key:"1vp47v"}]]);/**
104 * @license lucide-react v0.462.0 - ISC
105 *
106 * This source code is licensed under the ISC license.
107 * See the LICENSE file in the root directory of this source tree.
108 */const pe=U("BookOpen",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]);/**
109 * @license lucide-react v0.462.0 - ISC
110 *
111 * This source code is licensed under the ISC license.
112 * See the LICENSE file in the root directory of this source tree.
113 */const Yn=U("Brain",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z",key:"ep3f8r"}],["path",{d:"M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4",key:"1p4c4q"}],["path",{d:"M17.599 6.5a3 3 0 0 0 .399-1.375",key:"tmeiqw"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M19.938 10.5a4 4 0 0 1 .585.396",key:"1qfode"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M19.967 17.484A4 4 0 0 1 18 18",key:"159ez6"}]]);/**
114 * @license lucide-react v0.462.0 - ISC
115 *
116 * This source code is licensed under the ISC license.
117 * See the LICENSE file in the root directory of this source tree.
118 */const jp=U("Briefcase",[["path",{d:"M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16",key:"jecpp"}],["rect",{width:"20",height:"14",x:"2",y:"6",rx:"2",key:"i6l2r4"}]]);/**
119 * @license lucide-react v0.462.0 - ISC
120 *
121 * This source code is licensed under the ISC license.
122 * See the LICENSE file in the root directory of this source tree.
123 */const oE=U("Building2",[["path",{d:"M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z",key:"1b4qmf"}],["path",{d:"M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2",key:"i71pzd"}],["path",{d:"M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2",key:"10jefs"}],["path",{d:"M10 6h4",key:"1itunk"}],["path",{d:"M10 10h4",key:"tcdvrf"}
123],["path",{d:"M10 14h4",key:"kelpxr"}],["path",{d:"M10 18h4",key:"1ulq68"}]]);/**
124 * @license lucide-react v0.462.0 - ISC
125 *
126 * This source code is licensed under the ISC license.
127 * See the LICENSE file in the root directory of this source tree.
128 */const Np=U("CalendarDays",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M8 14h.01",key:"6423bh"}],["path",{d:"M12 14h.01",key:"1etili"}],["path",{d:"M16 14h.01",key:"1gbofw"}],["path",{d:"M8 18h.01",key:"lrp35t"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M16 18h.01",key:"kzsmim"}]]);/**
129 * @license lucide-react v0.462.0 - ISC
130 *
131 * This source code is licensed under the ISC license.
132 * See the LICENSE file in the root directory of this source tree.
133 */const md=U("Calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]);/**
134 * @license lucide-react v0.462.0 - ISC
135 *
136 * This source code is licensed under the ISC license.
137 * See the LICENSE file in the root directory of this source tree.
138 */const tw=U("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/**
139 * @license lucide-react v0.462.0 - ISC
140 *
141 * This source code is licensed under the ISC license.
142 * See the LICENSE file in the root directory of this source tree.
143 */const kp=U("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);/**
144 * @license lucide-react v0.462.0 - ISC
145 *
146 * This source code is licensed under the ISC license.
147 * See the LICENSE file in the root directory of this source tree.
148 */const Ht=U("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/**
149 * @license lucide-react v0.462.0 - ISC
150 *
151 * This source code is licensed under the ISC license.
152 * See the LICENSE file in the root directory of this source tree.
153 */const lE=U("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);/**
154 * @license lucide-react v0.462.0 - ISC
155 *
156 * This source code is licensed under the ISC license.
157 * See the LICENSE file in the root directory of this source tree.
158 */const br=U("CircleCheckBig",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);/**
159 * @license lucide-react v0.462.0 - ISC
160 *
161 * This source code is licensed under the ISC license.
162 * See the LICENSE file in the root directory of this source tree.
163 */const cE=U("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);/**
164 * @license lucide-react v0.462.0 - ISC
165 *
166 * This source code is licensed under the ISC license.
167 * See the LICENSE file in the root directory of this source tree.
168 */const rw=U("Compass",[["path",{d:"m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z",key:"9ktpf1"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);/**
169 * @license lucide-react v0.462.0 - ISC
170 *
171 * This source code is licensed under the ISC license.
172 * See the LICENSE file in the root directory of this source tree.
173 */const pd=U("Cpu",[["rect",{width:"16",height:"16",x:"4",y:"4",rx:"2",key:"14l7u7"}],["rect",{width:"6",height:"6",x:"9",y:"9",rx:"1",key:"5aljv4"}],["path",{d:"M15 2v2",key:"13l42r"}],["path",{d:"M15 20v2",key:"15mkzm"}],["path",{d:"M2 15h2",key:"1gxd5l"}],["path",{d:"M2 9h2",key:"1bbxkp"}],["path",{d:"M20 15h2",key:"19e6y8"}],["path",{d:"M20 9h2",key:"19tzq7"}
173],["path",{d:"M9 2v2",key:"165o2o"}],["path",{d:"M9 20v2",key:"i2bqo8"}]]);/**
174 * @license lucide-react v0.462.0 - ISC
175 *
176 * This source code is licensed under the ISC license.
177 * See the LICENSE file in the root directory of this source tree.
178 */const dE=U("Database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]);/**
179 * @license lucide-react v0.462.0 - ISC
180 *
181 * This source code is licensed under the ISC license.
182 * See the LICENSE file in the root directory of this source tree.
183 */const nw=U("DollarSign",[["line",{x1:"12",x2:"12",y1:"2",y2:"22",key:"7eqyqh"}],["path",{d:"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6",key:"1b0p4s"}]]);/**
184 * @license lucide-react v0.462.0 - ISC
185 *
186 * This source code is licensed under the ISC license.
187 * See the LICENSE file in the root directory of this source tree.
188 */const qe=U("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);/**
189 * @license lucide-react v0.462.0 - ISC
190 *
191 * This source code is licensed under the ISC license.
192 * See the LICENSE file in the root directory of this source tree.
193 */const me=U("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);/**
194 * @license lucide-react v0.462.0 - ISC
195 *
196 * This source code is licensed under the ISC license.
197 * See the LICENSE file in the root directory of this source tree.
198 */const vr=U("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);/**
199 * @license lucide-react v0.462.0 - ISC
200 *
201 * This source code is licensed under the ISC license.
202 * See the LICENSE file in the root directory of this source tree.
203 */const Go=U("Film",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M7 3v18",key:"bbkbws"}],["path",{d:"M3 7.5h4",key:"zfgn84"}],["path",{d:"M3 12h18",key:"1i2n21"}],["path",{d:"M3 16.5h4",key:"1230mu"}],["path",{d:"M17 3v18",key:"in4fa5"}],["path",{d:"M17 7.5h4",key:"myr1c1"}],["path",{d:"M17 16.5h4",key:"go4c1d"}]]);/**
204 * @license lucide-react v0.462.0 - ISC
205 *
206 * This source code is licensed under the ISC license.
207 * See the LICENSE file in the root directory of this source tree.
208 */const uE=U("FlaskConical",[["path",{d:"M10 2v7.527a2 2 0 0 1-.211.896L4.72 20.55a1 1 0 0 0 .9 1.45h12.76a1 1 0 0 0 .9-1.45l-5.069-10.127A2 2 0 0 1 14 9.527V2",key:"pzvekw"}],["path",{d:"M8.5 2h7",key:"csnxdl"}],["path",{d:"M7 16h10",key:"wp8him"}]]);/**
209 * @license lucide-react v0.462.0 - ISC
210 *
211 * This source code is licensed under the ISC license.
212 * See the LICENSE file in the root directory of this source tree.
213 */const hE=U("FolderOpen",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);/**
214 * @license lucide-react v0.462.0 - ISC
215 *
216 * This source code is licensed under the ISC license.
217 * See the LICENSE file in the root directory of this source tree.
218 */const sw=U("Gamepad2",[["line",{x1:"6",x2:"10",y1:"11",y2:"11",key:"1gktln"}],["line",{x1:"8",x2:"8",y1:"9",y2:"13",key:"qnk9ow"}],["line",{x1:"15",x2:"15.01",y1:"12",y2:"12",key:"krot7o"}],["line",{x1:"18",x2:"18.01",y1:"10",y2:"10",key:"1lcuu1"}],["path",{d:"M17.32 5H6.68a4 4 0 0 0-3.978 3.59c-.006.052-.01.101-.017.152C2.604 9.416 2 14.456 2 16a3 3 0 0 0 3 3c1 0 1.5-.5 2-1l1.414-1.414A2 2 0 0 1 9.828 16h4.344a2 2 0 0 1 1.414.586L17 18c.5.5 1 1 2 1a3 3 0 0 0 3-3c0-1.545-.604-6.584-.685-7.258-.007-.05-.011-.1-.017-.151A4 4 0 0 0 17.32 5z",key:"mfqc10"}]]);/**
219 * @license lucide-react v0.462.0 - ISC
220 *
221 * This source code is licensed under the ISC license.
222 * See the LICENSE file in the root directory of this source tree.
223 */const Jt=U("Globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]);/**
224 * @license lucide-react v0.462.0 - ISC
225 *
226 * This source code is licensed under the ISC license.
227 * See the LICENSE file in the root directory of this source tree.
228 */const fd=U("GraduationCap",[["path",{d:"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z",key:"j76jl0"}],["path",{d:"M22 10v6",key:"1lu8f3"}],["path",{d:"M6 12.5V16a6 3 0 0 0 12 0v-3.5",key:"1r8lef"}]]);/**
229 * @license lucide-react v0.462.0 - ISC
230 *
231 * This source code is licensed under the ISC license.
232 * See the LICENSE file in the root directory of this source tree.
233 */const mE=U("Handshake",[["path",{d:"m11 17 2 2a1 1 0 1 0 3-3",key:"efffak"}],["path",{d:"m14 14 2.5 2.5a1 1 0 1 0 3-3l-3.88-3.88a3 3 0 0 0-4.24 0l-.88.88a1 1 0 1 1-3-3l2.81-2.81a5.79 5.79 0 0 1 7.06-.87l.47.28a2 2 0 0 0 1.42.25L21 4",key:"9pr0kb"}],["path",{d:"m21 3 1 11h-2",key:"1tisrp"}],["path",{d:"M3 3 2 14l6.5 6.5a1 1 0 1 0 3-3",key:"1uvwmv"}],["path",{d:"M3 4h8",key:"1ep09j"}]]);/**
234 * @license lucide-react v0.462.0 - ISC
235 *
236 * This source code is licensed under the ISC license.
237 * See the LICENSE file in the root directory of this source tree.
238 */const aw=U("House",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"1d0kgt"}]]);/**
239 * @license lucide-react v0.462.0 - ISC
240 *
241 * This source code is licensed under the ISC license.
242 * See the LICENSE file in the root directory of this source tree.
243 */const pE=U("Laptop",[["path",{d:"M20 16V7a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v9m16 0H4m16 0 1.28 2.55a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45L4 16",key:"tarvll"}]]);/**
244 * @license lucide-react v0.462.0 - ISC
245 *
246 * This source code is licensed under the ISC license.
247 * See the LICENSE file in the root directory of this source tree.
248 */const fE=U("Layers",[["path",{d:"m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z",key:"8b97xw"}],["path",{d:"m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65",key:"dd6zsq"}],["path",{d:"m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65",key:"ep9fru"}]]);/**
249 * @license lucide-react v0.462.0 - ISC
250 *
251 * This source code is licensed under the ISC license.
252 * See the LICENSE file in the root directory of this source tree.
253 */const iw=U("Leaf",[["path",{d:"M11 20A7 7 0 0 1 9.8 6.1C15.5 5 17 4.48 19 2c1 2 2 4.18 2 8 0 5.5-4.78 10-10 10Z",key:"nnexq3"}],["path",{d:"M2 21c0-3 1.85-5.36 5.08-6C9.5 14.52 12 13 13 12",key:"mt58a7"}]]);/**
254 * @license lucide-react v0.462.0 - ISC
255 *
256 * This source code is licensed under the ISC license.
257 * See the LICENSE file in the root directory of this source tree.
258 */const Bt=U("Lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]]);/**
259 * @license lucide-react v0.462.0 - ISC
260 *
261 * This source code is licensed under the ISC license.
262 * See the LICENSE file in the root directory of this source tree.
263 */const gd=U("Linkedin",[["path",{d:"M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z",key:"c2jq9f"}],["rect",{width:"4",height:"12",x:"2",y:"9",key:"mk3on5"}],["circle",{cx:"4",cy:"4",r:"2",key:"bt5ra8"}]]);/**
264 * @license lucide-react v0.462.0 - ISC
265 *
266 * This source code is licensed under the ISC license.
267 * See the LICENSE file in the root directory of this source tree.
268 */const fo=U("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);/**
269 * @license lucide-react v0.462.0 - ISC
270 *
271 * This source code is licensed under the ISC license.
272 * See the LICENSE file in the root directory of this source tree.
273 */const gE=U("LogOut",[["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}],["polyline",{points:"16 17 21 12 16 7",key:"1gabdz"}],["line",{x1:"21",x2:"9",y1:"12",y2:"12",key:"1uyos4"}]]);/**
274 * @license lucide-react v0.462.0 - ISC
275 *
276 * This source code is licensed under the ISC license.
277 * See the LICENSE file in the root directory of this source tree.
278 */const ow=U("Mail",[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}]]);/**
279 * @license lucide-react v0.462.0 - ISC
280 *
281 * This source code is licensed under the ISC license.
282 * See the LICENSE file in the root directory of this source tree.
283 */const xE=U("MapPin",[["path",{d:"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0",key:"1r0f0z"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}]]);/**
284 * @license lucide-react v0.462.0 - ISC
285 *
286 * This source code is licensed under the ISC license.
287 * See the LICENSE file in the root directory of this source tree.
288 */const yE=U("Maximize2",[["polyline",{points:"15 3 21 3 21 9",key:"mznyad"}],["polyline",{points:"9 21 3 21 3 15",key:"1avn1i"}],["line",{x1:"21",x2:"14",y1:"3",y2:"10",key:"ota7mn"}],["line",{x1:"3",x2:"10",y1:"21",y2:"14",key:"1atl0r"}]]);/**
289 * @license lucide-react v0.462.0 - ISC
290 *
291 * This source code is licensed under the ISC license.
292 * See the LICENSE file in the root directory of this source tree.
293 */const Vh=U("Medal",[["path",{d:"M7.21 15 2.66 7.14a2 2 0 0 1 .13-2.2L4.4 2.8A2 2 0 0 1 6 2h12a2 2 0 0 1 1.6.8l1.6 2.14a2 2 0 0 1 .14 2.2L16.79 15",key:"143lza"}],["path",{d:"M11 12 5.12 2.2",key:"qhuxz6"}],["path",{d:"m13 12 5.88-9.8",key:"hbye0f"}],["path",{d:"M8 7h8",key:"i86dvs"}],["circle",{cx:"12",cy:"17",r:"5",key:"qbz8iq"}],["path",{d:"M12 18v-2h-.5",key:"fawc4q"}]]);/**
294 * @license lucide-react v0.462.0 - ISC
295 *
296 * This source code is licensed under the ISC license.
297 * See the LICENSE file in the root directory of this source tree.
298 */const lw=U("Megaphone",[["path",{d:"m3 11 18-5v12L3 14v-3z",key:"n962bs"}],["path",{d:"M11.6 16.8a3 3 0 1 1-5.8-1.6",key:"1yl0tm"}]]);/**
299 * @license lucide-react v0.462.0 - ISC
300 *
301 * This source code is licensed under the ISC license.
302 * See the LICENSE file in the root directory of this source tree.
303 */const bE=U("Menu",[["line",{x1:"4",x2:"20",y1:"12",y2:"12",key:"1e0a9i"}],["line",{x1:"4",x2:"20",y1:"6",y2:"6",key:"1owob3"}],["line",{x1:"4",x2:"20",y1:"18",y2:"18",key:"yk5zj1"}]]);/**
304 * @license lucide-react v0.462.0 - ISC
305 *
306 * This source code is licensed under the ISC license.
307 * See the LICENSE file in the root directory of this source tree.
308 */const Cp=U("MessageCircle",[["path",{d:"M7.9 20A9 9 0 1 0 4 16.1L2 22Z",key:"vv11sd"}]]);/**
309 * @license lucide-react v0.462.0 - ISC
310 *
311 * This source code is licensed under the ISC license.
312 * See the LICENSE file in the root directory of this source tree.
313 */const Ho=U("MessageSquare",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}]]);/**
314 * @license lucide-react v0.462.0 - ISC
315 *
316 * This source code is licensed under the ISC license.
317 * See the LICENSE file in the root directory of this source tree.
318 */const cw=U("Mic",[["path",{d:"M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z",key:"131961"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["line",{x1:"12",x2:"12",y1:"19",y2:"22",key:"x3vr5v"}]]);/**
319 * @license lucide-react v0.462.0 - ISC
320 *
321 * This source code is licensed under the ISC license.
322 * See the LICENSE file in the root directory of this source tree.
323 */const dw=U("Network",[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]]);/**
324 * @license lucide-react v0.462.0 - ISC
325 *
326 * This source code is licensed under the ISC license.
327 * See the LICENSE file in the root directory of this source tree.
328 */const xd=U("Newspaper",[["path",{d:"M4 22h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16a2 2 0 0 1-2 2Zm0 0a2 2 0 0 1-2-2v-9c0-1.1.9-2 2-2h2",key:"7pis2x"}],["path",{d:"M18 14h-8",key:"sponae"}],["path",{d:"M15 18h-5",key:"95g1m2"}],["path",{d:"M10 6h8v4h-8V6Z",key:"smlsk5"}]]);/**
329 * @license lucide-react v0.462.0 - ISC
330 *
331 * This source code is licensed under the ISC license.
332 * See the LICENSE file in the root directory of this source tree.
333 */const Sp=U("PenLine",[["path",{d:"M12 20h9",key:"t2du7b"}],["path",{d:"M16.376 3.622a1 1 0 0 1 3.002 3.002L7.368 18.635a2 2 0 0 1-.855.506l-2.872.838a.5.5 0 0 1-.62-.62l.838-2.872a2 2 0 0 1 .506-.854z",key:"1ykcvy"}]]);/**
334 * @license lucide-react v0.462.0 - ISC
335 *
336 * This source code is licensed under the ISC license.
337 * See the LICENSE file in the root directory of this source tree.
338 */const Zg=U("Plane",[["path",{d:"M17.8 19.2 16 11l3.5-3.5C21 6 21.5 4 21 3c-1-.5-3 0-4.5 1.5L13 8 4.8 6.2c-.5-.1-.9.1-1.1.5l-.3.5c-.2.5-.1 1 .3 1.3L9 12l-2 3H4l-1 1 3 2 2 3 1-1v-3l3-2 3.5 5.3c.3.4.8.5 1.3.3l.5-.2c.4-.3.6-.7.5-1.2z",key:"1v9wt8"}]]);/**
339 * @license lucide-react v0.462.0 - ISC
340 *
341 * This source code is licensed under the ISC license.
342 * See the LICENSE file in the root directory of this source tree.
343 */const Ep=U("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]);/**
344 * @license lucide-react v0.462.0 - ISC
345 *
346 * This source code is licensed under the ISC license.
347 * See the LICENSE file in the root directory of this source tree.
348 */const _p=U("Presentation",[["path",{d:"M2 3h20",key:"91anmk"}],["path",{d:"M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3",key:"2k9sn8"}],["path",{d:"m7 21 5-5 5 5",key:"bip4we"}]]);/**
349 * @license lucide-react v0.462.0 - ISC
350 *
351 * This source code is licensed under the ISC license.
352 * See the LICENSE file in the root directory of this source tree.
353 */const vE=U("Quote",[["path",{d:"M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z",key:"rib7q0"}],["path",{d:"M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z",key:"1ymkrd"}]]);/**
354 * @license lucide-react v0.462.0 - ISC
355 *
356 * This source code is licensed under the ISC license.
357 * See the LICENSE file in the root directory of this source tree.
358 */const wE=U("Radio",[["path",{d:"M4.9 19.1C1 15.2 1 8.8 4.9 4.9",key:"1vaf9d"}],["path",{d:"M7.8 16.2c-2.3-2.3-2.3-6.1 0-8.5",key:"u1ii0m"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"M16.2 7.8c2.3 2.3 2.3 6.1 0 8.5",key:"1j5fej"}],["path",{d:"M19.1 4.9C23 8.8 23 15.1 19.1 19",key:"10b0cb"}]]);/**
359 * @license lucide-react v0.462.0 - ISC
360 *
361 * This source code is licensed under the ISC license.
362 * See the LICENSE file in the root directory of this source tree.
363 */const jE=U("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);/**
364 * @license lucide-react v0.462.0 - ISC
365 *
366 * This source code is licensed under the ISC license.
367 * See the LICENSE file in the root directory of this source tree.
368 */const Tp=U("Scale",[["path",{d:"m16 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z",key:"7g6ntu"}],["path",{d:"m2 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z",key:"ijws7r"}],["path",{d:"M7 21h10",key:"1b0cd5"}],["path",{d:"M12 3v18",key:"108xh3"}],["path",{d:"M3 7h2c2 0 5-1 7-2 2 1 5 2 7 2h2",key:"3gwbw2"}]]);/**
369 * @license lucide-react v0.462.0 - ISC
370 *
371 * This source code is licensed under the ISC license.
372 * See the LICENSE file in the root directory of this source tree.
373 */const Ac=U("School",[["path",{d:"M14 22v-4a2 2 0 1 0-4 0v4",key:"hhkicm"}],["path",{d:"m18 10 3.447 1.724a1 1 0 0 1 .553.894V20a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-7.382a1 1 0 0 1 .553-.894L6 10",key:"1xqip1"}],["path",{d:"M18 5v17",key:"1sw6gf"}],["path",{d:"m4 6 7.106-3.553a2 2 0 0 1 1.788 0L20 6",key:"9d2mlk"}],["path",{d:"M6 5v17",key:"1xfsm0"}],["circle",{cx:"12",cy:"9",r:"2",key:"1092wv"}]]);/**
374 * @license lucide-react v0.462.0 - ISC
375 *
376 * This source code is licensed under the ISC license.
377 * See the LICENSE file in the root directory of this source tree.
378 */const Us=U("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/**
379 * @license lucide-react v0.462.0 - ISC
380 *
381 * This source code is licensed under the ISC license.
382 * See the LICENSE file in the root directory of this source tree.
383 */const NE=U("Send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);/**
384 * @license lucide-react v0.462.0 - ISC
385 *
386 * This source code is licensed under the ISC license.
387 * See the LICENSE file in the root directory of this source tree.
388 */const ex=U("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",ke
388y:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/**
389 * @license lucide-react v0.462.0 - ISC
390 *
391 * This source code is licensed under the ISC license.
392 * See the LICENSE file in the root directory of this source tree.
393 */const xt=U("Shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]);/**
394 * @license lucide-react v0.462.0 - ISC
395 *
396 * This source code is licensed under the ISC license.
397 * See the LICENSE file in the root directory of this source tree.
398 */const kE=U("ShoppingBag",[["path",{d:"M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4Z",key:"hou9p0"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M16 10a4 4 0 0 1-8 0",key:"1ltviw"}]]);/**
399 * @license lucide-react v0.462.0 - ISC
400 *
401 * This source code is licensed under the ISC license.
402 * See the LICENSE file in the root directory of this source tree.
403 */const yd=U("Sparkles",[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",key:"4pj2yx"}],["path",{d:"M20 3v4",key:"1olli1"}],["path",{d:"M22 5h-4",key:"1gvqau"}],["path",{d:"M4 17v2",key:"vumght"}],["path",{d:"M5 18H3",key:"zchphs"}]]);/**
404 * @license lucide-react v0.462.0 - ISC
405 *
406 * This source code is licensed under the ISC license.
407 * See the LICENSE file in the root directory of this source tree.
408 */const uw=U("Star",[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]]);/**
409 * @license lucide-react v0.462.0 - ISC
410 *
411 * This source code is licensed under the ISC license.
412 * See the LICENSE file in the root directory of this source tree.
413 */const Vo=U("Target",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]]);/**
414 * @license lucide-react v0.462.0 - ISC
415 *
416 * This source code is licensed under the ISC license.
417 * See the LICENSE file in the root directory of this source tree.
418 */const CE=U("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);/**
419 * @license lucide-react v0.462.0 - ISC
420 *
421 * This source code is licensed under the ISC license.
422 * See the LICENSE file in the root directory of this source tree.
423 */const Es=U("Trophy",[["path",{d:"M6 9H4.5a2.5 2.5 0 0 1 0-5H6",key:"17hqa7"}],["path",{d:"M18 9h1.5a2.5 2.5 0 0 0 0-5H18",key:"lmptdp"}],["path",{d:"M4 22h16",key:"57wxv0"}],["path",{d:"M10 14.66V17c0 .55-.47.98-.97 1.21C7.85 18.75 7 20.24 7 22",key:"1nw9bq"}],["path",{d:"M14 14.66V17c0 .55.47.98.97 1.21C16.15 18.75 17 20.24 17 22",key:"1np0yb"}],["path",{d:"M18 2H6v7a6 6 0 0 0 12 0V2Z",key:"u46fv3"}]]);/**
424 * @license lucide-react v0.462.0 - ISC
425 *
426 * This source code is licensed under the ISC license.
427 * See the LICENSE file in the root directory of this source tree.
428 */const Qe=U("Users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["path",{d:"M16 3.13a4 4 0 0 1 0 7.75",key:"1da9ce"}]]);/**
429 * @license lucide-react v0.462.0 - ISC
430 *
431 * This source code is licensed under the ISC license.
432 * See the LICENSE file in the root directory of this source tree.
433 */const go=U("Video",[["path",{d:"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5",key:"ftymec"}],["rect",{x:"2",y:"6",width:"14",height:"12",rx:"2",key:"158x01"}]]);/**
434 * @license lucide-react v0.462.0 - ISC
435 *
436 * This source code is licensed under the ISC license.
437 * See the LICENSE file in the root directory of this source tree.
438 */const Ap=U("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}
vendor: 6,658 bytes, lines 438-448
438],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);/**
439 * @license lucide-react v0.462.0 - ISC
440 *
441 * This source code is licensed under the ISC license.
442 * See the LICENSE file in the root directory of this source tree.
443 */const SE=U("Youtube",[["path",{d:"M2.5 17a24.12 24.12 0 0 1 0-10 2 2 0 0 1 1.4-1.4 49.56 49.56 0 0 1 16.2 0A2 2 0 0 1 21.5 7a24.12 24.12 0 0 1 0 10 2 2 0 0 1-1.4 1.4 49.55 49.55 0 0 1-16.2 0A2 2 0 0 1 2.5 17",key:"1q2vi4"}],["path",{d:"m10 15 5-3-5-3z",key:"1jp15x"}]]);/**
444 * @license lucide-react v0.462.0 - ISC
445 *
446 * This source code is licensed under the ISC license.
447 * See the LICENSE file in the root directory of this source tree.
448 */const hw=U("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),Pp="-",EE=e=>{const t=TE(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:s}=e;return{getClassGroupId:o=>{const l=o.split(Pp);return l[0]===""&&l.length!==1&&l.shift(),mw(l,t)||_E(o)},getConflictingClassGroupIds:(o,l)=>{const c=r[o]||[];return l&&s[o]?[...c,...s[o]]:c}}},mw=(e,t)=>{var o;if(e.length===0)return t.classGroupId;const r=e[0],s=t.nextPart.get(r),a=s?mw(e.slice(1),s):void 0;if(a)return a;if(t.validators.length===0)return;const i=e.join(Pp);return(o=t.validators.find(({validator:l})=>l(i)))==null?void 0:o.classGroupId},tx=/^\[(.+)\]$/,_E=e=>{if(tx.test(e)){const t=tx.exec(e)[1],r=t==null?void 0:t.substring(0,t.indexOf(":"));if(r)return"arbitrary.."+r}},TE=e=>{const{theme:t,prefix:r}=e,s={nextPart:new Map,validators:[]};return PE(Object.entries(e.classGroups),r).forEach(([i,o])=>{qh(o,s,i,t)}),s},qh=(e,t,r,s)=>{e.forEach(a=>{if(typeof a=="string"){const i=a===""?t:rx(t,a);i.classGroupId=r;return}if(typeof a=="function"){if(AE(a)){qh(a(s),t,r,s);return}t.validators.push({validator:a,classGroupId:r});return}Object.entries(a).forEach(([i,o])=>{qh(o,rx(t,i),r,s)})})},rx=(e,t)=>{let r=e;return t.split(Pp).forEach(s=>{r.nextPart.has(s)||r.nextPart.set(s,{nextPart:new Map,validators:[]}),r=r.nextPart.get(s)}),r},AE=e=>e.isThemeGetter,PE=(e,t)=>t?e.map(([r,s])=>{const a=s.map(i=>typeof i=="string"?t+i:typeof i=="object"?Object.fromEntries(Object.entries(i).map(([o,l])=>[t+o,l])):i);return[r,a]}):e,RE=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,r=new Map,s=new Map;const a=(i,o)=>{r.set(i,o),t++,t>e&&(t=0,s=r,r=new Map)};return{get(i){let o=r.get(i);if(o!==void 0)return o;if((o=s.get(i))!==void 0)return a(i,o),o},set(i,o){r.has(i)?r.set(i,o):a(i,o)}}},pw="!",DE=e=>{const{separator:t,experimentalParseClassName:r}=e,s=t.length===1,a=t[0],i=t.length,o=l=>{const c=[];let d=0,u=0,h;for(let v=0;v<l.length;v++){let g=l[v];if(d===0){if(g===a&&(s||l.slice(v,v+i)===t)){c.push(l.slice(u,v)),u=v+i;continue}if(g==="/"){h=v;continue}}g==="["?d++:g==="]"&&d--}const m=c.length===0?l:l.substring(u),p=m.startsWith(pw),y=p?m.substring(1):m,f=h&&h>u?h-u:void 0;return{modifiers:c,hasImportantModifier:p,baseClassName:y,maybePostfixModifierPosition:f}};return r?l=>r({className:l,parseClassName:o}):o},IE=e=>{if(e.length<=1)return e;const t=[];let r=[];return e.forEach(s=>{s[0]==="["?(t.push(...r.sort(),s),r=[]):r.push(s)}),t.push(...r.sort()),t},OE=e=>({cache:RE(e.cacheSize),parseClassName:DE(e),...EE(e)}),ME=/\s+/,LE=(e,t)=>{const{parseClassName:r,getClassGroupId:s,getConflictingClassGroupIds:a}=t,i=[],o=e.trim().split(ME);let l="";for(let c=o.length-1;c>=0;c-=1){const d=o[c],{modifiers:u,hasImportantModifier:h,baseClassName:m,maybePostfixModifierPosition:p}=r(d);let y=!!p,f=s(y?m.substring(0,p):m);if(!f){if(!y){l=d+(l.length>0?" "+l:l);continue}if(f=s(m),!f){l=d+(l.length>0?" "+l:l);continue}y=!1}const v=IE(u).join(":"),g=h?v+pw:v,x=g+f;if(i.includes(x))continue;i.push(x);const b=a(f,y);for(let j=0;j<b.length;++j){const N=b[j];i.push(g+N)}l=d+(l.length>0?" "+l:l)}return l};function $E(){let e=0,t,r,s="";for(;e<arguments.length;)(t=arguments[e++])&&(r=fw(t))&&(s&&(s+=" "),s+=r);return s}const fw=e=>{if(typeof e=="string")return e;let t,r="";for(let s=0;s<e.length;s++)e[s]&&(t=fw(e[s]))&&(r&&(r+=" "),r+=t);return r};function UE(e,...t){let r,s,a,i=o;function o(c){const d=t.reduce((u,h)=>h(u),e());return r=OE(d),s=r.cache.get,a=r.cache.set,i=l,l(c)}function l(c){const d=s(c);if(d)return d;const u=LE(c,r);return a(c,u),u}return function(){return i($E.apply(null,arguments))}}const Ne=e=>{const t=r=>r[e]||[];return t.isThemeGetter=!0,t},gw=/^\[(?:([a-z-]+):)?(.+)\]$/i,BE=/^\d+\/\d+$/,FE=new Set(["px","full","screen"]),zE=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,WE=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,GE=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,HE=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,VE=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Vr=e=>Sa(e)||FE.has(e)||BE.test(e),bn=e=>ri(e,"length",e_),Sa=e=>!!e&&!Number.isNaN(Number(e)),vu=e=>ri(e,"number",Sa),bi=e=>!!e&&Number.isInteger(Number(e)),qE=e=>e.endsWith("%")&&Sa(e.slice(0,-1)),ne=e=>gw.test(e),vn=e=>zE.test(e),KE=new Set(["length","size","percentage"]),YE=e=>ri(e,KE,xw),JE=e=>ri(e,"position",xw),QE=new Set(["image","url"]),XE=e=>ri(e,QE,r_),ZE=e=>ri(e,"",t_),vi=()=>!0,ri=(e,t,r)=>{const s=gw.exec(e);return s?s[1]?typeof t=="string"?s[1]===t:t.has(s[1]):r(s[2]):!1},e_=e=>WE.test(e)&&!GE.test(e),xw=()=>!1,t_=e=>HE.test(e),r_=e=>VE.test(e),n_=()=>{const e=Ne("colors"),t=Ne("spacing"),r=Ne("blur"),s=Ne("brightness"),a=Ne("borderColor"),i=Ne("borderRadius"),o=Ne("borderSpacing"),l=Ne("borderWidth"),c=Ne("contrast"),d=Ne("grayscale"),u=Ne("hueRotate"),h=Ne("invert"),m=Ne("gap"),p=Ne("gradientColorStops"),y=Ne("gradientColorStopPositions"),f=Ne("inset"),v=Ne("margin"),g=Ne("opacity"),x=Ne("padding"),b=Ne("saturate"),j=Ne("scale"),N=Ne("sepia"),k=Ne("skew"),C=Ne("space"),S=Ne("translate"),_=()=>["auto","contain","none"],R=()=>["auto","hidden","clip","visible","scroll"],$=()=>["auto",ne,t],O=()=>[ne,t],J=()=>["",Vr,bn],D=()=>["auto",Sa,ne],K=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],G=()=>["solid","dashed","dotted","double","none"],H=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],E=()=>["start","end","center","between","around","evenly","stretch"],T=()=>["","0",ne],M=()=>["auto","avoid","all","avoid-page","page","left","right","column"],V=()=>[Sa,ne];return{cacheSize:500,separator:":",theme:{colors:[vi],spacing:[Vr,b
vendor: 11,596 bytes, line 448
448n],blur:["none","",vn,ne],brightness:V(),borderColor:[e],borderRadius:["none","","full",vn,ne],borderSpacing:O(),borderWidth:J(),contrast:V(),grayscale:T(),hueRotate:V(),invert:T(),gap:O(),gradientColorStops:[e],gradientColorStopPositions:[qE,bn],inset:$(),margin:$(),opacity:V(),padding:O(),saturate:V(),scale:V(),sepia:T(),skew:V(),space:O(),translate:O()},classGroups:{aspect:[{aspect:["auto","square","video",ne]}],container:["container"],columns:[{columns:[vn]}],"break-after":[{"break-after":M()}],"break-before":[{"break-before":M()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...K(),ne]}],overflow:[{overflow:R()}],"overflow-x":[{"overflow-x":R()}],"overflow-y":[{"overflow-y":R()}],overscroll:[{overscroll:_()}],"overscroll-x":[{"overscroll-x":_()}],"overscroll-y":[{"overscroll-y":_()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[f]}],"inset-x":[{"inset-x":[f]}],"inset-y":[{"inset-y":[f]}],start:[{start:[f]}],end:[{end:[f]}],top:[{top:[f]}],right:[{right:[f]}],bottom:[{bottom:[f]}],left:[{left:[f]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",bi,ne]}],basis:[{basis:$()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",ne]}],grow:[{grow:T()}],shrink:[{shrink:T()}],order:[{order:["first","last","none",bi,ne]}],"grid-cols":[{"grid-cols":[vi]}],"col-start-end":[{col:["auto",{span:["full",bi,ne]},ne]}],"col-start":[{"col-start":D()}],"col-end":[{"col-end":D()}],"grid-rows":[{"grid-rows":[vi]}],"row-start-end":[{row:["auto",{span:[bi,ne]},ne]}],"row-start":[{"row-start":D()}],"row-end":[{"row-end":D()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",ne]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",ne]}],gap:[{gap:[m]}],"gap-x":[{"gap-x":[m]}],"gap-y":[{"gap-y":[m]}],"justify-content":[{justify:["normal",...E()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...E(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...E(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[x]}],px:[{px:[x]}],py:[{py:[x]}],ps:[{ps:[x]}],pe:[{pe:[x]}],pt:[{pt:[x]}],pr:[{pr:[x]}],pb:[{pb:[x]}],pl:[{pl:[x]}],m:[{m:[v]}],mx:[{mx:[v]}],my:[{my:[v]}],ms:[{ms:[v]}],me:[{me:[v]}],mt:[{mt:[v]}],mr:[{mr:[v]}],mb:[{mb:[v]}],ml:[{ml:[v]}],"space-x":[{"space-x":[C]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[C]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",ne,t]}],"min-w":[{"min-w":[ne,t,"min","max","fit"]}],"max-w":[{"max-w":[ne,t,"none","full","min","max","fit","prose",{screen:[vn]},vn]}],h:[{h:[ne,t,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[ne,t,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[ne,t,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[ne,t,"auto","min","max","fit"]}],"font-size":[{text:["base",vn,bn]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",vu]}],"font-family":[{font:[vi]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",ne]}],"line-clamp":[{"line-clamp":["none",Sa,vu]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",Vr,ne]}],"list-image":[{"list-image":["none",ne]}],"list-style-type":[{list:["none","disc","decimal",ne]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[g]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[g]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...G(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",Vr,bn]}],"underline-offset":[{"underline-offset":["auto",Vr,ne]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:O()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",ne]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",ne]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[g]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...K(),JE]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",YE]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},XE]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[y]}],"gradient-via-pos":[{via:[y]}],"gradient-to-pos":[{to:[y]}],"gradient-from":[{from:[p]}],"gradient-via":[{via:[p]}],"gradient-to":[{to:[p]}],rounded:[{rounded:[i]}],"rounded-s":[{"rounded-s":[i]}],"rounded-e":[{"rounded-e":[i]}],"rounded-t":[{"rounded-t":[i]}],"rounded-r":[{"rounded-r":[i]}],"rounded-b":[{"rounded-b":[i]}],"rounded-l":[{"rounded-l":[i]}],"rounded-ss":[{"rounded-ss":[i]}],"rounded-se":[{"rounded-se":[i]}],"rounded-ee":[{"rounded-ee":[i]}],"rounded-es":[{"rounded-es":[i]}],"rounded-tl":[{"rounded-tl":[i]}],"rounded-tr":[{"rounded-tr":[i]}],"rounded-br":[{"rounded-br":[i]}],"rounded-bl":[{"rounded-bl":[i]}],"border-w":[{border:[l]}],"border-w-x":[{"border-x":[l]}],"border-w-y":[{"border-y":[l]}],"border-w-s":[{"border-s":[l]}],"border-w-e":[{"border-e":[l]}],"border-w-t":[{"border-t":[l]}],"border-w-r":[{"border-r":[l]}],"border-w-b":[{"border-b":[l]}],"border-w-l":[{"border-l":[l]}],"border-opacity":[{"border-opacity":[g]}],"border-style":[{border:[...G(),"hidden"]}],"divide-x":[{"divide-x":[l]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[l]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[g]}],"divide-style":[{divide:G()}],"border-color":[{border:[a]}],"border-color-x":[{"border-x":[a]}],"border-color-y":[{"border-y":[a]}],"border-color-s":[{"border-s":[a]}],"border-color-e":[{"border-e":[a]}],"border-color-t":[{"border-t":[a]}],"border-color-r":[{"border-r":[a]}],"border-color-b":[{"border-b":[a]}],"border-color-l":[{"border-l":[a]}],"divide-color":[{divide:[a]}],"outline-style":[{outline:["",...G()]}],"outline-offset":[{"outline-offset":[Vr,ne]}],"outline-w":[{outline:[Vr,bn]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:J()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[g]}],"ring-offset-w":[{"ring-offset":[Vr,bn]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",vn,ZE]}],"shadow-color":[{shadow:[vi]}],opacity:[{opacity:[g]}],"mix-blend":[{"mix-blend":[...H(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":H()}],filter:[{filter:["","none"]}],blur:[{blur:[r]}],brightness:[{brightness:[s]}],contrast:[{contrast:[c]}],"drop-shadow":[{"drop-shadow":["","none",vn,ne]}],grayscale:[{grayscale:[d]}],"hue-rotate":[{"hue-rotate":[u]}],invert:[{invert:[h]}],saturate:[{saturate:[b]}],sepia:[{sepia:[N]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[r]}],"backdrop-brightness":[{"backdrop-brightness":[s]}],"backdrop-contrast":[{"backdrop-contrast":[c]}],"backdrop-grayscale":[{"backdrop-grayscale":[d]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[u]}],"backdrop-invert":[{"backdrop-invert":[h]}],"backdrop-opacity":[{"backdrop-opacity":[g]}],"backdrop-saturate":[{"backdrop-saturate":[b]}],"backdrop-sepia":[{"backdrop-sepia":[N]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[o]}],"border-spacing-x":[{"border-spacing-x":[o]}],"border-spacing-y":[{"border-spacing-y":[o]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",ne]}],duration:[{duration:V()}],ease:[{ease:["linear","in","out","in-out",ne]}],delay:[{delay:V()}],animate:[{animate:["none","spin","ping","pulse","bounce",ne]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[j]}],"scale-x":[{"scale-x":[j]}],"scale-y":[{"scale-y":[j]}],rotate:[{rotate:[bi,ne]}],"translate-x":[{"translate-x":[S]}],"translate-y":[{"translate-y":[S]}],"skew-x":[{"skew-x":[k]}],"skew-y":[{"skew-y":[k]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",ne]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",ne]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":O()}],"scroll-mx":[{"scroll-mx":O()}],"scroll-my":[{"scroll-my":O()}],"scroll-ms":[{"scroll-ms":O()}],"scroll-me":[{"scroll-me":O()}],"scroll-mt":[{"scroll-mt":O()}],"scroll-mr":[{"scroll-mr":O()}],"scroll-mb":[{"scroll-mb":O()}],"scroll-ml":[{"scroll-ml":O()}],"scroll-p":[{"scroll-p":O()}],"scroll-px":[{"scroll-px":O()}],"scroll-py":[{"scroll-py":O()}],"scroll-ps":[{"scroll-ps":O()}],"scroll-pe":[{"scroll-pe":O()}],"scroll-pt":[{"scroll-pt":O()}],"scroll-pr":[{"scroll-pr":O()}],"scroll-pb":[{"scroll-pb":O()}],"scroll-pl":[{"scroll-pl":O()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}
vendor: 4,647 bytes, line 448
448],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",ne]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[Vr,bn,vu]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}},s_=UE(n_);function xe(...e){return s_(Z0(e))}const a_=rE,yw=w.forwardRef(({className:e,...t},r)=>n.jsx(V0,{ref:r,className:xe("fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",e),...t}));yw.displayName=V0.displayName;const i_=wp("group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),bw=w.forwardRef(({className:e,variant:t,...r},s)=>n.jsx(q0,{ref:s,className:xe(i_({variant:t}),e),...r}));bw.displayName=q0.displayName;const o_=w.forwardRef(({className:e,...t},r)=>n.jsx(J0,{ref:r,className:xe("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors group-[.destructive]:border-muted/40 hover:bg-secondary group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 group-[.destructive]:focus:ring-destructive disabled:pointer-events-none disabled:opacity-50",e),...t}));o_.displayName=J0.displayName;const vw=w.forwardRef(({className:e,...t},r)=>n.jsx(Q0,{ref:r,className:xe("absolute right-2 top-2 rounded-md p-1 text-foreground
vendor: 13,889 bytes, line 448
448/50 opacity-0 transition-opacity group-hover:opacity-100 group-[.destructive]:text-red-300 hover:text-foreground group-[.destructive]:hover:text-red-50 focus:opacity-100 focus:outline-none focus:ring-2 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",e),"toast-close":"",...t,children:n.jsx(Ap,{className:"h-4 w-4"})}));vw.displayName=Q0.displayName;const ww=w.forwardRef(({className:e,...t},r)=>n.jsx(K0,{ref:r,className:xe("text-sm font-semibold",e),...t}));ww.displayName=K0.displayName;const jw=w.forwardRef(({className:e,...t},r)=>n.jsx(Y0,{ref:r,className:xe("text-sm opacity-90",e),...t}));jw.displayName=Y0.displayName;function l_(){const{toasts:e}=k0();return n.jsxs(a_,{children:[e.map(function({id:t,title:r,description:s,action:a,...i}){return n.jsxs(bw,{...i,children:[n.jsxs("div",{className:"grid gap-1",children:[r&&n.jsx(ww,{children:r}),s&&n.jsx(jw,{children:s})]}),a,n.jsx(vw,{})]},t)}),n.jsx(yw,{})]})}var c_=wm[" useId ".trim().toString()]||(()=>{}),d_=0;function wu(e){const[t,r]=w.useState(c_());return on(()=>{e||r(s=>s??String(d_++))},[e]),e||(t?`radix-${t}`:"")}const u_=["top","right","bottom","left"],Jn=Math.min,Rt=Math.max,Pc=Math.round,kl=Math.floor,Br=e=>({x:e,y:e}),h_={left:"right",right:"left",bottom:"top",top:"bottom"},m_={start:"end",end:"start"};function Kh(e,t,r){return Rt(e,Jn(t,r))}function ln(e,t){return typeof e=="function"?e(t):e}function cn(e){return e.split("-")[0]}function ni(e){return e.split("-")[1]}function Rp(e){return e==="x"?"y":"x"}function Dp(e){return e==="y"?"height":"width"}const p_=new Set(["top","bottom"]);function Lr(e){return p_.has(cn(e))?"y":"x"}function Ip(e){return Rp(Lr(e))}function f_(e,t,r){r===void 0&&(r=!1);const s=ni(e),a=Ip(e),i=Dp(a);let o=a==="x"?s===(r?"end":"start")?"right":"left":s==="start"?"bottom":"top";return t.reference[i]>t.floating[i]&&(o=Rc(o)),[o,Rc(o)]}function g_(e){const t=Rc(e);return[Yh(e),t,Yh(t)]}function Yh(e){return e.replace(/start|end/g,t=>m_[t])}const nx=["left","right"],sx=["right","left"],x_=["top","bottom"],y_=["bottom","top"];function b_(e,t,r){switch(e){case"top":case"bottom":return r?t?sx:nx:t?nx:sx;case"left":case"right":return t?x_:y_;default:return[]}}function v_(e,t,r,s){const a=ni(e);let i=b_(cn(e),r==="start",s);return a&&(i=i.map(o=>o+"-"+a),t&&(i=i.concat(i.map(Yh)))),i}function Rc(e){return e.replace(/left|right|bottom|top/g,t=>h_[t])}function w_(e){return{top:0,right:0,bottom:0,left:0,...e}}function Nw(e){return typeof e!="number"?w_(e):{top:e,right:e,bottom:e,left:e}}function Dc(e){const{x:t,y:r,width:s,height:a}=e;return{width:s,height:a,top:r,left:t,right:t+s,bottom:r+a,x:t,y:r}}function ax(e,t,r){let{reference:s,floating:a}=e;const i=Lr(t),o=Ip(t),l=Dp(o),c=cn(t),d=i==="y",u=s.x+s.width/2-a.width/2,h=s.y+s.height/2-a.height/2,m=s[l]/2-a[l]/2;let p;switch(c){case"top":p={x:u,y:s.y-a.height};break;case"bottom":p={x:u,y:s.y+s.height};break;case"right":p={x:s.x+s.width,y:h};break;case"left":p={x:s.x-a.width,y:h};break;default:p={x:s.x,y:s.y}}switch(ni(t)){case"start":p[o]-=m*(r&&d?-1:1);break;case"end":p[o]+=m*(r&&d?-1:1);break}return p}const j_=async(e,t,r)=>{const{placement:s="bottom",strategy:a="absolute",middleware:i=[],platform:o}=r,l=i.filter(Boolean),c=await(o.isRTL==null?void 0:o.isRTL(t));let d=await o.getElementRects({reference:e,floating:t,strategy:a}),{x:u,y:h}=ax(d,s,c),m=s,p={},y=0;for(let f=0;f<l.length;f++){const{name:v,fn:g}=l[f],{x,y:b,data:j,reset:N}=await g({x:u,y:h,initialPlacement:s,placement:m,strategy:a,middlewareData:p,rects:d,platform:o,elements:{reference:e,floating:t}});u=x??u,h=b??h,p={...p,[v]:{...p[v],...j}},N&&y<=50&&(y++,typeof N=="object"&&(N.placement&&(m=N.placement),N.rects&&(d=N.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:a}):N.rects),{x:u,y:h}=ax(d,m,c)),f=-1)}return{x:u,y:h,placement:m,strategy:a,middlewareData:p}};async function xo(e,t){var r;t===void 0&&(t={});const{x:s,y:a,platform:i,rects:o,elements:l,strategy:c}=e,{boundary:d="clippingAncestors",rootBoundary:u="viewport",elementContext:h="floating",altBoundary:m=!1,padding:p=0}=ln(t,e),y=Nw(p),v=l[m?h==="floating"?"reference":"floating":h],g=Dc(await i.getClippingRect({element:(r=await(i.isElement==null?void 0:i.isElement(v)))==null||r?v:v.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(l.floating)),boundary:d,rootBoundary:u,strategy:c})),x=h==="floating"?{x:s,y:a,width:o.floating.width,height:o.floating.height}:o.reference,b=await(i.getOffsetParent==null?void 0:i.getOffsetParent(l.floating)),j=await(i.isElement==null?void 0:i.isElement(b))?await(i.getScale==null?void 0:i.getScale(b))||{x:1,y:1}:{x:1,y:1},N=Dc(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:x,offsetParent:b,strategy:c}):x);return{top:(g.top-N.top+y.top)/j.y,bottom:(N.bottom-g.bottom+y.bottom)/j.y,left:(g.left-N.left+y.left)/j.x,right:(N.right-g.right+y.right)/j.x}}const N_=e=>({name:"arrow",options:e,async fn(t){const{x:r,y:s,placement:a,rects:i,platform:o,elements:l,middlewareData:c}=t,{element:d,padding:u=0}=ln(e,t)||{};if(d==null)return{};const h=Nw(u),m={x:r,y:s},p=Ip(a),y=Dp(p),f=await o.getDimensions(d),v=p==="y",g=v?"top":"left",x=v?"bottom":"right",b=v?"clientHeight":"clientWidth",j=i.reference[y]+i.reference[p]-m[p]-i.floating[y],N=m[p]-i.reference[p],k=await(o.getOffsetParent==null?void 0:o.getOffsetParent(d));let C=k?k[b]:0;(!C||!await(o.isElement==null?void 0:o.isElement(k)))&&(C=l.floating[b]||i.floating[y]);const S=j/2-N/2,_=C/2-f[y]/2-1,R=Jn(h[g],_),$=Jn(h[x],_),O=R,J=C-f[y]-$,D=C/2-f[y]/2+S,K=Kh(O,D,J),G=!c.arrow&&ni(a)!=null&&D!==K&&i.reference[y]/2-(D<O?R:$)-f[y]/2<0,H=G?D<O?D-O:D-J:0;return{[p]:m[p]+H,data:{[p]:K,centerOffset:D-K-H,...G&&{alignmentOffset:H}},reset:G}}}),k_=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var r,s;const{placement:a,middlewareData:i,rects:o,initialPlacement:l,platform:c,elements:d}=t,{mainAxis:u=!0,crossAxis:h=!0,fallbackPlacements:m,fallbackStrategy:p="bestFit",fallbackAxisSideDirection:y="none",flipAlignment:f=!0,...v}=ln(e,t);if((r=i.arrow)!=null&&r.alignmentOffset)return{};const g=cn(a),x=Lr(l),b=cn(l)===l,j=await(c.isRTL==null?void 0:c.isRTL(d.floating)),N=m||(b||!f?[Rc(l)]:g_(l)),k=y!=="none";!m&&k&&N.push(...v_(l,f,y,j));const C=[l,...N],S=await xo(t,v),_=[];let R=((s=i.flip)==null?void 0:s.overflows)||[];if(u&&_.push(S[g]),h){const D=f_(a,o,j);_.push(S[D[0]],S[D[1]])}if(R=[...R,{placement:a,overflows:_}],!_.every(D=>D<=0)){var $,O;const D=((($=i.flip)==null?void 0:$.index)||0)+1,K=C[D];if(K&&(!(h==="alignment"?x!==Lr(K):!1)||R.every(E=>E.overflows[0]>0&&Lr(E.placement)===x)))return{data:{index:D,overflows:R},reset:{placement:K}};let G=(O=R.filter(H=>H.overflows[0]<=0).sort((H,E)=>H.overflows[1]-E.overflows[1])[0])==null?void 0:O.placement;if(!G)switch(p){case"bestFit":{var J;const H=(J=R.filter(E=>{if(k){const T=Lr(E.placement);return T===x||T==="y"}return!0}).map(E=>[E.placement,E.overflows.filter(T=>T>0).reduce((T,M)=>T+M,0)]).sort((E,T)=>E[1]-T[1])[0])==null?void 0:J[0];H&&(G=H);break}case"initialPlacement":G=l;break}if(a!==G)return{reset:{placement:G}}}return{}}}};function ix(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function ox(e){return u_.some(t=>e[t]>=0)}const C_=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:r}=t,{strategy:s="referenceHidden",...a}=ln(e,t);switch(s){case"referenceHidden":{const i=await xo(t,{...a,elementContext:"reference"}),o=ix(i,r.reference);return{data:{referenceHiddenOffsets:o,referenceHidden:ox(o)}}}case"escaped":{const i=await xo(t,{...a,altBoundary:!0}),o=ix(i,r.floating);return{data:{escapedOffsets:o,escaped:ox(o)}}}default:return{}}}}},kw=new Set(["left","top"]);async function S_(e,t){const{placement:r,platform:s,elements:a}=e,i=await(s.isRTL==null?void 0:s.isRTL(a.floating)),o=cn(r),l=ni(r),c=Lr(r)==="y",d=kw.has(o)?-1:1,u=i&&c?-1:1,h=ln(t,e);let{mainAxis:m,crossAxis:p,alignmentAxis:y}=typeof h=="number"?{mainAxis:h,crossAxis:0,alignmentAxis:null}:{mainAxis:h.mainAxis||0,crossAxis:h.crossAxis||0,alignmentAxis:h.alignmentAxis};return l&&typeof y=="number"&&(p=l==="end"?y*-1:y),c?{x:p*u,y:m*d}:{x:m*d,y:p*u}}const E_=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var r,s;const{x:a,y:i,placement:o,middlewareData:l}=t,c=await S_(t,e);return o===((r=l.offset)==null?void 0:r.placement)&&(s=l.arrow)!=null&&s.alignmentOffset?{}:{x:a+c.x,y:i+c.y,data:{...c,placement:o}}}}},__=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:r,y:s,placement:a}=t,{mainAxis:i=!0,crossAxis:o=!1,limiter:l={fn:v=>{let{x:g,y:x}=v;return{x:g,y:x}}},...c}=ln(e,t),d={x:r,y:s},u=await xo(t,c),h=Lr(cn(a)),m=Rp(h);let p=d[m],y=d[h];if(i){const v=m==="y"?"top":"left",g=m==="y"?"bottom":"right",x=p+u[v],b=p-u[g];p=Kh(x,p,b)}if(o){const v=h==="y"?"top":"left",g=h==="y"?"bottom":"right",x=y+u[v],b=y-u[g];y=Kh(x,y,b)}const f=l.fn({...t,[m]:p,[h]:y});return{...f,data:{x:f.x-r,y:f.y-s,enabled:{[m]:i,[h]:o}}}}}},T_=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:r,y:s,placement:a,rects:i,middlewareData:o}=t,{offset:l=0,mainAxis:c=!0,crossAxis:d=!0}=ln(e,t),u={x:r,y:s},h=Lr(a),m=Rp(h);let p=u[m],y=u[h];const f=ln(l,t),v=typeof f=="number"?{mainAxis:f,crossAxis:0}:{mainAxis:0,crossAxis:0,...f};if(c){const b=m==="y"?"height":"width",j=i.reference[m]-i.floating[b]+v.mainAxis,N=i.reference[m]+i.reference[b]-v.mainAxis;p<j?p=j:p>N&&(p=N)}if(d){var g,x;const b=m==="y"?"width":"height",j=kw.has(cn(a)),N=i.reference[h]-i.floating[b]+(j&&((g=o.offset)==null?void 0:g[h])||0)+(j?0:v.crossAxis),k=i.reference[h]+i.reference[b]+(j?0:((x=o.offset)==null?void 0:x[h])||0)-(j?v.crossAxis:0);y<N?y=N:y>k&&(y=k)}return{[m]:p,[h]:y}}}},A_=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var r,s;const{placement:a,rects:i,platform:o,elements:l}=t,{apply:c=()=>{},...d}=ln(e,t),u=await xo(t,d),h=cn(a),m=ni(a),p=Lr(a)==="y",{width:y,height:f}=i.floating;let v,g;h==="top"||h==="bottom"?(v=h,g=m===(await(o.isRTL==null?void 0:o.isRTL(l.floating))?"start":"end")?"left":"right"):(g=h,v=m==="end"?"top":"bottom");const x=f-u.top-u.bottom,b=y-u.left-u.right,j=Jn(f-u[v],x),N=Jn(y-u[g],b),k=!t.middlewareData.shift;let C=j,S=N;if((r=t.middlewareData.shift)!=null&&r.enabled.x&&(S=b),(s=t.middlewareData.shift)!=null&&s.enabled.y&&(C=x),k&&!m){const R=Rt(u.left,0),$=Rt(u.right,0),O=Rt(u.top,0),J=Rt(u.bottom,0);p?S=y-2*(R!==0||$!==0?R+$:Rt(u.left,u.right)):C=f-2*(O!==0||J!==0?O+J:Rt(u.top,u.bottom))}await c({...t,availableWidth:S,availableHeight:C});const _=await o.getDimensions(l.floating);return y!==_.width||f!==_.height?{reset:{rects:!0}}:{}}}};function bd(){return typeof window<"u"}function si(e){return Cw(e)?(e.nodeName||"").toLowerCase():"#document"}function Mt(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Wr(e){var t;return(t=(Cw(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function Cw(e){return bd()?e instanceof Node||e instanceof Mt(e).Node:!1}function wr(e){return bd()?e instanceof Element||e instanceof Mt(e).Element:!1}function zr(e){return bd()?e instanceof HTMLElement||e instanceof Mt(e).HTMLElement:!1}function lx(e){return!bd()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Mt(e).ShadowRoot}const P_=new Set(["inline","contents"]);function qo(e){const{overflow:t,overflowX:r,overflowY:s,display:a}=jr(e);return/auto|scroll|overlay|hidden|clip/.test(t+s+r)&&!P_.has(a)}const R_=new Set(["table","td","th"]);function D_(e){return R_.has(si(e))}const I_=[":popover-open",":modal"];function vd(e){return I_.some(t=>{try{return e.matches(t)}catch{return!1}})}const O_=["transform","translate","scale","rotate","perspective"],M_=["transform","translate","scale","rotate","perspective","filter"],L_=["paint","layout","strict","content"];function Op(e){const t=Mp(),r=wr(e)?jr(e):e;return O_.some(s=>r[s]?r[s]!=="none":!1)||(r.containerType?r.containerType!=="normal":!1)||!t&&(r.backdropFilter?r.backdropFilter!=="none":!1)||!t&&(r.filter?r.filter!=="none":!1)||M_.some(s=>(r.willChange||"").includes(s))||L_.some(s=>(r.contain||"").includes(s))}function $_(e){let t=Qn(e);for(;zr(t)&&!Va(t);){if(Op(t))return t;if(vd(t))return null;t=Qn(t)}return null}function Mp(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const U_=new Set(["html","body","#document"]);function Va(e){return U_.has(si(e))}function jr(e){return Mt(e).getComputedStyle(e)}function wd(e){return wr(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Qn(e){if(si(e)==="html")return e;const t=e.assignedSlot||e.parentNode||lx(e)&&e.host||Wr(e);return lx(t)?t.host:t}function Sw(e){const t=Qn(e);return Va(t)?e.ownerDocument?e.ownerDocument.body:e.body:zr(t)&&qo(t)?t:Sw(t)}function yo(e,t,r){var s;t===void 0&&(t=[]),r===void 0&&(r=!0);const a=Sw(e),i=a===((s=e.ownerDocument)==null?void 0:s.body),o=Mt(a);if(i){const l=Jh(o);return t.concat(o,o.visualViewport||[],qo(a)?a:[],l&&r?yo(l):[])}return t.concat(a,yo(a,[],r))}function Jh(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Ew(e){const t=jr(e);let r=parseFloat(t.width)||0,s=parseFloat(t.height)||0;const a=zr(e),i=a?e.offsetWidth:r,o=a?e.offsetHeight:s,l=Pc(r)!==i||Pc(s)!==o;return l&&(r=i,s=o),{width:r,height:s,$:l}}function Lp(e){return wr(e)?e:e.contextElement}function Ea(e){const t=Lp(e);if(!zr(t))return Br(1);const r=t.getBoundingClientRect(),{width:s,height:a,$:i}=Ew(t);let o=(i?Pc(r.width):r.width)/s,l=(i?Pc(r.height):r.height)/a;return(!o||!Number.isFinite(o))&&(o=1),(!l||!Number.isFinite(l))&&(l=1),{x:o,y:l}}const B_=Br(0);function _w(e){const t=Mt(e);
vendor: 4,185 bytes, line 448
448return!Mp()||!t.visualViewport?B_:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function F_(e,t,r){return t===void 0&&(t=!1),!r||t&&r!==Mt(e)?!1:t}function Ds(e,t,r,s){t===void 0&&(t=!1),r===void 0&&(r=!1);const a=e.getBoundingClientRect(),i=Lp(e);let o=Br(1);t&&(s?wr(s)&&(o=Ea(s)):o=Ea(e));const l=F_(i,r,s)?_w(i):Br(0);let c=(a.left+l.x)/o.x,d=(a.top+l.y)/o.y,u=a.width/o.x,h=a.height/o.y;if(i){const m=Mt(i),p=s&&wr(s)?Mt(s):s;let y=m,f=Jh(y);for(;f&&s&&p!==y;){const v=Ea(f),g=f.getBoundingClientRect(),x=jr(f),b=g.left+(f.clientLeft+parseFloat(x.paddingLeft))*v.x,j=g.top+(f.clientTop+parseFloat(x.paddingTop))*v.y;c*=v.x,d*=v.y,u*=v.x,h*=v.y,c+=b,d+=j,y=Mt(f),f=Jh(y)}}return Dc({width:u,height:h,x:c,y:d})}function $p(e,t){const r=wd(e).scrollLeft;return t?t.left+r:Ds(Wr(e)).left+r}function Tw(e,t,r){r===void 0&&(r=!1);const s=e.getBoundingClientRect(),a=s.left+t.scrollLeft-(r?0:$p(e,s)),i=s.top+t.scrollTop;return{x:a,y:i}}function z_(e){let{elements:t,rect:r,offsetParent:s,strategy:a}=e;const i=a==="fixed",o=Wr(s),l=t?vd(t.floating):!1;if(s===o||l&&i)return r;let c={scrollLeft:0,scrollTop:0},d=Br(1);const u=Br(0),h=zr(s);if((h||!h&&!i)&&((si(s)!=="body"||qo(o))&&(c=wd(s)),zr(s))){const p=Ds(s);d=Ea(s),u.x=p.x+s.clientLeft,u.y=p.y+s.clientTop}const m=o&&!h&&!i?Tw(o,c,!0):Br(0);return{width:r.width*d.x,height:r.height*d.y,x:r.x*d.x-c.scrollLeft*d.x+u.x+m.x,y:r.y*d.y-c.scrollTop*d.y+u.y+m.y}}function W_(e){return Array.from(e.getClientRects())}function G_(e){const t=Wr(e),r=wd(e),s=e.ownerDocument.body,a=Rt(t.scrollWidth,t.clientWidth,s.scrollWidth,s.clientWidth),i=Rt(t.scrollHeight,t.clientHeight,s.scrollHeight,s.clientHeight);let o=-r.scrollLeft+$p(e);const l=-r.scrollTop;return jr(s).direction==="rtl"&&(o+=Rt(t.clientWidth,s.clientWidth)-a),{width:a,height:i,x:o,y:l}}function H_(e,t){const r=Mt(e),s=Wr(e),a=r.visualViewport;let i=s.clientWidth,o=s.clientHeight,l=0,c=0;if(a){i=a.width,o=a.height;const d=Mp();(!d||d&&t==="fixed")&&(l=a.offsetLeft,c=a.offsetTop)}return{width:i,height:o,x:l,y:c}}const V_=new Set(["absolute","fixed"]);function q_(e,t){const r=Ds(e,!0,t==="fixed"),s=r.top+e.clientTop,a=r.left+e.clientLeft,i=zr(e)?Ea(e):Br(1),o=e.clientWidth*i.x,l=e.clientHeight*i.y,c=a*i.x,d=s*i.y;return{width:o,height:l,x:c,y:d}}function cx(e,t,r){let s;if(t==="viewport")s=H_(e,r);else if(t==="document")s=G_(Wr(e));else if(wr(t))s=q_(t,r);else{const a=_w(e);s={x:t.x-a.x,y:t.y-a.y,width:t.width,height:t.height}}return Dc(s)}function Aw(e,t){const r=Qn(e);return r===t||!wr(r)||Va(r)?!1:jr(r).position==="fixed"||Aw(r,t)}function K_(e,t){const r=t.get(e);if(r)return r;let s=yo(e,[],!1).filter(l=>wr(l)&&si(l)!=="body"),a=null;const i=jr(e).position==="fixed";let o=i?Qn(e):e;for(;wr(o)&&!Va(o);){const l=jr(o),c=Op(o);!c&&l.position==="fixed"&&(a=null),(i?!c&&!a:!c&&l.position==="static"&&!!a&&V_.has(a.position)||qo(o)&&!c&&Aw(e,o))?s=s.filter(u=>u!==o):a=l,o=Qn(o)}return t.set(e,s),s}function Y_(e){let{element:t,boundary:r,rootBoundary:s,strategy:a}=e;const o=[...r==="clippingAncestors"?vd(t)?[]:K_(t,this._c):[].concat(r),s],l=o[0],c=o.reduce((d,u)=>{const h=cx(t,u,a);return d.top=Rt(h.top,d.top),d.right=Jn(h.right,d.right),d.bottom=Jn(h.bottom,d.bottom),d.left=Rt(h.left,d.left),d},cx(t,l,a));return{width:c.right-c.left,height:c.bottom-c.top,x:c.left,y:c.top}}function J_(e){const{width:t,height:r}=Ew(e);return{width:t,height:r}}function Q_(e,t,r){const s=zr(t),a=Wr(t),i=r==="fixed",o=Ds(e,!0,i,t);let l={scrollLeft:0,scrollTop:0};const c=Br(0);function d(){c.x=$p(a)}if(s||!s&&!i)if((si(t)!=="body"||qo(a))&&(l=wd(t)),s){const p=Ds(t,!0,i,t);c.x=p.x+t.clientLeft,c.y=p.y+t.clientTop}else a&&d();i&&!s&&a&&d();const u=a&&!s&&!i?Tw(a,l):Br(0),h=o.left+l.scrollLeft-c.x-u.x,m=o.top+l.scrollTop-c.y-u.y;return{x:h,y:m,width:o.width,height:o.height}}function ju(e){return jr(e).position==="static"}function dx(e,t){if(!zr(e)||jr(e).position==="fixed")return null;if(t)return t(e);let r=e.offsetParent;return Wr(e)===r&&(r=r.ownerDocument.body),r}function Pw(e,t){const r=Mt(e);if(vd(e))return r;if(!zr(e)){let a=Qn(e);for(;a&&!Va(a);){if(wr(a)&&!ju(a))return a;a=Qn(a)}return r}let s=dx(e,t);for(;s&&D_(s)&&ju(s);)s=dx(s,t);
vendor: 8,838 bytes, line 448
448return s&&Va(s)&&ju(s)&&!Op(s)?r:s||$_(e)||r}const X_=async function(e){const t=this.getOffsetParent||Pw,r=this.getDimensions,s=await r(e.floating);return{reference:Q_(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:s.width,height:s.height}}};function Z_(e){return jr(e).direction==="rtl"}const eT={convertOffsetParentRelativeRectToViewportRelativeRect:z_,getDocumentElement:Wr,getClippingRect:Y_,getOffsetParent:Pw,getElementRects:X_,getClientRects:W_,getDimensions:J_,getScale:Ea,isElement:wr,isRTL:Z_};function Rw(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function tT(e,t){let r=null,s;const a=Wr(e);function i(){var l;clearTimeout(s),(l=r)==null||l.disconnect(),r=null}function o(l,c){l===void 0&&(l=!1),c===void 0&&(c=1),i();const d=e.getBoundingClientRect(),{left:u,top:h,width:m,height:p}=d;if(l||t(),!m||!p)return;const y=kl(h),f=kl(a.clientWidth-(u+m)),v=kl(a.clientHeight-(h+p)),g=kl(u),b={rootMargin:-y+"px "+-f+"px "+-v+"px "+-g+"px",threshold:Rt(0,Jn(1,c))||1};let j=!0;function N(k){const C=k[0].intersectionRatio;if(C!==c){if(!j)return o();C?o(!1,C):s=setTimeout(()=>{o(!1,1e-7)},1e3)}C===1&&!Rw(d,e.getBoundingClientRect())&&o(),j=!1}try{r=new IntersectionObserver(N,{...b,root:a.ownerDocument})}catch{r=new IntersectionObserver(N,b)}r.observe(e)}return o(!0),i}function rT(e,t,r,s){s===void 0&&(s={});const{ancestorScroll:a=!0,ancestorResize:i=!0,elementResize:o=typeof ResizeObserver=="function",layoutShift:l=typeof IntersectionObserver=="function",animationFrame:c=!1}=s,d=Lp(e),u=a||i?[...d?yo(d):[],...yo(t)]:[];u.forEach(g=>{a&&g.addEventListener("scroll",r,{passive:!0}),i&&g.addEventListener("resize",r)});const h=d&&l?tT(d,r):null;let m=-1,p=null;o&&(p=new ResizeObserver(g=>{let[x]=g;x&&x.target===d&&p&&(p.unobserve(t),cancelAnimationFrame(m),m=requestAnimationFrame(()=>{var b;(b=p)==null||b.observe(t)})),r()}),d&&!c&&p.observe(d),p.observe(t));let y,f=c?Ds(e):null;c&&v();function v(){const g=Ds(e);f&&!Rw(f,g)&&r(),f=g,y=requestAnimationFrame(v)}return r(),()=>{var g;u.forEach(x=>{a&&x.removeEventListener("scroll",r),i&&x.removeEventListener("resize",r)}),h==null||h(),(g=p)==null||g.disconnect(),p=null,c&&cancelAnimationFrame(y)}}const nT=E_,sT=__,aT=k_,iT=A_,oT=C_,ux=N_,lT=T_,cT=(e,t,r)=>{const s=new Map,a={platform:eT,...r},i={...a.platform,_c:s};return j_(e,t,{...a,platform:i})};var dT=typeof document<"u",uT=function(){},ec=dT?w.useLayoutEffect:uT;function Ic(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let r,s,a;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(r=e.length,r!==t.length)return!1;for(s=r;s--!==0;)if(!Ic(e[s],t[s]))return!1;return!0}if(a=Object.keys(e),r=a.length,r!==Object.keys(t).length)return!1;for(s=r;s--!==0;)if(!{}.hasOwnProperty.call(t,a[s]))return!1;for(s=r;s--!==0;){const i=a[s];if(!(i==="_owner"&&e.$$typeof)&&!Ic(e[i],t[i]))return!1}return!0}return e!==e&&t!==t}function Dw(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function hx(e,t){const r=Dw(e);return Math.round(t*r)/r}function Nu(e){const t=w.useRef(e);return ec(()=>{t.current=e}),t}function hT(e){e===void 0&&(e={});const{placement:t="bottom",strategy:r="absolute",middleware:s=[],platform:a,elements:{reference:i,floating:o}={},transform:l=!0,whileElementsMounted:c,open:d}=e,[u,h]=w.useState({x:0,y:0,strategy:r,placement:t,middlewareData:{},isPositioned:!1}),[m,p]=w.useState(s);Ic(m,s)||p(s);const[y,f]=w.useState(null),[v,g]=w.useState(null),x=w.useCallback(E=>{E!==k.current&&(k.current=E,f(E))},[]),b=w.useCallback(E=>{E!==C.current&&(C.current=E,g(E))},[]),j=i||y,N=o||v,k=w.useRef(null),C=w.useRef(null),S=w.useRef(u),_=c!=null,R=Nu(c),$=Nu(a),O=Nu(d),J=w.useCallback(()=>{if(!k.current||!C.current)return;const E={placement:t,strategy:r,middleware:m};$.current&&(E.platform=$.current),cT(k.current,C.current,E).then(T=>{const M={...T,isPositioned:O.current!==!1};D.current&&!Ic(S.current,M)&&(S.current=M,zo.flushSync(()=>{h(M)}))})},[m,t,r,$,O]);ec(()=>{d===!1&&S.current.isPositioned&&(S.current.isPositioned=!1,h(E=>({...E,isPositioned:!1})))},[d]);const D=w.useRef(!1);ec(()=>(D.current=!0,()=>{D.current=!1}),[]),ec(()=>{if(j&&(k.current=j),N&&(C.current=N),j&&N){if(R.current)return R.current(j,N,J);J()}},[j,N,J,R,_]);const K=w.useMemo(()=>({reference:k,floating:C,setReference:x,setFloating:b}),[x,b]),G=w.useMemo(()=>({reference:j,floating:N}),[j,N]),H=w.useMemo(()=>{const E={position:r,left:0,top:0};if(!G.floating)return E;const T=hx(G.floating,u.x),M=hx(G.floating,u.y);return l?{...E,transform:"translate("+T+"px, "+M+"px)",...Dw(G.floating)>=1.5&&{willChange:"transform"}}:{position:r,left:T,top:M}},[r,l,G.floating,u.x,u.y]);return w.useMemo(()=>({...u,update:J,refs:K,elements:G,floatingStyles:H}),[u,J,K,G,H])}const mT=e=>{function t(r){return{}.hasOwnProperty.call(r,"current")}return{name:"arrow",options:e,fn(r){const{element:s,padding:a}=typeof e=="function"?e(r):e;return s&&t(s)?s.current!=null?ux({element:s.current,padding:a}).fn(r):{}:s?ux({element:s,padding:a}).fn(r):{}}}},pT=(e,t)=>({...nT(e),options:[e,t]}),fT=(e,t)=>({...sT(e),options:[e,t]}),gT=(e,t)=>({...lT(e),options:[e,t]}),xT=(e,t)=>({...aT(e),options:[e,t]}),yT=(e,t)=>({...iT(e),options:[e,t]}),bT=(e,t)=>({...oT(e),options:[e,t]}),vT=(e,t)=>({...mT(e),options:[e,t]});var wT="Arrow",Iw=w.forwardRef((e,t)=>{const{children:r,width:s=10,height:a=5,...i}=e;return n.jsx($e.svg,{...i,ref:t,width:s,height:a,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?r:n.jsx("polygon",{points:"0,0 30,0 15,10"})})});Iw.displayName=wT;var jT=Iw;function NT(e){const[t,r]=w.useState(void 0);return on(()=>{if(e){r({width:e.offsetWidth,height:e.offsetHeight});const s=new ResizeObserver(a=>{if(!Array.isArray(a)||!a.length)return;const i=a[0];let o,l;if("borderBoxSize"in i){const c=i.borderBoxSize,d=Array.isArray(c)?c[0]:c;o=d.inlineSize,l=d.blockSize}else o=e.offsetWidth,l=e.offsetHeight;r({width:o,height:l})});return s.observe(e,{box:"border-box"}),()=>s.unobserve(e)}else r(void 0)},[e]),t}var Ow="Popper",[Mw,Lw]=ei(Ow),[DF,$w]=Mw(Ow),Uw="PopperAnchor",Bw=w.forwardRef((e,t)=>{const{__scopePopper:r,virtualRef:s,...a}=e,i=$w(Uw,r),o=w.useRef(null),l=nt(t,o);return w.useEffect(()=>{i.onAnchorChange((s==null?void 0:s.current)||o.current)}),s?null:n.jsx($e.div,{...a,ref:l})});Bw.displayName=Uw;var Up="PopperContent",[kT,CT]=Mw(Up),Fw=w.forwardRef((e,t)=>{var ee,De,Ke,Be,de,z;const{__scopePopper:r,side:s="bottom",sideOffset:a=0,align:i="center",alignOffset:o=0,arrowPadding:l=0,avoidCollisions:c=!0,collisionBoundary:d=[],collisionPadding:u=0,sticky:h="partial",hideWhenDetached:m=!1,updatePositionStrategy:p="optimized",onPlaced:y,...f}=e,v=$w(Up,r),[g,x]=w.useState(null),b=nt(t,oe=>x(oe)),[j,N]=w.useState(null),k=NT(j),C=(k==null?void 0:k.width)??0,S=(k==null?void 0:k.height)??0,_=s+(i!=="center"?"-"+i:""),R=typeof u=="number"?u:{top:0,right:0,bottom:0,left:0,...u},$=Array.isArray(d)?d:[d],O=$.length>0,J={padding:R,boundary:$.filter(ET),altBoundary:O},{refs:D,floatingStyles:K,placement:G,isPositioned:H,middlewareData:E}=hT({strategy:"fixed",placement:_,whileElementsMounted:(...oe)=>rT(...oe,{animationFrame:p==="always"}),elements:{reference:v.anchor},middleware:[pT({mainAxis:a+S,alignmentAxis:o}),c&&fT({mainAxis:!0,crossAxis:!1,limiter:h==="partial"?gT():void 0,...J}),c&&xT({...J}),yT({...J,apply:({elements:oe,rects:je,availableWidth:We,availableHeight:ut})=>{const{width:_t,height:Tt}=je.reference,ht=oe.floating.style;ht.setProperty("--radix-popper-available-width",`${We}px`),ht.setProperty("--radix-popper-available-height",`${ut}px`),ht.setProperty("--radix-popper-anchor-width",`${_t}px`),ht.setProperty("--radix-popper-anchor-height",`${Tt}px`)}}),j&&vT({element:j,padding:l}),_T({arrowWidth:C,arrowHeight:S}),m&&bT({strategy:"referenceHidden",...J})]}),[T,M]=Gw(G),V=Fr(y);on(()=>{H&&(V==null||V())},[H,V]);const W=(ee=E.arrow)==null?void 0:ee.x,Q=(De=E.arrow)==null?void 0:De.y,X=((Ke=E.arrow)==null?void 0:Ke.centerOffset)!==0,[ye,Re]=w.useState();return on(()=>{g&&Re(window.getComputedStyle(g).zIndex)},[g]),n.jsx("div",{ref:D.setFloating,"data-radix-popper-content-wrapper":"",style:{...K,transform:H?K.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:ye,"--radix-popper-transform-origin":[(Be=E.transformOrigin)==null?void 0:Be.x,(de=E.transformOrigin)==null?void 0:de.y].join(" "),...((z=E.hide)==null?void 0:z.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:n.jsx(kT,{scope:r,placedSide:T,onArrowChange:N,arrowX:W,arrowY:Q,shouldHideArrow:X,children:n.jsx($e.div,{"data-side":T,"data-align":M,...f,ref:b,style:{...f.style,animation:H?void 0:"none"}})})})});Fw.displayName=Up;var zw="PopperArrow",ST={top:"bottom",right:"left",bottom:"top",left:"r
448ight"},Ww=w.forwardRef(function(t,r){const{__scopePopper:s,...a}=t,i=CT(zw,s),o=ST[i.placedSide];return n.jsx("span",{ref:i.onArrowChange,style:{position:"absolute",left:i.arrowX,top:i.arrowY,[o]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[i.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[i.placedSide],visibility:i.shouldHideArrow?"hidden":void 0},children:n.jsx(jT,{...a,ref:r,style:{...a.style,display:"block"}})})});Ww.displayName=zw;function ET(e){return e!==null}var _T=e=>({name:"transformOrigin",options:e,fn(t){var v,g,x;const{placement:r,rects:s,middlewareData:a}=t,o=((v=a.arrow)==null?void 0:v.centerOffset)!==0,l=o?0:e.arrowWidth,c=o?0:e.arrowHeight,[d,u]=Gw(r),h={start:"0%",center:"50%",end:"100%"}[u],m=(((g=a.arrow)==null?void 0:g.x)??0)+l/2,p=(((x=a.arrow)==null?void 0:x.y)??0)+c/2;let y="",f="";return d==="bottom"?(y=o?h:`${m}px`,f=`${-c}px`):d==="top"?(y=o?h:`${m}px`,f=`${s.floating.height+c}px`):d==="right"?(y=`${-c}px`,f=o?h:`${p}px`):d==="left"&&(y=`${s.floating.width+c}px`,f=o?h:`${p}px`),{data:{x:y,y:f}}}});function Gw(e){const[t,r="center"]=e.split("-");return[t,r]}var TT=Bw,AT=Fw,PT=Ww,[jd,IF]=ei("Tooltip",[Lw]),Bp=Lw(),Hw="TooltipProvider",RT=700,mx="tooltip.open",[DT,Vw]=jd(Hw),qw=e=>{const{__scopeTooltip:t,delayDuration:r=RT,skipDelayDuration:s=300,disableHoverableContent:a=!1,children:i}=e,o=w.useRef(!0),l=w.useRef(!1),c=w.useRef(0);return w.useEffect(()=>{const d=c.current;return()=>window.clearTimeout(d)},[]),n.jsx(DT,{scope:t,isOpenDelayedRef:o,delayDuration:r,onOpen:w.useCallback(()=>{window.clearTimeout(c.current),o.current=!1},[]),onClose:w.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,s)},[s]),isPointerInTransitRef:l,onPointerInTransitChange:w.useCallback(d=>{l.current=d},[]),disableHoverableContent:a,children:i})};qw.displayName=Hw;var Kw="Tooltip",[OF,Nd]=jd(Kw),Qh="TooltipTrigger",IT=w.forwardRef((e,t)=>{const{__scopeTooltip:r,...s}=e,a=Nd(Qh,r),i=Vw(Qh,r),o=Bp(r),l=w.useRef(null),c=nt(t,l,a.onTriggerChange),d=w.useRef(!1),u=w.useRef(!1),h=w.useCallback(()=>d.current=!1,[]);return w.useEffect(()=>()=>document.removeEventListener("pointerup",h),[h]),n.jsx(TT,{asChild:!0,...o,children:n.jsx($e.button,{"aria-describedby":a.open?a.contentId:void 0,"data-state":a.stateAttribute,...s,ref:c,onPointerMove:Ce(e.onPointerMove,m=>{m.pointerType!=="touch"&&!u.current&&!i.isPointerInTransitRef.current&&(a.onTriggerEnter(),u.current=!0)}),onPointerLeave:Ce(e.onPointerLeave,()=>{a.onTriggerLeave(),u.current=!1}),onPointerDown:Ce(e.onPointerDown,()=>{a.open&&a.onClose(),d.current=!0,document.addEventListener("pointerup",h,{once:!0})}),onFocus:Ce(e.onFocus,()=>{d.current||a.onOpen()}),onBlur:Ce(e.onBlur,a.onClose),onClick:Ce(e.onClick,a.onClose)})})});IT.displayName=Qh;var OT="TooltipPortal",[MF,MT]=jd(OT,{forceMount:void 0}),qa="TooltipContent",Yw=w.forwardRef((e,t)=>{const r=MT(qa,e.__scopeTooltip),{forceMount:s=r.forceMount,side:a="top",...i}=e,o=Nd(qa,e.__scopeTooltip);return n.jsx(ti,{present:s||o.open,children:o.disableHoverableContent?n.jsx(Jw,{side:a,...i,ref:t}):n.jsx(LT,{side:a,...i,ref:t})})}),LT=w.forwardRef((e,t)=>{const r=Nd(qa,e.__scopeTooltip),s=Vw(qa,e.__scopeTooltip),a=w.useRef(null),i=nt(t,a),[o,l]=w.useState(null),{trigger:c,onClose:d}=r,u=a.current,{onPointerInTransitChange:h}=s,m=w.useCallback(()=>{l(null),h(!1)},[h]),p=w.useCallback((y,f)=>{const v=y.currentTarget,g={x:y.clientX,y:y.clientY},x=zT(g,v.getBoundingClientRect()),b=WT(g,x),j=GT(f.getBoundingClientRect()),N=VT([...b,...j]);l(N),h(!0)},[h]);return w.useEffect(()=>()=>m(),[m]),w.useEffect(()=>{if(c&&u){const y=v=>p(v,u),f=v=>p(v,c);return c.addEventListener("pointerleave",y),u.addEventListener("pointerleave",f),()=>{c.removeEventListener("pointerleave",y),u.removeEventListener("pointerleave",f)}}},[c,u,p,m]),w.useEffect(()=>{if(o){const y=f=>{const v=f.target,g={x:f.clientX,y:f.clientY},x=(c==null?void 0:c.contains(v))||(u==null?void 0:u.contains(v)),b=!HT(g,o);x?m():b&&(m(),d())};return document.addEventListener("pointermove",y),()=>document.removeEventListener("pointermove",y)}},[c,u,o,d,m]),n.jsx(Jw,{...e,ref:i})}),[$T,UT]=jd(Kw,{isInside:!1}),BT=E0("TooltipContent"),Jw=w.forwardRef((e,t)=>
vendor: 1,681 bytes, line 448
448{const{__scopeTooltip:r,children:s,"aria-label":a,onEscapeKeyDown:i,onPointerDownOutside:o,...l}=e,c=Nd(qa,r),d=Bp(r),{onClose:u}=c;return w.useEffect(()=>(document.addEventListener(mx,u),()=>document.removeEventListener(mx,u)),[u]),w.useEffect(()=>{if(c.trigger){const h=m=>{const p=m.target;p!=null&&p.contains(c.trigger)&&u()};return window.addEventListener("scroll",h,{capture:!0}),()=>window.removeEventListener("scroll",h,{capture:!0})}},[c.trigger,u]),n.jsx(dd,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:i,onPointerDownOutside:o,onFocusOutside:h=>h.preventDefault(),onDismiss:u,children:n.jsxs(AT,{"data-state":c.stateAttribute,...d,...l,ref:t,style:{...l.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[n.jsx(BT,{children:s}),n.jsx($T,{scope:r,isInside:!0,children:n.jsx($4,{id:c.contentId,role:"tooltip",children:a||s})})]})})});Yw.displayName=qa;var Qw="TooltipArrow",FT=w.forwardRef((e,t)=>{const{__scopeTooltip:r,...s}=e,a=Bp(r);return UT(Qw,r).isInside?null:n.jsx(PT,{...a,...s,ref:t})});FT.displayName=Qw;function zT(e,t){const r=Math.abs(t.top-e.y),s=Math.abs(t.bottom-e.y),a=Math.abs(t.right-e.x),i=Math.abs(t.left-e.x);switch(Math.min(r,s,a,i)){case i:return"left";case a:return"right";case r:return"top";case s:return"bottom";default:throw new Error("unreachable")}}function WT(e,t,r=5){const s=[];
448switch(t){case"top":s.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":s.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":s.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":s.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r});break}return s}function GT(e){const{top:t,right:r,bottom:s,left:a}=e;return[{x:a,y:t},{x:r,y:t},{x:r,y:s},{x:a,y:s}]}function HT(e,t){const{x:r,y:s}=e;let a=!1;for(let i=0,o=t.length-1;i<t.length;o=i++){const l=t[i],c=t[o],d=l.x,u=l.y,h=c.x,m=c.y;u>s!=m>s&&r<(h-d)*(s-u)/(m-u)+d&&(a=!a)}return a}function VT(e){const t=e.slice();return t.sort((r,s)=>r.x<s.x?-1:r.x>s.x?1:r.y<s.y?-1:r.y>s.y?1:0),qT(t)}function qT(e){if(e.length<=1)return e.slice();const t=[];for(let s=0;s<e.length;s++){const a=e[s];for(;t.length>=2;){const i=t[t.length-1],o=t[t.length-2];if((i.x-o.x)*(a.y-o.y)>=(i.y-o.y)*(a.x-o.x))t.pop();else break}t.push(a)}t.pop();const r=[];for(let s=e.length-1;s>=0;s--){const a=e[s];for(;r.length>=2;){const i=r[r.length-1],o=r[r.length-2];if((i.x-o.x)*(a.y-o.y)>=(i.y-o.y)*(a.x-o.x))r.pop();else break}r.push(a)}return r.pop(),t.length===1&&r.length===1&&t[0].x===r[0].x&&t[0].y===r[0].y?t:t.concat(r)}var KT=qw,Xw=Yw;const YT=KT,JT=w.forwardRef(({className:e,sideOffset:t=4,...r},s)=>n.jsx(Xw,{ref:s,sideOffset:t,className:xe("z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...r}));JT.displayName=Xw.displayName;const QT="https://cyberwise.ie",XT="https://storage.googleapis.com/gpt-engineer-file-uploads/qyrVe8cKIUhGb1nWGf9YxOl62MY2/social-images/social-1774295507972-Shared_learning_day_new.webp",Ue=({title:e,description:t,path:r,type:s="website"})=>{const a=r==="/"?e:`${e} | Cyberwise`,i=`${QT}${r}`;return n.jsxs(ES,{children:[n.jsx("title",{children:a}),n.jsx("meta",{name:"description",content:t}),n.jsx("link",{rel:"canonical",href:i}),n.jsx("meta",{property:"og:title",content:a}),n.jsx("meta",{property:"og:description",content:t}),n.jsx("meta",{property:"og:url",content:i}),n.jsx("meta",{property:"og:type",content:s}),n.jsx("meta",{property:"og:image",content:XT}),n.jsx("meta",{name:"twitter:title",content:a}),n.jsx("meta",{name:"twitter:description",content:t})]})},Fp=wp("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline",hero:"bg-blue-mid text-primary-foreground hover:bg-blue-bright rounded-xl font-bold shadow-lg hover:shadow-xl transition-all hover:-translate-y-0.5",heroOutline:"border-2 border-blue-sky text-primary-foreground hover:bg-blue-sky/10 rounded-xl font-bold transition-all",cta:"bg-blue-mid text-primary-foreground hover:bg-blue-bright rounded-xl font-bold shadow-lg hover:shadow-xl hover:-translate-y-1 transition-all"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),L=w.forwardRef(({className:e,variant:t,size:r,asChild:s=!1,...a},i)=>{const o=s?m4:"button";return n.jsx(o,{className:xe(Fp({variant:t,size:r,className:e})),ref:i,...a})});L.displayName="Button";const px=[{label:"About Us",href:"/about-us"},{label:"Curriculum",href:"/curriculum"},{label:"Projects",href:"/projects"},{label:"Publications",href:"/publications"}],fx=[{label:"Cyberland Awards",href:"/adventures-in-cyberland-awards"},{label:"Busting Gender Bias",href:"/busting-gender-bias"},{label:"Shared Island",href:"/shared-island"},{label:"AIRED",href:"/aired"},{label:"SECURE",href:"/secure"},{label:"Cyber Citizens",href:"/cyber-citizens"},{label:"XR-LEARN 2035",href:"/xr-learn-2035"}
448,{label:"Digi-PAIR-Edu",href:"/digi-pair-edu"},{label:"EXPLORE-IXR",href:"/explore-ixr"}],se=()=>{const[e,t]=w.useState(!1);return n.jsxs("header",{className:"sticky top-0 z-50",children:[n.jsxs("nav",{className:"bg-navy-dark border-b border-blue-mid/30 backdrop-blur-md",children:[n.jsxs("div",{className:"container mx-auto flex items-center justify-between h-16 px-4 lg:px-8",children:[n.jsx("a",{href:"/",className:"flex items-center gap-2 group",children:n.jsx("span",{className:"text-xl font-extrabold text-primary-foreground tracking-tight",children:"Cyberwise"})}),n.jsxs("div",{className:"hidden md:flex items-center gap-8",children:[px.map(r=>n.jsx("a",{href:r.href,className:"text-sm font-semibold text-primary-foreground/80 hover:text-primary-foreground transition-colors",children:r.label},r.label)),n.jsx(L,{variant:"hero",size:"default",asChild:!0,children:n.jsx("a",{href:"/contact-us",children:"Contact Us"})})]}),n.jsx("button",{className:"md:hidden text-primary-foreground",onClick:()=>t(!e),children:e?n.jsx(Ap,{className:"w-6 h-6"}):n.jsx(bE,{className:"w-6 h-6"})})]}),e&&n.jsxs("div",{className:"md:hidden bg-navy-dark border-t border-blue-mid/20 px-4 pb-4 space-y-3",children:[px.map(r=>n.jsx("a",{href:r.href,onClick:()=>t(!1),className:"block py-2 text-sm font-semibold text-primary-foreground/80 hover:text-primary-foreground",children:r.label},r.label)),n.jsxs("div",{className:"border-t border-blue-mid/20 pt-3",children:[n.jsx("p",{className:"text-xs text-muted-foreground uppercase tracking-wider mb-2",children:"Quick Links"}),n.jsx("div",{className:"flex flex-wrap gap-2",children:fx.map(r=>n.jsx("a",{href:r.href,onClick:()=>t(!1),className:"inline-flex items-center px-3 py-1.5 rounded-full text-xs font-semibold bg-muted text-foreground border border-border hover:bg-primary hover:text-primary-foreground transition-all",children:r.label},r.label))})]}),n.jsx(L,{variant:"hero",size:"default",className:"w-full mt-2",asChild:!0,children:n.jsx("a",{href:"/contact-us",onClick:()=>t(!1),children:"Contact Us"})})]})]}),n.jsx("div",{className:"bg-background border-b border-border",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsxs("div",{className:"flex items-center gap-2 py-2 overflow-x-auto scrollbar-hide",children:[n.jsx("span",{className:"text-muted-foreground text-xs font-semibold uppercase tracking-wider whitespace-nowrap mr-1",children:"Quick Links"}),fx.map(r=>n.jsx("a",{href:r.href,className:"inline-flex items-center px-4 py-1.5 rounded-full text-xs font-semibold whitespace-nowrap bg-muted text-foreground border border-border hover:bg-primary hover:text-primary-foreground hover:border-primary transition-all duration-200",children:r.label},r.label))]})})})]})},ZT="/assets/hero-2-B4uFV_7t.webp",eA="/assets/hero-3-xLPJTuGM.webp",tA="/assets/hero-4-CFglHfEv.webp",rA="/assets/hero-5-CefaZb1N.jpg",nA="/assets/hero-6-idTTV4Vj.jpg",wi=[rA,nA,ZT,eA,tA],sA=()=>{const[e,t]=w.useState(0),r=w.useCallback(()=>t(a=>(a+1)%wi.length),[]),s=w.useCallback(()=>t(a=>(a-1+wi.length)%wi.length),[]);return w.useEffect(()=>{const a=setInterval(r,5e3);return()=>clearInterval(a)},[r]),n.jsxs("section",{className:"relative hero-gradient overflow-hidden min-h-[90vh] flex items-center pb-16 sm:pb-0",children:[n.jsxs("div",{className:"absolute inset-0 overflow-hidden pointer-events-none",children:[n.jsx("div",{className:"absolute top-20 right-[15%] w-64 h-64 rounded-full bg-blue-mid/10"}),n.jsx("div",{className:"absolute bottom-32 right-[30%] w-40 h-40 rounded-full bg-blue-bright/8"}),n.jsx("div",{className:"absolute top-1/2 right-[10%] w-96 h-96 rounded-full bg-navy-dark/50 blur-3xl"})]}),n.jsx("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:n.jsxs("div",{className:"grid lg:grid-cols-2 gap-10 lg:gap-16 items-center",children:[n.jsxs("div",{children:[n.jsxs("div",{className:"hidden sm:inline-flex items-center gap-2 px-4 py-2 rounded-full bg-navy-dark border border-blue-sky/40 text-blue-sky text-sm font-semibold mb-8 hover:bg-blue-mid/20 transition-colors cursor-pointer",onClick:()=>window.location.href="/medals-and-award-winning-projects-2025",children:[n.jsx(Kn,{className:"w-4 h-4"}),"2025 Adventures in Cyberland Award Winners"]}),n.jsx("h1",{className:"text-4xl md:text-5xl lg:text-6xl font-extrabold text-primary-foreground leading-tight mb-6 pt-8 sm:pt-0",children:"Building Cyber Resilience for Every Learner"}),n.jsx("p",{className:"text-lg md:text-xl text-blue-ice leading-relaxed mb-4 max-w-2xl font-medium",children:"UCD Centre for Cyber Resilience Education"}),n.jsx("p",{className:"text-base md:text-lg text-blue-ice/80 leading-relaxed mb-10 max-w-2xl",children:"Comprising a range of educational support and resources for primary, post-primary and initial teacher education developed by the UCD Centre for Cyber Resilience Education, Cyberwise is your gateway to comprehensive and accessible cybersecurity learning."}),n.jsxs("div",{className:"flex flex-col sm:flex-row gap-4",children:[n.jsx(L,{variant:"hero",size:"lg",asChild:!0,children:n.jsx("a",{href:"/projects",children:"Explore Projects"})}),n.jsx(L,{variant:"heroOutline",size:"lg",asChild:!0,children:n.jsx("a",{href:"/about-us",children:"Learn About Us"})})]})]}),n.jsxs("div",{className:"relative",children:[n.jsx("div",{className:"relative rounded-2xl overflow-hidden shadow-2xl shadow-blue-mid/20 border border-blue-sky/20 aspect-[4/3]",children:n.jsx("img",{src:wi[e],alt:"",className:"absolute inset-0 w-full h-full object-cover",loading:e===0?"eager":"lazy"},e)}),n.jsxs("div",{className:"flex items-center justify-between mt-4",children:[n.jsx("button",{onClick:s,className:"p-2 rounded-full bg-navy-dark/60 border border-blue-sky/30 text-white hover:bg-blue-mid/60 transition-colors","aria-label":"Previous image",children:n.jsx(kp,{className:"w-4 h-4"})}),n.jsx("div",{className:"flex gap-2",children:wi.map((a,i)=>n.jsx("button",{onClick:()=>t(i),className:`h-2 rounded-full transition-all duration-300 ${i===e?"bg-blue-mid w-6":"bg-white/30 w-2 hover:bg-white/50"}`,"aria-label":`Go to slide ${i+1}`},i))}),n.jsx("button",{onClick:r,className:"p-2 rounded-full bg-navy-dark/60 border border-blue-sky/30 text-white hover:bg-blue-mid/60 transition-colors","aria-label":"Next image",children:n.jsx(Ht,{className:"w-4 h-4"})})]})]})]})})]})},aA=[{icon:Ac,title:"Primary Schools",description:"Browse a selection of interactive sample lesson ideas, resources and assessments.",emoji:"🏫",href:"/primary-sch
448ools"},{icon:pe,title:"Junior Cycle",description:"Browse a selection of interactive sample lesson ideas, resources and assessments.",emoji:"📚",href:"/junior-cycle-short-course"},{icon:fd,title:"Senior Cycle",description:"Browse a selection of interactive sample lesson ideas, resources and assessments.",emoji:"🎓",href:"/lca-cybersecurity"}],iA=()=>n.jsx("section",{id:"curriculum",className:"bg-blue-ice py-20 lg:py-28",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsxs("div",{className:"text-center mb-14",children:[n.jsx("span",{className:"text-blue-mid font-bold text-sm uppercase tracking-widest",children:"Curriculum"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3",children:"What We Offer"}),n.jsx("p",{className:"mt-4 text-muted-foreground max-w-2xl mx-auto text-lg",children:"We empower learners of all ages with the knowledge and tools to navigate the digital world safely and confidently."})]}),n.jsx("div",{className:"grid md:grid-cols-3 gap-8",children:aA.map((e,t)=>n.jsxs("a",{href:e.href,className:"bg-card rounded-2xl p-8 border-l-4 border-blue-mid shadow-md hover:shadow-xl transition-all hover:-translate-y-1 group block",children:[n.jsx("div",{className:"w-14 h-14 rounded-xl bg-blue-mid/10 flex items-center justify-center mb-6 group-hover:bg-blue-mid/20 transition-colors",children:n.jsx(e.icon,{className:"w-7 h-7 text-blue-mid"})}),n.jsx("h3",{className:"text-xl font-bold text-foreground mb-3",children:e.title}),n.jsx("p",{className:"text-muted-foreground leading-relaxed",children:e.description})]},e.title))})]})}),Zw="/assets/about-cyberwise-9zHifITV.jpg",oA=["3 Curriculum Levels","UCD-Backed Research","Ireland-Wide Reach"],lA=()=>n.jsx("section",{id:"about",className:"bg-card py-20 lg:py-28",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsxs("div",{className:"grid lg:grid-cols-2 gap-16 items-center",children:[n.jsxs("div",{children:[n.jsx("span",{className:"text-blue-mid font-bold text-sm uppercase tracking-widest",children:"About Us"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3 mb-6",children:"About Cyberwise"}),n.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4 text-lg",children:"The UCD Centre for Cyber Resilience Education is a leading force in developing comprehensive and accessible cyber-resilience education. Building on our successful pilot programs, like the Cyberwise junior cycle short course, we are expanding our efforts to reach learners across all levels of education in Ireland and beyond."}),n.jsx("p",{className:"text-muted-foreground leading-relaxed mb-8",children:"Our aim is to build a future where everyone is equipped to thrive in the digital age, confident in their ability to navigate the challenges and opportunities of the online world."}),n.jsx("div",{className:"flex flex-wrap gap-3",children:oA.map(e=>n.jsx("span",{className:"px-4 py-2 rounded-full bg-blue-ice text-blue-mid font-bold text-sm",children:e},e))})]}),n.jsx("div",{className:"relative",children:n.jsx("div",{className:"rounded-2xl overflow-hidden border-4 border-primary/20 shadow-2xl",children:n.jsx("img",{src:Zw,alt:"Educators at UCD O'Reilly Hall for Cyberwise event",className:"w-full h-auto object-contain"})})})]})})}),cA="/assets/fll-gallery-3-zIKtvf2J.jpg",ej="/assets/project-cyber-citizens-C9vis49N.jpg",tj="/assets/primary-cyberland-awards-C9ilY5Cq.jpg",dA=[{title:"Busting Gender Bias",description:"Our project aims to infuse science with the arts and humanities, utilising Philosophy for Children (P4C) and Storytelling to develop a growth mindset and critical thinking. By establishing an emotional connection with women leaders in computer science and cybersecurity, we will provide role models who ignite ambition in girls.",image:cA,href:"/busting-gender-bias"},{title:"Cyber Citizens",description:"A national initiative for digital resilience and cyber literacy, empowering safer digital communities across Ireland through education, participation and public leadership.",image:ej,href:"/cyber-citizens"}
448,{title:"Adventures in Cyberland Awards",description:"The Adventures in Cyberland Awards are funded by Our Public Service Innovation Fund as part of the Cyber Resilience Education in Primary and Post-Primary Schools initiative led by UCD School of Education.",image:tj,href:"/adventures-in-cyberland-awards"}],uA=()=>n.jsx("section",{id:"projects",className:"bg-navy-dark py-20 lg:py-28",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsxs("div",{className:"text-center mb-14",children:[n.jsx("span",{className:"text-blue-sky font-bold text-sm uppercase tracking-widest",children:"Projects"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-primary-foreground mt-3",children:"Projects & Knowledge Sharing"}),n.jsx("p",{className:"mt-4 text-blue-ice/70 max-w-2xl mx-auto text-lg",children:"Explore some of our projects below."})]}),n.jsx("div",{className:"grid md:grid-cols-3 gap-8",children:dA.map((e,t)=>n.jsxs("div",{className:"bg-navy-deep rounded-2xl overflow-hidden border-t-4 border-blue-sky hover:border-blue-mid transition-colors group",children:[n.jsx("a",{href:e.href,className:"block h-48 overflow-hidden",children:n.jsx("img",{src:e.image,alt:e.title,className:"w-full h-full object-cover object-top group-hover:scale-105 transition-transform duration-500",loading:"lazy"})}),n.jsxs("div",{className:"p-8",children:[n.jsx("h3",{className:"text-xl font-bold text-primary-foreground mb-4",children:e.title}),n.jsx("p",{className:"text-blue-ice/70 leading-relaxed mb-6 text-sm",children:e.description}),e.href&&n.jsxs("a",{href:e.href,className:"inline-flex items-center gap-2 text-blue-bright font-bold text-sm hover:gap-3 transition-all",children:["Learn More ",n.jsx(le,{className:"w-4 h-4"})]})]})]},e.title))}),n.jsx("div",{className:"text-center mt-12",children:n.jsxs("a",{href:"#",className:"text-blue-sky font-bold hover:text-primary-foreground transition-colors inline-flex items-center gap-2",children:["View latest projects ",n.jsx(le,{className:"w-4 h-4"})]})})]})}),hA="/assets/si-ucd-ccre-BCcVMpVE.png",mA="/assets/partner-public-service-DC34hHhu.png",pA="/assets/partner-decc-DWoXlVJG.png",fA=1,gA="fa0d80dd-cad0-404d-ad73-3f8b9f3ea3e1",xA="006d986f-0954-4925-b449-48b863ced425",yA="/__l5e/assets-v1/fa0d80dd-cad0-404d-ad73-3f8b9f3ea3e1/partner-ncsc.png",bA="a/v1/006d986f-0954-4925-b449-48b863ced425/fa0d80dd-cad0-404d-ad73-3f8b9f3ea3e1/partner-ncsc.png",vA="partner-ncsc.png",wA=66518,jA="image/webp",NA="2026-07-30T08:26:10Z",kA={version:fA,asset_id:gA,project_id:xA,url:yA,r2_key:bA,original_filename:vA,size:wA,content_type:jA,created_at:NA},zp="/assets/partner-ucd-3Z8nSr6E.png",CA=kA.url,SA=[{name:"UCD Centre for Cyber Resilience Education",logo:hA},{name:"UCD Schools",logo:zp},{name:"NCSC",logo:CA},{name:"Dept. of Environment, Climate & Communications",logo:pA},{name:"Our Public Service",logo:mA}],st=()=>n.jsx("section",{className:"bg-blue-ice py-14",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsx("p",{className:"text-center text-foreground font-bold text-sm uppercase tracking-widest mb-10",children:"Supported By & In Partnership With"}),n.jsx("div",{className:"flex flex-wrap justify-center items-center gap-8",children:SA.map((e,t)=>n.jsx("div",{className:"bg-card rounded-xl px-6 sm:px-8 py-6 shadow-sm border border-border flex items-center justify-center h-32 w-full max-w-[320px] sm:w-auto sm:max-w-none",children:n.jsx("img",{src:e.logo,alt:e.name,className:"max-h-20 sm:max-h-32 w-auto max-w-full sm:max-w-[286px] object-contain",loading:"lazy"})},e.name))})]})}),kd="/assets/si-rachel-farrell-Cj6k1Asy.jpg",Wp="/assets/team-eugenio-lilli-BRrAbxYJ.png",Gp="/assets/team-michal-wieczorek-rSzqwAJe.webp",rj="/assets/team-joe-carthy-ZZ8AKEPU.jpg",nj="/assets/team-james-caffrey-BJ8sr1VY.jpg",Hp="/assets/team-marelle-rice-uFJUnnEF.jpg",Vp="/assets/team-karen-maye-BZDUQ8oj.jpg",sj="/assets/team-ciara-molloy-DwxezJpB.jpg",EA=[{name:"Dr Rachel Farrell",role:"Centre Director",org:"UCD School of Education",description:"Centre Director with overall responsibility for co-ordinating the activities of the centre.",photo:kd,bio:"https://people.ucd.ie/rachel.farrell",linkedin:"https://www.linkedin.com/in/rachel-farrell-2074088b/"},{name:"Eugenio Lilli",role:"Centre Co-Director",org:"Clinton Institute for American Studies",description:"Centre Co-Director with responsibility for the intersection of cyber technologies and global affairs.",photo:Wp,bio:"https://people.ucd.ie/eugenio.lilli",linkedin:"https://www.linkedin.com/in/eugeniolilli"},{name:"Michał Wieczorek",role:"Centre Co-Director",org:"UCD School of Education",description:"Ad Astra Fellow/Assistant Professor studying how new technologies shape education.",ph
448oto:Gp,bio:"https://people.ucd.ie/michal.wieczorek",linkedin:"https://www.linkedin.com/in/micwieczorek/"},{name:"Prof. Joe Carthy",role:"Advisory Board",org:"UCD School of Computer Science",description:"Member of Advisory Board with responsibility for cybercrime related expertise.",photo:rj,bio:"https://people.ucd.ie/joe.carthy",linkedin:"https://www.linkedin.com/in/joe-carthy-0475487/"},{name:"James Caffrey",role:"NCSC",org:"National Cyber Security Centre (NCSC)",description:"Working with the Department of the Environment, Climate & Communications working on cybersecurity since 2012.",photo:nj,linkedin:"https://www.linkedin.com/in/james-c-49b164100/"}],_A=[{name:"Marelle Rice",role:"Project Manager",org:"UCD School of Education",photo:Hp},{name:"Karen Maye",role:"Project Manager",org:"UCD School of Education",photo:Vp},{name:"Ciara Molloy",role:"PhD Candidate",org:"Primary Deputy Principal",photo:sj}],TA=()=>n.jsx("section",{id:"team",className:"bg-card py-20 lg:py-28",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsxs("div",{className:"text-center mb-14",children:[n.jsx("span",{className:"text-blue-mid font-bold text-sm uppercase tracking-widest",children:"Our People"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3",children:"Executive Team"}),n.jsx("p",{className:"mt-4 text-muted-foreground max-w-2xl mx-auto text-lg",children:"Our executive team comprises leading educators and researchers in education, computer science and cyber security."})]}),n.jsx("div",{className:"flex flex-wrap justify-center gap-8 mb-16 max-w-5xl mx-auto",children:EA.map((e,t)=>n.jsxs("div",{className:"bg-card rounded-2xl p-6 text-center border border-border shadow-sm hover:shadow-lg transition-all group w-full sm:w-[calc(50%-1rem)] lg:w-[calc(33.333%-1.5rem)]",children:[n.jsx("div",{className:"w-28 h-28 rounded-full border-4 border-blue-mid mx-auto mb-4 overflow-hidden",children:n.jsx("img",{src:e.photo,alt:e.name,className:"w-full h-full object-cover"})}),n.jsx("h3",{className:"text-lg font-bold text-foreground",children:e.name}),n.jsx("p",{className:"text-blue-mid font-semibold text-sm mb-1",children:e.role}),n.jsx("p",{className:"text-muted-foreground text-xs mb-3",children:e.org}),n.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed mb-4",children:e.description}),n.jsxs("div",{className:"flex justify-center gap-3",children:[e.bio&&n.jsx("a",{href:e.bio,target:"_blank",rel:"noopener noreferrer",className:"text-blue-sky hover:text-blue-mid transition-colors",children:n.jsx(me,{className:"w-4 h-4"})}),e.linkedin&&n.jsx("a",{href:e.linkedin,target:"_blank",rel:"noopener noreferrer",className:"text-blue-sky hover:text-blue-mid transition-colors",children:n.jsx(gd,{className:"w-4 h-4"})})]})]},e.name))}),n.jsxs("div",{children:[n.jsx("h3",{className:"text-xl font-bold text-foreground text-center mb-8",children:"Our People"}),n.jsx("div",{className:"flex flex-wrap justify-center gap-4 mb-10",children:_A.map(e=>n.jsxs("div",{className:"bg-blue-ice rounded-xl px-5 py-3 flex items-center gap-3 hover:shadow-md transition-shadow",children:[n.jsx("div",{className:"w-14 h-14 rounded-full border-3 border-blue-mid overflow-hidden flex-shrink-0",children:n.jsx("img",{src:e.photo,alt:e.name,className:"w-full h-full object-cover"})}),n.jsxs("div",{children:[n.jsx("p",{className:"text-sm font-bold text-foreground",children:e.name}),n.jsxs("p",{className:"text-xs text-muted-foreground",children:[e.role," — ",e.org]})]})]},e.name))}),n.jsx("div",{className:"text-center",children:n.jsx(L,{variant:"hero",size:"lg",asChild:!0,children:n.jsxs("a",{href:"/about-us",className:"inline-flex items-center gap-2",children:["Meet the Full Team ",n.jsx(le,{className:"w-4 h-4"})]})})})]})]})}),ts=()=>n.jsx("section",{className:"cta-gradient py-20 lg:py-28",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8 text-center",children:n.jsxs("div",{children:[n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-primary-foreground mb-4",children:"Ready to bring cyber resilience into your classroom?"}),n.jsx("p",{className:"text-blue-ice/80 text-lg max-w-2xl mx-auto mb-10",children:"Explore our free, curriculum-aligned resources for primary, junior cycle and senior cycle."}),n.jsx(L,{variant:"cta",size:"lg",asChild:!0,children:n.jsx("a",{href:"/curriculum",children:"Get Started"})})]})})}),AA={Cyberwise:[{label:"About Us",href:"/about-us"},{label:"Projects",href:"/projects"},{label:"Contact",href:"/contact-us"}],Projects:[{label:"Cyber Citizens",href:"/cyber-citizens"},{label:"Busting Gender Bias",href:"/busting-gender-bias"},{label:"Shared Island",href:"/shared-island"},{label:"Digi Stories",href:"/digi-stories"},{label:"Adventures in Cyberland",href:"/medals-and-award-winning-projects-2025"}],Resources:[{label:"Curriculum",href:"/curriculum"},{label:"Publications",href:"/publications"},{label:"Case Studies",href:"/case-studies"}]},ae=()=>n.jsx("footer",{id:"contact",className:"bg-navy-deep py-16",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsxs("div",{className:"grid md:grid-cols-4 gap-12 mb-12",children:[n.jsxs("div",{children:[n.jsx("div",{className:"mb-4",children:n.jsx("span",{className:"text-lg font-extrabold text-primary-foreground",children:"Cyberwise"})}),n.jsx("p",{className:"text-blue-ice/60 text-sm leading-relaxed mb-4",children:"Empowering learners to thrive in the digital age."}),n.jsxs("a",{href:"https://www.linkedin.com/company/cyberwise-ire/posts/?feedView=all",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 text-blue-sky/70 hover:text-blue-sky transition-colors text-sm",children:[n.jsx(gd,{className:"w-4 h-4"}),"LinkedIn"]})]}),Object.entries(AA).map(([e,t])=>n.jsxs("div",{children:[n.jsx("h4",{className:"text-primary-foreground font-bold text-sm mb-4",children:e}),n.jsx("ul",{className:"space-y-2",children:t.map(r=>n.jsx("li",{children:n.jsx("a",{href:r.href,className:"text-blue-sky/70 hover:text-blue-sky text-sm transition-colors",children:r.label})},r.label))})]},e))]}),n.jsxs("div",{className:"border-t border-navy-dark pt-8 flex items-center justify-between",children:[n.jsxs("p",{className:"text-blue-sky/40 text-sm",children:["© ",new Date().getFullYear()," Cyberwise — UCD Centre for Cyber Resilience Education. All rights reserved."]}),n.jsx("a",{href:"/admin/login",className:"text-blue-sky/30 hover:text-blue-sky/60 text-xs transition-colors",children:"Admin"})]})]})}),PA=()=>n.jsxs("div",{className:"min-h-screen",children:[n.jsx(Ue,{title:"Cyberwise | UCD Centre for Cyber Resilience Education",description:"Building cyber resilience for every learner. Comprehensive cybersecurity education resources for primary, post-primary and teacher education developed by UCD.",path:"/"}),n.jsx(se,{}),n.jsx(sA,{}),n.jsx(lA,{}),n.jsx(uA,{}),n.jsx(st,{}),n.jsx(TA,{}),n.jsx(iA,{}),n.jsx(ts,{}),n.jsx(ae,{})]}),aj="/assets/team-rob-brennan-CZGaD5Q8.jpg",RA="/assets/team-ray-genoe-TCSZJMCp.jpg",DA="/assets/team-jake-weldon-CgFn5VCh.jpeg",IA="/assets/team-john-melia-DEK1d4O7.jpg",OA="/assets/team-eleni-mangina-Dib2Cyo9.jpg",MA="/assets/team-eugenia-siapera-BmApmToO.jpg",ij="/assets/team-declan-qualter-CKZVwG0l.jpeg",LA="/assets/team-liam-fogarty-Dl5YHVMU.png",$A="/assets/team-paul-rouse--uidj-l8.gif",UA="/assets/team-kevin-marshall-3oADdt8W.jpg",BA="/assets/team-anthony-kilcoyne-ChqjAwDT.webp",FA="/assets/team-conor-galvin-C217kDt-.jpg",zA="/assets/team-sean-gallagher-DqGjXyVs.jpg",WA="/assets/team-mark-baldwin-YWA9mizB.jpg",GA="/assets/team-tomas-sharkey-NSKR9M5X.jpg",HA=[{icon:Vo,title:"Our Mission",description:"To develop comprehensive and accessible cyber-resil
448ience education for learners across all levels of education in Ireland and beyond."},{icon:Jt,title:"Global Citizenship",description:"We integrate cybersecurity education with Global Citizenship Education, empowering students to be responsible digital citizens."},{icon:pe,title:"Research-Driven",description:"All our resources are built on UCD-backed research, ensuring the highest academic standards and real-world relevance."},{icon:Qe,title:"Collaborative",description:"We work with schools, government bodies, and industry partners to create impactful learning experiences."},{icon:Kn,title:"Award-Winning",description:"Our programs have been recognised nationally and internationally for innovation in cybersecurity education."},{icon:Bt,title:"Innovation",description:"We pioneer new approaches to teaching cybersecurity through challenge-based learning, storytelling, and Philosophy for Children."}],VA=[{name:"Dr Rachel Farrell",role:"Centre Director",org:"UCD School of Education",description:"Centre Director with overall responsibility for co-ordinating the activities of the centre in collaboration with a multi-disciplinary team.",photo:kd,bio:"https://people.ucd.ie/rachel.farrell",linkedin:"https://www.linkedin.com/in/rachel-farrell-2074088b/"},{name:"Eugenio Lilli",role:"Centre Co-Director",org:"Clinton Institute for American Studies",description:"Centre Co-Director with responsibility for the intersection of cyber technologies and global affairs.",photo:Wp,bio:"https://people.ucd.ie/eugenio.lilli",linkedin:"https://www.linkedin.com/in/eugeniolilli"},{name:"Michał Wieczorek",role:"Centre Co-Director",org:"UCD School of Education",description:"Ad Astra Fellow/Assistant Professor studying how new technologies shape the goals, values and practices of education.",photo:Gp,bio:"https://people.ucd.ie/michal.wieczorek",linkedin:"https://www.linkedin.com/in/micwieczorek/"},{name:"Prof. Joe Carthy",role:"Advisory Board",org:"UCD School of Computer Science",description:"Member of Advisory Board with responsibility for cybercrime related expertise.",photo:rj,bio:"https://people.ucd.ie/joe.carthy",linkedin:"https://www.linkedin.com/in/joe-carthy-0475487/"},{name:"James Caffrey",role:"NCSC",org:"National Cyber Security Centre (NCSC)",description:"Working with the Department of the Environment, Climate & Communications working on cybersecurity since 2012.",photo:nj,linkedin:"https://www.linkedin.com/in/james-c-49b164100/"}],qA=[{name:"Marelle Rice",role:"Project Manager & PhD Candidate",org:"UCD School of Education",description:"Research project manager and PhD candidate in the area of Global Citizenship Education in Initial Teacher Education – focusing on philosophical inquiry and critical thinking.",photo:Hp},{name:"Karen Maye",role:"Project Manager & PhD Candidate",org:"UCD School of Education",description:"Cyberwise project manager and PhD candidate in school-university partnerships.",photo:Vp},{name:"Ciara Molloy",role:"PhD Candidate",org:"Primary Deputy Principal & School of Education",description:"Amplifying the school leader voice and PhD candidate in the area of A.I. in primary education.",photo:sj},{name:"Dr Rob Brennan",role:"Advisory Board",org:"Computer Science & ADAPT Centre",description:"Member of Advisory Board with responsibility for AI and cyber related crisis management.",photo:aj},{name:"Jake Weldon",role:"Media Manager & Occasional Lecturer",org:"UCD School of Education",description:"Amplifying the school leader voice, media manager for Cyberwise & Occasional Lecturer for Digi-Stories at the School of Education, UCD.",photo:DA},{name:"John Melia",role:"Legal Researcher",org:"University of Notre Dame",description:"Legal researcher with responsibility for legal aspects of cyber security and cyber education.",photo:IA},{name:"Dr Ray Genoe",role:"Advisory Board",org:"Director of UCD Centre for Cyber Investigation",description:"Member of Advisory Board with expertise on cyber investigations.",photo:RA},{name:"Professor Eleni Mangina",role:"Advisory Board",org:"Vice Principal (International) for College of Science",description:"Member of Advisory Board with responsibility for global perspectives and networking.",photo:OA},{name:"Professor Eugenia Siapera",role:"Advisory Board",org:"Information and Communication Studies",description:"Member of Advisory Board with responsibility for digital and social media and political communication related expertise.",photo:MA},{name:"Declan Qualter",role:"Expert Panel & PhD Candidate",org:"Education",description:"Member of expert panel advising EU Commission on the SELFIE tool for teacher digital competence. PhD candidate in the area of digital inclusion in school communities.",photo:ij},{name:"Liam Fogarty",role:"Advisory Board & PhD Candidate",org:"Central Educational Technology Services",description:"Senior Project Manager. Member of Advisory Board with responsibility for Instructional Design of blended learning content and PhD candidate in multi-disciplinary collaboration in higher education.",ph
448oto:LA},{name:"Professor Paul Rouse",role:"Advisory Board",org:"College of Arts and Humanities",description:"Member of Advisory Board with responsibility for historical aspects of cyber security.",photo:$A},{name:"Dr Kevin Marshall",role:"Advisory Board",org:"Microsoft Education Ireland",description:"Member of Advisory Board with responsibility for industry perspectives and expertise on cyber related issues.",photo:UA},{name:"Anthony Kilcoyne",role:"Advisory Board",org:"Division Director of Oide Technology in Education",description:"Member of Advisory Board with responsibility for national education policy in technology enhanced learning.",photo:BA},{name:"Dr Conor Galvin",role:"Advisory Board",org:"Director of Doctorate in Education",description:"Member of Advisory Board with responsibility for national and supra-national digital education policy and Jean Monet and Erasmus+ funding expertise.",photo:FA},{name:"Seán Gallagher",role:"Primary Principal",org:"Primary School",description:"Experienced primary school principal with expertise in digital technology and teacher CPD. Former Deputy Director of PDST.",photo:zA},{name:"Mark Baldwin",role:"XR Technology Expert",org:"Learnmersive",description:"Immersive and XR technology expert specialising in virtual reality, augmented reality and mixed reality solutions for education. Founder of Learnmersive, bringing cutting-edge immersive learning experiences to schools and organisations.",photo:WA},{name:"Tomas Sharkey",role:"Post-Primary Principal",org:"Post-Primary School",description:"Experienced post-primary school principal with expertise in teacher CPD. Former PDST Advisor.",photo:GA}],KA=()=>n.jsxs("div",{className:"min-h-screen",children:[n.jsx(Ue,{title:"About Us",description:"Learn about the UCD Centre for Cyber Resilience Education — our mission, team, and approach to building comprehensive cybersecurity education across Ireland.",path:"/about-us"}),n.jsx(se,{}),n.jsxs("section",{className:"page-hero-gradient py-20 lg:py-28 relative overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_center_right,_hsl(var(--navy-dark))_0%,_transparent_70%)] opacity-50"}),n.jsx("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:n.jsxs("div",{className:"text-center max-w-3xl mx-auto",children:[n.jsx("span",{className:"text-blue-sky font-bold text-sm uppercase tracking-widest",children:"About Us"}),n.jsx("h1",{className:"text-4xl md:text-5xl font-extrabold text-primary-foreground mt-3 mb-6",children:"About Cyberwise"}),n.jsx("p",{className:"text-blue-ice/80 text-lg leading-relaxed",children:"The UCD Centre for Cyber Resilience Education is a leading force in developing comprehensive and accessible cyber-resilience education for learners across all levels in Ireland and beyond."})]})})]}),n.jsx("section",{className:"bg-card py-20 lg:py-28",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsxs("div",{className:"grid lg:grid-cols-2 gap-16 items-center",children:[n.jsxs("div",{children:[n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mb-6",children:"Who We Are"}),n.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4 text-lg",children:"The UCD Centre for Cyber Resilience Education is a leading force in developing comprehensive and accessible cyber-resilience education. Building on our successful pilot programs, like the Cyberwise junior cycle short course, we are expanding our efforts to reach learners across all levels of education in Ireland and beyond."}),n.jsx("p",{className:"text-muted-foreground leading-relaxed mb-6",children:"Our aim is to build a future where everyone is equipped to thrive in the digital age, confident in their ability to navigate the challenges and opportunities of the online world."}),n.jsx("div",{className:"flex flex-wrap gap-3",children:["3 Curriculum Levels","UCD-Backed Research","Ireland-Wide Reach"].map(e=>n.jsx("span",{className:"px-4 py-2 rounded-full bg-blue-ice text-blue-mid font-bold text-sm",children:e},e))})]}),n.jsx("div",{className:"relative",children:n.jsx("div",{className:"rounded-2xl overflow-hidden border-4 border-primary/20 shadow-2xl",children:n.jsx("img",{src:Zw,alt:"Cyberwise team at UCD",className:"w-full h-auto object-contain"})})})]})})}),n.jsx("section",{className:"bg-blue-ice py-20 lg:py-28",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsxs("div",{className:"text-center mb-14",children:[n.jsx("span",{className:"text-blue-mid font-bold text-sm uppercase tracking-widest",children:"What Drives Us"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3",children:"Our Values & Approach"})]}),n.jsx("div",{className:"grid sm:grid-cols-2 lg:grid-cols-3 gap-8",children:HA.map((e,t)=>n.jsxs("div",{className:"bg-card rounded-2xl p-8 border-l-4 border-blue-mid shadow-md hover:shadow-xl transition-all hover:-translate-y-1 group",children:[n.jsx("div",{className:"w-14 h-14 roun
448ded-xl bg-blue-mid/10 flex items-center justify-center mb-6 group-hover:bg-blue-mid/20 transition-colors",children:n.jsx(e.icon,{className:"w-7 h-7 text-blue-mid"})}),n.jsx("h3",{className:"text-xl font-bold text-foreground mb-3",children:e.title}),n.jsx("p",{className:"text-muted-foreground leading-relaxed",children:e.description})]},e.title))})]})}),n.jsx("section",{className:"bg-card py-20 lg:py-28",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsxs("div",{className:"text-center mb-14",children:[n.jsx("span",{className:"text-blue-mid font-bold text-sm uppercase tracking-widest",children:"Our People"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3",children:"Executive Team"}),n.jsx("p",{className:"mt-4 text-muted-foreground max-w-2xl mx-auto text-lg",children:"Our executive team comprises leading educators and researchers in education, computer science and cyber security."})]}),n.jsx("div",{className:"flex flex-wrap justify-center gap-8 mb-16 max-w-5xl mx-auto",children:VA.map((e,t)=>n.jsxs("div",{className:"bg-card rounded-2xl p-6 text-center border border-border shadow-sm hover:shadow-lg transition-all group w-full sm:w-[calc(50%-1rem)] lg:w-[calc(33.333%-1.5rem)]",children:[n.jsx("div",{className:"w-28 h-28 rounded-full border-4 border-blue-mid mx-auto mb-4 overflow-hidden",children:n.jsx("img",{src:e.photo,alt:e.name,className:"w-full h-full object-cover"})}),n.jsx("h3",{className:"text-lg font-bold text-foreground",children:e.name}),n.jsx("p",{className:"text-blue-mid font-semibold text-sm mb-1",children:e.role}),n.jsx("p",{className:"text-muted-foreground text-xs mb-3",children:e.org}),n.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed mb-4",children:e.description}),n.jsxs("div",{className:"flex justify-center gap-3",children:[e.bio&&n.jsx("a",{href:e.bio,target:"_blank",rel:"noopener noreferrer",className:"text-blue-sky hover:text-blue-mid transition-colors",children:n.jsx(me,{className:"w-4 h-4"})}),e.linkedin&&n.jsx("a",{href:e.linkedin,target:"_blank",rel:"noopener noreferrer",className:"text-blue-sky hover:text-blue-mid transition-colors",children:n.jsx(gd,{className:"w-4 h-4"})})]})]},e.name))}),n.jsxs("div",{children:[n.jsx("h3",{className:"text-2xl font-bold text-foreground text-center mb-8",children:"Our People"}),n.jsx("div",{className:"grid sm:grid-cols-2 lg:grid-cols-3 gap-6",children:qA.map((e,t)=>n.jsxs("div",{className:"bg-blue-ice rounded-xl p-5 hover:shadow-md transition-shadow",children:[n.jsxs("div",{className:"flex items-center gap-4 mb-3",children:[n.jsx("div",{className:"w-16 h-16 rounded-full border-3 border-blue-mid overflow-hidden flex-shrink-0",children:e.photo?n.jsx("img",{src:e.photo,alt:e.name,className:"w-full h-full object-cover"}):n.jsx("div",{className:"w-full h-full bg-blue-mid/10 flex items-center justify-center",children:n.jsx("span",{className:"text-sm font-bold text-blue-mid",children:e.name.split(" ").map(r=>r[0]).join("").slice(0,2)})})}),n.jsxs("div",{children:[n.jsx("p",{className:"font-bold text-foreground",children:e.name}),n.jsx("p",{className:"text-xs text-blue-mid font-semibold",children:e.role})]})]}),n.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:e.description}),n.jsx("p",{className:"text-xs text-muted-foreground mt-2",children:e.org})]},e.name))})]})]})}),n.jsx(st,{}),n.jsx(ts,{}),n.jsx(ae,{})]}),YA="/assets/junior-cycle-students-BHNZaVVt.jpg",JA="/assets/awards2024-creativity-BEgiKrl5.jpg",QA="/assets/awards2024-individual-CSeetQUZ.jpg",XA=[{icon:Ac,title:"Primary Schools",emoji:"🏫",image:JA,href:"/primary-schools",description:"Browse a selection of interactive sample lesson ideas, resources and assessments.",details:["Age-appropriate cybersecurity concepts","Interactive storytelling activities","Digital citizenship fundamentals","Online safety awareness","Creative problem-solving exercises"]},{icon:pe,title:"Junior Cycle",emoji:"📚",image:YA,href:"/junior-cycle-sh
448ort-course",description:"Browse a selection of interactive sample lesson ideas, resources and assessments.",details:["Dedicated short course framework","Practical cybersecurity skills","Challenge-based learning modules","SDG-aligned curriculum","Assessment and evaluation tools"]},{icon:fd,title:"Senior Cycle",emoji:"🎓",image:QA,href:"/lca-cybersecurity",description:"Browse a selection of interactive sample lesson ideas, resources and assessments.",details:["Advanced digital literacy","Leaving Certificate Applied modules","Cyber resilience strategies","Real-world case studies","Career pathway awareness"]}],ZA=[{icon:vr,title:"Lesson Plans",description:"Ready-to-use lesson plans aligned with the Irish curriculum framework."},{icon:qe,title:"Downloadable Resources",description:"Worksheets, activities, and assessment materials for classroom use."},{icon:br,title:"Assessment Tools",description:"Evaluation frameworks to measure student progress and understanding."}],eP=()=>n.jsxs("div",{className:"min-h-screen",children:[n.jsx(Ue,{title:"Curriculum",description:"Explore the Cyberwise cybersecurity curriculum for primary schools, junior cycle, and senior cycle. Comprehensive cyber resilience education resources for Irish schools.",path:"/curriculum"}),n.jsx(se,{}),n.jsxs("section",{className:"page-hero-gradient py-20 lg:py-28 relative overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_center_right,_hsl(var(--navy-dark))_0%,_transparent_70%)] opacity-50"}),n.jsx("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:n.jsxs("div",{className:"text-center max-w-3xl mx-auto",children:[n.jsx("span",{className:"text-blue-sky font-bold text-sm uppercase tracking-widest",children:"Curriculum"}),n.jsx("h1",{className:"text-4xl md:text-5xl font-extrabold text-primary-foreground mt-3 mb-6",children:"What We Offer"}),n.jsx("p",{className:"text-blue-ice/80 text-lg leading-relaxed",children:"We empower learners of all ages with the knowledge and tools to navigate the digital world safely and confidently. Through innovative research and collaborative partnerships, we are shaping the future of cyber-resilience education."})]})})]}),n.jsx("section",{className:"bg-blue-ice py-20 lg:py-28",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsx("div",{className:"space-y-16",children:XA.map((e,t)=>n.jsxs("div",{className:`grid lg:grid-cols-2 gap-12 items-center ${t%2===1?"lg:direction-rtl":""}`,children:[n.jsxs("div",{className:t%2===1?"lg:order-2":"",children:[n.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[n.jsx("div",{className:"w-14 h-14 rounded-xl bg-blue-mid/10 flex items-center justify-center",children:n.jsx(e.icon,{className:"w-7 h-7 text-blue-mid"})}),n.jsx("h2",{className:"text-2xl md:text-3xl font-extrabold text-foreground",children:e.title})]}),n.jsx("p",{className:"text-muted-foreground text-lg leading-relaxed mb-6",children:e.description}),n.jsx("ul",{className:"space-y-3 mb-8",children:e.details.map(r=>n.jsxs("li",{className:"flex items-center gap-3",children:[n.jsx(br,{className:"w-5 h-5 text-blue-mid flex-shrink-0"}),n.jsx("span",{className:"text-foreground",children:r})]},r))}),n.jsx(L,{variant:"hero",asChild:!0,children:n.jsxs("a",{href:e.href,className:"inline-flex items-center gap-2",children:["Explore ",e.title," ",n.jsx(le,{className:"w-4 h-4"})]})})]}),n.jsx("div",{className:`${t%2===1?"lg:order-1":""}`,children:e.image?n.jsx("div",{className:"rounded-2xl overflow-hidden shadow-lg",children:n.jsx("img",{src:e.image,alt:e.title,className:"w-full h-auto object-cover"})}):n.jsxs("div",{className:"bg-card rounded-2xl p-10 border border-border shadow-lg text-center",children:[n.jsx("span",{className:"text-7xl mb-6 block",children:e.emoji}),n.jsx("h3",{className:"text-xl font-bold text-foreground mb-2",children:e.title}),n.jsx("p",{className:"text-muted-foreground text-sm",children:"Interactive resources & assessments"})]})})]},e.title))})})}),n.jsx("section",{className:"bg-card py-20 lg:py-28",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsxs("div",{className:"text-center mb-14",children:[n.jsx("span",{className:"text-blue-mid font-bold text-sm uppercase tracking-widest",children:"Resources"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3",children:"Teaching Resources"}),n.jsx("p",{className:"mt-4 text-muted-foreground max-w-2xl mx-auto text-lg",children:"Everything you need to bring cyber resilience education into your classroom."})]}),n.jsx("div",{className:"grid sm:grid-cols-2 lg:grid-cols-3 gap-8 max-w-4xl mx-auto",children:ZA.map((e,t)=>n.jsxs("div",{className:"bg-blue-ice rounded-2xl p-8 text-center hover:shadow-lg transition-all hover:-translate-y-1 group",children:[n.jsx("div",{className:"w-14 h-14 roun
448ded-xl bg-blue-mid/10 flex items-center justify-center mx-auto mb-6 group-hover:bg-blue-mid/20 transition-colors",children:n.jsx(e.icon,{className:"w-7 h-7 text-blue-mid"})}),n.jsx("h3",{className:"text-lg font-bold text-foreground mb-3",children:e.title}),n.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:e.description})]},e.title))})]})}),n.jsx(ts,{}),n.jsx(ae,{})]}),tP="/assets/shared-learning-5-D7oxZQGM.jpg",rP="/assets/fll-gallery-3-zIKtvf2J.jpg",gx="/assets/project-aired-CWgrjcl8.jpg",oj="/assets/shared-learning-3-xo-e7jOo.jpg",nP="/assets/project-digi-stories-DRawSPxw.jpg",sP="/assets/fll-gallery-2-6EWx2m8G.jpg",aP="/assets/project-challenge-based-learning-new-BAHr2ReS.jpg",lj="/assets/project-girls-stem-Cw_jIdA2.jpeg",iP="/assets/fll-gallery-5-Bi1yuv6T.png",oP=1,lP="ff834b67-4b8b-457e-bd26-e01de42bb504",cP="006d986f-0954-4925-b449-48b863ced425",dP="/__l5e/assets-v1/ff834b67-4b8b-457e-bd26-e01de42bb504/xr-learn-hero.jpg",uP="a/v1/006d986f-0954-4925-b449-48b863ced425/ff834b67-4b8b-457e-bd26-e01de42bb504/xr-learn-hero.jpg",hP="xr-learn-hero.jpg",mP=295501,pP="image/jpeg",fP="2026-06-05T17:53:09Z",cj={version:oP,asset_id:lP,project_id:cP,url:dP,r2_key:uP,original_filename:hP,size:mP,content_type:pP,created_at:fP},gP=1,xP="98c087a8-e7e7-4df5-acac-f668da31d4f0",yP="006d986f-0954-4925-b449-48b863ced425",bP="/__l5e/assets-v1/98c087a8-e7e7-4df5-acac-f668da31d4f0/explore-ixr-poster-preview.jpg",vP="a/v1/006d986f-0954-4925-b449-48b863ced425/98c087a8-e7e7-4df5-acac-f668da31d4f0/explore-ixr-poster-preview.jpg",wP="explore-ixr-poster-preview.jpg",jP=550812,NP="image/jpeg",kP="2026-06-09T15:51:17Z",Xh={version:gP,asset_id:xP,project_id:yP,url:bP,r2_key:vP,original_filename:wP,size:jP,content_type:NP,created_at:kP},CP=1,SP="79693561-92a5-4135-b052-d06c70feee9a",EP="006d986f-0954-4925-b449-48b863ced425",_P="/__l5e/assets-v1/79693561-92a5-4135-b052-d06c70feee9a/secure-sld-image-1.webp",TP="a/v1/006d986f-0954-4925-b449-48b863ced425/79693561-92a5-4135-b052-d06c70feee9a/secure-sld-image-1.webp",AP="secure-sld-image-1.webp",PP=89842,RP="image/webp",DP="2026-08-10T10:56:02Z",qp={version:CP,asset_id:SP,project_id:EP,url:_P,r2_key:TP,original_filename:AP,size:PP,content_type:RP,created_at:DP},IP=[{title:"SECURE Shared Learning Day 2026",description:"Pupils and teachers from four participating primary schools gathered at UCD on 9 June 2026 to share their SECURE experiences, take part in hands-on cyber activities and celebrate their contribution to cybersecurity education for primary schools.",image:qp.url,href:"/secure-shared-learning-day-2026"},{title:"XR-LEARN 2035: Extended Reality for Learner Experience and Learning Design",description:"A transatlantic collaboration between UCD Centre for Cyber Resilience Education and Northeastern University College of Arts, Media and Design exploring how immersive technologies could shape the secondary school classroom of 2035. Funded under UCD's North America Engagement Strategy.",image:cj.url,href:"/xr-learn-2035"},{title:"Digi-PAIR-Edu: Digital Parental AI Readiness in Education",description:"SCoTENS-funded research project exploring how initial teacher education programmes can better prepare student teachers to support parental involvement in children's responsible and ethical use of Artificial Intelligence systems.",image:gx,href:"/digi-pair-edu"},{title:"EXPLORE-IXR: Transforming Higher Education Through Intelligent XR",description:"A two-year UCD CoSSL-funded initiative transforming teaching, learning and assessment in higher education through the integration of AI and Extended Reality (VR/AR/MR) across the Schools of Education, Archaeology, Engineering and History.",image:Xh.url,href:"/explore-ixr"},{title:"SECURE",description:"The SECURE programme provides structured cybersecurity education for primary schools across Ireland. Through engaging modules and hands-on activities, students develop essential digital safety skills and cyber hygiene practices from an early age.",image:iP,href:"/secure"},{title:"Cyber Citizens",description:"A national initiative for digital resilience and cyber literacy, empowering safer digital communities across Ireland through education, participation and public leadership. Cyber Citizens brings together young people, educators, communities and policymakers to co-create ethical approaches to cybersecurity and AI literacy.",image:ej,href:"/cyber-citizens"},{title:"Shared Island Civic Society Fund",description:"A Shared Island Forum for Nurturing Secure Climate Futures through Cybersecurity and Environmental Resilience Education. The Shared Island Civic Society Fund is an initiative by the Department of Foreign Affairs designed to foster practical North-South cooperation. Its goal is to encourage and support civic society and community organisations to strengthen existing partnerships or create new cross-border connections. This initiative aims to build connectivity, promote collaboration, and ensure an inclusive and diverse island of Ireland.",image:tP,href:"/shared-island"},{title:"Busting Gender Bias",description:"Our project aims to infuse science with the arts and humanities, utilising Philosophy for Children (P4C) and Storytelling to develop a growth mindset and critical thinking. By establishing an emotional connection with women leaders in computer science and cybersecurity, we will provide role models who ignite ambition in girls.",image:rP,href:"/busting-gender-bias"},{title:"AIRED – AI Readiness in Initial Teacher Education",description:"AI Readiness in Initial Teacher Education: The Student Teacher Journey. SCoTENS funded research being undertaken by Dr Rachel Farrell (UCD School of Education) and Dr Pamela Cowan (School of Social Sciences, Education and Social Work).",image:gx,href:"/aired"},{title:"Cyberwise Shared Learning Day",description:"The Cyberwise Shared Learning Day was a comprehensive educational event focused on the intersection of cybersecurity and Global Citizenship Education (GCE). Held in April 2024, the day featured a variety of engaging activities, including a Zero Days Capture the Flag challenge, where participants tackled real-world cyber and GCE issues.",image:oj,href:"/shared-learning-day"},{title:"Digi Stories",description:"For two years, we have had the pleasure of showcasing the work of our talented students who create digital stories that reflect their unique perspectives and creativity. The Digi Stories initiative has enabled teachers to try something new, something different and something unique in their classrooms, to tell a tale.",image:nP,href:"/digi-stories"},{title:"First Lego League & Zero Days Capture the Flag",description:"FIRST LEGO League is a global competition with three divisions for different age groups: Discover, Explore, and Challenge. In Ireland, the Challenge division is open to children in Sixth Class to Transition Year.",image:sP,href:"/first-lego-league"},{title:"Girls in STEM: Impacting Futures",description:"UCD School of Education and College of Science in association with Professional Development Service for Teachers (PDST) hosted the EDI in STEM Shared Learning Day with the theme of 'Look See What I Can Be' on Wednesday 1st June 2022 in the O'Brien Centre for Science, UCD.",image:lj}
448,{title:"Adventures in Cyberland Awards",description:"The Adventures in Cyberland Awards are funded by Our Public Service Innovation Fund as part of the Cyber Resilience Education in Primary and Post-Primary Schools initiative led by UCD School of Education. The competition was organised as part of EU cybersecurity month.",image:tj,href:"/adventures-in-cyberland-awards"},{title:"Challenge Based Learning Day",description:"The Challenge-Based Learning Day, held in October 2023, immersed students in the critical societal issue of cybersecurity and its connection to the Sustainable Development Goals (SDGs). This event aimed to deepen students' understanding of cybersecurity's impact on various aspects of life and its essential role in achieving sustainable development.",image:aP,href:"/challenge-based-learning-day"}],OP=()=>n.jsxs("div",{className:"min-h-screen",children:[n.jsx(Ue,{title:"Projects",description:"Explore Cyberwise projects including Cyber Citizens, Busting Gender Bias, Shared Island, Digi Stories, and Adventures in Cyberland Awards.",path:"/projects"}),n.jsx(se,{}),n.jsxs("section",{className:"bg-navy-deep py-20 lg:py-28 relative overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_center_right,_hsl(var(--navy-dark))_0%,_transparent_70%)] opacity-50"}),n.jsx("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:n.jsxs("div",{className:"text-center max-w-3xl mx-auto",children:[n.jsx("span",{className:"text-blue-sky font-bold text-sm uppercase tracking-widest",children:"Projects"}),n.jsx("h1",{className:"text-4xl md:text-5xl font-extrabold text-primary-foreground mt-3 mb-6",children:"Projects & Knowledge Sharing"}),n.jsx("p",{className:"text-blue-ice/80 text-lg leading-relaxed",children:"Explore some of our projects below."})]})})]}),n.jsx("section",{className:"bg-card py-20 lg:py-28",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-8",children:IP.map((e,t)=>n.jsxs("a",{href:e.href||void 0,className:`bg-card rounded-2xl overflow-hidden border border-border shadow-sm hover:shadow-xl transition-all hover:-translate-y-1 group block ${e.href?"cursor-pointer":"cursor-default"}`,onClick:e.href?void 0:r=>r.preventDefault(),children:[n.jsx("div",{className:"h-52 overflow-hidden",children:n.jsx("img",{src:e.image,alt:e.title,className:"w-full h-full object-cover object-top group-hover:scale-105 transition-transform duration-500",loading:"lazy"})}),n.jsxs("div",{className:"p-6",children:[n.jsx("h3",{className:"text-lg font-bold text-foreground mb-3",children:e.title}),n.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed mb-4",children:e.description}),e.href&&n.jsxs("span",{className:"inline-flex items-center gap-2 text-blue-mid font-bold text-sm group-hover:gap-3 transition-all",children:["Learn More ",n.jsx(le,{className:"w-4 h-4"})]})]})]},e.title))})})}),n.jsx(ts,{}),n.jsx(ae,{})]}),ku=[{category:"reports",title:"Developing a Junior Cycle Short Course on Cyber Security: Phase 1 Report October 2022",authors:"Farrell, R. & Maye, K.",year:"2022",source:"University College Dublin",url:"https://www.ncsc.gov.ie/pdfs/JC_ShortCourseCyberSecurity_Phase1.pdf"},{category:"reports",title:"Report on Readiness and Practice (RAP): Sounding out ITE Students' Readiness to Teach with Digital Technology",authors:"Cowan, P., Farrell, R., Roulston, S. & Brown, M.",year:"2020",source:"SCoTENS",url:"https://scotens.org/site/wp-content/uploads/RAP-Report.pdf"},{category:"articles",title:"Cultivating Positive Classroom Environments: Exploring the Efficacy of Immersive Technologies in Removing Barriers to Learning Among Primary School Students",authors:"Molloy, C., & Farrell, R.",year:"2024",source:"Computers in the Schools, 41(2), 164–192",url:"https://doi.org/10.1080/07380569.2024.2325441"},{category:"articles",title:"From digital exclusion to digital inclusion: Shaping the role of parental involvement in home-based digital learning – A narrative literature review",authors:"Qualter, D.",
448year:"2024",source:"Computers in the Schools, 41(2), 120-144",url:"https://doi.org/10.1080/07380569.2024.2322167"},{category:"articles",title:"Virtual and augmented reality and pre-service teachers: Makers from muggles?",authors:"Taggart, S., Roulston, S., Brown, M., Donlon, E., Cowan, P., Farrell, R., & Campbell, A.",year:"2023",source:"Australasian Journal of Educational Technology, 39(3), 1–16",url:"https://doi.org/10.14742/ajet.8610"},{category:"articles",title:"Using Virtual Reality to Support Retrieval Practice in Blended Learning: An Interdisciplinary Professional Development Collaboration between Novice and Expert Teachers",authors:"Cowan, P. & Farrell, R.",year:"2023",source:"Digital, 3(3):251-272",url:"https://doi.org/10.3390/digital3030016"},{category:"articles",title:"Virtual Reality as the Catalyst for a Novel Partnership Model in Initial Teacher Education: ITE Subject Methods Tutors' Perspectives on the Island of Ireland",authors:"Cowan, P. & Farrell, R.",year:"2023",source:"Education Sciences, 13(3):228",url:"https://doi.org/10.3390/educsci13030228"},{category:"articles",title:"Virtual Reality in Initial Teacher Education (VRITE): a reverse mentoring model of professional learning for learning leaders",authors:"Farrell, R., & Cowan, P., Brown, M., Roulston, S., Taggart, S., Donlon, E., & Baldwin, M.",year:"2022",source:"Irish Educational Studies, 41:1, 245-256",url:"https://doi.org/10.1080/03323315.2021.2021102"},{category:"chapters",title:"Tell a Tale: Introducing Digital Storytelling as an Alternative Means of Expression for Assessment in Initial Teacher Education",authors:"Farrell, R.",year:"2023",source:"In Padden, L., Elliott, D., Tongue, J., & Hyland, S. (eds, 416–429). Learning from UDL Leaders: UCD University for All Faculty Partner Case Studies. Dublin: UCD Access and Lifelong Learning",url:"https://www.ucd.ie/universityforall/t4media/UCD_Case_Studies_digital.pdf"},{category:"chapters",title:"The interplay between technology and teaching and learning: Meeting local needs and global challenges",authors:"Farrell, R., & Marshall, K.",year:"2020",source:"In Jillian Fox et al. (eds.), 41-52. Teacher Education in Globalised Times: Local Responses in Action. Springer, NZ",url:"https://doi.org/10.1007/978-981-15-4124-7_3"},{category:"genai",title:"Are You AI Ready? Investigating AI Tools in Higher Education via the Co-development of Interdisciplinary Student-Partnered AI Training Resources",authors:"Cyberwise Research Team",year:"2024",source:"Conference Paper",url:"https://ocs.editorial.upv.es/index.php/HEAD/HEAd24/paper/viewFile/17105/8736"},{category:"genai",title:"Student Resource: AI in Higher Education (Open Access)",authors:"UCD",year:"2024",url:"https://ucddublin.pressbooks.pub/StudentResourcev1_od/"},{category:"genai",title:"Faculty Resource: AI in Higher Education (Open Access)",authors:"UCD",year:"2024",url:"https://ucddublin.pressbooks.pub/facultyresource/"}],xx=[{key:"all",label:"All",icon:null},{key:"reports",label:"Reports",icon:n.jsx(vr,{className:"w-4 h-4"})},{key:"articles",label:"Journal Articles",icon:n.jsx(pe,{className:"w-4 h-4"})},{key:"chapters",label:"Book Chapters",icon:n.jsx(pe,{className:"w-4 h-4"})},{key:"genai",label:"Gen-AI Resources",icon:n.jsx(vr,{className:"w-4 h-4"})},{key:"podcasts",label:"Podcasts",icon:n.jsx(cw,{className:"w-4 h-4"})}],MP={reports:"bg-blue-mid/15 text-blue-mid border-blue-mid/30",articles:"bg-accent/15 text-accent-foreground border-accent/30",chapters:"bg-primary/10 text-primary border-primary/20",genai:"bg-destructive/10 text-destructive border-destructive/20",podcasts:"bg-muted text-muted-foreground border-border"},LP=()=>{const[e,t]=w.useState(""),[r,s]=w.useState("all"),[a,i]=w.useState(null),o=ku.filter(l=>{var u;const c=r==="all"||l.category===r,d=!e||l.title.toLowerCase().includes(e.toLowerCase())||l.authors.toLowerCase().includes(e.toLowerCase())||(((u=l.source)==null?void 0:u.toLowerCase().includes(e.toLowerCase()))??!1);return c&&d});return n.jsxs("div",{className:"min-h-screen",children:[n.jsx(Ue,{title:"Publications",description:"Research publications, academic papers, podcasts and resources from the UCD Centre for Cyber Resilience Education.",path:"/publications"}),n.jsx(se,{}),n.jsxs("section",{className:"page-hero-gradient py-20 lg:py-28 relative overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_center_right,_hsl(var(--navy-dark))_0%,_transparent_70%)] opacity-50"}),n.jsx("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:n.jsxs("div",{className:"text-center max-w-3xl mx-auto",children:[n.jsx("span",{className:"text-blue-sky font-bold text-sm uppercase tracking-widest",children:"Publications"}),n.jsx("h1",{className:"text-4xl md:text-5xl font-extrabold text-primary-foreground mt-3 mb-6",children:"Research & Resources"}),n.jsx("p",{className:"text-blue-ice/80 text-lg leading-relaxed",children:"Browse our reports, journal articles, book chapters, Gen-AI resources and podcasts."})]})})]}),n.jsx("section",{className:"bg-card py-16 lg:py-24",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsx("div",{className:"max-w-2xl mx-auto mb-10",children:n.jsxs("div",{className:"relative",children:[n.jsx(Us,{className:"absolute left-4 top-1/2 -translate-y-1/2 w-5 h-5 text-muted-foreground"}),n.jsx("input",{type:"text",placeholder:"Search by title, author or source...",value:e,onCh
448ange:l=>t(l.target.value),className:"w-full pl-12 pr-4 py-4 rounded-xl border border-border bg-background text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-primary/40 transition-shadow text-sm"})]})}),n.jsx("div",{className:"flex flex-wrap justify-center gap-2 mb-12",children:xx.map(l=>n.jsxs("button",{onClick:()=>s(l.key),className:`inline-flex items-center gap-2 px-4 py-2 rounded-full text-sm font-semibold border transition-all ${r===l.key?"bg-primary text-primary-foreground border-primary shadow-md":"bg-card text-muted-foreground border-border hover:border-primary/40 hover:text-foreground"}`,children:[l.icon,l.label]},l.key))}),n.jsxs("p",{className:"text-sm text-muted-foreground mb-6",children:["Showing ",o.length," of ",ku.length," publications"]}),n.jsxs("div",{className:"space-y-4 max-w-4xl mx-auto",children:[o.length===0&&n.jsx("div",{className:"text-center py-16",children:n.jsx("p",{className:"text-muted-foreground text-lg",children:"No publications match your search."})}),o.map((l,c)=>{var h;const d=ku.indexOf(l),u=a===d;return n.jsxs("div",{className:"bg-background border border-border rounded-xl hover:shadow-lg transition-shadow",children:[n.jsxs("button",{onClick:()=>i(u?null:d),className:"w-full text-left p-5 flex items-start gap-4",children:[n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsxs("div",{className:"flex items-center gap-3 mb-2 flex-wrap",children:[n.jsx("span",{className:`text-xs font-bold px-2.5 py-1 rounded-full border ${MP[l.category]||"bg-muted text-muted-foreground border-border"}`,children:(h=xx.find(m=>m.key===l.category))==null?void 0:h.label}),n.jsx("span",{className:"text-xs text-muted-foreground font-medium",children:l.year})]}),n.jsx("h3",{className:"text-foreground font-bold text-sm leading-snug",children:l.title}),n.jsx("p",{className:"text-muted-foreground text-xs mt-1",children:l.authors})]}),n.jsx(tw,{className:`w-5 h-5 text-muted-foreground flex-shrink-0 mt-1 transition-transform ${u?"rotate-180":""}`})]}),u&&n.jsx("div",{className:"overflow-hidden",children:n.jsxs("div",{className:"px-5 pb-5 pt-0 border-t border-border",children:[l.source&&n.jsxs("p",{className:"text-muted-foreground text-xs mt-3 mb-3",children:[n.jsx("span",{className:"font-semibold text-foreground",children:"Source:"})," ",l.source]}),l.url&&n.jsxs("a",{href:l.url,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 text-primary font-bold text-sm hover:underline mt-1",children:["View Publication ",n.jsx(me,{className:"w-4 h-4"})]})]})})]},d)})]}),(r==="all"||r==="podcasts")&&n.jsx("div",{className:"mt-16 max-w-4xl mx-auto",children:n.jsxs("div",{className:"rounded-2xl border-2 border-dashed border-border bg-muted/30 p-10 text-center",children:[n.jsx(cw,{className:"w-10 h-10 text-muted-foreground mx-auto mb-4"}),n.jsx("h3",{className:"text-xl font-bold text-foreground mb-2",children:"Podcasts Coming Soon"}),n.jsx("p",{className:"text-muted-foreground text-sm max-w-md mx-auto",children:"We're working on a series of podcasts exploring cybersecurity education, digital citizenship, and more. Stay tuned!"})]})})]})}),n.jsx(ts,{}),n.jsx(ae,{})]})};function $P(e,t,r,s){function a(i){return i instanceof r?i:new r(function(o){o(i)})}return new(r||(r=Promise))(function(i,o){function l(u){try{d(s.next(u))}catch(h){o(h)}}function c(u){try{d(s.throw(u))}catch(h){o(h)}}function d(u){u.done?i(u.value):a(u.value).then(l,c)}d((s=s.apply(e,t||[])).next())})}const UP=e=>e?(...t)=>e(...t):(...t)=>fetch(...t);class Kp extends Error{constructor(t,r="FunctionsError",s){super(t),this.name=r,this.context=s}toJSON(){return{name:this.name,message:this.message,context:this.context}}}class BP extends Kp{constructor(t){super("Failed to send a request to the Edge Function","FunctionsFetchError",t)}}class yx extends Kp{constructor(t){super("Relay Error invoking the Edge Function","FunctionsRelayError",t)}}class bx extends Kp{constructor(t){super("Edge Function returned a non-2xx status code","FunctionsHttpError",t)}}var Zh;(function(e){e.Any="any",e.ApNortheast1="ap-northeast-1",e.ApNortheast2="ap-northeast-2",e.ApSouth1="ap-south-1",e.ApSoutheast1="ap-southeast-1",e.ApSoutheast2="ap-southeast-2",e.CaCentral1="ca-central-1",e.EuCentral1="eu-central-1",e.EuWest1="eu-west-1",e.EuWest2="eu-west-2",e.EuWest3="eu-west-3",e.SaEast1="sa-east-1",e.UsEast1="us-east-1",e.UsWest1="us-west-1",e.UsWest2="us-west-2"})(Zh||(Zh={}));class FP{constructor(t,{headers:r={},customFetch:s,region:a=Zh.Any}={}){this.url=t,this.headers=r,this.region=a,this.fetch=UP(s)}setAuth(t){this.headers.Authorization=`Bearer ${t}`}invoke(t){return $P(this,arguments,void 0,function*(r,s={}){var a;let i,o;try{const{headers:l,method:c,body:d,signal:u,timeout:h}=s;let m={},{region:p}=s;p||(p=this.region);const y=new URL(`${this.url}/${r}`);p&&p!=="any"&&(m["x-region"]=p,y.searchParams.set("forceFunctionRegion",p));let f;d&&(l&&!Object.prototype.hasOwnProperty.call(l,"Content-Type")||!l)?typeof Blob<"u"&&d instanceof Blob||d instanceof ArrayBuffer?(m["Content-Type"]="application/octet-stream",f=d):typeof d=="str
448ing"?(m["Content-Type"]="text/plain",f=d):typeof FormData<"u"&&d instanceof FormData?f=d:(m["Content-Type"]="application/json",f=JSON.stringify(d)):d&&typeof d!="string"&&!(typeof Blob<"u"&&d instanceof Blob)&&!(d instanceof ArrayBuffer)&&!(typeof FormData<"u"&&d instanceof FormData)?f=JSON.stringify(d):f=d;let v=u;h&&(o=new AbortController,i=setTimeout(()=>o.abort(),h),u?(v=o.signal,u.addEventListener("abort",()=>o.abort())):v=o.signal);const g=yield this.fetch(y.toString(),{method:c||"POST",headers:Object.assign(Object.assign(Object.assign({},m),this.headers),l),body:f,signal:v}).catch(N=>{throw new BP(N)}),x=g.headers.get("x-relay-error");if(x&&x==="true")throw new yx(g);if(!g.ok)throw new bx(g);let b=((a=g.headers.get("Content-Type"))!==null&&a!==void 0?a:"text/plain").split(";")[0].trim(),j;return b==="application/json"?j=yield g.json():b==="application/octet-stream"||b==="application/pdf"?j=yield g.blob():b==="text/event-stream"?j=g:b==="multipart/form-data"?j=yield g.formData():j=yield g.text(),{data:j,error:null,response:g}}catch(l){return{data:null,error:l,response:l instanceof bx||l instanceof yx?l.context:void 0}}finally{i&&clearTimeout(i)}})}}const dj=3,vx=e=>Math.min(1e3*2**e,3e4),zP=[520,503],uj=["GET","HEAD","OPTIONS"];var WP=class extends Error{constructor(e){super(e.message),this.name="PostgrestError",this.details=e.details,this.hint=e.hint,this.co
448de=e.code}toJSON(){return{name:this.name,message:this.message,details:this.details,hint:this.hint,code:this.code}}};function wx(e,t){return new Promise(r=>{if(t!=null&&t.aborted){r();return}const s=setTimeout(()=>{t==null||t.removeEventListener("abort",a),r()},e);function a(){clearTimeout(s),r()}t==null||t.addEventListener("abort",a)})}function GP(e,t,r,s){return!(!s||r>=dj||!uj.includes(e)||!zP.includes(t))}var HP=class{constructor(e){var t,r,s,a,i;this.shouldThrowOnError=!1,this.retryEnabled=!0,this.method=e.method,this.url=e.url,this.headers=new Headers(e.headers),this.schema=e.schema,this.body=e.body,this.shouldThrowOnError=(t=e.shouldThrowOnError)!==null&&t!==void 0?t:!1,this.signal=e.signal,this.isMaybeSingle=(r=e.isMaybeSingle)!==null&&r!==void 0?r:!1,this.shouldStripNulls=(s=e.shouldStripNulls)!==null&&s!==void 0?s:!1,this.urlLengthLimit=(a=e.urlLengthLimit)!==null&&a!==void 0?a:8e3,this.retryEnabled=(i=e.retry)!==null&&i!==void 0?i:!0,e.fetch?this.fetch=e.fetch:this.fetch=fetch}throwOnError(){return this.shouldThrowOnError=!0,this}stripNulls(){if(this.headers.get("Accept")==="text/csv")throw new Error("stripNulls() cannot be used with csv()");return this.shouldStripNulls=!0,this}setHeader(e,t){return this.headers=new Headers(this.headers),this.headers.set(e,t),this}retry(e){return this.retryEnabled=e,this}then(e,t){var r=this;if(this.schema===void 0||(["GET","HEAD"].includes(this.method)?this.headers.set("Accept-Profile",this.schema):this.headers.set("Content-Profile",this.schema)),this.method!=="GET"&&this.method!=="HEAD"&&this.headers.set("Content-Type","application/json"),this.shouldStripNulls){const o=this.headers.get("Accept");o==="application/vnd.pgrst.object+json"?this.headers.set("Accept","application/vnd.pgrst.object+json;nulls=stripped"):(!o||o==="application/json")&&this.headers.set("Accept","application/vnd.pgrst.array+json;nulls=stripped")}const s=this.fetch;let i=(async()=>{let o=0;for(;;){const d=new Headers(r.headers);o>0&&d.set("X-Retry-Count",String(o));let u;try{u=await s(r.url.toString(),{method:r.method,headers:d,body:JSON.stringify(r.body,(h,m)=>typeof m=="bigint"?m.toString():m),signal:r.signal})}catch(h){if((h==null?void 0:h.name)==="AbortError"||(h==null?void 0:h.code)==="ABORT_ERR"||!uj.includes(r.method))throw h;if(r.retryEnabled&&o<dj){const m=vx(o);o++,await wx(m,r.signal);continue}throw h}if(GP(r.method,u.status,o,r.retryEnabled)){var l,c;const h=(l=(c=u.headers)===null||c===void 0?void 0:c.get("Retry-After"))!==null&&l!==void 0?l:null,m=h!==null?Math.max(0,parseInt(h,10)||0)*1e3:vx(o);await u.text(),o++,await wx(m,r.signal);continue}return await r.processResponse(u)}})();return this.shouldThrowOnError||(i=i.catch(o=>{var l;let c="",d="",u="";const h=o==null?void 0:o.cause;if(h){var m,p,y,f;const x=(m=h==null?void 0:h.message)!==null&&m!==void 0?m:"",b=(p=h==null?void 0:h.code)!==null&&p!==void 0?p:"";c=`${(y=o==null?void 0:o.name)!==null&&y!==void 0?y:"FetchError"}: ${o==null?void 0:o.message}`,c+=`
449
450Caused by: ${(f=h==null?void 0:h.name)!==null&&f!==void 0?f:"Error"}: ${x}`,b&&(c+=` (${b})`),h!=null&&h.stack&&(c+=`
451${h.stack}`)}else{var v;c=(v=o==null?void 0:o.stack)!==null&&v!==void 0?v:""}const g=this.url.toString().length;return(o==null?void 0:o.name)==="AbortError"||(o==null?void 0:o.code)==="ABORT_ERR"?(u="",d="Request was aborted (timeout or manual cancellation)",g>this.urlLengthLimit&&(d+=`. Note: Your request URL is ${g} characters, which may exceed server limits. If selecting many fields, consider using views. If filtering with large arrays (e.g., .in('id', [many IDs])), consider using an RPC function to pass values server-side.`)):((h==null?void 0:h.name)==="HeadersOverflowError"||(h==null?void 0:h.code)==="UND_ERR_HEADERS_OVERFLOW")&&(u="",d="HTTP headers exceeded server limits (typically 16KB)",g>this.urlLengthLimit&&(d+=`. Your request URL is ${g} characters. If selecting many fields, consider using views. If filtering with large arrays (e.g., .in('id', [200+ IDs])), consider using an RPC function instead.`)),{success:!1,error:{message:`${(l=o==null?void 0:o.name)!==null&&l!==void 0?l:"FetchError"}: ${o==null?void 0:o.message}`,details:c,hint:d,code:u},data:null,count:null,status:0,statusText:""}}
451)),i.then(e,t)}async processResponse(e){var t=this;let r=null,s=null,a=null,i=e.status,o=e.statusText;if(e.ok){var l,c;if(t.method!=="HEAD"){var d;const m=await e.text();m===""||(t.headers.get("Accept")==="text/csv"||t.headers.get("Accept")&&(!((d=t.headers.get("Accept"))===null||d===void 0)&&d.includes("application/vnd.pgrst.plan+text"))?s=m:s=JSON.parse(m))}const u=(l=t.headers.get("Prefer"))===null||l===void 0?void 0:l.match(/count=(exact|planned|estimated)/),h=(c=e.headers.get("content-range"))===null||c===void 0?void 0:c.split("/");u&&h&&h.length>1&&(a=parseInt(h[1])),t.isMaybeSingle&&Array.isArray(s)&&(s.length>1?(r={code:"PGRST116",details:`Results contain ${s.length} rows, application/vnd.pgrst.object+json requires 1 row`,hint:null,message:"JSON object requested, multiple (or no) rows returned"},s=null,a=null,i=406,o="Not Acceptable"):s.length===1?s=s[0]:s=null)}else{const u=await e.text();try{r=JSON.parse(u),Array.isArray(r)&&e.status===404&&(s=[],r=null,i=200,o="OK")}catch{e.status===404&&u===""?(i=204,o="No Content"):r={message:u}}if(r&&t.shouldThrowOnError)throw new WP(r)}return{success:r===null,error:r,data:s,count:a,status:i,statusText:o}}returns(){return this}overrideTypes(){return this}},VP=class extends HP{select(e){let t=!1;const r=(e??"*").split("").map(s=>/\s/.test(s)&&!t?"":(s==='"'&&(t=!t),s)).join("");return this.url.searchParams.set("select",r),this.headers.append("Prefer","return=representation"),this}order(e,{ascending:t=!0,nullsFirst:r,foreignTable:s,referencedTable:a=s}={}){const i=a?`${a}.order`:"order",o=this.url.searchParams.get(i);return this.url.searchParams.set(i,`${o?`${o},`:""}${e}.${t?"asc":"desc"}${r===void 0?"":r?".nullsfirst":".nullslast"}`),this}limit(e,{foreignTable:t,referencedTable:r=t}={}){const s=typeof r>"u"?"limit":`${r}.limit`;return this.url.searchParams.set(s,`${e}`),this}range(e,t,{foreignTable:r,referencedTable:s=r}={}){const a=typeof s>"u"?"offset":`${s}.offset`,i=typeof s>"u"?"limit":`${s}.limit`;return this.url.searchParams.set(a,`${e}`),this.url.searchParams.set(i,`${t-e+1}`),this}abortSignal(e){return this.signal=e,this}single(){return this.headers.set("Accept","application/vnd.pgrst.object+json"),this}maybeSingle(){return this.isMaybeSingle=!0,this}csv(){return this.headers.set("Accept","text/csv"),this}geojson(){return this.headers.set("Accept","application/geo+json"),this}explain({analyze:e=!1,verbose:t=!1,settings:r=!1,buffers:s=!1,wal:a=!1,format:i="text"}={}){var o;const l=[e?"analyze":null,t?"verbose":null,r?"settings":null,s?"buffers":null,a?"wal":null].filter(Boolean).join("|"),c=(o=this.headers.get("Accept"))!==null&&o!==void 0?o:"application/json";return this.headers.set("Accept",`application/vnd.pgrst.plan+${i}; for="${c}"; options=${l};`),i==="json"?this:this}rollback(){return this.headers.append("Prefer","tx=rollback"),this}returns(){return this}maxAffected(e){return this.headers.append("Prefer","handling=strict"),this.headers.append("Prefer",`max-affected=${e}`),this}};const jx=new RegExp("[,()]");var ta=class extends VP{eq(e,t){return this.url.searchParams.append(e,`eq.${t}`),this}neq(e,t){return this.url.searchParams.append(e,`neq.${t}`),this}gt(e,t){return this.url.searchParams.append(e,`gt.${t}`),this}gte(e,t){return this.url.searchParams.append(e,`gte.${t}`),this}lt(e,t){return this.url.searchParams.append(e,`lt.${t}`),this}lte(e,t){return this.url.searchParams.append(e,`lte.${t}`),this}like(e,t){return this.url.searchParams.append(e,`like.${t}`),this}likeAllOf(e,t){return this.url.searchParams.append(e,`like(all).{${t.join(",")}}`),this}likeAnyOf(e,t){return this.url.searchParams.append(e,`like(any).{${t.join(",")}}`),this}ilike(e,t){return this.url.searchParams.append(e,`ilike.${t}`),this}ilikeAllOf(e,t){return this.url.searchParams.append(e,`ilike(all).{${t.join(",")}}`),this}ilikeAnyOf(e,t){return this.url.searchParams.append(e,`ilike(any).{${t.join(",")}}`),this}regexMatch(e,t){return this.url.searchParams.append(e,`match.${t}`),this}regexIMatch(e,t){return this.url.searchParams.append(e,`imatch.${t}`),this}is(e,t){return this.url.searchParams.append(e,`is.${t}`),this}isDistinct(e,t){return this.url.searchParams.append(e,`isdistinct.${t}`),this}in(e,t){const r=Array.from(new Set(t)).map(s=>typeof s=="string"&&jx.test(s)?`"${s}"`:`${s}`).join(",");return this.url.searchParams.append(e,`in.(${r})`),this}notIn(e,t){const r=Array.from(new Set(t)).map(s=>typeof s=="string"&&jx.test(s)?`"${s}"`:`${s}`).join(",");return this.url.searchParams.append(e,`not.in.(${r})`),this}contains(e,t){return typeof t=="string"?this.url.searchParams.append(e,`cs.${t}`):Array.isArray(t)?this.url.searchParams.append(e,`cs.{${t.join(",")}}`):this.url.searchParams.append(e,`cs.${JSON.stringify(t)}`),this}containedBy(e,t){return typeof t=="string"?this.url.searchParams.append(e,`cd.${t}`):Array.isArray(t)?this.url.searchParams.append(e,`cd.{${t.join(",")}}`):this.url.searchParams.append(e,`cd.${JSON.stringify(t)}`),this}rangeGt(e,t){return this.url.searchParams.append(e,`sr.${t}`),this}rangeGte(e,t){return this.url.searchParams.append(e,`nxl.${t}`),this}rangeLt(e,t){return this.url.searchParams.append(e,`sl.${t}`),this}rangeLte(e,t){return this.url.searchParams.append(e,`nxr.${t}`),this}rangeAdjacent(e,t){return this.url.searchParams.append(e,`adj.${t}`),this}overlaps(e,t){return typeof t=="string"?this.url.searchParams.append(e,`ov.${t}`):this.url.searchParams.append(e,`ov.{${t.join(",")}}`),this}textSearch(e,t,{config:r,type:s}={}){let a="";s==="plain"?a="pl":s==="phrase"?a="ph":s==="websearch"&&(a="w");const i=r===void 0?"":`(${r})`;return this.url.searchParams.append(e,`${a}fts${i}.${t}`),this}match(e){return Object.entries(e).filter(([t,r])=>
451r!==void 0).forEach(([t,r])=>{this.url.searchParams.append(t,`eq.${r}`)}),this}not(e,t,r){return this.url.searchParams.append(e,`not.${t}.${r}`),this}or(e,{foreignTable:t,referencedTable:r=t}={}){const s=r?`${r}.or`:"or";return this.url.searchParams.append(s,`(${e})`),this}filter(e,t,r){return this.url.searchParams.append(e,`${t}.${r}`),this}},qP=class{constructor(e,{headers:t={},schema:r,fetch:s,urlLengthLimit:a=8e3,retry:i}){this.url=e,this.headers=new Headers(t),this.schema=r,this.fetch=s,this.urlLengthLimit=a,this.retry=i}cloneRequestState(){return{url:new URL(this.url.toString()),headers:new Headers(this.headers)}}select(e,t){const{head:r=!1,count:s}=t??{},a=r?"HEAD":"GET";let i=!1;const o=(e??"*").split("").map(d=>/\s/.test(d)&&!i?"":(d==='"'&&(i=!i),d)).join(""),{url:l,headers:c}=this.cloneRequestState();return l.searchParams.set("select",o),s&&c.append("Prefer",`count=${s}`),new ta({method:a,url:l,headers:c,schema:this.schema,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}insert(e,{count:t,defaultToNull:r=!0}={}){var s;const a="POST",{url:i,headers:o}=this.cloneRequestState();if(t&&o.append("Prefer",`count=${t}`),r||o.append("Prefer","missing=default"),Array.isArray(e)){const l=e.reduce((c,d)=>c.concat(Object.keys(d)),[]);if(l.length>0){const c=[...new Set(l)].map(d=>`"${d}"`);i.searchParams.set("columns",c.join(","))}}return new ta({method:a,url:i,headers:o,schema:this.schema,body:e,fetch:(s=this.fetch)!==null&&s!==void 0?s:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}upsert(e,{onConflict:t,ignoreDuplicates:r=!1,count:s,defaultToNull:a=!0}={}){var i;const o="POST",{url:l,headers:c}=this.cloneRequestState();if(c.append("Prefer",`resolution=${r?"ignore":"merge"}-duplicates`),t!==void 0&&l.searchParams.set("on_conflict",t),s&&c.append("Prefer",`count=${s}`),a||c.append("Prefer","missing=default"),Array.isArray(e)){const d=e.reduce((u,h)=>u.concat(Object.keys(h)),[]);if(d.length>0){const u=[...new Set(d)].map(h=>`"${h}"`);l.searchParams.set("columns",u.join(","))}}return new ta({method:o,url:l,headers:c,schema:this.schema,body:e,fetch:(i=this.fetch)!==null&&i!==void 0?i:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}update(e,{count:t}={}){var r;const s="PATCH",{url:a,headers:i}=this.cloneRequestState();return t&&i.append("Prefer",`count=${t}`),new ta({method:s,url:a,headers:i,schema:this.schema,body:e,fetch:(r=this.fetch)!==null&&r!==void 0?r:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}delete({count:e}={}){var t;const r="DELETE",{url:s,headers:a}=this.cloneRequestState();return e&&a.append("Prefer",`count=${e}`),new ta({method:r,url:s,headers:a,schema:this.schema,fetch:(t=this.fetch)!==null&&t!==void 0?t:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}};function bo(e){"@babel/helpers - typeof";return bo=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},bo(e)}function KP(e,t){if(bo(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var s=r.call(e,t||"default");if(bo(s)!="object")return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function YP(e){var t=KP(e,"string");return bo(t)=="symbol"?t:t+""}function JP(e,t,r){return(t=YP(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Nx(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,s)}return r}function Cl(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Nx(Object(r),!0).forEach(function(s){JP(e,s,r[s])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Nx(Object(r)).forEach(function(s){Object.defineProperty(e,s,Object.getOwnPropertyDescriptor(r,s))})}return e}var QP=class hj{constructor(t,{headers:r={},schema:s,fetch:a,timeout:i,urlLengthLimit:o=8e3,retry:l}={}){this.url=t,this.headers=new Headers(r),this.schemaName=s,this.urlLengthLimit=o;const c=a??globalThis.fetch;i!==void 0&&i>0?this.fetch=(d,u)=>{const h=new AbortController,m=setTimeout(()=>h.abort(),i),p=u==null?void 0:u.signal;if(p){if(p.aborted)return clearTimeout(m),c(d,u);const y=()=>{clearTimeout(m),h.abort()};return p.addEventListener("abort",y,{once:!0}),c(d,Cl(Cl({},u),{},{signal:h.signal})).finally(()=>{clearTimeout(m),p.removeEventListener("abort",y)})}return c(d,Cl(Cl({},u),{},{signal:h.signal})).finally(()=>clearTimeout(m))}:this.fetch=c,this.retry=l}from(t){if(!t||typeof t!="string"||t.trim()==="")throw new Error("Invalid relation name: relation must be a non-empty string.");return new qP(new URL(`${this.url}/${t}`),{headers:new Headers(this.headers),schema:this.schemaName,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}schema(t){return new hj(this.url,{headers:this.headers,schema:t,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}rpc(t,r={},{head:s=!1,get:a=!1,count:i}={}){var o;let l;const c=new URL(`${this.url}/rpc/${t}`);let d;const u=p=>p!==null&&typeof p=="object"&&(!Array.isArray(p)||p.some(u)),h=s&&Object.values(r).some(u);h?(l="POST",d=r):s||a?(l=s?"HEAD":"GET",Object.entries(r).filter(([p,y])=>y!==void 0).map(([p,y])=>[p,Array.isArray(y)?`{${y.join(",")}}`:`${y}
451`]).forEach(([p,y])=>{c.searchParams.append(p,y)})):(l="POST",d=r);const m=new Headers(this.headers);return h?m.set("Prefer",i?`count=${i},return=minimal`:"return=minimal"):i&&m.set("Prefer",`count=${i}`),new ta({method:l,url:c,headers:m,schema:this.schemaName,body:d,fetch:(o=this.fetch)!==null&&o!==void 0?o:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}};class XP{constructor(){}static detectEnvironment(){var t;if(typeof WebSocket<"u")return{type:"native",constructor:WebSocket};if(typeof globalThis<"u"&&typeof globalThis.WebSocket<"u")return{type:"native",constructor:globalThis.WebSocket};if(typeof global<"u"&&typeof global.WebSocket<"u")return{type:"native",constructor:global.WebSocket};if(typeof globalThis<"u"&&typeof globalThis.WebSocketPair<"u"&&typeof globalThis.WebSocket>"u")return{type:"cloudflare",error:"Cloudflare Workers detected. WebSocket clients are not supported in Cloudflare Workers.",workaround:"Use Cloudflare Workers WebSocket API for server-side WebSocket handling, or deploy to a different runtime."};if(typeof globalThis<"u"&&globalThis.EdgeRuntime||typeof navigator<"u"&&(!((t=navigator.userAgent)===null||t===void 0)&&t.includes("Vercel-Edge")))return{type:"unsupported",error:"Edge runtime detected (Vercel Edge/Netlify Edge). WebSockets are not supported in edge functions.",workaround:"Use serverless functions or a different deployment target for WebSocket functionality."};const r=globalThis.process;if(r){const s=r.versions;if(s&&s.node){const a=s.node,i=parseInt(a.replace(/^v/,"").split(".")[0]);return i>=22?typeof globalThis.WebSocket<"u"?{type:"native",constructor:globalThis.WebSocket}:{type:"unsupported",error:`Node.js ${i} detected but native WebSocket not found.`,workaround:"Provide a WebSocket implementation via the transport option."}:{type:"unsupported",error:`Node.js ${i} detected without native WebSocket support.`,workaround:`For Node.js < 22, install "ws" package and provide it via the transport option:
452import ws from "ws"
453new RealtimeClient(url, { transport: ws })`}}}return{type:"unsupported",error:"Unknown JavaScript runtime without WebSocket support.",workaround:"Ensure you're running in a supported environment (browser, Node.js, Deno) or provide a custom WebSocket implementation."}}static getWebSocketConstructor(){const t=this.detectEnvironment();if(t.constructor)return t.constructor;let r=t.error||"WebSocket not supported in this environment.";throw t.workaround&&(r+=`
454
455Suggested solution: ${t.workaround}`),new Error(r)}static isWebSocketSupported(){try{const t=this.detectEnvironment();return t.type==="native"||t.type==="ws"}catch{return!1}}}const ZP="2.103.2",e5=`realtime-js/${ZP}`,t5="1.0.0",mj="2.0.0",r5=mj,n5=1e4,s5=100,_n={closed:"closed",errored:"errored",joined:"joined",joining:"joining",leaving:"leaving"},pj={close:"phx_close",error:"phx_error",join:"phx_join",reply:"phx_reply",leave:"phx_leave",access_token:"access_token"},em={connecting:"connecting",open:"open",closing:"closing",closed:"closed"};class a5{constructor(t){this.HEADER_LENGTH=1,this.USER_BROADCAST_PUSH_META_LENGTH=6,this.KINDS={userBroadcastPush:3,userBroadcast:4},this.BINARY_ENCODING=0,this.JSON_ENCODING=1,this.BROADCAST_EVENT="broadcast",this.allowedMetadataKeys=[],this.allowedMetadataKeys=t??[]}encode(t,r){if(t.event===this.BROADCAST_EVENT&&!(t.payload instanceof ArrayBuffer)&&typeof t.payload.event=="string")return r(this._binaryEncodeUserBroadcastPush(t));let s=[t.join_ref,t.ref,t.topic,t.event,t.payload];return r(JSON.stringify(s))}_binaryEncodeUserBroadcastPush(t){var r;return this._isArrayBuffer((r=t.payload)===null||r===void 0?void 0:r.payload)?this._encodeBinaryUserBroadcastPush(t):this._encodeJsonUserBroadcastPush(t)}_encodeBinaryUserBroadcastPush(t){var r,s;const a=(s=(r=t.payload)===null||r===void 0?void 0:r.payload)!==null&&s!==void 0?s:new ArrayBuffer(0);return this._encodeUserBroadcastPush(t,this.BINARY_ENCODING,a)}_encodeJsonUserBroadcastPush(t){var r,s;const a=(s=(r=t.payload)===null||r===void 0?void 0:r.payload)!==null&&s!==void 0?s:{},o=new TextEncoder().encode(JSON.stringify(a)).buffer;return this._encodeUserBroadcastPush(t,this.JSON_ENCODING,o)}_encodeUserBroadcastPush(t,r,s){var a,i;const o=t.topic,l=(a=t.ref)!==null&&a!==void 0?a:"",c=(i=t.join_ref)!==null&&i!==void 0?i:"",d=t.payload.event,u=this.allowedMetadataKeys?this._pick(t.payload,this.allowedMetadataKeys):{},h=Object.keys(u).length===0?"":JSON.stringify(u);if(c.length>255)throw new Error(`joinRef length ${c.length} exceeds maximum of 255`);if(l.length>255)throw new Error(`ref length ${l.length} exceeds maximum of 255`);if(o.length>255)throw new Error(`topic length ${o.length} exceeds maximum of 255`);if(d.length>255)throw new Error(`userEvent length ${d.length} exceeds maximum of 255`);if(h.length>255)throw new Error(`metadata length ${h.length} exceeds maximum of 255`);const m=this.USER_BROADCAST_PUSH_META_LENGTH+c.length+l.length+o.length+d.length+h.length,p=new ArrayBuffer(this.HEADER_LENGTH+m);let y=new DataView(p),f=0;y.setUint8(f++,this.KINDS.userBroadcastPush),y.setUint8(f++,c.length),y.setUint8(f++,l.length),y.setUint8(f++,o.length),y.setUint8(f++,d.length),y.setUint8(f++,h.length),y.setUint8(f++,r),Array.from(c,g=>y.setUint8(f++,g.charCodeAt(0))),Array.from(l,g=>y.setUint8(f++,g.charCodeAt(0))),Array.from(o,g=>y.setUint8(f++,g.charCodeAt(0))),Array.from(d,g=>y.setUint8(f++,g.charCodeAt(0))),Array.from(h,g=>y.setUint8(f++,g.charCodeAt(0)));var v=new Uint8Array(p.byteLength+s.byteLength);return v.set(new Uint8Array(p),0),v.set(new Uint8Array(s),p.byteLength),v.buffer}decode(t,r){if(this._isArrayBuffer(t)){let s=this._binaryDecode(t);return r(s)}if(typeof t=="string"){const s=JSON.parse(t),[a,i,o,l,c]=s;return r({join_ref:a,ref:i,topic:o,event:l,payload:c})}return r({})}_binaryDecode(t){const r=new DataView(t),s=r.getUint8(0),a=new TextDecoder;switch(s){case this.KINDS.userBroadcast:return this._decodeUserBroadcast(t,r,a)}}_decodeUserBroadcast(t,r,s){const a=r.getUint8(1),i=r.getUint8(2),o=r.getUint8(3),l=r.getUint8(4);let c=this.HEADER_LENGTH+4;const d=s.decode(t.slice(c,c+a));c=c+a;const u=s.decode(t.slice(c,c+i));c=c+i;
455const h=s.decode(t.slice(c,c+o));c=c+o;const m=t.slice(c,t.byteLength),p=l===this.JSON_ENCODING?JSON.parse(s.decode(m)):m,y={type:this.BROADCAST_EVENT,event:u,payload:p};return o>0&&(y.meta=JSON.parse(h)),{join_ref:null,ref:null,topic:d,event:this.BROADCAST_EVENT,payload:y}}_isArrayBuffer(t){var r;return t instanceof ArrayBuffer||((r=t==null?void 0:t.constructor)===null||r===void 0?void 0:r.name)==="ArrayBuffer"}_pick(t,r){return!t||typeof t!="object"?{}:Object.fromEntries(Object.entries(t).filter(([s])=>r.includes(s)))}}var ve;(function(e){e.abstime="abstime",e.bool="bool",e.date="date",e.daterange="daterange",e.float4="float4",e.float8="float8",e.int2="int2",e.int4="int4",e.int4range="int4range",e.int8="int8",e.int8range="int8range",e.json="json",e.jsonb="jsonb",e.money="money",e.numeric="numeric",e.oid="oid",e.reltime="reltime",e.text="text",e.time="time",e.timestamp="timestamp",e.timestamptz="timestamptz",e.timetz="timetz",e.tsrange="tsrange",e.tstzrange="tstzrange"})(ve||(ve={}));const kx=(e,t,r={})=>{var s;const a=(s=r.skipTypes)!==null&&s!==void 0?s:[];return t?Object.keys(t).reduce((i,o)=>(i[o]=i5(o,e,t,a),i),{}):{}},i5=(e,t,r,s)=>{const a=t.find(l=>
vendor: 5,523 bytes, line 455
455l.name===e),i=a==null?void 0:a.type,o=r[e];return i&&!s.includes(i)?fj(i,o):tm(o)},fj=(e,t)=>{if(e.charAt(0)==="_"){const r=e.slice(1,e.length);return d5(t,r)}switch(e){case ve.bool:return o5(t);case ve.float4:case ve.float8:case ve.int2:case ve.int4:case ve.int8:case ve.numeric:case ve.oid:return l5(t);case ve.json:case ve.jsonb:return c5(t);case ve.timestamp:return u5(t);case ve.abstime:case ve.date:case ve.daterange:case ve.int4range:case ve.int8range:case ve.money:case ve.reltime:case ve.text:case ve.time:case ve.timestamptz:case ve.timetz:case ve.tsrange:case ve.tstzrange:return tm(t);default:return tm(t)}},tm=e=>e,o5=e=>{switch(e){case"t":return!0;case"f":return!1;default:return e}},l5=e=>{if(typeof e=="string"){const t=parseFloat(e);if(!Number.isNaN(t))return t}return e},c5=e=>{if(typeof e=="string")try{return JSON.parse(e)}catch{return e}return e},d5=(e,t)=>{if(typeof e!="string")return e;const r=e.length-1,s=e[r];if(e[0]==="{"&&s==="}"){let i;const o=e.slice(1,r);try{i=JSON.parse("["+o+"]")}catch{i=o?o.split(","):[]}return i.map(l=>fj(t,l))}return e},u5=e=>typeof e=="string"?e.replace(" ","T"):e,gj=e=>{const t=new URL(e);return t.protocol=t.protocol.replace(/^ws/i,"http"),t.pathname=t.pathname.replace(/\/+$/,"").replace(/\/socket\/websocket$/i,"").replace(/\/socket$/i,"").replace(/\/websocket$/i,""),t.pathname===""||t.pathname==="/"?t.pathname="/api/broadcast":t.pathname=t.pathname+"/api/broadcast",t.href};var zi=e=>typeof e=="function"?e:function(){return e},h5=typeof self<"u"?self:null,ra=typeof window<"u"?window:null,Ar=h5||ra||globalThis,m5="2.0.0",p5=1e4,f5=1e3,Ir={connecting:0,open:1,closing:2,closed:3},wt={closed:"closed",errored:"errored",joined:"joined",joining:"joining",leaving:"leaving"},Yr={close:"phx_close",error:"phx_error",join:"phx_join",reply:"phx_reply",leave:"phx_leave"},rm={longpoll:"longpoll",websocket:"websocket"},g5={complete:4},nm="base64url.bearer.phx.",Sl=class{constructor(e,t,r,s){this.channel=e,this.event=t,this.payload=r||function(){return{}},this.receivedResp=null,this.timeout=s,this.timeoutTimer=null,this.recHooks=[],this.sent=!1,this.ref=void 0}resend(e){this.timeout=e,this.reset(),this.send()}send(){this.hasReceived("timeout")||(this.startTimeout(),this.sent=!0,this.channel.socket.push({topic:this.channel.topic,event:this.event,payload:this.payload(),ref:this.ref,join_ref:this.channel.joinRef()}))}receive(e,t){return this.hasReceived(e)&&t(this.receivedResp.response),this.recHooks.push({status:e,callback:t}),this}reset(){this.cancelRefEvent(),this.ref=null,this.refEvent=null,this.receivedResp=null,this.sent=!1}destroy(){this.cancelRefEvent(),this.cancelTimeout()}matchReceive({status:e,response:t,_ref:r}){this.recHooks.filter(s=>s.status===e).forEach(s=>s.callback(t))}cancelRefEvent(){this.refEvent&&this.channel.off(this.refEvent)}cancelTimeout(){clearTimeout(this.timeoutTimer),this.timeoutTimer=null}startTimeout(){this.timeoutTimer&&this.cancelTimeout(),this.ref=this.channel.socket.makeRef(),this.refEvent=this.channel.replyEventName(this.ref),this.channel.on(this.refEvent,e=>{this.cancelRefEvent(),this.cancelTimeout(),this.receivedResp=e,this.matchReceive(e)}),this.timeoutTimer=setTimeout(()=>{this.trigger("timeout",{})},this.timeout)}hasReceived(e){return this.receivedResp&&this.receivedResp.status===e}trigger(e,t){this.channel.trigger(this.refEvent,{status:e,response:t})}},xj=class{constructor(e,t){this.callback=e,this.timerCalc=t,this.timer=void 0,this.tries=0}reset(){this.tries=0,clearTimeout(this.timer)}scheduleTimeout(){clearTimeout(this.timer),this.timer=setTimeout(()=>{this.tries=this.tries+1,this.callback()},this.timerCalc(this.tries+1))}},x5=class{constructor(e,t,r){this.state=wt.closed,this.topic=e,this.params=zi(t||{}),this.socket=r,this.bindings=[],this.bindingRef=0,this.timeout=this.socket.timeout,this.joinedOnce=!1,this.joinPush=new Sl(this,Yr.join,this.params,this.timeout),this.pushBuffer=[],this.stateChangeRefs=[],this.rejoinTimer=new xj(()=>{this.socket.isConnected()&&this.rejoin()},this.socket.rejoinAfterMs),this.stateChangeRefs.push(this.socket.onError(()=>this.rejoinTimer.reset())),this.stateChangeRefs.push(this.socket.onOpen(()=>{this.rejoinTimer.reset(),this.isErrored()&&this.rejoin()})),this.joinPush.receive("ok",()=>{this.state=wt.joined,this.rejoinTimer.reset(),this.pushBuffer.forEach(s=>s.send()),this.pushBuffer=[]}),this.joinPush.receive("error",s=>{this.state=wt.errored,this.socket.hasLogger()&&this.socket.log("channel",`error ${this.topic}`,s),this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.onClose(()=>{this.rejoinTimer.reset(),this.socket.hasLogger()&&this.socket.log("channel",`close ${this.topic}`),this.state=wt.closed,this.socket.remove(this)}),this.onError(s=>{this.socket.hasLogger()&&this.socket.log("channel",`error ${this.topic}`,s),this.isJoining()&&this.joinPush.reset(),this.state=wt.errored,this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.joinPush.receive("timeout",()=>{this.socket.hasLogger()&&this.socket.log("channel",`timeout ${this.topic}`,this.joinPush.timeout),new Sl(this,Yr.leave,zi({}),this.timeout).send(),this.state=wt.errored,this.joinPush.reset(),this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.on(Yr.reply,(s,a)=>{this.trigger(this.replyEventName(a),s)})}join(e=this.timeout){if(this.joinedOnce)throw new Error("tried to join multiple times. 'join' can only be called a single time per channel instance");return this.timeout=e,this.joinedOnce=!0,this.rejoin(),this.joinPush}
vendor: 5,263 bytes, line 455
455teardown(){this.pushBuffer.forEach(e=>e.destroy()),this.pushBuffer=[],this.rejoinTimer.reset(),this.joinPush.destroy(),this.state=wt.closed,this.bindings=[]}onClose(e){this.on(Yr.close,e)}onError(e){return this.on(Yr.error,t=>e(t))}on(e,t){let r=this.bindingRef++;return this.bindings.push({event:e,ref:r,callback:t}),r}off(e,t){this.bindings=this.bindings.filter(r=>!(r.event===e&&(typeof t>"u"||t===r.ref)))}canPush(){return this.socket.isConnected()&&this.isJoined()}push(e,t,r=this.timeout){if(t=t||{},!this.joinedOnce)throw new Error(`tried to push '${e}' to '${this.topic}' before joining. Use channel.join() before pushing events`);let s=new Sl(this,e,function(){return t},r);return this.canPush()?s.send():(s.startTimeout(),this.pushBuffer.push(s)),s}leave(e=this.timeout){this.rejoinTimer.reset(),this.joinPush.cancelTimeout(),this.state=wt.leaving;let t=()=>{this.socket.hasLogger()&&this.socket.log("channel",`leave ${this.topic}`),this.trigger(Yr.close,"leave")},r=new Sl(this,Yr.leave,zi({}),e);return r.receive("ok",()=>t()).receive("timeout",()=>t()),r.send(),this.canPush()||r.trigger("ok",{}),r}onMessage(e,t,r){return t}filterBindings(e,t,r){return!0}isMember(e,t,r,s){return this.topic!==e?!1:s&&s!==this.joinRef()?(this.socket.hasLogger()&&this.socket.log("channel","dropping outdated message",{topic:e,event:t,payload:r,joinRef:s}),!1):!0}joinRef(){return this.joinPush.ref}rejoin(e=this.timeout){this.isLeaving()||(this.socket.leaveOpenTopic(this.topic),this.state=wt.joining,this.joinPush.resend(e))}trigger(e,t,r,s){let a=this.onMessage(e,t,r,s);if(t&&!a)throw new Error("channel onMessage callbacks must return the payload, modified or unmodified");let i=this.bindings.filter(o=>o.event===e&&this.filterBindings(o,t,r));for(let o=0;o<i.length;o++)i[o].callback(a,r,s||this.joinRef())}replyEventName(e){return`chan_reply_${e}`}isClosed(){return this.state===wt.closed}isErrored(){return this.state===wt.errored}isJoined(){return this.state===wt.joined}isJoining(){return this.state===wt.joining}isLeaving(){return this.state===wt.leaving}},Oc=class{static request(e,t,r,s,a,i,o){if(Ar.XDomainRequest){let l=new Ar.XDomainRequest;return this.xdomainRequest(l,e,t,s,a,i,o)}else if(Ar.XMLHttpRequest){let l=new Ar.XMLHttpRequest;return this.xhrRequest(l,e,t,r,s,a,i,o)}else{if(Ar.fetch&&Ar.AbortController)return this.fetchRequest(e,t,r,s,a,i,o);throw new Error("No suitable XMLHttpRequest implementation found")}}static fetchRequest(e,t,r,s,a,i,o){let l={method:e,headers:r,body:s},c=null;return a&&(c=new AbortController,setTimeout(()=>c.abort(),a),l.signal=c.signal),Ar.fetch(t,l).then(d=>d.text()).then(d=>this.parseJSON(d)).then(d=>o&&o(d)).catch(d=>{d.name==="AbortError"&&i?i():o&&o(null)}),c}static xdomainRequest(e,t,r,s,a,i,o){return e.timeout=a,e.open(t,r),e.onload=()=>{let l=this.parseJSON(e.responseText);o&&o(l)},i&&(e.ontimeout=i),e.onprogress=()=>{},e.send(s),e}static xhrRequest(e,t,r,s,a,i,o,l){e.open(t,r,!0),e.timeout=i;for(let[c,d]of Object.entries(s))e.setRequestHeader(c,d);return e.onerror=()=>l&&l(null),e.onreadystatechange=()=>{if(e.readyState===g5.complete&&l){let c=this.parseJSON(e.responseText);l(c)}},o&&(e.ontimeout=o),e.send(a),e}static parseJSON(e){if(!e||e==="")return null;try{return JSON.parse(e)}catch{return console&&console.log("failed to parse JSON response",e),null}}static serialize(e,t){let r=[];for(var s in e){if(!Object.prototype.hasOwnProperty.call(e,s))continue;let a=t?`${t}[${s}]`:s,i=e[s];typeof i=="object"?r.push(this.serialize(i,a)):r.push(encodeURIComponent(a)+"="+encodeURIComponent(i))}return r.join("&")}static appendParams(e,t){if(Object.keys(t).length===0)return e;let r=e.match(/\?/)?"&":"?";return`${e}${r}${this.serialize(t)}`}},y5=e=>{let t="",r=new Uint8Array(e),s=r.byteLength;for(let a=0;a<s;a++)t+=String.fromCharCode(r[a]);return btoa(t)},Hs=class{constructor(e,t){t&&t.length===2&&t[1].startsWith(nm)&&(this.authToken=atob(t[1].slice(nm.length))),this.endPoint=null,this.token=null,this.skipHeartbeat=!0,this.reqs=new Set,this.awaitingBatchAck=!1,this.currentBatch=null,this.currentBatchTimer=null,this.batchBuffer=[],this.onopen=function(){},this.onerror=function(){},this.onmessage=function(){},this.onclose=function(){},this.pollEndpoint=this.normalizeEndpoint(e),this.readyState=Ir.connecting,setTimeout(()=>this.poll(),0)}normalizeEndpoint(e){return e.replace("ws://","http://").replace("wss://","https://").replace(new RegExp("(.*)/"+rm.websocket),"$1/"+rm.longpoll)}endpointURL(){return Oc.appendParams(this.pollEndpoint,{token:this.token})}closeAndRetry(e,t,r){this.close(e,t,r),this.readyState=Ir.connecting}ontimeout(){this.onerror("timeout"),this.closeAndRetry(1005,"timeout",!1)}isActive(){return this.readyState===Ir.open||this.readyState===Ir.connecting}poll(){const e={Accept:"application/json"};this.authToken&&(e["X-Phoenix-AuthToken"]=this.authToken),this.ajax("GET",e,null,()=>this.ontimeout(),t=>{if(t){var{status:r,token:s,messages:a}=t;if(r===410&&this.token!==null){this.onerror(410),this.closeAndRetry(3410,"session_gone",!1);return}this.token=s}else r=0;switch(r){case 200:a.forEach(i=>{setTimeout(()=>this.onmessage({data:i}),0)}),this.poll();break;case 204:this.poll();break;case 410:this.readyState=Ir.open,this.onopen({}),this.poll();break;
455case 403:this.onerror(403),this.close(1008,"forbidden",!1);break;case 0:case 500:this.onerror(500),this.closeAndRetry(1011,"internal server error",500);break;default:throw new Error(`unhandled poll status ${r}`)}})}send(e){typeof e!="string"&&(e=y5(e)),this.currentBatch?this.currentBatch.push(e):this.awaitingBatchAck?this.batchBuffer.push(e):(this.currentBatch=[e],this.currentBatchTimer=setTimeout(()=>{this.batchSend(this.currentBatch),this.currentBatch=null},0))}batchSend(e){this.awaitingBatchAck=!0,this.ajax("POST",{"Content-Type":"application/x-ndjson"},e.join(`
456`),()=>this.onerror("timeout"),t=>{this.awaitingBatchAck=!1,!t||t.status!==200?(this.onerror(t&&t.status),this.closeAndRetry(1011,"internal server error",!1)):this.batchBuffer.length>0&&(this.batchSend(this.batchBuffer),this.batchBuffer=[])})}close(e,t,r){for(let a of this.reqs)a.abort();this.readyState=Ir.closed;let s=Object.assign({code:1e3,reason:void 0,wasClean:!0},{code:e,reason:t,wasClean:r});this.batchBuffer=[],clearTimeout(this.currentBatchTimer),this.currentBatchTimer=null,typeof CloseEvent<"u"?this.onclose(new CloseEvent("close",s)):this.onclose(s)}ajax(e,t,r,s,a){let i,o=()=>{this.reqs.delete(i),s()};i=Oc.request(e,this.endpointURL(),t,r,this.timeout,o,l=>{this.reqs.delete(i),this.isActive()&&a(l)}),this.reqs.add(i)}},b5=class Ti{constructor(t,r={}){let s=r.events||{state:"presence_state",diff:"presence_diff"};this.state={},this.pendingDiffs=[],this.channel=t,this.joinRef=null,this.caller={onJoin:function(){},onLeave:function(){},onSync:function(){}},this.channel.on(s.state,a=>{let{onJoin:i,onLeave:o,onSync:l}=this.caller;this.joinRef=this.channel.joinRef(),this.state=Ti.syncState(this.state,a,i,o),this.pendingDiffs.forEach(c=>{this.state=Ti.syncDiff(this.state,c,i,o)}),this.pendingDiffs=[],l()}),this.channel.on(s.diff,a=>{let{onJoin:i,onLeave:o,onSync:l}=this.caller;this.inPendingSyncState()?this.pendingDiffs.push(a):(this.state=Ti.syncDiff(this.state,a,i,o),l())})}onJoin(t){this.caller.onJoin=t}onLeave(t){this.caller.onLeave=t}onSync(t){this.caller.onSync=t}list(t){return Ti.list(this.state,t)}inPendingSyncState(){return!this.joinRef||this.joinRef!==this.channel.joinRef()}static syncState(t,r,s,a){let i=this.clone(t),o={},l={};return this.map(i,(c,d)=>{r[c]||(l[c]=d)}),this.map(r,(c,d)=>{let u=i[c];if(u){let h=d.metas.map(f=>f.phx_ref),m=u.metas.map(f=>f.phx_ref),p=d.metas.filter(f=>m.indexOf(f.phx_ref)<0),y=u.metas.filter(f=>h.indexOf(f.phx_ref)<0);p.length>0&&(o[c]=d,o[c].metas=p),y.length>0&&(l[c]=this.clone(u),l[c].metas=y)}else o[c]=d}),this.syncDiff(i,{joins:o,leaves:l},s,a)}static syncDiff(t,r,s,a){let{joins:i,leaves:o}=this.clone(r);return s||(s=function(){}),a||(a=function(){}),this.map(i,(l,c)=>{let d=t[l];if(t[l]=this.clone(c),d){let u=t[l].metas.map(m=>m.phx_ref),h=d.metas.filter(m=>u.indexOf(m.phx_ref)<0);t[l].metas.unshift(...h)}s(l,d,c)}),this.map(o,(l,c)=>{let d=t[l];if(!d)return;let u=c.metas.map(h=>h.phx_ref);d.metas=d.metas.filter(h=>u.indexOf(h.phx_ref)<0),a(l,d,c),d.metas.length===0&&delete t[l]}),t}static list(t,r){return r||(r=function(s,a){return a}),this.map(t,(s,a)=>r(s,a))}static map(t,r){return Object.getOwnPropertyNames(t).map(s=>r(s,t[s]))}static clone(t){return JSON.parse(JSON.stringify(t))}},El={HEADER_LENGTH:1,META_LENGTH:4,KINDS:{push:0,reply:1,broadcast:2},encode(e,t){if(e.payload.constructor===ArrayBuffer)return t(this.binaryEncode(e));{let r=[e.join_ref,e.ref,e.topic,e.event,e.payload];return t(JSON.stringify(r))}},decode(e,t){if(e.constructor===ArrayBuffer)return t(this.binaryDecode(e));{let[r,s,a,i,o]=JSON.parse(e);return t({join_ref:r,ref:s,topic:a,event:i,payload:o})}},binaryEncode(e){let{join_ref:t,ref:r,event:s,topic:a,payload:i}=e,o=this.META_LENGTH+t.length+r.length+a.length+s.length,l=new ArrayBuffer(this.HEADER_LENGTH+o),c=new DataView(l),d=0;c.setUint8(d++,this.KINDS.push),c.setUint8(d++,t.length),c.setUint8(d++,r.length),c.setUint8(d++,a.length),c.setUint8(d++,s.length),Array.from(t,h=>c.setUint8(d++,h.charCodeAt(0))),Array.from(r,h=>c.setUint8(d++,h.charCodeAt(0))),Array.from(a,h=>c.setUint8(d++,h.charCodeAt(0))),Array.from(s,h=>c.setUint8(d++,h.charCodeAt(0)));var u=new Uint8Array(l.byteLength+i.byteLength);return u.set(new Uint8Array(l),0),u.set(new Uint8Array(i),l.byteLength),u.buffer},binaryDecode(e){let t=new DataView(e),r=t.getUint8(0),s=new TextDecoder;switch(r){case this.KINDS.push:return this.decodePush(e,t,s);case this.KINDS.reply:return this.decodeReply(e,t,s);
vendor: 8,481 bytes, line 456
456case this.KINDS.broadcast:return this.decodeBroadcast(e,t,s)}},decodePush(e,t,r){let s=t.getUint8(1),a=t.getUint8(2),i=t.getUint8(3),o=this.HEADER_LENGTH+this.META_LENGTH-1,l=r.decode(e.slice(o,o+s));o=o+s;let c=r.decode(e.slice(o,o+a));o=o+a;let d=r.decode(e.slice(o,o+i));o=o+i;let u=e.slice(o,e.byteLength);return{join_ref:l,ref:null,topic:c,event:d,payload:u}},decodeReply(e,t,r){let s=t.getUint8(1),a=t.getUint8(2),i=t.getUint8(3),o=t.getUint8(4),l=this.HEADER_LENGTH+this.META_LENGTH,c=r.decode(e.slice(l,l+s));l=l+s;let d=r.decode(e.slice(l,l+a));l=l+a;let u=r.decode(e.slice(l,l+i));l=l+i;let h=r.decode(e.slice(l,l+o));l=l+o;let m=e.slice(l,e.byteLength),p={status:h,response:m};return{join_ref:c,ref:d,topic:u,event:Yr.reply,payload:p}},decodeBroadcast(e,t,r){let s=t.getUint8(1),a=t.getUint8(2),i=this.HEADER_LENGTH+2,o=r.decode(e.slice(i,i+s));i=i+s;let l=r.decode(e.slice(i,i+a));i=i+a;let c=e.slice(i,e.byteLength);return{join_ref:null,ref:null,topic:o,event:l,payload:c}}},v5=class{constructor(e,t={}){this.stateChangeCallbacks={open:[],close:[],error:[],message:[]},this.channels=[],this.sendBuffer=[],this.ref=0,this.fallbackRef=null,this.timeout=t.timeout||p5,this.transport=t.transport||Ar.WebSocket||Hs,this.conn=void 0,this.primaryPassedHealthCheck=!1,this.longPollFallbackMs=t.longPollFallbackMs,this.fallbackTimer=null,this.sessionStore=t.sessionStorage||Ar&&Ar.sessionStorage,this.establishedConnections=0,this.defaultEncoder=El.encode.bind(El),this.defaultDecoder=El.decode.bind(El),this.closeWasClean=!0,this.disconnecting=!1,this.binaryType=t.binaryType||"arraybuffer",this.connectClock=1,this.pageHidden=!1,this.encode=void 0,this.decode=void 0,this.transport!==Hs?(this.encode=t.encode||this.defaultEncoder,this.decode=t.decode||this.defaultDecoder):(this.encode=this.defaultEncoder,this.decode=this.defaultDecoder);let r=null;ra&&ra.addEventListener&&(ra.addEventListener("pagehide",s=>{this.conn&&(this.disconnect(),r=this.connectClock)}),ra.addEventListener("pageshow",s=>{r===this.connectClock&&(r=null,this.connect())}),ra.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"?this.pageHidden=!0:(this.pageHidden=!1,!this.isConnected()&&!this.closeWasClean&&this.teardown(()=>this.connect()))})),this.heartbeatIntervalMs=t.heartbeatIntervalMs||3e4,this.autoSendHeartbeat=t.autoSendHeartbeat??!0,this.heartbeatCallback=t.heartbeatCallback??(()=>{}),this.rejoinAfterMs=s=>t.rejoinAfterMs?t.rejoinAfterMs(s):[1e3,2e3,5e3][s-1]||1e4,this.reconnectAfterMs=s=>t.reconnectAfterMs?t.reconnectAfterMs(s):[10,50,100,150,200,250,500,1e3,2e3][s-1]||5e3,this.logger=t.logger||null,!this.logger&&t.debug&&(this.logger=(s,a,i)=>{console.log(`${s}: ${a}`,i)}),this.longpollerTimeout=t.longpollerTimeout||2e4,this.params=zi(t.params||{}),this.endPoint=`${e}/${rm.websocket}`,this.vsn=t.vsn||m5,this.heartbeatTimeoutTimer=null,this.heartbeatTimer=null,this.heartbeatSentAt=null,this.pendingHeartbeatRef=null,this.reconnectTimer=new xj(()=>{if(this.pageHidden){this.log("Not reconnecting as page is hidden!"),this.teardown();return}this.teardown(async()=>{t.beforeReconnect&&await t.beforeReconnect(),this.connect()})},this.reconnectAfterMs),this.authToken=t.authToken}getLongPollTransport(){return Hs}replaceTransport(e){this.connectClock++,this.closeWasClean=!0,clearTimeout(this.fallbackTimer),this.reconnectTimer.reset(),this.conn&&(this.conn.close(),this.conn=null),this.transport=e}protocol(){return location.protocol.match(/^https/)?"wss":"ws"}endPointURL(){let e=Oc.appendParams(Oc.appendParams(this.endPoint,this.params()),{vsn:this.vsn});return e.charAt(0)!=="/"?e:e.charAt(1)==="/"?`${this.protocol()}:${e}`:`${this.protocol()}://${location.host}${e}`}disconnect(e,t,r){this.connectClock++,this.disconnecting=!0,this.closeWasClean=!0,clearTimeout(this.fallbackTimer),this.reconnectTimer.reset(),this.teardown(()=>{this.disconnecting=!1,e&&e()},t,r)}connect(e){e&&(console&&console.log("passing params to connect is deprecated. Instead pass :params to the Socket constructor"),this.params=zi(e)),!(this.conn&&!this.disconnecting)&&(this.longPollFallbackMs&&this.transport!==Hs?this.connectWithFallback(Hs,this.longPollFallbackMs):this.transportConnect())}log(e,t,r){this.logger&&this.logger(e,t,r)}hasLogger(){return this.logger!==null}onOpen(e){let t=this.makeRef();return this.stateChangeCallbacks.open.push([t,e]),t}onClose(e){let t=this.makeRef();return this.stateChangeCallbacks.close.push([t,e]),t}onError(e){let t=this.makeRef();return this.stateChangeCallbacks.error.push([t,e]),t}onMessage(e){let t=this.makeRef();return this.stateChangeCallbacks.message.push([t,e]),t}onHeartbeat(e){this.heartbeatCallback=e}ping(e){if(!this.isConnected())return!1;let t=this.makeRef(),r=Date.now();this.push({topic:"phoenix",event:"heartbeat",payload:{},ref:t});let s=this.onMessage(a=>{a.ref===t&&(this.off([s]),e(Date.now()-r))});return!0}transportName(e){switch(e){case Hs:return"LongPoll";default:return e.name}}transportConnect(){this.connectClock++,this.closeWasClean=!1;let e;this.authToken&&(e=["phoenix",`${nm}${btoa(this.authToken).replace(/=/g,"")}`]),this.conn=new this.transport(this.endPointURL(),e),this.conn.binaryType=this.binaryType,this.conn.timeout=this.longpollerTimeout,this.conn.onopen=()=>this.onConnOpen(),this.conn.onerror=t=>this.onConnError(t),this.conn.onmessage=t=>this.onConnMessage(t),this.conn.onclose=t=>this.onConnClose(t)}getSession(e){return this.sessionStore&&this.sessionStore.getItem(e)}storeSession(e,t){this.sessionStore&&this.sessionStore.setItem(e,t)}connectWithFallback(e,t=2500){clearTimeout(this.fallbackTimer);let r=!1,s=!0,a,i,o=this.transportName(e),l=c=>{this.log("transport",`falling back to ${o}...`,c),this.off([a,i]),s=!1,this.replaceTransport(e),this.transportConnect()};if(this.getSession(`phx:fallback:${o}`))return l("memorized");this.fallbackTimer=setTimeout(l,t),i=this.onError(c=>{this.log("transport","error",c),s&&!r&&(clearTimeout(this.fallbackTimer),l(c))}),this.fallbackRef&&this.off([this.fallbackRef]),this.fallbackRef=this.onOpen(()=>{if(r=!0,!s){let c=this.transportName(e);return this.primaryPassedHealthCheck||this.storeSession(`phx:fallback:${c}`,"true"),this.log("transport",`established ${c} fallback`)}clearTimeout(this.fallbackTimer),this.fallbackTimer=setTimeout(l,t),this.ping(c=>{this.log("transport","connected to primary after",c),this.primaryPassedHealthCheck=!0,clearTimeout(this.fallbackTimer)})}),this.transportConnect()}clearHeartbeats(){clearTimeout(this.heartbeatTimer),clearTimeout(this.heartbeatTimeoutTimer)}onConnOpen(){this.hasLogger()&&this.log("transport",`connected to ${this.endPointURL()}`),this.closeWasClean=!1,this.disconnecting=!1,this.establishedConnections++,this.flushSendBuffer(),this.reconnectTimer.reset(),this.autoSendHeartbeat&&this.resetHeartbeat(),this.triggerStateCallbacks("open")}heartbeatTimeout(){if(this.pendingHeartbeatRef){this.pendingHeartbeatRef=null,this.heartbeatSentAt=null,this.hasLogger()&&this.log("transport","heartbeat timeout. Attempting to re-establish connection");try{this.heartbeatCallback("timeout")}catch(e){this.log("error","error in heartbeat callback",e)}this.triggerChanError(),this.closeWasClean=!1,this.teardown(()=>this.reconnectTimer.scheduleTimeout(),f5,"heartbeat timeout")}}resetHeartbeat(){this.conn&&this.conn.skipHeartbeat||(this.pendingHeartbeatRef=null,this.clearHeartbeats(),this.heartbeatTimer=setTimeout(()=>this.sendHeartbeat(),this.heartbeatIntervalMs))}teardown(e,t,r){if(!this.conn)return e&&e();const s=this.conn;this.waitForBufferDone(s,()=>{t?s.close(t,r||""):s.close(),this.waitForSocketClosed(s,()=>{this.conn===s&&(this.conn.onopen=function(){},this.conn.onerror=function(){},this.conn.onmessage=function(){},this.conn.onclose=function(){},this.conn=null),e&&e()})})}waitForBufferDone(e,t,r=1){if(r===5||!e.bufferedAmount){t();return}setTimeout(()=>{this.waitForBufferDone(e,t,r+1)},150*r)}waitForSocketClosed(e,t,r=1){if(r===5||e.readyState===Ir.closed){t();return}setTimeout(()=>{this.waitForSocketClosed(e,t,r+1)},150*r)}onConnClose(e){this.conn&&(this.conn.onclose=()=>{}),this.hasLogger()&&this.log("transport","close",e),this.triggerChanError(),this.clearHeartbeats(),this.closeWasClean||this.reconnectTimer.scheduleTimeout(),this.triggerStateCallbacks("close",e)}onConnError(e){this.hasLogger()&&this.log("transport",e);let t=this.transport,r=this.establishedConnections;this.triggerStateCallbacks("error",e,t,r),(t===this.transport||r>0)&&this.triggerChanError()}
456triggerChanError(){this.channels.forEach(e=>{e.isErrored()||e.isLeaving()||e.isClosed()||e.trigger(Yr.error)})}connectionState(){switch(this.conn&&this.conn.readyState){case Ir.connecting:return"connecting";case Ir.open:return"open";case Ir.closing:return"closing";default:return"closed"}}isConnected(){return this.connectionState()==="open"}remove(e){this.off(e.stateChangeRefs),this.channels=this.channels.filter(t=>t!==e)}off(e){for(let t in this.stateChangeCallbacks)this.stateChangeCallbacks[t]=this.stateChangeCallbacks[t].filter(([r])=>e.indexOf(r)===-1)}channel(e,t={}){let r=new x5(e,t,this);return this.channels.push(r),r}push(e){if(this.hasLogger()){let{topic:t,event:r,payload:s,ref:a,join_ref:i}=e;this.log("push",`${t} ${r} (${i}, ${a})`,s)}this.isConnected()?this.encode(e,t=>this.conn.send(t)):this.sendBuffer.push(()=>this.encode(e,t=>this.conn.send(t)))}makeRef(){let e=this.ref+1;return e===this.ref?this.ref=0:this.ref=e,this.ref.toString()}sendHeartbeat(){if(!this.isConnected()){try{this.heartbeatCallback("disconnected")}catch(e){this.log("error","error in heartbeat callback",e)}return}if(this.pendingHeartbeatRef){this.heartbeatTimeout();return}this.pendingHeartbeatRef=this.makeRef(),this.heartbeatSentAt=Date.now(),this.push({topic:"phoenix",event:"heartbeat",payload:{},ref:this.pendingHeartbeatRef});try{this.heartbeatCallback("sent")}catch(e){this.log("error","error in heartbeat callback",e)}this.heartbeatTimeoutTimer=setTimeout(()=>this.heartbeatTimeout(),this.heartbeatIntervalMs)}flushSendBuffer(){this.isConnected()&&this.sendBuffer.length>0&&(this.sendBuffer.forEach(e=>e()),this.sendBuffer=[])}onConnMessage(e){this.decode(e.data,t=>{let{topic:r,event:s,payload:a,ref:i,join_ref:o}=t;if(i&&i===this.pendingHeartbeatRef){const l=this.heartbeatSentAt?Date.now()-this.heartbeatSentAt:void 0;this.clearHeartbeats();try{this.heartbeatCallback(a.status==="ok"?"ok":"error",l)}catch(c){this.log("error","error in heartbeat callback",c)}this.pendingHeartbeatRef=null,this.heartbeatSentAt=null,this.autoSendHeartbeat&&(this.heartbeatTimer=setTimeout(()=>this.sendHeartbeat(),this.heartbeatIntervalMs))}this.hasLogger()&&this.log("receive",`${a.status||""} ${r} ${s} ${i&&"("+i+")"||""}`.trim(),a);for(let l=0;l<this.channels.length;l++){const c=this.channels[l];c.isMember(r,s,a,o)&&c.trigger(s,a,i,o)}this.triggerStateCallbacks("message",t)})}triggerStateCallbacks(e,...t){try{this.stateChangeCallbacks[e].forEach(([r,s])=>{try{s(...t)}catch(a){this.log("error",`error in ${e} callback`,a)}})}catch(r){this.log("error",`error triggering ${e} callbacks`,r)}}leaveOpenTopic(e){let t=this.channels.find(r=>r.topic===e&&(r.isJoined()||r.isJoining()));t&&(this.hasLogger()&&this.log("transport",`leaving duplicate topic "${e}"`),t.leave())}};class Wi{constructor(t,r){const s=j5(r);this.presence=new b5(t.getChannel(),s),this.presence.onJoin((a,i,o)=>{const l=Wi.onJoinPayload(a,i,o);t.getChannel().trigger("presence",l)}),this.presence.onLeave((a,i,o)=>{const l=Wi.onLeavePayload(a,i,o);t.getChannel().trigger("presence",l)}),this.presence.onSync(()=>{t.getChannel().trigger("presence",{event:"sync"})})}get state(){return Wi.transformState(this.presence.state)}static transformState(t){return t=w5(t),Object.getOwnPropertyNames(t).reduce((r,s)=>{const a=t[s];return r[s]=tc(a),r},{})}static onJoinPayload(t,r,s){const a=Cx(r),i=tc(s);return{event:"join",key:t,currentPresences:a,newPresences:i}}static onLeavePayload(t,r,s){const a=Cx(r),i=tc(s);return{event:"leave",key:t,currentPresences:a,leftPresences:i}}}function tc(e){return e.metas.map(t=>(t.presence_ref=t.phx_ref,delete t.phx_ref,delete t.phx_ref_prev,t))}function w5(e){return JSON.parse(JSON.stringify(e))}function j5(e){return(e==null?void 0:e.events)&&{events:e.events}}function Cx(e){return e!=null&&e.metas?tc(e):[]}var Sx;(function(e){e.SYNC="sync",e.JOIN="join",e.LEAVE="leave"})(Sx||(Sx={}));class N5{get state(){return this.presenceAdapter.state}constructor(t,r){this.channel=t,this.presenceAdapter=new Wi(this.channel.channelAdapter,r)}}class k5{constructor(t,r,s){const a=C5(s);this.channel=t.getSocket().channel(r,a),this.socket=t}get state(){return this.channel.state}set state(t){this.channel.state=t}get joinedOnce(){return this.channel.joinedOnce}get joinPush(){return this.channel.joinPush}get rejoinTimer(){return this.channel.rejoinTimer}on(t,r){return this.channel.on(t,r)}off(t,r){this.channel.off(t,r)}subscribe(t){return this.channel.join(t)}unsubscribe(t){return this.channel.leave(t)}teardown(){this.channel.teardown()}onClose(t){this.channel.onClose(t)}onError(t){return this.channel.onError(t)}push(t,r,s){let a;try{a=this.channel.push(t,r,s)}catch{throw`tried to push '${t}' to '${this.channel.topic}' before joining. Use channel.subscribe() before pushing events`}if(this.channel.pushBuffer.length>s5){const i=this.channel.pushBuffer.shift();i.cancelTimeout(),this.socket.log("channel",`discarded push due to buffer overflow: ${i.event}`,i.payload())}return a}updateJoinPayload(t){const r=this.channel.joinPush.payload();this.channel.joinPush.payload=()=>Object.assign(Object.assign({},r),t)}canPush(){return this.socket.isConnected()&&this.state===_n.joined}isJoined(){return this.state===_n.joined}isJoining(){return this.state===_n.joining}isClosed(){return this.state===_n.closed}isLeaving(){return this.state===_n.leaving}updateFilterBindings(t){this.channel.filterBindings=t}updatePayloadTransform(t){this.channel.onMessage=t}getChannel(){return this.channel}}function C5(e){return{config:Object.assign({broadcast:{ack:!1,self:!1},presence:{key:"",enabled:!1},private:!1},e.config)}}var Ex;(function(e){e.ALL="*",e.INSERT="INSERT",e.UPDATE="UPDATE",e.DELETE="DELETE"})(Ex||(Ex={}));var xa;(function(e){e.BROADCAST="broadcast",e.PRESENCE="presence",e.POSTGRES_CHANGES="postgres_changes",e.SYSTEM="system"})(xa||(xa={}));var Jr;(function(e){e.SUBSCRIBED="SUBSCRIBED",e.TIMED_OUT="TIMED_OUT",e.CLOSED="CLOSED",e.CHANNEL_ERROR="CHANNEL_ERROR"})(Jr||(Jr={}));class Gi{get state(){return this.channelAdapter.state}set state(t){this.channelAdapter.state=t}get joinedOnce(){return this.channelAdapter.joinedOnce}get timeout(){return this.socket.timeout}get joinPush(){return this.channelAdapter.joinPush}get rejoinTimer(){return this.channelAdapter.rejoinTimer}constructor(t,r={config:{}},s){var a,i;if(this.topic=t,this.params=r,this.socket=s,this.bindings={},this.subTopic=t.replace(/^realtime:/i,""),this.params.config=Object.assign({broadcast:{ack:!1,self:!1},presence:{key:"",enabled:!1},private:!1},r.config),this.channelAdapter=new k5(this.socket.socketAdapter,t,this.params),this.presence=new N5(this),this._onClose(()=>{this.socket._remove(this)}),this._updateFilterTransform(),this.broadcastEndpointURL=gj(this.socket.socketAdapter.endPointURL()),this.private=this.params.config.private||!1,!this.private&&(!((i=(a=this.params.config)===null||a===void 0?void 0:a.broadcast)===null||i===void 0)&&i.replay))throw`tried to use replay on public channel '${this.topic}'. It must be a private channel.`}subscribe(t,r=this.timeout){var s,a,i;if(this.socket.isConnected()||this.socket.connect(),this.channelAdapter.isClosed()){const{config:{broadcast:o,presence:l,private:c}}=this.params,d=(a=(s=this.bindings.postgres_changes)===null||s===void 0?void 0:s.map(p=>p.filter))!==null&&a!==void 0?a:[],u=!!this.bindings[xa.PRESENCE]&&this.bindings[xa.PRESENCE].length>0||((i=this.params.config.presence)===null||i===void 0?void 0:i.enabled)===!0,h={},m={broadcast:o,presence:Object.assign(Object.assign({},l),{enabled:u}),postgres_changes:d,private:c};this.socket.accessTokenValue&&(h.access_token=this.socket.accessTokenValue),this._onError(p=>{t==null||t(Jr.CHANNEL_ERROR,p)}),this._onClose(()=>t==null?void 0:t(Jr.CLOSED)),this.updateJoinPayload(Object.assign({config:m},h)),this._updateFilterMessage(),this.channelAdapter.subscribe(r).receive("ok",async({postgres_changes:p})=>{if(this.socket._isManualToken()||this.socket.setAuth(),p===void 0){t==null||t(Jr.SUBSCRIBED);return}this._updatePostgresBindings(p,t)}
456).receive("error",p=>{this.state=_n.errored,t==null||t(Jr.CHANNEL_ERROR,new Error(JSON.stringify(Object.values(p).join(", ")||"error")))}).receive("timeout",()=>{t==null||t(Jr.TIMED_OUT)})}return this}_updatePostgresBindings(t,r){var s;const a=this.bindings.postgres_changes,i=(s=a==null?void 0:a.length)!==null&&s!==void 0?s:0,o=[];for(let l=0;l<i;l++){const c=a[l],{filter:{event:d,schema:u,table:h,filter:m}}=c,p=t&&t[l];if(p&&p.event===d&&Gi.isFilterValueEqual(p.schema,u)&&Gi.isFilterValueEqual(p.table,h)&&Gi.isFilterValueEqual(p.filter,m))o.push(Object.assign(Object.assign({},c),{id:p.id}));else{this.unsubscribe(),this.state=_n.errored,r==null||r(Jr.CHANNEL_ERROR,new Error("mismatch between server and client bindings for postgres changes"));return}}this.bindings.postgres_changes=o,this.state!=_n.errored&&r&&r(Jr.SUBSCRIBED)}presenceState(){return this.presence.state}async track(t,r={}){return await this.send({type:"presence",event:"track",payload:t},r.timeout||this.timeout)}async untrack(t={}){return await this.send({type:"presence",event:"untrack"},t)}on(t,r,s){const a=this.channelAdapter.isJoined()||this.channelAdapter.isJoining(),i=t===xa.PRESENCE||t===xa.POSTGRES_CHANGES;if(a&&i)throw this.socket.log("channel",`cannot add \`${t}\` callbacks for ${this.topic} after \`subscribe()\`.`),new Error(`cannot add \`${t}\` callbacks for ${this.topic} after \`subscribe()\`.`);return this._on(t,r,s)}async httpSend(t,r,s={}){var a;if(r==null)return Promise.reject("Payload is required for httpSend()");const i={apikey:this.socket.apiKey?this.socket.apiKey:"","Content-Type":"application/json"};this.socket.accessTokenValue&&(i.Authorization=`Bearer ${this.socket.accessTokenValue}`);const o={method:"POST",headers:i,body:JSON.stringify({messages:[{topic:this.subTopic,event:t,payload:r,private:this.private}]})},l=await this._fetchWithTimeout(this.broadcastEndpointURL,o,(a=s.timeout)!==null&&a!==void 0?a:this.timeout);if(l.status===202)return{success:!0};let c=l.statusText;try{const d=await l.json();c=d.error||d.message||c}catch{}return Promise.reject(new Error(c))}async send(t,r={}){var s,a;if(!this.channelAdapter.canPush()&&t.type==="broadcast"){console.warn("Realtime send() is automatically falling back to REST API. This behavior will be deprecated 
456in the future. Please use httpSend() explicitly for REST delivery.");const{event:i,payload:o}=t,l={apikey:this.socket.apiKey?this.socket.apiKey:"","Content-Type":"application/json"};this.socket.accessTokenValue&&(l.Authorization=`Bearer ${this.socket.accessTokenValue}`);const c={method:"POST",headers:l,body:JSON.stringify({messages:[{topic:this.subTopic,event:i,payload:o,private:this.private}]})};try{const d=await this._fetchWithTimeout(this.broadcastEndpointURL,c,(s=r.timeout)!==null&&s!==void 0?s:this.timeout);return await((a=d.body)===null||a===void 0?void 0:a.cancel()),d.ok?"ok":"error"}catch(d){return d.name==="AbortError"?"timed out":"error"}}else return new Promise(i=>{var o,l,c;const d=this.channelAdapter.push(t.type,t,r.timeout||this.timeout);t.type==="broadcast"&&!(!((c=(l=(o=this.params)===null||o===void 0?void 0:o.config)===null||l===void 0?void 0:l.broadcast)===null||c===void 0)&&c.ack)&&i("ok"),d.receive("ok",()=>i("ok")),d.receive("error",()=>i("error")),d.receive("timeout",()=>i("timed out"))})}updateJoinPayload(t){this.channelAdapter.updateJoinPayload(t)}async unsubscribe(t=this.timeout){return new Promise(r=>{this.channelAdapter.unsubscribe(t).receive("ok",()=>r("ok")).receive("timeout",()=>r("timed out")).receive("error",()=>r("error"))})}teardown(){this.channelAdapter.teardown()}async _fetchWithTimeout(t,r,s){const a=new AbortController,i=setTimeout(()=>a.abort(),s),o=await this.socket.fetch(t,Object.assign(Object.assign({},r),{signal:a.signal}));return clearTimeout(i),o}_on(t,r,s){const a=t.toLocaleLowerCase(),i=this.channelAdapter.on(t,s),o={type:a,filter:r,callback:s,ref:i};return this.bindings[a]?this.bindings[a].push(o):this.bindings[a]=[o],this._updateFilterMessage(),this}_onClose(t){this.channelAdapter.onClose(t)}_onError(t){this.channelAdapter.onError(t)}_updateFilterMessage(){this.channelAdapter.updateFilterBindings((t,r,s)=>{var a,i,o,l,c,d,u;const h=t.event.toLocaleLowerCase();if(this._notThisChannelEvent(h,s))return!1;const m=(a=this.bindings[h])===null||a===void 0?void 0:a.find(p=>p.ref===t.ref);if(!m)return!0;if(["broadcast","presence","postgres_changes"].includes(h))if("id"in m){const p=m.id,y=(i=m.filter)===null||i===void 0?void 0:i.event;return p&&((o=r.ids)===null||o===void 0?void 0:o.includes(p))&&(y==="*"||(y==null?void 0:y.toLocaleLowerCase())===((l=r.data)===null||l===void 0?void 0:l.type.toLocaleLowerCase()))}else{const p=(d=(c=m==null?void 0:m.filter)===null||c===void 0?void 0:c.event)===null||d===void 0?void 0:d.toLocaleLowerCase();return p==="*"||p===((u=r==null?void 0:r.event)===null||u===void 0?void 0:u.toLocaleLowerCase())}else return m.type.toLocaleLowerCase()===h})}_notThisChannelEvent(t,r){const{close:s,error:a,leave:i,join:o}=pj;return r&&[s,a,i,o].includes(t)&&r!==this.joinPush.ref}_updateFilterTransform(){this.channelAdapter.updatePayloadTransform((t,r,s)=>{if(typeof r=="object"&&"ids"in r){const a=r.data,{schema:i,table:o,commit_timestamp:l,type:c,errors:d}=a;return Object.assign(Object.assign({},{schema:i,table:o,commit_timestamp:l,eventType:c,new:{},old:{},errors:d}),this._getPayloadRecords(a))}return r})}copyBindings(t){if(this.joinedOnce)throw new Error("cannot copy bindings into joined channel");for(const r in t.bindings)for(const s of t.bindings[r])this._on(s.type,s.filter,s.callback)}static isFilterValueEqual(t,r){return(t??void 0)===(r??void 0)}_getPayloadRecords(t){const r={new:{},old:{}};return(t.type==="INSERT"||t.type==="UPDATE")&&(r.new=kx(t.columns,t.record)),(t.type==="UPDATE"||t.type==="DELETE")&&(r.old=kx(t.columns,t.old_record)),r}}class S5{constructor(t,r){this.socket=new v5(t,r)}get timeout(){return this.socket.timeout}get endPoint(){return this.socket.endPoint}get transport(){return this.socket.transport}get heartbeatIntervalMs(){return this.socket.heartbeatIntervalMs}get heartbeatCallback(){return this.socket.heartbeatCallback}set heartbeatCallback(t){this.socket.heartbeatCallback=t}get heartbeatTimer(){return this.socket.heartbeatTimer}get pendingHeartbeatRef(){return this.socket.pendingHeartbeatRef}get reconnectTimer(){return this.socket.reconnectTimer}get vsn(){return this.socket.vsn}get encode(){return this.socket.encode}get decode(){return this.socket.decode}get reconnectAfterMs(){return this.socket.reconnectAfterMs}get sendBuffer(){return this.socket.sendBuffer}get stateChangeCallbacks(){return this.socket.stateChangeCallbacks}connect(){this.socket.connect()}disconnect(t,r,s,a=1e4){return new Promise(i=>{setTimeout(()=>i("timeout"),a),this.socket.disconnect(()=>{t(),i("ok")},r,s)})}push(t){this.socket.push(t)}log(t,r,s){this.socket.log(t,r,s)}makeRef(){return this.socket.makeRef()}onOpen(t){this.socket.onOpen(t)}onClose(t){this.socket.onClose(t)}onError(t){this.socket.onError(t)}onMessage(t){this.socket.onMessage(t)}isConnected(){return this.socket.isConnected()}isConnecting(){return this.socket.connectionState()==em.connecting}isDisconnecting(){return this.socket.connectionState()==em.closing}connectionState(){return this.socket.connectionState()}endPointURL(){return this.socket.endPointURL()}sendHeartbeat(){this.socket.sendHeartbeat()}getSocket(){return this.socket}}const E5={HEARTBEAT_INTERVAL:25e3,RECONNECT_DELAY:10,HEARTBEAT_TIMEOUT_FALLBACK:100},_5=[1e3,2e3,5e3,1e4],T5=1e4,A5=`
457  addEventListener("message", (e) => {
458    if (e.data.event === "start") {
459      setInterval(() => postMessage({ event: "keepAlive" }), e.data.interval);
460    }
461  });`;class P5{get endPoint(){return this.socketAdapter.endPoint}get timeout(){return this.socketAdapter.timeout}get transport(){return this.socketAdapter.transport}get heartbeatCallback(){return this.socketAdapter.heartbeatCallback}get heartbeatIntervalMs(){return this.socketAdapter.heartbeatIntervalMs}get heartbeatTimer(){return this.worker?this._workerHeartbeatTimer:this.socketAdapter.heartbeatTimer}get pendingHeartbeatRef(){return this.worker?this._pendingWorkerHeartbeatRef:this.socketAdapter.pendingHeartbeatRef}get reconnectTimer(){return this.socketAdapter.reconnectTimer}get vsn(){return this.socketAdapter.vsn}get encode(){return this.socketAdapter.encode}get decode(){return this.socketAdapter.decode}get reconnectAfterMs(){return this.socketAdapter.reconnectAfterMs}get sendBuffer(){return this.socketAdapter.sendBuffer}get stateChangeCallbacks(){return this.socketAdapter.stateChangeCallbacks}constructor(t,r){var s;if(this.channels=new Array,this.accessTokenValue=null,this.accessToken=null,this.apiKey=null,this.httpEndpoint="",this.headers={},this.params={}
461,this.ref=0,this.serializer=new a5,this._manuallySetToken=!1,this._authPromise=null,this._workerHeartbeatTimer=void 0,this._pendingWorkerHeartbeatRef=null,this._resolveFetch=i=>i?(...o)=>i(...o):(...o)=>fetch(...o),!(!((s=r==null?void 0:r.params)===null||s===void 0)&&s.apikey))throw new Error("API key is required to connect to Realtime");this.apiKey=r.params.apikey;const a=this._initializeOptions(r);this.socketAdapter=new S5(t,a),this.httpEndpoint=gj(t),this.fetch=this._resolveFetch(r==null?void 0:r.fetch)}connect(){if(!(this.isConnecting()||this.isDisconnecting()||this.isConnected())){this.accessToken&&!this._authPromise&&this._setAuthSafely("connect"),this._setupConnectionHandlers();try{this.socketAdapter.connect()}catch(t){const r=t.message;throw r.includes("Node.js")?new Error(`${r}
462
463To use Realtime in Node.js, you need to provide a WebSocket implementation:
464
465Option 1: Use Node.js 22+ which has native WebSocket support
466Option 2: Install and provide the "ws" package:
467
468  npm install ws
469
470  import ws from "ws"
471  const client = new RealtimeClient(url, {
472    ...options,
473    transport: ws
474  })`):new Error(`WebSocket not available: ${r}`)}this._handleNodeJsRaceCondition()}}endpointURL(){return this.socketAdapter.endPointURL()}async disconnect(t,r){return this.isDisconnecting()?"ok":await this.socketAdapter.disconnect(()=>{clearInterval(this._workerHeartbeatTimer),this._terminateWorker()},t,r)}getChannels(){return this.channels}async removeChannel(t){const r=await t.unsubscribe();return r==="ok"&&t.teardown(),this.channels.length===0&&this.disconnect(),r}async removeAllChannels(){const t=this.channels.map(async s=>{const a=await s.unsubscribe();return s.teardown(),a}),r=await Promise.all(t);return this.disconnect(),r}log(t,r,s){this.socketAdapter.log(t,r,s)}connectionState(){return this.socketAdapter.connectionState()||em.closed}isConnected(){return this.socketAdapter.isConnected()}isConnecting(){return this.socketAdapter.isConnecting()}isDisconnecting(){return this.socketAdapter.isDisconnecting()}channel(t,r={config:{}}){const s=`realtime:${t}`,a=this.getChannels().find(i=>i.topic===s);if(a)return a;{const i=new Gi(`realtime:${t}`,r,this);return this.channels.push(i),i}}push(t){this.socketAdapter.push(t)}async setAuth(t=null){this._authPromise=this._performAuth(t);try{await this._authPromise}finally{this._authPromise=null}}_isManualToken(){return this._manuallySetToken}async sendHeartbeat(){this.socketAdapter.sendHeartbeat()}onHeartbeat(t){this.socketAdapter.heartbeatCallback=this._wrapHeartbeatCallback(t)}_makeRef(){return this.socketAdapter.makeRef()}_remove(t){this.channels=this.channels.filter(r=>r.topic!==t.topic)}async _performAuth(t=null){let r,s=!1;if(t)r=t,s=!0;else if(this.accessToken)try{r=await this.accessToken()}catch(a){this.log("error","Error fetching access token from callback",a),r=this.accessTokenValue}else r=this.accessTokenValue;s?this._manuallySetToken=!0:this.accessToken&&(this._manuallySetToken=!1),this.accessTokenValue!=r&&(this.accessTokenValue=r,this.channels.forEach(a=>{const i={access_token:r,version:e5};r&&a.updateJoinPayload(i),a.joinedOnce&&a.channelAdapter.isJoined()&&a.channelAdapter.push(pj.access_token,{access_token:r})}))}async _waitForAuthIfNeeded(){this._authPromise&&await this._authPromise}_setAuthSafely(t="general"){this._isManualToken()||this.setAuth().catch(r=>{this.log("error",`Error setting auth in ${t}`,r)})}_setupConnectionHandlers(){this.socketAdapter.onOpen(()=>{(this._authPromise||(this.accessToken&&!this.accessTokenValue?this.setAuth():Promise.resolve())).catch(r=>{this.log("error","error waiting for auth on connect",r)}),this.worker&&!this.workerRef&&this._startWorkerHeartbeat()}),this.socketAdapter.onClose(()=>{this.worker&&this.workerRef&&this._terminateWorker()}),this.socketAdapter.onMessage(t=>{t.ref&&t.ref===this._pendingWorkerHeartbeatRef&&(this._pendingWorkerHeartbeatRef=null)})}_handleNodeJsRaceCondition(){this.socketAdapter.isConnected()&&this.socketAdapter.getSocket().onConnOpen()}_wrapHeartbeatCallback(t){return(r,s)=>{r=="sent"&&this._setAuthSafely(),t&&t(r,s)}}_startWorkerHeartbeat(){this.workerUrl?this.log("worker",`starting worker for from ${this.workerUrl}`):this.log("worker","starting default worker");const t=this._workerObjectUrl(this.workerUrl);this.workerRef=new Worker(t),this.workerRef.onerror=r=>{this.log("worker","worker error",r.message),this._terminateWorker(),this.disconnect()},this.workerRef.onmessage=r=>{r.data.event==="keepAlive"&&this.sendHeartbeat()},this.workerRef.postMessage({event:"start",interval:this.heartbeatIntervalMs})}_terminateWorker(){this.workerRef&&(this.log("worker","terminating worker"),this.workerRef.terminate(),this.workerRef=void 0)}_workerObjectUrl(t){let r;if(t)r=t;else{const s=new Blob([A5],{type:"application/javascript"});r=URL.createObjectURL(s)}return r}_initializeOptions(t){var r,s,a,i,o,l,c,d,u;this.worker=(r=t==null?void 0:t.worker)!==null&&r!==void 0?r:!1,this.accessToken=(s=t==null?void 0:t.accessToken)!==null&&s!==void 0?s:null;const h={};
474h.timeout=(a=t==null?void 0:t.timeout)!==null&&a!==void 0?a:n5,h.heartbeatIntervalMs=(i=t==null?void 0:t.heartbeatIntervalMs)!==null&&i!==void 0?i:E5.HEARTBEAT_INTERVAL,h.transport=(o=t==null?void 0:t.transport)!==null&&o!==void 0?o:XP.getWebSocketConstructor(),h.params=t==null?void 0:t.params,h.logger=t==null?void 0:t.logger,h.heartbeatCallback=this._wrapHeartbeatCallback(t==null?void 0:t.heartbeatCallback),h.reconnectAfterMs=(l=t==null?void 0:t.reconnectAfterMs)!==null&&l!==void 0?l:f=>_5[f-1]||T5;let m,p;const y=(c=t==null?void 0:t.vsn)!==null&&c!==void 0?c:r5;switch(y){case t5:m=(f,v)=>v(JSON.stringify(f)),p=(f,v)=>v(JSON.parse(f));break;case mj:m=this.serializer.encode.bind(this.serializer),p=this.serializer.decode.bind(this.serializer);break;default:throw new Error(`Unsupported serializer version: ${h.vsn}`)}if(h.vsn=y,h.encode=(d=t==null?void 0:t.encode)!==null&&d!==void 0?d:m,h.decode=(u=t==null?void 0:t.decode)!==null&&u!==void 0?u:p,h.beforeReconnect=this._reconnectAuth.bind(this),(t!=null&&t.logLevel||t!=null&&t.log_level)&&(this.logLevel=t.logLevel||t.log_level,h.params=Object.assign(Object.assign({},h.params),{log_level:this.logLevel})),this.worker){if(typeof window<"u"&&!window.Worker)throw new Error("Web Worker is not supported");this.workerUrl=t==null?void 0:t.workerUrl,h.autoSendHeartbeat=!this.worker}return h}async _reconnectAuth(){await this._waitForAuthIfNeeded(),this.isConnected()||this.connect()}}var vo=class extends Error{constructor(e,t){var r;super(e),this.name="IcebergError",this.status=t.status,this.icebergType=t.icebergType,this.icebergCode=t.icebergCode,this.details=t.details,this.isCommitStateUnknown=t.icebergType==="CommitStateUnknownException"||[500,502,504].includes(t.status)&&((r=t.icebergType)==null?void 0:r.includes("CommitState"))===!0}isNotFound(){return this.status===404}isConflict(){return this.status===409}isAuthenticationTimeout(){return this.status===419}};function R5(e,t,r){const s=new URL(t,e);if(r)for(const[a,i]of Object.entries(r))i!==void 0&&s.searchParams.set(a,i);return s.toString()}async function D5(e){return!e||e.type==="none"?{}:e.type==="bearer"?{Authorization:`Bearer ${e.token}`}:e.type==="header"?{[e.name]:e.value}:e.type==="custom"?await e.getHeaders():{}}function I5(e){const t=e.fetchImpl??globalThis.fetch;return{async request({method:r,path:s,query:a,body:i,headers:o}){const l=R5(e.baseUrl,s,a),c=await D5(e.auth),d=await t(l,{method:r,headers:{...i?{"Content-Type":"application/json"}:{},...c,...o},body:i?JSON.stringify(i):void 0}),u=await d.text(),h=(d.headers.get("content-type")||"").includes("application/json"),m=h&&u?JSON.parse(u):u;if(!d.ok){const p=h?m:void 0,y=p==null?void 0:p.error;throw new vo((y==null?void 0:y.message)??`Request failed with status ${d.status}`,{status:d.status,icebergType:y==null?void 0:y.type,icebergCode:y==null?void 0:y.code,details:p})}return{status:d.status,headers:d.headers,data:m}}}}function _l(e){return e.join("�")}var O5=class{constructor(e,t=""){this.client=e,this.prefix=t}async listNamespaces(e){const t=e?{parent:_l(e.namespace)}:void 0;return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces`,query:t})).data.namespaces.map(s=>({namespace:s}))}async createNamespace(e,t){const r={namespace:e.namespace,properties:t==null?void 0:t.properties};return(await this.client.request({method:"POST",path:`${this.prefix}/namespaces`,body:r})).data}async dropNamespace(e){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${_l(e.namespace)}`})}async loadNamespaceMetadata(e){return{properties:(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${_l(e.namespace)}`})).data.properties}}async namespaceExists(e){try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${_l(e.namespace)}`}),!0}catch(t){if(t instanceof vo&&t.status===404)return!1;throw t}}async createNamespaceIfNotExists(e,t){try{return await this.createNamespace(e,t)}catch(r){if(r instanceof vo&&r.status===409)return;throw r}}};function Vs(e){return e.join("�")}var M5=class{constructor(e,t="",r){this.client=e,this.prefix=t,this.accessDelegation=r}async listTables(e){return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${Vs(e.namespace)}/tables`})).data.identifiers}async createTable(e,t){const r={};return this.accessDelegation&&(r["X-Iceberg-Access-Delegation"]=this.accessDelegation),(await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${Vs(e.namespace)}/tables`,body:t,headers:r})).data.metadata}async updateTable(e,t){const r=await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${Vs(e.namespace)}/tables/${e.name}`,body:t});return{"metadata-location":r.data["metadata-location"],metadata:r.data.metadata}}async dropTable(e,t){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${Vs(e.namespace)}/tables/${e.name}`,query:{purgeRequested:String((t==null?void 0:t.purge)??!1)}})}async loadTable(e){const t={};return this.accessDelegation&&(t["X-Iceberg-Access-Delegation"]=this.accessDelegation),(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${Vs(e.namespace)}/tables/${e.name}`,headers:t})).data.metadata}async tableExists(e){const t={};this.accessDelegation&&(t["X-Iceberg-Access-Delegation"]=this.accessDelegation);try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${Vs(e.namespace)}/tables/${e.name}`,headers:t}),!0}catch(r){if(r instanceof vo&&r.status===404)return!1;throw r}}async createTableIfNotExists(e,t){try{return await this.createTable(e,t)}catch(r){if(r instanceof vo&&r.status===409)return await this.loadTable({namespace:e.namespace,name:t.name});throw r}}},L5=class{constructor(e){var s;let t="v1";e.catalogName&&(t+=`/${e.catalogName}`);const r=e.baseUrl.endsWith("/")?e.baseUrl:`${e.baseUrl}/`;this.client=I5({baseUrl:r,auth:e.auth,fetchImpl:e.fetch}),this.accessDelegation=(s=e.accessDelegation)==null?void 0:s.join(","),this.namespaceOps=new O5(this.client,t),this.tableOps=new M5(this.client,t,this.accessDelegation)}async listNamespaces(e){return this.namespaceOps.listNamespaces(e)}async createNamespace(e,t){return this.namespaceOps.createNamespace(e,t)}async dropNamespace(e){await this.namespaceOps.dropNamespace(e)}async loadNamespaceMetadata(e){return this.namespaceOps.loadNamespaceMetadata(e)}async listTables(e){return this.tableOps.listTables(e)}
474async createTable(e,t){return this.tableOps.createTable(e,t)}async updateTable(e,t){return this.tableOps.updateTable(e,t)}async dropTable(e,t){await this.tableOps.dropTable(e,t)}async loadTable(e){return this.tableOps.loadTable(e)}async namespaceExists(e){return this.namespaceOps.namespaceExists(e)}async tableExists(e){return this.tableOps.tableExists(e)}async createNamespaceIfNotExists(e,t){return this.namespaceOps.createNamespaceIfNotExists(e,t)}async createTableIfNotExists(e,t){return this.tableOps.createTableIfNotExists(e,t)}};function wo(e){"@babel/helpers - typeof";return wo=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},wo(e)}function $5(e,t){if(wo(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var s=r.call(e,t||"default");if(wo(s)!="object")return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function U5(e){var t=$5(e,"string");return wo(t)=="symbol"?t:t+""}function B5(e,t,r){return(t=U5(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _x(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,s)}return r}function Y(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?_x(Object(r),!0).forEach(function(s){B5(e,s,r[s])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):_x(Object(r)).forEach(function(s){Object.defineProperty(e,s,Object.getOwnPropertyDescriptor(r,s))})}return e}var Cd=class extends Error{constructor(e,t="storage",r,s){super(e),this.__isStorageError=!0,this.namespace=t,this.name=t==="vectors"?"StorageVectorsError":"StorageError",this.status=r,this.statusCode=s}toJSON(){return{name:this.name,message:this.message,status:this.status,statusCode:this.statusCode}}};function Sd(e){return typeof e=="object"&&e!==null&&"__isStorageError"in e}var sm=class extends Cd{constructor(e,t,r,s="storage"){super(e,s,t,r),this.name=s==="vectors"?"StorageVectorsApiError":"StorageApiError",this.status=t,this.statusCode=r}toJSON(){return Y({},super.toJSON())}},yj=class extends Cd{constructor(e,t,r="storage"){super(e,r),this.name=r==="vectors"?"StorageVectorsUnknownError":"StorageUnknownError",this.originalError=t}};const F5=e=>e?(...t)=>e(...t):(...t)=>fetch(...t),z5=e=>{if(typeof e!="object"||e===null)return!1;const t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},am=e=>{if(Array.isArray(e))return e.map(r=>am(r));if(typeof e=="function"||e!==Object(e))return e;const t={};return Object.entries(e).forEach(([r,s])=>{const a=r.replace(/([-_][a-z])/gi,i=>i.toUpperCase().replace(/[-_]/g,""));t[a]=am(s)}),t},W5=e=>!e||typeof e!="string"||e.length===0||e.length>100||e.trim()!==e||e.includes("/")||e.includes("\\")?!1:/^[\w!.\*'() &$@=;:+,?-]+$/.test(e),Tx=e=>{var t;return e.msg||e.message||e.error_description||(typeof e.error=="string"?e.error:(t=e.error)===null||t===void 0?void 0:t.message)||JSON.stringify(e)},G5=async(e,t,r,s)=>{if(e!==null&&typeof e=="object"&&typeof e.json=="function"){const a=e;let i=parseInt(a.status,10);Number.isFinite(i)||(i=500),a.json().then(o=>{const l=(o==null?void 0:o.statusCode)||(o==null?void 0:o.code)||i+"";t(new sm(Tx(o),i,l,s))}).catch(()=>{const o=i+"";t(new sm(a.statusText||`HTTP ${i} error`,i,o,s))})}else t(new yj(Tx(e),e,s))},H5=(e,t,r,s)=>{const a={method:e,headers:(t==null?void 0:t.headers)||{}};if(e==="GET"||e==="HEAD"||!s)return Y(Y({},a),r);if(z5(s)){var i;const o=(t==null?void 0:t.headers)||{};let l;for(const[c,d]of Object.entries(o))c.toLowerCase()==="content-type"&&(l=d);a.headers=V5(o,"Content-Type",(i=l)!==null&&i!==void 0?i:"application/json"),a.body=JSON.stringify(s)}else a.body=s;return t!=null&&t.duplex&&(a.duplex=t.duplex),Y(Y({},a),r)};function V5(e,t,r){const s=Y({},e);for(const a of Object.keys(s))a.toLowerCase()===t.toLowerCase()&&delete s[a];return s[t]=r,s}async function ji(e,t,r,s,a,i,o){return new Promise((l,c)=>{e(r,H5(t,s,a,i)).then(d=>{if(!d.ok)throw d;if(s!=null&&s.noResolveJson)return d;if(o==="vectors"){const u=d.headers.get("content-type");if(d.headers.get("content-length")==="0"||d.status===204)return{};if(!u||!u.includes("application/json"))return{}}return d.json()}).then(d=>l(d)).catch(d=>G5(d,c,s,o))})}function bj(e="storage"){return{get:async(t,r,s,a)=>ji(t,"GET",r,s,a,void 0,e),post:async(t,r,s,a,i)=>ji(t,"POST",r,a,i,s,e),put:async(t,r,s,a,i)=>ji(t,"PUT",r,a,i,s,e),head:async(t,r,s,a)=>ji(t,"HEAD",r,Y(Y({},s),{},{noResolveJson:!0}),a,void 0,e),remove:async(t,r,s,a,i)=>ji(t,"DELETE",r,a,i,s,e)}}const q5=bj("storage"),{get:jo,post:cr,put:im,head:K5,remove:Yp}=q5,Dt=bj("vectors");var ai=class{constructor(e,t={},r,s="storage"){this.shouldThrowOnError=!1,this.url=e,this.headers=Object.fromEntries(Object.entries(t).map(([a,i])=>[a.toLowerCase(),i])),this.fetch=F5(r),this.namespace=s}throwOnError(){return this.shouldThrowOnError=!0,this}setHeader(e,t){return this.headers=Y(Y({},this.headers),{},{[e.toLowerCase()]:t}),this}async handleOperation(e){var t=this;try{return{data:await e(),error:null}}catch(r){if(t.shouldThrowOnError)throw r;if(Sd(r))return{data:null,error:r};throw r}}},Y5=class{constructor(e,t){this.downloadFn=e,this.shouldThrowOnError=t}then(e,t){return this.execute().then(e,t)}async execute(){var e=this;try{return{data:(await e.downloadFn()).body,error:null}}catch(t){if(e.shouldThrowOnError)throw t;if(Sd(t))return{data:null,error:t};throw t}}};let vj;vj=Symbol.toStringTag;var J5=class{constructor(e,t){this.downloadFn=e,this.shouldThrowOnError=t,this[vj]="BlobDownloadBuilder",this.promise=null}asStream(){return new Y5(this.downloadFn,this.shouldThrowOnError)}then(e,t){return this.getPromise().then(e,t)}catch(e){return this.getPromise().catch(e)}finally(e){return this.getPromise().finally(e)}getPromise(){return this.promise||(this.promise=this.execute()),this.promise}async execute(){var e=this;try{return{data:await(await e.downloadFn()).blob(),error:null}}catch(t){if(e.shouldThrowOnError)throw t;if(Sd(t))return{data:null,error:t};throw t}}};const Q5={limit:100,offset:0,sortBy:{column:"name",order:"asc"}},Ax={cacheControl:"3600",contentType:"text/plain;charset=UTF-8",upsert:!1};var X5=class extends ai{constructor(e,t={},r,s){super(e,t,s,"storage"),this.bucketId=r}async uploadOrUpdate(e,t,r,s){var a=this;return a.handleOperation(async()=>{let i;const o=Y(Y({},Ax),s);let l=Y(Y({},a.headers),e==="POST"&&{"x-upsert":String(o.upsert)});const c=o.metadata;typeof Blob<"u"&&r instanceof Blob?(i=new FormData,i.append("cacheControl",o.cacheControl),c&&i.append("metadata",a.encodeMetadata(c)),i.append("",r)):typeof FormData<"u"&&r instanceof FormData?(i=r,i.has("cacheControl")||i.append("cacheControl",o.cacheControl),c&&!i.has("metadata")&&i.append("metadata",a.encodeMetadata(c))):(i=r,l["cache-control"]=`max-age=${o.cacheControl}`,l["content-type"]=o.contentType,c&&(l["x-metadata"]=a.toBase64(a.encodeMetadata(c))),(typeof ReadableStream<"u"&&i instanceof ReadableStream||i&&typeof i=="object"&&"pipe"in i&&typeof i.pipe=="function")&&!o.duplex&&(o.duplex="half")),s!=null&&s.headers&&(l=Y(Y({},l),s.headers));const d=a._removeEmptyFolders(t),u=a._getFinalPath(d),h=await(e=="PUT"?im:cr)(a.fetch,`${a.url}/object/${u}`,i,Y({headers:l},o!=null&&o.duplex?{duplex:o.duplex}:{}));return{path:d,id:h.Id,fullPath:h.Key}})}async upload(e,t,r){return this.uploadOrUpdate("POST",e,t,r)}async uploadToSignedUrl(e,t,r,s){var a=this;const i=a._removeEmptyFolders(e),o=a._getFinalPath(i),l=new URL(a.url+`/object/upload/sign/${o}`);return l.searchParams.set("token",t),a.handleOperation(async()=>{let c;const d=Y(Y({},Ax),s),u=Y(Y({},a.headers),{"x-upsert":String(d.upsert)});return typeof Blob<"u"&&r instanceof Blob?(c=new FormData,c.append("cacheControl",d.cacheControl),c.append("",r)):typeof FormData<"u"&&r instanceof FormData?(c=r,c.append("cacheControl",d.cacheControl)):(c=r,u["cache-control"]=`max-age=${d.cacheControl}`,u["content-type"]=d.contentType),{path:i,fullPath:(await im(a.fetch,l.toString(),c,{headers:u})).Key}})}async createSignedUploadUrl(e,t){var r=this;return r.handleOperation(async()=>{let s=r._getFinalPath(e);const a=Y({},r.headers);t!=null&&t.upsert&&(a["x-upsert"]="true");const i=await cr(r.fetch,`${r.url}/object/upload/sign/${s}`,{},{headers:a}),o=new URL(r.url+i.url),l=o.searchParams.get("token");if(!l)throw new Cd("No token returned by API");return{signedUrl:o.toString(),path:e,token:l}})}async update(e,t,r){return this.uploadOrUpdate("PUT",e,t,r)}async move(e,t,r){var s=this;return s.handleOperation(async()=>await cr(s.fetch,`${s.url}/object/move`,{bucketId:s.bucketId,sourceKey:e,destinationKey:t,de
474stinationBucket:r==null?void 0:r.destinationBucket},{headers:s.headers}))}async copy(e,t,r){var s=this;return s.handleOperation(async()=>({path:(await cr(s.fetch,`${s.url}/object/copy`,{bucketId:s.bucketId,sourceKey:e,destinationKey:t,destinationBucket:r==null?void 0:r.destinationBucket},{headers:s.headers})).Key}))}async createSignedUrl(e,t,r){var s=this;return s.handleOperation(async()=>{let a=s._getFinalPath(e);const i=typeof(r==null?void 0:r.transform)=="object"&&r.transform!==null&&Object.keys(r.transform).length>0;let o=await cr(s.fetch,`${s.url}/object/sign/${a}`,Y({expiresIn:t},i?{transform:r.transform}:{}),{headers:s.headers});const l=new URLSearchParams;r!=null&&r.download&&l.set("download",r.download===!0?"":r.download),(r==null?void 0:r.cacheNonce)!=null&&l.set("cacheNonce",String(r.cacheNonce));const c=l.toString();return{signedUrl:encodeURI(`${s.url}${o.signedURL}${c?`&${c}`:""}`)}})}async createSignedUrls(e,t,r){var s=this;return s.handleOperation(async()=>{const a=await cr(s.fetch,`${s.url}/object/sign/${s.bucketId}`,{expiresIn:t,paths:e},{headers:s.headers}),i=new URLSearchParams;r!=null&&r.download&&i.set("download",r.download===!0?"":r.download),(r==null?void 0:r.cacheNonce)!=null&&i.set("cacheNonce",String(r.cacheNonce));const o=i.toString();return a.map(l=>Y(Y({},l),{},{signedUrl:l.signedURL?encodeURI(`${s.url}${l.signedURL}${o?`&${o}`:""}`):null}))})}download(e,t,r){const s=typeof(t==null?void 0:t.transform)=="object"&&t.transform!==null&&Object.keys(t.transform).length>0?"render/image/authenticated":"object",a=new URLSearchParams;t!=null&&t.transform&&this.applyTransformOptsToQuery(a,t.transform),(t==null?void 0:t.cacheNonce)!=null&&a.set("cacheNonce",String(t.cacheNonce));const i=a.toString(),o=this._getFinalPath(e),l=()=>jo(this.fetch,`${this.url}/${s}/${o}${i?`?${i}`:""}`,{headers:this.headers,noResolveJson:!0},r);return new J5(l,this.shouldThrowOnError)}async info(e){var t=this;const r=t._getFinalPath(e);return t.handleOperation(async()=>am(await jo(t.fetch,`${t.url}/object/info/${r}`,{headers:t.headers})))}async exists(e){var t=this;const r=t._getFinalPath(e);try{return await K5(t.fetch,`${t.url}/object/${r}`,{headers:t.headers}),{data:!0,error:null}}catch(a){if(t.shouldThrowOnError)throw a;if(Sd(a)){var s;const i=a instanceof sm?a.status:a instanceof yj?(s=a.originalError)===null||s===void 0?void 0:s.status:void 0;if(i!==void 0&&[400,404].includes(i))return{data:!1,error:a}}throw a}}getPublicUrl(e,t){const r=this._getFinalPath(e),s=new URLSearchParams;t!=null&&t.download&&s.set("download",t.download===!0?"":t.download),t!=null&&t.transform&&this.applyTransformOptsToQuery(s,t.transform),(t==null?void 0:t.cacheNonce)!=null&&s.set("cacheNonce",String(t.cacheNonce));const a=s.toString(),i=typeof(t==null?void 0:t.transform)=="object"&&t.transform!==null&&Object.keys(t.transform).length>0?"render/image":"object";return{data:{publicUrl:encodeURI(`${this.url}/${i}/public/${r}`)+(a?`?${a}`:"")}}}async remove(e){var t=this;return t.handleOperation(async()=>await Yp(t.fetch,`${t.url}/object/${t.bucketId}`,{prefixes:e},{headers:t.headers}))}async list(e,t,r){var s=this;return s.handleOperation(async()=>{const a=Y(Y(Y({},Q5),t),{},{prefix:e||""});return await cr(s.fetch,`${s.url}/object/list/${s.bucketId}`,a,{headers:s.headers},r)})}async listV2(e,t){var r=this;return r.handleOperation(async()=>{const s=Y({},e);return await cr(r.fetch,`${r.url}/object/list-v2/${r.bucketId}`,s,{headers:r.headers},t)})}encodeMetadata(e){return JSON.stringify(e)}toBase64(e){return typeof Buffer<"u"?Buffer.from(e).toString("base64"):btoa(e)}_getFinalPath(e){return`${this.bucketId}/${e.replace(/^\/+/,"")}`}_removeEmptyFolders(e){return e.replace(/^\/|\/$/g,"").replace(/\/+/g,"/")}applyTransformOptsToQuery(e,t){return t.width&&e.set("width",t.width.toString()),t.height&&e.set("height",t.height.toString()),t.resize&&e.set("resize",t.resize),t.format&&e.set("format",t.format),t.quality&&e.set("quality",t.quality.toString()),e}};const Z5="2.103.2",Ko={"X-Client-Info":`storage-js/${Z5}`};var e3=class extends ai{constructor(e,t={},r,s){const a=new URL(e);s!=null&&s.useNewHostname&&/supabase\.(co|in|red)$/.test(a.hostname)&&!a.hostname.includes("storage.supabase.")&&(a.hostname=a.hostname.replace("supabase.","storage.supabase."));const i=a.href.replace(/\/$/,""),o=Y(Y({},Ko),t);super(i,o,r,"storage")}async listBuckets(e){var t=this;return t.handleOperation(async()=>{const r=t.listBucketOptionsToQueryString(e);return await jo(t.fetch,`${t.url}/bucket${r}`,{headers:t.headers})})}async getBucket(e){var t=this;return t.handleOperation(async()=>await jo(t.fetch,`${t.url}/bucket/${e}`,{headers:t.headers}))}async createBucket(e,t={public:!1}){var r=this;return r.handleOperation(async()=>await cr(r.fetch,`${r.url}/bucket`,{id:e,name:e,type:t.type,public:t.public,file_size_limit:t.fileSizeLimit,allowed_mime_types:t.allowedMimeTypes},{headers:r.headers}))}async updateBucket(e,t){var r=this;return r.handleOperation(async()=>await im(r.fetch,`${r.url}/bucket/${e}`,{id:e,name:e,public:t.public,file_size_limit:t.fileSizeLimit,allowed_mime_types:t.allowedMimeTypes},{headers:r.headers}))}async emptyBucket(e){var t=this;return t.handleOperation(async()=>await cr(t.fetch,`${t.url}/bucket/${e}/empty`,{},{headers:t.headers}))}async deleteBucket(e){var t=this;return t.handleOperation(async()=>await Yp(t.fetch,`${t.url}/bucket/${e}`,{},{headers:t.headers}))}listBucketOptionsToQueryString(e){const t={};return e&&("limit"in e&&(t.limit=String(e.limit)),"offset"in e&&(t.offset=String(e.offset)),e.search&&(t.search=e.search),e.sortColumn&&(t.sortColumn=e.sortColumn),e.sortOrder&&(t.sortOrder=e.sortOrder)),Object.keys(t).length>0?"?"+new URLSearchParams(t).toString():""}},t3=class extends ai{constructor(e,t={},r){const s=e.replace(/\/$/,""),a=Y(Y({},Ko),t);super(s,a,r,"storage")}async createBucket(e){var t=this;return t.handleOperation(async()=>await cr(t.fetch,`${t.url}/bucket`,{name:e},{headers:t.headers}))}async listBuckets(e){var t=this;return t.handleOperation(async()=>
474{const r=new URLSearchParams;(e==null?void 0:e.limit)!==void 0&&r.set("limit",e.limit.toString()),(e==null?void 0:e.offset)!==void 0&&r.set("offset",e.offset.toString()),e!=null&&e.sortColumn&&r.set("sortColumn",e.sortColumn),e!=null&&e.sortOrder&&r.set("sortOrder",e.sortOrder),e!=null&&e.search&&r.set("search",e.search);const s=r.toString(),a=s?`${t.url}/bucket?${s}`:`${t.url}/bucket`;return await jo(t.fetch,a,{headers:t.headers})})}async deleteBucket(e){var t=this;return t.handleOperation(async()=>await Yp(t.fetch,`${t.url}/bucket/${e}`,{},{headers:t.headers}))}from(e){var t=this;if(!W5(e))throw new Cd("Invalid bucket name: File, folder, and bucket names must follow AWS object key naming guidelines and should avoid the use of any other characters.");const r=new L5({baseUrl:this.url,catalogName:e,auth:{type:"custom",getHeaders:async()=>t.headers},fetch:this.fetch}),s=this.shouldThrowOnError;return new Proxy(r,{get(a,i){const o=a[i];return typeof o!="function"?o:async(...l)=>{try{return{data:await o.apply(a,l),error:null}}catch(c){if(s)throw c;return{data:null,error:c}}}}})}},r3=class extends ai{constructor(e,t={},r){const s=e.replace(/\/$/,""),a=Y(Y({},Ko),{},{"Content-Type":"application/json"},t);super(s,a,r,"vectors")}async createIndex(e){var t=this;return t.handleOperation(async()=>await Dt.post(t.fetch,`${t.url}/CreateIndex`,e,{headers:t.headers})||{})}async getIndex(e,t){var r=this;return r.handleOperation(async()=>await Dt.post(r.fetch,`${r.url}/GetIndex`,{vectorBucketName:e,indexName:t},{headers:r.headers}))}async listIndexes(e){var t=this;return t.handleOperation(async()=>await Dt.post(t.fetch,`${t.url}/ListIndexes`,e,{headers:t.headers}))}async deleteIndex(e,t){var r=this;return r.handleOperation(async()=>await Dt.post(r.fetch,`${r.url}/DeleteIndex`,{vectorBucketName:e,indexName:t},{headers:r.headers})||{})}},n3=class extends ai{constructor(e,t={},r){const s=e.replace(/\/$/,""),a=Y(Y({},Ko),{},{"Content-Type":"application/json"},t);super(s,a,r,"vectors")}async putVectors(e){var t=this;if(e.vectors.length<1||e.vectors.length>500)throw new Error("Vector batch size must be between 1 and 500 items");return t.handleOperation(async()=>await Dt.post(t.fetch,`${t.url}/PutVectors`,e,{headers:t.headers})||{})}async getVectors(e){var t=this;return t.handleOperation(async()=>await Dt.post(t.fetch,`${t.url}/GetVectors`,e,{headers:t.headers}))}async listVectors(e){var t=this;if(e.segmentCount!==void 0){if(e.segmentCount<1||e.segmentCount>16)throw new Error("segmentCount must be between 1 and 16");if(e.segmentIndex!==void 0&&(e.segmentIndex<0||e.segmentIndex>=e.segmentCount))throw new Error(`segmentIndex must be between 0 and ${e.segmentCount-1}`)}return t.handleOperation(async()=>await Dt.post(t.fetch,`${t.url}/ListVectors`,e,{headers:t.headers}))}async queryVectors(e){var t=this;return t.handleOperation(async()=>await Dt.post(t.fetch,`${t.url}/QueryVectors`,e,{headers:t.headers}))}async deleteVectors(e){var t=this;if(e.keys.length<1||e.keys.length>500)throw new Error("Keys batch size must be between 1 and 500 items");return t.handleOperation(async()=>await Dt.post(t.fetch,`${t.url}/DeleteVectors`,e,{headers:t.headers})||{})}},s3=class extends ai{constructor(e,t={},r){const s=e.replace(/\/$/,""),a=Y(Y({},Ko),{},{"Content-Type":"application/json"},t);super(s,a,r,"vectors")}async createBucket(e){var t=this;return t.handleOperation(async()=>await Dt.post(t.fetch,`${t.url}/CreateVectorBucket`,{vectorBucketName:e},{headers:t.headers})||{})}async getBucket(e){var t=this;return t.handleOperation(async()=>await Dt.post(t.fetch,`${t.url}/GetVectorBucket`,{vectorBucketName:e},{headers:t.headers}))}async listBuckets(e={}){var t=this;return t.handleOperation(async()=>await Dt.post(t.fetch,`${t.url}/ListVectorBuckets`,e,{headers:t.headers}))}async deleteBucket(e){var t=this;return t.handleOperation(async()=>await Dt.post(t.fetch,`${t.url}/DeleteVectorBucket`,{vectorBucketName:e},{headers:t.headers})||{})}},a3=class extends s3{constructor(e,t={}){super(e,t.headers||{},t.fetch)}from(e){return new i3(this.url,this.headers,e,this.fetch)}async createBucket(e){var t=()=>super.createBucket,r=this;return t().call(r,e)}async getBucket(e){var t=()=>super.getBucket,r=this;return t().call(r,e)}async listBuckets(e={}){var t=()=>super.listBuckets,r=this;return t().call(r,e)}async deleteBucket(e){var t=()=>super.deleteBucket,r=this;return t().call(r,e)}},i3=class extends r3{constructor(e,t,r,s){super(e,t,s),this.vectorBucketName=r}async createIndex(e){var t=()=>super.createIndex,r=this;return t().call(r,Y(Y({},e),{},{vectorBucketName:r.vectorBucketName}))}
474async listIndexes(e={}){var t=()=>super.listIndexes,r=this;return t().call(r,Y(Y({},e),{},{vectorBucketName:r.vectorBucketName}))}async getIndex(e){var t=()=>super.getIndex,r=this;return t().call(r,r.vectorBucketName,e)}async deleteIndex(e){var t=()=>super.deleteIndex,r=this;return t().call(r,r.vectorBucketName,e)}index(e){return new o3(this.url,this.headers,this.vectorBucketName,e,this.fetch)}},o3=class extends n3{constructor(e,t,r,s,a){super(e,t,a),this.vectorBucketName=r,this.indexName=s}async putVectors(e){var t=()=>super.putVectors,r=this;return t().call(r,Y(Y({},e),{},{vectorBucketName:r.vectorBucketName,indexName:r.indexName}))}async getVectors(e){var t=()=>super.getVectors,r=this;return t().call(r,Y(Y({},e),{},{vectorBucketName:r.vectorBucketName,indexName:r.indexName}))}async listVectors(e={}){var t=()=>super.listVectors,r=this;return t().call(r,Y(Y({},e),{},{vectorBucketName:r.vectorBucketName,indexName:r.indexName}))}async queryVectors(e){var t=()=>super.queryVectors,r=this;return t().call(r,Y(Y({},e),{},{vectorBucketName:r.vectorBucketName,indexName:r.indexName}))}async deleteVectors(e){var t=()=>super.deleteVectors,r=this;return t().call(r,Y(Y({},e),{},{vectorBucketName:r.vectorBucketName,indexName:r.indexName}))}},l3=class extends e3{constructor(e,t={},r,s){super(e,t,r,s)}from(e){return new X5(this.url,this.headers,e,this.fetch)}get vectors(){return new a3(this.url+"/vector",{headers:this.headers,fetch:this.fetch})}get analytics(){return new t3(this.url+"/iceberg",this.headers,this.fetch)}};function Ed(e,t){var r={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&t.indexOf(s)<0&&(r[s]=e[s]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,s=Object.getOwnPropertySymbols(e);a<s.length;a++)t.indexOf(s[a])<0&&Object.prototype.propertyIsEnumerable.call(e,s[a])&&(r[s[a]]=e[s[a]]);return r}const wj="2.103.2",na=30*1e3,om=3,Cu=om*na,c3="http://localhost:9999",d3="supabase.auth.token",u3={"X-Client-Info":`gotrue-js/${wj}`},lm="X-Supabase-Api-Version",jj={"2024-01-01":{timestamp:Date.parse("2024-01-01T00:00:00.0Z"),name:"2024-01-01"}},h3=/^([a-z0-9_-]{4})*($|[a-z0-9_-]{3}$|[a-z0-9_-]{2}$)$/i,m3=10*60*1e3;class No extends Error{constructor(t,r,s){super(t),this.__isAuthError=!0,this.name="AuthError",this.status=r,this.code=s}toJSON(){return{name:this.name,message:this.message,status:this.status,code:this.code}}}function F(e){return typeof e=="object"&&e!==null&&"__isAuthError"in e}class p3 extends No{constructor(t,r,s){super(t,r,s),this.name="AuthApiError",this.status=r,this.code=s}}function f3(e){return F(e)&&e.name==="AuthApiError"}class us extends No{constructor(t,r){super(t),this.name="AuthUnknownError",this.originalError=r}}class un extends No{constructor(t,r,s,a){super(t,s,a),this.name=r,this.status=s}}class At extends un{constructor(){super("Auth session missing!","AuthSessionMissingError",400,void 0)}}function Tl(e){return F(e)&&e.name==="AuthSessionMissingError"}class qs extends un{constructor(){super("Auth session or user missing","AuthInvalidToken
474ResponseError",500,void 0)}}class Al extends un{constructor(t){super(t,"AuthInvalidCredentialsError",400,void 0)}}class Pl extends un{constructor(t,r=null){super(t,"AuthImplicitGrantRedirectError",500,void 0),this.details=null,this.details=r}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{details:this.details})}}function g3(e){return F(e)&&e.name==="AuthImplicitGrantRedirectError"}class Px extends un{constructor(t,r=null){super(t,"AuthPKCEGrantCodeExchangeError",500,void 0),this.details=null,this.details=r}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{details:this.details})}}class x3 extends un{constructor(){super("PKCE code verifier not found in storage. This can happen if the auth flow was initiated in a different browser or device, or if the storage was cleared. For SSR frameworks (Next.js, SvelteKit, etc.), use @supabase/ssr on both the server and client to store the code verifier in cookies.","AuthPKCECodeVerifierMissingError",400,"pkce_code_verifier_not_found")}}class cm extends un{constructor(t,r){super(t,"AuthRetryableFetchError",r,void 0)}}function Su(e){return F(e)&&e.name==="AuthRetryableFetchError"}class Rx extends un{constructor(t,r,s){super(t,"AuthWeakPasswordError",r,"weak_password"),this.reasons=s}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{reasons:this.reasons})}}class dm extends un{constructor(t){super(t,"AuthInvalidJwtError",400,"invalid_jwt")}}const Mc="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".split(""),Dx=` 	
475\r=`.split(""),y3=(()=>{const e=new Array(128);for(let t=0;t<e.length;t+=1)e[t]=-1;for(let t=0;t<Dx.length;t+=1)e[Dx[t].charCodeAt(0)]=-2;for(let t=0;t<Mc.length;t+=1)e[Mc[t].charCodeAt(0)]=t;return e})();function Ix(e,t,r){if(e!==null)for(t.queue=t.queue<<8|e,t.queuedBits+=8;t.queuedBits>=6;){const s=t.queue>>t.queuedBits-6&63;r(Mc[s]),t.queuedBits-=6}else if(t.queuedBits>0)for(t.queue=t.queue<<6-t.queuedBits,t.queuedBits=6;t.queuedBits>=6;){const s=t.queue>>t.queuedBits-6&63;r(Mc[s]),t.queuedBits-=6}}function Nj(e,t,r){const s=y3[e];if(s>-1)for(t.queue=t.queue<<6|s,t.queuedBits+=6;t.queuedBits>=8;)r(t.queue>>t.queuedBits-8&255),t.queuedBits-=8;else{if(s===-2)return;throw new Error(`Invalid Base64-URL character "${String.fromCharCode(e)}"`)}}function Ox(e){const t=[],r=o=>{t.push(String.fromCodePoint(o))},s={utf8seq:0,codepoint:0},a={queue:0,queuedBits:0},i=o=>{w3(o,s,r)};for(let o=0;o<e.length;o+=1)Nj(e.charCodeAt(o),a,i);return t.join("")}function b3(e,t){if(e<=127){t(e);return}else if(e<=2047){t(192|e>>6),t(128|e&63);return}else if(e<=65535){t(224|e>>12),t(128|e>>6&63),t(128|e&63);return}else if(e<=1114111){t(240|e>>18),t(128|e>>12&63),t(128|e>>6&63),t(128|e&63);return}throw new Error(`Unrecognized Unicode codepoint: ${e.toString(16)}`)}function v3(e,t){for(let r=0;r<e.length;r+=1){let s=e.charCodeAt(r);if(s>55295&&s<=56319){const a=(s-55296)*1024&65535;s=(e.charCodeAt(r+1)-56320&65535|a)+65536,r+=1}b3(s,t)}}function w3(e,t,r){if(t.utf8seq===0){if(e<=127){r(e);return}for(let s=1;s<6;s+=1)if(!(e>>7-s&1)){t.utf8seq=s;break}if(t.utf8seq===2)t.codepoint=e&31;else if(t.utf8seq===3)t.codepoint=e&15;else if(t.utf8seq===4)t.codepoint=e&7;else throw new Error("Invalid UTF-8 sequence");t.utf8seq-=1}else if(t.utf8seq>0){if(e<=127)throw new Error("Invalid UTF-8 sequence");t.codepoint=t.codepoint<<6|e&63,t.utf8seq-=1,t.utf8seq===0&&r(t.codepoint)}}function _a(e){const t=[],r={queue:0,queuedBits:0},s=a=>{t.push(a)};for(let a=0;a<e.length;a+=1)Nj(e.charCodeAt(a),r,s);return new Uint8Array(t)}function j3(e){const t=[];return v3(e,r=>t.push(r)),new Uint8Array(t)}function gs(e){const t=[],r={queue:0,queuedBits:0},s=a=>{t.push(a)};return e.forEach(a=>Ix(a,r,s)),Ix(null,r,s),t.join("")}function N3(e){return Math.round(Date.now()/1e3)+e}function k3(){return Symbol("auth-callback")}const Ze=()=>typeof window<"u"&&typeof document<"u",ss={tested:!1,writable:!1},kj=()=>{if(!Ze())return!1;try{if(typeof globalThis.localStorage!="object")return!1}catch{return!1}if(ss.tested)return ss.writable;const e=`lswt-${Math.random()}${Math.random()}`;try{globalThis.localStorage.setItem(e,e),globalThis.localStorage.removeItem(e),ss.tested=!0,ss.writable=!0}catch{ss.tested=!0,ss.writable=!1}return ss.writable};function C3(e){const t={},r=new URL(e);if(r.hash&&r.hash[0]==="#")try{new URLSearchParams(r.hash.substring(1)).forEac
475h((a,i)=>{t[i]=a})}catch{}return r.searchParams.forEach((s,a)=>{t[a]=s}),t}const Cj=e=>e?(...t)=>e(...t):(...t)=>fetch(...t),S3=e=>typeof e=="object"&&e!==null&&"status"in e&&"ok"in e&&"json"in e&&typeof e.json=="function",sa=async(e,t,r)=>{await e.setItem(t,JSON.stringify(r))},as=async(e,t)=>{const r=await e.getItem(t);if(!r)return null;try{return JSON.parse(r)}catch{return r}},Xe=async(e,t)=>{await e.removeItem(t)};class _d{constructor(){this.promise=new _d.promiseConstructor((t,r)=>{this.resolve=t,this.reject=r})}}_d.promiseConstructor=Promise;function Rl(e){const t=e.split(".");if(t.length!==3)throw new dm("Invalid JWT structure");for(let s=0;s<t.length;s++)if(!h3.test(t[s]))throw new dm("JWT not in base64url format");return{header:JSON.parse(Ox(t[0])),payload:JSON.parse(Ox(t[1])),signature:_a(t[2]),raw:{header:t[0],payload:t[1]}}}async function E3(e){return await new Promise(t=>{setTimeout(()=>t(null),e)})}function _3(e,t){return new Promise((s,a)=>{(async()=>{for(let i=0;i<1/0;i++)try{const o=await e(i);if(!t(i,null,o)){s(o);return}}catch(o){if(!t(i,o)){a(o);return}}})()})}function T3(e){return("0"+e.toString(16)).substr(-2)}function A3(){const t=new Uint32Array(56);if(typeof crypto>"u"){const r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~",s=r.length;let a="";for(let i=0;i<56;i++)a+=r.charAt(Math.floor(Math.random()*s));return a}return crypto.getRandomValues(t),Array.from(t,T3).join("")}async function P3(e){const r=new TextEncoder().encode(e),s=await crypto.subtle.digest("SHA-256",r),a=new Uint8Array(s);return Array.from(a).map(i=>String.fromCharCode(i)).join("")}async function R3(e){if(!(typeof crypto<"u"&&typeof crypto.subtle<"u"&&typeof TextEncoder<"u"))return console.warn("WebCrypto API is not supported. Code challenge method will default to use plain instead of sha256."),e;const r=await P3(e);return btoa(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async function Ks(e,t,r=!1){const s=A3();let a=s;r&&(a+="/PASSWORD_RECOVERY"),await sa(e,`${t}-code-verifier`,a);const i=await R3(s);return[i,s===i?"plain":"s256"]}const D3=/^2[0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-9]|3[0-1])$/i;function I3(e){const t=e.headers.get(lm);if(!t||!t.match(D3))return null;try{return new Date(`${t}T00:00:00.0Z`)}catch{return null}}function O3(e){if(!e)throw new Error("Missing exp claim");const t=Math.floor(Date.now()/1e3);if(e<=t)throw new Error("JWT has expired")}function M3(e){switch(e){case"RS256":return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case"ES256":return{name:"ECDSA",namedCurve:"P-256",hash:{name:"SHA-256"}};default:throw new Error("Invalid alg claim")}}const L3=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;function Ys(e){if(!L3.test(e))throw new Error("@supabase/auth-js: Expected parameter to be UUID but is not")}function Eu(){const e={};return new Proxy(e,{get:(t,r)=>{if(r==="__isUserNotAvailableProxy")return!0;if(typeof r=="symbol"){const s=r.toString();if(s==="Symbol(Symbol.toPrimitive)"||s==="Symbol(Symbol.toStringTag)"||s==="Symbol(util.inspect.custom)")return}throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Accessing the "${r}" property of the session object is not supported. Please use getUser() instead.`)},set:(t,r)=>{throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Setting the "${r}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)},deleteProperty:(t,r)=>{throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Deleting the "${r}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)}})}function $3(e,t){return new Proxy(e,{get:(r,s,a)=>{if(s==="__isInsecureUserWarningProxy")return!0;if(typeof s=="symbol"){const i=s.toString();if(i==="Symbol(Symbol.toPrimitive)"||i==="Symbol(Symbol.toStringTag)"||i==="Symbol(util.inspect.custom)"||i==="Symbol(nodejs.util.inspect.custom)")return Reflect.get(r,s,a)}return!t.value&&typeof s=="string"&&(console.warn("Using the user object as returned from supabase.auth.getSession() or from some supabase.auth.onAuthStateChange() events could be insecure! This value comes directly from the storage medium (usually cookies on the server) and may not be authentic. Use supabase.auth.getUser() instead which authenticates the data by contacting the Supabase Auth server."),t.value=!0),Reflect.get(r,s,a)}})}function Mx(e){return JSON.parse(JSON.stringify(e))}const cs=e=>e.msg||e.message||e.error_description||e.error||JSON.stringify(e),U3=[502,503,504,520,521,522,523,524,530];async function Lx(e){var t;if(!S3(e))throw new cm(cs(e),0);if(U3.includes(e.status))throw new cm(cs(e),e.status);let r;try{r=await e.json()}catch(i){throw new us(cs(i),i)}let s;const a=I3(e);if(a&&a.getTime()>=jj["2024-01-01"].timestamp&&typeof r=="object"&&r&&typeof r.code=="string"?s=r.code:typeof r=="object"&&r&&typeof r.error_code=="string"&&(s=r.error_code),s){if(s==="weak_password")throw new Rx(cs(r),e.status,((t=r.weak_password)===null||t===void 0?void 0:t.reasons)||[]);if(s==="session_not_found")throw new At}else if(typeof r=="object"&&r&&typeof r.weak_password=="object"&&r.weak_password&&Array.isArray(r.weak_password.reasons)&&r.weak_password.reasons.length&&r.weak_password.reasons.reduce((i,o)=>
475i&&typeof o=="string",!0))throw new Rx(cs(r),e.status,r.weak_password.reasons);throw new p3(cs(r),e.status||500,s)}const B3=(e,t,r,s)=>{const a={method:e,headers:(t==null?void 0:t.headers)||{}};return e==="GET"?a:(a.headers=Object.assign({"Content-Type":"application/json;charset=UTF-8"},t==null?void 0:t.headers),a.body=JSON.stringify(s),Object.assign(Object.assign({},a),r))};async function q(e,t,r,s){var a;const i=Object.assign({},s==null?void 0:s.headers);i[lm]||(i[lm]=jj["2024-01-01"].name),s!=null&&s.jwt&&(i.Authorization=`Bearer ${s.jwt}`);const o=(a=s==null?void 0:s.query)!==null&&a!==void 0?a:{};s!=null&&s.redirectTo&&(o.redirect_to=s.redirectTo);const l=Object.keys(o).length?"?"+new URLSearchParams(o).toString():"",c=await F3(e,t,r+l,{headers:i,noResolveJson:s==null?void 0:s.noResolveJson},{},s==null?void 0:s.body);return s!=null&&s.xform?s==null?void 0:s.xform(c):{data:Object.assign({},c),error:null}}async function F3(e,t,r,s,a,i){const o=B3(t,s,a,i);let l;try{l=await e(r,Object.assign({},o))}catch(c){throw console.error(c),new cm(cs(c),0)}if(l.ok||await Lx(l),s!=null&&s.noResolveJson)return l;try{return await l.json()}catch(c){await Lx(c)}}function ir(e){var t;let r=null;G3(e)&&(r=Object.assign({},e),e.expires_at||(r.expires_at=N3(e.expires_in)));const s=(t=e.user)!==null&&t!==void 0?t:e;return{data:{session:r,user:s},error:null}}function $x(e){const t=ir(e);return!t.error&&e.weak_password&&typeof e.weak_password=="object"&&Array.isArray(e.weak_password.reasons)&&e.weak_password.reasons.length&&e.weak_password.message&&typeof e.weak_password.message=="string"&&e.weak_password.reasons.reduce((r,s)=>r&&typeof s=="string",!0)&&(t.data.weak_password=e.weak_password),t}function Tn(e){var t;return{data:{user:(t=e.user)!==null&&t!==void 0?t:e},error:null}}function z3(e){return{data:e,error:null}}function W3(e){const{action_link:t,email_otp:r,hashed_token:s,redirect_to:a,verification_type:i}=e,o=Ed(e,["action_link","email_otp","hashed_token","redirect_to","verification_type"]),l={action_link:t,email_otp:r,hashed_token:s,redirect_to:a,verification_type:i},c=Object.assign({},o);return{data:{properties:l,user:c},error:null}}function Ux(e){return e}function G3(e){return e.access_token&&e.refresh_token&&e.expires_in}const _u=["global","local","others"];class H3{constructor({url:t="",headers:r={},fetch:s}){this.url=t,this.headers=r,this.fetch=Cj(s),this.mfa={listFactors:this._listFactors.bind(this),deleteFactor:this._deleteFactor.bind(this)},this.oauth={listClients:this._listOAuthClients.bind(this),createClient:this._createOAuthClient.bind(this),getClient:this._getOAuthClient.bind(this),updateClient:this._updateOAuthClient.bind(this),deleteClient:this._deleteOAuthClient.bind(this),regenerateClientSecret:this._regenerateOAuthClientSecret.bind(this)},this.customProviders={listProviders:this._listCustomProviders.bind(this),createProvider:this._createCustomProvider.bind(this),getProvider:this._getCustomProvider.bind(this),updateProvider:this._updateCustomProvider.bind(this),deleteProvider:this._deleteCustomProvider.bind(this)}}async signOut(t,r=_u[0]){if(_u.indexOf(r)<0)throw new Error(`@supabase/auth-js: Parameter scope must be one of ${_u.join(", ")}`);try{return await q(this.fetch,"POST",`${this.url}/logout?scope=${r}`,{headers:this.headers,jwt:t,noResolveJson:!0}),{data:null,error:null}}catch(s){if(F(s))return{data:null,error:s};throw s}}async inviteUserByEmail(t,r={}){try{return await q(this.fetch,"POST",`${this.url}/invite`,{body:{email:t,data:r.data},headers:this.headers,redirectTo:r.redirectTo,xform:Tn})}catch(s){if(F(s))return{data:{user:null},error:s};throw s}}async generateLink(t){try{const{options:r}=t,s=Ed(t,["options"]),a=Object.assign(Object.assign({},s),r);return"newEmail"in s&&(a.new_email=s==null?void 0:s.newEmail,delete a.newEmail),await q(this.fetch,"POST",`${this.url}/admin/generate_link`,{body:a,headers:this.headers,xform:W3,redirectTo:r==null?void 0:r.redirectTo})}catch(r){if(F(r))return{data:{properties:null,user:null},error:r};throw r}}async createUser(t){try{return await q(this.fetch,"POST",`${this.url}/admin/users`,{body:t,headers:this.headers,xform:Tn})}catch(r){if(F(r))return{data:{user:null},error:r};throw r}}async listUsers(t){var r,s,a,i,o,l,c;try{const d={nextPage:null,lastPage:0,total:0},u=await q(this.fetch,"GET",`${this.url}/admin/users`,{headers:this.headers,noResolveJson:!0,query:{page:(s=(r=t==null?void 0:t.page)===null||r===void 0?void 0:r.toString())!==null&&s!==void 0?s:"",per_page:(i=(a=t==null?void 0:t.perPage)===null||a===void 0?void 0:a.toString())!==null&&i!==void 0?i:""},xform:Ux});if(u.error)throw u.error;const h=await u.json(),m=(o=u.headers.get("x-total-count"))!==null&&o!==void 0?o:0,p=(c=(l=u.headers.get("link"))===null||l===void 0?void 0:l.split(","))!==null&&c!==void 0?c:[];return p.length>
4750&&(p.forEach(y=>{const f=parseInt(y.split(";")[0].split("=")[1].substring(0,1)),v=JSON.parse(y.split(";")[1].split("=")[1]);d[`${v}Page`]=f}),d.total=parseInt(m)),{data:Object.assign(Object.assign({},h),d),error:null}}catch(d){if(F(d))return{data:{users:[]},error:d};throw d}}async getUserById(t){Ys(t);try{return await q(this.fetch,"GET",`${this.url}/admin/users/${t}`,{headers:this.headers,xform:Tn})}catch(r){if(F(r))return{data:{user:null},error:r};throw r}}async updateUserById(t,r){Ys(t);try{return await q(this.fetch,"PUT",`${this.url}/admin/users/${t}`,{body:r,headers:this.headers,xform:Tn})}catch(s){if(F(s))return{data:{user:null},error:s};throw s}}async deleteUser(t,r=!1){Ys(t);try{return await q(this.fetch,"DELETE",`${this.url}/admin/users/${t}`,{headers:this.headers,body:{should_soft_delete:r},xform:Tn})}catch(s){if(F(s))return{data:{user:null},error:s};throw s}}async _listFactors(t){Ys(t.userId);try{const{data:r,error:s}=await q(this.fetch,"GET",`${this.url}/admin/users/${t.userId}/factors`,{headers:this.headers,xform:a=>({data:{factors:a},error:null})});return{data:r,error:s}}catch(r){if(F(r))return{data:null,error:r};throw r}}async _deleteFactor(t){Ys(t.userId),Ys(t.id);try{return{data:await q(this.fetch,"DELETE",`${this.url}/admin/users/${t.userId}/factors/${t.id}`,{headers:this.headers}),error:null}}catch(r){if(F(r))return{data:null,error:r};throw r}}async _listOAuthClients(t){var r,s,a,i,o,l,c;try{const d={nextPage:null,lastPage:0,total:0},u=await q(this.fetch,"GET",`${this.url}/admin/oauth/clients`,{headers:this.headers,noResolveJson:!0,query:{page:(s=(r=t==null?void 0:t.page)===null||r===void 0?void 0:r.toString())!==null&&s!==void 0?s:"",per_page:(i=(a=t==null?void 0:t.perPage)===null||a===void 0?void 0:a.toString())!==null&&i!==void 0?i:""},xform:Ux});if(u.error)throw u.error;const h=await u.json(),m=(o=u.headers.get("x-total-count"))!==null&&o!==void 0?o:0,p=(c=(l=u.headers.get("link"))===null||l===void 0?void 0:l.split(","))!==null&&c!==void 0?c:[];return p.length>0&&(p.forEach(y=>{const f=parseInt(y.split(";")[0].split("=")[1].substring(0,1)),v=JSON.parse(y.split(";")[1].split("=")[1]);d[`${v}Page`]=f}),d.total=parseInt(m)),{data:Object.assign(Object.assign({},h),d),error:null}}catch(d){if(F(d))return{data:{clients:[]},error:d};throw d}}async _createOAuthClient(t){try{return await q(this.fetch,"POST",`${this.url}/admin/oauth/clients`,{body:t,headers:this.headers,xform:r=>({data:r,error:null})})}catch(r){if(F(r))return{data:null,error:r};throw r}}async _getOAuthClient(t){try{return await q(this.fetch,"GET",`${this.url}/admin/oauth/clients/${t}`,{headers:this.headers,xform:r=>({data:r,error:null})})}catch(r){if(F(r))return{data:null,error:r};throw r}}async _updateOAuthClient(t,r){try{return await q(this.fetch,"PUT",`${this.url}/admin/oauth/clients/${t}`,{body:r,headers:this.headers,xform:s=>({data:s,error:null})})}catch(s){if(F(s))return{data:null,error:s};throw s}}async _deleteOAuthClient(t){try{return await q(this.fetch,"DELETE",`${this.url}/admin/oauth/clients/${t}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(r){if(F(r))return{data:null,error:r};throw r}}async _regenerateOAuthClientSecret(t){try{return await q(this.fetch,"POST",`${this.url}/admin/oauth/clients/${t}/regenerate_secret`,{headers:this.headers,xform:r=>({data:r,error:null})})}catch(r){if(F(r))return{data:null,error:r};throw r}}async _listCustomProviders(t){try{const r={};return t!=null&&t.type&&(r.type=t.type),await q(this.fetch,"GET",`${this.url}/admin/custom-providers`,{headers:this.headers,query:r,xform:s=>{var a;return{data:{providers:(a=s==null?void 0:s.providers)!==null&&a!==void 0?a:[]},error:null}}})}catch(r){if(F(r))return{data:{providers:[]},error:r};throw r}}async _createCustomProvider(t){try{return await q(this.fetch,"POST",`${this.url}/admin/custom-providers`,{body:t,headers:this.headers,xform:r=>({data:r,error:null})})}catch(r){if(F(r))return{data:null,error:r};throw r}}async _getCustomProvider(t){try{return await q(this.fetch,"GET",`${this.url}/admin/custom-providers/${t}`,{headers:this.headers,xform:r=>({data:r,error:null})})}catch(r){if(F(r))return{data:null,error:r};throw r}}async _updateCustomProvider(t,r){try{return await q(this.fetch,"PUT",`${this.url}/admin/custom-providers/${t}`,{body:r,headers:this.headers,xform:s=>({data:s,error:null})})}catch(s){if(F(s))return{data:null,error:s};throw s}}async _deleteCustomProvider(t){try{return await q(this.fetch,"DELET
475E",`${this.url}/admin/custom-providers/${t}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(r){if(F(r))return{data:null,error:r};throw r}}}function Bx(e={}){return{getItem:t=>e[t]||null,setItem:(t,r)=>{e[t]=r},removeItem:t=>{delete e[t]}}}const Er={debug:!!(globalThis&&kj()&&globalThis.localStorage&&globalThis.localStorage.getItem("supabase.gotrue-js.locks.debug")==="true")};class Sj extends Error{constructor(t){super(t),this.isAcquireTimeout=!0}}class Fx extends Sj{}async function V3(e,t,r){Er.debug&&console.log("@supabase/gotrue-js: navigatorLock: acquire lock",e,t);const s=new globalThis.AbortController;let a;t>0&&(a=setTimeout(()=>{s.abort(),Er.debug&&console.log("@supabase/gotrue-js: navigatorLock acquire timed out",e)},t)),await Promise.resolve();try{return await globalThis.navigator.locks.request(e,t===0?{mode:"exclusive",ifAvailable:!0}:{mode:"exclusive",signal:s.signal},async i=>{if(i){clearTimeout(a),Er.debug&&console.log("@supabase/gotrue-js: navigatorLock: acquired",e,i.name);try{return await r()}finally{Er.debug&&console.log("@supabase/gotrue-js: navigatorLock: released",e,i.name)}}else{if(t===0)throw Er.debug&&console.log("@supabase/gotrue-js: navigatorLock: not immediately available",e),new Fx(`Acquiring an exclusive Navigator LockManager lock "${e}" immediately failed`);if(Er.debug)try{const o=await globalThis.navigator.locks.query();console.log("@supabase/gotrue-js: Navigator LockManager state",JSON.stringify(o,null,"  "))}catch(o){console.warn("@supabase/gotrue-js: Error when querying Navigator LockManager state",o)}return console.warn("@supabase/gotrue-js: Navigator LockManager returned a null lock when using #request without ifAvailable set to true, it appears this browser is not following the LockManager spec https://developer.mozilla.org/en-US/docs/Web/API/LockManager/request"),clearTimeout(a),await r()}})}catch(i){if(t>0&&clearTimeout(a),(i==null?void 0:i.name)==="AbortError"&&t>0){if(s.signal.aborted)return Er.debug&&console.log("@supabase/gotrue-js: navigatorLock: acquire timeout, recovering by stealing lock",e),console.warn(`@supabase/gotrue-js: Lock "${e}" was not released within ${t}ms. This may indicate an orphaned lock from a component unmount (e.g., React Strict Mode). Forcefully acquiring the lock to recover.`),await Promise.resolve().then(()=>globalThis.navigator.locks.request(e,{mode:"exclusive",steal:!0},async o=>{if(o){Er.debug&&console.log("@supabase/gotrue-js: navigatorLock: recovered (stolen)",e,o.name);try{return await r()}finally{Er.debug&&console.log("@supabase/gotrue-js: navigatorLock: released (stolen)",e,o.name)}}else return console.warn("@supabase/gotrue-js: Navigator LockManager returned null lock even with steal: true"),await r()}));throw Er.debug&&console.log("@supabase/gotrue-js: navigatorLock: lock was stolen by another request",e),new Fx(`Lock "${e}" was released because another request stole it`)}throw i}}function q3(){if(typeof globalThis!="object")try{Object.defineProperty(Object.prototype,"__magic__",{get:function(){return this},configurable:!0}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__}catch{typeof self<"u"&&(self.globalThis=self)}}function Ej(e){if(!/^0x[a-fA-F0-9]{40}$/.test(e))throw new Error(`@supabase/auth-js: Address "${e}" is invalid.`);return e.toLowerCase()}function K3(e){return parseInt(e,16)}function Y3(e){const t=new TextEncoder().encode(e);return"0x"+Array.from(t,s=>s.toString(16).padStart(2,"0")).join("")}function J3(e){var t;const{chainId:r,domain:s,expirationTime:a,issuedAt:i=new Date,nonce:o,notBefore:l,requestId:c,resources:d,scheme:u,uri:h,version:m}=e;{if(!Number.isInteger(r))throw new Error(`@supabase/auth-js: Invalid SIWE message field "chainId". Chain ID must be a EIP-155 chain ID. Provided value: ${r}`);if(!s)throw new Error('@supabase/auth-js: Invalid SIWE message field "domain". Domain must be provided.');if(o&&o.length<8)throw new Error(`@supabase/auth-js: Invalid SIWE message field "nonce". Nonce must be at least 8 characters. Provided value: ${o}`);if(!h)throw new Error('@supabase/auth-js: Invalid SIWE message field "uri". URI must be provided.');if(m!=="1")throw new Error(`@supabase/auth-js: Invalid SIWE message field "version". Version must be '1'. Provided value: ${m}`);if(!((t=e.statement)===null||t===void 0)&&t.includes(`
476`))throw new Error(`@supabase/auth-js: Invalid SIWE message field "statement". Statement must not include '\\n'. Provided value: ${e.statement}`)}const p=Ej(e.address),y=u?`${u}://${s}`:s,f=e.statement?`${e.statement}
477`:"",v=`${y}
477 wants you to sign in with your Ethereum account:
478${p}
479
480${f}`;let g=`URI: ${h}
481Version: ${m}
482Chain ID: ${r}${o?`
483Nonce: ${o}`:""}
484Issued At: ${i.toISOString()}`;if(a&&(g+=`
485Expiration Time: ${a.toISOString()}`),l&&(g+=`
486Not Before: ${l.toISOString()}`),c&&(g+=`
487Request ID: ${c}`),d){let x=`
488Resources:`;for(const b of d){if(!b||typeof b!="string")throw new Error(`@supabase/auth-js: Invalid SIWE message field "resources". Every resource must be a valid string. Provided value: ${b}`);x+=`
489- ${b}`}g+=x}return`${v}
490${g}`}class Fe extends Error{constructor({message:t,code:r,cause:s,name:a}){var i;super(t,{cause:s}),this.__isWebAuthnError=!0,this.name=(i=a??(s instanceof Error?s.name:void 0))!==null&&i!==void 0?i:"Unknown Error",this.code=r}}class Lc extends Fe{constructor(t,r){super({code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:r,message:t}),this.name="WebAuthnUnknownError",this.originalError=r}}function Q3({error:e,options:t}){var r,s,a;const{publicKey:i}=t;if(!i)throw Error("options was missing required publicKey property");if(e.name==="AbortError"){if(t.signal instanceof AbortSignal)return new Fe({message:"Registration ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:e})}else if(e.name==="ConstraintError"){if(((r=i.authenticatorSelection)===null||r===void 0?void 0:r.requireResidentKey)===!0)return new Fe({message:"Discoverable credentials were required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT",cause:e});if(t.mediation==="conditional"&&((s=i.authenticatorSelection)===null||s===void 0?void 0:s.userVerification)==="required")return new Fe({message:"User verification was required during automatic registration but it could not be performed",code:"ERROR_AUTO_REGISTER_USER_VERIFICATION_FAILURE",cause:e});if(((a=i.authenticatorSelection)===null||a===void 0?void 0:a.userVerification)==="required")return new Fe({message:"User verification was required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT",cause:e})}else{if(e.name==="InvalidStateError")return new Fe({message:"The authenticator was previously registered",code:"ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED",cause:e});if(e.name==="NotAllowedError")return new Fe({message:e.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e});if(e.name==="NotSupportedError")return i.pubKeyCredParams.filter(l=>l.type==="public-key").length===0?new Fe({message:'No entry in pubKeyCredParams was of type "public-key"',code:"ERROR_MALFORMED_PUBKEYCREDPARAMS",cause:e}):new Fe({message:"No available authenticator supported any of the specified pubKeyCredParams algorithms",code:"ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG",cause:e});if(e.name==="SecurityError"){const o=window.location.hostname;if(_j(o)){if(i.rp.id!==o)return new Fe({message:`The RP ID "${i.rp.id}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:e})}else return new Fe({message:`${window.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:e})}else if(e.name==="TypeError"){if(i.user.id.byteLength<1||i.user.id.byteLength>64)return new Fe({message:"User ID was not between 1 and 64 characters",code:"ERROR_INVALID_USER_ID_LENGTH",cause:e})}else if(e.name==="UnknownError")return new Fe({message:"The authenticator was unable to process the specified options, or could not create a new credential",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:e})}return new Fe({message:"a Non-Webauthn related error has occurred",code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e})}function X3({error:e,options:t}){const{publicKey:r}=t;if(!r)throw Error("options was missing required publicKey property");if(e.name==="AbortError"){if(t.signal instanceof AbortSignal)return new Fe({message:"Authentication ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:e})}else{if(e.name==="NotAllowedError")return new Fe({message:e.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e});if(e.name==="SecurityError"){const s=window.location.hostname;if(_j(s)){if(r.rpId!==s)return new Fe({message:`The RP ID "${r.rpId}
490" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:e})}else return new Fe({message:`${window.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:e})}else if(e.name==="UnknownError")return new Fe({message:"The authenticator was unable to process the specified options, or could not create a new assertion signature",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:e})}return new Fe({message:"a Non-Webauthn related error has occurred",code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e})}class Z3{createNewAbortSignal(){if(this.controller){const r=new Error("Cancelling existing WebAuthn API call for new one");r.name="AbortError",this.controller.abort(r)}const t=new AbortController;return this.controller=t,t.signal}cancelCeremony(){if(this.controller){const t=new Error("Manually cancelling existing WebAuthn API call");t.name="AbortError",this.controller.abort(t),this.controller=void 0}}}const eR=new Z3;function tR(e){if(!e)throw new Error("Credential creation options are required");if(typeof PublicKeyCredential<"u"&&"parseCreationOptionsFromJSON"in PublicKeyCredential&&typeof PublicKeyCredential.parseCreationOptionsFromJSON=="function")return PublicKeyCredential.parseCreationOptionsFromJSON(e);const{challenge:t,user:r,excludeCredentials:s}=e,a=Ed(e,["challenge","user","excludeCredentials"]),i=_a(t).buffer,o=Object.assign(Object.assign({},r),{id:_a(r.id).buffer}),l=Object.assign(Object.assign({},a),{challenge:i,user:o});if(s&&s.length>0){l.excludeCredentials=new Array(s.length);for(let c=0;c<s.length;c++){const d=s[c];l.excludeCredentials[c]=Object.assign(Object.assign({},d),{id:_a(d.id).buffer,type:d.type||"public-key",transports:d.transports})}}return l}function rR(e){if(!e)throw new Error("Credential request options are required");if(typeof PublicKeyCredential<"u"&&"parseRequestOptionsFromJSON"in PublicKeyCredential&&typeof PublicKeyCredential.parseRequestOptionsFromJSON=="function")return PublicKeyCredential.parseRequestOptionsFromJSON(e);const{challenge:t,allowCredentials:r}=e,s=Ed(e,["challenge","allowCredentials"]),a=_a(t).buffer,i=Object.assign(Object.assign({},s),{challenge:a});if(r&&r.length>0){i.allowCredentials=new Array(r.length);for(let o=0;o<r.length;o++){const l=r[o];i.allowCredentials[o]=Object.assign(Object.assign({},l),{id:_a(l.id).buffer,type:l.type||"public-key",transports:l.transports})}}return i}function nR(e){var t;if("toJSON"in e&&typeof e.toJSON=="function")return e.toJSON();const r=e;return{id:e.id,rawId:e.id,response:{attestationObject:gs(new Uint8Array(e.response.attestationObject)),clientDataJSON:gs(new Uint8Array(e.response.clientDataJSON))},type:"public-key",clientExtensionResults:e.getClientExtensionResults(),authenticatorAttachment:(t=r.authenticatorAttachment)!==null&&t!==void 0?t:void 0}}function sR(e){var t;if("toJSON"in e&&typeof e.toJSON=="function")return e.toJSON();const r=e,s=e.getClientExtensionResults(),a=e.response;return{id:e.id,rawId:e.id,response:{authenticatorData:gs(new Uint8Array(a.authenticatorData)),clientDataJSON:gs(new Uint8Array(a.clientDataJSON)),signature:gs(new Uint8Array(a.signature)),userHandle:a.userHandle?gs(new Uint8Array(a.userHandle)):void 0},type:"public-key",clientExtensionResults:s,authenticatorAttachment:(t=r.authenticatorAttachment)!==null&&t!==void 0?t:void 0}}function _j(e){return e==="localhost"||/^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$/i.test(e)}function zx(){var e,t;return!!(Ze()&&"PublicKeyCredential"in window&&window.PublicKeyCredential&&"credentials"in navigator&&typeof((e=navigator==null?void 0:navigator.credentials)===null||e===void 0?void 0:e.create)=="function"&&typeof((t=navigator==null?void 0:navigator.credentials)===null||t===void 0?void 0:t.get)=="function")}async function aR(e){try{const t=await navigator.credentials.create(e);return t?t instanceof PublicKeyCredential?{data:t,error:null}:{data:null,error:new Lc("Browser returned unexpected credential type",t)}:{data:null,error:new Lc("Empty credential response",t)}}catch(t){return{data:null,error:Q3({error:t,options:e})}}}async function iR(e){try{const t=await navigator.credentials.get(e);return t?t instanceof PublicKeyCredential?{data:t,error:null}:{data:null,error:new Lc("Browser returned unexpected credential type",t)}:{data:null,error:new Lc("Empty credential response",t)}}
490catch(t){return{data:null,error:X3({error:t,options:e})}}}const oR={hints:["security-key"],authenticatorSelection:{authenticatorAttachment:"cross-platform",requireResidentKey:!1,userVerification:"preferred",residentKey:"discouraged"},attestation:"direct"},lR={userVerification:"preferred",hints:["security-key"],attestation:"direct"};function $c(...e){const t=a=>a!==null&&typeof a=="object"&&!Array.isArray(a),r=a=>a instanceof ArrayBuffer||ArrayBuffer.isView(a),s={};for(const a of e)if(a)for(const i in a){const o=a[i];if(o!==void 0)if(Array.isArray(o))s[i]=o;else if(r(o))s[i]=o;else if(t(o)){const l=s[i];t(l)?s[i]=$c(l,o):s[i]=$c(o)}else s[i]=o}return s}function cR(e,t){return $c(oR,e,t||{})}function dR(e,t){return $c(lR,e,t||{})}class uR{constructor(t){this.client=t,this.enroll=this._enroll.bind(this),this.challenge=this._challenge.bind(this),this.verify=this._verify.bind(this),this.authenticate=this._authenticate.bind(this),this.register=this._register.bind(this)}async _enroll(t){return this.client.mfa.enroll(Object.assign(Object.assign({},t),{factorType:"webauthn"}))}async _challenge({factorId:t,webauthn:r,friendlyName:s,signal:a},i){var o;try{const{data:l,error:c}=await this.client.mfa.challenge({factorId:t,webauthn:r});if(!l)return{data:null,error:c};const d=a??eR.createNewAbortSignal();if(l.webauthn.type==="create"){const{user:u}=l.webauthn.credential_options.publicKey;if(!u.name){const h=s;if(h)u.name=`${u.id}:${h}`;else{const p=(await this.client.getUser()).data.user,y=((o=p==null?void 0:p.user_metadata)===null||o===void 0?void 0:o.name)||(p==null?void 0:p.email)||(p==null?void 0:p.id)||"User";u.name=`${u.id}:${y}`}}u.displayName||(u.displayName=u.name)}switch(l.webauthn.type){case"create":{const u=cR(l.webauthn.credential_options.publicKey,i==null?void 0:i.create),{data:h,error:m}=await aR({publicKey:u,signal:d});return h?{data:{factorId:t,challengeId:l.id,webauthn:{type:l.webauthn.type,credential_response:h}},error:null}:{data:null,error:m}}case"request":{const u=dR(l.webauthn.credential_options.publicKey,i==null?void 0:i.request),{data:h,error:m}=await iR(Object.assign(Object.assign({},l.webauthn.credential_options),{publicKey:u,signal:d}));return h?{data:{factorId:t,challengeId:l.id,webauthn:{type:l.webauthn.type,credential_response:h}},error:null}:{data:null,error:m}}}}catch(l){return F(l)?{data:null,error:l}:{data:null,error:new us("Unexpected error in challenge",l)}}}async _verify({challengeId:t,factorId:r,webauthn:s}){return this.client.mfa.verify({factorId:r,challengeId:t,webauthn:s})}async _authenticate({factorId:t,webauthn:{rpId:r=typeof window<"u"?window.location.hostname:void 0,rpOrigins:s=typeof window<"u"?[window.location.origin]:void 0,signal:a}={}},i){if(!r)return{data:null,error:new No("rpId is required for WebAuthn authentication")};try{if(!zx())return{data:null,error:new us("Browser does not support WebAuthn",null)};const{data:o,error:l}=await this.challenge({factorId:t,webauthn:{rpId:r,rpOrigins:s},signal:a},{request:i});if(!o)return{data:null,error:l};const{webauthn:c}=o;return this._verify({factorId:t,challengeId:o.challengeId,webauthn:{type:c.type,rpId:r,rpOrigins:s,credential_response:c.credential_response}})}catch(o){return F(o)?{data:null,error:o}:{data:null,error:new us("Unexpected error in authenticate",o)}}}async _register({friendlyName:t,webauthn:{rpId:r=typeof window<"u"?window.location.hostname:void 0,rpOrigins:s=typeof window<"u"?[window.location.origin]:void 0,signal:a}={}},i){if(!r)return{data:null,error:new No("rpId is required for WebAuthn registration")};try{if(!zx())return{data:null,error:new us("Browser does not support WebAuthn",null)};const{data:o,error:l}=await this._enroll({friendlyName:t});if(!o)return await this.client.mfa.listFactors().then(u=>{var h;return(h=u.data)===null||h===void 0?void 0:h.all.find(m=>m.factor_type==="webauthn"&&m.friendly_name===t&&m.status!=="unverified")}).then(u=>u?this.client.mfa.unenroll({factorId:u==null?void 0:u.id}):void 0),{data:null,error:l};const{data:c,error:d}=await this._challenge({factorId:o.id,friendlyName:o.friendly_name,webauthn:{rpId:r,rpOrigins:s},signal:a},{create:i});return c?this._verify({factorId:o.id,challengeId:c.challengeId,webauthn:{rpId:r,rpOrigins:s,type:c.webauthn.type,credential_response:c.webauthn.credential_response}}):{data:null,error:d}}catch(o){return F(o)?{data:null,error:o}:{data:null,error:new us("Unexpected error in register",o)}}}}q3();const hR={url:c3,storageKey:d3,autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,headers:u3,flowType:"implicit",debug:!1,hasCustomAuthorizationHeader:!1,throwOnError:!1,lockAcquireTimeout:5e3,skipAutoInitialize:!1};async function Wx(e,t,r){return await r()}const Js={};class ko{get jwks(){var t,r;return(r=(t=Js[this.storageKey])===null||t===void 0?void 0:t.jwks)!==null&&r!==void 0?r:{keys:[]}}set jwks(t){Js[this.storageKey]=Object.assign(Object.assign({},Js[this.storageKey]),{jwks:t})}get jwks_cached_at(){var t,r;return(r=(t=Js[this.storageKey])===null||t===void 0?void 0:t.cachedAt)!==null&&r!==void 0?r:Number.MIN_SAFE_INTEGER}set jwks_cached_at(t){Js[this.storageKey]=Object.assign(Object.assign({},Js[this.storageKey]),{cachedAt:t})}constructor(t){var r,s,a;this.userStorage=null,this.memoryStorage=null,this.stateChangeEmitters=new Map,this.autoRefreshTicker=null,this.autoRefreshTickTimeout=null,this.visibilityChangedCallback=null,this.refreshingDeferred=null,this.initializePromise=null,this.detectSessionInUrl=!0,this.hasCustomAuthorizationHeader=!1,this.suppressGetSessionWarning=!1,this.lockAcquired=!1,this.pendingInLock=[],this.broadcastChannel=null,this.logger=console.log;const i=Object.assign(Object.assign({},hR),t);if(this.storageKey=i.storageKey,this.instanceID=(r=ko.nextInstanceID[this.storageKey])!==null&&r!==void 0?r:0,ko.nextInstanceID[this.storageKey]=this.instanceID+1,this.logDebugMessages=!!i.debug,typeof i.debug=="function"&&(this.logger=i.debug),this.instanceID>0&&Ze()){const o=`${this._logPrefix()} Multiple GoTrueClient instances detected in the same browser context. It is not an error, but this should be avoided as it may produce undefined behavior when used concurrently under the same storage key.`;console.warn(o),this.logDebugMessages&&console.trace(o)}if(this.persistSession=i.persistSession,this.autoRefreshToken=i.autoRefreshToken,this.admin=new H3({url:i.url,headers:i.headers,fetch:i.fetch}),this.url=i.url,this.headers=i.headers,this.fetch=Cj(i.fetch),this.lock=i.lock||Wx,this.detectSessionInUrl=i.detectSessionInUrl,this.flowType=i.flowType,this.hasCustomAuthorizationHeader=i.hasCustomAuthorizationHeader,this.throwOnError=i.throwOnError,this.lockAcquireTimeout=i.lockAcquireTimeout,i.lock?this.lock=i.lock:this.persistSession&&Ze()&&(!((s=globalThis==null?void 0:globalThis.navigator)===null||s===void 0)&&s.locks)?this.lock=V3:this.lock=Wx,this.jwks||(this.jwks={keys:[]},this.jwks_cached_at=Number.MIN_SAFE_INTEGER),this.mfa={verify:this._verify.bind(this),enroll:this._enroll.bind(this),unenroll:this._unenroll.bind(this),challenge:this._challenge.bind(this),listFactors:this._listFactors.bind(this),challengeAndVerify:this._challengeAndVerify.bind(this),getAuthenticatorAssuranceLevel:this._getAuthenticatorAssuranceLevel.bind(this),webauthn:new uR(this)}
490,this.oauth={getAuthorizationDetails:this._getAuthorizationDetails.bind(this),approveAuthorization:this._approveAuthorization.bind(this),denyAuthorization:this._denyAuthorization.bind(this),listGrants:this._listOAuthGrants.bind(this),revokeGrant:this._revokeOAuthGrant.bind(this)},this.persistSession?(i.storage?this.storage=i.storage:kj()?this.storage=globalThis.localStorage:(this.memoryStorage={},this.storage=Bx(this.memoryStorage)),i.userStorage&&(this.userStorage=i.userStorage)):(this.memoryStorage={},this.storage=Bx(this.memoryStorage)),Ze()&&globalThis.BroadcastChannel&&this.persistSession&&this.storageKey){try{this.broadcastChannel=new globalThis.BroadcastChannel(this.storageKey)}catch(o){console.error("Failed to create a new BroadcastChannel, multi-tab state changes will not be available",o)}(a=this.broadcastChannel)===null||a===void 0||a.addEventListener("message",async o=>{this._debug("received broadcast notification from other tab or client",o);try{await this._notifyAllSubscribers(o.data.event,o.data.session,!1)}catch(l){this._debug("#broadcastChannel","error",l)}})}i.skipAutoInitialize||this.initialize().catch(o=>{this._debug("#initialize()","error",o)})}isThrowOnErrorEnabled(){return this.throwOnError}_returnResult(t){if(this.throwOnError&&t&&t.error)throw t.error;return t}_logPrefix(){return`GoTrueClient@${this.storageKey}:${this.instanceID} (${wj}) ${new Date().toISOString()}`}_debug(...t){return this.logDebugMessages&&this.logger(this._logPrefix(),...t),this}async initialize(){return this.initializePromise?await this.initializePromise:(this.initializePromise=(async()=>await this._acquireLock(this.lockAcquireTimeout,async()=>await this._initialize()))(),await this.initializePromise)}async _initialize(){var t;try{let r={},s="none";if(Ze()&&(r=C3(window.location.href),this._isImplicitGrantCallback(r)?s="implicit":await this._isPKCECallback(r)&&(s="pkce")),Ze()&&this.detectSessionInUrl&&s!=="none"){const{data:a,error:i}=await this._getSessionFromURL(r,s);if(i){if(this._debug("#_initialize()","error detecting session from URL",i),g3(i)){const c=(t=i.details)===null||t===void 0?void 0:t.code;if(c==="identity_already_exists"||c==="identity_not_found"||c==="single_identity_not_deletable")return{error:i}}return{error:i}}const{session:o,redirectType:l}=a;return this._debug("#_initialize()","detected session in URL",o,"redirect type",l),await this._saveSession(o),setTimeout(async()=>{l==="recovery"?await this._notifyAllSubscribers("PASSWORD_RECOVERY",o):await this._notifyAllSubscribers("SIGNED_IN",o)},0),{error:null}}return await this._recoverAndRefresh(),{error:null}}catch(r){return F(r)?this._returnResult({error:r}):this._returnResult({error:new us("Unexpected error during initialization",r)})}finally{await this._handleVisibilityChange(),this._debug("#_initialize()","end")}}async signInAnonymously(t){var r,s,a;try{const i=await q(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{data:(s=(r=t==null?void 0:t.options)===null||r===void 0?void 0:r.data)!==null&&s!==void 0?s:{},gotrue_meta_security:{captcha_token:(a=t==null?void 0:t.options)===null||a===void 0?void 0:a.captchaToken}},xform:ir}),{data:o,error:l}=i;if(l||!o)return this._returnResult({data:{user:null,session:null},error:l});const c=o.session,d=o.user;return o.session&&(await this._saveSession(o.session),await this._notifyAllSubscribers("SIGNED_IN",c)),this._returnResult({data:{user:d,session:c},error:null})}catch(i){if(F(i))return this._returnResult({data:{user:null,session:null},error:i});throw i}}async signUp(t){var r,s,a;try{let i;if("email"in t){const{email:u,password:h,options:m}=t;let p=null,y=null;this.flowType==="pkce"&&([p,y]=await Ks(this.storage,this.storageKey)),i=await q(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,redirectTo:m==null?void 0:m.emailRedirectTo,body:{email:u,password:h,data:(r=m==null?void 0:m.data)!==null&&r!==void 0?r:{},gotrue_meta_security:{captcha_token:m==null?void 0:m.captchaToken},code_challenge:p,code_challenge_method:y},xform:ir})}else if("phone"in t){const{phone:u,password:h,options:m}=t;i=await q(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{phone:u,password:h,data:(s=m==null?void 0:m.data)!==null&&s!==void 0?s:{},channel:(a=m==null?void 0:m.channel)!==null&&a!==void 0?a:"sms",gotrue_meta_security:{captcha_token:m==null?void 0:m.captchaToken}},xform:ir})}else throw new Al("You must provide either an email or phone number and a password");const{data:o,error:l}=i;if(l||!o)return await Xe(this.storage,`${this.storageKey}-code-verifier`),this._returnResult({data:{user:null,session:null},error:l});const c=o.session,d=o.user;return o.session&&(await this._saveSession(o.session),await this._notifyAllSubscribers("SIGNED_IN",c)),this._returnResult({data:{user:d,session:c},error:null})}catch(i){if(await Xe(this.storage,`${this.storageKey}-code-verifier`),F(i))return this._returnResult({data:{user:null,session:null},error:i});throw i}}async signInWithPassword(t){try{let r;if("email"in t){const{email:i,password:o,options:l}=t;r=await q(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{email:i,password:o,gotrue_meta_security:{captcha_token:l==null?void 0:l.captchaToken}},xform:$x})}else if("phone"in t){const{phone:i,password:o,options:l}=t;r=await q(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{phone:i,password:o,gotrue_meta_security:{captcha_token:l==null?void 0:l.captchaToken}},xform:$x})}else throw new Al("You must provide either an email or phone number and a password");const{data:s,error:a}=r;if(a)return this._returnResult({data:{user:null,session:null},error:a});if(!s||!s.session||!s.user){const i=new qs;return this._returnResult({data:{user:null,session:null},error:i})}return s.session&&(await this._saveSession(s.session),await this._notifyAllSubscribers("SIGNED_IN",s.session)),this._returnResult({data:Object.assign({user:s.user,session:s.session},s.weak_password?{weakPassword:s.weak_password}:null),error:a})}catch(r){if(F(r))return this._returnResult({data:{user:null,session:null},error:r});throw r}}async signInWithOAuth(t){var r,s,a,i;return await this._handleProviderSignIn(t.provider,{redirectTo:(r=t.options)===null||r===void 0?void 0:r.redirectTo,scopes:(s=t.options)===null||s===void 0?void 0:s.scopes,queryParams:(a=t.options)===null||a===void 0?void 0:a.queryParams,skipBrowserRedirect:(i=t.options)===null||i===void 0?void 0:i.skipBrowserRedirect})}async exchangeCodeForSession(t){return await this.initializePromise,this._acquireLock(this.lockAcquireTimeout,async()=>this._exchangeCodeForSession(t))}async signInWithWeb3(t){const{chain:r}=t;switch(r){case"ethereum":return await this.signInWithEthereum(t);case"solana":return await this.signInWithSolana(t);default:throw new Error(`@supabase/auth-js: Unsupported chain "${r}"`)}}async signInWithEthereum(t){var r,s,a,i,o,l,c,d,u,h,m;let p,y;if("message"in t)p=t.message,y=t.signature;else{const{chain:f,wallet:v,statement:g,options:x}=t;let b;if(Ze())if(typeof v=="object")b=v;else{const _=window;if("ethereum"in _&&typeof _.ethereum=="object"&&"request"in _.ethereum&&typeof _.ethereum.request=="function")b=_.ethereum;else throw new Error("@supabase/auth-js: No compatible Ethereum wallet interface on the window object (window.ethereum) detected. Make sure the user already has a wallet installed and connected for this app. Prefer passing the wallet interface object directly to signInWithWeb3({ chain: 'ethereum', wallet: resolvedUserWallet }) instead.")}else{if(typeof v!="object"||!(x!=null&&x.url))throw new Error("@supabase/auth-js: Both wallet and url must be specified in non-browser environments.");b=v}const j=new URL((r=x==null?void 0:x.url)!==null&&r!==void 0?r:window.location.href),N=await b.request({method:"eth_requestAccounts"}).then(_=>_).catch(()=>{throw new Error("@supabase/auth-js: Wallet method eth_requestAccounts is missing or invalid")});if(!N||N.length===0)throw new Error("@supabase/auth-js: No accounts available. Please ensure the wallet is connected.");const k=Ej(N[0]);let C=(s=x==null?void 0:x.signInWithEthereum)===null||s===void 0?void 0:s.chainId;if(!C){const _=await b.request({method:"eth_chainId"});C=K3(_)}const S={domain:j.host,address:k,statement:g,uri:j.href,version:"1",chainId:C,nonce:(a=x==null?void 0:x.signInWithEthereum)===null||a===void 0?void 0:a.nonce,issuedAt:(o=(i=x==null?void 0:x.signInWithEthereum)===null||i===void 0?void 0:i.issuedAt)!==null&&o!==void 0?o:new Date,expirationTime:(l=x==null?void 0:x.signInWithEthereum)===null||l===void 0?void 0:l.expirationTime,notBefore:(c=x==null?void 0:x.signInWithEthereum)===null||c===void 0?void 0:c.notBefore,requestId:(d=x==null?void 0:x.signInWithEthereum)===null||d===void 0?void 0:d.requestId,resources:(u=x==null?void 0:x.signInWithEthereum)===null||u===void 0?void 0:u.resources};p=J3(S),y=await b.request({method:"personal_sign",params:[Y3(p),k]})}try{const{data:f,error:v}=await q(this.fetch,"POST",`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:"ethereum",message:p,signature:y}
490,!((h=t.options)===null||h===void 0)&&h.captchaToken?{gotrue_meta_security:{captcha_token:(m=t.options)===null||m===void 0?void 0:m.captchaToken}}:null),xform:ir});if(v)throw v;if(!f||!f.session||!f.user){const g=new qs;return this._returnResult({data:{user:null,session:null},error:g})}return f.session&&(await this._saveSession(f.session),await this._notifyAllSubscribers("SIGNED_IN",f.session)),this._returnResult({data:Object.assign({},f),error:v})}catch(f){if(F(f))return this._returnResult({data:{user:null,session:null},error:f});throw f}}async signInWithSolana(t){var r,s,a,i,o,l,c,d,u,h,m,p;let y,f;if("message"in t)y=t.message,f=t.signature;else{const{chain:v,wallet:g,statement:x,options:b}=t;let j;if(Ze())if(typeof g=="object")j=g;else{const k=window;if("solana"in k&&typeof k.solana=="object"&&("signIn"in k.solana&&typeof k.solana.signIn=="function"||"signMessage"in k.solana&&typeof k.solana.signMessage=="function"))j=k.solana;else throw new Error("@supabase/auth-js: No compatible Solana wallet interface on the window object (window.solana) detected. Make sure the user already has a wallet installed and connected for this app. Prefer passing the wallet interface object directly to signInWithWeb3({ chain: 'solana', wallet: resolvedUserWallet }) instead.")}else{if(typeof g!="object"||!(b!=null&&b.url))throw new Error("@supabase/auth-js: Both wallet and url must be specified in non-browser environments.");j=g}const N=new URL((r=b==null?void 0:b.url)!==null&&r!==void 0?r:window.location.href);if("signIn"in j&&j.signIn){const k=await j.signIn(Object.assign(Object.assign(Object.assign({issuedAt:new Date().toISOString()},b==null?void 0:b.signInWithSolana),{version:"1",domain:N.host,uri:N.href}),x?{statement:x}:null));let C;if(Array.isArray(k)&&k[0]&&typeof k[0]=="object")C=k[0];else if(k&&typeof k=="object"&&"signedMessage"in k&&"signature"in k)C=k;else throw new Error("@supabase/auth-js: Wallet method signIn() returned unrecognized value");if("signedMessage"in C&&"signature"in C&&(typeof C.signedMessage=="string"||C.signedMessage instanceof Uint8Array)&&C.signature instanceof Uint8Array)y=typeof C.signedMessage=="string"?C.signedMessage:new TextDecoder().decode(C.signedMessage),f=C.signature;else throw new Error("@supabase/auth-js: Wallet method signIn() API returned object without signedMessage and signature fields")}else{if(!("signMessage"in j)||typeof j.signMessage!="function"||!("publicKey"in j)||typeof j!="object"||!j.publicKey||!("toBase58"in j.publicKey)||typeof j.publicKey.toBase58!="function")throw new Error("@supabase/auth-js: Wallet does not have a compatible signMessage() and publicKey.toBase58() API");y=[`${N.host} wants you to sign in with your Solana account:`,j.publicKey.toBase58(),...x?["",x,""]:[""],"Version: 1",`URI: ${N.href}`,`Issued At: ${(a=(s=b==null?void 0:b.signInWithSolana)===null||s===void 0?void 0:s.issuedAt)!==null&&a!==void 0?a:new Date().toISOString()}`,...!((i=b==null?void 0:b.signInWithSolana)===null||i===void 0)&&i.notBefore?[`Not Before: ${b.signInWithSolana.notBefore}`]:[],...!((o=b==null?void 0:b.signInWithSolana)===null||o===void 0)&&o.expirationTime?[`Expiration Time: ${b.signInWithSolana.expirationTime}`]:[],...!((l=b==null?void 0:b.signInWithSolana)===null||l===void 0)&&l.chainId?[`Chain ID: ${b.signInWithSolana.chainId}`]:[],...!((c=b==null?void 0:b.signInWithSolana)===null||c===void 0)&&c.nonce?[`Nonce: ${b.signInWithSolana.nonce}`]:[],...!((d=b==null?void 0:b.signInWithSolana)===null||d===void 0)&&d.requestId?[`Request ID: ${b.signInWithSolana.requestId}`]:[],...!((h=(u=b==null?void 0:b.signInWithSolana)===null||u===void 0?void 0:u.resources)===null||h===void 0)&&h.length?["Resources",...b.signInWithSolana.resources.map(C=>`- ${C}`)]:[]].join(`
491`);const k=await j.signMessage(new TextEncoder().encode(y),"utf8");if(!k||!(k instanceof Uint8Array))throw new Error("@supabase/auth-js: Wallet signMessage() API returned an recognized value");f=k}}try{const{data:v,error:g}=await q(this.fetch,"POST",`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:"solana",message:y,signature:gs(f)},!((m=t.options)===null||m===void 0)&&m.captchaToken?{gotrue_meta_security:{captcha_token:(p=t.options)===null||p===void 0?void 0:p.captchaToken}}:null),xform:ir});if(g)throw g;if(!v||!v.session||!v.user){const x=new qs;return this._returnResult({data:{user:null,session:null},error:x})}return v.session&&(await this._saveSession(v.session),await this._notifyAllSubscribers("SIGNED_IN",v.session)),this._returnResult({data:Object.assign({},v),error:g})}catch(v){if(F(v))return this._returnResult({data:{user:null,session:null},error:v});throw v}}async _exchangeCodeForSession(t){const r=await as(this.storage,`${this.storageKey}-code-verifier`),[s,a]=(r??"").split("/");try{if(!s&&this.flowType==="pkce")throw new x3;const{data:i,error:o}=await q(this.fetch,"POST",`${this.url}/token?grant_type=pkce`,{headers:this.headers,body:{auth_code:t,code_verifier:s},xform:ir});if(await Xe(this.storage,`${this.storageKey}-code-verifier`),o)throw o;if(!i||!i.session||!i.user){const l=new qs;return this._returnResult({data:{user:null,session:null,redirectType:null},error:l})}return i.session&&(await this._saveSession(i.session),await this._notifyAllSubscribers("SIGNED_IN",i.session)),this._returnResult({data:Object.assign(Object.assign({},i),{redirectType:a??null}),error:o})}catch(i){if(await Xe(this.storage,`${this.storageKey}-code-verifier`),F(i))return this._returnResult({data:{user:null,session:null,redirectType:null},error:i});throw i}}async signInWithIdToken(t){try{const{options:r,provider:s,token:a,access_token:i,nonce:o}=t,l=await q(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,body:{provider:s,id_token:a,access_token:i,nonce:o,gotrue_meta_security:{captcha_token:r==null?void 0:r.captchaToken}},xform:ir}),{data:c,error:d}=l;if(d)return this._returnResult({data:{user:null,session:null},error:d});if(!c||!c.session||!c.user){const u=new qs;return this._returnResult({data:{user:null,session:null},error:u})}return c.session&&(await this._saveSession(c.session),await this._notifyAllSubscribers("SIGNED_IN",c.session)),this._returnResult({data:c,error:d})}catch(r){if(F(r))return this._returnResult({data:{user:null,session:null},error:r});throw r}}async signInWithOtp(t){var r,s,a,i,o;try{if("email"in t){const{email:l,options:c}=t;let d=null,u=null;this.flowType==="pkce"&&([d,u]=await Ks(this.storage,this.storageKey));const{error:h}=await q(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{email:l,data:(r=c==null?void 0:c.data)!==null&&r!==void 0?r:{},create_user:(s=c==null?void 0:c.shouldCreateUser)!==null&&s!==void 0?s:!0,gotrue_meta_security:{captcha_token:c==null?void 0:c.captchaToken},code_challenge:d,code_challenge_method:u},redirectTo:c==null?void 0:c.emailRedirectTo});return this._returnResult({data:{user:null,session:null},error:h})}if("phone"in t){const{phone:l,options:c}=t,{data:d,error:u}=await q(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{phone:l,data:(a=c==null?void 0:c.data)!==null&&a!==void 0?a:{},create_user:(i=c==null?void 0:c.shouldCreateUser)!==null&&i!==void 0?i:!0,gotrue_meta_security:{captcha_token:c==null?void 0:c.captchaToken},channel:(o=c==null?void 0:c.channel)!==null&&o!==void 0?o:"sms"}});return this._returnResult({data:{user:null,session:null,messageId:d==null?void 0:d.message_id},error:u})}throw new Al("You must provide either an email or phone number.")}catch(l){if(await Xe(this.storage,`${this.storageKey}-code-verifier`),F(l))return this._returnResult({data:{user:null,session:null},error:l});throw l}}async verifyOtp(t){var r,s;try{let a,i;"options"in t&&(a=(r=t.options)===null||r===void 0?void 0:r.redirectTo,i=(s=t.options)===null||s===void 0?void 0:s.captchaToken);const{data:o,error:l}=await q(this.fetch,"POST",`${this.url}/verify`,{headers:this.headers,body:Object.assign(Object.assign({},t),{gotrue_meta_security:{captcha_token:i}}),redirectTo:a,xform:ir});if(l)throw l;if(!o)throw new Error("An error occurred on token verification.");const c=o.session,d=o.user;return c!=null&&c.access_token&&(await this._saveSession(c),await this._notifyAllSubscribers(t.type=="recovery"?"PASSWORD_RECOVERY":"SIGNED_IN",c)),this._returnResult({data:{user:d,session:c},error:null})}catch(a){if(F(a))return this._returnResult({data:{user:null,session:null},error:a});throw a}}async signInWithSSO(t){var r,s,a,i,o;try{let l=null,c=null;this.flowType==="pkce"&&([l,c]=await Ks(this.storage,this.storageKey));const d=await q(this.fetch,"POST",`${this.url}/sso`,{body:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},"providerId"in t?{provider_id:t.providerId}:null),"domain"in t?{domain:t.domain}:null),{redirect_to:(s=(r=t.options)===null||r===void 0?void 0:r.redirectTo)!==null&&s!==void 0?s:void 0}),!((a=t==null?void 0:t.options)===null||a===void 0)&&a.captchaToken?{gotrue_meta_security:{captcha_token:t.options.captchaToken}}:null),{skip_http_redirect:!0,code_challenge:l,code_challenge_method:c}),headers:this.headers,xform:z3});return!((i=d.data)===null||i===void 0)&&i.url&&Ze()&&!(!((o=t.options)===null||o===void 0)&&o.skipBrowserRedirect)&&window.location.assign(d.data.url),this._returnResult(d)}catch(l){if(await Xe(this.storage,`${this.storageKey}-code-verifier`),F(l))return this._returnResult({data:null,error:l});throw l}}async reauthenticate(){return await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>await this._reauthenticate())}async _reauthenticate(){try{return await this._useSession(async t=>{const{data:{session:r},error:s}=t;if(s)throw s;if(!r)throw new At;const{error:a}=await q(this.fetch,"GET",`${this.url}/reauthenticate`,{headers:this.headers,jwt:r.access_token});return this._returnResult({data:{user:null,session:null},error:a})})}catch(t){if(F(t))return this._returnResult({data:{user:null,session:null},error:t});throw t}}async resend(t){try{const r=`${this.url}/resend`;if("email"in t){const{email:s,type:a,options:i}=t,{error:o}=await q(this.fetch,"POST",r,{headers:this.headers,body:{email:s,type:a,gotrue_meta_security:{captcha_token:i==null?void 0:i.captchaToken}},redirectTo:i==null?void 0:i.emailRedirectTo});return this._returnResult({data:{user:null,session:null},error:o})}else if("phone"in t){const{phone:s,type:a,options:i}=t,{data:o,error:l}=await q(this.fetch,"POST",r,{headers:this.headers,body:{phone:s,type:a,gotrue_meta_security:{captcha_token:i==null?void 0:i.captchaToken}}});return this._returnResult({data:{user:null,session:null,messageId:o==null?void 0:o.message_id},error:l})}throw new Al("You must provide either an email or phone number and a type")}catch(r){if(F(r))return this._returnResult({data:{user:null,session:null},error:r});throw r}}async getSession(){return await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>this._useSession(async r=>r))}async _acquireLock(t,r){this._debug("#_acquireLock","begin",t);try{if(this.lockAcquired){const s=this.pendingInLock.length?this.pendingInLock[this.pendingInLock.length-1]:Promise.resolve(),a=(async()=>(await s,await r()))();return this.pendingInLock.push((async()=>{try{await a}catch{}})()),a}return await this.lock(`lock:${this.storageKey}`,t,async()=>{this._debug("#_acquireLock","lock acquired for storage key",this.storageKey);try{this.lockAcquired=!0;const s=r();for(this.pendingInLock.push((async()=>{try{await s}catch{}})()),await s;this.pendingInLock.length;){const a=[...this.pendingInLock];await Promise.all(a),this.pendingInLock.splice(0,a.length)}return await s}finally{this._debug("#_acquireLock","lock released for storage key",this.storageKey),this.lockAcquired=!1}})}finally{this._debug("#_acquireLock","end")}}async _useSession(t){this._debug("#_useSession","begin");try{const r=await this.__loadSession();return await t(r)}finally{this._debug("#_useSession","end")}}async __loadSession(){this._debug("#__loadSession()","begin"),this.lockAcquired||this._debug("#__loadSession()","used outside of an acquired lock!",new Error().stack);try{let t=null;const r=await as(this.storage,this.storageKey);if(this._debug("#getSession()","session from storage",r),r!==null&&(this._isValidSession(r)?t=r:(this._debug("#getSession()","session from storage is not val
491id"),await this._removeSession())),!t)return{data:{session:null},error:null};const s=t.expires_at?t.expires_at*1e3-Date.now()<Cu:!1;if(this._debug("#__loadSession()",`session has${s?"":" not"} expired`,"expires_at",t.expires_at),!s){if(this.userStorage){const o=await as(this.userStorage,this.storageKey+"-user");o!=null&&o.user?t.user=o.user:t.user=Eu()}if(this.storage.isServer&&t.user&&!t.user.__isUserNotAvailableProxy){const o={value:this.suppressGetSessionWarning};t.user=$3(t.user,o),o.value&&(this.suppressGetSessionWarning=!0)}return{data:{session:t},error:null}}const{data:a,error:i}=await this._callRefreshToken(t.refresh_token);return i?this._returnResult({data:{session:null},error:i}):this._returnResult({data:{session:a},error:null})}finally{this._debug("#__loadSession()","end")}}async getUser(t){if(t)return await this._getUser(t);await this.initializePromise;const r=await this._acquireLock(this.lockAcquireTimeout,async()=>await this._getUser());return r.data.user&&(this.suppressGetSessionWarning=!0),r}async _getUser(t){try{return t?await q(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:t,xform:Tn}):await this._useSession(async r=>{var s,a,i;const{data:o,error:l}=r;if(l)throw l;return!(!((s=o.session)===null||s===void 0)&&s.access_token)&&!this.hasCustomAuthorizationHeader?{data:{user:null},error:new At}:await q(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:(i=(a=o.session)===null||a===void 0?void 0:a.access_token)!==null&&i!==void 0?i:void 0,xform:Tn})})}catch(r){if(F(r))return Tl(r)&&(await this._removeSession(),await Xe(this.storage,`${this.storageKey}-code-verifier`)),this._returnResult({data:{user:null},error:r});throw r}}async updateUser(t,r={}){return await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>await this._updateUser(t,r))}async _updateUser(t,r={}){try{return await this._useSession(async s=>{const{data:a,error:i}=s;if(i)throw i;if(!a.session)throw new At;const o=a.session;let l=null,c=null;this.flowType==="pkce"&&t.email!=null&&([l,c]=await Ks(this.storage,this.storageKey));const{data:d,error:u}=await q(this.fetch,"PUT",`${this.url}/user`,{headers:this.headers,redirectTo:r==null?void 0:r.emailRedirectTo,body:Object.assign(Object.assign({},t),{code_challenge:l,code_challenge_method:c}),jwt:o.access_token,xform:Tn});if(u)throw u;return o.user=d.user,await this._saveSession(o),await this._notifyAllSubscribers("USER_UPDATED",o),this._returnResult({data:{user:o.user},error:null})})}catch(s){if(await Xe(this.storage,`${this.storageKey}-code-verifier`),F(s))return this._returnResult({data:{user:null},error:s});throw s}}async setSession(t){return await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>await this._setSession(t))}async _setSession(t){try{if(!t.access_token||!t.refresh_token)throw new At;const r=Date.now()/1e3;let s=r,a=!0,i=null;const{payload:o}=Rl(t.access_token);if(o.exp&&(s=o.exp,a=s<=r),a){const{data:l,error:c}=await this._callRefreshToken(t.refresh_token);if(c)return this._returnResult({data:{user:null,session:null},error:c});if(!l)return{data:{user:null,session:null},error:null};i=l}else{const{data:l,error:c}=await this._getUser(t.access_token);if(c)return this._returnResult({data:{user:null,session:null},error:c});i={access_token:t.access_token,refresh_token:t.refresh_token,user:l.user,token_type:"bearer",expires_in:s-r,expires_at:s},await this._saveSession(i),await this._notifyAllSubscribers("SIGNED_IN",i)}return this._returnResult({data:{user:i.user,session:i},error:null})}catch(r){if(F(r))return this._returnResult({data:{session:null,user:null},error:r});throw r}}async refreshSession(t){return await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>await this._refreshSession(t))}async _refreshSession(t){try{return await this._useSession(async r=>{var s;if(!t){const{data:o,error:l}=r;if(l)throw l;t=(s=o.session)!==null&&s!==void 0?s:void 0}if(!(t!=null&&t.refresh_token))throw new At;const{data:a,error:i}=await this._callRefreshToken(t.refresh_token);return i?this._returnResult({data:{user:null,session:null},error:i}):a?this._returnResult({data:{user:a.user,session:a},error:null}):this._returnResult({data:{user:null,session:null},error:null})})}catch(r){if(F(r))return this._returnResult({data:{user:null,session:null},error:r});throw r}}
491async _getSessionFromURL(t,r){try{if(!Ze())throw new Pl("No browser detected.");if(t.error||t.error_description||t.error_code)throw new Pl(t.error_description||"Error in URL with unspecified error_description",{error:t.error||"unspecified_error",code:t.error_code||"unspecified_code"});switch(r){case"implicit":if(this.flowType==="pkce")throw new Px("Not a valid PKCE flow url.");break;case"pkce":if(this.flowType==="implicit")throw new Pl("Not a valid implicit grant flow url.");break;default:}if(r==="pkce"){if(this._debug("#_initialize()","begin","is PKCE flow",!0),!t.code)throw new Px("No code detected.");const{data:x,error:b}=await this._exchangeCodeForSession(t.code);if(b)throw b;const j=new URL(window.location.href);return j.searchParams.delete("code"),window.history.replaceState(window.history.state,"",j.toString()),{data:{session:x.session,redirectType:null},error:null}}const{provider_token:s,provider_refresh_token:a,access_token:i,refresh_token:o,expires_in:l,expires_at:c,token_type:d}=t;if(!i||!l||!o||!d)throw new Pl("No session defined in URL");const u=Math.round(Date.now()/1e3),h=parseInt(l);let m=u+h;c&&(m=parseInt(c));const p=m-u;p*1e3<=na&&console.warn(`@supabase/gotrue-js: Session as retrieved from URL expires in ${p}s, should have been closer to ${h}s`);const y=m-h;u-y>=120?console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued over 120s ago, URL could be stale",y,m,u):u-y<0&&console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued in the future? Check the device clock for skew",y,m,u);const{data:f,error:v}=await this._getUser(i);if(v)throw v;const g={provider_token:s,provider_refresh_token:a,access_token:i,expires_in:h,expires_at:m,refresh_token:o,token_type:d,user:f.user};return window.location.hash="",this._debug("#_getSessionFromURL()","clearing window.location.hash"),this._returnResult({data:{session:g,redirectType:t.type},error:null})}catch(s){if(F(s))return this._returnResult({data:{session:null,redirectType:null},error:s});throw s}}_isImplicitGrantCallback(t){return typeof this.detectSessionInUrl=="function"?this.detectSessionInUrl(new URL(window.location.href),t):!!(t.access_token||t.error_description)}async _isPKCECallback(t){const r=await as(this.storage,`${this.storageKey}-code-verifier`);return!!(t.code&&r)}async signOut(t={scope:"global"}){return await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>await this._signOut(t))}async _signOut({scope:t}={scope:"global"}){return await this._useSession(async r=>{var s;const{data:a,error:i}=r;if(i&&!Tl(i))return this._returnResult({error:i});const o=(s=a.session)===null||s===void 0?void 0:s.access_token;if(o){const{error:l}=await this.admin.signOut(o,t);if(l&&!(f3(l)&&(l.status===404||l.status===401||l.status===403)||Tl(l)))return this._returnResult({error:l})}return t!=="others"&&(await this._removeSession(),await Xe(this.storage,`${this.storageKey}-code-verifier`)),this._returnResult({error:null})})}onAuthStateChange(t){const r=k3(),s={id:r,callback:t,unsubscribe:()=>{this._debug("#unsubscribe()","state change callback with id removed",r),this.stateChangeEmitters.delete(r)}};return this._debug("#onAuthStateChange()","registered callback with id",r),this.stateChangeEmitters.set(r,s),(async()=>(await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>{this._emitInitialSession(r)})))(),{data:{subscription:s}}}async _emitInitialSession(t){return await this._useSession(async r=>{var s,a;try{const{data:{session:i},error:o}=r;if(o)throw o;await((s=this.stateChangeEmitters.get(t))===null||s===void 0?void 0:s.callback("INITIAL_SESSION",i)),this._debug("INITIAL_SESSION","callback id",t,"session",i)}catch(i){await((a=this.stateChangeEmitters.get(t))===null||a===void 0?void 0:a.callback("INITIAL_SESSION",null)),this._debug("INITIAL_SESSION","callback id",t,"error",i),Tl(i)?console.warn(i):console.error(i)}})}async resetPasswordForEmail(t,r={}){let s=null,a=null;this.flowType==="pkce"&&([s,a]=await Ks(this.storage,this.storageKey,!0));try{return await q(this.fetch,"POST",`${this.url}/recover`,{body:{email:t,code_challenge:s,code_challenge_method:a,gotrue_meta_security:{captcha_token:r.captchaToken}},headers:this.headers,redirectTo:r.redirectTo})}catch(i){if(await Xe(this.storage,`${this.storageKey}-code-verifier`),F(i))return this._returnResult({data:null,error:i});throw i}}async getUserIdentities(){var t;try{const{data:r,error:s}=await this.getUser();if(s)throw s;return this._returnResult({data:{identities:(t=r.user.identities)!==null&&t!==void 0?t:[]},error:null})}catch(r){if(F(r))return this._returnResult({data:null,error:r});throw r}}async linkIdentity(t){return"token"in t?this.linkIdentityIdToken(t):this.linkIdentityOAuth(t)}async linkIdentityOAuth(t){var r;try{const{data:s,error:a}=await this._useSession(async i=>{var o,l,c,d,u;const{data:h,error:m}=i;if(m)throw m;const p=await this._getUrlForProvider(`${this.url}/user/identities/authorize`,t.provider,{redirectTo:(o=t.options)===null||o===void 0?void 0:o.redirectTo,scopes:(l=t.options)===null||l===void 0?void 0:l.scopes,queryParams:(c=t.options)===null||c===void 0?void 0:c.queryParams,skipBrowserRedirect:!0});return await q(this.fetch,"GET",p,{headers:this.headers,jwt:(u=(d=h.session)===null||d===void 0?void 0:d.access_token)!==null&&u!==void 0?u:void 0})});if(a)throw a;return Ze()&&!(!((r=t.options)===null||r===void 0)&&r.skipBrowserRedirect)&&window.location.assign(s==null?void 0:s.url),this._returnResult({data:{provider:t.provider,url:s==null?void 0:s.url},error:null})}catch(s){if(F(s))return this._returnResult({data:{provider:t.provider,url:null},error:s});throw s}}async linkIdentityIdToken(t){return await this._useSession(async r=>{var s;try{const{error:a,data:{session:i}}=r;if(a)throw a;const{options:o,provider:l,token:c,access_token:d,nonce:u}=t,h=await q(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,jwt:(s=i==null?void 0:i.access_token)!==null&&s!==void 0?s:void 0,body:{provider:l,id_token:c,access_token:d,nonce:u,link_identity:!0,gotrue_meta_security:{captcha_token:o==null?void 0:o.captchaToken}},xform:ir}),{data:m,error:p}=h;return p?this._returnResult({data:{user:null,session:null},error:p}):!m||!m.session||!m.user?this._returnResult({data:{user:null,session:null},error:new qs}):(m.session&&(await this._saveSession(m.session),await this._notifyAllSubscribers("USER_UPDATED",m.session)),this._returnResult({data:m,error:p}))}catch(a){if(await Xe(this.storage,`${this.storageKey}-code-verifier`),F(a))return this._returnResult({data:{user:null,session:null},error:a});throw a}})}async unlinkIdentity(t){try{return await this._useSession(async r=>{var s,a;const{data:i,error:o}=r;if(o)throw o;
491return await q(this.fetch,"DELETE",`${this.url}/user/identities/${t.identity_id}`,{headers:this.headers,jwt:(a=(s=i.session)===null||s===void 0?void 0:s.access_token)!==null&&a!==void 0?a:void 0})})}catch(r){if(F(r))return this._returnResult({data:null,error:r});throw r}}async _refreshAccessToken(t){const r=`#_refreshAccessToken(${t.substring(0,5)}...)`;this._debug(r,"begin");try{const s=Date.now();return await _3(async a=>(a>0&&await E3(200*Math.pow(2,a-1)),this._debug(r,"refreshing attempt",a),await q(this.fetch,"POST",`${this.url}/token?grant_type=refresh_token`,{body:{refresh_token:t},headers:this.headers,xform:ir})),(a,i)=>{const o=200*Math.pow(2,a);return i&&Su(i)&&Date.now()+o-s<na})}catch(s){if(this._debug(r,"error",s),F(s))return this._returnResult({data:{session:null,user:null},error:s});throw s}finally{this._debug(r,"end")}}_isValidSession(t){return typeof t=="object"&&t!==null&&"access_token"in t&&"refresh_token"in t&&"expires_at"in t}async _handleProviderSignIn(t,r){const s=await this._getUrlForProvider(`${this.url}/authorize`,t,{redirectTo:r.redirectTo,scopes:r.scopes,queryParams:r.queryParams});return this._debug("#_handleProviderSignIn()","provider",t,"options",r,"url",s),Ze()&&!r.skipBrowserRedirect&&window.location.assign(s),{data:{provider:t,url:s},error:null}}async _recoverAndRefresh(){var t,r;const s="#_recoverAndRefresh()";this._debug(s,"begin");try{const a=await as(this.storage,this.storageKey);if(a&&this.userStorage){let o=await as(this.userStorage,this.storageKey+"-user");!this.storage.isServer&&Object.is(this.storage,this.userStorage)&&!o&&(o={user:a.user},await sa(this.userStorage,this.storageKey+"-user",o)),a.user=(t=o==null?void 0:o.user)!==null&&t!==void 0?t:Eu()}else if(a&&!a.user&&!a.user){const o=await as(this.storage,this.storageKey+"-user");o&&(o!=null&&o.user)?(a.user=o.user,await Xe(this.storage,this.storageKey+"-user"),await sa(this.storage,this.storageKey,a)):a.user=Eu()}if(this._debug(s,"session from storage",a),!this._isValidSession(a)){this._debug(s,"session is not valid"),a!==null&&await this._removeSession();return}const i=((r=a.expires_at)!==null&&r!==void 0?r:1/0)*1e3-Date.now()<Cu;if(this._debug(s,`session has${i?"":" not"} expired with margin of ${Cu}s`),i){if(this.autoRefreshToken&&a.refresh_token){const{error:o}=await this._callRefreshToken(a.refresh_token);o&&(console.error(o),Su(o)||(this._debug(s,"refresh failed with a non-retryable error, removing the session",o),await this._removeSession()))}}else if(a.user&&a.user.__isUserNotAvailableProxy===!0)try{const{data:o,error:l}=await this._getUser(a.access_token);!l&&(o!=null&&o.user)?(a.user=o.user,await this._saveSession(a),await this._notifyAllSubscribers("SIGNED_IN",a)):this._debug(s,"could not get user data, skipping SIGNED_IN notification")}catch(o){console.error("Error getting user data:",o),this._debug(s,"error getting user data, skipping SIGNED_IN notification",o)}else await this._notifyAllSubscribers("SIGNED_IN",a)}catch(a){this._debug(s,"error",a),console.error(a);return}finally{this._debug(s,"end")}}async _callRefreshToken(t){var r,s;if(!t)throw new At;if(this.refreshingDeferred)return this.refreshingDeferred.promise;const a=`#_callRefreshToken(${t.substring(0,5)}...)`;this._debug(a,"begin");try{this.refreshingDeferred=new _d;const{data:i,error:o}=await this._refreshAccessToken(t);if(o)throw o;if(!i.session)throw new At;await this._saveSession(i.session),await this._notifyAllSubscribers("TOKEN_REFRESHED",i.session);const l={data:i.session,error:null};return this.refreshingDeferred.resolve(l),l}catch(i){if(this._debug(a,"error",i),F(i)){const o={data:null,error:i};return Su(i)||await this._removeSession(),(r=this.refreshingDeferred)===null||r===void 0||r.resolve(o),o}throw(s=this.refreshingDeferred)===null||s===void 0||s.reject(i),i}finally{this.refreshingDeferred=null,this._debug(a,"end")}}async _notifyAllSubscribers(t,r,s=!0){const a=`#_notifyAllSubscribers(${t})`;this._debug(a,"begin",r,`broadcast = ${s}`);try{this.broadcastChannel&&s&&this.broadcastChannel.postMessage({event:t,session:r});const i=[],o=Array.from(this.stateChangeEmitters.values()).map(async l=>{try{await l.callback(t,r)}catch(c){i.push(c)}});if(await Promise.all(o),i.length>0){for(let l=0;l<i.length;l+=1)console.error(i[l]);throw i[0]}}finally{this._debug(a,"end")}}async _saveSession(t){this._debug("#_saveSession()",t),this.suppressGetSessionWarning=!0,await Xe(this.storage,`${this.storageKey}-code-verifier`);const r=Object.assign({},t),s=r.user&&r.user.__isUserNotAvailableProxy===!0;if(this.userStorage){!s&&r.user&&await sa(this.userStorage,this.storageKey+"-user",{user:r.user});const a=Object.assign({},r);delete a.user;const i=Mx(a);await sa(this.storage,this.storageKey,i)}else{const a=Mx(r);await sa(this.storage,this.storageKey,a)}}async _removeSession(){this._debug("#_removeSession()"),this.suppressGetSessionWarning=!1,await Xe(this.storage,this.storageKey),await Xe(this.storage,this.storageKey+"-code-verifier"),await Xe(this.storage,this.storageKey+"-user"),this.userStorage&&await Xe(this.userStorage,this.storageKey+"-user"),await this._notifyAllSubscribers("SIGNED_OUT",null)}_removeVisibilityChangedCallback(){this._debug("#_removeVisibilityChangedCallback()");const t=this.visibilityChangedCallback;this.visibilityChangedCallback=null;try{t&&Ze()&&(window!=null&&window.removeEventListener)&&window.removeEventListener("visibilitychange",t)}
491catch(r){console.error("removing visibilitychange callback failed",r)}}async _startAutoRefresh(){await this._stopAutoRefresh(),this._debug("#_startAutoRefresh()");const t=setInterval(()=>this._autoRefreshTokenTick(),na);this.autoRefreshTicker=t,t&&typeof t=="object"&&typeof t.unref=="function"?t.unref():typeof Deno<"u"&&typeof Deno.unrefTimer=="function"&&Deno.unrefTimer(t);const r=setTimeout(async()=>{await this.initializePromise,await this._autoRefreshTokenTick()},0);this.autoRefreshTickTimeout=r,r&&typeof r=="object"&&typeof r.unref=="function"?r.unref():typeof Deno<"u"&&typeof Deno.unrefTimer=="function"&&Deno.unrefTimer(r)}async _stopAutoRefresh(){this._debug("#_stopAutoRefresh()");const t=this.autoRefreshTicker;this.autoRefreshTicker=null,t&&clearInterval(t);const r=this.autoRefreshTickTimeout;this.autoRefreshTickTimeout=null,r&&clearTimeout(r)}async startAutoRefresh(){this._removeVisibilityChangedCallback(),await this._startAutoRefresh()}async stopAutoRefresh(){this._removeVisibilityChangedCallback(),await this._stopAutoRefresh()}async _autoRefreshTokenTick(){this._debug("#_autoRefreshTokenTick()","begin");try{await this._acquireLock(0,async()=>{try{const t=Date.now();try{return await this._useSession(async r=>{const{data:{session:s}}=r;if(!s||!s.refresh_token||!s.expires_at){this._debug("#_autoRefreshTokenTick()","no session");return}const a=Math.floor((s.expires_at*1e3-t)/na);this._debug("#_autoRefreshTokenTick()",`access token expires in ${a} ticks, a tick lasts ${na}ms, refresh threshold is ${om} ticks`),a<=om&&await this._callRefreshToken(s.refresh_token)})}catch(r){console.error("Auto refresh tick failed with error. This is likely a transient error.",r)}}finally{this._debug("#_autoRefreshTokenTick()","end")}})}catch(t){if(t.isAcquireTimeout||t instanceof Sj)this._debug("auto refresh token tick lock not available");else throw t}}async _handleVisibilityChange(){if(this._debug("#_handleVisibilityChange()"),!Ze()||!(window!=null&&window.addEventListener))return this.autoRefreshToken&&this.startAutoRefresh(),!1;try{this.visibilityChangedCallback=async()=>{try{await this._onVisibilityChanged(!1)}catch(t){this._debug("#visibilityChangedCallback","error",t)}},window==null||window.addEventListener("visibilitychange",this.visibilityChangedCallback),await this._onVisibilityChanged(!0)}catch(t){console.error("_handleVisibilityChange",t)}}async _onVisibilityChanged(t){const r=`#_onVisibilityChanged(${t})`;this._debug(r,"visibilityState",document.visibilityState),document.visibilityState==="visible"?(this.autoRefreshToken&&this._startAutoRefresh(),t||(await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>{if(document.visibilityState!=="visible"){this._debug(r,"acquired the lock to recover the session, but the browser visibilityState is no longer visible, aborting");return}await this._recoverAndRefresh()}))):document.visibilityState==="hidden"&&this.autoRefreshToken&&this._stopAutoRefresh()}async _getUrlForProvider(t,r,s){const a=[`provider=${encodeURIComponent(r)}`];if(s!=null&&s.redirectTo&&a.push(`redirect_to=${encodeURIComponent(s.redirectTo)}`),s!=null&&s.scopes&&a.push(`scopes=${encodeURIComponent(s.scopes)}`),this.flowType==="pkce"){const[i,o]=await Ks(this.storage,this.storageKey),l=new URLSearchParams({code_challenge:`${encodeURIComponent(i)}`,code_challenge_method:`${encodeURIComponent(o)}`});a.push(l.toString())}if(s!=null&&s.queryParams){const i=new URLSearchParams(s.queryParams);a.push(i.toString())}return s!=null&&s.skipBrowserRedirect&&a.push(`skip_http_redirect=${s.skipBrowserRedirect}`),`${t}?${a.join("&")}`}async _unenroll(t){try{return await this._useSession(async r=>{var s;const{data:a,error:i}=r;return i?this._returnResult({data:null,error:i}):await q(this.fetch,"DELETE",`${this.url}/factors/${t.factorId}`,{headers:this.headers,jwt:(s=a==null?void 0:a.session)===null||s===void 0?void 0:s.access_token})})}catch(r){if(F(r))return this._returnResult({data:null,error:r});throw r}}async _enroll(t){try{return await this._useSession(async r=>{var s,a;const{data:i,error:o}=r;if(o)return this._returnResult({data:null,error:o});const l=Object.assign({friendly_name:t.friendlyName,factor_type:t.factorType},t.factorType==="phone"?{phone:t.phone}:t.factorType==="totp"?{issuer:t.issuer}:{}),{data:c,error:d}=await q(this.fetch,"POST",`${this.url}/factors`,{body:l,headers:this.headers,jwt:(s=i==null?void 0:i.session)===null||s===void 0?void 0:s.access_token});return d?this._returnResult({data:null,error:d}):(t.factorType==="totp"&&c.type==="totp"&&(!((a=c==null?void 0:c.totp)===null||a===void 0)&&a.qr_code)&&(c.totp.qr_code=`data:image/svg+xml;utf-8,${c.totp.qr_code}`),this._returnResult({data:c,error:null}))})}catch(r){if(F(r))return this._returnResult({data:null,error:r});throw r}}async _verify(t){return this._acquireLock(this.lockAcquireTimeout,async()=>{try{return await this._useSession(async r=>{var s;const{data:a,error:i}=r;if(i)return this._returnResult({data:null,error:i});const o=Object.assign({challenge_id:t.challengeId},"webauthn"in t?{webauthn:Object.assign(Object.assign({},t.webauthn),{credential_response:t.webauthn.type==="create"?nR(t.webauthn.credential_response):sR(t.webauthn.credential_response)})}:{code:t.code}),{data:l,error:c}=await q(this.fetch,"POST",`${this.url}/factors/${t.factorId}/verify`,{body:o,headers:this.headers,jwt:(s=a==null?void 0:a.session)===null||s===void 0?void 0:s.access_token});return c?this._returnResult({data:null,error:c}):(await this._saveSession(Object.assign({expires_at:Math.round(Date.now()/1e3)+l.expires_in},l)),await this._notifyAllSubscribers("MFA_CHALLENGE_VERIFIED",l),this._returnResult({data:l,error:c}))})}catch(r){if(F(r))return this._returnResult({data:null,error:r});throw r}})}async _challenge(t){return this._acquireLock(this.lockAcquireTimeout,async()=>{try{return await this._useSession(async r=>{var s;const{data:a,error:i}=r;if(i)return this._returnResult({data:null,error:i});const o=await q(this.fetch,"POST",`${this.url}/factors/${t.factorId}/challenge`,{body:t,headers:this.headers,jwt:(s=a==null?void 0:a.session)===null||s===void 0?void 0:s.access_token});if(o.error)return o;const{data:l}=o;if(l.type!=="webauthn")return{data:l,error:null};switch(l.webauthn.type){case"create":return{data:Object.assign(Object.assign({},l),{webauthn:Object.assign(Object.assign({},l.webauthn),{credential_options:Object.assign(Object.assign({},l.webauthn.credential_options),{publicKey:tR(l.webauthn.credential_options.publicKey)})})}),error:null};case"request":return{data:Object.assign(Object.assign({},l),{webauthn:Object.assign(Object.assign({},l.webauthn),{credential_options:Object.assign(Object.assign({},l.webauthn.credential_options),{publicKey:rR(l.webauthn.credential_options.publicKey)})})}),error:null}}})}catch(r){if(F(r))return this._returnResult({data:null,error:r});throw r}})}async _challengeAndVerify(t){const{data:r,error:s}=await this._challenge({factorId:t.factorId});return s?this._returnResult({data:null,error:s}):await this._verify({factorId:t.factorId,challengeId:r.id,code:t.code})}async _listFactors(){var t;const{data:{user:r},error:s}=await this.getUser();if(s)return{data:null,error:s};const a={all:[],phone:[],totp:[],webauthn:[]};for(const i of(t=r==null?void 0:r.factors)!==null&&t!==void 0?t:[])a.all.push(i),i.status==="verified"&&a[i.factor_type].push(i);return{data:a,error:null}}async _getAuthenticatorAssuranceLevel(t){var r,s,a,i;if(t)try{const{payload:p}=Rl(t);let y=null;p.aal&&(y=p.aal);let f=y;const{data:{user:v},error:g}=await this.getUser(t);if(g)return this._returnResult({data:null,error:g});((s=(r=v==null?void 0:v.factors)===null||r===void 0?void 0:r.filter(j=>j.status==="verified"))!==null&&s!==void 0?s:[]).length>0&&(f="aal2");const b=p.amr||[];return{data:{currentLevel:y,nextLevel:f,currentAuthenticationMethods:b},error:null}}catch(p){if(F(p))return this._returnResult({data:null,error:p});throw p}const{data:{session:o},error:l}
491=await this.getSession();if(l)return this._returnResult({data:null,error:l});if(!o)return{data:{currentLevel:null,nextLevel:null,currentAuthenticationMethods:[]},error:null};const{payload:c}=Rl(o.access_token);let d=null;c.aal&&(d=c.aal);let u=d;((i=(a=o.user.factors)===null||a===void 0?void 0:a.filter(p=>p.status==="verified"))!==null&&i!==void 0?i:[]).length>0&&(u="aal2");const m=c.amr||[];return{data:{currentLevel:d,nextLevel:u,currentAuthenticationMethods:m},error:null}}async _getAuthorizationDetails(t){try{return await this._useSession(async r=>{const{data:{session:s},error:a}=r;return a?this._returnResult({data:null,error:a}):s?await q(this.fetch,"GET",`${this.url}/oauth/authorizations/${t}`,{headers:this.headers,jwt:s.access_token,xform:i=>({data:i,error:null})}):this._returnResult({data:null,error:new At})})}catch(r){if(F(r))return this._returnResult({data:null,error:r});throw r}}async _approveAuthorization(t,r){try{return await this._useSession(async s=>{const{data:{session:a},error:i}=s;if(i)return this._returnResult({data:null,error:i});if(!a)return this._returnResult({data:null,error:new At});const o=await q(this.fetch,"POST",`${this.url}/oauth/authorizations/${t}/consent`,{headers:this.headers,jwt:a.access_token,body:{action:"approve"},xform:l=>({data:l,error:null})});return o.data&&o.data.redirect_url&&Ze()&&!(r!=null&&r.skipBrowserRedirect)&&window.location.assign(o.data.redirect_url),o})}catch(s){if(F(s))return this._returnResult({data:null,error:s});throw s}}async _denyAuthorization(t,r){try{return await this._useSession(async s=>{const{data:{session:a},error:i}=s;if(i)return this._returnResult({data:null,error:i});if(!a)return this._returnResult({data:null,error:new At});const o=await q(this.fetch,"POST",`${this.url}/oauth/authorizations/${t}/consent`,{headers:this.headers,jwt:a.access_token,body:{action:"deny"},xform:l=>({data:l,error:null})});return o.data&&o.data.redirect_url&&Ze()&&!(r!=null&&r.skipBrowserRedirect)&&window.location.assign(o.data.redirect_url),o})}catch(s){if(F(s))return this._returnResult({data:null,error:s});throw s}}async _listOAuthGrants(){try{return await this._useSession(async t=>{const{data:{session:r},error:s}=t;return s?this._returnResult({data:null,error:s}):r?await q(this.fetch,"GET",`${this.url}/user/oauth/grants`,{headers:this.headers,jwt:r.access_token,xform:a=>({data:a,error:null})}):this._returnResult({data:null,error:new At})})}catch(t){if(F(t))return this._returnResult({data:null,error:t});throw t}}async _revokeOAuthGrant(t){try{return await this._useSession(async r=>{const{data:{session:s},error:a}=r;return a?this._returnResult({data:null,error:a}):s?(await q(this.fetch,"DELETE",`${this.url}/user/oauth/grants`,{headers:this.headers,jwt:s.access_token,query:{client_id:t.clientId},noResolveJson:!0}),{data:{},error:null}):this._returnResult({data:null,error:new At})})}catch(r){if(F(r))return this._returnResult({data:null,error:r});throw r}}async fetchJwk(t,r={keys:[]}){let s=r.keys.find(l=>l.kid===t);if(s)return s;const a=Date.now();if(s=this.jwks.keys.find(l=>l.kid===t),s&&this.jwks_cached_at+m3>a)return s;const{data:i,error:o}=await q(this.fetch,"GET",`${this.url}/.well-known/jwks.json`,{headers:this.headers});if(o)throw o;return!i.keys||i.keys.length===0||(this.jwks=i,this.jwks_cached_at=a,s=i.keys.find(l=>l.kid===t),!s)?null:s}async getClaims(t,r={}){try{let s=t;if(!s){const{data:p,error:y}
491=await this.getSession();if(y||!p.session)return this._returnResult({data:null,error:y});s=p.session.access_token}const{header:a,payload:i,signature:o,raw:{header:l,payload:c}}=Rl(s);r!=null&&r.allowExpired||O3(i.exp);const d=!a.alg||a.alg.startsWith("HS")||!a.kid||!("crypto"in globalThis&&"subtle"in globalThis.crypto)?null:await this.fetchJwk(a.kid,r!=null&&r.keys?{keys:r.keys}:r==null?void 0:r.jwks);if(!d){const{error:p}=await this.getUser(s);if(p)throw p;return{data:{claims:i,header:a,signature:o},error:null}}const u=M3(a.alg),h=await crypto.subtle.importKey("jwk",d,u,!0,["verify"]);if(!await crypto.subtle.verify(u,h,o,j3(`${l}.${c}`)))throw new dm("Invalid JWT signature");return{data:{claims:i,header:a,signature:o},error:null}}catch(s){if(F(s))return this._returnResult({data:null,error:s});throw s}}}ko.nextInstanceID={};const mR=ko,pR="2.103.2";let Ai="";typeof Deno<"u"?Ai="deno":typeof document<"u"?Ai="web":typeof navigator<"u"&&navigator.product==="ReactNative"?Ai="react-native":Ai="node";const fR={"X-Client-Info":`supabase-js-${Ai}/${pR}`},gR={headers:fR},xR={schema:"public"},yR={autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,flowType:"implicit"},bR={};function Co(e){"@babel/helpers - typeof";return Co=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Co(e)}function vR(e,t){if(Co(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var s=r.call(e,t||"default");if(Co(s)!="object")return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function wR(e){var t=vR(e,"string");return Co(t)=="symbol"?t:t+""}function jR(e,t,r){return(t=wR(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Gx(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,s)}return r}function Oe(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Gx(Object(r),!0).forEach(function(s){jR(e,s,r[s])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Gx(Object(r)).forEach(function(s){Object.defineProperty(e,s,Object.getOwnPropertyDescriptor(r,s))})}return e}const NR=e=>e?(...t)=>e(...t):(...t)=>fetch(...t),kR=()=>Headers,CR=(e,t,r)=>{const s=NR(r),a=kR();return async(i,o)=>{var l;const c=(l=await t())!==null&&l!==void 0?l:e;let d=new a(o==null?void 0:o.headers);return d.has("apikey")||d.set("apikey",e),d.has("Authorization")||d.set("Authorization",`Bearer ${c}`),s(i,Oe(Oe({},o),{},{headers:d}))}};function SR(e){return e.endsWith("/")?e:e+"/"}function ER(e,t){var r,s;const{db:a,auth:i,realtime:o,global:l}=e,{db:c,auth:d,realtime:u,global:h}=t,m={db:Oe(Oe({},c),a),auth:Oe(Oe({},d),i),realtime:Oe(Oe({},u),o),storage:{},global:Oe(Oe(Oe({},h),l),{},{headers:Oe(Oe({},(r=h==null?void 0:h.headers)!==null&&r!==void 0?r:{}),(s=l==null?void 0:l.headers)!==null&&s!==void 0?s:{})}),accessToken:async()=>""};return e.accessToken?m.accessToken=e.accessToken:delete m.accessToken,m}function _R(e){const t=e==null?void 0:e.trim();if(!t)throw new Error("supabaseUrl is required.");if(!t.match(/^https?:\/\//i))throw new Error("Invalid supabaseUrl: Must be a valid HTTP or HTTPS URL.");try{return new URL(SR(t))}catch{throw Error("Invalid supabaseUrl: Provided URL is malformed.")}}var TR=class extends mR{constructor(e){super(e)}},AR=class{constructor(e,t,r){var s,a;this.supabaseUrl=e,this.supabaseKey=t;const i=_R(e);if(!t)throw new Error("supabaseKey is required.");this.realtimeUrl=new URL("realtime/v1",i),this.realtimeUrl.protocol=this.realtimeUrl.protocol.replace("http","ws"),this.authUrl=new URL("auth/v1",i),this.storageUrl=new URL("storage/v1",i),this.functionsUrl=new URL("functions/v1",i);const o=`sb-${i.hostname.split(".")[0]}-auth-token`,l={db:xR,realtime:bR,auth:Oe(Oe({},yR),{},{storageKey:o}),global:gR},c=ER(r??{},l);if(this.storageKey=(s=c.auth.storageKey)!==null&&s!==void 0?s:"",this.headers=(a=c.global.headers)!==null&&a!==void 0?a:{},c.accessToken)this.accessToken=c.accessToken,this.auth=new Proxy({},{get:(u,h)=>{throw new Error(`@supabase/supabase-js: Supabase Client is configured with the accessToken option, accessing supabase.auth.${String(h)} is not possible`)}});else{var d;this.auth=this._initSupabaseAuthClient((d=c.auth)!==null&&d!==void 0?d:{},this.headers,c.global.fetch)}this.fetch=CR(t,this._getAccessToken.bind(this),c.global.fetch),this.realtime=this._initRealtimeClient(Oe({headers:this.headers,accessToken:this._getAccessToken.bind(this)},c.realtime)),this.accessToken&&Promise.resolve(this.accessToken()).then(u=>this.realtime.setAuth(u)).catch(u=>console.warn("Failed to set initial Realtime auth token:",u)),this.rest=new QP(new URL("rest/v1",i).href,{headers:this.headers,schema:c.db.schema,fetch:this.fetch,timeout:c.db.timeout,urlLengthLimit:c.db.urlLengthLimit}),this.storage=new l3(this.storageUrl.href,this.headers,this.fetch,r==null?void 0:r.storage),c.accessToken||this._listenForAuthEvents()}get functions(){return new FP(this.functionsUrl.href,{headers:this.headers,customFetch:this.fetch})}from(e){return this.rest.from(e)}schema(e){return this.rest.schema(e)}rpc(e,t={},r={head:!1,get:!1,count:void 0}){return this.rest.rpc(e,t,r)}
491channel(e,t={config:{}}){return this.realtime.channel(e,t)}getChannels(){return this.realtime.getChannels()}removeChannel(e){return this.realtime.removeChannel(e)}removeAllChannels(){return this.realtime.removeAllChannels()}async _getAccessToken(){var e=this,t,r;if(e.accessToken)return await e.accessToken();const{data:s}=await e.auth.getSession();return(t=(r=s.session)===null||r===void 0?void 0:r.access_token)!==null&&t!==void 0?t:e.supabaseKey}_initSupabaseAuthClient({autoRefreshToken:e,persistSession:t,detectSessionInUrl:r,storage:s,userStorage:a,storageKey:i,flowType:o,lock:l,debug:c,throwOnError:d},u,h){const m={Authorization:`Bearer ${this.supabaseKey}`,apikey:`${this.supabaseKey}`};return new TR({url:this.authUrl.href,headers:Oe(Oe({},m),u),storageKey:i,autoRefreshToken:e,persistSession:t,detectSessionInUrl:r,storage:s,userStorage:a,flowType:o,lock:l,debug:c,throwOnError:d,fetch:h,hasCustomAuthorizationHeader:Object.keys(this.headers).some(p=>p.toLowerCase()==="authorization")})}_initRealtimeClient(e){return new P5(this.realtimeUrl.href,Oe(Oe({},e),{},{params:Oe(Oe({},{apikey:this.supabaseKey}),e==null?void 0:e.params)}))}_listenForAuthEvents(){return this.auth.onAuthStateChange((e,t)=>{this._handleTokenChanged(e,"CLIENT",t==null?void 0:t.access_token)})}_handleTokenChanged(e,t,r){(e==="TOKEN_REFRESHED"||e==="SIGNED_IN")&&this.changedAccessToken!==r?(this.changedAccessToken=r,this.realtime.setAuth(r)):e==="SIGNED_OUT"&&(this.realtime.setAuth(),t=="STORAGE"&&this.auth.signOut(),this.changedAccessToken=void 0)}};const PR=(e,t,r)=>new AR(e,t,r);function RR(){if(typeof window<"u")return!1;const e=globalThis.process;if(!e)return!1;const t=e.version;if(t==null)return!1;const r=t.match(/^v(\d+)\./);return r?parseInt(r[1],10)<=18:!1}RR()&&console.warn("⚠️  Node.js 18 and below are deprecated and will no longer be supported in future versions of @supabase/supabase-js. Please upgrade to Node.js 20 or later. For more information, visit: https://github.com/orgs/supabase/discussions/37217");const DR="https://rbeohecypsbijntwiqsi.supabase.co",IR="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InJiZW9oZWN5cHNiaWpudHdpcXNpIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NzQyOTAzMjEsImV4cCI6MjA4OTg2NjMyMX0.4sxvnOikQuW87NJ9la0Jq3mWktCQ4HGVRULarHhum48",hs=PR(DR,IR,{auth:{storage:localStorage,persistSession:!0,autoRefreshToken:!0}}),OR=[{icon:n.jsx(xE,{className:"w-6 h-6"}),label:"Visit Us",value:"UCD School of Education, Belfield, Dublin 4",href:"https://maps.google.com/?q=UCD+School+of+Education+Belfield+Dublin",description:"University College Dublin campus"},{icon:n.jsx(Jt,{className:"w-6 h-6"}),label:"Website",value:"cyberwise.ie",href:"https://cyberwise.ie",description:"Browse our full range of resources"}],MR=[{icon:n.jsx(gd,{className:"w-5 h-5"}),label:"LinkedIn",href:"https://www.linkedin.com/company/cyberwise-ire/posts/?feedView=all"}],LR=()=>{const[e,t]=w.useState({name:"",email:"",subject:"",message:""}),[r,s]=w.useState(!1),[a,i]=w.useState(!1),[o,l]=w.useState(""),c=async d=>{d.preventDefault(),i(!0),l("");const{error:u}=await hs.from("contact_submissions").insert({name:e.name.trim(),email:e.email.trim(),subject:e.subject.trim(),message:e.message.trim()});if(u){l("Something went wrong. Please try again."),i(!1);return}i(!1),s(!0)};return n.jsxs("div",{className:"min-h-screen",children:[n.jsx(Ue,{title:"Contact Us",description:"Get in touch with the Cyberwise team at UCD. Contact us about cybersecurity education, partnerships, and collaboration opportunities.",path:"/contact-us"}),n.jsx(se,{}),n.jsxs("section",{className:"page-hero-gradient py-20 lg:py-28 relative overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_bottom_left,_hsl(var(--blue-mid)/_0.15)_0%,_transparent_60%)]"}),n.jsx("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:n.jsxs("div",{className:"text-center max-w-3xl mx-auto",children:[n.jsx("span",{className:"text-blue-sky font-bold text-sm uppercase tracking-widest",children:"Contact Us"}),n.jsx("h1",{className:"text-4xl md:text-5xl font-extrabold text-primary-foreground mt-3 mb-6",children:"Get in Touch"}),n.jsx("p",{className:"text-blue-ice/80 text-lg leading-relaxed",children:"Whether you're an educator, researcher, or organisation interested in cybersecurity education — we'd love to hear from you."})]})})]}),n.jsx("section",{className:"bg-card py-16 lg:py-24",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsxs("div",{className:"grid lg:grid-cols-5 ga
491p-12 max-w-6xl mx-auto",children:[n.jsxs("div",{className:"lg:col-span-3",children:[n.jsx("h2",{className:"text-2xl font-extrabold text-foreground mb-2",children:"Send us a Message"}),n.jsx("p",{className:"text-muted-foreground text-sm mb-8",children:"Fill in the form below and we'll get back to you as soon as possible."}),r?n.jsxs("div",{className:"rounded-2xl border-2 border-primary/30 bg-primary/5 p-10 text-center",children:[n.jsx("div",{className:"w-16 h-16 rounded-full bg-primary/10 text-primary flex items-center justify-center mx-auto mb-4",children:n.jsx(NE,{className:"w-7 h-7"})}),n.jsx("h3",{className:"text-xl font-bold text-foreground mb-2",children:"Message Sent!"}),n.jsx("p",{className:"text-muted-foreground text-sm",children:"Thank you for reaching out. We'll be in touch shortly."}),n.jsx(L,{variant:"outline",className:"mt-6",onClick:()=>{s(!1),t({name:"",email:"",subject:"",message:""})},children:"Send Another Message"})]}):n.jsxs("form",{onSubmit:c,className:"space-y-5",children:[n.jsxs("div",{className:"grid sm:grid-cols-2 gap-5",children:[n.jsxs("div",{children:[n.jsx("label",{className:"block text-sm font-semibold text-foreground mb-1.5",children:"Name"}),n.jsx("input",{type:"text",required:!0,value:e.name,onChange:d=>t({...e,name:d.target.value}),className:"w-full px-4 py-3 rounded-xl border border-border bg-background text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-primary/40 text-sm transition-shadow",placeholder:"Your name"})]}),n.jsxs("div",{children:[n.jsx("label",{className:"block text-sm font-semibold text-foreground mb-1.5",children:"Email"}),n.jsx("input",{type:"email",required:!0,value:e.email,onChange:d=>t({...e,email:d.target.value}),className:"w-full px-4 py-3 rounded-xl border border-border bg-background text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-primary/40 text-sm transition-shadow",placeholder:"[email protected]"})]})]}),n.jsxs("div",{children:[n.jsx("label",{className:"block text-sm font-semibold text-foreground mb-1.5",children:"Subject"}),n.jsx("input",{type:"text",required:!0,value:e.subject,onChange:d=>t({...e,subject:d.target.value}),className:"w-full px-4 py-3 rounded-xl border border-border bg-background text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-primary/40 text-sm transition-shadow",placeholder:"How can we help?"})]}),n.jsxs("div",{children:[n.jsx("label",{className:"block text-sm font-semibold text-foreground mb-1.5",children:"Message"}),n.jsx("textarea",{required:!0,rows:5,value:e.message,onChange:d=>t({...e,message:d.target.value}),className:"w-full px-4 py-3 rounded-xl border border-border bg-background text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-primary/40 text-sm transition-shadow resize-none",placeholder:"Tell us more about your enquiry..."})]}),o&&n.jsx("p",{className:"text-red-500 text-sm",children:o}),n.jsxs(L,{type:"submit",variant:"hero",size:"lg",className:"w-full sm:w-auto",disabled:a,children:[a?"Sending...":"Send Message"," ",n.jsx(le,{className:"w-4 h-4 ml-2"})]})]})]}),n.jsxs("div",{className:"lg:col-span-2 space-y-8",children:[n.jsxs("div",{className:"rounded-2xl bg-navy-deep p-8",children:[n.jsx("h3",{className:"text-lg font-bold text-primary-foreground mb-3",children:"About Cyberwise"}),n.jsx("p",{className:"text-blue-ice/70 text-sm leading-relaxed mb-4",children:"Cyberwise is a UCD-led initiative dedicated to building cyber resilience through education. We work with schools, universities, and organisations across the island of Ireland to develop innovative curricula, research, and resources."}),n.jsxs("a",{href:"/about-us",className:"inline-flex items-center gap-2 text-blue-sky font-bold text-sm hover:gap-3 transition-all",children:["Learn more about us ",n.jsx(le,{className:"w-4 h-4"})]})]}),n.jsxs("div",{className:"rounded-2xl border border-border p-8",children:[n.jsx("h3",{className:"text-lg font-bold text-foreground mb-4",children:"Follow Us"}),n.jsx("div",{className:"flex gap-3",children:MR.map(d=>n.jsx("a",{href:d.href,"aria-label":d.label,className:"w-11 h-11 rounded-xl border border-border bg-background flex items-center justify-center text-muted-foreground hover:bg-primary hover:text-primary-foreground hover:border-primary transition-all",children:d.icon},d.label))})]}),n.jsxs("div",{className:"rounded-2xl border border-border p-8",children:[n.jsx("h3",{className:"text-lg font-bold text-foreground mb-2",children:"Partnership Enquiries"}),n.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"Interested in collaborating on research, curriculum development, or educational outreach? We're always open to new partnerships."})]})]})]}),n.jsx("div",{className:"grid md:grid-cols-2 gap-6 max-w-3xl mx-auto mt-16",children:OR.map(d=>n.jsxs("a",{href:d.href,target:d.href.startsWith("http")?"_blank":void 0,rel:"noopener noreferrer",className:"group flex flex-col items-center text-center p-8 rounded-2xl border border-border bg-background hover:shadow-xl hover:-translate-y-1 transition-all",children:[n.jsx("div",{className:"w-14 h-14 roun
491ded-xl bg-primary/10 text-primary flex items-center justify-center mb-4 group-hover:bg-primary group-hover:text-primary-foreground transition-colors",children:d.icon}),n.jsx("h3",{className:"font-bold text-foreground mb-1",children:d.label}),n.jsx("p",{className:"text-primary font-semibold text-sm mb-1",children:d.value}),n.jsx("p",{className:"text-muted-foreground text-xs",children:d.description})]},d.label))})]})}),n.jsx(ae,{})]})},Ka=w.forwardRef(({className:e,type:t,...r},s)=>n.jsx("input",{type:t,className:xe("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:s,...r}));Ka.displayName="Input";const $R="/assets/cyberland-2025-CuI18HYs.jpg",UR="/assets/cyberland-2024-BD0GF3N-.jpg",BR="/assets/about-cyberwise-9zHifITV.jpg",FR=[{year:"2025",title:"Adventures in Cyberland Awards 2025",description:"This year's Adventures in Cyberland Awards celebrates the creativity, critical thinking, and digital citizenship skills of students across Ireland. Participants explored themes such as cybersecurity awareness, AI-driven threats, cyberbullying, digital ethics, misinformation, and global cyber challenges.",image:$R,href:"/medals-and-award-winning-projects-2025"},{year:"2024",title:"Adventures in Cyberland Awards 2024",description:"We were proud to announce that our 2024 Annual Adventures in Cyberland initiative was supported by both the SFI Discover Programme which focused on challenging gender bias in computer science and cybersecurity and the Shared Island Civic Society Fund, which supported our exploration of the intersection between social media and climate action.",image:UR,href:"/adventures-in-cyberland-awards-2024"}],um=[{year:"2025",award:"Overall Winner & Creativity and Innovation Award",title:"Dr Antsvi's Introduction to Malware",school:"Deansrath Community College",students:"Emily Pesak, George John Hurst, Piotr Zawierta, Ciara Minnock",description:"An innovative and creative exploration of malware concepts, bringing cybersecurity education to life through engaging storytelling."},{year:"2025",award:"Junior Overall Winner & Cybersecurity Awareness Raising – Data Management",title:"Your Digital Shadow",school:"Tallaght Community School",students:"Abiba Coulibaly",description:"A compelling exploration of how our digital footprints follow us online, raising awareness about data management."},{year:"2025",award:"1st Place – 5th Year",title:"Hackopoly!",school:"Tullamore College",students:"Clíona Keating",description:"A cybersecurity-themed board game challenging players to navigate digital threats and defences."},{year:"2025",award:"1st Place – Transition Year",title:"How Quantum Computing is a Threat to Cybersecurity!",school:"Tullamore College",students:"Nicole Geoghegan, Alison Judge, Casey Chen, Eliza Wlodarczyk",description:"Exploring how quantum computing could undermine current cybersecurity systems and what the future holds."},{year:"2025",award:"1st Place – 3rd Year",title:"How AI Agents Can Have Advantages and Disadvantages in Cybersecurity",school:"Woodbrook College",students:"William Cordner, Julian Codamon, Tyler Walsh, Justin Kelly",description:"Examining the dual role of AI agents in cybersecurity – as both defenders and potential attack vectors."},{year:"2025",award:"1st Place – 2nd Year",title:"Data Nations",school:"Greystones Community College",students:"Ciarán Finn, Olivier Matenko, Nathan Cranley, Luke Duignam, Ihor Pinas, Donncha Comerford",description:"A project exploring how nations handle and protect data in an increasingly connected world."},{year:"2025",award:"1st Place – 1st Year",title:"Malware Mayhem",school:"Greystones Community College",students:"Sam Ffrench Mullen, Tymon Chowanski, Jackson Doyle, Ben Hayes, Yousef Meatermawi",description:"An engaging project exploring the world of malware and how to protect against digital threats."},{year:"2025",award:"Block W Award for Excellence and Innovation",title:"The Lack of Cybersecurity Among Teenagers",school:"Woodbrook College",students:"Destiny Ofuonyemegi, Trudy Devoy, Siofra Keogh, Sophie Lynch",description:"Highlighting cybersecurity gaps among teenager
491s and proposing practical awareness solutions."},{year:"2025",award:"Cybersecurity Educational Game Award",title:"Scam: A Card Matching Game",school:"Greystones Community College",students:"Donnchadh Eager O'Brien, Leonardo O'Sullivan, Tyler Ferguson, Edgar Withers Hanrahan, Tadgh Vines, Joshua Taglienti",description:"An engaging card matching game teaching players to identify and respond to common online scams."},{year:"2025",award:"Global Issues in Cybersecurity Award",title:"Leaking Secrets in the Digital Battlefield",school:"Woodbrook College",students:"Eoghan Clifford, Rafaelle Formaro, Niall Hayden, Hubert Momot",description:"How War Thunder hackers exposed weaknesses in government cybersecurity systems."},{year:"2025",award:"Cybersecurity in Farming Award",title:"Cybersecurity and Farming",school:"Tullamore College",students:"Joshua Dunne",description:"Exploring the intersection of cybersecurity and agriculture, highlighting digital threats facing the farming sector."},{year:"2025",award:"Cybersecurity Awareness Raising – AI Technologies",title:"Cybersecurity and Artificial Intelligence – Global Challenges and Opportunities",school:"Tullamore College",students:"Eva Lowndes, Eloise Kamalandua, Conor Lynch",description:"Exploring the global challenges and opportunities presented by AI in the cybersecurity landscape."},{year:"2025",award:"Cybersecurity Awareness Raising – Policy",title:"Chat Control",school:"Tullamore College",students:"Aaron Mooney, Rory Gill",description:"A critical examination of chat control policies and their implications for privacy and cybersecurity."},{year:"2024",award:"Overall Group Winner and Busting Gender Bias 1st Place",title:"Breaking Barriers – Gender Bias Busting at SHS",school:"SHS, Tullamore",students:"Emma O'Brien, Alysia Bennies, Ciara Chambers, Avrit Macchado, Shibani Venugopal",description:"This project showcases the timeline of implementing Computer Science in an all-girls school, highlighting the journey of growth and innovation.",projectLink:"https://padlet.com/a_griffin/breaking-barriers-sacred-heart-school-journey-3u07lf8eg2fvcfsn/slideshow"},{year:"2024",award:"Overall Individual Winner",title:"The Minecraft Cyberwise Experience",school:"Tullamore College",students:"Amelie O'Connor",description:"An interactive Minecraft Cyberwise experience where players navigate obstacle courses, building their skills and awareness while they play.",projectLink:"https://drive.google.com/file/d/1scCg0Ns4qB6ONsL1Jiw0soDVOHrwpzwm/view?pli=1"},{year:"2024",award:"Awareness Raising 1st Place",title:"Flipper Zero: The Ultimate Hacker's Multi-Tool",school:"Tullamore College",students:"Ryan Plunkett, Nathan Dunne, Iarfhlaith Flynn Murphy, Cillian Farrell, Nikita Greidans",description:"This project introduces the Flipper Zero, a portable multi-tool used for hacking and security research across RFID, NFC, Bluetooth and infrared.",projectLink:"https://drive.google.com/file/d/18f832iz8mnF_Y0lWCwBZRYwVdSxk3SaE/view"},{year:"2024",award:"Awareness Raising 1st Place LCA",title:"Cybersecurity Protecting the Elderly",school:"Tullamore College",students:"Ella Lynch, Emily Heffernan, Savanna Dunne, Roisin Murphy",description:"Raising awareness about common scams such as phishing, pharming, blagging, shouldering, and fraudulent messages targeting older adults.",projectLink:"https://docs.google.com/presentation/d/1q1tMlO5zWWPgsiHeRxiyv-FJbAtHzCHV/edit?slide=id.p1#slide=id.p1"},{year:"2024",award:"Contemporary Issues in Cybersecurity",title:"Why Russia has the Highest Rate of Cybercrime",school:"Tullamore College",students:"Gavin Connolly, Stephen Byrne",description:"Investigating the factors contributing to high rates of cybercrime in Russia, with a focus on economics of cybercrime and the Russia-Ukraine war.",projectLink:"https://docs.google.com/presentation/d/1-POh9Ml-CAK_wuZcfRK4T606D3TNGs_J/edit?slide=id.p2#slide=id.p2"},{year:"2024",award:"Educational Games 1st Place – 1st Year",title:"Unplugged: SCAM Card Game",school:"Greystones Community College",students:"Edgar Withers, Donnchadh Eager O'Brien, Tadgh Vines, Joshua Taglienti, Leonardo O'Sullivan, Tyler Ferguson",description:"A scam-awareness card game suitable for ages 5 and up, teaching about online scams and safe responses.",projectLink:"https://drive.google.com/file/d/1ZEgWXa7aEFnl5bhwUMPMx3em8zm2R5K-/view"},{year:"2024",award:"Educational Games 1st Place – 2nd Year",title:"Unplugged: Cybersecurity Top Trumps",school:"Greystones Community College",students:"Daragh Gargan, Neil Grennan, Oliver Finan, Oliver Chester, Tiernan Farell",description:"A cyber security–themed Top Trumps card game with statistics highlighting online protection strengths and weaknesses.",projectLink:"https://docs.google.com/presentation/d/1p_cBkFJhsnKX9F0L64xj1jC6WKZrn3
491yB/edit?slide=id.p1#slide=id.p1"},{year:"2024",award:"Educational Games 1st Place – 3rd Year",title:"Gone Phishing – Online Game",school:"Greystones Community College",students:"Gustavs Vitols, Aahad Saleem, PIjus Siupinys, Dax Fulmer",description:"An interactive game helping young people spot and avoid phishing scams, especially those arriving by email.",projectLink:"https://drive.google.com/file/d/1wHCMXGN7lW0gD3tmA0gnBwI_epy9dv2L/view"},{year:"2024",award:"Educational Games 1st Place – TY",title:"Unplugged: Cyber-opoly Secure your domain",school:"Tullamore College",students:"Cliona Keating",description:"A cyber safety–themed board game inspired by Monopoly where players learn about online threats through gameplay.",projectLink:"https://docs.google.com/presentation/d/1YM2UbGZ236K6n8K2nNdENMiZ7fJmuPJD/edit?slide=id.p1#slide=id.p1"},{year:"2024",award:"Creativity and Innovation",title:"Exploring Cybersecurity Through Intelligent eXtended Reality (IXR)",school:"St. Colman's NS, Mucklagh",students:"Ellie Wrafter, Kate McLaughlin, Emma Cosgrave, Lauren Bane, Anna Egan, Sophia Sanders",description:"An immersive way to learn about staying safe online using intelligent extended reality tools, experiencing cyber threats in a virtual environment."},{year:"2024",award:"UCD Wellbeing in Education Award",title:"The Lost Soul: Revealing Hidden Depths in Cybersecurity",school:"Deansrath Community College",students:"Emily Pesak, Piotr Zawierta, George Hurst",description:"A short animation inspired by the myth of Narcissus, reimagined for the digital age, exploring how online worlds shape attention and wellbeing.",projectLink:"https://drive.google.com/file/d/1c_oVxuK7uAu7R2sP080wDQNBMG2EaZQF/view"},{year:"2024",award:"Ubuntu Award for GCE",title:"Immersive Technology and Teaching Sustainability",school:"Duiske College, Co. Kilkenny",students:"1st and 2nd Year Students",description:"Exploring how immersive technologies can help students better understand sustainability issues and the impact of their choices on the wider world."},{year:"2024",award:"TAP-TS Award",title:"Impact of Data Centres on the Environment",school:"Greystones Community College",students:"Orianna McGuigan, Etain Finnerty, Hannah O'Hare, Elisabeta Moisa, Dylan Phibbs O'Connor, Tadgh Duffy",description:"Exploring the environmental impact of data centres through carbon footprint, e-waste, water consumption, and disruption of land and habitats.",projectLink:"https://drive.google.com/file/d/1t_9aY7NtTeCdDym_fckz3sBjdpebBDUB/view"},{year:"2024",award:"Silver Medal Winner",title:"Busting Gender Bias through the Harvard IAT",school:"Swords Community College",students:"Jane Maxwell, Andrea Ciobanu, Brianna Baworee, Stela Butkute",description:"A digital story about uncovering and challenging gender bias in cybersecurity using the Harvard Implicit Association Test.",projectLink:"https://www.youtube.com/watch?v=q5uKHUbnbUM"}],zR=["all",...Array.from(new Set(um.map(e=>e.year)))],WR=()=>{const[e,t]=w.useState(""),[r,s]=w.useState("all"),a=um.filter(i=>{const o=r==="all"||i.year===r,l=e.toLowerCase(),c=i.title.toLowerCase().includes(l)||i.school.toLowerCase().includes(l)||i.students.toLowerCase().includes(l)||i.award.toLowerCase().includes(l)||i.description.toLowerCase().includes(l);return o&&c});return n.jsxs("div",{className:"min-h-screen",children:[n.jsx(Ue,{title:"Adventures in Cyberland Awards",description:"The Adventures in Cyberland Awards celebrate student achievements in cybersecurity education across Irish primary and post-primary schools.",path:"/adventures-in-cyberland-awards"}),n.jsx(se,{}),n.jsxs("section",{className:"bg-navy-deep py-14 lg:py-20 relative overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_top_right,_hsl(var(--blue-mid)/_0.2)_0%,_transparent_60%)]"}),n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_bottom_left,_hsl(var(--blue-sky)/_0.1)_0%,_transparent_50%)]"}),n.jsx("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:n.jsxs("div",{className:"text-center max-w-4xl mx-auto",children:[n.jsx("span",{className:"text-blue-sky font-bold text-sm uppercase tracking-widest",children:"Cyberwise Awards"}),n.jsxs("h1",{className:"text-4xl md:text-6xl font-extrabold text-primary-foreground mt-3 mb-6 leading-tight",children:["Adventures in",n.jsx("span",{className:"block bg-gradient-to-r from-blue-sky to-blue-mid bg-clip-text text-transparent",children:"Cyberland Awards"})]}),n.jsx("p",{className:"text-blue-ice/80 text-lg md:text-xl leading-relaxed max-w-3xl mx-auto",children:"The Adventures in Cyberland Awards honour students who use creativity and critical thinking to make the digital world safer, fairer, and more sustainable. It's a celebration of young changemakers tackling real-world cyber challenges through fresh ideas and imagination."})]})})]}),n.jsx("section",{className:"bg-navy-dark py-12 border-y border-blue-mid/20",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsx("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-8 text-center",children:[{icon:n.jsx(Kn,{className:"w-6 h-6"}),value:"3 Years",label:"Of Awards"},{icon:n.jsx(Qe,{className:"w-6 h-6"}),value:"5,000+",label:"Students"},{icon:n.jsx(uw,{className:"w-6 h-6"}),value:"100+",label:"Projects"},{icon:n.jsx(yd,{className:"w-6 h-6"}),value:"All-Island",label:"Participation"}].map(i=>n.jsxs("div",{className:"flex flex-col items-center",children:[n.jsx("div",{className:"text-blue-sky mb-2",children:i.icon}),n.jsx("span",{className:"text-2xl md:text-3xl font-extrabold text-primary-foreground",children:i.value}),n.jsx("span",{className:"text-blue-ice/60 text-sm mt-1",children:i.label})]},i.label))})})}),n.jsx("section",{className:"bg-card py-20 lg:py-28",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsxs("div",{className:"text-center mb-16 max-w-3xl mx-auto",children:[n.jsx("span",{className:"text-blue-mid font-bold text-sm uppercase tracking-widest",children:"Previous Winners"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3 mb-4",children:"Previous Award Winners and Projects"}),n.jsx("p",{className:"text-muted-foreground text-lg",children:"Our previous award winners and projects showcase the creativity, curiosity, and innovation of students across Ireland. From exploring the ethics of artificial intelligence to tackling gender bias in cyber security and climate misinformation online, these projects highlight the powerful ways young people are shaping a safer, fairer digital future."})]}),n.jsx("div",{className:"space-y-8 max-w-5xl mx-auto",children:FR.map(i=>n.jsx("a",{href:i.href||"#",className:"rounded-2xl overflow-hidden border border-border bg-background block hover:border-blue-mid/40 transition-colors",children:n.jsxs("div",{className:"grid lg:grid-cols-5 ga
491p-0",children:[n.jsx("div",{className:"lg:col-span-2 relative min-h-[240px] overflow-hidden",children:n.jsx("img",{src:i.image,alt:i.title,className:"w-full h-full object-cover",loading:"lazy"})}),n.jsxs("div",{className:"lg:col-span-3 p-8 lg:p-10 flex flex-col justify-center",children:[n.jsx("span",{className:"text-blue-mid font-extrabold text-3xl mb-2",children:i.year}),n.jsx("h3",{className:"text-xl font-bold text-foreground mb-4",children:i.title}),n.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:i.description})]})]})},i.year))})]})}),n.jsxs("section",{className:"bg-navy-deep py-20 lg:py-28 relative overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_center,_hsl(var(--blue-mid)/_0.08)_0%,_transparent_60%)]"}),n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:[n.jsxs("div",{className:"text-center mb-12 max-w-3xl mx-auto",children:[n.jsx("span",{className:"text-blue-sky font-bold text-sm uppercase tracking-widest",children:"Project Library"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-primary-foreground mt-3 mb-4",children:"Search All Award-Winning Projects"}),n.jsx("p",{className:"text-blue-ice/70 text-lg",children:"Browse and search through all award-winning projects across every year."})]}),n.jsxs("div",{className:"max-w-4xl mx-auto mb-10",children:[n.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 items-center",children:[n.jsxs("div",{className:"relative flex-1 w-full",children:[n.jsx(Us,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-blue-ice/40"}),n.jsx(Ka,{placeholder:"Search by title, school, student, or award...",value:e,onChange:i=>t(i.target.value),className:"pl-10 bg-[hsl(var(--navy-dark))] border-blue-mid/20 text-primary-foreground placeholder:text-blue-ice/40"})]}),n.jsx("div",{className:"flex gap-2",children:zR.map(i=>n.jsx("button",{onClick:()=>s(i),className:`px-4 py-2 rounded-lg text-sm font-bold transition-colors ${r===i?"bg-blue-mid text-primary-foreground":"bg-[hsl(var(--navy-dark))] text-blue-ice/60 hover:text-blue-ice border border-blue-mid/20"}`,children:i==="all"?"All Years":i},i))})]}),n.jsxs("p",{className:"text-blue-ice/50 text-sm mt-3",children:["Showing ",a.length," of ",um.length," projects"]})]}),n.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6 max-w-6xl mx-auto",children:a.map((i,o)=>n.jsxs("div",{className:"rounded-xl border border-blue-mid/20 bg-[hsl(var(--navy-dark))] p-6 flex flex-col",children:[n.jsxs("div",{className:"flex items-center justify-between mb-3",children:[n.jsx("span",{className:"text-blue-sky font-bold text-xs uppercase tracking-wider bg-blue-sky/10 px-2 py-1 rounded",children:i.year}),n.jsx(Kn,{className:"w-4 h-4 text-blue-mid/60"})]}),n.jsx("span",{className:"text-blue-mid text-xs font-semibold mb-2",children:i.award}),n.jsx("h3",{className:"text-base font-bold text-primary-foreground mb-2 leading-snug",children:i.title}),n.jsx("p",{className:"text-blue-ice/60 text-sm leading-relaxed mb-4 flex-1",children:i.description}),n.jsxs("div",{className:"space-y-1 text-xs text-blue-ice/40 mb-4",children:[n.jsxs("p",{children:[n.jsx("span",{className:"text-blue-ice/60 font-semibold",children:"School:"})," ",i.school]}),n.jsxs("p",{children:[n.jsx("span",{className:"text-blue-ice/60 font-semibold",children:"Students:"})," ",i.students]})]}),i.projectLink&&n.jsx(L,{variant:"hero",size:"sm",asChild:!0,className:"w-full",children:n.jsxs("a",{href:i.projectLink,target:"_blank",rel:"noopener noreferrer",children:["View Project ",n.jsx(me,{className:"w-3 h-3 ml-1"})]})})]},o))}),a.length===0&&n.jsxs("div",{className:"text-center py-16",children:[n.jsx(Es,{className:"w-12 h-12 text-blue-mid/30 mx-auto mb-4"}),n.jsx("p",{className:"text-blue-ice/50 text-lg",children:"No projects found matching your search."})]})]})]}),n.jsx("section",{className:"bg-card py-20 lg:py-28",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsxs("div",{className:"grid lg:grid-cols-2 gap-12 items-center max-w-6xl mx-auto",children:[n.jsxs("div",{children:[n.jsx("span",{className:"text-blue-mid font-bold text-sm uppercase tracking-widest",children:"About Cyberwise"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mb-6",children:"Building Cyber Resilience Through Education"}),n.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:"The UCD Centre for Cyber Resilience Education is a leading force in developing comprehensive and accessible cyber-resil
491ience education. Building on our successful pilot programs, like the Cyberwise junior cycle short course, we are expanding our efforts to reach learners across all levels of education in Ireland and beyond."}),n.jsx("p",{className:"text-muted-foreground leading-relaxed mb-8",children:"Our aim is to build a future where everyone is equipped to thrive in the digital age, confident in their ability to navigate the challenges and opportunities of the online world."}),n.jsx(L,{variant:"cta",asChild:!0,children:n.jsxs("a",{href:"/about-us",children:["Learn More ",n.jsx(le,{className:"w-4 h-4 ml-2"})]})})]}),n.jsx("div",{className:"rounded-2xl overflow-hidden border border-border min-h-[320px]",children:n.jsx("img",{src:BR,alt:"Cyberwise team at UCD O'Reilly Hall",className:"w-full h-full object-cover",loading:"lazy"})})]})})}),n.jsx(st,{}),n.jsx(ts,{}),n.jsx(ae,{})]})},GR="/assets/awards2024-overall-group-iOHYdmsG.jpg",HR="/assets/awards2024-individual-CSeetQUZ.jpg",VR="/assets/awards2024-flipper-DunjB67u.jpg",qR="/assets/awards2024-lca-uJDyRTgO.jpg",KR="/assets/awards2024-russia-hySm12pC.jpg",YR="/assets/awards2024-scam-game-MOR1kseH.jpg",JR="/assets/awards2024-top-trumps-BYre5amX.jpg",QR="/assets/awards2024-phishing-DdaWTlXi.jpg",XR="/assets/awards2024-cyberopoly-Cd2oAbdi.jpg",ZR="/assets/awards2024-lost-soul-CJN9wAtC.jpg",e6="/assets/awards2024-creativity-BEgiKrl5.jpg",t6="/assets/awards2024-ubuntu-BMkUn4rp.jpg",r6="/assets/awards2024-tapts-DqVOrb4d.jpg",n6="/assets/awards2024-silver-C6YFAyPO.jpg",s6=[{award:"Overall Group Winner and Busting Gender Bias 1st Place",title:"Breaking Barriers – Gender Bias Busting at SHS: Our cyber journey to flatten the gender bias curve",school:"SHS, Tullamore",students:"Emma O'Brien, Alysia Bennies, Ciara Chambers, Avrit Macchado, Shibani Venugopal",teachers:"Ms Annette Griffin, Ms Jacinta Gallagher",presentedBy:"Haula Sani Galadima, ADAPT Centre",caption:"Winning students pictured with (L to R) – Dr Rachel Farrell (Director UCD Centre for Cyber Resilience Education), David Morris (NCSC), Annette Griffin (Teacher), Haula Galadima (UCD School of Computer Science), Jacinta Gallagher (Teacher), Marelle Rice (Adventures in Cyberland Project Manager), Darragh McSweeney (NCSC).",description:"This project showcases the timeline of implementing Computer Science in an all-girls school, highlighting the journey of growth and innovation. It features podcasts with former students who are now studying or working in the field, offering real-world insights and inspiration. The project also includes demonstrations of the school's robotics initiatives, celebrating students' creativity, problem-solving, and engagement with technology.",projectLink:"https://padlet.com/a_griffin/breaking-barriers-sacred-heart-school-journey-3u07lf8eg2fvcfsn/slideshow",image:GR},{award:"Overall Individual Winner and Educational Games 1st Place – 6th Year",title:"The Minecraft Cyberwise Experience",school:"Tullamore College",students:"Amelie O'Connor",teachers:"Mr John Lowndes",presentedBy:"Jacky Fox – Accenture Security Global Strategy Practice Lead",description:"This entry is a short video showcasing an interactive Minecraft Cyberwise experience. In the game, players navigate and complete a series of obstacle courses, building their skills and awareness while they play. It's a fun, game-based way to explore key ideas about being smart and safe online.",projectLink:"https://drive.google.com/file/d/1scCg0Ns4qB6ONsL1Jiw0soDVOHrwpzwm/view?pli=1",image:HR},{award:"Awareness Raising 1st Place",title:"Flipper Zero: The Ultimate Hacker's Multi-Tool",school:"Tullamore College",students:"Ryan Plunkett, Nathan Dunne, Iarfhlaith Flynn Murphy, Cillian Farrell, Nikita Greidans",teachers:"Mr John Lowndes",presentedBy:"Jacky Fox – Accenture Security Global Strategy Practice Lead",description:"This project introduces the Flipper Zero, a portable multi-tool used for hacking and security research. It can interact with a wide range of everyday technologies – from RFID cards and NFC tags to Bluetooth, infrared devices, and other wireless signals – making it a powerful way to explore how digital systems communicate. Fully open-source and highly customisable, it can be used to emulate, read, and write different signals, and is often used in penetration testing and IoT security.",projectLink:"https://drive.google.com/file/d/18f832iz8mnF_Y0lWCwBZRYwVdSxk3SaE/view",image:VR},{award:"Awareness Raising 1st Place LCA",title:"Cybersecurity Protecting the Elderly",school:"Tullamore College",students:"Ella Lynch, Emily Heffernan, Savanna Dunne, Roisin Murphy",teachers:"Mr John Lowndes",presentedBy:"Darragh McSweeney: Cyber Security Responder at National Cyber Security Centre, Ireland (NCSC-IE)",description:"This project focuses on cybersecurity and protecting the elderly from online threats. The group created both a PowerPoint presentation and a Canva poster to raise awareness about common scams such as phishing, pharming, blagging, shouldering, and fraudulent messages or phone calls. Their aim was to educate older adults on how to recognise and prevent these attacks, empowering them to stay safe and confident online.",projectLink:"https://docs.google.com/presentation/d/1q1tMlO5zWWPgsiHeRxiyv-FJbAtHzCHV/edit?slide=id.p1#slide=id.p1",image:qR},{award:"Contemporary Issues in Cybersecurity",title:"Why Russia has the Highest Rate of Cybercrime",school:"Tullamore College",students:"Gavin Connolly, Stephen Byrne",teachers:"Mr John Lowndes",presentedBy:"Jacky Fox – Accenture Security Global Strategy Practice Lead",description:"This project from Tullamore College investigates the factors contributing to high rates of cybercrime in Russia, with a focus on the economics of cybercrime and its influence on the Russia-Ukraine war. It also examines the techniques used by Russian cybercriminals and provides practical guidance on how individuals can identify and avoid scams.",projectLink:"https://docs.google.com/presentation/d/1-POh9Ml-CAK_wuZcfRK4T606D3TNGs_J/edit?slide=id.p2#
491slide=id.p2",image:KR},{award:"Educational Games 1st Place – 1st Year",title:"Unplugged: SCAM Card Game for Cybersecurity Awareness",school:"Greystones Community College",students:"Edgar Withers, Donnchadh Eager O'Brien, Tadgh Vines, Joshua Taglienti, Leonardo O'Sullivan, Tyler Ferguson",teachers:"Mr James Flood",presentedBy:"Tom Lonergan – Oide Technology in Education",description:"This project is a scam-awareness card game suitable for ages 5 and up. Players learn about different types of online scams and the safe responses to them as they match cards and read out the scenarios and solutions. It's a simple, fun way to introduce children and families to online safety and how to spot a scam before it causes harm.",projectLink:"https://drive.google.com/file/d/1ZEgWXa7aEFnl5bhwUMPMx3em8zm2R5K-/view",image:YR},{award:"Educational Games 1st Place – 2nd Year",title:"Unplugged: Cybersecurity Top Trumps Card Game",school:"Greystones Community College",students:"Daragh Gargan, Neil Grennan, Oliver Finan, Oliver Chester, Tiernan Farell",teachers:"Mr James Flood",presentedBy:"Tom Lonergan – Oide Technology in Education",description:"This project is a cyber security–themed version of Top Trumps. Each card represents a different way of protecting yourself online and includes five statistics that highlight its strengths and weaknesses in a fun, competitive format. At the bottom of each card, clear descriptions explain how that particular tool or practice helps keep you safe.",projectLink:"https://docs.google.com/presentation/d/1p_cBkFJhsnKX9F0L64xj1jC6WKZrn3yB/edit?slide=id.p1#slide=id.p1",image:JR},{award:"Educational Games 1st Place – 3rd Year",title:"Gone Phishing – Online Game",school:"Greystones Community College",students:"Gustavs Vitols, Aahad Saleem, PIjus Siupinys, Dax Fulmer",teachers:"Mr Eamonn O'Brien",presentedBy:"Dr Kevin Marshall – Head of Education Microsoft Ireland",description:"This project helps young people spot and avoid phishing scams, especially those that arrive by email. It explains the common warning signs to look out for so people can protect themselves before they're caught out. The project includes an easy-to-read information poster and an interactive game, Gone Phishing, which makes learning how to stay safe online engaging and fun.",projectLink:"https://drive.google.com/file/d/1wHCMXGN7lW0gD3tmA0gnBwI_epy9dv2L/view",image:QR},{award:"Educational Games 1st Place – TY",title:"Unplugged: Cyber-opoly Secure your domain",school:"Tullamore College",students:"Cliona Keating",teachers:"Mr John Lowndes",presentedBy:"Dr Kevin Marshall – Head of Education Microsoft Ireland",description:'Cyber-opoly is a cyber safety–themed board game inspired by Monopoly. Players move around a board where each location is named after an online threat, such as "Phishing Pond," and property cards explain what to watch out for in each case. Chance cards introduce realistic online scenarios – some positive, some negative – like losing a property because you were hacked or gaining temporary immunity because you spotted a scam.',projectLink:"https://docs.google.com/presentation/d/1YM2UbGZ236K6n8K2nNdENMiZ7fJmuPJD/edit?slide=id.p1#slide=id.p1",image:XR},{award:"Creativity and Innovation",title:"Exploring Cybersecurity Through Intelligent eXtended Reality (IXR)",school:"St. Colman's NS, Mucklagh",students:"Ellie Wrafter, Kate McLaughlin, Emma Cosgrave, Lauren Bane, Anna Egan, Sophia Sanders",teachers:"Ms Ciara Molloy",presentedBy:"Dr Kevin Marshall – Head of Education Microsoft Ireland",description:"Using intelligent extended reality tools, students designed an immersive way to learn about staying safe online, helping users experience cyber threats and safe responses in a virtual environment. Their project shows how new technologies can make cybersecurity education more engaging, interactive, and memorable for young people.",image:e6},{award:"The UCD Centre for the Advancement of Wellbeing in Education Award",title:"The Lost Soul: Revealing Hidden Depths in Cybersecurity",school:"Deansrath Community College",students:"Emily Pesak, Piotr Zawierta, George Hurst",teachers:"Ms Jana Elkhawad",presentedBy:"Associate Professor Seáneen Sloan & Dr Jessica Surdey, UCD Centre for Advancement of Wellbeing in Education",description:"The Lost Soul is a short animation with accompanying text inspired by the myth of Narcissus, reimagined for the digital age. It follows a young person drawn deeper and deeper into an online world that is designed to keep people online for as long as possible, using recommendation systems and endless feeds that can subtly direct attention and shape how we think.",projectLink:"https://drive.google.com/file/d/1c_oVxuK7uAu7R2sP080wDQNBMG2EaZQF/view",image:ZR},{award:"Ubuntu Award for GCE",title:"Immersive Technology and Teaching Sustainability",school:"Duiske College, Co. Kilkenny",students:"1st and 2nd Year Students",teachers:"Ms Elizabeth Brophy",presentedBy:"Deirdre Hogan – University of Limerick – Ubuntu Network",description:"The project explores how immer
491sive technologies, such as virtual and simulated environments, can help students better understand sustainability issues and the impact of their choices on the wider world. By combining digital innovation with climate and sustainability themes, the students aim to inspire more informed, empathetic, and responsible global citizens.",image:t6},{award:"TAP-TS Award",title:"Impact of Data Centres on the Environment",school:"Greystones Community College",students:"Orianna McGuigan, Etain Finnerty, Hannah O'Hare, Elisabeta Moisa, Dylan Phibbs O'Connor, Tadgh Duffy",teachers:"Mr James Flood",presentedBy:"Dr Eileen Bowman – UCD School of Education",description:"This project explores the environmental impact of data centres, which play an increasingly important role in our digital world. It looks at how data centres affect the planet through their carbon footprint, e-waste, water consumption, and the disruption of land and habitats, with a particular focus on recent developments in Ireland.",projectLink:"https://drive.google.com/file/d/1t_9aY7NtTeCdDym_fckz3sBjdpebBDUB/view",image:r6},{award:"Silver Medal Winner",title:"Busting Gender Bias through the Harvard Implicit Association Test",school:"Swords Community College",students:"Jane Maxwell, Andrea Ciobanu, Brianna Baworee, Stela Butkute",teachers:"Mr Jake Weldon",presentedBy:"Marelle Rice, UCD School of Education",description:"Swords CC – Busting Gender Bias through the Harvard IAT is a digital story about uncovering and challenging gender bias in cybersecurity. The students began by taking the Harvard Implicit Association Test (IAT) to explore unconscious attitudes about gender, then reflected on what gender bias means and how it can influence people's thinking.",projectLink:"https://www.youtube.com/watch?v=q5uKHUbnbUM",image:n6}],a6=()=>n.jsxs("div",{className:"min-h-screen",children:[n.jsx(se,{}),n.jsxs("section",{className:"bg-navy-deep py-14 lg:py-20 relative overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_top_right,_hsl(var(--blue-mid)/_0.2)_0%,_transparent_60%)]"}),n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_bottom_left,_hsl(var(--blue-sky)/_0.1)_0%,_transparent_50%)]"}),n.jsx("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:n.jsxs("div",{className:"text-center max-w-4xl mx-auto",children:[n.jsx("span",{className:"text-blue-sky font-bold text-sm uppercase tracking-widest",children:"2024 Awards"}),n.jsxs("h1",{className:"text-4xl md:text-6xl font-extrabold text-primary-foreground mt-3 mb-6 leading-tight",children:["Adventures in Cyberland",n.jsx("span",{className:"block bg-gradient-to-r from-blue-sky to-blue-mid bg-clip-text text-transparent",children:"Awards 2024"})]}),n.jsx("p",{className:"text-blue-ice/80 text-lg md:text-xl leading-relaxed max-w-3xl mx-auto mb-8",children:"Celebrating the creativity, curiosity, and innovation of students across Ireland. From exploring the ethics of AI to tackling gender bias in cyber security and climate misinformation online."}),n.jsx(L,{variant:"hero",asChild:!0,children:n.jsxs("a",{href:"https://cyberwise.ie/wp-content/uploads/2025/09/AiC2024Programme.pdf",target:"_blank",rel:"noopener noreferrer",children:["View 2024 Awards Programme ",n.jsx(me,{className:"w-4 h-4 ml-2"})]})})]})})]}),n.jsx("section",{className:"bg-card py-16 lg:py-20",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsxs("div",{className:"text-center max-w-3xl mx-auto mb-10",children:[n.jsx("span",{className:"text-blue-mid font-bold text-sm uppercase tracking-widest",children:"Showcase Video"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3 mb-4",children:"2024 Awards Programme"}),n.jsx("p",{className:"text-muted-foreground text-lg",children:"Watch the highlights from the 2024 Adventures in Cyberland Awards ceremony."})]}),n.jsx("div",{className:"max-w-4xl mx-auto rounded-2xl overflow-hidden border border-border shadow-lg",children:n.jsx("div",{className:"relative w-full",style:{paddingBottom:"56.25%"},children:n.jsx("iframe",{className:"absolute inset-0 w-full h-full",src:"https://www.youtube.com/embed/5mYwbkHbEvI?start=2",title:"Adventures in Cyberland Awards 2024",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0})})})]})}),n.jsxs("section",{className:"bg-navy-deep py-20 lg:py-28 relative overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_center,_hsl(var(--blue-mid)/_0.08)_0%,_transparent_60%)]"}),n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:[n.jsxs("div",{className:"text-center mb-16 max-w-3xl mx-auto",children:[n.jsx("span",{className:"text-blue-sky font-bold text-sm uppercase tracking-widest",children:"Winners"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-primary-foreground mt-3 mb-4",children:"Previous Award Winners & Projects 2024"}),n.jsx("p",{className:"text-blue-ice/70 text-lg",children:"Our previous award winners and projects showcase the creativity, curiosity, and innovation of students across Ireland, highlighting the powerful ways young people are shaping a safer, fairer digital future."})]}),n.jsx("div",{className:"grid md:grid-cols-2 gap-8 max-w-6xl mx-auto",children:s6.map((e,t)=>n.jsxs("div",{className:"rounded-2xl overflow-hidden border border-blue-mid/20 bg-navy-dark flex flex-col",children:[e.image?n.jsx("div",{className:"w-full h-[280px] overflow-hidden",children:n.jsx("img",{src:e.image,alt:e.title,className:"w-full h-full object-cover object-top",loading:"lazy"})}):n.jsx("div",{className:"w-full h-[200px] bg-[hsl(var(--navy-deep))] flex items-center justify-center",children:n.jsxs("div",{className:"text-center p-6",children:[n.jsx(Es,{className:"w-12 h-12 text-blue-sky mx-auto mb-3 opacity-40"}),n.jsx("p",{className:"text-blue-ice/40 text-sm font-medium",children:"Photo Coming Soon"})]})}),n.jsxs("div",{className:"p-6 lg:p-8 flex flex-col flex-1",children:[n.jsxs("div",{className:"inline-flex items-center gap-2 mb-3",children:[n.jsx(Kn,{className:"w-4 h-4 text-blue-sky shrink-0"}),n.jsx("span",{className:"text-blue-sky font-bold text-xs uppercase tracking-wider",children:e.award})]}),n.jsx("h3",{className:"text-lg font-bold text-primary-foreground mb-3",children:e.title}),n.jsx("p",{className:"text-blue-ice/70 text-sm leading-relaxed mb-4",children:e.description}),n.jsxs("div",{className:"space-y-1 text-sm text-blue-ice/50 mb-4 mt-auto",children:[n.jsxs("p",{children:[n.jsx("span",{className:"text-blue-ice/70 font-semibold",children:"School:"})," ",e.school]}),n.jsxs("p",{children:[n.jsx("span",{className:"text-blue-ice/70 font-semibold",children:"Students:"})," ",e.students]}),n.jsxs("p",{children:[n.jsx("span",{className:"text-blue-ice/70 font-semibold",children:"Teacher:"})," ",e.teachers]}),n.jsxs("p",{children:[n.jsx("span",{className:"text-blue-ice/70 font-semibold",children:"Presented by:"})," ",e.presentedBy]})]}),e.projectLink&&n.jsx("div",{children:n.jsx(L,{variant:"hero",size:"sm",asChild:!0,children:n.jsxs("a",{href:e.projectLink,target:"_blank",rel:"noopener noreferrer",children:["View Project ",n.jsx(me,{className:"w-3 h-3 ml-1"})]})})})]})]},t))})]})]}),n.jsx(st,{}),n.jsx(ts,{}),n.jsx(ae,{})]}),i6="/assets/primary-cyberland-awards-C9ilY5Cq.jpg",Tj="/assets/primary-ucd-3-DE9Y5BLp.jpg",Aj="/assets/fll-gallery-2-6EWx2m8G.jpg",Pj="/assets/primary-ucd-1-Da18itIT.jpg",Rj="/assets/cyberland-2024-BD0GF3N-.jpg",o6="/assets/module-1-B88K0Lg9.jpg",l6="/assets/module-2-C8Hn_hUM.jpg",c6="/assets/module-3-7KCMFUUg.jpg",d6="/assets/module-4-Ctia81SP.jpg",u6="/assets/module-5-rC0YJYmv.jpg",h6=[{src:i6,alt:"Minister Ossian Smyth with students at Adventures in Cyberland Awards 2022"},{src:Pj,alt:"Students with LEGO robotics at UCD"},{src:Aj,alt:"Students building with LEGO at UCD workshop"},{src:Tj,alt:"Students engaged in cybersecurity learning at UCD"},{src:Rj,alt:"Students with VEX Robotics at Cyberland Awards"}],m6=[{number:1,title:"Staying Secure Online",subtitle:"Creating strong passwords",color:"bg-blue-mid",
491image:o6,link:"https://www.scoilnet.ie/cyberwise/"},{number:2,title:"Cyber Hygiene",subtitle:"Protecting my data",color:"bg-blue-bright",image:l6,link:"https://www.scoilnet.ie/cyberwise/"},{number:3,title:"Cyber Events & Careers",subtitle:"Exploring the cyber world",color:"bg-blue-sky",image:c6,link:"https://www.scoilnet.ie/cyberwise/"},{number:4,title:"Fake VS Real",subtitle:"Spotting an attack",color:"bg-navy-dark",image:d6,link:"https://www.scoilnet.ie/cyberwise/"},{number:5,title:"Codes, Ciphers, Encryption",subtitle:"The techie stuff in cyber security",color:"bg-blue-mid",image:u6,link:"https://www.scoilnet.ie/cyberwise/"}],p6=["Teacher as facilitator","Student as sensemaker","Stimuli for discussion","Open questions","Project work","Cooperative learning","Creativity","Flexible assessment","Reflection on learning","Cross curricular links"],f6=({images:e})=>{const[t,r]=w.useState(0),s=()=>r(i=>i===0?e.length-1:i-1),a=()=>r(i=>i===e.length-1?0:i+1);return n.jsxs("div",{className:"relative rounded-2xl overflow-hidden shadow-xl group",children:[n.jsxs("div",{className:"aspect-[16/9] relative",children:[n.jsx("img",{src:e[t].src,alt:e[t].alt,className:"w-full h-full object-cover"}),n.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-black/30 to-transparent"})]}),n.jsx("button",{onClick:s,className:"absolute left-3 top-1/2 -translate-y-1/2 w-10 h-10 rounded-full bg-card/80 backdrop-blur-sm flex items-center justify-center shadow-lg hover:bg-card transition-colors opacity-0 group-hover:opacity-100","aria-label":"Previous image",children:n.jsx(kp,{className:"w-5 h-5 text-foreground"})}),n.jsx("button",{onClick:a,className:"absolute right-3 top-1/2 -translate-y-1/2 w-10 h-10 rounded-full bg-card/80 backdrop-blur-sm flex items-center justify-center shadow-lg hover:bg-card transition-colors opacity-0 group-hover:opacity-100","aria-label":"Next image",children:n.jsx(Ht,{className:"w-5 h-5 text-foreground"})}),n.jsx("div",{className:"absolute bottom-4 left-1/2 -translate-x-1/2 flex gap-2",children:e.map((i,o)=>n.jsx("button",{onClick:()=>r(o),className:`w-2.5 h-2.5 rounded-full transition-all ${o===t?"bg-white scale-125":"bg-white/50 hover:bg-white/75"}`,"aria-label":`Go to slide ${o+1}`},o))})]})},g6=()=>n.jsxs("div",{className:"min-h-screen",children:[n.jsx(Ue,{title:"Primary Schools",description:"Cyberwise cybersecurity curriculum for primary schools. Five engaging modules teaching digital safety, cyber hygiene, and online resilience to young learners.",path:"/primary-schools"}),n.jsx(se,{}),n.jsxs("section",{className:"page-hero-gradient py-16 lg:py-22 relative overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_center_right,_hsl(var(--navy-dark))_0%,_transparent_70%)] opacity-50"}),n.jsx("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:n.jsxs("div",{className:"text-center max-w-3xl mx-auto",children:[n.jsx("span",{className:"text-blue-sky font-bold text-sm uppercase tracking-widest",children:"Curriculum"}),n.jsx("h1",{className:"text-4xl md:text-5xl font-extrabold text-primary-foreground mt-3 mb-6",children:"Primary Cyber Security Short Course"}),n.jsx("p",{className:"text-blue-ice/80 text-lg leading-relaxed max-w-2xl mx-auto",children:"Units of learning aimed at 6th class primary pupils and 1st year secondary students, empowering young learners to navigate the digital world safely and confidently."})]})})]}),n.jsx("section",{className:"bg-blue-ice py-16 lg:py-20",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 max-w-5xl",children:[n.jsx(f6,{images:h6}),n.jsx("p",{className:"text-center text-muted-foreground text-sm mt-4 italic",children:"Minister Ossian Smyth pictured with Ciara Molloy, Deputy Principal of St. Colman's National School, Mucklagh Co. Offaly — author of the primary school cybersecurity short course — and students who won the primary school category at the Adventures in Cyberland Awards in December 2022 in UCD."})]})}),n.jsx("section",{className:"bg-card py-16 lg:py-24",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsxs("div",{className:"text-center mb-14",children:[n.jsx("span",{className:"text-blue-mid font-bold text-sm uppercase tracking-widest",children:"Units of Learning"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3",children:"Course Modules"}),n.jsx("p",{className:"mt-4 text-muted-foreground max-w-2xl mx-auto text-lg",children:"Five comprehensive modules designed to build cybersecurity awareness and digital literacy from an early age."})]}),n.jsxs("div",{className:"grid sm:grid-cols-2 lg:grid-cols-3 gap-6 max-w-5xl mx-auto",children:[m6.map(e=>n.jsxs("a",{href:e.link,target:"_blank",rel:"noopener noreferrer",className:"bg-blue-ice rounded-2xl overflow-hidden border border-border hover:shadow-xl transition-all hover:-translate-y-1 group block",children:[n.jsx("div",{className:"aspect-[16/9] overflow-hidden",children:n.jsx("img",{src:e.image,alt:e.title,className:"w-full h-full object-cover group-hover:scale-105 transition-transform"})}),n.jsxs("div",{className:"p-6",children:[n.jsxs("div",{className:"flex items-center gap-3 mb-2",children:[n.jsx("div",{className:`w-9 h-9 rounded-lg ${e.color} flex items-center justify-center flex-shrink-0`,children:n.jsx("span",{className:"text-primary-foreground font-extrabold text-sm",children:e.number})}),n.jsx("h3",{className:"text-lg font-bold text-foreground",children:e.title})]}),n.jsx("p",{className:"text-muted-foreground text-sm",children:e.subt
491itle})]})]},e.number)),n.jsxs("div",{className:"bg-blue-mid rounded-2xl p-8 flex flex-col items-center justify-center text-center hover:shadow-xl transition-all hover:-translate-y-1 group",children:[n.jsx(me,{className:"w-8 h-8 text-primary-foreground mb-3"}),n.jsx("h3",{className:"text-lg font-bold text-primary-foreground mb-2",children:"Access on Scoilnet"}),n.jsx("p",{className:"text-primary-foreground/80 text-sm mb-4",children:"Download PowerPoint modules"}),n.jsx(L,{variant:"heroOutline",size:"sm",asChild:!0,children:n.jsxs("a",{href:"https://www.scoilnet.ie/cyberwise/",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2",children:["Visit Scoilnet ",n.jsx(le,{className:"w-4 h-4"})]})})]})]})]})}),n.jsx("section",{className:"bg-blue-ice py-0",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8 max-w-5xl",children:n.jsxs("div",{className:"grid md:grid-cols-3 gap-4 py-12",children:[n.jsx("div",{className:"rounded-2xl overflow-hidden shadow-lg",children:n.jsx("img",{src:Pj,alt:"Students at UCD",className:"w-full h-64 object-cover"})}),n.jsx("div",{className:"rounded-2xl overflow-hidden shadow-lg",children:n.jsx("img",{src:Aj,alt:"Students building robots",className:"w-full h-64 object-cover"})}),n.jsx("div",{className:"rounded-2xl overflow-hidden shadow-lg",children:n.jsx("img",{src:Rj,alt:"Students with VEX Robotics",className:"w-full h-64 object-cover"})})]})})}),n.jsx("section",{className:"bg-card py-16 lg:py-24",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsxs("div",{className:"grid lg:grid-cols-2 gap-16 items-center max-w-5xl mx-auto",children:[n.jsxs("div",{children:[n.jsx("span",{className:"text-blue-mid font-bold text-sm uppercase tracking-widest",children:"Approach"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3 mb-6",children:"Designed for Engagement"}),n.jsx("p",{className:"text-muted-foreground text-lg leading-relaxed mb-8",children:"Each unit of learning has been carefully designed with the following pedagogical elements to ensure meaningful, creative, and student-centred learning."}),n.jsx("div",{className:"grid grid-cols-2 gap-3",children:p6.map(e=>n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("div",{className:"w-2 h-2 rounded-full bg-blue-mid flex-shrink-0"}),n.jsx("span",{className:"text-foreground text-sm font-medium",children:e})]},e))})]}),n.jsx("div",{className:"rounded-2xl overflow-hidden shadow-xl",children:n.jsx("img",{src:Tj,alt:"Engaged students learning cybersecurity",className:"w-full h-full object-cover min-h-[360px]"})})]})})}),n.jsx(st,{}),n.jsx(ae,{})]}),x6="/assets/jc-product-B4NlFUsh.jpg",y6="/assets/jc-animation-B_leBYYy.png",b6="/assets/jc-sdg-CXrt6yJG.jpg",v6="/assets/jc-blackrock-DGAmEaPA.jpg",Dj="/assets/jc-donny-Bo84LnZI.jpg",w6="/assets/jc-winners-BcAmxBSq.jpg",j6=[{icon:pe,label:"Sample Units of Learning",description:"Browse interactive sample lesson ideas, resources and assessments.",href:"/teachers"},{icon:vr,label:"Specification / Documents",description:"Learn more about the specification for the Cyber Security Short Course.",href:"/specification"},{icon:Qe,label:"Background & Working Group",description:"Learn about the background and implementation of the course.",href:"/junior-cycle-sh
491ort-course-background"}],N6=[{title:"Cyberwise Shared Learning Day",description:"The Cyberwise Shared Learning Day was a comprehensive educational event focused on the intersection of cybersecurity and Global Citizenship Education (GCE). Held in April 2024, the day featured a variety of engaging activities, including a Zero Days Capture the Flag challenge, where participants tackled real-world cyber and GCE issues.",image:b6},{title:"Challenge Based Learning Day",description:"The Challenge-Based Learning Day, held in October 2023, immersed students in the critical societal issue of cybersecurity and its connection to the Sustainable Development Goals (SDGs). This event aimed to deepen students' understanding of cybersecurity's impact on various aspects of life and its essential role in achieving sustainable development.",image:v6},{title:"Adventures in Cyberland Awards",description:"The Adventures in Cyberland Awards are funded by Our Public Service Innovation Fund as part of the Cyber Resilience Education in Primary and Post-Primary Schools initiative led by UCD School of Education. The competition was organised as part of EU cybersecurity month.",image:w6,link:"/adventures-in-cyberland-awards"}],k6=[{title:"What is social engineering?",description:"CNN tech reporter Donie O'Sullivan thought he was being safe on social media. Watch social engineer & SocialProof Security CEO Rachel Tobac prove him very, very wrong.",image:Dj,href:"/what-is-social-engineering"},{title:"How do companies collect and use data about you legally without your consent?",description:"In this lesson, Ann O'Brien raises a number of important questions about our personal data.",image:y6,href:"/data-is-the-new-oil"},{title:"Keeping Data Safe",description:'In this six lesson series, students will learn about the importance of keeping their data private. "If the product is free you are the product".',image:x6,href:"/you-are-the-product"}],C6=()=>n.jsxs("div",{className:"min-h-screen",children:[n.jsx(Ue,{title:"Junior Cycle Cyber Security Short Course",description:"Junior Cycle Cyber Security Short Course resources, specification, and sample units of learning for post-primary schools in Ireland.",path:"/junior-cycle-sh
491ort-course"}),n.jsx(se,{}),n.jsxs("section",{className:"page-hero-gradient py-16 lg:py-22 relative overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_center_right,_hsl(var(--navy-dark))_0%,_transparent_70%)] opacity-50"}),n.jsx("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:n.jsxs("div",{className:"text-center max-w-3xl mx-auto",children:[n.jsx("span",{className:"text-blue-sky font-bold text-sm uppercase tracking-widest",children:"Junior Cycle"}),n.jsx("h1",{className:"text-4xl md:text-5xl font-extrabold text-primary-foreground mt-3 mb-6",children:"Junior Cycle Cyber Security Short Course"}),n.jsx("p",{className:"text-blue-ice/80 text-lg leading-relaxed max-w-2xl mx-auto",children:"Cyber Resilience Education in Primary and Post-Primary Schools. Here you will find information and resources on the Junior Cycle Cyber Security Short Course."})]})})]}),n.jsx("nav",{className:"bg-card border-b border-border py-3",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsxs("ol",{className:"flex items-center gap-1.5 text-sm flex-wrap",children:[n.jsx("li",{children:n.jsxs("a",{href:"/",className:"text-muted-foreground hover:text-foreground transition-colors flex items-center gap-1",children:[n.jsx(aw,{className:"w-3.5 h-3.5"})," Home"]})}),n.jsx("li",{children:n.jsx(Ht,{className:"w-3.5 h-3.5 text-muted-foreground/60"})}),n.jsx("li",{children:n.jsx("a",{href:"/curriculum",className:"text-muted-foreground hover:text-foreground transition-colors",children:"Curriculum"})}),n.jsx("li",{children:n.jsx(Ht,{className:"w-3.5 h-3.5 text-muted-foreground/60"})}),n.jsx("li",{className:"text-foreground font-semibold",children:"Junior Cycle"}),n.jsx("li",{children:n.jsx(Ht,{className:"w-3.5 h-3.5 text-muted-foreground/60"})}),n.jsx("li",{children:n.jsx("a",{href:"/teachers",className:"text-blue-mid hover:text-foreground transition-colors font-medium",children:"Sample Resources"})}),n.jsx("li",{children:n.jsx(Ht,{className:"w-3.5 h-3.5 text-muted-foreground/60"})}),n.jsx("li",{children:n.jsx("a",{href:"/specification",className:"text-blue-mid hover:text-foreground transition-colors font-medium",children:"Specification"})}),n.jsx("li",{children:n.jsx(Ht,{className:"w-3.5 h-3.5 text-muted-foreground/60"})}
491),n.jsx("li",{children:n.jsx("a",{href:"/junior-cycle-short-course-background",className:"text-blue-mid hover:text-foreground transition-colors font-medium",children:"Background"})})]})})}),n.jsx("section",{className:"relative z-20 py-8",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsx("div",{className:"grid md:grid-cols-3 gap-4",children:j6.map(e=>n.jsxs("a",{href:e.href,className:"group bg-card rounded-2xl p-6 shadow-lg border border-border hover:shadow-2xl hover:-translate-y-1 transition-all",children:[n.jsx("div",{className:"w-12 h-12 rounded-xl bg-blue-mid/10 flex items-center justify-center mb-3 group-hover:bg-blue-mid/20 transition-colors",children:n.jsx(e.icon,{className:"w-6 h-6 text-blue-mid"})}),n.jsx("h3",{className:"text-foreground font-bold text-base mb-1",children:e.label}),n.jsx("p",{className:"text-muted-foreground text-sm",children:e.description})]},e.label))})})}),n.jsx("section",{id:"about",className:"bg-card py-16 lg:py-24",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 max-w-5xl",children:[n.jsxs("div",{className:"text-center mb-12",children:[n.jsx("span",{className:"text-blue-mid font-bold text-sm uppercase tracking-widest",children:"About"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3",children:"About the Course"})]}),n.jsxs("div",{className:"space-y-6 text-muted-foreground text-lg leading-relaxed max-w-4xl mx-auto",children:[n.jsx("p",{children:"The Department of the Environment, Climate and Communications (DECC), is the lead Government Department for cyber security in the State. The Department oversees the implementation of the National Cyber Security Strategy 2019-2024. A key theme of the Strategy is about developing the capacity of the State, research institutions, businesses, the public sector and of the people to both better understand and manage the nature of the challenges we face in this space. In particular, measures 12 and 13 of the Strategy include actions on developing cyber security education and promoting female participation in cybersecurity."}),n.jsx("p",{id:"background",children:"Funded by the DECC, a team of teacher educators and researchers from the School of Education and School of Computer Science in UCD are working in collaboration with a steering group comprising members of the National Centre for Cyber Security (NCSC), the Computers in Education Society of Ireland (CESI), the NCCA and Cyber Ireland to design and implement a Junior Cycle short course on cyber security. The first phase of this project is to road test elements of the draft specification with a purposive sample of post-primary schools in Ireland."})]})]})}),n.jsx("section",{className:"bg-blue-ice py-16 lg:py-24",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsxs("div",{className:"text-center mb-14",children:[n.jsx("span",{className:"text-blue-mid font-bold text-sm uppercase tracking-widest",children:"Events"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3",children:"Shared Learning Days"})]}),n.jsx("div",{className:"space-y-12 max-w-5xl mx-auto",children:N6.map((e,t)=>n.jsxs("div",{className:`grid lg:grid-cols-2 gap-8 items-center ${t%2===1,""}`,children:[n.jsxs("div",{className:t%2===1?"lg:order-2":"",children:[n.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[n.jsx(md,{className:"w-5 h-5 text-blue-mid"}),n.jsx("span",{className:"text-blue-mid font-bold text-sm uppercase tracking-widest",children:"Event"})]}),n.jsx("h3",{className:"text-2xl font-extrabold text-foreground mb-4",children:e.title}),n.jsx("p",{className:"text-muted-foreground leading-relaxed mb-6",children:e.description}),e.link&&n.jsx(L,{variant:"hero",size:"sm",asChild:!0,children:n.jsxs("a",{href:e.link,className:"inline-flex items-center gap-2",children:["Learn More ",n.jsx(le,{className:"w-4 h-4"})]})})]}),n.jsx("div",{className:t%2===1?"lg:order-1":"",children:n.jsx("div",{className:"rounded-2xl overflow-hidden shadow-lg",children:n.jsx("img",{src:e.image,alt:e.title,className:"w-full h-72 object-cover"})})})]},e.title))})]})}),n.jsx("section",{id:"units",className:"bg-card py-16 lg:py-24",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsxs("div",{className:"text-center mb-14",children:[n.jsx("span",{className:"text-blue-mid font-bold text-sm uppercase tracking-widest",children:"Teachers"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3",children:"Sample Units of Learning"}),n.jsx("p",{className:"mt-4 text-muted-foreground max-w-2xl mx-auto text-lg",children:"Browse a selection of interactive sample lesson ideas, resources and assessments."})]}),n.jsx("div",{className:"grid md:grid-cols-3 gap-8 max-w-5xl mx-auto",children:k6.map(e=>n.jsxs("a",{href:e.href,className:"bg-blue-ice rounded-2xl overflow-hidden border border-border hover:shadow-xl transition-all hover:-translate-y-1 group",children:[n.jsx("div",{className:"aspect-video overflow-hidden",children:n.jsx("img",{src:e.image,alt:e.title,className:"w-full h-full object-cover group-hover:scale-105 transition-transform"})}),n.jsxs("div",{className:"p-6",children:[n.jsx("h3",{className:"text-base font-bold text-foreground mb-2 leading-snug",children:e.title}),n.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed mb-4",children:e.description}),n.jsxs("span",{className:"inline-flex items-center gap-1 text-blue-mid font-bold text-sm group-hover:gap-2 transition-all",children:["Explore lesson ",n.jsx(le,{className:"w-4 h-4"})]})]})]},e.title))})]})}),n.jsx("section",{className:"bg-navy-deep py-16 lg:py-20",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 text-center max-w-3xl",children:[n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-primary-foreground mb-4",children:"Ready to Bring Cyber Security to Your Classroom?"}),n.jsx("p",{className:"text-blue-ice/80 text-lg mb-8",children:"Access resources, lesson plans, and everything you need to deliver the Junior Cycle Cyber Security Short Course."}),n.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[n.jsx(L,{variant:"hero",size:"lg",asChild:!0,children:n.jsxs("a",{href:"https://www.scoilnet.ie/cyberwise/",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2",children:["Visit Scoilnet ",n.jsx(me,{className:"w-4 h-4"})]})}),n.jsx(L,{variant:"heroOutline",size:"lg",asChild:!0,children:n.jsx("a",{href:"/contact-us",className:"inline-flex items-center gap-2",children:"Contact Us"})})]})]})}),n.jsx(st,{}),n.jsx(ae,{})]}),S6="/assets/lca-oaklands-DwkF7nio.jpg",Hx=[{src:S6,alt:"Oaklands Community College at Cyberwise Adventures in Cyberland Awards 2022"}],E6=[{title:"LCA – Specialism",description:"The ICT Specialism module provides a structured framework for integrating cybersecurity concepts into the Leaving Certificate Applied programme, equipping students with practical digital skills.",link:"https://www.curriculumonline.ie/getmedia/9f55199a-e53d-4148-9787-a08b297f6803/LCA-ICT-SPECIALISM.pdf",linkLabel:"View Specialism (PDF)",icon:vr},{title:"LCA – English and Communication",description:"Explore how cybersecurity themes can be woven into English and Communication modules, developing critical literacy around digital media, misinformation, and online communication.",link:"https://www.curriculumonline.ie/senior-cycle/lca/english-and-communication/",linkLabel:"View on Curriculum Online",icon:pe},{title:"CyberSkills",description:"CyberSkills is Ireland's national initiative offering cybersecurity education and training programmes, from introductory courses to advanced specialisations for learners at all levels.",link:"https://cyberskillslive.com/",linkLabel:"Visit CyberSkills",icon:fd}],Vx=({images:e})=>{const[t,r]=w.useState(0),s=()=>r(i=>i===0?e.length-1:i-1),a=()=>r(i=>i===e.length-1?0:i+1);return n.jsxs("div",{className:"relative rounded-2xl overflow-hidden shadow-xl group",children:[n.jsxs("div",{className:"aspect-[16/10] relative",children:[n.jsx("img",{src:e[t].src,alt:e[t].alt,className:"w-full h-full object-cover"}),n.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-black/20 to-transparent"})]}),e.length>1&&n.jsxs(n.Fragment,{children:[n.jsx("button",{onClick:s,className:"absolute left-3 top-1/2 -translate-y-1/2 w-10 h-10 rounded-full bg-card/80 backdrop-blur-sm flex items-center justify-center shadow-lg hover:bg-card transition-colors opacity-0 group-hover:opacity-100","aria-label":"Previous",children:n.jsx(kp,{className:"w-5 h-5 text-foreground"})}),n.jsx("button",{onClick:a,className:"absolute right-3 top-1/2 -translate-y-1/2 w-10 h-10 rounded-full bg-card/80 backdrop-blur-sm flex items-center justify-center shadow-lg hover:bg-card transition-colors opacity-0 group-hover:opacity-100","aria-label":"Next",children:n.jsx(Ht,{className:"w-5 h-5 text-foreground"})}),n.jsx("div",{className:"absolute bottom-4 left-1/2 -translate-x-1/2 flex gap-2",children:e.map((i,o)=>n.jsx("button",{onClick:()=>r(o),className:`w-2.5 h-2.5 rounded-full transition-all ${o===t?"bg-white scale-125":"bg-white/50"}`,"aria-label":`Slide ${o+1}`},o))})]})]})},_6=()=>n.jsxs("div",{className:"min-h-screen",children:[n.jsx(Ue,{title:"Senior Cycle — LCA Cyber Security",description:"Leaving Certificate Applied Cyber Security resources. Senior cycle cybersecurity education with modules on digital safety, AI, and online security.",path:"/lca-cybersecurity"}),n.jsx(se,{}),n.jsxs("section",{className:"page-hero-gradient py-16 lg:py-22 relative overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_center_right,_hsl(var(--navy-dark))_0%,_transparent_70%)] opacity-50"}),n.jsx("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:n.jsxs("div",{className:"grid lg:grid-cols-2 gap-10 items-center",children:[n.jsxs("div",{children:[n.jsx("span",{className:"text-blue-sky font-bold text-sm uppercase tracking-widest",children:"Senior Cycle"}),n.jsx("h1",{className:"text-4xl md:text-5xl font-extrabold text-primary-foreground mt-3 mb-6",children:"LCA and Cyber Security"}),n.jsx("p",{className:"text-blue-ice/80 text-lg leading-relaxed mb-8",children:"The Leaving Certificate Applied (LCA) programme integrates cybersecurity education to equip students with essential digital skills. Through practical, hands-on learning, students explore real-world cyber challenges, building confidence and resilience in the digital age."}),n.jsx("div",{className:"flex flex-wrap gap-4",children:n.jsx(L,{variant:"hero",size:"lg",asChild:!0,children:n.jsxs("a",{href:"#resources",className:"inline-flex items-center gap-2",children:["Explore Resources ",n.jsx(le,{className:"w-4 h-4"})]})})})]}),n.jsx("div",{className:"hidden lg:block",children:n.jsx(Vx,{images:Hx})})]})})]}),n.jsx("section",{className:"lg:hidden bg-blue-ice py-8",children:n.jsx("div",{className:"container mx-auto px-4",children:n.jsx(Vx,{images:Hx})})}),n.jsx("section",{className:"bg-card py-16 lg:py-24",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8 max-w-5xl",children:n.jsxs("div",{className:"grid lg:grid-cols-2 gap-12 items-center",children:[n.jsxs("div",{children:[n.jsx("span",{className:"text-blue-mid font-bold text-sm uppercase tracking-widest",children:"About"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3 mb-6",children:"Cybersecurity in the LCA Programme"}),n.jsx("p",{className:"text-muted-foreground text-lg leading-relaxed mb-4",children:"The LCA programme provides a unique opportunity to introduce cybersecurity concepts through cross-curricular modules. Students engage with topics such as data protection, online safety, digital communication, and the ethical dimensions of technology."}),n.jsx("p",{className:"text-muted-foreground text-lg leading-relaxed",children:"By connecting cybersecurity to real-world scenarios, the programme helps students develop critical thinking skills and a deeper understanding of their digital footprint, preparing them for both further education and the workplace."})]}),n.jsxs("div",{className:"bg-blue-ice rounded-2xl p-10 text-center",children:[n.jsx("span",{className:"text-7xl mb-6 block",children:"🎓"}),n.jsx("h3",{className:"text-xl font-bold text-foreground mb-2",children:"Leaving Certificate Applied"}),n.jsx("p",{className:"text-muted-foreground text-sm",children:"Practical cybersecurity skills for senior cycle students"})]})]})})}),n.jsx("section",{id:"resources",className:"bg-blue-ice py-16 lg:py-24",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsxs("div",{className:"text-center mb-14",children:[n.jsx("span",{className:"text-blue-mid font-bold text-sm uppercase tracking-widest",children:"Resources"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3",children:"Key Resources"}),n.jsx("p",{className:"mt-4 text-muted-foreground max-w-2xl mx-auto text-lg",children:"Access curriculum documents, specifications, and external platforms to support LCA cybersecurity education."})]}),n.jsx("div",{className:"grid md:grid-cols-3 gap-8 max-w-5xl mx-auto",children:E6.map(e=>n.jsxs("a",{href:e.link,target:"_blank",rel:"noopener noreferrer",className:"bg-card rounded-2xl p-8 border border-border hover:shadow-xl transition-all hover:-translate-y-1 group block",children:[n.jsx("div",{className:"w-14 h-14 roun
491ded-xl bg-blue-mid/10 flex items-center justify-center mb-6 group-hover:bg-blue-mid/20 transition-colors",children:n.jsx(e.icon,{className:"w-7 h-7 text-blue-mid"})}),n.jsx("h3",{className:"text-lg font-bold text-foreground mb-3",children:e.title}),n.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed mb-4",children:e.description}),n.jsxs("span",{className:"inline-flex items-center gap-1 text-blue-mid font-bold text-sm group-hover:gap-2 transition-all",children:[e.linkLabel," ",n.jsx(me,{className:"w-4 h-4"})]})]},e.title))})]})}),n.jsx("section",{className:"bg-navy-deep py-16 lg:py-20",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 text-center max-w-3xl",children:[n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-primary-foreground mb-4",children:"Bring Cybersecurity to Your LCA Classroom"}),n.jsx("p",{className:"text-blue-ice/80 text-lg mb-8",children:"Get in touch to learn more about integrating cybersecurity into the Leaving Certificate Applied programme."}),n.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[n.jsx(L,{variant:"hero",size:"lg",asChild:!0,children:n.jsxs("a",{href:"/contact-us",className:"inline-flex items-center gap-2",children:["Contact Us ",n.jsx(le,{className:"w-4 h-4"})]})}),n.jsx(L,{variant:"heroOutline",size:"lg",asChild:!0,children:n.jsx("a",{href:"/curriculum",className:"inline-flex items-center gap-2",children:"View All Curriculum"})})]})]})}),n.jsx(st,{}),n.jsx(ae,{})]}),T6="/assets/unit-cyber-security-DkpZE4rq.jpg",A6="/assets/unit-careers-vzka2OOj.jpg",P6="/assets/unit-cyber-city-BsWCfG5P.jpg",R6="/assets/unit-social-media-CN3XN2Rj.jpg",D6="/assets/unit-data-DeLG_mgM.jpg",I6="/assets/unit-shield-D8xmpvvr.jpg",O6=[{title:"Case studies of cyber events / cyber crimes",description:"In this unit of learning students are introduced to cyber security through an exploration of their current understanding of cyber security and then building on this knowledge to research and present a case study of a cyber event of their choice.",image:T6,href:"/case-studies"},{title:"Social engineering – modern day con artists",description:"This unit of learning opens with a video of CNN tech reporter Donie O'Sullivan being hacked by social engineer and cyber security expert Rachel Tobac. Students will explore how hackers take advantage of our behaviour online and explore the psychology behind social engineering.",image:Dj,href:"/what-is-social-engineering"},{title:"Data is the new oil – could your life online help design a new product?",description:"What are cookies? Why am I asked for permission when I click on a website? Why are the advertisements on my Mum's social media different to my own? Is my iPhone spying on me? These are just some of the questions…",image:D6,href:"/data-is-the-new-oil"},{title:"You are the product",description:'Why is social media free? How do social media companies make money? Do you simply click "agree" to the terms and conditions on your social media apps or do you actually read them? What is surveillance capital? Students will decide what responsible usage is, the role of GDPR, and decide what data they wish to keep private.',image:R6,href:"/you-are-the-product"},{title:"Black Hats and White Hats – careers in cyber security",description:"In this unit of learning students discover the good, the bad, and the ugly in the world of cyber security. Students will examine the tenets of data security and ethical and moral dilemmas associated with hacking.",image:A6,href:"/black-hats-and-white-hats-careers-in-cyber-security"},{title:"Cyber security in film study",description:"Explore how cybersecurity themes are portrayed in popular culture and film, developing critical media literacy and awareness of real vs fictional cyber threats.",image:P6,href:"/busting-gender-bias"},{title:"Women in cyber security",description:"Explore the contributions of women in the cybersecurity field, challenge stereotypes, and inspire the next generation of female cyber professionals.",image:I6,href:"/busting-gender-bias"}],M6=["Teacher as facilitator","Student as sensemaker","Stimuli for discussion","Open questions","Project work","Cooperative learning","Creativity","Flexible assessment","Reflection on learning","Cross curricular links"],qx=[{key:"all",label:"All",icon:n.jsx(Jt,{className:"w-4 h-4"})},{key:"cyberwise",label:"Cyberwise Modules",icon:n.jsx(xt,{className:"w-4 h-4"})},{key:"microbit",label:"Micro:bit",icon:n.jsx(pd,{className:"w-4 h-4"})},{key:"cyber-skills",label:"Cyber Skills",icon:n.jsx(fd,{className:"w-4 h-4"})},{key:"news-literacy",label:"News Literacy",icon:n.jsx(xd,{className:"w-4 h-4"})},{key:"fact-checking",label:"Fact Checking",icon:n.jsx(Us,{className:"w-4 h-4"})},{key:"films",label:"Films & Media",icon:n.jsx(Go,{className:"w-4 h-4"})},{key:"cyber-security",label:"Cyber Security",icon:n.jsx(xt,{className:"w-4 h-4"})},{key:"ai-tech",label:"AI & Technology",icon:n.jsx(Yn,{className:"w-4 h-4"})},{key:"gdpr-data",label:"GDPR & Data",icon:n.jsx(Tp,{className:"w-4 h-4"})}],Kx=[{title:"Module 1: Staying Secure Online",description:"Creating strong passwords, codes and phrases. Part of the Cyberwise primary/transition year suite of supports.",url:"https://www.scoilnet.ie/cyberwise/",category:"cyberwise",type:"link"},{title:"Module 2: Cyber Hygiene",description:"Protecting my data — understanding how to maintain good cyber hygiene practices.",url:"https://www.scoilnet.ie/cyberwise/",category:"cyberwise",type:"link"},{title:"Module 3: Cyber Security Careers",description:"Exploring career paths in cyber security and the skills needed to pursue them.",url:"https://www.scoilnet.ie/cyberwise/",category:"cyberwise",type:"link"},{title:"Module 4: Spotting an Attack – Fake vs Real",description:"Learning to identify and respond to cyber attacks and distinguish genuine from fraudulent communications.",url:"https://www.scoilnet.ie/cyberwise/",category:"cyberwise",type:"link"},{title:"Module 5: Codes, Ciphers & Encryption",description:"The techie stuff in cyber security — understanding how data is encoded and protected.",url:"https://www.scoilnet.ie/cyberwise/",category:"cyberwise",type:"link"},{title:"Micro:bit – Computing Fundamentals",description:"A series of six lessons for first year secondary students introducing core concepts of computational thinking, programming and computer systems through unplugged activities and the BBC micro:bit.",url:"https://microbit.org/teach/lessons/computing-fundamentals-unit-of-work/",category:"microbit",type:"link"},{title:"Micro:bit – Introduction to Cyber Security",description:"Three lessons aimed at first year secondary students exploring the importance of cyber security, strong passwords, and building a 'strong password generator' using the micro:bit.",url:"https://microbit.org/teach/lessons/cyber-security/",category:"microbit",type:"link"},{title:"Micro:bit – Teaching Tools & Classroom",description:"Run a live code session with your class using Microsoft MakeCode or the micro:bit Python Editor. No registration or accounts necessary for teacher or student.",url:"https://microbit.org/teach/teaching-tools/",category:"microbit",type:"link"},{title:"CyberSkills Live",description:"Start your cyber adventure — play a variety of cyber challenges with learners worldwide and discover careers in cyber security and data science.",url:"https://cyberskillslesson.com/",category:"cyber-skills",type:"link"},{title:"NCSC CyberFirst Girls Competition",description:"Example challenges from the UK National Cyber Security Centre's CyberFirst Girls Competition.",url:"https://www.ncsc.gov.uk/cyberfirst/girls-competition-example-challenges",category:"cyber-skills",type:"link"},{title:"NCSC Courses and Resources",description:"Free courses and resources from the UK National Cyber Security Centre to build cyber security skills.",url:"https://www.ncsc.gov.uk/section/education-skills/11-19-year-olds",category:"cyber-skills",type:"link"},{title:"Economist Foundation – Topical Talk",description:"Free world-class resources on big issues in the news. A new resource on a current topic published weekly, ideal for lively discussions bringing curriculum topics to life.",url:"https://economistfoundation.org/topicaltalk/",category:"news-literacy",type:"link"},{title:"Economist Foundation – News Literacy",description:"Resources to develop students' news literacy skills and critical thinking about media.",url:"https://economistfoundation.org/news-literacy/",category:"news-literacy",type:"link"},{title:"Webwise – What is Fake News?",description:"Resources from Webwise to help students understand and identify fake news and misinformation.",url:"https://www.webwise.ie/teachers/what-is-fake-news/",category:"news-literacy",type:"link"},{title:"AllSides – Fact Checking",description:"Explore topics with balanced perspectives and fact-checking resources from AllSides.",url:"https://www.allsides.com/topics/fact-checking",category:"fact-checking",type:"link"},{title:"Web Literacy Pressbooks",description:"An open educational resource on web literacy, critical thinking, and evaluating online information.",url:"https://webliteracy.pressbooks.com",category:"fact-checking",type:"link"}
491,{title:"FactCheckNI",description:"Northern Ireland's independent fact-checking service, verifying public claims and statements.",url:"https://factcheckni.org",category:"fact-checking",type:"link"},{title:"The Journal – FactCheck",description:"Ireland's fact-checking service from TheJournal.ie, verifying claims by public figures and in the media.",url:"https://www.thejournal.ie/factcheck/news/",category:"fact-checking",type:"link"},{title:"The Guardian – Reality Check (UK)",description:"The Guardian's reality check section, examining claims and separating fact from fiction.",url:"https://www.theguardian.com/news/reality-check",category:"fact-checking",type:"link"},{title:"BBC Reality Check (UK)",description:"BBC's reality check team verifying claims and debunking misinformation.",url:"https://www.bbc.com/news/reality_check",category:"fact-checking",type:"link"},{title:"Channel 4 Fact Check (UK)",description:"Channel 4 News's fact-checking team examining claims by politicians and public figures.",url:"https://www.channel4.com/news/factcheck/",category:"fact-checking",type:"link"},{title:"Full Fact (UK)",description:"The UK's independent fact-checking charity, fighting bad information and its impact on society.",url:"https://fullfact.org",category:"fact-checking",type:"link"},{title:"UC Berkeley – Fact-Checking Sites List",description:"A comprehensive list of fact-checking sites both US-specific and international, compiled by UC Berkeley Library.",url:"https://guides.lib.berkeley.edu/c.php?g=620677&p=4333407",category:"fact-checking",type:"link"},{title:"IFLA – How To Spot Fake News",description:"Infographic and resources from the International Federation of Library Associations on spotting fake news.",url:"https://www.ifla.org/publications/node/11174",category:"fact-checking",type:"link"},{title:"TikTok Boom – Documentary",description:"A documentary exploring the rise and impact of TikTok on society, privacy and digital culture.",category:"films",type:"link"},{title:"The Social Dilemma – Film",description:"Netflix documentary-drama exploring the dangerous human impact of social networking, with tech experts sounding the alarm on their own creations.",category:"films",type:"link"},{title:"LCA Digistories 2023",description:"Leaving Certificate Applied digital storytelling projects from 2023, exploring cyber security and digital citizenship themes.",category:"films",type:"link"},{title:"National Cyber Risk Assessment – Ireland",description:"Published by the Irish Government, this report assesses the national cyber risk landscape and outlines key threats.",url:"https://www.gov.ie/en/press-release/f43b8-national-cyber-risk-assessment-published-by-government/",category:"cyber-security",type:"link"},{title:"Intelligence-Sec – Mark Staunton Presentation",description:"Presentation by Mark Staunton on cyber security strategy and awareness.",url:"https://www.intelligence-sec.com/wp-content/uploads/2024/03/Mark-Staunton.pdf",category:"cyber-security",type:"link"},{title:"The Cyber Trust – Resources",description:"Resources from The Cyber Trust to help organisations and individuals improve their cyber security posture.",url:"https://www.thecybertrust.org/what-we-do/resources/",category:"cyber-security",type:"link"},{title:"Top 10 Worst Computer Viruses in History",description:"HP's overview of the ten most destructive computer viruses in history — great discussion starter for case study work.",url:"https://www.hp.com/us-en/shop/tech-takes/top-ten-worst-computer-viruses-in-history",category:"cyber-security",type:"link"},{title:"ICO – School Resources (UK GDPR)",description:"Resources from the UK Information Commissioner's Office to help schools understand GDPR and children's data protection.",url:"https://ico.org.uk/for-organisations/uk-gdpr-guidance-and-resources/childrens-information/school-resources/",category:"gdpr-data",type:"link"},{title:"How AI Could Use Language to Shape Our Reality",description:"Imperial College Business School article exploring how artificial intelligence may influence perception and reality through language.",url:"https://www.imperial.ac.uk/business-school/ib-knowledge/technology/how-ai-could-use-language-shape-our-reality/",category:"ai-tech",type:"link"},{title:"How AI and XR Can Transform Education",description:"Exploring how AI and Extended Reality can create new dimensions of learning in education.",url:"https://www.imperial.ac.uk/business-school/ib-knowledge/technology/how-ai-and-xr-can-transform-education-and-create-new-dimension-learning/",category:"ai-tech",type:"link"},{title:"What is XR? – Extended Reality Explained",description:"HP's guide to Extended Reality (XR) and how it's changing the world — AR, VR, and MR explained.",url:"https://www.hp.com/us-en/shop/tech-takes/what-is-xr-changing-world",category:"ai-tech",type:"link"}],L6={all:"bg-muted text-foreground",cyberwise:"bg-blue-mid/10 text-blue-mid border-blue-mid/20",microbit:"bg-emerald-500/10 text-emerald-700 border-emerald-500/20","cyber-skills":"bg-purple-500/10 text-purple-700 border-purple-500/20","news-literacy":"bg-amber-500/10 text-amber-700 border-amber-500/20","fact-checking":"bg-rose-500/10 text-rose-700 border-rose-500/20",films:"bg-indigo-500/10 text-indigo-700 border-indigo-500/20","cyber-security":"bg-red-500/10 text-red-700 border-red-500/20","ai-tech":"bg-cyan-500/10 text-cyan-700 border-cyan-500/20","gdpr-data":"bg-teal-500/10 text-teal-700 border-teal-500/20"},$6=()=>{const[e,t]=w.useState(""),[r,s]=w.useState("all"),a=Kx.filter(i=>{const o=r==="all"||i.category===r,l=e===""||i.title.toLowerCase().includes(e.toLowerCase())||i.description.toLowerCase().includes(e.toLowerCase());return o&&l});return n.jsxs("div",{className:"min-h-screen",children:[n.jsx(Ue,{title:"Teacher Resources",description:"Sample units of learning, lesson plans, and teaching resources for the Junior Cycle Cyber Security Short Course. CPD materials for educators.",path:"/teachers"}),n.jsx(se,{}),n.jsxs("section",{className:"bg-navy-deep py-16 lg:py-22 relative overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_center_right,_hsl(var(--navy-dark))_0%,_transparent_70%)] opacity-50"}),n.jsx("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:n.jsxs("div",{className:"text-center max-w-3xl mx-auto",children:[n.jsx("span",{className:"text-blue-sky font-bold text-sm uppercase tracking-widest",children:"Junior Cycle"}),n.jsx("h1",{className:"text-4xl md:text-5xl font-extrabold text-primary-foreground mt-3 mb-6",children:"Sample Units of Learning"}),n.jsx("p",{className:"text-blue-ice/80 text-lg leading-relaxed max-w-2xl mx-auto",children:"These units of learning are designed to help you plan and develop the implementation of the Junior Cycle Short Course in Cyber Security in your classroom. While broken down into lessons they are not prescriptive — the activities within each unit will act as a menu for you to select from, mixing and matching, adapting and refining, to suit the needs and interests of your own students."})]})})]}),n.jsx("nav",{className:"bg-card border-b border-border py-3",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsxs("ol",{className:"flex items-center gap-1.5 text-sm flex-wrap",children:[n.jsx("li",{children:n.jsxs("a",{href:"/",className:"text-muted-foreground hover:text-foreground transition-colors flex items-center gap-1",children:[n.jsx(aw,{className:"w-3.5 h-3.5"})," Home"]})}),n.jsx("li",{children:n.jsx(Ht,{className:"w-3.5 h-3.5 text-muted-foreground
491/60"})}),n.jsx("li",{children:n.jsx("a",{href:"/curriculum",className:"text-muted-foreground hover:text-foreground transition-colors",children:"Curriculum"})}),n.jsx("li",{children:n.jsx(Ht,{className:"w-3.5 h-3.5 text-muted-foreground/60"})}),n.jsx("li",{children:n.jsx("a",{href:"/junior-cycle-short-course",className:"text-muted-foreground hover:text-foreground transition-colors",children:"Junior Cycle"})}),n.jsx("li",{children:n.jsx(Ht,{className:"w-3.5 h-3.5 text-muted-foreground/60"})}),n.jsx("li",{className:"text-foreground font-semibold",children:"Sample Resources"})]})})}),n.jsx("section",{className:"bg-blue-ice py-16 lg:py-24",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-8 max-w-6xl mx-auto",children:O6.map(i=>{const o=i.href?"a":"div",l=i.href?{href:i.href}:{};return n.jsxs(o,{...l,className:"bg-card rounded-2xl overflow-hidden border border-border hover:shadow-xl transition-all hover:-translate-y-1 group",children:[n.jsx("div",{className:"aspect-[4/3] overflow-hidden",children:n.jsx("img",{src:i.image,alt:i.title,className:"w-full h-full object-cover group-hover:scale-105 transition-transform"})}),n.jsxs("div",{className:"p-6",children:[n.jsx("h3",{className:"text-base font-bold text-foreground mb-2 leading-snug",children:i.title}),n.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed mb-4 line-clamp-4",children:i.description}),n.jsxs("span",{className:"inline-flex items-center gap-1 text-blue-mid font-bold text-sm group-hover:gap-2 transition-all",children:["Explore lessons ",n.jsx(le,{className:"w-4 h-4"})]})]})]},i.title)})})})}),n.jsx("section",{className:"bg-card py-16 lg:py-24",id:"resources",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 max-w-6xl",children:[n.jsxs("div",{className:"text-center mb-10",children:[n.jsx("span",{className:"text-blue-mid font-bold text-sm uppercase tracking-widest",children:"Resource Library"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3",children:"Cybersecurity Resources & Links"}),n.jsx("p",{className:"mt-4 text-muted-foreground text-lg max-w-2xl mx-auto",children:"A curated collection of external resources, tools, and websites to support your teaching of cyber security."})]}),n.jsx("div",{className:"max-w-xl mx-auto mb-8",children:n.jsxs("div",{className:"relative",children:[n.jsx(Us,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-5 h-5 text-muted-foreground"}),n.jsx(Ka,{placeholder:"Search resources...",value:e,onChange:i=>t(i.target.value),className:"pl-10 h-12 text-base rounded-xl border-border"})]})}),n.jsx("div",{className:"flex flex-wrap gap-2 justify-center mb-10",children:qx.map(i=>n.jsxs("button",{onClick:()=>s(i.key),className:`inline-flex items-center gap-1.5 px-4 py-2 rounded-full text-sm font-medium border transition-all ${r===i.key?"bg-blue-mid text-primary-foreground border-blue-mid":"bg-card text-muted-foreground border-border hover:border-blue-mid/50"}`,children:[i.icon,i.label]},i.key))}),n.jsxs("p",{className:"text-sm text-muted-foreground mb-6",children:["Showing ",a.length," of ",Kx.length," resources"]}),n.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-5",children:a.map((i,o)=>{const l=qx.find(c=>c.key===i.category);return n.jsxs("div",{className:"bg-blue-ice rounded-xl border border-border p-5 flex flex-col hover:shadow-lg transition-shadow",children:[n.jsxs("span",{className:`inline-flex items-center gap-1 text-xs font-semibold px-2.5 py-1 rounded-full border w-fit mb-3 ${L6[i.category]}`,children:[l==null?void 0:l.icon,l==null?void 0:l.label]}),n.jsx("h3",{className:"text-sm font-bold text-foreground mb-2 leading-snug",children:i.title}),n.jsx("p",{className:"text-muted-foreground text-xs leading-relaxed mb-4 flex-1",children:i.description}),i.url&&n.jsxs("a",{href:i.url,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1.5 text-blue-mid font-bold text-sm hover:underline mt-auto",children:["Visit Resource ",n.jsx(me,{className:"w-3.5 h-3.5"})]})]},o)})}),a.length===0&&n.jsx("div",{className:"text-center py-12",children:n.jsx("p",{className:"text-muted-foreground text-lg",children:"No resources found matching your search."})})]})}),n.jsx("section",{className:"bg-blue-ice py-16 lg:py-24",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 max-w-4xl",children:[n.jsxs("div",{className:"text-center mb-12",children:[n.jsx("span",{className:"text-blue-mid font-bold text-sm uppercase tracking-widest",children:"Approach"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3",children:"Designed for Engagement"}),n.jsx("p",{className:"mt-4 text-muted-foreground text-lg max-w-2xl mx-auto",children:"Each unit of learning has been designed with the following elements:"})]}),n.jsx("div",{className:"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-5 ga
491p-4",children:M6.map(i=>n.jsx("div",{className:"bg-card rounded-xl p-4 text-center border border-border",children:n.jsx("span",{className:"text-foreground text-sm font-medium",children:i})},i))})]})}),n.jsx("section",{className:"bg-navy-deep py-16 lg:py-20",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 text-center max-w-3xl",children:[n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-primary-foreground mb-4",children:"Ready to Get Started?"}),n.jsx("p",{className:"text-blue-ice/80 text-lg mb-8",children:"Access resources and everything you need to deliver the Junior Cycle Cyber Security Short Course."}),n.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[n.jsx(L,{variant:"hero",size:"lg",asChild:!0,children:n.jsxs("a",{href:"/junior-cycle-short-course",className:"inline-flex items-center gap-2",children:["Back to Junior Cycle ",n.jsx(le,{className:"w-4 h-4"})]})}),n.jsx(L,{variant:"heroOutline",size:"lg",asChild:!0,children:n.jsx("a",{href:"/contact-us",className:"inline-flex items-center gap-2",children:"Contact Us"})})]})]})}),n.jsx(st,{}),n.jsx(ae,{})]})},U6=[{icon:vr,title:"Specification",description:"Full specification for the Junior Cycle Short Course in Cyber Security.",href:"/documents/JC-Cyber-Security-Specification.pdf",type:"download"},{icon:pe,title:"Strands",description:"Detailed breakdown of the three strands and unifying element.",href:"/documents/JC-Cyber-Security-Specification-2.pdf",type:"download"},{icon:xt,title:"National Cyber Security Strategy",description:"Ireland's National Cyber Security Strategy 2019–2024.",href:"https://www.gov.ie/en/publication/d5f73-national-cyber-security-strategy/",type:"external"},{icon:vr,title:"Implementation Report",description:"Report on the implementation of the Cyber Security Junior Cycle Short Course.",href:"https://www.ncsc.gov.ie/pdfs/JC_ShortCourseCyberSecurity_Phase1.pdf",type:"external"},{icon:Jt,title:"ENISA",description:"The European Union Agency for Cybersecurity – resources and guidelines.",href:"https://www.enisa.europa.eu/",type:"external"}],B6=[{icon:Jt,number:1,title:"Exploring Cyberspace",color:"bg-blue-mid",description:"Students explore and understand the different elements of cyberspace and how it can be exploited for economic, social, political, and criminal ends.",topics:["Making sense of cyberspace","Data is the new oil","Cyber events and cybercrime","Privacy and digital media"]},{icon:fo,number:2,title:"Cyber Security Solutions",color:"bg-blue-bright",description:"Students examine the actions and habits individuals, governments, and businesses can take to pre-empt cyber-attacks and maintain good cyber hygiene.",topics:["Passwords and encryption","Codes and ciphers","Firewalls and data backup","Spotting cyber attacks"]},{icon:Tp,number:3,title:"Cyber Security in a Global Village",color:"bg-navy-dark",description:"Students explore legislation and government bodies tasked with responding to cyber-crimes and cyber-attacks at national and international levels.",topics:["Cyber legislation","Government response bodies","International cooperation","Digital citizenship"]}],F6=[{icon:Yn,label:"Philosophical implications of cyber security"},{icon:Qe,label:"Social, ethical & political considerations"},{icon:xt,label:"Our roles, rights & responsibilities in cyberspace"},{icon:Yn,label:"Cyberpsychology & social engineering"},{icon:pe,label:"Careers in cyber security"}],z6=()=>n.jsxs("div",{className:"min-h-screen",children:[n.jsx(se,{}),n.jsxs("section",{className:"bg-navy-deep py-16 lg:py-24 relative overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_top_right,_hsl(var(--blue-mid)/0.15)_0%,_transparent_60%)]"}),n.jsx("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:n.jsxs("div",{className:"text-center max-w-3xl mx-auto",children:[n.jsx("span",{className:"text-blue-sky font-bold text-sm uppercase tracking-widest",children:"Specification"}),n.jsx("h1",{className:"text-4xl md:text-5xl font-extrabold text-primary-foreground mt-3 mb-6",children:"Junior Cycle Short Course in Cybersecurity"}),n.jsx("p",{className:"text-blue-ice/80 text-lg leading-relaxed max-w-2xl mx-auto",children:"This section supports you in your enactment of the Curriculum Specification for the Junior Cycle Short Course in Cybersecurity. Below you'll find key documents, strand overviews, and essential resources."})]})})]}),n.jsx("section",{className:"bg-blue-ice py-16 lg:py-24",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsxs("div",{className:"text-center mb-12",children:[n.jsx("span",{className:"text-blue-mid font-bold text-sm uppercase tracking-widest",children:"Key Documents"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3",children:"Essential Resources"}),n.jsx("p",{className:"mt-4 text-muted-foreground max-w-2xl mx-auto text-lg",children:"Access the key documents that will guide your work in the classroom."})]}),n.jsx("div",{className:"grid sm:grid-cols-2 lg:grid-cols-3 gap-6 max-w-5xl mx-auto",children:U6.map(e=>n.jsxs("a",{href:e.href,target:"_blank",rel:"noopener noreferrer",download:e.type==="download"?!0:void 0,className:"group bg-card rounded-2xl p-6 border border-border hover:shadow-xl hover:-translate-y-1 transition-all",children:[n.jsx("div",{className:"w-12 h-12 rounded-xl bg-blue-mid/10 flex items-center justify-center mb-4 group-hover:bg-blue-mid/20 transition-colors",children:n.jsx(e.icon,{className:"w-6 h-6 text-blue-mid"})}),n.jsx("h3",{className:"text-lg font-bold text-foreground mb-2",children:e.title}),n.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed mb-4",children:e.description}),n.jsx("span",{className:"inline-flex items-center gap-1.5 text-sm font-semibold text-blue-mid",children:e.type==="download"?n.jsxs(n.Fragment,{children:[n.jsx(qe,{className:"w-4 h-4"})," Download PDF"]}):n.jsxs(n.Fragment,{children:[n.jsx(me,{className:"w-4 h-4"})," Explore"]})})]},e.title))})]})}),n.jsx("section",{className:"bg-card py-16 lg:py-24",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsxs("div",{className:"text-center mb-12",children:[n.jsx("span",{className:"text-blue-mid font-bold text-sm uppercase tracking-widest",children:"Course Structure"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3",children:"Overview of the Course"}),n.jsx("p",{className:"mt-4 text-muted-foreground max-w-2xl mx-auto text-lg",children:"The course is designed for approximately 100 hours of student engagement, structured around a unifying element and three interconnected strands."})]}),n.jsxs("div",{className:"bg-blue-ice rounded-2xl p-8 lg:p-10 mb-12 max-w-4xl mx-auto",children:[n.jsx("h3",{className:"text-xl font-bold text-foreground mb-4",children:"Course Aims"}),n.jsx("p",{className:"text-muted-foreground mb-6",children:"The aims of this Cyber Security short course are for students to develop:"}),n.jsx("ul",{className:"space-y-3",children:["A holistic understanding of cyber security by drawing on perspectives and skills from across subject disciplines.","Cyber resilience by preparing students to navigate the digital world in a safe and responsible manner.","A knowledge base for potential future studies or career opportunities in the field of cyber security."].map(e=>n.jsxs("li",{className:"flex items-start gap-3",children:[n.jsx(xt,{className:"w-5 h-5 text-blue-mid flex-shrink-0 mt-0.5"}),n.jsx("span",{className:"text-foreground",children:e})]},e))})]}),n.jsx("div",{className:"max-w-4xl mx-auto mb-16",children:n.jsxs("div",{className:"bg-navy-deep rounded-2xl p-8 lg:p-10",children:[n.jsx("h3",{className:"text-xl font-bold text-primary-foreground mb-3",children:"Unifying Element"}),n.jsx("p",{className:"text-blue-ice/80 mb-6 leading-relaxed",children:"The Unifying Element gives conceptual context and space for deeper inquiry, critical engagement, and self-reflection. Combined with the three strands, it reflects the multi and interdisciplinary nature of the course."}),n.jsx("div",{className:"grid sm:grid-cols-2 gap-3",children:F6.map(e=>n.jsxs("div",{className:"flex items-center gap-3 bg-primary-foreground
491/5 rounded-xl px-4 py-3",children:[n.jsx(e.icon,{className:"w-5 h-5 text-blue-sky flex-shrink-0"}),n.jsx("span",{className:"text-primary-foreground/90 text-sm",children:e.label})]},e.label))})]})}),n.jsx("div",{className:"grid lg:grid-cols-3 gap-8 max-w-5xl mx-auto",children:B6.map(e=>n.jsxs("div",{className:"bg-blue-ice rounded-2xl overflow-hidden hover:shadow-lg transition-all",children:[n.jsxs("div",{className:`${e.color} p-6`,children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsxs("span",{className:"text-3xl font-extrabold text-primary-foreground/30",children:["0",e.number]}),n.jsx(e.icon,{className:"w-8 h-8 text-primary-foreground"})]}),n.jsx("h3",{className:"text-xl font-bold text-primary-foreground mt-3",children:e.title})]}),n.jsxs("div",{className:"p-6",children:[n.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed mb-4",children:e.description}),n.jsx("ul",{className:"space-y-2",children:e.topics.map(t=>n.jsxs("li",{className:"flex items-center gap-2 text-sm text-foreground",children:[n.jsx("div",{className:"w-1.5 h-1.5 rounded-full bg-blue-mid flex-shrink-0"}),t]},t))})]})]},e.title))})]})}),n.jsx("section",{className:"bg-blue-ice py-16 lg:py-24",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsxs("div",{className:"max-w-4xl mx-auto",children:[n.jsxs("div",{className:"text-center mb-10",children:[n.jsx("span",{className:"text-blue-mid font-bold text-sm uppercase tracking-widest",children:"Backgroun
491d"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3",children:"Rationale"})]}),n.jsxs("div",{className:"space-y-6 text-muted-foreground text-lg leading-relaxed",children:[n.jsx("p",{children:"In today's digital age, cyber security is a critical issue that affects all aspects of modern society. As technology continues to advance and becomes increasingly integrated into our daily lives, it is essential that students understand the complex and interconnected nature of cyber threats and how they relate to personal, social, and global well-being."}),n.jsx("p",{children:"This multidisciplinary and interdisciplinary cyber security short course allows students to develop a holistic understanding of cyber security, which will better prepare them for this ever evolving, technological landscape. Students learn about the history and evolution of cyber security technology and its impact on society over time."}),n.jsx("p",{children:"Students are encouraged to work independently and collaboratively to inquire about and critically engage with contemporary issues relating to online privacy and security, digital citizenship, and online ethics, helping them appreciate the importance of cyber resilience, digital literacy, digital citizenship, and the responsible use of technology."})]})]})})}),n.jsx("section",{className:"bg-navy-deep py-16 lg:py-20",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 text-center",children:[n.jsx("h2",{className:"text-3xl font-extrabold text-primary-foreground mb-4",children:"Ready to Get Started?"}),n.jsx("p",{className:"text-blue-ice/80 max-w-xl mx-auto mb-8",children:"Download the specification and explore our sample units of learning to begin implementing the course in your classroom."}),n.jsxs("div",{className:"flex flex-wrap justify-center gap-4",children:[n.jsx(L,{variant:"hero",size:"lg",asChild:!0,children:n.jsxs("a",{href:"/documents/JC-Cyber-Security-Specification.pdf",download:!0,children:[n.jsx(qe,{className:"w-5 h-5 mr-2"})," Download Specification"]})}),n.jsx(L,{variant:"outline",size:"lg",className:"border-primary-foreground/30 text-primary-foreground hover:bg-primary-foreground/10",asChild:!0,children:n.jsx("a",{href:"/teachers",children:"Explore Sample Units"})})]})]})}),n.jsx(st,{}),n.jsx(ae,{})]}),W6="/assets/working-group-photo-BXiaTfkn.png",Yx=[{name:"James Caffrey",role:"Department of Environment, Climate and Communications (DECC)"},{name:"Professor Joe Carthy",role:"School of Computer Science, UCD"},{name:"Ruaidhri Fernandes",role:"National Cyber Security Centre (NCSC)"},{name:"Pat Seaver",role:"Computers in Education Society of Ireland (CESI)"},{name:"Neil Butler",role:"Computers in Education Society of Ireland (CESI)"},{name:"John Hegarty",role:"Computers in Education Society of Ireland (CESI)"},{name:"Paul Behan",role:"National Council for Curriculum and Assessment (NCCA)"},{name:"Carmel Somers",role:"Technology Ireland ICT Skillnet, Cyber Ireland Representative"}],Jx=[{name:"Dr Rachel Farrell",role:"PME Programme Director"},{name:"Karen Maye",role:"School Placement Lead and Head of PME Outreach Initiatives"},{name:"Liam Fogarty",role:"Technology Enhanced Learning Manager in the College of Social Science and Law at UCD"},{name:"Marelle Rice",role:"Philosophy for Children Expert"},{name:"James Doyle",role:"PME Digital Technology Lecturer"},{name:"Declan Qualter",role:"LOETB Schools' Support Coordinator"},{name:"Seamus Knox",role:"Maths and Physics PME Lecturer"},{name:"Mark Baldwin",role:"Web Developer"}],G6=["Developing the short course specification using the template provided by the NCCA and in accordance with the scoping document. The course specification should be flexible and adaptable enabling as wide a range as possible of schools, teachers and students to take up the course.","Identifying the essential resource requirements for schools undertaking this course, including training supports and providing practical solutions on how such requirements could be met for a pilot implementation.","Overseeing the pilot implementation of the short course, monitoring developments and providing high level support where necessary and appropriate.","Evaluating the short course pilot implementation in schools and providing for feedback with lessons learnt regarding course content and delivery.","Reviewing implementation of the short course by mid-2022 and making recommendations regarding the further development of a cyber security course at Junior Cycle that can be made available to schools."],H6=()=>n.jsxs("div",{className:"min-h-screen",children:[n.jsx(se,{}),n.jsxs("section",{className:"bg-navy-deep py-16 lg:py-24 relative overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_top_right,_hsl(var(--blue-mid)/0.15)_0%,_transparent_60%)]"}),n.jsx("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:n.jsxs("div",{className:"text-center max-w-3xl mx-auto",children:[n.jsx("span",{className:"text-blue-sky font-bold text-sm uppercase tracking-widest",children:"Junior Cycle Short Course"}),n.jsx("h1",{className:"text-4xl md:text-5xl font-extrabold text-primary-foreground mt-3 mb-6",children:"Backgroun
491d & Working Group"}),n.jsx("p",{className:"text-blue-ice/80 text-lg leading-relaxed max-w-2xl mx-auto",children:"Learn about the background, working group, and implementation of the Junior Cycle Cyber Security Short Course."})]})})]}),n.jsx("section",{className:"bg-blue-ice py-16 lg:py-24",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsxs("div",{className:"max-w-4xl mx-auto",children:[n.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[n.jsx("div",{className:"w-12 h-12 rounded-xl bg-blue-mid/10 flex items-center justify-center",children:n.jsx(xt,{className:"w-6 h-6 text-blue-mid"})}),n.jsx("h2",{className:"text-2xl md:text-3xl font-extrabold text-foreground",children:"National Cyber Security Strategy"})]}),n.jsxs("div",{className:"space-y-5 text-muted-foreground text-lg leading-relaxed mb-10",children:[n.jsx("p",{children:"DECC is the lead Government Department for cyber security in the State. It oversees the implementation of the National Cyber Security Strategy 2019–2024. A key theme of the Strategy centres on developing the capacity of the State, research institutions, businesses, the public sector and of the people to both better understand and manage the nature of the challenges we face in this space."}),n.jsx("p",{children:"In particular, Measure 12 of the Strategy includes actions on developing cyber security education in second level education."})]}),n.jsxs("div",{className:"bg-navy-deep rounded-2xl p-6 lg:p-8 mb-10",children:[n.jsx("h3",{className:"text-lg font-bold text-primary-foreground mb-3",children:"Measure 12"}),n.jsx("p",{className:"text-blue-ice/80 text-sm leading-relaxed mb-4",children:"Government will continue to ensure that second and third level training in computer science and cyber security is developed and deployed, including by supporting the work of Skillnets Ireland in developing training programmes for all educational levels and supporting SOLAS initiatives for ICT apprenticeship programmes in cyber security."}),n.jsxs("div",{className:"bg-primary-foreground/5 rounded-xl overflow-hidden",children:[n.jsxs("div",{className:"grid grid-cols-4 gap-px bg-blue-mid/20",children:[n.jsx("div",{className:"bg-blue-mid/30 p-3 text-xs font-bold text-primary-foreground",children:"Actions for Delivery"}),n.jsx("div",{className:"bg-blue-mid/30 p-3 text-xs font-bold text-primary-foreground",children:"Timeline"}),n.jsx("div",{className:"bg-blue-mid/30 p-3 text-xs font-bold text-primary-foreground",children:"Lead"}),n.jsx("div",{className:"bg-blue-mid/30 p-3 text-xs font-bold text-primary-foreground",children:"Key Stakeholders"})]}),n.jsxs("div",{className:"grid grid-cols-4 gap-px",children:[n.jsx("div",{className:"bg-navy-deep/80 p-3 text-xs text-blue-ice/80",children:"Support the development of a Junior Cycle short course in cyber security"}),n.jsx("div",{className:"bg-navy-deep/80 p-3 text-xs text-blue-ice/80",children:"Q4 2020"}),n.jsx("div",{className:"bg-navy-deep/80 p-3 text-xs text-blue-ice/80",children:"NCSC"}),n.jsx("div",{className:"bg-navy-deep/80 p-3 text-xs text-blue-ice/80",children:"NCCA"})]})]})]}),n.jsxs("div",{className:"space-y-5 text-muted-foreground text-lg leading-relaxed",children:[n.jsx("p",{children:"In Spring and early Summer of 2020, discussions took place with the NCCA on how to realise this objective of a developed Short Course in Cyber Security. The resultant was an agreed scoping document that recognised the primacy of an education stakeholder led approach."}),n.jsx("p",{children:"In establishing a consultative working group of stakeholders in July 2020, it was stated that the underlying objective of the Short Course was to provide for broadly based cyber security education with a multidisciplinary approach encompassing aspects of psychology, law, ethics, communications and crisis management as well as computer science."}),n.jsx("p",{children:"In the context of digitalisation of society, all students, regardless of gender and not just those with STEM aptitudes need to be familiar with resilience and security in the online world. The course should also influence the content of and could lead to greater uptake of the curriculum subject Computer Science in Senior Cycle."})]})]})})}),n.jsx("section",{className:"bg-card py-16 lg:py-24",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsxs("div",{className:"max-w-4xl mx-auto",children:[n.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[n.jsx("div",{className:"w-12 h-12 rounded-xl bg-blue-mid/10 flex items-center justify-center",children:n.jsx(Qe,{className:"w-6 h-6 text-blue-mid"})}),n.jsx("h2",{className:"text-2xl md:text-3xl font-extrabold text-foreground",children:"Working Group"})]}),n.jsx("p",{className:"text-muted-foreground text-lg leading-relaxed mb-8",children:"DECC facilitated the establishment of a consultative working group comprising an interdisciplinary team chaired by Professor Joe Carthy from UCD School of Computer Science. Members from the NCSC, Cyber Ireland, the NCCA, and CESI provided technical, industry, educational and curriculum development insights respectively."}),n.jsxs("div",{className:"bg-blue-ice rounded-2xl p-6 lg:p-8 mb-10",children:[n.jsx("h3",{className:"text-lg font-bold text-foreground mb-4",children:"The working group was tasked with:"}),n.jsx("ol",{className:"space-y-4",children:G6.map((e,t)=>n.jsxs("li",{className:"flex items-start gap-3",children:[n.jsx("span",{className:"flex-shrink-0 w-7 h-7 rounded-full bg-blue-mid text-primary-foreground text-sm font-bold flex items-center justify-center mt-0.5",children:t+1}),n.jsx("span",{className:"text-foreground text-sm leading-relaxed",children:e})]},t))})]}),n.jsx("h3",{className:"text-xl font-bold text-foreground mb-4",children:"Working Group Members"}),n.jsx("div",{className:"bg-blue-ice rounded-2xl overflow-hidden mb-10",children:Yx.map((e,t)=>n.jsxs("div",{className:`flex flex-col sm:flex-row sm:items-center gap-1 sm:gap-6 px-6 py-4 ${t!==Yx.length-1?"border-b border-border":""}`,children:[n.jsx("span",{className:"font-bold text-foreground text-sm min-w-[180px]",children:e.name}),n.jsx("span",{className:"text-muted-foreground text-sm",children:e.role})]},e.name))}),n.jsx("div",{className:"rounded-2xl overflow-hidden mb-4",children:n.jsx("img",{src:W6,alt:"Minister Smyth pictured with the working group and project implementation team at the shared learning day in UCD in May 2022",className:"w-full object-cover"})}),n.jsx("p",{className:"text-muted-foreground text-sm text-center italic mb-10",children:"Minister Smyth pictured with the working group and project implementation team at the shared learning day in UCD in May 2022"})]})})}),n.jsx("section",{className:"bg-blue-ice py-16 lg:py-24",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsxs("div",{className:"max-w-4xl mx-auto",children:[n.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[n.jsx("div",{className:"w-12 h-12 rounded-xl bg-blue-mid/10 flex items-center justify-center",children:n.jsx(pe,{className:"w-6 h-6 text-blue-mid"})}),n.jsx("h2",{className:"text-2xl md:text-3xl font-extrabold text-foreground",children:"Design & Implementation Team"})]}),n.jsx("p",{className:"text-muted-foreground text-lg leading-relaxed mb-8",children:"UCD School of Education has a proven track record in Democratic Pedagogical Partnerships and is at the forefront of technology enhanced learning in Initial Teacher Education. The multi-disciplinary UCD design and implementation team is outlined below."}),n.jsx("div",{className:"bg-card rounded-2xl overflow-hidden",children:Jx.map((e,t)=>n.jsxs("div",{className:`flex flex-col sm:flex-row sm:items-center gap-1 sm:gap-6 px-6 py-4 ${t!==Jx.length-1?"border-b border-border":""}`,children:[n.jsx("span",{className:"font-bold text-foreground text-sm min-w-[180px]",children:e.name}),n.jsx("span",{className:"text-muted-foreground text-sm",children:e.role})]},e.name))})]})})}),n.jsx(st,{}),n.jsx(ae,{})]}),V6=[{number:1,title:"Introduction & Placement Activity",icon:Ho,description:"Class discu
491ssion of cyber crimes and cyber events students have heard of. Students form groups around particular themes or events they are interested in.",activities:["Group discusses a particular cyber event/crime and pools their information","Students may have conflicting views — this becomes a rich source of questions to investigate","Complete placement activity: 'What I know/think already'"],prompts:["What happened?","Who was involved?","What was the purpose of this event?","Did anyone benefit from this event? If so, how?","Was anyone disadvantaged as a result? If so, how?","What questions do I have about this event?"]},{number:2,title:"Case Study Research (Part 1)",icon:pe,description:"Groups decide how they will go about investigating a particular cyber event or cyber crime.",activities:["Decide what they want to find out and what headings to use","Use guiding questions from Lesson 1 or explore their own assumptions","Begin researching their chosen cyber event/crime"]},{number:3,title:"Case Study Research (Part 2)",icon:Bt,description:"Groups decide on the format of the case study and how they can present their findings creatively.",activities:["Choose a presentation format: wall displays, posters, digital storytelling, video, podcasts, or dramatic retelling","Use available resources creatively","Prepare to present findings comfortably"]},{number:4,title:"Case Studies Presented",icon:_p,description:"Groups present their completed case studies to the class, sharing their findings and insights.",activities:["Each group presents their case study","Class discusses common themes and differences","Peer feedback and questions"]},{number:5,title:"Reflection: What Have I Learned?",icon:Qe,description:"Students review their initial beliefs and opinions from Lesson 1 and identify what they would change and what they would keep the same.",activities:["Repeat placement activity to compare initial and final understanding","Discuss advice they would give to avoid being a victim","Identify common themes across different case studies","Explore what they want to find out next about cyber security"]}],q6=()=>n.jsxs("div",{className:"min-h-screen",children:[n.jsx(se,{}),n.jsxs("section",{className:"bg-navy-deep py-16 lg:py-24 relative overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_top_right,_hsl(var(--blue-mid)/0.15)_0%,_transparent_60%)]"}),n.jsx("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:n.jsxs("div",{className:"text-center max-w-3xl mx-auto",children:[n.jsx("span",{className:"text-blue-sky font-bold text-sm uppercase tracking-widest",children:"Unit of Learning"}),n.jsx("h1",{className:"text-4xl md:text-5xl font-extrabold text-primary-foreground mt-3 mb-6",children:"Case Studies of Cyber Events & Cyber Crimes"}),n.jsx("p",{className:"text-blue-ice/80 text-lg leading-relaxed max-w-2xl mx-auto mb-8",children:"In this unit of learning, students are introduced to cyber security through an exploration of their current understanding, then build on this knowledge to research and present a case study of a cyber event of their choice."}),n.jsx(L,{variant:"hero",size:"lg",asChild:!0,children:n.jsxs("a",{href:"/documents/Unit-of-learning-Cyber-Security-Case-Study.pdf",download:!0,children:[n.jsx(qe,{className:"w-5 h-5 mr-2"})," Download Resource"]})})]})})]}),n.jsx("section",{className:"bg-blue-ice py-16 lg:py-24",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsxs("div",{className:"max-w-4xl mx-auto",children:[n.jsx("div",{className:"grid sm:grid-cols-3 gap-6 mb-16",children:[{label:"5 Lessons",sub:"Structured across a unit"},{label:"Group Work",sub:"Collaborative research"},{label:"Creative Output",sub:"Multiple presentation formats"}].map(e=>n.jsxs("div",{className:"bg-card rounded-2xl p-6 text-center border border-border",children:[n.jsx("h3",{className:"text-2xl font-extrabold text-foreground",children:e.label}),n.jsx("p",{className:"text-muted-foreground text-sm mt-1",children:e.sub})]},e.label))}),n.jsx("div",{className:"space-y-8",children:V6.map(e=>n.jsxs("div",{className:"bg-card rounded-2xl border border-border overflow-hidden",children:[n.jsxs("div",{className:"flex items-center gap-4 bg-navy-deep p-5",children:[n.jsx("span",{className:"flex-shrink-0 w-10 h-10 rounded-full bg-blue-mid text-primary-foreground font-bold flex items-center justify-center",children:e.number}),n.jsx("div",{children:n.jsx("h3",{className:"text-lg font-bold text-primary-foreground",children:e.title})})]}),n.jsxs("div",{className:"p-6",children:[n.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:e.description}),n.jsx("ul",{className:"space-y-2 mb-4",children:e.activities.map(t=>n.jsxs("li",{className:"flex items-start gap-2",children:[n.jsx(br,{className:"w-4 h-4 text-blue-mid flex-shrink-0 mt-1"}),n.jsx("span",{className:"text-foreground text-sm",children:t})]},t))}),e.prompts&&n.jsxs("div",{className:"bg-blue-ice rounded-xl p-5 mt-4",children:[n.jsx("h4",{className:"text-sm font-bold text-foreground mb-3",children:"Discussion Prompts"}),n.jsx("div",{className:"grid sm:grid-cols-2 gap-2",children:e.prompts.map(t=>n.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[n.jsx("div",{className:"w-1.5 h-1.5 rounded-full bg-blue-mid flex-shrink-0"}),t]},t))})]})]})]},e.number))})]})})}),n.jsx("section",{className:"bg-navy-deep py-16",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 text-center",children:[n.jsx("h2",{className:"text-3xl font-extrabold text-primary-foreground mb-4",children:"Ready to Use This Resource?"}),n.jsx("p",{className:"text-blue-ice/80 max-w-xl mx-auto mb-8",children:"Download the full lesson plan and start exploring cyber events and cyber crimes with your students."}),n.jsxs("div",{className:"flex flex-wrap justify-center gap-4",children:[n.jsx(L,{variant:"hero",size:"lg",asChild:!0,children:n.jsxs("a",{href:"/documents/Unit-of-learning-Cyber-Security-Case-Study.pdf",download:!0,children:[n.jsx(qe,{className:"w-5 h-5 mr-2"})," Download Resource"]})}),n.jsx(L,{variant:"heroOutline",size:"lg",asChild:!0,children:n.jsx("a",{href:"/teachers",children:"Back to All Units"})})]})]})}),n.jsx(ae,{})]}),K6=["Phishing","Baiting","Blagging","Vishing","Tailgating","Pharming","Smishing","Piggybacking","Shouldering","Pretexting","Quid Pro Quo"],Y6=[{number:1,title:"What is Social Engineering?",icon:Ho,description:"Students are introduced to social engineering through a CNN video of reporter Donie O'Sullivan being hacked by social engineer Rachel Tobac.",tasks:[{title:"Watch the video",detail
491:`"Watch how a social engineering hack works" — CNN tech reporter Donie O'Sullivan discovers just how vulnerable he really is.`},{title:"Discuss the video",detail:"Identify 3 things the hackers took advantage of and 3 things Donnie could have done to protect himself."},{title:"Think/Pair/Share",detail:"Develop a definition of social engineering individually, compare with a partner, refine in larger groups."},{title:"Real-life examples",detail:"Can you think of examples of social engineering before the internet? Are séances or fortune tellers examples of social engineers?"},{title:"Homework",detail:"Identify 5 types of social engineering and write a sentence explaining how each works."}]},{number:2,title:"Project Setup",icon:Qe,description:"Groups select a social engineering topic and begin planning their research project using a structured planning tool.",tasks:[{title:"Select a topic",detail:"Each group selects one type of social engineering from the list (Phishing, Baiting, Vishing, etc.)."},{title:"Planning tool",detail:"Students plan using headings: What is it? How does it work? Examples, Who benefits?, Countermeasures, Media Coverage, and more."}]},{number:3,title:"Research & Development",icon:pe,description:"Groups research their chosen social engineering topic using online resources and build their project.",tasks:[{title:"Research",detail:"Groups use online resources to investigate their topic in depth."},{title:"Coordinate roles",detail:"Ensure everyone has a role and plan next steps using the project planning tool."}]},{number:4,title:"Project Development",icon:Bt,description:"Students continue developing their project and choose how to present — posters, slides, digital storytelling, dramatic retelling.",tasks:[{title:"Develop presentation",detail:"Choose format: posters, slides, digital storytelling, video, or dramatic retelling."},{title:"Address all headings",detail:"Ensure the presentation covers all headings from the planning table."}]},{number:"5/6",title:"Project Presentations & Viewing",icon:_p,description:"Groups present their projects. The class identifies commonalities, differences, and rates the threat level of each type.",tasks:[{title:"Present projects",detail:"Each group presents their social engineering research."},{title:"Compare & analyse",detail:"Identify what makes each form different, what they have in common, and common personal countermeasures."},{title:"Threat rating",detail:"Rate the different types of social engineering in terms of the threat they pose."}]},{number:7,title:"Reflection & Creative Output",icon:Sp,description:"Students reflect on their learning and create an advisory output for a real audience.",tasks:[{title:"Creative output",detail:"Design a poster, write a blog, create a video/TikTok advising people how to avoid social engineering attacks."},{title:"Alternative",detail:"Write a letter to the Minister outlining what steps the government should take to protect people."}]}],J6=[{label:"Data Protection Ireland – Phishing & Social Engineering Guidance",href:"https://www.dataprotection.ie/sites/default/files/uploads/2020-04/Guidance_for_Organisations_on_Phishing_and_Social_Engineering_Attacks_Oct19.pdf"},{label:"IT Governance – Phishing Penetration Test",href:"https://www.itgovernance.eu/en-ie/phishing-penetration-test-ie"},{label:"BBC Bitesize – Social Engineering",href:"https://www.bbc.co.uk/bitesize/guides/znnny4j/revision/2"},{label:"KnowBe4 – Social Engineering Resources",href:"https://www.knowbe4.com/"}],Q6=()=>n.jsxs("div",{className:"min-h-screen",children:[n.jsx(se,{}),n.jsxs("section",{className:"bg-navy-deep py-16 lg:py-24 relative overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_top_right,_hsl(var(--blue-mid)/0.15)_0%,_transparent_60%)]"}),n.jsx("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:n.jsxs("div",{className:"text-center max-w-3xl mx-auto",children:[n.jsx("span",{className:"text-blue-sky font-bold text-sm uppercase tracking-widest",children:"Unit of Learning"}),n.jsx("h1",{className:"text-4xl md:text-5xl font-extrabold text-primary-foreground mt-3 mb-6",children:"What is Social Engineering?"}),n.jsx("p",{className:"text-blue-ice/80 text-lg leading-relaxed max-w-2xl mx-auto mb-8",children:"This unit opens with a video of CNN tech reporter Donie O'Sullivan being hacked by social engineer and cyber security expert Rachel Tobac. Students explore how hackers take advantage of our behaviour online and the psychology behind social engineering."}),n.jsx(L,{variant:"hero",size:"lg",asChild:!0,children:n.jsxs("a",{href:"/documents/Unit-of-Learning-Social-Engineering.pdf",download:!0,children:[n.jsx(qe,{className:"w-5 h-5 mr-2"})," Download Resource"]})})]})})]}),n.jsx("section",{className:"bg-blue-ice py-16 lg:py-24",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsxs("div",{className:"max-w-4xl mx-auto",children:[n.jsx("div",{className:"grid sm:grid-cols-3 gap-6 mb-16",children:[{label:"7 Lessons",sub:"Structured unit of learning"},{label:"Group Projects",sub:"Collaborative research"},{label:"Creative Output",sub:"Posters, videos, blogs"}].map(e=>n.jsxs("div",{className:"bg-card rounded-2xl p-6 text-center border border-border",children:[n.jsx("h3",{className:"text-2xl font-extrabold text-foreground",children:e.label}),n.jsx("p",{className:"text-muted-foreground text-sm mt-1",children:e.sub})]},e.label))}),n.jsxs("div",{className:"bg-navy-deep rounded-2xl p-6 lg:p-8 mb-16",children:[n.jsx("h3",{className:"text-lg font-bold text-primary-foreground mb-4",children:"Types of Social Engineering Explored"}),n.jsx("div",{className:"flex flex-wrap gap-2",children:K6.map(e=>n.jsx("span",{className:"px-3 py-1.5 rounded-full bg-blue-mid/20 text-blue-sky text-sm font-semibold",children:e},e))})]}),n.jsx("div",{className:"space-y-8",children:Y6.map(e=>n.jsxs("div",{className:"bg-card rounded-2xl border border-border overflow-hidden",children:[n.jsxs("div",{className:"flex items-center gap-4 bg-navy-deep p-5",children:[n.jsx("span",{className:"flex-shrink-0 w-10 h-10 rounded-full bg-blue-mid text-primary-foreground font-bold flex items-center justify-center text-sm",children:e.number}),n.jsx("h3",{className:"text-lg font-bold text-primary-foreground",children:e.title})]}),n.jsxs("div",{className:"p-6",children:[n.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:e.description}),n.jsx("div",{className:"space-y-3",children:e.tasks.map(t=>n.jsxs("div",{className:"flex items-start gap-3",children:[n.jsx(br,{className:"w-4 h-4 text-blue-mid flex-shrink-0 mt-1"}),n.jsxs("div",{children:[n.jsxs("span",{className:"font-semibold text-foreground text-sm",children:[t.title,": "]}),n.jsx("span",{className:"text-muted-foreground text-sm",children:t.detail})]})]},t.title))})]})]},e.number))})]})})}),n.jsx("section",{className:"bg-card py-16 lg:py-24",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsxs("div",{className:"max-w-4xl mx-auto",children:[n.jsx("h2",{className:"text-2xl font-extrabold text-foreground mb-6",children:"Suggested Resources"}),n.jsx("div",{className:"space-y-3",children:J6.map(e=>n.jsxs("a",{href:e.href,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-3 bg-blue-ice rounded-xl px-5 py-4 hover:shadow-md transition-all group",children:[n.jsx(me,{className:"w-4 h-4 text-blue-mid flex-shrink-0"}),n.jsx("span",{className:"text-foreground text-sm font-medium group-hover:text-blue-mid transition-colors",children:e.label})]},e.label))})]})})}),n.jsx("section",{className:"bg-navy-deep py-16",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 text-center",children:[n.jsx("h2",{className:"text-3xl font-extrabold text-primary-foreground mb-4",children:"Ready to Use This Resource?"}),n.jsx("p",{className:"text-blue-ice/80 max-w-xl mx-auto mb-8",children:"Download the full lesson plan and explore social engineering with your students."}),n.jsxs("div",{className:"flex flex-wrap justify-center gap-4",children:[n.jsx(L,{variant:"hero",size:"lg",asChild:!0,children:n.jsxs("a",{href:"/documents/Unit-of-Learning-Social-Engineering.pdf",download:!0,children:[n.jsx(qe,{className:"w-5 h-5 mr-2"})," Download Resource"]})}),n.jsx(L,{variant:"heroOutline",size:"lg",asChild:!0,children:n.jsx("a",{href:"/teachers",children:"Back to All Units"})})]})]})}),n.jsx(ae,{})]}),X6=["Explain why information about people and their behaviours is valuable to companies.","Analyse how certain types of data are used by companies.","Learn three strategies for limiting individual data collection by companies.","Identify how data can also be used for political and personal reasons."],Z6=["Information is valuable","Internet companies are the richest companies in the history of humanity","Tools wait to be needed and used. Social media isn't a tool.",`"There are only two industries that call their customers 'users': illegal drugs and software" — Edward Tufte`,"Social Media is a drug","You vs the social media computer technology — it's not a fair fight","Wikipedia g
491ives everyone the same information. Social Media, Google etc. will give you the version you want to see.","Fake news travels faster than true news","If you are not paying for the product, you are the product"],eD=[{term:"GDPR",definition:"A law that protects the online privacy rights of people that reside in the UK and EU countries."},{term:"Cookies",definition:"Small text files stored on a computer that keep track of what a person does on a website."},{term:"Personalised Content",definition:"Information that a website or app shows you based on what they think you want to see."},{term:"Targeted Advertisement",definition:"Advertisements shown to you based on information collected about you (location, browsing history, interests, age, etc.)."},{term:"Data Broker",definition:"A person or company that buys and sells consumer data."},{term:"Consumer",definition:"A person who buys products or services to use."}],tD=[{number:1,title:"Setting the Scene",icon:Ho,description:"Students complete an anticipation exercise to capture initial beliefs about data, privacy, and social media. Then design a hypothetical product for teenagers.",tasks:["Complete anticipation exercise — Agree/Not Sure/Disagree on provocative statements about data and social media","Think-Pair-Share: Imagine designing a brand-new product for teenagers — what questions would you ask?"]},{number:2,title:"Behavioural Data & Advertising",icon:dE,description:"Students explore how companies collect and use behavioural data, cookies, and targeted advertising. Groups investigate research questions using a placemat template.",tasks:["Read about behavioural data, advertising, and target marketing","Watch 'How cookies track you' video","Group investigation: research questions about data collection, consent pop-ups, smartphone spying, and more"]},{number:3,title:"Online Tracking & Key Vocabulary",icon:pe,description:"Watch 'Hot on Your Trail: Privacy, Your Data, and Who Has Access to It' and learn key vocabulary including GDPR, cookies, personalised content, and data brokers.",tasks:["Watch the online tracking video and discuss how data could inform product design","Mix and match key vocabulary exercise (GDPR, Cookies, Targeted Ads, Data Brokers)"]},{number:4,title:"Trendsetter Data Challenge",icon:kE,description:"Students take on the role of a product designer at 'Trendsetter' clothing company, using consumer data to design and justify a new product.",tasks:["Analyse consumer data to decide on a new product type and features","Draw or design the product based on data insights","Write a paragraph explaining how data informed the design"]},{number:5,title:"The Social Dilemma",icon:Go,description:"Explore the pros and cons of the internet, then watch 'The Social Dilemma' documentary or Tristan Harris TED Talk on how tech companies control billions of minds.",tasks:["Complete a pros and cons list of the internet","Watch 'The Social Dilemma' or Tristan Harris TED Talk","Discuss how people can be profiled and manipulated, and what can change"]},{number:6,title:"Reflection & Action",icon:Sp,description:"Students reflect on how their understanding has changed, identify ways data is gathered without consent, and take real actions to protect their personal data.",tasks:["Identify why your data is valuable politically or personally to third parties","Identify 2 ways data is gathered without consent","Describe 3 ways to protect your data","Take 3 real actions to protect your data on your personal device","Repeat anticipation exercise and compare to initial responses"]}],rD=[{label:"Data Protection Ireland",href:"https://dataprotection.ie/"},{label:"GDPR.eu — General Data Protection Regulation",href:"https://gdpr.eu/"},{label:"BBC Bitesize — Data & Privacy",href:"https://www.bbc.co.uk/bitesize/guides/znkqn39/revision/4"}],nD=()=>n.jsxs("div",{className:"min-h-screen",children:[n.jsx(se,{}),n.jsxs("section",{className:"bg-navy-deep py-16 lg:py-24 relative overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_top_right,_hsl(var(--blue-mid)/0.15)_0%,_transparent_60%)]"}),n.jsx("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:n.jsxs("div",{className:"text-center max-w-3xl mx-auto",children:[n.jsx("span",{className:"text-blue-sky font-bold text-sm uppercase tracking-widest",children:"Unit of Learning"}),n.jsx("h1",{className:"text-4xl md:text-5xl font-extrabold text-primary-foreground mt-3 mb-6",children:"Data is the New Oil"}),n.jsx("p",{className:"text-blue-ice/80 text-lg leading-relaxed max-w-2xl mx-auto mb-8",children:"Could your life online help design a new product? What are cookies? Why am I asked for permission when I click on a website? Why are the advertisements on my Mum's social media different to my own? Is my iPhone spying on me?"}),n.jsx(L,{variant:"hero",size:"lg",asChild:!0,children:n.jsxs("a",{href:"/documents/Data-is-the-new-oil.pdf",download:!0,children:[n.jsx(qe,{className:"w-5 h-5 mr-2"})," Download Resource"]})})]})})]}),n.jsx("section",{className:"bg-blue-ice py-16 lg:py-24",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsxs("div",{className:"max-w-4xl mx-auto",children:[n.jsx("div",{className:"grid sm:grid-cols-3 gap-6 mb-16",children:[{label:"6 Lessons",sub:"Structured unit of learning"},{label:"Data Literacy",sub:"GDPR, cookies, tracking"},{label:"Real Actions",sub:"Protect your own data"}].map(e=>n.jsxs("div",{className:"bg-card rounded-2xl p-6 text-center border border-border",children:[n.jsx("h3",{className:"text-2xl font-extrabold text-foreground",children:e.label}),n.jsx("p",{className:"text-muted-foreground text-sm mt-1",children:e.sub})]},e.label))}),n.jsxs("div",{className:"bg-navy-deep rounded-2xl p-6 lg:p-8 mb-16",children:[n.jsx("h3",{className:"text-lg font-bold text-primary-foreground mb-4",children:"Learning Intentions"}),n.jsx("ul",{className:"space-y-3",children:X6.map(e=>n.jsxs("li",{className:"flex items-start gap-3",children:[n.jsx(br,{className:"w-4 h-4 text-blue-sky flex-shrink-0 mt-1"}),n.jsx("span",{className:"text-blue-ice/80 text-sm",children:e})]},e))})]}),n.jsxs("div",{className:"bg-card rounded-2xl p-6 lg:p-8 border border-border mb-16",children:[n.jsx("h3",{className:"text-lg font-bold text-foreground mb-2",children:"Anticipation Exercise"}),n.jsx("p",{className:"text-muted-foreground text-sm mb-4",children:"Students respond Agree / Not Sure / Disagree to these statements at the start and end of the unit:"}),n.jsx("div",{className:"space-y-2",children:Z6.map(e=>n.jsxs("div",{className:"flex items-start gap-2 bg-blue-ice rounded-lg px-4 py-3",children:[n.jsx("div",{className:"w-1.5 h-1.5 rounded-full bg-blue-mid flex-shrink-0 mt-2"}),n.jsx("span",{className:"text-foreground text-sm italic",children:e})]},e))})]}),n.jsx("div",{className:"space-y-8",children:tD.map(e=>n.jsxs("div",{className:"bg-card rounded-2xl border border-border overflow-hidden",children:[n.jsxs("div",{className:"flex items-center gap-4 bg-navy-deep p-5",children:[n.jsx("span",{className:"flex-shrink-0 w-10 h-10 rounded-full bg-blue-mid text-primary-foreground font-bold flex items-center justify-center",children:e.number}),n.jsx("h3",{className:"text-lg font-bold text-primary-foreground",children:e.title})]}),n.jsxs("div",{className:"p-6",children:[n.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:e.description}),n.jsx("ul",{className:"space-y-2",children:e.tasks.map(t=>n.jsxs("li",{className:"flex items-start gap-2",children:[n.jsx(br,{className:"w-4 h-4 text-blue-mid flex-shrink-0 mt-1"}),n.jsx("span",{className:"text-foreground text-sm",children:t})]},t))})]})]},e.number))}),n.jsxs("div",{className:"bg-card rounded-2xl border border-border overflow-hidden mt-16",children:[n.jsx("div",{className:"bg-navy-deep p-5",children:n.jsx("h3",{className:"text-lg font-bold text-primary-foreground",children:"Key Vocabulary"})}),n.jsx("div",{className:"divide-y divide-border",children:eD.map(e=>n.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center gap-1 sm:gap-6 px-6 py-4",children:[n.jsx("span",{className:"font-bold text-foreground text-sm min-w-[200px]",children:e.term}),n.jsx("span",{className:"text-muted-foreground text-sm",children:e.definition})]},e.term))})]})]})})}),n.jsx("section",{className:"bg-card py-16 lg:py-24",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsxs("div",{className:"max-w-4xl mx-auto",children:[n.jsx("h2",{className:"text-2xl font-extrabold text-foreground mb-6",children:"Suggested Resources"}),n.jsx("div",{className:"space-y-3",children:rD.map(e=>n.jsxs("a",{href:e.href,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-3 bg-blue-ice rounded-xl px-5 py-4 hover:shadow-md transition-all group",children:[n.jsx(me,{className:"w-4 h-4 text-blue-mid flex-shrink-0"}),n.jsx("span",{className:"text-foreground text-sm font-medium group-hover:text-blue-mid transition-colors",children:e.label})]},e.label))})]})})}),n.jsx("section",{className:"bg-navy-deep py-16",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 text-center",children:[n.jsx("h2",{className:"text-3xl font-extrabold text-primary-foreground mb-4",children:"Ready to Use This Resource?"}),n.jsx("p",{className:"text-blue-ice/80 max-w-xl mx-auto mb-8",children:"Download the full lesson plan and explore data privacy with your students."}),n.jsxs("div",{className:"flex flex-wrap justify-center gap-4",children:[n.jsx(L,{variant:"hero",size:"lg",asChild:!0,children:n.jsxs("a",{href:"/documents/Data-is-the-new-oil.pdf",download:!0,children:[n.jsx(qe,{className:"w-5 h-5 mr-2"})," Download Resource"]})}),n.jsx(L,{variant:"heroOutline",size:"lg",asChild:!0,children:n.jsx("a",{href:"/teachers",children:"Back to All Units"})})]})]})}),n.jsx(ae,{})]}),sD=["Multi Factor Authentication","Passwords","Backing up data","Reading terms and conditions","Virtual Private Networks (VPNs)","Privacy Settings"],aD=["Penetration Tester","Information Security Analyst","Data Protection Officer/Consultant"],iD=[{number:1,title:"You are the Product",icon:Ho,description:"Why are social media apps free? Students explore surveillance capitalism through 'The Social Dilemma' and investigate what they're really signing away in terms and conditions.",tasks:["Hook discu
491ssion: Why do you think social media apps are free?","Watch 'If the product is free you are the product' from The Social Dilemma","Research: How do social media apps change how you think, act, and what you do?","Complete worksheet: 'What are you signing away?' — read actual T&Cs of social media platforms","Watch 'Privacy is no longer a social norm' and discuss monitoring and personal freedom"]},{number:2,title:"Identity",icon:Qe,description:"Students explore the gap between online identity and reality, investigate catfishing and identity theft, and research legislation that protects personal information.",tasks:["Watch 'Social Media vs. Reality' — discuss Appearance vs Reality online","Discussion on identity theft and catfishing with video examples","Research: What is a digital footprint? What does 'aliases' mean?","Find legislation that protects people from their personal information being used","Case study worksheet on identity theft"]},{number:3,title:"Responsible Usage",icon:xt,description:"Students examine what responsible usage means, explore their school's device policy, and create activities linked to the concept of consent.",tasks:["Discuss: What does 'responsible usage' mean?","Examine your school's device policy — what have you learned?","Create an activity that links to consent"]},{number:4,title:"Legislation & Raising Awareness",icon:Tp,description:"Students learn about GDPR and the 7 user rights, explore data privacy and consent through research and TED Talks, and investigate defamation of character.",tasks:["Watch 'GDPR 7 User Rights' video","Research GDPR using guided worksheets","Watch 'Data Privacy and Consent' TED Talk (13 mins)","Discuss: What happens if you record someone or take photos without consent?","Explore defamation of character — what is ok to post?"]},{number:5,title:"Keeping Data Safe",icon:fo,description:"Students explore why data privacy matters, learn 6 key methods to protect identity and data, and investigate the threat of doxxing.",tasks:["Hook: 'If you have nothing to hide, you have nothing to fear' — agree or disagree?","Group research: Each group becomes class experts on one data protection method","Create poster/presentation explaining how the method protects identity and data","Explore doxxing: What is it? How would you feel if your data was shared publicly?"]},{number:6,title:"Your Future Career",icon:jp,description:"Students Google themselves to assess their digital first impression, explore how to clean up their online presence, and research careers in data privacy and cybersecurity.",tasks:["Hook: Would you be proud of what you'd see if you Googled yourself?","Social media reflection: What would employers/teachers think of your accounts?","Brainstorm: How might you improve what comes up when someone Googles you?","Group research: Investigate careers — Penetration Tester, Security Analyst, Data Protection Officer","Present findings: What does the job involve? How does it relate to this unit?"]}],oD=()=>n.jsxs("div",{className:"min-h-screen",children:[n.jsx(se,{}),n.jsxs("section",{className:"bg-navy-deep py-16 lg:py-24 relative overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_top_right,_hsl(var(--blue-mid)/0.15)_0%,_transparent_60%)]"}),n.jsx("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:n.jsxs("div",{className:"text-center max-w-3xl mx-auto",children:[n.jsx("span",{className:"text-blue-sky font-bold text-sm uppercase tracking-widest",children:"Unit of Learning"}),n.jsx("h1",{className:"text-4xl md:text-5xl font-extrabold text-primary-foreground mt-3 mb-6",children:"You Are the Product"}),n.jsx("p",{className:"text-blue-ice/80 text-lg leading-relaxed max-w-2xl mx-auto mb-8",children:"Why is social media free? How do social media companies make money? What is surveillance capitalism? Students work through a series of tasks exploring responsible usage, GDPR, and decide what data they wish to keep private."}),n.jsx(L,{variant:"hero",size:"lg",asChild:!0,children:n.jsxs("a",{href:"/documents/You-are-the-product.docx",download:!0,children:[n.jsx(qe,{className:"w-5 h-5 mr-2"})," Download Resource"]})})]})})]}),n.jsx("section",{className:"bg-blue-ice py-16 lg:py-24",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsxs("div",{className:"max-w-4xl mx-auto",children:[n.jsx("div",{className:"grid sm:grid-cols-3 gap-6 mb-16",children:[{label:"6 Lessons",sub:"Structured unit of learning"},{label:"GDPR & Privacy",sub:"Legislation & rights"},{label:"Career Paths",sub:"Cybersecurity futures"}].map(e=>n.jsxs("div",{className:"bg-card rounded-2xl p-6 text-center border border-border",children:[n.jsx("h3",{className:"text-2xl font-extrabold text-foreground",children:e.label}),n.jsx("p",{className:"text-muted-foreground text-sm mt-1",children:e.sub})]},e.label))}),n.jsxs("div",{className:"bg-navy-deep rounded-2xl p-6 lg:p-8 mb-10",children:[n.jsx("h3",{className:"text-lg font-bold text-primary-foreground mb-4",children:"Key Data Protection Methods"}),n.jsx("div",{className:"flex flex-wrap gap-2",children:sD.map(e=>n.jsx("span",{className:"px-3 py-1.5 rounded-full bg-blue-mid/20 text-blue-sky text-sm font-semibold",children:e},e))})]}),n.jsxs("div",{className:"bg-card rounded-2xl p-6 lg:p-8 border border-border mb-16",children:[n.jsx("h3",{className:"text-lg font-bold text-foreground mb-4",children:"Career Paths Explored"}),n.jsx("div",{className:"flex flex-wrap gap-3",children:aD.map(e=>n.jsxs("div",{className:"flex items-center gap-2 bg-blue-ice rounded-xl px-4 py-3",children:[n.jsx(jp,{className:"w-4 h-4 text-blue-mid"}),n.jsx("span",{className:"text-foreground text-sm font-medium",children:e})]},e))})]}),n.jsx("div",{className:"space-y-8",children:iD.map(e=>n.jsxs("div",{className:"bg-card rounded-2xl border border-border overflow-hidden",children:[n.jsxs("div",{className:"flex items-center gap-4 bg-navy-deep p-5",children:[n.jsx("span",{className:"flex-shrink-0 w-10 h-10 rounded-full bg-blue-mid text-primary-foreground font-bold flex items-center justify-center",children:e.number}),n.jsx("h3",{className:"text-lg font-bold text-primary-foreground",children:e.title})]}),n.jsxs("div",{className:"p-6",children:[n.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:e.description}),n.jsx("ul",{className:"space-y-2",children:e.tasks.map(t=>n.jsxs("li",{className:"flex items-start gap-2",children:[n.jsx(br,{className:"w-4 h-4 text-blue-mid flex-shrink-0 mt-1"}),n.jsx("span",{className:"text-foreground text-sm",children:t})]},t))})]})]},e.number))})]})})}),n.jsx("section",{className:"bg-navy-deep py-16",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 text-center",children:[n.jsx("h2",{className:"text-3xl font-extrabold text-primary-foreground mb-4",children:"Ready to Use This Resource?"}),n.jsx("p",{className:"text-blue-ice/80 max-w-xl mx-auto mb-8",children:"Download the full lesson plan and explore data privacy, GDPR, and digital identity with your students."}),n.jsxs("div",{className:"flex flex-wrap justify-center gap-4",children:[n.jsx(L,{variant:"hero",size:"lg",asChild:!0,children:n.jsxs("a",{href:"/documents/You-are-the-product.docx",download:!0,children:[n.jsx(qe,{className:"w-5 h-5 mr-2"})," Download Resource"]})}),n.jsx(L,{variant:"heroOutline",size:"lg",asChild:!0,children:n.jsx("a",{href:"/teachers",children:"Back to All Units"})})]})]})}),n.jsx(ae,{})]}),lD=[{title:"Cryptologist",description:"Implement and build secure encryption mechanisms, analyse existing systems and determine vulnerabilities."},{title:"Network Security Specialist",description:"Build and configure secure networking infrastru
491cture such as firewalls, VPNs, and access controls."},{title:"Penetration Tester",description:"Commissioned by organisations to find security weaknesses — also known as 'ethical hackers'."},{title:"Secure Application Developer",description:"Build secure websites and applications, ensuring secure authentication and data transfer."},{title:"Digital Forensics Specialist",description:"Recover information from computers and storage devices, assisting law enforcement with cybercrimes."},{title:"Compliance & Regulation Officer",description:"Ensure organisations adhere to private and government regulations such as GDPR."}],cD=["Solo career hacker","Organised hacker group","Script Kiddies","Hacktivist","Nation State Actors","Insider Threat"],dD=[{number:1,title:"Careers in Cyber Security & The CIA Triad",icon:jp,description:"Students match cyber security job titles to descriptions, then explore the CIA Triad (Confidentiality, Integrity, Availability) as the foundation of data security.",tasks:["Mix and Match: Match 6 cyber security job titles to their descriptions","Group work: Discuss why Confidentiality, Integrity, and Availability are important for data security","Each group member researches one element of the CIA Triad using Fortinet, TechTarget, or BMC","Share answers, identify strengths, and create a class-wide CIA Triad with post-it notes"]},{number:2,title:"What is a Hacker?",icon:xt,description:"Students watch 'The Secret Life of a Hacker' and explore the differences between Black Hat, Grey Hat, and White Hat hackers through group investigation.",tasks:["Watch 'The Secret Life of a Hacker' — how is hacking compared at the start vs end?","Can you think of a time you may have acted as a hacker?","Identify three ways hackers use the CIA Triad","Group investigation: Each person researches one hat colour — motivations, who gains, who loses","Complete a Venn diagram showing similarities and differences between hacker types"]},{number:3,title:"Hackers: The Internet's Immune System",icon:Go,description:"Students watch a TED Talk on hacktivism, debate whether illegal hacking actions can be justified, and set up group projects on different hacker types.",tasks:["Watch 'Hackers: the Internet's immune system' TED Talk","Debate: Are Anonymous's illegal actions justified? Where should the line be drawn?","Summarise Elazari's main points — what colour hat would you give her?","Project setup: Select a hacker type to research (Script Kiddies, Hacktivist, Nation State Actors, etc.)"]},{number:"4–5",title:"Project Development",icon:pe,description:"Groups develop their research projects on their chosen hacker type, agreeing on questions, format, and sources.",tasks:["Agree on research questions and headings for your hacker type","Find three sources of information","Develop presentation in chosen format"]},{number:"6–7",title:"Project Presentations",icon:Qe,description:"Groups present their completed projects to the class, comparing different types of hackers and their impact.",tasks:["Present projects to the class","Compare different hacker types across presentations","Discuss ethical implications and real-world impact"]},{number:8,title:"Reflection & Career Planning",icon:Sp,description:"Students reflect on what they've learned and explore a specific cyber security career path, from qualifications to real companies in Ireland.",tasks:["Identify a job in data security that appeals to you — why?","What skills does it involve? What Leaving Certificate subjects develop these skills?","Identify companies or groups you could work for in Ireland","Find someone who works in this role in one of these companies","What qualifications might you need? Design a job advertisement for this role"]}],uD=()=>n.jsxs("div",{className:"min-h-screen",children:[n.jsx(se,{}),n.jsxs("section",{className:"bg-navy-deep py-16 lg:py-24 relative overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_top_right,_hsl(var(--blue-mid)/0.15)_0%,_transparent_60%)]"}),n.jsx("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:n.jsxs("div",{className:"text-center max-w-3xl mx-auto",children:[n.jsx("span",{className:"text-blue-sky font-bold text-sm uppercase tracking-widest",children:"Unit of Learning"}),n.jsx("h1",{className:"text-4xl md:text-5xl font-extrabold text-primary-foreground mt-3 mb-6",children:"Black Hats & White Hats — Careers in Cyber Security"}),n.jsx("p",{className:"text-blue-ice/80 text-lg leading-relaxed max-w-2xl mx-auto mb-8",children:"Students discover the good, the bad, and the ugly in the world of cyber security. They examine the tenets of data security, ethical and moral dilemmas associated with hacking, and explore real career paths."}),n.jsx(L,{variant:"hero",size:"lg",asChild:!0,children:n.jsxs("a",{href:"/documents/Black-Hats-White-Hats-Careers.pdf",download:!0,children:[n.jsx(qe,{className:"w-5 h-5 mr-2"})," Download Resource"]})})]})})]}),n.jsx("section",{className:"bg-blue-ice py-16 lg:py-24",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsxs("div",{className:"max-w-4xl mx-auto",children:[n.jsx("div",{className:"grid sm:grid-cols-3 gap-6 mb-16",children:[{label:"8 Lessons",sub:"Comprehensive unit"},{label:"CIA Triad",sub:"Core security framework"},{label:"Career Focus",sub:"Real-world pathways"}].map(e=>n.jsxs("div",{className:"bg-card rounded-2xl p-6 text-center border border-border",children:[n.jsx("h3",{className:"text-2xl font-extrabold text-foreground",children:e.label}),n.jsx("p",{className:"text-muted-foreground text-sm mt-1",children:e.sub})]},e.label))}),n.jsxs("div",{className:"bg-navy-deep rounded-2xl p-6 lg:p-8 mb-10",children:[n.jsx("h3",{className:"text-lg font-bold text-primary-foreground mb-4",children:"Cyber Security Careers Explored"}),n.jsx("div",{className:"grid sm:grid-cols-2 gap-3",children:lD.map(e=>
491n.jsxs("div",{className:"bg-primary-foreground/5 rounded-xl p-4",children:[n.jsx("h4",{className:"font-bold text-primary-foreground text-sm mb-1",children:e.title}),n.jsx("p",{className:"text-blue-ice/70 text-xs leading-relaxed",children:e.description})]},e.title))})]}),n.jsxs("div",{className:"bg-card rounded-2xl p-6 lg:p-8 border border-border mb-16",children:[n.jsx("h3",{className:"text-lg font-bold text-foreground mb-4",children:"Hacker Types Investigated"}),n.jsx("div",{className:"flex flex-wrap gap-2",children:cD.map(e=>n.jsx("span",{className:"px-3 py-1.5 rounded-full bg-blue-ice text-foreground text-sm font-semibold border border-border",children:e},e))})]}),n.jsx("div",{className:"space-y-8",children:dD.map(e=>n.jsxs("div",{className:"bg-card rounded-2xl border border-border overflow-hidden",children:[n.jsxs("div",{className:"flex items-center gap-4 bg-navy-deep p-5",children:[n.jsx("span",{className:"flex-shrink-0 w-10 h-10 rounded-full bg-blue-mid text-primary-foreground font-bold flex items-center justify-center text-sm",children:e.number}),n.jsx("h3",{className:"text-lg font-bold text-primary-foreground",children:e.title})]}),n.jsxs("div",{className:"p-6",children:[n.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:e.description}),n.jsx("ul",{className:"space-y-2",children:e.tasks.map(t=>n.jsxs("li",{className:"flex items-start gap-2",children:[n.jsx(br,{className:"w-4 h-4 text-blue-mid flex-shrink-0 mt-1"}),n.jsx("span",{className:"text-foreground text-sm",children:t})]},t))})]})]},e.number))})]})})}),n.jsx("section",{className:"bg-navy-deep py-16",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 text-center",children:[n.jsx("h2",{className:"text-3xl font-extrabold text-primary-foreground mb-4",children:"Ready to Use This Resource?"}),n.jsx("p",{className:"text-blue-ice/80 max-w-xl mx-auto mb-8",children:"Download the full lesson plan and explore cyber security careers with your students."}),n.jsxs("div",{className:"flex flex-wrap justify-center gap-4",children:[n.jsx(L,{variant:"hero",size:"lg",asChild:!0,children:n.jsxs("a",{href:"/documents/Black-Hats-White-Hats-Careers.pdf",download:!0,children:[n.jsx(qe,{className:"w-5 h-5 mr-2"})," Download Resource"]})}),n.jsx(L,{variant:"heroOutline",size:"lg",asChild:!0,children:n.jsx("a",{href:"/teachers",children:"Back to All Units"})})]})]})}),n.jsx(ae,{})]}),hD=[{award:"Adventures in Cyberland 2025 Overall Winner & Creativity and Innovation Award",title:"Dr Antsvi's Introduction to Malware",school:"Deansrath Community College",students:"Emily Pesak, George John Hurst, Piotr Zawierta, Ciara Minnock",teacher:"Ms Elkhawad",year:"5th Year",presentedBy:"Deborah White, Industry Skills Coordinator, Cyber Ireland",description:"An innovative and creative exploration of malware concepts, bringing cybersecurity education to life through engaging storytelling and interactive elements.",projectLink:"https://www.youtube.com/watch?v=g-QfHujoFs0"},{award:"Adventures in Cyberland 2025 Junior Overall Winner & Cybersecurity Awareness Raising Award – Data Management",title:"Your Digital Shadow",school:"Tallaght Community School",students:"Abiba Coulibaly",teacher:"Ms Doyle",year:"3rd Year",presentedBy:"Alicja Bobek, National Cyber Security Centre (NCSC)",description:"A compelling exploration of how our digital footprints follow us online, raising awareness about data management and the importance of protecting personal information.",projectLink:"https://www.youtube.com/watch?v=bTkGrL9zBCw"}],mD=[{award:"1st Place – 5th Year",title:"Hackopoly!",school:"Tullamore College",students:"Clíona Keating",teacher:"Mr Lowndes",year:"5th Year",presentedBy:"Declan Qualter, UCD School of Education",projectLink:"https://drive.google.com/file/d/1svcgSLLzqCzSGXOf0QToIaaO_KUZPLLm/view"},{award:"1st Place – Transition Year",title:"How Quantum Computing is a Threat to Cybersecurity!",school:"Tullamore College",students:"Nicole Geoghegan, Alison Judge, Casey Chen, Eliza Wlodarczyk",teacher:"Mr Lowndes",year:"Transition Year",presentedBy:"Huala Galadima, UCD School of Computer Science & ADAPT",projectLink:"https://drive.google.com/file/d/1H4MtclLu0DpPLXxMnGNmj1Lq7xdNSf4K/view"},{award:"Runner Up – Transition Year",title:"How Quantum Computing is a Threat to Cybersecurity!",school:"Coláiste Naomh Cormac",
491students:"Brian Leonard, Jamie Lambe, Donal Lawlor, Michael Claffey",teacher:"Mr Meehan",year:"Transition Year",presentedBy:"Huala Galadima, UCD School of Computer Science & ADAPT"},{award:"Runner Up – Transition Year",title:"Cyber Conflicts Without Borders",school:"Cistercian College, Roscrea",students:"Nathan Chan, Patrik Grace, Javier Benjumea, Gonzalo Sanchez",teacher:"Ms Hynes",year:"Transition Year",presentedBy:"",projectLink:"https://drive.google.com/file/d/1w3Yp-bpCPstNy1ulZt6Wru4_Z_Zwt28J/view"},{award:"Runner Up – Transition Year",title:"The Deepfake Dilemma",school:"Swords Community College",students:"Samuel Gormley, Samuel O'Leary, Sam Gibson, Lasairfhíona Duffy",teacher:"Mr Weldon",year:"Transition Year",presentedBy:"Huala Galadima, UCD School of Computer Science & ADAPT",projectLink:"https://www.youtube.com/watch?v=v_jYfBrtrRI"},{award:"Runner Up – Transition Year",title:"The Deepfake Dilemma",school:"Swords Community College",students:"Sam Gibson",teacher:"Mr Weldon",year:"Transition Year",presentedBy:"Huala Galadima, UCD School of Computer Science & ADAPT",projectLink:"https://drive.google.com/file/d/1O3sU4HeEGGzLAVF9lQtwpCaXGdJE7O5J/view"},{award:"1st Place – 3rd Year",title:"How AI Agents Can Have Advantages and Disadvantages in Cybersecurity",school:"Woodbrook College",students:"William Cordner, Julian Codamon, Tyler Walsh, Justin Kelly",teacher:"Mr O'Donnell",year:"3rd Year",presentedBy:"Olivia Waters, ADAPT",projectLink:"https://www.youtube.com/watch?v=UU9a_dkVTBg"},{award:"Runner Up – 3rd Year",title:"AI Powered Attacks",school:"Woodbrook College",students:"Anna Ursu, Julia Stasiak, Poppy Nolan, Lucy McDonagh",teacher:"Mr O'Donnell",year:"3rd Year",presentedBy:"Gerry Kelly, Creative Hut – First Lego League"},{award:"1st Place – 2nd Year",title:"Data Nations",school:"Greystones Community College",students:"Ciarán Finn, Olivier Matenko, Nathan Cranley, Luke Duignam, Ihor Pinas, Donncha Comerford",teacher:"Mr Flood",year:"2nd Year",presentedBy:"Dean Hodge, STEM Engagement Officer, Offaly County Council",projectLink:"https://drive.google.com/file/d/1t9rADNoUYsYIp0SNV3B5E5X9QoaGOGvx/view"},{award:"Runner Up – 2nd Year",title:"Cyber Rush: Trivia and More!",school:"Greystones Community College",students:"Auden Ryan Dockrill, Alessia Di Ruzza, Farrah Creavin, Sakura Kelly, Liloux Smith",teacher:"Mr Flood",year:"2nd Year",presentedBy:"Declan Qualter, UCD School of Education",projectLink:"https://drive.google.com/file/d/1zgH01ICtXwom7zfYLwE5AnqIR-U6rkB0/view"},{award:"1st Place – 1st Year",title:"Malware Mayhem",school:"Greystones Community College",students:"Sam Ffrench Mullen, Tymon Chowanski, Jackson Doyle, Ben Hayes, Yousef Meatermawi",teacher:"Mr Flood",year:"1st Year",presentedBy:"Declan Qualter, UCD School of Education",projectLink:"https://drive.google.com/file/d/1V9G0AqLmWOo2kVC5fthGj897-VBzAmJc/view"},{award:"Runner Up – 1st Year",title:"Generated",school:"Greystones Community College",students:"Sarah Heffernan, Arina Gudumac, Aimee Owens",teacher:"Mr Flood",year:"1st Year",presentedBy:"Karen Maye, UCD School of Education",projectLink:"https://drive.google.com/file/d/1zPbvcjGBVYtU50Hm4C0i6GujKxImuHL3/view"}],pD=[{award:"Block W Award for Excellence and Innovation",title:"The Lack of Cybersecurity Among Teenagers",school:"Woodbrook College",students:"Destiny Ofuonyemegi, Trudy Devoy, Siofra Keogh, Sophie Lynch",teacher:"Mr O'Donnell",year:"3rd Year",presentedBy:"Professor Joyce O'Connor, Chair and Co-Founder of Block W",description:"An insightful exploration of cybersecurity gaps among teenagers, highlighting vulnerabilities and proposing practical awareness solutions.",projectLink:"https://www.youtube.com/watch?v=9XXrPWBxGrU"},{award:"Cybersecurity Educational Game Award",title:"Scam: A Card Matching Game",school:"Greystones Community College",students:"Donnchadh Eager O'Brien, Leonardo O'Sullivan, Tyler Ferguson, Edgar (Ned) Withers Hanrahan, Tadgh Vines, Joshua Taglienti",teacher:"Mr Flood",year:"2nd Year",presentedBy:"Patrick Coffey, Scoilnet",description:"An engaging card matching game that teaches players to identify and respond to common online scams.",projectLink:"https://interacty.me/projects/5a8f5739aac3529e"},{award:"Cybersecurity Collaboration Award",title:"Staying Informed and Safe When Using Cybersecurity!",school:"St Mark's Community School",students:"Jessica Roache, Richard Mckeever-Burke, Maurice James Keogh",teacher:"Mr Donohue",year:"3rd Year",presentedBy:"Sudha Alagappan, Founder & CEO of NeuralBI Ltd.",description:"A collaborative project focused on helping people stay informed and safe in the digital world.",projectLink:"https://drive.google.com/file/d/1fsXdyXWO8MXtS5UJmnE9PGEAE_psKJmb/view"},{award:"Global Issues in Cybersecurity Award",title:"Leaking Secrets in the Digital Battlefield: How War Thunder Hackers Highlighted Weaknesses and Vulnerabilities in Government Cybersecurity",school:"Woodbrook College",students:"Eoghan Clifford, Rafaelle Formaro, Niall Hayden, Hubert Momot",teacher:"Mr O'Donnell",year:"3rd Year",presentedBy:"Professor Joe Carthy, UCD School of Computer Science",description:"An investigation into how War Thunder game hackers inadvertently exposed weaknesses in government cybersecurity systems."},{award:"Cybersecurity and the Irish Context Award",title:"Vox Pop – Cybersecurity in Online Shopping and Banking",school:"Woodbrook College",students:"Elizabeth Riblova, Evelina Borta, Luiza Selimitanu, Mihaela Suiu",teacher:"Mr O'Donnell",year:"3rd Year",presentedBy:"Professor Aphra Kerr, UCD School of Information and Communication Studies",description:"A vox pop style investigation into public awareness of cybersecurity in online shopping and banking."},{award:"Cybersecurity in Farming Award",title:"Cybersecurity and Farming",sc
491hool:"Tullamore College",students:"Joshua Dunne",teacher:"Mr Lowndes, Ms Mahon",year:"3rd Year",presentedBy:"Declan Qualter, UCD School of Education",description:"Exploring the intersection of cybersecurity and agriculture, highlighting digital threats facing the farming sector.",projectLink:"https://drive.google.com/file/d/1vdD4uvfpY9b4SAvgwUX-FQGgpeNcPLy1/view"},{award:"Best Use of Data in Cybersecurity Award",title:"Awareness Online: Students Securing Their Digital World",school:"Greystones Community College",students:"Lily Quaid, Aifric Smyth, Katelynn Demery, Eilís McGonigle, Lexi Barlow, Lottie Carey",teacher:"Mr Flood",year:"2nd Year",presentedBy:"Ken Kennedy, Central Statistics Office (CSO)",description:"A data-driven project empowering students to secure their digital lives through awareness and practical guidance.",projectLink:"https://drive.google.com/file/d/1yEFcGs6psczfG6eOaM0yU9JkQOS9D_dr/view"},{award:"Cybersecurity Awareness Raising Award – AI Technologies",title:"Cybersecurity and Artificial Intelligence – Global Challenges and Opportunities",school:"Tullamore College",students:"Eva Lowndes, Eloise Kamalandua, Conor Lynch",teacher:"Mr Lowndes",year:"Transition Year",presentedBy:"Darragh McSweeney, National Cyber Security Centre (NCSC)",description:"Exploring the global challenges and opportunities presented by AI in the cybersecurity landscape.",projectLink:"https://drive.google.com/file/d/1axUMrN4UFoQv79rGE_lv-AuiQUYZY5uc/view"},{award:"Cybersecurity Awareness Raising Award – Policy",title:"Chat Control",school:"Tullamore College",students:"Aaron Mooney, Rory Gill",teacher:"Mr Lowndes",year:"Transition Year",presentedBy:"Alicja Bobek, National Cyber Security Centre (NCSC)",description:"A critical examination of chat control policies and their implications for privacy and cybersecurity.",projectLink:"https://drive.google.com/file/d/1u0aw4VNX7iMj-JGVt2b1PPO8cFuo6-t-/view"},{award:"Cybersecurity Awareness Raising Award – Data Management",title:"Your Digital Shadow",school:"Tallaght Community School",students:"Abiba Coulibaly",teacher:"Ms Doyle",year:"3rd Year",presentedBy:"Alicja Bobek, National Cyber Security Centre (NCSC)",description:"A compelling exploration of digital footprints and data management awareness.",projectLink:"https://www.youtube.com/watch?v=bTkGrL9zBCw"}],Qx=[{title:"Malware Mayhem",yearGroup:"1st Year",school:"Greystones Community College",students:"Sam Ffrench Mullen, Tymon Chowanski, Jackson Doyle, Ben Hayes, Yousef Meatermawi",teacher:"Mr Flood",medal:"gold"},{title:"Catfish?",yearGroup:"1st Year",school:"Greystones Community College",students:"Freyja Mahler, Honour Cassidy Canavan, Hazel Grennan, Ailbhe O'Connor Azpiazu, Zaara Boufarsse, Amelia Emma Kolodzinska",teacher:"Mr Flood",medal:"gold"},{title:"Cyber Bullying",yearGroup:"1st Year",school:"Greystones Community College",students:"Kate Quinn, Jessica Tierney, Callum Lappin Farrell, Charlotte Cosgrave",teacher:"Mr Hughes",medal:"gold"},{title:"Glitch Edge",yearGroup:"1st Year",school:"Greystones Community College",students:"Naoise McGonigle, Ruairí O'Hanlon, Tom Abraham, Ben Craig, Cory Mellors, Leon Ruth",teacher:"Mr Hughes",medal:"gold"},{title:"Scammers and Scams",yearGroup:"1st Year",school:"Greystones Community College",students:"Adam Dobrzanski, William Walsh, Bohdan Mospan",teacher:"Mr Hughes",medal:"gold"},{title:"History of Cybersecurity",yearGroup:"1st Year",school:"Greystones Community College",students:"Charlie Downey, Kieran Uhlemann, Harry Byrne",teacher:"Mr Flood",medal:"gold"},{title:"Generated",yearGroup:"1st Year",school:"Greystones Community College",students:"Sarah Heffernan, Arina Gudumac, Aimee Owens",teacher:"Mr Flood",medal:"gold"},{title:"Scam or Not?",yearGroup:"1st Year",school:"Greystones Community College",students:"Eoghan Ryan, Oscar O'Connor, Ollie Byrne, Nathan Mulligan, Aron Redden, Sé Mooney",teacher:"Mr Flood",medal:"gold"},{title:"Hacked!",yearGroup:"2nd Year",school:"Greystones Community College",students:"Roza Kedziora, Evie Burns, Mila Dowling, Sophia Hayden",teacher:"Ms Birro",medal:"gold"},{title:"Scam: A Card Matching Game",yearGroup:"2nd Year",school:"Greystones Community College",students:"Donnchadh Eager O'Brien, Leonardo O'Sullivan, Tyler Ferguson, Edgar (Ned) Withers Hanrahan, Tadgh Vines, Joshua Taglienti",teacher:"Mr Flood",medal:"gold"},{title:"Phishing Awareness",yearGroup:"2nd Year",school:"Greystones Community College",students:"Oscar Walker, Harry Greenan, Milo Durnin, Karlos McGarrity",teacher:"Mr Flood",medal:"gold"},{title:"Cyber Rush: Trivia and More!",yearGroup:"2nd Year",school:"Greystones Community College",students:"Auden Ryan Dockrill, Alessia Di Ruzza, Farrah Creavin, Sakura Kelly, Liloux Smith",teacher:"Mr Flood",medal:"gold"},{title:"Data Nations",yearGroup:"2nd Year",school:"Greystones Community College",students:"Ciarán Finn, Olivier Matenko, Nathan Cranley, Luke Duignam, Ihor Pinas, Donncha Comerford",teacher:"Mr Flood",medal:"gold"},{title:"Awareness Online: Students Securing Their Digital World",yearGroup:"2nd Year",school:"Greystones Community College",students:"Lily Quaid, Aifric Smyth, Katelynn Demery, Eilís McGonigle, Lexi Barlow, Lottie Carey",teacher:"Mr Flood",medal:"gold"},{title:"Cyba-game!",yearGroup:"2nd Year",school:"Greystones Community College",students:"Ashid-Erdene Chuluunbaatar, Max Petit, Rafael Bacaoanu",teacher:"Mr Flood",medal:"gold"},{title:"Put a Pin in It!",yearGroup:"2nd Year",school:"Greystones Community College",students:"Amelie Langrell, Kamile Galkute, Sofia Cicchianni, Sofia Meaney",teacher:"Mr Flood",medal:"gold"},{title:"Awareness Online: Hackers and Scammers",yearGroup:"2nd Year",school:"Greystones Community College",students:"Joao Satto, Vlad Alupoaie, Oscar Joyce, Conor O'Neill",teacher:"Ms Birro",medal:"gold"},{title:"Cybersecurity and Farming",yearGroup:"3rd Year",school:"Tullamore College",students:"Joshua Dunne",teacher:"Mr Lowndes, Ms Mahon",medal:"gold"},{title:"AI Powered Attacks",yearGroup:"3rd Year",school:"Woodbrook College",students:"Anna Ursu, Julia Stasiak, Poppy Nolan, Lucy McDonagh",teacher:"Mr O'Donnell",medal:"gold"},{title:"The Lack of Cybersecurity Among Teenagers",yearGroup:"3rd Year",school:"Woodbrook College",students:"Destiny Ofuonyemegi, Trudy Devoy, Siofra Keogh, Sophie Lynch",teacher:"Mr O'Donnell",medal:"gold"},{title:"Vox Pop - Cybersecurity in Online Shopping and Banking",yearGroup:"3rd Year",school:"Woodbrook College",students:"Elizabeth Riblova, Evelina Borta, Luiza Selimitanu, Mihaela Suiu",teacher:"Mr O'Donnell",medal:"gold"},{title:"Leaking Secrets in the Digital Battlefield",yearGroup:"3rd Year",school:"Woodbrook College",students:"Eoghan Clifford, Rafaelle Formaro, Niall Hayden, Hubert Momot",teacher:"Mr O'Donnell",medal:"gold"},{title:"Digital Weapons and Cyberwarfare",yearGroup:"3rd Year",school:"Woodbrook College",students:"Remi Strack, Jasmin Lily Coogan Moorhouse, Maja Bessler",teacher:"Mr O'Donnell",medal:"gold"},{title:"How AI Agents Can Have Advantages and Disadvantages in Cybersecurity",yearGroup:"3rd Year",school:"Woodbrook College",students:"William Cordner, Julian Codamon, Tyler Walsh, Justin Kelly",teacher:"Mr O'Donnell",medal:"gold"},{title:"Your Digital Shadow",yearGroup:"3rd Year",school:"Tallaght Community School",students:"Abiba Coulibaly",teacher:"Ms Doyle",medal:"gold"},{title:"Staying Informed and Safe When Using Cybersecurity!",yearGroup:"3rd Year",school:"St Mark's Community School",students:"Jessica Roache, Richard Mckeever-Burke, Maurice James Keogh",teacher:"Mr Donohue",medal:"gold"},{title:"Cyber-Safety Heros",yearGroup:"3rd Year",school:"Killarney Community College",students:"Ramana Alagappan",teacher:"Ms Healy",medal:"gold"}
491,{title:"How is the Spread of AI Influencing Cybersecurity?",yearGroup:"Transition Year",school:"St Joseph's College, Borrisoleigh",students:"Leah Collins",teacher:"Ms Gorey",medal:"gold"},{title:"How Quantum Computing is a Threat to Cybersecurity",yearGroup:"Transition Year",school:"Tullamore College",students:"Nicole Geoghegan, Alison Judge, Casey Chen, Eliza Wlodarczyk",teacher:"Mr Lowndes",medal:"gold"},{title:"Cybersecurity and Artificial Intelligence - Global Challenges and Opportunities",yearGroup:"Transition Year",school:"Tullamore College",students:"Eva Lowndes, Eloise Kamalandua, Conor Lynch",teacher:"Mr Lowndes",medal:"gold"},{title:"Chat Control",yearGroup:"Transition Year",school:"Tullamore College",students:"Aaron Mooney, Rory Gill",teacher:"Mr Lowndes",medal:"gold"},{title:"Binary Plague: Computer Malware",yearGroup:"Transition Year",school:"Tullamore College",students:"Michael Gal",teacher:"Mr Lowndes",medal:"gold"},{title:"Biggest Cybersecurity Scares: What Were They? What Did They Do? What Has Been Done to Prevent Similar Issues?",yearGroup:"Transition Year",school:"Tullamore College",students:"David Korowitz",teacher:"Mr Lowndes",medal:"gold"},{title:"Cybercrimes and Arms Dealing",yearGroup:"Transition Year",school:"Tullamore College",students:"Cillian Henchy, Arran Ryan, Ronan Heffernan, Sean Ryan",teacher:"Mr Lowndes",medal:"gold"},{title:"Cyber Conflicts Without Borders",yearGroup:"Transition Year",school:"Tullamore College",students:"Nathan Chan, Patrik Grace, Javier Benjumea, Gonzalo Sanchez",teacher:"Mr Lowndes",medal:"gold"},{title:"The Deepfake Dilemma",yearGroup:"Transition Year",school:"Swords Community College",students:"Samuel Gormley, Samuel O'Leary, Sam Gibson, Lasairfhíona Duffy",teacher:"Mr Weldon",medal:"gold"},{title:"Dr Antsvi's Introduction to Malware",yearGroup:"5th Year",school:"Deansrath Community College",students:"Emily Pesak, George John Hurst, Piotr Zawierta, Ciara Minnock",teacher:"Ms Elkhawad",medal:"gold"},{title:"Hackopoly!",yearGroup:"5th Year",school:"Tullamore College",students:"Clíona Keating",teacher:"Mr Lowndes",medal:"gold"}],Xx=[{title:"Cybersecurity Game",yearGroup:"1st Year",school:"Greystones Community College",students:"Nada Helmy, Dhyana Kansagra, Mia Perry, Zoe Johnson Busto, Calla Wielopolski, Julia Kelly",teacher:"Mr Hughes",medal:"silver"},{title:"Ways to Prevent Cyberbullying",yearGroup:"1st Year",school:"Greystones Community College",students:"Mieke Luttig, Florence O'Doherty",teacher:"Mr Hughes",medal:"silver"},{title:"Cyber safety",yearGroup:"1st Year",school:"Greystones Community College",students:"Bo van Sleeuwen Fingleton, Connor Gill, Rory Mclarnon, Theo O'Sullivan",teacher:"Mr Hughes",medal:"silver"},{title:"Cybersecurity",yearGroup:"1st Year",school:"Tullamore College",students:"Sophie Stapleton",teacher:"Mr Lowndes",medal:"silver"},{title:"History of Cybersecurity",yearGroup:"2nd Year",school:"Greystones Community College",students:"Adam Crowley, Yash Abraham, Arieh Murray, Hector Palomar",teacher:"Mr Flood",medal:"silver"},{title:"The Cyber Game of Life",yearGroup:"2nd Year",school:"Greystones Community College",students:"Muireann Ward, Anabel Prendergast, Lucy Russel, Doireann Shaw",teacher:"Mr Flood",medal:"silver"},{title:"AI Images: Which is Real?",yearGroup:"2nd Year",school:"Greystones Community College",students:"Melisa Alisauskaite, Nicola Bell, Sebastian Wright, Victoria Galewska, Rishon Nunes",teacher:"Mr Flood",medal:"silver"},{title:"Cybersecurity Artificial Intelligence",yearGroup:"2nd Year",school:"Greystones Community College",students:"Teegan McGillon Kidd, Kate Kavanagh Lord, Caelyn Aylward Flynn, Lottie Thompson",teacher:"Ms Birro",medal:"silver"},{title:"Cybersecurity",yearGroup:"2nd Year",school:"Tullamore College",students:"Daniela Serhila",teacher:"Mr Lowndes, Ms Mahon",medal:"silver"},{title:"Blagging, Shouldering and Phishing",yearGroup:"2nd Year",school:"Tullamore College",students:"Kayla McCaffrey",teacher:"Mr Lowndes, Ms Mahon",medal:"silver"},{title:"Cyber-Attacks and Global Justice",yearGroup:"3rd Year",school:"Greystones Community College",students:"Holly Waters, Vivien Katona, Emma McKeown",teacher:"Mr Hughes",medal:"silver"},{title:"Hackers vs Helpers",yearGroup:"3rd Year",school:"Greystones Community College",students:"Shannon McCormack, Aoife Heffernan, Aoife Mahony, Maddison Roche, Kate Darcy",teacher:"Mr Hughes",medal:"silver"},{title:"Cybersecurity: A Study of Ryan Montgomery",yearGroup:"2nd Year",school:"Tullamore College",students:"Jack Gilligan",teacher:"Mr Lowndes, Ms Mahon",medal:"silver"},{title:"Social Engineering",yearGroup:"2nd Year",school:"Tullamore College",students:"Aida Januskeviciute",teacher:"Mr Lowndes, Ms Mahon",medal:"silver"},{title:"Flipper Zero",yearGroup:"2nd Year",school:"Tullamore College",students:"Arnoldas Gustas",teacher:"Mr Lowndes, Ms Mahon",medal:"silver"},{title:"Fundamentals of Cybersecurity",yearGroup:"3rd Year",school:"Tullamore College",students:"Liam Gavin",teacher:"Mr Lowndes, Ms Mahon",medal:"silver"},{title:"Global Opportunities and Challenges in Cybersecurity",yearGroup:"Transition Year",school:"Cistercian College, Roscrea",students:"John Cahalan, Tomas Gillman, Conor O'Brien, Keelan Walsh",teacher:"Ms Hynes",medal:"silver"},{title:"The Importance of Cybersecurity Globally",yearGroup:"Transition Year",school:"Cistercian College, Roscrea",students:"Donal Ryan, Ryan Feeley, Sean O'Brien, Aaron Wallace",teacher:"Ms Hynes",medal:"silver"},{title:"The Impact of Cybersecurity on Business and Innovation",yearGroup:"Transition Year",school:"Cistercian College, Roscrea",students:"Danny Powell, Marcus Finn",teacher:"Ms Hynes",medal:"silver"},{title:"A Guide to Cybersecurity",yearGroup:"Transition Year",school:"St Joseph's College, Borrisoleigh",students:"Oisin Haverty",teacher:"Ms Gorey",medal:"silver"},{title:"Cybersecurity",yearGroup:"Transition Year",school:"St Joseph's College, Borrisoleigh",students:"Ava Fanning, Tara Maher, Míoda O'Shea, Éibhlín O'Brien, Keelan Chute",teacher:"Ms Gorey",medal:"silver"},{title:"Cybersecurity Awareness",yearGroup:"Transition Year",school:"St Joseph's College, Borrisoleigh",students:"Zeline Pataki, Dayle O'Dwyer",teacher:"Ms Gorey",medal:"silver"},{title:"Cybersecurity in Media and Technology",yearGroup:"Transition Year",school:"St Joseph's College, Borrisoleigh",students:"Alannah O'Dwyer",teacher:"Ms Gorey",medal:"silver"},{title:"Social Engineering - Cybersecurity",yearGroup:"Transition Year",school:"St Joseph's College, Borrisoleigh",students:"Marese Bourke Darcy, Ronan Murray",teacher:"Ms Gorey",medal:"silver"},{title:"Cybersecurity",yearGroup:"Transition Year",school:"St Joseph's College, Borrisoleigh",students:"Isabel Treacy",teacher:"Ms Gorey",medal:"silver"},{title:"AI in Cybersecurity",yearGroup:"Transition Year",school:"St Joseph's College, Borrisoleigh",students:"Eva Hogan and Amy Vahey",teacher:"Ms Gorey",medal:"silver"},{title:"What is Cybersecurity?",yearGroup:"Transition Year",school:"St Joseph's College, Borrisoleigh",students:"Tom Lavin, Abigail Heavin, Conor Tierney",teacher:"Ms Gorey",medal:"silver"},{title:"Cybersecurity",yearGroup:"Transition Year",school:"St Joseph's College, Borrisoleigh",students:"Mark Mulligan Hoare, Dylan Ryan, Pual Kinnane",teacher:"Ms Gorey",medal:"silver"},{title:"The Dangers of AI",yearGroup:"Transition Year",school:"Tullamore College",students:"Rachel Berry",teacher:"Mr Lowndes",medal:"silver"},{title:"AI: The Good, the Bad and Everything in Between",yearGroup:"Transition Year",school:"Tullamore College",students:"Clodagh Scally",teacher:"Mr Lowndes",medal:"silver"}],hm="/assets/awards2025-data-management-HG7ooLKY.jpg",fD="/assets/awards2025-block-w-C_c5bvuB.jpg",gD="/assets/awards2025-ed-game-CpoOBkqd.jpg",xD="/assets/awards2025-collaboration-BX4s9KZT.jpg",yD="/assets/awards2025-global-issues-DAimKzLA.jpg",bD="/assets/awards2025-irish-context-D_cWwwRN.jpg",vD="/assets/awards2025-farming-DiRcfbjO.jpg",wD="/assets/awards2025-shopping-banking-Dnu7xLeY.jpg",jD="/assets/awards2025-year-group-1st-C8PE9Owq.jpg",ND="/assets/awards2025-5th-hackopoly-Bv5h9FDN.jpg",Zx="/assets/awards2025-5th-malware-overall-k7eO09Io.jpg",kD="/assets/awards2025-ty-quantum-BUYJCTq9.png",CD="/assets/awards2025-3rd-ai-agents-gG3OSaLi.jpg",SD="/assets/awards2025-ty-deepfake-group-Ct2lKyt0.jpg",ED="/assets/awards2025-ty-conflicts-DNNYj-ad.jpg",_D="/assets/awards2025-ty-quantum-2-t4yjpJeb.png",TD="/assets/awards2025-1st-generated-CefngXod.jpg",AD="/assets/awards2025-2nd-data-nations-gMnGWyQY.png",PD="/assets/awards2025-2nd-cyber-rush-CHbSedr_.jpg",RD="/assets/awards2025-1st-malware-D5j8u2TY.png",DD={"Block W Award for Excellence and Innovation":fD,"Cybersecurity Educational Game Award":gD,"Cybersecurity Collaboration Award":xD,"Global Issues in Cybersecurity Award":yD,"Cybersecurity and the Irish Context Award":bD,"Cybersecurity in Farming Award":vD,"Cybersecurity Awareness Raising Award – Data Management":hm,"Best Use of Data in Cybersecurity Award":jD,"Cybersecurity Awareness Raising Award – AI Technologies":wD},ey={"Hackopoly!":ND,"How Quantum Computing is a Threat to Cybersecurity!":kD,"Cyber Conflicts Without Borders":ED,"The Deepfake Dilemma":SD,"How AI Agents Can Have Advantages and Disadvantages in Cybersecurity":CD,"AI Powered Attacks":_D,"Data Nations":AD,"Cyber Rush: Trivia and More!":PD,"Malware Mayhem":RD,Generated:TD},ID=({winner:e,image:t})=>n.jsxs("div",{className:"rounded-2xl overflow-hidden border border-blue-mid/20 bg-navy-dark flex flex-col",children:[t?n.jsx("div",{className:"w-full h-[280px] overflow-hidden",children:n.jsx("img",{src:t,alt:e.title,className:"w-full h-full object-cover object-top",loading:"lazy"})}):n.jsx("div",{className:"w-full h-[200px] bg-[hsl(var(--navy-deep))] flex items-center justify-center",children:n.jsxs("div",{className:"text-center p-6",children:[n.jsx(Es,{className:"w-12 h-12 text-blue-sky mx-auto mb-3 opacity-40"}),n.jsx("p",{className:"text-blue-ice/40 text-sm font-medium",children:"Photo Coming Soon"})]})}),n.jsxs("div",{className:"p-6 lg:p-8 flex flex-col flex-1",children:[n.jsxs("div",{className:"flex items-start gap-3 mb-3",children:[n.jsx(Kn,{className:"w-5 h-5 text-blue-sky mt-0.5 shrink-0"}),n.jsx("span",{className:"text-blue-sky font-bold text-sm",children:e.award})]}),n.jsx("h3",{className:"text-lg font-bold text-primary-foreground mb-3 leading-snug",children:e.title}),e.description&&n.jsx("p",{className:"text-blue-ice/60 text-sm leading-relaxed mb-4",children:e.description}),n.jsxs("div",{className:"space-y-1.5 text-sm text-blue-ice/50 mt-auto",children:[n.jsxs("p",{children:[n.jsx("span",{className:"text-blue-ice/70 font-semibold",children:"Year:"})," ",e.year]}),n.jsxs("p",{children:[n.jsx("span",{className:"text-blue-ice/70 font-semibold",children:"School:"})," ",e.school]}),n.jsxs("p",{children:[n.jsx("span",{className:"text-blue-ice/70 font-semibold",children:"Student(s):"})," ",e.students]}),n.jsxs("p",{children:[n.jsx("span",{className:"text-blue-ice/70 font-semibold",children:"Teacher:"})," ",e.teacher]}),e.presentedBy&&n.jsxs("p",{children:[n.jsx("span",{className:"text-blue-ice/70 font-semibold",children:"Presented by:"})," ",e.presentedBy]})]}),e.projectLink&&n.jsx(L,{variant:"hero",size:"sm",asChild:!0,className:"w-full mt-4",children:n.jsxs("a",{href:e.projectLink,target:"_blank",rel:"noopener noreferrer",children:["View Project ",n.jsx(me,{className:"w-3 h-3 ml-1"})]})})]})]}),ty=({winners:e,type:t})=>{const[r,s]=w.useState(!1),[a,i]=w.useState(""),o=e.filter(u=>{const h=a.toLowerCase();return u.title.toLowerCase().includes(h)||u.school.toLowerCase().includes(h)||u.students.toLowerCase().includes(h)||u.yearGroup.toLowerCase().includes(h)}),l=r?o:o.slice(0,6),c=t==="gold"?"text-yellow-400":"text-gray-300",d=t==="gold"?"bg-yellow-400/10":"bg-gray-300/10";return n.jsxs("div",{children:[n.jsxs("div",{className:"relative max-w-md mx-auto mb-6",children:[n.jsx(Us,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-blue-ice/40"}),n.jsx(Ka,{placeholder:"Search by title, school, student...",value:a,onChange:u=>i(u.target.value),className:"pl-10 bg-[hsl(var(--navy-dark))] border-blue-mid/20 text-primary-foreground placeholder:text-blue-ice/40"})]}),n.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-4",children:l.map((u,h)=>n.jsxs("div",{className:"rounded-xl border border-blue-mid/20 bg-[hsl(var(--navy-dark))] p-5",children:[n.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[n.jsx(Vh,{
491className:`w-4 h-4 ${c}`}),n.jsx("span",{className:`text-xs font-bold px-2 py-0.5 rounded ${d} ${c}`,children:u.yearGroup})]}),n.jsx("h4",{className:"text-sm font-bold text-primary-foreground mb-2 leading-snug",children:u.title}),n.jsxs("div",{className:"space-y-1 text-xs text-blue-ice/50",children:[n.jsxs("p",{children:[n.jsx("span",{className:"text-blue-ice/70 font-semibold",children:"School:"})," ",u.school]}),n.jsxs("p",{children:[n.jsx("span",{className:"text-blue-ice/70 font-semibold",children:"Student(s):"})," ",u.students]}),n.jsxs("p",{children:[n.jsx("span",{className:"text-blue-ice/70 font-semibold",children:"Teacher:"})," ",u.teacher]})]})]},h))}),o.length===0&&n.jsx("p",{className:"text-center text-blue-ice/40 py-8",children:"No results found."}),o.length>6&&n.jsx("div",{className:"text-center mt-6",children:n.jsxs(L,{variant:"heroOutline",size:"sm",onClick:()=>s(!r),children:[r?"Show Less":`Show All ${o.length} Winners`,r?n.jsx(lE,{className:"w-4 h-4 ml-1"}):n.jsx(tw,{className:"w-4 h-4 ml-1"})]})})]})},OD=()=>n.jsxs("div",{className:"min-h-screen",children:[n.jsx(se,{}),n.jsxs("section",{className:"bg-navy-deep py-14 lg:py-20 relative overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_top_right,_hsl(var(--blue-mid)/_0.2)_0%,_transparent_60%)]"}),n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_bottom_left,_hsl(var(--blue-sky)/_0.1)_0%,_transparent_50%)]"}),n.jsx("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:n.jsxs("div",{className:"text-center max-w-4xl mx-auto",children:[n.jsx("span",{className:"text-blue-sky font-bold text-sm uppercase tracking-widest",children:"2025 Awards"}),n.jsxs("h1",{className:"text-4xl md:text-6xl font-extrabold text-primary-foreground mt-3 mb-6 leading-tight",children:["Adventures in Cyberland",n.jsx("span",{className:"block bg-gradient-to-r from-blue-sky to-blue-mid bg-clip-text text-transparent",children:"Awards 2025"})]}),n.jsx("p",{className:"text-blue-ice/80 text-lg md:text-xl leading-relaxed max-w-3xl mx-auto mb-8",children:"This year's Adventures in Cyberland Awards celebrates the creativity, critical thinking, and digital citizenship skills of students across Ireland. Participants explored themes such as cybersecurity awareness, AI-driven threats, cyberbullying, digital ethics, misinformation, and global cyber challenges."}),n.jsx(L,{variant:"hero",size:"lg",asChild:!0,children:n.jsxs("a",{href:"https://www.paulmoorephotography.ie/UCD-Cyberwise-2025/n-HPpFLW",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2",children:["View the Gallery ",n.jsx(me,{className:"w-4 h-4"})]})})]})})]}),n.jsx("section",{className:"bg-muted py-20 lg:py-28 relative overflow-hidden",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:[n.jsxs("div",{className:"text-center mb-16 max-w-3xl mx-auto",children:[n.jsxs("span",{className:"text-blue-mid font-bold text-sm uppercase tracking-widest",children:[n.jsx(Es,{className:"w-5 h-5 inline-block mr-2 -mt-1"}),"Trophy Winners"]}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3 mb-4",children:"Overall Winners 2025"})]}),n.jsx("div",{className:"grid md:grid-cols-2 gap-8 max-w-6xl mx-auto",children:hD.map((e,t)=>n.jsxs("div",{className:"rounded-2xl overflow-hidden border border-border bg-background flex flex-col",children:[(t===0?Zx:hm)?n.jsx("div",{className:"w-full h-[280px] overflow-hidden",children:n.jsx("img",{src:t===0?Zx:hm,alt:e.title,className:"w-full h-full object-cover object-top",loading:"lazy"})}):n.jsx("div",{className:"w-full h-[160px] bg-muted flex items-center justify-center",children:n.jsx(Es,{className:"w-10 h-10 text-muted-foreground/30"})}),n.jsxs("div",{className:"p-6 lg:p-8 flex flex-col flex-1",children:[n.jsxs("div",{className:"flex items-start gap-3 mb-3",children:[n.jsx(Kn,{className:"w-5 h-5 text-blue-mid mt-0.5 shrink-0"}),n.jsx("span",{className:"text-blue-mid font-bold text-sm",children:e.award})]}),n.jsx("h3",{className:"text-lg font-bold text-foreground mb-3 leading-snug",children:e.title}),e.description&&n.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed mb-4",children:e.description}),n.jsxs("div",{className:"space-y-1.5 text-sm text-muted-foreground mt-auto",children:[n.jsxs("p",{children:[n.jsx("span",{className:"font-semibold text-foreground
491/70",children:"Year:"})," ",e.year]}),n.jsxs("p",{children:[n.jsx("span",{className:"font-semibold text-foreground/70",children:"School:"})," ",e.school]}),n.jsxs("p",{children:[n.jsx("span",{className:"font-semibold text-foreground/70",children:"Student(s):"})," ",e.students]}),n.jsxs("p",{children:[n.jsx("span",{className:"font-semibold text-foreground/70",children:"Teacher:"})," ",e.teacher]}),e.presentedBy&&n.jsxs("p",{children:[n.jsx("span",{className:"font-semibold text-foreground/70",children:"Presented by:"})," ",e.presentedBy]})]}),e.projectLink&&n.jsx(L,{variant:"cta",size:"sm",asChild:!0,className:"w-full mt-4",children:n.jsxs("a",{href:e.projectLink,target:"_blank",rel:"noopener noreferrer",children:["View Project ",n.jsx(me,{className:"w-3 h-3 ml-1"})]})})]})]},t))})]})}),n.jsx("section",{className:"bg-card py-20 lg:py-28",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsxs("div",{className:"text-center mb-16 max-w-3xl mx-auto",children:[n.jsx("span",{className:"text-blue-mid font-bold text-sm uppercase tracking-widest",children:"Year Group Awards"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3 mb-4",children:"Year Group Winners & Runners Up"})]}),n.jsx("div",{className:"grid md:grid-cols-2 gap-8 max-w-6xl mx-auto",children:mD.map((e,t)=>n.jsxs("div",{className:"rounded-2xl overflow-hidden border border-border bg-background flex flex-col",children:[ey[e.title]?n.jsx("div",{className:"w-full h-[280px] overflow-hidden",children:n.jsx("img",{src:ey[e.title],alt:e.title,className:"w-full h-full object-cover object-top",loading:"lazy"})}):n.jsx("div",{className:"w-full h-[160px] bg-muted flex items-center justify-center",children:n.jsx(Es,{className:"w-10 h-10 text-muted-foreground/30"})}),n.jsxs("div",{className:"p-6 flex flex-col flex-1",children:[n.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[n.jsx(Kn,{className:"w-5 h-5 text-blue-mid"}),n.jsx("span",{className:"text-blue-mid font-bold text-xs uppercase tracking-wider",children:e.award})]}),n.jsx("h3",{className:"text-lg font-bold text-foreground mb-3 leading-snug",children:e.title}),n.jsxs("div",{className:"space-y-1 text-sm text-muted-foreground mt-auto",children:[n.jsxs("p",{children:[n.jsx("span",{className:"font-semibold text-foreground/70",children:"Year:"})," ",e.year]}),n.jsxs("p",{children:[n.jsx("span",{className:"font-semibold text-foreground/70",children:"School:"})," ",e.school]}),n.jsxs("p",{children:[n.jsx("span",{className:"font-semibold text-foreground/70",children:"Student(s):"})," ",e.students]}),n.jsxs("p",{children:[n.jsx("span",{className:"font-semibold text-foreground/70",children:"Teacher:"})," ",e.teacher]}),e.presentedBy&&n.jsxs("p",{children:[n.jsx("span",{className:"font-semibold text-foreground/70",children:"Presented by:"})," ",e.presentedBy]})]}),e.projectLink&&n.jsx(L,{variant:"cta",size:"sm",asChild:!0,className:"w-full mt-4",children:n.jsxs("a",{href:e.projectLink,target:"_blank",rel:"noopener noreferrer",children:["View Project ",n.jsx(me,{className:"w-3 h-3 ml-1"})]})})]})]},t))})]})}),n.jsxs("section",{className:"bg-navy-deep py-20 lg:py-28 relative overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_center,_hsl(var(--blue-mid)/_0.08)_0%,_transparent_60%)]"}),n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:[n.jsxs("div",{className:"text-center mb-16 max-w-3xl mx-auto",children:[n.jsxs("span",{className:"text-blue-sky font-bold text-sm uppercase tracking-widest",children:[n.jsx(uw,{className:"w-5 h-5 inline-block mr-2 -mt-1"}),"Special Interest Awards"]}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-primary-foreground mt-3 mb-4",children:"Special Award Winners 2025"})]}),n.jsx("div",{className:"grid md:grid-cols-2 gap-8 max-w-6xl mx-auto",children:pD.map((e,t)=>n.jsx(ID,{winner:e,image:DD[e.award]},t))})]})]}),n.jsx("section",{className:"bg-card py-20 lg:py-28",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsxs("div",{className:"text-center mb-12 max-w-3xl mx-auto",children:[n.jsxs("span",{className:"text-yellow-500 font-bold text-sm uppercase tracking-widest",children:[n.jsx(Vh,{
491className:"w-5 h-5 inline-block mr-2 -mt-1"}),"Gold Medal Winners"]}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3 mb-4",children:"Gold Medal Winners 2025"}),n.jsxs("p",{className:"text-muted-foreground",children:[Qx.length," projects awarded Gold Medals across all year groups."]})]}),n.jsx("div",{className:"max-w-6xl mx-auto",children:n.jsx(ty,{winners:Qx,type:"gold"})})]})}),n.jsxs("section",{className:"bg-navy-deep py-20 lg:py-28 relative overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_center,_hsl(var(--blue-mid)/_0.08)_0%,_transparent_60%)]"}),n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:[n.jsxs("div",{className:"text-center mb-12 max-w-3xl mx-auto",children:[n.jsxs("span",{className:"text-gray-300 font-bold text-sm uppercase tracking-widest",children:[n.jsx(Vh,{className:"w-5 h-5 inline-block mr-2 -mt-1"}),"Silver Medal Winners"]}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-primary-foreground mt-3 mb-4",children:"Silver Medal Winners 2025"}),n.jsxs("p",{className:"text-blue-ice/70",children:[Xx.length," projects awarded Silver Medals across all year groups."]})]}),n.jsx("div",{className:"max-w-6xl mx-auto",children:n.jsx(ty,{winners:Xx,type:"silver"})})]})]}),n.jsx(st,{}),n.jsx(ts,{}),n.jsx(ae,{})]}),MD="/assets/aired-video-thumbnail-CT60zQrR.jpg",Ij="/assets/partner-scotens-DGVDOhGf.jpg",Oj="/assets/si-queens-belfast-BAPHrxdU.png",Mj="/assets/si-ucd-ccre-BCcVMpVE.png",LD=[{number:1,title:"Identification of Types of AI",icon:pe,description:"A literature-based review of a variety of curriculum uses of AI as defined by the 5 key ideas of AI, used to support the development of the AI Readiness Journey materials for online delivery."},{number:2,title:"AI-Readiness Journey in ITE",icon:uE,description:"Beginning with a survey to measure student teachers' attitudes towards AI before the 'journey'. The survey items build on previous work on Technology Readiness from the RAP project (2018) with additional measures using an AI Attitude scale. This approach is aligned to research by Schepman & Rodway (2022) who found a correlation between AI attitudes and the measures of Technology Readiness. Participants will also engage with the AI-Readiness Journey materials to develop a greater awareness and understanding of AI in general and how it can be used to complement existing teaching and learning in the classroom."},{number:3,title:"Generative-AI as an Intelligent Tutoring System",icon:Yn,description:"Training student teachers in how to use ChatGPT (or other GAIs) as intelligent tutoring systems to support their knowledge development and understanding of key areas of teacher education such as core terminology, theory-practice links, applications of GAI to support medium term planning and GAI-based reflection."}],$D=[{title:"Artificial Intelligence (AI) in Education",author:"Declan Qualter and Rachel Farrell",type:"presentation",link:"https://www.canva.com/design/DAGPtp_NrAo/r1EgUyKC5y5s24k1pW1HqQ/view"},{title:"AI Powered Pedagogy: Enhancing Teacher Productivity in Post Primary Education",author:"James Flood",type:"video",youtubeId:"wO7mY1BzWzE"},{title:"The Power and Possibilities of AI Generated Resources",author:"Dylan McKeever",type:"video",youtubeId:"VjvaNc6yJ0I"}],ry=()=>{const[e,t]=w.useState(!1),r=w.useRef(null),s=()=>{t(!0),setTimeout(()=>{var a;return(a=r.current)==null?void 0:a.play()},0)};return n.jsx("div",{className:"relative rounded-2xl shadow-xl overflow-hidden",children:e?n.jsx("video",{ref:r,src:"/videos/aired-report-taster.mp4",controls:!0,autoPlay:!0,className:"w-full"}):n.jsxs("button",{onClick:s,className:"relative block w-full group cursor-pointer",children:[n.jsx("img",{src:MD,alt:"AIRED Report Taster Video",className:"w-full group-hover:scale-[1.02] transition-transform"}),n.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:n.jsx("div",{className:"w-16 h-16 md:w-20 md:h-20 rounded-full bg-black/60 flex items-center justify-center group-hover:bg-black/80 transition-colors",children:n.jsx(Ep,{className:"w-8 h-8 md:w-10 md:h-10 text-white ml-1",fill:"white"})})})]})})},UD=()=>n.jsxs("div",{className:"min-h-screen",children:[n.jsx(Ue,{title:"AIRED — AI Readiness in Initial Teacher Education",description:"AI Readiness in Initial Teacher Education research project examining the student teacher journey. SCoTENS funded research by UCD and Queen's University Belfast.",path:"/aired"}),n.jsx(se,{}),n.jsxs("section",{className:"bg-navy-deep py-16 lg:py-22 relative overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_center_right,_hsl(var(--navy-dark))_0%,_transparent_70%)] opacity-50"}),n.jsx("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:n.jsxs("div",{className:"grid lg:grid-cols-2 gap-10 items-center",children:[n.jsxs("div",{children:[n.jsx("span",{className:"text-blue-sky font-bold text-sm uppercase tracking-widest",children:"Research Project"}),n.jsx("h1",{className:"text-4xl md:text-5xl font-extrabold text-primary-foreground mt-3 mb-4",children:"AIRED"}),n.jsx("p",{className:"text-blue-ice/90 text-xl font-semibold mb-4",children:"AI Readiness in Initial Teacher Education: The Student Teacher Journey"}),n.jsx("p",{className:"text-blue-ice/70 text-lg leading-relaxed mb-6",children:"SCoTENS funded research being undertaken by Dr Rachel Farrell (UCD School of Education) and Dr Pamela Cowan (School of Social Sciences, Education and Social Work, Queen's University Belfast)."})]}),n.jsx("div",{className:"hidden lg:block",children:n.jsx(ry,{})}),n.jsx("div",{className:"lg:hidden mt-6",children:n.jsx(ry,{})})]})})]}),n.jsx("section",{className:"py-14 border-b border-border",style:{backgroundColor:"hsl(0 0% 95%)"},children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsx("div",{className:"flex flex-wrap items-center justify-center gap-8 md:gap-12",children:[{src:Ij,alt:"SCoTENS"},{src:Mj,alt:"UCD Centre for Cyber Resilience Education"},{src:Oj,alt:"Queen's University Belfast"},{src:zp,alt:"UCD Schools"}].map(e=>n.jsx("div",{className:"bg-white rounded-xl px-8 py-6 shadow-sm border border-border flex items-center justify-center h-32",children:n.jsx("img",{src:e.src,alt:e.alt,className:"max-h-[104px] max-w-[286px] object-contain"})},e.alt))})})}),n.jsx("section",{className:"bg-card py-16 lg:py-24",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 max-w-5xl",children:[n.jsx("span",{className:"text-blue-mid font-bold text-sm uppercase tracking-widest",children:"About the Project"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3 mb-6",children:"Preparing Teachers for an AI-Powered Future"}),n.jsx("p",{className:"text-muted-foreground text-lg leading-relaxed mb-4",children:"This research focuses on student teachers' use of AI in Initial Teacher Education (ITE) programmes in two partner institutions — UCD and Queen's University Belfast — and will be completed in three phases."}),n.jsx("p",{className:"text-muted-foreground text-lg leading-relaxed",children:"By understanding attitudes towards AI and building practical skills with generative AI tools, the project aims to equip the next generation of teachers with the confidence and competence to integrate AI meaningfully into their classrooms."})]})}),n.jsx("section",{id:"phases",className:"bg-blue-ice py-16 lg:py-24",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsxs("div",{className:"text-center mb-14",children:[n.jsx("span",{className:"text-blue-mid font-bold text-sm uppercase tracking-widest",children:"Research Phases"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3",children:"Three-Phase Approach"}),n.jsx("p",{className:"mt-4 text-muted-foreground max-w-2xl mx-auto text-lg",children:"The AIRED project follows a 
491structured three-phase methodology to explore and enhance AI readiness among student teachers."})]}),n.jsx("div",{className:"grid md:grid-cols-3 gap-8 max-w-6xl mx-auto",children:LD.map(e=>n.jsxs("div",{className:"bg-card rounded-2xl p-8 border border-border hover:shadow-xl transition-all hover:-translate-y-1",children:[n.jsxs("div",{className:"flex items-center gap-4 mb-6",children:[n.jsx("div",{className:"w-14 h-14 rounded-xl bg-blue-mid/10 flex items-center justify-center",children:n.jsx(e.icon,{className:"w-7 h-7 text-blue-mid"})}),n.jsxs("span",{className:"text-blue-mid font-extrabold text-sm",children:["Phase ",e.number]})]}),n.jsx("h3",{className:"text-lg font-bold text-foreground mb-3",children:e.title}),n.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:e.description})]},e.number))})]})}),n.jsx("section",{id:"resources",className:"bg-card py-16 lg:py-24",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsxs("div",{className:"text-center mb-14",children:[n.jsx("span",{className:"text-blue-mid font-bold text-sm uppercase tracking-widest",children:"Resources"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3",children:"AIRED Resources"}),n.jsx("p",{className:"mt-4 text-muted-foreground max-w-2xl mx-auto text-lg",children:"Presentations and videos from the AIRED research project exploring AI in teacher education."})]}),n.jsx("div",{className:"max-w-5xl mx-auto space-y-10",children:$D.map(e=>n.jsxs("div",{className:"bg-blue-ice rounded-2xl border border-border overflow-hidden",children:[e.type==="video"&&e.youtubeId&&n.jsx("div",{className:"aspect-video",children:n.jsx("iframe",{src:`https://www.youtube.com/embed/${e.youtubeId}`,title:e.title,allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0,className:"w-full h-full"})}),n.jsx("div",{className:"p-6 md:p-8",children:n.jsxs("div",{className:"flex items-start gap-4",children:[n.jsx("div",{className:"w-10 h-10 rounded-lg bg-blue-mid/10 flex items-center justify-center flex-shrink-0 mt-1",children:e.type==="video"?n.jsx(Ep,{className:"w-5 h-5 text-blue-mid"}):n.jsx(me,{className:"w-5 h-5 text-blue-mid"})}),n.jsxs("div",{children:[n.jsx("h3",{className:"text-lg font-bold text-foreground mb-1",children:e.title}),n.jsxs("p",{className:"text-muted-foreground text-sm mb-3",children:["By ",e.author]}),e.type==="presentation"&&e.link&&n.jsxs("a",{href:e.link,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 text-blue-mid font-bold text-sm hover:gap-2 transition-all",children:["View Presentation ",n.jsx(me,{className:"w-4 h-4"})]})]})]})})]},e.title))})]})}),n.jsx("section",{className:"bg-navy-deep py-16 lg:py-20",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 text-center max-w-3xl",children:[n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-primary-foreground mb-4",children:"Interested in AIRED?"}),n.jsx("p",{className:"text-blue-ice/80 text-lg mb-8",children:"Get in touch to learn more about our research on AI readiness in initial teacher education."}),n.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[n.jsx(L,{variant:"hero",size:"lg",asChild:!0,children:n.jsxs("a",{href:"/contact-us",className:"inline-flex items-center gap-2",children:["Contact Us ",n.jsx(le,{className:"w-4 h-4"})]})}),n.jsx(L,{variant:"heroOutline",size:"lg",asChild:!0,children:n.jsx("a",{href:"/projects",className:"inline-flex items-center gap-2",children:"View All Projects"})})]})]})}),n.jsx(st,{}),n.jsx(ae,{})]}),BD="/assets/secure-course-graphic-DPdQ00gT.png",FD="/assets/fll-gallery-5-Bi1yuv6T.png",zD="/assets/partner-research-ireland-eLULKimf.png",WD="/assets/ucd-ccre-logo-5bt37ASE.png",GD="/assets/partner-ucd-school-ed-CSXTCsgb.png",HD="/assets/secure-all-logos-620mYg_r.jpg",VD="/assets/secure-video-overlay-DWxNH7ue.png",qD=1,KD="b1b11c7d-f3b8-402b-bdd8-1356e1ab211e",YD="006d986f-0954-4925-b449-48b863ced425",JD="/__l5e/assets-v1/b1b11c7d-f3b8-402b-bdd8-1356e1ab211e/secure-sld-carousel-1.webp",QD="a/v1/006d986f-0954-4925-b449-48b863ced425/b1b11c7d-f3b8-402b-bdd8-1356e1ab211e/secure-sld-carousel-1.webp",XD="secure-sld-carousel-1.webp",ZD=43538,e8="image/webp",t8="2026-08-10T10:55:20Z",Lj={version:qD,asset_id:KD,project_id:YD,url:JD,r2_key:QD,original_filename:XD,size:ZD,content_type:e8,created_at:t8},r8=1,n8="beca80f7-c159-43dd-8fe2-2ad1f42d26f1",s8="006d986f-0954-4925-b449-48b863ced425",a8="/__l5e/assets-v1/beca80f7-c159-43dd-8fe2-2ad1f42d26f1/secure-sld-image-3.webp",i8="a/v1/006d986f-0954-4925-b449-48b863ced425/beca80f7-c159-43dd-8fe2-2ad1f42d26f1/secure-sld-image-3.webp",o8="secure-sld-image-3.webp",l8=45572,c8="image/webp",d8="2026-08-10T10:56:09Z",$j={version:r8,asset_id:n8,project_id:s8,url:a8,r2_key:i8,original_filename:o8,size:l8,content_type:c8,created_at:d8},u8=[{icon:pE,title:"Practical Classroom Support",items:["Access to draft Primary CyberWise / SECURE learning materials you can use with your pupils","Clear teacher guidance and resources that fit real classroom time","Optional support from the SECURE team (including in-school support where possible)"]},{icon:Qe,title:"A Professional Learning Community",items:["An online C
491ommunity of Practice (CoP) space to share what works, swap ideas, and learn from peers and visiting experts","Connect with education, industry, academia and government professionals"]},{icon:Ho,title:"A Real Voice in What Gets Built",items:["Your feedback directly shapes the final Primary CyberWise programme","Help inform best practice and policy development in this area"]}],h8=()=>{const[e,t]=w.useState(!1);return n.jsx("div",{className:"flex justify-center",children:n.jsxs("div",{className:"relative w-full max-w-lg aspect-video rounded-2xl overflow-hidden shadow-2xl border border-white/20",children:[!e&&n.jsxs("button",{onClick:()=>t(!0),className:"absolute inset-0 z-10 cursor-pointer group","aria-label":"Play video",children:[n.jsx("img",{src:VD,alt:"SECURE Programme",className:"w-full h-full object-cover"}),n.jsx("div",{className:"absolute inset-0 bg-black/20 group-hover:bg-black/10 transition-colors flex items-center justify-center",children:n.jsx("div",{className:"w-16 h-16 rounded-full bg-white/90 group-hover:bg-white group-hover:scale-110 transition-all flex items-center justify-center shadow-lg",children:n.jsx("svg",{className:"w-7 h-7 text-gray-900 ml-1",fill:"currentColor",viewBox:"0 0 24 24",children:n.jsx("path",{d:"M8 5v14l11-7z"})})})})]}),n.jsx("iframe",{src:e?"https://www.youtube.com/embed/3k3TvZ4jyHw?autoplay=1":"https://www.youtube.com/embed/3k3TvZ4jyHw",title:"SECURE Programme Video",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0,className:"w-full h-full",loading:"lazy"})]})})},m8=()=>n.jsxs("div",{className:"min-h-screen",children:[n.jsx(Ue,{title:"SECURE Programme",description:"The SECURE programme provides structured cybersecurity education for primary schools across Ireland with engaging modules and hands-on activities.",path:"/secure"}),n.jsx(se,{}),n.jsxs("section",{className:"relative py-20 lg:py-28 overflow-hidden",style:{background:"linear-gradient(135deg, hsl(192 60% 15%) 0%, hsl(195 55% 25%) 40%, hsl(200 60% 35%) 70%, hsl(195 50% 28%) 100%)"},children:[n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_top_right,_hsla(195,70%,50%,0.2)_0%,_transparent_60%)]"}),n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_bottom_left,_hsla(200,60%,40%,0.15)_0%,_transparent_50%)]"}),n.jsx("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:n.jsxs("div",{className:"grid lg:grid-cols-2 gap-12 items-center",children:[n.jsxs("div",{children:[n.jsxs("div",{className:"inline-flex items-center gap-2 bg-white/10 backdrop-blur-sm rounded-full px-4 py-1.5 mb-6 border border-white/20",children:[n.jsx(xt,{className:"w-4 h-4 text-cyan-300"}),n.jsx("span",{className:"text-cyan-200 font-bold text-xs uppercase tracking-widest",children:"Research Ireland (COALESCE) Funded"})]}),n.jsx("h1",{className:"text-5xl md:text-6xl font-extrabold text-white mb-3 tracking-tight",children:"SECURE"}),n.jsx("p",{className:"text-cyan-100/90 text-xl font-semibold mb-4 leading-snug",children:"Strengthening Education for Cybersecurity — Uniting Resilience and Expertise"}),n.jsx("p",{className:"text-white/70 text-lg leading-relaxed mb-8 max-w-xl",children:"Supporting primary teachers to build the knowledge, skills and confidence to teach cybersecurity in an age-appropriate, classroom-friendly way."}),n.jsxs("div",{className:"flex flex-wrap gap-4",children:[n.jsx(L,{size:"lg",asChild:!0,className:"bg-cyan-400 text-gray-900 hover:bg-cyan-300 rounded-xl font-bold shadow-lg hover:shadow-xl transition-all hover:-translate-y-0.5",children:n.jsxs("a",{href:"/contact-us",className:"inline-flex items-center gap-2",children:["Join SECURE ",n.jsx(le,{className:"w-4 h-4"})]})}),n.jsx(L,{size:"lg",asChild:!0,className:"border-2 border-white/40 text-white hover:bg-white/10 rounded-xl font-bold bg-transparent transition-all",children:n.jsx("a",{href:"#what-you-get",className:"inline-flex items-center gap-2",children:"Learn More"})})]})]}),n.jsx(h8,{})]})})]}),n.jsx("section",{className:"py-12 border-b border-border",style:{backgroundColor:"hsl(0 0% 95%)"},children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-6 md:gap-8",children:[{src:zD,alt:"Research Ireland"},{src:WD,alt:"UCD Centre for Cyber Resilience Education"},{src:GD,alt:"UCD School of Education"}].map(e=>n.jsx("div",{className:"bg-white rounded-xl px-6 py-6 shadow-sm border border-border flex items-center justify-center h-32",children:n.jsx("img",{src:e.src,alt:e.alt,className:"max-h-20 w-full object-contain"})},e.alt))})})}),n.jsx("section",{className:"bg-card py-16 lg:py-24",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsxs("div",{className:"grid lg:grid-cols-2 gap-12 items-center max-w-6xl mx-auto",children:[n.jsxs("div",{children:[n.jsx("span",{className:"text-teal-600 font-bold text-sm uppercase tracking-widest",children:"About SECURE"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3 mb-6",children:"What SECURE is all about"}),n.jsx("p",{className:"text-muted-foreground text-lg leading-relaxed mb-4",children:"Cybersecurity is now part of children's everyday digital lives. SECURE is focused on helping schools build digital resilience and online security awareness, while also supporting teachers with practical resources and a supp
491ortive professional learning network."}),n.jsx("p",{className:"text-muted-foreground text-lg leading-relaxed mb-4",children:"As part of SECURE, we are adapting the themes in the existing Cyberwise Junior Cycle Cybersecurity short course for primary schools through a co-design process involving teachers, educationalists, and industry partners."}),n.jsx("p",{className:"text-muted-foreground text-lg leading-relaxed",children:"Comprising six overarching modules, teachers have the freedom to select and tailor content from a range of lessons and resources to suit the needs of their students and their own teaching and learning environment."})]}),n.jsx("div",{className:"rounded-2xl overflow-hidden shadow-xl border border-border",children:n.jsx("img",{src:FD,alt:"Students engaged in SECURE cybersecurity learning",className:"w-full h-80 object-cover"})})]})})}),n.jsx("section",{className:"py-16 lg:py-20",style:{background:"linear-gradient(135deg, hsl(192 60% 13%) 0%, hsl(196 55% 20%) 60%, hsl(200 55% 24%) 100%)"},children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsxs("div",{className:"grid lg:grid-cols-2 gap-10 lg:gap-14 items-center",children:[n.jsxs("div",{children:[n.jsxs("div",{className:"inline-flex items-center gap-2 bg-cyan-300/10 border border-cyan-300/30 rounded-full px-4 py-1.5 mb-5",children:[n.jsx(Ac,{className:"w-4 h-4 text-cyan-300"}),n.jsx("span",{className:"text-cyan-300 text-sm font-semibold",children:"Tuesday 9 June 2026 · UCD"})]}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-white mb-4 tracking-tight",children:"SECURE Shared Learning Day 2026"}),n.jsx("p",{className:"text-cyan-50/80 text-lg leading-relaxed mb-4",children:"Pupils and teachers from four participating primary schools came together in the O'Connor Centre for Learning at University College Dublin to share their experiences of the SECURE initiative, take part in practical cyber activities, and celebrate their contribution to cybersecurity education."}),n.jsx("p",{className:"text-cyan-50/70 text-base leading-relaxed mb-8",children:"The day featured pupil presentations, hands-on problem-solving and awards for creativity, innovation, presentation and collaboration."}),n.jsx(L,{size:"lg",asChild:!0,className:"bg-cyan-400 text-gray-900 hover:bg-cyan-300 rounded-xl font-bold shadow-lg transition-all hover:-translate-y-0.5",children:n.jsxs("a",{href:"/secure-shared-learning-day-2026",className:"inline-flex items-center gap-2",children:["Explore the Shared Learning Day ",n.jsx(le,{className:"w-4 h-4"})]})})]}),n.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[n.jsx("img",{src:qp.url,alt:"Pupils and teachers gathered at UCD for the SECURE Shared Learning Day",className:"col-span-2 w-full h-56 md:h-64 object-cover rounded-2xl shadow-lg",loading:"lazy",decoding:"async"}),n.jsx("img",{src:Lj.url,alt:"Pupils collaborating on a hands-on cyber activity",className:"w-full h-36 md:h-44 object-cover rounded-2xl shadow-lg",loading:"lazy",decoding:"async"}),n.jsx("img",{src:$j.url,alt:"A facilitator working with primary pupils at the Shared Learning Day",className:"w-full h-36 md:h-44 object-cover rounded-2xl shadow-lg",loading:"lazy",decoding:"async"})]})]})})}),n.jsx("section",{className:"bg-muted py-16 lg:py-20",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsxs("div",{className:"text-center mb-10",children:[n.jsx("span",{className:"text-teal-600 font-bold text-sm uppercase tracking-widest",children:"Modules"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3",children:"Six Overarching Modules"})]}),n.jsx("div",{className:"max-w-4xl mx-auto",children:n.jsx("img",{src:BD,alt:"SECURE course modules overview",className:"w-full rounded-2xl shadow-lg"})}),n.jsxs("div",{className:"max-w-3xl mx-auto text-center mt-10",children:[n.jsx("p",{className:"text-muted-foreground text-lg leading-relaxed mb-6",children:"SECURE adapts themes from the existing Cyberwise Primary Cyber Security Short Course — five comprehensive units of learning aimed at 6th class primary pupils, designed to build cybersecurity awareness and digital literacy from an early age. These engaging modules empower young learners to navigate the digital world safely and confidently."}),n.jsx(L,{size:"lg",asChild:!0,className:"bg-teal-600 text-white hover:bg-teal-500 rounded-xl font-bold shadow-lg hover:shadow-xl transition-all hover:-translate-y-0.5",children:n.jsxs("a",{href:"/primary-sch
491ools",className:"inline-flex items-center gap-2",children:["Explore Primary School Content ",n.jsx(le,{className:"w-4 h-4"})]})})]})]})}),n.jsx("section",{className:"bg-card py-16 lg:py-24",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8 max-w-4xl",children:n.jsxs("div",{className:"grid md:grid-cols-2 gap-12 items-center",children:[n.jsxs("div",{children:[n.jsx("span",{className:"text-teal-600 font-bold text-sm uppercase tracking-widest",children:"Eligibility"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3 mb-6",children:"Who can take part?"}),n.jsx("p",{className:"text-muted-foreground text-lg leading-relaxed mb-4",children:"SECURE is for primary schools and primary teachers who want to trial and shape classroom-ready cybersecurity learning."}),n.jsx("div",{className:"bg-teal-50 rounded-xl p-5 border border-teal-200",children:n.jsxs("p",{className:"text-teal-800 font-semibold text-base flex items-start gap-3",children:[n.jsx(br,{className:"w-5 h-5 text-teal-600 flex-shrink-0 mt-0.5"}),'You do not need to be a "tech expert" to participate.']})})]}),n.jsxs("div",{className:"bg-gradient-to-br from-teal-600 to-cyan-700 rounded-2xl p-8 text-white shadow-xl",children:[n.jsx(Ac,{className:"w-12 h-12 text-cyan-200 mb-4"}),n.jsxs("p",{className:"text-lg font-semibold leading-relaxed",children:["If you've ever thought ",n.jsx("em",{children:'"I know this matters, but where do I start?"'})," — then SECURE is designed for you."]})]})]})})}),n.jsx("section",{id:"what-you-get",className:"py-16 lg:py-24",style:{background:"linear-gradient(180deg, hsl(192 40% 96%) 0%, hsl(0 0% 100%) 100%)"},children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsxs("div",{className:"text-center mb-14",children:[n.jsx("span",{className:"text-teal-600 font-bold text-sm uppercase tracking-widest",children:"Benefits"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3",children:"What you'll get"})]}),n.jsx("div",{className:"grid md:grid-cols-3 gap-8 max-w-6xl mx-auto",children:u8.map(e=>n.jsxs("div",{className:"bg-card rounded-2xl p-8 border border-border hover:shadow-xl transition-all hover:-translate-y-1",children:[n.jsx("div",{className:"w-14 h-14 rounded-xl bg-teal-100 flex items-center justify-center mb-5",children:n.jsx(e.icon,{className:"w-7 h-7 text-teal-600"})}),n.jsx("h3",{className:"text-lg font-bold text-foreground mb-4",children:e.title}),n.jsx("ul",{className:"space-y-3",children:e.items.map((t,r)=>n.jsxs("li",{className:"text-muted-foreground text-sm leading-relaxed flex items-start gap-2",children:[n.jsx(br,{className:"w-4 h-4 text-teal-500 flex-shrink-0 mt-0.5"}),t]},r))})]},e.title))})]})}),n.jsx("section",{className:"bg-card py-16 lg:py-24",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 max-w-4xl",children:[n.jsx("span",{className:"text-teal-600 font-bold text-sm uppercase tracking-widest",children:"Participation"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3 mb-6",children:"What participation involves"}),n.jsx("p",{className:"text-muted-foreground text-lg leading-relaxed mb-6",children:"We're very conscious of school workload, so participation is designed to be flexible."}),n.jsxs("div",{className:"bg-muted rounded-2xl p-6 md:p-8 border border-border mb-8",children:[n.jsxs("h3",{className:"font-bold text-foreground text-base mb-3 flex items-center gap-2",children:[n.jsx(pe,{className:"w-5 h-5 text-teal-600"})," Minimum Participation"]}),n.jsx("p",{className:"text-muted-foreground leading-relaxed",children:"Trial one module (choose what suits your cohort) and share your feedback."})]}),n.jsx("h3",{className:"font-bold text-foreground text-lg mb-4",children:"As part of the SECURE research study, participating teachers will be asked to:"}),n.jsx("div",{className:"space-y-4",children:["Complete a short pre- and post- online survey (to capture baseline and changes in confidence/practice)","Take part in an optional teacher focus group (via UCD's secure Zoom) to discu
491ss what worked well and what needs improving","Contribute (in a way that suits your context) to the co-design and refinement of materials"].map((e,t)=>n.jsxs("div",{className:"flex items-start gap-3 bg-background rounded-xl p-4 border border-border",children:[n.jsx("span",{className:"w-7 h-7 rounded-full bg-teal-100 flex items-center justify-center flex-shrink-0 text-sm font-bold text-teal-700",children:t+1}),n.jsx("p",{className:"text-muted-foreground leading-relaxed",children:e})]},t))})]})}),n.jsx("section",{className:"bg-muted py-16 lg:py-24",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8 max-w-4xl",children:n.jsxs("div",{className:"grid md:grid-cols-5 gap-8 items-center",children:[n.jsxs("div",{className:"md:col-span-3",children:[n.jsx("span",{className:"text-teal-600 font-bold text-sm uppercase tracking-widest",children:"Platform"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3 mb-6",children:"Where the course will live: iTEN"}),n.jsx("p",{className:"text-muted-foreground text-lg leading-relaxed mb-4",children:"SECURE CPD and draft modules are being hosted on the free Innovative Teacher Education Network (iTEN) platform so participating teachers can access materials easily and in one place."}),n.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:"The Innovative Teacher Education Network (iTEN) is a collaborative, online hub developed by Ireland's Education Centres to support the whole school community. It brings together shared expertise and resources into one flexible platform, offering professional development courses tailored to different roles, disciplines, and career stages."}),n.jsx("p",{className:"text-muted-foreground leading-relaxed",children:"All learning opportunities are aligned with Department of Education priorities and the Teaching Council's Cosán framework. If you're joining SECURE, we will get you set up or link in with your existing iTEN account."})]}),n.jsx("div",{className:"md:col-span-2 flex justify-center",children:n.jsxs("div",{className:"bg-gradient-to-br from-teal-600 to-cyan-700 rounded-2xl p-8 text-white shadow-xl text-center",children:[n.jsx(Jt,{className:"w-14 h-14 text-cyan-200 mx-auto mb-4"}),n.jsx("h3",{className:"text-xl font-bold mb-2",children:"iTEN Platform"}),n.jsx("p",{className:"text-cyan-100/80 text-sm",children:"Free, flexible, and aligned with national standards"})]})})]})})}),n.jsx("section",{className:"bg-card py-16 lg:py-20",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8 max-w-4xl",children:n.jsx("div",{className:"bg-background rounded-2xl p-8 border border-border",children:n.jsxs("div",{className:"flex items-start gap-4",children:[n.jsx("div",{className:"w-12 h-12 rounded-xl bg-teal-100 flex items-center justify-center flex-shrink-0",children:n.jsx(fo,{className:"w-6 h-6 text-teal-600"})}),n.jsxs("div",{children:[n.jsx("h3",{className:"text-xl font-bold text-foreground mb-3",children:"Privacy, Consent and Paperwork"}),n.jsx("p",{className:"text-muted-foreground leading-relaxed mb-3",children:"SECURE is a formally funded research study and participation is voluntary. Data is handled carefully: surveys are anonymous and focus group data is de-identified so that individual teachers and schools are not identifiable in reporting."}),n.jsx("p",{className:"text-muted-foreground leading-relaxed",children:"Schools do need to complete consent paperwork to participate. Contact us and we'll send the full information and consent pack directly, so you have everything in one place and can ask questions if anything is unclear."})]})]})})})}),n.jsx("section",{className:"bg-muted py-16 lg:py-24",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsxs("div",{className:"text-center mb-14",children:[n.jsxs("div",{className:"inline-flex items-center gap-2 mb-3",children:[n.jsx(wE,{className:"w-5 h-5 text-teal-600"}),n.jsx("span",{className:"text-teal-600 font-bold text-sm uppercase tracking-widest",children:"On the Airwaves"})]}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground",children:"Cybersecurity on the Airwaves"}),n.jsx("p",{className:"mt-4 text-muted-foreground max-w-3xl mx-auto text-lg",children:"Dr Rachel Farrell shares why cybersecurity education matters for children's everyday lives online, and how Cyberwise supports schools to help pupils stay secure and safe in digital spaces."})]}),n.jsxs("div",{className:"grid md:grid-cols-2 gap-8 max-w-5xl mx-auto",children:[n.jsxs("div",{className:"bg-card rounded-2xl border border-border overflow-hidden shadow-lg",children:[n.jsx("div",{className:"aspect-video",children:n.jsx("iframe",{src:"https://www.youtube.com/embed/r_JKv9LY7lw",title:"Saturday Focus interview – Dr Rachel Farrell",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0,className:"w-full h-full"})}),n.jsxs("div",{className:"p-5",children:[n.jsx("h3",{className:"font-bold text-foreground text-sm",children:"Saturday Focus Interview"}),n.jsx("p",{className:"text-muted-foreground text-xs mt-1",children:"Dr Rachel Farrell – UCD Centre for Cyber Resilience Education"})]})]}),n.jsxs("div",{className:"bg-card rounded-2xl border border-border overflow-hidden shadow-lg",children:[n.jsx("div",{className:"aspect-video",children:n.jsx("iframe",{src:"https://www.youtube.com/embed/kfRQ8S1aIgQ",title:"Cybersecurity Education",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0,className:"w-full h-full"})}),n.jsxs("div",{className:"p-5",children:[n.jsx("h3",{className:"font-bold text-foreground text-sm",children:"Cybersecurity Education"}),n.jsx("p",{className:"text-muted-foreground text-xs mt-1",children:"Supporting schools in building cyber resilience"})]})]})]})]})}),n.jsxs("section",{className:"relative py-20 lg:py-24 overflow-hidden",style:{background:"linear-gradient(135deg, hsl(192 60% 15%) 0%, hsl(195 55% 25%) 40%, hsl(200 60% 35%) 100%)"},children:[n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_center,_hsla(195,60%,50%,0.15)_0%,_transparent_60%)]"}),n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 text-center max-w-3xl relative z-10",children:[n.jsx(xt,{className:"w-16 h-16 text-cyan-300/60 mx-auto mb-6"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-white mb-4",children:"Ready to join SECURE?"}),n.jsx("p",{className:"text-cyan-100/80 text-lg mb-8 leading-relaxed",children:"Get in touch to receive the full information and consent pack. We'll help you get set up and started."}),n.jsx(L,{size:"lg",asChild:!0,className:"bg-cyan-400 text-gray-900 hover:bg-cyan-300 rounded-xl font-bold shadow-lg hover:shadow-xl transition-all hover:-translate-y-0.5",children:n.jsxs("a",{href:"/contact-us",className:"inline-flex items-center gap-2",children:["Contact Us to Join SECURE ",n.jsx(le,{className:"w-4 h-4"})]})})]})]}),n.jsx("section",{className:"bg-card py-14 border-t border-border",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsx("p",{className:"text-center text-muted-foreground font-bold text-sm uppercase tracking-widest mb-8",children:"Our Partners & Supporters"}),n.jsx("div",{className:"max-w-5xl mx-auto",children:n.jsx("img",{src:HD,alt:"SECURE partner logos",className:"w-full object-contain"})})]})}),n.jsx(ae,{})]}),p8="/assets/fll-gallery-3-zIKtvf2J.jpg",So="/assets/partner-sfi-BhHAy5jG.png",Eo="/assets/partner-ucd-3Z8
491nSr6E.png",_o="/assets/si-ucd-ccre-BCcVMpVE.png",To="/assets/partner-dept-education-C7uWY5bi.png",f8="/assets/project-aired-CWgrjcl8.jpg",g8=()=>n.jsxs("div",{className:"min-h-screen",children:[n.jsx(Ue,{title:"Busting Gender Bias",description:"Infusing science with arts and humanities using Philosophy for Children and storytelling to develop growth mindset and critical thinking around gender bias in STEM.",path:"/busting-gender-bias"}),n.jsx(se,{}),n.jsxs("section",{className:"relative py-16 lg:py-24 overflow-hidden",style:{background:"linear-gradient(135deg, hsl(270 60% 30%) 0%, hsl(260 70% 45%) 30%, hsl(240 65% 50%) 60%, hsl(210 80% 50%) 100%)"},children:[n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_top_right,_hsla(280,80%,70%,0.3)_0%,_transparent_60%)]"}),n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_bottom_left,_hsla(260,60%,50%,0.2)_0%,_transparent_50%)]"}),n.jsx("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:n.jsxs("div",{className:"grid lg:grid-cols-2 gap-10 items-center",children:[n.jsxs("div",{children:[n.jsx("span",{className:"text-purple-200 font-bold text-sm uppercase tracking-widest",children:"SFI Discover Programme"}),n.jsx("h1",{className:"text-4xl md:text-5xl font-extrabold text-white mt-3 mb-4 leading-tight",children:"Busting Gender Bias in Computer Science and Cyber Security"}),n.jsx("p",{className:"text-white/80 text-lg leading-relaxed mb-8",children:"Our initiative, proudly funded by the Science Foundation Ireland Discover Programme, is dedicated to breaking down gender barriers in the fields of computer science and cyber security. Through an innovative blend of science, arts, and humanities, we challenge gender bias and stereotypes that often discourage young women from pursuing careers in these vital areas."}),n.jsxs("div",{className:"flex flex-wrap gap-4",children:[n.jsx(L,{size:"lg",asChild:!0,className:"bg-white text-purple-700 hover:bg-purple-50 rounded-xl font-bold shadow-lg hover:shadow-xl transition-all hover:-translate-y-0.5",children:n.jsxs("a",{href:"#about-section",className:"inline-flex items-center gap-2",children:["Learn More ",n.jsx(le,{className:"w-4 h-4"})]})}),n.jsx(L,{size:"lg",asChild:!0,className:"border-2 border-white/60 text-white hover:bg-white/10 rounded-xl font-bold bg-transparent transition-all",children:n.jsx("a",{href:"/busting-gender-bias-resources",className:"inline-flex items-center gap-2",children:"Explore Resources"})})]})]}),n.jsx("div",{className:"hidden lg:block",children:n.jsx("img",{src:p8,alt:"Students presenting at Busting Gender Bias event",className:"rounded-2xl shadow-2xl w-full object-cover max-h-[420px]"})})]})})]}),n.jsx("section",{className:"py-14 border-b border-border",style:{backgroundColor:"hsl(0 0% 95%)"},children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsx("div",{className:"flex flex-wrap items-center justify-center gap-8 md:gap-12",children:[{src:Eo,alt:"University College Dublin"},{src:So,alt:"Science Foundation Ireland"},{src:To,alt:"Department of Education"},{src:_o,alt:"UCD Centre for Cyber Resilience Education"}].map(e=>n.jsx("div",{className:"bg-white rounded-xl px-8 py-6 shadow-sm border border-border flex items-center justify-center h-32",children:n.jsx("img",{src:e.src,alt:e.alt,className:"max-h-[104px] max-w-[286px] object-contain"})},e.alt))})})}),n.jsx("section",{className:"bg-card py-16 lg:py-20",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsxs("div",{className:"text-center mb-12",children:[n.jsx("span",{className:"text-purple-600 font-bold text-sm uppercase tracking-widest",children:"Women in CS & Cybersecurity"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3",children:"Discover Resources"}),n.jsx("p",{className:"mt-4 text-muted-foreground max-w-2xl mx-auto text-lg",children:"Stories of resilience, innovation, and groundbreaking achievements."})]}),n.jsx("div",{className:"grid sm:grid-cols-2 lg:grid-cols-4 gap-6 max-w-5xl mx-auto",children:[{icon:pe,title:"Inspirational Books",desc:"About women in CS and Cybersecurity",href:"/busting-gender-bias-books",color:"bg-purple-100 group-hover:bg-purple-200",iconColor:"text-purple-600"},{icon:Go,title:"Multimedia",desc:"Browse videos, documentaries & articles",href:"/busting-gender-bias-multimedia",color:"bg-fuchsia-100 group-hover:bg-fuchsia-200",iconColor:"text-fuchsia-600"},{icon:Qe,title:"Gender Bias",desc:"Explore and challenge stereotypes",href:"/busting-gender-bias-gender-bias",color:"bg-violet-100 group-hover:bg-violet-200",iconColor:"text-violet-600"},{icon:Cp,title:"P4C Inquiry",desc:"Philosophy for Children stimuli",href:"/busting-gender-bias-p4c",color:"bg-indigo-100 group-hover:bg-indigo-200",iconColor:"text-indigo-600"}].map(e=>n.jsxs("a",{href:e.href,className:"bg-background rounded-2xl p-6 border border-border hover:shadow-xl transition-all hover:-translate-y-1 group block text-center",children:[n.jsx("div",{className:`w-14 h-14 roun
491ded-xl ${e.color} flex items-center justify-center mx-auto mb-4 transition-colors`,children:n.jsx(e.icon,{className:`w-7 h-7 ${e.iconColor}`})}),n.jsx("h3",{className:"text-lg font-bold text-foreground mb-2",children:e.title}),n.jsx("p",{className:"text-muted-foreground text-sm",children:e.desc})]},e.title))})]})}),n.jsx("section",{id:"about-section",className:"bg-muted py-16 lg:py-24",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 max-w-6xl text-center",children:[n.jsx("span",{className:"text-purple-600 font-bold text-sm uppercase tracking-widest",children:"About"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3 mb-6",children:"Busting Gender Bias in Computer Science and Cyber Security"}),n.jsx("p",{className:"text-muted-foreground text-lg leading-relaxed mb-4",children:"Our initiative, proudly funded by the Science Foundation Ireland Discover Programme, is dedicated to breaking down gender barriers in the fields of computer science and cyber security. Through an innovative blend of science, arts, and humanities, we challenge gender bias and stereotypes that often discourage young women from pursuing careers in these vital areas."}),n.jsx("p",{className:"text-muted-foreground text-lg leading-relaxed mb-4",children:"Using Philosophy for Children (P4C) and storytelling, we foster a growth mindset and sharpen critical thinking skills, empowering girls to see themselves as future leaders in computer science and cyber security. By showcasing inspiring women leaders in these areas, we create emotional connections that ignite ambition and provide powerful role models for the next generation of cyber trailblazers. Together, we are shaping a more inclusive future in science and technology."}),n.jsx(L,{size:"lg",asChild:!0,className:"bg-purple-600 text-white hover:bg-purple-700 rounded-xl font-bold shadow-lg transition-all mt-4",children:n.jsxs("a",{href:"/busting-gender-bias-background",className:"inline-flex items-center gap-2",children:["Learn More ",n.jsx(le,{className:"w-4 h-4"})]})})]})}),n.jsx("section",{className:"bg-card py-16 lg:py-24",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsxs("div",{className:"text-center mb-14",children:[n.jsx("span",{className:"text-purple-600 font-bold text-sm uppercase tracking-widest",children:"Related"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3",children:"Related Projects"}),n.jsx("p",{className:"mt-4 text-muted-foreground max-w-6xl mx-auto text-lg",children:"Busting Gender Bias in Computer Science and Cyber Security is part of a larger movement to empower young women through hands-on, engaging experiences in technology. By creating synergies with related projects such as First Lego League, Zero Days Capture the Flag, and Challenge-Based Learning Days, we amplify our impact and broaden opportunities for girls to explore coding, robotics, cyber security, and problem-solving in fun and dynamic ways. These projects are infused with the principles of the Sustainable Development Goals (SDGs) and Global Citizenship Education (GCE), encouraging participants to address societal challenges and real-world issues through technology. By fostering critical thinking and social responsibility, we provide a supportive and inclusive environment where girls build the confidence and skills they need to tackle pressing global problems and thrive as tech-savvy, socially-conscious leaders of tomorrow. Together, we are driving a collective effort to inspire and equip the next generation of female leaders in STEM."})]}),n.jsxs("div",{className:"grid md:grid-cols-3 gap-8 max-w-6xl mx-auto",children:[n.jsxs("div",{className:"bg-background rounded-2xl border border-border hover:shadow-lg transition-shadow overflow-hidden",children:[n.jsx("img",{src:oj,alt:"Cyberwise Shared Learning Day",className:"w-full h-48 object-cover object-top"}),n.jsxs("div",{className:"p-8",children:[n.jsx("h3",{className:"text-lg font-bold text-foreground mb-3",children:"Cyberwise Shared Learning Day"}),n.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"The Cyberwise Shared Learning Day was a comprehensive educational event focused on the intersection of cybersecurity and Global Citizenship Education (GCE). Held in April 2024, the day featured a variety of engaging activities, including a Zero Days Capture the Flag challenge, where participants tackled real-world cyber and GCE issues."})]})]}),n.jsxs("div",{className:"bg-background rounded-2xl border border-border hover:shadow-lg transition-shadow overflow-hidden",children:[n.jsx("img",{src:lj,alt:"AI in My Life",className:"w-full h-48 object-cover object-top"}),n.jsxs("div",{className:"p-8",children:[n.jsx("h3",{className:"text-lg font-bold text-foreground mb-3",children:"AI in My Life"}),n.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"Artificial intelligence (AI) is one of the most transformative innovations of our time. While AI offers substantial benefits to individuals and society, it has major implications for privacy, ethics and security. The ADAPT Centre offers a free modular workshop programme to help Transition Year (TY) students navigate the Age of AI successfully and safely."})]})]}),n.jsxs("div",{className:"bg-background rounded-2xl border border-border hover:shadow-lg transition-shadow overflow-hidden",children:[n.jsx("img",{src:f8,alt:"Challenge Based Learning Day",className:"w-full h-48 object-cover object-top"}),n.jsxs("div",{className:"p-8",children:[n.jsx("h3",{className:"text-lg font-bold text-foreground mb-3",children:"Challenge Based Learning Day"}),n.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"The Challenge-Based 
491Learning Day, held in October 2023, immersed students in the critical societal issue of cybersecurity and its connection to the Sustainable Development Goals (SDGs). This event aimed to deepen students' understanding of cybersecurity's impact on various aspects of life and its essential role in achieving sustainable development."})]})]})]}),n.jsx("div",{className:"text-center mt-10",children:n.jsx(L,{size:"lg",asChild:!0,className:"bg-purple-600 text-white hover:bg-purple-700 rounded-xl font-bold shadow-lg transition-all",children:n.jsxs("a",{href:"/projects",className:"inline-flex items-center gap-2",children:["View Latest Projects ",n.jsx(le,{className:"w-4 h-4"})]})})})]})}),n.jsx("section",{className:"py-14 border-t border-border",style:{backgroundColor:"hsl(0 0% 95%)"},children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsx("div",{className:"flex flex-wrap items-center justify-center gap-8 md:gap-12",children:[{src:Eo,alt:"University College Dublin"},{src:So,alt:"Science Foundation Ireland"},{src:To,alt:"Department of Education"},{src:_o,alt:"UCD Centre for Cyber Resilience Education"}].map(e=>n.jsx("div",{className:"bg-white rounded-xl px-8 py-6 shadow-sm border border-border flex items-center justify-center h-32",children:n.jsx("img",{src:e.src,alt:e.alt,className:"max-h-[104px] max-w-[286px] object-contain"})},e.alt))})})}),n.jsx(ae,{})]}),x8="/assets/team-olga-ioannidou-BQzPCgdS.png",y8=[{name:"Rachel Farrell",role:"UCD School of Education",img:kd,desc:"Centre Director with overall responsibility for co-ordinating the activities of the centre in collaboration with a multi-disciplinary team as outlined below."},{name:"Karen Maye",role:"UCD School of Education",img:Vp,desc:"Cyberwise project manager and PhD candidate in school-university partnerships."},{name:"Marelle Rice",role:"UCD School of Education",img:Hp,desc:"Research project manager and PhD candidate in the area of Global Citizenship Education in Initial Teacher Education – focusing on philosophical inquiry and critical thinking."},{name:"Dr Olga Ioannidou",role:"UCD School of Education",img:x8,desc:"Dr Olga Ioannidou has extensive expertise in education and research impact to address and dismantle gender biases in educational settings. Drawing on her experience with international projects like FEDORA and SciKids, Olga brings a nuanced understanding of how gender biases can manifest in early education and beyond. Her work in the project focuses on developing strategies to integrate gender-sensitive approaches into teacher education and curriculum design, ensuring that educators are equipped to foster more inclusive and equitable learning environments."},{name:"Dr Rob Brennan",role:"Computer Science & ADAPT Centre",img:aj,desc:"Member of Advisory Board with responsibility for AI and cyber related crisis management."},{name:"Dr Eugenio Lilli",role:"The Clinton Institute for American Studies",img:Wp,desc:"Centre Deputy Director with responsibility for the intersection of cyber technologies and global affairs."}],b8=["Providing hands-on experiences, role models, and mentorship to encourage girls' interest and participation in these fields.","Establishing inclusive learning environments that eliminate gender biases and promote diversity.","Highlighting and amplifying the achievements of women in computer science and cybersecurity to inspire the next generation of female professionals.","Collaborating with industry partners to implement strategies addressing gender bias within organisations.","Challenging stereotypes and promoting gender equality through educational activities and engaging discussions.","Developing critical thinking and inquiry-based learning skills among students to equip them for challenges in the digital world.","Creating mentoring schemes with local experts to provide visible role models and facilitate interactions between students and professionals.","Fostering an online community of practice for teachers to collaborate, share resources, and exchange best practices in computer science and cybersecurity education.","Providing accessible digital resources and engaging with relevant communities to promote the importance of computer science and cybersecurity education."],v8=["Increased positive attitudes towards computer science and cybersecurity among girls in target schools.","Fostering engagement with STEM subjects and sparking a passion that motivates girls to pursue further studies and careers in computer science and cybersecurity.","Empowering students to become future leaders in computer science and cybersecurity by boosting their aspiration, motivation, and confidence.","Reduction of unconscious gender bias through increased awareness and appreciation of women's achievements in these fields.","Development of critical thinking and inquiry-based learning skills among participating students – supports GCE.","Establishment of strong connections between sc
491hools and the industry through mentoring schemes with local experts.","Creation of a supportive network for ongoing engagement and knowledge-sharing in computer science and cybersecurity education.","Long-term impact on girls' attitudes towards STEM subjects and careers."],w8=()=>n.jsxs("div",{className:"min-h-screen",children:[n.jsx(se,{}),n.jsxs("section",{className:"relative py-16 lg:py-24 overflow-hidden",style:{background:"linear-gradient(135deg, hsl(270 60% 30%) 0%, hsl(260 70% 45%) 30%, hsl(240 65% 50%) 60%, hsl(210 80% 50%) 100%)"},children:[n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_top_right,_hsla(280,80%,70%,0.3)_0%,_transparent_60%)]"}),n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 relative z-10 text-center",children:[n.jsx("span",{className:"text-purple-200 font-bold text-sm uppercase tracking-widest",children:"Background"}),n.jsx("h1",{className:"text-4xl md:text-5xl font-extrabold text-white mt-3 mb-4 leading-tight",children:"Busting Gender Bias"}),n.jsx("p",{className:"text-white/80 text-lg max-w-3xl mx-auto",children:"Learn more about our team, project plans, and expected outcomes for bridging the gender gap in computer science and cybersecurity."})]})]}),n.jsx("div",{className:"bg-background border-b border-border",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8 py-3",children:n.jsxs("nav",{className:"flex items-center gap-2 text-sm",children:[n.jsx("a",{href:"/busting-gender-bias",className:"text-purple-600 hover:text-purple-800 font-medium",children:"Busting Gender Bias"}),n.jsx("span",{className:"text-muted-foreground",children:"/"}),n.jsx("span",{className:"text-muted-foreground",children:"Backgroun
491d"})]})})}),n.jsx("section",{className:"py-14 border-b border-border",style:{backgroundColor:"hsl(0 0% 95%)"},children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsx("div",{className:"flex flex-wrap items-center justify-center gap-8",children:[{src:Eo,alt:"University College Dublin"},{src:So,alt:"Science Foundation Ireland"},{src:To,alt:"Department of Education"},{src:_o,alt:"UCD Centre for Cyber Resilience Education"}].map(e=>n.jsx("div",{className:"bg-white rounded-xl px-8 py-6 shadow-sm border border-border flex items-center justify-center h-32",children:n.jsx("img",{src:e.src,alt:e.alt,className:"max-h-[104px] max-w-[286px] object-contain"})},e.alt))})})}),n.jsx("section",{className:"bg-muted py-16 lg:py-24",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsxs("div",{className:"text-center mb-14",children:[n.jsx("span",{className:"text-purple-600 font-bold text-sm uppercase tracking-widest",children:"Our Team"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3",children:"The Team"})]}),n.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-8 max-w-5xl mx-auto",children:y8.map(e=>n.jsxs("div",{className:"bg-background rounded-2xl p-6 border border-border text-center",children:[n.jsx("img",{src:e.img,alt:e.name,className:"w-24 h-24 rounded-full object-cover object-top mx-auto mb-4"}),n.jsx("h3",{className:"text-lg font-bold text-foreground mb-1",children:e.name}),n.jsx("p",{className:"text-purple-600 text-sm font-semibold mb-3",children:e.role}),n.jsx("p",{className:"text-muted-foreground text-xs leading-relaxed",children:e.desc})]},e.name))})]})}),n.jsx("section",{className:"bg-card py-16 lg:py-24",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 max-w-4xl",children:[n.jsxs("div",{className:"text-center mb-12",children:[n.jsx("span",{className:"text-purple-600 font-bold text-sm uppercase tracking-widest",children:"Strategy"}),n.jsxs("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3 flex items-center justify-center gap-3",children:[n.jsx(Vo,{className:"w-8 h-8 text-purple-600"})," Project Plans"]}),n.jsx("p",{className:"mt-4 text-muted-foreground max-w-2xl mx-auto text-lg",children:"The project plans to bridge the gender gap in computer science and cybersecurity through various strategies:"})]}),n.jsx("ul",{className:"space-y-4",children:b8.map((e,t)=>n.jsxs("li",{className:"flex items-start gap-3 bg-background rounded-xl p-4 border border-border",children:[n.jsx("span",{className:"w-7 h-7 rounded-full bg-purple-100 flex items-center justify-center flex-shrink-0 text-sm font-bold text-purple-600",children:t+1}),n.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:e})]},t))})]})}),n.jsx("section",{className:"bg-muted py-16 lg:py-24",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 max-w-4xl",children:[n.jsxs("div",{className:"text-center mb-12",children:[n.jsx("span",{className:"text-purple-600 font-bold text-sm uppercase tracking-widest",children:"Impact"}),n.jsxs("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3 flex items-center justify-center gap-3",children:[n.jsx(Bt,{className:"w-8 h-8 text-purple-600"})," Expected Outcomes"]}),n.jsx("p",{className:"mt-4 text-muted-foreground max-w-2xl mx-auto text-lg",children:"The expected outcomes of the project include:"})]}),n.jsx("ul",{className:"space-y-4",children:v8.map((e,t)=>n.jsxs("li",{className:"flex items-start gap-3 bg-background rounded-xl p-4 border border-border",children:[n.jsx("span",{className:"w-2 h-2 rounded-full bg-fuchsia-500 mt-2 flex-shrink-0"}),n.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:e})]},t))})]})}),n.jsx("section",{className:"relative py-16 lg:py-20 overflow-hidden",style:{background:"linear-gradient(135deg, hsl(270 60% 30%) 0%, hsl(260 70% 45%) 50%, hsl(240 65% 50%) 100%)"},children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 text-center max-w-3xl relative z-10",children:[n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-white mb-4",children:"Join the Movement"}),n.jsx("p",{className:"text-white/80 text-lg mb-8",children:"Help us break down gender barriers in computer science and cyber security."}),n.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[n.jsx(L,{size:"lg",asChild:!0,className:"bg-white text-purple-700 hover:bg-purple-50 rounded-xl font-bold shadow-lg transition-all",children:n.jsxs("a",{href:"/contact-us",className:"inline-flex items-center gap-2",children:["Contact Us ",n.jsx(le,{className:"w-4 h-4"})]})}),n.jsx(L,{size:"lg",asChild:!0,className:"border-2 border-white/60 text-white hover:bg-white/10 rounded-xl font-bold bg-transparent transition-all",children:n.jsx("a",{href:"/busting-gender-bias",className:"inline-flex items-center gap-2",children:"Back to Overview"})})]})]})}),n.jsx("section",{className:"py-14 border-t border-border",style:{backgroundColor:"hsl(0 0% 95%)"},children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsx("div",{className:"flex flex-wrap items-center justify-center gap-8",children:[{src:Eo,alt:"University College Dublin"},{src:So,alt:"Science Foundation Ireland"},{src:To,alt:"Department of Education"},{src:_o,alt:"UCD Centre for Cyber Resilience Education"}].map(e=>n.jsx("div",{className:"bg-white rounded-xl px-8 py-6 shadow-sm border border-border flex items-center justify-center h-32",children:n.jsx("img",{src:e.src,alt:e.alt,className:"max-h-[104px] max-w-[286px] object-contain"})},e.alt))})})}),n.jsx(ae,{})]}),ny=[{key:"all",label:"All",icon:n.jsx(Us,{className:"w-3.5 h-3.5"})},{key:"books",label:"Books",icon:n.jsx(pe,{className:"w-3.5 h-3.5"})},{key:"videos",label:"Videos & Docs",icon:n.jsx(go,{className:"w-3.5 h-3.5"})},{key:"articles",label:"Articles",icon:n.jsx(vr,{className:"w-3.5 h-3.5"})},{key:"courses",label:"Courses & Programs",icon:n.jsx(Qe,{className:"w-3.5 h-3.5"})},{key:"p4c",label:"P4C",icon:n.jsx(Cp,{className:"w-3.5 h-3.5"})},{key:"gender-bias",label:"Gender Bias",icon:n.jsx(Qe,{className:"w-3.5 h-3.5"})},{key:"downloads",label:"Downloads",icon:n.jsx(qe,{className:"w-3.5 h-3.5"})}],j8=[{title:"Grace Hopper: Queen of Computer Code",description:"By Laurie Wallmark and Katy Wu – Inspirational book about the pioneer of computer science.",category:"books",type:"link",url:"https://www.amazon.com/s?k=Grace+Hopper+Queen+of+Computer+Code"},{title:"Hedy Lamarr's Double Life",description:"Hollywood Legend and Brilliant Inventor – Volume 4.",category:"books",type:"link",url:"https://www.amazon.com/s?k=Hedy+Lamarr+Double+Life"},{title:"Hedy Lamarr (Little People, BIG DREAMS)",description:"Part of the beloved Little People BIG DREAMS series.",category:"books",type:"link",url:"https://www.amazon.com/s?k=Hedy+Lamarr+Little+People+Big+Dreams"},{title:"Counting on Katherine",description:"How Katherine Johnson Put Astronauts on the Moon.",category:"books",type:"link",url:"https://www.amazon.com/s?k=Counting+on+Katherine"},{title:"Hidden Figures by Margot Lee Shetterly",description:"The Untold Story of the Black Women Mathematicians Who Helped Win the Space Race.",category:"books",type:"link",url:"https://www.amazon.com/s?k=Hidden+Figures+Margot+Lee+Shetterly"},{title:"Katherine Johnson by Leila Rasheed",description:"Inspirational biography for young readers.",category:"books",type:"link",url:"https://www.amazon.com/s?k=Katherine+Johnson+Leila+Rasheed"},{title:"Instructions not Included – Kay McNulty",description:"The story of the Irish ENIAC programmer.",category:"books",type:"link",url:"https://www.amazon.com/s?k=Instructions+not+included+Kay+McNulty"},{title:"Fantastically Great Women Who Changed the World",description:"By Kate Pankhurst – bitesize biographies of trailblazing women.",category:"books",type:"link",url:"https://www.amazon.com/s?k=Fantastically+Great+Women+Changed+World"},{title:"Good Night Stories for Rebel Girls",description:"100 tales of extraordinary women.",category:"books",type:"link",url:"https://www.amazon.com/s?k=Good+Night+Stories+Rebel+Girls"},{title:"101 Awesome Women Who Changed Our World",description:"Bitesize biographies of activists, leaders, athletes, artists, explorers.",category:"books",type:"link",url:"https://www.amazon.com/s?k=101+awesome+women+who+changed+our+world"},{title:"Little Leaders: Visionary Women Around the World",description:"True stories of 40 inspirational women creators.",category:"books",type:"link",url:"https://www.amazon.com/s?k=Little+Leaders+Visionary+Women"}
491,{title:"Code It! Create It! (Girls Who Code)",description:"Ideas and inspiration for coding.",category:"books",type:"link",url:"https://www.amazon.com/s?k=Code+It+Create+It+Girls+Who+Code"},{title:"Girls Who Code – Code at Home",description:"Free coding activities and projects for girls.",category:"courses",type:"link",url:"https://girlswhocode.com/"},{title:"Online course for encouraging girls in CS",description:"Courses designed to encourage girls to pursue computer science.",category:"courses",type:"link"},{title:"10 Books About Coding To Inspire Girls",description:"Curated list to inspire girls.",category:"courses",type:"link"},{title:"Coding for Girls",description:"Resources and coding programmes designed specifically for girls.",category:"courses",type:"link"},{title:"CS Sandra Murphy – Defence Forces",description:"Inspirational video from the Irish Defence Forces.",category:"videos",type:"video",url:"https://vimeo.com/1011595517"},{title:"Amanda Joliffe – Dream Space Lead",description:"Inspirational video about women in tech.",category:"videos",type:"video",url:"https://vimeo.com/1051105442"},{title:"Yuliia Chimyrys – Microsoft",description:"Inspirational video from Microsoft.",category:"videos",type:"video",url:"https://vimeo.com/1051115476"},{title:"Haula Galadima – UCD Computer Science",description:"Inspirational video from UCD.",category:"videos",type:"video",url:"https://vimeo.com/1011593710"},{title:"Charlotte R. Blease, PhD",description:"Inspirational video about women in CS.",category:"videos",type:"video",url:"https://vimeo.com/1011573273"},{title:"Queen of Code – Grace Hopper",description:"Documentary about Grace Hopper.",category:"videos",type:"video",url:"https://www.youtube.com/watch?v=5sNuPGKyTdg"},{title:"How to find the superhero within you – Dr Sue Black",description:"Dr Sue Black shares her incredible life story.",category:"videos",type:"video",url:"https://www.bbc.co.uk/ideas/videos/how-to-find-the-superhero-within-you/p06mvstw"},{title:"The Computers: ENIAC Programmers",description:"Story of six women who programmed the world's first electronic computer.",category:"videos",type:"video",url:"https://youtube.com/watch?v=k4oGI_dNaPc"},{title:"Girl toys vs boy toys – BBC Stories",description:"Gender-stereotyping experiment with children's toys.",category:"videos",type:"video",url:"https://youtube.com/watch?v=nWu44AqF0iI"},{title:"Busting Gender Bias – Karen Maye",description:"Presentation on gender bias in CS and cybersecurity.",category:"videos",type:"video",url:"https://youtube.com/watch?v=8PePyb_gP_w"},{title:"Science, It's a Girl Thing – European Commission",description:"Campaign to attract more women to science.",category:"videos",type:"video",url:"https://youtube.com/watch?v=iuJ1zp-QT8o"},{title:"Gender-equality paradox in STEM – BBC Newsnight",description:"Why more gender-equal countries may have fewer women in STEM.",category:"videos",type:"video",url:"https://youtube.com/watch?v=tn3yqmiwKAk"},{title:"Women in tech conference – The Telegraph",description:"Grace Hopper Celebration controversy.",category:"videos",type:"video",url:"https://youtube.com/watch?v=UVOd8KMXSYE"},{title:"Where did all the women in tech go? – BBC Ideas",description:"Women dominated UK computing in the 1950s-60s.",category:"videos",type:"video",url:"https://youtube.com/watch?v=oNdc5ZCuhjQ"},{title:"What happened to all the women in computer science?",description:"Article exploring the decline of women in CS.",category:"articles",type:"link",url:"https://www.npr.org/sections/money/2014/10/21/357629765/when-women-stopped-coding"},{title:"Why does John get the STEM job rather than Jennifer?",description:"Research on gender bias in STEM hiring.",category:"articles",type:"link"},{title:"The impact of gender on computing",description:"Article examining gender dynamics.",category:"articles",type:"link"},{title:"Nature article on gender in STEM",description:"Research on gender equality in STEM fields.",category:"articles",type:"link",url:"https://www.nature.com/search?q=gender+in+STEM"},{title:"100 Inspirational Cybersecurity Quotes",description:"A collection of powerful cybersecurity quotes.",category:"articles",type:"link",url:"https://www.google.com/search?q=100+inspirational+cybersecurity+quotes"},{title:"Top 10 women in cyber security – Sue Black",description:"Sue Black champions women in cybersecurity.",category:"articles",type:"link",url:"https://www.google.com/search?q=top+10+women+in+cyber+security+sue+black"},{title:"30 inspirational women in cybersecurity",description:"Profiles of trailblazing women.",category:"articles",type:"link",url:"https://www.google.com/search?q=30+inspirational+women+in+cybersecurity"},{title:"Inspirational women in computing: past, present, future",description:"Article and lesson on women's contributions.",category:"articles",type:"link"},{title:"Girls Security – Encouraging Women in Cybersecurity",description:"Microsoft resources for women in cyber.",category:"courses",type:"link"},{title:"Take the Harvard Implicit Association Test (IAT)",description:"Uncover hidden biases beyond your conscious awareness.",category:"gender-bias",type:"link",url:"https://implicit.harvard.edu/implicit/takeatouchtest.html"},{title:"Busting Gender Stereotypes Poster",description:"Downloadable poster for classrooms.",category:"gender-bias",type:"download",url:"/downloads/Busting-Gender-Stereotypes.pdf"},{title:"P4C Support Materials",description:"Philosophy for Children support materials.",category:"p4c",type:"download",url:"/downloads/BGB-P4C-Support-Material.docx"},{title:"Busting Gender Stereotypes Poster (PDF)",description:"Visual poster resource.",category:"downloads",type:"download",url:"/downloads/Busting-Gender-Stereotypes.pdf"},{title:"P4C Support Material (DOCX)",description:"P4C inquiry support materials.",category:"downloads",type:"download",url:"/downloads/BGB-P4C-Support-Material.docx"}],N8={all:"bg-purple-600 text-white",books:"bg-amber-100 text-amber-800 border-amber-200",videos:"bg-red-100 text-red-800 border-red-200",articles:"bg-emerald-100 text-emerald-800 border-emerald-200",courses:"bg-purple-100 text-purple-800 border-purple-200",p4c:"bg-cyan-100 text-cyan-800 border-cyan-200","gender-bias":"bg-pink-100 text-pink-800 border-pink-200",downloads:"bg-indigo-100 text-indigo-800 border-indigo-200"},k8=()=>{const[e,t]=w.useState(""),[r,s]=w.useState("all"),a=j8.filter(i=>{const o=r==="all"||i.category===r,l=!e||i.title.toLowerCase().includes(e.toLowerCase())||i.description.toLowerCase().includes(e.toLowerCase());return o&&l});return n.jsxs("div",{className:"min-h-screen",children:[n.jsx(se,{}),n.jsxs("section",{className:"relative py-16 lg:py-24 overflow-hidden",style:{background:"linear-gradient(135deg, hsl(270 60% 30%) 0%, hsl(260 70% 45%) 30%, hsl(240 65% 50%) 60%, hsl(210 80% 50%) 100%)"},children:[n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_top_right,_hsla(280,80%,70%,0.3)_0%,_transparent_60%)]"}),n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 relative z-10 text-center",children:[n.jsx("span",{className:"text-purple-200 font-bold text-sm uppercase tracking-widest",children:"Resource Library"}),n.jsx("h1",{className:"text-4xl md:text-5xl font-extrabold text-white mt-3 mb-4 leading-tight",children:"Explore Resources"}),n.jsx("p",{className:"text-white/80 text-lg max-w-3xl mx-auto",children:"Search and filter all Busting Gender Bias resources in one place."})]})]}),n.jsx("div",{className:"bg-background border-b border-border",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8 py-3",children:n.jsxs("nav",{className:"flex items-center gap-2 text-sm",children:[n.jsx("a",{href:"/busting-gender-bias",className:"text-purple-600 hover:text-purple-800 font-medium",children:"Busting Gender Bias"}),n.jsx("span",{className:"text-muted-foreground",children:"/"}),n.jsx("span",{className:"text-muted-foreground",children:"Explore Resources"})]})})}),n.jsx("section",{className:"py-14 border-b border-border",style:{backgroundColor:"hsl(0 0% 95%)"},children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsx("div",{className:"flex flex-wrap items-center justify-center gap-8 md:gap-12",children:[{src:Eo,alt:"University College Dublin"},{src:So,alt:"Science Foundation Ireland"},{src:To,alt:"Department of Education"},{src:_o,alt:"UCD Centre for Cyber Resilience Education"}].map(i=>n.jsx("div",{className:"bg-white rounded-xl px-8 py-6 shadow-sm border border-border flex items-center justify-center h-32",children:n.jsx("img",{src:i.src,alt:i.alt,className:"max-h-[104px] max-w-[286px] object-contain"})},i.alt))})})}),n.jsx("section",{className:"bg-card py-16 lg:py-24",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsxs("div",{className:"max-w-5xl mx-auto mb-8",children:[n.jsxs("div",{className:"relative mb-4",children:[n.jsx(Us,{className:"absolute left-4 top-1/2 -translate-y-1/2 w-5 h-5 text-muted-foreground"}),n.jsx("input",{type:"text",placeholder:"Search resources...",value:e,onCh
491ange:i=>t(i.target.value),className:"w-full pl-12 pr-4 py-3 rounded-xl border border-border bg-background text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-purple-500/30"})]}),n.jsx("div",{className:"flex flex-wrap gap-2",children:ny.map(i=>n.jsxs("button",{onClick:()=>s(i.key),className:`inline-flex items-center gap-1.5 px-4 py-2 rounded-full text-xs font-semibold border transition-all ${r===i.key?"bg-purple-600 text-white border-purple-600":"bg-background text-foreground border-border hover:bg-muted"}`,children:[i.icon," ",i.label]},i.key))})]}),n.jsxs("div",{className:"max-w-5xl mx-auto",children:[n.jsxs("p",{className:"text-sm text-muted-foreground mb-4",children:[a.length," resource",a.length!==1?"s":""," found"]}),n.jsx("div",{className:"grid sm:grid-cols-2 gap-4",children:a.map((i,o)=>{var l;return n.jsx("div",{className:"bg-background rounded-xl p-5 border border-border hover:shadow-md transition-shadow",children:n.jsxs("div",{className:"flex items-start gap-3",children:[n.jsx("div",{className:"w-8 h-8 rounded-lg bg-purple-100 flex items-center justify-center flex-shrink-0 mt-0.5",children:i.type==="video"?n.jsx(go,{className:"w-4 h-4 text-purple-600"}):i.type==="download"?n.jsx(qe,{className:"w-4 h-4 text-purple-600"}):n.jsx(me,{className:"w-4 h-4 text-purple-600"})}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsx("h4",{className:"text-sm font-bold text-foreground mb-1 leading-snug",children:i.title}),n.jsx("p",{className:"text-xs text-muted-foreground mb-2 leading-relaxed",children:i.description}),n.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[n.jsx("span",{className:`text-[10px] font-bold px-2 py-0.5 rounded-full ${N8[i.category]}`,children:(l=ny.find(c=>c.key===i.category))==null?void 0:l.label}),i.url&&n.jsxs("a",{href:i.url,target:i.url.startsWith("/")?"_self":"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 text-purple-600 font-bold text-xs hover:gap-1.5 transition-all",children:[i.type==="download"?"Download":"Visit"," ",n.jsx(me,{className:"w-3 h-3"})]})]})]})]})},`${i.title}-${o}`)})})]})]})}),n.jsx(ae,{})]})},C8="/assets/pioneer-grace-hopper-Y88h97pS.jpg",S8="/assets/pioneer-hedy-lamarr-BLc2B0-8.jpg",E8="/assets/pioneer-katherine-johnson-ApffpAga.jpg",_8="/assets/pioneer-kay-mcnulty-C8npu4WL.jpg",T8="/assets/book-great-women-DAwG-cS9.jpg",A8="/assets/book-rebel-girls-Dxr7bLfT.jpg",P8="/assets/book-101-women-upAHwCyd.jpg",R8="/assets/book-little-leaders-nM0HcJB9.jpg",D8=[{name:"Grace Hopper",caption:"Hopper at the UNIVAC I console, c. 1960",img:C8,bio:"Grace Brewster Hopper, a visionary American computer scientist, mathematician, and United States Navy rear admiral, shattered barriers and revolutionised the world of computing. Born in 1906, Hopper's passion for mathematics and problem-solving led her to a groundbreaking career.",books:["Grace Hopper: Queen of Computer Code by Laurie Wallmark and illustrated by Katy Wu"],videos:[{title:"Queen of Code – Grace Hopper",url:"https://www.youtube.com/watch?v=5sNuPGKyTdg"},{title:"Grace on the Letterman Show",url:"https://www.youtube.com/results?search_query=grace+hopper+letterman"},{title:"Grace Hopper: Queen of Computer Code (Narrated)",url:"https://www.youtube.com/results?search_query=grace+hopper+queen+of+computer+code+narrated"}]},{name:"Hedy Lamarr",caption:"Hedy Lamarr, 1944",img:S8,bio:"Born Hedwig Eva Maria Kiesler in Austria in 1914, Lamarr's life was a fascinating blend of glamour and groundbreaking scientific contributions. While she achieved fame as a Hollywood actress, Lamarr's true passion lay in the realm of invention. During World War II, she co-invented a system for frequency hopping, a technology that laid the groundwork for modern wireless communications like Wi-Fi and Bluetooth.",books:["Hedy Lamarr's Double Life: Hollywood Legend and Brilliant Inventor Volume 4","Hedy Lamarr (93) (Little People, BIG DREAMS)"],videos:[]},{name:"Katherine Johnson",caption:"Johnson working at the Spacecraft Controls Branch of NASA in 1966.",img:E8,bio:"Katherine Johnson, born Creola Katherine Coleman in 1918, was an exceptional American mathematician whose brilliance and dedication played an indispensable role in shaping the history of space exploration. As a NASA employee, Johnson's expertise in orbital mechanics, the complex mathematics governing the motion of spacecraft, was crucial to the success of America's early space missions.",books:["Counting on Katherine: How Katherine Johnson Put Astronauts on the Moon","Hidden Figures by Margot Lee Shetterly","Katherine Johnson by Leila Rasheed"],videos:[]},{name:"Kay McNulty",caption:"Kay McNulty in her high school graduation portrait, 1938",img:_8,bio:`Kathleen "Kay" McNulty, an Irish mathematician and computer programmer, stands as a testament to the pioneering spirit of women in technology. Born in 1921, McNulty's journey from a small Irish village to becoming one of the six original programmers of the ENIAC, one of the world's first electronic digital computers, is nothing short of remarkable.`,books:["Instructions not Included – Kay McNulty"],videos:[]}
491],I8=[{img:P8,description:"This beautifully illustrated book is packed with bitesize biographies of activists, leaders, athletes, artists, explorers, and STEM innovators.",url:"https://www.amazon.com/s?k=101+awesome+women+who+changed+our+world"},{img:T8,description:"Kate Pankhurst, descendent of suffragette Emmeline Pankhurst, has created a wildly wonderful and accessible book about women who really changed the world.",url:"https://www.amazon.com/s?k=fantastically+great+women+who+changed+the+world"},{img:A8,description:"Created out of the most successful publishing project in crowdfunding, this must-have volume brings readers on an empowering journey, introducing them to the real-life adventures of trailblazing women.",url:"https://www.amazon.com/s?k=good+night+stories+for+rebel+girls"},{img:R8,description:"Featuring the true stories of 40 inspirational women creators – from writers to inventors, artists to scientists – this book is as inspirational as it is educational.",url:"https://www.amazon.com/s?k=little+leaders+visionary+women+around+the+world"}],O8=()=>n.jsxs("div",{className:"min-h-screen",children:[n.jsx(se,{}),n.jsxs("section",{className:"relative py-16 lg:py-24 overflow-hidden",style:{background:"linear-gradient(135deg, hsl(270 60% 30%) 0%, hsl(260 70% 45%) 30%, hsl(240 65% 50%) 60%, hsl(210 80% 50%) 100%)"},children:[n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_top_right,_hsla(280,80%,70%,0.3)_0%,_transparent_60%)]"}),n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 relative z-10 text-center",children:[n.jsx("span",{className:"text-purple-200 font-bold text-sm uppercase tracking-widest",children:"Inspirational Books"}),n.jsx("h1",{className:"text-4xl md:text-5xl font-extrabold text-white mt-3 mb-4 leading-tight",children:"Computer Science and Cybersecurity"}),n.jsx("p",{className:"text-white/80 text-lg max-w-3xl mx-auto",children:"Inspirational books about women in Computer Science and Cybersecurity"})]})]}),n.jsx("div",{className:"bg-background border-b border-border",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8 py-3",children:n.jsxs("nav",{className:"flex items-center gap-2 text-sm",children:[n.jsx("a",{href:"/busting-gender-bias",className:"text-purple-600 hover:text-purple-800 font-medium",children:"Busting Gender Bias"}),n.jsx("span",{className:"text-muted-foreground",children:"/"}),n.jsx("span",{className:"text-muted-foreground",children:"Inspirational Books"})]})})}),n.jsx("section",{className:"bg-card py-16 lg:py-24",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsx("div",{className:"space-y-12 max-w-6xl mx-auto",children:D8.map(e=>n.jsx("div",{className:"bg-background rounded-2xl border border-border overflow-hidden",children:n.jsxs("div",{className:"grid md:grid-cols-3 gap-0",children:[n.jsxs("div",{className:"md:col-span-1",children:[n.jsx("img",{src:e.img,alt:e.name,className:"w-full h-64 md:h-full object-cover object-top"}),n.jsx("p",{className:"text-xs text-muted-foreground italic p-3 bg-muted",children:e.caption})]}),n.jsxs("div",{className:"md:col-span-2 p-6 md:p-8",children:[n.jsx("h3",{className:"text-2xl font-bold text-foreground mb-3",children:e.name}),n.jsx("p",{className:"text-muted-foreground leading-relaxed mb-5",children:e.bio}),e.books.length>0&&n.jsxs("div",{className:"mb-4",children:[n.jsx("span",{className:"text-xs font-bold text-purple-600 uppercase tracking-wider",children:"Recommended Books"}),n.jsx("ul",{className:"mt-2 space-y-1",children:e.books.map(t=>n.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[n.jsx(pe,{className:"w-4 h-4 text-purple-500 mt-0.5 flex-shrink-0"})," ",t]},t))})]}),e.videos.length>0&&n.jsxs("div",{children:[n.jsx("span",{className:"text-xs font-bold text-purple-600 uppercase tracking-wider",children:"Videos"}),n.jsx("ul",{className:"mt-2 space-y-1",children:e.videos.map(t=>n.jsx("li",{children:n.jsxs("a",{href:t.url,target:"_blank",rel:"noopener noreferrer",className:"text-sm text-purple-600 hover:text-purple-800 font-medium inline-flex items-center gap-1",children:[n.jsx(go,{className:"w-4 h-4"})," ",t.title]})},t.title))})]})]})]})},e.name))})})}),n.jsx("section",{className:"bg-muted py-16 lg:py-24",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsxs("div",{className:"text-center mb-14",children:[n.jsx("span",{className:"text-purple-600 font-bold text-sm uppercase tracking-widest",children:"Books"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3",children:"Inspirational Books about Women"})]}),n.jsx("div",{className:"grid sm:grid-cols-2 lg:grid-cols-4 gap-8 max-w-6xl mx-auto",children:I8.map((e,t)=>n.jsxs("div",{className:"bg-background rounded-2xl border border-border overflow-hidden hover:shadow-lg transition-shadow",children:[n.jsx("img",{src:e.img,alt:"Book cover",className:"w-full h-64 object-cover"}),n.jsxs("div",{className:"p-5",children:[n.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed mb-4",children:e.description}),e.url&&n.jsxs("a",{href:e.url,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 text-purple-600 font-bold text-sm hover:gap-2 transition-all",children:["Buy Here ",n.jsx(me,{className:"w-4 h-4"})]})]})]},t))})]})}),n.jsx("section",{className:"bg-card py-16 lg:py-24",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 max-w-5xl",children:[n.jsxs("div",{className:"text-center mb-14",children:[n.jsx("span",{className:"text-purple-600 font-bold text-sm uppercase tracking-widest",children:"For Girls"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3",children:"Books and Resources to Inspire Girls"})]}),n.jsx("div",{className:"grid sm:grid-cols-2 gap-6",children:[{title:"Code It! Create It!: Ideas & Inspiration for Coding",subt
491itle:"Girls Who Code"},{title:"Girls Who Code Series",subtitle:"Complete book series"},{title:"10 Books About Coding To Inspire Girls To Lead the Next Tech Revolution",subtitle:"Curated reading list"},{title:"Coding for Girls",subtitle:"Resources and programmes"},{title:"Novels to get kids and teens excited about coding!",subtitle:"Fiction that inspires"}].map(e=>n.jsxs("div",{className:"bg-background rounded-xl p-5 border border-border flex items-start gap-3",children:[n.jsx("div",{className:"w-8 h-8 rounded-lg bg-purple-100 flex items-center justify-center flex-shrink-0 mt-0.5",children:n.jsx(pe,{className:"w-4 h-4 text-purple-600"})}),n.jsxs("div",{children:[n.jsx("h4",{className:"text-sm font-bold text-foreground",children:e.title}),n.jsx("p",{className:"text-xs text-muted-foreground",children:e.subtitle})]})]},e.title))})]})}),n.jsx("section",{className:"bg-muted py-16 lg:py-24",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 max-w-5xl",children:[n.jsxs("div",{className:"text-center mb-14",children:[n.jsx("span",{className:"text-purple-600 font-bold text-sm uppercase tracking-widest",children:"Role Models"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3",children:"Inspirational Women in Computing and Cybersecurity"})]}),n.jsx("div",{className:"grid sm:grid-cols-2 gap-6",children:[{title:"Top 10 women in cyber security – Sue Black",url:"https://www.google.com/search?q=top+10+women+in+cyber+security+sue+black"},{title:"30 inspirational women in cybersecurity",url:"https://www.google.com/search?q=30+inspirational+women+in+cybersecurity"},{title:"Sue Black champions women in cybersecurity"},{title:"How to find the superhero within you",url:"https://www.bbc.com/videos/cnl0kdz77x2o"},{title:"Inspirational women in computing: the past, present and future"},{title:"Lesson – women in computing"},{title:"Girls Security – Encouraging Women in Cybersecurity"},{title:"MS Encouraging women to embrace cybersecurity"}].map(e=>n.jsxs("div",{className:"bg-background rounded-xl p-5 border border-border flex items-start gap-3",children:[n.jsx("div",{className:"w-8 h-8 rounded-lg bg-fuchsia-100 flex items-center justify-center flex-shrink-0 mt-0.5",children:n.jsx(pe,{className:"w-4 h-4 text-fuchsia-600"})}),n.jsxs("div",{children:[n.jsx("h4",{className:"text-sm font-bold text-foreground",children:e.title}),e.url&&n.jsxs("a",{href:e.url,target:"_blank",rel:"noopener noreferrer",className:"text-xs text-purple-600 font-medium inline-flex items-center gap-1 mt-1 hover:gap-1.5 transition-all",children:["Visit ",n.jsx(me,{className:"w-3 h-3"})]})]})]},e.title))}),n.jsx("div",{className:"text-center mt-12",children:n.jsx(L,{size:"lg",asChild:!0,className:"bg-purple-600 text-white hover:bg-purple-700 rounded-xl font-bold shadow-lg transition-all",children:n.jsxs("a",{href:"/busting-gender-bias",className:"inline-flex items-center gap-2",children:[n.jsx(le,{className:"w-4 h-4 rotate-180"})," Back to Overview"]})})})]})}),n.jsx(ae,{})]}),M8=()=>n.jsxs("div",{className:"min-h-screen",children:[n.jsx(se,{}),n.jsxs("section",{className:"relative py-16 lg:py-24 overflow-hidden",style:{background:"linear-gradient(135deg, hsl(270 60% 30%) 0%, hsl(260 70% 45%) 30%, hsl(240 65% 50%) 60%, hsl(210 80% 50%) 100%)"},children:[n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_top_right,_hsla(280,80%,70%,0.3)_0%,_transparent_60%)]"}),n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 relative z-10 text-center",children:[n.jsx("span",{className:"text-purple-200 font-bold text-sm uppercase tracking-widest",children:"Multimedia"}),n.jsx("h1",{className:"text-4xl md:text-5xl font-extrabold text-white mt-3 mb-4 leading-tight",children:"Videos and Documentaries"}),n.jsx("p",{className:"text-white/80 text-lg max-w-3xl mx-auto",children:"Browse a selection of videos, documentaries, and interactive articles about women in Computer Science and Cybersecurity."})]})]}),n.jsx("div",{className:"bg-background border-b border-border",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8 py-3",children:n.jsxs("nav",{className:"flex items-center gap-2 text-sm",children:[n.jsx("a",{href:"/busting-gender-bias",className:"text-purple-600 hover:text-purple-800 font-medium",children:"Busting Gender Bias"}),n.jsx("span",{className:"text-muted-foreground",children:"/"}),n.jsx("span",{className:"text-muted-foreground",children:"Multimedia"})]})})}),n.jsx("section",{className:"bg-card py-16 lg:py-24",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsxs("div",{className:"text-center mb-14",children:[n.jsx("span",{className:"text-purple-600 font-bold text-sm uppercase tracking-widest",children:"Inspirational"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3",children:"Women in Cyber Security / Computer Science"}),n.jsx("p",{className:"mt-4 text-muted-foreground max-w-3xl mx-auto text-lg",children:"We would like to thank everyone who contributed to the videos below. We hope you enjoy watching them."})]}),n.jsx("div",{className:"grid md:grid-cols-2 gap-8 max-w-6xl mx-auto",children:[{title:"CS Sandra Murphy – Defence Forces",vimeoId:"1011595517"},{title:"Amanda Joliffe – Dream Space Lead",vimeoId:"1051105442"},{title:"Yuliia Chimyrys – Microsoft",vimeoId:"1051115476"},{title:"Haula Galadima – School of Computer Science (UCD)",vimeoId:"1011593710"},{title:"Charlotte R. Blease, PhD",vimeoId:"1011573273"}].map(e=>n.jsxs("div",{className:"bg-background rounded-2xl border border-border overflow-hidden",children:[n.jsx("div",{className:"aspect-video",children:n.jsx("iframe",{src:`https://player.vimeo.com/video/${e.vimeoId}`,title:e.title,allow:"autoplay; fullscreen; picture-in-picture",allowFullScreen:!0,className:"w-full h-full"})}),n.jsx("div",{className:"p-4",children:n.jsx("h3",{className:"font-bold text-foreground text-sm",children:e.title})})]},e.vimeoId))})]})}),n.jsx("section",{className:"bg-muted py-16 lg:py-24",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsxs("div",{className:"text-center mb-14",children:[n.jsx("span",{className:"text-purple-600 font-bold text-sm uppercase tracking-widest",children:"Documentaries"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3",children:"Videos and Documentaries on Cybersecurity"})]}),n.jsxs("div",{className:"space-y-10 max-w-5xl mx-auto",children:[n.jsx("div",{className:"bg-background rounded-2xl border border-border overflow-hidden",children:n.jsxs("div",{className:"p-6 md:p-8",children:[n.jsx("h3",{className:"text-lg font-bold text-foreground mb-2",children:"How to find the superhero within you"}),n.jsx("p",{className:"text-muted-foreground text-sm mb-4",children:"Computer scientist Dr Sue Black shares the story of her incredible life – and shares a few tips."}),n.jsxs("a",{href:"https://www.bbc.co.uk/ideas/videos/how-to-find-the-superhero-within-you/p06mvstw",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 text-purple-600 font-bold text-sm hover:gap-2 transition-all",children:["Watch on BBC Ideas ",n.jsx(me,{className:"w-4 h-4"})]})]})}),n.jsxs("div",{className:"bg-background rounded-2xl border border-border overflow-hidden",children:[n.jsx("div",{className:"aspect-video",children:n.jsx("iframe",{src:"https://www.youtube.com/embed/k4oGI_dNaPc",title:"The Computers: ENIAC Programmers",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0,className:"w-full h-full"})}),n.jsxs("div",{className:"p-6 md:p-8",children:[n.jsx("h3",{className:"text-lg font-bold text-foreground mb-2",children:"The Computers: The Remarkable Story of the ENIAC Programmers"}),n.jsx("p",{className:"text-muted-foreground text-sm",children:"The remarkable story of the six young women who programmed the world's first all-electronic programmable computer, ENIAC, as part of a secret US WWII project."})]})]}),n.jsxs("div",{className:"bg-background rounded-2xl border border-border overflow-hidden",children:[n.jsx("div",{className:"aspect-video",children:n.jsx("iframe",{src:"https://www.youtube.com/embed/k4oGI_dNaPc",title:"ENIAC: The First Computer",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0,className:"w-full h-full"})}),n.jsxs("div",{className:"p-6 md:p-8",children:[n.jsx("h3",{className:"text-lg font-bold text-foreground mb-2",children:"ENIAC: The First Computer"}),n.jsx("p",{className:"text-muted-foreground text-sm",children:"Construction of the 27-ton, 680-square-foot computer began in July 1943 and was announced to the public on Feb. 14, 1946."})]})]})]})]})}),n.jsx("section",{className:"bg-card py-16 lg:py-24",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 max-w-5xl",children:[n.jsxs("div",{className:"text-center mb-14",children:[n.jsx("span",{className:"text-purple-600 font-bold text-sm uppercase tracking-widest",children:"Articles"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3",children:"Articles and Inspirational Quotes"})]}),n.jsx("div",{className:"grid sm:grid-cols-2 gap-6",children:[{title:"What happened to all the women in computer science?",url:"https://www.npr.org/sections/money/2014/10/21/357629765/when-women-stopped-coding"},{title:"Why does John get the STEM job rather than Jennifer?"},{title:"The impact of gender on computing"},{title:"Nature article on gender in STEM",url:"https://www.nature.com/search?q=gender+in+ST
491EM"},{title:"Another Nature article on gender in STEM",url:"https://www.nature.com/search?q=gender+equality+STEM"},{title:"100 Inspirational Cybersecurity Quotes [2024]",url:"https://www.google.com/search?q=100+inspirational+cybersecurity+quotes"},{title:"Cybersecurity quotes",url:"https://www.google.com/search?q=cybersecurity+quotes"}].map(e=>n.jsxs("div",{className:"bg-background rounded-xl p-5 border border-border flex items-start gap-3",children:[n.jsx("div",{className:"w-8 h-8 rounded-lg bg-emerald-100 flex items-center justify-center flex-shrink-0 mt-0.5",children:n.jsx(vr,{className:"w-4 h-4 text-emerald-600"})}),n.jsxs("div",{children:[n.jsx("h4",{className:"text-sm font-bold text-foreground",children:e.title}),e.url&&n.jsxs("a",{href:e.url,target:"_blank",rel:"noopener noreferrer",className:"text-xs text-purple-600 font-medium inline-flex items-center gap-1 mt-1 hover:gap-1.5 transition-all",children:["Read ",n.jsx(me,{className:"w-3 h-3"})]})]})]},e.title))}),n.jsx("div",{className:"text-center mt-12",children:n.jsx(L,{size:"lg",asChild:!0,className:"bg-purple-600 text-white hover:bg-purple-700 rounded-xl font-bold shadow-lg transition-all",children:n.jsxs("a",{href:"/busting-gender-bias",className:"inline-flex items-center gap-2",children:[n.jsx(le,{className:"w-4 h-4 rotate-180"})," Back to Overview"]})})})]})}),n.jsx(ae,{})]}),L8=()=>n.jsxs("div",{className:"min-h-screen",children:[n.jsx(se,{}),n.jsxs("section",{className:"relative py-16 lg:py-24 overflow-hidden",style:{background:"linear-gradient(135deg, hsl(270 60% 30%) 0%, hsl(260 70% 45%) 30%, hsl(240 65% 50%) 60%, hsl(210 80% 50%) 100%)"},children:[n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_top_right,_hsla(280,80%,70%,0.3)_0%,_transparent_60%)]"}),n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 relative z-10 text-center",children:[n.jsx("span",{className:"text-purple-200 font-bold text-sm uppercase tracking-widest",children:"Gender Bias"}),n.jsx("h1",{className:"text-4xl md:text-5xl font-extrabold text-white mt-3 mb-4 leading-tight",children:"Busting Gender Bias in Computer Science and Cyber Security"}),n.jsx("p",{className:"text-white/80 text-lg max-w-3xl mx-auto",children:"The main goal of the project is to empower young girls and bridge the gender gap in computer science and cybersecurity."})]})]}),n.jsx("div",{className:"bg-background border-b border-border",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8 py-3",children:n.jsxs("nav",{className:"flex items-center gap-2 text-sm",children:[n.jsx("a",{href:"/busting-gender-bias",className:"text-purple-600 hover:text-purple-800 font-medium",children:"Busting Gender Bias"}),n.jsx("span",{className:"text-muted-foreground",children:"/"}),n.jsx("span",{className:"text-muted-foreground",children:"Gender Bias"})]})})}),n.jsx("section",{className:"bg-card py-16 lg:py-24",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8 max-w-5xl",children:n.jsx("p",{className:"text-muted-foreground text-lg leading-relaxed text-center",children:"The project aims to combine philosophy, storytelling, and immersive technologies to inspire girls, develop a growth mindset and critical thinking, provide role models in STEM fields, engage girls in coding and robotics activities, and enhance STEM educators' skills to address gender bias in educational choices."})})}),n.jsx("section",{className:"bg-muted py-16 lg:py-24",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 max-w-5xl",children:[n.jsx("div",{className:"text-center mb-14",children:n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground",children:"Resources"})}),n.jsxs("div",{className:"grid md:grid-cols-2 gap-8 mb-12",children:[n.jsxs("div",{className:"bg-background rounded-2xl p-8 border border-border",children:[n.jsx("h3",{className:"text-lg font-bold text-foreground mb-4",children:"Busting Gender Stereotypes Poster"}),n.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed mb-4",children:"Download our poster resource for use in classrooms to spark discussions about gender stereotypes in computer science and cybersecurity."}),n.jsx(L,{size:"default",asChild:!0,className:"bg-purple-600 text-white hover:bg-purple-700 rounded-xl font-bold transition-all",children:n.jsxs("a",{href:"/downloads/Busting-Gender-Stereotypes.pdf",target:"_blank",className:"inline-flex items-center gap-2",children:[n.jsx(qe,{className:"w-4 h-4"})," Download Poster"]})})]}),n.jsxs("div",{className:"bg-background rounded-2xl border border-border overflow-hidden",children:[n.jsx("div",{className:"aspect-video",children:n.jsx("iframe",{src:"https://www.youtube.com/embed/8PePyb_gP_w",title:"Busting Gender Bias – Karen Maye",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0,className:"w-full h-full"})}),n.jsx("div",{className:"p-4",children:n.jsx("h3",{className:"font-bold text-foreground text-sm",children:"Busting Gender Bias in Computer Science and Cyber Security – Karen Maye"})})]})]}),n.jsxs("div",{className:"bg-background rounded-2xl border border-border overflow-hidden mb-12",children:[n.jsx("div",{className:"aspect-video",children:n.jsx("iframe",{src:"https://www.youtube.com/embed/nWu44AqF0iI",title:"Girl toys vs boy toys – BBC Stories",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0,className:"w-full h-full"})}),n.jsxs("div",{className:"p-6",children:[n.jsx("h3",{className:"text-lg font-bold text-foreground mb-2",children:"Girl toys vs boy toys: The experiment – BBC Stories"}),n.jsx("p",{className:"text-muted-foreground text-sm",children:"Are you sure you don't gender-stereotype children in the toys you choose for them?"})]})]})]})}),n.jsx("section",{className:"bg-card py-16 lg:py-24",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 max-w-5xl",children:[n.jsx("div",{className:"text-center mb-10",children:n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground",children:"Take the Harvard Implicit Association Test (IAT)"})}),n.jsxs("div",{className:"bg-background rounded-2xl p-8 border border-border max-w-3xl mx-auto",children:[n.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:"Since its online introduction in 1998, the Implicit Association Test (IAT) has enabled individuals to uncover hidden biases that may be beyond their conscious awareness—biases that researchers might miss through self-reported data."}),n.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:"The IAT works by having participants categorise onscreen words or images using specific keyboard keys. The response times to different c
491ombinations of stimuli are believed to reveal underlying mental associations, even those participants may not be consciously aware of."}),n.jsx("p",{className:"text-muted-foreground leading-relaxed mb-6",children:"The IAT was developed by APS William James Fellow Anthony Greenwald (University of Washington), who collaborated with APS Past President Mahzarin Banaji (Harvard University) and APS Fellow Brian Nosek (University of Virginia) in the mid-1990s. Over the years, this tool has been used to explore unconscious and automatic thought processes in various contexts, including among employers, police officers, jurors, and voters."}),n.jsx(L,{size:"lg",asChild:!0,className:"bg-purple-600 text-white hover:bg-purple-700 rounded-xl font-bold shadow-lg transition-all",children:n.jsxs("a",{href:"https://implicit.harvard.edu/implicit/takeatouchtest.html",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2",children:["Take a Test ",n.jsx(me,{className:"w-4 h-4"})]})})]}),n.jsx("div",{className:"text-center mt-12",children:n.jsx(L,{size:"lg",asChild:!0,className:"border-2 border-purple-600 text-purple-600 hover:bg-purple-50 rounded-xl font-bold transition-all bg-transparent",children:n.jsxs("a",{href:"/busting-gender-bias",className:"inline-flex items-center gap-2",children:[n.jsx(le,{className:"w-4 h-4 rotate-180"})," Back to Overview"]})})})]})}),n.jsx(ae,{})]}),$8=[{title:"Girl toys vs boy toys: The experiment - BBC Stories",youtubeId:"nWu44AqF0iI",published:"Published 16 Aug 2017",description:"The Experiment: Are you sure you don't gender-stereotype children in the toys you choose for them?",questions:["Why do you think some toys are labelled for boys and others for girls?","Do you think it's fair that boys and girls often get different toys? Why or why not?","Do you think toys should be for everyone, no matter if they're a boy or a girl? Why or why not?","What do you think would happen if all toys were just thought of as 'toys' instead of 'boy toys' and 'girl toys'?"]},{title:"LEGO Marketing Materials From the 1960s-1980s Encouraged Boys and Girls to Build Together",youtubeId:null,link:"https://flashbak.com/lego-marketing-materials-from-the-1960s-1980s-encouraged-boys-and-girls-to-build-together-404973/",published:"Josh Jones, September 17, 2018 – Published on Flashbak.com",description:`Much has been made over the years of a 1981 LEGO ad, and others like it, featuring a beaming young red-headed girl holding up her LEGO creation over the caption "What it is, is beautiful." "In 1981," explains Giordano, "LEGOs were 'Universal Building Sets' and that's exactly what they were…for boys and girls. Toys are supposed to foster creativity. But nowadays, it seems that a lot more toys already have messages built into them before a child even opens the pink or blue package. In 1981, LEGOs were simple and gender-neutral, and the creativity of the child produced the message. In 2014, it's the reverse: the toy delivers a message to the child, and this message is weirdly about gender." Rachel Giordano.`,questions:["Do you think it's better for a toy to let you create your own ideas or to give you ideas? Why?","Why do you think some toys are labelled for boys and others for girls?","Do you think it's fair that boys and girls often get different toys? Why or why not?",'What do you think it means for a toy to be "gender-neutral"?']},{title:"Science, It's a Girl Thing",youtubeId:"iuJ1zp-QT8o",published:"Published 27 Jul 2012",description:'This video was published by the European Commission for a campaign designed to attract more women to a career in science. The commission said that the video had to "speak their language to get their attention" and that it was intended to be "fun, catchy" and strike a chord with young people.',questions:["Is it important for boys and girls to have the same opportunities in careers? Why or why not?","Why are girls being encouraged to pursue a career in science?","Do you think girls will be more interested in a career in science if they watch the campaign video 'Science, It's a Girl Thing'? Why or why not?","What is the best way to find out about what it is like to be a woman with a career in science?"]},{title:"The 'gender-equality paradox' in STEM fields – BBC Newsnight",youtubeId:"tn3yqmiwKAk",published:"Published 15 Feb 2018",description:"David Grossman explores the 'gender-equality paradox' proposed in a new study which suggests that more gender-equal countries have fewer women pursuing careers in the fields of science, technology, engineering and mathematics.",questions:["Do you think boys and girls are equally interested in all subjects? Why or why not?","Should we encourage more people to pursue careers they are interested in, regardless of their gender?","How might having more women in STEM fields benefit society as a whole? Are there any disadvantages?","How important do you think role models are in encouraging young people to pursue certain careers?"]}
491,{title:"Women in tech conference overrun with men claiming to be 'non-binary' – The Telegraph",youtubeId:"UVOd8KMXSYE",published:"Published 5 Oct 2023",description:'A women in tech conference in Orlando was overrun by men lying on their applications by claiming to be "nonbinary," organisers have said. Men reportedly gate-crashed the Grace Hopper Celebration event, one of the largest job fairs for women and non-binary technologists.',questions:["Is it fair to have a technology conference only for women and non-binary technologists? Why or why not?","Why do women and non-binary people need help establishing a career in technology?","What advantages do men have over women and non-binary people in the technology industry?","Should we encourage more people to pursue careers they are interested in, regardless of their gender?"]},{title:"Where did all the women in tech go? | BBC Ideas",youtubeId:"oNdc5ZCuhjQ",published:"Published 24 Feb 2022",description:"In the 1950s and 60s women used to dominate the UK's computing industry says historian of technology Marie Hicks. What happened? Made in association with Nesta.",questions:["Why do you think the number of women in tech has decreased over the years?","How do cultural and societal norms impact career choices for men and women differently?","What role does education play in shaping gender representation in technology fields?","How might having more women in STEM fields benefit society as a whole? Are there any disadvantages?"]}],U8=()=>n.jsxs("div",{className:"min-h-screen",children:[n.jsx(se,{}),n.jsxs("section",{className:"relative py-16 lg:py-24 overflow-hidden",style:{background:"linear-gradient(135deg, hsl(270 60% 30%) 0%, hsl(260 70% 45%) 30%, hsl(240 65% 50%) 60%, hsl(210 80% 50%) 100%)"},children:[n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_top_right,_hsla(280,80%,70%,0.3)_0%,_transparent_60%)]"}),n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 relative z-10 text-center",children:[n.jsx("span",{className:"text-purple-200 font-bold text-sm uppercase tracking-widest",children:"Philosophy for Children"}),n.jsx("h1",{className:"text-4xl md:text-5xl font-extrabold text-white mt-3 mb-4 leading-tight",children:"P4C Inquiry Stimulus with Example Questions"})]})]}),n.jsx("div",{className:"bg-background border-b border-border",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8 py-3",children:n.jsxs("nav",{className:"flex items-center gap-2 text-sm",children:[n.jsx("a",{href:"/busting-gender-bias",className:"text-purple-600 hover:text-purple-800 font-medium",children:"Busting Gender Bias"}),n.jsx("span",{className:"text-muted-foreground",children:"/"}),n.jsx("span",{className:"text-muted-foreground",children:"P4C Inquiry"})]})})}),n.jsx("section",{className:"bg-card py-16 lg:py-24",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 max-w-5xl",children:[n.jsxs("div",{className:"space-y-4 text-muted-foreground text-lg leading-relaxed",children:[n.jsx("p",{children:'Introducing a Philosophy for Children (P4C) session on "Busting Gender Bias" involves encouraging students to explore how gender stereotypes influence our perceptions and actions. The stimulus used to encourage philosophising among students might include videos, stories, or real-life scenarios where gender biases are evident. The goal is to provoke thoughtful inquiry about stereotypes and associated concepts such as fairness, equality, freedom.'}),n.jsx("p",{children:"For teachers and students familiar with the P4C, using a stimulus record sheet is a useful tool to aid students in creating their own philosophical questions. However, asking students who are unfamiliar with P4C to formulate their own questions from a stimulus can be challenging. Students might struggle with identifying the key concepts or issues that are worth exploring further."}),n.jsx("p",{children:"Presenting students with an example philosophical question allows the teacher to demonstrate the kind of open-ended, reflective inquiry that is valued in P4C. The teacher can clarify what makes a question philosophical, and plan activities and questions in advance that will guide students to think deeply about the issue."})]}),n.jsx("div",{className:"mt-8",children:n.jsx(L,{size:"default",asChild:!0,className:"bg-purple-600 text-white hover:bg-purple-700 rounded-xl font-bold transition-all",children:n.jsxs("a",{href:"/downloads/BGB-P4C-Support-Material.docx",className:"inline-flex items-center gap-2",children:[n.jsx(qe,{className:"w-4 h-4"})," P4C Support Materials"]})})})]})}),n.jsx("section",{className:"bg-muted py-16 lg:py-24",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsx("div",{className:"space-y-12 max-w-5xl mx-auto",children:$8.map(e=>n.jsxs("div",{className:"bg-background rounded-2xl border border-border overflow-hidden",children:[e.youtubeId&&n.jsx("div",{className:"aspect-video",children:n.jsx("iframe",{src:`https://www.youtube.com/embed/${e.youtubeId}`,title:e.title,allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0,className:"w-full h-full"})}),n.jsxs("div",{className:"p-6 md:p-8",children:[n.jsx("h3",{className:"text-lg font-bold text-foreground mb-1",children:e.title}),n.jsx("p",{className:"text-xs text-muted-foreground mb-3",children:e.published}),n.jsx("p",{className:"text-muted-foreground text-sm mb-5 leading-relaxed",children:e.description}),e.link&&n.jsxs("a",{href:e.link,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 text-purple-600 font-bold text-sm mb-5 hover:gap-2 transition-all",children:["View Resource ",n.jsx(me,{className:"w-4 h-4"})]}),n.jsxs("div",{className:"mt-3 bg-muted rounded-xl p-5",children:[n.jsxs("span",{className:"text-xs font-bold text-purple-600 uppercase tracking-wider flex items-center gap-1",children:[n.jsx(Cp,{className:"w-3.5 h-3.5"})," Example Questions for Stimulating Inquiry"]}),n.jsx("ol",{className:"mt-3 space-y-2",children:e.questions.map((t,r)=>n.jsxs("li",{className:"text-sm text-muted-foreground flex items-start gap-2",children:[n.jsx("span",{className:"w-5 h-5 rounded-full bg-purple-100 flex items-center justify-center flex-shrink-0 text-xs font-bold text-purple-600",children:r+1}),t]},r))})]})]})]},e.title))}),n.jsx("div",{className:"text-center mt-12",children:n.jsx(L,{size:"lg",asChild:!0,className:"bg-purple-600 text-white hover:bg-purple-700 rounded-xl font-bold shadow-lg transition-all",children:n.jsxs("a",{href:"/busting-gender-bias",className:"inline-flex items-center gap-2",children:[n.jsx(le,{className:"w-4 h-4 rotate-180"})," Back to Overview"]})})})]})}),n.jsx(ae,{})]}),B8=[{tag:"Cyber Citizens",title:"Cyber Sense",subtitle:"Practical digital safety education for schools and families",points:["Youth-led workshops and community learning events help young people aged 10–14 build cyber hygiene skills, understand privacy, and critically evaluate AI-generated content.","Participants co-design learning tools, games, and resources that reflect their real digital experiences."],icon:xt,gradient:"from-blue-mid to-blue-bright"},{tag:"Cyber Citizens",title:"Cyber Smart",subtitle:"Strategic cyber awareness for decision makers",points:["Regional academies and training programmes support elected representatives and public officials to understand emerging cyber risks, generative AI, and digital governance.","Insights from young participants help shape responsible public policy and digital strategy."],icon:oE,gradient:"from-navy-deep to-blue-mid"}],F8=[{icon:xd,title:"News",description:"Latest insights, updates, and research from the Cyber Citizens project.",href:"https://cybercitizens.ie/news"},{icon:SE,title:"YouTube Channel",description:"Videos, talks, and learning resources exploring cybersecurity and digital resilience.",href:"https://cybercitizens.ie/youtube"},{icon:hE,title:"Resources",description:"Open toolkits, learning materials, and workshop resources.",href:"https://cybercitizens.ie/resources"}],z8=[{featured:!0,tag:"News",title:"Research Ireland Discover Funding to Support New National Initiative on Digital Resilience and Cyber Literacy",description:"Cyber Citizens is a two year national initiative led by the UCD Centre for Cyber Resilience Education, in partnership with ADAPT at Trinity College Dublin, Oide TiE, Webwise, and the University of Pittsburgh.",date:"06 March 2026"},{featured:!1,tag:"AI · Trinity's ADAPT Centre",title:"Cybersecurity in the Age of AI",description:"Trinity Today navigates the AI-cybersecurity frontier with Professor David Hickton - legal scholar, cyber strategist, and key collaborator on Trinity's ADAPT Centre's Memorandum of Understanding with the University of Pittsburgh.",date:"24 October 2025"}],W8=["Workshops and public engagement with young people, educators and communities","Co-creation of ethical approaches to cybersecurity and AI literacy","Supporting more than 10,000 participants nationwide","Building digital confidence across schools, families and public leadership"],G8=()=>n.jsxs("div",{className:"min-h-screen",children:[n.jsx(Ue,{title:"Cyber Citizens",description:"A national initiative for digital resilience and cyber literacy, empowering safer digital communities across Ireland through education and public leadership.",path:"/cyber-citizens"}),n.jsx(se,{}),n.jsxs("section",{className:"relative py-20 lg:py-32 overflow-hidden bg-navy-deep",children:[n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_top_right,_hsla(210,70%,40%,0.25)_0%,_transparent_60%)]"}),n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_bottom_left,_hsla(195,60%,30%,0.2)_0%,_transparent_50%)]"}),n.jsx("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:n.jsxs("div",{className:"text-center max-w-4xl mx-auto",children:[n.jsx("span",{className:"inline-block text-blue-sky font-bold text-sm uppercase tracking-widest mb-4",children:"Cyber Citizens"}),n.jsx("h1",{className:"text-4xl md:text-5xl lg:text-6xl font-extrabold text-primary-foreground mb-6 leading-tight",children:"A National Initiative for Digital Resilience & Cyber Literacy"}),n.jsx("p",{className:"text-blue-ice/80 text-lg md:text-xl max-w-3xl mx-auto mb-10 leading-relaxed",children:"Empowering safer digital communities across Ireland through education, participation and public leadership."}),n.jsxs("div",{className:"flex flex-wrap justify-center gap-4",children:[n.jsx(L,{variant:"hero",size:"lg",asChild:!0,children:n.jsxs("a",{href:"#pillars",className:"inline-flex items-center gap-2",children:["Explore What We Do ",n.jsx(le,{className:"w-4 h-4"})]})}),n.jsx(L,{variant:"heroOutline",size:"lg",asChild:!0,children:n.jsxs("a",{href:"https://cybercitizens.ie",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2",children:["Visit cybercitizens.ie ",n.jsx(me,{className:"w-4 h-4"})]})})]})]})})]}),n.jsx("section",{id:"pillars",className:"bg-blue-ice py-20 lg:py-28",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsxs("div",{className:"text-center mb-14",children:[n.jsx("span",{className:"text-blue-mid font-bold text-sm uppercase tracking-widest",children:"Our Two Pillars"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3",children:"How Cyber Citizens Works"})]}),n.jsx("div",{className:"grid lg:grid-cols-2 gap-8",children:B8.map(e=>n.jsxs("div",{className:"bg-card rounded-2xl border border-border shadow-lg overflow-hidden hover:shadow-xl transition-all hover:-translate-y-1",children:[n.jsx("div",{className:`bg-gradient-to-r ${e.gradient} p-6`,children:n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("div",{className:"w-12 h-12 rounded-xl bg-white/20 flex items-center justify-center",children:n.jsx(e.icon,{className:"w-6 h-6 text-primary-foreground"})}),n.jsxs("div",{children:[n.jsx("span",{className:"text-primary-foreground
491/70 text-sm font-medium",children:e.tag}),n.jsx("h3",{className:"text-2xl font-extrabold text-primary-foreground",children:e.title})]})]})}),n.jsxs("div",{className:"p-8",children:[n.jsx("p",{className:"text-foreground font-semibold text-lg mb-4",children:e.subtitle}),n.jsx("ul",{className:"space-y-4",children:e.points.map((t,r)=>n.jsxs("li",{className:"flex gap-3",children:[n.jsx(le,{className:"w-5 h-5 text-blue-mid flex-shrink-0 mt-0.5"}),n.jsx("span",{className:"text-muted-foreground leading-relaxed",children:t})]},r))})]})]},e.title))})]})}),n.jsx("section",{className:"bg-card py-20 lg:py-28",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsx("div",{className:"grid md:grid-cols-3 gap-8",children:F8.map(e=>n.jsxs("a",{href:e.href,target:"_blank",rel:"noopener noreferrer",className:"bg-blue-ice rounded-2xl p-8 text-center hover:shadow-lg transition-all hover:-translate-y-1 group block",children:[n.jsx("div",{className:"w-14 h-14 rounded-xl bg-blue-mid/10 flex items-center justify-center mx-auto mb-6 group-hover:bg-blue-mid/20 transition-colors",children:n.jsx(e.icon,{className:"w-7 h-7 text-blue-mid"})}),n.jsx("h3",{className:"text-lg font-bold text-foreground mb-3",children:e.title}),n.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:e.description})]},e.title))})})}),n.jsx("section",{className:"bg-blue-ice py-20 lg:py-28",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsxs("div",{className:"text-center mb-14",children:[n.jsx("span",{className:"text-blue-mid font-bold text-sm uppercase tracking-widest",children:"Latest News"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3",children:"Insights and updates from the Cyber Citizens project"})]}),n.jsx("div",{className:"grid lg:grid-cols-2 gap-8 max-w-5xl mx-auto",children:z8.map(e=>n.jsxs("div",{className:"bg-card rounded-2xl p-8 border border-border shadow-md hover:shadow-xl transition-all",children:[n.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[e.featured&&n.jsx("span",{className:"bg-blue-mid text-primary-foreground text-xs font-bold px-3 py-1 rounded-full",children:"Featured"}),n.jsx("span",{className:"text-blue-mid text-xs font-bold uppercase tracking-wider",children:e.tag})]}),n.jsx("h3",{className:"text-xl font-bold text-foreground mb-3 leading-tight",children:e.title}),n.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed mb-4",children:e.description}),n.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground text-sm",children:[n.jsx(md,{className:"w-4 h-4"}),n.jsx("span",{children:e.date})]})]},e.title))})]})}),n.jsx("section",{className:"bg-navy-deep py-20 lg:py-28",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsxs("div",{className:"grid lg:grid-cols-2 gap-12 items-center max-w-6xl mx-auto",children:[n.jsxs("div",{children:[n.jsx("span",{className:"text-blue-sky font-bold text-sm uppercase tracking-widest",children:"Our Mission"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-primary-foreground mt-3 mb-6",children:"To build digital confidence across schools, families and public leadership."}),n.jsx("p",{className:"text-blue-ice/80 text-lg leading-relaxed mb-8",children:"Cyber Citizens strengthens Ireland's digital resilience by bringing together young people, educators, communities and policymakers to co-create ethical approaches to cybersecurity and AI literacy."}),n.jsx("p",{className:"text-blue-ice/80 text-lg leading-relaxed",children:"Through workshops, public engagement and research, the initiative supports more than 10,000 participants nationwide."})]}),n.jsx("div",{className:"space-y-4",children:W8.map((e,t)=>n.jsxs("div",{className:"flex items-start gap-4 bg-white/5 rounded-xl p-5 border border-white/10",children:[n.jsx("div",{className:"w-10 h-10 rounded-lg bg-blue-mid/20 flex items-center justify-center flex-shrink-0",children:n.jsx(Jt,{className:"w-5 h-5 text-blue-sky"})}),n.jsx("span",{className:"text-blue-ice/90 leading-relaxed",children:e})]},t))})]})})}),n.jsx("section",{className:"cta-gradient py-20 lg:py-28",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 text-center",children:[n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-primary-foreground mb-4",children:"Find out more about Cyber Citizens"}),n.jsx("p",{className:"text-blue-ice/80 text-lg max-w-2xl mx-auto mb-10",children:"Visit the Cyber Citizens website to explore resources, news and how to get involved."}),n.jsx(L,{variant:"cta",size:"lg",asChild:!0,children:n.jsxs("a",{href:"https://cybercitizens.ie",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2",children:["Visit cybercitizens.ie ",n.jsx(me,{className:"w-4 h-4"})]})})]})}),n.jsx(ae,{})]}),H8="/assets/shared-island-bridge-lV4EViI7.jpg",V8="/assets/si-ucd-school-ed-mosK_sAx.png",sy="/assets/si-ucd-ccre-BCcVMpVE.png",ay="/assets/si-dept-foreign-affairs-yTPd9lDh.png",iy="/assets/si-shared-island-initiative-DKSf-mL9.png",oy="/assets/si-queens-belfast-BAPHrxdU.png",q8="/assets/partner-ubuntu-B6mFFm4V.jpg",K8="/assets/si-rachel-farrell-Cj6k1Asy.jpg",Y8="/assets/si-pamela-cowan-C2i8EBVL.jpg",J8="/assets/si-marelle-rice-C91cK0ps.png",Q8=[{name:"Dr. Rachel Farrell",affiliation:"University College Dublin",image:K8},{name:"Dr. Pamela Cowan",affiliation:"Queen's University Belfast",image:Y8},{name:"Marelle Rice",affiliation:"Ubuntu Research Fellow",image:J8}],X8=[{icon:Yn,title:"Online Quizzes",description:"Test both teachers and student knowledge on climate change and on the Sustainable Development Goals."}
491,{icon:Bt,title:"Challenging Cognitive Bias",description:"Resources for both teachers and students to challenge their own biases when it comes to climate change."},{icon:xt,title:"Empowering Critical Thinking",description:"Recognising fake news is crucial when teaching about sustainability."},{icon:iw,title:"Awareness of Carbon Footprints",description:"Resources for creating awareness of carbon footprints and carbon pricing."},{icon:Jt,title:"Making Greener Choices",description:"Resources for thinking about making greener choices."},{icon:sw,title:"Climate Action Games",description:"Resources for considering climate action through the medium of games."},{icon:nw,title:"Economic Models",description:"Resources for considering contemporary economic models and concepts in the context of climate change."},{icon:xd,title:"Lesson Plan Ideas",description:"Links containing a number of lesson ideas for teaching climate economics."}],Z8=[{title:"Resource Creation",description:"Collaborative development of educational materials for secondary school audiences."},{title:"School Visits & Workshops",description:"Exchange visits to schools in Northern Ireland and Ireland, along with workshops and seminars at UCD and QUB, will engage participants in exploring the links between cybersecurity and climate action."},{title:"Final Showcase",description:"The project will culminate in a shared learning event at UCD, where students will present their projects, involving input from academia, industry, and government stakeholders."}],eI=[{title:"Empowering Educators and Communities",description:"We aim to provide post-primary students, educators, and communities with the knowledge and skills to navigate the complex intersection of cybersecurity and climate action."},{title:"Student Teacher Collaboration",description:"We will recruit five student teachers from UCD and five from QUB, who will collaborate to develop educational resources. With guidance from Philosophy for Children (P4C) expert Marelle Rice, they will explore these issues in ways that transcend GCSE and Junior Cycle specifications."},{title:"Expanding Cyberwise.ie",description:"By enhancing the Cyberwise.ie platform, we will create a space for resources that specifically address the intersection of cybersecurity and climate change."},{title:"Shared Learning Events",description:"These events will engage educational, governmental, and industry stakeholders to share knowledge and strategies for addressing these pressing challenges."}],tI=()=>n.jsxs("div",{className:"min-h-screen",children:[n.jsx(Ue,{title:"Shared Island Civic Society Fund",description:"A Shared Island Forum for Nurturing Secure Climate Futures through Cybersecurity and Environmental Resilience Education. North-South cooperation initiative.",path:"/shared-island"}),n.jsx(se,{}),n.jsxs("section",{className:"relative py-20 lg:py-32 overflow-hidden",children:[n.jsxs("div",{className:"absolute inset-0",children:[n.jsx("img",{src:H8,alt:"Shared Island bridge",className:"w-full h-full object-cover"}),n.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-emerald-950/90 via-emerald-900/80 to-emerald-950/70"})]}),n.jsx("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:n.jsxs("div",{className:"max-w-4xl",children:[n.jsx("span",{className:"inline-block text-emerald-300 font-bold text-sm uppercase tracking-widest mb-4",children:"Shared Island"}),n.jsx("h1",{className:"text-4xl md:text-5xl lg:text-6xl font-extrabold text-white mb-6 leading-tight",children:"A Shared Island Forum for Nurturing Secure Climate Futures"}),n.jsx("p",{className:"text-emerald-100/80 text-lg md:text-xl max-w-3xl leading-relaxed mb-10",children:"Through Cybersecurity and Environmental Resilience Education"}),n.jsx(L,{size:"lg",className:"bg-emerald-600 hover:bg-emerald-700 text-white font-bold",asChild:!0,children:n.jsxs("a",{href:"#overview",className:"inline-flex items-center gap-2",children:["Explore the Project ",n.jsx(le,{className:"w-4 h-4"})]})})]})})]}),n.jsx("section",{className:"bg-emerald-50 py-20 lg:py-28",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsx("div",{className:"max-w-4xl mx-auto text-center",children:n.jsx("p",{className:"text-foreground text-lg leading-relaxed",children:"The Shared Island Civic Society Fund is an initiative by the Department of Foreign Affairs designed to foster practical North-South cooperation. Its goal is to encourage and support civic society and community organisations to strengthen existing partnerships or create new cross-border connections. This initiative aims to build connectivity, promote collaboration, and ensure an inclusive and diverse island of Ireland."})})})}),n.jsx("section",{className:"bg-white py-12",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsx("div",{className:"grid grid-cols-2 md:grid-cols-5 ga
491p-6 items-center",children:[V8,sy,ay,iy,oy].map((e,t)=>n.jsx("div",{className:"bg-white rounded-xl px-8 py-6 shadow-sm border border-border flex items-center justify-center h-32",children:n.jsx("img",{src:e,alt:"Partner logo",className:"max-h-[104px] max-w-[286px] object-contain"})},t))})})}),n.jsx("section",{className:"bg-white py-20 lg:py-28",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsxs("div",{className:"text-center mb-14",children:[n.jsx("span",{className:"text-emerald-600 font-bold text-sm uppercase tracking-widest",children:"Leadership"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3",children:"Principal Investigators"})]}),n.jsx("div",{className:"grid md:grid-cols-3 gap-8 max-w-4xl mx-auto",children:Q8.map(e=>n.jsxs("div",{className:"bg-emerald-50 rounded-2xl p-8 text-center border border-emerald-100 shadow-sm",children:[n.jsx("div",{className:"w-32 h-32 rounded-full overflow-hidden mx-auto mb-6 border-4 border-emerald-200 shadow-md",children:n.jsx("img",{src:e.image,alt:e.name,className:"w-full h-full object-cover"})}),n.jsx("h3",{className:"text-lg font-bold text-foreground mb-1",children:e.name}),n.jsx("p",{className:"text-muted-foreground text-sm",children:e.affiliation})]},e.name))})]})}),n.jsx("section",{id:"overview",className:"bg-emerald-50 py-20 lg:py-28",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsxs("div",{className:"text-center mb-14",children:[n.jsx("span",{className:"text-emerald-600 font-bold text-sm uppercase tracking-widest",children:"Project Overview"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3",children:"Two Main Objectives"})]}),n.jsxs("div",{className:"grid lg:grid-cols-2 gap-8 max-w-6xl mx-auto",children:[n.jsxs("div",{className:"bg-white rounded-2xl p-8 border border-emerald-100 shadow-md",children:[n.jsx("div",{className:"w-14 h-14 rounded-xl bg-emerald-600/10 flex items-center justify-center mb-6",children:n.jsx(Bt,{className:"w-7 h-7 text-emerald-600"})}),n.jsx("h3",{className:"text-xl font-bold text-foreground mb-4",children:"Raising Awareness"}),n.jsx("p",{className:"text-muted-foreground leading-relaxed",children:"We aim to highlight the inextricable links between cybersecurity—such as social engineering, misinformation, and fake news—and climate action. For instance, while cybersecurity breaches can undermine climate action efforts, transitioning to renewable energy introduces unique cybersecurity risks, like potential cyberattacks on smart grids. Educating individuals early on about the intersection between these issues will foster resilient communities across the island of Ireland."})]}),n.jsxs("div",{className:"bg-white rounded-2xl p-8 border border-emerald-100 shadow-md",children:[n.jsx("div",{className:"w-14 h-14 rounded-xl bg-emerald-600/10 flex items-center justify-center mb-6",children:n.jsx(Qe,{className:"w-7 h-7 text-emerald-600"})}),n.jsx("h3",{className:"text-xl font-bold text-foreground mb-4",children:"Promoting Collaboration"}),n.jsx("p",{className:"text-muted-foreground leading-relaxed",children:"We seek to bring together experts in cybersecurity and climate action to foster interdisciplinary collaboration. By uniting diverse perspectives, this project aims to facilitate the development of comprehensive educational resources that emphasize these critical connections."})]})]})]})}),n.jsx("section",{className:"bg-white py-20 lg:py-28",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsxs("div",{className:"max-w-4xl mx-auto mb-14",children:[n.jsxs("div",{className:"text-center",children:[n.jsx("span",{className:"text-emerald-600 font-bold text-sm uppercase tracking-widest",children:"Resource Development"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3 mb-6",children:"Educational Resources"})]}),n.jsx("p",{className:"text-muted-foreground text-lg leading-relaxed text-center",children:"The project will expand existing cybersecurity educational resources, such as those found on Cyberwise.ie, by integrating content on the intersection between cybersecurity and climate change. Student teachers from UCD and QUB will collaborate with government and industry experts to develop resources for secondary sc
491hool educators and students."}),n.jsx("div",{className:"text-center mt-8",children:n.jsx(L,{size:"lg",className:"bg-emerald-600 hover:bg-emerald-700 text-white font-bold",asChild:!0,children:n.jsxs("a",{href:"/shared-island-resources",className:"inline-flex items-center gap-2",children:["Explore Resources ",n.jsx(le,{className:"w-4 h-4"})]})})})]}),n.jsx("div",{className:"grid sm:grid-cols-2 lg:grid-cols-4 gap-6",children:X8.map(e=>n.jsxs("div",{className:"bg-emerald-50 rounded-2xl p-6 border border-emerald-100 hover:shadow-lg transition-all hover:-translate-y-1 group",children:[n.jsx("div",{className:"w-12 h-12 rounded-xl bg-emerald-600/10 flex items-center justify-center mb-4 group-hover:bg-emerald-600/20 transition-colors",children:n.jsx(e.icon,{className:"w-6 h-6 text-emerald-600"})}),n.jsx("h3",{className:"text-base font-bold text-foreground mb-2",children:e.title}),n.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:e.description})]},e.title))})]})}),n.jsx("section",{className:"bg-emerald-900 py-20 lg:py-28",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsxs("div",{className:"text-center mb-14",children:[n.jsx("span",{className:"text-emerald-300 font-bold text-sm uppercase tracking-widest",children:"Project Activities"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-white mt-3",children:"Challenge-Based Learning"}),n.jsx("p",{className:"mt-4 text-emerald-100/70 max-w-3xl mx-auto text-lg",children:"This initiative focuses on challenge-based learning, fostering cross-border teamwork among students, teachers, and pupils from both Northern Ireland and the Republic of Ireland."})]}),n.jsx("div",{className:"grid md:grid-cols-3 gap-8 max-w-5xl mx-auto",children:Z8.map((e,t)=>n.jsxs("div",{className:"bg-white/10 rounded-2xl p-8 border border-white/10 backdrop-blur-sm",children:[n.jsx("div",{className:"w-10 h-10 rounded-lg bg-emerald-400/20 flex items-center justify-center mb-4",children:n.jsx("span",{className:"text-emerald-300 font-extrabold text-lg",children:t+1})}),n.jsx("h3",{className:"text-lg font-bold text-white mb-3",children:e.title}),n.jsx("p",{className:"text-emerald-100/70 text-sm leading-relaxed",children:e.description})]},e.title))})]})}),n.jsx("section",{className:"bg-emerald-50 py-20 lg:py-28",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsxs("div",{className:"grid lg:grid-cols-2 gap-12 max-w-6xl mx-auto",children:[n.jsxs("div",{children:[n.jsx("span",{className:"text-emerald-600 font-bold text-sm uppercase tracking-widest",children:"Participants"}),n.jsx("h2",{className:"text-2xl md:text-3xl font-extrabold text-foreground mt-3 mb-6",children:"Who's Involved"}),n.jsx("p",{className:"text-muted-foreground leading-relaxed",children:"Student teachers from UCD and QUB will be selected through an open call, based on expressions of interest and commitment from their placement schools. Each participating school will facilitate project activities with at least one class of 30 pupils. School leaders will also be encouraged to participate in challenge-based learning activities to promote engagement and leadership."})]}),n.jsxs("div",{children:[n.jsx("span",{className:"text-emerald-600 font-bold text-sm uppercase tracking-widest",children:"Purpose"}),n.jsx("h2",{className:"text-2xl md:text-3xl font-extrabold text-foreground mt-3 mb-6",children:"Our Vision"}),n.jsx("p",{className:"text-muted-foreground leading-relaxed",children:"Our project aims to deepen understanding of the symbiotic relationship between cybersecurity and climate action. Spearheaded by teacher educators Dr. Rachel Farrell (UCD) and Dr. Pamela Cowan (QUB), the initiative will bridge the gap between cybersecurity literacy and environmental awareness. Through innovative teaching methodologies, case studies, and inquiry-based approaches, we seek to create accessible, inclusive, and stimulating resources that address the unique challenges faced by both Northern and Southern Ireland in addressing these interconnected issues."})]})]})})}),n.jsx("section",{className:"bg-white py-20 lg:py-28",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsxs("div",{className:"text-center mb-14",children:[n.jsx("span",{className:"text-emerald-600 font-bold text-sm uppercase tracking-widest",children:"Objectives"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3",children:"What We Aim to Achieve"})]}),n.jsx("div",{className:"grid md:grid-cols-2 gap-8 max-w-5xl mx-auto",children:eI.map((e,t)=>n.jsxs("div",{className:"flex gap-4",children:[n.jsx("div",{className:"w-10 h-10 rounded-lg bg-emerald-600/10 flex items-center justify-center flex-shrink-0 mt-1",children:n.jsx(br,{className:"w-5 h-5 text-emerald-600"})}),n.jsxs("div",{children:[n.jsx("h3",{className:"text-lg font-bold text-foreground mb-2",children:e.title}),n.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:e.description})]})]},e.title))})]})}),n.jsx("section",{className:"bg-emerald-900 py-20 lg:py-28",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsxs("div",{className:"max-w-4xl mx-auto text-center",children:[n.jsx("span",{className:"text-emerald-300 font-bold text-sm uppercase tracking-widest",children:"Challenges"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-white mt-3 mb-8",children:"Addressing the Gaps"}),n.jsx("p",{className:"text-emerald-100/80 text-lg leading-relaxed mb-6",children:"The current educational landscape presents several challenges. Despite UNESCO's Education 2030 Framework emp
491hasizing sustainable development education, social engineering and misinformation campaigns threaten progress. Furthermore, climate change education is often inadequately integrated into national curricula, with a UNESCO report highlighting that nearly half of the reviewed countries lack meaningful climate change content."}),n.jsx("p",{className:"text-emerald-100/80 text-lg leading-relaxed",children:"Our project addresses these gaps by developing real-life case studies and fostering critical thinking about socio-environmental phenomena. We recognize the contributions of movements like Fridays for Future and aim to engage students who are already deeply involved in environmental activism. Our project seeks to empower students to challenge societal norms and become change-makers capable of addressing the intertwined issues of cybersecurity and climate action."})]})})}),n.jsx("section",{className:"py-14 border-t border-border",style:{backgroundColor:"hsl(0 0% 95%)"},children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsx("p",{className:"text-center text-foreground font-bold text-sm uppercase tracking-widest mb-10",children:"Supported By & In Partnership With"}),n.jsx("div",{className:"flex flex-wrap justify-center items-center gap-8",children:[{src:q8,alt:"Ubuntu"},{src:iy,alt:"Shared Island Initiative"},{src:sy,alt:"UCD Centre for Cyber Resilience Education"},{src:ay,alt:"Department of Foreign Affairs"},{src:oy,alt:"Queen's University Belfast"}].map(e=>n.jsx("div",{className:"bg-white rounded-xl px-8 py-6 shadow-sm border border-border flex items-center justify-center h-32",children:n.jsx("img",{src:e.src,alt:e.alt,className:"max-h-[104px] max-w-[286px] object-contain"})},e.alt))})]})}),n.jsx(ae,{})]}),rI="/assets/how-to-spot-fake-news-9L82WYZh.jpg",nI=[{icon:Yn,title:"Online Quizzes",description:"Test both teachers and student knowledge on climate change and on the Sustainable Development Goals."},{icon:Bt,title:"Challenging Cognitive Bias",description:"Resources for both teachers and students to challenge their own biases when it comes to climate change."},{icon:xt,title:"Empowering Critical Thinking",description:"Recognising fake news is crucial when teaching about sustainability."},{icon:iw,title:"Awareness of Carbon Footprints",description:"Resources for creating awareness of carbon footprints and carbon pricing."},{icon:Jt,title:"Making Greener Choices",description:"Resources for thinking about making greener choices."},{icon:sw,title:"Climate Action Games",description:"Resources for considering climate action through the medium of games."},{icon:nw,title:"Economic Models",description:"Resources for considering contemporary economic models and concepts in the context of climate change."},{icon:xd,title:"Lesson Plan Ideas",description:"Links containing a number of lesson ideas for teaching climate economics."}],sI=()=>n.jsxs("div",{className:"min-h-screen",children:[n.jsx(se,{}),n.jsx("div",{className:"bg-emerald-50 border-b border-emerald-100",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8 py-3",children:n.jsxs("nav",{className:"flex items-center gap-2 text-sm",children:[n.jsx("a",{href:"/shared-island",className:"text-emerald-600 hover:text-emerald-700 font-medium",children:"Shared Island"}),n.jsx(Ht,{className:"w-4 h-4 text-muted-foreground"}),n.jsx("span",{className:"text-foreground font-semibold",children:"Resources"})]})})}),n.jsxs("section",{className:"bg-emerald-900 py-20 lg:py-28 relative overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_top_right,_hsla(150,60%,30%,0.3)_0%,_transparent_60%)]"}),n.jsx("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:n.jsxs("div",{className:"text-center max-w-3xl mx-auto",children:[n.jsx("span",{className:"text-emerald-300 font-bold text-sm uppercase tracking-widest",children:"Resource Development"}),n.jsx("h1",{className:"text-4xl md:text-5xl font-extrabold text-white mt-3 mb-6",children:"Shared Island Resources"}),n.jsx("p",{className:"text-emerald-100/80 text-lg leading-relaxed",children:"The project will expand existing cybersecurity educational resources by integrating content on the intersection between cybersecurity and climate change. Student teachers from UCD and QUB will collaborate with government and industry experts to develop resources for secondary sc
491hool educators and students."})]})})]}),n.jsx("section",{className:"bg-white py-20 lg:py-28",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsxs("div",{className:"max-w-4xl mx-auto",children:[n.jsxs("div",{className:"text-center mb-12",children:[n.jsx("span",{className:"text-emerald-600 font-bold text-sm uppercase tracking-widest",children:"Resource Spotlight"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3",children:"Empowering Critical Thinking in Sustainability Education"})]}),n.jsxs("div",{className:"prose prose-lg max-w-none text-muted-foreground leading-relaxed space-y-6",children:[n.jsx("p",{children:"Recognising fake news is crucial when teaching about sustainability. Fake news refers to false or misleading information, but it's important to understand the difference between misinformation, disinformation, and propaganda."}),n.jsxs("div",{className:"grid md:grid-cols-3 gap-6 not-prose my-10",children:[n.jsxs("div",{className:"bg-emerald-50 rounded-2xl p-6 border border-emerald-100",children:[n.jsx("h3",{className:"text-lg font-bold text-foreground mb-3",children:"Misinformation"}),n.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"Incorrect or misleading information spread without harmful intent. It occurs when people unknowingly share false information, believing it to be true."})]}),n.jsxs("div",{className:"bg-emerald-50 rounded-2xl p-6 border border-emerald-100",children:[n.jsx("h3",{className:"text-lg font-bold text-foreground mb-3",children:"Disinformation"}),n.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"Deliberately false information created and spread with the intent to deceive or manipulate. The goal is to confuse or mislead people about an issue."})]}),n.jsxs("div",{className:"bg-emerald-50 rounded-2xl p-6 border border-emerald-100",children:[n.jsx("h3",{className:"text-lg font-bold text-foreground mb-3",children:"Propaganda"}),n.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:"Biased or misleading information used to promote a specific political cause, ideology, or agenda. It can involve true or false information but always aims to influence public opinion."})]})]}),n.jsx("p",{children:"In the context of sustainability, all three—misinformation, disinformation, and propaganda—can distort facts, misrepresent scientific consensus, and create confusion about the actions needed to protect the environment."}),n.jsx("p",{children:"A key component of tackling these issues is building trust in science. Trust in science is essential for students to differentiate credible, evidence-based information from misinformation or disinformation. Misleading information can erode this trust, making it harder for individuals to engage with scientific research and understand the significance of sustainable practices."}),n.jsxs("p",{children:["By learning how to identify misinformation, disinformation, and propaganda, students can sharpen their critical thinking skills and become informed consumers of information. They will be better equipped to recognize trustworthy sources, evaluate evidence-based arguments, and make thoughtful decisions related to sustainability. The resource ",n.jsx("em",{children:"How to Spot Fake News"})," (International Federation of Library Associations and Institutions [IFLA], 2017) is an open-access tool that reminds students of the key areas to consider when evaluating the credibility of information."]}),n.jsx("div",{className:"not-prose my-10 flex justify-center",children:n.jsxs("div",{className:"bg-white rounded-2xl shadow-md border border-emerald-100 p-4 max-w-md",children:[n.jsx("img",{src:rI,alt:"How To Spot Fake News - IFLA Infographic",className:"w-full h-auto rounded-lg"}),n.jsx("p",{className:"text-center text-muted-foreground text-xs mt-3",children:"Figure 1. How To Spot Fake News (IFLA, 2017)"})]})})]})]})})}),n.jsx("section",{className:"bg-emerald-50 py-20 lg:py-28",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsxs("div",{className:"text-center mb-14",children:[n.jsx("span",{className:"text-emerald-600 font-bold text-sm uppercase tracking-widest",children:"Padlet Resources"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3",children:"Interactive Resource Boards"})]}),n.jsxs("div",{className:"space-y-12 max-w-5xl mx-auto",children:[n.jsxs("div",{className:"bg-white rounded-2xl border border-emerald-100 shadow-md overflow-hidden",children:[n.jsxs("div",{className:"p-6 border-b border-emerald-100",children:[n.jsx("h3",{className:"text-xl font-bold text-foreground",children:"Shared Island Resources"}),n.jsx("p",{className:"text-muted-foreground text-sm mt-1",children:"A Shared Island Forum for Nurturing Secure Climate Futures through Cybersecurity and Environmental Resilience Education"})]}),n.jsx("div",{className:"aspect-video",children:n.jsx("iframe",{src:"https://padlet.com/embed/n6g5yav4jmytfnrp",className:"w-full h-full border-0",title:"Shared Island Resources Padlet",allow:"camera;microphone;geolocation"})}),n.jsx("div",{className:"p-4 bg-emerald-50 text-center",children:n.jsxs("a",{href:"https://padlet.com/rachel_farrell/shared-island-resources-n6g5yav4jmytfnrp",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 text-emerald-600 font-bold text-sm hover:text-emerald-700",children:["Open in Padlet ",n.jsx(me,{className:"w-4 h-4"})]})})]}),n.jsxs("div",{className:"bg-white rounded-2xl border border-emerald-100 shadow-md overflow-hidden",children:[n.jsxs("div",{className:"p-6 border-b border-emerald-100",children:[n.jsx("h3",{className:"text-xl font-bold text-foreground",children:"Beyond the Cloud: Harnessing Data Centres to Enrich Global Citizenship Education"}),n.jsx("p",{className:"text-muted-foreground text-sm mt-1",children:"Crafted for post-primary educators to explore the hidden dimensions of data centres and their profound impact on our world."})]}),n.jsx("div",{className:"aspect-video",children:n.jsx("iframe",{src:"https://padlet.com/embed/hcu2b3ip2con89e8",className:"w-full h-full border-0",title:"Beyond the Cloud Padlet",allow:"camera;microphone;geolocation"})}),n.jsx("div",{className:"p-4 bg-emerald-50 text-center",children:n.jsxs("a",{href:"https://padlet.com/marellerice/beyond-the-cloud-harnessing-data-centres-to-enrich-global-ci-hcu2b3ip2con89e8",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 text-emerald-600 font-bold text-sm hover:text-emerald-700",children:["Open in Padlet ",n.jsx(me,{className:"w-4 h-4"})]})})]})]})]})}),n.jsx("section",{className:"bg-white py-20 lg:py-28",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsxs("div",{className:"text-center mb-14",children:[n.jsx("span",{className:"text-emerald-600 font-bold text-sm uppercase tracking-widest",children:"Resources"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3",children:"Teaching & Learning Resources"})]}),n.jsx("div",{className:"grid sm:grid-cols-2 lg:grid-cols-4 gap-6",children:nI.map(e=>n.jsxs("div",{className:"bg-emerald-50 rounded-2xl p-6 border border-emerald-100 hover:shadow-lg transition-all hover:-translate-y-1 group",children:[n.jsx("div",{className:"w-12 h-12 rounded-xl bg-emerald-600/10 flex items-center justify-center mb-4 group-hover:bg-emerald-600/20 transition-colors",children:n.jsx(e.icon,{className:"w-6 h-6 text-emerald-600"})}),n.jsx("h3",{className:"text-base font-bold text-foreground mb-2",children:e.title}),n.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:e.description})]},e.title))})]})}),n.jsx("section",{className:"bg-gradient-to-r from-emerald-600 to-emerald-700 py-20 lg:py-28",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 text-center",children:[n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-white mb-4",children:"Explore the Shared Island Project"}),n.jsx("p",{className:"text-emerald-100/80 text-lg max-w-2xl mx-auto mb-10",children:"Learn more about our initiative for nurturing secure climate futures."}),n.jsx(L,{size:"lg",className:"bg-white text-emerald-700 hover:bg-emerald-50 font-bold",asChild:!0,children:n.jsxs("a",{href:"/shared-island",className:"inline-flex items-center gap-2",children:["Back to Shared Island ",n.jsx(le,{className:"w-4 h-4"})]})})]})}),n.jsx(ae,{})]}),aI="/assets/shared-learning-1-C2MsdfaN.jpg",iI="/assets/shared-learning-2-DlYp4KLM.jpg",oI="/assets/shared-learning-3-xo-e7jOo.jpg",lI="/assets/shared-learning-4-BuBZc2hN.jpg",cI="/assets/shared-learning-5-D7oxZQGM.jpg",dI=[{icon:xt,title:"Zero Days CTF",description:"Capture the Flag challenge tackling real-world cyber and GCE issues"},{icon:Yn,title:"AI in My Life CPD",description:"Examining AI's influence on societal behaviours and climate change"},{icon:Qe,title:"Student & Educator Presentations",description:"Reflections and innovative solutions from participants"}
491,{icon:Bt,title:"Global Citizenship Education",description:"Connecting cybersecurity with broader educational and societal goals"}],uI=[{src:oI,alt:"Students and educators at O'Reilly Hall, UCD"},{src:iI,alt:"Students presenting at the Shared Learning Day"},{src:cI,alt:"Queens University Belfast & UCD student teachers"},{src:lI,alt:"Cyberwise team members"},{src:aI,alt:"Award presentation at the Shared Learning Day"}],hI=()=>n.jsxs("div",{className:"min-h-screen",children:[n.jsx(se,{}),n.jsxs("section",{className:"bg-navy-deep py-20 lg:py-28 relative overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_top_right,_hsl(var(--blue-bright)/0.15)_0%,_transparent_60%)]"}),n.jsx("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:n.jsxs("div",{className:"text-center max-w-3xl mx-auto",children:[n.jsxs("div",{className:"inline-flex items-center gap-2 bg-blue-bright/10 border border-blue-bright/20 rounded-full px-4 py-1.5 mb-6",children:[n.jsx(Np,{className:"w-4 h-4 text-blue-bright"}),n.jsx("span",{className:"text-blue-bright text-sm font-semibold",children:"April 2024"})]}),n.jsx("h1",{className:"text-4xl md:text-5xl font-extrabold text-primary-foreground mt-2 mb-6",children:"Cyberwise Shared Learning Day"}),n.jsx("p",{className:"text-blue-ice/80 text-lg leading-relaxed max-w-2xl mx-auto",children:"A comprehensive educational event focused on the intersection of cybersecurity and Global Citizenship Education."})]})})]}),n.jsx("section",{className:"bg-card py-20 lg:py-24",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsxs("div",{className:"max-w-4xl mx-auto",children:[n.jsx("h2",{className:"text-3xl font-extrabold text-foreground mb-6 text-center",children:"About the Event"}),n.jsx("p",{className:"text-muted-foreground text-lg leading-relaxed text-center",children:"The Cyberwise Shared Learning Day was a comprehensive educational event focused on the intersection of cybersecurity and Global Citizenship Education (GCE). Held in April 2024, the day featured a variety of engaging activities, including a Zero Days Capture the Flag challenge, where participants tackled real-world cyber and GCE issues. The event also included a Continuing Professional Development (CPD) session on the AI in My Life course, which examined the influence of artificial intelligence on societal behaviours and climate change. Participants, comprising of students and educators, presented their reflections and proposed innovative solutions, demonstrating a deep understanding of cybersecurity's role in achieving broader educational and societal goals. The event successfully combined practical engagement with reflective learning, underscoring the critical importance of cybersecurity in contemporary education."})]})})}),n.jsx("section",{className:"bg-navy-dark py-20 lg:py-24",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsx("h2",{className:"text-3xl font-extrabold text-primary-foreground mb-4 text-center",children:"Cyberwise Programme"}),n.jsx("p",{className:"text-blue-ice/70 text-center mb-12 max-w-2xl mx-auto",children:"Key highlights from the Shared Learning Day programme."}),n.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-4 gap-6",children:dI.map(e=>n.jsxs("div",{className:"bg-navy-deep rounded-2xl p-6 border border-blue-bright/10 hover:border-blue-bright/30 transition-colors",children:[n.jsx("div",{className:"w-12 h-12 bg-blue-bright/10 rounded-xl flex items-center justify-center mb-4",children:n.jsx(e.icon,{className:"w-6 h-6 text-blue-bright"})}),n.jsx("h3",{className:"text-primary-foreground font-bold mb-2",children:e.title}),n.jsx("p",{className:"text-blue-ice/70 text-sm leading-relaxed",children:e.description})]},e.title))})]})}),n.jsx("section",{className:"bg-card py-20 lg:py-24",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsx("h2",{className:"text-3xl font-extrabold text-foreground mb-4 text-center",children:"Gallery"}),n.jsx("p",{className:"text-muted-foreground text-center mb-12 max-w-2xl mx-auto",children:"Highlights from the Cyberwise Shared Learning Day 2024."}),n.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6",children:uI.map((e,t)=>n.jsx("div",{className:`rounded-2xl overflow-hidden shadow-md ${t===0?"md:col-span-2 lg:col-span-2":""}`,children:n.jsx("img",{src:e.src,alt:e.alt,className:"w-full h-72 object-cover hover:scale-105 transition-transform duration-500",loading:"lazy"})},t))})]})}),n.jsx("section",{className:"bg-navy-deep py-16",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 text-center",children:[n.jsx("h2",{className:"text-2xl font-extrabold text-primary-foreground mb-4",children:"Explore More Projects"}),n.jsx("p",{className:"text-blue-ice/70 mb-8 max-w-xl mx-auto",children:"Discover our other projects and initiatives in cybersecurity education."}),n.jsxs("div",{className:"flex flex-wrap justify-center gap-4",children:[n.jsxs("a",{href:"/projects",className:"inline-flex items-center gap-2 bg-blue-bright text-primary-foreground font-bold px-6 py-3 rounded-xl hover:bg-blue-mid transition-colors",children:[n.jsx(pe,{className:"w-5 h-5"})," View All Projects"]}),n.jsx("a",{href:"/medals-and-award-winning-projects-2025",className:"inline-flex items-center gap-2 border border-blue-bright/30 text-blue-bright font-bold px-6 py-3 rounded-xl hover:bg-blue-bright/10 transition-colors",children:"2025 Awards"})]})]})}),n.jsx(st,{}),n.jsx(ae,{})]}),mI=[{quote:"Digital story telling in our school, brought a novel opportunity for students to participate in learning. Students were excited to bring their knowledge of making videos and they took the lead in shared learning. Knowing their digital story would be watched beyond the classroom, motivated students to learn content to a high level of accuracy. Benefits include students keen and competitive interest in watching each other's digital stories for inspiration. In the classroom, there is increased social standing for a well-made digital story. Sharing digital stories with other years, yielded positive feedback from seniors, which elevated junior cycle students' confidence. At the parent teacher meetings, parents were impressed, and some were emotional, to watch their child's original digital stories.",name:"Ms. F Doyle",school:"Tallaght Community School, Dublin"},{quote:"At Colaiste Choilm, Swords, we've had the incredible opportunity to integrate digital storytelling into some of our Junior Cycle classes through UCD's School of Education, #Digi-Stories initiative. This experience has enriched our students' understanding of the specification and has also empowered them to express their creativity in a digital format. It has been great watching them bring their ideas to life with technology. The skills they've gained are cross-curricular. We're proud to be part of this forward-thinking initiative.",name:"Kate Sheils",school:"Colaiste Choilm, Swords"}],pI=[{title:"Digi Stories Showcasing Day",date:"May 2024"},{title:"Digi Stories Showcasing Day",date:"May 2023"}],fI=[{title:"Digital Story on Social Engineering for 'Adventures in Cyberland' 2022 Awards",id:"odvhxIwom_k"},{title:"2024 Winning Digital Story on the Sustainable Development Goals",id:"em2oWD4k5ew"},{title:"Junior Cycle Science Digital Story Submission",id:"y7e7vfFp3
491KI"},{title:"Digital Story on the Solar System 2023 Submission",id:"6hzxKMalTSw"},{title:"Cyberwise Digital Story 2024",id:"NXQ4Gi6vkiU"},{title:"Digital Story on Climate Change",id:"68IN7p11BrY"},{title:"Digital Story Submission",id:"vFPdgEsiI4Y"},{title:"Digital Story Presentation",id:"NhOJqLZIDuo"}],gI=()=>n.jsxs("div",{className:"min-h-screen",children:[n.jsx(Ue,{title:"Digi Stories",description:"Showcasing digital stories created by students that reflect their unique perspectives and creativity. The power of storytelling in the digital age.",path:"/digi-stories"}),n.jsx(se,{}),n.jsxs("section",{className:"bg-navy-deep py-20 lg:py-28 relative overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_top_right,_hsl(var(--blue-bright)/0.15)_0%,_transparent_60%)]"}),n.jsx("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:n.jsxs("div",{className:"text-center max-w-3xl mx-auto",children:[n.jsxs("div",{className:"inline-flex items-center gap-2 bg-blue-bright/10 border border-blue-bright/20 rounded-full px-4 py-1.5 mb-6",children:[n.jsx(Go,{className:"w-4 h-4 text-blue-bright"}),n.jsx("span",{className:"text-blue-bright text-sm font-semibold",children:"Digital Storytelling"})]}),n.jsx("h1",{className:"text-4xl md:text-5xl font-extrabold text-primary-foreground mt-2 mb-6",children:"Digi Stories"}),n.jsx("p",{className:"text-blue-ice/80 text-lg leading-relaxed max-w-2xl mx-auto",children:"Showcasing the power of storytelling in the digital age and highlighting the diverse range of skills and talents that young people have in our post-primary schools."})]})})]}),n.jsx("section",{className:"bg-card py-20 lg:py-24",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsxs("div",{className:"max-w-4xl mx-auto text-center",children:[n.jsx("h2",{className:"text-3xl font-extrabold text-foreground mb-6",children:"About Digi Stories"}),n.jsx("p",{className:"text-muted-foreground text-lg leading-relaxed mb-6",children:"For two years, we have had the pleasure of showcasing the work of our talented students who create digital stories that reflect their unique perspectives and creativity. The Digi Stories initiative has enabled teachers to try something new, something different and something unique in their classrooms, to tell a tale."}),n.jsx("p",{className:"text-muted-foreground text-lg leading-relaxed mb-8",children:"These digital stories showcase the power of storytelling in the digital age and highlight the diverse range of skills and talents that young people have in our post-primary schools. Together, let's continue to celebrate the power of storytelling to inspire, educate and transform."}),n.jsxs("div",{className:"inline-block bg-navy-deep rounded-2xl p-6 border border-border",children:[n.jsx("p",{className:"text-primary-foreground font-bold text-lg",children:"Jake Weldon"}),n.jsx("p",{className:"text-blue-ice/70 text-sm",children:"Occasional Lecturer, School of Education, UCD"}),n.jsx("p",{className:"text-blue-bright text-sm font-semibold mt-1",children:"Digi-Stories Co-Host"})]})]})})}),n.jsx("section",{className:"bg-navy-dark py-20 lg:py-24",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsx("h2",{className:"text-3xl font-extrabold text-primary-foreground mb-4 text-center",children:"Testimonials"}),n.jsx("p",{className:"text-blue-ice/70 text-center mb-12 max-w-2xl mx-auto",children:"Hear from educators who have embraced digital storytelling in their classrooms."}),n.jsx("div",{className:"grid md:grid-cols-2 gap-8 max-w-5xl mx-auto",children:mI.map(e=>n.jsxs("div",{className:"bg-navy-deep rounded-2xl p-8 border border-blue-bright/10",children:[n.jsx(vE,{className:"w-8 h-8 text-blue-bright/30 mb-4"}),n.jsxs("p",{className:"text-blue-ice/80 text-sm leading-relaxed mb-6 italic",children:['"',e.quote,'"']}),n.jsxs("div",{children:[n.jsx("p",{className:"text-primary-foreground font-bold",children:e.name}),n.jsx("p",{className:"text-blue-ice/60 text-sm",children:e.school})]})]},e.name))})]})}),n.jsx("section",{className:"bg-card py-16",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsx("h2",{className:"text-3xl font-extrabold text-foreground mb-8 text-center",children:"Showcase Days"}),n.jsx("div",{className:"flex flex-wrap justify-center gap-6",children:pI.map(e=>n.jsxs("div",{className:"flex items-center gap-3 bg-navy-deep rounded-xl px-6 py-4 border border-border",children:[n.jsx(md,{className:"w-5 h-5 text-blue-bright"}),n.jsxs("div",{children:[n.jsx("p",{className:"text-primary-foreground font-bold",children:e.title}),n.jsx("p",{className:"text-blue-ice/60 text-sm",children:e.date})]})]},e.date))})]})}),n.jsx("section",{className:"bg-navy-dark py-20 lg:py-24",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsx("h2",{className:"text-3xl font-extrabold text-primary-foreground mb-4 text-center",children:"Artefacts of Learning"}),n.jsx("p",{className:"text-blue-ice/70 text-center mb-12 max-w-2xl mx-auto",children:"Watch digital stories created by students across Ireland."}),n.jsx("div",{className:"grid md:grid-cols-2 gap-8 max-w-5xl mx-auto",children:fI.map(e=>n.jsxs("div",{className:"bg-navy-deep rounded-2xl overflow-hidden border border-blue-bright/10",children:[n.jsx("div",{className:"aspect-video",children:n.jsx("iframe",{src:`https://www.youtube.com/embed/${e.id}`,title:e.title,className:"w-full h-full",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0,loading:"lazy"})}),n.jsx("div",{className:"p-4",children:n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Ep,{className:"w-4 h-4 text-blue-bright"}),n.jsx("p",{className:"text-primary-foreground font-semibold text-sm",children:e.title})]})})]},e.id))})]})}),n.jsx("section",{className:"bg-navy-deep py-16",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 text-center",children:[n.jsx("h2",{className:"text-2xl font-extrabold text-primary-foreground mb-4",children:"Explore More Projects"}),n.jsx("p",{className:"text-blue-ice/70 mb-8 max-w-xl mx-auto",children:"Discover our other initiatives in cybersecurity education and digital learning."}),n.jsxs("a",{href:"/projects",className:"inline-flex items-center gap-2 bg-blue-bright text-primary-foreground font-bold px-6 py-3 rounded-xl hover:bg-blue-mid transition-colors",children:[n.jsx(pe,{className:"w-5 h-5"})," View All Projects"]})]})}),n.jsx(st,{}),n.jsx(ae,{})]}),xI="/assets/fll-gallery-1-DnJnXlm1.png",yI="/assets/fll-gallery-2-6EWx2m8G.jpg",bI="/assets/fll-gallery-3-zIKtvf2J.jpg",vI="/assets/fll-gallery-4-DOvds1x-.png",wI="/assets/fll-gallery-5-Bi1yuv6T.png",jI="/assets/fll-gallery-6-Blln0R
491Mj.png",NI="/assets/fll-gallery-7-cSlr8NNY.png",kI="/assets/fll-gallery-8-BWL-oVul.png",CI="/assets/fll-gallery-9-6gWBqGC0.png",SI=[{src:wI,alt:"Students engaged at the event"},{src:yI,alt:"Students building with LEGO"},{src:bI,alt:"Student presenting at the event"},{src:jI,alt:"Students in the lecture hall"},{src:xI,alt:"Educator presenting at the event"},{src:vI,alt:"Speaker at EDI in STEM event"},{src:NI,alt:"Student with robotics controller"},{src:kI,alt:"VEX robotics close-up"},{src:CI,alt:"VEX robotics arena demonstration"}],EI=()=>n.jsxs("div",{className:"min-h-screen",children:[n.jsx(se,{}),n.jsxs("section",{className:"bg-navy-deep py-20 lg:py-28 relative overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_top_right,_hsl(var(--blue-bright)/0.15)_0%,_transparent_60%)]"}),n.jsx("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:n.jsxs("div",{className:"text-center max-w-3xl mx-auto",children:[n.jsxs("div",{className:"inline-flex items-center gap-2 bg-blue-bright/10 border border-blue-bright/20 rounded-full px-4 py-1.5 mb-6",children:[n.jsx(Es,{className:"w-4 h-4 text-blue-bright"}),n.jsx("span",{className:"text-blue-bright text-sm font-semibold",children:"2024 Event"})]}),n.jsx("h1",{className:"text-4xl md:text-5xl font-extrabold text-primary-foreground mt-2 mb-6",children:"First Lego League & Zero Days Capture the Flag"}),n.jsx("p",{className:"text-blue-ice/80 text-lg leading-relaxed max-w-2xl mx-auto",children:"A global competition bringing together young people to explore STEM through robotics and cybersecurity challenges."})]})})]}),n.jsx("section",{className:"bg-card py-20 lg:py-24",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsxs("div",{className:"max-w-4xl mx-auto text-center",children:[n.jsx("h2",{className:"text-3xl font-extrabold text-foreground mb-6",children:"About the Initiative"}),n.jsx("p",{className:"text-muted-foreground text-lg leading-relaxed mb-6",children:"FIRST LEGO League is a global competition with three divisions for different age groups: Discover, Explore, and Challenge. In Ireland, the Challenge division is open to children in Sixth Class to Transition Year."}),n.jsxs("div",{className:"inline-flex items-center gap-3 bg-navy-deep rounded-xl px-6 py-4 border border-border",children:[n.jsx(pd,{className:"w-6 h-6 text-blue-bright"}),n.jsx("span",{className:"text-primary-foreground font-bold",children:"Learning from First Lego League Initiative"})]})]})})}),n.jsx("section",{className:"bg-navy-dark py-20 lg:py-24",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsx("h2",{className:"text-3xl font-extrabold text-primary-foreground mb-4 text-center",children:"Gallery"}),n.jsx("p",{className:"text-blue-ice/70 text-center mb-12 max-w-2xl mx-auto",children:"Highlights from the First Lego League & Zero Days Capture the Flag 2024."}),n.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6",children:SI.map((e,t)=>n.jsx("div",{className:`rounded-2xl overflow-hidden shadow-md ${t===0?"md:col-span-2 lg:col-span-2":""}`,children:n.jsx("img",{src:e.src,alt:e.alt,className:"w-full h-72 object-cover hover:scale-105 transition-transform duration-500",loading:"lazy"})},t))})]})}),n.jsx("section",{className:"bg-card py-20 lg:py-24",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsx("h2",{className:"text-3xl font-extrabold text-foreground mb-4 text-center",children:"Gallery Video"}),n.jsx("p",{className:"text-muted-foreground text-center mb-8 max-w-2xl mx-auto",children:"Watch highlights from the event."}),n.jsx("div",{className:"max-w-3xl mx-auto rounded-2xl overflow-hidden shadow-lg border border-border",children:n.jsx("div",{className:"aspect-video",children:n.jsx("iframe",{src:"https://www.youtube.com/embed/s3Qvk5QW3HU",title:"First Lego League & Zero Days Capture the Flag 2024",className:"w-full h-full",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0,loading:"lazy"})})})]})}),n.jsx("section",{className:"bg-navy-deep py-16",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 text-center",children:[n.jsx("h2",{className:"text-2xl font-extrabold text-primary-foreground mb-4",children:"Explore More Projects"}),n.jsx("p",{className:"text-blue-ice/70 mb-8 max-w-xl mx-auto",children:"Discover our other initiatives in cybersecurity and STEM education."}),n.jsxs("a",{href:"/projects",className:"inline-flex items-center gap-2 bg-blue-bright text-primary-foreground font-bold px-6 py-3 rounded-xl hover:bg-blue-mid transition-colors",children:[n.jsx(pe,{className:"w-5 h-5"})," View All Projects"]})]})}),n.jsx(st,{}),n.jsx(ae,{})]}),_I="/assets/cbl-gallery-1-CfZ_-R_g.jpg",TI="/assets/cbl-gallery-2-DOO8ncUu.jpg",AI="/assets/cbl-gallery-3-CBncPi3p.jpg",PI="/assets/cbl-gallery-4-S5nUN45j.jpg",RI="/assets/cbl-gallery-5-CsaA27_R.jpg",DI="/assets/cbl-gallery-6-CIXPM3Ks.jpg",II="/assets/cbl-gallery-7-YmoQoen3.jpg",OI="/assets/cbl-gallery-8-SS4iN2n
491x.jpg",MI="/assets/cbl-gallery-9-DPs-jDNl.jpg",LI="/assets/cbl-gallery-10-CICSojAN.jpg",$I=[{icon:pe,title:"Quality Education",description:"Deepening understanding of cybersecurity's role in education"},{icon:Bt,title:"Industry, Innovation & Infrastructure",description:"Exploring cybersecurity solutions for sustainable innovation"},{icon:Jt,title:"Peace, Justice & Strong Institutions",description:"Examining cybersecurity's impact on societal stability"},{icon:Vo,title:"Critical Thinking & Problem-Solving",description:"Equipping students with practical strategies for cyber challenges"}],UI=[{src:TI,alt:"All participants at Challenge Based Learning Day"},{src:_I,alt:"Students discussing SDGs"},{src:RI,alt:"Challenge Based Learning team at UCD Village"},{src:PI,alt:"Students with NCSC"},{src:AI,alt:"Students at the event"},{src:DI,alt:"Students working on cybersecurity challenge"},{src:LI,alt:"Students presenting SDG projects"},{src:MI,alt:"Students with Challenge Based Learning banner"},{src:II,alt:"Speaker at Challenge Based Learning Day"},{src:OI,alt:"ENISA representatives at the event"}],BI=()=>n.jsxs("div",{className:"min-h-screen",children:[n.jsx(se,{}),n.jsxs("section",{className:"bg-navy-deep py-20 lg:py-28 relative overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_top_right,_hsl(var(--blue-bright)/0.15)_0%,_transparent_60%)]"}),n.jsx("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:n.jsxs("div",{className:"text-center max-w-3xl mx-auto",children:[n.jsxs("div",{className:"inline-flex items-center gap-2 bg-blue-bright/10 border border-blue-bright/20 rounded-full px-4 py-1.5 mb-6",children:[n.jsx(Np,{className:"w-4 h-4 text-blue-bright"}),n.jsx("span",{className:"text-blue-bright text-sm font-semibold",children:"October 2023"})]}),n.jsx("h1",{className:"text-4xl md:text-5xl font-extrabold text-primary-foreground mt-2 mb-6",children:"Challenge Based Learning Day"}),n.jsx("p",{className:"text-blue-ice/80 text-lg leading-relaxed max-w-2xl mx-auto",children:"Immersing students in cybersecurity and its connection to the Sustainable Development Goals."})]})})]}),n.jsx("section",{className:"bg-card py-20 lg:py-24",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsxs("div",{className:"max-w-4xl mx-auto text-center",children:[n.jsx("h2",{className:"text-3xl font-extrabold text-foreground mb-6",children:"About the Event"}),n.jsx("p",{className:"text-muted-foreground text-lg leading-relaxed",children:"The Challenge-Based Learning Day, held in October 2023, immersed students in the critical societal issue of cybersecurity and its connection to the Sustainable Development Goals (SDGs). This event aimed to deepen students' understanding of cybersecurity's impact on various aspects of life and its essential role in achieving sustainable development. Through hands-on, collaborative activities, students explored the multifaceted nature of cybersecurity threats and solutions, examining how these intersect with goals such as Quality Education, Industry Innovation and Infrastructure, and Peace, Justice, and Strong Institutions. The day fostered critical thinking, problem-solving, and innovation, equipping students with practical strategies to address cybersecurity challenges while contributing to a more secure and sustainable future."})]})})}),n.jsx("section",{className:"bg-navy-dark py-20 lg:py-24",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsx("h2",{className:"text-3xl font-extrabold text-primary-foreground mb-4 text-center",children:"Key Themes"}),n.jsx("p",{className:"text-blue-ice/70 text-center mb-12 max-w-2xl mx-auto",children:"Connecting cybersecurity with the UN Sustainable Development Goals."}),n.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-4 gap-6",children:$I.map(e=>n.jsxs("div",{className:"bg-navy-deep rounded-2xl p-6 border border-blue-bright/10 hover:border-blue-bright/30 transition-colors",children:[n.jsx("div",{className:"w-12 h-12 bg-blue-bright/10 rounded-xl flex items-center justify-center mb-4",children:n.jsx(e.icon,{className:"w-6 h-6 text-blue-bright"})}),n.jsx("h3",{className:"text-primary-foreground font-bold mb-2",children:e.title}),n.jsx("p",{className:"text-blue-ice/70 text-sm leading-relaxed",children:e.description})]},e.title))})]})}),n.jsx("section",{className:"bg-card py-20 lg:py-24",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsx("h2",{className:"text-3xl font-extrabold text-foreground mb-4 text-center",children:"Gallery"}),n.jsx("p",{className:"text-muted-foreground text-center mb-12 max-w-2xl mx-auto",children:"Highlights from the Challenge Based Learning Day 2023."}),n.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6",children:UI.map((e,t)=>n.jsx("div",{className:`rounded-2xl overflow-hidden shadow-md ${t===0?"md:col-span-2 lg:col-span-2":""}`,children:n.jsx("img",{src:e.src,alt:e.alt,className:"w-full h-72 object-cover hover:scale-105 transition-transform duration-500",loading:"lazy"})},t))})]})}),n.jsx("section",{className:"bg-navy-deep py-16",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 text-center",children:[n.jsx("h2",{className:"text-2xl font-extrabold text-primary-foreground mb-4",children:"Explore More Projects"}),n.jsx("p",{className:"text-blue-ice/70 mb-8 max-w-xl mx-auto",children:"Discover our other initiatives in cybersecurity education."}),n.jsxs("a",{href:"/projects",className:"inline-flex items-center gap-2 bg-blue-bright text-primary-foreground font-bold px-6 py-3 rounded-xl hover:bg-blue-mid transition-colors",children:[n.jsx(pe,{className:"w-5 h-5"})," View All Projects"]})]})}),n.jsx(st,{}),n.jsx(ae,{})]}),FI=1,zI="f2a1b792-5417-478d-a3e2-4509676f1f16",WI="006d986f-0954-4925-b449-48b863ced425",GI="/__l5e/assets-v1/f2a1b792-5417-478d-a3e2-4509676f1f16/ucd-logo.jpg",HI="a/v1/006d986f-0954-4925-b449-48b863ced425/f2a1b792-5417-478d-a3e2-4509676f1f16/ucd-logo.jpg",VI="ucd-logo.jpg",qI=22973,KI="image/jpeg",YI="2026-06-05T18:06:28Z",JI={version:FI,asset_id:zI,project_id:WI,url:GI,r2_key:HI,original_filename:VI,size:qI,content_type:KI,created_at:YI},QI=1,XI="79a09db6-42ea-49c6-a6eb-45a7285ceab4",ZI="006d986f-0954-4925-b449-48b863ced425",eO="/__l5e/assets-v1/79a09db6-42ea-49c6-a6eb-45a7285ceab4/northeastern-logo.png",tO="a/v1/006d986f-0954-4925-b449-48b863ced425/79a09db6-42ea-49c6-a6eb-45a7285ceab4/northeastern-logo.png",rO="northeastern-logo.png",nO=154848,sO="image/png",aO="2026-06-05T17:52:05Z",iO={version:QI,asset_id:XI,project_id:ZI,url:eO,r2_key:tO,original_filename:rO,size:nO,content_type:sO,created_at:aO},oO=1,lO="e77c61f4-7af0-4281-8bc0-a72d7cd8599e",cO="006d986f-0954-4925-b449-48b863ced425",dO="/__l5e/assets-v1/e77c61f4-7af0-4281-8bc0-a72d7cd8599e/team-eileen-mcgiveny.jpg",uO="a/v1/006d986f-0954-4925-b449-48b863ced425/e77c61f4-7af0-4281-8bc0-a72d7cd8599e/team-eileen-mcgiveny.jpg",hO="team-eileen-mcgiveny.jpg",mO=263541,pO="image/jpeg",fO="2026-06-05T18:11:57Z",gO={version:oO,asset_id:lO,project_id:cO,url:dO,r2_key:uO,original_filename:hO,size:mO,content_type:pO,created_at:fO},xO=1,yO="2c0cfd1b-ab2e-44b1-9b3c-7b97e2bad771",bO="006d986f-0954-4925-b449-48b863ced425",vO="/__l5e/assets-v1/2c0cfd1b-ab2e-44b1-9b3c-7b97e2bad771/team-casper-harteveld.jpg",wO="a/v1/006d986f-0954-4925-b449-48b863ced425/2c0cfd1b-ab2e-44b1-9b3c-7b97e2bad771/team-casper-harteveld.jpg",jO="team-casper-harteveld.jpg",NO=192643,kO="image/jpeg",CO="2026-06-05T18:11:57Z",SO={version:xO,asset_id:yO,project_id:bO,url:vO,r2_key:wO,original_filename:jO,size:NO,content_type:kO,created_at:CO},EO=1,_O="28ce87bf-4435-405f-83bb-6188a6ccc0a6",TO="006d986f-0954-4925-b449-48b863ced425",AO="/__l5e/assets-v1/28ce87bf-4435-405f-83bb-6188a6ccc0a6/team-meryl-alper.jpg",PO="a/v1/006d986f-0954-4925-b449-48b863ced425/28ce87bf-4435-405f-83bb-6188a6ccc0a6/team-meryl-alper.jpg",RO="team-meryl-alper.jpg",DO=182705,IO="image/jpeg",OO="2026-06-05T18:11:57Z",MO={version:EO,asset_id:_O,project_id:TO,url:AO,r2_key:PO,original_filename:RO,size:DO,content_type:IO,created_at:OO},LO=[{icon:pd,title:"Design Over Technology",description:"Examines how the structure and design of virtual spaces influence learner experience, engagement, and learning."},{icon:yd,title:"Human-Centred Innovation",description:"Grounds emerging XR environments in pedagogical and local contexts."},{icon:dw,title:"Participatory Design",description:"Connects creators with student and practicing teachers to explore XR effectiveness in classrooms."}],$O=[{icon:Jt,title:"Transatlantic Exchange",description:"Documented case examples of XR-based learning design from both institutions, informing future teaching and research activity."},{icon:pe,title:"Co-Authored Report & Symposium",description:"A co-authored project report outlining design principles for XR-supported learning environments, presented at the iLRN conference."}
491,{icon:Bt,title:"Joint Funding Proposal",description:"Preparation of a joint external funding proposal (Horizon Europe, U.S. National Science Foundation) to scale the partnership beyond seed funding."}],UO=[{icon:Qe,title:"Virtual Transatlantic Exchange of Practices",description:"Two structured, two-hour virtual 'teach meet' exchanges — one hosted by UCD and one by Northeastern University — bringing together academic staff, researchers, teachers, and students to share concrete examples of learning design, learner interaction, and pedagogical decision-making in immersive contexts."},{icon:Zg,title:"In-Person Exchange at Northeastern University (US)",description:"A research visit by UCD staff to Northeastern University for in-depth engagement with immersive learning labs, design studios, and ongoing projects — including design workshops, VR demonstrations, guest lectures, and focused discussions on learning design, ethics, and learner agency."},{icon:Zg,title:"In-Person Exchange at UCD (Ireland)",description:"A reciprocal visit by Northeastern staff to UCD centred on education, digital transformation, and cyber resilience — including workshops hosted by the Centre for Cyber Resilience Education, joint reflection, guest lectures, and consolidation of shared research priorities."},{icon:pe,title:"Synthesis and Forward Planning",description:"Consolidating learning from the exchanges, producing a co-authored project report, a symposium for the 2027 Immersive Learning Research Network, and developing a joint external funding proposal to sustain the partnership."}],BO=[{name:"Declan Qualter",role:"Director of BEd School Placement · Lecturer, PME · UCD School of Education",photo:ij,bio:"Declan's work focuses on the integration of digital technologies in initial teacher education, supporting the development of teachers' digital competence and reflective practice. He is currently completing a PhD on parental involvement in children's home-based digital learning, with a particular focus on digital literacy and the role of AI in education. At European level, Declan has contributed to digital education policy and practice as a member of the European Commission's SELFIE for Teachers Expert Group and through the European Digital Education Hub, including the Digital Citizenship and Wellbeing in Digital Education squads. He has been invited as an expert to Council of Europe and European Commission initiatives on AI, digital citizenship, and online safety."},{name:"Dr Rachel Farrell",role:"Associate Dean, UCD College of Social Sciences and Law · Programme Director, PME · Founding Director, UCD Centre for Cyber Resilience Education",photo:kd,bio:"Rachel's research focuses on human-centred, ethical and responsible educational innovation, with particular expertise in the learning design of immersive technologies (VR/AR/XR), and how emerging technologies can strengthen teacher professional learning and support equitable participation in STEM and cybersecurity education. She has led and contributed to major international initiatives advancing immersive learning and educator capacity-building, including Alliance4XR and EU Immersive. Her recent peer-reviewed publications include research on collaborative learning, digital transformation, and VR-supported professional learning in initial teacher education."},{name:"Dr Michal Wieczorek",role:"Ad Astra Fellow & Assistant Professor in AI-Driven Educational Innovation · Co-Director, UCD Centre for Cyber Resilience Education",photo:Gp,bio:"Michal's work takes a critical perspective on educational technologies and the assumptions that underpin them. He values technological innovation but focuses his research on examining its limitations, ethical risks, and unintended consequences — particularly in relation to artificial intelligence in education. With a background in philosophy and applied ethics, he interrogates questions of pedagogy, societal impact, autonomy, justice, and the broader ethical implications of edtech, seeking pathways for more responsible, equitable, and educationally meaningful technologies."}],FO=[{name:"Dr Eileen McGiveny",role:"Assistant Professor of Art + Design and Communication Studies · College of Arts, Media and Design (CAMD), Northeastern 
491University",photo:gO.url,bio:"As Principal Investigator of the XR Education Design Lab, Eileen conducts design-based research on how people learn with immersive technologies like virtual reality. She draws on learning sciences, educational psychology, and media studies to investigate the affordances and limitations of VR to situate learning in environments that are difficult or impossible in traditional classrooms. She is particularly interested in how the design of virtual environments and activities affect how learners use and experience them, and how that helps or hinders their learning."},{name:"Dr Casper Harteveld",role:"Professor of Game Design · Associate Dean of Graduate Programs and Strategic Initiatives, CAMD",photo:SO.url,bio:"With over 150 peer-reviewed publications, including 18 full papers at the prestigious CHI conference, and $15 million in research funding, Casper has pioneered the design and integration of games, gamification, and extended reality (XR) technologies to address critical societal challenges in education, health, and sustainability. He founded and directs the EXCITE Institute at Northeastern, which convenes researchers and labs across the university, leveraging creativity to develop emerging technologies like XR to solve social challenges."},{name:"Dr Meryl Alper",role:"Associate Professor, Department of Communication Studies · College of Arts, Media, and Design, Northeastern University",photo:MO.url,bio:"Meryl researches the social, cultural, and health implications of communication technologies, with a focus on disability, digital media, and children and families' technology use. Her latest prized book, Kids Across the Spectrums: Growing Up Autistic in the Digital Age (MIT Press, 2023), explores the often-misunderstood technology practices of young people on the autism spectrum. In her research and teaching, she also draws on 20 years of professional experience in the children's media industry with organisations such as Sesame Workshop, PBS KIDS, Nickelodeon, and Disney."}],ly=({name:e,role:t,bio:r,photo:s})=>n.jsx("div",{className:"group relative rounded-2xl p-[1px] bg-gradient-to-br from-cyan-400/40 via-blue-500/20 to-transparent hover:from-cyan-400 hover:via-blue-400/40 transition-all",children:n.jsxs("div",{className:"relative h-full bg-[#0a1428]/90 backdrop-blur-sm rounded-2xl p-8 overflow-hidden",children:[n.jsx("div",{className:"absolute -top-20 -right-20 w-40 h-40 bg-cyan-400/10 rounded-full blur-3xl group-hover:bg-cyan-400/20 transition-all"}),s&&n.jsxs("div",{className:"relative mb-5 inline-block",children:[n.jsx("div",{className:"absolute inset-0 bg-cyan-400/40 rounded-full blur-md group-hover:blur-lg transition-all"}),n.jsx("img",{src:s,alt:e,className:"relative w-28 h-28 rounded-full object-cover border-2 border-cyan-400/50"})]}),n.jsx("h3",{className:"text-xl font-bold text-white mb-2",children:e}),n.jsx("p",{className:"text-cyan-300 text-base font-semibold mb-4 leading-snug",children:t}),n.jsx("p",{className:"text-slate-300 text-base leading-relaxed",children:r})]})}),is=({kicker:e,title:t})=>n.jsxs("div",{className:"text-center mb-14",children:[n.jsxs("div",{className:"inline-flex items-center gap-2 px-4 py-1.5 rounded-full border border-cyan-400/30 bg-cyan-400/5 backdrop-blur-sm mb-4",children:[n.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-cyan-400 animate-pulse"}),n.jsx("span",{className:"text-cyan-300 font-semibold text-xs uppercase tracking-[0.2em]",children:e})]}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-white tracking-tight",children:t})]}),zO=()=>n.jsxs("div",{className:"min-h-screen bg-[#050d1f] text-white",children:[n.jsx(Ue,{title:"XR-LEARN 2035",description:"Extended Reality for Learner Experience and Learning Design — a transatlantic collaboration between UCD Centre for Cyber Resilience Education and Northeastern University exploring how immersive technologies could shape the secondary school classroom of 2035.",path:"/xr-learn-2035"}),n.jsx(se,{}),n.jsxs("section",{className:"relative pt-24 pb-24 lg:pt-32 lg:pb-32 overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 bg-gradient-to-br from-[#050d1f] via-[#0a1a3a] to-[#050d1f]"}),n.jsx("div",{className:"absolute inset-0 opacity-[0.18]",style:{backgroundImage:"linear-gradient(rgba(56,189,248,0.6) 1px, transparent 1px), linear-gradient(90deg, rgba(56,189,248,0.6) 1px, transparent 1px)",backgroundSize:"60px 60px",maskImage:"radial-gradient(ellipse at center, black 30%, transparent 75%)",WebkitMaskImage:"radial-gradient(ellipse at center, black 30%, transparent 75%)"}}),n.jsx("div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[800px] h-[800px] rounded-full bg-cyan-500/10 blur-3xl"}),n.jsx("div",{className:"absolute top-20 right-10 w-[400px] h-[400px] rounded-full bg-blue-500/20 blur-3xl"}),n.jsx("div",{className:"absolute inset-0 overflow-hidden pointer-events-none",children:[...Array(20)].map((e,t)=>n.jsx("div",{className:"absolute w-1 h-1 bg-cyan-300 rounded-full animate-pulse",style:{left:`${t*53%100}%`,top:`${t*37%100}%`,opacity:.4+t%5*.1,animationDelay:`${t*.3}s`,animationDuration:`${2+t%4}s`}},t))}),n.jsx("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:n.jsxs("div",{className:"max-w-4xl mx-auto text-center",children:[n.jsxs("div",{className:"inline-flex items-center gap-2 px-4 py-1.5 rounded-full border border-cyan-400/40 bg-cyan-400/10 backdrop-blur-sm mb-6",children:[n.jsx(hw,{className:"w-3.5 h-3.5 text-cyan-300"}),n.jsx("span",{className:"text-cyan-300 font-semibold text-xs uppercase tracking-[0.25em]",children:"Transatlantic Research Initiative"})]}),n.jsxs("h1",{className:"text-5xl md:text-7xl font-extrabold mb-6 leading-[1.05] tracking-tight",children:[n.jsx("span",{className:"bg-gradient-to-r from-white via-cyan-100 to-cyan-300 bg-clip-text text-transparent",children:"XR-LEARN 2035"}),n.jsx("span",{className:"block text-2xl md:text-3xl font-light text-slate-300 mt-4 italic",children:"Designing the Future of Immersive Education"})]}),n.jsxs("p",{className:"text-slate-300 text-lg md:text-xl leading-relaxed max-w-3xl mx-auto mb-4",children:["A transatlantic partnership between"," ",n.jsx("span",{className:"text-cyan-300 font-semibold",children:"UCD Centre for Cyber Resilience Education"})," and"," ",n.jsx("span",{className:"text-cyan-300 font-semibold",children:"Northeastern 
491University College of Arts, Media and Design"})," ","— investigating human-centred Extended Reality (XR) in secondary school classrooms of 2035."]}),n.jsx("p",{className:"text-slate-400 text-sm uppercase tracking-widest",children:"Funded under UCD's North America Engagement Strategy"})]})}),n.jsx("div",{className:"absolute bottom-0 left-0 right-0 h-32 bg-gradient-to-b from-transparent to-[#050d1f]"})]}),n.jsxs("section",{className:"relative py-20 lg:py-28",children:[n.jsx("div",{className:"absolute inset-0 opacity-[0.04]",style:{backgroundImage:"linear-gradient(rgba(56,189,248,1) 1px, transparent 1px), linear-gradient(90deg, rgba(56,189,248,1) 1px, transparent 1px)",backgroundSize:"40px 40px"}}),n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:[n.jsx(is,{kicker:"Project Vision & Focus",title:"Three pillars shaping XR for 2035"}),n.jsx("div",{className:"grid md:grid-cols-3 gap-6 max-w-6xl mx-auto",children:LO.map((e,t)=>n.jsx("div",{className:"group relative rounded-2xl p-[1px] bg-gradient-to-br from-cyan-400/50 via-blue-500/20 to-transparent hover:from-cyan-300 transition-all",children:n.jsxs("div",{className:"relative h-full bg-[#0a1428] rounded-2xl p-8 overflow-hidden",children:[n.jsx("div",{className:"absolute top-3 left-3 w-4 h-4 border-t-2 border-l-2 border-cyan-400/60"}),n.jsx("div",{className:"absolute top-3 right-3 w-4 h-4 border-t-2 border-r-2 border-cyan-400/60"}),n.jsx("div",{className:"absolute bottom-3 left-3 w-4 h-4 border-b-2 border-l-2 border-cyan-400/60"}),n.jsx("div",{className:"absolute bottom-3 right-3 w-4 h-4 border-b-2 border-r-2 border-cyan-400/60"}),n.jsx("div",{className:"absolute -top-10 -right-10 w-32 h-32 bg-cyan-400/10 rounded-full blur-3xl group-hover:bg-cyan-400/20 transition-all"}),n.jsxs("div",{className:"relative",children:[n.jsxs("div",{className:"text-cyan-400/50 text-xs font-mono mb-3",children:["0",t+1," / 03"]}),n.jsx("div",{className:"w-14 h-14 rounded-xl bg-gradient-to-br from-cyan-400/20 to-blue-500/20 border border-cyan-400/30 flex items-center justify-center mb-6 group-hover:shadow-[0_0_20px_rgba(56,189,248,0.5)] transition-all",children:n.jsx(e.icon,{className:"w-7 h-7 text-cyan-300"})}),n.jsx("h3",{className:"text-xl font-bold text-white mb-3",children:e.title}),n.jsx("p",{className:"text-slate-300 text-base leading-relaxed",children:e.description})]})]})},e.title))})]})]}),n.jsxs("section",{className:"relative py-20 lg:py-28 overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 bg-gradient-to-b from-[#050d1f] via-[#0a1a3a]/40 to-[#050d1f]"}),n.jsx("div",{className:"absolute top-1/4 -left-32 w-[500px] h-[500px] rounded-full bg-blue-600/10 blur-3xl"}),n.jsx("div",{className:"absolute bottom-1/4 -right-32 w-[500px] h-[500px] rounded-full bg-cyan-500/10 blur-3xl"}),n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 max-w-5xl relative z-10",children:[n.jsx(is,{kicker:"Project Summary",title:"Designing the immersive classroom of 2035"}),n.jsxs("div",{className:"space-y-6 text-slate-300 text-lg leading-relaxed",children:[n.jsx("p",{children:"The XR-LEARN 2035 project initiates a new academic collaboration between UCD Centre for Cyber Resilience Education and Northeastern University College of Arts, Media and Design to explore how immersive technologies could shape the secondary school classroom of 2035."}),n.jsx("p",{children:"Focusing on learning design rather than technology alone, the project examines how the structure and design of virtual spaces influence learner experience, engagement, and learning. Through joint workshops and academic exchange, the partnership aims to position UCD as a leader in future-oriented, human-centred educational innovation and to lay the groundwork for long-term transatlantic research collaboration."}),n.jsx("p",{children:"The primary target audience for XR-LEARN 2035 is academic staff and researchers in education, learning sciences, and immersive media at UCD and NU. A secondary audience comprises pre-service and in-service secondary school teachers working with, or preparing to work with, immersive technologies in and for education. The exchange will also forge collaboration between technology creators, students and faculty from NU with educators — providing an innovative model in participatory design processes to improve the effectiveness of XR technologies for education."}),n.jsx("div",{className:"relative rounded-2xl p-[1.5px] bg-gradient-to-br from-cyan-400 via-blue-500/40 to-cyan-400/40 mt-10",children:n.jsxs("div",{className:"relative rounded-2xl overflow-hidden bg-[#050d1f]",children:[n.jsx("img",{src:cj.url,alt:"Students using XR headsets in a futuristic 2035 classroom",width:1024,height:1024,className:"w-full h-auto object-cover"}),n.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-[#050d1f]/40 via-trans
491parent to-transparent"}),n.jsx("div",{className:"absolute top-4 left-4 w-6 h-6 border-t-2 border-l-2 border-cyan-400"}),n.jsx("div",{className:"absolute top-4 right-4 w-6 h-6 border-t-2 border-r-2 border-cyan-400"}),n.jsx("div",{className:"absolute bottom-4 left-4 w-6 h-6 border-b-2 border-l-2 border-cyan-400"}),n.jsx("div",{className:"absolute bottom-4 right-4 w-6 h-6 border-b-2 border-r-2 border-cyan-400"})]})})]})]})]}),n.jsx("section",{className:"relative py-20 lg:py-28",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:[n.jsx(is,{kicker:"Collaboration & Future Outcomes",title:"What we will deliver"}),n.jsx("div",{className:"grid md:grid-cols-3 gap-6 max-w-6xl mx-auto",children:$O.map((e,t)=>n.jsx("div",{className:"group relative rounded-2xl p-[1px] bg-gradient-to-br from-cyan-400/40 to-blue-500/10 hover:from-cyan-300 transition-all hover:-translate-y-1 duration-300",children:n.jsxs("div",{className:"relative h-full bg-[#0a1428] rounded-2xl p-8 overflow-hidden",children:[n.jsx("div",{className:"absolute inset-x-0 top-0 h-px bg-gradient-to-r from-transparent via-cyan-400 to-transparent"}),n.jsxs("div",{className:"text-cyan-400/40 text-xs font-mono mb-3",children:["OUTCOME / 0",t+1]}),n.jsx("div",{className:"w-14 h-14 rounded-xl bg-gradient-to-br from-cyan-400/20 to-blue-500/10 border border-cyan-400/30 flex items-center justify-center mb-6 group-hover:shadow-[0_0_25px_rgba(56,189,248,0.4)] transition-all",children:n.jsx(e.icon,{className:"w-7 h-7 text-cyan-300"})}),n.jsx("h3",{className:"text-lg font-bold text-white mb-3",children:e.title}),n.jsx("p",{className:"text-slate-300 text-base leading-relaxed",children:e.description})]})},e.title))})]})}),n.jsxs("section",{className:"relative py-20 lg:py-28 overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 bg-gradient-to-b from-transparent via-[#0a1a3a]/30 to-transparent"}),n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:[n.jsx(is,{kicker:"Planned Activities",title:"How the partnership comes to life"}),n.jsxs("div",{className:"relative max-w-5xl mx-auto",children:[n.jsx("div",{className:"absolute left-4 md:left-1/2 top-0 bottom-0 w-px bg-gradient-to-b from-cyan-400/0 via-cyan-400/60 to-cyan-400/0 -translate-x-px"}),n.jsx("div",{className:"space-y-10",children:UO.map((e,t)=>n.jsxs("div",{className:`relative flex items-start gap-6 md:gap-10 ${t%2===0?"md:flex-row":"md:flex-row-reverse"}`,children:[n.jsx("div",{className:"absolute left-4 md:left-1/2 -translate-x-1/2 w-4 h-4 rounded-full bg-cyan-400 shadow-[0_0_15px_rgba(56,189,248,0.8)] mt-6 z-10",children:n.jsx("div",{className:"absolute inset-0 rounded-full bg-cyan-400 animate-ping opacity-40"})}),n.jsx("div",{className:"hidden md:block flex-1"}),n.jsx("div",{className:"flex-1 pl-12 md:pl-0",children:n.jsx("div",{className:"group relative rounded-2xl p-[1px] bg-gradient-to-br from-cyan-400/40 to-blue-500/10 hover:from-cyan-300 transition-all",children:n.jsxs("div",{className:"bg-[#0a1428] rounded-2xl p-7",children:[n.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[n.jsx("div",{className:"w-11 h-11 rounded-lg bg-gradient-to-br from-cyan-400/20 to-blue-500/10 border border-cyan-400/30 flex items-center justify-center flex-shrink-0",children:n.jsx(e.icon,{className:"w-5 h-5 text-cyan-300"})}),n.jsxs("div",{children:[n.jsxs("div",{className:"text-cyan-400/50 text-xs font-mono",children:["PHASE 0",t+1]}),n.jsx("h3",{className:"text-lg font-bold text-white leading-tight",children:e.title})]})]}),n.jsx("p",{className:"text-slate-300 text-base leading-relaxed",children:e.description})]})})})]},e.title))})]})]})]}),n.jsx("section",{className:"relative py-20 lg:py-28",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:[n.jsx(is,{kicker:"Project Teams",title:"UCD Research Team"}),n.jsx("div",{className:"grid lg:grid-cols-3 gap-8",children:BO.map(e=>n.jsx(ly,{...e},e.name))})]})}),n.jsxs("section",{className:"relative py-20 lg:py-28",children:[n.jsx("div",{className:"absolute inset-0 bg-gradient-to-b from-transparent via-[#0a1a3a]/30 to-transparent"}),n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:[n.jsx(is,{kicker:"Project Teams",title:"Northeastern 
491University Research Team"}),n.jsx("div",{className:"grid lg:grid-cols-3 gap-8",children:FO.map(e=>n.jsx(ly,{...e},e.name))})]})]}),n.jsxs("section",{className:"relative py-16 lg:py-20",children:[n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_center,rgba(56,189,248,0.10),transparent_70%)]"}),n.jsx("div",{className:"absolute inset-0 opacity-[0.05]",style:{backgroundImage:"linear-gradient(rgba(56,189,248,1) 1px, transparent 1px), linear-gradient(90deg, rgba(56,189,248,1) 1px, transparent 1px)",backgroundSize:"60px 60px"}}),n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:[n.jsx(is,{kicker:"Partner Institutions",title:"A transatlantic collaboration"}),n.jsx("div",{className:"grid md:grid-cols-2 gap-6 max-w-5xl mx-auto",children:[{logo:JI.url,alt:"University College Dublin",name:"University College Dublin",sub:"Centre for Cyber Resilience Education"},{logo:iO.url,alt:"Northeastern University",name:"Northeastern University",sub:"College of Arts, Media and Design"}].map(e=>n.jsxs("div",{className:"group relative",children:[n.jsx("div",{className:"absolute -inset-px rounded-2xl bg-gradient-to-br from-cyan-400/50 via-cyan-400/10 to-blue-500/40 opacity-60 group-hover:opacity-100 transition-opacity"}),n.jsxs("div",{className:"relative rounded-2xl bg-[#0a1530]/80 backdrop-blur-md border border-cyan-400/20 p-8 flex flex-col items-center text-center h-full",children:[n.jsx("span",{className:"absolute top-3 left-3 w-4 h-4 border-t-2 border-l-2 border-cyan-400/60"}),n.jsx("span",{className:"absolute top-3 right-3 w-4 h-4 border-t-2 border-r-2 border-cyan-400/60"}),n.jsx("span",{className:"absolute bottom-3 left-3 w-4 h-4 border-b-2 border-l-2 border-cyan-400/60"}),n.jsx("span",{className:"absolute bottom-3 right-3 w-4 h-4 border-b-2 border-r-2 border-cyan-400/60"}),n.jsx("div",{className:"rounded-xl bg-white/95 px-6 py-4 shadow-[0_0_40px_rgba(56,189,248,0.25)] mb-5",children:n.jsx("img",{src:e.logo,alt:e.alt,className:"h-16 md:h-20 w-auto"})}),n.jsx("h3",{className:"text-white font-semibold text-lg",children:e.name}),n.jsx("p",{className:"text-cyan-300/80 text-sm uppercase tracking-[0.18em] mt-1",children:e.sub})]})]},e.name))})]})]}),n.jsx(ae,{})]}),WO=["Map current approaches to preparing student teachers for parent engagement around digital wellbeing and AI use.","Investigate teacher educators' and teachers' perceptions of their role in supporting parental digital engagement.","Facilitate professional learning and collaboration between stakeholders in Northern Ireland and the Republic of Ireland.","Develop shared resources for teacher education programmes to integrate digital parental engagement and responsible AI use into their curricula."],GO=["How are teacher education programmes currently addressing the role of teachers in supporting parental engagement with children's use of AI and digital wellbeing?","What knowledge, skills, and values do student teachers and teacher educators believe are essential for supporting parents in engaging in ethical and responsible AI use with their children?","How can teacher education be enhanced to build teacher capacity for supporting parental AI readiness and engagement?"],HO=()=>n.jsxs("div",{className:"min-h-screen",children:[n.jsx(Ue,{title:"Digi-PAIR-Edu — Digital Parental AI Readiness in Education",description:"SCoTENS-funded research project exploring how initial teacher education programmes can better prepare student teachers to support parental involvement in children's responsible and ethical use of AI.",path:"/digi-pair-edu"}),n.jsx(se,{}),n.jsxs("section",{className:"bg-navy-deep py-16 lg:py-22 relative overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_center_right,_hsl(var(--navy-dark))_0%,_transparent_70%)] opacity-50"}),n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 relative z-10 max-w-5xl",children:[n.jsx("span",{className:"text-blue-sky font-bold text-sm uppercase tracking-widest",children:"Research Project"}),n.jsx("h1",{className:"text-4xl md:text-5xl font-extrabold text-primary-foreground mt-3 mb-4",children:"Digi-PAIR-Edu"}),n.jsx("p",{className:"text-blue-ice/90 text-xl font-semibold mb-6",children:"Digital Parental AI Readiness in Education"}),n.jsx("p",{className:"text-blue-ice/80 text-lg leading-relaxed mb-4",children:"SCoTENS-funded research project exploring how initial teacher education programmes can better prepare student teachers to support parental involvement in children's responsible and ethical use of Artificial Intelligence systems."}),n.jsx("p",{className:"text-blue-ice/70 text-base leading-relaxed",children:"The project is being undertaken by Declan Qualter from the UCD School of Education and UCD Centre for Cyber Resilience Education, Dr Stergiani Kostopoulou from the UCD Centre for English and Global Languages, and Dr Franziska Wischerhoff, UCD Postdoctoral Researcher, in collaboration with Dr Pamela Cowan from the School of Social Sciences, Education and Social Work, Queen's University Belfast. The project is supported by Dr Rachel Farrell, Director of the UCD Centre for Cyber Resilience Education."})]})]}),n.jsx("section",{className:"py-14 border-b border-border",style:{backgroundColor:"hsl(0 0% 95%)"},children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsx("div",{className:"flex flex-wrap items-center justify-center gap-8 md:gap-12",children:[{src:Ij,alt:"SCoTENS"},{src:Mj,alt:"UCD Centre for Cyber Resilience Education"},{src:Oj,alt:"Queen's University Belfast"},{src:zp,alt:"UCD Schools"}].map(e=>n.jsx("div",{className:"bg-white rounded-xl px-8 py-6 shadow-sm border border-border flex items-center justify-center h-32",children:n.jsx("img",{src:e.src,alt:e.alt,className:"max-h-[104px] max-w-[286px] object-contain"})},e.alt))})})}),n.jsx("section",{className:"bg-card py-16 lg:py-24",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 max-w-5xl",children:[n.jsx("span",{className:"text-blue-mid font-bold text-sm uppercase tracking-widest",children:"About the Project"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3 mb-6",children:"Building Home–School Partnerships for AI Literacy"}),n.jsx("p",{className:"text-muted-foreground text-lg leading-relaxed mb-4",children:"As AI technologies become increasingly present in education and everyday life, both teachers and parents are navigating a rapidly evolving digital landscape. Digi-PAIR-Edu responds to the growing need for teacher education programmes to prepare future teachers to foster meaningful home–school partnerships around AI literacy, digital wellbeing, and ethical and responsible AI use."}),n.jsx("p",{className:"text-muted-foreground text-lg leading-relaxed",children:"The project explores how student teachers can be supported to develop the confidence, competence, and professional judgement needed to engage parents in conversations about AI's influence on children's learning, safety, autonomy, privacy, and critical thinking."})]})}),n.jsx("section",{className:"bg-blue-ice py-16 lg:py-24",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 max-w-5xl",children:[n.jsxs("div",{className:"text-center mb-12",children:[n.jsx("span",{className:"text-blue-mid font-bold text-sm uppercase tracking-widest",children:"Project Aims"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3",children:"What We Set Out to Do"})]}),n.jsx("div",{className:"grid md:grid-cols-2 gap-6",children:WO.map((e,t)=>n.jsxs("div",{className:"bg-card rounded-2xl p-6 border border-border flex gap-4",children:[n.jsx("div",{className:"w-10 h-10 rounded-lg bg-blue-mid/10 flex items-center justify-center flex-shrink-0",children:n.jsx(Vo,{className:"w-5 h-5 text-blue-mid"})}),n.jsx("p",{className:"text-muted-foreground leading-relaxed",children:e})]},t))})]})}),n.jsx("section",{className:"bg-card py-16 lg:py-24",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 max-w-5xl",children:[n.jsxs("div",{className:"text-center mb-12",children:[n.jsx("span",{className:"text-blue-mid font-bold text-sm uppercase tracking-widest",children:"Research Questions"}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-foreground mt-3",children:"Guiding Our Inquiry"})]}),n.jsx("div",{className:"space-y-5",children:GO.map((e,t)=>n.jsxs("div",{className:"bg-blue-ice rounded-2xl p-6 md:p-8 border border-border flex gap-5",children:[n.jsx("span",{className:"text-3xl font-extrabold text-blue-mid leading-none",children:t+1}),n.jsx("p",{className:"text-foreground text-lg leading-relaxed",children:e})]},t))})]})}),n.jsx("section",{className:"bg-blue-ice py-16 lg:py-24",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8 max-w-6xl",children:n.jsx("div",{className:"grid md:grid-cols-3 gap-8",children:[{icon:Bt,tag:"Why This Research Matters",title:"Addressing a Critical Gap",body:"Existing research highlights the importance of digital parenting, digital competence, and AI literacy. However, there remains a significant gap in understanding how teachers on the island of Ireland can support parental confidence in guiding children's ethical and responsible use of AI for learning. Digi-PAIR-Edu addresses this gap by examining teacher readiness for parental AI engagement across initial teacher education, schools, and policy contexts in Northern Ireland and the Republic of Ireland."},{icon:Yn,tag:"Theoretical Contribution",title:"A Shared Responsibility",body:"The project draws on frameworks of AI literacy, parental involvement, and AI readiness to position AI literacy as a shared responsibility between sc
491hools and families. It will contribute to the development of a novel framework for teacher readiness for parental AI engagement, helping to refine understandings of AI literacy within the context of home–school partnerships."},{icon:rw,tag:"Practical Outcomes",title:"Evidence-Informed Recommendations",body:"Digi-PAIR-Edu will produce evidence-informed recommendations for teacher education providers, schools, and policy stakeholders. These recommendations will support the development of more holistic, future-facing teacher education curricula and digital education policies across Northern Ireland and the Republic of Ireland."}].map(e=>n.jsxs("div",{className:"bg-card rounded-2xl p-8 border border-border hover:shadow-xl transition-all",children:[n.jsx("div",{className:"w-14 h-14 rounded-xl bg-blue-mid/10 flex items-center justify-center mb-5",children:n.jsx(e.icon,{className:"w-7 h-7 text-blue-mid"})}),n.jsx("span",{className:"text-blue-mid font-bold text-xs uppercase tracking-widest",children:e.tag}),n.jsx("h3",{className:"text-xl font-bold text-foreground mt-2 mb-3",children:e.title}),n.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:e.body})]},e.tag))})})}),n.jsx("section",{className:"bg-card py-12 lg:py-16",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8 text-center",children:n.jsxs("a",{href:"/projects",className:"inline-flex items-center gap-2 text-blue-mid font-bold hover:gap-3 transition-all",children:["View All Projects ",n.jsx(le,{className:"w-4 h-4"})]})})}),n.jsx(ae,{})]});var Tu="focusScope.autoFocusOnMount",Au="focusScope.autoFocusOnUnmount",cy={bubbles:!1,cancelable:!0},VO="FocusScope",Uj=w.forwardRef((e,t)=>{const{loop:r=!1,trapped:s=!1,onMountAutoFocus:a,onUnmountAutoFocus:i,...o}=e,[l,c]=w.useState(null),d=Fr(a),u=Fr(i),h=w.useRef(null),m=nt(t,f=>c(f)),p=w.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;w.useEffect(()=>{if(s){let f=function(b){if(p.paused||!l)return;const j=b.target;l.contains(j)?h.current=j:Nn(h.current,{select:!0})},v=function(b){if(p.paused||!l)return;const j=b.relatedTarget;j!==null&&(l.contains(j)||Nn(h.current,{select:!0}))},g=function(b){if(document.activeElement===document.body)for(const N of b)N.removedNodes.length>0&&Nn(l)};document.addEventListener("focusin",f),document.addEventListener("focusout",v);const x=new MutationObserver(g);return l&&x.observe(l,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",f),document.removeEventListener("focusout",v),x.disconnect()}}},[s,l,p.paused]),w.useEffect(()=>{if(l){uy.add(p);const f=document.activeElement;if(!l.contains(f)){const g=new CustomEvent(Tu,cy);l.addEventListener(Tu,d),l.dispatchEvent(g),g.defaultPrevented||(qO(XO(Bj(l)),{select:!0}),document.activeElement===f&&Nn(l))}return()=>{l.removeEventListener(Tu,d),setTimeout(()=>{const g=new CustomEvent(Au,cy);l.addEventListener(Au,u),l.dispatchEvent(g),g.defaultPrevented||Nn(f??document.body,{select:!0}),l.removeEventListener(Au,u),uy.remove(p)},0)}}},[l,d,u,p]);const y=w.useCallback(f=>{if(!r&&!s||p.paused)return;const v=f.key==="Tab"&&!f.altKey&&!f.ctrlKey&&!f.metaKey,g=document.activeElement;if(v&&g){const x=f.currentTarget,[b,j]=KO(x);b&&j?!f.shiftKey&&g===j?(f.preventDefault(),r&&Nn(b,{select:!0})):f.shiftKey&&g===b&&(f.preventDefault(),r&&Nn(j,{select:!0})):g===x&&f.preventDefault()}},[r,s,p.paused]);return n.jsx($e.div,{tabIndex:-1,...o,ref:m,onKeyDown:y})});Uj.displayName=VO;function qO(e,{select:t=!1}={}){const r=document.activeElement;for(const s of e)if(Nn(s,{select:t}),document.activeElement!==r)return}function KO(e){const t=Bj(e),r=dy(t,e),s=dy(t.reverse(),e);return[r,s]}function Bj(e){const t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:s=>{const a=s.tagName==="INPUT"&&s.type==="hidden";return s.disabled||s.hidden||a?NodeFilter.FILTER_SKIP:s.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)t.push(r.currentNode);return t}function dy(e,t){for(const r of e)if(!YO(r,{upTo:t}))return r}function YO(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function JO(e){return e instanceof HTMLInputElement&&"select"in e}function Nn(e,{select:t=!1}={}){if(e&&e.focus){const r=document.activeElement;e.focus({preventScroll:!0}),e!==r&&JO(e)&&t&&e.select()}}var uy=QO();function QO(){let e=[];return{add(t){const r=e[0];t!==r&&(r==null||r.pause()),e=hy(e,t),e.unshift(t)},remove(t){var r;e=hy(e,t),(r=e[0])==null||r.resume()}}}function hy(e,t){const r=[...e],s=r.indexOf(t);return s!==-1&&r.splice(s,1),r}function XO(e){return e.filter(t=>t.tagName!=="A")}var Pu=0;function ZO(){w.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??my()),document.body.insertAdjacentElement("beforeend",e[1]??my()),Pu++,()=>{Pu===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),Pu--}},[])}function my(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.
vendor: 5,651 bytes, lines 491-506
491style.position="fixed",e.style.pointerEvents="none",e}var Mr=function(){return Mr=Object.assign||function(t){for(var r,s=1,a=arguments.length;s<a;s++){r=arguments[s];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(t[i]=r[i])}return t},Mr.apply(this,arguments)};function Fj(e,t){var r={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&t.indexOf(s)<0&&(r[s]=e[s]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,s=Object.getOwnPropertySymbols(e);a<s.length;a++)t.indexOf(s[a])<0&&Object.prototype.propertyIsEnumerable.call(e,s[a])&&(r[s[a]]=e[s[a]]);return r}function eM(e,t,r){if(r||arguments.length===2)for(var s=0,a=t.length,i;s<a;s++)(i||!(s in t))&&(i||(i=Array.prototype.slice.call(t,0,s)),i[s]=t[s]);return e.concat(i||Array.prototype.slice.call(t))}var rc="right-scroll-bar-position",nc="width-before-scroll-bar",tM="with-scroll-bars-hidden",rM="--removed-body-scroll-bar-size";function Ru(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function nM(e,t){var r=w.useState(function(){return{value:e,callback:t,facade:{get current(){return r.value},set current(s){var a=r.value;a!==s&&(r.value=s,r.callback(s,a))}}}})[0];return r.callback=t,r.facade}var sM=typeof window<"u"?w.useLayoutEffect:w.useEffect,py=new WeakMap;function aM(e,t){var r=nM(null,function(s){return e.forEach(function(a){return Ru(a,s)})});return sM(function(){var s=py.get(r);if(s){var a=new Set(s),i=new Set(e),o=r.current;a.forEach(function(l){i.has(l)||Ru(l,null)}),i.forEach(function(l){a.has(l)||Ru(l,o)})}py.set(r,e)},[e]),r}function iM(e){return e}function oM(e,t){t===void 0&&(t=iM);var r=[],s=!1,a={read:function(){if(s)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return r.length?r[r.length-1]:e},useMedium:function(i){var o=t(i,s);return r.push(o),function(){r=r.filter(function(l){return l!==o})}},assignSyncMedium:function(i){for(s=!0;r.length;){var o=r;r=[],o.forEach(i)}r={push:function(l){return i(l)},filter:function(){return r}}},assignMedium:function(i){s=!0;var o=[];if(r.length){var l=r;r=[],l.forEach(i),o=r}var c=function(){var u=o;o=[],u.forEach(i)},d=function(){return Promise.resolve().then(c)};d(),r={push:function(u){o.push(u),d()},filter:function(u){return o=o.filter(u),r}}}};return a}function lM(e){e===void 0&&(e={});var t=oM(null);return t.options=Mr({async:!0,ssr:!1},e),t}var zj=function(e){var t=e.sideCar,r=Fj(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var s=t.read();if(!s)throw new Error("Sidecar medium not found");return w.createElement(s,Mr({},r))};zj.isSideCarExport=!0;function cM(e,t){return e.useMedium(t),zj}var Wj=lM(),Du=function(){},Td=w.forwardRef(function(e,t){var r=w.useRef(null),s=w.useState({onScrollCapture:Du,onWheelCapture:Du,onTouchMoveCapture:Du}),a=s[0],i=s[1],o=e.forwardProps,l=e.children,c=e.className,d=e.removeScrollBar,u=e.enabled,h=e.shards,m=e.sideCar,p=e.noRelative,y=e.noIsolation,f=e.inert,v=e.allowPinchZoom,g=e.as,x=g===void 0?"div":g,b=e.gapMode,j=Fj(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),N=m,k=aM([r,t]),C=Mr(Mr({},j),a);return w.createElement(w.Fragment,null,u&&w.createElement(N,{sideCar:Wj,removeScrollBar:d,shards:h,noRelative:p,noIsolation:y,inert:f,setCallbacks:i,allowPinchZoom:!!v,lockRef:r,gapMode:b}),o?w.cloneElement(w.Children.only(l),Mr(Mr({},C),{ref:k})):w.createElement(x,Mr({},C,{className:c,ref:k}),l))});Td.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};Td.classNames={fullWidth:nc,zeroRight:rc};var dM=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function uM(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=dM();return t&&e.setAttribute("nonce",t),e}function hM(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function mM(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var pM=function(){var e=0,t=null;return{add:function(r){e==0&&(t=uM())&&(hM(t,r),mM(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},fM=function(){var e=pM();return function(t,r){w.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&r])}},Gj=function(){var e=fM(),t=function(r){var s=r.styles,a=r.dynamic;return e(s,a),null};return t},gM={left:0,top:0,right:0,gap:0},Iu=function(e){return parseInt(e||"",10)||0},xM=function(e){var t=window.getComputedStyle(document.body),r=t[e==="padding"?"paddingLeft":"marginLeft"],s=t[e==="padding"?"paddingTop":"marginTop"],a=t[e==="padding"?"paddingRight":"marginRight"];return[Iu(r),Iu(s),Iu(a)]},yM=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return gM;var t=xM(e),r=document.documentElement.clientWidth,s=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,s-r+t[2]-t[0])}},bM=Gj(),Ta="data-scroll-locked",vM=function(e,t,r,s){var a=e.left,i=e.top,o=e.right,l=e.gap;return r===void 0&&(r="margin"),`
492  .`.concat(tM,` {
493   overflow: hidden `).concat(s,`;
494   padding-right: `).concat(l,"px ").concat(s,`;
495  }
496  body[`).concat(Ta,`] {
497    overflow: hidden `).concat(s,`;
498    overscroll-behavior: contain;
499    `).concat([t&&"position: relative ".concat(s,";"),r==="margin"&&`
500    padding-left: `.concat(a,`px;
501    padding-top: `).concat(i,`px;
502    padding-right: `).concat(o,`px;
503    margin-left:0;
504    margin-top:0;
505    margin-right: `).concat(l,"px ").concat(s,`;
506    `),r==="padding"&&"padding-right: ".concat(l,"px ").concat(s,";
506")].filter(Boolean).join(""),`
507  }
508  
509  .`).concat(rc,` {
510    right: `).concat(l,"px ").concat(s,`;
511  }
512  
513  .`).concat(nc,` {
514    margin-right: `).concat(l,"px ").concat(s,`;
515  }
516  
517  .`).concat(rc," .").concat(rc,` {
518    right: 0 `).concat(s,`;
519  }
520  
521  .`).concat(nc," .").concat(nc,` {
522    margin-right: 0 `).concat(s,`;
523  }
524  
525  body[`).concat(Ta,`] {
526    `).concat(rM,": ").concat(l,`px;
527  }
528`)},fy=function(){var e=parseInt(document.body.getAttribute(Ta)||"0",10);return isFinite(e)?e:0},wM=function(){w.useEffect(function(){return document.body.setAttribute(Ta,(fy()+1).toString()),function(){var e=fy()-1;e<=0?document.body.removeAttribute(Ta):document.body.setAttribute(Ta,e.toString())}},[])},jM=function(e){var t=e.noRelative,r=e.noImportant,s=e.gapMode,a=s===void 0?"margin":s;wM();var i=w.useMemo(function(){return yM(a)},[a]);return w.createElement(bM,{styles:vM(i,!t,a,r?"":"!important")})},mm=!1;if(typeof window<"u")try{var Dl=Object.defineProperty({},"passive",{get:function(){return mm=!0,!0}});window.addEventListener("test",Dl,Dl),window.removeEventListener("test",Dl,Dl)}catch{mm=!1}var Qs=mm?{passive:!1}:!1,NM=function(e){return e.tagName==="TEXTAREA"},Hj=function(e,t){if(!(e instanceof Element))return!1;var r=window.getComputedStyle(e);return r[t]!=="hidden"&&!(r.overflowY===r.overflowX&&!NM(e)&&r[t]==="visible")},kM=function(e){return Hj(e,"overflowY")},CM=function(e){return Hj(e,"overflowX")},gy=function(e,t){var r=t.ownerDocument,s=t;do{typeof ShadowRoot<"u"&&s instanceof ShadowRoot&&(s=s.host);var a=Vj(e,s);if(a){var i=qj(e,s),o=i[1],l=i[2];if(o>l)return!0}s=s.parentNode}while(s&&s!==r.body);return!1},SM=function(e){var t=e.scrollTop,r=e.scrollHeight,s=e.clientHeight;return[t,r,s]},EM=function(e){var t=e.scrollLeft,r=e.scrollWidth,s=e.clientWidth;return[t,r,s]},Vj=function(e,t){return e==="v"?kM(t):CM(t)},qj=function(e,t){return e==="v"?SM(t):EM(t)},_M=function(e,t){return e==="h"&&t==="rtl"?-1:1},TM=function(e,t,r,s,a){var i=_M(e,window.getComputedStyle(t).direction),o=i*s,l=r.target,c=t.contains(l),d=!1,u=o>0,h=0,m=0;do{if(!l)break;var p=qj(e,l),y=p[0],f=p[1],v=p[2],g=f-v-i*y;(y||g)&&Vj(e,l)&&(h+=g,m+=y);var x=l.parentNode;l=x&&x.nodeType===Node.DOCUMENT_FRAGMENT_NODE?x.host:x}while(!c&&l!==document.body||c&&(t.contains(l)||t===l));return(u&&(Math.abs(h)<1||!a)||!u&&(Math.abs(m)<1||!a))&&(d=!0),d},Il=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},xy=function(e){return[e.deltaX,e.deltaY]},yy=function(e){return e&&"current"in e?e.current:e},AM=function(e,t){return e[0]===t[0]&&e[1]===t[1]},PM=function(e){return`
529  .block-interactivity-`.concat(e,` {pointer-events: none;}
530  .allow-interactivity-`).concat(e,` {pointer-events: all;}
531`)},RM=0,Xs=[];function DM(e){var t=w.useRef([]),r=w.useRef([0,0]),s=w.useRef(),a=w.useState(RM++)[0],i=w.useState(Gj)[0],o=w.useRef(e);w.useEffect(function(){o.current=e},[e]),w.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(a));var f=eM([e.lockRef.current],(e.shards||[]).map(yy),!0).filter(Boolean);return f.forEach(function(v){return v.classList.add("allow-interactivity-".concat(a))}),function(){document.body.classList.remove("block-interactivity-".concat(a)),f.forEach(function(v){return v.classList.remove("allow-interactivity-".concat(a))})}}},[e.inert,e.lockRef.current,e.shards]);var l=w.useCallback(function(f,v){if("touches"in f&&f.touches.length===2||f.type==="wheel"&&f.ctrlKey)return!o.current.allowPinchZoom;var g=Il(f),x=r.current,b="deltaX"in f?f.deltaX:x[0]-g[0],j="deltaY"in f?f.deltaY:x[1]-g[1],N,k=f.target,C=Math.abs(b)>Math.abs(j)?"h":"v";if("touches"in f&&C==="h"&&k.type==="range")return!1;var S=gy(C,k);if(!S)return!0;if(S?N=C:(N=C==="v"?"h":"v",S=gy(C,k)),!S)return!1;if(!s.current&&"changedTouches"in f&&(b||j)&&(s.current=N),!N)return!0;var _=s.current||N;return TM(_,v,f,_==="h"?b:j,!0)},[]),c=w.useCallback(function(f){var v=f;if(!(!Xs.length||Xs[Xs.length-1]!==i)){var g="deltaY"in v?xy(v):Il(v),x=t.current.filter(function(N){return N.name===v.type&&(N.target===v.target||v.target===N.shadowParent)&&AM(N.delta,g)})[0];if(x&&x.should){v.cancelable&&v.preventDefault();return}
vendor: 4,333 bytes, line 531
531if(!x){var b=(o.current.shards||[]).map(yy).filter(Boolean).filter(function(N){return N.contains(v.target)}),j=b.length>0?l(v,b[0]):!o.current.noIsolation;j&&v.cancelable&&v.preventDefault()}}},[]),d=w.useCallback(function(f,v,g,x){var b={name:f,delta:v,target:g,should:x,shadowParent:IM(g)};t.current.push(b),setTimeout(function(){t.current=t.current.filter(function(j){return j!==b})},1)},[]),u=w.useCallback(function(f){r.current=Il(f),s.current=void 0},[]),h=w.useCallback(function(f){d(f.type,xy(f),f.target,l(f,e.lockRef.current))},[]),m=w.useCallback(function(f){d(f.type,Il(f),f.target,l(f,e.lockRef.current))},[]);w.useEffect(function(){return Xs.push(i),e.setCallbacks({onScrollCapture:h,onWheelCapture:h,onTouchMoveCapture:m}),document.addEventListener("wheel",c,Qs),document.addEventListener("touchmove",c,Qs),document.addEventListener("touchstart",u,Qs),function(){Xs=Xs.filter(function(f){return f!==i}),document.removeEventListener("wheel",c,Qs),document.removeEventListener("touchmove",c,Qs),document.removeEventListener("touchstart",u,Qs)}},[]);var p=e.removeScrollBar,y=e.inert;return w.createElement(w.Fragment,null,y?w.createElement(i,{styles:PM(a)}):null,p?w.createElement(jM,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function IM(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const OM=cM(Wj,DM);var Kj=w.forwardRef(function(e,t){return w.createElement(Td,Mr({},e,{ref:t,sideCar:OM}))});Kj.classNames=Td.classNames;var MM=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Zs=new WeakMap,Ol=new WeakMap,Ml={},Ou=0,Yj=function(e){return e&&(e.host||Yj(e.parentNode))},LM=function(e,t){return t.map(function(r){if(e.contains(r))return r;var s=Yj(r);return s&&e.contains(s)?s:(console.error("aria-hidden",r,"in not contained inside",e,". Doing nothing"),null)}).filter(function(r){return!!r})},$M=function(e,t,r,s){var a=LM(t,Array.isArray(e)?e:[e]);Ml[r]||(Ml[r]=new WeakMap);var i=Ml[r],o=[],l=new Set,c=new Set(a),d=function(h){!h||l.has(h)||(l.add(h),d(h.parentNode))};a.forEach(d);var u=function(h){!h||c.has(h)||Array.prototype.forEach.call(h.children,function(m){if(l.has(m))u(m);else try{var p=m.getAttribute(s),y=p!==null&&p!=="false",f=(Zs.get(m)||0)+1,v=(i.get(m)||0)+1;Zs.set(m,f),i.set(m,v),o.push(m),f===1&&y&&Ol.set(m,!0),v===1&&m.setAttribute(r,"true"),y||m.setAttribute(s,"true")}catch(g){console.error("aria-hidden: cannot operate on ",m,g)}})};return u(t),l.clear(),Ou++,function(){o.forEach(function(h){var m=Zs.get(h)-1,p=i.get(h)-1;Zs.set(h,m),i.set(h,p),m||(Ol.has(h)||h.removeAttribute(s),Ol.delete(h)),p||h.removeAttribute(r)}),Ou--,Ou||(Zs=new WeakMap,Zs=new WeakMap,Ol=new WeakMap,Ml={})}},UM=function(e,t,r){r===void 0&&(r="data-aria-hidden");var s=Array.from(Array.isArray(e)?e:[e]),a=MM(e);return a?(s.push.apply(s,Array.from(a.querySelectorAll("[aria-live]"))),$M(s,a,r,"aria-hidden")):function(){return null}},Ad="Dialog",[Jj,Qj]=ei(Ad),[BM,Nr]=Jj(Ad),Xj=e=>{const{__scopeDialog:t,children:r,open:s,defaultOpen:a,onOpenChange:i,modal:o=!0}=e,l=w.useRef(null),c=w.useRef(null),[d,u]=R0({prop:s,defaultProp:a??!1,onChange:i,caller:Ad});return n.jsx(BM,{scope:t,triggerRef:l,contentRef:c,contentId:wu(),titleId:wu(),descriptionId:wu(),open:d,onOpenChange:u,onOpenToggle:w.useCallback(()=>u(h=>!h),[u]),modal:o,children:r})};Xj.displayName=Ad;var Zj="DialogTrigger",e1=w.forwardRef((e,t)=>{const{__scopeDialog:r,...s}=e,a=Nr(Zj,r),i=nt(t,a.triggerRef);return n.jsx($e.button,{type:"button","aria-haspopup":"dialog","aria-expanded":a.open,"aria-controls":a.contentId,"data-state":Xp(a.open),...s,ref:i,onClick:Ce(e.onClick,a.onOpenToggle)})});e1.displayName=Zj;var Jp="DialogPortal",[FM,t1]=Jj(Jp,{forceMount:void 0}),r1=e=>{const{__scopeDialog:t,forceMount:r,children:s,container:a}=e,i=Nr(Jp,t);return n.jsx(FM,{scope:t,forceMount:r,children:w.Children.map(s,o=>n.jsx(ti,{present:r||i.open,children:n.jsx(xp,{asChild:!0,container:a,children:o})}))})};r1.displayName=Jp;var Uc="DialogOverlay",n1=w.forwardRef((e,t)=>{const r=t1(Uc,e.__scopeDialog),{forceMount:s=r.forceMount,...a}=e,i=Nr(Uc,e.__scopeDialog);return i.modal?n.jsx(ti,{present:s||i.open,children:n.jsx(WM,{...a,ref:t})}):null});n1.displayName=Uc;var zM=po("DialogOverlay.RemoveScroll"),WM=w.forwardRef((e,t)=>
vendor: 4,640 bytes, lines 531-535
531{const{__scopeDialog:r,...s}=e,a=Nr(Uc,r);return n.jsx(Kj,{as:zM,allowPinchZoom:!0,shards:[a.contentRef],children:n.jsx($e.div,{"data-state":Xp(a.open),...s,ref:t,style:{pointerEvents:"auto",...s.style}})})}),Is="DialogContent",s1=w.forwardRef((e,t)=>{const r=t1(Is,e.__scopeDialog),{forceMount:s=r.forceMount,...a}=e,i=Nr(Is,e.__scopeDialog);return n.jsx(ti,{present:s||i.open,children:i.modal?n.jsx(GM,{...a,ref:t}):n.jsx(HM,{...a,ref:t})})});s1.displayName=Is;var GM=w.forwardRef((e,t)=>{const r=Nr(Is,e.__scopeDialog),s=w.useRef(null),a=nt(t,r.contentRef,s);return w.useEffect(()=>{const i=s.current;if(i)return UM(i)},[]),n.jsx(a1,{...e,ref:a,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Ce(e.onCloseAutoFocus,i=>{var o;i.preventDefault(),(o=r.triggerRef.current)==null||o.focus()}),onPointerDownOutside:Ce(e.onPointerDownOutside,i=>{const o=i.detail.originalEvent,l=o.button===0&&o.ctrlKey===!0;(o.button===2||l)&&i.preventDefault()}),onFocusOutside:Ce(e.onFocusOutside,i=>i.preventDefault())})}),HM=w.forwardRef((e,t)=>{const r=Nr(Is,e.__scopeDialog),s=w.useRef(!1),a=w.useRef(!1);return n.jsx(a1,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:i=>{var o,l;(o=e.onCloseAutoFocus)==null||o.call(e,i),i.defaultPrevented||(s.current||(l=r.triggerRef.current)==null||l.focus(),i.preventDefault()),s.current=!1,a.current=!1},onInteractOutside:i=>{var c,d;(c=e.onInteractOutside)==null||c.call(e,i),i.defaultPrevented||(s.current=!0,i.detail.originalEvent.type==="pointerdown"&&(a.current=!0));const o=i.target;((d=r.triggerRef.current)==null?void 0:d.contains(o))&&i.preventDefault(),i.detail.originalEvent.type==="focusin"&&a.current&&i.preventDefault()}})}),a1=w.forwardRef((e,t)=>{const{__scopeDialog:r,trapFocus:s,onOpenAutoFocus:a,onCloseAutoFocus:i,...o}=e,l=Nr(Is,r),c=w.useRef(null),d=nt(t,c);return ZO(),n.jsxs(n.Fragment,{children:[n.jsx(Uj,{asChild:!0,loop:!0,trapped:s,onMountAutoFocus:a,onUnmountAutoFocus:i,children:n.jsx(dd,{role:"dialog",id:l.contentId,"aria-describedby":l.descriptionId,"aria-labelledby":l.titleId,"data-state":Xp(l.open),...o,ref:d,onDismiss:()=>l.onOpenChange(!1)})}),n.jsxs(n.Fragment,{children:[n.jsx(qM,{titleId:l.titleId}),n.jsx(YM,{contentRef:c,descriptionId:l.descriptionId})]})]})}),Qp="DialogTitle",i1=w.forwardRef((e,t)=>{const{__scopeDialog:r,...s}=e,a=Nr(Qp,r);return n.jsx($e.h2,{id:a.titleId,...s,ref:t})});i1.displayName=Qp;var o1="DialogDescription",l1=w.forwardRef((e,t)=>{const{__scopeDialog:r,...s}=e,a=Nr(o1,r);return n.jsx($e.p,{id:a.descriptionId,...s,ref:t})});l1.displayName=o1;var c1="DialogClose",d1=w.forwardRef((e,t)=>{const{__scopeDialog:r,...s}=e,a=Nr(c1,r);return n.jsx($e.button,{type:"button",...s,ref:t,onClick:Ce(e.onClick,()=>a.onOpenChange(!1))})});d1.displayName=c1;function Xp(e){return e?"open":"closed"}var u1="DialogTitleWarning",[VM,h1]=u4(u1,{contentName:Is,titleName:Qp,docsSlug:"dialog"}),qM=({titleId:e})=>{const t=h1(u1),r=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
532
533If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
534
535For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return w.useEffect(()=>{e&&(document.getElementById(e)||console.error(r))},[r,e]),null},KM="DialogDescriptionWarning",YM=({contentRef:e,descriptionId:t})=>{const s=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${h1(KM).contentName}}.`;return w.useEffect(()=>{var i;const a=(i=e.current)==null?void 0:i.getAttribute("aria-describedby");t&&a&&(document.getElementById(t)||console.warn(s))},[s,e,t]),null},m1=Xj,p1=e1,f1=r1,Zp=n1,ef=s1,tf=i1,rf=l1,nf=d1;const JM=m1,QM=p1,XM=f1,g1=w.forwardRef(({className:e,...t},r)=>n.jsx(Zp,{ref:r,className:xe("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t}));g1.displayName=Zp.displayName;const x1=w.forwardRef(({className:e,children:t,...r},s)=>n.jsxs(XM,{children:[n.jsx(g1,{}),n.jsxs(ef,{ref:s,className:xe("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rou
535nded-lg",e),...r,children:[t,n.jsxs(nf,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity data-[state=open]:bg-accent data-[state=open]:text-muted-foreground hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none",children:[n.jsx(Ap,{className:"h-4 w-4"}),n.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));x1.displayName=ef.displayName;const ZM=w.forwardRef(({className:e,...t},r)=>n.jsx(tf,{ref:r,className:xe("text-lg font-semibold leading-none tracking-tight",e),...t}));ZM.displayName=tf.displayName;const eL=w.forwardRef(({className:e,...t},r)=>n.jsx(rf,{ref:r,className:xe("text-sm text-muted-foreground",e),...t}));eL.displayName=rf.displayName;const tL="/assets/explore-ixr-hero-TQA6bf3Q.jpg",rL=1,nL="32d696f7-59c1-4cf0-992f-2b3ec48dbd64",sL="006d986f-0954-4925-b449-48b863ced425",aL="/__l5e/assets-v1/32d696f7-59c1-4cf0-992f-2b3ec48dbd64/explore-ixr-poster.pdf",iL="a/v1/006d986f-0954-4925-b449-48b863ced425/32d696f7-59c1-4cf0-992f-2b3ec48dbd64/explore-ixr-poster.pdf",oL="explore-ixr-poster.pdf",lL=15508053,cL="application/pdf",dL="2026-06-09T15:50:54Z",Mu={version:rL,asset_id:nL,project_id:sL,url:aL,r2_key:iL,original_filename:oL,size:lL,content_type:cL,created_at:dL},uL=[{icon:pd,title:"Pedagogy-First Integration",description:"Embedding immersive technologies meaningfully into credit-bearing academic programmes — not standalone skills training or a technology showcase."},{icon:dw,title:"Cross-School Collaboration",description:"Bringing together UCD Schools of Education, Archaeology, Engineering and History to co-design, implement and evaluate teaching interventions."},{icon:yd,title:"Intelligent XR (IXR)",description:"Combining AI with VR, AR and MR to create adaptive, personalised, inclusive and student-centred learning environments."}],hL=[{icon:fE,title:"Virtual Excavations & Reconstructions",description:"AI-supported virtual archaeological digs of medieval ringforts and historical reconstructions of early medieval Ireland."},{icon:rw,title:"Interactive EU Timeline",description:"An immersive XR timeline of the European Union exploring citizenship, identity and shared cultural heritage."},{icon:Bt,title:"STEM Design Challenges",description:"Interactive simulations of scientific phenomena and immersive design challenges for engineering and teacher education."},{icon:Jt,title:"Multilingual Cultural Walks",description:"Multilingual cultural landscape walk-throughs supporting sustainability, languages and Global Citizenship Education."}],mL=[{icon:Qe,title:"Interdisciplinary Capability",description:"A vibrant Community of Practice across Education, Archaeology, Engineering, History and Languages — building institutional capacity for digital transformation."},{icon:pe,title:"Quality Publications",description:"Peer-reviewed articles (Teaching in Higher Education, BJET), practitioner case studies and open-access resources documenting immersive pedagogy in HE."},{icon:lw,title:"Sectoral Engagement",description:"Active links with Alliance4XR, EU Immersive and the National Forum, contributing to the EU Digital Education Action Plan and the UN SDGs."},{icon:Vo,title:"Collaborative Teaching Culture",description:"New partnerships with SchooVR, Meta Education and the REEDi Centre of Excellence at MTU — sustained beyond the life of the project."}],by=[{period:"Sep – Nov 2025",title:"Community of Practice Established",description:"Cross-School CoP identifies curricular overlaps and reviews XR materials from Alliance4XR, EU Immersive and the CLaSS platform."},{period:"Dec 2025 – Apr 2026",title:"Co-Design & Piloting",description:"Immersive scenarios co-designed and piloted in selected modules. PME students support refinement through embedded feedback cycles."},{period:"May – Oct 2026",title:"Evaluation & Dissemination",description:"Action research and case study evaluation. Presentations at Advance HE, the Immersive Technology in Education Conference, and a peer-reviewed article."},{period:"By Dec 2027",title:"Lasting Institutional Legacy",description:"Open-access XR resource repository, cross-School showcase event, and a sustained interdisciplinary Community of Practice."}],pL=[{title:"Alliance4XR",description:"Erasmus+ initiative focused on XR in engineering education across European partner institutions.",school:"UCD Engineering"},{title:"EU Immersive",description:"Student-led XR experiences exploring European identity, citizenship and shared history across time.",school:"UCD School of Education"},{title:"CLaSS — Cultural Landscapes & Social Space",description:"Immersive reconstructions and material culture bringing early medieval Ireland to life for interdisciplinary learning.",school:"UCD Archaeology"}
535,{title:"SATLE Learning Enhancement Projects (2019)",description:"Foundational work on embedding immersive technologies in higher education teaching practice.",school:"UCD-wide"}],fL=["Dr Rachel Farrell","Declan Qualter","Mark Baldwin","Marelle Rice","Karen Maye","Dr Eileen Bowman","Dr Mohammed Sheikh Hassani","Dr Brendan O'Neill","Dr Kevin Nolan"],_r=({kicker:e,title:t})=>n.jsxs("div",{className:"text-center mb-14",children:[n.jsxs("div",{className:"inline-flex items-center gap-2 px-4 py-1.5 rounded-full border border-cyan-400/30 bg-cyan-400/5 backdrop-blur-sm mb-4",children:[n.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-cyan-400 animate-pulse"}),n.jsx("span",{className:"text-cyan-300 font-semibold text-xs uppercase tracking-[0.2em]",children:e})]}),n.jsx("h2",{className:"text-3xl md:text-4xl font-extrabold text-white tracking-tight",children:t})]}),gL=()=>n.jsxs("div",{className:"min-h-screen bg-[#050d1f] text-white",children:[n.jsx(Ue,{title:"EXPLORE-IXR | Intelligent Extended Reality in Higher Education",description:"EXPLORE-IXR is a research-informed UCD initiative transforming teaching, learning and assessment in higher education through Intelligent Extended Reality (AI + VR/AR/MR).",path:"/explore-ixr"}),n.jsx(se,{}),n.jsxs("section",{className:"relative pt-24 pb-24 lg:pt-32 lg:pb-32 overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 bg-gradient-to-br from-[#050d1f] via-[#0a1a3a] to-[#050d1f]"}),n.jsx("div",{className:"absolute inset-0 opacity-[0.18]",style:{backgroundImage:"linear-gradient(rgba(56,189,248,0.6) 1px, transparent 1px), linear-gradient(90deg, rgba(56,189,248,0.6) 1px, transparent 1px)",backgroundSize:"60px 60px",maskImage:"radial-gradient(ellipse at center, black 30%, transparent 75%)",WebkitMaskImage:"radial-gradient(ellipse at center, black 30%, transparent 75%)"}}),n.jsx("div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[800px] h-[800px] rounded-full bg-cyan-500/10 blur-3xl"}),n.jsx("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:n.jsxs("div",{className:"grid lg:grid-cols-2 gap-12 items-center max-w-7xl mx-auto",children:[n.jsxs("div",{children:[n.jsxs("div",{className:"inline-flex items-center gap-2 px-4 py-1.5 rounded-full border border-cyan-400/40 bg-cyan-400/10 backdrop-blur-sm mb-6",children:[n.jsx(hw,{className:"w-3.5 h-3.5 text-cyan-300"}),n.jsx("span",{className:"text-cyan-300 font-semibold text-xs uppercase tracking-[0.25em]",children:"UCD CoSSL Research Funding 2025/2027"})]}),n.jsxs("h1",{className:"text-5xl md:text-6xl font-extrabold mb-6 leading-[1.05] tracking-tight",children:[n.jsx("span",{className:"bg-gradient-to-r from-white via-cyan-100 to-cyan-300 bg-clip-text text-transparent",children:"EXPLORE-IXR"}),n.jsx("span",{className:"block text-xl md:text-2xl font-light text-slate-300 mt-4",children:"Transforming Teaching, Learning and Assessment in Higher Education through Intelligent Extended Reality"})]}),n.jsxs("p",{className:"text-slate-300 text-lg leading-relaxed mb-4",children:["A two-year research-informed pedagogical initiative integrating"," ",n.jsx("span",{className:"text-cyan-300 font-semibold",children:"Artificial Intelligence"})," with"," ",n.jsx("span",{className:"text-cyan-300 font-semibold",children:"Extended Reality (VR, AR, MR)"})," across the UCD Schools of Education, Archaeology, Engineering and History."]}),n.jsx("p",{className:"text-slate-400 text-sm uppercase tracking-widest",children:"Funded under the UCD College of Social Sciences and Law Research Funding Scheme"})]}),n.jsxs("div",{className:"relative",children:[n.jsx("div",{className:"absolute -inset-4 bg-gradient-to-br from-cyan-400/30 to-blue-600/30 rounded-3xl blur-2xl"}),n.jsx("img",{src:tL,alt:"Student using a VR headset surrounded by holographic learning content",className:"relative rounded-2xl border border-cyan-400/30 shadow-2xl w-full h-auto",width:1536,height:896})]})]})}),n.jsx("div",{className:"absolute bottom-0 left-0 right-0 h-32 bg-gradient-to-b from-transparent to-[#050d1f]"})]}),n.jsxs("section",{className:"relative py-20 lg:py-28 overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 bg-gradient-to-b from-[#050d1f] via-[#0a1a3a]/40 to-[#050d1f]"}),n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 max-w-6xl relative z-10",children:[n.jsx(_r,{kicker:"Project Poster",title:"EXPLORE-IXR at a glance"}),n.jsx("div",{className:"rounded-2xl p-[1px] bg-gradient-to-br from-cyan-400/40 to-transparent",children:n.jsx("div",{className:"bg-[#0a1428] rounded-2xl p-6 md:p-10",children:n.jsxs("div",{className:"grid md:grid-cols-[1.4fr_1fr] gap-8 items-center",children:[n.jsxs(JM,{children:[n.jsx(QM,{asChild:!0,children:n.jsxs("button",{type:"button",className:"group relative block overflow-hidden rounded-xl border border-cyan-400/30 hover:border-cyan-400/70 transition-all cursor-zoom-in text-left",children:[n.jsx("img",{src:Xh.url,alt:"EXPLORE-IXR project poster preview",className:"w-full h-auto group-hover:scale-[1.02] transition-transform duration-500"}),n.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-[#050d1f]/70 via-trans
535parent to-transparent opacity-0 group-hover:opacity-100 transition-opacity"}),n.jsxs("div",{className:"absolute bottom-4 right-4 inline-flex items-center gap-2 px-3 py-1.5 rounded-lg bg-[#050d1f]/80 border border-cyan-400/40 text-cyan-200 text-xs font-semibold opacity-0 group-hover:opacity-100 transition-opacity",children:[n.jsx(yE,{className:"w-3.5 h-3.5"}),"Click to enlarge"]})]})}),n.jsxs(x1,{className:"max-w-6xl w-[95vw] max-h-[95vh] overflow-auto bg-[#0a1428] border-cyan-400/30 p-2 md:p-4",children:[n.jsx("img",{src:Xh.url,alt:"EXPLORE-IXR project poster — full view",className:"w-full h-auto rounded-lg"}),n.jsxs("div",{className:"flex flex-wrap justify-end gap-3 px-2 pb-2",children:[n.jsxs("a",{href:Mu.url,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 px-4 py-2 rounded-lg bg-gradient-to-r from-cyan-400 to-blue-500 text-[#050d1f] font-semibold text-sm",children:[n.jsx(vr,{className:"w-4 h-4"}),"Open Full PDF"]}),n.jsxs("a",{href:Mu.url,download:!0,className:"inline-flex items-center gap-2 px-4 py-2 rounded-lg border border-cyan-400/40 text-cyan-200 font-semibold text-sm hover:bg-cyan-400/10",children:[n.jsx(qe,{className:"w-4 h-4"}),"Download"]})]})]})]}),n.jsxs("div",{children:[n.jsxs("div",{className:"inline-flex items-center gap-2 px-3 py-1 rounded-full border border-cyan-400/30 bg-cyan-400/5 mb-4",children:[n.jsx(vr,{className:"w-3.5 h-3.5 text-cyan-300"}),n.jsx("span",{className:"text-cyan-300 text-xs font-semibold uppercase tracking-wider",children:"PDF · A2 Poster"})]}),n.jsx("h3",{className:"text-2xl md:text-3xl font-bold text-white mb-4 leading-tight",children:"Exploring Intelligent Extended Reality"}),n.jsx("p",{className:"text-slate-300 leading-relaxed mb-6",children:"A visual summary of the EXPLORE-IXR initiative — its vision, pedagogical framework, sample interventions across UCD Schools, project team and roadmap to 2027."}),n.jsx("div",{className:"flex flex-wrap gap-3",children:n.jsxs("a",{href:Mu.url,download:!0,className:"inline-flex items-center gap-2 px-5 py-2.5 rounded-lg border border-cyan-400/40 text-cyan-200 font-semibold text-sm hover:bg-cyan-400/10 transition-all",children:[n.jsx(qe,{className:"w-4 h-4"}),"Download PDF"]})})]})]})})})]})]}),n.jsx("section",{className:"relative py-20 lg:py-28",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:[n.jsx(_r,{kicker:"Foundations & Framework",title:"A pedagogy-first interdisciplinary framework"}),n.jsx("div",{className:"grid md:grid-cols-3 gap-6 max-w-6xl mx-auto",children:uL.map((e,t)=>n.jsx("div",{className:"group relative rounded-2xl p-[1px] bg-gradient-to-br from-cyan-400/50 via-blue-500/20 to-transparent hover:from-cyan-300 transition-all",children:n.jsxs("div",{className:"relative h-full bg-[#0a1428] rounded-2xl p-8 overflow-hidden",children:[n.jsx("div",{className:"absolute top-3 left-3 w-4 h-4 border-t-2 border-l-2 border-cyan-400/60"}),n.jsx("div",{className:"absolute top-3 right-3 w-4 h-4 border-t-2 border-r-2 border-cyan-400/60"}),n.jsx("div",{className:"absolute bottom-3 left-3 w-4 h-4 border-b-2 border-l-2 border-cyan-400/60"}),n.jsx("div",{className:"absolute bottom-3 right-3 w-4 h-4 border-b-2 border-r-2 border-cyan-400/60"}),n.jsxs("div",{className:"text-cyan-400/50 text-xs font-mono mb-3",children:["0",t+1," / 03"]}),n.jsx("div",{className:"w-14 h-14 rounded-xl bg-gradient-to-br from-cyan-400/20 to-blue-500/20 border border-cyan-400/30 flex items-center justify-center mb-6",children:n.jsx(e.icon,{className:"w-7 h-7 text-cyan-300"})}),n.jsx("h3",{className:"text-xl font-bold text-white mb-3",children:e.title}),n.jsx("p",{className:"text-slate-300 text-base leading-relaxed",children:e.description})]})},e.title))})]})}),n.jsxs("section",{className:"relative py-20 lg:py-28 overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 bg-gradient-to-b from-[#050d1f] via-[#0a1a3a]/40 to-[#050d1f]"}),n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 max-w-5xl relative z-10",children:[n.jsx(_r,{kicker:"Project Summary",title:"Embedding immersive technologies in academic programmes"}),n.jsxs("div",{className:"space-y-6 text-slate-300 text-lg leading-relaxed",children:[n.jsx("p",{children:"EXPLORE-IXR is a research-informed pedagogical initiative that aims to transform teaching, learning and assessment in higher education through the integration of Artificial Intelligence and Extended Reality. XR — encompassing VR, AR and MR — blends digital and physical environments to create immersive, interactive learning experiences. When combined with AI, XR offers adaptive and personalised learning environments that enable students to engage with complex content, practise skills in safe, simulated scenarios, and develop critical thinking and digital fluency in inclusive, student-centred ways."}),n.jsx("p",{children:"What sets EXPLORE-IXR apart is its grounding in pedagogical theory and its deep integration within academic programmes. This is not a technology showcase or standalone skills initiative — it is a two-year programme that supports educators in embedding immersive technologies meaningfully into their teaching practice across the UCD Schools of Education, Archaeology, Engineering and History."}),n.jsx("p",{children:"The selected modules reflect shared curricular priorities — field-based archaeology, medieval history, sustainability education and STEM foundations in teacher education. Interventions include virtual excavations, AI-supported historical reconstructions and interactive simulations of scientific phenomena, all piloted with students and critically reviewed by teaching teams."})]})]})]}),n.jsx("section",{className:"relative py-20 lg:py-28",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:[n.jsx(_r,{kicker:"Sample Interventions",title:"Immersive scenarios across disciplines"}),n.jsx("div",{className:"grid md:grid-cols-2 gap-6 max-w-6xl mx-auto",children:hL.map(e=>n.jsx("div",{className:"group rounded-2xl p-[1px] bg-gradient-to-br from-cyan-400/30 to-transparent hover:from-cyan-400/60 transition-all",children:n.jsxs("div",{className:"h-full bg-[#0a1428] rounded-2xl p-7 flex gap-5",children:[n.jsx("div",{className:"shrink-0 w-12 h-12 rounded-lg bg-cyan-400/10 border border-cyan-400/30 flex items-center justify-center",children:n.jsx(e.icon,{className:"w-6 h-6 text-cyan-300"})}),n.jsxs("div",{children:[n.jsx("h3",{className:"text-lg font-bold text-white mb-2",children:e.title}),n.jsx("p",{className:"text-slate-300 text-base leading-relaxed",children:e.description})]})]})}
535,e.title))})]})}),n.jsxs("section",{className:"relative py-20 lg:py-28 overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 bg-gradient-to-b from-[#050d1f] via-[#0a1a3a]/40 to-[#050d1f]"}),n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 max-w-5xl relative z-10",children:[n.jsx(_r,{kicker:"Kick-Off Event",title:"Alliance4XR — December 2024"}),n.jsx("div",{className:"rounded-2xl p-[1px] bg-gradient-to-br from-cyan-400/40 to-transparent",children:n.jsxs("div",{className:"bg-[#0a1428] rounded-2xl p-8 md:p-12",children:[n.jsxs("div",{className:"flex items-start gap-4 mb-6",children:[n.jsx("div",{className:"shrink-0 w-12 h-12 rounded-lg bg-cyan-400/10 border border-cyan-400/30 flex items-center justify-center",children:n.jsx(go,{className:"w-6 h-6 text-cyan-300"})}),n.jsxs("div",{children:[n.jsx("h3",{className:"text-xl md:text-2xl font-bold text-white mb-2",children:"Alliance4XR Showcase"}),n.jsx("p",{className:"text-cyan-300 text-sm font-semibold uppercase tracking-wider",children:"UCD · December 2024"})]})]}),n.jsx("p",{className:"text-slate-300 text-lg leading-relaxed mb-6",children:"The Alliance4XR event in December 2024 served as the kick-off moment for EXPLORE-IXR, bringing together academics, students and industry partners to explore how immersive technologies are reshaping higher education. Recordings and resources from the event will be made available here as part of the project's open-access dissemination strategy."}),n.jsx("div",{className:"aspect-video rounded-xl border border-cyan-400/20 bg-gradient-to-br from-[#0a1a3a] to-[#050d1f] flex items-center justify-center",children:n.jsxs("div",{className:"text-center px-6",children:[n.jsx(go,{className:"w-12 h-12 text-cyan-400/60 mx-auto mb-3"}),n.jsx("p",{className:"text-slate-400 text-sm",children:"Event videos coming soon"})]})})]})})]})]}),n.jsx("section",{className:"relative py-20 lg:py-28",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 max-w-5xl relative z-10",children:[n.jsx(_r,{kicker:"Project Roadmap",title:"Deliverables 2025 – 2027"}),n.jsx("div",{className:"relative space-y-6",children:by.map((e,t)=>n.jsxs("div",{className:"relative pl-10 md:pl-14",children:[n.jsx("div",{className:"absolute left-0 top-2 w-7 h-7 rounded-full bg-gradient-to-br from-cyan-400 to-blue-600 flex items-center justify-center text-xs font-bold text-[#050d1f]",children:t+1}),t<by.length-1&&n.jsx("div",{className:"absolute left-[13px] top-9 bottom-[-24px] w-px bg-gradient-to-b from-cyan-400/60 to-transparent"}),n.jsxs("div",{className:"rounded-xl bg-[#0a1428] border border-cyan-400/20 p-6",children:[n.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[n.jsx(md,{className:"w-4 h-4 text-cyan-300"}),n.jsx("span",{className:"text-cyan-300 text-xs font-semibold uppercase tracking-wider",children:e.period})]}),n.jsx("h3",{className:"text-lg font-bold text-white mb-2",children:e.title}),n.jsx("p",{className:"text-slate-300 leading-relaxed",children:e.description})]})]},e.title))})]})}),n.jsxs("section",{className:"relative py-20 lg:py-28 overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 bg-gradient-to-b from-[#050d1f] via-[#0a1a3a]/40 to-[#050d1f]"}),n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:[n.jsx(_r,{kicker:"Impact & Benefits",title:"Why EXPLORE-IXR matters"}),n.jsx("div",{className:"grid md:grid-cols-2 gap-6 max-w-6xl mx-auto",children:mL.map(e=>n.jsxs("div",{className:"rounded-2xl bg-[#0a1428] border border-cyan-400/20 p-7 hover:border-cyan-400/50 transition-all",children:[n.jsx("div",{className:"w-12 h-12 rounded-lg bg-cyan-400/10 border border-cyan-400/30 flex items-center justify-center mb-5",children:n.jsx(e.icon,{className:"w-6 h-6 text-cyan-300"})}),n.jsx("h3",{className:"text-lg font-bold text-white mb-2",children:e.title}),n.jsx("p",{className:"text-slate-300 leading-relaxed",children:e.description})]},e.title))})]})]}),n.jsx("section",{className:"relative py-20 lg:py-28",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 max-w-6xl relative z-10",children:[n.jsx(_r,{kicker:"Related Projects",title:"Building on innovation across UCD"}),n.jsx("div",{className:"grid md:grid-cols-2 gap-6",children:pL.map(e=>n.jsxs("div",{className:"rounded-2xl bg-[#0a1428] border border-cyan-400/20 p-7 hover:border-cyan-400/50 transition-all",children:[n.jsx("span",{className:"text-cyan-300 text-xs font-semibold uppercase tracking-wider",children:e.school}),n.jsx("h3",{className:"text-xl font-bold text-white mt-2 mb-3",children:e.title}),n.jsx("p",{className:"text-slate-300 leading-relaxed",children:e.description})]},e.title))})]})}),n.jsxs("section",{className:"relative py-20 lg:py-28 overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 bg-gradient-to-b from-[#050d1f] via-[#0a1a3a]/40 to-[#050d1f]"}),n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 max-w-5xl relative z-10",children:[n.jsx(_r,{kicker:"Conferences & Dissemination",title:"Where you'll find us"}),n.jsx("div",{className:"space-y-4",children:[{name:"Immersive Technology in Education Conference",detail:"Co-founded by the PI — annual presentations on EXPLORE-IXR pilots and outcomes."},{name:"Advance HE Teaching and Learning Conference",detail:"Sharing case studies on immersive pedagogy and interdisciplinary curriculum design."},{name:"National Forum for the Enhancement of Teaching and Learning",detail:"Practitioner case studies and Irish higher education sector events."}].map(e=>
vendor: 9,548 bytes, line 535
535n.jsxs("div",{className:"flex items-start gap-4 rounded-xl bg-[#0a1428] border border-cyan-400/20 p-6 hover:border-cyan-400/50 transition-all",children:[n.jsx(lw,{className:"w-5 h-5 text-cyan-300 mt-1 shrink-0"}),n.jsxs("div",{children:[n.jsx("h3",{className:"text-base font-bold text-white",children:e.name}),n.jsx("p",{className:"text-slate-300 text-sm mt-1",children:e.detail})]})]},e.name))}),n.jsx("p",{className:"text-center text-slate-400 text-sm mt-8",children:"Updates on conference presentations and publications will be posted here as the project progresses."})]})]}),n.jsx("section",{className:"relative py-20 lg:py-28",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 max-w-5xl relative z-10",children:[n.jsx(_r,{kicker:"Project Team",title:"The people behind EXPLORE-IXR"}),n.jsx("div",{className:"grid sm:grid-cols-2 md:grid-cols-3 gap-4",children:fL.map(e=>n.jsx("div",{className:"rounded-xl bg-[#0a1428] border border-cyan-400/20 p-5 hover:border-cyan-400/50 transition-all",children:n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("div",{className:"w-10 h-10 rounded-full bg-gradient-to-br from-cyan-400 to-blue-600 flex items-center justify-center text-sm font-bold text-[#050d1f]",children:e.split(" ").filter(t=>!t.startsWith("Dr")).map(t=>t[0]).slice(0,2).join("")}),n.jsx("span",{className:"text-white font-semibold",children:e})]})},e))})]})}),n.jsx(ae,{})]}),xL={active:!0,breakpoints:{},delay:4e3,jump:!1,playOnInit:!0,stopOnFocusIn:!0,stopOnInteraction:!0,stopOnMouseEnter:!1,stopOnLastSnap:!1,rootNode:null};function yL(e,t){const r=e.scrollSnapList();return typeof t=="number"?r.map(()=>t):t(r,e)}function bL(e,t){const r=e.rootNode();return t&&t(r)||r}function sf(e={}){let t,r,s,a,i=null,o=0,l=!1,c=!1,d=!1,u=!1;function h(D,K){r=D;const{mergeOptions:G,optionsAtMedia:H}=K,E=G(xL,sf.globalOptions),T=G(E,e);if(t=H(T),r.scrollSnapList().length<=1)return;u=t.jump,s=!1,a=yL(r,t.delay);const{eventStore:M,ownerDocument:V}=r.internalEngine(),W=!!r.internalEngine().options.watchDrag,Q=bL(r,t.rootNode);M.add(V,"visibilitychange",g),W&&r.on("pointerDown",b),W&&!t.stopOnInteraction&&r.on("pointerUp",j),t.stopOnMouseEnter&&M.add(Q,"mouseenter",N),t.stopOnMouseEnter&&!t.stopOnInteraction&&M.add(Q,"mouseleave",k),t.stopOnFocusIn&&r.on("slideFocusStart",v),t.stopOnFocusIn&&!t.stopOnInteraction&&M.add(r.containerNode(),"focusout",f),t.playOnInit&&f()}function m(){r.off("pointerDown",b).off("pointerUp",j).off("slideFocusStart",v),v(),s=!0,l=!1}function p(){const{ownerWindow:D}=r.internalEngine();D.clearTimeout(o),o=D.setTimeout($,a[r.selectedScrollSnap()]),i=new Date().getTime(),r.emit("autoplay:timerset")}function y(){const{ownerWindow:D}=r.internalEngine();D.clearTimeout(o),o=0,i=null,r.emit("autoplay:timerstopped")}function f(){if(!s){if(x()){d=!0;return}l||r.emit("autoplay:play"),p(),l=!0}}function v(){s||(l&&r.emit("autoplay:stop"),y(),l=!1)}function g(){if(x())return d=l,v();d&&f()}function x(){const{ownerDocument:D}=r.internalEngine();return D.visibilityState==="hidden"}function b(){c||v()}function j(){c||f()}function N(){c=!0,v()}function k(){c=!1,f()}function C(D){typeof D<"u"&&(u=D),f()}function S(){l&&v()}function _(){l&&f()}function R(){return l}function $(){const{index:D}=r.internalEngine(),K=D.clone().add(1).get(),G=r.scrollSnapList().length-1,H=t.stopOnLastSnap&&K===G;if(r.canScrollNext()?r.scrollNext(u):r.scrollTo(0,u),r.emit("autoplay:select"),H)return v();f()}function O(){if(!i)return null;const D=a[r.selectedScrollSnap()],K=new Date().getTime()-i;return D-K}return{name:"autoplay",options:e,init:h,destroy:m,play:C,stop:S,reset:_,isPlaying:R,timeUntilNext:O}}sf.globalOptions=void 0;function vL(e){return Object.prototype.toString.call(e)==="[object Object]"}function vy(e){return vL(e)||Array.isArray(e)}function wL(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}function af(e,t){const r=Object.keys(e),s=Object.keys(t);if(r.length!==s.length)return!1;const a=JSON.stringify(Object.keys(e.breakpoints||{})),i=JSON.stringify(Object.keys(t.breakpoints||{}));return a!==i?!1:r.every(o=>{const l=e[o],c=t[o];return typeof l=="function"?`${l}`==`${c}`:!vy(l)||!vy(c)?l===c:af(l,c)})}function wy(e){return e.concat().sort((t,r)=>t.name>r.name?1:-1).map(t=>t.options)}function jL(e,t){if(e.length!==t.length)return!1;const r=wy(e),s=wy(t);return r.every((a,i)=>{const o=s[i];return af(a,o)})}function of(e){return typeof e=="number"}function pm(e){return typeof e=="string"}function Pd(e){return typeof e=="boolean"}function jy(e){return Object.prototype.toString.call(e)==="[object Object]"}function Te(e){return Math.abs(e)}function lf(e){return Math.sign(e)}function Hi(e,t){return Te(e-t)}function NL(e,t){if(e===0||t===0||Te(e)<=Te(t))return 0;const r=Hi(Te(e),Te(t));return Te(r/e)}function kL(e){return Math.round(e*100)/100}function Ao(e){return Po(e).map(Number)}function xr(e){return e[Yo(e)]}function Yo(e){return Math.max(0,e.length-1)}function cf(e,t){return t===Yo(e)}function Ny(e,t=0){return Array.from(Array(e),(r,s)=>t+s)}function Po(e){return Object.keys(e)}function y1(e,t){return[e,t].reduce((r,s)=>(Po(s).forEach(a=>{const i=r[a],o=s[a],l=jy(i)&&jy(o);r[a]=l?y1(i,o):o}),r),{})}function fm(e,t){return typeof t.MouseEvent<"u"&&e instanceof t.MouseEvent}function CL(e,t){const r={start:s,center:a,end:i};function s(){return 0}function a(c){return i(c)/2}function i(c){return t-c}function o(c,d){return pm(e)?r[e](c):e(t,c,d)}return{measure:o}}function Ro(){let e=[];function t(a,i,o,l={passive:!0}){let c;if("addEventListener"in a)a.addEventListener(i,o,l),c=()=>a.removeEventListener(i,o,l);else{const d=a;d.addListener(o),c=()=>d.removeListener(o)}return e.push(c),s}function r(){e=e.filter(a=>a())}const s={add:t,clear:r};return s}function SL(e,t,r,s){const a=Ro(),i=1e3/60;let o=null,l=0,c=0;function d(){a.add(e,"visibilitychange",()=>{e.hidden&&y()})}function u(){p(),a.clear()}function h(v){if(!c)return;o||(o=v,r(),r());const g=v-o;for(o=v,l+=g;l>=i;)r(),l-=i;const x=l/i;s(x),c&&(c=t.requestAnimationFrame(h))}function m(){c||(c=t.requestAnimationFrame(h))}function p(){t.cancelAnimationFrame(c),o=null,l=0,c=0}function y(){o=null,l=0}return{init:d,destroy:u,start:m,stop:p,update:r,render:s}}function EL(e,t){const r=t==="rtl",s=e==="y",a=s?"y":"x",i=s?"x":"y",o=!s&&r?-1:1,l=u(),c=h();function d(y){const{height:f,width:v}=y;return s?f:v}function u(){return s?"top":r?"right":"left"}function h(){return s?"bottom":r?"left":"right"}function m(y){return y*o}return{scroll:a,cross:i,startEdge:l,endEdge:c,measureSize:d,direction:m}}function Os(e=0,t=0){const r=Te(e-t);function s(d){return d<e}function a(d){return d>t}function i(d){return s(d)||a(d)}function o(d){return i(d)?s(d)?e:t:d}function l(d){return r?d-r*Math.ceil((d-t)/r):d}return{length:r,max:t,min:e,constrain:o,reachedAny:i,reachedMax:a,reachedMin:s,removeOffset:l}}function b1(e,t,r){const{constrain:s}=Os(0,e),a=e+1;let i=o(t);function o(m){return r?Te((a+m)%a):s(m)}function l(){return i}function c(m){return i=o(m),h}function d(m){return u().set(l()+m)}function u(){return b1(e,l(),r)}const h={get:l,set:c,add:d,clone:u};return h}function _L(e,t,r,s,a,i,o,l,c,d,u,h,m,p,y,f,v,g,x){const{cross:b,direction:j}=e,N=["INPUT","SELECT","TEXTAREA"],k={passive:!1},C=Ro(),S=Ro(),_=Os(50,225).constrain(p.measure(20)),R={mouse:300,touch:400},$={mouse:500,touch:600},O=y?43:25;let J=!1,D=0,K=0,G=!1,H=!1,E=!1,T=!1;function M(z){if(!x)return;function oe(We){(Pd(x)||x(z,We))&&Re(We)}const je=t;C.add(je,"dragstart",We=>We.preventDefault(),k).add(je,"touchmove",()=>{},k).add(je,"touchend",()=>{}).add(je,"touchstart",oe).add(je,"mousedown",oe).add(je,"touchcancel",De).add(je,"contextmenu",De).add(je,"click",Ke,!0)}function V(){C.clear(),S.clear()}function W(){const z=T?r:t;S.add(z,"touchmove",ee,k).add(z,"touchend",De).add(z,"mousemove",ee,k).add(z,"mouseup",De)}function Q(z){const oe=z.nodeName||"";return N.includes(oe)}function X(){return(y?$:R)[T?"mouse":"touch"]}function ye(z,oe){const je=h.add(lf(z)*-1),We=u.byDistance(z,!y).distance;return y||Te(z)<_?We:v&&oe?We*.5:u.byIndex(je.get(),0).distance}function Re(z){const oe=fm(z,s);T=oe,E=y&&oe&&!z.buttons&&J,J=Hi(a.get(),o.get())>=2,!(oe&&z.button!==0)&&(Q(z.target)||(G=!0,i.pointerDown(z),d.useFriction(0).useDuration(0),a.set(o),W(),D=i.readPoint(z),K=i.readPoint(z,b),m.emit("pointerDown")))}function ee(z){if(!fm(z,s)&&z.touches.length>=2)return De(z);const je=i.readPoint(z),We=i.readPoint(z,b),ut=Hi(je,D),_t=Hi(We,K);if(!H&&!T&&(!z.cancelable||(H=ut>_t,!H)))return De(z);const Tt=i.pointerMove(z);ut>f&&(E=!0),d.useFriction(.3).useDuration(.75),l.start(),a.add(j(Tt)),z.preventDefault()}function De(z){const je=u.byDistance(0,!1).index!==h.get(),We=i.pointerUp(z)*X(),ut=ye(j(We),je),_t=NL(We,ut),Tt=O-10*_t,ht=g+_t/50;H=!1,G=!1,S.clear(),d.useDuration(Tt).useFriction(ht),c.distance(ut,!y),T=!1,m.emit("pointerUp")}function Ke(z){E&&(z.stopPropagation(),z.preventDefault(),E=!1)}function Be(){return G}return{init:M,destroy:V,pointerDown:Be}}function TL(e,t){let s,a;function i(h){return h.timeStamp}function o(h,m){const y=`client${(m||e.scroll)==="x"?"X":"Y"}`;return(fm(h,t)?h:h.touches[0])[y]}function l(h){return s=h,a=h,o(h)}function c(h){const m=o(h)-o(a),p=i(h)-i(s)>170;return a=h,p&&(s=h),m}function d(h){if(!s||!a)return 0;const m=o(a)-o(s),p=i(h)-i(s),y=i(h)-i(a)>170,f=m/p;return p&&!y&&Te(f)>.1?f:0}return{pointerDown:l,pointerMove:c,pointerUp:d,readPoint:o}}function AL(){function e(r){const{offsetTop:s,offsetLeft:a,offsetWidth:i,offsetHeight:o}=r;
vendor: 11,809 bytes, line 535
535return{top:s,right:a+i,bottom:s+o,left:a,width:i,height:o}}return{measure:e}}function PL(e){function t(s){return e*(s/100)}return{measure:t}}function RL(e,t,r,s,a,i,o){const l=[e].concat(s);let c,d,u=[],h=!1;function m(v){return a.measureSize(o.measure(v))}function p(v){if(!i)return;d=m(e),u=s.map(m);function g(x){for(const b of x){if(h)return;const j=b.target===e,N=s.indexOf(b.target),k=j?d:u[N],C=m(j?e:s[N]);if(Te(C-k)>=.5){v.reInit(),t.emit("resize");break}}}c=new ResizeObserver(x=>{(Pd(i)||i(v,x))&&g(x)}),r.requestAnimationFrame(()=>{l.forEach(x=>c.observe(x))})}function y(){h=!0,c&&c.disconnect()}return{init:p,destroy:y}}function DL(e,t,r,s,a,i){let o=0,l=0,c=a,d=i,u=e.get(),h=0;function m(){const k=s.get()-e.get(),C=!c;let S=0;return C?(o=0,r.set(s),e.set(s),S=k):(r.set(e),o+=k/c,o*=d,u+=o,e.add(o),S=u-h),l=lf(S),h=u,N}function p(){const k=s.get()-t.get();return Te(k)<.001}function y(){return c}function f(){return l}function v(){return o}function g(){return b(a)}function x(){return j(i)}function b(k){return c=k,N}function j(k){return d=k,N}const N={direction:f,duration:y,velocity:v,seek:m,settled:p,useBaseFriction:x,useBaseDuration:g,useFriction:j,useDuration:b};return N}function IL(e,t,r,s,a){const i=a.measure(10),o=a.measure(50),l=Os(.1,.99);let c=!1;function d(){return!(c||!e.reachedAny(r.get())||!e.reachedAny(t.get()))}function u(p){if(!d())return;const y=e.reachedMin(t.get())?"min":"max",f=Te(e[y]-t.get()),v=r.get()-t.get(),g=l.constrain(f/o);r.subtract(v*g),!p&&Te(v)<i&&(r.set(e.constrain(r.get())),s.useDuration(25).useBaseFriction())}function h(p){c=!p}return{shouldConstrain:d,constrain:u,toggleActive:h}}function OL(e,t,r,s,a){const i=Os(-t+e,0),o=h(),l=u(),c=m();function d(y,f){return Hi(y,f)<=1}function u(){const y=o[0],f=xr(o),v=o.lastIndexOf(y),g=o.indexOf(f)+1;return Os(v,g)}function h(){return r.map((y,f)=>{const{min:v,max:g}=i,x=i.constrain(y),b=!f,j=cf(r,f);return b?g:j||d(v,x)?v:d(g,x)?g:x}).map(y=>parseFloat(y.toFixed(3)))}function m(){if(t<=e+a)return[i.max];if(s==="keepSnaps")return o;const{min:y,max:f}=l;return o.slice(y,f)}return{snapsContained:c,scrollContainLimit:l}}function ML(e,t,r){const s=t[0],a=r?s-e:xr(t);return{limit:Os(a,s)}}function LL(e,t,r,s){const i=t.min+.1,o=t.max+.1,{reachedMin:l,reachedMax:c}=Os(i,o);function d(m){return m===1?c(r.get()):m===-1?l(r.get()):!1}function u(m){if(!d(m))return;const p=e*(m*-1);s.forEach(y=>y.add(p))}return{loop:u}}function $L(e){const{max:t,length:r}=e;function s(i){const o=i-t;return r?o/-r:0}return{get:s}}function UL(e,t,r,s,a){const{startEdge:i,endEdge:o}=e,{groupSlides:l}=a,c=h().map(t.measure),d=m(),u=p();function h(){return l(s).map(f=>xr(f)[o]-f[0][i]).map(Te)}function m(){return s.map(f=>r[i]-f[i]).map(f=>-Te(f))}function p(){return l(d).map(f=>f[0]).map((f,v)=>f+c[v])}return{snaps:d,snapsAligned:u}}function BL(e,t,r,s,a,i){const{groupSlides:o}=a,{min:l,max:c}=s,d=u();function u(){const m=o(i),p=!e||t==="keepSnaps";return r.length===1?[i]:p?m:m.slice(l,c).map((y,f,v)=>{const g=!f,x=cf(v,f);if(g){const b=xr(v[0])+1;return Ny(b)}if(x){const b=Yo(i)-xr(v)[0]+1;return Ny(b,xr(v)[0])}return y})}return{slideRegistry:d}}function FL(e,t,r,s,a){const{reachedAny:i,removeOffset:o,constrain:l}=s;function c(y){return y.concat().sort((f,v)=>Te(f)-Te(v))[0]}function d(y){const f=e?o(y):l(y),v=t.map((x,b)=>({diff:u(x-f,0),index:b})).sort((x,b)=>Te(x.diff)-Te(b.diff)),{index:g}=v[0];return{index:g,distance:f}}function u(y,f){const v=[y,y+r,y-r];if(!e)return y;if(!f)return c(v);const g=v.filter(x=>lf(x)===f);return g.length?c(g):xr(v)-r}function h(y,f){const v=t[y]-a.get(),g=u(v,f);return{index:y,distance:g}}function m(y,f){const v=a.get()+y,{index:g,distance:x}=d(v),b=!e&&i(v);if(!f||b)return{index:g,distance:y};const j=t[g]-x,N=y+u(j,0);return{index:g,distance:N}}return{byDistance:m,byIndex:h,shortcut:u}}function zL(e,t,r,s,a,i,o){function l(h){const m=h.distance,p=h.index!==t.get();i.add(m),m&&(s.duration()?e.start():(e.update(),e.render(1),e.update())),p&&(r.set(t.get()),t.set(h.index),o.emit("select"))}function c(h,m){const p=a.byDistance(h,m);l(p)}function d(h,m){const p=t.clone().set(h),y=a.byIndex(p.get(),m);l(y)}return{distance:c,index:d}}function WL(e,t,r,s,a,i,o,l){const c={passive:!0,capture:!0};let d=0;function u(p){if(!l)return;function y(f){if(new Date().getTime()-d>10)return;o.emit("slideFocusStart"),e.scrollLeft=0;const x=r.findIndex(b=>b.includes(f));of(x)&&(a.useDuration(0),s.index(x,0),o.emit("slideFocus"))}i.add(document,"keydown",h,!1),t.forEach((f,v)=>{i.add(f,"focus",g=>{(Pd(l)||l(p,g))&&y(v)},c)})}function h(p){p.code==="Tab"&&(d=new Date().getTime())}return{init:u}}function Pi(e){let t=e;function r(){return t}function s(c){t=o(c)}function a(c){t+=o(c)}function i(c){t-=o(c)}function o(c){return of(c)?c:c.get()}return{get:r,set:s,add:a,subtract:i}}function v1(e,t){const r=e.scroll==="x"?o:l,s=t.style;let a=null,i=!1;function o(m){return`translate3d(${m}px,0px,0px)`}function l(m){return`translate3d(0px,${m}px,0px)`}function c(m){if(i)return;const p=kL(e.direction(m));p!==a&&(s.transform=r(p),a=p)}function d(m){i=!m}function u(){i||(s.transform="",t.getAttribute("style")||t.removeAttribute("style"))}return{clear:u,to:c,toggleActive:d}}function GL(e,t,r,s,a,i,o,l,c){const u=Ao(a),h=Ao(a).reverse(),m=g().concat(x());function p(C,S){return C.reduce((_,R)=>_-a[R],S)}function y(C,S){return C.reduce((_,R)=>p(_,S)>0?_.concat([R]):_,[])}function f(C){return i.map((S,_)=>({start:S-s[_]+.5+C,end:S+t-.5+C}))}function v(C,S,_){const R=f(S);return C.map($=>{const O=_?0:-r,J=_?r:0,D=_?"end":"start",K=R[$][D];return{index:$,loopPoint:K,slideLocation:Pi(-1),translate:v1(e,c[$]),target:()=>l.get()>K?O:J}})}function g(){const C=o[0],S=y(h,C);return v(S,r,!1)}function x(){const C=t-o[0]-1,S=y(u,C);return v(S,-r,!0)}function b(){return m.every(({index:C})=>{const S=u.filter(_=>_!==C);return p(S,t)<=.1})}function j(){m.forEach(C=>{const{target:S,translate:_,slideLocation:R}=C,$=S();$!==R.get()&&(_.to($),R.set($))})}function N(){m.forEach(C=>C.translate.clear())}return{canLoop:b,clear:N,loop:j,loopPoints:m}}function HL(e,t,r){let s,a=!1;function i(c){if(!r)return;function d(u){for(const h of u)if(h.type==="childList"){c.reInit(),t.emit("slidesChanged");break}}s=new MutationObserver(u=>{a||(Pd(r)||r(c,u))&&d(u)}),s.observe(e,{childList:!0})}function o(){s&&s.disconnect(),a=!0}return{init:i,destroy:o}}function VL(e,t,r,s){const a={};let i=null,o=null,l,c=!1;function d(){l=new IntersectionObserver(y=>{c||(y.forEach(f=>{const v=t.indexOf(f.target);a[v]=f}),i=null,o=null,r.emit("slidesInView"))},{root:e.parentElement,threshold:s}),t.forEach(y=>l.observe(y))}function u(){l&&l.disconnect(),c=!0}function h(y){return Po(a).reduce((f,v)=>{const g=parseInt(v),{isIntersecting:x}=a[g];return(y&&x||!y&&!x)&&f.push(g),f},[])}function m(y=!0){if(y&&i)return i;if(!y&&o)return o;const f=h(y);return y&&(i=f),y||(o=f),f}return{init:d,destroy:u,get:m}}function qL(e,t,r,s,a,i){const{measureSize:o,startEdge:l,endEdge:c}=e,d=r[0]&&a,u=y(),h=f(),m=r.map(o),p=v();function y(){if(!d)return 0;const x=r[0];return Te(t[l]-x[l])}function f(){if(!d)return 0;const x=i.getComputedStyle(xr(s));return parseFloat(x.getPropertyValue(`margin-${c}`))}function v(){return r.map((x,b,j)=>{const N=!b,k=cf(j,b);return N?m[b]+u:k?m[b]+h:j[b+1][l]-x[l]}).map(Te)}return{slideSizes:m,slideSizesWithGaps:p,startGap:u,endGap:h}}function KL(e,t,r,s,a,i,o,l,c){const{startEdge:d,endEdge:u,direction:h}=e,m=of(r);function p(g,x){return Ao(g).filter(b=>b%x===0).map(b=>g.slice(b,b+x))}function y(g){return g.length?Ao(g).reduce((x,b,j)=>{const N=xr(x)||0,k=N===0,C=b===Yo(g),S=a[d]-i[N][d],_=a[d]-i[b][u],R=!s&&k?h(o):0,$=!s&&C?h(l):0,O=Te(_-$-(S+R));return j&&O>t+c&&x.push(b),C&&x.push(g.length),x},[]).map((x,b,j)=>{const N=Math.max(j[b-1]||0);return g.slice(N,x)}):[]}function f(g){return m?p(g,r):y(g)}return{groupSlides:f}}function YL(e,t,r,s,a,i,o){const{align:l,axis:c,direction:d,startIndex:u,loop:h,duration:m,dragFree:p,dragThreshold:y,inViewThreshold:f,slidesToScroll:v,skipSnaps:g,containScroll:x,watchResize:b,watchSlides:j,watchDrag:N,watchFocus:k}=i,C=2,S=AL(),_=S.measure(t),R=r.map(S.measure),$=EL(c,d),O=$.measureSize(_),J=PL(O),D=CL(l,O),K=!h&&!!x,G=h||!!x,{slideSizes:H,slideSizesWithGaps:E,startGap:T,endGap:M}=qL($,_,R,r,G,a),V=KL($,O,v,h,_,R,T,M,C),{snaps:W,snapsAligned:Q}=UL($,D,_,R,V),X=-xr(W)+xr(E),{snapsContained:ye,scrollContainLimit:Re}=OL(O,X,Q,x,C),ee=K?ye:Q,{limit:De}=ML(X,ee,h),Ke=b1(Yo(ee),u,h),Be=Ke.clone(),de=Ao(r),z=({dragHandler:Zt,scrollBody:oi,scrollBounds:Fs,options:{loop:mn}})=>{mn||Fs.constrain(Zt.pointerDown()),oi.seek()},oe=({scrollBody:Zt,translate:oi,location:Fs,offsetLocation:mn,previousLocation:pn,scrollLooper:Xo,slideLooper:fn,dragHandler:Od,animation:Md,eventHandler:li,scrollBounds:Zo,options:{loop:el}},zs)=>{const er=Zt.settled(),Ld=!Zo.shouldConstrain(),Z=el?er:er&&Ld,he=Z&&!Od.pointerDown();he&&Md.stop();const be=Fs.get()*zs+pn.get()*(1-zs);mn.set(be),el&&(Xo.loop(Zt.direction()),fn.loop()),oi.to(mn.get()),he&&li.emit("settle"),Z||li.emit("scroll")},je=SL(s,a,()=>z(ii),Zt=>oe(ii,Zt)),We=.68,ut=ee[Ke.get()],_t=Pi(ut),Tt=Pi(ut),ht=Pi(ut),Cr=Pi(ut),Qt=DL(_t,ht,Tt,Cr,m,We),Bs=FL(h,ee,X,De,Cr),Xt=zL(je,Ke,Be,Qt,Bs,Cr,o),Jo=$L(De),Qo=Ro(),vt=VL(t,r,o,f),{slideRegistry:Gr}=BL(K,x,ee,Re,V,de),Id=WL(e,r,Gr,Xt,Qt,Qo,o,k),ii={ownerDocument:s,ownerWindow:a,eventHandler:o,containerRect:_,slideRects:R,animation:je,axis:$,dragHandler:_L($,e,s,a,Cr,TL($,a),_t,je,Xt,Qt,Bs,Ke,o,J,p,y,g,We,N),eventStore:Qo,percentOfView:J,index:Ke,indexPrevious:Be,limit:De,location:_t,offsetLocation:ht,previousLocation:Tt,options:i,resizeHandler:RL(t,o,a,r,$,b,S),scrollBody:Qt,scrollBounds:IL(De,ht,Cr,Qt,J),scrollLooper:LL(X,De,ht,[_t,ht,Tt,Cr]),scrollProgress:Jo,scrollSnapList:ee.map(Jo.get),scrollSnaps:ee,scrollTarget:Bs,scrollTo:Xt,slideLooper:GL($,O,X,H,E,W,ee,ht,r),slideFocus:Id,slidesHandler:HL(t,o,j),slidesInView:vt,slideIndexes:de,slideRegistry:Gr,slidesToScroll:V,target:Cr,translate:v1($,t)};return ii}function JL(){let e={},t;function r(d){t=d}function s(d){return e[d]||[]}function a(d){return s(d).forEach(u=>u(t,d)),c}function i(d,u){return e[d]=s(d).concat([u]),c}function o(d,u){return e[d]=s(d).filter(h=>h!==u),c}function l(){e={}}const c={init:r,emit:a,off:o,on:i,clear:l};return c}const QL={align:"center",axis:"x",container:null,slides:null,containScroll:"trimSnaps",direction:"ltr",slidesToScroll:1,inViewThreshold:0,breakpoints:{},dragFree:!1,dragThreshold:10,loop:!1,skipSnaps:!1,duration:25,startIndex:0,active:!0,watchDrag:!0,watchResize:!0,watchSlides:!0,watchFocus:!0};function XL(e){function t(i,o){return y1(i,o||{})}function r(i){const o=i.breakpoints||{},l=Po(o).filter(c=>e.matchMedia(c).matches).map(c=>o[c]).reduce((c,d)=>t(c,d),{});return t(i,l)}function s(i){return i.map(o=>Po(o.breakpoints||{})).reduce((o,l)=>o.concat(l),[]).map(e.matchMedia)}return{mergeOptions:t,optionsAtMedia:r,optionsMediaQueries:s}}function ZL(e){let t=[];function r(i,o){return t=o.filter(({options:l})=>e.optionsAtMedia(l).active!==!1),t.forEach(l=>l.init(i,e)),o.reduce((l,c)=>Object.assign(l,{[c.name]:c}),{})}function s(){t=t.filter(i=>i.destroy())}return{init:r,destroy:s}}function Bc(e,t,r){const s=e.ownerDocument,a=s.defaultView,i=XL(a),o=ZL(i),l=Ro(),c=JL(),{mergeOptions:d,optionsAtMedia:u,optionsMediaQueries:h}=i,{on:m,off:p,emit:y}=c,f=$;let v=!1,g,x=d(QL,Bc.globalOptions),b=d(x),j=[],N,k,C;function S(){const{container:de,slides:z}=b;k=(pm(de)?e.querySelector(de):de)||e.children[0];const je=pm(z)?k.querySelectorAll(z):z;C=[].slice.call(je||k.children)}function _(de){const z=YL(e,k,C,s,a,de,c);if(de.loop&&!z.slideLooper.canLoop()){const oe=Object.assign({},de,{loop:!1});return _(oe)}return z}function R(de,z){v||(x=d(x,de),b=u(x),j=z||j,S(),g=_(b),h([x,...j.map(({options:oe})=>
535oe)]).forEach(oe=>l.add(oe,"change",$)),b.active&&(g.translate.to(g.location.get()),g.animation.init(),g.slidesInView.init(),g.slideFocus.init(Be),g.eventHandler.init(Be),g.resizeHandler.init(Be),g.slidesHandler.init(Be),g.options.loop&&g.slideLooper.loop(),k.offsetParent&&C.length&&g.dragHandler.init(Be),N=o.init(Be,j)))}function $(de,z){const oe=V();O(),R(d({startIndex:oe},de),z),c.emit("reInit")}function O(){g.dragHandler.destroy(),g.eventStore.clear(),g.translate.clear(),g.slideLooper.clear(),g.resizeHandler.destroy(),g.slidesHandler.destroy(),g.slidesInView.destroy(),g.animation.destroy(),o.destroy(),l.clear()}function J(){v||(v=!0,l.clear(),O(),c.emit("destroy"),c.clear())}function D(de,z,oe){!b.active||v||(g.scrollBody.useBaseFriction().useDuration(z===!0?0:b.duration),g.scrollTo.index(de,oe||0))}function K(de){const z=g.index.add(1).get();D(z,de,-1)}function G(de){const z=g.index.add(-1).get();D(z,de,1)}function H(){return g.index.add(1).get()!==V()}function E(){return g.index.add(-1).get()!==V()}function T(){return g.scrollSnapList}function M(){return g.scrollProgress.get(g.offsetLocation.get())}function V(){return g.index.get()}function W(){return g.indexPrevious.get()}function Q(){return g.slidesInView.get()}function X(){return g.slidesInView.get(!1)}function ye(){return N}function Re(){return g}function ee(){return e}function De(){return k}function Ke(){return C}const Be={canScrollNext:H,canScrollPrev:E,containerNode:De,internalEngine:Re,destroy:J,off:p,on:m,emit:y,plugins:ye,previousScrollSnap:W,reInit:f,rootNode:ee,scrollNext:K,scrollPrev:G,scrollProgress:M,scrollSnapList:T,scrollTo:D,selectedScrollSnap:V,slideNodes:Ke,slidesInView:Q,slidesNotInView:X};return R(t,r),setTimeout(()=>c.emit("init"),0),Be}Bc.globalOptions=void 0;function df(e={},t=[]){const r=w.useRef(e),s=w.useRef(t),[a,i]=w.useState(),[o,l]=w.useState(),c=w.useCallback(()=>{a&&a.reInit(r.current,s.current)},[a]);return w.useEffect(()=>{af(r.current,e)||(r.current=e,c())},[e,c]),w.useEffect(()=>{jL(s.current,t)||(s.current=t,c())},[t,c]),w.useEffect(()=>{if(wL()&&o){Bc.globalOptions=df.globalOptions;const d=Bc(o,r.current,s.current);return i(d),()=>d.destroy()}else i(void 0)},[o,i]),[l,a]}df.globalOptions=void 0;const w1=w.createContext(null);function Rd(){const e=w.useContext(w1);if(!e)throw new Error("useCarousel must be used within a <Carousel />");return e}const j1=w.forwardRef(({orientation:e="horizontal",opts:t,setApi:r,plugins:s,className:a,children:i,...o},l)=>{const[c,d]=df({...t,axis:e==="horizontal"?"x":"y"},s),[u,h]=w.useState(!1),[m,p]=w.useState(!1),y=w.useCallback(x=>{x&&(h(x.canScrollPrev()),p(x.canScrollNext()))},[]),f=w.useCallback(()=>{d==null||d.scrollPrev()},[d]),v=w.useCallback(()=>{d==null||d.scrollNext()},[d]),g=w.useCallback(x=>{x.key==="ArrowLeft"?(x.preventDefault(),f()):x.key==="ArrowRight"&&(x.preventDefault(),v())},[f,v]);return w.useEffect(()=>{!d||!r||r(d)},[d,r]),w.useEffect(()=>{if(d)return y(d),d.on("reInit",y),d.on("select",y),()=>{d==null||d.off("select",y)}},[d,y]),n.jsx(w1.Provider,{value:{carouselRef:c,api:d,opts:t,orientation:e||((t==null?void 0:t.axis)==="y"?"vertical":"horizontal"),scrollPrev:f,scrollNext:v,canScrollPrev:u,canScrollNext:m},children:n.jsx("div",{ref:l,onKeyDownCapture:g,className:xe("relative",a),role:"region","aria-roledescription":"carousel",...o,children:i})})});j1.displayName="Carousel";const N1=w.forwardRef(({className:e,...t},r)=>{const{carouselRef:s,orientation:a}=Rd();return n.jsx("div",{ref:s,className:"overflow-hidden",children:n.jsx("div",{ref:r,className:xe("flex",a==="horizontal"?"-ml-4":"-mt-4 flex-col",e),...t})})});N1.displayName="CarouselContent";const k1=w.forwardRef(({className:e,...t},r)=>{const{orientation:s}=Rd();return n.jsx("div",{ref:r,role:"group","aria-roledescription":"slide",className:xe("min-w-0 shrink-0 grow-0 basis-full",s==="horizontal"?"pl-4":"pt-4",e),...t})});k1.displayName="CarouselItem";const C1=w.forwardRef(({className:e,variant:t="outline",size:r="icon",...s},a)=>{const{orientation:i,scrollPrev:o,canScrollPrev:l}=Rd();return n.jsxs(L,{ref:a,variant:t,size:r,className:xe("absolute h-8 w-8 rounded-full",i==="horizontal"?"-left-12 top-1/2 -translate-y-1/2":"-top-12 left-1/2 -translate-x-1/2 rotate-90",e),disabled:!l,onClick:o,...s,children:[n.jsx(iE,{className:"h-4 w-4"}),n.jsx("span",{className:"sr-only",children:"Previous slide"})]})});
535C1.displayName="CarouselPrevious";const S1=w.forwardRef(({className:e,variant:t="outline",size:r="icon",...s},a)=>{const{orientation:i,scrollNext:o,canScrollNext:l}=Rd();return n.jsxs(L,{ref:a,variant:t,size:r,className:xe("absolute h-8 w-8 rounded-full",i==="horizontal"?"-right-12 top-1/2 -translate-y-1/2":"-bottom-12 left-1/2 -translate-x-1/2 rotate-90",e),disabled:!l,onClick:o,...s,children:[n.jsx(le,{className:"h-4 w-4"}),n.jsx("span",{className:"sr-only",children:"Next slide"})]})});S1.displayName="CarouselNext";const e$=1,t$="874a8932-9f03-4cd4-96c7-7309946301cf",r$="006d986f-0954-4925-b449-48b863ced425",n$="/__l5e/assets-v1/874a8932-9f03-4cd4-96c7-7309946301cf/secure-sld-image-2.webp",s$="a/v1/006d986f-0954-4925-b449-48b863ced425/874a8932-9f03-4cd4-96c7-7309946301cf/secure-sld-image-2.webp",a$="secure-sld-image-2.webp",i$=39254,o$="image/webp",l$="2026-08-10T10:56:05Z",c$={version:e$,asset_id:t$,project_id:r$,url:n$,r2_key:s$,original_filename:a$,size:i$,content_type:o$,created_at:l$},d$=1,u$="c566802e-8881-4240-a7cb-4c4e496a91c8",h$="006d986f-0954-4925-b449-48b863ced425",m$="/__l5e/assets-v1/c566802e-8881-4240-a7cb-4c4e496a91c8/secure-sld-image-4.webp",p$="a/v1/006d986f-0954-4925-b449-48b863ced425/c566802e-8881-4240-a7cb-4c4e496a91c8/secure-sld-image-4.webp",f$="secure-sld-image-4.webp",g$=31276,x$="image/webp",y$="2026-08-10T10:56:14Z",b$={version:d$,asset_id:u$,project_id:h$,url:m$,r2_key:p$,original_filename:f$,size:g$,content_type:x$,created_at:y$},v$=1,w$="92207ad0-899c-47f2-bded-362e528a49cc",j$="006d986f-0954-4925-b449-48b863ced425",N$="/__l5e/assets-v1/92207ad0-899c-47f2-bded-362e528a49cc/secure-sld-carousel-2.webp",k$="a/v1/006d986f-0954-4925-b449-48b863ced425/92207ad0-899c-47f2-bded-362e528a49cc/secure-sld-carousel-2.webp",C$="secure-sld-carousel-2.webp",S$=46842,E$="image/webp",_$="2026-08-10T10:55:31Z",T$={version:v$,asset_id:w$,project_id:j$,url:N$,r2_key:k$,original_filename:C$,size:S$,content_type:E$,created_at:_$},A$=1,P$="c7b1aca2-70fe-41de-9da5-d58bfddc0873",R$="006d986f-0954-4925-b449-48b863ced425",D$="/__l5e/assets-v1/c7b1aca2-70fe-41de-9da5-d58bfddc0873/secure-sld-carousel-3.webp",I$="a/v1/006d986f-0954-4925-b449-48b863ced425/c7b1aca2-70fe-41de-9da5-d58bfddc0873/secure-sld-carousel-3.webp",O$="secure-sld-carousel-3.webp",M$=38630,L$="image/webp",$$="2026-08-10T10:55:34Z",U$={version:A$,asset_id:P$,project_id:R$,url:D$,r2_key:I$,original_filename:O$,size:M$,content_type:L$,created_at:$$},B$=1,F$="b056a507-9f2f-4845-96cd-09c964164691",z$="006d986f-0954-4925-b449-48b863ced425",W$="/__l5e/assets-v1/b056a507-9f2f-4845-96cd-09c964164691/secure-sld-carousel-4.webp",G$="a/v1/006d986f-0954-4925-b449-48b863ced425/b056a507-9f2f-4845-96cd-09c964164691/secure-sld-carousel-4.webp",H$="secure-sld-carousel-4.webp",V$=66318,q$="image/webp",K$="2026-08-10T10:55:37Z",Y$={version:B$,asset_id:F$,project_id:z$,url:W$,r2_key:G$,original_filename:H$,size:V$,content_type:q$,created_at:K$},J$=1,Q$="009f6db0-2721-4d3a-9022-590b492cd59d",X$="006d986f-0954-4925-b449-48b863ced425",Z$="/__l5e/assets-v1/009f6db0-2721-4d3a-9022-590b492cd59d/secure-sld-carousel-5.webp",eU="a/v1/006d986f-0954-4925-b449-48b863ced425/009f6db0-2721-4d3a-9022-590b492cd59d/secure-sld-carousel-5.webp",tU="secure-sld-carousel-5.webp",rU=45176,nU="image/webp",sU="2026-08-10T10:55:40Z",aU={version:J$,asset_id:Q$,project_id:X$,url:Z$,r2_key:eU,original_filename:tU,size:rU,content_type:nU,created_at:sU},iU=1,oU="6fc79673-9cdc-401e-93d9-190323cf86a9",lU="006d986f-0954-4925-b449-48b863ced425",cU="/__l5e/assets-v1/6fc79673-9cdc-401e-93d9-190323cf86a9/secure-sld-carousel-6.webp",dU="a/v1/006d986f-0954-4925-b449-48b863ced425/6fc79673-9cdc-401e-93d9-190323cf86a9/secure-sld-carousel-6.webp",uU="secure-sld-carousel-6.webp",hU=36868,mU="image/webp",pU="2026-08-10T10:55:44Z",fU={version:iU,asset_id:oU,project_id:lU,url:cU,r2_key:dU,original_filename:uU,size:hU,content_type:mU,created_at:pU},gU=1,xU="ae197602-0e16-4b2c-ad61-2a5a08cb708a",yU="006d986f-0954-4925-b449-48b863ced425",bU="/__l5e/assets-v1/ae197602-0e16-4b2c-ad61-2a5a08cb708a/secure-sld-carousel-7.webp",vU="a/v1/006d986f-0954-4925-b449-48b863ced425/ae197602-0e16-4b2c-ad61-2a5a08cb708a/secure-sld-carousel-7.webp",wU="secure-sld-carousel-7.webp",jU=60318,NU="image/webp",kU="2026-08-10T10:55:50Z",CU={version:gU,asset_id:xU,project_id:yU,url:bU,r2_key:vU,original_filename:wU,size:jU,content_type:NU,created_at:kU},SU=1,EU="33db3de6-ecfe-484f-9b02-fba82bd76a5c",_U="006d986f-0954-4925-b449-48b863ced425",TU="/__l5e/assets-v1/33db3de6-ecfe-484f-9b02-fba82bd76a5c/secure-sld-carousel-8.webp",AU="a/v1/006d986f-0954-4925-b449-48b863ced425/33db3de6-ecfe-484f-9b02-fba82bd76a5c/secure-sld-carousel-8.webp",PU="secure-sld-carousel-8.webp",RU=49916,DU="image/webp",IU="2026-08-10T10:55:54Z",OU={version:SU,asset_id:EU,project_id:_U,url:TU,r2_key:AU,original_filename:PU,size:RU,content_type:DU,created_at:IU},MU=1,LU="2947d00a-e40c-4894-bef2-78ca3ece85c6",$U="006d986f-0954-4925-b449-48b863ced425",UU="/__l5e/assets-v1/2947d00a-e40c-4894-bef2-78ca3ece85c6/secure-sld-carousel-9.webp",BU="a/v1/006d986f-0954-4925-b449-48b863ced425/2947d00a-e40c-4894-bef2-78ca3ece85c6/secure-sld-carousel-9.webp",FU="secure-sld-carousel-9.webp",zU=60200,WU="image/webp",GU="2026-08-10T10:55:58Z",HU={version:MU,asset_id:LU,project_id:$U,url:UU,r2_key:BU,original_filename:FU,size:zU,content_type:WU,created_at:GU},VU=1,qU="99294337-fe14-4ee3-92bd-8e884f19a3e4",KU="006d986f-0954-4925-b449-48b863ced425",YU="/__l5e/assets-v1/99294337-fe14-4ee3-92bd-8e884f19a3e4/secure-sld-carousel-10.webp",JU="a/v1/006d986f-0954-4925-b449-48b863ced425/99294337-fe14-4ee3-92bd-8e884f19a3e4/secure-sld-carousel-10.webp",QU="secure-sld-carousel-10.webp",XU=39002,ZU="image/webp",eB="2026-08-10T10:55:23Z",tB={version:VU,asset_id:qU,project_id:KU,url:YU,r2_key:JU,original_filename:QU,size:XU,content_type:ZU,created_at:eB},rB=1,nB="537b6442-67d6-477d-b512-a51fc77366c6",sB="006d986f-0954-4925-b449-48b863ced425",aB="/__l5e/assets-v1/537b6442-67d6-477d-b512-a51fc77366c6/secure-sld-carousel-11.webp",iB="a/v1/006d986f-0954-4925-b449-48b863ced425/537b6442-67d6-477d-b512-a51fc77366c6/secure-sld-carousel-11.webp",oB="secure-sld-carousel-11.webp",lB=45142,cB="image/webp",dB="2026-08-10T10:55:27Z",uB={version:rB,asset_id:nB,project_id:sB,url:aB,r2_key:iB,original_filename:oB,size:lB,content_type:cB,created_at:dB},hB=1,mB="0f90dd84-1229-40da-8e11-a81a95b3a883",pB="006d986f-0954-4925-b449-48b863ced425",fB="/__l5e/assets-v1/0f90dd84-1229-40da-8e11-a81a95b3a883/secure-sld-best-creativity.webp",gB="a/v1/006d986f-0954-4925-b449-48b863ced425/0f90dd84-1229-40da-8e11-a81a95b3a883/secure-sld-best-creativity.webp",xB="secure-sld-best-creativity.webp",yB=107270,bB="image/webp",vB="2026-08-10T10:55:10Z",wB={version:hB,asset_id:mB,project_id:pB,url:fB,r2_key:gB,original_filename:xB,size:yB,content_type:bB,created_at:vB},jB=1,NB="d0e870d9-9ce4-4b5d-8058-9eb2405435a8",kB="006d986f-0954-4925-b449-48b863ced425",CB="/__l5e/assets-v1/d0e870d9-9ce4-4b5d-8058-9eb2405435a8/secure-sld-best-presentation.webp",SB="a/v1/006d986f-0954-4925-b449-48b863ced425/d0e870d9-9ce4-4b5d-8058-9eb2405435a8/secure-sld-best-presentation.webp",EB="secure-sld-best-presentation.webp",_B=101820,TB="image/webp",AB="2026-08-10T10:55:17Z",PB={version:jB,asset_id:NB,project_id:kB,url:CB,r2_key:SB,original_filename:EB,size:_B,content_type:TB,created_at:AB},RB=1,DB="5e267a79-46d2-4c44-8e7c-006a7d211923",IB="006d986f-0954-4925-b449-48b863ced425",OB="/__l5e/assets-v1/5e267a79-46d2-4c44-8e7c-006a7d211923/secure-sld-best-innovation.webp",MB="a/v1/006d986f-0954-4925-b449-48b863ced425/5e267a79-46d2-4c44-8e7c-006a7d211923/secure-sld-best-innovation.webp",LB="secure-sld-best-innovation.webp",$B=93840,UB="image/webp",BB="2026-08-10T10:55:13Z",FB={version:RB,asset_id:DB,project_id:IB,url:OB,r2_key:MB,original_filename:LB,size:$B,content_type:UB,created_at:BB},zB=1,WB="3f7452ba-2061-45df-b76d-2b05963d2aae",GB="006d986f-0954-4925-b449-48b863ced425",HB="/__l5e/assets-v1/3f7452ba-2061-45df-b76d-2b05963d2aae/secure-sld-best-collaboration.webp",VB="a/v1/006d986f-0954-4925-b449-48b863ced425/3f7452ba-2061-45df-b76d-2b05963d2aae/secure-sld-best-collaboration.webp",qB="secure-sld-best-collaboration.webp",KB=106878,YB="image/webp",JB="2026-08-10T10:55:06Z",QB={version:zB,asset_id:WB,project_id:GB,url:HB,r2_key:VB,original_filename:qB,size:KB,content_type:YB,created_at:JB},XB=["St. Coleman's National School, Mucklagh","Marymount National School, Thomastown","St. Mary's National School, Thomastown","St. Patrick's National School, Clogh"],ZB=[{src:c$.url,alt:"Pupils presenting their classroom cybersecurity work during the SECURE student showcase"},{src:$j.url,alt:"A facilitator discussing cybersecurity activities with pupils at the SECURE showcase"},{src:b$.url,alt:"Attendees listening during the SECURE student showcase at UCD"}],ky=[{src:Lj.url,alt:"Pupils building a structure together during the SECURE hands-on activity carousel"},{src:T$.url,alt:"Two pupils examining a tablet during a SECURE cyber activity"},{src:U$.url,alt:"A facilitator showing pupils a robotics kit at the SECURE Shared Learning Day"},{src:Y$.url,alt:"A teacher exploring STEAM materials with pupils during the activity carousel"},{src:aU.url,alt:"Two pupils working together on a laptop during a cyber activity"},{src:fU.url,alt:"A pupil proudly holding up models he built during the SECURE activities"},{src:CU.url,alt:"A teacher supporting two pupils working on a laptop task"},{src:OU.url,alt:"Two pupils laughing while building with bricks during a SECURE activity"},{src:HU.url,alt:"Two pupils smiling as they complete a laptop-based cyber challenge"},{src:tB.url,alt:"Pupils concentrating on a group task in the UCD learning centre"},{src:uB.url,alt:"A facilitator guiding a table of pupils during the Shared Learning Day activities"}],e9=[{icon:yd,title:"Best Creativity",school:"Marymount National School, The Rower, Thomastown",image:wB.url},{icon:_p,title:"Best Presentation",school:"St. Patrick's National School, Clogh",image:PB.url}
535,{icon:Bt,title:"Best Innovation",school:"St. Coleman's National School, Mucklagh",image:FB.url},{icon:mE,title:"Best Collaboration",school:"St Mary's National School, Thomastown",image:QB.url}],t9=["Dr Rachel Farrell, UCD Centre for Cyber Resilience Education","Marelle Rice, Ubuntu Research Fellow","Dr Rosie Carroll, Cyberwise Postdoctoral Researcher","Darragh McSweeney, National Cyber Security Centre","Alicja Bobek, National Cyber Security Centre"],r9=()=>{const[e,t]=w.useState(),[r,s]=w.useState(0),a=w.useRef(sf({delay:4e3,stopOnInteraction:!1,stopOnMouseEnter:!0}));return w.useEffect(()=>{if(!e)return;s(e.selectedScrollSnap());const i=()=>s(e.selectedScrollSnap());return e.on("select",i),()=>{e.off("select",i)}},[e]),n.jsxs("div",{className:"min-h-screen",children:[n.jsx(Ue,{title:"SECURE Shared Learning Day 2026",description:"Pupils and teachers gathered at UCD for the SECURE Shared Learning Day 2026 to share classroom experiences, take part in cyber activities and celebrate primary cybersecurity education.",path:"/secure-shared-learning-day-2026",type:"article"}),n.jsx(se,{}),n.jsxs("section",{className:"relative py-20 lg:py-28 overflow-hidden",style:{background:"linear-gradient(135deg, hsl(192 60% 15%) 0%, hsl(195 55% 25%) 40%, hsl(200 60% 35%) 70%, hsl(195 50% 28%) 100%)"},children:[n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_top_right,_hsla(195,70%,50%,0.22)_0%,_transparent_60%)]"}),n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_bottom_left,_hsla(200,60%,40%,0.18)_0%,_transparent_55%)]"}),n.jsx("div",{className:"absolute top-0 left-0 right-0 h-40 bg-gradient-to-b from-cyan-300/25 via-cyan-400/5 to-transparent"}),n.jsx("div",{className:"container mx-auto px-4 lg:px-8 relative z-10",children:n.jsxs("div",{className:"text-center max-w-3xl mx-auto",children:[n.jsxs("div",{className:"inline-flex items-center gap-2 bg-cyan-300/10 border border-cyan-300/30 rounded-full px-4 py-1.5 mb-6",children:[n.jsx(Np,{className:"w-4 h-4 text-cyan-300"}),n.jsx("span",{className:"text-cyan-300 text-sm font-semibold",children:"Tuesday 9 June 2026 · UCD"})]}),n.jsx("h1",{className:"text-4xl md:text-5xl font-extrabold text-primary-foreground mt-2 mb-4",children:"SECURE Shared Learning Day 2026"}),n.jsx("p",{className:"text-cyan-300 font-semibold mb-6",children:"SECURE: Strengthening Education for Cybersecurity — Uniting Resilience and Expertise"}),n.jsx("p",{className:"text-cyan-50/80 text-lg leading-relaxed max-w-2xl mx-auto",children:"Shared Learning Day celebrates pupil voice, creativity and cybersecurity education."})]})})]}),n.jsx("section",{className:"bg-card py-16 lg:py-20",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsxs("div",{className:"max-w-4xl mx-auto",children:[n.jsx("p",{className:"text-muted-foreground text-lg leading-relaxed text-center mb-10",children:"Pupils and teachers gathered at University College Dublin to share their experiences of the SECURE initiative, take part in practical cyber activities, and celebrate their contribution to the development of cybersecurity education for primary schools."}),n.jsxs("figure",{className:"rounded-2xl overflow-hidden shadow-md mb-12",children:[n.jsx("img",{src:qp.url,alt:"Pupils, teachers and guests gathered in the O'Connor Centre for Learning at UCD for the SECURE Shared Learning Day",className:"w-full h-auto",loading:"eager",decoding:"async",width:1600,height:1067,fetchPriority:"high"}),n.jsx("figcaption",{className:"text-sm text-muted-foreground text-center py-3 px-4",children:"The SECURE Shared Learning Day in the O'Connor Centre for Learning, University College Dublin."})]}),n.jsxs("div",{className:"space-y-5 text-muted-foreground text-lg leading-relaxed",children:[n.jsx("p",{children:"On Tuesday 9 June 2026, pupils and teachers from four participating primary schools came together in the O'Connor Centre for Learning at University College Dublin for the SECURE Shared Learning Day."}),n.jsx("p",{children:"The event marked an important stage in SECURE: Strengthening Education for Cybersecurity – Uniting Resilience and Expertise, a two-year initiative led by the UCD Centre for Cyber Resilience Education at the UCD School of Education and funded through Research Ireland's Collaborative Alliances for Societal Challenges (COALESCE) programme."}),n.jsx("p",{children:"SECURE supports primary schools to build digital resilience and online security awareness. It also helps teachers develop the knowledge, confidence and practical approaches needed to teach cybersecurity in an age-appropriate and classroom-friendly way. The programme has adapted themes from the existing Cyberwise Junior Cycle Cybersecurity short course through a collaborative process involving teachers, educationalists and industry partners."})]})]})})}),n.jsx("section",{className:"py-16 lg:py-20",style:{background:"linear-gradient(135deg, hsl(192 60% 13%) 0%, hsl(196 55% 20%) 60%, hsl(200 55% 24%) 100%)"},children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsxs("div",{className:"max-w-4xl mx-auto",children:[n.jsx("h2",{className:"text-3xl font-extrabold text-primary-foreground mb-6 text-center",children:"Representing the SECURE learning journey"}),n.jsx("p",{className:"text-cyan-50/80 text-lg leading-relaxed text-center mb-10",children:"Over the course of the project, SECURE brought together 30 schools, hundreds of pupils, teachers, researchers and industry partners to co-design and trial approaches to cybersecurity education in Irish primary schools."}),n.jsx("div",{className:"grid sm:grid-cols-2 gap-4 mb-10",children:XB.map(i=>n.jsxs("div",{className:"flex items-start gap-3 bg-[hsl(192_60%_11%)] rounded-2xl p-5 border border-cyan-300/20",children:[n.jsx(ex,{className:"w-5 h-5 text-cyan-300 shrink-0 mt-0.5"}),n.jsx("span",{className:"text-primary-foreground font-semibold",children:i})]},i))}),n.jsx("p",{className:"text-cyan-50/70 leading-relaxed text-center",children:"These schools represented the wider community of teachers and pupils who had tested activities, shared classroom experiences and helped the project team understand how cybersecurity learning could be made meaningful, accessible and useful for primary pupils."})]})})}),n.jsx("section",{className:"bg-card py-16 lg:py-20",children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsxs("div",{className:"max-w-4xl mx-auto 
535space-y-12",children:[n.jsxs("div",{children:[n.jsx("h2",{className:"text-3xl font-extrabold text-foreground mb-6",children:"Welcoming pupils and teachers to UCD"}),n.jsxs("div",{className:"space-y-5 text-muted-foreground text-lg leading-relaxed",children:[n.jsx("p",{children:"The day opened with an introduction and overview from Dr Rachel Farrell, Director of the UCD Centre for Cyber Resilience Education."}),n.jsx("p",{children:"Participants were then welcomed by Professor Joe Carthy, Professor of Computer Science and founding Director of the UCD Centre for Cybersecurity and Cybercrime Investigation. His contribution situated the pupils' classroom learning within the wider importance of cybersecurity for individuals, organisations and society."})]})]}),n.jsxs("div",{children:[n.jsx("h2",{className:"text-3xl font-extrabold text-foreground mb-6",children:"Learning directly from pupils"}),n.jsxs("div",{className:"space-y-5 text-muted-foreground text-lg leading-relaxed",children:[n.jsx("p",{children:"The student showcase and exhibition tour, facilitated by Marelle Rice, Ubuntu Research Fellow, placed pupils' experiences at the centre of the event."}),n.jsx("p",{children:"Pupils presented examples of the work completed in their schools and reflected on their experience of SECURE. They were encouraged to consider three questions: What surprised you? What was your favourite activity? What advice would you give another school?"}),n.jsx("p",{children:"These reflections gave pupils an opportunity to explain not only what they had learned, but how they had experienced the lessons and activities. Their responses also offered valuable feedback for the continued refinement of SECURE resources."})]}),n.jsxs("figure",{className:"mt-8",children:[n.jsx("div",{className:"grid md:grid-cols-3 gap-4",children:ZB.map(i=>n.jsx("div",{className:"rounded-2xl overflow-hidden shadow-md",children:n.jsx("img",{src:i.src,alt:i.alt,className:"w-full h-64 object-cover hover:scale-105 transition-transform duration-500",loading:"lazy",decoding:"async"})},i.src))}),n.jsx("figcaption",{className:"text-sm text-muted-foreground text-center mt-4",children:"Pupils share their classroom experiences and cybersecurity learning during the SECURE student showcase."})]})]})]})})}),n.jsx("section",{className:"py-16 lg:py-20",style:{background:"linear-gradient(135deg, hsl(192 60% 13%) 0%, hsl(196 55% 20%) 60%, hsl(200 55% 24%) 100%)"},children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsxs("div",{className:"max-w-4xl mx-auto",children:[n.jsx("h2",{className:"text-3xl font-extrabold text-primary-foreground mb-6 text-center",children:"Cybersecurity through play, investigation and problem-solving"}),n.jsxs("div",{className:"space-y-5 text-cyan-50/80 text-lg leading-relaxed",children:[n.jsx("p",{children:"Following the showcase, pupils took part in a carousel of hands-on cyber activities. Sessions included STEAM kits, a Crack the Code Escape Room, unplugged cyber games, LEGO League activities supported by Creative Hut and Cyber City Tycoon – Cyber Citizen, developed by Tuomas Heikkinen."}),n.jsx("p",{children:"The carousel gave pupils opportunities to collaborate, solve problems and apply cybersecurity ideas in different ways. Some activities involved technology and coding, while others demonstrated that cybersecurity learning can also take place through discussion, physical games, puzzles and creative challenges."}),n.jsx("p",{children:"This practical approach reflects the wider SECURE model. Schools can select and adapt lessons to suit their pupils, available classroom time and particular teaching context. Teachers do not need to be technology specialists; the programme provides guidance, draft learning materials and professional support."})]})]}),n.jsxs("figure",{className:"mt-10 max-w-5xl mx-auto",children:[n.jsxs(j1,{setApi:t,plugins:[a.current],opts:{loop:!0,align:"start"},className:"w-full",children:[n.jsx(N1,{className:"-ml-4",children:ky.map(i=>n.jsx(k1,{className:"pl-4 md:basis-1/2 lg:basis-1/3",children:n.jsx("div",{className:"rounded-2xl overflow-hidden shadow-md",children:n.jsx("img",{src:i.src,alt:i.alt,className:"w-full h-64 lg:h-72 object-cover hover:scale-105 transition-transform duration-500",loading:"lazy",decoding:"async"})})},i.src))}),n.jsx(C1,{className:"hidden sm:flex -left-4 lg:-left-12"}),n.jsx(S1,{className:"hidden sm:flex -right-4 lg:-right-12"})]}),n.jsx("div",{className:"flex justify-center gap-2 mt-6",children:ky.map((i,o)=>n.jsx("button",{type:"button","aria-label":`Go to slide ${o+1}`,onClick:()=>e==null?void 0:e.scrollTo(o),className:`h-2 rounded-full transition-all ${r===o?"w-6 bg-cyan-300":"w-2 bg-cyan-300/40 hover:bg-cyan-300/70"}`},i.src))}),n.jsx("figcaption",{className:"text-sm text-cyan-50/70 text-center mt-4",children:"Pupils explore cybersecurity through coding, games, puzzles, collaboration and practical problem-solving."})]})]})}),n.jsx("section",{className:"bg-card py-16 lg:py-20",children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8",children:[n.jsxs("div",{className:"max-w-4xl mx-auto mb-12",children:[n.jsx("h2",{className:"text-3xl font-extrabold text-foreground mb-6 text-center",children:"Celebrating contribution and achievement"}),n.jsxs("div",{className:"space-y-5 text-muted-foreground text-lg leading-relaxed",children:[n.jsx("p",{children:"The day concluded with a SECURE Celebration and Awards Ceremony, bringing together reflections on the project, the presentation of certificates and awards, and a look ahead to the next stage of SECURE."}),n.jsx("p",{children:"The ceremony was led by:"}),n.jsx("ul",{className:"space-y-2",children:t9.map(i=>n.jsxs("li",{className:"flex items-start gap-3",children:[n.jsx(Qe,{className:"w-5 h-5 text-primary shrink-0 mt-1"}),n.jsx("span",{children:i})]},i))}),n.jsx("p",{children:"All participating pupils and schools were recognised for helping to co-create the SECURE cybersecurity curriculum. Their classroom experiences and feedback have contributed to the development of resources intended to be practical, engaging and responsive to the realities of primary education."}),n.jsx("p",{children:"Additional awards celebrated four different dimensions of pupils' work:"})]})]}),n.jsx("div",{className:"grid md:grid-cols-2 gap-8 max-w-5xl mx-auto",children:e9.map(i=>n.jsxs("figure",{className:"rounded-2xl overflow-hidden border border-border shadow-md bg-background",children:[n.jsx("img",{src:i.image,alt:`${i.title} award winners: ${i.school}`,className:"w-full h-64 object-cover",loading:"lazy",decoding:"async"}),n.jsxs("figcaption",{className:"p-5",children:[n.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[n.jsx(i.icon,{className:"w-5 h-5 text-primary"}),n.jsx("h3",{className:"font-extrabold text-foreground",children:i.title})]}),n.jsx("p",{className:"text-muted-foreground",children:i.school})]})]},i.title))}),n.jsx("p",{className:"text-muted-foreground text-lg leading-relaxed max-w-4xl mx-auto mt-10 text-center",children:"The categories recognised that successful cybersecurity learning involves more than technical knowledge. It also requires imagination, communication, teamwork and the ability to apply ideas in new situations."})]})}),n.jsx("section",{className:"py-16 lg:py-20",style:{background:"linear-gradient(135deg, hsl(192 60% 13%) 0%, hsl(196 55% 20%) 60%, hsl(200 55% 24%) 100%)"},children:n.jsx("div",{className:"container mx-auto px-4 lg:px-8",children:n.jsxs("div",{className:"max-w-4xl mx-auto 
535space-y-12",children:[n.jsxs("div",{children:[n.jsx("h2",{className:"text-3xl font-extrabold text-primary-foreground mb-6",children:"Schools as partners in curriculum development"}),n.jsxs("div",{className:"space-y-5 text-cyan-50/80 text-lg leading-relaxed",children:[n.jsx("p",{children:"The Shared Learning Day reflected a central principle of SECURE: teachers and pupils should have a meaningful voice in the development of the learning resources intended for their classrooms."}),n.jsx("p",{children:"Participating teachers were invited to trial materials, adapt them to their circumstances and share honest feedback about what worked well and what needed improvement. SECURE also provided access to a professional learning community in which teachers could exchange ideas and learn from colleagues and visiting experts."}),n.jsx("p",{children:"By bringing participating schools together at UCD, the Shared Learning Day allowed this work to be shared and celebrated. It also demonstrated the value of treating pupils and teachers not simply as recipients of a curriculum, but as knowledgeable partners in its creation."})]})]}),n.jsxs("div",{children:[n.jsx("h2",{className:"text-3xl font-extrabold text-primary-foreground mb-6",children:"Looking ahead"}),n.jsxs("div",{className:"space-y-5 text-cyan-50/80 text-lg leading-relaxed",children:[n.jsx("p",{children:"The learning gathered through classroom trials, teacher feedback, pupil reflections and the Shared Learning Day will inform the ongoing refinement of the SECURE materials."}),n.jsx("p",{children:"The project's longer-term aim is to support primary pupils in developing the awareness, confidence and practical habits needed to navigate digital life more securely. It also seeks to ensure that primary teachers have access to clear, adaptable resources and an appropriate network of professional support."})]})]}),n.jsxs("div",{className:"bg-[hsl(192_60%_11%)] rounded-2xl p-8 border border-cyan-300/20",children:[n.jsx("h2",{className:"text-2xl font-extrabold text-primary-foreground mb-4",children:"Thank you"}),n.jsxs("div",{className:"space-y-4 text-cyan-50/80 leading-relaxed",children:[n.jsx("p",{children:"The SECURE team extends its thanks to the pupils, teachers, principals and school communities who participated in the project."}),n.jsx("p",{children:"We also thank Professor Joe Carthy, Darragh McSweeney from the National Cyber Security Centre, Rob McHugh from Creative Hut, and all project colleagues, partners and supporters who contributed to the Shared Learning Day."}),n.jsx("p",{children:"Most importantly, we thank the participating teachers and pupils whose questions, ideas and classroom experiences have helped shape the development of SECURE."})]})]})]})})}),n.jsx("section",{className:"py-16",style:{background:"linear-gradient(135deg, hsl(192 60% 15%) 0%, hsl(200 60% 30%) 100%)"},children:n.jsxs("div",{className:"container mx-auto px-4 lg:px-8 text-center",children:[n.jsx("h2",{className:"text-2xl font-extrabold text-primary-foreground mb-4",children:"Explore More"}),n.jsxs("div",{className:"flex flex-wrap justify-center gap-4",children:[n.jsxs("a",{href:"/secure",className:"inline-flex items-center gap-2 bg-cyan-400 text-gray-900 font-bold px-6 py-3 rounded-xl hover:bg-cyan-300 transition-colors",children:[n.jsx(ex,{className:"w-5 h-5"})," About SECURE"]}),n.jsxs("a",{href:"/projects",className:"inline-flex items-center gap-2 border border-cyan-300/40 text-cyan-300 font-bold px-6 py-3 rounded-xl hover:bg-cyan-300/10 transition-colors",children:[n.jsx(pe,{className:"w-5 h-5"})," View All Projects"]})]})]})}),n.jsx(st,{}),n.jsx(ae,{})]})},n9=()=>{const e=fp();return w.useEffect(()=>{console.error("404 Error: User attempted to access non-existent route:",e.pathname)},[e.pathname]),n.jsx("div",{className:"flex min-h-screen items-center justify-center bg-muted",children:n.jsxs("div",{className:"text-center",children:[n.jsx("h1",{className:"mb-4 text-4xl font-bold",children:"404"}),n.jsx("p",{className:"mb-4 text-xl text-muted-foreground",children:"Oops! Page not found"}),n.jsx("a",{href:"/",className:"text-primary underline hover:text-primary/90",children:"Return to Home"})]})})},s9=()=>{const[e,t]=w.useState(!1);w.useEffect(()=>{if(!localStorage.getItem("cyberwise-cookie-consent")){const i=setTimeout(()=>t(!0),1200);return()=>clearTimeout(i)}},[]);const r=()=>{localStorage.setItem("cyberwise-cookie-consent","accepted"),t(!1)},s=()=>{localStorage.setItem("cyberwise-cookie-consent","declined"),t(!1)};return e?n.jsx("div",{className:"fixed bottom-0 left-0 right-0 z-[100] p-4 md:p-6 animate-fade-up",children:n.jsx("div",{className:"container mx-auto max-w-4xl",children:n.jsxs("div",{className:"bg-card border border-border rounded-2xl shadow-2xl p-5 md:p-6 flex flex-col md:flex-row items-start md:items-center gap-4",children:[n.jsxs("div",{className:"flex items-start gap-3 flex-1",children:[n.jsx("div",{className:"p-2 rounded-xl bg-primary/10 text-primary shrink-0 mt-0.5",children:n.jsx(xt,{className:"w-5 h-5"})}),n.jsxs("div",{children:[n.jsx("p",{className:"text-sm font-semibold text-foreground mb-1",children:"We value your privacy"}),n.jsxs("p",{className:"text-xs text-muted-foreground leading-relaxed",children:['We use essential cookies to ensure our website functions properly. We do not use tracking or advertising cookies. By clicking "Accept", you consent to our use of cookies.'," ",n.jsx("a",{href:"/contact-us",className:"underline hover:text-foreground transition-colors",children:"Learn more"})]})]})]}),n.jsxs("div",{className:"flex items-center gap-2 shrink-0 w-full md:w-auto",children:[n.jsx(L,{variant:"outline",size:"sm",onClick:s,className:"flex-1 md:flex-none text-xs",children:"Decline"}),n.jsx(L,{variant:"hero",size:"sm",onClick:r,className:"flex-1 md:flex-none text-xs",children:"Accept"})]})]})})}):null};var a9="Label",E1=w.forwardRef((e,t)=>
535n.jsx($e.label,{...e,ref:t,onMouseDown:r=>{var a;r.target.closest("button, input, select, textarea")||((a=e.onMouseDown)==null||a.call(e,r),!r.defaultPrevented&&r.detail>1&&r.preventDefault())}}));E1.displayName=a9;var _1=E1;const i9=wp("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),gm=w.forwardRef(({className:e,...t},r)=>n.jsx(_1,{ref:r,className:xe(i9(),e),...t}));gm.displayName=_1.displayName;const o9=()=>{const[e,t]=w.useState(""),[r,s]=w.useState(""),[a,i]=w.useState(!1),o=p0(),{toast:l}=k0(),c=async d=>{d.preventDefault(),i(!0);const{error:u}=await hs.auth.signInWithPassword({email:e,password:r});u?l({title:"Login failed",description:u.message,variant:"destructive"}):o("/admin"),i(!1)};return n.jsxs("div",{className:"min-h-screen flex flex-col",children:[n.jsx(se,{}),n.jsx("div",{className:"flex-1 bg-navy-deep flex items-center justify-center px-4 py-16",children:n.jsxs("div",{className:"w-full max-w-md",children:[n.jsxs("div",{className:"text-center mb-8",children:[n.jsx("div",{className:"w-16 h-16 bg-blue-mid/20 rounded-2xl flex items-center justify-center mx-auto mb-4",children:n.jsx(fo,{className:"w-8 h-8 text-blue-sky"})}),n.jsx("h1",{className:"text-2xl font-extrabold text-primary-foreground",children:"Admin Login"}),n.jsx("p",{className:"text-blue-ice/60 text-sm mt-1",children:"Sign in to view contact submissions"})]}),n.jsxs("form",{onSubmit:c,className:"bg-card rounded-2xl p-8 border border-border space-y-5",children:[n.jsxs("div",{className:"space-y-2",children:[n.jsx(gm,{htmlFor:"email",children:"Email"}),n.jsxs("div",{className:"relative",children:[n.jsx(ow,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-muted-foreground"}),n.jsx(Ka,{id:"email",type:"email",placeholder:"[email protected]",value:e,onChange:d=>t(d.target.value),className:"pl-10",required:!0})]})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(gm,{htmlFor:"password",children:"Password"}),n.jsxs("div",{className:"relative",children:[n.jsx(fo,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-muted-foreground"}),n.jsx(Ka,{id:"password",type:"password",placeholder:"••••••••",value:r,onChange:d=>s(d.target.value),className:"pl-10",required:!0})]})]}),n.jsx(L,{type:"submit",className:"w-full",disabled:a,children:a?"Signing in...":"Sign In"})]}),n.jsx("p",{className:"text-center mt-6",children:n.jsx("a",{href:"/",className:"text-blue-sky text-sm hover:underline",children:"← Back to site"})})]})}),n.jsx(ae,{})]})};var T1="AlertDialog",[l9,LF]=ei(T1,[Qj]),hn=Qj(),A1=e=>{const{__scopeAlertDialog:t,...r}=e,s=hn(t);return n.jsx(m1,{...s,...r,modal:!0})};A1.displayName=T1;var c9="AlertDialogTrigger",P1=w.forwardRef((e,t)=>{const{__scopeAlertDialog:r,...s}=e,a=hn(r);return n.jsx(p1,{...a,...s,ref:t})});P1.displayName=c9;var d9="AlertDialogPortal",R1=e=>{const{__scopeAlertDialog:t,...r}=e,s=hn(t);return n.jsx(f1,{...s,...r})};R1.displayName=d9;var u9="AlertDialogOverlay",D1=w.forwardRef((e,t)=>{const{__scopeAlertDialog:r,...s}=e,a=hn(r);return n.jsx(Zp,{...a,...s,ref:t})});D1.displayName=u9;var Aa="AlertDialogContent",[h9,m9]=l9(Aa),p9=E0("AlertDialogContent"),I1=w.forwardRef((e,t)=>{const{__scopeAlertDialog:r,children:s,...a}=e,i=hn(r),o=w.useRef(null),l=nt(t,o),c=w.useRef(null);return n.jsx(VM,{contentName:Aa,titleName:O1,docsSlug:"alert-dialog",children:n.jsx(h9,{scope:r,cancelRef:c,children:n.jsxs(ef,{role:"alertdialog",...i,...a,ref:l,onOpenAutoFocus:Ce(a.onOpenAutoFocus,d=>{var u;d.preventDefault(),(u=c.current)==null||u.focus({preventScroll:!0})}),onPointerDownOutside:d=>d.preventDefault(),onInteractOutside:d=>d.preventDefault(),children:[n.jsx(p9,{children:s}),n.jsx(g9,{contentRef:o})]})})})});I1.displayName=Aa;var O1="AlertDialogTitle",M1=w.forwardRef((e,t)=>{const{__scopeAlertDialog:r,...s}=e,a=hn(r);return n.jsx(tf,{...a,...s,ref:t})});M1.displayName=O1;var L1="AlertDialogDescription",$1=w.forwardRef((e,t)=>{const{__scopeAlertDialog:r,...s}=e,a=hn(r);return n.jsx(rf,{...a,...s,ref:t})});$1.displayName=L1;var f9="AlertDialogAction",U1=w.forwardRef((e,t)=>
535{const{__scopeAlertDialog:r,...s}=e,a=hn(r);return n.jsx(nf,{...a,...s,ref:t})});U1.displayName=f9;var B1="AlertDialogCancel",F1=w.forwardRef((e,t)=>{const{__scopeAlertDialog:r,...s}=e,{cancelRef:a}=m9(B1,r),i=hn(r),o=nt(t,a);return n.jsx(nf,{...i,...s,ref:o})});F1.displayName=B1;var g9=({contentRef:e})=>{const t=`\`${Aa}\` requires a description for the component to be accessible for screen reader users.
536
537You can add a description to the \`${Aa}\` by passing a \`${L1}\` component as a child, which also benefits sighted users by adding visible context to the dialog.
538
539Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${Aa}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component.
540
541For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;return w.useEffect(()=>{var s;document.getElementById((s=e.current)==null?void 0:s.getAttribute("aria-describedby"))||console.warn(t)},[t,e]),null},x9=A1,y9=P1,b9=R1,z1=D1,W1=I1,G1=U1,H1=F1,V1=M1,q1=$1;const v9=x9,w9=y9,j9=b9,K1=w.forwardRef(({className:e,...t},r)=>n.jsx(z1,{className:xe("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t,ref:r}));K1.displayName=z1.displayName;const Y1=w.forwardRef(({className:e,...t},r)=>n.jsxs(j9,{children:[n.jsx(K1,{}),n.jsx(W1,{ref:r,className:xe("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...t})]}));Y1.displayName=W1.displayName;const J1=({className:e,...t})=>n.jsx("div",{className:xe("flex flex-col space-y-2 text-center sm:text-left",e),...t});J1.displayName="AlertDialogHeader";const Q1=({className:e,...t})=>n.jsx("div",{className:xe("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});Q1.displayName="AlertDialogFooter";const X1=w.forwardRef(({className:e,...t},r)=>n.jsx(V1,{ref:r,className:xe("text-lg font-semibold",e),...t}));X1.displayName=V1.displayName;const Z1=w.forwardRef(({className:e,...t},r)=>n.jsx(q1,{ref:r,className:xe("text-sm text-muted-foreground",e),...t}));Z1.displayName=q1.displayName;const eN=w.forwardRef(({className:e,...t},r)=>n.jsx(G1,{ref:r,className:xe(Fp(),e),...t}));eN.displayName=G1.displayName;const tN=w.forwardRef(({className:e,...t},r)=>n.jsx(H1,{ref:r,className:xe(Fp({variant:"outline"}),"mt-2 sm:mt-0",e),...t}));tN.displayName=H1.displayName;function kr(e){const t=Object.prototype.toString.call(e);return e instanceof Date||typeof e=="object"&&t==="[object Date]"?new e.constructor(+e):typeof e=="number"||t==="[object Number]"||typeof e=="string"||t==="[object String]"?new Date(e):new Date(NaN)}function Ms(e,t){return e instanceof Date?new e.constructor(t):new Date(t)}const rN=6048e5,N9=864e5;let k9={};function Dd(){return k9}function Do(e,t){var l,c,d,u;const r=Dd(),s=(t==null?void 0:t.weekStartsOn)??((c=(l=t==null?void 0:t.locale)==null?void 0:l.options)==null?void 0:c.weekStartsOn)??r.weekStartsOn??((u=(d=r.locale)==null?void 0:d.options)==null?void 0:u.weekStartsOn)??0,a=kr(e),i=a.getDay(),o=(i<s?7:0)+i-s;return a.setDate(a.getDate()-o),a.setHours(0,0,0,0),a}function Fc(e){return Do(e,{weekStartsOn:1})}function nN(e){const t=kr(e),r=t.getFullYear(),s=Ms(e,0);s.setFullYear(r+1,0,4),s.setHours(0,0,0,0);const a=Fc(s),i=Ms(e,0);i.setFullYear(r,0,4),i.setHours(0,0,0,0);const o=Fc(i);return t.getTime()>=a.getTime()?r+1:t.getTime()>=o.getTime()?r:r-1}function Cy(e){const t=kr(e);return t.setHours(0,0,0,0),t}function Sy(e){const t=kr(e),r=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return r.setUTCFullYear(t.getFullYear()),+e-+r}function C9(e,t){const r=Cy(e),s=Cy(t),a=+r-Sy(r),i=+s-Sy(s);return Math.round((a-i)/N9)}function S9(e){const t=nN(e),r=Ms(e,0);return r.setFullYear(t,0,4),r.setHours(0,0,0,0),Fc(r)}function E9(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}
vendor: 18,317 bytes, line 541
541function _9(e){if(!E9(e)&&typeof e!="number")return!1;const t=kr(e);return!isNaN(Number(t))}function T9(e){const t=kr(e),r=Ms(e,0);return r.setFullYear(t.getFullYear(),0,1),r.setHours(0,0,0,0),r}const A9={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},P9=(e,t,r)=>{let s;const a=A9[e];return typeof a=="string"?s=a:t===1?s=a.one:s=a.other.replace("{{count}}",t.toString()),r!=null&&r.addSuffix?r.comparison&&r.comparison>0?"in "+s:s+" ago":s};function Lu(e){return(t={})=>{const r=t.width?String(t.width):e.defaultWidth;return e.formats[r]||e.formats[e.defaultWidth]}}const R9={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},D9={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},I9={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},O9={date:Lu({formats:R9,defaultWidth:"full"}),time:Lu({formats:D9,defaultWidth:"full"}),dateTime:Lu({formats:I9,defaultWidth:"full"})},M9={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},L9=(e,t,r,s)=>M9[e];function Ni(e){return(t,r)=>{const s=r!=null&&r.context?String(r.context):"standalone";let a;if(s==="formatting"&&e.formattingValues){const o=e.defaultFormattingWidth||e.defaultWidth,l=r!=null&&r.width?String(r.width):o;a=e.formattingValues[l]||e.formattingValues[o]}else{const o=e.defaultWidth,l=r!=null&&r.width?String(r.width):e.defaultWidth;a=e.values[l]||e.values[o]}const i=e.argumentCallback?e.argumentCallback(t):t;return a[i]}}const $9={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},U9={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},B9={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},F9={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},z9={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},W9={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},G9=(e,t)=>{const r=Number(e),s=r%100;if(s>20||s<10)switch(s%10){case 1:return r+"st";case 2:return r+"nd";case 3:return r+"rd"}return r+"th"},H9={ordinalNumber:G9,era:Ni({values:$9,defaultWidth:"wide"}),quarter:Ni({values:U9,defaultWidth:"wide",argumentCallback:e=>e-1}),month:Ni({values:B9,defaultWidth:"wide"}),day:Ni({values:F9,defaultWidth:"wide"}),dayPeriod:Ni({values:z9,defaultWidth:"wide",formattingValues:W9,defaultFormattingWidth:"wide"})};function ki(e){return(t,r={})=>{const s=r.width,a=s&&e.matchPatterns[s]||e.matchPatterns[e.defaultMatchWidth],i=t.match(a);if(!i)return null;const o=i[0],l=s&&e.parsePatterns[s]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(l)?q9(l,h=>h.test(o)):V9(l,h=>h.test(o));let d;d=e.valueCallback?e.valueCallback(c):c,d=r.valueCallback?r.valueCallback(d):d;const u=t.slice(o.length);return{value:d,rest:u}}}function V9(e,t){for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&t(e[r]))return r}function q9(e,t){for(let r=0;r<e.length;r++)if(t(e[r]))return r}function K9(e){return(t,r={})=>{const s=t.match(e.matchPattern);if(!s)return null;const a=s[0],i=t.match(e.parsePattern);if(!i)return null;let o=e.valueCallback?e.valueCallback(i[0]):i[0];o=r.valueCallback?r.valueCallback(o):o;const l=t.slice(a.length);return{value:o,rest:l}}}const Y9=/^(\d+)(th|st|nd|rd)?/i,J9=/\d+/i,Q9={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},X9={any:[/^b/i,/^(a|c)/i]},Z9={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},eF={any:[/1/i,/2/i,/3/i,/4/i]},tF={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},rF={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},nF={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},sF={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},aF={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},iF={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},oF={ordinalNumber:K9({matchPattern:Y9,parsePattern:J9,valueCallback:e=>parseInt(e,10)}),era:ki({matchPatterns:Q9,defaultMatchWidth:"wide",parsePatterns:X9,defaultParseWidth:"any"}),quarter:ki({matchPatterns:Z9,defaultMatchWidth:"wide",parsePatterns:eF,defaultParseWidth:"any",valueCallback:e=>e+1}),month:ki({matchPatterns:tF,defaultMatchWidth:"wide",parsePatterns:rF,defaultParseWidth:"any"}),day:ki({matchPatterns:nF,defaultMatchWidth:"wide",parsePatterns:sF,defaultParseWidth:"any"}),dayPeriod:ki({matchPatterns:aF,defaultMatchWidth:"any",parsePatterns:iF,defaultParseWidth:"any"})},lF={code:"en-US",formatDistance:P9,formatLong:O9,formatRelative:L9,localize:H9,match:oF,options:{weekStartsOn:0,firstWeekContainsDate:1}};function cF(e){const t=kr(e);return C9(t,T9(t))+1}function dF(e){const t=kr(e),r=+Fc(t)-+S9(t);return Math.round(r/rN)+1}function sN(e,t){var u,h,m,p;const r=kr(e),s=r.getFullYear(),a=Dd(),i=(t==null?void 0:t.firstWeekContainsDate)??((h=(u=t==null?void 0:t.locale)==null?void 0:u.options)==null?void 0:h.firstWeekContainsDate)??a.firstWeekContainsDate??((p=(m=a.locale)==null?void 0:m.options)==null?void 0:p.firstWeekContainsDate)??1,o=Ms(e,0);o.setFullYear(s+1,0,i),o.setHours(0,0,0,0);const l=Do(o,t),c=Ms(e,0);c.setFullYear(s,0,i),c.setHours(0,0,0,0);const d=Do(c,t);return r.getTime()>=l.getTime()?s+1:r.getTime()>=d.getTime()?s:s-1}function uF(e,t){var l,c,d,u;const r=Dd(),s=(t==null?void 0:t.firstWeekContainsDate)??((c=(l=t==null?void 0:t.locale)==null?void 0:l.options)==null?void 0:c.firstWeekContainsDate)??r.firstWeekContainsDate??((u=(d=r.locale)==null?void 0:d.options)==null?void 0:u.firstWeekContainsDate)??1,a=sN(e,t),i=Ms(e,0);return i.setFullYear(a,0,s),i.setHours(0,0,0,0),Do(i,t)}function hF(e,t){const r=kr(e),s=+Do(r,t)-+uF(r,t);return Math.round(s/rN)+1}function fe(e,t){const r=e<0?"-":"",s=Math.abs(e).toString().padStart(t,"0");return r+s}const wn={y(e,t){const r=e.getFullYear(),s=r>0?r:1-r;return fe(t==="yy"?s%100:s,t.length)},M(e,t){const r=e.getMonth();return t==="M"?String(r+1):fe(r+1,2)},d(e,t){return fe(e.getDate(),t.length)},a(e,t){const r=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return r.toUpperCase();case"aaa":return r;case"aaaaa":return r[0];case"aaaa":default:return r==="am"?"a.m.":"p.m."}},h(e,t){return fe(e.getHours()%12||12,t.length)},H(e,t){return fe(e.getHours(),t.length)},m(e,t){return fe(e.getMinutes(),t.length)},s(e,t){return fe(e.getSeconds(),t.length)},S(e,t){const r=t.length,s=e.getMilliseconds(),a=Math.trunc(s*Math.pow(10,r-3));return fe(a,t.length)}},ea={am:"am",pm:"pm",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},Ey={G:function(e,t,r){const s=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return r.era(s,{width:"abbreviated"});case"GGGGG":return r.era(s,{width:"narrow"});case"GGGG":default:return r.era(s,{width:"wide"})}},y:function(e,t,r){if(t==="yo"){const s=e.getFullYear(),a=s>0?s:1-s;return r.ordinalNumber(a,{unit:"year"})}return wn.y(e,t)},Y:function(e,t,r,s){const a=sN(e,s),i=a>0?a:1-a;if(t==="YY"){const o=i%100;return fe(o,2)}return t==="Yo"?r.ordinalNumber(i,{unit:"year"}):fe(i,t.length)},R:function(e,t){const r=nN(e);return fe(r,t.length)},u:function(e,t){const r=e.getFullYear();return fe(r,t.length)},Q:function(e,t,r){const s=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(s);case"QQ":return fe(s,2);case"Qo":return r.ordinalNumber(s,{unit:"quarter"});case"QQQ":return r.quarter(s,{width:"abbreviated",context:"formatting"});case"QQQQQ":return r.quarter(s,{width:"narrow",context:"formatting"});case"QQQQ":default:return r.quarter(s,{width:"wide",context:"formatting"})}},q:function(e,t,r){const s=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(s);case"qq":return fe(s,2);case"qo":return r.ordinalNumber(s,{unit:"quarter"});case"qqq":return r.quarter(s,{width:"abbreviated",context:"standalone"});case"qqqqq":return r.quarter(s,{width:"narrow",context:"standalone"});case"qqqq":default:return r.quarter(s,{width:"wide",context:"standalone"})}},M:function(e,t,r){const s=e.getMonth();switch(t){case"M":case"MM":return wn.M(e,t);case"Mo":return r.ordinalNumber(s+1,{unit:"month"});case"MMM":return r.month(s,{width:"abbreviated",context:"formatting"});case"MMMMM":return r.month(s,{width:"narrow",context:"formatting"});case"MMMM":default:return r.month(s,{width:"wide",context:"formatting"})}},L:function(e,t,r){const s=e.getMonth();switch(t){case"L":return String(s+1);case"LL":return fe(s+1,2);case"Lo":return r.ordinalNumber(s+1,{unit:"month"});case"LLL":return r.month(s,{width:"abbreviated",context:"standalone"});case"LLLLL":return r.month(s,{width:"narrow",context:"standalone"});case"LLLL":default:return r.month(s,{width:"wide",context:"standalone"})}},w:function(e,t,r,s){const a=hF(e,s);return t==="wo"?r.ordinalNumber(a,{unit:"week"}):fe(a,t.length)},I:function(e,t,r){const s=dF(e);return t==="Io"?r.ordinalNumber(s,{unit:"week"}):fe(s,t.length)},d:function(e,t,r){return t==="do"?r.ordinalNumber(e.getDate(),{unit:"date"}):wn.d(e,t)},D:function(e,t,r){const s=cF(e);return t==="Do"?r.ordinalNumber(s,{unit:"dayOfYear"}):fe(s,t.length)},E:function(e,t,r){const s=e.getDay();switch(t){case"E":case"EE":case"EEE":return r.day(s,{width:"abbreviated",context:"formatting"});case"EEEEE":return r.day(s,{width:"narrow",context:"formatting"});case"EEEEEE":return r.day(s,{width:"short",context:"formatting"});case"EEEE":default:return r.day(s,{width:"wide",context:"formatting"})}},e:function(e,t,r,s){const a=e.getDay(),i=(a-s.weekStartsOn+8)%7||7;switch(t){case"e":return String(i);case"ee":return fe(i,2);case"eo":return r.ordinalNumber(i,{unit:"day"});case"eee":return r.day(a,{width:"abbreviated",context:"formatting"});case"eeeee":return r.day(a,{width:"narrow",context:"formatting"});case"eeeeee":return r.day(a,{width:"short",context:"formatting"});case"eeee":default:return r.day(a,{width:"wide",context:"formatting"})}},c:function(e,t,r,s){const a=e.getDay(),i=(a-s.weekStartsOn+8)%7||7;switch(t){case"c":return String(i);case"cc":return fe(i,t.length);case"co":return r.ordinalNumber(i,{unit:"day"});case"ccc":return r.day(a,{width:"abbreviated",context:"standalone"});case"ccccc":return r.day(a,{width:"narrow",context:"standalone"});case"cccccc":return r.day(a,{width:"short",context:"standalone"});case"cccc":default:return r.day(a,{width:"wide",context:"standalone"})}},i:function(e,t,r){const s=e.getDay(),a=s===0?7:s;switch(t){case"i":return String(a);case"ii":return fe(a,t.length);case"io":return r.ordinalNumber(a,{unit:"day"});case"iii":return r.day(s,{width:"abbreviated",context:"formatting"});case"iiiii":return r.day(s,{width:"narrow",context:"formatting"});case"iiiiii":return r.day(s,{width:"short",context:"formatting"});case"iiii":default:return r.day(s,{width:"wide",context:"formatting"})}},a:function(e,t,r){const a=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return r.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"aaa":return r.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return r.dayPeriod(a,{width:"narrow",context:"formatting"});case"aaaa":default:return r.dayPeriod(a,{width:"wide",context:"formatting"})}},b:function(e,t,r){const s=e.getHours();let a;switch(s===12?a=ea.noon:s===0?a=ea.midnight:a=s/12>=1?"pm":"am",t){case"b":case"bb":return r.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"bbb":return r.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return r.dayPeriod(a,{width:"narrow",context:"formatting"});case"bbbb":default:return r.dayPeriod(a,{width:"wide",context:"formatting"})}},B:function(e,t,r){const s=e.getHours();let a;switch(s>=17?a=ea.evening:s>=12?a=ea.afternoon:s>=4?a=ea.morning:a=ea.night,t){case"B":case"BB":case"BBB":return r.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"BBBBB":return r.dayPeriod(a,{width:"narrow",context:"formatting"});case"BBBB":default:return r.dayPeriod(a,{width:"wide",context:"formatting"})}},h:function(e,t,r){if(t==="ho"){let s=e.getHours()%12;return s===0&&(s=12),r.ordinalNumber(s,{unit:"hour"})}return wn.h(e,t)},H:function(e,t,r){return t==="Ho"?r.ordinalNumber(e.getHours(),{unit:"hour"}):wn.H(e,t)},K:function(e,t,r){const s=e.getHours()%12;return t==="Ko"?r.ordinalNumber(s,{unit:"hour"}):fe(s,t.length)},k:function(e,t,r){let s=e.getHours();return s===0&&(s=24),t==="ko"?r.ordinalNumber(s,{unit:"hour"}):fe(s,t.length)},m:function(e,t,r){return t==="mo"?r.ordinalNumber(e.getMinutes(),{unit:"minute"}):wn.m(e,t)},s:function(e,t,r){return t==="so"?r.ordinalNumber(e.getSeconds(),{unit:"second"}):wn.s(e,t)},S:function(e,t){return wn.S(e,t)},X:function(e,t,r){const s=e.getTimezoneOffset();if(s===0)return"Z";switch(t){case"X":return Ty(s);case"XXXX":case"XX":return ds(s);case"XXXXX":case"XXX":default:return ds(s,":")}},x:function(e,t,r){const s=e.getTimezoneOffset();switch(t){case"x":return Ty(s);case"xxxx":case"xx":return ds(s);case"xxxxx":case"xxx":default:return ds(s,":")}},O:function(e,t,r){const s=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+_y(s,":");case"OOOO":default:return"GMT"+ds(s,":")}},z:function(e,t,r){const s=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+_y(s,":");case"zzzz":default:return"GMT"+ds(s,":")}},t:function(e,t,r){const s=Math.trunc(e.getTime()/1e3);return fe(s,t.length)},T:function(e,t,r){const s=e.getTime();return fe(s,t.length)}};function _y(e,t=""){const r=e>0?"-":"+",s=Math.abs(e),a=Math.trunc(s/60),i=s%60;return i===0?r+String(a):r+String(a)+t+fe(i,2)}function Ty(e,t){return e%60===0?(e>0?"-":"+")+fe(Math.abs(e)/60,2):ds(e,t)}function ds(e,t=""){const r=e>0?"-":"+",s=Math.abs(e),a=fe(Math.trunc(s/60),2),i=fe(s%60,2);return r+a+t+i}const Ay=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});case"PPPP":default:return t.date({width:"full"})}},aN=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});case"pppp":default:return t.time({width:"full"})}},mF=(e,t)=>{const r=e.match(/(P+)(p+)?/)||[],s=r[1],a=r[2];if(!a)return Ay(e,t);let i;switch(s){case"P":i=t.dateTime({width:"short"});break;case"PP":i=t.dateTime({width:"medium"});break;case"PPP":i=t.dateTime({width:"long"});break;case"PPPP":default:i=t.dateTime({width:"full"});break}return i.replace("{{date}}",Ay(s,t)).replace("{{time}}",aN(a,t))},pF={p:aN,P:mF},fF=/^D+$/,gF=/^Y+$/,xF=["D","DD","YY","YYYY"];function yF(e){return fF.test(e)}function bF(e){return gF.test(e)}function vF(e,t,r){const s=wF(e,t,r);if(console.warn(s),xF.includes(e))throw new RangeError(s)}function wF(e,t,r){const s=e[0]==="Y"?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${s} to the input \`${r}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const jF=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,NF=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,kF=/^'([^]*?)'?$/,CF=/''/g,SF=/[a-zA-Z]/;function $u(e,t,r){var u,h,m,p;const s=Dd(),a=s.locale??lF,i=s.firstWeekContainsDate??((h=(u=s.locale)==null?void 0:u.options)==null?void 0:h.firstWeekContainsDate)??1,o=s.weekStartsOn??((p=(m=s.locale)==null?void 0:m.options)==null?void 0:p.weekStartsOn)??0,l=kr(e);if(!_9(l))throw new RangeError("Invalid time value");let c=t.match(NF).map(y=>{const f=y[0];if(f==="p"||f==="P"){const v=pF[f];return v(y,a.formatLong)}return y}).join("").match(jF).map(y=>{if(y==="''")return{isToken:!1,value:"'"};const f=y[0];if(f==="'")return{isToken:!1,value:EF(y)};if(Ey[f])return{isToken:!0,value:y};
541if(f.match(SF))throw new RangeError("Format string contains an unescaped latin alphabet character `"+f+"`");return{isToken:!1,value:y}});a.localize.preprocessor&&(c=a.localize.preprocessor(l,c));const d={firstWeekContainsDate:i,weekStartsOn:o,locale:a};return c.map(y=>{if(!y.isToken)return y.value;const f=y.value;(bF(f)||yF(f))&&vF(f,t,String(e));const v=Ey[f[0]];return v(l,f,a.localize,d)}).join("")}function EF(e){const t=e.match(kF);return t?t[1].replace(CF,"'"):e}const _F=()=>{const[e,t]=w.useState([]),[r,s]=w.useState(!0),[a,i]=w.useState(null),o=p0(),l=async()=>{s(!0);const{data:u,error:h}=await hs.from("contact_submissions").select("*").order("created_at",{ascending:!1});h?console.error(h):t(u||[]),s(!1)};w.useEffect(()=>{hs.auth.onAuthStateChange((u,h)=>{h||o("/admin/login")}),hs.auth.getSession().then(({data:{session:u}})=>{u?l():o("/admin/login")})},[o]);const c=async()=>{await hs.auth.signOut(),o("/admin/login")},d=async u=>{const{error:h}=await hs.from("contact_submissions").delete().eq("id",u);if(h){Wg.error("Failed to delete submission"),console.error(h);return}Wg.success("Submission deleted"),t(m=>m.filter(p=>p.id!==u)),i(m=>(m==null?void 0:m.id)===u?null:m)};return n.jsxs("div",{className:"min-h-screen bg-background",children:[n.jsx("header",{className:"bg-navy-deep border-b border-border",children:n.jsxs("div",{className:"container mx-auto px-4 py-4 flex items-center justify-between",children:[n.jsxs("div",{children:[n.jsx("h1",{className:"text-xl font-extrabold text-primary-foreground",children:"Admin Dashboard"}),n.jsx("p",{className:"text-blue-ice/60 text-sm",children:"Contact form submissions"})]}),n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsxs(L,{variant:"ghost",size:"sm",onClick:l,className:"text-blue-ice/80 hover:text-primary-foreground",children:[n.jsx(jE,{className:"w-4 h-4 mr-1"})," Refresh"]}),n.jsxs(L,{variant:"ghost",size:"sm",onClick:c,className:"text-blue-ice/80 hover:text-primary-foreground",children:[n.jsx(gE,{className:"w-4 h-4 mr-1"})," Sign Out"]})]})]})}),n.jsxs("div",{className:"container mx-auto px-4 py-8",children:[n.jsxs("div",{className:"grid sm:grid-cols-3 gap-4 mb-8",children:[n.jsxs("div",{className:"bg-card rounded-xl p-5 border border-border",children:[n.jsx("p",{className:"text-muted-foreground text-sm",children:"Total Submissions"}),n.jsx("p",{className:"text-3xl font-extrabold text-foreground",children:e.length})]}),n.jsxs("div",{className:"bg-card rounded-xl p-5 border border-border",children:[n.jsx("p",{className:"text-muted-foreground text-sm",children:"This Month"}),n.jsx("p",{className:"text-3xl font-extrabold text-foreground",children:e.filter(u=>{const h=new Date(u.created_at),m=new Date;return h.getMonth()===m.getMonth()&&h.getFullYear()===m.getFullYear()}).length})]}),n.jsxs("div",{className:"bg-card rounded-xl p-5 border border-border",children:[n.jsx("p",{className:"text-muted-foreground text-sm",children:"Latest"}),n.jsx("p",{className:"text-lg font-bold text-foreground",children:e[0]?$u(new Date(e[0].created_at),"dd MMM yyyy"):"—"})]})]}),r?n.jsx("div",{className:"text-center py-16 text-muted-foreground",children:"Loading submissions..."}):e.length===0?n.jsx("div",{className:"text-center py-16 text-muted-foreground",children:"No submissions yet."}):n.jsxs("div",{className:"grid lg:grid-cols-[1fr_1.2fr] gap-6",children:[n.jsx("div",{className:"space-y-2 max-h-[70vh] overflow-y-auto pr-2",children:e.map(u=>n.jsx("button",{onClick:()=>i(u),className:`w-full text-left p-4 rounded-xl border transition-all ${(a==null?void 0:a.id)===u.id?"bg-blue-mid/10 border-blue-mid":"bg-card border-border hover:border-blue-mid/40"}`,children:n.jsxs("div",{className:"flex items-start justify-between gap-2",children:[n.jsxs("div",{className:"min-w-0",children:[n.jsx("p",{className:"font-bold text-foreground text-sm truncate",children:u.name}),n.jsx("p",{className:"text-muted-foreground text-xs truncate",children:u.subject})]}),n.jsxs("span",{className:"text-muted-foreground text-xs whitespace-nowrap flex items-center gap-1",children:[n.jsx(cE,{className:"w-3 h-3"}),$u(new Date(u.created_at),"dd/MM/yy")]})]})},u.id))}),n.jsx("div",{className:"bg-card rounded-2xl border border-border p-6",children:a?n.jsxs("div",{className:"space-y-5",children:[n.jsxs("div",{className:"flex items-start justify-between gap-3",children:[n.jsxs("div",{children:[n.jsx("h2",{className:"text-xl font-extrabold text-foreground",children:a.subject}),n.jsx("p",{className:"text-muted-foreground text-sm mt-1",children:$u(new Date(a.created_at),"dd MMMM yyyy 'at' HH:mm")}
541)]}),n.jsxs(v9,{children:[n.jsx(w9,{asChild:!0,children:n.jsxs(L,{variant:"ghost",size:"sm",className:"text-destructive hover:text-destructive hover:bg-destructive/10",children:[n.jsx(CE,{className:"w-4 h-4 mr-1"})," Delete"]})}),n.jsxs(Y1,{children:[n.jsxs(J1,{children:[n.jsx(X1,{children:"Delete this submission?"}),n.jsxs(Z1,{children:["This will permanently remove the message from ",a.name,". This action cannot be undone."]})]}),n.jsxs(Q1,{children:[n.jsx(tN,{children:"Cancel"}),n.jsx(eN,{onClick:()=>d(a.id),className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Delete"})]})]})]})]}),n.jsxs("div",{className:"flex items-center gap-3 bg-blue-ice rounded-xl p-4",children:[n.jsx("div",{className:"w-10 h-10 bg-blue-mid/20 rounded-full flex items-center justify-center",children:n.jsx(ow,{className:"w-5 h-5 text-blue-mid"})}),n.jsxs("div",{children:[n.jsx("p",{className:"font-bold text-foreground text-sm",children:a.name}),n.jsx("a",{href:`mailto:${a.email}`,className:"text-blue-mid text-sm hover:underline",children:a.email})]})]}),n.jsxs("div",{children:[n.jsx("h3",{className:"text-sm font-bold text-foreground mb-2",children:"Message"}),n.jsx("p",{className:"text-muted-foreground leading-relaxed whitespace-pre-wrap",children:a.message})]})]}):n.jsx("div",{className:"flex items-center justify-center h-64 text-muted-foreground",children:"Select a submission to view details"})})]})]})]})},TF=new rC,AF=()=>n.jsx(N0,{children:n.jsx(sC,{client:TF,children:n.jsxs(YT,{children:[n.jsx(l_,{}),n.jsx(a4,{}),n.jsx(QC,{children:n.jsxs(KC,{children:[n.jsx(te,{path:"/",element:n.jsx(PA,{})}),n.jsx(te,{path:"/about-us",element:n.jsx(KA,{})}),n.jsx(te,{path:"/curriculum",element:n.jsx(eP,{})}),n.jsx(te,{path:"/projects",element:n.jsx(OP,{})}),n.jsx(te,{path:"/publications",element:n.jsx(LP,{})}),n.jsx(te,{path:"/contact-us",element:n.jsx(LR,{})}),n.jsx(te,{path:"/adventures-in-cyberland-awards",element:n.jsx(WR,{})}),n.jsx(te,{path:"/adventures-in-cyberland-awards-2024",element:n.jsx(a6,{})}),n.jsx(te,{path:"/medals-and-award-winning-projects-2025",element:n.jsx(OD,{})}),n.jsx(te,{path:"/primary-schools",element:n.jsx(g6,{})}
541),n.jsx(te,{path:"/junior-cycle-short-course",element:n.jsx(C6,{})}),n.jsx(te,{path:"/lca-cybersecurity",element:n.jsx(_6,{})}),n.jsx(te,{path:"/teachers",element:n.jsx($6,{})}),n.jsx(te,{path:"/specification",element:n.jsx(z6,{})}),n.jsx(te,{path:"/junior-cycle-short-course-background",element:n.jsx(H6,{})}),n.jsx(te,{path:"/case-studies",element:n.jsx(q6,{})}),n.jsx(te,{path:"/what-is-social-engineering",element:n.jsx(Q6,{})}),n.jsx(te,{path:"/data-is-the-new-oil",element:n.jsx(nD,{})}),n.jsx(te,{path:"/you-are-the-product",element:n.jsx(oD,{})}),n.jsx(te,{path:"/black-hats-and-white-hats-careers-in-cyber-security",element:n.jsx(uD,{})}),n.jsx(te,{path:"/aired",element:n.jsx(UD,{})}),n.jsx(te,{path:"/secure",element:n.jsx(m8,{})}),n.jsx(te,{path:"/busting-gender-bias",element:n.jsx(g8,{})}),n.jsx(te,{path:"/busting-gender-bias-background",element:n.jsx(w8,{})}),n.jsx(te,{path:"/busting-gender-bias-resources",element:n.jsx(k8,{})}),n.jsx(te,{path:"/busting-gender-bias-books",element:n.jsx(O8,{})}),n.jsx(te,{path:"/busting-gender-bias-multimedia",element:n.jsx(M8,{})}),n.jsx(te,{path:"/busting-gender-bias-gender-bias",element:n.jsx(L8,{})}),n.jsx(te,{path:"/busting-gender-bias-p4c",element:n.jsx(U8,{})}),n.jsx(te,{path:"/cyber-citizens",element:n.jsx(G8,{})}),n.jsx(te,{path:"/shared-island",element:n.jsx(tI,{})}),n.jsx(te,{path:"/shared-island-resources",element:n.jsx(sI,{})}),n.jsx(te,{path:"/shared-learning-day",element:n.jsx(hI,{})}),n.jsx(te,{path:"/digi-stories",element:n.jsx(gI,{})}),n.jsx(te,{path:"/first-lego-league",element:n.jsx(EI,{})}),n.jsx(te,{path:"/challenge-based-learning-day",element:n.jsx(BI,{})}),n.jsx(te,{path:"/xr-learn-2035",element:n.jsx(zO,{})}),n.jsx(te,{path:"/digi-pair-edu",element:n.jsx(HO,{})}),n.jsx(te,{path:"/explore-ixr",element:n.jsx(gL,{})}),n.jsx(te,{path:"/secure-shared-learning-day-2026",element:n.jsx(r9,{})}),n.jsx(te,{path:"/admin/login",element:n.jsx(o9,{})}),n.jsx(te,{path:"/admin",element:n.jsx(_F,{})}),n.jsx(te,{path:"*",element:n.jsx(n9,{})})]})}),n.jsx(s9,{})]})})});Xv(document.getElementById("root")).render(n.jsx(AF,{}));

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.