import{s as Fe,o as Xe,n as K}from"../chunks/scheduler.8c3d61f6.js";import{S as We,i as Ve,g as T,s as $,r as c,A as Se,h as y,f as i,c as u,j as Ye,u as h,x as J,k as Me,y as Ne,a,v as g,d,t as w,w as _}from"../chunks/index.da70eac4.js";import{C as U}from"../chunks/CodeBlock.a9c4becf.js";import{H as ye,E as qe}from"../chunks/getInferenceSnippets.cb466318.js";import{H as Je,a as z}from"../chunks/HfOption.6c3b4e77.js";function De(v){let t,r="PyTorch only supports Python 3.8 - 3.11 on Windows.",n,p,l;return p=new U({props:{code:"dXYlMjBwaXAlMjBpbnN0YWxsJTIwZGlmZnVzZXJzJTVCJTIydG9yY2glMjIlNUQlMjB0cmFuc2Zvcm1lcnM=",highlighted:'uv pip install diffusers[<span class="hljs-string">&quot;torch&quot;</span>] transformers',wrap:!1}}),{c(){t=T("p"),t.textContent=r,n=$(),c(p.$$.fragment)},l(f){t=y(f,"P",{"data-svelte-h":!0}),J(t)!=="svelte-1vb38m2"&&(t.textContent=r),n=u(f),h(p.$$.fragment,f)},m(f,o){a(f,t,o),a(f,n,o),g(p,f,o),l=!0},p:K,i(f){l||(d(p.$$.fragment,f),l=!0)},o(f){w(p.$$.fragment,f),l=!1},d(f){f&&(i(t),i(n)),_(p,f)}}}function Qe(v){let t,r;return t=new U({props:{code:"Y29uZGElMjBpbnN0YWxsJTIwLWMlMjBjb25kYS1mb3JnZSUyMGRpZmZ1c2Vycw==",highlighted:"conda install -c conda-forge diffusers",wrap:!1}}),{c(){c(t.$$.fragment)},l(n){h(t.$$.fragment,n)},m(n,p){g(t,n,p),r=!0},p:K,i(n){r||(d(t.$$.fragment,n),r=!0)},o(n){w(t.$$.fragment,n),r=!1},d(n){_(t,n)}}}function Ae(v){let t,r='A source install installs the <code>main</code> version instead of the latest <code>stable</code> version. The <code>main</code> version is useful for staying updated with the latest changes but it may not always be stable. If you run into a problem, open an <a href="https://github.com/huggingface/diffusers/issues/new/choose" rel="nofollow">Issue</a> and we will try to resolve it as soon as possible.',n,p,l='Make sure <a href="https://huggingface.co/docs/accelerate/index" rel="nofollow">Accelerate</a> is installed.',f,o,b,Z,C="Install Diffusers from source with the command below.",x,H,k;return o=new U({props:{code:"dXYlMjBwaXAlMjBpbnN0YWxsJTIwYWNjZWxlcmF0ZQ==",highlighted:"uv pip install accelerate",wrap:!1}}),H=new U({props:{code:"dXYlMjBwaXAlMjBpbnN0YWxsJTIwZ2l0JTJCaHR0cHMlM0ElMkYlMkZnaXRodWIuY29tJTJGaHVnZ2luZ2ZhY2UlMkZkaWZmdXNlcnM=",highlighted:"uv pip install git+https://github.com/huggingface/diffusers",wrap:!1}}),{c(){t=T("p"),t.innerHTML=r,n=$(),p=T("p"),p.innerHTML=l,f=$(),c(o.$$.fragment),b=$(),Z=T("p"),Z.textContent=C,x=$(),c(H.$$.fragment)},l(m){t=y(m,"P",{"data-svelte-h":!0}),J(t)!=="svelte-af2xu7"&&(t.innerHTML=r),n=u(m),p=y(m,"P",{"data-svelte-h":!0}),J(p)!=="svelte-1rdz5ih"&&(p.innerHTML=l),f=u(m),h(o.$$.fragment,m),b=u(m),Z=y(m,"P",{"data-svelte-h":!0}),J(Z)!=="svelte-67x9l4"&&(Z.textContent=C),x=u(m),h(H.$$.fragment,m)},m(m,M){a(m,t,M),a(m,n,M),a(m,p,M),a(m,f,M),g(o,m,M),a(m,b,M),a(m,Z,M),a(m,x,M),g(H,m,M),k=!0},p:K,i(m){k||(d(o.$$.fragment,m),d(H.$$.fragment,m),k=!0)},o(m){w(o.$$.fragment,m),w(H.$$.fragment,m),k=!1},d(m){m&&(i(t),i(n),i(p),i(f),i(b),i(Z),i(x)),_(o,m),_(H,m)}}}function Oe(v){let t,r,n,p,l,f;return t=new z({props:{id:"install",option:"pip",$$slots:{default:[De]},$$scope:{ctx:v}}}),n=new z({props:{id:"install",option:"conda",$$slots:{default:[Qe]},$$scope:{ctx:v}}}),l=new z({props:{id:"install",option:"source",$$slots:{default:[Ae]},$$scope:{ctx:v}}}),{c(){c(t.$$.fragment),r=$(),c(n.$$.fragment),p=$(),c(l.$$.fragment)},l(o){h(t.$$.fragment,o),r=u(o),h(n.$$.fragment,o),p=u(o),h(l.$$.fragment,o)},m(o,b){g(t,o,b),a(o,r,b),g(n,o,b),a(o,p,b),g(l,o,b),f=!0},p(o,b){const Z={};b&2&&(Z.$$scope={dirty:b,ctx:o}),t.$set(Z);const C={};b&2&&(C.$$scope={dirty:b,ctx:o}),n.$set(C);const x={};b&2&&(x.$$scope={dirty:b,ctx:o}),l.$set(x)},i(o){f||(d(t.$$.fragment,o),d(n.$$.fragment,o),d(l.$$.fragment,o),f=!0)},o(o){w(t.$$.fragment,o),w(n.$$.fragment,o),w(l.$$.fragment,o),f=!1},d(o){o&&(i(r),i(p)),_(t,o),_(n,o),_(l,o)}}}function ze(v){let t,r;return t=new U({props:{code:"ZXhwb3J0JTIwSEZfSE9NRSUzRCUyMiUyRnBhdGglMkZ0byUyRnlvdXIlMkZjYWNoZSUyMiUwQWV4cG9ydCUyMEhGX0hVQl9DQUNIRSUzRCUyMiUyRnBhdGglMkZ0byUyRnlvdXIlMkZodWIlMkZjYWNoZSUyMg==",highlighted:`<span class="hljs-built_in">export</span> HF_HOME=<span class="hljs-string">&quot;/path/to/your/cache&quot;</span>
<span class="hljs-built_in">export</span> HF_HUB_CACHE=<span class="hljs-string">&quot;/path/to/your/hub/cache&quot;</span>`,wrap:!1}}),{c(){c(t.$$.fragment)},l(n){h(t.$$.fragment,n)},m(n,p){g(t,n,p),r=!0},p:K,i(n){r||(d(t.$$.fragment,n),r=!0)},o(n){w(t.$$.fragment,n),r=!1},d(n){_(t,n)}}}function Ke(v){let t,r;return t=new U({props:{code:"ZnJvbSUyMGRpZmZ1c2VycyUyMGltcG9ydCUyMERpZmZ1c2lvblBpcGVsaW5lJTBBJTBBcGlwZWxpbmUlMjAlM0QlMjBEaWZmdXNpb25QaXBlbGluZS5mcm9tX3ByZXRyYWluZWQoJTBBJTIwJTIwJTIwJTIwJTIyYmxhY2stZm9yZXN0LWxhYnMlMkZGTFVYLjEtZGV2JTIyJTJDJTBBJTIwJTIwJTIwJTIwY2FjaGVfZGlyJTNEJTIyJTJGcGF0aCUyRnRvJTJGeW91ciUyRmNhY2hlJTIyJTBBKQ==",highlighted:`<span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> DiffusionPipeline

pipeline = DiffusionPipeline.from_pretrained(
    <span class="hljs-string">&quot;black-forest-labs/FLUX.1-dev&quot;</span>,
    cache_dir=<span class="hljs-string">&quot;/path/to/your/cache&quot;</span>
)`,wrap:!1}}),{c(){c(t.$$.fragment)},l(n){h(t.$$.fragment,n)},m(n,p){g(t,n,p),r=!0},p:K,i(n){r||(d(t.$$.fragment,n),r=!0)},o(n){w(t.$$.fragment,n),r=!1},d(n){_(t,n)}}}function et(v){let t,r,n,p;return t=new z({props:{id:"cache",option:"env variable",$$slots:{default:[ze]},$$scope:{ctx:v}}}),n=new z({props:{id:"cache",option:"from_pretrained",$$slots:{default:[Ke]},$$scope:{ctx:v}}}),{c(){c(t.$$.fragment),r=$(),c(n.$$.fragment)},l(l){h(t.$$.fragment,l),r=u(l),h(n.$$.fragment,l)},m(l,f){g(t,l,f),a(l,r,f),g(n,l,f),p=!0},p(l,f){const o={};f&2&&(o.$$scope={dirty:f,ctx:l}),t.$set(o);const b={};f&2&&(b.$$scope={dirty:f,ctx:l}),n.$set(b)},i(l){p||(d(t.$$.fragment,l),d(n.$$.fragment,l),p=!0)},o(l){w(t.$$.fragment,l),w(n.$$.fragment,l),p=!1},d(l){l&&i(r),_(t,l),_(n,l)}}}function tt(v){let t,r;return t=new U({props:{code:"ZXhwb3J0JTIwSEZfSFVCX0RJU0FCTEVfVEVMRU1FVFJZJTNEMQ==",highlighted:'<span class="hljs-built_in">export</span> HF_HUB_DISABLE_TELEMETRY=1',wrap:!1}}),{c(){c(t.$$.fragment)},l(n){h(t.$$.fragment,n)},m(n,p){g(t,n,p),r=!0},p:K,i(n){r||(d(t.$$.fragment,n),r=!0)},o(n){w(t.$$.fragment,n),r=!1},d(n){_(t,n)}}}function nt(v){let t,r;return t=new U({props:{code:"c2V0JTIwSEZfSFVCX0RJU0FCTEVfVEVMRU1FVFJZJTNEMQ==",highlighted:'<span class="hljs-built_in">set</span> HF_HUB_DISABLE_TELEMETRY=1',wrap:!1}}),{c(){c(t.$$.fragment)},l(n){h(t.$$.fragment,n)},m(n,p){g(t,n,p),r=!0},p:K,i(n){r||(d(t.$$.fragment,n),r=!0)},o(n){w(t.$$.fragment,n),r=!1},d(n){_(t,n)}}}function lt(v){let t,r,n,p;return t=new z({props:{id:"telemetry",option:"Linux/macOS",$$slots:{default:[tt]},$$scope:{ctx:v}}}),n=new z({props:{id:"telemetry",option:"Windows",$$slots:{default:[nt]},$$scope:{ctx:v}}}),{c(){c(t.$$.fragment),r=$(),c(n.$$.fragment)},l(l){h(t.$$.fragment,l),r=u(l),h(n.$$.fragment,l)},m(l,f){g(t,l,f),a(l,r,f),g(n,l,f),p=!0},p(l,f){const o={};f&2&&(o.$$scope={dirty:f,ctx:l}),t.$set(o);const b={};f&2&&(b.$$scope={dirty:f,ctx:l}),n.$set(b)},i(l){p||(d(t.$$.fragment,l),d(n.$$.fragment,l),p=!0)},o(l){w(t.$$.fragment,l),w(n.$$.fragment,l),p=!1},d(l){l&&i(r),_(t,l),_(n,l)}}}function st(v){let t,r,n,p,l,f,o,b='Diffusers is tested on Python 3.8+ and PyTorch 1.4+. Install <a href="https://pytorch.org/get-started/locally/" rel="nofollow">PyTorch</a> according to your system and setup.',Z,C,x='Create a <a href="https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/" rel="nofollow">virtual environment</a> for easier management of separate projects and to avoid compatibility issues between dependencies. Use <a href="https://docs.astral.sh/uv/" rel="nofollow">uv</a>, a Rust-based Python package and project manager, to create a virtual environment and install Diffusers.',H,k,m,M,Ze="Install Diffusers with one of the following methods.",te,I,ne,L,le,G,Ce="An editable install is recommended for development workflows or if you’re using the <code>main</code> version of the source code. A special link is created between the cloned repository and the Python library paths. This avoids reinstalling a package after every change.",se,P,He="Clone the repository and install Diffusers with the following commands.",ie,R,ae,j,ke="<p>You must keep the <code>diffusers</code> folder if you want to keep using the library with the editable install.</p>",oe,Y,Ue="Update your cloned repository to the latest version of Diffusers with the command below.",re,F,fe,X,pe,W,xe='Model weights and files are downloaded from the Hub to a cache, which is usually your home directory. Change the cache location with the <a href="https://huggingface.co/docs/huggingface_hub/package_reference/environment_variables#hfhome" rel="nofollow">HF_HOME</a> or <a href="https://huggingface.co/docs/huggingface_hub/package_reference/environment_variables#hfhubcache" rel="nofollow">HF_HUB_CACHE</a> environment variables or configuring the <code>cache_dir</code> parameter in methods like <a href="/docs/diffusers/main/en/api/pipelines/overview#diffusers.DiffusionPipeline.from_pretrained">from_pretrained()</a>.',$e,E,ue,V,Ie='Cached files allow you to use Diffusers offline. Set the <a href="https://huggingface.co/docs/huggingface_hub/package_reference/environment_variables#hfhuboffline" rel="nofollow">HF_HUB_OFFLINE</a> environment variable to <code>1</code> to prevent Diffusers from connecting to the internet.',me,S,ce,N,je='For more details about managing and cleaning the cache, take a look at the <a href="https://huggingface.co/docs/huggingface_hub/guides/manage-cache" rel="nofollow">Understand caching</a> guide.',he,q,ge,D,Ee=`Diffusers gathers telemetry information during <a href="/docs/diffusers/main/en/api/pipelines/overview#diffusers.DiffusionPipeline.from_pretrained">from_pretrained()</a> requests.
The data gathered includes the Diffusers and PyTorch version, the requested model or pipeline class,
and the path to a pretrained checkpoint if it is hosted on the Hub.`,de,Q,Be=`This usage data helps us debug issues and prioritize new features.
Telemetry is only sent when loading models and pipelines from the Hub,
and it is not collected if you’re loading local files.`,we,A,Le='Opt-out and disable telemetry collection with the <a href="https://huggingface.co/docs/huggingface_hub/package_reference/environment_variables#hfhubdisabletelemetry" rel="nofollow">HF_HUB_DISABLE_TELEMETRY</a> environment variable.',_e,B,be,O,ve,ee,Te;return l=new ye({props:{title:"Installation",local:"installation",headingTag:"h1"}}),k=new U({props:{code:"dXYlMjB2ZW52JTIwbXktZW52JTBBc291cmNlJTIwbXktZW52JTJGYmluJTJGYWN0aXZhdGU=",highlighted:`uv venv my-env
<span class="hljs-built_in">source</span> my-env/bin/activate`,wrap:!1}}),I=new Je({props:{id:"install",options:["pip","conda","source"],$$slots:{default:[Oe]},$$scope:{ctx:v}}}),L=new ye({props:{title:"Editable install",local:"editable-install",headingTag:"h2"}}),R=new U({props:{code:"Z2l0JTIwY2xvbmUlMjBodHRwcyUzQSUyRiUyRmdpdGh1Yi5jb20lMkZodWdnaW5nZmFjZSUyRmRpZmZ1c2Vycy5naXQlMEFjZCUyMGRpZmZ1c2VycyUwQXV2JTIwcGlwJTIwaW5zdGFsbCUyMC1lJTIwJTIyLiU1QnRvcmNoJTVEJTIy",highlighted:`git <span class="hljs-built_in">clone</span> https://github.com/huggingface/diffusers.git
<span class="hljs-built_in">cd</span> diffusers
uv pip install -e <span class="hljs-string">&quot;.[torch]&quot;</span>`,wrap:!1}}),F=new U({props:{code:"Y2QlMjB+JTJGZGlmZnVzZXJzJTJGJTBBZ2l0JTIwcHVsbA==",highlighted:`<span class="hljs-built_in">cd</span> ~/diffusers/
git pull`,wrap:!1}}),X=new ye({props:{title:"Cache",local:"cache",headingTag:"h2"}}),E=new Je({props:{id:"cache",options:["env variable","from_pretrained"],$$slots:{default:[et]},$$scope:{ctx:v}}}),S=new U({props:{code:"ZXhwb3J0JTIwSEZfSFVCX09GRkxJTkUlM0Qx",highlighted:"export HF_HUB_OFFLINE=1",wrap:!1}}),q=new ye({props:{title:"Telemetry logging",local:"telemetry-logging",headingTag:"h2"}}),B=new Je({props:{id:"telemetry",options:["Linux/macOS","Windows"],$$slots:{default:[lt]},$$scope:{ctx:v}}}),O=new qe({props:{source:"https://github.com/huggingface/diffusers/blob/main/docs/source/en/installation.md"}}),{c(){t=T("meta"),r=$(),n=T("p"),p=$(),c(l.$$.fragment),f=$(),o=T("p"),o.innerHTML=b,Z=$(),C=T("p"),C.innerHTML=x,H=$(),c(k.$$.fragment),m=$(),M=T("p"),M.textContent=Ze,te=$(),c(I.$$.fragment),ne=$(),c(L.$$.fragment),le=$(),G=T("p"),G.innerHTML=Ce,se=$(),P=T("p"),P.textContent=He,ie=$(),c(R.$$.fragment),ae=$(),j=T("blockquote"),j.innerHTML=ke,oe=$(),Y=T("p"),Y.textContent=Ue,re=$(),c(F.$$.fragment),fe=$(),c(X.$$.fragment),pe=$(),W=T("p"),W.innerHTML=xe,$e=$(),c(E.$$.fragment),ue=$(),V=T("p"),V.innerHTML=Ie,me=$(),c(S.$$.fragment),ce=$(),N=T("p"),N.innerHTML=je,he=$(),c(q.$$.fragment),ge=$(),D=T("p"),D.innerHTML=Ee,de=$(),Q=T("p"),Q.textContent=Be,we=$(),A=T("p"),A.innerHTML=Le,_e=$(),c(B.$$.fragment),be=$(),c(O.$$.fragment),ve=$(),ee=T("p"),this.h()},l(e){const s=Se("svelte-u9bgzb",document.head);t=y(s,"META",{name:!0,content:!0}),s.forEach(i),r=u(e),n=y(e,"P",{}),Ye(n).forEach(i),p=u(e),h(l.$$.fragment,e),f=u(e),o=y(e,"P",{"data-svelte-h":!0}),J(o)!=="svelte-1uhhb0k"&&(o.innerHTML=b),Z=u(e),C=y(e,"P",{"data-svelte-h":!0}),J(C)!=="svelte-1gih0f9"&&(C.innerHTML=x),H=u(e),h(k.$$.fragment,e),m=u(e),M=y(e,"P",{"data-svelte-h":!0}),J(M)!=="svelte-q9h2hb"&&(M.textContent=Ze),te=u(e),h(I.$$.fragment,e),ne=u(e),h(L.$$.fragment,e),le=u(e),G=y(e,"P",{"data-svelte-h":!0}),J(G)!=="svelte-11sodmo"&&(G.innerHTML=Ce),se=u(e),P=y(e,"P",{"data-svelte-h":!0}),J(P)!=="svelte-jdejif"&&(P.textContent=He),ie=u(e),h(R.$$.fragment,e),ae=u(e),j=y(e,"BLOCKQUOTE",{class:!0,"data-svelte-h":!0}),J(j)!=="svelte-109ggii"&&(j.innerHTML=ke),oe=u(e),Y=y(e,"P",{"data-svelte-h":!0}),J(Y)!=="svelte-7777tt"&&(Y.textContent=Ue),re=u(e),h(F.$$.fragment,e),fe=u(e),h(X.$$.fragment,e),pe=u(e),W=y(e,"P",{"data-svelte-h":!0}),J(W)!=="svelte-pj773q"&&(W.innerHTML=xe),$e=u(e),h(E.$$.fragment,e),ue=u(e),V=y(e,"P",{"data-svelte-h":!0}),J(V)!=="svelte-10p7tbu"&&(V.innerHTML=Ie),me=u(e),h(S.$$.fragment,e),ce=u(e),N=y(e,"P",{"data-svelte-h":!0}),J(N)!=="svelte-1glxnyu"&&(N.innerHTML=je),he=u(e),h(q.$$.fragment,e),ge=u(e),D=y(e,"P",{"data-svelte-h":!0}),J(D)!=="svelte-dhq45t"&&(D.innerHTML=Ee),de=u(e),Q=y(e,"P",{"data-svelte-h":!0}),J(Q)!=="svelte-1uleh2k"&&(Q.textContent=Be),we=u(e),A=y(e,"P",{"data-svelte-h":!0}),J(A)!=="svelte-1j293dk"&&(A.innerHTML=Le),_e=u(e),h(B.$$.fragment,e),be=u(e),h(O.$$.fragment,e),ve=u(e),ee=y(e,"P",{}),Ye(ee).forEach(i),this.h()},h(){Me(t,"name","hf:doc:metadata"),Me(t,"content",it),Me(j,"class","warning")},m(e,s){Ne(document.head,t),a(e,r,s),a(e,n,s),a(e,p,s),g(l,e,s),a(e,f,s),a(e,o,s),a(e,Z,s),a(e,C,s),a(e,H,s),g(k,e,s),a(e,m,s),a(e,M,s),a(e,te,s),g(I,e,s),a(e,ne,s),g(L,e,s),a(e,le,s),a(e,G,s),a(e,se,s),a(e,P,s),a(e,ie,s),g(R,e,s),a(e,ae,s),a(e,j,s),a(e,oe,s),a(e,Y,s),a(e,re,s),g(F,e,s),a(e,fe,s),g(X,e,s),a(e,pe,s),a(e,W,s),a(e,$e,s),g(E,e,s),a(e,ue,s),a(e,V,s),a(e,me,s),g(S,e,s),a(e,ce,s),a(e,N,s),a(e,he,s),g(q,e,s),a(e,ge,s),a(e,D,s),a(e,de,s),a(e,Q,s),a(e,we,s),a(e,A,s),a(e,_e,s),g(B,e,s),a(e,be,s),g(O,e,s),a(e,ve,s),a(e,ee,s),Te=!0},p(e,[s]){const Ge={};s&2&&(Ge.$$scope={dirty:s,ctx:e}),I.$set(Ge);const Pe={};s&2&&(Pe.$$scope={dirty:s,ctx:e}),E.$set(Pe);const Re={};s&2&&(Re.$$scope={dirty:s,ctx:e}),B.$set(Re)},i(e){Te||(d(l.$$.fragment,e),d(k.$$.fragment,e),d(I.$$.fragment,e),d(L.$$.fragment,e),d(R.$$.fragment,e),d(F.$$.fragment,e),d(X.$$.fragment,e),d(E.$$.fragment,e),d(S.$$.fragment,e),d(q.$$.fragment,e),d(B.$$.fragment,e),d(O.$$.fragment,e),Te=!0)},o(e){w(l.$$.fragment,e),w(k.$$.fragment,e),w(I.$$.fragment,e),w(L.$$.fragment,e),w(R.$$.fragment,e),w(F.$$.fragment,e),w(X.$$.fragment,e),w(E.$$.fragment,e),w(S.$$.fragment,e),w(q.$$.fragment,e),w(B.$$.fragment,e),w(O.$$.fragment,e),Te=!1},d(e){e&&(i(r),i(n),i(p),i(f),i(o),i(Z),i(C),i(H),i(m),i(M),i(te),i(ne),i(le),i(G),i(se),i(P),i(ie),i(ae),i(j),i(oe),i(Y),i(re),i(fe),i(pe),i(W),i($e),i(ue),i(V),i(me),i(ce),i(N),i(he),i(ge),i(D),i(de),i(Q),i(we),i(A),i(_e),i(be),i(ve),i(ee)),i(t),_(l,e),_(k,e),_(I,e),_(L,e),_(R,e),_(F,e),_(X,e),_(E,e),_(S,e),_(q,e),_(B,e),_(O,e)}}}const it='{"title":"Installation","local":"installation","sections":[{"title":"Editable install","local":"editable-install","sections":[],"depth":2},{"title":"Cache","local":"cache","sections":[],"depth":2},{"title":"Telemetry logging","local":"telemetry-logging","sections":[],"depth":2}],"depth":1}';function at(v){return Xe(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class ut extends We{constructor(t){super(),Ve(this,t,at,st,Fe,{})}}export{ut as component};
