1import{c as ge,g as mt,r as a,j as e,d as ve,B as ye,C as Ue,e as He,H as pt,N as ht,A as fe,L as Te,E as me,F as gt,f as xt,s as Le}from"./index-B6Gxx4GM.js";import{u as Ae}from"./useQuery-C3bj8Vn9.js";import{T as bt,a as wt,b as yt,c as pe}from"./tabs-Dv6UNch4.js";import{g as vt,p as jt,A as Nt,a as kt,T as Et,G as ze,v as St,s as Pt,b as Tt}from"./pdf-Dfq0OXlv.js";import{i as w}from"./tiny-invariant-CopsF_GD.js";import{t as Lt}from"./tangem-app-nfc-DisfKdDx.js";import{k as Ct,M as Rt}from"./keystone-device-front-X64CPXUJ.js";import{S as Dt}from"./smartphone-7z9Z5e1g.js";import{S as Y}from"./shield-BvZyt2MO.js";import{W as De}from"./wallet-DcgYbH98.js";import{T as At}from"./trophy-BeU6TDl8.js";import{L as $e}from"./lock-BYo2PHsP.js";import{T as _t}from"./trending-up-C04KynPD.js";import{C as Ft}from"./code-CqAj_r_8.js";import{G as Mt}from"./globe-BVfVwjpU.js";import{L as It}from"./lightbulb-CmKjx1dG.js";import{V as Ot}from"./video-BRXHZy3R.js";import{P as Wt}from"./presentation-wzORg6Qy.js";import{P as Bt}from"./play-BgZt54d5.js";/** 2 * @license lucide-react v0.462.0 - ISC 3 * 4 * This source code is licensed under the ISC license. 5 * See the LICENSE file in the root directory of this source tree. 6 */const Gt=ge("FileCode",[["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z",key:"1mlx9k"}]]);/** 7 * @license lucide-react v0.462.0 - ISC 8 * 9 * This source code is licensed under the ISC license. 10 * See the LICENSE file in the root directory of this source tree. 11 */const Vt=ge("Grid3x3",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M3 15h18",key:"5xshup"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"M15 3v18",key:"14nvp0"}]]);/** 12 * @license lucide-react v0.462.0 - ISC 13 * 14 * This source code is licensed under the ISC license. 15 * See the LICENSE file in the root directory of this source tree. 16 */const Ut=ge("Hammer",[["path",{d:"m15 12-8.373 8.373a1 1 0 1 1-3-3L12 9",key:"eefl8a"}],["path",{d:"m18 15 4-4",key:"16gjal"}],["path",{d:"m21.5 11.5-1.914-1.914A2 2 0 0 1 19 8.172V7l-2.26-2.26a6 6 0 0 0-4.202-1.756L9 2.96l.92.82A6.18 6.18 0 0 1 12 8.4V10l2 2h1.172a2 2 0 0 1 1.414.586L18.5 14.5",key:"b7pghm"}]]);/** 17 * @license lucide-react v0.462.0 - ISC 18 * 19 * This source code is licensed under the ISC license. 20 * See the LICENSE file in the root directory of this source tree. 21 */const Ht=ge("ZoomIn",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"11",x2:"11",y1:"8",y2:"14",key:"1vmskp"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]]);/** 22 * @license lucide-react v0.462.0 - ISC 23 * 24 * This source code is licensed under the ISC license. 25 * See the LICENSE file in the root directory of this source tree. 26 */const zt=ge("ZoomOut",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]]);var _e=Object.prototype.hasOwnProperty;function Fe(t,n,r){for(r of t.keys())if(te(r,n))return r}function te(t,n){var r,s,i;if(t===n)return!0;if(t&&n&&(r=t.constructor)===n.constructor){if(r===Date)return t.getTime()===n.getTime();if(r===RegExp)return t.toString()===n.toString();if(r===Array){if((s=t.length)===n.length)for(;s--&&te(t[s],n[s]););return s===-1}if(r===Set){if(t.size!==n.size)return!1;for(s of t)if(i=s,i&&typeof i=="object"&&(i=Fe(n,i),!i)||!n.has(i))return!1;return!0}if(r===Map){if(t.size!==n.size)return!1;for(s of t)if(i=s[0],i&&typeof i=="object"&&(i=Fe(n,i),!i)||!te(s[1],n.get(i)))return!1;return!0}if(r===ArrayBuffer)t=new Uint8Array(t),n=new Uint8Array(n);else if(r===DataView){if((s=t.byteLength)===n.byteLength)for(;s--&&t.getInt8(s)===n.getInt8(s););return s===-1}if(ArrayBuffer.isView(t)){if((s=t.byteLength)===n.byteLength)for(;s--&&t[s]===n[s];);return s===-1}if(!r||typeof t=="object"){s=0;for(r in t)if(_e.call(t,r)&&++s&&!_e.call(n,r)||!(r in n)||!te(t[r],n[r]))return!1;return Object.keys(n).length===s}}return t!==t&&n!==n}function xe(t){let n=!1;return{promise:new Promise((s,i)=>{t.then(c=>!n&&s(c)).catch(c=>!n&&i(c))}),cancel(){n=!0}}}const $t=["onCopy","onCut","onPaste"],qt=["onCompositionEnd","onCompositionStart","onCompositionUpdate"],Xt=["onFocus","onBlur"],Jt=["onInput","onInvalid","onReset","onSubmit"],Yt=["onLoad","onError"],Kt=["onKeyDown","onKeyPress","onKeyUp"],Zt=["onAbort","onCanPlay","onCanPlayThrough","onDurationChange","onEmptied","onEncrypted","onEnded","onError","onLoadedData","onLoadedMetadata","onLoadStart","onPause","onPlay","onPlaying","onProgress","onRateChange","onSeeked","onSeeking","onStalled","onSuspend","onTimeUpdate","onVolumeChange","onWaiting"],Qt=["onClick","onContextMenu","onDoubleClick","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","onMouseUp"],en=["onDrag","onDragEnd","onDragEnter","onDragExit","onDragLeave","onDragOver","onDragStart","onDrop"],tn=["onSelect"],nn=["onTouchCancel","onTouchEnd","onTouchMove","onTouchStart"],rn=["onPointerDown","onPointerMove","onPointerUp","onPointerCancel","onGotPointerCapture","onLostPointerCapture","onPointerEnter","onPointerLeave","onPointerOver","onPointerOut"],sn=["onScroll"],on=["onWheel"],an=["onAnimationStart","onAnimationEnd","onAnimationIteration"],ln=["onTransitionEnd"],cn=["onToggle"],dn=["onCh
26ange"],un=[...$t,...qt,...Xt,...Jt,...Yt,...Kt,...Zt,...Qt,...en,...tn,...nn,...rn,...sn,...on,...an,...ln,...dn,...cn];function qe(t,n){const r={};for(const s of un){const i=t[s];i&&(n?r[s]=c=>i(c,n(s)):r[s]=i)}return r}var fn=function(){},mn=fn;const O=mt(mn),Xe=a.createContext(null),pn="noopener noreferrer nofollow";class hn{constructor(){this.externalLinkEnabled=!0,this.externalLinkRel=void 0,this.externalLinkTarget=void 0,this.isInPresentationMode=!1,this.pdfDocument=void 0,this.pdfViewer=void 0}setDocument(n){this.pdfDocument=n}setViewer(n){this.pdfViewer=n}setExternalLinkRel(n){this.externalLinkRel=n}setExternalLinkTarget(n){this.externalLinkTarget=n}setHash(){}setHistory(){}get pagesCount(){return this.pdfDocument?this.pdfDocument.numPages:0}get page(){return w(this.pdfViewer),this.pdfViewer.currentPageNumber||0}set page(n){w(this.pdfViewer),this.pdfViewer.currentPageNumber=n}get rotation(){return 0}set rotation(n){}addLinkAttributes(n,r,s){n.href=r,n.rel=this.externalLinkRel||pn,n.target=s?"_blank":this.externalLinkTarget||""}goToDestination(n){return new Promise(r=>{w(this.pdfDocument),w(n),typeof n=="string"?this.pdfDocument.getDestination(n).then(r):Array.isArray(n)?r(n):n.then(r)}).then(r=>{w(Array.isArray(r));const s=r[0];new Promise(i=>{w(this.pdfDocument),s instanceof Object?this.pdfDocument.getPageIndex(s).then(c=>{i(c)}).catch(()=>{w(!1)}):typeof s=="number"?i(s):w(!1)}).then(i=>{const c=i+1;w(this.pdfViewer),w(c>=1&&c<=this.pagesCount),this.pdfViewer.scrollPageIntoView({dest:r,pageIndex:i,pageNumber:c})})})}goToPage(n){const r=n-1;w(this.pdfViewer),w(n>=1&&n<=this.pagesCount),this.pdfViewer.scrollPageIntoView({pageIndex:r,pageNumber:n})}goToXY(){}cachePageRef(){}getDestinationHash(){return"#"}getAnchorUrl(){return"#"}executeNamedAction(){}executeSetOCGState(){}isPageVisible(){return!0}isPageCached(){return!0}navigateTo(n){this.goToDestination(n)}}function ne({children:t,type:n}){return e.jsx("div",{className:`react-pdf__message react-pdf__message--${n}`,children:t})}const Me={NEED_PASSWORD:1,INCORRECT_PASSWORD:2};function gn(t,n){switch(n.type){case"RESOLVE":return{value:n.value,error:void 0};case"REJECT":return{value:!1,error:n.error};case"RESET":return{value:void 0,error:void 0};default:return t}}function re(){return a.useReducer(gn,{value:void 0,error:void 0})}const je=typeof window<"u",Je=je&&window.location.protocol==="file:";function xn(t){return typeof t<"u"}function J(t){return xn(t)&&t!==null}function bn(t){return typeof t=="string"}function wn(t){return t instanceof ArrayBuffer}function yn(t){return w(je),t instanceof Blob}function Ce(t){return bn(t)&&/^data:/.test(t)}function Ie(t){w(Ce(t));const[n="",r=""]=t.split(",");return n.split(";").indexOf("base64")!==-1?atob(r):unescape(r)}function vn(){return je&&window.devicePixelRatio||1}const Ye="On Chromium based browsers, you can use --allow-file-access-from-files flag for debugging purposes.";function Oe(){O(!Je,`Loading PDF as base64 strings/URLs may not work on protocols other than HTTP/HTTPS. ${Ye}`)}function jn(){O(!Je,`Loading PDF.js worker may not work on protocols other than HTTP/HTTPS. ${Ye}`)}function K(t){t!=null&&t.cancel&&t.cancel()}function Re(t,n){return Object.defineProperty(t,"width",{get(){return this.view[2]*n},configurable:!0}),Object.defineProperty(t,"height",{get(){return this.view[3]*n},configurable:!0}),Object.defineProperty(t,"originalWidth",{get(){return this.view[2]},configurable:!0}),Object.defineProperty(t,"originalHeight",{get(){return this.view[3]},configurable:!0}),t}function Nn(t){return t.name==="RenderingCancelledException"}function kn(t){return new Promise((n,r)=>{const s=new FileReader;s.onload=()=>{if(!s.result)return r(new Error("Error while reading a file."));n(s.result)},s.onerror=i=>{if(!i.target)return r(new Error("Error while reading a file."));const{error:c}=i.target;if(!c)return r(new Error("Error while reading a file."));switch(c.code){case c.NOT_FOUND_ERR:return r(new Error("Error while reading a file: File not found."));case c.SECURITY_ERR:return r(new Error("Error while reading a file: Security error."));case c.ABORT_ERR:return r(new Error("Error while reading a file: Aborted."));default:return r(new Error("Error while reading a file."))}},s.readAsArrayBuffer(t)})}const{PDFDataRangeTransport:En}=jt,Sn=(t,n)=>{switch(n){case Me.NEED_PASSWORD:{const r=prompt("Enter the password to open this PDF file.");t(r);break}case Me.INCORRECT_PASSWORD:{const r=prompt("Invalid password. Please try again.");t(r);break}}};function We(t){return typeof t=="object"&&t!==null&&("data"in t||"range"in t||"url"in t)}const Pn=a.forwardRef(function({children:n,className:r,error:s="Failed to load PDF file.",externalLinkRel:i,externalLinkTarget:c,file:l,inputRef:m,imageResourcesPath:u,loading:p="Loading PDFâ¦",noData:v="No PDF file specified.",onItemClick:y,onLoadError:h,onLoadProgress:g,onLoadSuccess:P,onPassword:o=Sn,onSourceError:f,onSourceSuccess:b,options:d,renderMode:A,rotate:L,scale:j,...W},N){const[k,E]=re(),{value:S,error:_}=k,[H,B]=re(),{value:R,error:G}=H,M=a.useRef(new hn),I=a.useRef([]),V=a.useRef(void 0),q=a.useRef(void 0);l&&l!==V.current&&We(l)&&(O(!te(l,V.current),`File prop passed to <Document /> changed, but it's equal to previous one. This might result in unnecessary reloads. Consider memoizing the value passed to "file" prop.`),V.current=l),d&&d!==q.current&&(O(!te(d,q.current),`Options prop passed to <Document /> changed, but it's equal to previous one. This might result in unnecessary reloads. Consider memoizing the value passed to "options" prop.`),q.current=d);const se=a.useRef({scrollPageIntoView:x=>{const{dest:T,pageNumber:D,pageIndex:F=D-1}=x;if(y){y({dest:T,pageIndex:F,pageNumber:D});return}const Q=I.current[F];if(Q){Q.scrollIntoView();return}O(!1,`An internal link leading to page ${D} was clicked, but neither <Document> was provided with onItemClick nor it was able to find the page within itself. Either provide onItemClick to <Document>
26 and handle navigating by yourself or ensure that all pages are rendered within <Document>.`)}});a.useImperativeHandle(N,()=>({linkService:M,pages:I,viewer:se}),[]);function Ee(){b&&b()}function oe(){_&&(O(!1,_.toString()),f&&f(_))}function ie(){E({type:"RESET"})}a.useEffect(ie,[l,E]);const X=a.useCallback(async()=>{if(!l)return null;if(typeof l=="string")return Ce(l)?{data:Ie(l)}:(Oe(),{url:l});if(l instanceof En)return{range:l};if(wn(l))return{data:l};if(je&&yn(l))return{data:await kn(l)};if(w(typeof l=="object"),w(We(l)),"url"in l&&typeof l.url=="string"){if(Ce(l.url)){const{url:x,...T}=l;return{data:Ie(x),...T}}Oe()}return l},[l]);a.useEffect(()=>{const x=xe(X());return x.promise.then(T=>{E({type:"RESOLVE",value:T})}).catch(T=>{E({type:"REJECT",error:T})}),()=>{K(x)}},[X,E]),a.useEffect(()=>{if(!(typeof S>"u")){if(S===!1){oe();return}Ee()}},[S]);function ae(){R&&(P&&P(R),I.current=new Array(R.numPages),M.current.setDocument(R))}function Z(){G&&(O(!1,G.toString()),h&&h(G))}a.useEffect(function(){B({type:"RESET"})},[B,S]),a.useEffect(function(){if(!S)return;const T=d?{...S,...d}:S,D=vt(T);g&&(D.onProgress=g),o&&(D.onPassword=o);const F=D,Q=F.promise.then(ue=>{B({type:"RESOLVE",value:ue})}).catch(ue=>{F.destroyed||B({type:"REJECT",error:ue})});return()=>{Q.finally(()=>F.destroy())}},[d,B,S]),a.useEffect(()=>{if(!(typeof R>"u")){if(R===!1){Z();return}ae()}},[R]),a.useEffect(function(){M.current.setViewer(se.current),M.current.setExternalLinkRel(i),M.current.setExternalLinkTarget(c)},[i,c]);const le=a.useCallback((x,T)=>{I.current[x]=T},[]),be=a.useCallback(x=>{delete I.current[x]},[]),U=a.useMemo(()=>({imageResourcesPath:u,linkService:M.current,onItemClick:y,pdf:R,registerPage:le,renderMode:A,rotate:L,scale:j,unregisterPage:be}),[u,y,R,le,A,L,j,be]),C=a.useMemo(()=>qe(W,()=>R),[W,R]);function ce(){function x(D){return!!(D!=null&&D.pdf)}if(!x(U))throw new Error("pdf is undefined");const T=typeof n=="function"?n(U):n;return e.jsx(Xe.Provider,{value:U,children:T})}function de(){return l?R==null?e.jsx(ne,{type:"loading",children:typeof p=="function"?p():p}):R===!1?e.jsx(ne,{type:"error",children:typeof s=="function"?s():s}):ce():e.jsx(ne,{type:"no-data",children:typeof v=="function"?v():v})}return e.jsx("div",{className:ve("react-pdf__Document",r),ref:m,...C,children:de()})});function Ke(){return a.useContext(Xe)}function Ze(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var r=t.filter(Boolean);if(r.length<=1){var s=r[0];return s||null}return function(c){for(var l=0,m=r;l<m.length;l++){var u=m[l];typeof u=="function"?u(c):u&&(u.current=c)}}}const Qe=a.createContext(null);function Ne(){return a.useContext(Qe)}function Tn(){const t=Ke(),n=Ne();w(n);const r={...t,...n},{imageResourcesPath:s,linkService:i,onGetAnnotationsError:c,onGetAnnotationsSuccess:l,onRenderAnnotationLayerError:m,onRenderAnnotationLayerSuccess:u,page:p,pdf:v,renderForms:y,rotate:h,scale:g=1}=r;w(v),w(p),w(i);const[P,o]=re(),{value:f,error:b}=P,d=a.useRef(null);O(Number.parseInt(window.getComputedStyle(document.body).getPropertyValue("--react-pdf-annotation-layer"),10)===1,"AnnotationLayer styles not found. Read more: https://github.com/wojtekmaj/react-pdf#support-for-annotations");function A(){f&&l&&l(f)}function L(){b&&(O(!1,b.toString()),c&&c(b))}a.useEffect(function(){o({type:"RESET"})},[o,p]),a.useEffect(function(){if(!p)return;const E=xe(p.getAnnotations()),S=E;return E.promise.then(_=>{o({type:"RESOLVE",value:_})}).catch(_=>{o({type:"REJECT",error:_})}),()=>{K(S)}},[o,p]),a.useEffect(()=>{if(f!==void 0){if(f===!1){L();return}A()}},[f]);function j(){u&&u()}function W(k){O(!1,`${k}`),m&&m(k)}const N=a.useMemo(()=>p.getViewport({scale:g,rotation:h}),[p,h,g]);return a.useEffect(function(){if(!v||!p||!i||!f)return;const{current:E}=d;if(!E)return;const S=N.clone({dontFlip:!0}),_={accessibilityManager:null,annotationCanvasMap:null,annotationEditorUIManager:null,annotationStorage:v.annotationStorage,commentManager:null,div:E,l10n:null,linkService:i,page:p,structTreeLayer:null,viewport:S},H={annotations:f,annotationStorage:v.annotationStorage,div:E,imageResourcesPath:s,linkService:i,page:p,renderForms:y,viewport:S};E.innerHTML="";try{new Nt(_).render(H),j()}catch(B){W(B)}return()=>{}},[f,s,i,p,v,y,N]),e.jsx("div",{className:ve("react-pdf__Page__annotations","annotationLayer"),ref:d})}const et={Document:null,DocumentFragment:null,Part:"group",Sect:"group",Div:"group",Aside:"note",NonStruct:"none",P
26:null,H:"heading",Title:null,FENote:"note",Sub:"group",Lbl:null,Span:null,Em:null,Strong:null,Link:"link",Annot:"note",Form:"form",Ruby:null,RB:null,RT:null,RP:null,Warichu:null,WT:null,WP:null,L:"list",LI:"listitem",LBody:null,Table:"table",TR:"row",TH:"columnheader",TD:"cell",THead:"columnheader",TBody:null,TFoot:null,Caption:null,Figure:"figure",Formula:null,Artifact:null},Ln=/^H(\d+)$/;function Cn(t){return t in et}function ke(t){return"children"in t}function tt(t){return ke(t)?t.children.length===1&&0 in t.children&&"id"in t.children[0]:!1}function Rn(t){const n={};if(ke(t)){const{role:r}=t,s=r.match(Ln);if(s)n.role="heading",n["aria-level"]=Number(s[1]);else if(Cn(r)){const i=et[r];i&&(n.role=i)}}return n}function nt(t){const n={};if(ke(t)){if(t.alt!==void 0&&(n["aria-label"]=t.alt),t.lang!==void 0&&(n.lang=t.lang),tt(t)){const[r]=t.children;if(r){const s=nt(r);return{...n,...s}}}}else"id"in t&&(n["aria-owns"]=t.id);return n}function Dn(t){return t?{...Rn(t),...nt(t)}:null}function rt({className:t,node:n}){const r=a.useMemo(()=>Dn(n),[n]),s=a.useMemo(()=>!ke(n)||tt(n)?null:n.children.map((i,c)=>e.jsx(rt,{node:i},c)),[n]);return e.jsx("span",{className:t,...r,children:s})}function An(){const t=Ne();w(t);const{onGetStructTreeError:n,onGetStructTreeSuccess:r}=t,[s,i]=re(),{value:c,error:l}=s,{customTextRenderer:m,page:u}=t;function p(){c&&r&&r(c)}function v(){l&&(O(!1,l.toString()),n&&n(l))}return a.useEffect(function(){i({type:"RESET"})},[i,u]),a.useEffect(function(){if(m||!u)return;const h=xe(u.getStructTree()),g=h;return h.promise.then(P=>{i({type:"RESOLVE",value:P})}).catch(P=>{i({type:"REJECT",error:P})}),()=>K(g)},[m,u,i]),a.useEffect(()=>{if(c!==void 0){if(c===!1){v();return}p()}},[c]),c?e.jsx(rt,{className:"react-pdf__Page__structTree structTree",node:c}):null}const Be=kt;function _n(t){const n=Ne();w(n);const r={...n,...t},{_className:s,canvasBackground:i,devicePixelRatio:c=vn(),onRenderError:l,onRenderSuccess:m,page:u,renderForms:p,renderTextLayer:v,rotate:y,scale:h}=r,{canvasRef:g}=t;w(u);const P=a.useRef(null);function o(){u&&m&&m(Re(u,h))}function f(L){Nn(L)||(O(!1,L.toString()),l&&l(L))}const b=a.useMemo(()=>u.getViewport({scale:h*c,rotation:y}),[c,u,y,h]),d=a.useMemo(()=>u.getViewport({scale:h,rotation:y}),[u,y,h]);a.useEffect(function(){if(!u)return;u.cleanup();const{current:j}=P;if(!j)return;j.width=b.width,j.height=b.height,j.style.width=`${Math.floor(d.width)}px`,j.style.height=`${Math.floor(d.height)}px`,j.style.visibility="hidden";const W={annotationMode:p?Be.ENABLE_FORMS:Be.ENABLE,canvas:j,canvasContext:j.getContext("2d",{alpha:!1}),viewport:b};i&&(W.background=i);const N=u.render(W),k=N;return N.promise.then(()=>{j.style.visibility="",o()}).catch(f),()=>K(k)},[i,u,p,b,d]);const A=a.useCallback(()=>{const{current:L}=P;L&&(L.width=0,L.height=0)},[]);return a.useEffect(()=>A,[A]),e.jsx("canvas",{className:`${s}__canvas`,dir:"ltr",ref:Ze(g,P),style:{display:"block",userSelect:"none"},children:v?e.jsx(An,{}):null})}function Fn(t){return"str"in t}function Mn(){const t=Ne();w(t);const{customTextRenderer:n,onGetTextError:r,onGetTextSuccess:s,onRenderTextLayerError:i,onRenderTextLayerSuccess:c,page:l,pageIndex:m,pageNumber:u,rotate:p,scale:v}=t;w(l);const[y,h]=re(),{value:g,error:P}=y,o=a.useRef(null);O(Number.parseInt(window.getComputedStyle(document.body).getPropertyValue("--react-pdf-text-layer"),10)===1,"TextLayer styles not found. Read more: https://github.com/wojtekmaj/react-pdf#support-for-text-layer");function f(){g&&s&&s(g)}function b(){P&&(O(!1,P.toString()),r&&r(P))}a.useEffect(function(){h({type:"RESET"})},[l,h]),a.useEffect(function(){if(!l)return;const k=xe(l.getTextContent()),E=k;return k.promise.then(S=>{h({type:"RESOLVE",value:S})}).catch(S=>{h({type:"REJECT",error:S})}),()=>K(E)},[l,h]),a.useEffect(()=>{if(g!==void 0){if(g===!1){b();return}f()}},[g]);const d=a.useCallback(()=>{c&&c()},[c]),A=a.useCallback(N=>{O(!1,N.toString()),i&&i(N)},[i]);function L(){const N=o.current;N&&N.classList.add("selecting")}function j(){const N=o.current;N&&N.classList.remove("selecting")}const W=a.useMemo(()=>l.getViewport({scale:v,rotation:p}),[l,p,v]);return a.useLayoutEffect(function(){if(!l||!g)return;const{current:k}=o;if(!k)return;k.innerHTML="";const E=l.streamTextContent({includeMarkedContent:!0}),S={container:k,textContentSource:E,viewport:W},_=new Et(S),H=_;return _.render().then(()=>{const B=document.createElement("div");B.className="endOfContent",k.append(B);const R=k.querySelectorAll('[role="presentation"]');if(n){let G=0;
26g.items.forEach((M,I)=>{if(!Fn(M))return;const V=R[G];if(!V)return;const q=n({pageIndex:m,pageNumber:u,itemIndex:I,...M});V.innerHTML=q,G+=M.str&&M.hasEOL?2:1})}d()}).catch(A),()=>K(H)},[n,A,d,l,m,u,g,W]),e.jsx("div",{className:ve("react-pdf__Page__textContent","textLayer"),onMouseUp:j,onMouseDown:L,ref:o})}const Ge=1;function In(t){const r={...Ke(),...t},{_className:s="react-pdf__Page",_enableRegisterUnregisterPage:i=!0,canvasBackground:c,canvasRef:l,children:m,className:u,customRenderer:p,customTextRenderer:v,devicePixelRatio:y,error:h="Failed to load the page.",height:g,inputRef:P,loading:o="Loading pageâ¦",noData:f="No page specified.",onGetAnnotationsError:b,onGetAnnotationsSuccess:d,onGetStructTreeError:A,onGetStructTreeSuccess:L,onGetTextError:j,onGetTextSuccess:W,onLoadError:N,onLoadSuccess:k,onRenderAnnotationLayerError:E,onRenderAnnotationLayerSuccess:S,onRenderError:_,onRenderSuccess:H,onRenderTextLayerError:B,onRenderTextLayerSuccess:R,pageIndex:G,pageNumber:M,pdf:I,registerPage:V,renderAnnotationLayer:q=!0,renderForms:se=!1,renderMode:Ee="canvas",renderTextLayer:oe=!0,rotate:ie,scale:X=Ge,unregisterPage:ae,width:Z,...le}=r,[be,U]=re(),{value:C,error:ce}=be,de=a.useRef(null);w(I);const x=J(M)?M-1:G??null,T=M??(J(G)?G+1:null),D=ie??(C?C.rotate:null),F=a.useMemo(()=>{if(!C)return null;let z=1;const ee=X??Ge;if(Z||g){const $=C.getViewport({scale:1,rotation:D});Z?z=Z/$.width:g&&(z=g/$.height)}return ee*z},[g,C,D,X,Z]);a.useEffect(function(){return()=>{J(x)&&i&&ae&&ae(x)}},[i,I,x,ae]);function Q(){if(k){if(!C||!F)return;k(Re(C,F))}if(i&&V){if(!J(x)||!de.current)return;V(x,de.current)}}function ue(){ce&&(O(!1,ce.toString()),N&&N(ce))}a.useEffect(function(){U({type:"RESET"})},[U,I,x]),a.useEffect(function(){if(!I||!T)return;const ee=xe(I.getPage(T)),$=ee;return ee.promise.then(Pe=>{U({type:"RESOLVE",value:Pe})}).catch(Pe=>{U({type:"REJECT",error:Pe})}),()=>K($)},[U,I,T]),a.useEffect(()=>{if(C!==void 0){if(C===!1){ue();return}Q()}},[C,F]);const Se=a.useMemo(()=>J(x)&&T&&J(D)&&J(F)?{_className:s,canvasBackground:c,customTextRenderer:v,devicePixelRatio:y,onGetAnnotationsError:b,onGetAnnotationsSuccess:d,onGetStructTreeError:A,onGetStructTreeSuccess:L,onGetTextError:j,onGetTextSuccess:W,onRenderAnnotationLayerError:E,onRenderAnnotationLayerSuccess:S,onRenderError:_,onRenderSuccess:H,onRenderTextLayerError:B,onRenderTextLayerSuccess:R,page:C,pageIndex:x,pageNumber:T,renderForms:se,renderTextLayer:oe,rotate:D,scale:F}:null,[s,c,v,y,b,d,A,L,j,W,E,S,_,H,B,R,C,x,T,se,oe,D,F]),at=a.useMemo(()=>qe(le,()=>C&&(F?Re(C,F):void 0)),[le,C,F]),we=`${x}@${F}/${D}`;function lt(){switch(Ee){case"custom":return w(p),e.jsx(p,{},`${we}_custom`);case"none":return null;case"canvas":default:return e.jsx(_n,{canvasRef:l},`${we}_canvas`)}}function ct(){return oe?e.jsx(Mn,{},`${we}_text`):null}function dt(){return q?e.jsx(Tn,{},`${we}_annotations`):null}function ut(){function z($){return!!($!=null&&$.page)}if(!z(Se))throw new Error("page is undefined");const ee=typeof m=="function"?m(Se):m;return e.jsxs(Qe.Provider,{value:Se,children:[lt(),ct(),dt(),ee]})}function ft(){return T?I===null||C===void 0||C===null?e.jsx(ne,{type:"loading",children:typeof o=="function"?o():o}):I===!1||C===!1?e.jsx(ne,{type:"error",children:typeof h=="function"?h():h}):ut():e.jsx(ne,{type:"no-data",children:typeof f=="function"?f():f})}return e.jsx("div",{className:ve(s,u),"data-page-number":T,ref:Ze(P,de),style:{"--scale-round-x":"1px","--scale-round-y":"1px","--scale-factor":"1","--user-unit":`${F}`,"--total-scale-factor":"calc(var(--scale-factor) * var(--user-unit))",backgroundColor:c||"white",position:"relative",minWidth:"min-content",minHeight:"min-content"},...at,children:ft()})}jn();ze.workerSrc="pdf.worker.mjs";ze.workerSrc=`//unpkg.com/pdfjs-dist@${St}/build/pdf.worker.min.mjs`;const On=({url:t,onPageChange:n})=>{const[r,s]=a.useState(0),[i,c]=a.useState(1),[l,m]=a.useState(1),[u,p]=a.useState(0),v=a.useRef(null),y=a.useCallback(()=>{v.current&&p(v.current.clientWidth-32)},[]);a.useEffect(()=>(y(),window.addEventListener("resize",y),()=>window.removeEventListener("resize",y)),[y]),a.useEffect(()=>{n&&n(i)},[i,n]);const h=({numPages:b})=>{s(b),c(1)},g=()=>{c(b=>Math.max(b-1,1))},P=()=>{c(b=>Math.min(b+1,r))},o=()=>{m(b=>Math.min(b+.2,3))},f=()=>{m(b=>Math.max(b-.2,.5))};return e.jsxs("div",{className:"flex flex-col h-full",children:[e.jsxs("div",{className:"flex items-center justify-between p-4 border-b bg-background",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(ye,{variant:"outline",size:"icon",onClick:g,disabled:i<=1,
26children:e.jsx(Ue,{className:"h-4 w-4"})}),e.jsxs("span",{className:"text-sm",children:["Page ",i," of ",r]}),e.jsx(ye,{variant:"outline",size:"icon",onClick:P,disabled:i>=r,children:e.jsx(He,{className:"h-4 w-4"})})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(ye,{variant:"outline",size:"icon",onClick:f,children:e.jsx(zt,{className:"h-4 w-4"})}),e.jsxs("span",{className:"text-sm",children:[Math.round(l*100),"%"]}),e.jsx(ye,{variant:"outline",size:"icon",onClick:o,children:e.jsx(Ht,{className:"h-4 w-4"})})]})]}),e.jsx("div",{ref:v,className:"flex-1 overflow-auto flex items-center justify-center p-4 bg-muted/30",children:e.jsx(Pn,{file:t,onLoadSuccess:h,loading:e.jsxs("div",{className:"text-center p-8",children:[e.jsx("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-primary mx-auto"}),e.jsx("p",{className:"mt-4 text-muted-foreground",children:"Loading PDF..."})]}),error:e.jsx("div",{className:"text-center p-8",children:e.jsx("p",{className:"text-destructive",children:"Failed to load PDF"})}),children:e.jsx(In,{pageNumber:i,scale:l,width:u>0?u:void 0,className:"shadow-2xl"})})})]})},Wn=({embedUrl:t})=>{const[n,r]=a.useState(!0),[s,i]=a.useState(!1),l=(m=>{if(m.includes("/embed")||m.includes("/pub"))return m;const u=m.match(/\/d\/([a-zA-Z0-9-_]+)/);return u?`https://docs.google.com/presentation/d/${u[1]}/embed?start=false&loop=false&delayms=3000`:m})(t);return e.jsx("div",{className:"w-full h-full flex items-center justify-center bg-muted/30",children:e.jsx("div",{className:"relative w-full h-full max-w-7xl mx-auto p-4",children:e.jsxs("div",{className:"relative w-full",style:{paddingBottom:"56.25%"},children:[n&&e.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-primary mx-auto mb-4"}),e.jsx("p",{className:"text-muted-foreground",children:"Loading presentation..."})]})}),s&&e.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:e.jsxs("div",{className:"text-center text-destructive",children:[e.jsx("p",{children:"Failed to load presentation"}),e.jsx("p",{className:"text-sm text-muted-foreground mt-2",children:"Please check the URL or try again later"})]})}),e.jsx("iframe",{src:l,className:"absolute top-0 left-0 w-full h-full rounded-lg shadow-2xl",frameBorder:"0",allowFullScreen:!0,title:"Google Slides Presentation",onLoad:()=>r(!1),onError:()=>{r(!1),i(!0)}})]})})})},st="https://www.skool.com/w3mct",Bn="dQw4w9WgXcQ",ot=t=>{if(!t||t.trim()==="")return{platform:"other",videoId:""};const n=/(?:youtube\.com\/(?:[^\/]+\/.+\/|(?:v|e(?:mbed)?)\/|.*[?&]v=)|youtu\.be\/)([^"&?\/\s]{11})/,r=t.match(n);if(r)return{platform:"youtube",videoId:r[1]};const s=t.match(/(?:vimeo\.com\/)(\d+)/);return s?{platform:"vimeo",videoId:s[1]}:{platform:"other",videoId:""}},it=t=>{if(!t||t.trim()==="")return!1;const{platform:n,videoId:r}=ot(t);return r===Bn?!1:n!=="other"||r!==""},Ve=({title:t,thumbnailUrl:n})=>e.jsxs("div",{className:"relative w-full pt-[56.25%] overflow-hidden cursor-pointer group",onClick:()=>window.open(st,"_blank"),children:[n?e.jsx("img",{src:n,alt:t,className:"absolute inset-0 w-full h-full object-cover"}):e.jsx("div",{className:"absolute inset-0 surface-warm"}),e.jsx("div",{className:"absolute inset-0 bg-black/50 group-hover:bg-black/60 transition-colors"}),e.jsx("div",{className:"absolute top-4 left-4 z-10",children:e.jsxs("div",{className:"inline-flex items-center gap-1.5 rounded-pill bg-white/90 text-black text-[10px] uppercase tracking-[0.18em] px-3 h-7",children:[e.jsx($e,{className:"w-3 h-3"}),"Members"]})}),e.jsxs("div",{className:"absolute inset-0 flex flex-col items-center justify-center z-10",children:[e.jsx("div",{className:"w-14 h-14 rounded-full bg-white/15 backdrop-blur-sm flex items-center justify-center mb-3 group-hover:bg-white/25 transition-all border border-white/30",children:e.jsx(Bt,{className:"w-6 h-6 text-white ml-0.5"})}),e.jsx("p",{className:"text-xs uppercase tracking-[0.22em] text-white/90 text-center px-4",children:"Watch on W3MCT Academy"})]})]}),Gn=({url:t,thumbnailUrl:n,title:r})=>{if(!it(t))return e.jsx(Ve,{title:r||"Webinar",thumbnailUrl:n});const{platform:s,videoId:i}=ot(t);return s==="youtube"?e.jsx("div",{className:"relative w-full pt-[56.25%]",children:e.jsx("iframe",{className:"absolute top-0 left-0 w-full h-full",src:`https://www.youtube.com/embed/${i}`,title:"YouTube video player",frameBorder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0})}):s==="vimeo"?e.jsx("div",{className:"relative w-full pt-[56.25%]",children:e.jsx("iframe",{className:"absolute top-0 left-0 w-full h-full",src:`https://player.vimeo.com/video/${i}`,title:"Vimeo video player",frameBorder:"0",allow:"autoplay; fullscreen; picture-in-picture",allowFullScreen:!0})}):e.jsx(Ve,{title:r||"Webinar",thumbnailUrl:n})}
26,Vn=[{id:"tip-1",title:"Start with Bitcoin Basics",description:"Before diving into complex DeFi protocols, understand how Bitcoin works. Learn about blocks, transactions, and the concept of decentralization.",icon:e.jsx(xt,{className:"w-5 h-5"}),category:"Beginner",link:"/blog/how-does-bitcoin-work"},{id:"tip-2",title:"Secure Your Wallet First",description:"Never share your seed phrase. Use hardware wallets for significant holdings. Always double-check addresses before sending.",icon:e.jsx(De,{className:"w-5 h-5"}),category:"Security"},{id:"tip-3",title:"Understand Gas Fees",description:"Gas fees on Ethereum vary based on network congestion. Use tools like Etherscan Gas Tracker to time your transactions.",icon:e.jsx(_t,{className:"w-5 h-5"}),category:"Ethereum",link:"https://etherscan.io/gastracker"},{id:"tip-4",title:"Learn Smart Contract Basics",description:"Smart contracts are self-executing code on blockchain. Understanding them helps you evaluate DeFi protocols and NFT projects.",icon:e.jsx(Ft,{className:"w-5 h-5"}),category:"Development"},{id:"tip-5",title:"DYOR â Do Your Own Research",description:"Always verify information from multiple sources. Check team backgrounds, audit reports, and community sentiment before investing.",icon:e.jsx(Y,{className:"w-5 h-5"}),category:"Security"},{id:"tip-6",title:"Explore Layer 2 Solutions",description:"Layer 2s like Arbitrum, Optimism, and Base offer faster, cheaper transactions while maintaining Ethereum security.",icon:e.jsx(Mt,{className:"w-5 h-5"}),category:"Scaling"}],Un=[{id:"lw3-clarity",title:"Clarity: The Programming Language for Stacks",description:"An introduction to Clarity - the programming language for Stacks. Learn about functional programming, data types, and how to write functions.",xp:"+7,000 XP",difficulty:"Beginner",platform:"LearnWeb3",link:"https://learnweb3.io/lessons/clarity-the-programming-language-for-stacks/"},{id:"lw3-block-explorer",title:"Building a Mini Block Explorer",description:"Build a mini block explorer using stacks.js and the Hiro APIs to understand how to query onchain data offchain.",xp:"+7,000 XP",difficulty:"Intermediate",platform:"LearnWeb3",link:"https://learnweb3.io/lessons/building-a-mini-block-explorer/"},{id:"lw3-dex",title:"Build Your Own Decentralized Exchange",description:"Use Clarity to build your own DEX from scratch on Stacks, then use stacks.js to build a Next.js frontend.",xp:"+7,000 XP",difficulty:"Advanced",platform:"LearnWeb3",link:"https://learnweb3.io/lessons/build-your-own-decentralized-exchange/"},{id:"lw3-tic-tac-toe",title:"Building PvP Onchain Tic Tac Toe",description:"Utilize Stacks' fast block times with the Nakamoto upgrade to build an onchain turn-based game with STX betting.",xp:"+7,000 XP",difficulty:"Intermediate",platform:"LearnWeb3",link:"https://learnweb3.io/lessons/building-pv-p-onchain-tic-tac-toe/"},{id:"lw3-multisig",title:"Stacks Multisig Vaults",description:"Design a multisig vault using Clarity that supports STX and SIP-010 tokens with configurable threshold schemes.",xp:"+7,000 XP",difficulty:"Advanced",platform:"LearnWeb3",link:"https://learnweb3.io/lessons/stacks-multisig-vaults/"},{id:"lw3-lending",title:"Dual Asset Lending Protocol",description:"Learn how lending protocols work, collateralize sBTC for taking loans in STX, and integrate with external DEXes and Oracles.",xp:"+15,000 XP",difficulty:"Advanced",platform:"LearnWeb3",link:"https://learnweb3.io/lessons/dual-asset-lending-protocol/"},{id:"lw3-flash-loans",title:"Stacks Flash Loans",description:"Learn about a uniquely DeFi primitive and how to build a flash loans protocol using Clarity.",xp:"+10,000 XP",difficulty:"Advanced",platform:"LearnWeb3",link:"https://learnweb3.io/lessons/stacks-flash-loans/"},{id:"lw3-web3-bitcoin",title:"Web3 on Bitcoin",description:"A brief introduction to Stacks: a Layer 2 Network on Bitcoin. Learn the fundamentals of Bitcoin DeFi.",xp:"+2,000 XP",difficulty:"Beginner",platform:"LearnWeb3",link:"https://learnweb3.io/minis/web3-on-bitcoin/"},{id:"lw3-case-for-btc-defi",title:"The Case for Bitcoin DeFi",description:"Understand why Bitcoin DeFi matters and how Stacks enables smart contracts on the most secure blockchain.",xp:"+3,000 XP",difficulty:"Beginner",platform:"LearnWeb3",link:"https://learnweb3.io/lessons/the-case-for-bitcoin-de-fi/"}],Hn=[{id:"whiteboard-crypto-1",title:"Web 3.0 Explained For Beginners",description:"Comprehensive introduction to Web 3.0, digital assets, and how decentralization is changing the internet.",video_url:"https://www.youtube.com/watch?v=PrnYB78iMNw",thumbnail_url:null,cta_text:"Watch on YouTube",cta_link:"https://www.youtube.com/watch?v=PrnYB78iMNw",created_at:new Date().toISOString()},{id:"finematics-1",title:"What is DeFi? Decentralized Finance Explained",description:"Expert explanation of DeFi - building a new financial system using blockchain and smart contracts.",video_url:"https://www.youtube.com/watch?v=k9HYC0EJU6E",thumbnail_url:null,cta_text:"Watch on YouTube",cta_link:"https://www.youtube.com/watch?v=k9HYC0EJU6E",created_at:new Date().toISOString()},{id:"mit-blockchain-1",title:"MIT: Introduction to Blockchain and Money",description:"MIT Sloan School course by Prof. Gary Gensler covering blockchain technology fundamentals.",video_url:"https://www.youtube.com/watch?v=EH6vE97qIP4",thumbnail_url:null,cta_text:"Full MIT Course",cta_link:"https://ocw.mit.edu/courses/15-s12-blockchain-and-money-fall-2018/",created_at:new Date().toISOString()},{id:"antonopoulos-1",title:"Introduction to Bitcoin - Andreas Antonopoulos",description:"Expert-level introduction to Bitcoin as a transformative technological innovation.",video_url:"https://www.youtube.com/watch?v=qkxdys-Ek9U",thumbnail_url:null,cta_text:"Watch on YouTube",cta_link:"https://www.youtube.com/watch?v=qkxdys-Ek9U",created_at:new Date().toISOString()},{id:"deeplearning-ai-1",title:"Machine Learning Specialization - Andrew Ng",description:"DeepLearning.AI & Stanford collaboration - Learn ML fundamentals and build real-world AI applications.",video_url:"https://www.youtube.com/watch?v=vStJoetOxJg",thumbnail_url:null,cta_text:"Full Specialization",cta_link:"https://www.deeplearning.ai/",created_at:new Date().toISOString()},{id:"google-ai-1",title:"Google AI Studio for Beginners",description:"Official Google tutorial on building with generative AI using Google AI Studio.",video_url:"https://www.youtube.com/watch?v=IHOJUJjZbzc",thumbnail_url:null,cta_text:"Try AI Studio",cta_link:"https://aistudio.google.com/",created_at:new Date().toISOString()}],zn=[{value:"tips",label:"Tips",icon:It},{value:"wallets",label:"Wallets",icon:De},{value:"workshops",label:"Workshops",icon:Ut},{value:"webinars",label:"Webinars",icon:Ot},{value:"presentations",label:"Slides",icon:Wt}],he=({index:t,eyebrow:n,title:r,lede:s})=>e.jsxs("div",{className:"grid md:grid-cols-12 gap-12 mb-16 items-end",children:[e.jsxs("div",{className:"md:col-span-7",children:[e.jsxs("div",{className:"flex items-center gap-4 mb-6",children:[e.jsx("span",{className:"h-px w-10 bg-foreground
26/40"}),e.jsxs("span",{className:"text-[11px] uppercase tracking-[0.22em] text-muted-foreground",children:[t,"  · ",n]})]}),e.jsx("h2",{className:"font-display text-4xl sm:text-5xl leading-[1.05] tracking-tight",children:r})]}),s&&e.jsx("div",{className:"md:col-span-5 md:pt-8",children:e.jsx("p",{className:"text-base text-muted-foreground leading-[1.8]",children:s})})]}),ur=()=>{const[t,n]=a.useState(null),[r,s]=a.useState(0),[i,c]=a.useState("tips"),{data:l,isLoading:m}=Ae({queryKey:["presentations"],queryFn:async()=>{const{data:o,error:f}=await Le.from("presentations").select("*").eq("published",!0).order("created_at",{ascending:!1});if(f)throw f;return(await Promise.all((o||[]).map(async d=>{var k;if(d.presentation_type==="google_slides"&&d.embed_url)return{id:d.id,title:d.title,description:d.description,category:d.category,slides:[],isPDF:!1,isGoogleSlides:!0,embedUrl:d.embed_url};const{data:A,error:L}=await Le.from("presentation_slides").select("*").eq("presentation_id",d.id).order("slide_number");if(L)throw L;const j=(k=A==null?void 0:A[0])==null?void 0:k.image_url;if((j==null?void 0:j.toLowerCase().endsWith(".pdf"))||!1)return{id:d.id,title:d.title,description:d.description,category:d.category,slides:[],isPDF:!0,pdfUrl:await Pt(j),isGoogleSlides:!1};const N=(A||[]).map(E=>E.image_url).filter(E=>{var _;const S=(_=E.split(".").pop())==null?void 0:_.toLowerCase();return["jpg","jpeg","png","gif","webp","svg"].includes(S||"")});return{id:d.id,title:d.title,description:d.description,category:d.category,slides:await Tt(N),isPDF:!1,isGoogleSlides:!1}}))).filter(d=>d.isGoogleSlides||d.isPDF||d.slides.length>0)}}),{data:u,isLoading:p}=Ae({queryKey:["webinars"],queryFn:async()=>{const{data:o,error:f}=await Le.from("webinars").select("*").eq("published",!0).order("created_at",{ascending:!1});if(f)throw f;return o}}),v=[...u||[],...Hn],y=o=>{(o.isGoogleSlides||o.isPDF||o.slides.length>0)&&(n(o),s(0))},h=()=>{t&&r<t.slides.length-1&&s(r+1)},g=()=>{r>0&&s(r-1)},P=o=>{o.key==="ArrowRight"&&h(),o.key==="ArrowLeft"&&g(),o.key==="Escape"&&n(null)};return t?e.jsxs("section",{className:"fixed inset-0 bg-background z-50 flex flex-col",onKeyDown:P,tabIndex:0,children:[e.jsxs("div",{className:"flex items-center justify-between px-6 py-4 border-b border-border/60",children:[e.jsxs("div",{className:"flex items-center gap-6",children:[e.jsxs("button",{onClick:()=>n(null),className:"inline-flex items-center gap-2 text-[11px] uppercase tracking-[0.22em] text-muted-foreground hover:text-foreground transition-colors",children:[e.jsx(Vt,{className:"w-3 h-3"}),"Back to library"]}),e.jsxs("div",{children:[e.jsx("h2",{className:"font-display text-lg leading-tight",children:t.title}),!t.isPDF&&!t.isGoogleSlides&&e.jsxs("p",{className:"text-[11px] uppercase tracking-[0.18em] text-muted-foreground",children:["Slide ",r+1," of ",t.slides.length]})]})]}),!t.isPDF&&!t.isGoogleSlides&&e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("button",{onClick:g,disabled:r===0,className:"rounded-pill border border-border w-9 h-9 inline-flex items-center justify-center hover:border-foreground
26/40 transition-colors disabled:opacity-40",children:e.jsx(Ue,{className:"w-4 h-4"})}),e.jsx("button",{onClick:h,disabled:r===t.slides.length-1,className:"rounded-pill border border-border w-9 h-9 inline-flex items-center justify-center hover:border-foreground/40 transition-colors disabled:opacity-40",children:e.jsx(He,{className:"w-4 h-4"})})]})]}),t.isGoogleSlides&&t.embedUrl?e.jsx(Wn,{embedUrl:t.embedUrl}):t.isPDF&&t.pdfUrl?e.jsx(On,{url:t.pdfUrl}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"flex-1 flex items-center justify-center p-8 surface-warm",children:e.jsx("img",{src:t.slides[r],alt:`Slide ${r+1}`,className:"max-w-full max-h-full object-contain rounded-lg shadow-soft"})}),e.jsx("div",{className:"px-4 py-4 border-t border-border/60",children:e.jsx("div",{className:"flex gap-2 justify-center overflow-x-auto",children:t.slides.map((o,f)=>e.jsx("button",{onClick:()=>s(f),className:`flex-shrink-0 w-24 h-16 rounded border-2 overflow-hidden transition-all ${r===f?"border-foreground":"border-border/60 hover:border-foreground
26/40"}`,children:e.jsx("img",{src:o,alt:`Slide ${f+1} thumbnail`,className:"w-full h-full object-cover"})},f))})})]})]}):e.jsxs("div",{className:"min-h-screen flex flex-col bg-background",children:[e.jsxs(pt,{children:[e.jsx("title",{children:"W3Learn â Blockchain & AI Learning Hub | W3MCT"}),e.jsx("meta",{name:"description",content:"Free blockchain, wallet security, and AI learning resources â presentations, webinars, and guided tracks from W3MCT."}),e.jsx("link",{rel:"canonical",href:"https://www.w3mct.com/w3learn"}),e.jsx("meta",{property:"og:title",content:"W3Learn â Blockchain & AI Learning Hub | W3MCT"}),e.jsx("meta",{property:"og:description",content:"Free blockchain, wallet security, and AI learning resources from W3MCT."}),e.jsx("meta",{property:"og:type",content:"website"}),e.jsx("meta",{property:"og:url",content:"https://www.w3mct.com/w3learn"})]}),e.jsx(ht,{}),e.jsxs("main",{className:"flex-1 pt-28",children:[e.jsx("section",{className:"px-4 pt-16 pb-16 sm:pt-24 sm:pb-20",children:e.jsxs("div",{className:"container mx-auto max-w-6xl",children:[e.jsxs("div",{className:"inline-flex items-center gap-2 px-3 py-1.5 rounded-pill border border-border/60 bg-background mb-12",children:[e.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-primary"}),e.jsx("span",{className:"text-[11px] uppercase tracking-[0.22em] text-muted-foreground",children:"W3Learn · Educational Hub"})]}),e.jsxs("div",{className:"grid md:grid-cols-12 gap-12 md:gap-16 items-end",children:[e.jsx("div",{className:"md:col-span-8",children:e.jsxs("h1",{className:"font-display text-5xl sm:text-6xl md:text-7xl leading-[1.02] tracking-tight text-foreground",children:["Master the"," ",e.jsx("span",{className:"italic",children:e.jsx("span",{className:"border-b-2 border-foreground pb-1",children:"foundations"})})," ","of decentralized infrastructure."]})}),e.jsx("div",{className:"md:col-span-4 md:pb-4",children:e.jsx("p",{className:"text-base text-muted-foreground leading-[1.7] max-w-sm",children:"Curated tips, hardware wallet guides, developer workshops, expert webinars, and slide decks â everything you need to operate competently in Web3."})})]})]})}),e.jsx("section",{className:"px-4 pb-32",children:e.jsx("div",{className:"container mx-auto max-w-6xl",children:e.jsxs(bt,{value:i,onValueChange:c,className:"w-full",children:[e.jsx(wt,{className:"w-full flex flex-wrap gap-2 h-auto bg-transparent p-0 mb-16 border-b border-border/60 pb-8",children:zn.map(o=>{const f=o.icon;return e.jsxs(yt,{value:o.value,className:"rounded-pill text-xs px-4 h-9 inline-flex items-center gap-2 border border-border bg-background data-[state=active]:bg-foreground data-[state=active]:text-background data-[state=active]:border-foreground transition-colors",children:[e.jsx(f,{className:"w-3.5 h-3.5"}),o.label]},o.value)})}),e.jsxs(pe,{value:"tips",children:[e.jsx(he,{index:"01",eyebrow:"Field Notes",title:"Blockchain learning tips.",lede:"Essential knowledge for navigating the Web3 ecosystem with confidence."}),e.jsx("div",{className:"grid sm:grid-cols-2 lg:grid-cols-3 gap-px bg-foreground
26/10 border border-foreground/10 rounded-2xl overflow-hidden",children:Vn.map(o=>e.jsxs("div",{className:"bg-background p-8 hover:surface-warm transition-colors",children:[e.jsxs("div",{className:"flex items-start justify-between mb-6",children:[e.jsx("div",{className:"text-primary",children:o.icon}),e.jsx("span",{className:"text-[10px] uppercase tracking-[0.22em] text-muted-foreground",children:o.category})]}),e.jsx("h3",{className:"font-display text-xl mb-3 leading-tight",children:o.title}),e.jsx("p",{className:"text-sm text-muted-foreground leading-[1.7] mb-6",children:o.description}),o.link&&e.jsxs("a",{href:o.link,target:o.link.startsWith("http")?"_blank":void 0,rel:"noopener noreferrer",className:"inline-flex items-center gap-2 text-sm text-foreground border-b border-foreground/40 pb-1 hover:border-primary hover:text-primary transition-colors",children:["Learn more",e.jsx(fe,{className:"w-3.5 h-3.5"})]})]},o.id))})]}),e.jsxs(pe,{value:"wallets",children:[e.jsx(he,{index:"02",eyebrow:"Hardware Custody",title:"Hardware wallet guides.",lede:"Deep-dive analyses of the most trusted hardware wallets to secure your digital assets."}),e.jsxs("div",{className:"grid md:grid-cols-2 gap-6",children:[e.jsxs("div",{className:"rounded-2xl overflow-hidden border border-border/60 bg-background",children:[e.jsx("div",{className:"surface-warm p-12 flex items-center justify-center h-64",children:e.jsx("img",{src:Lt,alt:"Tangem Wallet",className:"h-44 w-auto object-contain drop-shadow-soft"})}),e.jsxs("div",{className:"p-8",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsx("span",{className:"text-[11px] uppercase tracking-[0.22em] text-muted-foreground",children:"Best Seller"}),e.jsxs("span",{className:"inline-flex items-center gap-1.5 text-[10px] uppercase tracking-[0.18em] text-muted-foreground",children:[e.jsx(Dt,{className:"w-3 h-3"})," NFC Card"]})]}),e.jsx("h3",{className:"font-display text-2xl mb-3 leading-tight",children:"Tangem Wallet 2.0"}),e.jsx("p",{className:"text-sm text-muted-foreground leading-[1.7] mb-6",children:"The worldâs most secure and simple hardware wallet. Card-shaped, NFC-powered, no battery needed."}),e.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground mb-8",children:[e.jsxs("li",{className:"flex items-center gap-2",children:[e.jsx(Y,{className:"w-3.5 h-3.5 text-primary"})," EAL6+ certified security chip"]}),e.jsxs("li",{className:"flex items-center gap-2",children:[e.jsx(Y,{className:"w-3.5 h-3.5 text-primary"})," 25-year lifespan guarantee"]}),e.jsxs("li",{className:"flex items-center gap-2",children:[e.jsx(Y,{className:"w-3.5 h-3.5 text-primary"})," 10,000+ supported assets"]})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs(Te,{to:"/partners/tangem",className:"rounded-pill bg-foreground text-background text-sm font-medium px-5 h-11 inline-flex items-center gap-2 hover:bg-foreground
26/90 transition-colors",children:["Read deep dive",e.jsx(fe,{className:"w-3.5 h-3.5"})]}),e.jsx("button",{onClick:()=>window.open("https://tangem.com/en/pricing/?promocode=W3MCT","_blank"),className:"rounded-pill border border-border w-11 h-11 inline-flex items-center justify-center hover:border-foreground/40 transition-colors",children:e.jsx(me,{className:"w-4 h-4"})})]})]})]}),e.jsxs("div",{className:"rounded-2xl overflow-hidden border border-border/60 bg-background",children:[e.jsx("div",{className:"surface-warm p-12 flex items-center justify-center h-64",children:e.jsx("img",{src:Ct,alt:"Keystone Pro 3",className:"h-44 w-auto object-contain drop-shadow-soft"})}),e.jsxs("div",{className:"p-8",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsx("span",{className:"text-[11px] uppercase tracking-[0.22em] text-muted-foreground",children:"Premium Choice"}),e.jsxs("span",{className:"inline-flex items-center gap-1.5 text-[10px] uppercase tracking-[0.18em] text-muted-foreground",children:[e.jsx(Rt,{className:"w-3 h-3"})," Air-Gapped"]})]}),e.jsx("h3",{className:"font-display text-2xl mb-3 leading-tight",children:"Keystone Pro 3"}),e.jsx("p",{className:"text-sm text-muted-foreground leading-[1.7] mb-6",children:"The most advanced air-gapped hardware wallet with a 4-inch touchscreen and fingerprint security."}),e.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground mb-8",children:[e.jsxs("li",{className:"flex items-center gap-2",children:[e.jsx(Y,{className:"w-3.5 h-3.5 text-primary"})," Triple secure element chips"]}),e.jsxs("li",{className:"flex items-center gap-2",children:[e.jsx(Y,{className:"w-3.5 h-3.5 text-primary"})," 100% open-source firmware"]}),e.jsxs("li",{className:"flex items-center gap-2",children:[e.jsx(Y,{className:"w-3.5 h-3.5 text-primary"})," QR code transactions only"]})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs(Te,{to:"/partners/keystone",className:"rounded-pill bg-foreground text-background text-sm font-medium px-5 h-11 inline-flex items-center gap-2 hover:bg-foreground
26/90 transition-colors",children:["Read deep dive",e.jsx(fe,{className:"w-3.5 h-3.5"})]}),e.jsx("button",{onClick:()=>window.open("https://keyst.one/?rfsn=7774250.f604cf9&utm_source=refersion&utm_medium=affiliate&utm_campaign=7774250.f604cf9","_blank"),className:"rounded-pill border border-border w-11 h-11 inline-flex items-center justify-center hover:border-foreground/40 transition-colors",children:e.jsx(me,{className:"w-4 h-4"})})]})]})]})]}),e.jsxs("div",{className:"mt-12 rounded-2xl surface-warm p-10 text-center",children:[e.jsx(De,{className:"w-6 h-6 text-primary mx-auto mb-4"}),e.jsx("h3",{className:"font-display text-2xl mb-3",children:"Not sure which wallet fits?"}),e.jsx("p",{className:"text-foreground/70 max-w-md mx-auto mb-6 leading-[1.7] text-sm",children:"Take our interactive quiz to find the right hardware wallet for your needs and experience level."}),e.jsxs(Te,{to:"/partners",className:"rounded-pill bg-foreground text-background text-sm font-medium px-5 h-11 inline-flex items-center gap-2 hover:bg-foreground
26/90 transition-colors",children:["Take the wallet quiz",e.jsx(fe,{className:"w-3.5 h-3.5"})]})]})]}),e.jsxs(pe,{value:"workshops",children:[e.jsx(he,{index:"03",eyebrow:"Build",title:"Developer workshops.",lede:"Hands-on blockchain development tutorials from LearnWeb3 and custom workshops."}),e.jsx("div",{className:"mb-10",children:e.jsxs("button",{onClick:()=>window.open("https://learnweb3.io/teams/stacks/","_blank"),className:"rounded-pill border border-border text-foreground text-sm font-medium px-5 h-10 inline-flex items-center gap-2 hover:border-foreground/40 transition-colors",children:[e.jsx(At,{className:"w-3.5 h-3.5"}),"Full LearnWeb3 Stacks Curriculum",e.jsx(me,{className:"w-3.5 h-3.5"})]})}),e.jsx("div",{className:"grid sm:grid-cols-2 lg:grid-cols-3 gap-6",children:Un.map(o=>e.jsxs("div",{className:"rounded-2xl border border-border/60 bg-background p-7 flex flex-col",children:[e.jsxs("div",{className:"flex items-center justify-between mb-5",children:[e.jsx("span",{className:"text-[10px] uppercase tracking-[0.22em] text-muted-foreground",children:o.difficulty}),e.jsx("span",{className:"text-[10px] uppercase tracking-[0.22em] text-primary",children:o.xp})]}),e.jsx("h3",{className:"font-display text-lg leading-tight mb-3",children:o.title}),e.jsx("p",{className:"text-sm text-muted-foreground leading-[1.7] mb-5 line-clamp-3 flex-1",children:o.description}),e.jsxs("div",{className:"flex items-center gap-2 mb-5 text-[11px] uppercase tracking-[0.18em] text-muted-foreground",children:[e.jsx(Gt,{className:"w-3 h-3"}),o.platform]}),e.jsxs("button",{onClick:()=>window.open(o.link,"_blank"),className:"self-start inline-flex items-center gap-2 text-sm text-foreground border-b border-foreground
26/40 pb-1 hover:border-primary hover:text-primary transition-colors",children:["Start lesson",e.jsx(me,{className:"w-3.5 h-3.5"})]})]},o.id))})]}),e.jsxs(pe,{value:"webinars",children:[e.jsx(he,{index:"04",eyebrow:"Library",title:"Webinars & workshops.",lede:"Curated video content from leading practitioners and academic institutions."}),p?e.jsx("div",{className:"grid sm:grid-cols-2 lg:grid-cols-3 gap-6",children:[1,2,3,4,5,6].map(o=>e.jsxs("div",{className:"rounded-2xl overflow-hidden border border-border/60 bg-background animate-pulse",children:[e.jsx("div",{className:"h-48 bg-muted"}),e.jsxs("div",{className:"p-7 space-y-3",children:[e.jsx("div",{className:"h-5 bg-muted rounded w-3/4"}),e.jsx("div",{className:"h-4 bg-muted rounded"})]})]},o))}):e.jsx("div",{className:"grid sm:grid-cols-2 lg:grid-cols-3 gap-6",children:v.map(o=>{const f=it(o.video_url);return e.jsxs("article",{className:"rounded-2xl overflow-hidden border border-border/60 bg-background flex flex-col",children:[e.jsx(Gn,{url:o.video_url,thumbnailUrl:o.thumbnail_url,title:o.title}),e.jsxs("div",{className:"p-7 flex-1 flex flex-col",children:[e.jsx("h3",{className:"font-display text-lg leading-tight mb-3",children:o.title}),o.description&&e.jsx("p",{className:"text-sm text-muted-foreground leading-[1.7] mb-6 line-clamp-3 flex-1",children:o.description}),f?o.cta_link?e.jsxs("button",{onClick:()=>window.open(o.cta_link,"_blank"),className:"self-start inline-flex items-center gap-2 text-sm text-foreground border-b border-foreground
26/40 pb-1 hover:border-primary hover:text-primary transition-colors",children:[o.cta_text,e.jsx(me,{className:"w-3.5 h-3.5"})]}):null:e.jsxs("button",{onClick:()=>window.open(st,"_blank"),className:"self-start rounded-pill bg-foreground text-background text-sm font-medium px-4 h-10 inline-flex items-center gap-2 hover:bg-foreground/90 transition-colors",children:[e.jsx($e,{className:"w-3.5 h-3.5"}),"Join to watch"]})]})]},o.id)})})]}),e.jsxs(pe,{value:"presentations",children:[e.jsx(he,{index:"05",eyebrow:"Decks",title:"Slide presentations.",lede:"Professional decks on Web3, AI, and digital assets for boardrooms and content production."}),m?e.jsx("p",{className:"text-muted-foreground",children:"Loading presentationsâ¦"}):l&&l.length>0?e.jsx("div",{className:"grid sm:grid-cols-2 lg:grid-cols-3 gap-6",children:l.map(o=>e.jsxs("button",{onClick:()=>y(o),className:"group text-left rounded-2xl overflow-hidden border border-border/60 bg-background hover:shadow-soft transition-all duration-300 p-7",children:[e.jsx("div",{className:"text-[11px] uppercase tracking-[0.22em] text-muted-foreground mb-4",children:o.category}),e.jsx("h3",{className:"font-display text-xl mb-3 leading-tight text-foreground group-hover:text-primary transition-colors",children:o.title}),o.description&&e.jsx("p",{className:"text-sm text-muted-foreground leading-[1.7] mb-6 line-clamp-3",children:o.description}),e.jsxs("div",{className:"flex items-center justify-between text-[11px] uppercase tracking-[0.18em] text-muted-foreground",children:[e.jsx("span",{children:o.isGoogleSlides?"Google Slides":o.isPDF?"PDF Document":`${o.slides.length} slides`}),e.jsxs("span",{className:"inline-flex items-center gap-1 text-foreground group-hover:text-primary transition-colors",children:["Open",e.jsx(fe,{className:"w-3 h-3"})]})]})]},o.id))}):e.jsx("p",{className:"text-muted-foreground",children:"No presentations available yet."})]})]})})})]}),e.jsx(gt,{})]})};export{ur as default};
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.