1pub trait R68da167712ddf1601aed7908c99972e62a41bdea1e28b241306a6b58d29e532d {
2 fn read8(&mut self, p0: u64) -> (u32);
3 fn size(&mut self) -> (u64);
4 fn write8(&mut self, p0: u64, p1: u32) -> ();
5}
6const _: () = {
7 #[link_section = ".pit-types"]
8 static SECTION_CONTENT: [u8; 60usize] = [
9 123u8,
10 114u8,
11 101u8,
12 97u8,
13 100u8,
14 56u8,
15 40u8,
16 73u8,
17 54u8,
18 52u8,
19 41u8,
20 32u8,
21 45u8,
22 62u8,
23 32u8,
24 40u8,
25 73u8,
26 51u8,
27 50u8,
28 41u8,
29 59u8,
30 115u8,
31 105u8,
32 122u8,
33 101u8,
34 40u8,
35 41u8,
36 32u8,
37 45u8,
38 62u8,
39 32u8,
40 40u8,
41 73u8,
42 54u8,
43 52u8,
44 41u8,
45 59u8,
46 119u8,
47 114u8,
48 105u8,
49 116u8,
50 101u8,
51 56u8,
52 40u8,
53 73u8,
54 54u8,
55 52u8,
56 44u8,
57 73u8,
58 51u8,
59 50u8,
60 41u8,
61 32u8,
62 45u8,
63 62u8,
64 32u8,
65 40u8,
66 41u8,
67 125u8,
68 0u8,
69 ];
70 fn alloc<T>(m: &mut ::std::collections::BTreeMap<u32, T>, x: T) -> u32 {
71 let mut u = 0;
72 while m.contains_key(&u) {
73 u += 1;
74 }
75 m.insert(u, x);
76 return u;
77 }
78 #[derive(Default)]
79 struct TableCell {
80 all: std::cell::UnsafeCell<
81 ::std::collections::BTreeMap<
82 u32,
83 Box<
84 dyn R68da167712ddf1601aed7908c99972e62a41bdea1e28b241306a6b58d29e532d,
85 >,
86 >,
87 >,
88 }
89 unsafe impl Send for TableCell {}
90 unsafe impl Sync for TableCell {}
91 static TABLE: ::std::sync::LazyLock<TableCell> = ::std::sync::LazyLock::new(|| TableCell::default());
92 impl R68da167712ddf1601aed7908c99972e62a41bdea1e28b241306a6b58d29e532d
93 for ::tpit_rt::Tpit<
94 Box<dyn R68da167712ddf1601aed7908c99972e62a41bdea1e28b241306a6b58d29e532d>,
95 > {
96 fn read8(&mut self, p0: u64) -> (u32) {
97 #[link(
98 wasm_import_module = "tpit/68da167712ddf1601aed7908c99972e62a41bdea1e28b241306a6b58d29e532d"
99 )]
100 extern "C" {
101 #[link_name = "read8"]
102 fn go(this: u32, p0: u64) -> (u32);
103 }
104 return unsafe { go(self.ptr(), p0) };
105 }
106 fn size(&mut self) -> (u64) {
107 #[link(
108 wasm_import_module = "tpit/68da167712ddf1601aed7908c99972e62a41bdea1e28b241306a6b58d29e532d"
109 )]
110 extern "C" {
111 #[link_name = "size"]
112 fn go(this: u32) -> (u64);
113 }
114 return unsafe { go(self.ptr()) };
115 }
116 fn write8(&mut self, p0: u64, p1: u32) -> () {
117 #[link(
118 wasm_import_module = "tpit/68da167712ddf1601aed7908c99972e62a41bdea1e28b241306a6b58d29e532d"
119 )]
120 extern "C" {
121 #[link_name = "write8"]
122 fn go(this: u32, p0: u64, p1: u32) -> ();
123 }
124 return unsafe { go(self.ptr(), p0, p1) };
125 }
126 }
127 #[export_name = "tpit/68da167712ddf1601aed7908c99972e62a41bdea1e28b241306a6b58d29e532d/~b3435bc747738a8874da05bf54d1e6b7c57bbab9ef27b0d40a5db3c3c8b6e5b9.drop"]
128 extern "C" fn _drop(a: u32) {
129 unsafe { (&mut *(TABLE.all.get())).remove(&a) };
130 }
131 #[export_name = "tpit/68da167712ddf1601aed7908c99972e62a41bdea1e28b241306a6b58d29e532d/~b3435bc747738a8874da05bf54d1e6b7c57bbab9ef27b0d40a5db3c3c8b6e5b9/read8"]
132 extern "C" fn read8(id: u32, p0: u64) -> (u32) {
133 return unsafe { &mut *(TABLE.all.get()) }.get_mut(&id).unwrap().read8(p0);
134 }
135 #[export_name = "tpit/68da167712ddf1601aed7908c99972e62a41bdea1e28b241306a6b58d29e532d/~b3435bc747738a8874da05bf54d1e6b7c57bbab9ef27b0d40a5db3c3c8b6e5b9/size"]
136 extern "C" fn size(id: u32) -> (u64) {
137 return unsafe { &mut *(TABLE.all.get()) }.get_mut(&id).unwrap().size();
138 }
139 #[export_name = "tpit/68da167712ddf1601aed7908c99972e62a41bdea1e28b241306a6b58d29e532d/~b3435bc747738a8874da05bf54d1e6b7c57bbab9ef27b0d40a5db3c3c8b6e5b9/write8"]
140 extern "C" fn write8(id: u32, p0: u64, p1: u32) -> () {
141 return unsafe { &mut *(TABLE.all.get()) }.get_mut(&id).unwrap().write8(p0, p1);
142 }
143 impl From<Box<dyn R68da167712ddf1601aed7908c99972e62a41bdea1e28b241306a6b58d29e532d>>
144 for ::tpit_rt::Tpit<
145 Box<dyn R68da167712ddf1601aed7908c99972e62a41bdea1e28b241306a6b58d29e532d>,
146 > {
147 fn from(
148 a: Box<dyn R68da167712ddf1601aed7908c99972e62a41bdea1e28b241306a6b58d29e532d>,
149 ) -> Self {
150 #[link(
151 wasm_import_module = "pit/68da167712ddf1601aed7908c99972e62a41bdea1e28b241306a6b58d29e532d"
152 )]
153 extern "C" {
154 #[link_name = "~b3435bc747738a8874da05bf54d1e6b7c57bbab9ef27b0d40a5db3c3c8b6e5b9"]
155 fn _push(
156 a: u32,
157 ) -> ::tpit_rt::Tpit<
158 Box<
159 dyn R68da167712ddf1601aed7908c99972e62a41bdea1e28b241306a6b58d29e532d,
160 >,
161 >;
162 }
163 return unsafe { _push(alloc(&mut *(TABLE.all.get()), a)) };
164 }
165 }
166};