macro_rules! export_bindings(($t:ident) => {
const _: () = {
const _: () = {
#[doc(hidden)]
#[export_name = "ambient:bindings/guest#init"]
#[allow(non_snake_case)]
unsafe extern "C" fn __export_init() {
exports::ambient::bindings::guest::call_init::<$t>()
}
};
const _: () = {
#[doc(hidden)]
#[export_name = "ambient:bindings/guest#exec"]
#[allow(non_snake_case)]
unsafe extern "C" fn __export_exec(arg0: i32,arg1: i64,arg2: i64,arg3: i32,arg4: i32,arg5: i32,arg6: i32,) {
exports::ambient::bindings::guest::call_exec::<$t>(arg0,arg1,arg2,arg3,arg4,arg5,arg6,)
}
};
};
#[used]
#[doc(hidden)]
#[cfg(target_arch = "wasm32")]
static __FORCE_SECTION_REF: fn() = __link_section;
});
pub mod ambient {
pub mod bindings {
#[allow(clippy::all)]
pub mod types {
#[used]
#[doc(hidden)]
#[cfg(target_arch = "wasm32")]
static __FORCE_SECTION_REF: fn() = super::super::super::__link_section;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct EntityId {
pub id0: u64,
pub id1: u64,
}
impl ::core::fmt::Debug for EntityId {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("EntityId").field("id0", &self.id0).field("id1", &self.id1).finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Vec2 {
pub x: f32,
pub y: f32,
}
impl ::core::fmt::Debug for Vec2 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("Vec2").field("x", &self.x).field("y", &self.y).finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Vec3 {
pub x: f32,
pub y: f32,
pub z: f32,
}
impl ::core::fmt::Debug for Vec3 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("Vec3").field("x", &self.x).field("y", &self.y).field("z", &self.z).finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Vec4 {
pub x: f32,
pub y: f32,
pub z: f32,
pub w: f32,
}
impl ::core::fmt::Debug for Vec4 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("Vec4").field("x", &self.x).field("y", &self.y).field("z", &self.z).field("w", &self.w).finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Uvec2 {
pub x: u32,
pub y: u32,
}
impl ::core::fmt::Debug for Uvec2 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("Uvec2").field("x", &self.x).field("y", &self.y).finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Uvec3 {
pub x: u32,
pub y: u32,
pub z: u32,
}
impl ::core::fmt::Debug for Uvec3 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("Uvec3").field("x", &self.x).field("y", &self.y).field("z", &self.z).finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Uvec4 {
pub x: u32,
pub y: u32,
pub z: u32,
pub w: u32,
}
impl ::core::fmt::Debug for Uvec4 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("Uvec4").field("x", &self.x).field("y", &self.y).field("z", &self.z).field("w", &self.w).finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Ivec2 {
pub x: i32,
pub y: i32,
}
impl ::core::fmt::Debug for Ivec2 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("Ivec2").field("x", &self.x).field("y", &self.y).finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Ivec3 {
pub x: i32,
pub y: i32,
pub z: i32,
}
impl ::core::fmt::Debug for Ivec3 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("Ivec3").field("x", &self.x).field("y", &self.y).field("z", &self.z).finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Ivec4 {
pub x: i32,
pub y: i32,
pub z: i32,
pub w: i32,
}
impl ::core::fmt::Debug for Ivec4 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("Ivec4").field("x", &self.x).field("y", &self.y).field("z", &self.z).field("w", &self.w).finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Quat {
pub x: f32,
pub y: f32,
pub z: f32,
pub w: f32,
}
impl ::core::fmt::Debug for Quat {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("Quat").field("x", &self.x).field("y", &self.y).field("z", &self.z).field("w", &self.w).finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Mat4 {
pub x: Vec4,
pub y: Vec4,
pub z: Vec4,
pub w: Vec4,
}
impl ::core::fmt::Debug for Mat4 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("Mat4").field("x", &self.x).field("y", &self.y).field("z", &self.z).field("w", &self.w).finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Duration {
pub seconds: u64,
pub nanoseconds: u32,
}
impl ::core::fmt::Debug for Duration {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("Duration").field("seconds", &self.seconds).field("nanoseconds", &self.nanoseconds).finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Ray {
pub origin: Vec3,
pub dir: Vec3,
}
impl ::core::fmt::Debug for Ray {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("Ray").field("origin", &self.origin).field("dir", &self.dir).finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Empty {
pub dummy: u8,
}
impl ::core::fmt::Debug for Empty {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("Empty").field("dummy", &self.dummy).finish()
}
}
pub type Ulid = (u64,u64,);
}
#[allow(clippy::all)]
pub mod asset {
#[used]
#[doc(hidden)]
#[cfg(target_arch = "wasm32")]
static __FORCE_SECTION_REF: fn() = super::super::super::__link_section;
pub type EntityId = super::super::super::ambient::bindings::types::EntityId;
#[derive(Clone)]
pub enum UrlError{
InvalidUrl(wit_bindgen::rt::string::String),
}
impl ::core::fmt::Debug for UrlError {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
match self {
UrlError::InvalidUrl(e) => {
f.debug_tuple("UrlError::InvalidUrl").field(e).finish()
}
}
}
}
impl ::core::fmt::Display for UrlError {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
write!(f, "{:?}", self)}
}
impl std::error::Error for UrlError {}
#[allow(clippy::all)]
pub fn url(package_id: EntityId,path: &str,) -> Result<wit_bindgen::rt::string::String,UrlError>{
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
#[repr(align(4))]
struct RetArea([u8; 16]);
let mut ret_area = ::core::mem::MaybeUninit::<RetArea>::uninit();
let super::super::super::ambient::bindings::types::EntityId{ id0:id00, id1:id10, } = package_id;
let vec1 = path;
let ptr1 = vec1.as_ptr() as i32;
let len1 = vec1.len() as i32;
let ptr2 = ret_area.as_mut_ptr() as i32;
#[link(wasm_import_module = "ambient:bindings/asset")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "url")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/asset_url")]
fn wit_import(
_: i64, _: i64, _: i32, _: i32, _: i32, );
}
wit_import(wit_bindgen::rt::as_i64(id00), wit_bindgen::rt::as_i64(id10), ptr1, len1, ptr2);
match i32::from(*((ptr2 + 0) as *const u8)) {
0 => Ok({
let len3 = *((ptr2 + 8) as *const i32) as usize;
{#[cfg(not(debug_assertions))]{String::from_utf8_unchecked(Vec::from_raw_parts(*((ptr2 + 4) as *const i32) as *mut _, len3, len3))}#[cfg(debug_assertions)]{String::from_utf8(Vec::from_raw_parts(*((ptr2 + 4) as *const i32) as *mut _, len3, len3)).unwrap()}}
}),
1 => Err({{match i32::from(*((ptr2 + 4) as *const u8)) {
#[cfg(debug_assertions)]0 => UrlError::InvalidUrl({
let len4 = *((ptr2 + 12) as *const i32) as usize;
{#[cfg(not(debug_assertions))]{String::from_utf8_unchecked(Vec::from_raw_parts(*((ptr2 + 8) as *const i32) as *mut _, len4, len4))}#[cfg(debug_assertions)]{String::from_utf8(Vec::from_raw_parts(*((ptr2 + 8) as *const i32) as *mut _, len4, len4)).unwrap()}}
}),
#[cfg(not(debug_assertions))]_ => UrlError::InvalidUrl({
let len4 = *((ptr2 + 12) as *const i32) as usize;
{#[cfg(not(debug_assertions))]{String::from_utf8_unchecked(Vec::from_raw_parts(*((ptr2 + 8) as *const i32) as *mut _, len4, len4))}#[cfg(debug_assertions)]{String::from_utf8(Vec::from_raw_parts(*((ptr2 + 8) as *const i32) as *mut _, len4, len4)).unwrap()}}
}),
#[cfg(debug_assertions)]_ => panic!("invalid enum discriminant"),
}}}),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}
}
}
}
#[allow(clippy::all)]
pub mod client_mesh {
#[used]
#[doc(hidden)]
#[cfg(target_arch = "wasm32")]
static __FORCE_SECTION_REF: fn() = super::super::super::__link_section;
pub type Vec2 = super::super::super::ambient::bindings::types::Vec2;
pub type Vec3 = super::super::super::ambient::bindings::types::Vec3;
pub type Ulid = super::super::super::ambient::bindings::types::Ulid;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Vertex {
pub position: Vec3,
pub normal: Vec3,
pub tangent: Vec3,
pub texcoord0: Vec2,
}
impl ::core::fmt::Debug for Vertex {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("Vertex").field("position", &self.position).field("normal", &self.normal).field("tangent", &self.tangent).field("texcoord0", &self.texcoord0).finish()
}
}
#[derive(Clone)]
pub struct Descriptor {
pub vertices: wit_bindgen::rt::vec::Vec::<Vertex>,
pub indices: wit_bindgen::rt::vec::Vec::<u32>,
}
impl ::core::fmt::Debug for Descriptor {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("Descriptor").field("vertices", &self.vertices).field("indices", &self.indices).finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Handle {
pub ulid: Ulid,
}
impl ::core::fmt::Debug for Handle {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("Handle").field("ulid", &self.ulid).finish()
}
}
#[allow(clippy::all)]
pub fn create(desc: &Descriptor,) -> Handle{
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
#[repr(align(8))]
struct RetArea([u8; 16]);
let mut ret_area = ::core::mem::MaybeUninit::<RetArea>::uninit();
let Descriptor{ vertices:vertices0, indices:indices0, } = desc;
let vec1 = vertices0;
let ptr1 = vec1.as_ptr() as i32;
let len1 = vec1.len() as i32;
let vec2 = indices0;
let ptr2 = vec2.as_ptr() as i32;
let len2 = vec2.len() as i32;
let ptr3 = ret_area.as_mut_ptr() as i32;
#[link(wasm_import_module = "ambient:bindings/client-mesh")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "create")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/client-mesh_create")]
fn wit_import(
_: i32, _: i32, _: i32, _: i32, _: i32, );
}
wit_import(ptr1, len1, ptr2, len2, ptr3);
Handle{ulid:(*((ptr3 + 0) as *const i64) as u64, *((ptr3 + 8) as *const i64) as u64), }
}
}
#[allow(clippy::all)]
pub fn destroy(handle: Handle,){
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
let Handle{ ulid:ulid0, } = handle;
let (t1_0, t1_1, ) = ulid0;
#[link(wasm_import_module = "ambient:bindings/client-mesh")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "destroy")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/client-mesh_destroy")]
fn wit_import(
_: i64, _: i64, );
}
wit_import(wit_bindgen::rt::as_i64(t1_0), wit_bindgen::rt::as_i64(t1_1));
}
}
}
#[allow(clippy::all)]
pub mod client_texture {
#[used]
#[doc(hidden)]
#[cfg(target_arch = "wasm32")]
static __FORCE_SECTION_REF: fn() = super::super::super::__link_section;
pub type Ulid = super::super::super::ambient::bindings::types::Ulid;
#[derive(Clone, Copy)]
pub enum Format{
R8Unorm,
R8Snorm,
R8Uint,
R8Sint,
R16Uint,
R16Sint,
R16Unorm,
R16Snorm,
R16Float,
Rg8Unorm,
Rg8Snorm,
Rg8Uint,
Rg8Sint,
R32Uint,
R32Sint,
R32Float,
Rg16Uint,
Rg16Sint,
Rg16Unorm,
Rg16Snorm,
Rg16Float,
Rgba8Unorm,
Rgba8UnormSrgb,
Rgba8Snorm,
Rgba8Uint,
Rgba8Sint,
Bgra8Unorm,
Bgra8UnormSrgb,
Rgb9e5Ufloat,
Rgb10a2Unorm,
Rg11b10Float,
Rg32Uint,
Rg32Sint,
Rg32Float,
Rgba16Uint,
Rgba16Sint,
Rgba16Unorm,
Rgba16Snorm,
Rgba16Float,
Rgba32Uint,
Rgba32Sint,
Rgba32Float,
}
impl ::core::fmt::Debug for Format {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
match self {
Format::R8Unorm => {
f.debug_tuple("Format::R8Unorm").finish()
}
Format::R8Snorm => {
f.debug_tuple("Format::R8Snorm").finish()
}
Format::R8Uint => {
f.debug_tuple("Format::R8Uint").finish()
}
Format::R8Sint => {
f.debug_tuple("Format::R8Sint").finish()
}
Format::R16Uint => {
f.debug_tuple("Format::R16Uint").finish()
}
Format::R16Sint => {
f.debug_tuple("Format::R16Sint").finish()
}
Format::R16Unorm => {
f.debug_tuple("Format::R16Unorm").finish()
}
Format::R16Snorm => {
f.debug_tuple("Format::R16Snorm").finish()
}
Format::R16Float => {
f.debug_tuple("Format::R16Float").finish()
}
Format::Rg8Unorm => {
f.debug_tuple("Format::Rg8Unorm").finish()
}
Format::Rg8Snorm => {
f.debug_tuple("Format::Rg8Snorm").finish()
}
Format::Rg8Uint => {
f.debug_tuple("Format::Rg8Uint").finish()
}
Format::Rg8Sint => {
f.debug_tuple("Format::Rg8Sint").finish()
}
Format::R32Uint => {
f.debug_tuple("Format::R32Uint").finish()
}
Format::R32Sint => {
f.debug_tuple("Format::R32Sint").finish()
}
Format::R32Float => {
f.debug_tuple("Format::R32Float").finish()
}
Format::Rg16Uint => {
f.debug_tuple("Format::Rg16Uint").finish()
}
Format::Rg16Sint => {
f.debug_tuple("Format::Rg16Sint").finish()
}
Format::Rg16Unorm => {
f.debug_tuple("Format::Rg16Unorm").finish()
}
Format::Rg16Snorm => {
f.debug_tuple("Format::Rg16Snorm").finish()
}
Format::Rg16Float => {
f.debug_tuple("Format::Rg16Float").finish()
}
Format::Rgba8Unorm => {
f.debug_tuple("Format::Rgba8Unorm").finish()
}
Format::Rgba8UnormSrgb => {
f.debug_tuple("Format::Rgba8UnormSrgb").finish()
}
Format::Rgba8Snorm => {
f.debug_tuple("Format::Rgba8Snorm").finish()
}
Format::Rgba8Uint => {
f.debug_tuple("Format::Rgba8Uint").finish()
}
Format::Rgba8Sint => {
f.debug_tuple("Format::Rgba8Sint").finish()
}
Format::Bgra8Unorm => {
f.debug_tuple("Format::Bgra8Unorm").finish()
}
Format::Bgra8UnormSrgb => {
f.debug_tuple("Format::Bgra8UnormSrgb").finish()
}
Format::Rgb9e5Ufloat => {
f.debug_tuple("Format::Rgb9e5Ufloat").finish()
}
Format::Rgb10a2Unorm => {
f.debug_tuple("Format::Rgb10a2Unorm").finish()
}
Format::Rg11b10Float => {
f.debug_tuple("Format::Rg11b10Float").finish()
}
Format::Rg32Uint => {
f.debug_tuple("Format::Rg32Uint").finish()
}
Format::Rg32Sint => {
f.debug_tuple("Format::Rg32Sint").finish()
}
Format::Rg32Float => {
f.debug_tuple("Format::Rg32Float").finish()
}
Format::Rgba16Uint => {
f.debug_tuple("Format::Rgba16Uint").finish()
}
Format::Rgba16Sint => {
f.debug_tuple("Format::Rgba16Sint").finish()
}
Format::Rgba16Unorm => {
f.debug_tuple("Format::Rgba16Unorm").finish()
}
Format::Rgba16Snorm => {
f.debug_tuple("Format::Rgba16Snorm").finish()
}
Format::Rgba16Float => {
f.debug_tuple("Format::Rgba16Float").finish()
}
Format::Rgba32Uint => {
f.debug_tuple("Format::Rgba32Uint").finish()
}
Format::Rgba32Sint => {
f.debug_tuple("Format::Rgba32Sint").finish()
}
Format::Rgba32Float => {
f.debug_tuple("Format::Rgba32Float").finish()
}
}
}
}
#[derive(Clone)]
pub struct Descriptor2d {
pub width: u32,
pub height: u32,
pub format: Format,
pub data: wit_bindgen::rt::vec::Vec::<u8>,
}
impl ::core::fmt::Debug for Descriptor2d {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("Descriptor2d").field("width", &self.width).field("height", &self.height).field("format", &self.format).field("data", &self.data).finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Handle {
pub ulid: Ulid,
}
impl ::core::fmt::Debug for Handle {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("Handle").field("ulid", &self.ulid).finish()
}
}
#[allow(clippy::all)]
pub fn create2d(desc: &Descriptor2d,) -> Handle{
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
#[repr(align(8))]
struct RetArea([u8; 16]);
let mut ret_area = ::core::mem::MaybeUninit::<RetArea>::uninit();
let Descriptor2d{ width:width0, height:height0, format:format0, data:data0, } = desc;
let result1 = match format0 {
Format::R8Unorm=> {
0i32
}
Format::R8Snorm=> {
1i32
}
Format::R8Uint=> {
2i32
}
Format::R8Sint=> {
3i32
}
Format::R16Uint=> {
4i32
}
Format::R16Sint=> {
5i32
}
Format::R16Unorm=> {
6i32
}
Format::R16Snorm=> {
7i32
}
Format::R16Float=> {
8i32
}
Format::Rg8Unorm=> {
9i32
}
Format::Rg8Snorm=> {
10i32
}
Format::Rg8Uint=> {
11i32
}
Format::Rg8Sint=> {
12i32
}
Format::R32Uint=> {
13i32
}
Format::R32Sint=> {
14i32
}
Format::R32Float=> {
15i32
}
Format::Rg16Uint=> {
16i32
}
Format::Rg16Sint=> {
17i32
}
Format::Rg16Unorm=> {
18i32
}
Format::Rg16Snorm=> {
19i32
}
Format::Rg16Float=> {
20i32
}
Format::Rgba8Unorm=> {
21i32
}
Format::Rgba8UnormSrgb=> {
22i32
}
Format::Rgba8Snorm=> {
23i32
}
Format::Rgba8Uint=> {
24i32
}
Format::Rgba8Sint=> {
25i32
}
Format::Bgra8Unorm=> {
26i32
}
Format::Bgra8UnormSrgb=> {
27i32
}
Format::Rgb9e5Ufloat=> {
28i32
}
Format::Rgb10a2Unorm=> {
29i32
}
Format::Rg11b10Float=> {
30i32
}
Format::Rg32Uint=> {
31i32
}
Format::Rg32Sint=> {
32i32
}
Format::Rg32Float=> {
33i32
}
Format::Rgba16Uint=> {
34i32
}
Format::Rgba16Sint=> {
35i32
}
Format::Rgba16Unorm=> {
36i32
}
Format::Rgba16Snorm=> {
37i32
}
Format::Rgba16Float=> {
38i32
}
Format::Rgba32Uint=> {
39i32
}
Format::Rgba32Sint=> {
40i32
}
Format::Rgba32Float=> {
41i32
}
};
let vec2 = data0;
let ptr2 = vec2.as_ptr() as i32;
let len2 = vec2.len() as i32;
let ptr3 = ret_area.as_mut_ptr() as i32;
#[link(wasm_import_module = "ambient:bindings/client-texture")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "create2d")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/client-texture_create2d")]
fn wit_import(
_: i32, _: i32, _: i32, _: i32, _: i32, _: i32, );
}
wit_import(wit_bindgen::rt::as_i32(width0), wit_bindgen::rt::as_i32(height0), result1, ptr2, len2, ptr3);
Handle{ulid:(*((ptr3 + 0) as *const i64) as u64, *((ptr3 + 8) as *const i64) as u64), }
}
}
#[allow(clippy::all)]
pub fn destroy(handle: Handle,){
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
let Handle{ ulid:ulid0, } = handle;
let (t1_0, t1_1, ) = ulid0;
#[link(wasm_import_module = "ambient:bindings/client-texture")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "destroy")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/client-texture_destroy")]
fn wit_import(
_: i64, _: i64, );
}
wit_import(wit_bindgen::rt::as_i64(t1_0), wit_bindgen::rt::as_i64(t1_1));
}
}
}
#[allow(clippy::all)]
pub mod client_sampler {
#[used]
#[doc(hidden)]
#[cfg(target_arch = "wasm32")]
static __FORCE_SECTION_REF: fn() = super::super::super::__link_section;
pub type Ulid = super::super::super::ambient::bindings::types::Ulid;
#[derive(Clone, Copy)]
pub enum AddressMode{
ClampToEdge,
Repeat,
MirrorRepeat,
}
impl ::core::fmt::Debug for AddressMode {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
match self {
AddressMode::ClampToEdge => {
f.debug_tuple("AddressMode::ClampToEdge").finish()
}
AddressMode::Repeat => {
f.debug_tuple("AddressMode::Repeat").finish()
}
AddressMode::MirrorRepeat => {
f.debug_tuple("AddressMode::MirrorRepeat").finish()
}
}
}
}
#[derive(Clone, Copy)]
pub enum FilterMode{
Nearest,
Linear,
}
impl ::core::fmt::Debug for FilterMode {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
match self {
FilterMode::Nearest => {
f.debug_tuple("FilterMode::Nearest").finish()
}
FilterMode::Linear => {
f.debug_tuple("FilterMode::Linear").finish()
}
}
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Descriptor {
pub address_mode_u: AddressMode,
pub address_mode_v: AddressMode,
pub address_mode_w: AddressMode,
pub mag_filter: FilterMode,
pub min_filter: FilterMode,
pub mipmap_filter: FilterMode,
}
impl ::core::fmt::Debug for Descriptor {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("Descriptor").field("address-mode-u", &self.address_mode_u).field("address-mode-v", &self.address_mode_v).field("address-mode-w", &self.address_mode_w).field("mag-filter", &self.mag_filter).field("min-filter", &self.min_filter).field("mipmap-filter", &self.mipmap_filter).finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Handle {
pub ulid: Ulid,
}
impl ::core::fmt::Debug for Handle {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("Handle").field("ulid", &self.ulid).finish()
}
}
#[allow(clippy::all)]
pub fn create(desc: Descriptor,) -> Handle{
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
#[repr(align(8))]
struct RetArea([u8; 16]);
let mut ret_area = ::core::mem::MaybeUninit::<RetArea>::uninit();
let Descriptor{ address_mode_u:address_mode_u0, address_mode_v:address_mode_v0, address_mode_w:address_mode_w0, mag_filter:mag_filter0, min_filter:min_filter0, mipmap_filter:mipmap_filter0, } = desc;
let result1 = match address_mode_u0 {
AddressMode::ClampToEdge=> {
0i32
}
AddressMode::Repeat=> {
1i32
}
AddressMode::MirrorRepeat=> {
2i32
}
};
let result2 = match address_mode_v0 {
AddressMode::ClampToEdge=> {
0i32
}
AddressMode::Repeat=> {
1i32
}
AddressMode::MirrorRepeat=> {
2i32
}
};
let result3 = match address_mode_w0 {
AddressMode::ClampToEdge=> {
0i32
}
AddressMode::Repeat=> {
1i32
}
AddressMode::MirrorRepeat=> {
2i32
}
};
let result4 = match mag_filter0 {
FilterMode::Nearest=> {
0i32
}
FilterMode::Linear=> {
1i32
}
};
let result5 = match min_filter0 {
FilterMode::Nearest=> {
0i32
}
FilterMode::Linear=> {
1i32
}
};
let result6 = match mipmap_filter0 {
FilterMode::Nearest=> {
0i32
}
FilterMode::Linear=> {
1i32
}
};
let ptr7 = ret_area.as_mut_ptr() as i32;
#[link(wasm_import_module = "ambient:bindings/client-sampler")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "create")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/client-sampler_create")]
fn wit_import(
_: i32, _: i32, _: i32, _: i32, _: i32, _: i32, _: i32, );
}
wit_import(result1, result2, result3, result4, result5, result6, ptr7);
Handle{ulid:(*((ptr7 + 0) as *const i64) as u64, *((ptr7 + 8) as *const i64) as u64), }
}
}
#[allow(clippy::all)]
pub fn destroy(handle: Handle,){
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
let Handle{ ulid:ulid0, } = handle;
let (t1_0, t1_1, ) = ulid0;
#[link(wasm_import_module = "ambient:bindings/client-sampler")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "destroy")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/client-sampler_destroy")]
fn wit_import(
_: i64, _: i64, );
}
wit_import(wit_bindgen::rt::as_i64(t1_0), wit_bindgen::rt::as_i64(t1_1));
}
}
}
#[allow(clippy::all)]
pub mod client_material {
#[used]
#[doc(hidden)]
#[cfg(target_arch = "wasm32")]
static __FORCE_SECTION_REF: fn() = super::super::super::__link_section;
pub type Ulid = super::super::super::ambient::bindings::types::Ulid;
pub type TextureHandle = super::super::super::ambient::bindings::client_texture::Handle;
pub type SamplerHandle = super::super::super::ambient::bindings::client_sampler::Handle;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Descriptor {
pub base_color_map: TextureHandle,
pub normal_map: TextureHandle,
pub metallic_roughness_map: TextureHandle,
pub sampler: SamplerHandle,
pub transparent: bool,
}
impl ::core::fmt::Debug for Descriptor {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("Descriptor").field("base-color-map", &self.base_color_map).field("normal-map", &self.normal_map).field("metallic-roughness-map", &self.metallic_roughness_map).field("sampler", &self.sampler).field("transparent", &self.transparent).finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Handle {
pub ulid: Ulid,
}
impl ::core::fmt::Debug for Handle {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("Handle").field("ulid", &self.ulid).finish()
}
}
#[allow(clippy::all)]
pub fn create(desc: Descriptor,) -> Handle{
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
#[repr(align(8))]
struct RetArea([u8; 16]);
let mut ret_area = ::core::mem::MaybeUninit::<RetArea>::uninit();
let Descriptor{ base_color_map:base_color_map0, normal_map:normal_map0, metallic_roughness_map:metallic_roughness_map0, sampler:sampler0, transparent:transparent0, } = desc;
let super::super::super::ambient::bindings::client_texture::Handle{ ulid:ulid1, } = base_color_map0;
let (t2_0, t2_1, ) = ulid1;
let super::super::super::ambient::bindings::client_texture::Handle{ ulid:ulid3, } = normal_map0;
let (t4_0, t4_1, ) = ulid3;
let super::super::super::ambient::bindings::client_texture::Handle{ ulid:ulid5, } = metallic_roughness_map0;
let (t6_0, t6_1, ) = ulid5;
let super::super::super::ambient::bindings::client_sampler::Handle{ ulid:ulid7, } = sampler0;
let (t8_0, t8_1, ) = ulid7;
let ptr9 = ret_area.as_mut_ptr() as i32;
#[link(wasm_import_module = "ambient:bindings/client-material")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "create")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/client-material_create")]
fn wit_import(
_: i64, _: i64, _: i64, _: i64, _: i64, _: i64, _: i64, _: i64, _: i32, _: i32, );
}
wit_import(wit_bindgen::rt::as_i64(t2_0), wit_bindgen::rt::as_i64(t2_1), wit_bindgen::rt::as_i64(t4_0), wit_bindgen::rt::as_i64(t4_1), wit_bindgen::rt::as_i64(t6_0), wit_bindgen::rt::as_i64(t6_1), wit_bindgen::rt::as_i64(t8_0), wit_bindgen::rt::as_i64(t8_1), match transparent0 { true => 1, false => 0 }, ptr9);
Handle{ulid:(*((ptr9 + 0) as *const i64) as u64, *((ptr9 + 8) as *const i64) as u64), }
}
}
#[allow(clippy::all)]
pub fn destroy(handle: Handle,){
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
let Handle{ ulid:ulid0, } = handle;
let (t1_0, t1_1, ) = ulid0;
#[link(wasm_import_module = "ambient:bindings/client-material")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "destroy")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/client-material_destroy")]
fn wit_import(
_: i64, _: i64, );
}
wit_import(wit_bindgen::rt::as_i64(t1_0), wit_bindgen::rt::as_i64(t1_1));
}
}
}
#[allow(clippy::all)]
pub mod component {
#[used]
#[doc(hidden)]
#[cfg(target_arch = "wasm32")]
static __FORCE_SECTION_REF: fn() = super::super::super::__link_section;
pub type EntityId = super::super::super::ambient::bindings::types::EntityId;
pub type Mat4 = super::super::super::ambient::bindings::types::Mat4;
pub type Quat = super::super::super::ambient::bindings::types::Quat;
pub type Vec2 = super::super::super::ambient::bindings::types::Vec2;
pub type Vec3 = super::super::super::ambient::bindings::types::Vec3;
pub type Vec4 = super::super::super::ambient::bindings::types::Vec4;
pub type Uvec2 = super::super::super::ambient::bindings::types::Uvec2;
pub type Uvec3 = super::super::super::ambient::bindings::types::Uvec3;
pub type Uvec4 = super::super::super::ambient::bindings::types::Uvec4;
pub type Ivec2 = super::super::super::ambient::bindings::types::Ivec2;
pub type Ivec3 = super::super::super::ambient::bindings::types::Ivec3;
pub type Ivec4 = super::super::super::ambient::bindings::types::Ivec4;
pub type Duration = super::super::super::ambient::bindings::types::Duration;
pub type Empty = super::super::super::ambient::bindings::types::Empty;
pub type ProceduralMeshHandle = super::super::super::ambient::bindings::client_mesh::Handle;
pub type ProceduralTextureHandle = super::super::super::ambient::bindings::client_texture::Handle;
pub type ProceduralSamplerHandle = super::super::super::ambient::bindings::client_sampler::Handle;
pub type ProceduralMaterialHandle = super::super::super::ambient::bindings::client_material::Handle;
#[derive(Clone)]
pub enum VecValue{
TypeEmpty(wit_bindgen::rt::vec::Vec::<Empty>),
TypeBool(wit_bindgen::rt::vec::Vec::<bool>),
TypeEntityId(wit_bindgen::rt::vec::Vec::<EntityId>),
TypeF32(wit_bindgen::rt::vec::Vec::<f32>),
TypeF64(wit_bindgen::rt::vec::Vec::<f64>),
TypeMat4(wit_bindgen::rt::vec::Vec::<Mat4>),
TypeQuat(wit_bindgen::rt::vec::Vec::<Quat>),
TypeString(wit_bindgen::rt::vec::Vec::<wit_bindgen::rt::string::String>),
TypeU8(wit_bindgen::rt::vec::Vec::<u8>),
TypeU16(wit_bindgen::rt::vec::Vec::<u16>),
TypeU32(wit_bindgen::rt::vec::Vec::<u32>),
TypeU64(wit_bindgen::rt::vec::Vec::<u64>),
TypeI8(wit_bindgen::rt::vec::Vec::<i8>),
TypeI16(wit_bindgen::rt::vec::Vec::<i16>),
TypeI32(wit_bindgen::rt::vec::Vec::<i32>),
TypeI64(wit_bindgen::rt::vec::Vec::<i64>),
TypeVec2(wit_bindgen::rt::vec::Vec::<Vec2>),
TypeVec3(wit_bindgen::rt::vec::Vec::<Vec3>),
TypeVec4(wit_bindgen::rt::vec::Vec::<Vec4>),
TypeUvec2(wit_bindgen::rt::vec::Vec::<Uvec2>),
TypeUvec3(wit_bindgen::rt::vec::Vec::<Uvec3>),
TypeUvec4(wit_bindgen::rt::vec::Vec::<Uvec4>),
TypeIvec2(wit_bindgen::rt::vec::Vec::<Ivec2>),
TypeIvec3(wit_bindgen::rt::vec::Vec::<Ivec3>),
TypeIvec4(wit_bindgen::rt::vec::Vec::<Ivec4>),
TypeDuration(wit_bindgen::rt::vec::Vec::<Duration>),
TypeProceduralMeshHandle(wit_bindgen::rt::vec::Vec::<ProceduralMeshHandle>),
TypeProceduralTextureHandle(wit_bindgen::rt::vec::Vec::<ProceduralTextureHandle>),
TypeProceduralSamplerHandle(wit_bindgen::rt::vec::Vec::<ProceduralSamplerHandle>),
TypeProceduralMaterialHandle(wit_bindgen::rt::vec::Vec::<ProceduralMaterialHandle>),
}
impl ::core::fmt::Debug for VecValue {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
match self {
VecValue::TypeEmpty(e) => {
f.debug_tuple("VecValue::TypeEmpty").field(e).finish()
}
VecValue::TypeBool(e) => {
f.debug_tuple("VecValue::TypeBool").field(e).finish()
}
VecValue::TypeEntityId(e) => {
f.debug_tuple("VecValue::TypeEntityId").field(e).finish()
}
VecValue::TypeF32(e) => {
f.debug_tuple("VecValue::TypeF32").field(e).finish()
}
VecValue::TypeF64(e) => {
f.debug_tuple("VecValue::TypeF64").field(e).finish()
}
VecValue::TypeMat4(e) => {
f.debug_tuple("VecValue::TypeMat4").field(e).finish()
}
VecValue::TypeQuat(e) => {
f.debug_tuple("VecValue::TypeQuat").field(e).finish()
}
VecValue::TypeString(e) => {
f.debug_tuple("VecValue::TypeString").field(e).finish()
}
VecValue::TypeU8(e) => {
f.debug_tuple("VecValue::TypeU8").field(e).finish()
}
VecValue::TypeU16(e) => {
f.debug_tuple("VecValue::TypeU16").field(e).finish()
}
VecValue::TypeU32(e) => {
f.debug_tuple("VecValue::TypeU32").field(e).finish()
}
VecValue::TypeU64(e) => {
f.debug_tuple("VecValue::TypeU64").field(e).finish()
}
VecValue::TypeI8(e) => {
f.debug_tuple("VecValue::TypeI8").field(e).finish()
}
VecValue::TypeI16(e) => {
f.debug_tuple("VecValue::TypeI16").field(e).finish()
}
VecValue::TypeI32(e) => {
f.debug_tuple("VecValue::TypeI32").field(e).finish()
}
VecValue::TypeI64(e) => {
f.debug_tuple("VecValue::TypeI64").field(e).finish()
}
VecValue::TypeVec2(e) => {
f.debug_tuple("VecValue::TypeVec2").field(e).finish()
}
VecValue::TypeVec3(e) => {
f.debug_tuple("VecValue::TypeVec3").field(e).finish()
}
VecValue::TypeVec4(e) => {
f.debug_tuple("VecValue::TypeVec4").field(e).finish()
}
VecValue::TypeUvec2(e) => {
f.debug_tuple("VecValue::TypeUvec2").field(e).finish()
}
VecValue::TypeUvec3(e) => {
f.debug_tuple("VecValue::TypeUvec3").field(e).finish()
}
VecValue::TypeUvec4(e) => {
f.debug_tuple("VecValue::TypeUvec4").field(e).finish()
}
VecValue::TypeIvec2(e) => {
f.debug_tuple("VecValue::TypeIvec2").field(e).finish()
}
VecValue::TypeIvec3(e) => {
f.debug_tuple("VecValue::TypeIvec3").field(e).finish()
}
VecValue::TypeIvec4(e) => {
f.debug_tuple("VecValue::TypeIvec4").field(e).finish()
}
VecValue::TypeDuration(e) => {
f.debug_tuple("VecValue::TypeDuration").field(e).finish()
}
VecValue::TypeProceduralMeshHandle(e) => {
f.debug_tuple("VecValue::TypeProceduralMeshHandle").field(e).finish()
}
VecValue::TypeProceduralTextureHandle(e) => {
f.debug_tuple("VecValue::TypeProceduralTextureHandle").field(e).finish()
}
VecValue::TypeProceduralSamplerHandle(e) => {
f.debug_tuple("VecValue::TypeProceduralSamplerHandle").field(e).finish()
}
VecValue::TypeProceduralMaterialHandle(e) => {
f.debug_tuple("VecValue::TypeProceduralMaterialHandle").field(e).finish()
}
}
}
}
#[derive(Clone)]
pub enum OptionValue{
TypeEmpty(Option<Empty>),
TypeBool(Option<bool>),
TypeEntityId(Option<EntityId>),
TypeF32(Option<f32>),
TypeF64(Option<f64>),
TypeMat4(Option<Mat4>),
TypeQuat(Option<Quat>),
TypeString(Option<wit_bindgen::rt::string::String>),
TypeU8(Option<u8>),
TypeU16(Option<u16>),
TypeU32(Option<u32>),
TypeU64(Option<u64>),
TypeI8(Option<i8>),
TypeI16(Option<i16>),
TypeI32(Option<i32>),
TypeI64(Option<i64>),
TypeVec2(Option<Vec2>),
TypeVec3(Option<Vec3>),
TypeVec4(Option<Vec4>),
TypeUvec2(Option<Uvec2>),
TypeUvec3(Option<Uvec3>),
TypeUvec4(Option<Uvec4>),
TypeIvec2(Option<Ivec2>),
TypeIvec3(Option<Ivec3>),
TypeIvec4(Option<Ivec4>),
TypeDuration(Option<Duration>),
TypeProceduralMeshHandle(Option<ProceduralMeshHandle>),
TypeProceduralTextureHandle(Option<ProceduralTextureHandle>),
TypeProceduralSamplerHandle(Option<ProceduralSamplerHandle>),
TypeProceduralMaterialHandle(Option<ProceduralMaterialHandle>),
}
impl ::core::fmt::Debug for OptionValue {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
match self {
OptionValue::TypeEmpty(e) => {
f.debug_tuple("OptionValue::TypeEmpty").field(e).finish()
}
OptionValue::TypeBool(e) => {
f.debug_tuple("OptionValue::TypeBool").field(e).finish()
}
OptionValue::TypeEntityId(e) => {
f.debug_tuple("OptionValue::TypeEntityId").field(e).finish()
}
OptionValue::TypeF32(e) => {
f.debug_tuple("OptionValue::TypeF32").field(e).finish()
}
OptionValue::TypeF64(e) => {
f.debug_tuple("OptionValue::TypeF64").field(e).finish()
}
OptionValue::TypeMat4(e) => {
f.debug_tuple("OptionValue::TypeMat4").field(e).finish()
}
OptionValue::TypeQuat(e) => {
f.debug_tuple("OptionValue::TypeQuat").field(e).finish()
}
OptionValue::TypeString(e) => {
f.debug_tuple("OptionValue::TypeString").field(e).finish()
}
OptionValue::TypeU8(e) => {
f.debug_tuple("OptionValue::TypeU8").field(e).finish()
}
OptionValue::TypeU16(e) => {
f.debug_tuple("OptionValue::TypeU16").field(e).finish()
}
OptionValue::TypeU32(e) => {
f.debug_tuple("OptionValue::TypeU32").field(e).finish()
}
OptionValue::TypeU64(e) => {
f.debug_tuple("OptionValue::TypeU64").field(e).finish()
}
OptionValue::TypeI8(e) => {
f.debug_tuple("OptionValue::TypeI8").field(e).finish()
}
OptionValue::TypeI16(e) => {
f.debug_tuple("OptionValue::TypeI16").field(e).finish()
}
OptionValue::TypeI32(e) => {
f.debug_tuple("OptionValue::TypeI32").field(e).finish()
}
OptionValue::TypeI64(e) => {
f.debug_tuple("OptionValue::TypeI64").field(e).finish()
}
OptionValue::TypeVec2(e) => {
f.debug_tuple("OptionValue::TypeVec2").field(e).finish()
}
OptionValue::TypeVec3(e) => {
f.debug_tuple("OptionValue::TypeVec3").field(e).finish()
}
OptionValue::TypeVec4(e) => {
f.debug_tuple("OptionValue::TypeVec4").field(e).finish()
}
OptionValue::TypeUvec2(e) => {
f.debug_tuple("OptionValue::TypeUvec2").field(e).finish()
}
OptionValue::TypeUvec3(e) => {
f.debug_tuple("OptionValue::TypeUvec3").field(e).finish()
}
OptionValue::TypeUvec4(e) => {
f.debug_tuple("OptionValue::TypeUvec4").field(e).finish()
}
OptionValue::TypeIvec2(e) => {
f.debug_tuple("OptionValue::TypeIvec2").field(e).finish()
}
OptionValue::TypeIvec3(e) => {
f.debug_tuple("OptionValue::TypeIvec3").field(e).finish()
}
OptionValue::TypeIvec4(e) => {
f.debug_tuple("OptionValue::TypeIvec4").field(e).finish()
}
OptionValue::TypeDuration(e) => {
f.debug_tuple("OptionValue::TypeDuration").field(e).finish()
}
OptionValue::TypeProceduralMeshHandle(e) => {
f.debug_tuple("OptionValue::TypeProceduralMeshHandle").field(e).finish()
}
OptionValue::TypeProceduralTextureHandle(e) => {
f.debug_tuple("OptionValue::TypeProceduralTextureHandle").field(e).finish()
}
OptionValue::TypeProceduralSamplerHandle(e) => {
f.debug_tuple("OptionValue::TypeProceduralSamplerHandle").field(e).finish()
}
OptionValue::TypeProceduralMaterialHandle(e) => {
f.debug_tuple("OptionValue::TypeProceduralMaterialHandle").field(e).finish()
}
}
}
}
#[derive(Clone)]
pub enum Value{
TypeEmpty(Empty),
TypeBool(bool),
TypeEntityId(EntityId),
TypeF32(f32),
TypeF64(f64),
TypeMat4(Mat4),
TypeQuat(Quat),
TypeString(wit_bindgen::rt::string::String),
TypeU8(u8),
TypeU16(u16),
TypeU32(u32),
TypeU64(u64),
TypeI8(i8),
TypeI16(i16),
TypeI32(i32),
TypeI64(i64),
TypeVec2(Vec2),
TypeVec3(Vec3),
TypeVec4(Vec4),
TypeUvec2(Uvec2),
TypeUvec3(Uvec3),
TypeUvec4(Uvec4),
TypeIvec2(Ivec2),
TypeIvec3(Ivec3),
TypeIvec4(Ivec4),
TypeDuration(Duration),
TypeProceduralMeshHandle(ProceduralMeshHandle),
TypeProceduralTextureHandle(ProceduralTextureHandle),
TypeProceduralSamplerHandle(ProceduralSamplerHandle),
TypeProceduralMaterialHandle(ProceduralMaterialHandle),
TypeVec(VecValue),
TypeOption(OptionValue),
}
impl ::core::fmt::Debug for Value {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
match self {
Value::TypeEmpty(e) => {
f.debug_tuple("Value::TypeEmpty").field(e).finish()
}
Value::TypeBool(e) => {
f.debug_tuple("Value::TypeBool").field(e).finish()
}
Value::TypeEntityId(e) => {
f.debug_tuple("Value::TypeEntityId").field(e).finish()
}
Value::TypeF32(e) => {
f.debug_tuple("Value::TypeF32").field(e).finish()
}
Value::TypeF64(e) => {
f.debug_tuple("Value::TypeF64").field(e).finish()
}
Value::TypeMat4(e) => {
f.debug_tuple("Value::TypeMat4").field(e).finish()
}
Value::TypeQuat(e) => {
f.debug_tuple("Value::TypeQuat").field(e).finish()
}
Value::TypeString(e) => {
f.debug_tuple("Value::TypeString").field(e).finish()
}
Value::TypeU8(e) => {
f.debug_tuple("Value::TypeU8").field(e).finish()
}
Value::TypeU16(e) => {
f.debug_tuple("Value::TypeU16").field(e).finish()
}
Value::TypeU32(e) => {
f.debug_tuple("Value::TypeU32").field(e).finish()
}
Value::TypeU64(e) => {
f.debug_tuple("Value::TypeU64").field(e).finish()
}
Value::TypeI8(e) => {
f.debug_tuple("Value::TypeI8").field(e).finish()
}
Value::TypeI16(e) => {
f.debug_tuple("Value::TypeI16").field(e).finish()
}
Value::TypeI32(e) => {
f.debug_tuple("Value::TypeI32").field(e).finish()
}
Value::TypeI64(e) => {
f.debug_tuple("Value::TypeI64").field(e).finish()
}
Value::TypeVec2(e) => {
f.debug_tuple("Value::TypeVec2").field(e).finish()
}
Value::TypeVec3(e) => {
f.debug_tuple("Value::TypeVec3").field(e).finish()
}
Value::TypeVec4(e) => {
f.debug_tuple("Value::TypeVec4").field(e).finish()
}
Value::TypeUvec2(e) => {
f.debug_tuple("Value::TypeUvec2").field(e).finish()
}
Value::TypeUvec3(e) => {
f.debug_tuple("Value::TypeUvec3").field(e).finish()
}
Value::TypeUvec4(e) => {
f.debug_tuple("Value::TypeUvec4").field(e).finish()
}
Value::TypeIvec2(e) => {
f.debug_tuple("Value::TypeIvec2").field(e).finish()
}
Value::TypeIvec3(e) => {
f.debug_tuple("Value::TypeIvec3").field(e).finish()
}
Value::TypeIvec4(e) => {
f.debug_tuple("Value::TypeIvec4").field(e).finish()
}
Value::TypeDuration(e) => {
f.debug_tuple("Value::TypeDuration").field(e).finish()
}
Value::TypeProceduralMeshHandle(e) => {
f.debug_tuple("Value::TypeProceduralMeshHandle").field(e).finish()
}
Value::TypeProceduralTextureHandle(e) => {
f.debug_tuple("Value::TypeProceduralTextureHandle").field(e).finish()
}
Value::TypeProceduralSamplerHandle(e) => {
f.debug_tuple("Value::TypeProceduralSamplerHandle").field(e).finish()
}
Value::TypeProceduralMaterialHandle(e) => {
f.debug_tuple("Value::TypeProceduralMaterialHandle").field(e).finish()
}
Value::TypeVec(e) => {
f.debug_tuple("Value::TypeVec").field(e).finish()
}
Value::TypeOption(e) => {
f.debug_tuple("Value::TypeOption").field(e).finish()
}
}
}
}
pub type Entity = wit_bindgen::rt::vec::Vec::<(u32,Value,)>;
#[derive(Clone)]
pub struct QueryBuild {
pub components: wit_bindgen::rt::vec::Vec::<u32>,
pub includes: wit_bindgen::rt::vec::Vec::<u32>,
pub excludes: wit_bindgen::rt::vec::Vec::<u32>,
pub changed: wit_bindgen::rt::vec::Vec::<u32>,
}
impl ::core::fmt::Debug for QueryBuild {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("QueryBuild").field("components", &self.components).field("includes", &self.includes).field("excludes", &self.excludes).field("changed", &self.changed).finish()
}
}
#[repr(u8)]
#[derive(Clone, Copy, PartialEq, Eq)]
pub enum QueryEvent {
Frame,
Spawn,
Despawn,
}
impl ::core::fmt::Debug for QueryEvent {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
match self {
QueryEvent::Frame => {
f.debug_tuple("QueryEvent::Frame").finish()
}
QueryEvent::Spawn => {
f.debug_tuple("QueryEvent::Spawn").finish()
}
QueryEvent::Despawn => {
f.debug_tuple("QueryEvent::Despawn").finish()
}
}
}
}
#[allow(clippy::all)]
pub fn get_index(id: &str,) -> Option<u32>{
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
#[repr(align(4))]
struct RetArea([u8; 8]);
let mut ret_area = ::core::mem::MaybeUninit::<RetArea>::uninit();
let vec0 = id;
let ptr0 = vec0.as_ptr() as i32;
let len0 = vec0.len() as i32;
let ptr1 = ret_area.as_mut_ptr() as i32;
#[link(wasm_import_module = "ambient:bindings/component")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "get-index")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/component_get-index")]
fn wit_import(
_: i32, _: i32, _: i32, );
}
wit_import(ptr0, len0, ptr1);
match i32::from(*((ptr1 + 0) as *const u8)) {
0 => None,
1 => Some(*((ptr1 + 4) as *const i32) as u32),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}
}
}
#[allow(clippy::all)]
pub fn get_id(index: u32,) -> Option<wit_bindgen::rt::string::String>{
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
#[repr(align(4))]
struct RetArea([u8; 12]);
let mut ret_area = ::core::mem::MaybeUninit::<RetArea>::uninit();
let ptr0 = ret_area.as_mut_ptr() as i32;
#[link(wasm_import_module = "ambient:bindings/component")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "get-id")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/component_get-id")]
fn wit_import(
_: i32, _: i32, );
}
wit_import(wit_bindgen::rt::as_i32(index), ptr0);
match i32::from(*((ptr0 + 0) as *const u8)) {
0 => None,
1 => Some({
let len1 = *((ptr0 + 8) as *const i32) as usize;
{#[cfg(not(debug_assertions))]{String::from_utf8_unchecked(Vec::from_raw_parts(*((ptr0 + 4) as *const i32) as *mut _, len1, len1))}#[cfg(debug_assertions)]{String::from_utf8(Vec::from_raw_parts(*((ptr0 + 4) as *const i32) as *mut _, len1, len1)).unwrap()}}
}),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}
}
}
#[allow(clippy::all)]
pub fn get_component(entity: EntityId,index: u32,) -> Option<Value>{
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
#[repr(align(8))]
struct RetArea([u8; 96]);
let mut ret_area = ::core::mem::MaybeUninit::<RetArea>::uninit();
let super::super::super::ambient::bindings::types::EntityId{ id0:id00, id1:id10, } = entity;
let ptr1 = ret_area.as_mut_ptr() as i32;
#[link(wasm_import_module = "ambient:bindings/component")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "get-component")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/component_get-component")]
fn wit_import(
_: i64, _: i64, _: i32, _: i32, );
}
wit_import(wit_bindgen::rt::as_i64(id00), wit_bindgen::rt::as_i64(id10), wit_bindgen::rt::as_i32(index), ptr1);
match i32::from(*((ptr1 + 0) as *const u8)) {
0 => None,
1 => Some({{match i32::from(*((ptr1 + 8) as *const u8)) {
0 => Value::TypeEmpty(super::super::super::ambient::bindings::types::Empty{dummy:i32::from(*((ptr1 + 16) as *const u8)) as u8, }),
1 => Value::TypeBool({
#[cfg(not(debug_assertions))]
{ ::core::mem::transmute::<u8, bool>(i32::from(*((ptr1 + 16) as *const u8)) as u8) }
#[cfg(debug_assertions)]
{
match i32::from(*((ptr1 + 16) as *const u8)) {
0 => false,
1 => true,
_ => panic!("invalid bool discriminant"),
}
}
}),
2 => Value::TypeEntityId(super::super::super::ambient::bindings::types::EntityId{id0:*((ptr1 + 16) as *const i64) as u64, id1:*((ptr1 + 24) as *const i64) as u64, }),
3 => Value::TypeF32(*((ptr1 + 16) as *const f32)),
4 => Value::TypeF64(*((ptr1 + 16) as *const f64)),
5 => Value::TypeMat4(super::super::super::ambient::bindings::types::Mat4{x:super::super::super::ambient::bindings::types::Vec4{x:*((ptr1 + 16) as *const f32), y:*((ptr1 + 20) as *const f32), z:*((ptr1 + 24) as *const f32), w:*((ptr1 + 28) as *const f32), }, y:super::super::super::ambient::bindings::types::Vec4{x:*((ptr1 + 32) as *const f32), y:*((ptr1 + 36) as *const f32), z:*((ptr1 + 40) as *const f32), w:*((ptr1 + 44) as *const f32), }, z:super::super::super::ambient::bindings::types::Vec4{x:*((ptr1 + 48) as *const f32), y:*((ptr1 + 52) as *const f32), z:*((ptr1 + 56) as *const f32), w:*((ptr1 + 60) as *const f32), }, w:super::super::super::ambient::bindings::types::Vec4{x:*((ptr1 + 64) as *const f32), y:*((ptr1 + 68) as *const f32), z:*((ptr1 + 72) as *const f32), w:*((ptr1 + 76) as *const f32), }, }),
6 => Value::TypeQuat(super::super::super::ambient::bindings::types::Quat{x:*((ptr1 + 16) as *const f32), y:*((ptr1 + 20) as *const f32), z:*((ptr1 + 24) as *const f32), w:*((ptr1 + 28) as *const f32), }),
7 => Value::TypeString({
let len2 = *((ptr1 + 20) as *const i32) as usize;
{#[cfg(not(debug_assertions))]{String::from_utf8_unchecked(Vec::from_raw_parts(*((ptr1 + 16) as *const i32) as *mut _, len2, len2))}#[cfg(debug_assertions)]{String::from_utf8(Vec::from_raw_parts(*((ptr1 + 16) as *const i32) as *mut _, len2, len2)).unwrap()}}
}),
8 => Value::TypeU8(i32::from(*((ptr1 + 16) as *const u8)) as u8),
9 => Value::TypeU16(i32::from(*((ptr1 + 16) as *const u16)) as u16),
10 => Value::TypeU32(*((ptr1 + 16) as *const i32) as u32),
11 => Value::TypeU64(*((ptr1 + 16) as *const i64) as u64),
12 => Value::TypeI8(i32::from(*((ptr1 + 16) as *const i8)) as i8),
13 => Value::TypeI16(i32::from(*((ptr1 + 16) as *const i16)) as i16),
14 => Value::TypeI32(*((ptr1 + 16) as *const i32)),
15 => Value::TypeI64(*((ptr1 + 16) as *const i64)),
16 => Value::TypeVec2(super::super::super::ambient::bindings::types::Vec2{x:*((ptr1 + 16) as *const f32), y:*((ptr1 + 20) as *const f32), }),
17 => Value::TypeVec3(super::super::super::ambient::bindings::types::Vec3{x:*((ptr1 + 16) as *const f32), y:*((ptr1 + 20) as *const f32), z:*((ptr1 + 24) as *const f32), }),
18 => Value::TypeVec4(super::super::super::ambient::bindings::types::Vec4{x:*((ptr1 + 16) as *const f32), y:*((ptr1 + 20) as *const f32), z:*((ptr1 + 24) as *const f32), w:*((ptr1 + 28) as *const f32), }),
19 => Value::TypeUvec2(super::super::super::ambient::bindings::types::Uvec2{x:*((ptr1 + 16) as *const i32) as u32, y:*((ptr1 + 20) as *const i32) as u32, }),
20 => Value::TypeUvec3(super::super::super::ambient::bindings::types::Uvec3{x:*((ptr1 + 16) as *const i32) as u32, y:*((ptr1 + 20) as *const i32) as u32, z:*((ptr1 + 24) as *const i32) as u32, }),
21 => Value::TypeUvec4(super::super::super::ambient::bindings::types::Uvec4{x:*((ptr1 + 16) as *const i32) as u32, y:*((ptr1 + 20) as *const i32) as u32, z:*((ptr1 + 24) as *const i32) as u32, w:*((ptr1 + 28) as *const i32) as u32, }),
22 => Value::TypeIvec2(super::super::super::ambient::bindings::types::Ivec2{x:*((ptr1 + 16) as *const i32), y:*((ptr1 + 20) as *const i32), }),
23 => Value::TypeIvec3(super::super::super::ambient::bindings::types::Ivec3{x:*((ptr1 + 16) as *const i32), y:*((ptr1 + 20) as *const i32), z:*((ptr1 + 24) as *const i32), }),
24 => Value::TypeIvec4(super::super::super::ambient::bindings::types::Ivec4{x:*((ptr1 + 16) as *const i32), y:*((ptr1 + 20) as *const i32), z:*((ptr1 + 24) as *const i32), w:*((ptr1 + 28) as *const i32), }),
25 => Value::TypeDuration(super::super::super::ambient::bindings::types::Duration{seconds:*((ptr1 + 16) as *const i64) as u64, nanoseconds:*((ptr1 + 24) as *const i32) as u32, }),
26 => Value::TypeProceduralMeshHandle(super::super::super::ambient::bindings::client_mesh::Handle{ulid:(*((ptr1 + 16) as *const i64) as u64, *((ptr1 + 24) as *const i64) as u64), }),
27 => Value::TypeProceduralTextureHandle(super::super::super::ambient::bindings::client_texture::Handle{ulid:(*((ptr1 + 16) as *const i64) as u64, *((ptr1 + 24) as *const i64) as u64), }),
28 => Value::TypeProceduralSamplerHandle(super::super::super::ambient::bindings::client_sampler::Handle{ulid:(*((ptr1 + 16) as *const i64) as u64, *((ptr1 + 24) as *const i64) as u64), }),
29 => Value::TypeProceduralMaterialHandle(super::super::super::ambient::bindings::client_material::Handle{ulid:(*((ptr1 + 16) as *const i64) as u64, *((ptr1 + 24) as *const i64) as u64), }),
30 => Value::TypeVec({{match i32::from(*((ptr1 + 16) as *const u8)) {
0 => VecValue::TypeEmpty({
let len3 = *((ptr1 + 24) as *const i32) as usize;
Vec::from_raw_parts(*((ptr1 + 20) as *const i32) as *mut _, len3, len3)
}),
1 => VecValue::TypeBool({
let base4 = *((ptr1 + 20) as *const i32);
let len4 = *((ptr1 + 24) as *const i32);
let mut result4 = Vec::with_capacity(len4 as usize);
for i in 0..len4 {
let base = base4 + i *1;
result4.push({
#[cfg(not(debug_assertions))]
{ ::core::mem::transmute::<u8, bool>(i32::from(*((base + 0) as *const u8)) as u8) }
#[cfg(debug_assertions)]
{
match i32::from(*((base + 0) as *const u8)) {
0 => false,
1 => true,
_ => panic!("invalid bool discriminant"),
}
}
});
}
wit_bindgen::rt::dealloc(base4, (len4 as usize) * 1, 1);
result4
}),
2 => VecValue::TypeEntityId({
let len5 = *((ptr1 + 24) as *const i32) as usize;
Vec::from_raw_parts(*((ptr1 + 20) as *const i32) as *mut _, len5, len5)
}),
3 => VecValue::TypeF32({
let len6 = *((ptr1 + 24) as *const i32) as usize;
Vec::from_raw_parts(*((ptr1 + 20) as *const i32) as *mut _, len6, len6)
}),
4 => VecValue::TypeF64({
let len7 = *((ptr1 + 24) as *const i32) as usize;
Vec::from_raw_parts(*((ptr1 + 20) as *const i32) as *mut _, len7, len7)
}),
5 => VecValue::TypeMat4({
let len8 = *((ptr1 + 24) as *const i32) as usize;
Vec::from_raw_parts(*((ptr1 + 20) as *const i32) as *mut _, len8, len8)
}),
6 => VecValue::TypeQuat({
let len9 = *((ptr1 + 24) as *const i32) as usize;
Vec::from_raw_parts(*((ptr1 + 20) as *const i32) as *mut _, len9, len9)
}),
7 => VecValue::TypeString({
let base11 = *((ptr1 + 20) as *const i32);
let len11 = *((ptr1 + 24) as *const i32);
let mut result11 = Vec::with_capacity(len11 as usize);
for i in 0..len11 {
let base = base11 + i *8;
result11.push({
let len10 = *((base + 4) as *const i32) as usize;
{#[cfg(not(debug_assertions))]{String::from_utf8_unchecked(Vec::from_raw_parts(*((base + 0) as *const i32) as *mut _, len10, len10))}#[cfg(debug_assertions)]{String::from_utf8(Vec::from_raw_parts(*((base + 0) as *const i32) as *mut _, len10, len10)).unwrap()}}
});
}
wit_bindgen::rt::dealloc(base11, (len11 as usize) * 8, 4);
result11
}),
8 => VecValue::TypeU8({
let len12 = *((ptr1 + 24) as *const i32) as usize;
Vec::from_raw_parts(*((ptr1 + 20) as *const i32) as *mut _, len12, len12)
}),
9 => VecValue::TypeU16({
let len13 = *((ptr1 + 24) as *const i32) as usize;
Vec::from_raw_parts(*((ptr1 + 20) as *const i32) as *mut _, len13, len13)
}),
10 => VecValue::TypeU32({
let len14 = *((ptr1 + 24) as *const i32) as usize;
Vec::from_raw_parts(*((ptr1 + 20) as *const i32) as *mut _, len14, len14)
}),
11 => VecValue::TypeU64({
let len15 = *((ptr1 + 24) as *const i32) as usize;
Vec::from_raw_parts(*((ptr1 + 20) as *const i32) as *mut _, len15, len15)
}),
12 => VecValue::TypeI8({
let len16 = *((ptr1 + 24) as *const i32) as usize;
Vec::from_raw_parts(*((ptr1 + 20) as *const i32) as *mut _, len16, len16)
}),
13 => VecValue::TypeI16({
let len17 = *((ptr1 + 24) as *const i32) as usize;
Vec::from_raw_parts(*((ptr1 + 20) as *const i32) as *mut _, len17, len17)
}),
14 => VecValue::TypeI32({
let len18 = *((ptr1 + 24) as *const i32) as usize;
Vec::from_raw_parts(*((ptr1 + 20) as *const i32) as *mut _, len18, len18)
}),
15 => VecValue::TypeI64({
let len19 = *((ptr1 + 24) as *const i32) as usize;
Vec::from_raw_parts(*((ptr1 + 20) as *const i32) as *mut _, len19, len19)
}),
16 => VecValue::TypeVec2({
let len20 = *((ptr1 + 24) as *const i32) as usize;
Vec::from_raw_parts(*((ptr1 + 20) as *const i32) as *mut _, len20, len20)
}),
17 => VecValue::TypeVec3({
let len21 = *((ptr1 + 24) as *const i32) as usize;
Vec::from_raw_parts(*((ptr1 + 20) as *const i32) as *mut _, len21, len21)
}),
18 => VecValue::TypeVec4({
let len22 = *((ptr1 + 24) as *const i32) as usize;
Vec::from_raw_parts(*((ptr1 + 20) as *const i32) as *mut _, len22, len22)
}),
19 => VecValue::TypeUvec2({
let len23 = *((ptr1 + 24) as *const i32) as usize;
Vec::from_raw_parts(*((ptr1 + 20) as *const i32) as *mut _, len23, len23)
}),
20 => VecValue::TypeUvec3({
let len24 = *((ptr1 + 24) as *const i32) as usize;
Vec::from_raw_parts(*((ptr1 + 20) as *const i32) as *mut _, len24, len24)
}),
21 => VecValue::TypeUvec4({
let len25 = *((ptr1 + 24) as *const i32) as usize;
Vec::from_raw_parts(*((ptr1 + 20) as *const i32) as *mut _, len25, len25)
}),
22 => VecValue::TypeIvec2({
let len26 = *((ptr1 + 24) as *const i32) as usize;
Vec::from_raw_parts(*((ptr1 + 20) as *const i32) as *mut _, len26, len26)
}),
23 => VecValue::TypeIvec3({
let len27 = *((ptr1 + 24) as *const i32) as usize;
Vec::from_raw_parts(*((ptr1 + 20) as *const i32) as *mut _, len27, len27)
}),
24 => VecValue::TypeIvec4({
let len28 = *((ptr1 + 24) as *const i32) as usize;
Vec::from_raw_parts(*((ptr1 + 20) as *const i32) as *mut _, len28, len28)
}),
25 => VecValue::TypeDuration({
let len29 = *((ptr1 + 24) as *const i32) as usize;
Vec::from_raw_parts(*((ptr1 + 20) as *const i32) as *mut _, len29, len29)
}),
26 => VecValue::TypeProceduralMeshHandle({
let len30 = *((ptr1 + 24) as *const i32) as usize;
Vec::from_raw_parts(*((ptr1 + 20) as *const i32) as *mut _, len30, len30)
}),
27 => VecValue::TypeProceduralTextureHandle({
let len31 = *((ptr1 + 24) as *const i32) as usize;
Vec::from_raw_parts(*((ptr1 + 20) as *const i32) as *mut _, len31, len31)
}),
28 => VecValue::TypeProceduralSamplerHandle({
let len32 = *((ptr1 + 24) as *const i32) as usize;
Vec::from_raw_parts(*((ptr1 + 20) as *const i32) as *mut _, len32, len32)
}),
#[cfg(debug_assertions)]29 => VecValue::TypeProceduralMaterialHandle({
let len33 = *((ptr1 + 24) as *const i32) as usize;
Vec::from_raw_parts(*((ptr1 + 20) as *const i32) as *mut _, len33, len33)
}),
#[cfg(not(debug_assertions))]_ => VecValue::TypeProceduralMaterialHandle({
let len33 = *((ptr1 + 24) as *const i32) as usize;
Vec::from_raw_parts(*((ptr1 + 20) as *const i32) as *mut _, len33, len33)
}),
#[cfg(debug_assertions)]_ => panic!("invalid enum discriminant"),
}}}),
#[cfg(debug_assertions)]31 => Value::TypeOption({{match i32::from(*((ptr1 + 16) as *const u8)) {
0 => OptionValue::TypeEmpty(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Empty{dummy:i32::from(*((ptr1 + 25) as *const u8)) as u8, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
1 => OptionValue::TypeBool(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some({
#[cfg(not(debug_assertions))]
{ ::core::mem::transmute::<u8, bool>(i32::from(*((ptr1 + 25) as *const u8)) as u8) }
#[cfg(debug_assertions)]
{
match i32::from(*((ptr1 + 25) as *const u8)) {
0 => false,
1 => true,
_ => panic!("invalid bool discriminant"),
}
}
}),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
2 => OptionValue::TypeEntityId(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::EntityId{id0:*((ptr1 + 32) as *const i64) as u64, id1:*((ptr1 + 40) as *const i64) as u64, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
3 => OptionValue::TypeF32(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(*((ptr1 + 28) as *const f32)),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
4 => OptionValue::TypeF64(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(*((ptr1 + 32) as *const f64)),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
5 => OptionValue::TypeMat4(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Mat4{x:super::super::super::ambient::bindings::types::Vec4{x:*((ptr1 + 28) as *const f32), y:*((ptr1 + 32) as *const f32), z:*((ptr1 + 36) as *const f32), w:*((ptr1 + 40) as *const f32), }, y:super::super::super::ambient::bindings::types::Vec4{x:*((ptr1 + 44) as *const f32), y:*((ptr1 + 48) as *const f32), z:*((ptr1 + 52) as *const f32), w:*((ptr1 + 56) as *const f32), }, z:super::super::super::ambient::bindings::types::Vec4{x:*((ptr1 + 60) as *const f32), y:*((ptr1 + 64) as *const f32), z:*((ptr1 + 68) as *const f32), w:*((ptr1 + 72) as *const f32), }, w:super::super::super::ambient::bindings::types::Vec4{x:*((ptr1 + 76) as *const f32), y:*((ptr1 + 80) as *const f32), z:*((ptr1 + 84) as *const f32), w:*((ptr1 + 88) as *const f32), }, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
6 => OptionValue::TypeQuat(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Quat{x:*((ptr1 + 28) as *const f32), y:*((ptr1 + 32) as *const f32), z:*((ptr1 + 36) as *const f32), w:*((ptr1 + 40) as *const f32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
7 => OptionValue::TypeString(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some({
let len34 = *((ptr1 + 32) as *const i32) as usize;
{#[cfg(not(debug_assertions))]{String::from_utf8_unchecked(Vec::from_raw_parts(*((ptr1 + 28) as *const i32) as *mut _, len34, len34))}#[cfg(debug_assertions)]{String::from_utf8(Vec::from_raw_parts(*((ptr1 + 28) as *const i32) as *mut _, len34, len34)).unwrap()}}
}),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
8 => OptionValue::TypeU8(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(i32::from(*((ptr1 + 25) as *const u8)) as u8),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
9 => OptionValue::TypeU16(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(i32::from(*((ptr1 + 26) as *const u16)) as u16),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
10 => OptionValue::TypeU32(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(*((ptr1 + 28) as *const i32) as u32),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
11 => OptionValue::TypeU64(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(*((ptr1 + 32) as *const i64) as u64),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
12 => OptionValue::TypeI8(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(i32::from(*((ptr1 + 25) as *const i8)) as i8),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
13 => OptionValue::TypeI16(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(i32::from(*((ptr1 + 26) as *const i16)) as i16),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
14 => OptionValue::TypeI32(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(*((ptr1 + 28) as *const i32)),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
15 => OptionValue::TypeI64(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(*((ptr1 + 32) as *const i64)),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
16 => OptionValue::TypeVec2(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Vec2{x:*((ptr1 + 28) as *const f32), y:*((ptr1 + 32) as *const f32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
17 => OptionValue::TypeVec3(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Vec3{x:*((ptr1 + 28) as *const f32), y:*((ptr1 + 32) as *const f32), z:*((ptr1 + 36) as *const f32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
18 => OptionValue::TypeVec4(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Vec4{x:*((ptr1 + 28) as *const f32), y:*((ptr1 + 32) as *const f32), z:*((ptr1 + 36) as *const f32), w:*((ptr1 + 40) as *const f32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
19 => OptionValue::TypeUvec2(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Uvec2{x:*((ptr1 + 28) as *const i32) as u32, y:*((ptr1 + 32) as *const i32) as u32, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
20 => OptionValue::TypeUvec3(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Uvec3{x:*((ptr1 + 28) as *const i32) as u32, y:*((ptr1 + 32) as *const i32) as u32, z:*((ptr1 + 36) as *const i32) as u32, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
21 => OptionValue::TypeUvec4(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Uvec4{x:*((ptr1 + 28) as *const i32) as u32, y:*((ptr1 + 32) as *const i32) as u32, z:*((ptr1 + 36) as *const i32) as u32, w:*((ptr1 + 40) as *const i32) as u32, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
22 => OptionValue::TypeIvec2(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Ivec2{x:*((ptr1 + 28) as *const i32), y:*((ptr1 + 32) as *const i32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
23 => OptionValue::TypeIvec3(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Ivec3{x:*((ptr1 + 28) as *const i32), y:*((ptr1 + 32) as *const i32), z:*((ptr1 + 36) as *const i32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
24 => OptionValue::TypeIvec4(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Ivec4{x:*((ptr1 + 28) as *const i32), y:*((ptr1 + 32) as *const i32), z:*((ptr1 + 36) as *const i32), w:*((ptr1 + 40) as *const i32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
25 => OptionValue::TypeDuration(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Duration{seconds:*((ptr1 + 32) as *const i64) as u64, nanoseconds:*((ptr1 + 40) as *const i32) as u32, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
26 => OptionValue::TypeProceduralMeshHandle(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_mesh::Handle{ulid:(*((ptr1 + 32) as *const i64) as u64, *((ptr1 + 40) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
27 => OptionValue::TypeProceduralTextureHandle(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_texture::Handle{ulid:(*((ptr1 + 32) as *const i64) as u64, *((ptr1 + 40) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
28 => OptionValue::TypeProceduralSamplerHandle(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_sampler::Handle{ulid:(*((ptr1 + 32) as *const i64) as u64, *((ptr1 + 40) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
#[cfg(debug_assertions)]29 => OptionValue::TypeProceduralMaterialHandle(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_material::Handle{ulid:(*((ptr1 + 32) as *const i64) as u64, *((ptr1 + 40) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
#[cfg(not(debug_assertions))]_ => OptionValue::TypeProceduralMaterialHandle(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_material::Handle{ulid:(*((ptr1 + 32) as *const i64) as u64, *((ptr1 + 40) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
#[cfg(debug_assertions)]_ => panic!("invalid enum discriminant"),
}}}),
#[cfg(not(debug_assertions))]_ => Value::TypeOption({{match i32::from(*((ptr1 + 16) as *const u8)) {
0 => OptionValue::TypeEmpty(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Empty{dummy:i32::from(*((ptr1 + 25) as *const u8)) as u8, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
1 => OptionValue::TypeBool(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some({
#[cfg(not(debug_assertions))]
{ ::core::mem::transmute::<u8, bool>(i32::from(*((ptr1 + 25) as *const u8)) as u8) }
#[cfg(debug_assertions)]
{
match i32::from(*((ptr1 + 25) as *const u8)) {
0 => false,
1 => true,
_ => panic!("invalid bool discriminant"),
}
}
}),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
2 => OptionValue::TypeEntityId(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::EntityId{id0:*((ptr1 + 32) as *const i64) as u64, id1:*((ptr1 + 40) as *const i64) as u64, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
3 => OptionValue::TypeF32(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(*((ptr1 + 28) as *const f32)),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
4 => OptionValue::TypeF64(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(*((ptr1 + 32) as *const f64)),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
5 => OptionValue::TypeMat4(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Mat4{x:super::super::super::ambient::bindings::types::Vec4{x:*((ptr1 + 28) as *const f32), y:*((ptr1 + 32) as *const f32), z:*((ptr1 + 36) as *const f32), w:*((ptr1 + 40) as *const f32), }, y:super::super::super::ambient::bindings::types::Vec4{x:*((ptr1 + 44) as *const f32), y:*((ptr1 + 48) as *const f32), z:*((ptr1 + 52) as *const f32), w:*((ptr1 + 56) as *const f32), }, z:super::super::super::ambient::bindings::types::Vec4{x:*((ptr1 + 60) as *const f32), y:*((ptr1 + 64) as *const f32), z:*((ptr1 + 68) as *const f32), w:*((ptr1 + 72) as *const f32), }, w:super::super::super::ambient::bindings::types::Vec4{x:*((ptr1 + 76) as *const f32), y:*((ptr1 + 80) as *const f32), z:*((ptr1 + 84) as *const f32), w:*((ptr1 + 88) as *const f32), }, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
6 => OptionValue::TypeQuat(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Quat{x:*((ptr1 + 28) as *const f32), y:*((ptr1 + 32) as *const f32), z:*((ptr1 + 36) as *const f32), w:*((ptr1 + 40) as *const f32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
7 => OptionValue::TypeString(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some({
let len34 = *((ptr1 + 32) as *const i32) as usize;
{#[cfg(not(debug_assertions))]{String::from_utf8_unchecked(Vec::from_raw_parts(*((ptr1 + 28) as *const i32) as *mut _, len34, len34))}#[cfg(debug_assertions)]{String::from_utf8(Vec::from_raw_parts(*((ptr1 + 28) as *const i32) as *mut _, len34, len34)).unwrap()}}
}),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
8 => OptionValue::TypeU8(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(i32::from(*((ptr1 + 25) as *const u8)) as u8),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
9 => OptionValue::TypeU16(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(i32::from(*((ptr1 + 26) as *const u16)) as u16),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
10 => OptionValue::TypeU32(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(*((ptr1 + 28) as *const i32) as u32),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
11 => OptionValue::TypeU64(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(*((ptr1 + 32) as *const i64) as u64),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
12 => OptionValue::TypeI8(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(i32::from(*((ptr1 + 25) as *const i8)) as i8),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
13 => OptionValue::TypeI16(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(i32::from(*((ptr1 + 26) as *const i16)) as i16),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
14 => OptionValue::TypeI32(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(*((ptr1 + 28) as *const i32)),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
15 => OptionValue::TypeI64(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(*((ptr1 + 32) as *const i64)),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
16 => OptionValue::TypeVec2(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Vec2{x:*((ptr1 + 28) as *const f32), y:*((ptr1 + 32) as *const f32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
17 => OptionValue::TypeVec3(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Vec3{x:*((ptr1 + 28) as *const f32), y:*((ptr1 + 32) as *const f32), z:*((ptr1 + 36) as *const f32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
18 => OptionValue::TypeVec4(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Vec4{x:*((ptr1 + 28) as *const f32), y:*((ptr1 + 32) as *const f32), z:*((ptr1 + 36) as *const f32), w:*((ptr1 + 40) as *const f32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
19 => OptionValue::TypeUvec2(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Uvec2{x:*((ptr1 + 28) as *const i32) as u32, y:*((ptr1 + 32) as *const i32) as u32, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
20 => OptionValue::TypeUvec3(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Uvec3{x:*((ptr1 + 28) as *const i32) as u32, y:*((ptr1 + 32) as *const i32) as u32, z:*((ptr1 + 36) as *const i32) as u32, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
21 => OptionValue::TypeUvec4(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Uvec4{x:*((ptr1 + 28) as *const i32) as u32, y:*((ptr1 + 32) as *const i32) as u32, z:*((ptr1 + 36) as *const i32) as u32, w:*((ptr1 + 40) as *const i32) as u32, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
22 => OptionValue::TypeIvec2(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Ivec2{x:*((ptr1 + 28) as *const i32), y:*((ptr1 + 32) as *const i32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
23 => OptionValue::TypeIvec3(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Ivec3{x:*((ptr1 + 28) as *const i32), y:*((ptr1 + 32) as *const i32), z:*((ptr1 + 36) as *const i32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
24 => OptionValue::TypeIvec4(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Ivec4{x:*((ptr1 + 28) as *const i32), y:*((ptr1 + 32) as *const i32), z:*((ptr1 + 36) as *const i32), w:*((ptr1 + 40) as *const i32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
25 => OptionValue::TypeDuration(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Duration{seconds:*((ptr1 + 32) as *const i64) as u64, nanoseconds:*((ptr1 + 40) as *const i32) as u32, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
26 => OptionValue::TypeProceduralMeshHandle(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_mesh::Handle{ulid:(*((ptr1 + 32) as *const i64) as u64, *((ptr1 + 40) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
27 => OptionValue::TypeProceduralTextureHandle(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_texture::Handle{ulid:(*((ptr1 + 32) as *const i64) as u64, *((ptr1 + 40) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
28 => OptionValue::TypeProceduralSamplerHandle(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_sampler::Handle{ulid:(*((ptr1 + 32) as *const i64) as u64, *((ptr1 + 40) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
#[cfg(debug_assertions)]29 => OptionValue::TypeProceduralMaterialHandle(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_material::Handle{ulid:(*((ptr1 + 32) as *const i64) as u64, *((ptr1 + 40) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
#[cfg(not(debug_assertions))]_ => OptionValue::TypeProceduralMaterialHandle(match i32::from(*((ptr1 + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_material::Handle{ulid:(*((ptr1 + 32) as *const i64) as u64, *((ptr1 + 40) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
#[cfg(debug_assertions)]_ => panic!("invalid enum discriminant"),
}}}),
#[cfg(debug_assertions)]_ => panic!("invalid enum discriminant"),
}}}),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}
}
}
#[allow(clippy::all)]
pub fn get_components(entity: EntityId,indices: &[u32],) -> Entity{
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
#[repr(align(4))]
struct RetArea([u8; 8]);
let mut ret_area = ::core::mem::MaybeUninit::<RetArea>::uninit();
let super::super::super::ambient::bindings::types::EntityId{ id0:id00, id1:id10, } = entity;
let vec1 = indices;
let ptr1 = vec1.as_ptr() as i32;
let len1 = vec1.len() as i32;
let ptr2 = ret_area.as_mut_ptr() as i32;
#[link(wasm_import_module = "ambient:bindings/component")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "get-components")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/component_get-components")]
fn wit_import(
_: i64, _: i64, _: i32, _: i32, _: i32, );
}
wit_import(wit_bindgen::rt::as_i64(id00), wit_bindgen::rt::as_i64(id10), ptr1, len1, ptr2);
let base36 = *((ptr2 + 0) as *const i32);
let len36 = *((ptr2 + 4) as *const i32);
let mut result36 = Vec::with_capacity(len36 as usize);
for i in 0..len36 {
let base = base36 + i *96;
result36.push((*((base + 0) as *const i32) as u32, {{match i32::from(*((base + 8) as *const u8)) {
0 => Value::TypeEmpty(super::super::super::ambient::bindings::types::Empty{dummy:i32::from(*((base + 16) as *const u8)) as u8, }),
1 => Value::TypeBool({
#[cfg(not(debug_assertions))]
{ ::core::mem::transmute::<u8, bool>(i32::from(*((base + 16) as *const u8)) as u8) }
#[cfg(debug_assertions)]
{
match i32::from(*((base + 16) as *const u8)) {
0 => false,
1 => true,
_ => panic!("invalid bool discriminant"),
}
}
}),
2 => Value::TypeEntityId(super::super::super::ambient::bindings::types::EntityId{id0:*((base + 16) as *const i64) as u64, id1:*((base + 24) as *const i64) as u64, }),
3 => Value::TypeF32(*((base + 16) as *const f32)),
4 => Value::TypeF64(*((base + 16) as *const f64)),
5 => Value::TypeMat4(super::super::super::ambient::bindings::types::Mat4{x:super::super::super::ambient::bindings::types::Vec4{x:*((base + 16) as *const f32), y:*((base + 20) as *const f32), z:*((base + 24) as *const f32), w:*((base + 28) as *const f32), }, y:super::super::super::ambient::bindings::types::Vec4{x:*((base + 32) as *const f32), y:*((base + 36) as *const f32), z:*((base + 40) as *const f32), w:*((base + 44) as *const f32), }, z:super::super::super::ambient::bindings::types::Vec4{x:*((base + 48) as *const f32), y:*((base + 52) as *const f32), z:*((base + 56) as *const f32), w:*((base + 60) as *const f32), }, w:super::super::super::ambient::bindings::types::Vec4{x:*((base + 64) as *const f32), y:*((base + 68) as *const f32), z:*((base + 72) as *const f32), w:*((base + 76) as *const f32), }, }),
6 => Value::TypeQuat(super::super::super::ambient::bindings::types::Quat{x:*((base + 16) as *const f32), y:*((base + 20) as *const f32), z:*((base + 24) as *const f32), w:*((base + 28) as *const f32), }),
7 => Value::TypeString({
let len3 = *((base + 20) as *const i32) as usize;
{#[cfg(not(debug_assertions))]{String::from_utf8_unchecked(Vec::from_raw_parts(*((base + 16) as *const i32) as *mut _, len3, len3))}#[cfg(debug_assertions)]{String::from_utf8(Vec::from_raw_parts(*((base + 16) as *const i32) as *mut _, len3, len3)).unwrap()}}
}),
8 => Value::TypeU8(i32::from(*((base + 16) as *const u8)) as u8),
9 => Value::TypeU16(i32::from(*((base + 16) as *const u16)) as u16),
10 => Value::TypeU32(*((base + 16) as *const i32) as u32),
11 => Value::TypeU64(*((base + 16) as *const i64) as u64),
12 => Value::TypeI8(i32::from(*((base + 16) as *const i8)) as i8),
13 => Value::TypeI16(i32::from(*((base + 16) as *const i16)) as i16),
14 => Value::TypeI32(*((base + 16) as *const i32)),
15 => Value::TypeI64(*((base + 16) as *const i64)),
16 => Value::TypeVec2(super::super::super::ambient::bindings::types::Vec2{x:*((base + 16) as *const f32), y:*((base + 20) as *const f32), }),
17 => Value::TypeVec3(super::super::super::ambient::bindings::types::Vec3{x:*((base + 16) as *const f32), y:*((base + 20) as *const f32), z:*((base + 24) as *const f32), }),
18 => Value::TypeVec4(super::super::super::ambient::bindings::types::Vec4{x:*((base + 16) as *const f32), y:*((base + 20) as *const f32), z:*((base + 24) as *const f32), w:*((base + 28) as *const f32), }),
19 => Value::TypeUvec2(super::super::super::ambient::bindings::types::Uvec2{x:*((base + 16) as *const i32) as u32, y:*((base + 20) as *const i32) as u32, }),
20 => Value::TypeUvec3(super::super::super::ambient::bindings::types::Uvec3{x:*((base + 16) as *const i32) as u32, y:*((base + 20) as *const i32) as u32, z:*((base + 24) as *const i32) as u32, }),
21 => Value::TypeUvec4(super::super::super::ambient::bindings::types::Uvec4{x:*((base + 16) as *const i32) as u32, y:*((base + 20) as *const i32) as u32, z:*((base + 24) as *const i32) as u32, w:*((base + 28) as *const i32) as u32, }),
22 => Value::TypeIvec2(super::super::super::ambient::bindings::types::Ivec2{x:*((base + 16) as *const i32), y:*((base + 20) as *const i32), }),
23 => Value::TypeIvec3(super::super::super::ambient::bindings::types::Ivec3{x:*((base + 16) as *const i32), y:*((base + 20) as *const i32), z:*((base + 24) as *const i32), }),
24 => Value::TypeIvec4(super::super::super::ambient::bindings::types::Ivec4{x:*((base + 16) as *const i32), y:*((base + 20) as *const i32), z:*((base + 24) as *const i32), w:*((base + 28) as *const i32), }),
25 => Value::TypeDuration(super::super::super::ambient::bindings::types::Duration{seconds:*((base + 16) as *const i64) as u64, nanoseconds:*((base + 24) as *const i32) as u32, }),
26 => Value::TypeProceduralMeshHandle(super::super::super::ambient::bindings::client_mesh::Handle{ulid:(*((base + 16) as *const i64) as u64, *((base + 24) as *const i64) as u64), }),
27 => Value::TypeProceduralTextureHandle(super::super::super::ambient::bindings::client_texture::Handle{ulid:(*((base + 16) as *const i64) as u64, *((base + 24) as *const i64) as u64), }),
28 => Value::TypeProceduralSamplerHandle(super::super::super::ambient::bindings::client_sampler::Handle{ulid:(*((base + 16) as *const i64) as u64, *((base + 24) as *const i64) as u64), }),
29 => Value::TypeProceduralMaterialHandle(super::super::super::ambient::bindings::client_material::Handle{ulid:(*((base + 16) as *const i64) as u64, *((base + 24) as *const i64) as u64), }),
30 => Value::TypeVec({{match i32::from(*((base + 16) as *const u8)) {
0 => VecValue::TypeEmpty({
let len4 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len4, len4)
}),
1 => VecValue::TypeBool({
let base5 = *((base + 20) as *const i32);
let len5 = *((base + 24) as *const i32);
let mut result5 = Vec::with_capacity(len5 as usize);
for i in 0..len5 {
let base = base5 + i *1;
result5.push({
#[cfg(not(debug_assertions))]
{ ::core::mem::transmute::<u8, bool>(i32::from(*((base + 0) as *const u8)) as u8) }
#[cfg(debug_assertions)]
{
match i32::from(*((base + 0) as *const u8)) {
0 => false,
1 => true,
_ => panic!("invalid bool discriminant"),
}
}
});
}
wit_bindgen::rt::dealloc(base5, (len5 as usize) * 1, 1);
result5
}),
2 => VecValue::TypeEntityId({
let len6 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len6, len6)
}),
3 => VecValue::TypeF32({
let len7 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len7, len7)
}),
4 => VecValue::TypeF64({
let len8 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len8, len8)
}),
5 => VecValue::TypeMat4({
let len9 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len9, len9)
}),
6 => VecValue::TypeQuat({
let len10 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len10, len10)
}),
7 => VecValue::TypeString({
let base12 = *((base + 20) as *const i32);
let len12 = *((base + 24) as *const i32);
let mut result12 = Vec::with_capacity(len12 as usize);
for i in 0..len12 {
let base = base12 + i *8;
result12.push({
let len11 = *((base + 4) as *const i32) as usize;
{#[cfg(not(debug_assertions))]{String::from_utf8_unchecked(Vec::from_raw_parts(*((base + 0) as *const i32) as *mut _, len11, len11))}#[cfg(debug_assertions)]{String::from_utf8(Vec::from_raw_parts(*((base + 0) as *const i32) as *mut _, len11, len11)).unwrap()}}
});
}
wit_bindgen::rt::dealloc(base12, (len12 as usize) * 8, 4);
result12
}),
8 => VecValue::TypeU8({
let len13 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len13, len13)
}),
9 => VecValue::TypeU16({
let len14 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len14, len14)
}),
10 => VecValue::TypeU32({
let len15 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len15, len15)
}),
11 => VecValue::TypeU64({
let len16 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len16, len16)
}),
12 => VecValue::TypeI8({
let len17 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len17, len17)
}),
13 => VecValue::TypeI16({
let len18 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len18, len18)
}),
14 => VecValue::TypeI32({
let len19 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len19, len19)
}),
15 => VecValue::TypeI64({
let len20 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len20, len20)
}),
16 => VecValue::TypeVec2({
let len21 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len21, len21)
}),
17 => VecValue::TypeVec3({
let len22 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len22, len22)
}),
18 => VecValue::TypeVec4({
let len23 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len23, len23)
}),
19 => VecValue::TypeUvec2({
let len24 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len24, len24)
}),
20 => VecValue::TypeUvec3({
let len25 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len25, len25)
}),
21 => VecValue::TypeUvec4({
let len26 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len26, len26)
}),
22 => VecValue::TypeIvec2({
let len27 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len27, len27)
}),
23 => VecValue::TypeIvec3({
let len28 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len28, len28)
}),
24 => VecValue::TypeIvec4({
let len29 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len29, len29)
}),
25 => VecValue::TypeDuration({
let len30 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len30, len30)
}),
26 => VecValue::TypeProceduralMeshHandle({
let len31 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len31, len31)
}),
27 => VecValue::TypeProceduralTextureHandle({
let len32 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len32, len32)
}),
28 => VecValue::TypeProceduralSamplerHandle({
let len33 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len33, len33)
}),
#[cfg(debug_assertions)]29 => VecValue::TypeProceduralMaterialHandle({
let len34 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len34, len34)
}),
#[cfg(not(debug_assertions))]_ => VecValue::TypeProceduralMaterialHandle({
let len34 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len34, len34)
}),
#[cfg(debug_assertions)]_ => panic!("invalid enum discriminant"),
}}}),
#[cfg(debug_assertions)]31 => Value::TypeOption({{match i32::from(*((base + 16) as *const u8)) {
0 => OptionValue::TypeEmpty(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Empty{dummy:i32::from(*((base + 25) as *const u8)) as u8, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
1 => OptionValue::TypeBool(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some({
#[cfg(not(debug_assertions))]
{ ::core::mem::transmute::<u8, bool>(i32::from(*((base + 25) as *const u8)) as u8) }
#[cfg(debug_assertions)]
{
match i32::from(*((base + 25) as *const u8)) {
0 => false,
1 => true,
_ => panic!("invalid bool discriminant"),
}
}
}),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
2 => OptionValue::TypeEntityId(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::EntityId{id0:*((base + 32) as *const i64) as u64, id1:*((base + 40) as *const i64) as u64, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
3 => OptionValue::TypeF32(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(*((base + 28) as *const f32)),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
4 => OptionValue::TypeF64(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(*((base + 32) as *const f64)),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
5 => OptionValue::TypeMat4(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Mat4{x:super::super::super::ambient::bindings::types::Vec4{x:*((base + 28) as *const f32), y:*((base + 32) as *const f32), z:*((base + 36) as *const f32), w:*((base + 40) as *const f32), }, y:super::super::super::ambient::bindings::types::Vec4{x:*((base + 44) as *const f32), y:*((base + 48) as *const f32), z:*((base + 52) as *const f32), w:*((base + 56) as *const f32), }, z:super::super::super::ambient::bindings::types::Vec4{x:*((base + 60) as *const f32), y:*((base + 64) as *const f32), z:*((base + 68) as *const f32), w:*((base + 72) as *const f32), }, w:super::super::super::ambient::bindings::types::Vec4{x:*((base + 76) as *const f32), y:*((base + 80) as *const f32), z:*((base + 84) as *const f32), w:*((base + 88) as *const f32), }, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
6 => OptionValue::TypeQuat(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Quat{x:*((base + 28) as *const f32), y:*((base + 32) as *const f32), z:*((base + 36) as *const f32), w:*((base + 40) as *const f32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
7 => OptionValue::TypeString(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some({
let len35 = *((base + 32) as *const i32) as usize;
{#[cfg(not(debug_assertions))]{String::from_utf8_unchecked(Vec::from_raw_parts(*((base + 28) as *const i32) as *mut _, len35, len35))}#[cfg(debug_assertions)]{String::from_utf8(Vec::from_raw_parts(*((base + 28) as *const i32) as *mut _, len35, len35)).unwrap()}}
}),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
8 => OptionValue::TypeU8(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(i32::from(*((base + 25) as *const u8)) as u8),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
9 => OptionValue::TypeU16(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(i32::from(*((base + 26) as *const u16)) as u16),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
10 => OptionValue::TypeU32(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(*((base + 28) as *const i32) as u32),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
11 => OptionValue::TypeU64(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(*((base + 32) as *const i64) as u64),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
12 => OptionValue::TypeI8(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(i32::from(*((base + 25) as *const i8)) as i8),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
13 => OptionValue::TypeI16(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(i32::from(*((base + 26) as *const i16)) as i16),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
14 => OptionValue::TypeI32(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(*((base + 28) as *const i32)),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
15 => OptionValue::TypeI64(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(*((base + 32) as *const i64)),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
16 => OptionValue::TypeVec2(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Vec2{x:*((base + 28) as *const f32), y:*((base + 32) as *const f32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
17 => OptionValue::TypeVec3(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Vec3{x:*((base + 28) as *const f32), y:*((base + 32) as *const f32), z:*((base + 36) as *const f32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
18 => OptionValue::TypeVec4(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Vec4{x:*((base + 28) as *const f32), y:*((base + 32) as *const f32), z:*((base + 36) as *const f32), w:*((base + 40) as *const f32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
19 => OptionValue::TypeUvec2(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Uvec2{x:*((base + 28) as *const i32) as u32, y:*((base + 32) as *const i32) as u32, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
20 => OptionValue::TypeUvec3(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Uvec3{x:*((base + 28) as *const i32) as u32, y:*((base + 32) as *const i32) as u32, z:*((base + 36) as *const i32) as u32, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
21 => OptionValue::TypeUvec4(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Uvec4{x:*((base + 28) as *const i32) as u32, y:*((base + 32) as *const i32) as u32, z:*((base + 36) as *const i32) as u32, w:*((base + 40) as *const i32) as u32, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
22 => OptionValue::TypeIvec2(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Ivec2{x:*((base + 28) as *const i32), y:*((base + 32) as *const i32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
23 => OptionValue::TypeIvec3(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Ivec3{x:*((base + 28) as *const i32), y:*((base + 32) as *const i32), z:*((base + 36) as *const i32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
24 => OptionValue::TypeIvec4(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Ivec4{x:*((base + 28) as *const i32), y:*((base + 32) as *const i32), z:*((base + 36) as *const i32), w:*((base + 40) as *const i32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
25 => OptionValue::TypeDuration(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Duration{seconds:*((base + 32) as *const i64) as u64, nanoseconds:*((base + 40) as *const i32) as u32, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
26 => OptionValue::TypeProceduralMeshHandle(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_mesh::Handle{ulid:(*((base + 32) as *const i64) as u64, *((base + 40) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
27 => OptionValue::TypeProceduralTextureHandle(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_texture::Handle{ulid:(*((base + 32) as *const i64) as u64, *((base + 40) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
28 => OptionValue::TypeProceduralSamplerHandle(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_sampler::Handle{ulid:(*((base + 32) as *const i64) as u64, *((base + 40) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
#[cfg(debug_assertions)]29 => OptionValue::TypeProceduralMaterialHandle(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_material::Handle{ulid:(*((base + 32) as *const i64) as u64, *((base + 40) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
#[cfg(not(debug_assertions))]_ => OptionValue::TypeProceduralMaterialHandle(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_material::Handle{ulid:(*((base + 32) as *const i64) as u64, *((base + 40) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
#[cfg(debug_assertions)]_ => panic!("invalid enum discriminant"),
}}}),
#[cfg(not(debug_assertions))]_ => Value::TypeOption({{match i32::from(*((base + 16) as *const u8)) {
0 => OptionValue::TypeEmpty(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Empty{dummy:i32::from(*((base + 25) as *const u8)) as u8, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
1 => OptionValue::TypeBool(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some({
#[cfg(not(debug_assertions))]
{ ::core::mem::transmute::<u8, bool>(i32::from(*((base + 25) as *const u8)) as u8) }
#[cfg(debug_assertions)]
{
match i32::from(*((base + 25) as *const u8)) {
0 => false,
1 => true,
_ => panic!("invalid bool discriminant"),
}
}
}),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
2 => OptionValue::TypeEntityId(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::EntityId{id0:*((base + 32) as *const i64) as u64, id1:*((base + 40) as *const i64) as u64, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
3 => OptionValue::TypeF32(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(*((base + 28) as *const f32)),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
4 => OptionValue::TypeF64(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(*((base + 32) as *const f64)),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
5 => OptionValue::TypeMat4(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Mat4{x:super::super::super::ambient::bindings::types::Vec4{x:*((base + 28) as *const f32), y:*((base + 32) as *const f32), z:*((base + 36) as *const f32), w:*((base + 40) as *const f32), }, y:super::super::super::ambient::bindings::types::Vec4{x:*((base + 44) as *const f32), y:*((base + 48) as *const f32), z:*((base + 52) as *const f32), w:*((base + 56) as *const f32), }, z:super::super::super::ambient::bindings::types::Vec4{x:*((base + 60) as *const f32), y:*((base + 64) as *const f32), z:*((base + 68) as *const f32), w:*((base + 72) as *const f32), }, w:super::super::super::ambient::bindings::types::Vec4{x:*((base + 76) as *const f32), y:*((base + 80) as *const f32), z:*((base + 84) as *const f32), w:*((base + 88) as *const f32), }, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
6 => OptionValue::TypeQuat(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Quat{x:*((base + 28) as *const f32), y:*((base + 32) as *const f32), z:*((base + 36) as *const f32), w:*((base + 40) as *const f32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
7 => OptionValue::TypeString(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some({
let len35 = *((base + 32) as *const i32) as usize;
{#[cfg(not(debug_assertions))]{String::from_utf8_unchecked(Vec::from_raw_parts(*((base + 28) as *const i32) as *mut _, len35, len35))}#[cfg(debug_assertions)]{String::from_utf8(Vec::from_raw_parts(*((base + 28) as *const i32) as *mut _, len35, len35)).unwrap()}}
}),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
8 => OptionValue::TypeU8(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(i32::from(*((base + 25) as *const u8)) as u8),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
9 => OptionValue::TypeU16(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(i32::from(*((base + 26) as *const u16)) as u16),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
10 => OptionValue::TypeU32(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(*((base + 28) as *const i32) as u32),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
11 => OptionValue::TypeU64(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(*((base + 32) as *const i64) as u64),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
12 => OptionValue::TypeI8(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(i32::from(*((base + 25) as *const i8)) as i8),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
13 => OptionValue::TypeI16(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(i32::from(*((base + 26) as *const i16)) as i16),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
14 => OptionValue::TypeI32(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(*((base + 28) as *const i32)),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
15 => OptionValue::TypeI64(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(*((base + 32) as *const i64)),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
16 => OptionValue::TypeVec2(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Vec2{x:*((base + 28) as *const f32), y:*((base + 32) as *const f32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
17 => OptionValue::TypeVec3(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Vec3{x:*((base + 28) as *const f32), y:*((base + 32) as *const f32), z:*((base + 36) as *const f32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
18 => OptionValue::TypeVec4(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Vec4{x:*((base + 28) as *const f32), y:*((base + 32) as *const f32), z:*((base + 36) as *const f32), w:*((base + 40) as *const f32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
19 => OptionValue::TypeUvec2(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Uvec2{x:*((base + 28) as *const i32) as u32, y:*((base + 32) as *const i32) as u32, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
20 => OptionValue::TypeUvec3(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Uvec3{x:*((base + 28) as *const i32) as u32, y:*((base + 32) as *const i32) as u32, z:*((base + 36) as *const i32) as u32, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
21 => OptionValue::TypeUvec4(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Uvec4{x:*((base + 28) as *const i32) as u32, y:*((base + 32) as *const i32) as u32, z:*((base + 36) as *const i32) as u32, w:*((base + 40) as *const i32) as u32, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
22 => OptionValue::TypeIvec2(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Ivec2{x:*((base + 28) as *const i32), y:*((base + 32) as *const i32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
23 => OptionValue::TypeIvec3(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Ivec3{x:*((base + 28) as *const i32), y:*((base + 32) as *const i32), z:*((base + 36) as *const i32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
24 => OptionValue::TypeIvec4(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Ivec4{x:*((base + 28) as *const i32), y:*((base + 32) as *const i32), z:*((base + 36) as *const i32), w:*((base + 40) as *const i32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
25 => OptionValue::TypeDuration(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Duration{seconds:*((base + 32) as *const i64) as u64, nanoseconds:*((base + 40) as *const i32) as u32, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
26 => OptionValue::TypeProceduralMeshHandle(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_mesh::Handle{ulid:(*((base + 32) as *const i64) as u64, *((base + 40) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
27 => OptionValue::TypeProceduralTextureHandle(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_texture::Handle{ulid:(*((base + 32) as *const i64) as u64, *((base + 40) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
28 => OptionValue::TypeProceduralSamplerHandle(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_sampler::Handle{ulid:(*((base + 32) as *const i64) as u64, *((base + 40) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
#[cfg(debug_assertions)]29 => OptionValue::TypeProceduralMaterialHandle(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_material::Handle{ulid:(*((base + 32) as *const i64) as u64, *((base + 40) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
#[cfg(not(debug_assertions))]_ => OptionValue::TypeProceduralMaterialHandle(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_material::Handle{ulid:(*((base + 32) as *const i64) as u64, *((base + 40) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
#[cfg(debug_assertions)]_ => panic!("invalid enum discriminant"),
}}}),
#[cfg(debug_assertions)]_ => panic!("invalid enum discriminant"),
}}}));
}
wit_bindgen::rt::dealloc(base36, (len36 as usize) * 96, 8);
result36
}
}
#[allow(clippy::all)]
pub fn get_all_components(entity: EntityId,) -> Entity{
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
#[repr(align(4))]
struct RetArea([u8; 8]);
let mut ret_area = ::core::mem::MaybeUninit::<RetArea>::uninit();
let super::super::super::ambient::bindings::types::EntityId{ id0:id00, id1:id10, } = entity;
let ptr1 = ret_area.as_mut_ptr() as i32;
#[link(wasm_import_module = "ambient:bindings/component")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "get-all-components")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/component_get-all-components")]
fn wit_import(
_: i64, _: i64, _: i32, );
}
wit_import(wit_bindgen::rt::as_i64(id00), wit_bindgen::rt::as_i64(id10), ptr1);
let base35 = *((ptr1 + 0) as *const i32);
let len35 = *((ptr1 + 4) as *const i32);
let mut result35 = Vec::with_capacity(len35 as usize);
for i in 0..len35 {
let base = base35 + i *96;
result35.push((*((base + 0) as *const i32) as u32, {{match i32::from(*((base + 8) as *const u8)) {
0 => Value::TypeEmpty(super::super::super::ambient::bindings::types::Empty{dummy:i32::from(*((base + 16) as *const u8)) as u8, }),
1 => Value::TypeBool({
#[cfg(not(debug_assertions))]
{ ::core::mem::transmute::<u8, bool>(i32::from(*((base + 16) as *const u8)) as u8) }
#[cfg(debug_assertions)]
{
match i32::from(*((base + 16) as *const u8)) {
0 => false,
1 => true,
_ => panic!("invalid bool discriminant"),
}
}
}),
2 => Value::TypeEntityId(super::super::super::ambient::bindings::types::EntityId{id0:*((base + 16) as *const i64) as u64, id1:*((base + 24) as *const i64) as u64, }),
3 => Value::TypeF32(*((base + 16) as *const f32)),
4 => Value::TypeF64(*((base + 16) as *const f64)),
5 => Value::TypeMat4(super::super::super::ambient::bindings::types::Mat4{x:super::super::super::ambient::bindings::types::Vec4{x:*((base + 16) as *const f32), y:*((base + 20) as *const f32), z:*((base + 24) as *const f32), w:*((base + 28) as *const f32), }, y:super::super::super::ambient::bindings::types::Vec4{x:*((base + 32) as *const f32), y:*((base + 36) as *const f32), z:*((base + 40) as *const f32), w:*((base + 44) as *const f32), }, z:super::super::super::ambient::bindings::types::Vec4{x:*((base + 48) as *const f32), y:*((base + 52) as *const f32), z:*((base + 56) as *const f32), w:*((base + 60) as *const f32), }, w:super::super::super::ambient::bindings::types::Vec4{x:*((base + 64) as *const f32), y:*((base + 68) as *const f32), z:*((base + 72) as *const f32), w:*((base + 76) as *const f32), }, }),
6 => Value::TypeQuat(super::super::super::ambient::bindings::types::Quat{x:*((base + 16) as *const f32), y:*((base + 20) as *const f32), z:*((base + 24) as *const f32), w:*((base + 28) as *const f32), }),
7 => Value::TypeString({
let len2 = *((base + 20) as *const i32) as usize;
{#[cfg(not(debug_assertions))]{String::from_utf8_unchecked(Vec::from_raw_parts(*((base + 16) as *const i32) as *mut _, len2, len2))}#[cfg(debug_assertions)]{String::from_utf8(Vec::from_raw_parts(*((base + 16) as *const i32) as *mut _, len2, len2)).unwrap()}}
}),
8 => Value::TypeU8(i32::from(*((base + 16) as *const u8)) as u8),
9 => Value::TypeU16(i32::from(*((base + 16) as *const u16)) as u16),
10 => Value::TypeU32(*((base + 16) as *const i32) as u32),
11 => Value::TypeU64(*((base + 16) as *const i64) as u64),
12 => Value::TypeI8(i32::from(*((base + 16) as *const i8)) as i8),
13 => Value::TypeI16(i32::from(*((base + 16) as *const i16)) as i16),
14 => Value::TypeI32(*((base + 16) as *const i32)),
15 => Value::TypeI64(*((base + 16) as *const i64)),
16 => Value::TypeVec2(super::super::super::ambient::bindings::types::Vec2{x:*((base + 16) as *const f32), y:*((base + 20) as *const f32), }),
17 => Value::TypeVec3(super::super::super::ambient::bindings::types::Vec3{x:*((base + 16) as *const f32), y:*((base + 20) as *const f32), z:*((base + 24) as *const f32), }),
18 => Value::TypeVec4(super::super::super::ambient::bindings::types::Vec4{x:*((base + 16) as *const f32), y:*((base + 20) as *const f32), z:*((base + 24) as *const f32), w:*((base + 28) as *const f32), }),
19 => Value::TypeUvec2(super::super::super::ambient::bindings::types::Uvec2{x:*((base + 16) as *const i32) as u32, y:*((base + 20) as *const i32) as u32, }),
20 => Value::TypeUvec3(super::super::super::ambient::bindings::types::Uvec3{x:*((base + 16) as *const i32) as u32, y:*((base + 20) as *const i32) as u32, z:*((base + 24) as *const i32) as u32, }),
21 => Value::TypeUvec4(super::super::super::ambient::bindings::types::Uvec4{x:*((base + 16) as *const i32) as u32, y:*((base + 20) as *const i32) as u32, z:*((base + 24) as *const i32) as u32, w:*((base + 28) as *const i32) as u32, }),
22 => Value::TypeIvec2(super::super::super::ambient::bindings::types::Ivec2{x:*((base + 16) as *const i32), y:*((base + 20) as *const i32), }),
23 => Value::TypeIvec3(super::super::super::ambient::bindings::types::Ivec3{x:*((base + 16) as *const i32), y:*((base + 20) as *const i32), z:*((base + 24) as *const i32), }),
24 => Value::TypeIvec4(super::super::super::ambient::bindings::types::Ivec4{x:*((base + 16) as *const i32), y:*((base + 20) as *const i32), z:*((base + 24) as *const i32), w:*((base + 28) as *const i32), }),
25 => Value::TypeDuration(super::super::super::ambient::bindings::types::Duration{seconds:*((base + 16) as *const i64) as u64, nanoseconds:*((base + 24) as *const i32) as u32, }),
26 => Value::TypeProceduralMeshHandle(super::super::super::ambient::bindings::client_mesh::Handle{ulid:(*((base + 16) as *const i64) as u64, *((base + 24) as *const i64) as u64), }),
27 => Value::TypeProceduralTextureHandle(super::super::super::ambient::bindings::client_texture::Handle{ulid:(*((base + 16) as *const i64) as u64, *((base + 24) as *const i64) as u64), }),
28 => Value::TypeProceduralSamplerHandle(super::super::super::ambient::bindings::client_sampler::Handle{ulid:(*((base + 16) as *const i64) as u64, *((base + 24) as *const i64) as u64), }),
29 => Value::TypeProceduralMaterialHandle(super::super::super::ambient::bindings::client_material::Handle{ulid:(*((base + 16) as *const i64) as u64, *((base + 24) as *const i64) as u64), }),
30 => Value::TypeVec({{match i32::from(*((base + 16) as *const u8)) {
0 => VecValue::TypeEmpty({
let len3 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len3, len3)
}),
1 => VecValue::TypeBool({
let base4 = *((base + 20) as *const i32);
let len4 = *((base + 24) as *const i32);
let mut result4 = Vec::with_capacity(len4 as usize);
for i in 0..len4 {
let base = base4 + i *1;
result4.push({
#[cfg(not(debug_assertions))]
{ ::core::mem::transmute::<u8, bool>(i32::from(*((base + 0) as *const u8)) as u8) }
#[cfg(debug_assertions)]
{
match i32::from(*((base + 0) as *const u8)) {
0 => false,
1 => true,
_ => panic!("invalid bool discriminant"),
}
}
});
}
wit_bindgen::rt::dealloc(base4, (len4 as usize) * 1, 1);
result4
}),
2 => VecValue::TypeEntityId({
let len5 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len5, len5)
}),
3 => VecValue::TypeF32({
let len6 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len6, len6)
}),
4 => VecValue::TypeF64({
let len7 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len7, len7)
}),
5 => VecValue::TypeMat4({
let len8 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len8, len8)
}),
6 => VecValue::TypeQuat({
let len9 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len9, len9)
}),
7 => VecValue::TypeString({
let base11 = *((base + 20) as *const i32);
let len11 = *((base + 24) as *const i32);
let mut result11 = Vec::with_capacity(len11 as usize);
for i in 0..len11 {
let base = base11 + i *8;
result11.push({
let len10 = *((base + 4) as *const i32) as usize;
{#[cfg(not(debug_assertions))]{String::from_utf8_unchecked(Vec::from_raw_parts(*((base + 0) as *const i32) as *mut _, len10, len10))}#[cfg(debug_assertions)]{String::from_utf8(Vec::from_raw_parts(*((base + 0) as *const i32) as *mut _, len10, len10)).unwrap()}}
});
}
wit_bindgen::rt::dealloc(base11, (len11 as usize) * 8, 4);
result11
}),
8 => VecValue::TypeU8({
let len12 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len12, len12)
}),
9 => VecValue::TypeU16({
let len13 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len13, len13)
}),
10 => VecValue::TypeU32({
let len14 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len14, len14)
}),
11 => VecValue::TypeU64({
let len15 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len15, len15)
}),
12 => VecValue::TypeI8({
let len16 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len16, len16)
}),
13 => VecValue::TypeI16({
let len17 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len17, len17)
}),
14 => VecValue::TypeI32({
let len18 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len18, len18)
}),
15 => VecValue::TypeI64({
let len19 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len19, len19)
}),
16 => VecValue::TypeVec2({
let len20 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len20, len20)
}),
17 => VecValue::TypeVec3({
let len21 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len21, len21)
}),
18 => VecValue::TypeVec4({
let len22 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len22, len22)
}),
19 => VecValue::TypeUvec2({
let len23 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len23, len23)
}),
20 => VecValue::TypeUvec3({
let len24 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len24, len24)
}),
21 => VecValue::TypeUvec4({
let len25 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len25, len25)
}),
22 => VecValue::TypeIvec2({
let len26 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len26, len26)
}),
23 => VecValue::TypeIvec3({
let len27 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len27, len27)
}),
24 => VecValue::TypeIvec4({
let len28 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len28, len28)
}),
25 => VecValue::TypeDuration({
let len29 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len29, len29)
}),
26 => VecValue::TypeProceduralMeshHandle({
let len30 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len30, len30)
}),
27 => VecValue::TypeProceduralTextureHandle({
let len31 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len31, len31)
}),
28 => VecValue::TypeProceduralSamplerHandle({
let len32 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len32, len32)
}),
#[cfg(debug_assertions)]29 => VecValue::TypeProceduralMaterialHandle({
let len33 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len33, len33)
}),
#[cfg(not(debug_assertions))]_ => VecValue::TypeProceduralMaterialHandle({
let len33 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len33, len33)
}),
#[cfg(debug_assertions)]_ => panic!("invalid enum discriminant"),
}}}),
#[cfg(debug_assertions)]31 => Value::TypeOption({{match i32::from(*((base + 16) as *const u8)) {
0 => OptionValue::TypeEmpty(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Empty{dummy:i32::from(*((base + 25) as *const u8)) as u8, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
1 => OptionValue::TypeBool(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some({
#[cfg(not(debug_assertions))]
{ ::core::mem::transmute::<u8, bool>(i32::from(*((base + 25) as *const u8)) as u8) }
#[cfg(debug_assertions)]
{
match i32::from(*((base + 25) as *const u8)) {
0 => false,
1 => true,
_ => panic!("invalid bool discriminant"),
}
}
}),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
2 => OptionValue::TypeEntityId(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::EntityId{id0:*((base + 32) as *const i64) as u64, id1:*((base + 40) as *const i64) as u64, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
3 => OptionValue::TypeF32(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(*((base + 28) as *const f32)),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
4 => OptionValue::TypeF64(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(*((base + 32) as *const f64)),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
5 => OptionValue::TypeMat4(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Mat4{x:super::super::super::ambient::bindings::types::Vec4{x:*((base + 28) as *const f32), y:*((base + 32) as *const f32), z:*((base + 36) as *const f32), w:*((base + 40) as *const f32), }, y:super::super::super::ambient::bindings::types::Vec4{x:*((base + 44) as *const f32), y:*((base + 48) as *const f32), z:*((base + 52) as *const f32), w:*((base + 56) as *const f32), }, z:super::super::super::ambient::bindings::types::Vec4{x:*((base + 60) as *const f32), y:*((base + 64) as *const f32), z:*((base + 68) as *const f32), w:*((base + 72) as *const f32), }, w:super::super::super::ambient::bindings::types::Vec4{x:*((base + 76) as *const f32), y:*((base + 80) as *const f32), z:*((base + 84) as *const f32), w:*((base + 88) as *const f32), }, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
6 => OptionValue::TypeQuat(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Quat{x:*((base + 28) as *const f32), y:*((base + 32) as *const f32), z:*((base + 36) as *const f32), w:*((base + 40) as *const f32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
7 => OptionValue::TypeString(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some({
let len34 = *((base + 32) as *const i32) as usize;
{#[cfg(not(debug_assertions))]{String::from_utf8_unchecked(Vec::from_raw_parts(*((base + 28) as *const i32) as *mut _, len34, len34))}#[cfg(debug_assertions)]{String::from_utf8(Vec::from_raw_parts(*((base + 28) as *const i32) as *mut _, len34, len34)).unwrap()}}
}),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
8 => OptionValue::TypeU8(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(i32::from(*((base + 25) as *const u8)) as u8),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
9 => OptionValue::TypeU16(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(i32::from(*((base + 26) as *const u16)) as u16),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
10 => OptionValue::TypeU32(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(*((base + 28) as *const i32) as u32),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
11 => OptionValue::TypeU64(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(*((base + 32) as *const i64) as u64),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
12 => OptionValue::TypeI8(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(i32::from(*((base + 25) as *const i8)) as i8),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
13 => OptionValue::TypeI16(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(i32::from(*((base + 26) as *const i16)) as i16),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
14 => OptionValue::TypeI32(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(*((base + 28) as *const i32)),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
15 => OptionValue::TypeI64(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(*((base + 32) as *const i64)),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
16 => OptionValue::TypeVec2(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Vec2{x:*((base + 28) as *const f32), y:*((base + 32) as *const f32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
17 => OptionValue::TypeVec3(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Vec3{x:*((base + 28) as *const f32), y:*((base + 32) as *const f32), z:*((base + 36) as *const f32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
18 => OptionValue::TypeVec4(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Vec4{x:*((base + 28) as *const f32), y:*((base + 32) as *const f32), z:*((base + 36) as *const f32), w:*((base + 40) as *const f32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
19 => OptionValue::TypeUvec2(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Uvec2{x:*((base + 28) as *const i32) as u32, y:*((base + 32) as *const i32) as u32, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
20 => OptionValue::TypeUvec3(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Uvec3{x:*((base + 28) as *const i32) as u32, y:*((base + 32) as *const i32) as u32, z:*((base + 36) as *const i32) as u32, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
21 => OptionValue::TypeUvec4(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Uvec4{x:*((base + 28) as *const i32) as u32, y:*((base + 32) as *const i32) as u32, z:*((base + 36) as *const i32) as u32, w:*((base + 40) as *const i32) as u32, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
22 => OptionValue::TypeIvec2(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Ivec2{x:*((base + 28) as *const i32), y:*((base + 32) as *const i32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
23 => OptionValue::TypeIvec3(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Ivec3{x:*((base + 28) as *const i32), y:*((base + 32) as *const i32), z:*((base + 36) as *const i32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
24 => OptionValue::TypeIvec4(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Ivec4{x:*((base + 28) as *const i32), y:*((base + 32) as *const i32), z:*((base + 36) as *const i32), w:*((base + 40) as *const i32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
25 => OptionValue::TypeDuration(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Duration{seconds:*((base + 32) as *const i64) as u64, nanoseconds:*((base + 40) as *const i32) as u32, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
26 => OptionValue::TypeProceduralMeshHandle(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_mesh::Handle{ulid:(*((base + 32) as *const i64) as u64, *((base + 40) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
27 => OptionValue::TypeProceduralTextureHandle(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_texture::Handle{ulid:(*((base + 32) as *const i64) as u64, *((base + 40) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
28 => OptionValue::TypeProceduralSamplerHandle(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_sampler::Handle{ulid:(*((base + 32) as *const i64) as u64, *((base + 40) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
#[cfg(debug_assertions)]29 => OptionValue::TypeProceduralMaterialHandle(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_material::Handle{ulid:(*((base + 32) as *const i64) as u64, *((base + 40) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
#[cfg(not(debug_assertions))]_ => OptionValue::TypeProceduralMaterialHandle(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_material::Handle{ulid:(*((base + 32) as *const i64) as u64, *((base + 40) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
#[cfg(debug_assertions)]_ => panic!("invalid enum discriminant"),
}}}),
#[cfg(not(debug_assertions))]_ => Value::TypeOption({{match i32::from(*((base + 16) as *const u8)) {
0 => OptionValue::TypeEmpty(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Empty{dummy:i32::from(*((base + 25) as *const u8)) as u8, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
1 => OptionValue::TypeBool(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some({
#[cfg(not(debug_assertions))]
{ ::core::mem::transmute::<u8, bool>(i32::from(*((base + 25) as *const u8)) as u8) }
#[cfg(debug_assertions)]
{
match i32::from(*((base + 25) as *const u8)) {
0 => false,
1 => true,
_ => panic!("invalid bool discriminant"),
}
}
}),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
2 => OptionValue::TypeEntityId(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::EntityId{id0:*((base + 32) as *const i64) as u64, id1:*((base + 40) as *const i64) as u64, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
3 => OptionValue::TypeF32(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(*((base + 28) as *const f32)),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
4 => OptionValue::TypeF64(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(*((base + 32) as *const f64)),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
5 => OptionValue::TypeMat4(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Mat4{x:super::super::super::ambient::bindings::types::Vec4{x:*((base + 28) as *const f32), y:*((base + 32) as *const f32), z:*((base + 36) as *const f32), w:*((base + 40) as *const f32), }, y:super::super::super::ambient::bindings::types::Vec4{x:*((base + 44) as *const f32), y:*((base + 48) as *const f32), z:*((base + 52) as *const f32), w:*((base + 56) as *const f32), }, z:super::super::super::ambient::bindings::types::Vec4{x:*((base + 60) as *const f32), y:*((base + 64) as *const f32), z:*((base + 68) as *const f32), w:*((base + 72) as *const f32), }, w:super::super::super::ambient::bindings::types::Vec4{x:*((base + 76) as *const f32), y:*((base + 80) as *const f32), z:*((base + 84) as *const f32), w:*((base + 88) as *const f32), }, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
6 => OptionValue::TypeQuat(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Quat{x:*((base + 28) as *const f32), y:*((base + 32) as *const f32), z:*((base + 36) as *const f32), w:*((base + 40) as *const f32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
7 => OptionValue::TypeString(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some({
let len34 = *((base + 32) as *const i32) as usize;
{#[cfg(not(debug_assertions))]{String::from_utf8_unchecked(Vec::from_raw_parts(*((base + 28) as *const i32) as *mut _, len34, len34))}#[cfg(debug_assertions)]{String::from_utf8(Vec::from_raw_parts(*((base + 28) as *const i32) as *mut _, len34, len34)).unwrap()}}
}),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
8 => OptionValue::TypeU8(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(i32::from(*((base + 25) as *const u8)) as u8),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
9 => OptionValue::TypeU16(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(i32::from(*((base + 26) as *const u16)) as u16),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
10 => OptionValue::TypeU32(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(*((base + 28) as *const i32) as u32),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
11 => OptionValue::TypeU64(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(*((base + 32) as *const i64) as u64),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
12 => OptionValue::TypeI8(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(i32::from(*((base + 25) as *const i8)) as i8),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
13 => OptionValue::TypeI16(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(i32::from(*((base + 26) as *const i16)) as i16),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
14 => OptionValue::TypeI32(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(*((base + 28) as *const i32)),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
15 => OptionValue::TypeI64(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(*((base + 32) as *const i64)),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
16 => OptionValue::TypeVec2(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Vec2{x:*((base + 28) as *const f32), y:*((base + 32) as *const f32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
17 => OptionValue::TypeVec3(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Vec3{x:*((base + 28) as *const f32), y:*((base + 32) as *const f32), z:*((base + 36) as *const f32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
18 => OptionValue::TypeVec4(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Vec4{x:*((base + 28) as *const f32), y:*((base + 32) as *const f32), z:*((base + 36) as *const f32), w:*((base + 40) as *const f32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
19 => OptionValue::TypeUvec2(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Uvec2{x:*((base + 28) as *const i32) as u32, y:*((base + 32) as *const i32) as u32, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
20 => OptionValue::TypeUvec3(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Uvec3{x:*((base + 28) as *const i32) as u32, y:*((base + 32) as *const i32) as u32, z:*((base + 36) as *const i32) as u32, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
21 => OptionValue::TypeUvec4(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Uvec4{x:*((base + 28) as *const i32) as u32, y:*((base + 32) as *const i32) as u32, z:*((base + 36) as *const i32) as u32, w:*((base + 40) as *const i32) as u32, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
22 => OptionValue::TypeIvec2(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Ivec2{x:*((base + 28) as *const i32), y:*((base + 32) as *const i32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
23 => OptionValue::TypeIvec3(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Ivec3{x:*((base + 28) as *const i32), y:*((base + 32) as *const i32), z:*((base + 36) as *const i32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
24 => OptionValue::TypeIvec4(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Ivec4{x:*((base + 28) as *const i32), y:*((base + 32) as *const i32), z:*((base + 36) as *const i32), w:*((base + 40) as *const i32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
25 => OptionValue::TypeDuration(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Duration{seconds:*((base + 32) as *const i64) as u64, nanoseconds:*((base + 40) as *const i32) as u32, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
26 => OptionValue::TypeProceduralMeshHandle(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_mesh::Handle{ulid:(*((base + 32) as *const i64) as u64, *((base + 40) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
27 => OptionValue::TypeProceduralTextureHandle(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_texture::Handle{ulid:(*((base + 32) as *const i64) as u64, *((base + 40) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
28 => OptionValue::TypeProceduralSamplerHandle(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_sampler::Handle{ulid:(*((base + 32) as *const i64) as u64, *((base + 40) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
#[cfg(debug_assertions)]29 => OptionValue::TypeProceduralMaterialHandle(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_material::Handle{ulid:(*((base + 32) as *const i64) as u64, *((base + 40) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
#[cfg(not(debug_assertions))]_ => OptionValue::TypeProceduralMaterialHandle(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_material::Handle{ulid:(*((base + 32) as *const i64) as u64, *((base + 40) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
#[cfg(debug_assertions)]_ => panic!("invalid enum discriminant"),
}}}),
#[cfg(debug_assertions)]_ => panic!("invalid enum discriminant"),
}}}));
}
wit_bindgen::rt::dealloc(base35, (len35 as usize) * 96, 8);
result35
}
}
#[allow(clippy::all)]
pub fn add_component(entity: EntityId,index: u32,value: &Value,){
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
let mut cleanup_list = Vec::new();
#[repr(align(8))]
struct RetArea([u8; 112]);
let mut ret_area = ::core::mem::MaybeUninit::<RetArea>::uninit();
let ptr0 = ret_area.as_mut_ptr() as i32;let super::super::super::ambient::bindings::types::EntityId{ id0:id01, id1:id11, } = entity;
*((ptr0 + 0) as *mut i64) = wit_bindgen::rt::as_i64(id01);
*((ptr0 + 8) as *mut i64) = wit_bindgen::rt::as_i64(id11);
*((ptr0 + 16) as *mut i32) = wit_bindgen::rt::as_i32(index);
match value {
Value::TypeEmpty(e) => {
*((ptr0 + 24) as *mut u8) = (0i32) as u8;
let super::super::super::ambient::bindings::types::Empty{ dummy:dummy2, } = e;
*((ptr0 + 32) as *mut u8) = (wit_bindgen::rt::as_i32(dummy2)) as u8;
},
Value::TypeBool(e) => {
*((ptr0 + 24) as *mut u8) = (1i32) as u8;
*((ptr0 + 32) as *mut u8) = (match e { true => 1, false => 0 }) as u8;
},
Value::TypeEntityId(e) => {
*((ptr0 + 24) as *mut u8) = (2i32) as u8;
let super::super::super::ambient::bindings::types::EntityId{ id0:id03, id1:id13, } = e;
*((ptr0 + 32) as *mut i64) = wit_bindgen::rt::as_i64(id03);
*((ptr0 + 40) as *mut i64) = wit_bindgen::rt::as_i64(id13);
},
Value::TypeF32(e) => {
*((ptr0 + 24) as *mut u8) = (3i32) as u8;
*((ptr0 + 32) as *mut f32) = wit_bindgen::rt::as_f32(e);
},
Value::TypeF64(e) => {
*((ptr0 + 24) as *mut u8) = (4i32) as u8;
*((ptr0 + 32) as *mut f64) = wit_bindgen::rt::as_f64(e);
},
Value::TypeMat4(e) => {
*((ptr0 + 24) as *mut u8) = (5i32) as u8;
let super::super::super::ambient::bindings::types::Mat4{ x:x4, y:y4, z:z4, w:w4, } = e;
let super::super::super::ambient::bindings::types::Vec4{ x:x5, y:y5, z:z5, w:w5, } = x4;
*((ptr0 + 32) as *mut f32) = wit_bindgen::rt::as_f32(x5);
*((ptr0 + 36) as *mut f32) = wit_bindgen::rt::as_f32(y5);
*((ptr0 + 40) as *mut f32) = wit_bindgen::rt::as_f32(z5);
*((ptr0 + 44) as *mut f32) = wit_bindgen::rt::as_f32(w5);
let super::super::super::ambient::bindings::types::Vec4{ x:x6, y:y6, z:z6, w:w6, } = y4;
*((ptr0 + 48) as *mut f32) = wit_bindgen::rt::as_f32(x6);
*((ptr0 + 52) as *mut f32) = wit_bindgen::rt::as_f32(y6);
*((ptr0 + 56) as *mut f32) = wit_bindgen::rt::as_f32(z6);
*((ptr0 + 60) as *mut f32) = wit_bindgen::rt::as_f32(w6);
let super::super::super::ambient::bindings::types::Vec4{ x:x7, y:y7, z:z7, w:w7, } = z4;
*((ptr0 + 64) as *mut f32) = wit_bindgen::rt::as_f32(x7);
*((ptr0 + 68) as *mut f32) = wit_bindgen::rt::as_f32(y7);
*((ptr0 + 72) as *mut f32) = wit_bindgen::rt::as_f32(z7);
*((ptr0 + 76) as *mut f32) = wit_bindgen::rt::as_f32(w7);
let super::super::super::ambient::bindings::types::Vec4{ x:x8, y:y8, z:z8, w:w8, } = w4;
*((ptr0 + 80) as *mut f32) = wit_bindgen::rt::as_f32(x8);
*((ptr0 + 84) as *mut f32) = wit_bindgen::rt::as_f32(y8);
*((ptr0 + 88) as *mut f32) = wit_bindgen::rt::as_f32(z8);
*((ptr0 + 92) as *mut f32) = wit_bindgen::rt::as_f32(w8);
},
Value::TypeQuat(e) => {
*((ptr0 + 24) as *mut u8) = (6i32) as u8;
let super::super::super::ambient::bindings::types::Quat{ x:x9, y:y9, z:z9, w:w9, } = e;
*((ptr0 + 32) as *mut f32) = wit_bindgen::rt::as_f32(x9);
*((ptr0 + 36) as *mut f32) = wit_bindgen::rt::as_f32(y9);
*((ptr0 + 40) as *mut f32) = wit_bindgen::rt::as_f32(z9);
*((ptr0 + 44) as *mut f32) = wit_bindgen::rt::as_f32(w9);
},
Value::TypeString(e) => {
*((ptr0 + 24) as *mut u8) = (7i32) as u8;
let vec10 = e;
let ptr10 = vec10.as_ptr() as i32;
let len10 = vec10.len() as i32;
*((ptr0 + 36) as *mut i32) = len10;
*((ptr0 + 32) as *mut i32) = ptr10;
},
Value::TypeU8(e) => {
*((ptr0 + 24) as *mut u8) = (8i32) as u8;
*((ptr0 + 32) as *mut u8) = (wit_bindgen::rt::as_i32(e)) as u8;
},
Value::TypeU16(e) => {
*((ptr0 + 24) as *mut u8) = (9i32) as u8;
*((ptr0 + 32) as *mut u16) = (wit_bindgen::rt::as_i32(e)) as u16;
},
Value::TypeU32(e) => {
*((ptr0 + 24) as *mut u8) = (10i32) as u8;
*((ptr0 + 32) as *mut i32) = wit_bindgen::rt::as_i32(e);
},
Value::TypeU64(e) => {
*((ptr0 + 24) as *mut u8) = (11i32) as u8;
*((ptr0 + 32) as *mut i64) = wit_bindgen::rt::as_i64(e);
},
Value::TypeI8(e) => {
*((ptr0 + 24) as *mut u8) = (12i32) as u8;
*((ptr0 + 32) as *mut u8) = (wit_bindgen::rt::as_i32(e)) as u8;
},
Value::TypeI16(e) => {
*((ptr0 + 24) as *mut u8) = (13i32) as u8;
*((ptr0 + 32) as *mut u16) = (wit_bindgen::rt::as_i32(e)) as u16;
},
Value::TypeI32(e) => {
*((ptr0 + 24) as *mut u8) = (14i32) as u8;
*((ptr0 + 32) as *mut i32) = wit_bindgen::rt::as_i32(e);
},
Value::TypeI64(e) => {
*((ptr0 + 24) as *mut u8) = (15i32) as u8;
*((ptr0 + 32) as *mut i64) = wit_bindgen::rt::as_i64(e);
},
Value::TypeVec2(e) => {
*((ptr0 + 24) as *mut u8) = (16i32) as u8;
let super::super::super::ambient::bindings::types::Vec2{ x:x11, y:y11, } = e;
*((ptr0 + 32) as *mut f32) = wit_bindgen::rt::as_f32(x11);
*((ptr0 + 36) as *mut f32) = wit_bindgen::rt::as_f32(y11);
},
Value::TypeVec3(e) => {
*((ptr0 + 24) as *mut u8) = (17i32) as u8;
let super::super::super::ambient::bindings::types::Vec3{ x:x12, y:y12, z:z12, } = e;
*((ptr0 + 32) as *mut f32) = wit_bindgen::rt::as_f32(x12);
*((ptr0 + 36) as *mut f32) = wit_bindgen::rt::as_f32(y12);
*((ptr0 + 40) as *mut f32) = wit_bindgen::rt::as_f32(z12);
},
Value::TypeVec4(e) => {
*((ptr0 + 24) as *mut u8) = (18i32) as u8;
let super::super::super::ambient::bindings::types::Vec4{ x:x13, y:y13, z:z13, w:w13, } = e;
*((ptr0 + 32) as *mut f32) = wit_bindgen::rt::as_f32(x13);
*((ptr0 + 36) as *mut f32) = wit_bindgen::rt::as_f32(y13);
*((ptr0 + 40) as *mut f32) = wit_bindgen::rt::as_f32(z13);
*((ptr0 + 44) as *mut f32) = wit_bindgen::rt::as_f32(w13);
},
Value::TypeUvec2(e) => {
*((ptr0 + 24) as *mut u8) = (19i32) as u8;
let super::super::super::ambient::bindings::types::Uvec2{ x:x14, y:y14, } = e;
*((ptr0 + 32) as *mut i32) = wit_bindgen::rt::as_i32(x14);
*((ptr0 + 36) as *mut i32) = wit_bindgen::rt::as_i32(y14);
},
Value::TypeUvec3(e) => {
*((ptr0 + 24) as *mut u8) = (20i32) as u8;
let super::super::super::ambient::bindings::types::Uvec3{ x:x15, y:y15, z:z15, } = e;
*((ptr0 + 32) as *mut i32) = wit_bindgen::rt::as_i32(x15);
*((ptr0 + 36) as *mut i32) = wit_bindgen::rt::as_i32(y15);
*((ptr0 + 40) as *mut i32) = wit_bindgen::rt::as_i32(z15);
},
Value::TypeUvec4(e) => {
*((ptr0 + 24) as *mut u8) = (21i32) as u8;
let super::super::super::ambient::bindings::types::Uvec4{ x:x16, y:y16, z:z16, w:w16, } = e;
*((ptr0 + 32) as *mut i32) = wit_bindgen::rt::as_i32(x16);
*((ptr0 + 36) as *mut i32) = wit_bindgen::rt::as_i32(y16);
*((ptr0 + 40) as *mut i32) = wit_bindgen::rt::as_i32(z16);
*((ptr0 + 44) as *mut i32) = wit_bindgen::rt::as_i32(w16);
},
Value::TypeIvec2(e) => {
*((ptr0 + 24) as *mut u8) = (22i32) as u8;
let super::super::super::ambient::bindings::types::Ivec2{ x:x17, y:y17, } = e;
*((ptr0 + 32) as *mut i32) = wit_bindgen::rt::as_i32(x17);
*((ptr0 + 36) as *mut i32) = wit_bindgen::rt::as_i32(y17);
},
Value::TypeIvec3(e) => {
*((ptr0 + 24) as *mut u8) = (23i32) as u8;
let super::super::super::ambient::bindings::types::Ivec3{ x:x18, y:y18, z:z18, } = e;
*((ptr0 + 32) as *mut i32) = wit_bindgen::rt::as_i32(x18);
*((ptr0 + 36) as *mut i32) = wit_bindgen::rt::as_i32(y18);
*((ptr0 + 40) as *mut i32) = wit_bindgen::rt::as_i32(z18);
},
Value::TypeIvec4(e) => {
*((ptr0 + 24) as *mut u8) = (24i32) as u8;
let super::super::super::ambient::bindings::types::Ivec4{ x:x19, y:y19, z:z19, w:w19, } = e;
*((ptr0 + 32) as *mut i32) = wit_bindgen::rt::as_i32(x19);
*((ptr0 + 36) as *mut i32) = wit_bindgen::rt::as_i32(y19);
*((ptr0 + 40) as *mut i32) = wit_bindgen::rt::as_i32(z19);
*((ptr0 + 44) as *mut i32) = wit_bindgen::rt::as_i32(w19);
},
Value::TypeDuration(e) => {
*((ptr0 + 24) as *mut u8) = (25i32) as u8;
let super::super::super::ambient::bindings::types::Duration{ seconds:seconds20, nanoseconds:nanoseconds20, } = e;
*((ptr0 + 32) as *mut i64) = wit_bindgen::rt::as_i64(seconds20);
*((ptr0 + 40) as *mut i32) = wit_bindgen::rt::as_i32(nanoseconds20);
},
Value::TypeProceduralMeshHandle(e) => {
*((ptr0 + 24) as *mut u8) = (26i32) as u8;
let super::super::super::ambient::bindings::client_mesh::Handle{ ulid:ulid21, } = e;
let (t22_0, t22_1, ) = ulid21;
*((ptr0 + 32) as *mut i64) = wit_bindgen::rt::as_i64(t22_0);
*((ptr0 + 40) as *mut i64) = wit_bindgen::rt::as_i64(t22_1);
},
Value::TypeProceduralTextureHandle(e) => {
*((ptr0 + 24) as *mut u8) = (27i32) as u8;
let super::super::super::ambient::bindings::client_texture::Handle{ ulid:ulid23, } = e;
let (t24_0, t24_1, ) = ulid23;
*((ptr0 + 32) as *mut i64) = wit_bindgen::rt::as_i64(t24_0);
*((ptr0 + 40) as *mut i64) = wit_bindgen::rt::as_i64(t24_1);
},
Value::TypeProceduralSamplerHandle(e) => {
*((ptr0 + 24) as *mut u8) = (28i32) as u8;
let super::super::super::ambient::bindings::client_sampler::Handle{ ulid:ulid25, } = e;
let (t26_0, t26_1, ) = ulid25;
*((ptr0 + 32) as *mut i64) = wit_bindgen::rt::as_i64(t26_0);
*((ptr0 + 40) as *mut i64) = wit_bindgen::rt::as_i64(t26_1);
},
Value::TypeProceduralMaterialHandle(e) => {
*((ptr0 + 24) as *mut u8) = (29i32) as u8;
let super::super::super::ambient::bindings::client_material::Handle{ ulid:ulid27, } = e;
let (t28_0, t28_1, ) = ulid27;
*((ptr0 + 32) as *mut i64) = wit_bindgen::rt::as_i64(t28_0);
*((ptr0 + 40) as *mut i64) = wit_bindgen::rt::as_i64(t28_1);
},
Value::TypeVec(e) => {
*((ptr0 + 24) as *mut u8) = (30i32) as u8;
match e {
VecValue::TypeEmpty(e) => {
*((ptr0 + 32) as *mut u8) = (0i32) as u8;
let vec29 = e;
let ptr29 = vec29.as_ptr() as i32;
let len29 = vec29.len() as i32;
*((ptr0 + 40) as *mut i32) = len29;
*((ptr0 + 36) as *mut i32) = ptr29;
},
VecValue::TypeBool(e) => {
*((ptr0 + 32) as *mut u8) = (1i32) as u8;
let vec30 = e;
let len30 = vec30.len() as i32;
let layout30 = alloc::Layout::from_size_align_unchecked(vec30.len() * 1, 1);
let result30 = if layout30.size() != 0
{
let ptr = alloc::alloc(layout30);
if ptr.is_null()
{
alloc::handle_alloc_error(layout30);
}
ptr
}else {
::core::ptr::null_mut()
};
for (i, e) in vec30.into_iter().enumerate() {
let base = result30 as i32 + (i as i32) * 1;
{
*((base + 0) as *mut u8) = (match e { true => 1, false => 0 }) as u8;
}}
*((ptr0 + 40) as *mut i32) = len30;
*((ptr0 + 36) as *mut i32) = result30 as i32;
cleanup_list.extend_from_slice(&[(result30, layout30),]);
},
VecValue::TypeEntityId(e) => {
*((ptr0 + 32) as *mut u8) = (2i32) as u8;
let vec31 = e;
let ptr31 = vec31.as_ptr() as i32;
let len31 = vec31.len() as i32;
*((ptr0 + 40) as *mut i32) = len31;
*((ptr0 + 36) as *mut i32) = ptr31;
},
VecValue::TypeF32(e) => {
*((ptr0 + 32) as *mut u8) = (3i32) as u8;
let vec32 = e;
let ptr32 = vec32.as_ptr() as i32;
let len32 = vec32.len() as i32;
*((ptr0 + 40) as *mut i32) = len32;
*((ptr0 + 36) as *mut i32) = ptr32;
},
VecValue::TypeF64(e) => {
*((ptr0 + 32) as *mut u8) = (4i32) as u8;
let vec33 = e;
let ptr33 = vec33.as_ptr() as i32;
let len33 = vec33.len() as i32;
*((ptr0 + 40) as *mut i32) = len33;
*((ptr0 + 36) as *mut i32) = ptr33;
},
VecValue::TypeMat4(e) => {
*((ptr0 + 32) as *mut u8) = (5i32) as u8;
let vec34 = e;
let ptr34 = vec34.as_ptr() as i32;
let len34 = vec34.len() as i32;
*((ptr0 + 40) as *mut i32) = len34;
*((ptr0 + 36) as *mut i32) = ptr34;
},
VecValue::TypeQuat(e) => {
*((ptr0 + 32) as *mut u8) = (6i32) as u8;
let vec35 = e;
let ptr35 = vec35.as_ptr() as i32;
let len35 = vec35.len() as i32;
*((ptr0 + 40) as *mut i32) = len35;
*((ptr0 + 36) as *mut i32) = ptr35;
},
VecValue::TypeString(e) => {
*((ptr0 + 32) as *mut u8) = (7i32) as u8;
let vec37 = e;
let len37 = vec37.len() as i32;
let layout37 = alloc::Layout::from_size_align_unchecked(vec37.len() * 8, 4);
let result37 = if layout37.size() != 0
{
let ptr = alloc::alloc(layout37);
if ptr.is_null()
{
alloc::handle_alloc_error(layout37);
}
ptr
}else {
::core::ptr::null_mut()
};
for (i, e) in vec37.into_iter().enumerate() {
let base = result37 as i32 + (i as i32) * 8;
{
let vec36 = e;
let ptr36 = vec36.as_ptr() as i32;
let len36 = vec36.len() as i32;
*((base + 4) as *mut i32) = len36;
*((base + 0) as *mut i32) = ptr36;
}}
*((ptr0 + 40) as *mut i32) = len37;
*((ptr0 + 36) as *mut i32) = result37 as i32;
cleanup_list.extend_from_slice(&[(result37, layout37),]);
},
VecValue::TypeU8(e) => {
*((ptr0 + 32) as *mut u8) = (8i32) as u8;
let vec38 = e;
let ptr38 = vec38.as_ptr() as i32;
let len38 = vec38.len() as i32;
*((ptr0 + 40) as *mut i32) = len38;
*((ptr0 + 36) as *mut i32) = ptr38;
},
VecValue::TypeU16(e) => {
*((ptr0 + 32) as *mut u8) = (9i32) as u8;
let vec39 = e;
let ptr39 = vec39.as_ptr() as i32;
let len39 = vec39.len() as i32;
*((ptr0 + 40) as *mut i32) = len39;
*((ptr0 + 36) as *mut i32) = ptr39;
},
VecValue::TypeU32(e) => {
*((ptr0 + 32) as *mut u8) = (10i32) as u8;
let vec40 = e;
let ptr40 = vec40.as_ptr() as i32;
let len40 = vec40.len() as i32;
*((ptr0 + 40) as *mut i32) = len40;
*((ptr0 + 36) as *mut i32) = ptr40;
},
VecValue::TypeU64(e) => {
*((ptr0 + 32) as *mut u8) = (11i32) as u8;
let vec41 = e;
let ptr41 = vec41.as_ptr() as i32;
let len41 = vec41.len() as i32;
*((ptr0 + 40) as *mut i32) = len41;
*((ptr0 + 36) as *mut i32) = ptr41;
},
VecValue::TypeI8(e) => {
*((ptr0 + 32) as *mut u8) = (12i32) as u8;
let vec42 = e;
let ptr42 = vec42.as_ptr() as i32;
let len42 = vec42.len() as i32;
*((ptr0 + 40) as *mut i32) = len42;
*((ptr0 + 36) as *mut i32) = ptr42;
},
VecValue::TypeI16(e) => {
*((ptr0 + 32) as *mut u8) = (13i32) as u8;
let vec43 = e;
let ptr43 = vec43.as_ptr() as i32;
let len43 = vec43.len() as i32;
*((ptr0 + 40) as *mut i32) = len43;
*((ptr0 + 36) as *mut i32) = ptr43;
},
VecValue::TypeI32(e) => {
*((ptr0 + 32) as *mut u8) = (14i32) as u8;
let vec44 = e;
let ptr44 = vec44.as_ptr() as i32;
let len44 = vec44.len() as i32;
*((ptr0 + 40) as *mut i32) = len44;
*((ptr0 + 36) as *mut i32) = ptr44;
},
VecValue::TypeI64(e) => {
*((ptr0 + 32) as *mut u8) = (15i32) as u8;
let vec45 = e;
let ptr45 = vec45.as_ptr() as i32;
let len45 = vec45.len() as i32;
*((ptr0 + 40) as *mut i32) = len45;
*((ptr0 + 36) as *mut i32) = ptr45;
},
VecValue::TypeVec2(e) => {
*((ptr0 + 32) as *mut u8) = (16i32) as u8;
let vec46 = e;
let ptr46 = vec46.as_ptr() as i32;
let len46 = vec46.len() as i32;
*((ptr0 + 40) as *mut i32) = len46;
*((ptr0 + 36) as *mut i32) = ptr46;
},
VecValue::TypeVec3(e) => {
*((ptr0 + 32) as *mut u8) = (17i32) as u8;
let vec47 = e;
let ptr47 = vec47.as_ptr() as i32;
let len47 = vec47.len() as i32;
*((ptr0 + 40) as *mut i32) = len47;
*((ptr0 + 36) as *mut i32) = ptr47;
},
VecValue::TypeVec4(e) => {
*((ptr0 + 32) as *mut u8) = (18i32) as u8;
let vec48 = e;
let ptr48 = vec48.as_ptr() as i32;
let len48 = vec48.len() as i32;
*((ptr0 + 40) as *mut i32) = len48;
*((ptr0 + 36) as *mut i32) = ptr48;
},
VecValue::TypeUvec2(e) => {
*((ptr0 + 32) as *mut u8) = (19i32) as u8;
let vec49 = e;
let ptr49 = vec49.as_ptr() as i32;
let len49 = vec49.len() as i32;
*((ptr0 + 40) as *mut i32) = len49;
*((ptr0 + 36) as *mut i32) = ptr49;
},
VecValue::TypeUvec3(e) => {
*((ptr0 + 32) as *mut u8) = (20i32) as u8;
let vec50 = e;
let ptr50 = vec50.as_ptr() as i32;
let len50 = vec50.len() as i32;
*((ptr0 + 40) as *mut i32) = len50;
*((ptr0 + 36) as *mut i32) = ptr50;
},
VecValue::TypeUvec4(e) => {
*((ptr0 + 32) as *mut u8) = (21i32) as u8;
let vec51 = e;
let ptr51 = vec51.as_ptr() as i32;
let len51 = vec51.len() as i32;
*((ptr0 + 40) as *mut i32) = len51;
*((ptr0 + 36) as *mut i32) = ptr51;
},
VecValue::TypeIvec2(e) => {
*((ptr0 + 32) as *mut u8) = (22i32) as u8;
let vec52 = e;
let ptr52 = vec52.as_ptr() as i32;
let len52 = vec52.len() as i32;
*((ptr0 + 40) as *mut i32) = len52;
*((ptr0 + 36) as *mut i32) = ptr52;
},
VecValue::TypeIvec3(e) => {
*((ptr0 + 32) as *mut u8) = (23i32) as u8;
let vec53 = e;
let ptr53 = vec53.as_ptr() as i32;
let len53 = vec53.len() as i32;
*((ptr0 + 40) as *mut i32) = len53;
*((ptr0 + 36) as *mut i32) = ptr53;
},
VecValue::TypeIvec4(e) => {
*((ptr0 + 32) as *mut u8) = (24i32) as u8;
let vec54 = e;
let ptr54 = vec54.as_ptr() as i32;
let len54 = vec54.len() as i32;
*((ptr0 + 40) as *mut i32) = len54;
*((ptr0 + 36) as *mut i32) = ptr54;
},
VecValue::TypeDuration(e) => {
*((ptr0 + 32) as *mut u8) = (25i32) as u8;
let vec55 = e;
let ptr55 = vec55.as_ptr() as i32;
let len55 = vec55.len() as i32;
*((ptr0 + 40) as *mut i32) = len55;
*((ptr0 + 36) as *mut i32) = ptr55;
},
VecValue::TypeProceduralMeshHandle(e) => {
*((ptr0 + 32) as *mut u8) = (26i32) as u8;
let vec56 = e;
let ptr56 = vec56.as_ptr() as i32;
let len56 = vec56.len() as i32;
*((ptr0 + 40) as *mut i32) = len56;
*((ptr0 + 36) as *mut i32) = ptr56;
},
VecValue::TypeProceduralTextureHandle(e) => {
*((ptr0 + 32) as *mut u8) = (27i32) as u8;
let vec57 = e;
let ptr57 = vec57.as_ptr() as i32;
let len57 = vec57.len() as i32;
*((ptr0 + 40) as *mut i32) = len57;
*((ptr0 + 36) as *mut i32) = ptr57;
},
VecValue::TypeProceduralSamplerHandle(e) => {
*((ptr0 + 32) as *mut u8) = (28i32) as u8;
let vec58 = e;
let ptr58 = vec58.as_ptr() as i32;
let len58 = vec58.len() as i32;
*((ptr0 + 40) as *mut i32) = len58;
*((ptr0 + 36) as *mut i32) = ptr58;
},
VecValue::TypeProceduralMaterialHandle(e) => {
*((ptr0 + 32) as *mut u8) = (29i32) as u8;
let vec59 = e;
let ptr59 = vec59.as_ptr() as i32;
let len59 = vec59.len() as i32;
*((ptr0 + 40) as *mut i32) = len59;
*((ptr0 + 36) as *mut i32) = ptr59;
},
};
},
Value::TypeOption(e) => {
*((ptr0 + 24) as *mut u8) = (31i32) as u8;
match e {
OptionValue::TypeEmpty(e) => {
*((ptr0 + 32) as *mut u8) = (0i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Empty{ dummy:dummy60, } = e;
*((ptr0 + 41) as *mut u8) = (wit_bindgen::rt::as_i32(dummy60)) as u8;
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeBool(e) => {
*((ptr0 + 32) as *mut u8) = (1i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
*((ptr0 + 41) as *mut u8) = (match e { true => 1, false => 0 }) as u8;
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeEntityId(e) => {
*((ptr0 + 32) as *mut u8) = (2i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::EntityId{ id0:id061, id1:id161, } = e;
*((ptr0 + 48) as *mut i64) = wit_bindgen::rt::as_i64(id061);
*((ptr0 + 56) as *mut i64) = wit_bindgen::rt::as_i64(id161);
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeF32(e) => {
*((ptr0 + 32) as *mut u8) = (3i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
*((ptr0 + 44) as *mut f32) = wit_bindgen::rt::as_f32(e);
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeF64(e) => {
*((ptr0 + 32) as *mut u8) = (4i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
*((ptr0 + 48) as *mut f64) = wit_bindgen::rt::as_f64(e);
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeMat4(e) => {
*((ptr0 + 32) as *mut u8) = (5i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Mat4{ x:x62, y:y62, z:z62, w:w62, } = e;
let super::super::super::ambient::bindings::types::Vec4{ x:x63, y:y63, z:z63, w:w63, } = x62;
*((ptr0 + 44) as *mut f32) = wit_bindgen::rt::as_f32(x63);
*((ptr0 + 48) as *mut f32) = wit_bindgen::rt::as_f32(y63);
*((ptr0 + 52) as *mut f32) = wit_bindgen::rt::as_f32(z63);
*((ptr0 + 56) as *mut f32) = wit_bindgen::rt::as_f32(w63);
let super::super::super::ambient::bindings::types::Vec4{ x:x64, y:y64, z:z64, w:w64, } = y62;
*((ptr0 + 60) as *mut f32) = wit_bindgen::rt::as_f32(x64);
*((ptr0 + 64) as *mut f32) = wit_bindgen::rt::as_f32(y64);
*((ptr0 + 68) as *mut f32) = wit_bindgen::rt::as_f32(z64);
*((ptr0 + 72) as *mut f32) = wit_bindgen::rt::as_f32(w64);
let super::super::super::ambient::bindings::types::Vec4{ x:x65, y:y65, z:z65, w:w65, } = z62;
*((ptr0 + 76) as *mut f32) = wit_bindgen::rt::as_f32(x65);
*((ptr0 + 80) as *mut f32) = wit_bindgen::rt::as_f32(y65);
*((ptr0 + 84) as *mut f32) = wit_bindgen::rt::as_f32(z65);
*((ptr0 + 88) as *mut f32) = wit_bindgen::rt::as_f32(w65);
let super::super::super::ambient::bindings::types::Vec4{ x:x66, y:y66, z:z66, w:w66, } = w62;
*((ptr0 + 92) as *mut f32) = wit_bindgen::rt::as_f32(x66);
*((ptr0 + 96) as *mut f32) = wit_bindgen::rt::as_f32(y66);
*((ptr0 + 100) as *mut f32) = wit_bindgen::rt::as_f32(z66);
*((ptr0 + 104) as *mut f32) = wit_bindgen::rt::as_f32(w66);
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeQuat(e) => {
*((ptr0 + 32) as *mut u8) = (6i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Quat{ x:x67, y:y67, z:z67, w:w67, } = e;
*((ptr0 + 44) as *mut f32) = wit_bindgen::rt::as_f32(x67);
*((ptr0 + 48) as *mut f32) = wit_bindgen::rt::as_f32(y67);
*((ptr0 + 52) as *mut f32) = wit_bindgen::rt::as_f32(z67);
*((ptr0 + 56) as *mut f32) = wit_bindgen::rt::as_f32(w67);
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeString(e) => {
*((ptr0 + 32) as *mut u8) = (7i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
let vec68 = e;
let ptr68 = vec68.as_ptr() as i32;
let len68 = vec68.len() as i32;
*((ptr0 + 48) as *mut i32) = len68;
*((ptr0 + 44) as *mut i32) = ptr68;
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeU8(e) => {
*((ptr0 + 32) as *mut u8) = (8i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
*((ptr0 + 41) as *mut u8) = (wit_bindgen::rt::as_i32(e)) as u8;
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeU16(e) => {
*((ptr0 + 32) as *mut u8) = (9i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
*((ptr0 + 42) as *mut u16) = (wit_bindgen::rt::as_i32(e)) as u16;
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeU32(e) => {
*((ptr0 + 32) as *mut u8) = (10i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
*((ptr0 + 44) as *mut i32) = wit_bindgen::rt::as_i32(e);
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeU64(e) => {
*((ptr0 + 32) as *mut u8) = (11i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
*((ptr0 + 48) as *mut i64) = wit_bindgen::rt::as_i64(e);
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeI8(e) => {
*((ptr0 + 32) as *mut u8) = (12i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
*((ptr0 + 41) as *mut u8) = (wit_bindgen::rt::as_i32(e)) as u8;
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeI16(e) => {
*((ptr0 + 32) as *mut u8) = (13i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
*((ptr0 + 42) as *mut u16) = (wit_bindgen::rt::as_i32(e)) as u16;
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeI32(e) => {
*((ptr0 + 32) as *mut u8) = (14i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
*((ptr0 + 44) as *mut i32) = wit_bindgen::rt::as_i32(e);
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeI64(e) => {
*((ptr0 + 32) as *mut u8) = (15i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
*((ptr0 + 48) as *mut i64) = wit_bindgen::rt::as_i64(e);
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeVec2(e) => {
*((ptr0 + 32) as *mut u8) = (16i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Vec2{ x:x69, y:y69, } = e;
*((ptr0 + 44) as *mut f32) = wit_bindgen::rt::as_f32(x69);
*((ptr0 + 48) as *mut f32) = wit_bindgen::rt::as_f32(y69);
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeVec3(e) => {
*((ptr0 + 32) as *mut u8) = (17i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Vec3{ x:x70, y:y70, z:z70, } = e;
*((ptr0 + 44) as *mut f32) = wit_bindgen::rt::as_f32(x70);
*((ptr0 + 48) as *mut f32) = wit_bindgen::rt::as_f32(y70);
*((ptr0 + 52) as *mut f32) = wit_bindgen::rt::as_f32(z70);
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeVec4(e) => {
*((ptr0 + 32) as *mut u8) = (18i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Vec4{ x:x71, y:y71, z:z71, w:w71, } = e;
*((ptr0 + 44) as *mut f32) = wit_bindgen::rt::as_f32(x71);
*((ptr0 + 48) as *mut f32) = wit_bindgen::rt::as_f32(y71);
*((ptr0 + 52) as *mut f32) = wit_bindgen::rt::as_f32(z71);
*((ptr0 + 56) as *mut f32) = wit_bindgen::rt::as_f32(w71);
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeUvec2(e) => {
*((ptr0 + 32) as *mut u8) = (19i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Uvec2{ x:x72, y:y72, } = e;
*((ptr0 + 44) as *mut i32) = wit_bindgen::rt::as_i32(x72);
*((ptr0 + 48) as *mut i32) = wit_bindgen::rt::as_i32(y72);
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeUvec3(e) => {
*((ptr0 + 32) as *mut u8) = (20i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Uvec3{ x:x73, y:y73, z:z73, } = e;
*((ptr0 + 44) as *mut i32) = wit_bindgen::rt::as_i32(x73);
*((ptr0 + 48) as *mut i32) = wit_bindgen::rt::as_i32(y73);
*((ptr0 + 52) as *mut i32) = wit_bindgen::rt::as_i32(z73);
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeUvec4(e) => {
*((ptr0 + 32) as *mut u8) = (21i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Uvec4{ x:x74, y:y74, z:z74, w:w74, } = e;
*((ptr0 + 44) as *mut i32) = wit_bindgen::rt::as_i32(x74);
*((ptr0 + 48) as *mut i32) = wit_bindgen::rt::as_i32(y74);
*((ptr0 + 52) as *mut i32) = wit_bindgen::rt::as_i32(z74);
*((ptr0 + 56) as *mut i32) = wit_bindgen::rt::as_i32(w74);
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeIvec2(e) => {
*((ptr0 + 32) as *mut u8) = (22i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Ivec2{ x:x75, y:y75, } = e;
*((ptr0 + 44) as *mut i32) = wit_bindgen::rt::as_i32(x75);
*((ptr0 + 48) as *mut i32) = wit_bindgen::rt::as_i32(y75);
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeIvec3(e) => {
*((ptr0 + 32) as *mut u8) = (23i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Ivec3{ x:x76, y:y76, z:z76, } = e;
*((ptr0 + 44) as *mut i32) = wit_bindgen::rt::as_i32(x76);
*((ptr0 + 48) as *mut i32) = wit_bindgen::rt::as_i32(y76);
*((ptr0 + 52) as *mut i32) = wit_bindgen::rt::as_i32(z76);
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeIvec4(e) => {
*((ptr0 + 32) as *mut u8) = (24i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Ivec4{ x:x77, y:y77, z:z77, w:w77, } = e;
*((ptr0 + 44) as *mut i32) = wit_bindgen::rt::as_i32(x77);
*((ptr0 + 48) as *mut i32) = wit_bindgen::rt::as_i32(y77);
*((ptr0 + 52) as *mut i32) = wit_bindgen::rt::as_i32(z77);
*((ptr0 + 56) as *mut i32) = wit_bindgen::rt::as_i32(w77);
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeDuration(e) => {
*((ptr0 + 32) as *mut u8) = (25i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Duration{ seconds:seconds78, nanoseconds:nanoseconds78, } = e;
*((ptr0 + 48) as *mut i64) = wit_bindgen::rt::as_i64(seconds78);
*((ptr0 + 56) as *mut i32) = wit_bindgen::rt::as_i32(nanoseconds78);
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeProceduralMeshHandle(e) => {
*((ptr0 + 32) as *mut u8) = (26i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::client_mesh::Handle{ ulid:ulid79, } = e;
let (t80_0, t80_1, ) = ulid79;
*((ptr0 + 48) as *mut i64) = wit_bindgen::rt::as_i64(t80_0);
*((ptr0 + 56) as *mut i64) = wit_bindgen::rt::as_i64(t80_1);
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeProceduralTextureHandle(e) => {
*((ptr0 + 32) as *mut u8) = (27i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::client_texture::Handle{ ulid:ulid81, } = e;
let (t82_0, t82_1, ) = ulid81;
*((ptr0 + 48) as *mut i64) = wit_bindgen::rt::as_i64(t82_0);
*((ptr0 + 56) as *mut i64) = wit_bindgen::rt::as_i64(t82_1);
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeProceduralSamplerHandle(e) => {
*((ptr0 + 32) as *mut u8) = (28i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::client_sampler::Handle{ ulid:ulid83, } = e;
let (t84_0, t84_1, ) = ulid83;
*((ptr0 + 48) as *mut i64) = wit_bindgen::rt::as_i64(t84_0);
*((ptr0 + 56) as *mut i64) = wit_bindgen::rt::as_i64(t84_1);
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeProceduralMaterialHandle(e) => {
*((ptr0 + 32) as *mut u8) = (29i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::client_material::Handle{ ulid:ulid85, } = e;
let (t86_0, t86_1, ) = ulid85;
*((ptr0 + 48) as *mut i64) = wit_bindgen::rt::as_i64(t86_0);
*((ptr0 + 56) as *mut i64) = wit_bindgen::rt::as_i64(t86_1);
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
};
},
};
#[link(wasm_import_module = "ambient:bindings/component")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "add-component")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/component_add-component")]
fn wit_import(
_: i32, );
}
wit_import(ptr0);
for (ptr, layout) in cleanup_list {
if layout.size() != 0 {
alloc::dealloc(ptr, layout);
}
}
}
}
#[allow(clippy::all)]
pub fn add_components(entity: EntityId,data: &Entity,){
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
let mut cleanup_list = Vec::new();
let super::super::super::ambient::bindings::types::EntityId{ id0:id00, id1:id10, } = entity;
let vec87 = data;
let len87 = vec87.len() as i32;
let layout87 = alloc::Layout::from_size_align_unchecked(vec87.len() * 96, 8);
let result87 = if layout87.size() != 0
{
let ptr = alloc::alloc(layout87);
if ptr.is_null()
{
alloc::handle_alloc_error(layout87);
}
ptr
}else {
::core::ptr::null_mut()
};
for (i, e) in vec87.into_iter().enumerate() {
let base = result87 as i32 + (i as i32) * 96;
{
let (t1_0, t1_1, ) = e;
*((base + 0) as *mut i32) = wit_bindgen::rt::as_i32(t1_0);
match t1_1 {
Value::TypeEmpty(e) => {
*((base + 8) as *mut u8) = (0i32) as u8;
let super::super::super::ambient::bindings::types::Empty{ dummy:dummy2, } = e;
*((base + 16) as *mut u8) = (wit_bindgen::rt::as_i32(dummy2)) as u8;
},
Value::TypeBool(e) => {
*((base + 8) as *mut u8) = (1i32) as u8;
*((base + 16) as *mut u8) = (match e { true => 1, false => 0 }) as u8;
},
Value::TypeEntityId(e) => {
*((base + 8) as *mut u8) = (2i32) as u8;
let super::super::super::ambient::bindings::types::EntityId{ id0:id03, id1:id13, } = e;
*((base + 16) as *mut i64) = wit_bindgen::rt::as_i64(id03);
*((base + 24) as *mut i64) = wit_bindgen::rt::as_i64(id13);
},
Value::TypeF32(e) => {
*((base + 8) as *mut u8) = (3i32) as u8;
*((base + 16) as *mut f32) = wit_bindgen::rt::as_f32(e);
},
Value::TypeF64(e) => {
*((base + 8) as *mut u8) = (4i32) as u8;
*((base + 16) as *mut f64) = wit_bindgen::rt::as_f64(e);
},
Value::TypeMat4(e) => {
*((base + 8) as *mut u8) = (5i32) as u8;
let super::super::super::ambient::bindings::types::Mat4{ x:x4, y:y4, z:z4, w:w4, } = e;
let super::super::super::ambient::bindings::types::Vec4{ x:x5, y:y5, z:z5, w:w5, } = x4;
*((base + 16) as *mut f32) = wit_bindgen::rt::as_f32(x5);
*((base + 20) as *mut f32) = wit_bindgen::rt::as_f32(y5);
*((base + 24) as *mut f32) = wit_bindgen::rt::as_f32(z5);
*((base + 28) as *mut f32) = wit_bindgen::rt::as_f32(w5);
let super::super::super::ambient::bindings::types::Vec4{ x:x6, y:y6, z:z6, w:w6, } = y4;
*((base + 32) as *mut f32) = wit_bindgen::rt::as_f32(x6);
*((base + 36) as *mut f32) = wit_bindgen::rt::as_f32(y6);
*((base + 40) as *mut f32) = wit_bindgen::rt::as_f32(z6);
*((base + 44) as *mut f32) = wit_bindgen::rt::as_f32(w6);
let super::super::super::ambient::bindings::types::Vec4{ x:x7, y:y7, z:z7, w:w7, } = z4;
*((base + 48) as *mut f32) = wit_bindgen::rt::as_f32(x7);
*((base + 52) as *mut f32) = wit_bindgen::rt::as_f32(y7);
*((base + 56) as *mut f32) = wit_bindgen::rt::as_f32(z7);
*((base + 60) as *mut f32) = wit_bindgen::rt::as_f32(w7);
let super::super::super::ambient::bindings::types::Vec4{ x:x8, y:y8, z:z8, w:w8, } = w4;
*((base + 64) as *mut f32) = wit_bindgen::rt::as_f32(x8);
*((base + 68) as *mut f32) = wit_bindgen::rt::as_f32(y8);
*((base + 72) as *mut f32) = wit_bindgen::rt::as_f32(z8);
*((base + 76) as *mut f32) = wit_bindgen::rt::as_f32(w8);
},
Value::TypeQuat(e) => {
*((base + 8) as *mut u8) = (6i32) as u8;
let super::super::super::ambient::bindings::types::Quat{ x:x9, y:y9, z:z9, w:w9, } = e;
*((base + 16) as *mut f32) = wit_bindgen::rt::as_f32(x9);
*((base + 20) as *mut f32) = wit_bindgen::rt::as_f32(y9);
*((base + 24) as *mut f32) = wit_bindgen::rt::as_f32(z9);
*((base + 28) as *mut f32) = wit_bindgen::rt::as_f32(w9);
},
Value::TypeString(e) => {
*((base + 8) as *mut u8) = (7i32) as u8;
let vec10 = e;
let ptr10 = vec10.as_ptr() as i32;
let len10 = vec10.len() as i32;
*((base + 20) as *mut i32) = len10;
*((base + 16) as *mut i32) = ptr10;
},
Value::TypeU8(e) => {
*((base + 8) as *mut u8) = (8i32) as u8;
*((base + 16) as *mut u8) = (wit_bindgen::rt::as_i32(e)) as u8;
},
Value::TypeU16(e) => {
*((base + 8) as *mut u8) = (9i32) as u8;
*((base + 16) as *mut u16) = (wit_bindgen::rt::as_i32(e)) as u16;
},
Value::TypeU32(e) => {
*((base + 8) as *mut u8) = (10i32) as u8;
*((base + 16) as *mut i32) = wit_bindgen::rt::as_i32(e);
},
Value::TypeU64(e) => {
*((base + 8) as *mut u8) = (11i32) as u8;
*((base + 16) as *mut i64) = wit_bindgen::rt::as_i64(e);
},
Value::TypeI8(e) => {
*((base + 8) as *mut u8) = (12i32) as u8;
*((base + 16) as *mut u8) = (wit_bindgen::rt::as_i32(e)) as u8;
},
Value::TypeI16(e) => {
*((base + 8) as *mut u8) = (13i32) as u8;
*((base + 16) as *mut u16) = (wit_bindgen::rt::as_i32(e)) as u16;
},
Value::TypeI32(e) => {
*((base + 8) as *mut u8) = (14i32) as u8;
*((base + 16) as *mut i32) = wit_bindgen::rt::as_i32(e);
},
Value::TypeI64(e) => {
*((base + 8) as *mut u8) = (15i32) as u8;
*((base + 16) as *mut i64) = wit_bindgen::rt::as_i64(e);
},
Value::TypeVec2(e) => {
*((base + 8) as *mut u8) = (16i32) as u8;
let super::super::super::ambient::bindings::types::Vec2{ x:x11, y:y11, } = e;
*((base + 16) as *mut f32) = wit_bindgen::rt::as_f32(x11);
*((base + 20) as *mut f32) = wit_bindgen::rt::as_f32(y11);
},
Value::TypeVec3(e) => {
*((base + 8) as *mut u8) = (17i32) as u8;
let super::super::super::ambient::bindings::types::Vec3{ x:x12, y:y12, z:z12, } = e;
*((base + 16) as *mut f32) = wit_bindgen::rt::as_f32(x12);
*((base + 20) as *mut f32) = wit_bindgen::rt::as_f32(y12);
*((base + 24) as *mut f32) = wit_bindgen::rt::as_f32(z12);
},
Value::TypeVec4(e) => {
*((base + 8) as *mut u8) = (18i32) as u8;
let super::super::super::ambient::bindings::types::Vec4{ x:x13, y:y13, z:z13, w:w13, } = e;
*((base + 16) as *mut f32) = wit_bindgen::rt::as_f32(x13);
*((base + 20) as *mut f32) = wit_bindgen::rt::as_f32(y13);
*((base + 24) as *mut f32) = wit_bindgen::rt::as_f32(z13);
*((base + 28) as *mut f32) = wit_bindgen::rt::as_f32(w13);
},
Value::TypeUvec2(e) => {
*((base + 8) as *mut u8) = (19i32) as u8;
let super::super::super::ambient::bindings::types::Uvec2{ x:x14, y:y14, } = e;
*((base + 16) as *mut i32) = wit_bindgen::rt::as_i32(x14);
*((base + 20) as *mut i32) = wit_bindgen::rt::as_i32(y14);
},
Value::TypeUvec3(e) => {
*((base + 8) as *mut u8) = (20i32) as u8;
let super::super::super::ambient::bindings::types::Uvec3{ x:x15, y:y15, z:z15, } = e;
*((base + 16) as *mut i32) = wit_bindgen::rt::as_i32(x15);
*((base + 20) as *mut i32) = wit_bindgen::rt::as_i32(y15);
*((base + 24) as *mut i32) = wit_bindgen::rt::as_i32(z15);
},
Value::TypeUvec4(e) => {
*((base + 8) as *mut u8) = (21i32) as u8;
let super::super::super::ambient::bindings::types::Uvec4{ x:x16, y:y16, z:z16, w:w16, } = e;
*((base + 16) as *mut i32) = wit_bindgen::rt::as_i32(x16);
*((base + 20) as *mut i32) = wit_bindgen::rt::as_i32(y16);
*((base + 24) as *mut i32) = wit_bindgen::rt::as_i32(z16);
*((base + 28) as *mut i32) = wit_bindgen::rt::as_i32(w16);
},
Value::TypeIvec2(e) => {
*((base + 8) as *mut u8) = (22i32) as u8;
let super::super::super::ambient::bindings::types::Ivec2{ x:x17, y:y17, } = e;
*((base + 16) as *mut i32) = wit_bindgen::rt::as_i32(x17);
*((base + 20) as *mut i32) = wit_bindgen::rt::as_i32(y17);
},
Value::TypeIvec3(e) => {
*((base + 8) as *mut u8) = (23i32) as u8;
let super::super::super::ambient::bindings::types::Ivec3{ x:x18, y:y18, z:z18, } = e;
*((base + 16) as *mut i32) = wit_bindgen::rt::as_i32(x18);
*((base + 20) as *mut i32) = wit_bindgen::rt::as_i32(y18);
*((base + 24) as *mut i32) = wit_bindgen::rt::as_i32(z18);
},
Value::TypeIvec4(e) => {
*((base + 8) as *mut u8) = (24i32) as u8;
let super::super::super::ambient::bindings::types::Ivec4{ x:x19, y:y19, z:z19, w:w19, } = e;
*((base + 16) as *mut i32) = wit_bindgen::rt::as_i32(x19);
*((base + 20) as *mut i32) = wit_bindgen::rt::as_i32(y19);
*((base + 24) as *mut i32) = wit_bindgen::rt::as_i32(z19);
*((base + 28) as *mut i32) = wit_bindgen::rt::as_i32(w19);
},
Value::TypeDuration(e) => {
*((base + 8) as *mut u8) = (25i32) as u8;
let super::super::super::ambient::bindings::types::Duration{ seconds:seconds20, nanoseconds:nanoseconds20, } = e;
*((base + 16) as *mut i64) = wit_bindgen::rt::as_i64(seconds20);
*((base + 24) as *mut i32) = wit_bindgen::rt::as_i32(nanoseconds20);
},
Value::TypeProceduralMeshHandle(e) => {
*((base + 8) as *mut u8) = (26i32) as u8;
let super::super::super::ambient::bindings::client_mesh::Handle{ ulid:ulid21, } = e;
let (t22_0, t22_1, ) = ulid21;
*((base + 16) as *mut i64) = wit_bindgen::rt::as_i64(t22_0);
*((base + 24) as *mut i64) = wit_bindgen::rt::as_i64(t22_1);
},
Value::TypeProceduralTextureHandle(e) => {
*((base + 8) as *mut u8) = (27i32) as u8;
let super::super::super::ambient::bindings::client_texture::Handle{ ulid:ulid23, } = e;
let (t24_0, t24_1, ) = ulid23;
*((base + 16) as *mut i64) = wit_bindgen::rt::as_i64(t24_0);
*((base + 24) as *mut i64) = wit_bindgen::rt::as_i64(t24_1);
},
Value::TypeProceduralSamplerHandle(e) => {
*((base + 8) as *mut u8) = (28i32) as u8;
let super::super::super::ambient::bindings::client_sampler::Handle{ ulid:ulid25, } = e;
let (t26_0, t26_1, ) = ulid25;
*((base + 16) as *mut i64) = wit_bindgen::rt::as_i64(t26_0);
*((base + 24) as *mut i64) = wit_bindgen::rt::as_i64(t26_1);
},
Value::TypeProceduralMaterialHandle(e) => {
*((base + 8) as *mut u8) = (29i32) as u8;
let super::super::super::ambient::bindings::client_material::Handle{ ulid:ulid27, } = e;
let (t28_0, t28_1, ) = ulid27;
*((base + 16) as *mut i64) = wit_bindgen::rt::as_i64(t28_0);
*((base + 24) as *mut i64) = wit_bindgen::rt::as_i64(t28_1);
},
Value::TypeVec(e) => {
*((base + 8) as *mut u8) = (30i32) as u8;
match e {
VecValue::TypeEmpty(e) => {
*((base + 16) as *mut u8) = (0i32) as u8;
let vec29 = e;
let ptr29 = vec29.as_ptr() as i32;
let len29 = vec29.len() as i32;
*((base + 24) as *mut i32) = len29;
*((base + 20) as *mut i32) = ptr29;
},
VecValue::TypeBool(e) => {
*((base + 16) as *mut u8) = (1i32) as u8;
let vec30 = e;
let len30 = vec30.len() as i32;
let layout30 = alloc::Layout::from_size_align_unchecked(vec30.len() * 1, 1);
let result30 = if layout30.size() != 0
{
let ptr = alloc::alloc(layout30);
if ptr.is_null()
{
alloc::handle_alloc_error(layout30);
}
ptr
}else {
::core::ptr::null_mut()
};
for (i, e) in vec30.into_iter().enumerate() {
let base = result30 as i32 + (i as i32) * 1;
{
*((base + 0) as *mut u8) = (match e { true => 1, false => 0 }) as u8;
}}
*((base + 24) as *mut i32) = len30;
*((base + 20) as *mut i32) = result30 as i32;
cleanup_list.extend_from_slice(&[(result30, layout30),]);
},
VecValue::TypeEntityId(e) => {
*((base + 16) as *mut u8) = (2i32) as u8;
let vec31 = e;
let ptr31 = vec31.as_ptr() as i32;
let len31 = vec31.len() as i32;
*((base + 24) as *mut i32) = len31;
*((base + 20) as *mut i32) = ptr31;
},
VecValue::TypeF32(e) => {
*((base + 16) as *mut u8) = (3i32) as u8;
let vec32 = e;
let ptr32 = vec32.as_ptr() as i32;
let len32 = vec32.len() as i32;
*((base + 24) as *mut i32) = len32;
*((base + 20) as *mut i32) = ptr32;
},
VecValue::TypeF64(e) => {
*((base + 16) as *mut u8) = (4i32) as u8;
let vec33 = e;
let ptr33 = vec33.as_ptr() as i32;
let len33 = vec33.len() as i32;
*((base + 24) as *mut i32) = len33;
*((base + 20) as *mut i32) = ptr33;
},
VecValue::TypeMat4(e) => {
*((base + 16) as *mut u8) = (5i32) as u8;
let vec34 = e;
let ptr34 = vec34.as_ptr() as i32;
let len34 = vec34.len() as i32;
*((base + 24) as *mut i32) = len34;
*((base + 20) as *mut i32) = ptr34;
},
VecValue::TypeQuat(e) => {
*((base + 16) as *mut u8) = (6i32) as u8;
let vec35 = e;
let ptr35 = vec35.as_ptr() as i32;
let len35 = vec35.len() as i32;
*((base + 24) as *mut i32) = len35;
*((base + 20) as *mut i32) = ptr35;
},
VecValue::TypeString(e) => {
*((base + 16) as *mut u8) = (7i32) as u8;
let vec37 = e;
let len37 = vec37.len() as i32;
let layout37 = alloc::Layout::from_size_align_unchecked(vec37.len() * 8, 4);
let result37 = if layout37.size() != 0
{
let ptr = alloc::alloc(layout37);
if ptr.is_null()
{
alloc::handle_alloc_error(layout37);
}
ptr
}else {
::core::ptr::null_mut()
};
for (i, e) in vec37.into_iter().enumerate() {
let base = result37 as i32 + (i as i32) * 8;
{
let vec36 = e;
let ptr36 = vec36.as_ptr() as i32;
let len36 = vec36.len() as i32;
*((base + 4) as *mut i32) = len36;
*((base + 0) as *mut i32) = ptr36;
}}
*((base + 24) as *mut i32) = len37;
*((base + 20) as *mut i32) = result37 as i32;
cleanup_list.extend_from_slice(&[(result37, layout37),]);
},
VecValue::TypeU8(e) => {
*((base + 16) as *mut u8) = (8i32) as u8;
let vec38 = e;
let ptr38 = vec38.as_ptr() as i32;
let len38 = vec38.len() as i32;
*((base + 24) as *mut i32) = len38;
*((base + 20) as *mut i32) = ptr38;
},
VecValue::TypeU16(e) => {
*((base + 16) as *mut u8) = (9i32) as u8;
let vec39 = e;
let ptr39 = vec39.as_ptr() as i32;
let len39 = vec39.len() as i32;
*((base + 24) as *mut i32) = len39;
*((base + 20) as *mut i32) = ptr39;
},
VecValue::TypeU32(e) => {
*((base + 16) as *mut u8) = (10i32) as u8;
let vec40 = e;
let ptr40 = vec40.as_ptr() as i32;
let len40 = vec40.len() as i32;
*((base + 24) as *mut i32) = len40;
*((base + 20) as *mut i32) = ptr40;
},
VecValue::TypeU64(e) => {
*((base + 16) as *mut u8) = (11i32) as u8;
let vec41 = e;
let ptr41 = vec41.as_ptr() as i32;
let len41 = vec41.len() as i32;
*((base + 24) as *mut i32) = len41;
*((base + 20) as *mut i32) = ptr41;
},
VecValue::TypeI8(e) => {
*((base + 16) as *mut u8) = (12i32) as u8;
let vec42 = e;
let ptr42 = vec42.as_ptr() as i32;
let len42 = vec42.len() as i32;
*((base + 24) as *mut i32) = len42;
*((base + 20) as *mut i32) = ptr42;
},
VecValue::TypeI16(e) => {
*((base + 16) as *mut u8) = (13i32) as u8;
let vec43 = e;
let ptr43 = vec43.as_ptr() as i32;
let len43 = vec43.len() as i32;
*((base + 24) as *mut i32) = len43;
*((base + 20) as *mut i32) = ptr43;
},
VecValue::TypeI32(e) => {
*((base + 16) as *mut u8) = (14i32) as u8;
let vec44 = e;
let ptr44 = vec44.as_ptr() as i32;
let len44 = vec44.len() as i32;
*((base + 24) as *mut i32) = len44;
*((base + 20) as *mut i32) = ptr44;
},
VecValue::TypeI64(e) => {
*((base + 16) as *mut u8) = (15i32) as u8;
let vec45 = e;
let ptr45 = vec45.as_ptr() as i32;
let len45 = vec45.len() as i32;
*((base + 24) as *mut i32) = len45;
*((base + 20) as *mut i32) = ptr45;
},
VecValue::TypeVec2(e) => {
*((base + 16) as *mut u8) = (16i32) as u8;
let vec46 = e;
let ptr46 = vec46.as_ptr() as i32;
let len46 = vec46.len() as i32;
*((base + 24) as *mut i32) = len46;
*((base + 20) as *mut i32) = ptr46;
},
VecValue::TypeVec3(e) => {
*((base + 16) as *mut u8) = (17i32) as u8;
let vec47 = e;
let ptr47 = vec47.as_ptr() as i32;
let len47 = vec47.len() as i32;
*((base + 24) as *mut i32) = len47;
*((base + 20) as *mut i32) = ptr47;
},
VecValue::TypeVec4(e) => {
*((base + 16) as *mut u8) = (18i32) as u8;
let vec48 = e;
let ptr48 = vec48.as_ptr() as i32;
let len48 = vec48.len() as i32;
*((base + 24) as *mut i32) = len48;
*((base + 20) as *mut i32) = ptr48;
},
VecValue::TypeUvec2(e) => {
*((base + 16) as *mut u8) = (19i32) as u8;
let vec49 = e;
let ptr49 = vec49.as_ptr() as i32;
let len49 = vec49.len() as i32;
*((base + 24) as *mut i32) = len49;
*((base + 20) as *mut i32) = ptr49;
},
VecValue::TypeUvec3(e) => {
*((base + 16) as *mut u8) = (20i32) as u8;
let vec50 = e;
let ptr50 = vec50.as_ptr() as i32;
let len50 = vec50.len() as i32;
*((base + 24) as *mut i32) = len50;
*((base + 20) as *mut i32) = ptr50;
},
VecValue::TypeUvec4(e) => {
*((base + 16) as *mut u8) = (21i32) as u8;
let vec51 = e;
let ptr51 = vec51.as_ptr() as i32;
let len51 = vec51.len() as i32;
*((base + 24) as *mut i32) = len51;
*((base + 20) as *mut i32) = ptr51;
},
VecValue::TypeIvec2(e) => {
*((base + 16) as *mut u8) = (22i32) as u8;
let vec52 = e;
let ptr52 = vec52.as_ptr() as i32;
let len52 = vec52.len() as i32;
*((base + 24) as *mut i32) = len52;
*((base + 20) as *mut i32) = ptr52;
},
VecValue::TypeIvec3(e) => {
*((base + 16) as *mut u8) = (23i32) as u8;
let vec53 = e;
let ptr53 = vec53.as_ptr() as i32;
let len53 = vec53.len() as i32;
*((base + 24) as *mut i32) = len53;
*((base + 20) as *mut i32) = ptr53;
},
VecValue::TypeIvec4(e) => {
*((base + 16) as *mut u8) = (24i32) as u8;
let vec54 = e;
let ptr54 = vec54.as_ptr() as i32;
let len54 = vec54.len() as i32;
*((base + 24) as *mut i32) = len54;
*((base + 20) as *mut i32) = ptr54;
},
VecValue::TypeDuration(e) => {
*((base + 16) as *mut u8) = (25i32) as u8;
let vec55 = e;
let ptr55 = vec55.as_ptr() as i32;
let len55 = vec55.len() as i32;
*((base + 24) as *mut i32) = len55;
*((base + 20) as *mut i32) = ptr55;
},
VecValue::TypeProceduralMeshHandle(e) => {
*((base + 16) as *mut u8) = (26i32) as u8;
let vec56 = e;
let ptr56 = vec56.as_ptr() as i32;
let len56 = vec56.len() as i32;
*((base + 24) as *mut i32) = len56;
*((base + 20) as *mut i32) = ptr56;
},
VecValue::TypeProceduralTextureHandle(e) => {
*((base + 16) as *mut u8) = (27i32) as u8;
let vec57 = e;
let ptr57 = vec57.as_ptr() as i32;
let len57 = vec57.len() as i32;
*((base + 24) as *mut i32) = len57;
*((base + 20) as *mut i32) = ptr57;
},
VecValue::TypeProceduralSamplerHandle(e) => {
*((base + 16) as *mut u8) = (28i32) as u8;
let vec58 = e;
let ptr58 = vec58.as_ptr() as i32;
let len58 = vec58.len() as i32;
*((base + 24) as *mut i32) = len58;
*((base + 20) as *mut i32) = ptr58;
},
VecValue::TypeProceduralMaterialHandle(e) => {
*((base + 16) as *mut u8) = (29i32) as u8;
let vec59 = e;
let ptr59 = vec59.as_ptr() as i32;
let len59 = vec59.len() as i32;
*((base + 24) as *mut i32) = len59;
*((base + 20) as *mut i32) = ptr59;
},
};
},
Value::TypeOption(e) => {
*((base + 8) as *mut u8) = (31i32) as u8;
match e {
OptionValue::TypeEmpty(e) => {
*((base + 16) as *mut u8) = (0i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Empty{ dummy:dummy60, } = e;
*((base + 25) as *mut u8) = (wit_bindgen::rt::as_i32(dummy60)) as u8;
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeBool(e) => {
*((base + 16) as *mut u8) = (1i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
*((base + 25) as *mut u8) = (match e { true => 1, false => 0 }) as u8;
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeEntityId(e) => {
*((base + 16) as *mut u8) = (2i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::EntityId{ id0:id061, id1:id161, } = e;
*((base + 32) as *mut i64) = wit_bindgen::rt::as_i64(id061);
*((base + 40) as *mut i64) = wit_bindgen::rt::as_i64(id161);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeF32(e) => {
*((base + 16) as *mut u8) = (3i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
*((base + 28) as *mut f32) = wit_bindgen::rt::as_f32(e);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeF64(e) => {
*((base + 16) as *mut u8) = (4i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
*((base + 32) as *mut f64) = wit_bindgen::rt::as_f64(e);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeMat4(e) => {
*((base + 16) as *mut u8) = (5i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Mat4{ x:x62, y:y62, z:z62, w:w62, } = e;
let super::super::super::ambient::bindings::types::Vec4{ x:x63, y:y63, z:z63, w:w63, } = x62;
*((base + 28) as *mut f32) = wit_bindgen::rt::as_f32(x63);
*((base + 32) as *mut f32) = wit_bindgen::rt::as_f32(y63);
*((base + 36) as *mut f32) = wit_bindgen::rt::as_f32(z63);
*((base + 40) as *mut f32) = wit_bindgen::rt::as_f32(w63);
let super::super::super::ambient::bindings::types::Vec4{ x:x64, y:y64, z:z64, w:w64, } = y62;
*((base + 44) as *mut f32) = wit_bindgen::rt::as_f32(x64);
*((base + 48) as *mut f32) = wit_bindgen::rt::as_f32(y64);
*((base + 52) as *mut f32) = wit_bindgen::rt::as_f32(z64);
*((base + 56) as *mut f32) = wit_bindgen::rt::as_f32(w64);
let super::super::super::ambient::bindings::types::Vec4{ x:x65, y:y65, z:z65, w:w65, } = z62;
*((base + 60) as *mut f32) = wit_bindgen::rt::as_f32(x65);
*((base + 64) as *mut f32) = wit_bindgen::rt::as_f32(y65);
*((base + 68) as *mut f32) = wit_bindgen::rt::as_f32(z65);
*((base + 72) as *mut f32) = wit_bindgen::rt::as_f32(w65);
let super::super::super::ambient::bindings::types::Vec4{ x:x66, y:y66, z:z66, w:w66, } = w62;
*((base + 76) as *mut f32) = wit_bindgen::rt::as_f32(x66);
*((base + 80) as *mut f32) = wit_bindgen::rt::as_f32(y66);
*((base + 84) as *mut f32) = wit_bindgen::rt::as_f32(z66);
*((base + 88) as *mut f32) = wit_bindgen::rt::as_f32(w66);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeQuat(e) => {
*((base + 16) as *mut u8) = (6i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Quat{ x:x67, y:y67, z:z67, w:w67, } = e;
*((base + 28) as *mut f32) = wit_bindgen::rt::as_f32(x67);
*((base + 32) as *mut f32) = wit_bindgen::rt::as_f32(y67);
*((base + 36) as *mut f32) = wit_bindgen::rt::as_f32(z67);
*((base + 40) as *mut f32) = wit_bindgen::rt::as_f32(w67);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeString(e) => {
*((base + 16) as *mut u8) = (7i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let vec68 = e;
let ptr68 = vec68.as_ptr() as i32;
let len68 = vec68.len() as i32;
*((base + 32) as *mut i32) = len68;
*((base + 28) as *mut i32) = ptr68;
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeU8(e) => {
*((base + 16) as *mut u8) = (8i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
*((base + 25) as *mut u8) = (wit_bindgen::rt::as_i32(e)) as u8;
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeU16(e) => {
*((base + 16) as *mut u8) = (9i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
*((base + 26) as *mut u16) = (wit_bindgen::rt::as_i32(e)) as u16;
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeU32(e) => {
*((base + 16) as *mut u8) = (10i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
*((base + 28) as *mut i32) = wit_bindgen::rt::as_i32(e);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeU64(e) => {
*((base + 16) as *mut u8) = (11i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
*((base + 32) as *mut i64) = wit_bindgen::rt::as_i64(e);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeI8(e) => {
*((base + 16) as *mut u8) = (12i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
*((base + 25) as *mut u8) = (wit_bindgen::rt::as_i32(e)) as u8;
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeI16(e) => {
*((base + 16) as *mut u8) = (13i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
*((base + 26) as *mut u16) = (wit_bindgen::rt::as_i32(e)) as u16;
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeI32(e) => {
*((base + 16) as *mut u8) = (14i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
*((base + 28) as *mut i32) = wit_bindgen::rt::as_i32(e);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeI64(e) => {
*((base + 16) as *mut u8) = (15i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
*((base + 32) as *mut i64) = wit_bindgen::rt::as_i64(e);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeVec2(e) => {
*((base + 16) as *mut u8) = (16i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Vec2{ x:x69, y:y69, } = e;
*((base + 28) as *mut f32) = wit_bindgen::rt::as_f32(x69);
*((base + 32) as *mut f32) = wit_bindgen::rt::as_f32(y69);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeVec3(e) => {
*((base + 16) as *mut u8) = (17i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Vec3{ x:x70, y:y70, z:z70, } = e;
*((base + 28) as *mut f32) = wit_bindgen::rt::as_f32(x70);
*((base + 32) as *mut f32) = wit_bindgen::rt::as_f32(y70);
*((base + 36) as *mut f32) = wit_bindgen::rt::as_f32(z70);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeVec4(e) => {
*((base + 16) as *mut u8) = (18i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Vec4{ x:x71, y:y71, z:z71, w:w71, } = e;
*((base + 28) as *mut f32) = wit_bindgen::rt::as_f32(x71);
*((base + 32) as *mut f32) = wit_bindgen::rt::as_f32(y71);
*((base + 36) as *mut f32) = wit_bindgen::rt::as_f32(z71);
*((base + 40) as *mut f32) = wit_bindgen::rt::as_f32(w71);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeUvec2(e) => {
*((base + 16) as *mut u8) = (19i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Uvec2{ x:x72, y:y72, } = e;
*((base + 28) as *mut i32) = wit_bindgen::rt::as_i32(x72);
*((base + 32) as *mut i32) = wit_bindgen::rt::as_i32(y72);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeUvec3(e) => {
*((base + 16) as *mut u8) = (20i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Uvec3{ x:x73, y:y73, z:z73, } = e;
*((base + 28) as *mut i32) = wit_bindgen::rt::as_i32(x73);
*((base + 32) as *mut i32) = wit_bindgen::rt::as_i32(y73);
*((base + 36) as *mut i32) = wit_bindgen::rt::as_i32(z73);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeUvec4(e) => {
*((base + 16) as *mut u8) = (21i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Uvec4{ x:x74, y:y74, z:z74, w:w74, } = e;
*((base + 28) as *mut i32) = wit_bindgen::rt::as_i32(x74);
*((base + 32) as *mut i32) = wit_bindgen::rt::as_i32(y74);
*((base + 36) as *mut i32) = wit_bindgen::rt::as_i32(z74);
*((base + 40) as *mut i32) = wit_bindgen::rt::as_i32(w74);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeIvec2(e) => {
*((base + 16) as *mut u8) = (22i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Ivec2{ x:x75, y:y75, } = e;
*((base + 28) as *mut i32) = wit_bindgen::rt::as_i32(x75);
*((base + 32) as *mut i32) = wit_bindgen::rt::as_i32(y75);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeIvec3(e) => {
*((base + 16) as *mut u8) = (23i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Ivec3{ x:x76, y:y76, z:z76, } = e;
*((base + 28) as *mut i32) = wit_bindgen::rt::as_i32(x76);
*((base + 32) as *mut i32) = wit_bindgen::rt::as_i32(y76);
*((base + 36) as *mut i32) = wit_bindgen::rt::as_i32(z76);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeIvec4(e) => {
*((base + 16) as *mut u8) = (24i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Ivec4{ x:x77, y:y77, z:z77, w:w77, } = e;
*((base + 28) as *mut i32) = wit_bindgen::rt::as_i32(x77);
*((base + 32) as *mut i32) = wit_bindgen::rt::as_i32(y77);
*((base + 36) as *mut i32) = wit_bindgen::rt::as_i32(z77);
*((base + 40) as *mut i32) = wit_bindgen::rt::as_i32(w77);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeDuration(e) => {
*((base + 16) as *mut u8) = (25i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Duration{ seconds:seconds78, nanoseconds:nanoseconds78, } = e;
*((base + 32) as *mut i64) = wit_bindgen::rt::as_i64(seconds78);
*((base + 40) as *mut i32) = wit_bindgen::rt::as_i32(nanoseconds78);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeProceduralMeshHandle(e) => {
*((base + 16) as *mut u8) = (26i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::client_mesh::Handle{ ulid:ulid79, } = e;
let (t80_0, t80_1, ) = ulid79;
*((base + 32) as *mut i64) = wit_bindgen::rt::as_i64(t80_0);
*((base + 40) as *mut i64) = wit_bindgen::rt::as_i64(t80_1);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeProceduralTextureHandle(e) => {
*((base + 16) as *mut u8) = (27i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::client_texture::Handle{ ulid:ulid81, } = e;
let (t82_0, t82_1, ) = ulid81;
*((base + 32) as *mut i64) = wit_bindgen::rt::as_i64(t82_0);
*((base + 40) as *mut i64) = wit_bindgen::rt::as_i64(t82_1);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeProceduralSamplerHandle(e) => {
*((base + 16) as *mut u8) = (28i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::client_sampler::Handle{ ulid:ulid83, } = e;
let (t84_0, t84_1, ) = ulid83;
*((base + 32) as *mut i64) = wit_bindgen::rt::as_i64(t84_0);
*((base + 40) as *mut i64) = wit_bindgen::rt::as_i64(t84_1);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeProceduralMaterialHandle(e) => {
*((base + 16) as *mut u8) = (29i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::client_material::Handle{ ulid:ulid85, } = e;
let (t86_0, t86_1, ) = ulid85;
*((base + 32) as *mut i64) = wit_bindgen::rt::as_i64(t86_0);
*((base + 40) as *mut i64) = wit_bindgen::rt::as_i64(t86_1);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
};
},
};
}}
#[link(wasm_import_module = "ambient:bindings/component")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "add-components")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/component_add-components")]
fn wit_import(
_: i64, _: i64, _: i32, _: i32, );
}
wit_import(wit_bindgen::rt::as_i64(id00), wit_bindgen::rt::as_i64(id10), result87 as i32, len87);
if layout87.size() != 0 {
alloc::dealloc(result87, layout87);
}
for (ptr, layout) in cleanup_list {
if layout.size() != 0 {
alloc::dealloc(ptr, layout);
}
}
}
}
#[allow(clippy::all)]
pub fn set_component(entity: EntityId,index: u32,value: &Value,){
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
let mut cleanup_list = Vec::new();
#[repr(align(8))]
struct RetArea([u8; 112]);
let mut ret_area = ::core::mem::MaybeUninit::<RetArea>::uninit();
let ptr0 = ret_area.as_mut_ptr() as i32;let super::super::super::ambient::bindings::types::EntityId{ id0:id01, id1:id11, } = entity;
*((ptr0 + 0) as *mut i64) = wit_bindgen::rt::as_i64(id01);
*((ptr0 + 8) as *mut i64) = wit_bindgen::rt::as_i64(id11);
*((ptr0 + 16) as *mut i32) = wit_bindgen::rt::as_i32(index);
match value {
Value::TypeEmpty(e) => {
*((ptr0 + 24) as *mut u8) = (0i32) as u8;
let super::super::super::ambient::bindings::types::Empty{ dummy:dummy2, } = e;
*((ptr0 + 32) as *mut u8) = (wit_bindgen::rt::as_i32(dummy2)) as u8;
},
Value::TypeBool(e) => {
*((ptr0 + 24) as *mut u8) = (1i32) as u8;
*((ptr0 + 32) as *mut u8) = (match e { true => 1, false => 0 }) as u8;
},
Value::TypeEntityId(e) => {
*((ptr0 + 24) as *mut u8) = (2i32) as u8;
let super::super::super::ambient::bindings::types::EntityId{ id0:id03, id1:id13, } = e;
*((ptr0 + 32) as *mut i64) = wit_bindgen::rt::as_i64(id03);
*((ptr0 + 40) as *mut i64) = wit_bindgen::rt::as_i64(id13);
},
Value::TypeF32(e) => {
*((ptr0 + 24) as *mut u8) = (3i32) as u8;
*((ptr0 + 32) as *mut f32) = wit_bindgen::rt::as_f32(e);
},
Value::TypeF64(e) => {
*((ptr0 + 24) as *mut u8) = (4i32) as u8;
*((ptr0 + 32) as *mut f64) = wit_bindgen::rt::as_f64(e);
},
Value::TypeMat4(e) => {
*((ptr0 + 24) as *mut u8) = (5i32) as u8;
let super::super::super::ambient::bindings::types::Mat4{ x:x4, y:y4, z:z4, w:w4, } = e;
let super::super::super::ambient::bindings::types::Vec4{ x:x5, y:y5, z:z5, w:w5, } = x4;
*((ptr0 + 32) as *mut f32) = wit_bindgen::rt::as_f32(x5);
*((ptr0 + 36) as *mut f32) = wit_bindgen::rt::as_f32(y5);
*((ptr0 + 40) as *mut f32) = wit_bindgen::rt::as_f32(z5);
*((ptr0 + 44) as *mut f32) = wit_bindgen::rt::as_f32(w5);
let super::super::super::ambient::bindings::types::Vec4{ x:x6, y:y6, z:z6, w:w6, } = y4;
*((ptr0 + 48) as *mut f32) = wit_bindgen::rt::as_f32(x6);
*((ptr0 + 52) as *mut f32) = wit_bindgen::rt::as_f32(y6);
*((ptr0 + 56) as *mut f32) = wit_bindgen::rt::as_f32(z6);
*((ptr0 + 60) as *mut f32) = wit_bindgen::rt::as_f32(w6);
let super::super::super::ambient::bindings::types::Vec4{ x:x7, y:y7, z:z7, w:w7, } = z4;
*((ptr0 + 64) as *mut f32) = wit_bindgen::rt::as_f32(x7);
*((ptr0 + 68) as *mut f32) = wit_bindgen::rt::as_f32(y7);
*((ptr0 + 72) as *mut f32) = wit_bindgen::rt::as_f32(z7);
*((ptr0 + 76) as *mut f32) = wit_bindgen::rt::as_f32(w7);
let super::super::super::ambient::bindings::types::Vec4{ x:x8, y:y8, z:z8, w:w8, } = w4;
*((ptr0 + 80) as *mut f32) = wit_bindgen::rt::as_f32(x8);
*((ptr0 + 84) as *mut f32) = wit_bindgen::rt::as_f32(y8);
*((ptr0 + 88) as *mut f32) = wit_bindgen::rt::as_f32(z8);
*((ptr0 + 92) as *mut f32) = wit_bindgen::rt::as_f32(w8);
},
Value::TypeQuat(e) => {
*((ptr0 + 24) as *mut u8) = (6i32) as u8;
let super::super::super::ambient::bindings::types::Quat{ x:x9, y:y9, z:z9, w:w9, } = e;
*((ptr0 + 32) as *mut f32) = wit_bindgen::rt::as_f32(x9);
*((ptr0 + 36) as *mut f32) = wit_bindgen::rt::as_f32(y9);
*((ptr0 + 40) as *mut f32) = wit_bindgen::rt::as_f32(z9);
*((ptr0 + 44) as *mut f32) = wit_bindgen::rt::as_f32(w9);
},
Value::TypeString(e) => {
*((ptr0 + 24) as *mut u8) = (7i32) as u8;
let vec10 = e;
let ptr10 = vec10.as_ptr() as i32;
let len10 = vec10.len() as i32;
*((ptr0 + 36) as *mut i32) = len10;
*((ptr0 + 32) as *mut i32) = ptr10;
},
Value::TypeU8(e) => {
*((ptr0 + 24) as *mut u8) = (8i32) as u8;
*((ptr0 + 32) as *mut u8) = (wit_bindgen::rt::as_i32(e)) as u8;
},
Value::TypeU16(e) => {
*((ptr0 + 24) as *mut u8) = (9i32) as u8;
*((ptr0 + 32) as *mut u16) = (wit_bindgen::rt::as_i32(e)) as u16;
},
Value::TypeU32(e) => {
*((ptr0 + 24) as *mut u8) = (10i32) as u8;
*((ptr0 + 32) as *mut i32) = wit_bindgen::rt::as_i32(e);
},
Value::TypeU64(e) => {
*((ptr0 + 24) as *mut u8) = (11i32) as u8;
*((ptr0 + 32) as *mut i64) = wit_bindgen::rt::as_i64(e);
},
Value::TypeI8(e) => {
*((ptr0 + 24) as *mut u8) = (12i32) as u8;
*((ptr0 + 32) as *mut u8) = (wit_bindgen::rt::as_i32(e)) as u8;
},
Value::TypeI16(e) => {
*((ptr0 + 24) as *mut u8) = (13i32) as u8;
*((ptr0 + 32) as *mut u16) = (wit_bindgen::rt::as_i32(e)) as u16;
},
Value::TypeI32(e) => {
*((ptr0 + 24) as *mut u8) = (14i32) as u8;
*((ptr0 + 32) as *mut i32) = wit_bindgen::rt::as_i32(e);
},
Value::TypeI64(e) => {
*((ptr0 + 24) as *mut u8) = (15i32) as u8;
*((ptr0 + 32) as *mut i64) = wit_bindgen::rt::as_i64(e);
},
Value::TypeVec2(e) => {
*((ptr0 + 24) as *mut u8) = (16i32) as u8;
let super::super::super::ambient::bindings::types::Vec2{ x:x11, y:y11, } = e;
*((ptr0 + 32) as *mut f32) = wit_bindgen::rt::as_f32(x11);
*((ptr0 + 36) as *mut f32) = wit_bindgen::rt::as_f32(y11);
},
Value::TypeVec3(e) => {
*((ptr0 + 24) as *mut u8) = (17i32) as u8;
let super::super::super::ambient::bindings::types::Vec3{ x:x12, y:y12, z:z12, } = e;
*((ptr0 + 32) as *mut f32) = wit_bindgen::rt::as_f32(x12);
*((ptr0 + 36) as *mut f32) = wit_bindgen::rt::as_f32(y12);
*((ptr0 + 40) as *mut f32) = wit_bindgen::rt::as_f32(z12);
},
Value::TypeVec4(e) => {
*((ptr0 + 24) as *mut u8) = (18i32) as u8;
let super::super::super::ambient::bindings::types::Vec4{ x:x13, y:y13, z:z13, w:w13, } = e;
*((ptr0 + 32) as *mut f32) = wit_bindgen::rt::as_f32(x13);
*((ptr0 + 36) as *mut f32) = wit_bindgen::rt::as_f32(y13);
*((ptr0 + 40) as *mut f32) = wit_bindgen::rt::as_f32(z13);
*((ptr0 + 44) as *mut f32) = wit_bindgen::rt::as_f32(w13);
},
Value::TypeUvec2(e) => {
*((ptr0 + 24) as *mut u8) = (19i32) as u8;
let super::super::super::ambient::bindings::types::Uvec2{ x:x14, y:y14, } = e;
*((ptr0 + 32) as *mut i32) = wit_bindgen::rt::as_i32(x14);
*((ptr0 + 36) as *mut i32) = wit_bindgen::rt::as_i32(y14);
},
Value::TypeUvec3(e) => {
*((ptr0 + 24) as *mut u8) = (20i32) as u8;
let super::super::super::ambient::bindings::types::Uvec3{ x:x15, y:y15, z:z15, } = e;
*((ptr0 + 32) as *mut i32) = wit_bindgen::rt::as_i32(x15);
*((ptr0 + 36) as *mut i32) = wit_bindgen::rt::as_i32(y15);
*((ptr0 + 40) as *mut i32) = wit_bindgen::rt::as_i32(z15);
},
Value::TypeUvec4(e) => {
*((ptr0 + 24) as *mut u8) = (21i32) as u8;
let super::super::super::ambient::bindings::types::Uvec4{ x:x16, y:y16, z:z16, w:w16, } = e;
*((ptr0 + 32) as *mut i32) = wit_bindgen::rt::as_i32(x16);
*((ptr0 + 36) as *mut i32) = wit_bindgen::rt::as_i32(y16);
*((ptr0 + 40) as *mut i32) = wit_bindgen::rt::as_i32(z16);
*((ptr0 + 44) as *mut i32) = wit_bindgen::rt::as_i32(w16);
},
Value::TypeIvec2(e) => {
*((ptr0 + 24) as *mut u8) = (22i32) as u8;
let super::super::super::ambient::bindings::types::Ivec2{ x:x17, y:y17, } = e;
*((ptr0 + 32) as *mut i32) = wit_bindgen::rt::as_i32(x17);
*((ptr0 + 36) as *mut i32) = wit_bindgen::rt::as_i32(y17);
},
Value::TypeIvec3(e) => {
*((ptr0 + 24) as *mut u8) = (23i32) as u8;
let super::super::super::ambient::bindings::types::Ivec3{ x:x18, y:y18, z:z18, } = e;
*((ptr0 + 32) as *mut i32) = wit_bindgen::rt::as_i32(x18);
*((ptr0 + 36) as *mut i32) = wit_bindgen::rt::as_i32(y18);
*((ptr0 + 40) as *mut i32) = wit_bindgen::rt::as_i32(z18);
},
Value::TypeIvec4(e) => {
*((ptr0 + 24) as *mut u8) = (24i32) as u8;
let super::super::super::ambient::bindings::types::Ivec4{ x:x19, y:y19, z:z19, w:w19, } = e;
*((ptr0 + 32) as *mut i32) = wit_bindgen::rt::as_i32(x19);
*((ptr0 + 36) as *mut i32) = wit_bindgen::rt::as_i32(y19);
*((ptr0 + 40) as *mut i32) = wit_bindgen::rt::as_i32(z19);
*((ptr0 + 44) as *mut i32) = wit_bindgen::rt::as_i32(w19);
},
Value::TypeDuration(e) => {
*((ptr0 + 24) as *mut u8) = (25i32) as u8;
let super::super::super::ambient::bindings::types::Duration{ seconds:seconds20, nanoseconds:nanoseconds20, } = e;
*((ptr0 + 32) as *mut i64) = wit_bindgen::rt::as_i64(seconds20);
*((ptr0 + 40) as *mut i32) = wit_bindgen::rt::as_i32(nanoseconds20);
},
Value::TypeProceduralMeshHandle(e) => {
*((ptr0 + 24) as *mut u8) = (26i32) as u8;
let super::super::super::ambient::bindings::client_mesh::Handle{ ulid:ulid21, } = e;
let (t22_0, t22_1, ) = ulid21;
*((ptr0 + 32) as *mut i64) = wit_bindgen::rt::as_i64(t22_0);
*((ptr0 + 40) as *mut i64) = wit_bindgen::rt::as_i64(t22_1);
},
Value::TypeProceduralTextureHandle(e) => {
*((ptr0 + 24) as *mut u8) = (27i32) as u8;
let super::super::super::ambient::bindings::client_texture::Handle{ ulid:ulid23, } = e;
let (t24_0, t24_1, ) = ulid23;
*((ptr0 + 32) as *mut i64) = wit_bindgen::rt::as_i64(t24_0);
*((ptr0 + 40) as *mut i64) = wit_bindgen::rt::as_i64(t24_1);
},
Value::TypeProceduralSamplerHandle(e) => {
*((ptr0 + 24) as *mut u8) = (28i32) as u8;
let super::super::super::ambient::bindings::client_sampler::Handle{ ulid:ulid25, } = e;
let (t26_0, t26_1, ) = ulid25;
*((ptr0 + 32) as *mut i64) = wit_bindgen::rt::as_i64(t26_0);
*((ptr0 + 40) as *mut i64) = wit_bindgen::rt::as_i64(t26_1);
},
Value::TypeProceduralMaterialHandle(e) => {
*((ptr0 + 24) as *mut u8) = (29i32) as u8;
let super::super::super::ambient::bindings::client_material::Handle{ ulid:ulid27, } = e;
let (t28_0, t28_1, ) = ulid27;
*((ptr0 + 32) as *mut i64) = wit_bindgen::rt::as_i64(t28_0);
*((ptr0 + 40) as *mut i64) = wit_bindgen::rt::as_i64(t28_1);
},
Value::TypeVec(e) => {
*((ptr0 + 24) as *mut u8) = (30i32) as u8;
match e {
VecValue::TypeEmpty(e) => {
*((ptr0 + 32) as *mut u8) = (0i32) as u8;
let vec29 = e;
let ptr29 = vec29.as_ptr() as i32;
let len29 = vec29.len() as i32;
*((ptr0 + 40) as *mut i32) = len29;
*((ptr0 + 36) as *mut i32) = ptr29;
},
VecValue::TypeBool(e) => {
*((ptr0 + 32) as *mut u8) = (1i32) as u8;
let vec30 = e;
let len30 = vec30.len() as i32;
let layout30 = alloc::Layout::from_size_align_unchecked(vec30.len() * 1, 1);
let result30 = if layout30.size() != 0
{
let ptr = alloc::alloc(layout30);
if ptr.is_null()
{
alloc::handle_alloc_error(layout30);
}
ptr
}else {
::core::ptr::null_mut()
};
for (i, e) in vec30.into_iter().enumerate() {
let base = result30 as i32 + (i as i32) * 1;
{
*((base + 0) as *mut u8) = (match e { true => 1, false => 0 }) as u8;
}}
*((ptr0 + 40) as *mut i32) = len30;
*((ptr0 + 36) as *mut i32) = result30 as i32;
cleanup_list.extend_from_slice(&[(result30, layout30),]);
},
VecValue::TypeEntityId(e) => {
*((ptr0 + 32) as *mut u8) = (2i32) as u8;
let vec31 = e;
let ptr31 = vec31.as_ptr() as i32;
let len31 = vec31.len() as i32;
*((ptr0 + 40) as *mut i32) = len31;
*((ptr0 + 36) as *mut i32) = ptr31;
},
VecValue::TypeF32(e) => {
*((ptr0 + 32) as *mut u8) = (3i32) as u8;
let vec32 = e;
let ptr32 = vec32.as_ptr() as i32;
let len32 = vec32.len() as i32;
*((ptr0 + 40) as *mut i32) = len32;
*((ptr0 + 36) as *mut i32) = ptr32;
},
VecValue::TypeF64(e) => {
*((ptr0 + 32) as *mut u8) = (4i32) as u8;
let vec33 = e;
let ptr33 = vec33.as_ptr() as i32;
let len33 = vec33.len() as i32;
*((ptr0 + 40) as *mut i32) = len33;
*((ptr0 + 36) as *mut i32) = ptr33;
},
VecValue::TypeMat4(e) => {
*((ptr0 + 32) as *mut u8) = (5i32) as u8;
let vec34 = e;
let ptr34 = vec34.as_ptr() as i32;
let len34 = vec34.len() as i32;
*((ptr0 + 40) as *mut i32) = len34;
*((ptr0 + 36) as *mut i32) = ptr34;
},
VecValue::TypeQuat(e) => {
*((ptr0 + 32) as *mut u8) = (6i32) as u8;
let vec35 = e;
let ptr35 = vec35.as_ptr() as i32;
let len35 = vec35.len() as i32;
*((ptr0 + 40) as *mut i32) = len35;
*((ptr0 + 36) as *mut i32) = ptr35;
},
VecValue::TypeString(e) => {
*((ptr0 + 32) as *mut u8) = (7i32) as u8;
let vec37 = e;
let len37 = vec37.len() as i32;
let layout37 = alloc::Layout::from_size_align_unchecked(vec37.len() * 8, 4);
let result37 = if layout37.size() != 0
{
let ptr = alloc::alloc(layout37);
if ptr.is_null()
{
alloc::handle_alloc_error(layout37);
}
ptr
}else {
::core::ptr::null_mut()
};
for (i, e) in vec37.into_iter().enumerate() {
let base = result37 as i32 + (i as i32) * 8;
{
let vec36 = e;
let ptr36 = vec36.as_ptr() as i32;
let len36 = vec36.len() as i32;
*((base + 4) as *mut i32) = len36;
*((base + 0) as *mut i32) = ptr36;
}}
*((ptr0 + 40) as *mut i32) = len37;
*((ptr0 + 36) as *mut i32) = result37 as i32;
cleanup_list.extend_from_slice(&[(result37, layout37),]);
},
VecValue::TypeU8(e) => {
*((ptr0 + 32) as *mut u8) = (8i32) as u8;
let vec38 = e;
let ptr38 = vec38.as_ptr() as i32;
let len38 = vec38.len() as i32;
*((ptr0 + 40) as *mut i32) = len38;
*((ptr0 + 36) as *mut i32) = ptr38;
},
VecValue::TypeU16(e) => {
*((ptr0 + 32) as *mut u8) = (9i32) as u8;
let vec39 = e;
let ptr39 = vec39.as_ptr() as i32;
let len39 = vec39.len() as i32;
*((ptr0 + 40) as *mut i32) = len39;
*((ptr0 + 36) as *mut i32) = ptr39;
},
VecValue::TypeU32(e) => {
*((ptr0 + 32) as *mut u8) = (10i32) as u8;
let vec40 = e;
let ptr40 = vec40.as_ptr() as i32;
let len40 = vec40.len() as i32;
*((ptr0 + 40) as *mut i32) = len40;
*((ptr0 + 36) as *mut i32) = ptr40;
},
VecValue::TypeU64(e) => {
*((ptr0 + 32) as *mut u8) = (11i32) as u8;
let vec41 = e;
let ptr41 = vec41.as_ptr() as i32;
let len41 = vec41.len() as i32;
*((ptr0 + 40) as *mut i32) = len41;
*((ptr0 + 36) as *mut i32) = ptr41;
},
VecValue::TypeI8(e) => {
*((ptr0 + 32) as *mut u8) = (12i32) as u8;
let vec42 = e;
let ptr42 = vec42.as_ptr() as i32;
let len42 = vec42.len() as i32;
*((ptr0 + 40) as *mut i32) = len42;
*((ptr0 + 36) as *mut i32) = ptr42;
},
VecValue::TypeI16(e) => {
*((ptr0 + 32) as *mut u8) = (13i32) as u8;
let vec43 = e;
let ptr43 = vec43.as_ptr() as i32;
let len43 = vec43.len() as i32;
*((ptr0 + 40) as *mut i32) = len43;
*((ptr0 + 36) as *mut i32) = ptr43;
},
VecValue::TypeI32(e) => {
*((ptr0 + 32) as *mut u8) = (14i32) as u8;
let vec44 = e;
let ptr44 = vec44.as_ptr() as i32;
let len44 = vec44.len() as i32;
*((ptr0 + 40) as *mut i32) = len44;
*((ptr0 + 36) as *mut i32) = ptr44;
},
VecValue::TypeI64(e) => {
*((ptr0 + 32) as *mut u8) = (15i32) as u8;
let vec45 = e;
let ptr45 = vec45.as_ptr() as i32;
let len45 = vec45.len() as i32;
*((ptr0 + 40) as *mut i32) = len45;
*((ptr0 + 36) as *mut i32) = ptr45;
},
VecValue::TypeVec2(e) => {
*((ptr0 + 32) as *mut u8) = (16i32) as u8;
let vec46 = e;
let ptr46 = vec46.as_ptr() as i32;
let len46 = vec46.len() as i32;
*((ptr0 + 40) as *mut i32) = len46;
*((ptr0 + 36) as *mut i32) = ptr46;
},
VecValue::TypeVec3(e) => {
*((ptr0 + 32) as *mut u8) = (17i32) as u8;
let vec47 = e;
let ptr47 = vec47.as_ptr() as i32;
let len47 = vec47.len() as i32;
*((ptr0 + 40) as *mut i32) = len47;
*((ptr0 + 36) as *mut i32) = ptr47;
},
VecValue::TypeVec4(e) => {
*((ptr0 + 32) as *mut u8) = (18i32) as u8;
let vec48 = e;
let ptr48 = vec48.as_ptr() as i32;
let len48 = vec48.len() as i32;
*((ptr0 + 40) as *mut i32) = len48;
*((ptr0 + 36) as *mut i32) = ptr48;
},
VecValue::TypeUvec2(e) => {
*((ptr0 + 32) as *mut u8) = (19i32) as u8;
let vec49 = e;
let ptr49 = vec49.as_ptr() as i32;
let len49 = vec49.len() as i32;
*((ptr0 + 40) as *mut i32) = len49;
*((ptr0 + 36) as *mut i32) = ptr49;
},
VecValue::TypeUvec3(e) => {
*((ptr0 + 32) as *mut u8) = (20i32) as u8;
let vec50 = e;
let ptr50 = vec50.as_ptr() as i32;
let len50 = vec50.len() as i32;
*((ptr0 + 40) as *mut i32) = len50;
*((ptr0 + 36) as *mut i32) = ptr50;
},
VecValue::TypeUvec4(e) => {
*((ptr0 + 32) as *mut u8) = (21i32) as u8;
let vec51 = e;
let ptr51 = vec51.as_ptr() as i32;
let len51 = vec51.len() as i32;
*((ptr0 + 40) as *mut i32) = len51;
*((ptr0 + 36) as *mut i32) = ptr51;
},
VecValue::TypeIvec2(e) => {
*((ptr0 + 32) as *mut u8) = (22i32) as u8;
let vec52 = e;
let ptr52 = vec52.as_ptr() as i32;
let len52 = vec52.len() as i32;
*((ptr0 + 40) as *mut i32) = len52;
*((ptr0 + 36) as *mut i32) = ptr52;
},
VecValue::TypeIvec3(e) => {
*((ptr0 + 32) as *mut u8) = (23i32) as u8;
let vec53 = e;
let ptr53 = vec53.as_ptr() as i32;
let len53 = vec53.len() as i32;
*((ptr0 + 40) as *mut i32) = len53;
*((ptr0 + 36) as *mut i32) = ptr53;
},
VecValue::TypeIvec4(e) => {
*((ptr0 + 32) as *mut u8) = (24i32) as u8;
let vec54 = e;
let ptr54 = vec54.as_ptr() as i32;
let len54 = vec54.len() as i32;
*((ptr0 + 40) as *mut i32) = len54;
*((ptr0 + 36) as *mut i32) = ptr54;
},
VecValue::TypeDuration(e) => {
*((ptr0 + 32) as *mut u8) = (25i32) as u8;
let vec55 = e;
let ptr55 = vec55.as_ptr() as i32;
let len55 = vec55.len() as i32;
*((ptr0 + 40) as *mut i32) = len55;
*((ptr0 + 36) as *mut i32) = ptr55;
},
VecValue::TypeProceduralMeshHandle(e) => {
*((ptr0 + 32) as *mut u8) = (26i32) as u8;
let vec56 = e;
let ptr56 = vec56.as_ptr() as i32;
let len56 = vec56.len() as i32;
*((ptr0 + 40) as *mut i32) = len56;
*((ptr0 + 36) as *mut i32) = ptr56;
},
VecValue::TypeProceduralTextureHandle(e) => {
*((ptr0 + 32) as *mut u8) = (27i32) as u8;
let vec57 = e;
let ptr57 = vec57.as_ptr() as i32;
let len57 = vec57.len() as i32;
*((ptr0 + 40) as *mut i32) = len57;
*((ptr0 + 36) as *mut i32) = ptr57;
},
VecValue::TypeProceduralSamplerHandle(e) => {
*((ptr0 + 32) as *mut u8) = (28i32) as u8;
let vec58 = e;
let ptr58 = vec58.as_ptr() as i32;
let len58 = vec58.len() as i32;
*((ptr0 + 40) as *mut i32) = len58;
*((ptr0 + 36) as *mut i32) = ptr58;
},
VecValue::TypeProceduralMaterialHandle(e) => {
*((ptr0 + 32) as *mut u8) = (29i32) as u8;
let vec59 = e;
let ptr59 = vec59.as_ptr() as i32;
let len59 = vec59.len() as i32;
*((ptr0 + 40) as *mut i32) = len59;
*((ptr0 + 36) as *mut i32) = ptr59;
},
};
},
Value::TypeOption(e) => {
*((ptr0 + 24) as *mut u8) = (31i32) as u8;
match e {
OptionValue::TypeEmpty(e) => {
*((ptr0 + 32) as *mut u8) = (0i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Empty{ dummy:dummy60, } = e;
*((ptr0 + 41) as *mut u8) = (wit_bindgen::rt::as_i32(dummy60)) as u8;
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeBool(e) => {
*((ptr0 + 32) as *mut u8) = (1i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
*((ptr0 + 41) as *mut u8) = (match e { true => 1, false => 0 }) as u8;
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeEntityId(e) => {
*((ptr0 + 32) as *mut u8) = (2i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::EntityId{ id0:id061, id1:id161, } = e;
*((ptr0 + 48) as *mut i64) = wit_bindgen::rt::as_i64(id061);
*((ptr0 + 56) as *mut i64) = wit_bindgen::rt::as_i64(id161);
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeF32(e) => {
*((ptr0 + 32) as *mut u8) = (3i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
*((ptr0 + 44) as *mut f32) = wit_bindgen::rt::as_f32(e);
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeF64(e) => {
*((ptr0 + 32) as *mut u8) = (4i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
*((ptr0 + 48) as *mut f64) = wit_bindgen::rt::as_f64(e);
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeMat4(e) => {
*((ptr0 + 32) as *mut u8) = (5i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Mat4{ x:x62, y:y62, z:z62, w:w62, } = e;
let super::super::super::ambient::bindings::types::Vec4{ x:x63, y:y63, z:z63, w:w63, } = x62;
*((ptr0 + 44) as *mut f32) = wit_bindgen::rt::as_f32(x63);
*((ptr0 + 48) as *mut f32) = wit_bindgen::rt::as_f32(y63);
*((ptr0 + 52) as *mut f32) = wit_bindgen::rt::as_f32(z63);
*((ptr0 + 56) as *mut f32) = wit_bindgen::rt::as_f32(w63);
let super::super::super::ambient::bindings::types::Vec4{ x:x64, y:y64, z:z64, w:w64, } = y62;
*((ptr0 + 60) as *mut f32) = wit_bindgen::rt::as_f32(x64);
*((ptr0 + 64) as *mut f32) = wit_bindgen::rt::as_f32(y64);
*((ptr0 + 68) as *mut f32) = wit_bindgen::rt::as_f32(z64);
*((ptr0 + 72) as *mut f32) = wit_bindgen::rt::as_f32(w64);
let super::super::super::ambient::bindings::types::Vec4{ x:x65, y:y65, z:z65, w:w65, } = z62;
*((ptr0 + 76) as *mut f32) = wit_bindgen::rt::as_f32(x65);
*((ptr0 + 80) as *mut f32) = wit_bindgen::rt::as_f32(y65);
*((ptr0 + 84) as *mut f32) = wit_bindgen::rt::as_f32(z65);
*((ptr0 + 88) as *mut f32) = wit_bindgen::rt::as_f32(w65);
let super::super::super::ambient::bindings::types::Vec4{ x:x66, y:y66, z:z66, w:w66, } = w62;
*((ptr0 + 92) as *mut f32) = wit_bindgen::rt::as_f32(x66);
*((ptr0 + 96) as *mut f32) = wit_bindgen::rt::as_f32(y66);
*((ptr0 + 100) as *mut f32) = wit_bindgen::rt::as_f32(z66);
*((ptr0 + 104) as *mut f32) = wit_bindgen::rt::as_f32(w66);
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeQuat(e) => {
*((ptr0 + 32) as *mut u8) = (6i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Quat{ x:x67, y:y67, z:z67, w:w67, } = e;
*((ptr0 + 44) as *mut f32) = wit_bindgen::rt::as_f32(x67);
*((ptr0 + 48) as *mut f32) = wit_bindgen::rt::as_f32(y67);
*((ptr0 + 52) as *mut f32) = wit_bindgen::rt::as_f32(z67);
*((ptr0 + 56) as *mut f32) = wit_bindgen::rt::as_f32(w67);
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeString(e) => {
*((ptr0 + 32) as *mut u8) = (7i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
let vec68 = e;
let ptr68 = vec68.as_ptr() as i32;
let len68 = vec68.len() as i32;
*((ptr0 + 48) as *mut i32) = len68;
*((ptr0 + 44) as *mut i32) = ptr68;
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeU8(e) => {
*((ptr0 + 32) as *mut u8) = (8i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
*((ptr0 + 41) as *mut u8) = (wit_bindgen::rt::as_i32(e)) as u8;
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeU16(e) => {
*((ptr0 + 32) as *mut u8) = (9i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
*((ptr0 + 42) as *mut u16) = (wit_bindgen::rt::as_i32(e)) as u16;
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeU32(e) => {
*((ptr0 + 32) as *mut u8) = (10i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
*((ptr0 + 44) as *mut i32) = wit_bindgen::rt::as_i32(e);
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeU64(e) => {
*((ptr0 + 32) as *mut u8) = (11i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
*((ptr0 + 48) as *mut i64) = wit_bindgen::rt::as_i64(e);
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeI8(e) => {
*((ptr0 + 32) as *mut u8) = (12i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
*((ptr0 + 41) as *mut u8) = (wit_bindgen::rt::as_i32(e)) as u8;
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeI16(e) => {
*((ptr0 + 32) as *mut u8) = (13i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
*((ptr0 + 42) as *mut u16) = (wit_bindgen::rt::as_i32(e)) as u16;
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeI32(e) => {
*((ptr0 + 32) as *mut u8) = (14i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
*((ptr0 + 44) as *mut i32) = wit_bindgen::rt::as_i32(e);
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeI64(e) => {
*((ptr0 + 32) as *mut u8) = (15i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
*((ptr0 + 48) as *mut i64) = wit_bindgen::rt::as_i64(e);
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeVec2(e) => {
*((ptr0 + 32) as *mut u8) = (16i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Vec2{ x:x69, y:y69, } = e;
*((ptr0 + 44) as *mut f32) = wit_bindgen::rt::as_f32(x69);
*((ptr0 + 48) as *mut f32) = wit_bindgen::rt::as_f32(y69);
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeVec3(e) => {
*((ptr0 + 32) as *mut u8) = (17i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Vec3{ x:x70, y:y70, z:z70, } = e;
*((ptr0 + 44) as *mut f32) = wit_bindgen::rt::as_f32(x70);
*((ptr0 + 48) as *mut f32) = wit_bindgen::rt::as_f32(y70);
*((ptr0 + 52) as *mut f32) = wit_bindgen::rt::as_f32(z70);
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeVec4(e) => {
*((ptr0 + 32) as *mut u8) = (18i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Vec4{ x:x71, y:y71, z:z71, w:w71, } = e;
*((ptr0 + 44) as *mut f32) = wit_bindgen::rt::as_f32(x71);
*((ptr0 + 48) as *mut f32) = wit_bindgen::rt::as_f32(y71);
*((ptr0 + 52) as *mut f32) = wit_bindgen::rt::as_f32(z71);
*((ptr0 + 56) as *mut f32) = wit_bindgen::rt::as_f32(w71);
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeUvec2(e) => {
*((ptr0 + 32) as *mut u8) = (19i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Uvec2{ x:x72, y:y72, } = e;
*((ptr0 + 44) as *mut i32) = wit_bindgen::rt::as_i32(x72);
*((ptr0 + 48) as *mut i32) = wit_bindgen::rt::as_i32(y72);
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeUvec3(e) => {
*((ptr0 + 32) as *mut u8) = (20i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Uvec3{ x:x73, y:y73, z:z73, } = e;
*((ptr0 + 44) as *mut i32) = wit_bindgen::rt::as_i32(x73);
*((ptr0 + 48) as *mut i32) = wit_bindgen::rt::as_i32(y73);
*((ptr0 + 52) as *mut i32) = wit_bindgen::rt::as_i32(z73);
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeUvec4(e) => {
*((ptr0 + 32) as *mut u8) = (21i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Uvec4{ x:x74, y:y74, z:z74, w:w74, } = e;
*((ptr0 + 44) as *mut i32) = wit_bindgen::rt::as_i32(x74);
*((ptr0 + 48) as *mut i32) = wit_bindgen::rt::as_i32(y74);
*((ptr0 + 52) as *mut i32) = wit_bindgen::rt::as_i32(z74);
*((ptr0 + 56) as *mut i32) = wit_bindgen::rt::as_i32(w74);
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeIvec2(e) => {
*((ptr0 + 32) as *mut u8) = (22i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Ivec2{ x:x75, y:y75, } = e;
*((ptr0 + 44) as *mut i32) = wit_bindgen::rt::as_i32(x75);
*((ptr0 + 48) as *mut i32) = wit_bindgen::rt::as_i32(y75);
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeIvec3(e) => {
*((ptr0 + 32) as *mut u8) = (23i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Ivec3{ x:x76, y:y76, z:z76, } = e;
*((ptr0 + 44) as *mut i32) = wit_bindgen::rt::as_i32(x76);
*((ptr0 + 48) as *mut i32) = wit_bindgen::rt::as_i32(y76);
*((ptr0 + 52) as *mut i32) = wit_bindgen::rt::as_i32(z76);
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeIvec4(e) => {
*((ptr0 + 32) as *mut u8) = (24i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Ivec4{ x:x77, y:y77, z:z77, w:w77, } = e;
*((ptr0 + 44) as *mut i32) = wit_bindgen::rt::as_i32(x77);
*((ptr0 + 48) as *mut i32) = wit_bindgen::rt::as_i32(y77);
*((ptr0 + 52) as *mut i32) = wit_bindgen::rt::as_i32(z77);
*((ptr0 + 56) as *mut i32) = wit_bindgen::rt::as_i32(w77);
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeDuration(e) => {
*((ptr0 + 32) as *mut u8) = (25i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Duration{ seconds:seconds78, nanoseconds:nanoseconds78, } = e;
*((ptr0 + 48) as *mut i64) = wit_bindgen::rt::as_i64(seconds78);
*((ptr0 + 56) as *mut i32) = wit_bindgen::rt::as_i32(nanoseconds78);
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeProceduralMeshHandle(e) => {
*((ptr0 + 32) as *mut u8) = (26i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::client_mesh::Handle{ ulid:ulid79, } = e;
let (t80_0, t80_1, ) = ulid79;
*((ptr0 + 48) as *mut i64) = wit_bindgen::rt::as_i64(t80_0);
*((ptr0 + 56) as *mut i64) = wit_bindgen::rt::as_i64(t80_1);
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeProceduralTextureHandle(e) => {
*((ptr0 + 32) as *mut u8) = (27i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::client_texture::Handle{ ulid:ulid81, } = e;
let (t82_0, t82_1, ) = ulid81;
*((ptr0 + 48) as *mut i64) = wit_bindgen::rt::as_i64(t82_0);
*((ptr0 + 56) as *mut i64) = wit_bindgen::rt::as_i64(t82_1);
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeProceduralSamplerHandle(e) => {
*((ptr0 + 32) as *mut u8) = (28i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::client_sampler::Handle{ ulid:ulid83, } = e;
let (t84_0, t84_1, ) = ulid83;
*((ptr0 + 48) as *mut i64) = wit_bindgen::rt::as_i64(t84_0);
*((ptr0 + 56) as *mut i64) = wit_bindgen::rt::as_i64(t84_1);
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeProceduralMaterialHandle(e) => {
*((ptr0 + 32) as *mut u8) = (29i32) as u8;
match e {
Some(e) => {
*((ptr0 + 40) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::client_material::Handle{ ulid:ulid85, } = e;
let (t86_0, t86_1, ) = ulid85;
*((ptr0 + 48) as *mut i64) = wit_bindgen::rt::as_i64(t86_0);
*((ptr0 + 56) as *mut i64) = wit_bindgen::rt::as_i64(t86_1);
},
None => {
{
*((ptr0 + 40) as *mut u8) = (0i32) as u8;
}
},
};
},
};
},
};
#[link(wasm_import_module = "ambient:bindings/component")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "set-component")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/component_set-component")]
fn wit_import(
_: i32, );
}
wit_import(ptr0);
for (ptr, layout) in cleanup_list {
if layout.size() != 0 {
alloc::dealloc(ptr, layout);
}
}
}
}
#[allow(clippy::all)]
pub fn set_components(entity: EntityId,data: &Entity,){
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
let mut cleanup_list = Vec::new();
let super::super::super::ambient::bindings::types::EntityId{ id0:id00, id1:id10, } = entity;
let vec87 = data;
let len87 = vec87.len() as i32;
let layout87 = alloc::Layout::from_size_align_unchecked(vec87.len() * 96, 8);
let result87 = if layout87.size() != 0
{
let ptr = alloc::alloc(layout87);
if ptr.is_null()
{
alloc::handle_alloc_error(layout87);
}
ptr
}else {
::core::ptr::null_mut()
};
for (i, e) in vec87.into_iter().enumerate() {
let base = result87 as i32 + (i as i32) * 96;
{
let (t1_0, t1_1, ) = e;
*((base + 0) as *mut i32) = wit_bindgen::rt::as_i32(t1_0);
match t1_1 {
Value::TypeEmpty(e) => {
*((base + 8) as *mut u8) = (0i32) as u8;
let super::super::super::ambient::bindings::types::Empty{ dummy:dummy2, } = e;
*((base + 16) as *mut u8) = (wit_bindgen::rt::as_i32(dummy2)) as u8;
},
Value::TypeBool(e) => {
*((base + 8) as *mut u8) = (1i32) as u8;
*((base + 16) as *mut u8) = (match e { true => 1, false => 0 }) as u8;
},
Value::TypeEntityId(e) => {
*((base + 8) as *mut u8) = (2i32) as u8;
let super::super::super::ambient::bindings::types::EntityId{ id0:id03, id1:id13, } = e;
*((base + 16) as *mut i64) = wit_bindgen::rt::as_i64(id03);
*((base + 24) as *mut i64) = wit_bindgen::rt::as_i64(id13);
},
Value::TypeF32(e) => {
*((base + 8) as *mut u8) = (3i32) as u8;
*((base + 16) as *mut f32) = wit_bindgen::rt::as_f32(e);
},
Value::TypeF64(e) => {
*((base + 8) as *mut u8) = (4i32) as u8;
*((base + 16) as *mut f64) = wit_bindgen::rt::as_f64(e);
},
Value::TypeMat4(e) => {
*((base + 8) as *mut u8) = (5i32) as u8;
let super::super::super::ambient::bindings::types::Mat4{ x:x4, y:y4, z:z4, w:w4, } = e;
let super::super::super::ambient::bindings::types::Vec4{ x:x5, y:y5, z:z5, w:w5, } = x4;
*((base + 16) as *mut f32) = wit_bindgen::rt::as_f32(x5);
*((base + 20) as *mut f32) = wit_bindgen::rt::as_f32(y5);
*((base + 24) as *mut f32) = wit_bindgen::rt::as_f32(z5);
*((base + 28) as *mut f32) = wit_bindgen::rt::as_f32(w5);
let super::super::super::ambient::bindings::types::Vec4{ x:x6, y:y6, z:z6, w:w6, } = y4;
*((base + 32) as *mut f32) = wit_bindgen::rt::as_f32(x6);
*((base + 36) as *mut f32) = wit_bindgen::rt::as_f32(y6);
*((base + 40) as *mut f32) = wit_bindgen::rt::as_f32(z6);
*((base + 44) as *mut f32) = wit_bindgen::rt::as_f32(w6);
let super::super::super::ambient::bindings::types::Vec4{ x:x7, y:y7, z:z7, w:w7, } = z4;
*((base + 48) as *mut f32) = wit_bindgen::rt::as_f32(x7);
*((base + 52) as *mut f32) = wit_bindgen::rt::as_f32(y7);
*((base + 56) as *mut f32) = wit_bindgen::rt::as_f32(z7);
*((base + 60) as *mut f32) = wit_bindgen::rt::as_f32(w7);
let super::super::super::ambient::bindings::types::Vec4{ x:x8, y:y8, z:z8, w:w8, } = w4;
*((base + 64) as *mut f32) = wit_bindgen::rt::as_f32(x8);
*((base + 68) as *mut f32) = wit_bindgen::rt::as_f32(y8);
*((base + 72) as *mut f32) = wit_bindgen::rt::as_f32(z8);
*((base + 76) as *mut f32) = wit_bindgen::rt::as_f32(w8);
},
Value::TypeQuat(e) => {
*((base + 8) as *mut u8) = (6i32) as u8;
let super::super::super::ambient::bindings::types::Quat{ x:x9, y:y9, z:z9, w:w9, } = e;
*((base + 16) as *mut f32) = wit_bindgen::rt::as_f32(x9);
*((base + 20) as *mut f32) = wit_bindgen::rt::as_f32(y9);
*((base + 24) as *mut f32) = wit_bindgen::rt::as_f32(z9);
*((base + 28) as *mut f32) = wit_bindgen::rt::as_f32(w9);
},
Value::TypeString(e) => {
*((base + 8) as *mut u8) = (7i32) as u8;
let vec10 = e;
let ptr10 = vec10.as_ptr() as i32;
let len10 = vec10.len() as i32;
*((base + 20) as *mut i32) = len10;
*((base + 16) as *mut i32) = ptr10;
},
Value::TypeU8(e) => {
*((base + 8) as *mut u8) = (8i32) as u8;
*((base + 16) as *mut u8) = (wit_bindgen::rt::as_i32(e)) as u8;
},
Value::TypeU16(e) => {
*((base + 8) as *mut u8) = (9i32) as u8;
*((base + 16) as *mut u16) = (wit_bindgen::rt::as_i32(e)) as u16;
},
Value::TypeU32(e) => {
*((base + 8) as *mut u8) = (10i32) as u8;
*((base + 16) as *mut i32) = wit_bindgen::rt::as_i32(e);
},
Value::TypeU64(e) => {
*((base + 8) as *mut u8) = (11i32) as u8;
*((base + 16) as *mut i64) = wit_bindgen::rt::as_i64(e);
},
Value::TypeI8(e) => {
*((base + 8) as *mut u8) = (12i32) as u8;
*((base + 16) as *mut u8) = (wit_bindgen::rt::as_i32(e)) as u8;
},
Value::TypeI16(e) => {
*((base + 8) as *mut u8) = (13i32) as u8;
*((base + 16) as *mut u16) = (wit_bindgen::rt::as_i32(e)) as u16;
},
Value::TypeI32(e) => {
*((base + 8) as *mut u8) = (14i32) as u8;
*((base + 16) as *mut i32) = wit_bindgen::rt::as_i32(e);
},
Value::TypeI64(e) => {
*((base + 8) as *mut u8) = (15i32) as u8;
*((base + 16) as *mut i64) = wit_bindgen::rt::as_i64(e);
},
Value::TypeVec2(e) => {
*((base + 8) as *mut u8) = (16i32) as u8;
let super::super::super::ambient::bindings::types::Vec2{ x:x11, y:y11, } = e;
*((base + 16) as *mut f32) = wit_bindgen::rt::as_f32(x11);
*((base + 20) as *mut f32) = wit_bindgen::rt::as_f32(y11);
},
Value::TypeVec3(e) => {
*((base + 8) as *mut u8) = (17i32) as u8;
let super::super::super::ambient::bindings::types::Vec3{ x:x12, y:y12, z:z12, } = e;
*((base + 16) as *mut f32) = wit_bindgen::rt::as_f32(x12);
*((base + 20) as *mut f32) = wit_bindgen::rt::as_f32(y12);
*((base + 24) as *mut f32) = wit_bindgen::rt::as_f32(z12);
},
Value::TypeVec4(e) => {
*((base + 8) as *mut u8) = (18i32) as u8;
let super::super::super::ambient::bindings::types::Vec4{ x:x13, y:y13, z:z13, w:w13, } = e;
*((base + 16) as *mut f32) = wit_bindgen::rt::as_f32(x13);
*((base + 20) as *mut f32) = wit_bindgen::rt::as_f32(y13);
*((base + 24) as *mut f32) = wit_bindgen::rt::as_f32(z13);
*((base + 28) as *mut f32) = wit_bindgen::rt::as_f32(w13);
},
Value::TypeUvec2(e) => {
*((base + 8) as *mut u8) = (19i32) as u8;
let super::super::super::ambient::bindings::types::Uvec2{ x:x14, y:y14, } = e;
*((base + 16) as *mut i32) = wit_bindgen::rt::as_i32(x14);
*((base + 20) as *mut i32) = wit_bindgen::rt::as_i32(y14);
},
Value::TypeUvec3(e) => {
*((base + 8) as *mut u8) = (20i32) as u8;
let super::super::super::ambient::bindings::types::Uvec3{ x:x15, y:y15, z:z15, } = e;
*((base + 16) as *mut i32) = wit_bindgen::rt::as_i32(x15);
*((base + 20) as *mut i32) = wit_bindgen::rt::as_i32(y15);
*((base + 24) as *mut i32) = wit_bindgen::rt::as_i32(z15);
},
Value::TypeUvec4(e) => {
*((base + 8) as *mut u8) = (21i32) as u8;
let super::super::super::ambient::bindings::types::Uvec4{ x:x16, y:y16, z:z16, w:w16, } = e;
*((base + 16) as *mut i32) = wit_bindgen::rt::as_i32(x16);
*((base + 20) as *mut i32) = wit_bindgen::rt::as_i32(y16);
*((base + 24) as *mut i32) = wit_bindgen::rt::as_i32(z16);
*((base + 28) as *mut i32) = wit_bindgen::rt::as_i32(w16);
},
Value::TypeIvec2(e) => {
*((base + 8) as *mut u8) = (22i32) as u8;
let super::super::super::ambient::bindings::types::Ivec2{ x:x17, y:y17, } = e;
*((base + 16) as *mut i32) = wit_bindgen::rt::as_i32(x17);
*((base + 20) as *mut i32) = wit_bindgen::rt::as_i32(y17);
},
Value::TypeIvec3(e) => {
*((base + 8) as *mut u8) = (23i32) as u8;
let super::super::super::ambient::bindings::types::Ivec3{ x:x18, y:y18, z:z18, } = e;
*((base + 16) as *mut i32) = wit_bindgen::rt::as_i32(x18);
*((base + 20) as *mut i32) = wit_bindgen::rt::as_i32(y18);
*((base + 24) as *mut i32) = wit_bindgen::rt::as_i32(z18);
},
Value::TypeIvec4(e) => {
*((base + 8) as *mut u8) = (24i32) as u8;
let super::super::super::ambient::bindings::types::Ivec4{ x:x19, y:y19, z:z19, w:w19, } = e;
*((base + 16) as *mut i32) = wit_bindgen::rt::as_i32(x19);
*((base + 20) as *mut i32) = wit_bindgen::rt::as_i32(y19);
*((base + 24) as *mut i32) = wit_bindgen::rt::as_i32(z19);
*((base + 28) as *mut i32) = wit_bindgen::rt::as_i32(w19);
},
Value::TypeDuration(e) => {
*((base + 8) as *mut u8) = (25i32) as u8;
let super::super::super::ambient::bindings::types::Duration{ seconds:seconds20, nanoseconds:nanoseconds20, } = e;
*((base + 16) as *mut i64) = wit_bindgen::rt::as_i64(seconds20);
*((base + 24) as *mut i32) = wit_bindgen::rt::as_i32(nanoseconds20);
},
Value::TypeProceduralMeshHandle(e) => {
*((base + 8) as *mut u8) = (26i32) as u8;
let super::super::super::ambient::bindings::client_mesh::Handle{ ulid:ulid21, } = e;
let (t22_0, t22_1, ) = ulid21;
*((base + 16) as *mut i64) = wit_bindgen::rt::as_i64(t22_0);
*((base + 24) as *mut i64) = wit_bindgen::rt::as_i64(t22_1);
},
Value::TypeProceduralTextureHandle(e) => {
*((base + 8) as *mut u8) = (27i32) as u8;
let super::super::super::ambient::bindings::client_texture::Handle{ ulid:ulid23, } = e;
let (t24_0, t24_1, ) = ulid23;
*((base + 16) as *mut i64) = wit_bindgen::rt::as_i64(t24_0);
*((base + 24) as *mut i64) = wit_bindgen::rt::as_i64(t24_1);
},
Value::TypeProceduralSamplerHandle(e) => {
*((base + 8) as *mut u8) = (28i32) as u8;
let super::super::super::ambient::bindings::client_sampler::Handle{ ulid:ulid25, } = e;
let (t26_0, t26_1, ) = ulid25;
*((base + 16) as *mut i64) = wit_bindgen::rt::as_i64(t26_0);
*((base + 24) as *mut i64) = wit_bindgen::rt::as_i64(t26_1);
},
Value::TypeProceduralMaterialHandle(e) => {
*((base + 8) as *mut u8) = (29i32) as u8;
let super::super::super::ambient::bindings::client_material::Handle{ ulid:ulid27, } = e;
let (t28_0, t28_1, ) = ulid27;
*((base + 16) as *mut i64) = wit_bindgen::rt::as_i64(t28_0);
*((base + 24) as *mut i64) = wit_bindgen::rt::as_i64(t28_1);
},
Value::TypeVec(e) => {
*((base + 8) as *mut u8) = (30i32) as u8;
match e {
VecValue::TypeEmpty(e) => {
*((base + 16) as *mut u8) = (0i32) as u8;
let vec29 = e;
let ptr29 = vec29.as_ptr() as i32;
let len29 = vec29.len() as i32;
*((base + 24) as *mut i32) = len29;
*((base + 20) as *mut i32) = ptr29;
},
VecValue::TypeBool(e) => {
*((base + 16) as *mut u8) = (1i32) as u8;
let vec30 = e;
let len30 = vec30.len() as i32;
let layout30 = alloc::Layout::from_size_align_unchecked(vec30.len() * 1, 1);
let result30 = if layout30.size() != 0
{
let ptr = alloc::alloc(layout30);
if ptr.is_null()
{
alloc::handle_alloc_error(layout30);
}
ptr
}else {
::core::ptr::null_mut()
};
for (i, e) in vec30.into_iter().enumerate() {
let base = result30 as i32 + (i as i32) * 1;
{
*((base + 0) as *mut u8) = (match e { true => 1, false => 0 }) as u8;
}}
*((base + 24) as *mut i32) = len30;
*((base + 20) as *mut i32) = result30 as i32;
cleanup_list.extend_from_slice(&[(result30, layout30),]);
},
VecValue::TypeEntityId(e) => {
*((base + 16) as *mut u8) = (2i32) as u8;
let vec31 = e;
let ptr31 = vec31.as_ptr() as i32;
let len31 = vec31.len() as i32;
*((base + 24) as *mut i32) = len31;
*((base + 20) as *mut i32) = ptr31;
},
VecValue::TypeF32(e) => {
*((base + 16) as *mut u8) = (3i32) as u8;
let vec32 = e;
let ptr32 = vec32.as_ptr() as i32;
let len32 = vec32.len() as i32;
*((base + 24) as *mut i32) = len32;
*((base + 20) as *mut i32) = ptr32;
},
VecValue::TypeF64(e) => {
*((base + 16) as *mut u8) = (4i32) as u8;
let vec33 = e;
let ptr33 = vec33.as_ptr() as i32;
let len33 = vec33.len() as i32;
*((base + 24) as *mut i32) = len33;
*((base + 20) as *mut i32) = ptr33;
},
VecValue::TypeMat4(e) => {
*((base + 16) as *mut u8) = (5i32) as u8;
let vec34 = e;
let ptr34 = vec34.as_ptr() as i32;
let len34 = vec34.len() as i32;
*((base + 24) as *mut i32) = len34;
*((base + 20) as *mut i32) = ptr34;
},
VecValue::TypeQuat(e) => {
*((base + 16) as *mut u8) = (6i32) as u8;
let vec35 = e;
let ptr35 = vec35.as_ptr() as i32;
let len35 = vec35.len() as i32;
*((base + 24) as *mut i32) = len35;
*((base + 20) as *mut i32) = ptr35;
},
VecValue::TypeString(e) => {
*((base + 16) as *mut u8) = (7i32) as u8;
let vec37 = e;
let len37 = vec37.len() as i32;
let layout37 = alloc::Layout::from_size_align_unchecked(vec37.len() * 8, 4);
let result37 = if layout37.size() != 0
{
let ptr = alloc::alloc(layout37);
if ptr.is_null()
{
alloc::handle_alloc_error(layout37);
}
ptr
}else {
::core::ptr::null_mut()
};
for (i, e) in vec37.into_iter().enumerate() {
let base = result37 as i32 + (i as i32) * 8;
{
let vec36 = e;
let ptr36 = vec36.as_ptr() as i32;
let len36 = vec36.len() as i32;
*((base + 4) as *mut i32) = len36;
*((base + 0) as *mut i32) = ptr36;
}}
*((base + 24) as *mut i32) = len37;
*((base + 20) as *mut i32) = result37 as i32;
cleanup_list.extend_from_slice(&[(result37, layout37),]);
},
VecValue::TypeU8(e) => {
*((base + 16) as *mut u8) = (8i32) as u8;
let vec38 = e;
let ptr38 = vec38.as_ptr() as i32;
let len38 = vec38.len() as i32;
*((base + 24) as *mut i32) = len38;
*((base + 20) as *mut i32) = ptr38;
},
VecValue::TypeU16(e) => {
*((base + 16) as *mut u8) = (9i32) as u8;
let vec39 = e;
let ptr39 = vec39.as_ptr() as i32;
let len39 = vec39.len() as i32;
*((base + 24) as *mut i32) = len39;
*((base + 20) as *mut i32) = ptr39;
},
VecValue::TypeU32(e) => {
*((base + 16) as *mut u8) = (10i32) as u8;
let vec40 = e;
let ptr40 = vec40.as_ptr() as i32;
let len40 = vec40.len() as i32;
*((base + 24) as *mut i32) = len40;
*((base + 20) as *mut i32) = ptr40;
},
VecValue::TypeU64(e) => {
*((base + 16) as *mut u8) = (11i32) as u8;
let vec41 = e;
let ptr41 = vec41.as_ptr() as i32;
let len41 = vec41.len() as i32;
*((base + 24) as *mut i32) = len41;
*((base + 20) as *mut i32) = ptr41;
},
VecValue::TypeI8(e) => {
*((base + 16) as *mut u8) = (12i32) as u8;
let vec42 = e;
let ptr42 = vec42.as_ptr() as i32;
let len42 = vec42.len() as i32;
*((base + 24) as *mut i32) = len42;
*((base + 20) as *mut i32) = ptr42;
},
VecValue::TypeI16(e) => {
*((base + 16) as *mut u8) = (13i32) as u8;
let vec43 = e;
let ptr43 = vec43.as_ptr() as i32;
let len43 = vec43.len() as i32;
*((base + 24) as *mut i32) = len43;
*((base + 20) as *mut i32) = ptr43;
},
VecValue::TypeI32(e) => {
*((base + 16) as *mut u8) = (14i32) as u8;
let vec44 = e;
let ptr44 = vec44.as_ptr() as i32;
let len44 = vec44.len() as i32;
*((base + 24) as *mut i32) = len44;
*((base + 20) as *mut i32) = ptr44;
},
VecValue::TypeI64(e) => {
*((base + 16) as *mut u8) = (15i32) as u8;
let vec45 = e;
let ptr45 = vec45.as_ptr() as i32;
let len45 = vec45.len() as i32;
*((base + 24) as *mut i32) = len45;
*((base + 20) as *mut i32) = ptr45;
},
VecValue::TypeVec2(e) => {
*((base + 16) as *mut u8) = (16i32) as u8;
let vec46 = e;
let ptr46 = vec46.as_ptr() as i32;
let len46 = vec46.len() as i32;
*((base + 24) as *mut i32) = len46;
*((base + 20) as *mut i32) = ptr46;
},
VecValue::TypeVec3(e) => {
*((base + 16) as *mut u8) = (17i32) as u8;
let vec47 = e;
let ptr47 = vec47.as_ptr() as i32;
let len47 = vec47.len() as i32;
*((base + 24) as *mut i32) = len47;
*((base + 20) as *mut i32) = ptr47;
},
VecValue::TypeVec4(e) => {
*((base + 16) as *mut u8) = (18i32) as u8;
let vec48 = e;
let ptr48 = vec48.as_ptr() as i32;
let len48 = vec48.len() as i32;
*((base + 24) as *mut i32) = len48;
*((base + 20) as *mut i32) = ptr48;
},
VecValue::TypeUvec2(e) => {
*((base + 16) as *mut u8) = (19i32) as u8;
let vec49 = e;
let ptr49 = vec49.as_ptr() as i32;
let len49 = vec49.len() as i32;
*((base + 24) as *mut i32) = len49;
*((base + 20) as *mut i32) = ptr49;
},
VecValue::TypeUvec3(e) => {
*((base + 16) as *mut u8) = (20i32) as u8;
let vec50 = e;
let ptr50 = vec50.as_ptr() as i32;
let len50 = vec50.len() as i32;
*((base + 24) as *mut i32) = len50;
*((base + 20) as *mut i32) = ptr50;
},
VecValue::TypeUvec4(e) => {
*((base + 16) as *mut u8) = (21i32) as u8;
let vec51 = e;
let ptr51 = vec51.as_ptr() as i32;
let len51 = vec51.len() as i32;
*((base + 24) as *mut i32) = len51;
*((base + 20) as *mut i32) = ptr51;
},
VecValue::TypeIvec2(e) => {
*((base + 16) as *mut u8) = (22i32) as u8;
let vec52 = e;
let ptr52 = vec52.as_ptr() as i32;
let len52 = vec52.len() as i32;
*((base + 24) as *mut i32) = len52;
*((base + 20) as *mut i32) = ptr52;
},
VecValue::TypeIvec3(e) => {
*((base + 16) as *mut u8) = (23i32) as u8;
let vec53 = e;
let ptr53 = vec53.as_ptr() as i32;
let len53 = vec53.len() as i32;
*((base + 24) as *mut i32) = len53;
*((base + 20) as *mut i32) = ptr53;
},
VecValue::TypeIvec4(e) => {
*((base + 16) as *mut u8) = (24i32) as u8;
let vec54 = e;
let ptr54 = vec54.as_ptr() as i32;
let len54 = vec54.len() as i32;
*((base + 24) as *mut i32) = len54;
*((base + 20) as *mut i32) = ptr54;
},
VecValue::TypeDuration(e) => {
*((base + 16) as *mut u8) = (25i32) as u8;
let vec55 = e;
let ptr55 = vec55.as_ptr() as i32;
let len55 = vec55.len() as i32;
*((base + 24) as *mut i32) = len55;
*((base + 20) as *mut i32) = ptr55;
},
VecValue::TypeProceduralMeshHandle(e) => {
*((base + 16) as *mut u8) = (26i32) as u8;
let vec56 = e;
let ptr56 = vec56.as_ptr() as i32;
let len56 = vec56.len() as i32;
*((base + 24) as *mut i32) = len56;
*((base + 20) as *mut i32) = ptr56;
},
VecValue::TypeProceduralTextureHandle(e) => {
*((base + 16) as *mut u8) = (27i32) as u8;
let vec57 = e;
let ptr57 = vec57.as_ptr() as i32;
let len57 = vec57.len() as i32;
*((base + 24) as *mut i32) = len57;
*((base + 20) as *mut i32) = ptr57;
},
VecValue::TypeProceduralSamplerHandle(e) => {
*((base + 16) as *mut u8) = (28i32) as u8;
let vec58 = e;
let ptr58 = vec58.as_ptr() as i32;
let len58 = vec58.len() as i32;
*((base + 24) as *mut i32) = len58;
*((base + 20) as *mut i32) = ptr58;
},
VecValue::TypeProceduralMaterialHandle(e) => {
*((base + 16) as *mut u8) = (29i32) as u8;
let vec59 = e;
let ptr59 = vec59.as_ptr() as i32;
let len59 = vec59.len() as i32;
*((base + 24) as *mut i32) = len59;
*((base + 20) as *mut i32) = ptr59;
},
};
},
Value::TypeOption(e) => {
*((base + 8) as *mut u8) = (31i32) as u8;
match e {
OptionValue::TypeEmpty(e) => {
*((base + 16) as *mut u8) = (0i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Empty{ dummy:dummy60, } = e;
*((base + 25) as *mut u8) = (wit_bindgen::rt::as_i32(dummy60)) as u8;
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeBool(e) => {
*((base + 16) as *mut u8) = (1i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
*((base + 25) as *mut u8) = (match e { true => 1, false => 0 }) as u8;
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeEntityId(e) => {
*((base + 16) as *mut u8) = (2i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::EntityId{ id0:id061, id1:id161, } = e;
*((base + 32) as *mut i64) = wit_bindgen::rt::as_i64(id061);
*((base + 40) as *mut i64) = wit_bindgen::rt::as_i64(id161);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeF32(e) => {
*((base + 16) as *mut u8) = (3i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
*((base + 28) as *mut f32) = wit_bindgen::rt::as_f32(e);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeF64(e) => {
*((base + 16) as *mut u8) = (4i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
*((base + 32) as *mut f64) = wit_bindgen::rt::as_f64(e);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeMat4(e) => {
*((base + 16) as *mut u8) = (5i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Mat4{ x:x62, y:y62, z:z62, w:w62, } = e;
let super::super::super::ambient::bindings::types::Vec4{ x:x63, y:y63, z:z63, w:w63, } = x62;
*((base + 28) as *mut f32) = wit_bindgen::rt::as_f32(x63);
*((base + 32) as *mut f32) = wit_bindgen::rt::as_f32(y63);
*((base + 36) as *mut f32) = wit_bindgen::rt::as_f32(z63);
*((base + 40) as *mut f32) = wit_bindgen::rt::as_f32(w63);
let super::super::super::ambient::bindings::types::Vec4{ x:x64, y:y64, z:z64, w:w64, } = y62;
*((base + 44) as *mut f32) = wit_bindgen::rt::as_f32(x64);
*((base + 48) as *mut f32) = wit_bindgen::rt::as_f32(y64);
*((base + 52) as *mut f32) = wit_bindgen::rt::as_f32(z64);
*((base + 56) as *mut f32) = wit_bindgen::rt::as_f32(w64);
let super::super::super::ambient::bindings::types::Vec4{ x:x65, y:y65, z:z65, w:w65, } = z62;
*((base + 60) as *mut f32) = wit_bindgen::rt::as_f32(x65);
*((base + 64) as *mut f32) = wit_bindgen::rt::as_f32(y65);
*((base + 68) as *mut f32) = wit_bindgen::rt::as_f32(z65);
*((base + 72) as *mut f32) = wit_bindgen::rt::as_f32(w65);
let super::super::super::ambient::bindings::types::Vec4{ x:x66, y:y66, z:z66, w:w66, } = w62;
*((base + 76) as *mut f32) = wit_bindgen::rt::as_f32(x66);
*((base + 80) as *mut f32) = wit_bindgen::rt::as_f32(y66);
*((base + 84) as *mut f32) = wit_bindgen::rt::as_f32(z66);
*((base + 88) as *mut f32) = wit_bindgen::rt::as_f32(w66);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeQuat(e) => {
*((base + 16) as *mut u8) = (6i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Quat{ x:x67, y:y67, z:z67, w:w67, } = e;
*((base + 28) as *mut f32) = wit_bindgen::rt::as_f32(x67);
*((base + 32) as *mut f32) = wit_bindgen::rt::as_f32(y67);
*((base + 36) as *mut f32) = wit_bindgen::rt::as_f32(z67);
*((base + 40) as *mut f32) = wit_bindgen::rt::as_f32(w67);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeString(e) => {
*((base + 16) as *mut u8) = (7i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let vec68 = e;
let ptr68 = vec68.as_ptr() as i32;
let len68 = vec68.len() as i32;
*((base + 32) as *mut i32) = len68;
*((base + 28) as *mut i32) = ptr68;
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeU8(e) => {
*((base + 16) as *mut u8) = (8i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
*((base + 25) as *mut u8) = (wit_bindgen::rt::as_i32(e)) as u8;
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeU16(e) => {
*((base + 16) as *mut u8) = (9i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
*((base + 26) as *mut u16) = (wit_bindgen::rt::as_i32(e)) as u16;
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeU32(e) => {
*((base + 16) as *mut u8) = (10i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
*((base + 28) as *mut i32) = wit_bindgen::rt::as_i32(e);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeU64(e) => {
*((base + 16) as *mut u8) = (11i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
*((base + 32) as *mut i64) = wit_bindgen::rt::as_i64(e);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeI8(e) => {
*((base + 16) as *mut u8) = (12i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
*((base + 25) as *mut u8) = (wit_bindgen::rt::as_i32(e)) as u8;
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeI16(e) => {
*((base + 16) as *mut u8) = (13i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
*((base + 26) as *mut u16) = (wit_bindgen::rt::as_i32(e)) as u16;
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeI32(e) => {
*((base + 16) as *mut u8) = (14i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
*((base + 28) as *mut i32) = wit_bindgen::rt::as_i32(e);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeI64(e) => {
*((base + 16) as *mut u8) = (15i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
*((base + 32) as *mut i64) = wit_bindgen::rt::as_i64(e);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeVec2(e) => {
*((base + 16) as *mut u8) = (16i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Vec2{ x:x69, y:y69, } = e;
*((base + 28) as *mut f32) = wit_bindgen::rt::as_f32(x69);
*((base + 32) as *mut f32) = wit_bindgen::rt::as_f32(y69);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeVec3(e) => {
*((base + 16) as *mut u8) = (17i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Vec3{ x:x70, y:y70, z:z70, } = e;
*((base + 28) as *mut f32) = wit_bindgen::rt::as_f32(x70);
*((base + 32) as *mut f32) = wit_bindgen::rt::as_f32(y70);
*((base + 36) as *mut f32) = wit_bindgen::rt::as_f32(z70);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeVec4(e) => {
*((base + 16) as *mut u8) = (18i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Vec4{ x:x71, y:y71, z:z71, w:w71, } = e;
*((base + 28) as *mut f32) = wit_bindgen::rt::as_f32(x71);
*((base + 32) as *mut f32) = wit_bindgen::rt::as_f32(y71);
*((base + 36) as *mut f32) = wit_bindgen::rt::as_f32(z71);
*((base + 40) as *mut f32) = wit_bindgen::rt::as_f32(w71);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeUvec2(e) => {
*((base + 16) as *mut u8) = (19i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Uvec2{ x:x72, y:y72, } = e;
*((base + 28) as *mut i32) = wit_bindgen::rt::as_i32(x72);
*((base + 32) as *mut i32) = wit_bindgen::rt::as_i32(y72);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeUvec3(e) => {
*((base + 16) as *mut u8) = (20i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Uvec3{ x:x73, y:y73, z:z73, } = e;
*((base + 28) as *mut i32) = wit_bindgen::rt::as_i32(x73);
*((base + 32) as *mut i32) = wit_bindgen::rt::as_i32(y73);
*((base + 36) as *mut i32) = wit_bindgen::rt::as_i32(z73);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeUvec4(e) => {
*((base + 16) as *mut u8) = (21i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Uvec4{ x:x74, y:y74, z:z74, w:w74, } = e;
*((base + 28) as *mut i32) = wit_bindgen::rt::as_i32(x74);
*((base + 32) as *mut i32) = wit_bindgen::rt::as_i32(y74);
*((base + 36) as *mut i32) = wit_bindgen::rt::as_i32(z74);
*((base + 40) as *mut i32) = wit_bindgen::rt::as_i32(w74);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeIvec2(e) => {
*((base + 16) as *mut u8) = (22i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Ivec2{ x:x75, y:y75, } = e;
*((base + 28) as *mut i32) = wit_bindgen::rt::as_i32(x75);
*((base + 32) as *mut i32) = wit_bindgen::rt::as_i32(y75);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeIvec3(e) => {
*((base + 16) as *mut u8) = (23i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Ivec3{ x:x76, y:y76, z:z76, } = e;
*((base + 28) as *mut i32) = wit_bindgen::rt::as_i32(x76);
*((base + 32) as *mut i32) = wit_bindgen::rt::as_i32(y76);
*((base + 36) as *mut i32) = wit_bindgen::rt::as_i32(z76);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeIvec4(e) => {
*((base + 16) as *mut u8) = (24i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Ivec4{ x:x77, y:y77, z:z77, w:w77, } = e;
*((base + 28) as *mut i32) = wit_bindgen::rt::as_i32(x77);
*((base + 32) as *mut i32) = wit_bindgen::rt::as_i32(y77);
*((base + 36) as *mut i32) = wit_bindgen::rt::as_i32(z77);
*((base + 40) as *mut i32) = wit_bindgen::rt::as_i32(w77);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeDuration(e) => {
*((base + 16) as *mut u8) = (25i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Duration{ seconds:seconds78, nanoseconds:nanoseconds78, } = e;
*((base + 32) as *mut i64) = wit_bindgen::rt::as_i64(seconds78);
*((base + 40) as *mut i32) = wit_bindgen::rt::as_i32(nanoseconds78);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeProceduralMeshHandle(e) => {
*((base + 16) as *mut u8) = (26i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::client_mesh::Handle{ ulid:ulid79, } = e;
let (t80_0, t80_1, ) = ulid79;
*((base + 32) as *mut i64) = wit_bindgen::rt::as_i64(t80_0);
*((base + 40) as *mut i64) = wit_bindgen::rt::as_i64(t80_1);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeProceduralTextureHandle(e) => {
*((base + 16) as *mut u8) = (27i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::client_texture::Handle{ ulid:ulid81, } = e;
let (t82_0, t82_1, ) = ulid81;
*((base + 32) as *mut i64) = wit_bindgen::rt::as_i64(t82_0);
*((base + 40) as *mut i64) = wit_bindgen::rt::as_i64(t82_1);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeProceduralSamplerHandle(e) => {
*((base + 16) as *mut u8) = (28i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::client_sampler::Handle{ ulid:ulid83, } = e;
let (t84_0, t84_1, ) = ulid83;
*((base + 32) as *mut i64) = wit_bindgen::rt::as_i64(t84_0);
*((base + 40) as *mut i64) = wit_bindgen::rt::as_i64(t84_1);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
OptionValue::TypeProceduralMaterialHandle(e) => {
*((base + 16) as *mut u8) = (29i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::client_material::Handle{ ulid:ulid85, } = e;
let (t86_0, t86_1, ) = ulid85;
*((base + 32) as *mut i64) = wit_bindgen::rt::as_i64(t86_0);
*((base + 40) as *mut i64) = wit_bindgen::rt::as_i64(t86_1);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
};
},
};
}}
#[link(wasm_import_module = "ambient:bindings/component")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "set-components")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/component_set-components")]
fn wit_import(
_: i64, _: i64, _: i32, _: i32, );
}
wit_import(wit_bindgen::rt::as_i64(id00), wit_bindgen::rt::as_i64(id10), result87 as i32, len87);
if layout87.size() != 0 {
alloc::dealloc(result87, layout87);
}
for (ptr, layout) in cleanup_list {
if layout.size() != 0 {
alloc::dealloc(ptr, layout);
}
}
}
}
#[allow(clippy::all)]
pub fn has_component(entity: EntityId,index: u32,) -> bool{
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
let super::super::super::ambient::bindings::types::EntityId{ id0:id00, id1:id10, } = entity;
#[link(wasm_import_module = "ambient:bindings/component")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "has-component")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/component_has-component")]
fn wit_import(
_: i64, _: i64, _: i32, ) -> i32;
}
let ret = wit_import(wit_bindgen::rt::as_i64(id00), wit_bindgen::rt::as_i64(id10), wit_bindgen::rt::as_i32(index));
{
#[cfg(not(debug_assertions))]
{ ::core::mem::transmute::<u8, bool>(ret as u8) }
#[cfg(debug_assertions)]
{
match ret {
0 => false,
1 => true,
_ => panic!("invalid bool discriminant"),
}
}
}
}
}
#[allow(clippy::all)]
pub fn has_components(entity: EntityId,indices: &[u32],) -> bool{
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
let super::super::super::ambient::bindings::types::EntityId{ id0:id00, id1:id10, } = entity;
let vec1 = indices;
let ptr1 = vec1.as_ptr() as i32;
let len1 = vec1.len() as i32;
#[link(wasm_import_module = "ambient:bindings/component")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "has-components")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/component_has-components")]
fn wit_import(
_: i64, _: i64, _: i32, _: i32, ) -> i32;
}
let ret = wit_import(wit_bindgen::rt::as_i64(id00), wit_bindgen::rt::as_i64(id10), ptr1, len1);
{
#[cfg(not(debug_assertions))]
{ ::core::mem::transmute::<u8, bool>(ret as u8) }
#[cfg(debug_assertions)]
{
match ret {
0 => false,
1 => true,
_ => panic!("invalid bool discriminant"),
}
}
}
}
}
#[allow(clippy::all)]
pub fn remove_component(entity: EntityId,index: u32,){
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
let super::super::super::ambient::bindings::types::EntityId{ id0:id00, id1:id10, } = entity;
#[link(wasm_import_module = "ambient:bindings/component")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "remove-component")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/component_remove-component")]
fn wit_import(
_: i64, _: i64, _: i32, );
}
wit_import(wit_bindgen::rt::as_i64(id00), wit_bindgen::rt::as_i64(id10), wit_bindgen::rt::as_i32(index));
}
}
#[allow(clippy::all)]
pub fn remove_components(entity: EntityId,indices: &[u32],){
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
let super::super::super::ambient::bindings::types::EntityId{ id0:id00, id1:id10, } = entity;
let vec1 = indices;
let ptr1 = vec1.as_ptr() as i32;
let len1 = vec1.len() as i32;
#[link(wasm_import_module = "ambient:bindings/component")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "remove-components")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/component_remove-components")]
fn wit_import(
_: i64, _: i64, _: i32, _: i32, );
}
wit_import(wit_bindgen::rt::as_i64(id00), wit_bindgen::rt::as_i64(id10), ptr1, len1);
}
}
#[allow(clippy::all)]
pub fn query(q: &QueryBuild,t: QueryEvent,) -> u64{
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
let QueryBuild{ components:components0, includes:includes0, excludes:excludes0, changed:changed0, } = q;
let vec1 = components0;
let ptr1 = vec1.as_ptr() as i32;
let len1 = vec1.len() as i32;
let vec2 = includes0;
let ptr2 = vec2.as_ptr() as i32;
let len2 = vec2.len() as i32;
let vec3 = excludes0;
let ptr3 = vec3.as_ptr() as i32;
let len3 = vec3.len() as i32;
let vec4 = changed0;
let ptr4 = vec4.as_ptr() as i32;
let len4 = vec4.len() as i32;
#[link(wasm_import_module = "ambient:bindings/component")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "query")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/component_query")]
fn wit_import(
_: i32, _: i32, _: i32, _: i32, _: i32, _: i32, _: i32, _: i32, _: i32, ) -> i64;
}
let ret = wit_import(ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, match t {
QueryEvent::Frame => 0,
QueryEvent::Spawn => 1,
QueryEvent::Despawn => 2,
});
ret as u64
}
}
#[allow(clippy::all)]
pub fn query_eval(q: u64,) -> wit_bindgen::rt::vec::Vec::<(EntityId,wit_bindgen::rt::vec::Vec::<Value>,)>{
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
#[repr(align(4))]
struct RetArea([u8; 8]);
let mut ret_area = ::core::mem::MaybeUninit::<RetArea>::uninit();
let ptr0 = ret_area.as_mut_ptr() as i32;
#[link(wasm_import_module = "ambient:bindings/component")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "query-eval")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/component_query-eval")]
fn wit_import(
_: i64, _: i32, );
}
wit_import(wit_bindgen::rt::as_i64(q), ptr0);
let base35 = *((ptr0 + 0) as *const i32);
let len35 = *((ptr0 + 4) as *const i32);
let mut result35 = Vec::with_capacity(len35 as usize);
for i in 0..len35 {
let base = base35 + i *24;
result35.push({
let base34 = *((base + 16) as *const i32);
let len34 = *((base + 20) as *const i32);
let mut result34 = Vec::with_capacity(len34 as usize);
for i in 0..len34 {
let base = base34 + i *88;
result34.push({{match i32::from(*((base + 0) as *const u8)) {
0 => Value::TypeEmpty(super::super::super::ambient::bindings::types::Empty{dummy:i32::from(*((base + 8) as *const u8)) as u8, }),
1 => Value::TypeBool({
#[cfg(not(debug_assertions))]
{ ::core::mem::transmute::<u8, bool>(i32::from(*((base + 8) as *const u8)) as u8) }
#[cfg(debug_assertions)]
{
match i32::from(*((base + 8) as *const u8)) {
0 => false,
1 => true,
_ => panic!("invalid bool discriminant"),
}
}
}),
2 => Value::TypeEntityId(super::super::super::ambient::bindings::types::EntityId{id0:*((base + 8) as *const i64) as u64, id1:*((base + 16) as *const i64) as u64, }),
3 => Value::TypeF32(*((base + 8) as *const f32)),
4 => Value::TypeF64(*((base + 8) as *const f64)),
5 => Value::TypeMat4(super::super::super::ambient::bindings::types::Mat4{x:super::super::super::ambient::bindings::types::Vec4{x:*((base + 8) as *const f32), y:*((base + 12) as *const f32), z:*((base + 16) as *const f32), w:*((base + 20) as *const f32), }, y:super::super::super::ambient::bindings::types::Vec4{x:*((base + 24) as *const f32), y:*((base + 28) as *const f32), z:*((base + 32) as *const f32), w:*((base + 36) as *const f32), }, z:super::super::super::ambient::bindings::types::Vec4{x:*((base + 40) as *const f32), y:*((base + 44) as *const f32), z:*((base + 48) as *const f32), w:*((base + 52) as *const f32), }, w:super::super::super::ambient::bindings::types::Vec4{x:*((base + 56) as *const f32), y:*((base + 60) as *const f32), z:*((base + 64) as *const f32), w:*((base + 68) as *const f32), }, }),
6 => Value::TypeQuat(super::super::super::ambient::bindings::types::Quat{x:*((base + 8) as *const f32), y:*((base + 12) as *const f32), z:*((base + 16) as *const f32), w:*((base + 20) as *const f32), }),
7 => Value::TypeString({
let len1 = *((base + 12) as *const i32) as usize;
{#[cfg(not(debug_assertions))]{String::from_utf8_unchecked(Vec::from_raw_parts(*((base + 8) as *const i32) as *mut _, len1, len1))}#[cfg(debug_assertions)]{String::from_utf8(Vec::from_raw_parts(*((base + 8) as *const i32) as *mut _, len1, len1)).unwrap()}}
}),
8 => Value::TypeU8(i32::from(*((base + 8) as *const u8)) as u8),
9 => Value::TypeU16(i32::from(*((base + 8) as *const u16)) as u16),
10 => Value::TypeU32(*((base + 8) as *const i32) as u32),
11 => Value::TypeU64(*((base + 8) as *const i64) as u64),
12 => Value::TypeI8(i32::from(*((base + 8) as *const i8)) as i8),
13 => Value::TypeI16(i32::from(*((base + 8) as *const i16)) as i16),
14 => Value::TypeI32(*((base + 8) as *const i32)),
15 => Value::TypeI64(*((base + 8) as *const i64)),
16 => Value::TypeVec2(super::super::super::ambient::bindings::types::Vec2{x:*((base + 8) as *const f32), y:*((base + 12) as *const f32), }),
17 => Value::TypeVec3(super::super::super::ambient::bindings::types::Vec3{x:*((base + 8) as *const f32), y:*((base + 12) as *const f32), z:*((base + 16) as *const f32), }),
18 => Value::TypeVec4(super::super::super::ambient::bindings::types::Vec4{x:*((base + 8) as *const f32), y:*((base + 12) as *const f32), z:*((base + 16) as *const f32), w:*((base + 20) as *const f32), }),
19 => Value::TypeUvec2(super::super::super::ambient::bindings::types::Uvec2{x:*((base + 8) as *const i32) as u32, y:*((base + 12) as *const i32) as u32, }),
20 => Value::TypeUvec3(super::super::super::ambient::bindings::types::Uvec3{x:*((base + 8) as *const i32) as u32, y:*((base + 12) as *const i32) as u32, z:*((base + 16) as *const i32) as u32, }),
21 => Value::TypeUvec4(super::super::super::ambient::bindings::types::Uvec4{x:*((base + 8) as *const i32) as u32, y:*((base + 12) as *const i32) as u32, z:*((base + 16) as *const i32) as u32, w:*((base + 20) as *const i32) as u32, }),
22 => Value::TypeIvec2(super::super::super::ambient::bindings::types::Ivec2{x:*((base + 8) as *const i32), y:*((base + 12) as *const i32), }),
23 => Value::TypeIvec3(super::super::super::ambient::bindings::types::Ivec3{x:*((base + 8) as *const i32), y:*((base + 12) as *const i32), z:*((base + 16) as *const i32), }),
24 => Value::TypeIvec4(super::super::super::ambient::bindings::types::Ivec4{x:*((base + 8) as *const i32), y:*((base + 12) as *const i32), z:*((base + 16) as *const i32), w:*((base + 20) as *const i32), }),
25 => Value::TypeDuration(super::super::super::ambient::bindings::types::Duration{seconds:*((base + 8) as *const i64) as u64, nanoseconds:*((base + 16) as *const i32) as u32, }),
26 => Value::TypeProceduralMeshHandle(super::super::super::ambient::bindings::client_mesh::Handle{ulid:(*((base + 8) as *const i64) as u64, *((base + 16) as *const i64) as u64), }),
27 => Value::TypeProceduralTextureHandle(super::super::super::ambient::bindings::client_texture::Handle{ulid:(*((base + 8) as *const i64) as u64, *((base + 16) as *const i64) as u64), }),
28 => Value::TypeProceduralSamplerHandle(super::super::super::ambient::bindings::client_sampler::Handle{ulid:(*((base + 8) as *const i64) as u64, *((base + 16) as *const i64) as u64), }),
29 => Value::TypeProceduralMaterialHandle(super::super::super::ambient::bindings::client_material::Handle{ulid:(*((base + 8) as *const i64) as u64, *((base + 16) as *const i64) as u64), }),
30 => Value::TypeVec({{match i32::from(*((base + 8) as *const u8)) {
0 => VecValue::TypeEmpty({
let len2 = *((base + 16) as *const i32) as usize;
Vec::from_raw_parts(*((base + 12) as *const i32) as *mut _, len2, len2)
}),
1 => VecValue::TypeBool({
let base3 = *((base + 12) as *const i32);
let len3 = *((base + 16) as *const i32);
let mut result3 = Vec::with_capacity(len3 as usize);
for i in 0..len3 {
let base = base3 + i *1;
result3.push({
#[cfg(not(debug_assertions))]
{ ::core::mem::transmute::<u8, bool>(i32::from(*((base + 0) as *const u8)) as u8) }
#[cfg(debug_assertions)]
{
match i32::from(*((base + 0) as *const u8)) {
0 => false,
1 => true,
_ => panic!("invalid bool discriminant"),
}
}
});
}
wit_bindgen::rt::dealloc(base3, (len3 as usize) * 1, 1);
result3
}),
2 => VecValue::TypeEntityId({
let len4 = *((base + 16) as *const i32) as usize;
Vec::from_raw_parts(*((base + 12) as *const i32) as *mut _, len4, len4)
}),
3 => VecValue::TypeF32({
let len5 = *((base + 16) as *const i32) as usize;
Vec::from_raw_parts(*((base + 12) as *const i32) as *mut _, len5, len5)
}),
4 => VecValue::TypeF64({
let len6 = *((base + 16) as *const i32) as usize;
Vec::from_raw_parts(*((base + 12) as *const i32) as *mut _, len6, len6)
}),
5 => VecValue::TypeMat4({
let len7 = *((base + 16) as *const i32) as usize;
Vec::from_raw_parts(*((base + 12) as *const i32) as *mut _, len7, len7)
}),
6 => VecValue::TypeQuat({
let len8 = *((base + 16) as *const i32) as usize;
Vec::from_raw_parts(*((base + 12) as *const i32) as *mut _, len8, len8)
}),
7 => VecValue::TypeString({
let base10 = *((base + 12) as *const i32);
let len10 = *((base + 16) as *const i32);
let mut result10 = Vec::with_capacity(len10 as usize);
for i in 0..len10 {
let base = base10 + i *8;
result10.push({
let len9 = *((base + 4) as *const i32) as usize;
{#[cfg(not(debug_assertions))]{String::from_utf8_unchecked(Vec::from_raw_parts(*((base + 0) as *const i32) as *mut _, len9, len9))}#[cfg(debug_assertions)]{String::from_utf8(Vec::from_raw_parts(*((base + 0) as *const i32) as *mut _, len9, len9)).unwrap()}}
});
}
wit_bindgen::rt::dealloc(base10, (len10 as usize) * 8, 4);
result10
}),
8 => VecValue::TypeU8({
let len11 = *((base + 16) as *const i32) as usize;
Vec::from_raw_parts(*((base + 12) as *const i32) as *mut _, len11, len11)
}),
9 => VecValue::TypeU16({
let len12 = *((base + 16) as *const i32) as usize;
Vec::from_raw_parts(*((base + 12) as *const i32) as *mut _, len12, len12)
}),
10 => VecValue::TypeU32({
let len13 = *((base + 16) as *const i32) as usize;
Vec::from_raw_parts(*((base + 12) as *const i32) as *mut _, len13, len13)
}),
11 => VecValue::TypeU64({
let len14 = *((base + 16) as *const i32) as usize;
Vec::from_raw_parts(*((base + 12) as *const i32) as *mut _, len14, len14)
}),
12 => VecValue::TypeI8({
let len15 = *((base + 16) as *const i32) as usize;
Vec::from_raw_parts(*((base + 12) as *const i32) as *mut _, len15, len15)
}),
13 => VecValue::TypeI16({
let len16 = *((base + 16) as *const i32) as usize;
Vec::from_raw_parts(*((base + 12) as *const i32) as *mut _, len16, len16)
}),
14 => VecValue::TypeI32({
let len17 = *((base + 16) as *const i32) as usize;
Vec::from_raw_parts(*((base + 12) as *const i32) as *mut _, len17, len17)
}),
15 => VecValue::TypeI64({
let len18 = *((base + 16) as *const i32) as usize;
Vec::from_raw_parts(*((base + 12) as *const i32) as *mut _, len18, len18)
}),
16 => VecValue::TypeVec2({
let len19 = *((base + 16) as *const i32) as usize;
Vec::from_raw_parts(*((base + 12) as *const i32) as *mut _, len19, len19)
}),
17 => VecValue::TypeVec3({
let len20 = *((base + 16) as *const i32) as usize;
Vec::from_raw_parts(*((base + 12) as *const i32) as *mut _, len20, len20)
}),
18 => VecValue::TypeVec4({
let len21 = *((base + 16) as *const i32) as usize;
Vec::from_raw_parts(*((base + 12) as *const i32) as *mut _, len21, len21)
}),
19 => VecValue::TypeUvec2({
let len22 = *((base + 16) as *const i32) as usize;
Vec::from_raw_parts(*((base + 12) as *const i32) as *mut _, len22, len22)
}),
20 => VecValue::TypeUvec3({
let len23 = *((base + 16) as *const i32) as usize;
Vec::from_raw_parts(*((base + 12) as *const i32) as *mut _, len23, len23)
}),
21 => VecValue::TypeUvec4({
let len24 = *((base + 16) as *const i32) as usize;
Vec::from_raw_parts(*((base + 12) as *const i32) as *mut _, len24, len24)
}),
22 => VecValue::TypeIvec2({
let len25 = *((base + 16) as *const i32) as usize;
Vec::from_raw_parts(*((base + 12) as *const i32) as *mut _, len25, len25)
}),
23 => VecValue::TypeIvec3({
let len26 = *((base + 16) as *const i32) as usize;
Vec::from_raw_parts(*((base + 12) as *const i32) as *mut _, len26, len26)
}),
24 => VecValue::TypeIvec4({
let len27 = *((base + 16) as *const i32) as usize;
Vec::from_raw_parts(*((base + 12) as *const i32) as *mut _, len27, len27)
}),
25 => VecValue::TypeDuration({
let len28 = *((base + 16) as *const i32) as usize;
Vec::from_raw_parts(*((base + 12) as *const i32) as *mut _, len28, len28)
}),
26 => VecValue::TypeProceduralMeshHandle({
let len29 = *((base + 16) as *const i32) as usize;
Vec::from_raw_parts(*((base + 12) as *const i32) as *mut _, len29, len29)
}),
27 => VecValue::TypeProceduralTextureHandle({
let len30 = *((base + 16) as *const i32) as usize;
Vec::from_raw_parts(*((base + 12) as *const i32) as *mut _, len30, len30)
}),
28 => VecValue::TypeProceduralSamplerHandle({
let len31 = *((base + 16) as *const i32) as usize;
Vec::from_raw_parts(*((base + 12) as *const i32) as *mut _, len31, len31)
}),
#[cfg(debug_assertions)]29 => VecValue::TypeProceduralMaterialHandle({
let len32 = *((base + 16) as *const i32) as usize;
Vec::from_raw_parts(*((base + 12) as *const i32) as *mut _, len32, len32)
}),
#[cfg(not(debug_assertions))]_ => VecValue::TypeProceduralMaterialHandle({
let len32 = *((base + 16) as *const i32) as usize;
Vec::from_raw_parts(*((base + 12) as *const i32) as *mut _, len32, len32)
}),
#[cfg(debug_assertions)]_ => panic!("invalid enum discriminant"),
}}}),
#[cfg(debug_assertions)]31 => Value::TypeOption({{match i32::from(*((base + 8) as *const u8)) {
0 => OptionValue::TypeEmpty(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Empty{dummy:i32::from(*((base + 17) as *const u8)) as u8, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
1 => OptionValue::TypeBool(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some({
#[cfg(not(debug_assertions))]
{ ::core::mem::transmute::<u8, bool>(i32::from(*((base + 17) as *const u8)) as u8) }
#[cfg(debug_assertions)]
{
match i32::from(*((base + 17) as *const u8)) {
0 => false,
1 => true,
_ => panic!("invalid bool discriminant"),
}
}
}),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
2 => OptionValue::TypeEntityId(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::EntityId{id0:*((base + 24) as *const i64) as u64, id1:*((base + 32) as *const i64) as u64, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
3 => OptionValue::TypeF32(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(*((base + 20) as *const f32)),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
4 => OptionValue::TypeF64(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(*((base + 24) as *const f64)),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
5 => OptionValue::TypeMat4(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Mat4{x:super::super::super::ambient::bindings::types::Vec4{x:*((base + 20) as *const f32), y:*((base + 24) as *const f32), z:*((base + 28) as *const f32), w:*((base + 32) as *const f32), }, y:super::super::super::ambient::bindings::types::Vec4{x:*((base + 36) as *const f32), y:*((base + 40) as *const f32), z:*((base + 44) as *const f32), w:*((base + 48) as *const f32), }, z:super::super::super::ambient::bindings::types::Vec4{x:*((base + 52) as *const f32), y:*((base + 56) as *const f32), z:*((base + 60) as *const f32), w:*((base + 64) as *const f32), }, w:super::super::super::ambient::bindings::types::Vec4{x:*((base + 68) as *const f32), y:*((base + 72) as *const f32), z:*((base + 76) as *const f32), w:*((base + 80) as *const f32), }, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
6 => OptionValue::TypeQuat(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Quat{x:*((base + 20) as *const f32), y:*((base + 24) as *const f32), z:*((base + 28) as *const f32), w:*((base + 32) as *const f32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
7 => OptionValue::TypeString(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some({
let len33 = *((base + 24) as *const i32) as usize;
{#[cfg(not(debug_assertions))]{String::from_utf8_unchecked(Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len33, len33))}#[cfg(debug_assertions)]{String::from_utf8(Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len33, len33)).unwrap()}}
}),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
8 => OptionValue::TypeU8(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(i32::from(*((base + 17) as *const u8)) as u8),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
9 => OptionValue::TypeU16(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(i32::from(*((base + 18) as *const u16)) as u16),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
10 => OptionValue::TypeU32(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(*((base + 20) as *const i32) as u32),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
11 => OptionValue::TypeU64(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(*((base + 24) as *const i64) as u64),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
12 => OptionValue::TypeI8(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(i32::from(*((base + 17) as *const i8)) as i8),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
13 => OptionValue::TypeI16(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(i32::from(*((base + 18) as *const i16)) as i16),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
14 => OptionValue::TypeI32(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(*((base + 20) as *const i32)),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
15 => OptionValue::TypeI64(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(*((base + 24) as *const i64)),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
16 => OptionValue::TypeVec2(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Vec2{x:*((base + 20) as *const f32), y:*((base + 24) as *const f32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
17 => OptionValue::TypeVec3(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Vec3{x:*((base + 20) as *const f32), y:*((base + 24) as *const f32), z:*((base + 28) as *const f32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
18 => OptionValue::TypeVec4(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Vec4{x:*((base + 20) as *const f32), y:*((base + 24) as *const f32), z:*((base + 28) as *const f32), w:*((base + 32) as *const f32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
19 => OptionValue::TypeUvec2(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Uvec2{x:*((base + 20) as *const i32) as u32, y:*((base + 24) as *const i32) as u32, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
20 => OptionValue::TypeUvec3(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Uvec3{x:*((base + 20) as *const i32) as u32, y:*((base + 24) as *const i32) as u32, z:*((base + 28) as *const i32) as u32, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
21 => OptionValue::TypeUvec4(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Uvec4{x:*((base + 20) as *const i32) as u32, y:*((base + 24) as *const i32) as u32, z:*((base + 28) as *const i32) as u32, w:*((base + 32) as *const i32) as u32, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
22 => OptionValue::TypeIvec2(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Ivec2{x:*((base + 20) as *const i32), y:*((base + 24) as *const i32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
23 => OptionValue::TypeIvec3(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Ivec3{x:*((base + 20) as *const i32), y:*((base + 24) as *const i32), z:*((base + 28) as *const i32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
24 => OptionValue::TypeIvec4(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Ivec4{x:*((base + 20) as *const i32), y:*((base + 24) as *const i32), z:*((base + 28) as *const i32), w:*((base + 32) as *const i32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
25 => OptionValue::TypeDuration(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Duration{seconds:*((base + 24) as *const i64) as u64, nanoseconds:*((base + 32) as *const i32) as u32, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
26 => OptionValue::TypeProceduralMeshHandle(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_mesh::Handle{ulid:(*((base + 24) as *const i64) as u64, *((base + 32) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
27 => OptionValue::TypeProceduralTextureHandle(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_texture::Handle{ulid:(*((base + 24) as *const i64) as u64, *((base + 32) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
28 => OptionValue::TypeProceduralSamplerHandle(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_sampler::Handle{ulid:(*((base + 24) as *const i64) as u64, *((base + 32) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
#[cfg(debug_assertions)]29 => OptionValue::TypeProceduralMaterialHandle(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_material::Handle{ulid:(*((base + 24) as *const i64) as u64, *((base + 32) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
#[cfg(not(debug_assertions))]_ => OptionValue::TypeProceduralMaterialHandle(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_material::Handle{ulid:(*((base + 24) as *const i64) as u64, *((base + 32) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
#[cfg(debug_assertions)]_ => panic!("invalid enum discriminant"),
}}}),
#[cfg(not(debug_assertions))]_ => Value::TypeOption({{match i32::from(*((base + 8) as *const u8)) {
0 => OptionValue::TypeEmpty(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Empty{dummy:i32::from(*((base + 17) as *const u8)) as u8, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
1 => OptionValue::TypeBool(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some({
#[cfg(not(debug_assertions))]
{ ::core::mem::transmute::<u8, bool>(i32::from(*((base + 17) as *const u8)) as u8) }
#[cfg(debug_assertions)]
{
match i32::from(*((base + 17) as *const u8)) {
0 => false,
1 => true,
_ => panic!("invalid bool discriminant"),
}
}
}),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
2 => OptionValue::TypeEntityId(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::EntityId{id0:*((base + 24) as *const i64) as u64, id1:*((base + 32) as *const i64) as u64, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
3 => OptionValue::TypeF32(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(*((base + 20) as *const f32)),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
4 => OptionValue::TypeF64(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(*((base + 24) as *const f64)),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
5 => OptionValue::TypeMat4(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Mat4{x:super::super::super::ambient::bindings::types::Vec4{x:*((base + 20) as *const f32), y:*((base + 24) as *const f32), z:*((base + 28) as *const f32), w:*((base + 32) as *const f32), }, y:super::super::super::ambient::bindings::types::Vec4{x:*((base + 36) as *const f32), y:*((base + 40) as *const f32), z:*((base + 44) as *const f32), w:*((base + 48) as *const f32), }, z:super::super::super::ambient::bindings::types::Vec4{x:*((base + 52) as *const f32), y:*((base + 56) as *const f32), z:*((base + 60) as *const f32), w:*((base + 64) as *const f32), }, w:super::super::super::ambient::bindings::types::Vec4{x:*((base + 68) as *const f32), y:*((base + 72) as *const f32), z:*((base + 76) as *const f32), w:*((base + 80) as *const f32), }, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
6 => OptionValue::TypeQuat(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Quat{x:*((base + 20) as *const f32), y:*((base + 24) as *const f32), z:*((base + 28) as *const f32), w:*((base + 32) as *const f32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
7 => OptionValue::TypeString(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some({
let len33 = *((base + 24) as *const i32) as usize;
{#[cfg(not(debug_assertions))]{String::from_utf8_unchecked(Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len33, len33))}#[cfg(debug_assertions)]{String::from_utf8(Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len33, len33)).unwrap()}}
}),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
8 => OptionValue::TypeU8(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(i32::from(*((base + 17) as *const u8)) as u8),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
9 => OptionValue::TypeU16(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(i32::from(*((base + 18) as *const u16)) as u16),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
10 => OptionValue::TypeU32(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(*((base + 20) as *const i32) as u32),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
11 => OptionValue::TypeU64(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(*((base + 24) as *const i64) as u64),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
12 => OptionValue::TypeI8(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(i32::from(*((base + 17) as *const i8)) as i8),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
13 => OptionValue::TypeI16(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(i32::from(*((base + 18) as *const i16)) as i16),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
14 => OptionValue::TypeI32(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(*((base + 20) as *const i32)),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
15 => OptionValue::TypeI64(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(*((base + 24) as *const i64)),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
16 => OptionValue::TypeVec2(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Vec2{x:*((base + 20) as *const f32), y:*((base + 24) as *const f32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
17 => OptionValue::TypeVec3(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Vec3{x:*((base + 20) as *const f32), y:*((base + 24) as *const f32), z:*((base + 28) as *const f32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
18 => OptionValue::TypeVec4(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Vec4{x:*((base + 20) as *const f32), y:*((base + 24) as *const f32), z:*((base + 28) as *const f32), w:*((base + 32) as *const f32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
19 => OptionValue::TypeUvec2(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Uvec2{x:*((base + 20) as *const i32) as u32, y:*((base + 24) as *const i32) as u32, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
20 => OptionValue::TypeUvec3(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Uvec3{x:*((base + 20) as *const i32) as u32, y:*((base + 24) as *const i32) as u32, z:*((base + 28) as *const i32) as u32, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
21 => OptionValue::TypeUvec4(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Uvec4{x:*((base + 20) as *const i32) as u32, y:*((base + 24) as *const i32) as u32, z:*((base + 28) as *const i32) as u32, w:*((base + 32) as *const i32) as u32, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
22 => OptionValue::TypeIvec2(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Ivec2{x:*((base + 20) as *const i32), y:*((base + 24) as *const i32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
23 => OptionValue::TypeIvec3(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Ivec3{x:*((base + 20) as *const i32), y:*((base + 24) as *const i32), z:*((base + 28) as *const i32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
24 => OptionValue::TypeIvec4(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Ivec4{x:*((base + 20) as *const i32), y:*((base + 24) as *const i32), z:*((base + 28) as *const i32), w:*((base + 32) as *const i32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
25 => OptionValue::TypeDuration(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Duration{seconds:*((base + 24) as *const i64) as u64, nanoseconds:*((base + 32) as *const i32) as u32, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
26 => OptionValue::TypeProceduralMeshHandle(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_mesh::Handle{ulid:(*((base + 24) as *const i64) as u64, *((base + 32) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
27 => OptionValue::TypeProceduralTextureHandle(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_texture::Handle{ulid:(*((base + 24) as *const i64) as u64, *((base + 32) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
28 => OptionValue::TypeProceduralSamplerHandle(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_sampler::Handle{ulid:(*((base + 24) as *const i64) as u64, *((base + 32) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
#[cfg(debug_assertions)]29 => OptionValue::TypeProceduralMaterialHandle(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_material::Handle{ulid:(*((base + 24) as *const i64) as u64, *((base + 32) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
#[cfg(not(debug_assertions))]_ => OptionValue::TypeProceduralMaterialHandle(match i32::from(*((base + 16) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_material::Handle{ulid:(*((base + 24) as *const i64) as u64, *((base + 32) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
#[cfg(debug_assertions)]_ => panic!("invalid enum discriminant"),
}}}),
#[cfg(debug_assertions)]_ => panic!("invalid enum discriminant"),
}}});
}
wit_bindgen::rt::dealloc(base34, (len34 as usize) * 88, 8);
(super::super::super::ambient::bindings::types::EntityId{id0:*((base + 0) as *const i64) as u64, id1:*((base + 8) as *const i64) as u64, }, result34)
});
}
wit_bindgen::rt::dealloc(base35, (len35 as usize) * 24, 8);
result35
}
}
}
#[allow(clippy::all)]
pub mod entity {
#[used]
#[doc(hidden)]
#[cfg(target_arch = "wasm32")]
static __FORCE_SECTION_REF: fn() = super::super::super::__link_section;
pub type EntityId = super::super::super::ambient::bindings::types::EntityId;
pub type Vec3 = super::super::super::ambient::bindings::types::Vec3;
pub type Mat4 = super::super::super::ambient::bindings::types::Mat4;
pub type EntityData = super::super::super::ambient::bindings::component::Entity;
#[allow(clippy::all)]
pub fn get_transforms_relative_to(entities: &[EntityId],origin: EntityId,) -> wit_bindgen::rt::vec::Vec::<Mat4>{
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
#[repr(align(4))]
struct RetArea([u8; 8]);
let mut ret_area = ::core::mem::MaybeUninit::<RetArea>::uninit();
let vec0 = entities;
let ptr0 = vec0.as_ptr() as i32;
let len0 = vec0.len() as i32;
let super::super::super::ambient::bindings::types::EntityId{ id0:id01, id1:id11, } = origin;
let ptr2 = ret_area.as_mut_ptr() as i32;
#[link(wasm_import_module = "ambient:bindings/entity")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "get-transforms-relative-to")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/entity_get-transforms-relative-to")]
fn wit_import(
_: i32, _: i32, _: i64, _: i64, _: i32, );
}
wit_import(ptr0, len0, wit_bindgen::rt::as_i64(id01), wit_bindgen::rt::as_i64(id11), ptr2);
let len3 = *((ptr2 + 4) as *const i32) as usize;
Vec::from_raw_parts(*((ptr2 + 0) as *const i32) as *mut _, len3, len3)
}
}
#[allow(clippy::all)]
pub fn spawn(data: &EntityData,) -> EntityId{
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
let mut cleanup_list = Vec::new();
#[repr(align(8))]
struct RetArea([u8; 16]);
let mut ret_area = ::core::mem::MaybeUninit::<RetArea>::uninit();
let vec86 = data;
let len86 = vec86.len() as i32;
let layout86 = alloc::Layout::from_size_align_unchecked(vec86.len() * 96, 8);
let result86 = if layout86.size() != 0
{
let ptr = alloc::alloc(layout86);
if ptr.is_null()
{
alloc::handle_alloc_error(layout86);
}
ptr
}else {
::core::ptr::null_mut()
};
for (i, e) in vec86.into_iter().enumerate() {
let base = result86 as i32 + (i as i32) * 96;
{
let (t0_0, t0_1, ) = e;
*((base + 0) as *mut i32) = wit_bindgen::rt::as_i32(t0_0);
match t0_1 {
super::super::super::ambient::bindings::component::Value::TypeEmpty(e) => {
*((base + 8) as *mut u8) = (0i32) as u8;
let super::super::super::ambient::bindings::types::Empty{ dummy:dummy1, } = e;
*((base + 16) as *mut u8) = (wit_bindgen::rt::as_i32(dummy1)) as u8;
},
super::super::super::ambient::bindings::component::Value::TypeBool(e) => {
*((base + 8) as *mut u8) = (1i32) as u8;
*((base + 16) as *mut u8) = (match e { true => 1, false => 0 }) as u8;
},
super::super::super::ambient::bindings::component::Value::TypeEntityId(e) => {
*((base + 8) as *mut u8) = (2i32) as u8;
let super::super::super::ambient::bindings::types::EntityId{ id0:id02, id1:id12, } = e;
*((base + 16) as *mut i64) = wit_bindgen::rt::as_i64(id02);
*((base + 24) as *mut i64) = wit_bindgen::rt::as_i64(id12);
},
super::super::super::ambient::bindings::component::Value::TypeF32(e) => {
*((base + 8) as *mut u8) = (3i32) as u8;
*((base + 16) as *mut f32) = wit_bindgen::rt::as_f32(e);
},
super::super::super::ambient::bindings::component::Value::TypeF64(e) => {
*((base + 8) as *mut u8) = (4i32) as u8;
*((base + 16) as *mut f64) = wit_bindgen::rt::as_f64(e);
},
super::super::super::ambient::bindings::component::Value::TypeMat4(e) => {
*((base + 8) as *mut u8) = (5i32) as u8;
let super::super::super::ambient::bindings::types::Mat4{ x:x3, y:y3, z:z3, w:w3, } = e;
let super::super::super::ambient::bindings::types::Vec4{ x:x4, y:y4, z:z4, w:w4, } = x3;
*((base + 16) as *mut f32) = wit_bindgen::rt::as_f32(x4);
*((base + 20) as *mut f32) = wit_bindgen::rt::as_f32(y4);
*((base + 24) as *mut f32) = wit_bindgen::rt::as_f32(z4);
*((base + 28) as *mut f32) = wit_bindgen::rt::as_f32(w4);
let super::super::super::ambient::bindings::types::Vec4{ x:x5, y:y5, z:z5, w:w5, } = y3;
*((base + 32) as *mut f32) = wit_bindgen::rt::as_f32(x5);
*((base + 36) as *mut f32) = wit_bindgen::rt::as_f32(y5);
*((base + 40) as *mut f32) = wit_bindgen::rt::as_f32(z5);
*((base + 44) as *mut f32) = wit_bindgen::rt::as_f32(w5);
let super::super::super::ambient::bindings::types::Vec4{ x:x6, y:y6, z:z6, w:w6, } = z3;
*((base + 48) as *mut f32) = wit_bindgen::rt::as_f32(x6);
*((base + 52) as *mut f32) = wit_bindgen::rt::as_f32(y6);
*((base + 56) as *mut f32) = wit_bindgen::rt::as_f32(z6);
*((base + 60) as *mut f32) = wit_bindgen::rt::as_f32(w6);
let super::super::super::ambient::bindings::types::Vec4{ x:x7, y:y7, z:z7, w:w7, } = w3;
*((base + 64) as *mut f32) = wit_bindgen::rt::as_f32(x7);
*((base + 68) as *mut f32) = wit_bindgen::rt::as_f32(y7);
*((base + 72) as *mut f32) = wit_bindgen::rt::as_f32(z7);
*((base + 76) as *mut f32) = wit_bindgen::rt::as_f32(w7);
},
super::super::super::ambient::bindings::component::Value::TypeQuat(e) => {
*((base + 8) as *mut u8) = (6i32) as u8;
let super::super::super::ambient::bindings::types::Quat{ x:x8, y:y8, z:z8, w:w8, } = e;
*((base + 16) as *mut f32) = wit_bindgen::rt::as_f32(x8);
*((base + 20) as *mut f32) = wit_bindgen::rt::as_f32(y8);
*((base + 24) as *mut f32) = wit_bindgen::rt::as_f32(z8);
*((base + 28) as *mut f32) = wit_bindgen::rt::as_f32(w8);
},
super::super::super::ambient::bindings::component::Value::TypeString(e) => {
*((base + 8) as *mut u8) = (7i32) as u8;
let vec9 = e;
let ptr9 = vec9.as_ptr() as i32;
let len9 = vec9.len() as i32;
*((base + 20) as *mut i32) = len9;
*((base + 16) as *mut i32) = ptr9;
},
super::super::super::ambient::bindings::component::Value::TypeU8(e) => {
*((base + 8) as *mut u8) = (8i32) as u8;
*((base + 16) as *mut u8) = (wit_bindgen::rt::as_i32(e)) as u8;
},
super::super::super::ambient::bindings::component::Value::TypeU16(e) => {
*((base + 8) as *mut u8) = (9i32) as u8;
*((base + 16) as *mut u16) = (wit_bindgen::rt::as_i32(e)) as u16;
},
super::super::super::ambient::bindings::component::Value::TypeU32(e) => {
*((base + 8) as *mut u8) = (10i32) as u8;
*((base + 16) as *mut i32) = wit_bindgen::rt::as_i32(e);
},
super::super::super::ambient::bindings::component::Value::TypeU64(e) => {
*((base + 8) as *mut u8) = (11i32) as u8;
*((base + 16) as *mut i64) = wit_bindgen::rt::as_i64(e);
},
super::super::super::ambient::bindings::component::Value::TypeI8(e) => {
*((base + 8) as *mut u8) = (12i32) as u8;
*((base + 16) as *mut u8) = (wit_bindgen::rt::as_i32(e)) as u8;
},
super::super::super::ambient::bindings::component::Value::TypeI16(e) => {
*((base + 8) as *mut u8) = (13i32) as u8;
*((base + 16) as *mut u16) = (wit_bindgen::rt::as_i32(e)) as u16;
},
super::super::super::ambient::bindings::component::Value::TypeI32(e) => {
*((base + 8) as *mut u8) = (14i32) as u8;
*((base + 16) as *mut i32) = wit_bindgen::rt::as_i32(e);
},
super::super::super::ambient::bindings::component::Value::TypeI64(e) => {
*((base + 8) as *mut u8) = (15i32) as u8;
*((base + 16) as *mut i64) = wit_bindgen::rt::as_i64(e);
},
super::super::super::ambient::bindings::component::Value::TypeVec2(e) => {
*((base + 8) as *mut u8) = (16i32) as u8;
let super::super::super::ambient::bindings::types::Vec2{ x:x10, y:y10, } = e;
*((base + 16) as *mut f32) = wit_bindgen::rt::as_f32(x10);
*((base + 20) as *mut f32) = wit_bindgen::rt::as_f32(y10);
},
super::super::super::ambient::bindings::component::Value::TypeVec3(e) => {
*((base + 8) as *mut u8) = (17i32) as u8;
let super::super::super::ambient::bindings::types::Vec3{ x:x11, y:y11, z:z11, } = e;
*((base + 16) as *mut f32) = wit_bindgen::rt::as_f32(x11);
*((base + 20) as *mut f32) = wit_bindgen::rt::as_f32(y11);
*((base + 24) as *mut f32) = wit_bindgen::rt::as_f32(z11);
},
super::super::super::ambient::bindings::component::Value::TypeVec4(e) => {
*((base + 8) as *mut u8) = (18i32) as u8;
let super::super::super::ambient::bindings::types::Vec4{ x:x12, y:y12, z:z12, w:w12, } = e;
*((base + 16) as *mut f32) = wit_bindgen::rt::as_f32(x12);
*((base + 20) as *mut f32) = wit_bindgen::rt::as_f32(y12);
*((base + 24) as *mut f32) = wit_bindgen::rt::as_f32(z12);
*((base + 28) as *mut f32) = wit_bindgen::rt::as_f32(w12);
},
super::super::super::ambient::bindings::component::Value::TypeUvec2(e) => {
*((base + 8) as *mut u8) = (19i32) as u8;
let super::super::super::ambient::bindings::types::Uvec2{ x:x13, y:y13, } = e;
*((base + 16) as *mut i32) = wit_bindgen::rt::as_i32(x13);
*((base + 20) as *mut i32) = wit_bindgen::rt::as_i32(y13);
},
super::super::super::ambient::bindings::component::Value::TypeUvec3(e) => {
*((base + 8) as *mut u8) = (20i32) as u8;
let super::super::super::ambient::bindings::types::Uvec3{ x:x14, y:y14, z:z14, } = e;
*((base + 16) as *mut i32) = wit_bindgen::rt::as_i32(x14);
*((base + 20) as *mut i32) = wit_bindgen::rt::as_i32(y14);
*((base + 24) as *mut i32) = wit_bindgen::rt::as_i32(z14);
},
super::super::super::ambient::bindings::component::Value::TypeUvec4(e) => {
*((base + 8) as *mut u8) = (21i32) as u8;
let super::super::super::ambient::bindings::types::Uvec4{ x:x15, y:y15, z:z15, w:w15, } = e;
*((base + 16) as *mut i32) = wit_bindgen::rt::as_i32(x15);
*((base + 20) as *mut i32) = wit_bindgen::rt::as_i32(y15);
*((base + 24) as *mut i32) = wit_bindgen::rt::as_i32(z15);
*((base + 28) as *mut i32) = wit_bindgen::rt::as_i32(w15);
},
super::super::super::ambient::bindings::component::Value::TypeIvec2(e) => {
*((base + 8) as *mut u8) = (22i32) as u8;
let super::super::super::ambient::bindings::types::Ivec2{ x:x16, y:y16, } = e;
*((base + 16) as *mut i32) = wit_bindgen::rt::as_i32(x16);
*((base + 20) as *mut i32) = wit_bindgen::rt::as_i32(y16);
},
super::super::super::ambient::bindings::component::Value::TypeIvec3(e) => {
*((base + 8) as *mut u8) = (23i32) as u8;
let super::super::super::ambient::bindings::types::Ivec3{ x:x17, y:y17, z:z17, } = e;
*((base + 16) as *mut i32) = wit_bindgen::rt::as_i32(x17);
*((base + 20) as *mut i32) = wit_bindgen::rt::as_i32(y17);
*((base + 24) as *mut i32) = wit_bindgen::rt::as_i32(z17);
},
super::super::super::ambient::bindings::component::Value::TypeIvec4(e) => {
*((base + 8) as *mut u8) = (24i32) as u8;
let super::super::super::ambient::bindings::types::Ivec4{ x:x18, y:y18, z:z18, w:w18, } = e;
*((base + 16) as *mut i32) = wit_bindgen::rt::as_i32(x18);
*((base + 20) as *mut i32) = wit_bindgen::rt::as_i32(y18);
*((base + 24) as *mut i32) = wit_bindgen::rt::as_i32(z18);
*((base + 28) as *mut i32) = wit_bindgen::rt::as_i32(w18);
},
super::super::super::ambient::bindings::component::Value::TypeDuration(e) => {
*((base + 8) as *mut u8) = (25i32) as u8;
let super::super::super::ambient::bindings::types::Duration{ seconds:seconds19, nanoseconds:nanoseconds19, } = e;
*((base + 16) as *mut i64) = wit_bindgen::rt::as_i64(seconds19);
*((base + 24) as *mut i32) = wit_bindgen::rt::as_i32(nanoseconds19);
},
super::super::super::ambient::bindings::component::Value::TypeProceduralMeshHandle(e) => {
*((base + 8) as *mut u8) = (26i32) as u8;
let super::super::super::ambient::bindings::client_mesh::Handle{ ulid:ulid20, } = e;
let (t21_0, t21_1, ) = ulid20;
*((base + 16) as *mut i64) = wit_bindgen::rt::as_i64(t21_0);
*((base + 24) as *mut i64) = wit_bindgen::rt::as_i64(t21_1);
},
super::super::super::ambient::bindings::component::Value::TypeProceduralTextureHandle(e) => {
*((base + 8) as *mut u8) = (27i32) as u8;
let super::super::super::ambient::bindings::client_texture::Handle{ ulid:ulid22, } = e;
let (t23_0, t23_1, ) = ulid22;
*((base + 16) as *mut i64) = wit_bindgen::rt::as_i64(t23_0);
*((base + 24) as *mut i64) = wit_bindgen::rt::as_i64(t23_1);
},
super::super::super::ambient::bindings::component::Value::TypeProceduralSamplerHandle(e) => {
*((base + 8) as *mut u8) = (28i32) as u8;
let super::super::super::ambient::bindings::client_sampler::Handle{ ulid:ulid24, } = e;
let (t25_0, t25_1, ) = ulid24;
*((base + 16) as *mut i64) = wit_bindgen::rt::as_i64(t25_0);
*((base + 24) as *mut i64) = wit_bindgen::rt::as_i64(t25_1);
},
super::super::super::ambient::bindings::component::Value::TypeProceduralMaterialHandle(e) => {
*((base + 8) as *mut u8) = (29i32) as u8;
let super::super::super::ambient::bindings::client_material::Handle{ ulid:ulid26, } = e;
let (t27_0, t27_1, ) = ulid26;
*((base + 16) as *mut i64) = wit_bindgen::rt::as_i64(t27_0);
*((base + 24) as *mut i64) = wit_bindgen::rt::as_i64(t27_1);
},
super::super::super::ambient::bindings::component::Value::TypeVec(e) => {
*((base + 8) as *mut u8) = (30i32) as u8;
match e {
super::super::super::ambient::bindings::component::VecValue::TypeEmpty(e) => {
*((base + 16) as *mut u8) = (0i32) as u8;
let vec28 = e;
let ptr28 = vec28.as_ptr() as i32;
let len28 = vec28.len() as i32;
*((base + 24) as *mut i32) = len28;
*((base + 20) as *mut i32) = ptr28;
},
super::super::super::ambient::bindings::component::VecValue::TypeBool(e) => {
*((base + 16) as *mut u8) = (1i32) as u8;
let vec29 = e;
let len29 = vec29.len() as i32;
let layout29 = alloc::Layout::from_size_align_unchecked(vec29.len() * 1, 1);
let result29 = if layout29.size() != 0
{
let ptr = alloc::alloc(layout29);
if ptr.is_null()
{
alloc::handle_alloc_error(layout29);
}
ptr
}else {
::core::ptr::null_mut()
};
for (i, e) in vec29.into_iter().enumerate() {
let base = result29 as i32 + (i as i32) * 1;
{
*((base + 0) as *mut u8) = (match e { true => 1, false => 0 }) as u8;
}}
*((base + 24) as *mut i32) = len29;
*((base + 20) as *mut i32) = result29 as i32;
cleanup_list.extend_from_slice(&[(result29, layout29),]);
},
super::super::super::ambient::bindings::component::VecValue::TypeEntityId(e) => {
*((base + 16) as *mut u8) = (2i32) as u8;
let vec30 = e;
let ptr30 = vec30.as_ptr() as i32;
let len30 = vec30.len() as i32;
*((base + 24) as *mut i32) = len30;
*((base + 20) as *mut i32) = ptr30;
},
super::super::super::ambient::bindings::component::VecValue::TypeF32(e) => {
*((base + 16) as *mut u8) = (3i32) as u8;
let vec31 = e;
let ptr31 = vec31.as_ptr() as i32;
let len31 = vec31.len() as i32;
*((base + 24) as *mut i32) = len31;
*((base + 20) as *mut i32) = ptr31;
},
super::super::super::ambient::bindings::component::VecValue::TypeF64(e) => {
*((base + 16) as *mut u8) = (4i32) as u8;
let vec32 = e;
let ptr32 = vec32.as_ptr() as i32;
let len32 = vec32.len() as i32;
*((base + 24) as *mut i32) = len32;
*((base + 20) as *mut i32) = ptr32;
},
super::super::super::ambient::bindings::component::VecValue::TypeMat4(e) => {
*((base + 16) as *mut u8) = (5i32) as u8;
let vec33 = e;
let ptr33 = vec33.as_ptr() as i32;
let len33 = vec33.len() as i32;
*((base + 24) as *mut i32) = len33;
*((base + 20) as *mut i32) = ptr33;
},
super::super::super::ambient::bindings::component::VecValue::TypeQuat(e) => {
*((base + 16) as *mut u8) = (6i32) as u8;
let vec34 = e;
let ptr34 = vec34.as_ptr() as i32;
let len34 = vec34.len() as i32;
*((base + 24) as *mut i32) = len34;
*((base + 20) as *mut i32) = ptr34;
},
super::super::super::ambient::bindings::component::VecValue::TypeString(e) => {
*((base + 16) as *mut u8) = (7i32) as u8;
let vec36 = e;
let len36 = vec36.len() as i32;
let layout36 = alloc::Layout::from_size_align_unchecked(vec36.len() * 8, 4);
let result36 = if layout36.size() != 0
{
let ptr = alloc::alloc(layout36);
if ptr.is_null()
{
alloc::handle_alloc_error(layout36);
}
ptr
}else {
::core::ptr::null_mut()
};
for (i, e) in vec36.into_iter().enumerate() {
let base = result36 as i32 + (i as i32) * 8;
{
let vec35 = e;
let ptr35 = vec35.as_ptr() as i32;
let len35 = vec35.len() as i32;
*((base + 4) as *mut i32) = len35;
*((base + 0) as *mut i32) = ptr35;
}}
*((base + 24) as *mut i32) = len36;
*((base + 20) as *mut i32) = result36 as i32;
cleanup_list.extend_from_slice(&[(result36, layout36),]);
},
super::super::super::ambient::bindings::component::VecValue::TypeU8(e) => {
*((base + 16) as *mut u8) = (8i32) as u8;
let vec37 = e;
let ptr37 = vec37.as_ptr() as i32;
let len37 = vec37.len() as i32;
*((base + 24) as *mut i32) = len37;
*((base + 20) as *mut i32) = ptr37;
},
super::super::super::ambient::bindings::component::VecValue::TypeU16(e) => {
*((base + 16) as *mut u8) = (9i32) as u8;
let vec38 = e;
let ptr38 = vec38.as_ptr() as i32;
let len38 = vec38.len() as i32;
*((base + 24) as *mut i32) = len38;
*((base + 20) as *mut i32) = ptr38;
},
super::super::super::ambient::bindings::component::VecValue::TypeU32(e) => {
*((base + 16) as *mut u8) = (10i32) as u8;
let vec39 = e;
let ptr39 = vec39.as_ptr() as i32;
let len39 = vec39.len() as i32;
*((base + 24) as *mut i32) = len39;
*((base + 20) as *mut i32) = ptr39;
},
super::super::super::ambient::bindings::component::VecValue::TypeU64(e) => {
*((base + 16) as *mut u8) = (11i32) as u8;
let vec40 = e;
let ptr40 = vec40.as_ptr() as i32;
let len40 = vec40.len() as i32;
*((base + 24) as *mut i32) = len40;
*((base + 20) as *mut i32) = ptr40;
},
super::super::super::ambient::bindings::component::VecValue::TypeI8(e) => {
*((base + 16) as *mut u8) = (12i32) as u8;
let vec41 = e;
let ptr41 = vec41.as_ptr() as i32;
let len41 = vec41.len() as i32;
*((base + 24) as *mut i32) = len41;
*((base + 20) as *mut i32) = ptr41;
},
super::super::super::ambient::bindings::component::VecValue::TypeI16(e) => {
*((base + 16) as *mut u8) = (13i32) as u8;
let vec42 = e;
let ptr42 = vec42.as_ptr() as i32;
let len42 = vec42.len() as i32;
*((base + 24) as *mut i32) = len42;
*((base + 20) as *mut i32) = ptr42;
},
super::super::super::ambient::bindings::component::VecValue::TypeI32(e) => {
*((base + 16) as *mut u8) = (14i32) as u8;
let vec43 = e;
let ptr43 = vec43.as_ptr() as i32;
let len43 = vec43.len() as i32;
*((base + 24) as *mut i32) = len43;
*((base + 20) as *mut i32) = ptr43;
},
super::super::super::ambient::bindings::component::VecValue::TypeI64(e) => {
*((base + 16) as *mut u8) = (15i32) as u8;
let vec44 = e;
let ptr44 = vec44.as_ptr() as i32;
let len44 = vec44.len() as i32;
*((base + 24) as *mut i32) = len44;
*((base + 20) as *mut i32) = ptr44;
},
super::super::super::ambient::bindings::component::VecValue::TypeVec2(e) => {
*((base + 16) as *mut u8) = (16i32) as u8;
let vec45 = e;
let ptr45 = vec45.as_ptr() as i32;
let len45 = vec45.len() as i32;
*((base + 24) as *mut i32) = len45;
*((base + 20) as *mut i32) = ptr45;
},
super::super::super::ambient::bindings::component::VecValue::TypeVec3(e) => {
*((base + 16) as *mut u8) = (17i32) as u8;
let vec46 = e;
let ptr46 = vec46.as_ptr() as i32;
let len46 = vec46.len() as i32;
*((base + 24) as *mut i32) = len46;
*((base + 20) as *mut i32) = ptr46;
},
super::super::super::ambient::bindings::component::VecValue::TypeVec4(e) => {
*((base + 16) as *mut u8) = (18i32) as u8;
let vec47 = e;
let ptr47 = vec47.as_ptr() as i32;
let len47 = vec47.len() as i32;
*((base + 24) as *mut i32) = len47;
*((base + 20) as *mut i32) = ptr47;
},
super::super::super::ambient::bindings::component::VecValue::TypeUvec2(e) => {
*((base + 16) as *mut u8) = (19i32) as u8;
let vec48 = e;
let ptr48 = vec48.as_ptr() as i32;
let len48 = vec48.len() as i32;
*((base + 24) as *mut i32) = len48;
*((base + 20) as *mut i32) = ptr48;
},
super::super::super::ambient::bindings::component::VecValue::TypeUvec3(e) => {
*((base + 16) as *mut u8) = (20i32) as u8;
let vec49 = e;
let ptr49 = vec49.as_ptr() as i32;
let len49 = vec49.len() as i32;
*((base + 24) as *mut i32) = len49;
*((base + 20) as *mut i32) = ptr49;
},
super::super::super::ambient::bindings::component::VecValue::TypeUvec4(e) => {
*((base + 16) as *mut u8) = (21i32) as u8;
let vec50 = e;
let ptr50 = vec50.as_ptr() as i32;
let len50 = vec50.len() as i32;
*((base + 24) as *mut i32) = len50;
*((base + 20) as *mut i32) = ptr50;
},
super::super::super::ambient::bindings::component::VecValue::TypeIvec2(e) => {
*((base + 16) as *mut u8) = (22i32) as u8;
let vec51 = e;
let ptr51 = vec51.as_ptr() as i32;
let len51 = vec51.len() as i32;
*((base + 24) as *mut i32) = len51;
*((base + 20) as *mut i32) = ptr51;
},
super::super::super::ambient::bindings::component::VecValue::TypeIvec3(e) => {
*((base + 16) as *mut u8) = (23i32) as u8;
let vec52 = e;
let ptr52 = vec52.as_ptr() as i32;
let len52 = vec52.len() as i32;
*((base + 24) as *mut i32) = len52;
*((base + 20) as *mut i32) = ptr52;
},
super::super::super::ambient::bindings::component::VecValue::TypeIvec4(e) => {
*((base + 16) as *mut u8) = (24i32) as u8;
let vec53 = e;
let ptr53 = vec53.as_ptr() as i32;
let len53 = vec53.len() as i32;
*((base + 24) as *mut i32) = len53;
*((base + 20) as *mut i32) = ptr53;
},
super::super::super::ambient::bindings::component::VecValue::TypeDuration(e) => {
*((base + 16) as *mut u8) = (25i32) as u8;
let vec54 = e;
let ptr54 = vec54.as_ptr() as i32;
let len54 = vec54.len() as i32;
*((base + 24) as *mut i32) = len54;
*((base + 20) as *mut i32) = ptr54;
},
super::super::super::ambient::bindings::component::VecValue::TypeProceduralMeshHandle(e) => {
*((base + 16) as *mut u8) = (26i32) as u8;
let vec55 = e;
let ptr55 = vec55.as_ptr() as i32;
let len55 = vec55.len() as i32;
*((base + 24) as *mut i32) = len55;
*((base + 20) as *mut i32) = ptr55;
},
super::super::super::ambient::bindings::component::VecValue::TypeProceduralTextureHandle(e) => {
*((base + 16) as *mut u8) = (27i32) as u8;
let vec56 = e;
let ptr56 = vec56.as_ptr() as i32;
let len56 = vec56.len() as i32;
*((base + 24) as *mut i32) = len56;
*((base + 20) as *mut i32) = ptr56;
},
super::super::super::ambient::bindings::component::VecValue::TypeProceduralSamplerHandle(e) => {
*((base + 16) as *mut u8) = (28i32) as u8;
let vec57 = e;
let ptr57 = vec57.as_ptr() as i32;
let len57 = vec57.len() as i32;
*((base + 24) as *mut i32) = len57;
*((base + 20) as *mut i32) = ptr57;
},
super::super::super::ambient::bindings::component::VecValue::TypeProceduralMaterialHandle(e) => {
*((base + 16) as *mut u8) = (29i32) as u8;
let vec58 = e;
let ptr58 = vec58.as_ptr() as i32;
let len58 = vec58.len() as i32;
*((base + 24) as *mut i32) = len58;
*((base + 20) as *mut i32) = ptr58;
},
};
},
super::super::super::ambient::bindings::component::Value::TypeOption(e) => {
*((base + 8) as *mut u8) = (31i32) as u8;
match e {
super::super::super::ambient::bindings::component::OptionValue::TypeEmpty(e) => {
*((base + 16) as *mut u8) = (0i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Empty{ dummy:dummy59, } = e;
*((base + 25) as *mut u8) = (wit_bindgen::rt::as_i32(dummy59)) as u8;
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
super::super::super::ambient::bindings::component::OptionValue::TypeBool(e) => {
*((base + 16) as *mut u8) = (1i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
*((base + 25) as *mut u8) = (match e { true => 1, false => 0 }) as u8;
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
super::super::super::ambient::bindings::component::OptionValue::TypeEntityId(e) => {
*((base + 16) as *mut u8) = (2i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::EntityId{ id0:id060, id1:id160, } = e;
*((base + 32) as *mut i64) = wit_bindgen::rt::as_i64(id060);
*((base + 40) as *mut i64) = wit_bindgen::rt::as_i64(id160);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
super::super::super::ambient::bindings::component::OptionValue::TypeF32(e) => {
*((base + 16) as *mut u8) = (3i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
*((base + 28) as *mut f32) = wit_bindgen::rt::as_f32(e);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
super::super::super::ambient::bindings::component::OptionValue::TypeF64(e) => {
*((base + 16) as *mut u8) = (4i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
*((base + 32) as *mut f64) = wit_bindgen::rt::as_f64(e);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
super::super::super::ambient::bindings::component::OptionValue::TypeMat4(e) => {
*((base + 16) as *mut u8) = (5i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Mat4{ x:x61, y:y61, z:z61, w:w61, } = e;
let super::super::super::ambient::bindings::types::Vec4{ x:x62, y:y62, z:z62, w:w62, } = x61;
*((base + 28) as *mut f32) = wit_bindgen::rt::as_f32(x62);
*((base + 32) as *mut f32) = wit_bindgen::rt::as_f32(y62);
*((base + 36) as *mut f32) = wit_bindgen::rt::as_f32(z62);
*((base + 40) as *mut f32) = wit_bindgen::rt::as_f32(w62);
let super::super::super::ambient::bindings::types::Vec4{ x:x63, y:y63, z:z63, w:w63, } = y61;
*((base + 44) as *mut f32) = wit_bindgen::rt::as_f32(x63);
*((base + 48) as *mut f32) = wit_bindgen::rt::as_f32(y63);
*((base + 52) as *mut f32) = wit_bindgen::rt::as_f32(z63);
*((base + 56) as *mut f32) = wit_bindgen::rt::as_f32(w63);
let super::super::super::ambient::bindings::types::Vec4{ x:x64, y:y64, z:z64, w:w64, } = z61;
*((base + 60) as *mut f32) = wit_bindgen::rt::as_f32(x64);
*((base + 64) as *mut f32) = wit_bindgen::rt::as_f32(y64);
*((base + 68) as *mut f32) = wit_bindgen::rt::as_f32(z64);
*((base + 72) as *mut f32) = wit_bindgen::rt::as_f32(w64);
let super::super::super::ambient::bindings::types::Vec4{ x:x65, y:y65, z:z65, w:w65, } = w61;
*((base + 76) as *mut f32) = wit_bindgen::rt::as_f32(x65);
*((base + 80) as *mut f32) = wit_bindgen::rt::as_f32(y65);
*((base + 84) as *mut f32) = wit_bindgen::rt::as_f32(z65);
*((base + 88) as *mut f32) = wit_bindgen::rt::as_f32(w65);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
super::super::super::ambient::bindings::component::OptionValue::TypeQuat(e) => {
*((base + 16) as *mut u8) = (6i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Quat{ x:x66, y:y66, z:z66, w:w66, } = e;
*((base + 28) as *mut f32) = wit_bindgen::rt::as_f32(x66);
*((base + 32) as *mut f32) = wit_bindgen::rt::as_f32(y66);
*((base + 36) as *mut f32) = wit_bindgen::rt::as_f32(z66);
*((base + 40) as *mut f32) = wit_bindgen::rt::as_f32(w66);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
super::super::super::ambient::bindings::component::OptionValue::TypeString(e) => {
*((base + 16) as *mut u8) = (7i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let vec67 = e;
let ptr67 = vec67.as_ptr() as i32;
let len67 = vec67.len() as i32;
*((base + 32) as *mut i32) = len67;
*((base + 28) as *mut i32) = ptr67;
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
super::super::super::ambient::bindings::component::OptionValue::TypeU8(e) => {
*((base + 16) as *mut u8) = (8i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
*((base + 25) as *mut u8) = (wit_bindgen::rt::as_i32(e)) as u8;
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
super::super::super::ambient::bindings::component::OptionValue::TypeU16(e) => {
*((base + 16) as *mut u8) = (9i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
*((base + 26) as *mut u16) = (wit_bindgen::rt::as_i32(e)) as u16;
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
super::super::super::ambient::bindings::component::OptionValue::TypeU32(e) => {
*((base + 16) as *mut u8) = (10i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
*((base + 28) as *mut i32) = wit_bindgen::rt::as_i32(e);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
super::super::super::ambient::bindings::component::OptionValue::TypeU64(e) => {
*((base + 16) as *mut u8) = (11i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
*((base + 32) as *mut i64) = wit_bindgen::rt::as_i64(e);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
super::super::super::ambient::bindings::component::OptionValue::TypeI8(e) => {
*((base + 16) as *mut u8) = (12i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
*((base + 25) as *mut u8) = (wit_bindgen::rt::as_i32(e)) as u8;
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
super::super::super::ambient::bindings::component::OptionValue::TypeI16(e) => {
*((base + 16) as *mut u8) = (13i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
*((base + 26) as *mut u16) = (wit_bindgen::rt::as_i32(e)) as u16;
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
super::super::super::ambient::bindings::component::OptionValue::TypeI32(e) => {
*((base + 16) as *mut u8) = (14i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
*((base + 28) as *mut i32) = wit_bindgen::rt::as_i32(e);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
super::super::super::ambient::bindings::component::OptionValue::TypeI64(e) => {
*((base + 16) as *mut u8) = (15i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
*((base + 32) as *mut i64) = wit_bindgen::rt::as_i64(e);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
super::super::super::ambient::bindings::component::OptionValue::TypeVec2(e) => {
*((base + 16) as *mut u8) = (16i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Vec2{ x:x68, y:y68, } = e;
*((base + 28) as *mut f32) = wit_bindgen::rt::as_f32(x68);
*((base + 32) as *mut f32) = wit_bindgen::rt::as_f32(y68);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
super::super::super::ambient::bindings::component::OptionValue::TypeVec3(e) => {
*((base + 16) as *mut u8) = (17i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Vec3{ x:x69, y:y69, z:z69, } = e;
*((base + 28) as *mut f32) = wit_bindgen::rt::as_f32(x69);
*((base + 32) as *mut f32) = wit_bindgen::rt::as_f32(y69);
*((base + 36) as *mut f32) = wit_bindgen::rt::as_f32(z69);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
super::super::super::ambient::bindings::component::OptionValue::TypeVec4(e) => {
*((base + 16) as *mut u8) = (18i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Vec4{ x:x70, y:y70, z:z70, w:w70, } = e;
*((base + 28) as *mut f32) = wit_bindgen::rt::as_f32(x70);
*((base + 32) as *mut f32) = wit_bindgen::rt::as_f32(y70);
*((base + 36) as *mut f32) = wit_bindgen::rt::as_f32(z70);
*((base + 40) as *mut f32) = wit_bindgen::rt::as_f32(w70);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
super::super::super::ambient::bindings::component::OptionValue::TypeUvec2(e) => {
*((base + 16) as *mut u8) = (19i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Uvec2{ x:x71, y:y71, } = e;
*((base + 28) as *mut i32) = wit_bindgen::rt::as_i32(x71);
*((base + 32) as *mut i32) = wit_bindgen::rt::as_i32(y71);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
super::super::super::ambient::bindings::component::OptionValue::TypeUvec3(e) => {
*((base + 16) as *mut u8) = (20i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Uvec3{ x:x72, y:y72, z:z72, } = e;
*((base + 28) as *mut i32) = wit_bindgen::rt::as_i32(x72);
*((base + 32) as *mut i32) = wit_bindgen::rt::as_i32(y72);
*((base + 36) as *mut i32) = wit_bindgen::rt::as_i32(z72);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
super::super::super::ambient::bindings::component::OptionValue::TypeUvec4(e) => {
*((base + 16) as *mut u8) = (21i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Uvec4{ x:x73, y:y73, z:z73, w:w73, } = e;
*((base + 28) as *mut i32) = wit_bindgen::rt::as_i32(x73);
*((base + 32) as *mut i32) = wit_bindgen::rt::as_i32(y73);
*((base + 36) as *mut i32) = wit_bindgen::rt::as_i32(z73);
*((base + 40) as *mut i32) = wit_bindgen::rt::as_i32(w73);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
super::super::super::ambient::bindings::component::OptionValue::TypeIvec2(e) => {
*((base + 16) as *mut u8) = (22i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Ivec2{ x:x74, y:y74, } = e;
*((base + 28) as *mut i32) = wit_bindgen::rt::as_i32(x74);
*((base + 32) as *mut i32) = wit_bindgen::rt::as_i32(y74);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
super::super::super::ambient::bindings::component::OptionValue::TypeIvec3(e) => {
*((base + 16) as *mut u8) = (23i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Ivec3{ x:x75, y:y75, z:z75, } = e;
*((base + 28) as *mut i32) = wit_bindgen::rt::as_i32(x75);
*((base + 32) as *mut i32) = wit_bindgen::rt::as_i32(y75);
*((base + 36) as *mut i32) = wit_bindgen::rt::as_i32(z75);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
super::super::super::ambient::bindings::component::OptionValue::TypeIvec4(e) => {
*((base + 16) as *mut u8) = (24i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Ivec4{ x:x76, y:y76, z:z76, w:w76, } = e;
*((base + 28) as *mut i32) = wit_bindgen::rt::as_i32(x76);
*((base + 32) as *mut i32) = wit_bindgen::rt::as_i32(y76);
*((base + 36) as *mut i32) = wit_bindgen::rt::as_i32(z76);
*((base + 40) as *mut i32) = wit_bindgen::rt::as_i32(w76);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
super::super::super::ambient::bindings::component::OptionValue::TypeDuration(e) => {
*((base + 16) as *mut u8) = (25i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::types::Duration{ seconds:seconds77, nanoseconds:nanoseconds77, } = e;
*((base + 32) as *mut i64) = wit_bindgen::rt::as_i64(seconds77);
*((base + 40) as *mut i32) = wit_bindgen::rt::as_i32(nanoseconds77);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
super::super::super::ambient::bindings::component::OptionValue::TypeProceduralMeshHandle(e) => {
*((base + 16) as *mut u8) = (26i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::client_mesh::Handle{ ulid:ulid78, } = e;
let (t79_0, t79_1, ) = ulid78;
*((base + 32) as *mut i64) = wit_bindgen::rt::as_i64(t79_0);
*((base + 40) as *mut i64) = wit_bindgen::rt::as_i64(t79_1);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
super::super::super::ambient::bindings::component::OptionValue::TypeProceduralTextureHandle(e) => {
*((base + 16) as *mut u8) = (27i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::client_texture::Handle{ ulid:ulid80, } = e;
let (t81_0, t81_1, ) = ulid80;
*((base + 32) as *mut i64) = wit_bindgen::rt::as_i64(t81_0);
*((base + 40) as *mut i64) = wit_bindgen::rt::as_i64(t81_1);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
super::super::super::ambient::bindings::component::OptionValue::TypeProceduralSamplerHandle(e) => {
*((base + 16) as *mut u8) = (28i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::client_sampler::Handle{ ulid:ulid82, } = e;
let (t83_0, t83_1, ) = ulid82;
*((base + 32) as *mut i64) = wit_bindgen::rt::as_i64(t83_0);
*((base + 40) as *mut i64) = wit_bindgen::rt::as_i64(t83_1);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
super::super::super::ambient::bindings::component::OptionValue::TypeProceduralMaterialHandle(e) => {
*((base + 16) as *mut u8) = (29i32) as u8;
match e {
Some(e) => {
*((base + 24) as *mut u8) = (1i32) as u8;
let super::super::super::ambient::bindings::client_material::Handle{ ulid:ulid84, } = e;
let (t85_0, t85_1, ) = ulid84;
*((base + 32) as *mut i64) = wit_bindgen::rt::as_i64(t85_0);
*((base + 40) as *mut i64) = wit_bindgen::rt::as_i64(t85_1);
},
None => {
{
*((base + 24) as *mut u8) = (0i32) as u8;
}
},
};
},
};
},
};
}}
let ptr87 = ret_area.as_mut_ptr() as i32;
#[link(wasm_import_module = "ambient:bindings/entity")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "spawn")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/entity_spawn")]
fn wit_import(
_: i32, _: i32, _: i32, );
}
wit_import(result86 as i32, len86, ptr87);
if layout86.size() != 0 {
alloc::dealloc(result86, layout86);
}
for (ptr, layout) in cleanup_list {
if layout.size() != 0 {
alloc::dealloc(ptr, layout);
}
}
super::super::super::ambient::bindings::types::EntityId{id0:*((ptr87 + 0) as *const i64) as u64, id1:*((ptr87 + 8) as *const i64) as u64, }
}
}
#[allow(clippy::all)]
pub fn despawn(entity: EntityId,) -> Option<EntityData>{
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
#[repr(align(4))]
struct RetArea([u8; 12]);
let mut ret_area = ::core::mem::MaybeUninit::<RetArea>::uninit();
let super::super::super::ambient::bindings::types::EntityId{ id0:id00, id1:id10, } = entity;
let ptr1 = ret_area.as_mut_ptr() as i32;
#[link(wasm_import_module = "ambient:bindings/entity")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "despawn")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/entity_despawn")]
fn wit_import(
_: i64, _: i64, _: i32, );
}
wit_import(wit_bindgen::rt::as_i64(id00), wit_bindgen::rt::as_i64(id10), ptr1);
match i32::from(*((ptr1 + 0) as *const u8)) {
0 => None,
1 => Some({
let base35 = *((ptr1 + 4) as *const i32);
let len35 = *((ptr1 + 8) as *const i32);
let mut result35 = Vec::with_capacity(len35 as usize);
for i in 0..len35 {
let base = base35 + i *96;
result35.push((*((base + 0) as *const i32) as u32, {{match i32::from(*((base + 8) as *const u8)) {
0 => super::super::super::ambient::bindings::component::Value::TypeEmpty(super::super::super::ambient::bindings::types::Empty{dummy:i32::from(*((base + 16) as *const u8)) as u8, }),
1 => super::super::super::ambient::bindings::component::Value::TypeBool({
#[cfg(not(debug_assertions))]
{ ::core::mem::transmute::<u8, bool>(i32::from(*((base + 16) as *const u8)) as u8) }
#[cfg(debug_assertions)]
{
match i32::from(*((base + 16) as *const u8)) {
0 => false,
1 => true,
_ => panic!("invalid bool discriminant"),
}
}
}),
2 => super::super::super::ambient::bindings::component::Value::TypeEntityId(super::super::super::ambient::bindings::types::EntityId{id0:*((base + 16) as *const i64) as u64, id1:*((base + 24) as *const i64) as u64, }),
3 => super::super::super::ambient::bindings::component::Value::TypeF32(*((base + 16) as *const f32)),
4 => super::super::super::ambient::bindings::component::Value::TypeF64(*((base + 16) as *const f64)),
5 => super::super::super::ambient::bindings::component::Value::TypeMat4(super::super::super::ambient::bindings::types::Mat4{x:super::super::super::ambient::bindings::types::Vec4{x:*((base + 16) as *const f32), y:*((base + 20) as *const f32), z:*((base + 24) as *const f32), w:*((base + 28) as *const f32), }, y:super::super::super::ambient::bindings::types::Vec4{x:*((base + 32) as *const f32), y:*((base + 36) as *const f32), z:*((base + 40) as *const f32), w:*((base + 44) as *const f32), }, z:super::super::super::ambient::bindings::types::Vec4{x:*((base + 48) as *const f32), y:*((base + 52) as *const f32), z:*((base + 56) as *const f32), w:*((base + 60) as *const f32), }, w:super::super::super::ambient::bindings::types::Vec4{x:*((base + 64) as *const f32), y:*((base + 68) as *const f32), z:*((base + 72) as *const f32), w:*((base + 76) as *const f32), }, }),
6 => super::super::super::ambient::bindings::component::Value::TypeQuat(super::super::super::ambient::bindings::types::Quat{x:*((base + 16) as *const f32), y:*((base + 20) as *const f32), z:*((base + 24) as *const f32), w:*((base + 28) as *const f32), }),
7 => super::super::super::ambient::bindings::component::Value::TypeString({
let len2 = *((base + 20) as *const i32) as usize;
{#[cfg(not(debug_assertions))]{String::from_utf8_unchecked(Vec::from_raw_parts(*((base + 16) as *const i32) as *mut _, len2, len2))}#[cfg(debug_assertions)]{String::from_utf8(Vec::from_raw_parts(*((base + 16) as *const i32) as *mut _, len2, len2)).unwrap()}}
}),
8 => super::super::super::ambient::bindings::component::Value::TypeU8(i32::from(*((base + 16) as *const u8)) as u8),
9 => super::super::super::ambient::bindings::component::Value::TypeU16(i32::from(*((base + 16) as *const u16)) as u16),
10 => super::super::super::ambient::bindings::component::Value::TypeU32(*((base + 16) as *const i32) as u32),
11 => super::super::super::ambient::bindings::component::Value::TypeU64(*((base + 16) as *const i64) as u64),
12 => super::super::super::ambient::bindings::component::Value::TypeI8(i32::from(*((base + 16) as *const i8)) as i8),
13 => super::super::super::ambient::bindings::component::Value::TypeI16(i32::from(*((base + 16) as *const i16)) as i16),
14 => super::super::super::ambient::bindings::component::Value::TypeI32(*((base + 16) as *const i32)),
15 => super::super::super::ambient::bindings::component::Value::TypeI64(*((base + 16) as *const i64)),
16 => super::super::super::ambient::bindings::component::Value::TypeVec2(super::super::super::ambient::bindings::types::Vec2{x:*((base + 16) as *const f32), y:*((base + 20) as *const f32), }),
17 => super::super::super::ambient::bindings::component::Value::TypeVec3(super::super::super::ambient::bindings::types::Vec3{x:*((base + 16) as *const f32), y:*((base + 20) as *const f32), z:*((base + 24) as *const f32), }),
18 => super::super::super::ambient::bindings::component::Value::TypeVec4(super::super::super::ambient::bindings::types::Vec4{x:*((base + 16) as *const f32), y:*((base + 20) as *const f32), z:*((base + 24) as *const f32), w:*((base + 28) as *const f32), }),
19 => super::super::super::ambient::bindings::component::Value::TypeUvec2(super::super::super::ambient::bindings::types::Uvec2{x:*((base + 16) as *const i32) as u32, y:*((base + 20) as *const i32) as u32, }),
20 => super::super::super::ambient::bindings::component::Value::TypeUvec3(super::super::super::ambient::bindings::types::Uvec3{x:*((base + 16) as *const i32) as u32, y:*((base + 20) as *const i32) as u32, z:*((base + 24) as *const i32) as u32, }),
21 => super::super::super::ambient::bindings::component::Value::TypeUvec4(super::super::super::ambient::bindings::types::Uvec4{x:*((base + 16) as *const i32) as u32, y:*((base + 20) as *const i32) as u32, z:*((base + 24) as *const i32) as u32, w:*((base + 28) as *const i32) as u32, }),
22 => super::super::super::ambient::bindings::component::Value::TypeIvec2(super::super::super::ambient::bindings::types::Ivec2{x:*((base + 16) as *const i32), y:*((base + 20) as *const i32), }),
23 => super::super::super::ambient::bindings::component::Value::TypeIvec3(super::super::super::ambient::bindings::types::Ivec3{x:*((base + 16) as *const i32), y:*((base + 20) as *const i32), z:*((base + 24) as *const i32), }),
24 => super::super::super::ambient::bindings::component::Value::TypeIvec4(super::super::super::ambient::bindings::types::Ivec4{x:*((base + 16) as *const i32), y:*((base + 20) as *const i32), z:*((base + 24) as *const i32), w:*((base + 28) as *const i32), }),
25 => super::super::super::ambient::bindings::component::Value::TypeDuration(super::super::super::ambient::bindings::types::Duration{seconds:*((base + 16) as *const i64) as u64, nanoseconds:*((base + 24) as *const i32) as u32, }),
26 => super::super::super::ambient::bindings::component::Value::TypeProceduralMeshHandle(super::super::super::ambient::bindings::client_mesh::Handle{ulid:(*((base + 16) as *const i64) as u64, *((base + 24) as *const i64) as u64), }),
27 => super::super::super::ambient::bindings::component::Value::TypeProceduralTextureHandle(super::super::super::ambient::bindings::client_texture::Handle{ulid:(*((base + 16) as *const i64) as u64, *((base + 24) as *const i64) as u64), }),
28 => super::super::super::ambient::bindings::component::Value::TypeProceduralSamplerHandle(super::super::super::ambient::bindings::client_sampler::Handle{ulid:(*((base + 16) as *const i64) as u64, *((base + 24) as *const i64) as u64), }),
29 => super::super::super::ambient::bindings::component::Value::TypeProceduralMaterialHandle(super::super::super::ambient::bindings::client_material::Handle{ulid:(*((base + 16) as *const i64) as u64, *((base + 24) as *const i64) as u64), }),
30 => super::super::super::ambient::bindings::component::Value::TypeVec({{match i32::from(*((base + 16) as *const u8)) {
0 => super::super::super::ambient::bindings::component::VecValue::TypeEmpty({
let len3 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len3, len3)
}),
1 => super::super::super::ambient::bindings::component::VecValue::TypeBool({
let base4 = *((base + 20) as *const i32);
let len4 = *((base + 24) as *const i32);
let mut result4 = Vec::with_capacity(len4 as usize);
for i in 0..len4 {
let base = base4 + i *1;
result4.push({
#[cfg(not(debug_assertions))]
{ ::core::mem::transmute::<u8, bool>(i32::from(*((base + 0) as *const u8)) as u8) }
#[cfg(debug_assertions)]
{
match i32::from(*((base + 0) as *const u8)) {
0 => false,
1 => true,
_ => panic!("invalid bool discriminant"),
}
}
});
}
wit_bindgen::rt::dealloc(base4, (len4 as usize) * 1, 1);
result4
}),
2 => super::super::super::ambient::bindings::component::VecValue::TypeEntityId({
let len5 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len5, len5)
}),
3 => super::super::super::ambient::bindings::component::VecValue::TypeF32({
let len6 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len6, len6)
}),
4 => super::super::super::ambient::bindings::component::VecValue::TypeF64({
let len7 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len7, len7)
}),
5 => super::super::super::ambient::bindings::component::VecValue::TypeMat4({
let len8 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len8, len8)
}),
6 => super::super::super::ambient::bindings::component::VecValue::TypeQuat({
let len9 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len9, len9)
}),
7 => super::super::super::ambient::bindings::component::VecValue::TypeString({
let base11 = *((base + 20) as *const i32);
let len11 = *((base + 24) as *const i32);
let mut result11 = Vec::with_capacity(len11 as usize);
for i in 0..len11 {
let base = base11 + i *8;
result11.push({
let len10 = *((base + 4) as *const i32) as usize;
{#[cfg(not(debug_assertions))]{String::from_utf8_unchecked(Vec::from_raw_parts(*((base + 0) as *const i32) as *mut _, len10, len10))}#[cfg(debug_assertions)]{String::from_utf8(Vec::from_raw_parts(*((base + 0) as *const i32) as *mut _, len10, len10)).unwrap()}}
});
}
wit_bindgen::rt::dealloc(base11, (len11 as usize) * 8, 4);
result11
}),
8 => super::super::super::ambient::bindings::component::VecValue::TypeU8({
let len12 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len12, len12)
}),
9 => super::super::super::ambient::bindings::component::VecValue::TypeU16({
let len13 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len13, len13)
}),
10 => super::super::super::ambient::bindings::component::VecValue::TypeU32({
let len14 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len14, len14)
}),
11 => super::super::super::ambient::bindings::component::VecValue::TypeU64({
let len15 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len15, len15)
}),
12 => super::super::super::ambient::bindings::component::VecValue::TypeI8({
let len16 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len16, len16)
}),
13 => super::super::super::ambient::bindings::component::VecValue::TypeI16({
let len17 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len17, len17)
}),
14 => super::super::super::ambient::bindings::component::VecValue::TypeI32({
let len18 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len18, len18)
}),
15 => super::super::super::ambient::bindings::component::VecValue::TypeI64({
let len19 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len19, len19)
}),
16 => super::super::super::ambient::bindings::component::VecValue::TypeVec2({
let len20 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len20, len20)
}),
17 => super::super::super::ambient::bindings::component::VecValue::TypeVec3({
let len21 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len21, len21)
}),
18 => super::super::super::ambient::bindings::component::VecValue::TypeVec4({
let len22 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len22, len22)
}),
19 => super::super::super::ambient::bindings::component::VecValue::TypeUvec2({
let len23 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len23, len23)
}),
20 => super::super::super::ambient::bindings::component::VecValue::TypeUvec3({
let len24 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len24, len24)
}),
21 => super::super::super::ambient::bindings::component::VecValue::TypeUvec4({
let len25 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len25, len25)
}),
22 => super::super::super::ambient::bindings::component::VecValue::TypeIvec2({
let len26 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len26, len26)
}),
23 => super::super::super::ambient::bindings::component::VecValue::TypeIvec3({
let len27 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len27, len27)
}),
24 => super::super::super::ambient::bindings::component::VecValue::TypeIvec4({
let len28 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len28, len28)
}),
25 => super::super::super::ambient::bindings::component::VecValue::TypeDuration({
let len29 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len29, len29)
}),
26 => super::super::super::ambient::bindings::component::VecValue::TypeProceduralMeshHandle({
let len30 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len30, len30)
}),
27 => super::super::super::ambient::bindings::component::VecValue::TypeProceduralTextureHandle({
let len31 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len31, len31)
}),
28 => super::super::super::ambient::bindings::component::VecValue::TypeProceduralSamplerHandle({
let len32 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len32, len32)
}),
#[cfg(debug_assertions)]29 => super::super::super::ambient::bindings::component::VecValue::TypeProceduralMaterialHandle({
let len33 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len33, len33)
}),
#[cfg(not(debug_assertions))]_ => super::super::super::ambient::bindings::component::VecValue::TypeProceduralMaterialHandle({
let len33 = *((base + 24) as *const i32) as usize;
Vec::from_raw_parts(*((base + 20) as *const i32) as *mut _, len33, len33)
}),
#[cfg(debug_assertions)]_ => panic!("invalid enum discriminant"),
}}}),
#[cfg(debug_assertions)]31 => super::super::super::ambient::bindings::component::Value::TypeOption({{match i32::from(*((base + 16) as *const u8)) {
0 => super::super::super::ambient::bindings::component::OptionValue::TypeEmpty(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Empty{dummy:i32::from(*((base + 25) as *const u8)) as u8, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
1 => super::super::super::ambient::bindings::component::OptionValue::TypeBool(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some({
#[cfg(not(debug_assertions))]
{ ::core::mem::transmute::<u8, bool>(i32::from(*((base + 25) as *const u8)) as u8) }
#[cfg(debug_assertions)]
{
match i32::from(*((base + 25) as *const u8)) {
0 => false,
1 => true,
_ => panic!("invalid bool discriminant"),
}
}
}),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
2 => super::super::super::ambient::bindings::component::OptionValue::TypeEntityId(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::EntityId{id0:*((base + 32) as *const i64) as u64, id1:*((base + 40) as *const i64) as u64, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
3 => super::super::super::ambient::bindings::component::OptionValue::TypeF32(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(*((base + 28) as *const f32)),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
4 => super::super::super::ambient::bindings::component::OptionValue::TypeF64(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(*((base + 32) as *const f64)),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
5 => super::super::super::ambient::bindings::component::OptionValue::TypeMat4(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Mat4{x:super::super::super::ambient::bindings::types::Vec4{x:*((base + 28) as *const f32), y:*((base + 32) as *const f32), z:*((base + 36) as *const f32), w:*((base + 40) as *const f32), }, y:super::super::super::ambient::bindings::types::Vec4{x:*((base + 44) as *const f32), y:*((base + 48) as *const f32), z:*((base + 52) as *const f32), w:*((base + 56) as *const f32), }, z:super::super::super::ambient::bindings::types::Vec4{x:*((base + 60) as *const f32), y:*((base + 64) as *const f32), z:*((base + 68) as *const f32), w:*((base + 72) as *const f32), }, w:super::super::super::ambient::bindings::types::Vec4{x:*((base + 76) as *const f32), y:*((base + 80) as *const f32), z:*((base + 84) as *const f32), w:*((base + 88) as *const f32), }, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
6 => super::super::super::ambient::bindings::component::OptionValue::TypeQuat(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Quat{x:*((base + 28) as *const f32), y:*((base + 32) as *const f32), z:*((base + 36) as *const f32), w:*((base + 40) as *const f32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
7 => super::super::super::ambient::bindings::component::OptionValue::TypeString(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some({
let len34 = *((base + 32) as *const i32) as usize;
{#[cfg(not(debug_assertions))]{String::from_utf8_unchecked(Vec::from_raw_parts(*((base + 28) as *const i32) as *mut _, len34, len34))}#[cfg(debug_assertions)]{String::from_utf8(Vec::from_raw_parts(*((base + 28) as *const i32) as *mut _, len34, len34)).unwrap()}}
}),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
8 => super::super::super::ambient::bindings::component::OptionValue::TypeU8(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(i32::from(*((base + 25) as *const u8)) as u8),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
9 => super::super::super::ambient::bindings::component::OptionValue::TypeU16(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(i32::from(*((base + 26) as *const u16)) as u16),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
10 => super::super::super::ambient::bindings::component::OptionValue::TypeU32(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(*((base + 28) as *const i32) as u32),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
11 => super::super::super::ambient::bindings::component::OptionValue::TypeU64(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(*((base + 32) as *const i64) as u64),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
12 => super::super::super::ambient::bindings::component::OptionValue::TypeI8(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(i32::from(*((base + 25) as *const i8)) as i8),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
13 => super::super::super::ambient::bindings::component::OptionValue::TypeI16(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(i32::from(*((base + 26) as *const i16)) as i16),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
14 => super::super::super::ambient::bindings::component::OptionValue::TypeI32(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(*((base + 28) as *const i32)),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
15 => super::super::super::ambient::bindings::component::OptionValue::TypeI64(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(*((base + 32) as *const i64)),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
16 => super::super::super::ambient::bindings::component::OptionValue::TypeVec2(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Vec2{x:*((base + 28) as *const f32), y:*((base + 32) as *const f32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
17 => super::super::super::ambient::bindings::component::OptionValue::TypeVec3(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Vec3{x:*((base + 28) as *const f32), y:*((base + 32) as *const f32), z:*((base + 36) as *const f32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
18 => super::super::super::ambient::bindings::component::OptionValue::TypeVec4(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Vec4{x:*((base + 28) as *const f32), y:*((base + 32) as *const f32), z:*((base + 36) as *const f32), w:*((base + 40) as *const f32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
19 => super::super::super::ambient::bindings::component::OptionValue::TypeUvec2(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Uvec2{x:*((base + 28) as *const i32) as u32, y:*((base + 32) as *const i32) as u32, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
20 => super::super::super::ambient::bindings::component::OptionValue::TypeUvec3(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Uvec3{x:*((base + 28) as *const i32) as u32, y:*((base + 32) as *const i32) as u32, z:*((base + 36) as *const i32) as u32, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
21 => super::super::super::ambient::bindings::component::OptionValue::TypeUvec4(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Uvec4{x:*((base + 28) as *const i32) as u32, y:*((base + 32) as *const i32) as u32, z:*((base + 36) as *const i32) as u32, w:*((base + 40) as *const i32) as u32, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
22 => super::super::super::ambient::bindings::component::OptionValue::TypeIvec2(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Ivec2{x:*((base + 28) as *const i32), y:*((base + 32) as *const i32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
23 => super::super::super::ambient::bindings::component::OptionValue::TypeIvec3(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Ivec3{x:*((base + 28) as *const i32), y:*((base + 32) as *const i32), z:*((base + 36) as *const i32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
24 => super::super::super::ambient::bindings::component::OptionValue::TypeIvec4(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Ivec4{x:*((base + 28) as *const i32), y:*((base + 32) as *const i32), z:*((base + 36) as *const i32), w:*((base + 40) as *const i32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
25 => super::super::super::ambient::bindings::component::OptionValue::TypeDuration(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Duration{seconds:*((base + 32) as *const i64) as u64, nanoseconds:*((base + 40) as *const i32) as u32, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
26 => super::super::super::ambient::bindings::component::OptionValue::TypeProceduralMeshHandle(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_mesh::Handle{ulid:(*((base + 32) as *const i64) as u64, *((base + 40) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
27 => super::super::super::ambient::bindings::component::OptionValue::TypeProceduralTextureHandle(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_texture::Handle{ulid:(*((base + 32) as *const i64) as u64, *((base + 40) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
28 => super::super::super::ambient::bindings::component::OptionValue::TypeProceduralSamplerHandle(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_sampler::Handle{ulid:(*((base + 32) as *const i64) as u64, *((base + 40) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
#[cfg(debug_assertions)]29 => super::super::super::ambient::bindings::component::OptionValue::TypeProceduralMaterialHandle(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_material::Handle{ulid:(*((base + 32) as *const i64) as u64, *((base + 40) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
#[cfg(not(debug_assertions))]_ => super::super::super::ambient::bindings::component::OptionValue::TypeProceduralMaterialHandle(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_material::Handle{ulid:(*((base + 32) as *const i64) as u64, *((base + 40) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
#[cfg(debug_assertions)]_ => panic!("invalid enum discriminant"),
}}}),
#[cfg(not(debug_assertions))]_ => super::super::super::ambient::bindings::component::Value::TypeOption({{match i32::from(*((base + 16) as *const u8)) {
0 => super::super::super::ambient::bindings::component::OptionValue::TypeEmpty(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Empty{dummy:i32::from(*((base + 25) as *const u8)) as u8, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
1 => super::super::super::ambient::bindings::component::OptionValue::TypeBool(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some({
#[cfg(not(debug_assertions))]
{ ::core::mem::transmute::<u8, bool>(i32::from(*((base + 25) as *const u8)) as u8) }
#[cfg(debug_assertions)]
{
match i32::from(*((base + 25) as *const u8)) {
0 => false,
1 => true,
_ => panic!("invalid bool discriminant"),
}
}
}),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
2 => super::super::super::ambient::bindings::component::OptionValue::TypeEntityId(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::EntityId{id0:*((base + 32) as *const i64) as u64, id1:*((base + 40) as *const i64) as u64, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
3 => super::super::super::ambient::bindings::component::OptionValue::TypeF32(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(*((base + 28) as *const f32)),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
4 => super::super::super::ambient::bindings::component::OptionValue::TypeF64(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(*((base + 32) as *const f64)),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
5 => super::super::super::ambient::bindings::component::OptionValue::TypeMat4(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Mat4{x:super::super::super::ambient::bindings::types::Vec4{x:*((base + 28) as *const f32), y:*((base + 32) as *const f32), z:*((base + 36) as *const f32), w:*((base + 40) as *const f32), }, y:super::super::super::ambient::bindings::types::Vec4{x:*((base + 44) as *const f32), y:*((base + 48) as *const f32), z:*((base + 52) as *const f32), w:*((base + 56) as *const f32), }, z:super::super::super::ambient::bindings::types::Vec4{x:*((base + 60) as *const f32), y:*((base + 64) as *const f32), z:*((base + 68) as *const f32), w:*((base + 72) as *const f32), }, w:super::super::super::ambient::bindings::types::Vec4{x:*((base + 76) as *const f32), y:*((base + 80) as *const f32), z:*((base + 84) as *const f32), w:*((base + 88) as *const f32), }, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
6 => super::super::super::ambient::bindings::component::OptionValue::TypeQuat(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Quat{x:*((base + 28) as *const f32), y:*((base + 32) as *const f32), z:*((base + 36) as *const f32), w:*((base + 40) as *const f32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
7 => super::super::super::ambient::bindings::component::OptionValue::TypeString(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some({
let len34 = *((base + 32) as *const i32) as usize;
{#[cfg(not(debug_assertions))]{String::from_utf8_unchecked(Vec::from_raw_parts(*((base + 28) as *const i32) as *mut _, len34, len34))}#[cfg(debug_assertions)]{String::from_utf8(Vec::from_raw_parts(*((base + 28) as *const i32) as *mut _, len34, len34)).unwrap()}}
}),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
8 => super::super::super::ambient::bindings::component::OptionValue::TypeU8(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(i32::from(*((base + 25) as *const u8)) as u8),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
9 => super::super::super::ambient::bindings::component::OptionValue::TypeU16(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(i32::from(*((base + 26) as *const u16)) as u16),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
10 => super::super::super::ambient::bindings::component::OptionValue::TypeU32(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(*((base + 28) as *const i32) as u32),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
11 => super::super::super::ambient::bindings::component::OptionValue::TypeU64(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(*((base + 32) as *const i64) as u64),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
12 => super::super::super::ambient::bindings::component::OptionValue::TypeI8(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(i32::from(*((base + 25) as *const i8)) as i8),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
13 => super::super::super::ambient::bindings::component::OptionValue::TypeI16(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(i32::from(*((base + 26) as *const i16)) as i16),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
14 => super::super::super::ambient::bindings::component::OptionValue::TypeI32(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(*((base + 28) as *const i32)),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
15 => super::super::super::ambient::bindings::component::OptionValue::TypeI64(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(*((base + 32) as *const i64)),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
16 => super::super::super::ambient::bindings::component::OptionValue::TypeVec2(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Vec2{x:*((base + 28) as *const f32), y:*((base + 32) as *const f32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
17 => super::super::super::ambient::bindings::component::OptionValue::TypeVec3(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Vec3{x:*((base + 28) as *const f32), y:*((base + 32) as *const f32), z:*((base + 36) as *const f32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
18 => super::super::super::ambient::bindings::component::OptionValue::TypeVec4(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Vec4{x:*((base + 28) as *const f32), y:*((base + 32) as *const f32), z:*((base + 36) as *const f32), w:*((base + 40) as *const f32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
19 => super::super::super::ambient::bindings::component::OptionValue::TypeUvec2(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Uvec2{x:*((base + 28) as *const i32) as u32, y:*((base + 32) as *const i32) as u32, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
20 => super::super::super::ambient::bindings::component::OptionValue::TypeUvec3(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Uvec3{x:*((base + 28) as *const i32) as u32, y:*((base + 32) as *const i32) as u32, z:*((base + 36) as *const i32) as u32, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
21 => super::super::super::ambient::bindings::component::OptionValue::TypeUvec4(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Uvec4{x:*((base + 28) as *const i32) as u32, y:*((base + 32) as *const i32) as u32, z:*((base + 36) as *const i32) as u32, w:*((base + 40) as *const i32) as u32, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
22 => super::super::super::ambient::bindings::component::OptionValue::TypeIvec2(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Ivec2{x:*((base + 28) as *const i32), y:*((base + 32) as *const i32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
23 => super::super::super::ambient::bindings::component::OptionValue::TypeIvec3(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Ivec3{x:*((base + 28) as *const i32), y:*((base + 32) as *const i32), z:*((base + 36) as *const i32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
24 => super::super::super::ambient::bindings::component::OptionValue::TypeIvec4(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Ivec4{x:*((base + 28) as *const i32), y:*((base + 32) as *const i32), z:*((base + 36) as *const i32), w:*((base + 40) as *const i32), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
25 => super::super::super::ambient::bindings::component::OptionValue::TypeDuration(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::Duration{seconds:*((base + 32) as *const i64) as u64, nanoseconds:*((base + 40) as *const i32) as u32, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
26 => super::super::super::ambient::bindings::component::OptionValue::TypeProceduralMeshHandle(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_mesh::Handle{ulid:(*((base + 32) as *const i64) as u64, *((base + 40) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
27 => super::super::super::ambient::bindings::component::OptionValue::TypeProceduralTextureHandle(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_texture::Handle{ulid:(*((base + 32) as *const i64) as u64, *((base + 40) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
28 => super::super::super::ambient::bindings::component::OptionValue::TypeProceduralSamplerHandle(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_sampler::Handle{ulid:(*((base + 32) as *const i64) as u64, *((base + 40) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
#[cfg(debug_assertions)]29 => super::super::super::ambient::bindings::component::OptionValue::TypeProceduralMaterialHandle(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_material::Handle{ulid:(*((base + 32) as *const i64) as u64, *((base + 40) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
#[cfg(not(debug_assertions))]_ => super::super::super::ambient::bindings::component::OptionValue::TypeProceduralMaterialHandle(match i32::from(*((base + 24) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::client_material::Handle{ulid:(*((base + 32) as *const i64) as u64, *((base + 40) as *const i64) as u64), }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}),
#[cfg(debug_assertions)]_ => panic!("invalid enum discriminant"),
}}}),
#[cfg(debug_assertions)]_ => panic!("invalid enum discriminant"),
}}}));
}
wit_bindgen::rt::dealloc(base35, (len35 as usize) * 96, 8);
result35
}),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}
}
}
#[allow(clippy::all)]
pub fn in_area(position: Vec3,radius: f32,) -> wit_bindgen::rt::vec::Vec::<EntityId>{
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
#[repr(align(4))]
struct RetArea([u8; 8]);
let mut ret_area = ::core::mem::MaybeUninit::<RetArea>::uninit();
let super::super::super::ambient::bindings::types::Vec3{ x:x0, y:y0, z:z0, } = position;
let ptr1 = ret_area.as_mut_ptr() as i32;
#[link(wasm_import_module = "ambient:bindings/entity")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "in-area")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/entity_in-area")]
fn wit_import(
_: f32, _: f32, _: f32, _: f32, _: i32, );
}
wit_import(wit_bindgen::rt::as_f32(x0), wit_bindgen::rt::as_f32(y0), wit_bindgen::rt::as_f32(z0), wit_bindgen::rt::as_f32(radius), ptr1);
let len2 = *((ptr1 + 4) as *const i32) as usize;
Vec::from_raw_parts(*((ptr1 + 0) as *const i32) as *mut _, len2, len2)
}
}
#[allow(clippy::all)]
pub fn exists(entity: EntityId,) -> bool{
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
let super::super::super::ambient::bindings::types::EntityId{ id0:id00, id1:id10, } = entity;
#[link(wasm_import_module = "ambient:bindings/entity")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "exists")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/entity_exists")]
fn wit_import(
_: i64, _: i64, ) -> i32;
}
let ret = wit_import(wit_bindgen::rt::as_i64(id00), wit_bindgen::rt::as_i64(id10));
{
#[cfg(not(debug_assertions))]
{ ::core::mem::transmute::<u8, bool>(ret as u8) }
#[cfg(debug_assertions)]
{
match ret {
0 => false,
1 => true,
_ => panic!("invalid bool discriminant"),
}
}
}
}
}
#[allow(clippy::all)]
pub fn get_all(index: u32,) -> wit_bindgen::rt::vec::Vec::<EntityId>{
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
#[repr(align(4))]
struct RetArea([u8; 8]);
let mut ret_area = ::core::mem::MaybeUninit::<RetArea>::uninit();
let ptr0 = ret_area.as_mut_ptr() as i32;
#[link(wasm_import_module = "ambient:bindings/entity")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "get-all")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/entity_get-all")]
fn wit_import(
_: i32, _: i32, );
}
wit_import(wit_bindgen::rt::as_i32(index), ptr0);
let len1 = *((ptr0 + 4) as *const i32) as usize;
Vec::from_raw_parts(*((ptr0 + 0) as *const i32) as *mut _, len1, len1)
}
}
#[allow(clippy::all)]
pub fn resources() -> EntityId{
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
#[repr(align(8))]
struct RetArea([u8; 16]);
let mut ret_area = ::core::mem::MaybeUninit::<RetArea>::uninit();
let ptr0 = ret_area.as_mut_ptr() as i32;
#[link(wasm_import_module = "ambient:bindings/entity")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "resources")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/entity_resources")]
fn wit_import(
_: i32, );
}
wit_import(ptr0);
super::super::super::ambient::bindings::types::EntityId{id0:*((ptr0 + 0) as *const i64) as u64, id1:*((ptr0 + 8) as *const i64) as u64, }
}
}
#[allow(clippy::all)]
pub fn synchronized_resources() -> EntityId{
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
#[repr(align(8))]
struct RetArea([u8; 16]);
let mut ret_area = ::core::mem::MaybeUninit::<RetArea>::uninit();
let ptr0 = ret_area.as_mut_ptr() as i32;
#[link(wasm_import_module = "ambient:bindings/entity")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "synchronized-resources")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/entity_synchronized-resources")]
fn wit_import(
_: i32, );
}
wit_import(ptr0);
super::super::super::ambient::bindings::types::EntityId{id0:*((ptr0 + 0) as *const i64) as u64, id1:*((ptr0 + 8) as *const i64) as u64, }
}
}
#[allow(clippy::all)]
pub fn persisted_resources() -> EntityId{
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
#[repr(align(8))]
struct RetArea([u8; 16]);
let mut ret_area = ::core::mem::MaybeUninit::<RetArea>::uninit();
let ptr0 = ret_area.as_mut_ptr() as i32;
#[link(wasm_import_module = "ambient:bindings/entity")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "persisted-resources")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/entity_persisted-resources")]
fn wit_import(
_: i32, );
}
wit_import(ptr0);
super::super::super::ambient::bindings::types::EntityId{id0:*((ptr0 + 0) as *const i64) as u64, id1:*((ptr0 + 8) as *const i64) as u64, }
}
}
}
#[allow(clippy::all)]
pub mod message {
#[used]
#[doc(hidden)]
#[cfg(target_arch = "wasm32")]
static __FORCE_SECTION_REF: fn() = super::super::super::__link_section;
#[allow(clippy::all)]
pub fn subscribe(name: &str,){
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
let vec0 = name;
let ptr0 = vec0.as_ptr() as i32;
let len0 = vec0.len() as i32;
#[link(wasm_import_module = "ambient:bindings/message")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "subscribe")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/message_subscribe")]
fn wit_import(
_: i32, _: i32, );
}
wit_import(ptr0, len0);
}
}
}
#[allow(clippy::all)]
pub mod player {
#[used]
#[doc(hidden)]
#[cfg(target_arch = "wasm32")]
static __FORCE_SECTION_REF: fn() = super::super::super::__link_section;
pub type EntityId = super::super::super::ambient::bindings::types::EntityId;
#[allow(clippy::all)]
pub fn get_by_user_id(user_id: &str,) -> Option<EntityId>{
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
#[repr(align(8))]
struct RetArea([u8; 24]);
let mut ret_area = ::core::mem::MaybeUninit::<RetArea>::uninit();
let vec0 = user_id;
let ptr0 = vec0.as_ptr() as i32;
let len0 = vec0.len() as i32;
let ptr1 = ret_area.as_mut_ptr() as i32;
#[link(wasm_import_module = "ambient:bindings/player")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "get-by-user-id")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/player_get-by-user-id")]
fn wit_import(
_: i32, _: i32, _: i32, );
}
wit_import(ptr0, len0, ptr1);
match i32::from(*((ptr1 + 0) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::EntityId{id0:*((ptr1 + 8) as *const i64) as u64, id1:*((ptr1 + 16) as *const i64) as u64, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}
}
}
}
#[allow(clippy::all)]
pub mod ambient_package {
#[used]
#[doc(hidden)]
#[cfg(target_arch = "wasm32")]
static __FORCE_SECTION_REF: fn() = super::super::super::__link_section;
pub type EntityId = super::super::super::ambient::bindings::types::EntityId;
#[allow(clippy::all)]
pub fn get_entity_for_package_id(package_id: &str,) -> Option<EntityId>{
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
#[repr(align(8))]
struct RetArea([u8; 24]);
let mut ret_area = ::core::mem::MaybeUninit::<RetArea>::uninit();
let vec0 = package_id;
let ptr0 = vec0.as_ptr() as i32;
let len0 = vec0.len() as i32;
let ptr1 = ret_area.as_mut_ptr() as i32;
#[link(wasm_import_module = "ambient:bindings/ambient-package")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "get-entity-for-package-id")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/ambient-package_get-entity-for-package-id")]
fn wit_import(
_: i32, _: i32, _: i32, );
}
wit_import(ptr0, len0, ptr1);
match i32::from(*((ptr1 + 0) as *const u8)) {
0 => None,
1 => Some(super::super::super::ambient::bindings::types::EntityId{id0:*((ptr1 + 8) as *const i64) as u64, id1:*((ptr1 + 16) as *const i64) as u64, }),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}
}
}
}
#[allow(clippy::all)]
pub mod client_message {
#[used]
#[doc(hidden)]
#[cfg(target_arch = "wasm32")]
static __FORCE_SECTION_REF: fn() = super::super::super::__link_section;
pub type EntityId = super::super::super::ambient::bindings::types::EntityId;
#[derive(Clone, Copy)]
pub enum Target{
ServerUnreliable,
ServerReliable,
LocalBroadcast(bool),
Local(EntityId),
}
impl ::core::fmt::Debug for Target {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
match self {
Target::ServerUnreliable => {
f.debug_tuple("Target::ServerUnreliable").finish()
}
Target::ServerReliable => {
f.debug_tuple("Target::ServerReliable").finish()
}
Target::LocalBroadcast(e) => {
f.debug_tuple("Target::LocalBroadcast").field(e).finish()
}
Target::Local(e) => {
f.debug_tuple("Target::Local").field(e).finish()
}
}
}
}
#[allow(clippy::all)]
pub fn send(target_id: Target,name: &str,data: &[u8],){
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
let (result1_0,result1_1,result1_2,) = match target_id {
Target::ServerUnreliable=> {
(0i32, 0i64, 0i64)
}
Target::ServerReliable=> {
(1i32, 0i64, 0i64)
}
Target::LocalBroadcast(e) => (2i32, i64::from(match e { true => 1, false => 0 }), 0i64),
Target::Local(e) => {
let super::super::super::ambient::bindings::types::EntityId{ id0:id00, id1:id10, } = e;
(3i32, wit_bindgen::rt::as_i64(id00), wit_bindgen::rt::as_i64(id10))
},
};
let vec2 = name;
let ptr2 = vec2.as_ptr() as i32;
let len2 = vec2.len() as i32;
let vec3 = data;
let ptr3 = vec3.as_ptr() as i32;
let len3 = vec3.len() as i32;
#[link(wasm_import_module = "ambient:bindings/client-message")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "send")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/client-message_send")]
fn wit_import(
_: i32, _: i64, _: i64, _: i32, _: i32, _: i32, _: i32, );
}
wit_import(result1_0, result1_1, result1_2, ptr2, len2, ptr3, len3);
}
}
}
#[allow(clippy::all)]
pub mod client_player {
#[used]
#[doc(hidden)]
#[cfg(target_arch = "wasm32")]
static __FORCE_SECTION_REF: fn() = super::super::super::__link_section;
pub type EntityId = super::super::super::ambient::bindings::types::EntityId;
#[allow(clippy::all)]
pub fn get_local() -> EntityId{
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
#[repr(align(8))]
struct RetArea([u8; 16]);
let mut ret_area = ::core::mem::MaybeUninit::<RetArea>::uninit();
let ptr0 = ret_area.as_mut_ptr() as i32;
#[link(wasm_import_module = "ambient:bindings/client-player")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "get-local")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/client-player_get-local")]
fn wit_import(
_: i32, );
}
wit_import(ptr0);
super::super::super::ambient::bindings::types::EntityId{id0:*((ptr0 + 0) as *const i64) as u64, id1:*((ptr0 + 8) as *const i64) as u64, }
}
}
}
#[allow(clippy::all)]
pub mod client_input {
#[used]
#[doc(hidden)]
#[cfg(target_arch = "wasm32")]
static __FORCE_SECTION_REF: fn() = super::super::super::__link_section;
pub type Vec2 = super::super::super::ambient::bindings::types::Vec2;
#[repr(u8)]
#[derive(Clone, Copy, PartialEq, Eq)]
pub enum VirtualKeyCode {
Key1,
Key2,
Key3,
Key4,
Key5,
Key6,
Key7,
Key8,
Key9,
Key0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z,
Escape,
F1,
F2,
F3,
F4,
F5,
F6,
F7,
F8,
F9,
F10,
F11,
F12,
F13,
F14,
F15,
F16,
F17,
F18,
F19,
F20,
F21,
F22,
F23,
F24,
Snapshot,
Scroll,
Pause,
Insert,
Home,
Delete,
End,
PageDown,
PageUp,
Left,
Up,
Right,
Down,
Back,
Return,
Space,
Compose,
Caret,
Numlock,
Numpad0,
Numpad1,
Numpad2,
Numpad3,
Numpad4,
Numpad5,
Numpad6,
Numpad7,
Numpad8,
Numpad9,
NumpadAdd,
NumpadDivide,
NumpadDecimal,
NumpadComma,
NumpadEnter,
NumpadEquals,
NumpadMultiply,
NumpadSubtract,
AbntC1,
AbntC2,
Apostrophe,
Apps,
Asterisk,
At,
Ax,
Backslash,
Calculator,
Capital,
Colon,
Comma,
Convert,
Equals,
Grave,
Kana,
Kanji,
LAlt,
LBracket,
LControl,
LShift,
LWin,
Mail,
MediaSelect,
MediaStop,
Minus,
Mute,
MyComputer,
NavigateForward,
NavigateBackward,
NextTrack,
NoConvert,
Oem102,
Period,
PlayPause,
Plus,
Power,
PrevTrack,
RAlt,
RBracket,
RControl,
RShift,
RWin,
Semicolon,
Slash,
Sleep,
Stop,
Sysrq,
Tab,
Underline,
Unlabeled,
VolumeDown,
VolumeUp,
Wake,
WebBack,
WebFavorites,
WebForward,
WebHome,
WebRefresh,
WebSearch,
WebStop,
Yen,
Copy,
Paste,
Cut,
}
impl ::core::fmt::Debug for VirtualKeyCode {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
match self {
VirtualKeyCode::Key1 => {
f.debug_tuple("VirtualKeyCode::Key1").finish()
}
VirtualKeyCode::Key2 => {
f.debug_tuple("VirtualKeyCode::Key2").finish()
}
VirtualKeyCode::Key3 => {
f.debug_tuple("VirtualKeyCode::Key3").finish()
}
VirtualKeyCode::Key4 => {
f.debug_tuple("VirtualKeyCode::Key4").finish()
}
VirtualKeyCode::Key5 => {
f.debug_tuple("VirtualKeyCode::Key5").finish()
}
VirtualKeyCode::Key6 => {
f.debug_tuple("VirtualKeyCode::Key6").finish()
}
VirtualKeyCode::Key7 => {
f.debug_tuple("VirtualKeyCode::Key7").finish()
}
VirtualKeyCode::Key8 => {
f.debug_tuple("VirtualKeyCode::Key8").finish()
}
VirtualKeyCode::Key9 => {
f.debug_tuple("VirtualKeyCode::Key9").finish()
}
VirtualKeyCode::Key0 => {
f.debug_tuple("VirtualKeyCode::Key0").finish()
}
VirtualKeyCode::A => {
f.debug_tuple("VirtualKeyCode::A").finish()
}
VirtualKeyCode::B => {
f.debug_tuple("VirtualKeyCode::B").finish()
}
VirtualKeyCode::C => {
f.debug_tuple("VirtualKeyCode::C").finish()
}
VirtualKeyCode::D => {
f.debug_tuple("VirtualKeyCode::D").finish()
}
VirtualKeyCode::E => {
f.debug_tuple("VirtualKeyCode::E").finish()
}
VirtualKeyCode::F => {
f.debug_tuple("VirtualKeyCode::F").finish()
}
VirtualKeyCode::G => {
f.debug_tuple("VirtualKeyCode::G").finish()
}
VirtualKeyCode::H => {
f.debug_tuple("VirtualKeyCode::H").finish()
}
VirtualKeyCode::I => {
f.debug_tuple("VirtualKeyCode::I").finish()
}
VirtualKeyCode::J => {
f.debug_tuple("VirtualKeyCode::J").finish()
}
VirtualKeyCode::K => {
f.debug_tuple("VirtualKeyCode::K").finish()
}
VirtualKeyCode::L => {
f.debug_tuple("VirtualKeyCode::L").finish()
}
VirtualKeyCode::M => {
f.debug_tuple("VirtualKeyCode::M").finish()
}
VirtualKeyCode::N => {
f.debug_tuple("VirtualKeyCode::N").finish()
}
VirtualKeyCode::O => {
f.debug_tuple("VirtualKeyCode::O").finish()
}
VirtualKeyCode::P => {
f.debug_tuple("VirtualKeyCode::P").finish()
}
VirtualKeyCode::Q => {
f.debug_tuple("VirtualKeyCode::Q").finish()
}
VirtualKeyCode::R => {
f.debug_tuple("VirtualKeyCode::R").finish()
}
VirtualKeyCode::S => {
f.debug_tuple("VirtualKeyCode::S").finish()
}
VirtualKeyCode::T => {
f.debug_tuple("VirtualKeyCode::T").finish()
}
VirtualKeyCode::U => {
f.debug_tuple("VirtualKeyCode::U").finish()
}
VirtualKeyCode::V => {
f.debug_tuple("VirtualKeyCode::V").finish()
}
VirtualKeyCode::W => {
f.debug_tuple("VirtualKeyCode::W").finish()
}
VirtualKeyCode::X => {
f.debug_tuple("VirtualKeyCode::X").finish()
}
VirtualKeyCode::Y => {
f.debug_tuple("VirtualKeyCode::Y").finish()
}
VirtualKeyCode::Z => {
f.debug_tuple("VirtualKeyCode::Z").finish()
}
VirtualKeyCode::Escape => {
f.debug_tuple("VirtualKeyCode::Escape").finish()
}
VirtualKeyCode::F1 => {
f.debug_tuple("VirtualKeyCode::F1").finish()
}
VirtualKeyCode::F2 => {
f.debug_tuple("VirtualKeyCode::F2").finish()
}
VirtualKeyCode::F3 => {
f.debug_tuple("VirtualKeyCode::F3").finish()
}
VirtualKeyCode::F4 => {
f.debug_tuple("VirtualKeyCode::F4").finish()
}
VirtualKeyCode::F5 => {
f.debug_tuple("VirtualKeyCode::F5").finish()
}
VirtualKeyCode::F6 => {
f.debug_tuple("VirtualKeyCode::F6").finish()
}
VirtualKeyCode::F7 => {
f.debug_tuple("VirtualKeyCode::F7").finish()
}
VirtualKeyCode::F8 => {
f.debug_tuple("VirtualKeyCode::F8").finish()
}
VirtualKeyCode::F9 => {
f.debug_tuple("VirtualKeyCode::F9").finish()
}
VirtualKeyCode::F10 => {
f.debug_tuple("VirtualKeyCode::F10").finish()
}
VirtualKeyCode::F11 => {
f.debug_tuple("VirtualKeyCode::F11").finish()
}
VirtualKeyCode::F12 => {
f.debug_tuple("VirtualKeyCode::F12").finish()
}
VirtualKeyCode::F13 => {
f.debug_tuple("VirtualKeyCode::F13").finish()
}
VirtualKeyCode::F14 => {
f.debug_tuple("VirtualKeyCode::F14").finish()
}
VirtualKeyCode::F15 => {
f.debug_tuple("VirtualKeyCode::F15").finish()
}
VirtualKeyCode::F16 => {
f.debug_tuple("VirtualKeyCode::F16").finish()
}
VirtualKeyCode::F17 => {
f.debug_tuple("VirtualKeyCode::F17").finish()
}
VirtualKeyCode::F18 => {
f.debug_tuple("VirtualKeyCode::F18").finish()
}
VirtualKeyCode::F19 => {
f.debug_tuple("VirtualKeyCode::F19").finish()
}
VirtualKeyCode::F20 => {
f.debug_tuple("VirtualKeyCode::F20").finish()
}
VirtualKeyCode::F21 => {
f.debug_tuple("VirtualKeyCode::F21").finish()
}
VirtualKeyCode::F22 => {
f.debug_tuple("VirtualKeyCode::F22").finish()
}
VirtualKeyCode::F23 => {
f.debug_tuple("VirtualKeyCode::F23").finish()
}
VirtualKeyCode::F24 => {
f.debug_tuple("VirtualKeyCode::F24").finish()
}
VirtualKeyCode::Snapshot => {
f.debug_tuple("VirtualKeyCode::Snapshot").finish()
}
VirtualKeyCode::Scroll => {
f.debug_tuple("VirtualKeyCode::Scroll").finish()
}
VirtualKeyCode::Pause => {
f.debug_tuple("VirtualKeyCode::Pause").finish()
}
VirtualKeyCode::Insert => {
f.debug_tuple("VirtualKeyCode::Insert").finish()
}
VirtualKeyCode::Home => {
f.debug_tuple("VirtualKeyCode::Home").finish()
}
VirtualKeyCode::Delete => {
f.debug_tuple("VirtualKeyCode::Delete").finish()
}
VirtualKeyCode::End => {
f.debug_tuple("VirtualKeyCode::End").finish()
}
VirtualKeyCode::PageDown => {
f.debug_tuple("VirtualKeyCode::PageDown").finish()
}
VirtualKeyCode::PageUp => {
f.debug_tuple("VirtualKeyCode::PageUp").finish()
}
VirtualKeyCode::Left => {
f.debug_tuple("VirtualKeyCode::Left").finish()
}
VirtualKeyCode::Up => {
f.debug_tuple("VirtualKeyCode::Up").finish()
}
VirtualKeyCode::Right => {
f.debug_tuple("VirtualKeyCode::Right").finish()
}
VirtualKeyCode::Down => {
f.debug_tuple("VirtualKeyCode::Down").finish()
}
VirtualKeyCode::Back => {
f.debug_tuple("VirtualKeyCode::Back").finish()
}
VirtualKeyCode::Return => {
f.debug_tuple("VirtualKeyCode::Return").finish()
}
VirtualKeyCode::Space => {
f.debug_tuple("VirtualKeyCode::Space").finish()
}
VirtualKeyCode::Compose => {
f.debug_tuple("VirtualKeyCode::Compose").finish()
}
VirtualKeyCode::Caret => {
f.debug_tuple("VirtualKeyCode::Caret").finish()
}
VirtualKeyCode::Numlock => {
f.debug_tuple("VirtualKeyCode::Numlock").finish()
}
VirtualKeyCode::Numpad0 => {
f.debug_tuple("VirtualKeyCode::Numpad0").finish()
}
VirtualKeyCode::Numpad1 => {
f.debug_tuple("VirtualKeyCode::Numpad1").finish()
}
VirtualKeyCode::Numpad2 => {
f.debug_tuple("VirtualKeyCode::Numpad2").finish()
}
VirtualKeyCode::Numpad3 => {
f.debug_tuple("VirtualKeyCode::Numpad3").finish()
}
VirtualKeyCode::Numpad4 => {
f.debug_tuple("VirtualKeyCode::Numpad4").finish()
}
VirtualKeyCode::Numpad5 => {
f.debug_tuple("VirtualKeyCode::Numpad5").finish()
}
VirtualKeyCode::Numpad6 => {
f.debug_tuple("VirtualKeyCode::Numpad6").finish()
}
VirtualKeyCode::Numpad7 => {
f.debug_tuple("VirtualKeyCode::Numpad7").finish()
}
VirtualKeyCode::Numpad8 => {
f.debug_tuple("VirtualKeyCode::Numpad8").finish()
}
VirtualKeyCode::Numpad9 => {
f.debug_tuple("VirtualKeyCode::Numpad9").finish()
}
VirtualKeyCode::NumpadAdd => {
f.debug_tuple("VirtualKeyCode::NumpadAdd").finish()
}
VirtualKeyCode::NumpadDivide => {
f.debug_tuple("VirtualKeyCode::NumpadDivide").finish()
}
VirtualKeyCode::NumpadDecimal => {
f.debug_tuple("VirtualKeyCode::NumpadDecimal").finish()
}
VirtualKeyCode::NumpadComma => {
f.debug_tuple("VirtualKeyCode::NumpadComma").finish()
}
VirtualKeyCode::NumpadEnter => {
f.debug_tuple("VirtualKeyCode::NumpadEnter").finish()
}
VirtualKeyCode::NumpadEquals => {
f.debug_tuple("VirtualKeyCode::NumpadEquals").finish()
}
VirtualKeyCode::NumpadMultiply => {
f.debug_tuple("VirtualKeyCode::NumpadMultiply").finish()
}
VirtualKeyCode::NumpadSubtract => {
f.debug_tuple("VirtualKeyCode::NumpadSubtract").finish()
}
VirtualKeyCode::AbntC1 => {
f.debug_tuple("VirtualKeyCode::AbntC1").finish()
}
VirtualKeyCode::AbntC2 => {
f.debug_tuple("VirtualKeyCode::AbntC2").finish()
}
VirtualKeyCode::Apostrophe => {
f.debug_tuple("VirtualKeyCode::Apostrophe").finish()
}
VirtualKeyCode::Apps => {
f.debug_tuple("VirtualKeyCode::Apps").finish()
}
VirtualKeyCode::Asterisk => {
f.debug_tuple("VirtualKeyCode::Asterisk").finish()
}
VirtualKeyCode::At => {
f.debug_tuple("VirtualKeyCode::At").finish()
}
VirtualKeyCode::Ax => {
f.debug_tuple("VirtualKeyCode::Ax").finish()
}
VirtualKeyCode::Backslash => {
f.debug_tuple("VirtualKeyCode::Backslash").finish()
}
VirtualKeyCode::Calculator => {
f.debug_tuple("VirtualKeyCode::Calculator").finish()
}
VirtualKeyCode::Capital => {
f.debug_tuple("VirtualKeyCode::Capital").finish()
}
VirtualKeyCode::Colon => {
f.debug_tuple("VirtualKeyCode::Colon").finish()
}
VirtualKeyCode::Comma => {
f.debug_tuple("VirtualKeyCode::Comma").finish()
}
VirtualKeyCode::Convert => {
f.debug_tuple("VirtualKeyCode::Convert").finish()
}
VirtualKeyCode::Equals => {
f.debug_tuple("VirtualKeyCode::Equals").finish()
}
VirtualKeyCode::Grave => {
f.debug_tuple("VirtualKeyCode::Grave").finish()
}
VirtualKeyCode::Kana => {
f.debug_tuple("VirtualKeyCode::Kana").finish()
}
VirtualKeyCode::Kanji => {
f.debug_tuple("VirtualKeyCode::Kanji").finish()
}
VirtualKeyCode::LAlt => {
f.debug_tuple("VirtualKeyCode::LAlt").finish()
}
VirtualKeyCode::LBracket => {
f.debug_tuple("VirtualKeyCode::LBracket").finish()
}
VirtualKeyCode::LControl => {
f.debug_tuple("VirtualKeyCode::LControl").finish()
}
VirtualKeyCode::LShift => {
f.debug_tuple("VirtualKeyCode::LShift").finish()
}
VirtualKeyCode::LWin => {
f.debug_tuple("VirtualKeyCode::LWin").finish()
}
VirtualKeyCode::Mail => {
f.debug_tuple("VirtualKeyCode::Mail").finish()
}
VirtualKeyCode::MediaSelect => {
f.debug_tuple("VirtualKeyCode::MediaSelect").finish()
}
VirtualKeyCode::MediaStop => {
f.debug_tuple("VirtualKeyCode::MediaStop").finish()
}
VirtualKeyCode::Minus => {
f.debug_tuple("VirtualKeyCode::Minus").finish()
}
VirtualKeyCode::Mute => {
f.debug_tuple("VirtualKeyCode::Mute").finish()
}
VirtualKeyCode::MyComputer => {
f.debug_tuple("VirtualKeyCode::MyComputer").finish()
}
VirtualKeyCode::NavigateForward => {
f.debug_tuple("VirtualKeyCode::NavigateForward").finish()
}
VirtualKeyCode::NavigateBackward => {
f.debug_tuple("VirtualKeyCode::NavigateBackward").finish()
}
VirtualKeyCode::NextTrack => {
f.debug_tuple("VirtualKeyCode::NextTrack").finish()
}
VirtualKeyCode::NoConvert => {
f.debug_tuple("VirtualKeyCode::NoConvert").finish()
}
VirtualKeyCode::Oem102 => {
f.debug_tuple("VirtualKeyCode::Oem102").finish()
}
VirtualKeyCode::Period => {
f.debug_tuple("VirtualKeyCode::Period").finish()
}
VirtualKeyCode::PlayPause => {
f.debug_tuple("VirtualKeyCode::PlayPause").finish()
}
VirtualKeyCode::Plus => {
f.debug_tuple("VirtualKeyCode::Plus").finish()
}
VirtualKeyCode::Power => {
f.debug_tuple("VirtualKeyCode::Power").finish()
}
VirtualKeyCode::PrevTrack => {
f.debug_tuple("VirtualKeyCode::PrevTrack").finish()
}
VirtualKeyCode::RAlt => {
f.debug_tuple("VirtualKeyCode::RAlt").finish()
}
VirtualKeyCode::RBracket => {
f.debug_tuple("VirtualKeyCode::RBracket").finish()
}
VirtualKeyCode::RControl => {
f.debug_tuple("VirtualKeyCode::RControl").finish()
}
VirtualKeyCode::RShift => {
f.debug_tuple("VirtualKeyCode::RShift").finish()
}
VirtualKeyCode::RWin => {
f.debug_tuple("VirtualKeyCode::RWin").finish()
}
VirtualKeyCode::Semicolon => {
f.debug_tuple("VirtualKeyCode::Semicolon").finish()
}
VirtualKeyCode::Slash => {
f.debug_tuple("VirtualKeyCode::Slash").finish()
}
VirtualKeyCode::Sleep => {
f.debug_tuple("VirtualKeyCode::Sleep").finish()
}
VirtualKeyCode::Stop => {
f.debug_tuple("VirtualKeyCode::Stop").finish()
}
VirtualKeyCode::Sysrq => {
f.debug_tuple("VirtualKeyCode::Sysrq").finish()
}
VirtualKeyCode::Tab => {
f.debug_tuple("VirtualKeyCode::Tab").finish()
}
VirtualKeyCode::Underline => {
f.debug_tuple("VirtualKeyCode::Underline").finish()
}
VirtualKeyCode::Unlabeled => {
f.debug_tuple("VirtualKeyCode::Unlabeled").finish()
}
VirtualKeyCode::VolumeDown => {
f.debug_tuple("VirtualKeyCode::VolumeDown").finish()
}
VirtualKeyCode::VolumeUp => {
f.debug_tuple("VirtualKeyCode::VolumeUp").finish()
}
VirtualKeyCode::Wake => {
f.debug_tuple("VirtualKeyCode::Wake").finish()
}
VirtualKeyCode::WebBack => {
f.debug_tuple("VirtualKeyCode::WebBack").finish()
}
VirtualKeyCode::WebFavorites => {
f.debug_tuple("VirtualKeyCode::WebFavorites").finish()
}
VirtualKeyCode::WebForward => {
f.debug_tuple("VirtualKeyCode::WebForward").finish()
}
VirtualKeyCode::WebHome => {
f.debug_tuple("VirtualKeyCode::WebHome").finish()
}
VirtualKeyCode::WebRefresh => {
f.debug_tuple("VirtualKeyCode::WebRefresh").finish()
}
VirtualKeyCode::WebSearch => {
f.debug_tuple("VirtualKeyCode::WebSearch").finish()
}
VirtualKeyCode::WebStop => {
f.debug_tuple("VirtualKeyCode::WebStop").finish()
}
VirtualKeyCode::Yen => {
f.debug_tuple("VirtualKeyCode::Yen").finish()
}
VirtualKeyCode::Copy => {
f.debug_tuple("VirtualKeyCode::Copy").finish()
}
VirtualKeyCode::Paste => {
f.debug_tuple("VirtualKeyCode::Paste").finish()
}
VirtualKeyCode::Cut => {
f.debug_tuple("VirtualKeyCode::Cut").finish()
}
}
}
}
#[derive(Clone, Copy)]
pub enum MouseButton{
Left,
Right,
Middle,
Other(u16),
}
impl ::core::fmt::Debug for MouseButton {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
match self {
MouseButton::Left => {
f.debug_tuple("MouseButton::Left").finish()
}
MouseButton::Right => {
f.debug_tuple("MouseButton::Right").finish()
}
MouseButton::Middle => {
f.debug_tuple("MouseButton::Middle").finish()
}
MouseButton::Other(e) => {
f.debug_tuple("MouseButton::Other").field(e).finish()
}
}
}
}
#[derive(Clone)]
pub struct Input {
pub keys: wit_bindgen::rt::vec::Vec::<VirtualKeyCode>,
pub mouse_position: Vec2,
pub mouse_delta: Vec2,
pub mouse_wheel: f32,
pub mouse_buttons: wit_bindgen::rt::vec::Vec::<MouseButton>,
}
impl ::core::fmt::Debug for Input {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("Input").field("keys", &self.keys).field("mouse-position", &self.mouse_position).field("mouse-delta", &self.mouse_delta).field("mouse-wheel", &self.mouse_wheel).field("mouse-buttons", &self.mouse_buttons).finish()
}
}
#[derive(Clone, Copy)]
pub enum CursorIcon{
DefaultIcon,
Crosshair,
Hand,
Arrow,
Move,
Text,
Wait,
Help,
Progress,
NotAllowed,
ContextMenu,
Cell,
VerticalText,
Alias,
Copy,
NoDrop,
Grab,
Grabbing,
AllScroll,
ZoomIn,
ZoomOut,
EResize,
NResize,
NeResize,
NwResize,
SResize,
SeResize,
SwResize,
WResize,
EwResize,
NsResize,
NeswResize,
NwseResize,
ColResize,
RowResize,
}
impl ::core::fmt::Debug for CursorIcon {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
match self {
CursorIcon::DefaultIcon => {
f.debug_tuple("CursorIcon::DefaultIcon").finish()
}
CursorIcon::Crosshair => {
f.debug_tuple("CursorIcon::Crosshair").finish()
}
CursorIcon::Hand => {
f.debug_tuple("CursorIcon::Hand").finish()
}
CursorIcon::Arrow => {
f.debug_tuple("CursorIcon::Arrow").finish()
}
CursorIcon::Move => {
f.debug_tuple("CursorIcon::Move").finish()
}
CursorIcon::Text => {
f.debug_tuple("CursorIcon::Text").finish()
}
CursorIcon::Wait => {
f.debug_tuple("CursorIcon::Wait").finish()
}
CursorIcon::Help => {
f.debug_tuple("CursorIcon::Help").finish()
}
CursorIcon::Progress => {
f.debug_tuple("CursorIcon::Progress").finish()
}
CursorIcon::NotAllowed => {
f.debug_tuple("CursorIcon::NotAllowed").finish()
}
CursorIcon::ContextMenu => {
f.debug_tuple("CursorIcon::ContextMenu").finish()
}
CursorIcon::Cell => {
f.debug_tuple("CursorIcon::Cell").finish()
}
CursorIcon::VerticalText => {
f.debug_tuple("CursorIcon::VerticalText").finish()
}
CursorIcon::Alias => {
f.debug_tuple("CursorIcon::Alias").finish()
}
CursorIcon::Copy => {
f.debug_tuple("CursorIcon::Copy").finish()
}
CursorIcon::NoDrop => {
f.debug_tuple("CursorIcon::NoDrop").finish()
}
CursorIcon::Grab => {
f.debug_tuple("CursorIcon::Grab").finish()
}
CursorIcon::Grabbing => {
f.debug_tuple("CursorIcon::Grabbing").finish()
}
CursorIcon::AllScroll => {
f.debug_tuple("CursorIcon::AllScroll").finish()
}
CursorIcon::ZoomIn => {
f.debug_tuple("CursorIcon::ZoomIn").finish()
}
CursorIcon::ZoomOut => {
f.debug_tuple("CursorIcon::ZoomOut").finish()
}
CursorIcon::EResize => {
f.debug_tuple("CursorIcon::EResize").finish()
}
CursorIcon::NResize => {
f.debug_tuple("CursorIcon::NResize").finish()
}
CursorIcon::NeResize => {
f.debug_tuple("CursorIcon::NeResize").finish()
}
CursorIcon::NwResize => {
f.debug_tuple("CursorIcon::NwResize").finish()
}
CursorIcon::SResize => {
f.debug_tuple("CursorIcon::SResize").finish()
}
CursorIcon::SeResize => {
f.debug_tuple("CursorIcon::SeResize").finish()
}
CursorIcon::SwResize => {
f.debug_tuple("CursorIcon::SwResize").finish()
}
CursorIcon::WResize => {
f.debug_tuple("CursorIcon::WResize").finish()
}
CursorIcon::EwResize => {
f.debug_tuple("CursorIcon::EwResize").finish()
}
CursorIcon::NsResize => {
f.debug_tuple("CursorIcon::NsResize").finish()
}
CursorIcon::NeswResize => {
f.debug_tuple("CursorIcon::NeswResize").finish()
}
CursorIcon::NwseResize => {
f.debug_tuple("CursorIcon::NwseResize").finish()
}
CursorIcon::ColResize => {
f.debug_tuple("CursorIcon::ColResize").finish()
}
CursorIcon::RowResize => {
f.debug_tuple("CursorIcon::RowResize").finish()
}
}
}
}
#[allow(clippy::all)]
pub fn get() -> Input{
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
#[repr(align(4))]
struct RetArea([u8; 36]);
let mut ret_area = ::core::mem::MaybeUninit::<RetArea>::uninit();
let ptr0 = ret_area.as_mut_ptr() as i32;
#[link(wasm_import_module = "ambient:bindings/client-input")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "get")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/client-input_get")]
fn wit_import(
_: i32, );
}
wit_import(ptr0);
let base1 = *((ptr0 + 0) as *const i32);
let len1 = *((ptr0 + 4) as *const i32);
let mut result1 = Vec::with_capacity(len1 as usize);
for i in 0..len1 {
let base = base1 + i *1;
result1.push({#[cfg(debug_assertions)]{match i32::from(*((base + 0) as *const u8)) {
0 => VirtualKeyCode::Key1,
1 => VirtualKeyCode::Key2,
2 => VirtualKeyCode::Key3,
3 => VirtualKeyCode::Key4,
4 => VirtualKeyCode::Key5,
5 => VirtualKeyCode::Key6,
6 => VirtualKeyCode::Key7,
7 => VirtualKeyCode::Key8,
8 => VirtualKeyCode::Key9,
9 => VirtualKeyCode::Key0,
10 => VirtualKeyCode::A,
11 => VirtualKeyCode::B,
12 => VirtualKeyCode::C,
13 => VirtualKeyCode::D,
14 => VirtualKeyCode::E,
15 => VirtualKeyCode::F,
16 => VirtualKeyCode::G,
17 => VirtualKeyCode::H,
18 => VirtualKeyCode::I,
19 => VirtualKeyCode::J,
20 => VirtualKeyCode::K,
21 => VirtualKeyCode::L,
22 => VirtualKeyCode::M,
23 => VirtualKeyCode::N,
24 => VirtualKeyCode::O,
25 => VirtualKeyCode::P,
26 => VirtualKeyCode::Q,
27 => VirtualKeyCode::R,
28 => VirtualKeyCode::S,
29 => VirtualKeyCode::T,
30 => VirtualKeyCode::U,
31 => VirtualKeyCode::V,
32 => VirtualKeyCode::W,
33 => VirtualKeyCode::X,
34 => VirtualKeyCode::Y,
35 => VirtualKeyCode::Z,
36 => VirtualKeyCode::Escape,
37 => VirtualKeyCode::F1,
38 => VirtualKeyCode::F2,
39 => VirtualKeyCode::F3,
40 => VirtualKeyCode::F4,
41 => VirtualKeyCode::F5,
42 => VirtualKeyCode::F6,
43 => VirtualKeyCode::F7,
44 => VirtualKeyCode::F8,
45 => VirtualKeyCode::F9,
46 => VirtualKeyCode::F10,
47 => VirtualKeyCode::F11,
48 => VirtualKeyCode::F12,
49 => VirtualKeyCode::F13,
50 => VirtualKeyCode::F14,
51 => VirtualKeyCode::F15,
52 => VirtualKeyCode::F16,
53 => VirtualKeyCode::F17,
54 => VirtualKeyCode::F18,
55 => VirtualKeyCode::F19,
56 => VirtualKeyCode::F20,
57 => VirtualKeyCode::F21,
58 => VirtualKeyCode::F22,
59 => VirtualKeyCode::F23,
60 => VirtualKeyCode::F24,
61 => VirtualKeyCode::Snapshot,
62 => VirtualKeyCode::Scroll,
63 => VirtualKeyCode::Pause,
64 => VirtualKeyCode::Insert,
65 => VirtualKeyCode::Home,
66 => VirtualKeyCode::Delete,
67 => VirtualKeyCode::End,
68 => VirtualKeyCode::PageDown,
69 => VirtualKeyCode::PageUp,
70 => VirtualKeyCode::Left,
71 => VirtualKeyCode::Up,
72 => VirtualKeyCode::Right,
73 => VirtualKeyCode::Down,
74 => VirtualKeyCode::Back,
75 => VirtualKeyCode::Return,
76 => VirtualKeyCode::Space,
77 => VirtualKeyCode::Compose,
78 => VirtualKeyCode::Caret,
79 => VirtualKeyCode::Numlock,
80 => VirtualKeyCode::Numpad0,
81 => VirtualKeyCode::Numpad1,
82 => VirtualKeyCode::Numpad2,
83 => VirtualKeyCode::Numpad3,
84 => VirtualKeyCode::Numpad4,
85 => VirtualKeyCode::Numpad5,
86 => VirtualKeyCode::Numpad6,
87 => VirtualKeyCode::Numpad7,
88 => VirtualKeyCode::Numpad8,
89 => VirtualKeyCode::Numpad9,
90 => VirtualKeyCode::NumpadAdd,
91 => VirtualKeyCode::NumpadDivide,
92 => VirtualKeyCode::NumpadDecimal,
93 => VirtualKeyCode::NumpadComma,
94 => VirtualKeyCode::NumpadEnter,
95 => VirtualKeyCode::NumpadEquals,
96 => VirtualKeyCode::NumpadMultiply,
97 => VirtualKeyCode::NumpadSubtract,
98 => VirtualKeyCode::AbntC1,
99 => VirtualKeyCode::AbntC2,
100 => VirtualKeyCode::Apostrophe,
101 => VirtualKeyCode::Apps,
102 => VirtualKeyCode::Asterisk,
103 => VirtualKeyCode::At,
104 => VirtualKeyCode::Ax,
105 => VirtualKeyCode::Backslash,
106 => VirtualKeyCode::Calculator,
107 => VirtualKeyCode::Capital,
108 => VirtualKeyCode::Colon,
109 => VirtualKeyCode::Comma,
110 => VirtualKeyCode::Convert,
111 => VirtualKeyCode::Equals,
112 => VirtualKeyCode::Grave,
113 => VirtualKeyCode::Kana,
114 => VirtualKeyCode::Kanji,
115 => VirtualKeyCode::LAlt,
116 => VirtualKeyCode::LBracket,
117 => VirtualKeyCode::LControl,
118 => VirtualKeyCode::LShift,
119 => VirtualKeyCode::LWin,
120 => VirtualKeyCode::Mail,
121 => VirtualKeyCode::MediaSelect,
122 => VirtualKeyCode::MediaStop,
123 => VirtualKeyCode::Minus,
124 => VirtualKeyCode::Mute,
125 => VirtualKeyCode::MyComputer,
126 => VirtualKeyCode::NavigateForward,
127 => VirtualKeyCode::NavigateBackward,
128 => VirtualKeyCode::NextTrack,
129 => VirtualKeyCode::NoConvert,
130 => VirtualKeyCode::Oem102,
131 => VirtualKeyCode::Period,
132 => VirtualKeyCode::PlayPause,
133 => VirtualKeyCode::Plus,
134 => VirtualKeyCode::Power,
135 => VirtualKeyCode::PrevTrack,
136 => VirtualKeyCode::RAlt,
137 => VirtualKeyCode::RBracket,
138 => VirtualKeyCode::RControl,
139 => VirtualKeyCode::RShift,
140 => VirtualKeyCode::RWin,
141 => VirtualKeyCode::Semicolon,
142 => VirtualKeyCode::Slash,
143 => VirtualKeyCode::Sleep,
144 => VirtualKeyCode::Stop,
145 => VirtualKeyCode::Sysrq,
146 => VirtualKeyCode::Tab,
147 => VirtualKeyCode::Underline,
148 => VirtualKeyCode::Unlabeled,
149 => VirtualKeyCode::VolumeDown,
150 => VirtualKeyCode::VolumeUp,
151 => VirtualKeyCode::Wake,
152 => VirtualKeyCode::WebBack,
153 => VirtualKeyCode::WebFavorites,
154 => VirtualKeyCode::WebForward,
155 => VirtualKeyCode::WebHome,
156 => VirtualKeyCode::WebRefresh,
157 => VirtualKeyCode::WebSearch,
158 => VirtualKeyCode::WebStop,
159 => VirtualKeyCode::Yen,
160 => VirtualKeyCode::Copy,
161 => VirtualKeyCode::Paste,
162 => VirtualKeyCode::Cut,
_ => panic!("invalid enum discriminant"),
}}#[cfg(not(debug_assertions))]{::core::mem::transmute::<_, VirtualKeyCode>(i32::from(*((base + 0) as *const u8)) as u8)}});
}
wit_bindgen::rt::dealloc(base1, (len1 as usize) * 1, 1);
let base2 = *((ptr0 + 28) as *const i32);
let len2 = *((ptr0 + 32) as *const i32);
let mut result2 = Vec::with_capacity(len2 as usize);
for i in 0..len2 {
let base = base2 + i *4;
result2.push({{match i32::from(*((base + 0) as *const u8)) {
0 => MouseButton::Left,
1 => MouseButton::Right,
2 => MouseButton::Middle,
#[cfg(debug_assertions)]3 => MouseButton::Other(i32::from(*((base + 2) as *const u16)) as u16),
#[cfg(not(debug_assertions))]_ => MouseButton::Other(i32::from(*((base + 2) as *const u16)) as u16),
#[cfg(debug_assertions)]_ => panic!("invalid enum discriminant"),
}}});
}
wit_bindgen::rt::dealloc(base2, (len2 as usize) * 4, 2);
Input{keys:result1, mouse_position:super::super::super::ambient::bindings::types::Vec2{x:*((ptr0 + 8) as *const f32), y:*((ptr0 + 12) as *const f32), }, mouse_delta:super::super::super::ambient::bindings::types::Vec2{x:*((ptr0 + 16) as *const f32), y:*((ptr0 + 20) as *const f32), }, mouse_wheel:*((ptr0 + 24) as *const f32), mouse_buttons:result2, }
}
}
#[allow(clippy::all)]
pub fn get_previous() -> Input{
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
#[repr(align(4))]
struct RetArea([u8; 36]);
let mut ret_area = ::core::mem::MaybeUninit::<RetArea>::uninit();
let ptr0 = ret_area.as_mut_ptr() as i32;
#[link(wasm_import_module = "ambient:bindings/client-input")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "get-previous")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/client-input_get-previous")]
fn wit_import(
_: i32, );
}
wit_import(ptr0);
let base1 = *((ptr0 + 0) as *const i32);
let len1 = *((ptr0 + 4) as *const i32);
let mut result1 = Vec::with_capacity(len1 as usize);
for i in 0..len1 {
let base = base1 + i *1;
result1.push({#[cfg(debug_assertions)]{match i32::from(*((base + 0) as *const u8)) {
0 => VirtualKeyCode::Key1,
1 => VirtualKeyCode::Key2,
2 => VirtualKeyCode::Key3,
3 => VirtualKeyCode::Key4,
4 => VirtualKeyCode::Key5,
5 => VirtualKeyCode::Key6,
6 => VirtualKeyCode::Key7,
7 => VirtualKeyCode::Key8,
8 => VirtualKeyCode::Key9,
9 => VirtualKeyCode::Key0,
10 => VirtualKeyCode::A,
11 => VirtualKeyCode::B,
12 => VirtualKeyCode::C,
13 => VirtualKeyCode::D,
14 => VirtualKeyCode::E,
15 => VirtualKeyCode::F,
16 => VirtualKeyCode::G,
17 => VirtualKeyCode::H,
18 => VirtualKeyCode::I,
19 => VirtualKeyCode::J,
20 => VirtualKeyCode::K,
21 => VirtualKeyCode::L,
22 => VirtualKeyCode::M,
23 => VirtualKeyCode::N,
24 => VirtualKeyCode::O,
25 => VirtualKeyCode::P,
26 => VirtualKeyCode::Q,
27 => VirtualKeyCode::R,
28 => VirtualKeyCode::S,
29 => VirtualKeyCode::T,
30 => VirtualKeyCode::U,
31 => VirtualKeyCode::V,
32 => VirtualKeyCode::W,
33 => VirtualKeyCode::X,
34 => VirtualKeyCode::Y,
35 => VirtualKeyCode::Z,
36 => VirtualKeyCode::Escape,
37 => VirtualKeyCode::F1,
38 => VirtualKeyCode::F2,
39 => VirtualKeyCode::F3,
40 => VirtualKeyCode::F4,
41 => VirtualKeyCode::F5,
42 => VirtualKeyCode::F6,
43 => VirtualKeyCode::F7,
44 => VirtualKeyCode::F8,
45 => VirtualKeyCode::F9,
46 => VirtualKeyCode::F10,
47 => VirtualKeyCode::F11,
48 => VirtualKeyCode::F12,
49 => VirtualKeyCode::F13,
50 => VirtualKeyCode::F14,
51 => VirtualKeyCode::F15,
52 => VirtualKeyCode::F16,
53 => VirtualKeyCode::F17,
54 => VirtualKeyCode::F18,
55 => VirtualKeyCode::F19,
56 => VirtualKeyCode::F20,
57 => VirtualKeyCode::F21,
58 => VirtualKeyCode::F22,
59 => VirtualKeyCode::F23,
60 => VirtualKeyCode::F24,
61 => VirtualKeyCode::Snapshot,
62 => VirtualKeyCode::Scroll,
63 => VirtualKeyCode::Pause,
64 => VirtualKeyCode::Insert,
65 => VirtualKeyCode::Home,
66 => VirtualKeyCode::Delete,
67 => VirtualKeyCode::End,
68 => VirtualKeyCode::PageDown,
69 => VirtualKeyCode::PageUp,
70 => VirtualKeyCode::Left,
71 => VirtualKeyCode::Up,
72 => VirtualKeyCode::Right,
73 => VirtualKeyCode::Down,
74 => VirtualKeyCode::Back,
75 => VirtualKeyCode::Return,
76 => VirtualKeyCode::Space,
77 => VirtualKeyCode::Compose,
78 => VirtualKeyCode::Caret,
79 => VirtualKeyCode::Numlock,
80 => VirtualKeyCode::Numpad0,
81 => VirtualKeyCode::Numpad1,
82 => VirtualKeyCode::Numpad2,
83 => VirtualKeyCode::Numpad3,
84 => VirtualKeyCode::Numpad4,
85 => VirtualKeyCode::Numpad5,
86 => VirtualKeyCode::Numpad6,
87 => VirtualKeyCode::Numpad7,
88 => VirtualKeyCode::Numpad8,
89 => VirtualKeyCode::Numpad9,
90 => VirtualKeyCode::NumpadAdd,
91 => VirtualKeyCode::NumpadDivide,
92 => VirtualKeyCode::NumpadDecimal,
93 => VirtualKeyCode::NumpadComma,
94 => VirtualKeyCode::NumpadEnter,
95 => VirtualKeyCode::NumpadEquals,
96 => VirtualKeyCode::NumpadMultiply,
97 => VirtualKeyCode::NumpadSubtract,
98 => VirtualKeyCode::AbntC1,
99 => VirtualKeyCode::AbntC2,
100 => VirtualKeyCode::Apostrophe,
101 => VirtualKeyCode::Apps,
102 => VirtualKeyCode::Asterisk,
103 => VirtualKeyCode::At,
104 => VirtualKeyCode::Ax,
105 => VirtualKeyCode::Backslash,
106 => VirtualKeyCode::Calculator,
107 => VirtualKeyCode::Capital,
108 => VirtualKeyCode::Colon,
109 => VirtualKeyCode::Comma,
110 => VirtualKeyCode::Convert,
111 => VirtualKeyCode::Equals,
112 => VirtualKeyCode::Grave,
113 => VirtualKeyCode::Kana,
114 => VirtualKeyCode::Kanji,
115 => VirtualKeyCode::LAlt,
116 => VirtualKeyCode::LBracket,
117 => VirtualKeyCode::LControl,
118 => VirtualKeyCode::LShift,
119 => VirtualKeyCode::LWin,
120 => VirtualKeyCode::Mail,
121 => VirtualKeyCode::MediaSelect,
122 => VirtualKeyCode::MediaStop,
123 => VirtualKeyCode::Minus,
124 => VirtualKeyCode::Mute,
125 => VirtualKeyCode::MyComputer,
126 => VirtualKeyCode::NavigateForward,
127 => VirtualKeyCode::NavigateBackward,
128 => VirtualKeyCode::NextTrack,
129 => VirtualKeyCode::NoConvert,
130 => VirtualKeyCode::Oem102,
131 => VirtualKeyCode::Period,
132 => VirtualKeyCode::PlayPause,
133 => VirtualKeyCode::Plus,
134 => VirtualKeyCode::Power,
135 => VirtualKeyCode::PrevTrack,
136 => VirtualKeyCode::RAlt,
137 => VirtualKeyCode::RBracket,
138 => VirtualKeyCode::RControl,
139 => VirtualKeyCode::RShift,
140 => VirtualKeyCode::RWin,
141 => VirtualKeyCode::Semicolon,
142 => VirtualKeyCode::Slash,
143 => VirtualKeyCode::Sleep,
144 => VirtualKeyCode::Stop,
145 => VirtualKeyCode::Sysrq,
146 => VirtualKeyCode::Tab,
147 => VirtualKeyCode::Underline,
148 => VirtualKeyCode::Unlabeled,
149 => VirtualKeyCode::VolumeDown,
150 => VirtualKeyCode::VolumeUp,
151 => VirtualKeyCode::Wake,
152 => VirtualKeyCode::WebBack,
153 => VirtualKeyCode::WebFavorites,
154 => VirtualKeyCode::WebForward,
155 => VirtualKeyCode::WebHome,
156 => VirtualKeyCode::WebRefresh,
157 => VirtualKeyCode::WebSearch,
158 => VirtualKeyCode::WebStop,
159 => VirtualKeyCode::Yen,
160 => VirtualKeyCode::Copy,
161 => VirtualKeyCode::Paste,
162 => VirtualKeyCode::Cut,
_ => panic!("invalid enum discriminant"),
}}#[cfg(not(debug_assertions))]{::core::mem::transmute::<_, VirtualKeyCode>(i32::from(*((base + 0) as *const u8)) as u8)}});
}
wit_bindgen::rt::dealloc(base1, (len1 as usize) * 1, 1);
let base2 = *((ptr0 + 28) as *const i32);
let len2 = *((ptr0 + 32) as *const i32);
let mut result2 = Vec::with_capacity(len2 as usize);
for i in 0..len2 {
let base = base2 + i *4;
result2.push({{match i32::from(*((base + 0) as *const u8)) {
0 => MouseButton::Left,
1 => MouseButton::Right,
2 => MouseButton::Middle,
#[cfg(debug_assertions)]3 => MouseButton::Other(i32::from(*((base + 2) as *const u16)) as u16),
#[cfg(not(debug_assertions))]_ => MouseButton::Other(i32::from(*((base + 2) as *const u16)) as u16),
#[cfg(debug_assertions)]_ => panic!("invalid enum discriminant"),
}}});
}
wit_bindgen::rt::dealloc(base2, (len2 as usize) * 4, 2);
Input{keys:result1, mouse_position:super::super::super::ambient::bindings::types::Vec2{x:*((ptr0 + 8) as *const f32), y:*((ptr0 + 12) as *const f32), }, mouse_delta:super::super::super::ambient::bindings::types::Vec2{x:*((ptr0 + 16) as *const f32), y:*((ptr0 + 20) as *const f32), }, mouse_wheel:*((ptr0 + 24) as *const f32), mouse_buttons:result2, }
}
}
#[allow(clippy::all)]
pub fn set_cursor(icon: CursorIcon,){
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
let result0 = match icon {
CursorIcon::DefaultIcon=> {
0i32
}
CursorIcon::Crosshair=> {
1i32
}
CursorIcon::Hand=> {
2i32
}
CursorIcon::Arrow=> {
3i32
}
CursorIcon::Move=> {
4i32
}
CursorIcon::Text=> {
5i32
}
CursorIcon::Wait=> {
6i32
}
CursorIcon::Help=> {
7i32
}
CursorIcon::Progress=> {
8i32
}
CursorIcon::NotAllowed=> {
9i32
}
CursorIcon::ContextMenu=> {
10i32
}
CursorIcon::Cell=> {
11i32
}
CursorIcon::VerticalText=> {
12i32
}
CursorIcon::Alias=> {
13i32
}
CursorIcon::Copy=> {
14i32
}
CursorIcon::NoDrop=> {
15i32
}
CursorIcon::Grab=> {
16i32
}
CursorIcon::Grabbing=> {
17i32
}
CursorIcon::AllScroll=> {
18i32
}
CursorIcon::ZoomIn=> {
19i32
}
CursorIcon::ZoomOut=> {
20i32
}
CursorIcon::EResize=> {
21i32
}
CursorIcon::NResize=> {
22i32
}
CursorIcon::NeResize=> {
23i32
}
CursorIcon::NwResize=> {
24i32
}
CursorIcon::SResize=> {
25i32
}
CursorIcon::SeResize=> {
26i32
}
CursorIcon::SwResize=> {
27i32
}
CursorIcon::WResize=> {
28i32
}
CursorIcon::EwResize=> {
29i32
}
CursorIcon::NsResize=> {
30i32
}
CursorIcon::NeswResize=> {
31i32
}
CursorIcon::NwseResize=> {
32i32
}
CursorIcon::ColResize=> {
33i32
}
CursorIcon::RowResize=> {
34i32
}
};
#[link(wasm_import_module = "ambient:bindings/client-input")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "set-cursor")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/client-input_set-cursor")]
fn wit_import(
_: i32, );
}
wit_import(result0);
}
}
#[allow(clippy::all)]
pub fn set_cursor_visible(visible: bool,){
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
#[link(wasm_import_module = "ambient:bindings/client-input")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "set-cursor-visible")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/client-input_set-cursor-visible")]
fn wit_import(
_: i32, );
}
wit_import(match visible { true => 1, false => 0 });
}
}
#[allow(clippy::all)]
pub fn set_cursor_lock(locked: bool,){
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
#[link(wasm_import_module = "ambient:bindings/client-input")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "set-cursor-lock")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/client-input_set-cursor-lock")]
fn wit_import(
_: i32, );
}
wit_import(match locked { true => 1, false => 0 });
}
}
}
#[allow(clippy::all)]
pub mod client_camera {
#[used]
#[doc(hidden)]
#[cfg(target_arch = "wasm32")]
static __FORCE_SECTION_REF: fn() = super::super::super::__link_section;
pub type Vec3 = super::super::super::ambient::bindings::types::Vec3;
pub type Vec2 = super::super::super::ambient::bindings::types::Vec2;
pub type Ray = super::super::super::ambient::bindings::types::Ray;
pub type EntityId = super::super::super::ambient::bindings::types::EntityId;
#[allow(clippy::all)]
pub fn clip_position_to_world_ray(camera: EntityId,clip_space_pos: Vec2,) -> Ray{
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
#[repr(align(4))]
struct RetArea([u8; 24]);
let mut ret_area = ::core::mem::MaybeUninit::<RetArea>::uninit();
let super::super::super::ambient::bindings::types::EntityId{ id0:id00, id1:id10, } = camera;
let super::super::super::ambient::bindings::types::Vec2{ x:x1, y:y1, } = clip_space_pos;
let ptr2 = ret_area.as_mut_ptr() as i32;
#[link(wasm_import_module = "ambient:bindings/client-camera")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "clip-position-to-world-ray")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/client-camera_clip-position-to-world-ray")]
fn wit_import(
_: i64, _: i64, _: f32, _: f32, _: i32, );
}
wit_import(wit_bindgen::rt::as_i64(id00), wit_bindgen::rt::as_i64(id10), wit_bindgen::rt::as_f32(x1), wit_bindgen::rt::as_f32(y1), ptr2);
super::super::super::ambient::bindings::types::Ray{origin:super::super::super::ambient::bindings::types::Vec3{x:*((ptr2 + 0) as *const f32), y:*((ptr2 + 4) as *const f32), z:*((ptr2 + 8) as *const f32), }, dir:super::super::super::ambient::bindings::types::Vec3{x:*((ptr2 + 12) as *const f32), y:*((ptr2 + 16) as *const f32), z:*((ptr2 + 20) as *const f32), }, }
}
}
#[allow(clippy::all)]
pub fn screen_to_clip_space(screen_pos: Vec2,) -> Vec2{
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
#[repr(align(4))]
struct RetArea([u8; 8]);
let mut ret_area = ::core::mem::MaybeUninit::<RetArea>::uninit();
let super::super::super::ambient::bindings::types::Vec2{ x:x0, y:y0, } = screen_pos;
let ptr1 = ret_area.as_mut_ptr() as i32;
#[link(wasm_import_module = "ambient:bindings/client-camera")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "screen-to-clip-space")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/client-camera_screen-to-clip-space")]
fn wit_import(
_: f32, _: f32, _: i32, );
}
wit_import(wit_bindgen::rt::as_f32(x0), wit_bindgen::rt::as_f32(y0), ptr1);
super::super::super::ambient::bindings::types::Vec2{x:*((ptr1 + 0) as *const f32), y:*((ptr1 + 4) as *const f32), }
}
}
#[allow(clippy::all)]
pub fn screen_position_to_world_ray(camera: EntityId,screen_pos: Vec2,) -> Ray{
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
#[repr(align(4))]
struct RetArea([u8; 24]);
let mut ret_area = ::core::mem::MaybeUninit::<RetArea>::uninit();
let super::super::super::ambient::bindings::types::EntityId{ id0:id00, id1:id10, } = camera;
let super::super::super::ambient::bindings::types::Vec2{ x:x1, y:y1, } = screen_pos;
let ptr2 = ret_area.as_mut_ptr() as i32;
#[link(wasm_import_module = "ambient:bindings/client-camera")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "screen-position-to-world-ray")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/client-camera_screen-position-to-world-ray")]
fn wit_import(
_: i64, _: i64, _: f32, _: f32, _: i32, );
}
wit_import(wit_bindgen::rt::as_i64(id00), wit_bindgen::rt::as_i64(id10), wit_bindgen::rt::as_f32(x1), wit_bindgen::rt::as_f32(y1), ptr2);
super::super::super::ambient::bindings::types::Ray{origin:super::super::super::ambient::bindings::types::Vec3{x:*((ptr2 + 0) as *const f32), y:*((ptr2 + 4) as *const f32), z:*((ptr2 + 8) as *const f32), }, dir:super::super::super::ambient::bindings::types::Vec3{x:*((ptr2 + 12) as *const f32), y:*((ptr2 + 16) as *const f32), z:*((ptr2 + 20) as *const f32), }, }
}
}
#[allow(clippy::all)]
pub fn world_to_screen(camera: EntityId,screen_pos: Vec3,) -> Vec3{
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
#[repr(align(4))]
struct RetArea([u8; 12]);
let mut ret_area = ::core::mem::MaybeUninit::<RetArea>::uninit();
let super::super::super::ambient::bindings::types::EntityId{ id0:id00, id1:id10, } = camera;
let super::super::super::ambient::bindings::types::Vec3{ x:x1, y:y1, z:z1, } = screen_pos;
let ptr2 = ret_area.as_mut_ptr() as i32;
#[link(wasm_import_module = "ambient:bindings/client-camera")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "world-to-screen")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/client-camera_world-to-screen")]
fn wit_import(
_: i64, _: i64, _: f32, _: f32, _: f32, _: i32, );
}
wit_import(wit_bindgen::rt::as_i64(id00), wit_bindgen::rt::as_i64(id10), wit_bindgen::rt::as_f32(x1), wit_bindgen::rt::as_f32(y1), wit_bindgen::rt::as_f32(z1), ptr2);
super::super::super::ambient::bindings::types::Vec3{x:*((ptr2 + 0) as *const f32), y:*((ptr2 + 4) as *const f32), z:*((ptr2 + 8) as *const f32), }
}
}
}
#[allow(clippy::all)]
pub mod client_clipboard {
#[used]
#[doc(hidden)]
#[cfg(target_arch = "wasm32")]
static __FORCE_SECTION_REF: fn() = super::super::super::__link_section;
#[allow(clippy::all)]
pub fn get(){
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
#[link(wasm_import_module = "ambient:bindings/client-clipboard")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "get")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/client-clipboard_get")]
fn wit_import(
);
}
wit_import();
}
}
#[allow(clippy::all)]
pub fn set(text: &str,){
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
let vec0 = text;
let ptr0 = vec0.as_ptr() as i32;
let len0 = vec0.len() as i32;
#[link(wasm_import_module = "ambient:bindings/client-clipboard")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "set")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/client-clipboard_set")]
fn wit_import(
_: i32, _: i32, );
}
wit_import(ptr0, len0);
}
}
}
#[allow(clippy::all)]
pub mod client_window {
#[used]
#[doc(hidden)]
#[cfg(target_arch = "wasm32")]
static __FORCE_SECTION_REF: fn() = super::super::super::__link_section;
#[allow(clippy::all)]
pub fn set_fullscreen(fullscreen: bool,){
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
#[link(wasm_import_module = "ambient:bindings/client-window")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "set-fullscreen")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/client-window_set-fullscreen")]
fn wit_import(
_: i32, );
}
wit_import(match fullscreen { true => 1, false => 0 });
}
}
}
#[allow(clippy::all)]
pub mod server_asset {
#[used]
#[doc(hidden)]
#[cfg(target_arch = "wasm32")]
static __FORCE_SECTION_REF: fn() = super::super::super::__link_section;
}
#[allow(clippy::all)]
pub mod server_physics {
#[used]
#[doc(hidden)]
#[cfg(target_arch = "wasm32")]
static __FORCE_SECTION_REF: fn() = super::super::super::__link_section;
pub type EntityId = super::super::super::ambient::bindings::types::EntityId;
pub type Vec3 = super::super::super::ambient::bindings::types::Vec3;
pub type Mat4 = super::super::super::ambient::bindings::types::Mat4;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct CharacterCollision {
pub side: bool,
pub up: bool,
pub down: bool,
}
impl ::core::fmt::Debug for CharacterCollision {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("CharacterCollision").field("side", &self.side).field("up", &self.up).field("down", &self.down).finish()
}
}
#[allow(clippy::all)]
pub fn add_force(entity: EntityId,force: Vec3,){
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
let super::super::super::ambient::bindings::types::EntityId{ id0:id00, id1:id10, } = entity;
let super::super::super::ambient::bindings::types::Vec3{ x:x1, y:y1, z:z1, } = force;
#[link(wasm_import_module = "ambient:bindings/server-physics")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "add-force")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/server-physics_add-force")]
fn wit_import(
_: i64, _: i64, _: f32, _: f32, _: f32, );
}
wit_import(wit_bindgen::rt::as_i64(id00), wit_bindgen::rt::as_i64(id10), wit_bindgen::rt::as_f32(x1), wit_bindgen::rt::as_f32(y1), wit_bindgen::rt::as_f32(z1));
}
}
#[allow(clippy::all)]
pub fn add_impulse(entity: EntityId,impulse: Vec3,){
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
let super::super::super::ambient::bindings::types::EntityId{ id0:id00, id1:id10, } = entity;
let super::super::super::ambient::bindings::types::Vec3{ x:x1, y:y1, z:z1, } = impulse;
#[link(wasm_import_module = "ambient:bindings/server-physics")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "add-impulse")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/server-physics_add-impulse")]
fn wit_import(
_: i64, _: i64, _: f32, _: f32, _: f32, );
}
wit_import(wit_bindgen::rt::as_i64(id00), wit_bindgen::rt::as_i64(id10), wit_bindgen::rt::as_f32(x1), wit_bindgen::rt::as_f32(y1), wit_bindgen::rt::as_f32(z1));
}
}
#[allow(clippy::all)]
pub fn add_radial_impulse(position: Vec3,impulse: f32,radius: f32,falloff_radius: Option<f32>,){
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
let super::super::super::ambient::bindings::types::Vec3{ x:x0, y:y0, z:z0, } = position;
let (result1_0,result1_1,) = match falloff_radius {
Some(e) => (1i32, wit_bindgen::rt::as_f32(e)),
None => {
(0i32, 0.0f32)
},
};
#[link(wasm_import_module = "ambient:bindings/server-physics")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "add-radial-impulse")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/server-physics_add-radial-impulse")]
fn wit_import(
_: f32, _: f32, _: f32, _: f32, _: f32, _: i32, _: f32, );
}
wit_import(wit_bindgen::rt::as_f32(x0), wit_bindgen::rt::as_f32(y0), wit_bindgen::rt::as_f32(z0), wit_bindgen::rt::as_f32(impulse), wit_bindgen::rt::as_f32(radius), result1_0, result1_1);
}
}
#[allow(clippy::all)]
pub fn add_force_at_position(entity: EntityId,force: Vec3,position: Vec3,){
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
let super::super::super::ambient::bindings::types::EntityId{ id0:id00, id1:id10, } = entity;
let super::super::super::ambient::bindings::types::Vec3{ x:x1, y:y1, z:z1, } = force;
let super::super::super::ambient::bindings::types::Vec3{ x:x2, y:y2, z:z2, } = position;
#[link(wasm_import_module = "ambient:bindings/server-physics")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "add-force-at-position")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/server-physics_add-force-at-position")]
fn wit_import(
_: i64, _: i64, _: f32, _: f32, _: f32, _: f32, _: f32, _: f32, );
}
wit_import(wit_bindgen::rt::as_i64(id00), wit_bindgen::rt::as_i64(id10), wit_bindgen::rt::as_f32(x1), wit_bindgen::rt::as_f32(y1), wit_bindgen::rt::as_f32(z1), wit_bindgen::rt::as_f32(x2), wit_bindgen::rt::as_f32(y2), wit_bindgen::rt::as_f32(z2));
}
}
#[allow(clippy::all)]
pub fn add_impulse_at_position(entity: EntityId,impulse: Vec3,position: Vec3,){
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
let super::super::super::ambient::bindings::types::EntityId{ id0:id00, id1:id10, } = entity;
let super::super::super::ambient::bindings::types::Vec3{ x:x1, y:y1, z:z1, } = impulse;
let super::super::super::ambient::bindings::types::Vec3{ x:x2, y:y2, z:z2, } = position;
#[link(wasm_import_module = "ambient:bindings/server-physics")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "add-impulse-at-position")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/server-physics_add-impulse-at-position")]
fn wit_import(
_: i64, _: i64, _: f32, _: f32, _: f32, _: f32, _: f32, _: f32, );
}
wit_import(wit_bindgen::rt::as_i64(id00), wit_bindgen::rt::as_i64(id10), wit_bindgen::rt::as_f32(x1), wit_bindgen::rt::as_f32(y1), wit_bindgen::rt::as_f32(z1), wit_bindgen::rt::as_f32(x2), wit_bindgen::rt::as_f32(y2), wit_bindgen::rt::as_f32(z2));
}
}
#[allow(clippy::all)]
pub fn get_velocity_at_position(entity: EntityId,position: Vec3,) -> Vec3{
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
#[repr(align(4))]
struct RetArea([u8; 12]);
let mut ret_area = ::core::mem::MaybeUninit::<RetArea>::uninit();
let super::super::super::ambient::bindings::types::EntityId{ id0:id00, id1:id10, } = entity;
let super::super::super::ambient::bindings::types::Vec3{ x:x1, y:y1, z:z1, } = position;
let ptr2 = ret_area.as_mut_ptr() as i32;
#[link(wasm_import_module = "ambient:bindings/server-physics")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "get-velocity-at-position")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/server-physics_get-velocity-at-position")]
fn wit_import(
_: i64, _: i64, _: f32, _: f32, _: f32, _: i32, );
}
wit_import(wit_bindgen::rt::as_i64(id00), wit_bindgen::rt::as_i64(id10), wit_bindgen::rt::as_f32(x1), wit_bindgen::rt::as_f32(y1), wit_bindgen::rt::as_f32(z1), ptr2);
super::super::super::ambient::bindings::types::Vec3{x:*((ptr2 + 0) as *const f32), y:*((ptr2 + 4) as *const f32), z:*((ptr2 + 8) as *const f32), }
}
}
#[allow(clippy::all)]
pub fn set_gravity(gravity: Vec3,){
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
let super::super::super::ambient::bindings::types::Vec3{ x:x0, y:y0, z:z0, } = gravity;
#[link(wasm_import_module = "ambient:bindings/server-physics")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "set-gravity")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/server-physics_set-gravity")]
fn wit_import(
_: f32, _: f32, _: f32, );
}
wit_import(wit_bindgen::rt::as_f32(x0), wit_bindgen::rt::as_f32(y0), wit_bindgen::rt::as_f32(z0));
}
}
#[allow(clippy::all)]
pub fn unfreeze(entity: EntityId,){
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
let super::super::super::ambient::bindings::types::EntityId{ id0:id00, id1:id10, } = entity;
#[link(wasm_import_module = "ambient:bindings/server-physics")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "unfreeze")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/server-physics_unfreeze")]
fn wit_import(
_: i64, _: i64, );
}
wit_import(wit_bindgen::rt::as_i64(id00), wit_bindgen::rt::as_i64(id10));
}
}
#[allow(clippy::all)]
pub fn freeze(entity: EntityId,){
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
let super::super::super::ambient::bindings::types::EntityId{ id0:id00, id1:id10, } = entity;
#[link(wasm_import_module = "ambient:bindings/server-physics")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "freeze")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/server-physics_freeze")]
fn wit_import(
_: i64, _: i64, );
}
wit_import(wit_bindgen::rt::as_i64(id00), wit_bindgen::rt::as_i64(id10));
}
}
#[allow(clippy::all)]
pub fn start_motor(entity: EntityId,velocity: f32,){
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
let super::super::super::ambient::bindings::types::EntityId{ id0:id00, id1:id10, } = entity;
#[link(wasm_import_module = "ambient:bindings/server-physics")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "start-motor")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/server-physics_start-motor")]
fn wit_import(
_: i64, _: i64, _: f32, );
}
wit_import(wit_bindgen::rt::as_i64(id00), wit_bindgen::rt::as_i64(id10), wit_bindgen::rt::as_f32(velocity));
}
}
#[allow(clippy::all)]
pub fn stop_motor(entity: EntityId,){
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
let super::super::super::ambient::bindings::types::EntityId{ id0:id00, id1:id10, } = entity;
#[link(wasm_import_module = "ambient:bindings/server-physics")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "stop-motor")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/server-physics_stop-motor")]
fn wit_import(
_: i64, _: i64, );
}
wit_import(wit_bindgen::rt::as_i64(id00), wit_bindgen::rt::as_i64(id10));
}
}
#[allow(clippy::all)]
pub fn create_revolute_joint(actor0: EntityId,transform0: Mat4,actor1: EntityId,transform1: Mat4,){
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
#[repr(align(8))]
struct RetArea([u8; 160]);
let mut ret_area = ::core::mem::MaybeUninit::<RetArea>::uninit();
let ptr0 = ret_area.as_mut_ptr() as i32;let super::super::super::ambient::bindings::types::EntityId{ id0:id01, id1:id11, } = actor0;
*((ptr0 + 0) as *mut i64) = wit_bindgen::rt::as_i64(id01);
*((ptr0 + 8) as *mut i64) = wit_bindgen::rt::as_i64(id11);
let super::super::super::ambient::bindings::types::Mat4{ x:x2, y:y2, z:z2, w:w2, } = transform0;
let super::super::super::ambient::bindings::types::Vec4{ x:x3, y:y3, z:z3, w:w3, } = x2;
*((ptr0 + 16) as *mut f32) = wit_bindgen::rt::as_f32(x3);
*((ptr0 + 20) as *mut f32) = wit_bindgen::rt::as_f32(y3);
*((ptr0 + 24) as *mut f32) = wit_bindgen::rt::as_f32(z3);
*((ptr0 + 28) as *mut f32) = wit_bindgen::rt::as_f32(w3);
let super::super::super::ambient::bindings::types::Vec4{ x:x4, y:y4, z:z4, w:w4, } = y2;
*((ptr0 + 32) as *mut f32) = wit_bindgen::rt::as_f32(x4);
*((ptr0 + 36) as *mut f32) = wit_bindgen::rt::as_f32(y4);
*((ptr0 + 40) as *mut f32) = wit_bindgen::rt::as_f32(z4);
*((ptr0 + 44) as *mut f32) = wit_bindgen::rt::as_f32(w4);
let super::super::super::ambient::bindings::types::Vec4{ x:x5, y:y5, z:z5, w:w5, } = z2;
*((ptr0 + 48) as *mut f32) = wit_bindgen::rt::as_f32(x5);
*((ptr0 + 52) as *mut f32) = wit_bindgen::rt::as_f32(y5);
*((ptr0 + 56) as *mut f32) = wit_bindgen::rt::as_f32(z5);
*((ptr0 + 60) as *mut f32) = wit_bindgen::rt::as_f32(w5);
let super::super::super::ambient::bindings::types::Vec4{ x:x6, y:y6, z:z6, w:w6, } = w2;
*((ptr0 + 64) as *mut f32) = wit_bindgen::rt::as_f32(x6);
*((ptr0 + 68) as *mut f32) = wit_bindgen::rt::as_f32(y6);
*((ptr0 + 72) as *mut f32) = wit_bindgen::rt::as_f32(z6);
*((ptr0 + 76) as *mut f32) = wit_bindgen::rt::as_f32(w6);
let super::super::super::ambient::bindings::types::EntityId{ id0:id07, id1:id17, } = actor1;
*((ptr0 + 80) as *mut i64) = wit_bindgen::rt::as_i64(id07);
*((ptr0 + 88) as *mut i64) = wit_bindgen::rt::as_i64(id17);
let super::super::super::ambient::bindings::types::Mat4{ x:x8, y:y8, z:z8, w:w8, } = transform1;
let super::super::super::ambient::bindings::types::Vec4{ x:x9, y:y9, z:z9, w:w9, } = x8;
*((ptr0 + 96) as *mut f32) = wit_bindgen::rt::as_f32(x9);
*((ptr0 + 100) as *mut f32) = wit_bindgen::rt::as_f32(y9);
*((ptr0 + 104) as *mut f32) = wit_bindgen::rt::as_f32(z9);
*((ptr0 + 108) as *mut f32) = wit_bindgen::rt::as_f32(w9);
let super::super::super::ambient::bindings::types::Vec4{ x:x10, y:y10, z:z10, w:w10, } = y8;
*((ptr0 + 112) as *mut f32) = wit_bindgen::rt::as_f32(x10);
*((ptr0 + 116) as *mut f32) = wit_bindgen::rt::as_f32(y10);
*((ptr0 + 120) as *mut f32) = wit_bindgen::rt::as_f32(z10);
*((ptr0 + 124) as *mut f32) = wit_bindgen::rt::as_f32(w10);
let super::super::super::ambient::bindings::types::Vec4{ x:x11, y:y11, z:z11, w:w11, } = z8;
*((ptr0 + 128) as *mut f32) = wit_bindgen::rt::as_f32(x11);
*((ptr0 + 132) as *mut f32) = wit_bindgen::rt::as_f32(y11);
*((ptr0 + 136) as *mut f32) = wit_bindgen::rt::as_f32(z11);
*((ptr0 + 140) as *mut f32) = wit_bindgen::rt::as_f32(w11);
let super::super::super::ambient::bindings::types::Vec4{ x:x12, y:y12, z:z12, w:w12, } = w8;
*((ptr0 + 144) as *mut f32) = wit_bindgen::rt::as_f32(x12);
*((ptr0 + 148) as *mut f32) = wit_bindgen::rt::as_f32(y12);
*((ptr0 + 152) as *mut f32) = wit_bindgen::rt::as_f32(z12);
*((ptr0 + 156) as *mut f32) = wit_bindgen::rt::as_f32(w12);
#[link(wasm_import_module = "ambient:bindings/server-physics")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "create-revolute-joint")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/server-physics_create-revolute-joint")]
fn wit_import(
_: i32, );
}
wit_import(ptr0);
}
}
#[allow(clippy::all)]
pub fn raycast_first(origin: Vec3,direction: Vec3,) -> Option<(EntityId,f32,)>{
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
#[repr(align(8))]
struct RetArea([u8; 32]);
let mut ret_area = ::core::mem::MaybeUninit::<RetArea>::uninit();
let super::super::super::ambient::bindings::types::Vec3{ x:x0, y:y0, z:z0, } = origin;
let super::super::super::ambient::bindings::types::Vec3{ x:x1, y:y1, z:z1, } = direction;
let ptr2 = ret_area.as_mut_ptr() as i32;
#[link(wasm_import_module = "ambient:bindings/server-physics")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "raycast-first")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/server-physics_raycast-first")]
fn wit_import(
_: f32, _: f32, _: f32, _: f32, _: f32, _: f32, _: i32, );
}
wit_import(wit_bindgen::rt::as_f32(x0), wit_bindgen::rt::as_f32(y0), wit_bindgen::rt::as_f32(z0), wit_bindgen::rt::as_f32(x1), wit_bindgen::rt::as_f32(y1), wit_bindgen::rt::as_f32(z1), ptr2);
match i32::from(*((ptr2 + 0) as *const u8)) {
0 => None,
1 => Some((super::super::super::ambient::bindings::types::EntityId{id0:*((ptr2 + 8) as *const i64) as u64, id1:*((ptr2 + 16) as *const i64) as u64, }, *((ptr2 + 24) as *const f32))),
#[cfg(not(debug_assertions))]
_ => ::core::hint::unreachable_unchecked(),
#[cfg(debug_assertions)]
_ => panic!("invalid enum discriminant"),
}
}
}
#[allow(clippy::all)]
pub fn raycast(origin: Vec3,direction: Vec3,) -> wit_bindgen::rt::vec::Vec::<(EntityId,f32,)>{
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
#[repr(align(4))]
struct RetArea([u8; 8]);
let mut ret_area = ::core::mem::MaybeUninit::<RetArea>::uninit();
let super::super::super::ambient::bindings::types::Vec3{ x:x0, y:y0, z:z0, } = origin;
let super::super::super::ambient::bindings::types::Vec3{ x:x1, y:y1, z:z1, } = direction;
let ptr2 = ret_area.as_mut_ptr() as i32;
#[link(wasm_import_module = "ambient:bindings/server-physics")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "raycast")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/server-physics_raycast")]
fn wit_import(
_: f32, _: f32, _: f32, _: f32, _: f32, _: f32, _: i32, );
}
wit_import(wit_bindgen::rt::as_f32(x0), wit_bindgen::rt::as_f32(y0), wit_bindgen::rt::as_f32(z0), wit_bindgen::rt::as_f32(x1), wit_bindgen::rt::as_f32(y1), wit_bindgen::rt::as_f32(z1), ptr2);
let len3 = *((ptr2 + 4) as *const i32) as usize;
Vec::from_raw_parts(*((ptr2 + 0) as *const i32) as *mut _, len3, len3)
}
}
#[allow(clippy::all)]
pub fn move_character(entity: EntityId,displacement: Vec3,min_dist: f32,elapsed_time: f32,) -> CharacterCollision{
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
#[repr(align(1))]
struct RetArea([u8; 3]);
let mut ret_area = ::core::mem::MaybeUninit::<RetArea>::uninit();
let super::super::super::ambient::bindings::types::EntityId{ id0:id00, id1:id10, } = entity;
let super::super::super::ambient::bindings::types::Vec3{ x:x1, y:y1, z:z1, } = displacement;
let ptr2 = ret_area.as_mut_ptr() as i32;
#[link(wasm_import_module = "ambient:bindings/server-physics")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "move-character")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/server-physics_move-character")]
fn wit_import(
_: i64, _: i64, _: f32, _: f32, _: f32, _: f32, _: f32, _: i32, );
}
wit_import(wit_bindgen::rt::as_i64(id00), wit_bindgen::rt::as_i64(id10), wit_bindgen::rt::as_f32(x1), wit_bindgen::rt::as_f32(y1), wit_bindgen::rt::as_f32(z1), wit_bindgen::rt::as_f32(min_dist), wit_bindgen::rt::as_f32(elapsed_time), ptr2);
CharacterCollision{side:{
#[cfg(not(debug_assertions))]
{ ::core::mem::transmute::<u8, bool>(i32::from(*((ptr2 + 0) as *const u8)) as u8) }
#[cfg(debug_assertions)]
{
match i32::from(*((ptr2 + 0) as *const u8)) {
0 => false,
1 => true,
_ => panic!("invalid bool discriminant"),
}
}
}, up:{
#[cfg(not(debug_assertions))]
{ ::core::mem::transmute::<u8, bool>(i32::from(*((ptr2 + 1) as *const u8)) as u8) }
#[cfg(debug_assertions)]
{
match i32::from(*((ptr2 + 1) as *const u8)) {
0 => false,
1 => true,
_ => panic!("invalid bool discriminant"),
}
}
}, down:{
#[cfg(not(debug_assertions))]
{ ::core::mem::transmute::<u8, bool>(i32::from(*((ptr2 + 2) as *const u8)) as u8) }
#[cfg(debug_assertions)]
{
match i32::from(*((ptr2 + 2) as *const u8)) {
0 => false,
1 => true,
_ => panic!("invalid bool discriminant"),
}
}
}, }
}
}
#[allow(clippy::all)]
pub fn set_character_position(entity: EntityId,position: Vec3,){
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
let super::super::super::ambient::bindings::types::EntityId{ id0:id00, id1:id10, } = entity;
let super::super::super::ambient::bindings::types::Vec3{ x:x1, y:y1, z:z1, } = position;
#[link(wasm_import_module = "ambient:bindings/server-physics")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "set-character-position")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/server-physics_set-character-position")]
fn wit_import(
_: i64, _: i64, _: f32, _: f32, _: f32, );
}
wit_import(wit_bindgen::rt::as_i64(id00), wit_bindgen::rt::as_i64(id10), wit_bindgen::rt::as_f32(x1), wit_bindgen::rt::as_f32(y1), wit_bindgen::rt::as_f32(z1));
}
}
#[allow(clippy::all)]
pub fn set_character_foot_position(entity: EntityId,position: Vec3,){
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
let super::super::super::ambient::bindings::types::EntityId{ id0:id00, id1:id10, } = entity;
let super::super::super::ambient::bindings::types::Vec3{ x:x1, y:y1, z:z1, } = position;
#[link(wasm_import_module = "ambient:bindings/server-physics")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "set-character-foot-position")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/server-physics_set-character-foot-position")]
fn wit_import(
_: i64, _: i64, _: f32, _: f32, _: f32, );
}
wit_import(wit_bindgen::rt::as_i64(id00), wit_bindgen::rt::as_i64(id10), wit_bindgen::rt::as_f32(x1), wit_bindgen::rt::as_f32(y1), wit_bindgen::rt::as_f32(z1));
}
}
}
#[allow(clippy::all)]
pub mod server_message {
#[used]
#[doc(hidden)]
#[cfg(target_arch = "wasm32")]
static __FORCE_SECTION_REF: fn() = super::super::super::__link_section;
pub type EntityId = super::super::super::ambient::bindings::types::EntityId;
#[derive(Clone)]
pub enum Target{
ClientBroadcastUnreliable,
ClientBroadcastReliable,
ClientTargetedUnreliable(wit_bindgen::rt::string::String),
ClientTargetedReliable(wit_bindgen::rt::string::String),
LocalBroadcast(bool),
Local(EntityId),
}
impl ::core::fmt::Debug for Target {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
match self {
Target::ClientBroadcastUnreliable => {
f.debug_tuple("Target::ClientBroadcastUnreliable").finish()
}
Target::ClientBroadcastReliable => {
f.debug_tuple("Target::ClientBroadcastReliable").finish()
}
Target::ClientTargetedUnreliable(e) => {
f.debug_tuple("Target::ClientTargetedUnreliable").field(e).finish()
}
Target::ClientTargetedReliable(e) => {
f.debug_tuple("Target::ClientTargetedReliable").field(e).finish()
}
Target::LocalBroadcast(e) => {
f.debug_tuple("Target::LocalBroadcast").field(e).finish()
}
Target::Local(e) => {
f.debug_tuple("Target::Local").field(e).finish()
}
}
}
}
#[allow(clippy::all)]
pub fn send(target_id: &Target,name: &str,data: &[u8],){
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
let (result3_0,result3_1,result3_2,) = match target_id {
Target::ClientBroadcastUnreliable=> {
(0i32, 0i64, 0i64)
}
Target::ClientBroadcastReliable=> {
(1i32, 0i64, 0i64)
}
Target::ClientTargetedUnreliable(e) => {
let vec0 = e;
let ptr0 = vec0.as_ptr() as i32;
let len0 = vec0.len() as i32;
(2i32, i64::from(ptr0), i64::from(len0))
},
Target::ClientTargetedReliable(e) => {
let vec1 = e;
let ptr1 = vec1.as_ptr() as i32;
let len1 = vec1.len() as i32;
(3i32, i64::from(ptr1), i64::from(len1))
},
Target::LocalBroadcast(e) => (4i32, i64::from(match e { true => 1, false => 0 }), 0i64),
Target::Local(e) => {
let super::super::super::ambient::bindings::types::EntityId{ id0:id02, id1:id12, } = e;
(5i32, wit_bindgen::rt::as_i64(id02), wit_bindgen::rt::as_i64(id12))
},
};
let vec4 = name;
let ptr4 = vec4.as_ptr() as i32;
let len4 = vec4.len() as i32;
let vec5 = data;
let ptr5 = vec5.as_ptr() as i32;
let len5 = vec5.len() as i32;
#[link(wasm_import_module = "ambient:bindings/server-message")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "send")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/server-message_send")]
fn wit_import(
_: i32, _: i64, _: i64, _: i32, _: i32, _: i32, _: i32, );
}
wit_import(result3_0, result3_1, result3_2, ptr4, len4, ptr5, len5);
}
}
}
#[allow(clippy::all)]
pub mod server_http {
#[used]
#[doc(hidden)]
#[cfg(target_arch = "wasm32")]
static __FORCE_SECTION_REF: fn() = super::super::super::__link_section;
#[allow(clippy::all)]
pub fn get(url: &str,headers: &[(wit_bindgen::rt::string::String,wit_bindgen::rt::string::String,)],) -> u64{
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
let vec0 = url;
let ptr0 = vec0.as_ptr() as i32;
let len0 = vec0.len() as i32;
let vec4 = headers;
let len4 = vec4.len() as i32;
let layout4 = alloc::Layout::from_size_align_unchecked(vec4.len() * 16, 4);
let result4 = if layout4.size() != 0
{
let ptr = alloc::alloc(layout4);
if ptr.is_null()
{
alloc::handle_alloc_error(layout4);
}
ptr
}else {
::core::ptr::null_mut()
};
for (i, e) in vec4.into_iter().enumerate() {
let base = result4 as i32 + (i as i32) * 16;
{
let (t1_0, t1_1, ) = e;
let vec2 = t1_0;
let ptr2 = vec2.as_ptr() as i32;
let len2 = vec2.len() as i32;
*((base + 4) as *mut i32) = len2;
*((base + 0) as *mut i32) = ptr2;
let vec3 = t1_1;
let ptr3 = vec3.as_ptr() as i32;
let len3 = vec3.len() as i32;
*((base + 12) as *mut i32) = len3;
*((base + 8) as *mut i32) = ptr3;
}}
#[link(wasm_import_module = "ambient:bindings/server-http")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "get")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/server-http_get")]
fn wit_import(
_: i32, _: i32, _: i32, _: i32, ) -> i64;
}
let ret = wit_import(ptr0, len0, result4 as i32, len4);
if layout4.size() != 0 {
alloc::dealloc(result4, layout4);
}
ret as u64
}
}
#[allow(clippy::all)]
pub fn post(url: &str,headers: &[(wit_bindgen::rt::string::String,wit_bindgen::rt::string::String,)],body: Option<&[u8]>,) -> u64{
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
let vec0 = url;
let ptr0 = vec0.as_ptr() as i32;
let len0 = vec0.len() as i32;
let vec4 = headers;
let len4 = vec4.len() as i32;
let layout4 = alloc::Layout::from_size_align_unchecked(vec4.len() * 16, 4);
let result4 = if layout4.size() != 0
{
let ptr = alloc::alloc(layout4);
if ptr.is_null()
{
alloc::handle_alloc_error(layout4);
}
ptr
}else {
::core::ptr::null_mut()
};
for (i, e) in vec4.into_iter().enumerate() {
let base = result4 as i32 + (i as i32) * 16;
{
let (t1_0, t1_1, ) = e;
let vec2 = t1_0;
let ptr2 = vec2.as_ptr() as i32;
let len2 = vec2.len() as i32;
*((base + 4) as *mut i32) = len2;
*((base + 0) as *mut i32) = ptr2;
let vec3 = t1_1;
let ptr3 = vec3.as_ptr() as i32;
let len3 = vec3.len() as i32;
*((base + 12) as *mut i32) = len3;
*((base + 8) as *mut i32) = ptr3;
}}
let (result6_0,result6_1,result6_2,) = match body {
Some(e) => {
let vec5 = e;
let ptr5 = vec5.as_ptr() as i32;
let len5 = vec5.len() as i32;
(1i32, ptr5, len5)
},
None => {
(0i32, 0i32, 0i32)
},
};
#[link(wasm_import_module = "ambient:bindings/server-http")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "post")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/server-http_post")]
fn wit_import(
_: i32, _: i32, _: i32, _: i32, _: i32, _: i32, _: i32, ) -> i64;
}
let ret = wit_import(ptr0, len0, result4 as i32, len4, result6_0, result6_1, result6_2);
if layout4.size() != 0 {
alloc::dealloc(result4, layout4);
}
ret as u64
}
}
}
#[allow(clippy::all)]
pub mod server_ambient_package {
#[used]
#[doc(hidden)]
#[cfg(target_arch = "wasm32")]
static __FORCE_SECTION_REF: fn() = super::super::super::__link_section;
#[allow(clippy::all)]
pub fn load(package_url: &str,){
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
unsafe {
let vec0 = package_url;
let ptr0 = vec0.as_ptr() as i32;
let len0 = vec0.len() as i32;
#[link(wasm_import_module = "ambient:bindings/server-ambient-package")]
extern "C" {
#[cfg_attr(target_arch = "wasm32", link_name = "load")]
#[cfg_attr(not(target_arch = "wasm32"), link_name = "ambient:bindings/server-ambient-package_load")]
fn wit_import(
_: i32, _: i32, );
}
wit_import(ptr0, len0);
}
}
}
}
}
pub mod exports {
pub mod ambient {
pub mod bindings {
#[allow(clippy::all)]
pub mod guest {
#[used]
#[doc(hidden)]
#[cfg(target_arch = "wasm32")]
static __FORCE_SECTION_REF: fn() = super::super::super::super::__link_section;
pub type EntityId = super::super::super::super::ambient::bindings::types::EntityId;
#[derive(Clone)]
pub enum Source{
Runtime,
Local(EntityId),
Server,
Client(wit_bindgen::rt::string::String),
}
impl ::core::fmt::Debug for Source {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
match self {
Source::Runtime => {
f.debug_tuple("Source::Runtime").finish()
}
Source::Local(e) => {
f.debug_tuple("Source::Local").field(e).finish()
}
Source::Server => {
f.debug_tuple("Source::Server").finish()
}
Source::Client(e) => {
f.debug_tuple("Source::Client").field(e).finish()
}
}
}
}
pub trait Guest {
fn init();
fn exec(message_source: Source,message_name: wit_bindgen::rt::string::String,message_data: wit_bindgen::rt::vec::Vec::<u8>,);
}
#[doc(hidden)]
pub unsafe fn call_init<T: Guest>() {
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
#[cfg(target_arch="wasm32")]
wit_bindgen::rt::run_ctors_once();
T::init();
}
#[doc(hidden)]
pub unsafe fn call_exec<T: Guest>(arg0: i32,arg1: i64,arg2: i64,arg3: i32,arg4: i32,arg5: i32,arg6: i32,) {
#[allow(unused_imports)]
use wit_bindgen::rt::{alloc, vec::Vec, string::String};
#[cfg(target_arch="wasm32")]
wit_bindgen::rt::run_ctors_once();
let len1 = arg4 as usize;
let len2 = arg6 as usize;
T::exec({{match arg0 {
0 => Source::Runtime,
1 => Source::Local(super::super::super::super::ambient::bindings::types::EntityId{id0:arg1 as u64, id1:arg2 as u64, }),
2 => Source::Server,
#[cfg(debug_assertions)]3 => Source::Client({
let len0 = arg2 as i32 as usize;
{#[cfg(not(debug_assertions))]{String::from_utf8_unchecked(Vec::from_raw_parts(arg1 as i32 as *mut _, len0, len0))}#[cfg(debug_assertions)]{String::from_utf8(Vec::from_raw_parts(arg1 as i32 as *mut _, len0, len0)).unwrap()}}
}),
#[cfg(not(debug_assertions))]_ => Source::Client({
let len0 = arg2 as i32 as usize;
{#[cfg(not(debug_assertions))]{String::from_utf8_unchecked(Vec::from_raw_parts(arg1 as i32 as *mut _, len0, len0))}#[cfg(debug_assertions)]{String::from_utf8(Vec::from_raw_parts(arg1 as i32 as *mut _, len0, len0)).unwrap()}}
}),
#[cfg(debug_assertions)]_ => panic!("invalid enum discriminant"),
}}}, {#[cfg(not(debug_assertions))]{String::from_utf8_unchecked(Vec::from_raw_parts(arg3 as *mut _, len1, len1))}#[cfg(debug_assertions)]{String::from_utf8(Vec::from_raw_parts(arg3 as *mut _, len1, len1)).unwrap()}}, Vec::from_raw_parts(arg5 as *mut _, len2, len2));
}
}
}
}
}
#[cfg(target_arch = "wasm32")]
#[link_section = "component-type:bindings"]
#[doc(hidden)]
pub static __WIT_BINDGEN_COMPONENT_TYPE: [u8; 19816] = [3, 0, 8, 98, 105, 110, 100, 105, 110, 103, 115, 0, 97, 115, 109, 13, 0, 1, 0, 7, 238, 153, 1, 1, 65, 69, 1, 66, 4, 1, 64, 0, 1, 0, 4, 0, 3, 103, 101, 116, 1, 0, 1, 64, 1, 4, 116, 101, 120, 116, 115, 1, 0, 4, 0, 3, 115, 101, 116, 1, 1, 4, 1, 33, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 99, 108, 105, 101, 110, 116, 45, 99, 108, 105, 112, 98, 111, 97, 114, 100, 5, 0, 1, 66, 2, 1, 64, 1, 10, 102, 117, 108, 108, 115, 99, 114, 101, 101, 110, 127, 1, 0, 4, 0, 14, 115, 101, 116, 45, 102, 117, 108, 108, 115, 99, 114, 101, 101, 110, 1, 0, 4, 1, 30, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 99, 108, 105, 101, 110, 116, 45, 119, 105, 110, 100, 111, 119, 5, 1, 1, 66, 2, 1, 64, 1, 11, 112, 97, 99, 107, 97, 103, 101, 45, 117, 114, 108, 115, 1, 0, 4, 0, 4, 108, 111, 97, 100, 1, 0, 4, 1, 39, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 115, 101, 114, 118, 101, 114, 45, 97, 109, 98, 105, 101, 110, 116, 45, 112, 97, 99, 107, 97, 103, 101, 5, 2, 1, 66, 0, 4, 1, 29, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 115, 101, 114, 118, 101, 114, 45, 97, 115, 115, 101, 116, 5, 3, 1, 66, 8, 1, 111, 2, 115, 115, 1, 112, 0, 1, 64, 2, 3, 117, 114, 108, 115, 7, 104, 101, 97, 100, 101, 114, 115, 1, 0, 119, 4, 0, 3, 103, 101, 116, 1, 2, 1, 112, 125, 1, 107, 3, 1, 64, 3, 3, 117, 114, 108, 115, 7, 104, 101, 97, 100, 101, 114, 115, 1, 4, 98, 111, 100, 121, 4, 0, 119, 4, 0, 4, 112, 111, 115, 116, 1, 5, 4, 1, 28, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 115, 101, 114, 118, 101, 114, 45, 104, 116, 116, 112, 5, 4, 1, 66, 32, 1, 114, 2, 3, 105, 100, 48, 119, 3, 105, 100, 49, 119, 4, 0, 9, 101, 110, 116, 105, 116, 121, 45, 105, 100, 3, 0, 0, 1, 114, 2, 1, 120, 118, 1, 121, 118, 4, 0, 4, 118, 101, 99, 50, 3, 0, 2, 1, 114, 3, 1, 120, 118, 1, 121, 118, 1, 122, 118, 4, 0, 4, 118, 101, 99, 51, 3, 0, 4, 1, 114, 4, 1, 120, 118, 1, 121, 118, 1, 122, 118, 1, 119, 118, 4, 0, 4, 118, 101, 99, 52, 3, 0, 6, 1, 114, 2, 1, 120, 121, 1, 121, 121, 4, 0, 5, 117, 118, 101, 99, 50, 3, 0, 8, 1, 114, 3, 1, 120, 121, 1, 121, 121, 1, 122, 121, 4, 0, 5, 117, 118, 101, 99, 51, 3, 0, 10, 1, 114, 4, 1, 120, 121, 1, 121, 121, 1, 122, 121, 1, 119, 121, 4, 0, 5, 117, 118, 101, 99, 52, 3, 0, 12, 1, 114, 2, 1, 120, 122, 1, 121, 122, 4, 0, 5, 105, 118, 101, 99, 50, 3, 0, 14, 1, 114, 3, 1, 120, 122, 1, 121, 122, 1, 122, 122, 4, 0, 5, 105, 118, 101, 99, 51, 3, 0, 16, 1, 114, 4, 1, 120, 122, 1, 121, 122, 1, 122, 122, 1, 119, 122, 4, 0, 5, 105, 118, 101, 99, 52, 3, 0, 18, 1, 114, 4, 1, 120, 118, 1, 121, 118, 1, 122, 118, 1, 119, 118, 4, 0, 4, 113, 117, 97, 116, 3, 0, 20, 1, 114, 4, 1, 120, 7, 1, 121, 7, 1, 122, 7, 1, 119, 7, 4, 0, 4, 109, 97, 116, 52, 3, 0, 22, 1, 114, 2, 7, 115, 101, 99, 111, 110, 100, 115, 119, 11, 110, 97, 110, 111, 115, 101, 99, 111, 110, 100, 115, 121, 4, 0, 8, 100, 117, 114, 97, 116, 105, 111, 110, 3, 0, 24, 1, 114, 2, 6, 111, 114, 105, 103, 105, 110, 5, 3, 100, 105, 114, 5, 4, 0, 3, 114, 97, 121, 3, 0, 26, 1, 114, 1, 5, 100, 117, 109, 109, 121, 125, 4, 0, 5, 101, 109, 112, 116, 121, 3, 0, 28, 1, 111, 2, 119, 119, 4, 0, 4, 117, 108, 105, 100, 3, 0, 30, 4, 1, 22, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 116, 121, 112, 101, 115, 5, 5, 2, 3, 0, 5, 9, 101, 110, 116, 105, 116, 121, 45, 105, 100, 1, 66, 5, 2, 3, 2, 1, 6, 4, 0, 9, 101, 110, 116, 105, 116, 121, 45, 105, 100, 3, 0, 0, 1, 107, 1, 1, 64, 1, 10, 112, 97, 99, 107, 97, 103, 101, 45, 105, 100, 115, 0, 2, 4, 0, 25, 103, 101, 116, 45, 101, 110, 116, 105, 116, 121, 45, 102, 111, 114, 45, 112, 97, 99, 107, 97, 103, 101, 45, 105, 100, 1, 3, 4, 1, 32, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 97, 109, 98, 105, 101, 110, 116, 45, 112, 97, 99, 107, 97, 103, 101, 5, 7, 1, 66, 7, 2, 3, 2, 1, 6, 4, 0, 9, 101, 110, 116, 105, 116, 121, 45, 105, 100, 3, 0, 0, 1, 113, 1, 11, 105, 110, 118, 97, 108, 105, 100, 45, 117, 114, 108, 1, 115, 0, 4, 0, 9, 117, 114, 108, 45, 101, 114, 114, 111, 114, 3, 0, 2, 1, 106, 1, 115, 1, 3, 1, 64, 2, 10, 112, 97, 99, 107, 97, 103, 101, 45, 105, 100, 1, 4, 112, 97, 116, 104, 115, 0, 4, 4, 0, 3, 117, 114, 108, 1, 5, 4, 1, 22, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 97, 115, 115, 101, 116, 5, 8, 2, 3, 0, 5, 4, 118, 101, 99, 51, 2, 3, 0, 5, 4, 118, 101, 99, 50, 2, 3, 0, 5, 3, 114, 97, 121, 1, 66, 16, 2, 3, 2, 1, 9, 4, 0, 4, 118, 101, 99, 51, 3, 0, 0, 2, 3, 2, 1, 10, 4, 0, 4, 118, 101, 99, 50, 3, 0, 2, 2, 3, 2, 1, 11, 4, 0, 3, 114, 97, 121, 3, 0, 4, 2, 3, 2, 1, 6, 4, 0, 9, 101, 110, 116, 105, 116, 121, 45, 105, 100, 3, 0, 6, 1, 64, 2, 6, 99, 97, 109, 101, 114, 97, 7, 14, 99, 108, 105, 112, 45, 115, 112, 97, 99, 101, 45, 112, 111, 115, 3, 0, 5, 4, 0, 26, 99, 108, 105, 112, 45, 112, 111, 115, 105, 116, 105, 111, 110, 45, 116, 111, 45, 119, 111, 114, 108, 100, 45, 114, 97, 121, 1, 8, 1, 64, 1, 10, 115, 99, 114, 101, 101, 110, 45, 112, 111, 115, 3, 0, 3, 4, 0, 20, 115, 99, 114, 101, 101, 110, 45, 116, 111, 45, 99, 108, 105, 112, 45, 115, 112, 97, 99, 101, 1, 9, 1, 64, 2, 6, 99, 97, 109, 101, 114, 97, 7, 10, 115, 99, 114, 101, 101, 110, 45, 112, 111, 115, 3, 0, 5, 4, 0, 28, 115, 99, 114, 101, 101, 110, 45, 112, 111, 115, 105, 116, 105, 111, 110, 45, 116, 111, 45, 119, 111, 114, 108, 100, 45, 114, 97, 121, 1, 10, 1, 64, 2, 6, 99, 97, 109, 101, 114, 97, 7, 10, 115, 99, 114, 101, 101, 110, 45, 112, 111, 115, 1, 0, 1, 4, 0, 15, 119, 111, 114, 108, 100, 45, 116, 111, 45, 115, 99, 114, 101, 101, 110, 1, 11, 4, 1, 30, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 99, 108, 105, 101, 110, 116, 45, 99, 97, 109, 101, 114, 97, 5, 12, 1, 66, 23, 2, 3, 2, 1, 10, 4, 0, 4, 118, 101, 99, 50, 3, 0, 0, 2, 3, 2, 1, 6, 4, 0, 9, 101, 110, 116, 105, 116, 121, 45, 105, 100, 3, 0, 2, 1, 109, 163, 1, 4, 107, 101, 121, 49, 4, 107, 101, 121, 50, 4, 107, 101, 121, 51, 4, 107, 101, 121, 52, 4, 107, 101, 121, 53, 4, 107, 101, 121, 54, 4, 107, 101, 121, 55, 4, 107, 101, 121, 56, 4, 107, 101, 121, 57, 4, 107, 101, 121, 48, 1, 97, 1, 98, 1, 99, 1, 100, 1, 101, 1, 102, 1, 103, 1, 104, 1, 105, 1, 106, 1, 107, 1, 108, 1, 109, 1, 110, 1, 111, 1, 112, 1, 113, 1, 114, 1, 115, 1, 116, 1, 117, 1, 118, 1, 119, 1, 120, 1, 121, 1, 122, 6, 101, 115, 99, 97, 112, 101, 2, 102, 49, 2, 102, 50, 2, 102, 51, 2, 102, 52, 2, 102, 53, 2, 102, 54, 2, 102, 55, 2, 102, 56, 2, 102, 57, 3, 102, 49, 48, 3, 102, 49, 49, 3, 102, 49, 50, 3, 102, 49, 51, 3, 102, 49, 52, 3, 102, 49, 53, 3, 102, 49, 54, 3, 102, 49, 55, 3, 102, 49, 56, 3, 102, 49, 57, 3, 102, 50, 48, 3, 102, 50, 49, 3, 102, 50, 50, 3, 102, 50, 51, 3, 102, 50, 52, 8, 115, 110, 97, 112, 115, 104, 111, 116, 6, 115, 99, 114, 111, 108, 108, 5, 112, 97, 117, 115, 101, 6, 105, 110, 115, 101, 114, 116, 4, 104, 111, 109, 101, 6, 100, 101, 108, 101, 116, 101, 3, 101, 110, 100, 9, 112, 97, 103, 101, 45, 100, 111, 119, 110, 7, 112, 97, 103, 101, 45, 117, 112, 4, 108, 101, 102, 116, 2, 117, 112, 5, 114, 105, 103, 104, 116, 4, 100, 111, 119, 110, 4, 98, 97, 99, 107, 6, 114, 101, 116, 117, 114, 110, 5, 115, 112, 97, 99, 101, 7, 99, 111, 109, 112, 111, 115, 101, 5, 99, 97, 114, 101, 116, 7, 110, 117, 109, 108, 111, 99, 107, 7, 110, 117, 109, 112, 97, 100, 48, 7, 110, 117, 109, 112, 97, 100, 49, 7, 110, 117, 109, 112, 97, 100, 50, 7, 110, 117, 109, 112, 97, 100, 51, 7, 110, 117, 109, 112, 97, 100, 52, 7, 110, 117, 109, 112, 97, 100, 53, 7, 110, 117, 109, 112, 97, 100, 54, 7, 110, 117, 109, 112, 97, 100, 55, 7, 110, 117, 109, 112, 97, 100, 56, 7, 110, 117, 109, 112, 97, 100, 57, 10, 110, 117, 109, 112, 97, 100, 45, 97, 100, 100, 13, 110, 117, 109, 112, 97, 100, 45, 100, 105, 118, 105, 100, 101, 14, 110, 117, 109, 112, 97, 100, 45, 100, 101, 99, 105, 109, 97, 108, 12, 110, 117, 109, 112, 97, 100, 45, 99, 111, 109, 109, 97, 12, 110, 117, 109, 112, 97, 100, 45, 101, 110, 116, 101, 114, 13, 110, 117, 109, 112, 97, 100, 45, 101, 113, 117, 97, 108, 115, 15, 110, 117, 109, 112, 97, 100, 45, 109, 117, 108, 116, 105, 112, 108, 121, 15, 110, 117, 109, 112, 97, 100, 45, 115, 117, 98, 116, 114, 97, 99, 116, 7, 97, 98, 110, 116, 45, 99, 49, 7, 97, 98, 110, 116, 45, 99, 50, 10, 97, 112, 111, 115, 116, 114, 111, 112, 104, 101, 4, 97, 112, 112, 115, 8, 97, 115, 116, 101, 114, 105, 115, 107, 2, 97, 116, 2, 97, 120, 9, 98, 97, 99, 107, 115, 108, 97, 115, 104, 10, 99, 97, 108, 99, 117, 108, 97, 116, 111, 114, 7, 99, 97, 112, 105, 116, 97, 108, 5, 99, 111, 108, 111, 110, 5, 99, 111, 109, 109, 97, 7, 99, 111, 110, 118, 101, 114, 116, 6, 101, 113, 117, 97, 108, 115, 5, 103, 114, 97, 118, 101, 4, 107, 97, 110, 97, 5, 107, 97, 110, 106, 105, 5, 108, 45, 97, 108, 116, 9, 108, 45, 98, 114, 97, 99, 107, 101, 116, 9, 108, 45, 99, 111, 110, 116, 114, 111, 108, 7, 108, 45, 115, 104, 105, 102, 116, 5, 108, 45, 119, 105, 110, 4, 109, 97, 105, 108, 12, 109, 101, 100, 105, 97, 45, 115, 101, 108, 101, 99, 116, 10, 109, 101, 100, 105, 97, 45, 115, 116, 111, 112, 5, 109, 105, 110, 117, 115, 4, 109, 117, 116, 101, 11, 109, 121, 45, 99, 111, 109, 112, 117, 116, 101, 114, 16, 110, 97, 118, 105, 103, 97, 116, 101, 45, 102, 111, 114, 119, 97, 114, 100, 17, 110, 97, 118, 105, 103, 97, 116, 101, 45, 98, 97, 99, 107, 119, 97, 114, 100, 10, 110, 101, 120, 116, 45, 116, 114, 97, 99, 107, 10, 110, 111, 45, 99, 111, 110, 118, 101, 114, 116, 6, 111, 101, 109, 49, 48, 50, 6, 112, 101, 114, 105, 111, 100, 10, 112, 108, 97, 121, 45, 112, 97, 117, 115, 101, 4, 112, 108, 117, 115, 5, 112, 111, 119, 101, 114, 10, 112, 114, 101, 118, 45, 116, 114, 97, 99, 107, 5, 114, 45, 97, 108, 116, 9, 114, 45, 98, 114, 97, 99, 107, 101, 116, 9, 114, 45, 99, 111, 110, 116, 114, 111, 108, 7, 114, 45, 115, 104, 105, 102, 116, 5, 114, 45, 119, 105, 110, 9, 115, 101, 109, 105, 99, 111, 108, 111, 110, 5, 115, 108, 97, 115, 104, 5, 115, 108, 101, 101, 112, 4, 115, 116, 111, 112, 5, 115, 121, 115, 114, 113, 3, 116, 97, 98, 9, 117, 110, 100, 101, 114, 108, 105, 110, 101, 9, 117, 110, 108, 97, 98, 101, 108, 101, 100, 11, 118, 111, 108, 117, 109, 101, 45, 100, 111, 119, 110, 9, 118, 111, 108, 117, 109, 101, 45, 117, 112, 4, 119, 97, 107, 101, 8, 119, 101, 98, 45, 98, 97, 99, 107, 13, 119, 101, 98, 45, 102, 97, 118, 111, 114, 105, 116, 101, 115, 11, 119, 101, 98, 45, 102, 111, 114, 119, 97, 114, 100, 8, 119, 101, 98, 45, 104, 111, 109, 101, 11, 119, 101, 98, 45, 114, 101, 102, 114, 101, 115, 104, 10, 119, 101, 98, 45, 115, 101, 97, 114, 99, 104, 8, 119, 101, 98, 45, 115, 116, 111, 112, 3, 121, 101, 110, 4, 99, 111, 112, 121, 5, 112, 97, 115, 116, 101, 3, 99, 117, 116, 4, 0, 16, 118, 105, 114, 116, 117, 97, 108, 45, 107, 101, 121, 45, 99, 111, 100, 101, 3, 0, 4, 1, 113, 4, 4, 108, 101, 102, 116, 0, 0, 5, 114, 105, 103, 104, 116, 0, 0, 6, 109, 105, 100, 100, 108, 101, 0, 0, 5, 111, 116, 104, 101, 114, 1, 123, 0, 4, 0, 12, 109, 111, 117, 115, 101, 45, 98, 117, 116, 116, 111, 110, 3, 0, 6, 1, 112, 5, 1, 112, 7, 1, 114, 5, 4, 107, 101, 121, 115, 8, 14, 109, 111, 117, 115, 101, 45, 112, 111, 115, 105, 116, 105, 111, 110, 1, 11, 109, 111, 117, 115, 101, 45, 100, 101, 108, 116, 97, 1, 11, 109, 111, 117, 115, 101, 45, 119, 104, 101, 101, 108, 118, 13, 109, 111, 117, 115, 101, 45, 98, 117, 116, 116, 111, 110, 115, 9, 4, 0, 5, 105, 110, 112, 117, 116, 3, 0, 10, 1, 113, 35, 12, 100, 101, 102, 97, 117, 108, 116, 45, 105, 99, 111, 110, 0, 0, 9, 99, 114, 111, 115, 115, 104, 97, 105, 114, 0, 0, 4, 104, 97, 110, 100, 0, 0, 5, 97, 114, 114, 111, 119, 0, 0, 4, 109, 111, 118, 101, 0, 0, 4, 116, 101, 120, 116, 0, 0, 4, 119, 97, 105, 116, 0, 0, 4, 104, 101, 108, 112, 0, 0, 8, 112, 114, 111, 103, 114, 101, 115, 115, 0, 0, 11, 110, 111, 116, 45, 97, 108, 108, 111, 119, 101, 100, 0, 0, 12, 99, 111, 110, 116, 101, 120, 116, 45, 109, 101, 110, 117, 0, 0, 4, 99, 101, 108, 108, 0, 0, 13, 118, 101, 114, 116, 105, 99, 97, 108, 45, 116, 101, 120, 116, 0, 0, 5, 97, 108, 105, 97, 115, 0, 0, 4, 99, 111, 112, 121, 0, 0, 7, 110, 111, 45, 100, 114, 111, 112, 0, 0, 4, 103, 114, 97, 98, 0, 0, 8, 103, 114, 97, 98, 98, 105, 110, 103, 0, 0, 10, 97, 108, 108, 45, 115, 99, 114, 111, 108, 108, 0, 0, 7, 122, 111, 111, 109, 45, 105, 110, 0, 0, 8, 122, 111, 111, 109, 45, 111, 117, 116, 0, 0, 8, 101, 45, 114, 101, 115, 105, 122, 101, 0, 0, 8, 110, 45, 114, 101, 115, 105, 122, 101, 0, 0, 9, 110, 101, 45, 114, 101, 115, 105, 122, 101, 0, 0, 9, 110, 119, 45, 114, 101, 115, 105, 122, 101, 0, 0, 8, 115, 45, 114, 101, 115, 105, 122, 101, 0, 0, 9, 115, 101, 45, 114, 101, 115, 105, 122, 101, 0, 0, 9, 115, 119, 45, 114, 101, 115, 105, 122, 101, 0, 0, 8, 119, 45, 114, 101, 115, 105, 122, 101, 0, 0, 9, 101, 119, 45, 114, 101, 115, 105, 122, 101, 0, 0, 9, 110, 115, 45, 114, 101, 115, 105, 122, 101, 0, 0, 11, 110, 101, 115, 119, 45, 114, 101, 115, 105, 122, 101, 0, 0, 11, 110, 119, 115, 101, 45, 114, 101, 115, 105, 122, 101, 0, 0, 10, 99, 111, 108, 45, 114, 101, 115, 105, 122, 101, 0, 0, 10, 114, 111, 119, 45, 114, 101, 115, 105, 122, 101, 0, 0, 4, 0, 11, 99, 117, 114, 115, 111, 114, 45, 105, 99, 111, 110, 3, 0, 12, 1, 64, 0, 0, 11, 4, 0, 3, 103, 101, 116, 1, 14, 4, 0, 12, 103, 101, 116, 45, 112, 114, 101, 118, 105, 111, 117, 115, 1, 14, 1, 64, 1, 4, 105, 99, 111, 110, 13, 1, 0, 4, 0, 10, 115, 101, 116, 45, 99, 117, 114, 115, 111, 114, 1, 15, 1, 64, 1, 7, 118, 105, 115, 105, 98, 108, 101, 127, 1, 0, 4, 0, 18, 115, 101, 116, 45, 99, 117, 114, 115, 111, 114, 45, 118, 105, 115, 105, 98, 108, 101, 1, 16, 1, 64, 1, 6, 108, 111, 99, 107, 101, 100, 127, 1, 0, 4, 0, 15, 115, 101, 116, 45, 99, 117, 114, 115, 111, 114, 45, 108, 111, 99, 107, 1, 17, 4, 1, 29, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 99, 108, 105, 101, 110, 116, 45, 105, 110, 112, 117, 116, 5, 13, 2, 3, 0, 5, 4, 117, 108, 105, 100, 1, 66, 18, 2, 3, 2, 1, 10, 4, 0, 4, 118, 101, 99, 50, 3, 0, 0, 2, 3, 2, 1, 9, 4, 0, 4, 118, 101, 99, 51, 3, 0, 2, 2, 3, 2, 1, 14, 4, 0, 4, 117, 108, 105, 100, 3, 0, 4, 1, 114, 4, 8, 112, 111, 115, 105, 116, 105, 111, 110, 3, 6, 110, 111, 114, 109, 97, 108, 3, 7, 116, 97, 110, 103, 101, 110, 116, 3, 9, 116, 101, 120, 99, 111, 111, 114, 100, 48, 1, 4, 0, 6, 118, 101, 114, 116, 101, 120, 3, 0, 6, 1, 112, 7, 1, 112, 121, 1, 114, 2, 8, 118, 101, 114, 116, 105, 99, 101, 115, 8, 7, 105, 110, 100, 105, 99, 101, 115, 9, 4, 0, 10, 100, 101, 115, 99, 114, 105, 112, 116, 111, 114, 3, 0, 10, 1, 114, 1, 4, 117, 108, 105, 100, 5, 4, 0, 6, 104, 97, 110, 100, 108, 101, 3, 0, 12, 1, 64, 1, 4, 100, 101, 115, 99, 11, 0, 13, 4, 0, 6, 99, 114, 101, 97, 116, 101, 1, 14, 1, 64, 1, 6, 104, 97, 110, 100, 108, 101, 13, 1, 0, 4, 0, 7, 100, 101, 115, 116, 114, 111, 121, 1, 15, 4, 1, 28, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 99, 108, 105, 101, 110, 116, 45, 109, 101, 115, 104, 5, 15, 1, 66, 7, 2, 3, 2, 1, 6, 4, 0, 9, 101, 110, 116, 105, 116, 121, 45, 105, 100, 3, 0, 0, 1, 113, 4, 17, 115, 101, 114, 118, 101, 114, 45, 117, 110, 114, 101, 108, 105, 97, 98, 108, 101, 0, 0, 15, 115, 101, 114, 118, 101, 114, 45, 114, 101, 108, 105, 97, 98, 108, 101, 0, 0, 15, 108, 111, 99, 97, 108, 45, 98, 114, 111, 97, 100, 99, 97, 115, 116, 1, 127, 0, 5, 108, 111, 99, 97, 108, 1, 1, 0, 4, 0, 6, 116, 97, 114, 103, 101, 116, 3, 0, 2, 1, 112, 125, 1, 64, 3, 9, 116, 97, 114, 103, 101, 116, 45, 105, 100, 3, 4, 110, 97, 109, 101, 115, 4, 100, 97, 116, 97, 4, 1, 0, 4, 0, 4, 115, 101, 110, 100, 1, 5, 4, 1, 31, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 99, 108, 105, 101, 110, 116, 45, 109, 101, 115, 115, 97, 103, 101, 5, 16, 1, 66, 4, 2, 3, 2, 1, 6, 4, 0, 9, 101, 110, 116, 105, 116, 121, 45, 105, 100, 3, 0, 0, 1, 64, 0, 0, 1, 4, 0, 9, 103, 101, 116, 45, 108, 111, 99, 97, 108, 1, 2, 4, 1, 30, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 99, 108, 105, 101, 110, 116, 45, 112, 108, 97, 121, 101, 114, 5, 17, 1, 66, 14, 2, 3, 2, 1, 14, 4, 0, 4, 117, 108, 105, 100, 3, 0, 0, 1, 113, 3, 13, 99, 108, 97, 109, 112, 45, 116, 111, 45, 101, 100, 103, 101, 0, 0, 6, 114, 101, 112, 101, 97, 116, 0, 0, 13, 109, 105, 114, 114, 111, 114, 45, 114, 101, 112, 101, 97, 116, 0, 0, 4, 0, 12, 97, 100, 100, 114, 101, 115, 115, 45, 109, 111, 100, 101, 3, 0, 2, 1, 113, 2, 7, 110, 101, 97, 114, 101, 115, 116, 0, 0, 6, 108, 105, 110, 101, 97, 114, 0, 0, 4, 0, 11, 102, 105, 108, 116, 101, 114, 45, 109, 111, 100, 101, 3, 0, 4, 1, 114, 6, 14, 97, 100, 100, 114, 101, 115, 115, 45, 109, 111, 100, 101, 45, 117, 3, 14, 97, 100, 100, 114, 101, 115, 115, 45, 109, 111, 100, 101, 45, 118, 3, 14, 97, 100, 100, 114, 101, 115, 115, 45, 109, 111, 100, 101, 45, 119, 3, 10, 109, 97, 103, 45, 102, 105, 108, 116, 101, 114, 5, 10, 109, 105, 110, 45, 102, 105, 108, 116, 101, 114, 5, 13, 109, 105, 112, 109, 97, 112, 45, 102, 105, 108, 116, 101, 114, 5, 4, 0, 10, 100, 101, 115, 99, 114, 105, 112, 116, 111, 114, 3, 0, 6, 1, 114, 1, 4, 117, 108, 105, 100, 1, 4, 0, 6, 104, 97, 110, 100, 108, 101, 3, 0, 8, 1, 64, 1, 4, 100, 101, 115, 99, 7, 0, 9, 4, 0, 6, 99, 114, 101, 97, 116, 101, 1, 10, 1, 64, 1, 6, 104, 97, 110, 100, 108, 101, 9, 1, 0, 4, 0, 7, 100, 101, 115, 116, 114, 111, 121, 1, 11, 4, 1, 31, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 99, 108, 105, 101, 110, 116, 45, 115, 97, 109, 112, 108, 101, 114, 5, 18, 1, 66, 13, 2, 3, 2, 1, 14, 4, 0, 4, 117, 108, 105, 100, 3, 0, 0, 1, 113, 42, 8, 114, 56, 45, 117, 110, 111, 114, 109, 0, 0, 8, 114, 56, 45, 115, 110, 111, 114, 109, 0, 0, 7, 114, 56, 45, 117, 105, 110, 116, 0, 0, 7, 114, 56, 45, 115, 105, 110, 116, 0, 0, 8, 114, 49, 54, 45, 117, 105, 110, 116, 0, 0, 8, 114, 49, 54, 45, 115, 105, 110, 116, 0, 0, 9, 114, 49, 54, 45, 117, 110, 111, 114, 109, 0, 0, 9, 114, 49, 54, 45, 115, 110, 111, 114, 109, 0, 0, 9, 114, 49, 54, 45, 102, 108, 111, 97, 116, 0, 0, 9, 114, 103, 56, 45, 117, 110, 111, 114, 109, 0, 0, 9, 114, 103, 56, 45, 115, 110, 111, 114, 109, 0, 0, 8, 114, 103, 56, 45, 117, 105, 110, 116, 0, 0, 8, 114, 103, 56, 45, 115, 105, 110, 116, 0, 0, 8, 114, 51, 50, 45, 117, 105, 110, 116, 0, 0, 8, 114, 51, 50, 45, 115, 105, 110, 116, 0, 0, 9, 114, 51, 50, 45, 102, 108, 111, 97, 116, 0, 0, 9, 114, 103, 49, 54, 45, 117, 105, 110, 116, 0, 0, 9, 114, 103, 49, 54, 45, 115, 105, 110, 116, 0, 0, 10, 114, 103, 49, 54, 45, 117, 110, 111, 114, 109, 0, 0, 10, 114, 103, 49, 54, 45, 115, 110, 111, 114, 109, 0, 0, 10, 114, 103, 49, 54, 45, 102, 108, 111, 97, 116, 0, 0, 11, 114, 103, 98, 97, 56, 45, 117, 110, 111, 114, 109, 0, 0, 16, 114, 103, 98, 97, 56, 45, 117, 110, 111, 114, 109, 45, 115, 114, 103, 98, 0, 0, 11, 114, 103, 98, 97, 56, 45, 115, 110, 111, 114, 109, 0, 0, 10, 114, 103, 98, 97, 56, 45, 117, 105, 110, 116, 0, 0, 10, 114, 103, 98, 97, 56, 45, 115, 105, 110, 116, 0, 0, 11, 98, 103, 114, 97, 56, 45, 117, 110, 111, 114, 109, 0, 0, 16, 98, 103, 114, 97, 56, 45, 117, 110, 111, 114, 109, 45, 115, 114, 103, 98, 0, 0, 13, 114, 103, 98, 57, 101, 53, 45, 117, 102, 108, 111, 97, 116, 0, 0, 13, 114, 103, 98, 49, 48, 97, 50, 45, 117, 110, 111, 114, 109, 0, 0, 13, 114, 103, 49, 49, 98, 49, 48, 45, 102, 108, 111, 97, 116, 0, 0, 9, 114, 103, 51, 50, 45, 117, 105, 110, 116, 0, 0, 9, 114, 103, 51, 50, 45, 115, 105, 110, 116, 0, 0, 10, 114, 103, 51, 50, 45, 102, 108, 111, 97, 116, 0, 0, 11, 114, 103, 98, 97, 49, 54, 45, 117, 105, 110, 116, 0, 0, 11, 114, 103, 98, 97, 49, 54, 45, 115, 105, 110, 116, 0, 0, 12, 114, 103, 98, 97, 49, 54, 45, 117, 110, 111, 114, 109, 0, 0, 12, 114, 103, 98, 97, 49, 54, 45, 115, 110, 111, 114, 109, 0, 0, 12, 114, 103, 98, 97, 49, 54, 45, 102, 108, 111, 97, 116, 0, 0, 11, 114, 103, 98, 97, 51, 50, 45, 117, 105, 110, 116, 0, 0, 11, 114, 103, 98, 97, 51, 50, 45, 115, 105, 110, 116, 0, 0, 12, 114, 103, 98, 97, 51, 50, 45, 102, 108, 111, 97, 116, 0, 0, 4, 0, 6, 102, 111, 114, 109, 97, 116, 3, 0, 2, 1, 112, 125, 1, 114, 4, 5, 119, 105, 100, 116, 104, 121, 6, 104, 101, 105, 103, 104, 116, 121, 6, 102, 111, 114, 109, 97, 116, 3, 4, 100, 97, 116, 97, 4, 4, 0, 12, 100, 101, 115, 99, 114, 105, 112, 116, 111, 114, 50, 100, 3, 0, 5, 1, 114, 1, 4, 117, 108, 105, 100, 1, 4, 0, 6, 104, 97, 110, 100, 108, 101, 3, 0, 7, 1, 64, 1, 4, 100, 101, 115, 99, 6, 0, 8, 4, 0, 8, 99, 114, 101, 97, 116, 101, 50, 100, 1, 9, 1, 64, 1, 6, 104, 97, 110, 100, 108, 101, 8, 1, 0, 4, 0, 7, 100, 101, 115, 116, 114, 111, 121, 1, 10, 4, 1, 31, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 99, 108, 105, 101, 110, 116, 45, 116, 101, 120, 116, 117, 114, 101, 5, 19, 2, 3, 0, 14, 6, 104, 97, 110, 100, 108, 101, 2, 3, 0, 13, 6, 104, 97, 110, 100, 108, 101, 1, 66, 14, 2, 3, 2, 1, 14, 4, 0, 4, 117, 108, 105, 100, 3, 0, 0, 2, 3, 2, 1, 20, 4, 0, 14, 116, 101, 120, 116, 117, 114, 101, 45, 104, 97, 110, 100, 108, 101, 3, 0, 2, 2, 3, 2, 1, 21, 4, 0, 14, 115, 97, 109, 112, 108, 101, 114, 45, 104, 97, 110, 100, 108, 101, 3, 0, 4, 1, 114, 5, 14, 98, 97, 115, 101, 45, 99, 111, 108, 111, 114, 45, 109, 97, 112, 3, 10, 110, 111, 114, 109, 97, 108, 45, 109, 97, 112, 3, 22, 109, 101, 116, 97, 108, 108, 105, 99, 45, 114, 111, 117, 103, 104, 110, 101, 115, 115, 45, 109, 97, 112, 3, 7, 115, 97, 109, 112, 108, 101, 114, 5, 11, 116, 114, 97, 110, 115, 112, 97, 114, 101, 110, 116, 127, 4, 0, 10, 100, 101, 115, 99, 114, 105, 112, 116, 111, 114, 3, 0, 6, 1, 114, 1, 4, 117, 108, 105, 100, 1, 4, 0, 6, 104, 97, 110, 100, 108, 101, 3, 0, 8, 1, 64, 1, 4, 100, 101, 115, 99, 7, 0, 9, 4, 0, 6, 99, 114, 101, 97, 116, 101, 1, 10, 1, 64, 1, 6, 104, 97, 110, 100, 108, 101, 9, 1, 0, 4, 0, 7, 100, 101, 115, 116, 114, 111, 121, 1, 11, 4, 1, 32, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 99, 108, 105, 101, 110, 116, 45, 109, 97, 116, 101, 114, 105, 97, 108, 5, 22, 2, 3, 0, 5, 4, 109, 97, 116, 52, 2, 3, 0, 5, 4, 113, 117, 97, 116, 2, 3, 0, 5, 4, 118, 101, 99, 52, 2, 3, 0, 5, 5, 117, 118, 101, 99, 50, 2, 3, 0, 5, 5, 117, 118, 101, 99, 51, 2, 3, 0, 5, 5, 117, 118, 101, 99, 52, 2, 3, 0, 5, 5, 105, 118, 101, 99, 50, 2, 3, 0, 5, 5, 105, 118, 101, 99, 51, 2, 3, 0, 5, 5, 105, 118, 101, 99, 52, 2, 3, 0, 5, 8, 100, 117, 114, 97, 116, 105, 111, 110, 2, 3, 0, 5, 5, 101, 109, 112, 116, 121, 2, 3, 0, 10, 6, 104, 97, 110, 100, 108, 101, 2, 3, 0, 15, 6, 104, 97, 110, 100, 108, 101, 1, 66, 143, 1, 2, 3, 2, 1, 6, 4, 0, 9, 101, 110, 116, 105, 116, 121, 45, 105, 100, 3, 0, 0, 2, 3, 2, 1, 23, 4, 0, 4, 109, 97, 116, 52, 3, 0, 2, 2, 3, 2, 1, 24, 4, 0, 4, 113, 117, 97, 116, 3, 0, 4, 2, 3, 2, 1, 10, 4, 0, 4, 118, 101, 99, 50, 3, 0, 6, 2, 3, 2, 1, 9, 4, 0, 4, 118, 101, 99, 51, 3, 0, 8, 2, 3, 2, 1, 25, 4, 0, 4, 118, 101, 99, 52, 3, 0, 10, 2, 3, 2, 1, 26, 4, 0, 5, 117, 118, 101, 99, 50, 3, 0, 12, 2, 3, 2, 1, 27, 4, 0, 5, 117, 118, 101, 99, 51, 3, 0, 14, 2, 3, 2, 1, 28, 4, 0, 5, 117, 118, 101, 99, 52, 3, 0, 16, 2, 3, 2, 1, 29, 4, 0, 5, 105, 118, 101, 99, 50, 3, 0, 18, 2, 3, 2, 1, 30, 4, 0, 5, 105, 118, 101, 99, 51, 3, 0, 20, 2, 3, 2, 1, 31, 4, 0, 5, 105, 118, 101, 99, 52, 3, 0, 22, 2, 3, 2, 1, 32, 4, 0, 8, 100, 117, 114, 97, 116, 105, 111, 110, 3, 0, 24, 2, 3, 2, 1, 33, 4, 0, 5, 101, 109, 112, 116, 121, 3, 0, 26, 2, 3, 2, 1, 34, 4, 0, 22, 112, 114, 111, 99, 101, 100, 117, 114, 97, 108, 45, 109, 101, 115, 104, 45, 104, 97, 110, 100, 108, 101, 3, 0, 28, 2, 3, 2, 1, 20, 4, 0, 25, 112, 114, 111, 99, 101, 100, 117, 114, 97, 108, 45, 116, 101, 120, 116, 117, 114, 101, 45, 104, 97, 110, 100, 108, 101, 3, 0, 30, 2, 3, 2, 1, 21, 4, 0, 25, 112, 114, 111, 99, 101, 100, 117, 114, 97, 108, 45, 115, 97, 109, 112, 108, 101, 114, 45, 104, 97, 110, 100, 108, 101, 3, 0, 32, 2, 3, 2, 1, 35, 4, 0, 26, 112, 114, 111, 99, 101, 100, 117, 114, 97, 108, 45, 109, 97, 116, 101, 114, 105, 97, 108, 45, 104, 97, 110, 100, 108, 101, 3, 0, 34, 1, 112, 27, 1, 112, 127, 1, 112, 1, 1, 112, 118, 1, 112, 117, 1, 112, 3, 1, 112, 5, 1, 112, 115, 1, 112, 125, 1, 112, 123, 1, 112, 121, 1, 112, 119, 1, 112, 126, 1, 112, 124, 1, 112, 122, 1, 112, 120, 1, 112, 7, 1, 112, 9, 1, 112, 11, 1, 112, 13, 1, 112, 15, 1, 112, 17, 1, 112, 19, 1, 112, 21, 1, 112, 23, 1, 112, 25, 1, 112, 29, 1, 112, 31, 1, 112, 33, 1, 112, 35, 1, 113, 30, 10, 116, 121, 112, 101, 45, 101, 109, 112, 116, 121, 1, 36, 0, 9, 116, 121, 112, 101, 45, 98, 111, 111, 108, 1, 37, 0, 14, 116, 121, 112, 101, 45, 101, 110, 116, 105, 116, 121, 45, 105, 100, 1, 38, 0, 8, 116, 121, 112, 101, 45, 102, 51, 50, 1, 39, 0, 8, 116, 121, 112, 101, 45, 102, 54, 52, 1, 40, 0, 9, 116, 121, 112, 101, 45, 109, 97, 116, 52, 1, 41, 0, 9, 116, 121, 112, 101, 45, 113, 117, 97, 116, 1, 42, 0, 11, 116, 121, 112, 101, 45, 115, 116, 114, 105, 110, 103, 1, 43, 0, 7, 116, 121, 112, 101, 45, 117, 56, 1, 44, 0, 8, 116, 121, 112, 101, 45, 117, 49, 54, 1, 45, 0, 8, 116, 121, 112, 101, 45, 117, 51, 50, 1, 46, 0, 8, 116, 121, 112, 101, 45, 117, 54, 52, 1, 47, 0, 7, 116, 121, 112, 101, 45, 105, 56, 1, 48, 0, 8, 116, 121, 112, 101, 45, 105, 49, 54, 1, 49, 0, 8, 116, 121, 112, 101, 45, 105, 51, 50, 1, 50, 0, 8, 116, 121, 112, 101, 45, 105, 54, 52, 1, 51, 0, 9, 116, 121, 112, 101, 45, 118, 101, 99, 50, 1, 52, 0, 9, 116, 121, 112, 101, 45, 118, 101, 99, 51, 1, 53, 0, 9, 116, 121, 112, 101, 45, 118, 101, 99, 52, 1, 54, 0, 10, 116, 121, 112, 101, 45, 117, 118, 101, 99, 50, 1, 55, 0, 10, 116, 121, 112, 101, 45, 117, 118, 101, 99, 51, 1, 56, 0, 10, 116, 121, 112, 101, 45, 117, 118, 101, 99, 52, 1, 57, 0, 10, 116, 121, 112, 101, 45, 105, 118, 101, 99, 50, 1, 58, 0, 10, 116, 121, 112, 101, 45, 105, 118, 101, 99, 51, 1, 59, 0, 10, 116, 121, 112, 101, 45, 105, 118, 101, 99, 52, 1, 60, 0, 13, 116, 121, 112, 101, 45, 100, 117, 114, 97, 116, 105, 111, 110, 1, 61, 0, 27, 116, 121, 112, 101, 45, 112, 114, 111, 99, 101, 100, 117, 114, 97, 108, 45, 109, 101, 115, 104, 45, 104, 97, 110, 100, 108, 101, 1, 62, 0, 30, 116, 121, 112, 101, 45, 112, 114, 111, 99, 101, 100, 117, 114, 97, 108, 45, 116, 101, 120, 116, 117, 114, 101, 45, 104, 97, 110, 100, 108, 101, 1, 63, 0, 30, 116, 121, 112, 101, 45, 112, 114, 111, 99, 101, 100, 117, 114, 97, 108, 45, 115, 97, 109, 112, 108, 101, 114, 45, 104, 97, 110, 100, 108, 101, 1, 192, 0, 0, 31, 116, 121, 112, 101, 45, 112, 114, 111, 99, 101, 100, 117, 114, 97, 108, 45, 109, 97, 116, 101, 114, 105, 97, 108, 45, 104, 97, 110, 100, 108, 101, 1, 193, 0, 0, 4, 0, 9, 118, 101, 99, 45, 118, 97, 108, 117, 101, 3, 0, 66, 1, 107, 27, 1, 107, 127, 1, 107, 1, 1, 107, 118, 1, 107, 117, 1, 107, 3, 1, 107, 5, 1, 107, 115, 1, 107, 125, 1, 107, 123, 1, 107, 121, 1, 107, 119, 1, 107, 126, 1, 107, 124, 1, 107, 122, 1, 107, 120, 1, 107, 7, 1, 107, 9, 1, 107, 11, 1, 107, 13, 1, 107, 15, 1, 107, 17, 1, 107, 19, 1, 107, 21, 1, 107, 23, 1, 107, 25, 1, 107, 29, 1, 107, 31, 1, 107, 33, 1, 107, 35, 1, 113, 30, 10, 116, 121, 112, 101, 45, 101, 109, 112, 116, 121, 1, 196, 0, 0, 9, 116, 121, 112, 101, 45, 98, 111, 111, 108, 1, 197, 0, 0, 14, 116, 121, 112, 101, 45, 101, 110, 116, 105, 116, 121, 45, 105, 100, 1, 198, 0, 0, 8, 116, 121, 112, 101, 45, 102, 51, 50, 1, 199, 0, 0, 8, 116, 121, 112, 101, 45, 102, 54, 52, 1, 200, 0, 0, 9, 116, 121, 112, 101, 45, 109, 97, 116, 52, 1, 201, 0, 0, 9, 116, 121, 112, 101, 45, 113, 117, 97, 116, 1, 202, 0, 0, 11, 116, 121, 112, 101, 45, 115, 116, 114, 105, 110, 103, 1, 203, 0, 0, 7, 116, 121, 112, 101, 45, 117, 56, 1, 204, 0, 0, 8, 116, 121, 112, 101, 45, 117, 49, 54, 1, 205, 0, 0, 8, 116, 121, 112, 101, 45, 117, 51, 50, 1, 206, 0, 0, 8, 116, 121, 112, 101, 45, 117, 54, 52, 1, 207, 0, 0, 7, 116, 121, 112, 101, 45, 105, 56, 1, 208, 0, 0, 8, 116, 121, 112, 101, 45, 105, 49, 54, 1, 209, 0, 0, 8, 116, 121, 112, 101, 45, 105, 51, 50, 1, 210, 0, 0, 8, 116, 121, 112, 101, 45, 105, 54, 52, 1, 211, 0, 0, 9, 116, 121, 112, 101, 45, 118, 101, 99, 50, 1, 212, 0, 0, 9, 116, 121, 112, 101, 45, 118, 101, 99, 51, 1, 213, 0, 0, 9, 116, 121, 112, 101, 45, 118, 101, 99, 52, 1, 214, 0, 0, 10, 116, 121, 112, 101, 45, 117, 118, 101, 99, 50, 1, 215, 0, 0, 10, 116, 121, 112, 101, 45, 117, 118, 101, 99, 51, 1, 216, 0, 0, 10, 116, 121, 112, 101, 45, 117, 118, 101, 99, 52, 1, 217, 0, 0, 10, 116, 121, 112, 101, 45, 105, 118, 101, 99, 50, 1, 218, 0, 0, 10, 116, 121, 112, 101, 45, 105, 118, 101, 99, 51, 1, 219, 0, 0, 10, 116, 121, 112, 101, 45, 105, 118, 101, 99, 52, 1, 220, 0, 0, 13, 116, 121, 112, 101, 45, 100, 117, 114, 97, 116, 105, 111, 110, 1, 221, 0, 0, 27, 116, 121, 112, 101, 45, 112, 114, 111, 99, 101, 100, 117, 114, 97, 108, 45, 109, 101, 115, 104, 45, 104, 97, 110, 100, 108, 101, 1, 222, 0, 0, 30, 116, 121, 112, 101, 45, 112, 114, 111, 99, 101, 100, 117, 114, 97, 108, 45, 116, 101, 120, 116, 117, 114, 101, 45, 104, 97, 110, 100, 108, 101, 1, 223, 0, 0, 30, 116, 121, 112, 101, 45, 112, 114, 111, 99, 101, 100, 117, 114, 97, 108, 45, 115, 97, 109, 112, 108, 101, 114, 45, 104, 97, 110, 100, 108, 101, 1, 224, 0, 0, 31, 116, 121, 112, 101, 45, 112, 114, 111, 99, 101, 100, 117, 114, 97, 108, 45, 109, 97, 116, 101, 114, 105, 97, 108, 45, 104, 97, 110, 100, 108, 101, 1, 225, 0, 0, 4, 0, 12, 111, 112, 116, 105, 111, 110, 45, 118, 97, 108, 117, 101, 3, 0, 98, 1, 113, 32, 10, 116, 121, 112, 101, 45, 101, 109, 112, 116, 121, 1, 27, 0, 9, 116, 121, 112, 101, 45, 98, 111, 111, 108, 1, 127, 0, 14, 116, 121, 112, 101, 45, 101, 110, 116, 105, 116, 121, 45, 105, 100, 1, 1, 0, 8, 116, 121, 112, 101, 45, 102, 51, 50, 1, 118, 0, 8, 116, 121, 112, 101, 45, 102, 54, 52, 1, 117, 0, 9, 116, 121, 112, 101, 45, 109, 97, 116, 52, 1, 3, 0, 9, 116, 121, 112, 101, 45, 113, 117, 97, 116, 1, 5, 0, 11, 116, 121, 112, 101, 45, 115, 116, 114, 105, 110, 103, 1, 115, 0, 7, 116, 121, 112, 101, 45, 117, 56, 1, 125, 0, 8, 116, 121, 112, 101, 45, 117, 49, 54, 1, 123, 0, 8, 116, 121, 112, 101, 45, 117, 51, 50, 1, 121, 0, 8, 116, 121, 112, 101, 45, 117, 54, 52, 1, 119, 0, 7, 116, 121, 112, 101, 45, 105, 56, 1, 126, 0, 8, 116, 121, 112, 101, 45, 105, 49, 54, 1, 124, 0, 8, 116, 121, 112, 101, 45, 105, 51, 50, 1, 122, 0, 8, 116, 121, 112, 101, 45, 105, 54, 52, 1, 120, 0, 9, 116, 121, 112, 101, 45, 118, 101, 99, 50, 1, 7, 0, 9, 116, 121, 112, 101, 45, 118, 101, 99, 51, 1, 9, 0, 9, 116, 121, 112, 101, 45, 118, 101, 99, 52, 1, 11, 0, 10, 116, 121, 112, 101, 45, 117, 118, 101, 99, 50, 1, 13, 0, 10, 116, 121, 112, 101, 45, 117, 118, 101, 99, 51, 1, 15, 0, 10, 116, 121, 112, 101, 45, 117, 118, 101, 99, 52, 1, 17, 0, 10, 116, 121, 112, 101, 45, 105, 118, 101, 99, 50, 1, 19, 0, 10, 116, 121, 112, 101, 45, 105, 118, 101, 99, 51, 1, 21, 0, 10, 116, 121, 112, 101, 45, 105, 118, 101, 99, 52, 1, 23, 0, 13, 116, 121, 112, 101, 45, 100, 117, 114, 97, 116, 105, 111, 110, 1, 25, 0, 27, 116, 121, 112, 101, 45, 112, 114, 111, 99, 101, 100, 117, 114, 97, 108, 45, 109, 101, 115, 104, 45, 104, 97, 110, 100, 108, 101, 1, 29, 0, 30, 116, 121, 112, 101, 45, 112, 114, 111, 99, 101, 100, 117, 114, 97, 108, 45, 116, 101, 120, 116, 117, 114, 101, 45, 104, 97, 110, 100, 108, 101, 1, 31, 0, 30, 116, 121, 112, 101, 45, 112, 114, 111, 99, 101, 100, 117, 114, 97, 108, 45, 115, 97, 109, 112, 108, 101, 114, 45, 104, 97, 110, 100, 108, 101, 1, 33, 0, 31, 116, 121, 112, 101, 45, 112, 114, 111, 99, 101, 100, 117, 114, 97, 108, 45, 109, 97, 116, 101, 114, 105, 97, 108, 45, 104, 97, 110, 100, 108, 101, 1, 35, 0, 8, 116, 121, 112, 101, 45, 118, 101, 99, 1, 195, 0, 0, 11, 116, 121, 112, 101, 45, 111, 112, 116, 105, 111, 110, 1, 227, 0, 0, 4, 0, 5, 118, 97, 108, 117, 101, 3, 0, 100, 1, 121, 4, 0, 15, 99, 111, 109, 112, 111, 110, 101, 110, 116, 45, 105, 110, 100, 101, 120, 3, 0, 102, 1, 111, 2, 121, 229, 0, 1, 112, 232, 0, 4, 0, 6, 101, 110, 116, 105, 116, 121, 3, 0, 105, 1, 114, 4, 10, 99, 111, 109, 112, 111, 110, 101, 110, 116, 115, 46, 8, 105, 110, 99, 108, 117, 100, 101, 115, 46, 8, 101, 120, 99, 108, 117, 100, 101, 115, 46, 7, 99, 104, 97, 110, 103, 101, 100, 46, 4, 0, 11, 113, 117, 101, 114, 121, 45, 98, 117, 105, 108, 100, 3, 0, 107, 1, 109, 3, 5, 102, 114, 97, 109, 101, 5, 115, 112, 97, 119, 110, 7, 100, 101, 115, 112, 97, 119, 110, 4, 0, 11, 113, 117, 101, 114, 121, 45, 101, 118, 101, 110, 116, 3, 0, 109, 1, 64, 1, 2, 105, 100, 115, 0, 206, 0, 4, 0, 9, 103, 101, 116, 45, 105, 110, 100, 101, 120, 1, 111, 1, 64, 1, 5, 105, 110, 100, 101, 120, 121, 0, 203, 0, 4, 0, 6, 103, 101, 116, 45, 105, 100, 1, 112, 1, 107, 229, 0, 1, 64, 2, 6, 101, 110, 116, 105, 116, 121, 1, 5, 105, 110, 100, 101, 120, 121, 0, 241, 0, 4, 0, 13, 103, 101, 116, 45, 99, 111, 109, 112, 111, 110, 101, 110, 116, 1, 114, 1, 64, 2, 6, 101, 110, 116, 105, 116, 121, 1, 7, 105, 110, 100, 105, 99, 101, 115, 46, 0, 234, 0, 4, 0, 14, 103, 101, 116, 45, 99, 111, 109, 112, 111, 110, 101, 110, 116, 115, 1, 115, 1, 64, 1, 6, 101, 110, 116, 105, 116, 121, 1, 0, 234, 0, 4, 0, 18, 103, 101, 116, 45, 97, 108, 108, 45, 99, 111, 109, 112, 111, 110, 101, 110, 116, 115, 1, 116, 1, 64, 3, 6, 101, 110, 116, 105, 116, 121, 1, 5, 105, 110, 100, 101, 120, 121, 5, 118, 97, 108, 117, 101, 229, 0, 1, 0, 4, 0, 13, 97, 100, 100, 45, 99, 111, 109, 112, 111, 110, 101, 110, 116, 1, 117, 1, 64, 2, 6, 101, 110, 116, 105, 116, 121, 1, 4, 100, 97, 116, 97, 234, 0, 1, 0, 4, 0, 14, 97, 100, 100, 45, 99, 111, 109, 112, 111, 110, 101, 110, 116, 115, 1, 118, 4, 0, 13, 115, 101, 116, 45, 99, 111, 109, 112, 111, 110, 101, 110, 116, 1, 117, 4, 0, 14, 115, 101, 116, 45, 99, 111, 109, 112, 111, 110, 101, 110, 116, 115, 1, 118, 1, 64, 2, 6, 101, 110, 116, 105, 116, 121, 1, 5, 105, 110, 100, 101, 120, 121, 0, 127, 4, 0, 13, 104, 97, 115, 45, 99, 111, 109, 112, 111, 110, 101, 110, 116, 1, 119, 1, 64, 2, 6, 101, 110, 116, 105, 116, 121, 1, 7, 105, 110, 100, 105, 99, 101, 115, 46, 0, 127, 4, 0, 14, 104, 97, 115, 45, 99, 111, 109, 112, 111, 110, 101, 110, 116, 115, 1, 120, 1, 64, 2, 6, 101, 110, 116, 105, 116, 121, 1, 5, 105, 110, 100, 101, 120, 121, 1, 0, 4, 0, 16, 114, 101, 109, 111, 118, 101, 45, 99, 111, 109, 112, 111, 110, 101, 110, 116, 1, 121, 1, 64, 2, 6, 101, 110, 116, 105, 116, 121, 1, 7, 105, 110, 100, 105, 99, 101, 115, 46, 1, 0, 4, 0, 17, 114, 101, 109, 111, 118, 101, 45, 99, 111, 109, 112, 111, 110, 101, 110, 116, 115, 1, 122, 1, 64, 2, 1, 113, 236, 0, 1, 116, 238, 0, 0, 119, 4, 0, 5, 113, 117, 101, 114, 121, 1, 123, 1, 112, 229, 0, 1, 111, 2, 1, 252, 0, 1, 112, 253, 0, 1, 64, 1, 1, 113, 119, 0, 254, 0, 4, 0, 10, 113, 117, 101, 114, 121, 45, 101, 118, 97, 108, 1, 127, 4, 1, 26, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 99, 111, 109, 112, 111, 110, 101, 110, 116, 5, 36, 2, 3, 0, 16, 6, 101, 110, 116, 105, 116, 121, 1, 66, 29, 2, 3, 2, 1, 6, 4, 0, 9, 101, 110, 116, 105, 116, 121, 45, 105, 100, 3, 0, 0, 2, 3, 2, 1, 9, 4, 0, 4, 118, 101, 99, 51, 3, 0, 2, 2, 3, 2, 1, 24, 4, 0, 4, 113, 117, 97, 116, 3, 0, 4, 2, 3, 2, 1, 23, 4, 0, 4, 109, 97, 116, 52, 3, 0, 6, 2, 3, 2, 1, 37, 4, 0, 11, 101, 110, 116, 105, 116, 121, 45, 100, 97, 116, 97, 3, 0, 8, 1, 112, 1, 1, 112, 7, 1, 64, 2, 8, 101, 110, 116, 105, 116, 105, 101, 115, 10, 6, 111, 114, 105, 103, 105, 110, 1, 0, 11, 4, 0, 26, 103, 101, 116, 45, 116, 114, 97, 110, 115, 102, 111, 114, 109, 115, 45, 114, 101, 108, 97, 116, 105, 118, 101, 45, 116, 111, 1, 12, 1, 64, 1, 4, 100, 97, 116, 97, 9, 0, 1, 4, 0, 5, 115, 112, 97, 119, 110, 1, 13, 1, 107, 9, 1, 64, 1, 6, 101, 110, 116, 105, 116, 121, 1, 0, 14, 4, 0, 7, 100, 101, 115, 112, 97, 119, 110, 1, 15, 1, 64, 2, 8, 112, 111, 115, 105, 116, 105, 111, 110, 3, 6, 114, 97, 100, 105, 117, 115, 118, 0, 10, 4, 0, 7, 105, 110, 45, 97, 114, 101, 97, 1, 16, 1, 64, 1, 6, 101, 110, 116, 105, 116, 121, 1, 0, 127, 4, 0, 6, 101, 120, 105, 115, 116, 115, 1, 17, 1, 64, 1, 5, 105, 110, 100, 101, 120, 121, 0, 10, 4, 0, 7, 103, 101, 116, 45, 97, 108, 108, 1, 18, 1, 64, 0, 0, 1, 4, 0, 9, 114, 101, 115, 111, 117, 114, 99, 101, 115, 1, 19, 4, 0, 22, 115, 121, 110, 99, 104, 114, 111, 110, 105, 122, 101, 100, 45, 114, 101, 115, 111, 117, 114, 99, 101, 115, 1, 19, 4, 0, 19, 112, 101, 114, 115, 105, 115, 116, 101, 100, 45, 114, 101, 115, 111, 117, 114, 99, 101, 115, 1, 19, 4, 1, 23, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 101, 110, 116, 105, 116, 121, 5, 38, 1, 66, 9, 2, 3, 2, 1, 6, 4, 0, 9, 101, 110, 116, 105, 116, 121, 45, 105, 100, 3, 0, 0, 1, 113, 4, 7, 114, 117, 110, 116, 105, 109, 101, 0, 0, 5, 108, 111, 99, 97, 108, 1, 1, 0, 6, 115, 101, 114, 118, 101, 114, 0, 0, 6, 99, 108, 105, 101, 110, 116, 1, 115, 0, 4, 0, 6, 115, 111, 117, 114, 99, 101, 3, 0, 2, 1, 64, 0, 1, 0, 4, 0, 4, 105, 110, 105, 116, 1, 4, 1, 112, 125, 1, 64, 3, 14, 109, 101, 115, 115, 97, 103, 101, 45, 115, 111, 117, 114, 99, 101, 3, 12, 109, 101, 115, 115, 97, 103, 101, 45, 110, 97, 109, 101, 115, 12, 109, 101, 115, 115, 97, 103, 101, 45, 100, 97, 116, 97, 5, 1, 0, 4, 0, 4, 101, 120, 101, 99, 1, 6, 4, 1, 22, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 103, 117, 101, 115, 116, 5, 39, 1, 66, 4, 2, 3, 2, 1, 37, 4, 0, 6, 101, 110, 116, 105, 116, 121, 3, 0, 0, 1, 64, 1, 4, 110, 97, 109, 101, 115, 1, 0, 4, 0, 9, 115, 117, 98, 115, 99, 114, 105, 98, 101, 1, 2, 4, 1, 24, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 109, 101, 115, 115, 97, 103, 101, 5, 40, 1, 66, 5, 2, 3, 2, 1, 6, 4, 0, 9, 101, 110, 116, 105, 116, 121, 45, 105, 100, 3, 0, 0, 1, 107, 1, 1, 64, 1, 7, 117, 115, 101, 114, 45, 105, 100, 115, 0, 2, 4, 0, 14, 103, 101, 116, 45, 98, 121, 45, 117, 115, 101, 114, 45, 105, 100, 1, 3, 4, 1, 23, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 112, 108, 97, 121, 101, 114, 5, 41, 1, 66, 7, 2, 3, 2, 1, 6, 4, 0, 9, 101, 110, 116, 105, 116, 121, 45, 105, 100, 3, 0, 0, 1, 113, 6, 27, 99, 108, 105, 101, 110, 116, 45, 98, 114, 111, 97, 100, 99, 97, 115, 116, 45, 117, 110, 114, 101, 108, 105, 97, 98, 108, 101, 0, 0, 25, 99, 108, 105, 101, 110, 116, 45, 98, 114, 111, 97, 100, 99, 97, 115, 116, 45, 114, 101, 108, 105, 97, 98, 108, 101, 0, 0, 26, 99, 108, 105, 101, 110, 116, 45, 116, 97, 114, 103, 101, 116, 101, 100, 45, 117, 110, 114, 101, 108, 105, 97, 98, 108, 101, 1, 115, 0, 24, 99, 108, 105, 101, 110, 116, 45, 116, 97, 114, 103, 101, 116, 101, 100, 45, 114, 101, 108, 105, 97, 98, 108, 101, 1, 115, 0, 15, 108, 111, 99, 97, 108, 45, 98, 114, 111, 97, 100, 99, 97, 115, 116, 1, 127, 0, 5, 108, 111, 99, 97, 108, 1, 1, 0, 4, 0, 6, 116, 97, 114, 103, 101, 116, 3, 0, 2, 1, 112, 125, 1, 64, 3, 9, 116, 97, 114, 103, 101, 116, 45, 105, 100, 3, 4, 110, 97, 109, 101, 115, 4, 100, 97, 116, 97, 4, 1, 0, 4, 0, 4, 115, 101, 110, 100, 1, 5, 4, 1, 31, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 115, 101, 114, 118, 101, 114, 45, 109, 101, 115, 115, 97, 103, 101, 5, 42, 1, 66, 43, 2, 3, 2, 1, 6, 4, 0, 9, 101, 110, 116, 105, 116, 121, 45, 105, 100, 3, 0, 0, 2, 3, 2, 1, 9, 4, 0, 4, 118, 101, 99, 51, 3, 0, 2, 2, 3, 2, 1, 23, 4, 0, 4, 109, 97, 116, 52, 3, 0, 4, 1, 114, 3, 4, 115, 105, 100, 101, 127, 2, 117, 112, 127, 4, 100, 111, 119, 110, 127, 4, 0, 19, 99, 104, 97, 114, 97, 99, 116, 101, 114, 45, 99, 111, 108, 108, 105, 115, 105, 111, 110, 3, 0, 6, 1, 64, 2, 6, 101, 110, 116, 105, 116, 121, 1, 5, 102, 111, 114, 99, 101, 3, 1, 0, 4, 0, 9, 97, 100, 100, 45, 102, 111, 114, 99, 101, 1, 8, 1, 64, 2, 6, 101, 110, 116, 105, 116, 121, 1, 7, 105, 109, 112, 117, 108, 115, 101, 3, 1, 0, 4, 0, 11, 97, 100, 100, 45, 105, 109, 112, 117, 108, 115, 101, 1, 9, 1, 107, 118, 1, 64, 4, 8, 112, 111, 115, 105, 116, 105, 111, 110, 3, 7, 105, 109, 112, 117, 108, 115, 101, 118, 6, 114, 97, 100, 105, 117, 115, 118, 14, 102, 97, 108, 108, 111, 102, 102, 45, 114, 97, 100, 105, 117, 115, 10, 1, 0, 4, 0, 18, 97, 100, 100, 45, 114, 97, 100, 105, 97, 108, 45, 105, 109, 112, 117, 108, 115, 101, 1, 11, 1, 64, 3, 6, 101, 110, 116, 105, 116, 121, 1, 5, 102, 111, 114, 99, 101, 3, 8, 112, 111, 115, 105, 116, 105, 111, 110, 3, 1, 0, 4, 0, 21, 97, 100, 100, 45, 102, 111, 114, 99, 101, 45, 97, 116, 45, 112, 111, 115, 105, 116, 105, 111, 110, 1, 12, 1, 64, 3, 6, 101, 110, 116, 105, 116, 121, 1, 7, 105, 109, 112, 117, 108, 115, 101, 3, 8, 112, 111, 115, 105, 116, 105, 111, 110, 3, 1, 0, 4, 0, 23, 97, 100, 100, 45, 105, 109, 112, 117, 108, 115, 101, 45, 97, 116, 45, 112, 111, 115, 105, 116, 105, 111, 110, 1, 13, 1, 64, 2, 6, 101, 110, 116, 105, 116, 121, 1, 8, 112, 111, 115, 105, 116, 105, 111, 110, 3, 0, 3, 4, 0, 24, 103, 101, 116, 45, 118, 101, 108, 111, 99, 105, 116, 121, 45, 97, 116, 45, 112, 111, 115, 105, 116, 105, 111, 110, 1, 14, 1, 64, 1, 7, 103, 114, 97, 118, 105, 116, 121, 3, 1, 0, 4, 0, 11, 115, 101, 116, 45, 103, 114, 97, 118, 105, 116, 121, 1, 15, 1, 64, 1, 6, 101, 110, 116, 105, 116, 121, 1, 1, 0, 4, 0, 8, 117, 110, 102, 114, 101, 101, 122, 101, 1, 16, 4, 0, 6, 102, 114, 101, 101, 122, 101, 1, 16, 1, 64, 2, 6, 101, 110, 116, 105, 116, 121, 1, 8, 118, 101, 108, 111, 99, 105, 116, 121, 118, 1, 0, 4, 0, 11, 115, 116, 97, 114, 116, 45, 109, 111, 116, 111, 114, 1, 17, 4, 0, 10, 115, 116, 111, 112, 45, 109, 111, 116, 111, 114, 1, 16, 1, 64, 4, 6, 97, 99, 116, 111, 114, 48, 1, 10, 116, 114, 97, 110, 115, 102, 111, 114, 109, 48, 5, 6, 97, 99, 116, 111, 114, 49, 1, 10, 116, 114, 97, 110, 115, 102, 111, 114, 109, 49, 5, 1, 0, 4, 0, 21, 99, 114, 101, 97, 116, 101, 45, 114, 101, 118, 111, 108, 117, 116, 101, 45, 106, 111, 105, 110, 116, 1, 18, 1, 111, 2, 1, 118, 1, 107, 19, 1, 64, 2, 6, 111, 114, 105, 103, 105, 110, 3, 9, 100, 105, 114, 101, 99, 116, 105, 111, 110, 3, 0, 20, 4, 0, 13, 114, 97, 121, 99, 97, 115, 116, 45, 102, 105, 114, 115, 116, 1, 21, 1, 112, 19, 1, 64, 2, 6, 111, 114, 105, 103, 105, 110, 3, 9, 100, 105, 114, 101, 99, 116, 105, 111, 110, 3, 0, 22, 4, 0, 7, 114, 97, 121, 99, 97, 115, 116, 1, 23, 1, 64, 4, 6, 101, 110, 116, 105, 116, 121, 1, 12, 100, 105, 115, 112, 108, 97, 99, 101, 109, 101, 110, 116, 3, 8, 109, 105, 110, 45, 100, 105, 115, 116, 118, 12, 101, 108, 97, 112, 115, 101, 100, 45, 116, 105, 109, 101, 118, 0, 7, 4, 0, 14, 109, 111, 118, 101, 45, 99, 104, 97, 114, 97, 99, 116, 101, 114, 1, 24, 1, 64, 2, 6, 101, 110, 116, 105, 116, 121, 1, 8, 112, 111, 115, 105, 116, 105, 111, 110, 3, 1, 0, 4, 0, 22, 115, 101, 116, 45, 99, 104, 97, 114, 97, 99, 116, 101, 114, 45, 112, 111, 115, 105, 116, 105, 111, 110, 1, 25, 4, 0, 27, 115, 101, 116, 45, 99, 104, 97, 114, 97, 99, 116, 101, 114, 45, 102, 111, 111, 116, 45, 112, 111, 115, 105, 116, 105, 111, 110, 1, 25, 4, 1, 31, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 115, 101, 114, 118, 101, 114, 45, 112, 104, 121, 115, 105, 99, 115, 5, 43, 1, 65, 67, 1, 66, 32, 1, 114, 2, 3, 105, 100, 48, 119, 3, 105, 100, 49, 119, 4, 0, 9, 101, 110, 116, 105, 116, 121, 45, 105, 100, 3, 0, 0, 1, 114, 2, 1, 120, 118, 1, 121, 118, 4, 0, 4, 118, 101, 99, 50, 3, 0, 2, 1, 114, 3, 1, 120, 118, 1, 121, 118, 1, 122, 118, 4, 0, 4, 118, 101, 99, 51, 3, 0, 4, 1, 114, 4, 1, 120, 118, 1, 121, 118, 1, 122, 118, 1, 119, 118, 4, 0, 4, 118, 101, 99, 52, 3, 0, 6, 1, 114, 2, 1, 120, 121, 1, 121, 121, 4, 0, 5, 117, 118, 101, 99, 50, 3, 0, 8, 1, 114, 3, 1, 120, 121, 1, 121, 121, 1, 122, 121, 4, 0, 5, 117, 118, 101, 99, 51, 3, 0, 10, 1, 114, 4, 1, 120, 121, 1, 121, 121, 1, 122, 121, 1, 119, 121, 4, 0, 5, 117, 118, 101, 99, 52, 3, 0, 12, 1, 114, 2, 1, 120, 122, 1, 121, 122, 4, 0, 5, 105, 118, 101, 99, 50, 3, 0, 14, 1, 114, 3, 1, 120, 122, 1, 121, 122, 1, 122, 122, 4, 0, 5, 105, 118, 101, 99, 51, 3, 0, 16, 1, 114, 4, 1, 120, 122, 1, 121, 122, 1, 122, 122, 1, 119, 122, 4, 0, 5, 105, 118, 101, 99, 52, 3, 0, 18, 1, 114, 4, 1, 120, 118, 1, 121, 118, 1, 122, 118, 1, 119, 118, 4, 0, 4, 113, 117, 97, 116, 3, 0, 20, 1, 114, 4, 1, 120, 7, 1, 121, 7, 1, 122, 7, 1, 119, 7, 4, 0, 4, 109, 97, 116, 52, 3, 0, 22, 1, 114, 2, 7, 115, 101, 99, 111, 110, 100, 115, 119, 11, 110, 97, 110, 111, 115, 101, 99, 111, 110, 100, 115, 121, 4, 0, 8, 100, 117, 114, 97, 116, 105, 111, 110, 3, 0, 24, 1, 114, 2, 6, 111, 114, 105, 103, 105, 110, 5, 3, 100, 105, 114, 5, 4, 0, 3, 114, 97, 121, 3, 0, 26, 1, 114, 1, 5, 100, 117, 109, 109, 121, 125, 4, 0, 5, 101, 109, 112, 116, 121, 3, 0, 28, 1, 111, 2, 119, 119, 4, 0, 4, 117, 108, 105, 100, 3, 0, 30, 3, 1, 22, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 116, 121, 112, 101, 115, 5, 0, 2, 3, 0, 0, 9, 101, 110, 116, 105, 116, 121, 45, 105, 100, 1, 66, 7, 2, 3, 2, 1, 1, 4, 0, 9, 101, 110, 116, 105, 116, 121, 45, 105, 100, 3, 0, 0, 1, 113, 1, 11, 105, 110, 118, 97, 108, 105, 100, 45, 117, 114, 108, 1, 115, 0, 4, 0, 9, 117, 114, 108, 45, 101, 114, 114, 111, 114, 3, 0, 2, 1, 106, 1, 115, 1, 3, 1, 64, 2, 10, 112, 97, 99, 107, 97, 103, 101, 45, 105, 100, 1, 4, 112, 97, 116, 104, 115, 0, 4, 4, 0, 3, 117, 114, 108, 1, 5, 3, 1, 22, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 97, 115, 115, 101, 116, 5, 2, 2, 3, 0, 0, 4, 118, 101, 99, 50, 2, 3, 0, 0, 4, 118, 101, 99, 51, 2, 3, 0, 0, 4, 117, 108, 105, 100, 1, 66, 18, 2, 3, 2, 1, 3, 4, 0, 4, 118, 101, 99, 50, 3, 0, 0, 2, 3, 2, 1, 4, 4, 0, 4, 118, 101, 99, 51, 3, 0, 2, 2, 3, 2, 1, 5, 4, 0, 4, 117, 108, 105, 100, 3, 0, 4, 1, 114, 4, 8, 112, 111, 115, 105, 116, 105, 111, 110, 3, 6, 110, 111, 114, 109, 97, 108, 3, 7, 116, 97, 110, 103, 101, 110, 116, 3, 9, 116, 101, 120, 99, 111, 111, 114, 100, 48, 1, 4, 0, 6, 118, 101, 114, 116, 101, 120, 3, 0, 6, 1, 112, 7, 1, 112, 121, 1, 114, 2, 8, 118, 101, 114, 116, 105, 99, 101, 115, 8, 7, 105, 110, 100, 105, 99, 101, 115, 9, 4, 0, 10, 100, 101, 115, 99, 114, 105, 112, 116, 111, 114, 3, 0, 10, 1, 114, 1, 4, 117, 108, 105, 100, 5, 4, 0, 6, 104, 97, 110, 100, 108, 101, 3, 0, 12, 1, 64, 1, 4, 100, 101, 115, 99, 11, 0, 13, 4, 0, 6, 99, 114, 101, 97, 116, 101, 1, 14, 1, 64, 1, 6, 104, 97, 110, 100, 108, 101, 13, 1, 0, 4, 0, 7, 100, 101, 115, 116, 114, 111, 121, 1, 15, 3, 1, 28, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 99, 108, 105, 101, 110, 116, 45, 109, 101, 115, 104, 5, 6, 1, 66, 13, 2, 3, 2, 1, 5, 4, 0, 4, 117, 108, 105, 100, 3, 0, 0, 1, 113, 42, 8, 114, 56, 45, 117, 110, 111, 114, 109, 0, 0, 8, 114, 56, 45, 115, 110, 111, 114, 109, 0, 0, 7, 114, 56, 45, 117, 105, 110, 116, 0, 0, 7, 114, 56, 45, 115, 105, 110, 116, 0, 0, 8, 114, 49, 54, 45, 117, 105, 110, 116, 0, 0, 8, 114, 49, 54, 45, 115, 105, 110, 116, 0, 0, 9, 114, 49, 54, 45, 117, 110, 111, 114, 109, 0, 0, 9, 114, 49, 54, 45, 115, 110, 111, 114, 109, 0, 0, 9, 114, 49, 54, 45, 102, 108, 111, 97, 116, 0, 0, 9, 114, 103, 56, 45, 117, 110, 111, 114, 109, 0, 0, 9, 114, 103, 56, 45, 115, 110, 111, 114, 109, 0, 0, 8, 114, 103, 56, 45, 117, 105, 110, 116, 0, 0, 8, 114, 103, 56, 45, 115, 105, 110, 116, 0, 0, 8, 114, 51, 50, 45, 117, 105, 110, 116, 0, 0, 8, 114, 51, 50, 45, 115, 105, 110, 116, 0, 0, 9, 114, 51, 50, 45, 102, 108, 111, 97, 116, 0, 0, 9, 114, 103, 49, 54, 45, 117, 105, 110, 116, 0, 0, 9, 114, 103, 49, 54, 45, 115, 105, 110, 116, 0, 0, 10, 114, 103, 49, 54, 45, 117, 110, 111, 114, 109, 0, 0, 10, 114, 103, 49, 54, 45, 115, 110, 111, 114, 109, 0, 0, 10, 114, 103, 49, 54, 45, 102, 108, 111, 97, 116, 0, 0, 11, 114, 103, 98, 97, 56, 45, 117, 110, 111, 114, 109, 0, 0, 16, 114, 103, 98, 97, 56, 45, 117, 110, 111, 114, 109, 45, 115, 114, 103, 98, 0, 0, 11, 114, 103, 98, 97, 56, 45, 115, 110, 111, 114, 109, 0, 0, 10, 114, 103, 98, 97, 56, 45, 117, 105, 110, 116, 0, 0, 10, 114, 103, 98, 97, 56, 45, 115, 105, 110, 116, 0, 0, 11, 98, 103, 114, 97, 56, 45, 117, 110, 111, 114, 109, 0, 0, 16, 98, 103, 114, 97, 56, 45, 117, 110, 111, 114, 109, 45, 115, 114, 103, 98, 0, 0, 13, 114, 103, 98, 57, 101, 53, 45, 117, 102, 108, 111, 97, 116, 0, 0, 13, 114, 103, 98, 49, 48, 97, 50, 45, 117, 110, 111, 114, 109, 0, 0, 13, 114, 103, 49, 49, 98, 49, 48, 45, 102, 108, 111, 97, 116, 0, 0, 9, 114, 103, 51, 50, 45, 117, 105, 110, 116, 0, 0, 9, 114, 103, 51, 50, 45, 115, 105, 110, 116, 0, 0, 10, 114, 103, 51, 50, 45, 102, 108, 111, 97, 116, 0, 0, 11, 114, 103, 98, 97, 49, 54, 45, 117, 105, 110, 116, 0, 0, 11, 114, 103, 98, 97, 49, 54, 45, 115, 105, 110, 116, 0, 0, 12, 114, 103, 98, 97, 49, 54, 45, 117, 110, 111, 114, 109, 0, 0, 12, 114, 103, 98, 97, 49, 54, 45, 115, 110, 111, 114, 109, 0, 0, 12, 114, 103, 98, 97, 49, 54, 45, 102, 108, 111, 97, 116, 0, 0, 11, 114, 103, 98, 97, 51, 50, 45, 117, 105, 110, 116, 0, 0, 11, 114, 103, 98, 97, 51, 50, 45, 115, 105, 110, 116, 0, 0, 12, 114, 103, 98, 97, 51, 50, 45, 102, 108, 111, 97, 116, 0, 0, 4, 0, 6, 102, 111, 114, 109, 97, 116, 3, 0, 2, 1, 112, 125, 1, 114, 4, 5, 119, 105, 100, 116, 104, 121, 6, 104, 101, 105, 103, 104, 116, 121, 6, 102, 111, 114, 109, 97, 116, 3, 4, 100, 97, 116, 97, 4, 4, 0, 12, 100, 101, 115, 99, 114, 105, 112, 116, 111, 114, 50, 100, 3, 0, 5, 1, 114, 1, 4, 117, 108, 105, 100, 1, 4, 0, 6, 104, 97, 110, 100, 108, 101, 3, 0, 7, 1, 64, 1, 4, 100, 101, 115, 99, 6, 0, 8, 4, 0, 8, 99, 114, 101, 97, 116, 101, 50, 100, 1, 9, 1, 64, 1, 6, 104, 97, 110, 100, 108, 101, 8, 1, 0, 4, 0, 7, 100, 101, 115, 116, 114, 111, 121, 1, 10, 3, 1, 31, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 99, 108, 105, 101, 110, 116, 45, 116, 101, 120, 116, 117, 114, 101, 5, 7, 1, 66, 14, 2, 3, 2, 1, 5, 4, 0, 4, 117, 108, 105, 100, 3, 0, 0, 1, 113, 3, 13, 99, 108, 97, 109, 112, 45, 116, 111, 45, 101, 100, 103, 101, 0, 0, 6, 114, 101, 112, 101, 97, 116, 0, 0, 13, 109, 105, 114, 114, 111, 114, 45, 114, 101, 112, 101, 97, 116, 0, 0, 4, 0, 12, 97, 100, 100, 114, 101, 115, 115, 45, 109, 111, 100, 101, 3, 0, 2, 1, 113, 2, 7, 110, 101, 97, 114, 101, 115, 116, 0, 0, 6, 108, 105, 110, 101, 97, 114, 0, 0, 4, 0, 11, 102, 105, 108, 116, 101, 114, 45, 109, 111, 100, 101, 3, 0, 4, 1, 114, 6, 14, 97, 100, 100, 114, 101, 115, 115, 45, 109, 111, 100, 101, 45, 117, 3, 14, 97, 100, 100, 114, 101, 115, 115, 45, 109, 111, 100, 101, 45, 118, 3, 14, 97, 100, 100, 114, 101, 115, 115, 45, 109, 111, 100, 101, 45, 119, 3, 10, 109, 97, 103, 45, 102, 105, 108, 116, 101, 114, 5, 10, 109, 105, 110, 45, 102, 105, 108, 116, 101, 114, 5, 13, 109, 105, 112, 109, 97, 112, 45, 102, 105, 108, 116, 101, 114, 5, 4, 0, 10, 100, 101, 115, 99, 114, 105, 112, 116, 111, 114, 3, 0, 6, 1, 114, 1, 4, 117, 108, 105, 100, 1, 4, 0, 6, 104, 97, 110, 100, 108, 101, 3, 0, 8, 1, 64, 1, 4, 100, 101, 115, 99, 7, 0, 9, 4, 0, 6, 99, 114, 101, 97, 116, 101, 1, 10, 1, 64, 1, 6, 104, 97, 110, 100, 108, 101, 9, 1, 0, 4, 0, 7, 100, 101, 115, 116, 114, 111, 121, 1, 11, 3, 1, 31, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 99, 108, 105, 101, 110, 116, 45, 115, 97, 109, 112, 108, 101, 114, 5, 8, 2, 3, 0, 3, 6, 104, 97, 110, 100, 108, 101, 2, 3, 0, 4, 6, 104, 97, 110, 100, 108, 101, 1, 66, 14, 2, 3, 2, 1, 5, 4, 0, 4, 117, 108, 105, 100, 3, 0, 0, 2, 3, 2, 1, 9, 4, 0, 14, 116, 101, 120, 116, 117, 114, 101, 45, 104, 97, 110, 100, 108, 101, 3, 0, 2, 2, 3, 2, 1, 10, 4, 0, 14, 115, 97, 109, 112, 108, 101, 114, 45, 104, 97, 110, 100, 108, 101, 3, 0, 4, 1, 114, 5, 14, 98, 97, 115, 101, 45, 99, 111, 108, 111, 114, 45, 109, 97, 112, 3, 10, 110, 111, 114, 109, 97, 108, 45, 109, 97, 112, 3, 22, 109, 101, 116, 97, 108, 108, 105, 99, 45, 114, 111, 117, 103, 104, 110, 101, 115, 115, 45, 109, 97, 112, 3, 7, 115, 97, 109, 112, 108, 101, 114, 5, 11, 116, 114, 97, 110, 115, 112, 97, 114, 101, 110, 116, 127, 4, 0, 10, 100, 101, 115, 99, 114, 105, 112, 116, 111, 114, 3, 0, 6, 1, 114, 1, 4, 117, 108, 105, 100, 1, 4, 0, 6, 104, 97, 110, 100, 108, 101, 3, 0, 8, 1, 64, 1, 4, 100, 101, 115, 99, 7, 0, 9, 4, 0, 6, 99, 114, 101, 97, 116, 101, 1, 10, 1, 64, 1, 6, 104, 97, 110, 100, 108, 101, 9, 1, 0, 4, 0, 7, 100, 101, 115, 116, 114, 111, 121, 1, 11, 3, 1, 32, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 99, 108, 105, 101, 110, 116, 45, 109, 97, 116, 101, 114, 105, 97, 108, 5, 11, 2, 3, 0, 0, 4, 109, 97, 116, 52, 2, 3, 0, 0, 4, 113, 117, 97, 116, 2, 3, 0, 0, 4, 118, 101, 99, 52, 2, 3, 0, 0, 5, 117, 118, 101, 99, 50, 2, 3, 0, 0, 5, 117, 118, 101, 99, 51, 2, 3, 0, 0, 5, 117, 118, 101, 99, 52, 2, 3, 0, 0, 5, 105, 118, 101, 99, 50, 2, 3, 0, 0, 5, 105, 118, 101, 99, 51, 2, 3, 0, 0, 5, 105, 118, 101, 99, 52, 2, 3, 0, 0, 8, 100, 117, 114, 97, 116, 105, 111, 110, 2, 3, 0, 0, 5, 101, 109, 112, 116, 121, 2, 3, 0, 2, 6, 104, 97, 110, 100, 108, 101, 2, 3, 0, 5, 6, 104, 97, 110, 100, 108, 101, 1, 66, 143, 1, 2, 3, 2, 1, 1, 4, 0, 9, 101, 110, 116, 105, 116, 121, 45, 105, 100, 3, 0, 0, 2, 3, 2, 1, 12, 4, 0, 4, 109, 97, 116, 52, 3, 0, 2, 2, 3, 2, 1, 13, 4, 0, 4, 113, 117, 97, 116, 3, 0, 4, 2, 3, 2, 1, 3, 4, 0, 4, 118, 101, 99, 50, 3, 0, 6, 2, 3, 2, 1, 4, 4, 0, 4, 118, 101, 99, 51, 3, 0, 8, 2, 3, 2, 1, 14, 4, 0, 4, 118, 101, 99, 52, 3, 0, 10, 2, 3, 2, 1, 15, 4, 0, 5, 117, 118, 101, 99, 50, 3, 0, 12, 2, 3, 2, 1, 16, 4, 0, 5, 117, 118, 101, 99, 51, 3, 0, 14, 2, 3, 2, 1, 17, 4, 0, 5, 117, 118, 101, 99, 52, 3, 0, 16, 2, 3, 2, 1, 18, 4, 0, 5, 105, 118, 101, 99, 50, 3, 0, 18, 2, 3, 2, 1, 19, 4, 0, 5, 105, 118, 101, 99, 51, 3, 0, 20, 2, 3, 2, 1, 20, 4, 0, 5, 105, 118, 101, 99, 52, 3, 0, 22, 2, 3, 2, 1, 21, 4, 0, 8, 100, 117, 114, 97, 116, 105, 111, 110, 3, 0, 24, 2, 3, 2, 1, 22, 4, 0, 5, 101, 109, 112, 116, 121, 3, 0, 26, 2, 3, 2, 1, 23, 4, 0, 22, 112, 114, 111, 99, 101, 100, 117, 114, 97, 108, 45, 109, 101, 115, 104, 45, 104, 97, 110, 100, 108, 101, 3, 0, 28, 2, 3, 2, 1, 9, 4, 0, 25, 112, 114, 111, 99, 101, 100, 117, 114, 97, 108, 45, 116, 101, 120, 116, 117, 114, 101, 45, 104, 97, 110, 100, 108, 101, 3, 0, 30, 2, 3, 2, 1, 10, 4, 0, 25, 112, 114, 111, 99, 101, 100, 117, 114, 97, 108, 45, 115, 97, 109, 112, 108, 101, 114, 45, 104, 97, 110, 100, 108, 101, 3, 0, 32, 2, 3, 2, 1, 24, 4, 0, 26, 112, 114, 111, 99, 101, 100, 117, 114, 97, 108, 45, 109, 97, 116, 101, 114, 105, 97, 108, 45, 104, 97, 110, 100, 108, 101, 3, 0, 34, 1, 112, 27, 1, 112, 127, 1, 112, 1, 1, 112, 118, 1, 112, 117, 1, 112, 3, 1, 112, 5, 1, 112, 115, 1, 112, 125, 1, 112, 123, 1, 112, 121, 1, 112, 119, 1, 112, 126, 1, 112, 124, 1, 112, 122, 1, 112, 120, 1, 112, 7, 1, 112, 9, 1, 112, 11, 1, 112, 13, 1, 112, 15, 1, 112, 17, 1, 112, 19, 1, 112, 21, 1, 112, 23, 1, 112, 25, 1, 112, 29, 1, 112, 31, 1, 112, 33, 1, 112, 35, 1, 113, 30, 10, 116, 121, 112, 101, 45, 101, 109, 112, 116, 121, 1, 36, 0, 9, 116, 121, 112, 101, 45, 98, 111, 111, 108, 1, 37, 0, 14, 116, 121, 112, 101, 45, 101, 110, 116, 105, 116, 121, 45, 105, 100, 1, 38, 0, 8, 116, 121, 112, 101, 45, 102, 51, 50, 1, 39, 0, 8, 116, 121, 112, 101, 45, 102, 54, 52, 1, 40, 0, 9, 116, 121, 112, 101, 45, 109, 97, 116, 52, 1, 41, 0, 9, 116, 121, 112, 101, 45, 113, 117, 97, 116, 1, 42, 0, 11, 116, 121, 112, 101, 45, 115, 116, 114, 105, 110, 103, 1, 43, 0, 7, 116, 121, 112, 101, 45, 117, 56, 1, 44, 0, 8, 116, 121, 112, 101, 45, 117, 49, 54, 1, 45, 0, 8, 116, 121, 112, 101, 45, 117, 51, 50, 1, 46, 0, 8, 116, 121, 112, 101, 45, 117, 54, 52, 1, 47, 0, 7, 116, 121, 112, 101, 45, 105, 56, 1, 48, 0, 8, 116, 121, 112, 101, 45, 105, 49, 54, 1, 49, 0, 8, 116, 121, 112, 101, 45, 105, 51, 50, 1, 50, 0, 8, 116, 121, 112, 101, 45, 105, 54, 52, 1, 51, 0, 9, 116, 121, 112, 101, 45, 118, 101, 99, 50, 1, 52, 0, 9, 116, 121, 112, 101, 45, 118, 101, 99, 51, 1, 53, 0, 9, 116, 121, 112, 101, 45, 118, 101, 99, 52, 1, 54, 0, 10, 116, 121, 112, 101, 45, 117, 118, 101, 99, 50, 1, 55, 0, 10, 116, 121, 112, 101, 45, 117, 118, 101, 99, 51, 1, 56, 0, 10, 116, 121, 112, 101, 45, 117, 118, 101, 99, 52, 1, 57, 0, 10, 116, 121, 112, 101, 45, 105, 118, 101, 99, 50, 1, 58, 0, 10, 116, 121, 112, 101, 45, 105, 118, 101, 99, 51, 1, 59, 0, 10, 116, 121, 112, 101, 45, 105, 118, 101, 99, 52, 1, 60, 0, 13, 116, 121, 112, 101, 45, 100, 117, 114, 97, 116, 105, 111, 110, 1, 61, 0, 27, 116, 121, 112, 101, 45, 112, 114, 111, 99, 101, 100, 117, 114, 97, 108, 45, 109, 101, 115, 104, 45, 104, 97, 110, 100, 108, 101, 1, 62, 0, 30, 116, 121, 112, 101, 45, 112, 114, 111, 99, 101, 100, 117, 114, 97, 108, 45, 116, 101, 120, 116, 117, 114, 101, 45, 104, 97, 110, 100, 108, 101, 1, 63, 0, 30, 116, 121, 112, 101, 45, 112, 114, 111, 99, 101, 100, 117, 114, 97, 108, 45, 115, 97, 109, 112, 108, 101, 114, 45, 104, 97, 110, 100, 108, 101, 1, 192, 0, 0, 31, 116, 121, 112, 101, 45, 112, 114, 111, 99, 101, 100, 117, 114, 97, 108, 45, 109, 97, 116, 101, 114, 105, 97, 108, 45, 104, 97, 110, 100, 108, 101, 1, 193, 0, 0, 4, 0, 9, 118, 101, 99, 45, 118, 97, 108, 117, 101, 3, 0, 66, 1, 107, 27, 1, 107, 127, 1, 107, 1, 1, 107, 118, 1, 107, 117, 1, 107, 3, 1, 107, 5, 1, 107, 115, 1, 107, 125, 1, 107, 123, 1, 107, 121, 1, 107, 119, 1, 107, 126, 1, 107, 124, 1, 107, 122, 1, 107, 120, 1, 107, 7, 1, 107, 9, 1, 107, 11, 1, 107, 13, 1, 107, 15, 1, 107, 17, 1, 107, 19, 1, 107, 21, 1, 107, 23, 1, 107, 25, 1, 107, 29, 1, 107, 31, 1, 107, 33, 1, 107, 35, 1, 113, 30, 10, 116, 121, 112, 101, 45, 101, 109, 112, 116, 121, 1, 196, 0, 0, 9, 116, 121, 112, 101, 45, 98, 111, 111, 108, 1, 197, 0, 0, 14, 116, 121, 112, 101, 45, 101, 110, 116, 105, 116, 121, 45, 105, 100, 1, 198, 0, 0, 8, 116, 121, 112, 101, 45, 102, 51, 50, 1, 199, 0, 0, 8, 116, 121, 112, 101, 45, 102, 54, 52, 1, 200, 0, 0, 9, 116, 121, 112, 101, 45, 109, 97, 116, 52, 1, 201, 0, 0, 9, 116, 121, 112, 101, 45, 113, 117, 97, 116, 1, 202, 0, 0, 11, 116, 121, 112, 101, 45, 115, 116, 114, 105, 110, 103, 1, 203, 0, 0, 7, 116, 121, 112, 101, 45, 117, 56, 1, 204, 0, 0, 8, 116, 121, 112, 101, 45, 117, 49, 54, 1, 205, 0, 0, 8, 116, 121, 112, 101, 45, 117, 51, 50, 1, 206, 0, 0, 8, 116, 121, 112, 101, 45, 117, 54, 52, 1, 207, 0, 0, 7, 116, 121, 112, 101, 45, 105, 56, 1, 208, 0, 0, 8, 116, 121, 112, 101, 45, 105, 49, 54, 1, 209, 0, 0, 8, 116, 121, 112, 101, 45, 105, 51, 50, 1, 210, 0, 0, 8, 116, 121, 112, 101, 45, 105, 54, 52, 1, 211, 0, 0, 9, 116, 121, 112, 101, 45, 118, 101, 99, 50, 1, 212, 0, 0, 9, 116, 121, 112, 101, 45, 118, 101, 99, 51, 1, 213, 0, 0, 9, 116, 121, 112, 101, 45, 118, 101, 99, 52, 1, 214, 0, 0, 10, 116, 121, 112, 101, 45, 117, 118, 101, 99, 50, 1, 215, 0, 0, 10, 116, 121, 112, 101, 45, 117, 118, 101, 99, 51, 1, 216, 0, 0, 10, 116, 121, 112, 101, 45, 117, 118, 101, 99, 52, 1, 217, 0, 0, 10, 116, 121, 112, 101, 45, 105, 118, 101, 99, 50, 1, 218, 0, 0, 10, 116, 121, 112, 101, 45, 105, 118, 101, 99, 51, 1, 219, 0, 0, 10, 116, 121, 112, 101, 45, 105, 118, 101, 99, 52, 1, 220, 0, 0, 13, 116, 121, 112, 101, 45, 100, 117, 114, 97, 116, 105, 111, 110, 1, 221, 0, 0, 27, 116, 121, 112, 101, 45, 112, 114, 111, 99, 101, 100, 117, 114, 97, 108, 45, 109, 101, 115, 104, 45, 104, 97, 110, 100, 108, 101, 1, 222, 0, 0, 30, 116, 121, 112, 101, 45, 112, 114, 111, 99, 101, 100, 117, 114, 97, 108, 45, 116, 101, 120, 116, 117, 114, 101, 45, 104, 97, 110, 100, 108, 101, 1, 223, 0, 0, 30, 116, 121, 112, 101, 45, 112, 114, 111, 99, 101, 100, 117, 114, 97, 108, 45, 115, 97, 109, 112, 108, 101, 114, 45, 104, 97, 110, 100, 108, 101, 1, 224, 0, 0, 31, 116, 121, 112, 101, 45, 112, 114, 111, 99, 101, 100, 117, 114, 97, 108, 45, 109, 97, 116, 101, 114, 105, 97, 108, 45, 104, 97, 110, 100, 108, 101, 1, 225, 0, 0, 4, 0, 12, 111, 112, 116, 105, 111, 110, 45, 118, 97, 108, 117, 101, 3, 0, 98, 1, 113, 32, 10, 116, 121, 112, 101, 45, 101, 109, 112, 116, 121, 1, 27, 0, 9, 116, 121, 112, 101, 45, 98, 111, 111, 108, 1, 127, 0, 14, 116, 121, 112, 101, 45, 101, 110, 116, 105, 116, 121, 45, 105, 100, 1, 1, 0, 8, 116, 121, 112, 101, 45, 102, 51, 50, 1, 118, 0, 8, 116, 121, 112, 101, 45, 102, 54, 52, 1, 117, 0, 9, 116, 121, 112, 101, 45, 109, 97, 116, 52, 1, 3, 0, 9, 116, 121, 112, 101, 45, 113, 117, 97, 116, 1, 5, 0, 11, 116, 121, 112, 101, 45, 115, 116, 114, 105, 110, 103, 1, 115, 0, 7, 116, 121, 112, 101, 45, 117, 56, 1, 125, 0, 8, 116, 121, 112, 101, 45, 117, 49, 54, 1, 123, 0, 8, 116, 121, 112, 101, 45, 117, 51, 50, 1, 121, 0, 8, 116, 121, 112, 101, 45, 117, 54, 52, 1, 119, 0, 7, 116, 121, 112, 101, 45, 105, 56, 1, 126, 0, 8, 116, 121, 112, 101, 45, 105, 49, 54, 1, 124, 0, 8, 116, 121, 112, 101, 45, 105, 51, 50, 1, 122, 0, 8, 116, 121, 112, 101, 45, 105, 54, 52, 1, 120, 0, 9, 116, 121, 112, 101, 45, 118, 101, 99, 50, 1, 7, 0, 9, 116, 121, 112, 101, 45, 118, 101, 99, 51, 1, 9, 0, 9, 116, 121, 112, 101, 45, 118, 101, 99, 52, 1, 11, 0, 10, 116, 121, 112, 101, 45, 117, 118, 101, 99, 50, 1, 13, 0, 10, 116, 121, 112, 101, 45, 117, 118, 101, 99, 51, 1, 15, 0, 10, 116, 121, 112, 101, 45, 117, 118, 101, 99, 52, 1, 17, 0, 10, 116, 121, 112, 101, 45, 105, 118, 101, 99, 50, 1, 19, 0, 10, 116, 121, 112, 101, 45, 105, 118, 101, 99, 51, 1, 21, 0, 10, 116, 121, 112, 101, 45, 105, 118, 101, 99, 52, 1, 23, 0, 13, 116, 121, 112, 101, 45, 100, 117, 114, 97, 116, 105, 111, 110, 1, 25, 0, 27, 116, 121, 112, 101, 45, 112, 114, 111, 99, 101, 100, 117, 114, 97, 108, 45, 109, 101, 115, 104, 45, 104, 97, 110, 100, 108, 101, 1, 29, 0, 30, 116, 121, 112, 101, 45, 112, 114, 111, 99, 101, 100, 117, 114, 97, 108, 45, 116, 101, 120, 116, 117, 114, 101, 45, 104, 97, 110, 100, 108, 101, 1, 31, 0, 30, 116, 121, 112, 101, 45, 112, 114, 111, 99, 101, 100, 117, 114, 97, 108, 45, 115, 97, 109, 112, 108, 101, 114, 45, 104, 97, 110, 100, 108, 101, 1, 33, 0, 31, 116, 121, 112, 101, 45, 112, 114, 111, 99, 101, 100, 117, 114, 97, 108, 45, 109, 97, 116, 101, 114, 105, 97, 108, 45, 104, 97, 110, 100, 108, 101, 1, 35, 0, 8, 116, 121, 112, 101, 45, 118, 101, 99, 1, 195, 0, 0, 11, 116, 121, 112, 101, 45, 111, 112, 116, 105, 111, 110, 1, 227, 0, 0, 4, 0, 5, 118, 97, 108, 117, 101, 3, 0, 100, 1, 121, 4, 0, 15, 99, 111, 109, 112, 111, 110, 101, 110, 116, 45, 105, 110, 100, 101, 120, 3, 0, 102, 1, 111, 2, 121, 229, 0, 1, 112, 232, 0, 4, 0, 6, 101, 110, 116, 105, 116, 121, 3, 0, 105, 1, 114, 4, 10, 99, 111, 109, 112, 111, 110, 101, 110, 116, 115, 46, 8, 105, 110, 99, 108, 117, 100, 101, 115, 46, 8, 101, 120, 99, 108, 117, 100, 101, 115, 46, 7, 99, 104, 97, 110, 103, 101, 100, 46, 4, 0, 11, 113, 117, 101, 114, 121, 45, 98, 117, 105, 108, 100, 3, 0, 107, 1, 109, 3, 5, 102, 114, 97, 109, 101, 5, 115, 112, 97, 119, 110, 7, 100, 101, 115, 112, 97, 119, 110, 4, 0, 11, 113, 117, 101, 114, 121, 45, 101, 118, 101, 110, 116, 3, 0, 109, 1, 64, 1, 2, 105, 100, 115, 0, 206, 0, 4, 0, 9, 103, 101, 116, 45, 105, 110, 100, 101, 120, 1, 111, 1, 64, 1, 5, 105, 110, 100, 101, 120, 121, 0, 203, 0, 4, 0, 6, 103, 101, 116, 45, 105, 100, 1, 112, 1, 107, 229, 0, 1, 64, 2, 6, 101, 110, 116, 105, 116, 121, 1, 5, 105, 110, 100, 101, 120, 121, 0, 241, 0, 4, 0, 13, 103, 101, 116, 45, 99, 111, 109, 112, 111, 110, 101, 110, 116, 1, 114, 1, 64, 2, 6, 101, 110, 116, 105, 116, 121, 1, 7, 105, 110, 100, 105, 99, 101, 115, 46, 0, 234, 0, 4, 0, 14, 103, 101, 116, 45, 99, 111, 109, 112, 111, 110, 101, 110, 116, 115, 1, 115, 1, 64, 1, 6, 101, 110, 116, 105, 116, 121, 1, 0, 234, 0, 4, 0, 18, 103, 101, 116, 45, 97, 108, 108, 45, 99, 111, 109, 112, 111, 110, 101, 110, 116, 115, 1, 116, 1, 64, 3, 6, 101, 110, 116, 105, 116, 121, 1, 5, 105, 110, 100, 101, 120, 121, 5, 118, 97, 108, 117, 101, 229, 0, 1, 0, 4, 0, 13, 97, 100, 100, 45, 99, 111, 109, 112, 111, 110, 101, 110, 116, 1, 117, 1, 64, 2, 6, 101, 110, 116, 105, 116, 121, 1, 4, 100, 97, 116, 97, 234, 0, 1, 0, 4, 0, 14, 97, 100, 100, 45, 99, 111, 109, 112, 111, 110, 101, 110, 116, 115, 1, 118, 4, 0, 13, 115, 101, 116, 45, 99, 111, 109, 112, 111, 110, 101, 110, 116, 1, 117, 4, 0, 14, 115, 101, 116, 45, 99, 111, 109, 112, 111, 110, 101, 110, 116, 115, 1, 118, 1, 64, 2, 6, 101, 110, 116, 105, 116, 121, 1, 5, 105, 110, 100, 101, 120, 121, 0, 127, 4, 0, 13, 104, 97, 115, 45, 99, 111, 109, 112, 111, 110, 101, 110, 116, 1, 119, 1, 64, 2, 6, 101, 110, 116, 105, 116, 121, 1, 7, 105, 110, 100, 105, 99, 101, 115, 46, 0, 127, 4, 0, 14, 104, 97, 115, 45, 99, 111, 109, 112, 111, 110, 101, 110, 116, 115, 1, 120, 1, 64, 2, 6, 101, 110, 116, 105, 116, 121, 1, 5, 105, 110, 100, 101, 120, 121, 1, 0, 4, 0, 16, 114, 101, 109, 111, 118, 101, 45, 99, 111, 109, 112, 111, 110, 101, 110, 116, 1, 121, 1, 64, 2, 6, 101, 110, 116, 105, 116, 121, 1, 7, 105, 110, 100, 105, 99, 101, 115, 46, 1, 0, 4, 0, 17, 114, 101, 109, 111, 118, 101, 45, 99, 111, 109, 112, 111, 110, 101, 110, 116, 115, 1, 122, 1, 64, 2, 1, 113, 236, 0, 1, 116, 238, 0, 0, 119, 4, 0, 5, 113, 117, 101, 114, 121, 1, 123, 1, 112, 229, 0, 1, 111, 2, 1, 252, 0, 1, 112, 253, 0, 1, 64, 1, 1, 113, 119, 0, 254, 0, 4, 0, 10, 113, 117, 101, 114, 121, 45, 101, 118, 97, 108, 1, 127, 3, 1, 26, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 99, 111, 109, 112, 111, 110, 101, 110, 116, 5, 25, 2, 3, 0, 6, 6, 101, 110, 116, 105, 116, 121, 1, 66, 29, 2, 3, 2, 1, 1, 4, 0, 9, 101, 110, 116, 105, 116, 121, 45, 105, 100, 3, 0, 0, 2, 3, 2, 1, 4, 4, 0, 4, 118, 101, 99, 51, 3, 0, 2, 2, 3, 2, 1, 13, 4, 0, 4, 113, 117, 97, 116, 3, 0, 4, 2, 3, 2, 1, 12, 4, 0, 4, 109, 97, 116, 52, 3, 0, 6, 2, 3, 2, 1, 26, 4, 0, 11, 101, 110, 116, 105, 116, 121, 45, 100, 97, 116, 97, 3, 0, 8, 1, 112, 1, 1, 112, 7, 1, 64, 2, 8, 101, 110, 116, 105, 116, 105, 101, 115, 10, 6, 111, 114, 105, 103, 105, 110, 1, 0, 11, 4, 0, 26, 103, 101, 116, 45, 116, 114, 97, 110, 115, 102, 111, 114, 109, 115, 45, 114, 101, 108, 97, 116, 105, 118, 101, 45, 116, 111, 1, 12, 1, 64, 1, 4, 100, 97, 116, 97, 9, 0, 1, 4, 0, 5, 115, 112, 97, 119, 110, 1, 13, 1, 107, 9, 1, 64, 1, 6, 101, 110, 116, 105, 116, 121, 1, 0, 14, 4, 0, 7, 100, 101, 115, 112, 97, 119, 110, 1, 15, 1, 64, 2, 8, 112, 111, 115, 105, 116, 105, 111, 110, 3, 6, 114, 97, 100, 105, 117, 115, 118, 0, 10, 4, 0, 7, 105, 110, 45, 97, 114, 101, 97, 1, 16, 1, 64, 1, 6, 101, 110, 116, 105, 116, 121, 1, 0, 127, 4, 0, 6, 101, 120, 105, 115, 116, 115, 1, 17, 1, 64, 1, 5, 105, 110, 100, 101, 120, 121, 0, 10, 4, 0, 7, 103, 101, 116, 45, 97, 108, 108, 1, 18, 1, 64, 0, 0, 1, 4, 0, 9, 114, 101, 115, 111, 117, 114, 99, 101, 115, 1, 19, 4, 0, 22, 115, 121, 110, 99, 104, 114, 111, 110, 105, 122, 101, 100, 45, 114, 101, 115, 111, 117, 114, 99, 101, 115, 1, 19, 4, 0, 19, 112, 101, 114, 115, 105, 115, 116, 101, 100, 45, 114, 101, 115, 111, 117, 114, 99, 101, 115, 1, 19, 3, 1, 23, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 101, 110, 116, 105, 116, 121, 5, 27, 1, 66, 4, 2, 3, 2, 1, 26, 4, 0, 6, 101, 110, 116, 105, 116, 121, 3, 0, 0, 1, 64, 1, 4, 110, 97, 109, 101, 115, 1, 0, 4, 0, 9, 115, 117, 98, 115, 99, 114, 105, 98, 101, 1, 2, 3, 1, 24, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 109, 101, 115, 115, 97, 103, 101, 5, 28, 1, 66, 5, 2, 3, 2, 1, 1, 4, 0, 9, 101, 110, 116, 105, 116, 121, 45, 105, 100, 3, 0, 0, 1, 107, 1, 1, 64, 1, 7, 117, 115, 101, 114, 45, 105, 100, 115, 0, 2, 4, 0, 14, 103, 101, 116, 45, 98, 121, 45, 117, 115, 101, 114, 45, 105, 100, 1, 3, 3, 1, 23, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 112, 108, 97, 121, 101, 114, 5, 29, 1, 66, 5, 2, 3, 2, 1, 1, 4, 0, 9, 101, 110, 116, 105, 116, 121, 45, 105, 100, 3, 0, 0, 1, 107, 1, 1, 64, 1, 10, 112, 97, 99, 107, 97, 103, 101, 45, 105, 100, 115, 0, 2, 4, 0, 25, 103, 101, 116, 45, 101, 110, 116, 105, 116, 121, 45, 102, 111, 114, 45, 112, 97, 99, 107, 97, 103, 101, 45, 105, 100, 1, 3, 3, 1, 32, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 97, 109, 98, 105, 101, 110, 116, 45, 112, 97, 99, 107, 97, 103, 101, 5, 30, 1, 66, 7, 2, 3, 2, 1, 1, 4, 0, 9, 101, 110, 116, 105, 116, 121, 45, 105, 100, 3, 0, 0, 1, 113, 4, 17, 115, 101, 114, 118, 101, 114, 45, 117, 110, 114, 101, 108, 105, 97, 98, 108, 101, 0, 0, 15, 115, 101, 114, 118, 101, 114, 45, 114, 101, 108, 105, 97, 98, 108, 101, 0, 0, 15, 108, 111, 99, 97, 108, 45, 98, 114, 111, 97, 100, 99, 97, 115, 116, 1, 127, 0, 5, 108, 111, 99, 97, 108, 1, 1, 0, 4, 0, 6, 116, 97, 114, 103, 101, 116, 3, 0, 2, 1, 112, 125, 1, 64, 3, 9, 116, 97, 114, 103, 101, 116, 45, 105, 100, 3, 4, 110, 97, 109, 101, 115, 4, 100, 97, 116, 97, 4, 1, 0, 4, 0, 4, 115, 101, 110, 100, 1, 5, 3, 1, 31, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 99, 108, 105, 101, 110, 116, 45, 109, 101, 115, 115, 97, 103, 101, 5, 31, 1, 66, 4, 2, 3, 2, 1, 1, 4, 0, 9, 101, 110, 116, 105, 116, 121, 45, 105, 100, 3, 0, 0, 1, 64, 0, 0, 1, 4, 0, 9, 103, 101, 116, 45, 108, 111, 99, 97, 108, 1, 2, 3, 1, 30, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 99, 108, 105, 101, 110, 116, 45, 112, 108, 97, 121, 101, 114, 5, 32, 1, 66, 23, 2, 3, 2, 1, 3, 4, 0, 4, 118, 101, 99, 50, 3, 0, 0, 2, 3, 2, 1, 1, 4, 0, 9, 101, 110, 116, 105, 116, 121, 45, 105, 100, 3, 0, 2, 1, 109, 163, 1, 4, 107, 101, 121, 49, 4, 107, 101, 121, 50, 4, 107, 101, 121, 51, 4, 107, 101, 121, 52, 4, 107, 101, 121, 53, 4, 107, 101, 121, 54, 4, 107, 101, 121, 55, 4, 107, 101, 121, 56, 4, 107, 101, 121, 57, 4, 107, 101, 121, 48, 1, 97, 1, 98, 1, 99, 1, 100, 1, 101, 1, 102, 1, 103, 1, 104, 1, 105, 1, 106, 1, 107, 1, 108, 1, 109, 1, 110, 1, 111, 1, 112, 1, 113, 1, 114, 1, 115, 1, 116, 1, 117, 1, 118, 1, 119, 1, 120, 1, 121, 1, 122, 6, 101, 115, 99, 97, 112, 101, 2, 102, 49, 2, 102, 50, 2, 102, 51, 2, 102, 52, 2, 102, 53, 2, 102, 54, 2, 102, 55, 2, 102, 56, 2, 102, 57, 3, 102, 49, 48, 3, 102, 49, 49, 3, 102, 49, 50, 3, 102, 49, 51, 3, 102, 49, 52, 3, 102, 49, 53, 3, 102, 49, 54, 3, 102, 49, 55, 3, 102, 49, 56, 3, 102, 49, 57, 3, 102, 50, 48, 3, 102, 50, 49, 3, 102, 50, 50, 3, 102, 50, 51, 3, 102, 50, 52, 8, 115, 110, 97, 112, 115, 104, 111, 116, 6, 115, 99, 114, 111, 108, 108, 5, 112, 97, 117, 115, 101, 6, 105, 110, 115, 101, 114, 116, 4, 104, 111, 109, 101, 6, 100, 101, 108, 101, 116, 101, 3, 101, 110, 100, 9, 112, 97, 103, 101, 45, 100, 111, 119, 110, 7, 112, 97, 103, 101, 45, 117, 112, 4, 108, 101, 102, 116, 2, 117, 112, 5, 114, 105, 103, 104, 116, 4, 100, 111, 119, 110, 4, 98, 97, 99, 107, 6, 114, 101, 116, 117, 114, 110, 5, 115, 112, 97, 99, 101, 7, 99, 111, 109, 112, 111, 115, 101, 5, 99, 97, 114, 101, 116, 7, 110, 117, 109, 108, 111, 99, 107, 7, 110, 117, 109, 112, 97, 100, 48, 7, 110, 117, 109, 112, 97, 100, 49, 7, 110, 117, 109, 112, 97, 100, 50, 7, 110, 117, 109, 112, 97, 100, 51, 7, 110, 117, 109, 112, 97, 100, 52, 7, 110, 117, 109, 112, 97, 100, 53, 7, 110, 117, 109, 112, 97, 100, 54, 7, 110, 117, 109, 112, 97, 100, 55, 7, 110, 117, 109, 112, 97, 100, 56, 7, 110, 117, 109, 112, 97, 100, 57, 10, 110, 117, 109, 112, 97, 100, 45, 97, 100, 100, 13, 110, 117, 109, 112, 97, 100, 45, 100, 105, 118, 105, 100, 101, 14, 110, 117, 109, 112, 97, 100, 45, 100, 101, 99, 105, 109, 97, 108, 12, 110, 117, 109, 112, 97, 100, 45, 99, 111, 109, 109, 97, 12, 110, 117, 109, 112, 97, 100, 45, 101, 110, 116, 101, 114, 13, 110, 117, 109, 112, 97, 100, 45, 101, 113, 117, 97, 108, 115, 15, 110, 117, 109, 112, 97, 100, 45, 109, 117, 108, 116, 105, 112, 108, 121, 15, 110, 117, 109, 112, 97, 100, 45, 115, 117, 98, 116, 114, 97, 99, 116, 7, 97, 98, 110, 116, 45, 99, 49, 7, 97, 98, 110, 116, 45, 99, 50, 10, 97, 112, 111, 115, 116, 114, 111, 112, 104, 101, 4, 97, 112, 112, 115, 8, 97, 115, 116, 101, 114, 105, 115, 107, 2, 97, 116, 2, 97, 120, 9, 98, 97, 99, 107, 115, 108, 97, 115, 104, 10, 99, 97, 108, 99, 117, 108, 97, 116, 111, 114, 7, 99, 97, 112, 105, 116, 97, 108, 5, 99, 111, 108, 111, 110, 5, 99, 111, 109, 109, 97, 7, 99, 111, 110, 118, 101, 114, 116, 6, 101, 113, 117, 97, 108, 115, 5, 103, 114, 97, 118, 101, 4, 107, 97, 110, 97, 5, 107, 97, 110, 106, 105, 5, 108, 45, 97, 108, 116, 9, 108, 45, 98, 114, 97, 99, 107, 101, 116, 9, 108, 45, 99, 111, 110, 116, 114, 111, 108, 7, 108, 45, 115, 104, 105, 102, 116, 5, 108, 45, 119, 105, 110, 4, 109, 97, 105, 108, 12, 109, 101, 100, 105, 97, 45, 115, 101, 108, 101, 99, 116, 10, 109, 101, 100, 105, 97, 45, 115, 116, 111, 112, 5, 109, 105, 110, 117, 115, 4, 109, 117, 116, 101, 11, 109, 121, 45, 99, 111, 109, 112, 117, 116, 101, 114, 16, 110, 97, 118, 105, 103, 97, 116, 101, 45, 102, 111, 114, 119, 97, 114, 100, 17, 110, 97, 118, 105, 103, 97, 116, 101, 45, 98, 97, 99, 107, 119, 97, 114, 100, 10, 110, 101, 120, 116, 45, 116, 114, 97, 99, 107, 10, 110, 111, 45, 99, 111, 110, 118, 101, 114, 116, 6, 111, 101, 109, 49, 48, 50, 6, 112, 101, 114, 105, 111, 100, 10, 112, 108, 97, 121, 45, 112, 97, 117, 115, 101, 4, 112, 108, 117, 115, 5, 112, 111, 119, 101, 114, 10, 112, 114, 101, 118, 45, 116, 114, 97, 99, 107, 5, 114, 45, 97, 108, 116, 9, 114, 45, 98, 114, 97, 99, 107, 101, 116, 9, 114, 45, 99, 111, 110, 116, 114, 111, 108, 7, 114, 45, 115, 104, 105, 102, 116, 5, 114, 45, 119, 105, 110, 9, 115, 101, 109, 105, 99, 111, 108, 111, 110, 5, 115, 108, 97, 115, 104, 5, 115, 108, 101, 101, 112, 4, 115, 116, 111, 112, 5, 115, 121, 115, 114, 113, 3, 116, 97, 98, 9, 117, 110, 100, 101, 114, 108, 105, 110, 101, 9, 117, 110, 108, 97, 98, 101, 108, 101, 100, 11, 118, 111, 108, 117, 109, 101, 45, 100, 111, 119, 110, 9, 118, 111, 108, 117, 109, 101, 45, 117, 112, 4, 119, 97, 107, 101, 8, 119, 101, 98, 45, 98, 97, 99, 107, 13, 119, 101, 98, 45, 102, 97, 118, 111, 114, 105, 116, 101, 115, 11, 119, 101, 98, 45, 102, 111, 114, 119, 97, 114, 100, 8, 119, 101, 98, 45, 104, 111, 109, 101, 11, 119, 101, 98, 45, 114, 101, 102, 114, 101, 115, 104, 10, 119, 101, 98, 45, 115, 101, 97, 114, 99, 104, 8, 119, 101, 98, 45, 115, 116, 111, 112, 3, 121, 101, 110, 4, 99, 111, 112, 121, 5, 112, 97, 115, 116, 101, 3, 99, 117, 116, 4, 0, 16, 118, 105, 114, 116, 117, 97, 108, 45, 107, 101, 121, 45, 99, 111, 100, 101, 3, 0, 4, 1, 113, 4, 4, 108, 101, 102, 116, 0, 0, 5, 114, 105, 103, 104, 116, 0, 0, 6, 109, 105, 100, 100, 108, 101, 0, 0, 5, 111, 116, 104, 101, 114, 1, 123, 0, 4, 0, 12, 109, 111, 117, 115, 101, 45, 98, 117, 116, 116, 111, 110, 3, 0, 6, 1, 112, 5, 1, 112, 7, 1, 114, 5, 4, 107, 101, 121, 115, 8, 14, 109, 111, 117, 115, 101, 45, 112, 111, 115, 105, 116, 105, 111, 110, 1, 11, 109, 111, 117, 115, 101, 45, 100, 101, 108, 116, 97, 1, 11, 109, 111, 117, 115, 101, 45, 119, 104, 101, 101, 108, 118, 13, 109, 111, 117, 115, 101, 45, 98, 117, 116, 116, 111, 110, 115, 9, 4, 0, 5, 105, 110, 112, 117, 116, 3, 0, 10, 1, 113, 35, 12, 100, 101, 102, 97, 117, 108, 116, 45, 105, 99, 111, 110, 0, 0, 9, 99, 114, 111, 115, 115, 104, 97, 105, 114, 0, 0, 4, 104, 97, 110, 100, 0, 0, 5, 97, 114, 114, 111, 119, 0, 0, 4, 109, 111, 118, 101, 0, 0, 4, 116, 101, 120, 116, 0, 0, 4, 119, 97, 105, 116, 0, 0, 4, 104, 101, 108, 112, 0, 0, 8, 112, 114, 111, 103, 114, 101, 115, 115, 0, 0, 11, 110, 111, 116, 45, 97, 108, 108, 111, 119, 101, 100, 0, 0, 12, 99, 111, 110, 116, 101, 120, 116, 45, 109, 101, 110, 117, 0, 0, 4, 99, 101, 108, 108, 0, 0, 13, 118, 101, 114, 116, 105, 99, 97, 108, 45, 116, 101, 120, 116, 0, 0, 5, 97, 108, 105, 97, 115, 0, 0, 4, 99, 111, 112, 121, 0, 0, 7, 110, 111, 45, 100, 114, 111, 112, 0, 0, 4, 103, 114, 97, 98, 0, 0, 8, 103, 114, 97, 98, 98, 105, 110, 103, 0, 0, 10, 97, 108, 108, 45, 115, 99, 114, 111, 108, 108, 0, 0, 7, 122, 111, 111, 109, 45, 105, 110, 0, 0, 8, 122, 111, 111, 109, 45, 111, 117, 116, 0, 0, 8, 101, 45, 114, 101, 115, 105, 122, 101, 0, 0, 8, 110, 45, 114, 101, 115, 105, 122, 101, 0, 0, 9, 110, 101, 45, 114, 101, 115, 105, 122, 101, 0, 0, 9, 110, 119, 45, 114, 101, 115, 105, 122, 101, 0, 0, 8, 115, 45, 114, 101, 115, 105, 122, 101, 0, 0, 9, 115, 101, 45, 114, 101, 115, 105, 122, 101, 0, 0, 9, 115, 119, 45, 114, 101, 115, 105, 122, 101, 0, 0, 8, 119, 45, 114, 101, 115, 105, 122, 101, 0, 0, 9, 101, 119, 45, 114, 101, 115, 105, 122, 101, 0, 0, 9, 110, 115, 45, 114, 101, 115, 105, 122, 101, 0, 0, 11, 110, 101, 115, 119, 45, 114, 101, 115, 105, 122, 101, 0, 0, 11, 110, 119, 115, 101, 45, 114, 101, 115, 105, 122, 101, 0, 0, 10, 99, 111, 108, 45, 114, 101, 115, 105, 122, 101, 0, 0, 10, 114, 111, 119, 45, 114, 101, 115, 105, 122, 101, 0, 0, 4, 0, 11, 99, 117, 114, 115, 111, 114, 45, 105, 99, 111, 110, 3, 0, 12, 1, 64, 0, 0, 11, 4, 0, 3, 103, 101, 116, 1, 14, 4, 0, 12, 103, 101, 116, 45, 112, 114, 101, 118, 105, 111, 117, 115, 1, 14, 1, 64, 1, 4, 105, 99, 111, 110, 13, 1, 0, 4, 0, 10, 115, 101, 116, 45, 99, 117, 114, 115, 111, 114, 1, 15, 1, 64, 1, 7, 118, 105, 115, 105, 98, 108, 101, 127, 1, 0, 4, 0, 18, 115, 101, 116, 45, 99, 117, 114, 115, 111, 114, 45, 118, 105, 115, 105, 98, 108, 101, 1, 16, 1, 64, 1, 6, 108, 111, 99, 107, 101, 100, 127, 1, 0, 4, 0, 15, 115, 101, 116, 45, 99, 117, 114, 115, 111, 114, 45, 108, 111, 99, 107, 1, 17, 3, 1, 29, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 99, 108, 105, 101, 110, 116, 45, 105, 110, 112, 117, 116, 5, 33, 2, 3, 0, 0, 3, 114, 97, 121, 1, 66, 16, 2, 3, 2, 1, 4, 4, 0, 4, 118, 101, 99, 51, 3, 0, 0, 2, 3, 2, 1, 3, 4, 0, 4, 118, 101, 99, 50, 3, 0, 2, 2, 3, 2, 1, 34, 4, 0, 3, 114, 97, 121, 3, 0, 4, 2, 3, 2, 1, 1, 4, 0, 9, 101, 110, 116, 105, 116, 121, 45, 105, 100, 3, 0, 6, 1, 64, 2, 6, 99, 97, 109, 101, 114, 97, 7, 14, 99, 108, 105, 112, 45, 115, 112, 97, 99, 101, 45, 112, 111, 115, 3, 0, 5, 4, 0, 26, 99, 108, 105, 112, 45, 112, 111, 115, 105, 116, 105, 111, 110, 45, 116, 111, 45, 119, 111, 114, 108, 100, 45, 114, 97, 121, 1, 8, 1, 64, 1, 10, 115, 99, 114, 101, 101, 110, 45, 112, 111, 115, 3, 0, 3, 4, 0, 20, 115, 99, 114, 101, 101, 110, 45, 116, 111, 45, 99, 108, 105, 112, 45, 115, 112, 97, 99, 101, 1, 9, 1, 64, 2, 6, 99, 97, 109, 101, 114, 97, 7, 10, 115, 99, 114, 101, 101, 110, 45, 112, 111, 115, 3, 0, 5, 4, 0, 28, 115, 99, 114, 101, 101, 110, 45, 112, 111, 115, 105, 116, 105, 111, 110, 45, 116, 111, 45, 119, 111, 114, 108, 100, 45, 114, 97, 121, 1, 10, 1, 64, 2, 6, 99, 97, 109, 101, 114, 97, 7, 10, 115, 99, 114, 101, 101, 110, 45, 112, 111, 115, 1, 0, 1, 4, 0, 15, 119, 111, 114, 108, 100, 45, 116, 111, 45, 115, 99, 114, 101, 101, 110, 1, 11, 3, 1, 30, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 99, 108, 105, 101, 110, 116, 45, 99, 97, 109, 101, 114, 97, 5, 35, 1, 66, 4, 1, 64, 0, 1, 0, 4, 0, 3, 103, 101, 116, 1, 0, 1, 64, 1, 4, 116, 101, 120, 116, 115, 1, 0, 4, 0, 3, 115, 101, 116, 1, 1, 3, 1, 33, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 99, 108, 105, 101, 110, 116, 45, 99, 108, 105, 112, 98, 111, 97, 114, 100, 5, 36, 1, 66, 2, 1, 64, 1, 10, 102, 117, 108, 108, 115, 99, 114, 101, 101, 110, 127, 1, 0, 4, 0, 14, 115, 101, 116, 45, 102, 117, 108, 108, 115, 99, 114, 101, 101, 110, 1, 0, 3, 1, 30, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 99, 108, 105, 101, 110, 116, 45, 119, 105, 110, 100, 111, 119, 5, 37, 1, 66, 0, 3, 1, 29, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 115, 101, 114, 118, 101, 114, 45, 97, 115, 115, 101, 116, 5, 38, 1, 66, 43, 2, 3, 2, 1, 1, 4, 0, 9, 101, 110, 116, 105, 116, 121, 45, 105, 100, 3, 0, 0, 2, 3, 2, 1, 4, 4, 0, 4, 118, 101, 99, 51, 3, 0, 2, 2, 3, 2, 1, 12, 4, 0, 4, 109, 97, 116, 52, 3, 0, 4, 1, 114, 3, 4, 115, 105, 100, 101, 127, 2, 117, 112, 127, 4, 100, 111, 119, 110, 127, 4, 0, 19, 99, 104, 97, 114, 97, 99, 116, 101, 114, 45, 99, 111, 108, 108, 105, 115, 105, 111, 110, 3, 0, 6, 1, 64, 2, 6, 101, 110, 116, 105, 116, 121, 1, 5, 102, 111, 114, 99, 101, 3, 1, 0, 4, 0, 9, 97, 100, 100, 45, 102, 111, 114, 99, 101, 1, 8, 1, 64, 2, 6, 101, 110, 116, 105, 116, 121, 1, 7, 105, 109, 112, 117, 108, 115, 101, 3, 1, 0, 4, 0, 11, 97, 100, 100, 45, 105, 109, 112, 117, 108, 115, 101, 1, 9, 1, 107, 118, 1, 64, 4, 8, 112, 111, 115, 105, 116, 105, 111, 110, 3, 7, 105, 109, 112, 117, 108, 115, 101, 118, 6, 114, 97, 100, 105, 117, 115, 118, 14, 102, 97, 108, 108, 111, 102, 102, 45, 114, 97, 100, 105, 117, 115, 10, 1, 0, 4, 0, 18, 97, 100, 100, 45, 114, 97, 100, 105, 97, 108, 45, 105, 109, 112, 117, 108, 115, 101, 1, 11, 1, 64, 3, 6, 101, 110, 116, 105, 116, 121, 1, 5, 102, 111, 114, 99, 101, 3, 8, 112, 111, 115, 105, 116, 105, 111, 110, 3, 1, 0, 4, 0, 21, 97, 100, 100, 45, 102, 111, 114, 99, 101, 45, 97, 116, 45, 112, 111, 115, 105, 116, 105, 111, 110, 1, 12, 1, 64, 3, 6, 101, 110, 116, 105, 116, 121, 1, 7, 105, 109, 112, 117, 108, 115, 101, 3, 8, 112, 111, 115, 105, 116, 105, 111, 110, 3, 1, 0, 4, 0, 23, 97, 100, 100, 45, 105, 109, 112, 117, 108, 115, 101, 45, 97, 116, 45, 112, 111, 115, 105, 116, 105, 111, 110, 1, 13, 1, 64, 2, 6, 101, 110, 116, 105, 116, 121, 1, 8, 112, 111, 115, 105, 116, 105, 111, 110, 3, 0, 3, 4, 0, 24, 103, 101, 116, 45, 118, 101, 108, 111, 99, 105, 116, 121, 45, 97, 116, 45, 112, 111, 115, 105, 116, 105, 111, 110, 1, 14, 1, 64, 1, 7, 103, 114, 97, 118, 105, 116, 121, 3, 1, 0, 4, 0, 11, 115, 101, 116, 45, 103, 114, 97, 118, 105, 116, 121, 1, 15, 1, 64, 1, 6, 101, 110, 116, 105, 116, 121, 1, 1, 0, 4, 0, 8, 117, 110, 102, 114, 101, 101, 122, 101, 1, 16, 4, 0, 6, 102, 114, 101, 101, 122, 101, 1, 16, 1, 64, 2, 6, 101, 110, 116, 105, 116, 121, 1, 8, 118, 101, 108, 111, 99, 105, 116, 121, 118, 1, 0, 4, 0, 11, 115, 116, 97, 114, 116, 45, 109, 111, 116, 111, 114, 1, 17, 4, 0, 10, 115, 116, 111, 112, 45, 109, 111, 116, 111, 114, 1, 16, 1, 64, 4, 6, 97, 99, 116, 111, 114, 48, 1, 10, 116, 114, 97, 110, 115, 102, 111, 114, 109, 48, 5, 6, 97, 99, 116, 111, 114, 49, 1, 10, 116, 114, 97, 110, 115, 102, 111, 114, 109, 49, 5, 1, 0, 4, 0, 21, 99, 114, 101, 97, 116, 101, 45, 114, 101, 118, 111, 108, 117, 116, 101, 45, 106, 111, 105, 110, 116, 1, 18, 1, 111, 2, 1, 118, 1, 107, 19, 1, 64, 2, 6, 111, 114, 105, 103, 105, 110, 3, 9, 100, 105, 114, 101, 99, 116, 105, 111, 110, 3, 0, 20, 4, 0, 13, 114, 97, 121, 99, 97, 115, 116, 45, 102, 105, 114, 115, 116, 1, 21, 1, 112, 19, 1, 64, 2, 6, 111, 114, 105, 103, 105, 110, 3, 9, 100, 105, 114, 101, 99, 116, 105, 111, 110, 3, 0, 22, 4, 0, 7, 114, 97, 121, 99, 97, 115, 116, 1, 23, 1, 64, 4, 6, 101, 110, 116, 105, 116, 121, 1, 12, 100, 105, 115, 112, 108, 97, 99, 101, 109, 101, 110, 116, 3, 8, 109, 105, 110, 45, 100, 105, 115, 116, 118, 12, 101, 108, 97, 112, 115, 101, 100, 45, 116, 105, 109, 101, 118, 0, 7, 4, 0, 14, 109, 111, 118, 101, 45, 99, 104, 97, 114, 97, 99, 116, 101, 114, 1, 24, 1, 64, 2, 6, 101, 110, 116, 105, 116, 121, 1, 8, 112, 111, 115, 105, 116, 105, 111, 110, 3, 1, 0, 4, 0, 22, 115, 101, 116, 45, 99, 104, 97, 114, 97, 99, 116, 101, 114, 45, 112, 111, 115, 105, 116, 105, 111, 110, 1, 25, 4, 0, 27, 115, 101, 116, 45, 99, 104, 97, 114, 97, 99, 116, 101, 114, 45, 102, 111, 111, 116, 45, 112, 111, 115, 105, 116, 105, 111, 110, 1, 25, 3, 1, 31, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 115, 101, 114, 118, 101, 114, 45, 112, 104, 121, 115, 105, 99, 115, 5, 39, 1, 66, 7, 2, 3, 2, 1, 1, 4, 0, 9, 101, 110, 116, 105, 116, 121, 45, 105, 100, 3, 0, 0, 1, 113, 6, 27, 99, 108, 105, 101, 110, 116, 45, 98, 114, 111, 97, 100, 99, 97, 115, 116, 45, 117, 110, 114, 101, 108, 105, 97, 98, 108, 101, 0, 0, 25, 99, 108, 105, 101, 110, 116, 45, 98, 114, 111, 97, 100, 99, 97, 115, 116, 45, 114, 101, 108, 105, 97, 98, 108, 101, 0, 0, 26, 99, 108, 105, 101, 110, 116, 45, 116, 97, 114, 103, 101, 116, 101, 100, 45, 117, 110, 114, 101, 108, 105, 97, 98, 108, 101, 1, 115, 0, 24, 99, 108, 105, 101, 110, 116, 45, 116, 97, 114, 103, 101, 116, 101, 100, 45, 114, 101, 108, 105, 97, 98, 108, 101, 1, 115, 0, 15, 108, 111, 99, 97, 108, 45, 98, 114, 111, 97, 100, 99, 97, 115, 116, 1, 127, 0, 5, 108, 111, 99, 97, 108, 1, 1, 0, 4, 0, 6, 116, 97, 114, 103, 101, 116, 3, 0, 2, 1, 112, 125, 1, 64, 3, 9, 116, 97, 114, 103, 101, 116, 45, 105, 100, 3, 4, 110, 97, 109, 101, 115, 4, 100, 97, 116, 97, 4, 1, 0, 4, 0, 4, 115, 101, 110, 100, 1, 5, 3, 1, 31, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 115, 101, 114, 118, 101, 114, 45, 109, 101, 115, 115, 97, 103, 101, 5, 40, 1, 66, 8, 1, 111, 2, 115, 115, 1, 112, 0, 1, 64, 2, 3, 117, 114, 108, 115, 7, 104, 101, 97, 100, 101, 114, 115, 1, 0, 119, 4, 0, 3, 103, 101, 116, 1, 2, 1, 112, 125, 1, 107, 3, 1, 64, 3, 3, 117, 114, 108, 115, 7, 104, 101, 97, 100, 101, 114, 115, 1, 4, 98, 111, 100, 121, 4, 0, 119, 4, 0, 4, 112, 111, 115, 116, 1, 5, 3, 1, 28, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 115, 101, 114, 118, 101, 114, 45, 104, 116, 116, 112, 5, 41, 1, 66, 2, 1, 64, 1, 11, 112, 97, 99, 107, 97, 103, 101, 45, 117, 114, 108, 115, 1, 0, 4, 0, 4, 108, 111, 97, 100, 1, 0, 3, 1, 39, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 115, 101, 114, 118, 101, 114, 45, 97, 109, 98, 105, 101, 110, 116, 45, 112, 97, 99, 107, 97, 103, 101, 5, 42, 1, 66, 9, 2, 3, 2, 1, 1, 4, 0, 9, 101, 110, 116, 105, 116, 121, 45, 105, 100, 3, 0, 0, 1, 113, 4, 7, 114, 117, 110, 116, 105, 109, 101, 0, 0, 5, 108, 111, 99, 97, 108, 1, 1, 0, 6, 115, 101, 114, 118, 101, 114, 0, 0, 6, 99, 108, 105, 101, 110, 116, 1, 115, 0, 4, 0, 6, 115, 111, 117, 114, 99, 101, 3, 0, 2, 1, 64, 0, 1, 0, 4, 0, 4, 105, 110, 105, 116, 1, 4, 1, 112, 125, 1, 64, 3, 14, 109, 101, 115, 115, 97, 103, 101, 45, 115, 111, 117, 114, 99, 101, 3, 12, 109, 101, 115, 115, 97, 103, 101, 45, 110, 97, 109, 101, 115, 12, 109, 101, 115, 115, 97, 103, 101, 45, 100, 97, 116, 97, 5, 1, 0, 4, 0, 4, 101, 120, 101, 99, 1, 6, 4, 1, 22, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 103, 117, 101, 115, 116, 5, 43, 4, 1, 25, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 98, 105, 110, 100, 105, 110, 103, 115, 4, 44, 0, 69, 9, 112, 114, 111, 100, 117, 99, 101, 114, 115, 1, 12, 112, 114, 111, 99, 101, 115, 115, 101, 100, 45, 98, 121, 2, 13, 119, 105, 116, 45, 99, 111, 109, 112, 111, 110, 101, 110, 116, 6, 48, 46, 49, 50, 46, 48, 16, 119, 105, 116, 45, 98, 105, 110, 100, 103, 101, 110, 45, 114, 117, 115, 116, 5, 48, 46, 57, 46, 48, 11, 26, 1, 1, 20, 97, 109, 98, 105, 101, 110, 116, 58, 98, 105, 110, 100, 105, 110, 103, 115, 47, 119, 105, 116, 3, 0, 0];
#[inline(never)]
#[doc(hidden)]
#[cfg(target_arch = "wasm32")]
pub fn __link_section() {}