diff --git a/search-index.js b/search-index.js index 18a44fba..12b3e311 100644 --- a/search-index.js +++ b/search-index.js @@ -1,4 +1,4 @@ -var searchIndex = new Map(JSON.parse('[["task_maker",{"t":"H","n":["main"],"q":[[0,"task_maker"]],"i":"`","f":"{{}b}","D":"b","p":[[1,"unit"]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAEAAAAAAAAAEAAAAAEA"}],["task_maker_cache",{"t":"FGPPNNNNNNNNNNNNNNNNNNNNNNOO","n":["Cache","CacheResult","Hit","Miss","borrow","","borrow_mut","","drop","fmt","from","","get","insert","into","","is_cacheable","new","try_from","","try_into","","type_id","","vzip","","outputs","result"],"q":[[0,"task_maker_cache"],[26,"task_maker_cache::CacheResult"],[28,"core::fmt"],[29,"task_maker_dag::execution_group"],[30,"task_maker_dag::file"],[31,"task_maker_store"],[32,"std::collections::hash::map"],[33,"task_maker_dag::execution"],[34,"alloc::vec"],[35,"anyhow"],[36,"core::result"],[37,"std::path"],[38,"core::convert"],[39,"core::any"]],"i":"``Ah00f10001000100010101010Bj0","f":"````{b{{b{c}}}{}}0{{{b{d}}}{{b{dc}}}{}}0{{{b{df}}}h}{{{b{f}}{b{dj}}}l}{cc{}}0{{{b{df}}{b{n}}{b{{Ad{A`Ab}}}}{b{Af}}}Ah}{{{b{df}}{b{n}}{b{{Ad{A`Ab}}}}{Al{Aj}}}h}{{}c{}}0{{{b{Aj}}}An}{c{{Bb{fB`}}}{{Bf{Bd}}}}{c{{Bb{e}}}{}{}}0{{}{{Bb{c}}}{}}0{bBh}055``","D":"An","p":[[1,"reference"],[0,"mut"],[5,"Cache",0],[1,"unit"],[5,"Formatter",28],[8,"Result",28],[5,"ExecutionGroup",29],[8,"FileUuid",30],[5,"FileStoreHandle",31],[5,"HashMap",32],[5,"FileStore",31],[6,"CacheResult",0],[5,"ExecutionResult",33],[5,"Vec",34],[1,"bool"],[5,"Error",35],[6,"Result",36],[5,"PathBuf",37],[10,"Into",38],[5,"TypeId",39],[15,"Hit",26]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAA0AAgAFAAUAEwAHAA=="}],["task_maker_dag",{"t":"GPIPPFFGFFFFFIFFFFGFIJFIFFIIISPPPPPIIIIGPPPPPPPIFNNNNONONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNONNONONONOOONNNNNNNOOONNNNNNNNNNNNNNNONONONNNNNNNNOONOOONOONOOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNONNNNNNNNNNNNNNNNNNNNNNNNOONNNONOONONOONNNNNNNOONNNOONNONNNNOONNONOONNNNNNNNNNNNNNNNNONONOONONONONOONONOONNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOONNNNNNNNNNNNNNNNNNNNNOOOONNOOOOOOO","n":["CacheMode","Content","DagPriority","Everything","Except","Execution","ExecutionCallbacks","ExecutionCommand","ExecutionDAG","ExecutionDAGCallbacks","ExecutionDAGConfig","ExecutionDAGData","ExecutionGroup","ExecutionGroupUuid","ExecutionInput","ExecutionLimits","ExecutionResourcesUsage","ExecutionResult","ExecutionStatus","ExecutionTag","ExecutionUuid","FIFO_SANDBOX_DIR","Fifo","FifoUuid","File","FileCallbacks","FileUuid","GetContentCallback","GetContentChunkedCallback","HIGH_PRIORITY","InternalError","Local","LocalFile","MemoryLimitExceeded","Nothing","OnDoneCallback","OnSkipCallback","OnStartCallback","Priority","ProvidedFile","ReturnCode","Signal","Success","SysTimeLimitExceeded","System","TimeLimitExceeded","WallTimeLimitExceeded","WorkerUuid","WriteToCallback","add_execution","","add_execution_group","add_extra_readable_dir","allow_failure","allow_multiprocess","","args","","as_ref","block_multiprocess","borrow","","","","","","","","","","","","","","","","","","","","borrow_mut","","","","","","","","","","","","","","","","","","","","cache_mode","","callbacks","capture_stderr","","capture_stdout","","clone","","","","","","","","","","","","","","","","","clone_into","","","","","","","","","","","","","","","","","clone_to_uninit","","","","","","","","","","","","","","","","","command","config","","","config_mut","copy_env","","copy_exe","","copy_logs","","cpu_time","","","data","default","","","","","","dependencies","description","","","deserialize","","","","","","","","","","","","","","","dest","dry_run","","env","","eq","","","","","","","","executable","","execution_callbacks","","execution_groups","executions","extra_memory","","extra_readable_dirs","extra_time","","fifo","file","file_callbacks","","fmt","","","","","","","","","","","","","","","","","","","","from","","","","","","","","","","","","","","","","","","","","","","","","fsize","","get_content","get_content_chunked","get_file_content","get_file_content_chunked","hash","","","input","inputs","internal_error","into","","","","","","","","","","","","","","","","","","","","is_internal_error","is_success","keep_sandboxes","","limits","limits_mut","local","memlock","","memory","","","mount_proc","","mount_tmpfs","","name","new","","","","","new_fifo","nofile","","on_done","on_execution_done","on_execution_skip","on_execution_start","on_skip","on_start","output","outputs","","partial_cmp","priority","","","","","provide_content","provide_file","provided_files","read_only","","resources","sandbox_path","serialize","","","","","","","","","","","","","","","stack","","status","","stderr","","","stderr_redirect_path","","stdin","","stdin_redirect_path","","stdout","","","stdout_redirect_path","","sys_time","","","system","tag","","","to_owned","","","","","","","","","","","","","","","","","try_from","","","","","","","","","","","","","","","","","","","","","try_into","","","","","","","","","","","","","","","","","","","","type_id","","","","","","","","","","","","","","","","","","","","type_script_ify","","","","unrestricted","urgent_file","urgent_files","","uuid","","","","vzip","","","","","","","","","","","","","","","","","","","","wall_time","","","was_cached","was_killed","write_file_to","write_file_to_allow_fail","write_to","content","file","","key","","local_path"],"q":[[0,"task_maker_dag"],[507,"task_maker_dag::ProvidedFile"],[513,"task_maker_dag::dag"],[514,"task_maker_dag::execution"],[515,"task_maker_dag::execution_group"],[516,"std::path"],[517,"core::convert"],[518,"alloc::string"],[519,"core::iter::traits::collect"],[520,"task_maker_dag::file"],[521,"alloc::vec"],[522,"core::result"],[523,"serde::de"],[524,"std::collections::hash::map"],[525,"core::fmt"],[526,"anyhow"],[527,"core::ops::function"],[528,"core::hash"],[529,"core::cmp"],[530,"core::option"],[531,"serde::ser"],[532,"core::any"],[533,"alloc::borrow"],[534,"std::collections::hash::set"]],"i":"`Bd`B`0`````````````````````````BnBj312`````1111011``dl1nCf11h0Aj38An:BfE`8Bh:BlCl79=C`CbCd=;Cn:B`:Bd:9d9Bj98?nBn987lCf8AjAn07h000:19Bf9Bh9Bl398C`CbCd:98B`8Bd7d7Bj7:nBn876lCfAj8An8?7>6=h65=<;432004Bf911222277>929Cl8?Cn3375=4<2Bh;Bl5;:C`CbCd<:;9988B`5BjnBn65>7?dE`=lAn05001;3270BdBf45>8=Clh98>=<5CfCnAjAl0?876:;Bh0?Bl76?>C`CbCd>>876n088d06Bj6<>>>C`????Bh;?6525n08d00998884=87=800;11CbCdB`AnBdBf8BjBlh:Bn=98l?<<2:22:22222222:22<<>42028765;=432<1>:90CfAj::987E`>Bh87Cl7n7C`CbCd98Cn8B`AnBdBf;d;BjBl187>Ad987326?1>:0987326?1>:0987326?1>:02702``<:654687326?>::032100332211667:`0987326?1>:ADj=>1:9984376Ah0036Bl=45`36542?Ff4=<;76:92581>`<6<;?58713=;5<3?n1>=98<43Aj029Bb?63`80BdBf==0C`:=Cf:6<89=543AlA`43=Bj3=9?;:>`?ADj=>1:984376Ah36Bl=JfHh`Ib```````20``HdHf3Hj`Jd6Hn`11`````7Id63`8288``28````2828``431```0`````````````8``22858GjGnIh`L`2Ej:9<8Hl7I`=7H`Lf85IfGl8IjIlInJ`JbJdJfJhJjJlJnK`KbKdGnKfKhKjEjKlKnHdHfHhHjHlHnI`IbIdH`LfGjL`IfGlIhIjIlInJ`JbJdJfJhJjJlJnK`KbKdGnKfKhKjEjKlKnGj3Gl7Hl>5HdHfHhHj4HnI`IbIdH`;If;IhIjIlInJ`JbJdJfJhJjJlJnK`KbKdGnKfKhKjEjKlKnHdHfHhHjHlHnI`IbIdH`GjIfGlIhIjIlInJ`JbJdJfJhJjJlJnK`KbKdGnKfKhKjEjKlKnHdHfHhHjHlHnI`IbIdH`GjIfGlIhIjIlInJ`JbJdJfJhJjJlJnK`KbKdGnKfKhKjEjKlKn6GlGj8IlJbH`0L`Hh2If;9?9329HdHf3HjHlHnI`IbId;>:8?IhIj?InJ`JbEjKlKnGjGnIf5Lf0?JdJfHn0221155395HdHfHhHjHl5I`IbIdH`GlIhIjIlInJ`JbJdJfJhJjJlJnK`KbKdGnKfKhKjEjKlKnH`HdHfHhHjHlHnI`IbId9LfGjL`IfGlIhIjIlInJ`JbJdJfJhJjJlJnK`KbKdGnKfKhKjEjKlKnH`If5?84Jf431523345HdHfHhHjHlHnI`IbId;LfGjL`=GlIhIjIlInJ`JbJdJfJhJjJlJnK`KbKdGnKfKhKjEjKlKnH`<2??3`0JbIh2L`30``I`InJ`=8IjIf;JfLf28Il>=GjGl;K`GnKhKjEjKnJnI`2=3Hl3949;Jb55=Jl96`6804:6IhHdHfHhHj7Hn9IbIdH`GjIfGl;IjIlInJ`JbEjKlKn;;L`LfJhKfGn6?Ih3JlKbKd5=K`<6If=6==:=InJj3?>>GlIj4Ej5:0>HdHfHhHjHlHnI`IbIdH`GjIf>Ih>IlInJ`JbJdJfJhJjJlJnK`KbKdGnKfKhKjEjKlKnLf00Hd0HfHhHjHlHnI`IbIdH`:GjL`IfGlIhIjIlInJ`JbJdJfJhJjJlJnK`KbKdGnKfKhKjEjKlKnHdHfHhHjHlHnI`IbIdH`LfGjL`IfGlIhIjIlInJ`JbJdJfJhJjJlJnK`KbKdGnKfKhKjEjKlKnLfHdHfHhHjHlHnI`IbIdH`:GjL`IfGlIhIjIlInJ`JbJdJfJhJjJlJnK`KbKdGnKfKhKjEjKlKnHdHfHhHjHlHnI`IbH`GjIfGlIhIjIlInJ`JbEjKlKn2>JhHdHfHhHjHlHnI`IbIdH`LfGjL`IfGlIhIjIlInJ`JbJdJfJhJjJlJnK`KbKdGnKfKhKjEjKlKn`````Ob00`````````NnOdNjEhNl4O`64OfOh54372861047644543728610543728610543728610154543728610354372861054372861045437286104542105454444443543728610024543728610543728610543728610543728610543728610434543728610``Fj`Gb``1OnOl0```333333333332``102``2`0`32`1031`3333333``````````Oj1AAhAB`A@`A@bA@dA@f:A@hA@lA@nAA`AAbAAdAAf?>LlGb>=<;:9Fj9876543OnOl43210321032103`?>=<;:987652110OjGfAAhA@bA@dA@f876:93AB`A@`432:A@hA@lA@nAA`AAbAAdAAfOnOlLlGb0<`AAh==<;:98765AAl5AB`5438Gf7654ADb2222``3:4<33A@`445=<:9308765A@hA@lA@nAA`AAbAAdAAfOnOlLlGbAAh?=<;:987654AB`A@`5432A@hA@lA@nAA`AAbAAdAAfOnOlLlGb=3AAh==<;:98765ADlADn1010AE`AEbAEdAEfAEhAEjAEl4AEnAF`6AFb142AFdAFf3AFh7521AFjAFlAFn6AG`AGb=AGdAGfAGh<8>AEd:8760321=9AEj?AGjAGl654AF`=3````````ACnABlAC`ACbACdACfACh6543210543210AD`777654321`765432177``7654321765432176543217654321","f":"``````````````````````````````````````````````````````{{{d{b}}f}{{l{hj}}}}{{{d{n}}f}{{l{hj}}}}{{{d{A`}}}{{d{Ab}}}}{{{d{Ad}}}{{d{Ab}}}}1```{d{{d{c}}}{}}000000000000000{{{d{Af}}}{{d{Afc}}}{}}000000000000000{{{d{AfAh}}{d{Afb}}{d{Aj}}}{{l{hj}}}}{{{d{A`}}{d{{An{Al}}}}}B`}``{{{d{Ah}}}{{l{hj}}}}{{{d{Ad}}}Ad}{{{d{Bb}}}Bb}{{{d{Bd}}}Bd}{{{d{Bf}}}Bf}{{{d{Al}}}Al}{{{d{A`}}}A`}{{{d{Bh}}}Bh}{{{d{Ah}}}Ah}{{{d{Bj}}}Bj}{{{d{Bl}}}Bl}{{{d{Aj}}}Aj}{{d{d{Afc}}}h{}}0000000000{dh}0000000000{{{d{Ad}}{d{Ad}}}Bn}{{{d{A`}}{d{A`}}}Bn}`{{d{d{c}}}Bn{}}0```{{}Aj}{{{d{Bh}}}{{d{c}}}{}}{{{d{C`}}}{{d{{Cd{Cb}}}}}}{{{d{Cf}}}{{d{Ch}}}}{{{d{AfBh}}}{{d{Afc}}}{}}{c{{l{Bd}}}Cj}{c{{l{Bf}}}Cj}{c{{l{Al}}}Cj}{c{{l{A`}}}Cj}{c{{l{Bh}}}Cj}{c{{l{Ah}}}Cj}{c{{l{Bl}}}Cj}``{{{d{Ad}}{d{Ad}}}B`}{{{d{Al}}{d{Al}}}B`}{{{d{A`}}{d{A`}}}B`}{{{d{Bj}}{d{Bj}}}B`}{{d{d{c}}}B`{}}0000000{{{d{Bh}}{d{Afb}}}{{l{Clj}}}}{{{d{Bh}}{d{Afb}}cg}{{l{Cnj}}}{{D`{Ab}}}{{Db{Cb}}}{{Df{}{{Dd{e}}}}}}{{c{d{Afb}}}{{l{{Cd{Bf}}j}}}{{D`{Dh}}}}{{{d{Aj}}{d{Dh}}{Cd{{d{Ab}}}}{Dn{{Dl{Dj}}}}{d{Afb}}}{{Cd{Bb}}}}{{{Dn{Ch}}E`{d{Aj}}}{{Eb{Ah}}}}{{{d{Ad}}{d{AfEd}}}Ef}{{{d{Bb}}{d{AfEd}}}Ef}{{{d{Bd}}{d{AfEd}}}Ef}{{{d{Bf}}{d{AfEd}}}Ef}{{{d{Al}}{d{AfEd}}}Ef}{{{d{A`}}{d{AfEd}}}Ef}{{{d{Bh}}{d{AfEd}}}Ef}{{{d{Ah}}{d{AfEd}}}Ef}{{{d{Bj}}{d{AfEd}}}Ef}{{{d{Bl}}{d{AfEd}}}Ef}{{{d{Aj}}{d{AfEd}}}Ef}{cc{}}00000{{{d{Bb}}}Bd}11111{EhAh}2{EjAh}3333{{ElEl}Bj}{{{d{Ab}}}{{l{A`c}}}{}}{{}{{Cd{{En{{d{Ab}}Ad}}}}}}{{{d{Ad}}{d{Afc}}}hF`}{{{d{Al}}{d{Afc}}}hF`}{{{d{A`}}{d{Afc}}}hF`}{{{d{Bj}}{d{Afc}}}hF`}{{}c{}}000000000000000``{{{d{A`}}}{{d{{An{Al}}}}}}`{c{{En{bFb}}}{{Db{Ch}}}}{{{d{Dh}}{d{Dh}}{Dn{{Dl{Dj}}}}{d{Afb}}}{{Dn{Bb}}}}{{A`cFd}Bf{{Db{Cb}}}}{{ceg{Dn{{Dl{Dj}}}}{Dn{i}}}{{Dn{Bh}}}{{Db{Ch}}}{{Db{Ch}}}{{Db{Cb}}}{{Db{Ch}}}}`{{{d{Ad}}{d{Ad}}}{{Dn{Bn}}}}{{{d{Al}}{d{Al}}}{{Dn{Bn}}}}{{{d{A`}}{d{A`}}}{{Dn{Bn}}}}{cFf{{Db{Ch}}}}{{{d{Ah}}}{{d{Dh}}}}`{{{d{Bh}}{d{Afb}}}{{l{{Dn{Fh}}j}}}}{{{d{Ad}}}{{d{Ab}}}}`{{{d{Ah}}{d{Afb}}}{{l{hj}}}}`{{{d{n}}Fj}{{l{hj}}}}`{{{d{Bd}}c}lFl}{{{d{Bf}}c}lFl}{{{d{Al}}c}lFl}{{{d{A`}}c}lFl}{{{d{Bh}}c}lFl}{{{d{Ah}}c}lFl}{{{d{Bl}}c}lFl}```{{}{{d{{An{A`}}}}}}``{{{d{Ah}}}{{l{Blj}}}}``{dc{}}0000000000{c{{l{e}}}{}{}}000000000000000{{}{{l{c}}}{}}000000000000000{dFn}000000000000000{{}{{G`{Ab}}}}`{{{d{Ah}}{d{Gb}}Gd}{{l{{Gh{Gf}}j}}}}{{}c{}}000000000000000``````````````````````````````````````````````````````````````````````````````````{{{d{AfGj}}Gl}h}{{{d{AfGn}}Fj}h}`````{d{{d{c}}}{}}000000000000000000000000000000000000{{{d{Af}}}{{d{Afc}}}{}}000000000000000000000000000000000000{{{d{Gj}}{d{Afb}}}{{l{hj}}}}{{{d{AfEj}}{d{Afb}}{d{Aj}}}{{l{hj}}}}{{{d{Gl}}{d{Afb}}{d{Ab}}{d{H`}}}{{l{{Cd{{En{ChHb}}}}j}}}}```{{{d{Ej}}}{{l{hj}}}}{{{d{Hd}}}Hd}{{{d{Hf}}}Hf}{{{d{Hh}}}Hh}{{{d{Hj}}}Hj}{{{d{Hl}}}Hl}{{{d{Hn}}}Hn}{{{d{I`}}}I`}{{{d{Ib}}}Ib}{{{d{Id}}}Id}{{{d{H`}}}H`}{{{d{Gj}}}Gj}{{{d{If}}}If}{{{d{Gl}}}Gl}{{{d{Ih}}}Ih}{{{d{Ij}}}Ij}{{{d{Il}}}Il}{{{d{In}}}In}{{{d{J`}}}J`}{{{d{Jb}}}Jb}{{{d{Jd}}}Jd}{{{d{Jf}}}Jf}{{{d{Jh}}}Jh}{{{d{Jj}}}Jj}{{{d{Jl}}}Jl}{{{d{Jn}}}Jn}{{{d{K`}}}K`}{{{d{Kb}}}Kb}{{{d{Kd}}}Kd}{{{d{Gn}}}Gn}{{{d{Kf}}}Kf}{{{d{Kh}}}Kh}{{{d{Kj}}}Kj}{{{d{Ej}}}Ej}{{{d{Kl}}}Kl}{{{d{Kn}}}Kn}{{d{d{Afc}}}h{}}0000000000000000000000000000000000{dh}0000000000000000000000000000000000`{{{d{Gl}}}{{d{If}}}}````{c{{Dn{{l{L`j}}}}}{{Db{Ch}}}}``{{}Hh}{{}H`}{{}If}{{}Kj}{{}Kl}`````{c{{l{Hd}}}Cj}{c{{l{Hf}}}Cj}{c{{l{Hh}}}Cj}{c{{l{Hj}}}Cj}{c{{l{Hl}}}Cj}{c{{l{Hn}}}Cj}{c{{l{I`}}}Cj}{c{{l{Ib}}}Cj}{c{{l{Id}}}Cj}{c{{l{H`}}}Cj}{c{{l{Gj}}}Cj}{c{{l{L`}}}Cj}{c{{l{If}}}Cj}{c{{l{Gl}}}Cj}{c{{l{Ih}}}Cj}{c{{l{Ij}}}Cj}{c{{l{Il}}}Cj}{c{{l{In}}}Cj}{c{{l{J`}}}Cj}{c{{l{Jb}}}Cj}{c{{l{Ej}}}Cj}{c{{l{Kl}}}Cj}{c{{l{Kn}}}Cj}````{d{{l{CbLb}}}}{{d{d{AfLd}}}{{l{hLb}}}}{{{d{Hn}}{d{Hn}}}B`}{{{d{Jd}}{d{Jd}}}B`}{{{d{Jf}}{d{Jf}}}B`}{{d{d{c}}}B`{}}00000``{d{{Dn{{d{Ab}}}}}}{{}Ej}{{{d{AfGn}}}h}{{{d{Hd}}{d{AfEd}}}Ef}{{{d{Hf}}{d{AfEd}}}Ef}{{{d{Hh}}{d{AfEd}}}Ef}{{{d{Hj}}{d{AfEd}}}Ef}{{{d{Hl}}{d{AfEd}}}Ef}{{{d{Hn}}{d{AfEd}}}Ef}{{{d{I`}}{d{AfEd}}}Ef}{{{d{Ib}}{d{AfEd}}}Ef}{{{d{Id}}{d{AfEd}}}Ef}{{{d{H`}}{d{AfEd}}}Ef}{{{d{Lf}}{d{AfEd}}}Ef}{{{d{Gj}}{d{AfEd}}}Ef}{{{d{L`}}{d{AfEd}}}Ef}{{{d{If}}{d{AfEd}}}Ef}{{{d{Gl}}{d{AfEd}}}Ef}{{{d{Ih}}{d{AfEd}}}Ef}{{{d{Ij}}{d{AfEd}}}Ef}{{{d{Il}}{d{AfEd}}}Ef}{{{d{In}}{d{AfEd}}}Ef}{{{d{J`}}{d{AfEd}}}Ef}{{{d{Jb}}{d{AfEd}}}Ef}{{{d{Jd}}{d{AfEd}}}Ef}{{{d{Jf}}{d{AfEd}}}Ef}{{{d{Jh}}{d{AfEd}}}Ef}{{{d{Jj}}{d{AfEd}}}Ef}{{{d{Jl}}{d{AfEd}}}Ef}{{{d{Jn}}{d{AfEd}}}Ef}{{{d{K`}}{d{AfEd}}}Ef}{{{d{Kb}}{d{AfEd}}}Ef}{{{d{Kd}}{d{AfEd}}}Ef}{{{d{Gn}}{d{AfEd}}}Ef}{{{d{Kf}}{d{AfEd}}}Ef}{{{d{Kh}}{d{AfEd}}}Ef}{{{d{Kj}}{d{AfEd}}}Ef}{{{d{Ej}}{d{AfEd}}}Ef}{{{d{Kl}}{d{AfEd}}}Ef}{{{d{Kn}}{d{AfEd}}}Ef}`{cc{}}000000000000000000000000000000000000{{ceB`}{{l{H`j}}}{{Db{Cb}}}{{Db{Ch}}}}{{{d{Ej}}}If}{{{d{Kj}}{Dn{Lh}}}Hh}```{{{d{Jf}}}B`}`````````{{}c{}}000000000000000000000000000000000000`{{{d{Jl}}{Dn{El}}El{Dn{Lj}}El}B`}`22{cB`{{D`{Dh}}}}````````{{{d{{An{Ej}}}}{d{Aj}}}{{l{{Cd{Gj}}j}}}}{{{d{Ej}}{d{Aj}}}{{l{{Cd{Gj}}j}}}}````````{{{d{Jf}}}Cb}{d{{d{Ab}}}}`````{{H`c}Gj{{Db{Ch}}}}{{cIf}{{l{Glj}}}{{Db{Ch}}}}{{{d{Ej}}}{{l{Ihj}}}}{{{d{Ej}}}K`}{{{d{Ej}}Gd}Gn}{{{d{Ej}}Ch{Dl{{Ln{Ll}}}}}{{l{Khj}}}}{cKj{{Mb{{Dn{Lh}}}{{M`{Hh}}}}MdMf}}{{c{d{Aj}}}{{l{Ejj}}}{{D`{Dh}}}}{{MhHfHj}Kn}```````{{{d{Gl}}}{{Cd{Cb}}}}{{{d{Ej}}}{{d{Dh}}}}````{{{d{Ej}}{d{Dh}}}{{d{Dh}}}}{{{d{Lf}}{d{Afc}}}{{Mj{h}}}{LdMl}}`{{{d{Gn}}}{{Cd{Kf}}}}{{{d{Ej}}{d{Afb}}}{{l{hj}}}}``{{{d{AfKh}}LhMhElCb{Dl{{Ln{Ll}}}}}{{l{hj}}}}`````{{{d{Hd}}c}lFl}{{{d{Hf}}c}lFl}{{{d{Hh}}c}lFl}{{{d{Hj}}c}lFl}{{{d{Hl}}c}lFl}{{{d{Hn}}c}lFl}{{{d{I`}}c}lFl}{{{d{Ib}}c}lFl}{{{d{Id}}c}lFl}{{{d{H`}}c}lFl}{{{d{Gj}}c}lFl}{{{d{If}}c}lFl}{{{d{Gl}}c}lFl}{{{d{Ih}}c}lFl}{{{d{Ij}}c}lFl}{{{d{Il}}c}lFl}{{{d{In}}c}lFl}{{{d{J`}}c}lFl}{{{d{Jb}}c}lFl}{{{d{Ej}}c}lFl}{{{d{Kl}}c}lFl}{{{d{Kn}}c}lFl}```{dMn}``````````````````{{{d{Ej}}}{{l{Blj}}}}`````````{{{d{Gl}}}Cb}``````{dN`}{dc{}}0000000000000000000000000000000000{dNb}{dCb}{dNd}{CbCb}{c{{l{e}}}{}{}}000000000000000000000000000000000000{{}{{l{c}}}{}}000000000000000000000000000000000000{d{{l{NfNh}}}}{dFn}000000000000000000000000000000000000{{}{{G`{Ab}}}}00000000000000000000{{{d{Ej}}{d{Gb}}Gd}{{l{{Gh{Gf}}j}}}}``{{}c{}}000000000000000000000000000000000000`{{c{d{Aj}}}{{l{Ejj}}}{{D`{Dh}}}}{{{d{{An{{d{Ab}}}}}}}{{Cd{{Gh{`}}}}}}{{{d{{An{{d{Ab}}}}}}}{{`{Ej}}}}```````````````{d{{d{c}}}{}}00000000{{{d{Af}}}{{d{Afc}}}{}}00000000{{{d{Eh}}{d{Afb}}{d{Aj}}}{{l{hj}}}}```{{{d{Eh}}}{{l{hj}}}}{{{d{Nj}}}Nj}{{{d{Eh}}}Eh}{{{d{Nl}}}Nl}{{{d{Nn}}}Nn}{{{d{O`}}}O`}{{{d{Ob}}}Ob}{{{d{Od}}}Od}{{{d{Of}}}Of}{{{d{Oh}}}Oh}{{d{d{Afc}}}h{}}00000000{dh}00000000```{c{{l{Nj}}}Cj}{c{{l{Eh}}}Cj}{c{{l{Nl}}}Cj}{c{{l{Nn}}}Cj}{c{{l{O`}}}Cj}{c{{l{Ob}}}Cj}{c{{l{Od}}}Cj}{c{{l{Of}}}Cj}{c{{l{Oh}}}Cj}`{{{d{Nj}}{d{AfEd}}}Ef}{{{d{Eh}}{d{AfEd}}}Ef}{{{d{Nl}}{d{AfEd}}}Ef}{{{d{Nn}}{d{AfEd}}}Ef}{{{d{O`}}{d{AfEd}}}Ef}{{{d{Ob}}{d{AfEd}}}Ef}{{{d{Od}}{d{AfEd}}}Ef}{{{d{Of}}{d{AfEd}}}Ef}{{{d{Oh}}{d{AfEd}}}Ef}{cc{}}00000000`{{}c{}}00000000{cB`{{D`{Dh}}}}```````{{{d{Eh}}}{{l{Njj}}}}{{c{d{Aj}}}{{l{Ehj}}}{{D`{Dh}}}}`{{{d{Eh}}}{{d{Dh}}}}`{{{d{Eh}}{d{Afb}}}{{l{hj}}}}``{{{d{Nj}}c}lFl}{{{d{Eh}}c}lFl}{{{d{Nl}}c}lFl}{{{d{Nn}}c}lFl}{{{d{O`}}c}lFl}{{{d{Ob}}c}lFl}{{{d{Od}}c}lFl}{{{d{Of}}c}lFl}{{{d{Oh}}c}lFl}``{{{d{Eh}}}{{l{Blj}}}}{dc{}}00000000{c{{l{e}}}{}{}}00000000{{}{{l{c}}}{}}00000000{dFn}00000000{{}{{G`{Ab}}}}00000000{{{d{Eh}}{d{Gb}}Gd}{{l{{Gh{Gf}}j}}}}``{{}c{}}00000000``````````````````````````````````````````````````````````````{{{d{AfOj}}Fj}h}{{{d{AfOl}}On}h}{d{{d{c}}}{}}00000000000000000{{{d{Af}}}{{d{Afc}}}{}}00000000000000000{{{d{Fj}}}Fj}{{{d{On}}}On}{{{d{Ol}}}Ol}{{{d{Gb}}}Gb}{{d{d{Afc}}}h{}}000{dh}000`{{}A@`}{{}A@b}{{}A@d}{{}A@f}{{{d{A@h}}}{{d{A@j}}}}{{{d{A@l}}}{{d{A@j}}}}{{{d{A@n}}}{{d{A@j}}}}{{{d{AA`}}}{{d{A@j}}}}{{{d{AAb}}}{{d{A@j}}}}{{{d{AAd}}}{{d{A@j}}}}{{{d{AAf}}}{{d{A@j}}}}{c{{l{Fj}}}Cj}{c{{l{On}}}Cj}{{{d{On}}{d{On}}}B`}{{{d{Ol}}{d{Ol}}}B`}{{{d{AfOj}}}h}{{{d{AfGf}}}h}{{{d{Af{AAh{c}}}}}h{OjMd}}{{{d{AfA@b}}}h}{{{d{AfA@d}}}h}{{{d{AfA@f}}}h}{{{d{Fj}}{d{AfEd}}}Ef}{{{d{On}}{d{AfEd}}}Ef}{{{d{Ol}}{d{AfEd}}}Ef}{{{d{Ll}}{d{AfEd}}}Ef}{{{d{Gb}}{d{AfEd}}}Ef}{cc{}}00000000000000000{{{d{Ab}}}{{l{Gbc}}}{}}{{{d{{AAj{Chc}}}}}Mn{}}`{{}c{}}00000000000000000{{{d{AAl}}}B`}{c{{AAh{c}}}Oj}{{{d{AfAAn}}}AB`}{{}A@b}{{}A@d}{{}A@f}{{}{{En{LlFb}}}}{{{d{AfGf}}Fj}h}{{{d{Af{AAh{c}}}}Fj}h{OjMd}}{{{d{AfA@b}}Fj}h}{{{d{AfA@d}}Fj}h}{{{d{AfA@f}}Fj}h}{{{d{c}}}h{}}{{{d{AfAB`}}{d{{AAj{ChOl}}}}}h}{{{d{AfAB`}}{d{ABb}}}h}{{{d{ABd}}}h}{{{d{ABf}}}h}``{{{d{AfAAl}}}{{l{hABh}}}}{{{d{Ll}}Fj}{{l{hj}}}}{{{d{Fj}}c}lFl}{{{d{On}}c}lFl}{{{d{AfAAl}}{d{A@j}}}{{l{hABh}}}}{{{d{AfAAl}}{d{ABj}}}{{l{hABh}}}}`{{{d{AAl}}}B`}0{dc{}}000{c{{l{e}}}{}{}}00000000000000000{{}{{l{c}}}{}}00000000000000000{dFn}00000000000000000{{}{{G`{Ab}}}}0{{}c{}}00000000000000000```````````````````````````````````````````````````````````````````````{d{{d{c}}}{}}000000{{{d{Af}}}{{d{Afc}}}{}}000000{{{d{ABl}}}{{d{ABn}}}}{{{d{AC`}}}{{d{ABn}}}}{{{d{ACb}}}{{d{ABn}}}}{{{d{ACd}}}{{d{ABn}}}}{{{d{ACf}}}{{d{ABn}}}}{{{d{ACh}}}{{d{ABn}}}}{{{d{c}}{d{AfACj}}AClMn}h{}}{{{d{Af{ACn{ceg}}}}}h{OjMdMf}{{AD`{c}}MdMf}{{ADb{c}}MdMf}}0{cc{}}000000{ADdADd}<<<<<<<{c{{l{{ACn{ceg}}j}}}{OjMdMf}{{AD`{c}}MdMf}{{ADb{c}}MdMf}}{{{d{Af{ACn{ceg}}}}Fj}h{OjMdMf}{{AD`{c}}MdMf}{{ADb{c}}MdMf}}{{{d{AfACj}}ADdc}h{{D`{Ab}}}}{{{d{AfACj}}ADd{Dn{{d{{ADh{ADf}}}}}}AClMn}h}{c{{l{e}}}{}{}}000000{{}{{l{c}}}{}}000000{dFn}000000{{}c{}}000000","D":"EL`","p":[[5,"EvaluationData",0],[1,"reference"],[5,"Diagnostic",1765],[1,"unit"],[5,"Error",1766],[6,"Result",1767],[10,"UISender",0],[6,"SolutionCheckResult",0,1768],[1,"str"],[6,"SanityCheckCategory",0,1769],[0,"mut"],[6,"TaskFormat",0,1770],[5,"EvaluationConfig",0],[6,"TestcaseEvaluationResult",0,1768],[1,"slice"],[1,"bool"],[5,"Solution",0,1768],[5,"SolutionInfo",0,1768],[5,"SolutionCheck",0,1768],[5,"SourceFile",0,1771],[6,"ScoreStatus",0,1772],[6,"TaskInfo",0],[6,"Ordering",1773],[5,"VALID_TAGS",0,1774],[5,"String",1775],[5,"Vec",1776],[5,"DATA_DIR",0],[5,"PathBuf",1777],[10,"Deserializer",1778],[8,"FileUuid",1779],[5,"Execution",1780],[10,"AsRef",1781],[10,"Into",1781],[17,"Item"],[10,"IntoIterator",1782],[5,"Path",1777],[5,"GraderMap",1783],[5,"Arc",1784],[6,"Option",1785],[1,"u32"],[8,"Result",1766],[5,"Formatter",1786],[8,"Result",1786],[5,"TerryTask",1149],[5,"IOITask",340],[1,"f64"],[1,"tuple"],[10,"Hasher",1787],[8,"UIChannelReceiver",1340],[5,"CodeSpan",1788],[6,"WriteBinTo",0],[8,"ExecutionUuid",1780],[6,"UIMessage",1340,1789],[10,"Serializer",1790],[5,"TypeId",1791],[6,"Cow",1792],[6,"UIType",1340],[5,"ExecutionDAGConfig",1793],[10,"UI",1340],[5,"Box",1794],[5,"Booklet",340,1795],[5,"Statement",340,1796],[5,"UIState",340,1797],[5,"BookletConfig",340,1795],[5,"File",1779],[6,"Checker",340,1798],[6,"InputGenerator",340,1799],[6,"InputValidator",340,1800],[6,"OutputGenerator",340,1801],[5,"BatchTypeData",340,1802],[6,"UserIo",340,1803],[5,"CommunicationTypeData",340,1803],[6,"TaskType",340,1804],[6,"TestcaseScoreAggregator",340,1805],[5,"StatementConfig",340,1796],[5,"IOITaskInfo",340,1806],[5,"TaskInfoLimits",340,1806],[5,"TaskInfoAttachment",340,1806],[5,"TaskInfoSubtask",340,1806],[5,"TaskInfoScoring",340,1806],[5,"TaskInfoStatement",340,1806],[6,"TestcaseGenerationStatus",340,1797],[6,"TestcaseEvaluationStatus",340,1797],[5,"TestcaseGenerationState",340,1797],[5,"SubtaskGenerationState",340,1797],[5,"SolutionTestcaseEvaluationState",340,1797],[5,"SolutionSubtaskEvaluationState",340,1797],[5,"SolutionEvaluationState",340,1797],[5,"BookletDependencyState",340,1797],[5,"BookletState",340,1797],[5,"SolutionCheckOutcome",340,1797],[5,"ScoreManager",340],[5,"InputValidatorGenerator",340],[5,"SubtaskInfo",340],[5,"TestcaseInfo",340],[5,"ContestYAML",340,1795],[6,"Error",1807],[10,"Write",1786],[5,"BookletTemplate",340,1795],[8,"SubtaskId",340],[1,"u64"],[5,"UIMessageSender",1340],[5,"Mutex",1808],[17,"Output"],[10,"Fn",1809],[10,"Send",1810],[10,"Sync",1810],[8,"TestcaseId",340],[8,"Result",1807],[10,"Sized",1810],[1,"usize"],[5,"Line",1811],[5,"Span",1812],[5,"Text",1813],[5,"CompactString",1814],[6,"ToCompactStringError",1814],[5,"TerryTaskInfo",1149,1815],[5,"SolutionOutcome",1149],[5,"SolutionValidation",1149],[5,"SolutionValidationCase",1149],[6,"CaseStatus",1149],[5,"SolutionFeedback",1149],[5,"SolutionFeedbackCase",1149],[5,"SolutionAlert",1149],[10,"UIStateT",1340],[6,"CompilationStatus",1340],[6,"UIExecutionStatus",1340],[5,"StdoutPrinter",1340],[5,"JsonUI",1340,1816],[5,"RawUI",1340,1817],[5,"SilentUI",1340,1818],[5,"RED",1340],[5,"ColorSpec",1819],[5,"SOFT_RED",1340],[5,"GREEN",1340],[5,"YELLOW",1340],[5,"ORANGE",1340],[5,"BLUE",1340],[5,"BOLD",1340],[5,"PrintUI",1340,1820],[5,"HashMap",1821],[10,"WriteColor",1340,1819],[5,"StandardStream",1819],[5,"FinishUIUtils",1340],[5,"DiagnosticContext",1765],[6,"ExecutionStatus",1780],[5,"ExecutionResourcesUsage",1780],[5,"Error",1822],[5,"HyperlinkSpec",1819],[5,"GREEN",1687],[5,"Style",1823],[5,"RED",1687],[5,"BLUE",1687],[5,"YELLOW",1687],[5,"ORANGE",1687],[5,"BOLD",1687],[5,"Frame",1824],[1,"char"],[5,"CursesUI",1687],[10,"CursesDrawer",1687],[10,"FinishUI",1340],[5,"Rect",1825],[5,"SystemTime",1826],[5,"ExecutorStatus",1827],[6,"Tag",0],[15,"Done",1624],[15,"Failed",1624],[15,"Done",1630],[15,"Started",1630],[15,"IOIBookletDependency",1632],[15,"Diagnostic",1632],[15,"Compilation",1632],[15,"IOITestcaseScore",1632],[15,"IOIBooklet",1632],[15,"IOISubtaskScore",1632],[15,"IOIEvaluation",1632],[15,"TerrySolutionOutcome",1632],[15,"IOITaskScore",1632],[15,"TerryGeneration",1632],[15,"IOIChecker",1632],[15,"TerryValidation",1632],[15,"TerrySolution",1632],[15,"TerryChecker",1632],[15,"Solutions",1632],[15,"ServerStatus",1632],[15,"IOIGeneration",1632],[15,"IOIValidation",1632],[15,"IOISolution",1632],[15,"IOITask",1632],[15,"TerryTask",1632]],"r":[[24,1769],[25,1772],[26,1768],[27,1768],[28,1768],[29,1768],[31,1771],[33,1774],[35,1770],[39,1768],[43,1774],[44,1774],[45,1774],[170,1828],[203,1769],[342,1805],[344,1802],[345,1795],[346,1795],[347,1797],[348,1797],[349,1795],[350,1798],[353,1803],[354,1795],[359,1805],[363,1805],[367,1806],[368,1799],[369,1800],[375,1801],[380,1805],[384,1797],[385,1797],[386,1797],[387,1797],[392,1796],[393,1796],[397,1797],[401,1800],[402,1806],[403,1806],[404,1806],[405,1806],[406,1806],[407,1804],[408,1797],[409,1797],[410,1797],[413,1805],[415,1797],[416,1803],[425,0],[811,1829],[819,1830],[820,1830],[1145,1831],[1146,1831],[1161,1815],[1345,1687],[1346,1687],[1366,1816],[1371,1820],[1374,1817],[1379,1818],[1396,1789],[1400,1819],[1499,1687],[1535,1687],[1536,1687]],"b":[[194,"impl-From%3CTerryTask%3E-for-TaskFormat"],[196,"impl-From%3CIOITask%3E-for-TaskFormat"]],"c":"OjAAAAEAAAAAAAAAEAAAAHoC","e":"OzAAAAEAAAUEMwAsAAEAPwAfAGQAIgCIAAEAjQALAJsACwCsAAoAvQAAAMMAAADFAAAAywAAAM0AAwDqAAIA9wAGAAcBOwBFAQ8ArgFJAP8BaABxAgQAewIWAJYCCgCjAgAApQIlAD8DAABcAwAAaAMVAIEDAAClAyYAzQOEAFUEJACNBBEApAQaAMIECADMBAgA+AQIAAQFLAA0BQgAQgUBAH0FLwCuBQ4AvwUIANoFAADcBQAA9wUDAAAGAQAEBgEACwZNAKAGEwC1BgEAxwYAAMoGGwA="}],["task_maker_lang",{"t":"FFFFNONNNNNNNNNNNNNNNONNNNNNOONONNNNNNNNNONNNNNONOONNNONNONNNNNNNNNNNNNNNNNNNNNNNNNO","n":["Dependency","GraderMap","LanguageManager","SourceFile","all_paths","base_path","borrow","","","","borrow_mut","","","","clone","","clone_into","","clone_to_uninit","","copy_exe","","deserialize","","","detect_language","eq","executable","","","execute","file","fmt","","","from","","","","get_compilation_deps","get_runtime_deps","grader_map","into","","","","language","","link_static","","local_path","name","new","","path","prepare","relative_path","sandbox_path","serialize","","","to_owned","","try_from","","","","try_into","","","","type_id","","","","type_script_ify","","","vzip","","","","write_bin_to",""],"q":[[0,"task_maker_lang"],[84,"task_maker_lang::grader_map"],[85,"std::path"],[86,"core::iter::traits::iterator"],[87,"task_maker_lang::source_file"],[88,"core::result"],[89,"serde::de"],[90,"alloc::sync"],[91,"core::option"],[92,"core::convert"],[93,"task_maker_dag::dag"],[94,"task_maker_dag::file"],[95,"task_maker_dag::execution"],[96,"anyhow"],[97,"alloc::string"],[98,"alloc::vec"],[99,"core::fmt"],[100,"serde::ser"],[101,"core::any"],[102,"alloc::borrow"]],"i":"````bnD`21A`13202020202232010220203201320332132022220232222032020132013201320320132022","f":"````{{{d{b}}}{{`{{j{}{{f{{d{h}}}}}}}}}}`{d{{d{c}}}{}}000{{{d{l}}}{{d{lc}}}{}}000{{{d{n}}}n}{{{d{A`}}}A`}{{d{d{lc}}}Ab{}}0{dAb}0{{{d{ln}}}Ab}`{c{{Ad{b}}}Af}{c{{Ad{n}}}Af}{c{{Ad{A`}}}Af}{c{{Aj{{Ah{`}}}}}{{Al{h}}}}{{{d{A`}}{d{A`}}}An}{{{d{n}}{d{lB`}}}{{Ad{{Bf{Bb{Aj{Bd}}}}Bh}}}}``{{{d{n}}{d{lB`}}c{Bl{Bj}}}{{Ad{{Bf{{Aj{Bd}}Bn}}Bh}}}{{Al{C`}}}}`{{{d{b}}{d{lCb}}}Cd}{{{d{n}}{d{lCb}}}Cd}{{{d{A`}}{d{lCb}}}Cd}{cc{}}000{{{d{b}}{d{`}}}{{Aj{A`}}}}{{{d{b}}{d{`}}}{{Bl{A`}}}}`{{}c{}}000{{{d{n}}}{{d{`}}}}`?``{{{d{n}}}Bj}{{{Bl{c}}}b{{Ch{Cf}}}}{{ce{Aj{{Ah{b}}}}{Aj{g}}}{{Aj{n}}}{{Ch{Cf}}}{{Ch{Cf}}}{{Ch{Cf}}}}`{{{d{n}}{d{lB`}}}{{Ad{{Aj{Bd}}Bh}}}}{{{d{n}}}{{d{h}}}}`{{{d{b}}c}AdCj}{{{d{n}}c}AdCj}{{{d{A`}}c}AdCj}{dc{}}0{c{{Ad{e}}}{}{}}000{{}{{Ad{c}}}{}}000{dCl}000{{}{{Cn{C`}}}}00>>>>{{{d{n}}}{{Aj{Cf}}}}`","D":"E`","p":[[5,"GraderMap",0,84],[1,"reference"],[17,"Item"],[5,"Path",85],[10,"Iterator",86],[0,"mut"],[5,"SourceFile",0,87],[5,"Dependency",0],[1,"unit"],[6,"Result",88],[10,"Deserializer",89],[5,"Arc",90],[6,"Option",91],[10,"AsRef",92],[1,"bool"],[5,"ExecutionDAG",93],[8,"FileUuid",94],[8,"ExecutionUuid",95],[1,"tuple"],[5,"Error",96],[5,"String",97],[5,"Vec",98],[5,"Execution",95],[1,"str"],[5,"Formatter",99],[8,"Result",99],[5,"PathBuf",85],[10,"Into",92],[10,"Serializer",100],[5,"TypeId",101],[6,"Cow",102],[5,"LanguageManager",0]],"r":[[1,84],[3,87]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAACwABQAHAA0AFwACABsAAAAhAAIAOwAXAA=="}],["task_maker_rust",{"t":"CCCCCCCCFFFNNNNNNONOOONOONNNNNNOONOONONOOONNNNNNOONNNOOONNNHKMMMPPGNNNNHHNNNNFFFFFFFFFNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONONNOOOOOOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOONOOONOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNONNNNNNNNNHFNNNNNNNNNHNNNNNNCCCCCCCCCCCCCCFNNNNNNNNNOOONNNNNONHOONNNNONNNFNNONNNNNNNOONNNNNNHOOONNNNONNNFNNNNNNONNNNNNHNNNNNNFNNNNNNNNNOHONNNNNNONNNNONNNFNNONNNNNNNOONNNNONNHOONNNNNNNFNNNNONNNNNOOONNNNONNOHOOOOONNNNNNNFNNNNNNNNNNNNHONNNNNNPPPPPPPPFPPPPGPPNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNFNNNNNNNNNNNNNNNHONNNNNNNFNNNNNNNNONNNNNONNHOOOOOONNNNONNNOFNNNNOONNNNNNNNNNNHONNNNNNNOOFNNNNNNNNNONNNNNNOHNNNNNNNHFNNNNNNNNNNNNNNNHOOONNNNNNNO","n":["context","copy_dag","error","local","opt","remote","sandbox","tools","ConnectedExecutor","ConnectedExecutorWithUI","RuntimeContext","borrow","","","borrow_mut","","","client_sender","connect_executor","eval","","","execute","file_store","","from","","","into","","","local_executor","","new","rx","","sandbox_runner","","start_ui","task","","","try_from","","","try_into","","","tx","","type_id","","","ui_receiver","","ui_thread","vzip","","","render_dag","NiceError","nice_expect","nice_expect_with","nice_unwrap","Clean","Done","Evaluation","borrow","borrow_mut","from","into","main_local","run_evaluation","try_from","try_into","type_id","vzip","BookletOpt","ExecutionOpt","FilterOpt","FindTaskOpt","LoggerOpt","Opt","StorageOpt","TerryOpt","UIOpt","augment_args","","","","","","","","","augment_args_for_update","","","","","","","","","booklet","booklet_solutions","borrow","","","","","","","","","borrow_mut","","","","","","","","","clean","clone","","","","","","","","clone_into","","","","","","","","clone_to_uninit","","","","","","","","command","","","","","","","","","command_for_update","","","","","","","","","copy_dag","copy_exe","copy_logs","disable_if_needed","dry_run","enable_log","","evaluate_on","exclusive","execution","extra_memory","extra_time","filter","","find_task","","fmt","","","","","","","","","from","","","","","","","","","from_arg_matches","","","","","","","","","from_arg_matches_mut","","","","","","","","","group_id","","","","","","","","","into","","","","","","","","","keep_sandboxes","logger","max_cache","max_depth","min_cache","name","no_cache","no_statement","num_cores","priority","seed","should_diable_curses","skip_sanity_checks","solution","storage","store_dir","","task_dir","terry","to_config","to_owned","","","","","","","","try_from","","","","","","","","","try_into","","","","","","","","","type_id","","","","","","","","","ui","","update_from_arg_matches","","","","","","","","","update_from_arg_matches_mut","","","","","","","","","verbose","vzip","","","","","","","","","connect_to_remote_server","ToolsSandboxRunner","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","fmt","from","into","main_sandbox","run","to_owned","try_from","try_into","type_id","vzip","add_solution_checks","booklet","clear","copy_competition_files","find_bad_case","fuzz_checker","gen_autocompletion","opt","reset","sandbox","server","task_info","typescriptify","worker","AddSolutionChecksOpt","augment_args","augment_args_for_update","borrow","borrow_mut","clone","clone_into","clone_to_uninit","command","command_for_update","execution","filter","find_task","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","in_place","into","main_add_solution_checks","overwrite","storage","to_owned","try_from","try_into","type_id","ui","update_from_arg_matches","update_from_arg_matches_mut","vzip","BookletOpt","augment_args","augment_args_for_update","booklet_solutions","borrow","borrow_mut","clone","clone_into","clone_to_uninit","command","command_for_update","contest_dir","execution","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","into","main_booklet","max_depth","storage","task_dir","to_owned","try_from","try_into","type_id","ui","update_from_arg_matches","update_from_arg_matches_mut","vzip","ClearOpt","augment_args","augment_args_for_update","borrow","borrow_mut","command","command_for_update","find_task","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","into","main_clear","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","CopyCompetitionFilesOpt","augment_args","augment_args_for_update","borrow","borrow_mut","clone","clone_into","clone_to_uninit","command","command_for_update","contest_dir","copy_competition_files_main","execution","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","into","storage","to_owned","try_from","try_into","type_id","ui","update_from_arg_matches","update_from_arg_matches_mut","vzip","FindBadCaseOpt","augment_args","augment_args_for_update","batch_size","borrow","borrow_mut","clone","clone_into","clone_to_uninit","command","command_for_update","execution","find_task","fmt","from","from_arg_matches","from_arg_matches_mut","generator_args","group_id","into","main_find_bad_case","solution","storage","to_owned","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","FuzzCheckerOpt","augment_args","augment_args_for_update","borrow","borrow_mut","checker_timeout","clone","clone_into","clone_to_uninit","command","command_for_update","execution","extra_args","find_task","fmt","from","from_arg_matches","from_arg_matches_mut","fuzz_dir","group_id","into","jobs","main_fuzz_checker","max_time","no_build","quiet","sanitizers","storage","to_owned","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","GenAutocompletionOpt","augment_args","augment_args_for_update","borrow","borrow_mut","command","command_for_update","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","into","main_get_autocompletion","target","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","AddSolutionChecks","Booklet","Clear","CopyCompetitionFiles","FindBadCase","FuzzChecker","GenAutocompletion","InternalSandbox","Opt","Reset","Sandbox","Server","TaskInfo","Tool","Typescriptify","Worker","augment_args","augment_args_for_update","augment_subcommands","augment_subcommands_for_update","borrow","","borrow_mut","","command","","command_for_update","","fmt","","from","","from_arg_matches","","from_arg_matches_mut","","group_id","has_subcommand","into","","logger","tool","try_from","","try_into","","type_id","","update_from_arg_matches","","update_from_arg_matches_mut","","vzip","","ResetOpt","augment_args","augment_args_for_update","borrow","borrow_mut","clone","clone_into","clone_to_uninit","command","command_for_update","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","into","main_reset","storage","to_owned","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","SandboxOpt","augment_args","augment_args_for_update","borrow","borrow_mut","clone","clone_into","clone_to_uninit","command","","command_for_update","fmt","from","from_arg_matches","from_arg_matches_mut","gid","group_id","into","main_sandbox","memory_limit","mount_proc","mount_tmpfs","readable_dirs","single_process","stack_limit","to_owned","try_from","try_into","type_id","uid","update_from_arg_matches","update_from_arg_matches_mut","vzip","workdir","ServerOpt","augment_args","augment_args_for_update","borrow","borrow_mut","client_addr","client_password","clone","clone_into","clone_to_uninit","command","command_for_update","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","into","main_server","storage","to_owned","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","worker_addr","worker_password","TaskInfoOpt","augment_args","augment_args_for_update","borrow","borrow_mut","clone","clone_into","clone_to_uninit","command","command_for_update","find_task","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","into","json","main_task_info","to_owned","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","main_typescriptify","WorkerOpt","augment_args","augment_args_for_update","borrow","borrow_mut","clone","clone_into","clone_to_uninit","command","command_for_update","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","into","main_worker","name","server_addr","storage","to_owned","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","worker_id"],"q":[[0,"task_maker_rust"],[8,"task_maker_rust::context"],[59,"task_maker_rust::copy_dag"],[60,"task_maker_rust::error"],[64,"task_maker_rust::local"],[77,"task_maker_rust::opt"],[322,"task_maker_rust::remote"],[323,"task_maker_rust::sandbox"],[340,"task_maker_rust::tools"],[354,"task_maker_rust::tools::add_solution_checks"],[385,"task_maker_rust::tools::booklet"],[416,"task_maker_rust::tools::clear"],[437,"task_maker_rust::tools::copy_competition_files"],[465,"task_maker_rust::tools::find_bad_case"],[495,"task_maker_rust::tools::fuzz_checker"],[530,"task_maker_rust::tools::gen_autocompletion"],[551,"task_maker_rust::tools::opt"],[605,"task_maker_rust::tools::reset"],[630,"task_maker_rust::tools::sandbox"],[664,"task_maker_rust::tools::server"],[693,"task_maker_rust::tools::task_info"],[719,"task_maker_rust::tools::typescriptify"],[720,"task_maker_rust::tools::worker"],[748,"anyhow"],[749,"core::result"],[750,"task_maker_format::task_format"],[751,"task_maker_format"],[752,"core::ops::function"],[753,"task_maker_format::ui"],[754,"task_maker_format::ui::ui_message"],[755,"core::marker"],[756,"core::any"],[757,"task_maker_dag::dag"],[758,"alloc::string"],[759,"core::fmt"],[760,"clap_builder::builder::command"],[761,"clap_builder::parser::matches::arg_matches"],[762,"clap_builder"],[763,"clap_builder::util::id"],[764,"core::option"],[765,"std::path"],[766,"ductile"],[767,"core::convert"],[768,"tabox::configuration"],[769,"core::sync::atomic"],[770,"alloc::sync"],[771,"task_maker_exec::sandbox"]],"i":"```````````flAb210022100102102101021022121021021010210210210``C`00Ch0`0000``0000`````````CfClCnD`hjDbDdDf87654321080876543210876543210876543210765432107654321087654321087654321044454874884482688765432108765432108765432108765432108765432108765432104836344044178283368876543210876543210876543210876543210858765432108765432107876543210``An00000000`000000```````````````Fn000000000000000000`0000000000`G`00000000000000000`00000000000`Gb000000000000`000000`Gd000000000`0000000000000000`Gf000000000000000000`000000000`Gh00000000000000000000`000000000000`Gj00000000000`0000000Gn0000000`0000`00Gl0110101010101010101010100010101010101`H`00000000000000`00000000`Hb0000000000000000`000000000000000`Hd0000000000000000`0000000000`Hf0000000000000000`0000000``Hh00000000000000`00000000000","f":"```````````{b{{b{c}}}{}}00{{{b{d}}}{{b{dc}}}{}}00`{{f{b{h}}{b{j}}}{{A`{ln}}}}```{Ab{{A`{Adn}}}}``{cc{}}00{{}c{}}00``{{Af{b{h}}c}{{A`{fn}}}{{Al{{b{dAf}}{b{dAh}}}{{Aj{{A`{Adn}}}}}}}}``{{{b{df}}An}Ad}`{{l{b{B`}}c}{{A`{Abn}}}{{Bf{{b{dBb}}Bd}}Bh}}```{c{{A`{e}}}{}{}}00{{}{{A`{c}}}{}}00``{bBj}00```666{{{b{Bl}}}Bn}`{{C`c}e{CbBhCd}{}}{{C`e}g{CbBhCd}{{Al{}{{Aj{c}}}}}{}}{C`c{}}```?>;:{CfAd}{{Cfc}{{A`{Chn}}}{{Bf{{b{dBb}}Bd}}Bh}}876<`````````{CjCj}00000000000000000``{b{{b{c}}}{}}00000000{{{b{d}}}{{b{dc}}}{}}00000000`{{{b{Cl}}}Cl}{{{b{Cn}}}Cn}{{{b{D`}}}D`}{{{b{h}}}h}{{{b{j}}}j}{{{b{Db}}}Db}{{{b{Dd}}}Dd}{{{b{Df}}}Df}{{b{b{dc}}}Ad{}}0000000{bAd}0000000{{}Cj}00000000000000000```{{{b{dD`}}{b{Cl}}}Ad}`{{{b{dCf}}}Ad}{{{b{Cl}}}Ad}```````{{{b{Cn}}{b{Dh}}}{{A`{Afn}}}}`{{{b{Cf}}{b{dDj}}}Dl}{{{b{Cl}}{b{dDj}}}Dl}{{{b{Cn}}{b{dDj}}}Dl}{{{b{D`}}{b{dDj}}}Dl}{{{b{h}}{b{dDj}}}Dl}{{{b{j}}{b{dDj}}}Dl}{{{b{Db}}{b{dDj}}}Dl}{{{b{Dd}}{b{dDj}}}Dl}{{{b{Df}}{b{dDj}}}Dl}{cc{}}00000000{{{b{Dn}}}{{A`{CfE`}}}}{{{b{Dn}}}{{A`{ClE`}}}}{{{b{Dn}}}{{A`{CnE`}}}}{{{b{Dn}}}{{A`{D`E`}}}}{{{b{Dn}}}{{A`{hE`}}}}{{{b{Dn}}}{{A`{jE`}}}}{{{b{Dn}}}{{A`{DbE`}}}}{{{b{Dn}}}{{A`{DdE`}}}}{{{b{Dn}}}{{A`{DfE`}}}}{{{b{dDn}}}{{A`{CfE`}}}}{{{b{dDn}}}{{A`{ClE`}}}}{{{b{dDn}}}{{A`{CnE`}}}}{{{b{dDn}}}{{A`{D`E`}}}}{{{b{dDn}}}{{A`{hE`}}}}{{{b{dDn}}}{{A`{jE`}}}}{{{b{dDn}}}{{A`{DbE`}}}}{{{b{dDn}}}{{A`{DdE`}}}}{{{b{dDn}}}{{A`{DfE`}}}}{{}{{Ed{Eb}}}}00000000{{}c{}}00000000```````````{{{b{Cl}}}Ef}```{{{b{j}}}Eh}```{{{b{Cf}}}Dh}{bc{}}0000000{c{{A`{e}}}{}{}}00000000{{}{{A`{c}}}{}}00000000{bBj}00000000``{{{b{dCf}}{b{Dn}}}{{A`{AdE`}}}}{{{b{dCl}}{b{Dn}}}{{A`{AdE`}}}}{{{b{dCn}}{b{Dn}}}{{A`{AdE`}}}}{{{b{dD`}}{b{Dn}}}{{A`{AdE`}}}}{{{b{dh}}{b{Dn}}}{{A`{AdE`}}}}{{{b{dj}}{b{Dn}}}{{A`{AdE`}}}}{{{b{dDb}}{b{Dn}}}{{A`{AdE`}}}}{{{b{dDd}}{b{Dn}}}{{A`{AdE`}}}}{{{b{dDf}}{b{Dn}}}{{A`{AdE`}}}}{{{b{dCf}}{b{dDn}}}{{A`{AdE`}}}}{{{b{dCl}}{b{dDn}}}{{A`{AdE`}}}}{{{b{dCn}}{b{dDn}}}{{A`{AdE`}}}}{{{b{dD`}}{b{dDn}}}{{A`{AdE`}}}}{{{b{dh}}{b{dDn}}}{{A`{AdE`}}}}{{{b{dj}}{b{dDn}}}{{A`{AdE`}}}}{{{b{dDb}}{b{dDn}}}{{A`{AdE`}}}}{{{b{dDd}}{b{dDn}}}{{A`{AdE`}}}}{{{b{dDf}}{b{dDn}}}{{A`{AdE`}}}}`{{}c{}}00000000{{cEj}{{A`{{F`{{El{e}}{En{g}}}}n}}}{{Fd{Fb}}}{}{}}`{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{An}}}An}{{b{b{dc}}}Ad{}}{bAd}{{}An}{{{b{An}}{b{dDj}}}Dl}{cc{}}9{{}Ad}{{{b{An}}Ff{Fj{Fh}}}Fl}{bc{}}{c{{A`{e}}}{}{}}{{}{{A`{c}}}{}}{bBj}?```````````````{CjCj}0>={{{b{Fn}}}Fn}<;{{}Cj}0```{{{b{Fn}}{b{dDj}}}Dl}:{{{b{Dn}}}{{A`{FnE`}}}}{{{b{dDn}}}{{A`{FnE`}}}}{{}{{Ed{Eb}}}}`{{}c{}}{{FnCl}{{A`{Adn}}}}``<;:9`{{{b{dFn}}{b{Dn}}}{{A`{AdE`}}}}{{{b{dFn}}{b{dDn}}}{{A`{AdE`}}}}3`::`{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{G`}}}G`}{{b{b{dc}}}Ad{}}{bAd}==``{{{b{G`}}{b{dDj}}}Dl}{cc{}}{{{b{Dn}}}{{A`{G`E`}}}}{{{b{dDn}}}{{A`{G`E`}}}}=<{{G`Cl}{{A`{Adn}}}}```{bc{}}{c{{A`{e}}}{}{}}{{}{{A`{c}}}{}}{bBj}`{{{b{dG`}}{b{Dn}}}{{A`{AdE`}}}}{{{b{dG`}}{b{dDn}}}{{A`{AdE`}}}}{{}c{}}`{CjCj}0{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{}Cj}0`{{{b{Gb}}{b{dDj}}}Dl}?{{{b{Dn}}}{{A`{GbE`}}}}{{{b{dDn}}}{{A`{GbE`}}}}{{}{{Ed{Eb}}}}8{Gb{{A`{Adn}}}}>=<{{{b{dGb}}{b{Dn}}}{{A`{AdE`}}}}{{{b{dGb}}{b{dDn}}}{{A`{AdE`}}}};`::98{{{b{Gd}}}Gd}{{b{b{dc}}}Ad{}}{bAd}::`{{GdCl}{{A`{Adn}}}}`{{{b{Gd}}{b{dDj}}}Dl}{cc{}}{{{b{Dn}}}{{A`{GdE`}}}}{{{b{dDn}}}{{A`{GdE`}}}};{{}c{}}`{bc{}}{c{{A`{e}}}{}{}}{{}{{A`{c}}}{}}{bBj}`{{{b{dGd}}{b{Dn}}}{{A`{AdE`}}}}{{{b{dGd}}{b{dDn}}}{{A`{AdE`}}}}6`{CjCj}0`{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{Gf}}}Gf}{{b{b{dc}}}Ad{}}{bAd}{{}Cj}0``{{{b{Gf}}{b{dDj}}}Dl}{cc{}}{{{b{Dn}}}{{A`{GfE`}}}}{{{b{dDn}}}{{A`{GfE`}}}}`{{}{{Ed{Eb}}}}{{}c{}}{Gf{{A`{Adn}}}}``{bc{}}{c{{A`{e}}}{}{}}{{}{{A`{c}}}{}}{bBj}{{{b{dGf}}{b{Dn}}}{{A`{AdE`}}}}{{{b{dGf}}{b{dDn}}}{{A`{AdE`}}}}7`{CjCj}0{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}`{{{b{Gh}}}Gh}{{b{b{dc}}}Ad{}}{bAd}{{}Cj}0```{{{b{Gh}}{b{dDj}}}Dl}{cc{}}{{{b{Dn}}}{{A`{GhE`}}}}{{{b{dDn}}}{{A`{GhE`}}}}`{{}{{Ed{Eb}}}}{{}c{}}`{Gh{{A`{Adn}}}}`````{bc{}}{c{{A`{e}}}{}{}}{{}{{A`{c}}}{}}{bBj}{{{b{dGh}}{b{Dn}}}{{A`{AdE`}}}}{{{b{dGh}}{b{dDn}}}{{A`{AdE`}}}}7`{CjCj}0{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{}Cj}0{{{b{Gj}}{b{dDj}}}Dl}{cc{}}{{{b{Dn}}}{{A`{GjE`}}}}{{{b{dDn}}}{{A`{GjE`}}}}{{}{{Ed{Eb}}}}{{}c{}}{Gj{{A`{Adn}}}}`?>={{{b{dGj}}{b{Dn}}}{{A`{AdE`}}}}{{{b{dGj}}{b{dDn}}}{{A`{AdE`}}}}3````````````````<<<<;;::9999{{{b{Gl}}{b{dDj}}}Dl}{{{b{Gn}}{b{dDj}}}Dl}99{{{b{Dn}}}{{A`{GlE`}}}}{{{b{Dn}}}{{A`{GnE`}}}}{{{b{dDn}}}{{A`{GlE`}}}}{{{b{dDn}}}{{A`{GnE`}}}}:{{{b{Fb}}}Ef}::``{c{{A`{e}}}{}{}}0{{}{{A`{c}}}{}}0{bBj}0{{{b{dGl}}{b{Dn}}}{{A`{AdE`}}}}{{{b{dGn}}{b{Dn}}}{{A`{AdE`}}}}{{{b{dGl}}{b{dDn}}}{{A`{AdE`}}}}{{{b{dGn}}{b{dDn}}}{{A`{AdE`}}}}{{}c{}}0`{CjCj}0{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{H`}}}H`}{{b{b{dc}}}Ad{}}{bAd}{{}Cj}0{{{b{H`}}{b{dDj}}}Dl}{cc{}}{{{b{Dn}}}{{A`{H`E`}}}}{{{b{dDn}}}{{A`{H`E`}}}}{{}{{Ed{Eb}}}}<{H`{{A`{Adn}}}}`{bc{}}{c{{A`{e}}}{}{}}{{}{{A`{c}}}{}}{bBj}{{{b{dH`}}{b{Dn}}}{{A`{AdE`}}}}{{{b{dH`}}{b{dDn}}}{{A`{AdE`}}}}{{}c{}}`{CjCj}0{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{Hb}}}Hb}{{b{b{dc}}}Ad{}}{bAd}{{}Cj}`0{{{b{Hb}}{b{dDj}}}Dl}{cc{}}{{{b{Dn}}}{{A`{HbE`}}}}{{{b{dDn}}}{{A`{HbE`}}}}`{{}{{Ed{Eb}}}}<{Hb{{A`{Adn}}}}``````{bc{}}{c{{A`{e}}}{}{}}{{}{{A`{c}}}{}}{bBj}`{{{b{dHb}}{b{Dn}}}{{A`{AdE`}}}}{{{b{dHb}}{b{dDn}}}{{A`{AdE`}}}}{{}c{}}``{CjCj}0{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}``{{{b{Hd}}}Hd}{{b{b{dc}}}Ad{}}{bAd}{{}Cj}0{{{b{Hd}}{b{dDj}}}Dl}{cc{}}{{{b{Dn}}}{{A`{HdE`}}}}{{{b{dDn}}}{{A`{HdE`}}}}{{}{{Ed{Eb}}}}<{Hd{{A`{Adn}}}}`{bc{}}{c{{A`{e}}}{}{}}{{}{{A`{c}}}{}}{bBj}{{{b{dHd}}{b{Dn}}}{{A`{AdE`}}}}{{{b{dHd}}{b{dDn}}}{{A`{AdE`}}}}{{}c{}}```{CjCj}0{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{Hf}}}Hf}{{b{b{dc}}}Ad{}}{bAd}{{}Cj}0`{{{b{Hf}}{b{dDj}}}Dl}{cc{}}{{{b{Dn}}}{{A`{HfE`}}}}{{{b{dDn}}}{{A`{HfE`}}}}{{}{{Ed{Eb}}}}<`{Hf{{A`{Adn}}}}{bc{}}{c{{A`{e}}}{}{}}{{}{{A`{c}}}{}}{bBj}{{{b{dHf}}{b{Dn}}}{{A`{AdE`}}}}{{{b{dHf}}{b{dDn}}}{{A`{AdE`}}}}{{}c{}}{{}{{A`{Adn}}}}`{CjCj}0{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{Hh}}}Hh}{{b{b{dc}}}Ad{}}{bAd}{{}Cj}0{{{b{Hh}}{b{dDj}}}Dl}{cc{}}{{{b{Dn}}}{{A`{HhE`}}}}{{{b{dDn}}}{{A`{HhE`}}}}{{}{{Ed{Eb}}}}={Hh{{A`{Adn}}}}```{bc{}}{c{{A`{e}}}{}{}}{{}{{A`{c}}}{}}{bBj}{{{b{dHh}}{b{Dn}}}{{A`{AdE`}}}}{{{b{dHh}}{b{dDn}}}{{A`{AdE`}}}}{{}c{}}`","D":"ADn","p":[[1,"reference"],[0,"mut"],[5,"RuntimeContext",8],[5,"ExecutionOpt",77],[5,"StorageOpt",77],[5,"ConnectedExecutor",8],[5,"Error",748],[6,"Result",749],[5,"ConnectedExecutorWithUI",8],[1,"unit"],[6,"TaskFormat",750],[5,"EvaluationData",751],[17,"Output"],[10,"FnOnce",752],[5,"ToolsSandboxRunner",323],[6,"UIType",753],[10,"UI",753],[6,"UIMessage",754],[10,"FnMut",752],[10,"Send",755],[5,"TypeId",756],[5,"ExecutionDAG",757],[5,"String",758],[10,"NiceError",60],[10,"Display",759],[10,"Sync",755],[5,"Opt",77],[6,"Evaluation",64],[5,"Command",760],[5,"LoggerOpt",77],[5,"FindTaskOpt",77],[5,"UIOpt",77],[5,"FilterOpt",77],[5,"TerryOpt",77],[5,"BookletOpt",77],[5,"EvaluationConfig",751],[5,"Formatter",759],[8,"Result",759],[5,"ArgMatches",761],[8,"Error",762],[5,"Id",763],[6,"Option",764],[1,"bool"],[5,"PathBuf",765],[1,"u16"],[5,"ChannelSender",766],[5,"ChannelReceiver",766],[1,"tuple"],[1,"str"],[10,"AsRef",767],[5,"SandboxConfiguration",768],[5,"AtomicU32",769],[5,"Arc",770],[6,"RawSandboxResult",771],[5,"AddSolutionChecksOpt",354],[5,"BookletOpt",385],[5,"ClearOpt",416],[5,"CopyCompetitionFilesOpt",437],[5,"FindBadCaseOpt",465],[5,"FuzzCheckerOpt",495],[5,"GenAutocompletionOpt",530],[5,"Opt",551],[6,"Tool",551],[5,"ResetOpt",605],[5,"SandboxOpt",630],[5,"ServerOpt",664],[5,"TaskInfoOpt",693],[5,"WorkerOpt",720]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAEUCTgACAAYADAAGABQAAgAYAAEAIAABACMAAQAmAAAAKAATAEQAAQBKAB8AawARAH4AKQCtAAAAsQAAALQAAAC3AAkAygAaAO8AAAD5AAAA/AAAAAABAAACASMAJwERADoBCABFAQYATwELAFwBFAByAQIAdwEAAHkBCwCGAQYAjgEBAJEBAgCVAQAAlwEAAJkBEACrAQIArwEQAMEBAgDFAQIAyQELANYBCQDhAQEA5AEAAOYBAADoAQwA9gEFAP0BAQAAAgEAAwIAAAYCAAALAg8AHAICACACAAAiAgUAMAIAADUCAAA4Ag0ASAIFAFACAABSAhYAagICAG8CEACBAgEAhAIBAIcCAACJAgAAkAIDAJUCAgCZAgQAoAIFAKcCAgCsAgcAtgILAMMCAgDIAhMA3QICAOQCBwA="}],["task_maker_store",{"t":"FFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["FileStore","FileStoreHandle","FileStoreKey","ReadFileIterator","borrow","","","","borrow_mut","","","","clone","","clone_into","","clone_to_uninit","","cmp","deserialize","drop","","eq","","fmt","","","","","from","","","","from_content","from_file","get","hash","into","","","","into_iter","key","new","","next","partial_cmp","path","serialize","store","to_owned","","to_string","","try_from","","","","try_into","","","","type_id","","",""],"q":[[0,"task_maker_store"],[66,"core::cmp"],[67,"core::result"],[68,"serde::de"],[69,"core::fmt"],[70,"anyhow"],[71,"std::path"],[72,"core::convert"],[73,"core::option"],[74,"core::hash"],[75,"task_maker_store::read_file_iterator"],[76,"serde::ser"],[77,"alloc::vec"],[78,"core::iter::traits::collect"],[79,"alloc::string"],[80,"core::any"]],"i":"````BjAbfh3210101010112010211003210112132103032310121010321032103210","f":"````{b{{b{c}}}{}}000{{{b{d}}}{{b{dc}}}{}}000{{{b{f}}}f}{{{b{h}}}h}{{b{b{dc}}}j{}}0{bj}0{{{b{f}}{b{f}}}l}{c{{n{f}}}A`}{{{b{dAb}}}j}{{{b{dh}}}j}{{{b{f}}{b{f}}}Ad}{{{b{h}}{b{h}}}Ad}{{{b{Ab}}{b{dAf}}}Ah}{{{b{f}}{b{dAf}}}{{n{jAj}}}}{{{b{f}}{b{dAf}}}Ah}{{{b{h}}{b{dAf}}}Ah}0{cc{}}000{{{b{{An{Al}}}}}f}{c{{n{fB`}}}{{Bd{Bb}}}}{{{b{Ab}}{b{f}}}{{Bf{h}}}}{{{b{f}}{b{dc}}}jBh}{{}c{}}0000{{{b{h}}}{{b{f}}}}{c{{n{BjB`}}}{{Bd{Bb}}}}{{cBlBl}{{n{AbB`}}}{{C`{Bn}}}}{{{b{dBj}}}{{Bf{c}}}{}}{{{b{f}}{b{f}}}{{Bf{l}}}}{{{b{h}}}{{b{Bb}}}}{{{b{f}}c}nCb}{{{b{Ab}}{b{f}}c}{{n{hB`}}}{{Ch{}{{Cd{{Cf{Al}}}}}}}}{bc{}}0{bCj}0{c{{n{e}}}{}{}}000{{}{{n{c}}}{}}000{bCl}000","D":"Bj","p":[[1,"reference"],[0,"mut"],[5,"FileStoreKey",0],[5,"FileStoreHandle",0],[1,"unit"],[6,"Ordering",66],[6,"Result",67],[10,"Deserializer",68],[5,"FileStore",0],[1,"bool"],[5,"Formatter",69],[8,"Result",69],[5,"Error",69],[1,"u8"],[1,"slice"],[5,"Error",70],[5,"Path",71],[10,"AsRef",72],[6,"Option",73],[10,"Hasher",74],[5,"ReadFileIterator",0,75],[1,"u64"],[5,"PathBuf",71],[10,"Into",72],[10,"Serializer",76],[17,"Item"],[5,"Vec",77],[10,"IntoIterator",78],[5,"String",79],[5,"TypeId",80]],"r":[[3,75]],"b":[[25,"impl-Debug-for-FileStoreKey"],[26,"impl-Display-for-FileStoreKey"],[27,"impl-Debug-for-FileStoreHandle"],[28,"impl-Display-for-FileStoreHandle"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAC0ABgAFABgAJQAAACoAAAAuAAEAMQAAADMADwA="}],["task_maker_tools",{"t":"H","n":["main"],"q":[[0,"task_maker_tools"]],"i":"`","f":"{{}b}","D":"`","p":[[1,"unit"]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAEAAAAAAAEAEAAAAAAAAQA="}]]')); +var searchIndex = new Map(JSON.parse('[["task_maker",{"t":"H","n":["main"],"q":[[0,"task_maker"]],"i":"`","f":"{{}b}","D":"b","p":[[1,"unit"]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAEAAAAAAAAAEAAAAAEA"}],["task_maker_cache",{"t":"FGPPNNNNNNNNNNNNNNNNNNNNNNOO","n":["Cache","CacheResult","Hit","Miss","borrow","","borrow_mut","","drop","fmt","from","","get","insert","into","","is_cacheable","new","try_from","","try_into","","type_id","","vzip","","outputs","result"],"q":[[0,"task_maker_cache"],[26,"task_maker_cache::CacheResult"],[28,"core::fmt"],[29,"task_maker_dag::execution_group"],[30,"task_maker_dag::file"],[31,"task_maker_store"],[32,"std::collections::hash::map"],[33,"task_maker_dag::execution"],[34,"alloc::vec"],[35,"anyhow"],[36,"core::result"],[37,"std::path"],[38,"core::convert"],[39,"core::any"]],"i":"``Ah00f10001000100010101010Bj0","f":"````{b{{b{c}}}{}}0{{{b{d}}}{{b{dc}}}{}}0{{{b{df}}}h}{{{b{f}}{b{dj}}}l}{cc{}}0{{{b{df}}{b{n}}{b{{Ad{A`Ab}}}}{b{Af}}}Ah}{{{b{df}}{b{n}}{b{{Ad{A`Ab}}}}{Al{Aj}}}h}{{}c{}}0{{{b{Aj}}}An}{c{{Bb{fB`}}}{{Bf{Bd}}}}{c{{Bb{e}}}{}{}}0{{}{{Bb{c}}}{}}0{bBh}055``","D":"An","p":[[1,"reference"],[0,"mut"],[5,"Cache",0],[1,"unit"],[5,"Formatter",28],[8,"Result",28],[5,"ExecutionGroup",29],[8,"FileUuid",30],[5,"FileStoreHandle",31],[5,"HashMap",32],[5,"FileStore",31],[6,"CacheResult",0],[5,"ExecutionResult",33],[5,"Vec",34],[1,"bool"],[5,"Error",35],[6,"Result",36],[5,"PathBuf",37],[10,"Into",38],[5,"TypeId",39],[15,"Hit",26]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAA0AAgAFAAUAEwAHAA=="}],["task_maker_dag",{"t":"GPIPPFFGFFFFFIFFFFGFIJFIFFIIISPPPPPIIIIGPPPPPPPIFNNNNONONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNONNONONONOOONNNNNNNOOONNNNNNNNNNNNNNNONONONNNNNNNNOONOOONOONOOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNONNNNNNNNNNNNNNNNNNNNNNNNOONNNONOONONOONNNNNNNOONNNOONNONNNNOONNONOONNNNNNNNNNNNNNNNNONONOONONONONOONONOONNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOONNNNNNNNNNNNNNNNNNNNNOOOONNOOOOOOO","n":["CacheMode","Content","DagPriority","Everything","Except","Execution","ExecutionCallbacks","ExecutionCommand","ExecutionDAG","ExecutionDAGCallbacks","ExecutionDAGConfig","ExecutionDAGData","ExecutionGroup","ExecutionGroupUuid","ExecutionInput","ExecutionLimits","ExecutionResourcesUsage","ExecutionResult","ExecutionStatus","ExecutionTag","ExecutionUuid","FIFO_SANDBOX_DIR","Fifo","FifoUuid","File","FileCallbacks","FileUuid","GetContentCallback","GetContentChunkedCallback","HIGH_PRIORITY","InternalError","Local","LocalFile","MemoryLimitExceeded","Nothing","OnDoneCallback","OnSkipCallback","OnStartCallback","Priority","ProvidedFile","ReturnCode","Signal","Success","SysTimeLimitExceeded","System","TimeLimitExceeded","WallTimeLimitExceeded","WorkerUuid","WriteToCallback","add_execution","","add_execution_group","add_extra_readable_dir","allow_failure","allow_multiprocess","","args","","as_ref","block_multiprocess","borrow","","","","","","","","","","","","","","","","","","","","borrow_mut","","","","","","","","","","","","","","","","","","","","cache_mode","","callbacks","capture_stderr","","capture_stdout","","clone","","","","","","","","","","","","","","","","","clone_into","","","","","","","","","","","","","","","","","clone_to_uninit","","","","","","","","","","","","","","","","","command","config","","","config_mut","copy_env","","copy_exe","","copy_logs","","cpu_time","","","data","default","","","","","","dependencies","description","","","deserialize","","","","","","","","","","","","","","","dest","dry_run","","env","","eq","","","","","","","","executable","","execution_callbacks","","execution_groups","executions","extra_memory","","extra_readable_dirs","extra_time","","fifo","file","file_callbacks","","fmt","","","","","","","","","","","","","","","","","","","","from","","","","","","","","","","","","","","","","","","","","","","","","fsize","","get_content","get_content_chunked","get_file_content","get_file_content_chunked","hash","","","input","inputs","internal_error","into","","","","","","","","","","","","","","","","","","","","is_internal_error","is_success","keep_sandboxes","","limits","limits_mut","local","memlock","","memory","","","mount_proc","","mount_tmpfs","","name","new","","","","","new_fifo","nofile","","on_done","on_execution_done","on_execution_skip","on_execution_start","on_skip","on_start","output","outputs","","partial_cmp","priority","","","","","provide_content","provide_file","provided_files","read_only","","resources","sandbox_path","serialize","","","","","","","","","","","","","","","stack","","status","","stderr","","","stderr_redirect_path","","stdin","","stdin_redirect_path","","stdout","","","stdout_redirect_path","","sys_time","","","system","tag","","","to_owned","","","","","","","","","","","","","","","","","try_from","","","","","","","","","","","","","","","","","","","","","try_into","","","","","","","","","","","","","","","","","","","","type_id","","","","","","","","","","","","","","","","","","","","type_script_ify","","","","unrestricted","urgent_file","urgent_files","","uuid","","","","vzip","","","","","","","","","","","","","","","","","","","","wall_time","","","was_cached","was_killed","write_file_to","write_file_to_allow_fail","write_to","content","file","","key","","local_path"],"q":[[0,"task_maker_dag"],[507,"task_maker_dag::ProvidedFile"],[513,"task_maker_dag::dag"],[514,"task_maker_dag::execution"],[515,"task_maker_dag::execution_group"],[516,"std::path"],[517,"core::convert"],[518,"alloc::string"],[519,"core::iter::traits::collect"],[520,"task_maker_dag::file"],[521,"alloc::vec"],[522,"core::result"],[523,"serde::de"],[524,"std::collections::hash::map"],[525,"core::fmt"],[526,"anyhow"],[527,"core::ops::function"],[528,"core::hash"],[529,"core::cmp"],[530,"core::option"],[531,"serde::ser"],[532,"core::any"],[533,"alloc::borrow"],[534,"std::collections::hash::set"]],"i":"`Bd`B`0`````````````````````````BnBj312`````1111011``dl1nCf11h0Aj38An:BfE`8Bh:BlCl79=C`CbCd=;Cn:B`:Bd:9d9Bj98?nBn987lCf8AjAn07h000:19Bf9Bh9Bl398C`CbCd:98B`8Bd7d7Bj7:nBn876lCfAj8An8?7>6=h65=<;432004Bf911222277>929Cl8?Cn3375=4<2Bh;Bl5;:C`CbCd<:;9988B`5BjnBn65>7?dE`=lAn05001;3270BdBf45>8=Clh98>=<5CfCnAjAl0?876:;Bh0?Bl76?>C`CbCd>>876n088d06Bj6<>>>C`????Bh;?6525n08d00998884=87=800;11CbCdB`AnBdBf8BjBlh:Bn=98l?<<2:22:22222222:22<<>42028765;=432<1>:90CfAj::987E`>Bh87Cl7n7C`CbCd98Cn8B`AnBdBf;d;BjBl187>Ad987326?1>:0987326?1>:0987326?1>:02702``<:654687326?>::032100332211667:`0987326?1>:ADj=>1:9984376Ah0036Bl=45`36542?Ff4=<;76:92581>`<6<;?58713=;5<3?n1>=98<43Aj029Bb?63`80BdBf==0C`:=Cf:6<89=543AlA`43=Bj3=9?;:>`?ADj=>1:984376Ah36Bl=JfHh`Ib```````20``HdHf3Hj`Jd6Hn`11`````7Id63`8288``28````2828``431```0`````````````8``22858GjGnIh`L`2Eh:9<8Hl7I`=7H`Lf85IfGl8IjIlInJ`JbJdJfJhJjJlJnK`KbKdGnKfKhKjEhKlKnHdHfHhHjHlHnI`IbIdH`LfGjL`IfGlIhIjIlInJ`JbJdJfJhJjJlJnK`KbKdGnKfKhKjEhKlKnGj3Gl7Hl>5HdHfHhHj4HnI`IbIdH`;If;IhIjIlInJ`JbJdJfJhJjJlJnK`KbKdGnKfKhKjEhKlKnHdHfHhHjHlHnI`IbIdH`GjIfGlIhIjIlInJ`JbJdJfJhJjJlJnK`KbKdGnKfKhKjEhKlKnHdHfHhHjHlHnI`IbIdH`GjIfGlIhIjIlInJ`JbJdJfJhJjJlJnK`KbKdGnKfKhKjEhKlKn6GlGj8IlJbH`0L`Hh2If;9?9329HdHf3HjHlHnI`IbId;>:8?IhIj?InJ`JbEhKlKnGjGnIf5Lf0?JdJfHn02211553905HdHfHhHjHl5I`IbIdH`GlIhIjIlInJ`JbJdJfJhJjJlJnK`KbKdGnKfKhKjEhKlKnH`HdHfHhHjHlHnI`IbId9LfGjL`IfGlIhIjIlInJ`JbJdJfJhJjJlJnK`KbKdGnKfKhKjEhKlKnH`If5?84Jf431523345HdHfHhHjHlHnI`IbId;LfGjL`=GlIhIjIlInJ`JbJdJfJhJjJlJnK`KbKdGnKfKhKjEhKlKnH`<2??3`0JbIh2L`30``I`InJ`=8IjIf;JfLf28Il>=GjGl;K`GnKhKjEhKnJnI`2=3Hl3949;Jb55=Jl96`6804:6IhHdHfHhHj7Hn9IbIdH`GjIfGl;IjIlInJ`JbEhKlKn;;L`LfJhKfGn6?Ih3JlKbKdHn6>K`=7If>7>>;>InJj3EhKl0GlIj636<3LfHdHfHhHjHl>I`IbIdH`GjIf=Ih=IlInJ`JbJdJfJhJjJlJnK`KbKdGnKfKhKjEhKlKnLf00Hd0HfHhHjHlHnI`IbIdH`:GjL`IfGlIhIjIlInJ`JbJdJfJhJjJlJnK`KbKdGnKfKhKjEhKlKnHdHfHhHjHlHnI`IbIdH`LfGjL`IfGlIhIjIlInJ`JbJdJfJhJjJlJnK`KbKdGnKfKhKjEhKlKnLfHdHfHhHjHlHnI`IbIdH`:GjL`IfGlIhIjIlInJ`JbJdJfJhJjJlJnK`KbKdGnKfKhKjEhKlKnHdHfHhHjHlHnI`IbH`GjIfGlIhIjIlInJ`JbEhKlKn2>JhHdHfHhHjHlHnI`IbIdH`LfGjL`IfGlIhIjIlInJ`JbJdJfJhJjJlJnK`KbKdGnKfKhKjEhKlKn`````Ob00`````````NnOdNjEjNl4O`64OfOh54372861047644543728610543728610543728610154543728610354372861054372861045437286104542105454444443543728610024543728610543728610543728610543728610543728610434543728610``Fj`Gb``1OnOl0```333333333332``102``2`0`32`1031`3333333``````````Oj1AAhAB`A@`A@bA@dA@f:A@hA@lA@nAA`AAbAAdAAf?>LlGb>=<;:9Fj9876543OnOl43210321032103`?>=<;:987652110OjGfAAhA@bA@dA@f876:93AB`A@`432:A@hA@lA@nAA`AAbAAdAAfOnOlLlGb0<`AAh==<;:98765AAl5AB`5438Gf7654ADb2222``3:4<33A@`445=<:9308765A@hA@lA@nAA`AAbAAdAAfOnOlLlGbAAh?=<;:987654AB`A@`5432A@hA@lA@nAA`AAbAAdAAfOnOlLlGb=3AAh==<;:98765ADlADn1010AE`AEbAEdAEfAEhAEjAEl4AEnAF`6AFb142AFdAFf3AFh7521AFjAFlAFn6AG`AGb=AGdAGfAGh<8>AEd:8760321=9AEj?AGjAGl654AF`=3````````ACnABlAC`ACbACdACfACh6543210543210AD`777654321`765432177``7654321765432176543217654321","f":"``````````````````````````````````````````````````````{{{d{b}}f}{{l{hj}}}}{{{d{n}}f}{{l{hj}}}}{{{d{A`}}}{{d{Ab}}}}{{{d{Ad}}}{{d{Ab}}}}1```{d{{d{c}}}{}}000000000000000{{{d{Af}}}{{d{Afc}}}{}}000000000000000{{{d{AfAh}}{d{Afb}}{d{Aj}}}{{l{hj}}}}{{{d{A`}}{d{{An{Al}}}}}B`}``{{{d{Ah}}}{{l{hj}}}}{{{d{Ad}}}Ad}{{{d{Bb}}}Bb}{{{d{Bd}}}Bd}{{{d{Bf}}}Bf}{{{d{Al}}}Al}{{{d{A`}}}A`}{{{d{Bh}}}Bh}{{{d{Ah}}}Ah}{{{d{Bj}}}Bj}{{{d{Bl}}}Bl}{{{d{Aj}}}Aj}{{d{d{Afc}}}h{}}0000000000{dh}0000000000{{{d{Ad}}{d{Ad}}}Bn}{{{d{A`}}{d{A`}}}Bn}`{{d{d{c}}}Bn{}}0```{{}Aj}{{{d{Bh}}}{{d{c}}}{}}{{{d{C`}}}{{d{{Cd{Cb}}}}}}{{{d{Cf}}}{{d{Ch}}}}{{{d{AfBh}}}{{d{Afc}}}{}}{c{{l{Bd}}}Cj}{c{{l{Bf}}}Cj}{c{{l{Al}}}Cj}{c{{l{A`}}}Cj}{c{{l{Bh}}}Cj}{c{{l{Ah}}}Cj}{c{{l{Bl}}}Cj}``{{{d{Ad}}{d{Ad}}}B`}{{{d{Al}}{d{Al}}}B`}{{{d{A`}}{d{A`}}}B`}{{{d{Bj}}{d{Bj}}}B`}{{d{d{c}}}B`{}}0000000{{{d{Bh}}{d{Afb}}}{{l{Clj}}}}{{{d{Bh}}{d{Afb}}cg}{{l{Cnj}}}{{D`{Ab}}}{{Db{Cb}}}{{Df{}{{Dd{e}}}}}}{{c{d{Afb}}}{{l{{Cd{Bf}}j}}}{{D`{Dh}}}}{{{d{Aj}}{d{Dh}}{Cd{{d{Ab}}}}{Dn{{Dl{Dj}}}}{d{Afb}}}{{Cd{Bb}}}}{{{Dn{Ch}}E`{d{Aj}}}{{Eb{Ah}}}}{{{d{Ad}}{d{AfEd}}}Ef}{{{d{Bb}}{d{AfEd}}}Ef}{{{d{Bd}}{d{AfEd}}}Ef}{{{d{Bf}}{d{AfEd}}}Ef}{{{d{Al}}{d{AfEd}}}Ef}{{{d{A`}}{d{AfEd}}}Ef}{{{d{Bh}}{d{AfEd}}}Ef}{{{d{Ah}}{d{AfEd}}}Ef}{{{d{Bj}}{d{AfEd}}}Ef}{{{d{Bl}}{d{AfEd}}}Ef}{{{d{Aj}}{d{AfEd}}}Ef}{cc{}}00000{{{d{Bb}}}Bd}11111{EhAh}2{EjAh}3333{{ElEl}Bj}{{{d{Ab}}}{{l{A`c}}}{}}{{}{{Cd{{En{{d{Ab}}Ad}}}}}}{{{d{Ad}}{d{Afc}}}hF`}{{{d{Al}}{d{Afc}}}hF`}{{{d{A`}}{d{Afc}}}hF`}{{{d{Bj}}{d{Afc}}}hF`}{{}c{}}000000000000000``{{{d{A`}}}{{d{{An{Al}}}}}}`{c{{En{bFb}}}{{Db{Ch}}}}{{{d{Dh}}{d{Dh}}{Dn{{Dl{Dj}}}}{d{Afb}}}{{Dn{Bb}}}}{{A`cFd}Bf{{Db{Cb}}}}{{ceg{Dn{{Dl{Dj}}}}{Dn{i}}}{{Dn{Bh}}}{{Db{Ch}}}{{Db{Ch}}}{{Db{Cb}}}{{Db{Ch}}}}`{{{d{Ad}}{d{Ad}}}{{Dn{Bn}}}}{{{d{Al}}{d{Al}}}{{Dn{Bn}}}}{{{d{A`}}{d{A`}}}{{Dn{Bn}}}}{cFf{{Db{Ch}}}}{{{d{Ah}}}{{d{Dh}}}}`{{{d{Bh}}{d{Afb}}}{{l{{Dn{Fh}}j}}}}{{{d{Ad}}}{{d{Ab}}}}`{{{d{Ah}}{d{Afb}}}{{l{hj}}}}`{{{d{n}}Fj}{{l{hj}}}}`{{{d{Bd}}c}lFl}{{{d{Bf}}c}lFl}{{{d{Al}}c}lFl}{{{d{A`}}c}lFl}{{{d{Bh}}c}lFl}{{{d{Ah}}c}lFl}{{{d{Bl}}c}lFl}```{{}{{d{{An{A`}}}}}}``{{{d{Ah}}}{{l{Blj}}}}``{dc{}}0000000000{c{{l{e}}}{}{}}000000000000000{{}{{l{c}}}{}}000000000000000{dFn}000000000000000{{}{{G`{Ab}}}}`{{{d{Ah}}{d{Gb}}Gd}{{l{{Gh{Gf}}j}}}}{{}c{}}000000000000000``````````````````````````````````````````````````````````````````````````````````{{{d{AfGj}}Gl}h}{{{d{AfGn}}Fj}h}`````{d{{d{c}}}{}}000000000000000000000000000000000000{{{d{Af}}}{{d{Afc}}}{}}000000000000000000000000000000000000{{{d{Gj}}{d{Afb}}}{{l{hj}}}}{{{d{AfEh}}{d{Afb}}{d{Aj}}}{{l{hj}}}}{{{d{Gl}}{d{Afb}}{d{Ab}}{d{H`}}}{{l{{Cd{{En{ChHb}}}}j}}}}```{{{d{Eh}}}{{l{hj}}}}{{{d{Hd}}}Hd}{{{d{Hf}}}Hf}{{{d{Hh}}}Hh}{{{d{Hj}}}Hj}{{{d{Hl}}}Hl}{{{d{Hn}}}Hn}{{{d{I`}}}I`}{{{d{Ib}}}Ib}{{{d{Id}}}Id}{{{d{H`}}}H`}{{{d{Gj}}}Gj}{{{d{If}}}If}{{{d{Gl}}}Gl}{{{d{Ih}}}Ih}{{{d{Ij}}}Ij}{{{d{Il}}}Il}{{{d{In}}}In}{{{d{J`}}}J`}{{{d{Jb}}}Jb}{{{d{Jd}}}Jd}{{{d{Jf}}}Jf}{{{d{Jh}}}Jh}{{{d{Jj}}}Jj}{{{d{Jl}}}Jl}{{{d{Jn}}}Jn}{{{d{K`}}}K`}{{{d{Kb}}}Kb}{{{d{Kd}}}Kd}{{{d{Gn}}}Gn}{{{d{Kf}}}Kf}{{{d{Kh}}}Kh}{{{d{Kj}}}Kj}{{{d{Eh}}}Eh}{{{d{Kl}}}Kl}{{{d{Kn}}}Kn}{{d{d{Afc}}}h{}}0000000000000000000000000000000000{dh}0000000000000000000000000000000000`{{{d{Gl}}}{{d{If}}}}````{c{{Dn{{l{L`j}}}}}{{Db{Ch}}}}``{{}Hh}{{}H`}{{}If}{{}Kj}{{}Kl}`````{c{{l{Hd}}}Cj}{c{{l{Hf}}}Cj}{c{{l{Hh}}}Cj}{c{{l{Hj}}}Cj}{c{{l{Hl}}}Cj}{c{{l{Hn}}}Cj}{c{{l{I`}}}Cj}{c{{l{Ib}}}Cj}{c{{l{Id}}}Cj}{c{{l{H`}}}Cj}{c{{l{Gj}}}Cj}{c{{l{L`}}}Cj}{c{{l{If}}}Cj}{c{{l{Gl}}}Cj}{c{{l{Ih}}}Cj}{c{{l{Ij}}}Cj}{c{{l{Il}}}Cj}{c{{l{In}}}Cj}{c{{l{J`}}}Cj}{c{{l{Jb}}}Cj}{c{{l{Eh}}}Cj}{c{{l{Kl}}}Cj}{c{{l{Kn}}}Cj}````{d{{l{CbLb}}}}{{d{d{AfLd}}}{{l{hLb}}}}{{{d{Hn}}{d{Hn}}}B`}{{{d{Jd}}{d{Jd}}}B`}{{{d{Jf}}{d{Jf}}}B`}{{d{d{c}}}B`{}}00000``{d{{Dn{{d{Ab}}}}}}{{}Eh}{{}Hn}{{{d{AfGn}}}h}{{{d{Hd}}{d{AfEd}}}Ef}{{{d{Hf}}{d{AfEd}}}Ef}{{{d{Hh}}{d{AfEd}}}Ef}{{{d{Hj}}{d{AfEd}}}Ef}{{{d{Hl}}{d{AfEd}}}Ef}{{{d{Hn}}{d{AfEd}}}Ef}{{{d{I`}}{d{AfEd}}}Ef}{{{d{Ib}}{d{AfEd}}}Ef}{{{d{Id}}{d{AfEd}}}Ef}{{{d{H`}}{d{AfEd}}}Ef}{{{d{Lf}}{d{AfEd}}}Ef}{{{d{Gj}}{d{AfEd}}}Ef}{{{d{L`}}{d{AfEd}}}Ef}{{{d{If}}{d{AfEd}}}Ef}{{{d{Gl}}{d{AfEd}}}Ef}{{{d{Ih}}{d{AfEd}}}Ef}{{{d{Ij}}{d{AfEd}}}Ef}{{{d{Il}}{d{AfEd}}}Ef}{{{d{In}}{d{AfEd}}}Ef}{{{d{J`}}{d{AfEd}}}Ef}{{{d{Jb}}{d{AfEd}}}Ef}{{{d{Jd}}{d{AfEd}}}Ef}{{{d{Jf}}{d{AfEd}}}Ef}{{{d{Jh}}{d{AfEd}}}Ef}{{{d{Jj}}{d{AfEd}}}Ef}{{{d{Jl}}{d{AfEd}}}Ef}{{{d{Jn}}{d{AfEd}}}Ef}{{{d{K`}}{d{AfEd}}}Ef}{{{d{Kb}}{d{AfEd}}}Ef}{{{d{Kd}}{d{AfEd}}}Ef}{{{d{Gn}}{d{AfEd}}}Ef}{{{d{Kf}}{d{AfEd}}}Ef}{{{d{Kh}}{d{AfEd}}}Ef}{{{d{Kj}}{d{AfEd}}}Ef}{{{d{Eh}}{d{AfEd}}}Ef}{{{d{Kl}}{d{AfEd}}}Ef}{{{d{Kn}}{d{AfEd}}}Ef}`{cc{}}000000000000000000000000000000000000{{ceB`}{{l{H`j}}}{{Db{Cb}}}{{Db{Ch}}}}{{{d{Eh}}}If}{{{d{Kj}}{Dn{Lh}}}Hh}```{{{d{Jf}}}B`}`````````{{}c{}}000000000000000000000000000000000000`{{{d{Jl}}{Dn{El}}El{Dn{Lj}}El}B`}`22{cB`{{D`{Dh}}}}````````{{{d{{An{Eh}}}}{d{Aj}}}{{l{{Cd{Gj}}j}}}}{{{d{Eh}}{d{Aj}}}{{l{{Cd{Gj}}j}}}}````````{{{d{Jf}}}Cb}{d{{d{Ab}}}}`````{{H`c}Gj{{Db{Ch}}}}{{cIf}{{l{Glj}}}{{Db{Ch}}}}{{{d{Eh}}}{{l{Ihj}}}}{{{d{Eh}}}K`}{{{d{Eh}}Gd}Gn}{{{d{Eh}}Ch{Dl{{Ln{Ll}}}}}{{l{Khj}}}}{cKj{{Mb{{Dn{Lh}}}{{M`{Hh}}}}MdMf}}{{c{d{Aj}}}{{l{Ehj}}}{{D`{Dh}}}}{{MhHfHj}Kn}```````{{{d{Gl}}}{{Cd{Cb}}}}{{{d{Eh}}}{{d{Dh}}}}````{{{d{Eh}}{d{Dh}}}{{d{Dh}}}}{{{d{Lf}}{d{Afc}}}{{Mj{h}}}{LdMl}}`{{{d{Gn}}}{{Cd{Kf}}}}{{{d{Eh}}{d{Afb}}}{{l{hj}}}}``{{{d{AfKh}}LhMhElCb{Dl{{Ln{Ll}}}}}{{l{hj}}}}`````{{{d{Hd}}c}lFl}{{{d{Hf}}c}lFl}{{{d{Hh}}c}lFl}{{{d{Hj}}c}lFl}{{{d{Hl}}c}lFl}{{{d{Hn}}c}lFl}{{{d{I`}}c}lFl}{{{d{Ib}}c}lFl}{{{d{Id}}c}lFl}{{{d{H`}}c}lFl}{{{d{Gj}}c}lFl}{{{d{If}}c}lFl}{{{d{Gl}}c}lFl}{{{d{Ih}}c}lFl}{{{d{Ij}}c}lFl}{{{d{Il}}c}lFl}{{{d{In}}c}lFl}{{{d{J`}}c}lFl}{{{d{Jb}}c}lFl}{{{d{Eh}}c}lFl}{{{d{Kl}}c}lFl}{{{d{Kn}}c}lFl}```{dMn}``````````{{}Hn}````````{{{d{Eh}}}{{l{Blj}}}}`````````{{{d{Gl}}}Cb}``````{dN`}{dc{}}0000000000000000000000000000000000{dNb}{dCb}{dNd}{CbCb}{c{{l{e}}}{}{}}000000000000000000000000000000000000{{}{{l{c}}}{}}000000000000000000000000000000000000{d{{l{NfNh}}}}{dFn}000000000000000000000000000000000000{{}{{G`{Ab}}}}00000000000000000000{{{d{Eh}}{d{Gb}}Gd}{{l{{Gh{Gf}}j}}}}``{{}c{}}000000000000000000000000000000000000`{{c{d{Aj}}}{{l{Ehj}}}{{D`{Dh}}}}{{{d{{An{{d{Ab}}}}}}}{{Cd{{Gh{`}}}}}}{{{d{{An{{d{Ab}}}}}}}{{`{Eh}}}}```````````````{d{{d{c}}}{}}00000000{{{d{Af}}}{{d{Afc}}}{}}00000000{{{d{Ej}}{d{Afb}}{d{Aj}}}{{l{hj}}}}```{{{d{Ej}}}{{l{hj}}}}{{{d{Nj}}}Nj}{{{d{Ej}}}Ej}{{{d{Nl}}}Nl}{{{d{Nn}}}Nn}{{{d{O`}}}O`}{{{d{Ob}}}Ob}{{{d{Od}}}Od}{{{d{Of}}}Of}{{{d{Oh}}}Oh}{{d{d{Afc}}}h{}}00000000{dh}00000000```{c{{l{Nj}}}Cj}{c{{l{Ej}}}Cj}{c{{l{Nl}}}Cj}{c{{l{Nn}}}Cj}{c{{l{O`}}}Cj}{c{{l{Ob}}}Cj}{c{{l{Od}}}Cj}{c{{l{Of}}}Cj}{c{{l{Oh}}}Cj}`{{{d{Nj}}{d{AfEd}}}Ef}{{{d{Ej}}{d{AfEd}}}Ef}{{{d{Nl}}{d{AfEd}}}Ef}{{{d{Nn}}{d{AfEd}}}Ef}{{{d{O`}}{d{AfEd}}}Ef}{{{d{Ob}}{d{AfEd}}}Ef}{{{d{Od}}{d{AfEd}}}Ef}{{{d{Of}}{d{AfEd}}}Ef}{{{d{Oh}}{d{AfEd}}}Ef}{cc{}}00000000`{{}c{}}00000000{cB`{{D`{Dh}}}}```````{{{d{Ej}}}{{l{Njj}}}}{{c{d{Aj}}}{{l{Ejj}}}{{D`{Dh}}}}`{{{d{Ej}}}{{d{Dh}}}}`{{{d{Ej}}{d{Afb}}}{{l{hj}}}}``{{{d{Nj}}c}lFl}{{{d{Ej}}c}lFl}{{{d{Nl}}c}lFl}{{{d{Nn}}c}lFl}{{{d{O`}}c}lFl}{{{d{Ob}}c}lFl}{{{d{Od}}c}lFl}{{{d{Of}}c}lFl}{{{d{Oh}}c}lFl}``{{{d{Ej}}}{{l{Blj}}}}{dc{}}00000000{c{{l{e}}}{}{}}00000000{{}{{l{c}}}{}}00000000{dFn}00000000{{}{{G`{Ab}}}}00000000{{{d{Ej}}{d{Gb}}Gd}{{l{{Gh{Gf}}j}}}}``{{}c{}}00000000``````````````````````````````````````````````````````````````{{{d{AfOj}}Fj}h}{{{d{AfOl}}On}h}{d{{d{c}}}{}}00000000000000000{{{d{Af}}}{{d{Afc}}}{}}00000000000000000{{{d{Fj}}}Fj}{{{d{On}}}On}{{{d{Ol}}}Ol}{{{d{Gb}}}Gb}{{d{d{Afc}}}h{}}000{dh}000`{{}A@`}{{}A@b}{{}A@d}{{}A@f}{{{d{A@h}}}{{d{A@j}}}}{{{d{A@l}}}{{d{A@j}}}}{{{d{A@n}}}{{d{A@j}}}}{{{d{AA`}}}{{d{A@j}}}}{{{d{AAb}}}{{d{A@j}}}}{{{d{AAd}}}{{d{A@j}}}}{{{d{AAf}}}{{d{A@j}}}}{c{{l{Fj}}}Cj}{c{{l{On}}}Cj}{{{d{On}}{d{On}}}B`}{{{d{Ol}}{d{Ol}}}B`}{{{d{AfOj}}}h}{{{d{AfGf}}}h}{{{d{Af{AAh{c}}}}}h{OjMd}}{{{d{AfA@b}}}h}{{{d{AfA@d}}}h}{{{d{AfA@f}}}h}{{{d{Fj}}{d{AfEd}}}Ef}{{{d{On}}{d{AfEd}}}Ef}{{{d{Ol}}{d{AfEd}}}Ef}{{{d{Ll}}{d{AfEd}}}Ef}{{{d{Gb}}{d{AfEd}}}Ef}{cc{}}00000000000000000{{{d{Ab}}}{{l{Gbc}}}{}}{{{d{{AAj{Chc}}}}}Mn{}}`{{}c{}}00000000000000000{{{d{AAl}}}B`}{c{{AAh{c}}}Oj}{{{d{AfAAn}}}AB`}{{}A@b}{{}A@d}{{}A@f}{{}{{En{LlFb}}}}{{{d{AfGf}}Fj}h}{{{d{Af{AAh{c}}}}Fj}h{OjMd}}{{{d{AfA@b}}Fj}h}{{{d{AfA@d}}Fj}h}{{{d{AfA@f}}Fj}h}{{{d{c}}}h{}}{{{d{AfAB`}}{d{{AAj{ChOl}}}}}h}{{{d{AfAB`}}{d{ABb}}}h}{{{d{ABd}}}h}{{{d{ABf}}}h}``{{{d{AfAAl}}}{{l{hABh}}}}{{{d{Ll}}Fj}{{l{hj}}}}{{{d{Fj}}c}lFl}{{{d{On}}c}lFl}{{{d{AfAAl}}{d{A@j}}}{{l{hABh}}}}{{{d{AfAAl}}{d{ABj}}}{{l{hABh}}}}`{{{d{AAl}}}B`}0{dc{}}000{c{{l{e}}}{}{}}00000000000000000{{}{{l{c}}}{}}00000000000000000{dFn}00000000000000000{{}{{G`{Ab}}}}0{{}c{}}00000000000000000```````````````````````````````````````````````````````````````````````{d{{d{c}}}{}}000000{{{d{Af}}}{{d{Afc}}}{}}000000{{{d{ABl}}}{{d{ABn}}}}{{{d{AC`}}}{{d{ABn}}}}{{{d{ACb}}}{{d{ABn}}}}{{{d{ACd}}}{{d{ABn}}}}{{{d{ACf}}}{{d{ABn}}}}{{{d{ACh}}}{{d{ABn}}}}{{{d{c}}{d{AfACj}}AClMn}h{}}{{{d{Af{ACn{ceg}}}}}h{OjMdMf}{{AD`{c}}MdMf}{{ADb{c}}MdMf}}0{cc{}}000000{ADdADd}<<<<<<<{c{{l{{ACn{ceg}}j}}}{OjMdMf}{{AD`{c}}MdMf}{{ADb{c}}MdMf}}{{{d{Af{ACn{ceg}}}}Fj}h{OjMdMf}{{AD`{c}}MdMf}{{ADb{c}}MdMf}}{{{d{AfACj}}ADdc}h{{D`{Ab}}}}{{{d{AfACj}}ADd{Dn{{d{{ADh{ADf}}}}}}AClMn}h}{c{{l{e}}}{}{}}000000{{}{{l{c}}}{}}000000{dFn}000000{{}c{}}000000","D":"ELd","p":[[5,"EvaluationData",0],[1,"reference"],[5,"Diagnostic",1767],[1,"unit"],[5,"Error",1768],[6,"Result",1769],[10,"UISender",0],[6,"SolutionCheckResult",0,1770],[1,"str"],[6,"SanityCheckCategory",0,1771],[0,"mut"],[6,"TaskFormat",0,1772],[5,"EvaluationConfig",0],[6,"TestcaseEvaluationResult",0,1770],[1,"slice"],[1,"bool"],[5,"Solution",0,1770],[5,"SolutionInfo",0,1770],[5,"SolutionCheck",0,1770],[5,"SourceFile",0,1773],[6,"ScoreStatus",0,1774],[6,"TaskInfo",0],[6,"Ordering",1775],[5,"VALID_TAGS",0,1776],[5,"String",1777],[5,"Vec",1778],[5,"DATA_DIR",0],[5,"PathBuf",1779],[10,"Deserializer",1780],[8,"FileUuid",1781],[5,"Execution",1782],[10,"AsRef",1783],[10,"Into",1783],[17,"Item"],[10,"IntoIterator",1784],[5,"Path",1779],[5,"GraderMap",1785],[5,"Arc",1786],[6,"Option",1787],[1,"u32"],[8,"Result",1768],[5,"Formatter",1788],[8,"Result",1788],[5,"IOITask",340],[5,"TerryTask",1151],[1,"f64"],[1,"tuple"],[10,"Hasher",1789],[8,"UIChannelReceiver",1342],[5,"CodeSpan",1790],[6,"WriteBinTo",0],[8,"ExecutionUuid",1782],[6,"UIMessage",1342,1791],[10,"Serializer",1792],[5,"TypeId",1793],[6,"Cow",1794],[6,"UIType",1342],[5,"ExecutionDAGConfig",1795],[10,"UI",1342],[5,"Box",1796],[5,"Booklet",340,1797],[5,"Statement",340,1798],[5,"UIState",340,1799],[5,"BookletConfig",340,1797],[5,"File",1781],[6,"Checker",340,1800],[6,"InputGenerator",340,1801],[6,"InputValidator",340,1802],[6,"OutputGenerator",340,1803],[5,"BatchTypeData",340,1804],[6,"UserIo",340,1805],[5,"CommunicationTypeData",340,1805],[6,"TaskType",340,1806],[6,"TestcaseScoreAggregator",340,1807],[5,"StatementConfig",340,1798],[5,"IOITaskInfo",340,1808],[5,"TaskInfoLimits",340,1808],[5,"TaskInfoAttachment",340,1808],[5,"TaskInfoSubtask",340,1808],[5,"TaskInfoScoring",340,1808],[5,"TaskInfoStatement",340,1808],[6,"TestcaseGenerationStatus",340,1799],[6,"TestcaseEvaluationStatus",340,1799],[5,"TestcaseGenerationState",340,1799],[5,"SubtaskGenerationState",340,1799],[5,"SolutionTestcaseEvaluationState",340,1799],[5,"SolutionSubtaskEvaluationState",340,1799],[5,"SolutionEvaluationState",340,1799],[5,"BookletDependencyState",340,1799],[5,"BookletState",340,1799],[5,"SolutionCheckOutcome",340,1799],[5,"ScoreManager",340],[5,"InputValidatorGenerator",340],[5,"SubtaskInfo",340],[5,"TestcaseInfo",340],[5,"ContestYAML",340,1797],[6,"Error",1809],[10,"Write",1788],[5,"BookletTemplate",340,1797],[8,"SubtaskId",340],[1,"u64"],[5,"UIMessageSender",1342],[5,"Mutex",1810],[17,"Output"],[10,"Fn",1811],[10,"Send",1812],[10,"Sync",1812],[8,"TestcaseId",340],[8,"Result",1809],[10,"Sized",1812],[1,"usize"],[5,"Line",1813],[5,"Span",1814],[5,"Text",1815],[5,"CompactString",1816],[6,"ToCompactStringError",1816],[5,"TerryTaskInfo",1151,1817],[5,"SolutionOutcome",1151],[5,"SolutionValidation",1151],[5,"SolutionValidationCase",1151],[6,"CaseStatus",1151],[5,"SolutionFeedback",1151],[5,"SolutionFeedbackCase",1151],[5,"SolutionAlert",1151],[10,"UIStateT",1342],[6,"CompilationStatus",1342],[6,"UIExecutionStatus",1342],[5,"StdoutPrinter",1342],[5,"JsonUI",1342,1818],[5,"RawUI",1342,1819],[5,"SilentUI",1342,1820],[5,"RED",1342],[5,"ColorSpec",1821],[5,"SOFT_RED",1342],[5,"GREEN",1342],[5,"YELLOW",1342],[5,"ORANGE",1342],[5,"BLUE",1342],[5,"BOLD",1342],[5,"PrintUI",1342,1822],[5,"HashMap",1823],[10,"WriteColor",1342,1821],[5,"StandardStream",1821],[5,"FinishUIUtils",1342],[5,"DiagnosticContext",1767],[6,"ExecutionStatus",1782],[5,"ExecutionResourcesUsage",1782],[5,"Error",1824],[5,"HyperlinkSpec",1821],[5,"GREEN",1689],[5,"Style",1825],[5,"RED",1689],[5,"BLUE",1689],[5,"YELLOW",1689],[5,"ORANGE",1689],[5,"BOLD",1689],[5,"Frame",1826],[1,"char"],[5,"CursesUI",1689],[10,"CursesDrawer",1689],[10,"FinishUI",1342],[5,"Rect",1827],[5,"SystemTime",1828],[5,"ExecutorStatus",1829],[6,"Tag",0],[15,"Done",1626],[15,"Failed",1626],[15,"Done",1632],[15,"Started",1632],[15,"IOIBookletDependency",1634],[15,"Diagnostic",1634],[15,"Compilation",1634],[15,"IOITestcaseScore",1634],[15,"IOIBooklet",1634],[15,"IOISubtaskScore",1634],[15,"IOIEvaluation",1634],[15,"TerrySolutionOutcome",1634],[15,"IOITaskScore",1634],[15,"TerryGeneration",1634],[15,"IOIChecker",1634],[15,"TerryValidation",1634],[15,"TerrySolution",1634],[15,"TerryChecker",1634],[15,"Solutions",1634],[15,"ServerStatus",1634],[15,"IOIGeneration",1634],[15,"IOIValidation",1634],[15,"IOISolution",1634],[15,"IOITask",1634],[15,"TerryTask",1634]],"r":[[24,1771],[25,1774],[26,1770],[27,1770],[28,1770],[29,1770],[31,1773],[33,1776],[35,1772],[39,1770],[43,1776],[44,1776],[45,1776],[170,1830],[203,1771],[342,1807],[344,1804],[345,1797],[346,1797],[347,1799],[348,1799],[349,1797],[350,1800],[353,1805],[354,1797],[359,1807],[363,1807],[367,1808],[368,1801],[369,1802],[375,1803],[380,1807],[384,1799],[385,1799],[386,1799],[387,1799],[392,1798],[393,1798],[397,1799],[401,1802],[402,1808],[403,1808],[404,1808],[405,1808],[406,1808],[407,1806],[408,1799],[409,1799],[410,1799],[413,1807],[415,1799],[416,1805],[425,0],[812,1831],[820,1832],[821,1832],[1147,1833],[1148,1833],[1163,1817],[1347,1689],[1348,1689],[1368,1818],[1373,1822],[1376,1819],[1381,1820],[1398,1791],[1402,1821],[1501,1689],[1537,1689],[1538,1689]],"b":[[194,"impl-From%3CIOITask%3E-for-TaskFormat"],[196,"impl-From%3CTerryTask%3E-for-TaskFormat"]],"c":"OjAAAAEAAAAAAAAAEAAAAHoC","e":"OzAAAAEAAAUEMwAsAAEAPwAfAGQAIgCIAAEAjQALAJsACwCsAAoAvQAAAMMAAADFAAAAywAAAM0AAwDqAAIA9wAGAAcBOwBFAQ8ArgFJAP8BaABxAgQAewIWAJYCCgCjAgAApgIlAEADAABdAwAAaQMVAIIDAACnAyYAzwOEAFcEJACPBBEApgQaAMQECADOBAgA+gQIAAYFLAA2BQgARAUBAH8FLwCwBQ4AwQUIANwFAADeBQAA+QUDAAIGAQAGBgEADQZNAKIGEwC3BgEAyQYAAMwGGwA="}],["task_maker_lang",{"t":"FFFFNONNNNNNNNNNNNNNNONNNNNNOONONNNNNNNNNONNNNNONOONNNONNONNNNNNNNNNNNNNNNNNNNNNNNNO","n":["Dependency","GraderMap","LanguageManager","SourceFile","all_paths","base_path","borrow","","","","borrow_mut","","","","clone","","clone_into","","clone_to_uninit","","copy_exe","","deserialize","","","detect_language","eq","executable","","","execute","file","fmt","","","from","","","","get_compilation_deps","get_runtime_deps","grader_map","into","","","","language","","link_static","","local_path","name","new","","path","prepare","relative_path","sandbox_path","serialize","","","to_owned","","try_from","","","","try_into","","","","type_id","","","","type_script_ify","","","vzip","","","","write_bin_to",""],"q":[[0,"task_maker_lang"],[84,"task_maker_lang::grader_map"],[85,"std::path"],[86,"core::iter::traits::iterator"],[87,"task_maker_lang::source_file"],[88,"core::result"],[89,"serde::de"],[90,"alloc::sync"],[91,"core::option"],[92,"core::convert"],[93,"task_maker_dag::dag"],[94,"task_maker_dag::file"],[95,"task_maker_dag::execution"],[96,"anyhow"],[97,"alloc::string"],[98,"alloc::vec"],[99,"core::fmt"],[100,"serde::ser"],[101,"core::any"],[102,"alloc::borrow"]],"i":"````bnD`21A`13202020202232010220203201320332132022220232222032020132013201320320132022","f":"````{{{d{b}}}{{`{{j{}{{f{{d{h}}}}}}}}}}`{d{{d{c}}}{}}000{{{d{l}}}{{d{lc}}}{}}000{{{d{n}}}n}{{{d{A`}}}A`}{{d{d{lc}}}Ab{}}0{dAb}0{{{d{ln}}}Ab}`{c{{Ad{b}}}Af}{c{{Ad{n}}}Af}{c{{Ad{A`}}}Af}{c{{Aj{{Ah{`}}}}}{{Al{h}}}}{{{d{A`}}{d{A`}}}An}{{{d{n}}{d{lB`}}}{{Ad{{Bf{Bb{Aj{Bd}}}}Bh}}}}``{{{d{n}}{d{lB`}}c{Bl{Bj}}}{{Ad{{Bf{{Aj{Bd}}Bn}}Bh}}}{{Al{C`}}}}`{{{d{b}}{d{lCb}}}Cd}{{{d{n}}{d{lCb}}}Cd}{{{d{A`}}{d{lCb}}}Cd}{cc{}}000{{{d{b}}{d{`}}}{{Aj{A`}}}}{{{d{b}}{d{`}}}{{Bl{A`}}}}`{{}c{}}000{{{d{n}}}{{d{`}}}}`?``{{{d{n}}}Bj}{{{Bl{c}}}b{{Ch{Cf}}}}{{ce{Aj{{Ah{b}}}}{Aj{g}}}{{Aj{n}}}{{Ch{Cf}}}{{Ch{Cf}}}{{Ch{Cf}}}}`{{{d{n}}{d{lB`}}}{{Ad{{Aj{Bd}}Bh}}}}{{{d{n}}}{{d{h}}}}`{{{d{b}}c}AdCj}{{{d{n}}c}AdCj}{{{d{A`}}c}AdCj}{dc{}}0{c{{Ad{e}}}{}{}}000{{}{{Ad{c}}}{}}000{dCl}000{{}{{Cn{C`}}}}00>>>>{{{d{n}}}{{Aj{Cf}}}}`","D":"E`","p":[[5,"GraderMap",0,84],[1,"reference"],[17,"Item"],[5,"Path",85],[10,"Iterator",86],[0,"mut"],[5,"SourceFile",0,87],[5,"Dependency",0],[1,"unit"],[6,"Result",88],[10,"Deserializer",89],[5,"Arc",90],[6,"Option",91],[10,"AsRef",92],[1,"bool"],[5,"ExecutionDAG",93],[8,"FileUuid",94],[8,"ExecutionUuid",95],[1,"tuple"],[5,"Error",96],[5,"String",97],[5,"Vec",98],[5,"Execution",95],[1,"str"],[5,"Formatter",99],[8,"Result",99],[5,"PathBuf",85],[10,"Into",92],[10,"Serializer",100],[5,"TypeId",101],[6,"Cow",102],[5,"LanguageManager",0]],"r":[[1,84],[3,87]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAACwABQAHAA0AFwACABsAAAAhAAIAOwAXAA=="}],["task_maker_rust",{"t":"CCCCCCCCFFFNNNNNNONOOONOONNNNNNOONOONONOOONNNNNNOONNNOOONNNHKMMMPPGNNNNHHNNNNFFFFFFFFFNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONONNOOOOOOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOONOOONOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNONNNNNNNNNHFNNNNNNNNNHNNNNNNCCCCCCCCCCCCCCFNNNNNNNNNOOONNNNNONHOONNNNONNNFNNONNNNNNNOONNNNNNHOOONNNNONNNFNNNNNNONNNNNNHNNNNNNFNNNNNNNNNOHONNNNNNONNNNONNNFNNONNNNNNNOONNNNONNHOONNNNNNNFNNNNONNNNNOOONNNNONNOHOOOOONNNNNNNFNNNNNNNNNNNNHONNNNNNPPPPPPPPFPPPPGPPNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNFNNNNNNNNNNNNNNNHONNNNNNNFNNNNNNNNONNNNNONNHOOOOOONNNNONNNOFNNNNOONNNNNNNNNNNHONNNNNNNOOFNNNNNNNNNONNNNNNOHNNNNNNNHFNNNNNNNNNNNNNNNHOOONNNNNNNO","n":["context","copy_dag","error","local","opt","remote","sandbox","tools","ConnectedExecutor","ConnectedExecutorWithUI","RuntimeContext","borrow","","","borrow_mut","","","client_sender","connect_executor","eval","","","execute","file_store","","from","","","into","","","local_executor","","new","rx","","sandbox_runner","","start_ui","task","","","try_from","","","try_into","","","tx","","type_id","","","ui_receiver","","ui_thread","vzip","","","render_dag","NiceError","nice_expect","nice_expect_with","nice_unwrap","Clean","Done","Evaluation","borrow","borrow_mut","from","into","main_local","run_evaluation","try_from","try_into","type_id","vzip","BookletOpt","ExecutionOpt","FilterOpt","FindTaskOpt","LoggerOpt","Opt","StorageOpt","TerryOpt","UIOpt","augment_args","","","","","","","","","augment_args_for_update","","","","","","","","","booklet","booklet_solutions","borrow","","","","","","","","","borrow_mut","","","","","","","","","clean","clone","","","","","","","","clone_into","","","","","","","","clone_to_uninit","","","","","","","","command","","","","","","","","","command_for_update","","","","","","","","","copy_dag","copy_exe","copy_logs","disable_if_needed","dry_run","enable_log","","evaluate_on","exclusive","execution","extra_memory","extra_time","filter","","find_task","","fmt","","","","","","","","","from","","","","","","","","","from_arg_matches","","","","","","","","","from_arg_matches_mut","","","","","","","","","group_id","","","","","","","","","into","","","","","","","","","keep_sandboxes","logger","max_cache","max_depth","min_cache","name","no_cache","no_statement","num_cores","priority","seed","should_diable_curses","skip_sanity_checks","solution","storage","store_dir","","task_dir","terry","to_config","to_owned","","","","","","","","try_from","","","","","","","","","try_into","","","","","","","","","type_id","","","","","","","","","ui","","update_from_arg_matches","","","","","","","","","update_from_arg_matches_mut","","","","","","","","","verbose","vzip","","","","","","","","","connect_to_remote_server","ToolsSandboxRunner","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","fmt","from","into","main_sandbox","run","to_owned","try_from","try_into","type_id","vzip","add_solution_checks","booklet","clear","copy_competition_files","find_bad_case","fuzz_checker","gen_autocompletion","opt","reset","sandbox","server","task_info","typescriptify","worker","AddSolutionChecksOpt","augment_args","augment_args_for_update","borrow","borrow_mut","clone","clone_into","clone_to_uninit","command","command_for_update","execution","filter","find_task","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","in_place","into","main_add_solution_checks","overwrite","storage","to_owned","try_from","try_into","type_id","ui","update_from_arg_matches","update_from_arg_matches_mut","vzip","BookletOpt","augment_args","augment_args_for_update","booklet_solutions","borrow","borrow_mut","clone","clone_into","clone_to_uninit","command","command_for_update","contest_dir","execution","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","into","main_booklet","max_depth","storage","task_dir","to_owned","try_from","try_into","type_id","ui","update_from_arg_matches","update_from_arg_matches_mut","vzip","ClearOpt","augment_args","augment_args_for_update","borrow","borrow_mut","command","command_for_update","find_task","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","into","main_clear","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","CopyCompetitionFilesOpt","augment_args","augment_args_for_update","borrow","borrow_mut","clone","clone_into","clone_to_uninit","command","command_for_update","contest_dir","copy_competition_files_main","execution","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","into","storage","to_owned","try_from","try_into","type_id","ui","update_from_arg_matches","update_from_arg_matches_mut","vzip","FindBadCaseOpt","augment_args","augment_args_for_update","batch_size","borrow","borrow_mut","clone","clone_into","clone_to_uninit","command","command_for_update","execution","find_task","fmt","from","from_arg_matches","from_arg_matches_mut","generator_args","group_id","into","main_find_bad_case","solution","storage","to_owned","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","FuzzCheckerOpt","augment_args","augment_args_for_update","borrow","borrow_mut","checker_timeout","clone","clone_into","clone_to_uninit","command","command_for_update","execution","extra_args","find_task","fmt","from","from_arg_matches","from_arg_matches_mut","fuzz_dir","group_id","into","jobs","main_fuzz_checker","max_time","no_build","quiet","sanitizers","storage","to_owned","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","GenAutocompletionOpt","augment_args","augment_args_for_update","borrow","borrow_mut","command","command_for_update","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","into","main_get_autocompletion","target","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","AddSolutionChecks","Booklet","Clear","CopyCompetitionFiles","FindBadCase","FuzzChecker","GenAutocompletion","InternalSandbox","Opt","Reset","Sandbox","Server","TaskInfo","Tool","Typescriptify","Worker","augment_args","augment_args_for_update","augment_subcommands","augment_subcommands_for_update","borrow","","borrow_mut","","command","","command_for_update","","fmt","","from","","from_arg_matches","","from_arg_matches_mut","","group_id","has_subcommand","into","","logger","tool","try_from","","try_into","","type_id","","update_from_arg_matches","","update_from_arg_matches_mut","","vzip","","ResetOpt","augment_args","augment_args_for_update","borrow","borrow_mut","clone","clone_into","clone_to_uninit","command","command_for_update","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","into","main_reset","storage","to_owned","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","SandboxOpt","augment_args","augment_args_for_update","borrow","borrow_mut","clone","clone_into","clone_to_uninit","command","","command_for_update","fmt","from","from_arg_matches","from_arg_matches_mut","gid","group_id","into","main_sandbox","memory_limit","mount_proc","mount_tmpfs","readable_dirs","single_process","stack_limit","to_owned","try_from","try_into","type_id","uid","update_from_arg_matches","update_from_arg_matches_mut","vzip","workdir","ServerOpt","augment_args","augment_args_for_update","borrow","borrow_mut","client_addr","client_password","clone","clone_into","clone_to_uninit","command","command_for_update","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","into","main_server","storage","to_owned","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","worker_addr","worker_password","TaskInfoOpt","augment_args","augment_args_for_update","borrow","borrow_mut","clone","clone_into","clone_to_uninit","command","command_for_update","find_task","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","into","json","main_task_info","to_owned","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","main_typescriptify","WorkerOpt","augment_args","augment_args_for_update","borrow","borrow_mut","clone","clone_into","clone_to_uninit","command","command_for_update","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","into","main_worker","name","server_addr","storage","to_owned","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","worker_id"],"q":[[0,"task_maker_rust"],[8,"task_maker_rust::context"],[59,"task_maker_rust::copy_dag"],[60,"task_maker_rust::error"],[64,"task_maker_rust::local"],[77,"task_maker_rust::opt"],[322,"task_maker_rust::remote"],[323,"task_maker_rust::sandbox"],[340,"task_maker_rust::tools"],[354,"task_maker_rust::tools::add_solution_checks"],[385,"task_maker_rust::tools::booklet"],[416,"task_maker_rust::tools::clear"],[437,"task_maker_rust::tools::copy_competition_files"],[465,"task_maker_rust::tools::find_bad_case"],[495,"task_maker_rust::tools::fuzz_checker"],[530,"task_maker_rust::tools::gen_autocompletion"],[551,"task_maker_rust::tools::opt"],[605,"task_maker_rust::tools::reset"],[630,"task_maker_rust::tools::sandbox"],[664,"task_maker_rust::tools::server"],[693,"task_maker_rust::tools::task_info"],[719,"task_maker_rust::tools::typescriptify"],[720,"task_maker_rust::tools::worker"],[748,"anyhow"],[749,"core::result"],[750,"task_maker_format::task_format"],[751,"task_maker_format"],[752,"core::ops::function"],[753,"task_maker_format::ui"],[754,"task_maker_format::ui::ui_message"],[755,"core::marker"],[756,"core::any"],[757,"task_maker_dag::dag"],[758,"alloc::string"],[759,"core::fmt"],[760,"clap_builder::builder::command"],[761,"clap_builder::parser::matches::arg_matches"],[762,"clap_builder"],[763,"clap_builder::util::id"],[764,"core::option"],[765,"std::path"],[766,"ductile"],[767,"core::convert"],[768,"tabox::configuration"],[769,"core::sync::atomic"],[770,"alloc::sync"],[771,"task_maker_exec::sandbox"]],"i":"```````````flAb210022100102102101021022121021021010210210210``C`00Ch0`0000``0000`````````CfClCnD`hjDbDdDf87654321080876543210876543210876543210765432107654321087654321087654321044454874884482688765432108765432108765432108765432108765432108765432104836344044178283368876543210876543210876543210876543210858765432108765432107876543210``An00000000`000000```````````````Fn000000000000000000`0000000000`G`00000000000000000`00000000000`Gb000000000000`000000`Gd000000000`0000000000000000`Gf000000000000000000`000000000`Gh00000000000000000000`000000000000`Gj00000000000`0000000Gn0000000`0000`00Gl0110101010101010101010100010101010101`H`00000000000000`00000000`Hb0000000000000000`000000000000000`Hd0000000000000000`0000000000`Hf0000000000000000`0000000``Hh00000000000000`00000000000","f":"```````````{b{{b{c}}}{}}00{{{b{d}}}{{b{dc}}}{}}00`{{f{b{h}}{b{j}}}{{A`{ln}}}}```{Ab{{A`{Adn}}}}``{cc{}}00{{}c{}}00``{{Af{b{h}}c}{{A`{fn}}}{{Al{{b{dAf}}{b{dAh}}}{{Aj{{A`{Adn}}}}}}}}``{{{b{df}}An}Ad}`{{l{b{B`}}c}{{A`{Abn}}}{{Bf{{b{dBb}}Bd}}Bh}}```{c{{A`{e}}}{}{}}00{{}{{A`{c}}}{}}00``{bBj}00```666{{{b{Bl}}}Bn}`{{C`c}e{CbBhCd}{}}{{C`e}g{CbBhCd}{{Al{}{{Aj{c}}}}}{}}{C`c{}}```?>;:{CfAd}{{Cfc}{{A`{Chn}}}{{Bf{{b{dBb}}Bd}}Bh}}876<`````````{CjCj}00000000000000000``{b{{b{c}}}{}}00000000{{{b{d}}}{{b{dc}}}{}}00000000`{{{b{Cl}}}Cl}{{{b{Cn}}}Cn}{{{b{D`}}}D`}{{{b{h}}}h}{{{b{j}}}j}{{{b{Db}}}Db}{{{b{Dd}}}Dd}{{{b{Df}}}Df}{{b{b{dc}}}Ad{}}0000000{bAd}0000000{{}Cj}00000000000000000```{{{b{dD`}}{b{Cl}}}Ad}`{{{b{dCf}}}Ad}{{{b{Cl}}}Ad}```````{{{b{Cn}}{b{Dh}}}{{A`{Afn}}}}`{{{b{Cf}}{b{dDj}}}Dl}{{{b{Cl}}{b{dDj}}}Dl}{{{b{Cn}}{b{dDj}}}Dl}{{{b{D`}}{b{dDj}}}Dl}{{{b{h}}{b{dDj}}}Dl}{{{b{j}}{b{dDj}}}Dl}{{{b{Db}}{b{dDj}}}Dl}{{{b{Dd}}{b{dDj}}}Dl}{{{b{Df}}{b{dDj}}}Dl}{cc{}}00000000{{{b{Dn}}}{{A`{CfE`}}}}{{{b{Dn}}}{{A`{ClE`}}}}{{{b{Dn}}}{{A`{CnE`}}}}{{{b{Dn}}}{{A`{D`E`}}}}{{{b{Dn}}}{{A`{hE`}}}}{{{b{Dn}}}{{A`{jE`}}}}{{{b{Dn}}}{{A`{DbE`}}}}{{{b{Dn}}}{{A`{DdE`}}}}{{{b{Dn}}}{{A`{DfE`}}}}{{{b{dDn}}}{{A`{CfE`}}}}{{{b{dDn}}}{{A`{ClE`}}}}{{{b{dDn}}}{{A`{CnE`}}}}{{{b{dDn}}}{{A`{D`E`}}}}{{{b{dDn}}}{{A`{hE`}}}}{{{b{dDn}}}{{A`{jE`}}}}{{{b{dDn}}}{{A`{DbE`}}}}{{{b{dDn}}}{{A`{DdE`}}}}{{{b{dDn}}}{{A`{DfE`}}}}{{}{{Ed{Eb}}}}00000000{{}c{}}00000000```````````{{{b{Cl}}}Ef}```{{{b{j}}}Eh}```{{{b{Cf}}}Dh}{bc{}}0000000{c{{A`{e}}}{}{}}00000000{{}{{A`{c}}}{}}00000000{bBj}00000000``{{{b{dCf}}{b{Dn}}}{{A`{AdE`}}}}{{{b{dCl}}{b{Dn}}}{{A`{AdE`}}}}{{{b{dCn}}{b{Dn}}}{{A`{AdE`}}}}{{{b{dD`}}{b{Dn}}}{{A`{AdE`}}}}{{{b{dh}}{b{Dn}}}{{A`{AdE`}}}}{{{b{dj}}{b{Dn}}}{{A`{AdE`}}}}{{{b{dDb}}{b{Dn}}}{{A`{AdE`}}}}{{{b{dDd}}{b{Dn}}}{{A`{AdE`}}}}{{{b{dDf}}{b{Dn}}}{{A`{AdE`}}}}{{{b{dCf}}{b{dDn}}}{{A`{AdE`}}}}{{{b{dCl}}{b{dDn}}}{{A`{AdE`}}}}{{{b{dCn}}{b{dDn}}}{{A`{AdE`}}}}{{{b{dD`}}{b{dDn}}}{{A`{AdE`}}}}{{{b{dh}}{b{dDn}}}{{A`{AdE`}}}}{{{b{dj}}{b{dDn}}}{{A`{AdE`}}}}{{{b{dDb}}{b{dDn}}}{{A`{AdE`}}}}{{{b{dDd}}{b{dDn}}}{{A`{AdE`}}}}{{{b{dDf}}{b{dDn}}}{{A`{AdE`}}}}`{{}c{}}00000000{{cEj}{{A`{{F`{{El{e}}{En{g}}}}n}}}{{Fd{Fb}}}{}{}}`{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{An}}}An}{{b{b{dc}}}Ad{}}{bAd}{{}An}{{{b{An}}{b{dDj}}}Dl}{cc{}}9{{}Ad}{{{b{An}}Ff{Fj{Fh}}}Fl}{bc{}}{c{{A`{e}}}{}{}}{{}{{A`{c}}}{}}{bBj}?```````````````{CjCj}0>={{{b{Fn}}}Fn}<;{{}Cj}0```{{{b{Fn}}{b{dDj}}}Dl}:{{{b{Dn}}}{{A`{FnE`}}}}{{{b{dDn}}}{{A`{FnE`}}}}{{}{{Ed{Eb}}}}`{{}c{}}{{FnCl}{{A`{Adn}}}}``<;:9`{{{b{dFn}}{b{Dn}}}{{A`{AdE`}}}}{{{b{dFn}}{b{dDn}}}{{A`{AdE`}}}}3`::`{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{G`}}}G`}{{b{b{dc}}}Ad{}}{bAd}==``{{{b{G`}}{b{dDj}}}Dl}{cc{}}{{{b{Dn}}}{{A`{G`E`}}}}{{{b{dDn}}}{{A`{G`E`}}}}=<{{G`Cl}{{A`{Adn}}}}```{bc{}}{c{{A`{e}}}{}{}}{{}{{A`{c}}}{}}{bBj}`{{{b{dG`}}{b{Dn}}}{{A`{AdE`}}}}{{{b{dG`}}{b{dDn}}}{{A`{AdE`}}}}{{}c{}}`{CjCj}0{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{}Cj}0`{{{b{Gb}}{b{dDj}}}Dl}?{{{b{Dn}}}{{A`{GbE`}}}}{{{b{dDn}}}{{A`{GbE`}}}}{{}{{Ed{Eb}}}}8{Gb{{A`{Adn}}}}>=<{{{b{dGb}}{b{Dn}}}{{A`{AdE`}}}}{{{b{dGb}}{b{dDn}}}{{A`{AdE`}}}};`::98{{{b{Gd}}}Gd}{{b{b{dc}}}Ad{}}{bAd}::`{{GdCl}{{A`{Adn}}}}`{{{b{Gd}}{b{dDj}}}Dl}{cc{}}{{{b{Dn}}}{{A`{GdE`}}}}{{{b{dDn}}}{{A`{GdE`}}}};{{}c{}}`{bc{}}{c{{A`{e}}}{}{}}{{}{{A`{c}}}{}}{bBj}`{{{b{dGd}}{b{Dn}}}{{A`{AdE`}}}}{{{b{dGd}}{b{dDn}}}{{A`{AdE`}}}}6`{CjCj}0`{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{Gf}}}Gf}{{b{b{dc}}}Ad{}}{bAd}{{}Cj}0``{{{b{Gf}}{b{dDj}}}Dl}{cc{}}{{{b{Dn}}}{{A`{GfE`}}}}{{{b{dDn}}}{{A`{GfE`}}}}`{{}{{Ed{Eb}}}}{{}c{}}{Gf{{A`{Adn}}}}``{bc{}}{c{{A`{e}}}{}{}}{{}{{A`{c}}}{}}{bBj}{{{b{dGf}}{b{Dn}}}{{A`{AdE`}}}}{{{b{dGf}}{b{dDn}}}{{A`{AdE`}}}}7`{CjCj}0{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}`{{{b{Gh}}}Gh}{{b{b{dc}}}Ad{}}{bAd}{{}Cj}0```{{{b{Gh}}{b{dDj}}}Dl}{cc{}}{{{b{Dn}}}{{A`{GhE`}}}}{{{b{dDn}}}{{A`{GhE`}}}}`{{}{{Ed{Eb}}}}{{}c{}}`{Gh{{A`{Adn}}}}`````{bc{}}{c{{A`{e}}}{}{}}{{}{{A`{c}}}{}}{bBj}{{{b{dGh}}{b{Dn}}}{{A`{AdE`}}}}{{{b{dGh}}{b{dDn}}}{{A`{AdE`}}}}7`{CjCj}0{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{}Cj}0{{{b{Gj}}{b{dDj}}}Dl}{cc{}}{{{b{Dn}}}{{A`{GjE`}}}}{{{b{dDn}}}{{A`{GjE`}}}}{{}{{Ed{Eb}}}}{{}c{}}{Gj{{A`{Adn}}}}`?>={{{b{dGj}}{b{Dn}}}{{A`{AdE`}}}}{{{b{dGj}}{b{dDn}}}{{A`{AdE`}}}}3````````````````<<<<;;::9999{{{b{Gl}}{b{dDj}}}Dl}{{{b{Gn}}{b{dDj}}}Dl}99{{{b{Dn}}}{{A`{GlE`}}}}{{{b{Dn}}}{{A`{GnE`}}}}{{{b{dDn}}}{{A`{GlE`}}}}{{{b{dDn}}}{{A`{GnE`}}}}:{{{b{Fb}}}Ef}::``{c{{A`{e}}}{}{}}0{{}{{A`{c}}}{}}0{bBj}0{{{b{dGl}}{b{Dn}}}{{A`{AdE`}}}}{{{b{dGn}}{b{Dn}}}{{A`{AdE`}}}}{{{b{dGl}}{b{dDn}}}{{A`{AdE`}}}}{{{b{dGn}}{b{dDn}}}{{A`{AdE`}}}}{{}c{}}0`{CjCj}0{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{H`}}}H`}{{b{b{dc}}}Ad{}}{bAd}{{}Cj}0{{{b{H`}}{b{dDj}}}Dl}{cc{}}{{{b{Dn}}}{{A`{H`E`}}}}{{{b{dDn}}}{{A`{H`E`}}}}{{}{{Ed{Eb}}}}<{H`{{A`{Adn}}}}`{bc{}}{c{{A`{e}}}{}{}}{{}{{A`{c}}}{}}{bBj}{{{b{dH`}}{b{Dn}}}{{A`{AdE`}}}}{{{b{dH`}}{b{dDn}}}{{A`{AdE`}}}}{{}c{}}`{CjCj}0{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{Hb}}}Hb}{{b{b{dc}}}Ad{}}{bAd}{{}Cj}`0{{{b{Hb}}{b{dDj}}}Dl}{cc{}}{{{b{Dn}}}{{A`{HbE`}}}}{{{b{dDn}}}{{A`{HbE`}}}}`{{}{{Ed{Eb}}}}<{Hb{{A`{Adn}}}}``````{bc{}}{c{{A`{e}}}{}{}}{{}{{A`{c}}}{}}{bBj}`{{{b{dHb}}{b{Dn}}}{{A`{AdE`}}}}{{{b{dHb}}{b{dDn}}}{{A`{AdE`}}}}{{}c{}}``{CjCj}0{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}``{{{b{Hd}}}Hd}{{b{b{dc}}}Ad{}}{bAd}{{}Cj}0{{{b{Hd}}{b{dDj}}}Dl}{cc{}}{{{b{Dn}}}{{A`{HdE`}}}}{{{b{dDn}}}{{A`{HdE`}}}}{{}{{Ed{Eb}}}}<{Hd{{A`{Adn}}}}`{bc{}}{c{{A`{e}}}{}{}}{{}{{A`{c}}}{}}{bBj}{{{b{dHd}}{b{Dn}}}{{A`{AdE`}}}}{{{b{dHd}}{b{dDn}}}{{A`{AdE`}}}}{{}c{}}```{CjCj}0{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{Hf}}}Hf}{{b{b{dc}}}Ad{}}{bAd}{{}Cj}0`{{{b{Hf}}{b{dDj}}}Dl}{cc{}}{{{b{Dn}}}{{A`{HfE`}}}}{{{b{dDn}}}{{A`{HfE`}}}}{{}{{Ed{Eb}}}}<`{Hf{{A`{Adn}}}}{bc{}}{c{{A`{e}}}{}{}}{{}{{A`{c}}}{}}{bBj}{{{b{dHf}}{b{Dn}}}{{A`{AdE`}}}}{{{b{dHf}}{b{dDn}}}{{A`{AdE`}}}}{{}c{}}{{}{{A`{Adn}}}}`{CjCj}0{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{Hh}}}Hh}{{b{b{dc}}}Ad{}}{bAd}{{}Cj}0{{{b{Hh}}{b{dDj}}}Dl}{cc{}}{{{b{Dn}}}{{A`{HhE`}}}}{{{b{dDn}}}{{A`{HhE`}}}}{{}{{Ed{Eb}}}}={Hh{{A`{Adn}}}}```{bc{}}{c{{A`{e}}}{}{}}{{}{{A`{c}}}{}}{bBj}{{{b{dHh}}{b{Dn}}}{{A`{AdE`}}}}{{{b{dHh}}{b{dDn}}}{{A`{AdE`}}}}{{}c{}}`","D":"ADn","p":[[1,"reference"],[0,"mut"],[5,"RuntimeContext",8],[5,"ExecutionOpt",77],[5,"StorageOpt",77],[5,"ConnectedExecutor",8],[5,"Error",748],[6,"Result",749],[5,"ConnectedExecutorWithUI",8],[1,"unit"],[6,"TaskFormat",750],[5,"EvaluationData",751],[17,"Output"],[10,"FnOnce",752],[5,"ToolsSandboxRunner",323],[6,"UIType",753],[10,"UI",753],[6,"UIMessage",754],[10,"FnMut",752],[10,"Send",755],[5,"TypeId",756],[5,"ExecutionDAG",757],[5,"String",758],[10,"NiceError",60],[10,"Display",759],[10,"Sync",755],[5,"Opt",77],[6,"Evaluation",64],[5,"Command",760],[5,"LoggerOpt",77],[5,"FindTaskOpt",77],[5,"UIOpt",77],[5,"FilterOpt",77],[5,"TerryOpt",77],[5,"BookletOpt",77],[5,"EvaluationConfig",751],[5,"Formatter",759],[8,"Result",759],[5,"ArgMatches",761],[8,"Error",762],[5,"Id",763],[6,"Option",764],[1,"bool"],[5,"PathBuf",765],[1,"u16"],[5,"ChannelSender",766],[5,"ChannelReceiver",766],[1,"tuple"],[1,"str"],[10,"AsRef",767],[5,"SandboxConfiguration",768],[5,"AtomicU32",769],[5,"Arc",770],[6,"RawSandboxResult",771],[5,"AddSolutionChecksOpt",354],[5,"BookletOpt",385],[5,"ClearOpt",416],[5,"CopyCompetitionFilesOpt",437],[5,"FindBadCaseOpt",465],[5,"FuzzCheckerOpt",495],[5,"GenAutocompletionOpt",530],[5,"Opt",551],[6,"Tool",551],[5,"ResetOpt",605],[5,"SandboxOpt",630],[5,"ServerOpt",664],[5,"TaskInfoOpt",693],[5,"WorkerOpt",720]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAEUCTgACAAYADAAGABQAAgAYAAEAIAABACMAAQAmAAAAKAATAEQAAQBKAB8AawARAH4AKQCtAAAAsQAAALQAAAC3AAkAygAaAO8AAAD5AAAA/AAAAAABAAACASMAJwERADoBCABFAQYATwELAFwBFAByAQIAdwEAAHkBCwCGAQYAjgEBAJEBAgCVAQAAlwEAAJkBEACrAQIArwEQAMEBAgDFAQIAyQELANYBCQDhAQEA5AEAAOYBAADoAQwA9gEFAP0BAQAAAgEAAwIAAAYCAAALAg8AHAICACACAAAiAgUAMAIAADUCAAA4Ag0ASAIFAFACAABSAhYAagICAG8CEACBAgEAhAIBAIcCAACJAgAAkAIDAJUCAgCZAgQAoAIFAKcCAgCsAgcAtgILAMMCAgDIAhMA3QICAOQCBwA="}],["task_maker_store",{"t":"FFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["FileStore","FileStoreHandle","FileStoreKey","ReadFileIterator","borrow","","","","borrow_mut","","","","clone","","clone_into","","clone_to_uninit","","cmp","deserialize","drop","","eq","","fmt","","","","","from","","","","from_content","from_file","get","hash","into","","","","into_iter","key","new","","next","partial_cmp","path","serialize","store","to_owned","","to_string","","try_from","","","","try_into","","","","type_id","","",""],"q":[[0,"task_maker_store"],[66,"core::cmp"],[67,"core::result"],[68,"serde::de"],[69,"core::fmt"],[70,"anyhow"],[71,"std::path"],[72,"core::convert"],[73,"core::option"],[74,"core::hash"],[75,"task_maker_store::read_file_iterator"],[76,"serde::ser"],[77,"alloc::vec"],[78,"core::iter::traits::collect"],[79,"alloc::string"],[80,"core::any"]],"i":"````BjAbfh3210101010112010211003210112132103032310121010321032103210","f":"````{b{{b{c}}}{}}000{{{b{d}}}{{b{dc}}}{}}000{{{b{f}}}f}{{{b{h}}}h}{{b{b{dc}}}j{}}0{bj}0{{{b{f}}{b{f}}}l}{c{{n{f}}}A`}{{{b{dAb}}}j}{{{b{dh}}}j}{{{b{f}}{b{f}}}Ad}{{{b{h}}{b{h}}}Ad}{{{b{Ab}}{b{dAf}}}Ah}{{{b{f}}{b{dAf}}}{{n{jAj}}}}{{{b{f}}{b{dAf}}}Ah}{{{b{h}}{b{dAf}}}Ah}0{cc{}}000{{{b{{An{Al}}}}}f}{c{{n{fB`}}}{{Bd{Bb}}}}{{{b{Ab}}{b{f}}}{{Bf{h}}}}{{{b{f}}{b{dc}}}jBh}{{}c{}}0000{{{b{h}}}{{b{f}}}}{c{{n{BjB`}}}{{Bd{Bb}}}}{{cBlBl}{{n{AbB`}}}{{C`{Bn}}}}{{{b{dBj}}}{{Bf{c}}}{}}{{{b{f}}{b{f}}}{{Bf{l}}}}{{{b{h}}}{{b{Bb}}}}{{{b{f}}c}nCb}{{{b{Ab}}{b{f}}c}{{n{hB`}}}{{Ch{}{{Cd{{Cf{Al}}}}}}}}{bc{}}0{bCj}0{c{{n{e}}}{}{}}000{{}{{n{c}}}{}}000{bCl}000","D":"Bj","p":[[1,"reference"],[0,"mut"],[5,"FileStoreKey",0],[5,"FileStoreHandle",0],[1,"unit"],[6,"Ordering",66],[6,"Result",67],[10,"Deserializer",68],[5,"FileStore",0],[1,"bool"],[5,"Formatter",69],[8,"Result",69],[5,"Error",69],[1,"u8"],[1,"slice"],[5,"Error",70],[5,"Path",71],[10,"AsRef",72],[6,"Option",73],[10,"Hasher",74],[5,"ReadFileIterator",0,75],[1,"u64"],[5,"PathBuf",71],[10,"Into",72],[10,"Serializer",76],[17,"Item"],[5,"Vec",77],[10,"IntoIterator",78],[5,"String",79],[5,"TypeId",80]],"r":[[3,75]],"b":[[25,"impl-Debug-for-FileStoreKey"],[26,"impl-Display-for-FileStoreKey"],[27,"impl-Debug-for-FileStoreHandle"],[28,"impl-Display-for-FileStoreHandle"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAC0ABgAFABgAJQAAACoAAAAuAAEAMQAAADMADwA="}],["task_maker_tools",{"t":"H","n":["main"],"q":[[0,"task_maker_tools"]],"i":"`","f":"{{}b}","D":"`","p":[[1,"unit"]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAEAAAAAAAEAEAAAAAAAAQA="}]]')); if (typeof exports !== 'undefined') exports.searchIndex = searchIndex; else if (window.initSearch) window.initSearch(searchIndex); -//{"start":39,"fragment_lengths":[169,1340,10412,2809,9027,32439,2735,18769,2352,186]} \ No newline at end of file +//{"start":39,"fragment_lengths":[169,1340,10412,2809,9027,32476,2735,18769,2352,186]} \ No newline at end of file diff --git a/search.desc/task_maker_format/task_maker_format-desc-0-.js b/search.desc/task_maker_format/task_maker_format-desc-0-.js index d743b2dd..fa66f05c 100644 --- a/search.desc/task_maker_format/task_maker_format-desc-0-.js +++ b/search.desc/task_maker_format/task_maker_format-desc-0-.js @@ -1 +1 @@ -searchState.loadedDescShard("task_maker_format", 0, "Task parsing and execution using computation DAGs.\nThe solution scored 100% of the testcase.\nThe solution should get “Accepted” on all the …\nThe testcase scored the maximum amount of points.\nThe sanity check verifies the attachments.\nCompilation of the booklet.\nThe sanity check verifies the checker.\nChecking of a solution.\nDirectory where the data files are stored. It is taken …\nEvaluation of a solution.\nConfiguration of the evaluation of a task.\nThe data for an evaluation, including the DAG and the UI …\nGeneration of a testcase.\nThe task is IOI-like.\nThe task is IOI-like.\nThe sanity check verifies the input/output files.\nThe solution exceeded the memory limit.\nThe solution should get “Memory Limit Exceeded” on at …\nDo not write the binary anywhere.\nThe solution is partially correct.\nThe solution should get “Partial Score” on at least …\nThe testcase scored more than zero, but not the maximum.\nWrite the binary to this path, relative to the base path.\nThe solution crashed.\nThe solution should get “Runtime Error” on at least …\nCategory of a sanity check.\nThe status of a testcase that got scored.\nA solution to evaluate. This includes the source file and …\nA check to perform on a solution, against a subtask.\nThe expected result of a solution in a set of subtasks.\nSome information about a solution.\nThe sanity check verifies the solutions.\nWrapper around task_maker_lang::SourceFile that also sends …\nThe sanity check verifies the statement files.\nTags of the various executions inside a IOI task.\nThe sanity check verifies general properties of the task.\nThe format of the task. A task format, providing a UI and …\nInformation about a parsed task, returned with the …\nThe task is Terry-like.\nThe task is Terry-like.\nResult of the evaluation of a solution on a testcase.\nThe solution timed out.\nThe solution should get “Time Limit Exceeded” on at …\nWhat can send UIMessages.\nThe list of all the ExecutionTags used for the evaluation.\nThe solution exceeded the wall time limit.\nThe solution should get “Wallclock Time Limit Exceeded”…\nWrite the binary to a file in the same place as the source …\nInformation about where to write the binary of the …\nThe output is wrong.\nThe solution should get “Wrong Answer” on at least one …\nThe testcase scored zero points.\nThe solution should get “WrongAnswer”, “…\nAdd a diagnostic message to the UI.\nSend a diagnostic message to the UI.\nGet a compact representation of this result.\nString version of this category.\nGet the string representation of this SolutionCheckResult, …\nBind the start/done/skip callbacks of an execution to a ui …\nBind the input/output of an execution to the input and …\nInclude the solutions in the booklet.\nAdd the executions required for evaluating this task to …\nCheck if this result is valid with respect to the actual …\nThe set of checks to perform on the solution.\nThe list of checks specified inside the source file.\nClean the task folder removing the files that can be …\nSpan of this check.\nWrite to $self.stream, in the color specified as second …\nWrite to $self.stream, in the color specified as second …\nThe DAG with the evaluation data.\nList of disabled sanity check names.\nDo not write any file inside the task directory.\nPrepare the source file if needed and return the …\nPrepare an execution of the source file, eventually adding …\nTry to extract the list of SolutionCheck from a file.\nSearch all the solutions matching the provided pattern in …\nSearch for a valid task directory, starting from base and …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nSelect the correct status based on the score of a …\nReturn a list of all the sanity check.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nThe IOI task format.\nThe name of the language of this solution.\nReturn the set of matching minimal results.\nThe name of this solution.\nCrate a new EvaluationData returning the data and the …\nCreate a new Solution for a given source file.\nCreate a new SolutionCheck with the given result, that …\nMake a new SourceFile. See task_maker_lang::SourceFile for …\nDo not build the statement files and the booklets.\nMake a WriteBinTo::Path.\nGet the root directory of the task.\nThe path on disk of this solution.\nPrepare an execution of the source file, eventually adding …\nWhat this category is about.\nThe expected result of the solution.\nHook called after the execution completed, useful for …\nForce this seed in terry evaluations.\nSend that UIMessage to the UI.\nThe sender of the UI.\nExecute only the solutions whose names start with the …\nExecute only the solution with the specified paths, that …\nThe list of solutions to evaluate.\nList all SolutionCheckResult sorted by …\nA reference to the source file of this solution.\nThe pattern that should match the name of the subtask to …\nGet the task information.\nRoot directory of the task.\nThe Terry task format.\nThe UI functionality for the task formats.\nGet an appropriate UI for this task.\nThe solution scored 100% of the testcase.\nSkip the validation and assume the input file is valid.\nBase priority for booklets compilation.\nThe solution is a single file that will be executed once …\nThe internal data of a task of type Batch.\nA Booklet is a pdf file containing the statements of some …\nConfiguration of a Booklet, including the setting from the …\nThe status of the compilation of a dependency of a booklet.\nThe status of the compilation of a booklet.\nTemplate to use to render the booklet.tex file.\nWhich tool to use to compute the score on a testcase given …\nChecker is running.\nThe solution is executed in parallel with a manager and …\nThe internal data of a task of type Batch.\nPart of the schema of contest.yaml, used for extracting …\nUse a custom checker based on an executable that can …\nUse a custom command to generate the input file. The file …\nUse a custom command to check if the input file is valid. …\nUse a custom command to generate the output file. The task …\nBase priority for the evaluation executions.\nThe generation of the testcase has failed.\nSomething went wrong.\nCommunication is achieved by using the pipes passed in …\nBase priority for the generation executions.\nThe input file has been generated.\nThe input file is generating.\nInformation about a generic IOI task.\nTask information structure.\nThe source of the input files. It can either be a …\nAn input file validator is responsible for checking that …\nA simple struct that generates input validators for a …\nThe solution exceeded the memory limit.\nTake the minimum of all the testcases, formally:\nNot an actual task.\nThe output generator is not available.\nThe source of the output files. It can either be a …\nThe solution is partially correct.\nThe generation has not started yet.\nThe solution has not started yet.\nThe solution crashed.\nMaximum number of bytes of the captured standard error.\nThis struct will manage the scores of a solution in a task …\nThe generation has been skipped.\nThe evaluation has been skipped.\nThe outcome of the execution of a check on a subtask.\nState of the evaluation of a solution.\nState of the evaluation of a subtask.\nState of the evaluation of a testcase.\nThe output file has been generated.\nThe solution exited successfully, waiting for the checker.\nThe output file is generating.\nThe solution is running.\nA statement is a .tex file with all the other assets …\nThe configuration of a Statement.\nUse the static file as input. The file will be copied …\nUse the static file as output. The file will be copied …\nCommunication is achieved by using stdin/stdout.\nState of the generation of a subtask.\nIn IOI tasks the subtask numbers are non-negative 0-based …\nA subtask of a IOI task.\nSum the score of all the testcases, formally:\nThe file name of the input file that the InputValidator …\nAttachment of the task.\nLimits of the task.\nScoring for the task.\nStatement of the task.\nInfo of the subtasks.\nThe type of the task. This changes the behavior of the …\nStatus of the evaluation of a solution on a testcase.\nState of the generation of a testcases.\nStatus of the generation of a testcase input and output.\nIn IOI tasks the testcase numbers are non-negative 0-based …\nA testcase of a IOI task.\nThe aggregator of testcase scores for computing the …\nThe solution timed out.\nThe state of a IOI task, all the information for the UI …\nThe type of communication for the solution in a …\nThe input file has been validated.\nThe input file is being validated.\nThe solution exceeded the wall time limit.\nUse a built-in white diff checker that scores 1.0 if the …\nThe output is wrong.\nAdd a Statement to this booklet.\nApply a UIMessage to this state.\nAttachments of the task.\nBind the input/output of an execution to the input and …\nSome(relative_path) for a front page for the booklet.\nThe status of the booklets\nThe booklets to compile for this task.\nBuild the booklet, eventually coping the final PDF to the …\nAdd the executions required for evaluating this task to …\nBuild all the dependencies of this statement, returning a …\nThe check that originated this outcome.\nThe checker to use for this task.\nThe result of the checker.\nClean the task folder removing the files that can be …\nThe status of the compilations.\nReturn a ref to the configuration of the statement.\nConfiguration of the booklet.\nThe configuration of this evaluation.\nMIME type of this attachment.\nContent type of the statement, as MIME type.\nFind and parse the contest.yaml in the provided contest …\nThe date of the contest.\nThe date of the contest.\nThe state of all the dependencies\nThe list of the dependencies of this subtask.\nThe description of the contest.\nThe description of the contest.\nTextual description of the subtask. (deprecated)\nWhere to copy the booklet.\nDiagnostic context.\nThe difficulty of the task.\nAn integer that defines the difficulty of the task. Used …\nThe status of the evaluations of the solutions.\nThe status of the executor.\nCreate a “fake” IOITask that will not contain any data.\nThe font encoding of the tex file.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nBuild the BookletConfig from a contest.\nMake a new StatementConfig from an instance of a …\nObtain a validator for the given subtask.\nResult of the generation.\nThe state of the generation of the testcases.\nThe graders registered for this task.\nWhether the testcase evaluation has completed, either …\nThe id of the subtask.\nThe id of the testcase.\nThe input file of the task, empty for stdin.\nThe input file for the solutions, usually Some("input.txt")…\nThe input encoding of the tex file.\nThe generated input file UUID. This is set only after the …\nThe generator of the input file for this testcase.\nThe validator for the input files of this subtask.\nThe generator of validators for the various subtasks.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nThe path to the intro page.\nChecks whether the resources used by a solution on a …\nWhether this subtask was created automatically since no …\nWhether the testcase evaluation has completed with a …\nWhether the testcase evaluation has completed successfully.\nCheck if in the provided path there could be a IOI-like …\nThe italian_yaml format is defined by cms and it’s the …\nThe language to use for this booklet, e.g. "english".\nLanguage of the statement.\nLimits of the task.\nThe location of the contest.\nThe location of the contest.\nThe logo of the contest.\nThe logo of the contest.\nFind all the Booklet it makes sense to build for all the …\nFind all the Booklet it makes sense to build for a single …\nThe source file of the manager that communicates with the …\nMaximum score for this subtask.\nMaximum score for the task.\nThe maximum score of this task.\nThe maximum score of the subtask, must be >= 0.\nMemory limit in megabytes.\nThe memory limit of the task.\nThe memory limit in MiB of the execution of the solution, …\nA message representing this status.\nThe name of the task.\nShort name of the task.\nName of this attachment.\nThe name of the task (the short one).\nThe name of the subtask.\nMake a new Booklet using the specified configuration.\nMake a new Statement from a .tex file and its …\nGenerate the task information from the provided Task.\nMake a new, empty, SolutionEvaluationState.\nMake a new UIState.\nMake a new ScoreManager based on the subtasks and …\nBuild a generator based on a generating function.\nTry to make a Task from the specified path. Will return Err…\nMake a new instance of TestcaseInfo.\nScore of the subtask, normalized from 0.0 to 1.0.\nNumber of solution processes to spawn in parallel in a …\nThe generated official output file UUID. This is set only …\nThe output file of the task, empty for stdout.\nThe output file for the solutions, usually …\nThe default output generator for this task, if any.\nThe generator of the output file for this testcase.\nReturn a list of all the \\usepackage used by the statement.\nGet the root directory of the task.\nThe path of the .tex file.\nPath of this attachment relative to task directory.\nPath of the task, relative to the task directory.\nPath of the directory of the task.\nGet the path relative to the task’s root.\nThe result of the solution.\nEvaluate the checks of all the solutions.\nHook called after the execution completed, useful for …\nSanity checks for IOI-like tasks.\nThe sanity checks attached to this task. Wrapped in Arc …\nStore the score of the testcase and eventually compute the …\nThe score on that testcase\nScore of the subtask.\nScore of the solution.\nThe number of decimal digits when displaying the scores.\nScoring info.\nWhether to show the solutions in the booklet.\nWhether to show the summary of the task.\nSome("True") if the time and memory limits should be put …\nResult of the solution.\nThe path of the solution.\nThe set of solutions that will be evaluated.\nThe span of the definition of this subtask.\nThe list of Statements that are included in this booklet.\nStatements of the task.\nStatus of the generation.\nThe status of the execution.\nThe status of the execution.\nThe status of the execution.\nThe id of the subtask this outcome refers to.\nSubtasks of this task.\nThe state of the evaluation of the subtasks.\nThe list of the subtasks.\nWhether the check was successful or not.\nThe level of the syllabus of the task.\nAn integer that defines the level inside a syllabus (for …\nThe task.\nGet the task information.\nThe type of the task.\nThe list of the tasks in the contest (in the correct …\nThe aggregator to use to compute the score of the subtask …\nNumber of testcases for this subtask.\nState of the testcases of this subtask.\nThe state of the evaluation of the testcases.\nThe list of the testcases.\nThe testcases inside this subtask.\nThe original testcases inside this subtask.\nReturn the tex source file of the statement, patched with …\nTime limit in seconds.\nThe time limit of the task.\nThe time limit for the execution of the solutions, if None …\nThe title of the task.\nTitle of the task.\nThe title of the task (the long one).\nThe checker may return a message to be translated. This …\nGet an appropriate UI for this task.\nThe type of communication for the solution in a …\nResult of the validation.\nThe set of valid Unicode General Categories for the …\nGiven the path to the task directory, try to parse the …\nReturn the list of sanity checks excluding the ones with …\nMake a new SanityChecks for a IOI task skipping the checks …\nThe possible statuses of the validation of a test case.\nThe testcase is present but its format is invalid.\nThe testcase is not present in the output file.\nThe testcase is present and correctly parsed.\nThe type of the seed of a generator for an input file.\nA message with an associated severity.\nThe feedback part of the outcome.\nThe feedback of a test case.\nThe output of the checker for a solution.\nThe validation part of the outcome of a solution.\nThe validation outcome of a test case.\nInformation about a generic Terry task.\nTask information structure.\nThe alerts sent by the checker regarding the validation.\nThe alerts sent by the checker regarding the feedback.\nAdd the executions required for evaluating this task to …\nThe validation of the test cases, in the same order as the …\nThe feedback of each testcase, in the same order as the …\nThe checker of input/output files of this task.\nClean the task folder removing the files that can be …\nWhether this testcase is correct.\nThe title of the task (the long one).\nThe title of the task (the long one).\nThe feedback outcome of the solution.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nThe generator of input files of this task.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCheck if in the provided path there could be a Terry-like …\nThe maximum score for this task.\nThe maximum score for this task.\nAn optional message associated to the test case.\nAn optional message associated to the test case.\nThe content of the alert.\nThe name of the task (the short one).\nThe name of the task (the short one).\nGenerate the task information from the provided Task.\nTry to make a Task from the specified path. Will return Err…\nThe official solution of this task, if any. Will be …\nGet the root directory of the task.\nPath of the directory of the task.\nHook called after the execution completed, useful for …\nThe sanity checks attached to this task. Wrapped in Arc …\nThe score normalized from 0.0 to 1.0.\nThe severity of the alert message.\nThe status of the testcase.\nGet the task information.\nGet an appropriate UI for this task.\nThe validation outcome of the solution.\nThe validator of input files of this task.\nThe BLUE color to use with cwrite! and cwriteln!\nThe bold style to use with cwrite! and cwriteln!\nAn update on the compilation status.\nThe status of the compilation of a file.\nThe CursesUI.\nA diagnostic message has been emitted.\nThe Execution has been completed.\nThe compilation has completed.\nThe compilation has failed.\nUI that prints to stdout the ending result of the …\nCollection of utilities for drawing the finish UI.\nThe GREEN color to use with cwrite! and cwriteln!\nThe compilation of a booklet.\nThe compilation of a dependency of a booklet. It can be …\nThe checking of a solution in a IOI task.\nThe evaluation of a solution in a IOI task.\nThe generation of a testcase in a IOI task.\nThe solution of a testcase in a IOI task.\nThe score of a subtask is ready.\nThe information about the task which is being run.\nThe score of a task is ready.\nThe score of a testcase is ready.\nThe validation of a testcase in a IOI task.\nThe JsonUI.\nThis UI will print to stdout the UI messages as json.\nThe ORANGE color to use with cwrite! and cwriteln!.\nThe Execution is known to the DAG and when all its …\nThe compilation is known but it has not started yet.\nThe PrintUI.\nA simple UI that will print to stdout the human readable …\nThe RED color to use with cwrite! and cwriteln!\nThe RawUI.\nThis UI will print to stdout all the raw information it …\nThe compilation is running on a worker.\nThe RED color to use with cwrite! and cwriteln!, without …\nAn update on the status of the executor.\nThe SilentUI.\nThis UI will never print anything.\nAt least one of its dependencies have failed, the Execution…\nThe compilation has been skipped.\nThe list of solutions that will be evaluated.\nThe Execution has been started on a worker.\nA simple printer that outputs to stdout. This can be used …\nA message asking the UI to exit.\nThe checking of a solution in a Terry task.\nThe generation of a testcase in a Terry task.\nThe solution of a testcase in a Terry task.\nThe outcome of a solution in a Terry task.\nThe information about the task which is being run.\nThe validation of a testcase in a Terry task.\nThe trait that describes the UI functionalities.\nChannel type for receiving UIMessages.\nChannel type for sending UIMessages.\nThe status of an execution.\nA message sent to the UI.\nThe sender of the UIMessage\nThe state of a task, all the information for the UI are …\nThe type of the UI to use, it enumerates all the known UI …\nThis trait describes the behavior of writers that support …\nThe YELLOW color to use with cwrite! and cwriteln!\nApply a UIMessage to this state.\nApply to this CompilationStatus a new UIExecutionStatus.\nUtilities for writing UIs with Curses.\nPrint the final results using a finish UI.\nMake the UI print the ending results.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nFind the maximum length of the solutions name from the …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nReturns true if and only if the underlying writer must …\nMake a new PrintUI.\nMake a new FinishUIUtils borrowing a StandardStream.\nMake a new JsonUI.\nMake a new RawUI.\nMake a new SilentUI.\nMake a new pair of UIMessageSender and ChannelReceiver.\nProcess a new UI message.\nPrint the final state of the UI.\nPrint all the compilation statuses.\nPrint the diagnostics.\nPrint a message for the non-successful variants of the …\nPrint the time and memory usage of an execution.\nReset the current color settings to their original …\nSend a message to the channel.\nSet the color settings of the writer.\nSet the current hyperlink of the writer.\nThe actual stream.\nReturns true if and only if the underlying writer supports …\nReturns true if and only if the underlying writer supports …\nThe result of the compilation.\nThe result of the compilation.\nThe standard error of the compilation.\nThe standard error of the compilation.\nThe standard output of the compilation.\nThe standard output of the compilation.\nThe result of the execution.\nThe UUID of the worker.\nThe name of the booklet.\nThe diagnostic message.\nThe compilation of this file.\nThe message associated with the score.\nThe name of the booklet.\nThe name of the dependency.\nThe normalized score, a value between 0 and 1\nThe number of the parts the evaluation of this solution is …\nThe number of steps of the compilation of this dependency.\nThe outcome of the solution. Err is caused by an invalid …\nThe index of the piece of evaluation of this solution.\nThe score of the testcase.\nThe score of the subtask.\nThe score of the task.\nThe seed used to generate the input file.\nThe path of the solution.\nThe path of the solution.\nThe path of the solution.\nThe path of the solution.\nThe path of the solution.\nThe path of the solution.\nThe path of the solution.\nThe path of the solution.\nThe path of the solution.\nThe path of the solution.\nThe information of the solutions to evaluate.\nThe status of the executor.\nThe status of the compilation.\nThe status of the generation.\nThe status of the validation.\nThe status of the solution.\nThe status of the solution.\nThe status of the solution. Note that a failure of this …\nThe status of the compilation.\nThe status of this step.\nThe status of the generation.\nThe status of the validation.\nThe status of the solution.\nThe status of the checker.\nThe index (0-based) of the step of this compilation.\nThe id of the subtask.\nThe id of the subtask.\nThe id of the subtask.\nThe id of the subtask.\nThe id of the subtask.\nThe id of the subtask.\nThe id of the subtask.\nThe task information.\nThe task information.\nThe id of the testcase.\nThe id of the testcase.\nThe id of the testcase.\nThe id of the testcase.\nThe id of the testcase.\nThe id of the testcase.\nBlue color.\nBold.\nA drawer for the frames of the UI.\nA generic animated UI for tasks, dynamically refreshing …\nGreen color.\nOrange color.\nRed color.\nYellow color.\nDraw a frame of the UI using the provided state, onto the …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet the rect of the inner rect of a block with the borders.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nMake a new generic CursesUI.\nRender a block with the specified title.\nDraw the server status block.") \ No newline at end of file +searchState.loadedDescShard("task_maker_format", 0, "Task parsing and execution using computation DAGs.\nThe solution scored 100% of the testcase.\nThe solution should get “Accepted” on all the …\nThe testcase scored the maximum amount of points.\nThe sanity check verifies the attachments.\nCompilation of the booklet.\nThe sanity check verifies the checker.\nChecking of a solution.\nDirectory where the data files are stored. It is taken …\nEvaluation of a solution.\nConfiguration of the evaluation of a task.\nThe data for an evaluation, including the DAG and the UI …\nGeneration of a testcase.\nThe task is IOI-like.\nThe task is IOI-like.\nThe sanity check verifies the input/output files.\nThe solution exceeded the memory limit.\nThe solution should get “Memory Limit Exceeded” on at …\nDo not write the binary anywhere.\nThe solution is partially correct.\nThe solution should get “Partial Score” on at least …\nThe testcase scored more than zero, but not the maximum.\nWrite the binary to this path, relative to the base path.\nThe solution crashed.\nThe solution should get “Runtime Error” on at least …\nCategory of a sanity check.\nThe status of a testcase that got scored.\nA solution to evaluate. This includes the source file and …\nA check to perform on a solution, against a subtask.\nThe expected result of a solution in a set of subtasks.\nSome information about a solution.\nThe sanity check verifies the solutions.\nWrapper around task_maker_lang::SourceFile that also sends …\nThe sanity check verifies the statement files.\nTags of the various executions inside a IOI task.\nThe sanity check verifies general properties of the task.\nThe format of the task. A task format, providing a UI and …\nInformation about a parsed task, returned with the …\nThe task is Terry-like.\nThe task is Terry-like.\nResult of the evaluation of a solution on a testcase.\nThe solution timed out.\nThe solution should get “Time Limit Exceeded” on at …\nWhat can send UIMessages.\nThe list of all the ExecutionTags used for the evaluation.\nThe solution exceeded the wall time limit.\nThe solution should get “Wallclock Time Limit Exceeded”…\nWrite the binary to a file in the same place as the source …\nInformation about where to write the binary of the …\nThe output is wrong.\nThe solution should get “Wrong Answer” on at least one …\nThe testcase scored zero points.\nThe solution should get “WrongAnswer”, “…\nAdd a diagnostic message to the UI.\nSend a diagnostic message to the UI.\nGet a compact representation of this result.\nString version of this category.\nGet the string representation of this SolutionCheckResult, …\nBind the start/done/skip callbacks of an execution to a ui …\nBind the input/output of an execution to the input and …\nInclude the solutions in the booklet.\nAdd the executions required for evaluating this task to …\nCheck if this result is valid with respect to the actual …\nThe set of checks to perform on the solution.\nThe list of checks specified inside the source file.\nClean the task folder removing the files that can be …\nSpan of this check.\nWrite to $self.stream, in the color specified as second …\nWrite to $self.stream, in the color specified as second …\nThe DAG with the evaluation data.\nList of disabled sanity check names.\nDo not write any file inside the task directory.\nPrepare the source file if needed and return the …\nPrepare an execution of the source file, eventually adding …\nTry to extract the list of SolutionCheck from a file.\nSearch all the solutions matching the provided pattern in …\nSearch for a valid task directory, starting from base and …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nSelect the correct status based on the score of a …\nReturn a list of all the sanity check.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nThe IOI task format.\nThe name of the language of this solution.\nReturn the set of matching minimal results.\nThe name of this solution.\nCrate a new EvaluationData returning the data and the …\nCreate a new Solution for a given source file.\nCreate a new SolutionCheck with the given result, that …\nMake a new SourceFile. See task_maker_lang::SourceFile for …\nDo not build the statement files and the booklets.\nMake a WriteBinTo::Path.\nGet the root directory of the task.\nThe path on disk of this solution.\nPrepare an execution of the source file, eventually adding …\nWhat this category is about.\nThe expected result of the solution.\nHook called after the execution completed, useful for …\nForce this seed in terry evaluations.\nSend that UIMessage to the UI.\nThe sender of the UI.\nExecute only the solutions whose names start with the …\nExecute only the solution with the specified paths, that …\nThe list of solutions to evaluate.\nList all SolutionCheckResult sorted by …\nA reference to the source file of this solution.\nThe pattern that should match the name of the subtask to …\nGet the task information.\nRoot directory of the task.\nThe Terry task format.\nThe UI functionality for the task formats.\nGet an appropriate UI for this task.\nThe solution scored 100% of the testcase.\nSkip the validation and assume the input file is valid.\nBase priority for booklets compilation.\nThe solution is a single file that will be executed once …\nThe internal data of a task of type Batch.\nA Booklet is a pdf file containing the statements of some …\nConfiguration of a Booklet, including the setting from the …\nThe status of the compilation of a dependency of a booklet.\nThe status of the compilation of a booklet.\nTemplate to use to render the booklet.tex file.\nWhich tool to use to compute the score on a testcase given …\nChecker is running.\nThe solution is executed in parallel with a manager and …\nThe internal data of a task of type Batch.\nPart of the schema of contest.yaml, used for extracting …\nUse a custom checker based on an executable that can …\nUse a custom command to generate the input file. The file …\nUse a custom command to check if the input file is valid. …\nUse a custom command to generate the output file. The task …\nBase priority for the evaluation executions.\nThe generation of the testcase has failed.\nSomething went wrong.\nCommunication is achieved by using the pipes passed in …\nBase priority for the generation executions.\nThe input file has been generated.\nThe input file is generating.\nInformation about a generic IOI task.\nTask information structure.\nThe source of the input files. It can either be a …\nAn input file validator is responsible for checking that …\nA simple struct that generates input validators for a …\nThe solution exceeded the memory limit.\nTake the minimum of all the testcases, formally:\nNot an actual task.\nThe output generator is not available.\nThe source of the output files. It can either be a …\nThe solution is partially correct.\nThe generation has not started yet.\nThe solution has not started yet.\nThe solution crashed.\nMaximum number of bytes of the captured standard error.\nThis struct will manage the scores of a solution in a task …\nThe generation has been skipped.\nThe evaluation has been skipped.\nThe outcome of the execution of a check on a subtask.\nState of the evaluation of a solution.\nState of the evaluation of a subtask.\nState of the evaluation of a testcase.\nThe output file has been generated.\nThe solution exited successfully, waiting for the checker.\nThe output file is generating.\nThe solution is running.\nA statement is a .tex file with all the other assets …\nThe configuration of a Statement.\nUse the static file as input. The file will be copied …\nUse the static file as output. The file will be copied …\nCommunication is achieved by using stdin/stdout.\nState of the generation of a subtask.\nIn IOI tasks the subtask numbers are non-negative 0-based …\nA subtask of a IOI task.\nSum the score of all the testcases, formally:\nThe file name of the input file that the InputValidator …\nAttachment of the task.\nLimits of the task.\nScoring for the task.\nStatement of the task.\nInfo of the subtasks.\nThe type of the task. This changes the behavior of the …\nStatus of the evaluation of a solution on a testcase.\nState of the generation of a testcases.\nStatus of the generation of a testcase input and output.\nIn IOI tasks the testcase numbers are non-negative 0-based …\nA testcase of a IOI task.\nThe aggregator of testcase scores for computing the …\nThe solution timed out.\nThe state of a IOI task, all the information for the UI …\nThe type of communication for the solution in a …\nThe input file has been validated.\nThe input file is being validated.\nThe solution exceeded the wall time limit.\nUse a built-in white diff checker that scores 1.0 if the …\nThe output is wrong.\nAdd a Statement to this booklet.\nApply a UIMessage to this state.\nAttachments of the task.\nBind the input/output of an execution to the input and …\nSome(relative_path) for a front page for the booklet.\nThe status of the booklets\nThe booklets to compile for this task.\nBuild the booklet, eventually coping the final PDF to the …\nAdd the executions required for evaluating this task to …\nBuild all the dependencies of this statement, returning a …\nThe check that originated this outcome.\nThe checker to use for this task.\nThe result of the checker.\nClean the task folder removing the files that can be …\nThe status of the compilations.\nReturn a ref to the configuration of the statement.\nConfiguration of the booklet.\nThe configuration of this evaluation.\nMIME type of this attachment.\nContent type of the statement, as MIME type.\nFind and parse the contest.yaml in the provided contest …\nThe date of the contest.\nThe date of the contest.\nThe state of all the dependencies\nThe list of the dependencies of this subtask.\nThe description of the contest.\nThe description of the contest.\nTextual description of the subtask. (deprecated)\nWhere to copy the booklet.\nDiagnostic context.\nThe difficulty of the task.\nAn integer that defines the difficulty of the task. Used …\nThe status of the evaluations of the solutions.\nThe status of the executor.\nCreate a “fake” IOITask that will not contain any data.\nUsed for deserialization. Returns UserIo::FifoIo.\nThe font encoding of the tex file.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nBuild the BookletConfig from a contest.\nMake a new StatementConfig from an instance of a …\nObtain a validator for the given subtask.\nResult of the generation.\nThe state of the generation of the testcases.\nThe graders registered for this task.\nWhether the testcase evaluation has completed, either …\nThe id of the subtask.\nThe id of the testcase.\nThe input file of the task, empty for stdin.\nThe input file for the solutions, usually Some("input.txt")…\nThe input encoding of the tex file.\nThe generated input file UUID. This is set only after the …\nThe generator of the input file for this testcase.\nThe validator for the input files of this subtask.\nThe generator of validators for the various subtasks.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nThe path to the intro page.\nChecks whether the resources used by a solution on a …\nWhether this subtask was created automatically since no …\nWhether the testcase evaluation has completed with a …\nWhether the testcase evaluation has completed successfully.\nCheck if in the provided path there could be a IOI-like …\nThe italian_yaml format is defined by cms and it’s the …\nThe language to use for this booklet, e.g. "english".\nLanguage of the statement.\nLimits of the task.\nThe location of the contest.\nThe location of the contest.\nThe logo of the contest.\nThe logo of the contest.\nFind all the Booklet it makes sense to build for all the …\nFind all the Booklet it makes sense to build for a single …\nThe source file of the manager that communicates with the …\nMaximum score for this subtask.\nMaximum score for the task.\nThe maximum score of this task.\nThe maximum score of the subtask, must be >= 0.\nMemory limit in megabytes.\nThe memory limit of the task.\nThe memory limit in MiB of the execution of the solution, …\nA message representing this status.\nThe name of the task.\nShort name of the task.\nName of this attachment.\nThe name of the task (the short one).\nThe name of the subtask.\nMake a new Booklet using the specified configuration.\nMake a new Statement from a .tex file and its …\nGenerate the task information from the provided Task.\nMake a new, empty, SolutionEvaluationState.\nMake a new UIState.\nMake a new ScoreManager based on the subtasks and …\nBuild a generator based on a generating function.\nTry to make a Task from the specified path. Will return Err…\nMake a new instance of TestcaseInfo.\nScore of the subtask, normalized from 0.0 to 1.0.\nNumber of solution processes to spawn in parallel in a …\nThe generated official output file UUID. This is set only …\nThe output file of the task, empty for stdout.\nThe output file for the solutions, usually …\nThe default output generator for this task, if any.\nThe generator of the output file for this testcase.\nReturn a list of all the \\usepackage used by the statement.\nGet the root directory of the task.\nThe path of the .tex file.\nPath of this attachment relative to task directory.\nPath of the task, relative to the task directory.\nPath of the directory of the task.\nGet the path relative to the task’s root.\nThe result of the solution.\nEvaluate the checks of all the solutions.\nHook called after the execution completed, useful for …\nSanity checks for IOI-like tasks.\nThe sanity checks attached to this task. Wrapped in Arc …\nStore the score of the testcase and eventually compute the …\nThe score on that testcase\nScore of the subtask.\nScore of the solution.\nThe number of decimal digits when displaying the scores.\nScoring info.\nWhether to show the solutions in the booklet.\nWhether to show the summary of the task.\nSome("True") if the time and memory limits should be put …\nResult of the solution.\nThe path of the solution.\nThe set of solutions that will be evaluated.\nThe span of the definition of this subtask.\nThe list of Statements that are included in this booklet.\nStatements of the task.\nStatus of the generation.\nThe status of the execution.\nThe status of the execution.\nThe status of the execution.\nUsed for deserialization. Returns UserIo::StdIo.\nThe id of the subtask this outcome refers to.\nSubtasks of this task.\nThe state of the evaluation of the subtasks.\nThe list of the subtasks.\nWhether the check was successful or not.\nThe level of the syllabus of the task.\nAn integer that defines the level inside a syllabus (for …\nThe task.\nGet the task information.\nThe type of the task.\nThe list of the tasks in the contest (in the correct …\nThe aggregator to use to compute the score of the subtask …\nNumber of testcases for this subtask.\nState of the testcases of this subtask.\nThe state of the evaluation of the testcases.\nThe list of the testcases.\nThe testcases inside this subtask.\nThe original testcases inside this subtask.\nReturn the tex source file of the statement, patched with …\nTime limit in seconds.\nThe time limit of the task.\nThe time limit for the execution of the solutions, if None …\nThe title of the task.\nTitle of the task.\nThe title of the task (the long one).\nThe checker may return a message to be translated. This …\nGet an appropriate UI for this task.\nThe type of communication for the solution in a …\nResult of the validation.\nThe set of valid Unicode General Categories for the …\nGiven the path to the task directory, try to parse the …\nReturn the list of sanity checks excluding the ones with …\nMake a new SanityChecks for a IOI task skipping the checks …\nThe possible statuses of the validation of a test case.\nThe testcase is present but its format is invalid.\nThe testcase is not present in the output file.\nThe testcase is present and correctly parsed.\nThe type of the seed of a generator for an input file.\nA message with an associated severity.\nThe feedback part of the outcome.\nThe feedback of a test case.\nThe output of the checker for a solution.\nThe validation part of the outcome of a solution.\nThe validation outcome of a test case.\nInformation about a generic Terry task.\nTask information structure.\nThe alerts sent by the checker regarding the validation.\nThe alerts sent by the checker regarding the feedback.\nAdd the executions required for evaluating this task to …\nThe validation of the test cases, in the same order as the …\nThe feedback of each testcase, in the same order as the …\nThe checker of input/output files of this task.\nClean the task folder removing the files that can be …\nWhether this testcase is correct.\nThe title of the task (the long one).\nThe title of the task (the long one).\nThe feedback outcome of the solution.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nThe generator of input files of this task.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCheck if in the provided path there could be a Terry-like …\nThe maximum score for this task.\nThe maximum score for this task.\nAn optional message associated to the test case.\nAn optional message associated to the test case.\nThe content of the alert.\nThe name of the task (the short one).\nThe name of the task (the short one).\nGenerate the task information from the provided Task.\nTry to make a Task from the specified path. Will return Err…\nThe official solution of this task, if any. Will be …\nGet the root directory of the task.\nPath of the directory of the task.\nHook called after the execution completed, useful for …\nThe sanity checks attached to this task. Wrapped in Arc …\nThe score normalized from 0.0 to 1.0.\nThe severity of the alert message.\nThe status of the testcase.\nGet the task information.\nGet an appropriate UI for this task.\nThe validation outcome of the solution.\nThe validator of input files of this task.\nThe BLUE color to use with cwrite! and cwriteln!\nThe bold style to use with cwrite! and cwriteln!\nAn update on the compilation status.\nThe status of the compilation of a file.\nThe CursesUI.\nA diagnostic message has been emitted.\nThe Execution has been completed.\nThe compilation has completed.\nThe compilation has failed.\nUI that prints to stdout the ending result of the …\nCollection of utilities for drawing the finish UI.\nThe GREEN color to use with cwrite! and cwriteln!\nThe compilation of a booklet.\nThe compilation of a dependency of a booklet. It can be …\nThe checking of a solution in a IOI task.\nThe evaluation of a solution in a IOI task.\nThe generation of a testcase in a IOI task.\nThe solution of a testcase in a IOI task.\nThe score of a subtask is ready.\nThe information about the task which is being run.\nThe score of a task is ready.\nThe score of a testcase is ready.\nThe validation of a testcase in a IOI task.\nThe JsonUI.\nThis UI will print to stdout the UI messages as json.\nThe ORANGE color to use with cwrite! and cwriteln!.\nThe Execution is known to the DAG and when all its …\nThe compilation is known but it has not started yet.\nThe PrintUI.\nA simple UI that will print to stdout the human readable …\nThe RED color to use with cwrite! and cwriteln!\nThe RawUI.\nThis UI will print to stdout all the raw information it …\nThe compilation is running on a worker.\nThe RED color to use with cwrite! and cwriteln!, without …\nAn update on the status of the executor.\nThe SilentUI.\nThis UI will never print anything.\nAt least one of its dependencies have failed, the Execution…\nThe compilation has been skipped.\nThe list of solutions that will be evaluated.\nThe Execution has been started on a worker.\nA simple printer that outputs to stdout. This can be used …\nA message asking the UI to exit.\nThe checking of a solution in a Terry task.\nThe generation of a testcase in a Terry task.\nThe solution of a testcase in a Terry task.\nThe outcome of a solution in a Terry task.\nThe information about the task which is being run.\nThe validation of a testcase in a Terry task.\nThe trait that describes the UI functionalities.\nChannel type for receiving UIMessages.\nChannel type for sending UIMessages.\nThe status of an execution.\nA message sent to the UI.\nThe sender of the UIMessage\nThe state of a task, all the information for the UI are …\nThe type of the UI to use, it enumerates all the known UI …\nThis trait describes the behavior of writers that support …\nThe YELLOW color to use with cwrite! and cwriteln!\nApply a UIMessage to this state.\nApply to this CompilationStatus a new UIExecutionStatus.\nUtilities for writing UIs with Curses.\nPrint the final results using a finish UI.\nMake the UI print the ending results.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nFind the maximum length of the solutions name from the …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nReturns true if and only if the underlying writer must …\nMake a new PrintUI.\nMake a new FinishUIUtils borrowing a StandardStream.\nMake a new JsonUI.\nMake a new RawUI.\nMake a new SilentUI.\nMake a new pair of UIMessageSender and ChannelReceiver.\nProcess a new UI message.\nPrint the final state of the UI.\nPrint all the compilation statuses.\nPrint the diagnostics.\nPrint a message for the non-successful variants of the …\nPrint the time and memory usage of an execution.\nReset the current color settings to their original …\nSend a message to the channel.\nSet the color settings of the writer.\nSet the current hyperlink of the writer.\nThe actual stream.\nReturns true if and only if the underlying writer supports …\nReturns true if and only if the underlying writer supports …\nThe result of the compilation.\nThe result of the compilation.\nThe standard error of the compilation.\nThe standard error of the compilation.\nThe standard output of the compilation.\nThe standard output of the compilation.\nThe result of the execution.\nThe UUID of the worker.\nThe name of the booklet.\nThe diagnostic message.\nThe compilation of this file.\nThe message associated with the score.\nThe name of the booklet.\nThe name of the dependency.\nThe normalized score, a value between 0 and 1\nThe number of the parts the evaluation of this solution is …\nThe number of steps of the compilation of this dependency.\nThe outcome of the solution. Err is caused by an invalid …\nThe index of the piece of evaluation of this solution.\nThe score of the testcase.\nThe score of the subtask.\nThe score of the task.\nThe seed used to generate the input file.\nThe path of the solution.\nThe path of the solution.\nThe path of the solution.\nThe path of the solution.\nThe path of the solution.\nThe path of the solution.\nThe path of the solution.\nThe path of the solution.\nThe path of the solution.\nThe path of the solution.\nThe information of the solutions to evaluate.\nThe status of the executor.\nThe status of the compilation.\nThe status of the generation.\nThe status of the validation.\nThe status of the solution.\nThe status of the solution.\nThe status of the solution. Note that a failure of this …\nThe status of the compilation.\nThe status of this step.\nThe status of the generation.\nThe status of the validation.\nThe status of the solution.\nThe status of the checker.\nThe index (0-based) of the step of this compilation.\nThe id of the subtask.\nThe id of the subtask.\nThe id of the subtask.\nThe id of the subtask.\nThe id of the subtask.\nThe id of the subtask.\nThe id of the subtask.\nThe task information.\nThe task information.\nThe id of the testcase.\nThe id of the testcase.\nThe id of the testcase.\nThe id of the testcase.\nThe id of the testcase.\nThe id of the testcase.\nBlue color.\nBold.\nA drawer for the frames of the UI.\nA generic animated UI for tasks, dynamically refreshing …\nGreen color.\nOrange color.\nRed color.\nYellow color.\nDraw a frame of the UI using the provided state, onto the …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet the rect of the inner rect of a block with the borders.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nMake a new generic CursesUI.\nRender a block with the specified title.\nDraw the server status block.") \ No newline at end of file diff --git a/src/task_maker_format/ioi/dag/task_type/communication.rs.html b/src/task_maker_format/ioi/dag/task_type/communication.rs.html index 415a42ee..0560db62 100644 --- a/src/task_maker_format/ioi/dag/task_type/communication.rs.html +++ b/src/task_maker_format/ioi/dag/task_type/communication.rs.html @@ -327,6 +327,21 @@ 327 328 329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344
use std::sync::{Arc, Mutex};
 
 use anyhow::{anyhow, Context, Error};
@@ -342,6 +357,7 @@
 
 /// The type of communication for the solution in a communication task.
 #[derive(Debug, Clone, Copy, Serialize, Deserialize, TypeScriptify, Eq, PartialEq)]
+#[serde(rename_all = "snake_case")]
 pub enum UserIo {
     /// Communication is achieved by using stdin/stdout.
     StdIo,
@@ -349,6 +365,20 @@
     FifoIo,
 }
 
+impl UserIo {
+    /// Used for deserialization.
+    /// Returns UserIo::StdIo.
+    pub fn std_io() -> Self {
+        UserIo::StdIo
+    }
+
+    /// Used for deserialization.
+    /// Returns UserIo::FifoIo.
+    pub fn fifo_io() -> Self {
+        UserIo::FifoIo
+    }
+}
+
 /// The internal data of a task of type `Batch`.
 #[derive(Debug, Clone, Serialize, Deserialize, TypeScriptify)]
 pub struct CommunicationTypeData {
diff --git a/src/task_maker_format/ioi/format/italian_yaml/mod.rs.html b/src/task_maker_format/ioi/format/italian_yaml/mod.rs.html
index 64f9ce08..42c8dd2b 100644
--- a/src/task_maker_format/ioi/format/italian_yaml/mod.rs.html
+++ b/src/task_maker_format/ioi/format/italian_yaml/mod.rs.html
@@ -916,11 +916,6 @@
 916
 917
 918
-919
-920
-921
-922
-923
 
//! The `italian_yaml` format is defined by [`cms`](https://cms.readthedocs.io/en/v1.4/External%20contest%20formats.html#italian-import-format)
 //! and it's the most used format in the Italian Olympiads.
 //!
@@ -1305,7 +1300,8 @@
     ///
     /// Can be either "std_io" for using stdin/stdout, or "fifo_io" for using pipes given in argv.
     /// Defaults to "fifo_io".
-    pub user_io: Option<String>,
+    #[serde(default = "UserIo::fifo_io")]
+    pub user_io: UserIo,
 
     /// Compatibility with cms, unused.
     pub score_mode: Option<String>,
@@ -1360,7 +1356,8 @@
     ///
     /// Can be either "std_io" for using stdin/stdout, or "fifo_io" for using pipes given in argv.
     /// Defaults to "fifo_io".
-    pub user_io: Option<String>,
+    #[serde(default = "UserIo::std_io")]
+    pub user_io: UserIo,
 }
 
 impl TaskYAMLOrig {
@@ -1787,17 +1784,10 @@
     // Link the manager statically. This makes sure that it will work also outside this machine.
     manager.link_static();
 
-    let user_io = match yaml.user_io.as_deref() {
-        None => UserIo::FifoIo,
-        Some("std_io") => UserIo::StdIo,
-        Some("fifo_io") => UserIo::FifoIo,
-        Some(other) => bail!("Unsupported value \"{}\" for user_io in task.yaml", other),
-    };
-
     Ok(Some(TaskType::Communication(CommunicationTypeData {
         manager: Arc::new(manager),
         num_processes: yaml.num_processes.unwrap_or(1),
-        user_io,
+        user_io: yaml.user_io,
     })))
 }
 
diff --git a/task_maker_dag/enum.ProvidedFile.html b/task_maker_dag/enum.ProvidedFile.html
index 6dbf59a2..be71da93 100644
--- a/task_maker_dag/enum.ProvidedFile.html
+++ b/task_maker_dag/enum.ProvidedFile.html
@@ -1,23 +1,23 @@
 ProvidedFile in task_maker_dag - Rust

Enum task_maker_dag::ProvidedFile

source ·
pub enum ProvidedFile {
     LocalFile {
         file: File,
-        key: FileStoreKey,
+        key: FileStoreKey,
         local_path: PathBuf,
     },
     Content {
         file: File,
-        key: FileStoreKey,
+        key: FileStoreKey,
         content: Vec<u8>,
     },
 }
Expand description

A wrapper around a File provided by the client, this means that the client knows the FileStoreKey and the path to that file if it’s local, or it’s content if it’s generated.

Variants§

§

LocalFile

A file that is provided by the disk, knowing its path.

Fields

§file: File

The file handle.

-
§key: FileStoreKey

The key of the file for the lookup in the FileStore.

+
§key: FileStoreKey

The key of the file for the lookup in the FileStore.

§local_path: PathBuf

Path to the file in the client.

§

Content

A file that is provided from a in-memory buffer.

Fields

§file: File

The file handle.

-
§key: FileStoreKey

The key of the file for the lookup in the FileStore.

+
§key: FileStoreKey

The key of the file for the lookup in the FileStore.

§content: Vec<u8>

The content of the file.

Trait Implementations§

source§

impl Clone for ProvidedFile

source§

fn clone(&self) -> ProvidedFile

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ProvidedFile

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for ProvidedFile

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for ProvidedFile

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where diff --git a/task_maker_format/ioi/enum.UserIo.html b/task_maker_format/ioi/enum.UserIo.html index 0645e0fa..340873b0 100644 --- a/task_maker_format/ioi/enum.UserIo.html +++ b/task_maker_format/ioi/enum.UserIo.html @@ -1,10 +1,14 @@ -UserIo in task_maker_format::ioi - Rust

Enum task_maker_format::ioi::UserIo

source ·
pub enum UserIo {
+UserIo in task_maker_format::ioi - Rust

Enum task_maker_format::ioi::UserIo

source ·
pub enum UserIo {
     StdIo,
     FifoIo,
 }
Expand description

The type of communication for the solution in a communication task.

Variants§

§

StdIo

Communication is achieved by using stdin/stdout.

§

FifoIo

Communication is achieved by using the pipes passed in argv.

-

Trait Implementations§

source§

impl Clone for UserIo

source§

fn clone(&self) -> UserIo

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for UserIo

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for UserIo

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where +

Implementations§

source§

impl UserIo

source

pub fn std_io() -> Self

Used for deserialization. +Returns UserIo::StdIo.

+
source

pub fn fifo_io() -> Self

Used for deserialization. +Returns UserIo::FifoIo.

+

Trait Implementations§

source§

impl Clone for UserIo

source§

fn clone(&self) -> UserIo

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for UserIo

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for UserIo

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl PartialEq for UserIo

source§

fn eq(&self, other: &UserIo) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Serialize for UserIo

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl TypeScriptifyTrait for UserIo

source§

fn type_script_ify() -> Cow<'static, str>

source§

impl Copy for UserIo

source§

impl Eq for UserIo

source§

impl StructuralPartialEq for UserIo

Auto Trait Implementations§

§

impl Freeze for UserIo

§

impl RefUnwindSafe for UserIo

§

impl Send for UserIo

§

impl Sync for UserIo

§

impl Unpin for UserIo

§

impl UnwindSafe for UserIo

Blanket Implementations§

source§

impl<T> Any for T
where diff --git a/task_maker_format/ioi/italian_yaml/fn.parse_task.html b/task_maker_format/ioi/italian_yaml/fn.parse_task.html index 9ed9b701..6469d100 100644 --- a/task_maker_format/ioi/italian_yaml/fn.parse_task.html +++ b/task_maker_format/ioi/italian_yaml/fn.parse_task.html @@ -1,4 +1,4 @@ -parse_task in task_maker_format::ioi::italian_yaml - Rust

Function task_maker_format::ioi::italian_yaml::parse_task

source ·
pub fn parse_task<P: AsRef<Path>>(
+parse_task in task_maker_format::ioi::italian_yaml - Rust

Function task_maker_format::ioi::italian_yaml::parse_task

source ·
pub fn parse_task<P: AsRef<Path>>(
     task_dir: P,
     eval_config: &EvaluationConfig,
 ) -> Result<IOITask, Error>
Expand description

Given the path to the task directory, try to parse the task inside of it assuming the format is diff --git a/task_maker_format/ioi/italian_yaml/index.html b/task_maker_format/ioi/italian_yaml/index.html index aeacda87..c5873eb2 100644 --- a/task_maker_format/ioi/italian_yaml/index.html +++ b/task_maker_format/ioi/italian_yaml/index.html @@ -1,4 +1,4 @@ -task_maker_format::ioi::italian_yaml - Rust

Module task_maker_format::ioi::italian_yaml

source ·
Expand description

The italian_yaml format is defined by cms +task_maker_format::ioi::italian_yaml - Rust

Module task_maker_format::ioi::italian_yaml

source ·
Expand description

The italian_yaml format is defined by cms and it’s the most used format in the Italian Olympiads.

§gen/GEN format

Here it’s provided the definition of the format of the gen/GEN file, as interpreted by diff --git a/task_maker_format/ioi/struct.CommunicationTypeData.html b/task_maker_format/ioi/struct.CommunicationTypeData.html index ae57f1f5..32c6e602 100644 --- a/task_maker_format/ioi/struct.CommunicationTypeData.html +++ b/task_maker_format/ioi/struct.CommunicationTypeData.html @@ -1,4 +1,4 @@ -CommunicationTypeData in task_maker_format::ioi - Rust

Struct task_maker_format::ioi::CommunicationTypeData

source ·
pub struct CommunicationTypeData {
+CommunicationTypeData in task_maker_format::ioi - Rust

Struct task_maker_format::ioi::CommunicationTypeData

source ·
pub struct CommunicationTypeData {
     pub manager: Arc<SourceFile>,
     pub num_processes: u8,
     pub user_io: UserIo,
@@ -6,9 +6,9 @@
 

Fields§

§manager: Arc<SourceFile>

The source file of the manager that communicates with the solutions.

§num_processes: u8

Number of solution processes to spawn in parallel in a communication task.

§user_io: UserIo

The type of communication for the solution in a communication task.

-

Trait Implementations§

source§

impl Clone for CommunicationTypeData

source§

fn clone(&self) -> CommunicationTypeData

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for CommunicationTypeData

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for CommunicationTypeData

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for CommunicationTypeData

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl TypeScriptifyTrait for CommunicationTypeData

source§

fn type_script_ify() -> Cow<'static, str>

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Clone for CommunicationTypeData

source§

fn clone(&self) -> CommunicationTypeData

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for CommunicationTypeData

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for CommunicationTypeData

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for CommunicationTypeData

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl TypeScriptifyTrait for CommunicationTypeData

source§

fn type_script_ify() -> Cow<'static, str>

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where