Buckets:
| import{s as ot,a as qe,n as rt,o as pt}from"../chunks/scheduler.505acc25.js";import{S as ut,i as mt,e as n,s,c as d,h as ct,a as o,d as l,b as i,f as O,g as f,j as p,k as r,l as dt,m as a,n as h,t as y,o as w,p as b}from"../chunks/index.1238bded.js";import{C as ft,H as nt,E as ht}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.e989d4e1.js";import{C as A}from"../chunks/CodeBlock.11484469.js";import{C as yt}from"../chunks/CourseFloatingBanner.0b6e065b.js";function wt(_e){let M,ee,K,te,g,le,j,ae,J,se,T,We="Iniziamo installando Gradio! Essendo una libreria di Python, è sufficiente eseguire:",ie,x,Ve="<code>$ pip install gradio</code>",ne,$,Re=`Puoi usare Gradio ovunque, dalla tua IDE Python preferita, ai Jupyter notebook o anche in Google Colab 🤯! | |
| Quindi, installa Gradio in qualsiasi posto in cui usi Python!`,oe,v,Se="Iniziamo con un semplice esempio “Hello World” per prendere familiarità con la sintassi di Gradio:",re,G,pe,I,Pe="Analizziamo il codice qui sopra:",ue,k,Qe="<li>Per prima cosa, definiamo una funzione chiamata <code>greet()</code>. In questo caso, si tratta di una semplice funzione che aggiunge “Hello” prima di un nome (<em>name</em>), ma questa può essere in generale <em>qualsiasi</em> funzione in Python. Ad esempio, nelle applicazioni di machine learning, questa funzione <em>chiamerebbe un modello per fare una previsione</em> su un input e restituirebbe l’output.</li> <li>Creaiamo puoi una <code>Interface</code> (<em>Interfaccia</em>) di Gradio con tre argomenti, <code>fn</code>, <code>inputs</code>, e <code>outputs</code>. Questi argomenti definiscono la funzione di predizione e il <em>tipo</em> di componenti di ingresso e di uscita che desideriamo. Nel nostro caso, entrambi i componenti sono semplici caselle di testo.</li> <li>Chiamiamo poi il metodo <code>launch()</code> sul <code>Interface</code> creata.</li>",me,C,Ee='Se si esegue questo codice, l’interfaccia qui sotto apparirà automaticamente all’interno di un Jupyter/Colab notebook, o comparirà in un browser <strong><a href="http://localhost:7860/" rel="nofollow">http://localhost:7860</a></strong> se lanciato in uno script.',ce,u,Xe,de,B,Ye="Prova subito a utilizzare questa GUI con il tuo nome o con un altro input!",fe,U,Le=`Si noterà che in questa GUI, Gradio ha riconosciuto automaticamente il nome del parametro di input (<code>name</code>) | |
| e lo applica come etichetta in cima alla casella di testo. E se si volesse cambiarlo? | |
| O se si volesse personalizzare la casella di testo in qualche altro modo? In questo caso, si può | |
| istanziare una classe che rappresenti il componente in input.`,he,z,Ne="Si osservi l’esempio seguente:",ye,Z,we,m,Fe,be,H,Ae=`Qui abbiamo creato una casella di testo di input con un’etichetta (<code>label</code>), un segnaposto (<code>placeholder</code>) e un numero di righe stabilito (<code>lines</code>). | |
| Si potrebbe fare lo stesso per la casella di testo in output, ma per ora ci fermiamo qui.`,Me,q,Ke=`Abbiamo visto che con poche righe di codice, Gradio consente di creare una semplice interfaccia intorno a qualsiasi funzione | |
| con qualsiasi tipo di input o output. In questa sezione abbiamo iniziato con una | |
| semplice casella di testo, ma nelle prossime sezioni tratteremo altri tipi di input e output. Vediamo ora di inserire un po’ di NLP in un’applicazione Gradio.`,ge,_,je,W,De="Costruiamo ora una semplice interfaccia che consenta di dimostrare come funziona un modello di <strong>generazione del testo</strong> come GPT-2.",Je,V,Oe=`Caricheremo il nostro modello usando la funzione <code>pipeline()</code> di 🤗 Transformers. | |
| Se hai bisogno di un rapido ripasso, puoi tornare a <a href="/course/chapter1/3#text-generation">quella sezione nel Capitolo 1</a>.`,Te,R,et="Per prima cosa, definiamo una funzione di predizione che riceve un prompt di testo e restituisce il testo completato:",xe,S,$e,P,tt="Questa funzione completa le richieste fornite dall’utente e puoi eseguirla con qualche tuo input per vedere come funziona. Ecco un esempio (potresti ottenere un risultato diverso):",ve,Q,Ge,E,Ie,X,lt="Ora che abbiamo una funzione per generare previsioni, possiamo creare e lanciare una <code>Interface</code> nello stesso modo in cui abbiamo fatto prima:",ke,Y,Ce,L,at="Ecco fatto! Ora è possibile utilizzare questa interfaccia per generare testo utilizzando il modello GPT-2 come mostrato qui sotto 🤯.",Be,c,st,Ue,N,it="Continua a leggere per scoprire come costruire altri tipi di demo con Gradio!",ze,F,Ze,D,He;return g=new ft({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),j=new nt({props:{title:"Creare la tua prima demo",local:"creare-la-tua-prima-demo",headingTag:"h1"}}),J=new yt({props:{chapter:9,classNames:"absolute z-10 right-0 top-0",notebooks:[{label:"Google Colab",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/master/course/chapter9/section2.ipynb"},{label:"Aws Studio",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/master/course/chapter9/section2.ipynb"}]}}),G=new A({props:{code:"aW1wb3J0JTIwZ3JhZGlvJTIwYXMlMjBnciUwQSUwQSUwQWRlZiUyMGdyZWV0KG5hbWUpJTNBJTBBJTIwJTIwJTIwJTIwcmV0dXJuJTIwJTIySGVsbG8lMjAlMjIlMjAlMkIlMjBuYW1lJTBBJTBBJTBBZGVtbyUyMCUzRCUyMGdyLkludGVyZmFjZShmbiUzRGdyZWV0JTJDJTIwaW5wdXRzJTNEJTIydGV4dCUyMiUyQyUyMG91dHB1dHMlM0QlMjJ0ZXh0JTIyKSUwQSUwQWRlbW8ubGF1bmNoKCk=",highlighted:`<span class="hljs-keyword">import</span> gradio <span class="hljs-keyword">as</span> gr | |
| <span class="hljs-keyword">def</span> <span class="hljs-title function_">greet</span>(<span class="hljs-params">name</span>): | |
| <span class="hljs-keyword">return</span> <span class="hljs-string">"Hello "</span> + name | |
| demo = gr.Interface(fn=greet, inputs=<span class="hljs-string">"text"</span>, outputs=<span class="hljs-string">"text"</span>) | |
| demo.launch()`,wrap:!1}}),Z=new A({props:{code:"aW1wb3J0JTIwZ3JhZGlvJTIwYXMlMjBnciUwQSUwQSUwQWRlZiUyMGdyZWV0KG5hbWUpJTNBJTBBJTIwJTIwJTIwJTIwcmV0dXJuJTIwJTIySGVsbG8lMjAlMjIlMjAlMkIlMjBuYW1lJTBBJTBBJTBBJTIzJTIwV2UlMjBpbnN0YW50aWF0ZSUyMHRoZSUyMFRleHRib3glMjBjbGFzcyUwQXRleHRib3glMjAlM0QlMjBnci5UZXh0Ym94KGxhYmVsJTNEJTIyVHlwZSUyMHlvdXIlMjBuYW1lJTIwaGVyZSUzQSUyMiUyQyUyMHBsYWNlaG9sZGVyJTNEJTIySm9obiUyMERvZSUyMiUyQyUyMGxpbmVzJTNEMiklMEElMEFnci5JbnRlcmZhY2UoZm4lM0RncmVldCUyQyUyMGlucHV0cyUzRHRleHRib3glMkMlMjBvdXRwdXRzJTNEJTIydGV4dCUyMikubGF1bmNoKCk=",highlighted:`<span class="hljs-keyword">import</span> gradio <span class="hljs-keyword">as</span> gr | |
| <span class="hljs-keyword">def</span> <span class="hljs-title function_">greet</span>(<span class="hljs-params">name</span>): | |
| <span class="hljs-keyword">return</span> <span class="hljs-string">"Hello "</span> + name | |
| <span class="hljs-comment"># We instantiate the Textbox class</span> | |
| textbox = gr.Textbox(label=<span class="hljs-string">"Type your name here:"</span>, placeholder=<span class="hljs-string">"John Doe"</span>, lines=<span class="hljs-number">2</span>) | |
| gr.Interface(fn=greet, inputs=textbox, outputs=<span class="hljs-string">"text"</span>).launch()`,wrap:!1}}),_=new nt({props:{title:"🤖 Includere le predizioni del modello",local:"-includere-le-predizioni-del-modello",headingTag:"h2"}}),S=new A({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMHBpcGVsaW5lJTBBJTBBbW9kZWwlMjAlM0QlMjBwaXBlbGluZSglMjJ0ZXh0LWdlbmVyYXRpb24lMjIpJTBBJTBBJTBBZGVmJTIwcHJlZGljdChwcm9tcHQpJTNBJTBBJTIwJTIwJTIwJTIwY29tcGxldGlvbiUyMCUzRCUyMG1vZGVsKHByb21wdCklNUIwJTVEJTVCJTIyZ2VuZXJhdGVkX3RleHQlMjIlNUQlMEElMjAlMjAlMjAlMjByZXR1cm4lMjBjb21wbGV0aW9u",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> pipeline | |
| model = pipeline(<span class="hljs-string">"text-generation"</span>) | |
| <span class="hljs-keyword">def</span> <span class="hljs-title function_">predict</span>(<span class="hljs-params">prompt</span>): | |
| completion = model(prompt)[<span class="hljs-number">0</span>][<span class="hljs-string">"generated_text"</span>] | |
| <span class="hljs-keyword">return</span> completion`,wrap:!1}}),Q=new A({props:{code:"cHJlZGljdCglMjJNeSUyMGZhdm9yaXRlJTIwcHJvZ3JhbW1pbmclMjBsYW5ndWFnZSUyMGlzJTIyKQ==",highlighted:'<span class="hljs-function"><span class="hljs-title">predict</span><span class="hljs-params">(<span class="hljs-string">"My favorite programming language is"</span>)</span></span>',wrap:!1}}),E=new A({props:{code:"JTNFJTNFJTIwTXklMjBmYXZvcml0ZSUyMHByb2dyYW1taW5nJTIwbGFuZ3VhZ2UlMjBpcyUyMEhhc2tlbGwuJTIwSSUyMHJlYWxseSUyMGVuam95ZWQlMjB0aGUlMjBIYXNrZWxsJTIwbGFuZ3VhZ2UlMkMlMjBidXQlMjBpdCUyMGRvZXNuJ3QlMjBoYXZlJTIwYWxsJTIwdGhlJTIwZmVhdHVyZXMlMjB0aGF0JTIwY2FuJTIwYmUlMjBhcHBsaWVkJTIwdG8lMjBhbnklMjBvdGhlciUyMGxhbmd1YWdlLiUyMEZvciUyMGV4YW1wbGUlMkMlMjBhbGwlMjBpdCUyMGRvZXMlMjBpcyUyMGNvbXBpbGUlMjB0byUyMGElMjBieXRlJTIwYXJyYXku",highlighted:'>> My favorite programming language <span class="hljs-keyword">is</span> Haskell. I really enjoyed <span class="hljs-keyword">the</span> Haskell language, <span class="hljs-keyword">but</span> <span class="hljs-keyword">it</span> doesn't have all <span class="hljs-keyword">the</span> features <span class="hljs-keyword">that</span> can be applied <span class="hljs-keyword">to</span> any other language. For example, all <span class="hljs-keyword">it</span> <span class="hljs-keyword">does</span> <span class="hljs-keyword">is</span> compile <span class="hljs-keyword">to</span> a byte array.',wrap:!1}}),Y=new A({props:{code:"aW1wb3J0JTIwZ3JhZGlvJTIwYXMlMjBnciUwQSUwQWdyLkludGVyZmFjZShmbiUzRHByZWRpY3QlMkMlMjBpbnB1dHMlM0QlMjJ0ZXh0JTIyJTJDJTIwb3V0cHV0cyUzRCUyMnRleHQlMjIpLmxhdW5jaCgp",highlighted:`<span class="hljs-keyword">import</span> gradio <span class="hljs-keyword">as</span> gr | |
| gr.Interface(fn=predict, inputs=<span class="hljs-string">"text"</span>, outputs=<span class="hljs-string">"text"</span>).launch()`,wrap:!1}}),F=new ht({props:{source:"https://github.com/huggingface/course/blob/main/chapters/it/chapter9/2.mdx"}}),{c(){M=n("meta"),ee=s(),K=n("p"),te=s(),d(g.$$.fragment),le=s(),d(j.$$.fragment),ae=s(),d(J.$$.fragment),se=s(),T=n("p"),T.textContent=We,ie=s(),x=n("p"),x.innerHTML=Ve,ne=s(),$=n("p"),$.textContent=Re,oe=s(),v=n("p"),v.textContent=Se,re=s(),d(G.$$.fragment),pe=s(),I=n("p"),I.textContent=Pe,ue=s(),k=n("ul"),k.innerHTML=Qe,me=s(),C=n("p"),C.innerHTML=Ee,ce=s(),u=n("iframe"),de=s(),B=n("p"),B.textContent=Ye,fe=s(),U=n("p"),U.innerHTML=Le,he=s(),z=n("p"),z.textContent=Ne,ye=s(),d(Z.$$.fragment),we=s(),m=n("iframe"),be=s(),H=n("p"),H.innerHTML=Ae,Me=s(),q=n("p"),q.textContent=Ke,ge=s(),d(_.$$.fragment),je=s(),W=n("p"),W.innerHTML=De,Je=s(),V=n("p"),V.innerHTML=Oe,Te=s(),R=n("p"),R.textContent=et,xe=s(),d(S.$$.fragment),$e=s(),P=n("p"),P.textContent=tt,ve=s(),d(Q.$$.fragment),Ge=s(),d(E.$$.fragment),Ie=s(),X=n("p"),X.innerHTML=lt,ke=s(),d(Y.$$.fragment),Ce=s(),L=n("p"),L.textContent=at,Be=s(),c=n("iframe"),Ue=s(),N=n("p"),N.textContent=it,ze=s(),d(F.$$.fragment),Ze=s(),D=n("p"),this.h()},l(e){const t=ct("svelte-u9bgzb",document.head);M=o(t,"META",{name:!0,content:!0}),t.forEach(l),ee=i(e),K=o(e,"P",{}),O(K).forEach(l),te=i(e),f(g.$$.fragment,e),le=i(e),f(j.$$.fragment,e),ae=i(e),f(J.$$.fragment,e),se=i(e),T=o(e,"P",{"data-svelte-h":!0}),p(T)!=="svelte-1kcxbqu"&&(T.textContent=We),ie=i(e),x=o(e,"P",{"data-svelte-h":!0}),p(x)!=="svelte-sv8g3f"&&(x.innerHTML=Ve),ne=i(e),$=o(e,"P",{"data-svelte-h":!0}),p($)!=="svelte-1h87863"&&($.textContent=Re),oe=i(e),v=o(e,"P",{"data-svelte-h":!0}),p(v)!=="svelte-g0ql64"&&(v.textContent=Se),re=i(e),f(G.$$.fragment,e),pe=i(e),I=o(e,"P",{"data-svelte-h":!0}),p(I)!=="svelte-4froyl"&&(I.textContent=Pe),ue=i(e),k=o(e,"UL",{"data-svelte-h":!0}),p(k)!=="svelte-1ir6309"&&(k.innerHTML=Qe),me=i(e),C=o(e,"P",{"data-svelte-h":!0}),p(C)!=="svelte-1slgw3n"&&(C.innerHTML=Ee),ce=i(e),u=o(e,"IFRAME",{src:!0,frameborder:!0,height:!0,title:!0,class:!0,allow:!0,sandbox:!0}),O(u).forEach(l),de=i(e),B=o(e,"P",{"data-svelte-h":!0}),p(B)!=="svelte-jylajh"&&(B.textContent=Ye),fe=i(e),U=o(e,"P",{"data-svelte-h":!0}),p(U)!=="svelte-d8u4xy"&&(U.innerHTML=Le),he=i(e),z=o(e,"P",{"data-svelte-h":!0}),p(z)!=="svelte-4firqo"&&(z.textContent=Ne),ye=i(e),f(Z.$$.fragment,e),we=i(e),m=o(e,"IFRAME",{src:!0,frameborder:!0,height:!0,title:!0,class:!0,allow:!0,sandbox:!0}),O(m).forEach(l),be=i(e),H=o(e,"P",{"data-svelte-h":!0}),p(H)!=="svelte-eepfk"&&(H.innerHTML=Ae),Me=i(e),q=o(e,"P",{"data-svelte-h":!0}),p(q)!=="svelte-1os2nng"&&(q.textContent=Ke),ge=i(e),f(_.$$.fragment,e),je=i(e),W=o(e,"P",{"data-svelte-h":!0}),p(W)!=="svelte-7iy06b"&&(W.innerHTML=De),Je=i(e),V=o(e,"P",{"data-svelte-h":!0}),p(V)!=="svelte-1bodsle"&&(V.innerHTML=Oe),Te=i(e),R=o(e,"P",{"data-svelte-h":!0}),p(R)!=="svelte-1uhkpc2"&&(R.textContent=et),xe=i(e),f(S.$$.fragment,e),$e=i(e),P=o(e,"P",{"data-svelte-h":!0}),p(P)!=="svelte-1jk4usz"&&(P.textContent=tt),ve=i(e),f(Q.$$.fragment,e),Ge=i(e),f(E.$$.fragment,e),Ie=i(e),X=o(e,"P",{"data-svelte-h":!0}),p(X)!=="svelte-kegr5g"&&(X.innerHTML=lt),ke=i(e),f(Y.$$.fragment,e),Ce=i(e),L=o(e,"P",{"data-svelte-h":!0}),p(L)!=="svelte-1tt2799"&&(L.textContent=at),Be=i(e),c=o(e,"IFRAME",{src:!0,frameborder:!0,height:!0,title:!0,class:!0,allow:!0,sandbox:!0}),O(c).forEach(l),Ue=i(e),N=o(e,"P",{"data-svelte-h":!0}),p(N)!=="svelte-107ph84"&&(N.textContent=it),ze=i(e),f(F.$$.fragment,e),Ze=i(e),D=o(e,"P",{}),O(D).forEach(l),this.h()},h(){r(M,"name","hf:doc:metadata"),r(M,"content",bt),qe(u.src,Xe="https://course-demos-hello-world.hf.space")||r(u,"src",Xe),r(u,"frameborder","0"),r(u,"height","250"),r(u,"title","Gradio app"),r(u,"class","container p-0 flex-grow space-iframe"),r(u,"allow","accelerometer; ambient-light-sensor; autoplay; battery; camera; document-domain; encrypted-media; fullscreen; geolocation; gyroscope; layout-animations; legacy-image-formats; magnetometer; microphone; midi; oversized-images; payment; picture-in-picture; publickey-credentials-get; sync-xhr; usb; vr ; wake-lock; xr-spatial-tracking"),r(u,"sandbox","allow-forms allow-modals allow-popups allow-popups-to-escape-sandbox allow-same-origin allow-scripts allow-downloads"),qe(m.src,Fe="https://course-demos-hello-world-custom.hf.space")||r(m,"src",Fe),r(m,"frameborder","0"),r(m,"height","300"),r(m,"title","Gradio app"),r(m,"class","container p-0 flex-grow space-iframe"),r(m,"allow","accelerometer; ambient-light-sensor; autoplay; battery; camera; document-domain; encrypted-media; fullscreen; geolocation; gyroscope; layout-animations; legacy-image-formats; magnetometer; microphone; midi; oversized-images; payment; picture-in-picture; publickey-credentials-get; sync-xhr; usb; vr ; wake-lock; xr-spatial-tracking"),r(m,"sandbox","allow-forms allow-modals allow-popups allow-popups-to-escape-sandbox allow-same-origin allow-scripts allow-downloads"),qe(c.src,st="https://course-demos-gpt-2.hf.space")||r(c,"src",st),r(c,"frameborder","0"),r(c,"height","300"),r(c,"title","Gradio app"),r(c,"class","container p-0 flex-grow space-iframe"),r(c,"allow","accelerometer; ambient-light-sensor; autoplay; battery; camera; document-domain; encrypted-media; fullscreen; geolocation; gyroscope; layout-animations; legacy-image-formats; magnetometer; microphone; midi; oversized-images; payment; picture-in-picture; publickey-credentials-get; sync-xhr; usb; vr ; wake-lock; xr-spatial-tracking"),r(c,"sandbox","allow-forms allow-modals allow-popups allow-popups-to-escape-sandbox allow-same-origin allow-scripts allow-downloads")},m(e,t){dt(document.head,M),a(e,ee,t),a(e,K,t),a(e,te,t),h(g,e,t),a(e,le,t),h(j,e,t),a(e,ae,t),h(J,e,t),a(e,se,t),a(e,T,t),a(e,ie,t),a(e,x,t),a(e,ne,t),a(e,$,t),a(e,oe,t),a(e,v,t),a(e,re,t),h(G,e,t),a(e,pe,t),a(e,I,t),a(e,ue,t),a(e,k,t),a(e,me,t),a(e,C,t),a(e,ce,t),a(e,u,t),a(e,de,t),a(e,B,t),a(e,fe,t),a(e,U,t),a(e,he,t),a(e,z,t),a(e,ye,t),h(Z,e,t),a(e,we,t),a(e,m,t),a(e,be,t),a(e,H,t),a(e,Me,t),a(e,q,t),a(e,ge,t),h(_,e,t),a(e,je,t),a(e,W,t),a(e,Je,t),a(e,V,t),a(e,Te,t),a(e,R,t),a(e,xe,t),h(S,e,t),a(e,$e,t),a(e,P,t),a(e,ve,t),h(Q,e,t),a(e,Ge,t),h(E,e,t),a(e,Ie,t),a(e,X,t),a(e,ke,t),h(Y,e,t),a(e,Ce,t),a(e,L,t),a(e,Be,t),a(e,c,t),a(e,Ue,t),a(e,N,t),a(e,ze,t),h(F,e,t),a(e,Ze,t),a(e,D,t),He=!0},p:rt,i(e){He||(y(g.$$.fragment,e),y(j.$$.fragment,e),y(J.$$.fragment,e),y(G.$$.fragment,e),y(Z.$$.fragment,e),y(_.$$.fragment,e),y(S.$$.fragment,e),y(Q.$$.fragment,e),y(E.$$.fragment,e),y(Y.$$.fragment,e),y(F.$$.fragment,e),He=!0)},o(e){w(g.$$.fragment,e),w(j.$$.fragment,e),w(J.$$.fragment,e),w(G.$$.fragment,e),w(Z.$$.fragment,e),w(_.$$.fragment,e),w(S.$$.fragment,e),w(Q.$$.fragment,e),w(E.$$.fragment,e),w(Y.$$.fragment,e),w(F.$$.fragment,e),He=!1},d(e){e&&(l(ee),l(K),l(te),l(le),l(ae),l(se),l(T),l(ie),l(x),l(ne),l($),l(oe),l(v),l(re),l(pe),l(I),l(ue),l(k),l(me),l(C),l(ce),l(u),l(de),l(B),l(fe),l(U),l(he),l(z),l(ye),l(we),l(m),l(be),l(H),l(Me),l(q),l(ge),l(je),l(W),l(Je),l(V),l(Te),l(R),l(xe),l($e),l(P),l(ve),l(Ge),l(Ie),l(X),l(ke),l(Ce),l(L),l(Be),l(c),l(Ue),l(N),l(ze),l(Ze),l(D)),l(M),b(g,e),b(j,e),b(J,e),b(G,e),b(Z,e),b(_,e),b(S,e),b(Q,e),b(E,e),b(Y,e),b(F,e)}}}const bt='{"title":"Creare la tua prima demo","local":"creare-la-tua-prima-demo","sections":[{"title":"🤖 Includere le predizioni del modello","local":"-includere-le-predizioni-del-modello","sections":[],"depth":2}],"depth":1}';function Mt(_e){return pt(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class $t extends ut{constructor(M){super(),mt(this,M,Mt,wt,ot,{})}}export{$t as component}; | |
Xet Storage Details
- Size:
- 17.5 kB
- Xet hash:
- 90db7bdb524e6d3d34ccf1bf01c4d956437832c6713bbbd45d4e80185f5c3b92
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.