Buckets:
| import{s as _5,o as y5,n as D}from"../chunks/scheduler.2b22cead.js";import{S as x5,i as C5,e as o,s as n,c as p,h as w5,a as s,d as a,b as r,f as $,g as d,j as i,k as _,l as t,m as f,n as m,t as v,o as u,p as g}from"../chunks/index.1a0e8013.js";import{C as M5,H,E as T5}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.05940ba4.js";import{D as y,E as L}from"../chunks/ExampleCodeBlock.c9986350.js";import{C as A}from"../chunks/CodeBlock.da090c73.js";function j5(T){let h,M="Examples:",x,b,C;return b=new A({props:{code:"ZnJvbSUyMGNvcmUuZW52X3NlcnZlciUyMGltcG9ydCUyMEhUVFBFbnZTZXJ2ZXIlMEFmcm9tJTIwZW52cy5jb2RpbmdfZW52LnNlcnZlciUyMGltcG9ydCUyMENvZGVFeGVjdXRpb25FbnZpcm9ubWVudCUwQWZyb20lMjBlbnZzLmNvZGluZ19lbnYubW9kZWxzJTIwaW1wb3J0JTIwQ29kZUFjdGlvbiUyQyUyMENvZGVPYnNlcnZhdGlvbiUwQSUwQSUyMyUyMFBhc3MlMjBlbnZpcm9ubWVudCUyMGNsYXNzJTIwKGZhY3RvcnklMjBwYXR0ZXJuKSUwQXNlcnZlciUyMCUzRCUyMEhUVFBFbnZTZXJ2ZXIoJTBBJTIwJTIwJTIwJTIwZW52JTNEQ29kZUV4ZWN1dGlvbkVudmlyb25tZW50JTJDJTBBJTIwJTIwJTIwJTIwYWN0aW9uX2NscyUzRENvZGVBY3Rpb24lMkMlMEElMjAlMjAlMjAlMjBvYnNlcnZhdGlvbl9jbHMlM0RDb2RlT2JzZXJ2YXRpb24lMkMlMEElMjAlMjAlMjAlMjBtYXhfY29uY3VycmVudF9lbnZzJTNENCUyQyUwQSklMEElMEElMjMlMjBSZWdpc3RlciUyMHJvdXRlcyUyMHdpdGglMjBGYXN0QVBJJTBBZnJvbSUyMGZhc3RhcGklMjBpbXBvcnQlMjBGYXN0QVBJJTBBYXBwJTIwJTNEJTIwRmFzdEFQSSgpJTBBc2VydmVyLnJlZ2lzdGVyX3JvdXRlcyhhcHAp",highlighted:`<span class="hljs-keyword">from</span> core.env_server <span class="hljs-keyword">import</span> HTTPEnvServer | |
| <span class="hljs-keyword">from</span> envs.coding_env.server <span class="hljs-keyword">import</span> CodeExecutionEnvironment | |
| <span class="hljs-keyword">from</span> envs.coding_env.models <span class="hljs-keyword">import</span> CodeAction, CodeObservation | |
| <span class="hljs-comment"># Pass environment class (factory pattern)</span> | |
| server = HTTPEnvServer( | |
| env=CodeExecutionEnvironment, | |
| action_cls=CodeAction, | |
| observation_cls=CodeObservation, | |
| max_concurrent_envs=<span class="hljs-number">4</span>, | |
| ) | |
| <span class="hljs-comment"># Register routes with FastAPI</span> | |
| <span class="hljs-keyword">from</span> fastapi <span class="hljs-keyword">import</span> FastAPI | |
| app = FastAPI() | |
| server.register_routes(app)`,lang:"python",wrap:!1}}),{c(){h=o("p"),h.textContent=M,x=n(),p(b.$$.fragment)},l(l){h=s(l,"P",{"data-svelte-h":!0}),i(h)!=="svelte-kvfsh7"&&(h.textContent=M),x=r(l),d(b.$$.fragment,l)},m(l,w){f(l,h,w),f(l,x,w),m(b,l,w),C=!0},p:D,i(l){C||(v(b.$$.fragment,l),C=!0)},o(l){u(b.$$.fragment,l),C=!1},d(l){l&&(a(h),a(x)),g(b,l)}}}function J5(T){let h,M="Async usage:",x,b,C;return b=new A({props:{code:"ZnJvbSUyMGVudnMuY29kaW5nX2Vudi5jbGllbnQlMjBpbXBvcnQlMjBDb2RpbmdFbnYlMEElMEFhc3luYyUyMHdpdGglMjBDb2RpbmdFbnYoYmFzZV91cmwlM0QlMjJ3cyUzQSUyRiUyRmxvY2FsaG9zdCUzQTgwMDAlMjIpJTIwYXMlMjBlbnYlM0ElMEElMjAlMjAlMjAlMjByZXN1bHQlMjAlM0QlMjBhd2FpdCUyMGVudi5yZXNldChzZWVkJTNENDIpJTBBJTIwJTIwJTIwJTIwd2hpbGUlMjBub3QlMjByZXN1bHQuZG9uZSUzQSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGFjdGlvbiUyMCUzRCUyMGFnZW50LnByZWRpY3QocmVzdWx0Lm9ic2VydmF0aW9uKSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHJlc3VsdCUyMCUzRCUyMGF3YWl0JTIwZW52LnN0ZXAoYWN0aW9uKQ==",highlighted:`<span class="hljs-keyword">from</span> envs.coding_env.client <span class="hljs-keyword">import</span> CodingEnv | |
| <span class="hljs-keyword">async</span> <span class="hljs-keyword">with</span> CodingEnv(base_url=<span class="hljs-string">"ws://localhost:8000"</span>) <span class="hljs-keyword">as</span> env: | |
| result = <span class="hljs-keyword">await</span> env.reset(seed=<span class="hljs-number">42</span>) | |
| <span class="hljs-keyword">while</span> <span class="hljs-keyword">not</span> result.done: | |
| action = agent.predict(result.observation) | |
| result = <span class="hljs-keyword">await</span> env.step(action)`,lang:"python",wrap:!1}}),{c(){h=o("p"),h.textContent=M,x=n(),p(b.$$.fragment)},l(l){h=s(l,"P",{"data-svelte-h":!0}),i(h)!=="svelte-1fvl0uh"&&(h.textContent=M),x=r(l),d(b.$$.fragment,l)},m(l,w){f(l,h,w),f(l,x,w),m(b,l,w),C=!0},p:D,i(l){C||(v(b.$$.fragment,l),C=!0)},o(l){u(b.$$.fragment,l),C=!1},d(l){l&&(a(h),a(x)),g(b,l)}}}function k5(T){let h,M="Sync usage via <code>.sync()</code> wrapper:",x,b,C;return b=new A({props:{code:"ZW52JTIwJTNEJTIwQ29kaW5nRW52KGJhc2VfdXJsJTNEJTIyd3MlM0ElMkYlMkZsb2NhbGhvc3QlM0E4MDAwJTIyKS5zeW5jKCklMEF3aXRoJTIwZW52JTNBJTBBJTIwJTIwJTIwJTIwcmVzdWx0JTIwJTNEJTIwZW52LnJlc2V0KHNlZWQlM0Q0MiklMEElMjAlMjAlMjAlMjByZXN1bHQlMjAlM0QlMjBlbnYuc3RlcChhY3Rpb24p",highlighted:`env = CodingEnv(base_url=<span class="hljs-string">"ws://localhost:8000"</span>).sync() | |
| <span class="hljs-keyword">with</span> env: | |
| result = env.reset(seed=<span class="hljs-number">42</span>) | |
| result = env.step(action)`,lang:"python",wrap:!1}}),{c(){h=o("p"),h.innerHTML=M,x=n(),p(b.$$.fragment)},l(l){h=s(l,"P",{"data-svelte-h":!0}),i(h)!=="svelte-w73fhs"&&(h.innerHTML=M),x=r(l),d(b.$$.fragment,l)},m(l,w){f(l,h,w),f(l,x,w),m(b,l,w),C=!0},p:D,i(l){C||(v(b.$$.fragment,l),C=!0)},o(l){u(b.$$.fragment,l),C=!1},d(l){l&&(a(h),a(x)),g(b,l)}}}function I5(T){let h,M="Examples:",x,b,C;return b=new A({props:{code:"JTIzJTIwUHVsbCUyMGFuZCUyMHJ1biUyMGZyb20lMjBIRiUyMERvY2tlciUyMHJlZ2lzdHJ5JTBBZW52JTIwJTNEJTIwYXdhaXQlMjBNeUVudi5mcm9tX2VudiglMjJvcGVuZW52JTJGZWNoby1lbnYlMjIpJTBBJTBBJTIzJTIwUnVuJTIwbG9jYWxseSUyMHdpdGglMjBVViUyMChjbG9uZXMlMjB0aGUlMjBzcGFjZSklMEFlbnYlMjAlM0QlMjBhd2FpdCUyME15RW52LmZyb21fZW52KCUyMm9wZW5lbnYlMkZlY2hvLWVudiUyMiUyQyUyMHVzZV9kb2NrZXIlM0RGYWxzZSklMEElMEElMjMlMjBSdW4lMjBmcm9tJTIwYSUyMGxvY2FsJTIwY2hlY2tvdXQlMEFlbnYlMjAlM0QlMjBhd2FpdCUyME15RW52LmZyb21fZW52KCUwQSUyMCUyMCUyMCUyMCUyMm9wZW5lbnYlMkZlY2hvLWVudiUyMiUyQyUwQSUyMCUyMCUyMCUyMHVzZV9kb2NrZXIlM0RGYWxzZSUyQyUwQSUyMCUyMCUyMCUyMHByb2plY3RfcGF0aCUzRCUyMiUyRnBhdGglMkZ0byUyRmxvY2FsJTJGY2hlY2tvdXQlMjIlMEEp",highlighted:`<span class="hljs-comment"># Pull and run from HF Docker registry</span> | |
| env = <span class="hljs-keyword">await</span> MyEnv.from_env(<span class="hljs-string">"openenv/echo-env"</span>) | |
| <span class="hljs-comment"># Run locally with UV (clones the space)</span> | |
| env = <span class="hljs-keyword">await</span> MyEnv.from_env(<span class="hljs-string">"openenv/echo-env"</span>, use_docker=<span class="hljs-literal">False</span>) | |
| <span class="hljs-comment"># Run from a local checkout</span> | |
| env = <span class="hljs-keyword">await</span> MyEnv.from_env( | |
| <span class="hljs-string">"openenv/echo-env"</span>, | |
| use_docker=<span class="hljs-literal">False</span>, | |
| project_path=<span class="hljs-string">"/path/to/local/checkout"</span> | |
| )`,lang:"python",wrap:!1}}),{c(){h=o("p"),h.textContent=M,x=n(),p(b.$$.fragment)},l(l){h=s(l,"P",{"data-svelte-h":!0}),i(h)!=="svelte-kvfsh7"&&(h.textContent=M),x=r(l),d(b.$$.fragment,l)},m(l,w){f(l,h,w),f(l,x,w),m(b,l,w),C=!0},p:D,i(l){C||(v(b.$$.fragment,l),C=!0)},o(l){u(b.$$.fragment,l),C=!1},d(l){l&&(a(h),a(x)),g(b,l)}}}function E5(T){let h,M="Examples:",x,b,C;return b=new A({props:{code:"YXN5bmNfY2xpZW50JTIwJTNEJTIwR2VuZXJpY0VudkNsaWVudChiYXNlX3VybCUzRCUyMmh0dHAlM0ElMkYlMkZsb2NhbGhvc3QlM0E4MDAwJTIyKSUwQXN5bmNfY2xpZW50JTIwJTNEJTIwYXN5bmNfY2xpZW50LnN5bmMoKSUwQSUwQXdpdGglMjBzeW5jX2NsaWVudCUzQSUwQSUyMCUyMCUyMCUyMHJlc3VsdCUyMCUzRCUyMHN5bmNfY2xpZW50LnJlc2V0KCklMEElMjAlMjAlMjAlMjByZXN1bHQlMjAlM0QlMjBzeW5jX2NsaWVudC5zdGVwKCU3QiUyMmNvZGUlMjIlM0ElMjAlMjJwcmludCgnaGVsbG8nKSUyMiU3RCk=",highlighted:`async_client = GenericEnvClient(base_url=<span class="hljs-string">"http://localhost:8000"</span>) | |
| sync_client = async_client.sync() | |
| <span class="hljs-keyword">with</span> sync_client: | |
| result = sync_client.reset() | |
| result = sync_client.step({<span class="hljs-string">"code"</span>: <span class="hljs-string">"print('hello')"</span>})`,lang:"python",wrap:!1}}),{c(){h=o("p"),h.textContent=M,x=n(),p(b.$$.fragment)},l(l){h=s(l,"P",{"data-svelte-h":!0}),i(h)!=="svelte-kvfsh7"&&(h.textContent=M),x=r(l),d(b.$$.fragment,l)},m(l,w){f(l,h,w),f(l,x,w),m(b,l,w),C=!0},p:D,i(l){C||(v(b.$$.fragment,l),C=!0)},o(l){u(b.$$.fragment,l),C=!1},d(l){l&&(a(h),a(x)),g(b,l)}}}function U5(T){let h,M="Examples:",x,b,C;return b=new A({props:{code:"JTIzJTIwRnJvbSUyMGFuJTIwYXN5bmMlMjBjbGllbnQlMEFhc3luY19jbGllbnQlMjAlM0QlMjBHZW5lcmljRW52Q2xpZW50KGJhc2VfdXJsJTNEJTIyaHR0cCUzQSUyRiUyRmxvY2FsaG9zdCUzQTgwMDAlMjIpJTBBc3luY19jbGllbnQlMjAlM0QlMjBhc3luY19jbGllbnQuc3luYygpJTBBJTBBJTIzJTIwVXNlJTIwc3luY2hyb25vdXMlMjBjb250ZXh0JTIwbWFuYWdlciUwQXdpdGglMjBzeW5jX2NsaWVudCUzQSUwQSUyMCUyMCUyMCUyMHJlc3VsdCUyMCUzRCUyMHN5bmNfY2xpZW50LnJlc2V0KCklMEElMjAlMjAlMjAlMjByZXN1bHQlMjAlM0QlMjBzeW5jX2NsaWVudC5zdGVwKCU3QiUyMmFjdGlvbiUyMiUzQSUyMCUyMnRlc3QlMjIlN0Qp",highlighted:`<span class="hljs-comment"># From an async client</span> | |
| async_client = GenericEnvClient(base_url=<span class="hljs-string">"http://localhost:8000"</span>) | |
| sync_client = async_client.sync() | |
| <span class="hljs-comment"># Use synchronous context manager</span> | |
| <span class="hljs-keyword">with</span> sync_client: | |
| result = sync_client.reset() | |
| result = sync_client.step({<span class="hljs-string">"action"</span>: <span class="hljs-string">"test"</span>})`,lang:"python",wrap:!1}}),{c(){h=o("p"),h.textContent=M,x=n(),p(b.$$.fragment)},l(l){h=s(l,"P",{"data-svelte-h":!0}),i(h)!=="svelte-kvfsh7"&&(h.textContent=M),x=r(l),d(b.$$.fragment,l)},m(l,w){f(l,h,w),f(l,x,w),m(b,l,w),C=!0},p:D,i(l){C||(v(b.$$.fragment,l),C=!0)},o(l){u(b.$$.fragment,l),C=!1},d(l){l&&(a(h),a(x)),g(b,l)}}}function P5(T){let h,M="Examples:",x,b,C;return b=new A({props:{code:"JTIzJTIwRGlyZWN0JTIwY29ubmVjdGlvbiUyMHRvJTIwYSUyMHJ1bm5pbmclMjBzZXJ2ZXIlMjAobm8lMjBpbnN0YWxsYXRpb24lMjBuZWVkZWQpJTBBd2l0aCUyMEdlbmVyaWNFbnZDbGllbnQoYmFzZV91cmwlM0QlMjJodHRwJTNBJTJGJTJGbG9jYWxob3N0JTNBODAwMCUyMiklMjBhcyUyMGVudiUzQSUwQSUyMCUyMCUyMCUyMHJlc3VsdCUyMCUzRCUyMGVudi5yZXNldCgpJTBBJTIwJTIwJTIwJTIwcmVzdWx0JTIwJTNEJTIwZW52LnN0ZXAoJTdCJTIyY29kZSUyMiUzQSUyMCUyMnByaW50KCdoZWxsbycpJTIyJTdEKSUwQSUyMCUyMCUyMCUyMHByaW50KHJlc3VsdC5vYnNlcnZhdGlvbiklMjAlMjAlMjMlMjBEaWN0JTVCc3RyJTJDJTIwQW55JTVEJTBBJTIwJTIwJTIwJTIwcHJpbnQocmVzdWx0Lm9ic2VydmF0aW9uLmdldCglMjJvdXRwdXQlMjIpKSUwQSUwQSUyMyUyMEZyb20lMjBsb2NhbCUyMERvY2tlciUyMGltYWdlJTBBZW52JTIwJTNEJTIwR2VuZXJpY0VudkNsaWVudC5mcm9tX2RvY2tlcl9pbWFnZSglMjJjb2RpbmctZW52JTNBbGF0ZXN0JTIyKSUwQXJlc3VsdCUyMCUzRCUyMGVudi5yZXNldCgpJTBBcmVzdWx0JTIwJTNEJTIwZW52LnN0ZXAoJTdCJTIyY29kZSUyMiUzQSUyMCUyMnglMjAlM0QlMjAxJTIwJTJCJTIwMiUyMiU3RCklMEFlbnYuY2xvc2UoKSUwQSUwQSUyMyUyMEZyb20lMjBIdWdnaW5nRmFjZSUyMEh1YiUyMChwdWxscyUyMERvY2tlciUyMGltYWdlJTJDJTIwbm8lMjBwaXAlMjBpbnN0YWxsKSUwQWVudiUyMCUzRCUyMEdlbmVyaWNFbnZDbGllbnQuZnJvbV9lbnYoJTIydXNlciUyRm15LWVudiUyMiUyQyUyMHVzZV9kb2NrZXIlM0RUcnVlKSUwQXJlc3VsdCUyMCUzRCUyMGVudi5yZXNldCgpJTBBZW52LmNsb3NlKCk=",highlighted:`<span class="hljs-comment"># Direct connection to a running server (no installation needed)</span> | |
| <span class="hljs-keyword">with</span> GenericEnvClient(base_url=<span class="hljs-string">"http://localhost:8000"</span>) <span class="hljs-keyword">as</span> env: | |
| result = env.reset() | |
| result = env.step({<span class="hljs-string">"code"</span>: <span class="hljs-string">"print('hello')"</span>}) | |
| <span class="hljs-built_in">print</span>(result.observation) <span class="hljs-comment"># Dict[str, Any]</span> | |
| <span class="hljs-built_in">print</span>(result.observation.get(<span class="hljs-string">"output"</span>)) | |
| <span class="hljs-comment"># From local Docker image</span> | |
| env = GenericEnvClient.from_docker_image(<span class="hljs-string">"coding-env:latest"</span>) | |
| result = env.reset() | |
| result = env.step({<span class="hljs-string">"code"</span>: <span class="hljs-string">"x = 1 + 2"</span>}) | |
| env.close() | |
| <span class="hljs-comment"># From HuggingFace Hub (pulls Docker image, no pip install)</span> | |
| env = GenericEnvClient.from_env(<span class="hljs-string">"user/my-env"</span>, use_docker=<span class="hljs-literal">True</span>) | |
| result = env.reset() | |
| env.close()`,lang:"python",wrap:!1}}),{c(){h=o("p"),h.textContent=M,x=n(),p(b.$$.fragment)},l(l){h=s(l,"P",{"data-svelte-h":!0}),i(h)!=="svelte-kvfsh7"&&(h.textContent=M),x=r(l),d(b.$$.fragment,l)},m(l,w){f(l,h,w),f(l,x,w),m(b,l,w),C=!0},p:D,i(l){C||(v(b.$$.fragment,l),C=!0)},o(l){u(b.$$.fragment,l),C=!1},d(l){l&&(a(h),a(x)),g(b,l)}}}function L5(T){let h,M="Examples:",x,b,C;return b=new A({props:{code:"JTIzJTIwV2l0aG91dCUyMEdlbmVyaWNBY3Rpb24lMjAod29ya3MlMjBmaW5lKSUwQWVudi5zdGVwKCU3QiUyMmNvZGUlMjIlM0ElMjAlMjJwcmludCgnaGVsbG8nKSUyMiU3RCklMEElMEElMjMlMjBXaXRoJTIwR2VuZXJpY0FjdGlvbiUyMChtb3JlJTIwZXhwbGljaXQpJTBBYWN0aW9uJTIwJTNEJTIwR2VuZXJpY0FjdGlvbihjb2RlJTNEJTIycHJpbnQoJ2hlbGxvJyklMjIpJTBBZW52LnN0ZXAoYWN0aW9uKSUwQSUwQSUyMyUyMFdpdGglMjBtdWx0aXBsZSUyMGZpZWxkcyUwQWFjdGlvbiUyMCUzRCUyMEdlbmVyaWNBY3Rpb24oY29kZSUzRCUyMnglMjAlM0QlMjAxJTIyJTJDJTIwdGltZW91dCUzRDMwJTJDJTIwbWV0YWRhdGElM0QlN0IlMjJ0YWclMjIlM0ElMjAlMjJ0ZXN0JTIyJTdEKSUwQWVudi5zdGVwKGFjdGlvbik=",highlighted:`<span class="hljs-comment"># Without GenericAction (works fine)</span> | |
| env.step({<span class="hljs-string">"code"</span>: <span class="hljs-string">"print('hello')"</span>}) | |
| <span class="hljs-comment"># With GenericAction (more explicit)</span> | |
| action = GenericAction(code=<span class="hljs-string">"print('hello')"</span>) | |
| env.step(action) | |
| <span class="hljs-comment"># With multiple fields</span> | |
| action = GenericAction(code=<span class="hljs-string">"x = 1"</span>, timeout=<span class="hljs-number">30</span>, metadata={<span class="hljs-string">"tag"</span>: <span class="hljs-string">"test"</span>}) | |
| env.step(action)`,lang:"python",wrap:!1}}),{c(){h=o("p"),h.textContent=M,x=n(),p(b.$$.fragment)},l(l){h=s(l,"P",{"data-svelte-h":!0}),i(h)!=="svelte-kvfsh7"&&(h.textContent=M),x=r(l),d(b.$$.fragment,l)},m(l,w){f(l,h,w),f(l,x,w),m(b,l,w),C=!0},p:D,i(l){C||(v(b.$$.fragment,l),C=!0)},o(l){u(b.$$.fragment,l),C=!1},d(l){l&&(a(h),a(x)),g(b,l)}}}function D5(T){let h,M="Examples:",x,b,C;return b=new A({props:{code:"ZnJvbSUyMGZhc3RtY3AlMjBpbXBvcnQlMjBGYXN0TUNQJTBBJTBBbWNwJTIwJTNEJTIwRmFzdE1DUCglMjJjYWxjdWxhdG9yJTIyKSUwQSUwQSU0MG1jcC50b29sKCklMEFkZWYlMjBhZGQoYSUzQSUyMGludCUyQyUyMGIlM0ElMjBpbnQpJTIwLSUzRSUyMGludCUzQSUwQSUyMCUyMCUyMCUyMHJldHVybiUyMGElMjAlMkIlMjBiJTBBJTBBZW52JTIwJTNEJTIwTXlNQ1BFbnZpcm9ubWVudChtY3ApJTBBb2JzJTIwJTNEJTIwZW52LnN0ZXAoTGlzdFRvb2xzQWN0aW9uKCkpJTBBb2JzLnRvb2xzJTVCMCU1RC5uYW1lJTIwJTIwJTIzJTIwJ2FkZCc=",highlighted:`<span class="hljs-keyword">from</span> fastmcp <span class="hljs-keyword">import</span> FastMCP | |
| mcp = FastMCP(<span class="hljs-string">"calculator"</span>) | |
| <span class="hljs-meta">@mcp.tool()</span> | |
| <span class="hljs-keyword">def</span> <span class="hljs-title function_">add</span>(<span class="hljs-params">a: <span class="hljs-built_in">int</span>, b: <span class="hljs-built_in">int</span></span>) -> <span class="hljs-built_in">int</span>: | |
| <span class="hljs-keyword">return</span> a + b | |
| env = MyMCPEnvironment(mcp) | |
| obs = env.step(ListToolsAction()) | |
| obs.tools[<span class="hljs-number">0</span>].name <span class="hljs-comment"># 'add'</span>`,lang:"python",wrap:!1}}),{c(){h=o("p"),h.textContent=M,x=n(),p(b.$$.fragment)},l(l){h=s(l,"P",{"data-svelte-h":!0}),i(h)!=="svelte-kvfsh7"&&(h.textContent=M),x=r(l),d(b.$$.fragment,l)},m(l,w){f(l,h,w),f(l,x,w),m(b,l,w),C=!0},p:D,i(l){C||(v(b.$$.fragment,l),C=!0)},o(l){u(b.$$.fragment,l),C=!1},d(l){l&&(a(h),a(x)),g(b,l)}}}function A5(T){let h,M="Examples:",x,b,C;return b=new A({props:{code:"dG9vbHMlMjAlM0QlMjBhd2FpdCUyMGVudi5saXN0X3Rvb2xzKCklMEFmb3IlMjB0b29sJTIwaW4lMjB0b29scyUzQSUwQSUyMCUyMCUyMCUyMHByaW50KGYlMjIlN0J0b29sLm5hbWUlN0QlM0ElMjAlN0J0b29sLmRlc2NyaXB0aW9uJTdEJTIyKQ==",highlighted:`tools = <span class="hljs-keyword">await</span> env.list_tools() | |
| <span class="hljs-keyword">for</span> tool <span class="hljs-keyword">in</span> tools: | |
| <span class="hljs-built_in">print</span>(<span class="hljs-string">f"<span class="hljs-subst">{tool.name}</span>: <span class="hljs-subst">{tool.description}</span>"</span>)`,lang:"python",wrap:!1}}),{c(){h=o("p"),h.textContent=M,x=n(),p(b.$$.fragment)},l(l){h=s(l,"P",{"data-svelte-h":!0}),i(h)!=="svelte-kvfsh7"&&(h.textContent=M),x=r(l),d(b.$$.fragment,l)},m(l,w){f(l,h,w),f(l,x,w),m(b,l,w),C=!0},p:D,i(l){C||(v(b.$$.fragment,l),C=!0)},o(l){u(b.$$.fragment,l),C=!1},d(l){l&&(a(h),a(x)),g(b,l)}}}function V5(T){let h,M="Examples:",x,b,C;return b=new A({props:{code:"YXN5bmMlMjB3aXRoJTIwTUNQVG9vbENsaWVudChiYXNlX3VybCUzRCUyMmh0dHAlM0ElMkYlMkZsb2NhbGhvc3QlM0E4MDAwJTIyKSUyMGFzJTIwZW52JTNBJTBBJTIwJTIwJTIwJTIwJTIzJTIwUmVzZXQlMjB0aGUlMjBlbnZpcm9ubWVudCUwQSUyMCUyMCUyMCUyMGF3YWl0JTIwZW52LnJlc2V0KCklMEElMEElMjAlMjAlMjAlMjAlMjMlMjBEaXNjb3ZlciUyMGF2YWlsYWJsZSUyMHRvb2xzJTBBJTIwJTIwJTIwJTIwdG9vbHMlMjAlM0QlMjBhd2FpdCUyMGVudi5saXN0X3Rvb2xzKCklMEElMjAlMjAlMjAlMjBwcmludCglNUJ0Lm5hbWUlMjBmb3IlMjB0JTIwaW4lMjB0b29scyU1RCklMjAlMjAlMjMlMjAlNUInZWNob19tZXNzYWdlJyUyQyUyMCdlY2hvX3dpdGhfbGVuZ3RoJyU1RCUwQSUwQSUyMCUyMCUyMCUyMCUyMyUyMENhbGwlMjBhJTIwdG9vbCUyMGRpcmVjdGx5JTBBJTIwJTIwJTIwJTIwcmVzdWx0JTIwJTNEJTIwYXdhaXQlMjBlbnYuY2FsbF90b29sKCUyMmVjaG9fbWVzc2FnZSUyMiUyQyUyMG1lc3NhZ2UlM0QlMjJIZWxsbyElMjIpJTBBJTIwJTIwJTIwJTIwcHJpbnQocmVzdWx0KSUyMCUyMCUyMyUyMCUyMkhlbGxvISUyMiUwQSUwQSUyMCUyMCUyMCUyMCUyMyUyME9yJTIwdXNlJTIwdGhlJTIwZnVsbCUyMGFjdGlvbiUyMGludGVyZmFjZSUwQSUyMCUyMCUyMCUyMGZyb20lMjBvcGVuZW52LmNvcmUuZW52X3NlcnZlci5tY3BfdHlwZXMlMjBpbXBvcnQlMjBDYWxsVG9vbEFjdGlvbiUwQSUyMCUyMCUyMCUyMHN0ZXBfcmVzdWx0JTIwJTNEJTIwYXdhaXQlMjBlbnYuc3RlcChDYWxsVG9vbEFjdGlvbiglMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjB0b29sX25hbWUlM0QlMjJlY2hvX3dpdGhfbGVuZ3RoJTIyJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwYXJndW1lbnRzJTNEJTdCJTIybWVzc2FnZSUyMiUzQSUyMCUyMlRlc3QlMjIlN0QlMEElMjAlMjAlMjAlMjApKSUwQSUyMCUyMCUyMCUyMHByaW50KHN0ZXBfcmVzdWx0Lm9ic2VydmF0aW9uLnJlc3VsdCk=",highlighted:`<span class="hljs-keyword">async</span> <span class="hljs-keyword">with</span> MCPToolClient(base_url=<span class="hljs-string">"http://localhost:8000"</span>) <span class="hljs-keyword">as</span> env: | |
| <span class="hljs-comment"># Reset the environment</span> | |
| <span class="hljs-keyword">await</span> env.reset() | |
| <span class="hljs-comment"># Discover available tools</span> | |
| tools = <span class="hljs-keyword">await</span> env.list_tools() | |
| <span class="hljs-built_in">print</span>([t.name <span class="hljs-keyword">for</span> t <span class="hljs-keyword">in</span> tools]) <span class="hljs-comment"># ['echo_message', 'echo_with_length']</span> | |
| <span class="hljs-comment"># Call a tool directly</span> | |
| result = <span class="hljs-keyword">await</span> env.call_tool(<span class="hljs-string">"echo_message"</span>, message=<span class="hljs-string">"Hello!"</span>) | |
| <span class="hljs-built_in">print</span>(result) <span class="hljs-comment"># "Hello!"</span> | |
| <span class="hljs-comment"># Or use the full action interface</span> | |
| <span class="hljs-keyword">from</span> openenv.core.env_server.mcp_types <span class="hljs-keyword">import</span> CallToolAction | |
| step_result = <span class="hljs-keyword">await</span> env.step(CallToolAction( | |
| tool_name=<span class="hljs-string">"echo_with_length"</span>, | |
| arguments={<span class="hljs-string">"message"</span>: <span class="hljs-string">"Test"</span>} | |
| )) | |
| <span class="hljs-built_in">print</span>(step_result.observation.result)`,lang:"python",wrap:!1}}),{c(){h=o("p"),h.textContent=M,x=n(),p(b.$$.fragment)},l(l){h=s(l,"P",{"data-svelte-h":!0}),i(h)!=="svelte-kvfsh7"&&(h.textContent=M),x=r(l),d(b.$$.fragment,l)},m(l,w){f(l,h,w),f(l,x,w),m(b,l,w),C=!0},p:D,i(l){C||(v(b.$$.fragment,l),C=!0)},o(l){u(b.$$.fragment,l),C=!1},d(l){l&&(a(h),a(x)),g(b,l)}}}function R5(T){let h,M="Sync wrapper:",x,b,C;return b=new A({props:{code:"ZW52JTIwJTNEJTIwTUNQVG9vbENsaWVudChiYXNlX3VybCUzRCUyMmh0dHAlM0ElMkYlMkZsb2NhbGhvc3QlM0E4MDAwJTIyKS5zeW5jKCklMEF3aXRoJTIwZW52JTNBJTBBJTIwJTIwJTIwJTIwdG9vbHMlMjAlM0QlMjBlbnYubGlzdF90b29scygpJTBBJTIwJTIwJTIwJTIwcmVzdWx0JTIwJTNEJTIwZW52LmNhbGxfdG9vbCglMjJlY2hvX21lc3NhZ2UlMjIlMkMlMjBtZXNzYWdlJTNEJTIySGVsbG8hJTIyKQ==",highlighted:`env = MCPToolClient(base_url=<span class="hljs-string">"http://localhost:8000"</span>).sync() | |
| <span class="hljs-keyword">with</span> env: | |
| tools = env.list_tools() | |
| result = env.call_tool(<span class="hljs-string">"echo_message"</span>, message=<span class="hljs-string">"Hello!"</span>)`,lang:"python",wrap:!1}}),{c(){h=o("p"),h.textContent=M,x=n(),p(b.$$.fragment)},l(l){h=s(l,"P",{"data-svelte-h":!0}),i(h)!=="svelte-zgnv86"&&(h.textContent=M),x=r(l),d(b.$$.fragment,l)},m(l,w){f(l,h,w),f(l,x,w),m(b,l,w),C=!0},p:D,i(l){C||(v(b.$$.fragment,l),C=!0)},o(l){u(b.$$.fragment,l),C=!1},d(l){l&&(a(h),a(x)),g(b,l)}}}function S5(T){let h,M="Examples:",x,b,C;return b=new A({props:{code:"cmVzdWx0JTIwJTNEJTIwYXdhaXQlMjBlbnYuY2FsbF90b29sKCUyMmFkZCUyMiUyQyUyMGElM0Q1JTJDJTIwYiUzRDMpJTBBcHJpbnQocmVzdWx0KSUyMCUyMCUyMyUyMDglMEElMEFyZXN1bHQlMjAlM0QlMjBhd2FpdCUyMGVudi5jYWxsX3Rvb2woJTIyZ3JlZXQlMjIlMkMlMjBuYW1lJTNEJTIyQ2xhdWRlJTIyKSUwQXByaW50KHJlc3VsdCklMjAlMjAlMjMlMjAlMjJIZWxsbyUyQyUyMENsYXVkZSElMjI=",highlighted:`result = <span class="hljs-keyword">await</span> env.call_tool(<span class="hljs-string">"add"</span>, a=<span class="hljs-number">5</span>, b=<span class="hljs-number">3</span>) | |
| <span class="hljs-built_in">print</span>(result) <span class="hljs-comment"># 8</span> | |
| result = <span class="hljs-keyword">await</span> env.call_tool(<span class="hljs-string">"greet"</span>, name=<span class="hljs-string">"Claude"</span>) | |
| <span class="hljs-built_in">print</span>(result) <span class="hljs-comment"># "Hello, Claude!"</span>`,lang:"python",wrap:!1}}),{c(){h=o("p"),h.textContent=M,x=n(),p(b.$$.fragment)},l(l){h=s(l,"P",{"data-svelte-h":!0}),i(h)!=="svelte-kvfsh7"&&(h.textContent=M),x=r(l),d(b.$$.fragment,l)},m(l,w){f(l,h,w),f(l,x,w),m(b,l,w),C=!0},p:D,i(l){C||(v(b.$$.fragment,l),C=!0)},o(l){u(b.$$.fragment,l),C=!1},d(l){l&&(a(h),a(x)),g(b,l)}}}function N5(T){let h,M="Examples:",x,b,C;return b=new A({props:{code:"dG9vbCUyMCUzRCUyMGF3YWl0JTIwZW52LmdldF90b29sKCUyMmVjaG9fbWVzc2FnZSUyMiklMEFpZiUyMHRvb2wlM0ElMEElMjAlMjAlMjAlMjBwcmludCh0b29sLmRlc2NyaXB0aW9uKSUwQSUyMCUyMCUyMCUyMHByaW50KHRvb2wuaW5wdXRfc2NoZW1hKQ==",highlighted:`tool = <span class="hljs-keyword">await</span> env.get_tool(<span class="hljs-string">"echo_message"</span>) | |
| <span class="hljs-keyword">if</span> tool: | |
| <span class="hljs-built_in">print</span>(tool.description) | |
| <span class="hljs-built_in">print</span>(tool.input_schema)`,lang:"python",wrap:!1}}),{c(){h=o("p"),h.textContent=M,x=n(),p(b.$$.fragment)},l(l){h=s(l,"P",{"data-svelte-h":!0}),i(h)!=="svelte-kvfsh7"&&(h.textContent=M),x=r(l),d(b.$$.fragment,l)},m(l,w){f(l,h,w),f(l,x,w),m(b,l,w),C=!0},p:D,i(l){C||(v(b.$$.fragment,l),C=!0)},o(l){u(b.$$.fragment,l),C=!1},d(l){l&&(a(h),a(x)),g(b,l)}}}function B5(T){let h,M="Examples:",x,b,C;return b=new A({props:{code:"Y2xhc3MlMjBNeVJ1YnJpYyhSdWJyaWMpJTNBJTBBJTIwJTIwJTIwJTIwZGVmJTIwZm9yd2FyZChzZWxmJTJDJTIwYWN0aW9uJTJDJTIwb2JzZXJ2YXRpb24pJTIwLSUzRSUyMGZsb2F0JTNBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmV0dXJuJTIwMS4wJTIwaWYlMjBhY3Rpb24udmFsaWQlMjBlbHNlJTIwMC4wJTBBJTBBcnVicmljJTIwJTNEJTIwTXlSdWJyaWMoKSUwQXJld2FyZCUyMCUzRCUyMHJ1YnJpYyhhY3Rpb24lMkMlMjBvYnNlcnZhdGlvbik=",highlighted:`<span class="hljs-keyword">class</span> <span class="hljs-title class_">MyRubric</span>(<span class="hljs-title class_ inherited__">Rubric</span>): | |
| <span class="hljs-keyword">def</span> <span class="hljs-title function_">forward</span>(<span class="hljs-params">self, action, observation</span>) -> <span class="hljs-built_in">float</span>: | |
| <span class="hljs-keyword">return</span> <span class="hljs-number">1.0</span> <span class="hljs-keyword">if</span> action.valid <span class="hljs-keyword">else</span> <span class="hljs-number">0.0</span> | |
| rubric = MyRubric() | |
| reward = rubric(action, observation)`,lang:"python",wrap:!1}}),{c(){h=o("p"),h.textContent=M,x=n(),p(b.$$.fragment)},l(l){h=s(l,"P",{"data-svelte-h":!0}),i(h)!=="svelte-kvfsh7"&&(h.textContent=M),x=r(l),d(b.$$.fragment,l)},m(l,w){f(l,h,w),f(l,x,w),m(b,l,w),C=!0},p:D,i(l){C||(v(b.$$.fragment,l),C=!0)},o(l){u(b.$$.fragment,l),C=!1},d(l){l&&(a(h),a(x)),g(b,l)}}}function W5(T){let h,M="Examples:",x,b,C;return b=new A({props:{code:"cnVicmljJTIwJTNEJTIwU2VxdWVudGlhbCglMEElMjAlMjAlMjAlMjBHYXRlKENvbXBpbGVzKCkpJTJDJTBBJTIwJTIwJTIwJTIwR2F0ZShQYXNzZXNUZXN0cygpJTJDJTIwdGhyZXNob2xkJTNEMC41KSUyQyUwQSUyMCUyMCUyMCUyMFdlaWdodGVkU3VtKCU1QlBhc3Nlc1Rlc3RzKCklMkMlMjBTdHlsZVJ1YnJpYygpJTVEJTJDJTIwd2VpZ2h0cyUzRCU1QjAuNyUyQyUyMDAuMyU1RCklMEEp",highlighted:`rubric = Sequential( | |
| Gate(Compiles()), | |
| Gate(PassesTests(), threshold=<span class="hljs-number">0.5</span>), | |
| WeightedSum([PassesTests(), StyleRubric()], weights=[<span class="hljs-number">0.7</span>, <span class="hljs-number">0.3</span>]) | |
| )`,lang:"python",wrap:!1}}),{c(){h=o("p"),h.textContent=M,x=n(),p(b.$$.fragment)},l(l){h=s(l,"P",{"data-svelte-h":!0}),i(h)!=="svelte-kvfsh7"&&(h.textContent=M),x=r(l),d(b.$$.fragment,l)},m(l,w){f(l,h,w),f(l,x,w),m(b,l,w),C=!0},p:D,i(l){C||(v(b.$$.fragment,l),C=!0)},o(l){u(b.$$.fragment,l),C=!1},d(l){l&&(a(h),a(x)),g(b,l)}}}function G5(T){let h,M="Examples:",x,b,C;return b=new A({props:{code:"cnVicmljJTIwJTNEJTIwR2F0ZShQYXNzZXNUZXN0cygpJTJDJTIwdGhyZXNob2xkJTNEMC41KSUwQSUyMyUyMFJldHVybnMlMjBQYXNzZXNUZXN0cygpJTIwc2NvcmUlMjBpZiUyMCUzRSUzRCUyMDAuNSUyQyUyMGVsc2UlMjAwLjA=",highlighted:`rubric = Gate(PassesTests(), threshold=<span class="hljs-number">0.5</span>) | |
| <span class="hljs-comment"># Returns PassesTests() score if >= 0.5, else 0.0</span>`,lang:"python",wrap:!1}}),{c(){h=o("p"),h.textContent=M,x=n(),p(b.$$.fragment)},l(l){h=s(l,"P",{"data-svelte-h":!0}),i(h)!=="svelte-kvfsh7"&&(h.textContent=M),x=r(l),d(b.$$.fragment,l)},m(l,w){f(l,h,w),f(l,x,w),m(b,l,w),C=!0},p:D,i(l){C||(v(b.$$.fragment,l),C=!0)},o(l){u(b.$$.fragment,l),C=!1},d(l){l&&(a(h),a(x)),g(b,l)}}}function Z5(T){let h,M="Examples:",x,b,C;return b=new A({props:{code:"cnVicmljJTIwJTNEJTIwV2VpZ2h0ZWRTdW0oJTBBJTIwJTIwJTIwJTIwJTVCUGFzc2VzVGVzdHMoKSUyQyUyMFN0eWxlUnVicmljKCklNUQlMkMlMEElMjAlMjAlMjAlMjB3ZWlnaHRzJTNEJTVCMC43JTJDJTIwMC4zJTVEJTBBKQ==",highlighted:`rubric = WeightedSum( | |
| [PassesTests(), StyleRubric()], | |
| weights=[<span class="hljs-number">0.7</span>, <span class="hljs-number">0.3</span>] | |
| )`,lang:"python",wrap:!1}}),{c(){h=o("p"),h.textContent=M,x=n(),p(b.$$.fragment)},l(l){h=s(l,"P",{"data-svelte-h":!0}),i(h)!=="svelte-kvfsh7"&&(h.textContent=M),x=r(l),d(b.$$.fragment,l)},m(l,w){f(l,h,w),f(l,x,w),m(b,l,w),C=!0},p:D,i(l){C||(v(b.$$.fragment,l),C=!0)},o(l){u(b.$$.fragment,l),C=!1},d(l){l&&(a(h),a(x)),g(b,l)}}}function z5(T){let h,M="Examples:",x,b,C;return b=new A({props:{code:"Y2xhc3MlMjBNdWx0aUdhbWVSdWJyaWMoUnVicmljKSUzQSUwQSUyMCUyMCUyMCUyMGRlZiUyMF9faW5pdF9fKHNlbGYlMkMlMjBnYW1lcyUzQSUyMExpc3QlNUJzdHIlNUQpJTNBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwc3VwZXIoKS5fX2luaXRfXygpJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwc2VsZi5nYW1lcyUyMCUzRCUyMFJ1YnJpY0xpc3QoJTVCR2FtZVJ1YnJpYyhnKSUyMGZvciUyMGclMjBpbiUyMGdhbWVzJTVEKSUwQSUwQSUyMCUyMCUyMCUyMGRlZiUyMGZvcndhcmQoc2VsZiUyQyUyMGFjdGlvbiUyQyUyMG9icyklMjAtJTNFJTIwZmxvYXQlM0ElMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZXR1cm4lMjBzZWxmLmdhbWVzJTVCb2JzLmdhbWVfaW5kZXglNUQoYWN0aW9uJTJDJTIwb2JzKQ==",highlighted:`<span class="hljs-keyword">class</span> <span class="hljs-title class_">MultiGameRubric</span>(<span class="hljs-title class_ inherited__">Rubric</span>): | |
| <span class="hljs-keyword">def</span> <span class="hljs-title function_">__init__</span>(<span class="hljs-params">self, games: <span class="hljs-type">List</span>[<span class="hljs-built_in">str</span>]</span>): | |
| <span class="hljs-built_in">super</span>().__init__() | |
| self.games = RubricList([GameRubric(g) <span class="hljs-keyword">for</span> g <span class="hljs-keyword">in</span> games]) | |
| <span class="hljs-keyword">def</span> <span class="hljs-title function_">forward</span>(<span class="hljs-params">self, action, obs</span>) -> <span class="hljs-built_in">float</span>: | |
| <span class="hljs-keyword">return</span> self.games[obs.game_index](action, obs)`,lang:"python",wrap:!1}}),{c(){h=o("p"),h.textContent=M,x=n(),p(b.$$.fragment)},l(l){h=s(l,"P",{"data-svelte-h":!0}),i(h)!=="svelte-kvfsh7"&&(h.textContent=M),x=r(l),d(b.$$.fragment,l)},m(l,w){f(l,h,w),f(l,x,w),m(b,l,w),C=!0},p:D,i(l){C||(v(b.$$.fragment,l),C=!0)},o(l){u(b.$$.fragment,l),C=!1},d(l){l&&(a(h),a(x)),g(b,l)}}}function q5(T){let h,M="Examples:",x,b,C;return b=new A({props:{code:"Y2xhc3MlMjBBdGFyaVJ1YnJpYyhSdWJyaWMpJTNBJTBBJTIwJTIwJTIwJTIwZGVmJTIwX19pbml0X18oc2VsZiklM0ElMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBzdXBlcigpLl9faW5pdF9fKCklMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBzZWxmLmdhbWVzJTIwJTNEJTIwUnVicmljRGljdCglN0IlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjJwb25nJTIyJTNBJTIwUG9uZ1J1YnJpYygpJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIyYnJlYWtvdXQlMjIlM0ElMjBCcmVha291dFJ1YnJpYygpJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIyc3BhY2VfaW52YWRlcnMlMjIlM0ElMjBTcGFjZUludmFkZXJzUnVicmljKCklMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlN0QpJTBBJTBBJTIwJTIwJTIwJTIwZGVmJTIwZm9yd2FyZChzZWxmJTJDJTIwYWN0aW9uJTJDJTIwb2JzKSUyMC0lM0UlMjBmbG9hdCUzQSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHJldHVybiUyMHNlbGYuZ2FtZXMlNUJvYnMuZ2FtZV9pZCU1RChhY3Rpb24lMkMlMjBvYnMpJTBBJTBBJTIzJTIwQWNjZXNzJTNBJTIwZW52LnJ1YnJpYy5nYW1lcyU1QiUyMnBvbmclMjIlNUQ=",highlighted:`<span class="hljs-keyword">class</span> <span class="hljs-title class_">AtariRubric</span>(<span class="hljs-title class_ inherited__">Rubric</span>): | |
| <span class="hljs-keyword">def</span> <span class="hljs-title function_">__init__</span>(<span class="hljs-params">self</span>): | |
| <span class="hljs-built_in">super</span>().__init__() | |
| self.games = RubricDict({ | |
| <span class="hljs-string">"pong"</span>: PongRubric(), | |
| <span class="hljs-string">"breakout"</span>: BreakoutRubric(), | |
| <span class="hljs-string">"space_invaders"</span>: SpaceInvadersRubric(), | |
| }) | |
| <span class="hljs-keyword">def</span> <span class="hljs-title function_">forward</span>(<span class="hljs-params">self, action, obs</span>) -> <span class="hljs-built_in">float</span>: | |
| <span class="hljs-keyword">return</span> self.games[obs.game_id](action, obs) | |
| <span class="hljs-comment"># Access: env.rubric.games["pong"]</span>`,lang:"python",wrap:!1}}),{c(){h=o("p"),h.textContent=M,x=n(),p(b.$$.fragment)},l(l){h=s(l,"P",{"data-svelte-h":!0}),i(h)!=="svelte-kvfsh7"&&(h.textContent=M),x=r(l),d(b.$$.fragment,l)},m(l,w){f(l,h,w),f(l,x,w),m(b,l,w),C=!0},p:D,i(l){C||(v(b.$$.fragment,l),C=!0)},o(l){u(b.$$.fragment,l),C=!1},d(l){l&&(a(h),a(x)),g(b,l)}}}function Y5(T){let h,M="Examples:",x,b,C;return b=new A({props:{code:"Y2xhc3MlMjBXaW5Mb3NzUnVicmljKFRyYWplY3RvcnlSdWJyaWMpJTNBJTBBJTIwJTIwJTIwJTIwZGVmJTIwc2NvcmVfdHJhamVjdG9yeShzZWxmJTJDJTIwdHJhamVjdG9yeSklM0ElMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBfJTJDJTIwZmluYWxfb2JzJTIwJTNEJTIwdHJhamVjdG9yeSU1Qi0xJTVEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmV0dXJuJTIwMS4wJTIwaWYlMjBmaW5hbF9vYnMubWV0YWRhdGEuZ2V0KCd3b24nKSUyMGVsc2UlMjAwLjAlMEElMEElMjAlMjAlMjAlMjBkZWYlMjBjb21wdXRlX3N0ZXBfcmV3YXJkcyhzZWxmKSUzQSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMyUyMEVxdWFsJTIwY3JlZGl0JTIwdG8lMjBhbGwlMjBzdGVwcyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHNjb3JlJTIwJTNEJTIwc2VsZi5zY29yZV90cmFqZWN0b3J5KHNlbGYuX3RyYWplY3RvcnkpJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmV0dXJuJTIwJTVCc2NvcmUlNUQlMjAqJTIwbGVuKHNlbGYuX3RyYWplY3RvcnkpJTBBJTBBcnVicmljJTIwJTNEJTIwV2luTG9zc1J1YnJpYygpJTBBZm9yJTIwYWN0aW9uJTJDJTIwb2JzJTIwaW4lMjBlcGlzb2RlJTNBJTBBJTIwJTIwJTIwJTIwcmV3YXJkJTIwJTNEJTIwcnVicmljKGFjdGlvbiUyQyUyMG9icyklMjAlMjAlMjMlMjAwLjAlMjB1bnRpbCUyMGRvbmUlMEFzdGVwX3Jld2FyZHMlMjAlM0QlMjBydWJyaWMuY29tcHV0ZV9zdGVwX3Jld2FyZHMoKSUyMCUyMCUyMyUyMENyZWRpdCUyMGFzc2lnbm1lbnQ=",highlighted:`<span class="hljs-keyword">class</span> <span class="hljs-title class_">WinLossRubric</span>(<span class="hljs-title class_ inherited__">TrajectoryRubric</span>): | |
| <span class="hljs-keyword">def</span> <span class="hljs-title function_">score_trajectory</span>(<span class="hljs-params">self, trajectory</span>): | |
| _, final_obs = trajectory[-<span class="hljs-number">1</span>] | |
| <span class="hljs-keyword">return</span> <span class="hljs-number">1.0</span> <span class="hljs-keyword">if</span> final_obs.metadata.get(<span class="hljs-string">'won'</span>) <span class="hljs-keyword">else</span> <span class="hljs-number">0.0</span> | |
| <span class="hljs-keyword">def</span> <span class="hljs-title function_">compute_step_rewards</span>(<span class="hljs-params">self</span>): | |
| <span class="hljs-comment"># Equal credit to all steps</span> | |
| score = self.score_trajectory(self._trajectory) | |
| <span class="hljs-keyword">return</span> [score] * <span class="hljs-built_in">len</span>(self._trajectory) | |
| rubric = WinLossRubric() | |
| <span class="hljs-keyword">for</span> action, obs <span class="hljs-keyword">in</span> episode: | |
| reward = rubric(action, obs) <span class="hljs-comment"># 0.0 until done</span> | |
| step_rewards = rubric.compute_step_rewards() <span class="hljs-comment"># Credit assignment</span>`,lang:"python",wrap:!1}}),{c(){h=o("p"),h.textContent=M,x=n(),p(b.$$.fragment)},l(l){h=s(l,"P",{"data-svelte-h":!0}),i(h)!=="svelte-kvfsh7"&&(h.textContent=M),x=r(l),d(b.$$.fragment,l)},m(l,w){f(l,h,w),f(l,x,w),m(b,l,w),C=!0},p:D,i(l){C||(v(b.$$.fragment,l),C=!0)},o(l){u(b.$$.fragment,l),C=!1},d(l){l&&(a(h),a(x)),g(b,l)}}}function Q5(T){let h,M="Per-step reward:",x,b,C;return b=new A({props:{code:"cl90JTIwJTNEJTIwZ2FtbWElNUUoVC0xLXQpJTIwKiUyMFJfZmluYWw=",highlighted:"r_t = gamma^(T-1-t) * R_final",lang:"text",wrap:!1}}),{c(){h=o("p"),h.textContent=M,x=n(),p(b.$$.fragment)},l(l){h=s(l,"P",{"data-svelte-h":!0}),i(h)!=="svelte-1k5vylx"&&(h.textContent=M),x=r(l),d(b.$$.fragment,l)},m(l,w){f(l,h,w),f(l,x,w),m(b,l,w),C=!0},p:D,i(l){C||(v(b.$$.fragment,l),C=!0)},o(l){u(b.$$.fragment,l),C=!1},d(l){l&&(a(h),a(x)),g(b,l)}}}function H5(T){let h,M="Examples:",x,b,C;return b=new A({props:{code:"Y2xhc3MlMjBDaGVzc1J1YnJpYyhFeHBvbmVudGlhbERpc2NvdW50aW5nVHJhamVjdG9yeVJ1YnJpYyklM0ElMEElMjAlMjAlMjAlMjBkZWYlMjBzY29yZV90cmFqZWN0b3J5KHNlbGYlMkMlMjB0cmFqZWN0b3J5KSUzQSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMF8lMkMlMjBmaW5hbF9vYnMlMjAlM0QlMjB0cmFqZWN0b3J5JTVCLTElNUQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBvdXRjb21lJTIwJTNEJTIwZmluYWxfb2JzLm1ldGFkYXRhLmdldCgnd2lubmVyJyklMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBpZiUyMG91dGNvbWUlMjAlM0QlM0QlMjAnYWdlbnQnJTNBJTIwcmV0dXJuJTIwMS4wJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZWxpZiUyMG91dGNvbWUlMjAlM0QlM0QlMjAnb3Bwb25lbnQnJTNBJTIwcmV0dXJuJTIwMC4wJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZWxzZSUzQSUyMHJldHVybiUyMDAuNSUyMCUyMCUyMyUyMERyYXclMEElMEFydWJyaWMlMjAlM0QlMjBDaGVzc1J1YnJpYyhnYW1tYSUzRDAuOTkpJTBBcmV3YXJkJTIwJTNEJTIwcnVicmljKGFjdGlvbiUyQyUyMG9icyklMjAlMjAlMjMlMjAwLjAlMjB1bnRpbCUyMGRvbmUlMkMlMjB0aGVuJTIwZmluYWwlMjBzY29yZSUwQXN0ZXBfcmV3YXJkcyUyMCUzRCUyMHJ1YnJpYy5jb21wdXRlX3N0ZXBfcmV3YXJkcygpJTIwJTIwJTIzJTIwRGlzY291bnRlZCUyMHBlci1zdGVwJTIwcmV3YXJkcw==",highlighted:`<span class="hljs-keyword">class</span> <span class="hljs-title class_">ChessRubric</span>(<span class="hljs-title class_ inherited__">ExponentialDiscountingTrajectoryRubric</span>): | |
| <span class="hljs-keyword">def</span> <span class="hljs-title function_">score_trajectory</span>(<span class="hljs-params">self, trajectory</span>): | |
| _, final_obs = trajectory[-<span class="hljs-number">1</span>] | |
| outcome = final_obs.metadata.get(<span class="hljs-string">'winner'</span>) | |
| <span class="hljs-keyword">if</span> outcome == <span class="hljs-string">'agent'</span>: <span class="hljs-keyword">return</span> <span class="hljs-number">1.0</span> | |
| <span class="hljs-keyword">elif</span> outcome == <span class="hljs-string">'opponent'</span>: <span class="hljs-keyword">return</span> <span class="hljs-number">0.0</span> | |
| <span class="hljs-keyword">else</span>: <span class="hljs-keyword">return</span> <span class="hljs-number">0.5</span> <span class="hljs-comment"># Draw</span> | |
| rubric = ChessRubric(gamma=<span class="hljs-number">0.99</span>) | |
| reward = rubric(action, obs) <span class="hljs-comment"># 0.0 until done, then final score</span> | |
| step_rewards = rubric.compute_step_rewards() <span class="hljs-comment"># Discounted per-step rewards</span>`,lang:"python",wrap:!1}}),{c(){h=o("p"),h.textContent=M,x=n(),p(b.$$.fragment)},l(l){h=s(l,"P",{"data-svelte-h":!0}),i(h)!=="svelte-kvfsh7"&&(h.textContent=M),x=r(l),d(b.$$.fragment,l)},m(l,w){f(l,h,w),f(l,x,w),m(b,l,w),C=!0},p:D,i(l){C||(v(b.$$.fragment,l),C=!0)},o(l){u(b.$$.fragment,l),C=!1},d(l){l&&(a(h),a(x)),g(b,l)}}}function F5(T){let h,M="Examples:",x,b,C;return b=new A({props:{code:"aW1wb3J0JTIwb3MlMEElMEElMjMlMjBDb25uZWN0JTIwdG8lMjBzaGFyZWQlMjBHaXRlYSUyMChjcmVkZW50aWFscyUyMGZyb20lMjBlbnZpcm9ubWVudCklMEFjbGllbnQlMjAlM0QlMjBHaXRTZXJ2ZXJDbGllbnQoJTBBJTIwJTIwJTIwJTIwZ2l0ZWFfdXJsJTNEb3MuZ2V0ZW52KCUyMkdJVEVBX1VSTCUyMiklMkMlMEElMjAlMjAlMjAlMjB1c2VybmFtZSUzRG9zLmdldGVudiglMjJHSVRFQV9VU0VSTkFNRSUyMiklMkMlMEElMjAlMjAlMjAlMjBwYXNzd29yZCUzRG9zLmdldGVudiglMjJHSVRFQV9QQVNTV09SRCUyMiklMEEpJTBBY2xpZW50LndhaXRfZm9yX3JlYWR5KCklMEElMjMlMjBDbG9uZSUyMHJlcG8lMjB0byUyMHdvcmtzcGFjZSUwQXBhdGglMjAlM0QlMjBjbGllbnQuY2xvbmVfdG9fd29ya3NwYWNlKCUyMm15LXJlcG8lMjIlMkMlMjBjb21taXQlM0QlMjJhYmMxMjMlMjIpJTBBJTIzJTIwRmFzdCUyMHJlc2V0JTIwdG8lMjBiYXNlJTIwc3RhdGUlMEFjbGllbnQucmVzZXRfd29ya3NwYWNlKCUyMm15LXJlcG8lMjIlMkMlMjBjb21taXQlM0QlMjJhYmMxMjMlMjIp",highlighted:`<span class="hljs-keyword">import</span> os | |
| <span class="hljs-comment"># Connect to shared Gitea (credentials from environment)</span> | |
| client = GitServerClient( | |
| gitea_url=os.getenv(<span class="hljs-string">"GITEA_URL"</span>), | |
| username=os.getenv(<span class="hljs-string">"GITEA_USERNAME"</span>), | |
| password=os.getenv(<span class="hljs-string">"GITEA_PASSWORD"</span>) | |
| ) | |
| client.wait_for_ready() | |
| <span class="hljs-comment"># Clone repo to workspace</span> | |
| path = client.clone_to_workspace(<span class="hljs-string">"my-repo"</span>, commit=<span class="hljs-string">"abc123"</span>) | |
| <span class="hljs-comment"># Fast reset to base state</span> | |
| client.reset_workspace(<span class="hljs-string">"my-repo"</span>, commit=<span class="hljs-string">"abc123"</span>)`,lang:"python",wrap:!1}}),{c(){h=o("p"),h.textContent=M,x=n(),p(b.$$.fragment)},l(l){h=s(l,"P",{"data-svelte-h":!0}),i(h)!=="svelte-kvfsh7"&&(h.textContent=M),x=r(l),d(b.$$.fragment,l)},m(l,w){f(l,h,w),f(l,x,w),m(b,l,w),C=!0},p:D,i(l){C||(v(b.$$.fragment,l),C=!0)},o(l){u(b.$$.fragment,l),C=!1},d(l){l&&(a(h),a(x)),g(b,l)}}}function X5(T){let h,M="Examples:",x,b,C;return b=new A({props:{code:"cHJvdmlkZXIlMjAlM0QlMjBMb2NhbERvY2tlclByb3ZpZGVyKCklMEFiYXNlX3VybCUyMCUzRCUyMHByb3ZpZGVyLnN0YXJ0X2NvbnRhaW5lciglMjJlY2hvLWVudiUzQWxhdGVzdCUyMiklMEFwcmludChiYXNlX3VybCklMjAlMjAlMjMlMjBodHRwJTNBJTJGJTJGbG9jYWxob3N0JTNBODAwMCUwQSUyMyUyMFVzZSUyMHRoZSUyMGVudmlyb25tZW50JTIwdmlhJTIwYmFzZV91cmwlMEFwcm92aWRlci5zdG9wX2NvbnRhaW5lcigp",highlighted:`provider = LocalDockerProvider() | |
| base_url = provider.start_container(<span class="hljs-string">"echo-env:latest"</span>) | |
| <span class="hljs-built_in">print</span>(base_url) <span class="hljs-comment"># http://localhost:8000</span> | |
| <span class="hljs-comment"># Use the environment via base_url</span> | |
| provider.stop_container()`,lang:"python",wrap:!1}}),{c(){h=o("p"),h.textContent=M,x=n(),p(b.$$.fragment)},l(l){h=s(l,"P",{"data-svelte-h":!0}),i(h)!=="svelte-kvfsh7"&&(h.textContent=M),x=r(l),d(b.$$.fragment,l)},m(l,w){f(l,h,w),f(l,x,w),m(b,l,w),C=!0},p:D,i(l){C||(v(b.$$.fragment,l),C=!0)},o(l){u(b.$$.fragment,l),C=!1},d(l){l&&(a(h),a(x)),g(b,l)}}}function O5(T){let h,M="Examples:",x,b,C;return b=new A({props:{code:"cHJvdmlkZXIlMjAlM0QlMjBMb2NhbERvY2tlclByb3ZpZGVyKCklMEFiYXNlX3VybCUyMCUzRCUyMHByb3ZpZGVyLnN0YXJ0X2NvbnRhaW5lciglMjJlY2hvLWVudiUzQWxhdGVzdCUyMiklMEElMjMlMjBDb250YWluZXIlMjBydW5uaW5nJTIwb24lMjBodHRwJTNBJTJGJTJGbG9jYWxob3N0JTNBJTNDcmFuZG9tLXBvcnQlM0UlMEFwcm92aWRlci5zdG9wX2NvbnRhaW5lcigp",highlighted:`provider = LocalDockerProvider() | |
| base_url = provider.start_container(<span class="hljs-string">"echo-env:latest"</span>) | |
| <span class="hljs-comment"># Container running on http://localhost:<random-port></span> | |
| provider.stop_container()`,lang:"python",wrap:!1}}),{c(){h=o("p"),h.textContent=M,x=n(),p(b.$$.fragment)},l(l){h=s(l,"P",{"data-svelte-h":!0}),i(h)!=="svelte-kvfsh7"&&(h.textContent=M),x=r(l),d(b.$$.fragment,l)},m(l,w){f(l,h,w),f(l,x,w),m(b,l,w),C=!0},p:D,i(l){C||(v(b.$$.fragment,l),C=!0)},o(l){u(b.$$.fragment,l),C=!1},d(l){l&&(a(h),a(x)),g(b,l)}}}function K5(T){let h,M="Examples:",x,b,C;return b=new A({props:{code:"cHJvdmlkZXIlMjAlM0QlMjBLdWJlcm5ldGVzUHJvdmlkZXIobmFtZXNwYWNlJTNEJTIyZW52dG9yY2gtZGV2JTIyKSUwQWJhc2VfdXJsJTIwJTNEJTIwcHJvdmlkZXIuc3RhcnRfY29udGFpbmVyKCUyMmVjaG8tZW52JTNBbGF0ZXN0JTIyKSUwQSUyMyUyMFBvZCUyMHJ1bm5pbmclMjBpbiUyMGs4cyUyQyUyMGFjY2Vzc2libGUlMjB2aWElMjBzZXJ2aWNlJTIwb3IlMjBwb3J0LWZvcndhcmQlMEFwcm92aWRlci5zdG9wX2NvbnRhaW5lcigp",highlighted:`provider = KubernetesProvider(namespace=<span class="hljs-string">"envtorch-dev"</span>) | |
| base_url = provider.start_container(<span class="hljs-string">"echo-env:latest"</span>) | |
| <span class="hljs-comment"># Pod running in k8s, accessible via service or port-forward</span> | |
| provider.stop_container()`,lang:"python",wrap:!1}}),{c(){h=o("p"),h.textContent=M,x=n(),p(b.$$.fragment)},l(l){h=s(l,"P",{"data-svelte-h":!0}),i(h)!=="svelte-kvfsh7"&&(h.textContent=M),x=r(l),d(b.$$.fragment,l)},m(l,w){f(l,h,w),f(l,x,w),m(b,l,w),C=!0},p:D,i(l){C||(v(b.$$.fragment,l),C=!0)},o(l){u(b.$$.fragment,l),C=!1},d(l){l&&(a(h),a(x)),g(b,l)}}}function eJ(T){let h,M="Examples:",x,b,C;return b=new A({props:{code:"cHJvdmlkZXIlMjAlM0QlMjBVVlByb3ZpZGVyKHByb2plY3RfcGF0aCUzRCUyMiUyRnBhdGglMkZ0byUyRmVudiUyMiklMEFiYXNlX3VybCUyMCUzRCUyMHByb3ZpZGVyLnN0YXJ0KCklMEFwcmludChiYXNlX3VybCklMjAlMjAlMjMlMjBodHRwJTNBJTJGJTJGbG9jYWxob3N0JTNBODAwMCUwQXByb3ZpZGVyLnN0b3AoKQ==",highlighted:`provider = UVProvider(project_path=<span class="hljs-string">"/path/to/env"</span>) | |
| base_url = provider.start() | |
| <span class="hljs-built_in">print</span>(base_url) <span class="hljs-comment"># http://localhost:8000</span> | |
| provider.stop()`,lang:"python",wrap:!1}}),{c(){h=o("p"),h.textContent=M,x=n(),p(b.$$.fragment)},l(l){h=s(l,"P",{"data-svelte-h":!0}),i(h)!=="svelte-kvfsh7"&&(h.textContent=M),x=r(l),d(b.$$.fragment,l)},m(l,w){f(l,h,w),f(l,x,w),m(b,l,w),C=!0},p:D,i(l){C||(v(b.$$.fragment,l),C=!0)},o(l){u(b.$$.fragment,l),C=!1},d(l){l&&(a(h),a(x)),g(b,l)}}}function tJ(T){let h,M="Examples:",x,b,C;return b=new A({props:{code:"cHJvdmlkZXIlMjAlM0QlMjBVVlByb3ZpZGVyKHByb2plY3RfcGF0aCUzRCUyMiUyRnBhdGglMkZ0byUyRmVudiUyMiklMEFiYXNlX3VybCUyMCUzRCUyMHByb3ZpZGVyLnN0YXJ0KCklMEFwcmludChiYXNlX3VybCklMjAlMjAlMjMlMjBodHRwJTNBJTJGJTJGbG9jYWxob3N0JTNBODAwMCUwQSUyMyUyMFVzZSUyMHRoZSUyMGVudmlyb25tZW50JTIwdmlhJTIwYmFzZV91cmwlMEFwcm92aWRlci5zdG9wKCk=",highlighted:`provider = UVProvider(project_path=<span class="hljs-string">"/path/to/env"</span>) | |
| base_url = provider.start() | |
| <span class="hljs-built_in">print</span>(base_url) <span class="hljs-comment"># http://localhost:8000</span> | |
| <span class="hljs-comment"># Use the environment via base_url</span> | |
| provider.stop()`,lang:"python",wrap:!1}}),{c(){h=o("p"),h.textContent=M,x=n(),p(b.$$.fragment)},l(l){h=s(l,"P",{"data-svelte-h":!0}),i(h)!=="svelte-kvfsh7"&&(h.textContent=M),x=r(l),d(b.$$.fragment,l)},m(l,w){f(l,h,w),f(l,x,w),m(b,l,w),C=!0},p:D,i(l){C||(v(b.$$.fragment,l),C=!0)},o(l){u(b.$$.fragment,l),C=!1},d(l){l&&(a(h),a(x)),g(b,l)}}}function nJ(T){let h,M;return h=new A({props:{code:"d2l0aCUyMEFDQVNhbmRib3hQcm92aWRlcihhbm9ueW1vdXNfcG9ydCUzRFRydWUlMkMlMjAuLi4pJTIwYXMlMjBwcm92aWRlciUzQSUwQSUyMCUyMCUyMCUyMGJhc2VfdXJsJTIwJTNEJTIwcHJvdmlkZXIuc3RhcnRfY29udGFpbmVyKCUyMmRpc2slM0FteS1lbnYlMjIlMkMlMjBjbWQlM0QuLi4pJTBBJTIwJTIwJTIwJTIwLi4uJTBBJTIzJTIwc2FuZGJveCUyMGRlbGV0ZWQlMjBhbmQlMjBTREslMjBjbGllbnQlMjBjbG9zZWQlMjBvbiUyMGV4aXQ=",highlighted:`<span class="hljs-keyword">with</span> ACASandboxProvider(anonymous_port=<span class="hljs-literal">True</span>, ...) <span class="hljs-keyword">as</span> provider: | |
| base_url = provider.start_container(<span class="hljs-string">"disk:my-env"</span>, cmd=...) | |
| ... | |
| <span class="hljs-comment"># sandbox deleted and SDK client closed on exit</span>`,lang:"python",wrap:!1}}),{c(){p(h.$$.fragment)},l(x){d(h.$$.fragment,x)},m(x,b){m(h,x,b),M=!0},p:D,i(x){M||(v(h.$$.fragment,x),M=!0)},o(x){u(h.$$.fragment,x),M=!1},d(x){g(h,x)}}}function rJ(T){let h,M;return h=new A({props:{code:"cHJvdmlkZXIlMjAlM0QlMjBBQ0FTYW5kYm94UHJvdmlkZXIoJTBBJTIwJTIwJTIwJTIwYW5vbnltb3VzX3BvcnQlM0RUcnVlJTJDJTBBJTIwJTIwJTIwJTIwZWdyZXNzX3BvbGljeSUzREFDQVNhbmRib3hQcm92aWRlci5kZW55X2FsbF9lZ3Jlc3MoJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwYWxsb3clM0QlNUIlMjJteS1tb2RlbC5vcGVuYWkuYXp1cmUuY29tJTIyJTVEJTBBJTIwJTIwJTIwJTIwKSUyQyUwQSk=",highlighted:`provider = ACASandboxProvider( | |
| anonymous_port=<span class="hljs-literal">True</span>, | |
| egress_policy=ACASandboxProvider.deny_all_egress( | |
| allow=[<span class="hljs-string">"my-model.openai.azure.com"</span>] | |
| ), | |
| )`,lang:"python",wrap:!1}}),{c(){p(h.$$.fragment)},l(x){d(h.$$.fragment,x)},m(x,b){m(h,x,b),M=!0},p:D,i(x){M||(v(h.$$.fragment,x),M=!0)},o(x){u(h.$$.fragment,x),M=!1},d(x){g(h,x)}}}function oJ(T){let h,M,x,b,C,l,w,xf,Fo,g4='The <code>openenv.core</code> package provides the core abstractions for building and running environments. For an end-to-end tutorial on building environments with OpenEnv, see the <a href="../getting_started/environment-builder">building an environment</a> guide.',Cf,Xo,f4='If you are trying to understand when OpenEnv exposes the training loop versus direct MCP access, see the <a href="../guides/simulation-vs-production">simulation vs production mode</a> guide.',wf,Oo,h4='For a high-level explanation of how MCP-backed environments move through <code>step()</code>, <code>step_async()</code>, and convenience tool helpers, see the <a href="../guides/mcp-environment-lifecycle">MCP environment lifecycle</a> guide.',Mf,Ko,Tf,es,jf,Se,ts,E_,Lc,b4="A message in a conversation.",U_,Dc,$4="Compatible with Huggingface chat template format.",Jf,ue,ns,P_,Ac,_4="Protocol for tokenizers that support chat templates.",L_,Vc,y4=`This protocol defines the interface that tokenizers must implement | |
| to work with chat-based environments. It’s compatible with | |
| Huggingface transformers tokenizers.`,D_,An,rs,A_,Rc,x4="Apply a chat template to format and optionally tokenize a conversation.",V_,Vn,os,R_,Sc,C4="Decode token IDs back to text.",kf,Ne,ss,S_,Nc,w4="Transform observations to add rewards, metrics, or other modifications.",N_,Bc,M4=`Transforms follow the TorchRL pattern where they take an observation | |
| and return a (potentially modified) observation. This allows for | |
| flexible reward computation and observation augmentation.`,If,q,as,B_,Wc,T4="Base class for all environment servers following Gym/Gymnasium API.",W_,Gc,j4='See <a href="https://github.com/huggingface/OpenEnv/blob/main/rfcs/004-rubrics.md" rel="nofollow">rfcs/004-rubrics.md</a> for rubric design details.',G_,at,ls,Z_,Zc,J4="Clean up resources used by the environment.",z_,zc,k4=`Override this method to implement custom cleanup logic. | |
| Called when the environment is being destroyed or reset.`,q_,lt,is,Y_,qc,I4="Get metadata about this environment.",Q_,Yc,E4=`Override this method to provide custom metadata for the environment. | |
| Default implementation returns basic metadata derived from class name.`,H_,Rn,cs,F_,Qc,U4="Reset the environment and return initial observation.",X_,it,ps,O_,Hc,P4="Async version of reset. Default implementation calls sync reset.",K_,Fc,L4="Override to provide true async implementation.",ey,Sn,ds,ty,Xc,D4="Take a step in the environment.",ny,ct,ms,ry,Oc,A4="Async version of step. Default implementation calls sync step.",oy,Kc,V4="Override to provide true async implementation.",Ef,vs,Uf,Nt,us,sy,ep,R4="Server operation mode.",Pf,Bt,gs,ay,tp,S4="Server health status values.",Lf,Wt,fs,ly,np,N4="WebSocket error codes for structured error handling.",Df,Be,hs,iy,rp,B4="Base class for all environment actions.",cy,op,W4=`All action subclasses should inherit from this base class. | |
| Uses Pydantic for automatic validation and serialization.`,Af,We,bs,py,sp,G4="Base class for all environment observations.",dy,ap,Z4=`All observation subclasses should inherit from this base class. | |
| Uses Pydantic for automatic validation and serialization.`,Vf,Gt,$s,my,lp,z4="Request model for environment reset.",Rf,Zt,_s,vy,ip,q4="Response model for environment reset.",Sf,zt,ys,uy,cp,Y4="Request model for environment step.",Nf,qt,xs,gy,pp,Q4="Response model for environment step.",Bf,Yt,Cs,fy,dp,H4="Base class for WebSocket messages with shared configuration.",Wf,Ge,ws,hy,mp,F4="Base class for environment state.",by,vp,X4="Represents internal environment state, separate from observations.",Gf,Qt,Ms,$y,up,O4="Result of code execution containing stdout, stderr, and exit code.",Zf,Ht,Ts,_y,gp,K4="Metadata about an environment for documentation and UI purposes.",zf,Ft,js,yy,fp,eT="Response model for the combined schema endpoint.",qf,Xt,Js,xy,hp,tT="Response model for health check endpoint.",Yf,Ot,ks,Cy,bp,nT="WebSocket message to reset the environment.",Qf,Kt,Is,wy,$p,rT="WebSocket message to execute a step.",Hf,en,Es,My,_p,oT="WebSocket message to request current state.",Ff,tn,Us,Ty,yp,sT="WebSocket message to close the session.",Xf,nn,Ps,jy,xp,aT="WebSocket response containing an observation.",Of,rn,Ls,Jy,Cp,lT="WebSocket response containing environment state.",Kf,on,Ds,ky,wp,iT="WebSocket response for errors.",eh,sn,As,Iy,Mp,cT="Configuration for concurrent environment sessions.",th,Ze,Vs,Ey,Tp,pT="Status of server capacity for concurrent sessions.",Uy,Nn,Rs,Py,jp,dT="Create status from active and max session counts.",nh,an,Ss,Ly,Jp,mT="Information about an active session.",rh,Ns,oh,ln,Bs,Dy,kp,vT="Base exception for all OpenEnv errors.",sh,ze,Ws,Ay,Ip,uT="Raised when an environment is misconfigured for concurrent sessions.",Vy,Ep,gT=`This error is raised during server startup when max_concurrent_envs > 1 | |
| is specified for an environment that is not marked as SUPPORTS_CONCURRENT_SESSIONS.`,ah,qe,Gs,Ry,Up,fT="Raised when the server cannot accept new sessions due to capacity limits.",Sy,Pp,hT=`This error is raised when a new WebSocket connection is attempted but | |
| the server has already reached max_concurrent_envs active sessions.`,lh,cn,Zs,Ny,Lp,bT="Raised when attempting to access a session that does not exist.",ih,pn,zs,By,Dp,$T="Raised when a session cannot be created.",ch,dn,qs,Wy,Ap,_T="Raised when the environment factory fails to create an instance.",ph,Ys,dh,Y,Qs,Gy,Vp,yT="HTTP server wrapper for Environment instances.",Zy,Rp,xT=`This class wraps an Environment and exposes its reset(), step(), and state | |
| methods as HTTP and WebSocket endpoints compatible with EnvClient.`,zy,Sp,CT="The server expects:",qy,Np,wT="<li>Action deserialization: Converts JSON dict to Action subclass</li> <li>Observation serialization: Converts Observation subclass to JSON dict</li>",Yy,Bn,Qy,Wn,Hs,Hy,Bp,MT="Get the current capacity status of the server.",Fy,Gn,Fs,Xy,Wp,TT="Get information about a specific session.",Oy,Zn,Xs,Ky,Gp,jT="Register HTTP routes on a FastAPI application.",mh,Ye,Os,ex,Zp,JT="Create a FastAPI application with or without web interface.",tx,zp,kT=`This function creates a FastAPI app with the web interface enabled by default, | |
| including README integration for better user experience.`,vh,mn,Ks,nx,qp,IT="Create a FastAPI application with comprehensive documentation.",uh,ea,gh,vn,ta,rx,Yp,ET="Log entry for an action taken.",fh,un,na,ox,Qp,UT="Current episode state for the web interface.",hh,ne,ra,sx,Hp,PT="Manages the web interface for an environment.",ax,zn,oa,lx,Fp,LT="Connect a new WebSocket client.",ix,qn,sa,cx,Xp,DT="Disconnect a WebSocket client.",px,Yn,aa,dx,Op,AT="Get current environment state.",mx,Qn,la,vx,Kp,VT="Reset the environment and update state.",ux,Hn,ia,gx,ed,RT="Execute a step in the environment and update state.",bh,gn,ca,fx,td,ST="Create a FastAPI application with web interface for the given environment.",$h,pa,_h,je,da,hx,nd,NT="Convert JSON dict to Action instance using Pydantic validation.",bx,rd,BT=`MCP action types (<code>list_tools</code>, <code>call_tool</code>) are recognised | |
| automatically via the <code>"type"</code> discriminator field, regardless of | |
| the environment’s configured <code>action_cls</code>. All other payloads | |
| fall through to <code>action_cls.model_validate()</code>.`,$x,od,WT=`For special cases (e.g., tensor fields, custom type conversions), | |
| use deserialize_action_with_preprocessing().`,yh,Je,ma,_x,sd,GT="Convert JSON dict to Action instance with preprocessing for special types.",yx,ad,ZT="This version handles common type conversions needed for web interfaces:",xx,ld,zT="<li>Converting lists/strings to tensors for ‘tokens’ field</li> <li>Converting string action_id to int</li> <li>Other custom preprocessing as needed</li>",xh,fn,va,Cx,id,qT="Convert Observation instance to JSON-compatible dict using Pydantic.",Ch,ua,wh,hn,ga,wx,cd,YT="Combines multiple transforms into a single transform.",Mh,bn,fa,Mx,pd,QT="Default transform that passes through unchanged.",Th,ha,jh,$n,ba,Tx,dd,HT="Configuration for a simple GET endpoint.",Jh,_n,$a,jx,md,FT="Register multiple GET endpoints from configuration.",kh,_a,Ih,ya,Eh,j,xa,Jx,vd,XT="Async environment client for persistent sessions.",kx,ud,OT=`This client maintains a persistent WebSocket connection to an environment | |
| server, enabling efficient multi-step interactions. Each client instance | |
| corresponds to a dedicated environment session on the server.`,Ix,gd,KT=`The client is async by default. For synchronous usage, use the <code>.sync()</code> | |
| method to get a <code>SyncEnvClient</code> wrapper.`,Ex,fd,e3="Features:",Ux,hd,t3="<li>Lower latency for sequential interactions</li> <li>Session state is maintained server-side</li> <li>Better suited for long-running episodes</li> <li>Async by default for modern Python async/await patterns</li>",Px,bd,n3="Examples:",Lx,Fn,Dx,Xn,Ax,pt,Ca,Vx,$d,r3="Close the WebSocket connection and clean up resources.",Rx,_d,o3=`If this client was created via from_docker_image() or from_env(), | |
| this will also stop and remove the associated container/process.`,Sx,On,wa,Nx,yd,s3="Establish WebSocket connection to the server.",Bx,Kn,Ma,Wx,xd,a3="Close the WebSocket connection.",Gx,er,Ta,Zx,Cd,l3="Create an environment client by spinning up a Docker container.",zx,dt,ja,qx,wd,i3="Create a client from a Hugging Face Space.",Yx,tr,Qx,nr,Ja,Hx,Md,c3="Reset the environment with optional parameters.",Fx,rr,ka,Xx,Td,p3="Get the current environment state from the server.",Ox,or,Ia,Kx,jd,d3="Execute an action in the environment.",e1,xe,Ea,t1,Jd,m3="Return a synchronous wrapper around this async client.",n1,kd,v3=`Use this method when you need synchronous access to the environment | |
| without async/await syntax. This is useful for:`,r1,Id,u3="<li>Integration with synchronous codebases</li> <li>Interactive/REPL usage</li> <li>Stopping async from “infecting” the call stack</li>",o1,sr,Uh,Ua,Ph,V,Pa,s1,Ed,g3="Synchronous wrapper around an async EnvClient.",a1,Ud,f3=`This class provides a synchronous interface to an async EnvClient, | |
| making it easier to use in synchronous code or to stop async from | |
| “infecting” the entire call stack.`,l1,Pd,h3=`The wrapper executes async operations on a dedicated background event loop | |
| so connection state remains bound to a single loop.`,i1,Ld,b3=`For guaranteed resource cleanup, use <code>with SyncEnvClient(...)</code> or call | |
| <code>close()</code> explicitly. <code>__del__</code> is best-effort only and may not run | |
| reliably (for example, during interpreter shutdown).`,c1,ar,p1,lr,La,d1,Dd,$3="Close the connection and clean up resources.",m1,ir,Da,v1,Ad,_3="Establish connection to the server.",u1,cr,Aa,g1,Vd,y3="Close the connection.",f1,pr,Va,h1,Rd,x3="Reset the environment.",b1,dr,Ra,$1,Sd,C3="Get the current environment state.",_1,mr,Sa,y1,Nd,w3="Execute an action in the environment.",Lh,Na,Dh,re,Ba,x1,Bd,M3="Environment client that works with raw dictionaries instead of typed classes.",C1,Wd,T3=`This client doesn’t require installing environment-specific packages, making it | |
| ideal for:`,w1,Gd,j3="<li>Connecting to remote servers without installing their packages</li> <li>Quick prototyping and testing</li> <li>Environments where type safety isn’t needed</li> <li>Security-conscious scenarios where you don’t want to run remote code</li>",M1,Zd,J3=`The trade-off is that you lose type safety and IDE autocomplete for actions | |
| and observations. Instead of typed objects, you work with plain dictionaries.`,T1,vr,j1,zd,k3=`<code>GenericEnvClient</code> inherits <code>from_docker_image()</code> and <code>from_env()</code> from | |
| <code>EnvClient</code>, so you can use it with Docker containers and HuggingFace | |
| Spaces without any package installation.`,Ah,ge,Wa,J1,qd,I3="A dictionary subclass for creating actions when using GenericEnvClient.",k1,Yd,E3=`This provides a semantic wrapper around dictionaries to make code more | |
| readable when working with GenericEnvClient. It behaves exactly like a | |
| dict but signals intent that this is an action for an environment.`,I1,ur,E1,Qd,U3=`<code>GenericAction</code> is just a dict with a constructor that accepts keyword | |
| arguments. It’s provided for symmetry with typed Action classes and | |
| to make code more readable.`,Vh,Ga,Rh,yn,Za,U1,Hd,P3="A single tool/function call returned by the model.",Sh,Qe,za,P1,Fd,L3="Normalized response from an LLM, with optional tool calls.",L1,gr,qa,D1,Xd,D3="Convert to an OpenAI-format assistant message dict.",Nh,fe,Ya,A1,Od,A3="Abstract base for LLM endpoint clients.",V1,Kd,V3="Subclass and implement <code>complete()</code> for your protocol.",R1,fr,Qa,S1,em,R3="Send a prompt, return the text response.",N1,mt,Ha,B1,tm,S3="Send messages with tool definitions, return a normalized response.",W1,nm,N3=`Messages use OpenAI-format dicts (<code>{"role": "...", "content": "..."}</code>). | |
| Tools use MCP tool definitions; they are converted internally.`,Bh,ke,Fa,G1,rm,B3="Client for OpenAI-compatible APIs.",Z1,om,W3=`Works with: OpenAI, vLLM, TGI, Ollama, HuggingFace Inference API, | |
| or any endpoint that speaks the OpenAI chat completions format.`,z1,hr,Xa,q1,sm,G3="Send a chat completion request.",Wh,He,Oa,Y1,am,Z3="Client for Anthropic’s Messages API.",Q1,lm,z3="Requires the <code>anthropic</code> package (lazy-imported at construction time).",Gh,xn,Ka,H1,im,q3="Create an LLM client for a hosted provider.",Zh,el,zh,Cn,tl,F1,cm,Y3="Represents the result of one environment step.",qh,nl,Yh,rl,Qh,I,ol,X1,pm,Q3="Base class for environments that expose tools via MCP (Model Context Protocol).",O1,dm,H3=`MCPEnvironment bridges FastMCP servers with OpenEnv’s Gym-style API, allowing | |
| agents to discover and invoke MCP tools through the standard step() interface.`,K1,mm,F3="The class automatically handles:",e2,vm,X3="<li>ListToolsAction: Returns available tools from the MCP server</li> <li>CallToolAction: Invokes a specific tool with arguments</li>",t2,um,O3=`All other actions are delegated to the abstract _step_impl() method, | |
| which subclasses must implement.`,n2,br,r2,vt,sl,o2,gm,K3="Clean up resources used by the environment.",s2,fm,e8=`This method cleans up the MCP client and any other resources. | |
| Subclasses should call super().close() if they override this method.`,a2,ut,al,l2,hm,t8="Execute Python code with tools available as callables.",i2,bm,n8=`This enables the CodeAct pattern where agents write Python code | |
| that calls tools directly as functions, avoiding JSON-RPC overhead.`,c2,gt,ll,p2,$m,r8="Get callable functions for code mode.",d2,_m,o8=`Returns tool functions as direct Python callables, enabling code mode | |
| where agents write Python code that calls tools directly (no JSON-RPC | |
| overhead). Mode-specific tools are filtered by the current mode.`,m2,pe,il,v2,ym,s8="Context manager for MCP client sessions.",u2,xm,a8="This wrapper serves two purposes:",g2,Cm,l8=`<li><p><strong>Null guard</strong> — raises a clear error if <code>close()</code> has already | |
| been called (<code>mcp_client</code> is <code>None</code>).</p></li> <li><p><strong>AsyncExitStack adapter</strong> — FastMCP’s <code>Client.__aenter__</code> | |
| creates a background <code>asyncio.Task</code> for session management. | |
| When entered directly via <code>AsyncExitStack</code> in the HTTP session | |
| path (<code>_create_session</code>), this task can be cancelled by ASGI | |
| harnesses (e.g. Starlette <code>TestClient</code>) between requests, | |
| corrupting session state. Wrapping in an <code>asynccontextmanager</code> | |
| generator isolates the task lifecycle: the generator frame keeps | |
| <code>async with client:</code> suspended at <code>yield</code>, so cleanup only | |
| runs when the stack explicitly closes the generator — not when | |
| the event loop cancels orphaned tasks.</p></li>`,f2,wm,i8=`Delegates to FastMCP’s <code>Client</code> context manager which is | |
| reentrant: the first entry opens the transport and subsequent | |
| (nested) entries simply increment an internal reference counter. | |
| The transport is closed only when the outermost context exits.`,h2,Mm,c8=`No external lock is needed because <code>Client._connect</code> / | |
| <code>Client._disconnect</code> already serialise connection state changes | |
| through their own <code>anyio.Lock</code>.`,b2,ft,cl,$2,Tm,p8="Execute an action in the environment.",_2,jm,d8=`This method routes MCP-specific actions (ListToolsAction, CallToolAction) | |
| to the appropriate handlers, while delegating all other actions to | |
| the subclass’s _step_impl() method.`,y2,ht,pl,x2,Jm,m8="Async step that routes MCP actions without going through run_async_safely.",C2,km,v8=`The WebSocket handler calls this directly on the outer event loop, where | |
| the MCP session is already open, avoiding the thread/event-loop deadlock | |
| that occurs when the sync step() path is used via run_in_executor.`,w2,$r,dl,M2,Im,u8="Decorator for registering mode-aware tools.",Hh,ml,Fh,Fe,vl,T2,Em,g8="Standard JSON-RPC 2.0 error codes.",j2,Um,f8='See: <a href="https://www.jsonrpc.org/specification#error_object" rel="nofollow">https://www.jsonrpc.org/specification#error_object</a>',Xh,wn,ul,J2,Pm,h8="Supported MCP method names.",Oh,Ie,gl,k2,Lm,b8="JSON-RPC 2.0 error object.",I2,Dm,$8='See: <a href="https://www.jsonrpc.org/specification#error_object" rel="nofollow">https://www.jsonrpc.org/specification#error_object</a>',E2,_r,fl,U2,Am,_8="Create an error from a standard error code.",Kh,Xe,hl,P2,Vm,y8="JSON-RPC 2.0 request object.",L2,Rm,x8='See: <a href="https://www.jsonrpc.org/specification#request_object" rel="nofollow">https://www.jsonrpc.org/specification#request_object</a>',eb,F,bl,D2,Sm,C8="JSON-RPC 2.0 response object.",A2,Nm,w8=`Per JSON-RPC 2.0 spec, a response has either ‘result’ or ‘error’, not both. | |
| This model excludes None values during serialization to comply with the spec.`,V2,Bm,M8='See: <a href="https://www.jsonrpc.org/specification#response_object" rel="nofollow">https://www.jsonrpc.org/specification#response_object</a>',R2,yr,$l,S2,Wm,T8="Create an error response from a standard error code.",N2,xr,_l,B2,Gm,j8="Serialize to dict, excluding result or error when None (JSON-RPC compliance).",W2,Cr,yl,G2,Zm,J8="Serialize to JSON string, excluding result or error when None (JSON-RPC compliance).",Z2,wr,xl,z2,zm,k8="Create a success response.",tb,Oe,Cl,q2,qm,I8="Strongly typed MCP tool specification.",Y2,Ym,E8=`Follows the MCP ToolSpec format for tool discovery. | |
| See: <a href="https://modelcontextprotocol.io/specification/2025-06-18/server/tools" rel="nofollow">https://modelcontextprotocol.io/specification/2025-06-18/server/tools</a>`,nb,Mn,wl,Q2,Qm,U8="Types of errors that can occur during tool execution.",rb,Ke,Ml,H2,Hm,P8="Structured error for tool execution failures.",F2,Fm,L8=`This is used for transport/framework errors, NOT for errors returned | |
| by the tool itself (those go in the result field).`,ob,et,Tl,X2,Xm,D8="Request list of available tools from the environment.",O2,Om,A8=`This action triggers MCP’s tools/list operation and returns | |
| all available tools with their schemas. Does NOT require reset() | |
| to be called first.`,sb,tt,jl,K2,Km,V8="Call a specific tool via MCP.",eC,ev,R8=`This action triggers MCP’s tools/call operation with the | |
| specified tool name and arguments.`,ab,nt,Jl,tC,tv,S8="Response containing available tools.",nC,nv,N8="Returned when processing a ListToolsAction.",lb,rt,kl,rC,rv,B8="Response from tool execution.",oC,ov,W8=`Contains the tool’s result or an error if the call failed. | |
| Tool-specific errors (from the tool itself) are included in the result. | |
| Transport/framework errors use the error field.`,ib,ot,Il,sC,sv,G8="WebSocket message for MCP JSON-RPC requests.",aC,av,Z8=`Allows direct MCP access via WebSocket for production inference, | |
| bypassing the step() API.`,cb,st,El,lC,lv,z8="WebSocket response for MCP JSON-RPC.",iC,iv,q8="Contains the JSON-RPC response from the MCP server.",pb,Ul,db,he,Pl,cC,cv,Y8="Base class for MCP clients with tool discovery.",pC,pv,Q8=`This class provides the common <code>list_tools()</code> method for discovering | |
| available tools from an MCP-enabled environment. Subclasses implement | |
| specific interaction patterns (tool-calling or CodeAct).`,dC,bt,Ll,mC,dv,H8="Close client resources.",vC,mv,F8=`In production MCP mode, this also closes the server-side persistent | |
| MCP session (best effort) before closing websocket/provider resources.`,uC,$t,Dl,gC,vv,X8="Discover available tools from the environment.",fC,Mr,mb,W,Al,hC,uv,O8="Async client for tool-calling style MCP interactions.",bC,gv,K8=`Each step invokes a single tool. Use this for traditional function-calling | |
| agent patterns where the agent decides which tool to call next.`,$C,fv,ej="This client provides convenience methods for tool discovery and invocation:",_C,hv,tj="<li><code>list_tools()</code>: Get all available tools with their schemas</li> <li><code>call_tool(name, **kwargs)</code>: Invoke a tool by name with arguments</li>",yC,Tr,xC,jr,CC,Pe,Vl,wC,bv,nj="Call a tool by name.",MC,$v,rj=`This is a convenience method that creates a CallToolAction, executes it, | |
| and returns the result directly. For more control, use <code>step()</code> with | |
| a CallToolAction directly.`,TC,Jr,jC,_t,Rl,JC,_v,oj="Get a specific tool by name.",kC,kr,IC,Ir,Sl,EC,yv,sj="Check if a tool exists.",vb,Nl,ub,J,Bl,UC,xv,aj="Abstract base class for reward computation.",PC,Cv,lj=`A Rubric computes a reward signal from an action and observation. | |
| Subclasses implement forward() to define the reward logic.`,LC,Er,DC,wv,ij=`Child rubrics are auto-registered when assigned as attributes, | |
| enabling hierarchical composition and introspection.`,AC,Ur,Wl,VC,Mv,cj="Iterate over immediate child rubrics.",RC,Pr,Gl,SC,Tv,pj="Compute the reward. Implement this in subclasses.",NC,Lr,Zl,BC,jv,dj="Access a nested rubric by dot-separated path.",WC,Dr,zl,GC,Jv,mj="Load rubric configuration from checkpoint.",ZC,Ar,ql,zC,kv,vj="Iterate over immediate child rubrics with names.",qC,Vr,Yl,YC,Iv,uj="Iterate over all descendant rubrics with dot-separated names.",QC,Rr,Ql,HC,Ev,gj="Register a hook called after forward().",FC,Sr,Hl,XC,Uv,fj="Register a hook called before forward().",OC,Nr,Fl,KC,Pv,hj="Reset any internal state. Override in subclasses if needed.",e0,Br,Xl,t0,Lv,bj="Iterate over all descendant rubrics (depth-first).",n0,Wr,Ol,r0,Dv,$j="Serialize rubric configuration for checkpointing.",gb,be,Kl,o0,Av,_j="Run rubrics in order, fail-fast on zero.",s0,Vv,yj=`Runs child rubrics in order. If any returns 0, stops immediately | |
| and returns 0. This implements hierarchical gating patterns where | |
| syntax checks run before execution checks.`,a0,Gr,l0,Zr,ei,i0,Rv,xj="Run rubrics in order, return 0 if any returns 0. Sync version.",fb,$e,ti,c0,Sv,Cj="Threshold wrapper - returns 0 if child score is below threshold.",p0,Nv,wj="Useful for hard constraints like “must pass 50% of tests”.",d0,zr,m0,qr,ni,v0,Bv,Mj="Return child score if >= threshold, else 0. Sync version.",hb,_e,ri,u0,Wv,Tj="Weighted combination of child rubrics.",g0,Gv,jj="Standard aggregation pattern for multi-criteria evaluation.",f0,Yr,h0,Qr,oi,b0,Zv,Jj="Return weighted sum of child scores. Sync version.",bb,oe,si,$0,zv,kj="Container for dynamic lists of rubrics.",_0,qv,Ij=`Analogous to nn.ModuleList. Does not define aggregation - use within | |
| a parent rubric that implements custom logic.`,y0,Hr,x0,Fr,ai,C0,Yv,Ej="Add a rubric to the list.",w0,Xr,li,M0,Qv,Uj="Add multiple rubrics to the list.",T0,Or,ii,j0,Hv,Pj="RubricList does not define aggregation - override in parent.",$b,Q,ci,J0,Fv,Lj="Container for named rubrics with keyed access.",k0,Xv,Dj=`Analogous to nn.ModuleDict. Enables keyed access for multi-task | |
| environments where different tasks require different rubrics.`,I0,Kr,E0,eo,pi,U0,Ov,Aj="RubricDict does not define aggregation - override in parent.",P0,to,di,L0,Kv,Vj="Iterate over (key, rubric) pairs.",D0,no,mi,A0,eu,Rj="Iterate over keys.",V0,ro,vi,R0,tu,Sj="Update with rubrics from a dictionary.",S0,oo,ui,N0,nu,Nj="Iterate over rubrics.",_b,E,gi,B0,ru,Bj="Abstract base for rubrics that score based on full trajectories.",W0,ou,Wj="Subclasses implement:",G0,su,Gj="<li>score_trajectory(): Compute final score from trajectory</li> <li>compute_step_rewards(): Define credit assignment strategy</li>",Z0,au,Zj=`The <strong>call</strong> method accumulates steps and returns rewards according | |
| to the subclass’s implementation.`,z0,lu,zj=`IMPORTANT: Trajectories are stored in CPU memory to avoid GPU pressure. | |
| Environments with GPU tensors in observations must move them to CPU | |
| before returning from step().`,q0,iu,qj=`Known limitation: Very long episodes (thousands of steps) may consume | |
| significant CPU memory. For such cases, consider streaming rubrics.`,Y0,so,Q0,yt,fi,H0,cu,Yj="Compute per-step rewards from the accumulated trajectory.",F0,pu,Qj=`Define your credit assignment strategy here (e.g., discounting, | |
| assigning all credit to specific steps, etc.).`,X0,xt,hi,O0,du,Hj="Accumulate step and return reward.",K0,mu,Fj="Returns intermediate_reward until done, then computes trajectory score.",ew,ao,bi,tw,vu,Xj="Load configuration from checkpoint.",nw,lo,$i,rw,uu,Oj="Clear accumulated trajectory. Call on env.reset().",ow,Ct,_i,sw,gu,Kj="Score the complete trajectory. Return 0.0-1.0.",aw,fu,e9="Called when observation.done=True.",lw,io,yi,iw,hu,t9="Serialize configuration (not trajectory data).",yb,X,xi,cw,bu,n9="TrajectoryRubric with exponential discounting for credit assignment.",pw,co,dw,$u,r9=`With gamma=0.99, later steps get higher reward (they’re “closer” to the outcome). | |
| With gamma=1.0, all steps get equal reward. | |
| With gamma=0.0, only the final step gets reward.`,mw,_u,o9=`This is the standard temporal discounting used in reinforcement learning, | |
| applied retroactively once the episode outcome is known.`,vw,po,uw,mo,Ci,gw,yu,s9="Apply exponential discounting from final reward.",fw,vo,wi,hw,xu,a9="Serialize configuration.",xb,ye,Mi,bw,Cu,l9="Rubric that uses an LLM to evaluate agent actions/observations.",$w,wu,i9=`The prompt template is formatted with <code>{action}</code> and <code>{observation}</code> | |
| placeholders. The LLM response is parsed for a numeric score.`,_w,uo,Ti,yw,Mu,c9="Evaluate by sending a prompt to the LLM and parsing the score.",xw,go,ji,Cw,Tu,p9="Serialize rubric configuration.",Cb,Ji,wb,Tn,ki,ww,ju,d9="Information about a repository.",Mb,R,Ii,Mw,Ju,m9="Client for connecting to an external Gitea server.",Tw,ku,v9="This client is optimized for task-based isolation where:",jw,Iu,u9="<li>Multiple tasks share the same Gitea instance</li> <li>Each task has its own isolated workspace</li> <li>Fast reset() via git operations (no server restart)</li> <li>Repos are pre-migrated to Gitea once</li>",Jw,fo,kw,wt,Ei,Iw,Eu,g9="Clone a repository to the workspace at a specific commit.",Ew,Uu,f9="This creates a fresh clone optimized for task isolation.",Uw,ho,Ui,Pw,Pu,h9="Execute a git command in the workspace.",Lw,bo,Pi,Dw,Lu,b9="Get current commit hash of a workspace repository.",Aw,$o,Li,Vw,Du,$9="List all repositories in Gitea.",Rw,Le,Di,Sw,Au,_9="Fast reset of workspace to base state (optimized for task resets).",Nw,Vu,y9="This is much faster than re-cloning. It:",Bw,Ru,x9="<li>Checks out the target commit</li> <li>Resets to that commit (hard)</li> <li>Cleans untracked files</li>",Ww,_o,Ai,Gw,Su,C9="Wait for Gitea server to be ready.",Zw,yo,Vi,zw,Nu,w9="Check if a repository exists in workspace.",Tb,Ri,jb,G,Si,qw,Bu,M9="Abstract base class for container providers.",Yw,Wu,T9="Providers implement this interface to support different container platforms:",Qw,Gu,j9="<li>LocalDockerProvider: Runs containers on local Docker daemon</li> <li>KubernetesProvider: Runs containers in Kubernetes cluster</li> <li>FargateProvider: Runs containers on AWS Fargate</li> <li>CloudRunProvider: Runs containers on Google Cloud Run</li>",Hw,Zu,J9=`The provider manages a single container lifecycle and provides the base URL | |
| for connecting to it.`,Fw,xo,Xw,Mt,Ni,Ow,zu,k9="Release provider-held resources (e.g. SDK clients, connections).",Kw,qu,I9=`Defaults to a no-op so existing providers are unaffected. Providers that | |
| hold external resources beyond the container itself (such as a cloud SDK | |
| client) override this to release them; it is also invoked on context- | |
| manager exit. Lightweight providers need not override it.`,eM,Co,Bi,tM,Yu,E9="Start a container from the specified image.",nM,Tt,Wi,rM,Qu,U9="Stop and remove the running container.",oM,Hu,P9="This cleans up the container that was started by start_container().",sM,jt,Gi,aM,Fu,L9="Wait for the container to be ready to accept requests.",lM,Xu,D9="This typically polls the /health endpoint until it returns 200.",Jb,se,Zi,iM,Ou,A9="Container provider for local Docker daemon.",cM,Ku,V9=`This provider runs containers on the local machine using Docker. | |
| Useful for development and testing.`,pM,wo,dM,Mo,zi,mM,eg,R9="Start a Docker container locally.",vM,To,qi,uM,tg,S9="Stop and remove the Docker container.",gM,jo,Yi,fM,ng,N9="Wait for container to be ready by polling /health endpoint.",kb,ie,Qi,hM,rg,B9="Container provider that uses Docker Swarm services for local concurrency.",bM,og,W9=`This provider creates a replicated Swarm service backed by the local Docker | |
| engine. The built-in load-balancer fans requests across the replicas, | |
| allowing multiple container instances to run concurrently on the developer | |
| workstation (mirroring the workflow described in the Docker stack docs).`,$M,Jo,Hi,_M,sg,G9="Start (or scale) a Swarm service for the given image.",yM,ko,Fi,xM,ag,Z9="Remove the Swarm service (and keep the Swarm manager running).",CM,Jt,Xi,wM,lg,z9="Wait for at least one replica to become healthy by polling /health.",MM,ig,q9=`With Swarm’s load balancer, requests round-robin across replicas, | |
| so this only verifies that at least one replica is responding. Some | |
| replicas may still be starting when this returns.`,Ib,Ee,Oi,TM,cg,Y9="Container provider for Kubernetes clusters.",jM,pg,Q9=`This provider creates pods in a Kubernetes cluster and exposes them | |
| via services or port-forwarding.`,JM,Io,Eb,O,Ki,kM,dg,H9=`Abstract base class for runtime providers that are not container providers. | |
| Providers implement this interface to support different runtime platforms:`,IM,mg,F9="<li>UVProvider: Runs environments via <code>uv run</code></li>",EM,vg,X9=`The provider manages a single runtime lifecycle and provides the base URL | |
| for connecting to it.`,UM,Eo,PM,Uo,ec,LM,ug,O9="Start the runtime.",DM,Po,tc,AM,gg,K9="Stop the runtime.",VM,Lo,nc,RM,fg,e5="Wait for the runtime to be ready to accept requests.",Ub,ce,rc,SM,hg,t5="RuntimeProvider implementation backed by <code>uv run</code>.",NM,Do,BM,Ao,oc,WM,bg,n5="Start the environment via <code>uv run</code>.",GM,Vo,sc,ZM,$g,r5="Stop the environment.",zM,Ro,ac,qM,_g,o5="Wait for the environment to become ready.",Pb,P,lc,YM,yg,s5="Container provider backed by Azure Container Apps Sandboxes.",QM,xg,a5=`<code>start_container</code>’s <code>image</code> is an ACA sandbox source (<code>disk:<name></code> for a | |
| public disk image or <code>disk-id:<id></code> for a private one), not a Docker | |
| registry image. The provider boots an OpenEnv server inside the sandbox, | |
| exposes it on an anonymous ACA port, and returns an <code>https://</code> URL that | |
| <code>EnvClient</code> connects to over <code>wss://</code>.`,HM,Cg,l5=`The environment runs untrusted code, so the provider is secure by default | |
| (proposed RFC 002 security invariants): it requires explicit <code>anonymous_port=True</code> | |
| ingress (S2), enforces https/wss transport (S1), offers | |
| <code>deny_all_egress()</code> to block the cloud metadata/IMDS endpoint (S3), and | |
| never surfaces raw sandbox output unless <code>surface_server_logs=True</code> (S4).`,FM,wg,i5=`Validated end to end against a live ACA sandbox group; the underlying | |
| <code>azure-containerapps-sandbox</code> SDK is preview, so pin it and re-validate | |
| after upgrades (see <code>tests/test_core/test_aca_provider_integration.py</code>).`,XM,Mg,c5=`<code>close()</code> stops the active sandbox <em>and</em> releases the underlying SDK client, | |
| so prefer using the provider as a context manager (or call <code>close()</code> | |
| explicitly) for deterministic cleanup. <code>close()</code>/<code>__enter__</code>/<code>__exit__</code> are | |
| defined on <code>ContainerProvider</code> (default no-op), so a caller holding a bare | |
| <code>ContainerProvider</code> reference can release the client polymorphically.`,OM,Tg,p5=`Only one sandbox is active per provider: calling <code>start_container</code> again | |
| before <code>stop_container()</code>/<code>close()</code> raises <code>RuntimeError</code> rather than | |
| orphaning the running sandbox.`,KM,So,e4,kt,ic,t4,jg,d5="Stop the active sandbox and close the underlying SDK client.",n4,Jg,m5=`Overrides the base no-op so a caller can release the preview SDK client | |
| deterministically (also invoked on context-manager exit). The base | |
| <code>ContainerProvider</code> defines <code>close()</code>/<code>__enter__</code>/<code>__exit__</code>, so callers | |
| holding a bare <code>ContainerProvider</code> can release resources polymorphically.`,r4,De,cc,o4,kg,v5="Build a default-deny ACA <code>EgressPolicy</code> (RFC 002 security invariant S3).",s4,Ig,u5=`Untrusted RL/agent code should not be able to exfiltrate data or reach | |
| the cloud metadata/IMDS endpoint. This returns an <code>EgressPolicy</code> whose | |
| default action is <code>Deny</code>, with an optional host allowlist (for example a | |
| model endpoint or package registry the environment legitimately needs).`,a4,No,l4,It,pc,i4,Eg,g5="Start an OpenEnv server in an ACA sandbox and return its base URL.",c4,Ug,f5=`<code>image</code> is an ACA sandbox <em>source</em>, not a Docker/OCI registry image: a | |
| bare string or <code>disk:<name></code> for a public disk image, or <code>disk-id:<id></code> | |
| for a private one. A value that looks like a container image (a registry | |
| path or <code>name:tag</code>) is rejected with guidance. Only port 8000 is | |
| supported. <code>**kwargs</code> accepts per-start overrides (<code>cmd</code>, <code>labels</code>, | |
| <code>egress_policy</code>, <code>anonymous_port</code>); unknown options raise <code>ValueError</code> | |
| so typos cannot silently change sandbox behavior.`,p4,Bo,dc,d4,Pg,h5="Delete the active ACA sandbox.",m4,Et,mc,v4,Lg,b5="Wait for the ACA-hosted OpenEnv server to answer on <code>/health</code>.",u4,Dg,$5=`A <code>200</code> on <code>/health</code> proves HTTP reachability but not that the exposed | |
| ACA port proxies the <code>/ws</code> WebSocket upgrade <code>EnvClient</code> needs; the | |
| integration test covers the full <code>wss://</code> round-trip. If the captured | |
| server process dies during startup this raises <code>RuntimeError</code> (sandbox | |
| output is withheld unless <code>surface_server_logs=True</code>; see RFC 002 S4).`,Lb,vc,Db,yf,Ab;return C=new M5({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),w=new H({props:{title:"Core API",local:"core-api",headingTag:"h1"}}),Ko=new H({props:{title:"Server",local:"server",headingTag:"h2"}}),es=new H({props:{title:"Environment server primitives",local:"openenv.core.Message",headingTag:"h3"}}),ts=new y({props:{name:"class openenv.core.Message",anchor:"openenv.core.Message",parameters:"",source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/interfaces.py#L23"}}),ns=new y({props:{name:"class openenv.core.ModelTokenizer",anchor:"openenv.core.ModelTokenizer",parameters:[{name:"*args",val:""},{name:"**kwargs",val:""}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/interfaces.py#L33"}}),rs=new y({props:{name:"apply_chat_template",anchor:"openenv.core.ModelTokenizer.apply_chat_template",parameters:[{name:"conversation",val:": list"},{name:"tokenize",val:": bool = True"},{name:"return_tensors",val:": str | None = None"},{name:"**kwargs",val:": typing.Any"}],parametersDescription:[{anchor:"openenv.core.ModelTokenizer.apply_chat_template.conversation",description:`<strong>conversation</strong> (<code>list[Message]</code>) — | |
| List of message dictionaries with ‘role’ and ‘content’.`,name:"conversation"},{anchor:"openenv.core.ModelTokenizer.apply_chat_template.tokenize",description:`<strong>tokenize</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>True</code>) — | |
| Whether to tokenize the output.`,name:"tokenize"},{anchor:"openenv.core.ModelTokenizer.apply_chat_template.return_tensors",description:`<strong>return_tensors</strong> (<code>str</code>, <em>optional</em>) — | |
| Format for returned tensors (‘pt’ for PyTorch).`,name:"return_tensors"},{anchor:"openenv.core.ModelTokenizer.apply_chat_template.*kwargs",description:`*<strong>*kwargs</strong> — | |
| Additional arguments.`,name:"*kwargs"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/interfaces.py#L41",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p>Formatted and optionally tokenized conversation.</p> | |
| `}}),os=new y({props:{name:"decode",anchor:"openenv.core.ModelTokenizer.decode",parameters:[{name:"token_ids",val:": typing.Any"},{name:"skip_special_tokens",val:": bool = False"},{name:"**kwargs",val:": typing.Any"}],parametersDescription:[{anchor:"openenv.core.ModelTokenizer.decode.token_ids",description:`<strong>token_ids</strong> (<code>Any</code>) — | |
| Token IDs to decode.`,name:"token_ids"},{anchor:"openenv.core.ModelTokenizer.decode.skip_special_tokens",description:`<strong>skip_special_tokens</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>False</code>) — | |
| Whether to skip special tokens in output.`,name:"skip_special_tokens"},{anchor:"openenv.core.ModelTokenizer.decode.*kwargs",description:`*<strong>*kwargs</strong> — | |
| Additional arguments.`,name:"*kwargs"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/interfaces.py#L65",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p>Decoded text string.</p> | |
| `,returnType:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>str</code></p> | |
| `}}),ss=new y({props:{name:"class openenv.core.Transform",anchor:"openenv.core.Transform",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/interfaces.py#L84"}}),as=new y({props:{name:"class openenv.core.Environment",anchor:"openenv.core.Environment",parameters:[{name:"transform",val:": typing.Optional[openenv.core.env_server.interfaces.Transform[~ObsT]] = None"},{name:"rubric",val:": typing.Optional[ForwardRef('Rubric')] = None"}],parametersDescription:[{anchor:"openenv.core.Environment.transform",description:`<strong>transform</strong> (<em>Transform</em>, <em>optional</em>) — | |
| Optional transform to apply to observations.`,name:"transform"},{anchor:"openenv.core.Environment.rubric",description:`<strong>rubric</strong> (<em>Rubric</em>, <em>optional</em>) — | |
| Optional rubric for reward computation. When provided, the | |
| rubric’s output can be used to set the observation’s reward in step().`,name:"rubric"},{anchor:"openenv.core.Environment.SUPPORTS_CONCURRENT_SESSIONS",description:`<strong>SUPPORTS_CONCURRENT_SESSIONS</strong> (<em>bool</em>) — | |
| Whether this environment supports concurrent sessions. When <code>True</code>, | |
| multiple WebSocket connections can each have their own environment | |
| instance (up to <code>max_concurrent_envs</code>). When <code>False</code> (default), | |
| the environment should only be used with a single session at a time.</p> | |
| <p>Set this to <code>True</code> in your subclass if the environment uses proper | |
| session isolation (unique working dirs, no shared mutable state, and | |
| external resources that can handle concurrent access).`,name:"SUPPORTS_CONCURRENT_SESSIONS"},{anchor:"openenv.core.Environment.rubric",description:`<strong>rubric</strong> (<em>Rubric</em>, <em>optional</em>) — | |
| Optional rubric for computing rewards. Set in <code>__init__</code> and use in | |
| <code>step()</code> to compute observation rewards. Training infrastructure can | |
| access it for introspection:`,name:"rubric"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/interfaces.py#L106"}}),ls=new y({props:{name:"close",anchor:"openenv.core.Environment.close",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/interfaces.py#L317"}}),is=new y({props:{name:"get_metadata",anchor:"openenv.core.Environment.get_metadata",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/interfaces.py#L205",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>EnvironmentMetadata</code> with environment information.</p> | |
| `}}),cs=new y({props:{name:"reset",anchor:"openenv.core.Environment.reset",parameters:[{name:"seed",val:": typing.Optional[int] = None"},{name:"episode_id",val:": typing.Optional[str] = None"},{name:"**kwargs",val:": typing.Any"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/interfaces.py#L155"}}),ps=new y({props:{name:"reset_async",anchor:"openenv.core.Environment.reset_async",parameters:[{name:"seed",val:": typing.Optional[int] = None"},{name:"episode_id",val:": typing.Optional[str] = None"},{name:"**kwargs",val:": typing.Any"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/interfaces.py#L165"}}),ds=new y({props:{name:"step",anchor:"openenv.core.Environment.step",parameters:[{name:"action",val:": ~ActT"},{name:"timeout_s",val:": typing.Optional[float] = None"},{name:"**kwargs",val:": typing.Any"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/interfaces.py#L177"}}),ms=new y({props:{name:"step_async",anchor:"openenv.core.Environment.step_async",parameters:[{name:"action",val:": ~ActT"},{name:"timeout_s",val:": typing.Optional[float] = None"},{name:"**kwargs",val:": typing.Any"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/interfaces.py#L187"}}),vs=new H({props:{title:"Types",local:"openenv.core.ServerMode",headingTag:"h3"}}),us=new y({props:{name:"class openenv.core.ServerMode",anchor:"openenv.core.ServerMode",parameters:[{name:"value",val:""},{name:"names",val:" = None"},{name:"module",val:" = None"},{name:"qualname",val:" = None"},{name:"type",val:" = None"},{name:"start",val:" = 1"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/types.py#L22"}}),gs=new y({props:{name:"class openenv.core.HealthStatus",anchor:"openenv.core.HealthStatus",parameters:[{name:"value",val:""},{name:"names",val:" = None"},{name:"module",val:" = None"},{name:"qualname",val:" = None"},{name:"type",val:" = None"},{name:"start",val:" = 1"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/types.py#L29"}}),fs=new y({props:{name:"class openenv.core.WSErrorCode",anchor:"openenv.core.WSErrorCode",parameters:[{name:"value",val:""},{name:"names",val:" = None"},{name:"module",val:" = None"},{name:"qualname",val:" = None"},{name:"type",val:" = None"},{name:"start",val:" = 1"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/types.py#L37"}}),hs=new y({props:{name:"class openenv.core.Action",anchor:"openenv.core.Action",parameters:[{name:"metadata",val:": typing.Dict[str, typing.Any] = <factory>"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/types.py#L54"}}),bs=new y({props:{name:"class openenv.core.Observation",anchor:"openenv.core.Observation",parameters:[{name:"done",val:": bool = False"},{name:"reward",val:": bool | int | float | None = None"},{name:"metadata",val:": typing.Dict[str, typing.Any] = <factory>"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/types.py#L72"}}),$s=new y({props:{name:"class openenv.core.env_server.types.ResetRequest",anchor:"openenv.core.env_server.types.ResetRequest",parameters:[{name:"seed",val:": typing.Annotated[typing.Optional[int], Ge(ge=0)] = None"},{name:"episode_id",val:": typing.Annotated[typing.Optional[str], MaxLen(max_length=255)] = None"},{name:"**extra_data",val:": typing.Any"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/types.py#L94"}}),_s=new y({props:{name:"class openenv.core.env_server.types.ResetResponse",anchor:"openenv.core.env_server.types.ResetResponse",parameters:[{name:"observation",val:": typing.Dict[str, typing.Any]"},{name:"reward",val:": typing.Optional[float] = None"},{name:"done",val:": bool = False"},{name:"metadata",val:": typing.Optional[typing.Dict[str, typing.Any]] = None"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/types.py#L110"}}),ys=new y({props:{name:"class openenv.core.env_server.types.StepRequest",anchor:"openenv.core.env_server.types.StepRequest",parameters:[{name:"action",val:": typing.Dict[str, typing.Any]"},{name:"timeout_s",val:": typing.Annotated[typing.Optional[float], Gt(gt=0)] = None"},{name:"request_id",val:": typing.Annotated[typing.Optional[str], MaxLen(max_length=255)] = None"},{name:"**extra_data",val:": typing.Any"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/types.py#L129"}}),xs=new y({props:{name:"class openenv.core.env_server.types.StepResponse",anchor:"openenv.core.env_server.types.StepResponse",parameters:[{name:"observation",val:": typing.Dict[str, typing.Any]"},{name:"reward",val:": typing.Optional[float] = None"},{name:"done",val:": bool = False"},{name:"metadata",val:": typing.Optional[typing.Dict[str, typing.Any]] = None"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/types.py#L158"}}),Cs=new y({props:{name:"class openenv.core.BaseMessage",anchor:"openenv.core.BaseMessage",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/types.py#L175"}}),ws=new y({props:{name:"class openenv.core.State",anchor:"openenv.core.State",parameters:[{name:"episode_id",val:": typing.Optional[str] = None"},{name:"step_count",val:": typing.Annotated[int, Ge(ge=0)] = 0"},{name:"**extra_data",val:": typing.Any"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/types.py#L184"}}),Ms=new y({props:{name:"class openenv.core.env_server.types.CodeExecResult",anchor:"openenv.core.env_server.types.CodeExecResult",parameters:[{name:"stdout",val:": str"},{name:"stderr",val:": str"},{name:"exit_code",val:": int"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/types.py#L206"}}),Ts=new y({props:{name:"class openenv.core.env_server.types.EnvironmentMetadata",anchor:"openenv.core.env_server.types.EnvironmentMetadata",parameters:[{name:"name",val:": str"},{name:"description",val:": str"},{name:"readme_content",val:": typing.Optional[str] = None"},{name:"version",val:": typing.Optional[str] = None"},{name:"author",val:": typing.Optional[str] = None"},{name:"documentation_url",val:": typing.Optional[str] = None"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/types.py#L214"}}),js=new y({props:{name:"class openenv.core.SchemaResponse",anchor:"openenv.core.SchemaResponse",parameters:[{name:"action",val:": typing.Dict[str, typing.Any]"},{name:"observation",val:": typing.Dict[str, typing.Any]"},{name:"state",val:": typing.Dict[str, typing.Any]"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/types.py#L231"}}),Js=new y({props:{name:"class openenv.core.HealthResponse",anchor:"openenv.core.HealthResponse",parameters:[{name:"status",val:": HealthStatus = <HealthStatus.HEALTHY: 'healthy'>"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/types.py#L245"}}),ks=new y({props:{name:"class openenv.core.WSResetMessage",anchor:"openenv.core.WSResetMessage",parameters:[{name:"type",val:": typing.Literal['reset'] = 'reset'"},{name:"data",val:": typing.Dict[str, typing.Any] = <factory>"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/types.py#L254"}}),Is=new y({props:{name:"class openenv.core.WSStepMessage",anchor:"openenv.core.WSStepMessage",parameters:[{name:"type",val:": typing.Literal['step'] = 'step'"},{name:"data",val:": typing.Dict[str, typing.Any]"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/types.py#L264"}}),Es=new y({props:{name:"class openenv.core.WSStateMessage",anchor:"openenv.core.WSStateMessage",parameters:[{name:"type",val:": typing.Literal['state'] = 'state'"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/types.py#L273"}}),Us=new y({props:{name:"class openenv.core.WSCloseMessage",anchor:"openenv.core.WSCloseMessage",parameters:[{name:"type",val:": typing.Literal['close'] = 'close'"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/types.py#L279"}}),Ps=new y({props:{name:"class openenv.core.WSObservationResponse",anchor:"openenv.core.WSObservationResponse",parameters:[{name:"type",val:": typing.Literal['observation'] = 'observation'"},{name:"data",val:": typing.Dict[str, typing.Any]"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/types.py#L294"}}),Ls=new y({props:{name:"class openenv.core.WSStateResponse",anchor:"openenv.core.WSStateResponse",parameters:[{name:"type",val:": typing.Literal['state'] = 'state'"},{name:"data",val:": typing.Dict[str, typing.Any]"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/types.py#L305"}}),Ds=new y({props:{name:"class openenv.core.WSErrorResponse",anchor:"openenv.core.WSErrorResponse",parameters:[{name:"type",val:": typing.Literal['error'] = 'error'"},{name:"data",val:": typing.Dict[str, typing.Any]"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/types.py#L314"}}),As=new y({props:{name:"class openenv.core.ConcurrencyConfig",anchor:"openenv.core.ConcurrencyConfig",parameters:[{name:"max_concurrent_envs",val:": typing.Annotated[int, Ge(ge=1)] = 1"},{name:"session_timeout",val:": typing.Annotated[typing.Optional[float], Gt(gt=0)] = None"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/types.py#L323"}}),Vs=new y({props:{name:"class openenv.core.ServerCapacityStatus",anchor:"openenv.core.ServerCapacityStatus",parameters:[{name:"active_sessions",val:": typing.Annotated[int, Ge(ge=0)]"},{name:"max_sessions",val:": typing.Annotated[int, Ge(ge=1)]"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/types.py#L338"}}),Rs=new y({props:{name:"from_counts",anchor:"openenv.core.ServerCapacityStatus.from_counts",parameters:[{name:"active",val:": int"},{name:"max_sessions",val:": int"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/types.py#L369"}}),Ss=new y({props:{name:"class openenv.core.SessionInfo",anchor:"openenv.core.SessionInfo",parameters:[{name:"session_id",val:": str"},{name:"created_at",val:": float"},{name:"last_activity_at",val:": float"},{name:"step_count",val:": typing.Annotated[int, Ge(ge=0)] = 0"},{name:"environment_type",val:": str"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/types.py#L378"}}),Ns=new H({props:{title:"Exceptions",local:"openenv.core.OpenEnvError",headingTag:"h3"}}),Bs=new y({props:{name:"class openenv.core.OpenEnvError",anchor:"openenv.core.OpenEnvError",parameters:"",source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/exceptions.py#L12"}}),Ws=new y({props:{name:"class openenv.core.ConcurrencyConfigurationError",anchor:"openenv.core.ConcurrencyConfigurationError",parameters:[{name:"environment_name",val:": str"},{name:"max_concurrent_envs",val:": int"},{name:"message",val:": typing.Optional[str] = None"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/exceptions.py#L18"}}),Gs=new y({props:{name:"class openenv.core.SessionCapacityError",anchor:"openenv.core.SessionCapacityError",parameters:[{name:"active_sessions",val:": int"},{name:"max_sessions",val:": int"},{name:"message",val:": typing.Optional[str] = None"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/exceptions.py#L46"}}),Zs=new y({props:{name:"class openenv.core.SessionNotFoundError",anchor:"openenv.core.SessionNotFoundError",parameters:[{name:"session_id",val:": str"},{name:"message",val:": typing.Optional[str] = None"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/exceptions.py#L72"}}),zs=new y({props:{name:"class openenv.core.SessionCreationError",anchor:"openenv.core.SessionCreationError",parameters:[{name:"reason",val:": str"},{name:"message",val:": typing.Optional[str] = None"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/exceptions.py#L84"}}),qs=new y({props:{name:"class openenv.core.EnvironmentFactoryError",anchor:"openenv.core.EnvironmentFactoryError",parameters:[{name:"factory_name",val:": str"},{name:"message",val:": typing.Optional[str] = None"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/exceptions.py#L96"}}),Ys=new H({props:{title:"HTTP server utilities",local:"openenv.core.HTTPEnvServer",headingTag:"h3"}}),Qs=new y({props:{name:"class openenv.core.HTTPEnvServer",anchor:"openenv.core.HTTPEnvServer",parameters:[{name:"env",val:": Callable[[], Environment]"},{name:"action_cls",val:": Type[Action]"},{name:"observation_cls",val:": Type[Observation]"},{name:"max_concurrent_envs",val:": Optional[int] = None"},{name:"concurrency_config",val:": Optional[ConcurrencyConfig] = None"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/http_server.py#L117"}}),Bn=new L({props:{anchor:"openenv.core.HTTPEnvServer.example",$$slots:{default:[j5]},$$scope:{ctx:T}}}),Hs=new y({props:{name:"get_capacity_status",anchor:"openenv.core.HTTPEnvServer.get_capacity_status",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/http_server.py#L284",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>ServerCapacityStatus</code> with current session counts and availability.</p> | |
| `}}),Fs=new y({props:{name:"get_session_info",anchor:"openenv.core.HTTPEnvServer.get_session_info",parameters:[{name:"session_id",val:": str"}],parametersDescription:[{anchor:"openenv.core.HTTPEnvServer.get_session_info.session_id",description:`<strong>session_id</strong> (<code>str</code>) — | |
| The session ID to query.`,name:"session_id"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/http_server.py#L524",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>SessionInfo</code> if the session exists, <code>None</code> otherwise.</p> | |
| `}}),Xs=new y({props:{name:"register_routes",anchor:"openenv.core.HTTPEnvServer.register_routes",parameters:[{name:"app",val:": FastAPI"},{name:"mode",val:": ServerMode | str = <ServerMode.SIMULATION: 'simulation'>"}],parametersDescription:[{anchor:"openenv.core.HTTPEnvServer.register_routes.app",description:`<strong>app</strong> (<code>FastAPI</code>) — | |
| FastAPI application instance.`,name:"app"},{anchor:"openenv.core.HTTPEnvServer.register_routes.mode",description:`<strong>mode</strong> (<code>ServerMode</code> or <code>str</code>, <em>optional</em>, defaults to <code>ServerMode.SIMULATION</code>) — | |
| Server mode. In production mode, simulation control endpoints (/reset, /step, | |
| /state) are NOT registered. Only safe endpoints (/health, /schema, /metadata, | |
| /ws) are available.`,name:"mode"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/http_server.py#L574",raiseDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <ul> | |
| <li><code>ValueError</code> — If <code>mode</code> is not a valid <code>ServerMode</code> or string equivalent.</li> | |
| </ul> | |
| `,raiseType:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>ValueError</code></p> | |
| `}}),Os=new y({props:{name:"openenv.core.create_app",anchor:"openenv.core.create_app",parameters:[{name:"env",val:": Callable[[], Environment]"},{name:"action_cls",val:": Type[Action]"},{name:"observation_cls",val:": Type[Observation]"},{name:"env_name",val:": Optional[str] = None"},{name:"max_concurrent_envs",val:": Optional[int] = None"},{name:"concurrency_config",val:": Optional[ConcurrencyConfig] = None"},{name:"gradio_builder",val:": Optional[Callable[..., Any]] = None"},{name:"custom_tab_name",val:": str = 'Custom'"},{name:"custom_tab_primary",val:": bool = False"},{name:"show_default_tab",val:": bool = True"},{name:"title_override",val:": Optional[str] = None"}],parametersDescription:[{anchor:"openenv.core.create_app.env",description:`<strong>env</strong> (<code>Callable[[], Environment]</code>) — | |
| Environment factory (callable) that creates new instances.`,name:"env"},{anchor:"openenv.core.create_app.action_cls",description:`<strong>action_cls</strong> (<code>Type[Action]</code>) — | |
| The Action subclass this environment expects.`,name:"action_cls"},{anchor:"openenv.core.create_app.observation_cls",description:`<strong>observation_cls</strong> (<code>Type[Observation]</code>) — | |
| The Observation subclass this environment returns.`,name:"observation_cls"},{anchor:"openenv.core.create_app.env_name",description:`<strong>env_name</strong> (<code>str</code>, <em>optional</em>) — | |
| Environment name for README loading.`,name:"env_name"},{anchor:"openenv.core.create_app.max_concurrent_envs",description:`<strong>max_concurrent_envs</strong> (<code>int</code>, <em>optional</em>) — | |
| Maximum concurrent WebSocket sessions. Mutually exclusive with | |
| <code>concurrency_config</code>.`,name:"max_concurrent_envs"},{anchor:"openenv.core.create_app.concurrency_config",description:`<strong>concurrency_config</strong> (<code>ConcurrencyConfig</code>, <em>optional</em>) — | |
| Advanced concurrency settings. Mutually exclusive with | |
| <code>max_concurrent_envs</code>.`,name:"concurrency_config"},{anchor:"openenv.core.create_app.gradio_builder",description:`<strong>gradio_builder</strong> (<code>Callable</code>, <em>optional</em>) — | |
| Callable to build a custom Gradio UI at /web. Signature: | |
| <code>(web_manager, action_fields, metadata, is_chat_env, title, quick_start_md) -> gr.Blocks</code>. | |
| When <code>None</code>, the default Gradio app is used.`,name:"gradio_builder"},{anchor:"openenv.core.create_app.custom_tab_name",description:`<strong>custom_tab_name</strong> (<code>str</code>, <em>optional</em>, defaults to <code>"Custom"</code>) — | |
| Label for the env-specific tab when <code>gradio_builder</code> is provided.`,name:"custom_tab_name"},{anchor:"openenv.core.create_app.custom_tab_primary",description:`<strong>custom_tab_primary</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>False</code>) — | |
| When <code>True</code>, the env-specific tab is active first; the auto-generated | |
| Playground becomes secondary.`,name:"custom_tab_primary"},{anchor:"openenv.core.create_app.show_default_tab",description:`<strong>show_default_tab</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>True</code>) — | |
| When <code>False</code>, mount the env’s <code>gradio_builder</code> output alone (no | |
| auto-generated Playground, no tab chrome). Only meaningful when | |
| <code>gradio_builder</code> is provided.`,name:"show_default_tab"},{anchor:"openenv.core.create_app.title_override",description:`<strong>title_override</strong> (<code>str</code>, <em>optional</em>) — | |
| If set, used as the Gradio app title instead of the default | |
| <code>"OpenEnv Agentic Environment: {name}"</code>.`,name:"title_override"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/http_server.py#L1523",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>FastAPI</code> application instance with or without web interface and README integration.</p> | |
| `}}),Ks=new y({props:{name:"openenv.core.create_fastapi_app",anchor:"openenv.core.create_fastapi_app",parameters:[{name:"env",val:": Callable[[], Environment]"},{name:"action_cls",val:": Type[Action]"},{name:"observation_cls",val:": Type[Observation]"},{name:"max_concurrent_envs",val:": Optional[int] = None"},{name:"concurrency_config",val:": Optional[ConcurrencyConfig] = None"}],parametersDescription:[{anchor:"openenv.core.create_fastapi_app.env",description:`<strong>env</strong> (<code>Callable[[], Environment]</code>) — | |
| Environment factory (callable) that creates new instances.`,name:"env"},{anchor:"openenv.core.create_fastapi_app.action_cls",description:`<strong>action_cls</strong> (<code>Type[Action]</code>) — | |
| The Action subclass this environment expects.`,name:"action_cls"},{anchor:"openenv.core.create_fastapi_app.observation_cls",description:`<strong>observation_cls</strong> (<code>Type[Observation]</code>) — | |
| The Observation subclass this environment returns.`,name:"observation_cls"},{anchor:"openenv.core.create_fastapi_app.max_concurrent_envs",description:`<strong>max_concurrent_envs</strong> (<code>int</code>, <em>optional</em>) — | |
| Maximum concurrent WebSocket sessions. Mutually exclusive with | |
| <code>concurrency_config</code>.`,name:"max_concurrent_envs"},{anchor:"openenv.core.create_fastapi_app.concurrency_config",description:`<strong>concurrency_config</strong> (<code>ConcurrencyConfig</code>, <em>optional</em>) — | |
| Advanced concurrency settings. Mutually exclusive with | |
| <code>max_concurrent_envs</code>.`,name:"concurrency_config"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/http_server.py#L1609",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>FastAPI</code> application instance.</p> | |
| `}}),ea=new H({props:{title:"Web interface helpers",local:"openenv.core.env_server.web_interface.ActionLog",headingTag:"h3"}}),ta=new y({props:{name:"class openenv.core.env_server.web_interface.ActionLog",anchor:"openenv.core.env_server.web_interface.ActionLog",parameters:[{name:"timestamp",val:": str"},{name:"action",val:": typing.Dict[str, typing.Any]"},{name:"observation",val:": typing.Dict[str, typing.Any]"},{name:"reward",val:": typing.Optional[float] = None"},{name:"done",val:": bool"},{name:"step_count",val:": int"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/web_interface.py#L205"}}),na=new y({props:{name:"class openenv.core.env_server.web_interface.EpisodeState",anchor:"openenv.core.env_server.web_interface.EpisodeState",parameters:[{name:"episode_id",val:": typing.Optional[str] = None"},{name:"step_count",val:": int"},{name:"current_observation",val:": typing.Optional[typing.Dict[str, typing.Any]] = None"},{name:"action_logs",val:": typing.List[openenv.core.env_server.web_interface.ActionLog] = <factory>"},{name:"is_reset",val:": bool = True"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/web_interface.py#L220"}}),ra=new y({props:{name:"class openenv.core.WebInterfaceManager",anchor:"openenv.core.WebInterfaceManager",parameters:[{name:"env",val:": Environment"},{name:"action_cls",val:": Type[Action]"},{name:"observation_cls",val:": Type[Observation]"},{name:"metadata",val:": Optional[EnvironmentMetadata] = None"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/web_interface.py#L238"}}),oa=new y({props:{name:"connect_websocket",anchor:"openenv.core.WebInterfaceManager.connect_websocket",parameters:[{name:"websocket",val:": WebSocket"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/web_interface.py#L308"}}),sa=new y({props:{name:"disconnect_websocket",anchor:"openenv.core.WebInterfaceManager.disconnect_websocket",parameters:[{name:"websocket",val:": WebSocket"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/web_interface.py#L316"}}),aa=new y({props:{name:"get_state",anchor:"openenv.core.WebInterfaceManager.get_state",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/web_interface.py#L421"}}),la=new y({props:{name:"reset_environment",anchor:"openenv.core.WebInterfaceManager.reset_environment",parameters:[{name:"reset_kwargs",val:": Optional[Dict[str, Any]] = None"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/web_interface.py#L343"}}),ia=new y({props:{name:"step_environment",anchor:"openenv.core.WebInterfaceManager.step_environment",parameters:[{name:"action_data",val:": Dict[str, Any]"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/web_interface.py#L378"}}),ca=new y({props:{name:"openenv.core.create_web_interface_app",anchor:"openenv.core.create_web_interface_app",parameters:[{name:"env",val:": Environment"},{name:"action_cls",val:": Type[Action]"},{name:"observation_cls",val:": Type[Observation]"},{name:"env_name",val:": Optional[str] = None"},{name:"max_concurrent_envs",val:": Optional[int] = None"},{name:"concurrency_config",val:": Optional[Any] = None"},{name:"gradio_builder",val:": Optional[Callable[..., Any]] = None"},{name:"custom_tab_name",val:": str = 'Custom'"},{name:"custom_tab_primary",val:": bool = False"},{name:"show_default_tab",val:": bool = True"},{name:"title_override",val:": Optional[str] = None"}],parametersDescription:[{anchor:"openenv.core.create_web_interface_app.env",description:"<strong>env</strong> — The Environment instance to serve",name:"env"},{anchor:"openenv.core.create_web_interface_app.action_cls",description:"<strong>action_cls</strong> — The Action subclass this environment expects",name:"action_cls"},{anchor:"openenv.core.create_web_interface_app.observation_cls",description:"<strong>observation_cls</strong> — The Observation subclass this environment returns",name:"observation_cls"},{anchor:"openenv.core.create_web_interface_app.env_name",description:"<strong>env_name</strong> — Optional environment name for README loading",name:"env_name"},{anchor:"openenv.core.create_web_interface_app.max_concurrent_envs",description:"<strong>max_concurrent_envs</strong> — Maximum concurrent WebSocket sessions",name:"max_concurrent_envs"},{anchor:"openenv.core.create_web_interface_app.concurrency_config",description:"<strong>concurrency_config</strong> — Optional ConcurrencyConfig for advanced concurrency settings",name:"concurrency_config"},{anchor:"openenv.core.create_web_interface_app.gradio_builder",description:`<strong>gradio_builder</strong> — Optional callable (web_manager, action_fields, metadata, | |
| is_chat_env, title, quick_start_md) -> gr.Blocks to use instead of the | |
| default Gradio UI. Lets envs replace or customize the /web interface.`,name:"gradio_builder"},{anchor:"openenv.core.create_web_interface_app.custom_tab_name",description:`<strong>custom_tab_name</strong> — Label shown on the env-specific tab when <code>gradio_builder</code> | |
| is provided. Defaults to <code>"Custom"</code> for backwards compatibility; envs | |
| that ship a rich custom UI should pass a descriptive name | |
| (e.g. <code>"REPL"</code>). Ignored when <code>show_default_tab=False</code> (no tab chrome | |
| is rendered).`,name:"custom_tab_name"},{anchor:"openenv.core.create_web_interface_app.custom_tab_primary",description:`<strong>custom_tab_primary</strong> — When True, the env-specific tab is rendered first and | |
| selected by default; the auto-generated Playground becomes secondary. | |
| Use this for envs whose custom tab is the real interaction surface | |
| (so visitors don’t land on a less informative schema form). Ignored | |
| when <code>show_default_tab=False</code>.`,name:"custom_tab_primary"},{anchor:"openenv.core.create_web_interface_app.show_default_tab",description:`<strong>show_default_tab</strong> — When False, the auto-generated Playground tab is not | |
| rendered and the env’s <code>gradio_builder</code> output is mounted directly | |
| (single-view UI, no tab chrome). Only meaningful when | |
| <code>gradio_builder</code> is provided.`,name:"show_default_tab"},{anchor:"openenv.core.create_web_interface_app.title_override",description:`<strong>title_override</strong> — If set, used verbatim as the Gradio app/browser-tab | |
| title instead of the default <code>"OpenEnv Agentic Environment: {name}"</code>.`,name:"title_override"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/web_interface.py#L427",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p>FastAPI application instance with web interface</p> | |
| `}}),pa=new H({props:{title:"Serialization",local:"openenv.core.deserialize_action",headingTag:"h3"}}),da=new y({props:{name:"openenv.core.deserialize_action",anchor:"openenv.core.deserialize_action",parameters:[{name:"action_data",val:": typing.Dict[str, typing.Any]"},{name:"action_cls",val:": typing.Type[openenv.core.env_server.types.Action]"}],parametersDescription:[{anchor:"openenv.core.deserialize_action.action_data",description:`<strong>action_data</strong> (<em>dict</em>) — | |
| Dictionary containing action data.`,name:"action_data"},{anchor:"openenv.core.deserialize_action.action_cls",description:`<strong>action_cls</strong> (<em>type</em>) — | |
| The Action subclass to instantiate.`,name:"action_cls"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/serialization.py#L30",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><em>Action</em> instance.</p> | |
| `,raiseDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <ul> | |
| <li><code>ValidationError</code> — If <em>action_data</em> is invalid for the action class.</li> | |
| </ul> | |
| `,raiseType:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>ValidationError</code></p> | |
| `}}),ma=new y({props:{name:"openenv.core.deserialize_action_with_preprocessing",anchor:"openenv.core.deserialize_action_with_preprocessing",parameters:[{name:"action_data",val:": typing.Dict[str, typing.Any]"},{name:"action_cls",val:": typing.Type[openenv.core.env_server.types.Action]"}],parametersDescription:[{anchor:"openenv.core.deserialize_action_with_preprocessing.action_data",description:`<strong>action_data</strong> (<code>dict</code>) — | |
| Dictionary containing action data.`,name:"action_data"},{anchor:"openenv.core.deserialize_action_with_preprocessing.action_cls",description:`<strong>action_cls</strong> (<code>type</code>) — | |
| The Action subclass to instantiate.`,name:"action_cls"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/serialization.py#L68",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>Action</code> instance.</p> | |
| `,raiseDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <ul> | |
| <li><code>ValidationError</code> — If <code>action_data</code> is invalid for the action class.</li> | |
| </ul> | |
| `,raiseType:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>ValidationError</code></p> | |
| `}}),va=new y({props:{name:"openenv.core.serialize_observation",anchor:"openenv.core.serialize_observation",parameters:[{name:"observation",val:": Observation"}],parametersDescription:[{anchor:"openenv.core.serialize_observation.observation",description:`<strong>observation</strong> (<code>Observation</code>) — | |
| Observation instance to serialize.`,name:"observation"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/serialization.py#L137",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <ul> | |
| <li><code>observation</code> (<code>dict</code>): Observation fields.</li> | |
| <li><code>reward</code> (<code>float</code> or <code>None</code>): Reward value.</li> | |
| <li><code>done</code> (<code>bool</code>): Whether the episode is done.</li> | |
| <li><code>metadata</code> (<code>dict</code>, <em>optional</em>): Additional observation metadata.</li> | |
| </ul> | |
| `,returnType:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>dict</code> compatible with <code>EnvClient._parse_result()</code>, with keys</p> | |
| `}}),ua=new H({props:{title:"Transforms",local:"openenv.core.CompositeTransform",headingTag:"h3"}}),ga=new y({props:{name:"class openenv.core.CompositeTransform",anchor:"openenv.core.CompositeTransform",parameters:[{name:"transforms",val:": list"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/base_transforms.py#L13"}}),fa=new y({props:{name:"class openenv.core.NullTransform",anchor:"openenv.core.NullTransform",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/base_transforms.py#L25"}}),ha=new H({props:{title:"Route configuration",local:"openenv.core.GetEndpointConfig",headingTag:"h3"}}),ba=new y({props:{name:"class openenv.core.GetEndpointConfig",anchor:"openenv.core.GetEndpointConfig",parameters:[{name:"path",val:": str"},{name:"handler",val:": typing.Callable[[], pydantic.main.BaseModel | dict]"},{name:"response_model",val:": typing.Union[typing.Type[pydantic.main.BaseModel], type[dict]]"},{name:"tag",val:": str"},{name:"summary",val:": str"},{name:"description",val:": str"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/route_config.py#L22"}}),$a=new y({props:{name:"openenv.core.env_server.route_config.register_get_endpoints",anchor:"openenv.core.env_server.route_config.register_get_endpoints",parameters:[{name:"app",val:": FastAPI"},{name:"configs",val:": typing.List[openenv.core.env_server.route_config.GetEndpointConfig]"}],parametersDescription:[{anchor:"openenv.core.env_server.route_config.register_get_endpoints.app",description:`<strong>app</strong> (<code>~fastapi.FastAPI</code>) — | |
| FastAPI application instance.`,name:"app"},{anchor:"openenv.core.env_server.route_config.register_get_endpoints.configs",description:`<strong>configs</strong> (<code>List[GetEndpointConfig]</code>) — | |
| List of GET endpoint configurations.`,name:"configs"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/route_config.py#L44"}}),_a=new H({props:{title:"Clients",local:"clients",headingTag:"h2"}}),ya=new H({props:{title:"Base client",local:"openenv.core.EnvClient",headingTag:"h3"}}),xa=new y({props:{name:"class openenv.core.EnvClient",anchor:"openenv.core.EnvClient",parameters:[{name:"base_url",val:": str"},{name:"connect_timeout_s",val:": float = 10.0"},{name:"message_timeout_s",val:": float = 60.0"},{name:"max_message_size_mb",val:": float = 100.0"},{name:"provider",val:": Optional['ContainerProvider | RuntimeProvider'] = None"},{name:"mode",val:": Optional[str] = None"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_client.py#L111"}}),Fn=new L({props:{anchor:"openenv.core.EnvClient.example",$$slots:{default:[J5]},$$scope:{ctx:T}}}),Xn=new L({props:{anchor:"openenv.core.EnvClient.example-2",$$slots:{default:[k5]},$$scope:{ctx:T}}}),Ca=new y({props:{name:"close",anchor:"openenv.core.EnvClient.close",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_client.py#L463"}}),wa=new y({props:{name:"connect",anchor:"openenv.core.EnvClient.connect",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_client.py#L204",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p>self for method chaining</p> | |
| `,raiseDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <ul> | |
| <li><code>ConnectionError</code> — If connection cannot be established</li> | |
| </ul> | |
| `,raiseType:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>ConnectionError</code></p> | |
| `}}),Ma=new y({props:{name:"disconnect",anchor:"openenv.core.EnvClient.disconnect",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_client.py#L229"}}),Ta=new y({props:{name:"from_docker_image",anchor:"openenv.core.EnvClient.from_docker_image",parameters:[{name:"image",val:": str"},{name:"provider",val:": Optional['ContainerProvider'] = None"},{name:"**kwargs",val:": Any"}],parametersDescription:[{anchor:"openenv.core.EnvClient.from_docker_image.image",description:`<strong>image</strong> (<code>str</code>) — | |
| Docker image name to run (e.g., <code>"coding-env:latest"</code>).`,name:"image"},{anchor:"openenv.core.EnvClient.from_docker_image.provider",description:`<strong>provider</strong> (<code>ContainerProvider</code>, <em>optional</em>) — | |
| Container provider to use. Defaults to <code>LocalDockerProvider</code>.`,name:"provider"},{anchor:"openenv.core.EnvClient.from_docker_image.*kwargs",description:`*<strong>*kwargs</strong> — | |
| Additional arguments to pass to <code>provider.start_container()</code>.`,name:"*kwargs"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_client.py#L275",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p>Connected client instance</p> | |
| `}}),ja=new y({props:{name:"from_env",anchor:"openenv.core.EnvClient.from_env",parameters:[{name:"repo_id",val:": str"},{name:"use_docker",val:": bool = True"},{name:"provider",val:": Optional['ContainerProvider | RuntimeProvider'] = None"},{name:"**provider_kwargs",val:": Any"}],parametersDescription:[{anchor:"openenv.core.EnvClient.from_env.repo_id",description:`<strong>repo_id</strong> (<code>str</code>) — | |
| Hugging Face space identifier <code>{org}/{space}</code>.`,name:"repo_id"},{anchor:"openenv.core.EnvClient.from_env.use_docker",description:`<strong>use_docker</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>True</code>) — | |
| When <code>True</code>, pull from the HF registry and launch via <code>LocalDockerProvider</code>. | |
| When <code>False</code>, run the space locally with <code>UVProvider</code>.`,name:"use_docker"},{anchor:"openenv.core.EnvClient.from_env.provider",description:`<strong>provider</strong> (<code>ContainerProvider</code> or <code>RuntimeProvider</code>, <em>optional</em>) — | |
| Provider instance to reuse. Must be a <code>ContainerProvider</code> when | |
| <code>use_docker=True</code> and a <code>RuntimeProvider</code> otherwise.`,name:"provider"},{anchor:"openenv.core.EnvClient.from_env.*provider_kwargs",description:`*<strong>*provider_kwargs</strong> — | |
| Additional keyword arguments forwarded to either the container provider’s | |
| <code>start_container</code> (docker) or to the <code>UVProvider</code> constructor/start (uv). | |
| When <code>use_docker=False</code>, the <code>project_path</code> argument can be used to override | |
| the default git URL (<code>git+https://huggingface.co/spaces/{repo_id}</code>).`,name:"*provider_kwargs"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_client.py#L311",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p>Connected client instance</p> | |
| `}}),tr=new L({props:{anchor:"openenv.core.EnvClient.from_env.example",$$slots:{default:[I5]},$$scope:{ctx:T}}}),Ja=new y({props:{name:"reset",anchor:"openenv.core.EnvClient.reset",parameters:[{name:"**kwargs",val:": Any"}],parametersDescription:[{anchor:"openenv.core.EnvClient.reset.*kwargs",description:`*<strong>*kwargs</strong> — | |
| Optional parameters passed to the environment’s reset method.`,name:"*kwargs"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_client.py#L414",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p>StepResult containing initial observation</p> | |
| `}}),ka=new y({props:{name:"state",anchor:"openenv.core.EnvClient.state",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_client.py#L452",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p>State object with environment state information</p> | |
| `}}),Ia=new y({props:{name:"step",anchor:"openenv.core.EnvClient.step",parameters:[{name:"action",val:": ActT"},{name:"**kwargs",val:": Any"}],parametersDescription:[{anchor:"openenv.core.EnvClient.step.action",description:`<strong>action</strong> — | |
| The action to execute.`,name:"action"},{anchor:"openenv.core.EnvClient.step.*kwargs",description:`*<strong>*kwargs</strong> — | |
| Optional parameters (currently ignored).`,name:"*kwargs"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_client.py#L432",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p>StepResult containing observation, reward, and done status</p> | |
| `}}),Ea=new y({props:{name:"sync",anchor:"openenv.core.EnvClient.sync",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_client.py#L501",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p>SyncEnvClient wrapper that provides synchronous methods</p> | |
| `}}),sr=new L({props:{anchor:"openenv.core.EnvClient.sync.example",$$slots:{default:[E5]},$$scope:{ctx:T}}}),Ua=new H({props:{title:"Synchronous client",local:"openenv.SyncEnvClient",headingTag:"h3"}}),Pa=new y({props:{name:"class openenv.SyncEnvClient",anchor:"openenv.SyncEnvClient",parameters:[{name:"async_client",val:": 'EnvClient[ActT, ObsT, StateT]'"}],parametersDescription:[{anchor:"openenv.SyncEnvClient._async",description:"<strong>_async</strong> — The wrapped async EnvClient instance",name:"_async"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/sync_client.py#L46"}}),ar=new L({props:{anchor:"openenv.SyncEnvClient.example",$$slots:{default:[U5]},$$scope:{ctx:T}}}),La=new y({props:{name:"close",anchor:"openenv.SyncEnvClient.close",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/sync_client.py#L211"}}),Da=new y({props:{name:"connect",anchor:"openenv.SyncEnvClient.connect",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/sync_client.py#L160",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p>self for method chaining</p> | |
| `}}),Aa=new y({props:{name:"disconnect",anchor:"openenv.SyncEnvClient.disconnect",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/sync_client.py#L170"}}),Va=new y({props:{name:"reset",anchor:"openenv.SyncEnvClient.reset",parameters:[{name:"**kwargs",val:": Any"}],parametersDescription:[{anchor:"openenv.SyncEnvClient.reset.*kwargs",description:`*<strong>*kwargs</strong> — | |
| Optional parameters passed to the environment’s reset method.`,name:"*kwargs"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/sync_client.py#L174",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p>StepResult containing initial observation</p> | |
| `}}),Ra=new y({props:{name:"state",anchor:"openenv.SyncEnvClient.state",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/sync_client.py#L202",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p>State object with environment state information</p> | |
| `}}),Sa=new y({props:{name:"step",anchor:"openenv.SyncEnvClient.step",parameters:[{name:"action",val:": ActT"},{name:"**kwargs",val:": Any"}],parametersDescription:[{anchor:"openenv.SyncEnvClient.step.action",description:`<strong>action</strong> — | |
| The action to execute.`,name:"action"},{anchor:"openenv.SyncEnvClient.step.*kwargs",description:`*<strong>*kwargs</strong> — | |
| Optional parameters.`,name:"*kwargs"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/sync_client.py#L187",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p>StepResult containing observation, reward, and done status</p> | |
| `}}),Na=new H({props:{title:"Generic client",local:"openenv.GenericEnvClient",headingTag:"h3"}}),Ba=new y({props:{name:"class openenv.GenericEnvClient",anchor:"openenv.GenericEnvClient",parameters:[{name:"base_url",val:": str"},{name:"connect_timeout_s",val:": float = 10.0"},{name:"message_timeout_s",val:": float = 60.0"},{name:"max_message_size_mb",val:": float = 100.0"},{name:"provider",val:": Optional['ContainerProvider | RuntimeProvider'] = None"},{name:"mode",val:": Optional[str] = None"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/generic_client.py#L21"}}),vr=new L({props:{anchor:"openenv.GenericEnvClient.example",$$slots:{default:[P5]},$$scope:{ctx:T}}}),Wa=new y({props:{name:"class openenv.GenericAction",anchor:"openenv.GenericAction",parameters:[{name:"**kwargs",val:": typing.Any"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/generic_client.py#L130"}}),ur=new L({props:{anchor:"openenv.GenericAction.example",$$slots:{default:[L5]},$$scope:{ctx:T}}}),Ga=new H({props:{title:"LLM client",local:"openenv.core.ToolCall",headingTag:"h3"}}),Za=new y({props:{name:"class openenv.core.ToolCall",anchor:"openenv.core.ToolCall",parameters:[{name:"id",val:": str"},{name:"name",val:": str"},{name:"args",val:": dict[str, Any]"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/llm_client.py#L37"}}),za=new y({props:{name:"class openenv.core.LLMResponse",anchor:"openenv.core.LLMResponse",parameters:[{name:"content",val:": str"},{name:"tool_calls",val:": list[ToolCall] = <factory>"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/llm_client.py#L46"}}),qa=new y({props:{name:"to_message_dict",anchor:"openenv.core.LLMResponse.to_message_dict",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/llm_client.py#L52"}}),Ya=new y({props:{name:"class openenv.core.LLMClient",anchor:"openenv.core.LLMClient",parameters:[{name:"endpoint",val:": str"},{name:"port",val:": int"}],parametersDescription:[{anchor:"openenv.core.LLMClient.endpoint",description:`<strong>endpoint</strong> (<code>str</code>) — | |
| The base URL of the LLM service (e.g. “http://localhost”).`,name:"endpoint"},{anchor:"openenv.core.LLMClient.port",description:`<strong>port</strong> (<code>int</code>) — | |
| The port the service listens on.`,name:"port"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/llm_client.py#L70"}}),Qa=new y({props:{name:"complete",anchor:"openenv.core.LLMClient.complete",parameters:[{name:"prompt",val:": str"},{name:"**kwargs",val:""}],parametersDescription:[{anchor:"openenv.core.LLMClient.complete.prompt",description:`<strong>prompt</strong> (<code>str</code>) — | |
| The user prompt to send.`,name:"prompt"},{anchor:"openenv.core.LLMClient.complete.*kwargs",description:`*<strong>*kwargs</strong> — | |
| Override default parameters (temperature, max_tokens, etc.).`,name:"*kwargs"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/llm_client.py#L86",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p>The model’s text response.</p> | |
| `}}),Ha=new y({props:{name:"complete_with_tools",anchor:"openenv.core.LLMClient.complete_with_tools",parameters:[{name:"messages",val:": list[dict[str, Any]]"},{name:"tools",val:": list[dict[str, Any]]"},{name:"**kwargs",val:": Any"}],parametersDescription:[{anchor:"openenv.core.LLMClient.complete_with_tools.messages",description:`<strong>messages</strong> (<code>list[dict[str, Any]]</code>) — | |
| Conversation history as OpenAI-format message dicts.`,name:"messages"},{anchor:"openenv.core.LLMClient.complete_with_tools.tools",description:`<strong>tools</strong> (<code>list[dict[str, Any]]</code>) — | |
| MCP tool definitions.`,name:"tools"},{anchor:"openenv.core.LLMClient.complete_with_tools.*kwargs",description:`*<strong>*kwargs</strong> — | |
| Override default parameters (temperature, max_tokens, etc.).`,name:"*kwargs"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/llm_client.py#L101",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p>An <code>LLMResponse</code> with the model’s text and any tool calls.</p> | |
| `}}),Fa=new y({props:{name:"class openenv.core.OpenAIClient",anchor:"openenv.core.OpenAIClient",parameters:[{name:"endpoint",val:": str"},{name:"port",val:": int"},{name:"model",val:": str"},{name:"api_key",val:": str | None = None"},{name:"system_prompt",val:": str | None = None"},{name:"temperature",val:": float = 0.0"},{name:"max_tokens",val:": int = 256"},{name:"use_max_completion_tokens",val:": bool = False"}],parametersDescription:[{anchor:"openenv.core.OpenAIClient.endpoint",description:`<strong>endpoint</strong> (<code>str</code>) — | |
| The base URL (e.g. “http://localhost”).`,name:"endpoint"},{anchor:"openenv.core.OpenAIClient.port",description:`<strong>port</strong> (<code>int</code>) — | |
| The port number.`,name:"port"},{anchor:"openenv.core.OpenAIClient.model",description:`<strong>model</strong> (<code>str</code>) — | |
| Model name to pass to the API.`,name:"model"},{anchor:"openenv.core.OpenAIClient.api_key",description:`<strong>api_key</strong> (<code>str</code>, <em>optional</em>) — | |
| API key. Defaults to “not-needed” for local endpoints.`,name:"api_key"},{anchor:"openenv.core.OpenAIClient.system_prompt",description:`<strong>system_prompt</strong> (<code>str</code>, <em>optional</em>) — | |
| System message prepended to every request.`,name:"system_prompt"},{anchor:"openenv.core.OpenAIClient.temperature",description:`<strong>temperature</strong> (<code>float</code>, <em>optional</em>, defaults to <code>0.0</code>) — | |
| Default sampling temperature.`,name:"temperature"},{anchor:"openenv.core.OpenAIClient.max_tokens",description:`<strong>max_tokens</strong> (<code>int</code>, <em>optional</em>, defaults to <code>256</code>) — | |
| Default max tokens in the response.`,name:"max_tokens"},{anchor:"openenv.core.OpenAIClient.use_max_completion_tokens",description:`<strong>use_max_completion_tokens</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>False</code>) — | |
| Use max_completion_tokens instead of max_tokens. Required for newer OpenAI models | |
| (gpt-5-mini, o1, o3). Not supported by self-hosted OpenAI-compatible endpoints.`,name:"use_max_completion_tokens"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/llm_client.py#L133"}}),Xa=new y({props:{name:"complete",anchor:"openenv.core.OpenAIClient.complete",parameters:[{name:"prompt",val:": str"},{name:"**kwargs",val:""}],parametersDescription:[{anchor:"openenv.core.OpenAIClient.complete.prompt",description:`<strong>prompt</strong> (<code>str</code>) — | |
| The user message.`,name:"prompt"},{anchor:"openenv.core.OpenAIClient.complete.*kwargs",description:`*<strong>*kwargs</strong> — | |
| Overrides for temperature, max_tokens.`,name:"*kwargs"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/llm_client.py#L185",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p>The assistant’s response text.</p> | |
| `}}),Oa=new y({props:{name:"class openenv.core.AnthropicClient",anchor:"openenv.core.AnthropicClient",parameters:[{name:"endpoint",val:": str"},{name:"port",val:": int"},{name:"model",val:": str"},{name:"api_key",val:": str | None = None"},{name:"system_prompt",val:": str | None = None"},{name:"temperature",val:": float = 0.0"},{name:"max_tokens",val:": int = 256"}],parametersDescription:[{anchor:"openenv.core.AnthropicClient.endpoint",description:`<strong>endpoint</strong> (<code>str</code>) — | |
| The base URL (e.g. <code>https://api.anthropic.com</code>).`,name:"endpoint"},{anchor:"openenv.core.AnthropicClient.port",description:`<strong>port</strong> (<code>int</code>) — | |
| The port number.`,name:"port"},{anchor:"openenv.core.AnthropicClient.model",description:`<strong>model</strong> (<code>str</code>) — | |
| Model name (e.g. “claude-sonnet-4-20250514”).`,name:"model"},{anchor:"openenv.core.AnthropicClient.api_key",description:`<strong>api_key</strong> (<code>str</code>, <em>optional</em>) — | |
| Anthropic API key.`,name:"api_key"},{anchor:"openenv.core.AnthropicClient.system_prompt",description:`<strong>system_prompt</strong> (<code>str</code>, <em>optional</em>) — | |
| System message prepended to every request.`,name:"system_prompt"},{anchor:"openenv.core.AnthropicClient.temperature",description:`<strong>temperature</strong> (<code>float</code>, <em>optional</em>, defaults to <code>0.0</code>) — | |
| Default sampling temperature.`,name:"temperature"},{anchor:"openenv.core.AnthropicClient.max_tokens",description:`<strong>max_tokens</strong> (<code>int</code>, <em>optional</em>, defaults to <code>256</code>) — | |
| Default max tokens in the response.`,name:"max_tokens"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/llm_client.py#L246"}}),Ka=new y({props:{name:"openenv.core.create_llm_client",anchor:"openenv.core.create_llm_client",parameters:[{name:"provider",val:": str"},{name:"model",val:": str"},{name:"api_key",val:": str"},{name:"system_prompt",val:": str | None = None"},{name:"temperature",val:": float = 0.0"},{name:"max_tokens",val:": int = 4096"}],parametersDescription:[{anchor:"openenv.core.create_llm_client.provider",description:`<strong>provider</strong> (<code>str</code>) — | |
| Provider name (“openai” or “anthropic”).`,name:"provider"},{anchor:"openenv.core.create_llm_client.model",description:`<strong>model</strong> (<code>str</code>) — | |
| Model identifier.`,name:"model"},{anchor:"openenv.core.create_llm_client.api_key",description:`<strong>api_key</strong> (<code>str</code>) — | |
| API key for the provider.`,name:"api_key"},{anchor:"openenv.core.create_llm_client.system_prompt",description:`<strong>system_prompt</strong> (<code>str</code>, <em>optional</em>) — | |
| System message prepended to every request.`,name:"system_prompt"},{anchor:"openenv.core.create_llm_client.temperature",description:`<strong>temperature</strong> (<code>float</code>, <em>optional</em>, defaults to <code>0.0</code>) — | |
| Sampling temperature.`,name:"temperature"},{anchor:"openenv.core.create_llm_client.max_tokens",description:`<strong>max_tokens</strong> (<code>int</code>, <em>optional</em>, defaults to <code>4096</code>) — | |
| Maximum tokens in the response.`,name:"max_tokens"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/llm_client.py#L363",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p>A configured <code>LLMClient</code> instance.</p> | |
| `}}),el=new H({props:{title:"Shared dataclasses",local:"openenv.core.client_types.StepResult",headingTag:"h3"}}),tl=new y({props:{name:"class openenv.core.client_types.StepResult",anchor:"openenv.core.client_types.StepResult",parameters:[{name:"observation",val:": ~ObsT"},{name:"reward",val:": typing.Optional[float] = None"},{name:"done",val:": bool = False"},{name:"metadata",val:": typing.Optional[typing.Dict[str, typing.Any]] = None"}],parametersDescription:[{anchor:"openenv.core.client_types.StepResult.observation",description:`<strong>observation</strong> — | |
| The environment’s observation after the action.`,name:"observation"},{anchor:"openenv.core.client_types.StepResult.reward",description:`<strong>reward</strong> (<code>float</code>, <em>optional</em>) — | |
| Scalar reward for this step.`,name:"reward"},{anchor:"openenv.core.client_types.StepResult.done",description:`<strong>done</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>False</code>) — | |
| Whether the episode is finished.`,name:"done"},{anchor:"openenv.core.client_types.StepResult.metadata",description:`<strong>metadata</strong> (<code>dict</code>, <em>optional</em>) — | |
| Additional metadata returned alongside the observation.`,name:"metadata"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/client_types.py#L11"}}),nl=new H({props:{title:"MCP (Model Context Protocol)",local:"mcp-model-context-protocol",headingTag:"h2"}}),rl=new H({props:{title:"MCP environment",local:"openenv.core.MCPEnvironment",headingTag:"h3"}}),ol=new y({props:{name:"class openenv.core.MCPEnvironment",anchor:"openenv.core.MCPEnvironment",parameters:[{name:"mcp_server",val:": typing.Any"},{name:"transform",val:": typing.Optional[typing.Any] = None"}],parametersDescription:[{anchor:"openenv.core.MCPEnvironment.mcp_server",description:`<strong>mcp_server</strong> — A FastMCP server instance containing tool definitions. | |
| The server’s tools will be validated against reserved names.`,name:"mcp_server"},{anchor:"openenv.core.MCPEnvironment.transform",description:"<strong>transform</strong> — Optional transform to apply to observations (inherited from Environment).",name:"transform"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/mcp_environment.py#L110",raiseDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <ul> | |
| <li><code>ValueError</code> — If any tool in the MCP server uses a reserved name | |
| (reset, step, state, close).</li> | |
| </ul> | |
| `,raiseType:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>ValueError</code></p> | |
| `}}),br=new L({props:{anchor:"openenv.core.MCPEnvironment.example",$$slots:{default:[D5]},$$scope:{ctx:T}}}),sl=new y({props:{name:"close",anchor:"openenv.core.MCPEnvironment.close",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/mcp_environment.py#L644"}}),al=new y({props:{name:"execute_code",anchor:"openenv.core.MCPEnvironment.execute_code",parameters:[{name:"code",val:": str"}],parametersDescription:[{anchor:"openenv.core.MCPEnvironment.execute_code.code",description:`<strong>code</strong> — Python code to execute. Tools are available as functions | |
| in the execution namespace. Set a variable named ‘result’ | |
| to capture the return value.`,name:"code"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/mcp_environment.py#L267",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p>Observation with result in metadata[“result”] or error in | |
| metadata[“error”].</p> | |
| `}}),ll=new y({props:{name:"get_callables",anchor:"openenv.core.MCPEnvironment.get_callables",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/mcp_environment.py#L236",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p>Dictionary mapping tool names to callables.</p> | |
| `}}),il=new y({props:{name:"mcp_session",anchor:"openenv.core.MCPEnvironment.mcp_session",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/mcp_environment.py#L188"}}),cl=new y({props:{name:"step",anchor:"openenv.core.MCPEnvironment.step",parameters:[{name:"action",val:": Action"},{name:"timeout_s",val:": typing.Optional[float] = None"},{name:"**kwargs",val:": typing.Any"}],parametersDescription:[{anchor:"openenv.core.MCPEnvironment.step.action",description:`<strong>action</strong> (<code>Action</code>) — | |
| The action to execute. <code>ListToolsAction</code> returns available MCP tools, | |
| <code>CallToolAction</code> invokes a specific MCP tool, and any other action | |
| is delegated to _step_impl().`,name:"action"},{anchor:"openenv.core.MCPEnvironment.step.timeout_s",description:`<strong>timeout_s</strong> (<code>float</code>, <em>optional</em>) — | |
| Timeout in seconds for the action. Defaults to MCP_TOOL_CALL_TIMEOUT | |
| (30s) for MCP actions.`,name:"timeout_s"},{anchor:"openenv.core.MCPEnvironment.step.*kwargs",description:`*<strong>*kwargs</strong> (<code>Any</code>) — | |
| Additional arguments passed to handlers.`,name:"*kwargs"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/mcp_environment.py#L395",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>ListToolsObservation</code> for <code>ListToolsAction</code>, | |
| <code>CallToolObservation</code> for <code>CallToolAction</code>, or a subclass-defined | |
| Observation for other actions.</p> | |
| `,returnType:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>Observation</code></p> | |
| `}}),pl=new y({props:{name:"step_async",anchor:"openenv.core.MCPEnvironment.step_async",parameters:[{name:"action",val:": Action"},{name:"timeout_s",val:": typing.Optional[float] = None"},{name:"**kwargs",val:": typing.Any"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/mcp_environment.py#L597"}}),dl=new y({props:{name:"tool",anchor:"openenv.core.MCPEnvironment.tool",parameters:[{name:"mode",val:": typing.Optional[str] = None"}],parametersDescription:[{anchor:"openenv.core.MCPEnvironment.tool.mode",description:`<strong>mode</strong> — Optional mode for the tool (“production” or “simulation”). | |
| If None, tool is available in all modes.`,name:"mode"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/mcp_environment.py#L320",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p>A decorator function for registering tools.</p> | |
| `,raiseDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <ul> | |
| <li><code>ValueError</code> — If mode is not None, “production”, or “simulation”.</li> | |
| </ul> | |
| `,raiseType:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>ValueError</code></p> | |
| `}}),ml=new H({props:{title:"MCP types",local:"openenv.core.JsonRpcErrorCode",headingTag:"h3"}}),vl=new y({props:{name:"class openenv.core.JsonRpcErrorCode",anchor:"openenv.core.JsonRpcErrorCode",parameters:[{name:"value",val:""},{name:"names",val:" = None"},{name:"module",val:" = None"},{name:"qualname",val:" = None"},{name:"type",val:" = None"},{name:"start",val:" = 1"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/mcp_types.py#L33"}}),ul=new y({props:{name:"class openenv.core.McpMethod",anchor:"openenv.core.McpMethod",parameters:[{name:"value",val:""},{name:"names",val:" = None"},{name:"module",val:" = None"},{name:"qualname",val:" = None"},{name:"type",val:" = None"},{name:"start",val:" = 1"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/mcp_types.py#L51"}}),gl=new y({props:{name:"class openenv.core.JsonRpcError",anchor:"openenv.core.JsonRpcError",parameters:[{name:"code",val:": int"},{name:"message",val:": str"},{name:"data",val:": typing.Optional[typing.Any] = None"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/mcp_types.py#L58"}}),fl=new y({props:{name:"from_code",anchor:"openenv.core.JsonRpcError.from_code",parameters:[{name:"code",val:": JsonRpcErrorCode"},{name:"message",val:": typing.Optional[str] = None"},{name:"data",val:": typing.Any = None"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/mcp_types.py#L73"}}),hl=new y({props:{name:"class openenv.core.JsonRpcRequest",anchor:"openenv.core.JsonRpcRequest",parameters:[{name:"jsonrpc",val:": typing.Literal['2.0']"},{name:"method",val:": str"},{name:"params",val:": typing.Dict[str, typing.Any] = <factory>"},{name:"id",val:": typing.Union[str, int, NoneType] = None"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/mcp_types.py#L93"}}),bl=new y({props:{name:"class openenv.core.JsonRpcResponse",anchor:"openenv.core.JsonRpcResponse",parameters:[{name:"jsonrpc",val:": typing.Literal['2.0'] = '2.0'"},{name:"result",val:": typing.Optional[typing.Any] = None"},{name:"error",val:": typing.Optional[openenv.core.env_server.mcp_types.JsonRpcError] = None"},{name:"id",val:": typing.Union[str, int, NoneType] = None"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/mcp_types.py#L112"}}),$l=new y({props:{name:"error_response",anchor:"openenv.core.JsonRpcResponse.error_response",parameters:[{name:"code",val:": JsonRpcErrorCode"},{name:"message",val:": typing.Optional[str] = None"},{name:"data",val:": typing.Any = None"},{name:"request_id",val:": typing.Union[str, int, NoneType] = None"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/mcp_types.py#L163"}}),_l=new y({props:{name:"model_dump",anchor:"openenv.core.JsonRpcResponse.model_dump",parameters:[{name:"**kwargs",val:""}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/mcp_types.py#L135"}}),yl=new y({props:{name:"model_dump_json",anchor:"openenv.core.JsonRpcResponse.model_dump_json",parameters:[{name:"**kwargs",val:""}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/mcp_types.py#L150"}}),xl=new y({props:{name:"success",anchor:"openenv.core.JsonRpcResponse.success",parameters:[{name:"result",val:": typing.Any"},{name:"request_id",val:": typing.Union[str, int, NoneType] = None"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/mcp_types.py#L156"}}),Cl=new y({props:{name:"class openenv.core.Tool",anchor:"openenv.core.Tool",parameters:[{name:"name",val:": str"},{name:"description",val:": str"},{name:"input_schema",val:": typing.Dict[str, typing.Any]"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/mcp_types.py#L183"}}),wl=new y({props:{name:"class openenv.core.ToolErrorType",anchor:"openenv.core.ToolErrorType",parameters:[{name:"value",val:""},{name:"names",val:" = None"},{name:"module",val:" = None"},{name:"qualname",val:" = None"},{name:"type",val:" = None"},{name:"start",val:" = 1"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/mcp_types.py#L202"}}),Ml=new y({props:{name:"class openenv.core.ToolError",anchor:"openenv.core.ToolError",parameters:[{name:"error_type",val:": ToolErrorType"},{name:"message",val:": str"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/mcp_types.py#L212"}}),Tl=new y({props:{name:"class openenv.core.ListToolsAction",anchor:"openenv.core.ListToolsAction",parameters:[{name:"metadata",val:": typing.Dict[str, typing.Any] = <factory>"},{name:"type",val:": typing.Literal['list_tools'] = 'list_tools'"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/mcp_types.py#L229"}}),jl=new y({props:{name:"class openenv.core.CallToolAction",anchor:"openenv.core.CallToolAction",parameters:[{name:"metadata",val:": typing.Dict[str, typing.Any] = <factory>"},{name:"type",val:": typing.Literal['call_tool'] = 'call_tool'"},{name:"tool_name",val:": str"},{name:"arguments",val:": typing.Dict[str, typing.Any] = <factory>"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/mcp_types.py#L243"}}),Jl=new y({props:{name:"class openenv.core.ListToolsObservation",anchor:"openenv.core.ListToolsObservation",parameters:[{name:"done",val:": bool = False"},{name:"reward",val:": bool | int | float | None = None"},{name:"metadata",val:": typing.Dict[str, typing.Any] = <factory>"},{name:"tools",val:": typing.List[openenv.core.env_server.mcp_types.Tool]"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/mcp_types.py#L263"}}),kl=new y({props:{name:"class openenv.core.CallToolObservation",anchor:"openenv.core.CallToolObservation",parameters:[{name:"done",val:": bool = False"},{name:"reward",val:": bool | int | float | None = None"},{name:"metadata",val:": typing.Dict[str, typing.Any] = <factory>"},{name:"tool_name",val:": str"},{name:"result",val:": typing.Any = None"},{name:"error",val:": typing.Optional[openenv.core.env_server.mcp_types.ToolError] = None"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/mcp_types.py#L273"}}),Il=new y({props:{name:"class openenv.core.WSMCPMessage",anchor:"openenv.core.WSMCPMessage",parameters:[{name:"type",val:": typing.Literal['mcp'] = 'mcp'"},{name:"data",val:": typing.Dict[str, typing.Any]"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/mcp_types.py#L294"}}),El=new y({props:{name:"class openenv.core.WSMCPResponse",anchor:"openenv.core.WSMCPResponse",parameters:[{name:"type",val:": str = 'mcp'"},{name:"data",val:": typing.Dict[str, typing.Any]"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/env_server/mcp_types.py#L306"}}),Ul=new H({props:{title:"MCP client",local:"openenv.core.MCPClientBase",headingTag:"h3"}}),Pl=new y({props:{name:"class openenv.core.MCPClientBase",anchor:"openenv.core.MCPClientBase",parameters:[{name:"base_url",val:": str"},{name:"connect_timeout_s",val:": float = 10.0"},{name:"message_timeout_s",val:": float = 60.0"},{name:"provider",val:": typing.Optional[typing.Any] = None"},{name:"mode",val:": typing.Optional[str] = None"}],parametersDescription:[{anchor:"openenv.core.MCPClientBase._tools_cache",description:"<strong>_tools_cache</strong> — Cached list of tools (populated on first <code>list_tools()</code> call)",name:"_tools_cache"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/mcp_client.py#L86"}}),Ll=new y({props:{name:"close",anchor:"openenv.core.MCPClientBase.close",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/mcp_client.py#L320"}}),Dl=new y({props:{name:"list_tools",anchor:"openenv.core.MCPClientBase.list_tools",parameters:[{name:"use_cache",val:": bool = True"}],parametersDescription:[{anchor:"openenv.core.MCPClientBase.list_tools.use_cache",description:`<strong>use_cache</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>True</code>) — | |
| If <code>True</code>, return cached tools if available. Set to <code>False</code> to force a fresh request.`,name:"use_cache"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/mcp_client.py#L203",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p>List of <code>Tool</code> objects with name, description, and input_schema.</p> | |
| `}}),Mr=new L({props:{anchor:"openenv.core.MCPClientBase.list_tools.example",$$slots:{default:[A5]},$$scope:{ctx:T}}}),Al=new y({props:{name:"class openenv.core.MCPToolClient",anchor:"openenv.core.MCPToolClient",parameters:[{name:"base_url",val:": str"},{name:"connect_timeout_s",val:": float = 10.0"},{name:"message_timeout_s",val:": float = 60.0"},{name:"provider",val:": typing.Optional[typing.Any] = None"},{name:"mode",val:": typing.Optional[str] = None"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/mcp_client.py#L350"}}),Tr=new L({props:{anchor:"openenv.core.MCPToolClient.example",$$slots:{default:[V5]},$$scope:{ctx:T}}}),jr=new L({props:{anchor:"openenv.core.MCPToolClient.example-2",$$slots:{default:[R5]},$$scope:{ctx:T}}}),Vl=new y({props:{name:"call_tool",anchor:"openenv.core.MCPToolClient.call_tool",parameters:[{name:"name",val:": str"},{name:"**kwargs",val:": typing.Any"}],parametersDescription:[{anchor:"openenv.core.MCPToolClient.call_tool.name",description:`<strong>name</strong> (<code>str</code>) — | |
| Name of the tool to invoke (must match a tool from <code>list_tools()</code>).`,name:"name"},{anchor:"openenv.core.MCPToolClient.call_tool.*kwargs",description:`*<strong>*kwargs</strong> — | |
| Arguments to pass to the tool. Must match the tool’s input_schema.`,name:"*kwargs"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/mcp_client.py#L395",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p>The tool’s result. The type depends on the tool being called.</p> | |
| `,raiseDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <ul> | |
| <li><code>RuntimeError</code> — If the server returns an error response.</li> | |
| </ul> | |
| `,raiseType:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>RuntimeError</code></p> | |
| `}}),Jr=new L({props:{anchor:"openenv.core.MCPToolClient.call_tool.example",$$slots:{default:[S5]},$$scope:{ctx:T}}}),Rl=new y({props:{name:"get_tool",anchor:"openenv.core.MCPToolClient.get_tool",parameters:[{name:"name",val:": str"}],parametersDescription:[{anchor:"openenv.core.MCPToolClient.get_tool.name",description:`<strong>name</strong> (<code>str</code>) — | |
| Name of the tool to find.`,name:"name"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/mcp_client.py#L471",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p>The <code>Tool</code> object if found, <code>None</code> otherwise.</p> | |
| `}}),kr=new L({props:{anchor:"openenv.core.MCPToolClient.get_tool.example",$$slots:{default:[N5]},$$scope:{ctx:T}}}),Sl=new y({props:{name:"has_tool",anchor:"openenv.core.MCPToolClient.has_tool",parameters:[{name:"name",val:": str"}],parametersDescription:[{anchor:"openenv.core.MCPToolClient.has_tool.name",description:`<strong>name</strong> (<code>str</code>) — | |
| Name of the tool to check.`,name:"name"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/mcp_client.py#L497",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>True</code> if the tool exists, <code>False</code> otherwise.</p> | |
| `}}),Nl=new H({props:{title:"Rubrics",local:"openenv.core.rubrics.Rubric",headingTag:"h2"}}),Bl=new y({props:{name:"class openenv.core.rubrics.Rubric",anchor:"openenv.core.rubrics.Rubric",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/rubrics/base.py#L21"}}),Er=new L({props:{anchor:"openenv.core.rubrics.Rubric.example",$$slots:{default:[B5]},$$scope:{ctx:T}}}),Wl=new y({props:{name:"children",anchor:"openenv.core.rubrics.Rubric.children",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/rubrics/base.py#L149"}}),Gl=new y({props:{name:"forward",anchor:"openenv.core.rubrics.Rubric.forward",parameters:[{name:"action",val:": typing.Any"},{name:"observation",val:": typing.Any"}],parametersDescription:[{anchor:"openenv.core.rubrics.Rubric.forward.action",description:"<strong>action</strong> — The action taken by the agent.",name:"action"},{anchor:"openenv.core.rubrics.Rubric.forward.observation",description:"<strong>observation</strong> — The resulting observation.",name:"observation"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/rubrics/base.py#L114",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p>Reward value (typically 0.0 to 1.0).</p> | |
| `,returnType:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>float</code></p> | |
| `}}),Zl=new y({props:{name:"get_rubric",anchor:"openenv.core.rubrics.Rubric.get_rubric",parameters:[{name:"path",val:": str"}],parametersDescription:[{anchor:"openenv.core.rubrics.Rubric.get_rubric.path",description:`<strong>path</strong> (<code>str</code>) — | |
| Dot-separated path (e.g., “code.syntax”).`,name:"path"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/rubrics/base.py#L170",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p>The rubric at the specified path.</p> | |
| `,returnType:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>Rubric</code></p> | |
| `,raiseDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <ul> | |
| <li><code>KeyError</code> — If the path does not exist.</li> | |
| </ul> | |
| `,raiseType:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>KeyError</code></p> | |
| `}}),zl=new y({props:{name:"load_state_dict",anchor:"openenv.core.rubrics.Rubric.load_state_dict",parameters:[{name:"state",val:": typing.Dict[str, typing.Any]"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/rubrics/base.py#L199"}}),ql=new y({props:{name:"named_children",anchor:"openenv.core.rubrics.Rubric.named_children",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/rubrics/base.py#L153"}}),Yl=new y({props:{name:"named_rubrics",anchor:"openenv.core.rubrics.Rubric.named_rubrics",parameters:[{name:"prefix",val:": str = ''"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/rubrics/base.py#L163"}}),Ql=new y({props:{name:"register_forward_hook",anchor:"openenv.core.rubrics.Rubric.register_forward_hook",parameters:[{name:"hook",val:": typing.Callable[[ForwardRef('Rubric'), typing.Any, typing.Any, float], NoneType]"}],parametersDescription:[{anchor:"openenv.core.rubrics.Rubric.register_forward_hook.hook",description:`<strong>hook</strong> (<code>Callable</code>) — | |
| Callable with signature (rubric, action, observation, result).`,name:"hook"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/rubrics/base.py#L127"}}),Hl=new y({props:{name:"register_forward_pre_hook",anchor:"openenv.core.rubrics.Rubric.register_forward_pre_hook",parameters:[{name:"hook",val:": typing.Callable[[ForwardRef('Rubric'), typing.Any, typing.Any], NoneType]"}],parametersDescription:[{anchor:"openenv.core.rubrics.Rubric.register_forward_pre_hook.hook",description:`<strong>hook</strong> (<code>Callable</code>) — | |
| Callable with signature (rubric, action, observation).`,name:"hook"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/rubrics/base.py#L138"}}),Fl=new y({props:{name:"reset",anchor:"openenv.core.rubrics.Rubric.reset",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/rubrics/base.py#L191"}}),Xl=new y({props:{name:"rubrics",anchor:"openenv.core.rubrics.Rubric.rubrics",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/rubrics/base.py#L157"}}),Ol=new y({props:{name:"state_dict",anchor:"openenv.core.rubrics.Rubric.state_dict",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/rubrics/base.py#L195"}}),Kl=new y({props:{name:"class openenv.core.rubrics.Sequential",anchor:"openenv.core.rubrics.Sequential",parameters:[{name:"*rubrics",val:": Rubric"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/rubrics/containers.py#L31"}}),Gr=new L({props:{anchor:"openenv.core.rubrics.Sequential.example",$$slots:{default:[W5]},$$scope:{ctx:T}}}),ei=new y({props:{name:"forward",anchor:"openenv.core.rubrics.Sequential.forward",parameters:[{name:"action",val:": typing.Any"},{name:"observation",val:": typing.Any"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/rubrics/containers.py#L61"}}),ti=new y({props:{name:"class openenv.core.rubrics.Gate",anchor:"openenv.core.rubrics.Gate",parameters:[{name:"rubric",val:": Rubric"},{name:"threshold",val:": float = 1.0"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/rubrics/containers.py#L264"}}),zr=new L({props:{anchor:"openenv.core.rubrics.Gate.example",$$slots:{default:[G5]},$$scope:{ctx:T}}}),ni=new y({props:{name:"forward",anchor:"openenv.core.rubrics.Gate.forward",parameters:[{name:"action",val:": typing.Any"},{name:"observation",val:": typing.Any"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/rubrics/containers.py#L290"}}),ri=new y({props:{name:"class openenv.core.rubrics.WeightedSum",anchor:"openenv.core.rubrics.WeightedSum",parameters:[{name:"rubrics",val:": typing.List[openenv.core.rubrics.base.Rubric]"},{name:"weights",val:": typing.List[float]"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/rubrics/containers.py#L336"}}),Yr=new L({props:{anchor:"openenv.core.rubrics.WeightedSum.example",$$slots:{default:[Z5]},$$scope:{ctx:T}}}),oi=new y({props:{name:"forward",anchor:"openenv.core.rubrics.WeightedSum.forward",parameters:[{name:"action",val:": typing.Any"},{name:"observation",val:": typing.Any"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/rubrics/containers.py#L377"}}),si=new y({props:{name:"class openenv.core.rubrics.RubricList",anchor:"openenv.core.rubrics.RubricList",parameters:[{name:"rubrics",val:": typing.List[openenv.core.rubrics.base.Rubric] = None"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/rubrics/containers.py#L455"}}),Hr=new L({props:{anchor:"openenv.core.rubrics.RubricList.example",$$slots:{default:[z5]},$$scope:{ctx:T}}}),ai=new y({props:{name:"append",anchor:"openenv.core.rubrics.RubricList.append",parameters:[{name:"rubric",val:": Rubric"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/rubrics/containers.py#L494"}}),li=new y({props:{name:"extend",anchor:"openenv.core.rubrics.RubricList.extend",parameters:[{name:"rubrics",val:": typing.List[openenv.core.rubrics.base.Rubric]"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/rubrics/containers.py#L500"}}),ii=new y({props:{name:"forward",anchor:"openenv.core.rubrics.RubricList.forward",parameters:[{name:"action",val:": typing.Any"},{name:"observation",val:": typing.Any"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/rubrics/containers.py#L487"}}),ci=new y({props:{name:"class openenv.core.rubrics.RubricDict",anchor:"openenv.core.rubrics.RubricDict",parameters:[{name:"rubrics",val:": typing.Dict[str, openenv.core.rubrics.base.Rubric] = None"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/rubrics/containers.py#L515"}}),Kr=new L({props:{anchor:"openenv.core.rubrics.RubricDict.example",$$slots:{default:[q5]},$$scope:{ctx:T}}}),pi=new y({props:{name:"forward",anchor:"openenv.core.rubrics.RubricDict.forward",parameters:[{name:"action",val:": typing.Any"},{name:"observation",val:": typing.Any"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/rubrics/containers.py#L553"}}),di=new y({props:{name:"items",anchor:"openenv.core.rubrics.RubricDict.items",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/rubrics/containers.py#L587"}}),mi=new y({props:{name:"keys",anchor:"openenv.core.rubrics.RubricDict.keys",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/rubrics/containers.py#L579"}}),vi=new y({props:{name:"update",anchor:"openenv.core.rubrics.RubricDict.update",parameters:[{name:"rubrics",val:": typing.Union[typing.Dict[str, openenv.core.rubrics.base.Rubric], typing.Mapping[str, openenv.core.rubrics.base.Rubric]]"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/rubrics/containers.py#L591"}}),ui=new y({props:{name:"values",anchor:"openenv.core.rubrics.RubricDict.values",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/rubrics/containers.py#L583"}}),gi=new y({props:{name:"class openenv.core.rubrics.TrajectoryRubric",anchor:"openenv.core.rubrics.TrajectoryRubric",parameters:[{name:"intermediate_reward",val:": float = 0.0"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/rubrics/trajectory.py#L26"}}),so=new L({props:{anchor:"openenv.core.rubrics.TrajectoryRubric.example",$$slots:{default:[Y5]},$$scope:{ctx:T}}}),fi=new y({props:{name:"compute_step_rewards",anchor:"openenv.core.rubrics.TrajectoryRubric.compute_step_rewards",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/rubrics/trajectory.py#L111",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p>Rewards, one per step. Length matches len(trajectory).</p> | |
| `,returnType:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>list[float]</code></p> | |
| `}}),hi=new y({props:{name:"forward",anchor:"openenv.core.rubrics.TrajectoryRubric.forward",parameters:[{name:"action",val:": typing.Any"},{name:"observation",val:": typing.Any"}],parametersDescription:[{anchor:"openenv.core.rubrics.TrajectoryRubric.forward.action",description:"<strong>action</strong> — The action taken.",name:"action"},{anchor:"openenv.core.rubrics.TrajectoryRubric.forward.observation",description:"<strong>observation</strong> — The resulting observation. Must have a ‘done’ attribute.",name:"observation"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/rubrics/trajectory.py#L77",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p>intermediate_reward if not done, else score_trajectory() result.</p> | |
| `,returnType:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>float</code></p> | |
| `}}),bi=new y({props:{name:"load_state_dict",anchor:"openenv.core.rubrics.TrajectoryRubric.load_state_dict",parameters:[{name:"state",val:": typing.Dict[str, typing.Any]"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/rubrics/trajectory.py#L136"}}),$i=new y({props:{name:"reset",anchor:"openenv.core.rubrics.TrajectoryRubric.reset",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/rubrics/trajectory.py#L123"}}),_i=new y({props:{name:"score_trajectory",anchor:"openenv.core.rubrics.TrajectoryRubric.score_trajectory",parameters:[{name:"trajectory",val:": typing.List[typing.Tuple[typing.Any, typing.Any]]"}],parametersDescription:[{anchor:"openenv.core.rubrics.TrajectoryRubric.score_trajectory.trajectory",description:`<strong>trajectory</strong> (<code>list</code>) — | |
| List of (action, observation) tuples.`,name:"trajectory"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/rubrics/trajectory.py#L96",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p>Final trajectory score (typically 0.0 to 1.0).</p> | |
| `,returnType:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>float</code></p> | |
| `}}),yi=new y({props:{name:"state_dict",anchor:"openenv.core.rubrics.TrajectoryRubric.state_dict",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/rubrics/trajectory.py#L132"}}),xi=new y({props:{name:"class openenv.core.rubrics.ExponentialDiscountingTrajectoryRubric",anchor:"openenv.core.rubrics.ExponentialDiscountingTrajectoryRubric",parameters:[{name:"gamma",val:": float = 0.99"},{name:"intermediate_reward",val:": float = 0.0"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/rubrics/trajectory.py#L142"}}),co=new L({props:{anchor:"openenv.core.rubrics.ExponentialDiscountingTrajectoryRubric.example",$$slots:{default:[Q5]},$$scope:{ctx:T}}}),po=new L({props:{anchor:"openenv.core.rubrics.ExponentialDiscountingTrajectoryRubric.example-2",$$slots:{default:[H5]},$$scope:{ctx:T}}}),Ci=new y({props:{name:"compute_step_rewards",anchor:"openenv.core.rubrics.ExponentialDiscountingTrajectoryRubric.compute_step_rewards",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/rubrics/trajectory.py#L191",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p>Discounted rewards where <code>step_rewards[t] = gamma^(T-1-t) * R_final</code>, | |
| T is the trajectory length and R_final is score_trajectory().</p> | |
| `,returnType:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>list[float]</code></p> | |
| `}}),wi=new y({props:{name:"state_dict",anchor:"openenv.core.rubrics.ExponentialDiscountingTrajectoryRubric.state_dict",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/rubrics/trajectory.py#L205"}}),Mi=new y({props:{name:"class openenv.core.rubrics.LLMJudge",anchor:"openenv.core.rubrics.LLMJudge",parameters:[{name:"prompt_template",val:": str"},{name:"client",val:": LLMClient"},{name:"score_pattern",val:": str | None = None"},{name:"default_score",val:": float = 0.0"},{name:"normalize",val:": bool = True"}],parametersDescription:[{anchor:"openenv.core.rubrics.LLMJudge.prompt_template",description:`<strong>prompt_template</strong> (<em>str</em>) — | |
| Template string with {action} and {observation} placeholders.`,name:"prompt_template"},{anchor:"openenv.core.rubrics.LLMJudge.client",description:`<strong>client</strong> (<em>LLMClient</em>) — | |
| An LLMClient instance for making LLM calls.`,name:"client"},{anchor:"openenv.core.rubrics.LLMJudge.score_pattern",description:`<strong>score_pattern</strong> (<em>str</em>, <em>optional</em>) — | |
| Regex to extract the score from the LLM response. Defaults to matching | |
| the first decimal number.`,name:"score_pattern"},{anchor:"openenv.core.rubrics.LLMJudge.default_score",description:`<strong>default_score</strong> (<em>float</em>, <em>optional</em>, defaults to <em>0.0</em>) — | |
| Score returned when parsing fails.`,name:"default_score"},{anchor:"openenv.core.rubrics.LLMJudge.normalize",description:`<strong>normalize</strong> (<em>bool</em>, <em>optional</em>, defaults to <em>True</em>) — | |
| If True, clamp extracted score to [0, 1].`,name:"normalize"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/rubrics/llm_judge.py#L32"}}),Ti=new y({props:{name:"forward",anchor:"openenv.core.rubrics.LLMJudge.forward",parameters:[{name:"action",val:": typing.Any"},{name:"observation",val:": typing.Any"}],parametersDescription:[{anchor:"openenv.core.rubrics.LLMJudge.forward.action",description:"<strong>action</strong> — The action taken by the agent.",name:"action"},{anchor:"openenv.core.rubrics.LLMJudge.forward.observation",description:"<strong>observation</strong> — The resulting observation.",name:"observation"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/rubrics/llm_judge.py#L68",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p>Parsed score from the LLM response.</p> | |
| `,returnType:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>float</code></p> | |
| `}}),ji=new y({props:{name:"state_dict",anchor:"openenv.core.rubrics.LLMJudge.state_dict",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/rubrics/llm_judge.py#L108"}}),Ji=new H({props:{title:"Tools",local:"openenv.core.tools.RepoInfo",headingTag:"h2"}}),ki=new y({props:{name:"class openenv.core.tools.RepoInfo",anchor:"openenv.core.tools.RepoInfo",parameters:[{name:"name",val:": str"},{name:"url",val:": str"},{name:"commit",val:": str"},{name:"clone_url",val:": str"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/tools/git_server_client.py#L21"}}),Ii=new y({props:{name:"class openenv.core.tools.GitServerClient",anchor:"openenv.core.tools.GitServerClient",parameters:[{name:"gitea_url",val:": str"},{name:"username",val:": str"},{name:"password",val:": str"},{name:"workspace_dir",val:": str = '/workspace'"}],parametersDescription:[{anchor:"openenv.core.tools.GitServerClient.gitea_url",description:"<strong>gitea_url</strong> — URL of the Gitea server (e.g., “http://gitea:3000”)",name:"gitea_url"},{anchor:"openenv.core.tools.GitServerClient.username",description:"<strong>username</strong> — Gitea username for authentication",name:"username"},{anchor:"openenv.core.tools.GitServerClient.password",description:"<strong>password</strong> — Gitea password for authentication",name:"password"},{anchor:"openenv.core.tools.GitServerClient.workspace_dir",description:"<strong>workspace_dir</strong> — Local workspace directory for cloning repos",name:"workspace_dir"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/tools/git_server_client.py#L30"}}),fo=new L({props:{anchor:"openenv.core.tools.GitServerClient.example",$$slots:{default:[F5]},$$scope:{ctx:T}}}),Ei=new y({props:{name:"clone_to_workspace",anchor:"openenv.core.tools.GitServerClient.clone_to_workspace",parameters:[{name:"repo_name",val:": str"},{name:"target_dir",val:": str | None = None"},{name:"commit",val:": str = 'main'"}],parametersDescription:[{anchor:"openenv.core.tools.GitServerClient.clone_to_workspace.repo_name",description:`<strong>repo_name</strong> (<code>str</code>) — | |
| Name of repository to clone.`,name:"repo_name"},{anchor:"openenv.core.tools.GitServerClient.clone_to_workspace.target_dir",description:`<strong>target_dir</strong> (<code>str</code>, <em>optional</em>) — | |
| Target directory name. Defaults to <code>repo_name</code>.`,name:"target_dir"},{anchor:"openenv.core.tools.GitServerClient.clone_to_workspace.commit",description:`<strong>commit</strong> (<code>str</code>, <em>optional</em>, defaults to <code>"main"</code>) — | |
| Commit hash or branch to check out.`,name:"commit"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/tools/git_server_client.py#L184",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p>Path to cloned repository.</p> | |
| `,returnType:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>str</code></p> | |
| `,raiseDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <ul> | |
| <li><code>RuntimeError</code> — If clone fails.</li> | |
| </ul> | |
| `,raiseType:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>RuntimeError</code></p> | |
| `}}),Ui=new y({props:{name:"execute_git_command",anchor:"openenv.core.tools.GitServerClient.execute_git_command",parameters:[{name:"command",val:": str"},{name:"working_dir",val:": str = ''"}],parametersDescription:[{anchor:"openenv.core.tools.GitServerClient.execute_git_command.command",description:`<strong>command</strong> (<code>str</code>) — | |
| Git command to execute (without <code>git</code> prefix).`,name:"command"},{anchor:"openenv.core.tools.GitServerClient.execute_git_command.working_dir",description:`<strong>working_dir</strong> (<code>str</code>, <em>optional</em>, defaults to <code>""</code>) — | |
| Working directory relative to workspace.`,name:"working_dir"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/tools/git_server_client.py#L318",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>tuple</code> of (exit_code, stdout, stderr).</p> | |
| `}}),Pi=new y({props:{name:"get_current_commit",anchor:"openenv.core.tools.GitServerClient.get_current_commit",parameters:[{name:"repo_name",val:": str"}],parametersDescription:[{anchor:"openenv.core.tools.GitServerClient.get_current_commit.repo_name",description:`<strong>repo_name</strong> (<code>str</code>) — | |
| Name of repository in workspace.`,name:"repo_name"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/tools/git_server_client.py#L352",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p>Commit hash.</p> | |
| `,returnType:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>str</code></p> | |
| `}}),Li=new y({props:{name:"list_repositories",anchor:"openenv.core.tools.GitServerClient.list_repositories",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/tools/git_server_client.py#L145",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>list</code> of repository information dictionaries.</p> | |
| `}}),Di=new y({props:{name:"reset_workspace",anchor:"openenv.core.tools.GitServerClient.reset_workspace",parameters:[{name:"repo_name",val:": str"},{name:"commit",val:": str = 'main'"}],parametersDescription:[{anchor:"openenv.core.tools.GitServerClient.reset_workspace.repo_name",description:`<strong>repo_name</strong> (<code>str</code>) — | |
| Name of repository (directory in workspace).`,name:"repo_name"},{anchor:"openenv.core.tools.GitServerClient.reset_workspace.commit",description:`<strong>commit</strong> (<code>str</code>, <em>optional</em>, defaults to <code>"main"</code>) — | |
| Commit hash or branch to reset to.`,name:"commit"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/tools/git_server_client.py#L242",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p>True if reset successful.</p> | |
| `,returnType:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>bool</code></p> | |
| `,raiseDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <ul> | |
| <li><code>RuntimeError</code> — If reset fails.</li> | |
| </ul> | |
| `,raiseType:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>RuntimeError</code></p> | |
| `}}),Ai=new y({props:{name:"wait_for_ready",anchor:"openenv.core.tools.GitServerClient.wait_for_ready",parameters:[{name:"timeout",val:": int = 30"}],parametersDescription:[{anchor:"openenv.core.tools.GitServerClient.wait_for_ready.timeout",description:`<strong>timeout</strong> (<code>int</code>, <em>optional</em>, defaults to <code>30</code>) — | |
| Maximum seconds to wait.`,name:"timeout"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/tools/git_server_client.py#L114",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p>True if server is ready, False otherwise.</p> | |
| `,returnType:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>bool</code></p> | |
| `}}),Vi=new y({props:{name:"workspace_exists",anchor:"openenv.core.tools.GitServerClient.workspace_exists",parameters:[{name:"repo_name",val:": str"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/tools/git_server_client.py#L380"}}),Ri=new H({props:{title:"Container providers",local:"openenv.core.containers.runtime.ContainerProvider",headingTag:"h2"}}),Si=new y({props:{name:"class openenv.core.containers.runtime.ContainerProvider",anchor:"openenv.core.containers.runtime.ContainerProvider",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/containers/runtime/providers.py#L22"}}),xo=new L({props:{anchor:"openenv.core.containers.runtime.ContainerProvider.example",$$slots:{default:[X5]},$$scope:{ctx:T}}}),Ni=new y({props:{name:"close",anchor:"openenv.core.containers.runtime.ContainerProvider.close",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/containers/runtime/providers.py#L105"}}),Bi=new y({props:{name:"start_container",anchor:"openenv.core.containers.runtime.ContainerProvider.start_container",parameters:[{name:"image",val:": str"},{name:"port",val:": Optional[int] = None"},{name:"env_vars",val:": Optional[Dict[str, str]] = None"},{name:"**kwargs",val:": Any"}],parametersDescription:[{anchor:"openenv.core.containers.runtime.ContainerProvider.start_container.image",description:`<strong>image</strong> (<code>str</code>) — | |
| Provider-specific container <em>source</em> identifier. For | |
| container-based providers this is a registry image name (e.g. | |
| <code>"echo-env:latest"</code>); other providers may map it to a | |
| provider-specific source (see the provider’s documentation).`,name:"image"},{anchor:"openenv.core.containers.runtime.ContainerProvider.start_container.port",description:`<strong>port</strong> (<code>int</code>, <em>optional</em>) — | |
| Port to expose. If <code>None</code>, the provider chooses.`,name:"port"},{anchor:"openenv.core.containers.runtime.ContainerProvider.start_container.env_vars",description:`<strong>env_vars</strong> (<code>dict</code>, <em>optional</em>) — | |
| Environment variables to pass to container.`,name:"env_vars"},{anchor:"openenv.core.containers.runtime.ContainerProvider.start_container.*kwargs",description:`*<strong>*kwargs</strong> — | |
| Provider-specific options.`,name:"*kwargs"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/containers/runtime/providers.py#L46",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p>Base URL to connect to the container (e.g., <code>"http://localhost:8000"</code>).</p> | |
| `,returnType:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>str</code></p> | |
| `,raiseDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <ul> | |
| <li><code>RuntimeError</code> — If container fails to start.</li> | |
| </ul> | |
| `,raiseType:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>RuntimeError</code></p> | |
| `}}),Wi=new y({props:{name:"stop_container",anchor:"openenv.core.containers.runtime.ContainerProvider.stop_container",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/containers/runtime/providers.py#L78"}}),Gi=new y({props:{name:"wait_for_ready",anchor:"openenv.core.containers.runtime.ContainerProvider.wait_for_ready",parameters:[{name:"base_url",val:": str"},{name:"timeout_s",val:": float = 30.0"}],parametersDescription:[{anchor:"openenv.core.containers.runtime.ContainerProvider.wait_for_ready.base_url",description:`<strong>base_url</strong> (<code>str</code>) — | |
| Base URL of the container.`,name:"base_url"},{anchor:"openenv.core.containers.runtime.ContainerProvider.wait_for_ready.timeout_s",description:`<strong>timeout_s</strong> (<code>float</code>, <em>optional</em>, defaults to <code>30.0</code>) — | |
| Maximum time to wait in seconds.`,name:"timeout_s"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/containers/runtime/providers.py#L87",raiseDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <ul> | |
| <li><code>TimeoutError</code> — If container doesn’t become ready in time.</li> | |
| </ul> | |
| `,raiseType:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>TimeoutError</code></p> | |
| `}}),Zi=new y({props:{name:"class openenv.core.containers.runtime.LocalDockerProvider",anchor:"openenv.core.containers.runtime.LocalDockerProvider",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/containers/runtime/providers.py#L124"}}),wo=new L({props:{anchor:"openenv.core.containers.runtime.LocalDockerProvider.example",$$slots:{default:[O5]},$$scope:{ctx:T}}}),zi=new y({props:{name:"start_container",anchor:"openenv.core.containers.runtime.LocalDockerProvider.start_container",parameters:[{name:"image",val:": str"},{name:"port",val:": Optional[int] = None"},{name:"env_vars",val:": Optional[Dict[str, str]] = None"},{name:"**kwargs",val:": Any"}],parametersDescription:[{anchor:"openenv.core.containers.runtime.LocalDockerProvider.start_container.image",description:`<strong>image</strong> (<code>str</code>) — | |
| Docker image name.`,name:"image"},{anchor:"openenv.core.containers.runtime.LocalDockerProvider.start_container.port",description:`<strong>port</strong> (<code>int</code>, <em>optional</em>) — | |
| Port to expose. If <code>None</code>, finds an available port.`,name:"port"},{anchor:"openenv.core.containers.runtime.LocalDockerProvider.start_container.env_vars",description:`<strong>env_vars</strong> (<code>dict</code>, <em>optional</em>) — | |
| Environment variables for the container.`,name:"env_vars"},{anchor:"openenv.core.containers.runtime.LocalDockerProvider.start_container.*kwargs",description:`*<strong>*kwargs</strong> — | |
| Additional Docker run options.`,name:"*kwargs"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/containers/runtime/providers.py#L165",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p>Base URL to connect to the container.</p> | |
| `,returnType:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>str</code></p> | |
| `}}),qi=new y({props:{name:"stop_container",anchor:"openenv.core.containers.runtime.LocalDockerProvider.stop_container",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/containers/runtime/providers.py#L231"}}),Yi=new y({props:{name:"wait_for_ready",anchor:"openenv.core.containers.runtime.LocalDockerProvider.wait_for_ready",parameters:[{name:"base_url",val:": str"},{name:"timeout_s",val:": float = 30.0"}],parametersDescription:[{anchor:"openenv.core.containers.runtime.LocalDockerProvider.wait_for_ready.base_url",description:`<strong>base_url</strong> (<code>str</code>) — | |
| Base URL of the container.`,name:"base_url"},{anchor:"openenv.core.containers.runtime.LocalDockerProvider.wait_for_ready.timeout_s",description:`<strong>timeout_s</strong> (<code>float</code>, <em>optional</em>, defaults to <code>30.0</code>) — | |
| Maximum time to wait in seconds.`,name:"timeout_s"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/containers/runtime/providers.py#L263",raiseDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <ul> | |
| <li><code>TimeoutError</code> — If container doesn’t become ready.</li> | |
| </ul> | |
| `,raiseType:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>TimeoutError</code></p> | |
| `}}),Qi=new y({props:{name:"class openenv.core.containers.runtime.DockerSwarmProvider",anchor:"openenv.core.containers.runtime.DockerSwarmProvider",parameters:[{name:"auto_init_swarm",val:": bool = True"},{name:"overlay_network",val:": Optional[str] = None"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/containers/runtime/providers.py#L333"}}),Hi=new y({props:{name:"start_container",anchor:"openenv.core.containers.runtime.DockerSwarmProvider.start_container",parameters:[{name:"image",val:": str"},{name:"port",val:": Optional[int] = None"},{name:"env_vars",val:": Optional[Dict[str, str]] = None"},{name:"**kwargs",val:": Any"}],parametersDescription:[{anchor:"openenv.core.containers.runtime.DockerSwarmProvider.start_container.image",description:`<strong>image</strong> (<code>str</code>) — | |
| Docker image name.`,name:"image"},{anchor:"openenv.core.containers.runtime.DockerSwarmProvider.start_container.port",description:`<strong>port</strong> (<code>int</code>, <em>optional</em>) — | |
| Port to expose. If <code>None</code>, finds an available port.`,name:"port"},{anchor:"openenv.core.containers.runtime.DockerSwarmProvider.start_container.env_vars",description:`<strong>env_vars</strong> (<code>dict</code>, <em>optional</em>) — | |
| Environment variables for the container.`,name:"env_vars"},{anchor:"openenv.core.containers.runtime.DockerSwarmProvider.start_container.replicas",description:`<strong>replicas</strong> (<code>int</code>, <em>optional</em>, defaults to <code>2</code>) — | |
| Number of container replicas.`,name:"replicas"},{anchor:"openenv.core.containers.runtime.DockerSwarmProvider.start_container.cpu_limit",description:`<strong>cpu_limit</strong> (<code>float</code> or <code>str</code>, <em>optional</em>) — | |
| CPU limit passed to <code>--limit-cpu</code>.`,name:"cpu_limit"},{anchor:"openenv.core.containers.runtime.DockerSwarmProvider.start_container.memory_limit",description:`<strong>memory_limit</strong> (<code>str</code>, <em>optional</em>) — | |
| Memory limit passed to <code>--limit-memory</code>.`,name:"memory_limit"},{anchor:"openenv.core.containers.runtime.DockerSwarmProvider.start_container.constraints",description:`<strong>constraints</strong> (<code>Sequence[str]</code>, <em>optional</em>) — | |
| Placement constraints.`,name:"constraints"},{anchor:"openenv.core.containers.runtime.DockerSwarmProvider.start_container.labels",description:`<strong>labels</strong> (<code>dict</code>, <em>optional</em>) — | |
| Service labels.`,name:"labels"},{anchor:"openenv.core.containers.runtime.DockerSwarmProvider.start_container.command",description:`<strong>command</strong> (<code>Sequence[str]</code> or <code>str</code>, <em>optional</em>) — | |
| Override container command.`,name:"command"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/containers/runtime/providers.py#L370",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p>Base URL to connect to the service.</p> | |
| `,returnType:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>str</code></p> | |
| `}}),Fi=new y({props:{name:"stop_container",anchor:"openenv.core.containers.runtime.DockerSwarmProvider.stop_container",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/containers/runtime/providers.py#L497"}}),Xi=new y({props:{name:"wait_for_ready",anchor:"openenv.core.containers.runtime.DockerSwarmProvider.wait_for_ready",parameters:[{name:"base_url",val:": str"},{name:"timeout_s",val:": float = 30.0"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/containers/runtime/providers.py#L521"}}),Oi=new y({props:{name:"class openenv.core.containers.runtime.KubernetesProvider",anchor:"openenv.core.containers.runtime.KubernetesProvider",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/containers/runtime/providers.py#L651"}}),Io=new L({props:{anchor:"openenv.core.containers.runtime.KubernetesProvider.example",$$slots:{default:[K5]},$$scope:{ctx:T}}}),Ki=new y({props:{name:"class openenv.core.containers.runtime.RuntimeProvider",anchor:"openenv.core.containers.runtime.RuntimeProvider",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/containers/runtime/providers.py#L671"}}),Eo=new L({props:{anchor:"openenv.core.containers.runtime.RuntimeProvider.example",$$slots:{default:[eJ]},$$scope:{ctx:T}}}),ec=new y({props:{name:"start",anchor:"openenv.core.containers.runtime.RuntimeProvider.start",parameters:[{name:"port",val:": Optional[int] = None"},{name:"env_vars",val:": Optional[Dict[str, str]] = None"},{name:"**kwargs",val:": Any"}],parametersDescription:[{anchor:"openenv.core.containers.runtime.RuntimeProvider.start.port",description:`<strong>port</strong> (<code>int</code>, <em>optional</em>) — | |
| Port to expose. If <code>None</code>, the provider chooses.`,name:"port"},{anchor:"openenv.core.containers.runtime.RuntimeProvider.start.env_vars",description:`<strong>env_vars</strong> (<code>dict</code>, <em>optional</em>) — | |
| Environment variables for the runtime.`,name:"env_vars"},{anchor:"openenv.core.containers.runtime.RuntimeProvider.start.*kwargs",description:`*<strong>*kwargs</strong> — | |
| Additional runtime options.`,name:"*kwargs"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/containers/runtime/providers.py#L690",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p>Base URL to connect to the runtime.</p> | |
| `,returnType:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>str</code></p> | |
| `}}),tc=new y({props:{name:"stop",anchor:"openenv.core.containers.runtime.RuntimeProvider.stop",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/containers/runtime/providers.py#L712"}}),nc=new y({props:{name:"wait_for_ready",anchor:"openenv.core.containers.runtime.RuntimeProvider.wait_for_ready",parameters:[{name:"timeout_s",val:": float = 30.0"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/containers/runtime/providers.py#L719"}}),rc=new y({props:{name:"class openenv.core.containers.runtime.UVProvider",anchor:"openenv.core.containers.runtime.UVProvider",parameters:[{name:"project_path",val:": str"},{name:"app",val:": str = 'server.app:app'"},{name:"host",val:": str = '0.0.0.0'"},{name:"reload",val:": bool = False"},{name:"env_vars",val:": Optional[Dict[str, str]] = None"},{name:"context_timeout_s",val:": float = 60.0"}],parametersDescription:[{anchor:"openenv.core.containers.runtime.UVProvider.project_path",description:`<strong>project_path</strong> (<em>str</em>) — | |
| Local path to a uv project (passed to <em>uv run —project</em>).`,name:"project_path"},{anchor:"openenv.core.containers.runtime.UVProvider.app",description:`<strong>app</strong> (<em>str</em>, <em>optional</em>, defaults to <em>“server.app —app”</em>): | |
| ASGI application path for uvicorn.`,name:"app"},{anchor:"openenv.core.containers.runtime.UVProvider.host",description:`<strong>host</strong> (<em>str</em>, <em>optional</em>, defaults to <em>“0.0.0.0”</em>) — | |
| Host interface to bind to.`,name:"host"},{anchor:"openenv.core.containers.runtime.UVProvider.reload",description:`<strong>reload</strong> (<em>bool</em>, <em>optional</em>, defaults to <em>False</em>) — | |
| Whether to enable uvicorn’s reload mode.`,name:"reload"},{anchor:"openenv.core.containers.runtime.UVProvider.env_vars",description:`<strong>env_vars</strong> (<em>dict</em>, <em>optional</em>) — | |
| Environment variables to pass through to the spawned process.`,name:"env_vars"},{anchor:"openenv.core.containers.runtime.UVProvider.context_timeout_s",description:`<strong>context_timeout_s</strong> (<em>float</em>, <em>optional</em>, defaults to <em>60.0</em>) — | |
| How long to wait for the environment to become ready.`,name:"context_timeout_s"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/containers/runtime/uv_provider.py#L81"}}),Do=new L({props:{anchor:"openenv.core.containers.runtime.UVProvider.example",$$slots:{default:[tJ]},$$scope:{ctx:T}}}),oc=new y({props:{name:"start",anchor:"openenv.core.containers.runtime.UVProvider.start",parameters:[{name:"port",val:": Optional[int] = None"},{name:"env_vars",val:": Optional[Dict[str, str]] = None"},{name:"workers",val:": int = 1"},{name:"**_",val:": Dict[str, str]"}],parametersDescription:[{anchor:"openenv.core.containers.runtime.UVProvider.start.port",description:`<strong>port</strong> (<code>int</code>, <em>optional</em>) — | |
| The port to bind the environment to.`,name:"port"},{anchor:"openenv.core.containers.runtime.UVProvider.start.env_vars",description:`<strong>env_vars</strong> (<code>dict</code>, <em>optional</em>) — | |
| Environment variables to pass to the environment.`,name:"env_vars"},{anchor:"openenv.core.containers.runtime.UVProvider.start.workers",description:`<strong>workers</strong> (<code>int</code>, <em>optional</em>, defaults to <code>1</code>) — | |
| The number of workers to use.`,name:"workers"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/containers/runtime/uv_provider.py#L131",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p>Base URL of the environment.</p> | |
| `,returnType:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>str</code></p> | |
| `,raiseDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <ul> | |
| <li><code>RuntimeError</code> — If the environment is already running.</li> | |
| </ul> | |
| `,raiseType:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>RuntimeError</code></p> | |
| `}}),sc=new y({props:{name:"stop",anchor:"openenv.core.containers.runtime.UVProvider.stop",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/containers/runtime/uv_provider.py#L203"}}),ac=new y({props:{name:"wait_for_ready",anchor:"openenv.core.containers.runtime.UVProvider.wait_for_ready",parameters:[{name:"timeout_s",val:": float = 60.0"}],parametersDescription:[{anchor:"openenv.core.containers.runtime.UVProvider.wait_for_ready.timeout_s",description:`<strong>timeout_s</strong> (<code>float</code>, <em>optional</em>, defaults to <code>60.0</code>) — | |
| Maximum time in seconds to wait for the environment to become ready.`,name:"timeout_s"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/containers/runtime/uv_provider.py#L185",raiseDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <ul> | |
| <li><code>RuntimeError</code> — If the environment is not running.</li> | |
| <li><code>TimeoutError</code> — If the environment does not become ready within the timeout.</li> | |
| </ul> | |
| `,raiseType:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>RuntimeError</code> or <code>TimeoutError</code></p> | |
| `}}),lc=new y({props:{name:"class openenv.core.containers.runtime.aca_provider.ACASandboxProvider",anchor:"openenv.core.containers.runtime.aca_provider.ACASandboxProvider",parameters:[{name:"subscription_id",val:": Optional[str] = None"},{name:"resource_group",val:": Optional[str] = None"},{name:"sandbox_group",val:": Optional[str] = None"},{name:"region",val:": Optional[str] = None"},{name:"endpoint",val:": Optional[str] = None"},{name:"credential",val:": Any = None"},{name:"cpu",val:": str = '1000m'"},{name:"memory",val:": str = '2048Mi'"},{name:"disk_size",val:": Optional[str] = None"},{name:"auto_suspend_seconds",val:": int = 900"},{name:"auto_suspend_mode",val:": Literal['Memory', 'Disk'] = 'Memory'"},{name:"labels",val:": Optional[Dict[str, str]] = None"},{name:"egress_policy",val:": Any = None"},{name:"anonymous_port",val:": Literal[True] | None = None"},{name:"cmd",val:": Optional[str] = None"},{name:"working_directory",val:": Optional[str] = None"},{name:"surface_server_logs",val:": bool = False"},{name:"create_timeout",val:": int = 300"},{name:"polling_interval",val:": int = 3"},{name:"sdk_kwargs",val:": Optional[dict[str, Any]] = None"},{name:"_adapter",val:": Any = None"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/containers/runtime/aca_provider.py#L260"}}),So=new L({props:{anchor:"openenv.core.containers.runtime.aca_provider.ACASandboxProvider.example",$$slots:{default:[nJ]},$$scope:{ctx:T}}}),ic=new y({props:{name:"close",anchor:"openenv.core.containers.runtime.aca_provider.ACASandboxProvider.close",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/containers/runtime/aca_provider.py#L660"}}),cc=new y({props:{name:"deny_all_egress",anchor:"openenv.core.containers.runtime.aca_provider.ACASandboxProvider.deny_all_egress",parameters:[{name:"allow",val:": Optional[list[str]] = None"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/containers/runtime/aca_provider.py#L377"}}),No=new L({props:{anchor:"openenv.core.containers.runtime.aca_provider.ACASandboxProvider.deny_all_egress.example",$$slots:{default:[rJ]},$$scope:{ctx:T}}}),pc=new y({props:{name:"start_container",anchor:"openenv.core.containers.runtime.aca_provider.ACASandboxProvider.start_container",parameters:[{name:"image",val:": str"},{name:"port",val:": Optional[int] = None"},{name:"env_vars",val:": Optional[Dict[str, str]] = None"},{name:"**kwargs",val:": Any"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/containers/runtime/aca_provider.py#L405"}}),dc=new y({props:{name:"stop_container",anchor:"openenv.core.containers.runtime.aca_provider.ACASandboxProvider.stop_container",parameters:[],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/containers/runtime/aca_provider.py#L632"}}),mc=new y({props:{name:"wait_for_ready",anchor:"openenv.core.containers.runtime.aca_provider.ACASandboxProvider.wait_for_ready",parameters:[{name:"base_url",val:": str"},{name:"timeout_s",val:": float = 120.0"}],source:"https://github.com/huggingface/openenv/blob/vr_849/openenv/core/containers/runtime/aca_provider.py#L588"}}),vc=new T5({props:{source:"https://github.com/huggingface/openenv/blob/main/docs/source/reference/core.md"}}),{c(){h=o("meta"),M=n(),x=o("p"),b=n(),p(C.$$.fragment),l=n(),p(w.$$.fragment),xf=n(),Fo=o("p"),Fo.innerHTML=g4,Cf=n(),Xo=o("p"),Xo.innerHTML=f4,wf=n(),Oo=o("p"),Oo.innerHTML=h4,Mf=n(),p(Ko.$$.fragment),Tf=n(),p(es.$$.fragment),jf=n(),Se=o("div"),p(ts.$$.fragment),E_=n(),Lc=o("p"),Lc.textContent=b4,U_=n(),Dc=o("p"),Dc.textContent=$4,Jf=n(),ue=o("div"),p(ns.$$.fragment),P_=n(),Ac=o("p"),Ac.textContent=_4,L_=n(),Vc=o("p"),Vc.textContent=y4,D_=n(),An=o("div"),p(rs.$$.fragment),A_=n(),Rc=o("p"),Rc.textContent=x4,V_=n(),Vn=o("div"),p(os.$$.fragment),R_=n(),Sc=o("p"),Sc.textContent=C4,kf=n(),Ne=o("div"),p(ss.$$.fragment),S_=n(),Nc=o("p"),Nc.textContent=w4,N_=n(),Bc=o("p"),Bc.textContent=M4,If=n(),q=o("div"),p(as.$$.fragment),B_=n(),Wc=o("p"),Wc.textContent=T4,W_=n(),Gc=o("p"),Gc.innerHTML=j4,G_=n(),at=o("div"),p(ls.$$.fragment),Z_=n(),Zc=o("p"),Zc.textContent=J4,z_=n(),zc=o("p"),zc.textContent=k4,q_=n(),lt=o("div"),p(is.$$.fragment),Y_=n(),qc=o("p"),qc.textContent=I4,Q_=n(),Yc=o("p"),Yc.textContent=E4,H_=n(),Rn=o("div"),p(cs.$$.fragment),F_=n(),Qc=o("p"),Qc.textContent=U4,X_=n(),it=o("div"),p(ps.$$.fragment),O_=n(),Hc=o("p"),Hc.textContent=P4,K_=n(),Fc=o("p"),Fc.textContent=L4,ey=n(),Sn=o("div"),p(ds.$$.fragment),ty=n(),Xc=o("p"),Xc.textContent=D4,ny=n(),ct=o("div"),p(ms.$$.fragment),ry=n(),Oc=o("p"),Oc.textContent=A4,oy=n(),Kc=o("p"),Kc.textContent=V4,Ef=n(),p(vs.$$.fragment),Uf=n(),Nt=o("div"),p(us.$$.fragment),sy=n(),ep=o("p"),ep.textContent=R4,Pf=n(),Bt=o("div"),p(gs.$$.fragment),ay=n(),tp=o("p"),tp.textContent=S4,Lf=n(),Wt=o("div"),p(fs.$$.fragment),ly=n(),np=o("p"),np.textContent=N4,Df=n(),Be=o("div"),p(hs.$$.fragment),iy=n(),rp=o("p"),rp.textContent=B4,cy=n(),op=o("p"),op.textContent=W4,Af=n(),We=o("div"),p(bs.$$.fragment),py=n(),sp=o("p"),sp.textContent=G4,dy=n(),ap=o("p"),ap.textContent=Z4,Vf=n(),Gt=o("div"),p($s.$$.fragment),my=n(),lp=o("p"),lp.textContent=z4,Rf=n(),Zt=o("div"),p(_s.$$.fragment),vy=n(),ip=o("p"),ip.textContent=q4,Sf=n(),zt=o("div"),p(ys.$$.fragment),uy=n(),cp=o("p"),cp.textContent=Y4,Nf=n(),qt=o("div"),p(xs.$$.fragment),gy=n(),pp=o("p"),pp.textContent=Q4,Bf=n(),Yt=o("div"),p(Cs.$$.fragment),fy=n(),dp=o("p"),dp.textContent=H4,Wf=n(),Ge=o("div"),p(ws.$$.fragment),hy=n(),mp=o("p"),mp.textContent=F4,by=n(),vp=o("p"),vp.textContent=X4,Gf=n(),Qt=o("div"),p(Ms.$$.fragment),$y=n(),up=o("p"),up.textContent=O4,Zf=n(),Ht=o("div"),p(Ts.$$.fragment),_y=n(),gp=o("p"),gp.textContent=K4,zf=n(),Ft=o("div"),p(js.$$.fragment),yy=n(),fp=o("p"),fp.textContent=eT,qf=n(),Xt=o("div"),p(Js.$$.fragment),xy=n(),hp=o("p"),hp.textContent=tT,Yf=n(),Ot=o("div"),p(ks.$$.fragment),Cy=n(),bp=o("p"),bp.textContent=nT,Qf=n(),Kt=o("div"),p(Is.$$.fragment),wy=n(),$p=o("p"),$p.textContent=rT,Hf=n(),en=o("div"),p(Es.$$.fragment),My=n(),_p=o("p"),_p.textContent=oT,Ff=n(),tn=o("div"),p(Us.$$.fragment),Ty=n(),yp=o("p"),yp.textContent=sT,Xf=n(),nn=o("div"),p(Ps.$$.fragment),jy=n(),xp=o("p"),xp.textContent=aT,Of=n(),rn=o("div"),p(Ls.$$.fragment),Jy=n(),Cp=o("p"),Cp.textContent=lT,Kf=n(),on=o("div"),p(Ds.$$.fragment),ky=n(),wp=o("p"),wp.textContent=iT,eh=n(),sn=o("div"),p(As.$$.fragment),Iy=n(),Mp=o("p"),Mp.textContent=cT,th=n(),Ze=o("div"),p(Vs.$$.fragment),Ey=n(),Tp=o("p"),Tp.textContent=pT,Uy=n(),Nn=o("div"),p(Rs.$$.fragment),Py=n(),jp=o("p"),jp.textContent=dT,nh=n(),an=o("div"),p(Ss.$$.fragment),Ly=n(),Jp=o("p"),Jp.textContent=mT,rh=n(),p(Ns.$$.fragment),oh=n(),ln=o("div"),p(Bs.$$.fragment),Dy=n(),kp=o("p"),kp.textContent=vT,sh=n(),ze=o("div"),p(Ws.$$.fragment),Ay=n(),Ip=o("p"),Ip.textContent=uT,Vy=n(),Ep=o("p"),Ep.textContent=gT,ah=n(),qe=o("div"),p(Gs.$$.fragment),Ry=n(),Up=o("p"),Up.textContent=fT,Sy=n(),Pp=o("p"),Pp.textContent=hT,lh=n(),cn=o("div"),p(Zs.$$.fragment),Ny=n(),Lp=o("p"),Lp.textContent=bT,ih=n(),pn=o("div"),p(zs.$$.fragment),By=n(),Dp=o("p"),Dp.textContent=$T,ch=n(),dn=o("div"),p(qs.$$.fragment),Wy=n(),Ap=o("p"),Ap.textContent=_T,ph=n(),p(Ys.$$.fragment),dh=n(),Y=o("div"),p(Qs.$$.fragment),Gy=n(),Vp=o("p"),Vp.textContent=yT,Zy=n(),Rp=o("p"),Rp.textContent=xT,zy=n(),Sp=o("p"),Sp.textContent=CT,qy=n(),Np=o("ul"),Np.innerHTML=wT,Yy=n(),p(Bn.$$.fragment),Qy=n(),Wn=o("div"),p(Hs.$$.fragment),Hy=n(),Bp=o("p"),Bp.textContent=MT,Fy=n(),Gn=o("div"),p(Fs.$$.fragment),Xy=n(),Wp=o("p"),Wp.textContent=TT,Oy=n(),Zn=o("div"),p(Xs.$$.fragment),Ky=n(),Gp=o("p"),Gp.textContent=jT,mh=n(),Ye=o("div"),p(Os.$$.fragment),ex=n(),Zp=o("p"),Zp.textContent=JT,tx=n(),zp=o("p"),zp.textContent=kT,vh=n(),mn=o("div"),p(Ks.$$.fragment),nx=n(),qp=o("p"),qp.textContent=IT,uh=n(),p(ea.$$.fragment),gh=n(),vn=o("div"),p(ta.$$.fragment),rx=n(),Yp=o("p"),Yp.textContent=ET,fh=n(),un=o("div"),p(na.$$.fragment),ox=n(),Qp=o("p"),Qp.textContent=UT,hh=n(),ne=o("div"),p(ra.$$.fragment),sx=n(),Hp=o("p"),Hp.textContent=PT,ax=n(),zn=o("div"),p(oa.$$.fragment),lx=n(),Fp=o("p"),Fp.textContent=LT,ix=n(),qn=o("div"),p(sa.$$.fragment),cx=n(),Xp=o("p"),Xp.textContent=DT,px=n(),Yn=o("div"),p(aa.$$.fragment),dx=n(),Op=o("p"),Op.textContent=AT,mx=n(),Qn=o("div"),p(la.$$.fragment),vx=n(),Kp=o("p"),Kp.textContent=VT,ux=n(),Hn=o("div"),p(ia.$$.fragment),gx=n(),ed=o("p"),ed.textContent=RT,bh=n(),gn=o("div"),p(ca.$$.fragment),fx=n(),td=o("p"),td.textContent=ST,$h=n(),p(pa.$$.fragment),_h=n(),je=o("div"),p(da.$$.fragment),hx=n(),nd=o("p"),nd.textContent=NT,bx=n(),rd=o("p"),rd.innerHTML=BT,$x=n(),od=o("p"),od.textContent=WT,yh=n(),Je=o("div"),p(ma.$$.fragment),_x=n(),sd=o("p"),sd.textContent=GT,yx=n(),ad=o("p"),ad.textContent=ZT,xx=n(),ld=o("ul"),ld.innerHTML=zT,xh=n(),fn=o("div"),p(va.$$.fragment),Cx=n(),id=o("p"),id.textContent=qT,Ch=n(),p(ua.$$.fragment),wh=n(),hn=o("div"),p(ga.$$.fragment),wx=n(),cd=o("p"),cd.textContent=YT,Mh=n(),bn=o("div"),p(fa.$$.fragment),Mx=n(),pd=o("p"),pd.textContent=QT,Th=n(),p(ha.$$.fragment),jh=n(),$n=o("div"),p(ba.$$.fragment),Tx=n(),dd=o("p"),dd.textContent=HT,Jh=n(),_n=o("div"),p($a.$$.fragment),jx=n(),md=o("p"),md.textContent=FT,kh=n(),p(_a.$$.fragment),Ih=n(),p(ya.$$.fragment),Eh=n(),j=o("div"),p(xa.$$.fragment),Jx=n(),vd=o("p"),vd.textContent=XT,kx=n(),ud=o("p"),ud.textContent=OT,Ix=n(),gd=o("p"),gd.innerHTML=KT,Ex=n(),fd=o("p"),fd.textContent=e3,Ux=n(),hd=o("ul"),hd.innerHTML=t3,Px=n(),bd=o("p"),bd.textContent=n3,Lx=n(),p(Fn.$$.fragment),Dx=n(),p(Xn.$$.fragment),Ax=n(),pt=o("div"),p(Ca.$$.fragment),Vx=n(),$d=o("p"),$d.textContent=r3,Rx=n(),_d=o("p"),_d.textContent=o3,Sx=n(),On=o("div"),p(wa.$$.fragment),Nx=n(),yd=o("p"),yd.textContent=s3,Bx=n(),Kn=o("div"),p(Ma.$$.fragment),Wx=n(),xd=o("p"),xd.textContent=a3,Gx=n(),er=o("div"),p(Ta.$$.fragment),Zx=n(),Cd=o("p"),Cd.textContent=l3,zx=n(),dt=o("div"),p(ja.$$.fragment),qx=n(),wd=o("p"),wd.textContent=i3,Yx=n(),p(tr.$$.fragment),Qx=n(),nr=o("div"),p(Ja.$$.fragment),Hx=n(),Md=o("p"),Md.textContent=c3,Fx=n(),rr=o("div"),p(ka.$$.fragment),Xx=n(),Td=o("p"),Td.textContent=p3,Ox=n(),or=o("div"),p(Ia.$$.fragment),Kx=n(),jd=o("p"),jd.textContent=d3,e1=n(),xe=o("div"),p(Ea.$$.fragment),t1=n(),Jd=o("p"),Jd.textContent=m3,n1=n(),kd=o("p"),kd.textContent=v3,r1=n(),Id=o("ul"),Id.innerHTML=u3,o1=n(),p(sr.$$.fragment),Uh=n(),p(Ua.$$.fragment),Ph=n(),V=o("div"),p(Pa.$$.fragment),s1=n(),Ed=o("p"),Ed.textContent=g3,a1=n(),Ud=o("p"),Ud.textContent=f3,l1=n(),Pd=o("p"),Pd.textContent=h3,i1=n(),Ld=o("p"),Ld.innerHTML=b3,c1=n(),p(ar.$$.fragment),p1=n(),lr=o("div"),p(La.$$.fragment),d1=n(),Dd=o("p"),Dd.textContent=$3,m1=n(),ir=o("div"),p(Da.$$.fragment),v1=n(),Ad=o("p"),Ad.textContent=_3,u1=n(),cr=o("div"),p(Aa.$$.fragment),g1=n(),Vd=o("p"),Vd.textContent=y3,f1=n(),pr=o("div"),p(Va.$$.fragment),h1=n(),Rd=o("p"),Rd.textContent=x3,b1=n(),dr=o("div"),p(Ra.$$.fragment),$1=n(),Sd=o("p"),Sd.textContent=C3,_1=n(),mr=o("div"),p(Sa.$$.fragment),y1=n(),Nd=o("p"),Nd.textContent=w3,Lh=n(),p(Na.$$.fragment),Dh=n(),re=o("div"),p(Ba.$$.fragment),x1=n(),Bd=o("p"),Bd.textContent=M3,C1=n(),Wd=o("p"),Wd.textContent=T3,w1=n(),Gd=o("ul"),Gd.innerHTML=j3,M1=n(),Zd=o("p"),Zd.textContent=J3,T1=n(),p(vr.$$.fragment),j1=n(),zd=o("p"),zd.innerHTML=k3,Ah=n(),ge=o("div"),p(Wa.$$.fragment),J1=n(),qd=o("p"),qd.textContent=I3,k1=n(),Yd=o("p"),Yd.textContent=E3,I1=n(),p(ur.$$.fragment),E1=n(),Qd=o("p"),Qd.innerHTML=U3,Vh=n(),p(Ga.$$.fragment),Rh=n(),yn=o("div"),p(Za.$$.fragment),U1=n(),Hd=o("p"),Hd.textContent=P3,Sh=n(),Qe=o("div"),p(za.$$.fragment),P1=n(),Fd=o("p"),Fd.textContent=L3,L1=n(),gr=o("div"),p(qa.$$.fragment),D1=n(),Xd=o("p"),Xd.textContent=D3,Nh=n(),fe=o("div"),p(Ya.$$.fragment),A1=n(),Od=o("p"),Od.textContent=A3,V1=n(),Kd=o("p"),Kd.innerHTML=V3,R1=n(),fr=o("div"),p(Qa.$$.fragment),S1=n(),em=o("p"),em.textContent=R3,N1=n(),mt=o("div"),p(Ha.$$.fragment),B1=n(),tm=o("p"),tm.textContent=S3,W1=n(),nm=o("p"),nm.innerHTML=N3,Bh=n(),ke=o("div"),p(Fa.$$.fragment),G1=n(),rm=o("p"),rm.textContent=B3,Z1=n(),om=o("p"),om.textContent=W3,z1=n(),hr=o("div"),p(Xa.$$.fragment),q1=n(),sm=o("p"),sm.textContent=G3,Wh=n(),He=o("div"),p(Oa.$$.fragment),Y1=n(),am=o("p"),am.textContent=Z3,Q1=n(),lm=o("p"),lm.innerHTML=z3,Gh=n(),xn=o("div"),p(Ka.$$.fragment),H1=n(),im=o("p"),im.textContent=q3,Zh=n(),p(el.$$.fragment),zh=n(),Cn=o("div"),p(tl.$$.fragment),F1=n(),cm=o("p"),cm.textContent=Y3,qh=n(),p(nl.$$.fragment),Yh=n(),p(rl.$$.fragment),Qh=n(),I=o("div"),p(ol.$$.fragment),X1=n(),pm=o("p"),pm.textContent=Q3,O1=n(),dm=o("p"),dm.textContent=H3,K1=n(),mm=o("p"),mm.textContent=F3,e2=n(),vm=o("ul"),vm.innerHTML=X3,t2=n(),um=o("p"),um.textContent=O3,n2=n(),p(br.$$.fragment),r2=n(),vt=o("div"),p(sl.$$.fragment),o2=n(),gm=o("p"),gm.textContent=K3,s2=n(),fm=o("p"),fm.textContent=e8,a2=n(),ut=o("div"),p(al.$$.fragment),l2=n(),hm=o("p"),hm.textContent=t8,i2=n(),bm=o("p"),bm.textContent=n8,c2=n(),gt=o("div"),p(ll.$$.fragment),p2=n(),$m=o("p"),$m.textContent=r8,d2=n(),_m=o("p"),_m.textContent=o8,m2=n(),pe=o("div"),p(il.$$.fragment),v2=n(),ym=o("p"),ym.textContent=s8,u2=n(),xm=o("p"),xm.textContent=a8,g2=n(),Cm=o("ol"),Cm.innerHTML=l8,f2=n(),wm=o("p"),wm.innerHTML=i8,h2=n(),Mm=o("p"),Mm.innerHTML=c8,b2=n(),ft=o("div"),p(cl.$$.fragment),$2=n(),Tm=o("p"),Tm.textContent=p8,_2=n(),jm=o("p"),jm.textContent=d8,y2=n(),ht=o("div"),p(pl.$$.fragment),x2=n(),Jm=o("p"),Jm.textContent=m8,C2=n(),km=o("p"),km.textContent=v8,w2=n(),$r=o("div"),p(dl.$$.fragment),M2=n(),Im=o("p"),Im.textContent=u8,Hh=n(),p(ml.$$.fragment),Fh=n(),Fe=o("div"),p(vl.$$.fragment),T2=n(),Em=o("p"),Em.textContent=g8,j2=n(),Um=o("p"),Um.innerHTML=f8,Xh=n(),wn=o("div"),p(ul.$$.fragment),J2=n(),Pm=o("p"),Pm.textContent=h8,Oh=n(),Ie=o("div"),p(gl.$$.fragment),k2=n(),Lm=o("p"),Lm.textContent=b8,I2=n(),Dm=o("p"),Dm.innerHTML=$8,E2=n(),_r=o("div"),p(fl.$$.fragment),U2=n(),Am=o("p"),Am.textContent=_8,Kh=n(),Xe=o("div"),p(hl.$$.fragment),P2=n(),Vm=o("p"),Vm.textContent=y8,L2=n(),Rm=o("p"),Rm.innerHTML=x8,eb=n(),F=o("div"),p(bl.$$.fragment),D2=n(),Sm=o("p"),Sm.textContent=C8,A2=n(),Nm=o("p"),Nm.textContent=w8,V2=n(),Bm=o("p"),Bm.innerHTML=M8,R2=n(),yr=o("div"),p($l.$$.fragment),S2=n(),Wm=o("p"),Wm.textContent=T8,N2=n(),xr=o("div"),p(_l.$$.fragment),B2=n(),Gm=o("p"),Gm.textContent=j8,W2=n(),Cr=o("div"),p(yl.$$.fragment),G2=n(),Zm=o("p"),Zm.textContent=J8,Z2=n(),wr=o("div"),p(xl.$$.fragment),z2=n(),zm=o("p"),zm.textContent=k8,tb=n(),Oe=o("div"),p(Cl.$$.fragment),q2=n(),qm=o("p"),qm.textContent=I8,Y2=n(),Ym=o("p"),Ym.innerHTML=E8,nb=n(),Mn=o("div"),p(wl.$$.fragment),Q2=n(),Qm=o("p"),Qm.textContent=U8,rb=n(),Ke=o("div"),p(Ml.$$.fragment),H2=n(),Hm=o("p"),Hm.textContent=P8,F2=n(),Fm=o("p"),Fm.textContent=L8,ob=n(),et=o("div"),p(Tl.$$.fragment),X2=n(),Xm=o("p"),Xm.textContent=D8,O2=n(),Om=o("p"),Om.textContent=A8,sb=n(),tt=o("div"),p(jl.$$.fragment),K2=n(),Km=o("p"),Km.textContent=V8,eC=n(),ev=o("p"),ev.textContent=R8,ab=n(),nt=o("div"),p(Jl.$$.fragment),tC=n(),tv=o("p"),tv.textContent=S8,nC=n(),nv=o("p"),nv.textContent=N8,lb=n(),rt=o("div"),p(kl.$$.fragment),rC=n(),rv=o("p"),rv.textContent=B8,oC=n(),ov=o("p"),ov.textContent=W8,ib=n(),ot=o("div"),p(Il.$$.fragment),sC=n(),sv=o("p"),sv.textContent=G8,aC=n(),av=o("p"),av.textContent=Z8,cb=n(),st=o("div"),p(El.$$.fragment),lC=n(),lv=o("p"),lv.textContent=z8,iC=n(),iv=o("p"),iv.textContent=q8,pb=n(),p(Ul.$$.fragment),db=n(),he=o("div"),p(Pl.$$.fragment),cC=n(),cv=o("p"),cv.textContent=Y8,pC=n(),pv=o("p"),pv.innerHTML=Q8,dC=n(),bt=o("div"),p(Ll.$$.fragment),mC=n(),dv=o("p"),dv.textContent=H8,vC=n(),mv=o("p"),mv.textContent=F8,uC=n(),$t=o("div"),p(Dl.$$.fragment),gC=n(),vv=o("p"),vv.textContent=X8,fC=n(),p(Mr.$$.fragment),mb=n(),W=o("div"),p(Al.$$.fragment),hC=n(),uv=o("p"),uv.textContent=O8,bC=n(),gv=o("p"),gv.textContent=K8,$C=n(),fv=o("p"),fv.textContent=ej,_C=n(),hv=o("ul"),hv.innerHTML=tj,yC=n(),p(Tr.$$.fragment),xC=n(),p(jr.$$.fragment),CC=n(),Pe=o("div"),p(Vl.$$.fragment),wC=n(),bv=o("p"),bv.textContent=nj,MC=n(),$v=o("p"),$v.innerHTML=rj,TC=n(),p(Jr.$$.fragment),jC=n(),_t=o("div"),p(Rl.$$.fragment),JC=n(),_v=o("p"),_v.textContent=oj,kC=n(),p(kr.$$.fragment),IC=n(),Ir=o("div"),p(Sl.$$.fragment),EC=n(),yv=o("p"),yv.textContent=sj,vb=n(),p(Nl.$$.fragment),ub=n(),J=o("div"),p(Bl.$$.fragment),UC=n(),xv=o("p"),xv.textContent=aj,PC=n(),Cv=o("p"),Cv.textContent=lj,LC=n(),p(Er.$$.fragment),DC=n(),wv=o("p"),wv.textContent=ij,AC=n(),Ur=o("div"),p(Wl.$$.fragment),VC=n(),Mv=o("p"),Mv.textContent=cj,RC=n(),Pr=o("div"),p(Gl.$$.fragment),SC=n(),Tv=o("p"),Tv.textContent=pj,NC=n(),Lr=o("div"),p(Zl.$$.fragment),BC=n(),jv=o("p"),jv.textContent=dj,WC=n(),Dr=o("div"),p(zl.$$.fragment),GC=n(),Jv=o("p"),Jv.textContent=mj,ZC=n(),Ar=o("div"),p(ql.$$.fragment),zC=n(),kv=o("p"),kv.textContent=vj,qC=n(),Vr=o("div"),p(Yl.$$.fragment),YC=n(),Iv=o("p"),Iv.textContent=uj,QC=n(),Rr=o("div"),p(Ql.$$.fragment),HC=n(),Ev=o("p"),Ev.textContent=gj,FC=n(),Sr=o("div"),p(Hl.$$.fragment),XC=n(),Uv=o("p"),Uv.textContent=fj,OC=n(),Nr=o("div"),p(Fl.$$.fragment),KC=n(),Pv=o("p"),Pv.textContent=hj,e0=n(),Br=o("div"),p(Xl.$$.fragment),t0=n(),Lv=o("p"),Lv.textContent=bj,n0=n(),Wr=o("div"),p(Ol.$$.fragment),r0=n(),Dv=o("p"),Dv.textContent=$j,gb=n(),be=o("div"),p(Kl.$$.fragment),o0=n(),Av=o("p"),Av.textContent=_j,s0=n(),Vv=o("p"),Vv.textContent=yj,a0=n(),p(Gr.$$.fragment),l0=n(),Zr=o("div"),p(ei.$$.fragment),i0=n(),Rv=o("p"),Rv.textContent=xj,fb=n(),$e=o("div"),p(ti.$$.fragment),c0=n(),Sv=o("p"),Sv.textContent=Cj,p0=n(),Nv=o("p"),Nv.textContent=wj,d0=n(),p(zr.$$.fragment),m0=n(),qr=o("div"),p(ni.$$.fragment),v0=n(),Bv=o("p"),Bv.textContent=Mj,hb=n(),_e=o("div"),p(ri.$$.fragment),u0=n(),Wv=o("p"),Wv.textContent=Tj,g0=n(),Gv=o("p"),Gv.textContent=jj,f0=n(),p(Yr.$$.fragment),h0=n(),Qr=o("div"),p(oi.$$.fragment),b0=n(),Zv=o("p"),Zv.textContent=Jj,bb=n(),oe=o("div"),p(si.$$.fragment),$0=n(),zv=o("p"),zv.textContent=kj,_0=n(),qv=o("p"),qv.textContent=Ij,y0=n(),p(Hr.$$.fragment),x0=n(),Fr=o("div"),p(ai.$$.fragment),C0=n(),Yv=o("p"),Yv.textContent=Ej,w0=n(),Xr=o("div"),p(li.$$.fragment),M0=n(),Qv=o("p"),Qv.textContent=Uj,T0=n(),Or=o("div"),p(ii.$$.fragment),j0=n(),Hv=o("p"),Hv.textContent=Pj,$b=n(),Q=o("div"),p(ci.$$.fragment),J0=n(),Fv=o("p"),Fv.textContent=Lj,k0=n(),Xv=o("p"),Xv.textContent=Dj,I0=n(),p(Kr.$$.fragment),E0=n(),eo=o("div"),p(pi.$$.fragment),U0=n(),Ov=o("p"),Ov.textContent=Aj,P0=n(),to=o("div"),p(di.$$.fragment),L0=n(),Kv=o("p"),Kv.textContent=Vj,D0=n(),no=o("div"),p(mi.$$.fragment),A0=n(),eu=o("p"),eu.textContent=Rj,V0=n(),ro=o("div"),p(vi.$$.fragment),R0=n(),tu=o("p"),tu.textContent=Sj,S0=n(),oo=o("div"),p(ui.$$.fragment),N0=n(),nu=o("p"),nu.textContent=Nj,_b=n(),E=o("div"),p(gi.$$.fragment),B0=n(),ru=o("p"),ru.textContent=Bj,W0=n(),ou=o("p"),ou.textContent=Wj,G0=n(),su=o("ul"),su.innerHTML=Gj,Z0=n(),au=o("p"),au.innerHTML=Zj,z0=n(),lu=o("p"),lu.textContent=zj,q0=n(),iu=o("p"),iu.textContent=qj,Y0=n(),p(so.$$.fragment),Q0=n(),yt=o("div"),p(fi.$$.fragment),H0=n(),cu=o("p"),cu.textContent=Yj,F0=n(),pu=o("p"),pu.textContent=Qj,X0=n(),xt=o("div"),p(hi.$$.fragment),O0=n(),du=o("p"),du.textContent=Hj,K0=n(),mu=o("p"),mu.textContent=Fj,ew=n(),ao=o("div"),p(bi.$$.fragment),tw=n(),vu=o("p"),vu.textContent=Xj,nw=n(),lo=o("div"),p($i.$$.fragment),rw=n(),uu=o("p"),uu.textContent=Oj,ow=n(),Ct=o("div"),p(_i.$$.fragment),sw=n(),gu=o("p"),gu.textContent=Kj,aw=n(),fu=o("p"),fu.textContent=e9,lw=n(),io=o("div"),p(yi.$$.fragment),iw=n(),hu=o("p"),hu.textContent=t9,yb=n(),X=o("div"),p(xi.$$.fragment),cw=n(),bu=o("p"),bu.textContent=n9,pw=n(),p(co.$$.fragment),dw=n(),$u=o("p"),$u.textContent=r9,mw=n(),_u=o("p"),_u.textContent=o9,vw=n(),p(po.$$.fragment),uw=n(),mo=o("div"),p(Ci.$$.fragment),gw=n(),yu=o("p"),yu.textContent=s9,fw=n(),vo=o("div"),p(wi.$$.fragment),hw=n(),xu=o("p"),xu.textContent=a9,xb=n(),ye=o("div"),p(Mi.$$.fragment),bw=n(),Cu=o("p"),Cu.textContent=l9,$w=n(),wu=o("p"),wu.innerHTML=i9,_w=n(),uo=o("div"),p(Ti.$$.fragment),yw=n(),Mu=o("p"),Mu.textContent=c9,xw=n(),go=o("div"),p(ji.$$.fragment),Cw=n(),Tu=o("p"),Tu.textContent=p9,Cb=n(),p(Ji.$$.fragment),wb=n(),Tn=o("div"),p(ki.$$.fragment),ww=n(),ju=o("p"),ju.textContent=d9,Mb=n(),R=o("div"),p(Ii.$$.fragment),Mw=n(),Ju=o("p"),Ju.textContent=m9,Tw=n(),ku=o("p"),ku.textContent=v9,jw=n(),Iu=o("ul"),Iu.innerHTML=u9,Jw=n(),p(fo.$$.fragment),kw=n(),wt=o("div"),p(Ei.$$.fragment),Iw=n(),Eu=o("p"),Eu.textContent=g9,Ew=n(),Uu=o("p"),Uu.textContent=f9,Uw=n(),ho=o("div"),p(Ui.$$.fragment),Pw=n(),Pu=o("p"),Pu.textContent=h9,Lw=n(),bo=o("div"),p(Pi.$$.fragment),Dw=n(),Lu=o("p"),Lu.textContent=b9,Aw=n(),$o=o("div"),p(Li.$$.fragment),Vw=n(),Du=o("p"),Du.textContent=$9,Rw=n(),Le=o("div"),p(Di.$$.fragment),Sw=n(),Au=o("p"),Au.textContent=_9,Nw=n(),Vu=o("p"),Vu.textContent=y9,Bw=n(),Ru=o("ol"),Ru.innerHTML=x9,Ww=n(),_o=o("div"),p(Ai.$$.fragment),Gw=n(),Su=o("p"),Su.textContent=C9,Zw=n(),yo=o("div"),p(Vi.$$.fragment),zw=n(),Nu=o("p"),Nu.textContent=w9,Tb=n(),p(Ri.$$.fragment),jb=n(),G=o("div"),p(Si.$$.fragment),qw=n(),Bu=o("p"),Bu.textContent=M9,Yw=n(),Wu=o("p"),Wu.textContent=T9,Qw=n(),Gu=o("ul"),Gu.innerHTML=j9,Hw=n(),Zu=o("p"),Zu.textContent=J9,Fw=n(),p(xo.$$.fragment),Xw=n(),Mt=o("div"),p(Ni.$$.fragment),Ow=n(),zu=o("p"),zu.textContent=k9,Kw=n(),qu=o("p"),qu.textContent=I9,eM=n(),Co=o("div"),p(Bi.$$.fragment),tM=n(),Yu=o("p"),Yu.textContent=E9,nM=n(),Tt=o("div"),p(Wi.$$.fragment),rM=n(),Qu=o("p"),Qu.textContent=U9,oM=n(),Hu=o("p"),Hu.textContent=P9,sM=n(),jt=o("div"),p(Gi.$$.fragment),aM=n(),Fu=o("p"),Fu.textContent=L9,lM=n(),Xu=o("p"),Xu.textContent=D9,Jb=n(),se=o("div"),p(Zi.$$.fragment),iM=n(),Ou=o("p"),Ou.textContent=A9,cM=n(),Ku=o("p"),Ku.textContent=V9,pM=n(),p(wo.$$.fragment),dM=n(),Mo=o("div"),p(zi.$$.fragment),mM=n(),eg=o("p"),eg.textContent=R9,vM=n(),To=o("div"),p(qi.$$.fragment),uM=n(),tg=o("p"),tg.textContent=S9,gM=n(),jo=o("div"),p(Yi.$$.fragment),fM=n(),ng=o("p"),ng.textContent=N9,kb=n(),ie=o("div"),p(Qi.$$.fragment),hM=n(),rg=o("p"),rg.textContent=B9,bM=n(),og=o("p"),og.textContent=W9,$M=n(),Jo=o("div"),p(Hi.$$.fragment),_M=n(),sg=o("p"),sg.textContent=G9,yM=n(),ko=o("div"),p(Fi.$$.fragment),xM=n(),ag=o("p"),ag.textContent=Z9,CM=n(),Jt=o("div"),p(Xi.$$.fragment),wM=n(),lg=o("p"),lg.textContent=z9,MM=n(),ig=o("p"),ig.textContent=q9,Ib=n(),Ee=o("div"),p(Oi.$$.fragment),TM=n(),cg=o("p"),cg.textContent=Y9,jM=n(),pg=o("p"),pg.textContent=Q9,JM=n(),p(Io.$$.fragment),Eb=n(),O=o("div"),p(Ki.$$.fragment),kM=n(),dg=o("p"),dg.textContent=H9,IM=n(),mg=o("ul"),mg.innerHTML=F9,EM=n(),vg=o("p"),vg.textContent=X9,UM=n(),p(Eo.$$.fragment),PM=n(),Uo=o("div"),p(ec.$$.fragment),LM=n(),ug=o("p"),ug.textContent=O9,DM=n(),Po=o("div"),p(tc.$$.fragment),AM=n(),gg=o("p"),gg.textContent=K9,VM=n(),Lo=o("div"),p(nc.$$.fragment),RM=n(),fg=o("p"),fg.textContent=e5,Ub=n(),ce=o("div"),p(rc.$$.fragment),SM=n(),hg=o("p"),hg.innerHTML=t5,NM=n(),p(Do.$$.fragment),BM=n(),Ao=o("div"),p(oc.$$.fragment),WM=n(),bg=o("p"),bg.innerHTML=n5,GM=n(),Vo=o("div"),p(sc.$$.fragment),ZM=n(),$g=o("p"),$g.textContent=r5,zM=n(),Ro=o("div"),p(ac.$$.fragment),qM=n(),_g=o("p"),_g.textContent=o5,Pb=n(),P=o("div"),p(lc.$$.fragment),YM=n(),yg=o("p"),yg.textContent=s5,QM=n(),xg=o("p"),xg.innerHTML=a5,HM=n(),Cg=o("p"),Cg.innerHTML=l5,FM=n(),wg=o("p"),wg.innerHTML=i5,XM=n(),Mg=o("p"),Mg.innerHTML=c5,OM=n(),Tg=o("p"),Tg.innerHTML=p5,KM=n(),p(So.$$.fragment),e4=n(),kt=o("div"),p(ic.$$.fragment),t4=n(),jg=o("p"),jg.textContent=d5,n4=n(),Jg=o("p"),Jg.innerHTML=m5,r4=n(),De=o("div"),p(cc.$$.fragment),o4=n(),kg=o("p"),kg.innerHTML=v5,s4=n(),Ig=o("p"),Ig.innerHTML=u5,a4=n(),p(No.$$.fragment),l4=n(),It=o("div"),p(pc.$$.fragment),i4=n(),Eg=o("p"),Eg.textContent=g5,c4=n(),Ug=o("p"),Ug.innerHTML=f5,p4=n(),Bo=o("div"),p(dc.$$.fragment),d4=n(),Pg=o("p"),Pg.textContent=h5,m4=n(),Et=o("div"),p(mc.$$.fragment),v4=n(),Lg=o("p"),Lg.innerHTML=b5,u4=n(),Dg=o("p"),Dg.innerHTML=$5,Lb=n(),p(vc.$$.fragment),Db=n(),yf=o("p"),this.h()},l(e){const c=w5("svelte-u9bgzb",document.head);h=s(c,"META",{name:!0,content:!0}),c.forEach(a),M=r(e),x=s(e,"P",{}),$(x).forEach(a),b=r(e),d(C.$$.fragment,e),l=r(e),d(w.$$.fragment,e),xf=r(e),Fo=s(e,"P",{"data-svelte-h":!0}),i(Fo)!=="svelte-1hkjvdh"&&(Fo.innerHTML=g4),Cf=r(e),Xo=s(e,"P",{"data-svelte-h":!0}),i(Xo)!=="svelte-1c2dabf"&&(Xo.innerHTML=f4),wf=r(e),Oo=s(e,"P",{"data-svelte-h":!0}),i(Oo)!=="svelte-o9lp3w"&&(Oo.innerHTML=h4),Mf=r(e),d(Ko.$$.fragment,e),Tf=r(e),d(es.$$.fragment,e),jf=r(e),Se=s(e,"DIV",{class:!0});var jn=$(Se);d(ts.$$.fragment,jn),E_=r(jn),Lc=s(jn,"P",{"data-svelte-h":!0}),i(Lc)!=="svelte-l6zspl"&&(Lc.textContent=b4),U_=r(jn),Dc=s(jn,"P",{"data-svelte-h":!0}),i(Dc)!=="svelte-56oaxb"&&(Dc.textContent=$4),jn.forEach(a),Jf=r(e),ue=s(e,"DIV",{class:!0});var Ue=$(ue);d(ns.$$.fragment,Ue),P_=r(Ue),Ac=s(Ue,"P",{"data-svelte-h":!0}),i(Ac)!=="svelte-fie3d2"&&(Ac.textContent=_4),L_=r(Ue),Vc=s(Ue,"P",{"data-svelte-h":!0}),i(Vc)!=="svelte-1cgphsa"&&(Vc.textContent=y4),D_=r(Ue),An=s(Ue,"DIV",{class:!0});var uc=$(An);d(rs.$$.fragment,uc),A_=r(uc),Rc=s(uc,"P",{"data-svelte-h":!0}),i(Rc)!=="svelte-iha9tq"&&(Rc.textContent=x4),uc.forEach(a),V_=r(Ue),Vn=s(Ue,"DIV",{class:!0});var gc=$(Vn);d(os.$$.fragment,gc),R_=r(gc),Sc=s(gc,"P",{"data-svelte-h":!0}),i(Sc)!=="svelte-1yvyvem"&&(Sc.textContent=C4),gc.forEach(a),Ue.forEach(a),kf=r(e),Ne=s(e,"DIV",{class:!0});var Jn=$(Ne);d(ss.$$.fragment,Jn),S_=r(Jn),Nc=s(Jn,"P",{"data-svelte-h":!0}),i(Nc)!=="svelte-1hdjpqk"&&(Nc.textContent=w4),N_=r(Jn),Bc=s(Jn,"P",{"data-svelte-h":!0}),i(Bc)!=="svelte-1gigbg0"&&(Bc.textContent=M4),Jn.forEach(a),If=r(e),q=s(e,"DIV",{class:!0});var K=$(q);d(as.$$.fragment,K),B_=r(K),Wc=s(K,"P",{"data-svelte-h":!0}),i(Wc)!=="svelte-oyayuj"&&(Wc.textContent=T4),W_=r(K),Gc=s(K,"P",{"data-svelte-h":!0}),i(Gc)!=="svelte-1anwh77"&&(Gc.innerHTML=j4),G_=r(K),at=s(K,"DIV",{class:!0});var kn=$(at);d(ls.$$.fragment,kn),Z_=r(kn),Zc=s(kn,"P",{"data-svelte-h":!0}),i(Zc)!=="svelte-zsbvqr"&&(Zc.textContent=J4),z_=r(kn),zc=s(kn,"P",{"data-svelte-h":!0}),i(zc)!=="svelte-lc3t5d"&&(zc.textContent=k4),kn.forEach(a),q_=r(K),lt=s(K,"DIV",{class:!0});var In=$(lt);d(is.$$.fragment,In),Y_=r(In),qc=s(In,"P",{"data-svelte-h":!0}),i(qc)!=="svelte-ftgak7"&&(qc.textContent=I4),Q_=r(In),Yc=s(In,"P",{"data-svelte-h":!0}),i(Yc)!=="svelte-29680h"&&(Yc.textContent=E4),In.forEach(a),H_=r(K),Rn=s(K,"DIV",{class:!0});var fc=$(Rn);d(cs.$$.fragment,fc),F_=r(fc),Qc=s(fc,"P",{"data-svelte-h":!0}),i(Qc)!=="svelte-1tinoli"&&(Qc.textContent=U4),fc.forEach(a),X_=r(K),it=s(K,"DIV",{class:!0});var En=$(it);d(ps.$$.fragment,En),O_=r(En),Hc=s(En,"P",{"data-svelte-h":!0}),i(Hc)!=="svelte-28xomu"&&(Hc.textContent=P4),K_=r(En),Fc=s(En,"P",{"data-svelte-h":!0}),i(Fc)!=="svelte-11ukkig"&&(Fc.textContent=L4),En.forEach(a),ey=r(K),Sn=s(K,"DIV",{class:!0});var hc=$(Sn);d(ds.$$.fragment,hc),ty=r(hc),Xc=s(hc,"P",{"data-svelte-h":!0}),i(Xc)!=="svelte-8334fz"&&(Xc.textContent=D4),hc.forEach(a),ny=r(K),ct=s(K,"DIV",{class:!0});var Un=$(ct);d(ms.$$.fragment,Un),ry=r(Un),Oc=s(Un,"P",{"data-svelte-h":!0}),i(Oc)!=="svelte-ef2hky"&&(Oc.textContent=A4),oy=r(Un),Kc=s(Un,"P",{"data-svelte-h":!0}),i(Kc)!=="svelte-11ukkig"&&(Kc.textContent=V4),Un.forEach(a),K.forEach(a),Ef=r(e),d(vs.$$.fragment,e),Uf=r(e),Nt=s(e,"DIV",{class:!0});var bc=$(Nt);d(us.$$.fragment,bc),sy=r(bc),ep=s(bc,"P",{"data-svelte-h":!0}),i(ep)!=="svelte-1dlqtt7"&&(ep.textContent=R4),bc.forEach(a),Pf=r(e),Bt=s(e,"DIV",{class:!0});var $c=$(Bt);d(gs.$$.fragment,$c),ay=r($c),tp=s($c,"P",{"data-svelte-h":!0}),i(tp)!=="svelte-2vf8xt"&&(tp.textContent=S4),$c.forEach(a),Lf=r(e),Wt=s(e,"DIV",{class:!0});var _c=$(Wt);d(fs.$$.fragment,_c),ly=r(_c),np=s(_c,"P",{"data-svelte-h":!0}),i(np)!=="svelte-wf9r3o"&&(np.textContent=N4),_c.forEach(a),Df=r(e),Be=s(e,"DIV",{class:!0});var Pn=$(Be);d(hs.$$.fragment,Pn),iy=r(Pn),rp=s(Pn,"P",{"data-svelte-h":!0}),i(rp)!=="svelte-mhekbn"&&(rp.textContent=B4),cy=r(Pn),op=s(Pn,"P",{"data-svelte-h":!0}),i(op)!=="svelte-zzot50"&&(op.textContent=W4),Pn.forEach(a),Af=r(e),We=s(e,"DIV",{class:!0});var Ln=$(We);d(bs.$$.fragment,Ln),py=r(Ln),sp=s(Ln,"P",{"data-svelte-h":!0}),i(sp)!=="svelte-1whffsl"&&(sp.textContent=G4),dy=r(Ln),ap=s(Ln,"P",{"data-svelte-h":!0}),i(ap)!=="svelte-1juc0bq"&&(ap.textContent=Z4),Ln.forEach(a),Vf=r(e),Gt=s(e,"DIV",{class:!0});var yc=$(Gt);d($s.$$.fragment,yc),my=r(yc),lp=s(yc,"P",{"data-svelte-h":!0}),i(lp)!=="svelte-126qfrf"&&(lp.textContent=z4),yc.forEach(a),Rf=r(e),Zt=s(e,"DIV",{class:!0});var xc=$(Zt);d(_s.$$.fragment,xc),vy=r(xc),ip=s(xc,"P",{"data-svelte-h":!0}),i(ip)!=="svelte-bfei7n"&&(ip.textContent=q4),xc.forEach(a),Sf=r(e),zt=s(e,"DIV",{class:!0});var Cc=$(zt);d(ys.$$.fragment,Cc),uy=r(Cc),cp=s(Cc,"P",{"data-svelte-h":!0}),i(cp)!=="svelte-b4nyde"&&(cp.textContent=Y4),Cc.forEach(a),Nf=r(e),qt=s(e,"DIV",{class:!0});var wc=$(qt);d(xs.$$.fragment,wc),gy=r(wc),pp=s(wc,"P",{"data-svelte-h":!0}),i(pp)!=="svelte-re274g"&&(pp.textContent=Q4),wc.forEach(a),Bf=r(e),Yt=s(e,"DIV",{class:!0});var Mc=$(Yt);d(Cs.$$.fragment,Mc),fy=r(Mc),dp=s(Mc,"P",{"data-svelte-h":!0}),i(dp)!=="svelte-9aoh6y"&&(dp.textContent=H4),Mc.forEach(a),Wf=r(e),Ge=s(e,"DIV",{class:!0});var Dn=$(Ge);d(ws.$$.fragment,Dn),hy=r(Dn),mp=s(Dn,"P",{"data-svelte-h":!0}),i(mp)!=="svelte-1x280w0"&&(mp.textContent=F4),by=r(Dn),vp=s(Dn,"P",{"data-svelte-h":!0}),i(vp)!=="svelte-5vqul6"&&(vp.textContent=X4),Dn.forEach(a),Gf=r(e),Qt=s(e,"DIV",{class:!0});var Tc=$(Qt);d(Ms.$$.fragment,Tc),$y=r(Tc),up=s(Tc,"P",{"data-svelte-h":!0}),i(up)!=="svelte-uw89aw"&&(up.textContent=O4),Tc.forEach(a),Zf=r(e),Ht=s(e,"DIV",{class:!0});var jc=$(Ht);d(Ts.$$.fragment,jc),_y=r(jc),gp=s(jc,"P",{"data-svelte-h":!0}),i(gp)!=="svelte-b48fhx"&&(gp.textContent=K4),jc.forEach(a),zf=r(e),Ft=s(e,"DIV",{class:!0});var Jc=$(Ft);d(js.$$.fragment,Jc),yy=r(Jc),fp=s(Jc,"P",{"data-svelte-h":!0}),i(fp)!=="svelte-1aa9zzz"&&(fp.textContent=eT),Jc.forEach(a),qf=r(e),Xt=s(e,"DIV",{class:!0});var kc=$(Xt);d(Js.$$.fragment,kc),xy=r(kc),hp=s(kc,"P",{"data-svelte-h":!0}),i(hp)!=="svelte-c8dkf8"&&(hp.textContent=tT),kc.forEach(a),Yf=r(e),Ot=s(e,"DIV",{class:!0});var Ic=$(Ot);d(ks.$$.fragment,Ic),Cy=r(Ic),bp=s(Ic,"P",{"data-svelte-h":!0}),i(bp)!=="svelte-18vexfq"&&(bp.textContent=nT),Ic.forEach(a),Qf=r(e),Kt=s(e,"DIV",{class:!0});var Ec=$(Kt);d(Is.$$.fragment,Ec),wy=r(Ec),$p=s(Ec,"P",{"data-svelte-h":!0}),i($p)!=="svelte-1ovp8hj"&&($p.textContent=rT),Ec.forEach(a),Hf=r(e),en=s(e,"DIV",{class:!0});var Uc=$(en);d(Es.$$.fragment,Uc),My=r(Uc),_p=s(Uc,"P",{"data-svelte-h":!0}),i(_p)!=="svelte-1j56c0e"&&(_p.textContent=oT),Uc.forEach(a),Ff=r(e),tn=s(e,"DIV",{class:!0});var Pc=$(tn);d(Us.$$.fragment,Pc),Ty=r(Pc),yp=s(Pc,"P",{"data-svelte-h":!0}),i(yp)!=="svelte-1nbg2xg"&&(yp.textContent=sT),Pc.forEach(a),Xf=r(e),nn=s(e,"DIV",{class:!0});var Vb=$(nn);d(Ps.$$.fragment,Vb),jy=r(Vb),xp=s(Vb,"P",{"data-svelte-h":!0}),i(xp)!=="svelte-1ijm5hr"&&(xp.textContent=aT),Vb.forEach(a),Of=r(e),rn=s(e,"DIV",{class:!0});var Rb=$(rn);d(Ls.$$.fragment,Rb),Jy=r(Rb),Cp=s(Rb,"P",{"data-svelte-h":!0}),i(Cp)!=="svelte-1pynfhk"&&(Cp.textContent=lT),Rb.forEach(a),Kf=r(e),on=s(e,"DIV",{class:!0});var Sb=$(on);d(Ds.$$.fragment,Sb),ky=r(Sb),wp=s(Sb,"P",{"data-svelte-h":!0}),i(wp)!=="svelte-18bzk6u"&&(wp.textContent=iT),Sb.forEach(a),eh=r(e),sn=s(e,"DIV",{class:!0});var Nb=$(sn);d(As.$$.fragment,Nb),Iy=r(Nb),Mp=s(Nb,"P",{"data-svelte-h":!0}),i(Mp)!=="svelte-12eslca"&&(Mp.textContent=cT),Nb.forEach(a),th=r(e),Ze=s(e,"DIV",{class:!0});var Ag=$(Ze);d(Vs.$$.fragment,Ag),Ey=r(Ag),Tp=s(Ag,"P",{"data-svelte-h":!0}),i(Tp)!=="svelte-1lgx9g9"&&(Tp.textContent=pT),Uy=r(Ag),Nn=s(Ag,"DIV",{class:!0});var Bb=$(Nn);d(Rs.$$.fragment,Bb),Py=r(Bb),jp=s(Bb,"P",{"data-svelte-h":!0}),i(jp)!=="svelte-erbl8x"&&(jp.textContent=dT),Bb.forEach(a),Ag.forEach(a),nh=r(e),an=s(e,"DIV",{class:!0});var Wb=$(an);d(Ss.$$.fragment,Wb),Ly=r(Wb),Jp=s(Wb,"P",{"data-svelte-h":!0}),i(Jp)!=="svelte-1v6gphq"&&(Jp.textContent=mT),Wb.forEach(a),rh=r(e),d(Ns.$$.fragment,e),oh=r(e),ln=s(e,"DIV",{class:!0});var Gb=$(ln);d(Bs.$$.fragment,Gb),Dy=r(Gb),kp=s(Gb,"P",{"data-svelte-h":!0}),i(kp)!=="svelte-snfgdk"&&(kp.textContent=vT),Gb.forEach(a),sh=r(e),ze=s(e,"DIV",{class:!0});var Vg=$(ze);d(Ws.$$.fragment,Vg),Ay=r(Vg),Ip=s(Vg,"P",{"data-svelte-h":!0}),i(Ip)!=="svelte-1dz0dq"&&(Ip.textContent=uT),Vy=r(Vg),Ep=s(Vg,"P",{"data-svelte-h":!0}),i(Ep)!=="svelte-15s9tzo"&&(Ep.textContent=gT),Vg.forEach(a),ah=r(e),qe=s(e,"DIV",{class:!0});var Rg=$(qe);d(Gs.$$.fragment,Rg),Ry=r(Rg),Up=s(Rg,"P",{"data-svelte-h":!0}),i(Up)!=="svelte-1pw1sad"&&(Up.textContent=fT),Sy=r(Rg),Pp=s(Rg,"P",{"data-svelte-h":!0}),i(Pp)!=="svelte-1kful9v"&&(Pp.textContent=hT),Rg.forEach(a),lh=r(e),cn=s(e,"DIV",{class:!0});var Zb=$(cn);d(Zs.$$.fragment,Zb),Ny=r(Zb),Lp=s(Zb,"P",{"data-svelte-h":!0}),i(Lp)!=="svelte-1dpf859"&&(Lp.textContent=bT),Zb.forEach(a),ih=r(e),pn=s(e,"DIV",{class:!0});var zb=$(pn);d(zs.$$.fragment,zb),By=r(zb),Dp=s(zb,"P",{"data-svelte-h":!0}),i(Dp)!=="svelte-obh6gt"&&(Dp.textContent=$T),zb.forEach(a),ch=r(e),dn=s(e,"DIV",{class:!0});var qb=$(dn);d(qs.$$.fragment,qb),Wy=r(qb),Ap=s(qb,"P",{"data-svelte-h":!0}),i(Ap)!=="svelte-uc8dqy"&&(Ap.textContent=_T),qb.forEach(a),ph=r(e),d(Ys.$$.fragment,e),dh=r(e),Y=s(e,"DIV",{class:!0});var ae=$(Y);d(Qs.$$.fragment,ae),Gy=r(ae),Vp=s(ae,"P",{"data-svelte-h":!0}),i(Vp)!=="svelte-1ityaak"&&(Vp.textContent=yT),Zy=r(ae),Rp=s(ae,"P",{"data-svelte-h":!0}),i(Rp)!=="svelte-1nii34e"&&(Rp.textContent=xT),zy=r(ae),Sp=s(ae,"P",{"data-svelte-h":!0}),i(Sp)!=="svelte-1r40fqa"&&(Sp.textContent=CT),qy=r(ae),Np=s(ae,"UL",{"data-svelte-h":!0}),i(Np)!=="svelte-s0yvuf"&&(Np.innerHTML=wT),Yy=r(ae),d(Bn.$$.fragment,ae),Qy=r(ae),Wn=s(ae,"DIV",{class:!0});var Yb=$(Wn);d(Hs.$$.fragment,Yb),Hy=r(Yb),Bp=s(Yb,"P",{"data-svelte-h":!0}),i(Bp)!=="svelte-cn4ljn"&&(Bp.textContent=MT),Yb.forEach(a),Fy=r(ae),Gn=s(ae,"DIV",{class:!0});var Qb=$(Gn);d(Fs.$$.fragment,Qb),Xy=r(Qb),Wp=s(Qb,"P",{"data-svelte-h":!0}),i(Wp)!=="svelte-frrnsa"&&(Wp.textContent=TT),Qb.forEach(a),Oy=r(ae),Zn=s(ae,"DIV",{class:!0});var Hb=$(Zn);d(Xs.$$.fragment,Hb),Ky=r(Hb),Gp=s(Hb,"P",{"data-svelte-h":!0}),i(Gp)!=="svelte-i5hf4p"&&(Gp.textContent=jT),Hb.forEach(a),ae.forEach(a),mh=r(e),Ye=s(e,"DIV",{class:!0});var Sg=$(Ye);d(Os.$$.fragment,Sg),ex=r(Sg),Zp=s(Sg,"P",{"data-svelte-h":!0}),i(Zp)!=="svelte-ej3gij"&&(Zp.textContent=JT),tx=r(Sg),zp=s(Sg,"P",{"data-svelte-h":!0}),i(zp)!=="svelte-8el80d"&&(zp.textContent=kT),Sg.forEach(a),vh=r(e),mn=s(e,"DIV",{class:!0});var Fb=$(mn);d(Ks.$$.fragment,Fb),nx=r(Fb),qp=s(Fb,"P",{"data-svelte-h":!0}),i(qp)!=="svelte-t8sqgp"&&(qp.textContent=IT),Fb.forEach(a),uh=r(e),d(ea.$$.fragment,e),gh=r(e),vn=s(e,"DIV",{class:!0});var Xb=$(vn);d(ta.$$.fragment,Xb),rx=r(Xb),Yp=s(Xb,"P",{"data-svelte-h":!0}),i(Yp)!=="svelte-zhwvmf"&&(Yp.textContent=ET),Xb.forEach(a),fh=r(e),un=s(e,"DIV",{class:!0});var Ob=$(un);d(na.$$.fragment,Ob),ox=r(Ob),Qp=s(Ob,"P",{"data-svelte-h":!0}),i(Qp)!=="svelte-190elru"&&(Qp.textContent=UT),Ob.forEach(a),hh=r(e),ne=s(e,"DIV",{class:!0});var Ce=$(ne);d(ra.$$.fragment,Ce),sx=r(Ce),Hp=s(Ce,"P",{"data-svelte-h":!0}),i(Hp)!=="svelte-1s6y23l"&&(Hp.textContent=PT),ax=r(Ce),zn=s(Ce,"DIV",{class:!0});var Kb=$(zn);d(oa.$$.fragment,Kb),lx=r(Kb),Fp=s(Kb,"P",{"data-svelte-h":!0}),i(Fp)!=="svelte-u4owmb"&&(Fp.textContent=LT),Kb.forEach(a),ix=r(Ce),qn=s(Ce,"DIV",{class:!0});var e$=$(qn);d(sa.$$.fragment,e$),cx=r(e$),Xp=s(e$,"P",{"data-svelte-h":!0}),i(Xp)!=="svelte-k8j9gj"&&(Xp.textContent=DT),e$.forEach(a),px=r(Ce),Yn=s(Ce,"DIV",{class:!0});var t$=$(Yn);d(aa.$$.fragment,t$),dx=r(t$),Op=s(t$,"P",{"data-svelte-h":!0}),i(Op)!=="svelte-1jse7gn"&&(Op.textContent=AT),t$.forEach(a),mx=r(Ce),Qn=s(Ce,"DIV",{class:!0});var n$=$(Qn);d(la.$$.fragment,n$),vx=r(n$),Kp=s(n$,"P",{"data-svelte-h":!0}),i(Kp)!=="svelte-19mlkri"&&(Kp.textContent=VT),n$.forEach(a),ux=r(Ce),Hn=s(Ce,"DIV",{class:!0});var r$=$(Hn);d(ia.$$.fragment,r$),gx=r(r$),ed=s(r$,"P",{"data-svelte-h":!0}),i(ed)!=="svelte-17u1jwo"&&(ed.textContent=RT),r$.forEach(a),Ce.forEach(a),bh=r(e),gn=s(e,"DIV",{class:!0});var o$=$(gn);d(ca.$$.fragment,o$),fx=r(o$),td=s(o$,"P",{"data-svelte-h":!0}),i(td)!=="svelte-10tbujm"&&(td.textContent=ST),o$.forEach(a),$h=r(e),d(pa.$$.fragment,e),_h=r(e),je=s(e,"DIV",{class:!0});var Wo=$(je);d(da.$$.fragment,Wo),hx=r(Wo),nd=s(Wo,"P",{"data-svelte-h":!0}),i(nd)!=="svelte-m7cmto"&&(nd.textContent=NT),bx=r(Wo),rd=s(Wo,"P",{"data-svelte-h":!0}),i(rd)!=="svelte-1sbh32w"&&(rd.innerHTML=BT),$x=r(Wo),od=s(Wo,"P",{"data-svelte-h":!0}),i(od)!=="svelte-clg51i"&&(od.textContent=WT),Wo.forEach(a),yh=r(e),Je=s(e,"DIV",{class:!0});var Go=$(Je);d(ma.$$.fragment,Go),_x=r(Go),sd=s(Go,"P",{"data-svelte-h":!0}),i(sd)!=="svelte-1tcho24"&&(sd.textContent=GT),yx=r(Go),ad=s(Go,"P",{"data-svelte-h":!0}),i(ad)!=="svelte-1xnwuwt"&&(ad.textContent=ZT),xx=r(Go),ld=s(Go,"UL",{"data-svelte-h":!0}),i(ld)!=="svelte-1jkxgdp"&&(ld.innerHTML=zT),Go.forEach(a),xh=r(e),fn=s(e,"DIV",{class:!0});var s$=$(fn);d(va.$$.fragment,s$),Cx=r(s$),id=s(s$,"P",{"data-svelte-h":!0}),i(id)!=="svelte-1xxxlfq"&&(id.textContent=qT),s$.forEach(a),Ch=r(e),d(ua.$$.fragment,e),wh=r(e),hn=s(e,"DIV",{class:!0});var a$=$(hn);d(ga.$$.fragment,a$),wx=r(a$),cd=s(a$,"P",{"data-svelte-h":!0}),i(cd)!=="svelte-15kcuju"&&(cd.textContent=YT),a$.forEach(a),Mh=r(e),bn=s(e,"DIV",{class:!0});var l$=$(bn);d(fa.$$.fragment,l$),Mx=r(l$),pd=s(l$,"P",{"data-svelte-h":!0}),i(pd)!=="svelte-1q8r3e1"&&(pd.textContent=QT),l$.forEach(a),Th=r(e),d(ha.$$.fragment,e),jh=r(e),$n=s(e,"DIV",{class:!0});var i$=$($n);d(ba.$$.fragment,i$),Tx=r(i$),dd=s(i$,"P",{"data-svelte-h":!0}),i(dd)!=="svelte-tcz0r3"&&(dd.textContent=HT),i$.forEach(a),Jh=r(e),_n=s(e,"DIV",{class:!0});var c$=$(_n);d($a.$$.fragment,c$),jx=r(c$),md=s(c$,"P",{"data-svelte-h":!0}),i(md)!=="svelte-imw3t5"&&(md.textContent=FT),c$.forEach(a),kh=r(e),d(_a.$$.fragment,e),Ih=r(e),d(ya.$$.fragment,e),Eh=r(e),j=s(e,"DIV",{class:!0});var k=$(j);d(xa.$$.fragment,k),Jx=r(k),vd=s(k,"P",{"data-svelte-h":!0}),i(vd)!=="svelte-xshmux"&&(vd.textContent=XT),kx=r(k),ud=s(k,"P",{"data-svelte-h":!0}),i(ud)!=="svelte-1zw7n4"&&(ud.textContent=OT),Ix=r(k),gd=s(k,"P",{"data-svelte-h":!0}),i(gd)!=="svelte-xia388"&&(gd.innerHTML=KT),Ex=r(k),fd=s(k,"P",{"data-svelte-h":!0}),i(fd)!=="svelte-fn4rp3"&&(fd.textContent=e3),Ux=r(k),hd=s(k,"UL",{"data-svelte-h":!0}),i(hd)!=="svelte-83ucrj"&&(hd.innerHTML=t3),Px=r(k),bd=s(k,"P",{"data-svelte-h":!0}),i(bd)!=="svelte-kvfsh7"&&(bd.textContent=n3),Lx=r(k),d(Fn.$$.fragment,k),Dx=r(k),d(Xn.$$.fragment,k),Ax=r(k),pt=s(k,"DIV",{class:!0});var Ng=$(pt);d(Ca.$$.fragment,Ng),Vx=r(Ng),$d=s(Ng,"P",{"data-svelte-h":!0}),i($d)!=="svelte-pru6l2"&&($d.textContent=r3),Rx=r(Ng),_d=s(Ng,"P",{"data-svelte-h":!0}),i(_d)!=="svelte-p3zyy1"&&(_d.textContent=o3),Ng.forEach(a),Sx=r(k),On=s(k,"DIV",{class:!0});var p$=$(On);d(wa.$$.fragment,p$),Nx=r(p$),yd=s(p$,"P",{"data-svelte-h":!0}),i(yd)!=="svelte-12h1qht"&&(yd.textContent=s3),p$.forEach(a),Bx=r(k),Kn=s(k,"DIV",{class:!0});var d$=$(Kn);d(Ma.$$.fragment,d$),Wx=r(d$),xd=s(d$,"P",{"data-svelte-h":!0}),i(xd)!=="svelte-lvcjvm"&&(xd.textContent=a3),d$.forEach(a),Gx=r(k),er=s(k,"DIV",{class:!0});var m$=$(er);d(Ta.$$.fragment,m$),Zx=r(m$),Cd=s(m$,"P",{"data-svelte-h":!0}),i(Cd)!=="svelte-1djam65"&&(Cd.textContent=l3),m$.forEach(a),zx=r(k),dt=s(k,"DIV",{class:!0});var Bg=$(dt);d(ja.$$.fragment,Bg),qx=r(Bg),wd=s(Bg,"P",{"data-svelte-h":!0}),i(wd)!=="svelte-qet8mz"&&(wd.textContent=i3),Yx=r(Bg),d(tr.$$.fragment,Bg),Bg.forEach(a),Qx=r(k),nr=s(k,"DIV",{class:!0});var v$=$(nr);d(Ja.$$.fragment,v$),Hx=r(v$),Md=s(v$,"P",{"data-svelte-h":!0}),i(Md)!=="svelte-xcyijz"&&(Md.textContent=c3),v$.forEach(a),Fx=r(k),rr=s(k,"DIV",{class:!0});var u$=$(rr);d(ka.$$.fragment,u$),Xx=r(u$),Td=s(u$,"P",{"data-svelte-h":!0}),i(Td)!=="svelte-yanre2"&&(Td.textContent=p3),u$.forEach(a),Ox=r(k),or=s(k,"DIV",{class:!0});var g$=$(or);d(Ia.$$.fragment,g$),Kx=r(g$),jd=s(g$,"P",{"data-svelte-h":!0}),i(jd)!=="svelte-1ag1ddp"&&(jd.textContent=d3),g$.forEach(a),e1=r(k),xe=s(k,"DIV",{class:!0});var Ut=$(xe);d(Ea.$$.fragment,Ut),t1=r(Ut),Jd=s(Ut,"P",{"data-svelte-h":!0}),i(Jd)!=="svelte-1vbhre9"&&(Jd.textContent=m3),n1=r(Ut),kd=s(Ut,"P",{"data-svelte-h":!0}),i(kd)!=="svelte-1ljze5m"&&(kd.textContent=v3),r1=r(Ut),Id=s(Ut,"UL",{"data-svelte-h":!0}),i(Id)!=="svelte-1ahcrvl"&&(Id.innerHTML=u3),o1=r(Ut),d(sr.$$.fragment,Ut),Ut.forEach(a),k.forEach(a),Uh=r(e),d(Ua.$$.fragment,e),Ph=r(e),V=s(e,"DIV",{class:!0});var Z=$(V);d(Pa.$$.fragment,Z),s1=r(Z),Ed=s(Z,"P",{"data-svelte-h":!0}),i(Ed)!=="svelte-1rhol8k"&&(Ed.textContent=g3),a1=r(Z),Ud=s(Z,"P",{"data-svelte-h":!0}),i(Ud)!=="svelte-okqfz5"&&(Ud.textContent=f3),l1=r(Z),Pd=s(Z,"P",{"data-svelte-h":!0}),i(Pd)!=="svelte-17icz0b"&&(Pd.textContent=h3),i1=r(Z),Ld=s(Z,"P",{"data-svelte-h":!0}),i(Ld)!=="svelte-q9hxip"&&(Ld.innerHTML=b3),c1=r(Z),d(ar.$$.fragment,Z),p1=r(Z),lr=s(Z,"DIV",{class:!0});var f$=$(lr);d(La.$$.fragment,f$),d1=r(f$),Dd=s(f$,"P",{"data-svelte-h":!0}),i(Dd)!=="svelte-d0bjkl"&&(Dd.textContent=$3),f$.forEach(a),m1=r(Z),ir=s(Z,"DIV",{class:!0});var h$=$(ir);d(Da.$$.fragment,h$),v1=r(h$),Ad=s(h$,"P",{"data-svelte-h":!0}),i(Ad)!=="svelte-dctcvq"&&(Ad.textContent=_3),h$.forEach(a),u1=r(Z),cr=s(Z,"DIV",{class:!0});var b$=$(cr);d(Aa.$$.fragment,b$),g1=r(b$),Vd=s(b$,"P",{"data-svelte-h":!0}),i(Vd)!=="svelte-1fiqm9l"&&(Vd.textContent=y3),b$.forEach(a),f1=r(Z),pr=s(Z,"DIV",{class:!0});var $$=$(pr);d(Va.$$.fragment,$$),h1=r($$),Rd=s($$,"P",{"data-svelte-h":!0}),i(Rd)!=="svelte-1us4sb7"&&(Rd.textContent=x3),$$.forEach(a),b1=r(Z),dr=s(Z,"DIV",{class:!0});var _$=$(dr);d(Ra.$$.fragment,_$),$1=r(_$),Sd=s(_$,"P",{"data-svelte-h":!0}),i(Sd)!=="svelte-m2ham0"&&(Sd.textContent=C3),_$.forEach(a),_1=r(Z),mr=s(Z,"DIV",{class:!0});var y$=$(mr);d(Sa.$$.fragment,y$),y1=r(y$),Nd=s(y$,"P",{"data-svelte-h":!0}),i(Nd)!=="svelte-1ag1ddp"&&(Nd.textContent=w3),y$.forEach(a),Z.forEach(a),Lh=r(e),d(Na.$$.fragment,e),Dh=r(e),re=s(e,"DIV",{class:!0});var we=$(re);d(Ba.$$.fragment,we),x1=r(we),Bd=s(we,"P",{"data-svelte-h":!0}),i(Bd)!=="svelte-xt96u2"&&(Bd.textContent=M3),C1=r(we),Wd=s(we,"P",{"data-svelte-h":!0}),i(Wd)!=="svelte-ooz0tg"&&(Wd.textContent=T3),w1=r(we),Gd=s(we,"UL",{"data-svelte-h":!0}),i(Gd)!=="svelte-zli800"&&(Gd.innerHTML=j3),M1=r(we),Zd=s(we,"P",{"data-svelte-h":!0}),i(Zd)!=="svelte-1m3u4m6"&&(Zd.textContent=J3),T1=r(we),d(vr.$$.fragment,we),j1=r(we),zd=s(we,"P",{"data-svelte-h":!0}),i(zd)!=="svelte-13ujjhg"&&(zd.innerHTML=k3),we.forEach(a),Ah=r(e),ge=s(e,"DIV",{class:!0});var Pt=$(ge);d(Wa.$$.fragment,Pt),J1=r(Pt),qd=s(Pt,"P",{"data-svelte-h":!0}),i(qd)!=="svelte-s26p1l"&&(qd.textContent=I3),k1=r(Pt),Yd=s(Pt,"P",{"data-svelte-h":!0}),i(Yd)!=="svelte-rbcp6q"&&(Yd.textContent=E3),I1=r(Pt),d(ur.$$.fragment,Pt),E1=r(Pt),Qd=s(Pt,"P",{"data-svelte-h":!0}),i(Qd)!=="svelte-m0fypo"&&(Qd.innerHTML=U3),Pt.forEach(a),Vh=r(e),d(Ga.$$.fragment,e),Rh=r(e),yn=s(e,"DIV",{class:!0});var x$=$(yn);d(Za.$$.fragment,x$),U1=r(x$),Hd=s(x$,"P",{"data-svelte-h":!0}),i(Hd)!=="svelte-1i8dd82"&&(Hd.textContent=P3),x$.forEach(a),Sh=r(e),Qe=s(e,"DIV",{class:!0});var Wg=$(Qe);d(za.$$.fragment,Wg),P1=r(Wg),Fd=s(Wg,"P",{"data-svelte-h":!0}),i(Fd)!=="svelte-17pz5ch"&&(Fd.textContent=L3),L1=r(Wg),gr=s(Wg,"DIV",{class:!0});var C$=$(gr);d(qa.$$.fragment,C$),D1=r(C$),Xd=s(C$,"P",{"data-svelte-h":!0}),i(Xd)!=="svelte-1ir34aw"&&(Xd.textContent=D3),C$.forEach(a),Wg.forEach(a),Nh=r(e),fe=s(e,"DIV",{class:!0});var Lt=$(fe);d(Ya.$$.fragment,Lt),A1=r(Lt),Od=s(Lt,"P",{"data-svelte-h":!0}),i(Od)!=="svelte-10emfa"&&(Od.textContent=A3),V1=r(Lt),Kd=s(Lt,"P",{"data-svelte-h":!0}),i(Kd)!=="svelte-4rat6l"&&(Kd.innerHTML=V3),R1=r(Lt),fr=s(Lt,"DIV",{class:!0});var w$=$(fr);d(Qa.$$.fragment,w$),S1=r(w$),em=s(w$,"P",{"data-svelte-h":!0}),i(em)!=="svelte-143q7k"&&(em.textContent=R3),w$.forEach(a),N1=r(Lt),mt=s(Lt,"DIV",{class:!0});var Gg=$(mt);d(Ha.$$.fragment,Gg),B1=r(Gg),tm=s(Gg,"P",{"data-svelte-h":!0}),i(tm)!=="svelte-1kzt7rl"&&(tm.textContent=S3),W1=r(Gg),nm=s(Gg,"P",{"data-svelte-h":!0}),i(nm)!=="svelte-mvwlmg"&&(nm.innerHTML=N3),Gg.forEach(a),Lt.forEach(a),Bh=r(e),ke=s(e,"DIV",{class:!0});var Zo=$(ke);d(Fa.$$.fragment,Zo),G1=r(Zo),rm=s(Zo,"P",{"data-svelte-h":!0}),i(rm)!=="svelte-uf019m"&&(rm.textContent=B3),Z1=r(Zo),om=s(Zo,"P",{"data-svelte-h":!0}),i(om)!=="svelte-tz7r15"&&(om.textContent=W3),z1=r(Zo),hr=s(Zo,"DIV",{class:!0});var M$=$(hr);d(Xa.$$.fragment,M$),q1=r(M$),sm=s(M$,"P",{"data-svelte-h":!0}),i(sm)!=="svelte-11q5w6i"&&(sm.textContent=G3),M$.forEach(a),Zo.forEach(a),Wh=r(e),He=s(e,"DIV",{class:!0});var Zg=$(He);d(Oa.$$.fragment,Zg),Y1=r(Zg),am=s(Zg,"P",{"data-svelte-h":!0}),i(am)!=="svelte-1lau8ne"&&(am.textContent=Z3),Q1=r(Zg),lm=s(Zg,"P",{"data-svelte-h":!0}),i(lm)!=="svelte-1gctcz1"&&(lm.innerHTML=z3),Zg.forEach(a),Gh=r(e),xn=s(e,"DIV",{class:!0});var T$=$(xn);d(Ka.$$.fragment,T$),H1=r(T$),im=s(T$,"P",{"data-svelte-h":!0}),i(im)!=="svelte-1gcfb3f"&&(im.textContent=q3),T$.forEach(a),Zh=r(e),d(el.$$.fragment,e),zh=r(e),Cn=s(e,"DIV",{class:!0});var j$=$(Cn);d(tl.$$.fragment,j$),F1=r(j$),cm=s(j$,"P",{"data-svelte-h":!0}),i(cm)!=="svelte-vn0p6b"&&(cm.textContent=Y3),j$.forEach(a),qh=r(e),d(nl.$$.fragment,e),Yh=r(e),d(rl.$$.fragment,e),Qh=r(e),I=s(e,"DIV",{class:!0});var S=$(I);d(ol.$$.fragment,S),X1=r(S),pm=s(S,"P",{"data-svelte-h":!0}),i(pm)!=="svelte-jbj0o9"&&(pm.textContent=Q3),O1=r(S),dm=s(S,"P",{"data-svelte-h":!0}),i(dm)!=="svelte-qo81rd"&&(dm.textContent=H3),K1=r(S),mm=s(S,"P",{"data-svelte-h":!0}),i(mm)!=="svelte-1wg0jmn"&&(mm.textContent=F3),e2=r(S),vm=s(S,"UL",{"data-svelte-h":!0}),i(vm)!=="svelte-1jtg5nq"&&(vm.innerHTML=X3),t2=r(S),um=s(S,"P",{"data-svelte-h":!0}),i(um)!=="svelte-15emkxm"&&(um.textContent=O3),n2=r(S),d(br.$$.fragment,S),r2=r(S),vt=s(S,"DIV",{class:!0});var zg=$(vt);d(sl.$$.fragment,zg),o2=r(zg),gm=s(zg,"P",{"data-svelte-h":!0}),i(gm)!=="svelte-zsbvqr"&&(gm.textContent=K3),s2=r(zg),fm=s(zg,"P",{"data-svelte-h":!0}),i(fm)!=="svelte-amq6bo"&&(fm.textContent=e8),zg.forEach(a),a2=r(S),ut=s(S,"DIV",{class:!0});var qg=$(ut);d(al.$$.fragment,qg),l2=r(qg),hm=s(qg,"P",{"data-svelte-h":!0}),i(hm)!=="svelte-9ygbt7"&&(hm.textContent=t8),i2=r(qg),bm=s(qg,"P",{"data-svelte-h":!0}),i(bm)!=="svelte-14viyz4"&&(bm.textContent=n8),qg.forEach(a),c2=r(S),gt=s(S,"DIV",{class:!0});var Yg=$(gt);d(ll.$$.fragment,Yg),p2=r(Yg),$m=s(Yg,"P",{"data-svelte-h":!0}),i($m)!=="svelte-6p6ixs"&&($m.textContent=r8),d2=r(Yg),_m=s(Yg,"P",{"data-svelte-h":!0}),i(_m)!=="svelte-1t53p0c"&&(_m.textContent=o8),Yg.forEach(a),m2=r(S),pe=s(S,"DIV",{class:!0});var Ae=$(pe);d(il.$$.fragment,Ae),v2=r(Ae),ym=s(Ae,"P",{"data-svelte-h":!0}),i(ym)!=="svelte-1ce7dx9"&&(ym.textContent=s8),u2=r(Ae),xm=s(Ae,"P",{"data-svelte-h":!0}),i(xm)!=="svelte-4sg3ys"&&(xm.textContent=a8),g2=r(Ae),Cm=s(Ae,"OL",{"data-svelte-h":!0}),i(Cm)!=="svelte-4a4xcm"&&(Cm.innerHTML=l8),f2=r(Ae),wm=s(Ae,"P",{"data-svelte-h":!0}),i(wm)!=="svelte-trhzo"&&(wm.innerHTML=i8),h2=r(Ae),Mm=s(Ae,"P",{"data-svelte-h":!0}),i(Mm)!=="svelte-k813zh"&&(Mm.innerHTML=c8),Ae.forEach(a),b2=r(S),ft=s(S,"DIV",{class:!0});var Qg=$(ft);d(cl.$$.fragment,Qg),$2=r(Qg),Tm=s(Qg,"P",{"data-svelte-h":!0}),i(Tm)!=="svelte-1ag1ddp"&&(Tm.textContent=p8),_2=r(Qg),jm=s(Qg,"P",{"data-svelte-h":!0}),i(jm)!=="svelte-17zwcx8"&&(jm.textContent=d8),Qg.forEach(a),y2=r(S),ht=s(S,"DIV",{class:!0});var Hg=$(ht);d(pl.$$.fragment,Hg),x2=r(Hg),Jm=s(Hg,"P",{"data-svelte-h":!0}),i(Jm)!=="svelte-50eqxe"&&(Jm.textContent=m8),C2=r(Hg),km=s(Hg,"P",{"data-svelte-h":!0}),i(km)!=="svelte-1vh5fkj"&&(km.textContent=v8),Hg.forEach(a),w2=r(S),$r=s(S,"DIV",{class:!0});var J$=$($r);d(dl.$$.fragment,J$),M2=r(J$),Im=s(J$,"P",{"data-svelte-h":!0}),i(Im)!=="svelte-14gxs6q"&&(Im.textContent=u8),J$.forEach(a),S.forEach(a),Hh=r(e),d(ml.$$.fragment,e),Fh=r(e),Fe=s(e,"DIV",{class:!0});var Fg=$(Fe);d(vl.$$.fragment,Fg),T2=r(Fg),Em=s(Fg,"P",{"data-svelte-h":!0}),i(Em)!=="svelte-s557zl"&&(Em.textContent=g8),j2=r(Fg),Um=s(Fg,"P",{"data-svelte-h":!0}),i(Um)!=="svelte-i2idjc"&&(Um.innerHTML=f8),Fg.forEach(a),Xh=r(e),wn=s(e,"DIV",{class:!0});var k$=$(wn);d(ul.$$.fragment,k$),J2=r(k$),Pm=s(k$,"P",{"data-svelte-h":!0}),i(Pm)!=="svelte-1n90t03"&&(Pm.textContent=h8),k$.forEach(a),Oh=r(e),Ie=s(e,"DIV",{class:!0});var zo=$(Ie);d(gl.$$.fragment,zo),k2=r(zo),Lm=s(zo,"P",{"data-svelte-h":!0}),i(Lm)!=="svelte-1mqsesv"&&(Lm.textContent=b8),I2=r(zo),Dm=s(zo,"P",{"data-svelte-h":!0}),i(Dm)!=="svelte-i2idjc"&&(Dm.innerHTML=$8),E2=r(zo),_r=s(zo,"DIV",{class:!0});var I$=$(_r);d(fl.$$.fragment,I$),U2=r(I$),Am=s(I$,"P",{"data-svelte-h":!0}),i(Am)!=="svelte-1urjfai"&&(Am.textContent=_8),I$.forEach(a),zo.forEach(a),Kh=r(e),Xe=s(e,"DIV",{class:!0});var Xg=$(Xe);d(hl.$$.fragment,Xg),P2=r(Xg),Vm=s(Xg,"P",{"data-svelte-h":!0}),i(Vm)!=="svelte-9u8i46"&&(Vm.textContent=y8),L2=r(Xg),Rm=s(Xg,"P",{"data-svelte-h":!0}),i(Rm)!=="svelte-149pyb0"&&(Rm.innerHTML=x8),Xg.forEach(a),eb=r(e),F=s(e,"DIV",{class:!0});var de=$(F);d(bl.$$.fragment,de),D2=r(de),Sm=s(de,"P",{"data-svelte-h":!0}),i(Sm)!=="svelte-13iryk8"&&(Sm.textContent=C8),A2=r(de),Nm=s(de,"P",{"data-svelte-h":!0}),i(Nm)!=="svelte-1cwvun3"&&(Nm.textContent=w8),V2=r(de),Bm=s(de,"P",{"data-svelte-h":!0}),i(Bm)!=="svelte-eaoop6"&&(Bm.innerHTML=M8),R2=r(de),yr=s(de,"DIV",{class:!0});var E$=$(yr);d($l.$$.fragment,E$),S2=r(E$),Wm=s(E$,"P",{"data-svelte-h":!0}),i(Wm)!=="svelte-ke4h8p"&&(Wm.textContent=T8),E$.forEach(a),N2=r(de),xr=s(de,"DIV",{class:!0});var U$=$(xr);d(_l.$$.fragment,U$),B2=r(U$),Gm=s(U$,"P",{"data-svelte-h":!0}),i(Gm)!=="svelte-f6b130"&&(Gm.textContent=j8),U$.forEach(a),W2=r(de),Cr=s(de,"DIV",{class:!0});var P$=$(Cr);d(yl.$$.fragment,P$),G2=r(P$),Zm=s(P$,"P",{"data-svelte-h":!0}),i(Zm)!=="svelte-3x3sxv"&&(Zm.textContent=J8),P$.forEach(a),Z2=r(de),wr=s(de,"DIV",{class:!0});var L$=$(wr);d(xl.$$.fragment,L$),z2=r(L$),zm=s(L$,"P",{"data-svelte-h":!0}),i(zm)!=="svelte-1w19475"&&(zm.textContent=k8),L$.forEach(a),de.forEach(a),tb=r(e),Oe=s(e,"DIV",{class:!0});var Og=$(Oe);d(Cl.$$.fragment,Og),q2=r(Og),qm=s(Og,"P",{"data-svelte-h":!0}),i(qm)!=="svelte-1otxe0d"&&(qm.textContent=I8),Y2=r(Og),Ym=s(Og,"P",{"data-svelte-h":!0}),i(Ym)!=="svelte-19mn8ta"&&(Ym.innerHTML=E8),Og.forEach(a),nb=r(e),Mn=s(e,"DIV",{class:!0});var D$=$(Mn);d(wl.$$.fragment,D$),Q2=r(D$),Qm=s(D$,"P",{"data-svelte-h":!0}),i(Qm)!=="svelte-zhzje3"&&(Qm.textContent=U8),D$.forEach(a),rb=r(e),Ke=s(e,"DIV",{class:!0});var Kg=$(Ke);d(Ml.$$.fragment,Kg),H2=r(Kg),Hm=s(Kg,"P",{"data-svelte-h":!0}),i(Hm)!=="svelte-qrbixx"&&(Hm.textContent=P8),F2=r(Kg),Fm=s(Kg,"P",{"data-svelte-h":!0}),i(Fm)!=="svelte-1k5f44x"&&(Fm.textContent=L8),Kg.forEach(a),ob=r(e),et=s(e,"DIV",{class:!0});var ef=$(et);d(Tl.$$.fragment,ef),X2=r(ef),Xm=s(ef,"P",{"data-svelte-h":!0}),i(Xm)!=="svelte-16uscl8"&&(Xm.textContent=D8),O2=r(ef),Om=s(ef,"P",{"data-svelte-h":!0}),i(Om)!=="svelte-j3e42x"&&(Om.textContent=A8),ef.forEach(a),sb=r(e),tt=s(e,"DIV",{class:!0});var tf=$(tt);d(jl.$$.fragment,tf),K2=r(tf),Km=s(tf,"P",{"data-svelte-h":!0}),i(Km)!=="svelte-13fbze1"&&(Km.textContent=V8),eC=r(tf),ev=s(tf,"P",{"data-svelte-h":!0}),i(ev)!=="svelte-15bq6pj"&&(ev.textContent=R8),tf.forEach(a),ab=r(e),nt=s(e,"DIV",{class:!0});var nf=$(nt);d(Jl.$$.fragment,nf),tC=r(nf),tv=s(nf,"P",{"data-svelte-h":!0}),i(tv)!=="svelte-1aq66ff"&&(tv.textContent=S8),nC=r(nf),nv=s(nf,"P",{"data-svelte-h":!0}),i(nv)!=="svelte-1xrnjls"&&(nv.textContent=N8),nf.forEach(a),lb=r(e),rt=s(e,"DIV",{class:!0});var rf=$(rt);d(kl.$$.fragment,rf),rC=r(rf),rv=s(rf,"P",{"data-svelte-h":!0}),i(rv)!=="svelte-484xv7"&&(rv.textContent=B8),oC=r(rf),ov=s(rf,"P",{"data-svelte-h":!0}),i(ov)!=="svelte-1nebc5t"&&(ov.textContent=W8),rf.forEach(a),ib=r(e),ot=s(e,"DIV",{class:!0});var of=$(ot);d(Il.$$.fragment,of),sC=r(of),sv=s(of,"P",{"data-svelte-h":!0}),i(sv)!=="svelte-br7gzf"&&(sv.textContent=G8),aC=r(of),av=s(of,"P",{"data-svelte-h":!0}),i(av)!=="svelte-1w37qul"&&(av.textContent=Z8),of.forEach(a),cb=r(e),st=s(e,"DIV",{class:!0});var sf=$(st);d(El.$$.fragment,sf),lC=r(sf),lv=s(sf,"P",{"data-svelte-h":!0}),i(lv)!=="svelte-1mxqiyd"&&(lv.textContent=z8),iC=r(sf),iv=s(sf,"P",{"data-svelte-h":!0}),i(iv)!=="svelte-z5j1z"&&(iv.textContent=q8),sf.forEach(a),pb=r(e),d(Ul.$$.fragment,e),db=r(e),he=s(e,"DIV",{class:!0});var Dt=$(he);d(Pl.$$.fragment,Dt),cC=r(Dt),cv=s(Dt,"P",{"data-svelte-h":!0}),i(cv)!=="svelte-al7s20"&&(cv.textContent=Y8),pC=r(Dt),pv=s(Dt,"P",{"data-svelte-h":!0}),i(pv)!=="svelte-agbvx1"&&(pv.innerHTML=Q8),dC=r(Dt),bt=s(Dt,"DIV",{class:!0});var af=$(bt);d(Ll.$$.fragment,af),mC=r(af),dv=s(af,"P",{"data-svelte-h":!0}),i(dv)!=="svelte-lc2dc"&&(dv.textContent=H8),vC=r(af),mv=s(af,"P",{"data-svelte-h":!0}),i(mv)!=="svelte-8et7v"&&(mv.textContent=F8),af.forEach(a),uC=r(Dt),$t=s(Dt,"DIV",{class:!0});var lf=$($t);d(Dl.$$.fragment,lf),gC=r(lf),vv=s(lf,"P",{"data-svelte-h":!0}),i(vv)!=="svelte-1howdr1"&&(vv.textContent=X8),fC=r(lf),d(Mr.$$.fragment,lf),lf.forEach(a),Dt.forEach(a),mb=r(e),W=s(e,"DIV",{class:!0});var ee=$(W);d(Al.$$.fragment,ee),hC=r(ee),uv=s(ee,"P",{"data-svelte-h":!0}),i(uv)!=="svelte-1lngg23"&&(uv.textContent=O8),bC=r(ee),gv=s(ee,"P",{"data-svelte-h":!0}),i(gv)!=="svelte-kutfrg"&&(gv.textContent=K8),$C=r(ee),fv=s(ee,"P",{"data-svelte-h":!0}),i(fv)!=="svelte-pipn2e"&&(fv.textContent=ej),_C=r(ee),hv=s(ee,"UL",{"data-svelte-h":!0}),i(hv)!=="svelte-1vi4s37"&&(hv.innerHTML=tj),yC=r(ee),d(Tr.$$.fragment,ee),xC=r(ee),d(jr.$$.fragment,ee),CC=r(ee),Pe=s(ee,"DIV",{class:!0});var qo=$(Pe);d(Vl.$$.fragment,qo),wC=r(qo),bv=s(qo,"P",{"data-svelte-h":!0}),i(bv)!=="svelte-19g41p9"&&(bv.textContent=nj),MC=r(qo),$v=s(qo,"P",{"data-svelte-h":!0}),i($v)!=="svelte-wcjrto"&&($v.innerHTML=rj),TC=r(qo),d(Jr.$$.fragment,qo),qo.forEach(a),jC=r(ee),_t=s(ee,"DIV",{class:!0});var cf=$(_t);d(Rl.$$.fragment,cf),JC=r(cf),_v=s(cf,"P",{"data-svelte-h":!0}),i(_v)!=="svelte-dlt17b"&&(_v.textContent=oj),kC=r(cf),d(kr.$$.fragment,cf),cf.forEach(a),IC=r(ee),Ir=s(ee,"DIV",{class:!0});var A$=$(Ir);d(Sl.$$.fragment,A$),EC=r(A$),yv=s(A$,"P",{"data-svelte-h":!0}),i(yv)!=="svelte-yewc64"&&(yv.textContent=sj),A$.forEach(a),ee.forEach(a),vb=r(e),d(Nl.$$.fragment,e),ub=r(e),J=s(e,"DIV",{class:!0});var U=$(J);d(Bl.$$.fragment,U),UC=r(U),xv=s(U,"P",{"data-svelte-h":!0}),i(xv)!=="svelte-bs099i"&&(xv.textContent=aj),PC=r(U),Cv=s(U,"P",{"data-svelte-h":!0}),i(Cv)!=="svelte-1o5wu0h"&&(Cv.textContent=lj),LC=r(U),d(Er.$$.fragment,U),DC=r(U),wv=s(U,"P",{"data-svelte-h":!0}),i(wv)!=="svelte-ijpjum"&&(wv.textContent=ij),AC=r(U),Ur=s(U,"DIV",{class:!0});var V$=$(Ur);d(Wl.$$.fragment,V$),VC=r(V$),Mv=s(V$,"P",{"data-svelte-h":!0}),i(Mv)!=="svelte-16nwkxt"&&(Mv.textContent=cj),V$.forEach(a),RC=r(U),Pr=s(U,"DIV",{class:!0});var R$=$(Pr);d(Gl.$$.fragment,R$),SC=r(R$),Tv=s(R$,"P",{"data-svelte-h":!0}),i(Tv)!=="svelte-ydw6bv"&&(Tv.textContent=pj),R$.forEach(a),NC=r(U),Lr=s(U,"DIV",{class:!0});var S$=$(Lr);d(Zl.$$.fragment,S$),BC=r(S$),jv=s(S$,"P",{"data-svelte-h":!0}),i(jv)!=="svelte-1trzack"&&(jv.textContent=dj),S$.forEach(a),WC=r(U),Dr=s(U,"DIV",{class:!0});var N$=$(Dr);d(zl.$$.fragment,N$),GC=r(N$),Jv=s(N$,"P",{"data-svelte-h":!0}),i(Jv)!=="svelte-1qpgqhz"&&(Jv.textContent=mj),N$.forEach(a),ZC=r(U),Ar=s(U,"DIV",{class:!0});var B$=$(Ar);d(ql.$$.fragment,B$),zC=r(B$),kv=s(B$,"P",{"data-svelte-h":!0}),i(kv)!=="svelte-fa7mn1"&&(kv.textContent=vj),B$.forEach(a),qC=r(U),Vr=s(U,"DIV",{class:!0});var W$=$(Vr);d(Yl.$$.fragment,W$),YC=r(W$),Iv=s(W$,"P",{"data-svelte-h":!0}),i(Iv)!=="svelte-2fmbx1"&&(Iv.textContent=uj),W$.forEach(a),QC=r(U),Rr=s(U,"DIV",{class:!0});var G$=$(Rr);d(Ql.$$.fragment,G$),HC=r(G$),Ev=s(G$,"P",{"data-svelte-h":!0}),i(Ev)!=="svelte-77icxo"&&(Ev.textContent=gj),G$.forEach(a),FC=r(U),Sr=s(U,"DIV",{class:!0});var Z$=$(Sr);d(Hl.$$.fragment,Z$),XC=r(Z$),Uv=s(Z$,"P",{"data-svelte-h":!0}),i(Uv)!=="svelte-pxcxuh"&&(Uv.textContent=fj),Z$.forEach(a),OC=r(U),Nr=s(U,"DIV",{class:!0});var z$=$(Nr);d(Fl.$$.fragment,z$),KC=r(z$),Pv=s(z$,"P",{"data-svelte-h":!0}),i(Pv)!=="svelte-1mkhyhs"&&(Pv.textContent=hj),z$.forEach(a),e0=r(U),Br=s(U,"DIV",{class:!0});var q$=$(Br);d(Xl.$$.fragment,q$),t0=r(q$),Lv=s(q$,"P",{"data-svelte-h":!0}),i(Lv)!=="svelte-gw0abv"&&(Lv.textContent=bj),q$.forEach(a),n0=r(U),Wr=s(U,"DIV",{class:!0});var Y$=$(Wr);d(Ol.$$.fragment,Y$),r0=r(Y$),Dv=s(Y$,"P",{"data-svelte-h":!0}),i(Dv)!=="svelte-prpqg6"&&(Dv.textContent=$j),Y$.forEach(a),U.forEach(a),gb=r(e),be=s(e,"DIV",{class:!0});var At=$(be);d(Kl.$$.fragment,At),o0=r(At),Av=s(At,"P",{"data-svelte-h":!0}),i(Av)!=="svelte-1xhn59w"&&(Av.textContent=_j),s0=r(At),Vv=s(At,"P",{"data-svelte-h":!0}),i(Vv)!=="svelte-2sbkua"&&(Vv.textContent=yj),a0=r(At),d(Gr.$$.fragment,At),l0=r(At),Zr=s(At,"DIV",{class:!0});var Q$=$(Zr);d(ei.$$.fragment,Q$),i0=r(Q$),Rv=s(Q$,"P",{"data-svelte-h":!0}),i(Rv)!=="svelte-qqanmt"&&(Rv.textContent=xj),Q$.forEach(a),At.forEach(a),fb=r(e),$e=s(e,"DIV",{class:!0});var Vt=$($e);d(ti.$$.fragment,Vt),c0=r(Vt),Sv=s(Vt,"P",{"data-svelte-h":!0}),i(Sv)!=="svelte-1qpa87h"&&(Sv.textContent=Cj),p0=r(Vt),Nv=s(Vt,"P",{"data-svelte-h":!0}),i(Nv)!=="svelte-fojcg8"&&(Nv.textContent=wj),d0=r(Vt),d(zr.$$.fragment,Vt),m0=r(Vt),qr=s(Vt,"DIV",{class:!0});var H$=$(qr);d(ni.$$.fragment,H$),v0=r(H$),Bv=s(H$,"P",{"data-svelte-h":!0}),i(Bv)!=="svelte-ooeisd"&&(Bv.textContent=Mj),H$.forEach(a),Vt.forEach(a),hb=r(e),_e=s(e,"DIV",{class:!0});var Rt=$(_e);d(ri.$$.fragment,Rt),u0=r(Rt),Wv=s(Rt,"P",{"data-svelte-h":!0}),i(Wv)!=="svelte-1n8biqp"&&(Wv.textContent=Tj),g0=r(Rt),Gv=s(Rt,"P",{"data-svelte-h":!0}),i(Gv)!=="svelte-1vx2uyb"&&(Gv.textContent=jj),f0=r(Rt),d(Yr.$$.fragment,Rt),h0=r(Rt),Qr=s(Rt,"DIV",{class:!0});var F$=$(Qr);d(oi.$$.fragment,F$),b0=r(F$),Zv=s(F$,"P",{"data-svelte-h":!0}),i(Zv)!=="svelte-hepbp9"&&(Zv.textContent=Jj),F$.forEach(a),Rt.forEach(a),bb=r(e),oe=s(e,"DIV",{class:!0});var Me=$(oe);d(si.$$.fragment,Me),$0=r(Me),zv=s(Me,"P",{"data-svelte-h":!0}),i(zv)!=="svelte-186ia3j"&&(zv.textContent=kj),_0=r(Me),qv=s(Me,"P",{"data-svelte-h":!0}),i(qv)!=="svelte-17dy3oi"&&(qv.textContent=Ij),y0=r(Me),d(Hr.$$.fragment,Me),x0=r(Me),Fr=s(Me,"DIV",{class:!0});var X$=$(Fr);d(ai.$$.fragment,X$),C0=r(X$),Yv=s(X$,"P",{"data-svelte-h":!0}),i(Yv)!=="svelte-ktmuyr"&&(Yv.textContent=Ej),X$.forEach(a),w0=r(Me),Xr=s(Me,"DIV",{class:!0});var O$=$(Xr);d(li.$$.fragment,O$),M0=r(O$),Qv=s(O$,"P",{"data-svelte-h":!0}),i(Qv)!=="svelte-mzxult"&&(Qv.textContent=Uj),O$.forEach(a),T0=r(Me),Or=s(Me,"DIV",{class:!0});var K$=$(Or);d(ii.$$.fragment,K$),j0=r(K$),Hv=s(K$,"P",{"data-svelte-h":!0}),i(Hv)!=="svelte-1s6gyqu"&&(Hv.textContent=Pj),K$.forEach(a),Me.forEach(a),$b=r(e),Q=s(e,"DIV",{class:!0});var le=$(Q);d(ci.$$.fragment,le),J0=r(le),Fv=s(le,"P",{"data-svelte-h":!0}),i(Fv)!=="svelte-a99f59"&&(Fv.textContent=Lj),k0=r(le),Xv=s(le,"P",{"data-svelte-h":!0}),i(Xv)!=="svelte-1kjs2y0"&&(Xv.textContent=Dj),I0=r(le),d(Kr.$$.fragment,le),E0=r(le),eo=s(le,"DIV",{class:!0});var e_=$(eo);d(pi.$$.fragment,e_),U0=r(e_),Ov=s(e_,"P",{"data-svelte-h":!0}),i(Ov)!=="svelte-ibo3xq"&&(Ov.textContent=Aj),e_.forEach(a),P0=r(le),to=s(le,"DIV",{class:!0});var t_=$(to);d(di.$$.fragment,t_),L0=r(t_),Kv=s(t_,"P",{"data-svelte-h":!0}),i(Kv)!=="svelte-g7chn6"&&(Kv.textContent=Vj),t_.forEach(a),D0=r(le),no=s(le,"DIV",{class:!0});var n_=$(no);d(mi.$$.fragment,n_),A0=r(n_),eu=s(n_,"P",{"data-svelte-h":!0}),i(eu)!=="svelte-me62nm"&&(eu.textContent=Rj),n_.forEach(a),V0=r(le),ro=s(le,"DIV",{class:!0});var r_=$(ro);d(vi.$$.fragment,r_),R0=r(r_),tu=s(r_,"P",{"data-svelte-h":!0}),i(tu)!=="svelte-n8t1ja"&&(tu.textContent=Sj),r_.forEach(a),S0=r(le),oo=s(le,"DIV",{class:!0});var o_=$(oo);d(ui.$$.fragment,o_),N0=r(o_),nu=s(o_,"P",{"data-svelte-h":!0}),i(nu)!=="svelte-8g4gyc"&&(nu.textContent=Nj),o_.forEach(a),le.forEach(a),_b=r(e),E=s(e,"DIV",{class:!0});var N=$(E);d(gi.$$.fragment,N),B0=r(N),ru=s(N,"P",{"data-svelte-h":!0}),i(ru)!=="svelte-z7m8gb"&&(ru.textContent=Bj),W0=r(N),ou=s(N,"P",{"data-svelte-h":!0}),i(ou)!=="svelte-43x0vn"&&(ou.textContent=Wj),G0=r(N),su=s(N,"UL",{"data-svelte-h":!0}),i(su)!=="svelte-6k7xfh"&&(su.innerHTML=Gj),Z0=r(N),au=s(N,"P",{"data-svelte-h":!0}),i(au)!=="svelte-b47pkh"&&(au.innerHTML=Zj),z0=r(N),lu=s(N,"P",{"data-svelte-h":!0}),i(lu)!=="svelte-1dshtva"&&(lu.textContent=zj),q0=r(N),iu=s(N,"P",{"data-svelte-h":!0}),i(iu)!=="svelte-1dppag8"&&(iu.textContent=qj),Y0=r(N),d(so.$$.fragment,N),Q0=r(N),yt=s(N,"DIV",{class:!0});var pf=$(yt);d(fi.$$.fragment,pf),H0=r(pf),cu=s(pf,"P",{"data-svelte-h":!0}),i(cu)!=="svelte-7rhqzd"&&(cu.textContent=Yj),F0=r(pf),pu=s(pf,"P",{"data-svelte-h":!0}),i(pu)!=="svelte-nco588"&&(pu.textContent=Qj),pf.forEach(a),X0=r(N),xt=s(N,"DIV",{class:!0});var df=$(xt);d(hi.$$.fragment,df),O0=r(df),du=s(df,"P",{"data-svelte-h":!0}),i(du)!=="svelte-1qcih5q"&&(du.textContent=Hj),K0=r(df),mu=s(df,"P",{"data-svelte-h":!0}),i(mu)!=="svelte-kbc00m"&&(mu.textContent=Fj),df.forEach(a),ew=r(N),ao=s(N,"DIV",{class:!0});var s_=$(ao);d(bi.$$.fragment,s_),tw=r(s_),vu=s(s_,"P",{"data-svelte-h":!0}),i(vu)!=="svelte-192mrki"&&(vu.textContent=Xj),s_.forEach(a),nw=r(N),lo=s(N,"DIV",{class:!0});var a_=$(lo);d($i.$$.fragment,a_),rw=r(a_),uu=s(a_,"P",{"data-svelte-h":!0}),i(uu)!=="svelte-14oam5c"&&(uu.textContent=Oj),a_.forEach(a),ow=r(N),Ct=s(N,"DIV",{class:!0});var mf=$(Ct);d(_i.$$.fragment,mf),sw=r(mf),gu=s(mf,"P",{"data-svelte-h":!0}),i(gu)!=="svelte-19gkl9t"&&(gu.textContent=Kj),aw=r(mf),fu=s(mf,"P",{"data-svelte-h":!0}),i(fu)!=="svelte-9mrzre"&&(fu.textContent=e9),mf.forEach(a),lw=r(N),io=s(N,"DIV",{class:!0});var l_=$(io);d(yi.$$.fragment,l_),iw=r(l_),hu=s(l_,"P",{"data-svelte-h":!0}),i(hu)!=="svelte-1s2lzof"&&(hu.textContent=t9),l_.forEach(a),N.forEach(a),yb=r(e),X=s(e,"DIV",{class:!0});var me=$(X);d(xi.$$.fragment,me),cw=r(me),bu=s(me,"P",{"data-svelte-h":!0}),i(bu)!=="svelte-k9q0hh"&&(bu.textContent=n9),pw=r(me),d(co.$$.fragment,me),dw=r(me),$u=s(me,"P",{"data-svelte-h":!0}),i($u)!=="svelte-1vwwoeu"&&($u.textContent=r9),mw=r(me),_u=s(me,"P",{"data-svelte-h":!0}),i(_u)!=="svelte-omopbq"&&(_u.textContent=o9),vw=r(me),d(po.$$.fragment,me),uw=r(me),mo=s(me,"DIV",{class:!0});var i_=$(mo);d(Ci.$$.fragment,i_),gw=r(i_),yu=s(i_,"P",{"data-svelte-h":!0}),i(yu)!=="svelte-zuia6n"&&(yu.textContent=s9),i_.forEach(a),fw=r(me),vo=s(me,"DIV",{class:!0});var c_=$(vo);d(wi.$$.fragment,c_),hw=r(c_),xu=s(c_,"P",{"data-svelte-h":!0}),i(xu)!=="svelte-12sv9jy"&&(xu.textContent=a9),c_.forEach(a),me.forEach(a),xb=r(e),ye=s(e,"DIV",{class:!0});var St=$(ye);d(Mi.$$.fragment,St),bw=r(St),Cu=s(St,"P",{"data-svelte-h":!0}),i(Cu)!=="svelte-2lvs3g"&&(Cu.textContent=l9),$w=r(St),wu=s(St,"P",{"data-svelte-h":!0}),i(wu)!=="svelte-1bw20yx"&&(wu.innerHTML=i9),_w=r(St),uo=s(St,"DIV",{class:!0});var p_=$(uo);d(Ti.$$.fragment,p_),yw=r(p_),Mu=s(p_,"P",{"data-svelte-h":!0}),i(Mu)!=="svelte-p303zk"&&(Mu.textContent=c9),p_.forEach(a),xw=r(St),go=s(St,"DIV",{class:!0});var d_=$(go);d(ji.$$.fragment,d_),Cw=r(d_),Tu=s(d_,"P",{"data-svelte-h":!0}),i(Tu)!=="svelte-gqyb09"&&(Tu.textContent=p9),d_.forEach(a),St.forEach(a),Cb=r(e),d(Ji.$$.fragment,e),wb=r(e),Tn=s(e,"DIV",{class:!0});var m_=$(Tn);d(ki.$$.fragment,m_),ww=r(m_),ju=s(m_,"P",{"data-svelte-h":!0}),i(ju)!=="svelte-1wy1zk2"&&(ju.textContent=d9),m_.forEach(a),Mb=r(e),R=s(e,"DIV",{class:!0});var z=$(R);d(Ii.$$.fragment,z),Mw=r(z),Ju=s(z,"P",{"data-svelte-h":!0}),i(Ju)!=="svelte-1rlxf70"&&(Ju.textContent=m9),Tw=r(z),ku=s(z,"P",{"data-svelte-h":!0}),i(ku)!=="svelte-1h5hxx7"&&(ku.textContent=v9),jw=r(z),Iu=s(z,"UL",{"data-svelte-h":!0}),i(Iu)!=="svelte-1tmmktr"&&(Iu.innerHTML=u9),Jw=r(z),d(fo.$$.fragment,z),kw=r(z),wt=s(z,"DIV",{class:!0});var vf=$(wt);d(Ei.$$.fragment,vf),Iw=r(vf),Eu=s(vf,"P",{"data-svelte-h":!0}),i(Eu)!=="svelte-1ybmhxe"&&(Eu.textContent=g9),Ew=r(vf),Uu=s(vf,"P",{"data-svelte-h":!0}),i(Uu)!=="svelte-1x5zbgw"&&(Uu.textContent=f9),vf.forEach(a),Uw=r(z),ho=s(z,"DIV",{class:!0});var v_=$(ho);d(Ui.$$.fragment,v_),Pw=r(v_),Pu=s(v_,"P",{"data-svelte-h":!0}),i(Pu)!=="svelte-1ek8v5s"&&(Pu.textContent=h9),v_.forEach(a),Lw=r(z),bo=s(z,"DIV",{class:!0});var u_=$(bo);d(Pi.$$.fragment,u_),Dw=r(u_),Lu=s(u_,"P",{"data-svelte-h":!0}),i(Lu)!=="svelte-yzwxpp"&&(Lu.textContent=b9),u_.forEach(a),Aw=r(z),$o=s(z,"DIV",{class:!0});var g_=$($o);d(Li.$$.fragment,g_),Vw=r(g_),Du=s(g_,"P",{"data-svelte-h":!0}),i(Du)!=="svelte-1vihlyo"&&(Du.textContent=$9),g_.forEach(a),Rw=r(z),Le=s(z,"DIV",{class:!0});var Yo=$(Le);d(Di.$$.fragment,Yo),Sw=r(Yo),Au=s(Yo,"P",{"data-svelte-h":!0}),i(Au)!=="svelte-v2wi4e"&&(Au.textContent=_9),Nw=r(Yo),Vu=s(Yo,"P",{"data-svelte-h":!0}),i(Vu)!=="svelte-1wfl4gg"&&(Vu.textContent=y9),Bw=r(Yo),Ru=s(Yo,"OL",{"data-svelte-h":!0}),i(Ru)!=="svelte-e9plr2"&&(Ru.innerHTML=x9),Yo.forEach(a),Ww=r(z),_o=s(z,"DIV",{class:!0});var f_=$(_o);d(Ai.$$.fragment,f_),Gw=r(f_),Su=s(f_,"P",{"data-svelte-h":!0}),i(Su)!=="svelte-15wvur0"&&(Su.textContent=C9),f_.forEach(a),Zw=r(z),yo=s(z,"DIV",{class:!0});var h_=$(yo);d(Vi.$$.fragment,h_),zw=r(h_),Nu=s(h_,"P",{"data-svelte-h":!0}),i(Nu)!=="svelte-1r1f44"&&(Nu.textContent=w9),h_.forEach(a),z.forEach(a),Tb=r(e),d(Ri.$$.fragment,e),jb=r(e),G=s(e,"DIV",{class:!0});var te=$(G);d(Si.$$.fragment,te),qw=r(te),Bu=s(te,"P",{"data-svelte-h":!0}),i(Bu)!=="svelte-y25ljn"&&(Bu.textContent=M9),Yw=r(te),Wu=s(te,"P",{"data-svelte-h":!0}),i(Wu)!=="svelte-1qtpb6k"&&(Wu.textContent=T9),Qw=r(te),Gu=s(te,"UL",{"data-svelte-h":!0}),i(Gu)!=="svelte-kw0x72"&&(Gu.innerHTML=j9),Hw=r(te),Zu=s(te,"P",{"data-svelte-h":!0}),i(Zu)!=="svelte-1lsrs6r"&&(Zu.textContent=J9),Fw=r(te),d(xo.$$.fragment,te),Xw=r(te),Mt=s(te,"DIV",{class:!0});var uf=$(Mt);d(Ni.$$.fragment,uf),Ow=r(uf),zu=s(uf,"P",{"data-svelte-h":!0}),i(zu)!=="svelte-1tq4nfv"&&(zu.textContent=k9),Kw=r(uf),qu=s(uf,"P",{"data-svelte-h":!0}),i(qu)!=="svelte-mk2s61"&&(qu.textContent=I9),uf.forEach(a),eM=r(te),Co=s(te,"DIV",{class:!0});var b_=$(Co);d(Bi.$$.fragment,b_),tM=r(b_),Yu=s(b_,"P",{"data-svelte-h":!0}),i(Yu)!=="svelte-10vv96m"&&(Yu.textContent=E9),b_.forEach(a),nM=r(te),Tt=s(te,"DIV",{class:!0});var gf=$(Tt);d(Wi.$$.fragment,gf),rM=r(gf),Qu=s(gf,"P",{"data-svelte-h":!0}),i(Qu)!=="svelte-iyq50e"&&(Qu.textContent=U9),oM=r(gf),Hu=s(gf,"P",{"data-svelte-h":!0}),i(Hu)!=="svelte-1y9mrp8"&&(Hu.textContent=P9),gf.forEach(a),sM=r(te),jt=s(te,"DIV",{class:!0});var ff=$(jt);d(Gi.$$.fragment,ff),aM=r(ff),Fu=s(ff,"P",{"data-svelte-h":!0}),i(Fu)!=="svelte-1runum0"&&(Fu.textContent=L9),lM=r(ff),Xu=s(ff,"P",{"data-svelte-h":!0}),i(Xu)!=="svelte-1f9i20k"&&(Xu.textContent=D9),ff.forEach(a),te.forEach(a),Jb=r(e),se=s(e,"DIV",{class:!0});var Te=$(se);d(Zi.$$.fragment,Te),iM=r(Te),Ou=s(Te,"P",{"data-svelte-h":!0}),i(Ou)!=="svelte-w2r112"&&(Ou.textContent=A9),cM=r(Te),Ku=s(Te,"P",{"data-svelte-h":!0}),i(Ku)!=="svelte-fapp6o"&&(Ku.textContent=V9),pM=r(Te),d(wo.$$.fragment,Te),dM=r(Te),Mo=s(Te,"DIV",{class:!0});var $_=$(Mo);d(zi.$$.fragment,$_),mM=r($_),eg=s($_,"P",{"data-svelte-h":!0}),i(eg)!=="svelte-1bad29k"&&(eg.textContent=R9),$_.forEach(a),vM=r(Te),To=s(Te,"DIV",{class:!0});var __=$(To);d(qi.$$.fragment,__),uM=r(__),tg=s(__,"P",{"data-svelte-h":!0}),i(tg)!=="svelte-1xz7627"&&(tg.textContent=S9),__.forEach(a),gM=r(Te),jo=s(Te,"DIV",{class:!0});var y_=$(jo);d(Yi.$$.fragment,y_),fM=r(y_),ng=s(y_,"P",{"data-svelte-h":!0}),i(ng)!=="svelte-1ym68tk"&&(ng.textContent=N9),y_.forEach(a),Te.forEach(a),kb=r(e),ie=s(e,"DIV",{class:!0});var Ve=$(ie);d(Qi.$$.fragment,Ve),hM=r(Ve),rg=s(Ve,"P",{"data-svelte-h":!0}),i(rg)!=="svelte-oz343q"&&(rg.textContent=B9),bM=r(Ve),og=s(Ve,"P",{"data-svelte-h":!0}),i(og)!=="svelte-iqnmgq"&&(og.textContent=W9),$M=r(Ve),Jo=s(Ve,"DIV",{class:!0});var x_=$(Jo);d(Hi.$$.fragment,x_),_M=r(x_),sg=s(x_,"P",{"data-svelte-h":!0}),i(sg)!=="svelte-3mccko"&&(sg.textContent=G9),x_.forEach(a),yM=r(Ve),ko=s(Ve,"DIV",{class:!0});var C_=$(ko);d(Fi.$$.fragment,C_),xM=r(C_),ag=s(C_,"P",{"data-svelte-h":!0}),i(ag)!=="svelte-1cn66qy"&&(ag.textContent=Z9),C_.forEach(a),CM=r(Ve),Jt=s(Ve,"DIV",{class:!0});var hf=$(Jt);d(Xi.$$.fragment,hf),wM=r(hf),lg=s(hf,"P",{"data-svelte-h":!0}),i(lg)!=="svelte-3zdsik"&&(lg.textContent=z9),MM=r(hf),ig=s(hf,"P",{"data-svelte-h":!0}),i(ig)!=="svelte-7n9j6a"&&(ig.textContent=q9),hf.forEach(a),Ve.forEach(a),Ib=r(e),Ee=s(e,"DIV",{class:!0});var Qo=$(Ee);d(Oi.$$.fragment,Qo),TM=r(Qo),cg=s(Qo,"P",{"data-svelte-h":!0}),i(cg)!=="svelte-bgilbi"&&(cg.textContent=Y9),jM=r(Qo),pg=s(Qo,"P",{"data-svelte-h":!0}),i(pg)!=="svelte-1q3tdww"&&(pg.textContent=Q9),JM=r(Qo),d(Io.$$.fragment,Qo),Qo.forEach(a),Eb=r(e),O=s(e,"DIV",{class:!0});var ve=$(O);d(Ki.$$.fragment,ve),kM=r(ve),dg=s(ve,"P",{"data-svelte-h":!0}),i(dg)!=="svelte-j4gucs"&&(dg.textContent=H9),IM=r(ve),mg=s(ve,"UL",{"data-svelte-h":!0}),i(mg)!=="svelte-85vc0m"&&(mg.innerHTML=F9),EM=r(ve),vg=s(ve,"P",{"data-svelte-h":!0}),i(vg)!=="svelte-1igq7v4"&&(vg.textContent=X9),UM=r(ve),d(Eo.$$.fragment,ve),PM=r(ve),Uo=s(ve,"DIV",{class:!0});var w_=$(Uo);d(ec.$$.fragment,w_),LM=r(w_),ug=s(w_,"P",{"data-svelte-h":!0}),i(ug)!=="svelte-lv0nn5"&&(ug.textContent=O9),w_.forEach(a),DM=r(ve),Po=s(ve,"DIV",{class:!0});var M_=$(Po);d(tc.$$.fragment,M_),AM=r(M_),gg=s(M_,"P",{"data-svelte-h":!0}),i(gg)!=="svelte-uhe2mn"&&(gg.textContent=K9),M_.forEach(a),VM=r(ve),Lo=s(ve,"DIV",{class:!0});var T_=$(Lo);d(nc.$$.fragment,T_),RM=r(T_),fg=s(T_,"P",{"data-svelte-h":!0}),i(fg)!=="svelte-1ym2vnt"&&(fg.textContent=e5),T_.forEach(a),ve.forEach(a),Ub=r(e),ce=s(e,"DIV",{class:!0});var Re=$(ce);d(rc.$$.fragment,Re),SM=r(Re),hg=s(Re,"P",{"data-svelte-h":!0}),i(hg)!=="svelte-10dqpzt"&&(hg.innerHTML=t5),NM=r(Re),d(Do.$$.fragment,Re),BM=r(Re),Ao=s(Re,"DIV",{class:!0});var j_=$(Ao);d(oc.$$.fragment,j_),WM=r(j_),bg=s(j_,"P",{"data-svelte-h":!0}),i(bg)!=="svelte-37q3qb"&&(bg.innerHTML=n5),j_.forEach(a),GM=r(Re),Vo=s(Re,"DIV",{class:!0});var J_=$(Vo);d(sc.$$.fragment,J_),ZM=r(J_),$g=s(J_,"P",{"data-svelte-h":!0}),i($g)!=="svelte-qs1n4w"&&($g.textContent=r5),J_.forEach(a),zM=r(Re),Ro=s(Re,"DIV",{class:!0});var k_=$(Ro);d(ac.$$.fragment,k_),qM=r(k_),_g=s(k_,"P",{"data-svelte-h":!0}),i(_g)!=="svelte-9u4195"&&(_g.textContent=o5),k_.forEach(a),Re.forEach(a),Pb=r(e),P=s(e,"DIV",{class:!0});var B=$(P);d(lc.$$.fragment,B),YM=r(B),yg=s(B,"P",{"data-svelte-h":!0}),i(yg)!=="svelte-17re8k"&&(yg.textContent=s5),QM=r(B),xg=s(B,"P",{"data-svelte-h":!0}),i(xg)!=="svelte-1h5evvm"&&(xg.innerHTML=a5),HM=r(B),Cg=s(B,"P",{"data-svelte-h":!0}),i(Cg)!=="svelte-h966as"&&(Cg.innerHTML=l5),FM=r(B),wg=s(B,"P",{"data-svelte-h":!0}),i(wg)!=="svelte-1oeavod"&&(wg.innerHTML=i5),XM=r(B),Mg=s(B,"P",{"data-svelte-h":!0}),i(Mg)!=="svelte-1pglqus"&&(Mg.innerHTML=c5),OM=r(B),Tg=s(B,"P",{"data-svelte-h":!0}),i(Tg)!=="svelte-jtdv8y"&&(Tg.innerHTML=p5),KM=r(B),d(So.$$.fragment,B),e4=r(B),kt=s(B,"DIV",{class:!0});var bf=$(kt);d(ic.$$.fragment,bf),t4=r(bf),jg=s(bf,"P",{"data-svelte-h":!0}),i(jg)!=="svelte-y68kta"&&(jg.textContent=d5),n4=r(bf),Jg=s(bf,"P",{"data-svelte-h":!0}),i(Jg)!=="svelte-1tun2fb"&&(Jg.innerHTML=m5),bf.forEach(a),r4=r(B),De=s(B,"DIV",{class:!0});var Ho=$(De);d(cc.$$.fragment,Ho),o4=r(Ho),kg=s(Ho,"P",{"data-svelte-h":!0}),i(kg)!=="svelte-yyeo0a"&&(kg.innerHTML=v5),s4=r(Ho),Ig=s(Ho,"P",{"data-svelte-h":!0}),i(Ig)!=="svelte-13ue1oz"&&(Ig.innerHTML=u5),a4=r(Ho),d(No.$$.fragment,Ho),Ho.forEach(a),l4=r(B),It=s(B,"DIV",{class:!0});var $f=$(It);d(pc.$$.fragment,$f),i4=r($f),Eg=s($f,"P",{"data-svelte-h":!0}),i(Eg)!=="svelte-2a27ra"&&(Eg.textContent=g5),c4=r($f),Ug=s($f,"P",{"data-svelte-h":!0}),i(Ug)!=="svelte-bapgxr"&&(Ug.innerHTML=f5),$f.forEach(a),p4=r(B),Bo=s(B,"DIV",{class:!0});var I_=$(Bo);d(dc.$$.fragment,I_),d4=r(I_),Pg=s(I_,"P",{"data-svelte-h":!0}),i(Pg)!=="svelte-1g549ok"&&(Pg.textContent=h5),I_.forEach(a),m4=r(B),Et=s(B,"DIV",{class:!0});var _f=$(Et);d(mc.$$.fragment,_f),v4=r(_f),Lg=s(_f,"P",{"data-svelte-h":!0}),i(Lg)!=="svelte-8eheq"&&(Lg.innerHTML=b5),u4=r(_f),Dg=s(_f,"P",{"data-svelte-h":!0}),i(Dg)!=="svelte-1nm4bpx"&&(Dg.innerHTML=$5),_f.forEach(a),B.forEach(a),Lb=r(e),d(vc.$$.fragment,e),Db=r(e),yf=s(e,"P",{}),$(yf).forEach(a),this.h()},h(){_(h,"name","hf:doc:metadata"),_(h,"content",sJ),_(Se,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(An,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Vn,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(ue,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Ne,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(at,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(lt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Rn,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(it,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Sn,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(ct,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(q,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Nt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Bt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Wt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Be,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(We,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Gt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Zt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(zt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(qt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Yt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Ge,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Qt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Ht,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Ft,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Xt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Ot,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Kt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(en,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(tn,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(nn,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(rn,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(on,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(sn,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Nn,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Ze,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(an,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(ln,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(ze,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(qe,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(cn,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(pn,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(dn,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Wn,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Gn,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Zn,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Y,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Ye,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(mn,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(vn,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(un,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(zn,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(qn,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Yn,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Qn,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Hn,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(ne,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(gn,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(je,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Je,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(fn,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(hn,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(bn,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_($n,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(_n,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(pt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(On,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Kn,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(er,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(dt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(nr,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(rr,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(or,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(xe,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(j,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(lr,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(ir,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(cr,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(pr,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(dr,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(mr,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(V,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(re,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(ge,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(yn,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(gr,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Qe,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(fr,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(mt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(fe,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(hr,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(ke,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(He,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(xn,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Cn,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(vt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(ut,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(gt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(pe,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(ft,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(ht,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_($r,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(I,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Fe,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(wn,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(_r,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Ie,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Xe,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(yr,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(xr,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Cr,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(wr,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(F,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Oe,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Mn,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Ke,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(et,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(tt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(nt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(rt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(ot,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(st,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(bt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_($t,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(he,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Pe,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(_t,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Ir,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(W,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Ur,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Pr,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Lr,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Dr,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Ar,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Vr,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Rr,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Sr,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Nr,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Br,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Wr,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(J,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Zr,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(be,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(qr,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_($e,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Qr,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(_e,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Fr,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Xr,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Or,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(oe,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(eo,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(to,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(no,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(ro,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(oo,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Q,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(yt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(xt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(ao,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(lo,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Ct,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(io,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(E,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(mo,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(vo,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(X,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(uo,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(go,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(ye,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Tn,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(wt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(ho,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(bo,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_($o,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Le,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(_o,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(yo,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(R,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Mt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Co,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Tt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(jt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(G,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Mo,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(To,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(jo,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(se,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Jo,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(ko,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Jt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(ie,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Ee,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Uo,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Po,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Lo,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(O,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Ao,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Vo,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Ro,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(ce,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(kt,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(De,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(It,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Bo,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(Et,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),_(P,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8")},m(e,c){t(document.head,h),f(e,M,c),f(e,x,c),f(e,b,c),m(C,e,c),f(e,l,c),m(w,e,c),f(e,xf,c),f(e,Fo,c),f(e,Cf,c),f(e,Xo,c),f(e,wf,c),f(e,Oo,c),f(e,Mf,c),m(Ko,e,c),f(e,Tf,c),m(es,e,c),f(e,jf,c),f(e,Se,c),m(ts,Se,null),t(Se,E_),t(Se,Lc),t(Se,U_),t(Se,Dc),f(e,Jf,c),f(e,ue,c),m(ns,ue,null),t(ue,P_),t(ue,Ac),t(ue,L_),t(ue,Vc),t(ue,D_),t(ue,An),m(rs,An,null),t(An,A_),t(An,Rc),t(ue,V_),t(ue,Vn),m(os,Vn,null),t(Vn,R_),t(Vn,Sc),f(e,kf,c),f(e,Ne,c),m(ss,Ne,null),t(Ne,S_),t(Ne,Nc),t(Ne,N_),t(Ne,Bc),f(e,If,c),f(e,q,c),m(as,q,null),t(q,B_),t(q,Wc),t(q,W_),t(q,Gc),t(q,G_),t(q,at),m(ls,at,null),t(at,Z_),t(at,Zc),t(at,z_),t(at,zc),t(q,q_),t(q,lt),m(is,lt,null),t(lt,Y_),t(lt,qc),t(lt,Q_),t(lt,Yc),t(q,H_),t(q,Rn),m(cs,Rn,null),t(Rn,F_),t(Rn,Qc),t(q,X_),t(q,it),m(ps,it,null),t(it,O_),t(it,Hc),t(it,K_),t(it,Fc),t(q,ey),t(q,Sn),m(ds,Sn,null),t(Sn,ty),t(Sn,Xc),t(q,ny),t(q,ct),m(ms,ct,null),t(ct,ry),t(ct,Oc),t(ct,oy),t(ct,Kc),f(e,Ef,c),m(vs,e,c),f(e,Uf,c),f(e,Nt,c),m(us,Nt,null),t(Nt,sy),t(Nt,ep),f(e,Pf,c),f(e,Bt,c),m(gs,Bt,null),t(Bt,ay),t(Bt,tp),f(e,Lf,c),f(e,Wt,c),m(fs,Wt,null),t(Wt,ly),t(Wt,np),f(e,Df,c),f(e,Be,c),m(hs,Be,null),t(Be,iy),t(Be,rp),t(Be,cy),t(Be,op),f(e,Af,c),f(e,We,c),m(bs,We,null),t(We,py),t(We,sp),t(We,dy),t(We,ap),f(e,Vf,c),f(e,Gt,c),m($s,Gt,null),t(Gt,my),t(Gt,lp),f(e,Rf,c),f(e,Zt,c),m(_s,Zt,null),t(Zt,vy),t(Zt,ip),f(e,Sf,c),f(e,zt,c),m(ys,zt,null),t(zt,uy),t(zt,cp),f(e,Nf,c),f(e,qt,c),m(xs,qt,null),t(qt,gy),t(qt,pp),f(e,Bf,c),f(e,Yt,c),m(Cs,Yt,null),t(Yt,fy),t(Yt,dp),f(e,Wf,c),f(e,Ge,c),m(ws,Ge,null),t(Ge,hy),t(Ge,mp),t(Ge,by),t(Ge,vp),f(e,Gf,c),f(e,Qt,c),m(Ms,Qt,null),t(Qt,$y),t(Qt,up),f(e,Zf,c),f(e,Ht,c),m(Ts,Ht,null),t(Ht,_y),t(Ht,gp),f(e,zf,c),f(e,Ft,c),m(js,Ft,null),t(Ft,yy),t(Ft,fp),f(e,qf,c),f(e,Xt,c),m(Js,Xt,null),t(Xt,xy),t(Xt,hp),f(e,Yf,c),f(e,Ot,c),m(ks,Ot,null),t(Ot,Cy),t(Ot,bp),f(e,Qf,c),f(e,Kt,c),m(Is,Kt,null),t(Kt,wy),t(Kt,$p),f(e,Hf,c),f(e,en,c),m(Es,en,null),t(en,My),t(en,_p),f(e,Ff,c),f(e,tn,c),m(Us,tn,null),t(tn,Ty),t(tn,yp),f(e,Xf,c),f(e,nn,c),m(Ps,nn,null),t(nn,jy),t(nn,xp),f(e,Of,c),f(e,rn,c),m(Ls,rn,null),t(rn,Jy),t(rn,Cp),f(e,Kf,c),f(e,on,c),m(Ds,on,null),t(on,ky),t(on,wp),f(e,eh,c),f(e,sn,c),m(As,sn,null),t(sn,Iy),t(sn,Mp),f(e,th,c),f(e,Ze,c),m(Vs,Ze,null),t(Ze,Ey),t(Ze,Tp),t(Ze,Uy),t(Ze,Nn),m(Rs,Nn,null),t(Nn,Py),t(Nn,jp),f(e,nh,c),f(e,an,c),m(Ss,an,null),t(an,Ly),t(an,Jp),f(e,rh,c),m(Ns,e,c),f(e,oh,c),f(e,ln,c),m(Bs,ln,null),t(ln,Dy),t(ln,kp),f(e,sh,c),f(e,ze,c),m(Ws,ze,null),t(ze,Ay),t(ze,Ip),t(ze,Vy),t(ze,Ep),f(e,ah,c),f(e,qe,c),m(Gs,qe,null),t(qe,Ry),t(qe,Up),t(qe,Sy),t(qe,Pp),f(e,lh,c),f(e,cn,c),m(Zs,cn,null),t(cn,Ny),t(cn,Lp),f(e,ih,c),f(e,pn,c),m(zs,pn,null),t(pn,By),t(pn,Dp),f(e,ch,c),f(e,dn,c),m(qs,dn,null),t(dn,Wy),t(dn,Ap),f(e,ph,c),m(Ys,e,c),f(e,dh,c),f(e,Y,c),m(Qs,Y,null),t(Y,Gy),t(Y,Vp),t(Y,Zy),t(Y,Rp),t(Y,zy),t(Y,Sp),t(Y,qy),t(Y,Np),t(Y,Yy),m(Bn,Y,null),t(Y,Qy),t(Y,Wn),m(Hs,Wn,null),t(Wn,Hy),t(Wn,Bp),t(Y,Fy),t(Y,Gn),m(Fs,Gn,null),t(Gn,Xy),t(Gn,Wp),t(Y,Oy),t(Y,Zn),m(Xs,Zn,null),t(Zn,Ky),t(Zn,Gp),f(e,mh,c),f(e,Ye,c),m(Os,Ye,null),t(Ye,ex),t(Ye,Zp),t(Ye,tx),t(Ye,zp),f(e,vh,c),f(e,mn,c),m(Ks,mn,null),t(mn,nx),t(mn,qp),f(e,uh,c),m(ea,e,c),f(e,gh,c),f(e,vn,c),m(ta,vn,null),t(vn,rx),t(vn,Yp),f(e,fh,c),f(e,un,c),m(na,un,null),t(un,ox),t(un,Qp),f(e,hh,c),f(e,ne,c),m(ra,ne,null),t(ne,sx),t(ne,Hp),t(ne,ax),t(ne,zn),m(oa,zn,null),t(zn,lx),t(zn,Fp),t(ne,ix),t(ne,qn),m(sa,qn,null),t(qn,cx),t(qn,Xp),t(ne,px),t(ne,Yn),m(aa,Yn,null),t(Yn,dx),t(Yn,Op),t(ne,mx),t(ne,Qn),m(la,Qn,null),t(Qn,vx),t(Qn,Kp),t(ne,ux),t(ne,Hn),m(ia,Hn,null),t(Hn,gx),t(Hn,ed),f(e,bh,c),f(e,gn,c),m(ca,gn,null),t(gn,fx),t(gn,td),f(e,$h,c),m(pa,e,c),f(e,_h,c),f(e,je,c),m(da,je,null),t(je,hx),t(je,nd),t(je,bx),t(je,rd),t(je,$x),t(je,od),f(e,yh,c),f(e,Je,c),m(ma,Je,null),t(Je,_x),t(Je,sd),t(Je,yx),t(Je,ad),t(Je,xx),t(Je,ld),f(e,xh,c),f(e,fn,c),m(va,fn,null),t(fn,Cx),t(fn,id),f(e,Ch,c),m(ua,e,c),f(e,wh,c),f(e,hn,c),m(ga,hn,null),t(hn,wx),t(hn,cd),f(e,Mh,c),f(e,bn,c),m(fa,bn,null),t(bn,Mx),t(bn,pd),f(e,Th,c),m(ha,e,c),f(e,jh,c),f(e,$n,c),m(ba,$n,null),t($n,Tx),t($n,dd),f(e,Jh,c),f(e,_n,c),m($a,_n,null),t(_n,jx),t(_n,md),f(e,kh,c),m(_a,e,c),f(e,Ih,c),m(ya,e,c),f(e,Eh,c),f(e,j,c),m(xa,j,null),t(j,Jx),t(j,vd),t(j,kx),t(j,ud),t(j,Ix),t(j,gd),t(j,Ex),t(j,fd),t(j,Ux),t(j,hd),t(j,Px),t(j,bd),t(j,Lx),m(Fn,j,null),t(j,Dx),m(Xn,j,null),t(j,Ax),t(j,pt),m(Ca,pt,null),t(pt,Vx),t(pt,$d),t(pt,Rx),t(pt,_d),t(j,Sx),t(j,On),m(wa,On,null),t(On,Nx),t(On,yd),t(j,Bx),t(j,Kn),m(Ma,Kn,null),t(Kn,Wx),t(Kn,xd),t(j,Gx),t(j,er),m(Ta,er,null),t(er,Zx),t(er,Cd),t(j,zx),t(j,dt),m(ja,dt,null),t(dt,qx),t(dt,wd),t(dt,Yx),m(tr,dt,null),t(j,Qx),t(j,nr),m(Ja,nr,null),t(nr,Hx),t(nr,Md),t(j,Fx),t(j,rr),m(ka,rr,null),t(rr,Xx),t(rr,Td),t(j,Ox),t(j,or),m(Ia,or,null),t(or,Kx),t(or,jd),t(j,e1),t(j,xe),m(Ea,xe,null),t(xe,t1),t(xe,Jd),t(xe,n1),t(xe,kd),t(xe,r1),t(xe,Id),t(xe,o1),m(sr,xe,null),f(e,Uh,c),m(Ua,e,c),f(e,Ph,c),f(e,V,c),m(Pa,V,null),t(V,s1),t(V,Ed),t(V,a1),t(V,Ud),t(V,l1),t(V,Pd),t(V,i1),t(V,Ld),t(V,c1),m(ar,V,null),t(V,p1),t(V,lr),m(La,lr,null),t(lr,d1),t(lr,Dd),t(V,m1),t(V,ir),m(Da,ir,null),t(ir,v1),t(ir,Ad),t(V,u1),t(V,cr),m(Aa,cr,null),t(cr,g1),t(cr,Vd),t(V,f1),t(V,pr),m(Va,pr,null),t(pr,h1),t(pr,Rd),t(V,b1),t(V,dr),m(Ra,dr,null),t(dr,$1),t(dr,Sd),t(V,_1),t(V,mr),m(Sa,mr,null),t(mr,y1),t(mr,Nd),f(e,Lh,c),m(Na,e,c),f(e,Dh,c),f(e,re,c),m(Ba,re,null),t(re,x1),t(re,Bd),t(re,C1),t(re,Wd),t(re,w1),t(re,Gd),t(re,M1),t(re,Zd),t(re,T1),m(vr,re,null),t(re,j1),t(re,zd),f(e,Ah,c),f(e,ge,c),m(Wa,ge,null),t(ge,J1),t(ge,qd),t(ge,k1),t(ge,Yd),t(ge,I1),m(ur,ge,null),t(ge,E1),t(ge,Qd),f(e,Vh,c),m(Ga,e,c),f(e,Rh,c),f(e,yn,c),m(Za,yn,null),t(yn,U1),t(yn,Hd),f(e,Sh,c),f(e,Qe,c),m(za,Qe,null),t(Qe,P1),t(Qe,Fd),t(Qe,L1),t(Qe,gr),m(qa,gr,null),t(gr,D1),t(gr,Xd),f(e,Nh,c),f(e,fe,c),m(Ya,fe,null),t(fe,A1),t(fe,Od),t(fe,V1),t(fe,Kd),t(fe,R1),t(fe,fr),m(Qa,fr,null),t(fr,S1),t(fr,em),t(fe,N1),t(fe,mt),m(Ha,mt,null),t(mt,B1),t(mt,tm),t(mt,W1),t(mt,nm),f(e,Bh,c),f(e,ke,c),m(Fa,ke,null),t(ke,G1),t(ke,rm),t(ke,Z1),t(ke,om),t(ke,z1),t(ke,hr),m(Xa,hr,null),t(hr,q1),t(hr,sm),f(e,Wh,c),f(e,He,c),m(Oa,He,null),t(He,Y1),t(He,am),t(He,Q1),t(He,lm),f(e,Gh,c),f(e,xn,c),m(Ka,xn,null),t(xn,H1),t(xn,im),f(e,Zh,c),m(el,e,c),f(e,zh,c),f(e,Cn,c),m(tl,Cn,null),t(Cn,F1),t(Cn,cm),f(e,qh,c),m(nl,e,c),f(e,Yh,c),m(rl,e,c),f(e,Qh,c),f(e,I,c),m(ol,I,null),t(I,X1),t(I,pm),t(I,O1),t(I,dm),t(I,K1),t(I,mm),t(I,e2),t(I,vm),t(I,t2),t(I,um),t(I,n2),m(br,I,null),t(I,r2),t(I,vt),m(sl,vt,null),t(vt,o2),t(vt,gm),t(vt,s2),t(vt,fm),t(I,a2),t(I,ut),m(al,ut,null),t(ut,l2),t(ut,hm),t(ut,i2),t(ut,bm),t(I,c2),t(I,gt),m(ll,gt,null),t(gt,p2),t(gt,$m),t(gt,d2),t(gt,_m),t(I,m2),t(I,pe),m(il,pe,null),t(pe,v2),t(pe,ym),t(pe,u2),t(pe,xm),t(pe,g2),t(pe,Cm),t(pe,f2),t(pe,wm),t(pe,h2),t(pe,Mm),t(I,b2),t(I,ft),m(cl,ft,null),t(ft,$2),t(ft,Tm),t(ft,_2),t(ft,jm),t(I,y2),t(I,ht),m(pl,ht,null),t(ht,x2),t(ht,Jm),t(ht,C2),t(ht,km),t(I,w2),t(I,$r),m(dl,$r,null),t($r,M2),t($r,Im),f(e,Hh,c),m(ml,e,c),f(e,Fh,c),f(e,Fe,c),m(vl,Fe,null),t(Fe,T2),t(Fe,Em),t(Fe,j2),t(Fe,Um),f(e,Xh,c),f(e,wn,c),m(ul,wn,null),t(wn,J2),t(wn,Pm),f(e,Oh,c),f(e,Ie,c),m(gl,Ie,null),t(Ie,k2),t(Ie,Lm),t(Ie,I2),t(Ie,Dm),t(Ie,E2),t(Ie,_r),m(fl,_r,null),t(_r,U2),t(_r,Am),f(e,Kh,c),f(e,Xe,c),m(hl,Xe,null),t(Xe,P2),t(Xe,Vm),t(Xe,L2),t(Xe,Rm),f(e,eb,c),f(e,F,c),m(bl,F,null),t(F,D2),t(F,Sm),t(F,A2),t(F,Nm),t(F,V2),t(F,Bm),t(F,R2),t(F,yr),m($l,yr,null),t(yr,S2),t(yr,Wm),t(F,N2),t(F,xr),m(_l,xr,null),t(xr,B2),t(xr,Gm),t(F,W2),t(F,Cr),m(yl,Cr,null),t(Cr,G2),t(Cr,Zm),t(F,Z2),t(F,wr),m(xl,wr,null),t(wr,z2),t(wr,zm),f(e,tb,c),f(e,Oe,c),m(Cl,Oe,null),t(Oe,q2),t(Oe,qm),t(Oe,Y2),t(Oe,Ym),f(e,nb,c),f(e,Mn,c),m(wl,Mn,null),t(Mn,Q2),t(Mn,Qm),f(e,rb,c),f(e,Ke,c),m(Ml,Ke,null),t(Ke,H2),t(Ke,Hm),t(Ke,F2),t(Ke,Fm),f(e,ob,c),f(e,et,c),m(Tl,et,null),t(et,X2),t(et,Xm),t(et,O2),t(et,Om),f(e,sb,c),f(e,tt,c),m(jl,tt,null),t(tt,K2),t(tt,Km),t(tt,eC),t(tt,ev),f(e,ab,c),f(e,nt,c),m(Jl,nt,null),t(nt,tC),t(nt,tv),t(nt,nC),t(nt,nv),f(e,lb,c),f(e,rt,c),m(kl,rt,null),t(rt,rC),t(rt,rv),t(rt,oC),t(rt,ov),f(e,ib,c),f(e,ot,c),m(Il,ot,null),t(ot,sC),t(ot,sv),t(ot,aC),t(ot,av),f(e,cb,c),f(e,st,c),m(El,st,null),t(st,lC),t(st,lv),t(st,iC),t(st,iv),f(e,pb,c),m(Ul,e,c),f(e,db,c),f(e,he,c),m(Pl,he,null),t(he,cC),t(he,cv),t(he,pC),t(he,pv),t(he,dC),t(he,bt),m(Ll,bt,null),t(bt,mC),t(bt,dv),t(bt,vC),t(bt,mv),t(he,uC),t(he,$t),m(Dl,$t,null),t($t,gC),t($t,vv),t($t,fC),m(Mr,$t,null),f(e,mb,c),f(e,W,c),m(Al,W,null),t(W,hC),t(W,uv),t(W,bC),t(W,gv),t(W,$C),t(W,fv),t(W,_C),t(W,hv),t(W,yC),m(Tr,W,null),t(W,xC),m(jr,W,null),t(W,CC),t(W,Pe),m(Vl,Pe,null),t(Pe,wC),t(Pe,bv),t(Pe,MC),t(Pe,$v),t(Pe,TC),m(Jr,Pe,null),t(W,jC),t(W,_t),m(Rl,_t,null),t(_t,JC),t(_t,_v),t(_t,kC),m(kr,_t,null),t(W,IC),t(W,Ir),m(Sl,Ir,null),t(Ir,EC),t(Ir,yv),f(e,vb,c),m(Nl,e,c),f(e,ub,c),f(e,J,c),m(Bl,J,null),t(J,UC),t(J,xv),t(J,PC),t(J,Cv),t(J,LC),m(Er,J,null),t(J,DC),t(J,wv),t(J,AC),t(J,Ur),m(Wl,Ur,null),t(Ur,VC),t(Ur,Mv),t(J,RC),t(J,Pr),m(Gl,Pr,null),t(Pr,SC),t(Pr,Tv),t(J,NC),t(J,Lr),m(Zl,Lr,null),t(Lr,BC),t(Lr,jv),t(J,WC),t(J,Dr),m(zl,Dr,null),t(Dr,GC),t(Dr,Jv),t(J,ZC),t(J,Ar),m(ql,Ar,null),t(Ar,zC),t(Ar,kv),t(J,qC),t(J,Vr),m(Yl,Vr,null),t(Vr,YC),t(Vr,Iv),t(J,QC),t(J,Rr),m(Ql,Rr,null),t(Rr,HC),t(Rr,Ev),t(J,FC),t(J,Sr),m(Hl,Sr,null),t(Sr,XC),t(Sr,Uv),t(J,OC),t(J,Nr),m(Fl,Nr,null),t(Nr,KC),t(Nr,Pv),t(J,e0),t(J,Br),m(Xl,Br,null),t(Br,t0),t(Br,Lv),t(J,n0),t(J,Wr),m(Ol,Wr,null),t(Wr,r0),t(Wr,Dv),f(e,gb,c),f(e,be,c),m(Kl,be,null),t(be,o0),t(be,Av),t(be,s0),t(be,Vv),t(be,a0),m(Gr,be,null),t(be,l0),t(be,Zr),m(ei,Zr,null),t(Zr,i0),t(Zr,Rv),f(e,fb,c),f(e,$e,c),m(ti,$e,null),t($e,c0),t($e,Sv),t($e,p0),t($e,Nv),t($e,d0),m(zr,$e,null),t($e,m0),t($e,qr),m(ni,qr,null),t(qr,v0),t(qr,Bv),f(e,hb,c),f(e,_e,c),m(ri,_e,null),t(_e,u0),t(_e,Wv),t(_e,g0),t(_e,Gv),t(_e,f0),m(Yr,_e,null),t(_e,h0),t(_e,Qr),m(oi,Qr,null),t(Qr,b0),t(Qr,Zv),f(e,bb,c),f(e,oe,c),m(si,oe,null),t(oe,$0),t(oe,zv),t(oe,_0),t(oe,qv),t(oe,y0),m(Hr,oe,null),t(oe,x0),t(oe,Fr),m(ai,Fr,null),t(Fr,C0),t(Fr,Yv),t(oe,w0),t(oe,Xr),m(li,Xr,null),t(Xr,M0),t(Xr,Qv),t(oe,T0),t(oe,Or),m(ii,Or,null),t(Or,j0),t(Or,Hv),f(e,$b,c),f(e,Q,c),m(ci,Q,null),t(Q,J0),t(Q,Fv),t(Q,k0),t(Q,Xv),t(Q,I0),m(Kr,Q,null),t(Q,E0),t(Q,eo),m(pi,eo,null),t(eo,U0),t(eo,Ov),t(Q,P0),t(Q,to),m(di,to,null),t(to,L0),t(to,Kv),t(Q,D0),t(Q,no),m(mi,no,null),t(no,A0),t(no,eu),t(Q,V0),t(Q,ro),m(vi,ro,null),t(ro,R0),t(ro,tu),t(Q,S0),t(Q,oo),m(ui,oo,null),t(oo,N0),t(oo,nu),f(e,_b,c),f(e,E,c),m(gi,E,null),t(E,B0),t(E,ru),t(E,W0),t(E,ou),t(E,G0),t(E,su),t(E,Z0),t(E,au),t(E,z0),t(E,lu),t(E,q0),t(E,iu),t(E,Y0),m(so,E,null),t(E,Q0),t(E,yt),m(fi,yt,null),t(yt,H0),t(yt,cu),t(yt,F0),t(yt,pu),t(E,X0),t(E,xt),m(hi,xt,null),t(xt,O0),t(xt,du),t(xt,K0),t(xt,mu),t(E,ew),t(E,ao),m(bi,ao,null),t(ao,tw),t(ao,vu),t(E,nw),t(E,lo),m($i,lo,null),t(lo,rw),t(lo,uu),t(E,ow),t(E,Ct),m(_i,Ct,null),t(Ct,sw),t(Ct,gu),t(Ct,aw),t(Ct,fu),t(E,lw),t(E,io),m(yi,io,null),t(io,iw),t(io,hu),f(e,yb,c),f(e,X,c),m(xi,X,null),t(X,cw),t(X,bu),t(X,pw),m(co,X,null),t(X,dw),t(X,$u),t(X,mw),t(X,_u),t(X,vw),m(po,X,null),t(X,uw),t(X,mo),m(Ci,mo,null),t(mo,gw),t(mo,yu),t(X,fw),t(X,vo),m(wi,vo,null),t(vo,hw),t(vo,xu),f(e,xb,c),f(e,ye,c),m(Mi,ye,null),t(ye,bw),t(ye,Cu),t(ye,$w),t(ye,wu),t(ye,_w),t(ye,uo),m(Ti,uo,null),t(uo,yw),t(uo,Mu),t(ye,xw),t(ye,go),m(ji,go,null),t(go,Cw),t(go,Tu),f(e,Cb,c),m(Ji,e,c),f(e,wb,c),f(e,Tn,c),m(ki,Tn,null),t(Tn,ww),t(Tn,ju),f(e,Mb,c),f(e,R,c),m(Ii,R,null),t(R,Mw),t(R,Ju),t(R,Tw),t(R,ku),t(R,jw),t(R,Iu),t(R,Jw),m(fo,R,null),t(R,kw),t(R,wt),m(Ei,wt,null),t(wt,Iw),t(wt,Eu),t(wt,Ew),t(wt,Uu),t(R,Uw),t(R,ho),m(Ui,ho,null),t(ho,Pw),t(ho,Pu),t(R,Lw),t(R,bo),m(Pi,bo,null),t(bo,Dw),t(bo,Lu),t(R,Aw),t(R,$o),m(Li,$o,null),t($o,Vw),t($o,Du),t(R,Rw),t(R,Le),m(Di,Le,null),t(Le,Sw),t(Le,Au),t(Le,Nw),t(Le,Vu),t(Le,Bw),t(Le,Ru),t(R,Ww),t(R,_o),m(Ai,_o,null),t(_o,Gw),t(_o,Su),t(R,Zw),t(R,yo),m(Vi,yo,null),t(yo,zw),t(yo,Nu),f(e,Tb,c),m(Ri,e,c),f(e,jb,c),f(e,G,c),m(Si,G,null),t(G,qw),t(G,Bu),t(G,Yw),t(G,Wu),t(G,Qw),t(G,Gu),t(G,Hw),t(G,Zu),t(G,Fw),m(xo,G,null),t(G,Xw),t(G,Mt),m(Ni,Mt,null),t(Mt,Ow),t(Mt,zu),t(Mt,Kw),t(Mt,qu),t(G,eM),t(G,Co),m(Bi,Co,null),t(Co,tM),t(Co,Yu),t(G,nM),t(G,Tt),m(Wi,Tt,null),t(Tt,rM),t(Tt,Qu),t(Tt,oM),t(Tt,Hu),t(G,sM),t(G,jt),m(Gi,jt,null),t(jt,aM),t(jt,Fu),t(jt,lM),t(jt,Xu),f(e,Jb,c),f(e,se,c),m(Zi,se,null),t(se,iM),t(se,Ou),t(se,cM),t(se,Ku),t(se,pM),m(wo,se,null),t(se,dM),t(se,Mo),m(zi,Mo,null),t(Mo,mM),t(Mo,eg),t(se,vM),t(se,To),m(qi,To,null),t(To,uM),t(To,tg),t(se,gM),t(se,jo),m(Yi,jo,null),t(jo,fM),t(jo,ng),f(e,kb,c),f(e,ie,c),m(Qi,ie,null),t(ie,hM),t(ie,rg),t(ie,bM),t(ie,og),t(ie,$M),t(ie,Jo),m(Hi,Jo,null),t(Jo,_M),t(Jo,sg),t(ie,yM),t(ie,ko),m(Fi,ko,null),t(ko,xM),t(ko,ag),t(ie,CM),t(ie,Jt),m(Xi,Jt,null),t(Jt,wM),t(Jt,lg),t(Jt,MM),t(Jt,ig),f(e,Ib,c),f(e,Ee,c),m(Oi,Ee,null),t(Ee,TM),t(Ee,cg),t(Ee,jM),t(Ee,pg),t(Ee,JM),m(Io,Ee,null),f(e,Eb,c),f(e,O,c),m(Ki,O,null),t(O,kM),t(O,dg),t(O,IM),t(O,mg),t(O,EM),t(O,vg),t(O,UM),m(Eo,O,null),t(O,PM),t(O,Uo),m(ec,Uo,null),t(Uo,LM),t(Uo,ug),t(O,DM),t(O,Po),m(tc,Po,null),t(Po,AM),t(Po,gg),t(O,VM),t(O,Lo),m(nc,Lo,null),t(Lo,RM),t(Lo,fg),f(e,Ub,c),f(e,ce,c),m(rc,ce,null),t(ce,SM),t(ce,hg),t(ce,NM),m(Do,ce,null),t(ce,BM),t(ce,Ao),m(oc,Ao,null),t(Ao,WM),t(Ao,bg),t(ce,GM),t(ce,Vo),m(sc,Vo,null),t(Vo,ZM),t(Vo,$g),t(ce,zM),t(ce,Ro),m(ac,Ro,null),t(Ro,qM),t(Ro,_g),f(e,Pb,c),f(e,P,c),m(lc,P,null),t(P,YM),t(P,yg),t(P,QM),t(P,xg),t(P,HM),t(P,Cg),t(P,FM),t(P,wg),t(P,XM),t(P,Mg),t(P,OM),t(P,Tg),t(P,KM),m(So,P,null),t(P,e4),t(P,kt),m(ic,kt,null),t(kt,t4),t(kt,jg),t(kt,n4),t(kt,Jg),t(P,r4),t(P,De),m(cc,De,null),t(De,o4),t(De,kg),t(De,s4),t(De,Ig),t(De,a4),m(No,De,null),t(P,l4),t(P,It),m(pc,It,null),t(It,i4),t(It,Eg),t(It,c4),t(It,Ug),t(P,p4),t(P,Bo),m(dc,Bo,null),t(Bo,d4),t(Bo,Pg),t(P,m4),t(P,Et),m(mc,Et,null),t(Et,v4),t(Et,Lg),t(Et,u4),t(Et,Dg),f(e,Lb,c),m(vc,e,c),f(e,Db,c),f(e,yf,c),Ab=!0},p(e,[c]){const jn={};c&2&&(jn.$$scope={dirty:c,ctx:e}),Bn.$set(jn);const Ue={};c&2&&(Ue.$$scope={dirty:c,ctx:e}),Fn.$set(Ue);const uc={};c&2&&(uc.$$scope={dirty:c,ctx:e}),Xn.$set(uc);const gc={};c&2&&(gc.$$scope={dirty:c,ctx:e}),tr.$set(gc);const Jn={};c&2&&(Jn.$$scope={dirty:c,ctx:e}),sr.$set(Jn);const K={};c&2&&(K.$$scope={dirty:c,ctx:e}),ar.$set(K);const kn={};c&2&&(kn.$$scope={dirty:c,ctx:e}),vr.$set(kn);const In={};c&2&&(In.$$scope={dirty:c,ctx:e}),ur.$set(In);const fc={};c&2&&(fc.$$scope={dirty:c,ctx:e}),br.$set(fc);const En={};c&2&&(En.$$scope={dirty:c,ctx:e}),Mr.$set(En);const hc={};c&2&&(hc.$$scope={dirty:c,ctx:e}),Tr.$set(hc);const Un={};c&2&&(Un.$$scope={dirty:c,ctx:e}),jr.$set(Un);const bc={};c&2&&(bc.$$scope={dirty:c,ctx:e}),Jr.$set(bc);const $c={};c&2&&($c.$$scope={dirty:c,ctx:e}),kr.$set($c);const _c={};c&2&&(_c.$$scope={dirty:c,ctx:e}),Er.$set(_c);const Pn={};c&2&&(Pn.$$scope={dirty:c,ctx:e}),Gr.$set(Pn);const Ln={};c&2&&(Ln.$$scope={dirty:c,ctx:e}),zr.$set(Ln);const yc={};c&2&&(yc.$$scope={dirty:c,ctx:e}),Yr.$set(yc);const xc={};c&2&&(xc.$$scope={dirty:c,ctx:e}),Hr.$set(xc);const Cc={};c&2&&(Cc.$$scope={dirty:c,ctx:e}),Kr.$set(Cc);const wc={};c&2&&(wc.$$scope={dirty:c,ctx:e}),so.$set(wc);const Mc={};c&2&&(Mc.$$scope={dirty:c,ctx:e}),co.$set(Mc);const Dn={};c&2&&(Dn.$$scope={dirty:c,ctx:e}),po.$set(Dn);const Tc={};c&2&&(Tc.$$scope={dirty:c,ctx:e}),fo.$set(Tc);const jc={};c&2&&(jc.$$scope={dirty:c,ctx:e}),xo.$set(jc);const Jc={};c&2&&(Jc.$$scope={dirty:c,ctx:e}),wo.$set(Jc);const kc={};c&2&&(kc.$$scope={dirty:c,ctx:e}),Io.$set(kc);const Ic={};c&2&&(Ic.$$scope={dirty:c,ctx:e}),Eo.$set(Ic);const Ec={};c&2&&(Ec.$$scope={dirty:c,ctx:e}),Do.$set(Ec);const Uc={};c&2&&(Uc.$$scope={dirty:c,ctx:e}),So.$set(Uc);const Pc={};c&2&&(Pc.$$scope={dirty:c,ctx:e}),No.$set(Pc)},i(e){Ab||(v(C.$$.fragment,e),v(w.$$.fragment,e),v(Ko.$$.fragment,e),v(es.$$.fragment,e),v(ts.$$.fragment,e),v(ns.$$.fragment,e),v(rs.$$.fragment,e),v(os.$$.fragment,e),v(ss.$$.fragment,e),v(as.$$.fragment,e),v(ls.$$.fragment,e),v(is.$$.fragment,e),v(cs.$$.fragment,e),v(ps.$$.fragment,e),v(ds.$$.fragment,e),v(ms.$$.fragment,e),v(vs.$$.fragment,e),v(us.$$.fragment,e),v(gs.$$.fragment,e),v(fs.$$.fragment,e),v(hs.$$.fragment,e),v(bs.$$.fragment,e),v($s.$$.fragment,e),v(_s.$$.fragment,e),v(ys.$$.fragment,e),v(xs.$$.fragment,e),v(Cs.$$.fragment,e),v(ws.$$.fragment,e),v(Ms.$$.fragment,e),v(Ts.$$.fragment,e),v(js.$$.fragment,e),v(Js.$$.fragment,e),v(ks.$$.fragment,e),v(Is.$$.fragment,e),v(Es.$$.fragment,e),v(Us.$$.fragment,e),v(Ps.$$.fragment,e),v(Ls.$$.fragment,e),v(Ds.$$.fragment,e),v(As.$$.fragment,e),v(Vs.$$.fragment,e),v(Rs.$$.fragment,e),v(Ss.$$.fragment,e),v(Ns.$$.fragment,e),v(Bs.$$.fragment,e),v(Ws.$$.fragment,e),v(Gs.$$.fragment,e),v(Zs.$$.fragment,e),v(zs.$$.fragment,e),v(qs.$$.fragment,e),v(Ys.$$.fragment,e),v(Qs.$$.fragment,e),v(Bn.$$.fragment,e),v(Hs.$$.fragment,e),v(Fs.$$.fragment,e),v(Xs.$$.fragment,e),v(Os.$$.fragment,e),v(Ks.$$.fragment,e),v(ea.$$.fragment,e),v(ta.$$.fragment,e),v(na.$$.fragment,e),v(ra.$$.fragment,e),v(oa.$$.fragment,e),v(sa.$$.fragment,e),v(aa.$$.fragment,e),v(la.$$.fragment,e),v(ia.$$.fragment,e),v(ca.$$.fragment,e),v(pa.$$.fragment,e),v(da.$$.fragment,e),v(ma.$$.fragment,e),v(va.$$.fragment,e),v(ua.$$.fragment,e),v(ga.$$.fragment,e),v(fa.$$.fragment,e),v(ha.$$.fragment,e),v(ba.$$.fragment,e),v($a.$$.fragment,e),v(_a.$$.fragment,e),v(ya.$$.fragment,e),v(xa.$$.fragment,e),v(Fn.$$.fragment,e),v(Xn.$$.fragment,e),v(Ca.$$.fragment,e),v(wa.$$.fragment,e),v(Ma.$$.fragment,e),v(Ta.$$.fragment,e),v(ja.$$.fragment,e),v(tr.$$.fragment,e),v(Ja.$$.fragment,e),v(ka.$$.fragment,e),v(Ia.$$.fragment,e),v(Ea.$$.fragment,e),v(sr.$$.fragment,e),v(Ua.$$.fragment,e),v(Pa.$$.fragment,e),v(ar.$$.fragment,e),v(La.$$.fragment,e),v(Da.$$.fragment,e),v(Aa.$$.fragment,e),v(Va.$$.fragment,e),v(Ra.$$.fragment,e),v(Sa.$$.fragment,e),v(Na.$$.fragment,e),v(Ba.$$.fragment,e),v(vr.$$.fragment,e),v(Wa.$$.fragment,e),v(ur.$$.fragment,e),v(Ga.$$.fragment,e),v(Za.$$.fragment,e),v(za.$$.fragment,e),v(qa.$$.fragment,e),v(Ya.$$.fragment,e),v(Qa.$$.fragment,e),v(Ha.$$.fragment,e),v(Fa.$$.fragment,e),v(Xa.$$.fragment,e),v(Oa.$$.fragment,e),v(Ka.$$.fragment,e),v(el.$$.fragment,e),v(tl.$$.fragment,e),v(nl.$$.fragment,e),v(rl.$$.fragment,e),v(ol.$$.fragment,e),v(br.$$.fragment,e),v(sl.$$.fragment,e),v(al.$$.fragment,e),v(ll.$$.fragment,e),v(il.$$.fragment,e),v(cl.$$.fragment,e),v(pl.$$.fragment,e),v(dl.$$.fragment,e),v(ml.$$.fragment,e),v(vl.$$.fragment,e),v(ul.$$.fragment,e),v(gl.$$.fragment,e),v(fl.$$.fragment,e),v(hl.$$.fragment,e),v(bl.$$.fragment,e),v($l.$$.fragment,e),v(_l.$$.fragment,e),v(yl.$$.fragment,e),v(xl.$$.fragment,e),v(Cl.$$.fragment,e),v(wl.$$.fragment,e),v(Ml.$$.fragment,e),v(Tl.$$.fragment,e),v(jl.$$.fragment,e),v(Jl.$$.fragment,e),v(kl.$$.fragment,e),v(Il.$$.fragment,e),v(El.$$.fragment,e),v(Ul.$$.fragment,e),v(Pl.$$.fragment,e),v(Ll.$$.fragment,e),v(Dl.$$.fragment,e),v(Mr.$$.fragment,e),v(Al.$$.fragment,e),v(Tr.$$.fragment,e),v(jr.$$.fragment,e),v(Vl.$$.fragment,e),v(Jr.$$.fragment,e),v(Rl.$$.fragment,e),v(kr.$$.fragment,e),v(Sl.$$.fragment,e),v(Nl.$$.fragment,e),v(Bl.$$.fragment,e),v(Er.$$.fragment,e),v(Wl.$$.fragment,e),v(Gl.$$.fragment,e),v(Zl.$$.fragment,e),v(zl.$$.fragment,e),v(ql.$$.fragment,e),v(Yl.$$.fragment,e),v(Ql.$$.fragment,e),v(Hl.$$.fragment,e),v(Fl.$$.fragment,e),v(Xl.$$.fragment,e),v(Ol.$$.fragment,e),v(Kl.$$.fragment,e),v(Gr.$$.fragment,e),v(ei.$$.fragment,e),v(ti.$$.fragment,e),v(zr.$$.fragment,e),v(ni.$$.fragment,e),v(ri.$$.fragment,e),v(Yr.$$.fragment,e),v(oi.$$.fragment,e),v(si.$$.fragment,e),v(Hr.$$.fragment,e),v(ai.$$.fragment,e),v(li.$$.fragment,e),v(ii.$$.fragment,e),v(ci.$$.fragment,e),v(Kr.$$.fragment,e),v(pi.$$.fragment,e),v(di.$$.fragment,e),v(mi.$$.fragment,e),v(vi.$$.fragment,e),v(ui.$$.fragment,e),v(gi.$$.fragment,e),v(so.$$.fragment,e),v(fi.$$.fragment,e),v(hi.$$.fragment,e),v(bi.$$.fragment,e),v($i.$$.fragment,e),v(_i.$$.fragment,e),v(yi.$$.fragment,e),v(xi.$$.fragment,e),v(co.$$.fragment,e),v(po.$$.fragment,e),v(Ci.$$.fragment,e),v(wi.$$.fragment,e),v(Mi.$$.fragment,e),v(Ti.$$.fragment,e),v(ji.$$.fragment,e),v(Ji.$$.fragment,e),v(ki.$$.fragment,e),v(Ii.$$.fragment,e),v(fo.$$.fragment,e),v(Ei.$$.fragment,e),v(Ui.$$.fragment,e),v(Pi.$$.fragment,e),v(Li.$$.fragment,e),v(Di.$$.fragment,e),v(Ai.$$.fragment,e),v(Vi.$$.fragment,e),v(Ri.$$.fragment,e),v(Si.$$.fragment,e),v(xo.$$.fragment,e),v(Ni.$$.fragment,e),v(Bi.$$.fragment,e),v(Wi.$$.fragment,e),v(Gi.$$.fragment,e),v(Zi.$$.fragment,e),v(wo.$$.fragment,e),v(zi.$$.fragment,e),v(qi.$$.fragment,e),v(Yi.$$.fragment,e),v(Qi.$$.fragment,e),v(Hi.$$.fragment,e),v(Fi.$$.fragment,e),v(Xi.$$.fragment,e),v(Oi.$$.fragment,e),v(Io.$$.fragment,e),v(Ki.$$.fragment,e),v(Eo.$$.fragment,e),v(ec.$$.fragment,e),v(tc.$$.fragment,e),v(nc.$$.fragment,e),v(rc.$$.fragment,e),v(Do.$$.fragment,e),v(oc.$$.fragment,e),v(sc.$$.fragment,e),v(ac.$$.fragment,e),v(lc.$$.fragment,e),v(So.$$.fragment,e),v(ic.$$.fragment,e),v(cc.$$.fragment,e),v(No.$$.fragment,e),v(pc.$$.fragment,e),v(dc.$$.fragment,e),v(mc.$$.fragment,e),v(vc.$$.fragment,e),Ab=!0)},o(e){u(C.$$.fragment,e),u(w.$$.fragment,e),u(Ko.$$.fragment,e),u(es.$$.fragment,e),u(ts.$$.fragment,e),u(ns.$$.fragment,e),u(rs.$$.fragment,e),u(os.$$.fragment,e),u(ss.$$.fragment,e),u(as.$$.fragment,e),u(ls.$$.fragment,e),u(is.$$.fragment,e),u(cs.$$.fragment,e),u(ps.$$.fragment,e),u(ds.$$.fragment,e),u(ms.$$.fragment,e),u(vs.$$.fragment,e),u(us.$$.fragment,e),u(gs.$$.fragment,e),u(fs.$$.fragment,e),u(hs.$$.fragment,e),u(bs.$$.fragment,e),u($s.$$.fragment,e),u(_s.$$.fragment,e),u(ys.$$.fragment,e),u(xs.$$.fragment,e),u(Cs.$$.fragment,e),u(ws.$$.fragment,e),u(Ms.$$.fragment,e),u(Ts.$$.fragment,e),u(js.$$.fragment,e),u(Js.$$.fragment,e),u(ks.$$.fragment,e),u(Is.$$.fragment,e),u(Es.$$.fragment,e),u(Us.$$.fragment,e),u(Ps.$$.fragment,e),u(Ls.$$.fragment,e),u(Ds.$$.fragment,e),u(As.$$.fragment,e),u(Vs.$$.fragment,e),u(Rs.$$.fragment,e),u(Ss.$$.fragment,e),u(Ns.$$.fragment,e),u(Bs.$$.fragment,e),u(Ws.$$.fragment,e),u(Gs.$$.fragment,e),u(Zs.$$.fragment,e),u(zs.$$.fragment,e),u(qs.$$.fragment,e),u(Ys.$$.fragment,e),u(Qs.$$.fragment,e),u(Bn.$$.fragment,e),u(Hs.$$.fragment,e),u(Fs.$$.fragment,e),u(Xs.$$.fragment,e),u(Os.$$.fragment,e),u(Ks.$$.fragment,e),u(ea.$$.fragment,e),u(ta.$$.fragment,e),u(na.$$.fragment,e),u(ra.$$.fragment,e),u(oa.$$.fragment,e),u(sa.$$.fragment,e),u(aa.$$.fragment,e),u(la.$$.fragment,e),u(ia.$$.fragment,e),u(ca.$$.fragment,e),u(pa.$$.fragment,e),u(da.$$.fragment,e),u(ma.$$.fragment,e),u(va.$$.fragment,e),u(ua.$$.fragment,e),u(ga.$$.fragment,e),u(fa.$$.fragment,e),u(ha.$$.fragment,e),u(ba.$$.fragment,e),u($a.$$.fragment,e),u(_a.$$.fragment,e),u(ya.$$.fragment,e),u(xa.$$.fragment,e),u(Fn.$$.fragment,e),u(Xn.$$.fragment,e),u(Ca.$$.fragment,e),u(wa.$$.fragment,e),u(Ma.$$.fragment,e),u(Ta.$$.fragment,e),u(ja.$$.fragment,e),u(tr.$$.fragment,e),u(Ja.$$.fragment,e),u(ka.$$.fragment,e),u(Ia.$$.fragment,e),u(Ea.$$.fragment,e),u(sr.$$.fragment,e),u(Ua.$$.fragment,e),u(Pa.$$.fragment,e),u(ar.$$.fragment,e),u(La.$$.fragment,e),u(Da.$$.fragment,e),u(Aa.$$.fragment,e),u(Va.$$.fragment,e),u(Ra.$$.fragment,e),u(Sa.$$.fragment,e),u(Na.$$.fragment,e),u(Ba.$$.fragment,e),u(vr.$$.fragment,e),u(Wa.$$.fragment,e),u(ur.$$.fragment,e),u(Ga.$$.fragment,e),u(Za.$$.fragment,e),u(za.$$.fragment,e),u(qa.$$.fragment,e),u(Ya.$$.fragment,e),u(Qa.$$.fragment,e),u(Ha.$$.fragment,e),u(Fa.$$.fragment,e),u(Xa.$$.fragment,e),u(Oa.$$.fragment,e),u(Ka.$$.fragment,e),u(el.$$.fragment,e),u(tl.$$.fragment,e),u(nl.$$.fragment,e),u(rl.$$.fragment,e),u(ol.$$.fragment,e),u(br.$$.fragment,e),u(sl.$$.fragment,e),u(al.$$.fragment,e),u(ll.$$.fragment,e),u(il.$$.fragment,e),u(cl.$$.fragment,e),u(pl.$$.fragment,e),u(dl.$$.fragment,e),u(ml.$$.fragment,e),u(vl.$$.fragment,e),u(ul.$$.fragment,e),u(gl.$$.fragment,e),u(fl.$$.fragment,e),u(hl.$$.fragment,e),u(bl.$$.fragment,e),u($l.$$.fragment,e),u(_l.$$.fragment,e),u(yl.$$.fragment,e),u(xl.$$.fragment,e),u(Cl.$$.fragment,e),u(wl.$$.fragment,e),u(Ml.$$.fragment,e),u(Tl.$$.fragment,e),u(jl.$$.fragment,e),u(Jl.$$.fragment,e),u(kl.$$.fragment,e),u(Il.$$.fragment,e),u(El.$$.fragment,e),u(Ul.$$.fragment,e),u(Pl.$$.fragment,e),u(Ll.$$.fragment,e),u(Dl.$$.fragment,e),u(Mr.$$.fragment,e),u(Al.$$.fragment,e),u(Tr.$$.fragment,e),u(jr.$$.fragment,e),u(Vl.$$.fragment,e),u(Jr.$$.fragment,e),u(Rl.$$.fragment,e),u(kr.$$.fragment,e),u(Sl.$$.fragment,e),u(Nl.$$.fragment,e),u(Bl.$$.fragment,e),u(Er.$$.fragment,e),u(Wl.$$.fragment,e),u(Gl.$$.fragment,e),u(Zl.$$.fragment,e),u(zl.$$.fragment,e),u(ql.$$.fragment,e),u(Yl.$$.fragment,e),u(Ql.$$.fragment,e),u(Hl.$$.fragment,e),u(Fl.$$.fragment,e),u(Xl.$$.fragment,e),u(Ol.$$.fragment,e),u(Kl.$$.fragment,e),u(Gr.$$.fragment,e),u(ei.$$.fragment,e),u(ti.$$.fragment,e),u(zr.$$.fragment,e),u(ni.$$.fragment,e),u(ri.$$.fragment,e),u(Yr.$$.fragment,e),u(oi.$$.fragment,e),u(si.$$.fragment,e),u(Hr.$$.fragment,e),u(ai.$$.fragment,e),u(li.$$.fragment,e),u(ii.$$.fragment,e),u(ci.$$.fragment,e),u(Kr.$$.fragment,e),u(pi.$$.fragment,e),u(di.$$.fragment,e),u(mi.$$.fragment,e),u(vi.$$.fragment,e),u(ui.$$.fragment,e),u(gi.$$.fragment,e),u(so.$$.fragment,e),u(fi.$$.fragment,e),u(hi.$$.fragment,e),u(bi.$$.fragment,e),u($i.$$.fragment,e),u(_i.$$.fragment,e),u(yi.$$.fragment,e),u(xi.$$.fragment,e),u(co.$$.fragment,e),u(po.$$.fragment,e),u(Ci.$$.fragment,e),u(wi.$$.fragment,e),u(Mi.$$.fragment,e),u(Ti.$$.fragment,e),u(ji.$$.fragment,e),u(Ji.$$.fragment,e),u(ki.$$.fragment,e),u(Ii.$$.fragment,e),u(fo.$$.fragment,e),u(Ei.$$.fragment,e),u(Ui.$$.fragment,e),u(Pi.$$.fragment,e),u(Li.$$.fragment,e),u(Di.$$.fragment,e),u(Ai.$$.fragment,e),u(Vi.$$.fragment,e),u(Ri.$$.fragment,e),u(Si.$$.fragment,e),u(xo.$$.fragment,e),u(Ni.$$.fragment,e),u(Bi.$$.fragment,e),u(Wi.$$.fragment,e),u(Gi.$$.fragment,e),u(Zi.$$.fragment,e),u(wo.$$.fragment,e),u(zi.$$.fragment,e),u(qi.$$.fragment,e),u(Yi.$$.fragment,e),u(Qi.$$.fragment,e),u(Hi.$$.fragment,e),u(Fi.$$.fragment,e),u(Xi.$$.fragment,e),u(Oi.$$.fragment,e),u(Io.$$.fragment,e),u(Ki.$$.fragment,e),u(Eo.$$.fragment,e),u(ec.$$.fragment,e),u(tc.$$.fragment,e),u(nc.$$.fragment,e),u(rc.$$.fragment,e),u(Do.$$.fragment,e),u(oc.$$.fragment,e),u(sc.$$.fragment,e),u(ac.$$.fragment,e),u(lc.$$.fragment,e),u(So.$$.fragment,e),u(ic.$$.fragment,e),u(cc.$$.fragment,e),u(No.$$.fragment,e),u(pc.$$.fragment,e),u(dc.$$.fragment,e),u(mc.$$.fragment,e),u(vc.$$.fragment,e),Ab=!1},d(e){e&&(a(M),a(x),a(b),a(l),a(xf),a(Fo),a(Cf),a(Xo),a(wf),a(Oo),a(Mf),a(Tf),a(jf),a(Se),a(Jf),a(ue),a(kf),a(Ne),a(If),a(q),a(Ef),a(Uf),a(Nt),a(Pf),a(Bt),a(Lf),a(Wt),a(Df),a(Be),a(Af),a(We),a(Vf),a(Gt),a(Rf),a(Zt),a(Sf),a(zt),a(Nf),a(qt),a(Bf),a(Yt),a(Wf),a(Ge),a(Gf),a(Qt),a(Zf),a(Ht),a(zf),a(Ft),a(qf),a(Xt),a(Yf),a(Ot),a(Qf),a(Kt),a(Hf),a(en),a(Ff),a(tn),a(Xf),a(nn),a(Of),a(rn),a(Kf),a(on),a(eh),a(sn),a(th),a(Ze),a(nh),a(an),a(rh),a(oh),a(ln),a(sh),a(ze),a(ah),a(qe),a(lh),a(cn),a(ih),a(pn),a(ch),a(dn),a(ph),a(dh),a(Y),a(mh),a(Ye),a(vh),a(mn),a(uh),a(gh),a(vn),a(fh),a(un),a(hh),a(ne),a(bh),a(gn),a($h),a(_h),a(je),a(yh),a(Je),a(xh),a(fn),a(Ch),a(wh),a(hn),a(Mh),a(bn),a(Th),a(jh),a($n),a(Jh),a(_n),a(kh),a(Ih),a(Eh),a(j),a(Uh),a(Ph),a(V),a(Lh),a(Dh),a(re),a(Ah),a(ge),a(Vh),a(Rh),a(yn),a(Sh),a(Qe),a(Nh),a(fe),a(Bh),a(ke),a(Wh),a(He),a(Gh),a(xn),a(Zh),a(zh),a(Cn),a(qh),a(Yh),a(Qh),a(I),a(Hh),a(Fh),a(Fe),a(Xh),a(wn),a(Oh),a(Ie),a(Kh),a(Xe),a(eb),a(F),a(tb),a(Oe),a(nb),a(Mn),a(rb),a(Ke),a(ob),a(et),a(sb),a(tt),a(ab),a(nt),a(lb),a(rt),a(ib),a(ot),a(cb),a(st),a(pb),a(db),a(he),a(mb),a(W),a(vb),a(ub),a(J),a(gb),a(be),a(fb),a($e),a(hb),a(_e),a(bb),a(oe),a($b),a(Q),a(_b),a(E),a(yb),a(X),a(xb),a(ye),a(Cb),a(wb),a(Tn),a(Mb),a(R),a(Tb),a(jb),a(G),a(Jb),a(se),a(kb),a(ie),a(Ib),a(Ee),a(Eb),a(O),a(Ub),a(ce),a(Pb),a(P),a(Lb),a(Db),a(yf)),a(h),g(C,e),g(w,e),g(Ko,e),g(es,e),g(ts),g(ns),g(rs),g(os),g(ss),g(as),g(ls),g(is),g(cs),g(ps),g(ds),g(ms),g(vs,e),g(us),g(gs),g(fs),g(hs),g(bs),g($s),g(_s),g(ys),g(xs),g(Cs),g(ws),g(Ms),g(Ts),g(js),g(Js),g(ks),g(Is),g(Es),g(Us),g(Ps),g(Ls),g(Ds),g(As),g(Vs),g(Rs),g(Ss),g(Ns,e),g(Bs),g(Ws),g(Gs),g(Zs),g(zs),g(qs),g(Ys,e),g(Qs),g(Bn),g(Hs),g(Fs),g(Xs),g(Os),g(Ks),g(ea,e),g(ta),g(na),g(ra),g(oa),g(sa),g(aa),g(la),g(ia),g(ca),g(pa,e),g(da),g(ma),g(va),g(ua,e),g(ga),g(fa),g(ha,e),g(ba),g($a),g(_a,e),g(ya,e),g(xa),g(Fn),g(Xn),g(Ca),g(wa),g(Ma),g(Ta),g(ja),g(tr),g(Ja),g(ka),g(Ia),g(Ea),g(sr),g(Ua,e),g(Pa),g(ar),g(La),g(Da),g(Aa),g(Va),g(Ra),g(Sa),g(Na,e),g(Ba),g(vr),g(Wa),g(ur),g(Ga,e),g(Za),g(za),g(qa),g(Ya),g(Qa),g(Ha),g(Fa),g(Xa),g(Oa),g(Ka),g(el,e),g(tl),g(nl,e),g(rl,e),g(ol),g(br),g(sl),g(al),g(ll),g(il),g(cl),g(pl),g(dl),g(ml,e),g(vl),g(ul),g(gl),g(fl),g(hl),g(bl),g($l),g(_l),g(yl),g(xl),g(Cl),g(wl),g(Ml),g(Tl),g(jl),g(Jl),g(kl),g(Il),g(El),g(Ul,e),g(Pl),g(Ll),g(Dl),g(Mr),g(Al),g(Tr),g(jr),g(Vl),g(Jr),g(Rl),g(kr),g(Sl),g(Nl,e),g(Bl),g(Er),g(Wl),g(Gl),g(Zl),g(zl),g(ql),g(Yl),g(Ql),g(Hl),g(Fl),g(Xl),g(Ol),g(Kl),g(Gr),g(ei),g(ti),g(zr),g(ni),g(ri),g(Yr),g(oi),g(si),g(Hr),g(ai),g(li),g(ii),g(ci),g(Kr),g(pi),g(di),g(mi),g(vi),g(ui),g(gi),g(so),g(fi),g(hi),g(bi),g($i),g(_i),g(yi),g(xi),g(co),g(po),g(Ci),g(wi),g(Mi),g(Ti),g(ji),g(Ji,e),g(ki),g(Ii),g(fo),g(Ei),g(Ui),g(Pi),g(Li),g(Di),g(Ai),g(Vi),g(Ri,e),g(Si),g(xo),g(Ni),g(Bi),g(Wi),g(Gi),g(Zi),g(wo),g(zi),g(qi),g(Yi),g(Qi),g(Hi),g(Fi),g(Xi),g(Oi),g(Io),g(Ki),g(Eo),g(ec),g(tc),g(nc),g(rc),g(Do),g(oc),g(sc),g(ac),g(lc),g(So),g(ic),g(cc),g(No),g(pc),g(dc),g(mc),g(vc,e)}}}const sJ='{"title":"Core API","local":"core-api","sections":[{"title":"Server","local":"server","sections":[{"title":"Environment server primitives","local":"openenv.core.Message","sections":[],"depth":3},{"title":"Types","local":"openenv.core.ServerMode","sections":[],"depth":3},{"title":"Exceptions","local":"openenv.core.OpenEnvError","sections":[],"depth":3},{"title":"HTTP server utilities","local":"openenv.core.HTTPEnvServer","sections":[],"depth":3},{"title":"Web interface helpers","local":"openenv.core.env_server.web_interface.ActionLog","sections":[],"depth":3},{"title":"Serialization","local":"openenv.core.deserialize_action","sections":[],"depth":3},{"title":"Transforms","local":"openenv.core.CompositeTransform","sections":[],"depth":3},{"title":"Route configuration","local":"openenv.core.GetEndpointConfig","sections":[],"depth":3}],"depth":2},{"title":"Clients","local":"clients","sections":[{"title":"Base client","local":"openenv.core.EnvClient","sections":[],"depth":3},{"title":"Synchronous client","local":"openenv.SyncEnvClient","sections":[],"depth":3},{"title":"Generic client","local":"openenv.GenericEnvClient","sections":[],"depth":3},{"title":"LLM client","local":"openenv.core.ToolCall","sections":[],"depth":3},{"title":"Shared dataclasses","local":"openenv.core.client_types.StepResult","sections":[],"depth":3}],"depth":2},{"title":"MCP (Model Context Protocol)","local":"mcp-model-context-protocol","sections":[{"title":"MCP environment","local":"openenv.core.MCPEnvironment","sections":[],"depth":3},{"title":"MCP types","local":"openenv.core.JsonRpcErrorCode","sections":[],"depth":3},{"title":"MCP client","local":"openenv.core.MCPClientBase","sections":[],"depth":3}],"depth":2},{"title":"Rubrics","local":"openenv.core.rubrics.Rubric","sections":[],"depth":2},{"title":"Tools","local":"openenv.core.tools.RepoInfo","sections":[],"depth":2},{"title":"Container providers","local":"openenv.core.containers.runtime.ContainerProvider","sections":[],"depth":2}],"depth":1}';function aJ(T){return y5(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class mJ extends x5{constructor(h){super(),C5(this,h,aJ,oJ,_5,{})}}export{mJ as component}; | |
Xet Storage Details
- Size:
- 327 kB
- Xet hash:
- 12fa91eaff43590c6c676954ce40e407417a5dc0be602497390a3671c0497366
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.