diff --git a/docs/3/linux_cli/404.html b/docs/3/linux_cli/404.html index 57141cc..42e698e 100644 --- a/docs/3/linux_cli/404.html +++ b/docs/3/linux_cli/404.html @@ -13,7 +13,7 @@ - + diff --git a/docs/3/linux_cli/assets/DrawingControls-ef8ecf20.js b/docs/3/linux_cli/assets/DrawingControls-0c1ad1a3.js similarity index 99% rename from docs/3/linux_cli/assets/DrawingControls-ef8ecf20.js rename to docs/3/linux_cli/assets/DrawingControls-0c1ad1a3.js index 78e2021..ee32e95 100644 --- a/docs/3/linux_cli/assets/DrawingControls-ef8ecf20.js +++ b/docs/3/linux_cli/assets/DrawingControls-0c1ad1a3.js @@ -1,3 +1,3 @@ -import{o as l,f as a,g as e,d as k,i as y,a as M,B as x,s as I,a5 as E,a6 as N,n as B,h as n,_ as D,x as T,R as q,E as r,m as i,a7 as v,p as f,r as F,a8 as w,a9 as _,aa as W,F as P,ab as U,ac as Y,ad as G,ae as J,af as p,ag as g,ah as u,ai as L,aj as $,ak as Q}from"./index-7bbd1d08.js";const X={class:"slidev-icon",viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},nn=e("path",{fill:"currentColor",d:"M16 2C8.2 2 2 8.2 2 16s6.2 14 14 14s14-6.2 14-14S23.8 2 16 2zm0 26C9.4 28 4 22.6 4 16S9.4 4 16 4s12 5.4 12 12s-5.4 12-12 12z"},null,-1),en=e("path",{fill:"currentColor",d:"M21.4 23L16 17.6L10.6 23L9 21.4l5.4-5.4L9 10.6L10.6 9l5.4 5.4L21.4 9l1.6 1.6l-5.4 5.4l5.4 5.4z"},null,-1),on=[nn,en];function tn(c,s){return l(),a("svg",X,on)}const sn={name:"carbon-close-outline",render:tn},ln={class:"slidev-icon",viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},an=e("path",{fill:"currentColor",d:"M2 16A14 14 0 1 0 16 2A14 14 0 0 0 2 16Zm23.15 7.75L8.25 6.85a12 12 0 0 1 16.9 16.9ZM8.24 25.16a12 12 0 0 1-1.4-16.89l16.89 16.89a12 12 0 0 1-15.49 0Z"},null,-1),rn=[an];function cn(c,s){return l(),a("svg",ln,rn)}const dn={name:"carbon-error",render:cn},_n={class:"slidev-icon",viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},un=e("path",{fill:"currentColor",d:"M28.59 13.31L30 11.9L20 2l-1.31 1.42l1.18 1.18l-11.49 9.72l-1.72-1.71L5.25 14l5.66 5.68L2 28.58L3.41 30l8.91-8.91L18 26.75l1.39-1.42l-1.71-1.71l9.72-11.49ZM16.26 22.2L9.8 15.74L21.29 6L26 10.71Z"},null,-1),hn=[un];function vn(c,s){return l(),a("svg",_n,hn)}const mn={name:"carbon-pin",render:vn},pn={class:"slidev-icon",viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},gn=e("path",{fill:"currentColor",d:"M28.586 13.314L30 11.9L20 2l-1.314 1.415l1.186 1.186L8.38 14.322l-1.716-1.715L5.25 14l5.657 5.677L2 28.583L3.41 30l8.911-8.909L18 26.748l1.393-1.414l-1.716-1.716l9.724-11.49Z"},null,-1),bn=[gn];function fn(c,s){return l(),a("svg",pn,bn)}const wn={name:"carbon-pin-filled",render:fn},$n={class:"slidev-icon",viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},Cn=e("path",{fill:"currentColor",d:"M12 12h2v12h-2zm6 0h2v12h-2z"},null,-1),xn=e("path",{fill:"currentColor",d:"M4 6v2h2v20a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8h2V6zm4 22V8h16v20zm4-26h8v2h-8z"},null,-1),Ln=[Cn,xn];function kn(c,s){return l(),a("svg",$n,Ln)}const yn={name:"carbon-delete",render:kn},Mn={class:"slidev-icon",viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},Bn=e("path",{fill:"currentColor",d:"M12 10h12.185l-3.587-3.586L22 5l6 6l-6 6l-1.402-1.415L24.182 12H12a6 6 0 0 0 0 12h8v2h-8a8 8 0 0 1 0-16Z"},null,-1),Dn=[Bn];function zn(c,s){return l(),a("svg",Mn,Dn)}const Vn={name:"carbon-redo",render:zn},Zn={class:"slidev-icon",viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},Sn=e("path",{fill:"currentColor",d:"M20 10H7.815l3.587-3.586L10 5l-6 6l6 6l1.402-1.415L7.818 12H20a6 6 0 0 1 0 12h-8v2h8a8 8 0 0 0 0-16Z"},null,-1),An=[Sn];function Hn(c,s){return l(),a("svg",Zn,An)}const Kn={name:"carbon-undo",render:Hn},On={class:"slidev-icon",viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},Rn=e("path",{fill:"currentColor",d:"M26 4H6a2 2 0 0 0-2 2v20a2 2 0 0 0 2 2h20a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2ZM6 26V6h20v20Z"},null,-1),jn=[Rn];function In(c,s){return l(),a("svg",On,jn)}const En={name:"carbon-checkbox",render:In},Nn={class:"slidev-icon",viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},Tn=e("path",{fill:"currentColor",d:"M16 2a14 14 0 1 0 14 14A14 14 0 0 0 16 2Zm0 26a12 12 0 1 1 12-12a12 12 0 0 1-12 12Z"},null,-1),qn=[Tn];function Fn(c,s){return l(),a("svg",Nn,qn)}const Wn={name:"carbon-radio-button",render:Fn},Pn={class:"slidev-icon",viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},Un=e("path",{fill:"currentColor",d:"M10 6v2h12.59L6 24.59L7.41 26L24 9.41V22h2V6H10z"},null,-1),Yn=[Un];function Gn(c,s){return l(),a("svg",Pn,Yn)}const Jn={name:"carbon-arrow-up-right",render:Gn},Qn=k({__name:"Draggable",props:{storageKey:{type:String,required:!1},initial:{type:Object,required:!1}},setup(c){const s=c;y(M);const m=x(null),d=s.initial??{x:0,y:0},b=s.storageKey?I(s.storageKey,d):x(d),{style:h}=E(m,{initialValue:b});return(o,C)=>(l(),a("div",{ref_key:"el",ref:m,class:"fixed",style:B(n(h))},[N(o.$slots,"default")],4))}}),Xn=D(Qn,[["__file","/home/mancusoa/WORK/ITI_Agnelli/Materie/slidev/node_modules/@slidev/client/internals/Draggable.vue"]]),ne=e("svg",{width:"1em",height:"1em",class:"-mt-0.5",preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24"},[e("path",{d:"M21.71 3.29a1 1 0 0 0-1.42 0l-18 18a1 1 0 0 0 0 1.42a1 1 0 0 0 1.42 0l18-18a1 1 0 0 0 0-1.42z",fill:"currentColor"})],-1),ee=[ne],oe=["onClick"],te=k({__name:"DrawingControls",setup(c){y(M);function s(){L.undo()}function m(){L.redo()}function d(h){v.value=h,_.value=!0}function b(h){w.color=h,_.value=!0}return(h,o)=>{const C=Q,z=Jn,V=Wn,Z=En,S=Kn,A=Vn,H=yn,K=wn,O=mn,R=dn,j=sn;return l(),T(Xn,{class:r(["flex flex-wrap text-xl p-2 gap-1 rounded-md bg-main shadow transition-opacity duration-200",n(_)?"":n(u)?"opacity-40 hover:opacity-90":"opacity-0 pointer-events-none"]),dark:"border border-gray-400 border-opacity-10","storage-key":"slidev-drawing-pos","initial-x":10,"initial-y":10},{default:q(()=>[e("button",{class:r(["slidev-icon-btn",{shallow:n(v)!=="stylus"}]),onClick:o[0]||(o[0]=t=>d("stylus"))},[i(C)],2),e("button",{class:r(["slidev-icon-btn",{shallow:n(v)!=="line"}]),onClick:o[1]||(o[1]=t=>d("line"))},ee,2),e("button",{class:r(["slidev-icon-btn",{shallow:n(v)!=="arrow"}]),onClick:o[2]||(o[2]=t=>d("arrow"))},[i(z)],2),e("button",{class:r(["slidev-icon-btn",{shallow:n(v)!=="ellipse"}]),onClick:o[3]||(o[3]=t=>d("ellipse"))},[i(V)],2),e("button",{class:r(["slidev-icon-btn",{shallow:n(v)!=="rectangle"}]),onClick:o[4]||(o[4]=t=>d("rectangle"))},[i(Z)],2),f(" TODO: not sure why it's not working! "),f(` `),i($),(l(!0),a(P,null,F(n(W),t=>(l(),a("button",{key:t,class:r(["slidev-icon-btn",n(w).color===t?"active":"shallow"]),onClick:se=>b(t)},[e("div",{class:r(["w-6 h-6 transition-all transform border border-gray-400/50",n(w).color!==t?"rounded-1/2 scale-85":"rounded-md"]),style:B(n(_)?{background:t}:{borderColor:t})},null,6)],10,oe))),128)),i($),e("button",{class:r(["slidev-icon-btn",{disabled:!n(U)}]),onClick:o[5]||(o[5]=t=>s())},[i(S)],2),e("button",{class:r(["slidev-icon-btn",{disabled:!n(Y)}]),onClick:o[6]||(o[6]=t=>m())},[i(A)],2),e("button",{class:r(["slidev-icon-btn",{disabled:!n(G)}]),onClick:o[7]||(o[7]=t=>n(J)())},[i(H)],2),i($),e("button",{class:r(["slidev-icon-btn",{shallow:!n(u)}]),onClick:o[8]||(o[8]=t=>u.value=!n(u))},[p(i(K,{class:"transform -rotate-45"},null,512),[[g,n(u)]]),p(i(O,null,null,512),[[g,!n(u)]])],2),n(_)?(l(),a("button",{key:0,class:r(["slidev-icon-btn",{shallow:!n(_)}]),onClick:o[9]||(o[9]=t=>_.value=!n(_))},[p(i(R,null,null,512),[[g,n(u)]]),p(i(j,null,null,512),[[g,!n(u)]])],2)):f("v-if",!0)]),_:1},8,["class"])}}}),ie=D(te,[["__file","/home/mancusoa/WORK/ITI_Agnelli/Materie/slidev/node_modules/@slidev/client/internals/DrawingControls.vue"]]);export{ie as default}; diff --git a/docs/3/linux_cli/assets/DrawingLayer-2e065e42.js b/docs/3/linux_cli/assets/DrawingLayer-d9159ba6.js similarity index 89% rename from docs/3/linux_cli/assets/DrawingLayer-2e065e42.js rename to docs/3/linux_cli/assets/DrawingLayer-d9159ba6.js index acc4004..c3ea245 100644 --- a/docs/3/linux_cli/assets/DrawingLayer-2e065e42.js +++ b/docs/3/linux_cli/assets/DrawingLayer-d9159ba6.js @@ -1 +1 @@ -import{d as r,i as s,a as i,al as c,B as u,M as m,ai as a,Q as d,am as _,an as f,o as p,f as v,E as g,h as o,a9 as t,_ as h}from"./index-7bbd1d08.js";const w=r({__name:"DrawingLayer",setup(x){s(i);const l=s(c),e=u();return m(()=>{a.mount(e.value,e.value.parentElement),d(l,n=>a.options.coordinateScale=1/n,{immediate:!0}),_()}),f(()=>{a.unmount()}),(n,y)=>(p(),v("svg",{ref_key:"svg",ref:e,class:g(["w-full h-full absolute top-0",{"pointer-events-none":!o(t),"touch-none":o(t)}])},null,2))}}),C=h(w,[["__file","/home/mancusoa/WORK/ITI_Agnelli/Materie/slidev/node_modules/@slidev/client/internals/DrawingLayer.vue"]]);export{C as default}; +import{d as r,i as s,a as i,al as c,B as u,M as m,ai as a,Q as d,am as _,an as f,o as p,f as v,E as g,h as o,a9 as t,_ as h}from"./index-12b24402.js";const w=r({__name:"DrawingLayer",setup(x){s(i);const l=s(c),e=u();return m(()=>{a.mount(e.value,e.value.parentElement),d(l,n=>a.options.coordinateScale=1/n,{immediate:!0}),_()}),f(()=>{a.unmount()}),(n,y)=>(p(),v("svg",{ref_key:"svg",ref:e,class:g(["w-full h-full absolute top-0",{"pointer-events-none":!o(t),"touch-none":o(t)}])},null,2))}}),C=h(w,[["__file","/home/mancusoa/WORK/ITI_Agnelli/Materie/slidev/node_modules/@slidev/client/internals/DrawingLayer.vue"]]);export{C as default}; diff --git a/docs/3/linux_cli/assets/NoteDisplay-191efd9f.js b/docs/3/linux_cli/assets/NoteDisplay-aa9a80ad.js similarity index 93% rename from docs/3/linux_cli/assets/NoteDisplay-191efd9f.js rename to docs/3/linux_cli/assets/NoteDisplay-aa9a80ad.js index dcf1f48..0019e5c 100644 --- a/docs/3/linux_cli/assets/NoteDisplay-191efd9f.js +++ b/docs/3/linux_cli/assets/NoteDisplay-aa9a80ad.js @@ -1 +1 @@ -import{d as c,i as d,a as u,f as n,E as s,g as a,t as r,o as l,_ as m}from"./index-7bbd1d08.js";const f=["innerHTML"],v=["textContent"],k=["textContent"],y=c({__name:"NoteDisplay",props:{class:{type:String,required:!1},noteHtml:{type:String,required:!1},note:{type:String,required:!1},placeholder:{type:String,required:!1}},emits:["click"],setup(p){const o=p;return d(u),(e,t)=>e.noteHtml?(l(),n("div",{key:0,class:s(["prose overflow-auto outline-none",o.class]),onClick:t[0]||(t[0]=i=>e.$emit("click")),innerHTML:e.noteHtml},null,10,f)):e.note?(l(),n("div",{key:1,class:s(["prose overflow-auto outline-none",o.class]),onClick:t[1]||(t[1]=i=>e.$emit("click"))},[a("p",{textContent:r(e.note)},null,8,v)],2)):(l(),n("div",{key:2,class:s(["prose overflow-auto outline-none opacity-50 italic",o.class]),onClick:t[2]||(t[2]=i=>e.$emit("click"))},[a("p",{textContent:r(o.placeholder||"No notes.")},null,8,k)],2))}}),g=m(y,[["__file","/home/mancusoa/WORK/ITI_Agnelli/Materie/slidev/node_modules/@slidev/client/internals/NoteDisplay.vue"]]);export{g as N}; +import{d as c,i as d,a as u,f as n,E as s,g as a,t as r,o as l,_ as m}from"./index-12b24402.js";const f=["innerHTML"],v=["textContent"],k=["textContent"],y=c({__name:"NoteDisplay",props:{class:{type:String,required:!1},noteHtml:{type:String,required:!1},note:{type:String,required:!1},placeholder:{type:String,required:!1}},emits:["click"],setup(p){const o=p;return d(u),(e,t)=>e.noteHtml?(l(),n("div",{key:0,class:s(["prose overflow-auto outline-none",o.class]),onClick:t[0]||(t[0]=i=>e.$emit("click")),innerHTML:e.noteHtml},null,10,f)):e.note?(l(),n("div",{key:1,class:s(["prose overflow-auto outline-none",o.class]),onClick:t[1]||(t[1]=i=>e.$emit("click"))},[a("p",{textContent:r(e.note)},null,8,v)],2)):(l(),n("div",{key:2,class:s(["prose overflow-auto outline-none opacity-50 italic",o.class]),onClick:t[2]||(t[2]=i=>e.$emit("click"))},[a("p",{textContent:r(o.placeholder||"No notes.")},null,8,k)],2))}}),g=m(y,[["__file","/home/mancusoa/WORK/ITI_Agnelli/Materie/slidev/node_modules/@slidev/client/internals/NoteDisplay.vue"]]);export{g as N}; diff --git a/docs/3/linux_cli/assets/NotesView-10eae9eb.js b/docs/3/linux_cli/assets/NotesView-84552488.js similarity index 96% rename from docs/3/linux_cli/assets/NotesView-10eae9eb.js rename to docs/3/linux_cli/assets/NotesView-84552488.js index 0340d26..6d18bbe 100644 --- a/docs/3/linux_cli/assets/NotesView-10eae9eb.js +++ b/docs/3/linux_cli/assets/NotesView-84552488.js @@ -1 +1 @@ -import{o as n,f as i,g as e,d as K,i as O,a as P,c as S,b as U,s as W,v as d,w as u,j as M,n as L,h as o,m as a,p as q,x as V,t as B,F as G,k as F,y as J,z as Q,A as X,_ as Y}from"./index-7bbd1d08.js";import{N as H}from"./NoteDisplay-191efd9f.js";const ee={class:"slidev-icon",viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},te=e("path",{fill:"currentColor",d:"M8 12h10v2H8z"},null,-1),oe=e("path",{fill:"currentColor",d:"M21.448 20A10.856 10.856 0 0 0 24 13a11 11 0 1 0-11 11a10.856 10.856 0 0 0 7-2.552L27.586 29L29 27.586ZM13 22a9 9 0 1 1 9-9a9.01 9.01 0 0 1-9 9Z"},null,-1),ne=[te,oe];function se(_,c){return n(),i("svg",ee,ne)}const le={name:"carbon-zoom-out",render:se},ae={class:"slidev-icon",viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},ie=e("path",{fill:"currentColor",d:"M18 12h-4V8h-2v4H8v2h4v4h2v-4h4v-2z"},null,-1),ce=e("path",{fill:"currentColor",d:"M21.448 20A10.856 10.856 0 0 0 24 13a11 11 0 1 0-11 11a10.856 10.856 0 0 0 7-2.552L27.586 29L29 27.586ZM13 22a9 9 0 1 1 9-9a9.01 9.01 0 0 1-9 9Z"},null,-1),re=[ie,ce];function de(_,c){return n(),i("svg",ae,re)}const ue={name:"carbon-zoom-in",render:de},_e={class:"h-full flex flex-col"},pe={key:0,class:"px-5 py-2 max-h-60 overflow-auto border-t border-gray-400 border-opacity-20"},me={class:"flex-none border-t border-gray-400 border-opacity-20"},ve={class:"flex gap-1 items-center px-6 py-3"},he=e("div",{class:"flex-auto"},null,-1),fe={class:"p2 text-center"},xe=K({__name:"NotesView",setup(_){O(P);const c=S.titleTemplate.replace("%s",S.title||"Slidev");U({title:`Notes - ${c}`});const{isFullscreen:T,toggle:p}=J,s=W("slidev-notes-font-size",18),l=d(()=>{var t;return((t=u.lastUpdate)==null?void 0:t.type)==="viewer"?u.viewerPage:u.page}),m=d(()=>M.find(t=>t.path===`${l.value}`)),r=d(()=>M.find(t=>t.path===`${l.value+1}`));function A(){s.value=s.value+1}function R(){s.value=s.value-1}return(t,v)=>{var h,f,x,g,b,y,z,$,w,N,k,C;const Z=Q,j=X,D=ue,I=le;return n(),i(G,null,[e("div",{class:"fixed top-0 left-0 h-2px bg-teal-500 transition-all duration-500",style:L({width:`${(l.value-1)/o(F)*100}%`})},null,4),e("div",_e,[e("div",{class:"px-5 flex-auto h-full overflow-auto",style:L({fontSize:`${o(s)}px`})},[a(H,{note:(x=(f=(h=m.value)==null?void 0:h.meta)==null?void 0:f.slide)==null?void 0:x.note,"note-html":(y=(b=(g=m.value)==null?void 0:g.meta)==null?void 0:b.slide)==null?void 0:y.noteHTML,placeholder:`No notes for Slide ${l.value}.`},null,8,["note","note-html","placeholder"])],4),r.value?(n(),i("div",pe,[a(H,{class:"opacity-50",note:(w=($=(z=r.value)==null?void 0:z.meta)==null?void 0:$.slide)==null?void 0:w.note,"note-html":(C=(k=(N=r.value)==null?void 0:N.meta)==null?void 0:k.slide)==null?void 0:C.noteHTML,placeholder:"No notes for next slide."},null,8,["note","note-html"])])):q("v-if",!0),e("div",me,[e("div",ve,[e("button",{class:"slidev-icon-btn",onClick:v[0]||(v[0]=(...E)=>o(p)&&o(p)(...E))},[o(T)?(n(),V(Z,{key:0})):(n(),V(j,{key:1}))]),e("button",{class:"slidev-icon-btn",onClick:A},[a(D)]),e("button",{class:"slidev-icon-btn",onClick:R},[a(I)]),he,e("div",fe,B(l.value)+" / "+B(o(F)),1)])])])],64)}}}),ye=Y(xe,[["__file","/home/mancusoa/WORK/ITI_Agnelli/Materie/slidev/node_modules/@slidev/client/internals/NotesView.vue"]]);export{ye as default}; +import{o as n,f as i,g as e,d as K,i as O,a as P,c as S,b as U,s as W,v as d,w as u,j as M,n as L,h as o,m as a,p as q,x as V,t as B,F as G,k as F,y as J,z as Q,A as X,_ as Y}from"./index-12b24402.js";import{N as H}from"./NoteDisplay-aa9a80ad.js";const ee={class:"slidev-icon",viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},te=e("path",{fill:"currentColor",d:"M8 12h10v2H8z"},null,-1),oe=e("path",{fill:"currentColor",d:"M21.448 20A10.856 10.856 0 0 0 24 13a11 11 0 1 0-11 11a10.856 10.856 0 0 0 7-2.552L27.586 29L29 27.586ZM13 22a9 9 0 1 1 9-9a9.01 9.01 0 0 1-9 9Z"},null,-1),ne=[te,oe];function se(_,c){return n(),i("svg",ee,ne)}const le={name:"carbon-zoom-out",render:se},ae={class:"slidev-icon",viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},ie=e("path",{fill:"currentColor",d:"M18 12h-4V8h-2v4H8v2h4v4h2v-4h4v-2z"},null,-1),ce=e("path",{fill:"currentColor",d:"M21.448 20A10.856 10.856 0 0 0 24 13a11 11 0 1 0-11 11a10.856 10.856 0 0 0 7-2.552L27.586 29L29 27.586ZM13 22a9 9 0 1 1 9-9a9.01 9.01 0 0 1-9 9Z"},null,-1),re=[ie,ce];function de(_,c){return n(),i("svg",ae,re)}const ue={name:"carbon-zoom-in",render:de},_e={class:"h-full flex flex-col"},pe={key:0,class:"px-5 py-2 max-h-60 overflow-auto border-t border-gray-400 border-opacity-20"},me={class:"flex-none border-t border-gray-400 border-opacity-20"},ve={class:"flex gap-1 items-center px-6 py-3"},he=e("div",{class:"flex-auto"},null,-1),fe={class:"p2 text-center"},xe=K({__name:"NotesView",setup(_){O(P);const c=S.titleTemplate.replace("%s",S.title||"Slidev");U({title:`Notes - ${c}`});const{isFullscreen:T,toggle:p}=J,s=W("slidev-notes-font-size",18),l=d(()=>{var t;return((t=u.lastUpdate)==null?void 0:t.type)==="viewer"?u.viewerPage:u.page}),m=d(()=>M.find(t=>t.path===`${l.value}`)),r=d(()=>M.find(t=>t.path===`${l.value+1}`));function A(){s.value=s.value+1}function R(){s.value=s.value-1}return(t,v)=>{var h,f,x,g,b,y,z,$,w,N,k,C;const Z=Q,j=X,D=ue,I=le;return n(),i(G,null,[e("div",{class:"fixed top-0 left-0 h-2px bg-teal-500 transition-all duration-500",style:L({width:`${(l.value-1)/o(F)*100}%`})},null,4),e("div",_e,[e("div",{class:"px-5 flex-auto h-full overflow-auto",style:L({fontSize:`${o(s)}px`})},[a(H,{note:(x=(f=(h=m.value)==null?void 0:h.meta)==null?void 0:f.slide)==null?void 0:x.note,"note-html":(y=(b=(g=m.value)==null?void 0:g.meta)==null?void 0:b.slide)==null?void 0:y.noteHTML,placeholder:`No notes for Slide ${l.value}.`},null,8,["note","note-html","placeholder"])],4),r.value?(n(),i("div",pe,[a(H,{class:"opacity-50",note:(w=($=(z=r.value)==null?void 0:z.meta)==null?void 0:$.slide)==null?void 0:w.note,"note-html":(C=(k=(N=r.value)==null?void 0:N.meta)==null?void 0:k.slide)==null?void 0:C.noteHTML,placeholder:"No notes for next slide."},null,8,["note","note-html"])])):q("v-if",!0),e("div",me,[e("div",ve,[e("button",{class:"slidev-icon-btn",onClick:v[0]||(v[0]=(...E)=>o(p)&&o(p)(...E))},[o(T)?(n(),V(Z,{key:0})):(n(),V(j,{key:1}))]),e("button",{class:"slidev-icon-btn",onClick:A},[a(D)]),e("button",{class:"slidev-icon-btn",onClick:R},[a(I)]),he,e("div",fe,B(l.value)+" / "+B(o(F)),1)])])])],64)}}}),ye=Y(xe,[["__file","/home/mancusoa/WORK/ITI_Agnelli/Materie/slidev/node_modules/@slidev/client/internals/NotesView.vue"]]);export{ye as default}; diff --git a/docs/3/linux_cli/assets/Presenter-6e9af608.js b/docs/3/linux_cli/assets/Presenter-bf754b68.js similarity index 97% rename from docs/3/linux_cli/assets/Presenter-6e9af608.js rename to docs/3/linux_cli/assets/Presenter-bf754b68.js index 9c6249c..cf18020 100644 --- a/docs/3/linux_cli/assets/Presenter-6e9af608.js +++ b/docs/3/linux_cli/assets/Presenter-bf754b68.js @@ -1 +1 @@ -import{o as d,f as k,g as e,B as S,C as R,v as h,d as V,i as I,a as B,D as y,x as p,E as P,_ as H,G as z,H as A,c as b,b as D,I as $,J as O,K as W,L as E,M as L,N as q,O as F,P as K,Q as U,h as i,m as u,t as Z,n as x,R as N,S as T,p as j,T as G,U as w,V as J,F as Q,W as X,X as Y,w as ee,Y as te,Z as se,q as M,$ as oe,a0 as le,a1 as ne,a2 as ae,k as ie,a3 as re,a4 as ce}from"./index-7bbd1d08.js";import{N as ue}from"./NoteDisplay-191efd9f.js";import de from"./DrawingControls-ef8ecf20.js";const _e={class:"slidev-icon",viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},ve=e("path",{fill:"currentColor",d:"M12 10H6.78A11 11 0 0 1 27 16h2A13 13 0 0 0 6 7.68V4H4v8h8zm8 12h5.22A11 11 0 0 1 5 16H3a13 13 0 0 0 23 8.32V28h2v-8h-8z"},null,-1),me=[ve];function pe(o,n){return d(),k("svg",_e,me)}const he={name:"carbon-renew",render:pe},fe={class:"slidev-icon",viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},ge=e("path",{fill:"currentColor",d:"M16 30a14 14 0 1 1 14-14a14 14 0 0 1-14 14Zm0-26a12 12 0 1 0 12 12A12 12 0 0 0 16 4Z"},null,-1),xe=e("path",{fill:"currentColor",d:"M20.59 22L15 16.41V7h2v8.58l5 5.01L20.59 22z"},null,-1),we=[ge,xe];function Se(o,n){return d(),k("svg",fe,we)}const ye={name:"carbon-time",render:Se},ke="/3/linux_cli/assets/logo-title-horizontal-96c3c915.png";function Ce(){const o=S(Date.now()),n=R({interval:1e3}),_=h(()=>{const t=(n.value-o.value)/1e3,l=Math.floor(t%60).toString().padStart(2,"0");return`${Math.floor(t/60).toString().padStart(2,"0")}:${l}`});function v(){o.value=n.value}return{timer:_,resetTimer:v}}const be=V({__name:"NoteStatic",props:{class:{type:String,required:!1}},setup(o){const n=o;I(B);const _=h(()=>{var t,l,s;return(s=(l=(t=y.value)==null?void 0:t.meta)==null?void 0:l.slide)==null?void 0:s.note}),v=h(()=>{var t,l,s;return(s=(l=(t=y.value)==null?void 0:t.meta)==null?void 0:l.slide)==null?void 0:s.noteHTML});return(t,l)=>(d(),p(ue,{class:P(n.class),note:_.value,"note-html":v.value},null,8,["class","note","note-html"]))}}),$e=H(be,[["__file","/home/mancusoa/WORK/ITI_Agnelli/Materie/slidev/node_modules/@slidev/client/internals/NoteStatic.vue"]]),f=o=>(X("data-v-574fd206"),o=o(),Y(),o),Ne={class:"bg-main h-full slidev-presenter"},Te={class:"grid-container"},Me={class:"grid-section top flex"},Ve=f(()=>e("img",{src:ke,class:"ml-2 my-auto h-10 py-1 lg:h-14 lg:py-2"},null,-1)),Ie=f(()=>e("div",{class:"flex-auto"},null,-1)),Be={class:"text-2xl pl-2 pr-6 my-auto tabular-nums"},Pe=f(()=>e("div",{class:"context"}," current ",-1)),He=f(()=>e("div",{class:"context"}," next ",-1)),Re={class:"grid-section note overflow-auto"},ze={class:"grid-section bottom"},Ae={class:"progress-bar"},De=V({__name:"Presenter",setup(o){I(B);const n=S();z(),A(n);const _=b.titleTemplate.replace("%s",b.title||"Slidev");D({title:`Presenter - ${_}`});const{timer:v,resetTimer:t}=Ce(),l=S([]),s=h(()=>$.value{const C=n.value.querySelector("#slide-content"),r=q(F()),g=K();U(()=>{if(!g.value||te.value||!se.value)return;const c=C.getBoundingClientRect(),a=(r.x-c.left)/c.width*100,m=(r.y-c.top)/c.height*100;if(!(a<0||a>100||m<0||m>100))return{x:a,y:m}},c=>{ee.cursor=c})}),(C,r)=>{const g=ye,c=he;return d(),k(Q,null,[e("div",Ne,[e("div",Te,[e("div",Me,[Ve,Ie,e("div",{class:"timer-btn my-auto relative w-22px h-22px cursor-pointer text-lg",opacity:"50 hover:100",onClick:r[0]||(r[0]=(...a)=>i(t)&&i(t)(...a))},[u(g,{class:"absolute"}),u(c,{class:"absolute opacity-0"})]),e("div",Be,Z(i(v)),1)]),e("div",{ref_key:"main",ref:n,class:"relative grid-section main flex flex-col p-2 lg:p-4",style:x(i(M))},[u(T,{key:"main",class:"h-full w-full"},{default:N(()=>[u(oe,{context:"presenter"})]),_:1}),Pe],4),e("div",{class:"relative grid-section next flex flex-col p-2 lg:p-4",style:x(i(M))},[s.value?(d(),p(T,{key:"next",class:"h-full w-full"},{default:N(()=>{var a;return[u(i(ne),{is:(a=s.value.route)==null?void 0:a.component,"clicks-elements":l.value,"onUpdate:clicksElements":r[1]||(r[1]=m=>l.value=m),clicks:s.value.clicks,"clicks-disabled":!1,class:P(i(le)(s.value.route)),route:s.value.route,context:"previewNext"},null,8,["is","clicks-elements","clicks","class","route"])]}),_:1})):j("v-if",!0),He],4),e("div",Re,[(d(),p($e,{key:1,class:"w-full h-full overflow-auto p-2 lg:p-4"}))]),e("div",ze,[u(re,{persist:!0})]),(d(),p(de,{key:0}))]),e("div",Ae,[e("div",{class:"progress h-2px bg-primary transition-all",style:x({width:`${(i(ae)-1)/(i(ie)-1)*100}%`})},null,4)])]),u(ce),u(J,{modelValue:i(w),"onUpdate:modelValue":r[2]||(r[2]=a=>G(w)?w.value=a:null)},null,8,["modelValue"])],64)}}});const Le=H(De,[["__scopeId","data-v-574fd206"],["__file","/home/mancusoa/WORK/ITI_Agnelli/Materie/slidev/node_modules/@slidev/client/internals/Presenter.vue"]]);export{Le as default}; +import{o as d,f as k,g as e,B as S,C as R,v as h,d as V,i as I,a as B,D as y,x as p,E as P,_ as H,G as z,H as A,c as b,b as D,I as $,J as O,K as W,L as E,M as L,N as q,O as F,P as K,Q as U,h as i,m as u,t as Z,n as x,R as N,S as T,p as j,T as G,U as w,V as J,F as Q,W as X,X as Y,w as ee,Y as te,Z as se,q as M,$ as oe,a0 as le,a1 as ne,a2 as ae,k as ie,a3 as re,a4 as ce}from"./index-12b24402.js";import{N as ue}from"./NoteDisplay-aa9a80ad.js";import de from"./DrawingControls-0c1ad1a3.js";const _e={class:"slidev-icon",viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},ve=e("path",{fill:"currentColor",d:"M12 10H6.78A11 11 0 0 1 27 16h2A13 13 0 0 0 6 7.68V4H4v8h8zm8 12h5.22A11 11 0 0 1 5 16H3a13 13 0 0 0 23 8.32V28h2v-8h-8z"},null,-1),me=[ve];function pe(o,n){return d(),k("svg",_e,me)}const he={name:"carbon-renew",render:pe},fe={class:"slidev-icon",viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},ge=e("path",{fill:"currentColor",d:"M16 30a14 14 0 1 1 14-14a14 14 0 0 1-14 14Zm0-26a12 12 0 1 0 12 12A12 12 0 0 0 16 4Z"},null,-1),xe=e("path",{fill:"currentColor",d:"M20.59 22L15 16.41V7h2v8.58l5 5.01L20.59 22z"},null,-1),we=[ge,xe];function Se(o,n){return d(),k("svg",fe,we)}const ye={name:"carbon-time",render:Se},ke="/3/linux_cli/assets/logo-title-horizontal-96c3c915.png";function Ce(){const o=S(Date.now()),n=R({interval:1e3}),_=h(()=>{const t=(n.value-o.value)/1e3,l=Math.floor(t%60).toString().padStart(2,"0");return`${Math.floor(t/60).toString().padStart(2,"0")}:${l}`});function v(){o.value=n.value}return{timer:_,resetTimer:v}}const be=V({__name:"NoteStatic",props:{class:{type:String,required:!1}},setup(o){const n=o;I(B);const _=h(()=>{var t,l,s;return(s=(l=(t=y.value)==null?void 0:t.meta)==null?void 0:l.slide)==null?void 0:s.note}),v=h(()=>{var t,l,s;return(s=(l=(t=y.value)==null?void 0:t.meta)==null?void 0:l.slide)==null?void 0:s.noteHTML});return(t,l)=>(d(),p(ue,{class:P(n.class),note:_.value,"note-html":v.value},null,8,["class","note","note-html"]))}}),$e=H(be,[["__file","/home/mancusoa/WORK/ITI_Agnelli/Materie/slidev/node_modules/@slidev/client/internals/NoteStatic.vue"]]),f=o=>(X("data-v-574fd206"),o=o(),Y(),o),Ne={class:"bg-main h-full slidev-presenter"},Te={class:"grid-container"},Me={class:"grid-section top flex"},Ve=f(()=>e("img",{src:ke,class:"ml-2 my-auto h-10 py-1 lg:h-14 lg:py-2"},null,-1)),Ie=f(()=>e("div",{class:"flex-auto"},null,-1)),Be={class:"text-2xl pl-2 pr-6 my-auto tabular-nums"},Pe=f(()=>e("div",{class:"context"}," current ",-1)),He=f(()=>e("div",{class:"context"}," next ",-1)),Re={class:"grid-section note overflow-auto"},ze={class:"grid-section bottom"},Ae={class:"progress-bar"},De=V({__name:"Presenter",setup(o){I(B);const n=S();z(),A(n);const _=b.titleTemplate.replace("%s",b.title||"Slidev");D({title:`Presenter - ${_}`});const{timer:v,resetTimer:t}=Ce(),l=S([]),s=h(()=>$.value{const C=n.value.querySelector("#slide-content"),r=q(F()),g=K();U(()=>{if(!g.value||te.value||!se.value)return;const c=C.getBoundingClientRect(),a=(r.x-c.left)/c.width*100,m=(r.y-c.top)/c.height*100;if(!(a<0||a>100||m<0||m>100))return{x:a,y:m}},c=>{ee.cursor=c})}),(C,r)=>{const g=ye,c=he;return d(),k(Q,null,[e("div",Ne,[e("div",Te,[e("div",Me,[Ve,Ie,e("div",{class:"timer-btn my-auto relative w-22px h-22px cursor-pointer text-lg",opacity:"50 hover:100",onClick:r[0]||(r[0]=(...a)=>i(t)&&i(t)(...a))},[u(g,{class:"absolute"}),u(c,{class:"absolute opacity-0"})]),e("div",Be,Z(i(v)),1)]),e("div",{ref_key:"main",ref:n,class:"relative grid-section main flex flex-col p-2 lg:p-4",style:x(i(M))},[u(T,{key:"main",class:"h-full w-full"},{default:N(()=>[u(oe,{context:"presenter"})]),_:1}),Pe],4),e("div",{class:"relative grid-section next flex flex-col p-2 lg:p-4",style:x(i(M))},[s.value?(d(),p(T,{key:"next",class:"h-full w-full"},{default:N(()=>{var a;return[u(i(ne),{is:(a=s.value.route)==null?void 0:a.component,"clicks-elements":l.value,"onUpdate:clicksElements":r[1]||(r[1]=m=>l.value=m),clicks:s.value.clicks,"clicks-disabled":!1,class:P(i(le)(s.value.route)),route:s.value.route,context:"previewNext"},null,8,["is","clicks-elements","clicks","class","route"])]}),_:1})):j("v-if",!0),He],4),e("div",Re,[(d(),p($e,{key:1,class:"w-full h-full overflow-auto p-2 lg:p-4"}))]),e("div",ze,[u(re,{persist:!0})]),(d(),p(de,{key:0}))]),e("div",Ae,[e("div",{class:"progress h-2px bg-primary transition-all",style:x({width:`${(i(ae)-1)/(i(ie)-1)*100}%`})},null,4)])]),u(ce),u(J,{modelValue:i(w),"onUpdate:modelValue":r[2]||(r[2]=a=>G(w)?w.value=a:null)},null,8,["modelValue"])],64)}}});const Le=H(De,[["__scopeId","data-v-574fd206"],["__file","/home/mancusoa/WORK/ITI_Agnelli/Materie/slidev/node_modules/@slidev/client/internals/Presenter.vue"]]);export{Le as default}; diff --git a/docs/3/linux_cli/assets/PresenterPrint-b6c9ab61.js b/docs/3/linux_cli/assets/PresenterPrint-4d2319dd.js similarity index 91% rename from docs/3/linux_cli/assets/PresenterPrint-b6c9ab61.js rename to docs/3/linux_cli/assets/PresenterPrint-4d2319dd.js index d66e408..9363bdf 100644 --- a/docs/3/linux_cli/assets/PresenterPrint-b6c9ab61.js +++ b/docs/3/linux_cli/assets/PresenterPrint-4d2319dd.js @@ -1,4 +1,4 @@ -import{d as _,i as d,a as p,u as h,b as u,c as m,e as f,f as n,g as t,t as s,h as a,F as g,r as v,n as x,j as y,o as l,k as b,l as N,m as k,p as P,q as w,_ as S}from"./index-7bbd1d08.js";import{N as T}from"./NoteDisplay-191efd9f.js";const V={class:"m-4"},j={class:"mb-10"},L={class:"text-4xl font-bold mt-2"},B={class:"opacity-50"},C={class:"text-lg"},D={class:"font-bold flex gap-2"},H={class:"opacity-50"},M=t("div",{class:"flex-auto"},null,-1),z={key:0,class:"border-gray-400/50 mb-8"},A=_({__name:"PresenterPrint",setup(F){d(p),h(` +import{d as _,i as d,a as p,u as h,b as u,c as m,e as f,f as n,g as t,t as s,h as a,F as g,r as v,n as x,j as y,o as l,k as b,l as N,m as k,p as P,q as w,_ as S}from"./index-12b24402.js";import{N as T}from"./NoteDisplay-aa9a80ad.js";const V={class:"m-4"},j={class:"mb-10"},L={class:"text-4xl font-bold mt-2"},B={class:"opacity-50"},C={class:"text-lg"},D={class:"font-bold flex gap-2"},H={class:"opacity-50"},M=t("div",{class:"flex-auto"},null,-1),z={key:0,class:"border-gray-400/50 mb-8"},A=_({__name:"PresenterPrint",setup(F){d(p),h(` @page { size: A4; margin-top: 1.5cm; diff --git a/docs/3/linux_cli/assets/cli_21-ee261d4c.png b/docs/3/linux_cli/assets/cli_21-ee261d4c.png new file mode 100644 index 0000000..6da3f02 Binary files /dev/null and b/docs/3/linux_cli/assets/cli_21-ee261d4c.png differ diff --git a/docs/3/linux_cli/assets/cli_22-627ef7bb.png b/docs/3/linux_cli/assets/cli_22-627ef7bb.png new file mode 100644 index 0000000..45f4e0e Binary files /dev/null and b/docs/3/linux_cli/assets/cli_22-627ef7bb.png differ diff --git a/docs/3/linux_cli/assets/index-7bbd1d08.js b/docs/3/linux_cli/assets/index-12b24402.js similarity index 57% rename from docs/3/linux_cli/assets/index-7bbd1d08.js rename to docs/3/linux_cli/assets/index-12b24402.js index a456b87..ec00815 100644 --- a/docs/3/linux_cli/assets/index-7bbd1d08.js +++ b/docs/3/linux_cli/assets/index-12b24402.js @@ -1,42 +1,42 @@ -(function(){const s=document.createElement("link").relList;if(s&&s.supports&&s.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))a(i);new MutationObserver(i=>{for(const l of i)if(l.type==="childList")for(const r of l.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&a(r)}).observe(document,{childList:!0,subtree:!0});function o(i){const l={};return i.integrity&&(l.integrity=i.integrity),i.referrerPolicy&&(l.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?l.credentials="include":i.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function a(i){if(i.ep)return;i.ep=!0;const l=o(i);fetch(i.href,l)}})();function Wt(n,s){const o=Object.create(null),a=n.split(",");for(let i=0;i!!o[i.toLowerCase()]:i=>!!o[i]}const je=Object.freeze({}),Ts=Object.freeze([]),xn=()=>{},_p=()=>!1,Uf=/^on[^a-z]/,Ko=n=>Uf.test(n),$a=n=>n.startsWith("onUpdate:"),Ke=Object.assign,Jl=(n,s)=>{const o=n.indexOf(s);o>-1&&n.splice(o,1)},Gf=Object.prototype.hasOwnProperty,Ce=(n,s)=>Gf.call(n,s),ue=Array.isArray,cs=n=>Ho(n)==="[object Map]",gp=n=>Ho(n)==="[object Set]",Yf=n=>Ho(n)==="[object RegExp]",fe=n=>typeof n=="function",We=n=>typeof n=="string",Xl=n=>typeof n=="symbol",ze=n=>n!==null&&typeof n=="object",er=n=>ze(n)&&fe(n.then)&&fe(n.catch),vp=Object.prototype.toString,Ho=n=>vp.call(n),nr=n=>Ho(n).slice(8,-1),bp=n=>Ho(n)==="[object Object]",tr=n=>We(n)&&n!=="NaN"&&n[0]!=="-"&&""+parseInt(n,10)===n,_a=Wt(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Qf=Wt("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"),Qa=n=>{const s=Object.create(null);return o=>s[o]||(s[o]=n(o))},Zf=/-(\w)/g,ot=Qa(n=>n.replace(Zf,(s,o)=>o?o.toUpperCase():"")),Jf=/\B([A-Z])/g,vt=Qa(n=>n.replace(Jf,"-$1").toLowerCase()),gs=Qa(n=>n.charAt(0).toUpperCase()+n.slice(1)),Zt=Qa(n=>n?`on${gs(n)}`:""),Io=(n,s)=>!Object.is(n,s),Xt=(n,s)=>{for(let o=0;o{Object.defineProperty(n,s,{configurable:!0,enumerable:!1,value:o})},Xf=n=>{const s=parseFloat(n);return isNaN(s)?n:s},e1=n=>{const s=We(n)?Number(n):NaN;return isNaN(s)?n:s};let Jr;const Ca=()=>Jr||(Jr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function tn(n){if(ue(n)){const s={};for(let o=0;o{if(o){const a=o.split(t1);a.length>1&&(s[a[0].trim()]=a[1].trim())}}),s}function qe(n){let s="";if(We(n))s=n;else if(ue(n))for(let o=0;oWe(n)?n:n==null?"":ue(n)||ze(n)&&(n.toString===vp||!fe(n.toString))?JSON.stringify(n,wp,2):String(n),wp=(n,s)=>s&&s.__v_isRef?wp(n,s.value):cs(s)?{[`Map(${s.size})`]:[...s.entries()].reduce((o,[a,i])=>(o[`${a} =>`]=i,o),{})}:gp(s)?{[`Set(${s.size})`]:[...s.values()]}:ze(s)&&!ue(s)&&!bp(s)?String(s):s;function Ea(n,...s){console.warn(`[Vue warn] ${n}`,...s)}let Cn;class yp{constructor(s=!1){this.detached=s,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Cn,!s&&Cn&&(this.index=(Cn.scopes||(Cn.scopes=[])).push(this)-1)}get active(){return this._active}run(s){if(this._active){const o=Cn;try{return Cn=this,s()}finally{Cn=o}}else Ea("cannot run an inactive effect scope.")}on(){Cn=this}off(){Cn=this.parent}stop(s){if(this._active){let o,a;for(o=0,a=this.effects.length;o{const s=new Set(n);return s.w=0,s.n=0,s},$p=n=>(n.w&Ft)>0,Lp=n=>(n.n&Ft)>0,d1=({deps:n})=>{if(n.length)for(let s=0;s{const{deps:s}=n;if(s.length){let o=0;for(let a=0;a{(m==="length"||m>=p)&&c.push(d)})}else switch(o!==void 0&&c.push(r.get(o)),s){case"add":ue(n)?tr(o)&&c.push(r.get("length")):(c.push(r.get(us)),cs(n)&&c.push(r.get(Qi)));break;case"delete":ue(n)||(c.push(r.get(us)),cs(n)&&c.push(r.get(Qi)));break;case"set":cs(n)&&c.push(r.get(us));break}const u={target:n,type:s,key:o,newValue:a,oldValue:i,oldTarget:l};if(c.length===1)c[0]&&Zi(c[0],u);else{const p=[];for(const d of c)d&&p.push(...d);Zi(or(p),u)}}function Zi(n,s){const o=ue(n)?n:[...n];for(const a of o)a.computed&&ec(a,s);for(const a of o)a.computed||ec(a,s)}function ec(n,s){(n!==fn||n.allowRecurse)&&(n.onTrigger&&n.onTrigger(Ke({effect:n},s)),n.scheduler?n.scheduler():n.run())}function f1(n,s){var o;return(o=Sa.get(n))==null?void 0:o.get(s)}const h1=Wt("__proto__,__v_isRef,__isVue"),Sp=new Set(Object.getOwnPropertyNames(Symbol).filter(n=>n!=="arguments"&&n!=="caller").map(n=>Symbol[n]).filter(Xl)),_1=Za(),g1=Za(!1,!0),v1=Za(!0),b1=Za(!0,!0),nc=k1();function k1(){const n={};return["includes","indexOf","lastIndexOf"].forEach(s=>{n[s]=function(...o){const a=ge(this);for(let l=0,r=this.length;l{n[s]=function(...o){bs();const a=ge(this)[s].apply(this,o);return ks(),a}}),n}function x1(n){const s=ge(this);return cn(s,"has",n),s.hasOwnProperty(n)}function Za(n=!1,s=!1){return function(a,i,l){if(i==="__v_isReactive")return!n;if(i==="__v_isReadonly")return n;if(i==="__v_isShallow")return s;if(i==="__v_raw"&&l===(n?s?Dp:Pp:s?Op:zp).get(a))return a;const r=ue(a);if(!n){if(r&&Ce(nc,i))return Reflect.get(nc,i,l);if(i==="hasOwnProperty")return x1}const c=Reflect.get(a,i,l);return(Xl(i)?Sp.has(i):h1(i))||(n||cn(a,"get",i),s)?c:Ae(c)?r&&tr(i)?c:c.value:ze(c)?n?Un(c):Be(c):c}}const w1=Rp(),y1=Rp(!0);function Rp(n=!1){return function(o,a,i,l){let r=o[a];if(jt(r)&&Ae(r)&&!Ae(i))return!1;if(!n&&(!Ra(i)&&!jt(i)&&(r=ge(r),i=ge(i)),!ue(o)&&Ae(r)&&!Ae(i)))return r.value=i,!0;const c=ue(o)&&tr(a)?Number(a)n,Ja=n=>Reflect.getPrototypeOf(n);function Jo(n,s,o=!1,a=!1){n=n.__v_raw;const i=ge(n),l=ge(s);o||(s!==l&&cn(i,"get",s),cn(i,"get",l));const{has:r}=Ja(i),c=a?ir:o?lr:$o;if(r.call(i,s))return c(n.get(s));if(r.call(i,l))return c(n.get(l));n!==i&&n.get(s)}function Xo(n,s=!1){const o=this.__v_raw,a=ge(o),i=ge(n);return s||(n!==i&&cn(a,"has",n),cn(a,"has",i)),n===i?o.has(n):o.has(n)||o.has(i)}function ea(n,s=!1){return n=n.__v_raw,!s&&cn(ge(n),"iterate",us),Reflect.get(n,"size",n)}function tc(n){n=ge(n);const s=ge(this);return Ja(s).has.call(s,n)||(s.add(n),at(s,"add",n,n)),this}function sc(n,s){s=ge(s);const o=ge(this),{has:a,get:i}=Ja(o);let l=a.call(o,n);l?Mp(o,a,n):(n=ge(n),l=a.call(o,n));const r=i.call(o,n);return o.set(n,s),l?Io(s,r)&&at(o,"set",n,s,r):at(o,"add",n,s),this}function oc(n){const s=ge(this),{has:o,get:a}=Ja(s);let i=o.call(s,n);i?Mp(s,o,n):(n=ge(n),i=o.call(s,n));const l=a?a.call(s,n):void 0,r=s.delete(n);return i&&at(s,"delete",n,void 0,l),r}function ac(){const n=ge(this),s=n.size!==0,o=cs(n)?new Map(n):new Set(n),a=n.clear();return s&&at(n,"clear",void 0,void 0,o),a}function na(n,s){return function(a,i){const l=this,r=l.__v_raw,c=ge(r),u=s?ir:n?lr:$o;return!n&&cn(c,"iterate",us),r.forEach((p,d)=>a.call(i,u(p),u(d),l))}}function ta(n,s,o){return function(...a){const i=this.__v_raw,l=ge(i),r=cs(l),c=n==="entries"||n===Symbol.iterator&&r,u=n==="keys"&&r,p=i[n](...a),d=o?ir:s?lr:$o;return!s&&cn(l,"iterate",u?Qi:us),{next(){const{value:m,done:f}=p.next();return f?{value:m,done:f}:{value:c?[d(m[0]),d(m[1])]:d(m),done:f}},[Symbol.iterator](){return this}}}}function wt(n){return function(...s){{const o=s[0]?`on key "${s[0]}" `:"";console.warn(`${gs(n)} operation ${o}failed: target is readonly.`,ge(this))}return n==="delete"?!1:this}}function S1(){const n={get(l){return Jo(this,l)},get size(){return ea(this)},has:Xo,add:tc,set:sc,delete:oc,clear:ac,forEach:na(!1,!1)},s={get(l){return Jo(this,l,!1,!0)},get size(){return ea(this)},has:Xo,add:tc,set:sc,delete:oc,clear:ac,forEach:na(!1,!0)},o={get(l){return Jo(this,l,!0)},get size(){return ea(this,!0)},has(l){return Xo.call(this,l,!0)},add:wt("add"),set:wt("set"),delete:wt("delete"),clear:wt("clear"),forEach:na(!0,!1)},a={get(l){return Jo(this,l,!0,!0)},get size(){return ea(this,!0)},has(l){return Xo.call(this,l,!0)},add:wt("add"),set:wt("set"),delete:wt("delete"),clear:wt("clear"),forEach:na(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(l=>{n[l]=ta(l,!1,!1),o[l]=ta(l,!0,!1),s[l]=ta(l,!1,!0),a[l]=ta(l,!0,!0)}),[n,o,s,a]}const[R1,T1,A1,M1]=S1();function Xa(n,s){const o=s?n?M1:A1:n?T1:R1;return(a,i,l)=>i==="__v_isReactive"?!n:i==="__v_isReadonly"?n:i==="__v_raw"?a:Reflect.get(Ce(o,i)&&i in a?o:a,i,l)}const z1={get:Xa(!1,!1)},O1={get:Xa(!1,!0)},P1={get:Xa(!0,!1)},D1={get:Xa(!0,!0)};function Mp(n,s,o){const a=ge(o);if(a!==o&&s.call(n,a)){const i=nr(n);console.warn(`Reactive ${i} contains both the raw and reactive versions of the same object${i==="Map"?" as keys":""}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`)}}const zp=new WeakMap,Op=new WeakMap,Pp=new WeakMap,Dp=new WeakMap;function N1(n){switch(n){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function F1(n){return n.__v_skip||!Object.isExtensible(n)?0:N1(nr(n))}function Be(n){return jt(n)?n:ei(n,!1,Tp,z1,zp)}function j1(n){return ei(n,!1,C1,O1,Op)}function Un(n){return ei(n,!0,Ap,P1,Pp)}function oo(n){return ei(n,!0,E1,D1,Dp)}function ei(n,s,o,a,i){if(!ze(n))return console.warn(`value cannot be made reactive: ${String(n)}`),n;if(n.__v_raw&&!(s&&n.__v_isReactive))return n;const l=i.get(n);if(l)return l;const r=F1(n);if(r===0)return n;const c=new Proxy(n,r===2?a:o);return i.set(n,c),c}function ps(n){return jt(n)?ps(n.__v_raw):!!(n&&n.__v_isReactive)}function jt(n){return!!(n&&n.__v_isReadonly)}function Ra(n){return!!(n&&n.__v_isShallow)}function Ta(n){return ps(n)||jt(n)}function ge(n){const s=n&&n.__v_raw;return s?ge(s):n}function ni(n){return La(n,"__v_skip",!0),n}const $o=n=>ze(n)?Be(n):n,lr=n=>ze(n)?Un(n):n;function rr(n){Tt&&fn&&(n=ge(n),Ep(n.dep||(n.dep=or()),{target:n,type:"get",key:"value"}))}function cr(n,s){n=ge(n);const o=n.dep;o&&Zi(o,{target:n,type:"set",key:"value",newValue:s})}function Ae(n){return!!(n&&n.__v_isRef===!0)}function J(n){return Np(n,!1)}function it(n){return Np(n,!0)}function Np(n,s){return Ae(n)?n:new K1(n,s)}class K1{constructor(s,o){this.__v_isShallow=o,this.dep=void 0,this.__v_isRef=!0,this._rawValue=o?s:ge(s),this._value=o?s:$o(s)}get value(){return rr(this),this._value}set value(s){const o=this.__v_isShallow||Ra(s)||jt(s);s=o?s:ge(s),Io(s,this._rawValue)&&(this._rawValue=s,this._value=o?s:$o(s),cr(this,s))}}function z(n){return Ae(n)?n.value:n}const H1={get:(n,s,o)=>z(Reflect.get(n,s,o)),set:(n,s,o,a)=>{const i=n[s];return Ae(i)&&!Ae(o)?(i.value=o,!0):Reflect.set(n,s,o,a)}};function Fp(n){return ps(n)?n:new Proxy(n,H1)}class W1{constructor(s){this.dep=void 0,this.__v_isRef=!0;const{get:o,set:a}=s(()=>rr(this),()=>cr(this));this._get=o,this._set=a}get value(){return this._get()}set value(s){this._set(s)}}function ur(n){return new W1(n)}function B1(n){Ta(n)||console.warn("toRefs() expects a reactive object but received a plain one.");const s=ue(n)?new Array(n.length):{};for(const o in n)s[o]=jp(n,o);return s}class q1{constructor(s,o,a){this._object=s,this._key=o,this._defaultValue=a,this.__v_isRef=!0}get value(){const s=this._object[this._key];return s===void 0?this._defaultValue:s}set value(s){this._object[this._key]=s}get dep(){return f1(ge(this._object),this._key)}}class V1{constructor(s){this._getter=s,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function U1(n,s,o){return Ae(n)?n:fe(n)?new V1(n):ze(n)&&arguments.length>1?jp(n,s,o):J(n)}function jp(n,s,o){const a=n[s];return Ae(a)?a:new q1(n,s,o)}class G1{constructor(s,o,a,i){this._setter=o,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this._dirty=!0,this.effect=new ar(s,()=>{this._dirty||(this._dirty=!0,cr(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!i,this.__v_isReadonly=a}get value(){const s=ge(this);return rr(s),(s._dirty||!s._cacheable)&&(s._dirty=!1,s._value=s.effect.run()),s._value}set value(s){this._setter(s)}}function Y1(n,s,o=!1){let a,i;const l=fe(n);l?(a=n,i=()=>{console.warn("Write operation failed: computed value is readonly")}):(a=n.get,i=n.set);const r=new G1(a,i,l||!i,o);return s&&!o&&(r.effect.onTrack=s.onTrack,r.effect.onTrigger=s.onTrigger),r}const ds=[];function ga(n){ds.push(n)}function va(){ds.pop()}function q(n,...s){bs();const o=ds.length?ds[ds.length-1].component:null,a=o&&o.appContext.config.warnHandler,i=Q1();if(a)gt(a,o,11,[n+s.join(""),o&&o.proxy,i.map(({vnode:l})=>`at <${pi(o,l.type)}>`).join(` -`),i]);else{const l=[`[Vue warn]: ${n}`,...s];i.length&&l.push(` -`,...Z1(i)),console.warn(...l)}ks()}function Q1(){let n=ds[ds.length-1];if(!n)return[];const s=[];for(;n;){const o=s[0];o&&o.vnode===n?o.recurseCount++:s.push({vnode:n,recurseCount:0});const a=n.component&&n.component.parent;n=a&&a.vnode}return s}function Z1(n){const s=[];return n.forEach((o,a)=>{s.push(...a===0?[]:[` -`],...J1(o))}),s}function J1({vnode:n,recurseCount:s}){const o=s>0?`... (${s} recursive calls)`:"",a=n.component?n.component.parent==null:!1,i=` at <${pi(n.component,n.type,a)}`,l=">"+o;return n.props?[i,...X1(n.props),l]:[i+l]}function X1(n){const s=[],o=Object.keys(n);return o.slice(0,3).forEach(a=>{s.push(...Kp(a,n[a]))}),o.length>3&&s.push(" ..."),s}function Kp(n,s,o){return We(s)?(s=JSON.stringify(s),o?s:[`${n}=${s}`]):typeof s=="number"||typeof s=="boolean"||s==null?o?s:[`${n}=${s}`]:Ae(s)?(s=Kp(n,ge(s.value),!0),o?s:[`${n}=Ref<`,s,">"]):fe(s)?[`${n}=fn${s.name?`<${s.name}>`:""}`]:(s=ge(s),o?s:[`${n}=`,s])}function eh(n,s){n!==void 0&&(typeof n!="number"?q(`${s} is not a valid number - got ${JSON.stringify(n)}.`):isNaN(n)&&q(`${s} is NaN - the duration expression might be incorrect.`))}const pr={sp:"serverPrefetch hook",bc:"beforeCreate hook",c:"created hook",bm:"beforeMount hook",m:"mounted hook",bu:"beforeUpdate hook",u:"updated",bum:"beforeUnmount hook",um:"unmounted hook",a:"activated hook",da:"deactivated hook",ec:"errorCaptured hook",rtc:"renderTracked hook",rtg:"renderTriggered hook",[0]:"setup function",[1]:"render function",[2]:"watcher getter",[3]:"watcher callback",[4]:"watcher cleanup function",[5]:"native event handler",[6]:"component event handler",[7]:"vnode hook",[8]:"directive hook",[9]:"transition hook",[10]:"app errorHandler",[11]:"app warnHandler",[12]:"ref function",[13]:"async component loader",[14]:"scheduler flush. This is likely a Vue internals bug. Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core"};function gt(n,s,o,a){let i;try{i=a?n(...a):n()}catch(l){ti(l,s,o)}return i}function Fn(n,s,o,a){if(fe(n)){const l=gt(n,s,o,a);return l&&er(l)&&l.catch(r=>{ti(r,s,o)}),l}const i=[];for(let l=0;l>>1;Co(on[a])et&&on.splice(s,1)}function Bp(n){ue(n)?As.push(...n):(!Xn||!Xn.includes(n,n.allowRecurse?Lt+1:Lt))&&As.push(n),Wp()}function ic(n,s=Lo?et+1:0){for(n=n||new Map;sCo(o)-Co(a)),Lt=0;Ltn.id==null?1/0:n.id,ah=(n,s)=>{const o=Co(n)-Co(s);if(o===0){if(n.pre&&!s.pre)return-1;if(s.pre&&!n.pre)return 1}return o};function Vp(n){Ji=!1,Lo=!0,n=n||new Map,on.sort(ah);const s=o=>mr(n,o);try{for(et=0;etth){const a=s.ownerInstance,i=a&&Ro(a.type);return q(`Maximum recursive updates exceeded${i?` in component <${i}>`:""}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`),!0}else n.set(s,o+1)}}let At=!1;const Ss=new Set;Ca().__VUE_HMR_RUNTIME__={createRecord:gi(Up),rerender:gi(rh),reload:gi(ch)};const vs=new Map;function ih(n){const s=n.type.__hmrId;let o=vs.get(s);o||(Up(s,n.type),o=vs.get(s)),o.instances.add(n)}function lh(n){vs.get(n.type.__hmrId).instances.delete(n)}function Up(n,s){return vs.has(n)?!1:(vs.set(n,{initialDef:uo(s),instances:new Set}),!0)}function uo(n){return $d(n)?n.__vccOpts:n}function rh(n,s){const o=vs.get(n);o&&(o.initialDef.render=s,[...o.instances].forEach(a=>{s&&(a.render=s,uo(a.type).render=s),a.renderCache=[],At=!0,a.update(),At=!1}))}function ch(n,s){const o=vs.get(n);if(!o)return;s=uo(s),lc(o.initialDef,s);const a=[...o.instances];for(const i of a){const l=uo(i.type);Ss.has(l)||(l!==o.initialDef&&lc(l,s),Ss.add(l)),i.appContext.propsCache.delete(i.type),i.appContext.emitsCache.delete(i.type),i.appContext.optionsCache.delete(i.type),i.ceReload?(Ss.add(l),i.ceReload(s.styles),Ss.delete(l)):i.parent?si(i.parent.update):i.appContext.reload?i.appContext.reload():typeof window<"u"?window.location.reload():console.warn("[HMR] Root or manually mounted instance modified. Full reload required.")}Bp(()=>{for(const i of a)Ss.delete(uo(i.type))})}function lc(n,s){Ke(n,s);for(const o in n)o!=="__file"&&!(o in s)&&delete n[o]}function gi(n){return(s,o)=>{try{return n(s,o)}catch(a){console.error(a),console.warn("[HMR] Something went wrong during Vue component hot-reload. Full reload required.")}}}let nt,ao=[],Xi=!1;function Wo(n,...s){nt?nt.emit(n,...s):Xi||ao.push({event:n,args:s})}function Gp(n,s){var o,a;nt=n,nt?(nt.enabled=!0,ao.forEach(({event:i,args:l})=>nt.emit(i,...l)),ao=[]):typeof window<"u"&&window.HTMLElement&&!((a=(o=window.navigator)==null?void 0:o.userAgent)!=null&&a.includes("jsdom"))?((s.__VUE_DEVTOOLS_HOOK_REPLAY__=s.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(l=>{Gp(l,s)}),setTimeout(()=>{nt||(s.__VUE_DEVTOOLS_HOOK_REPLAY__=null,Xi=!0,ao=[])},3e3)):(Xi=!0,ao=[])}function uh(n,s){Wo("app:init",n,s,{Fragment:Te,Text:Vo,Comment:hn,Static:po})}function ph(n){Wo("app:unmount",n)}const el=fr("component:added"),Yp=fr("component:updated"),dh=fr("component:removed"),mh=n=>{nt&&typeof nt.cleanupBuffer=="function"&&!nt.cleanupBuffer(n)&&dh(n)};function fr(n){return s=>{Wo(n,s.appContext.app,s.uid,s.parent?s.parent.uid:void 0,s)}}const fh=Qp("perf:start"),hh=Qp("perf:end");function Qp(n){return(s,o,a)=>{Wo(n,s.appContext.app,s.uid,s,o,a)}}function _h(n,s,o){Wo("component:emit",n.appContext.app,n,s,o)}function gh(n,s,...o){if(n.isUnmounted)return;const a=n.vnode.props||je;{const{emitsOptions:d,propsOptions:[m]}=n;if(d)if(!(s in d))(!m||!(Zt(s)in m))&&q(`Component emitted event "${s}" but it is neither declared in the emits option nor as an "${Zt(s)}" prop.`);else{const f=d[s];fe(f)&&(f(...o)||q(`Invalid event arguments: event validation failed for event "${s}".`))}}let i=o;const l=s.startsWith("update:"),r=l&&s.slice(7);if(r&&r in a){const d=`${r==="modelValue"?"model":r}Modifiers`,{number:m,trim:f}=a[d]||je;f&&(i=o.map(h=>We(h)?h.trim():h)),m&&(i=o.map(Xf))}_h(n,s,i);{const d=s.toLowerCase();d!==s&&a[Zt(d)]&&q(`Event "${d}" is emitted in component ${pi(n,n.type)} but the handler is registered for "${s}". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use "${vt(s)}" instead of "${s}".`)}let c,u=a[c=Zt(s)]||a[c=Zt(ot(s))];!u&&l&&(u=a[c=Zt(vt(s))]),u&&Fn(u,n,6,i);const p=a[c+"Once"];if(p){if(!n.emitted)n.emitted={};else if(n.emitted[c])return;n.emitted[c]=!0,Fn(p,n,6,i)}}function Zp(n,s,o=!1){const a=s.emitsCache,i=a.get(n);if(i!==void 0)return i;const l=n.emits;let r={},c=!1;if(!fe(n)){const u=p=>{const d=Zp(p,s,!0);d&&(c=!0,Ke(r,d))};!o&&s.mixins.length&&s.mixins.forEach(u),n.extends&&u(n.extends),n.mixins&&n.mixins.forEach(u)}return!l&&!c?(ze(n)&&a.set(n,null),null):(ue(l)?l.forEach(u=>r[u]=null):Ke(r,l),ze(n)&&a.set(n,r),r)}function oi(n,s){return!n||!Ko(s)?!1:(s=s.slice(2).replace(/Once$/,""),Ce(n,s[0].toLowerCase()+s.slice(1))||Ce(n,vt(s))||Ce(n,s))}let Xe=null,ai=null;function Aa(n){const s=Xe;return Xe=n,ai=n&&n.type.__scopeId||null,s}function RN(n){ai=n}function TN(){ai=null}function v(n,s=Xe,o){if(!s||n._n)return n;const a=(...i)=>{a._d&&xc(-1);const l=Aa(s);let r;try{r=n(...i)}finally{Aa(l),a._d&&xc(1)}return Yp(s),r};return a._n=!0,a._c=!0,a._d=!0,a}let nl=!1;function Ma(){nl=!0}function vi(n){const{type:s,vnode:o,proxy:a,withProxy:i,props:l,propsOptions:[r],slots:c,attrs:u,emit:p,render:d,renderCache:m,data:f,setupState:h,ctx:_,inheritAttrs:w}=n;let y,I;const $=Aa(n);nl=!1;try{if(o.shapeFlag&4){const T=i||a;y=Vn(d.call(T,T,m,l,h,f,_)),I=u}else{const T=s;u===l&&Ma(),y=Vn(T.length>1?T(l,{get attrs(){return Ma(),u},slots:c,emit:p}):T(l,null)),I=s.props?u:bh(u)}}catch(T){mo.length=0,ti(T,n,1),y=R(hn)}let k=y,M;if(y.patchFlag>0&&y.patchFlag&2048&&([k,M]=vh(y)),I&&w!==!1){const T=Object.keys(I),{shapeFlag:N}=k;if(T.length){if(N&7)r&&T.some($a)&&(I=kh(I,r)),k=lt(k,I);else if(!nl&&k.type!==hn){const B=Object.keys(u),j=[],U=[];for(let le=0,me=B.length;le renders non-element root node that cannot be animated."),k.transition=o.transition),M?M(k):y=k,Aa($),y}const vh=n=>{const s=n.children,o=n.dynamicChildren,a=Jp(s);if(!a)return[n,void 0];const i=s.indexOf(a),l=o?o.indexOf(a):-1,r=c=>{s[i]=c,o&&(l>-1?o[l]=c:c.patchFlag>0&&(n.dynamicChildren=[...o,c]))};return[Vn(a),r]};function Jp(n){let s;for(let o=0;o{let s;for(const o in n)(o==="class"||o==="style"||Ko(o))&&((s||(s={}))[o]=n[o]);return s},kh=(n,s)=>{const o={};for(const a in n)(!$a(a)||!(a.slice(9)in s))&&(o[a]=n[a]);return o},rc=n=>n.shapeFlag&7||n.type===hn;function xh(n,s,o){const{props:a,children:i,component:l}=n,{props:r,children:c,patchFlag:u}=s,p=l.emitsOptions;if((i||c)&&At||s.dirs||s.transition)return!0;if(o&&u>=0){if(u&1024)return!0;if(u&16)return a?cc(a,r,p):!!r;if(u&8){const d=s.dynamicProps;for(let m=0;mn.__isSuspense;function yh(n,s){s&&s.pendingBranch?ue(n)?s.effects.push(...n):s.effects.push(n):Bp(n)}function xs(n,s){return ii(n,null,s)}function Ih(n,s){return ii(n,null,Ke({},s,{flush:"post"}))}const sa={};function be(n,s,o){return fe(s)||q("`watch(fn, options?)` signature has been moved to a separate API. Use `watchEffect(fn, options?)` instead. `watch` now only supports `watch(source, cb, options?) signature."),ii(n,s,o)}function ii(n,s,{immediate:o,deep:a,flush:i,onTrack:l,onTrigger:r}=je){var c;s||(o!==void 0&&q('watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.'),a!==void 0&&q('watch() "deep" option is only respected when using the watch(source, callback, options?) signature.'));const u=T=>{q("Invalid watch source: ",T,"A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.")},p=sr()===((c=Je)==null?void 0:c.scope)?Je:null;let d,m=!1,f=!1;if(Ae(n)?(d=()=>n.value,m=Ra(n)):ps(n)?(d=()=>n,a=!0):ue(n)?(f=!0,m=n.some(T=>ps(T)||Ra(T)),d=()=>n.map(T=>{if(Ae(T))return T.value;if(ps(T))return is(T);if(fe(T))return gt(T,p,2);u(T)})):fe(n)?s?d=()=>gt(n,p,2):d=()=>{if(!(p&&p.isUnmounted))return h&&h(),Fn(n,p,3,[_])}:(d=xn,u(n)),s&&a){const T=d;d=()=>is(T())}let h,_=T=>{h=k.onStop=()=>{gt(T,p,4)}},w;if(So)if(_=xn,s?o&&Fn(s,p,3,[d(),f?[]:void 0,_]):d(),i==="sync"){const T=A_();w=T.__watcherHandles||(T.__watcherHandles=[])}else return xn;let y=f?new Array(n.length).fill(sa):sa;const I=()=>{if(k.active)if(s){const T=k.run();(a||m||(f?T.some((N,B)=>Io(N,y[B])):Io(T,y)))&&(h&&h(),Fn(s,p,3,[T,y===sa?void 0:f&&y[0]===sa?[]:y,_]),y=T)}else k.run()};I.allowRecurse=!!s;let $;i==="sync"?$=I:i==="post"?$=()=>nn(I,p&&p.suspense):(I.pre=!0,p&&(I.id=p.uid),$=()=>si(I));const k=new ar(d,$);k.onTrack=l,k.onTrigger=r,s?o?I():y=k.run():i==="post"?nn(k.run.bind(k),p&&p.suspense):k.run();const M=()=>{k.stop(),p&&p.scope&&Jl(p.scope.effects,k)};return w&&w.push(M),M}function $h(n,s,o){const a=this.proxy,i=We(n)?n.includes(".")?ed(a,n):()=>a[n]:n.bind(a,a);let l;fe(s)?l=s:(l=s.handler,o=s);const r=Je;Ps(this);const c=ii(i,l.bind(a),o);return r?Ps(r):fs(),c}function ed(n,s){const o=s.split(".");return()=>{let a=n;for(let i=0;i{is(o,s)});else if(bp(n))for(const o in n)is(n[o],s);return n}function nd(n){Qf(n)&&q("Do not use built-in directive ids as custom directive id: "+n)}function td(n,s){const o=Xe;if(o===null)return q("withDirectives can only be used inside render functions."),n;const a=ui(o)||o.proxy,i=n.dirs||(n.dirs=[]);for(let l=0;l{n.isMounted=!0}),Bo(()=>{n.isUnmounting=!0}),n}const On=[Function,Array],Ch={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:On,onEnter:On,onAfterEnter:On,onEnterCancelled:On,onBeforeLeave:On,onLeave:On,onAfterLeave:On,onLeaveCancelled:On,onBeforeAppear:On,onAppear:On,onAfterAppear:On,onAppearCancelled:On};function Eh(n,s){const{leavingVNodes:o}=n;let a=o.get(s.type);return a||(a=Object.create(null),o.set(s.type,a)),a}function tl(n,s,o,a){const{appear:i,mode:l,persisted:r=!1,onBeforeEnter:c,onEnter:u,onAfterEnter:p,onEnterCancelled:d,onBeforeLeave:m,onLeave:f,onAfterLeave:h,onLeaveCancelled:_,onBeforeAppear:w,onAppear:y,onAfterAppear:I,onAppearCancelled:$}=s,k=String(n.key),M=Eh(o,n),T=(j,U)=>{j&&Fn(j,a,9,U)},N=(j,U)=>{const le=U[1];T(j,U),ue(j)?j.every(me=>me.length<=1)&&le():j.length<=1&&le()},B={mode:l,persisted:r,beforeEnter(j){let U=c;if(!o.isMounted)if(i)U=w||c;else return;j._leaveCb&&j._leaveCb(!0);const le=M[k];le&&es(n,le)&&le.el._leaveCb&&le.el._leaveCb(),T(U,[j])},enter(j){let U=u,le=p,me=d;if(!o.isMounted)if(i)U=y||u,le=I||p,me=$||d;else return;let X=!1;const ve=j._enterCb=ke=>{X||(X=!0,ke?T(me,[j]):T(le,[j]),B.delayedLeave&&B.delayedLeave(),j._enterCb=void 0)};U?N(U,[j,ve]):ve()},leave(j,U){const le=String(n.key);if(j._enterCb&&j._enterCb(!0),o.isUnmounting)return U();T(m,[j]);let me=!1;const X=j._leaveCb=ve=>{me||(me=!0,U(),ve?T(_,[j]):T(h,[j]),j._leaveCb=void 0,M[le]===n&&delete M[le])};M[le]=n,f?N(f,[j,X]):X()},clone(j){return tl(j,s,o,a)}};return B}function za(n,s){n.shapeFlag&6&&n.component?za(n.component.subTree,s):n.shapeFlag&128?(n.ssContent.transition=s.clone(n.ssContent),n.ssFallback.transition=s.clone(n.ssFallback)):n.transition=s}function sd(n,s=!1,o){let a=[],i=0;for(let l=0;l1)for(let l=0;lKe({name:n.name},s,{setup:n}))():n}const Ms=n=>!!n.type.__asyncLoader,hr=n=>n.type.__isKeepAlive,Sh={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(n,{slots:s}){const o=In(),a=o.ctx;if(!a.renderer)return()=>{const $=s.default&&s.default();return $&&$.length===1?$[0]:$};const i=new Map,l=new Set;let r=null;o.__v_cache=i;const c=o.suspense,{renderer:{p:u,m:p,um:d,o:{createElement:m}}}=a,f=m("div");a.activate=($,k,M,T,N)=>{const B=$.component;p($,k,M,0,c),u(B.vnode,$,k,M,B,c,T,$.slotScopeIds,N),nn(()=>{B.isDeactivated=!1,B.a&&Xt(B.a);const j=$.props&&$.props.onVnodeMounted;j&&Pn(j,B.parent,$)},c),el(B)},a.deactivate=$=>{const k=$.component;p($,f,null,1,c),nn(()=>{k.da&&Xt(k.da);const M=$.props&&$.props.onVnodeUnmounted;M&&Pn(M,k.parent,$),k.isDeactivated=!0},c),el(k)};function h($){bi($),d($,o,c,!0)}function _($){i.forEach((k,M)=>{const T=Ro(k.type);T&&(!$||!$(T))&&w(M)})}function w($){const k=i.get($);!r||!es(k,r)?h(k):r&&bi(r),i.delete($),l.delete($)}be(()=>[n.include,n.exclude],([$,k])=>{$&&_(M=>io($,M)),k&&_(M=>!io(k,M))},{flush:"post",deep:!0});let y=null;const I=()=>{y!=null&&i.set(y,ki(o.subTree))};return xt(I),ri(I),Bo(()=>{i.forEach($=>{const{subTree:k,suspense:M}=o,T=ki(k);if($.type===T.type&&$.key===T.key){bi(T);const N=T.component.da;N&&nn(N,M);return}h($)})}),()=>{if(y=null,!s.default)return null;const $=s.default(),k=$[0];if($.length>1)return q("KeepAlive should contain exactly one component child."),r=null,$;if(!Kt(k)||!(k.shapeFlag&4)&&!(k.shapeFlag&128))return r=null,k;let M=ki(k);const T=M.type,N=Ro(Ms(M)?M.type.__asyncResolved||{}:T),{include:B,exclude:j,max:U}=n;if(B&&(!N||!io(B,N))||j&&N&&io(j,N))return r=M,k;const le=M.key==null?T:M.key,me=i.get(le);return M.el&&(M=lt(M),k.shapeFlag&128&&(k.ssContent=M)),y=le,me?(M.el=me.el,M.component=me.component,M.transition&&za(M,M.transition),M.shapeFlag|=512,l.delete(le),l.add(le)):(l.add(le),U&&l.size>parseInt(U,10)&&w(l.values().next().value)),M.shapeFlag|=256,r=M,Xp(k.type)?k:M}}},od=Sh;function io(n,s){return ue(n)?n.some(o=>io(o,s)):We(n)?n.split(",").includes(s):Yf(n)?n.test(s):!1}function ad(n,s){ld(n,"a",s)}function id(n,s){ld(n,"da",s)}function ld(n,s,o=Je){const a=n.__wdc||(n.__wdc=()=>{let i=o;for(;i;){if(i.isDeactivated)return;i=i.parent}return n()});if(li(s,a,o),o){let i=o.parent;for(;i&&i.parent;)hr(i.parent.vnode)&&Rh(a,s,o,i),i=i.parent}}function Rh(n,s,o,a){const i=li(s,n,a,!0);qo(()=>{Jl(a[s],i)},o)}function bi(n){n.shapeFlag&=-257,n.shapeFlag&=-513}function ki(n){return n.shapeFlag&128?n.ssContent:n}function li(n,s,o=Je,a=!1){if(o){const i=o[n]||(o[n]=[]),l=s.__weh||(s.__weh=(...r)=>{if(o.isUnmounted)return;bs(),Ps(o);const c=Fn(s,o,n,r);return fs(),ks(),c});return a?i.unshift(l):i.push(l),l}else{const i=Zt(pr[n].replace(/ hook$/,""));q(`${i} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.`)}}const kt=n=>(s,o=Je)=>(!So||n==="sp")&&li(n,(...a)=>s(...a),o),Th=kt("bm"),xt=kt("m"),Ah=kt("bu"),ri=kt("u"),Bo=kt("bum"),qo=kt("um"),Mh=kt("sp"),zh=kt("rtg"),Oh=kt("rtc");function Ph(n,s=Je){li("ec",n,s)}const sl="components";function Tn(n,s){return Nh(sl,n,!0,s)||n}const Dh=Symbol.for("v-ndc");function Nh(n,s,o=!0,a=!1){const i=Xe||Je;if(i){const l=i.type;if(n===sl){const c=Ro(l,!1);if(c&&(c===s||c===ot(s)||c===gs(ot(s))))return l}const r=uc(i[n]||l[n],s)||uc(i.appContext[n],s);if(!r&&a)return l;if(o&&!r){const c=n===sl?` -If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.`:"";q(`Failed to resolve ${n.slice(0,-1)}: ${s}${c}`)}return r}else q(`resolve${gs(n.slice(0,-1))} can only be used in render() or setup().`)}function uc(n,s){return n&&(n[s]||n[ot(s)]||n[gs(ot(s))])}function js(n,s,o,a){let i;const l=o&&o[a];if(ue(n)||We(n)){i=new Array(n.length);for(let r=0,c=n.length;rs(r,c,void 0,l&&l[c]));else{const r=Object.keys(n);i=new Array(r.length);for(let c=0,u=r.length;c1&&(q("SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template."),l=()=>[]),l&&l._c&&(l._d=!1),b();const r=l&&rd(l(o)),c=C(Te,{key:o.key||r&&r.key||`_${s}`},r||(a?a():[]),r&&n._===1?64:-2);return!i&&c.scopeId&&(c.slotScopeIds=[c.scopeId+"-s"]),l&&l._c&&(l._d=!0),c}function rd(n){return n.some(s=>Kt(s)?!(s.type===hn||s.type===Te&&!rd(s.children)):!0)?n:null}const ol=n=>n?wd(n)?ui(n)||n.proxy:ol(n.parent):null,ms=Ke(Object.create(null),{$:n=>n,$el:n=>n.vnode.el,$data:n=>n.data,$props:n=>oo(n.props),$attrs:n=>oo(n.attrs),$slots:n=>oo(n.slots),$refs:n=>oo(n.refs),$parent:n=>ol(n.parent),$root:n=>ol(n.root),$emit:n=>n.emit,$options:n=>gr(n),$forceUpdate:n=>n.f||(n.f=()=>si(n.update)),$nextTick:n=>n.n||(n.n=an.bind(n.proxy)),$watch:n=>$h.bind(n)}),_r=n=>n==="_"||n==="$",xi=(n,s)=>n!==je&&!n.__isScriptSetup&&Ce(n,s),cd={get({_:n},s){const{ctx:o,setupState:a,data:i,props:l,accessCache:r,type:c,appContext:u}=n;if(s==="__isVue")return!0;let p;if(s[0]!=="$"){const h=r[s];if(h!==void 0)switch(h){case 1:return a[s];case 2:return i[s];case 4:return o[s];case 3:return l[s]}else{if(xi(a,s))return r[s]=1,a[s];if(i!==je&&Ce(i,s))return r[s]=2,i[s];if((p=n.propsOptions[0])&&Ce(p,s))return r[s]=3,l[s];if(o!==je&&Ce(o,s))return r[s]=4,o[s];al&&(r[s]=0)}}const d=ms[s];let m,f;if(d)return s==="$attrs"?(cn(n,"get",s),Ma()):s==="$slots"&&cn(n,"get",s),d(n);if((m=c.__cssModules)&&(m=m[s]))return m;if(o!==je&&Ce(o,s))return r[s]=4,o[s];if(f=u.config.globalProperties,Ce(f,s))return f[s];Xe&&(!We(s)||s.indexOf("__v")!==0)&&(i!==je&&_r(s[0])&&Ce(i,s)?q(`Property ${JSON.stringify(s)} must be accessed via $data because it starts with a reserved character ("$" or "_") and is not proxied on the render context.`):n===Xe&&q(`Property ${JSON.stringify(s)} was accessed during render but is not defined on instance.`))},set({_:n},s,o){const{data:a,setupState:i,ctx:l}=n;return xi(i,s)?(i[s]=o,!0):i.__isScriptSetup&&Ce(i,s)?(q(`Cannot mutate + diff --git a/docs/support/3/linux_cli/Essential_Linux_Commands.epub b/docs/support/3/linux_cli/Essential_Linux_Commands.epub new file mode 100644 index 0000000..3131bc7 Binary files /dev/null and b/docs/support/3/linux_cli/Essential_Linux_Commands.epub differ diff --git a/docs/support/3/linux_cli/Linux_Basics_Hackers.epub b/docs/support/3/linux_cli/Linux_Basics_Hackers.epub new file mode 100644 index 0000000..16d981c Binary files /dev/null and b/docs/support/3/linux_cli/Linux_Basics_Hackers.epub differ diff --git a/docs/support/3/linux_cli/Linux_Command_Line.epub b/docs/support/3/linux_cli/Linux_Command_Line.epub new file mode 100644 index 0000000..56a13e8 Binary files /dev/null and b/docs/support/3/linux_cli/Linux_Command_Line.epub differ diff --git a/slides/RETI_3/linux_cli/linux_cli_slides.md b/slides/RETI_3/linux_cli/linux_cli_slides.md index b40cde4..fd0e51d 100644 --- a/slides/RETI_3/linux_cli/linux_cli_slides.md +++ b/slides/RETI_3/linux_cli/linux_cli_slides.md @@ -12,7 +12,7 @@ aspectRatio: '16_/9' routerMode: 'hash' materia: RETI 3 as: 2024/2025 -version: '1.1.3' +version: '1.2.0' --- @@ -58,6 +58,7 @@ Linux CLI Esercitarsi con Linux e Materiale Aggiuntivo +- [PWN College - Linux Luminarium](https://pwn.college/linux-luminarium/) - [The_Complete_Linux_Manual](/support/3/linux_cli/The_Complete_Linux_Manual.pdf) - [How_Linux_Works](/support/3/linux_cli/How_Linux_Works.epub) - [Learning_Modern_Linux](/support/3/linux_cli/Learning_Modern_Linux.epub) @@ -70,7 +71,6 @@ Esercitarsi con Linux e Materiale Aggiuntivo - [introduction-to-linux-installation](https://www.codecademy.com/learn/introduction-to-linux-installation) - [intro-to-the-command-line](https://www.codecademy.com/learn/intro-to-the-command-line) - [learn-the-command-line](https://www.codecademy.com/learn/learn-the-command-line-viewing-and-changing-the-file-system) -- [learn-the-command-line-redirecting-input-and-output](https://www.codecademy.com/learn/learn-the-command-line-redirecting-input-and-output) --- @@ -78,6 +78,7 @@ Esercitarsi con Linux e Materiale Aggiuntivo Esercitarsi con Linux e Materiale Aggiuntivo +- [learn-the-command-line-redirecting-input-and-output](https://www.codecademy.com/learn/learn-the-command-line-redirecting-input-and-output) - [introduction-to-linux-users-and-permissions](https://www.codecademy.com/learn/introduction-to-linux-users-and-permissions) - [introduction-to-linux-bash-scripting](https://www.codecademy.com/learn/introduction-to-linux-bash-scripting) - [Linux Fundamentals](https://linux-training.be/linuxfun.pdf?ref=itsfoss.com) @@ -102,7 +103,10 @@ Esercitarsi con Linux e Materiale Aggiuntivo - [Misc commands](https://linuxcommand.org/lc3_man_page_index.php#other) - [Intro to Linux](https://tldp.org/LDP/intro-linux/intro-linux.pdf?ref=itsfoss.com) - [Learn Linux in 5 Days](https://www.linuxtrainingacademy.com/itsfoss-ll5d/) - +- [Linux Basics for Hacker](/support/3/linux_cli/) +- [Linux_Command_Line](/support/3/linux_cli/Linux_Command_Line.epub) +- [Linux_Basics_Hackers](/support/3/linux_cli/Linux_Basics_Hackers.epub) +- [Essential_Linux_Commands](/support/3/linux_cli/Essential_Linux_Commands.epub) --- @@ -189,6 +193,58 @@ Esercitazione cli_01 - Domande agli studenti sul contenuto dell'esercitazione +--- + +# Linux CLI + +Esercitazioni + +- Per esercitarci usiamo anche una piattaforma didattica online che si chiama [PWN COLLEGE](https://pwn.college) + + + + +--- + +# Linux CLI + +Esercitazioni + +- PWN COLLEGE è una piatatforma dedicata all'apprendimento e alla sperimentazione +- Contiene un vaso curriculum su tutti i principlai temi riguardanti la **cyber security** +- Linux ovviamente è un argomento fondamentale per affrontare anche i primi esercizi +- Noi useremo principlamente la sezione dedicata all'apprendimento dei rudimenti della CLI di Linux + + +Invito TUTTI gli studenti a sperimentare ed apprendere tramite il materiale fornito e tramite PWN COLLEGE.
+Anche se all'inizio può risultare ostico, una volta entrati nella mentalità corretta sarà un modo divertente di apprendere e mettere a frutto le proprie capacità +
+ +--- + +# Linux CLI + +Esercitazione cli_02 + +- Utilizzando l'email istituzionale crere un account su PWN COLLEGE +- Consegnare su github uno screenshot che fa vedere al docente il tuo user name appena creato su PWN COLLEGE +- Il file si deve chiamare *|congome|_pwncollege_account.(png!jpg)* + +--- + +# Linux CLI + +Esercitazione cli_03 + +- Svolgere il dojo [Getting Started](https://pwn.college/welcome/) +- Leggere e visualizzare le due unità `Lectures and Reading` +- Completare con successo tutte le 10 `Challenges` +- Domande del docente sui temi trattati e sulle sezioni *Lecturesd and Reading* +- Consegnare su su github lo screenshoot che dimostra il superamento delle 10 challenges con il seguente nome *|cognome|_dojo_03a.(png|jpg)* + + + + --- # Linux CLI @@ -225,7 +281,7 @@ Introduzione # Linux CLI -Esercitazione cli_02 +Esercitazione cli_04 - Svolgere la seguente esercitazione (Quinz inclusi) @@ -518,7 +574,7 @@ Il percorse `RELATIVO` alla home del file *README.md* è: # Linux CLI -Esercitazione cli_03 +Esercitazione cli_05 - Svolgere la seguente esercitazione (Quinz inclusi) @@ -533,6 +589,26 @@ Esercitazione cli_03 - Svolgere solo i primi 4 punti - Domande agli studenti sul contenuto dell'esercitazione +--- + +# Linux CLI + +Esercitazione cli_06 + +- Svolgere i seguenti moduli del dojo [Linux Luminarium](https://pwn.college/linux-luminarium/) + - [Hello Hackers](https://pwn.college/linux-luminarium/hello/) + - [Pondering Paths](https://pwn.college/linux-luminarium/paths/) + - [Pondering PATH](https://pwn.college/linux-luminarium/path/) +- Leggere e visualizzare le due unità `Lectures and Reading` +- Completare con successo tutte le 15 `Challenges` +- Domande del docente sui temi trattati e sulle sezioni *Lecturesd and Reading* +- Consegnare su su github 3 screenshoots che dimostrano il superamento delle 15 challenges con i seguenti nomi: + - *|cognome|_dojo_linux_06a.(png|jpg)* + - *|cognome|_dojo_linux_06b.(png|jpg)* + - *|cognome|_dojo_linux_06c.(png|jpg)* + + + --- # Linux CLI @@ -573,7 +649,7 @@ Ecco alcuni concetti chiave relativi alla CLI di Linux: # Linux CLI -Esercitazione cli_04 +Esercitazione cli_07 - Svolgere la seguente esercitazione (Quinz inclusi) @@ -592,7 +668,7 @@ Esercitazione cli_04 # Linux CLI -Esercitazione cli_05 +Esercitazione cli_08 - Svolgere la seguente esercitazione (Quinz inclusi) @@ -607,6 +683,7 @@ Esercitazione cli_05 - Svolgere i primi 3 punti - Domande agli studenti sul contenuto dell'esercitazione + --- # Linux CLI @@ -847,6 +924,20 @@ $ cat file_ord.txt --- +# Linux CLI + +Esercitazione cli_09 + +- Svolgere i seguenti moduli del dojo [Linux Luminarium](https://pwn.college/linux-luminarium/) + - [Practicing Piping](https://pwn.college/linux-luminarium/piping/) +- Leggere e visualizzare le due unità `Lectures and Reading` +- Completare con successo tutt le 11 le `Challenges` +- Domande del docente sui temi trattati e sulle sezioni *Lecturesd and Reading* +- Consegnare su su github uno screenshoot che dimostra il superamento delle 11 challenges con il seguente nome: + - *|cognome|_dojo_linux_09a.(png|jpg)* + +--- + # Linux CLI   @@ -1065,6 +1156,24 @@ reset - terminal initialization ```bash $ reset ``` + +--- + +# Linux CLI + +Esercitazione cli_10 + +- Svolgere i seguenti moduli del dojo [Linux Luminarium](https://pwn.college/linux-luminarium/) + - [Comprehending Commands](https://pwn.college/linux-luminarium/commands/) + - [Digesting Documentation](https://pwn.college/linux-luminarium/man/) +- Leggere e visualizzare le due unità `Lectures and Reading` +- Completare con successo tutte le 19 `Challenges` +- Domande del docente sui temi trattati e sulle sezioni *Lecturesd and Reading* +- Consegnare su su github 2 screenshoots che dimostrano il superamento delle 19 challenges con i seguenti nomi: + - *|cognome|_dojo_linux_10a.(png|jpg)* + - *|cognome|_dojo_linux_10b.(png|jpg)* + + ---   @@ -1772,6 +1881,24 @@ $ rm -rf DIR3 - Entrambi i comandi hanno lo stesso effetto ma il secondo è più comune tra gli amministratori di sistemi Linux +--- + +# Linux CLI + +Esercitazione cli_11 + +- Svolgere i seguenti moduli del dojo [Linux Luminarium](https://pwn.college/linux-luminarium/) + - [File Globbing](https://pwn.college/linux-luminarium/globbing/) + - [Shell Variables](https://pwn.college/linux-luminarium/variables/) +- Leggere e visualizzare le due unità `Lectures and Reading` +- Completare con successo tutte le 14 `Challenges` +- Domande del docente sui temi trattati e sulle sezioni *Lecturesd and Reading* +- Consegnare su su github 2 screenshoots che dimostrano il superamento delle 14 challenges con i seguenti nomi: + - *|cognome|_dojo_linux_11a.(png|jpg)* + - *|cognome|_dojo_linux_11b.(png|jpg)* + + + --- # Linux CLI @@ -1966,7 +2093,7 @@ $ echo ciao > file1 # Linux CLI -Esercitazione cli_06 +Esercitazione cli_12 - Svolgere la seguente esercitazione (Quinz inclusi) @@ -2472,7 +2599,22 @@ drwxrwxr-x 3 antonio backup 4096 set 12 15:24 DIR4 # Linux CLI -Esercitazione cli_07 +Esercitazione cli_13 + +- Svolgere i seguenti moduli del dojo [Linux Luminarium](https://pwn.college/linux-luminarium/) + - [Perciving Permissions](https://pwn.college/linux-luminarium/permissions/) +- Leggere e visualizzare le due unità `Lectures and Reading` +- Completare con successo tutte le 8 `Challenges` +- Domande del docente sui temi trattati e sulle sezioni *Lecturesd and Reading* +- Consegnare su su github 1 screenshoots che dimostrano il superamento delle 8 challenges con i seguenti nomi: + - *|cognome|_dojo_linux_13a.(png|jpg)* + + +--- + +# Linux CLI + +Esercitazione cli_14 - Svolgere la seguente esercitazione (Quinz inclusi) @@ -2491,7 +2633,7 @@ Esercitazione cli_07 # Linux CLI -Esercitazione cli_08 +Esercitazione cli_15 - Svolgere la seguente esercitazione (Quinz inclusi) @@ -2608,6 +2750,23 @@ $ free -h Mem: 15Gi 3,1Gi 1,9Gi 4,2Gi 10Gi 7,0Gi Swap: 15Gi 0,0Ki 15Gi ``` + +--- + +# Linux CLI + +Esercitazione cli_16 + +- Svolgere i seguenti moduli del dojo [Linux Luminarium](https://pwn.college/linux-luminarium/) + - [Processes and Jobs](https://pwn.college/linux-luminarium/processes/) +- Leggere e visualizzare le due unità `Lectures and Reading` +- Completare con successo tutte le 9 `Challenges` +- Domande del docente sui temi trattati e sulle sezioni *Lecturesd and Reading* +- Consegnare su su github 1 screenshoots che dimostrano il superamento delle 9 challenges con i seguenti nomi: + - *|cognome|_dojo_linux_16a.(png|jpg)* + + + ---   @@ -2743,4 +2902,20 @@ Elaborazione dei trigger per man-db (2.10.2-1)... --- +# Linux CLI + +Esercitazione cli_17 + +- Svolgere i seguenti moduli del dojo [Linux Luminarium](https://pwn.college/linux-luminarium/) + - [Untangling Users](https://pwn.college/linux-luminarium/users/) + - [Chaining Commands](https://pwn.college/linux-luminarium/chaining/) +- Leggere e visualizzare le due unità `Lectures and Reading` +- Completare con successo tutte le 8 `Challenges` +- Domande del docente sui temi trattati e sulle sezioni *Lecturesd and Reading* +- Consegnare su su github 2 screenshoots che dimostrano il superamento delle 8 challenges con i seguenti nomi: + - *|cognome|_dojo_linux_17a.(png|jpg)* + - *|cognome|_dojo_linux_17b.(png|jpg)* + +--- + diff --git a/slides/RETI_3/linux_cli/media/cli_21.png b/slides/RETI_3/linux_cli/media/cli_21.png new file mode 100644 index 0000000..6da3f02 Binary files /dev/null and b/slides/RETI_3/linux_cli/media/cli_21.png differ diff --git a/slides/RETI_3/linux_cli/media/cli_22.png b/slides/RETI_3/linux_cli/media/cli_22.png new file mode 100644 index 0000000..45f4e0e Binary files /dev/null and b/slides/RETI_3/linux_cli/media/cli_22.png differ