import{S as qo,i as Fo,s as Bo,e as r,k as h,w as c,t as $,M as Io,c as n,d as t,m as u,a as i,x as p,h as v,b as s,G as o,g as l,y as f,L as Wo,q as d,o as m,B as g,v as Lo}from"../../chunks/vendor-hf-doc-builder.js";import{I as w}from"../../chunks/IconCopyLink-hf-doc-builder.js";import{C as Co}from"../../chunks/CourseFloatingBanner-hf-doc-builder.js";import{Q as y}from"../../chunks/Question-hf-doc-builder.js";function Yo(Kt){let x,Ce,b,F,ge,J,xt,$e,bt,Ye,U,ze,de,kt,Oe,k,B,ve,Q,_t,we,Et,De,R,Me,_,I,ye,j,At,xe,St,Je,K,Ue,E,W,be,V,Pt,ke,Gt,Qe,X,Re,A,L,_e,Z,Nt,Ee,Ht,je,ee,Ke,S,C,Ae,te,Tt,Se,qt,Ve,oe,Xe,P,Y,Pe,ae,Ft,Ge,Bt,Ze,re,et,G,z,Ne,ne,It,He,Wt,tt,ie,ot,N,O,Te,se,Lt,qe,Ct,at,le,rt,H,D,Fe,he,Yt,ue,zt,Be,Ot,Dt,nt,ce,it,T,M,Ie,pe,Mt,q,Jt,We,Ut,Qt,Le,Rt,jt,st,fe,lt;return J=new w({}),U=new Co({props:{chapter:9,classNames:"absolute z-10 right-0 top-0"}}),Q=new w({}),R=new y({props:{choices:[{text:"Create a demo for your machine learning model",explain:"With a few lines of python code you can generate a demo for your ML model using our library of pre-built components.",correct:!0},{text:"Share your machine learning model with others",explain:"Using the <code>share=True</code> parameter in the launch method, you can generate a share link to send to anyone.",correct:!0},{text:"Debug your model",explain:"One advantage of a gradio demo is being able to test your model with real data which you can change and observe the model's predictions change in real time, helping you debug your model.",correct:!0},{text:"Train your model",explain:"Gradio is designed to be used for model inference, AFTER your model is trained."}]}}),j=new w({}),K=new y({props:{choices:[{text:"True",explain:"Gradio works with PyTorch models, but also works for any type of machine learning model!"},{text:"False",explain:"Gradio is model agnostic, meaning you can create a demo for any type of machine learning model.",correct:!0}]}}),V=new w({}),X=new y({props:{choices:[{text:"Standard python IDEs",explain:"Gradio works great with your favorite IDE.",correct:!0},{text:"Google Colab notebooks",explain:"You can create and launch a demo within your Google colab notebook.",correct:!0},{text:"Jupyter notebooks",explain:"Good choice - You can create and launch a demo within your Jupyter notebook.",correct:!0}]}}),Z=new w({}),ee=new y({props:{choices:[{text:"True",explain:"Gradio works with pretty much any data type, not just NLP."},{text:"False",explain:"Gradio supplies developers with a library of pre-built components for pretty much all data types.",correct:!0}]}}),te=new w({}),oe=new y({props:{choices:[{text:"Multiple inputs and outputs",explain:"Multiple inputs and outputs is possible with gradio. All you need to do is pass in a list of inputs and outputs to their corresponding parameters",correct:!0},{text:"State for data persistance",explain:"Gradio is capable of adding state to your interface.",correct:!0},{text:"Username and passwords authentication",explain:"Pass in a list of username/password tuples to the launch method to add authentication.",correct:!0},{text:"Automatic analytics for who uses your gradio demo",explain:"Try again - Gradio does not supply developers analytics on who uses their demos."},{text:"Loading a model from Hugging Face's model hub or Hugging Face Spaces",explain:"Absolutely - load any Hugging Face model using the <code>gr.Interface.load()</code> method",correct:!0}]}}),ae=new w({}),re=new y({props:{choices:[{text:"gr.Interface.load('huggingface/{user}/{model_name}')",explain:"This is a valid method of loading a Hugging Face model from the Hub",correct:!0},{text:"gr.Interface.load('model/{user}/{model_name}')",explain:"This is a valid method of loading a Hugging Face model from the Hub",correct:!0},{text:"gr.Interface.load('demos/{user}/{model_name}')",explain:"Try again -- you cannot load a model by using the 'demos' prefix."},{text:"gr.Interface.load('spaces/{user}/{model_name}')",explain:"This is a valid method of loading a Hugging Face model from Spaces",correct:!0}]}}),ne=new w({}),ie=new y({props:{choices:[{text:"Pass in an extra parameter into your prediction function, which represents the state of the interface.",explain:"An extra parameter storing history or state of your interface is necessary.",correct:!0},{text:"At the end of the prediction function, return the updated value of the state as an extra return value.",explain:"This history or state value needs to be returned by your function.",correct:!0},{text:"Add the state input and state output components when creating your Interface",explain:"Gradio provides a state input and output component to persist data.",correct:!0}]}}),se=new w({}),le=new y({props:{choices:[{text:"Textbox.",explain:"Yes, you can create textboxes with the Textbox component.",correct:!0},{text:"Graph.",explain:"There is currently no Graph component."},{text:"Image.",explain:"Yes, you can create an image upload widget with the Image component.",correct:!0},{text:"Audio.",explain:"Yes, you can create an audio upload widget with the Audio component.",correct:!0}]}}),he=new w({}),ce=new y({props:{choices:[{text:"Combine multiple demos into one web app",explain:"You can use the `with gradio.Tabs():` to add tabs for multiple demos",correct:!0},{text:"Assign event triggers such as clicked/changed/etc to `Blocks` components",explain:"When you assign an event, you pass in three parameters: fn: the function that should be called, inputs: the (list) of input component(s), and outputs: the (list) of output components that should be called.",correct:!0},{text:"Automatically determine which `Blocks` component should be interactive vs. static",explain:"Based on the event triggers you define, `Blocks` automatically figures out whether a component should accept user input or not.",correct:!0},{text:"Create multi-step demos; meaning allowing you to reuse the output of one component as the input to the next",explain:"You can use a component for the input of one event trigger but the output of another.",correct:!0}]}}),pe=new w({}),fe=new y({props:{choices:[{text:"True",explain:"Just like `Interface`, all of the sharing and hosting capabilities are the same for `Blocks` demos!",correct:!0},{text:"False",explain:"Just like `Interface`, all of the sharing and hosting capabilities are the same for `Blocks` demos!",correct:!1}]}}),{c(){x=r("meta"),Ce=h(),b=r("h1"),F=r("a"),ge=r("span"),c(J.$$.fragment),xt=h(),$e=r("span"),bt=$("End-of-chapter quiz"),Ye=h(),c(U.$$.fragment),ze=h(),de=r("p"),kt=$("Let\u2019s test what you learned in this chapter!"),Oe=h(),k=r("h3"),B=r("a"),ve=r("span"),c(Q.$$.fragment),_t=h(),we=r("span"),Et=$("1. What can you use Gradio to do?"),De=h(),c(R.$$.fragment),Me=h(),_=r("h3"),I=r("a"),ye=r("span"),c(j.$$.fragment),At=h(),xe=r("span"),St=$("2. Gradio ONLY works with PyTorch models"),Je=h(),c(K.$$.fragment),Ue=h(),E=r("h3"),W=r("a"),be=r("span"),c(V.$$.fragment),Pt=h(),ke=r("span"),Gt=$("3. Where can you launch a Gradio demo from?"),Qe=h(),c(X.$$.fragment),Re=h(),A=r("h3"),L=r("a"),_e=r("span"),c(Z.$$.fragment),Nt=h(),Ee=r("span"),Ht=$("4. Gradio is designed primarily for NLP models"),je=h(),c(ee.$$.fragment),Ke=h(),S=r("h3"),C=r("a"),Ae=r("span"),c(te.$$.fragment),Tt=h(),Se=r("span"),qt=$("5. Which of the following features are supported by Gradio?"),Ve=h(),c(oe.$$.fragment),Xe=h(),P=r("h3"),Y=r("a"),Pe=r("span"),c(ae.$$.fragment),Ft=h(),Ge=r("span"),Bt=$("6. Which of the following are valid ways of loading a Hugging Face model from Hub or Spaces?"),Ze=h(),c(re.$$.fragment),et=h(),G=r("h3"),z=r("a"),Ne=r("span"),c(ne.$$.fragment),It=h(),He=r("span"),Wt=$("7. Select all the steps necessary for adding state to your Gradio interface"),tt=h(),c(ie.$$.fragment),ot=h(),N=r("h3"),O=r("a"),Te=r("span"),c(se.$$.fragment),Lt=h(),qe=r("span"),Ct=$("8. Which of the following are components included in the Gradio library?"),at=h(),c(le.$$.fragment),rt=h(),H=r("h3"),D=r("a"),Fe=r("span"),c(he.$$.fragment),Yt=h(),ue=r("span"),zt=$("9. What does Gradio "),Be=r("code"),Ot=$("Blocks"),Dt=$(" allow you to do?"),nt=h(),c(ce.$$.fragment),it=h(),T=r("h3"),M=r("a"),Ie=r("span"),c(pe.$$.fragment),Mt=h(),q=r("span"),Jt=$("10. You can share a public link to a "),We=r("code"),Ut=$("Blocks"),Qt=$(" demo and host a "),Le=r("code"),Rt=$("Blocks"),jt=$(" demo on Hugging Face spaces."),st=h(),c(fe.$$.fragment),this.h()},l(e){const a=Io('[data-svelte="svelte-1phssyn"]',document.head);x=n(a,"META",{name:!0,content:!0}),a.forEach(t),Ce=u(e),b=n(e,"H1",{class:!0});var ht=i(b);F=n(ht,"A",{id:!0,class:!0,href:!0});var Vt=i(F);ge=n(Vt,"SPAN",{});var Xt=i(ge);p(J.$$.fragment,Xt),Xt.forEach(t),Vt.forEach(t),xt=u(ht),$e=n(ht,"SPAN",{});var Zt=i($e);bt=v(Zt,"End-of-chapter quiz"),Zt.forEach(t),ht.forEach(t),Ye=u(e),p(U.$$.fragment,e),ze=u(e),de=n(e,"P",{});var eo=i(de);kt=v(eo,"Let\u2019s test what you learned in this chapter!"),eo.forEach(t),Oe=u(e),k=n(e,"H3",{class:!0});var ut=i(k);B=n(ut,"A",{id:!0,class:!0,href:!0});var to=i(B);ve=n(to,"SPAN",{});var oo=i(ve);p(Q.$$.fragment,oo),oo.forEach(t),to.forEach(t),_t=u(ut),we=n(ut,"SPAN",{});var ao=i(we);Et=v(ao,"1. What can you use Gradio to do?"),ao.forEach(t),ut.forEach(t),De=u(e),p(R.$$.fragment,e),Me=u(e),_=n(e,"H3",{class:!0});var ct=i(_);I=n(ct,"A",{id:!0,class:!0,href:!0});var ro=i(I);ye=n(ro,"SPAN",{});var no=i(ye);p(j.$$.fragment,no),no.forEach(t),ro.forEach(t),At=u(ct),xe=n(ct,"SPAN",{});var io=i(xe);St=v(io,"2. Gradio ONLY works with PyTorch models"),io.forEach(t),ct.forEach(t),Je=u(e),p(K.$$.fragment,e),Ue=u(e),E=n(e,"H3",{class:!0});var pt=i(E);W=n(pt,"A",{id:!0,class:!0,href:!0});var so=i(W);be=n(so,"SPAN",{});var lo=i(be);p(V.$$.fragment,lo),lo.forEach(t),so.forEach(t),Pt=u(pt),ke=n(pt,"SPAN",{});var ho=i(ke);Gt=v(ho,"3. Where can you launch a Gradio demo from?"),ho.forEach(t),pt.forEach(t),Qe=u(e),p(X.$$.fragment,e),Re=u(e),A=n(e,"H3",{class:!0});var ft=i(A);L=n(ft,"A",{id:!0,class:!0,href:!0});var uo=i(L);_e=n(uo,"SPAN",{});var co=i(_e);p(Z.$$.fragment,co),co.forEach(t),uo.forEach(t),Nt=u(ft),Ee=n(ft,"SPAN",{});var po=i(Ee);Ht=v(po,"4. Gradio is designed primarily for NLP models"),po.forEach(t),ft.forEach(t),je=u(e),p(ee.$$.fragment,e),Ke=u(e),S=n(e,"H3",{class:!0});var dt=i(S);C=n(dt,"A",{id:!0,class:!0,href:!0});var fo=i(C);Ae=n(fo,"SPAN",{});var mo=i(Ae);p(te.$$.fragment,mo),mo.forEach(t),fo.forEach(t),Tt=u(dt),Se=n(dt,"SPAN",{});var go=i(Se);qt=v(go,"5. Which of the following features are supported by Gradio?"),go.forEach(t),dt.forEach(t),Ve=u(e),p(oe.$$.fragment,e),Xe=u(e),P=n(e,"H3",{class:!0});var mt=i(P);Y=n(mt,"A",{id:!0,class:!0,href:!0});var $o=i(Y);Pe=n($o,"SPAN",{});var vo=i(Pe);p(ae.$$.fragment,vo),vo.forEach(t),$o.forEach(t),Ft=u(mt),Ge=n(mt,"SPAN",{});var wo=i(Ge);Bt=v(wo,"6. Which of the following are valid ways of loading a Hugging Face model from Hub or Spaces?"),wo.forEach(t),mt.forEach(t),Ze=u(e),p(re.$$.fragment,e),et=u(e),G=n(e,"H3",{class:!0});var gt=i(G);z=n(gt,"A",{id:!0,class:!0,href:!0});var yo=i(z);Ne=n(yo,"SPAN",{});var xo=i(Ne);p(ne.$$.fragment,xo),xo.forEach(t),yo.forEach(t),It=u(gt),He=n(gt,"SPAN",{});var bo=i(He);Wt=v(bo,"7. Select all the steps necessary for adding state to your Gradio interface"),bo.forEach(t),gt.forEach(t),tt=u(e),p(ie.$$.fragment,e),ot=u(e),N=n(e,"H3",{class:!0});var $t=i(N);O=n($t,"A",{id:!0,class:!0,href:!0});var ko=i(O);Te=n(ko,"SPAN",{});var _o=i(Te);p(se.$$.fragment,_o),_o.forEach(t),ko.forEach(t),Lt=u($t),qe=n($t,"SPAN",{});var Eo=i(qe);Ct=v(Eo,"8. Which of the following are components included in the Gradio library?"),Eo.forEach(t),$t.forEach(t),at=u(e),p(le.$$.fragment,e),rt=u(e),H=n(e,"H3",{class:!0});var vt=i(H);D=n(vt,"A",{id:!0,class:!0,href:!0});var Ao=i(D);Fe=n(Ao,"SPAN",{});var So=i(Fe);p(he.$$.fragment,So),So.forEach(t),Ao.forEach(t),Yt=u(vt),ue=n(vt,"SPAN",{});var wt=i(ue);zt=v(wt,"9. What does Gradio "),Be=n(wt,"CODE",{});var Po=i(Be);Ot=v(Po,"Blocks"),Po.forEach(t),Dt=v(wt," allow you to do?"),wt.forEach(t),vt.forEach(t),nt=u(e),p(ce.$$.fragment,e),it=u(e),T=n(e,"H3",{class:!0});var yt=i(T);M=n(yt,"A",{id:!0,class:!0,href:!0});var Go=i(M);Ie=n(Go,"SPAN",{});var No=i(Ie);p(pe.$$.fragment,No),No.forEach(t),Go.forEach(t),Mt=u(yt),q=n(yt,"SPAN",{});var me=i(q);Jt=v(me,"10. You can share a public link to a "),We=n(me,"CODE",{});var Ho=i(We);Ut=v(Ho,"Blocks"),Ho.forEach(t),Qt=v(me," demo and host a "),Le=n(me,"CODE",{});var To=i(Le);Rt=v(To,"Blocks"),To.forEach(t),jt=v(me," demo on Hugging Face spaces."),me.forEach(t),yt.forEach(t),st=u(e),p(fe.$$.fragment,e),this.h()},h(){s(x,"name","hf:doc:metadata"),s(x,"content",JSON.stringify(zo)),s(F,"id","endofchapter-quiz"),s(F,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),s(F,"href","#endofchapter-quiz"),s(b,"class","relative group"),s(B,"id","1.-what-can-you-use-gradio-to-do?"),s(B,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),s(B,"href","#1.-what-can-you-use-gradio-to-do?"),s(k,"class","relative group"),s(I,"id","2.-gradio-only-works-with-pytorch-models"),s(I,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),s(I,"href","#2.-gradio-only-works-with-pytorch-models"),s(_,"class","relative group"),s(W,"id","3.-where-can-you-launch-a-gradio-demo-from?"),s(W,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),s(W,"href","#3.-where-can-you-launch-a-gradio-demo-from?"),s(E,"class","relative group"),s(L,"id","4.-gradio-is-designed-primarily-for-nlp-models"),s(L,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),s(L,"href","#4.-gradio-is-designed-primarily-for-nlp-models"),s(A,"class","relative group"),s(C,"id","5.-which-of-the-following-features-are-supported-by-gradio?"),s(C,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),s(C,"href","#5.-which-of-the-following-features-are-supported-by-gradio?"),s(S,"class","relative group"),s(Y,"id","6.-which-of-the-following-are-valid-ways-of-loading-a-hugging-face-model-from-hub-or-spaces?"),s(Y,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),s(Y,"href","#6.-which-of-the-following-are-valid-ways-of-loading-a-hugging-face-model-from-hub-or-spaces?"),s(P,"class","relative group"),s(z,"id","7.-select-all-the-steps-necessary-for-adding-state-to-your-gradio-interface"),s(z,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),s(z,"href","#7.-select-all-the-steps-necessary-for-adding-state-to-your-gradio-interface"),s(G,"class","relative group"),s(O,"id","8.-which-of-the-following-are-components-included-in-the-gradio-library?"),s(O,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),s(O,"href","#8.-which-of-the-following-are-components-included-in-the-gradio-library?"),s(N,"class","relative group"),s(D,"id","9.-what-does-gradio-<code>blocks</code>-allow-you-to-do?"),s(D,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),s(D,"href","#9.-what-does-gradio-<code>blocks</code>-allow-you-to-do?"),s(H,"class","relative group"),s(M,"id","10.-you-can-share-a-public-link-to-a-<code>blocks</code>-demo-and-host-a-<code>blocks</code>-demo-on-hugging-face-spaces."),s(M,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),s(M,"href","#10.-you-can-share-a-public-link-to-a-<code>blocks</code>-demo-and-host-a-<code>blocks</code>-demo-on-hugging-face-spaces."),s(T,"class","relative group")},m(e,a){o(document.head,x),l(e,Ce,a),l(e,b,a),o(b,F),o(F,ge),f(J,ge,null),o(b,xt),o(b,$e),o($e,bt),l(e,Ye,a),f(U,e,a),l(e,ze,a),l(e,de,a),o(de,kt),l(e,Oe,a),l(e,k,a),o(k,B),o(B,ve),f(Q,ve,null),o(k,_t),o(k,we),o(we,Et),l(e,De,a),f(R,e,a),l(e,Me,a),l(e,_,a),o(_,I),o(I,ye),f(j,ye,null),o(_,At),o(_,xe),o(xe,St),l(e,Je,a),f(K,e,a),l(e,Ue,a),l(e,E,a),o(E,W),o(W,be),f(V,be,null),o(E,Pt),o(E,ke),o(ke,Gt),l(e,Qe,a),f(X,e,a),l(e,Re,a),l(e,A,a),o(A,L),o(L,_e),f(Z,_e,null),o(A,Nt),o(A,Ee),o(Ee,Ht),l(e,je,a),f(ee,e,a),l(e,Ke,a),l(e,S,a),o(S,C),o(C,Ae),f(te,Ae,null),o(S,Tt),o(S,Se),o(Se,qt),l(e,Ve,a),f(oe,e,a),l(e,Xe,a),l(e,P,a),o(P,Y),o(Y,Pe),f(ae,Pe,null),o(P,Ft),o(P,Ge),o(Ge,Bt),l(e,Ze,a),f(re,e,a),l(e,et,a),l(e,G,a),o(G,z),o(z,Ne),f(ne,Ne,null),o(G,It),o(G,He),o(He,Wt),l(e,tt,a),f(ie,e,a),l(e,ot,a),l(e,N,a),o(N,O),o(O,Te),f(se,Te,null),o(N,Lt),o(N,qe),o(qe,Ct),l(e,at,a),f(le,e,a),l(e,rt,a),l(e,H,a),o(H,D),o(D,Fe),f(he,Fe,null),o(H,Yt),o(H,ue),o(ue,zt),o(ue,Be),o(Be,Ot),o(ue,Dt),l(e,nt,a),f(ce,e,a),l(e,it,a),l(e,T,a),o(T,M),o(M,Ie),f(pe,Ie,null),o(T,Mt),o(T,q),o(q,Jt),o(q,We),o(We,Ut),o(q,Qt),o(q,Le),o(Le,Rt),o(q,jt),l(e,st,a),f(fe,e,a),lt=!0},p:Wo,i(e){lt||(d(J.$$.fragment,e),d(U.$$.fragment,e),d(Q.$$.fragment,e),d(R.$$.fragment,e),d(j.$$.fragment,e),d(K.$$.fragment,e),d(V.$$.fragment,e),d(X.$$.fragment,e),d(Z.$$.fragment,e),d(ee.$$.fragment,e),d(te.$$.fragment,e),d(oe.$$.fragment,e),d(ae.$$.fragment,e),d(re.$$.fragment,e),d(ne.$$.fragment,e),d(ie.$$.fragment,e),d(se.$$.fragment,e),d(le.$$.fragment,e),d(he.$$.fragment,e),d(ce.$$.fragment,e),d(pe.$$.fragment,e),d(fe.$$.fragment,e),lt=!0)},o(e){m(J.$$.fragment,e),m(U.$$.fragment,e),m(Q.$$.fragment,e),m(R.$$.fragment,e),m(j.$$.fragment,e),m(K.$$.fragment,e),m(V.$$.fragment,e),m(X.$$.fragment,e),m(Z.$$.fragment,e),m(ee.$$.fragment,e),m(te.$$.fragment,e),m(oe.$$.fragment,e),m(ae.$$.fragment,e),m(re.$$.fragment,e),m(ne.$$.fragment,e),m(ie.$$.fragment,e),m(se.$$.fragment,e),m(le.$$.fragment,e),m(he.$$.fragment,e),m(ce.$$.fragment,e),m(pe.$$.fragment,e),m(fe.$$.fragment,e),lt=!1},d(e){t(x),e&&t(Ce),e&&t(b),g(J),e&&t(Ye),g(U,e),e&&t(ze),e&&t(de),e&&t(Oe),e&&t(k),g(Q),e&&t(De),g(R,e),e&&t(Me),e&&t(_),g(j),e&&t(Je),g(K,e),e&&t(Ue),e&&t(E),g(V),e&&t(Qe),g(X,e),e&&t(Re),e&&t(A),g(Z),e&&t(je),g(ee,e),e&&t(Ke),e&&t(S),g(te),e&&t(Ve),g(oe,e),e&&t(Xe),e&&t(P),g(ae),e&&t(Ze),g(re,e),e&&t(et),e&&t(G),g(ne),e&&t(tt),g(ie,e),e&&t(ot),e&&t(N),g(se),e&&t(at),g(le,e),e&&t(rt),e&&t(H),g(he),e&&t(nt),g(ce,e),e&&t(it),e&&t(T),g(pe),e&&t(st),g(fe,e)}}}const zo={local:"endofchapter-quiz",title:"End-of-chapter quiz"};function Oo(Kt){return Lo(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Qo extends qo{constructor(x){super();Fo(this,x,Oo,Yo,Bo,{})}}export{Qo as default,zo as metadata};
