diff --git a/.idea/vcs.xml b/.idea/vcs.xml index d843f34..35eb1dd 100644 --- a/.idea/vcs.xml +++ b/.idea/vcs.xml @@ -1,4 +1,6 @@ - + + + \ No newline at end of file diff --git a/.output/bpf/bpf.h b/.output/bpf/bpf.h index 972e17e..a4a7b1a 100644 --- a/.output/bpf/bpf.h +++ b/.output/bpf/bpf.h @@ -100,7 +100,7 @@ struct bpf_prog_load_opts { __u32 log_level; __u32 log_size; char *log_buf; - /* output: actual total log contents size (including termintaing zero). + /* output: actual total log contents size (including terminating zero). * It could be both larger than original log_size (if log was * truncated), or smaller (if log buffer wasn't filled completely). * If kernel doesn't support this feature, log_size is left unchanged. @@ -129,7 +129,7 @@ struct bpf_btf_load_opts { char *log_buf; __u32 log_level; __u32 log_size; - /* output: actual total log contents size (including termintaing zero). + /* output: actual total log contents size (including terminating zero). * It could be both larger than original log_size (if log was * truncated), or smaller (if log buffer wasn't filled completely). * If kernel doesn't support this feature, log_size is left unchanged. diff --git a/.output/bpf/bpf_helper_defs.h b/.output/bpf/bpf_helper_defs.h index fecfcf3..0cf177a 100644 --- a/.output/bpf/bpf_helper_defs.h +++ b/.output/bpf/bpf_helper_defs.h @@ -44,6 +44,14 @@ struct bpf_dynptr; struct iphdr; struct ipv6hdr; +#ifndef __bpf_fastcall +#if __has_attribute(bpf_fastcall) +#define __bpf_fastcall __attribute__((bpf_fastcall)) +#else +#define __bpf_fastcall +#endif +#endif + /* * bpf_map_lookup_elem * @@ -203,7 +211,7 @@ static __u32 (* const bpf_get_prandom_u32)(void) = (void *) 7; * Returns * The SMP id of the processor running the program. */ -static __u32 (* const bpf_get_smp_processor_id)(void) = (void *) 8; +static __bpf_fastcall __u32 (* const bpf_get_smp_processor_id)(void) = (void *) 8; /* * bpf_skb_store_bytes @@ -1224,7 +1232,7 @@ static long (* const bpf_set_hash)(struct __sk_buff *skb, __u32 hash) = (void *) * **TCP_SYNCNT**, **TCP_USER_TIMEOUT**, **TCP_NOTSENT_LOWAT**, * **TCP_NODELAY**, **TCP_MAXSEG**, **TCP_WINDOW_CLAMP**, * **TCP_THIN_LINEAR_TIMEOUTS**, **TCP_BPF_DELACK_MAX**, - * **TCP_BPF_RTO_MIN**. + * **TCP_BPF_RTO_MIN**, **TCP_BPF_SOCK_OPS_CB_FLAGS**. * * **IPPROTO_IP**, which supports *optname* **IP_TOS**. * * **IPPROTO_IPV6**, which supports the following *optname*\ s: * **IPV6_TCLASS**, **IPV6_AUTOFLOWLABEL**. @@ -1511,10 +1519,6 @@ static long (* const bpf_getsockopt)(void *bpf_socket, int level, int optname, v * option, and in this case it only works on functions tagged with * **ALLOW_ERROR_INJECTION** in the kernel code. * - * Also, the helper is only available for the architectures having - * the CONFIG_FUNCTION_ERROR_INJECTION option. As of this writing, - * x86 architecture is the only one to support this feature. - * * Returns * 0 */ @@ -4220,7 +4224,7 @@ static long (* const bpf_find_vma)(struct task_struct *task, __u64 addr, void *c * Currently, the **flags** must be 0. Currently, nr_loops is * limited to 1 << 23 (~8 million) loops. * - * long (\*callback_fn)(u32 index, void \*ctx); + * long (\*callback_fn)(u64 index, void \*ctx); * * where **index** is the current index in the loop. The index * is zero-indexed. @@ -4424,9 +4428,10 @@ static long (* const bpf_ima_file_hash)(struct file *file, void *dst, __u32 size /* * bpf_kptr_xchg * - * Exchange kptr at pointer *map_value* with *ptr*, and return the - * old value. *ptr* can be NULL, otherwise it must be a referenced - * pointer which will be released when this helper is called. + * Exchange kptr at pointer *dst* with *ptr*, and return the old value. + * *dst* can be map value or local kptr. *ptr* can be NULL, otherwise + * it must be a referenced pointer which will be released when this helper + * is called. * * Returns * The old value of kptr (which can be NULL). The returned pointer @@ -4434,7 +4439,7 @@ static long (* const bpf_ima_file_hash)(struct file *file, void *dst, __u32 size * corresponding release function, or moved into a BPF map before * program exit. */ -static void *(* const bpf_kptr_xchg)(void *map_value, void *ptr) = (void *) 194; +static void *(* const bpf_kptr_xchg)(void *dst, void *ptr) = (void *) 194; /* * bpf_map_lookup_percpu_elem diff --git a/.output/bpf/bpf_helpers.h b/.output/bpf/bpf_helpers.h index 305c628..686824b 100644 --- a/.output/bpf/bpf_helpers.h +++ b/.output/bpf/bpf_helpers.h @@ -185,6 +185,7 @@ enum libbpf_tristate { #define __kptr_untrusted __attribute__((btf_type_tag("kptr_untrusted"))) #define __kptr __attribute__((btf_type_tag("kptr"))) #define __percpu_kptr __attribute__((btf_type_tag("percpu_kptr"))) +#define __uptr __attribute__((btf_type_tag("uptr"))) #if defined (__clang__) #define bpf_ksym_exists(sym) ({ \ @@ -341,7 +342,7 @@ extern void bpf_iter_num_destroy(struct bpf_iter_num *it) __weak __ksym; * I.e., it looks almost like high-level for each loop in other languages, * supports continue/break, and is verifiable by BPF verifier. * - * For iterating integers, the difference betwen bpf_for_each(num, i, N, M) + * For iterating integers, the difference between bpf_for_each(num, i, N, M) * and bpf_for(i, N, M) is in that bpf_for() provides additional proof to * verifier that i is in [N, M) range, and in bpf_for_each() case i is `int * *`, not just `int`. So for integers bpf_for() is more convenient. diff --git a/.output/bpf/bpf_tracing.h b/.output/bpf/bpf_tracing.h index 9314fa9..a8f6cd4 100644 --- a/.output/bpf/bpf_tracing.h +++ b/.output/bpf/bpf_tracing.h @@ -163,7 +163,7 @@ struct pt_regs___s390 { unsigned long orig_gpr2; -}; +} __attribute__((preserve_access_index)); /* s390 provides user_pt_regs instead of struct pt_regs to userspace */ #define __PT_REGS_CAST(x) ((const user_pt_regs *)(x)) @@ -179,7 +179,7 @@ struct pt_regs___s390 { #define __PT_PARM4_SYSCALL_REG __PT_PARM4_REG #define __PT_PARM5_SYSCALL_REG __PT_PARM5_REG #define __PT_PARM6_SYSCALL_REG gprs[7] -#define PT_REGS_PARM1_SYSCALL(x) PT_REGS_PARM1_CORE_SYSCALL(x) +#define PT_REGS_PARM1_SYSCALL(x) (((const struct pt_regs___s390 *)(x))->__PT_PARM1_SYSCALL_REG) #define PT_REGS_PARM1_CORE_SYSCALL(x) \ BPF_CORE_READ((const struct pt_regs___s390 *)(x), __PT_PARM1_SYSCALL_REG) @@ -222,7 +222,7 @@ struct pt_regs___s390 { struct pt_regs___arm64 { unsigned long orig_x0; -}; +} __attribute__((preserve_access_index)); /* arm64 provides struct user_pt_regs instead of struct pt_regs to userspace */ #define __PT_REGS_CAST(x) ((const struct user_pt_regs *)(x)) @@ -241,7 +241,7 @@ struct pt_regs___arm64 { #define __PT_PARM4_SYSCALL_REG __PT_PARM4_REG #define __PT_PARM5_SYSCALL_REG __PT_PARM5_REG #define __PT_PARM6_SYSCALL_REG __PT_PARM6_REG -#define PT_REGS_PARM1_SYSCALL(x) PT_REGS_PARM1_CORE_SYSCALL(x) +#define PT_REGS_PARM1_SYSCALL(x) (((const struct pt_regs___arm64 *)(x))->__PT_PARM1_SYSCALL_REG) #define PT_REGS_PARM1_CORE_SYSCALL(x) \ BPF_CORE_READ((const struct pt_regs___arm64 *)(x), __PT_PARM1_SYSCALL_REG) @@ -351,6 +351,10 @@ struct pt_regs___arm64 { * https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/master/riscv-cc.adoc#risc-v-calling-conventions */ +struct pt_regs___riscv { + unsigned long orig_a0; +} __attribute__((preserve_access_index)); + /* riscv provides struct user_regs_struct instead of struct pt_regs to userspace */ #define __PT_REGS_CAST(x) ((const struct user_regs_struct *)(x)) #define __PT_PARM1_REG a0 @@ -362,12 +366,15 @@ struct pt_regs___arm64 { #define __PT_PARM7_REG a6 #define __PT_PARM8_REG a7 -#define __PT_PARM1_SYSCALL_REG __PT_PARM1_REG +#define __PT_PARM1_SYSCALL_REG orig_a0 #define __PT_PARM2_SYSCALL_REG __PT_PARM2_REG #define __PT_PARM3_SYSCALL_REG __PT_PARM3_REG #define __PT_PARM4_SYSCALL_REG __PT_PARM4_REG #define __PT_PARM5_SYSCALL_REG __PT_PARM5_REG #define __PT_PARM6_SYSCALL_REG __PT_PARM6_REG +#define PT_REGS_PARM1_SYSCALL(x) (((const struct pt_regs___riscv *)(x))->__PT_PARM1_SYSCALL_REG) +#define PT_REGS_PARM1_CORE_SYSCALL(x) \ + BPF_CORE_READ((const struct pt_regs___riscv *)(x), __PT_PARM1_SYSCALL_REG) #define __PT_RET_REG ra #define __PT_FP_REG s0 @@ -473,7 +480,7 @@ struct pt_regs; #endif /* * Similarly, syscall-specific conventions might differ between function call - * conventions within each architecutre. All supported architectures pass + * conventions within each architecture. All supported architectures pass * either 6 or 7 syscall arguments in registers. * * See syscall(2) manpage for succinct table with information on each arch. @@ -515,7 +522,7 @@ struct pt_regs; #define BPF_KPROBE_READ_RET_IP(ip, ctx) ({ (ip) = (ctx)->link; }) #define BPF_KRETPROBE_READ_RET_IP BPF_KPROBE_READ_RET_IP -#elif defined(bpf_target_sparc) +#elif defined(bpf_target_sparc) || defined(bpf_target_arm64) #define BPF_KPROBE_READ_RET_IP(ip, ctx) ({ (ip) = PT_REGS_RET(ctx); }) #define BPF_KRETPROBE_READ_RET_IP BPF_KPROBE_READ_RET_IP @@ -651,7 +658,7 @@ struct pt_regs; * BPF_PROG is a convenience wrapper for generic tp_btf/fentry/fexit and * similar kinds of BPF programs, that accept input arguments as a single * pointer to untyped u64 array, where each u64 can actually be a typed - * pointer or integer of different size. Instead of requring user to write + * pointer or integer of different size. Instead of requiring user to write * manual casts and work with array elements by index, BPF_PROG macro * allows user to declare a list of named and typed input arguments in the * same syntax as for normal C function. All the casting is hidden and @@ -801,7 +808,7 @@ struct pt_regs; * tp_btf/fentry/fexit BPF programs. It hides the underlying platform-specific * low-level way of getting kprobe input arguments from struct pt_regs, and * provides a familiar typed and named function arguments syntax and - * semantics of accessing kprobe input paremeters. + * semantics of accessing kprobe input parameters. * * Original struct pt_regs* context is preserved as 'ctx' argument. This might * be necessary when using BPF helpers like bpf_perf_event_output(). diff --git a/.output/bpf/btf.h b/.output/bpf/btf.h index b68d216..47ee8f6 100644 --- a/.output/bpf/btf.h +++ b/.output/bpf/btf.h @@ -167,6 +167,9 @@ LIBBPF_API const char *btf__str_by_offset(const struct btf *btf, __u32 offset); LIBBPF_API struct btf_ext *btf_ext__new(const __u8 *data, __u32 size); LIBBPF_API void btf_ext__free(struct btf_ext *btf_ext); LIBBPF_API const void *btf_ext__raw_data(const struct btf_ext *btf_ext, __u32 *size); +LIBBPF_API enum btf_endianness btf_ext__endianness(const struct btf_ext *btf_ext); +LIBBPF_API int btf_ext__set_endianness(struct btf_ext *btf_ext, + enum btf_endianness endian); LIBBPF_API int btf__find_str(struct btf *btf, const char *s); LIBBPF_API int btf__add_str(struct btf *btf, const char *s); @@ -286,7 +289,7 @@ LIBBPF_API void btf_dump__free(struct btf_dump *d); LIBBPF_API int btf_dump__dump_type(struct btf_dump *d, __u32 id); struct btf_dump_emit_type_decl_opts { - /* size of this struct, for forward/backward compatiblity */ + /* size of this struct, for forward/backward compatibility */ size_t sz; /* optional field name for type declaration, e.g.: * - struct my_struct diff --git a/.output/bpf/libbpf.h b/.output/bpf/libbpf.h index 64a6a3d..b2ce3a7 100644 --- a/.output/bpf/libbpf.h +++ b/.output/bpf/libbpf.h @@ -152,7 +152,7 @@ struct bpf_object_open_opts { * log_buf and log_level settings. * * If specified, this log buffer will be passed for: - * - each BPF progral load (BPF_PROG_LOAD) attempt, unless overriden + * - each BPF progral load (BPF_PROG_LOAD) attempt, unless overridden * with bpf_program__set_log() on per-program level, to get * BPF verifier log output. * - during BPF object's BTF load into kernel (BPF_BTF_LOAD) to get @@ -294,6 +294,14 @@ LIBBPF_API const char *bpf_object__name(const struct bpf_object *obj); LIBBPF_API unsigned int bpf_object__kversion(const struct bpf_object *obj); LIBBPF_API int bpf_object__set_kversion(struct bpf_object *obj, __u32 kern_version); +/** + * @brief **bpf_object__token_fd** is an accessor for BPF token FD associated + * with BPF object. + * @param obj Pointer to a valid BPF object + * @return BPF token FD or -1, if it wasn't set + */ +LIBBPF_API int bpf_object__token_fd(const struct bpf_object *obj); + struct btf; LIBBPF_API struct btf *bpf_object__btf(const struct bpf_object *obj); LIBBPF_API int bpf_object__btf_fd(const struct bpf_object *obj); @@ -455,7 +463,7 @@ LIBBPF_API int bpf_link__destroy(struct bpf_link *link); /** * @brief **bpf_program__attach()** is a generic function for attaching * a BPF program based on auto-detection of program type, attach type, - * and extra paremeters, where applicable. + * and extra parameters, where applicable. * * @param prog BPF program to attach * @return Reference to the newly created BPF link; or NULL is returned on error, @@ -569,10 +577,12 @@ struct bpf_uprobe_multi_opts { size_t cnt; /* create return uprobes */ bool retprobe; + /* create session kprobes */ + bool session; size_t :0; }; -#define bpf_uprobe_multi_opts__last_field retprobe +#define bpf_uprobe_multi_opts__last_field session /** * @brief **bpf_program__attach_uprobe_multi()** attaches a BPF program @@ -679,7 +689,7 @@ struct bpf_uprobe_opts { /** * @brief **bpf_program__attach_uprobe()** attaches a BPF program * to the userspace function which is found by binary path and - * offset. You can optionally specify a particular proccess to attach + * offset. You can optionally specify a particular process to attach * to. You can also optionally attach the program to the function * exit instead of entry. * @@ -1593,11 +1603,11 @@ LIBBPF_API int perf_buffer__buffer_fd(const struct perf_buffer *pb, size_t buf_i * memory region of the ring buffer. * This ring buffer can be used to implement a custom events consumer. * The ring buffer starts with the *struct perf_event_mmap_page*, which - * holds the ring buffer managment fields, when accessing the header + * holds the ring buffer management fields, when accessing the header * structure it's important to be SMP aware. * You can refer to *perf_event_read_simple* for a simple example. * @param pb the perf buffer structure - * @param buf_idx the buffer index to retreive + * @param buf_idx the buffer index to retrieve * @param buf (out) gets the base pointer of the mmap()'ed memory * @param buf_size (out) gets the size of the mmap()'ed region * @return 0 on success, negative error code for failure diff --git a/.output/bpf/libbpf_legacy.h b/.output/bpf/libbpf_legacy.h index 1e1be46..60b2600 100644 --- a/.output/bpf/libbpf_legacy.h +++ b/.output/bpf/libbpf_legacy.h @@ -76,7 +76,7 @@ enum libbpf_strict_mode { * first BPF program or map creation operation. This is done only if * kernel is too old to support memcg-based memory accounting for BPF * subsystem. By default, RLIMIT_MEMLOCK limit is set to RLIM_INFINITY, - * but it can be overriden with libbpf_set_memlock_rlim() API. + * but it can be overridden with libbpf_set_memlock_rlim() API. * Note that libbpf_set_memlock_rlim() needs to be called before * the very first bpf_prog_load(), bpf_map_create() or bpf_object__load() * operation. @@ -97,7 +97,7 @@ LIBBPF_API int libbpf_set_strict_mode(enum libbpf_strict_mode mode); * @brief **libbpf_get_error()** extracts the error code from the passed * pointer * @param ptr pointer returned from libbpf API function - * @return error code; or 0 if no error occured + * @return error code; or 0 if no error occurred * * Note, as of libbpf 1.0 this function is not necessary and not recommended * to be used. Libbpf doesn't return error code embedded into the pointer diff --git a/.output/bpf/libbpf_version.h b/.output/bpf/libbpf_version.h index d6e5eff..28c58fb 100644 --- a/.output/bpf/libbpf_version.h +++ b/.output/bpf/libbpf_version.h @@ -4,6 +4,6 @@ #define __LIBBPF_VERSION_H #define LIBBPF_MAJOR_VERSION 1 -#define LIBBPF_MINOR_VERSION 5 +#define LIBBPF_MINOR_VERSION 6 #endif /* __LIBBPF_VERSION_H */ diff --git a/.output/bpf/skel_internal.h b/.output/bpf/skel_internal.h index 1e82ab0..4d5fa07 100644 --- a/.output/bpf/skel_internal.h +++ b/.output/bpf/skel_internal.h @@ -107,7 +107,7 @@ static inline void skel_free(const void *p) * The loader program will perform probe_read_kernel() from maps.rodata.initial_value. * skel_finalize_map_data() sets skel->rodata to point to actual value in a bpf map and * does maps.rodata.initial_value = ~0ULL to signal skel_free_map_data() that kvfree - * is not nessary. + * is not necessary. * * For user space: * skel_prep_map_data() mmaps anon memory into skel->rodata that can be accessed directly. @@ -351,10 +351,11 @@ static inline int bpf_load_and_run(struct bpf_load_and_run_opts *opts) attr.test.ctx_size_in = opts->ctx->sz; err = skel_sys_bpf(BPF_PROG_RUN, &attr, test_run_attr_sz); if (err < 0 || (int)attr.test.retval < 0) { - opts->errstr = "failed to execute loader prog"; if (err < 0) { + opts->errstr = "failed to execute loader prog"; set_err; } else { + opts->errstr = "error returned by loader prog"; err = (int)attr.test.retval; #ifndef __KERNEL__ errno = -err; diff --git a/.output/bpf/usdt.bpf.h b/.output/bpf/usdt.bpf.h index 76359bc..b811f75 100644 --- a/.output/bpf/usdt.bpf.h +++ b/.output/bpf/usdt.bpf.h @@ -39,7 +39,7 @@ enum __bpf_usdt_arg_type { struct __bpf_usdt_arg_spec { /* u64 scalar interpreted depending on arg_type, see below */ __u64 val_off; - /* arg location case, see bpf_udst_arg() for details */ + /* arg location case, see bpf_usdt_arg() for details */ enum __bpf_usdt_arg_type arg_type; /* offset of referenced register within struct pt_regs */ short reg_off; diff --git a/.output/bpftool/bootstrap/bpftool b/.output/bpftool/bootstrap/bpftool index db1b2a1..abb6d2b 100755 Binary files a/.output/bpftool/bootstrap/bpftool and b/.output/bpftool/bootstrap/bpftool differ diff --git a/.output/bpftool/bootstrap/btf.d b/.output/bpftool/bootstrap/btf.d index bd6fce0..80cdece 100644 --- a/.output/bpftool/bootstrap/btf.d +++ b/.output/bpftool/bootstrap/btf.d @@ -1,19 +1,18 @@ -/home/ne0/sys_competition/start/cpu_watcher/.output/bpftool/bootstrap/btf.o: \ - btf.c /home/ne0/sys_competition/start/bpftool/include/linux/err.h \ - /home/ne0/sys_competition/start/bpftool/include/linux/types.h \ - /home/ne0/sys_competition/start/bpftool/include/uapi/linux/btf.h \ - /home/ne0/sys_competition/start/cpu_watcher/.output/bpftool/bootstrap/libbpf/include/bpf/bpf.h \ - /home/ne0/sys_competition/start/bpftool/include/uapi/linux/bpf.h \ - /home/ne0/sys_competition/start/bpftool/include/uapi/linux/bpf_common.h \ - /home/ne0/sys_competition/start/cpu_watcher/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf_common.h \ - /home/ne0/sys_competition/start/cpu_watcher/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf_version.h \ - /home/ne0/sys_competition/start/cpu_watcher/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf_legacy.h \ - /home/ne0/sys_competition/start/cpu_watcher/.output/bpftool/bootstrap/libbpf/include/bpf/btf.h \ - /home/ne0/sys_competition/start/cpu_watcher/.output/bpftool/bootstrap/libbpf/include/bpf/hashmap.h \ - /home/ne0/sys_competition/start/cpu_watcher/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf.h \ - json_writer.h \ - /home/ne0/sys_competition/start/bpftool/include/linux/compiler.h \ - /home/ne0/sys_competition/start/bpftool/include/linux/compiler_types.h \ - /home/ne0/sys_competition/start/bpftool/include/linux/compiler-gcc.h \ - main.h /home/ne0/sys_competition/start/bpftool/include/linux/kernel.h \ - /home/ne0/sys_competition/start/bpftool/include/linux/build_bug.h +/home/ne1/sys_competition/scx-plug/.output/bpftool/bootstrap/btf.o: btf.c \ + /home/ne1/sys_competition/bpftool/include/linux/err.h \ + /home/ne1/sys_competition/bpftool/include/linux/types.h \ + /home/ne1/sys_competition/bpftool/include/uapi/linux/btf.h \ + /home/ne1/sys_competition/scx-plug/.output/bpftool/bootstrap/libbpf/include/bpf/bpf.h \ + /home/ne1/sys_competition/bpftool/include/uapi/linux/bpf.h \ + /home/ne1/sys_competition/bpftool/include/uapi/linux/bpf_common.h \ + /home/ne1/sys_competition/scx-plug/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf_common.h \ + /home/ne1/sys_competition/scx-plug/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf_version.h \ + /home/ne1/sys_competition/scx-plug/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf_legacy.h \ + /home/ne1/sys_competition/scx-plug/.output/bpftool/bootstrap/libbpf/include/bpf/btf.h \ + /home/ne1/sys_competition/scx-plug/.output/bpftool/bootstrap/libbpf/include/bpf/hashmap.h \ + /home/ne1/sys_competition/scx-plug/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf.h \ + json_writer.h /home/ne1/sys_competition/bpftool/include/linux/compiler.h \ + /home/ne1/sys_competition/bpftool/include/linux/compiler_types.h \ + /home/ne1/sys_competition/bpftool/include/linux/compiler-gcc.h main.h \ + /home/ne1/sys_competition/bpftool/include/linux/kernel.h \ + /home/ne1/sys_competition/bpftool/include/linux/build_bug.h diff --git a/.output/bpftool/bootstrap/btf.o b/.output/bpftool/bootstrap/btf.o index 26fde6d..907acd4 100644 Binary files a/.output/bpftool/bootstrap/btf.o and b/.output/bpftool/bootstrap/btf.o differ diff --git a/.output/bpftool/bootstrap/common.d b/.output/bpftool/bootstrap/common.d index 6703b64..db5c08f 100644 --- a/.output/bpftool/bootstrap/common.d +++ b/.output/bpftool/bootstrap/common.d @@ -1,18 +1,18 @@ -/home/ne0/sys_competition/start/cpu_watcher/.output/bpftool/bootstrap/common.o: \ - common.c /home/ne0/sys_competition/start/bpftool/include/linux/filter.h \ - /home/ne0/sys_competition/start/bpftool/include/uapi/linux/bpf.h \ - /home/ne0/sys_competition/start/bpftool/include/uapi/linux/bpf_common.h \ - /home/ne0/sys_competition/start/cpu_watcher/.output/bpftool/bootstrap/libbpf/include/bpf/bpf.h \ - /home/ne0/sys_competition/start/cpu_watcher/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf_common.h \ - /home/ne0/sys_competition/start/cpu_watcher/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf_version.h \ - /home/ne0/sys_competition/start/cpu_watcher/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf_legacy.h \ - /home/ne0/sys_competition/start/cpu_watcher/.output/bpftool/bootstrap/libbpf/include/bpf/hashmap.h \ - /home/ne0/sys_competition/start/cpu_watcher/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf.h \ - /home/ne0/sys_competition/start/cpu_watcher/.output/bpftool/bootstrap/libbpf/include/bpf/btf.h \ - /home/ne0/sys_competition/start/bpftool/include/uapi/linux/btf.h main.h \ - /home/ne0/sys_competition/start/bpftool/include/linux/compiler.h \ - /home/ne0/sys_competition/start/bpftool/include/linux/compiler_types.h \ - /home/ne0/sys_competition/start/bpftool/include/linux/compiler-gcc.h \ - /home/ne0/sys_competition/start/bpftool/include/linux/kernel.h \ - /home/ne0/sys_competition/start/bpftool/include/linux/build_bug.h \ +/home/ne1/sys_competition/scx-plug/.output/bpftool/bootstrap/common.o: \ + common.c /home/ne1/sys_competition/bpftool/include/linux/filter.h \ + /home/ne1/sys_competition/bpftool/include/uapi/linux/bpf.h \ + /home/ne1/sys_competition/bpftool/include/uapi/linux/bpf_common.h \ + /home/ne1/sys_competition/scx-plug/.output/bpftool/bootstrap/libbpf/include/bpf/bpf.h \ + /home/ne1/sys_competition/scx-plug/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf_common.h \ + /home/ne1/sys_competition/scx-plug/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf_version.h \ + /home/ne1/sys_competition/scx-plug/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf_legacy.h \ + /home/ne1/sys_competition/scx-plug/.output/bpftool/bootstrap/libbpf/include/bpf/hashmap.h \ + /home/ne1/sys_competition/scx-plug/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf.h \ + /home/ne1/sys_competition/scx-plug/.output/bpftool/bootstrap/libbpf/include/bpf/btf.h \ + /home/ne1/sys_competition/bpftool/include/uapi/linux/btf.h main.h \ + /home/ne1/sys_competition/bpftool/include/linux/compiler.h \ + /home/ne1/sys_competition/bpftool/include/linux/compiler_types.h \ + /home/ne1/sys_competition/bpftool/include/linux/compiler-gcc.h \ + /home/ne1/sys_competition/bpftool/include/linux/kernel.h \ + /home/ne1/sys_competition/bpftool/include/linux/build_bug.h \ json_writer.h diff --git a/.output/bpftool/bootstrap/common.o b/.output/bpftool/bootstrap/common.o index d962531..585193f 100644 Binary files a/.output/bpftool/bootstrap/common.o and b/.output/bpftool/bootstrap/common.o differ diff --git a/.output/bpftool/bootstrap/gen.d b/.output/bpftool/bootstrap/gen.d index 39ae973..bc4c7ea 100644 --- a/.output/bpftool/bootstrap/gen.d +++ b/.output/bpftool/bootstrap/gen.d @@ -1,23 +1,22 @@ -/home/ne0/sys_competition/start/cpu_watcher/.output/bpftool/bootstrap/gen.o: \ - gen.c /home/ne0/sys_competition/start/bpftool/include/linux/err.h \ - /home/ne0/sys_competition/start/bpftool/include/linux/types.h \ - /home/ne0/sys_competition/start/cpu_watcher/.output/bpftool/bootstrap/libbpf/include/bpf/bpf.h \ - /home/ne0/sys_competition/start/bpftool/include/uapi/linux/bpf.h \ - /home/ne0/sys_competition/start/bpftool/include/uapi/linux/bpf_common.h \ - /home/ne0/sys_competition/start/cpu_watcher/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf_common.h \ - /home/ne0/sys_competition/start/cpu_watcher/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf_version.h \ - /home/ne0/sys_competition/start/cpu_watcher/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf_legacy.h \ - /home/ne0/sys_competition/start/cpu_watcher/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf.h \ - /home/ne0/sys_competition/start/cpu_watcher/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf_internal.h \ - /home/ne0/sys_competition/start/cpu_watcher/.output/bpftool/bootstrap/libbpf/include/bpf/relo_core.h \ - /home/ne0/sys_competition/start/cpu_watcher/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf.h \ - /home/ne0/sys_competition/start/cpu_watcher/.output/bpftool/bootstrap/libbpf/include/bpf/btf.h \ - /home/ne0/sys_competition/start/bpftool/include/uapi/linux/btf.h \ - /home/ne0/sys_competition/start/cpu_watcher/.output/bpftool/bootstrap/libbpf/include/bpf/btf.h \ - json_writer.h \ - /home/ne0/sys_competition/start/bpftool/include/linux/compiler.h \ - /home/ne0/sys_competition/start/bpftool/include/linux/compiler_types.h \ - /home/ne0/sys_competition/start/bpftool/include/linux/compiler-gcc.h \ - main.h /home/ne0/sys_competition/start/bpftool/include/linux/kernel.h \ - /home/ne0/sys_competition/start/bpftool/include/linux/build_bug.h \ - /home/ne0/sys_competition/start/cpu_watcher/.output/bpftool/bootstrap/libbpf/include/bpf/hashmap.h +/home/ne1/sys_competition/scx-plug/.output/bpftool/bootstrap/gen.o: gen.c \ + /home/ne1/sys_competition/bpftool/include/linux/err.h \ + /home/ne1/sys_competition/bpftool/include/linux/types.h \ + /home/ne1/sys_competition/scx-plug/.output/bpftool/bootstrap/libbpf/include/bpf/bpf.h \ + /home/ne1/sys_competition/bpftool/include/uapi/linux/bpf.h \ + /home/ne1/sys_competition/bpftool/include/uapi/linux/bpf_common.h \ + /home/ne1/sys_competition/scx-plug/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf_common.h \ + /home/ne1/sys_competition/scx-plug/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf_version.h \ + /home/ne1/sys_competition/scx-plug/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf_legacy.h \ + /home/ne1/sys_competition/scx-plug/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf.h \ + /home/ne1/sys_competition/scx-plug/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf_internal.h \ + /home/ne1/sys_competition/scx-plug/.output/bpftool/bootstrap/libbpf/include/bpf/relo_core.h \ + /home/ne1/sys_competition/scx-plug/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf.h \ + /home/ne1/sys_competition/scx-plug/.output/bpftool/bootstrap/libbpf/include/bpf/btf.h \ + /home/ne1/sys_competition/bpftool/include/uapi/linux/btf.h \ + /home/ne1/sys_competition/scx-plug/.output/bpftool/bootstrap/libbpf/include/bpf/btf.h \ + json_writer.h /home/ne1/sys_competition/bpftool/include/linux/compiler.h \ + /home/ne1/sys_competition/bpftool/include/linux/compiler_types.h \ + /home/ne1/sys_competition/bpftool/include/linux/compiler-gcc.h main.h \ + /home/ne1/sys_competition/bpftool/include/linux/kernel.h \ + /home/ne1/sys_competition/bpftool/include/linux/build_bug.h \ + /home/ne1/sys_competition/scx-plug/.output/bpftool/bootstrap/libbpf/include/bpf/hashmap.h diff --git a/.output/bpftool/bootstrap/gen.o b/.output/bpftool/bootstrap/gen.o index 884907f..a7f1075 100644 Binary files a/.output/bpftool/bootstrap/gen.o and b/.output/bpftool/bootstrap/gen.o differ diff --git a/.output/bpftool/bootstrap/json_writer.d b/.output/bpftool/bootstrap/json_writer.d index 8a18281..34d3f36 100644 --- a/.output/bpftool/bootstrap/json_writer.d +++ b/.output/bpftool/bootstrap/json_writer.d @@ -1,5 +1,5 @@ -/home/ne0/sys_competition/start/cpu_watcher/.output/bpftool/bootstrap/json_writer.o: \ +/home/ne1/sys_competition/scx-plug/.output/bpftool/bootstrap/json_writer.o: \ json_writer.c json_writer.h \ - /home/ne0/sys_competition/start/bpftool/include/linux/compiler.h \ - /home/ne0/sys_competition/start/bpftool/include/linux/compiler_types.h \ - /home/ne0/sys_competition/start/bpftool/include/linux/compiler-gcc.h + /home/ne1/sys_competition/bpftool/include/linux/compiler.h \ + /home/ne1/sys_competition/bpftool/include/linux/compiler_types.h \ + /home/ne1/sys_competition/bpftool/include/linux/compiler-gcc.h diff --git a/.output/bpftool/bootstrap/json_writer.o b/.output/bpftool/bootstrap/json_writer.o index 6077c69..e4f0bf3 100644 Binary files a/.output/bpftool/bootstrap/json_writer.o and b/.output/bpftool/bootstrap/json_writer.o differ diff --git a/.output/bpftool/bootstrap/libbpf/include/bpf/bpf.h b/.output/bpftool/bootstrap/libbpf/include/bpf/bpf.h index 972e17e..a4a7b1a 100644 --- a/.output/bpftool/bootstrap/libbpf/include/bpf/bpf.h +++ b/.output/bpftool/bootstrap/libbpf/include/bpf/bpf.h @@ -100,7 +100,7 @@ struct bpf_prog_load_opts { __u32 log_level; __u32 log_size; char *log_buf; - /* output: actual total log contents size (including termintaing zero). + /* output: actual total log contents size (including terminating zero). * It could be both larger than original log_size (if log was * truncated), or smaller (if log buffer wasn't filled completely). * If kernel doesn't support this feature, log_size is left unchanged. @@ -129,7 +129,7 @@ struct bpf_btf_load_opts { char *log_buf; __u32 log_level; __u32 log_size; - /* output: actual total log contents size (including termintaing zero). + /* output: actual total log contents size (including terminating zero). * It could be both larger than original log_size (if log was * truncated), or smaller (if log buffer wasn't filled completely). * If kernel doesn't support this feature, log_size is left unchanged. diff --git a/.output/bpftool/bootstrap/libbpf/include/bpf/bpf_helper_defs.h b/.output/bpftool/bootstrap/libbpf/include/bpf/bpf_helper_defs.h index fecfcf3..0cf177a 100644 --- a/.output/bpftool/bootstrap/libbpf/include/bpf/bpf_helper_defs.h +++ b/.output/bpftool/bootstrap/libbpf/include/bpf/bpf_helper_defs.h @@ -44,6 +44,14 @@ struct bpf_dynptr; struct iphdr; struct ipv6hdr; +#ifndef __bpf_fastcall +#if __has_attribute(bpf_fastcall) +#define __bpf_fastcall __attribute__((bpf_fastcall)) +#else +#define __bpf_fastcall +#endif +#endif + /* * bpf_map_lookup_elem * @@ -203,7 +211,7 @@ static __u32 (* const bpf_get_prandom_u32)(void) = (void *) 7; * Returns * The SMP id of the processor running the program. */ -static __u32 (* const bpf_get_smp_processor_id)(void) = (void *) 8; +static __bpf_fastcall __u32 (* const bpf_get_smp_processor_id)(void) = (void *) 8; /* * bpf_skb_store_bytes @@ -1224,7 +1232,7 @@ static long (* const bpf_set_hash)(struct __sk_buff *skb, __u32 hash) = (void *) * **TCP_SYNCNT**, **TCP_USER_TIMEOUT**, **TCP_NOTSENT_LOWAT**, * **TCP_NODELAY**, **TCP_MAXSEG**, **TCP_WINDOW_CLAMP**, * **TCP_THIN_LINEAR_TIMEOUTS**, **TCP_BPF_DELACK_MAX**, - * **TCP_BPF_RTO_MIN**. + * **TCP_BPF_RTO_MIN**, **TCP_BPF_SOCK_OPS_CB_FLAGS**. * * **IPPROTO_IP**, which supports *optname* **IP_TOS**. * * **IPPROTO_IPV6**, which supports the following *optname*\ s: * **IPV6_TCLASS**, **IPV6_AUTOFLOWLABEL**. @@ -1511,10 +1519,6 @@ static long (* const bpf_getsockopt)(void *bpf_socket, int level, int optname, v * option, and in this case it only works on functions tagged with * **ALLOW_ERROR_INJECTION** in the kernel code. * - * Also, the helper is only available for the architectures having - * the CONFIG_FUNCTION_ERROR_INJECTION option. As of this writing, - * x86 architecture is the only one to support this feature. - * * Returns * 0 */ @@ -4220,7 +4224,7 @@ static long (* const bpf_find_vma)(struct task_struct *task, __u64 addr, void *c * Currently, the **flags** must be 0. Currently, nr_loops is * limited to 1 << 23 (~8 million) loops. * - * long (\*callback_fn)(u32 index, void \*ctx); + * long (\*callback_fn)(u64 index, void \*ctx); * * where **index** is the current index in the loop. The index * is zero-indexed. @@ -4424,9 +4428,10 @@ static long (* const bpf_ima_file_hash)(struct file *file, void *dst, __u32 size /* * bpf_kptr_xchg * - * Exchange kptr at pointer *map_value* with *ptr*, and return the - * old value. *ptr* can be NULL, otherwise it must be a referenced - * pointer which will be released when this helper is called. + * Exchange kptr at pointer *dst* with *ptr*, and return the old value. + * *dst* can be map value or local kptr. *ptr* can be NULL, otherwise + * it must be a referenced pointer which will be released when this helper + * is called. * * Returns * The old value of kptr (which can be NULL). The returned pointer @@ -4434,7 +4439,7 @@ static long (* const bpf_ima_file_hash)(struct file *file, void *dst, __u32 size * corresponding release function, or moved into a BPF map before * program exit. */ -static void *(* const bpf_kptr_xchg)(void *map_value, void *ptr) = (void *) 194; +static void *(* const bpf_kptr_xchg)(void *dst, void *ptr) = (void *) 194; /* * bpf_map_lookup_percpu_elem diff --git a/.output/bpftool/bootstrap/libbpf/include/bpf/bpf_helpers.h b/.output/bpftool/bootstrap/libbpf/include/bpf/bpf_helpers.h index 305c628..686824b 100644 --- a/.output/bpftool/bootstrap/libbpf/include/bpf/bpf_helpers.h +++ b/.output/bpftool/bootstrap/libbpf/include/bpf/bpf_helpers.h @@ -185,6 +185,7 @@ enum libbpf_tristate { #define __kptr_untrusted __attribute__((btf_type_tag("kptr_untrusted"))) #define __kptr __attribute__((btf_type_tag("kptr"))) #define __percpu_kptr __attribute__((btf_type_tag("percpu_kptr"))) +#define __uptr __attribute__((btf_type_tag("uptr"))) #if defined (__clang__) #define bpf_ksym_exists(sym) ({ \ @@ -341,7 +342,7 @@ extern void bpf_iter_num_destroy(struct bpf_iter_num *it) __weak __ksym; * I.e., it looks almost like high-level for each loop in other languages, * supports continue/break, and is verifiable by BPF verifier. * - * For iterating integers, the difference betwen bpf_for_each(num, i, N, M) + * For iterating integers, the difference between bpf_for_each(num, i, N, M) * and bpf_for(i, N, M) is in that bpf_for() provides additional proof to * verifier that i is in [N, M) range, and in bpf_for_each() case i is `int * *`, not just `int`. So for integers bpf_for() is more convenient. diff --git a/.output/bpftool/bootstrap/libbpf/include/bpf/bpf_tracing.h b/.output/bpftool/bootstrap/libbpf/include/bpf/bpf_tracing.h index 9314fa9..a8f6cd4 100644 --- a/.output/bpftool/bootstrap/libbpf/include/bpf/bpf_tracing.h +++ b/.output/bpftool/bootstrap/libbpf/include/bpf/bpf_tracing.h @@ -163,7 +163,7 @@ struct pt_regs___s390 { unsigned long orig_gpr2; -}; +} __attribute__((preserve_access_index)); /* s390 provides user_pt_regs instead of struct pt_regs to userspace */ #define __PT_REGS_CAST(x) ((const user_pt_regs *)(x)) @@ -179,7 +179,7 @@ struct pt_regs___s390 { #define __PT_PARM4_SYSCALL_REG __PT_PARM4_REG #define __PT_PARM5_SYSCALL_REG __PT_PARM5_REG #define __PT_PARM6_SYSCALL_REG gprs[7] -#define PT_REGS_PARM1_SYSCALL(x) PT_REGS_PARM1_CORE_SYSCALL(x) +#define PT_REGS_PARM1_SYSCALL(x) (((const struct pt_regs___s390 *)(x))->__PT_PARM1_SYSCALL_REG) #define PT_REGS_PARM1_CORE_SYSCALL(x) \ BPF_CORE_READ((const struct pt_regs___s390 *)(x), __PT_PARM1_SYSCALL_REG) @@ -222,7 +222,7 @@ struct pt_regs___s390 { struct pt_regs___arm64 { unsigned long orig_x0; -}; +} __attribute__((preserve_access_index)); /* arm64 provides struct user_pt_regs instead of struct pt_regs to userspace */ #define __PT_REGS_CAST(x) ((const struct user_pt_regs *)(x)) @@ -241,7 +241,7 @@ struct pt_regs___arm64 { #define __PT_PARM4_SYSCALL_REG __PT_PARM4_REG #define __PT_PARM5_SYSCALL_REG __PT_PARM5_REG #define __PT_PARM6_SYSCALL_REG __PT_PARM6_REG -#define PT_REGS_PARM1_SYSCALL(x) PT_REGS_PARM1_CORE_SYSCALL(x) +#define PT_REGS_PARM1_SYSCALL(x) (((const struct pt_regs___arm64 *)(x))->__PT_PARM1_SYSCALL_REG) #define PT_REGS_PARM1_CORE_SYSCALL(x) \ BPF_CORE_READ((const struct pt_regs___arm64 *)(x), __PT_PARM1_SYSCALL_REG) @@ -351,6 +351,10 @@ struct pt_regs___arm64 { * https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/master/riscv-cc.adoc#risc-v-calling-conventions */ +struct pt_regs___riscv { + unsigned long orig_a0; +} __attribute__((preserve_access_index)); + /* riscv provides struct user_regs_struct instead of struct pt_regs to userspace */ #define __PT_REGS_CAST(x) ((const struct user_regs_struct *)(x)) #define __PT_PARM1_REG a0 @@ -362,12 +366,15 @@ struct pt_regs___arm64 { #define __PT_PARM7_REG a6 #define __PT_PARM8_REG a7 -#define __PT_PARM1_SYSCALL_REG __PT_PARM1_REG +#define __PT_PARM1_SYSCALL_REG orig_a0 #define __PT_PARM2_SYSCALL_REG __PT_PARM2_REG #define __PT_PARM3_SYSCALL_REG __PT_PARM3_REG #define __PT_PARM4_SYSCALL_REG __PT_PARM4_REG #define __PT_PARM5_SYSCALL_REG __PT_PARM5_REG #define __PT_PARM6_SYSCALL_REG __PT_PARM6_REG +#define PT_REGS_PARM1_SYSCALL(x) (((const struct pt_regs___riscv *)(x))->__PT_PARM1_SYSCALL_REG) +#define PT_REGS_PARM1_CORE_SYSCALL(x) \ + BPF_CORE_READ((const struct pt_regs___riscv *)(x), __PT_PARM1_SYSCALL_REG) #define __PT_RET_REG ra #define __PT_FP_REG s0 @@ -473,7 +480,7 @@ struct pt_regs; #endif /* * Similarly, syscall-specific conventions might differ between function call - * conventions within each architecutre. All supported architectures pass + * conventions within each architecture. All supported architectures pass * either 6 or 7 syscall arguments in registers. * * See syscall(2) manpage for succinct table with information on each arch. @@ -515,7 +522,7 @@ struct pt_regs; #define BPF_KPROBE_READ_RET_IP(ip, ctx) ({ (ip) = (ctx)->link; }) #define BPF_KRETPROBE_READ_RET_IP BPF_KPROBE_READ_RET_IP -#elif defined(bpf_target_sparc) +#elif defined(bpf_target_sparc) || defined(bpf_target_arm64) #define BPF_KPROBE_READ_RET_IP(ip, ctx) ({ (ip) = PT_REGS_RET(ctx); }) #define BPF_KRETPROBE_READ_RET_IP BPF_KPROBE_READ_RET_IP @@ -651,7 +658,7 @@ struct pt_regs; * BPF_PROG is a convenience wrapper for generic tp_btf/fentry/fexit and * similar kinds of BPF programs, that accept input arguments as a single * pointer to untyped u64 array, where each u64 can actually be a typed - * pointer or integer of different size. Instead of requring user to write + * pointer or integer of different size. Instead of requiring user to write * manual casts and work with array elements by index, BPF_PROG macro * allows user to declare a list of named and typed input arguments in the * same syntax as for normal C function. All the casting is hidden and @@ -801,7 +808,7 @@ struct pt_regs; * tp_btf/fentry/fexit BPF programs. It hides the underlying platform-specific * low-level way of getting kprobe input arguments from struct pt_regs, and * provides a familiar typed and named function arguments syntax and - * semantics of accessing kprobe input paremeters. + * semantics of accessing kprobe input parameters. * * Original struct pt_regs* context is preserved as 'ctx' argument. This might * be necessary when using BPF helpers like bpf_perf_event_output(). diff --git a/.output/bpftool/bootstrap/libbpf/include/bpf/btf.h b/.output/bpftool/bootstrap/libbpf/include/bpf/btf.h index b68d216..47ee8f6 100644 --- a/.output/bpftool/bootstrap/libbpf/include/bpf/btf.h +++ b/.output/bpftool/bootstrap/libbpf/include/bpf/btf.h @@ -167,6 +167,9 @@ LIBBPF_API const char *btf__str_by_offset(const struct btf *btf, __u32 offset); LIBBPF_API struct btf_ext *btf_ext__new(const __u8 *data, __u32 size); LIBBPF_API void btf_ext__free(struct btf_ext *btf_ext); LIBBPF_API const void *btf_ext__raw_data(const struct btf_ext *btf_ext, __u32 *size); +LIBBPF_API enum btf_endianness btf_ext__endianness(const struct btf_ext *btf_ext); +LIBBPF_API int btf_ext__set_endianness(struct btf_ext *btf_ext, + enum btf_endianness endian); LIBBPF_API int btf__find_str(struct btf *btf, const char *s); LIBBPF_API int btf__add_str(struct btf *btf, const char *s); @@ -286,7 +289,7 @@ LIBBPF_API void btf_dump__free(struct btf_dump *d); LIBBPF_API int btf_dump__dump_type(struct btf_dump *d, __u32 id); struct btf_dump_emit_type_decl_opts { - /* size of this struct, for forward/backward compatiblity */ + /* size of this struct, for forward/backward compatibility */ size_t sz; /* optional field name for type declaration, e.g.: * - struct my_struct diff --git a/.output/bpftool/bootstrap/libbpf/include/bpf/hashmap.h b/.output/bpftool/bootstrap/libbpf/include/bpf/hashmap.h index c12f832..0c4f155 100644 --- a/.output/bpftool/bootstrap/libbpf/include/bpf/hashmap.h +++ b/.output/bpftool/bootstrap/libbpf/include/bpf/hashmap.h @@ -166,8 +166,8 @@ bool hashmap_find(const struct hashmap *map, long key, long *value); * @bkt: integer used as a bucket loop cursor */ #define hashmap__for_each_entry(map, cur, bkt) \ - for (bkt = 0; bkt < map->cap; bkt++) \ - for (cur = map->buckets[bkt]; cur; cur = cur->next) + for (bkt = 0; bkt < (map)->cap; bkt++) \ + for (cur = (map)->buckets[bkt]; cur; cur = cur->next) /* * hashmap__for_each_entry_safe - iterate over all entries in hashmap, safe @@ -178,8 +178,8 @@ bool hashmap_find(const struct hashmap *map, long key, long *value); * @bkt: integer used as a bucket loop cursor */ #define hashmap__for_each_entry_safe(map, cur, tmp, bkt) \ - for (bkt = 0; bkt < map->cap; bkt++) \ - for (cur = map->buckets[bkt]; \ + for (bkt = 0; bkt < (map)->cap; bkt++) \ + for (cur = (map)->buckets[bkt]; \ cur && ({tmp = cur->next; true; }); \ cur = tmp) @@ -190,19 +190,19 @@ bool hashmap_find(const struct hashmap *map, long key, long *value); * @key: key to iterate entries for */ #define hashmap__for_each_key_entry(map, cur, _key) \ - for (cur = map->buckets \ - ? map->buckets[hash_bits(map->hash_fn((_key), map->ctx), map->cap_bits)] \ + for (cur = (map)->buckets \ + ? (map)->buckets[hash_bits((map)->hash_fn((_key), (map)->ctx), (map)->cap_bits)] \ : NULL; \ cur; \ cur = cur->next) \ - if (map->equal_fn(cur->key, (_key), map->ctx)) + if ((map)->equal_fn(cur->key, (_key), (map)->ctx)) #define hashmap__for_each_key_entry_safe(map, cur, tmp, _key) \ - for (cur = map->buckets \ - ? map->buckets[hash_bits(map->hash_fn((_key), map->ctx), map->cap_bits)] \ + for (cur = (map)->buckets \ + ? (map)->buckets[hash_bits((map)->hash_fn((_key), (map)->ctx), (map)->cap_bits)] \ : NULL; \ cur && ({ tmp = cur->next; true; }); \ cur = tmp) \ - if (map->equal_fn(cur->key, (_key), map->ctx)) + if ((map)->equal_fn(cur->key, (_key), (map)->ctx)) #endif /* __LIBBPF_HASHMAP_H */ diff --git a/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf.h b/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf.h index 64a6a3d..b2ce3a7 100644 --- a/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf.h +++ b/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf.h @@ -152,7 +152,7 @@ struct bpf_object_open_opts { * log_buf and log_level settings. * * If specified, this log buffer will be passed for: - * - each BPF progral load (BPF_PROG_LOAD) attempt, unless overriden + * - each BPF progral load (BPF_PROG_LOAD) attempt, unless overridden * with bpf_program__set_log() on per-program level, to get * BPF verifier log output. * - during BPF object's BTF load into kernel (BPF_BTF_LOAD) to get @@ -294,6 +294,14 @@ LIBBPF_API const char *bpf_object__name(const struct bpf_object *obj); LIBBPF_API unsigned int bpf_object__kversion(const struct bpf_object *obj); LIBBPF_API int bpf_object__set_kversion(struct bpf_object *obj, __u32 kern_version); +/** + * @brief **bpf_object__token_fd** is an accessor for BPF token FD associated + * with BPF object. + * @param obj Pointer to a valid BPF object + * @return BPF token FD or -1, if it wasn't set + */ +LIBBPF_API int bpf_object__token_fd(const struct bpf_object *obj); + struct btf; LIBBPF_API struct btf *bpf_object__btf(const struct bpf_object *obj); LIBBPF_API int bpf_object__btf_fd(const struct bpf_object *obj); @@ -455,7 +463,7 @@ LIBBPF_API int bpf_link__destroy(struct bpf_link *link); /** * @brief **bpf_program__attach()** is a generic function for attaching * a BPF program based on auto-detection of program type, attach type, - * and extra paremeters, where applicable. + * and extra parameters, where applicable. * * @param prog BPF program to attach * @return Reference to the newly created BPF link; or NULL is returned on error, @@ -569,10 +577,12 @@ struct bpf_uprobe_multi_opts { size_t cnt; /* create return uprobes */ bool retprobe; + /* create session kprobes */ + bool session; size_t :0; }; -#define bpf_uprobe_multi_opts__last_field retprobe +#define bpf_uprobe_multi_opts__last_field session /** * @brief **bpf_program__attach_uprobe_multi()** attaches a BPF program @@ -679,7 +689,7 @@ struct bpf_uprobe_opts { /** * @brief **bpf_program__attach_uprobe()** attaches a BPF program * to the userspace function which is found by binary path and - * offset. You can optionally specify a particular proccess to attach + * offset. You can optionally specify a particular process to attach * to. You can also optionally attach the program to the function * exit instead of entry. * @@ -1593,11 +1603,11 @@ LIBBPF_API int perf_buffer__buffer_fd(const struct perf_buffer *pb, size_t buf_i * memory region of the ring buffer. * This ring buffer can be used to implement a custom events consumer. * The ring buffer starts with the *struct perf_event_mmap_page*, which - * holds the ring buffer managment fields, when accessing the header + * holds the ring buffer management fields, when accessing the header * structure it's important to be SMP aware. * You can refer to *perf_event_read_simple* for a simple example. * @param pb the perf buffer structure - * @param buf_idx the buffer index to retreive + * @param buf_idx the buffer index to retrieve * @param buf (out) gets the base pointer of the mmap()'ed memory * @param buf_size (out) gets the size of the mmap()'ed region * @return 0 on success, negative error code for failure diff --git a/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf_internal.h b/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf_internal.h index 408df59..de498e2 100644 --- a/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf_internal.h +++ b/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf_internal.h @@ -10,6 +10,7 @@ #define __LIBBPF_LIBBPF_INTERNAL_H #include +#include #include #include #include @@ -448,11 +449,11 @@ struct btf_ext_info { * * The func_info subsection layout: * record size for struct bpf_func_info in the func_info subsection - * struct btf_sec_func_info for section #1 + * struct btf_ext_info_sec for section #1 * a list of bpf_func_info records for section #1 * where struct bpf_func_info mimics one in include/uapi/linux/bpf.h * but may not be identical - * struct btf_sec_func_info for section #2 + * struct btf_ext_info_sec for section #2 * a list of bpf_func_info records for section #2 * ...... * @@ -484,6 +485,8 @@ struct btf_ext { struct btf_ext_header *hdr; void *data; }; + void *data_swapped; + bool swapped_endian; struct btf_ext_info func_info; struct btf_ext_info line_info; struct btf_ext_info core_relo_info; @@ -511,6 +514,32 @@ struct bpf_line_info_min { __u32 line_col; }; +/* Functions to byte-swap info records */ + +typedef void (*info_rec_bswap_fn)(void *); + +static inline void bpf_func_info_bswap(struct bpf_func_info *i) +{ + i->insn_off = bswap_32(i->insn_off); + i->type_id = bswap_32(i->type_id); +} + +static inline void bpf_line_info_bswap(struct bpf_line_info *i) +{ + i->insn_off = bswap_32(i->insn_off); + i->file_name_off = bswap_32(i->file_name_off); + i->line_off = bswap_32(i->line_off); + i->line_col = bswap_32(i->line_col); +} + +static inline void bpf_core_relo_bswap(struct bpf_core_relo *i) +{ + i->insn_off = bswap_32(i->insn_off); + i->type_id = bswap_32(i->type_id); + i->access_str_off = bswap_32(i->access_str_off); + i->kind = bswap_32(i->kind); +} + enum btf_field_iter_kind { BTF_FIELD_ITER_IDS, BTF_FIELD_ITER_STRS, @@ -588,6 +617,16 @@ static inline bool is_ldimm64_insn(struct bpf_insn *insn) return insn->code == (BPF_LD | BPF_IMM | BPF_DW); } +static inline void bpf_insn_bswap(struct bpf_insn *insn) +{ + __u8 tmp_reg = insn->dst_reg; + + insn->dst_reg = insn->src_reg; + insn->src_reg = tmp_reg; + insn->off = bswap_16(insn->off); + insn->imm = bswap_32(insn->imm); +} + /* Unconditionally dup FD, ensuring it doesn't use [0, 2] range. * Original FD is not closed or altered in any other way. * Preserves original FD value, if it's invalid (negative). diff --git a/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf_legacy.h b/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf_legacy.h index 1e1be46..60b2600 100644 --- a/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf_legacy.h +++ b/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf_legacy.h @@ -76,7 +76,7 @@ enum libbpf_strict_mode { * first BPF program or map creation operation. This is done only if * kernel is too old to support memcg-based memory accounting for BPF * subsystem. By default, RLIMIT_MEMLOCK limit is set to RLIM_INFINITY, - * but it can be overriden with libbpf_set_memlock_rlim() API. + * but it can be overridden with libbpf_set_memlock_rlim() API. * Note that libbpf_set_memlock_rlim() needs to be called before * the very first bpf_prog_load(), bpf_map_create() or bpf_object__load() * operation. @@ -97,7 +97,7 @@ LIBBPF_API int libbpf_set_strict_mode(enum libbpf_strict_mode mode); * @brief **libbpf_get_error()** extracts the error code from the passed * pointer * @param ptr pointer returned from libbpf API function - * @return error code; or 0 if no error occured + * @return error code; or 0 if no error occurred * * Note, as of libbpf 1.0 this function is not necessary and not recommended * to be used. Libbpf doesn't return error code embedded into the pointer diff --git a/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf_version.h b/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf_version.h index d6e5eff..28c58fb 100644 --- a/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf_version.h +++ b/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf_version.h @@ -4,6 +4,6 @@ #define __LIBBPF_VERSION_H #define LIBBPF_MAJOR_VERSION 1 -#define LIBBPF_MINOR_VERSION 5 +#define LIBBPF_MINOR_VERSION 6 #endif /* __LIBBPF_VERSION_H */ diff --git a/.output/bpftool/bootstrap/libbpf/include/bpf/skel_internal.h b/.output/bpftool/bootstrap/libbpf/include/bpf/skel_internal.h index 1e82ab0..4d5fa07 100644 --- a/.output/bpftool/bootstrap/libbpf/include/bpf/skel_internal.h +++ b/.output/bpftool/bootstrap/libbpf/include/bpf/skel_internal.h @@ -107,7 +107,7 @@ static inline void skel_free(const void *p) * The loader program will perform probe_read_kernel() from maps.rodata.initial_value. * skel_finalize_map_data() sets skel->rodata to point to actual value in a bpf map and * does maps.rodata.initial_value = ~0ULL to signal skel_free_map_data() that kvfree - * is not nessary. + * is not necessary. * * For user space: * skel_prep_map_data() mmaps anon memory into skel->rodata that can be accessed directly. @@ -351,10 +351,11 @@ static inline int bpf_load_and_run(struct bpf_load_and_run_opts *opts) attr.test.ctx_size_in = opts->ctx->sz; err = skel_sys_bpf(BPF_PROG_RUN, &attr, test_run_attr_sz); if (err < 0 || (int)attr.test.retval < 0) { - opts->errstr = "failed to execute loader prog"; if (err < 0) { + opts->errstr = "failed to execute loader prog"; set_err; } else { + opts->errstr = "error returned by loader prog"; err = (int)attr.test.retval; #ifndef __KERNEL__ errno = -err; diff --git a/.output/bpftool/bootstrap/libbpf/include/bpf/usdt.bpf.h b/.output/bpftool/bootstrap/libbpf/include/bpf/usdt.bpf.h index 76359bc..b811f75 100644 --- a/.output/bpftool/bootstrap/libbpf/include/bpf/usdt.bpf.h +++ b/.output/bpftool/bootstrap/libbpf/include/bpf/usdt.bpf.h @@ -39,7 +39,7 @@ enum __bpf_usdt_arg_type { struct __bpf_usdt_arg_spec { /* u64 scalar interpreted depending on arg_type, see below */ __u64 val_off; - /* arg location case, see bpf_udst_arg() for details */ + /* arg location case, see bpf_usdt_arg() for details */ enum __bpf_usdt_arg_type arg_type; /* offset of referenced register within struct pt_regs */ short reg_off; diff --git a/.output/bpftool/bootstrap/libbpf/libbpf.a b/.output/bpftool/bootstrap/libbpf/libbpf.a index 95b29fa..34480d2 100644 Binary files a/.output/bpftool/bootstrap/libbpf/libbpf.a and b/.output/bpftool/bootstrap/libbpf/libbpf.a differ diff --git a/.output/bpftool/bootstrap/libbpf/staticobjs/bpf.o b/.output/bpftool/bootstrap/libbpf/staticobjs/bpf.o index 012d27d..6c68372 100644 Binary files a/.output/bpftool/bootstrap/libbpf/staticobjs/bpf.o and b/.output/bpftool/bootstrap/libbpf/staticobjs/bpf.o differ diff --git a/.output/bpftool/bootstrap/libbpf/staticobjs/bpf_prog_linfo.o b/.output/bpftool/bootstrap/libbpf/staticobjs/bpf_prog_linfo.o index 5ecefbe..b556b50 100644 Binary files a/.output/bpftool/bootstrap/libbpf/staticobjs/bpf_prog_linfo.o and b/.output/bpftool/bootstrap/libbpf/staticobjs/bpf_prog_linfo.o differ diff --git a/.output/bpftool/bootstrap/libbpf/staticobjs/btf.o b/.output/bpftool/bootstrap/libbpf/staticobjs/btf.o index 8bc9d32..c3ff86a 100644 Binary files a/.output/bpftool/bootstrap/libbpf/staticobjs/btf.o and b/.output/bpftool/bootstrap/libbpf/staticobjs/btf.o differ diff --git a/.output/bpftool/bootstrap/libbpf/staticobjs/btf_dump.o b/.output/bpftool/bootstrap/libbpf/staticobjs/btf_dump.o index 7b33cab..ffb8df3 100644 Binary files a/.output/bpftool/bootstrap/libbpf/staticobjs/btf_dump.o and b/.output/bpftool/bootstrap/libbpf/staticobjs/btf_dump.o differ diff --git a/.output/bpftool/bootstrap/libbpf/staticobjs/btf_iter.o b/.output/bpftool/bootstrap/libbpf/staticobjs/btf_iter.o index 398a257..c63c817 100644 Binary files a/.output/bpftool/bootstrap/libbpf/staticobjs/btf_iter.o and b/.output/bpftool/bootstrap/libbpf/staticobjs/btf_iter.o differ diff --git a/.output/bpftool/bootstrap/libbpf/staticobjs/btf_relocate.o b/.output/bpftool/bootstrap/libbpf/staticobjs/btf_relocate.o index 82e388b..51aba66 100644 Binary files a/.output/bpftool/bootstrap/libbpf/staticobjs/btf_relocate.o and b/.output/bpftool/bootstrap/libbpf/staticobjs/btf_relocate.o differ diff --git a/.output/bpftool/bootstrap/libbpf/staticobjs/elf.o b/.output/bpftool/bootstrap/libbpf/staticobjs/elf.o index 8bb0ddd..dcdf721 100644 Binary files a/.output/bpftool/bootstrap/libbpf/staticobjs/elf.o and b/.output/bpftool/bootstrap/libbpf/staticobjs/elf.o differ diff --git a/.output/bpftool/bootstrap/libbpf/staticobjs/features.o b/.output/bpftool/bootstrap/libbpf/staticobjs/features.o index 449e132..4ec8029 100644 Binary files a/.output/bpftool/bootstrap/libbpf/staticobjs/features.o and b/.output/bpftool/bootstrap/libbpf/staticobjs/features.o differ diff --git a/.output/bpftool/bootstrap/libbpf/staticobjs/gen_loader.o b/.output/bpftool/bootstrap/libbpf/staticobjs/gen_loader.o index 51eda88..4698e5c 100644 Binary files a/.output/bpftool/bootstrap/libbpf/staticobjs/gen_loader.o and b/.output/bpftool/bootstrap/libbpf/staticobjs/gen_loader.o differ diff --git a/.output/bpftool/bootstrap/libbpf/staticobjs/hashmap.o b/.output/bpftool/bootstrap/libbpf/staticobjs/hashmap.o index d51d700..ce121cf 100644 Binary files a/.output/bpftool/bootstrap/libbpf/staticobjs/hashmap.o and b/.output/bpftool/bootstrap/libbpf/staticobjs/hashmap.o differ diff --git a/.output/bpftool/bootstrap/libbpf/staticobjs/libbpf.o b/.output/bpftool/bootstrap/libbpf/staticobjs/libbpf.o index 46c6a1a..e61fcd6 100644 Binary files a/.output/bpftool/bootstrap/libbpf/staticobjs/libbpf.o and b/.output/bpftool/bootstrap/libbpf/staticobjs/libbpf.o differ diff --git a/.output/bpftool/bootstrap/libbpf/staticobjs/libbpf_errno.o b/.output/bpftool/bootstrap/libbpf/staticobjs/libbpf_errno.o index ae1997d..ba22328 100644 Binary files a/.output/bpftool/bootstrap/libbpf/staticobjs/libbpf_errno.o and b/.output/bpftool/bootstrap/libbpf/staticobjs/libbpf_errno.o differ diff --git a/.output/bpftool/bootstrap/libbpf/staticobjs/libbpf_probes.o b/.output/bpftool/bootstrap/libbpf/staticobjs/libbpf_probes.o index c37f288..3360f34 100644 Binary files a/.output/bpftool/bootstrap/libbpf/staticobjs/libbpf_probes.o and b/.output/bpftool/bootstrap/libbpf/staticobjs/libbpf_probes.o differ diff --git a/.output/bpftool/bootstrap/libbpf/staticobjs/linker.o b/.output/bpftool/bootstrap/libbpf/staticobjs/linker.o index ffca2eb..d8b793c 100644 Binary files a/.output/bpftool/bootstrap/libbpf/staticobjs/linker.o and b/.output/bpftool/bootstrap/libbpf/staticobjs/linker.o differ diff --git a/.output/bpftool/bootstrap/libbpf/staticobjs/netlink.o b/.output/bpftool/bootstrap/libbpf/staticobjs/netlink.o index 7227ecb..cebc948 100644 Binary files a/.output/bpftool/bootstrap/libbpf/staticobjs/netlink.o and b/.output/bpftool/bootstrap/libbpf/staticobjs/netlink.o differ diff --git a/.output/bpftool/bootstrap/libbpf/staticobjs/nlattr.o b/.output/bpftool/bootstrap/libbpf/staticobjs/nlattr.o index 9f4911c..792fb13 100644 Binary files a/.output/bpftool/bootstrap/libbpf/staticobjs/nlattr.o and b/.output/bpftool/bootstrap/libbpf/staticobjs/nlattr.o differ diff --git a/.output/bpftool/bootstrap/libbpf/staticobjs/relo_core.o b/.output/bpftool/bootstrap/libbpf/staticobjs/relo_core.o index 24434c5..00f4872 100644 Binary files a/.output/bpftool/bootstrap/libbpf/staticobjs/relo_core.o and b/.output/bpftool/bootstrap/libbpf/staticobjs/relo_core.o differ diff --git a/.output/bpftool/bootstrap/libbpf/staticobjs/ringbuf.o b/.output/bpftool/bootstrap/libbpf/staticobjs/ringbuf.o index eacf1c6..3eea9c8 100644 Binary files a/.output/bpftool/bootstrap/libbpf/staticobjs/ringbuf.o and b/.output/bpftool/bootstrap/libbpf/staticobjs/ringbuf.o differ diff --git a/.output/bpftool/bootstrap/libbpf/staticobjs/str_error.o b/.output/bpftool/bootstrap/libbpf/staticobjs/str_error.o index 452df18..b171028 100644 Binary files a/.output/bpftool/bootstrap/libbpf/staticobjs/str_error.o and b/.output/bpftool/bootstrap/libbpf/staticobjs/str_error.o differ diff --git a/.output/bpftool/bootstrap/libbpf/staticobjs/strset.o b/.output/bpftool/bootstrap/libbpf/staticobjs/strset.o index e2b6372..994176c 100644 Binary files a/.output/bpftool/bootstrap/libbpf/staticobjs/strset.o and b/.output/bpftool/bootstrap/libbpf/staticobjs/strset.o differ diff --git a/.output/bpftool/bootstrap/libbpf/staticobjs/usdt.o b/.output/bpftool/bootstrap/libbpf/staticobjs/usdt.o index d280fc1..7ac654c 100644 Binary files a/.output/bpftool/bootstrap/libbpf/staticobjs/usdt.o and b/.output/bpftool/bootstrap/libbpf/staticobjs/usdt.o differ diff --git a/.output/bpftool/bootstrap/libbpf/staticobjs/zip.o b/.output/bpftool/bootstrap/libbpf/staticobjs/zip.o index 1fc9adc..48f1799 100644 Binary files a/.output/bpftool/bootstrap/libbpf/staticobjs/zip.o and b/.output/bpftool/bootstrap/libbpf/staticobjs/zip.o differ diff --git a/.output/bpftool/bootstrap/main.d b/.output/bpftool/bootstrap/main.d index 7a7d47e..bce41d9 100644 --- a/.output/bpftool/bootstrap/main.d +++ b/.output/bpftool/bootstrap/main.d @@ -1,18 +1,18 @@ -/home/ne0/sys_competition/start/cpu_watcher/.output/bpftool/bootstrap/main.o: \ - main.c /home/ne0/sys_competition/start/bpftool/include/uapi/linux/bpf.h \ - /home/ne0/sys_competition/start/bpftool/include/linux/types.h \ - /home/ne0/sys_competition/start/bpftool/include/uapi/linux/bpf_common.h \ - /home/ne0/sys_competition/start/cpu_watcher/.output/bpftool/bootstrap/libbpf/include/bpf/bpf.h \ - /home/ne0/sys_competition/start/cpu_watcher/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf_common.h \ - /home/ne0/sys_competition/start/cpu_watcher/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf_version.h \ - /home/ne0/sys_competition/start/cpu_watcher/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf_legacy.h \ - /home/ne0/sys_competition/start/cpu_watcher/.output/bpftool/bootstrap/libbpf/include/bpf/btf.h \ - /home/ne0/sys_competition/start/bpftool/include/uapi/linux/btf.h \ - /home/ne0/sys_competition/start/cpu_watcher/.output/bpftool/bootstrap/libbpf/include/bpf/hashmap.h \ - /home/ne0/sys_competition/start/cpu_watcher/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf.h \ - main.h /home/ne0/sys_competition/start/bpftool/include/linux/compiler.h \ - /home/ne0/sys_competition/start/bpftool/include/linux/compiler_types.h \ - /home/ne0/sys_competition/start/bpftool/include/linux/compiler-gcc.h \ - /home/ne0/sys_competition/start/bpftool/include/linux/kernel.h \ - /home/ne0/sys_competition/start/bpftool/include/linux/build_bug.h \ +/home/ne1/sys_competition/scx-plug/.output/bpftool/bootstrap/main.o: \ + main.c /home/ne1/sys_competition/bpftool/include/uapi/linux/bpf.h \ + /home/ne1/sys_competition/bpftool/include/linux/types.h \ + /home/ne1/sys_competition/bpftool/include/uapi/linux/bpf_common.h \ + /home/ne1/sys_competition/scx-plug/.output/bpftool/bootstrap/libbpf/include/bpf/bpf.h \ + /home/ne1/sys_competition/scx-plug/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf_common.h \ + /home/ne1/sys_competition/scx-plug/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf_version.h \ + /home/ne1/sys_competition/scx-plug/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf_legacy.h \ + /home/ne1/sys_competition/scx-plug/.output/bpftool/bootstrap/libbpf/include/bpf/btf.h \ + /home/ne1/sys_competition/bpftool/include/uapi/linux/btf.h \ + /home/ne1/sys_competition/scx-plug/.output/bpftool/bootstrap/libbpf/include/bpf/hashmap.h \ + /home/ne1/sys_competition/scx-plug/.output/bpftool/bootstrap/libbpf/include/bpf/libbpf.h \ + main.h /home/ne1/sys_competition/bpftool/include/linux/compiler.h \ + /home/ne1/sys_competition/bpftool/include/linux/compiler_types.h \ + /home/ne1/sys_competition/bpftool/include/linux/compiler-gcc.h \ + /home/ne1/sys_competition/bpftool/include/linux/kernel.h \ + /home/ne1/sys_competition/bpftool/include/linux/build_bug.h \ json_writer.h diff --git a/.output/bpftool/bootstrap/main.o b/.output/bpftool/bootstrap/main.o index 0a7696e..9e45b3a 100644 Binary files a/.output/bpftool/bootstrap/main.o and b/.output/bpftool/bootstrap/main.o differ diff --git a/.output/cpu_controller.o b/.output/cpu_controller.o index c234771..7a1a9ed 100644 Binary files a/.output/cpu_controller.o and b/.output/cpu_controller.o differ diff --git a/.output/cpu_stats.bpf.o b/.output/cpu_stats.bpf.o deleted file mode 100644 index 8920098..0000000 Binary files a/.output/cpu_stats.bpf.o and /dev/null differ diff --git a/.output/cpu_stats.skel.h b/.output/cpu_stats.skel.h deleted file mode 100644 index 874eb55..0000000 --- a/.output/cpu_stats.skel.h +++ /dev/null @@ -1,4323 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ - -/* THIS FILE IS AUTOGENERATED BY BPFTOOL! */ -#ifndef __CPU_STATS_BPF_SKEL_H__ -#define __CPU_STATS_BPF_SKEL_H__ - -#include -#include -#include - -#define BPF_SKEL_SUPPORTS_MAP_AUTO_ATTACH 1 - -struct cpu_stats_bpf { - struct bpf_object_skeleton *skeleton; - struct bpf_object *obj; - struct { - struct bpf_map *task_cpu_usage_map; - struct bpf_map *cpu_usage_times_map; - struct bpf_map *cpu_usage_percent_map; - struct bpf_map *runqlat_map; - struct bpf_map *thread_occupied_map; - struct bpf_map *stack_traces_map; - struct bpf_map *task_trace_data_map; - struct bpf_map *cpu_usr_map; - struct bpf_map *cpu_ema_ctrl_map; - struct bpf_map *process_map; - struct bpf_map *process_occupied_map; - struct bpf_map *cpu_usage_buffer; - struct bpf_map *task_occupied_buffer; - struct bpf_map *process_occupied_buffer; - struct bpf_map *runqlat_buffer; - struct bpf_map *task_backtrace_buffer; - struct bpf_map *rodata; - struct bpf_map *bss; - } maps; - struct { - struct bpf_program *handle_sched_wakeup; - struct bpf_program *handle_sched_wakeup_new; - struct bpf_program *handle_task_create; - struct bpf_program *handle_task_exit; - struct bpf_program *record_task_switch; - struct bpf_program *record_backtrace; - struct bpf_program *record_cpu_idle; - struct bpf_program *trace_sys_enter; - struct bpf_program *trace_sys_exit; - struct bpf_program *trace_cpu_softirq_entry; - struct bpf_program *trace_cpu_softirq_exit; - struct bpf_program *trace_cpu_irq_entry; - struct bpf_program *trace_cpu_irq_exit; - struct bpf_program *handle_cpu_event; - struct bpf_program *handle_sys_latency_event; - } progs; - struct { - struct bpf_link *handle_sched_wakeup; - struct bpf_link *handle_sched_wakeup_new; - struct bpf_link *handle_task_create; - struct bpf_link *handle_task_exit; - struct bpf_link *record_task_switch; - struct bpf_link *record_backtrace; - struct bpf_link *record_cpu_idle; - struct bpf_link *trace_sys_enter; - struct bpf_link *trace_sys_exit; - struct bpf_link *trace_cpu_softirq_entry; - struct bpf_link *trace_cpu_softirq_exit; - struct bpf_link *trace_cpu_irq_entry; - struct bpf_link *trace_cpu_irq_exit; - struct bpf_link *handle_cpu_event; - struct bpf_link *handle_sys_latency_event; - } links; - struct cpu_stats_bpf__rodata { - u32 zero; - u32 one; - } *rodata; - struct cpu_stats_bpf__bss { - char __pad0[8]; - struct time_window latency_bk_window; - struct ema_para latency_ema; - struct ema_para usage_ema; - struct ema_para task_csw_ema; - struct ema_para task_preempt_ema; - } *bss; - -#ifdef __cplusplus - static inline struct cpu_stats_bpf *open(const struct bpf_object_open_opts *opts = nullptr); - static inline struct cpu_stats_bpf *open_and_load(); - static inline int load(struct cpu_stats_bpf *skel); - static inline int attach(struct cpu_stats_bpf *skel); - static inline void detach(struct cpu_stats_bpf *skel); - static inline void destroy(struct cpu_stats_bpf *skel); - static inline const void *elf_bytes(size_t *sz); -#endif /* __cplusplus */ -}; - -static void -cpu_stats_bpf__destroy(struct cpu_stats_bpf *obj) -{ - if (!obj) - return; - if (obj->skeleton) - bpf_object__destroy_skeleton(obj->skeleton); - free(obj); -} - -static inline int -cpu_stats_bpf__create_skeleton(struct cpu_stats_bpf *obj); - -static inline struct cpu_stats_bpf * -cpu_stats_bpf__open_opts(const struct bpf_object_open_opts *opts) -{ - struct cpu_stats_bpf *obj; - int err; - - obj = (struct cpu_stats_bpf *)calloc(1, sizeof(*obj)); - if (!obj) { - errno = ENOMEM; - return NULL; - } - - err = cpu_stats_bpf__create_skeleton(obj); - if (err) - goto err_out; - - err = bpf_object__open_skeleton(obj->skeleton, opts); - if (err) - goto err_out; - - return obj; -err_out: - cpu_stats_bpf__destroy(obj); - errno = -err; - return NULL; -} - -static inline struct cpu_stats_bpf * -cpu_stats_bpf__open(void) -{ - return cpu_stats_bpf__open_opts(NULL); -} - -static inline int -cpu_stats_bpf__load(struct cpu_stats_bpf *obj) -{ - return bpf_object__load_skeleton(obj->skeleton); -} - -static inline struct cpu_stats_bpf * -cpu_stats_bpf__open_and_load(void) -{ - struct cpu_stats_bpf *obj; - int err; - - obj = cpu_stats_bpf__open(); - if (!obj) - return NULL; - err = cpu_stats_bpf__load(obj); - if (err) { - cpu_stats_bpf__destroy(obj); - errno = -err; - return NULL; - } - return obj; -} - -static inline int -cpu_stats_bpf__attach(struct cpu_stats_bpf *obj) -{ - return bpf_object__attach_skeleton(obj->skeleton); -} - -static inline void -cpu_stats_bpf__detach(struct cpu_stats_bpf *obj) -{ - bpf_object__detach_skeleton(obj->skeleton); -} - -static inline const void *cpu_stats_bpf__elf_bytes(size_t *sz); - -static inline int -cpu_stats_bpf__create_skeleton(struct cpu_stats_bpf *obj) -{ - struct bpf_object_skeleton *s; - struct bpf_map_skeleton *map __attribute__((unused)); - int err; - - s = (struct bpf_object_skeleton *)calloc(1, sizeof(*s)); - if (!s) { - err = -ENOMEM; - goto err; - } - - s->sz = sizeof(*s); - s->name = "cpu_stats_bpf"; - s->obj = &obj->obj; - - /* maps */ - s->map_cnt = 18; - s->map_skel_sz = 24; - s->maps = (struct bpf_map_skeleton *)calloc(s->map_cnt, - sizeof(*s->maps) > 24 ? sizeof(*s->maps) : 24); - if (!s->maps) { - err = -ENOMEM; - goto err; - } - - map = (struct bpf_map_skeleton *)((char *)s->maps + 0 * s->map_skel_sz); - map->name = "task_cpu_usage_map"; - map->map = &obj->maps.task_cpu_usage_map; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 1 * s->map_skel_sz); - map->name = "cpu_usage_times_map"; - map->map = &obj->maps.cpu_usage_times_map; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 2 * s->map_skel_sz); - map->name = "cpu_usage_percent_map"; - map->map = &obj->maps.cpu_usage_percent_map; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 3 * s->map_skel_sz); - map->name = "runqlat_map"; - map->map = &obj->maps.runqlat_map; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 4 * s->map_skel_sz); - map->name = "thread_occupied_map"; - map->map = &obj->maps.thread_occupied_map; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 5 * s->map_skel_sz); - map->name = "stack_traces_map"; - map->map = &obj->maps.stack_traces_map; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 6 * s->map_skel_sz); - map->name = "task_trace_data_map"; - map->map = &obj->maps.task_trace_data_map; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 7 * s->map_skel_sz); - map->name = "cpu_usr_map"; - map->map = &obj->maps.cpu_usr_map; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 8 * s->map_skel_sz); - map->name = "cpu_ema_ctrl_map"; - map->map = &obj->maps.cpu_ema_ctrl_map; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 9 * s->map_skel_sz); - map->name = "process_map"; - map->map = &obj->maps.process_map; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 10 * s->map_skel_sz); - map->name = "process_occupied_map"; - map->map = &obj->maps.process_occupied_map; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 11 * s->map_skel_sz); - map->name = "cpu_usage_buffer"; - map->map = &obj->maps.cpu_usage_buffer; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 12 * s->map_skel_sz); - map->name = "task_occupied_buffer"; - map->map = &obj->maps.task_occupied_buffer; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 13 * s->map_skel_sz); - map->name = "process_occupied_buffer"; - map->map = &obj->maps.process_occupied_buffer; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 14 * s->map_skel_sz); - map->name = "runqlat_buffer"; - map->map = &obj->maps.runqlat_buffer; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 15 * s->map_skel_sz); - map->name = "task_backtrace_buffer"; - map->map = &obj->maps.task_backtrace_buffer; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 16 * s->map_skel_sz); - map->name = "cpu_stat.rodata"; - map->map = &obj->maps.rodata; - map->mmaped = (void **)&obj->rodata; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 17 * s->map_skel_sz); - map->name = "cpu_stat.bss"; - map->map = &obj->maps.bss; - map->mmaped = (void **)&obj->bss; - - /* programs */ - s->prog_cnt = 15; - s->prog_skel_sz = sizeof(*s->progs); - s->progs = (struct bpf_prog_skeleton *)calloc(s->prog_cnt, s->prog_skel_sz); - if (!s->progs) { - err = -ENOMEM; - goto err; - } - - s->progs[0].name = "handle_sched_wakeup"; - s->progs[0].prog = &obj->progs.handle_sched_wakeup; - s->progs[0].link = &obj->links.handle_sched_wakeup; - - s->progs[1].name = "handle_sched_wakeup_new"; - s->progs[1].prog = &obj->progs.handle_sched_wakeup_new; - s->progs[1].link = &obj->links.handle_sched_wakeup_new; - - s->progs[2].name = "handle_task_create"; - s->progs[2].prog = &obj->progs.handle_task_create; - s->progs[2].link = &obj->links.handle_task_create; - - s->progs[3].name = "handle_task_exit"; - s->progs[3].prog = &obj->progs.handle_task_exit; - s->progs[3].link = &obj->links.handle_task_exit; - - s->progs[4].name = "record_task_switch"; - s->progs[4].prog = &obj->progs.record_task_switch; - s->progs[4].link = &obj->links.record_task_switch; - - s->progs[5].name = "record_backtrace"; - s->progs[5].prog = &obj->progs.record_backtrace; - s->progs[5].link = &obj->links.record_backtrace; - - s->progs[6].name = "record_cpu_idle"; - s->progs[6].prog = &obj->progs.record_cpu_idle; - s->progs[6].link = &obj->links.record_cpu_idle; - - s->progs[7].name = "trace_sys_enter"; - s->progs[7].prog = &obj->progs.trace_sys_enter; - s->progs[7].link = &obj->links.trace_sys_enter; - - s->progs[8].name = "trace_sys_exit"; - s->progs[8].prog = &obj->progs.trace_sys_exit; - s->progs[8].link = &obj->links.trace_sys_exit; - - s->progs[9].name = "trace_cpu_softirq_entry"; - s->progs[9].prog = &obj->progs.trace_cpu_softirq_entry; - s->progs[9].link = &obj->links.trace_cpu_softirq_entry; - - s->progs[10].name = "trace_cpu_softirq_exit"; - s->progs[10].prog = &obj->progs.trace_cpu_softirq_exit; - s->progs[10].link = &obj->links.trace_cpu_softirq_exit; - - s->progs[11].name = "trace_cpu_irq_entry"; - s->progs[11].prog = &obj->progs.trace_cpu_irq_entry; - s->progs[11].link = &obj->links.trace_cpu_irq_entry; - - s->progs[12].name = "trace_cpu_irq_exit"; - s->progs[12].prog = &obj->progs.trace_cpu_irq_exit; - s->progs[12].link = &obj->links.trace_cpu_irq_exit; - - s->progs[13].name = "handle_cpu_event"; - s->progs[13].prog = &obj->progs.handle_cpu_event; - s->progs[13].link = &obj->links.handle_cpu_event; - - s->progs[14].name = "handle_sys_latency_event"; - s->progs[14].prog = &obj->progs.handle_sys_latency_event; - s->progs[14].link = &obj->links.handle_sys_latency_event; - - s->data = cpu_stats_bpf__elf_bytes(&s->data_sz); - - obj->skeleton = s; - return 0; -err: - bpf_object__destroy_skeleton(s); - return err; -} - -static inline const void *cpu_stats_bpf__elf_bytes(size_t *sz) -{ - static const char data[] __attribute__((__aligned__(8))) = "\ -\x7f\x45\x4c\x46\x02\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\xf7\0\x01\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\x10\x73\x01\0\0\0\0\0\0\0\0\0\x40\0\0\0\0\0\x40\0\x25\0\ -\x01\0\0\x2e\x73\x74\x72\x74\x61\x62\0\x2e\x73\x79\x6d\x74\x61\x62\0\x2e\x74\ -\x65\x78\x74\0\x72\x61\x77\x5f\x74\x70\x2f\x73\x63\x68\x65\x64\x5f\x77\x61\x6b\ -\x65\x75\x70\0\x72\x61\x77\x5f\x74\x70\x2f\x73\x63\x68\x65\x64\x5f\x77\x61\x6b\ -\x65\x75\x70\x5f\x6e\x65\x77\0\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x73\ -\x63\x68\x65\x64\x2f\x73\x63\x68\x65\x64\x5f\x70\x72\x6f\x63\x65\x73\x73\x5f\ -\x66\x6f\x72\x6b\0\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x73\x63\x68\x65\ -\x64\x2f\x73\x63\x68\x65\x64\x5f\x70\x72\x6f\x63\x65\x73\x73\x5f\x65\x78\x69\ -\x74\0\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x73\x63\x68\x65\x64\x2f\x73\ -\x63\x68\x65\x64\x5f\x73\x77\x69\x74\x63\x68\0\x74\x72\x61\x63\x65\x70\x6f\x69\ -\x6e\x74\x2f\x70\x6f\x77\x65\x72\x2f\x63\x70\x75\x5f\x69\x64\x6c\x65\0\x74\x72\ -\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x72\x61\x77\x5f\x73\x79\x73\x63\x61\x6c\ -\x6c\x73\x2f\x73\x79\x73\x5f\x65\x6e\x74\x65\x72\0\x74\x72\x61\x63\x65\x70\x6f\ -\x69\x6e\x74\x2f\x72\x61\x77\x5f\x73\x79\x73\x63\x61\x6c\x6c\x73\x2f\x73\x79\ -\x73\x5f\x65\x78\x69\x74\0\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x69\x72\ -\x71\x2f\x73\x6f\x66\x74\x69\x72\x71\x5f\x65\x6e\x74\x72\x79\0\x74\x72\x61\x63\ -\x65\x70\x6f\x69\x6e\x74\x2f\x69\x72\x71\x2f\x73\x6f\x66\x74\x69\x72\x71\x5f\ -\x65\x78\x69\x74\0\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x69\x72\x71\x2f\ -\x69\x72\x71\x5f\x68\x61\x6e\x64\x6c\x65\x72\x5f\x65\x6e\x74\x72\x79\0\x74\x72\ -\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x69\x72\x71\x2f\x69\x72\x71\x5f\x68\x61\ -\x6e\x64\x6c\x65\x72\x5f\x65\x78\x69\x74\0\x70\x65\x72\x66\x5f\x65\x76\x65\x6e\ -\x74\0\x6c\x69\x63\x65\x6e\x73\x65\0\x2e\x72\x6f\x64\x61\x74\x61\0\x2e\x6d\x61\ -\x70\x73\0\x2e\x62\x73\x73\0\x63\x70\x75\x5f\x73\x74\x61\x74\x73\x2e\x62\x70\ -\x66\x2e\x63\0\x4c\x42\x42\x30\x5f\x31\x30\0\x4c\x42\x42\x30\x5f\x38\0\x4c\x42\ -\x42\x30\x5f\x37\0\x4c\x42\x42\x30\x5f\x36\0\x4c\x42\x42\x30\x5f\x39\0\x4c\x42\ -\x42\x31\x5f\x31\x30\0\x4c\x42\x42\x31\x5f\x38\0\x4c\x42\x42\x31\x5f\x37\0\x4c\ -\x42\x42\x31\x5f\x36\0\x4c\x42\x42\x31\x5f\x39\0\x4c\x42\x42\x32\x5f\x32\0\x4c\ -\x42\x42\x33\x5f\x31\x30\0\x4c\x42\x42\x33\x5f\x35\0\x4c\x42\x42\x33\x5f\x37\0\ -\x4c\x42\x42\x34\x5f\x32\0\x4c\x42\x42\x34\x5f\x31\x30\x31\0\x4c\x42\x42\x34\ -\x5f\x37\x34\0\x4c\x42\x42\x34\x5f\x36\0\x4c\x42\x42\x34\x5f\x37\x33\0\x4c\x42\ -\x42\x34\x5f\x39\0\x4c\x42\x42\x34\x5f\x31\x31\0\x4c\x42\x42\x34\x5f\x37\x30\0\ -\x4c\x42\x42\x34\x5f\x36\x36\0\x4c\x42\x42\x34\x5f\x31\x36\0\x74\x61\x73\x6b\ -\x5f\x63\x6f\x6e\x63\x65\x72\x6e\x65\x64\x5f\x75\x70\x64\x61\x74\x65\x2e\x5f\ -\x5f\x5f\x5f\x66\x6d\x74\0\x4c\x42\x42\x34\x5f\x37\x31\0\x4c\x42\x42\x34\x5f\ -\x36\x39\0\x4c\x42\x42\x34\x5f\x31\x38\0\x4c\x42\x42\x34\x5f\x36\x35\0\x4c\x42\ -\x42\x34\x5f\x32\x32\0\x70\x65\x72\x66\x5f\x74\x61\x73\x6b\x5f\x62\x61\x63\x6b\ -\x74\x72\x61\x63\x65\x2e\x5f\x5f\x5f\x5f\x66\x6d\x74\0\x4c\x42\x42\x34\x5f\x34\ -\x33\0\x4c\x42\x42\x34\x5f\x36\x34\0\x70\x72\x6f\x63\x65\x73\x73\x5f\x75\x70\ -\x64\x61\x74\x65\x5f\x72\x75\x6e\x74\x69\x6d\x65\0\x4c\x42\x42\x34\x5f\x31\x30\ -\x30\0\x4c\x42\x42\x34\x5f\x37\x37\0\x4c\x42\x42\x34\x5f\x39\x39\0\x4c\x42\x42\ -\x34\x5f\x37\x39\0\x4c\x42\x42\x34\x5f\x39\x32\0\x4c\x42\x42\x34\x5f\x38\x31\0\ -\x4c\x42\x42\x34\x5f\x38\x33\0\x4c\x42\x42\x34\x5f\x38\x35\0\x4c\x42\x42\x34\ -\x5f\x38\x37\0\x4c\x42\x42\x34\x5f\x38\x39\0\x4c\x42\x42\x34\x5f\x39\x31\0\x4c\ -\x42\x42\x34\x5f\x39\x34\0\x4c\x42\x42\x34\x5f\x39\x35\0\x4c\x42\x42\x34\x5f\ -\x39\x38\0\x4c\x42\x42\x35\x5f\x32\0\x4c\x42\x42\x35\x5f\x31\x39\0\x4c\x42\x42\ -\x35\x5f\x35\0\x4c\x42\x42\x35\x5f\x37\0\x4c\x42\x42\x35\x5f\x31\x38\0\x4c\x42\ -\x42\x35\x5f\x31\x33\0\x4c\x42\x42\x35\x5f\x31\x32\0\x70\x72\x6f\x63\x65\x73\ -\x73\x5f\x63\x6f\x6e\x63\x65\x72\x6e\x65\x64\x5f\x75\x70\x64\x61\x74\x65\x2e\ -\x5f\x5f\x5f\x5f\x66\x6d\x74\0\x4c\x42\x42\x35\x5f\x31\x36\0\x4c\x42\x42\x35\ -\x5f\x31\x37\0\x4c\x42\x42\x36\x5f\x31\x37\0\x4c\x42\x42\x36\x5f\x34\0\x72\x65\ -\x63\x6f\x72\x64\x5f\x62\x61\x63\x6b\x74\x72\x61\x63\x65\x2e\x5f\x5f\x5f\x5f\ -\x66\x6d\x74\0\x4c\x42\x42\x36\x5f\x38\0\x4c\x42\x42\x36\x5f\x37\0\x4c\x42\x42\ -\x36\x5f\x39\0\x4c\x42\x42\x36\x5f\x31\x31\0\x72\x65\x63\x6f\x72\x64\x5f\x62\ -\x61\x63\x6b\x74\x72\x61\x63\x65\x2e\x5f\x5f\x5f\x5f\x66\x6d\x74\x2e\x31\0\x4c\ -\x42\x42\x36\x5f\x31\x33\0\x4c\x42\x42\x36\x5f\x31\x36\0\x4c\x42\x42\x37\x5f\ -\x32\0\x4c\x42\x42\x37\x5f\x37\0\x4c\x42\x42\x37\x5f\x35\0\x4c\x42\x42\x37\x5f\ -\x38\0\x4c\x42\x42\x37\x5f\x36\0\x4c\x42\x42\x38\x5f\x31\x33\0\x4c\x42\x42\x38\ -\x5f\x33\0\x4c\x42\x42\x38\x5f\x31\x32\0\x4c\x42\x42\x38\x5f\x31\x31\0\x4c\x42\ -\x42\x38\x5f\x39\0\x4c\x42\x42\x38\x5f\x38\0\x4c\x42\x42\x38\x5f\x31\x30\0\x4c\ -\x42\x42\x39\x5f\x31\x33\0\x4c\x42\x42\x39\x5f\x33\0\x4c\x42\x42\x39\x5f\x31\ -\x32\0\x4c\x42\x42\x39\x5f\x31\x31\0\x4c\x42\x42\x39\x5f\x39\0\x4c\x42\x42\x39\ -\x5f\x38\0\x4c\x42\x42\x39\x5f\x31\x30\0\x4c\x42\x42\x31\x30\x5f\x34\0\x4c\x42\ -\x42\x31\x30\x5f\x33\0\x4c\x42\x42\x31\x30\x5f\x35\0\x4c\x42\x42\x31\x31\x5f\ -\x33\0\x4c\x42\x42\x31\x31\x5f\x35\0\x4c\x42\x42\x31\x31\x5f\x34\0\x4c\x42\x42\ -\x31\x32\x5f\x34\0\x4c\x42\x42\x31\x32\x5f\x33\0\x4c\x42\x42\x31\x32\x5f\x35\0\ -\x4c\x42\x42\x31\x33\x5f\x33\0\x4c\x42\x42\x31\x33\x5f\x35\0\x4c\x42\x42\x31\ -\x33\x5f\x34\0\x69\x6e\x69\x74\x5f\x63\x70\x75\x73\x5f\x6e\x75\x6d\0\x4c\x42\ -\x42\x31\x34\x5f\x33\0\x4c\x42\x42\x31\x34\x5f\x32\x30\0\x6e\x72\x5f\x63\x70\ -\x75\x73\0\x4c\x42\x42\x31\x34\x5f\x34\0\x68\x61\x6e\x64\x6c\x65\x5f\x63\x70\ -\x75\x5f\x65\x76\x65\x6e\x74\x2e\x5f\x5f\x5f\x5f\x66\x6d\x74\0\x4c\x42\x42\x31\ -\x34\x5f\x31\x39\0\x4c\x42\x42\x31\x34\x5f\x31\x31\0\x4c\x42\x42\x31\x34\x5f\ -\x31\x32\0\x4c\x42\x42\x31\x34\x5f\x31\x35\0\x5f\x5f\x75\x70\x64\x61\x74\x65\ -\x5f\x70\x65\x72\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x5f\x70\x65\x72\x63\x65\ -\x6e\x74\x2e\x5f\x5f\x5f\x5f\x66\x6d\x74\0\x4c\x42\x42\x31\x34\x5f\x31\x34\0\ -\x4c\x42\x42\x31\x34\x5f\x31\x37\0\x4c\x42\x42\x31\x34\x5f\x31\x38\0\x4c\x42\ -\x42\x31\x34\x5f\x31\x36\0\x4c\x42\x42\x31\x34\x5f\x38\0\x75\x70\x64\x61\x74\ -\x65\x5f\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x5f\x70\x65\x72\x63\x65\x6e\x74\ -\x2e\x5f\x5f\x5f\x5f\x66\x6d\x74\0\x68\x61\x6e\x64\x6c\x65\x5f\x63\x70\x75\x5f\ -\x65\x76\x65\x6e\x74\x2e\x5f\x5f\x5f\x5f\x66\x6d\x74\x2e\x32\0\x4c\x42\x42\x31\ -\x35\x5f\x32\0\x70\x65\x72\x66\x5f\x72\x75\x6e\x71\x6c\x61\x74\x2e\x5f\x5f\x5f\ -\x5f\x66\x6d\x74\0\x4c\x42\x42\x31\x35\x5f\x31\x39\0\x4c\x42\x42\x31\x35\x5f\ -\x34\0\x4c\x42\x42\x31\x35\x5f\x36\0\x4c\x42\x42\x31\x35\x5f\x38\0\x4c\x42\x42\ -\x31\x35\x5f\x31\x30\0\x4c\x42\x42\x31\x35\x5f\x31\x32\0\x4c\x42\x42\x31\x35\ -\x5f\x31\x34\0\x4c\x42\x42\x31\x35\x5f\x31\x36\0\x4c\x42\x42\x31\x35\x5f\x31\ -\x38\0\x68\x61\x6e\x64\x6c\x65\x5f\x73\x63\x68\x65\x64\x5f\x77\x61\x6b\x65\x75\ -\x70\0\x74\x61\x73\x6b\x5f\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x5f\x6d\x61\x70\ -\0\x70\x72\x6f\x63\x65\x73\x73\x5f\x6d\x61\x70\0\x68\x61\x6e\x64\x6c\x65\x5f\ -\x73\x63\x68\x65\x64\x5f\x77\x61\x6b\x65\x75\x70\x5f\x6e\x65\x77\0\x68\x61\x6e\ -\x64\x6c\x65\x5f\x74\x61\x73\x6b\x5f\x63\x72\x65\x61\x74\x65\0\x68\x61\x6e\x64\ -\x6c\x65\x5f\x74\x61\x73\x6b\x5f\x65\x78\x69\x74\0\x74\x68\x72\x65\x61\x64\x5f\ -\x6f\x63\x63\x75\x70\x69\x65\x64\x5f\x6d\x61\x70\0\x74\x61\x73\x6b\x5f\x74\x72\ -\x61\x63\x65\x5f\x64\x61\x74\x61\x5f\x6d\x61\x70\0\x70\x72\x6f\x63\x65\x73\x73\ -\x5f\x6f\x63\x63\x75\x70\x69\x65\x64\x5f\x6d\x61\x70\0\x72\x65\x63\x6f\x72\x64\ -\x5f\x74\x61\x73\x6b\x5f\x73\x77\x69\x74\x63\x68\0\x63\x70\x75\x5f\x75\x73\x61\ -\x67\x65\x5f\x74\x69\x6d\x65\x73\x5f\x6d\x61\x70\0\x63\x70\x75\x5f\x75\x73\x61\ -\x67\x65\x5f\x70\x65\x72\x63\x65\x6e\x74\x5f\x6d\x61\x70\0\x74\x61\x73\x6b\x5f\ -\x6f\x63\x63\x75\x70\x69\x65\x64\x5f\x62\x75\x66\x66\x65\x72\0\x74\x61\x73\x6b\ -\x5f\x62\x61\x63\x6b\x74\x72\x61\x63\x65\x5f\x62\x75\x66\x66\x65\x72\0\x72\x75\ -\x6e\x71\x6c\x61\x74\x5f\x6d\x61\x70\0\x6f\x6e\x65\0\x70\x72\x6f\x63\x65\x73\ -\x73\x5f\x6f\x63\x63\x75\x70\x69\x65\x64\x5f\x62\x75\x66\x66\x65\x72\0\x72\x65\ -\x63\x6f\x72\x64\x5f\x62\x61\x63\x6b\x74\x72\x61\x63\x65\0\x73\x74\x61\x63\x6b\ -\x5f\x74\x72\x61\x63\x65\x73\x5f\x6d\x61\x70\0\x72\x65\x63\x6f\x72\x64\x5f\x63\ -\x70\x75\x5f\x69\x64\x6c\x65\0\x74\x72\x61\x63\x65\x5f\x73\x79\x73\x5f\x65\x6e\ -\x74\x65\x72\0\x74\x72\x61\x63\x65\x5f\x73\x79\x73\x5f\x65\x78\x69\x74\0\x74\ -\x72\x61\x63\x65\x5f\x63\x70\x75\x5f\x73\x6f\x66\x74\x69\x72\x71\x5f\x65\x6e\ -\x74\x72\x79\0\x74\x72\x61\x63\x65\x5f\x63\x70\x75\x5f\x73\x6f\x66\x74\x69\x72\ -\x71\x5f\x65\x78\x69\x74\0\x74\x72\x61\x63\x65\x5f\x63\x70\x75\x5f\x69\x72\x71\ -\x5f\x65\x6e\x74\x72\x79\0\x74\x72\x61\x63\x65\x5f\x63\x70\x75\x5f\x69\x72\x71\ -\x5f\x65\x78\x69\x74\0\x68\x61\x6e\x64\x6c\x65\x5f\x63\x70\x75\x5f\x65\x76\x65\ -\x6e\x74\0\x63\x70\x75\x5f\x75\x73\x72\x5f\x6d\x61\x70\0\x7a\x65\x72\x6f\0\x63\ -\x70\x75\x5f\x75\x73\x61\x67\x65\x5f\x62\x75\x66\x66\x65\x72\0\x68\x61\x6e\x64\ -\x6c\x65\x5f\x73\x79\x73\x5f\x6c\x61\x74\x65\x6e\x63\x79\x5f\x65\x76\x65\x6e\ -\x74\0\x72\x75\x6e\x71\x6c\x61\x74\x5f\x62\x75\x66\x66\x65\x72\0\x4c\x49\x43\ -\x45\x4e\x53\x45\0\x6c\x61\x74\x65\x6e\x63\x79\x5f\x62\x6b\x5f\x77\x69\x6e\x64\ -\x6f\x77\0\x6c\x61\x74\x65\x6e\x63\x79\x5f\x65\x6d\x61\0\x75\x73\x61\x67\x65\ -\x5f\x65\x6d\x61\0\x74\x61\x73\x6b\x5f\x63\x73\x77\x5f\x65\x6d\x61\0\x74\x61\ -\x73\x6b\x5f\x70\x72\x65\x65\x6d\x70\x74\x5f\x65\x6d\x61\0\x63\x70\x75\x5f\x65\ -\x6d\x61\x5f\x63\x74\x72\x6c\x5f\x6d\x61\x70\0\x2e\x72\x65\x6c\x2e\x74\x65\x78\ -\x74\0\x2e\x72\x65\x6c\x72\x61\x77\x5f\x74\x70\x2f\x73\x63\x68\x65\x64\x5f\x77\ -\x61\x6b\x65\x75\x70\0\x2e\x72\x65\x6c\x72\x61\x77\x5f\x74\x70\x2f\x73\x63\x68\ -\x65\x64\x5f\x77\x61\x6b\x65\x75\x70\x5f\x6e\x65\x77\0\x2e\x72\x65\x6c\x74\x72\ -\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x73\x63\x68\x65\x64\x2f\x73\x63\x68\x65\ -\x64\x5f\x70\x72\x6f\x63\x65\x73\x73\x5f\x66\x6f\x72\x6b\0\x2e\x72\x65\x6c\x74\ -\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x73\x63\x68\x65\x64\x2f\x73\x63\x68\ -\x65\x64\x5f\x70\x72\x6f\x63\x65\x73\x73\x5f\x65\x78\x69\x74\0\x2e\x72\x65\x6c\ -\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x73\x63\x68\x65\x64\x2f\x73\x63\ -\x68\x65\x64\x5f\x73\x77\x69\x74\x63\x68\0\x2e\x72\x65\x6c\x74\x72\x61\x63\x65\ -\x70\x6f\x69\x6e\x74\x2f\x70\x6f\x77\x65\x72\x2f\x63\x70\x75\x5f\x69\x64\x6c\ -\x65\0\x2e\x72\x65\x6c\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x72\x61\x77\ -\x5f\x73\x79\x73\x63\x61\x6c\x6c\x73\x2f\x73\x79\x73\x5f\x65\x6e\x74\x65\x72\0\ -\x2e\x72\x65\x6c\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x72\x61\x77\x5f\ -\x73\x79\x73\x63\x61\x6c\x6c\x73\x2f\x73\x79\x73\x5f\x65\x78\x69\x74\0\x2e\x72\ -\x65\x6c\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x69\x72\x71\x2f\x73\x6f\ -\x66\x74\x69\x72\x71\x5f\x65\x6e\x74\x72\x79\0\x2e\x72\x65\x6c\x74\x72\x61\x63\ -\x65\x70\x6f\x69\x6e\x74\x2f\x69\x72\x71\x2f\x73\x6f\x66\x74\x69\x72\x71\x5f\ -\x65\x78\x69\x74\0\x2e\x72\x65\x6c\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\ -\x69\x72\x71\x2f\x69\x72\x71\x5f\x68\x61\x6e\x64\x6c\x65\x72\x5f\x65\x6e\x74\ -\x72\x79\0\x2e\x72\x65\x6c\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x69\x72\ -\x71\x2f\x69\x72\x71\x5f\x68\x61\x6e\x64\x6c\x65\x72\x5f\x65\x78\x69\x74\0\x2e\ -\x72\x65\x6c\x70\x65\x72\x66\x5f\x65\x76\x65\x6e\x74\0\x2e\x42\x54\x46\0\x2e\ -\x42\x54\x46\x2e\x65\x78\x74\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\xa6\x01\0\0\x04\0\xf1\xff\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\x03\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\xb6\x01\0\0\0\0\x04\0\x40\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbe\x01\0\0\0\ -\0\x04\0\xf8\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xc5\x01\0\0\0\0\x04\0\x50\x04\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\xcc\x01\0\0\0\0\x04\0\xa8\x03\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\xd3\x01\0\0\0\0\x04\0\x30\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\ -\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xda\x01\0\0\0\0\x05\0\x40\x04\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\xe2\x01\0\0\0\0\x05\0\xf8\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\xe9\x01\0\0\0\0\x05\0\x50\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xf0\x01\0\0\0\0\x05\ -\0\xa8\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xf7\x01\0\0\0\0\x05\0\x30\x04\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xfe\x01\ -\0\0\0\0\x06\0\xb0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\x07\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\x05\x02\0\0\0\0\x07\0\xd8\x01\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\x0d\x02\0\0\0\0\x07\0\xc8\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x14\x02\0\0\0\0\ -\x07\0\x20\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\x08\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\x1b\x02\0\0\0\0\x08\0\x98\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x22\ -\x02\0\0\0\0\x08\0\xa0\x14\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x2b\x02\0\0\0\0\x08\0\ -\x50\x10\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x33\x02\0\0\0\0\x08\0\xa8\x03\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\x3a\x02\0\0\0\0\x08\0\0\x10\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x42\ -\x02\0\0\0\0\x08\0\xf0\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x49\x02\0\0\0\0\x08\0\ -\x90\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x51\x02\0\0\0\0\x08\0\x90\x0f\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\x59\x02\0\0\0\0\x08\0\x88\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x61\ -\x02\0\0\0\0\x08\0\x10\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x69\x02\0\0\x01\0\x12\0\ -\x6a\0\0\0\0\0\0\0\x1d\0\0\0\0\0\0\0\x87\x02\0\0\0\0\x08\0\xc8\x0f\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\x8f\x02\0\0\0\0\x08\0\xd8\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x97\ -\x02\0\0\0\0\x08\0\xa8\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x9f\x02\0\0\0\0\x08\0\ -\x80\x0f\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xa7\x02\0\0\0\0\x08\0\x60\x08\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\xaf\x02\0\0\x01\0\x12\0\x87\0\0\0\0\0\0\0\x20\0\0\0\0\0\0\0\ -\xcb\x02\0\0\0\0\x08\0\xd0\x0c\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xd3\x02\0\0\0\0\x08\ -\0\x70\x0f\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xdb\x02\0\0\x02\0\x03\0\0\0\0\0\0\0\0\0\ -\x38\x04\0\0\0\0\0\0\xf2\x02\0\0\0\0\x08\0\x60\x14\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\xfb\x02\0\0\0\0\x08\0\x18\x12\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\x03\0\0\0\0\x08\ -\0\x50\x14\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x0b\x03\0\0\0\0\x08\0\x60\x12\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\x13\x03\0\0\0\0\x08\0\xf8\x12\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\x1b\x03\0\0\0\0\x08\0\x78\x12\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x23\x03\0\0\0\0\x08\ -\0\x90\x12\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x2b\x03\0\0\0\0\x08\0\xa8\x12\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\x33\x03\0\0\0\0\x08\0\xc0\x12\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\x3b\x03\0\0\0\0\x08\0\xd8\x12\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x43\x03\0\0\0\0\x08\ -\0\xf0\x12\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x4b\x03\0\0\0\0\x08\0\x68\x13\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\x53\x03\0\0\0\0\x08\0\xa8\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\x5b\x03\0\0\0\0\x08\0\x18\x14\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x63\x03\0\0\0\0\x03\ -\0\xf8\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x6a\x03\0\0\0\0\x03\0\x30\x04\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\x72\x03\0\0\0\0\x03\0\x40\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x79\ -\x03\0\0\0\0\x03\0\xd8\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x80\x03\0\0\0\0\x03\0\ -\xf8\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x88\x03\0\0\0\0\x03\0\xc8\x02\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\x90\x03\0\0\0\0\x03\0\x28\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x98\ -\x03\0\0\x01\0\x12\0\xa7\0\0\0\0\0\0\0\x1c\0\0\0\0\0\0\0\xb9\x03\0\0\0\0\x03\0\ -\x08\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xc1\x03\0\0\0\0\x03\0\xf0\x03\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\xc9\x03\0\0\0\0\x08\0\x18\x18\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xd1\ -\x03\0\0\0\0\x08\0\x80\x15\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xd8\x03\0\0\x01\0\x12\0\ -\x08\0\0\0\0\0\0\0\x22\0\0\0\0\0\0\0\xf1\x03\0\0\0\0\x08\0\x80\x16\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\xf8\x03\0\0\0\0\x08\0\x20\x16\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xff\ -\x03\0\0\0\0\x08\0\xa8\x16\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x04\0\0\0\0\x08\0\ -\x08\x17\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x0e\x04\0\0\x01\0\x12\0\x2a\0\0\0\0\0\0\0\ -\x1e\0\0\0\0\0\0\0\x29\x04\0\0\0\0\x08\0\x50\x17\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\x31\x04\0\0\0\0\x08\0\xe0\x17\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\x09\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x39\x04\0\0\0\0\x09\0\x70\x01\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\x40\x04\0\0\0\0\x09\0\xf8\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x47\x04\ -\0\0\0\0\x09\0\xc8\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x4e\x04\0\0\0\0\x09\0\x08\ -\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x55\x04\0\0\0\0\x09\0\xd0\x01\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\x03\0\x0a\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x5c\x04\0\0\0\ -\0\x0a\0\x58\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x64\x04\0\0\0\0\x0a\0\xe0\x02\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\x6b\x04\0\0\0\0\x0a\0\x48\x04\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\x73\x04\0\0\0\0\x0a\0\x10\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x7b\x04\0\0\0\0\ -\x0a\0\xc0\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82\x04\0\0\0\0\x0a\0\x70\x03\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\x89\x04\0\0\0\0\x0a\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\x03\0\x0b\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x91\x04\0\0\0\0\x0b\0\x50\ -\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x99\x04\0\0\0\0\x0b\0\xd8\x02\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\xa0\x04\0\0\0\0\x0b\0\x40\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xa8\x04\ -\0\0\0\0\x0b\0\x08\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb0\x04\0\0\0\0\x0b\0\xb8\ -\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x04\0\0\0\0\x0b\0\x68\x03\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\xbe\x04\0\0\0\0\x0b\0\xf8\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\x03\0\x0c\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xc6\x04\0\0\0\0\x0c\0\xe0\x01\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\xce\x04\0\0\0\0\x0c\0\xa8\x01\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\xd6\x04\0\0\0\0\x0c\0\x28\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\ -\x0d\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xde\x04\0\0\0\0\x0d\0\xa0\x01\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\xe6\x04\0\0\0\0\x0d\0\x08\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\xee\x04\0\0\0\0\x0d\0\xf8\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\x0e\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xf6\x04\0\0\0\0\x0e\0\xe0\x01\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\xfe\x04\0\0\0\0\x0e\0\xa8\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x05\ -\0\0\0\0\x0e\0\x28\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\x0f\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\x0e\x05\0\0\0\0\x0f\0\xa0\x01\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\x16\x05\0\0\0\0\x0f\0\x08\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x1e\x05\0\0\0\0\ -\x0f\0\xf8\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\x10\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\x26\x05\0\0\x01\0\x14\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\x34\ -\x05\0\0\0\0\x10\0\x90\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x3c\x05\0\0\0\0\x10\0\xb8\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x45\x05\0\0\x01\0\x14\0\x04\0\0\0\0\0\0\0\x04\0\ -\0\0\0\0\0\0\x4d\x05\0\0\0\0\x10\0\x20\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x55\x05\ -\0\0\x01\0\x12\0\x48\0\0\0\0\0\0\0\x14\0\0\0\0\0\0\0\x6e\x05\0\0\0\0\x10\0\xe8\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x77\x05\0\0\0\0\x10\0\xf0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\x80\x05\0\0\0\0\x10\0\x58\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x89\x05\0\0\ -\0\0\x10\0\x50\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x92\x05\0\0\x01\0\x12\0\xde\0\0\ -\0\0\0\0\0\x1c\0\0\0\0\0\0\0\xb8\x05\0\0\0\0\x10\0\xe8\x06\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\xc1\x05\0\0\0\0\x10\0\xe8\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xca\x05\0\0\ -\0\0\x10\0\x10\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xd3\x05\0\0\0\0\x10\0\xb8\x06\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\xdc\x05\0\0\0\0\x10\0\x90\x05\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\xe4\x05\0\0\x01\0\x12\0\xc3\0\0\0\0\0\0\0\x1b\0\0\0\0\0\0\0\x05\x06\0\0\ -\x01\0\x12\0\x5c\0\0\0\0\0\0\0\x0e\0\0\0\0\0\0\0\x20\x06\0\0\0\0\x10\0\x78\x07\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x28\x06\0\0\x01\0\x12\0\xfa\0\0\0\0\0\0\0\x21\0\0\ -\0\0\0\0\0\x3d\x06\0\0\0\0\x10\0\x80\x0a\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x46\x06\0\ -\0\0\0\x10\0\xf8\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x4e\x06\0\0\0\0\x10\0\x58\x08\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x56\x06\0\0\0\0\x10\0\xa8\x08\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\x5e\x06\0\0\0\0\x10\0\x08\x09\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x67\x06\0\0\ -\0\0\x10\0\x58\x09\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x70\x06\0\0\0\0\x10\0\xb8\x09\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\x79\x06\0\0\0\0\x10\0\x08\x0a\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\x82\x06\0\0\0\0\x10\0\x60\x0a\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\ -\x12\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\x14\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\x8b\x06\0\0\x12\0\x04\0\0\0\0\0\0\0\0\0\x98\x04\0\0\0\0\0\0\x9f\ -\x06\0\0\x11\0\x13\0\0\0\0\0\0\0\0\0\x20\0\0\0\0\0\0\0\xb2\x06\0\0\x11\0\x13\0\ -\x20\x01\0\0\0\0\0\0\x20\0\0\0\0\0\0\0\xbe\x06\0\0\x12\0\x05\0\0\0\0\0\0\0\0\0\ -\x98\x04\0\0\0\0\0\0\xd6\x06\0\0\x12\0\x06\0\0\0\0\0\0\0\0\0\xc0\x01\0\0\0\0\0\ -\0\xe9\x06\0\0\x12\0\x07\0\0\0\0\0\0\0\0\0\xe8\x01\0\0\0\0\0\0\xfa\x06\0\0\x11\ -\0\x13\0\x80\0\0\0\0\0\0\0\x20\0\0\0\0\0\0\0\x0e\x07\0\0\x11\0\x13\0\xc0\0\0\0\ -\0\0\0\0\x20\0\0\0\0\0\0\0\x22\x07\0\0\x11\0\x13\0\x40\x01\0\0\0\0\0\0\x20\0\0\ -\0\0\0\0\0\x37\x07\0\0\x12\0\x08\0\0\0\0\0\0\0\0\0\xb0\x14\0\0\0\0\0\0\x4a\x07\ -\0\0\x11\0\x13\0\x20\0\0\0\0\0\0\0\x20\0\0\0\0\0\0\0\x5e\x07\0\0\x11\0\x13\0\ -\x40\0\0\0\0\0\0\0\x20\0\0\0\0\0\0\0\x74\x07\0\0\x11\0\x13\0\x70\x01\0\0\0\0\0\ -\0\x10\0\0\0\0\0\0\0\x89\x07\0\0\x11\0\x13\0\xa0\x01\0\0\0\0\0\0\x10\0\0\0\0\0\ -\0\0\x9f\x07\0\0\x11\0\x13\0\x60\0\0\0\0\0\0\0\x20\0\0\0\0\0\0\0\xab\x07\0\0\ -\x11\0\x12\0\x04\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\xaf\x07\0\0\x11\0\x13\0\x80\ -\x01\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\xc7\x07\0\0\x12\0\x08\0\xb0\x14\0\0\0\0\0\0\ -\x78\x03\0\0\0\0\0\0\xd8\x07\0\0\x11\0\x13\0\xa0\0\0\0\0\0\0\0\x20\0\0\0\0\0\0\ -\0\xe9\x07\0\0\x12\0\x09\0\0\0\0\0\0\0\0\0\x18\x02\0\0\0\0\0\0\xf9\x07\0\0\x12\ -\0\x0a\0\0\0\0\0\0\0\0\0\x68\x04\0\0\0\0\0\0\x09\x08\0\0\x12\0\x0b\0\0\0\0\0\0\ -\0\0\0\x60\x04\0\0\0\0\0\0\x18\x08\0\0\x12\0\x0c\0\0\0\0\0\0\0\0\0\x38\x02\0\0\ -\0\0\0\0\x30\x08\0\0\x12\0\x0d\0\0\0\0\0\0\0\0\0\x18\x02\0\0\0\0\0\0\x47\x08\0\ -\0\x12\0\x0e\0\0\0\0\0\0\0\0\0\x38\x02\0\0\0\0\0\0\x5b\x08\0\0\x12\0\x0f\0\0\0\ -\0\0\0\0\0\0\x18\x02\0\0\0\0\0\0\x6e\x08\0\0\x12\0\x10\0\0\0\0\0\0\0\0\0\x10\ -\x07\0\0\0\0\0\0\x7f\x08\0\0\x11\0\x13\0\xe0\0\0\0\0\0\0\0\x20\0\0\0\0\0\0\0\ -\x8b\x08\0\0\x11\0\x12\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\x90\x08\0\0\x11\0\ -\x13\0\x60\x01\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\xa1\x08\0\0\x12\0\x10\0\x10\x07\0\ -\0\0\0\0\0\x80\x03\0\0\0\0\0\0\xba\x08\0\0\x11\0\x13\0\x90\x01\0\0\0\0\0\0\x10\ -\0\0\0\0\0\0\0\xc9\x08\0\0\x11\0\x11\0\0\0\0\0\0\0\0\0\x0d\0\0\0\0\0\0\0\xd1\ -\x08\0\0\x11\0\x14\0\x08\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\xe3\x08\0\0\x11\0\x14\ -\0\x10\0\0\0\0\0\0\0\x0c\0\0\0\0\0\0\0\xef\x08\0\0\x11\0\x14\0\x1c\0\0\0\0\0\0\ -\0\x0c\0\0\0\0\0\0\0\xf9\x08\0\0\x11\0\x14\0\x28\0\0\0\0\0\0\0\x0c\0\0\0\0\0\0\ -\0\x06\x09\0\0\x11\0\x14\0\x34\0\0\0\0\0\0\0\x0c\0\0\0\0\0\0\0\x17\x09\0\0\x11\ -\0\x13\0\0\x01\0\0\0\0\0\0\x20\0\0\0\0\0\0\0\xbf\x48\0\0\0\0\0\0\xbf\x39\0\0\0\ -\0\0\0\xbf\x27\0\0\0\0\0\0\x63\x1a\xb4\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\ -\0\0\xb4\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\ -\xbf\x06\0\0\0\0\0\0\x55\x06\x14\0\0\0\0\0\x61\xa1\xb4\xff\0\0\0\0\x63\x1a\xfc\ -\xff\0\0\0\0\xb7\x02\0\0\x01\0\0\0\x63\x2a\xbc\xff\0\0\0\0\x63\x1a\xb8\xff\0\0\ -\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\xbf\xa3\0\0\0\0\0\0\x07\ -\x03\0\0\xb8\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\ -\0\x85\0\0\0\x02\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xb4\xff\xff\xff\x18\x01\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\xbf\x06\0\0\0\0\0\0\x15\x06\ -\x67\0\0\0\0\0\x61\xa1\xb4\xff\0\0\0\0\x63\x16\0\0\0\0\0\0\x15\x09\x06\0\0\0\0\ -\0\x79\x61\x10\0\0\0\0\0\x3d\x81\x04\0\0\0\0\0\xb7\x01\0\0\0\0\0\0\x7b\x16\x20\ -\0\0\0\0\0\x85\0\0\0\x05\0\0\0\x7b\x06\x10\0\0\0\0\0\x79\x61\x20\0\0\0\0\0\x0f\ -\x71\0\0\0\0\0\0\x7b\x16\x20\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xb4\xff\ -\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x63\0\0\0\0\0\0\xb7\x04\0\0\0\ -\0\0\0\x85\0\0\0\x02\0\0\0\x79\x68\x20\0\0\0\0\0\x85\0\0\0\x05\0\0\0\xbf\x07\0\ -\0\0\0\0\0\x61\x61\0\0\0\0\0\0\x63\x1a\xb8\xff\0\0\0\0\x79\x61\x30\0\0\0\0\0\ -\x55\x01\x02\0\0\0\0\0\x7b\x76\x30\0\0\0\0\0\x05\0\x44\0\0\0\0\0\xbf\x72\0\0\0\ -\0\0\0\x1f\x12\0\0\0\0\0\0\x71\x61\x08\0\0\0\0\0\x55\x01\x1a\0\0\0\0\0\x27\x08\ -\0\0\x64\0\0\0\x37\x08\0\0\0\x65\xcd\x1d\x67\x08\0\0\x20\0\0\0\x77\x08\0\0\x20\ -\0\0\0\xb7\x03\0\0\x0a\0\0\0\x2d\x83\x14\0\0\0\0\0\x25\x02\x13\0\xff\x64\xcd\ -\x1d\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xb8\xff\xff\xff\xb7\x08\0\0\0\0\0\0\x18\ -\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x23\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\ -\0\0\x02\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x02\0\0\x40\0\0\0\xb7\ -\x03\0\0\0\0\0\0\x85\0\0\0\x83\0\0\0\x55\0\x11\0\0\0\0\0\x18\x01\0\0\xa7\0\0\0\ -\0\0\0\0\0\0\0\0\xb7\x02\0\0\x1c\0\0\0\x85\0\0\0\x06\0\0\0\x05\0\x2d\0\0\0\0\0\ -\xb7\x03\0\0\x01\x65\xcd\x1d\x2d\x23\x2b\0\0\0\0\0\x55\x01\x05\0\0\0\0\0\xbf\ -\xa2\0\0\0\0\0\0\x07\x02\0\0\xb8\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\x85\0\0\0\x03\0\0\0\x7b\x76\x30\0\0\0\0\0\xb7\x01\0\0\0\0\0\0\x7b\x16\x20\0\ -\0\0\0\0\x05\0\x19\0\0\0\0\0\x7b\x80\x38\0\0\0\0\0\x7b\x80\x30\0\0\0\0\0\x7b\ -\x80\x28\0\0\0\0\0\x7b\x80\x20\0\0\0\0\0\x7b\x80\x18\0\0\0\0\0\x7b\x80\x10\0\0\ -\0\0\0\x7b\x80\x08\0\0\0\0\0\x7b\x80\0\0\0\0\0\0\x79\x61\x30\0\0\0\0\0\x61\xa2\ -\xb8\xff\0\0\0\0\x63\x20\0\0\0\0\0\0\x61\x62\x04\0\0\0\0\0\x63\x20\x04\0\0\0\0\ -\0\x1f\x17\0\0\0\0\0\0\x27\x07\0\0\x0a\0\0\0\x37\x07\0\0\0\x65\xcd\x1d\x79\x61\ -\x20\0\0\0\0\0\x2f\x17\0\0\0\0\0\0\x27\x07\0\0\x64\0\0\0\x37\x07\0\0\0\x65\xcd\ -\x1d\x63\x70\x38\0\0\0\0\0\xbf\x01\0\0\0\0\0\0\xb7\x02\0\0\0\0\0\0\x85\0\0\0\ -\x84\0\0\0\xb7\x01\0\0\x01\0\0\0\x73\x16\x08\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\ -\x02\0\0\xb8\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x63\0\0\0\0\0\ -\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\x95\0\0\0\0\0\0\0\xb7\x02\0\0\x78\ -\x05\0\0\x79\x16\0\0\0\0\0\0\xbf\x63\0\0\0\0\0\0\x0f\x23\0\0\0\0\0\0\xbf\xa1\0\ -\0\0\0\0\0\x07\x01\0\0\x20\xff\xff\xff\xb7\x02\0\0\x04\0\0\0\x85\0\0\0\x71\0\0\ -\0\x61\xa1\x20\xff\0\0\0\0\x63\x1a\xb0\xff\0\0\0\0\x15\x01\x7d\0\0\0\0\0\xb7\ -\x01\0\0\x7c\x05\0\0\xbf\x67\0\0\0\0\0\0\x0f\x17\0\0\0\0\0\0\xbf\xa1\0\0\0\0\0\ -\0\x07\x01\0\0\x20\xff\xff\xff\xb7\x02\0\0\x04\0\0\0\xbf\x73\0\0\0\0\0\0\x85\0\ -\0\0\x71\0\0\0\x61\xa1\x20\xff\0\0\0\0\x7b\x1a\x18\xff\0\0\0\0\x85\0\0\0\x08\0\ -\0\0\xbf\x08\0\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xb0\xff\xff\xff\x18\ -\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\xbf\x09\0\0\0\0\0\0\x55\ -\x09\x61\0\0\0\0\0\xb7\x01\0\0\x78\x05\0\0\xbf\x63\0\0\0\0\0\0\x0f\x13\0\0\0\0\ -\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\x90\xff\xff\xff\xb7\x02\0\0\x04\0\0\0\x85\ -\0\0\0\x71\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\x20\xff\xff\xff\xb7\x02\0\0\ -\x04\0\0\0\xbf\x73\0\0\0\0\0\0\x85\0\0\0\x71\0\0\0\x63\x8a\x98\xff\0\0\0\0\x61\ -\xa1\x20\xff\0\0\0\0\x63\x1a\x94\xff\0\0\0\0\xb7\x01\0\0\x88\x07\0\0\x0f\x16\0\ -\0\0\0\0\0\xb7\x08\0\0\0\0\0\0\x63\x8a\xa0\xff\0\0\0\0\x63\x8a\x9c\xff\0\0\0\0\ -\x63\x8a\xa8\xff\0\0\0\0\x63\x8a\xa4\xff\0\0\0\0\xbf\xa7\0\0\0\0\0\0\x07\x07\0\ -\0\x20\xff\xff\xff\xbf\x71\0\0\0\0\0\0\xb7\x02\0\0\x10\0\0\0\xbf\x63\0\0\0\0\0\ -\0\x85\0\0\0\x71\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\x9c\xff\xff\xff\xb7\x02\ -\0\0\x10\0\0\0\xbf\x73\0\0\0\0\0\0\x85\0\0\0\x73\0\0\0\x79\xa1\x90\xff\0\0\0\0\ -\x7b\x1a\x20\xff\0\0\0\0\x79\xa1\x98\xff\0\0\0\0\x7b\x1a\x28\xff\0\0\0\0\x79\ -\xa1\xa0\xff\0\0\0\0\x7b\x1a\x30\xff\0\0\0\0\x61\xa1\xa8\xff\0\0\0\0\x63\x1a\ -\x38\xff\0\0\0\0\x63\x8a\x88\xff\0\0\0\0\x63\x8a\x84\xff\0\0\0\0\x63\x8a\x80\ -\xff\0\0\0\0\x63\x8a\x7c\xff\0\0\0\0\x63\x8a\x78\xff\0\0\0\0\x63\x8a\x74\xff\0\ -\0\0\0\x63\x8a\x70\xff\0\0\0\0\x63\x8a\x6c\xff\0\0\0\0\x63\x8a\x68\xff\0\0\0\0\ -\x63\x8a\x64\xff\0\0\0\0\x63\x8a\x60\xff\0\0\0\0\x63\x8a\x5c\xff\0\0\0\0\x63\ -\x8a\x58\xff\0\0\0\0\x63\x8a\x54\xff\0\0\0\0\x63\x8a\x50\xff\0\0\0\0\x63\x8a\ -\x4c\xff\0\0\0\0\x63\x8a\x48\xff\0\0\0\0\x63\x8a\x44\xff\0\0\0\0\x63\x8a\x40\ -\xff\0\0\0\0\x63\x8a\x3c\xff\0\0\0\0\x63\x8a\x8c\xff\0\0\0\0\x85\0\0\0\x05\0\0\ -\0\x7b\x0a\x60\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xb0\xff\xff\xff\xbf\ -\xa3\0\0\0\0\0\0\x07\x03\0\0\x20\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\x61\xa6\xb0\xff\0\0\0\0\x79\xa1\x18\ -\xff\0\0\0\0\x63\x1a\xb4\xff\0\0\0\0\x15\x01\x1e\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\ -\x07\x02\0\0\xb4\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\ -\0\0\0\x55\0\x1a\0\0\0\0\0\xbf\x63\0\0\0\0\0\0\xb7\x02\0\0\x01\0\0\0\x61\xa1\ -\xb4\xff\0\0\0\0\x1d\x31\x01\0\0\0\0\0\xb7\x02\0\0\x02\0\0\0\x63\x1a\xfc\xff\0\ -\0\0\0\x63\x2a\xbc\xff\0\0\0\0\x63\x1a\xb8\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\ -\x02\0\0\xfc\xff\xff\xff\xbf\xa3\0\0\0\0\0\0\x07\x03\0\0\xb8\xff\xff\xff\x18\ -\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\x07\0\0\0\0\0\x85\0\0\0\x05\0\0\0\x7b\ -\x09\x40\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xb0\xff\xff\xff\x18\x01\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x93\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\ -\0\0\0\xb7\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\x61\x01\x04\0\0\0\0\0\x07\x01\0\0\ -\x01\0\0\0\x63\x10\x04\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xb4\xff\xff\ -\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x03\0\0\0\0\0\0\x05\0\xf3\xff\0\0\ -\0\0\xb7\x02\0\0\x78\x05\0\0\x79\x16\0\0\0\0\0\0\xbf\x63\0\0\0\0\0\0\x0f\x23\0\ -\0\0\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\x20\xff\xff\xff\xb7\x02\0\0\x04\0\0\ -\0\x85\0\0\0\x71\0\0\0\x61\xa1\x20\xff\0\0\0\0\x63\x1a\xb0\xff\0\0\0\0\x15\x01\ -\x7d\0\0\0\0\0\xb7\x01\0\0\x7c\x05\0\0\xbf\x67\0\0\0\0\0\0\x0f\x17\0\0\0\0\0\0\ -\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\x20\xff\xff\xff\xb7\x02\0\0\x04\0\0\0\xbf\x73\ -\0\0\0\0\0\0\x85\0\0\0\x71\0\0\0\x61\xa1\x20\xff\0\0\0\0\x7b\x1a\x18\xff\0\0\0\ -\0\x85\0\0\0\x08\0\0\0\xbf\x08\0\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xb0\ -\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\xbf\x09\0\ -\0\0\0\0\0\x55\x09\x61\0\0\0\0\0\xb7\x01\0\0\x78\x05\0\0\xbf\x63\0\0\0\0\0\0\ -\x0f\x13\0\0\0\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\x90\xff\xff\xff\xb7\x02\0\ -\0\x04\0\0\0\x85\0\0\0\x71\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\x20\xff\xff\ -\xff\xb7\x02\0\0\x04\0\0\0\xbf\x73\0\0\0\0\0\0\x85\0\0\0\x71\0\0\0\x63\x8a\x98\ -\xff\0\0\0\0\x61\xa1\x20\xff\0\0\0\0\x63\x1a\x94\xff\0\0\0\0\xb7\x01\0\0\x88\ -\x07\0\0\x0f\x16\0\0\0\0\0\0\xb7\x08\0\0\0\0\0\0\x63\x8a\xa0\xff\0\0\0\0\x63\ -\x8a\x9c\xff\0\0\0\0\x63\x8a\xa8\xff\0\0\0\0\x63\x8a\xa4\xff\0\0\0\0\xbf\xa7\0\ -\0\0\0\0\0\x07\x07\0\0\x20\xff\xff\xff\xbf\x71\0\0\0\0\0\0\xb7\x02\0\0\x10\0\0\ -\0\xbf\x63\0\0\0\0\0\0\x85\0\0\0\x71\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\x9c\ -\xff\xff\xff\xb7\x02\0\0\x10\0\0\0\xbf\x73\0\0\0\0\0\0\x85\0\0\0\x73\0\0\0\x79\ -\xa1\x90\xff\0\0\0\0\x7b\x1a\x20\xff\0\0\0\0\x79\xa1\x98\xff\0\0\0\0\x7b\x1a\ -\x28\xff\0\0\0\0\x79\xa1\xa0\xff\0\0\0\0\x7b\x1a\x30\xff\0\0\0\0\x61\xa1\xa8\ -\xff\0\0\0\0\x63\x1a\x38\xff\0\0\0\0\x63\x8a\x88\xff\0\0\0\0\x63\x8a\x84\xff\0\ -\0\0\0\x63\x8a\x80\xff\0\0\0\0\x63\x8a\x7c\xff\0\0\0\0\x63\x8a\x78\xff\0\0\0\0\ -\x63\x8a\x74\xff\0\0\0\0\x63\x8a\x70\xff\0\0\0\0\x63\x8a\x6c\xff\0\0\0\0\x63\ -\x8a\x68\xff\0\0\0\0\x63\x8a\x64\xff\0\0\0\0\x63\x8a\x60\xff\0\0\0\0\x63\x8a\ -\x5c\xff\0\0\0\0\x63\x8a\x58\xff\0\0\0\0\x63\x8a\x54\xff\0\0\0\0\x63\x8a\x50\ -\xff\0\0\0\0\x63\x8a\x4c\xff\0\0\0\0\x63\x8a\x48\xff\0\0\0\0\x63\x8a\x44\xff\0\ -\0\0\0\x63\x8a\x40\xff\0\0\0\0\x63\x8a\x3c\xff\0\0\0\0\x63\x8a\x8c\xff\0\0\0\0\ -\x85\0\0\0\x05\0\0\0\x7b\x0a\x60\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\ -\xb0\xff\xff\xff\xbf\xa3\0\0\0\0\0\0\x07\x03\0\0\x20\xff\xff\xff\x18\x01\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\x61\xa6\xb0\xff\ -\0\0\0\0\x79\xa1\x18\xff\0\0\0\0\x63\x1a\xb4\xff\0\0\0\0\x15\x01\x1e\0\0\0\0\0\ -\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xb4\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\x85\0\0\0\x01\0\0\0\x55\0\x1a\0\0\0\0\0\xbf\x63\0\0\0\0\0\0\xb7\x02\0\0\ -\x01\0\0\0\x61\xa1\xb4\xff\0\0\0\0\x1d\x31\x01\0\0\0\0\0\xb7\x02\0\0\x02\0\0\0\ -\x63\x1a\xfc\xff\0\0\0\0\x63\x2a\xbc\xff\0\0\0\0\x63\x1a\xb8\xff\0\0\0\0\xbf\ -\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\xbf\xa3\0\0\0\0\0\0\x07\x03\0\0\ -\xb8\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\x07\0\0\0\0\0\x85\0\ -\0\0\x05\0\0\0\x7b\x09\x40\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xb0\xff\ -\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x93\0\0\0\0\0\0\xb7\x04\0\0\0\ -\0\0\0\x85\0\0\0\x02\0\0\0\xb7\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\x61\x01\x04\0\0\ -\0\0\0\x07\x01\0\0\x01\0\0\0\x63\x10\x04\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\ -\0\0\xb4\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x03\0\0\0\0\0\0\ -\x05\0\xf3\xff\0\0\0\0\xbf\x16\0\0\0\0\0\0\x61\x61\x2c\0\0\0\0\0\x63\x1a\xfc\ -\xff\0\0\0\0\x85\0\0\0\x08\0\0\0\xbf\x07\0\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\ -\x02\0\0\xfc\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\ -\0\x55\0\x2b\0\0\0\0\0\xb7\x01\0\0\0\0\0\0\x7b\x1a\xf0\xff\0\0\0\0\x7b\x1a\xe8\ -\xff\0\0\0\0\x7b\x1a\xe0\xff\0\0\0\0\x7b\x1a\xd8\xff\0\0\0\0\x7b\x1a\xd0\xff\0\ -\0\0\0\x7b\x1a\xc8\xff\0\0\0\0\x7b\x1a\xc0\xff\0\0\0\0\x7b\x1a\xb8\xff\0\0\0\0\ -\x7b\x1a\xb0\xff\0\0\0\0\x7b\x1a\xa8\xff\0\0\0\0\x7b\x1a\xa0\xff\0\0\0\0\x63\ -\x7a\x70\xff\0\0\0\0\x61\xa2\xfc\xff\0\0\0\0\x63\x2a\x68\xff\0\0\0\0\x63\x1a\ -\x78\xff\0\0\0\0\x63\x1a\x74\xff\0\0\0\0\x63\x1a\x6c\xff\0\0\0\0\x63\x1a\x80\ -\xff\0\0\0\0\x63\x1a\x7c\xff\0\0\0\0\xb7\x01\0\0\x1c\0\0\0\x0f\x16\0\0\0\0\0\0\ -\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\x74\xff\xff\xff\xb7\x02\0\0\x10\0\0\0\xbf\x63\ -\0\0\0\0\0\0\x85\0\0\0\x73\0\0\0\x79\xa1\x68\xff\0\0\0\0\x7b\x1a\x88\xff\0\0\0\ -\0\x79\xa1\x70\xff\0\0\0\0\x7b\x1a\x90\xff\0\0\0\0\x79\xa1\x78\xff\0\0\0\0\x7b\ -\x1a\x98\xff\0\0\0\0\x61\xa1\x80\xff\0\0\0\0\x63\x1a\xa0\xff\0\0\0\0\xbf\xa2\0\ -\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\xbf\xa3\0\0\0\0\0\0\x07\x03\0\0\x88\xff\ -\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\ -\0\0\0\xb7\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\x85\0\0\0\x0e\0\0\0\x63\x0a\xfc\xff\ -\0\0\0\0\xbf\x01\0\0\0\0\0\0\x77\x01\0\0\x20\0\0\0\x63\x1a\xf8\xff\0\0\0\0\x67\ -\0\0\0\x20\0\0\0\x77\0\0\0\x20\0\0\0\x15\0\x33\0\0\0\0\0\x15\x01\x32\0\0\0\0\0\ -\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\x85\0\0\0\x03\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf8\xff\xff\xff\x18\ -\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\xbf\x06\0\0\0\0\0\0\x15\ -\x06\x26\0\0\0\0\0\x61\x61\x04\0\0\0\0\0\x15\x01\x02\0\0\0\0\0\x07\x01\0\0\xff\ -\xff\xff\xff\x63\x16\x04\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\ -\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\x15\0\x05\0\0\0\0\ -\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\x85\0\0\0\x03\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\ -\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x03\0\0\0\x61\x61\x04\0\0\0\0\0\ -\x55\x01\x10\0\0\0\0\0\xbf\xa6\0\0\0\0\0\0\x07\x06\0\0\xf8\xff\xff\xff\x18\x01\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x62\0\0\0\0\0\0\x85\0\0\0\x03\0\0\0\x18\x01\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x62\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\x15\0\x05\0\ -\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf8\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\x85\0\0\0\x03\0\0\0\xb7\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\xbf\x18\ -\0\0\0\0\0\0\x61\x81\x18\0\0\0\0\0\x63\x1a\xfc\xff\0\0\0\0\x61\x86\x38\0\0\0\0\ -\0\x63\x6a\xf8\xff\0\0\0\0\x85\0\0\0\x08\0\0\0\x63\x0a\xf4\xff\0\0\0\0\x85\0\0\ -\0\x05\0\0\0\x7b\x0a\x48\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf4\xff\ -\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\x55\0\x24\0\0\ -\0\0\0\xb7\x09\0\0\0\0\0\0\x7b\x9a\x98\xff\0\0\0\0\x7b\x9a\x90\xff\0\0\0\0\x7b\ -\x9a\x88\xff\0\0\0\0\x7b\x9a\x80\xff\0\0\0\0\x7b\x9a\x78\xff\0\0\0\0\x7b\x9a\ -\x70\xff\0\0\0\0\x7b\x9a\x68\xff\0\0\0\0\x7b\x9a\x60\xff\0\0\0\0\x7b\x9a\x58\ -\xff\0\0\0\0\x7b\x9a\x50\xff\0\0\0\0\xbf\xa7\0\0\0\0\0\0\x07\x07\0\0\xf4\xff\ -\xff\xff\xbf\xa3\0\0\0\0\0\0\x07\x03\0\0\x50\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\xbf\x72\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\xb7\ -\x01\0\0\0\x65\xcd\x1d\x7b\x1a\xe0\xff\0\0\0\0\x7b\x9a\xc0\xff\0\0\0\0\x61\xa1\ -\xf4\xff\0\0\0\0\x63\x1a\xc0\xff\0\0\0\0\x7b\x9a\xe8\xff\0\0\0\0\x7b\x9a\xd8\ -\xff\0\0\0\0\x7b\x9a\xd0\xff\0\0\0\0\x7b\x9a\xc8\xff\0\0\0\0\xbf\xa3\0\0\0\0\0\ -\0\x07\x03\0\0\xc0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x72\0\0\ -\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\ -\0\xf4\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\xbf\ -\x07\0\0\0\0\0\0\x18\x09\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\x15\x07\x58\x02\0\ -\0\0\0\x7b\x7a\x40\xff\0\0\0\0\x61\xa1\xfc\xff\0\0\0\0\x15\x01\xcb\x01\0\0\0\0\ -\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\x85\0\0\0\x01\0\0\0\x55\0\x30\0\0\0\0\0\xb7\x01\0\0\0\0\0\0\x7b\x1a\xb8\ -\xff\0\0\0\0\x7b\x1a\xb0\xff\0\0\0\0\x7b\x1a\xa8\xff\0\0\0\0\x7b\x1a\xa0\xff\0\ -\0\0\0\x7b\x1a\x98\xff\0\0\0\0\x7b\x1a\x90\xff\0\0\0\0\x7b\x1a\x88\xff\0\0\0\0\ -\x7b\x1a\x80\xff\0\0\0\0\x7b\x1a\x78\xff\0\0\0\0\x7b\x1a\x70\xff\0\0\0\0\x7b\ -\x1a\x68\xff\0\0\0\0\x61\xa2\xfc\xff\0\0\0\0\x63\x2a\xc0\xff\0\0\0\0\x61\xa2\ -\xf4\xff\0\0\0\0\x63\x2a\xc8\xff\0\0\0\0\x63\x1a\xc4\xff\0\0\0\0\x63\x1a\xd0\ -\xff\0\0\0\0\x63\x1a\xcc\xff\0\0\0\0\x63\x1a\xd8\xff\0\0\0\0\x63\x1a\xd4\xff\0\ -\0\0\0\xb7\x01\0\0\x08\0\0\0\xbf\x83\0\0\0\0\0\0\x0f\x13\0\0\0\0\0\0\xbf\xa1\0\ -\0\0\0\0\0\x07\x01\0\0\xcc\xff\xff\xff\xb7\x02\0\0\x10\0\0\0\x85\0\0\0\x73\0\0\ -\0\x79\xa1\x48\xff\0\0\0\0\x7b\x1a\xa0\xff\0\0\0\0\x7b\x1a\x88\xff\0\0\0\0\x79\ -\xa1\xc0\xff\0\0\0\0\x7b\x1a\x50\xff\0\0\0\0\x79\xa1\xc8\xff\0\0\0\0\x7b\x1a\ -\x58\xff\0\0\0\0\x79\xa1\xd0\xff\0\0\0\0\x7b\x1a\x60\xff\0\0\0\0\x61\xa1\xd8\ -\xff\0\0\0\0\x63\x1a\x68\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\ -\xff\xff\xbf\xa3\0\0\0\0\0\0\x07\x03\0\0\x50\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\x05\0\x95\x01\0\0\0\0\ -\xbf\x09\0\0\0\0\0\0\x61\xa1\xfc\xff\0\0\0\0\x63\x19\0\0\0\0\0\0\x79\x93\x38\0\ -\0\0\0\0\x15\x03\x86\x01\0\0\0\0\x71\x94\x1c\0\0\0\0\0\xb7\x02\0\0\x20\0\0\0\ -\x15\x04\x01\0\0\0\0\0\xb7\x02\0\0\x28\0\0\0\x79\xa4\x48\xff\0\0\0\0\x1f\x34\0\ -\0\0\0\0\0\x0f\x20\0\0\0\0\0\0\x79\x03\0\0\0\0\0\0\x0f\x43\0\0\0\0\0\0\x7b\x30\ -\0\0\0\0\0\0\x0f\x27\0\0\0\0\0\0\x79\x72\0\0\0\0\0\0\x0f\x42\0\0\0\0\0\0\x7b\ -\x27\0\0\0\0\0\0\xbf\x47\0\0\0\0\0\0\x79\x96\x30\0\0\0\0\0\x0f\x76\0\0\0\0\0\0\ -\x7b\x69\x30\0\0\0\0\0\x63\x1a\xc0\xff\0\0\0\0\x85\0\0\0\x05\0\0\0\x79\x91\x50\ -\0\0\0\0\0\x55\x01\x02\0\0\0\0\0\x7b\x09\x50\0\0\0\0\0\x05\0\x60\x01\0\0\0\0\ -\xbf\x02\0\0\0\0\0\0\x1f\x12\0\0\0\0\0\0\x71\x91\x1e\0\0\0\0\0\x55\x01\x1b\0\0\ -\0\0\0\x27\x06\0\0\x64\0\0\0\x37\x06\0\0\0\x65\xcd\x1d\x67\x06\0\0\x20\0\0\0\ -\x77\x06\0\0\x20\0\0\0\xb7\x03\0\0\x05\0\0\0\x2d\x63\x15\0\0\0\0\0\x25\x02\x14\ -\0\xff\x64\xcd\x1d\x7b\x0a\x38\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xc0\ -\xff\xff\xff\xb7\x06\0\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x23\0\ -\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\xb7\x02\0\0\x70\0\0\0\xb7\x03\0\0\0\0\0\0\x85\0\0\0\x83\0\0\0\x55\0\ -\x16\0\0\0\0\0\x18\x01\0\0\x6a\0\0\0\0\0\0\0\0\0\0\0\xb7\x02\0\0\x1d\0\0\0\x85\ -\0\0\0\x06\0\0\0\x05\0\x48\x01\0\0\0\0\xb7\x03\0\0\x01\x65\xcd\x1d\x2d\x23\x46\ -\x01\0\0\0\0\x55\x01\x07\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xc0\xff\xff\ -\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x06\0\0\0\0\0\0\x85\0\0\0\x03\0\0\ -\0\xbf\x60\0\0\0\0\0\0\x7b\x09\x50\0\0\0\0\0\xb7\x01\0\0\0\0\0\0\x7b\x19\x20\0\ -\0\0\0\0\x73\x19\x1e\0\0\0\0\0\x7b\x19\x28\0\0\0\0\0\x7b\x19\x30\0\0\0\0\0\x05\ -\0\x30\x01\0\0\0\0\x7b\x60\x68\0\0\0\0\0\x7b\x60\x60\0\0\0\0\0\x7b\x60\x58\0\0\ -\0\0\0\x7b\x60\x50\0\0\0\0\0\x7b\x60\x48\0\0\0\0\0\x7b\x60\x40\0\0\0\0\0\x7b\ -\x60\x38\0\0\0\0\0\x7b\x60\x30\0\0\0\0\0\x7b\x60\x28\0\0\0\0\0\x7b\x60\x20\0\0\ -\0\0\0\x7b\x60\x18\0\0\0\0\0\x7b\x60\x10\0\0\0\0\0\x7b\x60\x08\0\0\0\0\0\x7b\ -\x60\0\0\0\0\0\0\x79\x91\0\0\0\0\0\0\x7b\x10\0\0\0\0\0\0\x79\x91\x08\0\0\0\0\0\ -\x7b\x10\x08\0\0\0\0\0\x79\x91\x10\0\0\0\0\0\x7b\x10\x10\0\0\0\0\0\x61\x91\x18\ -\0\0\0\0\0\x63\x10\x18\0\0\0\0\0\x79\x91\x50\0\0\0\0\0\x79\xa6\x38\xff\0\0\0\0\ -\xbf\x62\0\0\0\0\0\0\x1f\x12\0\0\0\0\0\0\x27\x02\0\0\x0a\0\0\0\x37\x02\0\0\0\ -\x65\xcd\x1d\x79\x91\x30\0\0\0\0\0\xbf\x13\0\0\0\0\0\0\x2f\x23\0\0\0\0\0\0\x27\ -\x03\0\0\x64\0\0\0\x37\x03\0\0\0\x65\xcd\x1d\x63\x30\x68\0\0\0\0\0\x79\x92\x28\ -\0\0\0\0\0\x3f\x12\0\0\0\0\0\0\x63\x20\x64\0\0\0\0\0\x79\x92\x20\0\0\0\0\0\x3f\ -\x12\0\0\0\0\0\0\x63\x20\x60\0\0\0\0\0\xbf\x01\0\0\0\0\0\0\xb7\x02\0\0\0\0\0\0\ -\x85\0\0\0\x84\0\0\0\xb7\x01\0\0\x01\0\0\0\x73\x19\x1e\0\0\0\0\0\x79\x91\x58\0\ -\0\0\0\0\x15\x01\x04\0\0\0\0\0\xbf\x62\0\0\0\0\0\0\x1f\x12\0\0\0\0\0\0\xb7\x01\ -\0\0\x01\xf2\x05\x2a\x2d\x21\xfd\0\0\0\0\0\x61\xa6\xc0\xff\0\0\0\0\x63\x6a\x50\ -\xff\0\0\0\0\x85\0\0\0\x05\0\0\0\x15\x06\xf7\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\ -\x02\0\0\x50\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\ -\0\x15\0\xf1\0\0\0\0\0\x7b\x0a\x30\xff\0\0\0\0\xb7\x06\0\0\0\0\0\0\x18\x01\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x02\0\0\x60\x01\0\0\xb7\x03\0\0\0\0\0\0\x85\0\0\0\ -\x83\0\0\0\x55\0\x05\0\0\0\0\0\x18\x01\0\0\x87\0\0\0\0\0\0\0\0\0\0\0\xb7\x02\0\ -\0\x20\0\0\0\x85\0\0\0\x06\0\0\0\x05\0\xe4\0\0\0\0\0\x7b\x60\x58\x01\0\0\0\0\ -\x7b\x60\x50\x01\0\0\0\0\x7b\x60\x48\x01\0\0\0\0\x7b\x60\x40\x01\0\0\0\0\x7b\ -\x60\x38\x01\0\0\0\0\x7b\x60\x30\x01\0\0\0\0\x7b\x60\x28\x01\0\0\0\0\x7b\x60\ -\x20\x01\0\0\0\0\x7b\x60\x18\x01\0\0\0\0\x7b\x60\x10\x01\0\0\0\0\x7b\x60\x08\ -\x01\0\0\0\0\x7b\x60\0\x01\0\0\0\0\x7b\x60\xf8\0\0\0\0\0\x7b\x60\xf0\0\0\0\0\0\ -\x7b\x60\xe8\0\0\0\0\0\x7b\x60\xe0\0\0\0\0\0\x7b\x60\xd8\0\0\0\0\0\x7b\x60\xd0\ -\0\0\0\0\0\x7b\x60\xc8\0\0\0\0\0\x7b\x60\xc0\0\0\0\0\0\x7b\x60\xb8\0\0\0\0\0\ -\x7b\x60\xb0\0\0\0\0\0\x7b\x60\xa8\0\0\0\0\0\x7b\x60\xa0\0\0\0\0\0\x7b\x60\x98\ -\0\0\0\0\0\x7b\x60\x90\0\0\0\0\0\x7b\x60\x88\0\0\0\0\0\x7b\x60\x80\0\0\0\0\0\ -\x7b\x60\x78\0\0\0\0\0\x7b\x60\x70\0\0\0\0\0\x7b\x60\x68\0\0\0\0\0\x7b\x60\x60\ -\0\0\0\0\0\x7b\x60\x58\0\0\0\0\0\x7b\x60\x50\0\0\0\0\0\x7b\x60\x48\0\0\0\0\0\ -\x7b\x60\x40\0\0\0\0\0\x7b\x60\x38\0\0\0\0\0\x7b\x60\x30\0\0\0\0\0\x7b\x60\x28\ -\0\0\0\0\0\x7b\x60\x20\0\0\0\0\0\x7b\x60\x18\0\0\0\0\0\x7b\x60\x10\0\0\0\0\0\ -\x7b\x60\x08\0\0\0\0\0\x7b\x60\0\0\0\0\0\0\x61\xa1\x50\xff\0\0\0\0\x63\x10\0\0\ -\0\0\0\0\xbf\x01\0\0\0\0\0\0\x07\x01\0\0\x04\0\0\0\x79\xa3\x30\xff\0\0\0\0\x07\ -\x03\0\0\x04\0\0\0\xb7\x02\0\0\x10\0\0\0\x7b\x0a\x28\xff\0\0\0\0\x85\0\0\0\x2d\ -\0\0\0\x79\xa1\x28\xff\0\0\0\0\x79\xa5\x30\xff\0\0\0\0\x61\x52\x14\0\0\0\0\0\ -\x63\x21\x14\0\0\0\0\0\x61\x52\x18\0\0\0\0\0\x63\x21\x18\0\0\0\0\0\x61\x54\x14\ -\0\0\0\0\0\xbf\x42\0\0\0\0\0\0\x67\x02\0\0\x20\0\0\0\xbf\x23\0\0\0\0\0\0\xc7\ -\x03\0\0\x20\0\0\0\x6d\x36\x4d\0\0\0\0\0\x79\x53\x20\0\0\0\0\0\x7b\x31\x20\0\0\ -\0\0\0\x77\x02\0\0\x20\0\0\0\x15\x02\x49\0\0\0\0\0\x79\x52\x28\0\0\0\0\0\x7b\ -\x21\x28\0\0\0\0\0\xbf\x42\0\0\0\0\0\0\x15\x02\x45\0\x01\0\0\0\x79\x53\x30\0\0\ -\0\0\0\x7b\x31\x30\0\0\0\0\0\x15\x02\x42\0\x02\0\0\0\x79\x52\x38\0\0\0\0\0\x7b\ -\x21\x38\0\0\0\0\0\xbf\x42\0\0\0\0\0\0\xb7\x03\0\0\x04\0\0\0\x2d\x23\x3d\0\0\0\ -\0\0\x79\x53\x40\0\0\0\0\0\x7b\x31\x40\0\0\0\0\0\x15\x02\x3a\0\x04\0\0\0\x79\ -\x52\x48\0\0\0\0\0\x7b\x21\x48\0\0\0\0\0\xbf\x42\0\0\0\0\0\0\xb7\x03\0\0\x06\0\ -\0\0\x2d\x23\x35\0\0\0\0\0\x79\x53\x50\0\0\0\0\0\x7b\x31\x50\0\0\0\0\0\x15\x02\ -\x32\0\x06\0\0\0\x79\x52\x58\0\0\0\0\0\x7b\x21\x58\0\0\0\0\0\xbf\x42\0\0\0\0\0\ -\0\xb7\x03\0\0\x08\0\0\0\x2d\x23\x2d\0\0\0\0\0\x79\x53\x60\0\0\0\0\0\x7b\x31\ -\x60\0\0\0\0\0\x15\x02\x2a\0\x08\0\0\0\x79\x52\x68\0\0\0\0\0\x7b\x21\x68\0\0\0\ -\0\0\xbf\x42\0\0\0\0\0\0\xb7\x03\0\0\x0a\0\0\0\x2d\x23\x25\0\0\0\0\0\x79\x53\ -\x70\0\0\0\0\0\x7b\x31\x70\0\0\0\0\0\x15\x02\x22\0\x0a\0\0\0\x79\x52\x78\0\0\0\ -\0\0\x7b\x21\x78\0\0\0\0\0\xbf\x42\0\0\0\0\0\0\xb7\x03\0\0\x0c\0\0\0\x2d\x23\ -\x1d\0\0\0\0\0\x79\x53\x80\0\0\0\0\0\x7b\x31\x80\0\0\0\0\0\x15\x02\x1a\0\x0c\0\ -\0\0\x79\x52\x88\0\0\0\0\0\x7b\x21\x88\0\0\0\0\0\xbf\x42\0\0\0\0\0\0\xb7\x03\0\ -\0\x0e\0\0\0\x2d\x23\x15\0\0\0\0\0\x79\x53\x90\0\0\0\0\0\x7b\x31\x90\0\0\0\0\0\ -\x15\x02\x12\0\x0e\0\0\0\x79\x52\x98\0\0\0\0\0\x7b\x21\x98\0\0\0\0\0\xbf\x42\0\ -\0\0\0\0\0\xb7\x03\0\0\x10\0\0\0\x2d\x23\x0d\0\0\0\0\0\x79\x53\xa0\0\0\0\0\0\ -\x7b\x31\xa0\0\0\0\0\0\x15\x02\x0a\0\x10\0\0\0\x79\x52\xa8\0\0\0\0\0\x7b\x21\ -\xa8\0\0\0\0\0\xbf\x43\0\0\0\0\0\0\xb7\x02\0\0\x12\0\0\0\x2d\x32\x05\0\0\0\0\0\ -\x79\x52\xb0\0\0\0\0\0\x7b\x21\xb0\0\0\0\0\0\x15\x03\x02\0\x12\0\0\0\x79\x52\ -\xb8\0\0\0\0\0\x7b\x21\xb8\0\0\0\0\0\x61\x50\x18\0\0\0\0\0\xbf\x02\0\0\0\0\0\0\ -\x67\x02\0\0\x20\0\0\0\xbf\x23\0\0\0\0\0\0\xc7\x03\0\0\x20\0\0\0\xb7\x04\0\0\0\ -\0\0\0\x6d\x34\x4d\0\0\0\0\0\x79\x53\xc0\0\0\0\0\0\x7b\x31\xc0\0\0\0\0\0\x77\ -\x02\0\0\x20\0\0\0\x15\x02\x49\0\0\0\0\0\x79\x52\xc8\0\0\0\0\0\x7b\x21\xc8\0\0\ -\0\0\0\xbf\x02\0\0\0\0\0\0\x15\x02\x45\0\x01\0\0\0\x79\x53\xd0\0\0\0\0\0\x7b\ -\x31\xd0\0\0\0\0\0\x15\x02\x42\0\x02\0\0\0\x79\x52\xd8\0\0\0\0\0\x7b\x21\xd8\0\ -\0\0\0\0\xbf\x02\0\0\0\0\0\0\xb7\x03\0\0\x04\0\0\0\x2d\x23\x3d\0\0\0\0\0\x79\ -\x53\xe0\0\0\0\0\0\x7b\x31\xe0\0\0\0\0\0\x15\x02\x3a\0\x04\0\0\0\x79\x52\xe8\0\ -\0\0\0\0\x7b\x21\xe8\0\0\0\0\0\xbf\x02\0\0\0\0\0\0\xb7\x03\0\0\x06\0\0\0\x2d\ -\x23\x35\0\0\0\0\0\x79\x53\xf0\0\0\0\0\0\x7b\x31\xf0\0\0\0\0\0\x15\x02\x32\0\ -\x06\0\0\0\x79\x52\xf8\0\0\0\0\0\x7b\x21\xf8\0\0\0\0\0\xbf\x02\0\0\0\0\0\0\xb7\ -\x03\0\0\x08\0\0\0\x2d\x23\x2d\0\0\0\0\0\x79\x53\0\x01\0\0\0\0\x7b\x31\0\x01\0\ -\0\0\0\x15\x02\x2a\0\x08\0\0\0\x79\x52\x08\x01\0\0\0\0\x7b\x21\x08\x01\0\0\0\0\ -\xbf\x02\0\0\0\0\0\0\xb7\x03\0\0\x0a\0\0\0\x2d\x23\x25\0\0\0\0\0\x79\x53\x10\ -\x01\0\0\0\0\x7b\x31\x10\x01\0\0\0\0\x15\x02\x22\0\x0a\0\0\0\x79\x52\x18\x01\0\ -\0\0\0\x7b\x21\x18\x01\0\0\0\0\xbf\x02\0\0\0\0\0\0\xb7\x03\0\0\x0c\0\0\0\x2d\ -\x23\x1d\0\0\0\0\0\x79\x53\x20\x01\0\0\0\0\x7b\x31\x20\x01\0\0\0\0\x15\x02\x1a\ -\0\x0c\0\0\0\x79\x52\x28\x01\0\0\0\0\x7b\x21\x28\x01\0\0\0\0\xbf\x02\0\0\0\0\0\ -\0\xb7\x03\0\0\x0e\0\0\0\x2d\x23\x15\0\0\0\0\0\x79\x53\x30\x01\0\0\0\0\x7b\x31\ -\x30\x01\0\0\0\0\x15\x02\x12\0\x0e\0\0\0\x79\x52\x38\x01\0\0\0\0\x7b\x21\x38\ -\x01\0\0\0\0\xbf\x02\0\0\0\0\0\0\xb7\x03\0\0\x10\0\0\0\x2d\x23\x0d\0\0\0\0\0\ -\x79\x53\x40\x01\0\0\0\0\x7b\x31\x40\x01\0\0\0\0\x15\x02\x0a\0\x10\0\0\0\x79\ -\x52\x48\x01\0\0\0\0\x7b\x21\x48\x01\0\0\0\0\xbf\x03\0\0\0\0\0\0\xb7\x02\0\0\ -\x12\0\0\0\x2d\x32\x05\0\0\0\0\0\x79\x52\x50\x01\0\0\0\0\x7b\x21\x50\x01\0\0\0\ -\0\x15\x03\x02\0\x12\0\0\0\x79\x52\x58\x01\0\0\0\0\x7b\x21\x58\x01\0\0\0\0\xb7\ -\x02\0\0\0\0\0\0\x85\0\0\0\x84\0\0\0\x79\xa1\x38\xff\0\0\0\0\x7b\x19\x58\0\0\0\ -\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xc0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\xbf\x93\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\x61\x91\ -\x04\0\0\0\0\0\x15\x01\x05\0\0\0\0\0\x79\xa2\x40\xff\0\0\0\0\x79\x24\x18\0\0\0\ -\0\0\xbf\x72\0\0\0\0\0\0\xb7\x03\0\0\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\x79\ -\xa1\x48\xff\0\0\0\0\x7b\x19\x38\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\ -\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x93\0\0\0\0\0\0\xb7\x04\0\ -\0\0\0\0\0\x85\0\0\0\x02\0\0\0\x61\xa6\xf8\xff\0\0\0\0\x67\x06\0\0\x20\0\0\0\ -\x77\x06\0\0\x20\0\0\0\x79\xa7\x40\xff\0\0\0\0\x15\x06\x7e\0\0\0\0\0\xbf\xa2\0\ -\0\0\0\0\0\x07\x02\0\0\xf8\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\ -\0\0\0\x01\0\0\0\xbf\x09\0\0\0\0\0\0\x55\x09\x2e\0\0\0\0\0\xb7\x01\0\0\0\0\0\0\ -\x7b\x1a\xb8\xff\0\0\0\0\x7b\x1a\xb0\xff\0\0\0\0\x7b\x1a\xa8\xff\0\0\0\0\x7b\ -\x1a\xa0\xff\0\0\0\0\x7b\x1a\x98\xff\0\0\0\0\x7b\x1a\x90\xff\0\0\0\0\x7b\x1a\ -\x88\xff\0\0\0\0\x7b\x1a\x80\xff\0\0\0\0\x7b\x1a\x78\xff\0\0\0\0\x7b\x1a\x70\ -\xff\0\0\0\0\x7b\x1a\x68\xff\0\0\0\0\x61\xa2\xf8\xff\0\0\0\0\x63\x2a\xc0\xff\0\ -\0\0\0\x61\xa2\xf4\xff\0\0\0\0\x63\x2a\xc8\xff\0\0\0\0\x63\x1a\xc4\xff\0\0\0\0\ -\x63\x1a\xd0\xff\0\0\0\0\x63\x1a\xcc\xff\0\0\0\0\x63\x1a\xd8\xff\0\0\0\0\x63\ -\x1a\xd4\xff\0\0\0\0\xb7\x01\0\0\x28\0\0\0\x0f\x18\0\0\0\0\0\0\xbf\xa1\0\0\0\0\ -\0\0\x07\x01\0\0\xcc\xff\xff\xff\xb7\x02\0\0\x10\0\0\0\xbf\x83\0\0\0\0\0\0\x85\ -\0\0\0\x73\0\0\0\x79\xa1\x48\xff\0\0\0\0\x7b\x1a\xa0\xff\0\0\0\0\x7b\x1a\x88\ -\xff\0\0\0\0\x79\xa1\xc0\xff\0\0\0\0\x7b\x1a\x50\xff\0\0\0\0\x79\xa1\xc8\xff\0\ -\0\0\0\x7b\x1a\x58\xff\0\0\0\0\x79\xa1\xd0\xff\0\0\0\0\x7b\x1a\x60\xff\0\0\0\0\ -\x61\xa1\xd8\xff\0\0\0\0\x63\x1a\x68\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\ -\0\xf8\xff\xff\xff\xbf\xa3\0\0\0\0\0\0\x07\x03\0\0\x50\xff\xff\xff\x18\x01\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\x47\0\0\0\0\0\x61\xa1\xf8\xff\0\0\0\0\x63\x19\0\ -\0\0\0\0\0\x79\x92\x40\0\0\0\0\0\x79\xa1\x48\xff\0\0\0\0\x1f\x21\0\0\0\0\0\0\ -\x7b\x19\x48\0\0\0\0\0\x25\x01\x02\0\xe7\x03\0\0\xb7\x01\0\0\0\0\0\0\x05\0\x13\ -\0\0\0\0\0\x25\x01\x02\0\x87\x13\0\0\xb7\x01\0\0\x01\0\0\0\x05\0\x10\0\0\0\0\0\ -\x25\x01\x02\0\x67\x42\0\0\xb7\x01\0\0\x02\0\0\0\x05\0\x0d\0\0\0\0\0\x25\x01\ -\x02\0\xe7\xfd\0\0\xb7\x01\0\0\x03\0\0\0\x05\0\x0a\0\0\0\0\0\x25\x01\x02\0\xe7\ -\xeb\x03\0\xb7\x01\0\0\x04\0\0\0\x05\0\x07\0\0\0\0\0\x25\x01\x02\0\x3f\x42\x0f\ -\0\xb7\x01\0\0\x05\0\0\0\x05\0\x04\0\0\0\0\0\x25\x01\x02\0\xff\x08\x3d\0\xb7\ -\x01\0\0\x06\0\0\0\x05\0\x01\0\0\0\0\0\xb7\x01\0\0\x07\0\0\0\x63\x1a\x50\xff\0\ -\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\x50\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\x55\0\x07\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\ -\x02\0\0\x50\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x18\x03\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\x05\0\x08\0\0\0\0\0\x61\x01\0\0\0\0\0\0\x07\x01\0\0\x01\0\0\ -\0\x63\x10\0\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\x50\xff\xff\xff\x18\x01\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x03\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\ -\x02\0\0\0\x79\x74\x18\0\0\0\0\0\x79\x91\x38\0\0\0\0\0\x3d\x41\x09\0\0\0\0\0\ -\xb7\x01\0\0\0\0\0\0\x7b\x19\x30\0\0\0\0\0\x7b\x19\x28\0\0\0\0\0\x7b\x19\x20\0\ -\0\0\0\0\x61\x91\x04\0\0\0\0\0\x15\x01\x03\0\0\0\0\0\xb7\x02\0\0\0\0\0\0\xb7\ -\x03\0\0\x01\0\0\0\x85\x10\0\0\xff\xff\xff\xff\x79\xa1\x48\xff\0\0\0\0\x7b\x19\ -\x38\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf8\xff\xff\xff\x18\x01\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\xbf\x93\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\ -\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf4\xff\xff\xff\xb7\x09\0\0\0\0\0\0\x18\x01\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x73\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\ -\x02\0\0\0\xbf\x90\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\xbf\x16\0\0\0\0\0\0\x61\x61\ -\x18\0\0\0\0\0\x63\x1a\xfc\xff\0\0\0\0\x15\x01\x69\0\0\0\0\0\xbf\xa2\0\0\0\0\0\ -\0\x07\x02\0\0\xfc\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\ -\x01\0\0\0\x15\0\x63\0\0\0\0\0\xbf\x61\0\0\0\0\0\0\x18\x02\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\xb7\x03\0\0\0\x04\0\0\x85\0\0\0\x1b\0\0\0\xbf\x07\0\0\0\0\0\0\xbf\x71\ -\0\0\0\0\0\0\x67\x01\0\0\x20\0\0\0\xc7\x01\0\0\x20\0\0\0\x65\x01\x06\0\xff\xff\ -\xff\xff\x18\x01\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\xb7\x02\0\0\x22\0\0\0\xbf\x73\0\ -\0\0\0\0\0\x85\0\0\0\x06\0\0\0\x05\0\x53\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\ -\0\0\xfc\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\ -\x55\0\x1a\0\0\0\0\0\x61\xa1\xfc\xff\0\0\0\0\x63\x1a\x98\xfe\0\0\0\0\xbf\xa2\0\ -\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\ -\0\0\0\x01\0\0\0\x15\0\x06\0\0\0\0\0\x07\0\0\0\x0c\0\0\0\xbf\xa1\0\0\0\0\0\0\ -\x07\x01\0\0\x9c\xfe\xff\xff\xb7\x02\0\0\x10\0\0\0\xbf\x03\0\0\0\0\0\0\x85\0\0\ -\0\x73\0\0\0\xb7\x01\0\0\0\0\0\0\x63\x1a\xb0\xfe\0\0\0\0\x63\x1a\xac\xfe\0\0\0\ -\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\xbf\xa3\0\0\0\0\0\0\x07\x03\ -\0\0\x98\xfe\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\ -\x85\0\0\0\x02\0\0\0\x05\0\x05\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\ -\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\xbf\xa2\0\ -\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\ -\0\0\0\x01\0\0\0\xbf\x08\0\0\0\0\0\0\x55\x08\x05\0\0\0\0\0\x18\x01\0\0\x2a\0\0\ -\0\0\0\0\0\0\0\0\0\xb7\x02\0\0\x1e\0\0\0\x85\0\0\0\x06\0\0\0\x05\0\x22\0\0\0\0\ -\0\x63\x78\x14\0\0\0\0\0\x67\x07\0\0\x20\0\0\0\x15\x07\x06\0\0\0\0\0\xbf\x81\0\ -\0\0\0\0\0\x07\x01\0\0\x20\0\0\0\xc7\x07\0\0\x1d\0\0\0\xb7\x02\0\0\xa0\0\0\0\ -\xbf\x73\0\0\0\0\0\0\x85\0\0\0\x71\0\0\0\xbf\x61\0\0\0\0\0\0\x18\x02\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\xb7\x03\0\0\0\x05\0\0\x85\0\0\0\x1b\0\0\0\xbf\x03\0\0\0\0\0\ -\0\x67\x03\0\0\x20\0\0\0\xbf\x31\0\0\0\0\0\0\xc7\x01\0\0\x20\0\0\0\xb7\x02\0\0\ -\0\0\0\0\x6d\x12\x07\0\0\0\0\0\x63\x08\x18\0\0\0\0\0\x15\x03\x05\0\0\0\0\0\xbf\ -\x81\0\0\0\0\0\0\x07\x01\0\0\xc0\0\0\0\xc7\x03\0\0\x1d\0\0\0\xb7\x02\0\0\xa0\0\ -\0\0\x85\0\0\0\x71\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\x18\ -\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x83\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\ -\0\0\x02\0\0\0\xb7\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\x61\x12\x0c\0\0\0\0\0\x63\ -\x2a\xfc\xff\0\0\0\0\x61\x17\x08\0\0\0\0\0\x85\0\0\0\x05\0\0\0\xbf\x06\0\0\0\0\ -\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\x85\0\0\0\x01\0\0\0\x55\0\x23\0\0\0\0\0\xb7\x07\0\0\0\0\0\0\x7b\x7a\ -\xf0\xff\0\0\0\0\x7b\x7a\xe8\xff\0\0\0\0\x7b\x7a\xe0\xff\0\0\0\0\x7b\x7a\xd8\ -\xff\0\0\0\0\x7b\x7a\xd0\xff\0\0\0\0\x7b\x7a\xc8\xff\0\0\0\0\x7b\x7a\xc0\xff\0\ -\0\0\0\x7b\x7a\xb8\xff\0\0\0\0\x7b\x7a\xb0\xff\0\0\0\0\x7b\x7a\xa8\xff\0\0\0\0\ -\xbf\xa6\0\0\0\0\0\0\x07\x06\0\0\xfc\xff\xff\xff\xbf\xa3\0\0\0\0\0\0\x07\x03\0\ -\0\xa8\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x62\0\0\0\0\0\0\xb7\ -\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\xb7\x01\0\0\0\x65\xcd\x1d\x7b\x1a\x98\xff\ -\0\0\0\0\x7b\x7a\x78\xff\0\0\0\0\x61\xa1\xfc\xff\0\0\0\0\x63\x1a\x78\xff\0\0\0\ -\0\x7b\x7a\xa0\xff\0\0\0\0\x7b\x7a\x90\xff\0\0\0\0\x7b\x7a\x88\xff\0\0\0\0\x7b\ -\x7a\x80\xff\0\0\0\0\xbf\xa3\0\0\0\0\0\0\x07\x03\0\0\x78\xff\xff\xff\x18\x01\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x62\0\0\0\0\0\0\x05\0\x11\0\0\0\0\0\xbf\x71\0\0\ -\0\0\0\0\x18\x02\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\x5d\x21\x07\0\0\0\0\0\x79\ -\x01\0\0\0\0\0\0\x15\x01\x0d\0\0\0\0\0\x1f\x16\0\0\0\0\0\0\x79\x01\x30\0\0\0\0\ -\0\x0f\x16\0\0\0\0\0\0\x7b\x60\x30\0\0\0\0\0\x05\0\x01\0\0\0\0\0\x7b\x60\0\0\0\ -\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\xbf\x03\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\xb7\0\ -\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\x85\0\0\0\x23\0\0\0\xbf\x06\0\0\0\0\0\0\xb7\x01\ -\0\0\x78\x05\0\0\xbf\x63\0\0\0\0\0\0\x0f\x13\0\0\0\0\0\0\xbf\xa1\0\0\0\0\0\0\ -\x07\x01\0\0\x68\xff\xff\xff\xb7\x02\0\0\x04\0\0\0\x85\0\0\0\x71\0\0\0\x61\xa7\ -\x68\xff\0\0\0\0\x63\x7a\xf8\xff\0\0\0\0\xb7\x01\0\0\x7c\x05\0\0\xbf\x63\0\0\0\ -\0\0\0\x0f\x13\0\0\0\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\x68\xff\xff\xff\xb7\ -\x02\0\0\x04\0\0\0\x85\0\0\0\x71\0\0\0\x15\x07\x78\0\0\0\0\0\x61\xa8\x68\xff\0\ -\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf8\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\xbf\x07\0\0\0\0\0\0\x55\x07\x41\0\0\0\0\0\x85\ -\0\0\0\x08\0\0\0\xbf\x07\0\0\0\0\0\0\xb7\x01\0\0\x78\x05\0\0\xbf\x63\0\0\0\0\0\ -\0\x0f\x13\0\0\0\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\xd8\xff\xff\xff\xb7\x02\ -\0\0\x04\0\0\0\x85\0\0\0\x71\0\0\0\xb7\x01\0\0\x7c\x05\0\0\xbf\x63\0\0\0\0\0\0\ -\x0f\x13\0\0\0\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\x68\xff\xff\xff\xb7\x02\0\ -\0\x04\0\0\0\x85\0\0\0\x71\0\0\0\x63\x7a\xe0\xff\0\0\0\0\x61\xa1\x68\xff\0\0\0\ -\0\x63\x1a\xdc\xff\0\0\0\0\xb7\x01\0\0\x88\x07\0\0\x0f\x16\0\0\0\0\0\0\xb7\x08\ -\0\0\0\0\0\0\x63\x8a\xe8\xff\0\0\0\0\x63\x8a\xe4\xff\0\0\0\0\x63\x8a\xf0\xff\0\ -\0\0\0\x63\x8a\xec\xff\0\0\0\0\xbf\xa7\0\0\0\0\0\0\x07\x07\0\0\x68\xff\xff\xff\ -\xbf\x71\0\0\0\0\0\0\xb7\x02\0\0\x10\0\0\0\xbf\x63\0\0\0\0\0\0\x85\0\0\0\x71\0\ -\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\xe4\xff\xff\xff\xb7\x02\0\0\x10\0\0\0\xbf\ -\x73\0\0\0\0\0\0\x85\0\0\0\x73\0\0\0\x61\xa1\xf0\xff\0\0\0\0\x63\x1a\x80\xff\0\ -\0\0\0\x79\xa1\xe8\xff\0\0\0\0\x7b\x1a\x78\xff\0\0\0\0\x79\xa1\xe0\xff\0\0\0\0\ -\x7b\x1a\x70\xff\0\0\0\0\x79\xa1\xd8\xff\0\0\0\0\x7b\x1a\x68\xff\0\0\0\0\xb7\ -\x01\0\0\x01\0\0\0\x6b\x1a\x84\xff\0\0\0\0\x7b\x8a\x88\xff\0\0\0\0\x73\x8a\x86\ -\xff\0\0\0\0\x7b\x8a\x90\xff\0\0\0\0\x7b\x8a\x98\xff\0\0\0\0\x7b\x8a\xa0\xff\0\ -\0\0\0\x7b\x8a\xa8\xff\0\0\0\0\x7b\x8a\xb0\xff\0\0\0\0\x7b\x8a\xb8\xff\0\0\0\0\ -\x7b\x8a\xc0\xff\0\0\0\0\x7b\x8a\xc8\xff\0\0\0\0\x63\x8a\xd0\xff\0\0\0\0\xbf\ -\xa2\0\0\0\0\0\0\x07\x02\0\0\xf8\xff\xff\xff\xbf\xa3\0\0\0\0\0\0\x07\x03\0\0\ -\x68\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\x2d\0\0\0\0\0\x61\ -\x71\x04\0\0\0\0\0\x55\x01\x24\0\0\0\0\0\x63\x87\x04\0\0\0\0\0\x61\xa6\xf8\xff\ -\0\0\0\0\x63\x8a\xfc\xff\0\0\0\0\xbf\x81\0\0\0\0\0\0\x15\x01\x1f\0\0\0\0\0\xbf\ -\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\x85\0\0\0\x01\0\0\0\x55\0\x0f\0\0\0\0\0\xbf\x63\0\0\0\0\0\0\xb7\x02\0\0\x01\ -\0\0\0\x61\xa1\xfc\xff\0\0\0\0\x1d\x31\x01\0\0\0\0\0\xb7\x02\0\0\x02\0\0\0\x63\ -\x1a\xd8\xff\0\0\0\0\x63\x2a\x6c\xff\0\0\0\0\x63\x1a\x68\xff\0\0\0\0\xbf\xa2\0\ -\0\0\0\0\0\x07\x02\0\0\xd8\xff\xff\xff\xbf\xa3\0\0\0\0\0\0\x07\x03\0\0\x68\xff\ -\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\x08\0\0\0\0\0\x61\x01\x04\0\ -\0\0\0\0\x07\x01\0\0\x01\0\0\0\x63\x10\x04\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\ -\x02\0\0\xfc\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x03\0\0\0\0\0\ -\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\xb7\x01\0\0\x01\0\0\0\x73\x17\x1c\0\ -\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf8\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\xbf\x73\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\xb7\ -\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\x85\0\0\0\x23\0\0\0\xbf\x06\0\0\0\0\0\0\xb7\ -\x01\0\0\x78\x05\0\0\xbf\x63\0\0\0\0\0\0\x0f\x13\0\0\0\0\0\0\xbf\xa1\0\0\0\0\0\ -\0\x07\x01\0\0\x68\xff\xff\xff\xb7\x02\0\0\x04\0\0\0\x85\0\0\0\x71\0\0\0\x61\ -\xa7\x68\xff\0\0\0\0\x63\x7a\xf8\xff\0\0\0\0\xb7\x01\0\0\x7c\x05\0\0\xbf\x63\0\ -\0\0\0\0\0\x0f\x13\0\0\0\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\x68\xff\xff\xff\ -\xb7\x02\0\0\x04\0\0\0\x85\0\0\0\x71\0\0\0\x15\x07\x77\0\0\0\0\0\x61\xa8\x68\ -\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf8\xff\xff\xff\x18\x01\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\xbf\x07\0\0\0\0\0\0\x55\x07\x40\0\0\0\0\ -\0\x85\0\0\0\x08\0\0\0\xbf\x07\0\0\0\0\0\0\xb7\x01\0\0\x78\x05\0\0\xbf\x63\0\0\ -\0\0\0\0\x0f\x13\0\0\0\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\xd8\xff\xff\xff\ -\xb7\x02\0\0\x04\0\0\0\x85\0\0\0\x71\0\0\0\xb7\x01\0\0\x7c\x05\0\0\xbf\x63\0\0\ -\0\0\0\0\x0f\x13\0\0\0\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\x68\xff\xff\xff\ -\xb7\x02\0\0\x04\0\0\0\x85\0\0\0\x71\0\0\0\x63\x7a\xe0\xff\0\0\0\0\x61\xa1\x68\ -\xff\0\0\0\0\x63\x1a\xdc\xff\0\0\0\0\xb7\x01\0\0\x88\x07\0\0\x0f\x16\0\0\0\0\0\ -\0\xb7\x08\0\0\0\0\0\0\x63\x8a\xe8\xff\0\0\0\0\x63\x8a\xe4\xff\0\0\0\0\x63\x8a\ -\xf0\xff\0\0\0\0\x63\x8a\xec\xff\0\0\0\0\xbf\xa7\0\0\0\0\0\0\x07\x07\0\0\x68\ -\xff\xff\xff\xbf\x71\0\0\0\0\0\0\xb7\x02\0\0\x10\0\0\0\xbf\x63\0\0\0\0\0\0\x85\ -\0\0\0\x71\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\xe4\xff\xff\xff\xb7\x02\0\0\ -\x10\0\0\0\xbf\x73\0\0\0\0\0\0\x85\0\0\0\x73\0\0\0\x61\xa1\xf0\xff\0\0\0\0\x63\ -\x1a\x80\xff\0\0\0\0\x79\xa1\xe8\xff\0\0\0\0\x7b\x1a\x78\xff\0\0\0\0\x79\xa1\ -\xe0\xff\0\0\0\0\x7b\x1a\x70\xff\0\0\0\0\x79\xa1\xd8\xff\0\0\0\0\x7b\x1a\x68\ -\xff\0\0\0\0\x7b\x8a\x88\xff\0\0\0\0\x73\x8a\x86\xff\0\0\0\0\x6b\x8a\x84\xff\0\ -\0\0\0\x7b\x8a\x90\xff\0\0\0\0\x7b\x8a\x98\xff\0\0\0\0\x7b\x8a\xa0\xff\0\0\0\0\ -\x7b\x8a\xa8\xff\0\0\0\0\x7b\x8a\xb0\xff\0\0\0\0\x7b\x8a\xb8\xff\0\0\0\0\x7b\ -\x8a\xc0\xff\0\0\0\0\x7b\x8a\xc8\xff\0\0\0\0\x63\x8a\xd0\xff\0\0\0\0\xbf\xa2\0\ -\0\0\0\0\0\x07\x02\0\0\xf8\xff\xff\xff\xbf\xa3\0\0\0\0\0\0\x07\x03\0\0\x68\xff\ -\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\x2d\0\0\0\0\0\x61\x71\x04\0\ -\0\0\0\0\x55\x01\x24\0\0\0\0\0\x63\x87\x04\0\0\0\0\0\x61\xa6\xf8\xff\0\0\0\0\ -\x63\x8a\xfc\xff\0\0\0\0\xbf\x81\0\0\0\0\0\0\x15\x01\x1f\0\0\0\0\0\xbf\xa2\0\0\ -\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\ -\0\0\x01\0\0\0\x55\0\x0f\0\0\0\0\0\xbf\x63\0\0\0\0\0\0\xb7\x02\0\0\x01\0\0\0\ -\x61\xa1\xfc\xff\0\0\0\0\x1d\x31\x01\0\0\0\0\0\xb7\x02\0\0\x02\0\0\0\x63\x1a\ -\xd8\xff\0\0\0\0\x63\x2a\x6c\xff\0\0\0\0\x63\x1a\x68\xff\0\0\0\0\xbf\xa2\0\0\0\ -\0\0\0\x07\x02\0\0\xd8\xff\xff\xff\xbf\xa3\0\0\0\0\0\0\x07\x03\0\0\x68\xff\xff\ -\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\x08\0\0\0\0\0\x61\x01\x04\0\0\0\ -\0\0\x07\x01\0\0\x01\0\0\0\x63\x10\x04\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\ -\0\xfc\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x03\0\0\0\0\0\0\xb7\ -\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\xb7\x01\0\0\0\0\0\0\x73\x17\x1c\0\0\0\0\0\ -\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf8\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\xbf\x73\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\xb7\0\0\0\0\ -\0\0\0\x95\0\0\0\0\0\0\0\x85\0\0\0\x08\0\0\0\x63\x0a\x74\xff\0\0\0\0\xbf\xa2\0\ -\0\0\0\0\0\x07\x02\0\0\x74\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\ -\0\0\0\x01\0\0\0\xbf\x06\0\0\0\0\0\0\x55\x06\x33\0\0\0\0\0\x61\xa1\x74\xff\0\0\ -\0\0\x63\x1a\xfc\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\ -\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\x15\0\x24\0\0\0\0\0\ -\xb7\x07\0\0\0\0\0\0\x7b\x7a\xf0\xff\0\0\0\0\x7b\x7a\xe8\xff\0\0\0\0\x7b\x7a\ -\xe0\xff\0\0\0\0\x7b\x7a\xd8\xff\0\0\0\0\x7b\x7a\xd0\xff\0\0\0\0\x7b\x7a\xc8\ -\xff\0\0\0\0\x7b\x7a\xc0\xff\0\0\0\0\x7b\x7a\xb8\xff\0\0\0\0\x7b\x7a\xb0\xff\0\ -\0\0\0\x7b\x7a\xa8\xff\0\0\0\0\xbf\xa6\0\0\0\0\0\0\x07\x06\0\0\xfc\xff\xff\xff\ -\xbf\xa3\0\0\0\0\0\0\x07\x03\0\0\xa8\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\xbf\x62\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\xb7\x01\0\0\ -\0\x65\xcd\x1d\x7b\x1a\x98\xff\0\0\0\0\x7b\x7a\x78\xff\0\0\0\0\x61\xa1\xfc\xff\ -\0\0\0\0\x63\x1a\x78\xff\0\0\0\0\x7b\x7a\xa0\xff\0\0\0\0\x7b\x7a\x90\xff\0\0\0\ -\0\x7b\x7a\x88\xff\0\0\0\0\x7b\x7a\x80\xff\0\0\0\0\xbf\xa3\0\0\0\0\0\0\x07\x03\ -\0\0\x78\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x62\0\0\0\0\0\0\ -\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\x74\ -\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\xbf\x06\0\ -\0\0\0\0\0\x15\x06\x09\0\0\0\0\0\x85\0\0\0\x05\0\0\0\x7b\x06\x08\0\0\0\0\0\xbf\ -\xa2\0\0\0\0\0\0\x07\x02\0\0\x74\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\xbf\x63\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\xb7\0\0\0\0\0\0\ -\0\x95\0\0\0\0\0\0\0\x85\0\0\0\x08\0\0\0\x63\x0a\x74\xff\0\0\0\0\xbf\xa2\0\0\0\ -\0\0\0\x07\x02\0\0\x74\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\ -\0\x01\0\0\0\xbf\x06\0\0\0\0\0\0\x55\x06\x2b\0\0\0\0\0\x61\xa1\x74\xff\0\0\0\0\ -\x63\x1a\xfc\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\x18\ -\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\x15\0\x30\0\0\0\0\0\xb7\ -\x07\0\0\0\0\0\0\x7b\x7a\xf0\xff\0\0\0\0\x7b\x7a\xe8\xff\0\0\0\0\x7b\x7a\xe0\ -\xff\0\0\0\0\x7b\x7a\xd8\xff\0\0\0\0\x7b\x7a\xd0\xff\0\0\0\0\x7b\x7a\xc8\xff\0\ -\0\0\0\x7b\x7a\xc0\xff\0\0\0\0\x7b\x7a\xb8\xff\0\0\0\0\x7b\x7a\xb0\xff\0\0\0\0\ -\x7b\x7a\xa8\xff\0\0\0\0\xbf\xa6\0\0\0\0\0\0\x07\x06\0\0\xfc\xff\xff\xff\xbf\ -\xa3\0\0\0\0\0\0\x07\x03\0\0\xa8\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\xbf\x62\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\xb7\x01\0\0\0\ -\x65\xcd\x1d\x7b\x1a\x98\xff\0\0\0\0\x7b\x7a\x78\xff\0\0\0\0\x61\xa1\xfc\xff\0\ -\0\0\0\x63\x1a\x78\xff\0\0\0\0\x7b\x7a\xa0\xff\0\0\0\0\x7b\x7a\x90\xff\0\0\0\0\ -\x7b\x7a\x88\xff\0\0\0\0\x7b\x7a\x80\xff\0\0\0\0\xbf\xa3\0\0\0\0\0\0\x07\x03\0\ -\0\x78\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x62\0\0\0\0\0\0\x05\ -\0\x0b\0\0\0\0\0\x85\0\0\0\x05\0\0\0\x79\x61\x08\0\0\0\0\0\x1f\x10\0\0\0\0\0\0\ -\x79\x61\x48\0\0\0\0\0\x0f\x10\0\0\0\0\0\0\x7b\x06\x48\0\0\0\0\0\xbf\xa2\0\0\0\ -\0\0\0\x07\x02\0\0\x74\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x63\ -\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\xb7\0\0\0\0\0\0\0\x95\0\0\ -\0\0\0\0\0\x85\0\0\0\x08\0\0\0\x63\x0a\x74\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\ -\x02\0\0\x74\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\ -\0\xbf\x06\0\0\0\0\0\0\x55\x06\x33\0\0\0\0\0\x61\xa1\x74\xff\0\0\0\0\x63\x1a\ -\xfc\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\x18\x01\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\x15\0\x24\0\0\0\0\0\xb7\x07\0\0\0\0\ -\0\0\x7b\x7a\xf0\xff\0\0\0\0\x7b\x7a\xe8\xff\0\0\0\0\x7b\x7a\xe0\xff\0\0\0\0\ -\x7b\x7a\xd8\xff\0\0\0\0\x7b\x7a\xd0\xff\0\0\0\0\x7b\x7a\xc8\xff\0\0\0\0\x7b\ -\x7a\xc0\xff\0\0\0\0\x7b\x7a\xb8\xff\0\0\0\0\x7b\x7a\xb0\xff\0\0\0\0\x7b\x7a\ -\xa8\xff\0\0\0\0\xbf\xa6\0\0\0\0\0\0\x07\x06\0\0\xfc\xff\xff\xff\xbf\xa3\0\0\0\ -\0\0\0\x07\x03\0\0\xa8\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x62\ -\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\xb7\x01\0\0\0\x65\xcd\x1d\ -\x7b\x1a\x98\xff\0\0\0\0\x7b\x7a\x78\xff\0\0\0\0\x61\xa1\xfc\xff\0\0\0\0\x63\ -\x1a\x78\xff\0\0\0\0\x7b\x7a\xa0\xff\0\0\0\0\x7b\x7a\x90\xff\0\0\0\0\x7b\x7a\ -\x88\xff\0\0\0\0\x7b\x7a\x80\xff\0\0\0\0\xbf\xa3\0\0\0\0\0\0\x07\x03\0\0\x78\ -\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x62\0\0\0\0\0\0\xb7\x04\0\ -\0\0\0\0\0\x85\0\0\0\x02\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\x74\xff\xff\xff\ -\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\xbf\x06\0\0\0\0\0\0\ -\x15\x06\x09\0\0\0\0\0\x85\0\0\0\x05\0\0\0\x7b\x06\x10\0\0\0\0\0\xbf\xa2\0\0\0\ -\0\0\0\x07\x02\0\0\x74\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x63\ -\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\xb7\0\0\0\0\0\0\0\x95\0\0\ -\0\0\0\0\0\x85\0\0\0\x08\0\0\0\x63\x0a\x74\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\ -\x02\0\0\x74\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\ -\0\xbf\x06\0\0\0\0\0\0\x55\x06\x2b\0\0\0\0\0\x61\xa1\x74\xff\0\0\0\0\x63\x1a\ -\xfc\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\x18\x01\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\x15\0\x30\0\0\0\0\0\xb7\x07\0\0\0\0\ -\0\0\x7b\x7a\xf0\xff\0\0\0\0\x7b\x7a\xe8\xff\0\0\0\0\x7b\x7a\xe0\xff\0\0\0\0\ -\x7b\x7a\xd8\xff\0\0\0\0\x7b\x7a\xd0\xff\0\0\0\0\x7b\x7a\xc8\xff\0\0\0\0\x7b\ -\x7a\xc0\xff\0\0\0\0\x7b\x7a\xb8\xff\0\0\0\0\x7b\x7a\xb0\xff\0\0\0\0\x7b\x7a\ -\xa8\xff\0\0\0\0\xbf\xa6\0\0\0\0\0\0\x07\x06\0\0\xfc\xff\xff\xff\xbf\xa3\0\0\0\ -\0\0\0\x07\x03\0\0\xa8\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x62\ -\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\xb7\x01\0\0\0\x65\xcd\x1d\ -\x7b\x1a\x98\xff\0\0\0\0\x7b\x7a\x78\xff\0\0\0\0\x61\xa1\xfc\xff\0\0\0\0\x63\ -\x1a\x78\xff\0\0\0\0\x7b\x7a\xa0\xff\0\0\0\0\x7b\x7a\x90\xff\0\0\0\0\x7b\x7a\ -\x88\xff\0\0\0\0\x7b\x7a\x80\xff\0\0\0\0\xbf\xa3\0\0\0\0\0\0\x07\x03\0\0\x78\ -\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x62\0\0\0\0\0\0\x05\0\x0b\ -\0\0\0\0\0\x85\0\0\0\x05\0\0\0\x79\x61\x10\0\0\0\0\0\x1f\x10\0\0\0\0\0\0\x79\ -\x61\x40\0\0\0\0\0\x0f\x10\0\0\0\0\0\0\x7b\x06\x40\0\0\0\0\0\xbf\xa2\0\0\0\0\0\ -\0\x07\x02\0\0\x74\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x63\0\0\ -\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\xb7\0\0\0\0\0\0\0\x95\0\0\0\0\ -\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x71\x11\0\0\0\0\0\0\x55\x01\x0e\0\0\ -\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x18\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\x85\0\0\0\x01\0\0\0\x15\0\x0d\0\0\0\0\0\x61\x01\0\0\0\0\0\0\x18\x02\0\0\x04\0\ -\0\0\0\0\0\0\0\0\0\0\x63\x12\0\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\xb7\x02\0\0\x01\0\0\0\x73\x21\0\0\0\0\0\0\xb7\x09\0\0\0\0\0\0\x85\0\0\0\x05\0\ -\0\0\x7b\x0a\xb8\xff\0\0\0\0\xb7\x06\0\0\0\0\0\0\x05\0\x6d\0\0\0\0\0\x18\x01\0\ -\0\x48\0\0\0\0\0\0\0\0\0\0\0\xb7\x02\0\0\x14\0\0\0\x85\0\0\0\x06\0\0\0\x18\0\0\ -\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\x79\x74\x20\0\0\0\0\0\x27\ -\x04\0\0\x28\0\0\0\x37\x04\0\0\0\x65\xcd\x1d\x27\x03\0\0\x3c\0\0\0\x67\x03\0\0\ -\x20\0\0\0\x77\x03\0\0\x20\0\0\0\x37\x03\0\0\x64\0\0\0\x0f\x43\0\0\0\0\0\0\x63\ -\x38\x04\0\0\0\0\0\x27\x02\0\0\x3c\0\0\0\x67\x02\0\0\x20\0\0\0\x77\x02\0\0\x20\ -\0\0\0\x37\x02\0\0\x64\0\0\0\x79\x73\x28\0\0\0\0\0\x27\x03\0\0\x28\0\0\0\x37\ -\x03\0\0\0\x65\xcd\x1d\x0f\x32\0\0\0\0\0\0\x63\x28\x08\0\0\0\0\0\x27\x01\0\0\ -\x3c\0\0\0\x67\x01\0\0\x20\0\0\0\x77\x01\0\0\x20\0\0\0\x37\x01\0\0\x64\0\0\0\ -\x79\x72\x30\0\0\0\0\0\x27\x02\0\0\x28\0\0\0\x37\x02\0\0\0\x65\xcd\x1d\x0f\x21\ -\0\0\0\0\0\0\x61\x82\x18\0\0\0\0\0\x27\x02\0\0\x3c\0\0\0\x67\x02\0\0\x20\0\0\0\ -\x77\x02\0\0\x20\0\0\0\x37\x02\0\0\x64\0\0\0\x63\x18\x0c\0\0\0\0\0\x79\x73\x48\ -\0\0\0\0\0\x27\x03\0\0\x28\0\0\0\x37\x03\0\0\0\x65\xcd\x1d\x0f\x32\0\0\0\0\0\0\ -\x63\x28\x18\0\0\0\0\0\x27\x01\0\0\x3c\0\0\0\x67\x01\0\0\x20\0\0\0\x77\x01\0\0\ -\x20\0\0\0\x37\x01\0\0\x64\0\0\0\x79\x72\x40\0\0\0\0\0\x27\x02\0\0\x28\0\0\0\ -\x37\x02\0\0\0\x65\xcd\x1d\x0f\x21\0\0\0\0\0\0\x63\x18\x14\0\0\0\0\0\xbf\xa9\0\ -\0\0\0\0\0\x07\x09\0\0\xc8\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\ -\x92\0\0\0\0\0\0\xbf\x83\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\ -\xb7\x06\0\0\0\0\0\0\x7b\x67\x48\0\0\0\0\0\x7b\x67\x20\0\0\0\0\0\x7b\x67\x28\0\ -\0\0\0\0\x7b\x67\x30\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x92\0\0\ -\0\0\0\0\xbf\x73\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\x18\x01\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x02\0\0\x30\0\0\0\xb7\x03\0\0\0\0\0\0\x85\0\0\0\ -\x83\0\0\0\x55\0\x05\0\0\0\0\0\x18\x01\0\0\xde\0\0\0\0\0\0\0\0\0\0\0\xb7\x02\0\ -\0\x1c\0\0\0\x85\0\0\0\x06\0\0\0\x05\0\x73\0\0\0\0\0\x7b\x60\x28\0\0\0\0\0\x7b\ -\x60\x20\0\0\0\0\0\x7b\x60\x18\0\0\0\0\0\x7b\x60\x10\0\0\0\0\0\x7b\x60\x08\0\0\ -\0\0\0\x7b\x60\0\0\0\0\0\0\x61\x81\0\0\0\0\0\0\x63\x10\0\0\0\0\0\0\x61\x81\x0c\ -\0\0\0\0\0\x63\x10\x0c\0\0\0\0\0\x61\x81\x08\0\0\0\0\0\x63\x10\x08\0\0\0\0\0\ -\x61\x81\x04\0\0\0\0\0\x63\x10\x04\0\0\0\0\0\xbf\x01\0\0\0\0\0\0\xb7\x02\0\0\0\ -\0\0\0\x85\0\0\0\x84\0\0\0\xb7\x09\0\0\0\0\0\0\x79\xa6\xc0\xff\0\0\0\0\x07\x06\ -\0\0\x01\0\0\0\xbf\x61\0\0\0\0\0\0\x67\x01\0\0\x20\0\0\0\x77\x01\0\0\x20\0\0\0\ -\x55\x01\x02\0\x80\0\0\0\xb7\0\0\0\0\0\0\0\x05\0\x99\xff\0\0\0\0\x18\x01\0\0\ -\x04\0\0\0\0\0\0\0\0\0\0\0\x61\x11\0\0\0\0\0\0\xbf\x62\0\0\0\0\0\0\x67\x02\0\0\ -\x20\0\0\0\x77\x02\0\0\x20\0\0\0\x3d\x12\xf7\xff\0\0\0\0\x63\x6a\xfc\xff\0\0\0\ -\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\x85\0\0\0\x01\0\0\0\xbf\x07\0\0\0\0\0\0\x15\x07\x44\0\0\0\0\0\xbf\xa2\ -\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\x85\0\0\0\x01\0\0\0\xbf\x08\0\0\0\0\0\0\x55\x08\x18\0\0\0\0\0\xb7\x01\0\0\0\ -\x65\xcd\x1d\x7b\x1a\xe8\xff\0\0\0\0\x7b\x9a\xc8\xff\0\0\0\0\x61\xa1\xfc\xff\0\ -\0\0\0\x63\x1a\xc8\xff\0\0\0\0\x7b\x9a\xf0\xff\0\0\0\0\x7b\x9a\xe0\xff\0\0\0\0\ -\x7b\x9a\xd8\xff\0\0\0\0\x7b\x9a\xd0\xff\0\0\0\0\xbf\xa8\0\0\0\0\0\0\x07\x08\0\ -\0\xfc\xff\xff\xff\xbf\xa3\0\0\0\0\0\0\x07\x03\0\0\xc8\xff\xff\xff\x18\x01\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x82\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\ -\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x82\0\0\0\0\0\0\x85\0\0\0\x01\0\ -\0\0\xbf\x08\0\0\0\0\0\0\x15\x08\x2b\0\0\0\0\0\x79\xa1\xb8\xff\0\0\0\0\x7b\x17\ -\x18\0\0\0\0\0\x61\xa1\xfc\xff\0\0\0\0\x63\x1a\xc8\xff\0\0\0\0\x63\x18\0\0\0\0\ -\0\0\x61\x83\x04\0\0\0\0\0\x61\x82\x08\0\0\0\0\0\x61\x81\x0c\0\0\0\0\0\xbf\x14\ -\0\0\0\0\0\0\x4f\x24\0\0\0\0\0\0\x67\x04\0\0\x20\0\0\0\x77\x04\0\0\x20\0\0\0\ -\x7b\x6a\xc0\xff\0\0\0\0\x55\x04\x5e\xff\0\0\0\0\xb7\x02\0\0\0\0\0\0\xbf\x34\0\ -\0\0\0\0\0\x55\x04\x5b\xff\0\0\0\0\x79\x71\x20\0\0\0\0\0\x27\x01\0\0\x64\0\0\0\ -\x37\x01\0\0\0\x65\xcd\x1d\x63\x18\x04\0\0\0\0\0\x79\x71\x28\0\0\0\0\0\x27\x01\ -\0\0\x64\0\0\0\x37\x01\0\0\0\x65\xcd\x1d\x63\x18\x08\0\0\0\0\0\x79\x71\x30\0\0\ -\0\0\0\x27\x01\0\0\x64\0\0\0\x37\x01\0\0\0\x65\xcd\x1d\x63\x18\x0c\0\0\0\0\0\ -\x79\x71\x48\0\0\0\0\0\x27\x01\0\0\x64\0\0\0\x37\x01\0\0\0\x65\xcd\x1d\x63\x18\ -\x18\0\0\0\0\0\x79\x71\x40\0\0\0\0\0\x27\x01\0\0\x64\0\0\0\x37\x01\0\0\0\x65\ -\xcd\x1d\x05\0\x74\xff\0\0\0\0\x61\xa3\xfc\xff\0\0\0\0\x18\x01\0\0\xc3\0\0\0\0\ -\0\0\0\0\0\0\0\xb7\x02\0\0\x1b\0\0\0\x85\0\0\0\x06\0\0\0\x05\0\xa0\xff\0\0\0\0\ -\x18\x01\0\0\x5c\0\0\0\0\0\0\0\0\0\0\0\xb7\x02\0\0\x0e\0\0\0\x85\0\0\0\x06\0\0\ -\0\x05\0\xa0\xff\0\0\0\0\xb7\x07\0\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\xb7\x02\0\0\x20\0\0\0\xb7\x03\0\0\0\0\0\0\x85\0\0\0\x83\0\0\0\xbf\x06\0\0\0\ -\0\0\0\x55\x06\x05\0\0\0\0\0\x18\x01\0\0\xfa\0\0\0\0\0\0\0\0\0\0\0\xb7\x02\0\0\ -\x21\0\0\0\x85\0\0\0\x06\0\0\0\x05\0\x61\0\0\0\0\0\x63\x76\x1c\0\0\0\0\0\x63\ -\x76\x18\0\0\0\0\0\x63\x76\x14\0\0\0\0\0\x63\x76\x10\0\0\0\0\0\x63\x76\x0c\0\0\ -\0\0\0\x63\x76\x08\0\0\0\0\0\x63\x76\x04\0\0\0\0\0\x63\x76\0\0\0\0\0\0\x63\x7a\ -\xfc\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\x18\x01\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\x15\0\x01\0\0\0\0\0\x61\x07\0\0\0\0\ -\0\0\x63\x76\0\0\0\0\0\0\xb7\x01\0\0\x01\0\0\0\x63\x1a\xfc\xff\0\0\0\0\xbf\xa2\ -\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\x85\0\0\0\x01\0\0\0\xb7\x07\0\0\0\0\0\0\xb7\x01\0\0\0\0\0\0\x15\0\x01\0\0\0\0\ -\0\x61\x01\0\0\0\0\0\0\x63\x16\x04\0\0\0\0\0\xb7\x01\0\0\x02\0\0\0\x63\x1a\xfc\ -\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\x18\x01\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\x15\0\x01\0\0\0\0\0\x61\x07\0\0\0\0\0\0\ -\x63\x76\x08\0\0\0\0\0\xb7\x01\0\0\x03\0\0\0\x63\x1a\xfc\xff\0\0\0\0\xbf\xa2\0\ -\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\ -\0\0\0\x01\0\0\0\xb7\x07\0\0\0\0\0\0\xb7\x01\0\0\0\0\0\0\x15\0\x01\0\0\0\0\0\ -\x61\x01\0\0\0\0\0\0\x63\x16\x0c\0\0\0\0\0\xb7\x01\0\0\x04\0\0\0\x63\x1a\xfc\ -\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\x18\x01\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\x15\0\x01\0\0\0\0\0\x61\x07\0\0\0\0\0\0\ -\x63\x76\x10\0\0\0\0\0\xb7\x01\0\0\x05\0\0\0\x63\x1a\xfc\xff\0\0\0\0\xbf\xa2\0\ -\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\ -\0\0\0\x01\0\0\0\xb7\x07\0\0\0\0\0\0\xb7\x01\0\0\0\0\0\0\x15\0\x01\0\0\0\0\0\ -\x61\x01\0\0\0\0\0\0\x63\x16\x14\0\0\0\0\0\xb7\x01\0\0\x06\0\0\0\x63\x1a\xfc\ -\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\x18\x01\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\x15\0\x01\0\0\0\0\0\x61\x07\0\0\0\0\0\0\ -\x63\x76\x18\0\0\0\0\0\xb7\x01\0\0\x07\0\0\0\x63\x1a\xfc\xff\0\0\0\0\xbf\xa2\0\ -\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\ -\0\0\0\x01\0\0\0\xb7\x01\0\0\0\0\0\0\x15\0\x01\0\0\0\0\0\x61\x01\0\0\0\0\0\0\ -\x63\x16\x1c\0\0\0\0\0\xbf\x61\0\0\0\0\0\0\xb7\x02\0\0\0\0\0\0\x85\0\0\0\x84\0\ -\0\0\xb7\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\x44\x75\x61\x6c\x20\x42\x53\x44\x2f\ -\x47\x50\x4c\0\0\0\0\0\0\0\0\x01\0\0\0\x67\x65\x74\x20\x73\x74\x61\x63\x6b\x20\ -\x65\x72\x72\x6f\x72\x2c\x20\x65\x72\x72\x6f\x72\x20\x63\x6f\x64\x65\x20\x69\ -\x73\x20\x25\x69\0\x62\x61\x63\x6b\x74\x72\x61\x63\x65\x20\x73\x74\x72\x75\x63\ -\x74\x20\x69\x6e\x69\x74\x20\x66\x61\x69\x6c\x65\x64\x0a\0\x67\x65\x74\x20\x63\ -\x70\x75\x20\x6e\x75\x6d\x73\x20\x65\x72\x72\x6f\x72\x0a\0\x75\x70\x64\x61\x74\ -\x65\x20\x65\x72\x72\x6f\x72\x0a\0\x74\x68\x65\x20\x74\x61\x73\x6b\x5f\x63\x70\ -\x75\x20\x62\x75\x66\x66\x65\x72\x20\x69\x73\x20\x66\x75\x6c\x6c\x0a\0\x62\x61\ -\x63\x6b\x74\x72\x61\x63\x65\x20\x62\x75\x66\x66\x20\x61\x6c\x6c\x6f\x63\x61\ -\x74\x65\x20\x66\x61\x69\x6c\x65\x64\x0a\0\x70\x72\x6f\x63\x65\x73\x73\x5f\x63\ -\x70\x75\x20\x62\x75\x66\x66\x65\x72\x20\x69\x73\x20\x66\x75\x6c\x6c\x0a\0\x64\ -\x61\x74\x61\x20\x6e\x6f\x74\x20\x66\x6f\x75\x6e\x64\x20\x66\x6f\x72\x20\x63\ -\x70\x75\x20\x25\x75\x0a\0\x52\x69\x6e\x67\x20\x62\x75\x66\x66\x65\x72\x20\x72\ -\x65\x73\x65\x72\x76\x65\x20\x66\x61\x69\x6c\x65\x64\x0a\0\x72\x75\x6e\x71\x6c\ -\x61\x74\x20\x72\x69\x6e\x67\x62\x75\x66\x66\x20\x72\x65\x73\x65\x72\x76\x65\ -\x20\x66\x61\x69\x6c\x65\x64\x0a\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x30\0\0\0\0\0\0\0\x01\0\0\0\ -\x94\0\0\0\xa0\0\0\0\0\0\0\0\x01\0\0\0\x94\0\0\0\xd0\0\0\0\0\0\0\0\x01\0\0\0\ -\x94\0\0\0\x68\x01\0\0\0\0\0\0\x01\0\0\0\x94\0\0\0\x48\x02\0\0\0\0\0\0\x01\0\0\ -\0\x9a\0\0\0\x70\x02\0\0\0\0\0\0\x01\0\0\0\xa2\0\0\0\xa0\x02\0\0\0\0\0\0\x01\0\ -\0\0\x90\0\0\0\xf0\x02\0\0\0\0\0\0\x01\0\0\0\x9a\0\0\0\x08\x04\0\0\0\0\0\0\x01\ -\0\0\0\x94\0\0\0\xc8\0\0\0\0\0\0\0\x01\0\0\0\x93\0\0\0\x10\x03\0\0\0\0\0\0\x01\ -\0\0\0\x93\0\0\0\x60\x03\0\0\0\0\0\0\x01\0\0\0\x94\0\0\0\xe0\x03\0\0\0\0\0\0\ -\x01\0\0\0\x94\0\0\0\x18\x04\0\0\0\0\0\0\x01\0\0\0\x93\0\0\0\x78\x04\0\0\0\0\0\ -\0\x01\0\0\0\x94\0\0\0\xc8\0\0\0\0\0\0\0\x01\0\0\0\x93\0\0\0\x10\x03\0\0\0\0\0\ -\0\x01\0\0\0\x93\0\0\0\x60\x03\0\0\0\0\0\0\x01\0\0\0\x94\0\0\0\xe0\x03\0\0\0\0\ -\0\0\x01\0\0\0\x94\0\0\0\x18\x04\0\0\0\0\0\0\x01\0\0\0\x93\0\0\0\x78\x04\0\0\0\ -\0\0\0\x01\0\0\0\x94\0\0\0\x38\0\0\0\0\0\0\0\x01\0\0\0\x93\0\0\0\x90\x01\0\0\0\ -\0\0\0\x01\0\0\0\x93\0\0\0\x58\0\0\0\0\0\0\0\x01\0\0\0\x93\0\0\0\x80\0\0\0\0\0\ -\0\0\x01\0\0\0\x94\0\0\0\xd8\0\0\0\0\0\0\0\x01\0\0\0\x98\0\0\0\x08\x01\0\0\0\0\ -\0\0\x01\0\0\0\x98\0\0\0\x30\x01\0\0\0\0\0\0\x01\0\0\0\x99\0\0\0\x68\x01\0\0\0\ -\0\0\0\x01\0\0\0\x94\0\0\0\x88\x01\0\0\0\0\0\0\x01\0\0\0\x9a\0\0\0\xc0\x01\0\0\ -\0\0\0\0\x01\0\0\0\x9a\0\0\0\x58\0\0\0\0\0\0\0\x01\0\0\0\x9c\0\0\0\xf0\0\0\0\0\ -\0\0\0\x01\0\0\0\x9c\0\0\0\x70\x01\0\0\0\0\0\0\x01\0\0\0\x9d\0\0\0\xa8\x01\0\0\ -\0\0\0\0\x01\0\0\0\x9c\0\0\0\x08\x02\0\0\0\0\0\0\x01\0\0\0\x93\0\0\0\x80\x03\0\ -\0\0\0\0\0\x01\0\0\0\x93\0\0\0\x08\x05\0\0\0\0\0\0\x01\0\0\0\x98\0\0\0\x30\x05\ -\0\0\0\0\0\0\x01\0\0\0\x9e\0\0\0\x60\x05\0\0\0\0\0\0\x01\0\0\0\x90\0\0\0\xb0\ -\x05\0\0\0\0\0\0\x01\0\0\0\x98\0\0\0\xd8\x07\0\0\0\0\0\0\x01\0\0\0\x99\0\0\0\ -\x08\x08\0\0\0\0\0\0\x01\0\0\0\x9f\0\0\0\x38\x08\0\0\0\0\0\0\x01\0\0\0\x90\0\0\ -\0\xa0\x0f\0\0\0\0\0\0\x01\0\0\0\x93\0\0\0\xf8\x0f\0\0\0\0\0\0\x0a\0\0\0\x02\0\ -\0\0\x20\x10\0\0\0\0\0\0\x01\0\0\0\x93\0\0\0\x80\x10\0\0\0\0\0\0\x01\0\0\0\x93\ -\0\0\0\0\x12\0\0\0\0\0\0\x01\0\0\0\x93\0\0\0\x10\x13\0\0\0\0\0\0\x01\0\0\0\xa0\ -\0\0\0\x40\x13\0\0\0\0\0\0\x01\0\0\0\xa0\0\0\0\x50\x13\0\0\0\0\0\0\x01\0\0\0\ -\xa1\0\0\0\x90\x13\0\0\0\0\0\0\x01\0\0\0\xa0\0\0\0\x10\x14\0\0\0\0\0\0\x0a\0\0\ -\0\x02\0\0\0\x38\x14\0\0\0\0\0\0\x01\0\0\0\x93\0\0\0\x78\x14\0\0\0\0\0\0\x01\0\ -\0\0\x9c\0\0\0\xe0\x14\0\0\0\0\0\0\x01\0\0\0\x98\0\0\0\x08\x15\0\0\0\0\0\0\x01\ -\0\0\0\xa4\0\0\0\x50\x15\0\0\0\0\0\0\x01\0\0\0\x90\0\0\0\x90\x15\0\0\0\0\0\0\ -\x01\0\0\0\x99\0\0\0\xd0\x15\0\0\0\0\0\0\x01\0\0\0\x93\0\0\0\x58\x16\0\0\0\0\0\ -\0\x01\0\0\0\x99\0\0\0\x90\x16\0\0\0\0\0\0\x01\0\0\0\x93\0\0\0\xb8\x16\0\0\0\0\ -\0\0\x01\0\0\0\x99\0\0\0\xe0\x16\0\0\0\0\0\0\x01\0\0\0\x90\0\0\0\x58\x17\0\0\0\ -\0\0\0\x01\0\0\0\xa4\0\0\0\xf0\x17\0\0\0\0\0\0\x01\0\0\0\x99\0\0\0\x38\0\0\0\0\ -\0\0\0\x01\0\0\0\x9c\0\0\0\xd0\0\0\0\0\0\0\0\x01\0\0\0\x9c\0\0\0\x50\x01\0\0\0\ -\0\0\0\x01\0\0\0\x9d\0\0\0\xe0\x01\0\0\0\0\0\0\x01\0\0\0\x9c\0\0\0\xb0\0\0\0\0\ -\0\0\0\x01\0\0\0\x93\0\0\0\xc8\x02\0\0\0\0\0\0\x01\0\0\0\x93\0\0\0\x28\x03\0\0\ -\0\0\0\0\x01\0\0\0\x94\0\0\0\xa8\x03\0\0\0\0\0\0\x01\0\0\0\x94\0\0\0\xe8\x03\0\ -\0\0\0\0\0\x01\0\0\0\x94\0\0\0\x30\x04\0\0\0\0\0\0\x01\0\0\0\x93\0\0\0\xb0\0\0\ -\0\0\0\0\0\x01\0\0\0\x93\0\0\0\xc0\x02\0\0\0\0\0\0\x01\0\0\0\x93\0\0\0\x20\x03\ -\0\0\0\0\0\0\x01\0\0\0\x94\0\0\0\xa0\x03\0\0\0\0\0\0\x01\0\0\0\x94\0\0\0\xe0\ -\x03\0\0\0\0\0\0\x01\0\0\0\x94\0\0\0\x28\x04\0\0\0\0\0\0\x01\0\0\0\x93\0\0\0\ -\x20\0\0\0\0\0\0\0\x01\0\0\0\x9c\0\0\0\x68\0\0\0\0\0\0\0\x01\0\0\0\x9c\0\0\0\0\ -\x01\0\0\0\0\0\0\x01\0\0\0\x9c\0\0\0\x80\x01\0\0\0\0\0\0\x01\0\0\0\x9d\0\0\0\ -\xb8\x01\0\0\0\0\0\0\x01\0\0\0\x9c\0\0\0\0\x02\0\0\0\0\0\0\x01\0\0\0\x9c\0\0\0\ -\x20\0\0\0\0\0\0\0\x01\0\0\0\x9c\0\0\0\x68\0\0\0\0\0\0\0\x01\0\0\0\x9c\0\0\0\0\ -\x01\0\0\0\0\0\0\x01\0\0\0\x9c\0\0\0\x80\x01\0\0\0\0\0\0\x01\0\0\0\x9d\0\0\0\ -\xe0\x01\0\0\0\0\0\0\x01\0\0\0\x9c\0\0\0\x20\0\0\0\0\0\0\0\x01\0\0\0\x9c\0\0\0\ -\x68\0\0\0\0\0\0\0\x01\0\0\0\x9c\0\0\0\0\x01\0\0\0\0\0\0\x01\0\0\0\x9c\0\0\0\ -\x80\x01\0\0\0\0\0\0\x01\0\0\0\x9d\0\0\0\xb8\x01\0\0\0\0\0\0\x01\0\0\0\x9c\0\0\ -\0\0\x02\0\0\0\0\0\0\x01\0\0\0\x9c\0\0\0\x20\0\0\0\0\0\0\0\x01\0\0\0\x9c\0\0\0\ -\x68\0\0\0\0\0\0\0\x01\0\0\0\x9c\0\0\0\0\x01\0\0\0\0\0\0\x01\0\0\0\x9c\0\0\0\ -\x80\x01\0\0\0\0\0\0\x01\0\0\0\x9d\0\0\0\xe0\x01\0\0\0\0\0\0\x01\0\0\0\x9c\0\0\ -\0\0\0\0\0\0\0\0\0\x01\0\0\0\x91\0\0\0\x20\0\0\0\0\0\0\0\x01\0\0\0\xad\0\0\0\ -\x30\0\0\0\0\0\0\0\x01\0\0\0\xae\0\0\0\x58\0\0\0\0\0\0\0\x01\0\0\0\x91\0\0\0\ -\x70\0\0\0\0\0\0\0\x01\0\0\0\x91\0\0\0\xb8\0\0\0\0\0\0\0\x01\0\0\0\x90\0\0\0\ -\x70\x02\0\0\0\0\0\0\x01\0\0\0\x9d\0\0\0\xc8\x02\0\0\0\0\0\0\x01\0\0\0\x9c\0\0\ -\0\xf8\x02\0\0\0\0\0\0\x01\0\0\0\xaf\0\0\0\x28\x03\0\0\0\0\0\0\x01\0\0\0\x90\0\ -\0\0\x20\x04\0\0\0\0\0\0\x01\0\0\0\x91\0\0\0\x70\x04\0\0\0\0\0\0\x01\0\0\0\x9c\ -\0\0\0\xa8\x04\0\0\0\0\0\0\x01\0\0\0\x9d\0\0\0\x38\x05\0\0\0\0\0\0\x01\0\0\0\ -\x9d\0\0\0\x60\x05\0\0\0\0\0\0\x01\0\0\0\x9d\0\0\0\xc0\x06\0\0\0\0\0\0\x01\0\0\ -\0\x90\0\0\0\xe8\x06\0\0\0\0\0\0\x01\0\0\0\x90\0\0\0\x18\x07\0\0\0\0\0\0\x01\0\ -\0\0\xb1\0\0\0\x50\x07\0\0\0\0\0\0\x01\0\0\0\x90\0\0\0\xd0\x07\0\0\0\0\0\0\x01\ -\0\0\0\xa0\0\0\0\x20\x08\0\0\0\0\0\0\x01\0\0\0\xa0\0\0\0\x80\x08\0\0\0\0\0\0\ -\x01\0\0\0\xa0\0\0\0\xd0\x08\0\0\0\0\0\0\x01\0\0\0\xa0\0\0\0\x30\x09\0\0\0\0\0\ -\0\x01\0\0\0\xa0\0\0\0\x80\x09\0\0\0\0\0\0\x01\0\0\0\xa0\0\0\0\xe0\x09\0\0\0\0\ -\0\0\x01\0\0\0\xa0\0\0\0\x30\x0a\0\0\0\0\0\0\x01\0\0\0\xa0\0\0\0\x9f\xeb\x01\0\ -\x18\0\0\0\0\0\0\0\x4c\x51\0\0\x4c\x51\0\0\x14\x73\0\0\0\0\0\0\0\0\0\x02\x03\0\ -\0\0\x01\0\0\0\0\0\0\x01\x04\0\0\0\x20\0\0\x01\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\ -\0\0\x04\0\0\0\x01\0\0\0\x05\0\0\0\0\0\0\x01\x04\0\0\0\x20\0\0\0\0\0\0\0\0\0\0\ -\x02\x06\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\x04\0\0\0\0\0\0\0\ -\0\0\0\x02\x08\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\x70\0\0\0\0\ -\0\0\0\0\0\0\x02\x0a\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\0\x90\ -\x01\0\0\0\0\0\x04\0\0\x04\x20\0\0\0\x19\0\0\0\x01\0\0\0\0\0\0\0\x1e\0\0\0\x05\ -\0\0\0\x40\0\0\0\x27\0\0\0\x07\0\0\0\x80\0\0\0\x32\0\0\0\x09\0\0\0\xc0\0\0\0\ -\x3e\0\0\0\0\0\0\x0e\x0b\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x02\x0e\0\0\0\0\0\0\0\0\ -\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\x02\x10\0\0\0\0\0\ -\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\x50\0\0\0\0\0\0\0\0\0\0\x02\x12\0\0\ -\0\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\x40\0\0\0\0\0\0\0\x04\0\0\x04\ -\x20\0\0\0\x19\0\0\0\x0d\0\0\0\0\0\0\0\x1e\0\0\0\x05\0\0\0\x40\0\0\0\x27\0\0\0\ -\x0f\0\0\0\x80\0\0\0\x32\0\0\0\x11\0\0\0\xc0\0\0\0\x51\0\0\0\0\0\0\x0e\x13\0\0\ -\0\x01\0\0\0\0\0\0\0\0\0\0\x02\x16\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\ -\x04\0\0\0\x30\0\0\0\0\0\0\0\x04\0\0\x04\x20\0\0\0\x19\0\0\0\x0d\0\0\0\0\0\0\0\ -\x1e\0\0\0\x05\0\0\0\x40\0\0\0\x27\0\0\0\x15\0\0\0\x80\0\0\0\x32\0\0\0\x11\0\0\ -\0\xc0\0\0\0\x65\0\0\0\0\0\0\x0e\x17\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x02\x1a\0\0\ -\0\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\x08\0\0\0\0\0\0\0\x04\0\0\x04\ -\x20\0\0\0\x19\0\0\0\x0d\0\0\0\0\0\0\0\x1e\0\0\0\x05\0\0\0\x40\0\0\0\x27\0\0\0\ -\x05\0\0\0\x80\0\0\0\x32\0\0\0\x19\0\0\0\xc0\0\0\0\x7b\0\0\0\0\0\0\x0e\x1b\0\0\ -\0\x01\0\0\0\0\0\0\0\0\0\0\x02\x1e\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\ -\x04\0\0\0\0\x02\0\0\0\0\0\0\x04\0\0\x04\x20\0\0\0\x19\0\0\0\x01\0\0\0\0\0\0\0\ -\x1e\0\0\0\x05\0\0\0\x40\0\0\0\x27\0\0\0\x05\0\0\0\x80\0\0\0\x32\0\0\0\x1d\0\0\ -\0\xc0\0\0\0\x87\0\0\0\0\0\0\x0e\x1f\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x02\x22\0\0\ -\0\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\x07\0\0\0\0\0\0\0\0\0\0\x02\ -\x24\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\0\x08\0\0\0\0\0\0\x04\ -\0\0\x04\x20\0\0\0\x19\0\0\0\x21\0\0\0\0\0\0\0\x1e\0\0\0\x05\0\0\0\x40\0\0\0\ -\x27\0\0\0\x19\0\0\0\x80\0\0\0\x32\0\0\0\x23\0\0\0\xc0\0\0\0\x9b\0\0\0\0\0\0\ -\x0e\x25\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x02\x28\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\ -\x02\0\0\0\x04\0\0\0\x60\x01\0\0\0\0\0\0\0\0\0\x02\x2a\0\0\0\0\0\0\0\0\0\0\x03\ -\0\0\0\0\x02\0\0\0\x04\0\0\0\0\x04\0\0\0\0\0\0\x04\0\0\x04\x20\0\0\0\x19\0\0\0\ -\x01\0\0\0\0\0\0\0\x1e\0\0\0\x05\0\0\0\x40\0\0\0\x27\0\0\0\x27\0\0\0\x80\0\0\0\ -\x32\0\0\0\x29\0\0\0\xc0\0\0\0\xac\0\0\0\0\0\0\x0e\x2b\0\0\0\x01\0\0\0\0\0\0\0\ -\0\0\0\x02\x2e\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\x10\0\0\0\0\ -\0\0\0\x04\0\0\x04\x20\0\0\0\x19\0\0\0\x0d\0\0\0\0\0\0\0\x1e\0\0\0\x05\0\0\0\ -\x40\0\0\0\x27\0\0\0\x05\0\0\0\x80\0\0\0\x32\0\0\0\x2d\0\0\0\xc0\0\0\0\xc0\0\0\ -\0\0\0\0\x0e\x2f\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x02\x32\0\0\0\0\0\0\0\0\0\0\x03\ -\0\0\0\0\x02\0\0\0\x04\0\0\0\x0c\0\0\0\0\0\0\0\x04\0\0\x04\x20\0\0\0\x19\0\0\0\ -\x0d\0\0\0\0\0\0\0\x1e\0\0\0\x05\0\0\0\x40\0\0\0\x27\0\0\0\x31\0\0\0\x80\0\0\0\ -\x32\0\0\0\x05\0\0\0\xc0\0\0\0\xcc\0\0\0\0\0\0\x0e\x33\0\0\0\x01\0\0\0\0\0\0\0\ -\x04\0\0\x04\x20\0\0\0\x19\0\0\0\x01\0\0\0\0\0\0\0\x1e\0\0\0\x05\0\0\0\x40\0\0\ -\0\x27\0\0\0\x11\0\0\0\x80\0\0\0\x32\0\0\0\x23\0\0\0\xc0\0\0\0\xdd\0\0\0\0\0\0\ -\x0e\x35\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x02\x38\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\ -\x02\0\0\0\x04\0\0\0\0\x01\0\0\0\0\0\0\x04\0\0\x04\x20\0\0\0\x19\0\0\0\x01\0\0\ -\0\0\0\0\0\x1e\0\0\0\x05\0\0\0\x40\0\0\0\x27\0\0\0\x05\0\0\0\x80\0\0\0\x32\0\0\ -\0\x37\0\0\0\xc0\0\0\0\xe9\0\0\0\0\0\0\x0e\x39\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\ -\x02\x3c\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\x1b\0\0\0\0\0\0\0\ -\0\0\0\x02\x3e\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\0\0\x04\0\0\ -\0\0\0\x02\0\0\x04\x10\0\0\0\x19\0\0\0\x3b\0\0\0\0\0\0\0\x32\0\0\0\x3d\0\0\0\ -\x40\0\0\0\xfe\0\0\0\0\0\0\x0e\x3f\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x02\x42\0\0\0\ -\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\0\0\x08\0\0\0\0\0\x02\0\0\x04\ -\x10\0\0\0\x19\0\0\0\x3b\0\0\0\0\0\0\0\x32\0\0\0\x41\0\0\0\x40\0\0\0\x0f\x01\0\ -\0\0\0\0\x0e\x43\0\0\0\x01\0\0\0\x24\x01\0\0\0\0\0\x0e\x43\0\0\0\x01\0\0\0\0\0\ -\0\0\0\0\0\x02\x47\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\0\x80\0\ -\0\0\0\0\0\x02\0\0\x04\x10\0\0\0\x19\0\0\0\x3b\0\0\0\0\0\0\0\x32\0\0\0\x46\0\0\ -\0\x40\0\0\0\x3c\x01\0\0\0\0\0\x0e\x48\0\0\0\x01\0\0\0\x4b\x01\0\0\0\0\0\x0e\ -\x43\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x02\x4c\0\0\0\x61\x01\0\0\0\0\0\x01\x08\0\0\ -\0\x40\0\0\0\0\0\0\0\x01\0\0\x0d\x02\0\0\0\x74\x01\0\0\x4b\0\0\0\x78\x01\0\0\ -\x01\0\0\x0c\x4d\0\0\0\x8c\x01\0\0\xfd\0\0\x84\x40\x27\0\0\x98\x01\0\0\x50\0\0\ -\0\0\0\0\0\xa4\x01\0\0\x54\0\0\0\xc0\0\0\0\xac\x01\0\0\x55\0\0\0\0\x01\0\0\xb2\ -\x01\0\0\x56\0\0\0\x40\x01\0\0\xb8\x01\0\0\x54\0\0\0\x60\x01\0\0\xbe\x01\0\0\ -\x54\0\0\0\x80\x01\0\0\xc5\x01\0\0\x02\0\0\0\xa0\x01\0\0\xcc\x01\0\0\x5a\0\0\0\ -\xc0\x01\0\0\xd7\x01\0\0\x54\0\0\0\x40\x02\0\0\xe3\x01\0\0\x51\0\0\0\x80\x02\0\ -\0\xf7\x01\0\0\x61\0\0\0\xc0\x02\0\0\x02\x02\0\0\x02\0\0\0\0\x03\0\0\x12\x02\0\ -\0\x02\0\0\0\x20\x03\0\0\x1b\x02\0\0\x02\0\0\0\x40\x03\0\0\x21\x02\0\0\x02\0\0\ -\0\x60\x03\0\0\x26\x02\0\0\x02\0\0\0\x80\x03\0\0\x32\x02\0\0\x02\0\0\0\xa0\x03\ -\0\0\x3e\x02\0\0\x54\0\0\0\xc0\x03\0\0\x4a\x02\0\0\x62\0\0\0\0\x04\0\0\x4d\x02\ -\0\0\x6e\0\0\0\0\x0c\0\0\x50\x02\0\0\x70\0\0\0\x80\x0d\0\0\x53\x02\0\0\x80\0\0\ -\0\x80\x14\0\0\x5f\x02\0\0\x82\0\0\0\xc0\x14\0\0\x70\x02\0\0\x83\0\0\0\0\x16\0\ -\0\x76\x02\0\0\x54\0\0\0\0\x1e\0\0\x81\x02\0\0\x54\0\0\0\x20\x1e\0\0\x88\x02\0\ -\0\x02\0\0\0\x40\x1e\0\0\x98\x02\0\0\x84\0\0\0\x80\x1e\0\0\xa1\x02\0\0\x87\0\0\ -\0\xc0\x1e\0\0\xaf\x02\0\0\x86\0\0\0\0\x1f\0\0\xb9\x02\0\0\x55\0\0\0\x80\x1f\0\ -\0\xcb\x02\0\0\x60\0\0\0\xc0\x1f\0\0\xde\x02\0\0\x60\0\0\0\xd0\x1f\0\0\xee\x02\ -\0\0\x02\0\0\0\xe0\x1f\0\0\x04\x03\0\0\x8a\0\0\0\0\x20\0\0\x1c\x03\0\0\x66\0\0\ -\0\x40\x20\0\0\x2b\x03\0\0\x8c\0\0\0\xc0\x20\0\0\x3c\x03\0\0\x51\0\0\0\0\x21\0\ -\0\x4c\x03\0\0\x7c\0\0\0\x40\x21\0\0\x5e\x03\0\0\x7c\0\0\0\x48\x21\0\0\x6c\x03\ -\0\0\x02\0\0\0\x60\x21\0\0\x7f\x03\0\0\x66\0\0\0\x80\x21\0\0\x96\x03\0\0\x02\0\ -\0\0\0\x22\0\0\xa9\x03\0\0\x02\0\0\0\x20\x22\0\0\xb8\x03\0\0\x8a\0\0\0\x40\x22\ -\0\0\xcb\x03\0\0\x66\0\0\0\x80\x22\0\0\xdc\x03\0\0\x66\0\0\0\0\x23\0\0\xea\x03\ -\0\0\x02\0\0\0\x80\x23\0\0\xf7\x03\0\0\x8d\0\0\0\xc0\x23\0\0\x02\x04\0\0\x66\0\ -\0\0\xc0\x24\0\0\x08\x04\0\0\x8e\0\0\0\x40\x25\0\0\x17\x04\0\0\x64\0\0\0\x80\ -\x26\0\0\x29\x04\0\0\x8f\0\0\0\x40\x27\0\0\x2c\x04\0\0\x8f\0\0\0\x80\x27\0\0\ -\x36\x04\0\0\x90\0\0\0\xc0\x27\0\0\x3f\x04\0\0\x02\0\0\0\x60\x28\0\0\x4a\x04\0\ -\0\x02\0\0\0\x80\x28\0\0\x54\x04\0\0\x02\0\0\0\xa0\x28\0\0\x60\x04\0\0\x02\0\0\ -\0\xc0\x28\0\0\x6e\x04\0\0\x51\0\0\0\0\x29\0\0\x75\x04\0\0\x54\0\0\0\x40\x29\0\ -\0\x81\x04\0\0\x54\0\0\0\x60\x29\0\x01\x95\x04\0\0\x54\0\0\0\x61\x29\0\x01\xaf\ -\x04\0\0\x54\0\0\0\x62\x29\0\x01\xbe\x04\0\0\x54\0\0\0\x80\x29\0\x01\xd2\x04\0\ -\0\x54\0\0\0\x81\x29\0\x01\xdc\x04\0\0\x54\0\0\0\x82\x29\0\x01\xe6\x04\0\0\x54\ -\0\0\0\x83\x29\0\x01\xf6\x04\0\0\x54\0\0\0\x84\x29\0\x01\x04\x05\0\0\x54\0\0\0\ -\x85\x29\0\x01\x13\x05\0\0\x54\0\0\0\x86\x29\0\x01\x27\x05\0\0\x54\0\0\0\x87\ -\x29\0\x01\x2e\x05\0\0\x54\0\0\0\x88\x29\0\x01\x3b\x05\0\0\x54\0\0\0\x89\x29\0\ -\x01\x46\x05\0\0\x54\0\0\0\x8a\x29\0\x01\x5a\x05\0\0\x54\0\0\0\x8b\x29\0\x01\ -\x67\x05\0\0\x51\0\0\0\xc0\x29\0\0\x74\x05\0\0\x91\0\0\0\0\x2a\0\0\x82\x05\0\0\ -\xa2\0\0\0\xc0\x2b\0\0\x86\x05\0\0\xa2\0\0\0\xe0\x2b\0\0\x8b\x05\0\0\x51\0\0\0\ -\0\x2c\0\0\x98\x05\0\0\x61\0\0\0\x40\x2c\0\0\xa4\x05\0\0\x61\0\0\0\x80\x2c\0\0\ -\xab\x05\0\0\x66\0\0\0\xc0\x2c\0\0\xb4\x05\0\0\x66\0\0\0\x40\x2d\0\0\xbc\x05\0\ -\0\x61\0\0\0\xc0\x2d\0\0\xc9\x05\0\0\x66\0\0\0\0\x2e\0\0\xd1\x05\0\0\x66\0\0\0\ -\x80\x2e\0\0\xde\x05\0\0\xa4\0\0\0\0\x2f\0\0\xe9\x05\0\0\xa8\0\0\0\x40\x2f\0\0\ -\xf3\x05\0\0\x66\0\0\0\x40\x31\0\0\0\x06\0\0\x66\0\0\0\xc0\x31\0\0\x0c\x06\0\0\ -\xa9\0\0\0\x40\x32\0\0\x17\x06\0\0\xaa\0\0\0\x80\x32\0\0\x25\x06\0\0\xaa\0\0\0\ -\xc0\x32\0\0\x35\x06\0\0\x55\0\0\0\0\x33\0\0\x44\x06\0\0\x68\0\0\0\x40\x33\0\0\ -\x4a\x06\0\0\x68\0\0\0\x80\x33\0\0\x50\x06\0\0\x68\0\0\0\xc0\x33\0\0\x56\x06\0\ -\0\xab\0\0\0\0\x34\0\0\x63\x06\0\0\x51\0\0\0\x80\x36\0\0\x69\x06\0\0\x51\0\0\0\ -\xc0\x36\0\0\x70\x06\0\0\x68\0\0\0\0\x37\0\0\x7b\x06\0\0\x68\0\0\0\x40\x37\0\0\ -\x8a\x06\0\0\x51\0\0\0\x80\x37\0\0\x92\x06\0\0\x51\0\0\0\xc0\x37\0\0\x9a\x06\0\ -\0\xc2\0\0\0\0\x38\0\0\xaa\x06\0\0\xc8\0\0\0\x80\x3a\0\0\xbf\x06\0\0\xcd\0\0\0\ -\x40\x3b\0\0\xcc\x06\0\0\xcd\0\0\0\x80\x3b\0\0\xd6\x06\0\0\xcd\0\0\0\xc0\x3b\0\ -\0\xdb\x06\0\0\xcf\0\0\0\0\x3c\0\0\xf0\x06\0\0\xd0\0\0\0\x40\x3c\0\0\xf5\x06\0\ -\0\xd1\0\0\0\xc0\x3c\0\0\xff\x06\0\0\xd2\0\0\0\0\x3d\0\0\x07\x07\0\0\xd4\0\0\0\ -\x40\x3d\0\0\x0f\x07\0\0\x51\0\0\0\xc0\x3d\0\0\x21\x07\0\0\x51\0\0\0\0\x3e\0\0\ -\x32\x07\0\0\xd5\0\0\0\x40\x3e\0\0\x35\x07\0\0\xd6\0\0\0\x80\x3e\0\0\x3b\x07\0\ -\0\xd7\0\0\0\xc0\x3e\0\0\x44\x07\0\0\xd8\0\0\0\0\x3f\0\0\x4c\x07\0\0\xd9\0\0\0\ -\x40\x3f\0\0\x53\x07\0\0\xda\0\0\0\x80\x3f\0\0\x5b\x07\0\0\xdb\0\0\0\xc0\x3f\0\ -\0\x63\x07\0\0\xdb\0\0\0\0\x40\0\0\x70\x07\0\0\xdb\0\0\0\x40\x40\0\0\x7e\x07\0\ -\0\xde\0\0\0\x80\x40\0\0\x86\x07\0\0\x51\0\0\0\x40\x41\0\0\x90\x07\0\0\xdf\0\0\ -\0\x80\x41\0\0\x9c\x07\0\0\x54\0\0\0\xc0\x41\0\0\xa9\x07\0\0\xca\0\0\0\0\x42\0\ -\0\xb4\x07\0\0\xe2\0\0\0\x40\x42\0\0\xc2\x07\0\0\xe3\0\0\0\x80\x42\0\0\xcb\x07\ -\0\0\x54\0\0\0\xa0\x42\0\0\xd5\x07\0\0\xe7\0\0\0\xc0\x42\0\0\xdd\x07\0\0\xe9\0\ -\0\0\x40\x43\0\0\xee\x07\0\0\x68\0\0\0\x40\x44\0\0\xfd\x07\0\0\x68\0\0\0\x80\ -\x44\0\0\x0a\x08\0\0\xed\0\0\0\xc0\x44\0\0\x15\x08\0\0\xac\0\0\0\xc0\x46\0\0\ -\x1d\x08\0\0\xf2\0\0\0\xc0\x48\0\0\x24\x08\0\0\xc5\0\0\0\0\x49\0\0\x2f\x08\0\0\ -\x61\0\0\0\x80\x49\0\0\x3b\x08\0\0\xf4\0\0\0\xc0\x49\0\0\x49\x08\0\0\xf5\0\0\0\ -\0\x4a\0\0\x54\x08\0\0\x02\0\0\0\x40\x4a\0\0\x64\x08\0\0\xf6\0\0\0\x80\x4a\0\0\ -\x6d\x08\0\0\x54\0\0\0\x40\x4c\0\0\x7e\x08\0\0\x68\0\0\0\x80\x4c\0\0\x90\x08\0\ -\0\x02\0\0\0\xc0\x4c\0\0\xa1\x08\0\0\x02\0\0\0\xe0\x4c\0\0\xb1\x08\0\0\x02\0\0\ -\0\0\x4d\0\0\xbc\x08\0\0\x68\0\0\0\x40\x4d\0\0\xcb\x08\0\0\x02\0\0\0\x80\x4d\0\ -\0\xd9\x08\0\0\x54\0\0\0\xa0\x4d\0\0\xeb\x08\0\0\xf9\0\0\0\xc0\x4d\0\0\xf6\x08\ -\0\0\x55\0\0\0\xc0\x89\0\0\x03\x09\0\0\xfa\0\0\0\0\x8a\0\0\x0c\x09\0\0\xfb\0\0\ -\0\x40\x8a\0\0\x11\x09\0\0\xfc\0\0\0\x80\x8a\0\0\x1f\x09\0\0\xfd\0\0\0\xc0\x8a\ -\0\0\x30\x09\0\0\xfe\0\0\0\0\x8b\0\0\x3b\x09\0\0\xff\0\0\0\x40\x8b\0\0\x4b\x09\ -\0\0\x51\0\0\0\x80\x8b\0\0\x5a\x09\0\0\0\x01\0\0\xc0\x8b\0\0\x67\x09\0\0\x02\ -\x01\0\0\0\x8c\0\0\x6c\x09\0\0\x68\0\0\0\xc0\x8d\0\0\x7a\x09\0\0\x68\0\0\0\0\ -\x8e\0\0\x87\x09\0\0\x68\0\0\0\x40\x8e\0\0\x94\x09\0\0\x03\x01\0\0\x80\x8e\0\0\ -\xa1\x09\0\0\x05\x01\0\0\xc0\x8e\0\0\xb2\x09\0\0\x02\0\0\0\x80\x90\0\0\xca\x09\ -\0\0\x02\0\0\0\xa0\x90\0\0\xe3\x09\0\0\x0a\x01\0\0\xc0\x90\0\0\xeb\x09\0\0\x66\ -\0\0\0\0\x91\0\0\xf3\x09\0\0\x0b\x01\0\0\x80\x91\0\0\xff\x09\0\0\x66\0\0\0\xc0\ -\x91\0\0\x0d\x0a\0\0\x0c\x01\0\0\x40\x92\0\0\x1c\x0a\0\0\x0d\x01\0\0\x80\x92\0\ -\0\x2d\x0a\0\0\x54\0\0\0\0\x97\0\0\x39\x0a\0\0\x18\x01\0\0\x40\x97\0\0\x49\x0a\ -\0\0\x0d\x01\0\0\xc0\x97\0\0\x5a\x0a\0\0\x66\0\0\0\x40\x9c\0\0\x6a\x0a\0\0\x51\ -\0\0\0\xc0\x9c\0\0\x7d\x0a\0\0\x19\x01\0\0\0\x9d\0\0\x87\x0a\0\0\x1a\x01\0\0\ -\x40\x9d\0\0\x8f\x0a\0\0\x1a\x01\0\0\x50\x9d\0\0\x9e\x0a\0\0\x02\0\0\0\x60\x9d\ -\0\0\xac\x0a\0\0\x54\0\0\0\x80\x9d\0\0\xbd\x0a\0\0\x54\0\0\0\xa0\x9d\0\0\xd2\ -\x0a\0\0\x02\0\0\0\xc0\x9d\0\0\xe5\x0a\0\0\x51\0\0\0\0\x9e\0\0\xf8\x0a\0\0\x68\ -\0\0\0\x40\x9e\0\0\x03\x0b\0\0\x68\0\0\0\x80\x9e\0\0\x1c\x0b\0\0\x68\0\0\0\xc0\ -\x9e\0\0\x32\x0b\0\0\xc9\0\0\0\0\x9f\0\0\x3c\x0b\0\0\x1b\x01\0\0\x80\x9f\0\0\ -\x47\x0b\0\0\x1c\x01\0\0\xc0\x9f\0\0\x53\x0b\0\0\x51\0\0\0\0\xa0\0\0\x65\x0b\0\ -\0\x1d\x01\0\0\x40\xa0\0\0\x7a\x0b\0\0\x51\0\0\0\0\xa1\0\0\x8e\x0b\0\0\x1e\x01\ -\0\0\x40\xa1\0\0\x93\x0b\0\0\x52\0\0\0\x80\xa1\0\0\x9c\x0b\0\0\x51\0\0\0\xc0\ -\xa1\0\0\xac\x0b\0\0\x1f\x01\0\0\0\xa2\0\0\0\0\0\0\x21\x01\0\0\xc0\xa2\0\0\xb4\ -\x0b\0\0\x22\x01\0\0\x40\xa3\0\0\xc0\x0b\0\0\x23\x01\0\0\x80\xa3\0\0\xca\x0b\0\ -\0\x25\x01\0\0\0\xa4\0\0\xd1\x0b\0\0\x02\0\0\0\x40\xa4\0\0\xde\x0b\0\0\x54\0\0\ -\0\x60\xa4\0\0\xe7\x0b\0\0\x02\0\0\0\x80\xa4\0\0\xf2\x0b\0\0\x02\0\0\0\xa0\xa4\ -\0\0\x03\x0c\0\0\x51\0\0\0\xc0\xa4\0\0\x15\x0c\0\0\x68\0\0\0\0\xa5\0\0\x24\x0c\ -\0\0\x68\0\0\0\x40\xa5\0\0\x3b\x0c\0\0\x02\0\0\0\x80\xa5\0\0\x4a\x0c\0\0\x02\0\ -\0\0\xa0\xa5\0\0\x59\x0c\0\0\x26\x01\0\0\xc0\xa5\0\0\x63\x0c\0\0\x4c\0\0\0\0\ -\xa6\0\0\x74\x0c\0\0\x58\0\0\0\x40\xa6\0\0\x82\x0c\0\0\x58\0\0\0\x60\xa6\0\0\ -\x96\x0c\0\0\x51\0\0\0\x80\xa6\0\0\xa6\x0c\0\0\x27\x01\0\0\xc0\xa6\0\0\xb3\x0c\ -\0\0\x28\x01\0\0\0\xa7\0\0\xc6\x0c\0\0\x02\0\0\0\x20\xa7\0\0\xd6\x0c\0\0\x54\0\ -\0\0\x40\xa7\0\0\xef\x0c\0\0\x27\x01\0\0\x80\xa7\0\0\xfc\x0c\0\0\x29\x01\0\0\ -\xc0\xa7\0\0\x0b\x0d\0\0\x2a\x01\0\0\0\xa8\0\0\x11\x0d\0\0\x2b\x01\0\0\x40\xa8\ -\0\0\x1b\x0d\0\0\x51\0\0\0\x40\xa8\0\0\x2d\x0d\0\0\x02\0\0\0\x80\xa8\0\0\x40\ -\x0d\0\0\x61\0\0\0\xc0\xa8\0\0\x50\x0d\0\0\x2c\x01\0\0\0\xa9\0\0\x61\x0d\0\0\ -\x30\x01\0\0\x80\xab\0\0\x6f\x0d\0\0\x56\0\0\0\xc0\xab\0\0\x7e\x0d\0\0\x55\0\0\ -\0\0\xac\0\0\x87\x0d\0\0\x31\x01\0\0\x40\xac\0\0\x93\x0d\0\0\x32\x01\0\0\x80\ -\xac\0\0\x9b\x0d\0\0\x55\0\0\0\xc0\xac\0\0\xa5\x0d\0\0\x69\0\0\0\0\xad\0\0\xb0\ -\x0d\0\0\x68\0\0\0\x40\xad\0\0\xb9\x0d\0\0\x69\0\0\0\x80\xad\0\x01\xc2\x0d\0\0\ -\x69\0\0\0\x81\xad\0\x01\xd1\x0d\0\0\x69\0\0\0\x82\xad\0\x3e\xe0\x0d\0\0\xc9\0\ -\0\0\xc0\xad\0\0\xec\x0d\0\0\x02\0\0\0\x40\xae\0\0\xf6\x0d\0\0\x33\x01\0\0\x80\ -\xae\0\0\x0a\x0e\0\0\x33\x01\0\0\xc0\xae\0\0\x13\x0e\0\0\xc9\0\0\0\0\xaf\0\0\ -\x22\x0e\0\0\x34\x01\0\0\0\xb0\0\0\x98\x01\0\0\x04\0\0\x04\x18\0\0\0\xb8\x01\0\ -\0\x51\0\0\0\0\0\0\0\x29\x0e\0\0\x51\0\0\0\x40\0\0\0\x36\x0e\0\0\x52\0\0\0\x80\ -\0\0\0\x3d\x0e\0\0\x52\0\0\0\xa0\0\0\0\x41\x0e\0\0\0\0\0\x01\x08\0\0\0\x40\0\0\ -\0\x4f\x0e\0\0\0\0\0\x08\x53\0\0\0\x53\x0e\0\0\0\0\0\x08\x54\0\0\0\x59\x0e\0\0\ -\0\0\0\x01\x04\0\0\0\x20\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\x66\x0e\0\0\0\0\0\x08\ -\x57\0\0\0\x71\x0e\0\0\x01\0\0\x04\x04\0\0\0\x81\x0e\0\0\x58\0\0\0\0\0\0\0\x86\ -\x0e\0\0\0\0\0\x08\x59\0\0\0\0\0\0\0\x01\0\0\x04\x04\0\0\0\x8f\x0e\0\0\x02\0\0\ -\0\0\0\0\0\x97\x0e\0\0\x04\0\0\x04\x10\0\0\0\xaa\x0e\0\0\x5b\0\0\0\0\0\0\0\0\0\ -\0\0\x5d\0\0\0\x40\0\0\0\xb0\x0e\0\0\x5e\0\0\0\x60\0\0\0\xb4\x0e\0\0\x5e\0\0\0\ -\x70\0\0\0\xb8\x0e\0\0\x01\0\0\x04\x08\0\0\0\xc3\x0e\0\0\x5c\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\x02\x5b\0\0\0\0\0\0\0\x02\0\0\x05\x04\0\0\0\xc8\x0e\0\0\x54\0\0\0\0\ -\0\0\0\xd0\x0e\0\0\x58\0\0\0\0\0\0\0\xd8\x0e\0\0\0\0\0\x08\x5f\0\0\0\xdc\x0e\0\ -\0\0\0\0\x08\x60\0\0\0\xe2\x0e\0\0\0\0\0\x01\x02\0\0\0\x10\0\0\0\0\0\0\0\0\0\0\ -\x02\x4f\0\0\0\xf1\x0e\0\0\x0f\0\0\x04\0\x01\0\0\xfe\x0e\0\0\x63\0\0\0\0\0\0\0\ -\x03\x0f\0\0\x64\0\0\0\x80\0\0\0\x0c\x0f\0\0\x66\0\0\0\x40\x01\0\0\x1b\x02\0\0\ -\x54\0\0\0\xc0\x01\0\0\x17\x0f\0\0\x68\0\0\0\0\x02\0\0\x22\x0f\0\0\x68\0\0\0\ -\x40\x02\0\0\x33\x0f\0\0\x68\0\0\0\x80\x02\0\0\x3c\x0f\0\0\x68\0\0\0\xc0\x02\0\ -\0\x52\x0f\0\0\x68\0\0\0\0\x03\0\0\x60\x0f\0\0\x02\0\0\0\x40\x03\0\0\xa4\x05\0\ -\0\x6a\0\0\0\x80\x03\0\0\x66\x0f\0\0\x6b\0\0\0\xc0\x03\0\0\x6d\x0f\0\0\x6b\0\0\ -\0\0\x04\0\0\x72\x0f\0\0\x51\0\0\0\x40\x04\0\0\x82\x0f\0\0\x6c\0\0\0\0\x06\0\0\ -\x86\x0f\0\0\x02\0\0\x04\x10\0\0\0\x92\x0f\0\0\x51\0\0\0\0\0\0\0\x99\x0f\0\0\ -\x52\0\0\0\x40\0\0\0\xa4\x0f\0\0\x03\0\0\x04\x18\0\0\0\xac\x0f\0\0\x51\0\0\0\0\ -\0\0\0\xbe\x0f\0\0\x65\0\0\0\x40\0\0\0\xc7\x0f\0\0\x65\0\0\0\x80\0\0\0\0\0\0\0\ -\0\0\0\x02\x64\0\0\0\xcf\x0f\0\0\x02\0\0\x04\x10\0\0\0\xc3\x0e\0\0\x67\0\0\0\0\ -\0\0\0\xd9\x0f\0\0\x67\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\x02\x66\0\0\0\xde\x0f\0\0\ -\0\0\0\x08\x69\0\0\0\xe2\x0f\0\0\0\0\0\x08\x4c\0\0\0\0\0\0\0\0\0\0\x02\x62\0\0\ -\0\0\0\0\0\0\0\0\x02\xec\x01\0\0\xe8\x0f\0\0\x09\0\0\x04\x40\0\0\0\xf2\x0f\0\0\ -\x68\0\0\0\0\0\0\0\x03\x10\0\0\x68\0\0\0\x40\0\0\0\x0c\x10\0\0\x68\0\0\0\x80\0\ -\0\0\x19\x10\0\0\x52\0\0\0\xc0\0\0\0\x22\x10\0\0\x52\0\0\0\xe0\0\0\0\x31\x10\0\ -\0\x51\0\0\0\0\x01\0\0\x3a\x10\0\0\x51\0\0\0\x40\x01\0\0\x47\x10\0\0\x51\0\0\0\ -\x80\x01\0\0\x50\x10\0\0\x6d\0\0\0\xc0\x01\0\0\x50\x10\0\0\x02\0\0\x04\x08\0\0\ -\0\x59\x10\0\0\x54\0\0\0\0\0\0\0\x62\x10\0\0\x54\0\0\0\x20\0\0\0\x67\x10\0\0\ -\x07\0\0\x04\x30\0\0\0\x77\x10\0\0\x66\0\0\0\0\0\0\0\x80\x10\0\0\x51\0\0\0\x80\ -\0\0\0\x88\x10\0\0\x51\0\0\0\xc0\0\0\0\x97\x10\0\0\x54\0\0\0\0\x01\0\0\x1b\x02\ -\0\0\x60\0\0\0\x20\x01\0\0\xa2\x10\0\0\x60\0\0\0\x30\x01\0\0\xaa\x10\0\0\x6f\0\ -\0\0\x40\x01\0\0\0\0\0\0\0\0\0\x02\x6e\0\0\0\xaf\x10\0\0\x10\0\0\x84\xe0\0\0\0\ -\xa4\x0f\0\0\x64\0\0\0\0\0\0\0\xbf\x10\0\0\x68\0\0\0\xc0\0\0\0\xca\x10\0\0\x68\ -\0\0\0\0\x01\0\0\xd6\x10\0\0\x68\0\0\0\x40\x01\0\0\xe0\x10\0\0\x68\0\0\0\x80\ -\x01\0\0\xe6\x10\0\0\x68\0\0\0\xc0\x01\0\0\xf1\x10\0\0\x71\0\0\0\0\x02\0\0\xf9\ -\x10\0\0\x68\0\0\0\x40\x02\0\0\xb8\x01\0\0\x54\0\0\0\x80\x02\0\0\x02\x11\0\0\ -\x54\0\0\0\xa0\x02\0\x01\x0f\x11\0\0\x54\0\0\0\xa1\x02\0\x01\x1a\x11\0\0\x54\0\ -\0\0\xa2\x02\0\x01\x2c\x11\0\0\x54\0\0\0\xa3\x02\0\x01\x37\x11\0\0\x74\0\0\0\ -\xc0\x02\0\0\x40\x11\0\0\x74\0\0\0\xc0\x04\0\0\x4f\x11\0\0\x7f\0\0\0\xc0\x06\0\ -\0\x55\x11\0\0\0\0\0\x08\x72\0\0\0\x59\x11\0\0\0\0\0\x08\x73\0\0\0\x5f\x11\0\0\ -\0\0\0\x01\x08\0\0\0\x40\0\0\x01\x69\x11\0\0\x08\0\0\x04\x40\0\0\0\x71\x11\0\0\ -\x75\0\0\0\0\0\0\0\x76\x11\0\0\x76\0\0\0\0\x01\0\0\x83\x11\0\0\x77\0\0\0\x40\ -\x01\0\0\x8c\x11\0\0\x7b\0\0\0\x80\x01\0\0\x91\x11\0\0\x7c\0\0\0\xc0\x01\0\0\ -\x97\x11\0\0\x7c\0\0\0\xc8\x01\0\0\x9e\x11\0\0\x7c\0\0\0\xd0\x01\0\0\xa6\x11\0\ -\0\x7c\0\0\0\xd8\x01\0\0\xae\x11\0\0\x02\0\0\x04\x20\0\0\0\x71\x11\0\0\x64\0\0\ -\0\0\0\0\0\xbe\x11\0\0\x76\0\0\0\xc0\0\0\0\xc6\x11\0\0\0\0\0\x08\x71\0\0\0\0\0\ -\0\0\0\0\0\x02\x78\0\0\0\0\0\0\0\x01\0\0\x0d\x79\0\0\0\0\0\0\0\x7a\0\0\0\xce\ -\x11\0\0\x02\0\0\x06\x04\0\0\0\xde\x11\0\0\0\0\0\0\xf0\x11\0\0\x01\0\0\0\0\0\0\ -\0\0\0\0\x02\x74\0\0\0\0\0\0\0\0\0\0\x02\xf7\x01\0\0\0\x12\0\0\0\0\0\x08\x7d\0\ -\0\0\x03\x12\0\0\0\0\0\x08\x7e\0\0\0\x08\x12\0\0\0\0\0\x01\x01\0\0\0\x08\0\0\0\ -\0\0\0\0\0\0\0\x02\x70\0\0\0\0\0\0\0\0\0\0\x02\x81\0\0\0\0\0\0\0\0\0\0\x0a\x1a\ -\x02\0\0\0\0\0\0\0\0\0\x02\x20\x02\0\0\x16\x12\0\0\x1c\0\0\x04\0\x01\0\0\x27\ -\x12\0\0\x68\0\0\0\0\0\0\0\x32\x12\0\0\x68\0\0\0\x40\0\0\0\x3b\x12\0\0\x68\0\0\ -\0\x80\0\0\0\x46\x12\0\0\x68\0\0\0\xc0\0\0\0\x4f\x12\0\0\x68\0\0\0\0\x01\0\0\ -\x5c\x12\0\0\x68\0\0\0\x40\x01\0\0\x67\x12\0\0\x68\0\0\0\x80\x01\0\0\x73\x12\0\ -\0\x68\0\0\0\xc0\x01\0\0\x7d\x12\0\0\x71\0\0\0\0\x02\0\0\x8f\x12\0\0\x68\0\0\0\ -\x40\x02\0\0\x9b\x12\0\0\x68\0\0\0\x80\x02\0\0\xa5\x12\0\0\x71\0\0\0\xc0\x02\0\ -\0\xb7\x12\0\0\x68\0\0\0\0\x03\0\0\xc0\x12\0\0\x68\0\0\0\x40\x03\0\0\xca\x12\0\ -\0\x68\0\0\0\x80\x03\0\0\xdd\x12\0\0\x68\0\0\0\xc0\x03\0\0\xf9\x12\0\0\x68\0\0\ -\0\0\x04\0\0\x16\x13\0\0\x68\0\0\0\x40\x04\0\0\x2f\x13\0\0\x68\0\0\0\x80\x04\0\ -\0\x44\x13\0\0\x68\0\0\0\xc0\x04\0\0\x4f\x13\0\0\x68\0\0\0\0\x05\0\0\x5f\x13\0\ -\0\x68\0\0\0\x40\x05\0\0\x72\x13\0\0\x68\0\0\0\x80\x05\0\0\x83\x13\0\0\x68\0\0\ -\0\xc0\x05\0\0\x95\x13\0\0\x68\0\0\0\0\x06\0\0\xa7\x13\0\0\x68\0\0\0\x40\x06\0\ -\0\xc2\x13\0\0\x68\0\0\0\x80\x06\0\0\xd5\x13\0\0\x68\0\0\0\xc0\x06\0\0\0\0\0\0\ -\0\0\0\x02\x85\0\0\0\0\0\0\0\0\0\0\x0a\x86\0\0\0\xe5\x13\0\0\0\0\0\x08\x88\0\0\ -\0\0\0\0\0\0\0\0\x02\x86\0\0\0\xef\x13\0\0\x01\0\0\x04\x10\0\0\0\xf7\x13\0\0\ -\x89\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x51\0\0\0\x04\0\0\0\x02\0\0\0\xfc\ -\x13\0\0\x02\0\0\x05\x04\0\0\0\x08\x14\0\0\x8b\0\0\0\0\0\0\0\x0a\x14\0\0\x52\0\ -\0\0\0\0\0\0\0\0\0\0\x04\0\0\x04\x04\0\0\0\x5b\x07\0\0\x7c\0\0\0\0\0\0\0\x0c\ -\x14\0\0\x7c\0\0\0\x08\0\0\0\x14\x14\0\0\x7c\0\0\0\x10\0\0\0\x1d\x14\0\0\x7c\0\ -\0\0\x18\0\0\0\0\0\0\0\0\0\0\x02\x14\x02\0\0\xf7\x03\0\0\x04\0\0\x04\x20\0\0\0\ -\x25\x14\0\0\x51\0\0\0\0\0\0\0\x2c\x14\0\0\x4c\0\0\0\x40\0\0\0\x36\x14\0\0\x4c\ -\0\0\0\x80\0\0\0\x43\x14\0\0\x4c\0\0\0\xc0\0\0\0\x4f\x14\0\0\x03\0\0\x04\x28\0\ -\0\0\x21\x02\0\0\x02\0\0\0\0\0\0\0\x5a\x14\0\0\x66\0\0\0\x40\0\0\0\x64\x14\0\0\ -\x66\0\0\0\xc0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\0\0\x6e\x14\0\0\x02\0\0\x04\x14\ -\0\0\0\x7c\x14\0\0\x02\0\0\0\0\0\0\0\x83\x14\0\0\x06\0\0\0\x20\0\0\0\x74\x05\0\ -\0\x03\0\0\x04\x38\0\0\0\x89\x14\0\0\x51\0\0\0\0\0\0\0\x93\x14\0\0\x92\0\0\0\ -\x40\0\0\0\0\0\0\0\x96\0\0\0\x80\0\0\0\0\0\0\0\0\0\0\x02\x93\0\0\0\0\0\0\0\x01\ -\0\0\x0d\x94\0\0\0\0\0\0\0\x95\0\0\0\x96\x14\0\0\0\0\0\x01\x08\0\0\0\x40\0\0\ -\x01\0\0\0\0\0\0\0\x02\x91\0\0\0\0\0\0\0\x03\0\0\x05\x28\0\0\0\x9b\x14\0\0\x97\ -\0\0\0\0\0\0\0\xa1\x14\0\0\x99\0\0\0\0\0\0\0\xab\x14\0\0\xa0\0\0\0\0\0\0\0\0\0\ -\0\0\x06\0\0\x04\x28\0\0\0\xb0\x14\0\0\x98\0\0\0\0\0\0\0\xb6\x14\0\0\x52\0\0\0\ -\x40\0\0\0\xb8\x01\0\0\x52\0\0\0\x60\0\0\0\xba\x14\0\0\x52\0\0\0\x80\0\0\0\xc1\ -\x14\0\0\x68\0\0\0\xc0\0\0\0\xc6\x14\0\0\x98\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\x02\ -\x52\0\0\0\0\0\0\0\x04\0\0\x04\x18\0\0\0\xcd\x14\0\0\x9a\0\0\0\0\0\0\0\x19\0\0\ -\0\x9c\0\0\0\x20\0\0\0\0\0\0\0\x9d\0\0\0\x40\0\0\0\xbe\x11\0\0\x68\0\0\0\x80\0\ -\0\0\xd5\x14\0\0\0\0\0\x08\x9b\0\0\0\xdf\x14\0\0\0\0\0\x08\x02\0\0\0\xf2\x14\0\ -\0\x03\0\0\x06\x04\0\0\0\0\x15\0\0\0\0\0\0\x08\x15\0\0\x01\0\0\0\x12\x15\0\0\ -\x02\0\0\0\0\0\0\0\x02\0\0\x05\x08\0\0\0\x1c\x15\0\0\x9e\0\0\0\0\0\0\0\x21\x15\ -\0\0\x9f\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\xe3\x01\0\0\0\0\0\0\0\0\0\x02\x07\x02\ -\0\0\0\0\0\0\x05\0\0\x04\x20\0\0\0\x2d\x15\0\0\xa1\0\0\0\0\0\0\0\x32\x15\0\0\ -\x02\0\0\0\x40\0\0\0\x37\x15\0\0\x02\0\0\0\x60\0\0\0\x43\x15\0\0\x51\0\0\0\x80\ -\0\0\0\x4a\x15\0\0\x51\0\0\0\xc0\0\0\0\0\0\0\0\0\0\0\x02\x13\x02\0\0\x52\x15\0\ -\0\0\0\0\x08\xa3\0\0\0\x58\x15\0\0\0\0\0\x08\x02\0\0\0\0\0\0\0\0\0\0\x02\x0f\ -\x02\0\0\x67\x15\0\0\x02\0\0\x04\x10\0\0\0\xc3\x0e\0\0\xa6\0\0\0\0\0\0\0\x72\ -\x15\0\0\xa7\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\x02\xa5\0\0\0\0\0\0\0\0\0\0\x02\xa6\ -\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\xa5\0\0\0\x04\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\ -\x02\xed\x01\0\0\0\0\0\0\0\0\0\x02\x02\0\0\0\x56\x06\0\0\x03\0\0\x04\x50\0\0\0\ -\x44\x06\0\0\x68\0\0\0\0\0\0\0\x4a\x06\0\0\x68\0\0\0\x40\0\0\0\x78\x15\0\0\xac\ -\0\0\0\x80\0\0\0\x7d\x15\0\0\0\0\0\x08\xad\0\0\0\x8c\x15\0\0\x05\0\0\x04\x40\0\ -\0\0\x99\x15\0\0\xae\0\0\0\0\0\0\0\xa2\x15\0\0\x54\0\0\0\x20\0\0\0\xa8\x15\0\0\ -\x54\0\0\0\x40\0\0\0\xb2\x15\0\0\x55\0\0\0\x80\0\0\0\xb8\x15\0\0\xb3\0\0\0\xc0\ -\0\0\0\xc0\x15\0\0\0\0\0\x08\xaf\0\0\0\xd0\x15\0\0\x01\0\0\x04\x04\0\0\0\0\0\0\ -\0\xb0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\x05\x04\0\0\0\xb6\x14\0\0\x58\0\0\0\0\0\0\ -\0\0\0\0\0\xb1\0\0\0\0\0\0\0\0\0\0\0\xb2\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\x04\x02\ -\0\0\0\xda\x15\0\0\x7c\0\0\0\0\0\0\0\x7e\x07\0\0\x7c\0\0\0\x08\0\0\0\0\0\0\0\ -\x02\0\0\x04\x04\0\0\0\xe1\x15\0\0\x5e\0\0\0\0\0\0\0\xf0\x15\0\0\x5e\0\0\0\x10\ -\0\0\0\xf5\x15\0\0\x06\0\0\x04\x28\0\0\0\x01\x16\0\0\xb4\0\0\0\0\0\0\0\x05\x16\ -\0\0\xc1\0\0\0\x40\0\0\0\x11\x16\0\0\xbe\0\0\0\xc0\0\0\0\x16\x16\0\0\x7c\0\0\0\ -\0\x01\0\0\x26\x16\0\0\x7c\0\0\0\x08\x01\0\0\x36\x16\0\0\x7c\0\0\0\x10\x01\0\0\ -\0\0\0\0\0\0\0\x02\xfd\x01\0\0\0\0\0\0\0\0\0\x02\xb6\0\0\0\x40\x16\0\0\x0e\0\0\ -\x04\xc0\0\0\0\x4b\x16\0\0\xa5\0\0\0\0\0\0\0\x56\x16\0\0\x66\0\0\0\x80\0\0\0\ -\x61\x16\0\0\x66\0\0\0\0\x01\0\0\x6d\x16\0\0\x66\0\0\0\x80\x01\0\0\x01\x16\0\0\ -\xb7\0\0\0\0\x02\0\0\x7a\x16\0\0\x54\0\0\0\x40\x02\0\0\x83\x16\0\0\x54\0\0\0\ -\x60\x02\0\0\x8e\x16\0\0\x51\0\0\0\x80\x02\0\0\x99\x16\0\0\xbd\0\0\0\xc0\x02\0\ -\0\xa6\x16\0\0\x02\0\0\0\x40\x05\0\0\x11\x16\0\0\xbe\0\0\0\x80\x05\0\0\x26\x16\ -\0\0\x7c\0\0\0\xc0\x05\0\0\x16\x16\0\0\x7c\0\0\0\xc8\x05\0\0\x36\x16\0\0\x7c\0\ -\0\0\xd0\x05\0\0\0\0\0\0\0\0\0\x02\xb8\0\0\0\0\0\0\0\0\0\0\x0a\xfe\x01\0\0\0\0\ -\0\0\0\0\0\x02\xba\0\0\0\0\0\0\0\0\0\0\x0a\xbb\0\0\0\xb3\x16\0\0\x04\0\0\x04\ -\x18\0\0\0\x4b\x16\0\0\xa5\0\0\0\0\0\0\0\xbe\x16\0\0\x52\0\0\0\x80\0\0\0\xc3\ -\x16\0\0\x52\0\0\0\xa0\0\0\0\xce\x16\0\0\xbc\0\0\0\xc0\0\0\0\0\0\0\0\0\0\0\x03\ -\0\0\0\0\x51\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\xb9\0\0\0\x04\0\ -\0\0\x0a\0\0\0\0\0\0\0\0\0\0\x02\xbf\0\0\0\0\0\0\0\0\0\0\x0a\xc0\0\0\0\xd6\x16\ -\0\0\0\0\0\x01\x01\0\0\0\x08\0\0\x01\0\0\0\0\0\0\0\x03\0\0\0\0\xb5\0\0\0\x04\0\ -\0\0\x02\0\0\0\x9a\x06\0\0\x03\0\0\x04\x50\0\0\0\xdb\x16\0\0\xc7\0\0\0\0\0\0\0\ -\xe1\x16\0\0\x54\0\0\0\x40\x02\0\0\xef\x16\0\0\x54\0\0\0\x60\x02\0\0\xfd\x16\0\ -\0\x02\0\0\x04\x18\0\0\0\x11\x17\0\0\x68\0\0\0\0\0\0\0\x19\x17\0\0\xc4\0\0\0\ -\x40\0\0\0\x20\x17\0\0\x01\0\0\x04\x10\0\0\0\x30\x17\0\0\xc5\0\0\0\0\0\0\0\x38\ -\x17\0\0\x02\0\0\x04\x10\0\0\0\x30\x17\0\0\xc6\0\0\0\0\0\0\0\x47\x17\0\0\x65\0\ -\0\0\x40\0\0\0\x30\x17\0\0\x01\0\0\x04\x08\0\0\0\xa4\x0f\0\0\x65\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\x03\0\0\0\0\xc3\0\0\0\x04\0\0\0\x03\0\0\0\xaa\x06\0\0\x02\0\0\ -\x04\x18\0\0\0\x53\x17\0\0\xc9\0\0\0\0\0\0\0\x58\x17\0\0\x54\0\0\0\x80\0\0\0\ -\x62\x17\0\0\x02\0\0\x04\x10\0\0\0\xc3\x0e\0\0\xca\0\0\0\0\0\0\0\x70\x17\0\0\ -\xcb\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\x02\xc9\0\0\0\0\0\0\0\0\0\0\x02\xcc\0\0\0\0\ -\0\0\0\x01\0\0\x0d\0\0\0\0\0\0\0\0\xca\0\0\0\0\0\0\0\0\0\0\x02\xce\0\0\0\0\0\0\ -\0\0\0\0\x0a\xee\x01\0\0\0\0\0\0\0\0\0\x02\xfc\x01\0\0\0\0\0\0\0\0\0\x03\0\0\0\ -\0\xc0\0\0\0\x04\0\0\0\x10\0\0\0\0\0\0\0\0\0\0\x02\x04\x02\0\0\x75\x17\0\0\x01\ -\0\0\x04\x08\0\0\0\x7e\x17\0\0\xd3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x1c\x02\0\0\ -\x88\x17\0\0\x01\0\0\x04\x10\0\0\0\x91\x17\0\0\x66\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\x02\xf3\x01\0\0\0\0\0\0\0\0\0\x02\xf2\x01\0\0\0\0\0\0\0\0\0\x02\xfa\x01\0\0\0\ -\0\0\0\0\0\0\x02\x05\x02\0\0\0\0\0\0\0\0\0\x02\x1e\x02\0\0\0\0\0\0\0\0\0\x02\ -\x1d\x02\0\0\x9b\x17\0\0\0\0\0\x08\xdc\0\0\0\0\0\0\0\x01\0\0\x04\x08\0\0\0\xa4\ -\x17\0\0\xdd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x51\0\0\0\x04\0\0\0\x01\0\ -\0\0\xa8\x17\0\0\x02\0\0\x04\x18\0\0\0\xb3\x17\0\0\x66\0\0\0\0\0\0\0\x4c\x07\0\ -\0\xdb\0\0\0\x80\0\0\0\xb8\x17\0\0\0\0\0\x08\xe0\0\0\0\xbf\x17\0\0\0\0\0\x08\ -\xe1\0\0\0\xcf\x17\0\0\0\0\0\x08\x51\0\0\0\0\0\0\0\0\0\0\x02\xe4\x01\0\0\xe0\ -\x17\0\0\0\0\0\x08\xe4\0\0\0\0\0\0\0\x01\0\0\x04\x04\0\0\0\xb6\x14\0\0\xe5\0\0\ -\0\0\0\0\0\xe7\x17\0\0\0\0\0\x08\xe6\0\0\0\xed\x17\0\0\0\0\0\x08\x54\0\0\0\xd5\ -\x07\0\0\x03\0\0\x04\x10\0\0\0\xfe\x17\0\0\x02\0\0\0\0\0\0\0\x03\x18\0\0\x58\0\ -\0\0\x20\0\0\0\x10\x18\0\0\xe8\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\x02\x1b\x02\0\0\ -\x17\x18\0\0\x04\0\0\x04\x20\0\0\0\x2d\x18\0\0\xea\0\0\0\0\0\0\0\x36\x18\0\0\ -\x51\0\0\0\x40\0\0\0\x3d\x18\0\0\x51\0\0\0\x80\0\0\0\x41\x18\0\0\xeb\0\0\0\xc0\ -\0\0\0\0\0\0\0\0\0\0\x02\xc0\0\0\0\x4d\x18\0\0\0\0\0\x08\xec\0\0\0\x52\x18\0\0\ -\0\0\0\x01\x01\0\0\0\x08\0\0\x04\x58\x18\0\0\0\0\0\x08\xee\0\0\0\x63\x18\0\0\ -\x01\0\0\x04\x40\0\0\0\0\0\0\0\xef\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\x05\x40\0\0\0\ -\x6c\x18\0\0\xad\0\0\0\0\0\0\0\0\0\0\0\xf0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\x04\ -\x40\0\0\0\x72\x18\0\0\xf1\0\0\0\0\0\0\0\xb8\x15\0\0\xb3\0\0\0\xc0\0\0\0\0\0\0\ -\0\0\0\0\x03\0\0\0\0\x7c\0\0\0\x04\0\0\0\x18\0\0\0\x7c\x18\0\0\x01\0\0\x04\x08\ -\0\0\0\xc3\x0e\0\0\xf3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\xf2\0\0\0\0\0\0\0\0\0\0\ -\x02\x19\x02\0\0\0\0\0\0\0\0\0\x02\x03\x02\0\0\x88\x18\0\0\x09\0\0\x04\x38\0\0\ -\0\x98\x18\0\0\x54\0\0\0\0\0\0\0\xa3\x18\0\0\x51\0\0\0\x40\0\0\0\xb5\x18\0\0\ -\x51\0\0\0\x80\0\0\0\xc8\x18\0\0\x54\0\0\0\xc0\0\0\0\xdd\x18\0\0\x54\0\0\0\xe0\ -\0\0\0\xf3\x18\0\0\x51\0\0\0\0\x01\0\0\x06\x19\0\0\x51\0\0\0\x40\x01\0\0\x18\ -\x19\0\0\x54\0\0\0\x80\x01\0\0\x2e\x19\0\0\x54\0\0\0\xa0\x01\0\0\x43\x19\0\0\ -\x0c\0\0\x84\x28\0\0\0\x4d\x19\0\0\x68\0\0\0\0\0\0\0\x5c\x19\0\0\x51\0\0\0\x40\ -\0\0\0\x67\x19\0\0\xf8\0\0\0\x80\0\0\0\x70\x19\0\0\xf8\0\0\0\xc0\0\0\0\x7a\x19\ -\0\0\x54\0\0\0\0\x01\0\x0d\x84\x19\0\0\x54\0\0\0\x0d\x01\0\x02\x90\x19\0\0\x54\ -\0\0\0\x0f\x01\0\x01\x98\x19\0\0\x54\0\0\0\x10\x01\0\x02\x9d\x19\0\0\x54\0\0\0\ -\x12\x01\0\x01\xa3\x19\0\0\x54\0\0\0\x13\x01\0\x01\xb0\x19\0\0\x54\0\0\0\x14\ -\x01\0\x0c\xbb\x19\0\0\x54\0\0\0\x20\x01\0\0\0\0\0\0\0\0\0\x02\xb3\0\0\0\0\0\0\ -\0\0\0\0\x03\0\0\0\0\xf7\0\0\0\x04\0\0\0\x30\0\0\0\0\0\0\0\0\0\0\x02\xe6\x01\0\ -\0\0\0\0\0\0\0\0\x02\xe7\x01\0\0\0\0\0\0\0\0\0\x02\x15\x02\0\0\0\0\0\0\0\0\0\ -\x02\xe5\x01\0\0\0\0\0\0\0\0\0\x02\xf9\x01\0\0\0\0\0\0\0\0\0\x02\xeb\x01\0\0\0\ -\0\0\0\0\0\0\x02\x01\x01\0\0\xc5\x19\0\0\0\0\0\x08\xfb\x01\0\0\xd6\x19\0\0\x07\ -\0\0\x04\x38\0\0\0\xe9\x19\0\0\x68\0\0\0\0\0\0\0\xef\x19\0\0\x68\0\0\0\x40\0\0\ -\0\xf5\x19\0\0\x68\0\0\0\x80\0\0\0\xfb\x19\0\0\x68\0\0\0\xc0\0\0\0\x01\x1a\0\0\ -\x68\0\0\0\0\x01\0\0\x0c\x1a\0\0\x68\0\0\0\x40\x01\0\0\x18\x1a\0\0\x68\0\0\0\ -\x80\x01\0\0\x2e\x1a\0\0\0\0\0\x08\x04\x01\0\0\0\0\0\0\x01\0\0\x04\x08\0\0\0\ -\xf7\x13\0\0\xdd\0\0\0\0\0\0\0\x39\x1a\0\0\0\0\0\x08\x06\x01\0\0\x4d\x1a\0\0\ -\x02\0\0\x04\x38\0\0\0\x5f\x1a\0\0\x07\x01\0\0\0\0\0\0\x78\x15\0\0\x09\x01\0\0\ -\x80\x01\0\0\x68\x1a\0\0\0\0\0\x08\x08\x01\0\0\x5f\x1a\0\0\x02\0\0\x04\x30\0\0\ -\0\x73\x1a\0\0\x54\0\0\0\0\0\0\0\xb8\x15\0\0\xb3\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\ -\x02\xed\0\0\0\0\0\0\0\0\0\0\x02\xef\x01\0\0\0\0\0\0\0\0\0\x02\x17\x02\0\0\0\0\ -\0\0\0\0\0\x02\xf6\x01\0\0\x7c\x1a\0\0\x06\0\0\x04\x90\0\0\0\xb2\x15\0\0\x0e\ -\x01\0\0\0\0\0\0\x82\x1a\0\0\xac\0\0\0\x40\0\0\0\x8c\x1a\0\0\x11\x01\0\0\x40\ -\x02\0\0\x90\x1a\0\0\x66\0\0\0\x80\x02\0\0\xa2\x15\0\0\x55\0\0\0\0\x03\0\0\xb8\ -\x15\0\0\xb3\0\0\0\x40\x03\0\0\x9a\x1a\0\0\0\0\0\x08\x0f\x01\0\0\xa8\x1a\0\0\0\ -\0\0\x08\x10\x01\0\0\0\0\0\0\x01\0\0\x04\x08\0\0\0\x8f\x0e\0\0\x71\0\0\0\0\0\0\ -\0\xb3\x1a\0\0\x01\0\0\x04\x04\0\0\0\xf0\x15\0\0\x58\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\x02\x13\x01\0\0\xc9\x1a\0\0\x1e\0\0\x04\xc0\x01\0\0\xdc\x1a\0\0\x14\x01\0\0\ -\0\0\0\0\x78\x15\0\0\xac\0\0\0\x40\0\0\0\x7c\x1a\0\0\x0d\x01\0\0\x40\x02\0\0\ -\xe0\x1a\0\0\x66\0\0\0\xc0\x06\0\0\xf0\x1a\0\0\x15\x01\0\0\x40\x07\0\0\xfe\x1a\ -\0\0\x15\x01\0\0\xc0\x07\0\0\x0e\x1b\0\0\x66\0\0\0\x40\x08\0\0\x19\x1b\0\0\x66\ -\0\0\0\xc0\x08\0\0\x27\x1b\0\0\x66\0\0\0\x40\x09\0\0\x37\x1b\0\0\x02\0\0\0\xc0\ -\x09\0\0\x41\x1b\0\0\x02\0\0\0\xe0\x09\0\0\x4b\x1b\0\0\x02\0\0\0\0\x0a\0\0\x53\ -\x1b\0\0\x02\0\0\0\x20\x0a\0\0\x5d\x1b\0\0\x02\0\0\0\x40\x0a\0\0\x65\x1b\0\0\ -\x02\0\0\0\x60\x0a\0\0\x6d\x1b\0\0\x02\0\0\0\x80\x0a\0\0\x7c\x1b\0\0\x02\0\0\0\ -\xa0\x0a\0\0\x8d\x1b\0\0\x56\0\0\0\xc0\x0a\0\0\x96\x1b\0\0\x61\0\0\0\0\x0b\0\0\ -\xc1\x14\0\0\x68\0\0\0\x40\x0b\0\0\x9b\x1b\0\0\x68\0\0\0\x80\x0b\0\0\xa5\x1b\0\ -\0\x68\0\0\0\xc0\x0b\0\0\xb0\x1b\0\0\x12\x01\0\0\0\x0c\0\0\xbb\x1b\0\0\x68\0\0\ -\0\x40\x0c\0\0\xc6\x1b\0\0\x68\0\0\0\x80\x0c\0\0\xbb\x19\0\0\x02\0\0\0\xc0\x0c\ -\0\0\xd1\x1b\0\0\x02\0\0\0\xe0\x0c\0\0\xdc\x1b\0\0\x55\0\0\0\0\x0d\0\0\x62\x17\ -\0\0\xc9\0\0\0\x40\x0d\0\0\xea\x1b\0\0\x16\x01\0\0\xc0\x0d\0\0\0\0\0\0\0\0\0\ -\x02\x12\x02\0\0\xf5\x1b\0\0\x02\0\0\x04\x10\0\0\0\x07\x1c\0\0\xc6\0\0\0\0\0\0\ -\0\x0c\x1c\0\0\x68\0\0\0\x40\0\0\0\x12\x1c\0\0\0\0\0\x08\x17\x01\0\0\0\0\0\0\ -\x01\0\0\x04\x08\0\0\0\x1a\x1c\0\0\x0e\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\ -\0\x12\x01\0\0\x04\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\x02\x01\x02\0\0\x1c\x1c\0\0\0\ -\0\0\x01\x02\0\0\0\x10\0\0\x01\0\0\0\0\0\0\0\x02\x06\x02\0\0\0\0\0\0\0\0\0\x02\ -\x51\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x51\0\0\0\x04\0\0\0\x03\0\0\0\0\0\0\0\0\0\ -\0\x02\x18\x02\0\0\x22\x1c\0\0\x03\0\0\x04\x18\0\0\0\x37\x1c\0\0\x20\x01\0\0\0\ -\0\0\0\x3c\x1c\0\0\xeb\0\0\0\x80\0\0\0\x4b\x1c\0\0\xeb\0\0\0\x88\0\0\0\x54\x1c\ -\0\0\x01\0\0\x04\x10\0\0\0\xef\x13\0\0\x88\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\x05\ -\x10\0\0\0\x6e\x1c\0\0\x56\0\0\0\0\0\0\0\x78\x1c\0\0\xc9\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\x02\x11\x02\0\0\x7c\x1c\0\0\x03\0\0\x04\x10\0\0\0\x86\x1c\0\0\x24\x01\0\ -\0\0\0\0\0\x36\x18\0\0\x53\0\0\0\x40\0\0\0\x8b\x1c\0\0\x53\0\0\0\x60\0\0\0\0\0\ -\0\0\0\0\0\x02\x08\x02\0\0\0\0\0\0\0\0\0\x02\x1f\x02\0\0\0\0\0\0\0\0\0\x02\xf5\ -\x01\0\0\0\0\0\0\0\0\0\x02\0\x02\0\0\x90\x1c\0\0\0\0\0\x08\x54\0\0\0\0\0\0\0\0\ -\0\0\x02\x16\x02\0\0\0\0\0\0\0\0\0\x02\x22\x02\0\0\x11\x0d\0\0\0\0\0\x04\0\0\0\ -\0\x96\x1c\0\0\x05\0\0\x04\x50\0\0\0\xa1\x1c\0\0\xa5\0\0\0\0\0\0\0\xbe\x11\0\0\ -\x51\0\0\0\x80\0\0\0\x83\x11\0\0\x2d\x01\0\0\xc0\0\0\0\xb8\x01\0\0\x52\0\0\0\0\ -\x01\0\0\xf5\x15\0\0\xb3\0\0\0\x40\x01\0\0\0\0\0\0\0\0\0\x02\x2e\x01\0\0\0\0\0\ -\0\x01\0\0\x0d\0\0\0\0\0\0\0\0\x2f\x01\0\0\0\0\0\0\0\0\0\x02\x2c\x01\0\0\0\0\0\ -\0\0\0\0\x02\x23\x02\0\0\0\0\0\0\0\0\0\x02\xe8\x01\0\0\0\0\0\0\0\0\0\x02\xea\ -\x01\0\0\xa7\x1c\0\0\x01\0\0\x04\x08\0\0\0\xb2\x1c\0\0\x5c\0\0\0\0\0\0\0\xb8\ -\x1c\0\0\x14\0\0\x84\x40\x11\0\0\xc6\x1c\0\0\x36\x01\0\0\0\0\0\0\xd0\x1c\0\0\ -\x51\0\0\0\xc0\0\0\0\xd3\x1c\0\0\x60\0\0\0\0\x01\0\0\xd6\x1c\0\0\x60\0\0\0\x10\ -\x01\0\0\xd9\x1c\0\0\x60\0\0\0\x20\x01\0\0\xe1\x1c\0\0\x60\0\0\0\x30\x01\0\0\ -\xe9\x1c\0\0\x51\0\0\0\x40\x01\0\0\xf0\x1c\0\0\x51\0\0\0\x80\x01\0\0\xf7\x1c\0\ -\0\x86\x01\0\0\xc0\x01\0\0\x02\x1d\0\0\x51\0\0\0\xc0\x02\0\0\x0e\x1d\0\0\x51\0\ -\0\0\0\x03\0\0\x19\x1d\0\0\x51\0\0\0\x40\x03\0\0\x1d\x1d\0\0\x51\0\0\0\x80\x03\ -\0\0\x25\x1d\0\0\x51\0\0\0\xc0\x03\0\0\x30\x1d\0\0\x87\x01\0\0\0\x04\0\0\x3a\ -\x1d\0\0\x51\0\0\0\x40\x04\0\0\x44\x1d\0\0\x54\0\0\0\x80\x04\0\x01\x4e\x1d\0\0\ -\x54\0\0\0\x81\x04\0\x01\x61\x1d\0\0\x52\0\0\0\xa0\x04\0\0\x66\x1d\0\0\x88\x01\ -\0\0\0\x06\0\0\x6a\x1d\0\0\x0d\0\0\x84\x08\0\0\0\x76\x1d\0\0\x5e\0\0\0\0\0\0\0\ -\x7d\x1d\0\0\x5e\0\0\0\x10\0\0\0\x83\x1d\0\0\x5e\0\0\0\x20\0\0\x08\x19\0\0\0\ -\x5e\0\0\0\x28\0\0\x04\x0a\x14\0\0\x5e\0\0\0\x2c\0\0\x01\x89\x1d\0\0\x5e\0\0\0\ -\x2d\0\0\x02\x8d\x1d\0\0\x5e\0\0\0\x2f\0\0\x01\x8f\x1d\0\0\x5e\0\0\0\x30\0\0\ -\x04\x96\x1d\0\0\x5e\0\0\0\x34\0\0\x01\x9a\x1d\0\0\x5e\0\0\0\x35\0\0\x01\x9c\ -\x1d\0\0\x5e\0\0\0\x36\0\0\x01\x9e\x1d\0\0\x5e\0\0\0\x37\0\0\x01\xa0\x1d\0\0\ -\x5e\0\0\0\x38\0\0\x08\0\0\0\0\0\0\0\x03\0\0\0\0\x35\x01\0\0\x04\0\0\0\x03\0\0\ -\0\0\0\0\0\0\0\0\x02\x38\x01\0\0\xa6\x1d\0\0\x4b\0\0\x04\x08\x07\0\0\xb1\x1d\0\ -\0\x66\0\0\0\0\0\0\0\xbd\x1d\0\0\x66\0\0\0\x80\0\0\0\xca\x1d\0\0\x66\0\0\0\0\ -\x01\0\0\x0c\x0f\0\0\x64\0\0\0\x80\x01\0\0\xd6\x1d\0\0\x68\0\0\0\x40\x02\0\0\ -\xe2\x1d\0\0\x66\0\0\0\x80\x02\0\0\xf0\x1d\0\0\xa5\0\0\0\0\x03\0\0\xfc\x1d\0\0\ -\x66\0\0\0\x80\x03\0\0\x09\x1e\0\0\x02\0\0\0\0\x04\0\0\x15\x1e\0\0\x02\0\0\0\ -\x20\x04\0\0\x20\x1e\0\0\x02\0\0\0\x40\x04\0\0\xbc\x05\0\0\x37\x01\0\0\x80\x04\ -\0\0\xdc\x1a\0\0\x14\x01\0\0\xc0\x04\0\0\x2b\x1e\0\0\x55\0\0\0\0\x05\0\0\x91\ -\x11\0\0\x39\x01\0\0\x40\x05\0\0\x37\x1e\0\0\x54\0\0\0\x60\x05\0\0\x83\x14\0\0\ -\x3a\x01\0\0\x80\x05\0\0\x44\x1e\0\0\x0f\x01\0\0\xc0\x05\0\0\x50\x1e\0\0\x68\0\ -\0\0\0\x06\0\0\x63\x1e\0\0\x68\0\0\0\x40\x06\0\0\x76\x1e\0\0\x68\0\0\0\x80\x06\ -\0\0\x7d\x1e\0\0\x3c\x01\0\0\xc0\x06\0\0\x82\x1e\0\0\x5e\0\0\0\xc0\x0a\0\0\x8e\ -\x1e\0\0\x5e\0\0\0\xd0\x0a\0\0\x9d\x1e\0\0\x5e\0\0\0\xe0\x0a\0\0\xa7\x1e\0\0\ -\x42\x01\0\0\0\x0b\0\0\x74\x01\0\0\x12\x01\0\0\0\x11\0\0\x8d\x1b\0\0\x0e\x01\0\ -\0\x40\x11\0\0\xaa\x1e\0\0\x0f\x01\0\0\x80\x11\0\0\xc3\x1e\0\0\x0f\x01\0\0\xc0\ -\x11\0\0\xdc\x1e\0\0\x0d\x01\0\0\0\x12\0\0\xe8\x1e\0\0\x66\0\0\0\x80\x16\0\0\ -\xa4\x05\0\0\x37\x01\0\0\0\x17\0\0\xf3\x1e\0\0\x02\0\0\0\x40\x17\0\0\x3d\x0e\0\ -\0\x02\0\0\0\x60\x17\0\0\xf9\x1e\0\0\x66\0\0\0\x80\x17\0\0\xb2\x15\0\0\x61\0\0\ -\0\0\x18\0\0\x05\x1f\0\0\x0d\x01\0\0\x40\x18\0\0\x10\x1f\0\0\x58\0\0\0\xc0\x1c\ -\0\0\x1b\x1f\0\0\x53\x01\0\0\0\x1d\0\0\x1e\x1f\0\0\x66\0\0\0\x40\x1d\0\0\x27\ -\x1f\0\0\x51\0\0\0\xc0\x1d\0\0\x33\x1f\0\0\x02\0\0\0\0\x1e\0\0\x3f\x1f\0\0\x54\ -\x01\0\0\x40\x1e\0\0\x45\x1f\0\0\x56\x01\0\0\xc0\x20\0\0\x4c\x1f\0\0\x54\0\0\0\ -\0\x21\0\0\x5b\x1f\0\0\x54\0\0\0\x20\x21\0\0\x68\x1f\0\0\x54\0\0\0\x40\x21\0\0\ -\x78\x1f\0\0\x54\0\0\0\x60\x21\0\0\x88\x1f\0\0\x51\0\0\0\x80\x21\0\0\x95\x1f\0\ -\0\x57\x01\0\0\xc0\x21\0\0\xa1\x1f\0\0\xc9\0\0\0\xc0\x22\0\0\xae\x1f\0\0\x54\0\ -\0\0\x40\x23\0\0\xbb\x1f\0\0\x58\0\0\0\x60\x23\0\0\xc7\x1f\0\0\x5c\x01\0\0\x80\ -\x23\0\0\xd4\x1f\0\0\x5d\x01\0\0\x40\x26\0\0\xe7\x1f\0\0\x51\0\0\0\x80\x26\0\0\ -\xf8\x1f\0\0\x37\x01\0\0\xc0\x26\0\0\x02\x20\0\0\x5e\x01\0\0\0\x27\0\0\x62\x17\ -\0\0\xc9\0\0\0\x40\x27\0\0\x0a\x20\0\0\x60\x01\0\0\xc0\x27\0\0\x0d\x20\0\0\x68\ -\0\0\0\0\x28\0\0\x10\x20\0\0\x0f\x01\0\0\x40\x28\0\0\x1d\x20\0\0\x61\x01\0\0\ -\x80\x28\0\0\x23\x20\0\0\x63\x01\0\0\xc0\x28\0\0\x34\x20\0\0\x55\0\0\0\0\x29\0\ -\0\x4d\x20\0\0\x63\x01\0\0\x40\x29\0\0\x63\x20\0\0\x73\x01\0\0\x80\x29\0\0\x68\ -\x20\0\0\x68\0\0\0\xc0\x29\0\0\x73\x20\0\0\x74\x01\0\0\0\x2a\0\0\x10\x18\0\0\ -\x75\x01\0\0\x40\x2a\0\0\x7c\x20\0\0\x76\x01\0\0\x80\x2a\0\0\x87\x20\0\0\x85\ -\x01\0\0\x40\x37\0\0\x7e\x0d\0\0\x55\0\0\0\x80\x37\0\0\x8c\x20\0\0\x66\0\0\0\ -\xc0\x37\0\0\x94\x20\0\0\x06\0\0\x06\x04\0\0\0\xa5\x20\0\0\xfc\xff\xff\xff\xbb\ -\x20\0\0\xfd\xff\xff\xff\xd1\x20\0\0\xfe\xff\xff\xff\xe8\x20\0\0\xff\xff\xff\ -\xff\xfd\x20\0\0\0\0\0\0\x17\x21\0\0\x01\0\0\0\x2f\x21\0\0\0\0\0\x08\x3b\x01\0\ -\0\0\0\0\0\x01\0\0\x04\x08\0\0\0\x1a\x1c\0\0\x16\x01\0\0\0\0\0\0\x39\x21\0\0\ -\x3b\0\0\x84\x80\0\0\0\x19\0\0\0\x53\0\0\0\0\0\0\0\x8b\x1c\0\0\x53\0\0\0\x20\0\ -\0\0\x49\x21\0\0\x69\0\0\0\x40\0\0\0\0\0\0\0\x3d\x01\0\0\x80\0\0\0\x50\x21\0\0\ -\x69\0\0\0\xc0\0\0\0\x5c\x21\0\0\x69\0\0\0\0\x01\0\0\x68\x21\0\0\x69\0\0\0\x40\ -\x01\0\x01\x71\x21\0\0\x69\0\0\0\x41\x01\0\x01\x79\x21\0\0\x69\0\0\0\x42\x01\0\ -\x01\x80\x21\0\0\x69\0\0\0\x43\x01\0\x01\x8a\x21\0\0\x69\0\0\0\x44\x01\0\x01\ -\x97\x21\0\0\x69\0\0\0\x45\x01\0\x01\xa6\x21\0\0\x69\0\0\0\x46\x01\0\x01\xb1\ -\x21\0\0\x69\0\0\0\x47\x01\0\x01\xbe\x21\0\0\x69\0\0\0\x48\x01\0\x01\xf0\x06\0\ -\0\x69\0\0\0\x49\x01\0\x01\xc3\x21\0\0\x69\0\0\0\x4a\x01\0\x01\xc8\x21\0\0\x69\ -\0\0\0\x4b\x01\0\x01\xd5\x21\0\0\x69\0\0\0\x4c\x01\0\x01\x96\x1b\0\0\x69\0\0\0\ -\x4d\x01\0\x01\xe4\x21\0\0\x69\0\0\0\x4e\x01\0\x01\xee\x21\0\0\x69\0\0\0\x4f\ -\x01\0\x02\xf9\x21\0\0\x69\0\0\0\x51\x01\0\x01\x03\x22\0\0\x69\0\0\0\x52\x01\0\ -\x01\x11\x22\0\0\x69\0\0\0\x53\x01\0\x01\x1e\x22\0\0\x69\0\0\0\x54\x01\0\x01\ -\x2c\x22\0\0\x69\0\0\0\x55\x01\0\x01\x45\x22\0\0\x69\0\0\0\x56\x01\0\x01\x5c\ -\x22\0\0\x69\0\0\0\x57\x01\0\x01\x62\x22\0\0\x69\0\0\0\x58\x01\0\x01\x6c\x22\0\ -\0\x69\0\0\0\x59\x01\0\x01\x78\x22\0\0\x69\0\0\0\x5a\x01\0\x01\x87\x22\0\0\x69\ -\0\0\0\x5b\x01\0\x01\x96\x22\0\0\x69\0\0\0\x5c\x01\0\x01\xa1\x22\0\0\x69\0\0\0\ -\x5d\x01\0\x01\xa9\x22\0\0\x69\0\0\0\x5e\x01\0\x01\xb3\x22\0\0\x69\0\0\0\x5f\ -\x01\0\x01\xbe\x22\0\0\x69\0\0\0\x60\x01\0\x01\xc5\x22\0\0\x69\0\0\0\x61\x01\0\ -\x01\xcf\x22\0\0\x69\0\0\0\x62\x01\0\x01\xd8\x22\0\0\x69\0\0\0\x63\x01\0\x01\ -\xe7\x22\0\0\x69\0\0\0\x64\x01\0\x01\xf6\x22\0\0\x69\0\0\0\x65\x01\0\x01\xfe\ -\x22\0\0\x69\0\0\0\x66\x01\0\x1a\0\0\0\0\x3e\x01\0\0\x80\x01\0\0\x0b\x23\0\0\ -\x53\0\0\0\xa0\x01\0\0\0\0\0\0\x3f\x01\0\0\xc0\x01\0\0\0\0\0\0\x40\x01\0\0\0\ -\x02\0\0\x13\x23\0\0\x69\0\0\0\x40\x02\0\0\x26\x23\0\0\x69\0\0\0\x80\x02\0\0\ -\x37\x23\0\0\x53\0\0\0\xc0\x02\0\0\xcd\x14\0\0\x41\x01\0\0\xe0\x02\0\0\x49\x23\ -\0\0\x69\0\0\0\0\x03\0\0\x5a\x23\0\0\x53\0\0\0\x40\x03\0\0\x68\x23\0\0\x5f\0\0\ -\0\x60\x03\0\0\x79\x23\0\0\x5f\0\0\0\x70\x03\0\0\x86\x23\0\0\x53\0\0\0\x80\x03\ -\0\0\x96\x23\0\0\x53\0\0\0\xa0\x03\0\0\xa3\x23\0\0\x69\0\0\0\xc0\x03\0\0\0\0\0\ -\0\x02\0\0\x05\x08\0\0\0\xac\x23\0\0\x69\0\0\0\0\0\0\0\xba\x23\0\0\x69\0\0\0\0\ -\0\0\0\0\0\0\0\x02\0\0\x05\x04\0\0\0\xc6\x23\0\0\x53\0\0\0\0\0\0\0\xd4\x23\0\0\ -\x53\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\x05\x08\0\0\0\xe5\x23\0\0\x69\0\0\0\0\0\0\0\ -\xed\x23\0\0\x69\0\0\0\0\0\0\0\xf9\x23\0\0\x69\0\0\0\0\0\0\0\x05\x24\0\0\x69\0\ -\0\0\0\0\0\0\0\0\0\0\x04\0\0\x05\x08\0\0\0\x0d\x24\0\0\x69\0\0\0\0\0\0\0\x14\ -\x24\0\0\x69\0\0\0\0\0\0\0\x20\x24\0\0\x69\0\0\0\0\0\0\0\x2d\x24\0\0\x69\0\0\0\ -\0\0\0\0\x35\x24\0\0\0\0\0\x08\x02\0\0\0\x3b\x24\0\0\x0c\0\0\x04\xc0\0\0\0\0\0\ -\0\0\x43\x01\0\0\0\0\0\0\x49\x24\0\0\x61\0\0\0\0\x03\0\0\xc7\x1f\0\0\x55\0\0\0\ -\x40\x03\0\0\xe7\x1f\0\0\x51\0\0\0\x80\x03\0\0\x91\x11\0\0\x02\0\0\0\xc0\x03\0\ -\0\x50\x24\0\0\x3a\x01\0\0\0\x04\0\0\xac\x23\0\0\x68\0\0\0\x40\x04\0\0\0\0\0\0\ -\x50\x01\0\0\x80\x04\0\0\x5b\x24\0\0\x68\0\0\0\0\x05\0\0\x6a\x24\0\0\x68\0\0\0\ -\x40\x05\0\0\x75\x24\0\0\x68\0\0\0\x80\x05\0\0\x85\x24\0\0\x68\0\0\0\xc0\x05\0\ -\0\0\0\0\0\x06\0\0\x05\x60\0\0\0\0\0\0\0\x44\x01\0\0\0\0\0\0\0\0\0\0\x46\x01\0\ -\0\0\0\0\0\0\0\0\0\x47\x01\0\0\0\0\0\0\0\0\0\0\x48\x01\0\0\0\0\0\0\0\0\0\0\x49\ -\x01\0\0\0\0\0\0\0\0\0\0\x4f\x01\0\0\0\0\0\0\0\0\0\0\x0a\0\0\x04\x60\0\0\0\x49\ -\x21\0\0\x68\0\0\0\0\0\0\0\x96\x24\0\0\x68\0\0\0\x40\0\0\0\x9f\x24\0\0\x51\0\0\ -\0\x80\0\0\0\xab\x24\0\0\x51\0\0\0\xc0\0\0\0\xb6\x24\0\0\x02\0\0\0\0\x01\0\0\ -\xc7\x24\0\0\x02\0\0\0\x20\x01\0\0\xcb\x24\0\0\x02\0\0\0\x40\x01\0\0\xb8\x01\0\ -\0\x02\0\0\0\x60\x01\0\0\xd4\x24\0\0\x45\x01\0\0\x80\x01\0\0\xde\x24\0\0\x45\ -\x01\0\0\x40\x02\0\0\xe9\x24\0\0\x04\0\0\x04\x18\0\0\0\x49\x21\0\0\x68\0\0\0\0\ -\0\0\0\xfd\x24\0\0\x54\0\0\0\x40\0\0\0\x01\x25\0\0\x02\0\0\0\x60\0\0\0\xc7\x24\ -\0\0\x02\0\0\0\x80\0\0\0\0\0\0\0\x01\0\0\x04\x40\0\0\0\x69\x11\0\0\x74\0\0\0\0\ -\0\0\0\0\0\0\0\x01\0\0\x04\x10\0\0\0\x07\x25\0\0\x66\0\0\0\0\0\0\0\0\0\0\0\x02\ -\0\0\x04\x10\0\0\0\x0f\x25\0\0\x68\0\0\0\0\0\0\0\x17\x25\0\0\x68\0\0\0\x40\0\0\ -\0\0\0\0\0\x02\0\0\x04\x28\0\0\0\x1c\x25\0\0\x4a\x01\0\0\0\0\0\0\x21\x25\0\0\ -\x4b\x01\0\0\xc0\0\0\0\x29\x25\0\0\x04\0\0\x04\x18\0\0\0\x3c\x25\0\0\x51\0\0\0\ -\0\0\0\0\x44\x25\0\0\x51\0\0\0\x40\0\0\0\x3d\x18\0\0\x7c\0\0\0\x80\0\0\0\x19\0\ -\0\0\x7c\0\0\0\x88\0\0\0\x49\x25\0\0\x02\0\0\x04\x10\0\0\0\x55\x25\0\0\x4c\x01\ -\0\0\0\0\0\0\xc3\x0e\0\0\x4e\x01\0\0\x40\0\0\0\x5b\x25\0\0\x01\0\0\x04\x08\0\0\ -\0\xc3\x0e\0\0\x4d\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x4c\x01\0\0\0\0\0\0\0\0\0\ -\x02\x4b\x01\0\0\0\0\0\0\x05\0\0\x04\x18\0\0\0\x66\x25\0\0\x7c\0\0\0\0\0\0\0\ -\x71\x25\0\0\x7c\0\0\0\x08\0\0\0\x7c\x25\0\0\x5e\0\0\0\x10\0\0\0\x84\x25\0\0\ -\x68\0\0\0\x40\0\0\0\x89\x25\0\0\x68\0\0\0\x80\0\0\0\0\0\0\0\x02\0\0\x05\x10\0\ -\0\0\0\0\0\0\x51\x01\0\0\0\0\0\0\0\0\0\0\x52\x01\0\0\0\0\0\0\0\0\0\0\x02\0\0\ -\x04\x10\0\0\0\x8f\x25\0\0\x68\0\0\0\0\0\0\0\x9b\x25\0\0\x3a\x01\0\0\x40\0\0\0\ -\0\0\0\0\x02\0\0\x04\x10\0\0\0\xa7\x25\0\0\x68\0\0\0\0\0\0\0\xb4\x25\0\0\x68\0\ -\0\0\x40\0\0\0\0\0\0\0\0\0\0\x02\x0b\x02\0\0\xc0\x25\0\0\0\0\0\x08\x55\x01\0\0\ -\xd2\x25\0\0\x02\0\0\x04\x50\0\0\0\x78\x15\0\0\xed\0\0\0\0\0\0\0\xe2\x25\0\0\ -\x66\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\x02\xf1\x01\0\0\xe7\x25\0\0\x03\0\0\x04\x20\ -\0\0\0\x71\x11\0\0\x5a\0\0\0\0\0\0\0\x70\x17\0\0\x58\x01\0\0\x80\0\0\0\xf0\x25\ -\0\0\x5b\x01\0\0\xc0\0\0\0\0\0\0\0\0\0\0\x02\x59\x01\0\0\0\0\0\0\x01\0\0\x0d\0\ -\0\0\0\0\0\0\0\x5a\x01\0\0\0\0\0\0\0\0\0\x02\x57\x01\0\0\xf8\x25\0\0\x01\0\0\ -\x04\x08\0\0\0\x96\x1b\0\0\x61\0\0\0\0\0\0\0\0\x26\0\0\x03\0\0\x04\x58\0\0\0\ -\xb3\x17\0\0\x66\0\0\0\0\0\0\0\x78\x15\0\0\xac\0\0\0\x80\0\0\0\x17\x26\0\0\x54\ -\0\0\0\x80\x02\0\0\0\0\0\0\0\0\0\x02\x09\x02\0\0\0\0\0\0\0\0\0\x02\x5f\x01\0\0\ -\0\0\0\0\x01\0\0\x0d\0\0\0\0\0\0\0\0\x37\x01\0\0\0\0\0\0\0\0\0\x02\x10\x02\0\0\ -\0\0\0\0\0\0\0\x02\x62\x01\0\0\0\0\0\0\x01\0\0\x0d\x68\0\0\0\0\0\0\0\0\0\0\0\ -\x27\x26\0\0\0\0\0\x08\x64\x01\0\0\0\0\0\0\0\0\0\x02\x65\x01\0\0\0\0\0\0\x03\0\ -\0\x0d\0\0\0\0\0\0\0\0\x37\x01\0\0\0\0\0\0\x66\x01\0\0\0\0\0\0\x72\x01\0\0\0\0\ -\0\0\0\0\0\x02\x67\x01\0\0\x3f\x26\0\0\x18\0\0\x04\0\x01\0\0\x50\x26\0\0\x68\0\ -\0\0\0\0\0\0\x5d\x26\0\0\x68\0\0\0\x40\0\0\0\x64\x26\0\0\x68\x01\0\0\x80\0\0\0\ -\x92\x0f\0\0\x69\x01\0\0\xc0\0\0\0\x6d\x26\0\0\x6b\x01\0\0\0\x01\0\0\x76\x26\0\ -\0\x68\0\0\0\x40\x01\0\0\x7a\x26\0\0\x68\0\0\0\x80\x01\0\0\x7f\x26\0\0\x6d\x01\ -\0\0\xc0\x01\0\0\x19\0\0\0\x68\0\0\0\0\x02\0\0\x83\x26\0\0\x68\0\0\0\x40\x02\0\ -\0\x86\x26\0\0\x6e\x01\0\0\x80\x02\0\0\xc1\x14\0\0\x68\0\0\0\xc0\x02\0\0\x0d\ -\x20\0\0\x68\0\0\0\0\x03\0\0\x90\x26\0\0\x68\0\0\0\x40\x03\0\0\x9a\x26\0\0\x6f\ -\x01\0\0\x80\x03\0\0\xa4\x26\0\0\x70\x01\0\0\xc0\x03\0\0\xae\x26\0\0\x68\0\0\0\ -\0\x04\0\0\xb7\x26\0\0\x71\x01\0\0\x40\x04\0\0\xc1\x26\0\0\x71\x01\0\0\xc0\x04\ -\0\0\xcb\x26\0\0\x68\0\0\0\x40\x05\0\0\xdb\x26\0\0\x68\0\0\0\x80\x05\0\0\xbe\ -\x22\0\0\x68\0\0\0\xc0\x05\0\0\xe5\x26\0\0\x68\0\0\0\0\x06\0\0\xf4\x26\0\0\x68\ -\0\0\0\x40\x06\0\0\0\0\0\0\0\0\0\x02\x0a\x02\0\0\x03\x27\0\0\x02\0\0\x05\x08\0\ -\0\0\x16\x27\0\0\x69\0\0\0\0\0\0\0\0\0\0\0\x6a\x01\0\0\0\0\0\0\0\0\0\0\x03\0\0\ -\x04\x08\0\0\0\x1b\x27\0\0\x53\0\0\0\0\0\0\0\x23\x27\0\0\x5f\0\0\0\x20\0\0\0\ -\x2a\x27\0\0\x5f\0\0\0\x30\0\0\0\x31\x27\0\0\x02\0\0\x05\x08\0\0\0\xb6\x14\0\0\ -\x69\0\0\0\0\0\0\0\0\0\0\0\x6c\x01\0\0\0\0\0\0\0\0\0\0\x0b\0\0\x84\x08\0\0\0\ -\x43\x27\0\0\x69\0\0\0\0\0\0\x05\x4a\x27\0\0\x69\0\0\0\x05\0\0\x0e\x52\x27\0\0\ -\x69\0\0\0\x13\0\0\x05\x5c\x27\0\0\x69\0\0\0\x18\0\0\x02\x65\x27\0\0\x69\0\0\0\ -\x1a\0\0\x07\x6e\x27\0\0\x69\0\0\0\x21\0\0\x04\x7a\x27\0\0\x69\0\0\0\x25\0\0\ -\x01\x85\x27\0\0\x69\0\0\0\x26\0\0\x02\x90\x27\0\0\x69\0\0\0\x28\0\0\x03\x98\ -\x27\0\0\x69\0\0\0\x2b\0\0\x03\xa1\x27\0\0\x69\0\0\0\x2e\0\0\x12\0\0\0\0\0\0\0\ -\x02\x0e\x02\0\0\0\0\0\0\x02\0\0\x04\x08\0\0\0\x82\x05\0\0\x52\0\0\0\0\0\0\0\ -\xaa\x27\0\0\x52\0\0\0\x20\0\0\0\0\0\0\0\x02\0\0\x04\x08\0\0\0\x3d\x0e\0\0\x52\ -\0\0\0\0\0\0\0\xae\x27\0\0\x52\0\0\0\x20\0\0\0\0\0\0\0\0\0\0\x02\x0c\x02\0\0\ -\xb7\x27\0\0\x02\0\0\x04\x10\0\0\0\xc1\x27\0\0\x69\0\0\0\0\0\0\0\xc5\x27\0\0\ -\x72\x01\0\0\x40\0\0\0\0\0\0\0\0\0\0\x02\x7d\x01\0\0\0\0\0\0\0\0\0\x02\xe9\x01\ -\0\0\0\0\0\0\0\0\0\x02\x21\x02\0\0\0\0\0\0\0\0\0\x02\xf0\x01\0\0\x7c\x20\0\0\ -\x0c\0\0\x04\x98\x01\0\0\x70\x17\0\0\x77\x01\0\0\0\0\0\0\xc3\x0e\0\0\x7a\x01\0\ -\0\x40\0\0\0\xb8\x01\0\0\x51\0\0\0\x80\0\0\0\xca\x27\0\0\x55\0\0\0\xc0\0\0\0\ -\xd2\x27\0\0\x77\x01\0\0\0\x01\0\0\xdd\x27\0\0\x7e\x01\0\0\x40\x01\0\0\xe8\x27\ -\0\0\x80\x01\0\0\x40\x06\0\0\xf2\x27\0\0\x7e\x01\0\0\x80\x06\0\0\xfb\x27\0\0\ -\x51\0\0\0\x80\x0b\0\0\x06\x28\0\0\x51\0\0\0\xc0\x0b\0\0\xb3\x17\0\0\x66\0\0\0\ -\0\x0c\0\0\x16\x28\0\0\x81\x01\0\0\x80\x0c\0\0\x1f\x28\0\0\0\0\0\x08\x78\x01\0\ -\0\0\0\0\0\0\0\0\x02\x79\x01\0\0\0\0\0\0\x04\0\0\x0d\0\0\0\0\0\0\0\0\x51\0\0\0\ -\0\0\0\0\x51\0\0\0\0\0\0\0\x7a\x01\0\0\0\0\0\0\x7b\x01\0\0\0\0\0\0\0\0\0\x02\ -\x76\x01\0\0\0\0\0\0\0\0\0\x02\x7c\x01\0\0\x2d\x28\0\0\x01\0\0\x04\xa8\0\0\0\ -\xc5\x27\0\0\x7d\x01\0\0\0\0\0\0\x39\x28\0\0\x15\0\0\x04\xa8\0\0\0\x41\x28\0\0\ -\x51\0\0\0\0\0\0\0\x45\x28\0\0\x51\0\0\0\x40\0\0\0\x49\x28\0\0\x51\0\0\0\x80\0\ -\0\0\x4d\x28\0\0\x51\0\0\0\xc0\0\0\0\x51\x28\0\0\x51\0\0\0\0\x01\0\0\x54\x28\0\ -\0\x51\0\0\0\x40\x01\0\0\x57\x28\0\0\x51\0\0\0\x80\x01\0\0\x5b\x28\0\0\x51\0\0\ -\0\xc0\x01\0\0\x5f\x28\0\0\x51\0\0\0\0\x02\0\0\x62\x28\0\0\x51\0\0\0\x40\x02\0\ -\0\x65\x28\0\0\x51\0\0\0\x80\x02\0\0\x68\x28\0\0\x51\0\0\0\xc0\x02\0\0\x6b\x28\ -\0\0\x51\0\0\0\0\x03\0\0\x6e\x28\0\0\x51\0\0\0\x40\x03\0\0\x71\x28\0\0\x51\0\0\ -\0\x80\x03\0\0\x74\x28\0\0\x51\0\0\0\xc0\x03\0\0\x83\x26\0\0\x51\0\0\0\0\x04\0\ -\0\x7c\x28\0\0\x51\0\0\0\x40\x04\0\0\xb8\x01\0\0\x51\0\0\0\x80\x04\0\0\xd0\x1c\ -\0\0\x51\0\0\0\xc0\x04\0\0\x7f\x28\0\0\x51\0\0\0\0\x05\0\0\x82\x28\0\0\x03\0\0\ -\x04\xa0\0\0\0\x92\x28\0\0\x7f\x01\0\0\0\0\0\0\x9f\x28\0\0\x7f\x01\0\0\x40\0\0\ -\0\xab\x28\0\0\x0d\x01\0\0\x80\0\0\0\0\0\0\0\0\0\0\x02\xf4\x01\0\0\0\0\0\0\0\0\ -\0\x02\x7e\x01\0\0\xb6\x28\0\0\0\0\0\x08\x82\x01\0\0\0\0\0\0\0\0\0\x02\x83\x01\ -\0\0\0\0\0\0\x02\0\0\x0d\x02\0\0\0\0\0\0\0\x7a\x01\0\0\0\0\0\0\x84\x01\0\0\xc8\ -\x28\0\0\x03\0\0\x06\x04\0\0\0\xd7\x28\0\0\0\0\0\0\x01\x29\0\0\x01\0\0\0\x2b\ -\x29\0\0\x02\0\0\0\0\0\0\0\0\0\0\x02\x0d\x02\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x37\ -\x01\0\0\x04\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\x02\xf8\x01\0\0\x66\x1d\0\0\x07\0\0\ -\x04\x80\x10\0\0\xcb\x24\0\0\x54\0\0\0\0\0\0\0\x56\x29\0\0\x51\0\0\0\x40\0\0\0\ -\x67\x29\0\0\x89\x01\0\0\x80\0\0\0\x6f\x29\0\0\x89\x01\0\0\xc0\0\0\0\x7e\x29\0\ -\0\x8a\x01\0\0\0\x01\0\0\x83\x29\0\0\x8a\x01\0\0\x80\x01\0\0\x8e\x29\0\0\x8b\ -\x01\0\0\0\x02\0\0\0\0\0\0\0\0\0\x02\x8b\x01\0\0\x98\x29\0\0\x03\0\0\x04\x10\0\ -\0\0\xa7\x29\0\0\x68\0\0\0\0\0\0\0\xb4\x29\0\0\x54\0\0\0\x40\0\0\0\xc1\x29\0\0\ -\x54\0\0\0\x60\0\0\0\x67\x29\0\0\x0a\0\0\x84\x40\x10\0\0\x8b\x1c\0\0\x54\0\0\0\ -\0\0\0\0\xd3\x29\0\0\x54\0\0\0\x20\0\0\0\xdd\x29\0\0\x68\0\0\0\x40\0\0\0\xe7\ -\x29\0\0\x68\0\0\0\x80\0\0\0\xf6\x29\0\0\x68\0\0\0\xc0\0\0\0\xfa\x29\0\0\x54\0\ -\0\0\0\x01\0\x01\x04\x2a\0\0\x54\0\0\0\x01\x01\0\x01\x0d\x2a\0\0\x54\0\0\0\x02\ -\x01\0\x01\x1d\x2a\0\0\x54\0\0\0\x03\x01\0\x01\xc5\x27\0\0\x8c\x01\0\0\0\x02\0\ -\0\x24\x2a\0\0\x05\0\0\x05\0\x10\0\0\x31\x2a\0\0\x8d\x01\0\0\0\0\0\0\x37\x2a\0\ -\0\x8f\x01\0\0\0\0\0\0\x3e\x2a\0\0\x97\x01\0\0\0\0\0\0\x43\x2a\0\0\x99\x01\0\0\ -\0\0\0\0\x72\x18\0\0\x9d\x01\0\0\0\0\0\0\x49\x2a\0\0\x09\0\0\x04\x70\0\0\0\x55\ -\x2a\0\0\x52\0\0\0\0\0\0\0\x59\x2a\0\0\x52\0\0\0\x20\0\0\0\x5d\x2a\0\0\x52\0\0\ -\0\x40\0\0\0\x61\x2a\0\0\x52\0\0\0\x60\0\0\0\x65\x2a\0\0\x52\0\0\0\x80\0\0\0\ -\x69\x2a\0\0\x52\0\0\0\xa0\0\0\0\x6d\x2a\0\0\x52\0\0\0\xc0\0\0\0\x71\x2a\0\0\ -\x8e\x01\0\0\xe0\0\0\0\x36\x0e\0\0\x52\0\0\0\x60\x03\0\0\0\0\0\0\0\0\0\x03\0\0\ -\0\0\x52\0\0\0\x04\0\0\0\x14\0\0\0\x7a\x2a\0\0\x0b\0\0\x04\0\x02\0\0\x55\x2a\0\ -\0\x5e\0\0\0\0\0\0\0\x59\x2a\0\0\x5e\0\0\0\x10\0\0\0\x5d\x2a\0\0\x5e\0\0\0\x20\ -\0\0\0\x87\x2a\0\0\x5e\0\0\0\x30\0\0\0\0\0\0\0\x90\x01\0\0\x40\0\0\0\x8b\x2a\0\ -\0\x52\0\0\0\xc0\0\0\0\x91\x2a\0\0\x52\0\0\0\xe0\0\0\0\x71\x2a\0\0\x93\x01\0\0\ -\0\x01\0\0\x9c\x2a\0\0\x94\x01\0\0\0\x05\0\0\x7c\x25\0\0\x95\x01\0\0\0\x0d\0\0\ -\0\0\0\0\x96\x01\0\0\x80\x0e\0\0\0\0\0\0\x02\0\0\x05\x10\0\0\0\0\0\0\0\x91\x01\ -\0\0\0\0\0\0\0\0\0\0\x92\x01\0\0\0\0\0\0\0\0\0\0\x02\0\0\x04\x10\0\0\0\xa6\x2a\ -\0\0\x68\0\0\0\0\0\0\0\xaa\x2a\0\0\x68\0\0\0\x40\0\0\0\0\0\0\0\x04\0\0\x04\x10\ -\0\0\0\x61\x2a\0\0\x52\0\0\0\0\0\0\0\x65\x2a\0\0\x52\0\0\0\x20\0\0\0\x69\x2a\0\ -\0\x52\0\0\0\x40\0\0\0\x6d\x2a\0\0\x52\0\0\0\x60\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\ -\0\x52\0\0\0\x04\0\0\0\x20\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x52\0\0\0\x04\0\0\0\ -\x40\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x52\0\0\0\x04\0\0\0\x0c\0\0\0\0\0\0\0\x02\ -\0\0\x05\x30\0\0\0\xae\x2a\0\0\x95\x01\0\0\0\0\0\0\xb7\x2a\0\0\x95\x01\0\0\0\0\ -\0\0\xc3\x2a\0\0\x10\0\0\x04\x88\0\0\0\x55\x2a\0\0\x52\0\0\0\0\0\0\0\x59\x2a\0\ -\0\x52\0\0\0\x20\0\0\0\x5d\x2a\0\0\x52\0\0\0\x40\0\0\0\x61\x2a\0\0\x52\0\0\0\ -\x60\0\0\0\x65\x2a\0\0\x52\0\0\0\x80\0\0\0\x69\x2a\0\0\x52\0\0\0\xa0\0\0\0\x6d\ -\x2a\0\0\x52\0\0\0\xc0\0\0\0\x71\x2a\0\0\x8e\x01\0\0\xe0\0\0\0\xd0\x2a\0\0\x7c\ -\0\0\0\x60\x03\0\0\xd5\x2a\0\0\x7c\0\0\0\x68\x03\0\0\xdd\x2a\0\0\x7c\0\0\0\x70\ -\x03\0\0\xe7\x2a\0\0\x7c\0\0\0\x78\x03\0\0\xf1\x2a\0\0\x7c\0\0\0\x80\x03\0\0\ -\xf4\x2a\0\0\x7c\0\0\0\x88\x03\0\0\x1c\x25\0\0\x98\x01\0\0\xc0\x03\0\0\xfb\x2a\ -\0\0\x52\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\x02\xff\x01\0\0\x05\x2b\0\0\x03\0\0\x04\ -\x40\x02\0\0\x11\x2b\0\0\x8f\x01\0\0\0\0\0\0\x16\x2b\0\0\x9a\x01\0\0\0\x10\0\0\ -\x1d\x2b\0\0\x9c\x01\0\0\0\x12\0\0\x31\x2b\0\0\x03\0\0\x04\x40\0\0\0\xdd\x29\0\ -\0\x68\0\0\0\0\0\0\0\x3f\x2b\0\0\x68\0\0\0\x40\0\0\0\xae\x27\0\0\x9b\x01\0\0\ -\x80\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x68\0\0\0\x04\0\0\0\x06\0\0\0\0\0\0\0\0\0\ -\0\x03\0\0\0\0\x7c\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x7c\0\0\0\ -\x04\0\0\0\0\x10\0\0\x48\x2b\0\0\x01\0\0\x0c\x4d\0\0\0\0\0\0\0\0\0\0\x02\xa0\ -\x01\0\0\x60\x2b\0\0\x06\0\0\x04\x30\0\0\0\x83\x2b\0\0\xa1\x01\0\0\0\0\0\0\x87\ -\x2b\0\0\xd0\0\0\0\x40\0\0\0\x93\x2b\0\0\xa2\0\0\0\xc0\0\0\0\x9e\x2b\0\0\xd0\0\ -\0\0\xe0\0\0\0\xa9\x2b\0\0\xa2\0\0\0\x60\x01\0\0\xb3\x2b\0\0\xa2\x01\0\0\x80\ -\x01\0\0\xba\x2b\0\0\x04\0\0\x04\x08\0\0\0\x19\0\0\0\x60\0\0\0\0\0\0\0\xb8\x01\ -\0\0\x7e\0\0\0\x10\0\0\0\xc6\x2b\0\0\x7e\0\0\0\x18\0\0\0\x82\x05\0\0\x02\0\0\0\ -\x20\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\xc0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\x01\0\ -\0\x0d\x02\0\0\0\x74\x01\0\0\x9f\x01\0\0\xd4\x2b\0\0\x01\0\0\x0c\xa3\x01\0\0\ -\xe7\x2b\0\0\x01\0\0\x0c\x4d\0\0\0\0\0\0\0\0\0\0\x02\xa7\x01\0\0\xf8\x2b\0\0\ -\x09\0\0\x04\x40\0\0\0\x83\x2b\0\0\xa1\x01\0\0\0\0\0\0\x15\x2c\0\0\xd0\0\0\0\ -\x40\0\0\0\x1f\x2c\0\0\xa2\0\0\0\xc0\0\0\0\x28\x2c\0\0\x02\0\0\0\xe0\0\0\0\x32\ -\x2c\0\0\x94\0\0\0\0\x01\0\0\x3d\x2c\0\0\xd0\0\0\0\x40\x01\0\0\x47\x2c\0\0\xa2\ -\0\0\0\xc0\x01\0\0\x50\x2c\0\0\x02\0\0\0\xe0\x01\0\0\xb3\x2b\0\0\xa2\x01\0\0\0\ -\x02\0\0\0\0\0\0\x01\0\0\x0d\x02\0\0\0\x74\x01\0\0\xa6\x01\0\0\x5a\x2c\0\0\x01\ -\0\0\x0c\xa8\x01\0\0\x4f\x0e\0\0\0\0\0\x08\x54\0\0\0\xde\x0f\0\0\0\0\0\x08\x4c\ -\0\0\0\0\0\0\0\x04\0\0\x0d\x02\0\0\0\x86\x05\0\0\xaa\x01\0\0\x6d\x2c\0\0\xab\ -\x01\0\0\x73\x2c\0\0\xeb\0\0\0\x79\x2c\0\0\xab\x01\0\0\x88\x2c\0\0\0\0\0\x0c\ -\xac\x01\0\0\x9f\x2c\0\0\x01\0\0\x0c\xa8\x01\0\0\0\0\0\0\0\0\0\x02\xb0\x01\0\0\ -\xb0\x2c\0\0\x06\0\0\x04\x10\0\0\0\xbe\x2c\0\0\x60\0\0\0\0\0\0\0\xca\x2c\0\0\ -\x7e\0\0\0\x10\0\0\0\xd7\x2c\0\0\x7e\0\0\0\x18\0\0\0\xec\x2c\0\0\x02\0\0\0\x20\ -\0\0\0\x91\x11\0\0\xaa\x01\0\0\x40\0\0\0\xf7\x2c\0\0\xaa\x01\0\0\x60\0\0\0\0\0\ -\0\0\x01\0\0\x0d\x02\0\0\0\x74\x01\0\0\xaf\x01\0\0\xfe\x2c\0\0\x01\0\0\x0c\xb1\ -\x01\0\0\x0e\x2d\0\0\x01\0\0\x0c\x4d\0\0\0\x1e\x2d\0\0\x01\0\0\x0c\x4d\0\0\0\ -\x2d\x2d\0\0\x01\0\0\x0c\x4d\0\0\0\x45\x2d\0\0\x01\0\0\x0c\x4d\0\0\0\x5c\x2d\0\ -\0\x01\0\0\x0c\x4d\0\0\0\x70\x2d\0\0\x01\0\0\x0c\x4d\0\0\0\0\0\0\0\0\0\0\x02\ -\xba\x01\0\0\x83\x2d\0\0\x03\0\0\x04\xb8\0\0\0\xc5\x27\0\0\xbb\x01\0\0\0\0\0\0\ -\xac\x23\0\0\x69\0\0\0\x40\x05\0\0\x7a\x26\0\0\x69\0\0\0\x80\x05\0\0\x97\x2d\0\ -\0\0\0\0\x08\x7d\x01\0\0\0\0\0\0\x01\0\0\x0d\x02\0\0\0\x74\x01\0\0\xb9\x01\0\0\ -\xaa\x2d\0\0\x01\0\0\x0c\xbc\x01\0\0\xbb\x2d\0\0\x01\0\0\x0c\xbc\x01\0\0\0\0\0\ -\0\0\0\0\x03\0\0\0\0\xc0\0\0\0\x04\0\0\0\x0d\0\0\0\xd4\x2d\0\0\0\0\0\x0e\xbf\ -\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\x0a\xaa\x01\0\0\xdc\x2d\0\0\0\0\0\x0e\xc1\x01\ -\0\0\x01\0\0\0\xe1\x2d\0\0\0\0\0\x0e\xc1\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\x03\0\ -\0\0\0\xbf\0\0\0\x04\0\0\0\x22\0\0\0\xe5\x2d\0\0\0\0\0\x0e\xc4\x01\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\x03\0\0\0\0\xbf\0\0\0\x04\0\0\0\x1e\0\0\0\xfe\x2d\0\0\0\0\0\x0e\ -\xc6\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x09\xeb\0\0\0\x19\x2e\0\0\0\0\0\x0e\xc8\x01\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\xbf\0\0\0\x04\0\0\0\x14\0\0\0\x27\x2e\0\ -\0\0\0\0\x0e\xca\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x09\xaa\x01\0\0\x40\x2e\0\0\0\0\ -\0\x0e\xcc\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\xbf\0\0\0\x04\0\0\0\x0e\0\ -\0\0\x48\x2e\0\0\0\0\0\x0e\xce\x01\0\0\0\0\0\0\x63\x2e\0\0\x02\0\0\x04\x08\0\0\ -\0\x6f\x2e\0\0\xd1\x01\0\0\0\0\0\0\x74\x2e\0\0\xaa\x01\0\0\x20\0\0\0\x7f\x2e\0\ -\0\x02\0\0\x06\x04\0\0\0\x89\x2e\0\0\0\0\0\0\x96\x2e\0\0\x01\0\0\0\xa8\x2e\0\0\ -\0\0\0\x0e\xd0\x01\0\0\x01\0\0\0\xba\x2e\0\0\x02\0\0\x04\x0c\0\0\0\xc3\x2e\0\0\ -\xd0\x01\0\0\0\0\0\0\xca\x2e\0\0\xaa\x01\0\0\x40\0\0\0\xd2\x2e\0\0\0\0\0\x0e\ -\xd3\x01\0\0\x01\0\0\0\xde\x2e\0\0\0\0\0\x0e\xd3\x01\0\0\x01\0\0\0\xe8\x2e\0\0\ -\0\0\0\x0e\xd3\x01\0\0\x01\0\0\0\xf5\x2e\0\0\0\0\0\x0e\xd3\x01\0\0\x01\0\0\0\0\ -\0\0\0\0\0\0\x03\0\0\0\0\xbf\0\0\0\x04\0\0\0\x1d\0\0\0\x06\x2f\0\0\0\0\0\x0e\ -\xd8\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\xbf\0\0\0\x04\0\0\0\x20\0\0\0\ -\x24\x2f\0\0\0\0\0\x0e\xda\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\xbf\0\0\0\ -\x04\0\0\0\x1c\0\0\0\x40\x2f\0\0\0\0\0\x0e\xdc\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\x03\0\0\0\0\xbf\0\0\0\x04\0\0\0\x1b\0\0\0\x61\x2f\0\0\0\0\0\x0e\xde\x01\0\0\0\ -\0\0\0\x82\x2f\0\0\0\0\0\x0e\xdc\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\xbf\ -\0\0\0\x04\0\0\0\x21\0\0\0\xa8\x2f\0\0\0\0\0\x0e\xe1\x01\0\0\0\0\0\0\xbd\x2f\0\ -\0\0\0\0\x07\0\0\0\0\xb4\x07\0\0\0\0\0\x07\0\0\0\0\x1f\x09\0\0\0\0\0\x07\0\0\0\ -\0\x03\x09\0\0\0\0\0\x07\0\0\0\0\xcf\x2f\0\0\0\0\0\x07\0\0\0\0\xd8\x2f\0\0\0\0\ -\0\x07\0\0\0\0\xea\x2f\0\0\0\0\0\x07\0\0\0\0\xf3\x2f\0\0\0\0\0\x07\0\0\0\0\x3b\ -\x09\0\0\0\0\0\x07\0\0\0\0\x66\x0f\0\0\0\0\0\x07\0\0\0\0\xff\x2f\0\0\0\0\0\x07\ -\0\0\0\0\xd6\x06\0\0\0\0\0\x07\0\0\0\0\x0a\x30\0\0\0\0\0\x07\0\0\0\0\x12\x30\0\ -\0\0\0\0\x07\0\0\0\0\x1f\x30\0\0\0\0\0\x07\0\0\0\0\x2d\x30\0\0\0\0\0\x07\0\0\0\ -\0\x3a\x30\0\0\0\0\0\x07\0\0\0\0\x44\x30\0\0\0\0\0\x07\0\0\0\0\x50\x30\0\0\0\0\ -\0\x07\0\0\0\0\x61\x30\0\0\0\0\0\x07\0\0\0\0\x70\x30\0\0\0\0\0\x07\0\0\0\0\x30\ -\x1d\0\0\0\0\0\x07\0\0\0\0\x30\x09\0\0\0\0\0\x07\0\0\0\0\x83\x30\0\0\0\0\0\x07\ -\0\0\0\0\x91\x30\0\0\0\0\0\x07\0\0\0\0\x01\x16\0\0\0\0\0\x07\0\0\0\0\xa0\x30\0\ -\0\0\0\0\x07\0\0\0\0\xaf\x30\0\0\0\0\0\x07\0\0\0\0\xc4\x30\0\0\0\0\0\x07\0\0\0\ -\0\xd2\x30\0\0\0\0\0\x07\0\0\0\0\x7d\x0a\0\0\0\0\0\x07\0\0\0\0\xdd\x30\0\0\0\0\ -\0\x07\0\0\0\0\xe7\x30\0\0\0\0\0\x07\0\0\0\0\xf5\x06\0\0\0\0\0\x07\0\0\0\0\x44\ -\x07\0\0\0\0\0\x07\0\0\0\0\x3c\x0b\0\0\0\0\0\x07\0\0\0\0\xf4\x30\0\0\0\0\0\x07\ -\0\0\0\0\x86\x1c\0\0\0\0\0\x07\0\0\0\0\x03\x31\0\0\0\0\0\x07\0\0\0\0\x1a\x31\0\ -\0\0\0\0\x07\0\0\0\0\x2c\x31\0\0\0\0\0\x07\0\0\0\0\x38\x31\0\0\0\0\0\x07\0\0\0\ -\0\x4d\x31\0\0\0\0\0\x07\0\0\0\0\x59\x31\0\0\0\0\0\x07\0\0\0\0\x82\x05\0\0\0\0\ -\0\x07\0\0\0\0\x69\x31\0\0\0\0\0\x07\0\0\0\0\x77\x31\0\0\0\0\0\x07\0\0\0\0\xdc\ -\x1a\0\0\0\0\0\x07\0\0\0\0\x87\x31\0\0\0\0\0\x07\0\0\0\0\x8e\x31\0\0\0\0\0\x07\ -\0\0\0\0\x11\x09\0\0\0\0\0\x07\0\0\0\0\x97\x31\0\0\0\0\0\x07\0\0\0\0\xa5\x31\0\ -\0\0\0\0\x07\0\0\0\0\x8e\x0b\0\0\0\0\0\x07\0\0\0\0\xb6\x31\0\0\0\0\0\x07\0\0\0\ -\0\x53\x02\0\0\0\0\0\x07\0\0\0\0\xc6\x31\0\0\0\0\0\x07\0\0\0\0\xd5\x31\0\0\0\0\ -\0\x07\0\0\0\0\xe3\x31\0\0\0\0\0\x07\0\0\0\0\xf2\x31\0\0\0\0\0\x07\0\0\0\0\0\ -\x32\0\0\0\0\0\x07\0\0\0\0\x10\x32\0\0\0\0\0\x07\0\0\0\0\x1b\x32\0\0\0\0\0\x07\ -\0\0\0\0\x2c\x32\0\0\0\0\0\x07\0\0\0\0\x38\x32\0\0\0\0\0\x07\0\0\0\0\x8a\x71\0\ -\0\x01\0\0\x0f\x0d\0\0\0\xc0\x01\0\0\0\0\0\0\x0d\0\0\0\x92\x71\0\0\x0c\0\0\x0f\ -\x1b\x01\0\0\xc2\x01\0\0\0\0\0\0\x04\0\0\0\xc3\x01\0\0\x04\0\0\0\x04\0\0\0\xc5\ -\x01\0\0\x08\0\0\0\x22\0\0\0\xc7\x01\0\0\x2a\0\0\0\x1e\0\0\0\xcb\x01\0\0\x48\0\ -\0\0\x14\0\0\0\xcf\x01\0\0\x5c\0\0\0\x0e\0\0\0\xd9\x01\0\0\x6a\0\0\0\x1d\0\0\0\ -\xdb\x01\0\0\x87\0\0\0\x20\0\0\0\xdd\x01\0\0\xa7\0\0\0\x1c\0\0\0\xdf\x01\0\0\ -\xc3\0\0\0\x1b\0\0\0\xe0\x01\0\0\xde\0\0\0\x1c\0\0\0\xe2\x01\0\0\xfa\0\0\0\x21\ -\0\0\0\x9a\x71\0\0\x10\0\0\x0f\xb0\x01\0\0\x0c\0\0\0\0\0\0\0\x20\0\0\0\x14\0\0\ -\0\x20\0\0\0\x20\0\0\0\x18\0\0\0\x40\0\0\0\x20\0\0\0\x1c\0\0\0\x60\0\0\0\x20\0\ -\0\0\x20\0\0\0\x80\0\0\0\x20\0\0\0\x26\0\0\0\xa0\0\0\0\x20\0\0\0\x2c\0\0\0\xc0\ -\0\0\0\x20\0\0\0\x30\0\0\0\xe0\0\0\0\x20\0\0\0\x34\0\0\0\0\x01\0\0\x20\0\0\0\ -\x36\0\0\0\x20\x01\0\0\x20\0\0\0\x3a\0\0\0\x40\x01\0\0\x20\0\0\0\x40\0\0\0\x60\ -\x01\0\0\x10\0\0\0\x44\0\0\0\x70\x01\0\0\x10\0\0\0\x45\0\0\0\x80\x01\0\0\x10\0\ -\0\0\x49\0\0\0\x90\x01\0\0\x10\0\0\0\x4a\0\0\0\xa0\x01\0\0\x10\0\0\0\xa0\x71\0\ -\0\x07\0\0\x0f\x40\0\0\0\xc9\x01\0\0\0\0\0\0\x01\0\0\0\xcd\x01\0\0\x04\0\0\0\ -\x04\0\0\0\xd2\x01\0\0\x08\0\0\0\x08\0\0\0\xd4\x01\0\0\x10\0\0\0\x0c\0\0\0\xd5\ -\x01\0\0\x1c\0\0\0\x0c\0\0\0\xd6\x01\0\0\x28\0\0\0\x0c\0\0\0\xd7\x01\0\0\x34\0\ -\0\0\x0c\0\0\0\0\x69\x6e\x74\0\x5f\x5f\x41\x52\x52\x41\x59\x5f\x53\x49\x5a\x45\ -\x5f\x54\x59\x50\x45\x5f\x5f\0\x74\x79\x70\x65\0\x6b\x65\x79\x5f\x73\x69\x7a\ -\x65\0\x76\x61\x6c\x75\x65\x5f\x73\x69\x7a\x65\0\x6d\x61\x78\x5f\x65\x6e\x74\ -\x72\x69\x65\x73\0\x74\x61\x73\x6b\x5f\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x5f\ -\x6d\x61\x70\0\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x5f\x74\x69\x6d\x65\x73\x5f\ -\x6d\x61\x70\0\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x5f\x70\x65\x72\x63\x65\x6e\ -\x74\x5f\x6d\x61\x70\0\x72\x75\x6e\x71\x6c\x61\x74\x5f\x6d\x61\x70\0\x74\x68\ -\x72\x65\x61\x64\x5f\x6f\x63\x63\x75\x70\x69\x65\x64\x5f\x6d\x61\x70\0\x73\x74\ -\x61\x63\x6b\x5f\x74\x72\x61\x63\x65\x73\x5f\x6d\x61\x70\0\x74\x61\x73\x6b\x5f\ -\x74\x72\x61\x63\x65\x5f\x64\x61\x74\x61\x5f\x6d\x61\x70\0\x63\x70\x75\x5f\x75\ -\x73\x72\x5f\x6d\x61\x70\0\x63\x70\x75\x5f\x65\x6d\x61\x5f\x63\x74\x72\x6c\x5f\ -\x6d\x61\x70\0\x70\x72\x6f\x63\x65\x73\x73\x5f\x6d\x61\x70\0\x70\x72\x6f\x63\ -\x65\x73\x73\x5f\x6f\x63\x63\x75\x70\x69\x65\x64\x5f\x6d\x61\x70\0\x63\x70\x75\ -\x5f\x75\x73\x61\x67\x65\x5f\x62\x75\x66\x66\x65\x72\0\x74\x61\x73\x6b\x5f\x6f\ -\x63\x63\x75\x70\x69\x65\x64\x5f\x62\x75\x66\x66\x65\x72\0\x70\x72\x6f\x63\x65\ -\x73\x73\x5f\x6f\x63\x63\x75\x70\x69\x65\x64\x5f\x62\x75\x66\x66\x65\x72\0\x72\ -\x75\x6e\x71\x6c\x61\x74\x5f\x62\x75\x66\x66\x65\x72\0\x74\x61\x73\x6b\x5f\x62\ -\x61\x63\x6b\x74\x72\x61\x63\x65\x5f\x62\x75\x66\x66\x65\x72\0\x75\x6e\x73\x69\ -\x67\x6e\x65\x64\x20\x6c\x6f\x6e\x67\x20\x6c\x6f\x6e\x67\0\x63\x74\x78\0\x68\ -\x61\x6e\x64\x6c\x65\x5f\x73\x63\x68\x65\x64\x5f\x77\x61\x6b\x65\x75\x70\0\x74\ -\x61\x73\x6b\x5f\x73\x74\x72\x75\x63\x74\0\x74\x68\x72\x65\x61\x64\x5f\x69\x6e\ -\x66\x6f\0\x5f\x5f\x73\x74\x61\x74\x65\0\x73\x74\x61\x63\x6b\0\x75\x73\x61\x67\ -\x65\0\x66\x6c\x61\x67\x73\0\x70\x74\x72\x61\x63\x65\0\x6f\x6e\x5f\x63\x70\x75\ -\0\x77\x61\x6b\x65\x5f\x65\x6e\x74\x72\x79\0\x77\x61\x6b\x65\x65\x5f\x66\x6c\ -\x69\x70\x73\0\x77\x61\x6b\x65\x65\x5f\x66\x6c\x69\x70\x5f\x64\x65\x63\x61\x79\ -\x5f\x74\x73\0\x6c\x61\x73\x74\x5f\x77\x61\x6b\x65\x65\0\x72\x65\x63\x65\x6e\ -\x74\x5f\x75\x73\x65\x64\x5f\x63\x70\x75\0\x77\x61\x6b\x65\x5f\x63\x70\x75\0\ -\x6f\x6e\x5f\x72\x71\0\x70\x72\x69\x6f\0\x73\x74\x61\x74\x69\x63\x5f\x70\x72\ -\x69\x6f\0\x6e\x6f\x72\x6d\x61\x6c\x5f\x70\x72\x69\x6f\0\x72\x74\x5f\x70\x72\ -\x69\x6f\x72\x69\x74\x79\0\x73\x65\0\x72\x74\0\x64\x6c\0\x73\x63\x68\x65\x64\ -\x5f\x63\x6c\x61\x73\x73\0\x73\x63\x68\x65\x64\x5f\x74\x61\x73\x6b\x5f\x67\x72\ -\x6f\x75\x70\0\x73\x74\x61\x74\x73\0\x62\x74\x72\x61\x63\x65\x5f\x73\x65\x71\0\ -\x70\x6f\x6c\x69\x63\x79\0\x6e\x72\x5f\x63\x70\x75\x73\x5f\x61\x6c\x6c\x6f\x77\ -\x65\x64\0\x63\x70\x75\x73\x5f\x70\x74\x72\0\x75\x73\x65\x72\x5f\x63\x70\x75\ -\x73\x5f\x70\x74\x72\0\x63\x70\x75\x73\x5f\x6d\x61\x73\x6b\0\x6d\x69\x67\x72\ -\x61\x74\x69\x6f\x6e\x5f\x70\x65\x6e\x64\x69\x6e\x67\0\x6d\x69\x67\x72\x61\x74\ -\x69\x6f\x6e\x5f\x64\x69\x73\x61\x62\x6c\x65\x64\0\x6d\x69\x67\x72\x61\x74\x69\ -\x6f\x6e\x5f\x66\x6c\x61\x67\x73\0\x72\x63\x75\x5f\x72\x65\x61\x64\x5f\x6c\x6f\ -\x63\x6b\x5f\x6e\x65\x73\x74\x69\x6e\x67\0\x72\x63\x75\x5f\x72\x65\x61\x64\x5f\ -\x75\x6e\x6c\x6f\x63\x6b\x5f\x73\x70\x65\x63\x69\x61\x6c\0\x72\x63\x75\x5f\x6e\ -\x6f\x64\x65\x5f\x65\x6e\x74\x72\x79\0\x72\x63\x75\x5f\x62\x6c\x6f\x63\x6b\x65\ -\x64\x5f\x6e\x6f\x64\x65\0\x72\x63\x75\x5f\x74\x61\x73\x6b\x73\x5f\x6e\x76\x63\ -\x73\x77\0\x72\x63\x75\x5f\x74\x61\x73\x6b\x73\x5f\x68\x6f\x6c\x64\x6f\x75\x74\ -\0\x72\x63\x75\x5f\x74\x61\x73\x6b\x73\x5f\x69\x64\x78\0\x72\x63\x75\x5f\x74\ -\x61\x73\x6b\x73\x5f\x69\x64\x6c\x65\x5f\x63\x70\x75\0\x72\x63\x75\x5f\x74\x61\ -\x73\x6b\x73\x5f\x68\x6f\x6c\x64\x6f\x75\x74\x5f\x6c\x69\x73\x74\0\x74\x72\x63\ -\x5f\x72\x65\x61\x64\x65\x72\x5f\x6e\x65\x73\x74\x69\x6e\x67\0\x74\x72\x63\x5f\ -\x69\x70\x69\x5f\x74\x6f\x5f\x63\x70\x75\0\x74\x72\x63\x5f\x72\x65\x61\x64\x65\ -\x72\x5f\x73\x70\x65\x63\x69\x61\x6c\0\x74\x72\x63\x5f\x68\x6f\x6c\x64\x6f\x75\ -\x74\x5f\x6c\x69\x73\x74\0\x74\x72\x63\x5f\x62\x6c\x6b\x64\x5f\x6e\x6f\x64\x65\ -\0\x74\x72\x63\x5f\x62\x6c\x6b\x64\x5f\x63\x70\x75\0\x73\x63\x68\x65\x64\x5f\ -\x69\x6e\x66\x6f\0\x74\x61\x73\x6b\x73\0\x70\x75\x73\x68\x61\x62\x6c\x65\x5f\ -\x74\x61\x73\x6b\x73\0\x70\x75\x73\x68\x61\x62\x6c\x65\x5f\x64\x6c\x5f\x74\x61\ -\x73\x6b\x73\0\x6d\x6d\0\x61\x63\x74\x69\x76\x65\x5f\x6d\x6d\0\x72\x73\x73\x5f\ -\x73\x74\x61\x74\0\x65\x78\x69\x74\x5f\x73\x74\x61\x74\x65\0\x65\x78\x69\x74\ -\x5f\x63\x6f\x64\x65\0\x65\x78\x69\x74\x5f\x73\x69\x67\x6e\x61\x6c\0\x70\x64\ -\x65\x61\x74\x68\x5f\x73\x69\x67\x6e\x61\x6c\0\x6a\x6f\x62\x63\x74\x6c\0\x70\ -\x65\x72\x73\x6f\x6e\x61\x6c\x69\x74\x79\0\x73\x63\x68\x65\x64\x5f\x72\x65\x73\ -\x65\x74\x5f\x6f\x6e\x5f\x66\x6f\x72\x6b\0\x73\x63\x68\x65\x64\x5f\x63\x6f\x6e\ -\x74\x72\x69\x62\x75\x74\x65\x73\x5f\x74\x6f\x5f\x6c\x6f\x61\x64\0\x73\x63\x68\ -\x65\x64\x5f\x6d\x69\x67\x72\x61\x74\x65\x64\0\x73\x63\x68\x65\x64\x5f\x72\x65\ -\x6d\x6f\x74\x65\x5f\x77\x61\x6b\x65\x75\x70\0\x69\x6e\x5f\x65\x78\x65\x63\x76\ -\x65\0\x69\x6e\x5f\x69\x6f\x77\x61\x69\x74\0\x72\x65\x73\x74\x6f\x72\x65\x5f\ -\x73\x69\x67\x6d\x61\x73\x6b\0\x69\x6e\x5f\x75\x73\x65\x72\x5f\x66\x61\x75\x6c\ -\x74\0\x62\x72\x6b\x5f\x72\x61\x6e\x64\x6f\x6d\x69\x7a\x65\x64\0\x6e\x6f\x5f\ -\x63\x67\x72\x6f\x75\x70\x5f\x6d\x69\x67\x72\x61\x74\x69\x6f\x6e\0\x66\x72\x6f\ -\x7a\x65\x6e\0\x75\x73\x65\x5f\x6d\x65\x6d\x64\x65\x6c\x61\x79\0\x69\x6e\x5f\ -\x65\x76\x65\x6e\x74\x66\x64\0\x72\x65\x70\x6f\x72\x74\x65\x64\x5f\x73\x70\x6c\ -\x69\x74\x5f\x6c\x6f\x63\x6b\0\x69\x6e\x5f\x74\x68\x72\x61\x73\x68\x69\x6e\x67\ -\0\x61\x74\x6f\x6d\x69\x63\x5f\x66\x6c\x61\x67\x73\0\x72\x65\x73\x74\x61\x72\ -\x74\x5f\x62\x6c\x6f\x63\x6b\0\x70\x69\x64\0\x74\x67\x69\x64\0\x73\x74\x61\x63\ -\x6b\x5f\x63\x61\x6e\x61\x72\x79\0\x72\x65\x61\x6c\x5f\x70\x61\x72\x65\x6e\x74\ -\0\x70\x61\x72\x65\x6e\x74\0\x63\x68\x69\x6c\x64\x72\x65\x6e\0\x73\x69\x62\x6c\ -\x69\x6e\x67\0\x67\x72\x6f\x75\x70\x5f\x6c\x65\x61\x64\x65\x72\0\x70\x74\x72\ -\x61\x63\x65\x64\0\x70\x74\x72\x61\x63\x65\x5f\x65\x6e\x74\x72\x79\0\x74\x68\ -\x72\x65\x61\x64\x5f\x70\x69\x64\0\x70\x69\x64\x5f\x6c\x69\x6e\x6b\x73\0\x74\ -\x68\x72\x65\x61\x64\x5f\x67\x72\x6f\x75\x70\0\x74\x68\x72\x65\x61\x64\x5f\x6e\ -\x6f\x64\x65\0\x76\x66\x6f\x72\x6b\x5f\x64\x6f\x6e\x65\0\x73\x65\x74\x5f\x63\ -\x68\x69\x6c\x64\x5f\x74\x69\x64\0\x63\x6c\x65\x61\x72\x5f\x63\x68\x69\x6c\x64\ -\x5f\x74\x69\x64\0\x77\x6f\x72\x6b\x65\x72\x5f\x70\x72\x69\x76\x61\x74\x65\0\ -\x75\x74\x69\x6d\x65\0\x73\x74\x69\x6d\x65\0\x67\x74\x69\x6d\x65\0\x70\x72\x65\ -\x76\x5f\x63\x70\x75\x74\x69\x6d\x65\0\x6e\x76\x63\x73\x77\0\x6e\x69\x76\x63\ -\x73\x77\0\x73\x74\x61\x72\x74\x5f\x74\x69\x6d\x65\0\x73\x74\x61\x72\x74\x5f\ -\x62\x6f\x6f\x74\x74\x69\x6d\x65\0\x6d\x69\x6e\x5f\x66\x6c\x74\0\x6d\x61\x6a\ -\x5f\x66\x6c\x74\0\x70\x6f\x73\x69\x78\x5f\x63\x70\x75\x74\x69\x6d\x65\x72\x73\ -\0\x70\x6f\x73\x69\x78\x5f\x63\x70\x75\x74\x69\x6d\x65\x72\x73\x5f\x77\x6f\x72\ -\x6b\0\x70\x74\x72\x61\x63\x65\x72\x5f\x63\x72\x65\x64\0\x72\x65\x61\x6c\x5f\ -\x63\x72\x65\x64\0\x63\x72\x65\x64\0\x63\x61\x63\x68\x65\x64\x5f\x72\x65\x71\ -\x75\x65\x73\x74\x65\x64\x5f\x6b\x65\x79\0\x63\x6f\x6d\x6d\0\x6e\x61\x6d\x65\ -\x69\x64\x61\x74\x61\0\x73\x79\x73\x76\x73\x65\x6d\0\x73\x79\x73\x76\x73\x68\ -\x6d\0\x6c\x61\x73\x74\x5f\x73\x77\x69\x74\x63\x68\x5f\x63\x6f\x75\x6e\x74\0\ -\x6c\x61\x73\x74\x5f\x73\x77\x69\x74\x63\x68\x5f\x74\x69\x6d\x65\0\x66\x73\0\ -\x66\x69\x6c\x65\x73\0\x69\x6f\x5f\x75\x72\x69\x6e\x67\0\x6e\x73\x70\x72\x6f\ -\x78\x79\0\x73\x69\x67\x6e\x61\x6c\0\x73\x69\x67\x68\x61\x6e\x64\0\x62\x6c\x6f\ -\x63\x6b\x65\x64\0\x72\x65\x61\x6c\x5f\x62\x6c\x6f\x63\x6b\x65\x64\0\x73\x61\ -\x76\x65\x64\x5f\x73\x69\x67\x6d\x61\x73\x6b\0\x70\x65\x6e\x64\x69\x6e\x67\0\ -\x73\x61\x73\x5f\x73\x73\x5f\x73\x70\0\x73\x61\x73\x5f\x73\x73\x5f\x73\x69\x7a\ -\x65\0\x73\x61\x73\x5f\x73\x73\x5f\x66\x6c\x61\x67\x73\0\x74\x61\x73\x6b\x5f\ -\x77\x6f\x72\x6b\x73\0\x61\x75\x64\x69\x74\x5f\x63\x6f\x6e\x74\x65\x78\x74\0\ -\x6c\x6f\x67\x69\x6e\x75\x69\x64\0\x73\x65\x73\x73\x69\x6f\x6e\x69\x64\0\x73\ -\x65\x63\x63\x6f\x6d\x70\0\x73\x79\x73\x63\x61\x6c\x6c\x5f\x64\x69\x73\x70\x61\ -\x74\x63\x68\0\x70\x61\x72\x65\x6e\x74\x5f\x65\x78\x65\x63\x5f\x69\x64\0\x73\ -\x65\x6c\x66\x5f\x65\x78\x65\x63\x5f\x69\x64\0\x61\x6c\x6c\x6f\x63\x5f\x6c\x6f\ -\x63\x6b\0\x70\x69\x5f\x6c\x6f\x63\x6b\0\x77\x61\x6b\x65\x5f\x71\0\x70\x69\x5f\ -\x77\x61\x69\x74\x65\x72\x73\0\x70\x69\x5f\x74\x6f\x70\x5f\x74\x61\x73\x6b\0\ -\x70\x69\x5f\x62\x6c\x6f\x63\x6b\x65\x64\x5f\x6f\x6e\0\x62\x6c\x6f\x63\x6b\x65\ -\x64\x5f\x6f\x6e\0\x6e\x6f\x6e\x5f\x62\x6c\x6f\x63\x6b\x5f\x63\x6f\x75\x6e\x74\ -\0\x69\x72\x71\x74\x72\x61\x63\x65\0\x68\x61\x72\x64\x69\x72\x71\x5f\x74\x68\ -\x72\x65\x61\x64\x65\x64\0\x68\x61\x72\x64\x69\x72\x71\x5f\x63\x68\x61\x69\x6e\ -\x5f\x6b\x65\x79\0\x73\x6f\x66\x74\x69\x72\x71\x73\x5f\x65\x6e\x61\x62\x6c\x65\ -\x64\0\x73\x6f\x66\x74\x69\x72\x71\x5f\x63\x6f\x6e\x74\x65\x78\x74\0\x69\x72\ -\x71\x5f\x63\x6f\x6e\x66\x69\x67\0\x63\x75\x72\x72\x5f\x63\x68\x61\x69\x6e\x5f\ -\x6b\x65\x79\0\x6c\x6f\x63\x6b\x64\x65\x70\x5f\x64\x65\x70\x74\x68\0\x6c\x6f\ -\x63\x6b\x64\x65\x70\x5f\x72\x65\x63\x75\x72\x73\x69\x6f\x6e\0\x68\x65\x6c\x64\ -\x5f\x6c\x6f\x63\x6b\x73\0\x6a\x6f\x75\x72\x6e\x61\x6c\x5f\x69\x6e\x66\x6f\0\ -\x62\x69\x6f\x5f\x6c\x69\x73\x74\0\x70\x6c\x75\x67\0\x72\x65\x63\x6c\x61\x69\ -\x6d\x5f\x73\x74\x61\x74\x65\0\x62\x61\x63\x6b\x69\x6e\x67\x5f\x64\x65\x76\x5f\ -\x69\x6e\x66\x6f\0\x69\x6f\x5f\x63\x6f\x6e\x74\x65\x78\x74\0\x63\x61\x70\x74\ -\x75\x72\x65\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\0\x70\x74\x72\x61\x63\x65\x5f\x6d\ -\x65\x73\x73\x61\x67\x65\0\x6c\x61\x73\x74\x5f\x73\x69\x67\x69\x6e\x66\x6f\0\ -\x69\x6f\x61\x63\0\x61\x63\x63\x74\x5f\x72\x73\x73\x5f\x6d\x65\x6d\x31\0\x61\ -\x63\x63\x74\x5f\x76\x6d\x5f\x6d\x65\x6d\x31\0\x61\x63\x63\x74\x5f\x74\x69\x6d\ -\x65\x78\x70\x64\0\x6d\x65\x6d\x73\x5f\x61\x6c\x6c\x6f\x77\x65\x64\0\x6d\x65\ -\x6d\x73\x5f\x61\x6c\x6c\x6f\x77\x65\x64\x5f\x73\x65\x71\0\x63\x70\x75\x73\x65\ -\x74\x5f\x6d\x65\x6d\x5f\x73\x70\x72\x65\x61\x64\x5f\x72\x6f\x74\x6f\x72\0\x63\ -\x70\x75\x73\x65\x74\x5f\x73\x6c\x61\x62\x5f\x73\x70\x72\x65\x61\x64\x5f\x72\ -\x6f\x74\x6f\x72\0\x63\x67\x72\x6f\x75\x70\x73\0\x63\x67\x5f\x6c\x69\x73\x74\0\ -\x72\x6f\x62\x75\x73\x74\x5f\x6c\x69\x73\x74\0\x70\x69\x5f\x73\x74\x61\x74\x65\ -\x5f\x6c\x69\x73\x74\0\x70\x69\x5f\x73\x74\x61\x74\x65\x5f\x63\x61\x63\x68\x65\ -\0\x66\x75\x74\x65\x78\x5f\x65\x78\x69\x74\x5f\x6d\x75\x74\x65\x78\0\x66\x75\ -\x74\x65\x78\x5f\x73\x74\x61\x74\x65\0\x70\x65\x72\x66\x5f\x65\x76\x65\x6e\x74\ -\x5f\x63\x74\x78\x70\0\x70\x65\x72\x66\x5f\x65\x76\x65\x6e\x74\x5f\x6d\x75\x74\ -\x65\x78\0\x70\x65\x72\x66\x5f\x65\x76\x65\x6e\x74\x5f\x6c\x69\x73\x74\0\x70\ -\x72\x65\x65\x6d\x70\x74\x5f\x64\x69\x73\x61\x62\x6c\x65\x5f\x69\x70\0\x6d\x65\ -\x6d\x70\x6f\x6c\x69\x63\x79\0\x69\x6c\x5f\x70\x72\x65\x76\0\x70\x72\x65\x66\ -\x5f\x6e\x6f\x64\x65\x5f\x66\x6f\x72\x6b\0\x6e\x75\x6d\x61\x5f\x73\x63\x61\x6e\ -\x5f\x73\x65\x71\0\x6e\x75\x6d\x61\x5f\x73\x63\x61\x6e\x5f\x70\x65\x72\x69\x6f\ -\x64\0\x6e\x75\x6d\x61\x5f\x73\x63\x61\x6e\x5f\x70\x65\x72\x69\x6f\x64\x5f\x6d\ -\x61\x78\0\x6e\x75\x6d\x61\x5f\x70\x72\x65\x66\x65\x72\x72\x65\x64\x5f\x6e\x69\ -\x64\0\x6e\x75\x6d\x61\x5f\x6d\x69\x67\x72\x61\x74\x65\x5f\x72\x65\x74\x72\x79\ -\0\x6e\x6f\x64\x65\x5f\x73\x74\x61\x6d\x70\0\x6c\x61\x73\x74\x5f\x74\x61\x73\ -\x6b\x5f\x6e\x75\x6d\x61\x5f\x70\x6c\x61\x63\x65\x6d\x65\x6e\x74\0\x6c\x61\x73\ -\x74\x5f\x73\x75\x6d\x5f\x65\x78\x65\x63\x5f\x72\x75\x6e\x74\x69\x6d\x65\0\x6e\ -\x75\x6d\x61\x5f\x77\x6f\x72\x6b\0\x6e\x75\x6d\x61\x5f\x67\x72\x6f\x75\x70\0\ -\x6e\x75\x6d\x61\x5f\x66\x61\x75\x6c\x74\x73\0\x74\x6f\x74\x61\x6c\x5f\x6e\x75\ -\x6d\x61\x5f\x66\x61\x75\x6c\x74\x73\0\x6e\x75\x6d\x61\x5f\x66\x61\x75\x6c\x74\ -\x73\x5f\x6c\x6f\x63\x61\x6c\x69\x74\x79\0\x6e\x75\x6d\x61\x5f\x70\x61\x67\x65\ -\x73\x5f\x6d\x69\x67\x72\x61\x74\x65\x64\0\x72\x73\x65\x71\0\x72\x73\x65\x71\ -\x5f\x73\x69\x67\0\x72\x73\x65\x71\x5f\x65\x76\x65\x6e\x74\x5f\x6d\x61\x73\x6b\ -\0\x74\x6c\x62\x5f\x75\x62\x63\0\x73\x70\x6c\x69\x63\x65\x5f\x70\x69\x70\x65\0\ -\x74\x61\x73\x6b\x5f\x66\x72\x61\x67\0\x64\x65\x6c\x61\x79\x73\0\x6d\x61\x6b\ -\x65\x5f\x69\x74\x5f\x66\x61\x69\x6c\0\x66\x61\x69\x6c\x5f\x6e\x74\x68\0\x6e\ -\x72\x5f\x64\x69\x72\x74\x69\x65\x64\0\x6e\x72\x5f\x64\x69\x72\x74\x69\x65\x64\ -\x5f\x70\x61\x75\x73\x65\0\x64\x69\x72\x74\x79\x5f\x70\x61\x75\x73\x65\x64\x5f\ -\x77\x68\x65\x6e\0\x74\x69\x6d\x65\x72\x5f\x73\x6c\x61\x63\x6b\x5f\x6e\x73\0\ -\x64\x65\x66\x61\x75\x6c\x74\x5f\x74\x69\x6d\x65\x72\x5f\x73\x6c\x61\x63\x6b\ -\x5f\x6e\x73\0\x63\x75\x72\x72\x5f\x72\x65\x74\x5f\x73\x74\x61\x63\x6b\0\x63\ -\x75\x72\x72\x5f\x72\x65\x74\x5f\x64\x65\x70\x74\x68\0\x72\x65\x74\x5f\x73\x74\ -\x61\x63\x6b\0\x66\x74\x72\x61\x63\x65\x5f\x74\x69\x6d\x65\x73\x74\x61\x6d\x70\ -\0\x74\x72\x61\x63\x65\x5f\x6f\x76\x65\x72\x72\x75\x6e\0\x74\x72\x61\x63\x69\ -\x6e\x67\x5f\x67\x72\x61\x70\x68\x5f\x70\x61\x75\x73\x65\0\x74\x72\x61\x63\x65\ -\x5f\x72\x65\x63\x75\x72\x73\x69\x6f\x6e\0\x6d\x65\x6d\x63\x67\x5f\x69\x6e\x5f\ -\x6f\x6f\x6d\0\x6d\x65\x6d\x63\x67\x5f\x6f\x6f\x6d\x5f\x67\x66\x70\x5f\x6d\x61\ -\x73\x6b\0\x6d\x65\x6d\x63\x67\x5f\x6f\x6f\x6d\x5f\x6f\x72\x64\x65\x72\0\x6d\ -\x65\x6d\x63\x67\x5f\x6e\x72\x5f\x70\x61\x67\x65\x73\x5f\x6f\x76\x65\x72\x5f\ -\x68\x69\x67\x68\0\x61\x63\x74\x69\x76\x65\x5f\x6d\x65\x6d\x63\x67\0\x74\x68\ -\x72\x6f\x74\x74\x6c\x65\x5f\x71\x75\x65\x75\x65\0\x75\x74\x61\x73\x6b\0\x6b\ -\x6d\x61\x70\x5f\x63\x74\x72\x6c\0\x74\x61\x73\x6b\x5f\x73\x74\x61\x74\x65\x5f\ -\x63\x68\x61\x6e\x67\x65\0\x70\x61\x67\x65\x66\x61\x75\x6c\x74\x5f\x64\x69\x73\ -\x61\x62\x6c\x65\x64\0\x6f\x6f\x6d\x5f\x72\x65\x61\x70\x65\x72\x5f\x6c\x69\x73\ -\x74\0\x6f\x6f\x6d\x5f\x72\x65\x61\x70\x65\x72\x5f\x74\x69\x6d\x65\x72\0\x73\ -\x74\x61\x63\x6b\x5f\x76\x6d\x5f\x61\x72\x65\x61\0\x73\x74\x61\x63\x6b\x5f\x72\ -\x65\x66\x63\x6f\x75\x6e\x74\0\x73\x65\x63\x75\x72\x69\x74\x79\0\x62\x70\x66\ -\x5f\x73\x74\x6f\x72\x61\x67\x65\0\x62\x70\x66\x5f\x63\x74\x78\0\x6d\x63\x65\ -\x5f\x76\x61\x64\x64\x72\0\x6d\x63\x65\x5f\x6b\x66\x6c\x61\x67\x73\0\x6d\x63\ -\x65\x5f\x61\x64\x64\x72\0\x6d\x63\x65\x5f\x72\x69\x70\x76\0\x6d\x63\x65\x5f\ -\x77\x68\x6f\x6c\x65\x5f\x70\x61\x67\x65\0\x5f\x5f\x6d\x63\x65\x5f\x72\x65\x73\ -\x65\x72\x76\x65\x64\0\x6d\x63\x65\x5f\x6b\x69\x6c\x6c\x5f\x6d\x65\0\x6d\x63\ -\x65\x5f\x63\x6f\x75\x6e\x74\0\x6b\x72\x65\x74\x70\x72\x6f\x62\x65\x5f\x69\x6e\ -\x73\x74\x61\x6e\x63\x65\x73\0\x72\x65\x74\x68\x6f\x6f\x6b\x73\0\x6c\x31\x64\ -\x5f\x66\x6c\x75\x73\x68\x5f\x6b\x69\x6c\x6c\0\x74\x68\x72\x65\x61\x64\0\x73\ -\x79\x73\x63\x61\x6c\x6c\x5f\x77\x6f\x72\x6b\0\x73\x74\x61\x74\x75\x73\0\x63\ -\x70\x75\0\x75\x6e\x73\x69\x67\x6e\x65\x64\x20\x6c\x6f\x6e\x67\0\x75\x33\x32\0\ -\x5f\x5f\x75\x33\x32\0\x75\x6e\x73\x69\x67\x6e\x65\x64\x20\x69\x6e\x74\0\x72\ -\x65\x66\x63\x6f\x75\x6e\x74\x5f\x74\0\x72\x65\x66\x63\x6f\x75\x6e\x74\x5f\x73\ -\x74\x72\x75\x63\x74\0\x72\x65\x66\x73\0\x61\x74\x6f\x6d\x69\x63\x5f\x74\0\x63\ -\x6f\x75\x6e\x74\x65\x72\0\x5f\x5f\x63\x61\x6c\x6c\x5f\x73\x69\x6e\x67\x6c\x65\ -\x5f\x6e\x6f\x64\x65\0\x6c\x6c\x69\x73\x74\0\x73\x72\x63\0\x64\x73\x74\0\x6c\ -\x6c\x69\x73\x74\x5f\x6e\x6f\x64\x65\0\x6e\x65\x78\x74\0\x75\x5f\x66\x6c\x61\ -\x67\x73\0\x61\x5f\x66\x6c\x61\x67\x73\0\x75\x31\x36\0\x5f\x5f\x75\x31\x36\0\ -\x75\x6e\x73\x69\x67\x6e\x65\x64\x20\x73\x68\x6f\x72\x74\0\x73\x63\x68\x65\x64\ -\x5f\x65\x6e\x74\x69\x74\x79\0\x6c\x6f\x61\x64\0\x72\x75\x6e\x5f\x6e\x6f\x64\ -\x65\0\x67\x72\x6f\x75\x70\x5f\x6e\x6f\x64\x65\0\x65\x78\x65\x63\x5f\x73\x74\ -\x61\x72\x74\0\x73\x75\x6d\x5f\x65\x78\x65\x63\x5f\x72\x75\x6e\x74\x69\x6d\x65\ -\0\x76\x72\x75\x6e\x74\x69\x6d\x65\0\x70\x72\x65\x76\x5f\x73\x75\x6d\x5f\x65\ -\x78\x65\x63\x5f\x72\x75\x6e\x74\x69\x6d\x65\0\x6e\x72\x5f\x6d\x69\x67\x72\x61\ -\x74\x69\x6f\x6e\x73\0\x64\x65\x70\x74\x68\0\x63\x66\x73\x5f\x72\x71\0\x6d\x79\ -\x5f\x71\0\x72\x75\x6e\x6e\x61\x62\x6c\x65\x5f\x77\x65\x69\x67\x68\x74\0\x61\ -\x76\x67\0\x6c\x6f\x61\x64\x5f\x77\x65\x69\x67\x68\x74\0\x77\x65\x69\x67\x68\ -\x74\0\x69\x6e\x76\x5f\x77\x65\x69\x67\x68\x74\0\x72\x62\x5f\x6e\x6f\x64\x65\0\ -\x5f\x5f\x72\x62\x5f\x70\x61\x72\x65\x6e\x74\x5f\x63\x6f\x6c\x6f\x72\0\x72\x62\ -\x5f\x72\x69\x67\x68\x74\0\x72\x62\x5f\x6c\x65\x66\x74\0\x6c\x69\x73\x74\x5f\ -\x68\x65\x61\x64\0\x70\x72\x65\x76\0\x75\x36\x34\0\x5f\x5f\x75\x36\x34\0\x73\ -\x63\x68\x65\x64\x5f\x61\x76\x67\0\x6c\x61\x73\x74\x5f\x75\x70\x64\x61\x74\x65\ -\x5f\x74\x69\x6d\x65\0\x6c\x6f\x61\x64\x5f\x73\x75\x6d\0\x72\x75\x6e\x6e\x61\ -\x62\x6c\x65\x5f\x73\x75\x6d\0\x75\x74\x69\x6c\x5f\x73\x75\x6d\0\x70\x65\x72\ -\x69\x6f\x64\x5f\x63\x6f\x6e\x74\x72\x69\x62\0\x6c\x6f\x61\x64\x5f\x61\x76\x67\ -\0\x72\x75\x6e\x6e\x61\x62\x6c\x65\x5f\x61\x76\x67\0\x75\x74\x69\x6c\x5f\x61\ -\x76\x67\0\x75\x74\x69\x6c\x5f\x65\x73\x74\0\x65\x6e\x71\x75\x65\x75\x65\x64\0\ -\x65\x77\x6d\x61\0\x73\x63\x68\x65\x64\x5f\x72\x74\x5f\x65\x6e\x74\x69\x74\x79\ -\0\x72\x75\x6e\x5f\x6c\x69\x73\x74\0\x74\x69\x6d\x65\x6f\x75\x74\0\x77\x61\x74\ -\x63\x68\x64\x6f\x67\x5f\x73\x74\x61\x6d\x70\0\x74\x69\x6d\x65\x5f\x73\x6c\x69\ -\x63\x65\0\x6f\x6e\x5f\x6c\x69\x73\x74\0\x62\x61\x63\x6b\0\x73\x63\x68\x65\x64\ -\x5f\x64\x6c\x5f\x65\x6e\x74\x69\x74\x79\0\x64\x6c\x5f\x72\x75\x6e\x74\x69\x6d\ -\x65\0\x64\x6c\x5f\x64\x65\x61\x64\x6c\x69\x6e\x65\0\x64\x6c\x5f\x70\x65\x72\ -\x69\x6f\x64\0\x64\x6c\x5f\x62\x77\0\x64\x6c\x5f\x64\x65\x6e\x73\x69\x74\x79\0\ -\x72\x75\x6e\x74\x69\x6d\x65\0\x64\x65\x61\x64\x6c\x69\x6e\x65\0\x64\x6c\x5f\ -\x74\x68\x72\x6f\x74\x74\x6c\x65\x64\0\x64\x6c\x5f\x79\x69\x65\x6c\x64\x65\x64\ -\0\x64\x6c\x5f\x6e\x6f\x6e\x5f\x63\x6f\x6e\x74\x65\x6e\x64\x69\x6e\x67\0\x64\ -\x6c\x5f\x6f\x76\x65\x72\x72\x75\x6e\0\x64\x6c\x5f\x74\x69\x6d\x65\x72\0\x69\ -\x6e\x61\x63\x74\x69\x76\x65\x5f\x74\x69\x6d\x65\x72\0\x70\x69\x5f\x73\x65\0\ -\x73\x36\x34\0\x5f\x5f\x73\x36\x34\0\x6c\x6f\x6e\x67\x20\x6c\x6f\x6e\x67\0\x68\ -\x72\x74\x69\x6d\x65\x72\0\x6e\x6f\x64\x65\0\x5f\x73\x6f\x66\x74\x65\x78\x70\ -\x69\x72\x65\x73\0\x66\x75\x6e\x63\x74\x69\x6f\x6e\0\x62\x61\x73\x65\0\x73\x74\ -\x61\x74\x65\0\x69\x73\x5f\x72\x65\x6c\0\x69\x73\x5f\x73\x6f\x66\x74\0\x69\x73\ -\x5f\x68\x61\x72\x64\0\x74\x69\x6d\x65\x72\x71\x75\x65\x75\x65\x5f\x6e\x6f\x64\ -\x65\0\x65\x78\x70\x69\x72\x65\x73\0\x6b\x74\x69\x6d\x65\x5f\x74\0\x68\x72\x74\ -\x69\x6d\x65\x72\x5f\x72\x65\x73\x74\x61\x72\x74\0\x48\x52\x54\x49\x4d\x45\x52\ -\x5f\x4e\x4f\x52\x45\x53\x54\x41\x52\x54\0\x48\x52\x54\x49\x4d\x45\x52\x5f\x52\ -\x45\x53\x54\x41\x52\x54\0\x75\x38\0\x5f\x5f\x75\x38\0\x75\x6e\x73\x69\x67\x6e\ -\x65\x64\x20\x63\x68\x61\x72\0\x73\x63\x68\x65\x64\x5f\x73\x74\x61\x74\x69\x73\ -\x74\x69\x63\x73\0\x77\x61\x69\x74\x5f\x73\x74\x61\x72\x74\0\x77\x61\x69\x74\ -\x5f\x6d\x61\x78\0\x77\x61\x69\x74\x5f\x63\x6f\x75\x6e\x74\0\x77\x61\x69\x74\ -\x5f\x73\x75\x6d\0\x69\x6f\x77\x61\x69\x74\x5f\x63\x6f\x75\x6e\x74\0\x69\x6f\ -\x77\x61\x69\x74\x5f\x73\x75\x6d\0\x73\x6c\x65\x65\x70\x5f\x73\x74\x61\x72\x74\ -\0\x73\x6c\x65\x65\x70\x5f\x6d\x61\x78\0\x73\x75\x6d\x5f\x73\x6c\x65\x65\x70\ -\x5f\x72\x75\x6e\x74\x69\x6d\x65\0\x62\x6c\x6f\x63\x6b\x5f\x73\x74\x61\x72\x74\ -\0\x62\x6c\x6f\x63\x6b\x5f\x6d\x61\x78\0\x73\x75\x6d\x5f\x62\x6c\x6f\x63\x6b\ -\x5f\x72\x75\x6e\x74\x69\x6d\x65\0\x65\x78\x65\x63\x5f\x6d\x61\x78\0\x73\x6c\ -\x69\x63\x65\x5f\x6d\x61\x78\0\x6e\x72\x5f\x6d\x69\x67\x72\x61\x74\x69\x6f\x6e\ -\x73\x5f\x63\x6f\x6c\x64\0\x6e\x72\x5f\x66\x61\x69\x6c\x65\x64\x5f\x6d\x69\x67\ -\x72\x61\x74\x69\x6f\x6e\x73\x5f\x61\x66\x66\x69\x6e\x65\0\x6e\x72\x5f\x66\x61\ -\x69\x6c\x65\x64\x5f\x6d\x69\x67\x72\x61\x74\x69\x6f\x6e\x73\x5f\x72\x75\x6e\ -\x6e\x69\x6e\x67\0\x6e\x72\x5f\x66\x61\x69\x6c\x65\x64\x5f\x6d\x69\x67\x72\x61\ -\x74\x69\x6f\x6e\x73\x5f\x68\x6f\x74\0\x6e\x72\x5f\x66\x6f\x72\x63\x65\x64\x5f\ -\x6d\x69\x67\x72\x61\x74\x69\x6f\x6e\x73\0\x6e\x72\x5f\x77\x61\x6b\x65\x75\x70\ -\x73\0\x6e\x72\x5f\x77\x61\x6b\x65\x75\x70\x73\x5f\x73\x79\x6e\x63\0\x6e\x72\ -\x5f\x77\x61\x6b\x65\x75\x70\x73\x5f\x6d\x69\x67\x72\x61\x74\x65\0\x6e\x72\x5f\ -\x77\x61\x6b\x65\x75\x70\x73\x5f\x6c\x6f\x63\x61\x6c\0\x6e\x72\x5f\x77\x61\x6b\ -\x65\x75\x70\x73\x5f\x72\x65\x6d\x6f\x74\x65\0\x6e\x72\x5f\x77\x61\x6b\x65\x75\ -\x70\x73\x5f\x61\x66\x66\x69\x6e\x65\0\x6e\x72\x5f\x77\x61\x6b\x65\x75\x70\x73\ -\x5f\x61\x66\x66\x69\x6e\x65\x5f\x61\x74\x74\x65\x6d\x70\x74\x73\0\x6e\x72\x5f\ -\x77\x61\x6b\x65\x75\x70\x73\x5f\x70\x61\x73\x73\x69\x76\x65\0\x6e\x72\x5f\x77\ -\x61\x6b\x65\x75\x70\x73\x5f\x69\x64\x6c\x65\0\x63\x70\x75\x6d\x61\x73\x6b\x5f\ -\x74\0\x63\x70\x75\x6d\x61\x73\x6b\0\x62\x69\x74\x73\0\x72\x63\x75\x5f\x73\x70\ -\x65\x63\x69\x61\x6c\0\x62\0\x73\0\x6e\x65\x65\x64\x5f\x71\x73\0\x65\x78\x70\ -\x5f\x68\x69\x6e\x74\0\x6e\x65\x65\x64\x5f\x6d\x62\0\x70\x63\x6f\x75\x6e\x74\0\ -\x72\x75\x6e\x5f\x64\x65\x6c\x61\x79\0\x6c\x61\x73\x74\x5f\x61\x72\x72\x69\x76\ -\x61\x6c\0\x6c\x61\x73\x74\x5f\x71\x75\x65\x75\x65\x64\0\x70\x6c\x69\x73\x74\ -\x5f\x6e\x6f\x64\x65\0\x70\x72\x69\x6f\x5f\x6c\x69\x73\x74\0\x6e\x6f\x64\x65\ -\x5f\x6c\x69\x73\x74\0\x74\x61\x73\x6b\x5f\x72\x73\x73\x5f\x73\x74\x61\x74\0\ -\x65\x76\x65\x6e\x74\x73\0\x63\x6f\x75\x6e\x74\0\x61\x72\x63\x68\x5f\x64\x61\ -\x74\x61\0\x66\x6e\0\x6c\x6f\x6e\x67\0\x66\x75\x74\x65\x78\0\x6e\x61\x6e\x6f\ -\x73\x6c\x65\x65\x70\0\x70\x6f\x6c\x6c\0\x75\x61\x64\x64\x72\0\x76\x61\x6c\0\ -\x62\x69\x74\x73\x65\x74\0\x74\x69\x6d\x65\0\x75\x61\x64\x64\x72\x32\0\x63\x6c\ -\x6f\x63\x6b\x69\x64\0\x63\x6c\x6f\x63\x6b\x69\x64\x5f\x74\0\x5f\x5f\x6b\x65\ -\x72\x6e\x65\x6c\x5f\x63\x6c\x6f\x63\x6b\x69\x64\x5f\x74\0\x74\x69\x6d\x65\x73\ -\x70\x65\x63\x5f\x74\x79\x70\x65\0\x54\x54\x5f\x4e\x4f\x4e\x45\0\x54\x54\x5f\ -\x4e\x41\x54\x49\x56\x45\0\x54\x54\x5f\x43\x4f\x4d\x50\x41\x54\0\x72\x6d\x74\ -\x70\0\x63\x6f\x6d\x70\x61\x74\x5f\x72\x6d\x74\x70\0\x75\x66\x64\x73\0\x6e\x66\ -\x64\x73\0\x68\x61\x73\x5f\x74\x69\x6d\x65\x6f\x75\x74\0\x74\x76\x5f\x73\x65\ -\x63\0\x74\x76\x5f\x6e\x73\x65\x63\0\x70\x69\x64\x5f\x74\0\x5f\x5f\x6b\x65\x72\ -\x6e\x65\x6c\x5f\x70\x69\x64\x5f\x74\0\x68\x6c\x69\x73\x74\x5f\x6e\x6f\x64\x65\ -\0\x70\x70\x72\x65\x76\0\x6c\x6f\x63\x6b\0\x72\x61\x77\x5f\x73\x70\x69\x6e\x6c\ -\x6f\x63\x6b\x5f\x74\0\x72\x61\x77\x5f\x73\x70\x69\x6e\x6c\x6f\x63\x6b\0\x72\ -\x61\x77\x5f\x6c\x6f\x63\x6b\0\x6d\x61\x67\x69\x63\0\x6f\x77\x6e\x65\x72\x5f\ -\x63\x70\x75\0\x6f\x77\x6e\x65\x72\0\x64\x65\x70\x5f\x6d\x61\x70\0\x61\x72\x63\ -\x68\x5f\x73\x70\x69\x6e\x6c\x6f\x63\x6b\x5f\x74\0\x71\x73\x70\x69\x6e\x6c\x6f\ -\x63\x6b\0\x6c\x6f\x63\x6b\x65\x64\0\x6c\x6f\x63\x6b\x65\x64\x5f\x70\x65\x6e\ -\x64\x69\x6e\x67\0\x74\x61\x69\x6c\0\x6c\x6f\x63\x6b\x64\x65\x70\x5f\x6d\x61\ -\x70\0\x6b\x65\x79\0\x63\x6c\x61\x73\x73\x5f\x63\x61\x63\x68\x65\0\x6e\x61\x6d\ -\x65\0\x77\x61\x69\x74\x5f\x74\x79\x70\x65\x5f\x6f\x75\x74\x65\x72\0\x77\x61\ -\x69\x74\x5f\x74\x79\x70\x65\x5f\x69\x6e\x6e\x65\x72\0\x6c\x6f\x63\x6b\x5f\x74\ -\x79\x70\x65\0\x6c\x6f\x63\x6b\x5f\x63\x6c\x61\x73\x73\0\x68\x61\x73\x68\x5f\ -\x65\x6e\x74\x72\x79\0\x6c\x6f\x63\x6b\x5f\x65\x6e\x74\x72\x79\0\x6c\x6f\x63\ -\x6b\x73\x5f\x61\x66\x74\x65\x72\0\x6c\x6f\x63\x6b\x73\x5f\x62\x65\x66\x6f\x72\ -\x65\0\x73\x75\x62\x63\x6c\x61\x73\x73\0\x64\x65\x70\x5f\x67\x65\x6e\x5f\x69\ -\x64\0\x75\x73\x61\x67\x65\x5f\x6d\x61\x73\x6b\0\x75\x73\x61\x67\x65\x5f\x74\ -\x72\x61\x63\x65\x73\0\x6e\x61\x6d\x65\x5f\x76\x65\x72\x73\x69\x6f\x6e\0\x6c\ -\x6f\x63\x6b\x5f\x74\x72\x61\x63\x65\0\x68\x61\x73\x68\0\x6e\x72\x5f\x65\x6e\ -\x74\x72\x69\x65\x73\0\x65\x6e\x74\x72\x69\x65\x73\0\x63\x68\x61\x72\0\x62\x61\ -\x73\x65\x73\0\x74\x69\x6d\x65\x72\x73\x5f\x61\x63\x74\x69\x76\x65\0\x65\x78\ -\x70\x69\x72\x79\x5f\x61\x63\x74\x69\x76\x65\0\x70\x6f\x73\x69\x78\x5f\x63\x70\ -\x75\x74\x69\x6d\x65\x72\x5f\x62\x61\x73\x65\0\x6e\x65\x78\x74\x65\x76\x74\0\ -\x74\x71\x68\x65\x61\x64\0\x74\x69\x6d\x65\x72\x71\x75\x65\x75\x65\x5f\x68\x65\ -\x61\x64\0\x72\x62\x5f\x72\x6f\x6f\x74\0\x72\x62\x5f\x72\x6f\x6f\x74\x5f\x63\ -\x61\x63\x68\x65\x64\0\x72\x62\x5f\x6c\x65\x66\x74\x6d\x6f\x73\x74\0\x77\x6f\ -\x72\x6b\0\x73\x63\x68\x65\x64\x75\x6c\x65\x64\0\x63\x61\x6c\x6c\x62\x61\x63\ -\x6b\x5f\x68\x65\x61\x64\0\x66\x75\x6e\x63\0\x73\x79\x73\x76\x5f\x73\x65\x6d\0\ -\x75\x6e\x64\x6f\x5f\x6c\x69\x73\x74\0\x73\x79\x73\x76\x5f\x73\x68\x6d\0\x73\ -\x68\x6d\x5f\x63\x6c\x69\x73\x74\0\x73\x69\x67\x73\x65\x74\x5f\x74\0\x73\x69\ -\x67\0\x73\x69\x67\x70\x65\x6e\x64\x69\x6e\x67\0\x6c\x69\x73\x74\0\x73\x69\x7a\ -\x65\x5f\x74\0\x5f\x5f\x6b\x65\x72\x6e\x65\x6c\x5f\x73\x69\x7a\x65\x5f\x74\0\ -\x5f\x5f\x6b\x65\x72\x6e\x65\x6c\x5f\x75\x6c\x6f\x6e\x67\x5f\x74\0\x6b\x75\x69\ -\x64\x5f\x74\0\x75\x69\x64\x5f\x74\0\x5f\x5f\x6b\x65\x72\x6e\x65\x6c\x5f\x75\ -\x69\x64\x33\x32\x5f\x74\0\x6d\x6f\x64\x65\0\x66\x69\x6c\x74\x65\x72\x5f\x63\ -\x6f\x75\x6e\x74\0\x66\x69\x6c\x74\x65\x72\0\x73\x79\x73\x63\x61\x6c\x6c\x5f\ -\x75\x73\x65\x72\x5f\x64\x69\x73\x70\x61\x74\x63\x68\0\x73\x65\x6c\x65\x63\x74\ -\x6f\x72\0\x6f\x66\x66\x73\x65\x74\0\x6c\x65\x6e\0\x6f\x6e\x5f\x64\x69\x73\x70\ -\x61\x74\x63\x68\0\x62\x6f\x6f\x6c\0\x5f\x42\x6f\x6f\x6c\0\x73\x70\x69\x6e\x6c\ -\x6f\x63\x6b\x5f\x74\0\x73\x70\x69\x6e\x6c\x6f\x63\x6b\0\x72\x6c\x6f\x63\x6b\0\ -\x5f\x5f\x70\x61\x64\x64\x69\x6e\x67\0\x77\x61\x6b\x65\x5f\x71\x5f\x6e\x6f\x64\ -\x65\0\x69\x72\x71\x74\x72\x61\x63\x65\x5f\x65\x76\x65\x6e\x74\x73\0\x69\x72\ -\x71\x5f\x65\x76\x65\x6e\x74\x73\0\x68\x61\x72\x64\x69\x72\x71\x5f\x65\x6e\x61\ -\x62\x6c\x65\x5f\x69\x70\0\x68\x61\x72\x64\x69\x72\x71\x5f\x64\x69\x73\x61\x62\ -\x6c\x65\x5f\x69\x70\0\x68\x61\x72\x64\x69\x72\x71\x5f\x65\x6e\x61\x62\x6c\x65\ -\x5f\x65\x76\x65\x6e\x74\0\x68\x61\x72\x64\x69\x72\x71\x5f\x64\x69\x73\x61\x62\ -\x6c\x65\x5f\x65\x76\x65\x6e\x74\0\x73\x6f\x66\x74\x69\x72\x71\x5f\x64\x69\x73\ -\x61\x62\x6c\x65\x5f\x69\x70\0\x73\x6f\x66\x74\x69\x72\x71\x5f\x65\x6e\x61\x62\ -\x6c\x65\x5f\x69\x70\0\x73\x6f\x66\x74\x69\x72\x71\x5f\x64\x69\x73\x61\x62\x6c\ -\x65\x5f\x65\x76\x65\x6e\x74\0\x73\x6f\x66\x74\x69\x72\x71\x5f\x65\x6e\x61\x62\ -\x6c\x65\x5f\x65\x76\x65\x6e\x74\0\x68\x65\x6c\x64\x5f\x6c\x6f\x63\x6b\0\x70\ -\x72\x65\x76\x5f\x63\x68\x61\x69\x6e\x5f\x6b\x65\x79\0\x61\x63\x71\x75\x69\x72\ -\x65\x5f\x69\x70\0\x69\x6e\x73\x74\x61\x6e\x63\x65\0\x6e\x65\x73\x74\x5f\x6c\ -\x6f\x63\x6b\0\x63\x6c\x61\x73\x73\x5f\x69\x64\x78\0\x69\x72\x71\x5f\x63\x6f\ -\x6e\x74\x65\x78\x74\0\x74\x72\x79\x6c\x6f\x63\x6b\0\x72\x65\x61\x64\0\x63\x68\ -\x65\x63\x6b\0\x68\x61\x72\x64\x69\x72\x71\x73\x5f\x6f\x66\x66\0\x72\x65\x66\ -\x65\x72\x65\x6e\x63\x65\x73\0\x70\x69\x6e\x5f\x63\x6f\x75\x6e\x74\0\x6b\x65\ -\x72\x6e\x65\x6c\x5f\x73\x69\x67\x69\x6e\x66\x6f\x5f\x74\0\x74\x61\x73\x6b\x5f\ -\x69\x6f\x5f\x61\x63\x63\x6f\x75\x6e\x74\x69\x6e\x67\0\x72\x63\x68\x61\x72\0\ -\x77\x63\x68\x61\x72\0\x73\x79\x73\x63\x72\0\x73\x79\x73\x63\x77\0\x72\x65\x61\ -\x64\x5f\x62\x79\x74\x65\x73\0\x77\x72\x69\x74\x65\x5f\x62\x79\x74\x65\x73\0\ -\x63\x61\x6e\x63\x65\x6c\x6c\x65\x64\x5f\x77\x72\x69\x74\x65\x5f\x62\x79\x74\ -\x65\x73\0\x6e\x6f\x64\x65\x6d\x61\x73\x6b\x5f\x74\0\x73\x65\x71\x63\x6f\x75\ -\x6e\x74\x5f\x73\x70\x69\x6e\x6c\x6f\x63\x6b\x5f\x74\0\x73\x65\x71\x63\x6f\x75\ -\x6e\x74\x5f\x73\x70\x69\x6e\x6c\x6f\x63\x6b\0\x73\x65\x71\x63\x6f\x75\x6e\x74\ -\0\x73\x65\x71\x63\x6f\x75\x6e\x74\x5f\x74\0\x73\x65\x71\x75\x65\x6e\x63\x65\0\ -\x6d\x75\x74\x65\x78\0\x77\x61\x69\x74\x5f\x6c\x6f\x63\x6b\0\x6f\x73\x71\0\x77\ -\x61\x69\x74\x5f\x6c\x69\x73\x74\0\x61\x74\x6f\x6d\x69\x63\x5f\x6c\x6f\x6e\x67\ -\x5f\x74\0\x61\x74\x6f\x6d\x69\x63\x36\x34\x5f\x74\0\x6f\x70\x74\x69\x6d\x69\ -\x73\x74\x69\x63\x5f\x73\x70\x69\x6e\x5f\x71\x75\x65\x75\x65\0\x70\x65\x72\x66\ -\x5f\x65\x76\x65\x6e\x74\x5f\x63\x6f\x6e\x74\x65\x78\x74\0\x70\x6d\x75\0\x61\ -\x63\x74\x69\x76\x65\x5f\x63\x74\x78\x5f\x6c\x69\x73\x74\0\x70\x69\x6e\x6e\x65\ -\x64\x5f\x67\x72\x6f\x75\x70\x73\0\x66\x6c\x65\x78\x69\x62\x6c\x65\x5f\x67\x72\ -\x6f\x75\x70\x73\0\x65\x76\x65\x6e\x74\x5f\x6c\x69\x73\x74\0\x70\x69\x6e\x6e\ -\x65\x64\x5f\x61\x63\x74\x69\x76\x65\0\x66\x6c\x65\x78\x69\x62\x6c\x65\x5f\x61\ -\x63\x74\x69\x76\x65\0\x6e\x72\x5f\x65\x76\x65\x6e\x74\x73\0\x6e\x72\x5f\x61\ -\x63\x74\x69\x76\x65\0\x6e\x72\x5f\x75\x73\x65\x72\0\x69\x73\x5f\x61\x63\x74\ -\x69\x76\x65\0\x6e\x72\x5f\x73\x74\x61\x74\0\x6e\x72\x5f\x66\x72\x65\x71\0\x72\ -\x6f\x74\x61\x74\x65\x5f\x64\x69\x73\x61\x62\x6c\x65\0\x72\x6f\x74\x61\x74\x65\ -\x5f\x6e\x65\x63\x65\x73\x73\x61\x72\x79\0\x72\x65\x66\x63\x6f\x75\x6e\x74\0\ -\x74\x61\x73\x6b\0\x74\x69\x6d\x65\x73\x74\x61\x6d\x70\0\x74\x69\x6d\x65\x6f\ -\x66\x66\x73\x65\x74\0\x70\x61\x72\x65\x6e\x74\x5f\x63\x74\x78\0\x70\x61\x72\ -\x65\x6e\x74\x5f\x67\x65\x6e\0\x67\x65\x6e\x65\x72\x61\x74\x69\x6f\x6e\0\x6e\ -\x72\x5f\x63\x67\x72\x6f\x75\x70\x73\0\x74\x61\x73\x6b\x5f\x63\x74\x78\x5f\x64\ -\x61\x74\x61\0\x6e\x72\x5f\x70\x65\x6e\x64\x69\x6e\x67\0\x70\x65\x72\x66\x5f\ -\x65\x76\x65\x6e\x74\x5f\x67\x72\x6f\x75\x70\x73\0\x74\x72\x65\x65\0\x69\x6e\ -\x64\x65\x78\0\x6c\x6f\x63\x61\x6c\x5f\x74\0\x61\0\x73\x68\x6f\x72\x74\0\x74\ -\x6c\x62\x66\x6c\x75\x73\x68\x5f\x75\x6e\x6d\x61\x70\x5f\x62\x61\x74\x63\x68\0\ -\x61\x72\x63\x68\0\x66\x6c\x75\x73\x68\x5f\x72\x65\x71\x75\x69\x72\x65\x64\0\ -\x77\x72\x69\x74\x61\x62\x6c\x65\0\x61\x72\x63\x68\x5f\x74\x6c\x62\x66\x6c\x75\ -\x73\x68\x5f\x75\x6e\x6d\x61\x70\x5f\x62\x61\x74\x63\x68\0\x72\x63\x75\x5f\x75\ -\x73\x65\x72\x73\0\x72\x63\x75\0\x70\x61\x67\x65\x5f\x66\x72\x61\x67\0\x70\x61\ -\x67\x65\0\x73\x69\x7a\x65\0\x67\x66\x70\x5f\x74\0\x74\x69\x6d\x65\x72\x5f\x6c\ -\x69\x73\x74\0\x65\x6e\x74\x72\x79\0\x6c\x6c\x69\x73\x74\x5f\x68\x65\x61\x64\0\ -\x66\x69\x72\x73\x74\0\x74\x68\x72\x65\x61\x64\x5f\x73\x74\x72\x75\x63\x74\0\ -\x74\x6c\x73\x5f\x61\x72\x72\x61\x79\0\x73\x70\0\x65\x73\0\x64\x73\0\x66\x73\ -\x69\x6e\x64\x65\x78\0\x67\x73\x69\x6e\x64\x65\x78\0\x66\x73\x62\x61\x73\x65\0\ -\x67\x73\x62\x61\x73\x65\0\x70\x74\x72\x61\x63\x65\x5f\x62\x70\x73\0\x76\x69\ -\x72\x74\x75\x61\x6c\x5f\x64\x72\x36\0\x70\x74\x72\x61\x63\x65\x5f\x64\x72\x37\ -\0\x63\x72\x32\0\x74\x72\x61\x70\x5f\x6e\x72\0\x65\x72\x72\x6f\x72\x5f\x63\x6f\ -\x64\x65\0\x69\x6f\x5f\x62\x69\x74\x6d\x61\x70\0\x69\x6f\x70\x6c\x5f\x65\x6d\ -\x75\x6c\0\x69\x6f\x70\x6c\x5f\x77\x61\x72\x6e\0\x73\x69\x67\x5f\x6f\x6e\x5f\ -\x75\x61\x63\x63\x65\x73\x73\x5f\x65\x72\x72\0\x70\x6b\x72\x75\0\x66\x70\x75\0\ -\x64\x65\x73\x63\x5f\x73\x74\x72\x75\x63\x74\0\x6c\x69\x6d\x69\x74\x30\0\x62\ -\x61\x73\x65\x30\0\x62\x61\x73\x65\x31\0\x64\x70\x6c\0\x70\0\x6c\x69\x6d\x69\ -\x74\x31\0\x61\x76\x6c\0\x6c\0\x64\0\x67\0\x62\x61\x73\x65\x32\0\x70\x65\x72\ -\x66\x5f\x65\x76\x65\x6e\x74\0\x65\x76\x65\x6e\x74\x5f\x65\x6e\x74\x72\x79\0\ -\x73\x69\x62\x6c\x69\x6e\x67\x5f\x6c\x69\x73\x74\0\x61\x63\x74\x69\x76\x65\x5f\ -\x6c\x69\x73\x74\0\x67\x72\x6f\x75\x70\x5f\x69\x6e\x64\x65\x78\0\x6d\x69\x67\ -\x72\x61\x74\x65\x5f\x65\x6e\x74\x72\x79\0\x68\x6c\x69\x73\x74\x5f\x65\x6e\x74\ -\x72\x79\0\x61\x63\x74\x69\x76\x65\x5f\x65\x6e\x74\x72\x79\0\x6e\x72\x5f\x73\ -\x69\x62\x6c\x69\x6e\x67\x73\0\x65\x76\x65\x6e\x74\x5f\x63\x61\x70\x73\0\x67\ -\x72\x6f\x75\x70\x5f\x63\x61\x70\x73\0\x70\x6d\x75\x5f\x70\x72\x69\x76\x61\x74\ -\x65\0\x61\x74\x74\x61\x63\x68\x5f\x73\x74\x61\x74\x65\0\x63\x68\x69\x6c\x64\ -\x5f\x63\x6f\x75\x6e\x74\0\x74\x6f\x74\x61\x6c\x5f\x74\x69\x6d\x65\x5f\x65\x6e\ -\x61\x62\x6c\x65\x64\0\x74\x6f\x74\x61\x6c\x5f\x74\x69\x6d\x65\x5f\x72\x75\x6e\ -\x6e\x69\x6e\x67\0\x74\x73\x74\x61\x6d\x70\0\x61\x74\x74\x72\0\x68\x65\x61\x64\ -\x65\x72\x5f\x73\x69\x7a\x65\0\x69\x64\x5f\x68\x65\x61\x64\x65\x72\x5f\x73\x69\ -\x7a\x65\0\x72\x65\x61\x64\x5f\x73\x69\x7a\x65\0\x68\x77\0\x63\x68\x69\x6c\x64\ -\x5f\x74\x6f\x74\x61\x6c\x5f\x74\x69\x6d\x65\x5f\x65\x6e\x61\x62\x6c\x65\x64\0\ -\x63\x68\x69\x6c\x64\x5f\x74\x6f\x74\x61\x6c\x5f\x74\x69\x6d\x65\x5f\x72\x75\ -\x6e\x6e\x69\x6e\x67\0\x63\x68\x69\x6c\x64\x5f\x6d\x75\x74\x65\x78\0\x63\x68\ -\x69\x6c\x64\x5f\x6c\x69\x73\x74\0\x6f\x6e\x63\x70\x75\0\x6f\x77\x6e\x65\x72\ -\x5f\x65\x6e\x74\x72\x79\0\x6d\x6d\x61\x70\x5f\x6d\x75\x74\x65\x78\0\x6d\x6d\ -\x61\x70\x5f\x63\x6f\x75\x6e\x74\0\x72\x62\0\x72\x62\x5f\x65\x6e\x74\x72\x79\0\ -\x72\x63\x75\x5f\x62\x61\x74\x63\x68\x65\x73\0\x72\x63\x75\x5f\x70\x65\x6e\x64\ -\x69\x6e\x67\0\x77\x61\x69\x74\x71\0\x66\x61\x73\x79\x6e\x63\0\x70\x65\x6e\x64\ -\x69\x6e\x67\x5f\x77\x61\x6b\x65\x75\x70\0\x70\x65\x6e\x64\x69\x6e\x67\x5f\x6b\ -\x69\x6c\x6c\0\x70\x65\x6e\x64\x69\x6e\x67\x5f\x64\x69\x73\x61\x62\x6c\x65\0\ -\x70\x65\x6e\x64\x69\x6e\x67\x5f\x73\x69\x67\x74\x72\x61\x70\0\x70\x65\x6e\x64\ -\x69\x6e\x67\x5f\x61\x64\x64\x72\0\x70\x65\x6e\x64\x69\x6e\x67\x5f\x69\x72\x71\ -\0\x70\x65\x6e\x64\x69\x6e\x67\x5f\x74\x61\x73\x6b\0\x70\x65\x6e\x64\x69\x6e\ -\x67\x5f\x77\x6f\x72\x6b\0\x65\x76\x65\x6e\x74\x5f\x6c\x69\x6d\x69\x74\0\x61\ -\x64\x64\x72\x5f\x66\x69\x6c\x74\x65\x72\x73\0\x61\x64\x64\x72\x5f\x66\x69\x6c\ -\x74\x65\x72\x5f\x72\x61\x6e\x67\x65\x73\0\x61\x64\x64\x72\x5f\x66\x69\x6c\x74\ -\x65\x72\x73\x5f\x67\x65\x6e\0\x61\x75\x78\x5f\x65\x76\x65\x6e\x74\0\x64\x65\ -\x73\x74\x72\x6f\x79\0\x6e\x73\0\x69\x64\0\x6c\x6f\x73\x74\x5f\x73\x61\x6d\x70\ -\x6c\x65\x73\0\x63\x6c\x6f\x63\x6b\0\x6f\x76\x65\x72\x66\x6c\x6f\x77\x5f\x68\ -\x61\x6e\x64\x6c\x65\x72\0\x6f\x76\x65\x72\x66\x6c\x6f\x77\x5f\x68\x61\x6e\x64\ -\x6c\x65\x72\x5f\x63\x6f\x6e\x74\x65\x78\x74\0\x6f\x72\x69\x67\x5f\x6f\x76\x65\ -\x72\x66\x6c\x6f\x77\x5f\x68\x61\x6e\x64\x6c\x65\x72\0\x70\x72\x6f\x67\0\x62\ -\x70\x66\x5f\x63\x6f\x6f\x6b\x69\x65\0\x74\x70\x5f\x65\x76\x65\x6e\x74\0\x66\ -\x74\x72\x61\x63\x65\x5f\x6f\x70\x73\0\x63\x67\x72\x70\0\x73\x62\x5f\x6c\x69\ -\x73\x74\0\x70\x65\x72\x66\x5f\x65\x76\x65\x6e\x74\x5f\x73\x74\x61\x74\x65\0\ -\x50\x45\x52\x46\x5f\x45\x56\x45\x4e\x54\x5f\x53\x54\x41\x54\x45\x5f\x44\x45\ -\x41\x44\0\x50\x45\x52\x46\x5f\x45\x56\x45\x4e\x54\x5f\x53\x54\x41\x54\x45\x5f\ -\x45\x58\x49\x54\0\x50\x45\x52\x46\x5f\x45\x56\x45\x4e\x54\x5f\x53\x54\x41\x54\ -\x45\x5f\x45\x52\x52\x4f\x52\0\x50\x45\x52\x46\x5f\x45\x56\x45\x4e\x54\x5f\x53\ -\x54\x41\x54\x45\x5f\x4f\x46\x46\0\x50\x45\x52\x46\x5f\x45\x56\x45\x4e\x54\x5f\ -\x53\x54\x41\x54\x45\x5f\x49\x4e\x41\x43\x54\x49\x56\x45\0\x50\x45\x52\x46\x5f\ -\x45\x56\x45\x4e\x54\x5f\x53\x54\x41\x54\x45\x5f\x41\x43\x54\x49\x56\x45\0\x6c\ -\x6f\x63\x61\x6c\x36\x34\x5f\x74\0\x70\x65\x72\x66\x5f\x65\x76\x65\x6e\x74\x5f\ -\x61\x74\x74\x72\0\x63\x6f\x6e\x66\x69\x67\0\x73\x61\x6d\x70\x6c\x65\x5f\x74\ -\x79\x70\x65\0\x72\x65\x61\x64\x5f\x66\x6f\x72\x6d\x61\x74\0\x64\x69\x73\x61\ -\x62\x6c\x65\x64\0\x69\x6e\x68\x65\x72\x69\x74\0\x70\x69\x6e\x6e\x65\x64\0\x65\ -\x78\x63\x6c\x75\x73\x69\x76\x65\0\x65\x78\x63\x6c\x75\x64\x65\x5f\x75\x73\x65\ -\x72\0\x65\x78\x63\x6c\x75\x64\x65\x5f\x6b\x65\x72\x6e\x65\x6c\0\x65\x78\x63\ -\x6c\x75\x64\x65\x5f\x68\x76\0\x65\x78\x63\x6c\x75\x64\x65\x5f\x69\x64\x6c\x65\ -\0\x6d\x6d\x61\x70\0\x66\x72\x65\x71\0\x69\x6e\x68\x65\x72\x69\x74\x5f\x73\x74\ -\x61\x74\0\x65\x6e\x61\x62\x6c\x65\x5f\x6f\x6e\x5f\x65\x78\x65\x63\0\x77\x61\ -\x74\x65\x72\x6d\x61\x72\x6b\0\x70\x72\x65\x63\x69\x73\x65\x5f\x69\x70\0\x6d\ -\x6d\x61\x70\x5f\x64\x61\x74\x61\0\x73\x61\x6d\x70\x6c\x65\x5f\x69\x64\x5f\x61\ -\x6c\x6c\0\x65\x78\x63\x6c\x75\x64\x65\x5f\x68\x6f\x73\x74\0\x65\x78\x63\x6c\ -\x75\x64\x65\x5f\x67\x75\x65\x73\x74\0\x65\x78\x63\x6c\x75\x64\x65\x5f\x63\x61\ -\x6c\x6c\x63\x68\x61\x69\x6e\x5f\x6b\x65\x72\x6e\x65\x6c\0\x65\x78\x63\x6c\x75\ -\x64\x65\x5f\x63\x61\x6c\x6c\x63\x68\x61\x69\x6e\x5f\x75\x73\x65\x72\0\x6d\x6d\ -\x61\x70\x32\0\x63\x6f\x6d\x6d\x5f\x65\x78\x65\x63\0\x75\x73\x65\x5f\x63\x6c\ -\x6f\x63\x6b\x69\x64\0\x63\x6f\x6e\x74\x65\x78\x74\x5f\x73\x77\x69\x74\x63\x68\ -\0\x77\x72\x69\x74\x65\x5f\x62\x61\x63\x6b\x77\x61\x72\x64\0\x6e\x61\x6d\x65\ -\x73\x70\x61\x63\x65\x73\0\x6b\x73\x79\x6d\x62\x6f\x6c\0\x62\x70\x66\x5f\x65\ -\x76\x65\x6e\x74\0\x61\x75\x78\x5f\x6f\x75\x74\x70\x75\x74\0\x63\x67\x72\x6f\ -\x75\x70\0\x74\x65\x78\x74\x5f\x70\x6f\x6b\x65\0\x62\x75\x69\x6c\x64\x5f\x69\ -\x64\0\x69\x6e\x68\x65\x72\x69\x74\x5f\x74\x68\x72\x65\x61\x64\0\x72\x65\x6d\ -\x6f\x76\x65\x5f\x6f\x6e\x5f\x65\x78\x65\x63\0\x73\x69\x67\x74\x72\x61\x70\0\ -\x5f\x5f\x72\x65\x73\x65\x72\x76\x65\x64\x5f\x31\0\x62\x70\x5f\x74\x79\x70\x65\ -\0\x62\x72\x61\x6e\x63\x68\x5f\x73\x61\x6d\x70\x6c\x65\x5f\x74\x79\x70\x65\0\ -\x73\x61\x6d\x70\x6c\x65\x5f\x72\x65\x67\x73\x5f\x75\x73\x65\x72\0\x73\x61\x6d\ -\x70\x6c\x65\x5f\x73\x74\x61\x63\x6b\x5f\x75\x73\x65\x72\0\x73\x61\x6d\x70\x6c\ -\x65\x5f\x72\x65\x67\x73\x5f\x69\x6e\x74\x72\0\x61\x75\x78\x5f\x77\x61\x74\x65\ -\x72\x6d\x61\x72\x6b\0\x73\x61\x6d\x70\x6c\x65\x5f\x6d\x61\x78\x5f\x73\x74\x61\ -\x63\x6b\0\x5f\x5f\x72\x65\x73\x65\x72\x76\x65\x64\x5f\x32\0\x61\x75\x78\x5f\ -\x73\x61\x6d\x70\x6c\x65\x5f\x73\x69\x7a\x65\0\x5f\x5f\x72\x65\x73\x65\x72\x76\ -\x65\x64\x5f\x33\0\x73\x69\x67\x5f\x64\x61\x74\x61\0\x73\x61\x6d\x70\x6c\x65\ -\x5f\x70\x65\x72\x69\x6f\x64\0\x73\x61\x6d\x70\x6c\x65\x5f\x66\x72\x65\x71\0\ -\x77\x61\x6b\x65\x75\x70\x5f\x65\x76\x65\x6e\x74\x73\0\x77\x61\x6b\x65\x75\x70\ -\x5f\x77\x61\x74\x65\x72\x6d\x61\x72\x6b\0\x62\x70\x5f\x61\x64\x64\x72\0\x6b\ -\x70\x72\x6f\x62\x65\x5f\x66\x75\x6e\x63\0\x75\x70\x72\x6f\x62\x65\x5f\x70\x61\ -\x74\x68\0\x63\x6f\x6e\x66\x69\x67\x31\0\x62\x70\x5f\x6c\x65\x6e\0\x6b\x70\x72\ -\x6f\x62\x65\x5f\x61\x64\x64\x72\0\x70\x72\x6f\x62\x65\x5f\x6f\x66\x66\x73\x65\ -\x74\0\x63\x6f\x6e\x66\x69\x67\x32\0\x5f\x5f\x73\x33\x32\0\x68\x77\x5f\x70\x65\ -\x72\x66\x5f\x65\x76\x65\x6e\x74\0\x74\x61\x72\x67\x65\x74\0\x70\x72\x65\x76\ -\x5f\x63\x6f\x75\x6e\x74\0\x69\x6e\x74\x65\x72\x72\x75\x70\x74\x73\x5f\x73\x65\ -\x71\0\x69\x6e\x74\x65\x72\x72\x75\x70\x74\x73\0\x66\x72\x65\x71\x5f\x74\x69\ -\x6d\x65\x5f\x73\x74\x61\x6d\x70\0\x66\x72\x65\x71\x5f\x63\x6f\x75\x6e\x74\x5f\ -\x73\x74\x61\x6d\x70\0\x6c\x61\x73\x74\x5f\x74\x61\x67\0\x63\x6f\x6e\x66\x69\ -\x67\x5f\x62\x61\x73\x65\0\x65\x76\x65\x6e\x74\x5f\x62\x61\x73\x65\0\x65\x76\ -\x65\x6e\x74\x5f\x62\x61\x73\x65\x5f\x72\x64\x70\x6d\x63\0\x69\x64\x78\0\x6c\ -\x61\x73\x74\x5f\x63\x70\x75\0\x65\x78\x74\x72\x61\x5f\x72\x65\x67\0\x62\x72\ -\x61\x6e\x63\x68\x5f\x72\x65\x67\0\x68\x77\x5f\x70\x65\x72\x66\x5f\x65\x76\x65\ -\x6e\x74\x5f\x65\x78\x74\x72\x61\0\x72\x65\x67\0\x61\x6c\x6c\x6f\x63\0\x74\x70\ -\x5f\x6c\x69\x73\x74\0\x70\x77\x72\x5f\x61\x63\x63\0\x70\x74\x73\x63\0\x69\x6e\ -\x66\x6f\0\x62\x70\x5f\x6c\x69\x73\x74\0\x61\x72\x63\x68\x5f\x68\x77\x5f\x62\ -\x72\x65\x61\x6b\x70\x6f\x69\x6e\x74\0\x61\x64\x64\x72\x65\x73\x73\0\x6d\x61\ -\x73\x6b\0\x72\x68\x6c\x69\x73\x74\x5f\x68\x65\x61\x64\0\x72\x68\x65\x61\x64\0\ -\x72\x68\x61\x73\x68\x5f\x68\x65\x61\x64\0\x69\x6f\x6d\x6d\x75\x5f\x62\x61\x6e\ -\x6b\0\x69\x6f\x6d\x6d\x75\x5f\x63\x6e\x74\x72\0\x70\x61\x64\x64\x69\x6e\x67\0\ -\x63\x6f\x6e\x66\0\x63\x6f\x6e\x66\x31\0\x6c\x61\x73\x74\x5f\x70\x65\x72\x69\ -\x6f\x64\0\x70\x65\x72\x69\x6f\x64\x5f\x6c\x65\x66\x74\0\x73\x61\x76\x65\x64\ -\x5f\x6d\x65\x74\x72\x69\x63\0\x73\x61\x76\x65\x64\x5f\x73\x6c\x6f\x74\x73\0\ -\x77\x61\x69\x74\x5f\x71\x75\x65\x75\x65\x5f\x68\x65\x61\x64\x5f\x74\0\x77\x61\ -\x69\x74\x5f\x71\x75\x65\x75\x65\x5f\x68\x65\x61\x64\0\x68\x65\x61\x64\0\x69\ -\x72\x71\x5f\x77\x6f\x72\x6b\0\x69\x72\x71\x77\x61\x69\x74\0\x72\x63\x75\x77\ -\x61\x69\x74\0\x70\x65\x72\x66\x5f\x61\x64\x64\x72\x5f\x66\x69\x6c\x74\x65\x72\ -\x73\x5f\x68\x65\x61\x64\0\x6e\x72\x5f\x66\x69\x6c\x65\x5f\x66\x69\x6c\x74\x65\ -\x72\x73\0\x70\x65\x72\x66\x5f\x6f\x76\x65\x72\x66\x6c\x6f\x77\x5f\x68\x61\x6e\ -\x64\x6c\x65\x72\x5f\x74\0\x70\x65\x72\x66\x5f\x73\x61\x6d\x70\x6c\x65\x5f\x64\ -\x61\x74\x61\0\x73\x61\x6d\x70\x6c\x65\x5f\x66\x6c\x61\x67\x73\0\x70\x65\x72\ -\x69\x6f\x64\0\x62\x72\x5f\x73\x74\x61\x63\x6b\0\x64\x61\x74\x61\x5f\x73\x72\ -\x63\0\x74\x78\x6e\0\x61\x64\x64\x72\0\x72\x61\x77\0\x69\x70\0\x74\x69\x64\x5f\ -\x65\x6e\x74\x72\x79\0\x73\x74\x72\x65\x61\x6d\x5f\x69\x64\0\x63\x70\x75\x5f\ -\x65\x6e\x74\x72\x79\0\x63\x61\x6c\x6c\x63\x68\x61\x69\x6e\0\x61\x75\x78\x5f\ -\x73\x69\x7a\x65\0\x72\x65\x67\x73\x5f\x75\x73\x65\x72\0\x72\x65\x67\x73\x5f\ -\x69\x6e\x74\x72\0\x73\x74\x61\x63\x6b\x5f\x75\x73\x65\x72\x5f\x73\x69\x7a\x65\ -\0\x70\x68\x79\x73\x5f\x61\x64\x64\x72\0\x64\x61\x74\x61\x5f\x70\x61\x67\x65\ -\x5f\x73\x69\x7a\x65\0\x63\x6f\x64\x65\x5f\x70\x61\x67\x65\x5f\x73\x69\x7a\x65\ -\0\x70\x65\x72\x66\x5f\x73\x61\x6d\x70\x6c\x65\x5f\x77\x65\x69\x67\x68\x74\0\ -\x66\x75\x6c\x6c\0\x76\x61\x72\x31\x5f\x64\x77\0\x76\x61\x72\x32\x5f\x77\0\x76\ -\x61\x72\x33\x5f\x77\0\x70\x65\x72\x66\x5f\x6d\x65\x6d\x5f\x64\x61\x74\x61\x5f\ -\x73\x72\x63\0\x6d\x65\x6d\x5f\x6f\x70\0\x6d\x65\x6d\x5f\x6c\x76\x6c\0\x6d\x65\ -\x6d\x5f\x73\x6e\x6f\x6f\x70\0\x6d\x65\x6d\x5f\x6c\x6f\x63\x6b\0\x6d\x65\x6d\ -\x5f\x64\x74\x6c\x62\0\x6d\x65\x6d\x5f\x6c\x76\x6c\x5f\x6e\x75\x6d\0\x6d\x65\ -\x6d\x5f\x72\x65\x6d\x6f\x74\x65\0\x6d\x65\x6d\x5f\x73\x6e\x6f\x6f\x70\x78\0\ -\x6d\x65\x6d\x5f\x62\x6c\x6b\0\x6d\x65\x6d\x5f\x68\x6f\x70\x73\0\x6d\x65\x6d\ -\x5f\x72\x73\x76\x64\0\x74\x69\x64\0\x72\x65\x73\x65\x72\x76\x65\x64\0\x70\x65\ -\x72\x66\x5f\x72\x65\x67\x73\0\x61\x62\x69\0\x72\x65\x67\x73\0\x70\x72\x69\x76\ -\x61\x74\x65\0\x73\x61\x76\x65\x64\x5f\x66\x75\x6e\x63\0\x6c\x6f\x63\x61\x6c\ -\x5f\x68\x61\x73\x68\0\x66\x75\x6e\x63\x5f\x68\x61\x73\x68\0\x6f\x6c\x64\x5f\ -\x68\x61\x73\x68\0\x74\x72\x61\x6d\x70\x6f\x6c\x69\x6e\x65\0\x74\x72\x61\x6d\ -\x70\x6f\x6c\x69\x6e\x65\x5f\x73\x69\x7a\x65\0\x6f\x70\x73\x5f\x66\x75\x6e\x63\ -\0\x66\x74\x72\x61\x63\x65\x5f\x66\x75\x6e\x63\x5f\x74\0\x66\x74\x72\x61\x63\ -\x65\x5f\x72\x65\x67\x73\0\x70\x74\x5f\x72\x65\x67\x73\0\x72\x31\x35\0\x72\x31\ -\x34\0\x72\x31\x33\0\x72\x31\x32\0\x62\x70\0\x62\x78\0\x72\x31\x31\0\x72\x31\ -\x30\0\x72\x39\0\x72\x38\0\x61\x78\0\x63\x78\0\x64\x78\0\x73\x69\0\x64\x69\0\ -\x6f\x72\x69\x67\x5f\x61\x78\0\x63\x73\0\x73\x73\0\x66\x74\x72\x61\x63\x65\x5f\ -\x6f\x70\x73\x5f\x68\x61\x73\x68\0\x6e\x6f\x74\x72\x61\x63\x65\x5f\x68\x61\x73\ -\x68\0\x66\x69\x6c\x74\x65\x72\x5f\x68\x61\x73\x68\0\x72\x65\x67\x65\x78\x5f\ -\x6c\x6f\x63\x6b\0\x66\x74\x72\x61\x63\x65\x5f\x6f\x70\x73\x5f\x66\x75\x6e\x63\ -\x5f\x74\0\x66\x74\x72\x61\x63\x65\x5f\x6f\x70\x73\x5f\x63\x6d\x64\0\x46\x54\ -\x52\x41\x43\x45\x5f\x4f\x50\x53\x5f\x43\x4d\x44\x5f\x45\x4e\x41\x42\x4c\x45\ -\x5f\x53\x48\x41\x52\x45\x5f\x49\x50\x4d\x4f\x44\x49\x46\x59\x5f\x53\x45\x4c\ -\x46\0\x46\x54\x52\x41\x43\x45\x5f\x4f\x50\x53\x5f\x43\x4d\x44\x5f\x45\x4e\x41\ -\x42\x4c\x45\x5f\x53\x48\x41\x52\x45\x5f\x49\x50\x4d\x4f\x44\x49\x46\x59\x5f\ -\x50\x45\x45\x52\0\x46\x54\x52\x41\x43\x45\x5f\x4f\x50\x53\x5f\x43\x4d\x44\x5f\ -\x44\x49\x53\x41\x42\x4c\x45\x5f\x53\x48\x41\x52\x45\x5f\x49\x50\x4d\x4f\x44\ -\x49\x46\x59\x5f\x50\x45\x45\x52\0\x61\x76\x78\x35\x31\x32\x5f\x74\x69\x6d\x65\ -\x73\x74\x61\x6d\x70\0\x66\x70\x73\x74\x61\x74\x65\0\x5f\x5f\x74\x61\x73\x6b\ -\x5f\x66\x70\x73\x74\x61\x74\x65\0\x70\x65\x72\x6d\0\x67\x75\x65\x73\x74\x5f\ -\x70\x65\x72\x6d\0\x5f\x5f\x66\x70\x73\x74\x61\x74\x65\0\x66\x70\x75\x5f\x73\ -\x74\x61\x74\x65\x5f\x70\x65\x72\x6d\0\x5f\x5f\x73\x74\x61\x74\x65\x5f\x70\x65\ -\x72\x6d\0\x5f\x5f\x73\x74\x61\x74\x65\x5f\x73\x69\x7a\x65\0\x5f\x5f\x75\x73\ -\x65\x72\x5f\x73\x74\x61\x74\x65\x5f\x73\x69\x7a\x65\0\x75\x73\x65\x72\x5f\x73\ -\x69\x7a\x65\0\x78\x66\x65\x61\x74\x75\x72\x65\x73\0\x75\x73\x65\x72\x5f\x78\ -\x66\x65\x61\x74\x75\x72\x65\x73\0\x78\x66\x64\0\x69\x73\x5f\x76\x61\x6c\x6c\ -\x6f\x63\0\x69\x73\x5f\x67\x75\x65\x73\x74\0\x69\x73\x5f\x63\x6f\x6e\x66\x69\ -\x64\x65\x6e\x74\x69\x61\x6c\0\x69\x6e\x5f\x75\x73\x65\0\x66\x70\x72\x65\x67\ -\x73\x5f\x73\x74\x61\x74\x65\0\x66\x73\x61\x76\x65\0\x66\x78\x73\x61\x76\x65\0\ -\x73\x6f\x66\x74\0\x78\x73\x61\x76\x65\0\x66\x72\x65\x67\x73\x5f\x73\x74\x61\ -\x74\x65\0\x63\x77\x64\0\x73\x77\x64\0\x74\x77\x64\0\x66\x69\x70\0\x66\x63\x73\ -\0\x66\x6f\x6f\0\x66\x6f\x73\0\x73\x74\x5f\x73\x70\x61\x63\x65\0\x66\x78\x72\ -\x65\x67\x73\x5f\x73\x74\x61\x74\x65\0\x66\x6f\x70\0\x6d\x78\x63\x73\x72\0\x6d\ -\x78\x63\x73\x72\x5f\x6d\x61\x73\x6b\0\x78\x6d\x6d\x5f\x73\x70\x61\x63\x65\0\ -\x72\x69\x70\0\x72\x64\x70\0\x70\x61\x64\x64\x69\x6e\x67\x31\0\x73\x77\x5f\x72\ -\x65\x73\x65\x72\x76\x65\x64\0\x73\x77\x72\x65\x67\x73\x5f\x73\x74\x61\x74\x65\ -\0\x66\x74\x6f\x70\0\x63\x68\x61\x6e\x67\x65\x64\0\x6c\x6f\x6f\x6b\x61\x68\x65\ -\x61\x64\0\x6e\x6f\x5f\x75\x70\x64\x61\x74\x65\0\x72\x6d\0\x61\x6c\x69\x6d\x69\ -\x74\0\x65\x6e\x74\x72\x79\x5f\x65\x69\x70\0\x78\x72\x65\x67\x73\x5f\x73\x74\ -\x61\x74\x65\0\x69\x33\x38\x37\0\x68\x65\x61\x64\x65\x72\0\x65\x78\x74\x65\x6e\ -\x64\x65\x64\x5f\x73\x74\x61\x74\x65\x5f\x61\x72\x65\x61\0\x78\x73\x74\x61\x74\ -\x65\x5f\x68\x65\x61\x64\x65\x72\0\x78\x63\x6f\x6d\x70\x5f\x62\x76\0\x68\x61\ -\x6e\x64\x6c\x65\x5f\x73\x63\x68\x65\x64\x5f\x77\x61\x6b\x65\x75\x70\x5f\x6e\ -\x65\x77\0\x74\x72\x61\x63\x65\x5f\x65\x76\x65\x6e\x74\x5f\x72\x61\x77\x5f\x73\ -\x63\x68\x65\x64\x5f\x70\x72\x6f\x63\x65\x73\x73\x5f\x66\x6f\x72\x6b\0\x65\x6e\ -\x74\0\x70\x61\x72\x65\x6e\x74\x5f\x63\x6f\x6d\x6d\0\x70\x61\x72\x65\x6e\x74\ -\x5f\x70\x69\x64\0\x63\x68\x69\x6c\x64\x5f\x63\x6f\x6d\x6d\0\x63\x68\x69\x6c\ -\x64\x5f\x70\x69\x64\0\x5f\x5f\x64\x61\x74\x61\0\x74\x72\x61\x63\x65\x5f\x65\ -\x6e\x74\x72\x79\0\x70\x72\x65\x65\x6d\x70\x74\x5f\x63\x6f\x75\x6e\x74\0\x68\ -\x61\x6e\x64\x6c\x65\x5f\x74\x61\x73\x6b\x5f\x63\x72\x65\x61\x74\x65\0\x68\x61\ -\x6e\x64\x6c\x65\x5f\x74\x61\x73\x6b\x5f\x65\x78\x69\x74\0\x74\x72\x61\x63\x65\ -\x5f\x65\x76\x65\x6e\x74\x5f\x72\x61\x77\x5f\x73\x63\x68\x65\x64\x5f\x73\x77\ -\x69\x74\x63\x68\0\x70\x72\x65\x76\x5f\x63\x6f\x6d\x6d\0\x70\x72\x65\x76\x5f\ -\x70\x69\x64\0\x70\x72\x65\x76\x5f\x70\x72\x69\x6f\0\x70\x72\x65\x76\x5f\x73\ -\x74\x61\x74\x65\0\x6e\x65\x78\x74\x5f\x63\x6f\x6d\x6d\0\x6e\x65\x78\x74\x5f\ -\x70\x69\x64\0\x6e\x65\x78\x74\x5f\x70\x72\x69\x6f\0\x72\x65\x63\x6f\x72\x64\ -\x5f\x74\x61\x73\x6b\x5f\x73\x77\x69\x74\x63\x68\0\x64\x65\x6c\x74\x61\0\x72\ -\x65\x73\x65\x74\0\x6c\x61\x73\x74\x5f\x63\x70\x75\x5f\x63\x6c\x65\x61\x72\0\ -\x70\x72\x6f\x63\x65\x73\x73\x5f\x75\x70\x64\x61\x74\x65\x5f\x72\x75\x6e\x74\ -\x69\x6d\x65\0\x72\x65\x63\x6f\x72\x64\x5f\x62\x61\x63\x6b\x74\x72\x61\x63\x65\ -\0\x63\x70\x75\x5f\x69\x64\x6c\x65\x5f\x61\x72\x67\x73\0\x63\x6f\x6d\x6d\x6f\ -\x6e\x5f\x74\x79\x70\x65\0\x63\x6f\x6d\x6d\x6f\x6e\x5f\x66\x6c\x61\x67\x73\0\ -\x63\x6f\x6d\x6d\x6f\x6e\x5f\x70\x72\x65\x65\x6d\x70\x74\x5f\x63\x6f\x75\x6e\ -\x74\0\x63\x6f\x6d\x6d\x6f\x6e\x5f\x70\x69\x64\0\x63\x70\x75\x5f\x69\x64\0\x72\ -\x65\x63\x6f\x72\x64\x5f\x63\x70\x75\x5f\x69\x64\x6c\x65\0\x74\x72\x61\x63\x65\ -\x5f\x73\x79\x73\x5f\x65\x6e\x74\x65\x72\0\x74\x72\x61\x63\x65\x5f\x73\x79\x73\ -\x5f\x65\x78\x69\x74\0\x74\x72\x61\x63\x65\x5f\x63\x70\x75\x5f\x73\x6f\x66\x74\ -\x69\x72\x71\x5f\x65\x6e\x74\x72\x79\0\x74\x72\x61\x63\x65\x5f\x63\x70\x75\x5f\ -\x73\x6f\x66\x74\x69\x72\x71\x5f\x65\x78\x69\x74\0\x74\x72\x61\x63\x65\x5f\x63\ -\x70\x75\x5f\x69\x72\x71\x5f\x65\x6e\x74\x72\x79\0\x74\x72\x61\x63\x65\x5f\x63\ -\x70\x75\x5f\x69\x72\x71\x5f\x65\x78\x69\x74\0\x62\x70\x66\x5f\x70\x65\x72\x66\ -\x5f\x65\x76\x65\x6e\x74\x5f\x64\x61\x74\x61\0\x62\x70\x66\x5f\x75\x73\x65\x72\ -\x5f\x70\x74\x5f\x72\x65\x67\x73\x5f\x74\0\x68\x61\x6e\x64\x6c\x65\x5f\x63\x70\ -\x75\x5f\x65\x76\x65\x6e\x74\0\x68\x61\x6e\x64\x6c\x65\x5f\x73\x79\x73\x5f\x6c\ -\x61\x74\x65\x6e\x63\x79\x5f\x65\x76\x65\x6e\x74\0\x4c\x49\x43\x45\x4e\x53\x45\ -\0\x7a\x65\x72\x6f\0\x6f\x6e\x65\0\x72\x65\x63\x6f\x72\x64\x5f\x62\x61\x63\x6b\ -\x74\x72\x61\x63\x65\x2e\x5f\x5f\x5f\x5f\x66\x6d\x74\0\x72\x65\x63\x6f\x72\x64\ -\x5f\x62\x61\x63\x6b\x74\x72\x61\x63\x65\x2e\x5f\x5f\x5f\x5f\x66\x6d\x74\x2e\ -\x31\0\x69\x6e\x69\x74\x5f\x63\x70\x75\x73\x5f\x6e\x75\x6d\0\x68\x61\x6e\x64\ -\x6c\x65\x5f\x63\x70\x75\x5f\x65\x76\x65\x6e\x74\x2e\x5f\x5f\x5f\x5f\x66\x6d\ -\x74\0\x6e\x72\x5f\x63\x70\x75\x73\0\x68\x61\x6e\x64\x6c\x65\x5f\x63\x70\x75\ -\x5f\x65\x76\x65\x6e\x74\x2e\x5f\x5f\x5f\x5f\x66\x6d\x74\x2e\x32\0\x74\x69\x6d\ -\x65\x5f\x77\x69\x6e\x64\x6f\x77\0\x75\x6e\x69\x74\0\x6d\x75\x6c\x74\x69\x70\ -\x6c\x69\x65\x72\0\x74\x69\x6d\x65\x5f\x75\x6e\x69\x74\0\x4d\x49\x43\x52\x4f\ -\x53\x45\x43\x4f\x4e\x44\x53\0\x55\x4e\x49\x54\x5f\x4d\x49\x4c\x4c\x49\x53\x45\ -\x43\x4f\x4e\x44\x53\0\x6c\x61\x74\x65\x6e\x63\x79\x5f\x62\x6b\x5f\x77\x69\x6e\ -\x64\x6f\x77\0\x65\x6d\x61\x5f\x70\x61\x72\x61\0\x77\x69\x6e\x64\x6f\x77\0\x70\ -\x65\x72\x63\x65\x6e\x74\0\x6c\x61\x74\x65\x6e\x63\x79\x5f\x65\x6d\x61\0\x75\ -\x73\x61\x67\x65\x5f\x65\x6d\x61\0\x74\x61\x73\x6b\x5f\x63\x73\x77\x5f\x65\x6d\ -\x61\0\x74\x61\x73\x6b\x5f\x70\x72\x65\x65\x6d\x70\x74\x5f\x65\x6d\x61\0\x74\ -\x61\x73\x6b\x5f\x63\x6f\x6e\x63\x65\x72\x6e\x65\x64\x5f\x75\x70\x64\x61\x74\ -\x65\x2e\x5f\x5f\x5f\x5f\x66\x6d\x74\0\x70\x65\x72\x66\x5f\x74\x61\x73\x6b\x5f\ -\x62\x61\x63\x6b\x74\x72\x61\x63\x65\x2e\x5f\x5f\x5f\x5f\x66\x6d\x74\0\x70\x72\ -\x6f\x63\x65\x73\x73\x5f\x63\x6f\x6e\x63\x65\x72\x6e\x65\x64\x5f\x75\x70\x64\ -\x61\x74\x65\x2e\x5f\x5f\x5f\x5f\x66\x6d\x74\0\x75\x70\x64\x61\x74\x65\x5f\x63\ -\x70\x75\x5f\x75\x73\x61\x67\x65\x5f\x70\x65\x72\x63\x65\x6e\x74\x2e\x5f\x5f\ -\x5f\x5f\x66\x6d\x74\0\x5f\x5f\x75\x70\x64\x61\x74\x65\x5f\x70\x65\x72\x63\x70\ -\x75\x5f\x75\x73\x61\x67\x65\x5f\x70\x65\x72\x63\x65\x6e\x74\x2e\x5f\x5f\x5f\ -\x5f\x66\x6d\x74\0\x70\x65\x72\x66\x5f\x72\x75\x6e\x71\x6c\x61\x74\x2e\x5f\x5f\ -\x5f\x5f\x66\x6d\x74\0\x5f\x5f\x6b\x65\x72\x6e\x65\x6c\x5f\x74\x69\x6d\x65\x73\ -\x70\x65\x63\0\x62\x6c\x6b\x5f\x70\x6c\x75\x67\0\x62\x70\x66\x5f\x6c\x6f\x63\ -\x61\x6c\x5f\x73\x74\x6f\x72\x61\x67\x65\0\x62\x70\x66\x5f\x70\x72\x6f\x67\0\ -\x62\x70\x66\x5f\x72\x75\x6e\x5f\x63\x74\x78\0\x63\x6f\x6d\x70\x6c\x65\x74\x69\ -\x6f\x6e\0\x63\x73\x73\x5f\x73\x65\x74\0\x65\x76\x65\x6e\x74\x5f\x66\x69\x6c\ -\x74\x65\x72\0\x66\x61\x73\x79\x6e\x63\x5f\x73\x74\x72\x75\x63\x74\0\x66\x69\ -\x6c\x65\x73\x5f\x73\x74\x72\x75\x63\x74\0\x66\x73\x5f\x73\x74\x72\x75\x63\x74\ -\0\x66\x74\x72\x61\x63\x65\x5f\x68\x61\x73\x68\0\x66\x74\x72\x61\x63\x65\x5f\ -\x72\x65\x74\x5f\x73\x74\x61\x63\x6b\0\x66\x75\x74\x65\x78\x5f\x70\x69\x5f\x73\ -\x74\x61\x74\x65\0\x68\x72\x74\x69\x6d\x65\x72\x5f\x63\x6c\x6f\x63\x6b\x5f\x62\ -\x61\x73\x65\0\x69\x6f\x5f\x75\x72\x69\x6e\x67\x5f\x74\x61\x73\x6b\0\x6b\x65\ -\x72\x6e\x65\x6c\x5f\x73\x69\x67\x69\x6e\x66\x6f\0\x6c\x6f\x63\x6b\x5f\x63\x6c\ -\x61\x73\x73\x5f\x6b\x65\x79\0\x6c\x6f\x63\x6b\x64\x65\x70\x5f\x73\x75\x62\x63\ -\x6c\x61\x73\x73\x5f\x6b\x65\x79\0\x6d\x61\x74\x68\x5f\x65\x6d\x75\x5f\x69\x6e\ -\x66\x6f\0\x6d\x65\x6d\x5f\x63\x67\x72\x6f\x75\x70\0\x6d\x6d\x5f\x73\x74\x72\ -\x75\x63\x74\0\x6d\x75\x74\x65\x78\x5f\x77\x61\x69\x74\x65\x72\0\x6f\x6c\x64\ -\x5f\x74\x69\x6d\x65\x73\x70\x65\x63\x33\x32\0\x70\x65\x72\x66\x5f\x61\x64\x64\ -\x72\x5f\x66\x69\x6c\x74\x65\x72\x5f\x72\x61\x6e\x67\x65\0\x70\x65\x72\x66\x5f\ -\x62\x72\x61\x6e\x63\x68\x5f\x73\x74\x61\x63\x6b\0\x70\x65\x72\x66\x5f\x62\x75\ -\x66\x66\x65\x72\0\x70\x65\x72\x66\x5f\x63\x61\x6c\x6c\x63\x68\x61\x69\x6e\x5f\ -\x65\x6e\x74\x72\x79\0\x70\x65\x72\x66\x5f\x63\x67\x72\x6f\x75\x70\0\x70\x65\ -\x72\x66\x5f\x72\x61\x77\x5f\x72\x65\x63\x6f\x72\x64\0\x70\x69\x64\x5f\x6e\x61\ -\x6d\x65\x73\x70\x61\x63\x65\0\x70\x69\x70\x65\x5f\x69\x6e\x6f\x64\x65\x5f\x69\ -\x6e\x66\x6f\0\x70\x6f\x6c\x6c\x66\x64\0\x72\x63\x75\x5f\x6e\x6f\x64\x65\0\x72\ -\x65\x71\x75\x65\x73\x74\x5f\x71\x75\x65\x75\x65\0\x72\x6f\x62\x75\x73\x74\x5f\ -\x6c\x69\x73\x74\x5f\x68\x65\x61\x64\0\x72\x74\x5f\x6d\x75\x74\x65\x78\x5f\x77\ -\x61\x69\x74\x65\x72\0\x73\x65\x63\x63\x6f\x6d\x70\x5f\x66\x69\x6c\x74\x65\x72\ -\0\x73\x65\x6d\x5f\x75\x6e\x64\x6f\x5f\x6c\x69\x73\x74\0\x73\x69\x67\x68\x61\ -\x6e\x64\x5f\x73\x74\x72\x75\x63\x74\0\x73\x69\x67\x6e\x61\x6c\x5f\x73\x74\x72\ -\x75\x63\x74\0\x74\x61\x73\x6b\x5f\x64\x65\x6c\x61\x79\x5f\x69\x6e\x66\x6f\0\ -\x74\x61\x73\x6b\x5f\x67\x72\x6f\x75\x70\0\x74\x72\x61\x63\x65\x5f\x65\x76\x65\ -\x6e\x74\x5f\x63\x61\x6c\x6c\0\x75\x70\x72\x6f\x62\x65\x5f\x74\x61\x73\x6b\0\ -\x76\x6d\x5f\x73\x74\x72\x75\x63\x74\0\x2f\x68\x6f\x6d\x65\x2f\x6e\x65\x30\x2f\ -\x73\x79\x73\x5f\x63\x6f\x6d\x70\x65\x74\x69\x74\x69\x6f\x6e\x2f\x73\x74\x61\ -\x72\x74\x2f\x63\x70\x75\x5f\x77\x61\x74\x63\x68\x65\x72\x2f\x62\x70\x66\x2f\ -\x63\x70\x75\x5f\x73\x74\x61\x74\x73\x2e\x62\x70\x66\x2e\x63\0\x69\x6e\x74\x20\ -\x42\x50\x46\x5f\x50\x52\x4f\x47\x28\x68\x61\x6e\x64\x6c\x65\x5f\x73\x63\x68\ -\x65\x64\x5f\x77\x61\x6b\x65\x75\x70\x2c\x20\x73\x74\x72\x75\x63\x74\x20\x74\ -\x61\x73\x6b\x5f\x73\x74\x72\x75\x63\x74\x20\x2a\x70\x29\0\x20\x20\x20\x20\x75\ -\x33\x32\x20\x70\x69\x64\x20\x3d\x20\x42\x50\x46\x5f\x43\x4f\x52\x45\x5f\x52\ -\x45\x41\x44\x28\x70\x2c\x70\x69\x64\x29\x3b\0\x20\x20\x20\x20\x69\x66\x28\x70\ -\x69\x64\x20\x3d\x3d\x20\x30\x29\0\x20\x20\x20\x20\x75\x33\x32\x20\x74\x67\x69\ -\x64\x20\x3d\x20\x42\x50\x46\x5f\x43\x4f\x52\x45\x5f\x52\x45\x41\x44\x28\x70\ -\x2c\x74\x67\x69\x64\x29\x3b\0\x20\x20\x20\x20\x75\x33\x32\x20\x63\x70\x75\x5f\ -\x69\x64\x20\x3d\x20\x62\x70\x66\x5f\x67\x65\x74\x5f\x73\x6d\x70\x5f\x70\x72\ -\x6f\x63\x65\x73\x73\x6f\x72\x5f\x69\x64\x28\x29\x3b\0\x20\x20\x20\x20\x73\x74\ -\x72\x75\x63\x74\x20\x74\x61\x73\x6b\x5f\x63\x70\x75\x5f\x75\x73\x61\x67\x65\ -\x20\x2a\x74\x61\x73\x6b\x5f\x75\x73\x65\x20\x3d\x20\x62\x70\x66\x5f\x6d\x61\ -\x70\x5f\x6c\x6f\x6f\x6b\x75\x70\x5f\x65\x6c\x65\x6d\x28\x26\x74\x61\x73\x6b\ -\x5f\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x5f\x6d\x61\x70\x2c\x26\x70\x69\x64\ -\x29\x3b\0\x20\x20\x20\x20\x69\x66\x28\x21\x74\x61\x73\x6b\x5f\x75\x73\x65\x29\ -\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\x2e\x70\x69\x64\x20\x3d\x20\x42\x50\x46\ -\x5f\x43\x4f\x52\x45\x5f\x52\x45\x41\x44\x28\x70\x2c\x70\x69\x64\x29\x2c\x20\0\ -\x20\x20\x20\x20\x20\x20\x20\x20\x2e\x74\x67\x69\x64\x20\x3d\x20\x42\x50\x46\ -\x5f\x43\x4f\x52\x45\x5f\x52\x45\x41\x44\x28\x70\x2c\x74\x67\x69\x64\x29\x2c\0\ -\x20\x20\x20\x20\x73\x74\x72\x75\x63\x74\x20\x74\x61\x73\x6b\x5f\x69\x6e\x66\ -\x6f\x5f\x73\x69\x6d\x70\x6c\x65\x20\x69\x6e\x66\x6f\x20\x3d\x20\x7b\0\x20\x20\ -\x20\x20\x20\x20\x20\x20\x2e\x63\x6f\x6d\x6d\x20\x3d\x20\x7b\x7d\x2c\0\x20\x20\ -\x20\x20\x62\x70\x66\x5f\x70\x72\x6f\x62\x65\x5f\x72\x65\x61\x64\x5f\x6b\x65\ -\x72\x6e\x65\x6c\x5f\x73\x74\x72\x28\x69\x6e\x66\x6f\x2e\x63\x6f\x6d\x6d\x2c\ -\x20\x73\x69\x7a\x65\x6f\x66\x28\x69\x6e\x66\x6f\x2e\x63\x6f\x6d\x6d\x29\x2c\ -\x20\x42\x50\x46\x5f\x43\x4f\x52\x45\x5f\x52\x45\x41\x44\x28\x70\x2c\x20\x63\ -\x6f\x6d\x6d\x29\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x69\x6e\x69\x74\x5f\ -\x74\x61\x73\x6b\x2e\x74\x61\x73\x6b\x5f\x69\x6e\x66\x6f\x20\x3d\x20\x69\x6e\ -\x66\x6f\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x69\x6e\x69\x74\x5f\x74\x61\x73\ -\x6b\x2e\x6c\x61\x73\x74\x5f\x65\x6e\x71\x65\x75\x65\x5f\x74\x69\x6d\x65\x20\ -\x3d\x20\x62\x70\x66\x5f\x6b\x74\x69\x6d\x65\x5f\x67\x65\x74\x5f\x6e\x73\x28\ -\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x75\ -\x70\x64\x61\x74\x65\x5f\x65\x6c\x65\x6d\x28\x26\x74\x61\x73\x6b\x5f\x63\x70\ -\x75\x5f\x75\x73\x61\x67\x65\x5f\x6d\x61\x70\x2c\x20\x26\x70\x69\x64\x2c\x20\ -\x26\x69\x6e\x69\x74\x5f\x74\x61\x73\x6b\x2c\x20\x42\x50\x46\x5f\x41\x4e\x59\ -\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x69\x6e\x73\x65\x72\x74\x5f\x70\x69\ -\x64\x5f\x74\x6f\x5f\x70\x72\x6f\x63\x65\x73\x73\x28\x74\x67\x69\x64\x2c\x70\ -\x69\x64\x29\x3b\0\x20\x20\x20\x20\x69\x66\x28\x74\x67\x69\x64\x20\x3d\x3d\x20\ -\x30\x29\0\x20\x20\x20\x20\x73\x74\x72\x75\x63\x74\x20\x70\x72\x6f\x63\x65\x73\ -\x73\x5f\x73\x74\x72\x75\x63\x74\x20\x2a\x70\x73\x20\x3d\x20\x62\x70\x66\x5f\ -\x6d\x61\x70\x5f\x6c\x6f\x6f\x6b\x75\x70\x5f\x65\x6c\x65\x6d\x28\x26\x70\x72\ -\x6f\x63\x65\x73\x73\x5f\x6d\x61\x70\x2c\x26\x74\x67\x69\x64\x29\x3b\0\x20\x20\ -\x20\x20\x69\x66\x28\x21\x70\x73\x29\x7b\0\x20\x20\x20\x20\x69\x66\x28\x74\x67\ -\x69\x64\x20\x21\x3d\x20\x70\x69\x64\x29\0\x20\x20\x20\x20\x20\x20\x20\x20\x69\ -\x6e\x69\x74\x5f\x70\x72\x6f\x63\x65\x73\x73\x28\x74\x67\x69\x64\x2c\x70\x69\ -\x64\x29\x3b\0\x20\x20\x20\x20\x70\x73\x2e\x74\x67\x69\x64\x20\x3d\x20\x74\x67\ -\x69\x64\x3b\0\x20\x20\x20\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x75\x70\x64\x61\ -\x74\x65\x5f\x65\x6c\x65\x6d\x28\x26\x70\x72\x6f\x63\x65\x73\x73\x5f\x6d\x61\ -\x70\x2c\x26\x74\x67\x69\x64\x2c\x26\x70\x73\x2c\x42\x50\x46\x5f\x41\x4e\x59\ -\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x74\x61\x73\x6b\x5f\x75\x73\x65\x2d\ -\x3e\x6c\x61\x73\x74\x5f\x65\x6e\x71\x65\x75\x65\x5f\x74\x69\x6d\x65\x20\x3d\ -\x20\x62\x70\x66\x5f\x6b\x74\x69\x6d\x65\x5f\x67\x65\x74\x5f\x6e\x73\x28\x29\ -\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x75\x70\ -\x64\x61\x74\x65\x5f\x65\x6c\x65\x6d\x28\x26\x74\x61\x73\x6b\x5f\x63\x70\x75\ -\x5f\x75\x73\x61\x67\x65\x5f\x6d\x61\x70\x2c\x26\x70\x69\x64\x2c\x74\x61\x73\ -\x6b\x5f\x75\x73\x65\x2c\x42\x50\x46\x5f\x41\x4e\x59\x29\x3b\0\x20\x20\x20\x20\ -\x20\x20\x20\x20\x70\x73\x2d\x3e\x6b\x69\x64\x73\x5f\x6c\x65\x6e\x67\x74\x68\ -\x20\x2b\x3d\x20\x31\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x6d\ -\x61\x70\x5f\x75\x70\x64\x61\x74\x65\x5f\x65\x6c\x65\x6d\x28\x26\x70\x72\x6f\ -\x63\x65\x73\x73\x5f\x6d\x61\x70\x2c\x26\x74\x67\x69\x64\x2c\x70\x73\x2c\x42\ -\x50\x46\x5f\x41\x4e\x59\x29\x3b\0\x20\x20\x20\x20\x69\x66\x28\x21\x69\x6e\x69\ -\x74\x5f\x63\x70\x75\x73\x5f\x6e\x75\x6d\x29\x7b\0\x20\x20\x20\x20\x20\x20\x20\ -\x20\x6e\x72\x5f\x63\x70\x75\x73\x5f\x70\x74\x72\x20\x3d\x20\x62\x70\x66\x5f\ -\x6d\x61\x70\x5f\x6c\x6f\x6f\x6b\x75\x70\x5f\x65\x6c\x65\x6d\x28\x26\x63\x70\ -\x75\x5f\x75\x73\x72\x5f\x6d\x61\x70\x2c\x26\x7a\x65\x72\x6f\x29\x3b\0\x20\x20\ -\x20\x20\x20\x20\x20\x20\x69\x66\x28\x21\x6e\x72\x5f\x63\x70\x75\x73\x5f\x70\ -\x74\x72\x29\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\x6e\x72\x5f\x63\x70\x75\x73\ -\x20\x3d\x20\x2a\x6e\x72\x5f\x63\x70\x75\x73\x5f\x70\x74\x72\x3b\0\x20\x20\x20\ -\x20\x20\x20\x20\x20\x69\x6e\x69\x74\x5f\x63\x70\x75\x73\x5f\x6e\x75\x6d\x20\ -\x3d\x20\x74\x72\x75\x65\x3b\0\x20\x20\x20\x20\x75\x36\x34\x20\x6e\x6f\x77\x20\ -\x3d\x20\x62\x70\x66\x5f\x6b\x74\x69\x6d\x65\x5f\x67\x65\x74\x5f\x6e\x73\x28\ -\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x70\ -\x72\x69\x6e\x74\x6b\x28\x22\x67\x65\x74\x20\x63\x70\x75\x20\x6e\x75\x6d\x73\ -\x20\x65\x72\x72\x6f\x72\x5c\x6e\x22\x29\x3b\0\x7d\0\x20\x20\x20\x20\x20\x20\ -\x20\x20\x73\x74\x61\x74\x73\x2d\x3e\x75\x73\x65\x72\x5f\x70\x65\x72\x63\x65\ -\x6e\x74\x20\x3d\x20\x73\x74\x61\x74\x73\x2d\x3e\x75\x73\x65\x72\x5f\x70\x65\ -\x72\x63\x65\x6e\x74\x20\x2a\x20\x36\x30\x2f\x31\x30\x30\x20\x2b\x20\x64\x61\ -\x74\x61\x2d\x3e\x75\x73\x72\x5f\x74\x69\x6d\x65\x73\x20\x2a\x20\x34\x30\x20\ -\x2f\x20\x48\x41\x4c\x46\x5f\x53\x45\x43\x4f\x4e\x44\x3b\0\x20\x20\x20\x20\x20\ -\x20\x20\x20\x73\x74\x61\x74\x73\x2d\x3e\x6b\x65\x72\x6e\x65\x6c\x5f\x70\x65\ -\x72\x63\x65\x6e\x74\x20\x3d\x20\x73\x74\x61\x74\x73\x2d\x3e\x6b\x65\x72\x6e\ -\x65\x6c\x5f\x70\x65\x72\x63\x65\x6e\x74\x2a\x36\x30\x2f\x31\x30\x30\x20\x2b\ -\x20\x64\x61\x74\x61\x2d\x3e\x6b\x65\x72\x6e\x65\x6c\x5f\x74\x69\x6d\x65\x73\ -\x20\x2a\x34\x30\x2f\x48\x41\x4c\x46\x5f\x53\x45\x43\x4f\x4e\x44\x3b\0\x20\x20\ -\x20\x20\x20\x20\x20\x20\x73\x74\x61\x74\x73\x2d\x3e\x69\x64\x6c\x65\x5f\x70\ -\x65\x72\x63\x65\x6e\x74\x20\x3d\x20\x73\x74\x61\x74\x73\x2d\x3e\x69\x64\x6c\ -\x65\x5f\x70\x65\x72\x63\x65\x6e\x74\x2a\x36\x30\x2f\x31\x30\x30\x20\x2b\x20\ -\x64\x61\x74\x61\x2d\x3e\x69\x64\x6c\x65\x5f\x74\x69\x6d\x65\x73\x2a\x34\x30\ -\x2f\x48\x41\x4c\x46\x5f\x53\x45\x43\x4f\x4e\x44\x3b\0\x20\x20\x20\x20\x20\x20\ -\x20\x20\x73\x74\x61\x74\x73\x2d\x3e\x73\x6f\x66\x74\x69\x72\x71\x5f\x70\x65\ -\x72\x63\x65\x6e\x74\x20\x3d\x20\x73\x74\x61\x74\x73\x2d\x3e\x73\x6f\x66\x74\ -\x69\x72\x71\x5f\x70\x65\x72\x63\x65\x6e\x74\x2a\x36\x30\x2f\x31\x30\x30\x20\ -\x2b\x20\x64\x61\x74\x61\x2d\x3e\x73\x6f\x66\x74\x69\x72\x71\x5f\x74\x69\x6d\ -\x65\x73\x2a\x34\x30\x20\x2f\x20\x48\x41\x4c\x46\x5f\x53\x45\x43\x4f\x4e\x44\ -\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x61\x74\x73\x2d\x3e\x69\x72\x71\ -\x5f\x70\x65\x72\x63\x65\x6e\x74\x20\x3d\x20\x73\x74\x61\x74\x73\x2d\x3e\x69\ -\x64\x6c\x65\x5f\x70\x65\x72\x63\x65\x6e\x74\x2a\x36\x30\x2f\x31\x30\x30\x20\ -\x2b\x20\x64\x61\x74\x61\x2d\x3e\x69\x72\x71\x5f\x74\x69\x6d\x65\x73\x2a\x34\ -\x30\x20\x2f\x20\x48\x41\x4c\x46\x5f\x53\x45\x43\x4f\x4e\x44\x3b\0\x20\x20\x20\ -\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x75\x70\x64\x61\x74\x65\x5f\x65\x6c\x65\ -\x6d\x28\x26\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x5f\x70\x65\x72\x63\x65\x6e\ -\x74\x5f\x6d\x61\x70\x2c\x26\x63\x70\x75\x5f\x69\x64\x2c\x73\x74\x61\x74\x73\ -\x2c\x42\x50\x46\x5f\x41\x4e\x59\x29\x3b\0\x20\x20\x20\x20\x64\x61\x74\x61\x2d\ -\x3e\x73\x6f\x66\x74\x69\x72\x71\x5f\x74\x69\x6d\x65\x73\x20\x3d\x20\x30\x3b\0\ -\x20\x20\x20\x20\x64\x61\x74\x61\x2d\x3e\x6b\x65\x72\x6e\x65\x6c\x5f\x74\x69\ -\x6d\x65\x73\x20\x3d\x20\x30\x3b\0\x20\x20\x20\x20\x62\x70\x66\x5f\x6d\x61\x70\ -\x5f\x75\x70\x64\x61\x74\x65\x5f\x65\x6c\x65\x6d\x28\x26\x63\x70\x75\x5f\x75\ -\x73\x61\x67\x65\x5f\x74\x69\x6d\x65\x73\x5f\x6d\x61\x70\x2c\x26\x63\x70\x75\ -\x5f\x69\x64\x2c\x64\x61\x74\x61\x2c\x42\x50\x46\x5f\x41\x4e\x59\x29\x3b\0\x20\ -\x20\x20\x20\x72\x69\x6e\x67\x62\x75\x66\x5f\x64\x61\x74\x61\x20\x3d\x20\x62\ -\x70\x66\x5f\x72\x69\x6e\x67\x62\x75\x66\x5f\x72\x65\x73\x65\x72\x76\x65\x28\ -\x26\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x5f\x62\x75\x66\x66\x65\x72\x2c\x20\ -\x73\x69\x7a\x65\x6f\x66\x28\x73\x74\x72\x75\x63\x74\x20\x63\x70\x75\x5f\x75\ -\x73\x61\x67\x65\x5f\x73\x74\x61\x74\x73\x29\x2c\x20\x30\x29\x3b\0\x20\x20\x20\ -\x20\x69\x66\x20\x28\x21\x72\x69\x6e\x67\x62\x75\x66\x5f\x64\x61\x74\x61\x29\ -\x20\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x70\x72\x69\x6e\x74\ -\x6b\x28\x22\x52\x69\x6e\x67\x20\x62\x75\x66\x66\x65\x72\x20\x72\x65\x73\x65\ -\x72\x76\x65\x20\x66\x61\x69\x6c\x65\x64\x5c\x6e\x22\x29\x3b\0\x20\x20\x20\x20\ -\x20\x20\x20\x20\x6d\x65\x6d\x73\x65\x74\x28\x72\x69\x6e\x67\x62\x75\x66\x5f\ -\x64\x61\x74\x61\x2c\x20\x30\x2c\x20\x73\x69\x7a\x65\x6f\x66\x28\x73\x74\x72\ -\x75\x63\x74\x20\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x5f\x73\x74\x61\x74\x73\ -\x29\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x72\x69\x6e\x67\x62\x75\x66\x5f\ -\x64\x61\x74\x61\x2d\x3e\x63\x70\x75\x5f\x69\x64\x20\x3d\x20\x73\x74\x61\x74\ -\x73\x2d\x3e\x63\x70\x75\x5f\x69\x64\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x72\ -\x69\x6e\x67\x62\x75\x66\x5f\x64\x61\x74\x61\x2d\x3e\x69\x64\x6c\x65\x5f\x70\ -\x65\x72\x63\x65\x6e\x74\x20\x3d\x20\x73\x74\x61\x74\x73\x2d\x3e\x69\x64\x6c\ -\x65\x5f\x70\x65\x72\x63\x65\x6e\x74\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x72\ -\x69\x6e\x67\x62\x75\x66\x5f\x64\x61\x74\x61\x2d\x3e\x6b\x65\x72\x6e\x65\x6c\ -\x5f\x70\x65\x72\x63\x65\x6e\x74\x20\x3d\x20\x73\x74\x61\x74\x73\x2d\x3e\x6b\ -\x65\x72\x6e\x65\x6c\x5f\x70\x65\x72\x63\x65\x6e\x74\x3b\0\x20\x20\x20\x20\x20\ -\x20\x20\x20\x72\x69\x6e\x67\x62\x75\x66\x5f\x64\x61\x74\x61\x2d\x3e\x75\x73\ -\x65\x72\x5f\x70\x65\x72\x63\x65\x6e\x74\x20\x3d\x20\x73\x74\x61\x74\x73\x2d\ -\x3e\x75\x73\x65\x72\x5f\x70\x65\x72\x63\x65\x6e\x74\x3b\0\x20\x20\x20\x20\x20\ -\x20\x20\x20\x62\x70\x66\x5f\x72\x69\x6e\x67\x62\x75\x66\x5f\x73\x75\x62\x6d\ -\x69\x74\x28\x72\x69\x6e\x67\x62\x75\x66\x5f\x64\x61\x74\x61\x2c\x20\x30\x29\ -\x3b\0\x20\x20\x20\x20\x66\x6f\x72\x28\x63\x70\x75\x5f\x69\x64\x20\x3d\x20\x30\ -\x3b\x63\x70\x75\x5f\x69\x64\x20\x3c\x20\x31\x32\x38\x20\x26\x26\x20\x63\x70\ -\x75\x5f\x69\x64\x20\x3c\x20\x6e\x72\x5f\x63\x70\x75\x73\x3b\x63\x70\x75\x5f\ -\x69\x64\x2b\x2b\x29\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\x63\x75\x72\x5f\x69\ -\x64\x20\x3d\x20\x63\x70\x75\x5f\x69\x64\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\ -\x64\x61\x74\x61\x20\x3d\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x6c\x6f\x6f\x6b\ -\x75\x70\x5f\x65\x6c\x65\x6d\x28\x26\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x5f\ -\x74\x69\x6d\x65\x73\x5f\x6d\x61\x70\x2c\x26\x63\x75\x72\x5f\x69\x64\x29\x3b\0\ -\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x28\x64\x61\x74\x61\x20\x21\x3d\x20\ -\x4e\x55\x4c\x4c\x29\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\ -\x74\x61\x74\x73\x20\x3d\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x6c\x6f\x6f\x6b\ -\x75\x70\x5f\x65\x6c\x65\x6d\x28\x26\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x5f\ -\x70\x65\x72\x63\x65\x6e\x74\x5f\x6d\x61\x70\x2c\x26\x63\x75\x72\x5f\x69\x64\ -\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x28\x21\x73\ -\x74\x61\x74\x73\x29\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ -\x20\x20\x20\x73\x74\x72\x75\x63\x74\x20\x63\x70\x75\x5f\x75\x73\x61\x67\x65\ -\x5f\x73\x74\x61\x74\x73\x20\x69\x6e\x69\x74\x5f\x73\x74\x61\x74\x73\x20\x3d\ -\x20\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ -\x20\x20\x20\x2e\x63\x70\x75\x5f\x69\x64\x20\x3d\x20\x63\x75\x72\x5f\x69\x64\ -\x2c\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x70\ -\x66\x5f\x6d\x61\x70\x5f\x75\x70\x64\x61\x74\x65\x5f\x65\x6c\x65\x6d\x28\x26\ -\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x5f\x70\x65\x72\x63\x65\x6e\x74\x5f\x6d\ -\x61\x70\x2c\x26\x63\x75\x72\x5f\x69\x64\x2c\x26\x69\x6e\x69\x74\x5f\x73\x74\ -\x61\x74\x73\x2c\x42\x50\x46\x5f\x41\x4e\x59\x29\x3b\0\x20\x20\x20\x20\x20\x20\ -\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x61\x74\x73\x20\x3d\x20\x62\ -\x70\x66\x5f\x6d\x61\x70\x5f\x6c\x6f\x6f\x6b\x75\x70\x5f\x65\x6c\x65\x6d\x28\ -\x26\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x5f\x70\x65\x72\x63\x65\x6e\x74\x5f\ -\x6d\x61\x70\x2c\x26\x63\x75\x72\x5f\x69\x64\x29\x3b\0\x20\x20\x20\x20\x20\x20\ -\x20\x20\x20\x20\x20\x20\x64\x61\x74\x61\x2d\x3e\x6c\x61\x73\x74\x5f\x63\x6c\ -\x65\x61\x72\x5f\x74\x69\x6d\x65\x20\x3d\x20\x6e\x6f\x77\x3b\0\x20\x20\x20\x20\ -\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x73\x20\x3d\x20\x5f\x5f\x75\x70\x64\ -\x61\x74\x65\x5f\x70\x65\x72\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x5f\x70\x65\ -\x72\x63\x65\x6e\x74\x28\x63\x75\x72\x5f\x69\x64\x2c\x64\x61\x74\x61\x2c\x73\ -\x74\x61\x74\x73\x29\x3b\0\x20\x20\x20\x20\x73\x74\x61\x74\x73\x2d\x3e\x63\x70\ -\x75\x5f\x69\x64\x20\x3d\x20\x63\x70\x75\x5f\x69\x64\x3b\0\x20\x20\x20\x20\x69\ -\x66\x28\x73\x74\x61\x74\x73\x2d\x3e\x69\x64\x6c\x65\x5f\x70\x65\x72\x63\x65\ -\x6e\x74\x20\x3d\x3d\x20\x30\x20\x26\x26\x20\x73\x74\x61\x74\x73\x2d\x3e\x6b\ -\x65\x72\x6e\x65\x6c\x5f\x70\x65\x72\x63\x65\x6e\x74\x20\x3d\x3d\x20\x30\x20\ -\x26\x26\x20\x73\x74\x61\x74\x73\x2d\x3e\x75\x73\x65\x72\x5f\x70\x65\x72\x63\ -\x65\x6e\x74\x20\x3d\x3d\x20\x30\x29\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\x73\ -\x74\x61\x74\x73\x2d\x3e\x75\x73\x65\x72\x5f\x70\x65\x72\x63\x65\x6e\x74\x20\ -\x3d\x20\x64\x61\x74\x61\x2d\x3e\x75\x73\x72\x5f\x74\x69\x6d\x65\x73\x20\x2a\ -\x20\x31\x30\x30\x20\x2f\x20\x48\x41\x4c\x46\x5f\x53\x45\x43\x4f\x4e\x44\x3b\0\ -\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x61\x74\x73\x2d\x3e\x6b\x65\x72\x6e\ -\x65\x6c\x5f\x70\x65\x72\x63\x65\x6e\x74\x20\x3d\x20\x64\x61\x74\x61\x2d\x3e\ -\x6b\x65\x72\x6e\x65\x6c\x5f\x74\x69\x6d\x65\x73\x20\x2a\x20\x31\x30\x30\x20\ -\x2f\x20\x48\x41\x4c\x46\x5f\x53\x45\x43\x4f\x4e\x44\x3b\0\x20\x20\x20\x20\x20\ -\x20\x20\x20\x73\x74\x61\x74\x73\x2d\x3e\x69\x64\x6c\x65\x5f\x70\x65\x72\x63\ -\x65\x6e\x74\x20\x3d\x20\x64\x61\x74\x61\x2d\x3e\x69\x64\x6c\x65\x5f\x74\x69\ -\x6d\x65\x73\x20\x2a\x31\x30\x30\x20\x2f\x20\x48\x41\x4c\x46\x5f\x53\x45\x43\ -\x4f\x4e\x44\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x61\x74\x73\x2d\x3e\ -\x73\x6f\x66\x74\x69\x72\x71\x5f\x70\x65\x72\x63\x65\x6e\x74\x20\x3d\x20\x64\ -\x61\x74\x61\x2d\x3e\x73\x6f\x66\x74\x69\x72\x71\x5f\x74\x69\x6d\x65\x73\x2a\ -\x31\x30\x30\x20\x2f\x20\x48\x41\x4c\x46\x5f\x53\x45\x43\x4f\x4e\x44\x3b\0\x20\ -\x20\x20\x20\x20\x20\x20\x20\x73\x74\x61\x74\x73\x2d\x3e\x69\x72\x71\x5f\x70\ -\x65\x72\x63\x65\x6e\x74\x20\x3d\x20\x64\x61\x74\x61\x2d\x3e\x69\x72\x71\x5f\ -\x74\x69\x6d\x65\x73\x2a\x31\x30\x30\x20\x2f\x20\x48\x41\x4c\x46\x5f\x53\x45\ -\x43\x4f\x4e\x44\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x70\ -\x66\x5f\x70\x72\x69\x6e\x74\x6b\x28\x22\x64\x61\x74\x61\x20\x6e\x6f\x74\x20\ -\x66\x6f\x75\x6e\x64\x20\x66\x6f\x72\x20\x63\x70\x75\x20\x25\x75\x5c\x6e\x22\ -\x2c\x20\x63\x75\x72\x5f\x69\x64\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\ -\x70\x66\x5f\x70\x72\x69\x6e\x74\x6b\x28\x22\x75\x70\x64\x61\x74\x65\x20\x65\ -\x72\x72\x6f\x72\x5c\x6e\x22\x29\x3b\0\x69\x6e\x74\x20\x68\x61\x6e\x64\x6c\x65\ -\x5f\x73\x79\x73\x5f\x6c\x61\x74\x65\x6e\x63\x79\x5f\x65\x76\x65\x6e\x74\x28\ -\x73\x74\x72\x75\x63\x74\x20\x62\x70\x66\x5f\x70\x65\x72\x66\x5f\x65\x76\x65\ -\x6e\x74\x5f\x64\x61\x74\x61\x20\x2a\x63\x74\x78\x29\x7b\0\x20\x20\x20\x20\x73\ -\x74\x72\x75\x63\x74\x20\x72\x75\x6e\x71\x6c\x61\x74\x5f\x70\x65\x72\x66\x5f\ -\x64\x61\x74\x61\x20\x2a\x62\x75\x66\x66\x20\x3d\x20\x62\x70\x66\x5f\x72\x69\ -\x6e\x67\x62\x75\x66\x5f\x72\x65\x73\x65\x72\x76\x65\x28\x26\x72\x75\x6e\x71\ -\x6c\x61\x74\x5f\x62\x75\x66\x66\x65\x72\x2c\x73\x69\x7a\x65\x6f\x66\x28\x73\ -\x74\x72\x75\x63\x74\x20\x72\x75\x6e\x71\x6c\x61\x74\x5f\x70\x65\x72\x66\x5f\ -\x64\x61\x74\x61\x29\x2c\x30\x29\x3b\0\x20\x20\x20\x20\x69\x66\x28\x21\x62\x75\ -\x66\x66\x29\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x70\x72\x69\x6e\ -\x74\x6b\x28\x22\x72\x75\x6e\x71\x6c\x61\x74\x20\x72\x69\x6e\x67\x62\x75\x66\ -\x66\x20\x72\x65\x73\x65\x72\x76\x65\x20\x66\x61\x69\x6c\x65\x64\x5c\x6e\x22\ -\x29\x3b\0\x20\x20\x20\x20\x6d\x65\x6d\x73\x65\x74\x28\x62\x75\x66\x66\x2c\x30\ -\x2c\x73\x69\x7a\x65\x6f\x66\x28\x73\x74\x72\x75\x63\x74\x20\x72\x75\x6e\x71\ -\x6c\x61\x74\x5f\x70\x65\x72\x66\x5f\x64\x61\x74\x61\x29\x29\x3b\0\x20\x20\x20\ -\x20\x20\x20\x20\x20\x75\x33\x32\x20\x69\x20\x3d\x20\x69\x6e\x64\x65\x78\x3b\0\ -\x20\x20\x20\x20\x20\x20\x20\x20\x75\x33\x32\x20\x2a\x73\x69\x7a\x65\x20\x3d\ -\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x6c\x6f\x6f\x6b\x75\x70\x5f\x65\x6c\x65\ -\x6d\x28\x26\x72\x75\x6e\x71\x6c\x61\x74\x5f\x6d\x61\x70\x2c\x26\x69\x29\x3b\0\ -\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x28\x21\x73\x69\x7a\x65\x29\0\x20\x20\ -\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x75\x66\x66\x2d\x3e\x64\x61\x74\ -\x61\x5b\x69\x6e\x64\x65\x78\x5d\x20\x3d\x20\x2a\x73\x69\x7a\x65\x3b\0\x20\x20\ -\x20\x20\x62\x70\x66\x5f\x72\x69\x6e\x67\x62\x75\x66\x5f\x73\x75\x62\x6d\x69\ -\x74\x28\x62\x75\x66\x66\x2c\x30\x29\x3b\0\x20\x20\x20\x20\x72\x65\x74\x75\x72\ -\x6e\x20\x30\x3b\0\x69\x6e\x74\x20\x42\x50\x46\x5f\x50\x52\x4f\x47\x28\x68\x61\ -\x6e\x64\x6c\x65\x5f\x73\x63\x68\x65\x64\x5f\x77\x61\x6b\x65\x75\x70\x5f\x6e\ -\x65\x77\x2c\x20\x73\x74\x72\x75\x63\x74\x20\x74\x61\x73\x6b\x5f\x73\x74\x72\ -\x75\x63\x74\x20\x2a\x70\x29\x7b\0\x69\x6e\x74\x20\x68\x61\x6e\x64\x6c\x65\x5f\ -\x74\x61\x73\x6b\x5f\x63\x72\x65\x61\x74\x65\x28\x73\x74\x72\x75\x63\x74\x20\ -\x74\x72\x61\x63\x65\x5f\x65\x76\x65\x6e\x74\x5f\x72\x61\x77\x5f\x73\x63\x68\ -\x65\x64\x5f\x70\x72\x6f\x63\x65\x73\x73\x5f\x66\x6f\x72\x6b\x20\x2a\x63\x74\ -\x78\x29\x7b\0\x20\x20\x20\x20\x75\x33\x32\x20\x70\x69\x64\x5f\x6e\x65\x77\x20\ -\x3d\x20\x63\x74\x78\x2d\x3e\x63\x68\x69\x6c\x64\x5f\x70\x69\x64\x3b\0\x20\x20\ -\x20\x20\x73\x74\x72\x75\x63\x74\x20\x74\x61\x73\x6b\x5f\x63\x70\x75\x5f\x75\ -\x73\x61\x67\x65\x20\x2a\x74\x6b\x20\x3d\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\ -\x6c\x6f\x6f\x6b\x75\x70\x5f\x65\x6c\x65\x6d\x28\x26\x74\x61\x73\x6b\x5f\x63\ -\x70\x75\x5f\x75\x73\x61\x67\x65\x5f\x6d\x61\x70\x2c\x26\x70\x69\x64\x5f\x6e\ -\x65\x77\x29\x3b\0\x20\x20\x20\x20\x69\x66\x28\x21\x74\x6b\x29\x7b\0\x20\x20\ -\x20\x20\x20\x20\x20\x20\x6d\x65\x6d\x73\x65\x74\x28\x26\x69\x6e\x69\x74\x5f\ -\x74\x61\x73\x6b\x2c\x30\x2c\x73\x69\x7a\x65\x6f\x66\x28\x73\x74\x72\x75\x63\ -\x74\x20\x74\x61\x73\x6b\x5f\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x29\x29\x3b\0\ -\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x72\x75\x63\x74\x20\x74\x61\x73\x6b\ -\x5f\x69\x6e\x66\x6f\x5f\x73\x69\x6d\x70\x6c\x65\x20\x69\x6e\x66\x6f\x20\x3d\ -\x20\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2e\ -\x70\x69\x64\x20\x3d\x20\x70\x69\x64\x5f\x6e\x65\x77\x2c\0\x20\x20\x20\x20\x20\ -\x20\x20\x20\x62\x70\x66\x5f\x70\x72\x6f\x62\x65\x5f\x72\x65\x61\x64\x5f\x6b\ -\x65\x72\x6e\x65\x6c\x5f\x73\x74\x72\x28\x69\x6e\x66\x6f\x2e\x63\x6f\x6d\x6d\ -\x2c\x73\x69\x7a\x65\x6f\x66\x28\x63\x74\x78\x2d\x3e\x63\x68\x69\x6c\x64\x5f\ -\x63\x6f\x6d\x6d\x29\x2c\x63\x74\x78\x2d\x3e\x63\x68\x69\x6c\x64\x5f\x63\x6f\ -\x6d\x6d\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x6d\x61\x70\ -\x5f\x75\x70\x64\x61\x74\x65\x5f\x65\x6c\x65\x6d\x28\x26\x74\x61\x73\x6b\x5f\ -\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x5f\x6d\x61\x70\x2c\x26\x70\x69\x64\x5f\ -\x6e\x65\x77\x2c\x26\x69\x6e\x69\x74\x5f\x74\x61\x73\x6b\x2c\x42\x50\x46\x5f\ -\x41\x4e\x59\x29\x3b\0\x20\x20\x20\x20\x75\x36\x34\x20\x70\x69\x64\x5f\x74\x67\ -\x69\x64\x20\x3d\x20\x62\x70\x66\x5f\x67\x65\x74\x5f\x63\x75\x72\x72\x65\x6e\ -\x74\x5f\x70\x69\x64\x5f\x74\x67\x69\x64\x28\x29\x3b\0\x20\x20\x20\x20\x75\x33\ -\x32\x20\x70\x69\x64\x20\x3d\x20\x70\x69\x64\x5f\x74\x67\x69\x64\x20\x26\x20\ -\x30\x78\x46\x46\x46\x46\x46\x46\x46\x46\x3b\x20\x20\0\x20\x20\x20\x20\x75\x33\ -\x32\x20\x74\x67\x69\x64\x20\x3d\x20\x70\x69\x64\x5f\x74\x67\x69\x64\x20\x3e\ -\x3e\x20\x33\x32\x3b\x20\x20\0\x20\x20\x20\x20\x69\x66\x28\x70\x69\x64\x20\x3d\ -\x3d\x20\x30\x20\x7c\x7c\x20\x74\x67\x69\x64\x20\x3d\x3d\x20\x30\x29\0\x20\x20\ -\x20\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x64\x65\x6c\x65\x74\x65\x5f\x65\x6c\ -\x65\x6d\x28\x26\x74\x61\x73\x6b\x5f\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x5f\ -\x6d\x61\x70\x2c\x26\x70\x69\x64\x29\x3b\0\x20\x20\x20\x20\x69\x66\x28\x70\x73\ -\x20\x21\x3d\x20\x4e\x55\x4c\x4c\x29\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\x69\ -\x66\x28\x70\x73\x2d\x3e\x6b\x69\x64\x73\x5f\x6c\x65\x6e\x67\x74\x68\x20\x3e\ -\x20\x30\x29\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x70\x73\x2d\x3e\ -\x6b\x69\x64\x73\x5f\x6c\x65\x6e\x67\x74\x68\x20\x2d\x3d\x20\x31\x3b\0\x20\x20\ -\x20\x20\x20\x20\x20\x20\x75\x33\x32\x20\x2a\x69\x6e\x20\x3d\x20\x62\x70\x66\ -\x5f\x6d\x61\x70\x5f\x6c\x6f\x6f\x6b\x75\x70\x5f\x65\x6c\x65\x6d\x28\x26\x74\ -\x68\x72\x65\x61\x64\x5f\x6f\x63\x63\x75\x70\x69\x65\x64\x5f\x6d\x61\x70\x2c\ -\x26\x70\x69\x64\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x28\x69\x6e\ -\x20\x21\x3d\x20\x4e\x55\x4c\x4c\x29\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\ -\x20\x20\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x64\x65\x6c\x65\x74\x65\x5f\x65\ -\x6c\x65\x6d\x28\x26\x74\x68\x72\x65\x61\x64\x5f\x6f\x63\x63\x75\x70\x69\x65\ -\x64\x5f\x6d\x61\x70\x2c\x26\x70\x69\x64\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\ -\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x64\x65\x6c\x65\x74\x65\x5f\x65\x6c\x65\ -\x6d\x28\x26\x74\x61\x73\x6b\x5f\x74\x72\x61\x63\x65\x5f\x64\x61\x74\x61\x5f\ -\x6d\x61\x70\x2c\x26\x70\x69\x64\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x69\ -\x66\x28\x70\x73\x21\x3d\x4e\x55\x4c\x4c\x20\x26\x26\x20\x70\x73\x2d\x3e\x6b\ -\x69\x64\x73\x5f\x6c\x65\x6e\x67\x74\x68\x20\x3d\x3d\x20\x30\x29\0\x20\x20\x20\ -\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x64\x65\ -\x6c\x65\x74\x65\x5f\x65\x6c\x65\x6d\x28\x26\x70\x72\x6f\x63\x65\x73\x73\x5f\ -\x6d\x61\x70\x2c\x26\x74\x67\x69\x64\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\ -\x20\x20\x20\x20\x69\x6e\x20\x3d\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x6c\x6f\ -\x6f\x6b\x75\x70\x5f\x65\x6c\x65\x6d\x28\x26\x70\x72\x6f\x63\x65\x73\x73\x5f\ -\x6f\x63\x63\x75\x70\x69\x65\x64\x5f\x6d\x61\x70\x2c\x26\x74\x67\x69\x64\x29\ -\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x28\x69\x6e\x20\ -\x21\x3d\x20\x4e\x55\x4c\x4c\x29\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ -\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x64\x65\x6c\x65\x74\ -\x65\x5f\x65\x6c\x65\x6d\x28\x26\x70\x72\x6f\x63\x65\x73\x73\x5f\x6f\x63\x63\ -\x75\x70\x69\x65\x64\x5f\x6d\x61\x70\x2c\x26\x74\x67\x69\x64\x29\x3b\0\x69\x6e\ -\x74\x20\x42\x50\x46\x5f\x50\x52\x4f\x47\x28\x68\x61\x6e\x64\x6c\x65\x5f\x74\ -\x61\x73\x6b\x5f\x65\x78\x69\x74\x29\x7b\0\x69\x6e\x74\x20\x72\x65\x63\x6f\x72\ -\x64\x5f\x74\x61\x73\x6b\x5f\x73\x77\x69\x74\x63\x68\x28\x73\x74\x72\x75\x63\ -\x74\x20\x74\x72\x61\x63\x65\x5f\x65\x76\x65\x6e\x74\x5f\x72\x61\x77\x5f\x73\ -\x63\x68\x65\x64\x5f\x73\x77\x69\x74\x63\x68\x20\x2a\x63\x74\x78\x29\0\x20\x20\ -\x20\x20\x75\x33\x32\x20\x70\x72\x65\x76\x5f\x70\x69\x64\x20\x3d\x20\x63\x74\ -\x78\x2d\x3e\x70\x72\x65\x76\x5f\x70\x69\x64\x3b\0\x20\x20\x20\x20\x75\x33\x32\ -\x20\x6e\x65\x78\x74\x5f\x70\x69\x64\x20\x3d\x20\x63\x74\x78\x2d\x3e\x6e\x65\ -\x78\x74\x5f\x70\x69\x64\x3b\0\x20\x20\x20\x20\x63\x70\x75\x5f\x75\x73\x61\x67\ -\x65\x20\x3d\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x6c\x6f\x6f\x6b\x75\x70\x5f\ -\x65\x6c\x65\x6d\x28\x26\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x5f\x74\x69\x6d\ -\x65\x73\x5f\x6d\x61\x70\x2c\x20\x26\x63\x70\x75\x5f\x69\x64\x29\x3b\0\x20\x20\ -\x20\x20\x69\x66\x20\x28\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x20\x3d\x3d\x20\ -\x4e\x55\x4c\x4c\x29\x20\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x72\x75\ -\x63\x74\x20\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x5f\x74\x69\x6d\x65\x73\x20\ -\x69\x6e\x69\x74\x5f\x63\x70\x75\x20\x3d\x20\x7b\x7d\x3b\0\x20\x20\x20\x20\x20\ -\x20\x20\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x75\x70\x64\x61\x74\x65\x5f\x65\ -\x6c\x65\x6d\x28\x26\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x5f\x74\x69\x6d\x65\ -\x73\x5f\x6d\x61\x70\x2c\x20\x26\x63\x70\x75\x5f\x69\x64\x2c\x20\x26\x69\x6e\ -\x69\x74\x5f\x63\x70\x75\x2c\x20\x42\x50\x46\x5f\x41\x4e\x59\x29\x3b\0\x20\x20\ -\x20\x20\x20\x20\x20\x20\x73\x74\x72\x75\x63\x74\x20\x63\x70\x75\x5f\x75\x73\ -\x61\x67\x65\x5f\x73\x74\x61\x74\x73\x20\x69\x6e\x69\x74\x5f\x73\x74\x61\x74\ -\x73\x20\x3d\x20\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2e\x63\ -\x70\x75\x5f\x69\x64\x20\x3d\x20\x63\x70\x75\x5f\x69\x64\x2c\0\x20\x20\x20\x20\ -\x20\x20\x20\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x75\x70\x64\x61\x74\x65\x5f\ -\x65\x6c\x65\x6d\x28\x26\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x5f\x70\x65\x72\ -\x63\x65\x6e\x74\x5f\x6d\x61\x70\x2c\x20\x26\x63\x70\x75\x5f\x69\x64\x2c\x20\ -\x26\x69\x6e\x69\x74\x5f\x73\x74\x61\x74\x73\x2c\x20\x42\x50\x46\x5f\x41\x4e\ -\x59\x29\x3b\0\x20\x20\x20\x20\x69\x66\x20\x28\x63\x70\x75\x5f\x75\x73\x61\x67\ -\x65\x20\x3d\x3d\x20\x4e\x55\x4c\x4c\x29\x20\x72\x65\x74\x75\x72\x6e\x20\x2d\ -\x31\x3b\0\x20\x20\x20\x20\x69\x66\x28\x70\x72\x65\x76\x5f\x70\x69\x64\x20\x21\ -\x3d\x20\x30\x29\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x72\x75\x63\x74\ -\x20\x74\x61\x73\x6b\x5f\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x20\x2a\x70\x72\ -\x65\x5f\x75\x73\x61\x67\x65\x20\x3d\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x6c\ -\x6f\x6f\x6b\x75\x70\x5f\x65\x6c\x65\x6d\x28\x26\x74\x61\x73\x6b\x5f\x63\x70\ -\x75\x5f\x75\x73\x61\x67\x65\x5f\x6d\x61\x70\x2c\x20\x26\x70\x72\x65\x76\x5f\ -\x70\x69\x64\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x70\ -\x72\x65\x5f\x75\x73\x61\x67\x65\x29\x20\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\ -\x20\x20\x20\x20\x6d\x65\x6d\x73\x65\x74\x28\x26\x69\x6e\x69\x74\x5f\x74\x61\ -\x73\x6b\x2c\x30\x2c\x73\x69\x7a\x65\x6f\x66\x28\x73\x74\x72\x75\x63\x74\x20\ -\x74\x61\x73\x6b\x5f\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x29\x29\x3b\0\x20\x20\ -\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2e\x70\x69\x64\x20\ -\x3d\x20\x70\x72\x65\x76\x5f\x70\x69\x64\x2c\0\x20\x20\x20\x20\x20\x20\x20\x20\ -\x20\x20\x20\x20\x73\x74\x72\x75\x63\x74\x20\x74\x61\x73\x6b\x5f\x69\x6e\x66\ -\x6f\x5f\x73\x69\x6d\x70\x6c\x65\x20\x69\x6e\x66\x6f\x20\x3d\x20\x7b\0\x20\x20\ -\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2e\x63\x70\x75\x5f\ -\x69\x64\x20\x3d\x20\x63\x70\x75\x5f\x69\x64\0\x20\x20\x20\x20\x20\x20\x20\x20\ -\x20\x20\x20\x20\x62\x70\x66\x5f\x70\x72\x6f\x62\x65\x5f\x72\x65\x61\x64\x5f\ -\x6b\x65\x72\x6e\x65\x6c\x5f\x73\x74\x72\x28\x69\x6e\x66\x6f\x2e\x63\x6f\x6d\ -\x6d\x2c\x73\x69\x7a\x65\x6f\x66\x28\x63\x74\x78\x2d\x3e\x70\x72\x65\x76\x5f\ -\x63\x6f\x6d\x6d\x29\x2c\x63\x74\x78\x2d\x3e\x70\x72\x65\x76\x5f\x63\x6f\x6d\ -\x6d\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x6e\x69\x74\ -\x5f\x74\x61\x73\x6b\x2e\x6c\x61\x73\x74\x5f\x63\x6c\x65\x61\x72\x5f\x74\x69\ -\x6d\x65\x20\x3d\x20\x6e\x6f\x77\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ -\x20\x20\x69\x6e\x69\x74\x5f\x74\x61\x73\x6b\x2e\x6c\x61\x73\x74\x5f\x72\x75\ -\x6e\x5f\x74\x69\x6d\x65\x20\x3d\x20\x6e\x6f\x77\x3b\0\x20\x20\x20\x20\x20\x20\ -\x20\x20\x20\x20\x20\x20\x69\x6e\x69\x74\x5f\x74\x61\x73\x6b\x2e\x74\x61\x73\ -\x6b\x5f\x69\x6e\x66\x6f\x20\x3d\x20\x69\x6e\x66\x6f\x3b\0\x20\x20\x20\x20\x20\ -\x20\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x75\x70\x64\x61\ -\x74\x65\x5f\x65\x6c\x65\x6d\x28\x26\x74\x61\x73\x6b\x5f\x63\x70\x75\x5f\x75\ -\x73\x61\x67\x65\x5f\x6d\x61\x70\x2c\x20\x26\x70\x72\x65\x76\x5f\x70\x69\x64\ -\x2c\x20\x26\x69\x6e\x69\x74\x5f\x74\x61\x73\x6b\x2c\x20\x42\x50\x46\x5f\x41\ -\x4e\x59\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x70\x72\x65\ -\x5f\x75\x73\x61\x67\x65\x2d\x3e\x74\x61\x73\x6b\x5f\x69\x6e\x66\x6f\x2e\x70\ -\x69\x64\x20\x3d\x20\x70\x72\x65\x76\x5f\x70\x69\x64\x3b\0\x20\x20\x20\x20\x20\ -\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x70\x72\x65\x5f\x75\x73\x61\x67\ -\x65\x2d\x3e\x6c\x61\x73\x74\x5f\x72\x75\x6e\x5f\x74\x69\x6d\x65\x20\x21\x3d\ -\x20\x30\x29\x20\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ -\x20\x20\x69\x66\x20\x28\x70\x72\x65\x5f\x75\x73\x61\x67\x65\x2d\x3e\x69\x6e\ -\x5f\x6b\x65\x72\x6e\x65\x6c\x29\x20\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\ -\x20\x20\x20\x20\x20\x20\x20\x75\x36\x34\x20\x64\x65\x6c\x74\x61\x20\x3d\x20\ -\x6e\x6f\x77\x20\x2d\x20\x70\x72\x65\x5f\x75\x73\x61\x67\x65\x2d\x3e\x6c\x61\ -\x73\x74\x5f\x72\x75\x6e\x5f\x74\x69\x6d\x65\x3b\0\x20\x20\x20\x20\x20\x20\x20\ -\x20\x20\x20\x20\x20\x20\x20\x20\x20\x70\x72\x65\x5f\x75\x73\x61\x67\x65\x2d\ -\x3e\x74\x6f\x74\x61\x6c\x5f\x74\x69\x6d\x65\x5f\x6e\x73\x20\x2b\x3d\x20\x64\ -\x65\x6c\x74\x61\x3b\0\x20\x20\x20\x20\x75\x33\x32\x20\x70\x69\x64\x20\x3d\x20\ -\x74\x61\x73\x6b\x5f\x75\x73\x61\x67\x65\x2d\x3e\x74\x61\x73\x6b\x5f\x69\x6e\ -\x66\x6f\x2e\x70\x69\x64\x3b\0\x20\x20\x20\x20\x69\x66\x28\x74\x61\x73\x6b\x5f\ -\x75\x73\x61\x67\x65\x2d\x3e\x6c\x61\x73\x74\x5f\x63\x6c\x65\x61\x72\x5f\x74\ -\x69\x6d\x65\x20\x3d\x3d\x20\x30\x29\0\x20\x20\x20\x20\x20\x20\x20\x20\x74\x61\ -\x73\x6b\x5f\x75\x73\x61\x67\x65\x2d\x3e\x6c\x61\x73\x74\x5f\x63\x6c\x65\x61\ -\x72\x5f\x74\x69\x6d\x65\x20\x3d\x20\x6e\x6f\x77\x3b\0\x20\x20\x20\x20\x69\x66\ -\x28\x21\x74\x61\x73\x6b\x5f\x75\x73\x61\x67\x65\x2d\x3e\x61\x6c\x72\x65\x61\ -\x64\x79\x5f\x6f\x75\x74\x70\x75\x74\x20\x26\x26\x20\x76\x61\x6c\x75\x65\x20\ -\x3e\x3d\x20\x74\x68\x72\x65\x73\x68\x6f\x6c\x64\x20\x26\x26\x20\x6e\x6f\x77\ -\x20\x2d\x20\x74\x61\x73\x6b\x5f\x75\x73\x61\x67\x65\x2d\x3e\x6c\x61\x73\x74\ -\x5f\x63\x6c\x65\x61\x72\x5f\x74\x69\x6d\x65\x20\x3c\x20\x48\x41\x4c\x46\x5f\ -\x53\x45\x43\x4f\x4e\x44\x29\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\ -\x6d\x61\x70\x5f\x75\x70\x64\x61\x74\x65\x5f\x65\x6c\x65\x6d\x28\x26\x74\x68\ -\x72\x65\x61\x64\x5f\x6f\x63\x63\x75\x70\x69\x65\x64\x5f\x6d\x61\x70\x2c\x26\ -\x70\x69\x64\x2c\x26\x70\x69\x64\x2c\x42\x50\x46\x5f\x41\x4e\x59\x29\x3b\0\x20\ -\x20\x20\x20\x20\x20\x20\x20\x73\x74\x72\x75\x63\x74\x20\x74\x61\x73\x6b\x5f\ -\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x20\x2a\x62\x75\x66\x66\x20\x3d\x20\x62\ -\x70\x66\x5f\x72\x69\x6e\x67\x62\x75\x66\x5f\x72\x65\x73\x65\x72\x76\x65\x28\ -\x26\x74\x61\x73\x6b\x5f\x6f\x63\x63\x75\x70\x69\x65\x64\x5f\x62\x75\x66\x66\ -\x65\x72\x2c\x73\x69\x7a\x65\x6f\x66\x28\x73\x74\x72\x75\x63\x74\x20\x74\x61\ -\x73\x6b\x5f\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x29\x2c\x30\x29\x3b\0\x20\x20\ -\x20\x20\x20\x20\x20\x20\x69\x66\x28\x21\x62\x75\x66\x66\x29\x7b\0\x20\x20\x20\ -\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x70\x72\x69\x6e\x74\x6b\ -\x28\x22\x74\x68\x65\x20\x74\x61\x73\x6b\x5f\x63\x70\x75\x20\x62\x75\x66\x66\ -\x65\x72\x20\x69\x73\x20\x66\x75\x6c\x6c\x5c\x6e\x22\x29\x3b\0\x20\x20\x20\x20\ -\x20\x20\x20\x20\x69\x66\x28\x6e\x6f\x77\x20\x2d\x20\x74\x61\x73\x6b\x5f\x75\ -\x73\x61\x67\x65\x2d\x3e\x6c\x61\x73\x74\x5f\x63\x6c\x65\x61\x72\x5f\x74\x69\ -\x6d\x65\x20\x3e\x20\x48\x41\x4c\x46\x5f\x53\x45\x43\x4f\x4e\x44\x29\0\x20\x20\ -\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x28\x74\x61\x73\x6b\x5f\x75\ -\x73\x61\x67\x65\x2d\x3e\x61\x6c\x72\x65\x61\x64\x79\x5f\x6f\x75\x74\x70\x75\ -\x74\x20\x3d\x3d\x20\x66\x61\x6c\x73\x65\x29\0\x20\x20\x20\x20\x20\x20\x20\x20\ -\x20\x20\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x64\x65\x6c\ -\x65\x74\x65\x5f\x65\x6c\x65\x6d\x28\x26\x74\x68\x72\x65\x61\x64\x5f\x6f\x63\ -\x63\x75\x70\x69\x65\x64\x5f\x6d\x61\x70\x2c\x26\x70\x69\x64\x29\x3b\0\x20\x20\ -\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x61\x73\x6b\x5f\x75\x73\x61\x67\ -\x65\x2d\x3e\x6c\x61\x73\x74\x5f\x63\x6c\x65\x61\x72\x5f\x74\x69\x6d\x65\x20\ -\x3d\x20\x6e\x6f\x77\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\ -\x61\x73\x6b\x5f\x75\x73\x61\x67\x65\x2d\x3e\x75\x73\x65\x72\x5f\x74\x69\x6d\ -\x65\x5f\x6e\x73\x20\x3d\x20\x30\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ -\x20\x20\x74\x61\x73\x6b\x5f\x75\x73\x61\x67\x65\x2d\x3e\x61\x6c\x72\x65\x61\ -\x64\x79\x5f\x6f\x75\x74\x70\x75\x74\x20\x3d\x20\x66\x61\x6c\x73\x65\x3b\0\x20\ -\x20\x20\x20\x20\x20\x20\x20\x6d\x65\x6d\x73\x65\x74\x28\x62\x75\x66\x66\x2c\ -\x30\x2c\x73\x69\x7a\x65\x6f\x66\x28\x73\x74\x72\x75\x63\x74\x20\x74\x61\x73\ -\x6b\x5f\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x29\x29\x3b\0\x20\x20\x20\x20\x20\ -\x20\x20\x20\x62\x75\x66\x66\x2d\x3e\x74\x61\x73\x6b\x5f\x69\x6e\x66\x6f\x20\ -\x3d\x20\x74\x61\x73\x6b\x5f\x75\x73\x61\x67\x65\x2d\x3e\x74\x61\x73\x6b\x5f\ -\x69\x6e\x66\x6f\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x75\x36\x34\x20\x64\x65\ -\x6c\x74\x61\x20\x3d\x20\x28\x6e\x6f\x77\x20\x2d\x20\x74\x61\x73\x6b\x5f\x75\ -\x73\x61\x67\x65\x2d\x3e\x6c\x61\x73\x74\x5f\x63\x6c\x65\x61\x72\x5f\x74\x69\ -\x6d\x65\x29\x2a\x31\x30\x20\x2f\x20\x48\x41\x4c\x46\x5f\x53\x45\x43\x4f\x4e\ -\x44\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\x75\x66\x66\x2d\x3e\x74\x6f\x74\ -\x61\x6c\x5f\x70\x65\x72\x63\x65\x6e\x74\x20\x3d\x20\x74\x61\x73\x6b\x5f\x75\ -\x73\x61\x67\x65\x2d\x3e\x74\x6f\x74\x61\x6c\x5f\x74\x69\x6d\x65\x5f\x6e\x73\ -\x20\x2a\x20\x31\x30\x30\x20\x2a\x20\x64\x65\x6c\x74\x61\x2f\x20\x48\x41\x4c\ -\x46\x5f\x53\x45\x43\x4f\x4e\x44\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\x75\ -\x66\x66\x2d\x3e\x6b\x65\x72\x6e\x65\x6c\x5f\x70\x65\x72\x63\x65\x6e\x74\x20\ -\x3d\x20\x74\x61\x73\x6b\x5f\x75\x73\x61\x67\x65\x2d\x3e\x6b\x65\x72\x6e\x65\ -\x6c\x5f\x74\x69\x6d\x65\x5f\x6e\x73\x20\x2f\x20\x74\x61\x73\x6b\x5f\x75\x73\ -\x61\x67\x65\x2d\x3e\x74\x6f\x74\x61\x6c\x5f\x74\x69\x6d\x65\x5f\x6e\x73\x3b\0\ -\x20\x20\x20\x20\x20\x20\x20\x20\x62\x75\x66\x66\x2d\x3e\x75\x73\x65\x72\x5f\ -\x70\x65\x72\x63\x65\x6e\x74\x20\x3d\x20\x74\x61\x73\x6b\x5f\x75\x73\x61\x67\ -\x65\x2d\x3e\x75\x73\x65\x72\x5f\x74\x69\x6d\x65\x5f\x6e\x73\x20\x2f\x20\x74\ -\x61\x73\x6b\x5f\x75\x73\x61\x67\x65\x2d\x3e\x74\x6f\x74\x61\x6c\x5f\x74\x69\ -\x6d\x65\x5f\x6e\x73\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x72\ -\x69\x6e\x67\x62\x75\x66\x5f\x73\x75\x62\x6d\x69\x74\x28\x62\x75\x66\x66\x2c\ -\x30\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x74\x61\x73\x6b\x5f\x75\x73\x61\ -\x67\x65\x2d\x3e\x61\x6c\x72\x65\x61\x64\x79\x5f\x6f\x75\x74\x70\x75\x74\x20\ -\x3d\x20\x74\x72\x75\x65\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x28\x74\ -\x61\x73\x6b\x5f\x75\x73\x61\x67\x65\x2d\x3e\x6c\x61\x73\x74\x5f\x74\x72\x61\ -\x63\x65\x5f\x74\x69\x6d\x65\x20\x3d\x3d\x20\x30\x20\x7c\x7c\x20\x6e\x6f\x77\ -\x20\x2d\x20\x74\x61\x73\x6b\x5f\x75\x73\x61\x67\x65\x2d\x3e\x6c\x61\x73\x74\ -\x5f\x74\x72\x61\x63\x65\x5f\x74\x69\x6d\x65\x20\x3e\x20\x31\x30\x20\x2a\x20\ -\x48\x41\x4c\x46\x5f\x53\x45\x43\x4f\x4e\x44\x29\x2f\x2f\x20\xe9\x97\xb4\xe9\ -\x9a\x94\xe8\x87\xb3\xe5\xb0\x91\x35\x73\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\ -\x20\x20\x20\x70\x65\x72\x66\x5f\x74\x61\x73\x6b\x5f\x62\x61\x63\x6b\x74\x72\ -\x61\x63\x65\x28\x70\x69\x64\x29\x3b\0\x20\x20\x20\x20\x74\x61\x73\x6b\x20\x3d\ -\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x6c\x6f\x6f\x6b\x75\x70\x5f\x65\x6c\x65\ -\x6d\x28\x26\x74\x61\x73\x6b\x5f\x74\x72\x61\x63\x65\x5f\x64\x61\x74\x61\x5f\ -\x6d\x61\x70\x2c\x26\x70\x69\x64\x29\x3b\0\x20\x20\x20\x20\x69\x66\x28\x21\x74\ -\x61\x73\x6b\x29\0\x20\x20\x20\x20\x73\x74\x72\x75\x63\x74\x20\x74\x61\x73\x6b\ -\x5f\x74\x72\x61\x63\x65\x5f\x65\x76\x65\x6e\x74\x20\x2a\x62\x75\x66\x66\x20\ -\x3d\x20\x62\x70\x66\x5f\x72\x69\x6e\x67\x62\x75\x66\x5f\x72\x65\x73\x65\x72\ -\x76\x65\x28\x26\x74\x61\x73\x6b\x5f\x62\x61\x63\x6b\x74\x72\x61\x63\x65\x5f\ -\x62\x75\x66\x66\x65\x72\x2c\x73\x69\x7a\x65\x6f\x66\x28\x73\x74\x72\x75\x63\ -\x74\x20\x74\x61\x73\x6b\x5f\x74\x72\x61\x63\x65\x5f\x65\x76\x65\x6e\x74\x29\ -\x2c\x30\x29\x3b\0\x20\x20\x20\x20\x69\x66\x28\x21\x62\x75\x66\x66\x29\x7b\0\ -\x20\x20\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x70\x72\x69\x6e\x74\x6b\x28\ -\x22\x62\x61\x63\x6b\x74\x72\x61\x63\x65\x20\x62\x75\x66\x66\x20\x61\x6c\x6c\ -\x6f\x63\x61\x74\x65\x20\x66\x61\x69\x6c\x65\x64\x5c\x6e\x22\x29\x3b\0\x20\x20\ -\x20\x20\x6d\x65\x6d\x73\x65\x74\x28\x62\x75\x66\x66\x2c\x30\x2c\x73\x69\x7a\ -\x65\x6f\x66\x28\x73\x74\x72\x75\x63\x74\x20\x74\x61\x73\x6b\x5f\x74\x72\x61\ -\x63\x65\x5f\x65\x76\x65\x6e\x74\x29\x29\x3b\0\x20\x20\x20\x20\x62\x75\x66\x66\ -\x2d\x3e\x70\x69\x64\x20\x3d\x20\x70\x69\x64\x3b\0\x20\x20\x20\x20\x62\x70\x66\ -\x5f\x70\x72\x6f\x62\x65\x5f\x72\x65\x61\x64\x5f\x73\x74\x72\x28\x62\x75\x66\ -\x66\x2d\x3e\x63\x6f\x6d\x6d\x2c\x73\x69\x7a\x65\x6f\x66\x28\x74\x61\x73\x6b\ -\x2d\x3e\x63\x6f\x6d\x6d\x29\x2c\x74\x61\x73\x6b\x2d\x3e\x63\x6f\x6d\x6d\x29\ -\x3b\0\x20\x20\x20\x20\x62\x75\x66\x66\x2d\x3e\x6b\x73\x74\x61\x63\x6b\x5f\x73\ -\x7a\x20\x3d\x20\x74\x61\x73\x6b\x2d\x3e\x6b\x73\x74\x61\x63\x6b\x5f\x73\x7a\ -\x3b\0\x20\x20\x20\x20\x62\x75\x66\x66\x2d\x3e\x75\x73\x74\x61\x63\x6b\x5f\x73\ -\x7a\x20\x3d\x20\x74\x61\x73\x6b\x2d\x3e\x75\x73\x74\x61\x63\x6b\x5f\x73\x7a\ -\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x28\x6a\x20\x3e\ -\x20\x74\x61\x73\x6b\x2d\x3e\x6b\x73\x74\x61\x63\x6b\x5f\x73\x7a\x29\0\x20\x20\ -\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x75\x66\x66\x2d\x3e\x6b\x5f\x73\ -\x74\x61\x63\x6b\x5b\x6a\x5d\x20\x3d\x20\x74\x61\x73\x6b\x2d\x3e\x6b\x5f\x73\ -\x74\x61\x63\x6b\x5b\x6a\x5d\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ -\x20\x69\x66\x28\x6a\x20\x3e\x20\x74\x61\x73\x6b\x2d\x3e\x75\x73\x74\x61\x63\ -\x6b\x5f\x73\x7a\x29\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x75\ -\x66\x66\x2d\x3e\x75\x5f\x73\x74\x61\x63\x6b\x5b\x6a\x5d\x20\x3d\x20\x74\x61\ -\x73\x6b\x2d\x3e\x75\x5f\x73\x74\x61\x63\x6b\x5b\x6a\x5d\x3b\0\x20\x20\x20\x20\ -\x62\x70\x66\x5f\x72\x69\x6e\x67\x62\x75\x66\x5f\x73\x75\x62\x6d\x69\x74\x28\ -\x62\x75\x66\x66\x2c\x20\x30\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ -\x20\x20\x74\x61\x73\x6b\x5f\x75\x73\x61\x67\x65\x2d\x3e\x6c\x61\x73\x74\x5f\ -\x74\x72\x61\x63\x65\x5f\x74\x69\x6d\x65\x20\x3d\x20\x6e\x6f\x77\x3b\0\x20\x20\ -\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x28\x70\x72\ -\x65\x5f\x75\x73\x61\x67\x65\x2d\x3e\x74\x61\x73\x6b\x5f\x69\x6e\x66\x6f\x2e\ -\x74\x67\x69\x64\x20\x21\x3d\x20\x30\x29\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\ -\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x70\x72\x6f\x63\x65\x73\x73\ -\x5f\x75\x70\x64\x61\x74\x65\x5f\x72\x75\x6e\x74\x69\x6d\x65\x28\x74\x67\x69\ -\x64\x2c\x64\x65\x6c\x74\x61\x2c\x66\x61\x6c\x73\x65\x2c\x63\x70\x75\x5f\x75\ -\x73\x61\x67\x65\x2d\x3e\x6c\x61\x73\x74\x5f\x63\x6c\x65\x61\x72\x5f\x74\x69\ -\x6d\x65\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x70\x72\x65\ -\x5f\x75\x73\x61\x67\x65\x2d\x3e\x6c\x61\x73\x74\x5f\x72\x75\x6e\x5f\x74\x69\ -\x6d\x65\x20\x3d\x20\x6e\x6f\x77\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ -\x20\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x75\x70\x64\x61\x74\x65\x5f\x65\x6c\ -\x65\x6d\x28\x26\x74\x61\x73\x6b\x5f\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x5f\ -\x6d\x61\x70\x2c\x20\x26\x70\x72\x65\x76\x5f\x70\x69\x64\x2c\x20\x70\x72\x65\ -\x5f\x75\x73\x61\x67\x65\x2c\x20\x42\x50\x46\x5f\x41\x4e\x59\x29\x3b\0\x20\x20\ -\x20\x20\x69\x66\x28\x6e\x65\x78\x74\x5f\x70\x69\x64\x20\x21\x3d\x20\x30\x29\ -\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x72\x75\x63\x74\x20\x74\x61\x73\ -\x6b\x5f\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x20\x2a\x6e\x65\x78\x74\x5f\x75\ -\x73\x61\x67\x65\x20\x3d\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x6c\x6f\x6f\x6b\ -\x75\x70\x5f\x65\x6c\x65\x6d\x28\x26\x74\x61\x73\x6b\x5f\x63\x70\x75\x5f\x75\ -\x73\x61\x67\x65\x5f\x6d\x61\x70\x2c\x20\x26\x6e\x65\x78\x74\x5f\x70\x69\x64\ -\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x6e\x65\x78\x74\ -\x5f\x75\x73\x61\x67\x65\x29\x20\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ -\x20\x20\x20\x20\x20\x20\x2e\x70\x69\x64\x20\x3d\x20\x6e\x65\x78\x74\x5f\x70\ -\x69\x64\x2c\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\ -\x70\x72\x6f\x62\x65\x5f\x72\x65\x61\x64\x5f\x6b\x65\x72\x6e\x65\x6c\x5f\x73\ -\x74\x72\x28\x69\x6e\x66\x6f\x2e\x63\x6f\x6d\x6d\x2c\x73\x69\x7a\x65\x6f\x66\ -\x28\x63\x74\x78\x2d\x3e\x6e\x65\x78\x74\x5f\x63\x6f\x6d\x6d\x29\x2c\x63\x74\ -\x78\x2d\x3e\x6e\x65\x78\x74\x5f\x63\x6f\x6d\x6d\x29\x3b\0\x20\x20\x20\x20\x20\ -\x20\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x75\x70\x64\x61\ -\x74\x65\x5f\x65\x6c\x65\x6d\x28\x26\x74\x61\x73\x6b\x5f\x63\x70\x75\x5f\x75\ -\x73\x61\x67\x65\x5f\x6d\x61\x70\x2c\x20\x26\x6e\x65\x78\x74\x5f\x70\x69\x64\ -\x2c\x20\x26\x69\x6e\x69\x74\x5f\x74\x61\x73\x6b\x2c\x20\x42\x50\x46\x5f\x41\ -\x4e\x59\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6e\x65\x78\ -\x74\x5f\x75\x73\x61\x67\x65\x2d\x3e\x74\x61\x73\x6b\x5f\x69\x6e\x66\x6f\x2e\ -\x70\x69\x64\x20\x3d\x20\x6e\x65\x78\x74\x5f\x70\x69\x64\x3b\0\x20\x20\x20\x20\ -\x20\x20\x20\x20\x20\x20\x20\x20\x75\x36\x34\x20\x6c\x61\x74\x65\x6e\x63\x79\ -\x5f\x62\x75\x63\x6b\x65\x74\x20\x3d\x20\x6e\x6f\x77\x20\x2d\x20\x6e\x65\x78\ -\x74\x5f\x75\x73\x61\x67\x65\x2d\x3e\x6c\x61\x73\x74\x5f\x65\x6e\x71\x65\x75\ -\x65\x5f\x74\x69\x6d\x65\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ -\x6e\x65\x78\x74\x5f\x75\x73\x61\x67\x65\x2d\x3e\x77\x61\x69\x74\x5f\x74\x69\ -\x6d\x65\x20\x3d\x20\x6c\x61\x74\x65\x6e\x63\x79\x5f\x62\x75\x63\x6b\x65\x74\ -\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x28\x6c\x61\x74\ -\x65\x6e\x63\x79\x5f\x62\x75\x63\x6b\x65\x74\x20\x3d\x3d\x20\x30\x29\0\x20\x20\ -\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6c\x73\x65\x20\x69\x66\x28\x6c\ -\x61\x74\x65\x6e\x63\x79\x5f\x62\x75\x63\x6b\x65\x74\x20\x3c\x20\x35\x29\0\x20\ -\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6c\x73\x65\x20\x69\x66\x28\ -\x6c\x61\x74\x65\x6e\x63\x79\x5f\x62\x75\x63\x6b\x65\x74\x20\x3c\x20\x31\x37\ -\x29\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6c\x73\x65\x20\x69\ -\x66\x28\x6c\x61\x74\x65\x6e\x63\x79\x5f\x62\x75\x63\x6b\x65\x74\x20\x3c\x20\ -\x36\x35\x29\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6c\x73\x65\ -\x20\x69\x66\x28\x6c\x61\x74\x65\x6e\x63\x79\x5f\x62\x75\x63\x6b\x65\x74\x20\ -\x3c\x20\x32\x35\x37\x29\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\ -\x6c\x73\x65\x20\x69\x66\x28\x6c\x61\x74\x65\x6e\x63\x79\x5f\x62\x75\x63\x6b\ -\x65\x74\x20\x3c\x20\x31\x30\x30\x30\x29\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\ -\x20\x20\x20\x65\x6c\x73\x65\x20\x69\x66\x28\x6c\x61\x74\x65\x6e\x63\x79\x5f\ -\x62\x75\x63\x6b\x65\x74\x20\x3c\x20\x34\x30\x30\x30\x29\0\x20\x20\x20\x20\x20\ -\x20\x20\x20\x20\x20\x20\x20\x75\x33\x32\x20\x2a\x6c\x61\x74\x65\x6e\x63\x79\ -\x20\x3d\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x6c\x6f\x6f\x6b\x75\x70\x5f\x65\ -\x6c\x65\x6d\x28\x26\x72\x75\x6e\x71\x6c\x61\x74\x5f\x6d\x61\x70\x2c\x26\x62\ -\x75\x63\x6b\x65\x74\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ -\x69\x66\x28\x21\x6c\x61\x74\x65\x6e\x63\x79\x29\x7b\0\x20\x20\x20\x20\x20\x20\ -\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x75\ -\x70\x64\x61\x74\x65\x5f\x65\x6c\x65\x6d\x28\x26\x72\x75\x6e\x71\x6c\x61\x74\ -\x5f\x6d\x61\x70\x2c\x26\x62\x75\x63\x6b\x65\x74\x2c\x26\x6f\x6e\x65\x2c\x42\ -\x50\x46\x5f\x41\x4e\x59\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ -\x20\x20\x20\x20\x20\x2a\x6c\x61\x74\x65\x6e\x63\x79\x20\x3d\x20\x2a\x6c\x61\ -\x74\x65\x6e\x63\x79\x20\x2b\x20\x31\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\ -\x20\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x75\x70\x64\x61\ -\x74\x65\x5f\x65\x6c\x65\x6d\x28\x26\x72\x75\x6e\x71\x6c\x61\x74\x5f\x6d\x61\ -\x70\x2c\x26\x62\x75\x63\x6b\x65\x74\x2c\x6c\x61\x74\x65\x6e\x63\x79\x2c\x42\ -\x50\x46\x5f\x41\x4e\x59\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ -\x20\x69\x66\x28\x6e\x65\x78\x74\x5f\x75\x73\x61\x67\x65\x2d\x3e\x6c\x61\x73\ -\x74\x5f\x72\x75\x6e\x5f\x74\x69\x6d\x65\x20\x3c\x20\x63\x70\x75\x5f\x75\x73\ -\x61\x67\x65\x2d\x3e\x6c\x61\x73\x74\x5f\x63\x6c\x65\x61\x72\x5f\x74\x69\x6d\ -\x65\x29\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ -\x6e\x65\x78\x74\x5f\x75\x73\x61\x67\x65\x2d\x3e\x6b\x65\x72\x6e\x65\x6c\x5f\ -\x74\x69\x6d\x65\x5f\x6e\x73\x20\x3d\x20\x30\x3b\0\x20\x20\x20\x20\x20\x20\x20\ -\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x28\x6e\x65\x78\x74\x5f\x75\x73\ -\x61\x67\x65\x2d\x3e\x74\x61\x73\x6b\x5f\x69\x6e\x66\x6f\x2e\x74\x67\x69\x64\ -\x20\x21\x3d\x20\x30\x29\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ -\x20\x20\x20\x20\x20\x20\x20\x70\x72\x6f\x63\x65\x73\x73\x5f\x75\x70\x64\x61\ -\x74\x65\x5f\x72\x75\x6e\x74\x69\x6d\x65\x28\x6e\x65\x78\x74\x5f\x75\x73\x61\ -\x67\x65\x2d\x3e\x74\x61\x73\x6b\x5f\x69\x6e\x66\x6f\x2e\x74\x67\x69\x64\x2c\ -\x30\x2c\x74\x72\x75\x65\x2c\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x2d\x3e\x6c\ -\x61\x73\x74\x5f\x63\x6c\x65\x61\x72\x5f\x74\x69\x6d\x65\x29\x3b\0\x20\x20\x20\ -\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6e\x65\x78\x74\x5f\x75\x73\x61\x67\x65\ -\x2d\x3e\x6c\x61\x73\x74\x5f\x72\x75\x6e\x5f\x74\x69\x6d\x65\x20\x3d\x20\x6e\ -\x6f\x77\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\ -\x6d\x61\x70\x5f\x75\x70\x64\x61\x74\x65\x5f\x65\x6c\x65\x6d\x28\x26\x74\x61\ -\x73\x6b\x5f\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x5f\x6d\x61\x70\x2c\x20\x26\ -\x6e\x65\x78\x74\x5f\x70\x69\x64\x2c\x20\x6e\x65\x78\x74\x5f\x75\x73\x61\x67\ -\x65\x2c\x20\x42\x50\x46\x5f\x41\x4e\x59\x29\x3b\0\x20\x20\x20\x20\x62\x70\x66\ -\x5f\x6d\x61\x70\x5f\x75\x70\x64\x61\x74\x65\x5f\x65\x6c\x65\x6d\x28\x26\x63\ -\x70\x75\x5f\x75\x73\x61\x67\x65\x5f\x74\x69\x6d\x65\x73\x5f\x6d\x61\x70\x2c\ -\x26\x63\x70\x75\x5f\x69\x64\x2c\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x2c\x42\ -\x50\x46\x5f\x41\x4e\x59\x29\x3b\0\x69\x6e\x74\x20\x72\x65\x63\x6f\x72\x64\x5f\ -\x62\x61\x63\x6b\x74\x72\x61\x63\x65\x28\x73\x74\x72\x75\x63\x74\x20\x74\x72\ -\x61\x63\x65\x5f\x65\x76\x65\x6e\x74\x5f\x72\x61\x77\x5f\x73\x63\x68\x65\x64\ -\x5f\x73\x77\x69\x74\x63\x68\x20\x2a\x63\x74\x78\x29\0\x20\x20\x20\x20\x75\x33\ -\x32\x20\x70\x69\x64\x20\x3d\x20\x63\x74\x78\x2d\x3e\x70\x72\x65\x76\x5f\x70\ -\x69\x64\x3b\0\x20\x20\x20\x20\x69\x66\x28\x70\x69\x64\x20\x3d\x3d\x20\x30\x20\ -\x7c\x7c\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x6c\x6f\x6f\x6b\x75\x70\x5f\x65\ -\x6c\x65\x6d\x28\x26\x74\x68\x72\x65\x61\x64\x5f\x6f\x63\x63\x75\x70\x69\x65\ -\x64\x5f\x6d\x61\x70\x2c\x26\x70\x69\x64\x29\x20\x3d\x3d\x20\x4e\x55\x4c\x4c\ -\x29\0\x20\x20\x20\x20\x69\x6e\x74\x20\x73\x74\x61\x63\x6b\x5f\x69\x64\x20\x3d\ -\x20\x62\x70\x66\x5f\x67\x65\x74\x5f\x73\x74\x61\x63\x6b\x69\x64\x28\x63\x74\ -\x78\x2c\x26\x73\x74\x61\x63\x6b\x5f\x74\x72\x61\x63\x65\x73\x5f\x6d\x61\x70\ -\x2c\x42\x50\x46\x5f\x46\x5f\x52\x45\x55\x53\x45\x5f\x53\x54\x41\x43\x4b\x49\ -\x44\x29\x3b\0\x20\x20\x20\x20\x69\x66\x28\x73\x74\x61\x63\x6b\x5f\x69\x64\x20\ -\x3c\x20\x30\x29\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x70\x72\ -\x69\x6e\x74\x6b\x28\x22\x67\x65\x74\x20\x73\x74\x61\x63\x6b\x20\x65\x72\x72\ -\x6f\x72\x2c\x20\x65\x72\x72\x6f\x72\x20\x63\x6f\x64\x65\x20\x69\x73\x20\x25\ -\x69\x22\x2c\x73\x74\x61\x63\x6b\x5f\x69\x64\x29\x3b\0\x20\x20\x20\x20\x73\x74\ -\x72\x75\x63\x74\x20\x74\x61\x73\x6b\x5f\x74\x72\x61\x63\x65\x5f\x65\x76\x65\ -\x6e\x74\x20\x2a\x74\x72\x61\x63\x65\x20\x3d\x20\x62\x70\x66\x5f\x6d\x61\x70\ -\x5f\x6c\x6f\x6f\x6b\x75\x70\x5f\x65\x6c\x65\x6d\x28\x26\x74\x61\x73\x6b\x5f\ -\x74\x72\x61\x63\x65\x5f\x64\x61\x74\x61\x5f\x6d\x61\x70\x2c\x26\x70\x69\x64\ -\x29\x3b\0\x20\x20\x20\x20\x69\x66\x28\x21\x74\x72\x61\x63\x65\x29\x7b\0\x20\ -\x20\x20\x20\x20\x20\x20\x20\x69\x6e\x69\x74\x2e\x70\x69\x64\x20\x3d\x20\x70\ -\x69\x64\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x72\x75\x63\x74\x20\x74\ -\x61\x73\x6b\x5f\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x20\x2a\x74\x61\x73\x6b\ -\x20\x3d\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x6c\x6f\x6f\x6b\x75\x70\x5f\x65\ -\x6c\x65\x6d\x28\x26\x74\x61\x73\x6b\x5f\x63\x70\x75\x5f\x75\x73\x61\x67\x65\ -\x5f\x6d\x61\x70\x2c\x26\x70\x69\x64\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\ -\x69\x66\x28\x74\x61\x73\x6b\x20\x21\x3d\x20\x4e\x55\x4c\x4c\x29\x7b\0\x20\x20\ -\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x70\x72\x6f\x62\x65\ -\x5f\x72\x65\x61\x64\x5f\x6b\x65\x72\x6e\x65\x6c\x5f\x73\x74\x72\x28\x69\x6e\ -\x69\x74\x2e\x63\x6f\x6d\x6d\x2c\x73\x69\x7a\x65\x6f\x66\x28\x74\x61\x73\x6b\ -\x2d\x3e\x74\x61\x73\x6b\x5f\x69\x6e\x66\x6f\x2e\x63\x6f\x6d\x6d\x29\x2c\x74\ -\x61\x73\x6b\x2d\x3e\x74\x61\x73\x6b\x5f\x69\x6e\x66\x6f\x2e\x63\x6f\x6d\x6d\ -\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x69\x6e\x69\x74\x2e\x75\x73\x74\x61\ -\x63\x6b\x5f\x73\x7a\x20\x3d\x20\x30\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x69\ -\x6e\x69\x74\x2e\x6b\x73\x74\x61\x63\x6b\x5f\x73\x7a\x20\x3d\x20\x30\x3b\0\x20\ -\x20\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x75\x70\x64\x61\ -\x74\x65\x5f\x65\x6c\x65\x6d\x28\x26\x74\x61\x73\x6b\x5f\x74\x72\x61\x63\x65\ -\x5f\x64\x61\x74\x61\x5f\x6d\x61\x70\x2c\x26\x70\x69\x64\x2c\x26\x69\x6e\x69\ -\x74\x2c\x42\x50\x46\x5f\x41\x4e\x59\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\ -\x73\x74\x72\x75\x63\x74\x20\x74\x61\x73\x6b\x5f\x63\x70\x75\x5f\x75\x73\x61\ -\x67\x65\x20\x2a\x75\x73\x65\x20\x3d\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x6c\ -\x6f\x6f\x6b\x75\x70\x5f\x65\x6c\x65\x6d\x28\x26\x74\x61\x73\x6b\x5f\x63\x70\ -\x75\x5f\x75\x73\x61\x67\x65\x5f\x6d\x61\x70\x2c\x26\x70\x69\x64\x29\x3b\0\x20\ -\x20\x20\x20\x74\x72\x61\x63\x65\x20\x3d\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\ -\x6c\x6f\x6f\x6b\x75\x70\x5f\x65\x6c\x65\x6d\x28\x26\x74\x61\x73\x6b\x5f\x74\ -\x72\x61\x63\x65\x5f\x64\x61\x74\x61\x5f\x6d\x61\x70\x2c\x26\x70\x69\x64\x29\ -\x3b\0\x20\x20\x20\x20\x69\x66\x28\x21\x74\x72\x61\x63\x65\x29\0\x20\x20\x20\ -\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x70\x72\x69\x6e\x74\x6b\x28\x22\x62\x61\ -\x63\x6b\x74\x72\x61\x63\x65\x20\x73\x74\x72\x75\x63\x74\x20\x69\x6e\x69\x74\ -\x20\x66\x61\x69\x6c\x65\x64\x5c\x6e\x22\x29\x3b\0\x20\x20\x20\x20\x74\x72\x61\ -\x63\x65\x2d\x3e\x6b\x73\x74\x61\x63\x6b\x5f\x73\x7a\x20\x3d\x20\x73\x74\x61\ -\x63\x6b\x5f\x69\x64\x3b\0\x20\x20\x20\x20\x75\x36\x34\x20\x2a\x6b\x5f\x73\x74\ -\x61\x63\x6b\x5f\x64\x61\x74\x61\x20\x3d\x20\x28\x75\x36\x34\x20\x2a\x29\x28\ -\x73\x74\x61\x63\x6b\x5f\x69\x64\x20\x2a\x20\x73\x69\x7a\x65\x6f\x66\x28\x75\ -\x36\x34\x29\x29\x3b\0\x20\x20\x20\x20\x69\x66\x20\x28\x6b\x5f\x73\x74\x61\x63\ -\x6b\x5f\x64\x61\x74\x61\x29\x20\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\x70\ -\x66\x5f\x70\x72\x6f\x62\x65\x5f\x72\x65\x61\x64\x5f\x6b\x65\x72\x6e\x65\x6c\ -\x28\x26\x74\x72\x61\x63\x65\x2d\x3e\x6b\x5f\x73\x74\x61\x63\x6b\x2c\x20\x73\ -\x69\x7a\x65\x6f\x66\x28\x74\x72\x61\x63\x65\x2d\x3e\x6b\x5f\x73\x74\x61\x63\ -\x6b\x29\x2c\x20\x6b\x5f\x73\x74\x61\x63\x6b\x5f\x64\x61\x74\x61\x29\x3b\0\x20\ -\x20\x20\x20\x69\x6e\x74\x20\x75\x5f\x73\x74\x61\x63\x6b\x5f\x69\x64\x20\x3d\ -\x20\x62\x70\x66\x5f\x67\x65\x74\x5f\x73\x74\x61\x63\x6b\x69\x64\x28\x63\x74\ -\x78\x2c\x20\x26\x73\x74\x61\x63\x6b\x5f\x74\x72\x61\x63\x65\x73\x5f\x6d\x61\ -\x70\x2c\x20\x42\x50\x46\x5f\x46\x5f\x55\x53\x45\x52\x5f\x53\x54\x41\x43\x4b\ -\x20\x7c\x20\x42\x50\x46\x5f\x46\x5f\x52\x45\x55\x53\x45\x5f\x53\x54\x41\x43\ -\x4b\x49\x44\x29\x3b\0\x20\x20\x20\x20\x69\x66\x20\x28\x75\x5f\x73\x74\x61\x63\ -\x6b\x5f\x69\x64\x20\x3e\x3d\x20\x30\x29\x20\x7b\0\x20\x20\x20\x20\x20\x20\x20\ -\x20\x74\x72\x61\x63\x65\x2d\x3e\x75\x73\x74\x61\x63\x6b\x5f\x73\x7a\x20\x3d\ -\x20\x75\x5f\x73\x74\x61\x63\x6b\x5f\x69\x64\x3b\0\x20\x20\x20\x20\x20\x20\x20\ -\x20\x69\x66\x20\x28\x75\x5f\x73\x74\x61\x63\x6b\x5f\x64\x61\x74\x61\x29\x20\ -\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x70\x72\ -\x6f\x62\x65\x5f\x72\x65\x61\x64\x5f\x6b\x65\x72\x6e\x65\x6c\x28\x26\x74\x72\ -\x61\x63\x65\x2d\x3e\x75\x5f\x73\x74\x61\x63\x6b\x2c\x20\x73\x69\x7a\x65\x6f\ -\x66\x28\x74\x72\x61\x63\x65\x2d\x3e\x75\x5f\x73\x74\x61\x63\x6b\x29\x2c\x20\ -\x75\x5f\x73\x74\x61\x63\x6b\x5f\x64\x61\x74\x61\x29\x3b\0\x20\x20\x20\x20\x20\ -\x20\x20\x20\x75\x36\x34\x20\x2a\x75\x5f\x73\x74\x61\x63\x6b\x5f\x64\x61\x74\ -\x61\x20\x3d\x20\x28\x75\x36\x34\x20\x2a\x29\x28\x75\x5f\x73\x74\x61\x63\x6b\ -\x5f\x69\x64\x20\x2a\x20\x73\x69\x7a\x65\x6f\x66\x28\x75\x36\x34\x29\x29\x3b\0\ -\x20\x20\x20\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x75\x70\x64\x61\x74\x65\x5f\ -\x65\x6c\x65\x6d\x28\x26\x74\x61\x73\x6b\x5f\x74\x72\x61\x63\x65\x5f\x64\x61\ -\x74\x61\x5f\x6d\x61\x70\x2c\x26\x70\x69\x64\x2c\x74\x72\x61\x63\x65\x2c\x42\ -\x50\x46\x5f\x41\x4e\x59\x29\x3b\0\x73\x74\x61\x74\x69\x63\x20\x69\x6e\x74\x20\ -\x70\x72\x6f\x63\x65\x73\x73\x5f\x75\x70\x64\x61\x74\x65\x5f\x72\x75\x6e\x74\ -\x69\x6d\x65\x28\x75\x33\x32\x20\x74\x67\x69\x64\x2c\x75\x36\x34\x20\x64\x65\ -\x6c\x74\x61\x2c\x62\x6f\x6f\x6c\x20\x72\x65\x73\x65\x74\x2c\x20\x75\x36\x34\ -\x20\x6c\x61\x73\x74\x5f\x63\x70\x75\x5f\x63\x6c\x65\x61\x72\x29\x7b\0\x20\x20\ -\x20\x20\x20\x20\x20\x20\x69\x6e\x69\x74\x5f\x70\x72\x6f\x63\x65\x73\x73\x28\ -\x74\x67\x69\x64\x2c\x74\x67\x69\x64\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\ -\x70\x73\x20\x3d\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x6c\x6f\x6f\x6b\x75\x70\ -\x5f\x65\x6c\x65\x6d\x28\x26\x70\x72\x6f\x63\x65\x73\x73\x5f\x6d\x61\x70\x2c\ -\x26\x74\x67\x69\x64\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x28\x21\ -\x70\x73\x29\0\x20\x20\x20\x20\x70\x73\x2d\x3e\x74\x67\x69\x64\x20\x3d\x20\x74\ -\x67\x69\x64\x3b\0\x20\x20\x20\x20\x69\x66\x28\x72\x65\x73\x65\x74\x20\x3d\x3d\ -\x20\x74\x72\x75\x65\x20\x26\x26\x20\x70\x73\x2d\x3e\x6c\x61\x73\x74\x5f\x74\ -\x6f\x74\x61\x6c\x5f\x63\x6c\x65\x61\x72\x20\x3c\x20\x6c\x61\x73\x74\x5f\x63\ -\x70\x75\x5f\x63\x6c\x65\x61\x72\x29\0\x20\x20\x20\x20\x20\x20\x20\x20\x70\x73\ -\x2d\x3e\x74\x6f\x74\x61\x6c\x5f\x75\x73\x65\x5f\x74\x69\x6d\x65\x20\x3d\x20\ -\x30\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x70\x73\x2d\x3e\x6c\x61\x73\x74\x5f\ -\x74\x6f\x74\x61\x6c\x5f\x63\x6c\x65\x61\x72\x20\x3d\x20\x62\x70\x66\x5f\x6b\ -\x74\x69\x6d\x65\x5f\x67\x65\x74\x5f\x6e\x73\x28\x29\x3b\0\x20\x20\x20\x20\x70\ -\x73\x2d\x3e\x74\x6f\x74\x61\x6c\x5f\x75\x73\x65\x5f\x74\x69\x6d\x65\x20\x2b\ -\x3d\x20\x64\x65\x6c\x74\x61\x3b\0\x20\x20\x20\x20\x62\x70\x66\x5f\x6d\x61\x70\ -\x5f\x75\x70\x64\x61\x74\x65\x5f\x65\x6c\x65\x6d\x28\x26\x70\x72\x6f\x63\x65\ -\x73\x73\x5f\x6d\x61\x70\x2c\x26\x74\x67\x69\x64\x2c\x70\x73\x2c\x42\x50\x46\ -\x5f\x41\x4e\x59\x29\x3b\0\x20\x20\x20\x20\x75\x33\x32\x20\x76\x61\x6c\x75\x65\ -\x20\x3d\x20\x70\x73\x2d\x3e\x74\x6f\x74\x61\x6c\x5f\x75\x73\x65\x5f\x74\x69\ -\x6d\x65\x20\x2a\x20\x31\x30\x30\x20\x2f\x20\x48\x41\x4c\x46\x5f\x53\x45\x43\ -\x4f\x4e\x44\x3b\0\x20\x20\x20\x20\x75\x33\x32\x20\x74\x67\x69\x64\x20\x3d\x20\ -\x70\x73\x2d\x3e\x74\x67\x69\x64\x3b\0\x20\x20\x20\x20\x69\x66\x28\x70\x73\x2d\ -\x3e\x6c\x61\x73\x74\x5f\x63\x6c\x65\x61\x72\x5f\x74\x69\x6d\x65\x20\x3d\x3d\ -\x20\x30\x29\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\x70\x73\x2d\x3e\x6c\x61\x73\ -\x74\x5f\x63\x6c\x65\x61\x72\x5f\x74\x69\x6d\x65\x20\x3d\x20\x6e\x6f\x77\x3b\0\ -\x20\x20\x20\x20\x69\x66\x28\x21\x70\x73\x2d\x3e\x61\x6c\x72\x65\x61\x64\x79\ -\x5f\x6f\x75\x74\x70\x75\x74\x20\x26\x26\x20\x76\x61\x6c\x75\x65\x20\x3e\x3d\ -\x20\x74\x68\x72\x65\x73\x68\x6f\x6c\x64\x20\x26\x26\x20\x6e\x6f\x77\x20\x2d\ -\x20\x70\x73\x2d\x3e\x6c\x61\x73\x74\x5f\x63\x6c\x65\x61\x72\x5f\x74\x69\x6d\ -\x65\x20\x3c\x20\x48\x41\x4c\x46\x5f\x53\x45\x43\x4f\x4e\x44\x29\0\x20\x20\x20\ -\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x75\x70\x64\x61\x74\x65\ -\x5f\x65\x6c\x65\x6d\x28\x26\x70\x72\x6f\x63\x65\x73\x73\x5f\x6f\x63\x63\x75\ -\x70\x69\x65\x64\x5f\x6d\x61\x70\x2c\x26\x74\x67\x69\x64\x2c\x26\x74\x67\x69\ -\x64\x2c\x42\x50\x46\x5f\x41\x4e\x59\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\ -\x73\x74\x72\x75\x63\x74\x20\x70\x72\x6f\x63\x65\x73\x73\x5f\x73\x74\x72\x75\ -\x63\x74\x20\x2a\x62\x75\x66\x66\x20\x3d\x20\x62\x70\x66\x5f\x72\x69\x6e\x67\ -\x62\x75\x66\x5f\x72\x65\x73\x65\x72\x76\x65\x28\x26\x70\x72\x6f\x63\x65\x73\ -\x73\x5f\x6f\x63\x63\x75\x70\x69\x65\x64\x5f\x62\x75\x66\x66\x65\x72\x2c\x73\ -\x69\x7a\x65\x6f\x66\x28\x73\x74\x72\x75\x63\x74\x20\x70\x72\x6f\x63\x65\x73\ -\x73\x5f\x73\x74\x72\x75\x63\x74\x29\x2c\x30\x29\x3b\0\x20\x20\x20\x20\x20\x20\ -\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x70\x72\x69\x6e\x74\x6b\x28\x22\x70\ -\x72\x6f\x63\x65\x73\x73\x5f\x63\x70\x75\x20\x62\x75\x66\x66\x65\x72\x20\x69\ -\x73\x20\x66\x75\x6c\x6c\x5c\x6e\x22\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\ -\x69\x66\x28\x6e\x6f\x77\x20\x2d\x20\x70\x73\x2d\x3e\x6c\x61\x73\x74\x5f\x63\ -\x6c\x65\x61\x72\x5f\x74\x69\x6d\x65\x20\x3e\x20\x48\x41\x4c\x46\x5f\x53\x45\ -\x43\x4f\x4e\x44\x29\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\ -\x28\x70\x73\x2d\x3e\x61\x6c\x72\x65\x61\x64\x79\x5f\x6f\x75\x74\x70\x75\x74\ -\x20\x3d\x3d\x20\x66\x61\x6c\x73\x65\x29\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\ -\x20\x20\x20\x70\x73\x2d\x3e\x6c\x61\x73\x74\x5f\x63\x6c\x65\x61\x72\x5f\x74\ -\x69\x6d\x65\x20\x3d\x20\x6e\x6f\x77\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\ -\x20\x20\x20\x70\x73\x2d\x3e\x74\x6f\x74\x61\x6c\x5f\x75\x73\x65\x5f\x74\x69\ -\x6d\x65\x20\x3d\x20\x30\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x6d\x65\x6d\x73\ -\x65\x74\x28\x62\x75\x66\x66\x2c\x30\x2c\x73\x69\x7a\x65\x6f\x66\x28\x73\x74\ -\x72\x75\x63\x74\x20\x70\x72\x6f\x63\x65\x73\x73\x5f\x73\x74\x72\x75\x63\x74\ -\x29\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x75\x36\x34\x20\x64\x65\x6c\x74\ -\x61\x20\x3d\x20\x28\x6e\x6f\x77\x20\x2d\x20\x70\x73\x2d\x3e\x6c\x61\x73\x74\ -\x5f\x63\x6c\x65\x61\x72\x5f\x74\x69\x6d\x65\x29\x20\x2a\x20\x31\x30\x20\x2f\ -\x20\x48\x41\x4c\x46\x5f\x53\x45\x43\x4f\x4e\x44\x3b\0\x20\x20\x20\x20\x20\x20\ -\x20\x20\x62\x75\x66\x66\x2d\x3e\x74\x67\x69\x64\x20\x3d\x20\x74\x67\x69\x64\ -\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\x75\x66\x66\x2d\x3e\x6b\x69\x64\x73\ -\x5f\x6c\x65\x6e\x67\x74\x68\x20\x3d\x20\x70\x73\x2d\x3e\x6b\x69\x64\x73\x5f\ -\x6c\x65\x6e\x67\x74\x68\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\x75\x66\x66\ -\x2d\x3e\x74\x6f\x74\x61\x6c\x5f\x75\x73\x65\x5f\x70\x65\x72\x63\x65\x6e\x74\ -\x20\x3d\x20\x70\x73\x2d\x3e\x74\x6f\x74\x61\x6c\x5f\x75\x73\x65\x5f\x74\x69\ -\x6d\x65\x20\x2a\x20\x31\x30\x30\x20\x2a\x20\x64\x65\x6c\x74\x61\x20\x2f\x20\ -\x48\x41\x4c\x46\x5f\x53\x45\x43\x4f\x4e\x44\x3b\0\x20\x20\x20\x20\x75\x33\x32\ -\x20\x63\x70\x75\x5f\x69\x64\x20\x3d\x20\x63\x74\x78\x2d\x3e\x63\x70\x75\x5f\ -\x69\x64\x3b\0\x20\x20\x20\x20\x75\x33\x32\x20\x73\x74\x61\x74\x65\x20\x3d\x20\ -\x63\x74\x78\x2d\x3e\x73\x74\x61\x74\x65\x3b\0\x20\x20\x20\x20\x69\x66\x28\x73\ -\x74\x61\x74\x65\x20\x3d\x3d\x20\x28\x75\x33\x32\x29\x28\x2d\x31\x29\x29\x7b\0\ -\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x28\x63\x70\x75\x5f\x75\x73\x61\x67\ -\x65\x2d\x3e\x6c\x61\x73\x74\x5f\x69\x64\x6c\x65\x5f\x74\x69\x6d\x65\x20\x3d\ -\x3d\x20\x30\x29\0\x20\x20\x20\x20\x20\x20\x20\x20\x63\x70\x75\x5f\x75\x73\x61\ -\x67\x65\x2d\x3e\x69\x64\x6c\x65\x5f\x74\x69\x6d\x65\x73\x20\x2b\x3d\x20\x6e\ -\x6f\x77\x20\x2d\x20\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x2d\x3e\x6c\x61\x73\ -\x74\x5f\x69\x64\x6c\x65\x5f\x74\x69\x6d\x65\x3b\0\x20\x20\x20\x20\x20\x20\x20\ -\x20\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x2d\x3e\x6c\x61\x73\x74\x5f\x69\x64\ -\x6c\x65\x5f\x74\x69\x6d\x65\x20\x3d\x20\x6e\x6f\x77\x3b\0\x20\x20\x20\x20\x62\ -\x70\x66\x5f\x6d\x61\x70\x5f\x75\x70\x64\x61\x74\x65\x5f\x65\x6c\x65\x6d\x28\ -\x26\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x5f\x74\x69\x6d\x65\x73\x5f\x6d\x61\ -\x70\x2c\x20\x26\x63\x70\x75\x5f\x69\x64\x2c\x20\x63\x70\x75\x5f\x75\x73\x61\ -\x67\x65\x2c\x20\x42\x50\x46\x5f\x41\x4e\x59\x29\x3b\0\x20\x20\x20\x20\x73\x74\ -\x72\x75\x63\x74\x20\x74\x61\x73\x6b\x5f\x73\x74\x72\x75\x63\x74\x20\x2a\x74\ -\x61\x73\x6b\x20\x3d\x20\x28\x73\x74\x72\x75\x63\x74\x20\x74\x61\x73\x6b\x5f\ -\x73\x74\x72\x75\x63\x74\x20\x2a\x29\x62\x70\x66\x5f\x67\x65\x74\x5f\x63\x75\ -\x72\x72\x65\x6e\x74\x5f\x74\x61\x73\x6b\x28\x29\x3b\0\x20\x20\x20\x20\x75\x33\ -\x32\x20\x70\x69\x64\x20\x3d\x20\x42\x50\x46\x5f\x43\x4f\x52\x45\x5f\x52\x45\ -\x41\x44\x28\x74\x61\x73\x6b\x2c\x20\x70\x69\x64\x29\x3b\0\x20\x20\x20\x20\x75\ -\x33\x32\x20\x74\x67\x69\x64\x20\x3d\x20\x42\x50\x46\x5f\x43\x4f\x52\x45\x5f\ -\x52\x45\x41\x44\x28\x74\x61\x73\x6b\x2c\x74\x67\x69\x64\x29\x3b\0\x20\x20\x20\ -\x20\x73\x74\x72\x75\x63\x74\x20\x74\x61\x73\x6b\x5f\x63\x70\x75\x5f\x75\x73\ -\x61\x67\x65\x20\x2a\x75\x73\x61\x67\x65\x20\x3d\x20\x62\x70\x66\x5f\x6d\x61\ -\x70\x5f\x6c\x6f\x6f\x6b\x75\x70\x5f\x65\x6c\x65\x6d\x28\x26\x74\x61\x73\x6b\ -\x5f\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x5f\x6d\x61\x70\x2c\x20\x26\x70\x69\ -\x64\x29\x3b\0\x20\x20\x20\x20\x69\x66\x28\x21\x75\x73\x61\x67\x65\x29\x7b\0\ -\x20\x20\x20\x20\x20\x20\x20\x20\x75\x33\x32\x20\x63\x70\x75\x5f\x69\x64\x20\ -\x3d\x20\x62\x70\x66\x5f\x67\x65\x74\x5f\x73\x6d\x70\x5f\x70\x72\x6f\x63\x65\ -\x73\x73\x6f\x72\x5f\x69\x64\x28\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\ -\x20\x20\x20\x2e\x74\x61\x73\x6b\x5f\x69\x6e\x66\x6f\x20\x3d\x20\x69\x6e\x66\ -\x6f\x2c\0\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x72\x75\x63\x74\x20\x74\x61\ -\x73\x6b\x5f\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x20\x69\x6e\x69\x74\x5f\x75\ -\x73\x61\x67\x65\x20\x3d\x20\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\x70\x66\ -\x5f\x6d\x61\x70\x5f\x75\x70\x64\x61\x74\x65\x5f\x65\x6c\x65\x6d\x28\x26\x74\ -\x61\x73\x6b\x5f\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x5f\x6d\x61\x70\x2c\x20\ -\x26\x70\x69\x64\x2c\x20\x26\x69\x6e\x69\x74\x5f\x75\x73\x61\x67\x65\x2c\x20\ -\x42\x50\x46\x5f\x41\x4e\x59\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\ -\x28\x75\x73\x61\x67\x65\x2d\x3e\x74\x61\x73\x6b\x5f\x69\x6e\x66\x6f\x2e\x74\ -\x67\x69\x64\x20\x3d\x3d\x20\x30\x29\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ -\x20\x20\x75\x73\x61\x67\x65\x2d\x3e\x74\x61\x73\x6b\x5f\x69\x6e\x66\x6f\x2e\ -\x74\x67\x69\x64\x20\x3d\x20\x74\x67\x69\x64\x3b\0\x20\x20\x20\x20\x20\x20\x20\ -\x20\x20\x20\x20\x20\x69\x6e\x73\x65\x72\x74\x5f\x70\x69\x64\x5f\x74\x6f\x5f\ -\x70\x72\x6f\x63\x65\x73\x73\x28\x74\x67\x69\x64\x2c\x70\x69\x64\x29\x3b\0\x20\ -\x20\x20\x20\x20\x20\x20\x20\x75\x73\x61\x67\x65\x2d\x3e\x69\x6e\x5f\x6b\x65\ -\x72\x6e\x65\x6c\x20\x3d\x20\x74\x72\x75\x65\x3b\0\x20\x20\x20\x20\x20\x20\x20\ -\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x75\x70\x64\x61\x74\x65\x5f\x65\x6c\x65\ -\x6d\x28\x26\x74\x61\x73\x6b\x5f\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x5f\x6d\ -\x61\x70\x2c\x20\x26\x70\x69\x64\x2c\x20\x75\x73\x61\x67\x65\x2c\x20\x42\x50\ -\x46\x5f\x41\x4e\x59\x29\x3b\0\x69\x6e\x74\x20\x42\x50\x46\x5f\x50\x52\x4f\x47\ -\x28\x74\x72\x61\x63\x65\x5f\x73\x79\x73\x5f\x65\x6e\x74\x65\x72\x29\x7b\0\x20\ -\x20\x20\x20\x20\x20\x20\x20\x75\x73\x61\x67\x65\x2d\x3e\x69\x6e\x5f\x6b\x65\ -\x72\x6e\x65\x6c\x20\x3d\x20\x66\x61\x6c\x73\x65\x3b\0\x69\x6e\x74\x20\x42\x50\ -\x46\x5f\x50\x52\x4f\x47\x28\x74\x72\x61\x63\x65\x5f\x73\x79\x73\x5f\x65\x78\ -\x69\x74\x29\x7b\x20\0\x20\x20\x20\x20\x20\x20\x20\x20\x63\x70\x75\x5f\x69\x6e\ -\x69\x74\x28\x63\x70\x75\x5f\x69\x64\x29\x3b\0\x20\x20\x20\x20\x73\x74\x72\x75\ -\x63\x74\x20\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x5f\x74\x69\x6d\x65\x73\x2a\ -\x20\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x20\x3d\x20\x62\x70\x66\x5f\x6d\x61\ -\x70\x5f\x6c\x6f\x6f\x6b\x75\x70\x5f\x65\x6c\x65\x6d\x28\x26\x63\x70\x75\x5f\ -\x75\x73\x61\x67\x65\x5f\x74\x69\x6d\x65\x73\x5f\x6d\x61\x70\x2c\x20\x26\x63\ -\x70\x75\x5f\x69\x64\x29\x3b\0\x20\x20\x20\x20\x69\x66\x28\x21\x63\x70\x75\x5f\ -\x75\x73\x61\x67\x65\x29\0\x20\x20\x20\x20\x73\x74\x72\x75\x63\x74\x20\x63\x70\ -\x75\x5f\x75\x73\x61\x67\x65\x5f\x74\x69\x6d\x65\x73\x20\x69\x6e\x69\x74\x5f\ -\x63\x70\x75\x20\x3d\x20\x7b\x7d\x3b\0\x20\x20\x20\x20\x62\x70\x66\x5f\x6d\x61\ -\x70\x5f\x75\x70\x64\x61\x74\x65\x5f\x65\x6c\x65\x6d\x28\x26\x63\x70\x75\x5f\ -\x75\x73\x61\x67\x65\x5f\x74\x69\x6d\x65\x73\x5f\x6d\x61\x70\x2c\x20\x26\x63\ -\x70\x75\x5f\x69\x64\x2c\x20\x26\x69\x6e\x69\x74\x5f\x63\x70\x75\x2c\x20\x42\ -\x50\x46\x5f\x41\x4e\x59\x29\x3b\0\x20\x20\x20\x20\x73\x74\x72\x75\x63\x74\x20\ -\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x5f\x73\x74\x61\x74\x73\x20\x69\x6e\x69\ -\x74\x5f\x73\x74\x61\x74\x73\x20\x3d\x20\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\ -\x2e\x63\x70\x75\x5f\x69\x64\x20\x3d\x20\x63\x70\x75\x5f\x69\x64\x2c\0\x20\x20\ -\x20\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x75\x70\x64\x61\x74\x65\x5f\x65\x6c\ -\x65\x6d\x28\x26\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x5f\x70\x65\x72\x63\x65\ -\x6e\x74\x5f\x6d\x61\x70\x2c\x20\x26\x63\x70\x75\x5f\x69\x64\x2c\x20\x26\x69\ -\x6e\x69\x74\x5f\x73\x74\x61\x74\x73\x2c\x20\x42\x50\x46\x5f\x41\x4e\x59\x29\ -\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x20\ -\x3d\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x6c\x6f\x6f\x6b\x75\x70\x5f\x65\x6c\ -\x65\x6d\x28\x26\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x5f\x74\x69\x6d\x65\x73\ -\x5f\x6d\x61\x70\x2c\x20\x26\x63\x70\x75\x5f\x69\x64\x29\x3b\0\x20\x20\x20\x20\ -\x20\x20\x20\x20\x69\x66\x28\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x20\x3d\x3d\ -\x20\x4e\x55\x4c\x4c\x29\x20\x72\x65\x74\x75\x72\x6e\x20\x30\x3b\0\x20\x20\x20\ -\x20\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x2d\x3e\x6c\x61\x73\x74\x5f\x73\x6f\ -\x66\x74\x69\x72\x71\x5f\x74\x69\x6d\x65\x20\x3d\x20\x6e\x6f\x77\x3b\0\x69\x6e\ -\x74\x20\x42\x50\x46\x5f\x50\x52\x4f\x47\x28\x74\x72\x61\x63\x65\x5f\x63\x70\ -\x75\x5f\x73\x6f\x66\x74\x69\x72\x71\x5f\x65\x6e\x74\x72\x79\x29\x7b\0\x20\x20\ -\x20\x20\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x2d\x3e\x73\x6f\x66\x74\x69\x72\ -\x71\x5f\x74\x69\x6d\x65\x73\x20\x2b\x3d\x20\x6e\x6f\x77\x20\x2d\x20\x63\x70\ -\x75\x5f\x75\x73\x61\x67\x65\x2d\x3e\x6c\x61\x73\x74\x5f\x73\x6f\x66\x74\x69\ -\x72\x71\x5f\x74\x69\x6d\x65\x3b\0\x69\x6e\x74\x20\x42\x50\x46\x5f\x50\x52\x4f\ -\x47\x28\x74\x72\x61\x63\x65\x5f\x63\x70\x75\x5f\x73\x6f\x66\x74\x69\x72\x71\ -\x5f\x65\x78\x69\x74\x29\x7b\0\x20\x20\x20\x20\x63\x70\x75\x5f\x75\x73\x61\x67\ -\x65\x2d\x3e\x6c\x61\x73\x74\x5f\x69\x72\x71\x5f\x74\x69\x6d\x65\x20\x3d\x20\ -\x6e\x6f\x77\x3b\0\x69\x6e\x74\x20\x42\x50\x46\x5f\x50\x52\x4f\x47\x28\x74\x72\ -\x61\x63\x65\x5f\x63\x70\x75\x5f\x69\x72\x71\x5f\x65\x6e\x74\x72\x79\x29\x7b\0\ -\x20\x20\x20\x20\x63\x70\x75\x5f\x75\x73\x61\x67\x65\x2d\x3e\x69\x72\x71\x5f\ -\x74\x69\x6d\x65\x73\x20\x2b\x3d\x20\x6e\x6f\x77\x20\x2d\x20\x63\x70\x75\x5f\ -\x75\x73\x61\x67\x65\x2d\x3e\x6c\x61\x73\x74\x5f\x69\x72\x71\x5f\x74\x69\x6d\ -\x65\x3b\0\x69\x6e\x74\x20\x42\x50\x46\x5f\x50\x52\x4f\x47\x28\x74\x72\x61\x63\ -\x65\x5f\x63\x70\x75\x5f\x69\x72\x71\x5f\x65\x78\x69\x74\x29\x7b\0\x30\x3a\x37\ -\x38\0\x30\x3a\x37\x39\0\x30\x3a\x31\x31\x32\0\x30\x3a\x34\0\x30\x3a\x33\0\x30\ -\x3a\x32\0\x30\x3a\x36\0\x30\x3a\x31\0\x30\x3a\x35\0\x6c\x69\x63\x65\x6e\x73\ -\x65\0\x2e\x72\x6f\x64\x61\x74\x61\0\x2e\x6d\x61\x70\x73\0\x2e\x62\x73\x73\0\ -\x2e\x74\x65\x78\x74\0\x72\x61\x77\x5f\x74\x70\x2f\x73\x63\x68\x65\x64\x5f\x77\ -\x61\x6b\x65\x75\x70\0\x72\x61\x77\x5f\x74\x70\x2f\x73\x63\x68\x65\x64\x5f\x77\ -\x61\x6b\x65\x75\x70\x5f\x6e\x65\x77\0\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\ -\x2f\x73\x63\x68\x65\x64\x2f\x73\x63\x68\x65\x64\x5f\x70\x72\x6f\x63\x65\x73\ -\x73\x5f\x66\x6f\x72\x6b\0\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x73\x63\ -\x68\x65\x64\x2f\x73\x63\x68\x65\x64\x5f\x70\x72\x6f\x63\x65\x73\x73\x5f\x65\ -\x78\x69\x74\0\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x73\x63\x68\x65\x64\ -\x2f\x73\x63\x68\x65\x64\x5f\x73\x77\x69\x74\x63\x68\0\x74\x72\x61\x63\x65\x70\ -\x6f\x69\x6e\x74\x2f\x70\x6f\x77\x65\x72\x2f\x63\x70\x75\x5f\x69\x64\x6c\x65\0\ -\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x72\x61\x77\x5f\x73\x79\x73\x63\ -\x61\x6c\x6c\x73\x2f\x73\x79\x73\x5f\x65\x6e\x74\x65\x72\0\x74\x72\x61\x63\x65\ -\x70\x6f\x69\x6e\x74\x2f\x72\x61\x77\x5f\x73\x79\x73\x63\x61\x6c\x6c\x73\x2f\ -\x73\x79\x73\x5f\x65\x78\x69\x74\0\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\ -\x69\x72\x71\x2f\x73\x6f\x66\x74\x69\x72\x71\x5f\x65\x6e\x74\x72\x79\0\x74\x72\ -\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x69\x72\x71\x2f\x73\x6f\x66\x74\x69\x72\ -\x71\x5f\x65\x78\x69\x74\0\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x69\x72\ -\x71\x2f\x69\x72\x71\x5f\x68\x61\x6e\x64\x6c\x65\x72\x5f\x65\x6e\x74\x72\x79\0\ -\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x69\x72\x71\x2f\x69\x72\x71\x5f\ -\x68\x61\x6e\x64\x6c\x65\x72\x5f\x65\x78\x69\x74\0\x9f\xeb\x01\0\x20\0\0\0\0\0\ -\0\0\xf4\0\0\0\xf4\0\0\0\xd4\x3c\0\0\xc8\x3d\0\0\xc4\x01\0\0\x08\0\0\0\xa5\x71\ -\0\0\x01\0\0\0\0\0\0\0\xad\x01\0\0\xab\x71\0\0\x01\0\0\0\0\0\0\0\x4e\0\0\0\xbf\ -\x71\0\0\x01\0\0\0\0\0\0\0\x9e\x01\0\0\xd7\x71\0\0\x01\0\0\0\0\0\0\0\xa4\x01\0\ -\0\xfb\x71\0\0\x01\0\0\0\0\0\0\0\xa5\x01\0\0\x1f\x72\0\0\x02\0\0\0\0\0\0\0\xa9\ -\x01\0\0\xb0\x14\0\0\xae\x01\0\0\x3d\x72\0\0\x01\0\0\0\0\0\0\0\xb2\x01\0\0\x57\ -\x72\0\0\x01\0\0\0\0\0\0\0\xb3\x01\0\0\x79\x72\0\0\x01\0\0\0\0\0\0\0\xb4\x01\0\ -\0\x9a\x72\0\0\x01\0\0\0\0\0\0\0\xb5\x01\0\0\xb7\x72\0\0\x01\0\0\0\0\0\0\0\xb6\ -\x01\0\0\xd3\x72\0\0\x01\0\0\0\0\0\0\0\xb7\x01\0\0\xf4\x72\0\0\x01\0\0\0\0\0\0\ -\0\xb8\x01\0\0\xa6\x1d\0\0\x02\0\0\0\0\0\0\0\xbd\x01\0\0\x10\x07\0\0\xbe\x01\0\ -\0\x10\0\0\0\xa5\x71\0\0\x3c\0\0\0\0\0\0\0\x42\x32\0\0\x52\x64\0\0\0\x08\x08\0\ -\x28\0\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\x30\0\0\0\x42\x32\0\0\x6b\x35\0\0\x21\ -\x14\x08\0\x50\0\0\0\x42\x32\0\0\xb4\x35\0\0\x08\x18\x08\0\x58\0\0\0\x42\x32\0\ -\0\xa8\x64\0\0\x16\x1c\x08\0\x70\0\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\x78\0\0\0\ -\x42\x32\0\0\xf5\x35\0\0\x0d\x24\x04\0\x88\0\0\0\x42\x32\0\0\xa8\x64\0\0\x16\ -\x1c\x08\0\xa0\0\0\0\x42\x32\0\0\x09\x36\0\0\x05\x48\x04\0\xc8\0\0\0\x42\x32\0\ -\0\xa8\x64\0\0\x16\x1c\x08\0\xd0\0\0\0\x42\x32\0\0\xc9\x64\0\0\x0e\x20\x08\0\ -\xf0\0\0\0\x42\x32\0\0\xff\x64\0\0\x0c\x24\x08\0\xf8\0\0\0\x42\x32\0\0\x0f\x65\ -\0\0\x10\x34\x08\0\0\x01\0\0\x42\x32\0\0\x0f\x65\0\0\x0e\x34\x08\0\x08\x01\0\0\ -\x42\x32\0\0\x24\x65\0\0\x16\x38\x08\0\x10\x01\0\0\x42\x32\0\0\x24\x65\0\0\x1d\ -\x38\x08\0\x18\x01\0\0\x42\x32\0\0\x24\x65\0\0\x08\x38\x08\0\x28\x01\0\0\x42\ -\x32\0\0\x63\x65\0\0\x1c\x40\x08\0\x30\x01\0\0\x42\x32\0\0\x83\x65\0\0\x20\x44\ -\x08\0\x38\x01\0\0\x42\x32\0\0\x83\x65\0\0\x1e\x44\x08\0\x40\x01\0\0\x42\x32\0\ -\0\xb6\x65\0\0\x18\x4c\x08\0\x68\x01\0\0\x42\x32\0\0\xd7\x65\0\0\x05\x54\x08\0\ -\x90\x01\0\0\x42\x32\0\0\x0f\x66\0\0\x15\x64\x07\0\x98\x01\0\0\x42\x32\0\0\xcc\ -\x37\0\0\x0f\x68\x07\0\xa8\x01\0\0\x42\x32\0\0\x47\x66\0\0\x14\x6c\x07\0\xb0\ -\x01\0\0\x42\x32\0\0\x47\x66\0\0\x09\x6c\x07\0\xb8\x01\0\0\x42\x32\0\0\x60\x66\ -\0\0\x0c\x70\x07\0\xc0\x01\0\0\x42\x32\0\0\x60\x66\0\0\x08\x70\x07\0\xc8\x01\0\ -\0\x42\x32\0\0\x82\x66\0\0\x1d\x74\x07\0\xe8\x01\0\0\x42\x32\0\0\xa5\x66\0\0\ -\x0d\x84\x07\0\xf0\x01\0\0\x42\x32\0\0\xa5\x66\0\0\x1c\x84\x07\0\x38\x02\0\0\ -\x42\x32\0\0\0\0\0\0\0\0\0\0\x48\x02\0\0\x42\x32\0\0\x02\x67\0\0\x09\x8c\x07\0\ -\x70\x02\0\0\x42\x32\0\0\x4a\x67\0\0\x27\x94\x07\0\x98\x02\0\0\x42\x32\0\0\xce\ -\x4f\0\0\x0c\x98\x07\0\xa0\x02\0\0\x42\x32\0\0\xbf\x67\0\0\x0d\x9c\x07\0\xd0\ -\x02\0\0\x42\x32\0\0\xf7\x67\0\0\x0c\xd4\x07\0\xd8\x02\0\0\x42\x32\0\0\x2b\x68\ -\0\0\x10\xdc\x07\0\xe8\x02\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\xf0\x02\0\0\x42\x32\ -\0\0\x36\x48\0\0\x11\xe0\x07\0\x08\x03\0\0\x42\x32\0\0\x57\x68\0\0\x21\xe4\x07\ -\0\x18\x03\0\0\x42\x32\0\0\x7e\x68\0\0\x20\xe8\x07\0\x28\x03\0\0\x42\x32\0\0\ -\xa2\x68\0\0\x09\xa8\x07\0\x68\x03\0\0\x42\x32\0\0\xd8\x68\0\0\x20\xac\x07\0\ -\x70\x03\0\0\x42\x32\0\0\x1c\x69\0\0\x16\xb0\x07\0\x78\x03\0\0\x42\x32\0\0\x1c\ -\x69\0\0\x14\xb0\x07\0\x80\x03\0\0\x42\x32\0\0\x37\x69\0\0\x21\xb4\x07\0\x88\ -\x03\0\0\x42\x32\0\0\x37\x69\0\0\x1b\xb4\x07\0\x90\x03\0\0\x42\x32\0\0\xd8\x68\ -\0\0\x1a\xac\x07\0\x98\x03\0\0\x42\x32\0\0\xd8\x68\0\0\x31\xac\x07\0\xa0\x03\0\ -\0\x42\x32\0\0\xd8\x68\0\0\x36\xac\x07\0\xa8\x03\0\0\x42\x32\0\0\x64\x69\0\0\ -\x27\xb8\x07\0\xb0\x03\0\0\x42\x32\0\0\x64\x69\0\0\x36\xb8\x07\0\xb8\x03\0\0\ -\x42\x32\0\0\x64\x69\0\0\x3c\xb8\x07\0\xc0\x03\0\0\x42\x32\0\0\x64\x69\0\0\x44\ -\xb8\x07\0\xc8\x03\0\0\x42\x32\0\0\x64\x69\0\0\x21\xb8\x07\0\xd0\x03\0\0\x42\ -\x32\0\0\x02\x53\0\0\x09\xbc\x07\0\xf0\x03\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\0\ -\x04\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\x30\x04\0\0\x42\x32\0\0\x1e\x38\0\0\x01\ -\x64\x08\0\xab\x71\0\0\x34\0\0\0\0\0\0\0\x42\x32\0\0\x82\x32\0\0\0\x94\x04\0\ -\x08\0\0\0\x42\x32\0\0\x82\x32\0\0\x05\x94\x04\0\x28\0\0\0\x42\x32\0\0\0\0\0\0\ -\0\0\0\0\x30\0\0\0\x42\x32\0\0\xbb\x32\0\0\x0f\x9c\x04\0\x40\0\0\0\x42\x32\0\0\ -\xbb\x32\0\0\x0f\x9c\x04\0\x48\0\0\0\x42\x32\0\0\xbb\x32\0\0\x09\x9c\x04\0\x50\ -\0\0\0\x42\x32\0\0\xdf\x32\0\0\x08\xa0\x04\0\x78\0\0\0\x42\x32\0\0\0\0\0\0\0\0\ -\0\0\x80\0\0\0\x42\x32\0\0\xf0\x32\0\0\x10\xa8\x04\0\x98\0\0\0\x42\x32\0\0\xf0\ -\x32\0\0\x10\xa8\x04\0\xa0\0\0\0\x42\x32\0\0\x16\x33\0\0\x12\xac\x04\0\xc0\0\0\ -\0\x42\x32\0\0\0\0\0\0\0\0\0\0\xc8\0\0\0\x42\x32\0\0\x43\x33\0\0\x27\xb0\x04\0\ -\xe8\0\0\0\x42\x32\0\0\x98\x33\0\0\x08\xb4\x04\0\x10\x01\0\0\x42\x32\0\0\0\0\0\ -\0\0\0\0\0\x18\x01\0\0\x42\x32\0\0\xab\x33\0\0\x10\xf8\x01\0\x30\x01\0\0\x42\ -\x32\0\0\0\0\0\0\0\0\0\0\x38\x01\0\0\x42\x32\0\0\xd1\x33\0\0\x11\xfc\x01\0\x50\ -\x01\0\0\x42\x32\0\0\xf8\x33\0\0\x24\xf0\x01\0\x58\x01\0\0\x42\x32\0\0\xd1\x33\ -\0\0\x11\xfc\x01\0\x60\x01\0\0\x42\x32\0\0\xf8\x33\0\0\x24\xf0\x01\0\x80\x01\0\ -\0\x42\x32\0\0\x1d\x34\0\0\x11\xf4\x01\0\xa8\x01\0\0\x42\x32\0\0\0\0\0\0\0\0\0\ -\0\xb0\x01\0\0\x42\x32\0\0\x31\x34\0\0\x3d\x08\x02\0\xd0\x01\0\0\x42\x32\0\0\ -\x1d\x34\0\0\x11\xf4\x01\0\xe0\x01\0\0\x42\x32\0\0\x31\x34\0\0\x05\x08\x02\0\ -\xf8\x01\0\0\x42\x32\0\0\x86\x34\0\0\x1f\xc4\x04\0\xe0\x02\0\0\x42\x32\0\0\xaa\ -\x34\0\0\x26\xc8\x04\0\xe8\x02\0\0\x42\x32\0\0\xaa\x34\0\0\x24\xc8\x04\0\xf8\ -\x02\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\x10\x03\0\0\x42\x32\0\0\xe3\x34\0\0\x09\ -\xcc\x04\0\x30\x03\0\0\x42\x32\0\0\x30\x35\0\0\x24\xd0\x04\0\x48\x03\0\0\x42\ -\x32\0\0\x59\x35\0\0\x08\x60\x04\0\x58\x03\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\x60\ -\x03\0\0\x42\x32\0\0\x6b\x35\0\0\x21\x68\x04\0\x78\x03\0\0\x42\x32\0\0\xb4\x35\ -\0\0\x08\x6c\x04\0\x80\x03\0\0\x42\x32\0\0\xc1\x35\0\0\x0d\x30\x04\0\x90\x03\0\ -\0\x42\x32\0\0\xd5\x35\0\0\x16\x70\x04\0\x98\x03\0\0\x42\x32\0\0\xc1\x35\0\0\ -\x08\x30\x04\0\xb0\x03\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\xb8\x03\0\0\x42\x32\0\0\ -\xf5\x35\0\0\x0d\x24\x04\0\xc8\x03\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\xe0\x03\0\0\ -\x42\x32\0\0\x09\x36\0\0\x05\x48\x04\0\xf8\x03\0\0\x42\x32\0\0\x42\x36\0\0\x26\ -\xdc\x04\0\0\x04\0\0\x42\x32\0\0\x42\x36\0\0\x24\xdc\x04\0\x10\x04\0\0\x42\x32\ -\0\0\0\0\0\0\0\0\0\0\x18\x04\0\0\x42\x32\0\0\x7b\x36\0\0\x09\xe0\x04\0\x30\x04\ -\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\x40\x04\0\0\x42\x32\0\0\x82\x32\0\0\x05\x94\ -\x04\0\x50\x04\0\0\x42\x32\0\0\xc3\x36\0\0\x19\x7c\x04\0\x70\x04\0\0\x42\x32\0\ -\0\0\0\0\0\0\0\0\0\x78\x04\0\0\x42\x32\0\0\xe1\x36\0\0\x09\x80\x04\0\xbf\x71\0\ -\0\x34\0\0\0\0\0\0\0\x42\x32\0\0\x58\x43\0\0\0\xfc\x04\0\x08\0\0\0\x42\x32\0\0\ -\x58\x43\0\0\x05\xfc\x04\0\x28\0\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\x30\0\0\0\x42\ -\x32\0\0\xbb\x32\0\0\x0f\0\x05\0\x40\0\0\0\x42\x32\0\0\xbb\x32\0\0\x0f\0\x05\0\ -\x48\0\0\0\x42\x32\0\0\xbb\x32\0\0\x09\0\x05\0\x50\0\0\0\x42\x32\0\0\xdf\x32\0\ -\0\x08\x04\x05\0\x78\0\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\x80\0\0\0\x42\x32\0\0\ -\xf0\x32\0\0\x10\x0c\x05\0\x98\0\0\0\x42\x32\0\0\xf0\x32\0\0\x10\x0c\x05\0\xa0\ -\0\0\0\x42\x32\0\0\x16\x33\0\0\x12\x10\x05\0\xc0\0\0\0\x42\x32\0\0\0\0\0\0\0\0\ -\0\0\xc8\0\0\0\x42\x32\0\0\x43\x33\0\0\x27\x14\x05\0\xe8\0\0\0\x42\x32\0\0\x98\ -\x33\0\0\x08\x18\x05\0\x10\x01\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\x18\x01\0\0\x42\ -\x32\0\0\xab\x33\0\0\x10\xf8\x01\0\x30\x01\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\x38\ -\x01\0\0\x42\x32\0\0\xd1\x33\0\0\x11\xfc\x01\0\x50\x01\0\0\x42\x32\0\0\xf8\x33\ -\0\0\x24\xf0\x01\0\x58\x01\0\0\x42\x32\0\0\xd1\x33\0\0\x11\xfc\x01\0\x60\x01\0\ -\0\x42\x32\0\0\xf8\x33\0\0\x24\xf0\x01\0\x80\x01\0\0\x42\x32\0\0\x1d\x34\0\0\ -\x11\xf4\x01\0\xa8\x01\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\xb0\x01\0\0\x42\x32\0\0\ -\x31\x34\0\0\x3d\x08\x02\0\xd0\x01\0\0\x42\x32\0\0\x1d\x34\0\0\x11\xf4\x01\0\ -\xe0\x01\0\0\x42\x32\0\0\x31\x34\0\0\x05\x08\x02\0\xf8\x01\0\0\x42\x32\0\0\x86\ -\x34\0\0\x1f\x28\x05\0\xe0\x02\0\0\x42\x32\0\0\xaa\x34\0\0\x26\x2c\x05\0\xe8\ -\x02\0\0\x42\x32\0\0\xaa\x34\0\0\x24\x2c\x05\0\xf8\x02\0\0\x42\x32\0\0\0\0\0\0\ -\0\0\0\0\x10\x03\0\0\x42\x32\0\0\xe3\x34\0\0\x09\x30\x05\0\x30\x03\0\0\x42\x32\ -\0\0\x30\x35\0\0\x24\x38\x05\0\x48\x03\0\0\x42\x32\0\0\x59\x35\0\0\x08\x60\x04\ -\0\x58\x03\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\x60\x03\0\0\x42\x32\0\0\x6b\x35\0\0\ -\x21\x68\x04\0\x78\x03\0\0\x42\x32\0\0\xb4\x35\0\0\x08\x6c\x04\0\x80\x03\0\0\ -\x42\x32\0\0\xc1\x35\0\0\x0d\x30\x04\0\x90\x03\0\0\x42\x32\0\0\xd5\x35\0\0\x16\ -\x70\x04\0\x98\x03\0\0\x42\x32\0\0\xc1\x35\0\0\x08\x30\x04\0\xb0\x03\0\0\x42\ -\x32\0\0\0\0\0\0\0\0\0\0\xb8\x03\0\0\x42\x32\0\0\xf5\x35\0\0\x0d\x24\x04\0\xc8\ -\x03\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\xe0\x03\0\0\x42\x32\0\0\x09\x36\0\0\x05\ -\x48\x04\0\xf8\x03\0\0\x42\x32\0\0\x42\x36\0\0\x26\x44\x05\0\0\x04\0\0\x42\x32\ -\0\0\x42\x36\0\0\x24\x44\x05\0\x10\x04\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\x18\x04\ -\0\0\x42\x32\0\0\x7b\x36\0\0\x09\x48\x05\0\x30\x04\0\0\x42\x32\0\0\0\0\0\0\0\0\ -\0\0\x40\x04\0\0\x42\x32\0\0\x58\x43\0\0\x05\xfc\x04\0\x50\x04\0\0\x42\x32\0\0\ -\xc3\x36\0\0\x19\x7c\x04\0\x70\x04\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\x78\x04\0\0\ -\x42\x32\0\0\xe1\x36\0\0\x09\x80\x04\0\xd7\x71\0\0\x10\0\0\0\0\0\0\0\x42\x32\0\ -\0\x96\x43\0\0\0\x64\x05\0\x08\0\0\0\x42\x32\0\0\xde\x43\0\0\x18\x68\x05\0\x10\ -\0\0\0\x42\x32\0\0\xde\x43\0\0\x09\x68\x05\0\x18\0\0\0\x42\x32\0\0\x16\x33\0\0\ -\x12\x6c\x05\0\x30\0\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\x38\0\0\0\x42\x32\0\0\0\ -\x44\0\0\x21\x70\x05\0\x50\0\0\0\x42\x32\0\0\x53\x44\0\0\x08\x74\x05\0\x60\0\0\ -\0\x42\x32\0\0\x60\x44\0\0\x09\x7c\x05\0\xb8\0\0\0\x42\x32\0\0\x9c\x44\0\0\x28\ -\x80\x05\0\xc0\0\0\0\x42\x32\0\0\xc5\x44\0\0\x18\x84\x05\0\xc8\0\0\0\x42\x32\0\ -\0\x9c\x44\0\0\x28\x80\x05\0\x18\x01\0\0\x42\x32\0\0\xe5\x44\0\0\x09\x90\x05\0\ -\x30\x01\0\0\x42\x32\0\0\x86\x34\0\0\x1f\x94\x05\0\x78\x01\0\0\x42\x32\0\0\x60\ -\x44\0\0\x09\x7c\x05\0\x90\x01\0\0\x42\x32\0\0\x3b\x45\0\0\x09\x98\x05\0\xb0\ -\x01\0\0\x42\x32\0\0\x4a\x43\0\0\x05\xa0\x05\0\xfb\x71\0\0\x1e\0\0\0\0\0\0\0\ -\x42\x32\0\0\x89\x45\0\0\x14\xb4\x05\0\x08\0\0\0\x42\x32\0\0\xb8\x45\0\0\x09\ -\xb8\x05\0\x10\0\0\0\x42\x32\0\0\xdf\x45\0\0\x19\xbc\x05\0\x20\0\0\0\x42\x32\0\ -\0\xdf\x45\0\0\x09\xbc\x05\0\x28\0\0\0\x42\x32\0\0\xb8\x45\0\0\x0f\xb8\x05\0\ -\x38\0\0\0\x42\x32\0\0\0\x46\0\0\x11\xc0\x05\0\x50\0\0\0\x42\x32\0\0\0\0\0\0\0\ -\0\0\0\x58\0\0\0\x42\x32\0\0\x1e\x46\0\0\x05\xcc\x05\0\x78\0\0\0\x42\x32\0\0\0\ -\0\0\0\0\0\0\0\x80\0\0\0\x42\x32\0\0\x6b\x35\0\0\x21\xd0\x05\0\xa0\0\0\0\x42\ -\x32\0\0\x51\x46\0\0\x08\xd4\x05\0\xa8\0\0\0\x42\x32\0\0\x65\x46\0\0\x10\xd8\ -\x05\0\xb0\0\0\0\x42\x32\0\0\x65\x46\0\0\x0c\xd8\x05\0\xb8\0\0\0\x42\x32\0\0\ -\x85\x46\0\0\x1d\xdc\x05\0\xd0\0\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\xd8\0\0\0\x42\ -\x32\0\0\xa7\x46\0\0\x13\xe4\x05\0\xf0\0\0\0\x42\x32\0\0\xe9\x46\0\0\x0c\xe8\ -\x05\0\0\x01\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\x08\x01\0\0\x42\x32\0\0\x01\x47\0\ -\0\x0d\xec\x05\0\x28\x01\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\x30\x01\0\0\x42\x32\0\ -\0\x3d\x47\0\0\x09\xfc\x05\0\x48\x01\0\0\x42\x32\0\0\x75\x47\0\0\x1c\x04\x06\0\ -\x50\x01\0\0\x42\x32\0\0\x75\x47\0\0\x0c\x04\x06\0\x60\x01\0\0\x42\x32\0\0\0\0\ -\0\0\0\0\0\0\x68\x01\0\0\x42\x32\0\0\xa2\x47\0\0\x0d\x0c\x06\0\x88\x01\0\0\x42\ -\x32\0\0\xd7\x47\0\0\x12\x50\x06\0\xa8\x01\0\0\x42\x32\0\0\x1a\x48\0\0\x10\x54\ -\x06\0\xb8\x01\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\xc0\x01\0\0\x42\x32\0\0\x36\x48\ -\0\0\x11\x58\x06\0\xd8\x01\0\0\x42\x32\0\0\x78\x48\0\0\x05\xb0\x05\0\x1f\x72\0\ -\0\x67\x01\0\0\0\0\0\0\x42\x32\0\0\x98\x48\0\0\0\x70\x08\0\x08\0\0\0\x42\x32\0\ -\0\xd9\x48\0\0\x19\x7c\x08\0\x10\0\0\0\x42\x32\0\0\xd9\x48\0\0\x09\x7c\x08\0\ -\x18\0\0\0\x42\x32\0\0\xfb\x48\0\0\x19\x80\x08\0\x20\0\0\0\x42\x32\0\0\xfb\x48\ -\0\0\x09\x80\x08\0\x28\0\0\0\x42\x32\0\0\x16\x33\0\0\x12\x84\x08\0\x30\0\0\0\ -\x42\x32\0\0\x16\x33\0\0\x09\x84\x08\0\x38\0\0\0\x42\x32\0\0\xcc\x37\0\0\x0f\ -\x88\x08\0\x50\0\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\x58\0\0\0\x42\x32\0\0\x1d\x49\ -\0\0\x11\x94\x08\0\x70\0\0\0\x42\x32\0\0\x61\x49\0\0\x09\x98\x08\0\x80\0\0\0\ -\x42\x32\0\0\x7e\x49\0\0\x20\x9c\x08\0\xf0\0\0\0\x42\x32\0\0\xac\x49\0\0\x09\ -\xa0\x08\0\x20\x01\0\0\x42\x32\0\0\xfc\x49\0\0\x2d\xa8\x08\0\x28\x01\0\0\x42\ -\x32\0\0\xfc\x49\0\0\x20\xa8\x08\0\x30\x01\0\0\x42\x32\0\0\x2a\x4a\0\0\x17\xac\ -\x08\0\x38\x01\0\0\x42\x32\0\0\xfc\x49\0\0\x2d\xa8\x08\0\x40\x01\0\0\x42\x32\0\ -\0\xfc\x49\0\0\x20\xa8\x08\0\x68\x01\0\0\x42\x32\0\0\x7e\x49\0\0\x20\x9c\x08\0\ -\x70\x01\0\0\x42\x32\0\0\x48\x4a\0\0\x09\xb8\x08\0\xa0\x01\0\0\x42\x32\0\0\0\0\ -\0\0\0\0\0\0\xa8\x01\0\0\x42\x32\0\0\x1d\x49\0\0\x11\xc0\x08\0\xd8\x01\0\0\x42\ -\x32\0\0\x9c\x4a\0\0\x09\xc4\x08\0\xe0\x01\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\xe8\ -\x01\0\0\x42\x32\0\0\xc2\x4a\0\0\x08\xe0\x08\0\xf0\x01\0\0\x42\x32\0\0\xc2\x4a\ -\0\0\x08\xe0\x08\0\0\x02\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\x08\x02\0\0\x42\x32\0\ -\0\xd9\x4a\0\0\x2c\xe4\x08\0\x20\x02\0\0\x42\x32\0\0\x39\x4b\0\0\x0d\xe8\x08\0\ -\x30\x02\0\0\x42\x32\0\0\x53\x4b\0\0\x0d\xf0\x08\0\x88\x02\0\0\x42\x32\0\0\x93\ -\x4b\0\0\x18\xf8\x08\0\x90\x02\0\0\x42\x32\0\0\xb4\x4b\0\0\x2c\xf4\x08\0\x98\ -\x02\0\0\x42\x32\0\0\xe1\x4b\0\0\x1b\xfc\x08\0\xa0\x02\0\0\x42\x32\0\0\xb4\x4b\ -\0\0\x2c\xf4\x08\0\xf8\x02\0\0\x42\x32\0\0\x02\x4c\0\0\x0d\x04\x09\0\x10\x03\0\ -\0\x42\x32\0\0\x5a\x4c\0\0\x27\x0c\x09\0\x18\x03\0\0\x42\x32\0\0\x87\x4c\0\0\ -\x25\x10\x09\0\x20\x03\0\0\x42\x32\0\0\xb2\x4c\0\0\x23\x08\x09\0\x68\x03\0\0\ -\x42\x32\0\0\x53\x4b\0\0\x0d\xf0\x08\0\x80\x03\0\0\x42\x32\0\0\xda\x4c\0\0\x0d\ -\x14\x09\0\xa8\x03\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\xb0\x03\0\0\x42\x32\0\0\x30\ -\x4d\0\0\x28\x1c\x09\0\xb8\x03\0\0\x42\x32\0\0\x30\x4d\0\0\x26\x1c\x09\0\xc0\ -\x03\0\0\x42\x32\0\0\x61\x4d\0\0\x1c\x20\x09\0\xc8\x03\0\0\x42\x32\0\0\x61\x4d\ -\0\0\x11\x20\x09\0\xd0\x03\0\0\x42\x32\0\0\x92\x4d\0\0\x20\x28\x09\0\xf0\x03\0\ -\0\x42\x32\0\0\xbe\x4d\0\0\x21\x24\x09\0\0\x04\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\ -\x48\x04\0\0\x42\x32\0\0\xfa\x4d\0\0\x2a\x44\x09\0\x60\x04\0\0\x42\x32\0\0\x2d\ -\x4e\0\0\x09\x90\x06\0\x68\x04\0\0\x42\x32\0\0\xcc\x37\0\0\x0f\x94\x06\0\x70\ -\x04\0\0\x42\x32\0\0\x56\x4e\0\0\x14\x98\x06\0\x78\x04\0\0\x42\x32\0\0\x56\x4e\ -\0\0\x08\x98\x06\0\x80\x04\0\0\x42\x32\0\0\x7f\x4e\0\0\x25\xa0\x06\0\xa0\x04\0\ -\0\x42\x32\0\0\xaa\x4e\0\0\x15\xb0\x06\0\xa8\x04\0\0\x42\x32\0\0\xaa\x4e\0\0\ -\x24\xb0\x06\0\xf8\x04\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\x08\x05\0\0\x42\x32\0\0\ -\x17\x4f\0\0\x09\xb8\x06\0\x30\x05\0\0\x42\x32\0\0\x5c\x4f\0\0\x27\xc0\x06\0\ -\x58\x05\0\0\x42\x32\0\0\xce\x4f\0\0\x0c\xc4\x06\0\x60\x05\0\0\x42\x32\0\0\xe1\ -\x4f\0\0\x0d\xc8\x06\0\x90\x05\0\0\x42\x32\0\0\x1a\x50\0\0\x0c\x20\x07\0\x98\ -\x05\0\0\x42\x32\0\0\x56\x50\0\0\x10\x28\x07\0\xa8\x05\0\0\x42\x32\0\0\0\0\0\0\ -\0\0\0\0\xb0\x05\0\0\x42\x32\0\0\x8a\x50\0\0\x11\x2c\x07\0\xd8\x05\0\0\x42\x32\ -\0\0\xca\x50\0\0\x29\x30\x07\0\xe8\x05\0\0\x42\x32\0\0\xf9\x50\0\0\x26\x38\x07\ -\0\xf0\x05\0\0\x42\x32\0\0\x23\x51\0\0\x28\x40\x07\0\xf8\x05\0\0\x42\x32\0\0\ -\xf9\x50\0\0\x26\x38\x07\0\x10\x06\0\0\x42\x32\0\0\x53\x51\0\0\x09\xd4\x06\0\ -\x80\x06\0\0\x42\x32\0\0\x89\x51\0\0\x27\xd8\x06\0\xc0\x06\0\0\x42\x32\0\0\xba\ -\x51\0\0\x28\xdc\x06\0\xd0\x06\0\0\x42\x32\0\0\xba\x51\0\0\x1a\xdc\x06\0\xe0\ -\x06\0\0\x42\x32\0\0\xba\x51\0\0\x38\xdc\x06\0\xe8\x06\0\0\x42\x32\0\0\xba\x51\ -\0\0\x3c\xdc\x06\0\xf0\x06\0\0\x42\x32\0\0\x04\x52\0\0\x2b\xe0\x06\0\xf8\x06\0\ -\0\x42\x32\0\0\x04\x52\0\0\x39\xe0\x06\0\x08\x07\0\0\x42\x32\0\0\x04\x52\0\0\ -\x3f\xe0\x06\0\x10\x07\0\0\x42\x32\0\0\x04\x52\0\0\x46\xe0\x06\0\x18\x07\0\0\ -\x42\x32\0\0\x04\x52\0\0\x1d\xe0\x06\0\x20\x07\0\0\x42\x32\0\0\x58\x52\0\0\x2c\ -\xe4\x06\0\x28\x07\0\0\x42\x32\0\0\x58\x52\0\0\x3b\xe4\x06\0\x30\x07\0\0\x42\ -\x32\0\0\x58\x52\0\0\x1e\xe4\x06\0\x38\x07\0\0\x42\x32\0\0\xaf\x52\0\0\x2a\xe8\ -\x06\0\x40\x07\0\0\x42\x32\0\0\xaf\x52\0\0\x37\xe8\x06\0\x48\x07\0\0\x42\x32\0\ -\0\xaf\x52\0\0\x1c\xe8\x06\0\x50\x07\0\0\x42\x32\0\0\x02\x53\0\0\x09\xec\x06\0\ -\x70\x07\0\0\x42\x32\0\0\x26\x53\0\0\x24\xf4\x06\0\x78\x07\0\0\x42\x32\0\0\x51\ -\x53\0\0\x18\0\x07\0\x80\x07\0\0\x42\x32\0\0\x51\x53\0\0\x2d\0\x07\0\xa8\x07\0\ -\0\x42\x32\0\0\xc7\x53\0\0\x21\x08\x07\0\xb8\x07\0\0\x42\x32\0\0\xcc\x37\0\0\ -\x0f\x20\x02\0\xc0\x07\0\0\x42\x32\0\0\xdf\x32\0\0\x08\x28\x02\0\xd0\x07\0\0\ -\x42\x32\0\0\0\0\0\0\0\0\0\0\xd8\x07\0\0\x42\x32\0\0\xed\x53\0\0\x0c\x30\x02\0\ -\xf0\x07\0\0\x42\x32\0\0\x28\x54\0\0\x08\x34\x02\0\x08\x08\0\0\x42\x32\0\0\x36\ -\x54\0\0\x25\x40\x02\0\x30\x08\0\0\x42\x32\0\0\xa9\x54\0\0\x08\x44\x02\0\x38\ -\x08\0\0\x42\x32\0\0\xb8\x54\0\0\x09\x48\x02\0\x60\x08\0\0\x42\x32\0\0\xf0\x54\ -\0\0\x05\x54\x02\0\xc0\x09\0\0\x42\x32\0\0\x24\x55\0\0\x11\x58\x02\0\xc8\x09\0\ -\0\x42\x32\0\0\x24\x55\0\0\x0f\x58\x02\0\xd0\x09\0\0\x42\x32\0\0\x39\x55\0\0\ -\x1e\x5c\x02\0\xe8\x09\0\0\x42\x32\0\0\x39\x55\0\0\x3c\x5c\x02\0\xf0\x09\0\0\ -\x42\x32\0\0\x39\x55\0\0\x05\x5c\x02\0\x18\x0a\0\0\x42\x32\0\0\x7b\x55\0\0\x1d\ -\x60\x02\0\x20\x0a\0\0\x42\x32\0\0\x7b\x55\0\0\x15\x60\x02\0\x28\x0a\0\0\x42\ -\x32\0\0\xa2\x55\0\0\x1d\x64\x02\0\x30\x0a\0\0\x42\x32\0\0\xa2\x55\0\0\x15\x64\ -\x02\0\x60\x0a\0\0\x42\x32\0\0\xc9\x55\0\0\x10\x6c\x02\0\x68\x0a\0\0\x42\x32\0\ -\0\xed\x55\0\0\x20\x74\x02\0\x70\x0a\0\0\x42\x32\0\0\xed\x55\0\0\x1e\x74\x02\0\ -\x78\x0a\0\0\x42\x32\0\0\xc9\x55\0\0\x12\x6c\x02\0\x80\x0a\0\0\x42\x32\0\0\xc9\ -\x55\0\0\x10\x6c\x02\0\x88\x0a\0\0\x42\x32\0\0\xed\x55\0\0\x20\x74\x02\0\x90\ -\x0a\0\0\x42\x32\0\0\xed\x55\0\0\x1e\x74\x02\0\x98\x0a\0\0\x42\x32\0\0\xc9\x55\ -\0\0\x12\x6c\x02\0\xa0\x0a\0\0\x42\x32\0\0\xc9\x55\0\0\x10\x6c\x02\0\xa8\x0a\0\ -\0\x42\x32\0\0\xed\x55\0\0\x20\x74\x02\0\xb0\x0a\0\0\x42\x32\0\0\xed\x55\0\0\ -\x1e\x74\x02\0\xb8\x0a\0\0\x42\x32\0\0\xc9\x55\0\0\x10\x6c\x02\0\xc0\x0a\0\0\ -\x42\x32\0\0\xed\x55\0\0\x20\x74\x02\0\xc8\x0a\0\0\x42\x32\0\0\xed\x55\0\0\x1e\ -\x74\x02\0\xd0\x0a\0\0\x42\x32\0\0\xc9\x55\0\0\x12\x6c\x02\0\xe0\x0a\0\0\x42\ -\x32\0\0\xc9\x55\0\0\x10\x6c\x02\0\xe8\x0a\0\0\x42\x32\0\0\xed\x55\0\0\x20\x74\ -\x02\0\xf0\x0a\0\0\x42\x32\0\0\xed\x55\0\0\x1e\x74\x02\0\xf8\x0a\0\0\x42\x32\0\ -\0\xc9\x55\0\0\x10\x6c\x02\0\0\x0b\0\0\x42\x32\0\0\xed\x55\0\0\x20\x74\x02\0\ -\x08\x0b\0\0\x42\x32\0\0\xed\x55\0\0\x1e\x74\x02\0\x10\x0b\0\0\x42\x32\0\0\xc9\ -\x55\0\0\x12\x6c\x02\0\x20\x0b\0\0\x42\x32\0\0\xc9\x55\0\0\x10\x6c\x02\0\x28\ -\x0b\0\0\x42\x32\0\0\xed\x55\0\0\x20\x74\x02\0\x30\x0b\0\0\x42\x32\0\0\xed\x55\ -\0\0\x1e\x74\x02\0\x38\x0b\0\0\x42\x32\0\0\xc9\x55\0\0\x10\x6c\x02\0\x40\x0b\0\ -\0\x42\x32\0\0\xed\x55\0\0\x20\x74\x02\0\x48\x0b\0\0\x42\x32\0\0\xed\x55\0\0\ -\x1e\x74\x02\0\x50\x0b\0\0\x42\x32\0\0\xc9\x55\0\0\x12\x6c\x02\0\x60\x0b\0\0\ -\x42\x32\0\0\xc9\x55\0\0\x10\x6c\x02\0\x68\x0b\0\0\x42\x32\0\0\xed\x55\0\0\x20\ -\x74\x02\0\x70\x0b\0\0\x42\x32\0\0\xed\x55\0\0\x1e\x74\x02\0\x78\x0b\0\0\x42\ -\x32\0\0\xc9\x55\0\0\x10\x6c\x02\0\x80\x0b\0\0\x42\x32\0\0\xed\x55\0\0\x20\x74\ -\x02\0\x88\x0b\0\0\x42\x32\0\0\xed\x55\0\0\x1e\x74\x02\0\x90\x0b\0\0\x42\x32\0\ -\0\xc9\x55\0\0\x12\x6c\x02\0\xa0\x0b\0\0\x42\x32\0\0\xc9\x55\0\0\x10\x6c\x02\0\ -\xa8\x0b\0\0\x42\x32\0\0\xed\x55\0\0\x20\x74\x02\0\xb0\x0b\0\0\x42\x32\0\0\xed\ -\x55\0\0\x1e\x74\x02\0\xb8\x0b\0\0\x42\x32\0\0\xc9\x55\0\0\x10\x6c\x02\0\xc0\ -\x0b\0\0\x42\x32\0\0\xed\x55\0\0\x20\x74\x02\0\xc8\x0b\0\0\x42\x32\0\0\xed\x55\ -\0\0\x1e\x74\x02\0\xd0\x0b\0\0\x42\x32\0\0\xc9\x55\0\0\x12\x6c\x02\0\xe0\x0b\0\ -\0\x42\x32\0\0\xc9\x55\0\0\x10\x6c\x02\0\xe8\x0b\0\0\x42\x32\0\0\xed\x55\0\0\ -\x20\x74\x02\0\xf0\x0b\0\0\x42\x32\0\0\xed\x55\0\0\x1e\x74\x02\0\xf8\x0b\0\0\ -\x42\x32\0\0\xc9\x55\0\0\x10\x6c\x02\0\0\x0c\0\0\x42\x32\0\0\xed\x55\0\0\x20\ -\x74\x02\0\x08\x0c\0\0\x42\x32\0\0\xed\x55\0\0\x1e\x74\x02\0\x10\x0c\0\0\x42\ -\x32\0\0\xc9\x55\0\0\x12\x6c\x02\0\x20\x0c\0\0\x42\x32\0\0\xc9\x55\0\0\x10\x6c\ -\x02\0\x28\x0c\0\0\x42\x32\0\0\xed\x55\0\0\x20\x74\x02\0\x30\x0c\0\0\x42\x32\0\ -\0\xed\x55\0\0\x1e\x74\x02\0\x38\x0c\0\0\x42\x32\0\0\xc9\x55\0\0\x10\x6c\x02\0\ -\x40\x0c\0\0\x42\x32\0\0\xed\x55\0\0\x20\x74\x02\0\x48\x0c\0\0\x42\x32\0\0\xed\ -\x55\0\0\x1e\x74\x02\0\x50\x0c\0\0\x42\x32\0\0\xc9\x55\0\0\x12\x6c\x02\0\x60\ -\x0c\0\0\x42\x32\0\0\xc9\x55\0\0\x10\x6c\x02\0\x68\x0c\0\0\x42\x32\0\0\xed\x55\ -\0\0\x20\x74\x02\0\x70\x0c\0\0\x42\x32\0\0\xed\x55\0\0\x1e\x74\x02\0\x78\x0c\0\ -\0\x42\x32\0\0\xc9\x55\0\0\x10\x6c\x02\0\x80\x0c\0\0\x42\x32\0\0\xed\x55\0\0\ -\x20\x74\x02\0\x88\x0c\0\0\x42\x32\0\0\xed\x55\0\0\x1e\x74\x02\0\x90\x0c\0\0\ -\x42\x32\0\0\xc9\x55\0\0\x12\x6c\x02\0\xa0\x0c\0\0\x42\x32\0\0\xc9\x55\0\0\x10\ -\x6c\x02\0\xa8\x0c\0\0\x42\x32\0\0\xed\x55\0\0\x20\x74\x02\0\xb0\x0c\0\0\x42\ -\x32\0\0\xed\x55\0\0\x1e\x74\x02\0\xb8\x0c\0\0\x42\x32\0\0\xc9\x55\0\0\x10\x6c\ -\x02\0\xc0\x0c\0\0\x42\x32\0\0\xed\x55\0\0\x20\x74\x02\0\xc8\x0c\0\0\x42\x32\0\ -\0\xed\x55\0\0\x1e\x74\x02\0\0\x0d\0\0\x42\x32\0\0\x1e\x56\0\0\x10\x80\x02\0\ -\x08\x0d\0\0\x42\x32\0\0\x42\x56\0\0\x20\x88\x02\0\x10\x0d\0\0\x42\x32\0\0\x42\ -\x56\0\0\x1e\x88\x02\0\x18\x0d\0\0\x42\x32\0\0\x1e\x56\0\0\x12\x80\x02\0\x20\ -\x0d\0\0\x42\x32\0\0\x1e\x56\0\0\x10\x80\x02\0\x28\x0d\0\0\x42\x32\0\0\x42\x56\ -\0\0\x20\x88\x02\0\x30\x0d\0\0\x42\x32\0\0\x42\x56\0\0\x1e\x88\x02\0\x38\x0d\0\ -\0\x42\x32\0\0\x1e\x56\0\0\x12\x80\x02\0\x40\x0d\0\0\x42\x32\0\0\x1e\x56\0\0\ -\x10\x80\x02\0\x48\x0d\0\0\x42\x32\0\0\x42\x56\0\0\x20\x88\x02\0\x50\x0d\0\0\ -\x42\x32\0\0\x42\x56\0\0\x1e\x88\x02\0\x58\x0d\0\0\x42\x32\0\0\x1e\x56\0\0\x10\ -\x80\x02\0\x60\x0d\0\0\x42\x32\0\0\x42\x56\0\0\x20\x88\x02\0\x68\x0d\0\0\x42\ -\x32\0\0\x42\x56\0\0\x1e\x88\x02\0\x70\x0d\0\0\x42\x32\0\0\x1e\x56\0\0\x12\x80\ -\x02\0\x80\x0d\0\0\x42\x32\0\0\x1e\x56\0\0\x10\x80\x02\0\x88\x0d\0\0\x42\x32\0\ -\0\x42\x56\0\0\x20\x88\x02\0\x90\x0d\0\0\x42\x32\0\0\x42\x56\0\0\x1e\x88\x02\0\ -\x98\x0d\0\0\x42\x32\0\0\x1e\x56\0\0\x10\x80\x02\0\xa0\x0d\0\0\x42\x32\0\0\x42\ -\x56\0\0\x20\x88\x02\0\xa8\x0d\0\0\x42\x32\0\0\x42\x56\0\0\x1e\x88\x02\0\xb0\ -\x0d\0\0\x42\x32\0\0\x1e\x56\0\0\x12\x80\x02\0\xc0\x0d\0\0\x42\x32\0\0\x1e\x56\ -\0\0\x10\x80\x02\0\xc8\x0d\0\0\x42\x32\0\0\x42\x56\0\0\x20\x88\x02\0\xd0\x0d\0\ -\0\x42\x32\0\0\x42\x56\0\0\x1e\x88\x02\0\xd8\x0d\0\0\x42\x32\0\0\x1e\x56\0\0\ -\x10\x80\x02\0\xe0\x0d\0\0\x42\x32\0\0\x42\x56\0\0\x20\x88\x02\0\xe8\x0d\0\0\ -\x42\x32\0\0\x42\x56\0\0\x1e\x88\x02\0\xf0\x0d\0\0\x42\x32\0\0\x1e\x56\0\0\x12\ -\x80\x02\0\0\x0e\0\0\x42\x32\0\0\x1e\x56\0\0\x10\x80\x02\0\x08\x0e\0\0\x42\x32\ -\0\0\x42\x56\0\0\x20\x88\x02\0\x10\x0e\0\0\x42\x32\0\0\x42\x56\0\0\x1e\x88\x02\ -\0\x18\x0e\0\0\x42\x32\0\0\x1e\x56\0\0\x10\x80\x02\0\x20\x0e\0\0\x42\x32\0\0\ -\x42\x56\0\0\x20\x88\x02\0\x28\x0e\0\0\x42\x32\0\0\x42\x56\0\0\x1e\x88\x02\0\ -\x30\x0e\0\0\x42\x32\0\0\x1e\x56\0\0\x12\x80\x02\0\x40\x0e\0\0\x42\x32\0\0\x1e\ -\x56\0\0\x10\x80\x02\0\x48\x0e\0\0\x42\x32\0\0\x42\x56\0\0\x20\x88\x02\0\x50\ -\x0e\0\0\x42\x32\0\0\x42\x56\0\0\x1e\x88\x02\0\x58\x0e\0\0\x42\x32\0\0\x1e\x56\ -\0\0\x10\x80\x02\0\x60\x0e\0\0\x42\x32\0\0\x42\x56\0\0\x20\x88\x02\0\x68\x0e\0\ -\0\x42\x32\0\0\x42\x56\0\0\x1e\x88\x02\0\x70\x0e\0\0\x42\x32\0\0\x1e\x56\0\0\ -\x12\x80\x02\0\x80\x0e\0\0\x42\x32\0\0\x1e\x56\0\0\x10\x80\x02\0\x88\x0e\0\0\ -\x42\x32\0\0\x42\x56\0\0\x20\x88\x02\0\x90\x0e\0\0\x42\x32\0\0\x42\x56\0\0\x1e\ -\x88\x02\0\x98\x0e\0\0\x42\x32\0\0\x1e\x56\0\0\x10\x80\x02\0\xa0\x0e\0\0\x42\ -\x32\0\0\x42\x56\0\0\x20\x88\x02\0\xa8\x0e\0\0\x42\x32\0\0\x42\x56\0\0\x1e\x88\ -\x02\0\xb0\x0e\0\0\x42\x32\0\0\x1e\x56\0\0\x12\x80\x02\0\xc0\x0e\0\0\x42\x32\0\ -\0\x1e\x56\0\0\x10\x80\x02\0\xc8\x0e\0\0\x42\x32\0\0\x42\x56\0\0\x20\x88\x02\0\ -\xd0\x0e\0\0\x42\x32\0\0\x42\x56\0\0\x1e\x88\x02\0\xd8\x0e\0\0\x42\x32\0\0\x1e\ -\x56\0\0\x10\x80\x02\0\xe0\x0e\0\0\x42\x32\0\0\x42\x56\0\0\x20\x88\x02\0\xe8\ -\x0e\0\0\x42\x32\0\0\x42\x56\0\0\x1e\x88\x02\0\xf0\x0e\0\0\x42\x32\0\0\x1e\x56\ -\0\0\x12\x80\x02\0\0\x0f\0\0\x42\x32\0\0\x1e\x56\0\0\x10\x80\x02\0\x08\x0f\0\0\ -\x42\x32\0\0\x42\x56\0\0\x20\x88\x02\0\x10\x0f\0\0\x42\x32\0\0\x42\x56\0\0\x1e\ -\x88\x02\0\x18\x0f\0\0\x42\x32\0\0\x1e\x56\0\0\x10\x80\x02\0\x20\x0f\0\0\x42\ -\x32\0\0\x42\x56\0\0\x20\x88\x02\0\x28\x0f\0\0\x42\x32\0\0\x42\x56\0\0\x1e\x88\ -\x02\0\x30\x0f\0\0\x42\x32\0\0\x1e\x56\0\0\x12\x80\x02\0\x40\x0f\0\0\x42\x32\0\ -\0\x1e\x56\0\0\x10\x80\x02\0\x48\x0f\0\0\x42\x32\0\0\x42\x56\0\0\x20\x88\x02\0\ -\x50\x0f\0\0\x42\x32\0\0\x42\x56\0\0\x1e\x88\x02\0\x58\x0f\0\0\x42\x32\0\0\x1e\ -\x56\0\0\x10\x80\x02\0\x60\x0f\0\0\x42\x32\0\0\x42\x56\0\0\x20\x88\x02\0\x68\ -\x0f\0\0\x42\x32\0\0\x42\x56\0\0\x1e\x88\x02\0\x70\x0f\0\0\x42\x32\0\0\x73\x56\ -\0\0\x05\x90\x02\0\x80\x0f\0\0\x42\x32\0\0\x94\x56\0\0\x29\x0c\x07\0\x98\x0f\0\ -\0\x42\x32\0\0\0\0\0\0\0\0\0\0\xc8\x0f\0\0\x42\x32\0\0\xc3\x56\0\0\x29\x50\x09\ -\0\xd0\x0f\0\0\x42\x32\0\0\xc3\x56\0\0\x14\x50\x09\0\xd8\x0f\0\0\x42\x32\0\0\ -\xf7\x56\0\0\x48\x58\x09\0\xe8\x0f\0\0\x42\x32\0\0\xf7\x56\0\0\x15\x58\x09\0\0\ -\x10\0\0\x42\x32\0\0\x50\x57\0\0\x26\x64\x09\0\x20\x10\0\0\x42\x32\0\0\x7c\x57\ -\0\0\x0d\x68\x09\0\x48\x10\0\0\x42\x32\0\0\xd1\x57\0\0\x08\x8c\x09\0\x50\x10\0\ -\0\x42\x32\0\0\xd1\x57\0\0\x11\x8c\x09\0\x68\x10\0\0\x42\x32\0\0\xd1\x57\0\0\ -\x08\x8c\x09\0\x78\x10\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\x80\x10\0\0\x42\x32\0\0\ -\xe8\x57\0\0\x2d\x90\x09\0\xa0\x10\0\0\x42\x32\0\0\x49\x58\0\0\x0d\x94\x09\0\ -\xb0\x10\0\0\x42\x32\0\0\x53\x4b\0\0\x0d\x9c\x09\0\x08\x11\0\0\x42\x32\0\0\x64\ -\x58\0\0\x18\xa4\x09\0\x10\x11\0\0\x42\x32\0\0\xb4\x4b\0\0\x2c\xa0\x09\0\x18\ -\x11\0\0\x42\x32\0\0\xe1\x4b\0\0\x1b\xa8\x09\0\x20\x11\0\0\x42\x32\0\0\xb4\x4b\ -\0\0\x2c\xa0\x09\0\x70\x11\0\0\x42\x32\0\0\x85\x58\0\0\x0d\xb0\x09\0\x90\x11\0\ -\0\x42\x32\0\0\x5a\x4c\0\0\x27\xb8\x09\0\x98\x11\0\0\x42\x32\0\0\x87\x4c\0\0\ -\x25\xbc\x09\0\xa0\x11\0\0\x42\x32\0\0\xb2\x4c\0\0\x23\xb4\x09\0\xe8\x11\0\0\ -\x42\x32\0\0\x53\x4b\0\0\x0d\x9c\x09\0\0\x12\0\0\x42\x32\0\0\xdd\x58\0\0\x0d\ -\xc0\x09\0\x18\x12\0\0\x42\x32\0\0\x33\x59\0\0\x29\xc8\x09\0\x20\x12\0\0\x42\ -\x32\0\0\x33\x59\0\0\x27\xc8\x09\0\x28\x12\0\0\x42\x32\0\0\x65\x59\0\0\x34\xd0\ -\x09\0\x30\x12\0\0\x42\x32\0\0\x65\x59\0\0\x26\xd0\x09\0\x40\x12\0\0\x42\x32\0\ -\0\xaa\x59\0\0\x23\xd4\x09\0\x48\x12\0\0\x42\x32\0\0\xde\x59\0\0\x10\xe4\x09\0\ -\x60\x12\0\0\x42\x32\0\0\x02\x5a\0\0\x15\xec\x09\0\x78\x12\0\0\x42\x32\0\0\x2a\ -\x5a\0\0\x15\xf4\x09\0\x90\x12\0\0\x42\x32\0\0\x53\x5a\0\0\x15\xfc\x09\0\xa8\ -\x12\0\0\x42\x32\0\0\x7c\x5a\0\0\x15\x04\x0a\0\xc0\x12\0\0\x42\x32\0\0\xa6\x5a\ -\0\0\x15\x0c\x0a\0\xd8\x12\0\0\x42\x32\0\0\xd1\x5a\0\0\x15\x14\x0a\0\xf8\x12\0\ -\0\x42\x32\0\0\0\0\0\0\0\0\0\0\x08\x13\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\x10\x13\ -\0\0\x42\x32\0\0\xfc\x5a\0\0\x1c\x24\x0a\0\x28\x13\0\0\x42\x32\0\0\x42\x5b\0\0\ -\x10\x28\x0a\0\x38\x13\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\x40\x13\0\0\x42\x32\0\0\ -\x5c\x5b\0\0\x11\x2c\x0a\0\x68\x13\0\0\x42\x32\0\0\xa4\x5b\0\0\x1c\x34\x0a\0\ -\x70\x13\0\0\x42\x32\0\0\xa4\x5b\0\0\x25\x34\x0a\0\x78\x13\0\0\x42\x32\0\0\xa4\ -\x5b\0\0\x1a\x34\x0a\0\x88\x13\0\0\x42\x32\0\0\xa4\x5b\0\0\x1c\x34\x0a\0\x90\ -\x13\0\0\x42\x32\0\0\xcd\x5b\0\0\x11\x38\x0a\0\xa8\x13\0\0\x42\x32\0\0\0\0\0\0\ -\0\0\0\0\xb8\x13\0\0\x42\x32\0\0\x18\x5c\0\0\x37\x44\x0a\0\xc0\x13\0\0\x42\x32\ -\0\0\x18\x5c\0\0\x1c\x44\x0a\0\xc8\x13\0\0\x42\x32\0\0\x18\x5c\0\0\x10\x44\x0a\ -\0\xd8\x13\0\0\x42\x32\0\0\x60\x5c\0\0\x2c\x50\x0a\0\xf0\x13\0\0\x42\x32\0\0\ -\x90\x5c\0\0\x2a\x58\x0a\0\xf8\x13\0\0\x42\x32\0\0\x90\x5c\0\0\x14\x58\x0a\0\0\ -\x14\0\0\x42\x32\0\0\xc4\x5c\0\0\x15\x5c\x0a\0\x18\x14\0\0\x42\x32\0\0\x2e\x5d\ -\0\0\x27\x68\x0a\0\x38\x14\0\0\x42\x32\0\0\x5b\x5d\0\0\x0d\x6c\x0a\0\x50\x14\0\ -\0\x42\x32\0\0\0\0\0\0\0\0\0\0\x68\x14\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\x78\x14\ -\0\0\x42\x32\0\0\xb1\x5d\0\0\x05\x7c\x0a\0\xa0\x14\0\0\x42\x32\0\0\x1e\x38\0\0\ -\x01\x84\x0a\0\xb0\x14\0\0\x42\x32\0\0\xfa\x5d\0\0\0\x90\x0a\0\xb8\x14\0\0\x42\ -\x32\0\0\x39\x5e\0\0\x14\x98\x0a\0\xc0\x14\0\0\x42\x32\0\0\x39\x5e\0\0\x09\x98\ -\x0a\0\xc8\x14\0\0\x42\x32\0\0\x56\x5e\0\0\x11\xa0\x0a\0\xd8\x14\0\0\x42\x32\0\ -\0\0\0\0\0\0\0\0\0\xe0\x14\0\0\x42\x32\0\0\x56\x5e\0\0\x14\xa0\x0a\0\xf8\x14\0\ -\0\x42\x32\0\0\x56\x5e\0\0\x08\xa0\x0a\0\0\x15\0\0\x42\x32\0\0\xa1\x5e\0\0\x14\ -\xac\x0a\0\x48\x15\0\0\x42\x32\0\0\xf0\x5e\0\0\x08\xb0\x0a\0\x50\x15\0\0\x42\ -\x32\0\0\x06\x5f\0\0\x09\xb4\x0a\0\x88\x15\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\x90\ -\x15\0\0\x42\x32\0\0\x48\x5f\0\0\x26\xc4\x0a\0\xa8\x15\0\0\x42\x32\0\0\x9d\x5f\ -\0\0\x08\xc8\x0a\0\xb0\x15\0\0\x42\x32\0\0\xad\x5f\0\0\x14\xd0\x0a\0\xb8\x15\0\ -\0\x42\x32\0\0\xad\x5f\0\0\x12\xd0\x0a\0\xc8\x15\0\0\x42\x32\0\0\xad\x5f\0\0\ -\x14\xd0\x0a\0\xd0\x15\0\0\x42\x32\0\0\xc5\x5f\0\0\x27\xd4\x0a\0\xe8\x15\0\0\ -\x42\x32\0\0\x1a\x60\0\0\x0c\xd8\x0a\0\xf0\x15\0\0\x42\x32\0\0\x34\x60\0\0\x5e\ -\xdc\x0a\0\xf8\x15\0\0\x42\x32\0\0\x34\x60\0\0\x27\xdc\x0a\0\x08\x16\0\0\x42\ -\x32\0\0\x34\x60\0\0\x0d\xdc\x0a\0\x28\x16\0\0\x42\x32\0\0\x98\x60\0\0\x18\xe8\ -\x0a\0\x30\x16\0\0\x42\x32\0\0\xb4\x60\0\0\x18\xe4\x0a\0\x40\x16\0\0\x42\x32\0\ -\0\x98\x60\0\0\x18\xe8\x0a\0\x58\x16\0\0\x42\x32\0\0\xd0\x60\0\0\x09\xec\x0a\0\ -\x88\x16\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\x90\x16\0\0\x42\x32\0\0\x16\x61\0\0\ -\x26\xf8\x0a\0\xb0\x16\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\xb8\x16\0\0\x42\x32\0\0\ -\x6a\x61\0\0\x0d\x08\x0b\0\xd8\x16\0\0\x42\x32\0\0\xa6\x61\0\0\x08\x0c\x0b\0\ -\xe0\x16\0\0\x42\x32\0\0\xb5\x61\0\0\x09\x14\x0b\0\x08\x17\0\0\x42\x32\0\0\xeb\ -\x61\0\0\x16\x44\x0b\0\x10\x17\0\0\x42\x32\0\0\x0c\x62\0\0\x21\x48\x0b\0\x18\ -\x17\0\0\x42\x32\0\0\x45\x62\0\0\x09\x4c\x0b\0\x20\x17\0\0\x42\x32\0\0\x5d\x62\ -\0\0\x27\x54\x0b\0\x30\x17\0\0\x42\x32\0\0\x0c\x62\0\0\x2a\x48\x0b\0\x38\x17\0\ -\0\x42\x32\0\0\x5d\x62\0\0\x09\x54\x0b\0\x50\x17\0\0\x42\x32\0\0\xb3\x62\0\0\ -\x16\x80\x0b\0\xa0\x17\0\0\x42\x32\0\0\x19\x63\0\0\x09\x84\x0b\0\xa8\x17\0\0\ -\x42\x32\0\0\x34\x63\0\0\x1a\x88\x0b\0\xb0\x17\0\0\x42\x32\0\0\x5b\x63\0\0\x0d\ -\x90\x0b\0\xb8\x17\0\0\x42\x32\0\0\x77\x63\0\0\x2b\x98\x0b\0\xc8\x17\0\0\x42\ -\x32\0\0\xd1\x63\0\0\x30\x8c\x0b\0\xd0\x17\0\0\x42\x32\0\0\x77\x63\0\0\x0d\x98\ -\x0b\0\xe8\x17\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\xf0\x17\0\0\x42\x32\0\0\x10\x64\ -\0\0\x05\xa8\x0b\0\x18\x18\0\0\x42\x32\0\0\x1e\x38\0\0\x01\xb4\x0b\0\x3d\x72\0\ -\0\x1b\0\0\0\0\0\0\0\x42\x32\0\0\xb6\x69\0\0\x17\x04\x0c\0\x08\0\0\0\x42\x32\0\ -\0\xb6\x69\0\0\x09\x04\x0c\0\x10\0\0\0\x42\x32\0\0\xd4\x69\0\0\x16\x08\x0c\0\ -\x18\0\0\0\x42\x32\0\0\xcc\x37\0\0\x0f\x10\x0c\0\x30\0\0\0\x42\x32\0\0\0\0\0\0\ -\0\0\0\0\x38\0\0\0\x42\x32\0\0\x1d\x49\0\0\x11\x1c\x0c\0\x50\0\0\0\x42\x32\0\0\ -\x61\x49\0\0\x09\x20\x0c\0\x60\0\0\0\x42\x32\0\0\x7e\x49\0\0\x20\x24\x0c\0\xd0\ -\0\0\0\x42\x32\0\0\xac\x49\0\0\x09\x28\x0c\0\0\x01\0\0\x42\x32\0\0\xfc\x49\0\0\ -\x2d\x30\x0c\0\x08\x01\0\0\x42\x32\0\0\xfc\x49\0\0\x20\x30\x0c\0\x10\x01\0\0\ -\x42\x32\0\0\x2a\x4a\0\0\x17\x34\x0c\0\x18\x01\0\0\x42\x32\0\0\xfc\x49\0\0\x2d\ -\x30\x0c\0\x20\x01\0\0\x42\x32\0\0\xfc\x49\0\0\x20\x30\x0c\0\x48\x01\0\0\x42\ -\x32\0\0\x7e\x49\0\0\x20\x24\x0c\0\x50\x01\0\0\x42\x32\0\0\x48\x4a\0\0\x09\x40\ -\x0c\0\x70\x01\0\0\x42\x32\0\0\xf0\x69\0\0\x0e\x60\x0c\0\x88\x01\0\0\x42\x32\0\ -\0\xf0\x69\0\0\x08\x60\x0c\0\x90\x01\0\0\x42\x32\0\0\x0c\x6a\0\0\x17\x64\x0c\0\ -\x98\x01\0\0\x42\x32\0\0\x0c\x6a\0\0\x0c\x64\x0c\0\xa0\x01\0\0\x42\x32\0\0\x37\ -\x6a\0\0\x26\x6c\x0c\0\xa8\x01\0\0\x42\x32\0\0\x37\x6a\0\0\x1f\x6c\x0c\0\xc8\ -\x01\0\0\x42\x32\0\0\x79\x6a\0\0\x23\x74\x0c\0\xd8\x01\0\0\x42\x32\0\0\0\0\0\0\ -\0\0\0\0\xe0\x01\0\0\x42\x32\0\0\xa2\x6a\0\0\x05\x7c\x0c\0\xf8\x01\0\0\x42\x32\ -\0\0\0\0\0\0\0\0\0\0\x08\x02\0\0\x42\x32\0\0\x1e\x38\0\0\x01\x80\x0c\0\x57\x72\ -\0\0\x33\0\0\0\0\0\0\0\x42\x32\0\0\xee\x6a\0\0\x36\x98\x0c\0\x30\0\0\0\x42\x32\ -\0\0\0\0\0\0\0\0\0\0\x38\0\0\0\x42\x32\0\0\x3b\x6b\0\0\x0f\x9c\x0c\0\x48\0\0\0\ -\x42\x32\0\0\x3b\x6b\0\0\x0f\x9c\x0c\0\x50\0\0\0\x42\x32\0\0\x3b\x6b\0\0\x09\ -\x9c\x0c\0\x78\0\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\x80\0\0\0\x42\x32\0\0\x63\x6b\ -\0\0\x10\xa0\x0c\0\x90\0\0\0\x42\x32\0\0\xdf\x32\0\0\x08\xa4\x0c\0\x98\0\0\0\ -\x42\x32\0\0\0\0\0\0\0\0\0\0\xb0\0\0\0\x42\x32\0\0\x8c\x6b\0\0\x24\xb0\x0c\0\ -\xd0\0\0\0\x42\x32\0\0\xdf\x6b\0\0\x08\xb4\x0c\0\xd8\0\0\0\x42\x32\0\0\xef\x6b\ -\0\0\x16\xb8\x0c\0\x10\x01\0\0\x42\x32\0\0\xab\x33\0\0\x10\xf8\x01\0\x40\x01\0\ -\0\x42\x32\0\0\xef\x6b\0\0\x16\xb8\x0c\0\x48\x01\0\0\x42\x32\0\0\xd1\x33\0\0\ -\x11\xfc\x01\0\x58\x01\0\0\x42\x32\0\0\xf8\x33\0\0\x24\xf0\x01\0\x60\x01\0\0\ -\x42\x32\0\0\xd1\x33\0\0\x11\xfc\x01\0\x68\x01\0\0\x42\x32\0\0\xf8\x33\0\0\x24\ -\xf0\x01\0\x88\x01\0\0\x42\x32\0\0\x1d\x34\0\0\x11\xf4\x01\0\xb0\x01\0\0\x42\ -\x32\0\0\xef\x6b\0\0\x16\xb8\x0c\0\xb8\x01\0\0\x42\x32\0\0\x31\x34\0\0\x3d\x08\ -\x02\0\xd8\x01\0\0\x42\x32\0\0\x1d\x34\0\0\x11\xf4\x01\0\xe8\x01\0\0\x42\x32\0\ -\0\x31\x34\0\0\x05\x08\x02\0\0\x02\0\0\x42\x32\0\0\x20\x6c\0\0\x1a\xcc\x0c\0\ -\x48\x02\0\0\x42\x32\0\0\x3f\x6c\0\0\x2c\xc8\x0c\0\xb0\x02\0\0\x42\x32\0\0\xef\ -\x6b\0\0\x16\xb8\x0c\0\xc8\x02\0\0\x42\x32\0\0\x6c\x6c\0\0\x09\xdc\x0c\0\xe0\ -\x02\0\0\x42\x32\0\0\xba\x6c\0\0\x1d\xe8\x0c\0\xe8\x02\0\0\x42\x32\0\0\xba\x6c\ -\0\0\x0c\xe8\x0c\0\xf0\x02\0\0\x42\x32\0\0\xe1\x6c\0\0\x23\xf0\x0c\0\xf8\x02\0\ -\0\x42\x32\0\0\x0b\x6d\0\0\x28\xf4\x0c\0\x08\x03\0\0\x42\x32\0\0\xe1\x6c\0\0\ -\x23\xf0\x0c\0\x10\x03\0\0\x42\x32\0\0\x59\x35\0\0\x08\x60\x04\0\x20\x03\0\0\ -\x42\x32\0\0\0\0\0\0\0\0\0\0\x28\x03\0\0\x42\x32\0\0\x6b\x35\0\0\x21\x68\x04\0\ -\x40\x03\0\0\x42\x32\0\0\xb4\x35\0\0\x08\x6c\x04\0\x48\x03\0\0\x42\x32\0\0\xc1\ -\x35\0\0\x0d\x30\x04\0\x58\x03\0\0\x42\x32\0\0\xd5\x35\0\0\x16\x70\x04\0\x60\ -\x03\0\0\x42\x32\0\0\xc1\x35\0\0\x08\x30\x04\0\x78\x03\0\0\x42\x32\0\0\0\0\0\0\ -\0\0\0\0\x80\x03\0\0\x42\x32\0\0\xf5\x35\0\0\x0d\x24\x04\0\x90\x03\0\0\x42\x32\ -\0\0\0\0\0\0\0\0\0\0\xa8\x03\0\0\x42\x32\0\0\x09\x36\0\0\x05\x48\x04\0\xc0\x03\ -\0\0\x42\x32\0\0\xc3\x36\0\0\x19\x7c\x04\0\xe0\x03\0\0\x42\x32\0\0\0\0\0\0\0\0\ -\0\0\xe8\x03\0\0\x42\x32\0\0\xe1\x36\0\0\x09\x80\x04\0\0\x04\0\0\x42\x32\0\0\0\ -\0\0\0\0\0\0\0\x18\x04\0\0\x42\x32\0\0\x38\x6d\0\0\x1a\xfc\x0c\0\x30\x04\0\0\ -\x42\x32\0\0\x59\x6d\0\0\x09\0\x0d\0\x48\x04\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\ -\x58\x04\0\0\x42\x32\0\0\xa1\x6d\0\0\x05\x94\x0c\0\x79\x72\0\0\x33\0\0\0\0\0\0\ -\0\x42\x32\0\0\xee\x6a\0\0\x36\x20\x0d\0\x30\0\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\ -\x38\0\0\0\x42\x32\0\0\x3b\x6b\0\0\x0f\x24\x0d\0\x48\0\0\0\x42\x32\0\0\x3b\x6b\ -\0\0\x0f\x24\x0d\0\x50\0\0\0\x42\x32\0\0\x3b\x6b\0\0\x09\x24\x0d\0\x78\0\0\0\ -\x42\x32\0\0\0\0\0\0\0\0\0\0\x80\0\0\0\x42\x32\0\0\x63\x6b\0\0\x10\x28\x0d\0\ -\x90\0\0\0\x42\x32\0\0\xdf\x32\0\0\x08\x2c\x0d\0\x98\0\0\0\x42\x32\0\0\0\0\0\0\ -\0\0\0\0\xb0\0\0\0\x42\x32\0\0\x8c\x6b\0\0\x24\x38\x0d\0\xd0\0\0\0\x42\x32\0\0\ -\xdf\x6b\0\0\x08\x3c\x0d\0\xd8\0\0\0\x42\x32\0\0\xef\x6b\0\0\x16\x40\x0d\0\x10\ -\x01\0\0\x42\x32\0\0\xab\x33\0\0\x10\xf8\x01\0\x40\x01\0\0\x42\x32\0\0\xef\x6b\ -\0\0\x16\x40\x0d\0\x48\x01\0\0\x42\x32\0\0\xd1\x33\0\0\x11\xfc\x01\0\x58\x01\0\ -\0\x42\x32\0\0\xf8\x33\0\0\x24\xf0\x01\0\x60\x01\0\0\x42\x32\0\0\xd1\x33\0\0\ -\x11\xfc\x01\0\x68\x01\0\0\x42\x32\0\0\xf8\x33\0\0\x24\xf0\x01\0\x88\x01\0\0\ -\x42\x32\0\0\x1d\x34\0\0\x11\xf4\x01\0\xb0\x01\0\0\x42\x32\0\0\xef\x6b\0\0\x16\ -\x40\x0d\0\xb8\x01\0\0\x42\x32\0\0\x31\x34\0\0\x3d\x08\x02\0\xd8\x01\0\0\x42\ -\x32\0\0\x1d\x34\0\0\x11\xf4\x01\0\xe8\x01\0\0\x42\x32\0\0\x31\x34\0\0\x05\x08\ -\x02\0\0\x02\0\0\x42\x32\0\0\x20\x6c\0\0\x1a\x54\x0d\0\x40\x02\0\0\x42\x32\0\0\ -\x3f\x6c\0\0\x2c\x50\x0d\0\xa8\x02\0\0\x42\x32\0\0\xef\x6b\0\0\x16\x40\x0d\0\ -\xc0\x02\0\0\x42\x32\0\0\x6c\x6c\0\0\x09\x64\x0d\0\xd8\x02\0\0\x42\x32\0\0\xba\ -\x6c\0\0\x1d\x70\x0d\0\xe0\x02\0\0\x42\x32\0\0\xba\x6c\0\0\x0c\x70\x0d\0\xe8\ -\x02\0\0\x42\x32\0\0\xe1\x6c\0\0\x23\x78\x0d\0\xf0\x02\0\0\x42\x32\0\0\x0b\x6d\ -\0\0\x28\x7c\x0d\0\0\x03\0\0\x42\x32\0\0\xe1\x6c\0\0\x23\x78\x0d\0\x08\x03\0\0\ -\x42\x32\0\0\x59\x35\0\0\x08\x60\x04\0\x18\x03\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\ -\x20\x03\0\0\x42\x32\0\0\x6b\x35\0\0\x21\x68\x04\0\x38\x03\0\0\x42\x32\0\0\xb4\ -\x35\0\0\x08\x6c\x04\0\x40\x03\0\0\x42\x32\0\0\xc1\x35\0\0\x0d\x30\x04\0\x50\ -\x03\0\0\x42\x32\0\0\xd5\x35\0\0\x16\x70\x04\0\x58\x03\0\0\x42\x32\0\0\xc1\x35\ -\0\0\x08\x30\x04\0\x70\x03\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\x78\x03\0\0\x42\x32\ -\0\0\xf5\x35\0\0\x0d\x24\x04\0\x88\x03\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\xa0\x03\ -\0\0\x42\x32\0\0\x09\x36\0\0\x05\x48\x04\0\xb8\x03\0\0\x42\x32\0\0\xc3\x36\0\0\ -\x19\x7c\x04\0\xd8\x03\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\xe0\x03\0\0\x42\x32\0\0\ -\xe1\x36\0\0\x09\x80\x04\0\xf8\x03\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\x10\x04\0\0\ -\x42\x32\0\0\xc0\x6d\0\0\x1a\x84\x0d\0\x28\x04\0\0\x42\x32\0\0\x59\x6d\0\0\x09\ -\x88\x0d\0\x40\x04\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\x50\x04\0\0\x42\x32\0\0\xe2\ -\x6d\0\0\x05\x1c\x0d\0\x9a\x72\0\0\x19\0\0\0\0\0\0\0\x42\x32\0\0\x16\x33\0\0\ -\x12\xa8\x0d\0\x08\0\0\0\x42\x32\0\0\x16\x33\0\0\x09\xa8\x0d\0\x18\0\0\0\x42\ -\x32\0\0\0\0\0\0\0\0\0\0\x20\0\0\0\x42\x32\0\0\x1d\x49\0\0\x11\xb4\x0d\0\x40\0\ -\0\0\x42\x32\0\0\x61\x49\0\0\x09\xb8\x0d\0\x48\0\0\0\x42\x32\0\0\x01\x6e\0\0\ -\x12\xbc\x0d\0\x68\0\0\0\x42\x32\0\0\x1b\x6e\0\0\x29\xc0\x0b\0\x80\0\0\0\x42\ -\x32\0\0\x77\x6e\0\0\x08\xc4\x0b\0\x90\0\0\0\x42\x32\0\0\x8a\x6e\0\0\x1c\xcc\ -\x0b\0\0\x01\0\0\x42\x32\0\0\xb4\x6e\0\0\x05\xd0\x0b\0\x30\x01\0\0\x42\x32\0\0\ -\0\x6f\0\0\x29\xd8\x0b\0\x38\x01\0\0\x42\x32\0\0\0\x6f\0\0\x1c\xd8\x0b\0\x40\ -\x01\0\0\x42\x32\0\0\x2a\x6f\0\0\x13\xdc\x0b\0\x48\x01\0\0\x42\x32\0\0\0\x6f\0\ -\0\x29\xd8\x0b\0\x50\x01\0\0\x42\x32\0\0\0\x6f\0\0\x1c\xd8\x0b\0\x78\x01\0\0\ -\x42\x32\0\0\x8a\x6e\0\0\x1c\xcc\x0b\0\x80\x01\0\0\x42\x32\0\0\x44\x6f\0\0\x05\ -\xe8\x0b\0\xb0\x01\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\xb8\x01\0\0\x42\x32\0\0\x94\ -\x6f\0\0\x15\xc0\x0d\0\xd8\x01\0\0\x42\x32\0\0\xdc\x6f\0\0\x0c\xc4\x0d\0\xe0\ -\x01\0\0\x42\x32\0\0\xcc\x37\0\0\x0f\xd0\x0d\0\xe8\x01\0\0\x42\x32\0\0\x04\x70\ -\0\0\x22\xd4\x0d\0\xf8\x01\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\x42\x32\0\ -\0\xb1\x5d\0\0\x05\xd8\x0d\0\x28\x02\0\0\x42\x32\0\0\x2c\x70\0\0\x05\xa4\x0d\0\ -\xb7\x72\0\0\x19\0\0\0\0\0\0\0\x42\x32\0\0\x16\x33\0\0\x12\xf0\x0d\0\x08\0\0\0\ -\x42\x32\0\0\x16\x33\0\0\x09\xf0\x0d\0\x18\0\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\ -\x20\0\0\0\x42\x32\0\0\x1d\x49\0\0\x11\xfc\x0d\0\x40\0\0\0\x42\x32\0\0\x61\x49\ -\0\0\x09\0\x0e\0\x48\0\0\0\x42\x32\0\0\x01\x6e\0\0\x12\x04\x0e\0\x68\0\0\0\x42\ -\x32\0\0\x1b\x6e\0\0\x29\xc0\x0b\0\x80\0\0\0\x42\x32\0\0\x77\x6e\0\0\x08\xc4\ -\x0b\0\x90\0\0\0\x42\x32\0\0\x8a\x6e\0\0\x1c\xcc\x0b\0\0\x01\0\0\x42\x32\0\0\ -\xb4\x6e\0\0\x05\xd0\x0b\0\x30\x01\0\0\x42\x32\0\0\0\x6f\0\0\x29\xd8\x0b\0\x38\ -\x01\0\0\x42\x32\0\0\0\x6f\0\0\x1c\xd8\x0b\0\x40\x01\0\0\x42\x32\0\0\x2a\x6f\0\ -\0\x13\xdc\x0b\0\x48\x01\0\0\x42\x32\0\0\0\x6f\0\0\x29\xd8\x0b\0\x50\x01\0\0\ -\x42\x32\0\0\0\x6f\0\0\x1c\xd8\x0b\0\x78\x01\0\0\x42\x32\0\0\x8a\x6e\0\0\x1c\ -\xcc\x0b\0\x80\x01\0\0\x42\x32\0\0\x44\x6f\0\0\x05\xe8\x0b\0\xa0\x01\0\0\x42\ -\x32\0\0\xcc\x37\0\0\x0f\x14\x0e\0\xa8\x01\0\0\x42\x32\0\0\x53\x70\0\0\x32\x18\ -\x0e\0\xb0\x01\0\0\x42\x32\0\0\x53\x70\0\0\x25\x18\x0e\0\xb8\x01\0\0\x42\x32\0\ -\0\x53\x70\0\0\x1e\x18\x0e\0\xd8\x01\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\xe0\x01\0\ -\0\x42\x32\0\0\xb1\x5d\0\0\x05\x1c\x0e\0\xf8\x01\0\0\x42\x32\0\0\0\0\0\0\0\0\0\ -\0\x08\x02\0\0\x42\x32\0\0\x97\x70\0\0\x05\xec\x0d\0\xd3\x72\0\0\x19\0\0\0\0\0\ -\0\0\x42\x32\0\0\x16\x33\0\0\x12\x38\x0e\0\x08\0\0\0\x42\x32\0\0\x16\x33\0\0\ -\x09\x38\x0e\0\x18\0\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\x20\0\0\0\x42\x32\0\0\x1d\ -\x49\0\0\x11\x44\x0e\0\x40\0\0\0\x42\x32\0\0\x61\x49\0\0\x09\x48\x0e\0\x48\0\0\ -\0\x42\x32\0\0\x01\x6e\0\0\x12\x4c\x0e\0\x68\0\0\0\x42\x32\0\0\x1b\x6e\0\0\x29\ -\xc0\x0b\0\x80\0\0\0\x42\x32\0\0\x77\x6e\0\0\x08\xc4\x0b\0\x90\0\0\0\x42\x32\0\ -\0\x8a\x6e\0\0\x1c\xcc\x0b\0\0\x01\0\0\x42\x32\0\0\xb4\x6e\0\0\x05\xd0\x0b\0\ -\x30\x01\0\0\x42\x32\0\0\0\x6f\0\0\x29\xd8\x0b\0\x38\x01\0\0\x42\x32\0\0\0\x6f\ -\0\0\x1c\xd8\x0b\0\x40\x01\0\0\x42\x32\0\0\x2a\x6f\0\0\x13\xdc\x0b\0\x48\x01\0\ -\0\x42\x32\0\0\0\x6f\0\0\x29\xd8\x0b\0\x50\x01\0\0\x42\x32\0\0\0\x6f\0\0\x1c\ -\xd8\x0b\0\x78\x01\0\0\x42\x32\0\0\x8a\x6e\0\0\x1c\xcc\x0b\0\x80\x01\0\0\x42\ -\x32\0\0\x44\x6f\0\0\x05\xe8\x0b\0\xb0\x01\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\xb8\ -\x01\0\0\x42\x32\0\0\x94\x6f\0\0\x15\x50\x0e\0\xd8\x01\0\0\x42\x32\0\0\xdc\x6f\ -\0\0\x0c\x54\x0e\0\xe0\x01\0\0\x42\x32\0\0\xcc\x37\0\0\x0f\x60\x0e\0\xe8\x01\0\ -\0\x42\x32\0\0\xbd\x70\0\0\x1e\x64\x0e\0\xf8\x01\0\0\x42\x32\0\0\0\0\0\0\0\0\0\ -\0\0\x02\0\0\x42\x32\0\0\xb1\x5d\0\0\x05\x68\x0e\0\x28\x02\0\0\x42\x32\0\0\xe1\ -\x70\0\0\x05\x34\x0e\0\xf4\x72\0\0\x19\0\0\0\0\0\0\0\x42\x32\0\0\x16\x33\0\0\ -\x12\x80\x0e\0\x08\0\0\0\x42\x32\0\0\x16\x33\0\0\x09\x80\x0e\0\x18\0\0\0\x42\ -\x32\0\0\0\0\0\0\0\0\0\0\x20\0\0\0\x42\x32\0\0\x1d\x49\0\0\x11\x8c\x0e\0\x40\0\ -\0\0\x42\x32\0\0\x61\x49\0\0\x09\x90\x0e\0\x48\0\0\0\x42\x32\0\0\x01\x6e\0\0\ -\x12\x94\x0e\0\x68\0\0\0\x42\x32\0\0\x1b\x6e\0\0\x29\xc0\x0b\0\x80\0\0\0\x42\ -\x32\0\0\x77\x6e\0\0\x08\xc4\x0b\0\x90\0\0\0\x42\x32\0\0\x8a\x6e\0\0\x1c\xcc\ -\x0b\0\0\x01\0\0\x42\x32\0\0\xb4\x6e\0\0\x05\xd0\x0b\0\x30\x01\0\0\x42\x32\0\0\ -\0\x6f\0\0\x29\xd8\x0b\0\x38\x01\0\0\x42\x32\0\0\0\x6f\0\0\x1c\xd8\x0b\0\x40\ -\x01\0\0\x42\x32\0\0\x2a\x6f\0\0\x13\xdc\x0b\0\x48\x01\0\0\x42\x32\0\0\0\x6f\0\ -\0\x29\xd8\x0b\0\x50\x01\0\0\x42\x32\0\0\0\x6f\0\0\x1c\xd8\x0b\0\x78\x01\0\0\ -\x42\x32\0\0\x8a\x6e\0\0\x1c\xcc\x0b\0\x80\x01\0\0\x42\x32\0\0\x44\x6f\0\0\x05\ -\xe8\x0b\0\xa0\x01\0\0\x42\x32\0\0\xcc\x37\0\0\x0f\xa4\x0e\0\xa8\x01\0\0\x42\ -\x32\0\0\x04\x71\0\0\x2e\xa8\x0e\0\xb0\x01\0\0\x42\x32\0\0\x04\x71\0\0\x21\xa8\ -\x0e\0\xb8\x01\0\0\x42\x32\0\0\x04\x71\0\0\x1a\xa8\x0e\0\xd8\x01\0\0\x42\x32\0\ -\0\0\0\0\0\0\0\0\0\xe0\x01\0\0\x42\x32\0\0\xb1\x5d\0\0\x05\xac\x0e\0\xf8\x01\0\ -\0\x42\x32\0\0\0\0\0\0\0\0\0\0\x08\x02\0\0\x42\x32\0\0\x40\x71\0\0\x05\x7c\x0e\ -\0\xa6\x1d\0\0\xa8\0\0\0\0\0\0\0\x42\x32\0\0\x1d\x37\0\0\x09\xac\x12\0\x18\0\0\ -\0\x42\x32\0\0\x1d\x37\0\0\x08\xac\x12\0\x20\0\0\0\x42\x32\0\0\x35\x37\0\0\x17\ -\xb4\x12\0\x48\0\0\0\x42\x32\0\0\x74\x37\0\0\x0c\xb8\x12\0\x50\0\0\0\x42\x32\0\ -\0\x8e\x37\0\0\x13\xc8\x12\0\x58\0\0\0\x42\x32\0\0\x8e\x37\0\0\x11\xc8\x12\0\ -\x70\0\0\0\x42\x32\0\0\xae\x37\0\0\x17\xcc\x12\0\x98\0\0\0\x42\x32\0\0\xcc\x37\ -\0\0\x0f\xb4\x0f\0\xb8\0\0\0\x42\x32\0\0\xee\x37\0\0\x0d\xbc\x12\0\xe8\0\0\0\ -\x42\x32\0\0\x1e\x38\0\0\x01\xe4\x12\0\xf0\0\0\0\x42\x32\0\0\x20\x38\0\0\x44\ -\xf4\x0e\0\xf8\0\0\0\x42\x32\0\0\x20\x38\0\0\x4e\xf4\x0e\0\0\x01\0\0\x42\x32\0\ -\0\x20\x38\0\0\x53\xf4\x0e\0\x08\x01\0\0\x42\x32\0\0\x20\x38\0\0\x33\xf4\x0e\0\ -\x20\x01\0\0\x42\x32\0\0\x20\x38\0\0\x37\xf4\x0e\0\x28\x01\0\0\x42\x32\0\0\x20\ -\x38\0\0\x1f\xf4\x0e\0\x30\x01\0\0\x42\x32\0\0\x20\x38\0\0\x1d\xf4\x0e\0\x38\ -\x01\0\0\x42\x32\0\0\x81\x38\0\0\x36\xf8\x0e\0\x50\x01\0\0\x42\x32\0\0\x81\x38\ -\0\0\x39\xf8\x0e\0\x58\x01\0\0\x42\x32\0\0\x81\x38\0\0\x46\xf8\x0e\0\x60\x01\0\ -\0\x42\x32\0\0\x81\x38\0\0\x53\xf8\x0e\0\x68\x01\0\0\x42\x32\0\0\x81\x38\0\0\ -\x56\xf8\x0e\0\x70\x01\0\0\x42\x32\0\0\x81\x38\0\0\x21\xf8\x0e\0\x78\x01\0\0\ -\x42\x32\0\0\x81\x38\0\0\x1f\xf8\x0e\0\x80\x01\0\0\x42\x32\0\0\xe4\x38\0\0\x32\ -\xfc\x0e\0\x98\x01\0\0\x42\x32\0\0\xe4\x38\0\0\x35\xfc\x0e\0\xa0\x01\0\0\x42\ -\x32\0\0\xe4\x38\0\0\x42\xfc\x0e\0\xa8\x01\0\0\x42\x32\0\0\xe4\x38\0\0\x4c\xfc\ -\x0e\0\xb0\x01\0\0\x42\x32\0\0\xe4\x38\0\0\x4f\xfc\x0e\0\xb8\x01\0\0\x42\x32\0\ -\0\xe4\x38\0\0\x1f\xfc\x0e\0\xc0\x01\0\0\x42\x32\0\0\x40\x39\0\0\x29\x04\x0f\0\ -\xc8\x01\0\0\x42\x32\0\0\x40\x39\0\0\x38\x04\x0f\0\xe0\x01\0\0\x42\x32\0\0\x40\ -\x39\0\0\x3b\x04\x0f\0\xe8\x01\0\0\x42\x32\0\0\xe4\x38\0\0\x1d\xfc\x0e\0\xf0\ -\x01\0\0\x42\x32\0\0\x40\x39\0\0\x48\x04\x0f\0\xf8\x01\0\0\x42\x32\0\0\x40\x39\ -\0\0\x55\x04\x0f\0\0\x02\0\0\x42\x32\0\0\x40\x39\0\0\x59\x04\x0f\0\x08\x02\0\0\ -\x42\x32\0\0\x40\x39\0\0\x22\x04\x0f\0\x10\x02\0\0\x42\x32\0\0\x40\x39\0\0\x20\ -\x04\x0f\0\x18\x02\0\0\x42\x32\0\0\xa7\x39\0\0\x31\x08\x0f\0\x30\x02\0\0\x42\ -\x32\0\0\xa7\x39\0\0\x34\x08\x0f\0\x38\x02\0\0\x42\x32\0\0\xa7\x39\0\0\x41\x08\ -\x0f\0\x40\x02\0\0\x42\x32\0\0\xa7\x39\0\0\x4a\x08\x0f\0\x48\x02\0\0\x42\x32\0\ -\0\xa7\x39\0\0\x4e\x08\x0f\0\x50\x02\0\0\x42\x32\0\0\xa7\x39\0\0\x1e\x08\x0f\0\ -\x58\x02\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\x70\x02\0\0\x42\x32\0\0\x03\x3a\0\0\ -\x05\x10\x0f\0\xa8\x02\0\0\x42\x32\0\0\x4a\x3a\0\0\x19\x2c\x0f\0\xb0\x02\0\0\ -\x42\x32\0\0\x67\x3a\0\0\x18\x20\x0f\0\xc8\x02\0\0\x42\x32\0\0\x83\x3a\0\0\x05\ -\x34\x0f\0\xf8\x02\0\0\x42\x32\0\0\xc7\x3a\0\0\x14\x44\x0f\0\x20\x03\0\0\x42\ -\x32\0\0\x25\x3b\0\0\x09\x48\x0f\0\x28\x03\0\0\x42\x32\0\0\x3e\x3b\0\0\x09\x50\ -\x0f\0\x50\x03\0\0\x42\x32\0\0\x72\x3b\0\0\x09\x60\x0f\0\x80\x03\0\0\x42\x32\0\ -\0\xb3\x3b\0\0\x27\x64\x0f\0\x88\x03\0\0\x42\x32\0\0\xb3\x3b\0\0\x1e\x64\x0f\0\ -\x90\x03\0\0\x42\x32\0\0\xe1\x3b\0\0\x2d\x68\x0f\0\x98\x03\0\0\x42\x32\0\0\xe1\ -\x3b\0\0\x24\x68\x0f\0\xa0\x03\0\0\x42\x32\0\0\x1b\x3c\0\0\x2f\x6c\x0f\0\xa8\ -\x03\0\0\x42\x32\0\0\x1b\x3c\0\0\x26\x6c\x0f\0\xb0\x03\0\0\x42\x32\0\0\x59\x3c\ -\0\0\x2d\x70\x0f\0\xb8\x03\0\0\x42\x32\0\0\x59\x3c\0\0\x24\x70\x0f\0\xc0\x03\0\ -\0\x42\x32\0\0\x93\x3c\0\0\x09\x74\x0f\0\xe8\x03\0\0\x42\x32\0\0\xc0\x3c\0\0\ -\x3b\xbc\x0f\0\x08\x04\0\0\x42\x32\0\0\xc0\x3c\0\0\x21\xbc\x0f\0\x20\x04\0\0\ -\x42\x32\0\0\xc0\x3c\0\0\x2d\xbc\x0f\0\x38\x04\0\0\x42\x32\0\0\xc0\x3c\0\0\x2b\ -\xbc\x0f\0\x50\x04\0\0\x42\x32\0\0\xc0\x3c\0\0\x05\xbc\x0f\0\x58\x04\0\0\x42\ -\x32\0\0\xff\x3c\0\0\x10\xc0\x0f\0\x68\x04\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\x70\ -\x04\0\0\x42\x32\0\0\x18\x3d\0\0\x10\xc4\x0f\0\x90\x04\0\0\x42\x32\0\0\x5a\x3d\ -\0\0\x0c\xc8\x0f\0\xa0\x04\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\xa8\x04\0\0\x42\x32\ -\0\0\x74\x3d\0\0\x15\xd4\x0f\0\xc8\x04\0\0\x42\x32\0\0\xbd\x3d\0\0\x10\xd8\x0f\ -\0\xd0\x04\0\0\x42\x32\0\0\xd5\x3d\0\0\x35\xdc\x0f\0\xe0\x04\0\0\x42\x32\0\0\ -\xd5\x3d\0\0\x28\xdc\x0f\0\xe8\x04\0\0\x42\x32\0\0\x0b\x3e\0\0\x1f\xe0\x0f\0\ -\xf0\x04\0\0\x42\x32\0\0\xd5\x3d\0\0\x35\xdc\x0f\0\xf8\x04\0\0\x42\x32\0\0\xd5\ -\x3d\0\0\x28\xdc\x0f\0\x20\x05\0\0\x42\x32\0\0\xd5\x3d\0\0\x35\xdc\x0f\0\x38\ -\x05\0\0\x42\x32\0\0\x31\x3e\0\0\x11\xec\x0f\0\x60\x05\0\0\x42\x32\0\0\x8a\x3e\ -\0\0\x19\xf0\x0f\0\x90\x05\0\0\x42\x32\0\0\xd7\x3e\0\0\x23\xfc\x0f\0\xa0\x05\0\ -\0\x42\x32\0\0\0\x3f\0\0\x31\0\x10\0\xb0\x05\0\0\x42\x32\0\0\x44\x3f\0\0\x13\ -\xcc\x0e\0\xb8\x05\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\xc8\x05\0\0\x42\x32\0\0\x60\ -\x3f\0\0\x0f\xd4\x0e\0\xd0\x05\0\0\x42\x32\0\0\x60\x3f\0\0\x1c\xd4\x0e\0\xf0\ -\x05\0\0\x42\x32\0\0\x60\x3f\0\0\x21\xd4\x0e\0\x08\x06\0\0\x42\x32\0\0\x60\x3f\ -\0\0\x56\xd4\x0e\0\x10\x06\0\0\x42\x32\0\0\x60\x3f\0\0\x08\xd4\x0e\0\x18\x06\0\ -\0\x42\x32\0\0\xbc\x3f\0\0\x25\xd8\x0e\0\x20\x06\0\0\x42\x32\0\0\xbc\x3f\0\0\ -\x2f\xd8\x0e\0\x28\x06\0\0\x42\x32\0\0\xbc\x3f\0\0\x35\xd8\x0e\0\x30\x06\0\0\ -\x42\x32\0\0\xbc\x3f\0\0\x1d\xd8\x0e\0\x38\x06\0\0\x42\x32\0\0\xff\x3f\0\0\x27\ -\xdc\x0e\0\x40\x06\0\0\x42\x32\0\0\xff\x3f\0\0\x34\xdc\x0e\0\x48\x06\0\0\x42\ -\x32\0\0\xff\x3f\0\0\x3a\xdc\x0e\0\x50\x06\0\0\x42\x32\0\0\xff\x3f\0\0\x1f\xdc\ -\x0e\0\x58\x06\0\0\x42\x32\0\0\x47\x40\0\0\x25\xe0\x0e\0\x60\x06\0\0\x42\x32\0\ -\0\x47\x40\0\0\x30\xe0\x0e\0\x68\x06\0\0\x42\x32\0\0\x47\x40\0\0\x35\xe0\x0e\0\ -\x70\x06\0\0\x42\x32\0\0\x47\x40\0\0\x1d\xe0\x0e\0\x78\x06\0\0\x42\x32\0\0\x8a\ -\x40\0\0\x28\xe4\x0e\0\x80\x06\0\0\x42\x32\0\0\x8a\x40\0\0\x35\xe4\x0e\0\x88\ -\x06\0\0\x42\x32\0\0\x8a\x40\0\0\x3a\xe4\x0e\0\x90\x06\0\0\x42\x32\0\0\x8a\x40\ -\0\0\x20\xe4\x0e\0\x98\x06\0\0\x42\x32\0\0\xd2\x40\0\0\x24\xe8\x0e\0\xa0\x06\0\ -\0\x42\x32\0\0\xd2\x40\0\0\x2d\xe8\x0e\0\xa8\x06\0\0\x42\x32\0\0\xd2\x40\0\0\ -\x32\xe8\x0e\0\xb8\x06\0\0\x42\x32\0\0\x12\x41\0\0\x0d\x24\x10\0\xe8\x06\0\0\ -\x42\x32\0\0\x51\x41\0\0\x09\xdc\x12\0\x10\x07\0\0\x42\x32\0\0\x77\x41\0\0\0\ -\x48\x13\0\x18\x07\0\0\x42\x32\0\0\xb6\x41\0\0\x26\x54\x12\0\x48\x07\0\0\x42\ -\x32\0\0\x24\x42\0\0\x08\x58\x12\0\x50\x07\0\0\x42\x32\0\0\x32\x42\0\0\x09\x60\ -\x12\0\x78\x07\0\0\x42\x32\0\0\x6b\x42\0\0\x05\x6c\x12\0\xb8\x07\0\0\x42\x32\0\ -\0\xa0\x42\0\0\x0d\x74\x12\0\xc8\x07\0\0\x42\x32\0\0\x6b\x42\0\0\x05\x6c\x12\0\ -\xd0\x07\0\0\x42\x32\0\0\xb7\x42\0\0\x15\x78\x12\0\xe8\x07\0\0\x42\x32\0\0\xf1\ -\x42\0\0\x0c\x7c\x12\0\xf0\x07\0\0\x42\x32\0\0\x03\x43\0\0\x21\x88\x12\0\xf8\ -\x07\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\x08\x08\0\0\x42\x32\0\0\xa0\x42\0\0\x0d\ -\x74\x12\0\x18\x08\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\x20\x08\0\0\x42\x32\0\0\xb7\ -\x42\0\0\x15\x78\x12\0\x48\x08\0\0\x42\x32\0\0\xf1\x42\0\0\x0c\x7c\x12\0\x50\ -\x08\0\0\x42\x32\0\0\x03\x43\0\0\x21\x88\x12\0\x58\x08\0\0\x42\x32\0\0\0\0\0\0\ -\0\0\0\0\x68\x08\0\0\x42\x32\0\0\xa0\x42\0\0\x0d\x74\x12\0\x78\x08\0\0\x42\x32\ -\0\0\0\0\0\0\0\0\0\0\x80\x08\0\0\x42\x32\0\0\xb7\x42\0\0\x15\x78\x12\0\x98\x08\ -\0\0\x42\x32\0\0\xf1\x42\0\0\x0c\x7c\x12\0\xa0\x08\0\0\x42\x32\0\0\x03\x43\0\0\ -\x21\x88\x12\0\xa8\x08\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\xb8\x08\0\0\x42\x32\0\0\ -\xa0\x42\0\0\x0d\x74\x12\0\xc8\x08\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\xd0\x08\0\0\ -\x42\x32\0\0\xb7\x42\0\0\x15\x78\x12\0\xf8\x08\0\0\x42\x32\0\0\xf1\x42\0\0\x0c\ -\x7c\x12\0\0\x09\0\0\x42\x32\0\0\x03\x43\0\0\x21\x88\x12\0\x08\x09\0\0\x42\x32\ -\0\0\0\0\0\0\0\0\0\0\x18\x09\0\0\x42\x32\0\0\xa0\x42\0\0\x0d\x74\x12\0\x28\x09\ -\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\x30\x09\0\0\x42\x32\0\0\xb7\x42\0\0\x15\x78\ -\x12\0\x48\x09\0\0\x42\x32\0\0\xf1\x42\0\0\x0c\x7c\x12\0\x50\x09\0\0\x42\x32\0\ -\0\x03\x43\0\0\x21\x88\x12\0\x58\x09\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\x68\x09\0\ -\0\x42\x32\0\0\xa0\x42\0\0\x0d\x74\x12\0\x78\x09\0\0\x42\x32\0\0\0\0\0\0\0\0\0\ -\0\x80\x09\0\0\x42\x32\0\0\xb7\x42\0\0\x15\x78\x12\0\xa8\x09\0\0\x42\x32\0\0\ -\xf1\x42\0\0\x0c\x7c\x12\0\xb0\x09\0\0\x42\x32\0\0\x03\x43\0\0\x21\x88\x12\0\ -\xb8\x09\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\xc8\x09\0\0\x42\x32\0\0\xa0\x42\0\0\ -\x0d\x74\x12\0\xd8\x09\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\xe0\x09\0\0\x42\x32\0\0\ -\xb7\x42\0\0\x15\x78\x12\0\xf8\x09\0\0\x42\x32\0\0\xf1\x42\0\0\x0c\x7c\x12\0\0\ -\x0a\0\0\x42\x32\0\0\x03\x43\0\0\x21\x88\x12\0\x08\x0a\0\0\x42\x32\0\0\0\0\0\0\ -\0\0\0\0\x18\x0a\0\0\x42\x32\0\0\xa0\x42\0\0\x0d\x74\x12\0\x28\x0a\0\0\x42\x32\ -\0\0\0\0\0\0\0\0\0\0\x30\x0a\0\0\x42\x32\0\0\xb7\x42\0\0\x15\x78\x12\0\x50\x0a\ -\0\0\x42\x32\0\0\xf1\x42\0\0\x0c\x7c\x12\0\x58\x0a\0\0\x42\x32\0\0\x03\x43\0\0\ -\x21\x88\x12\0\x60\x0a\0\0\x42\x32\0\0\0\0\0\0\0\0\0\0\x68\x0a\0\0\x42\x32\0\0\ -\x2a\x43\0\0\x05\x90\x12\0\x80\x0a\0\0\x42\x32\0\0\x4a\x43\0\0\x05\x50\x13\0\ -\x10\0\0\0\xab\x71\0\0\x04\0\0\0\0\0\0\0\x4f\0\0\0\x62\x71\0\0\0\0\0\0\x58\0\0\ -\0\x4f\0\0\0\x67\x71\0\0\0\0\0\0\xf0\0\0\0\x4f\0\0\0\x62\x71\0\0\0\0\0\0\x68\ -\x01\0\0\x4f\0\0\0\x6c\x71\0\0\0\0\0\0\xbf\x71\0\0\x04\0\0\0\0\0\0\0\x4f\0\0\0\ -\x62\x71\0\0\0\0\0\0\x58\0\0\0\x4f\0\0\0\x67\x71\0\0\0\0\0\0\xf0\0\0\0\x4f\0\0\ -\0\x62\x71\0\0\0\0\0\0\x68\x01\0\0\x4f\0\0\0\x6c\x71\0\0\0\0\0\0\xd7\x71\0\0\ -\x02\0\0\0\x08\0\0\0\xa0\x01\0\0\x72\x71\0\0\0\0\0\0\xf8\0\0\0\xa0\x01\0\0\x76\ -\x71\0\0\0\0\0\0\x1f\x72\0\0\x05\0\0\0\x08\0\0\0\xa7\x01\0\0\x7a\x71\0\0\0\0\0\ -\0\x18\0\0\0\xa7\x01\0\0\x7e\x71\0\0\0\0\0\0\xd0\x02\0\0\xa7\x01\0\0\x82\x71\0\ -\0\0\0\0\0\x50\x11\0\0\xa7\x01\0\0\x86\x71\0\0\0\0\0\0\xb8\x14\0\0\xa7\x01\0\0\ -\x7a\x71\0\0\0\0\0\0\x57\x72\0\0\x05\0\0\0\x10\0\0\0\x4f\0\0\0\x62\x71\0\0\0\0\ -\0\0\x58\0\0\0\x4f\0\0\0\x67\x71\0\0\0\0\0\0\xe8\0\0\0\x4f\0\0\0\x62\x71\0\0\0\ -\0\0\0\x20\x01\0\0\x4f\0\0\0\x67\x71\0\0\0\0\0\0\x70\x01\0\0\x4f\0\0\0\x6c\x71\ -\0\0\0\0\0\0\x79\x72\0\0\x05\0\0\0\x10\0\0\0\x4f\0\0\0\x62\x71\0\0\0\0\0\0\x58\ -\0\0\0\x4f\0\0\0\x67\x71\0\0\0\0\0\0\xe8\0\0\0\x4f\0\0\0\x62\x71\0\0\0\0\0\0\ -\x20\x01\0\0\x4f\0\0\0\x67\x71\0\0\0\0\0\0\x70\x01\0\0\x4f\0\0\0\x6c\x71\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\x03\ -\0\0\0\x20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x40\0\0\0\0\0\0\0\xe8\x0a\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x09\0\0\0\x02\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\x28\x0b\0\0\0\0\0\0\x58\x11\0\0\0\0\0\0\x01\0\0\0\0\0\ -\0\0\x08\0\0\0\0\0\0\0\x18\0\0\0\0\0\0\0\x11\0\0\0\x01\0\0\0\x06\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\x80\x1c\0\0\0\0\0\0\x38\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x17\0\0\0\x01\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\xb8\x20\0\0\0\0\0\0\x98\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\x2b\0\0\0\x01\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x50\x25\ -\0\0\0\0\0\0\x98\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\x43\0\0\0\x01\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xe8\x29\0\0\0\0\0\0\ -\xc0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x67\0\0\ -\0\x01\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xa8\x2b\0\0\0\0\0\0\xe8\x01\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x8b\0\0\0\x01\0\0\0\ -\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x90\x2d\0\0\0\0\0\0\x28\x18\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xa9\0\0\0\x01\0\0\0\x06\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\xb8\x45\0\0\0\0\0\0\x18\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xc3\0\0\0\x01\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\xd0\x47\0\0\0\0\0\0\x68\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\xe5\0\0\0\x01\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\x38\x4c\0\0\0\0\0\0\x60\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\x06\x01\0\0\x01\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x98\x50\0\ -\0\0\0\0\0\x38\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\x23\x01\0\0\x01\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xd0\x52\0\0\0\0\0\0\ -\x18\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x3f\x01\ -\0\0\x01\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xe8\x54\0\0\0\0\0\0\x38\x02\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x60\x01\0\0\x01\0\ -\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x20\x57\0\0\0\0\0\0\x18\x02\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x80\x01\0\0\x01\0\0\0\x06\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x38\x59\0\0\0\0\0\0\x90\x0a\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x8b\x01\0\0\x01\0\0\0\x03\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\xc8\x63\0\0\0\0\0\0\x0d\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x93\x01\0\0\x01\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\xd8\x63\0\0\0\0\0\0\x1b\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\x9b\x01\0\0\x01\0\0\0\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xf8\ -\x64\0\0\0\0\0\0\xb0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\xa1\x01\0\0\x08\0\0\0\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xa8\x66\0\0\0\ -\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x28\ -\x09\0\0\x09\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xa8\x66\0\0\0\0\0\0\x90\0\ -\0\0\0\0\0\0\x02\0\0\0\x03\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\x32\x09\0\ -\0\x09\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x38\x67\0\0\0\0\0\0\x60\0\0\0\0\ -\0\0\0\x02\0\0\0\x04\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\x4a\x09\0\0\x09\ -\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x98\x67\0\0\0\0\0\0\x60\0\0\0\0\0\0\0\ -\x02\0\0\0\x05\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\x66\x09\0\0\x09\0\0\0\ -\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xf8\x67\0\0\0\0\0\0\x20\0\0\0\0\0\0\0\x02\0\ -\0\0\x06\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\x8e\x09\0\0\x09\0\0\0\x40\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x18\x68\0\0\0\0\0\0\x80\0\0\0\0\0\0\0\x02\0\0\0\ -\x07\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\xb6\x09\0\0\x09\0\0\0\x40\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\x98\x68\0\0\0\0\0\0\x40\x02\0\0\0\0\0\0\x02\0\0\0\x08\ -\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\xd8\x09\0\0\x09\0\0\0\x40\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\xd8\x6a\0\0\0\0\0\0\x40\0\0\0\0\0\0\0\x02\0\0\0\x09\0\0\0\ -\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\xf6\x09\0\0\x09\0\0\0\x40\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\x18\x6b\0\0\0\0\0\0\x60\0\0\0\0\0\0\0\x02\0\0\0\x0a\0\0\0\x08\0\ -\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\x1c\x0a\0\0\x09\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\x78\x6b\0\0\0\0\0\0\x60\0\0\0\0\0\0\0\x02\0\0\0\x0b\0\0\0\x08\0\0\0\0\ -\0\0\0\x10\0\0\0\0\0\0\0\x41\x0a\0\0\x09\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\xd8\x6b\0\0\0\0\0\0\x60\0\0\0\0\0\0\0\x02\0\0\0\x0c\0\0\0\x08\0\0\0\0\0\0\0\ -\x10\0\0\0\0\0\0\0\x62\x0a\0\0\x09\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x38\ -\x6c\0\0\0\0\0\0\x50\0\0\0\0\0\0\0\x02\0\0\0\x0d\0\0\0\x08\0\0\0\0\0\0\0\x10\0\ -\0\0\0\0\0\0\x82\x0a\0\0\x09\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x88\x6c\0\ -\0\0\0\0\0\x60\0\0\0\0\0\0\0\x02\0\0\0\x0e\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\ -\0\0\0\xa7\x0a\0\0\x09\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xe8\x6c\0\0\0\0\ -\0\0\x50\0\0\0\0\0\0\0\x02\0\0\0\x0f\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\ -\xcb\x0a\0\0\x09\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x38\x6d\0\0\0\0\0\0\ -\xb0\x01\0\0\0\0\0\0\x02\0\0\0\x10\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\ -\xda\x0a\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xe8\x6e\0\0\0\0\0\0\x78\ -\xc4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xdf\x0a\0\0\ -\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x60\x33\x01\0\0\0\0\0\xac\x3f\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"; - - *sz = sizeof(data) - 1; - return (const void *)data; -} - -#ifdef __cplusplus -struct cpu_stats_bpf *cpu_stats_bpf::open(const struct bpf_object_open_opts *opts) { return cpu_stats_bpf__open_opts(opts); } -struct cpu_stats_bpf *cpu_stats_bpf::open_and_load() { return cpu_stats_bpf__open_and_load(); } -int cpu_stats_bpf::load(struct cpu_stats_bpf *skel) { return cpu_stats_bpf__load(skel); } -int cpu_stats_bpf::attach(struct cpu_stats_bpf *skel) { return cpu_stats_bpf__attach(skel); } -void cpu_stats_bpf::detach(struct cpu_stats_bpf *skel) { cpu_stats_bpf__detach(skel); } -void cpu_stats_bpf::destroy(struct cpu_stats_bpf *skel) { cpu_stats_bpf__destroy(skel); } -const void *cpu_stats_bpf::elf_bytes(size_t *sz) { return cpu_stats_bpf__elf_bytes(sz); } -#endif /* __cplusplus */ - -__attribute__((unused)) static void -cpu_stats_bpf__assert(struct cpu_stats_bpf *s __attribute__((unused))) -{ -#ifdef __cplusplus -#define _Static_assert static_assert -#endif - _Static_assert(sizeof(s->rodata->zero) == 4, "unexpected size of 'zero'"); - _Static_assert(sizeof(s->rodata->one) == 4, "unexpected size of 'one'"); - _Static_assert(sizeof(s->bss->latency_bk_window) == 8, "unexpected size of 'latency_bk_window'"); - _Static_assert(sizeof(s->bss->latency_ema) == 12, "unexpected size of 'latency_ema'"); - _Static_assert(sizeof(s->bss->usage_ema) == 12, "unexpected size of 'usage_ema'"); - _Static_assert(sizeof(s->bss->task_csw_ema) == 12, "unexpected size of 'task_csw_ema'"); - _Static_assert(sizeof(s->bss->task_preempt_ema) == 12, "unexpected size of 'task_preempt_ema'"); -#ifdef __cplusplus -#undef _Static_assert -#endif -} - -#endif /* __CPU_STATS_BPF_SKEL_H__ */ diff --git a/.output/cpu_stats.tmp.bpf.o b/.output/cpu_stats.tmp.bpf.o deleted file mode 100644 index 035d5b8..0000000 Binary files a/.output/cpu_stats.tmp.bpf.o and /dev/null differ diff --git a/.output/io_stats.bpf.o b/.output/io_stats.bpf.o deleted file mode 100644 index daa933c..0000000 Binary files a/.output/io_stats.bpf.o and /dev/null differ diff --git a/.output/io_stats.skel.h b/.output/io_stats.skel.h deleted file mode 100644 index e7a2490..0000000 --- a/.output/io_stats.skel.h +++ /dev/null @@ -1,1279 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ - -/* THIS FILE IS AUTOGENERATED BY BPFTOOL! */ -#ifndef __IO_STATS_BPF_SKEL_H__ -#define __IO_STATS_BPF_SKEL_H__ - -#include -#include -#include - -#define BPF_SKEL_SUPPORTS_MAP_AUTO_ATTACH 1 - -struct io_stats_bpf { - struct bpf_object_skeleton *skeleton; - struct bpf_object *obj; - struct { - struct bpf_map *io_wait_map; - struct bpf_map *io_wait_buffer; - struct bpf_map *io_wait_count_map; - struct bpf_map *io_task_stats_map; - struct bpf_map *io_process_stats_map; - struct bpf_map *io_threhold_map; - struct bpf_map *io_task_stats_buffer; - struct bpf_map *io_process_stats_buffer; - struct bpf_map *rodata; - } maps; - struct { - struct bpf_program *io_trace_rq_issue; - struct bpf_program *io_trace_rq_complete; - struct bpf_program *handle_io_wait_event; - struct bpf_program *io_trace_enter_read; - struct bpf_program *io_trace_enter_write; - struct bpf_program *handle_io_task_exit; - } progs; - struct { - struct bpf_link *io_trace_rq_issue; - struct bpf_link *io_trace_rq_complete; - struct bpf_link *handle_io_wait_event; - struct bpf_link *io_trace_enter_read; - struct bpf_link *io_trace_enter_write; - struct bpf_link *handle_io_task_exit; - } links; - -#ifdef __cplusplus - static inline struct io_stats_bpf *open(const struct bpf_object_open_opts *opts = nullptr); - static inline struct io_stats_bpf *open_and_load(); - static inline int load(struct io_stats_bpf *skel); - static inline int attach(struct io_stats_bpf *skel); - static inline void detach(struct io_stats_bpf *skel); - static inline void destroy(struct io_stats_bpf *skel); - static inline const void *elf_bytes(size_t *sz); -#endif /* __cplusplus */ -}; - -static void -io_stats_bpf__destroy(struct io_stats_bpf *obj) -{ - if (!obj) - return; - if (obj->skeleton) - bpf_object__destroy_skeleton(obj->skeleton); - free(obj); -} - -static inline int -io_stats_bpf__create_skeleton(struct io_stats_bpf *obj); - -static inline struct io_stats_bpf * -io_stats_bpf__open_opts(const struct bpf_object_open_opts *opts) -{ - struct io_stats_bpf *obj; - int err; - - obj = (struct io_stats_bpf *)calloc(1, sizeof(*obj)); - if (!obj) { - errno = ENOMEM; - return NULL; - } - - err = io_stats_bpf__create_skeleton(obj); - if (err) - goto err_out; - - err = bpf_object__open_skeleton(obj->skeleton, opts); - if (err) - goto err_out; - - return obj; -err_out: - io_stats_bpf__destroy(obj); - errno = -err; - return NULL; -} - -static inline struct io_stats_bpf * -io_stats_bpf__open(void) -{ - return io_stats_bpf__open_opts(NULL); -} - -static inline int -io_stats_bpf__load(struct io_stats_bpf *obj) -{ - return bpf_object__load_skeleton(obj->skeleton); -} - -static inline struct io_stats_bpf * -io_stats_bpf__open_and_load(void) -{ - struct io_stats_bpf *obj; - int err; - - obj = io_stats_bpf__open(); - if (!obj) - return NULL; - err = io_stats_bpf__load(obj); - if (err) { - io_stats_bpf__destroy(obj); - errno = -err; - return NULL; - } - return obj; -} - -static inline int -io_stats_bpf__attach(struct io_stats_bpf *obj) -{ - return bpf_object__attach_skeleton(obj->skeleton); -} - -static inline void -io_stats_bpf__detach(struct io_stats_bpf *obj) -{ - bpf_object__detach_skeleton(obj->skeleton); -} - -static inline const void *io_stats_bpf__elf_bytes(size_t *sz); - -static inline int -io_stats_bpf__create_skeleton(struct io_stats_bpf *obj) -{ - struct bpf_object_skeleton *s; - struct bpf_map_skeleton *map __attribute__((unused)); - int err; - - s = (struct bpf_object_skeleton *)calloc(1, sizeof(*s)); - if (!s) { - err = -ENOMEM; - goto err; - } - - s->sz = sizeof(*s); - s->name = "io_stats_bpf"; - s->obj = &obj->obj; - - /* maps */ - s->map_cnt = 9; - s->map_skel_sz = 24; - s->maps = (struct bpf_map_skeleton *)calloc(s->map_cnt, - sizeof(*s->maps) > 24 ? sizeof(*s->maps) : 24); - if (!s->maps) { - err = -ENOMEM; - goto err; - } - - map = (struct bpf_map_skeleton *)((char *)s->maps + 0 * s->map_skel_sz); - map->name = "io_wait_map"; - map->map = &obj->maps.io_wait_map; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 1 * s->map_skel_sz); - map->name = "io_wait_buffer"; - map->map = &obj->maps.io_wait_buffer; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 2 * s->map_skel_sz); - map->name = "io_wait_count_map"; - map->map = &obj->maps.io_wait_count_map; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 3 * s->map_skel_sz); - map->name = "io_task_stats_map"; - map->map = &obj->maps.io_task_stats_map; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 4 * s->map_skel_sz); - map->name = "io_process_stats_map"; - map->map = &obj->maps.io_process_stats_map; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 5 * s->map_skel_sz); - map->name = "io_threhold_map"; - map->map = &obj->maps.io_threhold_map; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 6 * s->map_skel_sz); - map->name = "io_task_stats_buffer"; - map->map = &obj->maps.io_task_stats_buffer; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 7 * s->map_skel_sz); - map->name = "io_process_stats_buffer"; - map->map = &obj->maps.io_process_stats_buffer; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 8 * s->map_skel_sz); - map->name = "io_stats.rodata"; - map->map = &obj->maps.rodata; - - /* programs */ - s->prog_cnt = 6; - s->prog_skel_sz = sizeof(*s->progs); - s->progs = (struct bpf_prog_skeleton *)calloc(s->prog_cnt, s->prog_skel_sz); - if (!s->progs) { - err = -ENOMEM; - goto err; - } - - s->progs[0].name = "io_trace_rq_issue"; - s->progs[0].prog = &obj->progs.io_trace_rq_issue; - s->progs[0].link = &obj->links.io_trace_rq_issue; - - s->progs[1].name = "io_trace_rq_complete"; - s->progs[1].prog = &obj->progs.io_trace_rq_complete; - s->progs[1].link = &obj->links.io_trace_rq_complete; - - s->progs[2].name = "handle_io_wait_event"; - s->progs[2].prog = &obj->progs.handle_io_wait_event; - s->progs[2].link = &obj->links.handle_io_wait_event; - - s->progs[3].name = "io_trace_enter_read"; - s->progs[3].prog = &obj->progs.io_trace_enter_read; - s->progs[3].link = &obj->links.io_trace_enter_read; - - s->progs[4].name = "io_trace_enter_write"; - s->progs[4].prog = &obj->progs.io_trace_enter_write; - s->progs[4].link = &obj->links.io_trace_enter_write; - - s->progs[5].name = "handle_io_task_exit"; - s->progs[5].prog = &obj->progs.handle_io_task_exit; - s->progs[5].link = &obj->links.handle_io_task_exit; - - s->data = io_stats_bpf__elf_bytes(&s->data_sz); - - obj->skeleton = s; - return 0; -err: - bpf_object__destroy_skeleton(s); - return err; -} - -static inline const void *io_stats_bpf__elf_bytes(size_t *sz) -{ - static const char data[] __attribute__((__aligned__(8))) = "\ -\x7f\x45\x4c\x46\x02\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\xf7\0\x01\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\x30\x5d\0\0\0\0\0\0\0\0\0\0\x40\0\0\0\0\0\x40\0\x16\0\ -\x01\0\0\x2e\x73\x74\x72\x74\x61\x62\0\x2e\x73\x79\x6d\x74\x61\x62\0\x2e\x74\ -\x65\x78\x74\0\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x62\x6c\x6f\x63\x6b\ -\x2f\x62\x6c\x6f\x63\x6b\x5f\x72\x71\x5f\x69\x73\x73\x75\x65\0\x74\x72\x61\x63\ -\x65\x70\x6f\x69\x6e\x74\x2f\x62\x6c\x6f\x63\x6b\x2f\x62\x6c\x6f\x63\x6b\x5f\ -\x72\x71\x5f\x63\x6f\x6d\x70\x6c\x65\x74\x65\0\x70\x65\x72\x66\x5f\x65\x76\x65\ -\x6e\x74\0\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x73\x79\x73\x63\x61\x6c\ -\x6c\x73\x2f\x73\x79\x73\x5f\x65\x6e\x74\x65\x72\x5f\x72\x65\x61\x64\0\x74\x72\ -\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x73\x79\x73\x63\x61\x6c\x6c\x73\x2f\x73\ -\x79\x73\x5f\x65\x6e\x74\x65\x72\x5f\x77\x72\x69\x74\x65\0\x74\x72\x61\x63\x65\ -\x70\x6f\x69\x6e\x74\x2f\x73\x63\x68\x65\x64\x2f\x73\x63\x68\x65\x64\x5f\x70\ -\x72\x6f\x63\x65\x73\x73\x5f\x65\x78\x69\x74\0\x6c\x69\x63\x65\x6e\x73\x65\0\ -\x2e\x6d\x61\x70\x73\0\x2e\x72\x6f\x64\x61\x74\x61\0\x69\x6f\x5f\x73\x74\x61\ -\x74\x73\x2e\x62\x70\x66\x2e\x63\0\x4c\x42\x42\x31\x5f\x32\x30\0\x4c\x42\x42\ -\x31\x5f\x33\0\x4c\x42\x42\x31\x5f\x31\x36\0\x4c\x42\x42\x31\x5f\x35\0\x4c\x42\ -\x42\x31\x5f\x37\0\x4c\x42\x42\x31\x5f\x39\0\x4c\x42\x42\x31\x5f\x31\x31\0\x4c\ -\x42\x42\x31\x5f\x31\x33\0\x4c\x42\x42\x31\x5f\x31\x35\0\x4c\x42\x42\x31\x5f\ -\x31\x38\0\x6f\x6e\x65\0\x4c\x42\x42\x31\x5f\x31\x39\0\x4c\x42\x42\x32\x5f\x32\ -\0\x68\x61\x6e\x64\x6c\x65\x5f\x69\x6f\x5f\x77\x61\x69\x74\x5f\x65\x76\x65\x6e\ -\x74\x2e\x5f\x5f\x5f\x5f\x66\x6d\x74\0\x4c\x42\x42\x32\x5f\x31\x39\0\x4c\x42\ -\x42\x32\x5f\x34\0\x4c\x42\x42\x32\x5f\x36\0\x4c\x42\x42\x32\x5f\x38\0\x4c\x42\ -\x42\x32\x5f\x31\x30\0\x4c\x42\x42\x32\x5f\x31\x32\0\x4c\x42\x42\x32\x5f\x31\ -\x34\0\x4c\x42\x42\x32\x5f\x31\x36\0\x4c\x42\x42\x32\x5f\x31\x38\0\x4c\x42\x42\ -\x33\x5f\x39\0\x4c\x42\x42\x33\x5f\x33\0\x4c\x42\x42\x33\x5f\x36\0\x4c\x42\x42\ -\x33\x5f\x35\0\x69\x6f\x5f\x74\x61\x73\x6b\x5f\x63\x6f\x6d\x70\x61\x72\x65\x5f\ -\x61\x6e\x64\x5f\x63\x6f\x6d\x6d\x69\x74\0\x4c\x42\x42\x33\x5f\x38\0\x69\x6f\ -\x5f\x70\x72\x6f\x63\x65\x73\x73\x5f\x63\x6f\x6d\x70\x61\x72\x65\x5f\x61\x6e\ -\x64\x5f\x63\x6f\x6d\x6d\x69\x74\0\x7a\x65\x72\x6f\0\x4c\x42\x42\x34\x5f\x32\0\ -\x69\x6f\x5f\x74\x61\x73\x6b\x5f\x63\x6f\x6d\x70\x61\x72\x65\x5f\x61\x6e\x64\ -\x5f\x63\x6f\x6d\x6d\x69\x74\x2e\x5f\x5f\x5f\x5f\x66\x6d\x74\0\x4c\x42\x42\x34\ -\x5f\x31\x33\0\x4c\x42\x42\x34\x5f\x34\0\x4c\x42\x42\x34\x5f\x31\x32\0\x4c\x42\ -\x42\x34\x5f\x36\0\x4c\x42\x42\x34\x5f\x39\0\x69\x6f\x5f\x74\x61\x73\x6b\x5f\ -\x63\x6f\x6d\x70\x61\x72\x65\x5f\x61\x6e\x64\x5f\x63\x6f\x6d\x6d\x69\x74\x2e\ -\x5f\x5f\x5f\x5f\x66\x6d\x74\x2e\x31\0\x4c\x42\x42\x34\x5f\x31\x31\0\x4c\x42\ -\x42\x35\x5f\x32\0\x69\x6f\x5f\x70\x72\x6f\x63\x65\x73\x73\x5f\x63\x6f\x6d\x70\ -\x61\x72\x65\x5f\x61\x6e\x64\x5f\x63\x6f\x6d\x6d\x69\x74\x2e\x5f\x5f\x5f\x5f\ -\x66\x6d\x74\0\x4c\x42\x42\x35\x5f\x31\x31\0\x4c\x42\x42\x35\x5f\x34\0\x4c\x42\ -\x42\x35\x5f\x31\x30\0\x4c\x42\x42\x35\x5f\x36\0\x4c\x42\x42\x35\x5f\x39\0\x69\ -\x6f\x5f\x70\x72\x6f\x63\x65\x73\x73\x5f\x63\x6f\x6d\x70\x61\x72\x65\x5f\x61\ -\x6e\x64\x5f\x63\x6f\x6d\x6d\x69\x74\x2e\x5f\x5f\x5f\x5f\x66\x6d\x74\x2e\x32\0\ -\x4c\x42\x42\x36\x5f\x39\0\x4c\x42\x42\x36\x5f\x33\0\x4c\x42\x42\x36\x5f\x36\0\ -\x4c\x42\x42\x36\x5f\x35\0\x4c\x42\x42\x36\x5f\x38\0\x4c\x42\x42\x37\x5f\x34\0\ -\x69\x6f\x5f\x74\x72\x61\x63\x65\x5f\x72\x71\x5f\x69\x73\x73\x75\x65\0\x69\x6f\ -\x5f\x77\x61\x69\x74\x5f\x6d\x61\x70\0\x69\x6f\x5f\x74\x72\x61\x63\x65\x5f\x72\ -\x71\x5f\x63\x6f\x6d\x70\x6c\x65\x74\x65\0\x69\x6f\x5f\x77\x61\x69\x74\x5f\x63\ -\x6f\x75\x6e\x74\x5f\x6d\x61\x70\0\x68\x61\x6e\x64\x6c\x65\x5f\x69\x6f\x5f\x77\ -\x61\x69\x74\x5f\x65\x76\x65\x6e\x74\0\x69\x6f\x5f\x77\x61\x69\x74\x5f\x62\x75\ -\x66\x66\x65\x72\0\x69\x6f\x5f\x74\x72\x61\x63\x65\x5f\x65\x6e\x74\x65\x72\x5f\ -\x72\x65\x61\x64\0\x69\x6f\x5f\x74\x61\x73\x6b\x5f\x73\x74\x61\x74\x73\x5f\x6d\ -\x61\x70\0\x69\x6f\x5f\x70\x72\x6f\x63\x65\x73\x73\x5f\x73\x74\x61\x74\x73\x5f\ -\x6d\x61\x70\0\x69\x6f\x5f\x74\x68\x72\x65\x68\x6f\x6c\x64\x5f\x6d\x61\x70\0\ -\x69\x6f\x5f\x74\x61\x73\x6b\x5f\x73\x74\x61\x74\x73\x5f\x62\x75\x66\x66\x65\ -\x72\0\x69\x6f\x5f\x70\x72\x6f\x63\x65\x73\x73\x5f\x73\x74\x61\x74\x73\x5f\x62\ -\x75\x66\x66\x65\x72\0\x69\x6f\x5f\x74\x72\x61\x63\x65\x5f\x65\x6e\x74\x65\x72\ -\x5f\x77\x72\x69\x74\x65\0\x68\x61\x6e\x64\x6c\x65\x5f\x69\x6f\x5f\x74\x61\x73\ -\x6b\x5f\x65\x78\x69\x74\0\x4c\x49\x43\x45\x4e\x53\x45\0\x2e\x72\x65\x6c\x2e\ -\x74\x65\x78\x74\0\x2e\x72\x65\x6c\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\ -\x62\x6c\x6f\x63\x6b\x2f\x62\x6c\x6f\x63\x6b\x5f\x72\x71\x5f\x69\x73\x73\x75\ -\x65\0\x2e\x72\x65\x6c\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x62\x6c\x6f\ -\x63\x6b\x2f\x62\x6c\x6f\x63\x6b\x5f\x72\x71\x5f\x63\x6f\x6d\x70\x6c\x65\x74\ -\x65\0\x2e\x72\x65\x6c\x70\x65\x72\x66\x5f\x65\x76\x65\x6e\x74\0\x2e\x72\x65\ -\x6c\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x73\x79\x73\x63\x61\x6c\x6c\ -\x73\x2f\x73\x79\x73\x5f\x65\x6e\x74\x65\x72\x5f\x72\x65\x61\x64\0\x2e\x72\x65\ -\x6c\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x73\x79\x73\x63\x61\x6c\x6c\ -\x73\x2f\x73\x79\x73\x5f\x65\x6e\x74\x65\x72\x5f\x77\x72\x69\x74\x65\0\x2e\x72\ -\x65\x6c\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x73\x63\x68\x65\x64\x2f\ -\x73\x63\x68\x65\x64\x5f\x70\x72\x6f\x63\x65\x73\x73\x5f\x65\x78\x69\x74\0\x2e\ -\x42\x54\x46\0\x2e\x42\x54\x46\x2e\x65\x78\x74\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xe6\0\0\0\x04\0\xf1\xff\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\x03\0\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\x04\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\xf5\0\0\0\0\0\x05\0\xf8\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xfd\0\0\0\0\0\ -\x05\0\x78\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x01\0\0\0\0\x05\0\x10\x01\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\x0c\x01\0\0\0\0\x05\0\x90\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\x13\x01\0\0\0\0\x05\0\xa8\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x1a\x01\0\0\0\0\x05\0\ -\xc0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x21\x01\0\0\0\0\x05\0\xd8\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\x29\x01\0\0\0\0\x05\0\xf0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x31\x01\0\ -\0\0\0\x05\0\x08\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x39\x01\0\0\0\0\x05\0\x80\x01\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x41\x01\0\0\x01\0\x0c\0\x20\0\0\0\0\0\0\0\x04\0\0\ -\0\0\0\0\0\x45\x01\0\0\0\0\x05\0\xc0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\x03\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x4d\x01\0\0\0\0\x06\0\x68\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\x54\x01\0\0\x01\0\x0c\0\0\0\0\0\0\0\0\0\x1e\0\0\0\0\0\0\ -\0\x71\x01\0\0\0\0\x06\0\x70\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x79\x01\0\0\0\0\ -\x06\0\xe8\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x80\x01\0\0\0\0\x06\0\x48\x01\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\x87\x01\0\0\0\0\x06\0\x98\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\x8e\x01\0\0\0\0\x06\0\xf8\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x96\x01\0\0\0\0\x06\ -\0\x48\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x9e\x01\0\0\0\0\x06\0\xa8\x02\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\xa6\x01\0\0\0\0\x06\0\xf8\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\xae\x01\0\0\0\0\x06\0\x50\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\x07\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb6\x01\0\0\0\0\x07\0\x20\x03\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\xbd\x01\0\0\0\0\x07\0\x70\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xc4\x01\ -\0\0\0\0\x07\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xcb\x01\0\0\0\0\x07\0\xb8\x01\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xd2\x01\0\0\x02\0\x03\0\0\0\0\0\0\0\0\0\xf8\x02\0\ -\0\0\0\0\0\xed\x01\0\0\0\0\x07\0\xc0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xf4\x01\0\ -\0\x02\0\x03\0\xf8\x02\0\0\0\0\0\0\x10\x02\0\0\0\0\0\0\x12\x02\0\0\x01\0\x0c\0\ -\x24\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\x17\x02\0\0\0\0\x03\0\x68\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\x1e\x02\0\0\x01\0\x0c\0\x28\0\0\0\0\0\0\0\x1d\0\0\0\0\0\0\0\x41\ -\x02\0\0\0\0\x03\0\xf0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x49\x02\0\0\0\0\x03\0\xf8\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x50\x02\0\0\0\0\x03\0\xc0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\x58\x02\0\0\0\0\x03\0\x28\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x5f\x02\0\0\ -\0\0\x03\0\x98\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x66\x02\0\0\x01\0\x0c\0\x45\0\0\ -\0\0\0\0\0\x1c\0\0\0\0\0\0\0\x8b\x02\0\0\0\0\x03\0\xc8\x02\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\x93\x02\0\0\0\0\x03\0\x60\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x9a\x02\0\0\ -\x01\0\x0c\0\x61\0\0\0\0\0\0\0\x1d\0\0\0\0\0\0\0\xc0\x02\0\0\0\0\x03\0\xe0\x03\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xc8\x02\0\0\0\0\x03\0\xe8\x03\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\xcf\x02\0\0\0\0\x03\0\xb0\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xd7\x02\0\0\ -\0\0\x03\0\x18\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xde\x02\0\0\0\0\x03\0\x88\x04\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\xe5\x02\0\0\x01\0\x0c\0\x7e\0\0\0\0\0\0\0\x1f\0\0\0\ -\0\0\0\0\0\0\0\0\x03\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x0d\x03\0\0\0\0\ -\x08\0\x28\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x14\x03\0\0\0\0\x08\0\x70\x01\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\x1b\x03\0\0\0\0\x08\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\x22\x03\0\0\0\0\x08\0\xb8\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x29\x03\0\0\0\0\x08\ -\0\xc8\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\x09\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\x30\x03\0\0\0\0\x09\0\x98\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\x03\0\x0c\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x37\x03\0\0\x12\0\x04\0\0\0\0\0\0\ -\0\0\0\x70\0\0\0\0\0\0\0\x49\x03\0\0\x11\0\x0b\0\0\0\0\0\0\0\0\0\x20\0\0\0\0\0\ -\0\0\x55\x03\0\0\x12\0\x05\0\0\0\0\0\0\0\0\0\x08\x02\0\0\0\0\0\0\x6a\x03\0\0\ -\x11\0\x0b\0\x30\0\0\0\0\0\0\0\x20\0\0\0\0\0\0\0\x7c\x03\0\0\x12\0\x06\0\0\0\0\ -\0\0\0\0\0\x80\x03\0\0\0\0\0\0\x91\x03\0\0\x11\0\x0b\0\x20\0\0\0\0\0\0\0\x10\0\ -\0\0\0\0\0\0\xa0\x03\0\0\x12\0\x07\0\0\0\0\0\0\0\0\0\x30\x03\0\0\0\0\0\0\xb4\ -\x03\0\0\x11\0\x0b\0\x50\0\0\0\0\0\0\0\x20\0\0\0\0\0\0\0\xc6\x03\0\0\x11\0\x0b\ -\0\x70\0\0\0\0\0\0\0\x20\0\0\0\0\0\0\0\xdb\x03\0\0\x11\0\x0b\0\x90\0\0\0\0\0\0\ -\0\x20\0\0\0\0\0\0\0\xeb\x03\0\0\x11\0\x0b\0\xb0\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\ -\0\0\x04\0\0\x11\0\x0b\0\xc0\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\x18\x04\0\0\x12\0\ -\x08\0\0\0\0\0\0\0\0\0\x38\x03\0\0\0\0\0\0\x2d\x04\0\0\x12\0\x09\0\0\0\0\0\0\0\ -\0\0\xa8\0\0\0\0\0\0\0\x41\x04\0\0\x11\0\x0a\0\0\0\0\0\0\0\0\0\x0d\0\0\0\0\0\0\ -\0\xbf\x16\0\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x18\x02\0\0\x24\0\0\ -\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\xbf\x07\0\0\0\0\0\0\x55\x07\x05\0\0\0\0\ -\0\x18\x01\0\0\x28\0\0\0\0\0\0\0\0\0\0\0\xb7\x02\0\0\x1d\0\0\0\x85\0\0\0\x06\0\ -\0\0\x05\0\x11\0\0\0\0\0\x85\0\0\0\x05\0\0\0\xbf\x08\0\0\0\0\0\0\x79\x61\x28\0\ -\0\0\0\0\x79\x72\x08\0\0\0\0\0\x0f\x12\0\0\0\0\0\0\x3d\x82\x0c\0\0\0\0\0\x7b\ -\x86\x28\0\0\0\0\0\xb7\x01\0\0\0\0\0\0\x63\x16\x30\0\0\0\0\0\x63\x16\x20\0\0\0\ -\0\0\x63\x16\x1c\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x62\0\0\0\0\ -\0\0\xbf\x63\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\x95\0\0\0\0\0\ -\0\0\x61\x71\0\0\0\0\0\0\x61\x62\x1c\0\0\0\0\0\x3d\x12\x03\0\0\0\0\0\x61\x61\ -\x20\0\0\0\0\0\x61\x72\x04\0\0\0\0\0\x2d\x12\xf9\xff\0\0\0\0\x61\x61\x30\0\0\0\ -\0\0\x55\x01\xf7\xff\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x02\0\0\ -\x38\0\0\0\xb7\x03\0\0\0\0\0\0\x85\0\0\0\x83\0\0\0\xbf\x09\0\0\0\0\0\0\x55\x09\ -\x05\0\0\0\0\0\x18\x01\0\0\x45\0\0\0\0\0\0\0\0\0\0\0\xb7\x02\0\0\x1c\0\0\0\x85\ -\0\0\0\x06\0\0\0\x05\0\xeb\xff\0\0\0\0\xb7\x01\0\0\0\0\0\0\x7b\x19\x30\0\0\0\0\ -\0\x7b\x19\x28\0\0\0\0\0\x7b\x19\x20\0\0\0\0\0\x7b\x19\x18\0\0\0\0\0\x7b\x19\ -\x10\0\0\0\0\0\x7b\x19\x08\0\0\0\0\0\x7b\x19\0\0\0\0\0\0\x61\x61\0\0\0\0\0\0\ -\x63\x19\0\0\0\0\0\0\x61\x61\x04\0\0\0\0\0\x63\x19\x04\0\0\0\0\0\xbf\x91\0\0\0\ -\0\0\0\x07\x01\0\0\x0c\0\0\0\xbf\x63\0\0\0\0\0\0\x07\x03\0\0\x0c\0\0\0\xb7\x02\ -\0\0\x10\0\0\0\x85\0\0\0\x2d\0\0\0\x61\x62\x1c\0\0\0\0\0\x63\x29\x1c\0\0\0\0\0\ -\x61\x61\x20\0\0\0\0\0\x63\x19\x20\0\0\0\0\0\x79\x63\x28\0\0\0\0\0\x1f\x83\0\0\ -\0\0\0\0\x79\x74\x08\0\0\0\0\0\x0f\x43\0\0\0\0\0\0\x27\x03\0\0\x64\0\0\0\x3f\ -\x43\0\0\0\0\0\0\x67\x03\0\0\x20\0\0\0\x77\x03\0\0\x20\0\0\0\xb7\x04\0\0\x0b\0\ -\0\0\x2d\x34\x06\0\0\0\0\0\x37\x03\0\0\x0a\0\0\0\xbf\x34\0\0\0\0\0\0\x2f\x24\0\ -\0\0\0\0\0\x63\x49\x1c\0\0\0\0\0\x2f\x13\0\0\0\0\0\0\x63\x39\x20\0\0\0\0\0\xbf\ -\x91\0\0\0\0\0\0\xb7\x02\0\0\0\0\0\0\x85\0\0\0\x84\0\0\0\xb7\x01\0\0\x01\0\0\0\ -\x63\x16\x30\0\0\0\0\0\x05\0\xb9\xff\0\0\0\0\xbf\x16\0\0\0\0\0\0\x18\x01\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\x18\x02\0\0\x20\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\ -\0\xbf\x07\0\0\0\0\0\0\x55\x07\x05\0\0\0\0\0\x18\x01\0\0\x61\0\0\0\0\0\0\0\0\0\ -\0\0\xb7\x02\0\0\x1d\0\0\0\x85\0\0\0\x06\0\0\0\x05\0\x10\0\0\0\0\0\x85\0\0\0\ -\x05\0\0\0\x79\x61\x10\0\0\0\0\0\x79\x72\x08\0\0\0\0\0\x0f\x12\0\0\0\0\0\0\x3d\ -\x02\x0c\0\0\0\0\0\x7b\x06\x10\0\0\0\0\0\xb7\x01\0\0\0\0\0\0\x63\x16\x18\0\0\0\ -\0\0\x63\x16\x08\0\0\0\0\0\x63\x16\x04\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\xbf\x62\0\0\0\0\0\0\xbf\x63\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\ -\x02\0\0\0\x95\0\0\0\0\0\0\0\x61\x71\0\0\0\0\0\0\x61\x62\x04\0\0\0\0\0\x3d\x12\ -\x03\0\0\0\0\0\x61\x61\x08\0\0\0\0\0\x61\x72\x04\0\0\0\0\0\x2d\x12\xf9\xff\0\0\ -\0\0\x61\x61\x18\0\0\0\0\0\x55\x01\xf7\xff\0\0\0\0\xb7\x07\0\0\0\0\0\0\x18\x01\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x02\0\0\x20\0\0\0\xb7\x03\0\0\0\0\0\0\x85\0\0\ -\0\x83\0\0\0\x55\0\x05\0\0\0\0\0\x18\x01\0\0\x7e\0\0\0\0\0\0\0\0\0\0\0\xb7\x02\ -\0\0\x1f\0\0\0\x85\0\0\0\x06\0\0\0\x05\0\xeb\xff\0\0\0\0\x7b\x70\x18\0\0\0\0\0\ -\x7b\x70\x10\0\0\0\0\0\x7b\x70\x08\0\0\0\0\0\x7b\x70\0\0\0\0\0\0\x61\x61\0\0\0\ -\0\0\0\x63\x10\0\0\0\0\0\0\x61\x61\x04\0\0\0\0\0\x63\x10\x04\0\0\0\0\0\x61\x61\ -\x08\0\0\0\0\0\x63\x10\x08\0\0\0\0\0\xbf\x01\0\0\0\0\0\0\xb7\x02\0\0\0\0\0\0\ -\x85\0\0\0\x84\0\0\0\xb7\x01\0\0\x01\0\0\0\x63\x16\x18\0\0\0\0\0\x05\0\xd5\xff\ -\0\0\0\0\x61\x11\x08\0\0\0\0\0\x63\x1a\xfc\xff\0\0\0\0\x85\0\0\0\x05\0\0\0\x7b\ -\x0a\xf0\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\xbf\xa3\0\ -\0\0\0\0\0\x07\x03\0\0\xf0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\ -\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\xb7\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\x61\ -\x11\x08\0\0\0\0\0\x63\x1a\xf8\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf8\ -\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\xbf\x06\0\ -\0\0\0\0\0\x15\x06\x36\0\0\0\0\0\x85\0\0\0\x05\0\0\0\x79\x61\0\0\0\0\0\0\x1f\ -\x10\0\0\0\0\0\0\x25\0\x02\0\xe7\x03\0\0\xb7\x01\0\0\0\0\0\0\x05\0\x13\0\0\0\0\ -\0\x25\0\x02\0\x87\x13\0\0\xb7\x01\0\0\x01\0\0\0\x05\0\x10\0\0\0\0\0\x25\0\x02\ -\0\x67\x42\0\0\xb7\x01\0\0\x02\0\0\0\x05\0\x0d\0\0\0\0\0\x25\0\x02\0\xe7\xfd\0\ -\0\xb7\x01\0\0\x03\0\0\0\x05\0\x0a\0\0\0\0\0\x25\0\x02\0\xe7\xeb\x03\0\xb7\x01\ -\0\0\x04\0\0\0\x05\0\x07\0\0\0\0\0\x25\0\x02\0\x3f\x42\x0f\0\xb7\x01\0\0\x05\0\ -\0\0\x05\0\x04\0\0\0\0\0\x25\0\x02\0\xff\x08\x3d\0\xb7\x01\0\0\x06\0\0\0\x05\0\ -\x01\0\0\0\0\0\xb7\x01\0\0\x07\0\0\0\x63\x1a\xfc\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\ -\0\x07\x02\0\0\xfc\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\ -\x01\0\0\0\x55\0\x07\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\ -\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x18\x03\0\0\x20\0\0\0\0\0\0\0\0\0\0\0\x05\ -\0\x08\0\0\0\0\0\x61\x01\0\0\0\0\0\0\x07\x01\0\0\x01\0\0\0\x63\x10\0\0\0\0\0\0\ -\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\xbf\x03\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\xbf\xa2\0\0\ -\0\0\0\0\x07\x02\0\0\xf8\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\ -\0\0\x03\0\0\0\xb7\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\xb7\x07\0\0\0\0\0\0\x18\x01\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x02\0\0\x20\0\0\0\xb7\x03\0\0\0\0\0\0\x85\0\0\ -\0\x83\0\0\0\xbf\x06\0\0\0\0\0\0\x55\x06\x05\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\xb7\x02\0\0\x1e\0\0\0\x85\0\0\0\x06\0\0\0\x05\0\x61\0\0\0\0\0\x63\ -\x76\x1c\0\0\0\0\0\x63\x76\x18\0\0\0\0\0\x63\x76\x14\0\0\0\0\0\x63\x76\x10\0\0\ -\0\0\0\x63\x76\x0c\0\0\0\0\0\x63\x76\x08\0\0\0\0\0\x63\x76\x04\0\0\0\0\0\x63\ -\x76\0\0\0\0\0\0\x63\x7a\xfc\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\ -\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\x15\0\x01\ -\0\0\0\0\0\x61\x07\0\0\0\0\0\0\x63\x76\0\0\0\0\0\0\xb7\x01\0\0\x01\0\0\0\x63\ -\x1a\xfc\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\x18\x01\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\xb7\x07\0\0\0\0\0\0\xb7\x01\0\0\ -\0\0\0\0\x15\0\x01\0\0\0\0\0\x61\x01\0\0\0\0\0\0\x63\x16\x04\0\0\0\0\0\xb7\x01\ -\0\0\x02\0\0\0\x63\x1a\xfc\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\ -\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\x15\0\x01\0\0\ -\0\0\0\x61\x07\0\0\0\0\0\0\x63\x76\x08\0\0\0\0\0\xb7\x01\0\0\x03\0\0\0\x63\x1a\ -\xfc\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\x18\x01\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\xb7\x07\0\0\0\0\0\0\xb7\x01\0\0\0\0\ -\0\0\x15\0\x01\0\0\0\0\0\x61\x01\0\0\0\0\0\0\x63\x16\x0c\0\0\0\0\0\xb7\x01\0\0\ -\x04\0\0\0\x63\x1a\xfc\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\ -\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\x15\0\x01\0\0\0\0\ -\0\x61\x07\0\0\0\0\0\0\x63\x76\x10\0\0\0\0\0\xb7\x01\0\0\x05\0\0\0\x63\x1a\xfc\ -\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\x18\x01\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\xb7\x07\0\0\0\0\0\0\xb7\x01\0\0\0\0\0\0\ -\x15\0\x01\0\0\0\0\0\x61\x01\0\0\0\0\0\0\x63\x16\x14\0\0\0\0\0\xb7\x01\0\0\x06\ -\0\0\0\x63\x1a\xfc\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\ -\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\x15\0\x01\0\0\0\0\0\ -\x61\x07\0\0\0\0\0\0\x63\x76\x18\0\0\0\0\0\xb7\x01\0\0\x07\0\0\0\x63\x1a\xfc\ -\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\x18\x01\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\xb7\x01\0\0\0\0\0\0\x15\0\x01\0\0\0\0\0\ -\x61\x01\0\0\0\0\0\0\x63\x16\x1c\0\0\0\0\0\xbf\x61\0\0\0\0\0\0\xb7\x02\0\0\0\0\ -\0\0\x85\0\0\0\x84\0\0\0\xb7\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\x85\0\0\0\x0e\0\0\ -\0\xbf\x07\0\0\0\0\0\0\xbf\x78\0\0\0\0\0\0\x77\x08\0\0\x20\0\0\0\x63\x8a\xfc\ -\xff\0\0\0\0\x63\x7a\xf8\xff\0\0\0\0\x85\0\0\0\x05\0\0\0\xbf\x06\0\0\0\0\0\0\ -\x67\x07\0\0\x20\0\0\0\x77\x07\0\0\x20\0\0\0\x15\x07\x59\0\0\0\0\0\xbf\xa2\0\0\ -\0\0\0\0\x07\x02\0\0\xf8\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\ -\0\0\x01\0\0\0\xbf\x07\0\0\0\0\0\0\x55\x07\x1c\0\0\0\0\0\xb7\x07\0\0\0\0\0\0\ -\x7b\x7a\xf0\xff\0\0\0\0\x7b\x7a\xe8\xff\0\0\0\0\x7b\x7a\xe0\xff\0\0\0\0\x7b\ -\x7a\xd8\xff\0\0\0\0\x7b\x7a\xd0\xff\0\0\0\0\x7b\x7a\xc8\xff\0\0\0\0\x7b\x7a\ -\xc0\xff\0\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\xcc\xff\xff\xff\xb7\x02\0\0\ -\x10\0\0\0\x85\0\0\0\x10\0\0\0\x7b\x6a\xe8\xff\0\0\0\0\x63\x8a\xc4\xff\0\0\0\0\ -\xb7\x01\0\0\x01\0\0\0\x63\x1a\xdc\xff\0\0\0\0\x61\xa1\xf8\xff\0\0\0\0\x63\x1a\ -\xc0\xff\0\0\0\0\x63\x7a\xe0\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf8\ -\xff\xff\xff\xbf\xa3\0\0\0\0\0\0\x07\x03\0\0\xc0\xff\xff\xff\x18\x01\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\x05\0\x12\0\0\0\0\0\ -\x61\x71\x1c\0\0\0\0\0\x07\x01\0\0\x01\0\0\0\x63\x17\x1c\0\0\0\0\0\x61\x71\0\0\ -\0\0\0\0\x55\x01\x04\0\0\0\0\0\x61\xa1\xf8\xff\0\0\0\0\x63\x17\0\0\0\0\0\0\x61\ -\xa1\xfc\xff\0\0\0\0\x63\x17\x04\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf8\ -\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x73\0\0\0\0\0\0\xb7\x04\0\ -\0\0\0\0\0\x85\0\0\0\x02\0\0\0\xbf\x71\0\0\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\ -\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\x85\0\0\0\x01\0\0\0\xbf\x07\0\0\0\0\0\0\x55\x07\x11\0\0\0\0\0\x7b\x6a\ -\xd0\xff\0\0\0\0\x61\xa1\xfc\xff\0\0\0\0\x63\x1a\xc0\xff\0\0\0\0\xb7\x01\0\0\ -\x01\0\0\0\x63\x1a\xc4\xff\0\0\0\0\xb7\x01\0\0\0\0\0\0\x7b\x1a\xd8\xff\0\0\0\0\ -\x7b\x1a\xc8\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\xbf\ -\xa3\0\0\0\0\0\0\x07\x03\0\0\xc0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\x05\0\x0c\0\0\0\0\0\x61\x71\x04\0\0\ -\0\0\0\x07\x01\0\0\x01\0\0\0\x63\x17\x04\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\ -\0\0\xfc\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x73\0\0\0\0\0\0\ -\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\xbf\x71\0\0\0\0\0\0\x85\x10\0\0\x5e\0\ -\0\0\xb7\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\x85\0\0\0\x0e\0\0\0\xbf\x07\0\0\0\0\0\ -\0\xbf\x78\0\0\0\0\0\0\x77\x08\0\0\x20\0\0\0\x63\x8a\xfc\xff\0\0\0\0\x63\x7a\ -\xf8\xff\0\0\0\0\x85\0\0\0\x05\0\0\0\xbf\x06\0\0\0\0\0\0\x67\x07\0\0\x20\0\0\0\ -\x77\x07\0\0\x20\0\0\0\x15\x07\x5a\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\ -\xf8\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\xbf\ -\x07\0\0\0\0\0\0\x55\x07\x1c\0\0\0\0\0\xb7\x07\0\0\0\0\0\0\x7b\x7a\xf0\xff\0\0\ -\0\0\x7b\x7a\xe8\xff\0\0\0\0\x7b\x7a\xe0\xff\0\0\0\0\x7b\x7a\xd8\xff\0\0\0\0\ -\x7b\x7a\xd0\xff\0\0\0\0\x7b\x7a\xc8\xff\0\0\0\0\x7b\x7a\xc0\xff\0\0\0\0\xbf\ -\xa1\0\0\0\0\0\0\x07\x01\0\0\xcc\xff\xff\xff\xb7\x02\0\0\x10\0\0\0\x85\0\0\0\ -\x10\0\0\0\x7b\x6a\xe8\xff\0\0\0\0\x63\x8a\xc4\xff\0\0\0\0\xb7\x01\0\0\x01\0\0\ -\0\x63\x1a\xe0\xff\0\0\0\0\x61\xa1\xf8\xff\0\0\0\0\x63\x1a\xc0\xff\0\0\0\0\x63\ -\x7a\xdc\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf8\xff\xff\xff\xbf\xa3\0\ -\0\0\0\0\0\x07\x03\0\0\xc0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\ -\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\x05\0\x12\0\0\0\0\0\x61\x71\x20\0\0\0\0\0\ -\x07\x01\0\0\x01\0\0\0\x63\x17\x20\0\0\0\0\0\x61\x71\0\0\0\0\0\0\x55\x01\x04\0\ -\0\0\0\0\x61\xa1\xf8\xff\0\0\0\0\x63\x17\0\0\0\0\0\0\x61\xa1\xfc\xff\0\0\0\0\ -\x63\x17\x04\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf8\xff\xff\xff\x18\x01\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x73\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\ -\x02\0\0\0\xbf\x71\0\0\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\xbf\xa2\0\0\0\0\0\0\ -\x07\x02\0\0\xfc\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\ -\0\0\0\xbf\x07\0\0\0\0\0\0\x55\x07\x12\0\0\0\0\0\x7b\x6a\xd0\xff\0\0\0\0\x61\ -\xa1\xfc\xff\0\0\0\0\x63\x1a\xc0\xff\0\0\0\0\xb7\x01\0\0\0\0\0\0\x7b\x1a\xc8\ -\xff\0\0\0\0\xb7\x02\0\0\x01\0\0\0\x63\x2a\xc8\xff\0\0\0\0\x7b\x1a\xd8\xff\0\0\ -\0\0\x63\x1a\xc4\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\ -\xbf\xa3\0\0\0\0\0\0\x07\x03\0\0\xc0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\x05\0\x0c\0\0\0\0\0\x61\x71\x08\ -\0\0\0\0\0\x07\x01\0\0\x01\0\0\0\x63\x17\x08\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\ -\x02\0\0\xfc\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x73\0\0\0\0\0\ -\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\xbf\x71\0\0\0\0\0\0\x85\x10\0\0\x5e\ -\0\0\0\xb7\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\x85\0\0\0\x0e\0\0\0\x63\x0a\xfc\xff\ -\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\x2d\x01\x0e\0\0\0\0\0\x67\0\0\0\ -\x20\0\0\0\x77\0\0\0\x20\0\0\0\x15\0\x0b\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\ -\0\0\xfc\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\ -\x15\0\x05\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\x18\x01\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x03\0\0\0\xb7\0\0\0\0\0\0\0\x95\0\0\0\0\0\ -\0\0\x44\x75\x61\x6c\x20\x42\x53\x44\x2f\x47\x50\x4c\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\x69\x6f\x5f\x77\x61\x69\x74\x5f\x63\x6f\x75\x6e\x74\x20\x62\x75\x66\ -\x66\x65\x72\x20\x69\x73\x20\x66\x75\x6c\x6c\x0a\0\0\0\x01\0\0\0\0\0\0\0\x69\ -\x6f\x5f\x74\x68\x72\x65\x68\x6f\x6c\x64\x20\x6d\x61\x70\x20\x69\x73\x20\x6e\ -\x6f\x74\x20\x69\x6e\x69\x74\x0a\0\x74\x61\x73\x6b\x5f\x69\x6f\x5f\x73\x74\x61\ -\x74\x73\x5f\x62\x75\x66\x66\x20\x69\x73\x20\x66\x75\x6c\x6c\x0a\0\x69\x6f\x5f\ -\x74\x68\x72\x65\x68\x6f\x6c\x64\x20\x6d\x61\x70\x20\x69\x73\x20\x6e\x6f\x74\ -\x20\x69\x6e\x69\x74\x0a\0\x70\x72\x6f\x63\x65\x73\x73\x5f\x69\x6f\x5f\x73\x74\ -\x61\x74\x73\x5f\x62\x75\x66\x66\x20\x69\x73\x20\x66\x75\x6c\x6c\x0a\0\0\0\0\ -\x08\0\0\0\0\0\0\0\x01\0\0\0\x49\0\0\0\x18\0\0\0\0\0\0\0\x01\0\0\0\x3f\0\0\0\ -\x40\0\0\0\0\0\0\0\x01\0\0\0\x3f\0\0\0\xc0\0\0\0\0\0\0\0\x01\0\0\0\x47\0\0\0\ -\x38\x01\0\0\0\0\0\0\x01\0\0\0\x4a\0\0\0\x70\x01\0\0\0\0\0\0\x01\0\0\0\x3f\0\0\ -\0\0\x03\0\0\0\0\0\0\x01\0\0\0\x49\0\0\0\x10\x03\0\0\0\0\0\0\x01\0\0\0\x3f\0\0\ -\0\x38\x03\0\0\0\0\0\0\x01\0\0\0\x3f\0\0\0\xb0\x03\0\0\0\0\0\0\x01\0\0\0\x48\0\ -\0\0\x30\x04\0\0\0\0\0\0\x01\0\0\0\x4b\0\0\0\x60\x04\0\0\0\0\0\0\x01\0\0\0\x3f\ -\0\0\0\x40\0\0\0\0\0\0\0\x01\0\0\0\x41\0\0\0\x20\0\0\0\0\0\0\0\x01\0\0\0\x41\0\ -\0\0\x28\x01\0\0\0\0\0\0\x01\0\0\0\x43\0\0\0\x58\x01\0\0\0\0\0\0\x01\0\0\0\x43\ -\0\0\0\x68\x01\0\0\0\0\0\0\x01\0\0\0\x3f\0\0\0\xa8\x01\0\0\0\0\0\0\x01\0\0\0\ -\x43\0\0\0\xe0\x01\0\0\0\0\0\0\x01\0\0\0\x41\0\0\0\x08\0\0\0\0\0\0\0\x01\0\0\0\ -\x45\0\0\0\x40\0\0\0\0\0\0\0\x01\0\0\0\x3f\0\0\0\xc0\0\0\0\0\0\0\0\x01\0\0\0\ -\x43\0\0\0\x10\x01\0\0\0\0\0\0\x01\0\0\0\x43\0\0\0\x70\x01\0\0\0\0\0\0\x01\0\0\ -\0\x43\0\0\0\xc0\x01\0\0\0\0\0\0\x01\0\0\0\x43\0\0\0\x20\x02\0\0\0\0\0\0\x01\0\ -\0\0\x43\0\0\0\x70\x02\0\0\0\0\0\0\x01\0\0\0\x43\0\0\0\xd0\x02\0\0\0\0\0\0\x01\ -\0\0\0\x43\0\0\0\x20\x03\0\0\0\0\0\0\x01\0\0\0\x43\0\0\0\x68\0\0\0\0\0\0\0\x01\ -\0\0\0\x47\0\0\0\x48\x01\0\0\0\0\0\0\x01\0\0\0\x47\0\0\0\xc8\x01\0\0\0\0\0\0\ -\x01\0\0\0\x47\0\0\0\xf8\x01\0\0\0\0\0\0\x0a\0\0\0\x02\0\0\0\x10\x02\0\0\0\0\0\ -\0\x01\0\0\0\x48\0\0\0\x98\x02\0\0\0\0\0\0\x01\0\0\0\x48\0\0\0\xe8\x02\0\0\0\0\ -\0\0\x01\0\0\0\x48\0\0\0\x18\x03\0\0\0\0\0\0\x0a\0\0\0\x02\0\0\0\x68\0\0\0\0\0\ -\0\0\x01\0\0\0\x47\0\0\0\x48\x01\0\0\0\0\0\0\x01\0\0\0\x47\0\0\0\xc8\x01\0\0\0\ -\0\0\0\x01\0\0\0\x47\0\0\0\xf8\x01\0\0\0\0\0\0\x0a\0\0\0\x02\0\0\0\x10\x02\0\0\ -\0\0\0\0\x01\0\0\0\x48\0\0\0\xa0\x02\0\0\0\0\0\0\x01\0\0\0\x48\0\0\0\xf0\x02\0\ -\0\0\0\0\0\x01\0\0\0\x48\0\0\0\x20\x03\0\0\0\0\0\0\x0a\0\0\0\x02\0\0\0\x50\0\0\ -\0\0\0\0\0\x01\0\0\0\x47\0\0\0\x80\0\0\0\0\0\0\0\x01\0\0\0\x47\0\0\0\x9f\xeb\ -\x01\0\x18\0\0\0\0\0\0\0\xc4\x0b\0\0\xc4\x0b\0\0\x67\x1b\0\0\0\0\0\0\0\0\0\x02\ -\x03\0\0\0\x01\0\0\0\0\0\0\x01\x04\0\0\0\x20\0\0\x01\0\0\0\0\0\0\0\x03\0\0\0\0\ -\x02\0\0\0\x04\0\0\0\x01\0\0\0\x05\0\0\0\0\0\0\x01\x04\0\0\0\x20\0\0\0\0\0\0\0\ -\0\0\0\x02\x06\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\x04\0\0\0\0\ -\0\0\0\0\0\0\x02\x08\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\x08\0\ -\0\0\0\0\0\0\0\0\0\x02\x0a\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\ -\0\x90\x01\0\0\0\0\0\x04\0\0\x04\x20\0\0\0\x19\0\0\0\x01\0\0\0\0\0\0\0\x1e\0\0\ -\0\x05\0\0\0\x40\0\0\0\x27\0\0\0\x07\0\0\0\x80\0\0\0\x32\0\0\0\x09\0\0\0\xc0\0\ -\0\0\x3e\0\0\0\0\0\0\x0e\x0b\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x02\x0e\0\0\0\0\0\0\ -\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\x1b\0\0\0\0\0\0\0\0\0\0\x02\x10\0\0\0\ -\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\0\0\x02\0\0\0\0\0\x02\0\0\x04\ -\x10\0\0\0\x19\0\0\0\x0d\0\0\0\0\0\0\0\x32\0\0\0\x0f\0\0\0\x40\0\0\0\x4a\0\0\0\ -\0\0\0\x0e\x11\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x02\x14\0\0\0\0\0\0\0\0\0\0\x03\0\ -\0\0\0\x02\0\0\0\x04\0\0\0\x02\0\0\0\0\0\0\0\x04\0\0\x04\x20\0\0\0\x19\0\0\0\ -\x13\0\0\0\0\0\0\0\x1e\0\0\0\x05\0\0\0\x40\0\0\0\x27\0\0\0\x05\0\0\0\x80\0\0\0\ -\x32\0\0\0\x07\0\0\0\xc0\0\0\0\x59\0\0\0\0\0\0\x0e\x15\0\0\0\x01\0\0\0\0\0\0\0\ -\0\0\0\x02\x18\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\x38\0\0\0\0\ -\0\0\0\x04\0\0\x04\x20\0\0\0\x19\0\0\0\x01\0\0\0\0\0\0\0\x1e\0\0\0\x05\0\0\0\ -\x40\0\0\0\x27\0\0\0\x17\0\0\0\x80\0\0\0\x32\0\0\0\x09\0\0\0\xc0\0\0\0\x6b\0\0\ -\0\0\0\0\x0e\x19\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x02\x1c\0\0\0\0\0\0\0\0\0\0\x03\ -\0\0\0\0\x02\0\0\0\x04\0\0\0\x20\0\0\0\0\0\0\0\0\0\0\x02\x1e\0\0\0\0\0\0\0\0\0\ -\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\0\x10\0\0\0\0\0\0\x04\0\0\x04\x20\0\0\0\x19\ -\0\0\0\x01\0\0\0\0\0\0\0\x1e\0\0\0\x05\0\0\0\x40\0\0\0\x27\0\0\0\x1b\0\0\0\x80\ -\0\0\0\x32\0\0\0\x1d\0\0\0\xc0\0\0\0\x7d\0\0\0\0\0\0\x0e\x1f\0\0\0\x01\0\0\0\0\ -\0\0\0\0\0\0\x02\x22\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\x10\0\ -\0\0\0\0\0\0\x04\0\0\x04\x20\0\0\0\x19\0\0\0\x13\0\0\0\0\0\0\0\x1e\0\0\0\x05\0\ -\0\0\x40\0\0\0\x27\0\0\0\x21\0\0\0\x80\0\0\0\x32\0\0\0\x13\0\0\0\xc0\0\0\0\x92\ -\0\0\0\0\0\0\x0e\x23\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x02\x26\0\0\0\0\0\0\0\0\0\0\ -\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\0\0\x08\0\0\0\0\0\x02\0\0\x04\x10\0\0\0\x19\0\ -\0\0\x0d\0\0\0\0\0\0\0\x32\0\0\0\x25\0\0\0\x40\0\0\0\xa2\0\0\0\0\0\0\x0e\x27\0\ -\0\0\x01\0\0\0\xb7\0\0\0\0\0\0\x0e\x27\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x02\x2b\0\ -\0\0\xcf\0\0\0\x0c\0\0\x04\x40\0\0\0\xee\0\0\0\x2c\0\0\0\0\0\0\0\xfa\0\0\0\x2d\ -\0\0\0\x10\0\0\0\x07\x01\0\0\x2d\0\0\0\x18\0\0\0\x1c\x01\0\0\x02\0\0\0\x20\0\0\ -\0\x27\x01\0\0\x2e\0\0\0\x40\0\0\0\x2b\x01\0\0\x33\0\0\0\x60\0\0\0\x35\x01\0\0\ -\x34\0\0\0\x80\0\0\0\x3c\x01\0\0\x32\0\0\0\xc0\0\0\0\x46\x01\0\0\x32\0\0\0\xe0\ -\0\0\0\x4c\x01\0\0\x39\0\0\0\0\x01\0\0\x51\x01\0\0\x3a\0\0\0\x40\x01\0\0\x56\ -\x01\0\0\x02\0\0\0\xc0\x01\0\0\x65\x01\0\0\0\0\0\x01\x02\0\0\0\x10\0\0\0\x74\ -\x01\0\0\0\0\0\x01\x01\0\0\0\x08\0\0\0\x82\x01\0\0\0\0\0\x08\x2f\0\0\0\x88\x01\ -\0\0\0\0\0\x08\x30\0\0\0\x97\x01\0\0\0\0\0\x08\x31\0\0\0\x9b\x01\0\0\0\0\0\x08\ -\x32\0\0\0\xa1\x01\0\0\0\0\0\x01\x04\0\0\0\x20\0\0\0\x97\x01\0\0\0\0\0\x08\x32\ -\0\0\0\xae\x01\0\0\0\0\0\x08\x35\0\0\0\xb7\x01\0\0\0\0\0\x08\x36\0\0\0\xbb\x01\ -\0\0\0\0\0\x08\x37\0\0\0\xc1\x01\0\0\0\0\0\x01\x08\0\0\0\x40\0\0\0\xd4\x01\0\0\ -\0\0\0\x01\x01\0\0\0\x08\0\0\x01\0\0\0\0\0\0\0\x03\0\0\0\0\x38\0\0\0\x04\0\0\0\ -\x08\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x38\0\0\0\x04\0\0\0\x10\0\0\0\0\0\0\0\x01\ -\0\0\x0d\x02\0\0\0\xd9\x01\0\0\x2a\0\0\0\xdd\x01\0\0\x01\0\0\x0c\x3b\0\0\0\0\0\ -\0\0\0\0\0\x02\x3e\0\0\0\xef\x01\0\0\x08\0\0\x04\x30\0\0\0\x13\x02\0\0\x3f\0\0\ -\0\0\0\0\0\x27\x01\0\0\x2e\0\0\0\x40\0\0\0\x35\x01\0\0\x34\0\0\0\x80\0\0\0\x3c\ -\x01\0\0\x32\0\0\0\xc0\0\0\0\x17\x02\0\0\x02\0\0\0\xe0\0\0\0\x4c\x01\0\0\x39\0\ -\0\0\0\x01\0\0\x56\x01\0\0\x30\0\0\0\x40\x01\0\0\x1d\x02\0\0\x40\0\0\0\x60\x01\ -\0\0\x24\x02\0\0\x04\0\0\x04\x08\0\0\0\x19\0\0\0\x2c\0\0\0\0\0\0\0\x30\x02\0\0\ -\x2d\0\0\0\x10\0\0\0\x36\x02\0\0\x2d\0\0\0\x18\0\0\0\x44\x02\0\0\x02\0\0\0\x20\ -\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x38\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\ -\x0d\x02\0\0\0\xd9\x01\0\0\x3d\0\0\0\x48\x02\0\0\x01\0\0\x0c\x41\0\0\0\0\0\0\0\ -\0\0\0\x02\x44\0\0\0\x5d\x02\0\0\x03\0\0\x04\xb8\0\0\0\x71\x02\0\0\x45\0\0\0\0\ -\0\0\0\x76\x02\0\0\x36\0\0\0\x40\x05\0\0\x84\x02\0\0\x36\0\0\0\x80\x05\0\0\x89\ -\x02\0\0\0\0\0\x08\x46\0\0\0\x9c\x02\0\0\x15\0\0\x04\xa8\0\0\0\xa4\x02\0\0\x47\ -\0\0\0\0\0\0\0\xa8\x02\0\0\x47\0\0\0\x40\0\0\0\xac\x02\0\0\x47\0\0\0\x80\0\0\0\ -\xb0\x02\0\0\x47\0\0\0\xc0\0\0\0\xb4\x02\0\0\x47\0\0\0\0\x01\0\0\xb7\x02\0\0\ -\x47\0\0\0\x40\x01\0\0\xba\x02\0\0\x47\0\0\0\x80\x01\0\0\xbe\x02\0\0\x47\0\0\0\ -\xc0\x01\0\0\xc2\x02\0\0\x47\0\0\0\0\x02\0\0\xc5\x02\0\0\x47\0\0\0\x40\x02\0\0\ -\xc8\x02\0\0\x47\0\0\0\x80\x02\0\0\xcb\x02\0\0\x47\0\0\0\xc0\x02\0\0\xce\x02\0\ -\0\x47\0\0\0\0\x03\0\0\xd1\x02\0\0\x47\0\0\0\x40\x03\0\0\xd4\x02\0\0\x47\0\0\0\ -\x80\x03\0\0\xd7\x02\0\0\x47\0\0\0\xc0\x03\0\0\xdf\x02\0\0\x47\0\0\0\0\x04\0\0\ -\xe2\x02\0\0\x47\0\0\0\x40\x04\0\0\x30\x02\0\0\x47\0\0\0\x80\x04\0\0\xe5\x02\0\ -\0\x47\0\0\0\xc0\x04\0\0\xe8\x02\0\0\x47\0\0\0\0\x05\0\0\xeb\x02\0\0\0\0\0\x01\ -\x08\0\0\0\x40\0\0\0\0\0\0\0\x01\0\0\x0d\x02\0\0\0\xd9\x01\0\0\x43\0\0\0\xf9\ -\x02\0\0\x01\0\0\x0c\x48\0\0\0\0\0\0\0\0\0\0\x02\x4b\0\0\0\x0e\x03\0\0\x04\0\0\ -\x04\x40\0\0\0\x13\x02\0\0\x3f\0\0\0\0\0\0\0\x28\x03\0\0\x4c\0\0\0\x40\0\0\0\ -\x2b\x03\0\0\x4d\0\0\0\x80\0\0\0\x1d\x02\0\0\x40\0\0\0\0\x02\0\0\x30\x03\0\0\0\ -\0\0\x01\x08\0\0\0\x40\0\0\x01\0\0\0\0\0\0\0\x03\0\0\0\0\x47\0\0\0\x04\0\0\0\ -\x06\0\0\0\0\0\0\0\x01\0\0\x0d\x02\0\0\0\xd9\x01\0\0\x4a\0\0\0\x35\x03\0\0\x01\ -\0\0\x0c\x4e\0\0\0\0\0\0\0\0\0\0\x02\x51\0\0\0\x49\x03\0\0\x05\0\0\x04\x38\0\0\ -\0\x57\x03\0\0\x52\0\0\0\0\0\0\0\x5c\x03\0\0\x33\0\0\0\xe0\0\0\0\x67\x03\0\0\ -\x33\0\0\0\0\x01\0\0\x73\x03\0\0\x53\0\0\0\x40\x01\0\0\x83\x03\0\0\x33\0\0\0\ -\x80\x01\0\0\x92\x03\0\0\x04\0\0\x04\x1c\0\0\0\x44\x02\0\0\x33\0\0\0\0\0\0\0\ -\xa3\x03\0\0\x33\0\0\0\x20\0\0\0\xa8\x03\0\0\x33\0\0\0\x40\0\0\0\x51\x01\0\0\ -\x3a\0\0\0\x60\0\0\0\xb7\x01\0\0\0\0\0\x08\x37\0\0\0\0\0\0\0\x01\0\0\x0d\x02\0\ -\0\0\xaf\x03\0\0\x50\0\0\0\xb4\x03\0\0\0\0\0\x0c\x54\0\0\0\0\0\0\0\0\0\0\x02\ -\x57\0\0\0\xcf\x03\0\0\x05\0\0\x04\x20\0\0\0\xa3\x03\0\0\x33\0\0\0\0\0\0\0\x5c\ -\x03\0\0\x33\0\0\0\x20\0\0\0\x67\x03\0\0\x33\0\0\0\x40\0\0\0\x73\x03\0\0\x53\0\ -\0\0\x80\0\0\0\x83\x03\0\0\x33\0\0\0\xc0\0\0\0\0\0\0\0\x01\0\0\x0d\x02\0\0\0\ -\xe0\x03\0\0\x56\0\0\0\xe8\x03\0\0\0\0\0\x0c\x58\0\0\0\x06\x04\0\0\x01\0\0\x0c\ -\x4e\0\0\0\0\0\0\0\0\0\0\x02\x37\0\0\0\0\0\0\0\x01\0\0\x0d\x02\0\0\0\xd9\x01\0\ -\0\x5b\0\0\0\x1b\x04\0\0\x01\0\0\x0c\x5c\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x38\0\ -\0\0\x04\0\0\0\x0d\0\0\0\x2f\x04\0\0\0\0\0\x0e\x5e\0\0\0\x01\0\0\0\0\0\0\0\0\0\ -\0\x0a\x38\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x60\0\0\0\x04\0\0\0\x1e\0\0\0\x37\ -\x04\0\0\0\0\0\x0e\x61\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x0a\x33\0\0\0\x54\x04\0\0\0\ -\0\0\x0e\x63\0\0\0\0\0\0\0\x58\x04\0\0\0\0\0\x0e\x63\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\x03\0\0\0\0\x60\0\0\0\x04\0\0\0\x1d\0\0\0\x5d\x04\0\0\0\0\0\x0e\x66\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x60\0\0\0\x04\0\0\0\x1c\0\0\0\x80\x04\0\0\0\0\ -\0\x0e\x68\0\0\0\0\0\0\0\xa5\x04\0\0\0\0\0\x0e\x66\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\x03\0\0\0\0\x60\0\0\0\x04\0\0\0\x1f\0\0\0\xcb\x04\0\0\0\0\0\x0e\x6b\0\0\0\0\0\ -\0\0\x92\x1a\0\0\x01\0\0\x0f\x0d\0\0\0\x5f\0\0\0\0\0\0\0\x0d\0\0\0\x9a\x1a\0\0\ -\x08\0\0\x0f\xd0\0\0\0\x0c\0\0\0\0\0\0\0\x20\0\0\0\x12\0\0\0\x20\0\0\0\x10\0\0\ -\0\x16\0\0\0\x30\0\0\0\x20\0\0\0\x1a\0\0\0\x50\0\0\0\x20\0\0\0\x20\0\0\0\x70\0\ -\0\0\x20\0\0\0\x24\0\0\0\x90\0\0\0\x20\0\0\0\x28\0\0\0\xb0\0\0\0\x10\0\0\0\x29\ -\0\0\0\xc0\0\0\0\x10\0\0\0\xa0\x1a\0\0\x07\0\0\x0f\x9d\0\0\0\x62\0\0\0\0\0\0\0\ -\x1e\0\0\0\x64\0\0\0\x20\0\0\0\x04\0\0\0\x65\0\0\0\x24\0\0\0\x04\0\0\0\x67\0\0\ -\0\x28\0\0\0\x1d\0\0\0\x69\0\0\0\x45\0\0\0\x1c\0\0\0\x6a\0\0\0\x61\0\0\0\x1d\0\ -\0\0\x6c\0\0\0\x7e\0\0\0\x1f\0\0\0\0\x69\x6e\x74\0\x5f\x5f\x41\x52\x52\x41\x59\ -\x5f\x53\x49\x5a\x45\x5f\x54\x59\x50\x45\x5f\x5f\0\x74\x79\x70\x65\0\x6b\x65\ -\x79\x5f\x73\x69\x7a\x65\0\x76\x61\x6c\x75\x65\x5f\x73\x69\x7a\x65\0\x6d\x61\ -\x78\x5f\x65\x6e\x74\x72\x69\x65\x73\0\x69\x6f\x5f\x77\x61\x69\x74\x5f\x6d\x61\ -\x70\0\x69\x6f\x5f\x77\x61\x69\x74\x5f\x62\x75\x66\x66\x65\x72\0\x69\x6f\x5f\ -\x77\x61\x69\x74\x5f\x63\x6f\x75\x6e\x74\x5f\x6d\x61\x70\0\x69\x6f\x5f\x74\x61\ -\x73\x6b\x5f\x73\x74\x61\x74\x73\x5f\x6d\x61\x70\0\x69\x6f\x5f\x70\x72\x6f\x63\ -\x65\x73\x73\x5f\x73\x74\x61\x74\x73\x5f\x6d\x61\x70\0\x69\x6f\x5f\x74\x68\x72\ -\x65\x68\x6f\x6c\x64\x5f\x6d\x61\x70\0\x69\x6f\x5f\x74\x61\x73\x6b\x5f\x73\x74\ -\x61\x74\x73\x5f\x62\x75\x66\x66\x65\x72\0\x69\x6f\x5f\x70\x72\x6f\x63\x65\x73\ -\x73\x5f\x73\x74\x61\x74\x73\x5f\x62\x75\x66\x66\x65\x72\0\x74\x72\x61\x63\x65\ -\x5f\x65\x76\x65\x6e\x74\x5f\x72\x61\x77\x5f\x62\x6c\x6f\x63\x6b\x5f\x72\x71\ -\x5f\x69\x73\x73\x75\x65\0\x63\x6f\x6d\x6d\x6f\x6e\x5f\x74\x79\x70\x65\0\x63\ -\x6f\x6d\x6d\x6f\x6e\x5f\x66\x6c\x61\x67\x73\0\x63\x6f\x6d\x6d\x6f\x6e\x5f\x70\ -\x72\x65\x65\x6d\x70\x74\x5f\x63\x6f\x75\x6e\x74\0\x63\x6f\x6d\x6d\x6f\x6e\x5f\ -\x70\x69\x64\0\x64\x65\x76\0\x5f\x5f\x70\x61\x64\x64\x69\x6e\x67\0\x73\x65\x63\ -\x74\x6f\x72\0\x6e\x72\x5f\x73\x65\x63\x74\x6f\x72\0\x62\x79\x74\x65\x73\0\x72\ -\x77\x62\x73\0\x63\x6f\x6d\x6d\0\x5f\x5f\x64\x61\x74\x61\x5f\x6c\x6f\x63\x5f\ -\x63\x6d\x64\0\x75\x6e\x73\x69\x67\x6e\x65\x64\x20\x73\x68\x6f\x72\x74\0\x75\ -\x6e\x73\x69\x67\x6e\x65\x64\x20\x63\x68\x61\x72\0\x64\x65\x76\x5f\x74\0\x5f\ -\x5f\x6b\x65\x72\x6e\x65\x6c\x5f\x64\x65\x76\x5f\x74\0\x75\x33\x32\0\x5f\x5f\ -\x75\x33\x32\0\x75\x6e\x73\x69\x67\x6e\x65\x64\x20\x69\x6e\x74\0\x73\x65\x63\ -\x74\x6f\x72\x5f\x74\0\x75\x36\x34\0\x5f\x5f\x75\x36\x34\0\x75\x6e\x73\x69\x67\ -\x6e\x65\x64\x20\x6c\x6f\x6e\x67\x20\x6c\x6f\x6e\x67\0\x63\x68\x61\x72\0\x63\ -\x74\x78\0\x69\x6f\x5f\x74\x72\x61\x63\x65\x5f\x72\x71\x5f\x69\x73\x73\x75\x65\ -\0\x74\x72\x61\x63\x65\x5f\x65\x76\x65\x6e\x74\x5f\x72\x61\x77\x5f\x62\x6c\x6f\ -\x63\x6b\x5f\x72\x71\x5f\x63\x6f\x6d\x70\x6c\x65\x74\x69\x6f\x6e\0\x65\x6e\x74\ -\0\x65\x72\x72\x6f\x72\0\x5f\x5f\x64\x61\x74\x61\0\x74\x72\x61\x63\x65\x5f\x65\ -\x6e\x74\x72\x79\0\x66\x6c\x61\x67\x73\0\x70\x72\x65\x65\x6d\x70\x74\x5f\x63\ -\x6f\x75\x6e\x74\0\x70\x69\x64\0\x69\x6f\x5f\x74\x72\x61\x63\x65\x5f\x72\x71\ -\x5f\x63\x6f\x6d\x70\x6c\x65\x74\x65\0\x62\x70\x66\x5f\x70\x65\x72\x66\x5f\x65\ -\x76\x65\x6e\x74\x5f\x64\x61\x74\x61\0\x72\x65\x67\x73\0\x73\x61\x6d\x70\x6c\ -\x65\x5f\x70\x65\x72\x69\x6f\x64\0\x61\x64\x64\x72\0\x62\x70\x66\x5f\x75\x73\ -\x65\x72\x5f\x70\x74\x5f\x72\x65\x67\x73\x5f\x74\0\x70\x74\x5f\x72\x65\x67\x73\ -\0\x72\x31\x35\0\x72\x31\x34\0\x72\x31\x33\0\x72\x31\x32\0\x62\x70\0\x62\x78\0\ -\x72\x31\x31\0\x72\x31\x30\0\x72\x39\0\x72\x38\0\x61\x78\0\x63\x78\0\x64\x78\0\ -\x73\x69\0\x64\x69\0\x6f\x72\x69\x67\x5f\x61\x78\0\x69\x70\0\x63\x73\0\x73\x70\ -\0\x73\x73\0\x75\x6e\x73\x69\x67\x6e\x65\x64\x20\x6c\x6f\x6e\x67\0\x68\x61\x6e\ -\x64\x6c\x65\x5f\x69\x6f\x5f\x77\x61\x69\x74\x5f\x65\x76\x65\x6e\x74\0\x74\x72\ -\x61\x63\x65\x5f\x65\x76\x65\x6e\x74\x5f\x72\x61\x77\x5f\x73\x79\x73\x5f\x65\ -\x6e\x74\x65\x72\0\x69\x64\0\x61\x72\x67\x73\0\x6c\x6f\x6e\x67\0\x69\x6f\x5f\ -\x74\x72\x61\x63\x65\x5f\x65\x6e\x74\x65\x72\x5f\x72\x65\x61\x64\0\x69\x6f\x5f\ -\x74\x61\x73\x6b\x5f\x73\x74\x61\x74\x73\0\x69\x6e\x66\x6f\0\x72\x65\x61\x64\ -\x5f\x63\x6f\x75\x6e\x74\0\x77\x72\x69\x74\x65\x5f\x63\x6f\x75\x6e\x74\0\x6c\ -\x61\x73\x74\x5f\x63\x6c\x65\x61\x72\x5f\x74\x69\x6d\x65\0\x61\x6c\x72\x65\x61\ -\x64\x79\x5f\x6f\x75\x74\x70\x75\x74\0\x74\x61\x73\x6b\x5f\x69\x6e\x66\x6f\x5f\ -\x73\x69\x6d\x70\x6c\x65\0\x74\x67\x69\x64\0\x63\x70\x75\x5f\x69\x64\0\x74\x61\ -\x73\x6b\0\x69\x6f\x5f\x74\x61\x73\x6b\x5f\x63\x6f\x6d\x70\x61\x72\x65\x5f\x61\ -\x6e\x64\x5f\x63\x6f\x6d\x6d\x69\x74\0\x69\x6f\x5f\x70\x72\x6f\x63\x65\x73\x73\ -\x5f\x73\x74\x61\x74\x73\0\x70\x72\x6f\x63\x65\x73\x73\0\x69\x6f\x5f\x70\x72\ -\x6f\x63\x65\x73\x73\x5f\x63\x6f\x6d\x70\x61\x72\x65\x5f\x61\x6e\x64\x5f\x63\ -\x6f\x6d\x6d\x69\x74\0\x69\x6f\x5f\x74\x72\x61\x63\x65\x5f\x65\x6e\x74\x65\x72\ -\x5f\x77\x72\x69\x74\x65\0\x68\x61\x6e\x64\x6c\x65\x5f\x69\x6f\x5f\x74\x61\x73\ -\x6b\x5f\x65\x78\x69\x74\0\x4c\x49\x43\x45\x4e\x53\x45\0\x68\x61\x6e\x64\x6c\ -\x65\x5f\x69\x6f\x5f\x77\x61\x69\x74\x5f\x65\x76\x65\x6e\x74\x2e\x5f\x5f\x5f\ -\x5f\x66\x6d\x74\0\x6f\x6e\x65\0\x7a\x65\x72\x6f\0\x69\x6f\x5f\x74\x61\x73\x6b\ -\x5f\x63\x6f\x6d\x70\x61\x72\x65\x5f\x61\x6e\x64\x5f\x63\x6f\x6d\x6d\x69\x74\ -\x2e\x5f\x5f\x5f\x5f\x66\x6d\x74\0\x69\x6f\x5f\x74\x61\x73\x6b\x5f\x63\x6f\x6d\ -\x70\x61\x72\x65\x5f\x61\x6e\x64\x5f\x63\x6f\x6d\x6d\x69\x74\x2e\x5f\x5f\x5f\ -\x5f\x66\x6d\x74\x2e\x31\0\x69\x6f\x5f\x70\x72\x6f\x63\x65\x73\x73\x5f\x63\x6f\ -\x6d\x70\x61\x72\x65\x5f\x61\x6e\x64\x5f\x63\x6f\x6d\x6d\x69\x74\x2e\x5f\x5f\ -\x5f\x5f\x66\x6d\x74\0\x69\x6f\x5f\x70\x72\x6f\x63\x65\x73\x73\x5f\x63\x6f\x6d\ -\x70\x61\x72\x65\x5f\x61\x6e\x64\x5f\x63\x6f\x6d\x6d\x69\x74\x2e\x5f\x5f\x5f\ -\x5f\x66\x6d\x74\x2e\x32\0\x2f\x68\x6f\x6d\x65\x2f\x6e\x65\x30\x2f\x73\x79\x73\ -\x5f\x63\x6f\x6d\x70\x65\x74\x69\x74\x69\x6f\x6e\x2f\x73\x74\x61\x72\x74\x2f\ -\x63\x70\x75\x5f\x77\x61\x74\x63\x68\x65\x72\x2f\x62\x70\x66\x2f\x69\x6f\x5f\ -\x73\x74\x61\x74\x73\x2e\x62\x70\x66\x2e\x63\0\x20\x20\x20\x20\x75\x33\x32\x20\ -\x64\x65\x76\x20\x3d\x20\x63\x74\x78\x2d\x3e\x64\x65\x76\x3b\0\x20\x20\x20\x20\ -\x75\x36\x34\x20\x6e\x6f\x77\x20\x3d\x20\x62\x70\x66\x5f\x6b\x74\x69\x6d\x65\ -\x5f\x67\x65\x74\x5f\x6e\x73\x28\x29\x3b\x20\0\x20\x20\x20\x20\x62\x70\x66\x5f\ -\x6d\x61\x70\x5f\x75\x70\x64\x61\x74\x65\x5f\x65\x6c\x65\x6d\x28\x26\x69\x6f\ -\x5f\x77\x61\x69\x74\x5f\x6d\x61\x70\x2c\x26\x64\x65\x76\x2c\x26\x6e\x6f\x77\ -\x2c\x42\x50\x46\x5f\x41\x4e\x59\x29\x3b\0\x20\x20\x20\x20\x72\x65\x74\x75\x72\ -\x6e\x20\x30\x3b\0\x20\x20\x20\x20\x75\x36\x34\x20\x2a\x74\x69\x6d\x65\x20\x3d\ -\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x6c\x6f\x6f\x6b\x75\x70\x5f\x65\x6c\x65\ -\x6d\x28\x26\x69\x6f\x5f\x77\x61\x69\x74\x5f\x6d\x61\x70\x2c\x26\x64\x65\x76\ -\x29\x3b\0\x20\x20\x20\x20\x69\x66\x28\x21\x74\x69\x6d\x65\x29\0\x20\x20\x20\ -\x20\x75\x36\x34\x20\x77\x61\x69\x74\x20\x3d\x20\x6e\x6f\x77\x20\x2d\x20\x2a\ -\x74\x69\x6d\x65\x3b\0\x20\x20\x20\x20\x69\x66\x28\x6c\x61\x74\x65\x6e\x63\x79\ -\x5f\x62\x75\x63\x6b\x65\x74\x20\x3d\x3d\x20\x30\x29\0\x20\x20\x20\x20\x65\x6c\ -\x73\x65\x20\x69\x66\x28\x6c\x61\x74\x65\x6e\x63\x79\x5f\x62\x75\x63\x6b\x65\ -\x74\x20\x3c\x20\x35\x29\0\x20\x20\x20\x20\x65\x6c\x73\x65\x20\x69\x66\x28\x6c\ -\x61\x74\x65\x6e\x63\x79\x5f\x62\x75\x63\x6b\x65\x74\x20\x3c\x20\x31\x37\x29\0\ -\x20\x20\x20\x20\x65\x6c\x73\x65\x20\x69\x66\x28\x6c\x61\x74\x65\x6e\x63\x79\ -\x5f\x62\x75\x63\x6b\x65\x74\x20\x3c\x20\x36\x35\x29\0\x20\x20\x20\x20\x65\x6c\ -\x73\x65\x20\x69\x66\x28\x6c\x61\x74\x65\x6e\x63\x79\x5f\x62\x75\x63\x6b\x65\ -\x74\x20\x3c\x20\x32\x35\x37\x29\0\x20\x20\x20\x20\x65\x6c\x73\x65\x20\x69\x66\ -\x28\x6c\x61\x74\x65\x6e\x63\x79\x5f\x62\x75\x63\x6b\x65\x74\x20\x3c\x20\x31\ -\x30\x30\x30\x29\0\x20\x20\x20\x20\x65\x6c\x73\x65\x20\x69\x66\x28\x6c\x61\x74\ -\x65\x6e\x63\x79\x5f\x62\x75\x63\x6b\x65\x74\x20\x3c\x20\x34\x30\x30\x30\x29\0\ -\x20\x20\x20\x20\x75\x33\x32\x20\x2a\x63\x6f\x75\x6e\x74\x20\x3d\x20\x62\x70\ -\x66\x5f\x6d\x61\x70\x5f\x6c\x6f\x6f\x6b\x75\x70\x5f\x65\x6c\x65\x6d\x28\x26\ -\x69\x6f\x5f\x77\x61\x69\x74\x5f\x63\x6f\x75\x6e\x74\x5f\x6d\x61\x70\x2c\x26\ -\x62\x75\x63\x6b\x65\x74\x29\x3b\0\x20\x20\x20\x20\x69\x66\x28\x21\x63\x6f\x75\ -\x6e\x74\x29\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x6d\x61\x70\ -\x5f\x75\x70\x64\x61\x74\x65\x5f\x65\x6c\x65\x6d\x28\x26\x69\x6f\x5f\x77\x61\ -\x69\x74\x5f\x63\x6f\x75\x6e\x74\x5f\x6d\x61\x70\x2c\x26\x62\x75\x63\x6b\x65\ -\x74\x2c\x26\x6f\x6e\x65\x2c\x42\x50\x46\x5f\x41\x4e\x59\x29\x3b\0\x20\x20\x20\ -\x20\x20\x20\x20\x20\x2a\x63\x6f\x75\x6e\x74\x20\x3d\x20\x2a\x63\x6f\x75\x6e\ -\x74\x20\x2b\x20\x31\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x6d\ -\x61\x70\x5f\x75\x70\x64\x61\x74\x65\x5f\x65\x6c\x65\x6d\x28\x26\x69\x6f\x5f\ -\x77\x61\x69\x74\x5f\x63\x6f\x75\x6e\x74\x5f\x6d\x61\x70\x2c\x26\x62\x75\x63\ -\x6b\x65\x74\x2c\x63\x6f\x75\x6e\x74\x2c\x42\x50\x46\x5f\x41\x4e\x59\x29\x3b\0\ -\x20\x20\x20\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x64\x65\x6c\x65\x74\x65\x5f\ -\x65\x6c\x65\x6d\x28\x26\x69\x6f\x5f\x77\x61\x69\x74\x5f\x6d\x61\x70\x2c\x26\ -\x64\x65\x76\x29\x3b\0\x7d\0\x69\x6e\x74\x20\x68\x61\x6e\x64\x6c\x65\x5f\x69\ -\x6f\x5f\x77\x61\x69\x74\x5f\x65\x76\x65\x6e\x74\x28\x73\x74\x72\x75\x63\x74\ -\x20\x62\x70\x66\x5f\x70\x65\x72\x66\x5f\x65\x76\x65\x6e\x74\x5f\x64\x61\x74\ -\x61\x20\x2a\x63\x74\x78\x29\x20\x7b\0\x20\x20\x20\x20\x73\x74\x72\x75\x63\x74\ -\x20\x69\x6f\x5f\x77\x61\x69\x74\x5f\x70\x65\x72\x66\x5f\x64\x61\x74\x61\x20\ -\x2a\x62\x75\x66\x66\x20\x3d\x20\x62\x70\x66\x5f\x72\x69\x6e\x67\x62\x75\x66\ -\x5f\x72\x65\x73\x65\x72\x76\x65\x28\x26\x69\x6f\x5f\x77\x61\x69\x74\x5f\x62\ -\x75\x66\x66\x65\x72\x2c\x73\x69\x7a\x65\x6f\x66\x28\x73\x74\x72\x75\x63\x74\ -\x20\x69\x6f\x5f\x77\x61\x69\x74\x5f\x70\x65\x72\x66\x5f\x64\x61\x74\x61\x29\ -\x2c\x30\x29\x3b\0\x20\x20\x20\x20\x69\x66\x28\x21\x62\x75\x66\x66\x29\x7b\0\ -\x20\x20\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x70\x72\x69\x6e\x74\x6b\x28\ -\x22\x69\x6f\x5f\x77\x61\x69\x74\x5f\x63\x6f\x75\x6e\x74\x20\x62\x75\x66\x66\ -\x65\x72\x20\x69\x73\x20\x66\x75\x6c\x6c\x5c\x6e\x22\x29\x3b\0\x20\x20\x20\x20\ -\x6d\x65\x6d\x73\x65\x74\x28\x62\x75\x66\x66\x2c\x30\x2c\x73\x69\x7a\x65\x6f\ -\x66\x28\x73\x74\x72\x75\x63\x74\x20\x69\x6f\x5f\x77\x61\x69\x74\x5f\x70\x65\ -\x72\x66\x5f\x64\x61\x74\x61\x29\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x75\ -\x33\x32\x20\x69\x6e\x64\x65\x78\x20\x3d\x20\x69\x3b\0\x20\x20\x20\x20\x20\x20\ -\x20\x20\x75\x33\x32\x20\x2a\x64\x61\x74\x61\x20\x3d\x20\x62\x70\x66\x5f\x6d\ -\x61\x70\x5f\x6c\x6f\x6f\x6b\x75\x70\x5f\x65\x6c\x65\x6d\x28\x26\x69\x6f\x5f\ -\x77\x61\x69\x74\x5f\x63\x6f\x75\x6e\x74\x5f\x6d\x61\x70\x2c\x26\x69\x6e\x64\ -\x65\x78\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x28\x21\x64\x61\x74\ -\x61\x29\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x75\x66\x66\ -\x2d\x3e\x63\x6f\x75\x6e\x74\x5f\x6c\x69\x73\x74\x5b\x69\x5d\x20\x3d\x20\x2a\ -\x64\x61\x74\x61\x3b\0\x20\x20\x20\x20\x62\x70\x66\x5f\x72\x69\x6e\x67\x62\x75\ -\x66\x5f\x73\x75\x62\x6d\x69\x74\x28\x62\x75\x66\x66\x2c\x20\x30\x29\x3b\0\x20\ -\x20\x20\x20\x75\x36\x34\x20\x69\x64\x20\x3d\x20\x62\x70\x66\x5f\x67\x65\x74\ -\x5f\x63\x75\x72\x72\x65\x6e\x74\x5f\x70\x69\x64\x5f\x74\x67\x69\x64\x28\x29\ -\x3b\0\x20\x20\x20\x20\x75\x33\x32\x20\x74\x67\x69\x64\x20\x3d\x20\x69\x64\x20\ -\x3e\x3e\x20\x33\x32\x3b\0\x20\x20\x20\x20\x75\x33\x32\x20\x70\x69\x64\x20\x3d\ -\x20\x69\x64\x20\x26\x20\x30\x78\x46\x46\x46\x46\x46\x46\x46\x46\x3b\x20\0\x20\ -\x20\x20\x20\x75\x36\x34\x20\x6e\x6f\x77\x20\x3d\x20\x62\x70\x66\x5f\x6b\x74\ -\x69\x6d\x65\x5f\x67\x65\x74\x5f\x6e\x73\x28\x29\x3b\0\x20\x20\x20\x20\x69\x66\ -\x28\x70\x69\x64\x20\x3d\x3d\x20\x30\x29\0\x20\x20\x20\x20\x73\x74\x72\x75\x63\ -\x74\x20\x69\x6f\x5f\x74\x61\x73\x6b\x5f\x73\x74\x61\x74\x73\x20\x2a\x74\x61\ -\x73\x6b\x20\x3d\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x6c\x6f\x6f\x6b\x75\x70\ -\x5f\x65\x6c\x65\x6d\x28\x26\x69\x6f\x5f\x74\x61\x73\x6b\x5f\x73\x74\x61\x74\ -\x73\x5f\x6d\x61\x70\x2c\x26\x70\x69\x64\x29\x3b\0\x20\x20\x20\x20\x69\x66\x28\ -\x21\x74\x61\x73\x6b\x29\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\x6d\x65\x6d\x73\ -\x65\x74\x28\x26\x69\x6e\x69\x74\x5f\x74\x61\x73\x6b\x2c\x30\x2c\x73\x69\x7a\ -\x65\x6f\x66\x28\x73\x74\x72\x75\x63\x74\x20\x69\x6f\x5f\x74\x61\x73\x6b\x5f\ -\x73\x74\x61\x74\x73\x29\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\x70\x66\ -\x5f\x67\x65\x74\x5f\x63\x75\x72\x72\x65\x6e\x74\x5f\x63\x6f\x6d\x6d\x28\x69\ -\x6e\x69\x74\x5f\x74\x61\x73\x6b\x2e\x69\x6e\x66\x6f\x2e\x63\x6f\x6d\x6d\x2c\ -\x73\x69\x7a\x65\x6f\x66\x28\x69\x6e\x69\x74\x5f\x74\x61\x73\x6b\x2e\x69\x6e\ -\x66\x6f\x2e\x63\x6f\x6d\x6d\x29\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x69\ -\x6e\x69\x74\x5f\x74\x61\x73\x6b\x2e\x6c\x61\x73\x74\x5f\x63\x6c\x65\x61\x72\ -\x5f\x74\x69\x6d\x65\x20\x3d\x20\x6e\x6f\x77\x3b\0\x20\x20\x20\x20\x20\x20\x20\ -\x20\x69\x6e\x69\x74\x5f\x74\x61\x73\x6b\x2e\x69\x6e\x66\x6f\x2e\x74\x67\x69\ -\x64\x20\x3d\x20\x74\x67\x69\x64\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x69\x6e\ -\x69\x74\x5f\x74\x61\x73\x6b\x2e\x72\x65\x61\x64\x5f\x63\x6f\x75\x6e\x74\x20\ -\x3d\x20\x31\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x69\x6e\x69\x74\x5f\x74\x61\ -\x73\x6b\x2e\x69\x6e\x66\x6f\x2e\x70\x69\x64\x20\x3d\x20\x70\x69\x64\x3b\0\x20\ -\x20\x20\x20\x20\x20\x20\x20\x69\x6e\x69\x74\x5f\x74\x61\x73\x6b\x2e\x77\x72\ -\x69\x74\x65\x5f\x63\x6f\x75\x6e\x74\x20\x3d\x20\x30\x3b\0\x20\x20\x20\x20\x20\ -\x20\x20\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x75\x70\x64\x61\x74\x65\x5f\x65\ -\x6c\x65\x6d\x28\x26\x69\x6f\x5f\x74\x61\x73\x6b\x5f\x73\x74\x61\x74\x73\x5f\ -\x6d\x61\x70\x2c\x26\x70\x69\x64\x2c\x26\x69\x6e\x69\x74\x5f\x74\x61\x73\x6b\ -\x2c\x42\x50\x46\x5f\x41\x4e\x59\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x74\ -\x61\x73\x6b\x2d\x3e\x72\x65\x61\x64\x5f\x63\x6f\x75\x6e\x74\x20\x2b\x3d\x20\ -\x31\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x28\x74\x61\x73\x6b\x2d\x3e\ -\x69\x6e\x66\x6f\x2e\x70\x69\x64\x20\x3d\x3d\x20\x30\x29\0\x20\x20\x20\x20\x20\ -\x20\x20\x20\x20\x20\x20\x20\x74\x61\x73\x6b\x2d\x3e\x69\x6e\x66\x6f\x2e\x70\ -\x69\x64\x20\x3d\x20\x70\x69\x64\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ -\x20\x20\x74\x61\x73\x6b\x2d\x3e\x69\x6e\x66\x6f\x2e\x74\x67\x69\x64\x20\x3d\ -\x20\x74\x67\x69\x64\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x6d\ -\x61\x70\x5f\x75\x70\x64\x61\x74\x65\x5f\x65\x6c\x65\x6d\x28\x26\x69\x6f\x5f\ -\x74\x61\x73\x6b\x5f\x73\x74\x61\x74\x73\x5f\x6d\x61\x70\x2c\x26\x70\x69\x64\ -\x2c\x74\x61\x73\x6b\x2c\x42\x50\x46\x5f\x41\x4e\x59\x29\x3b\0\x20\x20\x20\x20\ -\x20\x20\x20\x20\x69\x6f\x5f\x74\x61\x73\x6b\x5f\x63\x6f\x6d\x70\x61\x72\x65\ -\x5f\x61\x6e\x64\x5f\x63\x6f\x6d\x6d\x69\x74\x28\x74\x61\x73\x6b\x29\x3b\0\x20\ -\x20\x20\x20\x73\x74\x72\x75\x63\x74\x20\x69\x6f\x5f\x70\x72\x6f\x63\x65\x73\ -\x73\x5f\x73\x74\x61\x74\x73\x20\x2a\x70\x72\x6f\x63\x65\x73\x73\x20\x3d\x20\ -\x62\x70\x66\x5f\x6d\x61\x70\x5f\x6c\x6f\x6f\x6b\x75\x70\x5f\x65\x6c\x65\x6d\ -\x28\x26\x69\x6f\x5f\x70\x72\x6f\x63\x65\x73\x73\x5f\x73\x74\x61\x74\x73\x5f\ -\x6d\x61\x70\x2c\x26\x74\x67\x69\x64\x29\x3b\0\x20\x20\x20\x20\x69\x66\x28\x21\ -\x70\x72\x6f\x63\x65\x73\x73\x29\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\x69\x6e\ -\x69\x74\x5f\x70\x72\x6f\x63\x65\x73\x73\x2e\x6c\x61\x73\x74\x5f\x63\x6c\x65\ -\x61\x72\x5f\x74\x69\x6d\x65\x20\x3d\x20\x6e\x6f\x77\x3b\0\x20\x20\x20\x20\x20\ -\x20\x20\x20\x69\x6e\x69\x74\x5f\x70\x72\x6f\x63\x65\x73\x73\x2e\x74\x67\x69\ -\x64\x20\x3d\x20\x74\x67\x69\x64\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x69\x6e\ -\x69\x74\x5f\x70\x72\x6f\x63\x65\x73\x73\x2e\x72\x65\x61\x64\x5f\x63\x6f\x75\ -\x6e\x74\x20\x3d\x20\x31\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x6d\x65\x6d\x73\ -\x65\x74\x28\x26\x69\x6e\x69\x74\x5f\x70\x72\x6f\x63\x65\x73\x73\x2c\x30\x2c\ -\x73\x69\x7a\x65\x6f\x66\x28\x73\x74\x72\x75\x63\x74\x20\x69\x6f\x5f\x70\x72\ -\x6f\x63\x65\x73\x73\x5f\x73\x74\x61\x74\x73\x29\x29\x3b\0\x20\x20\x20\x20\x20\ -\x20\x20\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x75\x70\x64\x61\x74\x65\x5f\x65\ -\x6c\x65\x6d\x28\x26\x69\x6f\x5f\x70\x72\x6f\x63\x65\x73\x73\x5f\x73\x74\x61\ -\x74\x73\x5f\x6d\x61\x70\x2c\x26\x74\x67\x69\x64\x2c\x26\x69\x6e\x69\x74\x5f\ -\x70\x72\x6f\x63\x65\x73\x73\x2c\x42\x50\x46\x5f\x41\x4e\x59\x29\x3b\0\x20\x20\ -\x20\x20\x20\x20\x20\x20\x70\x72\x6f\x63\x65\x73\x73\x2d\x3e\x72\x65\x61\x64\ -\x5f\x63\x6f\x75\x6e\x74\x20\x2b\x3d\x20\x31\x3b\0\x20\x20\x20\x20\x20\x20\x20\ -\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x75\x70\x64\x61\x74\x65\x5f\x65\x6c\x65\ -\x6d\x28\x26\x69\x6f\x5f\x70\x72\x6f\x63\x65\x73\x73\x5f\x73\x74\x61\x74\x73\ -\x5f\x6d\x61\x70\x2c\x26\x74\x67\x69\x64\x2c\x70\x72\x6f\x63\x65\x73\x73\x2c\ -\x42\x50\x46\x5f\x41\x4e\x59\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x69\x6f\ -\x5f\x70\x72\x6f\x63\x65\x73\x73\x5f\x63\x6f\x6d\x70\x61\x72\x65\x5f\x61\x6e\ -\x64\x5f\x63\x6f\x6d\x6d\x69\x74\x28\x70\x72\x6f\x63\x65\x73\x73\x29\x3b\0\x73\ -\x74\x61\x74\x69\x63\x20\x69\x6e\x74\x20\x69\x6f\x5f\x74\x61\x73\x6b\x5f\x63\ -\x6f\x6d\x70\x61\x72\x65\x5f\x61\x6e\x64\x5f\x63\x6f\x6d\x6d\x69\x74\x28\x73\ -\x74\x72\x75\x63\x74\x20\x69\x6f\x5f\x74\x61\x73\x6b\x5f\x73\x74\x61\x74\x73\ -\x20\x2a\x74\x61\x73\x6b\x29\x20\x7b\0\x20\x20\x20\x20\x73\x74\x72\x75\x63\x74\ -\x20\x69\x6f\x5f\x73\x74\x61\x74\x73\x5f\x74\x68\x72\x65\x68\x6f\x6c\x64\x20\ -\x2a\x74\x68\x72\x65\x68\x6f\x6c\x64\x20\x3d\x20\x62\x70\x66\x5f\x6d\x61\x70\ -\x5f\x6c\x6f\x6f\x6b\x75\x70\x5f\x65\x6c\x65\x6d\x28\x26\x69\x6f\x5f\x74\x68\ -\x72\x65\x68\x6f\x6c\x64\x5f\x6d\x61\x70\x2c\x26\x7a\x65\x72\x6f\x29\x3b\0\x20\ -\x20\x20\x20\x69\x66\x28\x21\x74\x68\x72\x65\x68\x6f\x6c\x64\x29\x7b\0\x20\x20\ -\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x70\x72\x69\x6e\x74\x6b\x28\x22\x69\ -\x6f\x5f\x74\x68\x72\x65\x68\x6f\x6c\x64\x20\x6d\x61\x70\x20\x69\x73\x20\x6e\ -\x6f\x74\x20\x69\x6e\x69\x74\x5c\x6e\x22\x29\x3b\0\x20\x20\x20\x20\x69\x66\x28\ -\x74\x61\x73\x6b\x2d\x3e\x6c\x61\x73\x74\x5f\x63\x6c\x65\x61\x72\x5f\x74\x69\ -\x6d\x65\x20\x2b\x20\x74\x68\x72\x65\x68\x6f\x6c\x64\x2d\x3e\x74\x69\x6d\x65\ -\x5f\x77\x69\x6e\x64\x6f\x77\x20\x3c\x20\x6e\x6f\x77\x29\x7b\0\x20\x20\x20\x20\ -\x20\x20\x20\x20\x74\x61\x73\x6b\x2d\x3e\x6c\x61\x73\x74\x5f\x63\x6c\x65\x61\ -\x72\x5f\x74\x69\x6d\x65\x20\x3d\x20\x6e\x6f\x77\x3b\0\x20\x20\x20\x20\x20\x20\ -\x20\x20\x74\x61\x73\x6b\x2d\x3e\x61\x6c\x72\x65\x61\x64\x79\x5f\x6f\x75\x74\ -\x70\x75\x74\x20\x3d\x20\x30\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x74\x61\x73\ -\x6b\x2d\x3e\x77\x72\x69\x74\x65\x5f\x63\x6f\x75\x6e\x74\x20\x3d\x20\x30\x3b\0\ -\x20\x20\x20\x20\x20\x20\x20\x20\x74\x61\x73\x6b\x2d\x3e\x72\x65\x61\x64\x5f\ -\x63\x6f\x75\x6e\x74\x20\x3d\x20\x30\x3b\0\x20\x20\x20\x20\x69\x66\x28\x74\x61\ -\x73\x6b\x2d\x3e\x72\x65\x61\x64\x5f\x63\x6f\x75\x6e\x74\x20\x3e\x3d\x20\x74\ -\x68\x72\x65\x68\x6f\x6c\x64\x2d\x3e\x72\x65\x61\x64\x5f\x63\x6f\x75\x6e\x74\ -\x20\x7c\x7c\x20\x74\x61\x73\x6b\x2d\x3e\x77\x72\x69\x74\x65\x5f\x63\x6f\x75\ -\x6e\x74\x20\x3e\x3d\x20\x74\x68\x72\x65\x68\x6f\x6c\x64\x2d\x3e\x77\x72\x69\ -\x74\x65\x5f\x63\x6f\x75\x6e\x74\x29\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\x69\ -\x66\x28\x74\x61\x73\x6b\x2d\x3e\x61\x6c\x72\x65\x61\x64\x79\x5f\x6f\x75\x74\ -\x70\x75\x74\x20\x21\x3d\x20\x30\x29\0\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\ -\x72\x75\x63\x74\x20\x69\x6f\x5f\x74\x61\x73\x6b\x5f\x73\x74\x61\x74\x73\x20\ -\x2a\x62\x75\x66\x66\x20\x3d\x20\x62\x70\x66\x5f\x72\x69\x6e\x67\x62\x75\x66\ -\x5f\x72\x65\x73\x65\x72\x76\x65\x28\x26\x69\x6f\x5f\x74\x61\x73\x6b\x5f\x73\ -\x74\x61\x74\x73\x5f\x62\x75\x66\x66\x65\x72\x2c\x20\x73\x69\x7a\x65\x6f\x66\ -\x28\x73\x74\x72\x75\x63\x74\x20\x69\x6f\x5f\x74\x61\x73\x6b\x5f\x73\x74\x61\ -\x74\x73\x29\x2c\x20\x30\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x28\ -\x21\x62\x75\x66\x66\x29\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ -\x62\x70\x66\x5f\x70\x72\x69\x6e\x74\x6b\x28\x22\x74\x61\x73\x6b\x5f\x69\x6f\ -\x5f\x73\x74\x61\x74\x73\x5f\x62\x75\x66\x66\x20\x69\x73\x20\x66\x75\x6c\x6c\ -\x5c\x6e\x22\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x6d\x65\x6d\x73\x65\x74\ -\x28\x62\x75\x66\x66\x2c\x30\x2c\x73\x69\x7a\x65\x6f\x66\x28\x73\x74\x72\x75\ -\x63\x74\x20\x69\x6f\x5f\x74\x61\x73\x6b\x5f\x73\x74\x61\x74\x73\x29\x29\x3b\0\ -\x20\x20\x20\x20\x20\x20\x20\x20\x62\x75\x66\x66\x2d\x3e\x69\x6e\x66\x6f\x2e\ -\x70\x69\x64\x20\x3d\x20\x74\x61\x73\x6b\x2d\x3e\x69\x6e\x66\x6f\x2e\x70\x69\ -\x64\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\x75\x66\x66\x2d\x3e\x69\x6e\x66\ -\x6f\x2e\x74\x67\x69\x64\x20\x3d\x20\x74\x61\x73\x6b\x2d\x3e\x69\x6e\x66\x6f\ -\x2e\x74\x67\x69\x64\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x70\ -\x72\x6f\x62\x65\x5f\x72\x65\x61\x64\x5f\x73\x74\x72\x28\x62\x75\x66\x66\x2d\ -\x3e\x69\x6e\x66\x6f\x2e\x63\x6f\x6d\x6d\x2c\x73\x69\x7a\x65\x6f\x66\x28\x74\ -\x61\x73\x6b\x2d\x3e\x69\x6e\x66\x6f\x2e\x63\x6f\x6d\x6d\x29\x2c\x74\x61\x73\ -\x6b\x2d\x3e\x69\x6e\x66\x6f\x2e\x63\x6f\x6d\x6d\x29\x3b\x20\x20\0\x20\x20\x20\ -\x20\x20\x20\x20\x20\x62\x75\x66\x66\x2d\x3e\x72\x65\x61\x64\x5f\x63\x6f\x75\ -\x6e\x74\x20\x3d\x20\x74\x61\x73\x6b\x2d\x3e\x72\x65\x61\x64\x5f\x63\x6f\x75\ -\x6e\x74\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\x75\x66\x66\x2d\x3e\x77\x72\ -\x69\x74\x65\x5f\x63\x6f\x75\x6e\x74\x20\x3d\x20\x74\x61\x73\x6b\x2d\x3e\x77\ -\x72\x69\x74\x65\x5f\x63\x6f\x75\x6e\x74\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\ -\x75\x36\x34\x20\x74\x69\x6d\x65\x5f\x73\x70\x61\x72\x65\x20\x3d\x20\x74\x61\ -\x73\x6b\x2d\x3e\x6c\x61\x73\x74\x5f\x63\x6c\x65\x61\x72\x5f\x74\x69\x6d\x65\ -\x20\x2b\x20\x74\x68\x72\x65\x68\x6f\x6c\x64\x2d\x3e\x74\x69\x6d\x65\x5f\x77\ -\x69\x6e\x64\x6f\x77\x20\x2d\x20\x6e\x6f\x77\x3b\0\x20\x20\x20\x20\x20\x20\x20\ -\x20\x74\x69\x6d\x65\x5f\x73\x70\x61\x72\x65\x20\x3d\x20\x74\x69\x6d\x65\x5f\ -\x73\x70\x61\x72\x65\x20\x2a\x20\x31\x30\x30\x20\x2f\x20\x74\x68\x72\x65\x68\ -\x6f\x6c\x64\x2d\x3e\x74\x69\x6d\x65\x5f\x77\x69\x6e\x64\x6f\x77\x3b\0\x20\x20\ -\x20\x20\x20\x20\x20\x20\x74\x69\x6d\x65\x5f\x73\x70\x61\x72\x65\x20\x3d\x20\ -\x28\x75\x33\x32\x29\x74\x69\x6d\x65\x5f\x73\x70\x61\x72\x65\x3b\0\x20\x20\x20\ -\x20\x20\x20\x20\x20\x69\x66\x28\x74\x69\x6d\x65\x5f\x73\x70\x61\x72\x65\x20\ -\x3e\x20\x31\x30\x29\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x75\ -\x66\x66\x2d\x3e\x77\x72\x69\x74\x65\x5f\x63\x6f\x75\x6e\x74\x20\x2a\x3d\x20\ -\x28\x74\x69\x6d\x65\x5f\x73\x70\x61\x72\x65\x20\x2f\x20\x31\x30\x29\x3b\0\x20\ -\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x75\x66\x66\x2d\x3e\x72\x65\ -\x61\x64\x5f\x63\x6f\x75\x6e\x74\x20\x2a\x3d\x20\x28\x74\x69\x6d\x65\x5f\x73\ -\x70\x61\x72\x65\x20\x2f\x20\x31\x30\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\ -\x62\x70\x66\x5f\x72\x69\x6e\x67\x62\x75\x66\x5f\x73\x75\x62\x6d\x69\x74\x28\ -\x62\x75\x66\x66\x2c\x30\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x74\x61\x73\ -\x6b\x2d\x3e\x61\x6c\x72\x65\x61\x64\x79\x5f\x6f\x75\x74\x70\x75\x74\x20\x3d\ -\x20\x31\x3b\0\x73\x74\x61\x74\x69\x63\x20\x69\x6e\x74\x20\x69\x6f\x5f\x70\x72\ -\x6f\x63\x65\x73\x73\x5f\x63\x6f\x6d\x70\x61\x72\x65\x5f\x61\x6e\x64\x5f\x63\ -\x6f\x6d\x6d\x69\x74\x28\x73\x74\x72\x75\x63\x74\x20\x69\x6f\x5f\x70\x72\x6f\ -\x63\x65\x73\x73\x5f\x73\x74\x61\x74\x73\x20\x2a\x70\x72\x6f\x63\x65\x73\x73\ -\x29\x20\x7b\0\x20\x20\x20\x20\x73\x74\x72\x75\x63\x74\x20\x69\x6f\x5f\x73\x74\ -\x61\x74\x73\x5f\x74\x68\x72\x65\x68\x6f\x6c\x64\x20\x2a\x74\x68\x72\x65\x68\ -\x6f\x6c\x64\x20\x3d\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x6c\x6f\x6f\x6b\x75\ -\x70\x5f\x65\x6c\x65\x6d\x28\x26\x69\x6f\x5f\x74\x68\x72\x65\x68\x6f\x6c\x64\ -\x5f\x6d\x61\x70\x2c\x26\x6f\x6e\x65\x29\x3b\0\x20\x20\x20\x20\x69\x66\x28\x70\ -\x72\x6f\x63\x65\x73\x73\x2d\x3e\x6c\x61\x73\x74\x5f\x63\x6c\x65\x61\x72\x5f\ -\x74\x69\x6d\x65\x20\x2b\x20\x74\x68\x72\x65\x68\x6f\x6c\x64\x2d\x3e\x74\x69\ -\x6d\x65\x5f\x77\x69\x6e\x64\x6f\x77\x20\x3c\x20\x6e\x6f\x77\x29\x7b\0\x20\x20\ -\x20\x20\x20\x20\x20\x20\x70\x72\x6f\x63\x65\x73\x73\x2d\x3e\x6c\x61\x73\x74\ -\x5f\x63\x6c\x65\x61\x72\x5f\x74\x69\x6d\x65\x20\x3d\x20\x6e\x6f\x77\x3b\0\x20\ -\x20\x20\x20\x20\x20\x20\x20\x70\x72\x6f\x63\x65\x73\x73\x2d\x3e\x61\x6c\x72\ -\x65\x61\x64\x79\x5f\x6f\x75\x74\x70\x75\x74\x20\x3d\x20\x30\x3b\0\x20\x20\x20\ -\x20\x20\x20\x20\x20\x70\x72\x6f\x63\x65\x73\x73\x2d\x3e\x77\x72\x69\x74\x65\ -\x5f\x63\x6f\x75\x6e\x74\x20\x3d\x20\x30\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\ -\x70\x72\x6f\x63\x65\x73\x73\x2d\x3e\x72\x65\x61\x64\x5f\x63\x6f\x75\x6e\x74\ -\x20\x3d\x20\x30\x3b\0\x20\x20\x20\x20\x69\x66\x28\x70\x72\x6f\x63\x65\x73\x73\ -\x2d\x3e\x72\x65\x61\x64\x5f\x63\x6f\x75\x6e\x74\x20\x3e\x3d\x20\x74\x68\x72\ -\x65\x68\x6f\x6c\x64\x2d\x3e\x72\x65\x61\x64\x5f\x63\x6f\x75\x6e\x74\x20\x7c\ -\x7c\x20\x70\x72\x6f\x63\x65\x73\x73\x2d\x3e\x77\x72\x69\x74\x65\x5f\x63\x6f\ -\x75\x6e\x74\x20\x3e\x3d\x20\x74\x68\x72\x65\x68\x6f\x6c\x64\x2d\x3e\x77\x72\ -\x69\x74\x65\x5f\x63\x6f\x75\x6e\x74\x29\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\ -\x69\x66\x28\x70\x72\x6f\x63\x65\x73\x73\x2d\x3e\x61\x6c\x72\x65\x61\x64\x79\ -\x5f\x6f\x75\x74\x70\x75\x74\x20\x21\x3d\x20\x30\x29\0\x20\x20\x20\x20\x20\x20\ -\x20\x20\x73\x74\x72\x75\x63\x74\x20\x69\x6f\x5f\x70\x72\x6f\x63\x65\x73\x73\ -\x5f\x73\x74\x61\x74\x73\x20\x2a\x62\x75\x66\x66\x20\x3d\x20\x62\x70\x66\x5f\ -\x72\x69\x6e\x67\x62\x75\x66\x5f\x72\x65\x73\x65\x72\x76\x65\x28\x26\x69\x6f\ -\x5f\x70\x72\x6f\x63\x65\x73\x73\x5f\x73\x74\x61\x74\x73\x5f\x62\x75\x66\x66\ -\x65\x72\x2c\x20\x73\x69\x7a\x65\x6f\x66\x28\x73\x74\x72\x75\x63\x74\x20\x69\ -\x6f\x5f\x70\x72\x6f\x63\x65\x73\x73\x5f\x73\x74\x61\x74\x73\x29\x2c\x20\x30\ -\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x70\ -\x72\x69\x6e\x74\x6b\x28\x22\x70\x72\x6f\x63\x65\x73\x73\x5f\x69\x6f\x5f\x73\ -\x74\x61\x74\x73\x5f\x62\x75\x66\x66\x20\x69\x73\x20\x66\x75\x6c\x6c\x5c\x6e\ -\x22\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x6d\x65\x6d\x73\x65\x74\x28\x62\ -\x75\x66\x66\x2c\x30\x2c\x73\x69\x7a\x65\x6f\x66\x28\x73\x74\x72\x75\x63\x74\ -\x20\x69\x6f\x5f\x70\x72\x6f\x63\x65\x73\x73\x5f\x73\x74\x61\x74\x73\x29\x29\ -\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\x75\x66\x66\x2d\x3e\x74\x67\x69\x64\ -\x20\x3d\x20\x70\x72\x6f\x63\x65\x73\x73\x2d\x3e\x74\x67\x69\x64\x3b\0\x20\x20\ -\x20\x20\x20\x20\x20\x20\x62\x75\x66\x66\x2d\x3e\x72\x65\x61\x64\x5f\x63\x6f\ -\x75\x6e\x74\x20\x3d\x20\x70\x72\x6f\x63\x65\x73\x73\x2d\x3e\x72\x65\x61\x64\ -\x5f\x63\x6f\x75\x6e\x74\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\x75\x66\x66\ -\x2d\x3e\x77\x72\x69\x74\x65\x5f\x63\x6f\x75\x6e\x74\x20\x3d\x20\x70\x72\x6f\ -\x63\x65\x73\x73\x2d\x3e\x77\x72\x69\x74\x65\x5f\x63\x6f\x75\x6e\x74\x3b\0\x20\ -\x20\x20\x20\x20\x20\x20\x20\x70\x72\x6f\x63\x65\x73\x73\x2d\x3e\x61\x6c\x72\ -\x65\x61\x64\x79\x5f\x6f\x75\x74\x70\x75\x74\x20\x3d\x20\x31\x3b\0\x20\x20\x20\ -\x20\x20\x20\x20\x20\x69\x6e\x69\x74\x5f\x74\x61\x73\x6b\x2e\x77\x72\x69\x74\ -\x65\x5f\x63\x6f\x75\x6e\x74\x20\x3d\x20\x31\x3b\0\x20\x20\x20\x20\x20\x20\x20\ -\x20\x69\x6e\x69\x74\x5f\x74\x61\x73\x6b\x2e\x72\x65\x61\x64\x5f\x63\x6f\x75\ -\x6e\x74\x20\x3d\x20\x30\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x74\x61\x73\x6b\ -\x2d\x3e\x77\x72\x69\x74\x65\x5f\x63\x6f\x75\x6e\x74\x20\x2b\x3d\x20\x31\x3b\0\ -\x20\x20\x20\x20\x20\x20\x20\x20\x69\x6e\x69\x74\x5f\x70\x72\x6f\x63\x65\x73\ -\x73\x2e\x77\x72\x69\x74\x65\x5f\x63\x6f\x75\x6e\x74\x20\x3d\x20\x31\x3b\0\x20\ -\x20\x20\x20\x20\x20\x20\x20\x69\x6e\x69\x74\x5f\x70\x72\x6f\x63\x65\x73\x73\ -\x2e\x72\x65\x61\x64\x5f\x63\x6f\x75\x6e\x74\x20\x3d\x20\x30\x3b\0\x20\x20\x20\ -\x20\x20\x20\x20\x20\x70\x72\x6f\x63\x65\x73\x73\x2d\x3e\x77\x72\x69\x74\x65\ -\x5f\x63\x6f\x75\x6e\x74\x20\x2b\x3d\x20\x31\x3b\0\x20\x20\x20\x20\x75\x36\x34\ -\x20\x70\x69\x64\x5f\x74\x67\x69\x64\x20\x3d\x20\x62\x70\x66\x5f\x67\x65\x74\ -\x5f\x63\x75\x72\x72\x65\x6e\x74\x5f\x70\x69\x64\x5f\x74\x67\x69\x64\x28\x29\ -\x3b\0\x20\x20\x20\x20\x75\x33\x32\x20\x70\x69\x64\x20\x3d\x20\x70\x69\x64\x5f\ -\x74\x67\x69\x64\x20\x26\x20\x30\x78\x46\x46\x46\x46\x46\x46\x46\x46\x3b\x20\ -\x20\0\x20\x20\x20\x20\x69\x66\x28\x70\x69\x64\x20\x3d\x3d\x20\x30\x20\x7c\x7c\ -\x20\x74\x67\x69\x64\x20\x3d\x3d\x20\x30\x29\0\x20\x20\x20\x20\x69\x66\x28\x62\ -\x70\x66\x5f\x6d\x61\x70\x5f\x6c\x6f\x6f\x6b\x75\x70\x5f\x65\x6c\x65\x6d\x28\ -\x26\x69\x6f\x5f\x74\x61\x73\x6b\x5f\x73\x74\x61\x74\x73\x5f\x6d\x61\x70\x2c\ -\x26\x70\x69\x64\x29\x20\x21\x3d\x20\x4e\x55\x4c\x4c\x29\0\x20\x20\x20\x20\x20\ -\x20\x20\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x64\x65\x6c\x65\x74\x65\x5f\x65\ -\x6c\x65\x6d\x28\x26\x69\x6f\x5f\x74\x61\x73\x6b\x5f\x73\x74\x61\x74\x73\x5f\ -\x6d\x61\x70\x2c\x26\x70\x69\x64\x29\x3b\0\x69\x6e\x74\x20\x42\x50\x46\x5f\x50\ -\x52\x4f\x47\x28\x68\x61\x6e\x64\x6c\x65\x5f\x69\x6f\x5f\x74\x61\x73\x6b\x5f\ -\x65\x78\x69\x74\x29\x7b\0\x30\x3a\x31\0\x6c\x69\x63\x65\x6e\x73\x65\0\x2e\x6d\ -\x61\x70\x73\0\x2e\x72\x6f\x64\x61\x74\x61\0\x2e\x74\x65\x78\x74\0\x74\x72\x61\ -\x63\x65\x70\x6f\x69\x6e\x74\x2f\x62\x6c\x6f\x63\x6b\x2f\x62\x6c\x6f\x63\x6b\ -\x5f\x72\x71\x5f\x69\x73\x73\x75\x65\0\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\ -\x2f\x62\x6c\x6f\x63\x6b\x2f\x62\x6c\x6f\x63\x6b\x5f\x72\x71\x5f\x63\x6f\x6d\ -\x70\x6c\x65\x74\x65\0\x70\x65\x72\x66\x5f\x65\x76\x65\x6e\x74\0\x74\x72\x61\ -\x63\x65\x70\x6f\x69\x6e\x74\x2f\x73\x79\x73\x63\x61\x6c\x6c\x73\x2f\x73\x79\ -\x73\x5f\x65\x6e\x74\x65\x72\x5f\x72\x65\x61\x64\0\x74\x72\x61\x63\x65\x70\x6f\ -\x69\x6e\x74\x2f\x73\x79\x73\x63\x61\x6c\x6c\x73\x2f\x73\x79\x73\x5f\x65\x6e\ -\x74\x65\x72\x5f\x77\x72\x69\x74\x65\0\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\ -\x2f\x73\x63\x68\x65\x64\x2f\x73\x63\x68\x65\x64\x5f\x70\x72\x6f\x63\x65\x73\ -\x73\x5f\x65\x78\x69\x74\0\0\0\0\0\0\x9f\xeb\x01\0\x20\0\0\0\0\0\0\0\x7c\0\0\0\ -\x7c\0\0\0\xcc\x11\0\0\x48\x12\0\0\x1c\0\0\0\x08\0\0\0\xa8\x1a\0\0\x02\0\0\0\0\ -\0\0\0\x55\0\0\0\xf8\x02\0\0\x59\0\0\0\xae\x1a\0\0\x01\0\0\0\0\0\0\0\x3c\0\0\0\ -\xce\x1a\0\0\x01\0\0\0\0\0\0\0\x42\0\0\0\xf1\x1a\0\0\x01\0\0\0\0\0\0\0\x49\0\0\ -\0\xfc\x1a\0\0\x01\0\0\0\0\0\0\0\x4f\0\0\0\x1f\x1b\0\0\x01\0\0\0\0\0\0\0\x5a\0\ -\0\0\x43\x1b\0\0\x01\0\0\0\0\0\0\0\x5d\0\0\0\x10\0\0\0\xa8\x1a\0\0\x56\0\0\0\0\ -\0\0\0\xf3\x04\0\0\x79\x0f\0\0\0\x1c\x02\0\x08\0\0\0\xf3\x04\0\0\xbd\x0f\0\0\ -\x2a\x20\x02\0\x38\0\0\0\xf3\x04\0\0\x13\x10\0\0\x08\x24\x02\0\x40\0\0\0\xf3\ -\x04\0\0\x26\x10\0\0\x09\x28\x02\0\x68\0\0\0\xf3\x04\0\0\x64\x0a\0\0\x0f\x38\ -\x02\0\x78\0\0\0\xf3\x04\0\0\x5b\x10\0\0\x0e\x3c\x02\0\x80\0\0\0\xf3\x04\0\0\ -\x5b\x10\0\0\x2a\x3c\x02\0\x88\0\0\0\xf3\x04\0\0\x5b\x10\0\0\x1e\x3c\x02\0\x90\ -\0\0\0\xf3\x04\0\0\x5b\x10\0\0\x08\x3c\x02\0\x98\0\0\0\xf3\x04\0\0\x98\x10\0\0\ -\x1f\x48\x02\0\xa8\0\0\0\xf3\x04\0\0\xbd\x10\0\0\x1e\x4c\x02\0\xb0\0\0\0\xf3\ -\x04\0\0\xdf\x10\0\0\x1b\x44\x02\0\xb8\0\0\0\xf3\x04\0\0\xfe\x10\0\0\x1a\x40\ -\x02\0\xc0\0\0\0\xf3\x04\0\0\0\0\0\0\0\0\0\0\xf0\0\0\0\xf3\x04\0\0\x24\x08\0\0\ -\x01\xe8\x02\0\xf8\0\0\0\xf3\x04\0\0\x1c\x11\0\0\x26\x64\x02\0\0\x01\0\0\xf3\ -\x04\0\0\x1c\x11\0\0\x0e\x64\x02\0\x08\x01\0\0\xf3\x04\0\0\x1c\x11\0\0\x31\x64\ -\x02\0\x10\x01\0\0\xf3\x04\0\0\x1c\x11\0\0\x3a\x64\x02\0\x18\x01\0\0\xf3\x04\0\ -\0\x1c\x11\0\0\x53\x64\x02\0\x20\x01\0\0\xf3\x04\0\0\x1c\x11\0\0\x08\x64\x02\0\ -\x28\x01\0\0\xf3\x04\0\0\x7c\x11\0\0\x12\x68\x02\0\x30\x01\0\0\xf3\x04\0\0\x7c\ -\x11\0\0\x0c\x68\x02\0\x38\x01\0\0\xf3\x04\0\0\xa2\x11\0\0\x26\x7c\x02\0\x68\ -\x01\0\0\xf3\x04\0\0\x14\x12\0\0\x0c\x80\x02\0\x70\x01\0\0\xf3\x04\0\0\x27\x12\ -\0\0\x0d\x84\x02\0\xa0\x01\0\0\xf3\x04\0\0\x5f\x12\0\0\x09\x90\x02\0\xd8\x01\0\ -\0\xf3\x04\0\0\x94\x12\0\0\x25\x94\x02\0\xe0\x01\0\0\xf3\x04\0\0\x94\x12\0\0\ -\x18\x94\x02\0\xe8\x01\0\0\xf3\x04\0\0\xbd\x12\0\0\x26\x98\x02\0\xf0\x01\0\0\ -\xf3\x04\0\0\xbd\x12\0\0\x19\x98\x02\0\xf8\x01\0\0\xf3\x04\0\0\xe8\x12\0\0\x27\ -\x9c\x02\0\x08\x02\0\0\xf3\x04\0\0\xe8\x12\0\0\x44\x9c\x02\0\x18\x02\0\0\xf3\ -\x04\0\0\xe8\x12\0\0\x09\x9c\x02\0\x28\x02\0\0\xf3\x04\0\0\x3f\x13\0\0\x22\xa0\ -\x02\0\x30\x02\0\0\xf3\x04\0\0\x3f\x13\0\0\x1a\xa0\x02\0\x38\x02\0\0\xf3\x04\0\ -\0\x6c\x13\0\0\x23\xa4\x02\0\x40\x02\0\0\xf3\x04\0\0\x6c\x13\0\0\x1b\xa4\x02\0\ -\x48\x02\0\0\xf3\x04\0\0\x9b\x13\0\0\x20\xb0\x02\0\x50\x02\0\0\xf3\x04\0\0\x9b\ -\x13\0\0\x30\xb0\x02\0\x58\x02\0\0\xf3\x04\0\0\x9b\x13\0\0\x3c\xb0\x02\0\x60\ -\x02\0\0\xf3\x04\0\0\x9b\x13\0\0\x48\xb0\x02\0\x68\x02\0\0\xf3\x04\0\0\xe9\x13\ -\0\0\x21\xb4\x02\0\x70\x02\0\0\xf3\x04\0\0\xe9\x13\0\0\x27\xb4\x02\0\x78\x02\0\ -\0\xf3\x04\0\0\x28\x14\0\0\x16\xb8\x02\0\x90\x02\0\0\xf3\x04\0\0\x4e\x14\0\0\ -\x0c\xbc\x02\0\x98\x02\0\0\xf3\x04\0\0\x6a\x14\0\0\x2e\xc4\x02\0\xa0\x02\0\0\ -\xf3\x04\0\0\x9e\x14\0\0\x1e\xc8\x02\0\xb8\x02\0\0\xf3\x04\0\0\x6a\x14\0\0\x1f\ -\xc4\x02\0\xc8\x02\0\0\xf3\x04\0\0\xd1\x14\0\0\x09\xd0\x02\0\xe8\x02\0\0\xf3\ -\x04\0\0\xf5\x14\0\0\x1e\xd8\x02\0\xf8\x02\0\0\xf3\x04\0\0\x17\x15\0\0\0\xf4\ -\x02\0\0\x03\0\0\xf3\x04\0\0\x64\x15\0\0\x2a\xf8\x02\0\x30\x03\0\0\xf3\x04\0\0\ -\x13\x10\0\0\x08\xfc\x02\0\x38\x03\0\0\xf3\x04\0\0\x26\x10\0\0\x09\0\x03\0\x60\ -\x03\0\0\xf3\x04\0\0\x64\x0a\0\0\x0f\x10\x03\0\x68\x03\0\0\xf3\x04\0\0\xb9\x15\ -\0\0\x11\x14\x03\0\x70\x03\0\0\xf3\x04\0\0\xb9\x15\0\0\x2d\x14\x03\0\x78\x03\0\ -\0\xf3\x04\0\0\xb9\x15\0\0\x21\x14\x03\0\x80\x03\0\0\xf3\x04\0\0\xb9\x15\0\0\ -\x08\x14\x03\0\x88\x03\0\0\xf3\x04\0\0\xf9\x15\0\0\x22\x20\x03\0\x98\x03\0\0\ -\xf3\x04\0\0\x21\x16\0\0\x21\x24\x03\0\xa0\x03\0\0\xf3\x04\0\0\x46\x16\0\0\x1e\ -\x1c\x03\0\xa8\x03\0\0\xf3\x04\0\0\x68\x16\0\0\x1d\x18\x03\0\xb0\x03\0\0\xf3\ -\x04\0\0\0\0\0\0\0\0\0\0\xe0\x03\0\0\xf3\x04\0\0\x24\x08\0\0\x01\x7c\x03\0\xe8\ -\x03\0\0\xf3\x04\0\0\x89\x16\0\0\x29\x38\x03\0\xf0\x03\0\0\xf3\x04\0\0\x89\x16\ -\0\0\x11\x38\x03\0\xf8\x03\0\0\xf3\x04\0\0\x89\x16\0\0\x34\x38\x03\0\0\x04\0\0\ -\xf3\x04\0\0\x89\x16\0\0\x40\x38\x03\0\x08\x04\0\0\xf3\x04\0\0\x89\x16\0\0\x59\ -\x38\x03\0\x10\x04\0\0\xf3\x04\0\0\x89\x16\0\0\x08\x38\x03\0\x18\x04\0\0\xf3\ -\x04\0\0\xef\x16\0\0\x15\x3c\x03\0\x20\x04\0\0\xf3\x04\0\0\xef\x16\0\0\x0c\x3c\ -\x03\0\x30\x04\0\0\xf3\x04\0\0\x18\x17\0\0\x29\x44\x03\0\x58\x04\0\0\xf3\x04\0\ -\0\x14\x12\0\0\x0c\x48\x03\0\x60\x04\0\0\xf3\x04\0\0\x93\x17\0\0\x0d\x4c\x03\0\ -\x88\x04\0\0\xf3\x04\0\0\xce\x17\0\0\x09\x58\x03\0\xa8\x04\0\0\xf3\x04\0\0\x06\ -\x18\0\0\x1f\x5c\x03\0\xb0\x04\0\0\xf3\x04\0\0\x06\x18\0\0\x14\x5c\x03\0\xb8\ -\x04\0\0\xf3\x04\0\0\x2a\x18\0\0\x25\x60\x03\0\xc0\x04\0\0\xf3\x04\0\0\x2a\x18\ -\0\0\x1a\x60\x03\0\xc8\x04\0\0\xf3\x04\0\0\x5a\x18\0\0\x26\x64\x03\0\xd0\x04\0\ -\0\xf3\x04\0\0\x5a\x18\0\0\x1b\x64\x03\0\xd8\x04\0\0\xf3\x04\0\0\xd1\x14\0\0\ -\x09\x68\x03\0\xf8\x04\0\0\xf3\x04\0\0\x8c\x18\0\0\x21\x6c\x03\0\xae\x1a\0\0\ -\x07\0\0\0\0\0\0\0\xf3\x04\0\0\x32\x05\0\0\x14\x64\x01\0\x08\0\0\0\xf3\x04\0\0\ -\x32\x05\0\0\x09\x64\x01\0\x10\0\0\0\xf3\x04\0\0\x4a\x05\0\0\x0f\x68\x01\0\x18\ -\0\0\0\xf3\x04\0\0\x4a\x05\0\0\x09\x68\x01\0\x28\0\0\0\xf3\x04\0\0\0\0\0\0\0\0\ -\0\0\x40\0\0\0\xf3\x04\0\0\x6d\x05\0\0\x05\x70\x01\0\x60\0\0\0\xf3\x04\0\0\xa6\ -\x05\0\0\x05\x74\x01\0\xce\x1a\0\0\x1e\0\0\0\0\0\0\0\xf3\x04\0\0\x32\x05\0\0\ -\x14\x8c\x01\0\x08\0\0\0\xf3\x04\0\0\x32\x05\0\0\x09\x8c\x01\0\x18\0\0\0\xf3\ -\x04\0\0\0\0\0\0\0\0\0\0\x20\0\0\0\xf3\x04\0\0\xb4\x05\0\0\x11\x90\x01\0\x40\0\ -\0\0\xf3\x04\0\0\xec\x05\0\0\x08\x94\x01\0\x48\0\0\0\xf3\x04\0\0\x4a\x05\0\0\ -\x0f\x9c\x01\0\x50\0\0\0\xf3\x04\0\0\xfa\x05\0\0\x16\xa0\x01\0\x58\0\0\0\xf3\ -\x04\0\0\xfa\x05\0\0\x14\xa0\x01\0\x60\0\0\0\xf3\x04\0\0\x16\x06\0\0\x08\xe8\0\ -\0\x78\0\0\0\xf3\x04\0\0\x32\x06\0\0\x0d\xf0\0\0\x90\0\0\0\xf3\x04\0\0\x52\x06\ -\0\0\x0d\xf8\0\0\xa8\0\0\0\xf3\x04\0\0\x73\x06\0\0\x0d\0\x01\0\xc0\0\0\0\xf3\ -\x04\0\0\x94\x06\0\0\x0d\x08\x01\0\xd8\0\0\0\xf3\x04\0\0\xb6\x06\0\0\x0d\x10\ -\x01\0\xf0\0\0\0\xf3\x04\0\0\xd9\x06\0\0\x0d\x18\x01\0\x10\x01\0\0\xf3\x04\0\0\ -\0\0\0\0\0\0\0\0\x20\x01\0\0\xf3\x04\0\0\0\0\0\0\0\0\0\0\x28\x01\0\0\xf3\x04\0\ -\0\xfc\x06\0\0\x12\x2c\x01\0\x40\x01\0\0\xf3\x04\0\0\x3e\x07\0\0\x08\x30\x01\0\ -\x50\x01\0\0\xf3\x04\0\0\0\0\0\0\0\0\0\0\x58\x01\0\0\xf3\x04\0\0\x4e\x07\0\0\ -\x09\x34\x01\0\x80\x01\0\0\xf3\x04\0\0\x94\x07\0\0\x12\x40\x01\0\x88\x01\0\0\ -\xf3\x04\0\0\x94\x07\0\0\x19\x40\x01\0\x90\x01\0\0\xf3\x04\0\0\x94\x07\0\0\x10\ -\x40\x01\0\xa0\x01\0\0\xf3\x04\0\0\x94\x07\0\0\x12\x40\x01\0\xa8\x01\0\0\xf3\ -\x04\0\0\xb1\x07\0\0\x09\x44\x01\0\xc0\x01\0\0\xf3\x04\0\0\0\0\0\0\0\0\0\0\xd8\ -\x01\0\0\xf3\x04\0\0\0\0\0\0\0\0\0\0\xe0\x01\0\0\xf3\x04\0\0\xf8\x07\0\0\x05\ -\xac\x01\0\xf8\x01\0\0\xf3\x04\0\0\x24\x08\0\0\x01\xb4\x01\0\xf1\x1a\0\0\x37\0\ -\0\0\0\0\0\0\xf3\x04\0\0\x26\x08\0\0\0\xc0\x01\0\x08\0\0\0\xf3\x04\0\0\x62\x08\ -\0\0\x26\xc4\x01\0\x38\0\0\0\xf3\x04\0\0\xd0\x08\0\0\x08\xc8\x01\0\x40\0\0\0\ -\xf3\x04\0\0\xdf\x08\0\0\x09\xcc\x01\0\x68\0\0\0\xf3\x04\0\0\x15\x09\0\0\x05\ -\xd8\x01\0\xa8\0\0\0\xf3\x04\0\0\x4a\x09\0\0\x0d\xe4\x01\0\xb8\0\0\0\xf3\x04\0\ -\0\x15\x09\0\0\x05\xd8\x01\0\xc0\0\0\0\xf3\x04\0\0\x61\x09\0\0\x15\xe8\x01\0\ -\xd8\0\0\0\xf3\x04\0\0\xa5\x09\0\0\x0c\xec\x01\0\xe0\0\0\0\xf3\x04\0\0\xb8\x09\ -\0\0\x23\xfc\x01\0\xe8\0\0\0\xf3\x04\0\0\0\0\0\0\0\0\0\0\xf8\0\0\0\xf3\x04\0\0\ -\x4a\x09\0\0\x0d\xe4\x01\0\x08\x01\0\0\xf3\x04\0\0\0\0\0\0\0\0\0\0\x10\x01\0\0\ -\xf3\x04\0\0\x61\x09\0\0\x15\xe8\x01\0\x38\x01\0\0\xf3\x04\0\0\xa5\x09\0\0\x0c\ -\xec\x01\0\x40\x01\0\0\xf3\x04\0\0\xb8\x09\0\0\x23\xfc\x01\0\x48\x01\0\0\xf3\ -\x04\0\0\0\0\0\0\0\0\0\0\x58\x01\0\0\xf3\x04\0\0\x4a\x09\0\0\x0d\xe4\x01\0\x68\ -\x01\0\0\xf3\x04\0\0\0\0\0\0\0\0\0\0\x70\x01\0\0\xf3\x04\0\0\x61\x09\0\0\x15\ -\xe8\x01\0\x88\x01\0\0\xf3\x04\0\0\xa5\x09\0\0\x0c\xec\x01\0\x90\x01\0\0\xf3\ -\x04\0\0\xb8\x09\0\0\x23\xfc\x01\0\x98\x01\0\0\xf3\x04\0\0\0\0\0\0\0\0\0\0\xa8\ -\x01\0\0\xf3\x04\0\0\x4a\x09\0\0\x0d\xe4\x01\0\xb8\x01\0\0\xf3\x04\0\0\0\0\0\0\ -\0\0\0\0\xc0\x01\0\0\xf3\x04\0\0\x61\x09\0\0\x15\xe8\x01\0\xe8\x01\0\0\xf3\x04\ -\0\0\xa5\x09\0\0\x0c\xec\x01\0\xf0\x01\0\0\xf3\x04\0\0\xb8\x09\0\0\x23\xfc\x01\ -\0\xf8\x01\0\0\xf3\x04\0\0\0\0\0\0\0\0\0\0\x08\x02\0\0\xf3\x04\0\0\x4a\x09\0\0\ -\x0d\xe4\x01\0\x18\x02\0\0\xf3\x04\0\0\0\0\0\0\0\0\0\0\x20\x02\0\0\xf3\x04\0\0\ -\x61\x09\0\0\x15\xe8\x01\0\x38\x02\0\0\xf3\x04\0\0\xa5\x09\0\0\x0c\xec\x01\0\ -\x40\x02\0\0\xf3\x04\0\0\xb8\x09\0\0\x23\xfc\x01\0\x48\x02\0\0\xf3\x04\0\0\0\0\ -\0\0\0\0\0\0\x58\x02\0\0\xf3\x04\0\0\x4a\x09\0\0\x0d\xe4\x01\0\x68\x02\0\0\xf3\ -\x04\0\0\0\0\0\0\0\0\0\0\x70\x02\0\0\xf3\x04\0\0\x61\x09\0\0\x15\xe8\x01\0\x98\ -\x02\0\0\xf3\x04\0\0\xa5\x09\0\0\x0c\xec\x01\0\xa0\x02\0\0\xf3\x04\0\0\xb8\x09\ -\0\0\x23\xfc\x01\0\xa8\x02\0\0\xf3\x04\0\0\0\0\0\0\0\0\0\0\xb8\x02\0\0\xf3\x04\ -\0\0\x4a\x09\0\0\x0d\xe4\x01\0\xc8\x02\0\0\xf3\x04\0\0\0\0\0\0\0\0\0\0\xd0\x02\ -\0\0\xf3\x04\0\0\x61\x09\0\0\x15\xe8\x01\0\xe8\x02\0\0\xf3\x04\0\0\xa5\x09\0\0\ -\x0c\xec\x01\0\xf0\x02\0\0\xf3\x04\0\0\xb8\x09\0\0\x23\xfc\x01\0\xf8\x02\0\0\ -\xf3\x04\0\0\0\0\0\0\0\0\0\0\x08\x03\0\0\xf3\x04\0\0\x4a\x09\0\0\x0d\xe4\x01\0\ -\x18\x03\0\0\xf3\x04\0\0\0\0\0\0\0\0\0\0\x20\x03\0\0\xf3\x04\0\0\x61\x09\0\0\ -\x15\xe8\x01\0\x40\x03\0\0\xf3\x04\0\0\xa5\x09\0\0\x0c\xec\x01\0\x48\x03\0\0\ -\xf3\x04\0\0\xb8\x09\0\0\x23\xfc\x01\0\x50\x03\0\0\xf3\x04\0\0\0\0\0\0\0\0\0\0\ -\x58\x03\0\0\xf3\x04\0\0\xe1\x09\0\0\x05\x08\x02\0\x70\x03\0\0\xf3\x04\0\0\x24\ -\x08\0\0\x01\x14\x02\0\xfc\x1a\0\0\x2e\0\0\0\0\0\0\0\xf3\x04\0\0\x02\x0a\0\0\ -\x0e\x8c\x03\0\x10\0\0\0\xf3\x04\0\0\x2b\x0a\0\0\x13\x90\x03\0\x20\0\0\0\xf3\ -\x04\0\0\x2b\x0a\0\0\x09\x90\x03\0\x28\0\0\0\xf3\x04\0\0\x44\x0a\0\0\x09\x94\ -\x03\0\x30\0\0\0\xf3\x04\0\0\x64\x0a\0\0\x0f\x98\x03\0\x40\0\0\0\xf3\x04\0\0\ -\x44\x0a\0\0\x0f\x94\x03\0\x50\0\0\0\xf3\x04\0\0\x86\x0a\0\0\x08\xa0\x03\0\x60\ -\0\0\0\xf3\x04\0\0\0\0\0\0\0\0\0\0\x68\0\0\0\xf3\x04\0\0\x97\x0a\0\0\x22\xac\ -\x03\0\x88\0\0\0\xf3\x04\0\0\xe6\x0a\0\0\x08\xb0\x03\0\x98\0\0\0\xf3\x04\0\0\ -\xf5\x0a\0\0\x09\xb8\x03\0\xd0\0\0\0\xf3\x04\0\0\x30\x0b\0\0\x1e\xcc\x03\0\xe0\ -\0\0\0\xf3\x04\0\0\x30\x0b\0\0\x09\xcc\x03\0\xf0\0\0\0\xf3\x04\0\0\x7f\x0b\0\0\ -\x23\xdc\x03\0\xf8\0\0\0\xf3\x04\0\0\xa8\x0b\0\0\x1d\xd8\x03\0\x08\x01\0\0\xf3\ -\x04\0\0\xcc\x0b\0\0\x1e\xe0\x03\0\x10\x01\0\0\xf3\x04\0\0\xee\x0b\0\0\x1e\xd4\ -\x03\0\x18\x01\0\0\xf3\x04\0\0\xee\x0b\0\0\x1c\xd4\x03\0\x20\x01\0\0\xf3\x04\0\ -\0\x10\x0c\0\0\x1f\xe4\x03\0\x30\x01\0\0\xf3\x04\0\0\xf5\x0a\0\0\x09\xb8\x03\0\ -\x48\x01\0\0\xf3\x04\0\0\x33\x0c\0\0\x09\xe8\x03\0\x70\x01\0\0\xf3\x04\0\0\x7c\ -\x0c\0\0\x1a\xf4\x03\0\x88\x01\0\0\xf3\x04\0\0\x9b\x0c\0\0\x17\xf8\x03\0\x90\ -\x01\0\0\xf3\x04\0\0\x9b\x0c\0\0\x0c\xf8\x03\0\x98\x01\0\0\xf3\x04\0\0\xbb\x0c\ -\0\0\x1e\0\x04\0\xa0\x01\0\0\xf3\x04\0\0\xbb\x0c\0\0\x1c\0\x04\0\xa8\x01\0\0\ -\xf3\x04\0\0\xdd\x0c\0\0\x1f\x04\x04\0\xb0\x01\0\0\xf3\x04\0\0\xdd\x0c\0\0\x1d\ -\x04\x04\0\xc0\x01\0\0\xf3\x04\0\0\0\0\0\0\0\0\0\0\xc8\x01\0\0\xf3\x04\0\0\x01\ -\x0d\0\0\x09\x0c\x04\0\xf0\x01\0\0\xf3\x04\0\0\x44\x0d\0\0\x09\x10\x04\0\x08\ -\x02\0\0\xf3\x04\0\0\0\0\0\0\0\0\0\0\x10\x02\0\0\xf3\x04\0\0\x6e\x0d\0\0\x28\ -\x1c\x04\0\x30\x02\0\0\xf3\x04\0\0\xc7\x0d\0\0\x08\x20\x04\0\x38\x02\0\0\xf3\ -\x04\0\0\xd9\x0d\0\0\x26\x30\x04\0\x40\x02\0\0\xf3\x04\0\0\x05\x0e\0\0\x1d\x2c\ -\x04\0\x48\x02\0\0\xf3\x04\0\0\x05\x0e\0\0\x1b\x2c\x04\0\x58\x02\0\0\xf3\x04\0\ -\0\x27\x0e\0\0\x21\x34\x04\0\x68\x02\0\0\xf3\x04\0\0\x4c\x0e\0\0\x09\x28\x04\0\ -\x80\x02\0\0\xf3\x04\0\0\xd9\x0d\0\0\x26\x30\x04\0\x98\x02\0\0\xf3\x04\0\0\x8d\ -\x0e\0\0\x09\x3c\x04\0\xc0\x02\0\0\xf3\x04\0\0\xdd\x0e\0\0\x1d\x48\x04\0\xe0\ -\x02\0\0\xf3\x04\0\0\0\0\0\0\0\0\0\0\xe8\x02\0\0\xf3\x04\0\0\xff\x0e\0\0\x09\ -\x4c\x04\0\x10\x03\0\0\xf3\x04\0\0\x49\x0f\0\0\x09\x50\x04\0\x20\x03\0\0\xf3\ -\x04\0\0\x24\x08\0\0\x01\x60\x04\0\x1f\x1b\0\0\x30\0\0\0\0\0\0\0\xf3\x04\0\0\ -\x02\x0a\0\0\x0e\x70\x04\0\x10\0\0\0\xf3\x04\0\0\x2b\x0a\0\0\x13\x74\x04\0\x20\ -\0\0\0\xf3\x04\0\0\x2b\x0a\0\0\x09\x74\x04\0\x28\0\0\0\xf3\x04\0\0\x44\x0a\0\0\ -\x09\x78\x04\0\x30\0\0\0\xf3\x04\0\0\x64\x0a\0\0\x0f\x7c\x04\0\x40\0\0\0\xf3\ -\x04\0\0\x44\x0a\0\0\x0f\x78\x04\0\x50\0\0\0\xf3\x04\0\0\x86\x0a\0\0\x08\x84\ -\x04\0\x60\0\0\0\xf3\x04\0\0\0\0\0\0\0\0\0\0\x68\0\0\0\xf3\x04\0\0\x97\x0a\0\0\ -\x22\x90\x04\0\x88\0\0\0\xf3\x04\0\0\xe6\x0a\0\0\x08\x94\x04\0\x98\0\0\0\xf3\ -\x04\0\0\xf5\x0a\0\0\x09\x9c\x04\0\xd0\0\0\0\xf3\x04\0\0\x30\x0b\0\0\x1e\xb0\ -\x04\0\xe0\0\0\0\xf3\x04\0\0\x30\x0b\0\0\x09\xb0\x04\0\xf0\0\0\0\xf3\x04\0\0\ -\x7f\x0b\0\0\x23\xc0\x04\0\xf8\0\0\0\xf3\x04\0\0\xa8\x0b\0\0\x1d\xbc\x04\0\x08\ -\x01\0\0\xf3\x04\0\0\xb1\x18\0\0\x1f\xc4\x04\0\x10\x01\0\0\xf3\x04\0\0\xee\x0b\ -\0\0\x1e\xb8\x04\0\x18\x01\0\0\xf3\x04\0\0\xee\x0b\0\0\x1c\xb8\x04\0\x20\x01\0\ -\0\xf3\x04\0\0\xd4\x18\0\0\x1e\xc8\x04\0\x30\x01\0\0\xf3\x04\0\0\xf5\x0a\0\0\ -\x09\x9c\x04\0\x48\x01\0\0\xf3\x04\0\0\x33\x0c\0\0\x09\xcc\x04\0\x70\x01\0\0\ -\xf3\x04\0\0\xf6\x18\0\0\x1b\xd8\x04\0\x88\x01\0\0\xf3\x04\0\0\x9b\x0c\0\0\x17\ -\xdc\x04\0\x90\x01\0\0\xf3\x04\0\0\x9b\x0c\0\0\x0c\xdc\x04\0\x98\x01\0\0\xf3\ -\x04\0\0\xbb\x0c\0\0\x1e\xe4\x04\0\xa0\x01\0\0\xf3\x04\0\0\xbb\x0c\0\0\x1c\xe4\ -\x04\0\xa8\x01\0\0\xf3\x04\0\0\xdd\x0c\0\0\x1f\xe8\x04\0\xb0\x01\0\0\xf3\x04\0\ -\0\xdd\x0c\0\0\x1d\xe8\x04\0\xc0\x01\0\0\xf3\x04\0\0\0\0\0\0\0\0\0\0\xc8\x01\0\ -\0\xf3\x04\0\0\x01\x0d\0\0\x09\xf0\x04\0\xf0\x01\0\0\xf3\x04\0\0\x44\x0d\0\0\ -\x09\xf4\x04\0\x08\x02\0\0\xf3\x04\0\0\0\0\0\0\0\0\0\0\x10\x02\0\0\xf3\x04\0\0\ -\x6e\x0d\0\0\x28\0\x05\0\x30\x02\0\0\xf3\x04\0\0\xc7\x0d\0\0\x08\x04\x05\0\x38\ -\x02\0\0\xf3\x04\0\0\xd9\x0d\0\0\x26\x14\x05\0\x40\x02\0\0\xf3\x04\0\0\x05\x0e\ -\0\0\x1d\x10\x05\0\x48\x02\0\0\xf3\x04\0\0\x05\x0e\0\0\x1b\x10\x05\0\x58\x02\0\ -\0\xf3\x04\0\0\x4c\x0e\0\0\x09\x0c\x05\0\x68\x02\0\0\xf3\x04\0\0\x16\x19\0\0\ -\x22\x18\x05\0\x70\x02\0\0\xf3\x04\0\0\x4c\x0e\0\0\x09\x0c\x05\0\x78\x02\0\0\ -\xf3\x04\0\0\x3c\x19\0\0\x21\x1c\x05\0\x88\x02\0\0\xf3\x04\0\0\xd9\x0d\0\0\x26\ -\x14\x05\0\xa0\x02\0\0\xf3\x04\0\0\x8d\x0e\0\0\x09\x20\x05\0\xc8\x02\0\0\xf3\ -\x04\0\0\x61\x19\0\0\x1e\x2c\x05\0\xe8\x02\0\0\xf3\x04\0\0\0\0\0\0\0\0\0\0\xf0\ -\x02\0\0\xf3\x04\0\0\xff\x0e\0\0\x09\x30\x05\0\x18\x03\0\0\xf3\x04\0\0\x49\x0f\ -\0\0\x09\x34\x05\0\x28\x03\0\0\xf3\x04\0\0\x24\x08\0\0\x01\x44\x05\0\x43\x1b\0\ -\0\x09\0\0\0\0\0\0\0\xf3\x04\0\0\x84\x19\0\0\x14\x58\x05\0\x08\0\0\0\xf3\x04\0\ -\0\xb3\x19\0\0\x09\x5c\x05\0\x20\0\0\0\xf3\x04\0\0\xda\x19\0\0\x11\x64\x05\0\ -\x48\0\0\0\xf3\x04\0\0\0\0\0\0\0\0\0\0\x50\0\0\0\xf3\x04\0\0\xf8\x19\0\0\x08\ -\x70\x05\0\x68\0\0\0\xf3\x04\0\0\xf8\x19\0\0\x08\x70\x05\0\x78\0\0\0\xf3\x04\0\ -\0\0\0\0\0\0\0\0\0\x80\0\0\0\xf3\x04\0\0\x35\x1a\0\0\x09\x74\x05\0\x98\0\0\0\ -\xf3\x04\0\0\x6b\x1a\0\0\x05\x54\x05\0\x10\0\0\0\xce\x1a\0\0\x01\0\0\0\0\0\0\0\ -\x3e\0\0\0\x8e\x1a\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\x01\0\0\0\x03\0\0\0\x20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x40\0\0\0\0\0\ -\0\0\x32\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x09\ -\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x78\x05\0\0\0\0\0\0\x68\x07\0\ -\0\0\0\0\0\x01\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\x18\0\0\0\0\0\0\0\x11\0\0\0\x01\ -\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xe0\x0c\0\0\0\0\0\0\x08\x05\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x17\0\0\0\x01\0\0\0\x06\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xe8\x11\0\0\0\0\0\0\x70\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x37\0\0\0\x01\0\0\0\x06\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\x58\x12\0\0\0\0\0\0\x08\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\x5a\0\0\0\x01\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\x60\x14\0\0\0\0\0\0\x80\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\x65\0\0\0\x01\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xe0\x17\0\ -\0\0\0\0\0\x30\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\x88\0\0\0\x01\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x10\x1b\0\0\0\0\0\0\ -\x38\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xac\0\0\ -\0\x01\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x48\x1e\0\0\0\0\0\0\xa8\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xd0\0\0\0\x01\0\0\0\ -\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xf0\x1e\0\0\0\0\0\0\x0d\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xd8\0\0\0\x01\0\0\0\x03\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\x1f\0\0\0\0\0\0\xd0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xde\0\0\0\x01\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\xd0\x1f\0\0\0\0\0\0\x9d\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\x49\x04\0\0\x09\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x70\x20\ -\0\0\0\0\0\0\xc0\0\0\0\0\0\0\0\x02\0\0\0\x03\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\ -\0\0\0\0\x53\x04\0\0\x09\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x30\x21\0\0\0\ -\0\0\0\x10\0\0\0\0\0\0\0\x02\0\0\0\x04\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\ -\0\x77\x04\0\0\x09\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x40\x21\0\0\0\0\0\0\ -\x60\0\0\0\0\0\0\0\x02\0\0\0\x05\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\x9e\ -\x04\0\0\x09\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xa0\x21\0\0\0\0\0\0\xa0\0\ -\0\0\0\0\0\0\x02\0\0\0\x06\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\xad\x04\0\ -\0\x09\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x40\x22\0\0\0\0\0\0\x80\0\0\0\0\ -\0\0\0\x02\0\0\0\x07\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\xd4\x04\0\0\x09\ -\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xc0\x22\0\0\0\0\0\0\x80\0\0\0\0\0\0\0\ -\x02\0\0\0\x08\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\xfc\x04\0\0\x09\0\0\0\ -\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x40\x23\0\0\0\0\0\0\x20\0\0\0\0\0\0\0\x02\0\ -\0\0\x09\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\x24\x05\0\0\x01\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\x60\x23\0\0\0\0\0\0\x43\x27\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x29\x05\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\xa8\x4a\0\0\0\0\0\0\x84\x12\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0"; - - *sz = sizeof(data) - 1; - return (const void *)data; -} - -#ifdef __cplusplus -struct io_stats_bpf *io_stats_bpf::open(const struct bpf_object_open_opts *opts) { return io_stats_bpf__open_opts(opts); } -struct io_stats_bpf *io_stats_bpf::open_and_load() { return io_stats_bpf__open_and_load(); } -int io_stats_bpf::load(struct io_stats_bpf *skel) { return io_stats_bpf__load(skel); } -int io_stats_bpf::attach(struct io_stats_bpf *skel) { return io_stats_bpf__attach(skel); } -void io_stats_bpf::detach(struct io_stats_bpf *skel) { io_stats_bpf__detach(skel); } -void io_stats_bpf::destroy(struct io_stats_bpf *skel) { io_stats_bpf__destroy(skel); } -const void *io_stats_bpf::elf_bytes(size_t *sz) { return io_stats_bpf__elf_bytes(sz); } -#endif /* __cplusplus */ - -__attribute__((unused)) static void -io_stats_bpf__assert(struct io_stats_bpf *s __attribute__((unused))) -{ -#ifdef __cplusplus -#define _Static_assert static_assert -#endif -#ifdef __cplusplus -#undef _Static_assert -#endif -} - -#endif /* __IO_STATS_BPF_SKEL_H__ */ diff --git a/.output/io_stats.tmp.bpf.o b/.output/io_stats.tmp.bpf.o deleted file mode 100644 index b04f746..0000000 Binary files a/.output/io_stats.tmp.bpf.o and /dev/null differ diff --git a/.output/libblazesym_c.a b/.output/libblazesym_c.a index a7f5012..4ab3f4c 100644 Binary files a/.output/libblazesym_c.a and b/.output/libblazesym_c.a differ diff --git a/.output/libbpf.a b/.output/libbpf.a index 95b29fa..f1f74a1 100644 Binary files a/.output/libbpf.a and b/.output/libbpf.a differ diff --git a/.output/libbpf/libbpf.a b/.output/libbpf/libbpf.a index 95b29fa..f1f74a1 100644 Binary files a/.output/libbpf/libbpf.a and b/.output/libbpf/libbpf.a differ diff --git a/.output/libbpf/libbpf.pc b/.output/libbpf/libbpf.pc index 1164a97..c0977ec 100644 --- a/.output/libbpf/libbpf.pc +++ b/.output/libbpf/libbpf.pc @@ -6,7 +6,7 @@ includedir=${prefix}/include Name: libbpf Description: BPF library -Version: 1.5.0 +Version: 1.6.0 Libs: -L${libdir} -lbpf Requires.private: libelf zlib Cflags: -I${includedir} diff --git a/.output/libbpf/staticobjs/bpf.o b/.output/libbpf/staticobjs/bpf.o index 012d27d..11c44e4 100644 Binary files a/.output/libbpf/staticobjs/bpf.o and b/.output/libbpf/staticobjs/bpf.o differ diff --git a/.output/libbpf/staticobjs/bpf_prog_linfo.o b/.output/libbpf/staticobjs/bpf_prog_linfo.o index 5ecefbe..a2bdd7d 100644 Binary files a/.output/libbpf/staticobjs/bpf_prog_linfo.o and b/.output/libbpf/staticobjs/bpf_prog_linfo.o differ diff --git a/.output/libbpf/staticobjs/btf.o b/.output/libbpf/staticobjs/btf.o index 8bc9d32..98afa98 100644 Binary files a/.output/libbpf/staticobjs/btf.o and b/.output/libbpf/staticobjs/btf.o differ diff --git a/.output/libbpf/staticobjs/btf_dump.o b/.output/libbpf/staticobjs/btf_dump.o index 7b33cab..c03a496 100644 Binary files a/.output/libbpf/staticobjs/btf_dump.o and b/.output/libbpf/staticobjs/btf_dump.o differ diff --git a/.output/libbpf/staticobjs/btf_iter.o b/.output/libbpf/staticobjs/btf_iter.o index 398a257..90669a6 100644 Binary files a/.output/libbpf/staticobjs/btf_iter.o and b/.output/libbpf/staticobjs/btf_iter.o differ diff --git a/.output/libbpf/staticobjs/btf_relocate.o b/.output/libbpf/staticobjs/btf_relocate.o index 82e388b..b2dafcc 100644 Binary files a/.output/libbpf/staticobjs/btf_relocate.o and b/.output/libbpf/staticobjs/btf_relocate.o differ diff --git a/.output/libbpf/staticobjs/elf.o b/.output/libbpf/staticobjs/elf.o index 8bb0ddd..3fd488f 100644 Binary files a/.output/libbpf/staticobjs/elf.o and b/.output/libbpf/staticobjs/elf.o differ diff --git a/.output/libbpf/staticobjs/features.o b/.output/libbpf/staticobjs/features.o index 449e132..92eee85 100644 Binary files a/.output/libbpf/staticobjs/features.o and b/.output/libbpf/staticobjs/features.o differ diff --git a/.output/libbpf/staticobjs/gen_loader.o b/.output/libbpf/staticobjs/gen_loader.o index 51eda88..48f487b 100644 Binary files a/.output/libbpf/staticobjs/gen_loader.o and b/.output/libbpf/staticobjs/gen_loader.o differ diff --git a/.output/libbpf/staticobjs/hashmap.o b/.output/libbpf/staticobjs/hashmap.o index d51d700..63a5b94 100644 Binary files a/.output/libbpf/staticobjs/hashmap.o and b/.output/libbpf/staticobjs/hashmap.o differ diff --git a/.output/libbpf/staticobjs/libbpf.o b/.output/libbpf/staticobjs/libbpf.o index 46c6a1a..db99c19 100644 Binary files a/.output/libbpf/staticobjs/libbpf.o and b/.output/libbpf/staticobjs/libbpf.o differ diff --git a/.output/libbpf/staticobjs/libbpf_errno.o b/.output/libbpf/staticobjs/libbpf_errno.o index ae1997d..954cbef 100644 Binary files a/.output/libbpf/staticobjs/libbpf_errno.o and b/.output/libbpf/staticobjs/libbpf_errno.o differ diff --git a/.output/libbpf/staticobjs/libbpf_probes.o b/.output/libbpf/staticobjs/libbpf_probes.o index c37f288..9fe63cb 100644 Binary files a/.output/libbpf/staticobjs/libbpf_probes.o and b/.output/libbpf/staticobjs/libbpf_probes.o differ diff --git a/.output/libbpf/staticobjs/linker.o b/.output/libbpf/staticobjs/linker.o index ffca2eb..580bbe7 100644 Binary files a/.output/libbpf/staticobjs/linker.o and b/.output/libbpf/staticobjs/linker.o differ diff --git a/.output/libbpf/staticobjs/netlink.o b/.output/libbpf/staticobjs/netlink.o index 7227ecb..14e6b62 100644 Binary files a/.output/libbpf/staticobjs/netlink.o and b/.output/libbpf/staticobjs/netlink.o differ diff --git a/.output/libbpf/staticobjs/nlattr.o b/.output/libbpf/staticobjs/nlattr.o index 9f4911c..4b61522 100644 Binary files a/.output/libbpf/staticobjs/nlattr.o and b/.output/libbpf/staticobjs/nlattr.o differ diff --git a/.output/libbpf/staticobjs/relo_core.o b/.output/libbpf/staticobjs/relo_core.o index 24434c5..3d96918 100644 Binary files a/.output/libbpf/staticobjs/relo_core.o and b/.output/libbpf/staticobjs/relo_core.o differ diff --git a/.output/libbpf/staticobjs/ringbuf.o b/.output/libbpf/staticobjs/ringbuf.o index eacf1c6..814a6e5 100644 Binary files a/.output/libbpf/staticobjs/ringbuf.o and b/.output/libbpf/staticobjs/ringbuf.o differ diff --git a/.output/libbpf/staticobjs/str_error.o b/.output/libbpf/staticobjs/str_error.o index 452df18..64aab70 100644 Binary files a/.output/libbpf/staticobjs/str_error.o and b/.output/libbpf/staticobjs/str_error.o differ diff --git a/.output/libbpf/staticobjs/strset.o b/.output/libbpf/staticobjs/strset.o index e2b6372..b755eb4 100644 Binary files a/.output/libbpf/staticobjs/strset.o and b/.output/libbpf/staticobjs/strset.o differ diff --git a/.output/libbpf/staticobjs/usdt.o b/.output/libbpf/staticobjs/usdt.o index d280fc1..573ef1c 100644 Binary files a/.output/libbpf/staticobjs/usdt.o and b/.output/libbpf/staticobjs/usdt.o differ diff --git a/.output/libbpf/staticobjs/zip.o b/.output/libbpf/staticobjs/zip.o index 1fc9adc..37b62e2 100644 Binary files a/.output/libbpf/staticobjs/zip.o and b/.output/libbpf/staticobjs/zip.o differ diff --git a/.output/mm_leak.bpf.o b/.output/mm_leak.bpf.o deleted file mode 100644 index 5420dd8..0000000 Binary files a/.output/mm_leak.bpf.o and /dev/null differ diff --git a/.output/mm_leak.skel.h b/.output/mm_leak.skel.h deleted file mode 100644 index 12e28c8..0000000 --- a/.output/mm_leak.skel.h +++ /dev/null @@ -1,1569 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ - -/* THIS FILE IS AUTOGENERATED BY BPFTOOL! */ -#ifndef __MM_LEAK_BPF_SKEL_H__ -#define __MM_LEAK_BPF_SKEL_H__ - -#include -#include -#include - -#define BPF_SKEL_SUPPORTS_MAP_AUTO_ATTACH 1 - -struct mm_leak_bpf { - struct bpf_object_skeleton *skeleton; - struct bpf_object *obj; - struct { - struct bpf_map *sizes; - struct bpf_map *allocs; - struct bpf_map *combined_allocs; - struct bpf_map *memptrs; - struct bpf_map *stack_traces; - struct bpf_map *rodata; - struct bpf_map *bss; - } maps; - struct { - struct bpf_program *malloc_enter; - struct bpf_program *free_enter; - struct bpf_program *calloc_enter; - struct bpf_program *realloc_enter; - struct bpf_program *mmap_enter; - struct bpf_program *munmap_enter; - struct bpf_program *posix_memalign_enter; - struct bpf_program *aligned_alloc_enter; - struct bpf_program *valloc_enter; - struct bpf_program *memalign_enter; - struct bpf_program *pvalloc_enter; - struct bpf_program *malloc_exit; - struct bpf_program *calloc_exit; - struct bpf_program *realloc_exit; - struct bpf_program *mmap_exit; - struct bpf_program *posix_memalign_exit; - struct bpf_program *aligned_alloc_exit; - struct bpf_program *valloc_exit; - struct bpf_program *memalign_exit; - struct bpf_program *pvalloc_exit; - struct bpf_program *memleak__kmalloc; - struct bpf_program *memleak__kfree; - struct bpf_program *memleak__kmem_cache_alloc_node; - struct bpf_program *memleak__kmem_cache_free; - struct bpf_program *memleak__mm_page_alloc; - struct bpf_program *memleak__mm_page_free; - struct bpf_program *memleak__percpu_alloc_percpu; - struct bpf_program *memleak__percpu_free_percpu; - } progs; - struct { - struct bpf_link *malloc_enter; - struct bpf_link *free_enter; - struct bpf_link *calloc_enter; - struct bpf_link *realloc_enter; - struct bpf_link *mmap_enter; - struct bpf_link *munmap_enter; - struct bpf_link *posix_memalign_enter; - struct bpf_link *aligned_alloc_enter; - struct bpf_link *valloc_enter; - struct bpf_link *memalign_enter; - struct bpf_link *pvalloc_enter; - struct bpf_link *malloc_exit; - struct bpf_link *calloc_exit; - struct bpf_link *realloc_exit; - struct bpf_link *mmap_exit; - struct bpf_link *posix_memalign_exit; - struct bpf_link *aligned_alloc_exit; - struct bpf_link *valloc_exit; - struct bpf_link *memalign_exit; - struct bpf_link *pvalloc_exit; - struct bpf_link *memleak__kmalloc; - struct bpf_link *memleak__kfree; - struct bpf_link *memleak__kmem_cache_alloc_node; - struct bpf_link *memleak__kmem_cache_free; - struct bpf_link *memleak__mm_page_alloc; - struct bpf_link *memleak__mm_page_free; - struct bpf_link *memleak__percpu_alloc_percpu; - struct bpf_link *memleak__percpu_free_percpu; - } links; - struct mm_leak_bpf__rodata { - u64 sample_rate; - size_t page_size; - u64 stack_flags; - } *rodata; - -#ifdef __cplusplus - static inline struct mm_leak_bpf *open(const struct bpf_object_open_opts *opts = nullptr); - static inline struct mm_leak_bpf *open_and_load(); - static inline int load(struct mm_leak_bpf *skel); - static inline int attach(struct mm_leak_bpf *skel); - static inline void detach(struct mm_leak_bpf *skel); - static inline void destroy(struct mm_leak_bpf *skel); - static inline const void *elf_bytes(size_t *sz); -#endif /* __cplusplus */ -}; - -static void -mm_leak_bpf__destroy(struct mm_leak_bpf *obj) -{ - if (!obj) - return; - if (obj->skeleton) - bpf_object__destroy_skeleton(obj->skeleton); - free(obj); -} - -static inline int -mm_leak_bpf__create_skeleton(struct mm_leak_bpf *obj); - -static inline struct mm_leak_bpf * -mm_leak_bpf__open_opts(const struct bpf_object_open_opts *opts) -{ - struct mm_leak_bpf *obj; - int err; - - obj = (struct mm_leak_bpf *)calloc(1, sizeof(*obj)); - if (!obj) { - errno = ENOMEM; - return NULL; - } - - err = mm_leak_bpf__create_skeleton(obj); - if (err) - goto err_out; - - err = bpf_object__open_skeleton(obj->skeleton, opts); - if (err) - goto err_out; - - return obj; -err_out: - mm_leak_bpf__destroy(obj); - errno = -err; - return NULL; -} - -static inline struct mm_leak_bpf * -mm_leak_bpf__open(void) -{ - return mm_leak_bpf__open_opts(NULL); -} - -static inline int -mm_leak_bpf__load(struct mm_leak_bpf *obj) -{ - return bpf_object__load_skeleton(obj->skeleton); -} - -static inline struct mm_leak_bpf * -mm_leak_bpf__open_and_load(void) -{ - struct mm_leak_bpf *obj; - int err; - - obj = mm_leak_bpf__open(); - if (!obj) - return NULL; - err = mm_leak_bpf__load(obj); - if (err) { - mm_leak_bpf__destroy(obj); - errno = -err; - return NULL; - } - return obj; -} - -static inline int -mm_leak_bpf__attach(struct mm_leak_bpf *obj) -{ - return bpf_object__attach_skeleton(obj->skeleton); -} - -static inline void -mm_leak_bpf__detach(struct mm_leak_bpf *obj) -{ - bpf_object__detach_skeleton(obj->skeleton); -} - -static inline const void *mm_leak_bpf__elf_bytes(size_t *sz); - -static inline int -mm_leak_bpf__create_skeleton(struct mm_leak_bpf *obj) -{ - struct bpf_object_skeleton *s; - struct bpf_map_skeleton *map __attribute__((unused)); - int err; - - s = (struct bpf_object_skeleton *)calloc(1, sizeof(*s)); - if (!s) { - err = -ENOMEM; - goto err; - } - - s->sz = sizeof(*s); - s->name = "mm_leak_bpf"; - s->obj = &obj->obj; - - /* maps */ - s->map_cnt = 7; - s->map_skel_sz = 24; - s->maps = (struct bpf_map_skeleton *)calloc(s->map_cnt, - sizeof(*s->maps) > 24 ? sizeof(*s->maps) : 24); - if (!s->maps) { - err = -ENOMEM; - goto err; - } - - map = (struct bpf_map_skeleton *)((char *)s->maps + 0 * s->map_skel_sz); - map->name = "sizes"; - map->map = &obj->maps.sizes; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 1 * s->map_skel_sz); - map->name = "allocs"; - map->map = &obj->maps.allocs; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 2 * s->map_skel_sz); - map->name = "combined_allocs"; - map->map = &obj->maps.combined_allocs; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 3 * s->map_skel_sz); - map->name = "memptrs"; - map->map = &obj->maps.memptrs; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 4 * s->map_skel_sz); - map->name = "stack_traces"; - map->map = &obj->maps.stack_traces; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 5 * s->map_skel_sz); - map->name = "mm_leak_.rodata"; - map->map = &obj->maps.rodata; - map->mmaped = (void **)&obj->rodata; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 6 * s->map_skel_sz); - map->name = "mm_leak_.bss"; - map->map = &obj->maps.bss; - - /* programs */ - s->prog_cnt = 28; - s->prog_skel_sz = sizeof(*s->progs); - s->progs = (struct bpf_prog_skeleton *)calloc(s->prog_cnt, s->prog_skel_sz); - if (!s->progs) { - err = -ENOMEM; - goto err; - } - - s->progs[0].name = "malloc_enter"; - s->progs[0].prog = &obj->progs.malloc_enter; - s->progs[0].link = &obj->links.malloc_enter; - - s->progs[1].name = "free_enter"; - s->progs[1].prog = &obj->progs.free_enter; - s->progs[1].link = &obj->links.free_enter; - - s->progs[2].name = "calloc_enter"; - s->progs[2].prog = &obj->progs.calloc_enter; - s->progs[2].link = &obj->links.calloc_enter; - - s->progs[3].name = "realloc_enter"; - s->progs[3].prog = &obj->progs.realloc_enter; - s->progs[3].link = &obj->links.realloc_enter; - - s->progs[4].name = "mmap_enter"; - s->progs[4].prog = &obj->progs.mmap_enter; - s->progs[4].link = &obj->links.mmap_enter; - - s->progs[5].name = "munmap_enter"; - s->progs[5].prog = &obj->progs.munmap_enter; - s->progs[5].link = &obj->links.munmap_enter; - - s->progs[6].name = "posix_memalign_enter"; - s->progs[6].prog = &obj->progs.posix_memalign_enter; - s->progs[6].link = &obj->links.posix_memalign_enter; - - s->progs[7].name = "aligned_alloc_enter"; - s->progs[7].prog = &obj->progs.aligned_alloc_enter; - s->progs[7].link = &obj->links.aligned_alloc_enter; - - s->progs[8].name = "valloc_enter"; - s->progs[8].prog = &obj->progs.valloc_enter; - s->progs[8].link = &obj->links.valloc_enter; - - s->progs[9].name = "memalign_enter"; - s->progs[9].prog = &obj->progs.memalign_enter; - s->progs[9].link = &obj->links.memalign_enter; - - s->progs[10].name = "pvalloc_enter"; - s->progs[10].prog = &obj->progs.pvalloc_enter; - s->progs[10].link = &obj->links.pvalloc_enter; - - s->progs[11].name = "malloc_exit"; - s->progs[11].prog = &obj->progs.malloc_exit; - s->progs[11].link = &obj->links.malloc_exit; - - s->progs[12].name = "calloc_exit"; - s->progs[12].prog = &obj->progs.calloc_exit; - s->progs[12].link = &obj->links.calloc_exit; - - s->progs[13].name = "realloc_exit"; - s->progs[13].prog = &obj->progs.realloc_exit; - s->progs[13].link = &obj->links.realloc_exit; - - s->progs[14].name = "mmap_exit"; - s->progs[14].prog = &obj->progs.mmap_exit; - s->progs[14].link = &obj->links.mmap_exit; - - s->progs[15].name = "posix_memalign_exit"; - s->progs[15].prog = &obj->progs.posix_memalign_exit; - s->progs[15].link = &obj->links.posix_memalign_exit; - - s->progs[16].name = "aligned_alloc_exit"; - s->progs[16].prog = &obj->progs.aligned_alloc_exit; - s->progs[16].link = &obj->links.aligned_alloc_exit; - - s->progs[17].name = "valloc_exit"; - s->progs[17].prog = &obj->progs.valloc_exit; - s->progs[17].link = &obj->links.valloc_exit; - - s->progs[18].name = "memalign_exit"; - s->progs[18].prog = &obj->progs.memalign_exit; - s->progs[18].link = &obj->links.memalign_exit; - - s->progs[19].name = "pvalloc_exit"; - s->progs[19].prog = &obj->progs.pvalloc_exit; - s->progs[19].link = &obj->links.pvalloc_exit; - - s->progs[20].name = "memleak__kmalloc"; - s->progs[20].prog = &obj->progs.memleak__kmalloc; - s->progs[20].link = &obj->links.memleak__kmalloc; - - s->progs[21].name = "memleak__kfree"; - s->progs[21].prog = &obj->progs.memleak__kfree; - s->progs[21].link = &obj->links.memleak__kfree; - - s->progs[22].name = "memleak__kmem_cache_alloc_node"; - s->progs[22].prog = &obj->progs.memleak__kmem_cache_alloc_node; - s->progs[22].link = &obj->links.memleak__kmem_cache_alloc_node; - - s->progs[23].name = "memleak__kmem_cache_free"; - s->progs[23].prog = &obj->progs.memleak__kmem_cache_free; - s->progs[23].link = &obj->links.memleak__kmem_cache_free; - - s->progs[24].name = "memleak__mm_page_alloc"; - s->progs[24].prog = &obj->progs.memleak__mm_page_alloc; - s->progs[24].link = &obj->links.memleak__mm_page_alloc; - - s->progs[25].name = "memleak__mm_page_free"; - s->progs[25].prog = &obj->progs.memleak__mm_page_free; - s->progs[25].link = &obj->links.memleak__mm_page_free; - - s->progs[26].name = "memleak__percpu_alloc_percpu"; - s->progs[26].prog = &obj->progs.memleak__percpu_alloc_percpu; - s->progs[26].link = &obj->links.memleak__percpu_alloc_percpu; - - s->progs[27].name = "memleak__percpu_free_percpu"; - s->progs[27].prog = &obj->progs.memleak__percpu_free_percpu; - s->progs[27].link = &obj->links.memleak__percpu_free_percpu; - - s->data = mm_leak_bpf__elf_bytes(&s->data_sz); - - obj->skeleton = s; - return 0; -err: - bpf_object__destroy_skeleton(s); - return err; -} - -static inline const void *mm_leak_bpf__elf_bytes(size_t *sz) -{ - static const char data[] __attribute__((__aligned__(8))) = "\ -\x7f\x45\x4c\x46\x02\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\xf7\0\x01\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\x60\x6f\0\0\0\0\0\0\0\0\0\0\x40\0\0\0\0\0\x40\0\x1f\0\ -\x01\0\0\x2e\x73\x74\x72\x74\x61\x62\0\x2e\x73\x79\x6d\x74\x61\x62\0\x2e\x74\ -\x65\x78\x74\0\x75\x70\x72\x6f\x62\x65\0\x75\x72\x65\x74\x70\x72\x6f\x62\x65\0\ -\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x6b\x6d\x65\x6d\x2f\x6b\x6d\x61\ -\x6c\x6c\x6f\x63\0\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x6b\x6d\x65\x6d\ -\x2f\x6b\x66\x72\x65\x65\0\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x6b\x6d\ -\x65\x6d\x2f\x6b\x6d\x65\x6d\x5f\x63\x61\x63\x68\x65\x5f\x61\x6c\x6c\x6f\x63\0\ -\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x6b\x6d\x65\x6d\x2f\x6b\x6d\x65\ -\x6d\x5f\x63\x61\x63\x68\x65\x5f\x66\x72\x65\x65\0\x74\x72\x61\x63\x65\x70\x6f\ -\x69\x6e\x74\x2f\x6b\x6d\x65\x6d\x2f\x6d\x6d\x5f\x70\x61\x67\x65\x5f\x61\x6c\ -\x6c\x6f\x63\0\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x6b\x6d\x65\x6d\x2f\ -\x6d\x6d\x5f\x70\x61\x67\x65\x5f\x66\x72\x65\x65\0\x74\x72\x61\x63\x65\x70\x6f\ -\x69\x6e\x74\x2f\x70\x65\x72\x63\x70\x75\x2f\x70\x65\x72\x63\x70\x75\x5f\x61\ -\x6c\x6c\x6f\x63\x5f\x70\x65\x72\x63\x70\x75\0\x74\x72\x61\x63\x65\x70\x6f\x69\ -\x6e\x74\x2f\x70\x65\x72\x63\x70\x75\x2f\x70\x65\x72\x63\x70\x75\x5f\x66\x72\ -\x65\x65\x5f\x70\x65\x72\x63\x70\x75\0\x2e\x72\x6f\x64\x61\x74\x61\0\x6c\x69\ -\x63\x65\x6e\x73\x65\0\x2e\x6d\x61\x70\x73\0\x2e\x62\x73\x73\0\x6d\x6d\x5f\x6c\ -\x65\x61\x6b\x2e\x62\x70\x66\x2e\x63\0\x4c\x42\x42\x30\x5f\x32\0\x4c\x42\x42\ -\x30\x5f\x33\0\x67\x65\x6e\x5f\x61\x6c\x6c\x6f\x63\x5f\x65\x78\x69\x74\x32\0\ -\x4c\x42\x42\x32\x5f\x34\0\x4c\x42\x42\x32\x5f\x33\0\x75\x70\x64\x61\x74\x65\ -\x5f\x73\x74\x61\x74\x69\x73\x74\x69\x63\x73\x5f\x64\x65\x6c\x2e\x5f\x5f\x5f\ -\x5f\x66\x6d\x74\0\x4c\x42\x42\x33\x5f\x32\0\x4c\x42\x42\x33\x5f\x33\0\x4c\x42\ -\x42\x35\x5f\x34\0\x4c\x42\x42\x35\x5f\x33\0\x4c\x42\x42\x35\x5f\x36\0\x4c\x42\ -\x42\x35\x5f\x37\0\x4c\x42\x42\x37\x5f\x32\0\x4c\x42\x42\x37\x5f\x33\0\x4c\x42\ -\x42\x39\x5f\x34\0\x4c\x42\x42\x39\x5f\x33\0\x4c\x42\x42\x31\x30\x5f\x32\0\x4c\ -\x42\x42\x31\x30\x5f\x33\0\x4c\x42\x42\x31\x31\x5f\x33\0\x4c\x42\x42\x31\x32\ -\x5f\x32\0\x4c\x42\x42\x31\x32\x5f\x33\0\x4c\x42\x42\x31\x34\x5f\x32\0\x4c\x42\ -\x42\x31\x34\x5f\x33\0\x4c\x42\x42\x31\x36\x5f\x32\0\x4c\x42\x42\x31\x36\x5f\ -\x33\0\x4c\x42\x42\x31\x38\x5f\x32\0\x4c\x42\x42\x31\x38\x5f\x33\0\x4c\x42\x42\ -\x32\x30\x5f\x32\0\x4c\x42\x42\x32\x30\x5f\x33\0\x4c\x42\x42\x32\x31\x5f\x38\0\ -\x4c\x42\x42\x32\x31\x5f\x34\0\x67\x65\x6e\x5f\x61\x6c\x6c\x6f\x63\x5f\x65\x78\ -\x69\x74\x32\x2e\x5f\x5f\x5f\x5f\x66\x6d\x74\0\x4c\x42\x42\x32\x31\x5f\x37\0\ -\x69\x6e\x69\x74\x69\x61\x6c\x5f\x63\x69\x6e\x66\x6f\0\x4c\x42\x42\x32\x32\x5f\ -\x34\0\x4c\x42\x42\x32\x32\x5f\x33\0\x4c\x42\x42\x32\x33\x5f\x32\0\x4c\x42\x42\ -\x32\x33\x5f\x33\0\x4c\x42\x42\x32\x34\x5f\x34\0\x4c\x42\x42\x32\x34\x5f\x33\0\ -\x4c\x42\x42\x32\x35\x5f\x32\0\x4c\x42\x42\x32\x35\x5f\x33\0\x4c\x42\x42\x32\ -\x36\x5f\x34\0\x4c\x42\x42\x32\x36\x5f\x33\0\x4c\x42\x42\x32\x37\x5f\x32\0\x4c\ -\x42\x42\x32\x37\x5f\x33\0\x4c\x42\x42\x32\x38\x5f\x34\0\x4c\x42\x42\x32\x38\ -\x5f\x33\0\x6d\x61\x6c\x6c\x6f\x63\x5f\x65\x6e\x74\x65\x72\0\x73\x61\x6d\x70\ -\x6c\x65\x5f\x72\x61\x74\x65\0\x73\x69\x7a\x65\x73\0\x6d\x61\x6c\x6c\x6f\x63\ -\x5f\x65\x78\x69\x74\0\x66\x72\x65\x65\x5f\x65\x6e\x74\x65\x72\0\x61\x6c\x6c\ -\x6f\x63\x73\0\x63\x6f\x6d\x62\x69\x6e\x65\x64\x5f\x61\x6c\x6c\x6f\x63\x73\0\ -\x63\x61\x6c\x6c\x6f\x63\x5f\x65\x6e\x74\x65\x72\0\x63\x61\x6c\x6c\x6f\x63\x5f\ -\x65\x78\x69\x74\0\x72\x65\x61\x6c\x6c\x6f\x63\x5f\x65\x6e\x74\x65\x72\0\x72\ -\x65\x61\x6c\x6c\x6f\x63\x5f\x65\x78\x69\x74\0\x6d\x6d\x61\x70\x5f\x65\x6e\x74\ -\x65\x72\0\x6d\x6d\x61\x70\x5f\x65\x78\x69\x74\0\x6d\x75\x6e\x6d\x61\x70\x5f\ -\x65\x6e\x74\x65\x72\0\x70\x6f\x73\x69\x78\x5f\x6d\x65\x6d\x61\x6c\x69\x67\x6e\ -\x5f\x65\x6e\x74\x65\x72\0\x6d\x65\x6d\x70\x74\x72\x73\0\x70\x6f\x73\x69\x78\ -\x5f\x6d\x65\x6d\x61\x6c\x69\x67\x6e\x5f\x65\x78\x69\x74\0\x61\x6c\x69\x67\x6e\ -\x65\x64\x5f\x61\x6c\x6c\x6f\x63\x5f\x65\x6e\x74\x65\x72\0\x61\x6c\x69\x67\x6e\ -\x65\x64\x5f\x61\x6c\x6c\x6f\x63\x5f\x65\x78\x69\x74\0\x76\x61\x6c\x6c\x6f\x63\ -\x5f\x65\x6e\x74\x65\x72\0\x76\x61\x6c\x6c\x6f\x63\x5f\x65\x78\x69\x74\0\x6d\ -\x65\x6d\x61\x6c\x69\x67\x6e\x5f\x65\x6e\x74\x65\x72\0\x6d\x65\x6d\x61\x6c\x69\ -\x67\x6e\x5f\x65\x78\x69\x74\0\x70\x76\x61\x6c\x6c\x6f\x63\x5f\x65\x6e\x74\x65\ -\x72\0\x70\x76\x61\x6c\x6c\x6f\x63\x5f\x65\x78\x69\x74\0\x6d\x65\x6d\x6c\x65\ -\x61\x6b\x5f\x5f\x6b\x6d\x61\x6c\x6c\x6f\x63\0\x73\x74\x61\x63\x6b\x5f\x74\x72\ -\x61\x63\x65\x73\0\x6d\x65\x6d\x6c\x65\x61\x6b\x5f\x5f\x6b\x66\x72\x65\x65\0\ -\x6d\x65\x6d\x6c\x65\x61\x6b\x5f\x5f\x6b\x6d\x65\x6d\x5f\x63\x61\x63\x68\x65\ -\x5f\x61\x6c\x6c\x6f\x63\x5f\x6e\x6f\x64\x65\0\x6d\x65\x6d\x6c\x65\x61\x6b\x5f\ -\x5f\x6b\x6d\x65\x6d\x5f\x63\x61\x63\x68\x65\x5f\x66\x72\x65\x65\0\x6d\x65\x6d\ -\x6c\x65\x61\x6b\x5f\x5f\x6d\x6d\x5f\x70\x61\x67\x65\x5f\x61\x6c\x6c\x6f\x63\0\ -\x70\x61\x67\x65\x5f\x73\x69\x7a\x65\0\x6d\x65\x6d\x6c\x65\x61\x6b\x5f\x5f\x6d\ -\x6d\x5f\x70\x61\x67\x65\x5f\x66\x72\x65\x65\0\x6d\x65\x6d\x6c\x65\x61\x6b\x5f\ -\x5f\x70\x65\x72\x63\x70\x75\x5f\x61\x6c\x6c\x6f\x63\x5f\x70\x65\x72\x63\x70\ -\x75\0\x6d\x65\x6d\x6c\x65\x61\x6b\x5f\x5f\x70\x65\x72\x63\x70\x75\x5f\x66\x72\ -\x65\x65\x5f\x70\x65\x72\x63\x70\x75\0\x73\x74\x61\x63\x6b\x5f\x66\x6c\x61\x67\ -\x73\0\x4c\x49\x43\x45\x4e\x53\x45\0\x2e\x72\x65\x6c\x2e\x74\x65\x78\x74\0\x2e\ -\x72\x65\x6c\x75\x70\x72\x6f\x62\x65\0\x2e\x72\x65\x6c\x75\x72\x65\x74\x70\x72\ -\x6f\x62\x65\0\x2e\x72\x65\x6c\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x6b\ -\x6d\x65\x6d\x2f\x6b\x6d\x61\x6c\x6c\x6f\x63\0\x2e\x72\x65\x6c\x74\x72\x61\x63\ -\x65\x70\x6f\x69\x6e\x74\x2f\x6b\x6d\x65\x6d\x2f\x6b\x66\x72\x65\x65\0\x2e\x72\ -\x65\x6c\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x6b\x6d\x65\x6d\x2f\x6b\ -\x6d\x65\x6d\x5f\x63\x61\x63\x68\x65\x5f\x61\x6c\x6c\x6f\x63\0\x2e\x72\x65\x6c\ -\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x6b\x6d\x65\x6d\x2f\x6b\x6d\x65\ -\x6d\x5f\x63\x61\x63\x68\x65\x5f\x66\x72\x65\x65\0\x2e\x72\x65\x6c\x74\x72\x61\ -\x63\x65\x70\x6f\x69\x6e\x74\x2f\x6b\x6d\x65\x6d\x2f\x6d\x6d\x5f\x70\x61\x67\ -\x65\x5f\x61\x6c\x6c\x6f\x63\0\x2e\x72\x65\x6c\x74\x72\x61\x63\x65\x70\x6f\x69\ -\x6e\x74\x2f\x6b\x6d\x65\x6d\x2f\x6d\x6d\x5f\x70\x61\x67\x65\x5f\x66\x72\x65\ -\x65\0\x2e\x72\x65\x6c\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x70\x65\x72\ -\x63\x70\x75\x2f\x70\x65\x72\x63\x70\x75\x5f\x61\x6c\x6c\x6f\x63\x5f\x70\x65\ -\x72\x63\x70\x75\0\x2e\x72\x65\x6c\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\ -\x70\x65\x72\x63\x70\x75\x2f\x70\x65\x72\x63\x70\x75\x5f\x66\x72\x65\x65\x5f\ -\x70\x65\x72\x63\x70\x75\0\x2e\x42\x54\x46\0\x2e\x42\x54\x46\x2e\x65\x78\x74\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x38\x01\0\0\x04\0\xf1\xff\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\x03\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x46\x01\0\0\0\0\x04\0\ -\x70\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x4d\x01\0\0\0\0\x04\0\xc8\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\x03\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x54\x01\0\0\ -\x02\0\x03\0\0\0\0\0\0\0\0\0\x90\x02\0\0\0\0\0\0\x64\x01\0\0\0\0\x04\0\x08\x02\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x6b\x01\0\0\0\0\x04\0\xc8\x01\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\x72\x01\0\0\x01\0\x0e\0\x40\0\0\0\0\0\0\0\x22\0\0\0\0\0\0\0\x90\x01\0\ -\0\0\0\x04\0\x98\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x97\x01\0\0\0\0\x04\0\xf0\x02\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x9e\x01\0\0\0\0\x04\0\x38\x04\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\xa5\x01\0\0\0\0\x04\0\xf8\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xac\x01\0\0\ -\0\0\x04\0\xa0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb3\x01\0\0\0\0\x04\0\xf8\x04\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\xba\x01\0\0\0\0\x04\0\x78\x05\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\xc1\x01\0\0\0\0\x04\0\xd0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xc8\x01\0\0\0\ -\0\x04\0\x10\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xcf\x01\0\0\0\0\x04\0\xd0\x06\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\xd6\x01\0\0\0\0\x04\0\xf8\x07\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\xde\x01\0\0\0\0\x04\0\x50\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xe6\x01\0\0\0\0\ -\x05\0\x48\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xee\x01\0\0\0\0\x04\0\xd0\x08\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\xf6\x01\0\0\0\0\x04\0\x28\x09\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\xfe\x01\0\0\0\0\x04\0\xa8\x09\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x02\0\0\0\0\ -\x04\0\0\x0a\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x0e\x02\0\0\0\0\x04\0\x80\x0a\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\x16\x02\0\0\0\0\x04\0\xd8\x0a\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\x1e\x02\0\0\0\0\x04\0\x58\x0b\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x26\x02\0\0\0\0\x04\ -\0\xb0\x0b\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\x06\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\x2e\x02\0\0\0\0\x06\0\xf0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x36\x02\0\ -\0\0\0\x06\0\x48\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x3e\x02\0\0\0\0\x03\0\x88\x02\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x46\x02\0\0\0\0\x03\0\x78\x01\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\x4e\x02\0\0\x01\0\x0e\0\x18\0\0\0\0\0\0\0\x28\0\0\0\0\0\0\0\x66\x02\0\ -\0\0\0\x03\0\x50\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x6e\x02\0\0\x01\0\x11\0\0\0\0\ -\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\x03\0\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\x7c\x02\0\0\0\0\x07\0\x68\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x84\x02\0\0\0\0\ -\x07\0\x28\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\x08\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\x8c\x02\0\0\0\0\x08\0\xf0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x94\ -\x02\0\0\0\0\x08\0\x48\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\x09\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x9c\x02\0\0\0\0\x09\0\x68\x01\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\xa4\x02\0\0\0\0\x09\0\x28\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\ -\0\x0a\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xac\x02\0\0\0\0\x0a\0\x98\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\xb4\x02\0\0\0\0\x0a\0\xf0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\x03\0\x0b\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbc\x02\0\0\0\0\x0b\0\x30\x01\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xc4\x02\0\0\0\0\x0b\0\xf0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\x03\0\x0c\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xcc\x02\0\0\0\0\x0c\ -\0\x78\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xd4\x02\0\0\0\0\x0c\0\xd0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\x03\0\x0d\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xdc\x02\0\0\ -\0\0\x0d\0\x30\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xe4\x02\0\0\0\0\x0d\0\xf0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\x0e\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\x03\0\x11\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xec\x02\0\0\x12\0\x04\0\0\0\ -\0\0\0\0\0\0\xd8\0\0\0\0\0\0\0\xf9\x02\0\0\x11\0\x0e\0\0\0\0\0\0\0\0\0\x08\0\0\ -\0\0\0\0\0\x05\x03\0\0\x11\0\x10\0\0\0\0\0\0\0\0\0\x20\0\0\0\0\0\0\0\x0b\x03\0\ -\0\x12\0\x05\0\0\0\0\0\0\0\0\0\x20\0\0\0\0\0\0\0\x17\x03\0\0\x12\0\x04\0\xd8\0\ -\0\0\0\0\0\0\x40\x01\0\0\0\0\0\0\x22\x03\0\0\x11\0\x10\0\x20\0\0\0\0\0\0\0\x20\ -\0\0\0\0\0\0\0\x29\x03\0\0\x11\0\x10\0\x40\0\0\0\0\0\0\0\x20\0\0\0\0\0\0\0\x39\ -\x03\0\0\x12\0\x04\0\x18\x02\0\0\0\0\0\0\xe8\0\0\0\0\0\0\0\x46\x03\0\0\x12\0\ -\x05\0\x20\0\0\0\0\0\0\0\x20\0\0\0\0\0\0\0\x52\x03\0\0\x12\0\x04\0\0\x03\0\0\0\ -\0\0\0\x08\x02\0\0\0\0\0\0\x60\x03\0\0\x12\0\x05\0\x40\0\0\0\0\0\0\0\x20\0\0\0\ -\0\0\0\0\x6d\x03\0\0\x12\0\x04\0\x08\x05\0\0\0\0\0\0\xd8\0\0\0\0\0\0\0\x78\x03\ -\0\0\x12\0\x05\0\x60\0\0\0\0\0\0\0\x20\0\0\0\0\0\0\0\x82\x03\0\0\x12\0\x04\0\ -\xe0\x05\0\0\0\0\0\0\x40\x01\0\0\0\0\0\0\x8f\x03\0\0\x12\0\x04\0\x20\x07\0\0\0\ -\0\0\0\x40\x01\0\0\0\0\0\0\xa4\x03\0\0\x11\0\x10\0\x60\0\0\0\0\0\0\0\x20\0\0\0\ -\0\0\0\0\xac\x03\0\0\x12\0\x05\0\x80\0\0\0\0\0\0\0\xd8\0\0\0\0\0\0\0\xc0\x03\0\ -\0\x12\0\x04\0\x60\x08\0\0\0\0\0\0\xd8\0\0\0\0\0\0\0\xd4\x03\0\0\x12\0\x05\0\ -\x58\x01\0\0\0\0\0\0\x20\0\0\0\0\0\0\0\xe7\x03\0\0\x12\0\x04\0\x38\x09\0\0\0\0\ -\0\0\xd8\0\0\0\0\0\0\0\xf4\x03\0\0\x12\0\x05\0\x78\x01\0\0\0\0\0\0\x20\0\0\0\0\ -\0\0\0\0\x04\0\0\x12\0\x04\0\x10\x0a\0\0\0\0\0\0\xd8\0\0\0\0\0\0\0\x0f\x04\0\0\ -\x12\0\x05\0\x98\x01\0\0\0\0\0\0\x20\0\0\0\0\0\0\0\x1d\x04\0\0\x12\0\x04\0\xe8\ -\x0a\0\0\0\0\0\0\xd8\0\0\0\0\0\0\0\x2b\x04\0\0\x12\0\x05\0\xb8\x01\0\0\0\0\0\0\ -\x20\0\0\0\0\0\0\0\x38\x04\0\0\x12\0\x06\0\0\0\0\0\0\0\0\0\x70\x01\0\0\0\0\0\0\ -\x49\x04\0\0\x11\0\x10\0\x80\0\0\0\0\0\0\0\x20\0\0\0\0\0\0\0\x56\x04\0\0\x12\0\ -\x07\0\0\0\0\0\0\0\0\0\x78\x01\0\0\0\0\0\0\x65\x04\0\0\x12\0\x08\0\0\0\0\0\0\0\ -\0\0\x70\x01\0\0\0\0\0\0\x84\x04\0\0\x12\0\x09\0\0\0\0\0\0\0\0\0\x78\x01\0\0\0\ -\0\0\0\x9d\x04\0\0\x12\0\x0a\0\0\0\0\0\0\0\0\0\x18\x01\0\0\0\0\0\0\xb4\x04\0\0\ -\x11\0\x0e\0\x08\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\xbe\x04\0\0\x12\0\x0b\0\0\0\0\ -\0\0\0\0\0\x40\x01\0\0\0\0\0\0\xd4\x04\0\0\x12\0\x0c\0\0\0\0\0\0\0\0\0\xf8\0\0\ -\0\0\0\0\0\xf1\x04\0\0\x12\0\x0d\0\0\0\0\0\0\0\0\0\x40\x01\0\0\0\0\0\0\x0d\x05\ -\0\0\x11\0\x0e\0\x10\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\x19\x05\0\0\x11\0\x0f\0\0\ -\0\0\0\0\0\0\0\x0d\0\0\0\0\0\0\0\xbf\x27\0\0\0\0\0\0\xbf\x16\0\0\0\0\0\0\x7b\ -\x7a\xf0\xff\0\0\0\0\x85\0\0\0\x0e\0\0\0\x77\0\0\0\x20\0\0\0\x63\x0a\xec\xff\0\ -\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xec\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\x15\0\x45\0\0\0\0\0\xb7\x01\0\0\0\0\0\0\x7b\ -\x1a\xe0\xff\0\0\0\0\x79\x01\0\0\0\0\0\0\x7b\x1a\xd0\xff\0\0\0\0\xbf\xa2\0\0\0\ -\0\0\0\x07\x02\0\0\xec\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\ -\0\x03\0\0\0\x15\x07\x3b\0\0\0\0\0\x85\0\0\0\x05\0\0\0\x7b\x0a\xd8\xff\0\0\0\0\ -\xbf\x61\0\0\0\0\0\0\x18\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x03\0\0\0\x02\0\0\ -\x85\0\0\0\x1b\0\0\0\x63\x0a\xe0\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\ -\xf0\xff\xff\xff\xbf\xa3\0\0\0\0\0\0\x07\x03\0\0\xd0\xff\xff\xff\x18\x01\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\xbf\x01\0\0\0\0\ -\0\0\x67\x01\0\0\x20\0\0\0\x77\x01\0\0\x20\0\0\0\x15\x01\x05\0\0\0\0\0\x18\x01\ -\0\0\x18\0\0\0\0\0\0\0\0\0\0\0\xb7\x02\0\0\x28\0\0\0\xbf\x03\0\0\0\0\0\0\x85\0\ -\0\0\x06\0\0\0\x79\xa6\xd0\xff\0\0\0\0\x61\xa1\xe0\xff\0\0\0\0\x67\x01\0\0\x20\ -\0\0\0\xc7\x01\0\0\x20\0\0\0\x7b\x1a\xf8\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\ -\x02\0\0\xf8\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\ -\0\x55\0\x10\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf8\xff\xff\xff\x18\x01\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x18\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x04\0\0\ -\x01\0\0\0\x85\0\0\0\x02\0\0\0\xb7\x01\0\0\0\0\0\0\x6d\x01\x0d\0\0\0\0\0\xbf\ -\xa2\0\0\0\0\0\0\x07\x02\0\0\xf8\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\x85\0\0\0\x01\0\0\0\x15\0\x07\0\0\0\0\0\x18\x01\0\0\xff\xff\xff\xff\0\0\0\0\ -\xff\0\0\0\x5f\x16\0\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\x4f\x16\0\ -\0\0\0\0\0\xdb\x60\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\x79\x11\x70\0\0\0\0\0\x7b\x1a\ -\xf8\xff\0\0\0\0\x18\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x79\x61\0\0\0\0\0\0\xb7\ -\x02\0\0\x02\0\0\0\x2d\x12\x07\0\0\0\0\0\x85\0\0\0\x05\0\0\0\x79\x61\0\0\0\0\0\ -\0\xbf\x02\0\0\0\0\0\0\x3f\x12\0\0\0\0\0\0\x2f\x12\0\0\0\0\0\0\x1f\x20\0\0\0\0\ -\0\0\x55\0\x0b\0\0\0\0\0\x85\0\0\0\x0e\0\0\0\x77\0\0\0\x20\0\0\0\x63\x0a\xf4\ -\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf4\xff\xff\xff\xbf\xa3\0\0\0\0\0\ -\0\x07\x03\0\0\xf8\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x04\0\0\ -\0\0\0\0\x85\0\0\0\x02\0\0\0\xb7\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\x79\x11\x70\0\ -\0\0\0\0\x7b\x1a\xf0\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf0\xff\xff\ -\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\xbf\x06\0\0\0\0\0\ -\0\x15\x06\x1d\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf0\xff\xff\xff\x18\ -\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x03\0\0\0\x79\x67\0\0\0\0\0\0\x61\ -\x61\x10\0\0\0\0\0\x67\x01\0\0\x20\0\0\0\xc7\x01\0\0\x20\0\0\0\x7b\x1a\xf8\xff\ -\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf8\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\x55\0\x05\0\0\0\0\0\x18\x01\0\0\x40\0\0\0\0\ -\0\0\0\0\0\0\0\xb7\x02\0\0\x22\0\0\0\x85\0\0\0\x06\0\0\0\x05\0\x08\0\0\0\0\0\ -\x18\x01\0\0\xff\xff\xff\xff\0\0\0\0\xff\0\0\0\x5f\x17\0\0\0\0\0\0\x18\x01\0\0\ -\0\0\0\0\0\0\0\0\0\x01\0\0\x4f\x17\0\0\0\0\0\0\x87\x07\0\0\0\0\0\0\xdb\x70\0\0\ -\0\0\0\0\xb7\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\x79\x12\x70\0\0\0\0\0\x79\x11\x68\ -\0\0\0\0\0\x2f\x21\0\0\0\0\0\0\x7b\x1a\xf8\xff\0\0\0\0\x18\x06\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\x79\x61\0\0\0\0\0\0\xb7\x02\0\0\x02\0\0\0\x2d\x12\x07\0\0\0\0\0\ -\x85\0\0\0\x05\0\0\0\x79\x61\0\0\0\0\0\0\xbf\x02\0\0\0\0\0\0\x3f\x12\0\0\0\0\0\ -\0\x2f\x12\0\0\0\0\0\0\x1f\x20\0\0\0\0\0\0\x55\0\x0b\0\0\0\0\0\x85\0\0\0\x0e\0\ -\0\0\x77\0\0\0\x20\0\0\0\x63\x0a\xf4\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\ -\0\xf4\xff\xff\xff\xbf\xa3\0\0\0\0\0\0\x07\x03\0\0\xf8\xff\xff\xff\x18\x01\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\xb7\0\0\0\0\0\ -\0\0\x95\0\0\0\0\0\0\0\x79\x17\x68\0\0\0\0\0\x79\x11\x70\0\0\0\0\0\x7b\x1a\xf0\ -\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf0\xff\xff\xff\x18\x01\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\xbf\x06\0\0\0\0\0\0\x15\x06\x1d\0\0\0\0\ -\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\x85\0\0\0\x03\0\0\0\x79\x68\0\0\0\0\0\0\x61\x61\x10\0\0\0\0\0\x67\x01\ -\0\0\x20\0\0\0\xc7\x01\0\0\x20\0\0\0\x7b\x1a\xf8\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\ -\0\x07\x02\0\0\xf8\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\ -\x01\0\0\0\x55\0\x05\0\0\0\0\0\x18\x01\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\xb7\x02\0\ -\0\x22\0\0\0\x85\0\0\0\x06\0\0\0\x05\0\x08\0\0\0\0\0\x18\x01\0\0\xff\xff\xff\ -\xff\0\0\0\0\xff\0\0\0\x5f\x18\0\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\ -\0\x4f\x18\0\0\0\0\0\0\x87\x08\0\0\0\0\0\0\xdb\x80\0\0\0\0\0\0\x7b\x7a\xf8\xff\ -\0\0\0\0\x18\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x79\x61\0\0\0\0\0\0\xb7\x02\0\0\ -\x02\0\0\0\x2d\x12\x07\0\0\0\0\0\x85\0\0\0\x05\0\0\0\x79\x61\0\0\0\0\0\0\xbf\ -\x02\0\0\0\0\0\0\x3f\x12\0\0\0\0\0\0\x2f\x12\0\0\0\0\0\0\x1f\x20\0\0\0\0\0\0\ -\x55\0\x0b\0\0\0\0\0\x85\0\0\0\x0e\0\0\0\x77\0\0\0\x20\0\0\0\x63\x0a\xf0\xff\0\ -\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf0\xff\xff\xff\xbf\xa3\0\0\0\0\0\0\x07\ -\x03\0\0\xf8\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\ -\0\x85\0\0\0\x02\0\0\0\xb7\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\x79\x11\x68\0\0\0\0\ -\0\x7b\x1a\xf8\xff\0\0\0\0\x18\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x79\x61\0\0\0\0\ -\0\0\xb7\x02\0\0\x02\0\0\0\x2d\x12\x07\0\0\0\0\0\x85\0\0\0\x05\0\0\0\x79\x61\0\ -\0\0\0\0\0\xbf\x02\0\0\0\0\0\0\x3f\x12\0\0\0\0\0\0\x2f\x12\0\0\0\0\0\0\x1f\x20\ -\0\0\0\0\0\0\x55\0\x0b\0\0\0\0\0\x85\0\0\0\x0e\0\0\0\x77\0\0\0\x20\0\0\0\x63\ -\x0a\xf4\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf4\xff\xff\xff\xbf\xa3\0\ -\0\0\0\0\0\x07\x03\0\0\xf8\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\ -\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\xb7\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\x79\ -\x11\x70\0\0\0\0\0\x7b\x1a\xf0\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf0\ -\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\xbf\x06\0\ -\0\0\0\0\0\x15\x06\x1d\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf0\xff\xff\ -\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x03\0\0\0\x79\x67\0\0\0\0\0\ -\0\x61\x61\x10\0\0\0\0\0\x67\x01\0\0\x20\0\0\0\xc7\x01\0\0\x20\0\0\0\x7b\x1a\ -\xf8\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf8\xff\xff\xff\x18\x01\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\x55\0\x05\0\0\0\0\0\x18\x01\0\0\x40\ -\0\0\0\0\0\0\0\0\0\0\0\xb7\x02\0\0\x22\0\0\0\x85\0\0\0\x06\0\0\0\x05\0\x08\0\0\ -\0\0\0\x18\x01\0\0\xff\xff\xff\xff\0\0\0\0\xff\0\0\0\x5f\x17\0\0\0\0\0\0\x18\ -\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\x4f\x17\0\0\0\0\0\0\x87\x07\0\0\0\0\0\0\xdb\ -\x70\0\0\0\0\0\0\xb7\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\x79\x16\x60\0\0\0\0\0\x79\ -\x11\x70\0\0\0\0\0\x7b\x1a\xe8\xff\0\0\0\0\x85\0\0\0\x0e\0\0\0\x77\0\0\0\x20\0\ -\0\0\x7b\x0a\xe0\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xe0\xff\xff\xff\ -\xbf\xa3\0\0\0\0\0\0\x07\x03\0\0\xe8\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\x7b\x6a\xf8\xff\0\0\0\0\x18\x06\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x79\x61\0\0\0\0\0\0\xb7\x02\0\0\x02\0\0\0\x2d\x12\ -\x07\0\0\0\0\0\x85\0\0\0\x05\0\0\0\x79\x61\0\0\0\0\0\0\xbf\x02\0\0\0\0\0\0\x3f\ -\x12\0\0\0\0\0\0\x2f\x12\0\0\0\0\0\0\x1f\x20\0\0\0\0\0\0\x55\0\x0b\0\0\0\0\0\ -\x85\0\0\0\x0e\0\0\0\x77\0\0\0\x20\0\0\0\x63\x0a\xf4\xff\0\0\0\0\xbf\xa2\0\0\0\ -\0\0\0\x07\x02\0\0\xf4\xff\xff\xff\xbf\xa3\0\0\0\0\0\0\x07\x03\0\0\xf8\xff\xff\ -\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\ -\0\xb7\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\x79\x11\x68\0\0\0\0\0\x7b\x1a\xf8\xff\0\ -\0\0\0\x18\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x79\x61\0\0\0\0\0\0\xb7\x02\0\0\x02\ -\0\0\0\x2d\x12\x07\0\0\0\0\0\x85\0\0\0\x05\0\0\0\x79\x61\0\0\0\0\0\0\xbf\x02\0\ -\0\0\0\0\0\x3f\x12\0\0\0\0\0\0\x2f\x12\0\0\0\0\0\0\x1f\x20\0\0\0\0\0\0\x55\0\ -\x0b\0\0\0\0\0\x85\0\0\0\x0e\0\0\0\x77\0\0\0\x20\0\0\0\x63\x0a\xf4\xff\0\0\0\0\ -\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf4\xff\xff\xff\xbf\xa3\0\0\0\0\0\0\x07\x03\0\ -\0\xf8\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\ -\0\0\0\x02\0\0\0\xb7\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\x79\x11\x70\0\0\0\0\0\x7b\ -\x1a\xf8\xff\0\0\0\0\x18\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x79\x61\0\0\0\0\0\0\ -\xb7\x02\0\0\x02\0\0\0\x2d\x12\x07\0\0\0\0\0\x85\0\0\0\x05\0\0\0\x79\x61\0\0\0\ -\0\0\0\xbf\x02\0\0\0\0\0\0\x3f\x12\0\0\0\0\0\0\x2f\x12\0\0\0\0\0\0\x1f\x20\0\0\ -\0\0\0\0\x55\0\x0b\0\0\0\0\0\x85\0\0\0\x0e\0\0\0\x77\0\0\0\x20\0\0\0\x63\x0a\ -\xf4\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf4\xff\xff\xff\xbf\xa3\0\0\0\ -\0\0\0\x07\x03\0\0\xf8\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x04\ -\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\xb7\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\x79\x11\ -\x68\0\0\0\0\0\x7b\x1a\xf8\xff\0\0\0\0\x18\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x79\ -\x61\0\0\0\0\0\0\xb7\x02\0\0\x02\0\0\0\x2d\x12\x07\0\0\0\0\0\x85\0\0\0\x05\0\0\ -\0\x79\x61\0\0\0\0\0\0\xbf\x02\0\0\0\0\0\0\x3f\x12\0\0\0\0\0\0\x2f\x12\0\0\0\0\ -\0\0\x1f\x20\0\0\0\0\0\0\x55\0\x0b\0\0\0\0\0\x85\0\0\0\x0e\0\0\0\x77\0\0\0\x20\ -\0\0\0\x63\x0a\xf4\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf4\xff\xff\xff\ -\xbf\xa3\0\0\0\0\0\0\x07\x03\0\0\xf8\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\xb7\0\0\0\0\0\0\0\x95\0\0\0\0\0\ -\0\0\x79\x11\x70\0\0\0\0\0\x7b\x1a\xf8\xff\0\0\0\0\x18\x06\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\x79\x61\0\0\0\0\0\0\xb7\x02\0\0\x02\0\0\0\x2d\x12\x07\0\0\0\0\0\x85\0\ -\0\0\x05\0\0\0\x79\x61\0\0\0\0\0\0\xbf\x02\0\0\0\0\0\0\x3f\x12\0\0\0\0\0\0\x2f\ -\x12\0\0\0\0\0\0\x1f\x20\0\0\0\0\0\0\x55\0\x0b\0\0\0\0\0\x85\0\0\0\x0e\0\0\0\ -\x77\0\0\0\x20\0\0\0\x63\x0a\xf4\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\ -\xf4\xff\xff\xff\xbf\xa3\0\0\0\0\0\0\x07\x03\0\0\xf8\xff\xff\xff\x18\x01\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\xb7\0\0\0\0\0\0\ -\0\x95\0\0\0\0\0\0\0\x79\x12\x50\0\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\xb7\0\0\ -\0\0\0\0\0\x95\0\0\0\0\0\0\0\x79\x12\x50\0\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\ -\xb7\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\x79\x12\x50\0\0\0\0\0\x85\x10\0\0\xff\xff\ -\xff\xff\xb7\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\x79\x12\x50\0\0\0\0\0\x85\x10\0\0\ -\xff\xff\xff\xff\xb7\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\xbf\x16\0\0\0\0\0\0\x85\0\ -\0\0\x0e\0\0\0\x77\0\0\0\x20\0\0\0\x7b\x0a\xf8\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\ -\x07\x02\0\0\xf8\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\ -\0\0\0\xbf\x07\0\0\0\0\0\0\x15\x07\x0e\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\ -\0\xf8\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x03\0\0\0\x79\ -\x73\0\0\0\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\xf0\xff\xff\xff\xb7\x02\0\0\ -\x08\0\0\0\x85\0\0\0\x70\0\0\0\x55\0\x03\0\0\0\0\0\x79\xa2\xf0\xff\0\0\0\0\xbf\ -\x61\0\0\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\xb7\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\ -\0\x79\x12\x50\0\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\xb7\0\0\0\0\0\0\0\x95\0\0\ -\0\0\0\0\0\x79\x12\x50\0\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\xb7\0\0\0\0\0\0\0\ -\x95\0\0\0\0\0\0\0\x79\x12\x50\0\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\xb7\0\0\0\ -\0\0\0\0\x95\0\0\0\0\0\0\0\x79\x12\x50\0\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\ -\xb7\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\xbf\x16\0\0\0\0\0\0\xb7\x01\0\0\x10\0\0\0\ -\xbf\x63\0\0\0\0\0\0\x0f\x13\0\0\0\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\xf8\ -\xff\xff\xff\xb7\x02\0\0\x08\0\0\0\x85\0\0\0\x71\0\0\0\xb7\x01\0\0\x20\0\0\0\ -\xbf\x63\0\0\0\0\0\0\x0f\x13\0\0\0\0\0\0\x79\xa7\xf8\xff\0\0\0\0\xbf\xa1\0\0\0\ -\0\0\0\x07\x01\0\0\xf8\xff\xff\xff\xb7\x02\0\0\x08\0\0\0\x85\0\0\0\x71\0\0\0\ -\x79\xa1\xf8\xff\0\0\0\0\x7b\x1a\xf8\xff\0\0\0\0\x18\x08\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\x79\x81\0\0\0\0\0\0\xb7\x02\0\0\x02\0\0\0\x2d\x12\x07\0\0\0\0\0\x85\0\0\ -\0\x05\0\0\0\x79\x81\0\0\0\0\0\0\xbf\x02\0\0\0\0\0\0\x3f\x12\0\0\0\0\0\0\x2f\ -\x12\0\0\0\0\0\0\x1f\x20\0\0\0\0\0\0\x55\0\x0b\0\0\0\0\0\x85\0\0\0\x0e\0\0\0\ -\x77\0\0\0\x20\0\0\0\x63\x0a\xf4\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\ -\xf4\xff\xff\xff\xbf\xa3\0\0\0\0\0\0\x07\x03\0\0\xf8\xff\xff\xff\x18\x01\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\xbf\x61\0\0\0\0\ -\0\0\xbf\x72\0\0\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\xb7\0\0\0\0\0\0\0\x95\0\0\ -\0\0\0\0\0\xbf\x13\0\0\0\0\0\0\xb7\x01\0\0\x10\0\0\0\x0f\x13\0\0\0\0\0\0\xbf\ -\xa1\0\0\0\0\0\0\x07\x01\0\0\xf8\xff\xff\xff\xb7\x02\0\0\x08\0\0\0\x85\0\0\0\ -\x71\0\0\0\x79\xa1\xf8\xff\0\0\0\0\x7b\x1a\xf0\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\ -\x07\x02\0\0\xf0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\ -\0\0\0\xbf\x06\0\0\0\0\0\0\x15\x06\x1d\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\ -\0\xf0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x03\0\0\0\x79\ -\x67\0\0\0\0\0\0\x61\x61\x10\0\0\0\0\0\x67\x01\0\0\x20\0\0\0\xc7\x01\0\0\x20\0\ -\0\0\x7b\x1a\xf8\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf8\xff\xff\xff\ -\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\x55\0\x05\0\0\0\0\0\ -\x18\x01\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\xb7\x02\0\0\x22\0\0\0\x85\0\0\0\x06\0\0\ -\0\x05\0\x08\0\0\0\0\0\x18\x01\0\0\xff\xff\xff\xff\0\0\0\0\xff\0\0\0\x5f\x17\0\ -\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\x4f\x17\0\0\0\0\0\0\x87\x07\0\ -\0\0\0\0\0\xdb\x70\0\0\0\0\0\0\xb7\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\xbf\x16\0\0\ -\0\0\0\0\xb7\x01\0\0\x10\0\0\0\xbf\x63\0\0\0\0\0\0\x0f\x13\0\0\0\0\0\0\xbf\xa1\ -\0\0\0\0\0\0\x07\x01\0\0\xf8\xff\xff\xff\xb7\x02\0\0\x08\0\0\0\x85\0\0\0\x71\0\ -\0\0\xb7\x01\0\0\x20\0\0\0\xbf\x63\0\0\0\0\0\0\x0f\x13\0\0\0\0\0\0\x79\xa7\xf8\ -\xff\0\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\xf8\xff\xff\xff\xb7\x02\0\0\x08\0\ -\0\0\x85\0\0\0\x71\0\0\0\x79\xa1\xf8\xff\0\0\0\0\x7b\x1a\xf8\xff\0\0\0\0\x18\ -\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x79\x81\0\0\0\0\0\0\xb7\x02\0\0\x02\0\0\0\x2d\ -\x12\x07\0\0\0\0\0\x85\0\0\0\x05\0\0\0\x79\x81\0\0\0\0\0\0\xbf\x02\0\0\0\0\0\0\ -\x3f\x12\0\0\0\0\0\0\x2f\x12\0\0\0\0\0\0\x1f\x20\0\0\0\0\0\0\x55\0\x0b\0\0\0\0\ -\0\x85\0\0\0\x0e\0\0\0\x77\0\0\0\x20\0\0\0\x63\x0a\xf4\xff\0\0\0\0\xbf\xa2\0\0\ -\0\0\0\0\x07\x02\0\0\xf4\xff\xff\xff\xbf\xa3\0\0\0\0\0\0\x07\x03\0\0\xf8\xff\ -\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\ -\0\0\0\xbf\x61\0\0\0\0\0\0\xbf\x72\0\0\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\xb7\ -\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\xbf\x13\0\0\0\0\0\0\xb7\x01\0\0\x10\0\0\0\x0f\ -\x13\0\0\0\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\xf8\xff\xff\xff\xb7\x02\0\0\ -\x08\0\0\0\x85\0\0\0\x71\0\0\0\x79\xa1\xf8\xff\0\0\0\0\x7b\x1a\xf0\xff\0\0\0\0\ -\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\x85\0\0\0\x01\0\0\0\xbf\x06\0\0\0\0\0\0\x15\x06\x1d\0\0\0\0\0\xbf\xa2\0\ -\0\0\0\0\0\x07\x02\0\0\xf0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\ -\0\0\0\x03\0\0\0\x79\x67\0\0\0\0\0\0\x61\x61\x10\0\0\0\0\0\x67\x01\0\0\x20\0\0\ -\0\xc7\x01\0\0\x20\0\0\0\x7b\x1a\xf8\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\ -\0\xf8\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\x55\ -\0\x05\0\0\0\0\0\x18\x01\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\xb7\x02\0\0\x22\0\0\0\ -\x85\0\0\0\x06\0\0\0\x05\0\x08\0\0\0\0\0\x18\x01\0\0\xff\xff\xff\xff\0\0\0\0\ -\xff\0\0\0\x5f\x17\0\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\x4f\x17\0\ -\0\0\0\0\0\x87\x07\0\0\0\0\0\0\xdb\x70\0\0\0\0\0\0\xb7\0\0\0\0\0\0\0\x95\0\0\0\ -\0\0\0\0\xbf\x16\0\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x79\x11\0\0\0\ -\0\0\0\x61\x62\x10\0\0\0\0\0\x6f\x21\0\0\0\0\0\0\x7b\x1a\xf8\xff\0\0\0\0\x18\ -\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x79\x71\0\0\0\0\0\0\xb7\x02\0\0\x02\0\0\0\x2d\ -\x12\x07\0\0\0\0\0\x85\0\0\0\x05\0\0\0\x79\x71\0\0\0\0\0\0\xbf\x02\0\0\0\0\0\0\ -\x3f\x12\0\0\0\0\0\0\x2f\x12\0\0\0\0\0\0\x1f\x20\0\0\0\0\0\0\x55\0\x0b\0\0\0\0\ -\0\x85\0\0\0\x0e\0\0\0\x77\0\0\0\x20\0\0\0\x63\x0a\xf4\xff\0\0\0\0\xbf\xa2\0\0\ -\0\0\0\0\x07\x02\0\0\xf4\xff\xff\xff\xbf\xa3\0\0\0\0\0\0\x07\x03\0\0\xf8\xff\ -\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\ -\0\0\0\x79\x62\x08\0\0\0\0\0\xbf\x61\0\0\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\ -\xb7\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\x79\x11\x08\0\0\0\0\0\x7b\x1a\xf0\xff\0\0\ -\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\x85\0\0\0\x01\0\0\0\xbf\x06\0\0\0\0\0\0\x15\x06\x1d\0\0\0\0\0\xbf\ -\xa2\0\0\0\0\0\0\x07\x02\0\0\xf0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\x85\0\0\0\x03\0\0\0\x79\x67\0\0\0\0\0\0\x61\x61\x10\0\0\0\0\0\x67\x01\0\0\ -\x20\0\0\0\xc7\x01\0\0\x20\0\0\0\x7b\x1a\xf8\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\ -\x07\x02\0\0\xf8\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\ -\0\0\0\x55\0\x05\0\0\0\0\0\x18\x01\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\xb7\x02\0\0\ -\x22\0\0\0\x85\0\0\0\x06\0\0\0\x05\0\x08\0\0\0\0\0\x18\x01\0\0\xff\xff\xff\xff\ -\0\0\0\0\xff\0\0\0\x5f\x17\0\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\ -\x4f\x17\0\0\0\0\0\0\x87\x07\0\0\0\0\0\0\xdb\x70\0\0\0\0\0\0\xb7\0\0\0\0\0\0\0\ -\x95\0\0\0\0\0\0\0\xbf\x16\0\0\0\0\0\0\x79\x61\x40\0\0\0\0\0\x7b\x1a\xf8\xff\0\ -\0\0\0\x18\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x79\x71\0\0\0\0\0\0\xb7\x02\0\0\x02\ -\0\0\0\x2d\x12\x07\0\0\0\0\0\x85\0\0\0\x05\0\0\0\x79\x71\0\0\0\0\0\0\xbf\x02\0\ -\0\0\0\0\0\x3f\x12\0\0\0\0\0\0\x2f\x12\0\0\0\0\0\0\x1f\x20\0\0\0\0\0\0\x55\0\ -\x0b\0\0\0\0\0\x85\0\0\0\x0e\0\0\0\x77\0\0\0\x20\0\0\0\x63\x0a\xf4\xff\0\0\0\0\ -\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf4\xff\xff\xff\xbf\xa3\0\0\0\0\0\0\x07\x03\0\ -\0\xf8\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\ -\0\0\0\x02\0\0\0\x79\x62\x38\0\0\0\0\0\xbf\x61\0\0\0\0\0\0\x85\x10\0\0\xff\xff\ -\xff\xff\xb7\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\x79\x11\x18\0\0\0\0\0\x7b\x1a\xf0\ -\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf0\xff\xff\xff\x18\x01\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\xbf\x06\0\0\0\0\0\0\x15\x06\x1d\0\0\0\0\ -\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\x85\0\0\0\x03\0\0\0\x79\x67\0\0\0\0\0\0\x61\x61\x10\0\0\0\0\0\x67\x01\ -\0\0\x20\0\0\0\xc7\x01\0\0\x20\0\0\0\x7b\x1a\xf8\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\ -\0\x07\x02\0\0\xf8\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\ -\x01\0\0\0\x55\0\x05\0\0\0\0\0\x18\x01\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\xb7\x02\0\ -\0\x22\0\0\0\x85\0\0\0\x06\0\0\0\x05\0\x08\0\0\0\0\0\x18\x01\0\0\xff\xff\xff\ -\xff\0\0\0\0\xff\0\0\0\x5f\x17\0\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\ -\0\x4f\x17\0\0\0\0\0\0\x87\x07\0\0\0\0\0\0\xdb\x70\0\0\0\0\0\0\xb7\0\0\0\0\0\0\ -\0\x95\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x61\ -\x6c\x6c\x6f\x63\x73\x20\x75\x70\x64\x61\x74\x65\x20\x66\x61\x69\x6c\x65\x64\ -\x2c\x20\x65\x72\x72\x6f\x72\x20\x63\x6f\x64\x65\x20\x69\x73\x20\x25\x69\x0a\0\ -\x66\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x6c\x6f\x6f\x6b\x75\x70\x20\x63\x6f\ -\x6d\x62\x69\x6e\x65\x64\x20\x61\x6c\x6c\x6f\x63\x73\x0a\0\x44\x75\x61\x6c\x20\ -\x42\x53\x44\x2f\x47\x50\x4c\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x40\0\0\0\0\0\0\0\x01\0\0\0\x41\0\0\0\ -\x90\0\0\0\0\0\0\0\x01\0\0\0\x41\0\0\0\xc8\0\0\0\0\0\0\0\x01\0\0\0\x59\0\0\0\ -\x10\x01\0\0\0\0\0\0\x01\0\0\0\x44\0\0\0\x50\x01\0\0\0\0\0\0\x01\0\0\0\x3d\0\0\ -\0\xb0\x01\0\0\0\0\0\0\x01\0\0\0\x45\0\0\0\xe0\x01\0\0\0\0\0\0\x01\0\0\0\x45\0\ -\0\0\xf0\x01\0\0\0\0\0\0\x01\0\0\0\x3e\0\0\0\x30\x02\0\0\0\0\0\0\x01\0\0\0\x45\ -\0\0\0\x10\0\0\0\0\0\0\0\x01\0\0\0\x40\0\0\0\xa8\0\0\0\0\0\0\0\x01\0\0\0\x41\0\ -\0\0\xf8\0\0\0\0\0\0\0\x01\0\0\0\x44\0\0\0\x30\x01\0\0\0\0\0\0\x01\0\0\0\x44\0\ -\0\0\x80\x01\0\0\0\0\0\0\x01\0\0\0\x45\0\0\0\xa0\x01\0\0\0\0\0\0\x01\0\0\0\x3d\ -\0\0\0\x38\x02\0\0\0\0\0\0\x01\0\0\0\x40\0\0\0\xd0\x02\0\0\0\0\0\0\x01\0\0\0\ -\x41\0\0\0\x28\x03\0\0\0\0\0\0\x01\0\0\0\x44\0\0\0\x60\x03\0\0\0\0\0\0\x01\0\0\ -\0\x44\0\0\0\xb0\x03\0\0\0\0\0\0\x01\0\0\0\x45\0\0\0\xd0\x03\0\0\0\0\0\0\x01\0\ -\0\0\x3d\0\0\0\x40\x04\0\0\0\0\0\0\x01\0\0\0\x40\0\0\0\xd8\x04\0\0\0\0\0\0\x01\ -\0\0\0\x41\0\0\0\x18\x05\0\0\0\0\0\0\x01\0\0\0\x40\0\0\0\xb0\x05\0\0\0\0\0\0\ -\x01\0\0\0\x41\0\0\0\0\x06\0\0\0\0\0\0\x01\0\0\0\x44\0\0\0\x38\x06\0\0\0\0\0\0\ -\x01\0\0\0\x44\0\0\0\x88\x06\0\0\0\0\0\0\x01\0\0\0\x45\0\0\0\xa8\x06\0\0\0\0\0\ -\0\x01\0\0\0\x3d\0\0\0\x70\x07\0\0\0\0\0\0\x01\0\0\0\x4e\0\0\0\x98\x07\0\0\0\0\ -\0\0\x01\0\0\0\x40\0\0\0\x30\x08\0\0\0\0\0\0\x01\0\0\0\x41\0\0\0\x70\x08\0\0\0\ -\0\0\0\x01\0\0\0\x40\0\0\0\x08\x09\0\0\0\0\0\0\x01\0\0\0\x41\0\0\0\x48\x09\0\0\ -\0\0\0\0\x01\0\0\0\x40\0\0\0\xe0\x09\0\0\0\0\0\0\x01\0\0\0\x41\0\0\0\x20\x0a\0\ -\0\0\0\0\0\x01\0\0\0\x40\0\0\0\xb8\x0a\0\0\0\0\0\0\x01\0\0\0\x41\0\0\0\xf8\x0a\ -\0\0\0\0\0\0\x01\0\0\0\x40\0\0\0\x90\x0b\0\0\0\0\0\0\x01\0\0\0\x41\0\0\0\x08\0\ -\0\0\0\0\0\0\x0a\0\0\0\x02\0\0\0\x28\0\0\0\0\0\0\0\x0a\0\0\0\x02\0\0\0\x48\0\0\ -\0\0\0\0\0\x0a\0\0\0\x02\0\0\0\x68\0\0\0\0\0\0\0\x0a\0\0\0\x02\0\0\0\xb0\0\0\0\ -\0\0\0\0\x01\0\0\0\x4e\0\0\0\xe8\0\0\0\0\0\0\0\x01\0\0\0\x4e\0\0\0\x40\x01\0\0\ -\0\0\0\0\x0a\0\0\0\x02\0\0\0\x60\x01\0\0\0\0\0\0\x0a\0\0\0\x02\0\0\0\x80\x01\0\ -\0\0\0\0\0\x0a\0\0\0\x02\0\0\0\xa0\x01\0\0\0\0\0\0\x0a\0\0\0\x02\0\0\0\xc0\x01\ -\0\0\0\0\0\0\x0a\0\0\0\x02\0\0\0\x90\0\0\0\0\0\0\0\x01\0\0\0\x40\0\0\0\x28\x01\ -\0\0\0\0\0\0\x01\0\0\0\x41\0\0\0\x58\x01\0\0\0\0\0\0\x0a\0\0\0\x02\0\0\0\x58\0\ -\0\0\0\0\0\0\x01\0\0\0\x44\0\0\0\x90\0\0\0\0\0\0\0\x01\0\0\0\x44\0\0\0\xe0\0\0\ -\0\0\0\0\0\x01\0\0\0\x45\0\0\0\0\x01\0\0\0\0\0\0\x01\0\0\0\x3d\0\0\0\x90\0\0\0\ -\0\0\0\0\x01\0\0\0\x40\0\0\0\x28\x01\0\0\0\0\0\0\x01\0\0\0\x41\0\0\0\x58\x01\0\ -\0\0\0\0\0\x0a\0\0\0\x02\0\0\0\x58\0\0\0\0\0\0\0\x01\0\0\0\x44\0\0\0\x90\0\0\0\ -\0\0\0\0\x01\0\0\0\x44\0\0\0\xe0\0\0\0\0\0\0\0\x01\0\0\0\x45\0\0\0\0\x01\0\0\0\ -\0\0\0\x01\0\0\0\x3d\0\0\0\x08\0\0\0\0\0\0\0\x01\0\0\0\x5e\0\0\0\x38\0\0\0\0\0\ -\0\0\x01\0\0\0\x40\0\0\0\xd0\0\0\0\0\0\0\0\x01\0\0\0\x41\0\0\0\0\x01\0\0\0\0\0\ -\0\x0a\0\0\0\x02\0\0\0\x20\0\0\0\0\0\0\0\x01\0\0\0\x44\0\0\0\x58\0\0\0\0\0\0\0\ -\x01\0\0\0\x44\0\0\0\xa8\0\0\0\0\0\0\0\x01\0\0\0\x45\0\0\0\xc8\0\0\0\0\0\0\0\ -\x01\0\0\0\x3d\0\0\0\x18\0\0\0\0\0\0\0\x01\0\0\0\x40\0\0\0\xb0\0\0\0\0\0\0\0\ -\x01\0\0\0\x41\0\0\0\xe0\0\0\0\0\0\0\0\x0a\0\0\0\x02\0\0\0\x20\0\0\0\0\0\0\0\ -\x01\0\0\0\x44\0\0\0\x58\0\0\0\0\0\0\0\x01\0\0\0\x44\0\0\0\xa8\0\0\0\0\0\0\0\ -\x01\0\0\0\x45\0\0\0\xc8\0\0\0\0\0\0\0\x01\0\0\0\x3d\0\0\0\x9f\xeb\x01\0\x18\0\ -\0\0\0\0\0\0\x34\x0c\0\0\x34\x0c\0\0\x0c\x16\0\0\0\0\0\0\0\0\0\x02\x03\0\0\0\ -\x01\0\0\0\0\0\0\x01\x04\0\0\0\x20\0\0\x01\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\ -\x04\0\0\0\x01\0\0\0\x05\0\0\0\0\0\0\x01\x04\0\0\0\x20\0\0\0\0\0\0\0\0\0\0\x02\ -\x06\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\x04\0\0\0\0\0\0\0\0\0\ -\0\x02\x08\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\x08\0\0\0\0\0\0\ -\0\0\0\0\x02\x0a\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\0\x28\0\0\ -\0\0\0\0\x04\0\0\x04\x20\0\0\0\x19\0\0\0\x01\0\0\0\0\0\0\0\x1e\0\0\0\x05\0\0\0\ -\x40\0\0\0\x27\0\0\0\x07\0\0\0\x80\0\0\0\x32\0\0\0\x09\0\0\0\xc0\0\0\0\x3e\0\0\ -\0\0\0\0\x0e\x0b\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x02\x0e\0\0\0\0\0\0\0\0\0\0\x03\ -\0\0\0\0\x02\0\0\0\x04\0\0\0\x18\0\0\0\0\0\0\0\0\0\0\x02\x10\0\0\0\0\0\0\0\0\0\ -\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\xa0\x86\x01\0\0\0\0\0\x04\0\0\x04\x20\0\0\0\ -\x19\0\0\0\x01\0\0\0\0\0\0\0\x1e\0\0\0\x07\0\0\0\x40\0\0\0\x27\0\0\0\x0d\0\0\0\ -\x80\0\0\0\x32\0\0\0\x0f\0\0\0\xc0\0\0\0\x44\0\0\0\0\0\0\x0e\x11\0\0\0\x01\0\0\ -\0\0\0\0\0\x04\0\0\x04\x20\0\0\0\x19\0\0\0\x01\0\0\0\0\0\0\0\x1e\0\0\0\x07\0\0\ -\0\x40\0\0\0\x27\0\0\0\x07\0\0\0\x80\0\0\0\x32\0\0\0\x09\0\0\0\xc0\0\0\0\x4b\0\ -\0\0\0\0\0\x0e\x13\0\0\0\x01\0\0\0\x5b\0\0\0\0\0\0\x0e\x13\0\0\0\x01\0\0\0\0\0\ -\0\0\0\0\0\x02\x17\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\x07\0\0\ -\0\0\0\0\0\0\0\0\x02\x19\0\0\0\x63\0\0\0\0\0\0\x08\x1a\0\0\0\x67\0\0\0\0\0\0\ -\x01\x04\0\0\0\x20\0\0\0\0\0\0\0\0\0\0\x02\x1c\0\0\0\x74\0\0\0\0\0\0\x01\x08\0\ -\0\0\x40\0\0\0\0\0\0\0\x04\0\0\x04\x20\0\0\0\x19\0\0\0\x16\0\0\0\0\0\0\0\x82\0\ -\0\0\x18\0\0\0\x40\0\0\0\x86\0\0\0\x1b\0\0\0\x80\0\0\0\x32\0\0\0\x09\0\0\0\xc0\ -\0\0\0\x8c\0\0\0\0\0\0\x0e\x1d\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x02\x20\0\0\0\x99\ -\0\0\0\x15\0\0\x04\xa8\0\0\0\xa1\0\0\0\x1c\0\0\0\0\0\0\0\xa5\0\0\0\x1c\0\0\0\ -\x40\0\0\0\xa9\0\0\0\x1c\0\0\0\x80\0\0\0\xad\0\0\0\x1c\0\0\0\xc0\0\0\0\xb1\0\0\ -\0\x1c\0\0\0\0\x01\0\0\xb4\0\0\0\x1c\0\0\0\x40\x01\0\0\xb7\0\0\0\x1c\0\0\0\x80\ -\x01\0\0\xbb\0\0\0\x1c\0\0\0\xc0\x01\0\0\xbf\0\0\0\x1c\0\0\0\0\x02\0\0\xc2\0\0\ -\0\x1c\0\0\0\x40\x02\0\0\xc5\0\0\0\x1c\0\0\0\x80\x02\0\0\xc8\0\0\0\x1c\0\0\0\ -\xc0\x02\0\0\xcb\0\0\0\x1c\0\0\0\0\x03\0\0\xce\0\0\0\x1c\0\0\0\x40\x03\0\0\xd1\ -\0\0\0\x1c\0\0\0\x80\x03\0\0\xd4\0\0\0\x1c\0\0\0\xc0\x03\0\0\xdc\0\0\0\x1c\0\0\ -\0\0\x04\0\0\xdf\0\0\0\x1c\0\0\0\x40\x04\0\0\xe2\0\0\0\x1c\0\0\0\x80\x04\0\0\ -\xe8\0\0\0\x1c\0\0\0\xc0\x04\0\0\xeb\0\0\0\x1c\0\0\0\0\x05\0\0\0\0\0\0\x01\0\0\ -\x0d\x02\0\0\0\xee\0\0\0\x1f\0\0\0\xf2\0\0\0\x01\0\0\x0c\x21\0\0\0\xff\0\0\0\ -\x01\0\0\x0c\x21\0\0\0\x0b\x01\0\0\x01\0\0\x0c\x21\0\0\0\x16\x01\0\0\x01\0\0\ -\x0c\x21\0\0\0\x23\x01\0\0\x01\0\0\x0c\x21\0\0\0\x2f\x01\0\0\x01\0\0\x0c\x21\0\ -\0\0\x3d\x01\0\0\x01\0\0\x0c\x21\0\0\0\x4a\x01\0\0\x01\0\0\x0c\x21\0\0\0\x55\ -\x01\0\0\x01\0\0\x0c\x21\0\0\0\x5f\x01\0\0\x01\0\0\x0c\x21\0\0\0\x6c\x01\0\0\ -\x01\0\0\x0c\x21\0\0\0\x81\x01\0\0\x01\0\0\x0c\x21\0\0\0\x95\x01\0\0\x01\0\0\ -\x0c\x21\0\0\0\xa9\x01\0\0\x01\0\0\x0c\x21\0\0\0\xbc\x01\0\0\x01\0\0\x0c\x21\0\ -\0\0\xc9\x01\0\0\x01\0\0\x0c\x21\0\0\0\xd5\x01\0\0\x01\0\0\x0c\x21\0\0\0\xe4\ -\x01\0\0\x01\0\0\x0c\x21\0\0\0\xf2\x01\0\0\x01\0\0\x0c\x21\0\0\0\0\x02\0\0\x01\ -\0\0\x0c\x21\0\0\0\0\0\0\0\0\0\0\x02\x37\0\0\0\x0d\x02\0\0\x08\0\0\x04\x38\0\0\ -\0\x25\x02\0\0\x38\0\0\0\0\0\0\0\x29\x02\0\0\x1c\0\0\0\x40\0\0\0\x33\x02\0\0\ -\x3b\0\0\0\x80\0\0\0\x37\x02\0\0\x3d\0\0\0\xc0\0\0\0\x41\x02\0\0\x3d\0\0\0\0\ -\x01\0\0\x4d\x02\0\0\x1c\0\0\0\x40\x01\0\0\x57\x02\0\0\x02\0\0\0\x80\x01\0\0\ -\x5c\x02\0\0\x41\0\0\0\xa0\x01\0\0\x63\x02\0\0\x04\0\0\x04\x08\0\0\0\x19\0\0\0\ -\x39\0\0\0\0\0\0\0\xe2\0\0\0\x3a\0\0\0\x10\0\0\0\x6f\x02\0\0\x3a\0\0\0\x18\0\0\ -\0\x7d\x02\0\0\x02\0\0\0\x20\0\0\0\x81\x02\0\0\0\0\0\x01\x02\0\0\0\x10\0\0\0\ -\x90\x02\0\0\0\0\0\x01\x01\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\x02\x3c\0\0\0\0\0\0\0\ -\0\0\0\x0a\0\0\0\0\x9e\x02\0\0\0\0\0\x08\x3e\0\0\0\xa5\x02\0\0\0\0\0\x08\x3f\0\ -\0\0\xb5\x02\0\0\0\0\0\x08\x1c\0\0\0\xc6\x02\0\0\0\0\0\x01\x01\0\0\0\x08\0\0\ -\x01\0\0\0\0\0\0\0\x03\0\0\0\0\x40\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\x0d\ -\x02\0\0\0\xee\0\0\0\x36\0\0\0\xcb\x02\0\0\x01\0\0\x0c\x42\0\0\0\0\0\0\0\0\0\0\ -\x02\0\0\0\0\xdc\x02\0\0\0\0\0\x08\x46\0\0\0\xe0\x02\0\0\0\0\0\x01\x08\0\0\0\ -\x40\0\0\0\0\0\0\0\x02\0\0\x0d\x02\0\0\0\xee\0\0\0\x44\0\0\0\xf3\x02\0\0\x45\0\ -\0\0\xfb\x02\0\0\0\0\0\x0c\x47\0\0\0\0\0\0\0\0\0\0\x02\x4a\0\0\0\x0b\x03\0\0\ -\x04\0\0\x04\x18\0\0\0\x25\x02\0\0\x38\0\0\0\0\0\0\0\x29\x02\0\0\x1c\0\0\0\x40\ -\0\0\0\x33\x02\0\0\x3b\0\0\0\x80\0\0\0\x5c\x02\0\0\x41\0\0\0\xc0\0\0\0\0\0\0\0\ -\x01\0\0\x0d\x02\0\0\0\xee\0\0\0\x49\0\0\0\x21\x03\0\0\x01\0\0\x0c\x4b\0\0\0\0\ -\0\0\0\0\0\0\x02\x4e\0\0\0\x30\x03\0\0\x09\0\0\x04\x38\0\0\0\x25\x02\0\0\x38\0\ -\0\0\0\0\0\0\x29\x02\0\0\x1c\0\0\0\x40\0\0\0\x33\x02\0\0\x3b\0\0\0\x80\0\0\0\ -\x37\x02\0\0\x3d\0\0\0\xc0\0\0\0\x41\x02\0\0\x3d\0\0\0\0\x01\0\0\x4d\x02\0\0\ -\x1c\0\0\0\x40\x01\0\0\x57\x02\0\0\x02\0\0\0\x80\x01\0\0\x51\x03\0\0\x4f\0\0\0\ -\xa0\x01\0\0\x5c\x02\0\0\x41\0\0\0\xa8\x01\0\0\x5b\x03\0\0\0\0\0\x08\x50\0\0\0\ -\x60\x03\0\0\0\0\0\x01\x01\0\0\0\x08\0\0\x04\0\0\0\0\x01\0\0\x0d\x02\0\0\0\xee\ -\0\0\0\x4d\0\0\0\x66\x03\0\0\x01\0\0\x0c\x51\0\0\0\0\0\0\0\0\0\0\x02\x54\0\0\0\ -\x85\x03\0\0\x05\0\0\x04\x20\0\0\0\x25\x02\0\0\x38\0\0\0\0\0\0\0\x29\x02\0\0\ -\x1c\0\0\0\x40\0\0\0\x33\x02\0\0\x3b\0\0\0\x80\0\0\0\xa5\x03\0\0\x55\0\0\0\xc0\ -\0\0\0\x5c\x02\0\0\x41\0\0\0\xe0\0\0\0\x63\0\0\0\0\0\0\x08\x56\0\0\0\xb5\x03\0\ -\0\0\0\0\x08\x1a\0\0\0\0\0\0\0\x01\0\0\x0d\x02\0\0\0\xee\0\0\0\x53\0\0\0\xbb\ -\x03\0\0\x01\0\0\x0c\x57\0\0\0\0\0\0\0\0\0\0\x02\x5a\0\0\0\xd4\x03\0\0\x06\0\0\ -\x04\x28\0\0\0\x25\x02\0\0\x38\0\0\0\0\0\0\0\xf2\x03\0\0\x1c\0\0\0\x40\0\0\0\ -\xf6\x03\0\0\x1a\0\0\0\x80\0\0\0\x4d\x02\0\0\x1c\0\0\0\xc0\0\0\0\xfc\x03\0\0\ -\x02\0\0\0\0\x01\0\0\x5c\x02\0\0\x41\0\0\0\x20\x01\0\0\0\0\0\0\x01\0\0\x0d\x02\ -\0\0\0\xee\0\0\0\x59\0\0\0\x08\x04\0\0\x01\0\0\x0c\x5b\0\0\0\0\0\0\0\0\0\0\x02\ -\x5e\0\0\0\x1f\x04\0\0\x04\0\0\x04\x18\0\0\0\x25\x02\0\0\x38\0\0\0\0\0\0\0\xf2\ -\x03\0\0\x1c\0\0\0\x40\0\0\0\xf6\x03\0\0\x1a\0\0\0\x80\0\0\0\x5c\x02\0\0\x41\0\ -\0\0\xa0\0\0\0\0\0\0\0\x01\0\0\x0d\x02\0\0\0\xee\0\0\0\x5d\0\0\0\x3c\x04\0\0\ -\x01\0\0\x0c\x5f\0\0\0\0\0\0\0\0\0\0\x02\x62\0\0\0\x52\x04\0\0\x0c\0\0\x04\x50\ -\0\0\0\x25\x02\0\0\x38\0\0\0\0\0\0\0\x29\x02\0\0\x1c\0\0\0\x40\0\0\0\x76\x04\0\ -\0\x4f\0\0\0\x80\0\0\0\x7f\x04\0\0\x4f\0\0\0\x88\0\0\0\x89\x04\0\0\x3d\0\0\0\ -\xc0\0\0\0\x8e\x04\0\0\x3d\0\0\0\0\x01\0\0\x94\x04\0\0\x44\0\0\0\x40\x01\0\0\ -\x9e\x04\0\0\x02\0\0\0\x80\x01\0\0\x33\x02\0\0\x44\0\0\0\xc0\x01\0\0\x41\x02\0\ -\0\x3d\0\0\0\0\x02\0\0\x4d\x02\0\0\x1c\0\0\0\x40\x02\0\0\x5c\x02\0\0\x41\0\0\0\ -\x80\x02\0\0\0\0\0\0\x01\0\0\x0d\x02\0\0\0\xee\0\0\0\x61\0\0\0\xa2\x04\0\0\x01\ -\0\0\x0c\x63\0\0\0\0\0\0\0\0\0\0\x02\x66\0\0\0\xbf\x04\0\0\x05\0\0\x04\x20\0\0\ -\0\x25\x02\0\0\x38\0\0\0\0\0\0\0\x94\x04\0\0\x44\0\0\0\x40\0\0\0\x9e\x04\0\0\ -\x02\0\0\0\x80\0\0\0\x33\x02\0\0\x44\0\0\0\xc0\0\0\0\x5c\x02\0\0\x41\0\0\0\0\ -\x01\0\0\0\0\0\0\x01\0\0\x0d\x02\0\0\0\xee\0\0\0\x65\0\0\0\xe2\x04\0\0\x01\0\0\ -\x0c\x67\0\0\0\0\0\0\0\0\0\0\x0a\x6a\0\0\0\0\0\0\0\0\0\0\x09\x45\0\0\0\xfe\x04\ -\0\0\0\0\0\x0e\x69\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x0a\x6d\0\0\0\0\0\0\0\0\0\0\ -\x09\x3d\0\0\0\x0a\x05\0\0\0\0\0\x0e\x6c\0\0\0\x01\0\0\0\x14\x05\0\0\0\0\0\x0e\ -\x69\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x40\0\0\0\x04\0\0\0\x0d\0\0\0\ -\x20\x05\0\0\0\0\0\x0e\x70\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x0a\x40\0\0\0\0\0\0\0\ -\0\0\0\x03\0\0\0\0\x72\0\0\0\x04\0\0\0\x28\0\0\0\x28\x05\0\0\0\0\0\x0e\x73\0\0\ -\0\0\0\0\0\x40\x05\0\0\x02\0\0\x05\x08\0\0\0\0\0\0\0\x76\0\0\0\0\0\0\0\x54\x05\ -\0\0\x45\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\x84\x08\0\0\0\x59\x05\0\0\x45\0\0\0\0\0\ -\0\x28\x64\x05\0\0\x45\0\0\0\x28\0\0\x18\x75\x05\0\0\0\0\0\x0e\x75\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\x03\0\0\0\0\x72\0\0\0\x04\0\0\0\x22\0\0\0\x83\x05\0\0\0\0\0\ -\x0e\x78\0\0\0\0\0\0\0\xe5\x14\0\0\x05\0\0\x0f\x62\0\0\0\x6b\0\0\0\0\0\0\0\x08\ -\0\0\0\x6e\0\0\0\x08\0\0\0\x08\0\0\0\x6f\0\0\0\x10\0\0\0\x08\0\0\0\x74\0\0\0\ -\x18\0\0\0\x28\0\0\0\x79\0\0\0\x40\0\0\0\x22\0\0\0\xed\x14\0\0\x01\0\0\x0f\x0d\ -\0\0\0\x71\0\0\0\0\0\0\0\x0d\0\0\0\xf5\x14\0\0\x05\0\0\x0f\xa0\0\0\0\x0c\0\0\0\ -\0\0\0\0\x20\0\0\0\x12\0\0\0\x20\0\0\0\x20\0\0\0\x14\0\0\0\x40\0\0\0\x20\0\0\0\ -\x15\0\0\0\x60\0\0\0\x20\0\0\0\x1e\0\0\0\x80\0\0\0\x20\0\0\0\xfb\x14\0\0\x01\0\ -\0\x0f\x08\0\0\0\x77\0\0\0\0\0\0\0\x08\0\0\0\0\x69\x6e\x74\0\x5f\x5f\x41\x52\ -\x52\x41\x59\x5f\x53\x49\x5a\x45\x5f\x54\x59\x50\x45\x5f\x5f\0\x74\x79\x70\x65\ -\0\x6b\x65\x79\x5f\x73\x69\x7a\x65\0\x76\x61\x6c\x75\x65\x5f\x73\x69\x7a\x65\0\ -\x6d\x61\x78\x5f\x65\x6e\x74\x72\x69\x65\x73\0\x73\x69\x7a\x65\x73\0\x61\x6c\ -\x6c\x6f\x63\x73\0\x63\x6f\x6d\x62\x69\x6e\x65\x64\x5f\x61\x6c\x6c\x6f\x63\x73\ -\0\x6d\x65\x6d\x70\x74\x72\x73\0\x75\x33\x32\0\x75\x6e\x73\x69\x67\x6e\x65\x64\ -\x20\x69\x6e\x74\0\x75\x6e\x73\x69\x67\x6e\x65\x64\x20\x6c\x6f\x6e\x67\0\x6b\ -\x65\x79\0\x76\x61\x6c\x75\x65\0\x73\x74\x61\x63\x6b\x5f\x74\x72\x61\x63\x65\ -\x73\0\x70\x74\x5f\x72\x65\x67\x73\0\x72\x31\x35\0\x72\x31\x34\0\x72\x31\x33\0\ -\x72\x31\x32\0\x62\x70\0\x62\x78\0\x72\x31\x31\0\x72\x31\x30\0\x72\x39\0\x72\ -\x38\0\x61\x78\0\x63\x78\0\x64\x78\0\x73\x69\0\x64\x69\0\x6f\x72\x69\x67\x5f\ -\x61\x78\0\x69\x70\0\x63\x73\0\x66\x6c\x61\x67\x73\0\x73\x70\0\x73\x73\0\x63\ -\x74\x78\0\x6d\x61\x6c\x6c\x6f\x63\x5f\x65\x6e\x74\x65\x72\0\x6d\x61\x6c\x6c\ -\x6f\x63\x5f\x65\x78\x69\x74\0\x66\x72\x65\x65\x5f\x65\x6e\x74\x65\x72\0\x63\ -\x61\x6c\x6c\x6f\x63\x5f\x65\x6e\x74\x65\x72\0\x63\x61\x6c\x6c\x6f\x63\x5f\x65\ -\x78\x69\x74\0\x72\x65\x61\x6c\x6c\x6f\x63\x5f\x65\x6e\x74\x65\x72\0\x72\x65\ -\x61\x6c\x6c\x6f\x63\x5f\x65\x78\x69\x74\0\x6d\x6d\x61\x70\x5f\x65\x6e\x74\x65\ -\x72\0\x6d\x6d\x61\x70\x5f\x65\x78\x69\x74\0\x6d\x75\x6e\x6d\x61\x70\x5f\x65\ -\x6e\x74\x65\x72\0\x70\x6f\x73\x69\x78\x5f\x6d\x65\x6d\x61\x6c\x69\x67\x6e\x5f\ -\x65\x6e\x74\x65\x72\0\x70\x6f\x73\x69\x78\x5f\x6d\x65\x6d\x61\x6c\x69\x67\x6e\ -\x5f\x65\x78\x69\x74\0\x61\x6c\x69\x67\x6e\x65\x64\x5f\x61\x6c\x6c\x6f\x63\x5f\ -\x65\x6e\x74\x65\x72\0\x61\x6c\x69\x67\x6e\x65\x64\x5f\x61\x6c\x6c\x6f\x63\x5f\ -\x65\x78\x69\x74\0\x76\x61\x6c\x6c\x6f\x63\x5f\x65\x6e\x74\x65\x72\0\x76\x61\ -\x6c\x6c\x6f\x63\x5f\x65\x78\x69\x74\0\x6d\x65\x6d\x61\x6c\x69\x67\x6e\x5f\x65\ -\x6e\x74\x65\x72\0\x6d\x65\x6d\x61\x6c\x69\x67\x6e\x5f\x65\x78\x69\x74\0\x70\ -\x76\x61\x6c\x6c\x6f\x63\x5f\x65\x6e\x74\x65\x72\0\x70\x76\x61\x6c\x6c\x6f\x63\ -\x5f\x65\x78\x69\x74\0\x74\x72\x61\x63\x65\x5f\x65\x76\x65\x6e\x74\x5f\x72\x61\ -\x77\x5f\x6b\x6d\x61\x6c\x6c\x6f\x63\0\x65\x6e\x74\0\x63\x61\x6c\x6c\x5f\x73\ -\x69\x74\x65\0\x70\x74\x72\0\x62\x79\x74\x65\x73\x5f\x72\x65\x71\0\x62\x79\x74\ -\x65\x73\x5f\x61\x6c\x6c\x6f\x63\0\x67\x66\x70\x5f\x66\x6c\x61\x67\x73\0\x6e\ -\x6f\x64\x65\0\x5f\x5f\x64\x61\x74\x61\0\x74\x72\x61\x63\x65\x5f\x65\x6e\x74\ -\x72\x79\0\x70\x72\x65\x65\x6d\x70\x74\x5f\x63\x6f\x75\x6e\x74\0\x70\x69\x64\0\ -\x75\x6e\x73\x69\x67\x6e\x65\x64\x20\x73\x68\x6f\x72\x74\0\x75\x6e\x73\x69\x67\ -\x6e\x65\x64\x20\x63\x68\x61\x72\0\x73\x69\x7a\x65\x5f\x74\0\x5f\x5f\x6b\x65\ -\x72\x6e\x65\x6c\x5f\x73\x69\x7a\x65\x5f\x74\0\x5f\x5f\x6b\x65\x72\x6e\x65\x6c\ -\x5f\x75\x6c\x6f\x6e\x67\x5f\x74\0\x63\x68\x61\x72\0\x6d\x65\x6d\x6c\x65\x61\ -\x6b\x5f\x5f\x6b\x6d\x61\x6c\x6c\x6f\x63\0\x75\x36\x34\0\x75\x6e\x73\x69\x67\ -\x6e\x65\x64\x20\x6c\x6f\x6e\x67\x20\x6c\x6f\x6e\x67\0\x61\x64\x64\x72\x65\x73\ -\x73\0\x67\x65\x6e\x5f\x61\x6c\x6c\x6f\x63\x5f\x65\x78\x69\x74\x32\0\x74\x72\ -\x61\x63\x65\x5f\x65\x76\x65\x6e\x74\x5f\x72\x61\x77\x5f\x6b\x66\x72\x65\x65\0\ -\x6d\x65\x6d\x6c\x65\x61\x6b\x5f\x5f\x6b\x66\x72\x65\x65\0\x74\x72\x61\x63\x65\ -\x5f\x65\x76\x65\x6e\x74\x5f\x72\x61\x77\x5f\x6b\x6d\x65\x6d\x5f\x63\x61\x63\ -\x68\x65\x5f\x61\x6c\x6c\x6f\x63\0\x61\x63\x63\x6f\x75\x6e\x74\x65\x64\0\x62\ -\x6f\x6f\x6c\0\x5f\x42\x6f\x6f\x6c\0\x6d\x65\x6d\x6c\x65\x61\x6b\x5f\x5f\x6b\ -\x6d\x65\x6d\x5f\x63\x61\x63\x68\x65\x5f\x61\x6c\x6c\x6f\x63\x5f\x6e\x6f\x64\ -\x65\0\x74\x72\x61\x63\x65\x5f\x65\x76\x65\x6e\x74\x5f\x72\x61\x77\x5f\x6b\x6d\ -\x65\x6d\x5f\x63\x61\x63\x68\x65\x5f\x66\x72\x65\x65\0\x5f\x5f\x64\x61\x74\x61\ -\x5f\x6c\x6f\x63\x5f\x6e\x61\x6d\x65\0\x5f\x5f\x75\x33\x32\0\x6d\x65\x6d\x6c\ -\x65\x61\x6b\x5f\x5f\x6b\x6d\x65\x6d\x5f\x63\x61\x63\x68\x65\x5f\x66\x72\x65\ -\x65\0\x74\x72\x61\x63\x65\x5f\x65\x76\x65\x6e\x74\x5f\x72\x61\x77\x5f\x6d\x6d\ -\x5f\x70\x61\x67\x65\x5f\x61\x6c\x6c\x6f\x63\0\x70\x66\x6e\0\x6f\x72\x64\x65\ -\x72\0\x6d\x69\x67\x72\x61\x74\x65\x74\x79\x70\x65\0\x6d\x65\x6d\x6c\x65\x61\ -\x6b\x5f\x5f\x6d\x6d\x5f\x70\x61\x67\x65\x5f\x61\x6c\x6c\x6f\x63\0\x74\x72\x61\ -\x63\x65\x5f\x65\x76\x65\x6e\x74\x5f\x72\x61\x77\x5f\x6d\x6d\x5f\x70\x61\x67\ -\x65\x5f\x66\x72\x65\x65\0\x6d\x65\x6d\x6c\x65\x61\x6b\x5f\x5f\x6d\x6d\x5f\x70\ -\x61\x67\x65\x5f\x66\x72\x65\x65\0\x74\x72\x61\x63\x65\x5f\x65\x76\x65\x6e\x74\ -\x5f\x72\x61\x77\x5f\x70\x65\x72\x63\x70\x75\x5f\x61\x6c\x6c\x6f\x63\x5f\x70\ -\x65\x72\x63\x70\x75\0\x72\x65\x73\x65\x72\x76\x65\x64\0\x69\x73\x5f\x61\x74\ -\x6f\x6d\x69\x63\0\x73\x69\x7a\x65\0\x61\x6c\x69\x67\x6e\0\x62\x61\x73\x65\x5f\ -\x61\x64\x64\x72\0\x6f\x66\x66\0\x6d\x65\x6d\x6c\x65\x61\x6b\x5f\x5f\x70\x65\ -\x72\x63\x70\x75\x5f\x61\x6c\x6c\x6f\x63\x5f\x70\x65\x72\x63\x70\x75\0\x74\x72\ -\x61\x63\x65\x5f\x65\x76\x65\x6e\x74\x5f\x72\x61\x77\x5f\x70\x65\x72\x63\x70\ -\x75\x5f\x66\x72\x65\x65\x5f\x70\x65\x72\x63\x70\x75\0\x6d\x65\x6d\x6c\x65\x61\ -\x6b\x5f\x5f\x70\x65\x72\x63\x70\x75\x5f\x66\x72\x65\x65\x5f\x70\x65\x72\x63\ -\x70\x75\0\x73\x61\x6d\x70\x6c\x65\x5f\x72\x61\x74\x65\0\x70\x61\x67\x65\x5f\ -\x73\x69\x7a\x65\0\x73\x74\x61\x63\x6b\x5f\x66\x6c\x61\x67\x73\0\x4c\x49\x43\ -\x45\x4e\x53\x45\0\x67\x65\x6e\x5f\x61\x6c\x6c\x6f\x63\x5f\x65\x78\x69\x74\x32\ -\x2e\x5f\x5f\x5f\x5f\x66\x6d\x74\0\x63\x6f\x6d\x62\x69\x6e\x65\x64\x5f\x61\x6c\ -\x6c\x6f\x63\x5f\x69\x6e\x66\x6f\0\x62\x69\x74\x73\0\x74\x6f\x74\x61\x6c\x5f\ -\x73\x69\x7a\x65\0\x6e\x75\x6d\x62\x65\x72\x5f\x6f\x66\x5f\x61\x6c\x6c\x6f\x63\ -\x73\0\x69\x6e\x69\x74\x69\x61\x6c\x5f\x63\x69\x6e\x66\x6f\0\x75\x70\x64\x61\ -\x74\x65\x5f\x73\x74\x61\x74\x69\x73\x74\x69\x63\x73\x5f\x64\x65\x6c\x2e\x5f\ -\x5f\x5f\x5f\x66\x6d\x74\0\x2f\x68\x6f\x6d\x65\x2f\x6e\x65\x30\x2f\x73\x79\x73\ -\x5f\x63\x6f\x6d\x70\x65\x74\x69\x74\x69\x6f\x6e\x2f\x73\x74\x61\x72\x74\x2f\ -\x63\x70\x75\x5f\x77\x61\x74\x63\x68\x65\x72\x2f\x62\x70\x66\x2f\x6d\x6d\x5f\ -\x6c\x65\x61\x6b\x2e\x62\x70\x66\x2e\x63\0\x69\x6e\x74\x20\x42\x50\x46\x5f\x4b\ -\x50\x52\x4f\x42\x45\x28\x6d\x61\x6c\x6c\x6f\x63\x5f\x65\x6e\x74\x65\x72\x2c\ -\x20\x75\x36\x34\x20\x73\x69\x7a\x65\x29\0\x20\x20\x20\x20\x69\x66\x20\x28\x73\ -\x61\x6d\x70\x6c\x65\x5f\x72\x61\x74\x65\x20\x3e\x20\x31\x29\x20\x7b\0\x09\x09\ -\x69\x66\x20\x28\x62\x70\x66\x5f\x6b\x74\x69\x6d\x65\x5f\x67\x65\x74\x5f\x6e\ -\x73\x28\x29\x20\x25\x20\x73\x61\x6d\x70\x6c\x65\x5f\x72\x61\x74\x65\x20\x21\ -\x3d\x20\x30\x29\0\x20\x20\x20\x20\x75\x33\x32\x20\x70\x69\x64\x20\x3d\x20\x62\ -\x70\x66\x5f\x67\x65\x74\x5f\x63\x75\x72\x72\x65\x6e\x74\x5f\x70\x69\x64\x5f\ -\x74\x67\x69\x64\x28\x29\x20\x3e\x3e\x20\x33\x32\x3b\0\x20\x20\x20\x20\x62\x70\ -\x66\x5f\x6d\x61\x70\x5f\x75\x70\x64\x61\x74\x65\x5f\x65\x6c\x65\x6d\x28\x26\ -\x73\x69\x7a\x65\x73\x2c\x26\x70\x69\x64\x2c\x26\x73\x69\x7a\x65\x2c\x42\x50\ -\x46\x5f\x41\x4e\x59\x29\x3b\0\x69\x6e\x74\x20\x42\x50\x46\x5f\x4b\x50\x52\x4f\ -\x42\x45\x28\x66\x72\x65\x65\x5f\x65\x6e\x74\x65\x72\x2c\x20\x76\x6f\x69\x64\ -\x20\x2a\x61\x64\x64\x72\x65\x73\x73\x29\0\x09\x63\x6f\x6e\x73\x74\x20\x75\x36\ -\x34\x20\x61\x64\x64\x72\x20\x3d\x20\x28\x75\x36\x34\x29\x61\x64\x64\x72\x65\ -\x73\x73\x3b\0\x09\x63\x6f\x6e\x73\x74\x20\x73\x74\x72\x75\x63\x74\x20\x61\x6c\ -\x6c\x6f\x63\x5f\x69\x6e\x66\x6f\x20\x2a\x69\x6e\x66\x6f\x20\x3d\x20\x62\x70\ -\x66\x5f\x6d\x61\x70\x5f\x6c\x6f\x6f\x6b\x75\x70\x5f\x65\x6c\x65\x6d\x28\x26\ -\x61\x6c\x6c\x6f\x63\x73\x2c\x20\x26\x61\x64\x64\x72\x29\x3b\0\x09\x69\x66\x20\ -\x28\x21\x69\x6e\x66\x6f\x29\0\x09\x62\x70\x66\x5f\x6d\x61\x70\x5f\x64\x65\x6c\ -\x65\x74\x65\x5f\x65\x6c\x65\x6d\x28\x26\x61\x6c\x6c\x6f\x63\x73\x2c\x20\x26\ -\x61\x64\x64\x72\x29\x3b\0\x09\x75\x70\x64\x61\x74\x65\x5f\x73\x74\x61\x74\x69\ -\x73\x74\x69\x63\x73\x5f\x64\x65\x6c\x28\x69\x6e\x66\x6f\x2d\x3e\x73\x74\x61\ -\x63\x6b\x5f\x69\x64\x2c\x20\x69\x6e\x66\x6f\x2d\x3e\x73\x69\x7a\x65\x29\x3b\0\ -\x20\x20\x20\x20\x65\x78\x69\x73\x74\x69\x6e\x67\x5f\x63\x69\x6e\x66\x6f\x20\ -\x3d\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x6c\x6f\x6f\x6b\x75\x70\x5f\x65\x6c\ -\x65\x6d\x28\x26\x63\x6f\x6d\x62\x69\x6e\x65\x64\x5f\x61\x6c\x6c\x6f\x63\x73\ -\x2c\x20\x26\x73\x74\x61\x63\x6b\x5f\x69\x64\x29\x3b\0\x20\x20\x20\x20\x69\x66\ -\x20\x28\x21\x65\x78\x69\x73\x74\x69\x6e\x67\x5f\x63\x69\x6e\x66\x6f\x29\x20\ -\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x70\x72\x69\x6e\x74\x6b\ -\x28\x22\x66\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x6c\x6f\x6f\x6b\x75\x70\x20\ -\x63\x6f\x6d\x62\x69\x6e\x65\x64\x20\x61\x6c\x6c\x6f\x63\x73\x5c\x6e\x22\x29\ -\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x2e\x74\x6f\x74\x61\x6c\x5f\x73\x69\x7a\ -\x65\x20\x3d\x20\x73\x7a\x2c\x20\x20\x20\x20\x20\x20\x20\x20\x2f\x2f\x20\xe5\ -\x87\x8f\xe5\xb0\x91\xe5\x86\x85\xe5\xad\x98\xe5\xa4\xa7\xe5\xb0\x8f\0\x20\x20\ -\x20\x20\x5f\x5f\x73\x79\x6e\x63\x5f\x66\x65\x74\x63\x68\x5f\x61\x6e\x64\x5f\ -\x73\x75\x62\x28\x26\x65\x78\x69\x73\x74\x69\x6e\x67\x5f\x63\x69\x6e\x66\x6f\ -\x2d\x3e\x62\x69\x74\x73\x2c\x20\x64\x65\x63\x72\x65\x6d\x65\x6e\x74\x61\x6c\ -\x5f\x63\x69\x6e\x66\x6f\x2e\x62\x69\x74\x73\x29\x3b\0\x69\x6e\x74\x20\x42\x50\ -\x46\x5f\x4b\x50\x52\x4f\x42\x45\x28\x63\x61\x6c\x6c\x6f\x63\x5f\x65\x6e\x74\ -\x65\x72\x2c\x20\x75\x36\x34\x20\x6e\x6d\x65\x6d\x62\x2c\x20\x75\x36\x34\x20\ -\x73\x69\x7a\x65\x29\0\x09\x72\x65\x74\x75\x72\x6e\x20\x67\x65\x6e\x5f\x61\x6c\ -\x6c\x6f\x63\x5f\x65\x6e\x74\x65\x72\x28\x6e\x6d\x65\x6d\x62\x20\x2a\x20\x73\ -\x69\x7a\x65\x29\x3b\0\x69\x6e\x74\x20\x42\x50\x46\x5f\x4b\x50\x52\x4f\x42\x45\ -\x28\x72\x65\x61\x6c\x6c\x6f\x63\x5f\x65\x6e\x74\x65\x72\x2c\x20\x76\x6f\x69\ -\x64\x20\x2a\x70\x74\x72\x2c\x20\x75\x36\x34\x20\x73\x69\x7a\x65\x29\0\x69\x6e\ -\x74\x20\x42\x50\x46\x5f\x4b\x50\x52\x4f\x42\x45\x28\x6d\x6d\x61\x70\x5f\x65\ -\x6e\x74\x65\x72\x2c\x20\x76\x6f\x69\x64\x20\x2a\x61\x64\x64\x72\x65\x73\x73\ -\x2c\x20\x75\x36\x34\x20\x73\x69\x7a\x65\x29\0\x69\x6e\x74\x20\x42\x50\x46\x5f\ -\x4b\x50\x52\x4f\x42\x45\x28\x6d\x75\x6e\x6d\x61\x70\x5f\x65\x6e\x74\x65\x72\ -\x2c\x20\x76\x6f\x69\x64\x20\x2a\x61\x64\x64\x72\x65\x73\x73\x29\0\x69\x6e\x74\ -\x20\x42\x50\x46\x5f\x4b\x50\x52\x4f\x42\x45\x28\x70\x6f\x73\x69\x78\x5f\x6d\ -\x65\x6d\x61\x6c\x69\x67\x6e\x5f\x65\x6e\x74\x65\x72\x2c\x20\x76\x6f\x69\x64\ -\x20\x2a\x2a\x6d\x65\x6d\x70\x74\x72\x2c\x20\x73\x69\x7a\x65\x5f\x74\x20\x61\ -\x6c\x69\x67\x6e\x6d\x65\x6e\x74\x2c\x20\x73\x69\x7a\x65\x5f\x74\x20\x73\x69\ -\x7a\x65\x29\0\x09\x63\x6f\x6e\x73\x74\x20\x75\x36\x34\x20\x6d\x65\x6d\x70\x74\ -\x72\x36\x34\x20\x3d\x20\x28\x75\x36\x34\x29\x28\x73\x69\x7a\x65\x5f\x74\x29\ -\x6d\x65\x6d\x70\x74\x72\x3b\0\x09\x63\x6f\x6e\x73\x74\x20\x75\x36\x34\x20\x70\ -\x69\x64\x20\x3d\x20\x62\x70\x66\x5f\x67\x65\x74\x5f\x63\x75\x72\x72\x65\x6e\ -\x74\x5f\x70\x69\x64\x5f\x74\x67\x69\x64\x28\x29\x20\x3e\x3e\x20\x33\x32\x3b\0\ -\x09\x62\x70\x66\x5f\x6d\x61\x70\x5f\x75\x70\x64\x61\x74\x65\x5f\x65\x6c\x65\ -\x6d\x28\x26\x6d\x65\x6d\x70\x74\x72\x73\x2c\x20\x26\x70\x69\x64\x2c\x20\x26\ -\x6d\x65\x6d\x70\x74\x72\x36\x34\x2c\x20\x42\x50\x46\x5f\x41\x4e\x59\x29\x3b\0\ -\x69\x6e\x74\x20\x42\x50\x46\x5f\x4b\x50\x52\x4f\x42\x45\x28\x61\x6c\x69\x67\ -\x6e\x65\x64\x5f\x61\x6c\x6c\x6f\x63\x5f\x65\x6e\x74\x65\x72\x2c\x20\x73\x69\ -\x7a\x65\x5f\x74\x20\x61\x6c\x69\x67\x6e\x6d\x65\x6e\x74\x2c\x20\x73\x69\x7a\ -\x65\x5f\x74\x20\x73\x69\x7a\x65\x29\0\x69\x6e\x74\x20\x42\x50\x46\x5f\x4b\x50\ -\x52\x4f\x42\x45\x28\x76\x61\x6c\x6c\x6f\x63\x5f\x65\x6e\x74\x65\x72\x2c\x20\ -\x73\x69\x7a\x65\x5f\x74\x20\x73\x69\x7a\x65\x29\0\x69\x6e\x74\x20\x42\x50\x46\ -\x5f\x4b\x50\x52\x4f\x42\x45\x28\x6d\x65\x6d\x61\x6c\x69\x67\x6e\x5f\x65\x6e\ -\x74\x65\x72\x2c\x20\x73\x69\x7a\x65\x5f\x74\x20\x61\x6c\x69\x67\x6e\x6d\x65\ -\x6e\x74\x2c\x20\x73\x69\x7a\x65\x5f\x74\x20\x73\x69\x7a\x65\x29\0\x69\x6e\x74\ -\x20\x42\x50\x46\x5f\x4b\x50\x52\x4f\x42\x45\x28\x70\x76\x61\x6c\x6c\x6f\x63\ -\x5f\x65\x6e\x74\x65\x72\x2c\x20\x73\x69\x7a\x65\x5f\x74\x20\x73\x69\x7a\x65\ -\x29\0\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x67\x65\x6e\x5f\x61\x6c\x6c\ -\x6f\x63\x5f\x65\x78\x69\x74\x32\x28\x63\x74\x78\x2c\x20\x50\x54\x5f\x52\x45\ -\x47\x53\x5f\x52\x43\x28\x63\x74\x78\x29\x29\x3b\0\x69\x6e\x74\x20\x42\x50\x46\ -\x5f\x4b\x52\x45\x54\x50\x52\x4f\x42\x45\x28\x6d\x61\x6c\x6c\x6f\x63\x5f\x65\ -\x78\x69\x74\x29\0\x69\x6e\x74\x20\x42\x50\x46\x5f\x4b\x52\x45\x54\x50\x52\x4f\ -\x42\x45\x28\x63\x61\x6c\x6c\x6f\x63\x5f\x65\x78\x69\x74\x29\0\x69\x6e\x74\x20\ -\x42\x50\x46\x5f\x4b\x52\x45\x54\x50\x52\x4f\x42\x45\x28\x72\x65\x61\x6c\x6c\ -\x6f\x63\x5f\x65\x78\x69\x74\x29\0\x69\x6e\x74\x20\x42\x50\x46\x5f\x4b\x52\x45\ -\x54\x50\x52\x4f\x42\x45\x28\x6d\x6d\x61\x70\x5f\x65\x78\x69\x74\x29\0\x69\x6e\ -\x74\x20\x42\x50\x46\x5f\x4b\x52\x45\x54\x50\x52\x4f\x42\x45\x28\x70\x6f\x73\ -\x69\x78\x5f\x6d\x65\x6d\x61\x6c\x69\x67\x6e\x5f\x65\x78\x69\x74\x29\0\x09\x6d\ -\x65\x6d\x70\x74\x72\x36\x34\x20\x3d\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x6c\ -\x6f\x6f\x6b\x75\x70\x5f\x65\x6c\x65\x6d\x28\x26\x6d\x65\x6d\x70\x74\x72\x73\ -\x2c\x20\x26\x70\x69\x64\x29\x3b\0\x09\x69\x66\x20\x28\x21\x6d\x65\x6d\x70\x74\ -\x72\x36\x34\x29\0\x09\x62\x70\x66\x5f\x6d\x61\x70\x5f\x64\x65\x6c\x65\x74\x65\ -\x5f\x65\x6c\x65\x6d\x28\x26\x6d\x65\x6d\x70\x74\x72\x73\x2c\x20\x26\x70\x69\ -\x64\x29\x3b\0\x09\x69\x66\x20\x28\x62\x70\x66\x5f\x70\x72\x6f\x62\x65\x5f\x72\ -\x65\x61\x64\x5f\x75\x73\x65\x72\x28\x26\x61\x64\x64\x72\x2c\x20\x73\x69\x7a\ -\x65\x6f\x66\x28\x76\x6f\x69\x64\x2a\x29\x2c\x20\x28\x76\x6f\x69\x64\x2a\x29\ -\x28\x73\x69\x7a\x65\x5f\x74\x29\x2a\x6d\x65\x6d\x70\x74\x72\x36\x34\x29\x29\0\ -\x09\x63\x6f\x6e\x73\x74\x20\x75\x36\x34\x20\x61\x64\x64\x72\x36\x34\x20\x3d\ -\x20\x28\x75\x36\x34\x29\x28\x73\x69\x7a\x65\x5f\x74\x29\x61\x64\x64\x72\x3b\0\ -\x09\x72\x65\x74\x75\x72\x6e\x20\x67\x65\x6e\x5f\x61\x6c\x6c\x6f\x63\x5f\x65\ -\x78\x69\x74\x32\x28\x63\x74\x78\x2c\x20\x61\x64\x64\x72\x36\x34\x29\x3b\0\x69\ -\x6e\x74\x20\x42\x50\x46\x5f\x4b\x52\x45\x54\x50\x52\x4f\x42\x45\x28\x61\x6c\ -\x69\x67\x6e\x65\x64\x5f\x61\x6c\x6c\x6f\x63\x5f\x65\x78\x69\x74\x29\0\x69\x6e\ -\x74\x20\x42\x50\x46\x5f\x4b\x52\x45\x54\x50\x52\x4f\x42\x45\x28\x76\x61\x6c\ -\x6c\x6f\x63\x5f\x65\x78\x69\x74\x29\0\x69\x6e\x74\x20\x42\x50\x46\x5f\x4b\x52\ -\x45\x54\x50\x52\x4f\x42\x45\x28\x6d\x65\x6d\x61\x6c\x69\x67\x6e\x5f\x65\x78\ -\x69\x74\x29\0\x69\x6e\x74\x20\x42\x50\x46\x5f\x4b\x52\x45\x54\x50\x52\x4f\x42\ -\x45\x28\x70\x76\x61\x6c\x6c\x6f\x63\x5f\x65\x78\x69\x74\x29\0\x69\x6e\x74\x20\ -\x6d\x65\x6d\x6c\x65\x61\x6b\x5f\x5f\x6b\x6d\x61\x6c\x6c\x6f\x63\x28\x73\x74\ -\x72\x75\x63\x74\x20\x74\x72\x61\x63\x65\x5f\x65\x76\x65\x6e\x74\x5f\x72\x61\ -\x77\x5f\x6b\x6d\x61\x6c\x6c\x6f\x63\x20\x2a\x63\x74\x78\x29\x7b\0\x20\x20\x20\ -\x20\x63\x6f\x6e\x73\x74\x20\x76\x6f\x69\x64\x20\x2a\x70\x74\x72\x20\x3d\x20\ -\x42\x50\x46\x5f\x43\x4f\x52\x45\x5f\x52\x45\x41\x44\x28\x63\x74\x78\x2c\x20\ -\x70\x74\x72\x29\x3b\0\x20\x20\x20\x20\x75\x36\x34\x20\x62\x79\x74\x65\x73\x5f\ -\x61\x6c\x6c\x6f\x63\x20\x3d\x20\x42\x50\x46\x5f\x43\x4f\x52\x45\x5f\x52\x45\ -\x41\x44\x28\x63\x74\x78\x2c\x20\x62\x79\x74\x65\x73\x5f\x61\x6c\x6c\x6f\x63\ -\x29\x3b\0\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x67\x65\x6e\x5f\x61\x6c\ -\x6c\x6f\x63\x5f\x65\x78\x69\x74\x32\x28\x63\x74\x78\x2c\x20\x28\x75\x36\x34\ -\x29\x70\x74\x72\x29\x3b\0\x73\x74\x61\x74\x69\x63\x20\x69\x6e\x74\x20\x67\x65\ -\x6e\x5f\x61\x6c\x6c\x6f\x63\x5f\x65\x78\x69\x74\x32\x28\x76\x6f\x69\x64\x20\ -\x2a\x63\x74\x78\x2c\x20\x75\x36\x34\x20\x61\x64\x64\x72\x65\x73\x73\x29\0\x09\ -\x75\x33\x32\x20\x70\x69\x64\x20\x3d\x20\x62\x70\x66\x5f\x67\x65\x74\x5f\x63\ -\x75\x72\x72\x65\x6e\x74\x5f\x70\x69\x64\x5f\x74\x67\x69\x64\x28\x29\x20\x3e\ -\x3e\x20\x33\x32\x3b\0\x09\x75\x36\x34\x2a\x20\x73\x69\x7a\x65\x20\x3d\x20\x62\ -\x70\x66\x5f\x6d\x61\x70\x5f\x6c\x6f\x6f\x6b\x75\x70\x5f\x65\x6c\x65\x6d\x28\ -\x26\x73\x69\x7a\x65\x73\x2c\x20\x26\x70\x69\x64\x29\x3b\0\x09\x69\x66\x20\x28\ -\x21\x73\x69\x7a\x65\x29\0\x09\x5f\x5f\x62\x75\x69\x6c\x74\x69\x6e\x5f\x6d\x65\ -\x6d\x73\x65\x74\x28\x26\x69\x6e\x66\x6f\x2c\x20\x30\x2c\x20\x73\x69\x7a\x65\ -\x6f\x66\x28\x69\x6e\x66\x6f\x29\x29\x3b\0\x09\x69\x6e\x66\x6f\x2e\x73\x69\x7a\ -\x65\x20\x3d\x20\x2a\x73\x69\x7a\x65\x3b\0\x09\x62\x70\x66\x5f\x6d\x61\x70\x5f\ -\x64\x65\x6c\x65\x74\x65\x5f\x65\x6c\x65\x6d\x28\x26\x73\x69\x7a\x65\x73\x2c\ -\x20\x26\x70\x69\x64\x29\x3b\0\x09\x69\x66\x20\x28\x61\x64\x64\x72\x65\x73\x73\ -\x20\x21\x3d\x20\x30\x29\x20\x7b\0\x09\x09\x69\x6e\x66\x6f\x2e\x74\x69\x6d\x65\ -\x73\x74\x61\x6d\x70\x5f\x6e\x73\x20\x3d\x20\x62\x70\x66\x5f\x6b\x74\x69\x6d\ -\x65\x5f\x67\x65\x74\x5f\x6e\x73\x28\x29\x3b\0\x09\x09\x69\x6e\x66\x6f\x2e\x73\ -\x74\x61\x63\x6b\x5f\x69\x64\x20\x3d\x20\x62\x70\x66\x5f\x67\x65\x74\x5f\x73\ -\x74\x61\x63\x6b\x69\x64\x28\x63\x74\x78\x2c\x20\x26\x73\x74\x61\x63\x6b\x5f\ -\x74\x72\x61\x63\x65\x73\x2c\x20\x30\x20\x7c\x20\x42\x50\x46\x5f\x46\x5f\x46\ -\x41\x53\x54\x5f\x53\x54\x41\x43\x4b\x5f\x43\x4d\x50\x29\x3b\0\x09\x09\x69\x6e\ -\x74\x20\x72\x65\x73\x20\x3d\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x75\x70\x64\ -\x61\x74\x65\x5f\x65\x6c\x65\x6d\x28\x26\x61\x6c\x6c\x6f\x63\x73\x2c\x20\x26\ -\x61\x64\x64\x72\x65\x73\x73\x2c\x20\x26\x69\x6e\x66\x6f\x2c\x20\x42\x50\x46\ -\x5f\x41\x4e\x59\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x28\x72\x65\ -\x73\x20\x21\x3d\x20\x30\x29\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ -\x62\x70\x66\x5f\x70\x72\x69\x6e\x74\x6b\x28\x22\x61\x6c\x6c\x6f\x63\x73\x20\ -\x75\x70\x64\x61\x74\x65\x20\x66\x61\x69\x6c\x65\x64\x2c\x20\x65\x72\x72\x6f\ -\x72\x20\x63\x6f\x64\x65\x20\x69\x73\x20\x25\x69\x5c\x6e\x22\x2c\x72\x65\x73\ -\x29\x3b\0\x09\x09\x75\x70\x64\x61\x74\x65\x5f\x73\x74\x61\x74\x69\x73\x74\x69\ -\x63\x73\x5f\x61\x64\x64\x28\x69\x6e\x66\x6f\x2e\x73\x74\x61\x63\x6b\x5f\x69\ -\x64\x2c\x20\x69\x6e\x66\x6f\x2e\x73\x69\x7a\x65\x29\x3b\0\x09\x76\x61\x6c\x20\ -\x3d\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x6c\x6f\x6f\x6b\x75\x70\x5f\x65\x6c\ -\x65\x6d\x28\x6d\x61\x70\x2c\x20\x6b\x65\x79\x29\x3b\0\x09\x69\x66\x20\x28\x76\ -\x61\x6c\x29\0\x09\x65\x72\x72\x20\x3d\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x75\ -\x70\x64\x61\x74\x65\x5f\x65\x6c\x65\x6d\x28\x6d\x61\x70\x2c\x20\x6b\x65\x79\ -\x2c\x20\x69\x6e\x69\x74\x2c\x20\x42\x50\x46\x5f\x4e\x4f\x45\x58\x49\x53\x54\ -\x29\x3b\0\x09\x69\x66\x20\x28\x65\x72\x72\x20\x26\x26\x20\x65\x72\x72\x20\x3c\ -\x20\x30\x29\0\x09\x72\x65\x74\x75\x72\x6e\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\ -\x6c\x6f\x6f\x6b\x75\x70\x5f\x65\x6c\x65\x6d\x28\x6d\x61\x70\x2c\x20\x6b\x65\ -\x79\x29\x3b\0\x20\x20\x20\x20\x69\x66\x20\x28\x21\x65\x78\x69\x73\x74\x69\x6e\ -\x67\x5f\x63\x69\x6e\x66\x6f\x29\0\x20\x20\x20\x20\x20\x20\x20\x20\x2e\x74\x6f\ -\x74\x61\x6c\x5f\x73\x69\x7a\x65\x20\x3d\x20\x73\x7a\x2c\x20\x20\x20\x20\x20\ -\x20\x20\x2f\x2f\x20\xe5\xa2\x9e\xe9\x87\x8f\xe5\x86\x85\xe5\xad\x98\xe5\xa4\ -\xa7\xe5\xb0\x8f\0\x20\x20\x20\x20\x5f\x5f\x73\x79\x6e\x63\x5f\x66\x65\x74\x63\ -\x68\x5f\x61\x6e\x64\x5f\x61\x64\x64\x28\x26\x65\x78\x69\x73\x74\x69\x6e\x67\ -\x5f\x63\x69\x6e\x66\x6f\x2d\x3e\x62\x69\x74\x73\x2c\x20\x69\x6e\x63\x72\x65\ -\x6d\x65\x6e\x74\x61\x6c\x5f\x63\x69\x6e\x66\x6f\x2e\x62\x69\x74\x73\x29\x3b\0\ -\x7d\0\x69\x6e\x74\x20\x6d\x65\x6d\x6c\x65\x61\x6b\x5f\x5f\x6b\x66\x72\x65\x65\ -\x28\x73\x74\x72\x75\x63\x74\x20\x74\x72\x61\x63\x65\x5f\x65\x76\x65\x6e\x74\ -\x5f\x72\x61\x77\x5f\x6b\x66\x72\x65\x65\x20\x2a\x63\x74\x78\x29\x7b\0\x20\x20\ -\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x67\x65\x6e\x5f\x66\x72\x65\x65\x5f\x65\ -\x6e\x74\x65\x72\x28\x70\x74\x72\x29\x3b\0\x69\x6e\x74\x20\x6d\x65\x6d\x6c\x65\ -\x61\x6b\x5f\x5f\x6b\x6d\x65\x6d\x5f\x63\x61\x63\x68\x65\x5f\x61\x6c\x6c\x6f\ -\x63\x5f\x6e\x6f\x64\x65\x28\x73\x74\x72\x75\x63\x74\x20\x74\x72\x61\x63\x65\ -\x5f\x65\x76\x65\x6e\x74\x5f\x72\x61\x77\x5f\x6b\x6d\x65\x6d\x5f\x63\x61\x63\ -\x68\x65\x5f\x61\x6c\x6c\x6f\x63\x20\x2a\x63\x74\x78\x29\x7b\0\x69\x6e\x74\x20\ -\x6d\x65\x6d\x6c\x65\x61\x6b\x5f\x5f\x6b\x6d\x65\x6d\x5f\x63\x61\x63\x68\x65\ -\x5f\x66\x72\x65\x65\x28\x73\x74\x72\x75\x63\x74\x20\x74\x72\x61\x63\x65\x5f\ -\x65\x76\x65\x6e\x74\x5f\x72\x61\x77\x5f\x6b\x6d\x65\x6d\x5f\x63\x61\x63\x68\ -\x65\x5f\x66\x72\x65\x65\x20\x2a\x63\x74\x78\x29\x7b\0\x69\x6e\x74\x20\x6d\x65\ -\x6d\x6c\x65\x61\x6b\x5f\x5f\x6d\x6d\x5f\x70\x61\x67\x65\x5f\x61\x6c\x6c\x6f\ -\x63\x28\x73\x74\x72\x75\x63\x74\x20\x74\x72\x61\x63\x65\x5f\x65\x76\x65\x6e\ -\x74\x5f\x72\x61\x77\x5f\x6d\x6d\x5f\x70\x61\x67\x65\x5f\x61\x6c\x6c\x6f\x63\ -\x20\x2a\x63\x74\x78\x29\x7b\0\x20\x20\x20\x20\x67\x65\x6e\x5f\x61\x6c\x6c\x6f\ -\x63\x5f\x65\x6e\x74\x65\x72\x28\x70\x61\x67\x65\x5f\x73\x69\x7a\x65\x20\x3c\ -\x3c\x20\x63\x74\x78\x2d\x3e\x6f\x72\x64\x65\x72\x29\x3b\0\x09\x72\x65\x74\x75\ -\x72\x6e\x20\x67\x65\x6e\x5f\x61\x6c\x6c\x6f\x63\x5f\x65\x78\x69\x74\x32\x28\ -\x63\x74\x78\x2c\x20\x63\x74\x78\x2d\x3e\x70\x66\x6e\x29\x3b\0\x09\x72\x65\x74\ -\x75\x72\x6e\x20\x67\x65\x6e\x5f\x66\x72\x65\x65\x5f\x65\x6e\x74\x65\x72\x28\ -\x28\x76\x6f\x69\x64\x20\x2a\x29\x63\x74\x78\x2d\x3e\x70\x66\x6e\x29\x3b\0\x69\ -\x6e\x74\x20\x6d\x65\x6d\x6c\x65\x61\x6b\x5f\x5f\x70\x65\x72\x63\x70\x75\x5f\ -\x61\x6c\x6c\x6f\x63\x5f\x70\x65\x72\x63\x70\x75\x28\x73\x74\x72\x75\x63\x74\ -\x20\x74\x72\x61\x63\x65\x5f\x65\x76\x65\x6e\x74\x5f\x72\x61\x77\x5f\x70\x65\ -\x72\x63\x70\x75\x5f\x61\x6c\x6c\x6f\x63\x5f\x70\x65\x72\x63\x70\x75\x20\x2a\ -\x63\x74\x78\x29\0\x09\x67\x65\x6e\x5f\x61\x6c\x6c\x6f\x63\x5f\x65\x6e\x74\x65\ -\x72\x28\x63\x74\x78\x2d\x3e\x62\x79\x74\x65\x73\x5f\x61\x6c\x6c\x6f\x63\x29\ -\x3b\0\x09\x72\x65\x74\x75\x72\x6e\x20\x67\x65\x6e\x5f\x61\x6c\x6c\x6f\x63\x5f\ -\x65\x78\x69\x74\x32\x28\x63\x74\x78\x2c\x20\x28\x75\x36\x34\x29\x28\x63\x74\ -\x78\x2d\x3e\x70\x74\x72\x29\x29\x3b\0\x09\x72\x65\x74\x75\x72\x6e\x20\x67\x65\ -\x6e\x5f\x66\x72\x65\x65\x5f\x65\x6e\x74\x65\x72\x28\x63\x74\x78\x2d\x3e\x70\ -\x74\x72\x29\x3b\0\x30\x3a\x31\x34\0\x30\x3a\x31\x33\0\x30\x3a\x31\x32\0\x30\ -\x3a\x31\x30\0\x30\x3a\x32\0\x30\x3a\x34\0\x30\x3a\x31\0\x30\x3a\x39\0\x30\x3a\ -\x38\0\x30\x3a\x33\0\x2e\x72\x6f\x64\x61\x74\x61\0\x6c\x69\x63\x65\x6e\x73\x65\ -\0\x2e\x6d\x61\x70\x73\0\x2e\x62\x73\x73\0\x2e\x74\x65\x78\x74\0\x75\x70\x72\ -\x6f\x62\x65\0\x75\x72\x65\x74\x70\x72\x6f\x62\x65\0\x74\x72\x61\x63\x65\x70\ -\x6f\x69\x6e\x74\x2f\x6b\x6d\x65\x6d\x2f\x6b\x6d\x61\x6c\x6c\x6f\x63\0\x74\x72\ -\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x6b\x6d\x65\x6d\x2f\x6b\x66\x72\x65\x65\0\ -\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x6b\x6d\x65\x6d\x2f\x6b\x6d\x65\ -\x6d\x5f\x63\x61\x63\x68\x65\x5f\x61\x6c\x6c\x6f\x63\0\x74\x72\x61\x63\x65\x70\ -\x6f\x69\x6e\x74\x2f\x6b\x6d\x65\x6d\x2f\x6b\x6d\x65\x6d\x5f\x63\x61\x63\x68\ -\x65\x5f\x66\x72\x65\x65\0\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x6b\x6d\ -\x65\x6d\x2f\x6d\x6d\x5f\x70\x61\x67\x65\x5f\x61\x6c\x6c\x6f\x63\0\x74\x72\x61\ -\x63\x65\x70\x6f\x69\x6e\x74\x2f\x6b\x6d\x65\x6d\x2f\x6d\x6d\x5f\x70\x61\x67\ -\x65\x5f\x66\x72\x65\x65\0\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x70\x65\ -\x72\x63\x70\x75\x2f\x70\x65\x72\x63\x70\x75\x5f\x61\x6c\x6c\x6f\x63\x5f\x70\ -\x65\x72\x63\x70\x75\0\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x70\x65\x72\ -\x63\x70\x75\x2f\x70\x65\x72\x63\x70\x75\x5f\x66\x72\x65\x65\x5f\x70\x65\x72\ -\x63\x70\x75\0\x9f\xeb\x01\0\x20\0\0\0\0\0\0\0\x44\x01\0\0\x44\x01\0\0\x8c\x18\ -\0\0\xd0\x19\0\0\x74\x02\0\0\x08\0\0\0\0\x15\0\0\x01\0\0\0\0\0\0\0\x48\0\0\0\ -\x06\x15\0\0\x0b\0\0\0\0\0\0\0\x22\0\0\0\xd8\0\0\0\x24\0\0\0\x18\x02\0\0\x25\0\ -\0\0\0\x03\0\0\x27\0\0\0\x08\x05\0\0\x29\0\0\0\xe0\x05\0\0\x2b\0\0\0\x20\x07\0\ -\0\x2c\0\0\0\x60\x08\0\0\x2e\0\0\0\x38\x09\0\0\x30\0\0\0\x10\x0a\0\0\x32\0\0\0\ -\xe8\x0a\0\0\x34\0\0\0\x0d\x15\0\0\x09\0\0\0\0\0\0\0\x23\0\0\0\x20\0\0\0\x26\0\ -\0\0\x40\0\0\0\x28\0\0\0\x60\0\0\0\x2a\0\0\0\x80\0\0\0\x2d\0\0\0\x58\x01\0\0\ -\x2f\0\0\0\x78\x01\0\0\x31\0\0\0\x98\x01\0\0\x33\0\0\0\xb8\x01\0\0\x35\0\0\0\ -\x17\x15\0\0\x01\0\0\0\0\0\0\0\x43\0\0\0\x2f\x15\0\0\x01\0\0\0\0\0\0\0\x4c\0\0\ -\0\x45\x15\0\0\x01\0\0\0\0\0\0\0\x52\0\0\0\x66\x15\0\0\x01\0\0\0\0\0\0\0\x58\0\ -\0\0\x86\x15\0\0\x01\0\0\0\0\0\0\0\x5c\0\0\0\xa4\x15\0\0\x01\0\0\0\0\0\0\0\x60\ -\0\0\0\xc1\x15\0\0\x01\0\0\0\0\0\0\0\x64\0\0\0\xe7\x15\0\0\x01\0\0\0\0\0\0\0\ -\x68\0\0\0\x10\0\0\0\0\x15\0\0\x21\0\0\0\0\0\0\0\xa1\x05\0\0\x95\x0e\0\0\0\xe8\ -\x01\0\x18\0\0\0\xa1\x05\0\0\xc8\x0e\0\0\x0c\xf0\x01\0\x20\0\0\0\xa1\x05\0\0\ -\xc8\x0e\0\0\x27\xf0\x01\0\x28\0\0\0\xa1\x05\0\0\xc8\x0e\0\0\x06\xf0\x01\0\x38\ -\0\0\0\xa1\x05\0\0\0\0\0\0\0\0\0\0\x40\0\0\0\xa1\x05\0\0\xf5\x0e\0\0\x0e\xfc\ -\x01\0\x58\0\0\0\xa1\x05\0\0\x25\x0f\0\0\x06\0\x02\0\x68\0\0\0\xa1\x05\0\0\x31\ -\x0f\0\0\x02\x0c\x02\0\x70\0\0\0\xa1\x05\0\0\x5c\x0f\0\0\x0e\x14\x02\0\x78\0\0\ -\0\xa1\x05\0\0\x5c\x0f\0\0\x0c\x14\x02\0\x88\0\0\0\xa1\x05\0\0\x31\x0f\0\0\x02\ -\x0c\x02\0\x90\0\0\0\xa1\x05\0\0\x70\x0f\0\0\x02\x18\x02\0\xa8\0\0\0\xa1\x05\0\ -\0\x94\x0f\0\0\x06\x20\x02\0\xb0\0\0\0\xa1\x05\0\0\xa9\x0f\0\0\x17\x24\x02\0\ -\xb8\0\0\0\xa1\x05\0\0\xa9\x0f\0\0\x15\x24\x02\0\xc0\0\0\0\xa1\x05\0\0\xd3\x0f\ -\0\0\x13\x34\x02\0\xe8\0\0\0\xa1\x05\0\0\xd3\x0f\0\0\x11\x34\x02\0\xf8\0\0\0\ -\xa1\x05\0\0\xa9\x0f\0\0\x17\x24\x02\0\x10\x01\0\0\xa1\x05\0\0\x24\x10\0\0\x0d\ -\x3c\x02\0\x48\x01\0\0\xa1\x05\0\0\x68\x10\0\0\x0c\x40\x02\0\x50\x01\0\0\xa1\ -\x05\0\0\x7d\x10\0\0\x0d\x48\x02\0\x78\x01\0\0\xa1\x05\0\0\xc5\x10\0\0\x2d\x54\ -\x02\0\x80\x01\0\0\xa1\x05\0\0\xc5\x10\0\0\x1e\x54\x02\0\xa8\x01\0\0\xa1\x05\0\ -\0\xc5\x10\0\0\x2d\x54\x02\0\xb0\x01\0\0\xa1\x05\0\0\xf8\x10\0\0\x08\xb0\0\0\ -\xc8\x01\0\0\xa1\x05\0\0\x1e\x11\0\0\x06\xb4\0\0\xd8\x01\0\0\xa1\x05\0\0\x28\ -\x11\0\0\x08\xc0\0\0\x18\x02\0\0\xa1\x05\0\0\x61\x11\0\0\x0a\xc4\0\0\x28\x02\0\ -\0\xa1\x05\0\0\x76\x11\0\0\x09\xd0\0\0\x48\x02\0\0\xa1\x05\0\0\x9d\x11\0\0\x09\ -\x08\x01\0\x60\x02\0\0\xa1\x05\0\0\xb6\x11\0\0\x09\x2c\x01\0\x80\x02\0\0\xa1\ -\x05\0\0\xec\x11\0\0\x05\x40\x01\0\x88\x02\0\0\xa1\x05\0\0\x35\x12\0\0\x01\x68\ -\x02\0\x06\x15\0\0\xaa\0\0\0\0\0\0\0\xa1\x05\0\0\xdf\x05\0\0\x05\xc0\x02\0\x10\ -\0\0\0\xa1\x05\0\0\x06\x06\0\0\x09\xb8\x01\0\x30\0\0\0\xa1\x05\0\0\x06\x06\0\0\ -\x09\xb8\x01\0\x38\0\0\0\xa1\x05\0\0\x21\x06\0\0\x07\xbc\x01\0\x40\0\0\0\xa1\ -\x05\0\0\x21\x06\0\0\x1c\xbc\x01\0\x48\0\0\0\xa1\x05\0\0\x21\x06\0\0\x1a\xbc\ -\x01\0\x68\0\0\0\xa1\x05\0\0\x21\x06\0\0\x07\xbc\x01\0\x70\0\0\0\xa1\x05\0\0\ -\x4e\x06\0\0\x0f\xcc\x01\0\x78\0\0\0\xa1\x05\0\0\x4e\x06\0\0\x2a\xcc\x01\0\x80\ -\0\0\0\xa1\x05\0\0\x4e\x06\0\0\x09\xcc\x01\0\x90\0\0\0\xa1\x05\0\0\x4e\x06\0\0\ -\x0f\xcc\x01\0\xa8\0\0\0\xa1\x05\0\0\x7e\x06\0\0\x05\xd0\x01\0\xc8\0\0\0\xa1\ -\x05\0\0\xdf\x05\0\0\x05\xc0\x02\0\xd8\0\0\0\xa1\x05\0\0\xb2\x06\0\0\x05\xf0\ -\x02\0\xe0\0\0\0\xa1\x05\0\0\xdc\x06\0\0\x0c\x8c\x02\0\xf0\0\0\0\xa1\x05\0\0\0\ -\0\0\0\0\0\0\0\xf8\0\0\0\xa1\x05\0\0\xfc\x06\0\0\x22\x94\x02\0\x18\x01\0\0\xa1\ -\x05\0\0\x42\x07\0\0\x06\x98\x02\0\x28\x01\0\0\xa1\x05\0\0\0\0\0\0\0\0\0\0\x30\ -\x01\0\0\xa1\x05\0\0\x4e\x07\0\0\x02\xa4\x02\0\x48\x01\0\0\xa1\x05\0\0\x74\x07\ -\0\0\x2e\xa8\x02\0\x50\x01\0\0\xa1\x05\0\0\x74\x07\0\0\x1e\xa8\x02\0\x78\x01\0\ -\0\xa1\x05\0\0\0\0\0\0\0\0\0\0\x80\x01\0\0\xa1\x05\0\0\xa8\x07\0\0\x16\x60\x01\ -\0\x98\x01\0\0\xa1\x05\0\0\xef\x07\0\0\x09\x68\x01\0\xa0\x01\0\0\xa1\x05\0\0\ -\x0a\x08\0\0\x09\x6c\x01\0\xd8\x01\0\0\xa1\x05\0\0\x44\x08\0\0\x09\x8c\x01\0\ -\xf8\x01\0\0\xa1\x05\0\0\x7b\x08\0\0\x05\xa0\x01\0\x08\x02\0\0\xa1\x05\0\0\xb2\ -\x06\0\0\x05\xf0\x02\0\x18\x02\0\0\xa1\x05\0\0\xc4\x08\0\0\x05\x08\x03\0\x28\ -\x02\0\0\xa1\x05\0\0\xf6\x08\0\0\x1f\x10\x03\0\x38\x02\0\0\xa1\x05\0\0\x06\x06\ -\0\0\x09\xb8\x01\0\x58\x02\0\0\xa1\x05\0\0\x06\x06\0\0\x09\xb8\x01\0\x60\x02\0\ -\0\xa1\x05\0\0\x21\x06\0\0\x07\xbc\x01\0\x68\x02\0\0\xa1\x05\0\0\x21\x06\0\0\ -\x1c\xbc\x01\0\x70\x02\0\0\xa1\x05\0\0\x21\x06\0\0\x1a\xbc\x01\0\x90\x02\0\0\ -\xa1\x05\0\0\x21\x06\0\0\x07\xbc\x01\0\x98\x02\0\0\xa1\x05\0\0\x4e\x06\0\0\x0f\ -\xcc\x01\0\xa0\x02\0\0\xa1\x05\0\0\x4e\x06\0\0\x2a\xcc\x01\0\xa8\x02\0\0\xa1\ -\x05\0\0\x4e\x06\0\0\x09\xcc\x01\0\xb8\x02\0\0\xa1\x05\0\0\x4e\x06\0\0\x0f\xcc\ -\x01\0\xd0\x02\0\0\xa1\x05\0\0\x7e\x06\0\0\x05\xd0\x01\0\xf0\x02\0\0\xa1\x05\0\ -\0\xc4\x08\0\0\x05\x08\x03\0\0\x03\0\0\xa1\x05\0\0\x1d\x09\0\0\x05\x38\x03\0\ -\x10\x03\0\0\xa1\x05\0\0\xdc\x06\0\0\x0c\x8c\x02\0\x20\x03\0\0\xa1\x05\0\0\0\0\ -\0\0\0\0\0\0\x28\x03\0\0\xa1\x05\0\0\xfc\x06\0\0\x22\x94\x02\0\x48\x03\0\0\xa1\ -\x05\0\0\x42\x07\0\0\x06\x98\x02\0\x58\x03\0\0\xa1\x05\0\0\0\0\0\0\0\0\0\0\x60\ -\x03\0\0\xa1\x05\0\0\x4e\x07\0\0\x02\xa4\x02\0\x78\x03\0\0\xa1\x05\0\0\x74\x07\ -\0\0\x2e\xa8\x02\0\x80\x03\0\0\xa1\x05\0\0\x74\x07\0\0\x1e\xa8\x02\0\xa8\x03\0\ -\0\xa1\x05\0\0\0\0\0\0\0\0\0\0\xb0\x03\0\0\xa1\x05\0\0\xa8\x07\0\0\x16\x60\x01\ -\0\xc8\x03\0\0\xa1\x05\0\0\xef\x07\0\0\x09\x68\x01\0\xd0\x03\0\0\xa1\x05\0\0\ -\x0a\x08\0\0\x09\x6c\x01\0\x08\x04\0\0\xa1\x05\0\0\x44\x08\0\0\x09\x8c\x01\0\ -\x28\x04\0\0\xa1\x05\0\0\x7b\x08\0\0\x05\xa0\x01\0\x40\x04\0\0\xa1\x05\0\0\x06\ -\x06\0\0\x09\xb8\x01\0\x60\x04\0\0\xa1\x05\0\0\x06\x06\0\0\x09\xb8\x01\0\x68\ -\x04\0\0\xa1\x05\0\0\x21\x06\0\0\x07\xbc\x01\0\x70\x04\0\0\xa1\x05\0\0\x21\x06\ -\0\0\x1c\xbc\x01\0\x78\x04\0\0\xa1\x05\0\0\x21\x06\0\0\x1a\xbc\x01\0\x98\x04\0\ -\0\xa1\x05\0\0\x21\x06\0\0\x07\xbc\x01\0\xa0\x04\0\0\xa1\x05\0\0\x4e\x06\0\0\ -\x0f\xcc\x01\0\xa8\x04\0\0\xa1\x05\0\0\x4e\x06\0\0\x2a\xcc\x01\0\xb0\x04\0\0\ -\xa1\x05\0\0\x4e\x06\0\0\x09\xcc\x01\0\xc0\x04\0\0\xa1\x05\0\0\x4e\x06\0\0\x0f\ -\xcc\x01\0\xd8\x04\0\0\xa1\x05\0\0\x7e\x06\0\0\x05\xd0\x01\0\xf8\x04\0\0\xa1\ -\x05\0\0\x1d\x09\0\0\x05\x38\x03\0\x08\x05\0\0\xa1\x05\0\0\x50\x09\0\0\x05\x70\ -\x03\0\x18\x05\0\0\xa1\x05\0\0\x06\x06\0\0\x09\xb8\x01\0\x38\x05\0\0\xa1\x05\0\ -\0\x06\x06\0\0\x09\xb8\x01\0\x40\x05\0\0\xa1\x05\0\0\x21\x06\0\0\x07\xbc\x01\0\ -\x48\x05\0\0\xa1\x05\0\0\x21\x06\0\0\x1c\xbc\x01\0\x50\x05\0\0\xa1\x05\0\0\x21\ -\x06\0\0\x1a\xbc\x01\0\x70\x05\0\0\xa1\x05\0\0\x21\x06\0\0\x07\xbc\x01\0\x78\ -\x05\0\0\xa1\x05\0\0\x4e\x06\0\0\x0f\xcc\x01\0\x80\x05\0\0\xa1\x05\0\0\x4e\x06\ -\0\0\x2a\xcc\x01\0\x88\x05\0\0\xa1\x05\0\0\x4e\x06\0\0\x09\xcc\x01\0\x98\x05\0\ -\0\xa1\x05\0\0\x4e\x06\0\0\x0f\xcc\x01\0\xb0\x05\0\0\xa1\x05\0\0\x7e\x06\0\0\ -\x05\xd0\x01\0\xd0\x05\0\0\xa1\x05\0\0\x50\x09\0\0\x05\x70\x03\0\xe0\x05\0\0\ -\xa1\x05\0\0\x84\x09\0\0\x05\xa0\x03\0\xe8\x05\0\0\xa1\x05\0\0\xdc\x06\0\0\x0c\ -\x8c\x02\0\xf8\x05\0\0\xa1\x05\0\0\0\0\0\0\0\0\0\0\0\x06\0\0\xa1\x05\0\0\xfc\ -\x06\0\0\x22\x94\x02\0\x20\x06\0\0\xa1\x05\0\0\x42\x07\0\0\x06\x98\x02\0\x30\ -\x06\0\0\xa1\x05\0\0\0\0\0\0\0\0\0\0\x38\x06\0\0\xa1\x05\0\0\x4e\x07\0\0\x02\ -\xa4\x02\0\x50\x06\0\0\xa1\x05\0\0\x74\x07\0\0\x2e\xa8\x02\0\x58\x06\0\0\xa1\ -\x05\0\0\x74\x07\0\0\x1e\xa8\x02\0\x80\x06\0\0\xa1\x05\0\0\0\0\0\0\0\0\0\0\x88\ -\x06\0\0\xa1\x05\0\0\xa8\x07\0\0\x16\x60\x01\0\xa0\x06\0\0\xa1\x05\0\0\xef\x07\ -\0\0\x09\x68\x01\0\xa8\x06\0\0\xa1\x05\0\0\x0a\x08\0\0\x09\x6c\x01\0\xe0\x06\0\ -\0\xa1\x05\0\0\x44\x08\0\0\x09\x8c\x01\0\0\x07\0\0\xa1\x05\0\0\x7b\x08\0\0\x05\ -\xa0\x01\0\x10\x07\0\0\xa1\x05\0\0\x84\x09\0\0\x05\xa0\x03\0\x20\x07\0\0\xa1\ -\x05\0\0\xb0\x09\0\0\x05\xbc\x03\0\x30\x07\0\0\xa1\x05\0\0\x03\x0a\0\0\x0c\xc8\ -\x03\0\x38\x07\0\0\xa1\x05\0\0\x2e\x0a\0\0\x12\xcc\x03\0\x40\x07\0\0\xa1\x05\0\ -\0\x2e\x0a\0\0\x2d\xcc\x03\0\x48\x07\0\0\xa1\x05\0\0\x2e\x0a\0\0\x0c\xcc\x03\0\ -\x58\x07\0\0\xa1\x05\0\0\0\0\0\0\0\0\0\0\x70\x07\0\0\xa1\x05\0\0\x61\x0a\0\0\ -\x02\xd0\x03\0\x98\x07\0\0\xa1\x05\0\0\x06\x06\0\0\x09\xb8\x01\0\xb8\x07\0\0\ -\xa1\x05\0\0\x06\x06\0\0\x09\xb8\x01\0\xc0\x07\0\0\xa1\x05\0\0\x21\x06\0\0\x07\ -\xbc\x01\0\xc8\x07\0\0\xa1\x05\0\0\x21\x06\0\0\x1c\xbc\x01\0\xd0\x07\0\0\xa1\ -\x05\0\0\x21\x06\0\0\x1a\xbc\x01\0\xf0\x07\0\0\xa1\x05\0\0\x21\x06\0\0\x07\xbc\ -\x01\0\xf8\x07\0\0\xa1\x05\0\0\x4e\x06\0\0\x0f\xcc\x01\0\0\x08\0\0\xa1\x05\0\0\ -\x4e\x06\0\0\x2a\xcc\x01\0\x08\x08\0\0\xa1\x05\0\0\x4e\x06\0\0\x09\xcc\x01\0\ -\x18\x08\0\0\xa1\x05\0\0\x4e\x06\0\0\x0f\xcc\x01\0\x30\x08\0\0\xa1\x05\0\0\x7e\ -\x06\0\0\x05\xd0\x01\0\x50\x08\0\0\xa1\x05\0\0\xb0\x09\0\0\x05\xbc\x03\0\x60\ -\x08\0\0\xa1\x05\0\0\x9b\x0a\0\0\x05\x40\x04\0\x70\x08\0\0\xa1\x05\0\0\x06\x06\ -\0\0\x09\xb8\x01\0\x90\x08\0\0\xa1\x05\0\0\x06\x06\0\0\x09\xb8\x01\0\x98\x08\0\ -\0\xa1\x05\0\0\x21\x06\0\0\x07\xbc\x01\0\xa0\x08\0\0\xa1\x05\0\0\x21\x06\0\0\ -\x1c\xbc\x01\0\xa8\x08\0\0\xa1\x05\0\0\x21\x06\0\0\x1a\xbc\x01\0\xc8\x08\0\0\ -\xa1\x05\0\0\x21\x06\0\0\x07\xbc\x01\0\xd0\x08\0\0\xa1\x05\0\0\x4e\x06\0\0\x0f\ -\xcc\x01\0\xd8\x08\0\0\xa1\x05\0\0\x4e\x06\0\0\x2a\xcc\x01\0\xe0\x08\0\0\xa1\ -\x05\0\0\x4e\x06\0\0\x09\xcc\x01\0\xf0\x08\0\0\xa1\x05\0\0\x4e\x06\0\0\x0f\xcc\ -\x01\0\x08\x09\0\0\xa1\x05\0\0\x7e\x06\0\0\x05\xd0\x01\0\x28\x09\0\0\xa1\x05\0\ -\0\x9b\x0a\0\0\x05\x40\x04\0\x38\x09\0\0\xa1\x05\0\0\xde\x0a\0\0\x05\x70\x04\0\ -\x48\x09\0\0\xa1\x05\0\0\x06\x06\0\0\x09\xb8\x01\0\x68\x09\0\0\xa1\x05\0\0\x06\ -\x06\0\0\x09\xb8\x01\0\x70\x09\0\0\xa1\x05\0\0\x21\x06\0\0\x07\xbc\x01\0\x78\ -\x09\0\0\xa1\x05\0\0\x21\x06\0\0\x1c\xbc\x01\0\x80\x09\0\0\xa1\x05\0\0\x21\x06\ -\0\0\x1a\xbc\x01\0\xa0\x09\0\0\xa1\x05\0\0\x21\x06\0\0\x07\xbc\x01\0\xa8\x09\0\ -\0\xa1\x05\0\0\x4e\x06\0\0\x0f\xcc\x01\0\xb0\x09\0\0\xa1\x05\0\0\x4e\x06\0\0\ -\x2a\xcc\x01\0\xb8\x09\0\0\xa1\x05\0\0\x4e\x06\0\0\x09\xcc\x01\0\xc8\x09\0\0\ -\xa1\x05\0\0\x4e\x06\0\0\x0f\xcc\x01\0\xe0\x09\0\0\xa1\x05\0\0\x7e\x06\0\0\x05\ -\xd0\x01\0\0\x0a\0\0\xa1\x05\0\0\xde\x0a\0\0\x05\x70\x04\0\x10\x0a\0\0\xa1\x05\ -\0\0\x08\x0b\0\0\x05\xa0\x04\0\x20\x0a\0\0\xa1\x05\0\0\x06\x06\0\0\x09\xb8\x01\ -\0\x40\x0a\0\0\xa1\x05\0\0\x06\x06\0\0\x09\xb8\x01\0\x48\x0a\0\0\xa1\x05\0\0\ -\x21\x06\0\0\x07\xbc\x01\0\x50\x0a\0\0\xa1\x05\0\0\x21\x06\0\0\x1c\xbc\x01\0\ -\x58\x0a\0\0\xa1\x05\0\0\x21\x06\0\0\x1a\xbc\x01\0\x78\x0a\0\0\xa1\x05\0\0\x21\ -\x06\0\0\x07\xbc\x01\0\x80\x0a\0\0\xa1\x05\0\0\x4e\x06\0\0\x0f\xcc\x01\0\x88\ -\x0a\0\0\xa1\x05\0\0\x4e\x06\0\0\x2a\xcc\x01\0\x90\x0a\0\0\xa1\x05\0\0\x4e\x06\ -\0\0\x09\xcc\x01\0\xa0\x0a\0\0\xa1\x05\0\0\x4e\x06\0\0\x0f\xcc\x01\0\xb8\x0a\0\ -\0\xa1\x05\0\0\x7e\x06\0\0\x05\xd0\x01\0\xd8\x0a\0\0\xa1\x05\0\0\x08\x0b\0\0\ -\x05\xa0\x04\0\xe8\x0a\0\0\xa1\x05\0\0\x46\x0b\0\0\x05\xd0\x04\0\xf8\x0a\0\0\ -\xa1\x05\0\0\x06\x06\0\0\x09\xb8\x01\0\x18\x0b\0\0\xa1\x05\0\0\x06\x06\0\0\x09\ -\xb8\x01\0\x20\x0b\0\0\xa1\x05\0\0\x21\x06\0\0\x07\xbc\x01\0\x28\x0b\0\0\xa1\ -\x05\0\0\x21\x06\0\0\x1c\xbc\x01\0\x30\x0b\0\0\xa1\x05\0\0\x21\x06\0\0\x1a\xbc\ -\x01\0\x50\x0b\0\0\xa1\x05\0\0\x21\x06\0\0\x07\xbc\x01\0\x58\x0b\0\0\xa1\x05\0\ -\0\x4e\x06\0\0\x0f\xcc\x01\0\x60\x0b\0\0\xa1\x05\0\0\x4e\x06\0\0\x2a\xcc\x01\0\ -\x68\x0b\0\0\xa1\x05\0\0\x4e\x06\0\0\x09\xcc\x01\0\x78\x0b\0\0\xa1\x05\0\0\x4e\ -\x06\0\0\x0f\xcc\x01\0\x90\x0b\0\0\xa1\x05\0\0\x7e\x06\0\0\x05\xd0\x01\0\xb0\ -\x0b\0\0\xa1\x05\0\0\x46\x0b\0\0\x05\xd0\x04\0\x0d\x15\0\0\x28\0\0\0\0\0\0\0\ -\xa1\x05\0\0\x71\x0b\0\0\x21\x74\x02\0\x08\0\0\0\xa1\x05\0\0\x71\x0b\0\0\x0c\ -\x74\x02\0\x10\0\0\0\xa1\x05\0\0\xa3\x0b\0\0\x05\xd8\x02\0\x20\0\0\0\xa1\x05\0\ -\0\x71\x0b\0\0\x21\x74\x02\0\x28\0\0\0\xa1\x05\0\0\x71\x0b\0\0\x0c\x74\x02\0\ -\x30\0\0\0\xa1\x05\0\0\xc2\x0b\0\0\x05\x20\x03\0\x40\0\0\0\xa1\x05\0\0\x71\x0b\ -\0\0\x21\x74\x02\0\x48\0\0\0\xa1\x05\0\0\x71\x0b\0\0\x0c\x74\x02\0\x50\0\0\0\ -\xa1\x05\0\0\xe1\x0b\0\0\x05\x58\x03\0\x60\0\0\0\xa1\x05\0\0\x71\x0b\0\0\x21\ -\x74\x02\0\x68\0\0\0\xa1\x05\0\0\x71\x0b\0\0\x0c\x74\x02\0\x70\0\0\0\xa1\x05\0\ -\0\x01\x0c\0\0\x05\x88\x03\0\x80\0\0\0\xa1\x05\0\0\x1e\x0c\0\0\0\xe8\x03\0\x88\ -\0\0\0\xa1\x05\0\0\x2e\x0a\0\0\x12\xf0\x03\0\x90\0\0\0\xa1\x05\0\0\x2e\x0a\0\0\ -\x2d\xf0\x03\0\x98\0\0\0\xa1\x05\0\0\x2e\x0a\0\0\x0c\xf0\x03\0\xa8\0\0\0\xa1\ -\x05\0\0\0\0\0\0\0\0\0\0\xb0\0\0\0\xa1\x05\0\0\x45\x0c\0\0\x0d\x04\x04\0\xd0\0\ -\0\0\xa1\x05\0\0\x76\x0c\0\0\x06\x08\x04\0\xe0\0\0\0\xa1\x05\0\0\0\0\0\0\0\0\0\ -\0\xe8\0\0\0\xa1\x05\0\0\x86\x0c\0\0\x02\x14\x04\0\0\x01\0\0\xa1\x05\0\0\xac\ -\x0c\0\0\x3f\x1c\x04\0\x10\x01\0\0\xa1\x05\0\0\0\0\0\0\0\0\0\0\x18\x01\0\0\xa1\ -\x05\0\0\xac\x0c\0\0\x06\x1c\x04\0\x28\x01\0\0\xa1\x05\0\0\xac\x0c\0\0\x06\x1c\ -\x04\0\x30\x01\0\0\xa1\x05\0\0\xf6\x0c\0\0\x22\x28\x04\0\x38\x01\0\0\xa1\x05\0\ -\0\x1d\x0d\0\0\x09\x30\x04\0\x48\x01\0\0\xa1\x05\0\0\x1e\x0c\0\0\x05\xe8\x03\0\ -\x58\x01\0\0\xa1\x05\0\0\x71\x0b\0\0\x21\x74\x02\0\x60\x01\0\0\xa1\x05\0\0\x71\ -\x0b\0\0\x0c\x74\x02\0\x68\x01\0\0\xa1\x05\0\0\x43\x0d\0\0\x05\x58\x04\0\x78\ -\x01\0\0\xa1\x05\0\0\x71\x0b\0\0\x21\x74\x02\0\x80\x01\0\0\xa1\x05\0\0\x71\x0b\ -\0\0\x0c\x74\x02\0\x88\x01\0\0\xa1\x05\0\0\x69\x0d\0\0\x05\x88\x04\0\x98\x01\0\ -\0\xa1\x05\0\0\x71\x0b\0\0\x21\x74\x02\0\xa0\x01\0\0\xa1\x05\0\0\x71\x0b\0\0\ -\x0c\x74\x02\0\xa8\x01\0\0\xa1\x05\0\0\x88\x0d\0\0\x05\xb8\x04\0\xb8\x01\0\0\ -\xa1\x05\0\0\x71\x0b\0\0\x21\x74\x02\0\xc0\x01\0\0\xa1\x05\0\0\x71\x0b\0\0\x0c\ -\x74\x02\0\xc8\x01\0\0\xa1\x05\0\0\xa9\x0d\0\0\x05\xe8\x04\0\x17\x15\0\0\x14\0\ -\0\0\0\0\0\0\xa1\x05\0\0\xc9\x0d\0\0\0\0\x05\0\x28\0\0\0\xa1\x05\0\0\0\0\0\0\0\ -\0\0\0\x30\0\0\0\xa1\x05\0\0\x04\x0e\0\0\x17\x04\x05\0\x58\0\0\0\xa1\x05\0\0\ -\x04\x0e\0\0\x17\x04\x05\0\x68\0\0\0\xa1\x05\0\0\0\0\0\0\0\0\0\0\x70\0\0\0\xa1\ -\x05\0\0\x33\x0e\0\0\x17\x08\x05\0\x80\0\0\0\xa1\x05\0\0\x33\x0e\0\0\x17\x08\ -\x05\0\x90\0\0\0\xa1\x05\0\0\x06\x06\0\0\x09\xb8\x01\0\xb0\0\0\0\xa1\x05\0\0\ -\x06\x06\0\0\x09\xb8\x01\0\xb8\0\0\0\xa1\x05\0\0\x21\x06\0\0\x07\xbc\x01\0\xc0\ -\0\0\0\xa1\x05\0\0\x21\x06\0\0\x1c\xbc\x01\0\xc8\0\0\0\xa1\x05\0\0\x21\x06\0\0\ -\x1a\xbc\x01\0\xe8\0\0\0\xa1\x05\0\0\x21\x06\0\0\x07\xbc\x01\0\xf0\0\0\0\xa1\ -\x05\0\0\x4e\x06\0\0\x0f\xcc\x01\0\xf8\0\0\0\xa1\x05\0\0\x4e\x06\0\0\x2a\xcc\ -\x01\0\0\x01\0\0\xa1\x05\0\0\x4e\x06\0\0\x09\xcc\x01\0\x10\x01\0\0\xa1\x05\0\0\ -\x4e\x06\0\0\x0f\xcc\x01\0\x28\x01\0\0\xa1\x05\0\0\x7e\x06\0\0\x05\xd0\x01\0\ -\x48\x01\0\0\xa1\x05\0\0\x6a\x0e\0\0\x0c\x18\x05\0\x60\x01\0\0\xa1\x05\0\0\x6a\ -\x0e\0\0\x05\x18\x05\0\x2f\x15\0\0\x13\0\0\0\0\0\0\0\xa1\x05\0\0\x37\x12\0\0\0\ -\x28\x05\0\x20\0\0\0\xa1\x05\0\0\0\0\0\0\0\0\0\0\x28\0\0\0\xa1\x05\0\0\x04\x0e\ -\0\0\x17\x2c\x05\0\x38\0\0\0\xa1\x05\0\0\x04\x0e\0\0\x17\x2c\x05\0\x40\0\0\0\ -\xa1\x05\0\0\xdc\x06\0\0\x0c\x8c\x02\0\x50\0\0\0\xa1\x05\0\0\0\0\0\0\0\0\0\0\ -\x58\0\0\0\xa1\x05\0\0\xfc\x06\0\0\x22\x94\x02\0\x78\0\0\0\xa1\x05\0\0\x42\x07\ -\0\0\x06\x98\x02\0\x88\0\0\0\xa1\x05\0\0\0\0\0\0\0\0\0\0\x90\0\0\0\xa1\x05\0\0\ -\x4e\x07\0\0\x02\xa4\x02\0\xa8\0\0\0\xa1\x05\0\0\x74\x07\0\0\x2e\xa8\x02\0\xb0\ -\0\0\0\xa1\x05\0\0\x74\x07\0\0\x1e\xa8\x02\0\xd8\0\0\0\xa1\x05\0\0\0\0\0\0\0\0\ -\0\0\xe0\0\0\0\xa1\x05\0\0\xa8\x07\0\0\x16\x60\x01\0\xf8\0\0\0\xa1\x05\0\0\xef\ -\x07\0\0\x09\x68\x01\0\0\x01\0\0\xa1\x05\0\0\x0a\x08\0\0\x09\x6c\x01\0\x38\x01\ -\0\0\xa1\x05\0\0\x44\x08\0\0\x09\x8c\x01\0\x58\x01\0\0\xa1\x05\0\0\x7b\x08\0\0\ -\x05\xa0\x01\0\x68\x01\0\0\xa1\x05\0\0\x6e\x12\0\0\x05\x34\x05\0\x45\x15\0\0\ -\x14\0\0\0\0\0\0\0\xa1\x05\0\0\x8e\x12\0\0\0\x44\x05\0\x28\0\0\0\xa1\x05\0\0\0\ -\0\0\0\0\0\0\0\x30\0\0\0\xa1\x05\0\0\x04\x0e\0\0\x17\x48\x05\0\x58\0\0\0\xa1\ -\x05\0\0\x04\x0e\0\0\x17\x48\x05\0\x68\0\0\0\xa1\x05\0\0\0\0\0\0\0\0\0\0\x70\0\ -\0\0\xa1\x05\0\0\x33\x0e\0\0\x17\x4c\x05\0\x80\0\0\0\xa1\x05\0\0\x33\x0e\0\0\ -\x17\x4c\x05\0\x90\0\0\0\xa1\x05\0\0\x06\x06\0\0\x09\xb8\x01\0\xb0\0\0\0\xa1\ -\x05\0\0\x06\x06\0\0\x09\xb8\x01\0\xb8\0\0\0\xa1\x05\0\0\x21\x06\0\0\x07\xbc\ -\x01\0\xc0\0\0\0\xa1\x05\0\0\x21\x06\0\0\x1c\xbc\x01\0\xc8\0\0\0\xa1\x05\0\0\ -\x21\x06\0\0\x1a\xbc\x01\0\xe8\0\0\0\xa1\x05\0\0\x21\x06\0\0\x07\xbc\x01\0\xf0\ -\0\0\0\xa1\x05\0\0\x4e\x06\0\0\x0f\xcc\x01\0\xf8\0\0\0\xa1\x05\0\0\x4e\x06\0\0\ -\x2a\xcc\x01\0\0\x01\0\0\xa1\x05\0\0\x4e\x06\0\0\x09\xcc\x01\0\x10\x01\0\0\xa1\ -\x05\0\0\x4e\x06\0\0\x0f\xcc\x01\0\x28\x01\0\0\xa1\x05\0\0\x7e\x06\0\0\x05\xd0\ -\x01\0\x48\x01\0\0\xa1\x05\0\0\x6a\x0e\0\0\x0c\x5c\x05\0\x60\x01\0\0\xa1\x05\0\ -\0\x6a\x0e\0\0\x05\x5c\x05\0\x66\x15\0\0\x13\0\0\0\0\0\0\0\xa1\x05\0\0\xe0\x12\ -\0\0\0\x6c\x05\0\x20\0\0\0\xa1\x05\0\0\0\0\0\0\0\0\0\0\x28\0\0\0\xa1\x05\0\0\ -\x04\x0e\0\0\x17\x70\x05\0\x38\0\0\0\xa1\x05\0\0\x04\x0e\0\0\x17\x70\x05\0\x40\ -\0\0\0\xa1\x05\0\0\xdc\x06\0\0\x0c\x8c\x02\0\x50\0\0\0\xa1\x05\0\0\0\0\0\0\0\0\ -\0\0\x58\0\0\0\xa1\x05\0\0\xfc\x06\0\0\x22\x94\x02\0\x78\0\0\0\xa1\x05\0\0\x42\ -\x07\0\0\x06\x98\x02\0\x88\0\0\0\xa1\x05\0\0\0\0\0\0\0\0\0\0\x90\0\0\0\xa1\x05\ -\0\0\x4e\x07\0\0\x02\xa4\x02\0\xa8\0\0\0\xa1\x05\0\0\x74\x07\0\0\x2e\xa8\x02\0\ -\xb0\0\0\0\xa1\x05\0\0\x74\x07\0\0\x1e\xa8\x02\0\xd8\0\0\0\xa1\x05\0\0\0\0\0\0\ -\0\0\0\0\xe0\0\0\0\xa1\x05\0\0\xa8\x07\0\0\x16\x60\x01\0\xf8\0\0\0\xa1\x05\0\0\ -\xef\x07\0\0\x09\x68\x01\0\0\x01\0\0\xa1\x05\0\0\x0a\x08\0\0\x09\x6c\x01\0\x38\ -\x01\0\0\xa1\x05\0\0\x44\x08\0\0\x09\x8c\x01\0\x58\x01\0\0\xa1\x05\0\0\x7b\x08\ -\0\0\x05\xa0\x01\0\x68\x01\0\0\xa1\x05\0\0\x6e\x12\0\0\x05\x78\x05\0\x86\x15\0\ -\0\x12\0\0\0\0\0\0\0\xa1\x05\0\0\x2b\x13\0\0\0\x88\x05\0\x08\0\0\0\xa1\x05\0\0\ -\x72\x13\0\0\x15\x8c\x05\0\x20\0\0\0\xa1\x05\0\0\x72\x13\0\0\x27\x8c\x05\0\x28\ -\0\0\0\xa1\x05\0\0\x72\x13\0\0\x1f\x8c\x05\0\x38\0\0\0\xa1\x05\0\0\x06\x06\0\0\ -\x09\xb8\x01\0\x58\0\0\0\xa1\x05\0\0\x06\x06\0\0\x09\xb8\x01\0\x60\0\0\0\xa1\ -\x05\0\0\x21\x06\0\0\x07\xbc\x01\0\x68\0\0\0\xa1\x05\0\0\x21\x06\0\0\x1c\xbc\ -\x01\0\x70\0\0\0\xa1\x05\0\0\x21\x06\0\0\x1a\xbc\x01\0\x90\0\0\0\xa1\x05\0\0\ -\x21\x06\0\0\x07\xbc\x01\0\x98\0\0\0\xa1\x05\0\0\x4e\x06\0\0\x0f\xcc\x01\0\xa0\ -\0\0\0\xa1\x05\0\0\x4e\x06\0\0\x2a\xcc\x01\0\xa8\0\0\0\xa1\x05\0\0\x4e\x06\0\0\ -\x09\xcc\x01\0\xb8\0\0\0\xa1\x05\0\0\x4e\x06\0\0\x0f\xcc\x01\0\xd0\0\0\0\xa1\ -\x05\0\0\x7e\x06\0\0\x05\xd0\x01\0\xf0\0\0\0\xa1\x05\0\0\xa0\x13\0\0\x23\x94\ -\x05\0\xf8\0\0\0\xa1\x05\0\0\xa0\x13\0\0\x09\x94\x05\0\x08\x01\0\0\xa1\x05\0\0\ -\xa0\x13\0\0\x02\x94\x05\0\xa4\x15\0\0\x10\0\0\0\0\0\0\0\xa1\x05\0\0\xc8\x13\0\ -\0\x25\xac\x05\0\x08\0\0\0\xa1\x05\0\0\xdc\x06\0\0\x0c\x8c\x02\0\x18\0\0\0\xa1\ -\x05\0\0\0\0\0\0\0\0\0\0\x20\0\0\0\xa1\x05\0\0\xfc\x06\0\0\x22\x94\x02\0\x40\0\ -\0\0\xa1\x05\0\0\x42\x07\0\0\x06\x98\x02\0\x50\0\0\0\xa1\x05\0\0\0\0\0\0\0\0\0\ -\0\x58\0\0\0\xa1\x05\0\0\x4e\x07\0\0\x02\xa4\x02\0\x70\0\0\0\xa1\x05\0\0\x74\ -\x07\0\0\x2e\xa8\x02\0\x78\0\0\0\xa1\x05\0\0\x74\x07\0\0\x1e\xa8\x02\0\xa0\0\0\ -\0\xa1\x05\0\0\0\0\0\0\0\0\0\0\xa8\0\0\0\xa1\x05\0\0\xa8\x07\0\0\x16\x60\x01\0\ -\xc0\0\0\0\xa1\x05\0\0\xef\x07\0\0\x09\x68\x01\0\xc8\0\0\0\xa1\x05\0\0\x0a\x08\ -\0\0\x09\x6c\x01\0\0\x01\0\0\xa1\x05\0\0\x44\x08\0\0\x09\x8c\x01\0\x20\x01\0\0\ -\xa1\x05\0\0\x7b\x08\0\0\x05\xa0\x01\0\x30\x01\0\0\xa1\x05\0\0\xc8\x13\0\0\x02\ -\xac\x05\0\xc1\x15\0\0\x10\0\0\0\0\0\0\0\xa1\x05\0\0\xf2\x13\0\0\0\xbc\x05\0\ -\x08\0\0\0\xa1\x05\0\0\x44\x14\0\0\x17\xc4\x05\0\x18\0\0\0\xa1\x05\0\0\x06\x06\ -\0\0\x09\xb8\x01\0\x38\0\0\0\xa1\x05\0\0\x06\x06\0\0\x09\xb8\x01\0\x40\0\0\0\ -\xa1\x05\0\0\x21\x06\0\0\x07\xbc\x01\0\x48\0\0\0\xa1\x05\0\0\x21\x06\0\0\x1c\ -\xbc\x01\0\x50\0\0\0\xa1\x05\0\0\x21\x06\0\0\x1a\xbc\x01\0\x70\0\0\0\xa1\x05\0\ -\0\x21\x06\0\0\x07\xbc\x01\0\x78\0\0\0\xa1\x05\0\0\x4e\x06\0\0\x0f\xcc\x01\0\ -\x80\0\0\0\xa1\x05\0\0\x4e\x06\0\0\x2a\xcc\x01\0\x88\0\0\0\xa1\x05\0\0\x4e\x06\ -\0\0\x09\xcc\x01\0\x98\0\0\0\xa1\x05\0\0\x4e\x06\0\0\x0f\xcc\x01\0\xb0\0\0\0\ -\xa1\x05\0\0\x7e\x06\0\0\x05\xd0\x01\0\xd0\0\0\0\xa1\x05\0\0\x68\x14\0\0\x29\ -\xcc\x05\0\xd8\0\0\0\xa1\x05\0\0\x68\x14\0\0\x09\xcc\x05\0\xe8\0\0\0\xa1\x05\0\ -\0\x68\x14\0\0\x02\xcc\x05\0\xe7\x15\0\0\x10\0\0\0\0\0\0\0\xa1\x05\0\0\x97\x14\ -\0\0\x1d\xe4\x05\0\x08\0\0\0\xa1\x05\0\0\xdc\x06\0\0\x0c\x8c\x02\0\x18\0\0\0\ -\xa1\x05\0\0\0\0\0\0\0\0\0\0\x20\0\0\0\xa1\x05\0\0\xfc\x06\0\0\x22\x94\x02\0\ -\x40\0\0\0\xa1\x05\0\0\x42\x07\0\0\x06\x98\x02\0\x50\0\0\0\xa1\x05\0\0\0\0\0\0\ -\0\0\0\0\x58\0\0\0\xa1\x05\0\0\x4e\x07\0\0\x02\xa4\x02\0\x70\0\0\0\xa1\x05\0\0\ -\x74\x07\0\0\x2e\xa8\x02\0\x78\0\0\0\xa1\x05\0\0\x74\x07\0\0\x1e\xa8\x02\0\xa0\ -\0\0\0\xa1\x05\0\0\0\0\0\0\0\0\0\0\xa8\0\0\0\xa1\x05\0\0\xa8\x07\0\0\x16\x60\ -\x01\0\xc0\0\0\0\xa1\x05\0\0\xef\x07\0\0\x09\x68\x01\0\xc8\0\0\0\xa1\x05\0\0\ -\x0a\x08\0\0\x09\x6c\x01\0\0\x01\0\0\xa1\x05\0\0\x44\x08\0\0\x09\x8c\x01\0\x20\ -\x01\0\0\xa1\x05\0\0\x7b\x08\0\0\x05\xa0\x01\0\x30\x01\0\0\xa1\x05\0\0\x97\x14\ -\0\0\x02\xe4\x05\0\x10\0\0\0\x06\x15\0\0\x0e\0\0\0\0\0\0\0\x20\0\0\0\xb9\x14\0\ -\0\0\0\0\0\xd8\0\0\0\x20\0\0\0\xb9\x14\0\0\0\0\0\0\x18\x02\0\0\x20\0\0\0\xb9\ -\x14\0\0\0\0\0\0\x20\x02\0\0\x20\0\0\0\xbe\x14\0\0\0\0\0\0\0\x03\0\0\x20\0\0\0\ -\xbe\x14\0\0\0\0\0\0\x08\x03\0\0\x20\0\0\0\xb9\x14\0\0\0\0\0\0\x08\x05\0\0\x20\ -\0\0\0\xbe\x14\0\0\0\0\0\0\xe0\x05\0\0\x20\0\0\0\xb9\x14\0\0\0\0\0\0\x20\x07\0\ -\0\x20\0\0\0\xc3\x14\0\0\0\0\0\0\x28\x07\0\0\x20\0\0\0\xb9\x14\0\0\0\0\0\0\x60\ -\x08\0\0\x20\0\0\0\xbe\x14\0\0\0\0\0\0\x38\x09\0\0\x20\0\0\0\xb9\x14\0\0\0\0\0\ -\0\x10\x0a\0\0\x20\0\0\0\xbe\x14\0\0\0\0\0\0\xe8\x0a\0\0\x20\0\0\0\xb9\x14\0\0\ -\0\0\0\0\x0d\x15\0\0\x08\0\0\0\0\0\0\0\x20\0\0\0\xc8\x14\0\0\0\0\0\0\x20\0\0\0\ -\x20\0\0\0\xc8\x14\0\0\0\0\0\0\x40\0\0\0\x20\0\0\0\xc8\x14\0\0\0\0\0\0\x60\0\0\ -\0\x20\0\0\0\xc8\x14\0\0\0\0\0\0\x58\x01\0\0\x20\0\0\0\xc8\x14\0\0\0\0\0\0\x78\ -\x01\0\0\x20\0\0\0\xc8\x14\0\0\0\0\0\0\x98\x01\0\0\x20\0\0\0\xc8\x14\0\0\0\0\0\ -\0\xb8\x01\0\0\x20\0\0\0\xc8\x14\0\0\0\0\0\0\x17\x15\0\0\x02\0\0\0\x08\0\0\0\ -\x37\0\0\0\xcd\x14\0\0\0\0\0\0\x40\0\0\0\x37\0\0\0\xd1\x14\0\0\0\0\0\0\x2f\x15\ -\0\0\x01\0\0\0\x08\0\0\0\x4a\0\0\0\xcd\x14\0\0\0\0\0\0\x45\x15\0\0\x02\0\0\0\ -\x08\0\0\0\x4e\0\0\0\xcd\x14\0\0\0\0\0\0\x40\0\0\0\x4e\0\0\0\xd1\x14\0\0\0\0\0\ -\0\x66\x15\0\0\x01\0\0\0\x08\0\0\0\x54\0\0\0\xcd\x14\0\0\0\0\0\0\x86\x15\0\0\ -\x02\0\0\0\x20\0\0\0\x5a\0\0\0\xcd\x14\0\0\0\0\0\0\xf0\0\0\0\x5a\0\0\0\xd5\x14\ -\0\0\0\0\0\0\xa4\x15\0\0\x01\0\0\0\0\0\0\0\x5e\0\0\0\xd5\x14\0\0\0\0\0\0\xc1\ -\x15\0\0\x02\0\0\0\x08\0\0\0\x62\0\0\0\xd9\x14\0\0\0\0\0\0\xd0\0\0\0\x62\0\0\0\ -\xdd\x14\0\0\0\0\0\0\xe7\x15\0\0\x01\0\0\0\0\0\0\0\x66\0\0\0\xe1\x14\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\x03\0\0\ -\0\x20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x40\0\0\0\0\0\0\0\x67\x06\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x09\0\0\0\x02\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\xa8\x06\0\0\0\0\0\0\x60\x09\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\ -\x08\0\0\0\0\0\0\0\x18\0\0\0\0\0\0\0\x11\0\0\0\x01\0\0\0\x06\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\x08\x10\0\0\0\0\0\0\x90\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\x17\0\0\0\x01\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\x98\x12\0\0\0\0\0\0\xc0\x0b\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\x1e\0\0\0\x01\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x58\x1e\0\0\ -\0\0\0\0\xd8\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\x28\0\0\0\x01\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x30\x20\0\0\0\0\0\0\x70\ -\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x40\0\0\0\ -\x01\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xa0\x21\0\0\0\0\0\0\x78\x01\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x56\0\0\0\x01\0\0\0\ -\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x18\x23\0\0\0\0\0\0\x70\x01\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x77\0\0\0\x01\0\0\0\x06\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\x88\x24\0\0\0\0\0\0\x78\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x97\0\0\0\x01\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\x26\0\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\xb5\0\0\0\x01\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x18\ -\x27\0\0\0\0\0\0\x40\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\xd2\0\0\0\x01\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x58\x28\0\0\0\0\ -\0\0\xf8\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xf8\0\ -\0\0\x01\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x50\x29\0\0\0\0\0\0\x40\x01\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x1d\x01\0\0\x01\0\ -\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x90\x2a\0\0\0\0\0\0\x62\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x25\x01\0\0\x01\0\0\0\x03\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\xf2\x2a\0\0\0\0\0\0\x0d\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x2d\x01\0\0\x01\0\0\0\x03\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\x2b\0\0\0\0\0\0\xa0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\x33\x01\0\0\x08\0\0\0\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\xa0\x2b\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\x21\x05\0\0\x09\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xa0\x2b\0\0\ -\0\0\0\0\x90\0\0\0\0\0\0\0\x02\0\0\0\x03\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\ -\0\0\x2b\x05\0\0\x09\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x30\x2c\0\0\0\0\0\ -\0\xf0\x01\0\0\0\0\0\0\x02\0\0\0\x04\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\ -\x36\x05\0\0\x09\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x20\x2e\0\0\0\0\0\0\ -\xb0\0\0\0\0\0\0\0\x02\0\0\0\x05\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\x44\ -\x05\0\0\x09\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xd0\x2e\0\0\0\0\0\0\x30\0\ -\0\0\0\0\0\0\x02\0\0\0\x06\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\x60\x05\0\ -\0\x09\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x2f\0\0\0\0\0\0\x40\0\0\0\0\0\ -\0\0\x02\0\0\0\x07\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\x7a\x05\0\0\x09\0\ -\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x40\x2f\0\0\0\0\0\0\x30\0\0\0\0\0\0\0\ -\x02\0\0\0\x08\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\x9f\x05\0\0\x09\0\0\0\ -\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x70\x2f\0\0\0\0\0\0\x40\0\0\0\0\0\0\0\x02\0\ -\0\0\x09\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\xc3\x05\0\0\x09\0\0\0\x40\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb0\x2f\0\0\0\0\0\0\x40\0\0\0\0\0\0\0\x02\0\0\0\ -\x0a\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\xe5\x05\0\0\x09\0\0\0\x40\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\xf0\x2f\0\0\0\0\0\0\x40\0\0\0\0\0\0\0\x02\0\0\0\x0b\0\ -\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\x06\x06\0\0\x09\0\0\0\x40\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\x30\x30\0\0\0\0\0\0\x30\0\0\0\0\0\0\0\x02\0\0\0\x0c\0\0\0\ -\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\x30\x06\0\0\x09\0\0\0\x40\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\x60\x30\0\0\0\0\0\0\x40\0\0\0\0\0\0\0\x02\0\0\0\x0d\0\0\0\x08\0\ -\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\x59\x06\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\xa0\x30\0\0\0\0\0\0\x58\x22\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\x5e\x06\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xf8\ -\x52\0\0\0\0\0\0\x64\x1c\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0"; - - *sz = sizeof(data) - 1; - return (const void *)data; -} - -#ifdef __cplusplus -struct mm_leak_bpf *mm_leak_bpf::open(const struct bpf_object_open_opts *opts) { return mm_leak_bpf__open_opts(opts); } -struct mm_leak_bpf *mm_leak_bpf::open_and_load() { return mm_leak_bpf__open_and_load(); } -int mm_leak_bpf::load(struct mm_leak_bpf *skel) { return mm_leak_bpf__load(skel); } -int mm_leak_bpf::attach(struct mm_leak_bpf *skel) { return mm_leak_bpf__attach(skel); } -void mm_leak_bpf::detach(struct mm_leak_bpf *skel) { mm_leak_bpf__detach(skel); } -void mm_leak_bpf::destroy(struct mm_leak_bpf *skel) { mm_leak_bpf__destroy(skel); } -const void *mm_leak_bpf::elf_bytes(size_t *sz) { return mm_leak_bpf__elf_bytes(sz); } -#endif /* __cplusplus */ - -__attribute__((unused)) static void -mm_leak_bpf__assert(struct mm_leak_bpf *s __attribute__((unused))) -{ -#ifdef __cplusplus -#define _Static_assert static_assert -#endif - _Static_assert(sizeof(s->rodata->sample_rate) == 8, "unexpected size of 'sample_rate'"); - _Static_assert(sizeof(s->rodata->page_size) == 8, "unexpected size of 'page_size'"); - _Static_assert(sizeof(s->rodata->stack_flags) == 8, "unexpected size of 'stack_flags'"); -#ifdef __cplusplus -#undef _Static_assert -#endif -} - -#endif /* __MM_LEAK_BPF_SKEL_H__ */ diff --git a/.output/mm_leak.tmp.bpf.o b/.output/mm_leak.tmp.bpf.o deleted file mode 100644 index 6effefc..0000000 Binary files a/.output/mm_leak.tmp.bpf.o and /dev/null differ diff --git a/.output/mm_stats.bpf.o b/.output/mm_stats.bpf.o deleted file mode 100644 index 40fa299..0000000 Binary files a/.output/mm_stats.bpf.o and /dev/null differ diff --git a/.output/mm_stats.skel.h b/.output/mm_stats.skel.h deleted file mode 100644 index 10178a1..0000000 --- a/.output/mm_stats.skel.h +++ /dev/null @@ -1,2465 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ - -/* THIS FILE IS AUTOGENERATED BY BPFTOOL! */ -#ifndef __MM_STATS_BPF_SKEL_H__ -#define __MM_STATS_BPF_SKEL_H__ - -#include -#include -#include - -#define BPF_SKEL_SUPPORTS_MAP_AUTO_ATTACH 1 - -struct mm_stats_bpf { - struct bpf_object_skeleton *skeleton; - struct bpf_object *obj; - struct { - struct bpf_map *task_mm_stats_map; - struct bpf_map *process_mm_stats_map; - struct bpf_map *task_mm_occupied_list; - struct bpf_map *process_mm_occupied_list; - struct bpf_map *threhold_map; - struct bpf_map *task_mm_stats_buffer; - struct bpf_map *process_mm_stats_buffer; - struct bpf_map *oom_event_buffer; - struct bpf_map *rodata; - } maps; - struct { - struct bpf_program *oom_kill_process; - struct bpf_program *trace_kmalloc; - struct bpf_program *trace_kfree; - struct bpf_program *trace_page_alloc; - struct bpf_program *trace_page_free; - struct bpf_program *trace_cache_alloc; - struct bpf_program *trace_cache_free; - struct bpf_program *handle_mm_task_exit; - } progs; - struct { - struct bpf_link *oom_kill_process; - struct bpf_link *trace_kmalloc; - struct bpf_link *trace_kfree; - struct bpf_link *trace_page_alloc; - struct bpf_link *trace_page_free; - struct bpf_link *trace_cache_alloc; - struct bpf_link *trace_cache_free; - struct bpf_link *handle_mm_task_exit; - } links; - -#ifdef __cplusplus - static inline struct mm_stats_bpf *open(const struct bpf_object_open_opts *opts = nullptr); - static inline struct mm_stats_bpf *open_and_load(); - static inline int load(struct mm_stats_bpf *skel); - static inline int attach(struct mm_stats_bpf *skel); - static inline void detach(struct mm_stats_bpf *skel); - static inline void destroy(struct mm_stats_bpf *skel); - static inline const void *elf_bytes(size_t *sz); -#endif /* __cplusplus */ -}; - -static void -mm_stats_bpf__destroy(struct mm_stats_bpf *obj) -{ - if (!obj) - return; - if (obj->skeleton) - bpf_object__destroy_skeleton(obj->skeleton); - free(obj); -} - -static inline int -mm_stats_bpf__create_skeleton(struct mm_stats_bpf *obj); - -static inline struct mm_stats_bpf * -mm_stats_bpf__open_opts(const struct bpf_object_open_opts *opts) -{ - struct mm_stats_bpf *obj; - int err; - - obj = (struct mm_stats_bpf *)calloc(1, sizeof(*obj)); - if (!obj) { - errno = ENOMEM; - return NULL; - } - - err = mm_stats_bpf__create_skeleton(obj); - if (err) - goto err_out; - - err = bpf_object__open_skeleton(obj->skeleton, opts); - if (err) - goto err_out; - - return obj; -err_out: - mm_stats_bpf__destroy(obj); - errno = -err; - return NULL; -} - -static inline struct mm_stats_bpf * -mm_stats_bpf__open(void) -{ - return mm_stats_bpf__open_opts(NULL); -} - -static inline int -mm_stats_bpf__load(struct mm_stats_bpf *obj) -{ - return bpf_object__load_skeleton(obj->skeleton); -} - -static inline struct mm_stats_bpf * -mm_stats_bpf__open_and_load(void) -{ - struct mm_stats_bpf *obj; - int err; - - obj = mm_stats_bpf__open(); - if (!obj) - return NULL; - err = mm_stats_bpf__load(obj); - if (err) { - mm_stats_bpf__destroy(obj); - errno = -err; - return NULL; - } - return obj; -} - -static inline int -mm_stats_bpf__attach(struct mm_stats_bpf *obj) -{ - return bpf_object__attach_skeleton(obj->skeleton); -} - -static inline void -mm_stats_bpf__detach(struct mm_stats_bpf *obj) -{ - bpf_object__detach_skeleton(obj->skeleton); -} - -static inline const void *mm_stats_bpf__elf_bytes(size_t *sz); - -static inline int -mm_stats_bpf__create_skeleton(struct mm_stats_bpf *obj) -{ - struct bpf_object_skeleton *s; - struct bpf_map_skeleton *map __attribute__((unused)); - int err; - - s = (struct bpf_object_skeleton *)calloc(1, sizeof(*s)); - if (!s) { - err = -ENOMEM; - goto err; - } - - s->sz = sizeof(*s); - s->name = "mm_stats_bpf"; - s->obj = &obj->obj; - - /* maps */ - s->map_cnt = 9; - s->map_skel_sz = 24; - s->maps = (struct bpf_map_skeleton *)calloc(s->map_cnt, - sizeof(*s->maps) > 24 ? sizeof(*s->maps) : 24); - if (!s->maps) { - err = -ENOMEM; - goto err; - } - - map = (struct bpf_map_skeleton *)((char *)s->maps + 0 * s->map_skel_sz); - map->name = "task_mm_stats_map"; - map->map = &obj->maps.task_mm_stats_map; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 1 * s->map_skel_sz); - map->name = "process_mm_stats_map"; - map->map = &obj->maps.process_mm_stats_map; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 2 * s->map_skel_sz); - map->name = "task_mm_occupied_list"; - map->map = &obj->maps.task_mm_occupied_list; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 3 * s->map_skel_sz); - map->name = "process_mm_occupied_list"; - map->map = &obj->maps.process_mm_occupied_list; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 4 * s->map_skel_sz); - map->name = "threhold_map"; - map->map = &obj->maps.threhold_map; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 5 * s->map_skel_sz); - map->name = "task_mm_stats_buffer"; - map->map = &obj->maps.task_mm_stats_buffer; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 6 * s->map_skel_sz); - map->name = "process_mm_stats_buffer"; - map->map = &obj->maps.process_mm_stats_buffer; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 7 * s->map_skel_sz); - map->name = "oom_event_buffer"; - map->map = &obj->maps.oom_event_buffer; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 8 * s->map_skel_sz); - map->name = "mm_stats.rodata"; - map->map = &obj->maps.rodata; - - /* programs */ - s->prog_cnt = 8; - s->prog_skel_sz = sizeof(*s->progs); - s->progs = (struct bpf_prog_skeleton *)calloc(s->prog_cnt, s->prog_skel_sz); - if (!s->progs) { - err = -ENOMEM; - goto err; - } - - s->progs[0].name = "oom_kill_process"; - s->progs[0].prog = &obj->progs.oom_kill_process; - s->progs[0].link = &obj->links.oom_kill_process; - - s->progs[1].name = "trace_kmalloc"; - s->progs[1].prog = &obj->progs.trace_kmalloc; - s->progs[1].link = &obj->links.trace_kmalloc; - - s->progs[2].name = "trace_kfree"; - s->progs[2].prog = &obj->progs.trace_kfree; - s->progs[2].link = &obj->links.trace_kfree; - - s->progs[3].name = "trace_page_alloc"; - s->progs[3].prog = &obj->progs.trace_page_alloc; - s->progs[3].link = &obj->links.trace_page_alloc; - - s->progs[4].name = "trace_page_free"; - s->progs[4].prog = &obj->progs.trace_page_free; - s->progs[4].link = &obj->links.trace_page_free; - - s->progs[5].name = "trace_cache_alloc"; - s->progs[5].prog = &obj->progs.trace_cache_alloc; - s->progs[5].link = &obj->links.trace_cache_alloc; - - s->progs[6].name = "trace_cache_free"; - s->progs[6].prog = &obj->progs.trace_cache_free; - s->progs[6].link = &obj->links.trace_cache_free; - - s->progs[7].name = "handle_mm_task_exit"; - s->progs[7].prog = &obj->progs.handle_mm_task_exit; - s->progs[7].link = &obj->links.handle_mm_task_exit; - - s->data = mm_stats_bpf__elf_bytes(&s->data_sz); - - obj->skeleton = s; - return 0; -err: - bpf_object__destroy_skeleton(s); - return err; -} - -static inline const void *mm_stats_bpf__elf_bytes(size_t *sz) -{ - static const char data[] __attribute__((__aligned__(8))) = "\ -\x7f\x45\x4c\x46\x02\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\xf7\0\x01\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\xb8\xce\0\0\0\0\0\0\0\0\0\0\x40\0\0\0\0\0\x40\0\x1a\0\ -\x01\0\0\x2e\x73\x74\x72\x74\x61\x62\0\x2e\x73\x79\x6d\x74\x61\x62\0\x2e\x74\ -\x65\x78\x74\0\x6b\x70\x72\x6f\x62\x65\x2f\x6f\x6f\x6d\x5f\x6b\x69\x6c\x6c\x5f\ -\x70\x72\x6f\x63\x65\x73\x73\0\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x6b\ -\x6d\x65\x6d\x2f\x6b\x6d\x61\x6c\x6c\x6f\x63\0\x74\x72\x61\x63\x65\x70\x6f\x69\ -\x6e\x74\x2f\x6b\x6d\x65\x6d\x2f\x6b\x66\x72\x65\x65\0\x74\x72\x61\x63\x65\x70\ -\x6f\x69\x6e\x74\x2f\x6b\x6d\x65\x6d\x2f\x6d\x6d\x5f\x70\x61\x67\x65\x5f\x61\ -\x6c\x6c\x6f\x63\0\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x6b\x6d\x65\x6d\ -\x2f\x6d\x6d\x5f\x70\x61\x67\x65\x5f\x66\x72\x65\x65\0\x74\x72\x61\x63\x65\x70\ -\x6f\x69\x6e\x74\x2f\x6b\x6d\x65\x6d\x2f\x6b\x6d\x65\x6d\x5f\x63\x61\x63\x68\ -\x65\x5f\x61\x6c\x6c\x6f\x63\0\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x6b\ -\x6d\x65\x6d\x2f\x6b\x6d\x65\x6d\x5f\x63\x61\x63\x68\x65\x5f\x66\x72\x65\x65\0\ -\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x73\x63\x68\x65\x64\x2f\x73\x63\ -\x68\x65\x64\x5f\x70\x72\x6f\x63\x65\x73\x73\x5f\x65\x78\x69\x74\0\x6c\x69\x63\ -\x65\x6e\x73\x65\0\x2e\x6d\x61\x70\x73\0\x2e\x72\x6f\x64\x61\x74\x61\0\x6d\x6d\ -\x5f\x73\x74\x61\x74\x73\x2e\x62\x70\x66\x2e\x63\0\x4c\x42\x42\x30\x5f\x32\0\ -\x5f\x5f\x5f\x5f\x6f\x6f\x6d\x5f\x6b\x69\x6c\x6c\x5f\x70\x72\x6f\x63\x65\x73\ -\x73\x2e\x5f\x5f\x5f\x5f\x66\x6d\x74\0\x4c\x42\x42\x30\x5f\x33\0\x4c\x42\x42\ -\x31\x5f\x37\0\x4c\x42\x42\x31\x5f\x33\0\x4c\x42\x42\x31\x5f\x34\0\x74\x61\x73\ -\x6b\x5f\x63\x6f\x6d\x70\x61\x72\x65\x5f\x61\x6e\x64\x5f\x63\x6f\x6d\x6d\x69\ -\x74\0\x4c\x42\x42\x31\x5f\x36\0\x70\x72\x6f\x63\x65\x73\x73\x5f\x63\x6f\x6d\ -\x70\x61\x72\x65\x5f\x61\x6e\x64\x5f\x63\x6f\x6d\x6d\x69\x74\0\x7a\x65\x72\x6f\ -\0\x4c\x42\x42\x32\x5f\x32\0\x74\x61\x73\x6b\x5f\x63\x6f\x6d\x70\x61\x72\x65\ -\x5f\x61\x6e\x64\x5f\x63\x6f\x6d\x6d\x69\x74\x2e\x5f\x5f\x5f\x5f\x66\x6d\x74\0\ -\x4c\x42\x42\x32\x5f\x31\x32\0\x4c\x42\x42\x32\x5f\x34\0\x4c\x42\x42\x32\x5f\ -\x31\x31\0\x4c\x42\x42\x32\x5f\x37\0\x4c\x42\x42\x32\x5f\x31\x30\0\x74\x61\x73\ -\x6b\x5f\x63\x6f\x6d\x70\x61\x72\x65\x5f\x61\x6e\x64\x5f\x63\x6f\x6d\x6d\x69\ -\x74\x2e\x5f\x5f\x5f\x5f\x66\x6d\x74\x2e\x31\0\x6f\x6e\x65\0\x4c\x42\x42\x33\ -\x5f\x32\0\x70\x72\x6f\x63\x65\x73\x73\x5f\x63\x6f\x6d\x70\x61\x72\x65\x5f\x61\ -\x6e\x64\x5f\x63\x6f\x6d\x6d\x69\x74\x2e\x5f\x5f\x5f\x5f\x66\x6d\x74\0\x4c\x42\ -\x42\x33\x5f\x31\x32\0\x4c\x42\x42\x33\x5f\x34\0\x4c\x42\x42\x33\x5f\x31\x31\0\ -\x4c\x42\x42\x33\x5f\x37\0\x4c\x42\x42\x33\x5f\x31\x30\0\x70\x72\x6f\x63\x65\ -\x73\x73\x5f\x63\x6f\x6d\x70\x61\x72\x65\x5f\x61\x6e\x64\x5f\x63\x6f\x6d\x6d\ -\x69\x74\x2e\x5f\x5f\x5f\x5f\x66\x6d\x74\x2e\x32\0\x4c\x42\x42\x34\x5f\x37\0\ -\x4c\x42\x42\x34\x5f\x33\0\x4c\x42\x42\x34\x5f\x34\0\x4c\x42\x42\x34\x5f\x36\0\ -\x4c\x42\x42\x35\x5f\x37\0\x4c\x42\x42\x35\x5f\x33\0\x4c\x42\x42\x35\x5f\x34\0\ -\x4c\x42\x42\x35\x5f\x36\0\x4c\x42\x42\x36\x5f\x37\0\x4c\x42\x42\x36\x5f\x33\0\ -\x4c\x42\x42\x36\x5f\x34\0\x4c\x42\x42\x36\x5f\x36\0\x4c\x42\x42\x37\x5f\x37\0\ -\x4c\x42\x42\x37\x5f\x33\0\x4c\x42\x42\x37\x5f\x34\0\x4c\x42\x42\x37\x5f\x36\0\ -\x4c\x42\x42\x38\x5f\x37\0\x4c\x42\x42\x38\x5f\x33\0\x4c\x42\x42\x38\x5f\x34\0\ -\x4c\x42\x42\x38\x5f\x36\0\x4c\x42\x42\x39\x5f\x34\0\x6f\x6f\x6d\x5f\x6b\x69\ -\x6c\x6c\x5f\x70\x72\x6f\x63\x65\x73\x73\0\x6f\x6f\x6d\x5f\x65\x76\x65\x6e\x74\ -\x5f\x62\x75\x66\x66\x65\x72\0\x74\x72\x61\x63\x65\x5f\x6b\x6d\x61\x6c\x6c\x6f\ -\x63\0\x74\x61\x73\x6b\x5f\x6d\x6d\x5f\x73\x74\x61\x74\x73\x5f\x6d\x61\x70\0\ -\x70\x72\x6f\x63\x65\x73\x73\x5f\x6d\x6d\x5f\x73\x74\x61\x74\x73\x5f\x6d\x61\ -\x70\0\x74\x68\x72\x65\x68\x6f\x6c\x64\x5f\x6d\x61\x70\0\x74\x61\x73\x6b\x5f\ -\x6d\x6d\x5f\x73\x74\x61\x74\x73\x5f\x62\x75\x66\x66\x65\x72\0\x70\x72\x6f\x63\ -\x65\x73\x73\x5f\x6d\x6d\x5f\x73\x74\x61\x74\x73\x5f\x62\x75\x66\x66\x65\x72\0\ -\x74\x72\x61\x63\x65\x5f\x6b\x66\x72\x65\x65\0\x74\x72\x61\x63\x65\x5f\x70\x61\ -\x67\x65\x5f\x61\x6c\x6c\x6f\x63\0\x74\x72\x61\x63\x65\x5f\x70\x61\x67\x65\x5f\ -\x66\x72\x65\x65\0\x74\x72\x61\x63\x65\x5f\x63\x61\x63\x68\x65\x5f\x61\x6c\x6c\ -\x6f\x63\0\x74\x72\x61\x63\x65\x5f\x63\x61\x63\x68\x65\x5f\x66\x72\x65\x65\0\ -\x68\x61\x6e\x64\x6c\x65\x5f\x6d\x6d\x5f\x74\x61\x73\x6b\x5f\x65\x78\x69\x74\0\ -\x4c\x49\x43\x45\x4e\x53\x45\0\x74\x61\x73\x6b\x5f\x6d\x6d\x5f\x6f\x63\x63\x75\ -\x70\x69\x65\x64\x5f\x6c\x69\x73\x74\0\x70\x72\x6f\x63\x65\x73\x73\x5f\x6d\x6d\ -\x5f\x6f\x63\x63\x75\x70\x69\x65\x64\x5f\x6c\x69\x73\x74\0\x2e\x72\x65\x6c\x2e\ -\x74\x65\x78\x74\0\x2e\x72\x65\x6c\x6b\x70\x72\x6f\x62\x65\x2f\x6f\x6f\x6d\x5f\ -\x6b\x69\x6c\x6c\x5f\x70\x72\x6f\x63\x65\x73\x73\0\x2e\x72\x65\x6c\x74\x72\x61\ -\x63\x65\x70\x6f\x69\x6e\x74\x2f\x6b\x6d\x65\x6d\x2f\x6b\x6d\x61\x6c\x6c\x6f\ -\x63\0\x2e\x72\x65\x6c\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x6b\x6d\x65\ -\x6d\x2f\x6b\x66\x72\x65\x65\0\x2e\x72\x65\x6c\x74\x72\x61\x63\x65\x70\x6f\x69\ -\x6e\x74\x2f\x6b\x6d\x65\x6d\x2f\x6d\x6d\x5f\x70\x61\x67\x65\x5f\x61\x6c\x6c\ -\x6f\x63\0\x2e\x72\x65\x6c\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x6b\x6d\ -\x65\x6d\x2f\x6d\x6d\x5f\x70\x61\x67\x65\x5f\x66\x72\x65\x65\0\x2e\x72\x65\x6c\ -\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x6b\x6d\x65\x6d\x2f\x6b\x6d\x65\ -\x6d\x5f\x63\x61\x63\x68\x65\x5f\x61\x6c\x6c\x6f\x63\0\x2e\x72\x65\x6c\x74\x72\ -\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x6b\x6d\x65\x6d\x2f\x6b\x6d\x65\x6d\x5f\ -\x63\x61\x63\x68\x65\x5f\x66\x72\x65\x65\0\x2e\x72\x65\x6c\x74\x72\x61\x63\x65\ -\x70\x6f\x69\x6e\x74\x2f\x73\x63\x68\x65\x64\x2f\x73\x63\x68\x65\x64\x5f\x70\ -\x72\x6f\x63\x65\x73\x73\x5f\x65\x78\x69\x74\0\x2e\x42\x54\x46\0\x2e\x42\x54\ -\x46\x2e\x65\x78\x74\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x13\ -\x01\0\0\x04\0\xf1\xff\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\x03\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\x22\x01\0\0\0\0\x04\0\x68\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x29\x01\0\0\x01\0\ -\x0e\0\0\0\0\0\0\0\0\0\x1c\0\0\0\0\0\0\0\x46\x01\0\0\0\0\x04\0\x48\x01\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x4d\ -\x01\0\0\0\0\x05\0\xe0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x54\x01\0\0\0\0\x05\0\ -\x60\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x5b\x01\0\0\0\0\x05\0\xc0\x01\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\x62\x01\0\0\x02\0\x03\0\0\0\0\0\0\0\0\0\x90\x02\0\0\0\0\0\0\ -\x7a\x01\0\0\0\0\x05\0\x80\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81\x01\0\0\x02\0\ -\x03\0\x90\x02\0\0\0\0\0\0\x38\x02\0\0\0\0\0\0\x9c\x01\0\0\x01\0\x0e\0\x1c\0\0\ -\0\0\0\0\0\x04\0\0\0\0\0\0\0\xa1\x01\0\0\0\0\x03\0\x68\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\xa8\x01\0\0\x01\0\x0e\0\x20\0\0\0\0\0\0\0\x1d\0\0\0\0\0\0\0\xc8\x01\0\0\ -\0\0\x03\0\xe0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xd0\x01\0\0\0\0\x03\0\xe8\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\xd7\x01\0\0\0\0\x03\0\xb0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\xdf\x01\0\0\0\0\x03\0\x30\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xe6\x01\0\0\0\0\x03\ -\0\xa8\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xee\x01\0\0\x01\0\x0e\0\x3d\0\0\0\0\0\0\ -\0\x1c\0\0\0\0\0\0\0\x10\x02\0\0\x01\0\x0e\0\x5c\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\ -\0\x14\x02\0\0\0\0\x03\0\xf8\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x1b\x02\0\0\x01\0\ -\x0e\0\x60\0\0\0\0\0\0\0\x1d\0\0\0\0\0\0\0\x3e\x02\0\0\0\0\x03\0\x78\x03\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\x46\x02\0\0\0\0\x03\0\x80\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\x4d\x02\0\0\0\0\x03\0\x48\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x55\x02\0\0\0\0\ -\x03\0\xc8\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x5c\x02\0\0\0\0\x03\0\x38\x04\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\x64\x02\0\0\x01\0\x0e\0\x7d\0\0\0\0\0\0\0\x1f\0\0\0\0\0\ -\0\0\0\0\0\0\x03\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x89\x02\0\0\0\0\x06\0\ -\xe0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x90\x02\0\0\0\0\x06\0\x60\x01\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\x97\x02\0\0\0\0\x06\0\xc0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x9e\ -\x02\0\0\0\0\x06\0\x80\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\x07\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xa5\x02\0\0\0\0\x07\0\xe0\x02\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\xac\x02\0\0\0\0\x07\0\x60\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb3\x02\0\0\ -\0\0\x07\0\xc0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xba\x02\0\0\0\0\x07\0\x80\x02\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\xc1\x02\0\0\0\0\x08\0\xe0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xc8\x02\0\0\0\0\x08\ -\0\x60\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xcf\x02\0\0\0\0\x08\0\xc0\x01\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\xd6\x02\0\0\0\0\x08\0\x80\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\x03\0\x09\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xdd\x02\0\0\0\0\x09\0\xe8\ -\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xe4\x02\0\0\0\0\x09\0\x60\x01\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\xeb\x02\0\0\0\0\x09\0\xc0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xf2\x02\ -\0\0\0\0\x09\0\x88\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\x0a\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\xf9\x02\0\0\0\0\x0a\0\xe8\x02\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\x03\0\0\0\0\x0a\0\x60\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x03\0\0\0\0\ -\x0a\0\xc0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x0e\x03\0\0\0\0\x0a\0\x88\x02\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\x0b\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x15\ -\x03\0\0\0\0\x0b\0\x98\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\x0e\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\x1c\x03\0\0\x12\0\x04\0\0\0\0\0\0\0\0\0\x58\x01\0\0\ -\0\0\0\0\x2d\x03\0\0\x11\0\x0d\0\xc0\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\x3e\x03\0\ -\0\x12\0\x05\0\0\0\0\0\0\0\0\0\xf0\x02\0\0\0\0\0\0\x4c\x03\0\0\x11\0\x0d\0\0\0\ -\0\0\0\0\0\0\x20\0\0\0\0\0\0\0\x5e\x03\0\0\x11\0\x0d\0\x20\0\0\0\0\0\0\0\x20\0\ -\0\0\0\0\0\0\x73\x03\0\0\x11\0\x0d\0\x80\0\0\0\0\0\0\0\x20\0\0\0\0\0\0\0\x80\ -\x03\0\0\x11\0\x0d\0\xa0\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\x95\x03\0\0\x11\0\x0d\ -\0\xb0\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\xad\x03\0\0\x12\0\x06\0\0\0\0\0\0\0\0\0\ -\xf0\x02\0\0\0\0\0\0\xb9\x03\0\0\x12\0\x07\0\0\0\0\0\0\0\0\0\xf0\x02\0\0\0\0\0\ -\0\xca\x03\0\0\x12\0\x08\0\0\0\0\0\0\0\0\0\xf0\x02\0\0\0\0\0\0\xda\x03\0\0\x12\ -\0\x09\0\0\0\0\0\0\0\0\0\xf8\x02\0\0\0\0\0\0\xec\x03\0\0\x12\0\x0a\0\0\0\0\0\0\ -\0\0\0\xf8\x02\0\0\0\0\0\0\xfd\x03\0\0\x12\0\x0b\0\0\0\0\0\0\0\0\0\xa8\0\0\0\0\ -\0\0\0\x11\x04\0\0\x11\0\x0c\0\0\0\0\0\0\0\0\0\x0d\0\0\0\0\0\0\0\x19\x04\0\0\ -\x11\0\x0d\0\x40\0\0\0\0\0\0\0\x20\0\0\0\0\0\0\0\x2f\x04\0\0\x11\0\x0d\0\x60\0\ -\0\0\0\0\0\0\x20\0\0\0\0\0\0\0\xbf\x16\0\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\x18\x02\0\0\x1c\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\xbf\x07\0\0\ -\0\0\0\0\x55\x07\x05\0\0\0\0\0\x18\x01\0\0\x20\0\0\0\0\0\0\0\0\0\0\0\xb7\x02\0\ -\0\x1d\0\0\0\x85\0\0\0\x06\0\0\0\x05\0\x0f\0\0\0\0\0\x85\0\0\0\x05\0\0\0\x79\ -\x61\x20\0\0\0\0\0\x79\x72\x10\0\0\0\0\0\x0f\x12\0\0\0\0\0\0\x3d\x02\x0b\0\0\0\ -\0\0\x7b\x06\x20\0\0\0\0\0\xb7\x01\0\0\0\0\0\0\x7b\x16\x28\0\0\0\0\0\x7b\x16\ -\x30\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x62\0\0\0\0\0\0\xbf\x63\ -\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\x95\0\0\0\0\0\0\0\x61\x71\ -\0\0\0\0\0\0\x61\x62\x28\0\0\0\0\0\x3d\x12\x06\0\0\0\0\0\x61\x71\x08\0\0\0\0\0\ -\x61\x62\x30\0\0\0\0\0\x3d\x12\x03\0\0\0\0\0\x61\x61\x2c\0\0\0\0\0\x61\x72\x04\ -\0\0\0\0\0\x2d\x12\xf6\xff\0\0\0\0\x61\x61\x34\0\0\0\0\0\x55\x01\xf4\xff\0\0\0\ -\0\xb7\x08\0\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x02\0\0\x38\0\0\ -\0\xb7\x03\0\0\0\0\0\0\x85\0\0\0\x83\0\0\0\xbf\x07\0\0\0\0\0\0\x55\x07\x05\0\0\ -\0\0\0\x18\x01\0\0\x3d\0\0\0\0\0\0\0\0\0\0\0\xb7\x02\0\0\x1c\0\0\0\x85\0\0\0\ -\x06\0\0\0\x05\0\xe7\xff\0\0\0\0\x7b\x87\x30\0\0\0\0\0\x7b\x87\x28\0\0\0\0\0\ -\x7b\x87\x20\0\0\0\0\0\x7b\x87\x18\0\0\0\0\0\x7b\x87\x10\0\0\0\0\0\x7b\x87\x08\ -\0\0\0\0\0\x7b\x87\0\0\0\0\0\0\x61\x61\0\0\0\0\0\0\x63\x17\0\0\0\0\0\0\x61\x61\ -\x04\0\0\0\0\0\x63\x17\x04\0\0\0\0\0\xbf\x71\0\0\0\0\0\0\x07\x01\0\0\x0c\0\0\0\ -\xbf\x63\0\0\0\0\0\0\x07\x03\0\0\x0c\0\0\0\xb7\x02\0\0\x10\0\0\0\x85\0\0\0\x2d\ -\0\0\0\x61\x61\x28\0\0\0\0\0\x63\x17\x28\0\0\0\0\0\x61\x61\x30\0\0\0\0\0\x63\ -\x17\x30\0\0\0\0\0\x61\x61\x2c\0\0\0\0\0\x63\x17\x2c\0\0\0\0\0\xbf\x71\0\0\0\0\ -\0\0\xb7\x02\0\0\0\0\0\0\x85\0\0\0\x84\0\0\0\xb7\x01\0\0\x01\0\0\0\x63\x16\x34\ -\0\0\0\0\0\x05\0\xc4\xff\0\0\0\0\xbf\x16\0\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\x18\x02\0\0\x5c\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\xbf\x07\0\ -\0\0\0\0\0\x55\x07\x05\0\0\0\0\0\x18\x01\0\0\x60\0\0\0\0\0\0\0\0\0\0\0\xb7\x02\ -\0\0\x1d\0\0\0\x85\0\0\0\x06\0\0\0\x05\0\x10\0\0\0\0\0\x85\0\0\0\x05\0\0\0\x79\ -\x61\x10\0\0\0\0\0\x79\x72\x10\0\0\0\0\0\x0f\x12\0\0\0\0\0\0\x3d\x02\x0c\0\0\0\ -\0\0\x7b\x06\x10\0\0\0\0\0\xb7\x01\0\0\0\0\0\0\x63\x16\x18\0\0\0\0\0\x7b\x16\ -\x08\0\0\0\0\0\x63\x16\x04\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\ -\x62\0\0\0\0\0\0\xbf\x63\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\ -\x95\0\0\0\0\0\0\0\x61\x71\0\0\0\0\0\0\x61\x62\x04\0\0\0\0\0\x3d\x12\x06\0\0\0\ -\0\0\x61\x71\x08\0\0\0\0\0\x61\x62\x0c\0\0\0\0\0\x3d\x12\x03\0\0\0\0\0\x61\x61\ -\x08\0\0\0\0\0\x61\x72\x04\0\0\0\0\0\x2d\x12\xf6\xff\0\0\0\0\x61\x61\x18\0\0\0\ -\0\0\x55\x01\xf4\xff\0\0\0\0\xb7\x07\0\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\xb7\x02\0\0\x20\0\0\0\xb7\x03\0\0\0\0\0\0\x85\0\0\0\x83\0\0\0\x55\0\x05\ -\0\0\0\0\0\x18\x01\0\0\x7d\0\0\0\0\0\0\0\0\0\0\0\xb7\x02\0\0\x1f\0\0\0\x85\0\0\ -\0\x06\0\0\0\x05\0\xe8\xff\0\0\0\0\x7b\x70\x18\0\0\0\0\0\x7b\x70\x10\0\0\0\0\0\ -\x7b\x70\x08\0\0\0\0\0\x7b\x70\0\0\0\0\0\0\x61\x61\0\0\0\0\0\0\x63\x10\0\0\0\0\ -\0\0\x61\x61\x04\0\0\0\0\0\x63\x10\x04\0\0\0\0\0\x61\x61\x0c\0\0\0\0\0\x63\x10\ -\x0c\0\0\0\0\0\x61\x61\x08\0\0\0\0\0\x63\x10\x08\0\0\0\0\0\xbf\x01\0\0\0\0\0\0\ -\xb7\x02\0\0\0\0\0\0\x85\0\0\0\x84\0\0\0\xb7\x01\0\0\x01\0\0\0\x63\x16\x18\0\0\ -\0\0\0\x05\0\xd0\xff\0\0\0\0\x79\x17\x70\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\xb7\x02\0\0\x20\0\0\0\xb7\x03\0\0\0\0\0\0\x85\0\0\0\x83\0\0\0\xbf\x06\ -\0\0\0\0\0\0\x55\x06\x05\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x02\ -\0\0\x1c\0\0\0\x85\0\0\0\x06\0\0\0\x05\0\x1c\0\0\0\0\0\x85\0\0\0\x05\0\0\0\x7b\ -\x06\x18\0\0\0\0\0\xb7\x01\0\0\x28\0\0\0\x0f\x17\0\0\0\0\0\0\xbf\xa1\0\0\0\0\0\ -\0\x07\x01\0\0\xf8\xff\xff\xff\xb7\x02\0\0\x08\0\0\0\xbf\x73\0\0\0\0\0\0\x85\0\ -\0\0\x04\0\0\0\xb7\x01\0\0\x78\x05\0\0\x79\xa3\xf8\xff\0\0\0\0\x0f\x13\0\0\0\0\ -\0\0\xbf\x61\0\0\0\0\0\0\x07\x01\0\0\x04\0\0\0\xb7\x02\0\0\x04\0\0\0\x85\0\0\0\ -\x04\0\0\0\xb7\x01\0\0\x88\x07\0\0\x79\xa3\xf8\xff\0\0\0\0\x0f\x13\0\0\0\0\0\0\ -\xbf\x61\0\0\0\0\0\0\x07\x01\0\0\x08\0\0\0\xb7\x02\0\0\x10\0\0\0\x85\0\0\0\x04\ -\0\0\0\x85\0\0\0\x0e\0\0\0\x63\x06\0\0\0\0\0\0\xbf\x61\0\0\0\0\0\0\xb7\x02\0\0\ -\0\0\0\0\x85\0\0\0\x84\0\0\0\xb7\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\x85\0\0\0\x0e\ -\0\0\0\xbf\x07\0\0\0\0\0\0\xbf\x78\0\0\0\0\0\0\x77\x08\0\0\x20\0\0\0\x63\x8a\ -\xfc\xff\0\0\0\0\x63\x7a\xf8\xff\0\0\0\0\x85\0\0\0\x05\0\0\0\xbf\x06\0\0\0\0\0\ -\0\x67\x07\0\0\x20\0\0\0\x77\x07\0\0\x20\0\0\0\x15\x07\x51\0\0\0\0\0\xbf\xa2\0\ -\0\0\0\0\0\x07\x02\0\0\xf8\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\ -\0\0\0\x01\0\0\0\xbf\x07\0\0\0\0\0\0\x55\x07\x1a\0\0\0\0\0\x63\x8a\xc4\xff\0\0\ -\0\0\x61\xa1\xf8\xff\0\0\0\0\x63\x1a\xc0\xff\0\0\0\0\xb7\x01\0\0\0\0\0\0\x7b\ -\x1a\xf0\xff\0\0\0\0\x7b\x1a\xe8\xff\0\0\0\0\x7b\x1a\xe0\xff\0\0\0\0\x7b\x1a\ -\xd8\xff\0\0\0\0\x7b\x1a\xd0\xff\0\0\0\0\x7b\x1a\xc8\xff\0\0\0\0\xbf\xa1\0\0\0\ -\0\0\0\x07\x01\0\0\xcc\xff\xff\xff\xb7\x02\0\0\x10\0\0\0\x85\0\0\0\x10\0\0\0\ -\xb7\x01\0\0\x01\0\0\0\x63\x1a\xe8\xff\0\0\0\0\x7b\x6a\xe0\xff\0\0\0\0\xbf\xa2\ -\0\0\0\0\0\0\x07\x02\0\0\xf8\xff\xff\xff\xbf\xa3\0\0\0\0\0\0\x07\x03\0\0\xc0\ -\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\ -\x02\0\0\0\x05\0\x0c\0\0\0\0\0\x61\x71\x28\0\0\0\0\0\x07\x01\0\0\x01\0\0\0\x63\ -\x17\x28\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf8\xff\xff\xff\x18\x01\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x73\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\ -\0\0\0\xbf\x71\0\0\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\xbf\xa2\0\0\0\0\0\0\x07\ -\x02\0\0\xfc\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\ -\0\xbf\x07\0\0\0\0\0\0\x55\x07\x11\0\0\0\0\0\x7b\x6a\xd0\xff\0\0\0\0\xb7\x01\0\ -\0\x01\0\0\0\x63\x1a\xc4\xff\0\0\0\0\x61\xa1\xfc\xff\0\0\0\0\x63\x1a\xc0\xff\0\ -\0\0\0\xb7\x01\0\0\0\0\0\0\x63\x1a\xd8\xff\0\0\0\0\x7b\x1a\xc8\xff\0\0\0\0\xbf\ -\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\xbf\xa3\0\0\0\0\0\0\x07\x03\0\0\ -\xc0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\ -\0\0\x02\0\0\0\x05\0\x0c\0\0\0\0\0\x61\x71\x04\0\0\0\0\0\x07\x01\0\0\x01\0\0\0\ -\x63\x17\x04\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\x18\x01\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x73\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\ -\x02\0\0\0\xbf\x71\0\0\0\0\0\0\x85\x10\0\0\x51\0\0\0\xb7\0\0\0\0\0\0\0\x95\0\0\ -\0\0\0\0\0\x85\0\0\0\x0e\0\0\0\xbf\x07\0\0\0\0\0\0\xbf\x78\0\0\0\0\0\0\x77\x08\ -\0\0\x20\0\0\0\x63\x8a\xfc\xff\0\0\0\0\x63\x7a\xf8\xff\0\0\0\0\x85\0\0\0\x05\0\ -\0\0\xbf\x06\0\0\0\0\0\0\x67\x07\0\0\x20\0\0\0\x77\x07\0\0\x20\0\0\0\x15\x07\ -\x51\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf8\xff\xff\xff\x18\x01\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\xbf\x07\0\0\0\0\0\0\x55\x07\x1a\0\0\0\ -\0\0\x63\x8a\xc4\xff\0\0\0\0\x61\xa1\xf8\xff\0\0\0\0\x63\x1a\xc0\xff\0\0\0\0\ -\xb7\x01\0\0\0\0\0\0\x7b\x1a\xf0\xff\0\0\0\0\x7b\x1a\xe8\xff\0\0\0\0\x7b\x1a\ -\xe0\xff\0\0\0\0\x7b\x1a\xd8\xff\0\0\0\0\x7b\x1a\xd0\xff\0\0\0\0\x7b\x1a\xc8\ -\xff\0\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\xcc\xff\xff\xff\xb7\x02\0\0\x10\0\ -\0\0\x85\0\0\0\x10\0\0\0\xb7\x01\0\0\x01\0\0\0\x63\x1a\xe8\xff\0\0\0\0\x7b\x6a\ -\xe0\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf8\xff\xff\xff\xbf\xa3\0\0\0\ -\0\0\0\x07\x03\0\0\xc0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x04\ -\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\x05\0\x0c\0\0\0\0\0\x61\x71\x28\0\0\0\0\0\x07\ -\x01\0\0\x01\0\0\0\x63\x17\x28\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf8\ -\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x73\0\0\0\0\0\0\xb7\x04\0\ -\0\0\0\0\0\x85\0\0\0\x02\0\0\0\xbf\x71\0\0\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\ -\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\x85\0\0\0\x01\0\0\0\xbf\x07\0\0\0\0\0\0\x55\x07\x11\0\0\0\0\0\x7b\x6a\ -\xd0\xff\0\0\0\0\xb7\x01\0\0\x01\0\0\0\x63\x1a\xc4\xff\0\0\0\0\x61\xa1\xfc\xff\ -\0\0\0\0\x63\x1a\xc0\xff\0\0\0\0\xb7\x01\0\0\0\0\0\0\x63\x1a\xd8\xff\0\0\0\0\ -\x7b\x1a\xc8\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\xbf\ -\xa3\0\0\0\0\0\0\x07\x03\0\0\xc0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\x05\0\x0c\0\0\0\0\0\x61\x71\x04\0\0\ -\0\0\0\x07\x01\0\0\x01\0\0\0\x63\x17\x04\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\ -\0\0\xfc\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x73\0\0\0\0\0\0\ -\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\xbf\x71\0\0\0\0\0\0\x85\x10\0\0\x51\0\ -\0\0\xb7\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\x85\0\0\0\x0e\0\0\0\xbf\x07\0\0\0\0\0\ -\0\xbf\x78\0\0\0\0\0\0\x77\x08\0\0\x20\0\0\0\x63\x8a\xfc\xff\0\0\0\0\x63\x7a\ -\xf8\xff\0\0\0\0\x85\0\0\0\x05\0\0\0\xbf\x06\0\0\0\0\0\0\x67\x07\0\0\x20\0\0\0\ -\x77\x07\0\0\x20\0\0\0\x15\x07\x51\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\ -\xf8\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\xbf\ -\x07\0\0\0\0\0\0\x55\x07\x1a\0\0\0\0\0\x63\x8a\xc4\xff\0\0\0\0\x61\xa1\xf8\xff\ -\0\0\0\0\x63\x1a\xc0\xff\0\0\0\0\xb7\x01\0\0\0\0\0\0\x7b\x1a\xf0\xff\0\0\0\0\ -\x7b\x1a\xe8\xff\0\0\0\0\x7b\x1a\xe0\xff\0\0\0\0\x7b\x1a\xd8\xff\0\0\0\0\x7b\ -\x1a\xd0\xff\0\0\0\0\x7b\x1a\xc8\xff\0\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\ -\xcc\xff\xff\xff\xb7\x02\0\0\x10\0\0\0\x85\0\0\0\x10\0\0\0\xb7\x01\0\0\x01\0\0\ -\0\x63\x1a\xec\xff\0\0\0\0\x7b\x6a\xe0\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\ -\0\0\xf8\xff\xff\xff\xbf\xa3\0\0\0\0\0\0\x07\x03\0\0\xc0\xff\xff\xff\x18\x01\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\x05\0\x0c\0\ -\0\0\0\0\x61\x71\x2c\0\0\0\0\0\x07\x01\0\0\x01\0\0\0\x63\x17\x2c\0\0\0\0\0\xbf\ -\xa2\0\0\0\0\0\0\x07\x02\0\0\xf8\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\xbf\x73\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\xbf\x71\0\0\0\0\ -\0\0\x85\x10\0\0\xff\xff\xff\xff\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\ -\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\xbf\x07\0\0\0\0\0\ -\0\x55\x07\x11\0\0\0\0\0\x7b\x6a\xd0\xff\0\0\0\0\xb7\x01\0\0\x01\0\0\0\x7b\x1a\ -\xc8\xff\0\0\0\0\x61\xa1\xfc\xff\0\0\0\0\x63\x1a\xc0\xff\0\0\0\0\xb7\x01\0\0\0\ -\0\0\0\x63\x1a\xd8\xff\0\0\0\0\x63\x1a\xc4\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\ -\x02\0\0\xfc\xff\xff\xff\xbf\xa3\0\0\0\0\0\0\x07\x03\0\0\xc0\xff\xff\xff\x18\ -\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\x05\0\ -\x0c\0\0\0\0\0\x61\x71\x08\0\0\0\0\0\x07\x01\0\0\x01\0\0\0\x63\x17\x08\0\0\0\0\ -\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\xbf\x73\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\xbf\x71\0\ -\0\0\0\0\0\x85\x10\0\0\x51\0\0\0\xb7\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\x85\0\0\0\ -\x0e\0\0\0\xbf\x07\0\0\0\0\0\0\xbf\x78\0\0\0\0\0\0\x77\x08\0\0\x20\0\0\0\x63\ -\x8a\xfc\xff\0\0\0\0\x63\x7a\xf8\xff\0\0\0\0\x85\0\0\0\x05\0\0\0\xbf\x06\0\0\0\ -\0\0\0\x67\x07\0\0\x20\0\0\0\x77\x07\0\0\x20\0\0\0\x15\x07\x51\0\0\0\0\0\xbf\ -\xa2\0\0\0\0\0\0\x07\x02\0\0\xf8\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\x85\0\0\0\x01\0\0\0\xbf\x07\0\0\0\0\0\0\x55\x07\x1a\0\0\0\0\0\x63\x8a\xc4\ -\xff\0\0\0\0\x61\xa1\xf8\xff\0\0\0\0\x63\x1a\xc0\xff\0\0\0\0\xb7\x01\0\0\0\0\0\ -\0\x7b\x1a\xf0\xff\0\0\0\0\x7b\x1a\xe8\xff\0\0\0\0\x7b\x1a\xe0\xff\0\0\0\0\x7b\ -\x1a\xd8\xff\0\0\0\0\x7b\x1a\xd0\xff\0\0\0\0\x7b\x1a\xc8\xff\0\0\0\0\xbf\xa1\0\ -\0\0\0\0\0\x07\x01\0\0\xcc\xff\xff\xff\xb7\x02\0\0\x10\0\0\0\x85\0\0\0\x10\0\0\ -\0\xb7\x01\0\0\x01\0\0\0\x63\x1a\xec\xff\0\0\0\0\x7b\x6a\xe0\xff\0\0\0\0\xbf\ -\xa2\0\0\0\0\0\0\x07\x02\0\0\xf8\xff\xff\xff\xbf\xa3\0\0\0\0\0\0\x07\x03\0\0\ -\xc0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\ -\0\0\x02\0\0\0\x05\0\x0c\0\0\0\0\0\x61\x71\x2c\0\0\0\0\0\x07\x01\0\0\x01\0\0\0\ -\x63\x17\x2c\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf8\xff\xff\xff\x18\x01\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x73\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\ -\x02\0\0\0\xbf\x71\0\0\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\xbf\xa2\0\0\0\0\0\0\ -\x07\x02\0\0\xfc\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\ -\0\0\0\xbf\x07\0\0\0\0\0\0\x55\x07\x11\0\0\0\0\0\x7b\x6a\xd0\xff\0\0\0\0\xb7\ -\x01\0\0\x01\0\0\0\x7b\x1a\xc8\xff\0\0\0\0\x61\xa1\xfc\xff\0\0\0\0\x63\x1a\xc0\ -\xff\0\0\0\0\xb7\x01\0\0\0\0\0\0\x63\x1a\xd8\xff\0\0\0\0\x63\x1a\xc4\xff\0\0\0\ -\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\xbf\xa3\0\0\0\0\0\0\x07\x03\ -\0\0\xc0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\ -\x85\0\0\0\x02\0\0\0\x05\0\x0c\0\0\0\0\0\x61\x71\x08\0\0\0\0\0\x07\x01\0\0\x01\ -\0\0\0\x63\x17\x08\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\ -\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x73\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\ -\x85\0\0\0\x02\0\0\0\xbf\x71\0\0\0\0\0\0\x85\x10\0\0\x51\0\0\0\xb7\0\0\0\0\0\0\ -\0\x95\0\0\0\0\0\0\0\x85\0\0\0\x0e\0\0\0\xbf\x07\0\0\0\0\0\0\xbf\x78\0\0\0\0\0\ -\0\x77\x08\0\0\x20\0\0\0\x63\x8a\xfc\xff\0\0\0\0\x63\x7a\xf8\xff\0\0\0\0\x85\0\ -\0\0\x05\0\0\0\xbf\x06\0\0\0\0\0\0\x67\x07\0\0\x20\0\0\0\x77\x07\0\0\x20\0\0\0\ -\x15\x07\x52\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf8\xff\xff\xff\x18\x01\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\xbf\x07\0\0\0\0\0\0\x55\x07\ -\x1a\0\0\0\0\0\x63\x8a\xc4\xff\0\0\0\0\x61\xa1\xf8\xff\0\0\0\0\x63\x1a\xc0\xff\ -\0\0\0\0\xb7\x01\0\0\0\0\0\0\x7b\x1a\xf0\xff\0\0\0\0\x7b\x1a\xe8\xff\0\0\0\0\ -\x7b\x1a\xe0\xff\0\0\0\0\x7b\x1a\xd8\xff\0\0\0\0\x7b\x1a\xd0\xff\0\0\0\0\x7b\ -\x1a\xc8\xff\0\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\xcc\xff\xff\xff\xb7\x02\0\ -\0\x10\0\0\0\x85\0\0\0\x10\0\0\0\xb7\x01\0\0\x01\0\0\0\x63\x1a\xf0\xff\0\0\0\0\ -\x7b\x6a\xe0\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf8\xff\xff\xff\xbf\ -\xa3\0\0\0\0\0\0\x07\x03\0\0\xc0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\x05\0\x0c\0\0\0\0\0\x61\x71\x30\0\0\ -\0\0\0\x07\x01\0\0\x01\0\0\0\x63\x17\x30\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\ -\0\0\xf8\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x73\0\0\0\0\0\0\ -\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\xbf\x71\0\0\0\0\0\0\x85\x10\0\0\xff\ -\xff\xff\xff\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\x18\x01\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\xbf\x07\0\0\0\0\0\0\x55\x07\x12\0\0\0\0\ -\0\x7b\x6a\xd0\xff\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\x7b\x1a\xc8\ -\xff\0\0\0\0\x61\xa1\xfc\xff\0\0\0\0\x63\x1a\xc0\xff\0\0\0\0\xb7\x01\0\0\0\0\0\ -\0\x63\x1a\xd8\xff\0\0\0\0\x63\x1a\xc4\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\ -\0\0\xfc\xff\xff\xff\xbf\xa3\0\0\0\0\0\0\x07\x03\0\0\xc0\xff\xff\xff\x18\x01\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\x05\0\x0c\0\ -\0\0\0\0\x61\x71\x0c\0\0\0\0\0\x07\x01\0\0\x01\0\0\0\x63\x17\x0c\0\0\0\0\0\xbf\ -\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\xbf\x73\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\xbf\x71\0\0\0\0\ -\0\0\x85\x10\0\0\x51\0\0\0\xb7\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\x85\0\0\0\x0e\0\ -\0\0\xbf\x07\0\0\0\0\0\0\xbf\x78\0\0\0\0\0\0\x77\x08\0\0\x20\0\0\0\x63\x8a\xfc\ -\xff\0\0\0\0\x63\x7a\xf8\xff\0\0\0\0\x85\0\0\0\x05\0\0\0\xbf\x06\0\0\0\0\0\0\ -\x67\x07\0\0\x20\0\0\0\x77\x07\0\0\x20\0\0\0\x15\x07\x52\0\0\0\0\0\xbf\xa2\0\0\ -\0\0\0\0\x07\x02\0\0\xf8\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\ -\0\0\x01\0\0\0\xbf\x07\0\0\0\0\0\0\x55\x07\x1a\0\0\0\0\0\x63\x8a\xc4\xff\0\0\0\ -\0\x61\xa1\xf8\xff\0\0\0\0\x63\x1a\xc0\xff\0\0\0\0\xb7\x01\0\0\0\0\0\0\x7b\x1a\ -\xf0\xff\0\0\0\0\x7b\x1a\xe8\xff\0\0\0\0\x7b\x1a\xe0\xff\0\0\0\0\x7b\x1a\xd8\ -\xff\0\0\0\0\x7b\x1a\xd0\xff\0\0\0\0\x7b\x1a\xc8\xff\0\0\0\0\xbf\xa1\0\0\0\0\0\ -\0\x07\x01\0\0\xcc\xff\xff\xff\xb7\x02\0\0\x10\0\0\0\x85\0\0\0\x10\0\0\0\xb7\ -\x01\0\0\x01\0\0\0\x63\x1a\xf0\xff\0\0\0\0\x7b\x6a\xe0\xff\0\0\0\0\xbf\xa2\0\0\ -\0\0\0\0\x07\x02\0\0\xf8\xff\xff\xff\xbf\xa3\0\0\0\0\0\0\x07\x03\0\0\xc0\xff\ -\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\ -\0\0\0\x05\0\x0c\0\0\0\0\0\x61\x71\x30\0\0\0\0\0\x07\x01\0\0\x01\0\0\0\x63\x17\ -\x30\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf8\xff\xff\xff\x18\x01\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\xbf\x73\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\ -\0\xbf\x71\0\0\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\xbf\xa2\0\0\0\0\0\0\x07\x02\ -\0\0\xfc\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\ -\xbf\x07\0\0\0\0\0\0\x55\x07\x12\0\0\0\0\0\x7b\x6a\xd0\xff\0\0\0\0\x18\x01\0\0\ -\0\0\0\0\0\0\0\0\x01\0\0\0\x7b\x1a\xc8\xff\0\0\0\0\x61\xa1\xfc\xff\0\0\0\0\x63\ -\x1a\xc0\xff\0\0\0\0\xb7\x01\0\0\0\0\0\0\x63\x1a\xd8\xff\0\0\0\0\x63\x1a\xc4\ -\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\xbf\xa3\0\0\0\0\0\ -\0\x07\x03\0\0\xc0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x04\0\0\ -\0\0\0\0\x85\0\0\0\x02\0\0\0\x05\0\x0c\0\0\0\0\0\x61\x71\x0c\0\0\0\0\0\x07\x01\ -\0\0\x01\0\0\0\x63\x17\x0c\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\ -\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x73\0\0\0\0\0\0\xb7\x04\0\0\0\ -\0\0\0\x85\0\0\0\x02\0\0\0\xbf\x71\0\0\0\0\0\0\x85\x10\0\0\x51\0\0\0\xb7\0\0\0\ -\0\0\0\0\x95\0\0\0\0\0\0\0\x85\0\0\0\x0e\0\0\0\x63\x0a\xfc\xff\0\0\0\0\x18\x01\ -\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\x2d\x01\x0e\0\0\0\0\0\x67\0\0\0\x20\0\0\0\x77\0\ -\0\0\x20\0\0\0\x15\0\x0b\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\ -\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\x15\0\x05\0\0\0\0\ -\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\x85\0\0\0\x03\0\0\0\xb7\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\x44\x75\x61\ -\x6c\x20\x42\x53\x44\x2f\x47\x50\x4c\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x74\x68\ -\x65\x20\x6f\x6f\x6d\x5f\x65\x76\x65\x6e\x74\x5f\x62\x75\x66\x66\x20\x69\x73\ -\x20\x66\x75\x6c\x6c\x0a\0\0\0\0\0\x6d\x6d\x5f\x74\x68\x72\x65\x68\x6f\x6c\x64\ -\x20\x6d\x61\x70\x20\x69\x73\x20\x6e\x6f\x74\x20\x69\x6e\x69\x74\x0a\0\x74\x61\ -\x73\x6b\x5f\x6d\x6d\x5f\x73\x74\x61\x74\x73\x5f\x62\x75\x66\x66\x20\x69\x73\ -\x20\x66\x75\x6c\x6c\x0a\0\0\0\0\x01\0\0\0\x6d\x6d\x5f\x74\x68\x72\x65\x68\x6f\ -\x6c\x64\x20\x6d\x61\x70\x20\x69\x73\x20\x6e\x6f\x74\x20\x69\x6e\x69\x74\x0a\0\ -\x70\x72\x6f\x63\x65\x73\x73\x5f\x6d\x6d\x5f\x73\x74\x61\x74\x73\x5f\x62\x75\ -\x66\x66\x20\x69\x73\x20\x66\x75\x6c\x6c\x0a\0\0\0\0\0\x08\0\0\0\0\0\0\0\x01\0\ -\0\0\x41\0\0\0\x18\0\0\0\0\0\0\0\x01\0\0\0\x3b\0\0\0\x40\0\0\0\0\0\0\0\x01\0\0\ -\0\x3b\0\0\0\xb0\0\0\0\0\0\0\0\x01\0\0\0\x3f\0\0\0\x48\x01\0\0\0\0\0\0\x01\0\0\ -\0\x42\0\0\0\x80\x01\0\0\0\0\0\0\x01\0\0\0\x3b\0\0\0\x98\x02\0\0\0\0\0\0\x01\0\ -\0\0\x41\0\0\0\xa8\x02\0\0\0\0\0\0\x01\0\0\0\x3b\0\0\0\xd0\x02\0\0\0\0\0\0\x01\ -\0\0\0\x3b\0\0\0\x48\x03\0\0\0\0\0\0\x01\0\0\0\x40\0\0\0\xe0\x03\0\0\0\0\0\0\ -\x01\0\0\0\x43\0\0\0\x10\x04\0\0\0\0\0\0\x01\0\0\0\x3b\0\0\0\x08\0\0\0\0\0\0\0\ -\x01\0\0\0\x3d\0\0\0\x40\0\0\0\0\0\0\0\x01\0\0\0\x3b\0\0\0\x68\0\0\0\0\0\0\0\ -\x01\0\0\0\x3f\0\0\0\x38\x01\0\0\0\0\0\0\x01\0\0\0\x3f\0\0\0\x88\x01\0\0\0\0\0\ -\0\x01\0\0\0\x3f\0\0\0\xb8\x01\0\0\0\0\0\0\x0a\0\0\0\x02\0\0\0\xd0\x01\0\0\0\0\ -\0\0\x01\0\0\0\x40\0\0\0\x58\x02\0\0\0\0\0\0\x01\0\0\0\x40\0\0\0\xa8\x02\0\0\0\ -\0\0\0\x01\0\0\0\x40\0\0\0\xd8\x02\0\0\0\0\0\0\x0a\0\0\0\x02\0\0\0\x68\0\0\0\0\ -\0\0\0\x01\0\0\0\x3f\0\0\0\x38\x01\0\0\0\0\0\0\x01\0\0\0\x3f\0\0\0\x88\x01\0\0\ -\0\0\0\0\x01\0\0\0\x3f\0\0\0\xb8\x01\0\0\0\0\0\0\x0a\0\0\0\x02\0\0\0\xd0\x01\0\ -\0\0\0\0\0\x01\0\0\0\x40\0\0\0\x58\x02\0\0\0\0\0\0\x01\0\0\0\x40\0\0\0\xa8\x02\ -\0\0\0\0\0\0\x01\0\0\0\x40\0\0\0\xd8\x02\0\0\0\0\0\0\x0a\0\0\0\x02\0\0\0\x68\0\ -\0\0\0\0\0\0\x01\0\0\0\x3f\0\0\0\x38\x01\0\0\0\0\0\0\x01\0\0\0\x3f\0\0\0\x88\ -\x01\0\0\0\0\0\0\x01\0\0\0\x3f\0\0\0\xb8\x01\0\0\0\0\0\0\x0a\0\0\0\x02\0\0\0\ -\xd0\x01\0\0\0\0\0\0\x01\0\0\0\x40\0\0\0\x58\x02\0\0\0\0\0\0\x01\0\0\0\x40\0\0\ -\0\xa8\x02\0\0\0\0\0\0\x01\0\0\0\x40\0\0\0\xd8\x02\0\0\0\0\0\0\x0a\0\0\0\x02\0\ -\0\0\x68\0\0\0\0\0\0\0\x01\0\0\0\x3f\0\0\0\x38\x01\0\0\0\0\0\0\x01\0\0\0\x3f\0\ -\0\0\x88\x01\0\0\0\0\0\0\x01\0\0\0\x3f\0\0\0\xb8\x01\0\0\0\0\0\0\x0a\0\0\0\x02\ -\0\0\0\xd0\x01\0\0\0\0\0\0\x01\0\0\0\x40\0\0\0\x58\x02\0\0\0\0\0\0\x01\0\0\0\ -\x40\0\0\0\xa8\x02\0\0\0\0\0\0\x01\0\0\0\x40\0\0\0\xd8\x02\0\0\0\0\0\0\x0a\0\0\ -\0\x02\0\0\0\x68\0\0\0\0\0\0\0\x01\0\0\0\x3f\0\0\0\x38\x01\0\0\0\0\0\0\x01\0\0\ -\0\x3f\0\0\0\x88\x01\0\0\0\0\0\0\x01\0\0\0\x3f\0\0\0\xb8\x01\0\0\0\0\0\0\x0a\0\ -\0\0\x02\0\0\0\xd0\x01\0\0\0\0\0\0\x01\0\0\0\x40\0\0\0\x60\x02\0\0\0\0\0\0\x01\ -\0\0\0\x40\0\0\0\xb0\x02\0\0\0\0\0\0\x01\0\0\0\x40\0\0\0\xe0\x02\0\0\0\0\0\0\ -\x0a\0\0\0\x02\0\0\0\x68\0\0\0\0\0\0\0\x01\0\0\0\x3f\0\0\0\x38\x01\0\0\0\0\0\0\ -\x01\0\0\0\x3f\0\0\0\x88\x01\0\0\0\0\0\0\x01\0\0\0\x3f\0\0\0\xb8\x01\0\0\0\0\0\ -\0\x0a\0\0\0\x02\0\0\0\xd0\x01\0\0\0\0\0\0\x01\0\0\0\x40\0\0\0\x60\x02\0\0\0\0\ -\0\0\x01\0\0\0\x40\0\0\0\xb0\x02\0\0\0\0\0\0\x01\0\0\0\x40\0\0\0\xe0\x02\0\0\0\ -\0\0\0\x0a\0\0\0\x02\0\0\0\x50\0\0\0\0\0\0\0\x01\0\0\0\x3f\0\0\0\x80\0\0\0\0\0\ -\0\0\x01\0\0\0\x3f\0\0\0\x9f\xeb\x01\0\x18\0\0\0\0\0\0\0\xe8\x4a\0\0\xe8\x4a\0\ -\0\x15\x43\0\0\0\0\0\0\0\0\0\x02\x03\0\0\0\x01\0\0\0\0\0\0\x01\x04\0\0\0\x20\0\ -\0\x01\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\x01\0\0\0\x05\0\0\0\0\0\0\ -\x01\x04\0\0\0\x20\0\0\0\0\0\0\0\0\0\0\x02\x06\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\ -\x02\0\0\0\x04\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\x02\x08\0\0\0\0\0\0\0\0\0\0\x03\0\ -\0\0\0\x02\0\0\0\x04\0\0\0\x38\0\0\0\0\0\0\0\0\0\0\x02\x0a\0\0\0\0\0\0\0\0\0\0\ -\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\0\x90\x01\0\0\0\0\0\x04\0\0\x04\x20\0\0\0\x19\ -\0\0\0\x01\0\0\0\0\0\0\0\x1e\0\0\0\x05\0\0\0\x40\0\0\0\x27\0\0\0\x07\0\0\0\x80\ -\0\0\0\x32\0\0\0\x09\0\0\0\xc0\0\0\0\x3e\0\0\0\0\0\0\x0e\x0b\0\0\0\x01\0\0\0\0\ -\0\0\0\0\0\0\x02\x0e\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\x20\0\ -\0\0\0\0\0\0\0\0\0\x02\x10\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\ -\0\x10\0\0\0\0\0\0\x04\0\0\x04\x20\0\0\0\x19\0\0\0\x01\0\0\0\0\0\0\0\x1e\0\0\0\ -\x05\0\0\0\x40\0\0\0\x27\0\0\0\x0d\0\0\0\x80\0\0\0\x32\0\0\0\x0f\0\0\0\xc0\0\0\ -\0\x50\0\0\0\0\0\0\x0e\x11\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x02\x14\0\0\0\0\0\0\0\ -\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\x02\x16\0\0\0\0\ -\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\x14\0\0\0\0\0\0\0\0\0\0\x02\x18\0\ -\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\0\x01\0\0\0\0\0\0\x04\0\0\ -\x04\x20\0\0\0\x19\0\0\0\x13\0\0\0\0\0\0\0\x1e\0\0\0\x05\0\0\0\x40\0\0\0\x27\0\ -\0\0\x15\0\0\0\x80\0\0\0\x32\0\0\0\x17\0\0\0\xc0\0\0\0\x65\0\0\0\0\0\0\x0e\x19\ -\0\0\0\x01\0\0\0\x7b\0\0\0\0\0\0\x0e\x19\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x02\x1d\ -\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\x18\0\0\0\0\0\0\0\x04\0\0\ -\x04\x20\0\0\0\x19\0\0\0\x13\0\0\0\0\0\0\0\x1e\0\0\0\x05\0\0\0\x40\0\0\0\x27\0\ -\0\0\x1c\0\0\0\x80\0\0\0\x32\0\0\0\x13\0\0\0\xc0\0\0\0\x94\0\0\0\0\0\0\x0e\x1e\ -\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x02\x21\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\ -\0\x04\0\0\0\x1b\0\0\0\0\0\0\0\0\0\0\x02\x23\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\ -\x02\0\0\0\x04\0\0\0\0\0\x04\0\0\0\0\0\x02\0\0\x04\x10\0\0\0\x19\0\0\0\x20\0\0\ -\0\0\0\0\0\x32\0\0\0\x22\0\0\0\x40\0\0\0\xa1\0\0\0\0\0\0\x0e\x24\0\0\0\x01\0\0\ -\0\0\0\0\0\0\0\0\x02\x27\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\0\ -\0\x02\0\0\0\0\0\x02\0\0\x04\x10\0\0\0\x19\0\0\0\x20\0\0\0\0\0\0\0\x32\0\0\0\ -\x26\0\0\0\x40\0\0\0\xb6\0\0\0\0\0\0\x0e\x28\0\0\0\x01\0\0\0\xce\0\0\0\0\0\0\ -\x0e\x24\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x02\x2c\0\0\0\xdf\0\0\0\x15\0\0\x04\xa8\ -\0\0\0\xe7\0\0\0\x2d\0\0\0\0\0\0\0\xeb\0\0\0\x2d\0\0\0\x40\0\0\0\xef\0\0\0\x2d\ -\0\0\0\x80\0\0\0\xf3\0\0\0\x2d\0\0\0\xc0\0\0\0\xf7\0\0\0\x2d\0\0\0\0\x01\0\0\ -\xfa\0\0\0\x2d\0\0\0\x40\x01\0\0\xfd\0\0\0\x2d\0\0\0\x80\x01\0\0\x01\x01\0\0\ -\x2d\0\0\0\xc0\x01\0\0\x05\x01\0\0\x2d\0\0\0\0\x02\0\0\x08\x01\0\0\x2d\0\0\0\ -\x40\x02\0\0\x0b\x01\0\0\x2d\0\0\0\x80\x02\0\0\x0e\x01\0\0\x2d\0\0\0\xc0\x02\0\ -\0\x11\x01\0\0\x2d\0\0\0\0\x03\0\0\x14\x01\0\0\x2d\0\0\0\x40\x03\0\0\x17\x01\0\ -\0\x2d\0\0\0\x80\x03\0\0\x1a\x01\0\0\x2d\0\0\0\xc0\x03\0\0\x22\x01\0\0\x2d\0\0\ -\0\0\x04\0\0\x25\x01\0\0\x2d\0\0\0\x40\x04\0\0\x28\x01\0\0\x2d\0\0\0\x80\x04\0\ -\0\x2e\x01\0\0\x2d\0\0\0\xc0\x04\0\0\x31\x01\0\0\x2d\0\0\0\0\x05\0\0\x34\x01\0\ -\0\0\0\0\x01\x08\0\0\0\x40\0\0\0\0\0\0\0\x01\0\0\x0d\x02\0\0\0\x42\x01\0\0\x2b\ -\0\0\0\x46\x01\0\0\x01\0\0\x0c\x2e\0\0\0\x57\x01\0\0\x09\0\0\x04\x40\0\0\0\x63\ -\x01\0\0\x31\0\0\0\0\0\0\0\x6c\x01\0\0\x32\0\0\0\x40\0\0\0\x75\x01\0\0\x36\0\0\ -\0\x80\0\0\0\x7b\x01\0\0\x37\0\0\0\xc0\0\0\0\x84\x01\0\0\x3a\0\0\0\xe0\0\0\0\ -\x8a\x01\0\0\x2d\0\0\0\0\x01\0\0\x95\x01\0\0\x3b\0\0\0\x40\x01\0\0\x9c\x01\0\0\ -\x3c\0\0\0\x80\x01\0\0\xaa\x01\0\0\x3d\0\0\0\xc0\x01\0\0\0\0\0\0\0\0\0\x02\xeb\ -\x01\0\0\0\0\0\0\0\0\0\x02\x33\0\0\0\xb5\x01\0\0\0\0\0\x08\x34\0\0\0\0\0\0\0\ -\x01\0\0\x04\x08\0\0\0\xc0\x01\0\0\x35\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\ -\x2d\0\0\0\x04\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x02\xc7\x01\0\0\0\0\0\0\0\0\0\x0a\ -\x38\0\0\0\xc5\x01\0\0\0\0\0\x08\x39\0\0\0\xcb\x01\0\0\0\0\0\x01\x04\0\0\0\x20\ -\0\0\0\0\0\0\0\0\0\0\x0a\x02\0\0\0\0\0\0\0\0\0\0\x02\x3e\0\0\0\xd8\x01\0\0\0\0\ -\0\x01\x08\0\0\0\x40\0\0\x01\xdd\x01\0\0\x04\0\0\x06\x04\0\0\0\xec\x01\0\0\0\0\ -\0\0\xfc\x01\0\0\x01\0\0\0\x0e\x02\0\0\x02\0\0\0\x27\x02\0\0\x03\0\0\0\x38\x02\ -\0\0\xfd\0\0\x84\x40\x27\0\0\x44\x02\0\0\x3f\0\0\0\0\0\0\0\x50\x02\0\0\x39\0\0\ -\0\xc0\0\0\0\x58\x02\0\0\x42\0\0\0\0\x01\0\0\x5e\x02\0\0\x43\0\0\0\x40\x01\0\0\ -\x28\x01\0\0\x39\0\0\0\x60\x01\0\0\x64\x02\0\0\x39\0\0\0\x80\x01\0\0\x6b\x02\0\ -\0\x02\0\0\0\xa0\x01\0\0\x72\x02\0\0\x47\0\0\0\xc0\x01\0\0\x7d\x02\0\0\x39\0\0\ -\0\x40\x02\0\0\x89\x02\0\0\x2d\0\0\0\x80\x02\0\0\x9d\x02\0\0\x3b\0\0\0\xc0\x02\ -\0\0\xa8\x02\0\0\x02\0\0\0\0\x03\0\0\xb8\x02\0\0\x02\0\0\0\x20\x03\0\0\xc1\x02\ -\0\0\x02\0\0\0\x40\x03\0\0\xc7\x02\0\0\x02\0\0\0\x60\x03\0\0\xcc\x02\0\0\x02\0\ -\0\0\x80\x03\0\0\xd8\x02\0\0\x02\0\0\0\xa0\x03\0\0\xe4\x02\0\0\x39\0\0\0\xc0\ -\x03\0\0\xf0\x02\0\0\x4e\0\0\0\0\x04\0\0\xf3\x02\0\0\x5b\0\0\0\0\x0c\0\0\xf6\ -\x02\0\0\x5d\0\0\0\x80\x0d\0\0\xf9\x02\0\0\x6d\0\0\0\x80\x14\0\0\x05\x03\0\0\ -\x6f\0\0\0\xc0\x14\0\0\x16\x03\0\0\x70\0\0\0\0\x16\0\0\x1c\x03\0\0\x39\0\0\0\0\ -\x1e\0\0\x27\x03\0\0\x39\0\0\0\x20\x1e\0\0\x2e\x03\0\0\x02\0\0\0\x40\x1e\0\0\ -\x3e\x03\0\0\x71\0\0\0\x80\x1e\0\0\x47\x03\0\0\x74\0\0\0\xc0\x1e\0\0\x55\x03\0\ -\0\x73\0\0\0\0\x1f\0\0\x5f\x03\0\0\x42\0\0\0\x80\x1f\0\0\x71\x03\0\0\x4d\0\0\0\ -\xc0\x1f\0\0\x84\x03\0\0\x4d\0\0\0\xd0\x1f\0\0\x94\x03\0\0\x02\0\0\0\xe0\x1f\0\ -\0\xaa\x03\0\0\x77\0\0\0\0\x20\0\0\xc2\x03\0\0\x52\0\0\0\x40\x20\0\0\xd1\x03\0\ -\0\x79\0\0\0\xc0\x20\0\0\xe2\x03\0\0\x2d\0\0\0\0\x21\0\0\xf2\x03\0\0\x69\0\0\0\ -\x40\x21\0\0\x04\x04\0\0\x69\0\0\0\x48\x21\0\0\x12\x04\0\0\x02\0\0\0\x60\x21\0\ -\0\x25\x04\0\0\x52\0\0\0\x80\x21\0\0\x3c\x04\0\0\x02\0\0\0\0\x22\0\0\x4f\x04\0\ -\0\x02\0\0\0\x20\x22\0\0\x5e\x04\0\0\x77\0\0\0\x40\x22\0\0\x71\x04\0\0\x52\0\0\ -\0\x80\x22\0\0\x82\x04\0\0\x52\0\0\0\0\x23\0\0\x90\x04\0\0\x02\0\0\0\x80\x23\0\ -\0\x9d\x04\0\0\x7a\0\0\0\xc0\x23\0\0\xa8\x04\0\0\x52\0\0\0\xc0\x24\0\0\xae\x04\ -\0\0\x7b\0\0\0\x40\x25\0\0\xbd\x04\0\0\x50\0\0\0\x80\x26\0\0\xcf\x04\0\0\x7c\0\ -\0\0\x40\x27\0\0\xd2\x04\0\0\x7c\0\0\0\x80\x27\0\0\xdc\x04\0\0\x7d\0\0\0\xc0\ -\x27\0\0\xe5\x04\0\0\x02\0\0\0\x60\x28\0\0\xf0\x04\0\0\x02\0\0\0\x80\x28\0\0\ -\xfa\x04\0\0\x02\0\0\0\xa0\x28\0\0\x06\x05\0\0\x02\0\0\0\xc0\x28\0\0\x14\x05\0\ -\0\x2d\0\0\0\0\x29\0\0\x1b\x05\0\0\x39\0\0\0\x40\x29\0\0\x27\x05\0\0\x39\0\0\0\ -\x60\x29\0\x01\x3b\x05\0\0\x39\0\0\0\x61\x29\0\x01\x55\x05\0\0\x39\0\0\0\x62\ -\x29\0\x01\x64\x05\0\0\x39\0\0\0\x80\x29\0\x01\x78\x05\0\0\x39\0\0\0\x81\x29\0\ -\x01\x82\x05\0\0\x39\0\0\0\x82\x29\0\x01\x8c\x05\0\0\x39\0\0\0\x83\x29\0\x01\ -\x9c\x05\0\0\x39\0\0\0\x84\x29\0\x01\xaa\x05\0\0\x39\0\0\0\x85\x29\0\x01\xb9\ -\x05\0\0\x39\0\0\0\x86\x29\0\x01\xcd\x05\0\0\x39\0\0\0\x87\x29\0\x01\xd4\x05\0\ -\0\x39\0\0\0\x88\x29\0\x01\xe1\x05\0\0\x39\0\0\0\x89\x29\0\x01\xec\x05\0\0\x39\ -\0\0\0\x8a\x29\0\x01\0\x06\0\0\x39\0\0\0\x8b\x29\0\x01\x0d\x06\0\0\x2d\0\0\0\ -\xc0\x29\0\0\x1a\x06\0\0\x7e\0\0\0\0\x2a\0\0\x28\x06\0\0\x8e\0\0\0\xc0\x2b\0\0\ -\x2c\x06\0\0\x8e\0\0\0\xe0\x2b\0\0\x31\x06\0\0\x2d\0\0\0\0\x2c\0\0\x3e\x06\0\0\ -\x3b\0\0\0\x40\x2c\0\0\x4a\x06\0\0\x3b\0\0\0\x80\x2c\0\0\x51\x06\0\0\x52\0\0\0\ -\xc0\x2c\0\0\x5a\x06\0\0\x52\0\0\0\x40\x2d\0\0\x62\x06\0\0\x3b\0\0\0\xc0\x2d\0\ -\0\x6f\x06\0\0\x52\0\0\0\0\x2e\0\0\x77\x06\0\0\x52\0\0\0\x80\x2e\0\0\x84\x06\0\ -\0\x90\0\0\0\0\x2f\0\0\x8f\x06\0\0\x94\0\0\0\x40\x2f\0\0\x99\x06\0\0\x52\0\0\0\ -\x40\x31\0\0\xa6\x06\0\0\x52\0\0\0\xc0\x31\0\0\xb2\x06\0\0\x95\0\0\0\x40\x32\0\ -\0\xbd\x06\0\0\x96\0\0\0\x80\x32\0\0\xcb\x06\0\0\x96\0\0\0\xc0\x32\0\0\xdb\x06\ -\0\0\x42\0\0\0\0\x33\0\0\xea\x06\0\0\x54\0\0\0\x40\x33\0\0\xf0\x06\0\0\x54\0\0\ -\0\x80\x33\0\0\xf6\x06\0\0\x54\0\0\0\xc0\x33\0\0\xfc\x06\0\0\x97\0\0\0\0\x34\0\ -\0\x09\x07\0\0\x2d\0\0\0\x80\x36\0\0\x0f\x07\0\0\x2d\0\0\0\xc0\x36\0\0\x16\x07\ -\0\0\x54\0\0\0\0\x37\0\0\x21\x07\0\0\x54\0\0\0\x40\x37\0\0\x30\x07\0\0\x2d\0\0\ -\0\x80\x37\0\0\x38\x07\0\0\x2d\0\0\0\xc0\x37\0\0\x40\x07\0\0\xae\0\0\0\0\x38\0\ -\0\x50\x07\0\0\xb4\0\0\0\x80\x3a\0\0\x65\x07\0\0\xb9\0\0\0\x40\x3b\0\0\x72\x07\ -\0\0\xb9\0\0\0\x80\x3b\0\0\x7c\x07\0\0\xb9\0\0\0\xc0\x3b\0\0\x81\x07\0\0\xbb\0\ -\0\0\0\x3c\0\0\x96\x07\0\0\xbc\0\0\0\x40\x3c\0\0\x9b\x07\0\0\xbd\0\0\0\xc0\x3c\ -\0\0\xa5\x07\0\0\xbe\0\0\0\0\x3d\0\0\xad\x07\0\0\xc0\0\0\0\x40\x3d\0\0\xb5\x07\ -\0\0\x2d\0\0\0\xc0\x3d\0\0\xc7\x07\0\0\x2d\0\0\0\0\x3e\0\0\xd8\x07\0\0\xc1\0\0\ -\0\x40\x3e\0\0\xdb\x07\0\0\xc2\0\0\0\x80\x3e\0\0\xe1\x07\0\0\xc3\0\0\0\xc0\x3e\ -\0\0\xea\x07\0\0\xc4\0\0\0\0\x3f\0\0\xf2\x07\0\0\xc5\0\0\0\x40\x3f\0\0\xf9\x07\ -\0\0\xc6\0\0\0\x80\x3f\0\0\x01\x08\0\0\xc7\0\0\0\xc0\x3f\0\0\x09\x08\0\0\xc7\0\ -\0\0\0\x40\0\0\x16\x08\0\0\xc7\0\0\0\x40\x40\0\0\x24\x08\0\0\xc9\0\0\0\x80\x40\ -\0\0\x2c\x08\0\0\x2d\0\0\0\x40\x41\0\0\x36\x08\0\0\xca\0\0\0\x80\x41\0\0\x42\ -\x08\0\0\x39\0\0\0\xc0\x41\0\0\x4f\x08\0\0\xb6\0\0\0\0\x42\0\0\x5a\x08\0\0\xcd\ -\0\0\0\x40\x42\0\0\x68\x08\0\0\xce\0\0\0\x80\x42\0\0\x71\x08\0\0\x39\0\0\0\xa0\ -\x42\0\0\x7b\x08\0\0\xd2\0\0\0\xc0\x42\0\0\x83\x08\0\0\xd4\0\0\0\x40\x43\0\0\ -\x94\x08\0\0\x54\0\0\0\x40\x44\0\0\xa3\x08\0\0\x54\0\0\0\x80\x44\0\0\xb0\x08\0\ -\0\xd8\0\0\0\xc0\x44\0\0\xbb\x08\0\0\x98\0\0\0\xc0\x46\0\0\xc3\x08\0\0\xdd\0\0\ -\0\xc0\x48\0\0\xca\x08\0\0\xb1\0\0\0\0\x49\0\0\xd5\x08\0\0\x3b\0\0\0\x80\x49\0\ -\0\xe1\x08\0\0\xdf\0\0\0\xc0\x49\0\0\xef\x08\0\0\xe0\0\0\0\0\x4a\0\0\xfa\x08\0\ -\0\x02\0\0\0\x40\x4a\0\0\x0a\x09\0\0\xe1\0\0\0\x80\x4a\0\0\x13\x09\0\0\x39\0\0\ -\0\x40\x4c\0\0\x24\x09\0\0\x54\0\0\0\x80\x4c\0\0\x36\x09\0\0\x02\0\0\0\xc0\x4c\ -\0\0\x47\x09\0\0\x02\0\0\0\xe0\x4c\0\0\x57\x09\0\0\x02\0\0\0\0\x4d\0\0\x62\x09\ -\0\0\x54\0\0\0\x40\x4d\0\0\x71\x09\0\0\x02\0\0\0\x80\x4d\0\0\x7f\x09\0\0\x39\0\ -\0\0\xa0\x4d\0\0\x91\x09\0\0\xe4\0\0\0\xc0\x4d\0\0\x9c\x09\0\0\x42\0\0\0\xc0\ -\x89\0\0\xa9\x09\0\0\xe5\0\0\0\0\x8a\0\0\xb2\x09\0\0\xe6\0\0\0\x40\x8a\0\0\xb7\ -\x09\0\0\xe7\0\0\0\x80\x8a\0\0\xc5\x09\0\0\xe8\0\0\0\xc0\x8a\0\0\xd6\x09\0\0\ -\xe9\0\0\0\0\x8b\0\0\xe1\x09\0\0\xea\0\0\0\x40\x8b\0\0\xf1\x09\0\0\x2d\0\0\0\ -\x80\x8b\0\0\0\x0a\0\0\xeb\0\0\0\xc0\x8b\0\0\x0d\x0a\0\0\xed\0\0\0\0\x8c\0\0\ -\x12\x0a\0\0\x54\0\0\0\xc0\x8d\0\0\x20\x0a\0\0\x54\0\0\0\0\x8e\0\0\x2d\x0a\0\0\ -\x54\0\0\0\x40\x8e\0\0\x3a\x0a\0\0\x33\0\0\0\x80\x8e\0\0\x47\x0a\0\0\xee\0\0\0\ -\xc0\x8e\0\0\x58\x0a\0\0\x02\0\0\0\x80\x90\0\0\x70\x0a\0\0\x02\0\0\0\xa0\x90\0\ -\0\x89\x0a\0\0\xf3\0\0\0\xc0\x90\0\0\x91\x0a\0\0\x52\0\0\0\0\x91\0\0\x99\x0a\0\ -\0\xf4\0\0\0\x80\x91\0\0\xa5\x0a\0\0\x52\0\0\0\xc0\x91\0\0\xb3\x0a\0\0\xf5\0\0\ -\0\x40\x92\0\0\xc2\x0a\0\0\xf6\0\0\0\x80\x92\0\0\xd3\x0a\0\0\x39\0\0\0\0\x97\0\ -\0\xdf\x0a\0\0\x01\x01\0\0\x40\x97\0\0\xef\x0a\0\0\xf6\0\0\0\xc0\x97\0\0\0\x0b\ -\0\0\x52\0\0\0\x40\x9c\0\0\x10\x0b\0\0\x2d\0\0\0\xc0\x9c\0\0\x23\x0b\0\0\x02\ -\x01\0\0\0\x9d\0\0\x2d\x0b\0\0\x03\x01\0\0\x40\x9d\0\0\x35\x0b\0\0\x03\x01\0\0\ -\x50\x9d\0\0\x44\x0b\0\0\x02\0\0\0\x60\x9d\0\0\x52\x0b\0\0\x39\0\0\0\x80\x9d\0\ -\0\x63\x0b\0\0\x39\0\0\0\xa0\x9d\0\0\x78\x0b\0\0\x02\0\0\0\xc0\x9d\0\0\x8b\x0b\ -\0\0\x2d\0\0\0\0\x9e\0\0\x9e\x0b\0\0\x54\0\0\0\x40\x9e\0\0\xa9\x0b\0\0\x54\0\0\ -\0\x80\x9e\0\0\xc2\x0b\0\0\x54\0\0\0\xc0\x9e\0\0\xd8\x0b\0\0\xb5\0\0\0\0\x9f\0\ -\0\xe2\x0b\0\0\x04\x01\0\0\x80\x9f\0\0\xed\x0b\0\0\x05\x01\0\0\xc0\x9f\0\0\xf9\ -\x0b\0\0\x2d\0\0\0\0\xa0\0\0\x0b\x0c\0\0\x06\x01\0\0\x40\xa0\0\0\x20\x0c\0\0\ -\x2d\0\0\0\0\xa1\0\0\x34\x0c\0\0\x07\x01\0\0\x40\xa1\0\0\x39\x0c\0\0\x40\0\0\0\ -\x80\xa1\0\0\x42\x0c\0\0\x2d\0\0\0\xc0\xa1\0\0\x52\x0c\0\0\x08\x01\0\0\0\xa2\0\ -\0\0\0\0\0\x0a\x01\0\0\xc0\xa2\0\0\x5a\x0c\0\0\x0b\x01\0\0\x40\xa3\0\0\x66\x0c\ -\0\0\x0c\x01\0\0\x80\xa3\0\0\x70\x0c\0\0\x0e\x01\0\0\0\xa4\0\0\x77\x0c\0\0\x02\ -\0\0\0\x40\xa4\0\0\x84\x0c\0\0\x39\0\0\0\x60\xa4\0\0\x8d\x0c\0\0\x02\0\0\0\x80\ -\xa4\0\0\x98\x0c\0\0\x02\0\0\0\xa0\xa4\0\0\xa9\x0c\0\0\x2d\0\0\0\xc0\xa4\0\0\ -\xbb\x0c\0\0\x54\0\0\0\0\xa5\0\0\xca\x0c\0\0\x54\0\0\0\x40\xa5\0\0\xe1\x0c\0\0\ -\x02\0\0\0\x80\xa5\0\0\xf0\x0c\0\0\x02\0\0\0\xa0\xa5\0\0\xff\x0c\0\0\x0f\x01\0\ -\0\xc0\xa5\0\0\x09\x0d\0\0\x56\0\0\0\0\xa6\0\0\x1a\x0d\0\0\x45\0\0\0\x40\xa6\0\ -\0\x28\x0d\0\0\x45\0\0\0\x60\xa6\0\0\x3c\x0d\0\0\x2d\0\0\0\x80\xa6\0\0\x4c\x0d\ -\0\0\x36\0\0\0\xc0\xa6\0\0\x59\x0d\0\0\x38\0\0\0\0\xa7\0\0\x6c\x0d\0\0\x02\0\0\ -\0\x20\xa7\0\0\x7c\x0d\0\0\x39\0\0\0\x40\xa7\0\0\x95\x0d\0\0\x36\0\0\0\x80\xa7\ -\0\0\xa2\x0d\0\0\x10\x01\0\0\xc0\xa7\0\0\xb1\x0d\0\0\x11\x01\0\0\0\xa8\0\0\xb7\ -\x0d\0\0\x12\x01\0\0\x40\xa8\0\0\xc1\x0d\0\0\x2d\0\0\0\x40\xa8\0\0\xd3\x0d\0\0\ -\x02\0\0\0\x80\xa8\0\0\xe6\x0d\0\0\x3b\0\0\0\xc0\xa8\0\0\xf6\x0d\0\0\x13\x01\0\ -\0\0\xa9\0\0\x07\x0e\0\0\x17\x01\0\0\x80\xab\0\0\x15\x0e\0\0\x43\0\0\0\xc0\xab\ -\0\0\x24\x0e\0\0\x42\0\0\0\0\xac\0\0\x2d\x0e\0\0\x18\x01\0\0\x40\xac\0\0\x39\ -\x0e\0\0\x19\x01\0\0\x80\xac\0\0\x41\x0e\0\0\x42\0\0\0\xc0\xac\0\0\x4b\x0e\0\0\ -\x55\0\0\0\0\xad\0\0\x56\x0e\0\0\x54\0\0\0\x40\xad\0\0\x5f\x0e\0\0\x55\0\0\0\ -\x80\xad\0\x01\x68\x0e\0\0\x55\0\0\0\x81\xad\0\x01\x77\x0e\0\0\x55\0\0\0\x82\ -\xad\0\x3e\x86\x0e\0\0\xb5\0\0\0\xc0\xad\0\0\x92\x0e\0\0\x02\0\0\0\x40\xae\0\0\ -\x9c\x0e\0\0\x1a\x01\0\0\x80\xae\0\0\xb0\x0e\0\0\x1a\x01\0\0\xc0\xae\0\0\xb9\ -\x0e\0\0\xb5\0\0\0\0\xaf\0\0\xc8\x0e\0\0\x1b\x01\0\0\0\xb0\0\0\x44\x02\0\0\x04\ -\0\0\x04\x18\0\0\0\x28\x01\0\0\x2d\0\0\0\0\0\0\0\xcf\x0e\0\0\x2d\0\0\0\x40\0\0\ -\0\xdc\x0e\0\0\x40\0\0\0\x80\0\0\0\xe3\x0e\0\0\x40\0\0\0\xa0\0\0\0\xe7\x0e\0\0\ -\0\0\0\x08\x41\0\0\0\xeb\x0e\0\0\0\0\0\x08\x39\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\ -\xf1\x0e\0\0\0\0\0\x08\x44\0\0\0\xfc\x0e\0\0\x01\0\0\x04\x04\0\0\0\x0c\x0f\0\0\ -\x45\0\0\0\0\0\0\0\x11\x0f\0\0\0\0\0\x08\x46\0\0\0\0\0\0\0\x01\0\0\x04\x04\0\0\ -\0\x1a\x0f\0\0\x02\0\0\0\0\0\0\0\x22\x0f\0\0\x04\0\0\x04\x10\0\0\0\x35\x0f\0\0\ -\x48\0\0\0\0\0\0\0\0\0\0\0\x4a\0\0\0\x40\0\0\0\x3b\x0f\0\0\x4b\0\0\0\x60\0\0\0\ -\x3f\x0f\0\0\x4b\0\0\0\x70\0\0\0\x43\x0f\0\0\x01\0\0\x04\x08\0\0\0\x4e\x0f\0\0\ -\x49\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x48\0\0\0\0\0\0\0\x02\0\0\x05\x04\0\0\0\ -\x53\x0f\0\0\x39\0\0\0\0\0\0\0\x5b\x0f\0\0\x45\0\0\0\0\0\0\0\x63\x0f\0\0\0\0\0\ -\x08\x4c\0\0\0\x67\x0f\0\0\0\0\0\x08\x4d\0\0\0\x6d\x0f\0\0\0\0\0\x01\x02\0\0\0\ -\x10\0\0\0\x7c\x0f\0\0\x0f\0\0\x04\0\x01\0\0\x89\x0f\0\0\x4f\0\0\0\0\0\0\0\x8e\ -\x0f\0\0\x50\0\0\0\x80\0\0\0\x97\x0f\0\0\x52\0\0\0\x40\x01\0\0\xc1\x02\0\0\x39\ -\0\0\0\xc0\x01\0\0\xa2\x0f\0\0\x54\0\0\0\0\x02\0\0\xad\x0f\0\0\x54\0\0\0\x40\ -\x02\0\0\xbe\x0f\0\0\x54\0\0\0\x80\x02\0\0\xc7\x0f\0\0\x54\0\0\0\xc0\x02\0\0\ -\xdd\x0f\0\0\x54\0\0\0\0\x03\0\0\xeb\x0f\0\0\x02\0\0\0\x40\x03\0\0\x4a\x06\0\0\ -\x57\0\0\0\x80\x03\0\0\xf1\x0f\0\0\x58\0\0\0\xc0\x03\0\0\xf8\x0f\0\0\x58\0\0\0\ -\0\x04\0\0\xfd\x0f\0\0\x2d\0\0\0\x40\x04\0\0\x0d\x10\0\0\x59\0\0\0\0\x06\0\0\ -\x11\x10\0\0\x02\0\0\x04\x10\0\0\0\x1d\x10\0\0\x2d\0\0\0\0\0\0\0\x24\x10\0\0\ -\x40\0\0\0\x40\0\0\0\x2f\x10\0\0\x03\0\0\x04\x18\0\0\0\x37\x10\0\0\x2d\0\0\0\0\ -\0\0\0\x49\x10\0\0\x51\0\0\0\x40\0\0\0\x52\x10\0\0\x51\0\0\0\x80\0\0\0\0\0\0\0\ -\0\0\0\x02\x50\0\0\0\x5a\x10\0\0\x02\0\0\x04\x10\0\0\0\x4e\x0f\0\0\x53\0\0\0\0\ -\0\0\0\x64\x10\0\0\x53\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\x02\x52\0\0\0\x69\x10\0\0\ -\0\0\0\x08\x55\0\0\0\x6d\x10\0\0\0\0\0\x08\x56\0\0\0\x73\x10\0\0\0\0\0\x01\x08\ -\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\x02\x4e\0\0\0\0\0\0\0\0\0\0\x02\xb3\x01\0\0\x86\ -\x10\0\0\x09\0\0\x04\x40\0\0\0\x90\x10\0\0\x54\0\0\0\0\0\0\0\xa1\x10\0\0\x54\0\ -\0\0\x40\0\0\0\xaa\x10\0\0\x54\0\0\0\x80\0\0\0\xb7\x10\0\0\x40\0\0\0\xc0\0\0\0\ -\xc0\x10\0\0\x40\0\0\0\xe0\0\0\0\xcf\x10\0\0\x2d\0\0\0\0\x01\0\0\xd8\x10\0\0\ -\x2d\0\0\0\x40\x01\0\0\xe5\x10\0\0\x2d\0\0\0\x80\x01\0\0\xee\x10\0\0\x5a\0\0\0\ -\xc0\x01\0\0\xee\x10\0\0\x02\0\0\x04\x08\0\0\0\xf7\x10\0\0\x39\0\0\0\0\0\0\0\0\ -\x11\0\0\x39\0\0\0\x20\0\0\0\x05\x11\0\0\x07\0\0\x04\x30\0\0\0\x15\x11\0\0\x52\ -\0\0\0\0\0\0\0\x1e\x11\0\0\x2d\0\0\0\x80\0\0\0\x26\x11\0\0\x2d\0\0\0\xc0\0\0\0\ -\x35\x11\0\0\x39\0\0\0\0\x01\0\0\xc1\x02\0\0\x4d\0\0\0\x20\x01\0\0\x40\x11\0\0\ -\x4d\0\0\0\x30\x01\0\0\x48\x11\0\0\x5c\0\0\0\x40\x01\0\0\0\0\0\0\0\0\0\x02\x5b\ -\0\0\0\x4d\x11\0\0\x10\0\0\x84\xe0\0\0\0\x2f\x10\0\0\x50\0\0\0\0\0\0\0\x5d\x11\ -\0\0\x54\0\0\0\xc0\0\0\0\x68\x11\0\0\x54\0\0\0\0\x01\0\0\x74\x11\0\0\x54\0\0\0\ -\x40\x01\0\0\x7e\x11\0\0\x54\0\0\0\x80\x01\0\0\x84\x11\0\0\x54\0\0\0\xc0\x01\0\ -\0\x8f\x11\0\0\x5e\0\0\0\0\x02\0\0\x97\x11\0\0\x54\0\0\0\x40\x02\0\0\x28\x01\0\ -\0\x39\0\0\0\x80\x02\0\0\xa0\x11\0\0\x39\0\0\0\xa0\x02\0\x01\xad\x11\0\0\x39\0\ -\0\0\xa1\x02\0\x01\xb8\x11\0\0\x39\0\0\0\xa2\x02\0\x01\xca\x11\0\0\x39\0\0\0\ -\xa3\x02\0\x01\xd5\x11\0\0\x61\0\0\0\xc0\x02\0\0\xde\x11\0\0\x61\0\0\0\xc0\x04\ -\0\0\xed\x11\0\0\x6c\0\0\0\xc0\x06\0\0\xf3\x11\0\0\0\0\0\x08\x5f\0\0\0\xf7\x11\ -\0\0\0\0\0\x08\x60\0\0\0\xfd\x11\0\0\0\0\0\x01\x08\0\0\0\x40\0\0\x01\x07\x12\0\ -\0\x08\0\0\x04\x40\0\0\0\x0f\x12\0\0\x62\0\0\0\0\0\0\0\x14\x12\0\0\x63\0\0\0\0\ -\x01\0\0\x21\x12\0\0\x64\0\0\0\x40\x01\0\0\x2a\x12\0\0\x68\0\0\0\x80\x01\0\0\ -\x2f\x12\0\0\x69\0\0\0\xc0\x01\0\0\x35\x12\0\0\x69\0\0\0\xc8\x01\0\0\x3c\x12\0\ -\0\x69\0\0\0\xd0\x01\0\0\x44\x12\0\0\x69\0\0\0\xd8\x01\0\0\x4c\x12\0\0\x02\0\0\ -\x04\x20\0\0\0\x0f\x12\0\0\x50\0\0\0\0\0\0\0\x5c\x12\0\0\x63\0\0\0\xc0\0\0\0\ -\x64\x12\0\0\0\0\0\x08\x5e\0\0\0\0\0\0\0\0\0\0\x02\x65\0\0\0\0\0\0\0\x01\0\0\ -\x0d\x66\0\0\0\0\0\0\0\x67\0\0\0\x6c\x12\0\0\x02\0\0\x06\x04\0\0\0\x7c\x12\0\0\ -\0\0\0\0\x8e\x12\0\0\x01\0\0\0\0\0\0\0\0\0\0\x02\x61\0\0\0\0\0\0\0\0\0\0\x02\ -\xbe\x01\0\0\x9e\x12\0\0\0\0\0\x08\x6a\0\0\0\xa1\x12\0\0\0\0\0\x08\x6b\0\0\0\ -\xa6\x12\0\0\0\0\0\x01\x01\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\x02\x5d\0\0\0\0\0\0\0\ -\0\0\0\x02\x6e\0\0\0\0\0\0\0\0\0\0\x0a\xe1\x01\0\0\0\0\0\0\0\0\0\x02\xe7\x01\0\ -\0\xb4\x12\0\0\x1c\0\0\x04\0\x01\0\0\xc5\x12\0\0\x54\0\0\0\0\0\0\0\xd0\x12\0\0\ -\x54\0\0\0\x40\0\0\0\xd9\x12\0\0\x54\0\0\0\x80\0\0\0\xe4\x12\0\0\x54\0\0\0\xc0\ -\0\0\0\xed\x12\0\0\x54\0\0\0\0\x01\0\0\xfa\x12\0\0\x54\0\0\0\x40\x01\0\0\x05\ -\x13\0\0\x54\0\0\0\x80\x01\0\0\x11\x13\0\0\x54\0\0\0\xc0\x01\0\0\x1b\x13\0\0\ -\x5e\0\0\0\0\x02\0\0\x2d\x13\0\0\x54\0\0\0\x40\x02\0\0\x39\x13\0\0\x54\0\0\0\ -\x80\x02\0\0\x43\x13\0\0\x5e\0\0\0\xc0\x02\0\0\x55\x13\0\0\x54\0\0\0\0\x03\0\0\ -\x5e\x13\0\0\x54\0\0\0\x40\x03\0\0\x68\x13\0\0\x54\0\0\0\x80\x03\0\0\x7b\x13\0\ -\0\x54\0\0\0\xc0\x03\0\0\x97\x13\0\0\x54\0\0\0\0\x04\0\0\xb4\x13\0\0\x54\0\0\0\ -\x40\x04\0\0\xcd\x13\0\0\x54\0\0\0\x80\x04\0\0\xe2\x13\0\0\x54\0\0\0\xc0\x04\0\ -\0\xed\x13\0\0\x54\0\0\0\0\x05\0\0\xfd\x13\0\0\x54\0\0\0\x40\x05\0\0\x10\x14\0\ -\0\x54\0\0\0\x80\x05\0\0\x21\x14\0\0\x54\0\0\0\xc0\x05\0\0\x33\x14\0\0\x54\0\0\ -\0\0\x06\0\0\x45\x14\0\0\x54\0\0\0\x40\x06\0\0\x60\x14\0\0\x54\0\0\0\x80\x06\0\ -\0\x73\x14\0\0\x54\0\0\0\xc0\x06\0\0\0\0\0\0\0\0\0\x02\x72\0\0\0\0\0\0\0\0\0\0\ -\x0a\x73\0\0\0\x83\x14\0\0\0\0\0\x08\x75\0\0\0\0\0\0\0\0\0\0\x02\x73\0\0\0\x8d\ -\x14\0\0\x01\0\0\x04\x10\0\0\0\xc0\x01\0\0\x76\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\ -\0\0\0\0\x2d\0\0\0\x04\0\0\0\x02\0\0\0\x95\x14\0\0\x02\0\0\x05\x04\0\0\0\xa1\ -\x14\0\0\x78\0\0\0\0\0\0\0\xa3\x14\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\x04\ -\x04\0\0\0\x01\x08\0\0\x69\0\0\0\0\0\0\0\xa5\x14\0\0\x69\0\0\0\x08\0\0\0\xad\ -\x14\0\0\x69\0\0\0\x10\0\0\0\xb6\x14\0\0\x69\0\0\0\x18\0\0\0\0\0\0\0\0\0\0\x02\ -\xdb\x01\0\0\x9d\x04\0\0\x04\0\0\x04\x20\0\0\0\xbe\x14\0\0\x2d\0\0\0\0\0\0\0\ -\xc5\x14\0\0\x56\0\0\0\x40\0\0\0\xcf\x14\0\0\x56\0\0\0\x80\0\0\0\xdc\x14\0\0\ -\x56\0\0\0\xc0\0\0\0\xe8\x14\0\0\x03\0\0\x04\x28\0\0\0\xc7\x02\0\0\x02\0\0\0\0\ -\0\0\0\xf3\x14\0\0\x52\0\0\0\x40\0\0\0\xfd\x14\0\0\x52\0\0\0\xc0\0\0\0\0\0\0\0\ -\0\0\0\x02\xc9\x01\0\0\x07\x15\0\0\x02\0\0\x04\x14\0\0\0\x15\x15\0\0\x02\0\0\0\ -\0\0\0\0\x1c\x15\0\0\x06\0\0\0\x20\0\0\0\x1a\x06\0\0\x03\0\0\x04\x38\0\0\0\x22\ -\x15\0\0\x2d\0\0\0\0\0\0\0\x2c\x15\0\0\x7f\0\0\0\x40\0\0\0\0\0\0\0\x82\0\0\0\ -\x80\0\0\0\0\0\0\0\0\0\0\x02\x80\0\0\0\0\0\0\0\x01\0\0\x0d\x3c\0\0\0\0\0\0\0\ -\x81\0\0\0\0\0\0\0\0\0\0\x02\x7e\0\0\0\0\0\0\0\x03\0\0\x05\x28\0\0\0\x2f\x15\0\ -\0\x83\0\0\0\0\0\0\0\x35\x15\0\0\x85\0\0\0\0\0\0\0\x3f\x15\0\0\x8c\0\0\0\0\0\0\ -\0\0\0\0\0\x06\0\0\x04\x28\0\0\0\x44\x15\0\0\x84\0\0\0\0\0\0\0\x4a\x15\0\0\x40\ -\0\0\0\x40\0\0\0\x28\x01\0\0\x40\0\0\0\x60\0\0\0\x4e\x15\0\0\x40\0\0\0\x80\0\0\ -\0\x55\x15\0\0\x54\0\0\0\xc0\0\0\0\x5a\x15\0\0\x84\0\0\0\0\x01\0\0\0\0\0\0\0\0\ -\0\x02\x40\0\0\0\0\0\0\0\x04\0\0\x04\x18\0\0\0\x61\x15\0\0\x86\0\0\0\0\0\0\0\ -\x19\0\0\0\x88\0\0\0\x20\0\0\0\0\0\0\0\x89\0\0\0\x40\0\0\0\x5c\x12\0\0\x54\0\0\ -\0\x80\0\0\0\x69\x15\0\0\0\0\0\x08\x87\0\0\0\x73\x15\0\0\0\0\0\x08\x02\0\0\0\ -\x86\x15\0\0\x03\0\0\x06\x04\0\0\0\x94\x15\0\0\0\0\0\0\x9c\x15\0\0\x01\0\0\0\ -\xa6\x15\0\0\x02\0\0\0\0\0\0\0\x02\0\0\x05\x08\0\0\0\xb0\x15\0\0\x8a\0\0\0\0\0\ -\0\0\xb5\x15\0\0\x8b\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\xaa\x01\0\0\0\0\0\0\0\0\0\ -\x02\xce\x01\0\0\0\0\0\0\x05\0\0\x04\x20\0\0\0\xc1\x15\0\0\x8d\0\0\0\0\0\0\0\ -\xc6\x15\0\0\x02\0\0\0\x40\0\0\0\xcb\x15\0\0\x02\0\0\0\x60\0\0\0\xd7\x15\0\0\ -\x2d\0\0\0\x80\0\0\0\xde\x15\0\0\x2d\0\0\0\xc0\0\0\0\0\0\0\0\0\0\0\x02\xda\x01\ -\0\0\xe6\x15\0\0\0\0\0\x08\x8f\0\0\0\xec\x15\0\0\0\0\0\x08\x02\0\0\0\0\0\0\0\0\ -\0\0\x02\xd6\x01\0\0\xfb\x15\0\0\x02\0\0\x04\x10\0\0\0\x4e\x0f\0\0\x92\0\0\0\0\ -\0\0\0\x06\x16\0\0\x93\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\x02\x91\0\0\0\0\0\0\0\0\0\ -\0\x02\x92\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x91\0\0\0\x04\0\0\0\x04\0\0\0\0\0\0\ -\0\0\0\0\x02\xb4\x01\0\0\0\0\0\0\0\0\0\x02\x02\0\0\0\xfc\x06\0\0\x03\0\0\x04\ -\x50\0\0\0\xea\x06\0\0\x54\0\0\0\0\0\0\0\xf0\x06\0\0\x54\0\0\0\x40\0\0\0\x0c\ -\x16\0\0\x98\0\0\0\x80\0\0\0\x11\x16\0\0\0\0\0\x08\x99\0\0\0\x20\x16\0\0\x05\0\ -\0\x04\x40\0\0\0\x2d\x16\0\0\x9a\0\0\0\0\0\0\0\x36\x16\0\0\x39\0\0\0\x20\0\0\0\ -\x3c\x16\0\0\x39\0\0\0\x40\0\0\0\x46\x16\0\0\x42\0\0\0\x80\0\0\0\x4c\x16\0\0\ -\x9f\0\0\0\xc0\0\0\0\x54\x16\0\0\0\0\0\x08\x9b\0\0\0\x64\x16\0\0\x01\0\0\x04\ -\x04\0\0\0\0\0\0\0\x9c\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\x05\x04\0\0\0\x4a\x15\0\0\ -\x45\0\0\0\0\0\0\0\0\0\0\0\x9d\0\0\0\0\0\0\0\0\0\0\0\x9e\0\0\0\0\0\0\0\0\0\0\0\ -\x02\0\0\x04\x02\0\0\0\x6e\x16\0\0\x69\0\0\0\0\0\0\0\x24\x08\0\0\x69\0\0\0\x08\ -\0\0\0\0\0\0\0\x02\0\0\x04\x04\0\0\0\x75\x16\0\0\x4b\0\0\0\0\0\0\0\x84\x16\0\0\ -\x4b\0\0\0\x10\0\0\0\x89\x16\0\0\x06\0\0\x04\x28\0\0\0\x95\x16\0\0\xa0\0\0\0\0\ -\0\0\0\x99\x16\0\0\xad\0\0\0\x40\0\0\0\xa5\x16\0\0\xaa\0\0\0\xc0\0\0\0\xaa\x16\ -\0\0\x69\0\0\0\0\x01\0\0\xba\x16\0\0\x69\0\0\0\x08\x01\0\0\xca\x16\0\0\x69\0\0\ -\0\x10\x01\0\0\0\0\0\0\0\0\0\x02\xc4\x01\0\0\0\0\0\0\0\0\0\x02\xa2\0\0\0\xd4\ -\x16\0\0\x0e\0\0\x04\xc0\0\0\0\xdf\x16\0\0\x91\0\0\0\0\0\0\0\xea\x16\0\0\x52\0\ -\0\0\x80\0\0\0\xf5\x16\0\0\x52\0\0\0\0\x01\0\0\x01\x17\0\0\x52\0\0\0\x80\x01\0\ -\0\x95\x16\0\0\xa3\0\0\0\0\x02\0\0\x0e\x17\0\0\x39\0\0\0\x40\x02\0\0\x17\x17\0\ -\0\x39\0\0\0\x60\x02\0\0\x22\x17\0\0\x2d\0\0\0\x80\x02\0\0\x2d\x17\0\0\xa9\0\0\ -\0\xc0\x02\0\0\x3a\x17\0\0\x02\0\0\0\x40\x05\0\0\xa5\x16\0\0\xaa\0\0\0\x80\x05\ -\0\0\xba\x16\0\0\x69\0\0\0\xc0\x05\0\0\xaa\x16\0\0\x69\0\0\0\xc8\x05\0\0\xca\ -\x16\0\0\x69\0\0\0\xd0\x05\0\0\0\0\0\0\0\0\0\x02\xa4\0\0\0\0\0\0\0\0\0\0\x0a\ -\xc5\x01\0\0\0\0\0\0\0\0\0\x02\xa6\0\0\0\0\0\0\0\0\0\0\x0a\xa7\0\0\0\x47\x17\0\ -\0\x04\0\0\x04\x18\0\0\0\xdf\x16\0\0\x91\0\0\0\0\0\0\0\x52\x17\0\0\x40\0\0\0\ -\x80\0\0\0\x57\x17\0\0\x40\0\0\0\xa0\0\0\0\x62\x17\0\0\xa8\0\0\0\xc0\0\0\0\0\0\ -\0\0\0\0\0\x03\0\0\0\0\x2d\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\ -\xa5\0\0\0\x04\0\0\0\x0a\0\0\0\0\0\0\0\0\0\0\x02\xab\0\0\0\0\0\0\0\0\0\0\x0a\ -\xac\0\0\0\x6a\x17\0\0\0\0\0\x01\x01\0\0\0\x08\0\0\x01\0\0\0\0\0\0\0\x03\0\0\0\ -\0\xa1\0\0\0\x04\0\0\0\x02\0\0\0\x40\x07\0\0\x03\0\0\x04\x50\0\0\0\x6f\x17\0\0\ -\xb3\0\0\0\0\0\0\0\x75\x17\0\0\x39\0\0\0\x40\x02\0\0\x83\x17\0\0\x39\0\0\0\x60\ -\x02\0\0\x91\x17\0\0\x02\0\0\x04\x18\0\0\0\xa5\x17\0\0\x54\0\0\0\0\0\0\0\xad\ -\x17\0\0\xb0\0\0\0\x40\0\0\0\xb4\x17\0\0\x01\0\0\x04\x10\0\0\0\xc4\x17\0\0\xb1\ -\0\0\0\0\0\0\0\xcc\x17\0\0\x02\0\0\x04\x10\0\0\0\xc4\x17\0\0\xb2\0\0\0\0\0\0\0\ -\xdb\x17\0\0\x51\0\0\0\x40\0\0\0\xc4\x17\0\0\x01\0\0\x04\x08\0\0\0\x2f\x10\0\0\ -\x51\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\xaf\0\0\0\x04\0\0\0\x03\0\0\0\x50\ -\x07\0\0\x02\0\0\x04\x18\0\0\0\xe7\x17\0\0\xb5\0\0\0\0\0\0\0\xec\x17\0\0\x39\0\ -\0\0\x80\0\0\0\xf6\x17\0\0\x02\0\0\x04\x10\0\0\0\x4e\x0f\0\0\xb6\0\0\0\0\0\0\0\ -\x04\x18\0\0\xb7\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\x02\xb5\0\0\0\0\0\0\0\0\0\0\x02\ -\xb8\0\0\0\0\0\0\0\x01\0\0\x0d\0\0\0\0\0\0\0\0\xb6\0\0\0\0\0\0\0\0\0\0\x02\xba\ -\0\0\0\0\0\0\0\0\0\0\x0a\xb5\x01\0\0\0\0\0\0\0\0\0\x02\xc3\x01\0\0\0\0\0\0\0\0\ -\0\x03\0\0\0\0\xac\0\0\0\x04\0\0\0\x10\0\0\0\0\0\0\0\0\0\0\x02\xcb\x01\0\0\x09\ -\x18\0\0\x01\0\0\x04\x08\0\0\0\x12\x18\0\0\xbf\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\ -\xe3\x01\0\0\x1c\x18\0\0\x01\0\0\x04\x10\0\0\0\x25\x18\0\0\x52\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\x02\xba\x01\0\0\0\0\0\0\0\0\0\x02\xb9\x01\0\0\0\0\0\0\0\0\0\x02\ -\xc1\x01\0\0\0\0\0\0\0\0\0\x02\xcc\x01\0\0\0\0\0\0\0\0\0\x02\xe5\x01\0\0\0\0\0\ -\0\0\0\0\x02\xe4\x01\0\0\x2f\x18\0\0\0\0\0\x08\xc8\0\0\0\0\0\0\0\x01\0\0\x04\ -\x08\0\0\0\x38\x18\0\0\x35\0\0\0\0\0\0\0\x3c\x18\0\0\x02\0\0\x04\x18\0\0\0\x47\ -\x18\0\0\x52\0\0\0\0\0\0\0\xf2\x07\0\0\xc7\0\0\0\x80\0\0\0\x4c\x18\0\0\0\0\0\ -\x08\xcb\0\0\0\x53\x18\0\0\0\0\0\x08\xcc\0\0\0\x63\x18\0\0\0\0\0\x08\x2d\0\0\0\ -\0\0\0\0\0\0\0\x02\xab\x01\0\0\x74\x18\0\0\0\0\0\x08\xcf\0\0\0\0\0\0\0\x01\0\0\ -\x04\x04\0\0\0\x4a\x15\0\0\xd0\0\0\0\0\0\0\0\x7b\x18\0\0\0\0\0\x08\xd1\0\0\0\ -\x81\x18\0\0\0\0\0\x08\x39\0\0\0\x7b\x08\0\0\x03\0\0\x04\x10\0\0\0\x92\x18\0\0\ -\x02\0\0\0\0\0\0\0\x97\x18\0\0\x45\0\0\0\x20\0\0\0\xa4\x18\0\0\xd3\0\0\0\x40\0\ -\0\0\0\0\0\0\0\0\0\x02\xe2\x01\0\0\xab\x18\0\0\x04\0\0\x04\x20\0\0\0\xc1\x18\0\ -\0\xd5\0\0\0\0\0\0\0\xca\x18\0\0\x2d\0\0\0\x40\0\0\0\xd1\x18\0\0\x2d\0\0\0\x80\ -\0\0\0\xd5\x18\0\0\xd6\0\0\0\xc0\0\0\0\0\0\0\0\0\0\0\x02\xac\0\0\0\xe1\x18\0\0\ -\0\0\0\x08\xd7\0\0\0\xe6\x18\0\0\0\0\0\x01\x01\0\0\0\x08\0\0\x04\xec\x18\0\0\0\ -\0\0\x08\xd9\0\0\0\xf7\x18\0\0\x01\0\0\x04\x40\0\0\0\0\0\0\0\xda\0\0\0\0\0\0\0\ -\0\0\0\0\x02\0\0\x05\x40\0\0\0\0\x19\0\0\x99\0\0\0\0\0\0\0\0\0\0\0\xdb\0\0\0\0\ -\0\0\0\0\0\0\0\x02\0\0\x04\x40\0\0\0\x06\x19\0\0\xdc\0\0\0\0\0\0\0\x4c\x16\0\0\ -\x9f\0\0\0\xc0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x69\0\0\0\x04\0\0\0\x18\0\0\0\ -\x10\x19\0\0\x01\0\0\x04\x08\0\0\0\x4e\x0f\0\0\xde\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\x02\xdd\0\0\0\0\0\0\0\0\0\0\x02\xe0\x01\0\0\0\0\0\0\0\0\0\x02\xca\x01\0\0\x1c\ -\x19\0\0\x09\0\0\x04\x38\0\0\0\x2c\x19\0\0\x39\0\0\0\0\0\0\0\x37\x19\0\0\x2d\0\ -\0\0\x40\0\0\0\x49\x19\0\0\x2d\0\0\0\x80\0\0\0\x5c\x19\0\0\x39\0\0\0\xc0\0\0\0\ -\x71\x19\0\0\x39\0\0\0\xe0\0\0\0\x87\x19\0\0\x2d\0\0\0\0\x01\0\0\x9a\x19\0\0\ -\x2d\0\0\0\x40\x01\0\0\xac\x19\0\0\x39\0\0\0\x80\x01\0\0\xc2\x19\0\0\x39\0\0\0\ -\xa0\x01\0\0\xd7\x19\0\0\x0c\0\0\x84\x28\0\0\0\xe1\x19\0\0\x54\0\0\0\0\0\0\0\ -\xf0\x19\0\0\x2d\0\0\0\x40\0\0\0\xfb\x19\0\0\xe3\0\0\0\x80\0\0\0\x04\x1a\0\0\ -\xe3\0\0\0\xc0\0\0\0\x0e\x1a\0\0\x39\0\0\0\0\x01\0\x0d\x18\x1a\0\0\x39\0\0\0\ -\x0d\x01\0\x02\x24\x1a\0\0\x39\0\0\0\x0f\x01\0\x01\x2c\x1a\0\0\x39\0\0\0\x10\ -\x01\0\x02\x31\x1a\0\0\x39\0\0\0\x12\x01\0\x01\x37\x1a\0\0\x39\0\0\0\x13\x01\0\ -\x01\x44\x1a\0\0\x39\0\0\0\x14\x01\0\x0c\x4f\x1a\0\0\x39\0\0\0\x20\x01\0\0\0\0\ -\0\0\0\0\0\x02\x9f\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\xe2\0\0\0\x04\0\0\0\x30\0\0\ -\0\0\0\0\0\0\0\0\x02\xad\x01\0\0\0\0\0\0\0\0\0\x02\xae\x01\0\0\0\0\0\0\0\0\0\ -\x02\xdc\x01\0\0\0\0\0\0\0\0\0\x02\xac\x01\0\0\0\0\0\0\0\0\0\x02\xc0\x01\0\0\0\ -\0\0\0\0\0\0\x02\xb2\x01\0\0\0\0\0\0\0\0\0\x02\xec\0\0\0\x59\x1a\0\0\0\0\0\x08\ -\xc2\x01\0\0\x6a\x1a\0\0\x07\0\0\x04\x38\0\0\0\x7d\x1a\0\0\x54\0\0\0\0\0\0\0\ -\x83\x1a\0\0\x54\0\0\0\x40\0\0\0\x89\x1a\0\0\x54\0\0\0\x80\0\0\0\x8f\x1a\0\0\ -\x54\0\0\0\xc0\0\0\0\x95\x1a\0\0\x54\0\0\0\0\x01\0\0\xa0\x1a\0\0\x54\0\0\0\x40\ -\x01\0\0\xac\x1a\0\0\x54\0\0\0\x80\x01\0\0\xc2\x1a\0\0\0\0\0\x08\xef\0\0\0\xd6\ -\x1a\0\0\x02\0\0\x04\x38\0\0\0\xe8\x1a\0\0\xf0\0\0\0\0\0\0\0\x0c\x16\0\0\xf2\0\ -\0\0\x80\x01\0\0\xf1\x1a\0\0\0\0\0\x08\xf1\0\0\0\xe8\x1a\0\0\x02\0\0\x04\x30\0\ -\0\0\xfc\x1a\0\0\x39\0\0\0\0\0\0\0\x4c\x16\0\0\x9f\0\0\0\x40\0\0\0\0\0\0\0\0\0\ -\0\x02\xd8\0\0\0\0\0\0\0\0\0\0\x02\xb6\x01\0\0\0\0\0\0\0\0\0\x02\xde\x01\0\0\0\ -\0\0\0\0\0\0\x02\xbd\x01\0\0\x05\x1b\0\0\x06\0\0\x04\x90\0\0\0\x46\x16\0\0\xf7\ -\0\0\0\0\0\0\0\x0b\x1b\0\0\x98\0\0\0\x40\0\0\0\x15\x1b\0\0\xfa\0\0\0\x40\x02\0\ -\0\x19\x1b\0\0\x52\0\0\0\x80\x02\0\0\x36\x16\0\0\x42\0\0\0\0\x03\0\0\x4c\x16\0\ -\0\x9f\0\0\0\x40\x03\0\0\x23\x1b\0\0\0\0\0\x08\xf8\0\0\0\x31\x1b\0\0\0\0\0\x08\ -\xf9\0\0\0\0\0\0\0\x01\0\0\x04\x08\0\0\0\x1a\x0f\0\0\x5e\0\0\0\0\0\0\0\x3c\x1b\ -\0\0\x01\0\0\x04\x04\0\0\0\x84\x16\0\0\x45\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\xfc\ -\0\0\0\x52\x1b\0\0\x1e\0\0\x04\xc0\x01\0\0\x65\x1b\0\0\xfd\0\0\0\0\0\0\0\x0c\ -\x16\0\0\x98\0\0\0\x40\0\0\0\x05\x1b\0\0\xf6\0\0\0\x40\x02\0\0\x69\x1b\0\0\x52\ -\0\0\0\xc0\x06\0\0\x79\x1b\0\0\xfe\0\0\0\x40\x07\0\0\x87\x1b\0\0\xfe\0\0\0\xc0\ -\x07\0\0\x97\x1b\0\0\x52\0\0\0\x40\x08\0\0\xa2\x1b\0\0\x52\0\0\0\xc0\x08\0\0\ -\xb0\x1b\0\0\x52\0\0\0\x40\x09\0\0\xc0\x1b\0\0\x02\0\0\0\xc0\x09\0\0\xca\x1b\0\ -\0\x02\0\0\0\xe0\x09\0\0\xd4\x1b\0\0\x02\0\0\0\0\x0a\0\0\xdc\x1b\0\0\x02\0\0\0\ -\x20\x0a\0\0\xe6\x1b\0\0\x02\0\0\0\x40\x0a\0\0\xee\x1b\0\0\x02\0\0\0\x60\x0a\0\ -\0\xf6\x1b\0\0\x02\0\0\0\x80\x0a\0\0\x05\x1c\0\0\x02\0\0\0\xa0\x0a\0\0\x16\x1c\ -\0\0\x43\0\0\0\xc0\x0a\0\0\x1f\x1c\0\0\x3b\0\0\0\0\x0b\0\0\x55\x15\0\0\x54\0\0\ -\0\x40\x0b\0\0\x24\x1c\0\0\x54\0\0\0\x80\x0b\0\0\x2e\x1c\0\0\x54\0\0\0\xc0\x0b\ -\0\0\x39\x1c\0\0\xfb\0\0\0\0\x0c\0\0\x44\x1c\0\0\x54\0\0\0\x40\x0c\0\0\x4f\x1c\ -\0\0\x54\0\0\0\x80\x0c\0\0\x4f\x1a\0\0\x02\0\0\0\xc0\x0c\0\0\x5a\x1c\0\0\x02\0\ -\0\0\xe0\x0c\0\0\x65\x1c\0\0\x42\0\0\0\0\x0d\0\0\xf6\x17\0\0\xb5\0\0\0\x40\x0d\ -\0\0\x73\x1c\0\0\xff\0\0\0\xc0\x0d\0\0\0\0\0\0\0\0\0\x02\xd9\x01\0\0\x7e\x1c\0\ -\0\x02\0\0\x04\x10\0\0\0\x90\x1c\0\0\xb2\0\0\0\0\0\0\0\x95\x1c\0\0\x54\0\0\0\ -\x40\0\0\0\x9b\x1c\0\0\0\0\0\x08\0\x01\0\0\0\0\0\0\x01\0\0\x04\x08\0\0\0\xa3\ -\x1c\0\0\xf7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\xfb\0\0\0\x04\0\0\0\x02\0\ -\0\0\0\0\0\0\0\0\0\x02\xc8\x01\0\0\xa5\x1c\0\0\0\0\0\x01\x02\0\0\0\x10\0\0\x01\ -\0\0\0\0\0\0\0\x02\xcd\x01\0\0\0\0\0\0\0\0\0\x02\x2d\0\0\0\0\0\0\0\0\0\0\x03\0\ -\0\0\0\x2d\0\0\0\x04\0\0\0\x03\0\0\0\0\0\0\0\0\0\0\x02\xdf\x01\0\0\xab\x1c\0\0\ -\x03\0\0\x04\x18\0\0\0\xc0\x1c\0\0\x09\x01\0\0\0\0\0\0\xc5\x1c\0\0\xd6\0\0\0\ -\x80\0\0\0\xd4\x1c\0\0\xd6\0\0\0\x88\0\0\0\xdd\x1c\0\0\x01\0\0\x04\x10\0\0\0\ -\x8d\x14\0\0\x75\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\x05\x10\0\0\0\xf7\x1c\0\0\x43\0\ -\0\0\0\0\0\0\x01\x1d\0\0\xb5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\xd8\x01\0\0\x05\ -\x1d\0\0\x03\0\0\x04\x10\0\0\0\x0f\x1d\0\0\x0d\x01\0\0\0\0\0\0\xca\x18\0\0\x41\ -\0\0\0\x40\0\0\0\x14\x1d\0\0\x41\0\0\0\x60\0\0\0\0\0\0\0\0\0\0\x02\xcf\x01\0\0\ -\0\0\0\0\0\0\0\x02\xe6\x01\0\0\0\0\0\0\0\0\0\x02\xbc\x01\0\0\0\0\0\0\0\0\0\x02\ -\xdd\x01\0\0\0\0\0\0\0\0\0\x02\xe9\x01\0\0\xb7\x0d\0\0\0\0\0\x04\0\0\0\0\x19\ -\x1d\0\0\x05\0\0\x04\x50\0\0\0\x24\x1d\0\0\x91\0\0\0\0\0\0\0\x5c\x12\0\0\x2d\0\ -\0\0\x80\0\0\0\x21\x12\0\0\x14\x01\0\0\xc0\0\0\0\x28\x01\0\0\x40\0\0\0\0\x01\0\ -\0\x89\x16\0\0\x9f\0\0\0\x40\x01\0\0\0\0\0\0\0\0\0\x02\x15\x01\0\0\0\0\0\0\x01\ -\0\0\x0d\0\0\0\0\0\0\0\0\x16\x01\0\0\0\0\0\0\0\0\0\x02\x13\x01\0\0\0\0\0\0\0\0\ -\0\x02\xea\x01\0\0\0\0\0\0\0\0\0\x02\xaf\x01\0\0\0\0\0\0\0\0\0\x02\xb1\x01\0\0\ -\x2a\x1d\0\0\x01\0\0\x04\x08\0\0\0\x35\x1d\0\0\x49\0\0\0\0\0\0\0\x3b\x1d\0\0\ -\x14\0\0\x84\x40\x11\0\0\x49\x1d\0\0\x1d\x01\0\0\0\0\0\0\x2e\x01\0\0\x2d\0\0\0\ -\xc0\0\0\0\x53\x1d\0\0\x4d\0\0\0\0\x01\0\0\x56\x1d\0\0\x4d\0\0\0\x10\x01\0\0\ -\x59\x1d\0\0\x4d\0\0\0\x20\x01\0\0\x61\x1d\0\0\x4d\0\0\0\x30\x01\0\0\x69\x1d\0\ -\0\x2d\0\0\0\x40\x01\0\0\x70\x1d\0\0\x2d\0\0\0\x80\x01\0\0\x77\x1d\0\0\x6b\x01\ -\0\0\xc0\x01\0\0\x82\x1d\0\0\x2d\0\0\0\xc0\x02\0\0\x8e\x1d\0\0\x2d\0\0\0\0\x03\ -\0\0\x99\x1d\0\0\x2d\0\0\0\x40\x03\0\0\x9d\x1d\0\0\x2d\0\0\0\x80\x03\0\0\xa5\ -\x1d\0\0\x2d\0\0\0\xc0\x03\0\0\xb0\x1d\0\0\x6c\x01\0\0\0\x04\0\0\xba\x1d\0\0\ -\x2d\0\0\0\x40\x04\0\0\xc4\x1d\0\0\x39\0\0\0\x80\x04\0\x01\xce\x1d\0\0\x39\0\0\ -\0\x81\x04\0\x01\xe1\x1d\0\0\x40\0\0\0\xa0\x04\0\0\xe6\x1d\0\0\x6d\x01\0\0\0\ -\x06\0\0\xea\x1d\0\0\x0d\0\0\x84\x08\0\0\0\xf6\x1d\0\0\x4b\0\0\0\0\0\0\0\xfd\ -\x1d\0\0\x4b\0\0\0\x10\0\0\0\x03\x1e\0\0\x4b\0\0\0\x20\0\0\x08\x19\0\0\0\x4b\0\ -\0\0\x28\0\0\x04\xa3\x14\0\0\x4b\0\0\0\x2c\0\0\x01\x09\x1e\0\0\x4b\0\0\0\x2d\0\ -\0\x02\x0d\x1e\0\0\x4b\0\0\0\x2f\0\0\x01\x0f\x1e\0\0\x4b\0\0\0\x30\0\0\x04\x16\ -\x1e\0\0\x4b\0\0\0\x34\0\0\x01\x1a\x1e\0\0\x4b\0\0\0\x35\0\0\x01\x1c\x1e\0\0\ -\x4b\0\0\0\x36\0\0\x01\x1e\x1e\0\0\x4b\0\0\0\x37\0\0\x01\x20\x1e\0\0\x4b\0\0\0\ -\x38\0\0\x08\0\0\0\0\0\0\0\x03\0\0\0\0\x1c\x01\0\0\x04\0\0\0\x03\0\0\0\0\0\0\0\ -\0\0\0\x02\x1f\x01\0\0\x26\x1e\0\0\x4b\0\0\x04\x08\x07\0\0\x31\x1e\0\0\x52\0\0\ -\0\0\0\0\0\x3d\x1e\0\0\x52\0\0\0\x80\0\0\0\x4a\x1e\0\0\x52\0\0\0\0\x01\0\0\x97\ -\x0f\0\0\x50\0\0\0\x80\x01\0\0\x56\x1e\0\0\x54\0\0\0\x40\x02\0\0\x62\x1e\0\0\ -\x52\0\0\0\x80\x02\0\0\x70\x1e\0\0\x91\0\0\0\0\x03\0\0\x7c\x1e\0\0\x52\0\0\0\ -\x80\x03\0\0\x89\x1e\0\0\x02\0\0\0\0\x04\0\0\x95\x1e\0\0\x02\0\0\0\x20\x04\0\0\ -\xa0\x1e\0\0\x02\0\0\0\x40\x04\0\0\x62\x06\0\0\x1e\x01\0\0\x80\x04\0\0\x65\x1b\ -\0\0\xfd\0\0\0\xc0\x04\0\0\xab\x1e\0\0\x42\0\0\0\0\x05\0\0\x2f\x12\0\0\x20\x01\ -\0\0\x40\x05\0\0\xb7\x1e\0\0\x39\0\0\0\x60\x05\0\0\x1c\x15\0\0\x21\x01\0\0\x80\ -\x05\0\0\xc4\x1e\0\0\xf8\0\0\0\xc0\x05\0\0\xd0\x1e\0\0\x54\0\0\0\0\x06\0\0\xe3\ -\x1e\0\0\x54\0\0\0\x40\x06\0\0\xf6\x1e\0\0\x54\0\0\0\x80\x06\0\0\xfd\x1e\0\0\ -\x23\x01\0\0\xc0\x06\0\0\x02\x1f\0\0\x4b\0\0\0\xc0\x0a\0\0\x0e\x1f\0\0\x4b\0\0\ -\0\xd0\x0a\0\0\x1d\x1f\0\0\x4b\0\0\0\xe0\x0a\0\0\x27\x1f\0\0\x29\x01\0\0\0\x0b\ -\0\0\x42\x01\0\0\xfb\0\0\0\0\x11\0\0\x16\x1c\0\0\xf7\0\0\0\x40\x11\0\0\x2a\x1f\ -\0\0\xf8\0\0\0\x80\x11\0\0\x43\x1f\0\0\xf8\0\0\0\xc0\x11\0\0\x5c\x1f\0\0\xf6\0\ -\0\0\0\x12\0\0\x68\x1f\0\0\x52\0\0\0\x80\x16\0\0\x4a\x06\0\0\x1e\x01\0\0\0\x17\ -\0\0\x73\x1f\0\0\x02\0\0\0\x40\x17\0\0\xe3\x0e\0\0\x02\0\0\0\x60\x17\0\0\x79\ -\x1f\0\0\x52\0\0\0\x80\x17\0\0\x46\x16\0\0\x3b\0\0\0\0\x18\0\0\x85\x1f\0\0\xf6\ -\0\0\0\x40\x18\0\0\x90\x1f\0\0\x45\0\0\0\xc0\x1c\0\0\x9b\x1f\0\0\x3a\x01\0\0\0\ -\x1d\0\0\x9e\x1f\0\0\x52\0\0\0\x40\x1d\0\0\xa7\x1f\0\0\x2d\0\0\0\xc0\x1d\0\0\ -\xb3\x1f\0\0\x02\0\0\0\0\x1e\0\0\xbf\x1f\0\0\x3b\x01\0\0\x40\x1e\0\0\xc5\x1f\0\ -\0\x3d\x01\0\0\xc0\x20\0\0\xcc\x1f\0\0\x39\0\0\0\0\x21\0\0\xdb\x1f\0\0\x39\0\0\ -\0\x20\x21\0\0\xe8\x1f\0\0\x39\0\0\0\x40\x21\0\0\xf8\x1f\0\0\x39\0\0\0\x60\x21\ -\0\0\x08\x20\0\0\x2d\0\0\0\x80\x21\0\0\x15\x20\0\0\x3e\x01\0\0\xc0\x21\0\0\x21\ -\x20\0\0\xb5\0\0\0\xc0\x22\0\0\x2e\x20\0\0\x39\0\0\0\x40\x23\0\0\x3b\x20\0\0\ -\x45\0\0\0\x60\x23\0\0\x47\x20\0\0\x43\x01\0\0\x80\x23\0\0\x54\x20\0\0\x44\x01\ -\0\0\x40\x26\0\0\x67\x20\0\0\x2d\0\0\0\x80\x26\0\0\x78\x20\0\0\x1e\x01\0\0\xc0\ -\x26\0\0\x82\x20\0\0\x45\x01\0\0\0\x27\0\0\xf6\x17\0\0\xb5\0\0\0\x40\x27\0\0\ -\x8a\x20\0\0\x47\x01\0\0\xc0\x27\0\0\x8d\x20\0\0\x54\0\0\0\0\x28\0\0\x90\x20\0\ -\0\xf8\0\0\0\x40\x28\0\0\x9d\x20\0\0\x48\x01\0\0\x80\x28\0\0\xa3\x20\0\0\x4a\ -\x01\0\0\xc0\x28\0\0\xb4\x20\0\0\x42\0\0\0\0\x29\0\0\xcd\x20\0\0\x4a\x01\0\0\ -\x40\x29\0\0\xe3\x20\0\0\x59\x01\0\0\x80\x29\0\0\xe8\x20\0\0\x54\0\0\0\xc0\x29\ -\0\0\xf3\x20\0\0\x5a\x01\0\0\0\x2a\0\0\xa4\x18\0\0\x5b\x01\0\0\x40\x2a\0\0\xfc\ -\x20\0\0\x5c\x01\0\0\x80\x2a\0\0\x07\x21\0\0\x6a\x01\0\0\x40\x37\0\0\x24\x0e\0\ -\0\x42\0\0\0\x80\x37\0\0\x0c\x21\0\0\x52\0\0\0\xc0\x37\0\0\x14\x21\0\0\x06\0\0\ -\x06\x04\0\0\0\x25\x21\0\0\xfc\xff\xff\xff\x3b\x21\0\0\xfd\xff\xff\xff\x51\x21\ -\0\0\xfe\xff\xff\xff\x68\x21\0\0\xff\xff\xff\xff\x7d\x21\0\0\0\0\0\0\x97\x21\0\ -\0\x01\0\0\0\xaf\x21\0\0\0\0\0\x08\x22\x01\0\0\0\0\0\0\x01\0\0\x04\x08\0\0\0\ -\xa3\x1c\0\0\xff\0\0\0\0\0\0\0\xb9\x21\0\0\x3b\0\0\x84\x80\0\0\0\x19\0\0\0\x41\ -\0\0\0\0\0\0\0\x14\x1d\0\0\x41\0\0\0\x20\0\0\0\xc9\x21\0\0\x55\0\0\0\x40\0\0\0\ -\0\0\0\0\x24\x01\0\0\x80\0\0\0\xd0\x21\0\0\x55\0\0\0\xc0\0\0\0\xdc\x21\0\0\x55\ -\0\0\0\0\x01\0\0\xe8\x21\0\0\x55\0\0\0\x40\x01\0\x01\xf1\x21\0\0\x55\0\0\0\x41\ -\x01\0\x01\xf9\x21\0\0\x55\0\0\0\x42\x01\0\x01\0\x22\0\0\x55\0\0\0\x43\x01\0\ -\x01\x0a\x22\0\0\x55\0\0\0\x44\x01\0\x01\x17\x22\0\0\x55\0\0\0\x45\x01\0\x01\ -\x26\x22\0\0\x55\0\0\0\x46\x01\0\x01\x31\x22\0\0\x55\0\0\0\x47\x01\0\x01\x3e\ -\x22\0\0\x55\0\0\0\x48\x01\0\x01\x96\x07\0\0\x55\0\0\0\x49\x01\0\x01\x43\x22\0\ -\0\x55\0\0\0\x4a\x01\0\x01\x48\x22\0\0\x55\0\0\0\x4b\x01\0\x01\x55\x22\0\0\x55\ -\0\0\0\x4c\x01\0\x01\x1f\x1c\0\0\x55\0\0\0\x4d\x01\0\x01\x64\x22\0\0\x55\0\0\0\ -\x4e\x01\0\x01\x6e\x22\0\0\x55\0\0\0\x4f\x01\0\x02\x79\x22\0\0\x55\0\0\0\x51\ -\x01\0\x01\x83\x22\0\0\x55\0\0\0\x52\x01\0\x01\x91\x22\0\0\x55\0\0\0\x53\x01\0\ -\x01\x9e\x22\0\0\x55\0\0\0\x54\x01\0\x01\xac\x22\0\0\x55\0\0\0\x55\x01\0\x01\ -\xc5\x22\0\0\x55\0\0\0\x56\x01\0\x01\xdc\x22\0\0\x55\0\0\0\x57\x01\0\x01\xe2\ -\x22\0\0\x55\0\0\0\x58\x01\0\x01\xec\x22\0\0\x55\0\0\0\x59\x01\0\x01\xf8\x22\0\ -\0\x55\0\0\0\x5a\x01\0\x01\x07\x23\0\0\x55\0\0\0\x5b\x01\0\x01\x16\x23\0\0\x55\ -\0\0\0\x5c\x01\0\x01\x21\x23\0\0\x55\0\0\0\x5d\x01\0\x01\x29\x23\0\0\x55\0\0\0\ -\x5e\x01\0\x01\x33\x23\0\0\x55\0\0\0\x5f\x01\0\x01\x3e\x23\0\0\x55\0\0\0\x60\ -\x01\0\x01\x45\x23\0\0\x55\0\0\0\x61\x01\0\x01\x4f\x23\0\0\x55\0\0\0\x62\x01\0\ -\x01\x58\x23\0\0\x55\0\0\0\x63\x01\0\x01\x67\x23\0\0\x55\0\0\0\x64\x01\0\x01\ -\x76\x23\0\0\x55\0\0\0\x65\x01\0\x01\x7e\x23\0\0\x55\0\0\0\x66\x01\0\x1a\0\0\0\ -\0\x25\x01\0\0\x80\x01\0\0\x8b\x23\0\0\x41\0\0\0\xa0\x01\0\0\0\0\0\0\x26\x01\0\ -\0\xc0\x01\0\0\0\0\0\0\x27\x01\0\0\0\x02\0\0\x93\x23\0\0\x55\0\0\0\x40\x02\0\0\ -\xa6\x23\0\0\x55\0\0\0\x80\x02\0\0\xb7\x23\0\0\x41\0\0\0\xc0\x02\0\0\x61\x15\0\ -\0\x28\x01\0\0\xe0\x02\0\0\xc9\x23\0\0\x55\0\0\0\0\x03\0\0\xda\x23\0\0\x41\0\0\ -\0\x40\x03\0\0\xe8\x23\0\0\x4c\0\0\0\x60\x03\0\0\xf9\x23\0\0\x4c\0\0\0\x70\x03\ -\0\0\x06\x24\0\0\x41\0\0\0\x80\x03\0\0\x16\x24\0\0\x41\0\0\0\xa0\x03\0\0\x23\ -\x24\0\0\x55\0\0\0\xc0\x03\0\0\0\0\0\0\x02\0\0\x05\x08\0\0\0\x2c\x24\0\0\x55\0\ -\0\0\0\0\0\0\x3a\x24\0\0\x55\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\x05\x04\0\0\0\x46\ -\x24\0\0\x41\0\0\0\0\0\0\0\x54\x24\0\0\x41\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\x05\ -\x08\0\0\0\x65\x24\0\0\x55\0\0\0\0\0\0\0\x6d\x24\0\0\x55\0\0\0\0\0\0\0\x79\x24\ -\0\0\x55\0\0\0\0\0\0\0\x85\x24\0\0\x55\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\x05\x08\0\ -\0\0\x8d\x24\0\0\x55\0\0\0\0\0\0\0\x94\x24\0\0\x55\0\0\0\0\0\0\0\xa0\x24\0\0\ -\x55\0\0\0\0\0\0\0\xad\x24\0\0\x55\0\0\0\0\0\0\0\xb5\x24\0\0\0\0\0\x08\x02\0\0\ -\0\xbb\x24\0\0\x0c\0\0\x04\xc0\0\0\0\0\0\0\0\x2a\x01\0\0\0\0\0\0\xc9\x24\0\0\ -\x3b\0\0\0\0\x03\0\0\x47\x20\0\0\x42\0\0\0\x40\x03\0\0\x67\x20\0\0\x2d\0\0\0\ -\x80\x03\0\0\x2f\x12\0\0\x02\0\0\0\xc0\x03\0\0\xd0\x24\0\0\x21\x01\0\0\0\x04\0\ -\0\x2c\x24\0\0\x54\0\0\0\x40\x04\0\0\0\0\0\0\x37\x01\0\0\x80\x04\0\0\xdb\x24\0\ -\0\x54\0\0\0\0\x05\0\0\xea\x24\0\0\x54\0\0\0\x40\x05\0\0\xf5\x24\0\0\x54\0\0\0\ -\x80\x05\0\0\x05\x25\0\0\x54\0\0\0\xc0\x05\0\0\0\0\0\0\x06\0\0\x05\x60\0\0\0\0\ -\0\0\0\x2b\x01\0\0\0\0\0\0\0\0\0\0\x2d\x01\0\0\0\0\0\0\0\0\0\0\x2e\x01\0\0\0\0\ -\0\0\0\0\0\0\x2f\x01\0\0\0\0\0\0\0\0\0\0\x30\x01\0\0\0\0\0\0\0\0\0\0\x36\x01\0\ -\0\0\0\0\0\0\0\0\0\x0a\0\0\x04\x60\0\0\0\xc9\x21\0\0\x54\0\0\0\0\0\0\0\x16\x25\ -\0\0\x54\0\0\0\x40\0\0\0\x1f\x25\0\0\x2d\0\0\0\x80\0\0\0\x2b\x25\0\0\x2d\0\0\0\ -\xc0\0\0\0\x36\x25\0\0\x02\0\0\0\0\x01\0\0\x47\x25\0\0\x02\0\0\0\x20\x01\0\0\ -\x4b\x25\0\0\x02\0\0\0\x40\x01\0\0\x28\x01\0\0\x02\0\0\0\x60\x01\0\0\x54\x25\0\ -\0\x2c\x01\0\0\x80\x01\0\0\x5e\x25\0\0\x2c\x01\0\0\x40\x02\0\0\x69\x25\0\0\x04\ -\0\0\x04\x18\0\0\0\xc9\x21\0\0\x54\0\0\0\0\0\0\0\x7d\x25\0\0\x39\0\0\0\x40\0\0\ -\0\x81\x25\0\0\x02\0\0\0\x60\0\0\0\x47\x25\0\0\x02\0\0\0\x80\0\0\0\0\0\0\0\x01\ -\0\0\x04\x40\0\0\0\x07\x12\0\0\x61\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\x04\x10\0\0\0\ -\x87\x25\0\0\x52\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\x04\x10\0\0\0\x8f\x25\0\0\x54\0\ -\0\0\0\0\0\0\x97\x25\0\0\x54\0\0\0\x40\0\0\0\0\0\0\0\x02\0\0\x04\x28\0\0\0\x9c\ -\x25\0\0\x31\x01\0\0\0\0\0\0\xa1\x25\0\0\x32\x01\0\0\xc0\0\0\0\xa9\x25\0\0\x04\ -\0\0\x04\x18\0\0\0\xbc\x25\0\0\x2d\0\0\0\0\0\0\0\xc4\x25\0\0\x2d\0\0\0\x40\0\0\ -\0\xd1\x18\0\0\x69\0\0\0\x80\0\0\0\x19\0\0\0\x69\0\0\0\x88\0\0\0\xc9\x25\0\0\ -\x02\0\0\x04\x10\0\0\0\xd5\x25\0\0\x33\x01\0\0\0\0\0\0\x4e\x0f\0\0\x35\x01\0\0\ -\x40\0\0\0\xdb\x25\0\0\x01\0\0\x04\x08\0\0\0\x4e\x0f\0\0\x34\x01\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\x02\x33\x01\0\0\0\0\0\0\0\0\0\x02\x32\x01\0\0\0\0\0\0\x05\0\0\x04\ -\x18\0\0\0\xe6\x25\0\0\x69\0\0\0\0\0\0\0\xf1\x25\0\0\x69\0\0\0\x08\0\0\0\xfc\ -\x25\0\0\x4b\0\0\0\x10\0\0\0\x04\x26\0\0\x54\0\0\0\x40\0\0\0\x09\x26\0\0\x54\0\ -\0\0\x80\0\0\0\0\0\0\0\x02\0\0\x05\x10\0\0\0\0\0\0\0\x38\x01\0\0\0\0\0\0\0\0\0\ -\0\x39\x01\0\0\0\0\0\0\0\0\0\0\x02\0\0\x04\x10\0\0\0\x0f\x26\0\0\x54\0\0\0\0\0\ -\0\0\x1b\x26\0\0\x21\x01\0\0\x40\0\0\0\0\0\0\0\x02\0\0\x04\x10\0\0\0\x27\x26\0\ -\0\x54\0\0\0\0\0\0\0\x34\x26\0\0\x54\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\x02\xd2\x01\ -\0\0\x40\x26\0\0\0\0\0\x08\x3c\x01\0\0\x52\x26\0\0\x02\0\0\x04\x50\0\0\0\x0c\ -\x16\0\0\xd8\0\0\0\0\0\0\0\x62\x26\0\0\x52\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\x02\ -\xb8\x01\0\0\x67\x26\0\0\x03\0\0\x04\x20\0\0\0\x0f\x12\0\0\x47\0\0\0\0\0\0\0\ -\x04\x18\0\0\x3f\x01\0\0\x80\0\0\0\x70\x26\0\0\x42\x01\0\0\xc0\0\0\0\0\0\0\0\0\ -\0\0\x02\x40\x01\0\0\0\0\0\0\x01\0\0\x0d\0\0\0\0\0\0\0\0\x41\x01\0\0\0\0\0\0\0\ -\0\0\x02\x3e\x01\0\0\x78\x26\0\0\x01\0\0\x04\x08\0\0\0\x1f\x1c\0\0\x3b\0\0\0\0\ -\0\0\0\x80\x26\0\0\x03\0\0\x04\x58\0\0\0\x47\x18\0\0\x52\0\0\0\0\0\0\0\x0c\x16\ -\0\0\x98\0\0\0\x80\0\0\0\x97\x26\0\0\x39\0\0\0\x80\x02\0\0\0\0\0\0\0\0\0\x02\ -\xd0\x01\0\0\0\0\0\0\0\0\0\x02\x46\x01\0\0\0\0\0\0\x01\0\0\x0d\0\0\0\0\0\0\0\0\ -\x1e\x01\0\0\0\0\0\0\0\0\0\x02\xd7\x01\0\0\0\0\0\0\0\0\0\x02\x49\x01\0\0\0\0\0\ -\0\x01\0\0\x0d\x54\0\0\0\0\0\0\0\0\0\0\0\xa7\x26\0\0\0\0\0\x08\x4b\x01\0\0\0\0\ -\0\0\0\0\0\x02\x4c\x01\0\0\0\0\0\0\x03\0\0\x0d\0\0\0\0\0\0\0\0\x1e\x01\0\0\0\0\ -\0\0\x4d\x01\0\0\0\0\0\0\x2b\0\0\0\0\0\0\0\0\0\0\x02\x4e\x01\0\0\xbf\x26\0\0\ -\x18\0\0\x04\0\x01\0\0\xd0\x26\0\0\x54\0\0\0\0\0\0\0\xdd\x26\0\0\x54\0\0\0\x40\ -\0\0\0\xe4\x26\0\0\x4f\x01\0\0\x80\0\0\0\x1d\x10\0\0\x50\x01\0\0\xc0\0\0\0\xed\ -\x26\0\0\x52\x01\0\0\0\x01\0\0\xf6\x26\0\0\x54\0\0\0\x40\x01\0\0\xfa\x26\0\0\ -\x54\0\0\0\x80\x01\0\0\xff\x26\0\0\x54\x01\0\0\xc0\x01\0\0\x19\0\0\0\x54\0\0\0\ -\0\x02\0\0\x22\x01\0\0\x54\0\0\0\x40\x02\0\0\x03\x27\0\0\x55\x01\0\0\x80\x02\0\ -\0\x55\x15\0\0\x54\0\0\0\xc0\x02\0\0\x8d\x20\0\0\x54\0\0\0\0\x03\0\0\x0d\x27\0\ -\0\x54\0\0\0\x40\x03\0\0\x17\x27\0\0\x56\x01\0\0\x80\x03\0\0\x21\x27\0\0\x57\ -\x01\0\0\xc0\x03\0\0\x2b\x27\0\0\x54\0\0\0\0\x04\0\0\x34\x27\0\0\x58\x01\0\0\ -\x40\x04\0\0\x3e\x27\0\0\x58\x01\0\0\xc0\x04\0\0\x48\x27\0\0\x54\0\0\0\x40\x05\ -\0\0\x58\x27\0\0\x54\0\0\0\x80\x05\0\0\x3e\x23\0\0\x54\0\0\0\xc0\x05\0\0\x62\ -\x27\0\0\x54\0\0\0\0\x06\0\0\x71\x27\0\0\x54\0\0\0\x40\x06\0\0\0\0\0\0\0\0\0\ -\x02\xd1\x01\0\0\x80\x27\0\0\x02\0\0\x05\x08\0\0\0\x93\x27\0\0\x55\0\0\0\0\0\0\ -\0\0\0\0\0\x51\x01\0\0\0\0\0\0\0\0\0\0\x03\0\0\x04\x08\0\0\0\x98\x27\0\0\x41\0\ -\0\0\0\0\0\0\xa0\x27\0\0\x4c\0\0\0\x20\0\0\0\xa7\x27\0\0\x4c\0\0\0\x30\0\0\0\ -\xae\x27\0\0\x02\0\0\x05\x08\0\0\0\x4a\x15\0\0\x55\0\0\0\0\0\0\0\0\0\0\0\x53\ -\x01\0\0\0\0\0\0\0\0\0\0\x0b\0\0\x84\x08\0\0\0\xc0\x27\0\0\x55\0\0\0\0\0\0\x05\ -\xc7\x27\0\0\x55\0\0\0\x05\0\0\x0e\xcf\x27\0\0\x55\0\0\0\x13\0\0\x05\xd9\x27\0\ -\0\x55\0\0\0\x18\0\0\x02\xe2\x27\0\0\x55\0\0\0\x1a\0\0\x07\xeb\x27\0\0\x55\0\0\ -\0\x21\0\0\x04\xf7\x27\0\0\x55\0\0\0\x25\0\0\x01\x02\x28\0\0\x55\0\0\0\x26\0\0\ -\x02\x0d\x28\0\0\x55\0\0\0\x28\0\0\x03\x15\x28\0\0\x55\0\0\0\x2b\0\0\x03\x1e\ -\x28\0\0\x55\0\0\0\x2e\0\0\x12\0\0\0\0\0\0\0\x02\xd5\x01\0\0\0\0\0\0\x02\0\0\ -\x04\x08\0\0\0\x28\x06\0\0\x40\0\0\0\0\0\0\0\x27\x28\0\0\x40\0\0\0\x20\0\0\0\0\ -\0\0\0\x02\0\0\x04\x08\0\0\0\xe3\x0e\0\0\x40\0\0\0\0\0\0\0\x2b\x28\0\0\x40\0\0\ -\0\x20\0\0\0\0\0\0\0\0\0\0\x02\xd3\x01\0\0\x34\x28\0\0\x02\0\0\x04\x10\0\0\0\ -\x3e\x28\0\0\x55\0\0\0\0\0\0\0\x42\x28\0\0\x2b\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\ -\x02\xb0\x01\0\0\0\0\0\0\0\0\0\x02\xe8\x01\0\0\0\0\0\0\0\0\0\x02\xb7\x01\0\0\ -\xfc\x20\0\0\x0c\0\0\x04\x98\x01\0\0\x04\x18\0\0\x5d\x01\0\0\0\0\0\0\x4e\x0f\0\ -\0\x60\x01\0\0\x40\0\0\0\x28\x01\0\0\x2d\0\0\0\x80\0\0\0\x47\x28\0\0\x42\0\0\0\ -\xc0\0\0\0\x4f\x28\0\0\x5d\x01\0\0\0\x01\0\0\x5a\x28\0\0\x63\x01\0\0\x40\x01\0\ -\0\x65\x28\0\0\x65\x01\0\0\x40\x06\0\0\x6f\x28\0\0\x63\x01\0\0\x80\x06\0\0\x78\ -\x28\0\0\x2d\0\0\0\x80\x0b\0\0\x83\x28\0\0\x2d\0\0\0\xc0\x0b\0\0\x47\x18\0\0\ -\x52\0\0\0\0\x0c\0\0\x93\x28\0\0\x66\x01\0\0\x80\x0c\0\0\x9c\x28\0\0\0\0\0\x08\ -\x5e\x01\0\0\0\0\0\0\0\0\0\x02\x5f\x01\0\0\0\0\0\0\x04\0\0\x0d\0\0\0\0\0\0\0\0\ -\x2d\0\0\0\0\0\0\0\x2d\0\0\0\0\0\0\0\x60\x01\0\0\0\0\0\0\x61\x01\0\0\0\0\0\0\0\ -\0\0\x02\x5c\x01\0\0\0\0\0\0\0\0\0\x02\x62\x01\0\0\xaa\x28\0\0\x01\0\0\x04\xa8\ -\0\0\0\x42\x28\0\0\x2c\0\0\0\0\0\0\0\xb6\x28\0\0\x03\0\0\x04\xa0\0\0\0\xc6\x28\ -\0\0\x64\x01\0\0\0\0\0\0\xd3\x28\0\0\x64\x01\0\0\x40\0\0\0\xdf\x28\0\0\xf6\0\0\ -\0\x80\0\0\0\0\0\0\0\0\0\0\x02\xbb\x01\0\0\0\0\0\0\0\0\0\x02\x63\x01\0\0\xea\ -\x28\0\0\0\0\0\x08\x67\x01\0\0\0\0\0\0\0\0\0\x02\x68\x01\0\0\0\0\0\0\x02\0\0\ -\x0d\x02\0\0\0\0\0\0\0\x60\x01\0\0\0\0\0\0\x69\x01\0\0\xfc\x28\0\0\x03\0\0\x06\ -\x04\0\0\0\x0b\x29\0\0\0\0\0\0\x35\x29\0\0\x01\0\0\0\x5f\x29\0\0\x02\0\0\0\0\0\ -\0\0\0\0\0\x02\xd4\x01\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x1e\x01\0\0\x04\0\0\0\x04\ -\0\0\0\0\0\0\0\0\0\0\x02\xbf\x01\0\0\xe6\x1d\0\0\x07\0\0\x04\x80\x10\0\0\x4b\ -\x25\0\0\x39\0\0\0\0\0\0\0\x8a\x29\0\0\x2d\0\0\0\x40\0\0\0\x9b\x29\0\0\x6e\x01\ -\0\0\x80\0\0\0\xa3\x29\0\0\x6e\x01\0\0\xc0\0\0\0\xb2\x29\0\0\x6f\x01\0\0\0\x01\ -\0\0\xb7\x29\0\0\x6f\x01\0\0\x80\x01\0\0\xc2\x29\0\0\x70\x01\0\0\0\x02\0\0\0\0\ -\0\0\0\0\0\x02\x70\x01\0\0\xcc\x29\0\0\x03\0\0\x04\x10\0\0\0\xdb\x29\0\0\x54\0\ -\0\0\0\0\0\0\xe8\x29\0\0\x39\0\0\0\x40\0\0\0\xf5\x29\0\0\x39\0\0\0\x60\0\0\0\ -\x9b\x29\0\0\x0a\0\0\x84\x40\x10\0\0\x14\x1d\0\0\x39\0\0\0\0\0\0\0\x07\x2a\0\0\ -\x39\0\0\0\x20\0\0\0\x11\x2a\0\0\x54\0\0\0\x40\0\0\0\x1b\x2a\0\0\x54\0\0\0\x80\ -\0\0\0\x2a\x2a\0\0\x54\0\0\0\xc0\0\0\0\x2e\x2a\0\0\x39\0\0\0\0\x01\0\x01\x38\ -\x2a\0\0\x39\0\0\0\x01\x01\0\x01\x41\x2a\0\0\x39\0\0\0\x02\x01\0\x01\x51\x2a\0\ -\0\x39\0\0\0\x03\x01\0\x01\x42\x28\0\0\x71\x01\0\0\0\x02\0\0\x58\x2a\0\0\x05\0\ -\0\x05\0\x10\0\0\x65\x2a\0\0\x72\x01\0\0\0\0\0\0\x6b\x2a\0\0\x74\x01\0\0\0\0\0\ -\0\x72\x2a\0\0\x7c\x01\0\0\0\0\0\0\x77\x2a\0\0\x7e\x01\0\0\0\0\0\0\x06\x19\0\0\ -\x82\x01\0\0\0\0\0\0\x7d\x2a\0\0\x09\0\0\x04\x70\0\0\0\x89\x2a\0\0\x40\0\0\0\0\ -\0\0\0\x8d\x2a\0\0\x40\0\0\0\x20\0\0\0\x91\x2a\0\0\x40\0\0\0\x40\0\0\0\x95\x2a\ -\0\0\x40\0\0\0\x60\0\0\0\x99\x2a\0\0\x40\0\0\0\x80\0\0\0\x9d\x2a\0\0\x40\0\0\0\ -\xa0\0\0\0\xa1\x2a\0\0\x40\0\0\0\xc0\0\0\0\xa5\x2a\0\0\x73\x01\0\0\xe0\0\0\0\ -\xdc\x0e\0\0\x40\0\0\0\x60\x03\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x40\0\0\0\x04\0\0\ -\0\x14\0\0\0\xae\x2a\0\0\x0b\0\0\x04\0\x02\0\0\x89\x2a\0\0\x4b\0\0\0\0\0\0\0\ -\x8d\x2a\0\0\x4b\0\0\0\x10\0\0\0\x91\x2a\0\0\x4b\0\0\0\x20\0\0\0\xbb\x2a\0\0\ -\x4b\0\0\0\x30\0\0\0\0\0\0\0\x75\x01\0\0\x40\0\0\0\xbf\x2a\0\0\x40\0\0\0\xc0\0\ -\0\0\xc5\x2a\0\0\x40\0\0\0\xe0\0\0\0\xa5\x2a\0\0\x78\x01\0\0\0\x01\0\0\xd0\x2a\ -\0\0\x79\x01\0\0\0\x05\0\0\xfc\x25\0\0\x7a\x01\0\0\0\x0d\0\0\0\0\0\0\x7b\x01\0\ -\0\x80\x0e\0\0\0\0\0\0\x02\0\0\x05\x10\0\0\0\0\0\0\0\x76\x01\0\0\0\0\0\0\0\0\0\ -\0\x77\x01\0\0\0\0\0\0\0\0\0\0\x02\0\0\x04\x10\0\0\0\xda\x2a\0\0\x54\0\0\0\0\0\ -\0\0\xde\x2a\0\0\x54\0\0\0\x40\0\0\0\0\0\0\0\x04\0\0\x04\x10\0\0\0\x95\x2a\0\0\ -\x40\0\0\0\0\0\0\0\x99\x2a\0\0\x40\0\0\0\x20\0\0\0\x9d\x2a\0\0\x40\0\0\0\x40\0\ -\0\0\xa1\x2a\0\0\x40\0\0\0\x60\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x40\0\0\0\x04\0\ -\0\0\x20\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x40\0\0\0\x04\0\0\0\x40\0\0\0\0\0\0\0\ -\0\0\0\x03\0\0\0\0\x40\0\0\0\x04\0\0\0\x0c\0\0\0\0\0\0\0\x02\0\0\x05\x30\0\0\0\ -\xe2\x2a\0\0\x7a\x01\0\0\0\0\0\0\xeb\x2a\0\0\x7a\x01\0\0\0\0\0\0\xf7\x2a\0\0\ -\x10\0\0\x04\x88\0\0\0\x89\x2a\0\0\x40\0\0\0\0\0\0\0\x8d\x2a\0\0\x40\0\0\0\x20\ -\0\0\0\x91\x2a\0\0\x40\0\0\0\x40\0\0\0\x95\x2a\0\0\x40\0\0\0\x60\0\0\0\x99\x2a\ -\0\0\x40\0\0\0\x80\0\0\0\x9d\x2a\0\0\x40\0\0\0\xa0\0\0\0\xa1\x2a\0\0\x40\0\0\0\ -\xc0\0\0\0\xa5\x2a\0\0\x73\x01\0\0\xe0\0\0\0\x04\x2b\0\0\x69\0\0\0\x60\x03\0\0\ -\x09\x2b\0\0\x69\0\0\0\x68\x03\0\0\x11\x2b\0\0\x69\0\0\0\x70\x03\0\0\x1b\x2b\0\ -\0\x69\0\0\0\x78\x03\0\0\x25\x2b\0\0\x69\0\0\0\x80\x03\0\0\x28\x2b\0\0\x69\0\0\ -\0\x88\x03\0\0\x9c\x25\0\0\x7d\x01\0\0\xc0\x03\0\0\x2f\x2b\0\0\x40\0\0\0\0\x04\ -\0\0\0\0\0\0\0\0\0\x02\xc6\x01\0\0\x39\x2b\0\0\x03\0\0\x04\x40\x02\0\0\x45\x2b\ -\0\0\x74\x01\0\0\0\0\0\0\x4a\x2b\0\0\x7f\x01\0\0\0\x10\0\0\x51\x2b\0\0\x81\x01\ -\0\0\0\x12\0\0\x65\x2b\0\0\x03\0\0\x04\x40\0\0\0\x11\x2a\0\0\x54\0\0\0\0\0\0\0\ -\x73\x2b\0\0\x54\0\0\0\x40\0\0\0\x2b\x28\0\0\x80\x01\0\0\x80\0\0\0\0\0\0\0\0\0\ -\0\x03\0\0\0\0\x54\0\0\0\x04\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x69\0\0\ -\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x69\0\0\0\x04\0\0\0\0\x10\0\0\0\ -\0\0\0\0\0\0\x02\x84\x01\0\0\x7c\x2b\0\0\0\0\0\x07\0\0\0\0\0\0\0\0\x01\0\0\x0d\ -\x02\0\0\0\x42\x01\0\0\x83\x01\0\0\x97\x2b\0\0\x01\0\0\x0c\x85\x01\0\0\0\0\0\0\ -\0\0\0\x02\x88\x01\0\0\xa5\x2b\0\0\x06\0\0\x04\x38\0\0\0\x9c\x25\0\0\x89\x01\0\ -\0\0\0\0\0\xb3\x2b\0\0\x8b\x01\0\0\0\x01\0\0\xc3\x2b\0\0\x8a\x01\0\0\x40\x01\0\ -\0\xce\x2b\0\0\x8a\x01\0\0\x60\x01\0\0\xd9\x2b\0\0\x8a\x01\0\0\x80\x01\0\0\xe4\ -\x2b\0\0\x8a\x01\0\0\xa0\x01\0\0\xf3\x2b\0\0\x04\0\0\x04\x1c\0\0\0\x28\x06\0\0\ -\x8a\x01\0\0\0\0\0\0\x2c\x06\0\0\x8a\x01\0\0\x20\0\0\0\x04\x2c\0\0\x8a\x01\0\0\ -\x40\0\0\0\x96\x07\0\0\xbc\0\0\0\x60\0\0\0\xe7\x0e\0\0\0\0\0\x08\x39\0\0\0\x69\ -\x10\0\0\0\0\0\x08\x56\0\0\0\0\0\0\0\x01\0\0\x0d\x02\0\0\0\x1f\x1c\0\0\x87\x01\ -\0\0\x0b\x2c\0\0\0\0\0\x0c\x8c\x01\0\0\0\0\0\0\0\0\0\x02\x8f\x01\0\0\x23\x2c\0\ -\0\x06\0\0\x04\x20\0\0\0\x2c\x06\0\0\x8a\x01\0\0\0\0\0\0\xc3\x2b\0\0\x8a\x01\0\ -\0\x20\0\0\0\xce\x2b\0\0\x8a\x01\0\0\x40\0\0\0\xd9\x2b\0\0\x8a\x01\0\0\x60\0\0\ -\0\xb3\x2b\0\0\x8b\x01\0\0\x80\0\0\0\xe4\x2b\0\0\x8a\x01\0\0\xc0\0\0\0\0\0\0\0\ -\x01\0\0\x0d\x02\0\0\0\x34\x2c\0\0\x8e\x01\0\0\x3c\x2c\0\0\0\0\0\x0c\x90\x01\0\ -\0\0\0\0\0\0\0\0\x02\x93\x01\0\0\x57\x2c\0\0\0\0\0\x07\0\0\0\0\0\0\0\0\x01\0\0\ -\x0d\x02\0\0\0\x42\x01\0\0\x92\x01\0\0\x72\x2c\0\0\x01\0\0\x0c\x94\x01\0\0\0\0\ -\0\0\0\0\0\x02\x56\0\0\0\0\0\0\0\x01\0\0\x0d\x02\0\0\0\x42\x01\0\0\x96\x01\0\0\ -\x7e\x2c\0\0\x01\0\0\x0c\x97\x01\0\0\x8f\x2c\0\0\x01\0\0\x0c\x97\x01\0\0\x9f\ -\x2c\0\0\x01\0\0\x0c\x97\x01\0\0\xb1\x2c\0\0\x01\0\0\x0c\x97\x01\0\0\xc2\x2c\0\ -\0\x01\0\0\x0c\x97\x01\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\xac\0\0\0\x04\0\0\0\x0d\0\ -\0\0\xd6\x2c\0\0\0\0\0\x0e\x9d\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\xab\ -\0\0\0\x04\0\0\0\x1c\0\0\0\xde\x2c\0\0\0\0\0\x0e\x9f\x01\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\x0a\x8a\x01\0\0\xfb\x2c\0\0\0\0\0\x0e\xa1\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\x03\0\0\0\0\xab\0\0\0\x04\0\0\0\x1d\0\0\0\0\x2d\0\0\0\0\0\x0e\xa3\x01\0\0\0\0\ -\0\0\x20\x2d\0\0\0\0\0\x0e\x9f\x01\0\0\0\0\0\0\x42\x2d\0\0\0\0\0\x0e\xa1\x01\0\ -\0\0\0\0\0\x46\x2d\0\0\0\0\0\x0e\xa3\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\ -\xab\0\0\0\x04\0\0\0\x1f\0\0\0\x69\x2d\0\0\0\0\0\x0e\xa8\x01\0\0\0\0\0\0\x8e\ -\x2d\0\0\0\0\0\x07\0\0\0\0\x5a\x08\0\0\0\0\0\x07\0\0\0\0\xc5\x09\0\0\0\0\0\x07\ -\0\0\0\0\xa9\x09\0\0\0\0\0\x07\0\0\0\0\xa0\x2d\0\0\0\0\0\x07\0\0\0\0\xa9\x2d\0\ -\0\0\0\0\x07\0\0\0\0\xbb\x2d\0\0\0\0\0\x07\0\0\0\0\xc4\x2d\0\0\0\0\0\x07\0\0\0\ -\0\xe1\x09\0\0\0\0\0\x07\0\0\0\0\xf1\x0f\0\0\0\0\0\x07\0\0\0\0\xd0\x2d\0\0\0\0\ -\0\x07\0\0\0\0\x7c\x07\0\0\0\0\0\x07\0\0\0\0\xdb\x2d\0\0\0\0\0\x07\0\0\0\0\xe3\ -\x2d\0\0\0\0\0\x07\0\0\0\0\xf0\x2d\0\0\0\0\0\x07\0\0\0\0\xfe\x2d\0\0\0\0\0\x07\ -\0\0\0\0\x0b\x2e\0\0\0\0\0\x07\0\0\0\0\x15\x2e\0\0\0\0\0\x07\0\0\0\0\x21\x2e\0\ -\0\0\0\0\x07\0\0\0\0\x32\x2e\0\0\0\0\0\x07\0\0\0\0\x41\x2e\0\0\0\0\0\x07\0\0\0\ -\0\xb0\x1d\0\0\0\0\0\x07\0\0\0\0\xd6\x09\0\0\0\0\0\x07\0\0\0\0\x54\x2e\0\0\0\0\ -\0\x07\0\0\0\0\x62\x2e\0\0\0\0\0\x07\0\0\0\0\x95\x16\0\0\0\0\0\x07\0\0\0\0\x71\ -\x2e\0\0\0\0\0\x07\0\0\0\0\x80\x2e\0\0\0\0\0\x07\0\0\0\0\x95\x2e\0\0\0\0\0\x07\ -\0\0\0\0\xa3\x2e\0\0\0\0\0\x07\0\0\0\0\x23\x0b\0\0\0\0\0\x07\0\0\0\0\xae\x2e\0\ -\0\0\0\0\x07\0\0\0\0\xb8\x2e\0\0\0\0\0\x07\0\0\0\0\x9b\x07\0\0\0\0\0\x07\0\0\0\ -\0\xea\x07\0\0\0\0\0\x07\0\0\0\0\xe2\x0b\0\0\0\0\0\x07\0\0\0\0\xc5\x2e\0\0\0\0\ -\0\x07\0\0\0\0\x0f\x1d\0\0\0\0\0\x07\0\0\0\0\xd4\x2e\0\0\0\0\0\x07\0\0\0\0\xeb\ -\x2e\0\0\0\0\0\x07\0\0\0\0\xfd\x2e\0\0\0\0\0\x07\0\0\0\0\x09\x2f\0\0\0\0\0\x07\ -\0\0\0\0\x1e\x2f\0\0\0\0\0\x07\0\0\0\0\x2a\x2f\0\0\0\0\0\x07\0\0\0\0\x28\x06\0\ -\0\0\0\0\x07\0\0\0\0\x3a\x2f\0\0\0\0\0\x07\0\0\0\0\x48\x2f\0\0\0\0\0\x07\0\0\0\ -\0\x65\x1b\0\0\0\0\0\x07\0\0\0\0\x58\x2f\0\0\0\0\0\x07\0\0\0\0\x5f\x2f\0\0\0\0\ -\0\x07\0\0\0\0\xb7\x09\0\0\0\0\0\x07\0\0\0\0\x68\x2f\0\0\0\0\0\x07\0\0\0\0\x76\ -\x2f\0\0\0\0\0\x07\0\0\0\0\x34\x0c\0\0\0\0\0\x07\0\0\0\0\x87\x2f\0\0\0\0\0\x07\ -\0\0\0\0\xf9\x02\0\0\0\0\0\x07\0\0\0\0\x97\x2f\0\0\0\0\0\x07\0\0\0\0\xa6\x2f\0\ -\0\0\0\0\x07\0\0\0\0\xb4\x2f\0\0\0\0\0\x07\0\0\0\0\xc3\x2f\0\0\0\0\0\x07\0\0\0\ -\0\xd1\x2f\0\0\0\0\0\x07\0\0\0\0\xe1\x2f\0\0\0\0\0\x07\0\0\0\0\xec\x2f\0\0\0\0\ -\0\x07\0\0\0\0\xfd\x2f\0\0\0\0\0\x07\0\0\0\0\x09\x30\0\0\0\0\0\x07\0\0\0\0\x63\ -\x01\0\0\0\0\0\x07\0\0\0\0\x13\x42\0\0\x01\0\0\x0f\x0d\0\0\0\x9e\x01\0\0\0\0\0\ -\0\x0d\0\0\0\x1b\x42\0\0\x08\0\0\x0f\xd0\0\0\0\x0c\0\0\0\0\0\0\0\x20\0\0\0\x12\ -\0\0\0\x20\0\0\0\x20\0\0\0\x1a\0\0\0\x40\0\0\0\x20\0\0\0\x1b\0\0\0\x60\0\0\0\ -\x20\0\0\0\x1f\0\0\0\x80\0\0\0\x20\0\0\0\x25\0\0\0\xa0\0\0\0\x10\0\0\0\x29\0\0\ -\0\xb0\0\0\0\x10\0\0\0\x2a\0\0\0\xc0\0\0\0\x10\0\0\0\x21\x42\0\0\x07\0\0\x0f\ -\x9c\0\0\0\xa0\x01\0\0\0\0\0\0\x1c\0\0\0\xa2\x01\0\0\x1c\0\0\0\x04\0\0\0\xa4\ -\x01\0\0\x20\0\0\0\x1d\0\0\0\xa5\x01\0\0\x3d\0\0\0\x1c\0\0\0\xa6\x01\0\0\x5c\0\ -\0\0\x04\0\0\0\xa7\x01\0\0\x60\0\0\0\x1d\0\0\0\xa9\x01\0\0\x7d\0\0\0\x1f\0\0\0\ -\0\x69\x6e\x74\0\x5f\x5f\x41\x52\x52\x41\x59\x5f\x53\x49\x5a\x45\x5f\x54\x59\ -\x50\x45\x5f\x5f\0\x74\x79\x70\x65\0\x6b\x65\x79\x5f\x73\x69\x7a\x65\0\x76\x61\ -\x6c\x75\x65\x5f\x73\x69\x7a\x65\0\x6d\x61\x78\x5f\x65\x6e\x74\x72\x69\x65\x73\ -\0\x74\x61\x73\x6b\x5f\x6d\x6d\x5f\x73\x74\x61\x74\x73\x5f\x6d\x61\x70\0\x70\ -\x72\x6f\x63\x65\x73\x73\x5f\x6d\x6d\x5f\x73\x74\x61\x74\x73\x5f\x6d\x61\x70\0\ -\x74\x61\x73\x6b\x5f\x6d\x6d\x5f\x6f\x63\x63\x75\x70\x69\x65\x64\x5f\x6c\x69\ -\x73\x74\0\x70\x72\x6f\x63\x65\x73\x73\x5f\x6d\x6d\x5f\x6f\x63\x63\x75\x70\x69\ -\x65\x64\x5f\x6c\x69\x73\x74\0\x74\x68\x72\x65\x68\x6f\x6c\x64\x5f\x6d\x61\x70\ -\0\x74\x61\x73\x6b\x5f\x6d\x6d\x5f\x73\x74\x61\x74\x73\x5f\x62\x75\x66\x66\x65\ -\x72\0\x70\x72\x6f\x63\x65\x73\x73\x5f\x6d\x6d\x5f\x73\x74\x61\x74\x73\x5f\x62\ -\x75\x66\x66\x65\x72\0\x6f\x6f\x6d\x5f\x65\x76\x65\x6e\x74\x5f\x62\x75\x66\x66\ -\x65\x72\0\x70\x74\x5f\x72\x65\x67\x73\0\x72\x31\x35\0\x72\x31\x34\0\x72\x31\ -\x33\0\x72\x31\x32\0\x62\x70\0\x62\x78\0\x72\x31\x31\0\x72\x31\x30\0\x72\x39\0\ -\x72\x38\0\x61\x78\0\x63\x78\0\x64\x78\0\x73\x69\0\x64\x69\0\x6f\x72\x69\x67\ -\x5f\x61\x78\0\x69\x70\0\x63\x73\0\x66\x6c\x61\x67\x73\0\x73\x70\0\x73\x73\0\ -\x75\x6e\x73\x69\x67\x6e\x65\x64\x20\x6c\x6f\x6e\x67\0\x63\x74\x78\0\x6f\x6f\ -\x6d\x5f\x6b\x69\x6c\x6c\x5f\x70\x72\x6f\x63\x65\x73\x73\0\x6f\x6f\x6d\x5f\x63\ -\x6f\x6e\x74\x72\x6f\x6c\0\x7a\x6f\x6e\x65\x6c\x69\x73\x74\0\x6e\x6f\x64\x65\ -\x6d\x61\x73\x6b\0\x6d\x65\x6d\x63\x67\0\x67\x66\x70\x5f\x6d\x61\x73\x6b\0\x6f\ -\x72\x64\x65\x72\0\x74\x6f\x74\x61\x6c\x70\x61\x67\x65\x73\0\x63\x68\x6f\x73\ -\x65\x6e\0\x63\x68\x6f\x73\x65\x6e\x5f\x70\x6f\x69\x6e\x74\x73\0\x63\x6f\x6e\ -\x73\x74\x72\x61\x69\x6e\x74\0\x6e\x6f\x64\x65\x6d\x61\x73\x6b\x5f\x74\0\x62\ -\x69\x74\x73\0\x67\x66\x70\x5f\x74\0\x75\x6e\x73\x69\x67\x6e\x65\x64\x20\x69\ -\x6e\x74\0\x6c\x6f\x6e\x67\0\x6f\x6f\x6d\x5f\x63\x6f\x6e\x73\x74\x72\x61\x69\ -\x6e\x74\0\x43\x4f\x4e\x53\x54\x52\x41\x49\x4e\x54\x5f\x4e\x4f\x4e\x45\0\x43\ -\x4f\x4e\x53\x54\x52\x41\x49\x4e\x54\x5f\x43\x50\x55\x53\x45\x54\0\x43\x4f\x4e\ -\x53\x54\x52\x41\x49\x4e\x54\x5f\x4d\x45\x4d\x4f\x52\x59\x5f\x50\x4f\x4c\x49\ -\x43\x59\0\x43\x4f\x4e\x53\x54\x52\x41\x49\x4e\x54\x5f\x4d\x45\x4d\x43\x47\0\ -\x74\x61\x73\x6b\x5f\x73\x74\x72\x75\x63\x74\0\x74\x68\x72\x65\x61\x64\x5f\x69\ -\x6e\x66\x6f\0\x5f\x5f\x73\x74\x61\x74\x65\0\x73\x74\x61\x63\x6b\0\x75\x73\x61\ -\x67\x65\0\x70\x74\x72\x61\x63\x65\0\x6f\x6e\x5f\x63\x70\x75\0\x77\x61\x6b\x65\ -\x5f\x65\x6e\x74\x72\x79\0\x77\x61\x6b\x65\x65\x5f\x66\x6c\x69\x70\x73\0\x77\ -\x61\x6b\x65\x65\x5f\x66\x6c\x69\x70\x5f\x64\x65\x63\x61\x79\x5f\x74\x73\0\x6c\ -\x61\x73\x74\x5f\x77\x61\x6b\x65\x65\0\x72\x65\x63\x65\x6e\x74\x5f\x75\x73\x65\ -\x64\x5f\x63\x70\x75\0\x77\x61\x6b\x65\x5f\x63\x70\x75\0\x6f\x6e\x5f\x72\x71\0\ -\x70\x72\x69\x6f\0\x73\x74\x61\x74\x69\x63\x5f\x70\x72\x69\x6f\0\x6e\x6f\x72\ -\x6d\x61\x6c\x5f\x70\x72\x69\x6f\0\x72\x74\x5f\x70\x72\x69\x6f\x72\x69\x74\x79\ -\0\x73\x65\0\x72\x74\0\x64\x6c\0\x73\x63\x68\x65\x64\x5f\x63\x6c\x61\x73\x73\0\ -\x73\x63\x68\x65\x64\x5f\x74\x61\x73\x6b\x5f\x67\x72\x6f\x75\x70\0\x73\x74\x61\ -\x74\x73\0\x62\x74\x72\x61\x63\x65\x5f\x73\x65\x71\0\x70\x6f\x6c\x69\x63\x79\0\ -\x6e\x72\x5f\x63\x70\x75\x73\x5f\x61\x6c\x6c\x6f\x77\x65\x64\0\x63\x70\x75\x73\ -\x5f\x70\x74\x72\0\x75\x73\x65\x72\x5f\x63\x70\x75\x73\x5f\x70\x74\x72\0\x63\ -\x70\x75\x73\x5f\x6d\x61\x73\x6b\0\x6d\x69\x67\x72\x61\x74\x69\x6f\x6e\x5f\x70\ -\x65\x6e\x64\x69\x6e\x67\0\x6d\x69\x67\x72\x61\x74\x69\x6f\x6e\x5f\x64\x69\x73\ -\x61\x62\x6c\x65\x64\0\x6d\x69\x67\x72\x61\x74\x69\x6f\x6e\x5f\x66\x6c\x61\x67\ -\x73\0\x72\x63\x75\x5f\x72\x65\x61\x64\x5f\x6c\x6f\x63\x6b\x5f\x6e\x65\x73\x74\ -\x69\x6e\x67\0\x72\x63\x75\x5f\x72\x65\x61\x64\x5f\x75\x6e\x6c\x6f\x63\x6b\x5f\ -\x73\x70\x65\x63\x69\x61\x6c\0\x72\x63\x75\x5f\x6e\x6f\x64\x65\x5f\x65\x6e\x74\ -\x72\x79\0\x72\x63\x75\x5f\x62\x6c\x6f\x63\x6b\x65\x64\x5f\x6e\x6f\x64\x65\0\ -\x72\x63\x75\x5f\x74\x61\x73\x6b\x73\x5f\x6e\x76\x63\x73\x77\0\x72\x63\x75\x5f\ -\x74\x61\x73\x6b\x73\x5f\x68\x6f\x6c\x64\x6f\x75\x74\0\x72\x63\x75\x5f\x74\x61\ -\x73\x6b\x73\x5f\x69\x64\x78\0\x72\x63\x75\x5f\x74\x61\x73\x6b\x73\x5f\x69\x64\ -\x6c\x65\x5f\x63\x70\x75\0\x72\x63\x75\x5f\x74\x61\x73\x6b\x73\x5f\x68\x6f\x6c\ -\x64\x6f\x75\x74\x5f\x6c\x69\x73\x74\0\x74\x72\x63\x5f\x72\x65\x61\x64\x65\x72\ -\x5f\x6e\x65\x73\x74\x69\x6e\x67\0\x74\x72\x63\x5f\x69\x70\x69\x5f\x74\x6f\x5f\ -\x63\x70\x75\0\x74\x72\x63\x5f\x72\x65\x61\x64\x65\x72\x5f\x73\x70\x65\x63\x69\ -\x61\x6c\0\x74\x72\x63\x5f\x68\x6f\x6c\x64\x6f\x75\x74\x5f\x6c\x69\x73\x74\0\ -\x74\x72\x63\x5f\x62\x6c\x6b\x64\x5f\x6e\x6f\x64\x65\0\x74\x72\x63\x5f\x62\x6c\ -\x6b\x64\x5f\x63\x70\x75\0\x73\x63\x68\x65\x64\x5f\x69\x6e\x66\x6f\0\x74\x61\ -\x73\x6b\x73\0\x70\x75\x73\x68\x61\x62\x6c\x65\x5f\x74\x61\x73\x6b\x73\0\x70\ -\x75\x73\x68\x61\x62\x6c\x65\x5f\x64\x6c\x5f\x74\x61\x73\x6b\x73\0\x6d\x6d\0\ -\x61\x63\x74\x69\x76\x65\x5f\x6d\x6d\0\x72\x73\x73\x5f\x73\x74\x61\x74\0\x65\ -\x78\x69\x74\x5f\x73\x74\x61\x74\x65\0\x65\x78\x69\x74\x5f\x63\x6f\x64\x65\0\ -\x65\x78\x69\x74\x5f\x73\x69\x67\x6e\x61\x6c\0\x70\x64\x65\x61\x74\x68\x5f\x73\ -\x69\x67\x6e\x61\x6c\0\x6a\x6f\x62\x63\x74\x6c\0\x70\x65\x72\x73\x6f\x6e\x61\ -\x6c\x69\x74\x79\0\x73\x63\x68\x65\x64\x5f\x72\x65\x73\x65\x74\x5f\x6f\x6e\x5f\ -\x66\x6f\x72\x6b\0\x73\x63\x68\x65\x64\x5f\x63\x6f\x6e\x74\x72\x69\x62\x75\x74\ -\x65\x73\x5f\x74\x6f\x5f\x6c\x6f\x61\x64\0\x73\x63\x68\x65\x64\x5f\x6d\x69\x67\ -\x72\x61\x74\x65\x64\0\x73\x63\x68\x65\x64\x5f\x72\x65\x6d\x6f\x74\x65\x5f\x77\ -\x61\x6b\x65\x75\x70\0\x69\x6e\x5f\x65\x78\x65\x63\x76\x65\0\x69\x6e\x5f\x69\ -\x6f\x77\x61\x69\x74\0\x72\x65\x73\x74\x6f\x72\x65\x5f\x73\x69\x67\x6d\x61\x73\ -\x6b\0\x69\x6e\x5f\x75\x73\x65\x72\x5f\x66\x61\x75\x6c\x74\0\x62\x72\x6b\x5f\ -\x72\x61\x6e\x64\x6f\x6d\x69\x7a\x65\x64\0\x6e\x6f\x5f\x63\x67\x72\x6f\x75\x70\ -\x5f\x6d\x69\x67\x72\x61\x74\x69\x6f\x6e\0\x66\x72\x6f\x7a\x65\x6e\0\x75\x73\ -\x65\x5f\x6d\x65\x6d\x64\x65\x6c\x61\x79\0\x69\x6e\x5f\x65\x76\x65\x6e\x74\x66\ -\x64\0\x72\x65\x70\x6f\x72\x74\x65\x64\x5f\x73\x70\x6c\x69\x74\x5f\x6c\x6f\x63\ -\x6b\0\x69\x6e\x5f\x74\x68\x72\x61\x73\x68\x69\x6e\x67\0\x61\x74\x6f\x6d\x69\ -\x63\x5f\x66\x6c\x61\x67\x73\0\x72\x65\x73\x74\x61\x72\x74\x5f\x62\x6c\x6f\x63\ -\x6b\0\x70\x69\x64\0\x74\x67\x69\x64\0\x73\x74\x61\x63\x6b\x5f\x63\x61\x6e\x61\ -\x72\x79\0\x72\x65\x61\x6c\x5f\x70\x61\x72\x65\x6e\x74\0\x70\x61\x72\x65\x6e\ -\x74\0\x63\x68\x69\x6c\x64\x72\x65\x6e\0\x73\x69\x62\x6c\x69\x6e\x67\0\x67\x72\ -\x6f\x75\x70\x5f\x6c\x65\x61\x64\x65\x72\0\x70\x74\x72\x61\x63\x65\x64\0\x70\ -\x74\x72\x61\x63\x65\x5f\x65\x6e\x74\x72\x79\0\x74\x68\x72\x65\x61\x64\x5f\x70\ -\x69\x64\0\x70\x69\x64\x5f\x6c\x69\x6e\x6b\x73\0\x74\x68\x72\x65\x61\x64\x5f\ -\x67\x72\x6f\x75\x70\0\x74\x68\x72\x65\x61\x64\x5f\x6e\x6f\x64\x65\0\x76\x66\ -\x6f\x72\x6b\x5f\x64\x6f\x6e\x65\0\x73\x65\x74\x5f\x63\x68\x69\x6c\x64\x5f\x74\ -\x69\x64\0\x63\x6c\x65\x61\x72\x5f\x63\x68\x69\x6c\x64\x5f\x74\x69\x64\0\x77\ -\x6f\x72\x6b\x65\x72\x5f\x70\x72\x69\x76\x61\x74\x65\0\x75\x74\x69\x6d\x65\0\ -\x73\x74\x69\x6d\x65\0\x67\x74\x69\x6d\x65\0\x70\x72\x65\x76\x5f\x63\x70\x75\ -\x74\x69\x6d\x65\0\x6e\x76\x63\x73\x77\0\x6e\x69\x76\x63\x73\x77\0\x73\x74\x61\ -\x72\x74\x5f\x74\x69\x6d\x65\0\x73\x74\x61\x72\x74\x5f\x62\x6f\x6f\x74\x74\x69\ -\x6d\x65\0\x6d\x69\x6e\x5f\x66\x6c\x74\0\x6d\x61\x6a\x5f\x66\x6c\x74\0\x70\x6f\ -\x73\x69\x78\x5f\x63\x70\x75\x74\x69\x6d\x65\x72\x73\0\x70\x6f\x73\x69\x78\x5f\ -\x63\x70\x75\x74\x69\x6d\x65\x72\x73\x5f\x77\x6f\x72\x6b\0\x70\x74\x72\x61\x63\ -\x65\x72\x5f\x63\x72\x65\x64\0\x72\x65\x61\x6c\x5f\x63\x72\x65\x64\0\x63\x72\ -\x65\x64\0\x63\x61\x63\x68\x65\x64\x5f\x72\x65\x71\x75\x65\x73\x74\x65\x64\x5f\ -\x6b\x65\x79\0\x63\x6f\x6d\x6d\0\x6e\x61\x6d\x65\x69\x64\x61\x74\x61\0\x73\x79\ -\x73\x76\x73\x65\x6d\0\x73\x79\x73\x76\x73\x68\x6d\0\x6c\x61\x73\x74\x5f\x73\ -\x77\x69\x74\x63\x68\x5f\x63\x6f\x75\x6e\x74\0\x6c\x61\x73\x74\x5f\x73\x77\x69\ -\x74\x63\x68\x5f\x74\x69\x6d\x65\0\x66\x73\0\x66\x69\x6c\x65\x73\0\x69\x6f\x5f\ -\x75\x72\x69\x6e\x67\0\x6e\x73\x70\x72\x6f\x78\x79\0\x73\x69\x67\x6e\x61\x6c\0\ -\x73\x69\x67\x68\x61\x6e\x64\0\x62\x6c\x6f\x63\x6b\x65\x64\0\x72\x65\x61\x6c\ -\x5f\x62\x6c\x6f\x63\x6b\x65\x64\0\x73\x61\x76\x65\x64\x5f\x73\x69\x67\x6d\x61\ -\x73\x6b\0\x70\x65\x6e\x64\x69\x6e\x67\0\x73\x61\x73\x5f\x73\x73\x5f\x73\x70\0\ -\x73\x61\x73\x5f\x73\x73\x5f\x73\x69\x7a\x65\0\x73\x61\x73\x5f\x73\x73\x5f\x66\ -\x6c\x61\x67\x73\0\x74\x61\x73\x6b\x5f\x77\x6f\x72\x6b\x73\0\x61\x75\x64\x69\ -\x74\x5f\x63\x6f\x6e\x74\x65\x78\x74\0\x6c\x6f\x67\x69\x6e\x75\x69\x64\0\x73\ -\x65\x73\x73\x69\x6f\x6e\x69\x64\0\x73\x65\x63\x63\x6f\x6d\x70\0\x73\x79\x73\ -\x63\x61\x6c\x6c\x5f\x64\x69\x73\x70\x61\x74\x63\x68\0\x70\x61\x72\x65\x6e\x74\ -\x5f\x65\x78\x65\x63\x5f\x69\x64\0\x73\x65\x6c\x66\x5f\x65\x78\x65\x63\x5f\x69\ -\x64\0\x61\x6c\x6c\x6f\x63\x5f\x6c\x6f\x63\x6b\0\x70\x69\x5f\x6c\x6f\x63\x6b\0\ -\x77\x61\x6b\x65\x5f\x71\0\x70\x69\x5f\x77\x61\x69\x74\x65\x72\x73\0\x70\x69\ -\x5f\x74\x6f\x70\x5f\x74\x61\x73\x6b\0\x70\x69\x5f\x62\x6c\x6f\x63\x6b\x65\x64\ -\x5f\x6f\x6e\0\x62\x6c\x6f\x63\x6b\x65\x64\x5f\x6f\x6e\0\x6e\x6f\x6e\x5f\x62\ -\x6c\x6f\x63\x6b\x5f\x63\x6f\x75\x6e\x74\0\x69\x72\x71\x74\x72\x61\x63\x65\0\ -\x68\x61\x72\x64\x69\x72\x71\x5f\x74\x68\x72\x65\x61\x64\x65\x64\0\x68\x61\x72\ -\x64\x69\x72\x71\x5f\x63\x68\x61\x69\x6e\x5f\x6b\x65\x79\0\x73\x6f\x66\x74\x69\ -\x72\x71\x73\x5f\x65\x6e\x61\x62\x6c\x65\x64\0\x73\x6f\x66\x74\x69\x72\x71\x5f\ -\x63\x6f\x6e\x74\x65\x78\x74\0\x69\x72\x71\x5f\x63\x6f\x6e\x66\x69\x67\0\x63\ -\x75\x72\x72\x5f\x63\x68\x61\x69\x6e\x5f\x6b\x65\x79\0\x6c\x6f\x63\x6b\x64\x65\ -\x70\x5f\x64\x65\x70\x74\x68\0\x6c\x6f\x63\x6b\x64\x65\x70\x5f\x72\x65\x63\x75\ -\x72\x73\x69\x6f\x6e\0\x68\x65\x6c\x64\x5f\x6c\x6f\x63\x6b\x73\0\x6a\x6f\x75\ -\x72\x6e\x61\x6c\x5f\x69\x6e\x66\x6f\0\x62\x69\x6f\x5f\x6c\x69\x73\x74\0\x70\ -\x6c\x75\x67\0\x72\x65\x63\x6c\x61\x69\x6d\x5f\x73\x74\x61\x74\x65\0\x62\x61\ -\x63\x6b\x69\x6e\x67\x5f\x64\x65\x76\x5f\x69\x6e\x66\x6f\0\x69\x6f\x5f\x63\x6f\ -\x6e\x74\x65\x78\x74\0\x63\x61\x70\x74\x75\x72\x65\x5f\x63\x6f\x6e\x74\x72\x6f\ -\x6c\0\x70\x74\x72\x61\x63\x65\x5f\x6d\x65\x73\x73\x61\x67\x65\0\x6c\x61\x73\ -\x74\x5f\x73\x69\x67\x69\x6e\x66\x6f\0\x69\x6f\x61\x63\0\x61\x63\x63\x74\x5f\ -\x72\x73\x73\x5f\x6d\x65\x6d\x31\0\x61\x63\x63\x74\x5f\x76\x6d\x5f\x6d\x65\x6d\ -\x31\0\x61\x63\x63\x74\x5f\x74\x69\x6d\x65\x78\x70\x64\0\x6d\x65\x6d\x73\x5f\ -\x61\x6c\x6c\x6f\x77\x65\x64\0\x6d\x65\x6d\x73\x5f\x61\x6c\x6c\x6f\x77\x65\x64\ -\x5f\x73\x65\x71\0\x63\x70\x75\x73\x65\x74\x5f\x6d\x65\x6d\x5f\x73\x70\x72\x65\ -\x61\x64\x5f\x72\x6f\x74\x6f\x72\0\x63\x70\x75\x73\x65\x74\x5f\x73\x6c\x61\x62\ -\x5f\x73\x70\x72\x65\x61\x64\x5f\x72\x6f\x74\x6f\x72\0\x63\x67\x72\x6f\x75\x70\ -\x73\0\x63\x67\x5f\x6c\x69\x73\x74\0\x72\x6f\x62\x75\x73\x74\x5f\x6c\x69\x73\ -\x74\0\x70\x69\x5f\x73\x74\x61\x74\x65\x5f\x6c\x69\x73\x74\0\x70\x69\x5f\x73\ -\x74\x61\x74\x65\x5f\x63\x61\x63\x68\x65\0\x66\x75\x74\x65\x78\x5f\x65\x78\x69\ -\x74\x5f\x6d\x75\x74\x65\x78\0\x66\x75\x74\x65\x78\x5f\x73\x74\x61\x74\x65\0\ -\x70\x65\x72\x66\x5f\x65\x76\x65\x6e\x74\x5f\x63\x74\x78\x70\0\x70\x65\x72\x66\ -\x5f\x65\x76\x65\x6e\x74\x5f\x6d\x75\x74\x65\x78\0\x70\x65\x72\x66\x5f\x65\x76\ -\x65\x6e\x74\x5f\x6c\x69\x73\x74\0\x70\x72\x65\x65\x6d\x70\x74\x5f\x64\x69\x73\ -\x61\x62\x6c\x65\x5f\x69\x70\0\x6d\x65\x6d\x70\x6f\x6c\x69\x63\x79\0\x69\x6c\ -\x5f\x70\x72\x65\x76\0\x70\x72\x65\x66\x5f\x6e\x6f\x64\x65\x5f\x66\x6f\x72\x6b\ -\0\x6e\x75\x6d\x61\x5f\x73\x63\x61\x6e\x5f\x73\x65\x71\0\x6e\x75\x6d\x61\x5f\ -\x73\x63\x61\x6e\x5f\x70\x65\x72\x69\x6f\x64\0\x6e\x75\x6d\x61\x5f\x73\x63\x61\ -\x6e\x5f\x70\x65\x72\x69\x6f\x64\x5f\x6d\x61\x78\0\x6e\x75\x6d\x61\x5f\x70\x72\ -\x65\x66\x65\x72\x72\x65\x64\x5f\x6e\x69\x64\0\x6e\x75\x6d\x61\x5f\x6d\x69\x67\ -\x72\x61\x74\x65\x5f\x72\x65\x74\x72\x79\0\x6e\x6f\x64\x65\x5f\x73\x74\x61\x6d\ -\x70\0\x6c\x61\x73\x74\x5f\x74\x61\x73\x6b\x5f\x6e\x75\x6d\x61\x5f\x70\x6c\x61\ -\x63\x65\x6d\x65\x6e\x74\0\x6c\x61\x73\x74\x5f\x73\x75\x6d\x5f\x65\x78\x65\x63\ -\x5f\x72\x75\x6e\x74\x69\x6d\x65\0\x6e\x75\x6d\x61\x5f\x77\x6f\x72\x6b\0\x6e\ -\x75\x6d\x61\x5f\x67\x72\x6f\x75\x70\0\x6e\x75\x6d\x61\x5f\x66\x61\x75\x6c\x74\ -\x73\0\x74\x6f\x74\x61\x6c\x5f\x6e\x75\x6d\x61\x5f\x66\x61\x75\x6c\x74\x73\0\ -\x6e\x75\x6d\x61\x5f\x66\x61\x75\x6c\x74\x73\x5f\x6c\x6f\x63\x61\x6c\x69\x74\ -\x79\0\x6e\x75\x6d\x61\x5f\x70\x61\x67\x65\x73\x5f\x6d\x69\x67\x72\x61\x74\x65\ -\x64\0\x72\x73\x65\x71\0\x72\x73\x65\x71\x5f\x73\x69\x67\0\x72\x73\x65\x71\x5f\ -\x65\x76\x65\x6e\x74\x5f\x6d\x61\x73\x6b\0\x74\x6c\x62\x5f\x75\x62\x63\0\x73\ -\x70\x6c\x69\x63\x65\x5f\x70\x69\x70\x65\0\x74\x61\x73\x6b\x5f\x66\x72\x61\x67\ -\0\x64\x65\x6c\x61\x79\x73\0\x6d\x61\x6b\x65\x5f\x69\x74\x5f\x66\x61\x69\x6c\0\ -\x66\x61\x69\x6c\x5f\x6e\x74\x68\0\x6e\x72\x5f\x64\x69\x72\x74\x69\x65\x64\0\ -\x6e\x72\x5f\x64\x69\x72\x74\x69\x65\x64\x5f\x70\x61\x75\x73\x65\0\x64\x69\x72\ -\x74\x79\x5f\x70\x61\x75\x73\x65\x64\x5f\x77\x68\x65\x6e\0\x74\x69\x6d\x65\x72\ -\x5f\x73\x6c\x61\x63\x6b\x5f\x6e\x73\0\x64\x65\x66\x61\x75\x6c\x74\x5f\x74\x69\ -\x6d\x65\x72\x5f\x73\x6c\x61\x63\x6b\x5f\x6e\x73\0\x63\x75\x72\x72\x5f\x72\x65\ -\x74\x5f\x73\x74\x61\x63\x6b\0\x63\x75\x72\x72\x5f\x72\x65\x74\x5f\x64\x65\x70\ -\x74\x68\0\x72\x65\x74\x5f\x73\x74\x61\x63\x6b\0\x66\x74\x72\x61\x63\x65\x5f\ -\x74\x69\x6d\x65\x73\x74\x61\x6d\x70\0\x74\x72\x61\x63\x65\x5f\x6f\x76\x65\x72\ -\x72\x75\x6e\0\x74\x72\x61\x63\x69\x6e\x67\x5f\x67\x72\x61\x70\x68\x5f\x70\x61\ -\x75\x73\x65\0\x74\x72\x61\x63\x65\x5f\x72\x65\x63\x75\x72\x73\x69\x6f\x6e\0\ -\x6d\x65\x6d\x63\x67\x5f\x69\x6e\x5f\x6f\x6f\x6d\0\x6d\x65\x6d\x63\x67\x5f\x6f\ -\x6f\x6d\x5f\x67\x66\x70\x5f\x6d\x61\x73\x6b\0\x6d\x65\x6d\x63\x67\x5f\x6f\x6f\ -\x6d\x5f\x6f\x72\x64\x65\x72\0\x6d\x65\x6d\x63\x67\x5f\x6e\x72\x5f\x70\x61\x67\ -\x65\x73\x5f\x6f\x76\x65\x72\x5f\x68\x69\x67\x68\0\x61\x63\x74\x69\x76\x65\x5f\ -\x6d\x65\x6d\x63\x67\0\x74\x68\x72\x6f\x74\x74\x6c\x65\x5f\x71\x75\x65\x75\x65\ -\0\x75\x74\x61\x73\x6b\0\x6b\x6d\x61\x70\x5f\x63\x74\x72\x6c\0\x74\x61\x73\x6b\ -\x5f\x73\x74\x61\x74\x65\x5f\x63\x68\x61\x6e\x67\x65\0\x70\x61\x67\x65\x66\x61\ -\x75\x6c\x74\x5f\x64\x69\x73\x61\x62\x6c\x65\x64\0\x6f\x6f\x6d\x5f\x72\x65\x61\ -\x70\x65\x72\x5f\x6c\x69\x73\x74\0\x6f\x6f\x6d\x5f\x72\x65\x61\x70\x65\x72\x5f\ -\x74\x69\x6d\x65\x72\0\x73\x74\x61\x63\x6b\x5f\x76\x6d\x5f\x61\x72\x65\x61\0\ -\x73\x74\x61\x63\x6b\x5f\x72\x65\x66\x63\x6f\x75\x6e\x74\0\x73\x65\x63\x75\x72\ -\x69\x74\x79\0\x62\x70\x66\x5f\x73\x74\x6f\x72\x61\x67\x65\0\x62\x70\x66\x5f\ -\x63\x74\x78\0\x6d\x63\x65\x5f\x76\x61\x64\x64\x72\0\x6d\x63\x65\x5f\x6b\x66\ -\x6c\x61\x67\x73\0\x6d\x63\x65\x5f\x61\x64\x64\x72\0\x6d\x63\x65\x5f\x72\x69\ -\x70\x76\0\x6d\x63\x65\x5f\x77\x68\x6f\x6c\x65\x5f\x70\x61\x67\x65\0\x5f\x5f\ -\x6d\x63\x65\x5f\x72\x65\x73\x65\x72\x76\x65\x64\0\x6d\x63\x65\x5f\x6b\x69\x6c\ -\x6c\x5f\x6d\x65\0\x6d\x63\x65\x5f\x63\x6f\x75\x6e\x74\0\x6b\x72\x65\x74\x70\ -\x72\x6f\x62\x65\x5f\x69\x6e\x73\x74\x61\x6e\x63\x65\x73\0\x72\x65\x74\x68\x6f\ -\x6f\x6b\x73\0\x6c\x31\x64\x5f\x66\x6c\x75\x73\x68\x5f\x6b\x69\x6c\x6c\0\x74\ -\x68\x72\x65\x61\x64\0\x73\x79\x73\x63\x61\x6c\x6c\x5f\x77\x6f\x72\x6b\0\x73\ -\x74\x61\x74\x75\x73\0\x63\x70\x75\0\x75\x33\x32\0\x5f\x5f\x75\x33\x32\0\x72\ -\x65\x66\x63\x6f\x75\x6e\x74\x5f\x74\0\x72\x65\x66\x63\x6f\x75\x6e\x74\x5f\x73\ -\x74\x72\x75\x63\x74\0\x72\x65\x66\x73\0\x61\x74\x6f\x6d\x69\x63\x5f\x74\0\x63\ -\x6f\x75\x6e\x74\x65\x72\0\x5f\x5f\x63\x61\x6c\x6c\x5f\x73\x69\x6e\x67\x6c\x65\ -\x5f\x6e\x6f\x64\x65\0\x6c\x6c\x69\x73\x74\0\x73\x72\x63\0\x64\x73\x74\0\x6c\ -\x6c\x69\x73\x74\x5f\x6e\x6f\x64\x65\0\x6e\x65\x78\x74\0\x75\x5f\x66\x6c\x61\ -\x67\x73\0\x61\x5f\x66\x6c\x61\x67\x73\0\x75\x31\x36\0\x5f\x5f\x75\x31\x36\0\ -\x75\x6e\x73\x69\x67\x6e\x65\x64\x20\x73\x68\x6f\x72\x74\0\x73\x63\x68\x65\x64\ -\x5f\x65\x6e\x74\x69\x74\x79\0\x6c\x6f\x61\x64\0\x72\x75\x6e\x5f\x6e\x6f\x64\ -\x65\0\x67\x72\x6f\x75\x70\x5f\x6e\x6f\x64\x65\0\x65\x78\x65\x63\x5f\x73\x74\ -\x61\x72\x74\0\x73\x75\x6d\x5f\x65\x78\x65\x63\x5f\x72\x75\x6e\x74\x69\x6d\x65\ -\0\x76\x72\x75\x6e\x74\x69\x6d\x65\0\x70\x72\x65\x76\x5f\x73\x75\x6d\x5f\x65\ -\x78\x65\x63\x5f\x72\x75\x6e\x74\x69\x6d\x65\0\x6e\x72\x5f\x6d\x69\x67\x72\x61\ -\x74\x69\x6f\x6e\x73\0\x64\x65\x70\x74\x68\0\x63\x66\x73\x5f\x72\x71\0\x6d\x79\ -\x5f\x71\0\x72\x75\x6e\x6e\x61\x62\x6c\x65\x5f\x77\x65\x69\x67\x68\x74\0\x61\ -\x76\x67\0\x6c\x6f\x61\x64\x5f\x77\x65\x69\x67\x68\x74\0\x77\x65\x69\x67\x68\ -\x74\0\x69\x6e\x76\x5f\x77\x65\x69\x67\x68\x74\0\x72\x62\x5f\x6e\x6f\x64\x65\0\ -\x5f\x5f\x72\x62\x5f\x70\x61\x72\x65\x6e\x74\x5f\x63\x6f\x6c\x6f\x72\0\x72\x62\ -\x5f\x72\x69\x67\x68\x74\0\x72\x62\x5f\x6c\x65\x66\x74\0\x6c\x69\x73\x74\x5f\ -\x68\x65\x61\x64\0\x70\x72\x65\x76\0\x75\x36\x34\0\x5f\x5f\x75\x36\x34\0\x75\ -\x6e\x73\x69\x67\x6e\x65\x64\x20\x6c\x6f\x6e\x67\x20\x6c\x6f\x6e\x67\0\x73\x63\ -\x68\x65\x64\x5f\x61\x76\x67\0\x6c\x61\x73\x74\x5f\x75\x70\x64\x61\x74\x65\x5f\ -\x74\x69\x6d\x65\0\x6c\x6f\x61\x64\x5f\x73\x75\x6d\0\x72\x75\x6e\x6e\x61\x62\ -\x6c\x65\x5f\x73\x75\x6d\0\x75\x74\x69\x6c\x5f\x73\x75\x6d\0\x70\x65\x72\x69\ -\x6f\x64\x5f\x63\x6f\x6e\x74\x72\x69\x62\0\x6c\x6f\x61\x64\x5f\x61\x76\x67\0\ -\x72\x75\x6e\x6e\x61\x62\x6c\x65\x5f\x61\x76\x67\0\x75\x74\x69\x6c\x5f\x61\x76\ -\x67\0\x75\x74\x69\x6c\x5f\x65\x73\x74\0\x65\x6e\x71\x75\x65\x75\x65\x64\0\x65\ -\x77\x6d\x61\0\x73\x63\x68\x65\x64\x5f\x72\x74\x5f\x65\x6e\x74\x69\x74\x79\0\ -\x72\x75\x6e\x5f\x6c\x69\x73\x74\0\x74\x69\x6d\x65\x6f\x75\x74\0\x77\x61\x74\ -\x63\x68\x64\x6f\x67\x5f\x73\x74\x61\x6d\x70\0\x74\x69\x6d\x65\x5f\x73\x6c\x69\ -\x63\x65\0\x6f\x6e\x5f\x6c\x69\x73\x74\0\x62\x61\x63\x6b\0\x73\x63\x68\x65\x64\ -\x5f\x64\x6c\x5f\x65\x6e\x74\x69\x74\x79\0\x64\x6c\x5f\x72\x75\x6e\x74\x69\x6d\ -\x65\0\x64\x6c\x5f\x64\x65\x61\x64\x6c\x69\x6e\x65\0\x64\x6c\x5f\x70\x65\x72\ -\x69\x6f\x64\0\x64\x6c\x5f\x62\x77\0\x64\x6c\x5f\x64\x65\x6e\x73\x69\x74\x79\0\ -\x72\x75\x6e\x74\x69\x6d\x65\0\x64\x65\x61\x64\x6c\x69\x6e\x65\0\x64\x6c\x5f\ -\x74\x68\x72\x6f\x74\x74\x6c\x65\x64\0\x64\x6c\x5f\x79\x69\x65\x6c\x64\x65\x64\ -\0\x64\x6c\x5f\x6e\x6f\x6e\x5f\x63\x6f\x6e\x74\x65\x6e\x64\x69\x6e\x67\0\x64\ -\x6c\x5f\x6f\x76\x65\x72\x72\x75\x6e\0\x64\x6c\x5f\x74\x69\x6d\x65\x72\0\x69\ -\x6e\x61\x63\x74\x69\x76\x65\x5f\x74\x69\x6d\x65\x72\0\x70\x69\x5f\x73\x65\0\ -\x73\x36\x34\0\x5f\x5f\x73\x36\x34\0\x6c\x6f\x6e\x67\x20\x6c\x6f\x6e\x67\0\x68\ -\x72\x74\x69\x6d\x65\x72\0\x6e\x6f\x64\x65\0\x5f\x73\x6f\x66\x74\x65\x78\x70\ -\x69\x72\x65\x73\0\x66\x75\x6e\x63\x74\x69\x6f\x6e\0\x62\x61\x73\x65\0\x73\x74\ -\x61\x74\x65\0\x69\x73\x5f\x72\x65\x6c\0\x69\x73\x5f\x73\x6f\x66\x74\0\x69\x73\ -\x5f\x68\x61\x72\x64\0\x74\x69\x6d\x65\x72\x71\x75\x65\x75\x65\x5f\x6e\x6f\x64\ -\x65\0\x65\x78\x70\x69\x72\x65\x73\0\x6b\x74\x69\x6d\x65\x5f\x74\0\x68\x72\x74\ -\x69\x6d\x65\x72\x5f\x72\x65\x73\x74\x61\x72\x74\0\x48\x52\x54\x49\x4d\x45\x52\ -\x5f\x4e\x4f\x52\x45\x53\x54\x41\x52\x54\0\x48\x52\x54\x49\x4d\x45\x52\x5f\x52\ -\x45\x53\x54\x41\x52\x54\0\x75\x38\0\x5f\x5f\x75\x38\0\x75\x6e\x73\x69\x67\x6e\ -\x65\x64\x20\x63\x68\x61\x72\0\x73\x63\x68\x65\x64\x5f\x73\x74\x61\x74\x69\x73\ -\x74\x69\x63\x73\0\x77\x61\x69\x74\x5f\x73\x74\x61\x72\x74\0\x77\x61\x69\x74\ -\x5f\x6d\x61\x78\0\x77\x61\x69\x74\x5f\x63\x6f\x75\x6e\x74\0\x77\x61\x69\x74\ -\x5f\x73\x75\x6d\0\x69\x6f\x77\x61\x69\x74\x5f\x63\x6f\x75\x6e\x74\0\x69\x6f\ -\x77\x61\x69\x74\x5f\x73\x75\x6d\0\x73\x6c\x65\x65\x70\x5f\x73\x74\x61\x72\x74\ -\0\x73\x6c\x65\x65\x70\x5f\x6d\x61\x78\0\x73\x75\x6d\x5f\x73\x6c\x65\x65\x70\ -\x5f\x72\x75\x6e\x74\x69\x6d\x65\0\x62\x6c\x6f\x63\x6b\x5f\x73\x74\x61\x72\x74\ -\0\x62\x6c\x6f\x63\x6b\x5f\x6d\x61\x78\0\x73\x75\x6d\x5f\x62\x6c\x6f\x63\x6b\ -\x5f\x72\x75\x6e\x74\x69\x6d\x65\0\x65\x78\x65\x63\x5f\x6d\x61\x78\0\x73\x6c\ -\x69\x63\x65\x5f\x6d\x61\x78\0\x6e\x72\x5f\x6d\x69\x67\x72\x61\x74\x69\x6f\x6e\ -\x73\x5f\x63\x6f\x6c\x64\0\x6e\x72\x5f\x66\x61\x69\x6c\x65\x64\x5f\x6d\x69\x67\ -\x72\x61\x74\x69\x6f\x6e\x73\x5f\x61\x66\x66\x69\x6e\x65\0\x6e\x72\x5f\x66\x61\ -\x69\x6c\x65\x64\x5f\x6d\x69\x67\x72\x61\x74\x69\x6f\x6e\x73\x5f\x72\x75\x6e\ -\x6e\x69\x6e\x67\0\x6e\x72\x5f\x66\x61\x69\x6c\x65\x64\x5f\x6d\x69\x67\x72\x61\ -\x74\x69\x6f\x6e\x73\x5f\x68\x6f\x74\0\x6e\x72\x5f\x66\x6f\x72\x63\x65\x64\x5f\ -\x6d\x69\x67\x72\x61\x74\x69\x6f\x6e\x73\0\x6e\x72\x5f\x77\x61\x6b\x65\x75\x70\ -\x73\0\x6e\x72\x5f\x77\x61\x6b\x65\x75\x70\x73\x5f\x73\x79\x6e\x63\0\x6e\x72\ -\x5f\x77\x61\x6b\x65\x75\x70\x73\x5f\x6d\x69\x67\x72\x61\x74\x65\0\x6e\x72\x5f\ -\x77\x61\x6b\x65\x75\x70\x73\x5f\x6c\x6f\x63\x61\x6c\0\x6e\x72\x5f\x77\x61\x6b\ -\x65\x75\x70\x73\x5f\x72\x65\x6d\x6f\x74\x65\0\x6e\x72\x5f\x77\x61\x6b\x65\x75\ -\x70\x73\x5f\x61\x66\x66\x69\x6e\x65\0\x6e\x72\x5f\x77\x61\x6b\x65\x75\x70\x73\ -\x5f\x61\x66\x66\x69\x6e\x65\x5f\x61\x74\x74\x65\x6d\x70\x74\x73\0\x6e\x72\x5f\ -\x77\x61\x6b\x65\x75\x70\x73\x5f\x70\x61\x73\x73\x69\x76\x65\0\x6e\x72\x5f\x77\ -\x61\x6b\x65\x75\x70\x73\x5f\x69\x64\x6c\x65\0\x63\x70\x75\x6d\x61\x73\x6b\x5f\ -\x74\0\x63\x70\x75\x6d\x61\x73\x6b\0\x72\x63\x75\x5f\x73\x70\x65\x63\x69\x61\ -\x6c\0\x62\0\x73\0\x6e\x65\x65\x64\x5f\x71\x73\0\x65\x78\x70\x5f\x68\x69\x6e\ -\x74\0\x6e\x65\x65\x64\x5f\x6d\x62\0\x70\x63\x6f\x75\x6e\x74\0\x72\x75\x6e\x5f\ -\x64\x65\x6c\x61\x79\0\x6c\x61\x73\x74\x5f\x61\x72\x72\x69\x76\x61\x6c\0\x6c\ -\x61\x73\x74\x5f\x71\x75\x65\x75\x65\x64\0\x70\x6c\x69\x73\x74\x5f\x6e\x6f\x64\ -\x65\0\x70\x72\x69\x6f\x5f\x6c\x69\x73\x74\0\x6e\x6f\x64\x65\x5f\x6c\x69\x73\ -\x74\0\x74\x61\x73\x6b\x5f\x72\x73\x73\x5f\x73\x74\x61\x74\0\x65\x76\x65\x6e\ -\x74\x73\0\x63\x6f\x75\x6e\x74\0\x61\x72\x63\x68\x5f\x64\x61\x74\x61\0\x66\x6e\ -\0\x66\x75\x74\x65\x78\0\x6e\x61\x6e\x6f\x73\x6c\x65\x65\x70\0\x70\x6f\x6c\x6c\ -\0\x75\x61\x64\x64\x72\0\x76\x61\x6c\0\x62\x69\x74\x73\x65\x74\0\x74\x69\x6d\ -\x65\0\x75\x61\x64\x64\x72\x32\0\x63\x6c\x6f\x63\x6b\x69\x64\0\x63\x6c\x6f\x63\ -\x6b\x69\x64\x5f\x74\0\x5f\x5f\x6b\x65\x72\x6e\x65\x6c\x5f\x63\x6c\x6f\x63\x6b\ -\x69\x64\x5f\x74\0\x74\x69\x6d\x65\x73\x70\x65\x63\x5f\x74\x79\x70\x65\0\x54\ -\x54\x5f\x4e\x4f\x4e\x45\0\x54\x54\x5f\x4e\x41\x54\x49\x56\x45\0\x54\x54\x5f\ -\x43\x4f\x4d\x50\x41\x54\0\x72\x6d\x74\x70\0\x63\x6f\x6d\x70\x61\x74\x5f\x72\ -\x6d\x74\x70\0\x75\x66\x64\x73\0\x6e\x66\x64\x73\0\x68\x61\x73\x5f\x74\x69\x6d\ -\x65\x6f\x75\x74\0\x74\x76\x5f\x73\x65\x63\0\x74\x76\x5f\x6e\x73\x65\x63\0\x70\ -\x69\x64\x5f\x74\0\x5f\x5f\x6b\x65\x72\x6e\x65\x6c\x5f\x70\x69\x64\x5f\x74\0\ -\x68\x6c\x69\x73\x74\x5f\x6e\x6f\x64\x65\0\x70\x70\x72\x65\x76\0\x6c\x6f\x63\ -\x6b\0\x72\x61\x77\x5f\x73\x70\x69\x6e\x6c\x6f\x63\x6b\x5f\x74\0\x72\x61\x77\ -\x5f\x73\x70\x69\x6e\x6c\x6f\x63\x6b\0\x72\x61\x77\x5f\x6c\x6f\x63\x6b\0\x6d\ -\x61\x67\x69\x63\0\x6f\x77\x6e\x65\x72\x5f\x63\x70\x75\0\x6f\x77\x6e\x65\x72\0\ -\x64\x65\x70\x5f\x6d\x61\x70\0\x61\x72\x63\x68\x5f\x73\x70\x69\x6e\x6c\x6f\x63\ -\x6b\x5f\x74\0\x71\x73\x70\x69\x6e\x6c\x6f\x63\x6b\0\x6c\x6f\x63\x6b\x65\x64\0\ -\x6c\x6f\x63\x6b\x65\x64\x5f\x70\x65\x6e\x64\x69\x6e\x67\0\x74\x61\x69\x6c\0\ -\x6c\x6f\x63\x6b\x64\x65\x70\x5f\x6d\x61\x70\0\x6b\x65\x79\0\x63\x6c\x61\x73\ -\x73\x5f\x63\x61\x63\x68\x65\0\x6e\x61\x6d\x65\0\x77\x61\x69\x74\x5f\x74\x79\ -\x70\x65\x5f\x6f\x75\x74\x65\x72\0\x77\x61\x69\x74\x5f\x74\x79\x70\x65\x5f\x69\ -\x6e\x6e\x65\x72\0\x6c\x6f\x63\x6b\x5f\x74\x79\x70\x65\0\x6c\x6f\x63\x6b\x5f\ -\x63\x6c\x61\x73\x73\0\x68\x61\x73\x68\x5f\x65\x6e\x74\x72\x79\0\x6c\x6f\x63\ -\x6b\x5f\x65\x6e\x74\x72\x79\0\x6c\x6f\x63\x6b\x73\x5f\x61\x66\x74\x65\x72\0\ -\x6c\x6f\x63\x6b\x73\x5f\x62\x65\x66\x6f\x72\x65\0\x73\x75\x62\x63\x6c\x61\x73\ -\x73\0\x64\x65\x70\x5f\x67\x65\x6e\x5f\x69\x64\0\x75\x73\x61\x67\x65\x5f\x6d\ -\x61\x73\x6b\0\x75\x73\x61\x67\x65\x5f\x74\x72\x61\x63\x65\x73\0\x6e\x61\x6d\ -\x65\x5f\x76\x65\x72\x73\x69\x6f\x6e\0\x6c\x6f\x63\x6b\x5f\x74\x72\x61\x63\x65\ -\0\x68\x61\x73\x68\0\x6e\x72\x5f\x65\x6e\x74\x72\x69\x65\x73\0\x65\x6e\x74\x72\ -\x69\x65\x73\0\x63\x68\x61\x72\0\x62\x61\x73\x65\x73\0\x74\x69\x6d\x65\x72\x73\ -\x5f\x61\x63\x74\x69\x76\x65\0\x65\x78\x70\x69\x72\x79\x5f\x61\x63\x74\x69\x76\ -\x65\0\x70\x6f\x73\x69\x78\x5f\x63\x70\x75\x74\x69\x6d\x65\x72\x5f\x62\x61\x73\ -\x65\0\x6e\x65\x78\x74\x65\x76\x74\0\x74\x71\x68\x65\x61\x64\0\x74\x69\x6d\x65\ -\x72\x71\x75\x65\x75\x65\x5f\x68\x65\x61\x64\0\x72\x62\x5f\x72\x6f\x6f\x74\0\ -\x72\x62\x5f\x72\x6f\x6f\x74\x5f\x63\x61\x63\x68\x65\x64\0\x72\x62\x5f\x6c\x65\ -\x66\x74\x6d\x6f\x73\x74\0\x77\x6f\x72\x6b\0\x73\x63\x68\x65\x64\x75\x6c\x65\ -\x64\0\x63\x61\x6c\x6c\x62\x61\x63\x6b\x5f\x68\x65\x61\x64\0\x66\x75\x6e\x63\0\ -\x73\x79\x73\x76\x5f\x73\x65\x6d\0\x75\x6e\x64\x6f\x5f\x6c\x69\x73\x74\0\x73\ -\x79\x73\x76\x5f\x73\x68\x6d\0\x73\x68\x6d\x5f\x63\x6c\x69\x73\x74\0\x73\x69\ -\x67\x73\x65\x74\x5f\x74\0\x73\x69\x67\0\x73\x69\x67\x70\x65\x6e\x64\x69\x6e\ -\x67\0\x6c\x69\x73\x74\0\x73\x69\x7a\x65\x5f\x74\0\x5f\x5f\x6b\x65\x72\x6e\x65\ -\x6c\x5f\x73\x69\x7a\x65\x5f\x74\0\x5f\x5f\x6b\x65\x72\x6e\x65\x6c\x5f\x75\x6c\ -\x6f\x6e\x67\x5f\x74\0\x6b\x75\x69\x64\x5f\x74\0\x75\x69\x64\x5f\x74\0\x5f\x5f\ -\x6b\x65\x72\x6e\x65\x6c\x5f\x75\x69\x64\x33\x32\x5f\x74\0\x6d\x6f\x64\x65\0\ -\x66\x69\x6c\x74\x65\x72\x5f\x63\x6f\x75\x6e\x74\0\x66\x69\x6c\x74\x65\x72\0\ -\x73\x79\x73\x63\x61\x6c\x6c\x5f\x75\x73\x65\x72\x5f\x64\x69\x73\x70\x61\x74\ -\x63\x68\0\x73\x65\x6c\x65\x63\x74\x6f\x72\0\x6f\x66\x66\x73\x65\x74\0\x6c\x65\ -\x6e\0\x6f\x6e\x5f\x64\x69\x73\x70\x61\x74\x63\x68\0\x62\x6f\x6f\x6c\0\x5f\x42\ -\x6f\x6f\x6c\0\x73\x70\x69\x6e\x6c\x6f\x63\x6b\x5f\x74\0\x73\x70\x69\x6e\x6c\ -\x6f\x63\x6b\0\x72\x6c\x6f\x63\x6b\0\x5f\x5f\x70\x61\x64\x64\x69\x6e\x67\0\x77\ -\x61\x6b\x65\x5f\x71\x5f\x6e\x6f\x64\x65\0\x69\x72\x71\x74\x72\x61\x63\x65\x5f\ -\x65\x76\x65\x6e\x74\x73\0\x69\x72\x71\x5f\x65\x76\x65\x6e\x74\x73\0\x68\x61\ -\x72\x64\x69\x72\x71\x5f\x65\x6e\x61\x62\x6c\x65\x5f\x69\x70\0\x68\x61\x72\x64\ -\x69\x72\x71\x5f\x64\x69\x73\x61\x62\x6c\x65\x5f\x69\x70\0\x68\x61\x72\x64\x69\ -\x72\x71\x5f\x65\x6e\x61\x62\x6c\x65\x5f\x65\x76\x65\x6e\x74\0\x68\x61\x72\x64\ -\x69\x72\x71\x5f\x64\x69\x73\x61\x62\x6c\x65\x5f\x65\x76\x65\x6e\x74\0\x73\x6f\ -\x66\x74\x69\x72\x71\x5f\x64\x69\x73\x61\x62\x6c\x65\x5f\x69\x70\0\x73\x6f\x66\ -\x74\x69\x72\x71\x5f\x65\x6e\x61\x62\x6c\x65\x5f\x69\x70\0\x73\x6f\x66\x74\x69\ -\x72\x71\x5f\x64\x69\x73\x61\x62\x6c\x65\x5f\x65\x76\x65\x6e\x74\0\x73\x6f\x66\ -\x74\x69\x72\x71\x5f\x65\x6e\x61\x62\x6c\x65\x5f\x65\x76\x65\x6e\x74\0\x68\x65\ -\x6c\x64\x5f\x6c\x6f\x63\x6b\0\x70\x72\x65\x76\x5f\x63\x68\x61\x69\x6e\x5f\x6b\ -\x65\x79\0\x61\x63\x71\x75\x69\x72\x65\x5f\x69\x70\0\x69\x6e\x73\x74\x61\x6e\ -\x63\x65\0\x6e\x65\x73\x74\x5f\x6c\x6f\x63\x6b\0\x63\x6c\x61\x73\x73\x5f\x69\ -\x64\x78\0\x69\x72\x71\x5f\x63\x6f\x6e\x74\x65\x78\x74\0\x74\x72\x79\x6c\x6f\ -\x63\x6b\0\x72\x65\x61\x64\0\x63\x68\x65\x63\x6b\0\x68\x61\x72\x64\x69\x72\x71\ -\x73\x5f\x6f\x66\x66\0\x72\x65\x66\x65\x72\x65\x6e\x63\x65\x73\0\x70\x69\x6e\ -\x5f\x63\x6f\x75\x6e\x74\0\x6b\x65\x72\x6e\x65\x6c\x5f\x73\x69\x67\x69\x6e\x66\ -\x6f\x5f\x74\0\x74\x61\x73\x6b\x5f\x69\x6f\x5f\x61\x63\x63\x6f\x75\x6e\x74\x69\ -\x6e\x67\0\x72\x63\x68\x61\x72\0\x77\x63\x68\x61\x72\0\x73\x79\x73\x63\x72\0\ -\x73\x79\x73\x63\x77\0\x72\x65\x61\x64\x5f\x62\x79\x74\x65\x73\0\x77\x72\x69\ -\x74\x65\x5f\x62\x79\x74\x65\x73\0\x63\x61\x6e\x63\x65\x6c\x6c\x65\x64\x5f\x77\ -\x72\x69\x74\x65\x5f\x62\x79\x74\x65\x73\0\x73\x65\x71\x63\x6f\x75\x6e\x74\x5f\ -\x73\x70\x69\x6e\x6c\x6f\x63\x6b\x5f\x74\0\x73\x65\x71\x63\x6f\x75\x6e\x74\x5f\ -\x73\x70\x69\x6e\x6c\x6f\x63\x6b\0\x73\x65\x71\x63\x6f\x75\x6e\x74\0\x73\x65\ -\x71\x63\x6f\x75\x6e\x74\x5f\x74\0\x73\x65\x71\x75\x65\x6e\x63\x65\0\x6d\x75\ -\x74\x65\x78\0\x77\x61\x69\x74\x5f\x6c\x6f\x63\x6b\0\x6f\x73\x71\0\x77\x61\x69\ -\x74\x5f\x6c\x69\x73\x74\0\x61\x74\x6f\x6d\x69\x63\x5f\x6c\x6f\x6e\x67\x5f\x74\ -\0\x61\x74\x6f\x6d\x69\x63\x36\x34\x5f\x74\0\x6f\x70\x74\x69\x6d\x69\x73\x74\ -\x69\x63\x5f\x73\x70\x69\x6e\x5f\x71\x75\x65\x75\x65\0\x70\x65\x72\x66\x5f\x65\ -\x76\x65\x6e\x74\x5f\x63\x6f\x6e\x74\x65\x78\x74\0\x70\x6d\x75\0\x61\x63\x74\ -\x69\x76\x65\x5f\x63\x74\x78\x5f\x6c\x69\x73\x74\0\x70\x69\x6e\x6e\x65\x64\x5f\ -\x67\x72\x6f\x75\x70\x73\0\x66\x6c\x65\x78\x69\x62\x6c\x65\x5f\x67\x72\x6f\x75\ -\x70\x73\0\x65\x76\x65\x6e\x74\x5f\x6c\x69\x73\x74\0\x70\x69\x6e\x6e\x65\x64\ -\x5f\x61\x63\x74\x69\x76\x65\0\x66\x6c\x65\x78\x69\x62\x6c\x65\x5f\x61\x63\x74\ -\x69\x76\x65\0\x6e\x72\x5f\x65\x76\x65\x6e\x74\x73\0\x6e\x72\x5f\x61\x63\x74\ -\x69\x76\x65\0\x6e\x72\x5f\x75\x73\x65\x72\0\x69\x73\x5f\x61\x63\x74\x69\x76\ -\x65\0\x6e\x72\x5f\x73\x74\x61\x74\0\x6e\x72\x5f\x66\x72\x65\x71\0\x72\x6f\x74\ -\x61\x74\x65\x5f\x64\x69\x73\x61\x62\x6c\x65\0\x72\x6f\x74\x61\x74\x65\x5f\x6e\ -\x65\x63\x65\x73\x73\x61\x72\x79\0\x72\x65\x66\x63\x6f\x75\x6e\x74\0\x74\x61\ -\x73\x6b\0\x74\x69\x6d\x65\x73\x74\x61\x6d\x70\0\x74\x69\x6d\x65\x6f\x66\x66\ -\x73\x65\x74\0\x70\x61\x72\x65\x6e\x74\x5f\x63\x74\x78\0\x70\x61\x72\x65\x6e\ -\x74\x5f\x67\x65\x6e\0\x67\x65\x6e\x65\x72\x61\x74\x69\x6f\x6e\0\x6e\x72\x5f\ -\x63\x67\x72\x6f\x75\x70\x73\0\x74\x61\x73\x6b\x5f\x63\x74\x78\x5f\x64\x61\x74\ -\x61\0\x6e\x72\x5f\x70\x65\x6e\x64\x69\x6e\x67\0\x70\x65\x72\x66\x5f\x65\x76\ -\x65\x6e\x74\x5f\x67\x72\x6f\x75\x70\x73\0\x74\x72\x65\x65\0\x69\x6e\x64\x65\ -\x78\0\x6c\x6f\x63\x61\x6c\x5f\x74\0\x61\0\x73\x68\x6f\x72\x74\0\x74\x6c\x62\ -\x66\x6c\x75\x73\x68\x5f\x75\x6e\x6d\x61\x70\x5f\x62\x61\x74\x63\x68\0\x61\x72\ -\x63\x68\0\x66\x6c\x75\x73\x68\x5f\x72\x65\x71\x75\x69\x72\x65\x64\0\x77\x72\ -\x69\x74\x61\x62\x6c\x65\0\x61\x72\x63\x68\x5f\x74\x6c\x62\x66\x6c\x75\x73\x68\ -\x5f\x75\x6e\x6d\x61\x70\x5f\x62\x61\x74\x63\x68\0\x72\x63\x75\x5f\x75\x73\x65\ -\x72\x73\0\x72\x63\x75\0\x70\x61\x67\x65\x5f\x66\x72\x61\x67\0\x70\x61\x67\x65\ -\0\x73\x69\x7a\x65\0\x74\x69\x6d\x65\x72\x5f\x6c\x69\x73\x74\0\x65\x6e\x74\x72\ -\x79\0\x6c\x6c\x69\x73\x74\x5f\x68\x65\x61\x64\0\x66\x69\x72\x73\x74\0\x74\x68\ -\x72\x65\x61\x64\x5f\x73\x74\x72\x75\x63\x74\0\x74\x6c\x73\x5f\x61\x72\x72\x61\ -\x79\0\x65\x73\0\x64\x73\0\x66\x73\x69\x6e\x64\x65\x78\0\x67\x73\x69\x6e\x64\ -\x65\x78\0\x66\x73\x62\x61\x73\x65\0\x67\x73\x62\x61\x73\x65\0\x70\x74\x72\x61\ -\x63\x65\x5f\x62\x70\x73\0\x76\x69\x72\x74\x75\x61\x6c\x5f\x64\x72\x36\0\x70\ -\x74\x72\x61\x63\x65\x5f\x64\x72\x37\0\x63\x72\x32\0\x74\x72\x61\x70\x5f\x6e\ -\x72\0\x65\x72\x72\x6f\x72\x5f\x63\x6f\x64\x65\0\x69\x6f\x5f\x62\x69\x74\x6d\ -\x61\x70\0\x69\x6f\x70\x6c\x5f\x65\x6d\x75\x6c\0\x69\x6f\x70\x6c\x5f\x77\x61\ -\x72\x6e\0\x73\x69\x67\x5f\x6f\x6e\x5f\x75\x61\x63\x63\x65\x73\x73\x5f\x65\x72\ -\x72\0\x70\x6b\x72\x75\0\x66\x70\x75\0\x64\x65\x73\x63\x5f\x73\x74\x72\x75\x63\ -\x74\0\x6c\x69\x6d\x69\x74\x30\0\x62\x61\x73\x65\x30\0\x62\x61\x73\x65\x31\0\ -\x64\x70\x6c\0\x70\0\x6c\x69\x6d\x69\x74\x31\0\x61\x76\x6c\0\x6c\0\x64\0\x67\0\ -\x62\x61\x73\x65\x32\0\x70\x65\x72\x66\x5f\x65\x76\x65\x6e\x74\0\x65\x76\x65\ -\x6e\x74\x5f\x65\x6e\x74\x72\x79\0\x73\x69\x62\x6c\x69\x6e\x67\x5f\x6c\x69\x73\ -\x74\0\x61\x63\x74\x69\x76\x65\x5f\x6c\x69\x73\x74\0\x67\x72\x6f\x75\x70\x5f\ -\x69\x6e\x64\x65\x78\0\x6d\x69\x67\x72\x61\x74\x65\x5f\x65\x6e\x74\x72\x79\0\ -\x68\x6c\x69\x73\x74\x5f\x65\x6e\x74\x72\x79\0\x61\x63\x74\x69\x76\x65\x5f\x65\ -\x6e\x74\x72\x79\0\x6e\x72\x5f\x73\x69\x62\x6c\x69\x6e\x67\x73\0\x65\x76\x65\ -\x6e\x74\x5f\x63\x61\x70\x73\0\x67\x72\x6f\x75\x70\x5f\x63\x61\x70\x73\0\x70\ -\x6d\x75\x5f\x70\x72\x69\x76\x61\x74\x65\0\x61\x74\x74\x61\x63\x68\x5f\x73\x74\ -\x61\x74\x65\0\x63\x68\x69\x6c\x64\x5f\x63\x6f\x75\x6e\x74\0\x74\x6f\x74\x61\ -\x6c\x5f\x74\x69\x6d\x65\x5f\x65\x6e\x61\x62\x6c\x65\x64\0\x74\x6f\x74\x61\x6c\ -\x5f\x74\x69\x6d\x65\x5f\x72\x75\x6e\x6e\x69\x6e\x67\0\x74\x73\x74\x61\x6d\x70\ -\0\x61\x74\x74\x72\0\x68\x65\x61\x64\x65\x72\x5f\x73\x69\x7a\x65\0\x69\x64\x5f\ -\x68\x65\x61\x64\x65\x72\x5f\x73\x69\x7a\x65\0\x72\x65\x61\x64\x5f\x73\x69\x7a\ -\x65\0\x68\x77\0\x63\x68\x69\x6c\x64\x5f\x74\x6f\x74\x61\x6c\x5f\x74\x69\x6d\ -\x65\x5f\x65\x6e\x61\x62\x6c\x65\x64\0\x63\x68\x69\x6c\x64\x5f\x74\x6f\x74\x61\ -\x6c\x5f\x74\x69\x6d\x65\x5f\x72\x75\x6e\x6e\x69\x6e\x67\0\x63\x68\x69\x6c\x64\ -\x5f\x6d\x75\x74\x65\x78\0\x63\x68\x69\x6c\x64\x5f\x6c\x69\x73\x74\0\x6f\x6e\ -\x63\x70\x75\0\x6f\x77\x6e\x65\x72\x5f\x65\x6e\x74\x72\x79\0\x6d\x6d\x61\x70\ -\x5f\x6d\x75\x74\x65\x78\0\x6d\x6d\x61\x70\x5f\x63\x6f\x75\x6e\x74\0\x72\x62\0\ -\x72\x62\x5f\x65\x6e\x74\x72\x79\0\x72\x63\x75\x5f\x62\x61\x74\x63\x68\x65\x73\ -\0\x72\x63\x75\x5f\x70\x65\x6e\x64\x69\x6e\x67\0\x77\x61\x69\x74\x71\0\x66\x61\ -\x73\x79\x6e\x63\0\x70\x65\x6e\x64\x69\x6e\x67\x5f\x77\x61\x6b\x65\x75\x70\0\ -\x70\x65\x6e\x64\x69\x6e\x67\x5f\x6b\x69\x6c\x6c\0\x70\x65\x6e\x64\x69\x6e\x67\ -\x5f\x64\x69\x73\x61\x62\x6c\x65\0\x70\x65\x6e\x64\x69\x6e\x67\x5f\x73\x69\x67\ -\x74\x72\x61\x70\0\x70\x65\x6e\x64\x69\x6e\x67\x5f\x61\x64\x64\x72\0\x70\x65\ -\x6e\x64\x69\x6e\x67\x5f\x69\x72\x71\0\x70\x65\x6e\x64\x69\x6e\x67\x5f\x74\x61\ -\x73\x6b\0\x70\x65\x6e\x64\x69\x6e\x67\x5f\x77\x6f\x72\x6b\0\x65\x76\x65\x6e\ -\x74\x5f\x6c\x69\x6d\x69\x74\0\x61\x64\x64\x72\x5f\x66\x69\x6c\x74\x65\x72\x73\ -\0\x61\x64\x64\x72\x5f\x66\x69\x6c\x74\x65\x72\x5f\x72\x61\x6e\x67\x65\x73\0\ -\x61\x64\x64\x72\x5f\x66\x69\x6c\x74\x65\x72\x73\x5f\x67\x65\x6e\0\x61\x75\x78\ -\x5f\x65\x76\x65\x6e\x74\0\x64\x65\x73\x74\x72\x6f\x79\0\x6e\x73\0\x69\x64\0\ -\x6c\x6f\x73\x74\x5f\x73\x61\x6d\x70\x6c\x65\x73\0\x63\x6c\x6f\x63\x6b\0\x6f\ -\x76\x65\x72\x66\x6c\x6f\x77\x5f\x68\x61\x6e\x64\x6c\x65\x72\0\x6f\x76\x65\x72\ -\x66\x6c\x6f\x77\x5f\x68\x61\x6e\x64\x6c\x65\x72\x5f\x63\x6f\x6e\x74\x65\x78\ -\x74\0\x6f\x72\x69\x67\x5f\x6f\x76\x65\x72\x66\x6c\x6f\x77\x5f\x68\x61\x6e\x64\ -\x6c\x65\x72\0\x70\x72\x6f\x67\0\x62\x70\x66\x5f\x63\x6f\x6f\x6b\x69\x65\0\x74\ -\x70\x5f\x65\x76\x65\x6e\x74\0\x66\x74\x72\x61\x63\x65\x5f\x6f\x70\x73\0\x63\ -\x67\x72\x70\0\x73\x62\x5f\x6c\x69\x73\x74\0\x70\x65\x72\x66\x5f\x65\x76\x65\ -\x6e\x74\x5f\x73\x74\x61\x74\x65\0\x50\x45\x52\x46\x5f\x45\x56\x45\x4e\x54\x5f\ -\x53\x54\x41\x54\x45\x5f\x44\x45\x41\x44\0\x50\x45\x52\x46\x5f\x45\x56\x45\x4e\ -\x54\x5f\x53\x54\x41\x54\x45\x5f\x45\x58\x49\x54\0\x50\x45\x52\x46\x5f\x45\x56\ -\x45\x4e\x54\x5f\x53\x54\x41\x54\x45\x5f\x45\x52\x52\x4f\x52\0\x50\x45\x52\x46\ -\x5f\x45\x56\x45\x4e\x54\x5f\x53\x54\x41\x54\x45\x5f\x4f\x46\x46\0\x50\x45\x52\ -\x46\x5f\x45\x56\x45\x4e\x54\x5f\x53\x54\x41\x54\x45\x5f\x49\x4e\x41\x43\x54\ -\x49\x56\x45\0\x50\x45\x52\x46\x5f\x45\x56\x45\x4e\x54\x5f\x53\x54\x41\x54\x45\ -\x5f\x41\x43\x54\x49\x56\x45\0\x6c\x6f\x63\x61\x6c\x36\x34\x5f\x74\0\x70\x65\ -\x72\x66\x5f\x65\x76\x65\x6e\x74\x5f\x61\x74\x74\x72\0\x63\x6f\x6e\x66\x69\x67\ -\0\x73\x61\x6d\x70\x6c\x65\x5f\x74\x79\x70\x65\0\x72\x65\x61\x64\x5f\x66\x6f\ -\x72\x6d\x61\x74\0\x64\x69\x73\x61\x62\x6c\x65\x64\0\x69\x6e\x68\x65\x72\x69\ -\x74\0\x70\x69\x6e\x6e\x65\x64\0\x65\x78\x63\x6c\x75\x73\x69\x76\x65\0\x65\x78\ -\x63\x6c\x75\x64\x65\x5f\x75\x73\x65\x72\0\x65\x78\x63\x6c\x75\x64\x65\x5f\x6b\ -\x65\x72\x6e\x65\x6c\0\x65\x78\x63\x6c\x75\x64\x65\x5f\x68\x76\0\x65\x78\x63\ -\x6c\x75\x64\x65\x5f\x69\x64\x6c\x65\0\x6d\x6d\x61\x70\0\x66\x72\x65\x71\0\x69\ -\x6e\x68\x65\x72\x69\x74\x5f\x73\x74\x61\x74\0\x65\x6e\x61\x62\x6c\x65\x5f\x6f\ -\x6e\x5f\x65\x78\x65\x63\0\x77\x61\x74\x65\x72\x6d\x61\x72\x6b\0\x70\x72\x65\ -\x63\x69\x73\x65\x5f\x69\x70\0\x6d\x6d\x61\x70\x5f\x64\x61\x74\x61\0\x73\x61\ -\x6d\x70\x6c\x65\x5f\x69\x64\x5f\x61\x6c\x6c\0\x65\x78\x63\x6c\x75\x64\x65\x5f\ -\x68\x6f\x73\x74\0\x65\x78\x63\x6c\x75\x64\x65\x5f\x67\x75\x65\x73\x74\0\x65\ -\x78\x63\x6c\x75\x64\x65\x5f\x63\x61\x6c\x6c\x63\x68\x61\x69\x6e\x5f\x6b\x65\ -\x72\x6e\x65\x6c\0\x65\x78\x63\x6c\x75\x64\x65\x5f\x63\x61\x6c\x6c\x63\x68\x61\ -\x69\x6e\x5f\x75\x73\x65\x72\0\x6d\x6d\x61\x70\x32\0\x63\x6f\x6d\x6d\x5f\x65\ -\x78\x65\x63\0\x75\x73\x65\x5f\x63\x6c\x6f\x63\x6b\x69\x64\0\x63\x6f\x6e\x74\ -\x65\x78\x74\x5f\x73\x77\x69\x74\x63\x68\0\x77\x72\x69\x74\x65\x5f\x62\x61\x63\ -\x6b\x77\x61\x72\x64\0\x6e\x61\x6d\x65\x73\x70\x61\x63\x65\x73\0\x6b\x73\x79\ -\x6d\x62\x6f\x6c\0\x62\x70\x66\x5f\x65\x76\x65\x6e\x74\0\x61\x75\x78\x5f\x6f\ -\x75\x74\x70\x75\x74\0\x63\x67\x72\x6f\x75\x70\0\x74\x65\x78\x74\x5f\x70\x6f\ -\x6b\x65\0\x62\x75\x69\x6c\x64\x5f\x69\x64\0\x69\x6e\x68\x65\x72\x69\x74\x5f\ -\x74\x68\x72\x65\x61\x64\0\x72\x65\x6d\x6f\x76\x65\x5f\x6f\x6e\x5f\x65\x78\x65\ -\x63\0\x73\x69\x67\x74\x72\x61\x70\0\x5f\x5f\x72\x65\x73\x65\x72\x76\x65\x64\ -\x5f\x31\0\x62\x70\x5f\x74\x79\x70\x65\0\x62\x72\x61\x6e\x63\x68\x5f\x73\x61\ -\x6d\x70\x6c\x65\x5f\x74\x79\x70\x65\0\x73\x61\x6d\x70\x6c\x65\x5f\x72\x65\x67\ -\x73\x5f\x75\x73\x65\x72\0\x73\x61\x6d\x70\x6c\x65\x5f\x73\x74\x61\x63\x6b\x5f\ -\x75\x73\x65\x72\0\x73\x61\x6d\x70\x6c\x65\x5f\x72\x65\x67\x73\x5f\x69\x6e\x74\ -\x72\0\x61\x75\x78\x5f\x77\x61\x74\x65\x72\x6d\x61\x72\x6b\0\x73\x61\x6d\x70\ -\x6c\x65\x5f\x6d\x61\x78\x5f\x73\x74\x61\x63\x6b\0\x5f\x5f\x72\x65\x73\x65\x72\ -\x76\x65\x64\x5f\x32\0\x61\x75\x78\x5f\x73\x61\x6d\x70\x6c\x65\x5f\x73\x69\x7a\ -\x65\0\x5f\x5f\x72\x65\x73\x65\x72\x76\x65\x64\x5f\x33\0\x73\x69\x67\x5f\x64\ -\x61\x74\x61\0\x73\x61\x6d\x70\x6c\x65\x5f\x70\x65\x72\x69\x6f\x64\0\x73\x61\ -\x6d\x70\x6c\x65\x5f\x66\x72\x65\x71\0\x77\x61\x6b\x65\x75\x70\x5f\x65\x76\x65\ -\x6e\x74\x73\0\x77\x61\x6b\x65\x75\x70\x5f\x77\x61\x74\x65\x72\x6d\x61\x72\x6b\ -\0\x62\x70\x5f\x61\x64\x64\x72\0\x6b\x70\x72\x6f\x62\x65\x5f\x66\x75\x6e\x63\0\ -\x75\x70\x72\x6f\x62\x65\x5f\x70\x61\x74\x68\0\x63\x6f\x6e\x66\x69\x67\x31\0\ -\x62\x70\x5f\x6c\x65\x6e\0\x6b\x70\x72\x6f\x62\x65\x5f\x61\x64\x64\x72\0\x70\ -\x72\x6f\x62\x65\x5f\x6f\x66\x66\x73\x65\x74\0\x63\x6f\x6e\x66\x69\x67\x32\0\ -\x5f\x5f\x73\x33\x32\0\x68\x77\x5f\x70\x65\x72\x66\x5f\x65\x76\x65\x6e\x74\0\ -\x74\x61\x72\x67\x65\x74\0\x70\x72\x65\x76\x5f\x63\x6f\x75\x6e\x74\0\x69\x6e\ -\x74\x65\x72\x72\x75\x70\x74\x73\x5f\x73\x65\x71\0\x69\x6e\x74\x65\x72\x72\x75\ -\x70\x74\x73\0\x66\x72\x65\x71\x5f\x74\x69\x6d\x65\x5f\x73\x74\x61\x6d\x70\0\ -\x66\x72\x65\x71\x5f\x63\x6f\x75\x6e\x74\x5f\x73\x74\x61\x6d\x70\0\x6c\x61\x73\ -\x74\x5f\x74\x61\x67\0\x63\x6f\x6e\x66\x69\x67\x5f\x62\x61\x73\x65\0\x65\x76\ -\x65\x6e\x74\x5f\x62\x61\x73\x65\0\x65\x76\x65\x6e\x74\x5f\x62\x61\x73\x65\x5f\ -\x72\x64\x70\x6d\x63\0\x69\x64\x78\0\x6c\x61\x73\x74\x5f\x63\x70\x75\0\x65\x78\ -\x74\x72\x61\x5f\x72\x65\x67\0\x62\x72\x61\x6e\x63\x68\x5f\x72\x65\x67\0\x68\ -\x77\x5f\x70\x65\x72\x66\x5f\x65\x76\x65\x6e\x74\x5f\x65\x78\x74\x72\x61\0\x72\ -\x65\x67\0\x61\x6c\x6c\x6f\x63\0\x74\x70\x5f\x6c\x69\x73\x74\0\x70\x77\x72\x5f\ -\x61\x63\x63\0\x70\x74\x73\x63\0\x69\x6e\x66\x6f\0\x62\x70\x5f\x6c\x69\x73\x74\ -\0\x61\x72\x63\x68\x5f\x68\x77\x5f\x62\x72\x65\x61\x6b\x70\x6f\x69\x6e\x74\0\ -\x61\x64\x64\x72\x65\x73\x73\0\x6d\x61\x73\x6b\0\x72\x68\x6c\x69\x73\x74\x5f\ -\x68\x65\x61\x64\0\x72\x68\x65\x61\x64\0\x72\x68\x61\x73\x68\x5f\x68\x65\x61\ -\x64\0\x69\x6f\x6d\x6d\x75\x5f\x62\x61\x6e\x6b\0\x69\x6f\x6d\x6d\x75\x5f\x63\ -\x6e\x74\x72\0\x70\x61\x64\x64\x69\x6e\x67\0\x63\x6f\x6e\x66\0\x63\x6f\x6e\x66\ -\x31\0\x6c\x61\x73\x74\x5f\x70\x65\x72\x69\x6f\x64\0\x70\x65\x72\x69\x6f\x64\ -\x5f\x6c\x65\x66\x74\0\x73\x61\x76\x65\x64\x5f\x6d\x65\x74\x72\x69\x63\0\x73\ -\x61\x76\x65\x64\x5f\x73\x6c\x6f\x74\x73\0\x77\x61\x69\x74\x5f\x71\x75\x65\x75\ -\x65\x5f\x68\x65\x61\x64\x5f\x74\0\x77\x61\x69\x74\x5f\x71\x75\x65\x75\x65\x5f\ -\x68\x65\x61\x64\0\x68\x65\x61\x64\0\x69\x72\x71\x5f\x77\x6f\x72\x6b\0\x69\x72\ -\x71\x77\x61\x69\x74\0\x72\x63\x75\x77\x61\x69\x74\0\x70\x65\x72\x66\x5f\x61\ -\x64\x64\x72\x5f\x66\x69\x6c\x74\x65\x72\x73\x5f\x68\x65\x61\x64\0\x6e\x72\x5f\ -\x66\x69\x6c\x65\x5f\x66\x69\x6c\x74\x65\x72\x73\0\x70\x65\x72\x66\x5f\x6f\x76\ -\x65\x72\x66\x6c\x6f\x77\x5f\x68\x61\x6e\x64\x6c\x65\x72\x5f\x74\0\x70\x65\x72\ -\x66\x5f\x73\x61\x6d\x70\x6c\x65\x5f\x64\x61\x74\x61\0\x73\x61\x6d\x70\x6c\x65\ -\x5f\x66\x6c\x61\x67\x73\0\x70\x65\x72\x69\x6f\x64\0\x62\x72\x5f\x73\x74\x61\ -\x63\x6b\0\x64\x61\x74\x61\x5f\x73\x72\x63\0\x74\x78\x6e\0\x61\x64\x64\x72\0\ -\x72\x61\x77\0\x74\x69\x64\x5f\x65\x6e\x74\x72\x79\0\x73\x74\x72\x65\x61\x6d\ -\x5f\x69\x64\0\x63\x70\x75\x5f\x65\x6e\x74\x72\x79\0\x63\x61\x6c\x6c\x63\x68\ -\x61\x69\x6e\0\x61\x75\x78\x5f\x73\x69\x7a\x65\0\x72\x65\x67\x73\x5f\x75\x73\ -\x65\x72\0\x72\x65\x67\x73\x5f\x69\x6e\x74\x72\0\x73\x74\x61\x63\x6b\x5f\x75\ -\x73\x65\x72\x5f\x73\x69\x7a\x65\0\x70\x68\x79\x73\x5f\x61\x64\x64\x72\0\x64\ -\x61\x74\x61\x5f\x70\x61\x67\x65\x5f\x73\x69\x7a\x65\0\x63\x6f\x64\x65\x5f\x70\ -\x61\x67\x65\x5f\x73\x69\x7a\x65\0\x70\x65\x72\x66\x5f\x73\x61\x6d\x70\x6c\x65\ -\x5f\x77\x65\x69\x67\x68\x74\0\x66\x75\x6c\x6c\0\x76\x61\x72\x31\x5f\x64\x77\0\ -\x76\x61\x72\x32\x5f\x77\0\x76\x61\x72\x33\x5f\x77\0\x70\x65\x72\x66\x5f\x6d\ -\x65\x6d\x5f\x64\x61\x74\x61\x5f\x73\x72\x63\0\x6d\x65\x6d\x5f\x6f\x70\0\x6d\ -\x65\x6d\x5f\x6c\x76\x6c\0\x6d\x65\x6d\x5f\x73\x6e\x6f\x6f\x70\0\x6d\x65\x6d\ -\x5f\x6c\x6f\x63\x6b\0\x6d\x65\x6d\x5f\x64\x74\x6c\x62\0\x6d\x65\x6d\x5f\x6c\ -\x76\x6c\x5f\x6e\x75\x6d\0\x6d\x65\x6d\x5f\x72\x65\x6d\x6f\x74\x65\0\x6d\x65\ -\x6d\x5f\x73\x6e\x6f\x6f\x70\x78\0\x6d\x65\x6d\x5f\x62\x6c\x6b\0\x6d\x65\x6d\ -\x5f\x68\x6f\x70\x73\0\x6d\x65\x6d\x5f\x72\x73\x76\x64\0\x74\x69\x64\0\x72\x65\ -\x73\x65\x72\x76\x65\x64\0\x70\x65\x72\x66\x5f\x72\x65\x67\x73\0\x61\x62\x69\0\ -\x72\x65\x67\x73\0\x70\x72\x69\x76\x61\x74\x65\0\x73\x61\x76\x65\x64\x5f\x66\ -\x75\x6e\x63\0\x6c\x6f\x63\x61\x6c\x5f\x68\x61\x73\x68\0\x66\x75\x6e\x63\x5f\ -\x68\x61\x73\x68\0\x6f\x6c\x64\x5f\x68\x61\x73\x68\0\x74\x72\x61\x6d\x70\x6f\ -\x6c\x69\x6e\x65\0\x74\x72\x61\x6d\x70\x6f\x6c\x69\x6e\x65\x5f\x73\x69\x7a\x65\ -\0\x6f\x70\x73\x5f\x66\x75\x6e\x63\0\x66\x74\x72\x61\x63\x65\x5f\x66\x75\x6e\ -\x63\x5f\x74\0\x66\x74\x72\x61\x63\x65\x5f\x72\x65\x67\x73\0\x66\x74\x72\x61\ -\x63\x65\x5f\x6f\x70\x73\x5f\x68\x61\x73\x68\0\x6e\x6f\x74\x72\x61\x63\x65\x5f\ -\x68\x61\x73\x68\0\x66\x69\x6c\x74\x65\x72\x5f\x68\x61\x73\x68\0\x72\x65\x67\ -\x65\x78\x5f\x6c\x6f\x63\x6b\0\x66\x74\x72\x61\x63\x65\x5f\x6f\x70\x73\x5f\x66\ -\x75\x6e\x63\x5f\x74\0\x66\x74\x72\x61\x63\x65\x5f\x6f\x70\x73\x5f\x63\x6d\x64\ -\0\x46\x54\x52\x41\x43\x45\x5f\x4f\x50\x53\x5f\x43\x4d\x44\x5f\x45\x4e\x41\x42\ -\x4c\x45\x5f\x53\x48\x41\x52\x45\x5f\x49\x50\x4d\x4f\x44\x49\x46\x59\x5f\x53\ -\x45\x4c\x46\0\x46\x54\x52\x41\x43\x45\x5f\x4f\x50\x53\x5f\x43\x4d\x44\x5f\x45\ -\x4e\x41\x42\x4c\x45\x5f\x53\x48\x41\x52\x45\x5f\x49\x50\x4d\x4f\x44\x49\x46\ -\x59\x5f\x50\x45\x45\x52\0\x46\x54\x52\x41\x43\x45\x5f\x4f\x50\x53\x5f\x43\x4d\ -\x44\x5f\x44\x49\x53\x41\x42\x4c\x45\x5f\x53\x48\x41\x52\x45\x5f\x49\x50\x4d\ -\x4f\x44\x49\x46\x59\x5f\x50\x45\x45\x52\0\x61\x76\x78\x35\x31\x32\x5f\x74\x69\ -\x6d\x65\x73\x74\x61\x6d\x70\0\x66\x70\x73\x74\x61\x74\x65\0\x5f\x5f\x74\x61\ -\x73\x6b\x5f\x66\x70\x73\x74\x61\x74\x65\0\x70\x65\x72\x6d\0\x67\x75\x65\x73\ -\x74\x5f\x70\x65\x72\x6d\0\x5f\x5f\x66\x70\x73\x74\x61\x74\x65\0\x66\x70\x75\ -\x5f\x73\x74\x61\x74\x65\x5f\x70\x65\x72\x6d\0\x5f\x5f\x73\x74\x61\x74\x65\x5f\ -\x70\x65\x72\x6d\0\x5f\x5f\x73\x74\x61\x74\x65\x5f\x73\x69\x7a\x65\0\x5f\x5f\ -\x75\x73\x65\x72\x5f\x73\x74\x61\x74\x65\x5f\x73\x69\x7a\x65\0\x75\x73\x65\x72\ -\x5f\x73\x69\x7a\x65\0\x78\x66\x65\x61\x74\x75\x72\x65\x73\0\x75\x73\x65\x72\ -\x5f\x78\x66\x65\x61\x74\x75\x72\x65\x73\0\x78\x66\x64\0\x69\x73\x5f\x76\x61\ -\x6c\x6c\x6f\x63\0\x69\x73\x5f\x67\x75\x65\x73\x74\0\x69\x73\x5f\x63\x6f\x6e\ -\x66\x69\x64\x65\x6e\x74\x69\x61\x6c\0\x69\x6e\x5f\x75\x73\x65\0\x66\x70\x72\ -\x65\x67\x73\x5f\x73\x74\x61\x74\x65\0\x66\x73\x61\x76\x65\0\x66\x78\x73\x61\ -\x76\x65\0\x73\x6f\x66\x74\0\x78\x73\x61\x76\x65\0\x66\x72\x65\x67\x73\x5f\x73\ -\x74\x61\x74\x65\0\x63\x77\x64\0\x73\x77\x64\0\x74\x77\x64\0\x66\x69\x70\0\x66\ -\x63\x73\0\x66\x6f\x6f\0\x66\x6f\x73\0\x73\x74\x5f\x73\x70\x61\x63\x65\0\x66\ -\x78\x72\x65\x67\x73\x5f\x73\x74\x61\x74\x65\0\x66\x6f\x70\0\x6d\x78\x63\x73\ -\x72\0\x6d\x78\x63\x73\x72\x5f\x6d\x61\x73\x6b\0\x78\x6d\x6d\x5f\x73\x70\x61\ -\x63\x65\0\x72\x69\x70\0\x72\x64\x70\0\x70\x61\x64\x64\x69\x6e\x67\x31\0\x73\ -\x77\x5f\x72\x65\x73\x65\x72\x76\x65\x64\0\x73\x77\x72\x65\x67\x73\x5f\x73\x74\ -\x61\x74\x65\0\x66\x74\x6f\x70\0\x63\x68\x61\x6e\x67\x65\x64\0\x6c\x6f\x6f\x6b\ -\x61\x68\x65\x61\x64\0\x6e\x6f\x5f\x75\x70\x64\x61\x74\x65\0\x72\x6d\0\x61\x6c\ -\x69\x6d\x69\x74\0\x65\x6e\x74\x72\x79\x5f\x65\x69\x70\0\x78\x72\x65\x67\x73\ -\x5f\x73\x74\x61\x74\x65\0\x69\x33\x38\x37\0\x68\x65\x61\x64\x65\x72\0\x65\x78\ -\x74\x65\x6e\x64\x65\x64\x5f\x73\x74\x61\x74\x65\x5f\x61\x72\x65\x61\0\x78\x73\ -\x74\x61\x74\x65\x5f\x68\x65\x61\x64\x65\x72\0\x78\x63\x6f\x6d\x70\x5f\x62\x76\ -\0\x74\x72\x61\x63\x65\x5f\x65\x76\x65\x6e\x74\x5f\x72\x61\x77\x5f\x6b\x6d\x65\ -\x6d\x5f\x61\x6c\x6c\x6f\x63\0\x74\x72\x61\x63\x65\x5f\x6b\x6d\x61\x6c\x6c\x6f\ -\x63\0\x74\x61\x73\x6b\x5f\x6d\x6d\x5f\x73\x74\x61\x74\x73\0\x6c\x61\x73\x74\ -\x5f\x63\x6c\x65\x61\x72\x5f\x74\x69\x6d\x65\0\x6b\x6d\x65\x6d\x5f\x63\x6f\x75\ -\x6e\x74\0\x76\x6d\x65\x6d\x5f\x63\x6f\x75\x6e\x74\0\x73\x6c\x61\x62\x5f\x63\ -\x6f\x75\x6e\x74\0\x61\x6c\x72\x65\x61\x64\x79\x5f\x6f\x75\x74\x70\x75\x74\0\ -\x74\x61\x73\x6b\x5f\x69\x6e\x66\x6f\x5f\x73\x69\x6d\x70\x6c\x65\0\x63\x70\x75\ -\x5f\x69\x64\0\x74\x61\x73\x6b\x5f\x63\x6f\x6d\x70\x61\x72\x65\x5f\x61\x6e\x64\ -\x5f\x63\x6f\x6d\x6d\x69\x74\0\x70\x72\x6f\x63\x65\x73\x73\x5f\x6d\x6d\x5f\x73\ -\x74\x61\x74\x73\0\x70\x72\x6f\x63\x65\x73\x73\0\x70\x72\x6f\x63\x65\x73\x73\ -\x5f\x63\x6f\x6d\x70\x61\x72\x65\x5f\x61\x6e\x64\x5f\x63\x6f\x6d\x6d\x69\x74\0\ -\x74\x72\x61\x63\x65\x5f\x65\x76\x65\x6e\x74\x5f\x72\x61\x77\x5f\x6b\x6d\x65\ -\x6d\x5f\x6b\x66\x72\x65\x65\0\x74\x72\x61\x63\x65\x5f\x6b\x66\x72\x65\x65\0\ -\x74\x72\x61\x63\x65\x5f\x70\x61\x67\x65\x5f\x61\x6c\x6c\x6f\x63\0\x74\x72\x61\ -\x63\x65\x5f\x70\x61\x67\x65\x5f\x66\x72\x65\x65\0\x74\x72\x61\x63\x65\x5f\x63\ -\x61\x63\x68\x65\x5f\x61\x6c\x6c\x6f\x63\0\x74\x72\x61\x63\x65\x5f\x63\x61\x63\ -\x68\x65\x5f\x66\x72\x65\x65\0\x68\x61\x6e\x64\x6c\x65\x5f\x6d\x6d\x5f\x74\x61\ -\x73\x6b\x5f\x65\x78\x69\x74\0\x4c\x49\x43\x45\x4e\x53\x45\0\x5f\x5f\x5f\x5f\ -\x6f\x6f\x6d\x5f\x6b\x69\x6c\x6c\x5f\x70\x72\x6f\x63\x65\x73\x73\x2e\x5f\x5f\ -\x5f\x5f\x66\x6d\x74\0\x7a\x65\x72\x6f\0\x74\x61\x73\x6b\x5f\x63\x6f\x6d\x70\ -\x61\x72\x65\x5f\x61\x6e\x64\x5f\x63\x6f\x6d\x6d\x69\x74\x2e\x5f\x5f\x5f\x5f\ -\x66\x6d\x74\0\x74\x61\x73\x6b\x5f\x63\x6f\x6d\x70\x61\x72\x65\x5f\x61\x6e\x64\ -\x5f\x63\x6f\x6d\x6d\x69\x74\x2e\x5f\x5f\x5f\x5f\x66\x6d\x74\x2e\x31\0\x6f\x6e\ -\x65\0\x70\x72\x6f\x63\x65\x73\x73\x5f\x63\x6f\x6d\x70\x61\x72\x65\x5f\x61\x6e\ -\x64\x5f\x63\x6f\x6d\x6d\x69\x74\x2e\x5f\x5f\x5f\x5f\x66\x6d\x74\0\x70\x72\x6f\ -\x63\x65\x73\x73\x5f\x63\x6f\x6d\x70\x61\x72\x65\x5f\x61\x6e\x64\x5f\x63\x6f\ -\x6d\x6d\x69\x74\x2e\x5f\x5f\x5f\x5f\x66\x6d\x74\x2e\x32\0\x5f\x5f\x6b\x65\x72\ -\x6e\x65\x6c\x5f\x74\x69\x6d\x65\x73\x70\x65\x63\0\x62\x6c\x6b\x5f\x70\x6c\x75\ -\x67\0\x62\x70\x66\x5f\x6c\x6f\x63\x61\x6c\x5f\x73\x74\x6f\x72\x61\x67\x65\0\ -\x62\x70\x66\x5f\x70\x72\x6f\x67\0\x62\x70\x66\x5f\x72\x75\x6e\x5f\x63\x74\x78\ -\0\x63\x6f\x6d\x70\x6c\x65\x74\x69\x6f\x6e\0\x63\x73\x73\x5f\x73\x65\x74\0\x65\ -\x76\x65\x6e\x74\x5f\x66\x69\x6c\x74\x65\x72\0\x66\x61\x73\x79\x6e\x63\x5f\x73\ -\x74\x72\x75\x63\x74\0\x66\x69\x6c\x65\x73\x5f\x73\x74\x72\x75\x63\x74\0\x66\ -\x73\x5f\x73\x74\x72\x75\x63\x74\0\x66\x74\x72\x61\x63\x65\x5f\x68\x61\x73\x68\ -\0\x66\x74\x72\x61\x63\x65\x5f\x72\x65\x74\x5f\x73\x74\x61\x63\x6b\0\x66\x75\ -\x74\x65\x78\x5f\x70\x69\x5f\x73\x74\x61\x74\x65\0\x68\x72\x74\x69\x6d\x65\x72\ -\x5f\x63\x6c\x6f\x63\x6b\x5f\x62\x61\x73\x65\0\x69\x6f\x5f\x75\x72\x69\x6e\x67\ -\x5f\x74\x61\x73\x6b\0\x6b\x65\x72\x6e\x65\x6c\x5f\x73\x69\x67\x69\x6e\x66\x6f\ -\0\x6c\x6f\x63\x6b\x5f\x63\x6c\x61\x73\x73\x5f\x6b\x65\x79\0\x6c\x6f\x63\x6b\ -\x64\x65\x70\x5f\x73\x75\x62\x63\x6c\x61\x73\x73\x5f\x6b\x65\x79\0\x6d\x61\x74\ -\x68\x5f\x65\x6d\x75\x5f\x69\x6e\x66\x6f\0\x6d\x65\x6d\x5f\x63\x67\x72\x6f\x75\ -\x70\0\x6d\x6d\x5f\x73\x74\x72\x75\x63\x74\0\x6d\x75\x74\x65\x78\x5f\x77\x61\ -\x69\x74\x65\x72\0\x6f\x6c\x64\x5f\x74\x69\x6d\x65\x73\x70\x65\x63\x33\x32\0\ -\x70\x65\x72\x66\x5f\x61\x64\x64\x72\x5f\x66\x69\x6c\x74\x65\x72\x5f\x72\x61\ -\x6e\x67\x65\0\x70\x65\x72\x66\x5f\x62\x72\x61\x6e\x63\x68\x5f\x73\x74\x61\x63\ -\x6b\0\x70\x65\x72\x66\x5f\x62\x75\x66\x66\x65\x72\0\x70\x65\x72\x66\x5f\x63\ -\x61\x6c\x6c\x63\x68\x61\x69\x6e\x5f\x65\x6e\x74\x72\x79\0\x70\x65\x72\x66\x5f\ -\x63\x67\x72\x6f\x75\x70\0\x70\x65\x72\x66\x5f\x72\x61\x77\x5f\x72\x65\x63\x6f\ -\x72\x64\0\x70\x69\x64\x5f\x6e\x61\x6d\x65\x73\x70\x61\x63\x65\0\x70\x69\x70\ -\x65\x5f\x69\x6e\x6f\x64\x65\x5f\x69\x6e\x66\x6f\0\x70\x6f\x6c\x6c\x66\x64\0\ -\x72\x63\x75\x5f\x6e\x6f\x64\x65\0\x72\x65\x71\x75\x65\x73\x74\x5f\x71\x75\x65\ -\x75\x65\0\x72\x6f\x62\x75\x73\x74\x5f\x6c\x69\x73\x74\x5f\x68\x65\x61\x64\0\ -\x72\x74\x5f\x6d\x75\x74\x65\x78\x5f\x77\x61\x69\x74\x65\x72\0\x73\x65\x63\x63\ -\x6f\x6d\x70\x5f\x66\x69\x6c\x74\x65\x72\0\x73\x65\x6d\x5f\x75\x6e\x64\x6f\x5f\ -\x6c\x69\x73\x74\0\x73\x69\x67\x68\x61\x6e\x64\x5f\x73\x74\x72\x75\x63\x74\0\ -\x73\x69\x67\x6e\x61\x6c\x5f\x73\x74\x72\x75\x63\x74\0\x74\x61\x73\x6b\x5f\x64\ -\x65\x6c\x61\x79\x5f\x69\x6e\x66\x6f\0\x74\x61\x73\x6b\x5f\x67\x72\x6f\x75\x70\ -\0\x74\x72\x61\x63\x65\x5f\x65\x76\x65\x6e\x74\x5f\x63\x61\x6c\x6c\0\x75\x70\ -\x72\x6f\x62\x65\x5f\x74\x61\x73\x6b\0\x76\x6d\x5f\x73\x74\x72\x75\x63\x74\0\ -\x2f\x68\x6f\x6d\x65\x2f\x6e\x65\x30\x2f\x73\x79\x73\x5f\x63\x6f\x6d\x70\x65\ -\x74\x69\x74\x69\x6f\x6e\x2f\x73\x74\x61\x72\x74\x2f\x63\x70\x75\x5f\x77\x61\ -\x74\x63\x68\x65\x72\x2f\x62\x70\x66\x2f\x6d\x6d\x5f\x73\x74\x61\x74\x73\x2e\ -\x62\x70\x66\x2e\x63\0\x69\x6e\x74\x20\x42\x50\x46\x5f\x4b\x50\x52\x4f\x42\x45\ -\x28\x6f\x6f\x6d\x5f\x6b\x69\x6c\x6c\x5f\x70\x72\x6f\x63\x65\x73\x73\x2c\x20\ -\x73\x74\x72\x75\x63\x74\x20\x6f\x6f\x6d\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\x20\ -\x2a\x6f\x63\x2c\x20\x63\x6f\x6e\x73\x74\x20\x63\x68\x61\x72\x20\x2a\x6d\x65\ -\x73\x73\x61\x67\x65\x29\0\x20\x20\x20\x20\x62\x75\x66\x66\x20\x3d\x20\x62\x70\ -\x66\x5f\x72\x69\x6e\x67\x62\x75\x66\x5f\x72\x65\x73\x65\x72\x76\x65\x28\x26\ -\x6f\x6f\x6d\x5f\x65\x76\x65\x6e\x74\x5f\x62\x75\x66\x66\x65\x72\x2c\x20\x73\ -\x69\x7a\x65\x6f\x66\x28\x73\x74\x72\x75\x63\x74\x20\x6f\x6f\x6d\x5f\x65\x76\ -\x65\x6e\x74\x29\x2c\x20\x30\x29\x3b\0\x20\x20\x20\x20\x69\x66\x28\x21\x62\x75\ -\x66\x66\x29\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x70\x72\x69\ -\x6e\x74\x6b\x28\x22\x74\x68\x65\x20\x6f\x6f\x6d\x5f\x65\x76\x65\x6e\x74\x5f\ -\x62\x75\x66\x66\x20\x69\x73\x20\x66\x75\x6c\x6c\x5c\x6e\x22\x29\x3b\0\x20\x20\ -\x20\x20\x75\x36\x34\x20\x6e\x6f\x77\x20\x3d\x20\x62\x70\x66\x5f\x6b\x74\x69\ -\x6d\x65\x5f\x67\x65\x74\x5f\x6e\x73\x28\x29\x3b\0\x20\x20\x20\x20\x62\x75\x66\ -\x66\x2d\x3e\x6b\x69\x6c\x6c\x5f\x74\x69\x6d\x65\x20\x3d\x20\x6e\x6f\x77\x3b\0\ -\x20\x20\x20\x20\x62\x70\x66\x5f\x70\x72\x6f\x62\x65\x5f\x72\x65\x61\x64\x28\ -\x26\x74\x61\x73\x6b\x2c\x20\x73\x69\x7a\x65\x6f\x66\x28\x74\x61\x73\x6b\x29\ -\x2c\x20\x26\x6f\x63\x2d\x3e\x63\x68\x6f\x73\x65\x6e\x29\x3b\0\x20\x20\x20\x20\ -\x62\x70\x66\x5f\x70\x72\x6f\x62\x65\x5f\x72\x65\x61\x64\x28\x26\x62\x75\x66\ -\x66\x2d\x3e\x6b\x69\x6c\x6c\x65\x64\x5f\x69\x64\x2c\x20\x73\x69\x7a\x65\x6f\ -\x66\x28\x62\x75\x66\x66\x2d\x3e\x6b\x69\x6c\x6c\x65\x64\x5f\x69\x64\x29\x2c\ -\x20\x26\x74\x61\x73\x6b\x2d\x3e\x70\x69\x64\x29\x3b\0\x20\x20\x20\x20\x62\x70\ -\x66\x5f\x70\x72\x6f\x62\x65\x5f\x72\x65\x61\x64\x28\x26\x62\x75\x66\x66\x2d\ -\x3e\x63\x6f\x6d\x6d\x2c\x20\x73\x69\x7a\x65\x6f\x66\x28\x62\x75\x66\x66\x2d\ -\x3e\x63\x6f\x6d\x6d\x29\x2c\x20\x26\x74\x61\x73\x6b\x2d\x3e\x63\x6f\x6d\x6d\ -\x29\x3b\0\x20\x20\x20\x20\x62\x75\x66\x66\x2d\x3e\x74\x72\x69\x67\x67\x65\x72\ -\x5f\x69\x64\x20\x3d\x20\x62\x70\x66\x5f\x67\x65\x74\x5f\x63\x75\x72\x72\x65\ -\x6e\x74\x5f\x70\x69\x64\x5f\x74\x67\x69\x64\x28\x29\x20\x26\x20\x30\x78\x46\ -\x46\x46\x46\x46\x46\x46\x46\x3b\x20\0\x20\x20\x20\x20\x62\x70\x66\x5f\x72\x69\ -\x6e\x67\x62\x75\x66\x5f\x73\x75\x62\x6d\x69\x74\x28\x62\x75\x66\x66\x2c\x20\ -\x30\x29\x3b\0\x20\x20\x20\x20\x75\x36\x34\x20\x69\x64\x20\x3d\x20\x62\x70\x66\ -\x5f\x67\x65\x74\x5f\x63\x75\x72\x72\x65\x6e\x74\x5f\x70\x69\x64\x5f\x74\x67\ -\x69\x64\x28\x29\x3b\0\x20\x20\x20\x20\x75\x33\x32\x20\x74\x67\x69\x64\x20\x3d\ -\x20\x69\x64\x20\x3e\x3e\x20\x33\x32\x3b\0\x20\x20\x20\x20\x75\x33\x32\x20\x70\ -\x69\x64\x20\x3d\x20\x69\x64\x20\x26\x20\x30\x78\x46\x46\x46\x46\x46\x46\x46\ -\x46\x3b\x20\0\x20\x20\x20\x20\x69\x66\x28\x70\x69\x64\x20\x3d\x3d\x20\x30\x29\ -\0\x20\x20\x20\x20\x73\x74\x72\x75\x63\x74\x20\x74\x61\x73\x6b\x5f\x6d\x6d\x5f\ -\x73\x74\x61\x74\x73\x20\x2a\x74\x61\x73\x6b\x20\x3d\x20\x62\x70\x66\x5f\x6d\ -\x61\x70\x5f\x6c\x6f\x6f\x6b\x75\x70\x5f\x65\x6c\x65\x6d\x28\x26\x74\x61\x73\ -\x6b\x5f\x6d\x6d\x5f\x73\x74\x61\x74\x73\x5f\x6d\x61\x70\x2c\x26\x70\x69\x64\ -\x29\x3b\0\x20\x20\x20\x20\x69\x66\x28\x21\x74\x61\x73\x6b\x29\x7b\0\x20\x20\ -\x20\x20\x20\x20\x20\x20\x69\x6e\x69\x74\x5f\x74\x61\x73\x6b\x2e\x69\x6e\x66\ -\x6f\x2e\x74\x67\x69\x64\x20\x3d\x20\x74\x67\x69\x64\x3b\0\x20\x20\x20\x20\x20\ -\x20\x20\x20\x69\x6e\x69\x74\x5f\x74\x61\x73\x6b\x2e\x69\x6e\x66\x6f\x2e\x70\ -\x69\x64\x20\x3d\x20\x70\x69\x64\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x6d\x65\ -\x6d\x73\x65\x74\x28\x26\x69\x6e\x69\x74\x5f\x74\x61\x73\x6b\x2c\x20\x30\x2c\ -\x20\x73\x69\x7a\x65\x6f\x66\x28\x73\x74\x72\x75\x63\x74\x20\x74\x61\x73\x6b\ -\x5f\x6d\x6d\x5f\x73\x74\x61\x74\x73\x29\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\ -\x20\x62\x70\x66\x5f\x67\x65\x74\x5f\x63\x75\x72\x72\x65\x6e\x74\x5f\x63\x6f\ -\x6d\x6d\x28\x69\x6e\x69\x74\x5f\x74\x61\x73\x6b\x2e\x69\x6e\x66\x6f\x2e\x63\ -\x6f\x6d\x6d\x2c\x73\x69\x7a\x65\x6f\x66\x28\x69\x6e\x69\x74\x5f\x74\x61\x73\ -\x6b\x2e\x69\x6e\x66\x6f\x2e\x63\x6f\x6d\x6d\x29\x29\x3b\0\x20\x20\x20\x20\x20\ -\x20\x20\x20\x69\x6e\x69\x74\x5f\x74\x61\x73\x6b\x2e\x6b\x6d\x65\x6d\x5f\x63\ -\x6f\x75\x6e\x74\x20\x3d\x20\x31\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x69\x6e\ -\x69\x74\x5f\x74\x61\x73\x6b\x2e\x6c\x61\x73\x74\x5f\x63\x6c\x65\x61\x72\x5f\ -\x74\x69\x6d\x65\x20\x3d\x20\x6e\x6f\x77\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\ -\x62\x70\x66\x5f\x6d\x61\x70\x5f\x75\x70\x64\x61\x74\x65\x5f\x65\x6c\x65\x6d\ -\x28\x26\x74\x61\x73\x6b\x5f\x6d\x6d\x5f\x73\x74\x61\x74\x73\x5f\x6d\x61\x70\ -\x2c\x26\x70\x69\x64\x2c\x26\x69\x6e\x69\x74\x5f\x74\x61\x73\x6b\x2c\x42\x50\ -\x46\x5f\x41\x4e\x59\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x74\x61\x73\x6b\ -\x2d\x3e\x6b\x6d\x65\x6d\x5f\x63\x6f\x75\x6e\x74\x20\x2b\x3d\x20\x31\x3b\0\x20\ -\x20\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x75\x70\x64\x61\ -\x74\x65\x5f\x65\x6c\x65\x6d\x28\x26\x74\x61\x73\x6b\x5f\x6d\x6d\x5f\x73\x74\ -\x61\x74\x73\x5f\x6d\x61\x70\x2c\x26\x70\x69\x64\x2c\x74\x61\x73\x6b\x2c\x42\ -\x50\x46\x5f\x41\x4e\x59\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x74\x61\x73\ -\x6b\x5f\x63\x6f\x6d\x70\x61\x72\x65\x5f\x61\x6e\x64\x5f\x63\x6f\x6d\x6d\x69\ -\x74\x28\x74\x61\x73\x6b\x29\x3b\0\x20\x20\x20\x20\x73\x74\x72\x75\x63\x74\x20\ -\x70\x72\x6f\x63\x65\x73\x73\x5f\x6d\x6d\x5f\x73\x74\x61\x74\x73\x20\x2a\x70\ -\x72\x6f\x63\x65\x73\x73\x20\x3d\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x6c\x6f\ -\x6f\x6b\x75\x70\x5f\x65\x6c\x65\x6d\x28\x26\x70\x72\x6f\x63\x65\x73\x73\x5f\ -\x6d\x6d\x5f\x73\x74\x61\x74\x73\x5f\x6d\x61\x70\x2c\x26\x74\x67\x69\x64\x29\ -\x3b\0\x20\x20\x20\x20\x69\x66\x28\x21\x70\x72\x6f\x63\x65\x73\x73\x29\x7b\0\ -\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x72\x75\x63\x74\x20\x70\x72\x6f\x63\ -\x65\x73\x73\x5f\x6d\x6d\x5f\x73\x74\x61\x74\x73\x20\x69\x6e\x69\x74\x5f\x70\ -\x72\x6f\x63\x65\x73\x73\x20\x3d\x20\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\ -\x20\x20\x20\x2e\x74\x67\x69\x64\x20\x3d\x20\x74\x67\x69\x64\x2c\0\x20\x20\x20\ -\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x75\x70\x64\x61\x74\x65\ -\x5f\x65\x6c\x65\x6d\x28\x26\x70\x72\x6f\x63\x65\x73\x73\x5f\x6d\x6d\x5f\x73\ -\x74\x61\x74\x73\x5f\x6d\x61\x70\x2c\x26\x74\x67\x69\x64\x2c\x26\x69\x6e\x69\ -\x74\x5f\x70\x72\x6f\x63\x65\x73\x73\x2c\x42\x50\x46\x5f\x41\x4e\x59\x29\x3b\0\ -\x20\x20\x20\x20\x20\x20\x20\x20\x70\x72\x6f\x63\x65\x73\x73\x2d\x3e\x6b\x6d\ -\x65\x6d\x5f\x63\x6f\x75\x6e\x74\x20\x2b\x3d\x20\x31\x3b\0\x20\x20\x20\x20\x20\ -\x20\x20\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x75\x70\x64\x61\x74\x65\x5f\x65\ -\x6c\x65\x6d\x28\x26\x70\x72\x6f\x63\x65\x73\x73\x5f\x6d\x6d\x5f\x73\x74\x61\ -\x74\x73\x5f\x6d\x61\x70\x2c\x26\x74\x67\x69\x64\x2c\x70\x72\x6f\x63\x65\x73\ -\x73\x2c\x42\x50\x46\x5f\x41\x4e\x59\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\ -\x70\x72\x6f\x63\x65\x73\x73\x5f\x63\x6f\x6d\x70\x61\x72\x65\x5f\x61\x6e\x64\ -\x5f\x63\x6f\x6d\x6d\x69\x74\x28\x70\x72\x6f\x63\x65\x73\x73\x29\x3b\0\x7d\0\ -\x73\x74\x61\x74\x69\x63\x20\x69\x6e\x74\x20\x74\x61\x73\x6b\x5f\x63\x6f\x6d\ -\x70\x61\x72\x65\x5f\x61\x6e\x64\x5f\x63\x6f\x6d\x6d\x69\x74\x28\x73\x74\x72\ -\x75\x63\x74\x20\x74\x61\x73\x6b\x5f\x6d\x6d\x5f\x73\x74\x61\x74\x73\x20\x2a\ -\x74\x61\x73\x6b\x29\x7b\0\x20\x20\x20\x20\x73\x74\x72\x75\x63\x74\x20\x6d\x6d\ -\x5f\x74\x68\x72\x65\x68\x6f\x6c\x64\x20\x2a\x74\x68\x72\x65\x68\x6f\x6c\x64\ -\x20\x3d\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x6c\x6f\x6f\x6b\x75\x70\x5f\x65\ -\x6c\x65\x6d\x28\x26\x74\x68\x72\x65\x68\x6f\x6c\x64\x5f\x6d\x61\x70\x2c\x26\ -\x7a\x65\x72\x6f\x29\x3b\0\x20\x20\x20\x20\x69\x66\x28\x21\x74\x68\x72\x65\x68\ -\x6f\x6c\x64\x29\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x70\x72\ -\x69\x6e\x74\x6b\x28\x22\x6d\x6d\x5f\x74\x68\x72\x65\x68\x6f\x6c\x64\x20\x6d\ -\x61\x70\x20\x69\x73\x20\x6e\x6f\x74\x20\x69\x6e\x69\x74\x5c\x6e\x22\x29\x3b\0\ -\x20\x20\x20\x20\x69\x66\x28\x74\x61\x73\x6b\x2d\x3e\x6c\x61\x73\x74\x5f\x63\ -\x6c\x65\x61\x72\x5f\x74\x69\x6d\x65\x20\x2b\x20\x74\x68\x72\x65\x68\x6f\x6c\ -\x64\x2d\x3e\x74\x69\x6d\x65\x5f\x77\x69\x6e\x64\x6f\x77\x20\x3c\x20\x6e\x6f\ -\x77\x29\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\x74\x61\x73\x6b\x2d\x3e\x6c\x61\ -\x73\x74\x5f\x63\x6c\x65\x61\x72\x5f\x74\x69\x6d\x65\x20\x3d\x20\x6e\x6f\x77\ -\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x74\x61\x73\x6b\x2d\x3e\x6b\x6d\x65\x6d\ -\x5f\x63\x6f\x75\x6e\x74\x20\x3d\x20\x30\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\ -\x74\x61\x73\x6b\x2d\x3e\x73\x6c\x61\x62\x5f\x63\x6f\x75\x6e\x74\x20\x3d\x20\ -\x30\x3b\0\x20\x20\x20\x20\x69\x66\x28\x74\x61\x73\x6b\x2d\x3e\x6b\x6d\x65\x6d\ -\x5f\x63\x6f\x75\x6e\x74\x20\x3e\x3d\x20\x74\x68\x72\x65\x68\x6f\x6c\x64\x2d\ -\x3e\x6b\x6d\x65\x6d\x5f\x74\x68\x72\x65\x68\x6f\x6c\x64\x20\x7c\x7c\x20\x74\ -\x61\x73\x6b\x2d\x3e\x73\x6c\x61\x62\x5f\x63\x6f\x75\x6e\x74\x20\x3e\x3d\x20\ -\x74\x68\x72\x65\x68\x6f\x6c\x64\x2d\x3e\x73\x6c\x61\x62\x5f\x74\x68\x72\x65\ -\x68\x6f\x6c\x64\x20\x7c\x7c\x20\x74\x61\x73\x6b\x2d\x3e\x76\x6d\x65\x6d\x5f\ -\x63\x6f\x75\x6e\x74\x20\x3e\x3d\x20\x74\x68\x72\x65\x68\x6f\x6c\x64\x2d\x3e\ -\x76\x6d\x65\x6d\x5f\x74\x68\x72\x65\x68\x6f\x6c\x64\x29\x7b\0\x20\x20\x20\x20\ -\x20\x20\x20\x20\x69\x66\x28\x74\x61\x73\x6b\x2d\x3e\x61\x6c\x72\x65\x61\x64\ -\x79\x5f\x6f\x75\x74\x70\x75\x74\x20\x21\x3d\x20\x30\x29\0\x20\x20\x20\x20\x20\ -\x20\x20\x20\x73\x74\x72\x75\x63\x74\x20\x74\x61\x73\x6b\x5f\x6d\x6d\x5f\x73\ -\x74\x61\x74\x73\x20\x2a\x62\x75\x66\x66\x20\x3d\x20\x62\x70\x66\x5f\x72\x69\ -\x6e\x67\x62\x75\x66\x5f\x72\x65\x73\x65\x72\x76\x65\x28\x26\x74\x61\x73\x6b\ -\x5f\x6d\x6d\x5f\x73\x74\x61\x74\x73\x5f\x62\x75\x66\x66\x65\x72\x2c\x20\x73\ -\x69\x7a\x65\x6f\x66\x28\x73\x74\x72\x75\x63\x74\x20\x74\x61\x73\x6b\x5f\x6d\ -\x6d\x5f\x73\x74\x61\x74\x73\x29\x2c\x20\x30\x29\x3b\0\x20\x20\x20\x20\x20\x20\ -\x20\x20\x69\x66\x28\x21\x62\x75\x66\x66\x29\x7b\0\x20\x20\x20\x20\x20\x20\x20\ -\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x70\x72\x69\x6e\x74\x6b\x28\x22\x74\x61\ -\x73\x6b\x5f\x6d\x6d\x5f\x73\x74\x61\x74\x73\x5f\x62\x75\x66\x66\x20\x69\x73\ -\x20\x66\x75\x6c\x6c\x5c\x6e\x22\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x6d\ -\x65\x6d\x73\x65\x74\x28\x62\x75\x66\x66\x2c\x30\x2c\x73\x69\x7a\x65\x6f\x66\ -\x28\x73\x74\x72\x75\x63\x74\x20\x74\x61\x73\x6b\x5f\x6d\x6d\x5f\x73\x74\x61\ -\x74\x73\x29\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\x75\x66\x66\x2d\x3e\ -\x69\x6e\x66\x6f\x2e\x70\x69\x64\x20\x3d\x20\x74\x61\x73\x6b\x2d\x3e\x69\x6e\ -\x66\x6f\x2e\x70\x69\x64\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\x75\x66\x66\ -\x2d\x3e\x69\x6e\x66\x6f\x2e\x74\x67\x69\x64\x20\x3d\x20\x74\x61\x73\x6b\x2d\ -\x3e\x69\x6e\x66\x6f\x2e\x74\x67\x69\x64\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\ -\x62\x70\x66\x5f\x70\x72\x6f\x62\x65\x5f\x72\x65\x61\x64\x5f\x73\x74\x72\x28\ -\x62\x75\x66\x66\x2d\x3e\x69\x6e\x66\x6f\x2e\x63\x6f\x6d\x6d\x2c\x73\x69\x7a\ -\x65\x6f\x66\x28\x74\x61\x73\x6b\x2d\x3e\x69\x6e\x66\x6f\x2e\x63\x6f\x6d\x6d\ -\x29\x2c\x74\x61\x73\x6b\x2d\x3e\x69\x6e\x66\x6f\x2e\x63\x6f\x6d\x6d\x29\x3b\ -\x20\x20\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\x75\x66\x66\x2d\x3e\x6b\x6d\x65\ -\x6d\x5f\x63\x6f\x75\x6e\x74\x20\x3d\x20\x74\x61\x73\x6b\x2d\x3e\x6b\x6d\x65\ -\x6d\x5f\x63\x6f\x75\x6e\x74\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\x75\x66\ -\x66\x2d\x3e\x73\x6c\x61\x62\x5f\x63\x6f\x75\x6e\x74\x20\x3d\x20\x74\x61\x73\ -\x6b\x2d\x3e\x73\x6c\x61\x62\x5f\x63\x6f\x75\x6e\x74\x3b\0\x20\x20\x20\x20\x20\ -\x20\x20\x20\x62\x75\x66\x66\x2d\x3e\x76\x6d\x65\x6d\x5f\x63\x6f\x75\x6e\x74\ -\x20\x3d\x20\x74\x61\x73\x6b\x2d\x3e\x76\x6d\x65\x6d\x5f\x63\x6f\x75\x6e\x74\ -\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x72\x69\x6e\x67\x62\x75\ -\x66\x5f\x73\x75\x62\x6d\x69\x74\x28\x62\x75\x66\x66\x2c\x30\x29\x3b\0\x20\x20\ -\x20\x20\x20\x20\x20\x20\x74\x61\x73\x6b\x2d\x3e\x61\x6c\x72\x65\x61\x64\x79\ -\x5f\x6f\x75\x74\x70\x75\x74\x20\x3d\x20\x31\x3b\0\x73\x74\x61\x74\x69\x63\x20\ -\x69\x6e\x74\x20\x70\x72\x6f\x63\x65\x73\x73\x5f\x63\x6f\x6d\x70\x61\x72\x65\ -\x5f\x61\x6e\x64\x5f\x63\x6f\x6d\x6d\x69\x74\x28\x73\x74\x72\x75\x63\x74\x20\ -\x70\x72\x6f\x63\x65\x73\x73\x5f\x6d\x6d\x5f\x73\x74\x61\x74\x73\x20\x2a\x70\ -\x72\x6f\x63\x65\x73\x73\x29\x7b\0\x20\x20\x20\x20\x73\x74\x72\x75\x63\x74\x20\ -\x6d\x6d\x5f\x74\x68\x72\x65\x68\x6f\x6c\x64\x20\x2a\x74\x68\x72\x65\x68\x6f\ -\x6c\x64\x20\x3d\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x6c\x6f\x6f\x6b\x75\x70\ -\x5f\x65\x6c\x65\x6d\x28\x26\x74\x68\x72\x65\x68\x6f\x6c\x64\x5f\x6d\x61\x70\ -\x2c\x26\x6f\x6e\x65\x29\x3b\0\x20\x20\x20\x20\x69\x66\x28\x70\x72\x6f\x63\x65\ -\x73\x73\x2d\x3e\x6c\x61\x73\x74\x5f\x63\x6c\x65\x61\x72\x5f\x74\x69\x6d\x65\ -\x20\x2b\x20\x74\x68\x72\x65\x68\x6f\x6c\x64\x2d\x3e\x74\x69\x6d\x65\x5f\x77\ -\x69\x6e\x64\x6f\x77\x20\x3c\x20\x6e\x6f\x77\x29\x7b\0\x20\x20\x20\x20\x20\x20\ -\x20\x20\x70\x72\x6f\x63\x65\x73\x73\x2d\x3e\x6c\x61\x73\x74\x5f\x63\x6c\x65\ -\x61\x72\x5f\x74\x69\x6d\x65\x20\x3d\x20\x6e\x6f\x77\x3b\0\x20\x20\x20\x20\x20\ -\x20\x20\x20\x70\x72\x6f\x63\x65\x73\x73\x2d\x3e\x61\x6c\x72\x65\x61\x64\x79\ -\x5f\x6f\x75\x74\x70\x75\x74\x20\x3d\x20\x30\x3b\0\x20\x20\x20\x20\x20\x20\x20\ -\x20\x70\x72\x6f\x63\x65\x73\x73\x2d\x3e\x76\x6d\x65\x6d\x5f\x63\x6f\x75\x6e\ -\x74\x20\x3d\x20\x30\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x70\x72\x6f\x63\x65\ -\x73\x73\x2d\x3e\x6b\x6d\x65\x6d\x5f\x63\x6f\x75\x6e\x74\x20\x3d\x20\x30\x3b\0\ -\x20\x20\x20\x20\x69\x66\x28\x70\x72\x6f\x63\x65\x73\x73\x2d\x3e\x6b\x6d\x65\ -\x6d\x5f\x63\x6f\x75\x6e\x74\x20\x3e\x3d\x20\x74\x68\x72\x65\x68\x6f\x6c\x64\ -\x2d\x3e\x6b\x6d\x65\x6d\x5f\x74\x68\x72\x65\x68\x6f\x6c\x64\x20\x7c\x7c\x20\ -\x70\x72\x6f\x63\x65\x73\x73\x2d\x3e\x73\x6c\x61\x62\x5f\x63\x6f\x75\x6e\x74\ -\x20\x3e\x3d\x20\x74\x68\x72\x65\x68\x6f\x6c\x64\x2d\x3e\x73\x6c\x61\x62\x5f\ -\x74\x68\x72\x65\x68\x6f\x6c\x64\x20\x7c\x7c\x20\x70\x72\x6f\x63\x65\x73\x73\ -\x2d\x3e\x76\x6d\x65\x6d\x5f\x63\x6f\x75\x6e\x74\x20\x3e\x3d\x20\x74\x68\x72\ -\x65\x68\x6f\x6c\x64\x2d\x3e\x76\x6d\x65\x6d\x5f\x74\x68\x72\x65\x68\x6f\x6c\ -\x64\x29\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x28\x70\x72\x6f\x63\x65\ -\x73\x73\x2d\x3e\x61\x6c\x72\x65\x61\x64\x79\x5f\x6f\x75\x74\x70\x75\x74\x20\ -\x21\x3d\x20\x30\x29\0\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x72\x75\x63\x74\ -\x20\x70\x72\x6f\x63\x65\x73\x73\x5f\x6d\x6d\x5f\x73\x74\x61\x74\x73\x20\x2a\ -\x62\x75\x66\x66\x20\x3d\x20\x62\x70\x66\x5f\x72\x69\x6e\x67\x62\x75\x66\x5f\ -\x72\x65\x73\x65\x72\x76\x65\x28\x26\x70\x72\x6f\x63\x65\x73\x73\x5f\x6d\x6d\ -\x5f\x73\x74\x61\x74\x73\x5f\x62\x75\x66\x66\x65\x72\x2c\x20\x73\x69\x7a\x65\ -\x6f\x66\x28\x73\x74\x72\x75\x63\x74\x20\x70\x72\x6f\x63\x65\x73\x73\x5f\x6d\ -\x6d\x5f\x73\x74\x61\x74\x73\x29\x2c\x20\x30\x29\x3b\0\x20\x20\x20\x20\x20\x20\ -\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x70\x72\x69\x6e\x74\x6b\x28\x22\x70\ -\x72\x6f\x63\x65\x73\x73\x5f\x6d\x6d\x5f\x73\x74\x61\x74\x73\x5f\x62\x75\x66\ -\x66\x20\x69\x73\x20\x66\x75\x6c\x6c\x5c\x6e\x22\x29\x3b\0\x20\x20\x20\x20\x20\ -\x20\x20\x20\x6d\x65\x6d\x73\x65\x74\x28\x62\x75\x66\x66\x2c\x30\x2c\x73\x69\ -\x7a\x65\x6f\x66\x28\x73\x74\x72\x75\x63\x74\x20\x70\x72\x6f\x63\x65\x73\x73\ -\x5f\x6d\x6d\x5f\x73\x74\x61\x74\x73\x29\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\ -\x20\x62\x75\x66\x66\x2d\x3e\x74\x67\x69\x64\x20\x3d\x20\x70\x72\x6f\x63\x65\ -\x73\x73\x2d\x3e\x74\x67\x69\x64\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\x75\ -\x66\x66\x2d\x3e\x6b\x6d\x65\x6d\x5f\x63\x6f\x75\x6e\x74\x20\x3d\x20\x70\x72\ -\x6f\x63\x65\x73\x73\x2d\x3e\x6b\x6d\x65\x6d\x5f\x63\x6f\x75\x6e\x74\x3b\0\x20\ -\x20\x20\x20\x20\x20\x20\x20\x62\x75\x66\x66\x2d\x3e\x73\x6c\x61\x62\x5f\x63\ -\x6f\x75\x6e\x74\x20\x3d\x20\x70\x72\x6f\x63\x65\x73\x73\x2d\x3e\x73\x6c\x61\ -\x62\x5f\x63\x6f\x75\x6e\x74\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\x75\x66\ -\x66\x2d\x3e\x76\x6d\x65\x6d\x5f\x63\x6f\x75\x6e\x74\x20\x3d\x20\x70\x72\x6f\ -\x63\x65\x73\x73\x2d\x3e\x76\x6d\x65\x6d\x5f\x63\x6f\x75\x6e\x74\x3b\0\x20\x20\ -\x20\x20\x20\x20\x20\x20\x70\x72\x6f\x63\x65\x73\x73\x2d\x3e\x61\x6c\x72\x65\ -\x61\x64\x79\x5f\x6f\x75\x74\x70\x75\x74\x20\x3d\x20\x31\x3b\0\x20\x20\x20\x20\ -\x20\x20\x20\x20\x20\x73\x74\x72\x75\x63\x74\x20\x70\x72\x6f\x63\x65\x73\x73\ -\x5f\x6d\x6d\x5f\x73\x74\x61\x74\x73\x20\x69\x6e\x69\x74\x5f\x70\x72\x6f\x63\ -\x65\x73\x73\x20\x3d\x20\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\x69\x6e\x69\x74\ -\x5f\x74\x61\x73\x6b\x2e\x76\x6d\x65\x6d\x5f\x63\x6f\x75\x6e\x74\x20\x3d\x20\ -\x31\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x74\x61\x73\x6b\x2d\x3e\x76\x6d\x65\ -\x6d\x5f\x63\x6f\x75\x6e\x74\x20\x2b\x3d\x20\x31\x3b\0\x20\x20\x20\x20\x20\x20\ -\x20\x20\x70\x72\x6f\x63\x65\x73\x73\x2d\x3e\x76\x6d\x65\x6d\x5f\x63\x6f\x75\ -\x6e\x74\x20\x2b\x3d\x20\x31\x3b\0\x69\x6e\x74\x20\x42\x50\x46\x5f\x50\x52\x4f\ -\x47\x28\x74\x72\x61\x63\x65\x5f\x70\x61\x67\x65\x5f\x61\x6c\x6c\x6f\x63\x29\ -\x7b\0\x69\x6e\x74\x20\x42\x50\x46\x5f\x50\x52\x4f\x47\x28\x74\x72\x61\x63\x65\ -\x5f\x70\x61\x67\x65\x5f\x66\x72\x65\x65\x29\x7b\0\x20\x20\x20\x20\x20\x20\x20\ -\x20\x69\x6e\x69\x74\x5f\x74\x61\x73\x6b\x2e\x73\x6c\x61\x62\x5f\x63\x6f\x75\ -\x6e\x74\x20\x3d\x20\x31\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x74\x61\x73\x6b\ -\x2d\x3e\x73\x6c\x61\x62\x5f\x63\x6f\x75\x6e\x74\x20\x2b\x3d\x20\x31\x3b\0\x20\ -\x20\x20\x20\x20\x20\x20\x20\x70\x72\x6f\x63\x65\x73\x73\x2d\x3e\x73\x6c\x61\ -\x62\x5f\x63\x6f\x75\x6e\x74\x20\x2b\x3d\x20\x31\x3b\0\x69\x6e\x74\x20\x42\x50\ -\x46\x5f\x50\x52\x4f\x47\x28\x74\x72\x61\x63\x65\x5f\x63\x61\x63\x68\x65\x5f\ -\x61\x6c\x6c\x6f\x63\x29\x7b\0\x69\x6e\x74\x20\x42\x50\x46\x5f\x50\x52\x4f\x47\ -\x28\x74\x72\x61\x63\x65\x5f\x63\x61\x63\x68\x65\x5f\x66\x72\x65\x65\x29\x7b\0\ -\x20\x20\x20\x20\x75\x36\x34\x20\x70\x69\x64\x5f\x74\x67\x69\x64\x20\x3d\x20\ -\x62\x70\x66\x5f\x67\x65\x74\x5f\x63\x75\x72\x72\x65\x6e\x74\x5f\x70\x69\x64\ -\x5f\x74\x67\x69\x64\x28\x29\x3b\0\x20\x20\x20\x20\x75\x33\x32\x20\x70\x69\x64\ -\x20\x3d\x20\x70\x69\x64\x5f\x74\x67\x69\x64\x20\x26\x20\x30\x78\x46\x46\x46\ -\x46\x46\x46\x46\x46\x3b\x20\x20\0\x20\x20\x20\x20\x69\x66\x28\x70\x69\x64\x20\ -\x3d\x3d\x20\x30\x20\x7c\x7c\x20\x74\x67\x69\x64\x20\x3d\x3d\x20\x30\x29\0\x20\ -\x20\x20\x20\x69\x66\x28\x62\x70\x66\x5f\x6d\x61\x70\x5f\x6c\x6f\x6f\x6b\x75\ -\x70\x5f\x65\x6c\x65\x6d\x28\x26\x74\x61\x73\x6b\x5f\x6d\x6d\x5f\x73\x74\x61\ -\x74\x73\x5f\x6d\x61\x70\x2c\x26\x70\x69\x64\x29\x20\x21\x3d\x20\x4e\x55\x4c\ -\x4c\x29\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\ -\x64\x65\x6c\x65\x74\x65\x5f\x65\x6c\x65\x6d\x28\x26\x74\x61\x73\x6b\x5f\x6d\ -\x6d\x5f\x73\x74\x61\x74\x73\x5f\x6d\x61\x70\x2c\x26\x70\x69\x64\x29\x3b\0\x69\ -\x6e\x74\x20\x42\x50\x46\x5f\x50\x52\x4f\x47\x28\x68\x61\x6e\x64\x6c\x65\x5f\ -\x6d\x6d\x5f\x74\x61\x73\x6b\x5f\x65\x78\x69\x74\x29\x7b\0\x30\x3a\x31\x34\0\ -\x30\x3a\x36\0\x30\x3a\x37\x38\0\x30\x3a\x31\x31\x32\0\x6c\x69\x63\x65\x6e\x73\ -\x65\0\x2e\x6d\x61\x70\x73\0\x2e\x72\x6f\x64\x61\x74\x61\0\x2e\x74\x65\x78\x74\ -\0\x6b\x70\x72\x6f\x62\x65\x2f\x6f\x6f\x6d\x5f\x6b\x69\x6c\x6c\x5f\x70\x72\x6f\ -\x63\x65\x73\x73\0\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x6b\x6d\x65\x6d\ -\x2f\x6b\x6d\x61\x6c\x6c\x6f\x63\0\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\ -\x6b\x6d\x65\x6d\x2f\x6b\x66\x72\x65\x65\0\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\ -\x74\x2f\x6b\x6d\x65\x6d\x2f\x6d\x6d\x5f\x70\x61\x67\x65\x5f\x61\x6c\x6c\x6f\ -\x63\0\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x6b\x6d\x65\x6d\x2f\x6d\x6d\ -\x5f\x70\x61\x67\x65\x5f\x66\x72\x65\x65\0\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\ -\x74\x2f\x6b\x6d\x65\x6d\x2f\x6b\x6d\x65\x6d\x5f\x63\x61\x63\x68\x65\x5f\x61\ -\x6c\x6c\x6f\x63\0\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x6b\x6d\x65\x6d\ -\x2f\x6b\x6d\x65\x6d\x5f\x63\x61\x63\x68\x65\x5f\x66\x72\x65\x65\0\x74\x72\x61\ -\x63\x65\x70\x6f\x69\x6e\x74\x2f\x73\x63\x68\x65\x64\x2f\x73\x63\x68\x65\x64\ -\x5f\x70\x72\x6f\x63\x65\x73\x73\x5f\x65\x78\x69\x74\0\0\0\0\x9f\xeb\x01\0\x20\ -\0\0\0\0\0\0\0\x9c\0\0\0\x9c\0\0\0\xbc\x14\0\0\x58\x15\0\0\x4c\0\0\0\x08\0\0\0\ -\x29\x42\0\0\x02\0\0\0\0\0\0\0\x8d\x01\0\0\x90\x02\0\0\x91\x01\0\0\x2f\x42\0\0\ -\x01\0\0\0\0\0\0\0\x2f\0\0\0\x47\x42\0\0\x01\0\0\0\0\0\0\0\x86\x01\0\0\x5f\x42\ -\0\0\x01\0\0\0\0\0\0\0\x95\x01\0\0\x75\x42\0\0\x01\0\0\0\0\0\0\0\x98\x01\0\0\ -\x93\x42\0\0\x01\0\0\0\0\0\0\0\x99\x01\0\0\xb0\x42\0\0\x01\0\0\0\0\0\0\0\x9a\ -\x01\0\0\xd1\x42\0\0\x01\0\0\0\0\0\0\0\x9b\x01\0\0\xf1\x42\0\0\x01\0\0\0\0\0\0\ -\0\x9c\x01\0\0\x10\0\0\0\x29\x42\0\0\x54\0\0\0\0\0\0\0\x13\x30\0\0\xf6\x36\0\0\ -\0\x1c\x01\0\x08\0\0\0\x13\x30\0\0\x36\x37\0\0\x24\x20\x01\0\x38\0\0\0\x13\x30\ -\0\0\x83\x37\0\0\x08\x24\x01\0\x40\0\0\0\x13\x30\0\0\x96\x37\0\0\x09\x28\x01\0\ -\x68\0\0\0\x13\x30\0\0\x33\x31\0\0\x0f\x40\x01\0\x70\0\0\0\x13\x30\0\0\xcb\x37\ -\0\0\x0e\x44\x01\0\x78\0\0\0\x13\x30\0\0\xcb\x37\0\0\x2a\x44\x01\0\x80\0\0\0\ -\x13\x30\0\0\xcb\x37\0\0\x1e\x44\x01\0\x88\0\0\0\x13\x30\0\0\xcb\x37\0\0\x08\ -\x44\x01\0\x90\0\0\0\x13\x30\0\0\x08\x38\0\0\x1f\x54\x01\0\xa0\0\0\0\x13\x30\0\ -\0\x2d\x38\0\0\x1a\x48\x01\0\xa8\0\0\0\x13\x30\0\0\x4b\x38\0\0\x1a\x50\x01\0\ -\xb0\0\0\0\x13\x30\0\0\0\0\0\0\0\0\0\0\xe0\0\0\0\x13\x30\0\0\xf4\x36\0\0\x01\ -\xc0\x01\0\xe8\0\0\0\x13\x30\0\0\x69\x38\0\0\x26\x6c\x01\0\xf0\0\0\0\x13\x30\0\ -\0\x69\x38\0\0\x0e\x6c\x01\0\xf8\0\0\0\x13\x30\0\0\x69\x38\0\0\x34\x6c\x01\0\0\ -\x01\0\0\x13\x30\0\0\x69\x38\0\0\x55\x6c\x01\0\x08\x01\0\0\x13\x30\0\0\x69\x38\ -\0\0\x3d\x6c\x01\0\x10\x01\0\0\x13\x30\0\0\x69\x38\0\0\x63\x6c\x01\0\x18\x01\0\ -\0\x13\x30\0\0\x69\x38\0\0\x6c\x6c\x01\0\x20\x01\0\0\x13\x30\0\0\x69\x38\0\0\ -\x84\x6c\x01\0\x28\x01\0\0\x13\x30\0\0\x69\x38\0\0\x08\x6c\x01\0\x30\x01\0\0\ -\x13\x30\0\0\xfc\x38\0\0\x12\x70\x01\0\x38\x01\0\0\x13\x30\0\0\xfc\x38\0\0\x0c\ -\x70\x01\0\x48\x01\0\0\x13\x30\0\0\x22\x39\0\0\x26\x78\x01\0\x78\x01\0\0\x13\ -\x30\0\0\x94\x39\0\0\x0c\x7c\x01\0\x80\x01\0\0\x13\x30\0\0\xa7\x39\0\0\x0d\x80\ -\x01\0\xa8\x01\0\0\x13\x30\0\0\xdf\x39\0\0\x09\x8c\x01\0\xe0\x01\0\0\x13\x30\0\ -\0\x14\x3a\0\0\x25\x90\x01\0\xe8\x01\0\0\x13\x30\0\0\x14\x3a\0\0\x18\x90\x01\0\ -\xf0\x01\0\0\x13\x30\0\0\x3d\x3a\0\0\x26\x94\x01\0\xf8\x01\0\0\x13\x30\0\0\x3d\ -\x3a\0\0\x19\x94\x01\0\0\x02\0\0\x13\x30\0\0\x68\x3a\0\0\x27\x98\x01\0\x10\x02\ -\0\0\x13\x30\0\0\x68\x3a\0\0\x44\x98\x01\0\x20\x02\0\0\x13\x30\0\0\x68\x3a\0\0\ -\x09\x98\x01\0\x30\x02\0\0\x13\x30\0\0\xbf\x3a\0\0\x22\x9c\x01\0\x38\x02\0\0\ -\x13\x30\0\0\xbf\x3a\0\0\x1a\x9c\x01\0\x40\x02\0\0\x13\x30\0\0\xec\x3a\0\0\x22\ -\xa0\x01\0\x48\x02\0\0\x13\x30\0\0\xec\x3a\0\0\x1a\xa0\x01\0\x50\x02\0\0\x13\ -\x30\0\0\x19\x3b\0\0\x22\xa4\x01\0\x58\x02\0\0\x13\x30\0\0\x19\x3b\0\0\x1a\xa4\ -\x01\0\x60\x02\0\0\x13\x30\0\0\x46\x3b\0\0\x09\xa8\x01\0\x80\x02\0\0\x13\x30\0\ -\0\x6a\x3b\0\0\x1e\xb0\x01\0\x90\x02\0\0\x13\x30\0\0\x8c\x3b\0\0\0\xc8\x01\0\ -\x98\x02\0\0\x13\x30\0\0\xd5\x3b\0\0\x24\xcc\x01\0\xc8\x02\0\0\x13\x30\0\0\x83\ -\x37\0\0\x08\xd0\x01\0\xd0\x02\0\0\x13\x30\0\0\x96\x37\0\0\x09\xd4\x01\0\xf8\ -\x02\0\0\x13\x30\0\0\x33\x31\0\0\x0f\xe4\x01\0\0\x03\0\0\x13\x30\0\0\x21\x3c\0\ -\0\x11\xe8\x01\0\x08\x03\0\0\x13\x30\0\0\x21\x3c\0\0\x2d\xe8\x01\0\x10\x03\0\0\ -\x13\x30\0\0\x21\x3c\0\0\x21\xe8\x01\0\x18\x03\0\0\x13\x30\0\0\x21\x3c\0\0\x08\ -\xe8\x01\0\x20\x03\0\0\x13\x30\0\0\x61\x3c\0\0\x22\xf8\x01\0\x30\x03\0\0\x13\ -\x30\0\0\x89\x3c\0\0\x21\xfc\x01\0\x38\x03\0\0\x13\x30\0\0\xae\x3c\0\0\x1d\xf0\ -\x01\0\x40\x03\0\0\x13\x30\0\0\xcf\x3c\0\0\x1d\xec\x01\0\x48\x03\0\0\x13\x30\0\ -\0\0\0\0\0\0\0\0\0\x78\x03\0\0\x13\x30\0\0\xf4\x36\0\0\x01\x5c\x02\0\x80\x03\0\ -\0\x13\x30\0\0\xf0\x3c\0\0\x29\x10\x02\0\x88\x03\0\0\x13\x30\0\0\xf0\x3c\0\0\ -\x11\x10\x02\0\x90\x03\0\0\x13\x30\0\0\xf0\x3c\0\0\x37\x10\x02\0\x98\x03\0\0\ -\x13\x30\0\0\xf0\x3c\0\0\x5b\x10\x02\0\xa0\x03\0\0\x13\x30\0\0\xf0\x3c\0\0\x43\ -\x10\x02\0\xa8\x03\0\0\x13\x30\0\0\xf0\x3c\0\0\x69\x10\x02\0\xb0\x03\0\0\x13\ -\x30\0\0\xf0\x3c\0\0\x75\x10\x02\0\xb8\x03\0\0\x13\x30\0\0\xf0\x3c\0\0\x8d\x10\ -\x02\0\xc0\x03\0\0\x13\x30\0\0\xf0\x3c\0\0\x08\x10\x02\0\xc8\x03\0\0\x13\x30\0\ -\0\x8c\x3d\0\0\x15\x14\x02\0\xd0\x03\0\0\x13\x30\0\0\x8c\x3d\0\0\x0c\x14\x02\0\ -\xe0\x03\0\0\x13\x30\0\0\xb5\x3d\0\0\x29\x1c\x02\0\x08\x04\0\0\x13\x30\0\0\x94\ -\x39\0\0\x0c\x20\x02\0\x10\x04\0\0\x13\x30\0\0\x30\x3e\0\0\x0d\x24\x02\0\x38\ -\x04\0\0\x13\x30\0\0\x6b\x3e\0\0\x09\x30\x02\0\x58\x04\0\0\x13\x30\0\0\xa3\x3e\ -\0\0\x1f\x34\x02\0\x60\x04\0\0\x13\x30\0\0\xa3\x3e\0\0\x14\x34\x02\0\x68\x04\0\ -\0\x13\x30\0\0\xc7\x3e\0\0\x25\x38\x02\0\x70\x04\0\0\x13\x30\0\0\xc7\x3e\0\0\ -\x1a\x38\x02\0\x78\x04\0\0\x13\x30\0\0\xf7\x3e\0\0\x25\x3c\x02\0\x80\x04\0\0\ -\x13\x30\0\0\xf7\x3e\0\0\x1a\x3c\x02\0\x88\x04\0\0\x13\x30\0\0\x27\x3f\0\0\x25\ -\x40\x02\0\x90\x04\0\0\x13\x30\0\0\x27\x3f\0\0\x1a\x40\x02\0\x98\x04\0\0\x13\ -\x30\0\0\x46\x3b\0\0\x09\x44\x02\0\xb8\x04\0\0\x13\x30\0\0\x57\x3f\0\0\x21\x4c\ -\x02\0\x2f\x42\0\0\x12\0\0\0\0\0\0\0\x13\x30\0\0\x52\x30\0\0\x05\xa8\0\0\x08\0\ -\0\0\x13\x30\0\0\xa0\x30\0\0\x0c\xb4\0\0\x38\0\0\0\x13\x30\0\0\xf0\x30\0\0\x08\ -\xb8\0\0\x40\0\0\0\x13\x30\0\0\xff\x30\0\0\x09\xbc\0\0\x68\0\0\0\x13\x30\0\0\ -\x33\x31\0\0\x0f\xcc\0\0\x70\0\0\0\x13\x30\0\0\x55\x31\0\0\x15\xd0\0\0\x90\0\0\ -\0\x13\x30\0\0\0\0\0\0\0\0\0\0\x98\0\0\0\x13\x30\0\0\x70\x31\0\0\x05\xdc\0\0\ -\xb8\0\0\0\x13\x30\0\0\xa6\x31\0\0\x40\xe0\0\0\xc8\0\0\0\x13\x30\0\0\xa6\x31\0\ -\0\x1b\xe0\0\0\xd8\0\0\0\x13\x30\0\0\xa6\x31\0\0\x05\xe0\0\0\xf0\0\0\0\x13\x30\ -\0\0\xf1\x31\0\0\x36\xec\0\0\0\x01\0\0\x13\x30\0\0\xf1\x31\0\0\x1b\xec\0\0\x10\ -\x01\0\0\x13\x30\0\0\xf1\x31\0\0\x05\xec\0\0\x20\x01\0\0\x13\x30\0\0\x33\x32\0\ -\0\x18\xf4\0\0\x28\x01\0\0\x13\x30\0\0\x33\x32\0\0\x16\xf4\0\0\x30\x01\0\0\x13\ -\x30\0\0\x74\x32\0\0\x05\xf8\0\0\x48\x01\0\0\x13\x30\0\0\x52\x30\0\0\x05\xa8\0\ -\0\x47\x42\0\0\x24\0\0\0\0\0\0\0\x13\x30\0\0\x95\x32\0\0\x0e\x44\x05\0\x10\0\0\ -\0\x13\x30\0\0\xbe\x32\0\0\x13\x48\x05\0\x20\0\0\0\x13\x30\0\0\xbe\x32\0\0\x09\ -\x48\x05\0\x28\0\0\0\x13\x30\0\0\xd7\x32\0\0\x09\x4c\x05\0\x30\0\0\0\x13\x30\0\ -\0\x33\x31\0\0\x0f\x50\x05\0\x40\0\0\0\x13\x30\0\0\xd7\x32\0\0\x0f\x4c\x05\0\ -\x50\0\0\0\x13\x30\0\0\xf7\x32\0\0\x08\x58\x05\0\x60\0\0\0\x13\x30\0\0\0\0\0\0\ -\0\0\0\0\x68\0\0\0\x13\x30\0\0\x08\x33\0\0\x22\x64\x05\0\x88\0\0\0\x13\x30\0\0\ -\x57\x33\0\0\x08\x68\x05\0\x90\0\0\0\x13\x30\0\0\x66\x33\0\0\x1d\x78\x05\0\x98\ -\0\0\0\x13\x30\0\0\x8a\x33\0\0\x1e\x74\x05\0\xa0\0\0\0\x13\x30\0\0\x8a\x33\0\0\ -\x1c\x74\x05\0\xb0\0\0\0\x13\x30\0\0\xac\x33\0\0\x09\x70\x05\0\xe0\0\0\0\x13\ -\x30\0\0\xe9\x33\0\0\x1e\x7c\x05\0\xf0\0\0\0\x13\x30\0\0\xe9\x33\0\0\x09\x7c\ -\x05\0\x08\x01\0\0\x13\x30\0\0\x38\x34\0\0\x1e\x80\x05\0\x10\x01\0\0\x13\x30\0\ -\0\x5a\x34\0\0\x23\x84\x05\0\x20\x01\0\0\x13\x30\0\0\x66\x33\0\0\x1d\x78\x05\0\ -\x38\x01\0\0\x13\x30\0\0\x83\x34\0\0\x09\x88\x05\0\x60\x01\0\0\x13\x30\0\0\xcc\ -\x34\0\0\x1a\x94\x05\0\x80\x01\0\0\x13\x30\0\0\0\0\0\0\0\0\0\0\x88\x01\0\0\x13\ -\x30\0\0\xeb\x34\0\0\x09\x98\x05\0\xb0\x01\0\0\x13\x30\0\0\x2e\x35\0\0\x09\x9c\ -\x05\0\xc8\x01\0\0\x13\x30\0\0\0\0\0\0\0\0\0\0\xd0\x01\0\0\x13\x30\0\0\x55\x35\ -\0\0\x28\xa8\x05\0\xf0\x01\0\0\x13\x30\0\0\xae\x35\0\0\x08\xac\x05\0\xf8\x01\0\ -\0\x13\x30\0\0\xc0\x35\0\0\x30\xb0\x05\0\x10\x02\0\0\x13\x30\0\0\xf1\x35\0\0\ -\x15\xb4\x05\0\x18\x02\0\0\x13\x30\0\0\xc0\x35\0\0\x30\xb0\x05\0\x58\x02\0\0\ -\x13\x30\0\0\x0b\x36\0\0\x09\xd0\x05\0\x80\x02\0\0\x13\x30\0\0\x5b\x36\0\0\x1d\ -\xdc\x05\0\xa0\x02\0\0\x13\x30\0\0\0\0\0\0\0\0\0\0\xa8\x02\0\0\x13\x30\0\0\x7d\ -\x36\0\0\x09\xe0\x05\0\xd0\x02\0\0\x13\x30\0\0\xc7\x36\0\0\x09\xe4\x05\0\xe0\ -\x02\0\0\x13\x30\0\0\xf4\x36\0\0\x01\xf4\x05\0\x5f\x42\0\0\x24\0\0\0\0\0\0\0\ -\x13\x30\0\0\x95\x32\0\0\x0e\x04\x06\0\x10\0\0\0\x13\x30\0\0\xbe\x32\0\0\x13\ -\x08\x06\0\x20\0\0\0\x13\x30\0\0\xbe\x32\0\0\x09\x08\x06\0\x28\0\0\0\x13\x30\0\ -\0\xd7\x32\0\0\x09\x0c\x06\0\x30\0\0\0\x13\x30\0\0\x33\x31\0\0\x0f\x10\x06\0\ -\x40\0\0\0\x13\x30\0\0\xd7\x32\0\0\x0f\x0c\x06\0\x50\0\0\0\x13\x30\0\0\xf7\x32\ -\0\0\x08\x18\x06\0\x60\0\0\0\x13\x30\0\0\0\0\0\0\0\0\0\0\x68\0\0\0\x13\x30\0\0\ -\x08\x33\0\0\x22\x24\x06\0\x88\0\0\0\x13\x30\0\0\x57\x33\0\0\x08\x28\x06\0\x90\ -\0\0\0\x13\x30\0\0\x66\x33\0\0\x1d\x38\x06\0\x98\0\0\0\x13\x30\0\0\x8a\x33\0\0\ -\x1e\x34\x06\0\xa0\0\0\0\x13\x30\0\0\x8a\x33\0\0\x1c\x34\x06\0\xb0\0\0\0\x13\ -\x30\0\0\xac\x33\0\0\x09\x30\x06\0\xe0\0\0\0\x13\x30\0\0\xe9\x33\0\0\x1e\x3c\ -\x06\0\xf0\0\0\0\x13\x30\0\0\xe9\x33\0\0\x09\x3c\x06\0\x08\x01\0\0\x13\x30\0\0\ -\x38\x34\0\0\x1e\x40\x06\0\x10\x01\0\0\x13\x30\0\0\x5a\x34\0\0\x23\x44\x06\0\ -\x20\x01\0\0\x13\x30\0\0\x66\x33\0\0\x1d\x38\x06\0\x38\x01\0\0\x13\x30\0\0\x83\ -\x34\0\0\x09\x48\x06\0\x60\x01\0\0\x13\x30\0\0\xcc\x34\0\0\x1a\x54\x06\0\x80\ -\x01\0\0\x13\x30\0\0\0\0\0\0\0\0\0\0\x88\x01\0\0\x13\x30\0\0\xeb\x34\0\0\x09\ -\x58\x06\0\xb0\x01\0\0\x13\x30\0\0\x2e\x35\0\0\x09\x5c\x06\0\xc8\x01\0\0\x13\ -\x30\0\0\0\0\0\0\0\0\0\0\xd0\x01\0\0\x13\x30\0\0\x55\x35\0\0\x28\x68\x06\0\xf0\ -\x01\0\0\x13\x30\0\0\xae\x35\0\0\x08\x6c\x06\0\xf8\x01\0\0\x13\x30\0\0\x7c\x3f\ -\0\0\x31\x70\x06\0\x10\x02\0\0\x13\x30\0\0\xf1\x35\0\0\x15\x74\x06\0\x18\x02\0\ -\0\x13\x30\0\0\x7c\x3f\0\0\x31\x70\x06\0\x58\x02\0\0\x13\x30\0\0\x0b\x36\0\0\ -\x09\x8c\x06\0\x80\x02\0\0\x13\x30\0\0\x5b\x36\0\0\x1d\x98\x06\0\xa0\x02\0\0\ -\x13\x30\0\0\0\0\0\0\0\0\0\0\xa8\x02\0\0\x13\x30\0\0\x7d\x36\0\0\x09\x9c\x06\0\ -\xd0\x02\0\0\x13\x30\0\0\xc7\x36\0\0\x09\xa0\x06\0\xe0\x02\0\0\x13\x30\0\0\xf4\ -\x36\0\0\x01\xb0\x06\0\x75\x42\0\0\x24\0\0\0\0\0\0\0\x13\x30\0\0\x95\x32\0\0\ -\x0e\xc0\x06\0\x10\0\0\0\x13\x30\0\0\xbe\x32\0\0\x13\xc4\x06\0\x20\0\0\0\x13\ -\x30\0\0\xbe\x32\0\0\x09\xc4\x06\0\x28\0\0\0\x13\x30\0\0\xd7\x32\0\0\x09\xc8\ -\x06\0\x30\0\0\0\x13\x30\0\0\x33\x31\0\0\x0f\xcc\x06\0\x40\0\0\0\x13\x30\0\0\ -\xd7\x32\0\0\x0f\xc8\x06\0\x50\0\0\0\x13\x30\0\0\xf7\x32\0\0\x08\xd4\x06\0\x60\ -\0\0\0\x13\x30\0\0\0\0\0\0\0\0\0\0\x68\0\0\0\x13\x30\0\0\x08\x33\0\0\x22\xe0\ -\x06\0\x88\0\0\0\x13\x30\0\0\x57\x33\0\0\x08\xe4\x06\0\x90\0\0\0\x13\x30\0\0\ -\x66\x33\0\0\x1d\xf4\x06\0\x98\0\0\0\x13\x30\0\0\x8a\x33\0\0\x1e\xf0\x06\0\xa0\ -\0\0\0\x13\x30\0\0\x8a\x33\0\0\x1c\xf0\x06\0\xb0\0\0\0\x13\x30\0\0\xac\x33\0\0\ -\x09\xec\x06\0\xe0\0\0\0\x13\x30\0\0\xe9\x33\0\0\x1e\xf8\x06\0\xf0\0\0\0\x13\ -\x30\0\0\xe9\x33\0\0\x09\xf8\x06\0\x08\x01\0\0\x13\x30\0\0\xae\x3f\0\0\x1e\xfc\ -\x06\0\x10\x01\0\0\x13\x30\0\0\x5a\x34\0\0\x23\0\x07\0\x20\x01\0\0\x13\x30\0\0\ -\x66\x33\0\0\x1d\xf4\x06\0\x38\x01\0\0\x13\x30\0\0\x83\x34\0\0\x09\x04\x07\0\ -\x60\x01\0\0\x13\x30\0\0\xd0\x3f\0\0\x1a\x10\x07\0\x80\x01\0\0\x13\x30\0\0\0\0\ -\0\0\0\0\0\0\x88\x01\0\0\x13\x30\0\0\xeb\x34\0\0\x09\x14\x07\0\xb0\x01\0\0\x13\ -\x30\0\0\x2e\x35\0\0\x09\x18\x07\0\xc8\x01\0\0\x13\x30\0\0\0\0\0\0\0\0\0\0\xd0\ -\x01\0\0\x13\x30\0\0\x55\x35\0\0\x28\x24\x07\0\xf0\x01\0\0\x13\x30\0\0\xae\x35\ -\0\0\x08\x28\x07\0\xf8\x01\0\0\x13\x30\0\0\xc0\x35\0\0\x30\x2c\x07\0\x10\x02\0\ -\0\x13\x30\0\0\xf1\x35\0\0\x15\x30\x07\0\x18\x02\0\0\x13\x30\0\0\xc0\x35\0\0\ -\x30\x2c\x07\0\x58\x02\0\0\x13\x30\0\0\x0b\x36\0\0\x09\x48\x07\0\x80\x02\0\0\ -\x13\x30\0\0\xef\x3f\0\0\x1d\x54\x07\0\xa0\x02\0\0\x13\x30\0\0\0\0\0\0\0\0\0\0\ -\xa8\x02\0\0\x13\x30\0\0\x7d\x36\0\0\x09\x58\x07\0\xd0\x02\0\0\x13\x30\0\0\xc7\ -\x36\0\0\x09\x5c\x07\0\xe0\x02\0\0\x13\x30\0\0\x11\x40\0\0\x05\xbc\x06\0\x93\ -\x42\0\0\x24\0\0\0\0\0\0\0\x13\x30\0\0\x95\x32\0\0\x0e\x7c\x07\0\x10\0\0\0\x13\ -\x30\0\0\xbe\x32\0\0\x13\x80\x07\0\x20\0\0\0\x13\x30\0\0\xbe\x32\0\0\x09\x80\ -\x07\0\x28\0\0\0\x13\x30\0\0\xd7\x32\0\0\x09\x84\x07\0\x30\0\0\0\x13\x30\0\0\ -\x33\x31\0\0\x0f\x88\x07\0\x40\0\0\0\x13\x30\0\0\xd7\x32\0\0\x0f\x84\x07\0\x50\ -\0\0\0\x13\x30\0\0\xf7\x32\0\0\x08\x90\x07\0\x60\0\0\0\x13\x30\0\0\0\0\0\0\0\0\ -\0\0\x68\0\0\0\x13\x30\0\0\x08\x33\0\0\x22\x9c\x07\0\x88\0\0\0\x13\x30\0\0\x57\ -\x33\0\0\x08\xa0\x07\0\x90\0\0\0\x13\x30\0\0\x66\x33\0\0\x1d\xb0\x07\0\x98\0\0\ -\0\x13\x30\0\0\x8a\x33\0\0\x1e\xac\x07\0\xa0\0\0\0\x13\x30\0\0\x8a\x33\0\0\x1c\ -\xac\x07\0\xb0\0\0\0\x13\x30\0\0\xac\x33\0\0\x09\xa8\x07\0\xe0\0\0\0\x13\x30\0\ -\0\xe9\x33\0\0\x1e\xb4\x07\0\xf0\0\0\0\x13\x30\0\0\xe9\x33\0\0\x09\xb4\x07\0\ -\x08\x01\0\0\x13\x30\0\0\xae\x3f\0\0\x1e\xb8\x07\0\x10\x01\0\0\x13\x30\0\0\x5a\ -\x34\0\0\x23\xbc\x07\0\x20\x01\0\0\x13\x30\0\0\x66\x33\0\0\x1d\xb0\x07\0\x38\ -\x01\0\0\x13\x30\0\0\x83\x34\0\0\x09\xc0\x07\0\x60\x01\0\0\x13\x30\0\0\xd0\x3f\ -\0\0\x1a\xcc\x07\0\x80\x01\0\0\x13\x30\0\0\0\0\0\0\0\0\0\0\x88\x01\0\0\x13\x30\ -\0\0\xeb\x34\0\0\x09\xd0\x07\0\xb0\x01\0\0\x13\x30\0\0\x2e\x35\0\0\x09\xd4\x07\ -\0\xc8\x01\0\0\x13\x30\0\0\0\0\0\0\0\0\0\0\xd0\x01\0\0\x13\x30\0\0\x55\x35\0\0\ -\x28\xe0\x07\0\xf0\x01\0\0\x13\x30\0\0\xae\x35\0\0\x08\xe4\x07\0\xf8\x01\0\0\ -\x13\x30\0\0\xc0\x35\0\0\x30\xe8\x07\0\x10\x02\0\0\x13\x30\0\0\xf1\x35\0\0\x15\ -\xec\x07\0\x18\x02\0\0\x13\x30\0\0\xc0\x35\0\0\x30\xe8\x07\0\x58\x02\0\0\x13\ -\x30\0\0\x0b\x36\0\0\x09\x04\x08\0\x80\x02\0\0\x13\x30\0\0\xef\x3f\0\0\x1d\x10\ -\x08\0\xa0\x02\0\0\x13\x30\0\0\0\0\0\0\0\0\0\0\xa8\x02\0\0\x13\x30\0\0\x7d\x36\ -\0\0\x09\x14\x08\0\xd0\x02\0\0\x13\x30\0\0\xc7\x36\0\0\x09\x18\x08\0\xe0\x02\0\ -\0\x13\x30\0\0\x31\x40\0\0\x05\x78\x07\0\xb0\x42\0\0\x24\0\0\0\0\0\0\0\x13\x30\ -\0\0\x95\x32\0\0\x0e\x38\x08\0\x10\0\0\0\x13\x30\0\0\xbe\x32\0\0\x13\x3c\x08\0\ -\x20\0\0\0\x13\x30\0\0\xbe\x32\0\0\x09\x3c\x08\0\x28\0\0\0\x13\x30\0\0\xd7\x32\ -\0\0\x09\x40\x08\0\x30\0\0\0\x13\x30\0\0\x33\x31\0\0\x0f\x44\x08\0\x40\0\0\0\ -\x13\x30\0\0\xd7\x32\0\0\x0f\x40\x08\0\x50\0\0\0\x13\x30\0\0\xf7\x32\0\0\x08\ -\x4c\x08\0\x60\0\0\0\x13\x30\0\0\0\0\0\0\0\0\0\0\x68\0\0\0\x13\x30\0\0\x08\x33\ -\0\0\x22\x58\x08\0\x88\0\0\0\x13\x30\0\0\x57\x33\0\0\x08\x5c\x08\0\x90\0\0\0\ -\x13\x30\0\0\x66\x33\0\0\x1d\x6c\x08\0\x98\0\0\0\x13\x30\0\0\x8a\x33\0\0\x1e\ -\x68\x08\0\xa0\0\0\0\x13\x30\0\0\x8a\x33\0\0\x1c\x68\x08\0\xb0\0\0\0\x13\x30\0\ -\0\xac\x33\0\0\x09\x64\x08\0\xe0\0\0\0\x13\x30\0\0\xe9\x33\0\0\x1e\x70\x08\0\ -\xf0\0\0\0\x13\x30\0\0\xe9\x33\0\0\x09\x70\x08\0\x08\x01\0\0\x13\x30\0\0\x50\ -\x40\0\0\x1e\x74\x08\0\x10\x01\0\0\x13\x30\0\0\x5a\x34\0\0\x23\x78\x08\0\x20\ -\x01\0\0\x13\x30\0\0\x66\x33\0\0\x1d\x6c\x08\0\x38\x01\0\0\x13\x30\0\0\x83\x34\ -\0\0\x09\x7c\x08\0\x60\x01\0\0\x13\x30\0\0\x72\x40\0\0\x1a\x88\x08\0\x80\x01\0\ -\0\x13\x30\0\0\0\0\0\0\0\0\0\0\x88\x01\0\0\x13\x30\0\0\xeb\x34\0\0\x09\x8c\x08\ -\0\xb0\x01\0\0\x13\x30\0\0\x2e\x35\0\0\x09\x90\x08\0\xc8\x01\0\0\x13\x30\0\0\0\ -\0\0\0\0\0\0\0\xd0\x01\0\0\x13\x30\0\0\x55\x35\0\0\x28\x9c\x08\0\xf0\x01\0\0\ -\x13\x30\0\0\xae\x35\0\0\x08\xa0\x08\0\xf8\x01\0\0\x13\x30\0\0\xc0\x35\0\0\x30\ -\xa4\x08\0\x18\x02\0\0\x13\x30\0\0\xf1\x35\0\0\x15\xa8\x08\0\x20\x02\0\0\x13\ -\x30\0\0\xc0\x35\0\0\x30\xa4\x08\0\x60\x02\0\0\x13\x30\0\0\x0b\x36\0\0\x09\xc0\ -\x08\0\x88\x02\0\0\x13\x30\0\0\x91\x40\0\0\x1d\xcc\x08\0\xa8\x02\0\0\x13\x30\0\ -\0\0\0\0\0\0\0\0\0\xb0\x02\0\0\x13\x30\0\0\x7d\x36\0\0\x09\xd0\x08\0\xd8\x02\0\ -\0\x13\x30\0\0\xc7\x36\0\0\x09\xd4\x08\0\xe8\x02\0\0\x13\x30\0\0\xb3\x40\0\0\ -\x05\x34\x08\0\xd1\x42\0\0\x24\0\0\0\0\0\0\0\x13\x30\0\0\x95\x32\0\0\x0e\xf8\ -\x08\0\x10\0\0\0\x13\x30\0\0\xbe\x32\0\0\x13\xfc\x08\0\x20\0\0\0\x13\x30\0\0\ -\xbe\x32\0\0\x09\xfc\x08\0\x28\0\0\0\x13\x30\0\0\xd7\x32\0\0\x09\0\x09\0\x30\0\ -\0\0\x13\x30\0\0\x33\x31\0\0\x0f\x04\x09\0\x40\0\0\0\x13\x30\0\0\xd7\x32\0\0\ -\x0f\0\x09\0\x50\0\0\0\x13\x30\0\0\xf7\x32\0\0\x08\x0c\x09\0\x60\0\0\0\x13\x30\ -\0\0\0\0\0\0\0\0\0\0\x68\0\0\0\x13\x30\0\0\x08\x33\0\0\x22\x18\x09\0\x88\0\0\0\ -\x13\x30\0\0\x57\x33\0\0\x08\x1c\x09\0\x90\0\0\0\x13\x30\0\0\x66\x33\0\0\x1d\ -\x2c\x09\0\x98\0\0\0\x13\x30\0\0\x8a\x33\0\0\x1e\x28\x09\0\xa0\0\0\0\x13\x30\0\ -\0\x8a\x33\0\0\x1c\x28\x09\0\xb0\0\0\0\x13\x30\0\0\xac\x33\0\0\x09\x24\x09\0\ -\xe0\0\0\0\x13\x30\0\0\xe9\x33\0\0\x1e\x30\x09\0\xf0\0\0\0\x13\x30\0\0\xe9\x33\ -\0\0\x09\x30\x09\0\x08\x01\0\0\x13\x30\0\0\x50\x40\0\0\x1e\x34\x09\0\x10\x01\0\ -\0\x13\x30\0\0\x5a\x34\0\0\x23\x38\x09\0\x20\x01\0\0\x13\x30\0\0\x66\x33\0\0\ -\x1d\x2c\x09\0\x38\x01\0\0\x13\x30\0\0\x83\x34\0\0\x09\x3c\x09\0\x60\x01\0\0\ -\x13\x30\0\0\x72\x40\0\0\x1a\x48\x09\0\x80\x01\0\0\x13\x30\0\0\0\0\0\0\0\0\0\0\ -\x88\x01\0\0\x13\x30\0\0\xeb\x34\0\0\x09\x4c\x09\0\xb0\x01\0\0\x13\x30\0\0\x2e\ -\x35\0\0\x09\x50\x09\0\xc8\x01\0\0\x13\x30\0\0\0\0\0\0\0\0\0\0\xd0\x01\0\0\x13\ -\x30\0\0\x55\x35\0\0\x28\x5c\x09\0\xf0\x01\0\0\x13\x30\0\0\xae\x35\0\0\x08\x60\ -\x09\0\xf8\x01\0\0\x13\x30\0\0\xc0\x35\0\0\x30\x64\x09\0\x18\x02\0\0\x13\x30\0\ -\0\xf1\x35\0\0\x15\x68\x09\0\x20\x02\0\0\x13\x30\0\0\xc0\x35\0\0\x30\x64\x09\0\ -\x60\x02\0\0\x13\x30\0\0\x0b\x36\0\0\x09\x80\x09\0\x88\x02\0\0\x13\x30\0\0\x91\ -\x40\0\0\x1d\x8c\x09\0\xa8\x02\0\0\x13\x30\0\0\0\0\0\0\0\0\0\0\xb0\x02\0\0\x13\ -\x30\0\0\x7d\x36\0\0\x09\x90\x09\0\xd8\x02\0\0\x13\x30\0\0\xc7\x36\0\0\x09\x94\ -\x09\0\xe8\x02\0\0\x13\x30\0\0\xd4\x40\0\0\x05\xf4\x08\0\xf1\x42\0\0\x09\0\0\0\ -\0\0\0\0\x13\x30\0\0\xf4\x40\0\0\x14\xb4\x09\0\x08\0\0\0\x13\x30\0\0\x23\x41\0\ -\0\x09\xb8\x09\0\x20\0\0\0\x13\x30\0\0\x4a\x41\0\0\x11\xc0\x09\0\x48\0\0\0\x13\ -\x30\0\0\0\0\0\0\0\0\0\0\x50\0\0\0\x13\x30\0\0\x68\x41\0\0\x08\xcc\x09\0\x68\0\ -\0\0\x13\x30\0\0\x68\x41\0\0\x08\xcc\x09\0\x78\0\0\0\x13\x30\0\0\0\0\0\0\0\0\0\ -\0\x80\0\0\0\x13\x30\0\0\xa6\x41\0\0\x09\xd0\x09\0\x98\0\0\0\x13\x30\0\0\xdc\ -\x41\0\0\x05\xb0\x09\0\x10\0\0\0\x2f\x42\0\0\x04\0\0\0\0\0\0\0\x2c\0\0\0\xff\ -\x41\0\0\0\0\0\0\x78\0\0\0\x30\0\0\0\x04\x42\0\0\0\0\0\0\xb0\0\0\0\x3e\0\0\0\ -\x08\x42\0\0\0\0\0\0\xe8\0\0\0\x3e\0\0\0\x0d\x42\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\x03\0\0\0\x20\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\x40\0\0\0\0\0\0\0\x66\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\x09\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\xa8\x05\0\0\0\0\0\0\x38\x07\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\ -\x18\0\0\0\0\0\0\0\x11\0\0\0\x01\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xe0\ -\x0c\0\0\0\0\0\0\xc8\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\x17\0\0\0\x01\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xa8\x11\0\0\0\0\ -\0\0\x58\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x2f\ -\0\0\0\x01\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x13\0\0\0\0\0\0\xf0\x02\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x47\0\0\0\x01\0\0\ -\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xf0\x15\0\0\0\0\0\0\xf0\x02\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x5d\0\0\0\x01\0\0\0\x06\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\xe0\x18\0\0\0\0\0\0\xf0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x7b\0\0\0\x01\0\0\0\x06\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\xd0\x1b\0\0\0\0\0\0\xf0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\x98\0\0\0\x01\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\xc0\x1e\0\0\0\0\0\0\xf8\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\xb9\0\0\0\x01\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb8\x21\0\0\ -\0\0\0\0\xf8\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\xd9\0\0\0\x01\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb0\x24\0\0\0\0\0\0\xa8\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xfd\0\0\0\x01\ -\0\0\0\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x58\x25\0\0\0\0\0\0\x0d\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\x01\0\0\x01\0\0\0\x03\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x68\x25\0\0\0\0\0\0\xd0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x0b\x01\0\0\x01\0\0\0\x02\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\x38\x26\0\0\0\0\0\0\x9c\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\x48\x04\0\0\x09\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\xd8\x26\0\0\0\0\0\0\xc0\0\0\0\0\0\0\0\x02\0\0\0\x03\0\0\0\x08\0\0\0\0\0\0\ -\0\x10\0\0\0\0\0\0\0\x52\x04\0\0\x09\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\x98\x27\0\0\0\0\0\0\x20\0\0\0\0\0\0\0\x02\0\0\0\x04\0\0\0\x08\0\0\0\0\0\0\0\ -\x10\0\0\0\0\0\0\0\x6e\x04\0\0\x09\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb8\ -\x27\0\0\0\0\0\0\x80\0\0\0\0\0\0\0\x02\0\0\0\x05\0\0\0\x08\0\0\0\0\0\0\0\x10\0\ -\0\0\0\0\0\0\x8a\x04\0\0\x09\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x38\x28\0\ -\0\0\0\0\0\x80\0\0\0\0\0\0\0\x02\0\0\0\x06\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\ -\0\0\0\xa4\x04\0\0\x09\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb8\x28\0\0\0\0\ -\0\0\x80\0\0\0\0\0\0\0\x02\0\0\0\x07\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\ -\xc6\x04\0\0\x09\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x38\x29\0\0\0\0\0\0\ -\x80\0\0\0\0\0\0\0\x02\0\0\0\x08\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\xe7\ -\x04\0\0\x09\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb8\x29\0\0\0\0\0\0\x80\0\ -\0\0\0\0\0\0\x02\0\0\0\x09\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\x0c\x05\0\ -\0\x09\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x38\x2a\0\0\0\0\0\0\x80\0\0\0\0\ -\0\0\0\x02\0\0\0\x0a\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\x30\x05\0\0\x09\ -\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb8\x2a\0\0\0\0\0\0\x20\0\0\0\0\0\0\0\ -\x02\0\0\0\x0b\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\x58\x05\0\0\x01\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xd8\x2a\0\0\0\0\0\0\x15\x8e\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x5d\x05\0\0\x01\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\xf0\xb8\0\0\0\0\0\0\xc4\x15\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"; - - *sz = sizeof(data) - 1; - return (const void *)data; -} - -#ifdef __cplusplus -struct mm_stats_bpf *mm_stats_bpf::open(const struct bpf_object_open_opts *opts) { return mm_stats_bpf__open_opts(opts); } -struct mm_stats_bpf *mm_stats_bpf::open_and_load() { return mm_stats_bpf__open_and_load(); } -int mm_stats_bpf::load(struct mm_stats_bpf *skel) { return mm_stats_bpf__load(skel); } -int mm_stats_bpf::attach(struct mm_stats_bpf *skel) { return mm_stats_bpf__attach(skel); } -void mm_stats_bpf::detach(struct mm_stats_bpf *skel) { mm_stats_bpf__detach(skel); } -void mm_stats_bpf::destroy(struct mm_stats_bpf *skel) { mm_stats_bpf__destroy(skel); } -const void *mm_stats_bpf::elf_bytes(size_t *sz) { return mm_stats_bpf__elf_bytes(sz); } -#endif /* __cplusplus */ - -__attribute__((unused)) static void -mm_stats_bpf__assert(struct mm_stats_bpf *s __attribute__((unused))) -{ -#ifdef __cplusplus -#define _Static_assert static_assert -#endif -#ifdef __cplusplus -#undef _Static_assert -#endif -} - -#endif /* __MM_STATS_BPF_SKEL_H__ */ diff --git a/.output/mm_stats.tmp.bpf.o b/.output/mm_stats.tmp.bpf.o deleted file mode 100644 index bb3773d..0000000 Binary files a/.output/mm_stats.tmp.bpf.o and /dev/null differ diff --git a/.output/net_stats.bpf.o b/.output/net_stats.bpf.o deleted file mode 100644 index a044819..0000000 Binary files a/.output/net_stats.bpf.o and /dev/null differ diff --git a/.output/net_stats.skel.h b/.output/net_stats.skel.h deleted file mode 100644 index d238143..0000000 --- a/.output/net_stats.skel.h +++ /dev/null @@ -1,2845 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ - -/* THIS FILE IS AUTOGENERATED BY BPFTOOL! */ -#ifndef __NET_STATS_BPF_SKEL_H__ -#define __NET_STATS_BPF_SKEL_H__ - -#include -#include -#include - -#define BPF_SKEL_SUPPORTS_MAP_AUTO_ATTACH 1 - -struct net_stats_bpf { - struct bpf_object_skeleton *skeleton; - struct bpf_object *obj; - struct { - struct bpf_map *tcprtt_map; - struct bpf_map *tcprtt_buffer; - struct bpf_map *net_latency_start; - struct bpf_map *ipv4_top_map; - struct bpf_map *ipv6_top_map; - struct bpf_map *top_sock_store; - struct bpf_map *net_latency_buffer; - struct bpf_map *tcptop_buffer; - struct bpf_map *tcpretrans_buffer; - struct bpf_map *rodata; - } maps; - struct { - struct bpf_program *trace_retransmit; - struct bpf_program *top_tcp_send_entry; - struct bpf_program *top_tcp_send_ret; - struct bpf_program *top_tcp_recv_entry; - struct bpf_program *tcp_v4_connect; - struct bpf_program *tcp_v6_connect; - struct bpf_program *tcp_rcv_state_process; - struct bpf_program *fentry_tcp_v4_connect; - struct bpf_program *fentry_tcp_v6_connect; - struct bpf_program *fentry_tcp_rcv_state_process; - struct bpf_program *tcprtt; - struct bpf_program *handle_tcprtt_event; - } progs; - struct { - struct bpf_link *trace_retransmit; - struct bpf_link *top_tcp_send_entry; - struct bpf_link *top_tcp_send_ret; - struct bpf_link *top_tcp_recv_entry; - struct bpf_link *tcp_v4_connect; - struct bpf_link *tcp_v6_connect; - struct bpf_link *tcp_rcv_state_process; - struct bpf_link *fentry_tcp_v4_connect; - struct bpf_link *fentry_tcp_v6_connect; - struct bpf_link *fentry_tcp_rcv_state_process; - struct bpf_link *tcprtt; - struct bpf_link *handle_tcprtt_event; - } links; - struct net_stats_bpf__rodata { - u32 zero; - } *rodata; - -#ifdef __cplusplus - static inline struct net_stats_bpf *open(const struct bpf_object_open_opts *opts = nullptr); - static inline struct net_stats_bpf *open_and_load(); - static inline int load(struct net_stats_bpf *skel); - static inline int attach(struct net_stats_bpf *skel); - static inline void detach(struct net_stats_bpf *skel); - static inline void destroy(struct net_stats_bpf *skel); - static inline const void *elf_bytes(size_t *sz); -#endif /* __cplusplus */ -}; - -static void -net_stats_bpf__destroy(struct net_stats_bpf *obj) -{ - if (!obj) - return; - if (obj->skeleton) - bpf_object__destroy_skeleton(obj->skeleton); - free(obj); -} - -static inline int -net_stats_bpf__create_skeleton(struct net_stats_bpf *obj); - -static inline struct net_stats_bpf * -net_stats_bpf__open_opts(const struct bpf_object_open_opts *opts) -{ - struct net_stats_bpf *obj; - int err; - - obj = (struct net_stats_bpf *)calloc(1, sizeof(*obj)); - if (!obj) { - errno = ENOMEM; - return NULL; - } - - err = net_stats_bpf__create_skeleton(obj); - if (err) - goto err_out; - - err = bpf_object__open_skeleton(obj->skeleton, opts); - if (err) - goto err_out; - - return obj; -err_out: - net_stats_bpf__destroy(obj); - errno = -err; - return NULL; -} - -static inline struct net_stats_bpf * -net_stats_bpf__open(void) -{ - return net_stats_bpf__open_opts(NULL); -} - -static inline int -net_stats_bpf__load(struct net_stats_bpf *obj) -{ - return bpf_object__load_skeleton(obj->skeleton); -} - -static inline struct net_stats_bpf * -net_stats_bpf__open_and_load(void) -{ - struct net_stats_bpf *obj; - int err; - - obj = net_stats_bpf__open(); - if (!obj) - return NULL; - err = net_stats_bpf__load(obj); - if (err) { - net_stats_bpf__destroy(obj); - errno = -err; - return NULL; - } - return obj; -} - -static inline int -net_stats_bpf__attach(struct net_stats_bpf *obj) -{ - return bpf_object__attach_skeleton(obj->skeleton); -} - -static inline void -net_stats_bpf__detach(struct net_stats_bpf *obj) -{ - bpf_object__detach_skeleton(obj->skeleton); -} - -static inline const void *net_stats_bpf__elf_bytes(size_t *sz); - -static inline int -net_stats_bpf__create_skeleton(struct net_stats_bpf *obj) -{ - struct bpf_object_skeleton *s; - struct bpf_map_skeleton *map __attribute__((unused)); - int err; - - s = (struct bpf_object_skeleton *)calloc(1, sizeof(*s)); - if (!s) { - err = -ENOMEM; - goto err; - } - - s->sz = sizeof(*s); - s->name = "net_stats_bpf"; - s->obj = &obj->obj; - - /* maps */ - s->map_cnt = 10; - s->map_skel_sz = 24; - s->maps = (struct bpf_map_skeleton *)calloc(s->map_cnt, - sizeof(*s->maps) > 24 ? sizeof(*s->maps) : 24); - if (!s->maps) { - err = -ENOMEM; - goto err; - } - - map = (struct bpf_map_skeleton *)((char *)s->maps + 0 * s->map_skel_sz); - map->name = "tcprtt_map"; - map->map = &obj->maps.tcprtt_map; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 1 * s->map_skel_sz); - map->name = "tcprtt_buffer"; - map->map = &obj->maps.tcprtt_buffer; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 2 * s->map_skel_sz); - map->name = "net_latency_start"; - map->map = &obj->maps.net_latency_start; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 3 * s->map_skel_sz); - map->name = "ipv4_top_map"; - map->map = &obj->maps.ipv4_top_map; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 4 * s->map_skel_sz); - map->name = "ipv6_top_map"; - map->map = &obj->maps.ipv6_top_map; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 5 * s->map_skel_sz); - map->name = "top_sock_store"; - map->map = &obj->maps.top_sock_store; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 6 * s->map_skel_sz); - map->name = "net_latency_buffer"; - map->map = &obj->maps.net_latency_buffer; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 7 * s->map_skel_sz); - map->name = "tcptop_buffer"; - map->map = &obj->maps.tcptop_buffer; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 8 * s->map_skel_sz); - map->name = "tcpretrans_buffer"; - map->map = &obj->maps.tcpretrans_buffer; - - map = (struct bpf_map_skeleton *)((char *)s->maps + 9 * s->map_skel_sz); - map->name = "net_stat.rodata"; - map->map = &obj->maps.rodata; - map->mmaped = (void **)&obj->rodata; - - /* programs */ - s->prog_cnt = 12; - s->prog_skel_sz = sizeof(*s->progs); - s->progs = (struct bpf_prog_skeleton *)calloc(s->prog_cnt, s->prog_skel_sz); - if (!s->progs) { - err = -ENOMEM; - goto err; - } - - s->progs[0].name = "trace_retransmit"; - s->progs[0].prog = &obj->progs.trace_retransmit; - s->progs[0].link = &obj->links.trace_retransmit; - - s->progs[1].name = "top_tcp_send_entry"; - s->progs[1].prog = &obj->progs.top_tcp_send_entry; - s->progs[1].link = &obj->links.top_tcp_send_entry; - - s->progs[2].name = "top_tcp_send_ret"; - s->progs[2].prog = &obj->progs.top_tcp_send_ret; - s->progs[2].link = &obj->links.top_tcp_send_ret; - - s->progs[3].name = "top_tcp_recv_entry"; - s->progs[3].prog = &obj->progs.top_tcp_recv_entry; - s->progs[3].link = &obj->links.top_tcp_recv_entry; - - s->progs[4].name = "tcp_v4_connect"; - s->progs[4].prog = &obj->progs.tcp_v4_connect; - s->progs[4].link = &obj->links.tcp_v4_connect; - - s->progs[5].name = "tcp_v6_connect"; - s->progs[5].prog = &obj->progs.tcp_v6_connect; - s->progs[5].link = &obj->links.tcp_v6_connect; - - s->progs[6].name = "tcp_rcv_state_process"; - s->progs[6].prog = &obj->progs.tcp_rcv_state_process; - s->progs[6].link = &obj->links.tcp_rcv_state_process; - - s->progs[7].name = "fentry_tcp_v4_connect"; - s->progs[7].prog = &obj->progs.fentry_tcp_v4_connect; - s->progs[7].link = &obj->links.fentry_tcp_v4_connect; - - s->progs[8].name = "fentry_tcp_v6_connect"; - s->progs[8].prog = &obj->progs.fentry_tcp_v6_connect; - s->progs[8].link = &obj->links.fentry_tcp_v6_connect; - - s->progs[9].name = "fentry_tcp_rcv_state_process"; - s->progs[9].prog = &obj->progs.fentry_tcp_rcv_state_process; - s->progs[9].link = &obj->links.fentry_tcp_rcv_state_process; - - s->progs[10].name = "tcprtt"; - s->progs[10].prog = &obj->progs.tcprtt; - s->progs[10].link = &obj->links.tcprtt; - - s->progs[11].name = "handle_tcprtt_event"; - s->progs[11].prog = &obj->progs.handle_tcprtt_event; - s->progs[11].link = &obj->links.handle_tcprtt_event; - - s->data = net_stats_bpf__elf_bytes(&s->data_sz); - - obj->skeleton = s; - return 0; -err: - bpf_object__destroy_skeleton(s); - return err; -} - -static inline const void *net_stats_bpf__elf_bytes(size_t *sz) -{ - static const char data[] __attribute__((__aligned__(8))) = "\ -\x7f\x45\x4c\x46\x02\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\xf7\0\x01\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\xef\0\0\0\0\0\0\0\0\0\0\x40\0\0\0\0\0\x40\0\x22\0\x01\ -\0\0\x2e\x73\x74\x72\x74\x61\x62\0\x2e\x73\x79\x6d\x74\x61\x62\0\x2e\x74\x65\ -\x78\x74\0\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\x2f\x74\x63\x70\x2f\x74\x63\ -\x70\x5f\x72\x65\x74\x72\x61\x6e\x73\x6d\x69\x74\x5f\x73\x6b\x62\0\x6b\x70\x72\ -\x6f\x62\x65\x2f\x74\x63\x70\x5f\x73\x65\x6e\x64\x6d\x73\x67\0\x6b\x72\x65\x74\ -\x70\x72\x6f\x62\x65\x2f\x74\x63\x70\x5f\x73\x65\x6e\x64\x6d\x73\x67\0\x6b\x70\ -\x72\x6f\x62\x65\x2f\x74\x63\x70\x5f\x63\x6c\x65\x61\x6e\x75\x70\x5f\x72\x62\ -\x75\x66\0\x6b\x70\x72\x6f\x62\x65\x2f\x74\x63\x70\x5f\x76\x34\x5f\x63\x6f\x6e\ -\x6e\x65\x63\x74\0\x6b\x70\x72\x6f\x62\x65\x2f\x74\x63\x70\x5f\x76\x36\x5f\x63\ -\x6f\x6e\x6e\x65\x63\x74\0\x6b\x70\x72\x6f\x62\x65\x2f\x74\x63\x70\x5f\x72\x63\ -\x76\x5f\x73\x74\x61\x74\x65\x5f\x70\x72\x6f\x63\x65\x73\x73\0\x66\x65\x6e\x74\ -\x72\x79\x2f\x74\x63\x70\x5f\x76\x34\x5f\x63\x6f\x6e\x6e\x65\x63\x74\0\x66\x65\ -\x6e\x74\x72\x79\x2f\x74\x63\x70\x5f\x76\x36\x5f\x63\x6f\x6e\x6e\x65\x63\x74\0\ -\x66\x65\x6e\x74\x72\x79\x2f\x74\x63\x70\x5f\x72\x63\x76\x5f\x73\x74\x61\x74\ -\x65\x5f\x70\x72\x6f\x63\x65\x73\x73\0\x66\x65\x6e\x74\x72\x79\x2f\x74\x63\x70\ -\x5f\x72\x63\x76\x5f\x65\x73\x74\x61\x62\x6c\x69\x73\x68\x65\x64\0\x70\x65\x72\ -\x66\x5f\x65\x76\x65\x6e\x74\0\x6c\x69\x63\x65\x6e\x73\x65\0\x2e\x72\x6f\x64\ -\x61\x74\x61\0\x2e\x6d\x61\x70\x73\0\x6e\x65\x74\x5f\x73\x74\x61\x74\x73\x2e\ -\x62\x70\x66\x2e\x63\0\x4c\x42\x42\x30\x5f\x31\x33\0\x4c\x42\x42\x30\x5f\x34\0\ -\x4c\x42\x42\x30\x5f\x37\0\x74\x63\x70\x5f\x6b\x70\x72\x6f\x62\x65\x5f\x72\x65\ -\x74\x72\x61\x6e\x73\x5f\x65\x76\x65\x6e\x74\x2e\x5f\x5f\x5f\x5f\x66\x6d\x74\0\ -\x4c\x42\x42\x30\x5f\x31\x30\0\x4c\x42\x42\x30\x5f\x31\x32\0\x4c\x42\x42\x30\ -\x5f\x31\x31\0\x4c\x42\x42\x32\x5f\x33\x32\0\x4c\x42\x42\x32\x5f\x33\x31\0\x4c\ -\x42\x42\x32\x5f\x31\x37\0\x4c\x42\x42\x32\x5f\x31\x31\0\x4c\x42\x42\x32\x5f\ -\x38\0\x4c\x42\x42\x32\x5f\x31\x30\0\x4c\x42\x42\x32\x5f\x39\0\x74\x63\x70\x5f\ -\x74\x6f\x70\x5f\x72\x69\x6e\x67\x62\x75\x66\x66\x5f\x73\x65\x6e\x64\x2e\x5f\ -\x5f\x5f\x5f\x66\x6d\x74\0\x4c\x42\x42\x32\x5f\x32\x34\0\x4c\x42\x42\x32\x5f\ -\x32\x31\0\x4c\x42\x42\x32\x5f\x32\x33\0\x4c\x42\x42\x32\x5f\x31\x34\0\x4c\x42\ -\x42\x32\x5f\x31\x36\0\x4c\x42\x42\x32\x5f\x32\x37\0\x4c\x42\x42\x32\x5f\x32\ -\x39\0\x4c\x42\x42\x32\x5f\x33\x30\0\x4c\x42\x42\x33\x5f\x33\x30\0\x4c\x42\x42\ -\x33\x5f\x31\x36\0\x4c\x42\x42\x33\x5f\x31\x30\0\x4c\x42\x42\x33\x5f\x37\0\x4c\ -\x42\x42\x33\x5f\x39\0\x4c\x42\x42\x33\x5f\x38\0\x4c\x42\x42\x33\x5f\x32\x33\0\ -\x4c\x42\x42\x33\x5f\x32\x30\0\x4c\x42\x42\x33\x5f\x32\x32\0\x4c\x42\x42\x33\ -\x5f\x31\x33\0\x4c\x42\x42\x33\x5f\x31\x35\0\x4c\x42\x42\x33\x5f\x32\x36\0\x4c\ -\x42\x42\x33\x5f\x32\x38\0\x4c\x42\x42\x33\x5f\x32\x39\0\x4c\x42\x42\x34\x5f\ -\x32\0\x4c\x42\x42\x35\x5f\x32\0\x68\x61\x6e\x64\x6c\x65\x5f\x74\x63\x70\x5f\ -\x72\x63\x76\x5f\x73\x74\x61\x74\x65\x5f\x70\x72\x6f\x63\x65\x73\x73\0\x4c\x42\ -\x42\x37\x5f\x32\0\x4c\x42\x42\x38\x5f\x32\0\x4c\x42\x42\x31\x30\x5f\x32\0\x4c\ -\x42\x42\x31\x30\x5f\x31\x31\0\x4c\x42\x42\x31\x30\x5f\x31\x30\0\x4c\x42\x42\ -\x31\x31\x5f\x32\0\x68\x61\x6e\x64\x6c\x65\x5f\x74\x63\x70\x72\x74\x74\x5f\x65\ -\x76\x65\x6e\x74\x2e\x5f\x5f\x5f\x5f\x66\x6d\x74\0\x4c\x42\x42\x31\x31\x5f\x35\ -\0\x4c\x42\x42\x31\x31\x5f\x34\0\x68\x61\x6e\x64\x6c\x65\x5f\x74\x63\x70\x72\ -\x74\x74\x5f\x65\x76\x65\x6e\x74\x2e\x5f\x5f\x5f\x5f\x66\x6d\x74\x2e\x31\0\x4c\ -\x42\x42\x31\x32\x5f\x38\0\x4c\x42\x42\x31\x32\x5f\x34\0\x68\x61\x6e\x64\x6c\ -\x65\x5f\x74\x63\x70\x5f\x72\x63\x76\x5f\x73\x74\x61\x74\x65\x5f\x70\x72\x6f\ -\x63\x65\x73\x73\x2e\x5f\x5f\x5f\x5f\x66\x6d\x74\0\x4c\x42\x42\x31\x32\x5f\x36\ -\0\x4c\x42\x42\x31\x32\x5f\x37\0\x74\x72\x61\x63\x65\x5f\x72\x65\x74\x72\x61\ -\x6e\x73\x6d\x69\x74\0\x74\x63\x70\x72\x65\x74\x72\x61\x6e\x73\x5f\x62\x75\x66\ -\x66\x65\x72\0\x74\x6f\x70\x5f\x74\x63\x70\x5f\x73\x65\x6e\x64\x5f\x65\x6e\x74\ -\x72\x79\0\x74\x6f\x70\x5f\x73\x6f\x63\x6b\x5f\x73\x74\x6f\x72\x65\0\x74\x6f\ -\x70\x5f\x74\x63\x70\x5f\x73\x65\x6e\x64\x5f\x72\x65\x74\0\x69\x70\x76\x34\x5f\ -\x74\x6f\x70\x5f\x6d\x61\x70\0\x74\x63\x70\x74\x6f\x70\x5f\x62\x75\x66\x66\x65\ -\x72\0\x69\x70\x76\x36\x5f\x74\x6f\x70\x5f\x6d\x61\x70\0\x74\x6f\x70\x5f\x74\ -\x63\x70\x5f\x72\x65\x63\x76\x5f\x65\x6e\x74\x72\x79\0\x74\x63\x70\x5f\x76\x34\ -\x5f\x63\x6f\x6e\x6e\x65\x63\x74\0\x6e\x65\x74\x5f\x6c\x61\x74\x65\x6e\x63\x79\ -\x5f\x73\x74\x61\x72\x74\0\x74\x63\x70\x5f\x76\x36\x5f\x63\x6f\x6e\x6e\x65\x63\ -\x74\0\x74\x63\x70\x5f\x72\x63\x76\x5f\x73\x74\x61\x74\x65\x5f\x70\x72\x6f\x63\ -\x65\x73\x73\0\x66\x65\x6e\x74\x72\x79\x5f\x74\x63\x70\x5f\x76\x34\x5f\x63\x6f\ -\x6e\x6e\x65\x63\x74\0\x66\x65\x6e\x74\x72\x79\x5f\x74\x63\x70\x5f\x76\x36\x5f\ -\x63\x6f\x6e\x6e\x65\x63\x74\0\x66\x65\x6e\x74\x72\x79\x5f\x74\x63\x70\x5f\x72\ -\x63\x76\x5f\x73\x74\x61\x74\x65\x5f\x70\x72\x6f\x63\x65\x73\x73\0\x74\x63\x70\ -\x72\x74\x74\0\x74\x63\x70\x72\x74\x74\x5f\x6d\x61\x70\0\x7a\x65\x72\x6f\0\x68\ -\x61\x6e\x64\x6c\x65\x5f\x74\x63\x70\x72\x74\x74\x5f\x65\x76\x65\x6e\x74\0\x74\ -\x63\x70\x72\x74\x74\x5f\x62\x75\x66\x66\x65\x72\0\x6e\x65\x74\x5f\x6c\x61\x74\ -\x65\x6e\x63\x79\x5f\x62\x75\x66\x66\x65\x72\0\x4c\x49\x43\x45\x4e\x53\x45\0\ -\x2e\x72\x65\x6c\x2e\x74\x65\x78\x74\0\x2e\x72\x65\x6c\x74\x72\x61\x63\x65\x70\ -\x6f\x69\x6e\x74\x2f\x74\x63\x70\x2f\x74\x63\x70\x5f\x72\x65\x74\x72\x61\x6e\ -\x73\x6d\x69\x74\x5f\x73\x6b\x62\0\x2e\x72\x65\x6c\x6b\x70\x72\x6f\x62\x65\x2f\ -\x74\x63\x70\x5f\x73\x65\x6e\x64\x6d\x73\x67\0\x2e\x72\x65\x6c\x6b\x72\x65\x74\ -\x70\x72\x6f\x62\x65\x2f\x74\x63\x70\x5f\x73\x65\x6e\x64\x6d\x73\x67\0\x2e\x72\ -\x65\x6c\x6b\x70\x72\x6f\x62\x65\x2f\x74\x63\x70\x5f\x63\x6c\x65\x61\x6e\x75\ -\x70\x5f\x72\x62\x75\x66\0\x2e\x72\x65\x6c\x6b\x70\x72\x6f\x62\x65\x2f\x74\x63\ -\x70\x5f\x76\x34\x5f\x63\x6f\x6e\x6e\x65\x63\x74\0\x2e\x72\x65\x6c\x6b\x70\x72\ -\x6f\x62\x65\x2f\x74\x63\x70\x5f\x76\x36\x5f\x63\x6f\x6e\x6e\x65\x63\x74\0\x2e\ -\x72\x65\x6c\x6b\x70\x72\x6f\x62\x65\x2f\x74\x63\x70\x5f\x72\x63\x76\x5f\x73\ -\x74\x61\x74\x65\x5f\x70\x72\x6f\x63\x65\x73\x73\0\x2e\x72\x65\x6c\x66\x65\x6e\ -\x74\x72\x79\x2f\x74\x63\x70\x5f\x76\x34\x5f\x63\x6f\x6e\x6e\x65\x63\x74\0\x2e\ -\x72\x65\x6c\x66\x65\x6e\x74\x72\x79\x2f\x74\x63\x70\x5f\x76\x36\x5f\x63\x6f\ -\x6e\x6e\x65\x63\x74\0\x2e\x72\x65\x6c\x66\x65\x6e\x74\x72\x79\x2f\x74\x63\x70\ -\x5f\x72\x63\x76\x5f\x73\x74\x61\x74\x65\x5f\x70\x72\x6f\x63\x65\x73\x73\0\x2e\ -\x72\x65\x6c\x66\x65\x6e\x74\x72\x79\x2f\x74\x63\x70\x5f\x72\x63\x76\x5f\x65\ -\x73\x74\x61\x62\x6c\x69\x73\x68\x65\x64\0\x2e\x72\x65\x6c\x70\x65\x72\x66\x5f\ -\x65\x76\x65\x6e\x74\0\x2e\x42\x54\x46\0\x2e\x42\x54\x46\x2e\x65\x78\x74\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x48\x01\0\0\x04\0\ -\xf1\xff\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\x03\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\x03\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x58\x01\0\0\ -\0\0\x04\0\x78\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x60\x01\0\0\0\0\x04\0\xb0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\x67\x01\0\0\0\0\x04\0\x38\x02\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\x6e\x01\0\0\x01\0\x11\0\x3b\0\0\0\0\0\0\0\x20\0\0\0\0\0\0\0\x8f\x01\0\0\0\ -\0\x04\0\xc8\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x97\x01\0\0\0\0\x04\0\x60\x04\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\x9f\x01\0\0\0\0\x04\0\x40\x04\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\x03\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\x06\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xa7\x01\0\0\0\0\x06\0\x20\x0e\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\xaf\x01\0\0\0\0\x06\0\xf8\x0d\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x01\0\ -\0\0\0\x06\0\xf0\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x01\0\0\0\0\x06\0\xb8\x06\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xc7\x01\0\0\0\0\x06\0\x78\x03\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\xce\x01\0\0\0\0\x06\0\x50\x0b\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xd6\x01\0\0\ -\0\0\x06\0\xc8\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xdd\x01\0\0\x01\0\x11\0\x5b\0\0\ -\0\0\0\0\0\x1b\0\0\0\0\0\0\0\xfb\x01\0\0\0\0\x06\0\xb8\x07\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\x03\x02\0\0\0\0\x06\0\x60\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x0b\x02\0\0\ -\0\0\x06\0\x88\x0c\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x13\x02\0\0\0\0\x06\0\x70\x07\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\x1b\x02\0\0\0\0\x06\0\xb0\x08\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\x23\x02\0\0\0\0\x06\0\x68\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x2b\x02\0\0\0\ -\0\x06\0\xe8\x09\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x33\x02\0\0\0\0\x06\0\xe8\x0d\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\x3b\x02\0\0\0\0\x07\0\xb0\x0d\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x43\x02\0\0\0\0\x07\ -\0\xa8\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x4b\x02\0\0\0\0\x07\0\x70\x06\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\x53\x02\0\0\0\0\x07\0\x30\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\x5a\x02\0\0\0\0\x07\0\x08\x0b\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x61\x02\0\0\0\0\x07\ -\0\x80\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x68\x02\0\0\0\0\x07\0\x70\x07\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\x70\x02\0\0\0\0\x07\0\x18\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\x78\x02\0\0\0\0\x07\0\x40\x0c\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x80\x02\0\0\0\0\x07\ -\0\x28\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x88\x02\0\0\0\0\x07\0\x68\x08\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\x90\x02\0\0\0\0\x07\0\x20\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\x98\x02\0\0\0\0\x07\0\xa0\x09\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xa0\x02\0\0\0\0\x07\ -\0\xa0\x0d\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\x08\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\xa8\x02\0\0\0\0\x08\0\xd0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\x03\0\x09\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xaf\x02\0\0\0\0\x09\0\xd0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\x0a\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb6\ -\x02\0\0\x02\0\x03\0\0\0\0\0\0\0\0\0\xc0\x03\0\0\0\0\0\0\0\0\0\0\x03\0\x0b\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xd3\x02\0\0\0\0\x0b\0\xd0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\x03\0\x0c\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xda\x02\0\0\0\0\ -\x0c\0\xd0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\x0d\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\x03\0\x0e\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xe1\x02\0\0\ -\0\0\x0e\0\xe0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xe9\x02\0\0\0\0\x0e\0\x38\x02\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\xf2\x02\0\0\0\0\x0e\0\xd0\x01\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\x03\0\x0f\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xfb\x02\0\0\0\0\x0f\0\ -\x60\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\x03\0\0\x01\0\x11\0\x04\0\0\0\0\0\0\0\ -\x1c\0\0\0\0\0\0\0\x1f\x03\0\0\0\0\x0f\0\x98\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\x27\x03\0\0\0\0\x0f\0\xc0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x2f\x03\0\0\x01\0\x11\ -\0\x20\0\0\0\0\0\0\0\x1b\0\0\0\0\0\0\0\x4d\x03\0\0\0\0\x03\0\xb8\x03\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\x55\x03\0\0\0\0\x03\0\x10\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\x5d\x03\0\0\x01\0\x11\0\x76\0\0\0\0\0\0\0\x20\0\0\0\0\0\0\0\x82\x03\0\0\0\0\ -\x03\0\x38\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x8a\x03\0\0\0\0\x03\0\xa0\x03\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\x11\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x92\ -\x03\0\0\x12\0\x04\0\0\0\0\0\0\0\0\0\x88\x04\0\0\0\0\0\0\xa3\x03\0\0\x11\0\x12\ -\0\xd0\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\xb5\x03\0\0\x12\0\x05\0\0\0\0\0\0\0\0\0\ -\x70\0\0\0\0\0\0\0\xc8\x03\0\0\x11\0\x12\0\x90\0\0\0\0\0\0\0\x20\0\0\0\0\0\0\0\ -\xd7\x03\0\0\x12\0\x06\0\0\0\0\0\0\0\0\0\x30\x0e\0\0\0\0\0\0\xe8\x03\0\0\x11\0\ -\x12\0\x50\0\0\0\0\0\0\0\x20\0\0\0\0\0\0\0\xf5\x03\0\0\x11\0\x12\0\xc0\0\0\0\0\ -\0\0\0\x10\0\0\0\0\0\0\0\x03\x04\0\0\x11\0\x12\0\x70\0\0\0\0\0\0\0\x20\0\0\0\0\ -\0\0\0\x10\x04\0\0\x12\0\x07\0\0\0\0\0\0\0\0\0\xc0\x0d\0\0\0\0\0\0\x23\x04\0\0\ -\x12\0\x08\0\0\0\0\0\0\0\0\0\xe0\0\0\0\0\0\0\0\x32\x04\0\0\x11\0\x12\0\x30\0\0\ -\0\0\0\0\0\x20\0\0\0\0\0\0\0\x44\x04\0\0\x12\0\x09\0\0\0\0\0\0\0\0\0\xe0\0\0\0\ -\0\0\0\0\x53\x04\0\0\x12\0\x0a\0\0\0\0\0\0\0\0\0\x20\0\0\0\0\0\0\0\x69\x04\0\0\ -\x12\0\x0b\0\0\0\0\0\0\0\0\0\xe0\0\0\0\0\0\0\0\x7f\x04\0\0\x12\0\x0c\0\0\0\0\0\ -\0\0\0\0\xe0\0\0\0\0\0\0\0\x95\x04\0\0\x12\0\x0d\0\0\0\0\0\0\0\0\0\x20\0\0\0\0\ -\0\0\0\xb2\x04\0\0\x12\0\x0e\0\0\0\0\0\0\0\0\0\x48\x02\0\0\0\0\0\0\xb9\x04\0\0\ -\x11\0\x12\0\0\0\0\0\0\0\0\0\x20\0\0\0\0\0\0\0\xc4\x04\0\0\x11\0\x11\0\0\0\0\0\ -\0\0\0\0\x04\0\0\0\0\0\0\0\xc9\x04\0\0\x12\0\x0f\0\0\0\0\0\0\0\0\0\xa8\x01\0\0\ -\0\0\0\0\xdd\x04\0\0\x11\0\x12\0\x20\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\xeb\x04\0\ -\0\x11\0\x12\0\xb0\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\xfe\x04\0\0\x11\0\x10\0\0\0\ -\0\0\0\0\0\0\x0d\0\0\0\0\0\0\0\xbf\x13\0\0\0\0\0\0\x7b\x3a\xf8\xff\0\0\0\0\xb7\ -\x01\0\0\x12\0\0\0\x0f\x13\0\0\0\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\xf4\xff\ -\xff\xff\xb7\x02\0\0\x01\0\0\0\x85\0\0\0\x71\0\0\0\x71\xa1\xf4\xff\0\0\0\0\x55\ -\x01\x6d\0\x02\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf8\xff\xff\xff\x18\x01\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\xbf\x07\0\0\0\0\0\0\x15\x07\x66\ -\0\0\0\0\0\x85\0\0\0\x05\0\0\0\xbf\x08\0\0\0\0\0\0\x79\x71\x08\0\0\0\0\0\x7b\ -\x1a\xe8\xff\0\0\0\0\xb7\x09\0\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\xb7\x02\0\0\x50\0\0\0\xb7\x03\0\0\0\0\0\0\x85\0\0\0\x83\0\0\0\xbf\x06\0\0\0\0\ -\0\0\x55\x06\x05\0\0\0\0\0\x18\x01\0\0\x76\0\0\0\0\0\0\0\0\0\0\0\xb7\x02\0\0\ -\x20\0\0\0\x85\0\0\0\x06\0\0\0\x05\0\x55\0\0\0\0\0\x7b\x96\x48\0\0\0\0\0\x7b\ -\x96\x40\0\0\0\0\0\x7b\x96\x38\0\0\0\0\0\x7b\x96\x28\0\0\0\0\0\x7b\x96\x20\0\0\ -\0\0\0\x7b\x96\x18\0\0\0\0\0\x7b\x96\x10\0\0\0\0\0\x7b\x96\x08\0\0\0\0\0\x7b\ -\x96\0\0\0\0\0\0\xbf\x81\0\0\0\0\0\0\x79\xa2\xe8\xff\0\0\0\0\x1f\x21\0\0\0\0\0\ -\0\x7b\x16\x30\0\0\0\0\0\x61\x71\0\0\0\0\0\0\x63\x16\x40\0\0\0\0\0\x07\x07\0\0\ -\x10\0\0\0\xbf\x61\0\0\0\0\0\0\x07\x01\0\0\x20\0\0\0\xb7\x02\0\0\x10\0\0\0\xbf\ -\x73\0\0\0\0\0\0\x85\0\0\0\x73\0\0\0\x7b\x86\x38\0\0\0\0\0\xb7\x01\0\0\x0e\0\0\ -\0\x79\xa3\xf8\xff\0\0\0\0\x0f\x13\0\0\0\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\ -\xf4\xff\xff\xff\xb7\x02\0\0\x02\0\0\0\x85\0\0\0\x71\0\0\0\x69\xa1\xf4\xff\0\0\ -\0\0\x6b\x16\x48\0\0\0\0\0\xb7\x01\0\0\x0c\0\0\0\x79\xa3\xf8\xff\0\0\0\0\x0f\ -\x13\0\0\0\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\xf4\xff\xff\xff\xb7\x02\0\0\ -\x02\0\0\0\x85\0\0\0\x71\0\0\0\x69\xa1\xf4\xff\0\0\0\0\x6b\x16\x4a\0\0\0\0\0\ -\xb7\x01\0\0\x10\0\0\0\x79\xa3\xf8\xff\0\0\0\0\x0f\x13\0\0\0\0\0\0\xbf\xa1\0\0\ -\0\0\0\0\x07\x01\0\0\xf4\xff\xff\xff\xb7\x02\0\0\x02\0\0\0\x85\0\0\0\x71\0\0\0\ -\x69\xa1\xf4\xff\0\0\0\0\x63\x16\x44\0\0\0\0\0\x55\x01\x13\0\x02\0\0\0\xb7\x01\ -\0\0\x04\0\0\0\x79\xa3\xf8\xff\0\0\0\0\x0f\x13\0\0\0\0\0\0\xbf\xa1\0\0\0\0\0\0\ -\x07\x01\0\0\xf4\xff\xff\xff\xb7\x02\0\0\x04\0\0\0\x85\0\0\0\x71\0\0\0\x61\xa1\ -\xf4\xff\0\0\0\0\x63\x16\0\0\0\0\0\0\xb7\x01\0\0\0\0\0\0\x79\xa3\xf8\xff\0\0\0\ -\0\x0f\x13\0\0\0\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\xf4\xff\xff\xff\xb7\x02\ -\0\0\x04\0\0\0\x85\0\0\0\x71\0\0\0\x61\xa1\xf4\xff\0\0\0\0\x63\x16\x10\0\0\0\0\ -\0\x05\0\x0d\0\0\0\0\0\xb7\x01\0\0\x48\0\0\0\x79\xa3\xf8\xff\0\0\0\0\x0f\x13\0\ -\0\0\0\0\0\xbf\x61\0\0\0\0\0\0\xb7\x02\0\0\x10\0\0\0\x85\0\0\0\x71\0\0\0\xb7\ -\x01\0\0\x38\0\0\0\x79\xa3\xf8\xff\0\0\0\0\x0f\x13\0\0\0\0\0\0\xbf\x61\0\0\0\0\ -\0\0\x07\x01\0\0\x10\0\0\0\xb7\x02\0\0\x10\0\0\0\x85\0\0\0\x71\0\0\0\xbf\x61\0\ -\0\0\0\0\0\xb7\x02\0\0\0\0\0\0\x85\0\0\0\x84\0\0\0\x95\0\0\0\0\0\0\0\x79\x16\ -\x10\0\0\0\0\0\x15\x06\x8d\0\0\0\0\0\x79\x19\x08\0\0\0\0\0\x85\0\0\0\x0e\0\0\0\ -\xbf\x07\0\0\0\0\0\0\xbf\x71\0\0\0\0\0\0\x67\x01\0\0\x20\0\0\0\x77\x01\0\0\x20\ -\0\0\0\x15\x01\x86\0\0\0\0\0\x85\0\0\0\x05\0\0\0\x7b\x0a\xa8\xff\0\0\0\0\xb7\ -\x08\0\0\0\0\0\0\x15\x09\x09\0\0\0\0\0\xb7\x01\0\0\x28\0\0\0\x0f\x19\0\0\0\0\0\ -\0\xbf\xa8\0\0\0\0\0\0\x07\x08\0\0\xd0\xff\xff\xff\xbf\x81\0\0\0\0\0\0\xb7\x02\ -\0\0\x30\0\0\0\xbf\x93\0\0\0\0\0\0\x85\0\0\0\x71\0\0\0\x61\x88\0\0\0\0\0\0\xb7\ -\x01\0\0\x10\0\0\0\xbf\x63\0\0\0\0\0\0\x0f\x13\0\0\0\0\0\0\xbf\xa1\0\0\0\0\0\0\ -\x07\x01\0\0\xce\xff\xff\xff\xb7\x02\0\0\x02\0\0\0\x85\0\0\0\x71\0\0\0\xb7\x01\ -\0\0\x0e\0\0\0\xbf\x63\0\0\0\0\0\0\x0f\x13\0\0\0\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\ -\x01\0\0\xcc\xff\xff\xff\xb7\x02\0\0\x02\0\0\0\x85\0\0\0\x71\0\0\0\xb7\x01\0\0\ -\x0c\0\0\0\xbf\x63\0\0\0\0\0\0\x0f\x13\0\0\0\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\ -\0\0\xca\xff\xff\xff\xb7\x02\0\0\x02\0\0\0\x85\0\0\0\x71\0\0\0\xb7\x01\0\0\x12\ -\0\0\0\xbf\x63\0\0\0\0\0\0\x0f\x13\0\0\0\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\ -\xc9\xff\xff\xff\xb7\x02\0\0\x01\0\0\0\x85\0\0\0\x71\0\0\0\xbf\xa1\0\0\0\0\0\0\ -\x07\x01\0\0\xb9\xff\xff\xff\xb7\x02\0\0\x10\0\0\0\x85\0\0\0\x10\0\0\0\x69\xa1\ -\xce\xff\0\0\0\0\x57\x01\0\0\xf7\xff\0\0\x55\x01\x56\0\x02\0\0\0\x7b\x8a\xa0\ -\xff\0\0\0\0\xb7\x08\0\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x02\0\ -\0\x58\0\0\0\xb7\x03\0\0\0\0\0\0\x85\0\0\0\x83\0\0\0\xbf\x09\0\0\0\0\0\0\x55\ -\x09\x05\0\0\0\0\0\x18\x01\0\0\x3b\0\0\0\0\0\0\0\0\0\0\0\xb7\x02\0\0\x20\0\0\0\ -\x85\0\0\0\x06\0\0\0\x05\0\x48\0\0\0\0\0\x7b\x89\x30\0\0\0\0\0\x7b\x89\x28\0\0\ -\0\0\0\x7b\x89\x20\0\0\0\0\0\x7b\x89\x18\0\0\0\0\0\x7b\x89\x10\0\0\0\0\0\x7b\ -\x89\x08\0\0\0\0\0\x7b\x89\0\0\0\0\0\0\x63\x79\x38\0\0\0\0\0\x69\xa1\xca\xff\0\ -\0\0\0\x6b\x19\x36\0\0\0\0\0\x69\xa1\xcc\xff\0\0\0\0\x79\xa2\xa0\xff\0\0\0\0\ -\x63\x29\x3c\0\0\0\0\0\x6b\x19\x34\0\0\0\0\0\x71\xa1\xc9\xff\0\0\0\0\x79\xa2\ -\xa8\xff\0\0\0\0\x7b\x29\x50\0\0\0\0\0\xb7\x02\0\0\x01\0\0\0\x7b\x29\x48\0\0\0\ -\0\0\x7b\x19\x40\0\0\0\0\0\xbf\x91\0\0\0\0\0\0\x07\x01\0\0\x20\0\0\0\xbf\xa3\0\ -\0\0\0\0\0\x07\x03\0\0\xb9\xff\xff\xff\xb7\x02\0\0\x10\0\0\0\x85\0\0\0\x2d\0\0\ -\0\x69\xa1\xce\xff\0\0\0\0\x15\x01\x16\0\x0a\0\0\0\x55\x01\x28\0\x02\0\0\0\xb7\ -\x01\0\0\x02\0\0\0\x63\x19\x30\0\0\0\0\0\xb7\x01\0\0\0\0\0\0\xbf\x63\0\0\0\0\0\ -\0\x0f\x13\0\0\0\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\xb4\xff\xff\xff\xb7\x02\ -\0\0\x04\0\0\0\x85\0\0\0\x71\0\0\0\xb7\x01\0\0\x04\0\0\0\x0f\x16\0\0\0\0\0\0\ -\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\xb0\xff\xff\xff\xb7\x02\0\0\x04\0\0\0\xbf\x63\ -\0\0\0\0\0\0\x85\0\0\0\x71\0\0\0\x61\xa1\xb0\xff\0\0\0\0\x63\x19\0\0\0\0\0\0\ -\x61\xa1\xb4\xff\0\0\0\0\x63\x19\x10\0\0\0\0\0\x05\0\x0f\0\0\0\0\0\xb7\x01\0\0\ -\x0a\0\0\0\x63\x19\x30\0\0\0\0\0\xb7\x01\0\0\x48\0\0\0\xbf\x63\0\0\0\0\0\0\x0f\ -\x13\0\0\0\0\0\0\xbf\x91\0\0\0\0\0\0\xb7\x02\0\0\x10\0\0\0\x85\0\0\0\x71\0\0\0\ -\xb7\x01\0\0\x38\0\0\0\x0f\x16\0\0\0\0\0\0\xbf\x91\0\0\0\0\0\0\x07\x01\0\0\x10\ -\0\0\0\xb7\x02\0\0\x10\0\0\0\xbf\x63\0\0\0\0\0\0\x85\0\0\0\x71\0\0\0\xbf\x91\0\ -\0\0\0\0\0\xb7\x02\0\0\0\0\0\0\x85\0\0\0\x84\0\0\0\x05\0\x03\0\0\0\0\0\xbf\x91\ -\0\0\0\0\0\0\xb7\x02\0\0\0\0\0\0\x85\0\0\0\x85\0\0\0\xb7\0\0\0\0\0\0\0\x95\0\0\ -\0\0\0\0\0\x79\x11\x70\0\0\0\0\0\x7b\x1a\xf8\xff\0\0\0\0\x85\0\0\0\x0e\0\0\0\ -\x63\x0a\xf4\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf4\xff\xff\xff\xbf\ -\xa3\0\0\0\0\0\0\x07\x03\0\0\xf8\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\xb7\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\ -\x79\x18\x50\0\0\0\0\0\x85\0\0\0\x0e\0\0\0\x63\x0a\x9c\xff\0\0\0\0\xbf\xa2\0\0\ -\0\0\0\0\x07\x02\0\0\x9c\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\ -\0\0\x01\0\0\0\x15\0\xbb\x01\0\0\0\0\x67\x08\0\0\x20\0\0\0\x77\x08\0\0\x20\0\0\ -\0\xbf\x81\0\0\0\0\0\0\x67\x01\0\0\x20\0\0\0\xc7\x01\0\0\x20\0\0\0\xb7\x02\0\0\ -\x01\0\0\0\x6d\x12\xaf\x01\0\0\0\0\x79\x09\0\0\0\0\0\0\x85\0\0\0\x0e\0\0\0\xbf\ -\x06\0\0\0\0\0\0\xb7\x07\0\0\0\0\0\0\x6b\x7a\xfe\xff\0\0\0\0\x6b\x7a\xfc\xff\0\ -\0\0\0\x85\0\0\0\x05\0\0\0\x7b\x0a\x90\xff\0\0\0\0\xb7\x01\0\0\x10\0\0\0\xbf\ -\x93\0\0\0\0\0\0\x0f\x13\0\0\0\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\xfe\xff\ -\xff\xff\xb7\x02\0\0\x02\0\0\0\x85\0\0\0\x71\0\0\0\x69\xa1\xfe\xff\0\0\0\0\x15\ -\x01\x5d\0\x0a\0\0\0\x55\x01\x9d\x01\x02\0\0\0\xb7\x01\0\0\0\0\0\0\x63\x1a\xb8\ -\xff\0\0\0\0\x63\x1a\xb4\xff\0\0\0\0\x63\x1a\xb0\xff\0\0\0\0\x63\x1a\xac\xff\0\ -\0\0\0\x63\x1a\xa8\xff\0\0\0\0\x63\x1a\xa4\xff\0\0\0\0\x63\x1a\xbc\xff\0\0\0\0\ -\x63\x6a\xa0\xff\0\0\0\0\xbf\xa6\0\0\0\0\0\0\x07\x06\0\0\xa4\xff\xff\xff\xbf\ -\x61\0\0\0\0\0\0\xb7\x02\0\0\x10\0\0\0\x85\0\0\0\x10\0\0\0\xb7\x01\0\0\x04\0\0\ -\0\xbf\x93\0\0\0\0\0\0\x0f\x13\0\0\0\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\xb4\ -\xff\xff\xff\xb7\x02\0\0\x04\0\0\0\x85\0\0\0\x71\0\0\0\xb7\x01\0\0\0\0\0\0\xbf\ -\x93\0\0\0\0\0\0\x0f\x13\0\0\0\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\xb8\xff\ -\xff\xff\xb7\x02\0\0\x04\0\0\0\x85\0\0\0\x71\0\0\0\xb7\x01\0\0\x0e\0\0\0\xbf\ -\x93\0\0\0\0\0\0\x0f\x13\0\0\0\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\xbc\xff\ -\xff\xff\xb7\x02\0\0\x02\0\0\0\x85\0\0\0\x71\0\0\0\xb7\x01\0\0\x0c\0\0\0\x0f\ -\x19\0\0\0\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\xfc\xff\xff\xff\xb7\x02\0\0\ -\x02\0\0\0\xbf\x93\0\0\0\0\0\0\x85\0\0\0\x71\0\0\0\x69\xa1\xfc\xff\0\0\0\0\xdc\ -\x01\0\0\x10\0\0\0\x6b\x1a\xbe\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xa0\ -\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\xbf\x07\0\ -\0\0\0\0\0\x55\x07\x81\0\0\0\0\0\x79\xa1\x90\xff\0\0\0\0\x7b\x1a\xf0\xff\0\0\0\ -\0\x7b\x8a\xe8\xff\0\0\0\0\xb7\x01\0\0\0\0\0\0\x7b\x1a\xe0\xff\0\0\0\0\xbf\xa2\ -\0\0\0\0\0\0\x07\x02\0\0\xa0\xff\xff\xff\xbf\xa3\0\0\0\0\0\0\x07\x03\0\0\xe0\ -\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\ -\x02\0\0\0\x85\0\0\0\x05\0\0\0\xbf\x07\0\0\0\0\0\0\x79\xa1\xf0\xff\0\0\0\0\xbf\ -\x72\0\0\0\0\0\0\x1f\x12\0\0\0\0\0\0\xb7\x01\0\0\0\xca\x9a\x3b\x2d\x21\x55\x01\ -\0\0\0\0\x79\xa2\xe0\xff\0\0\0\0\x79\xa9\xe8\xff\0\0\0\0\x25\x09\x02\0\xff\x13\ -\0\0\xb7\x01\0\0\0\x28\0\0\x2d\x21\x50\x01\0\0\0\0\x7b\x2a\x88\xff\0\0\0\0\x7b\ -\x6a\x90\xff\0\0\0\0\xb7\x06\0\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\xb7\x02\0\0\x50\0\0\0\xb7\x03\0\0\0\0\0\0\x85\0\0\0\x83\0\0\0\xbf\x08\0\0\0\0\ -\0\0\x55\x08\xf1\0\0\0\0\0\x18\x01\0\0\x5b\0\0\0\0\0\0\0\0\0\0\0\xb7\x02\0\0\ -\x1b\0\0\0\x85\0\0\0\x06\0\0\0\x05\0\x41\x01\0\0\0\0\x7b\x7a\xc0\xff\0\0\0\0\ -\x7b\x7a\xd8\xff\0\0\0\0\x7b\x7a\xd0\xff\0\0\0\0\x7b\x7a\xc8\xff\0\0\0\0\x7b\ -\x7a\xb8\xff\0\0\0\0\x7b\x7a\xb0\xff\0\0\0\0\x7b\x7a\xa8\xff\0\0\0\0\x7b\x7a\ -\xa0\xff\0\0\0\0\x63\x6a\xc0\xff\0\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\xc4\ -\xff\xff\xff\x7b\x1a\x88\xff\0\0\0\0\xb7\x02\0\0\x10\0\0\0\x85\0\0\0\x10\0\0\0\ -\xb7\x01\0\0\x48\0\0\0\xbf\x93\0\0\0\0\0\0\x0f\x13\0\0\0\0\0\0\xbf\xa6\0\0\0\0\ -\0\0\x07\x06\0\0\xa0\xff\xff\xff\xbf\x61\0\0\0\0\0\0\xb7\x02\0\0\x10\0\0\0\x85\ -\0\0\0\x71\0\0\0\xb7\x01\0\0\x38\0\0\0\xbf\x93\0\0\0\0\0\0\x0f\x13\0\0\0\0\0\0\ -\xbf\xa7\0\0\0\0\0\0\x07\x07\0\0\xb0\xff\xff\xff\xbf\x71\0\0\0\0\0\0\xb7\x02\0\ -\0\x10\0\0\0\x85\0\0\0\x71\0\0\0\xb7\x01\0\0\x0e\0\0\0\xbf\x93\0\0\0\0\0\0\x0f\ -\x13\0\0\0\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\xd4\xff\xff\xff\xb7\x02\0\0\ -\x02\0\0\0\x85\0\0\0\x71\0\0\0\xb7\x01\0\0\x0c\0\0\0\x0f\x19\0\0\0\0\0\0\xbf\ -\xa1\0\0\0\0\0\0\x07\x01\0\0\xfc\xff\xff\xff\xb7\x02\0\0\x02\0\0\0\xbf\x93\0\0\ -\0\0\0\0\x85\0\0\0\x71\0\0\0\x69\xa1\xfc\xff\0\0\0\0\xdc\x01\0\0\x10\0\0\0\x6b\ -\x1a\xd6\xff\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x62\0\0\0\0\0\0\ -\x85\0\0\0\x01\0\0\0\xbf\x09\0\0\0\0\0\0\x55\x09\x44\0\0\0\0\0\x79\xa1\x90\xff\ -\0\0\0\0\x7b\x1a\xf0\xff\0\0\0\0\x7b\x8a\xe8\xff\0\0\0\0\xb7\x01\0\0\0\0\0\0\ -\x7b\x1a\xe0\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xa0\xff\xff\xff\xbf\ -\xa3\0\0\0\0\0\0\x07\x03\0\0\xe0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\x85\0\0\0\x05\0\0\0\xbf\x08\0\0\0\0\ -\0\0\x79\xa1\xf0\xff\0\0\0\0\xbf\x82\0\0\0\0\0\0\x1f\x12\0\0\0\0\0\0\xb7\x01\0\ -\0\0\xca\x9a\x3b\x2d\x21\xf8\0\0\0\0\0\x79\xa2\xe0\xff\0\0\0\0\x79\xa9\xe8\xff\ -\0\0\0\0\x25\x09\x02\0\xff\x13\0\0\xb7\x01\0\0\0\x28\0\0\x2d\x21\xf3\0\0\0\0\0\ -\x7b\x2a\x80\xff\0\0\0\0\x7b\x7a\x90\xff\0\0\0\0\xb7\x07\0\0\0\0\0\0\x18\x01\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x02\0\0\x50\0\0\0\xb7\x03\0\0\0\0\0\0\x85\0\0\0\ -\x83\0\0\0\xbf\x06\0\0\0\0\0\0\x55\x06\xbb\0\0\0\0\0\x05\0\xa2\xff\0\0\0\0\x7b\ -\x6a\x90\xff\0\0\0\0\x79\x71\x08\0\0\0\0\0\x0f\x81\0\0\0\0\0\0\x7b\x17\x08\0\0\ -\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xa0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\xbf\x73\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\x85\0\ -\0\0\x05\0\0\0\xbf\x08\0\0\0\0\0\0\x79\x71\x10\0\0\0\0\0\xbf\x82\0\0\0\0\0\0\ -\x1f\x12\0\0\0\0\0\0\xb7\x01\0\0\0\xca\x9a\x3b\x2d\x21\xd6\0\0\0\0\0\x79\x72\0\ -\0\0\0\0\0\x79\x76\x08\0\0\0\0\0\x25\x06\x02\0\xff\x13\0\0\xb7\x01\0\0\0\x28\0\ -\0\x2d\x21\xd1\0\0\0\0\0\x7b\x2a\x88\xff\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\xb7\x02\0\0\x50\0\0\0\xb7\x03\0\0\0\0\0\0\x85\0\0\0\x83\0\0\0\xbf\x09\0\ -\0\0\0\0\0\x55\x09\x20\0\0\0\0\0\x05\0\x82\xff\0\0\0\0\x7b\x7a\x90\xff\0\0\0\0\ -\x79\x91\x08\0\0\0\0\0\x0f\x81\0\0\0\0\0\0\x7b\x19\x08\0\0\0\0\0\xbf\xa2\0\0\0\ -\0\0\0\x07\x02\0\0\xa0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x93\ -\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\x85\0\0\0\x05\0\0\0\x79\ -\x91\x10\0\0\0\0\0\xbf\x02\0\0\0\0\0\0\x1f\x12\0\0\0\0\0\0\xb7\x01\0\0\0\xca\ -\x9a\x3b\x2d\x21\xb7\0\0\0\0\0\x79\x98\0\0\0\0\0\0\x79\x97\x08\0\0\0\0\0\x25\ -\x07\x02\0\xff\x13\0\0\xb7\x01\0\0\0\x28\0\0\x2d\x81\xb2\0\0\0\0\0\x7b\x0a\x80\ -\xff\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x02\0\0\x50\0\0\0\xb7\x03\ -\0\0\0\0\0\0\x85\0\0\0\x83\0\0\0\xbf\x06\0\0\0\0\0\0\x55\x06\x28\0\0\0\0\0\x05\ -\0\x63\xff\0\0\0\0\x79\xa1\x88\xff\0\0\0\0\x7b\x19\x38\0\0\0\0\0\x7b\x69\x30\0\ -\0\0\0\0\xb7\x01\0\0\0\0\0\0\x7b\x19\x48\0\0\0\0\0\x7b\x19\x40\0\0\0\0\0\x7b\ -\x19\x28\0\0\0\0\0\x7b\x19\x20\0\0\0\0\0\x7b\x19\x18\0\0\0\0\0\x7b\x19\x10\0\0\ -\0\0\0\x7b\x19\x08\0\0\0\0\0\x7b\x19\0\0\0\0\0\0\xbf\x91\0\0\0\0\0\0\x07\x01\0\ -\0\x20\0\0\0\xb7\x02\0\0\x10\0\0\0\x79\xa3\x90\xff\0\0\0\0\x85\0\0\0\x2d\0\0\0\ -\xb7\x01\0\0\x02\0\0\0\x63\x19\x44\0\0\0\0\0\x61\xa1\xa0\xff\0\0\0\0\x63\x19\ -\x40\0\0\0\0\0\x69\xa1\xbe\xff\0\0\0\0\x6b\x19\x4a\0\0\0\0\0\x69\xa1\xbc\xff\0\ -\0\0\0\x6b\x19\x48\0\0\0\0\0\x61\xa1\xb8\xff\0\0\0\0\x63\x19\x10\0\0\0\0\0\x61\ -\xa1\xb4\xff\0\0\0\0\x63\x19\0\0\0\0\0\0\xbf\x91\0\0\0\0\0\0\xb7\x02\0\0\0\0\0\ -\0\x85\0\0\0\x84\0\0\0\x7b\x87\x10\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\ -\xa0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x73\0\0\0\0\0\0\x05\0\ -\x80\0\0\0\0\0\x7b\x86\x38\0\0\0\0\0\x7b\x76\x30\0\0\0\0\0\xb7\x01\0\0\0\0\0\0\ -\x7b\x16\x48\0\0\0\0\0\x7b\x16\x40\0\0\0\0\0\x7b\x16\x28\0\0\0\0\0\x7b\x16\x20\ -\0\0\0\0\0\x7b\x16\x18\0\0\0\0\0\x7b\x16\x10\0\0\0\0\0\x7b\x16\x08\0\0\0\0\0\ -\x7b\x16\0\0\0\0\0\0\xbf\x61\0\0\0\0\0\0\x07\x01\0\0\x20\0\0\0\xb7\x02\0\0\x10\ -\0\0\0\x79\xa3\x88\xff\0\0\0\0\x85\0\0\0\x2d\0\0\0\xb7\x01\0\0\x0a\0\0\0\x63\ -\x16\x44\0\0\0\0\0\x61\xa1\xc0\xff\0\0\0\0\x63\x16\x40\0\0\0\0\0\x69\xa1\xd6\ -\xff\0\0\0\0\x6b\x16\x4a\0\0\0\0\0\x69\xa1\xd4\xff\0\0\0\0\x6b\x16\x48\0\0\0\0\ -\0\xbf\x61\0\0\0\0\0\0\x07\x01\0\0\x10\0\0\0\xb7\x02\0\0\x10\0\0\0\x79\xa3\x90\ -\xff\0\0\0\0\x85\0\0\0\x04\0\0\0\xbf\xa7\0\0\0\0\0\0\x07\x07\0\0\xa0\xff\xff\ -\xff\xbf\x61\0\0\0\0\0\0\xb7\x02\0\0\x10\0\0\0\xbf\x73\0\0\0\0\0\0\x85\0\0\0\ -\x04\0\0\0\xbf\x61\0\0\0\0\0\0\xb7\x02\0\0\0\0\0\0\x85\0\0\0\x84\0\0\0\x79\xa1\ -\x80\xff\0\0\0\0\x7b\x19\x10\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\ -\x72\0\0\0\0\0\0\xbf\x93\0\0\0\0\0\0\x05\0\x53\0\0\0\0\0\x79\xa1\x88\xff\0\0\0\ -\0\x7b\x18\x38\0\0\0\0\0\x7b\x98\x30\0\0\0\0\0\x7b\x68\x48\0\0\0\0\0\x7b\x68\ -\x40\0\0\0\0\0\x7b\x68\x28\0\0\0\0\0\x7b\x68\x20\0\0\0\0\0\x7b\x68\x18\0\0\0\0\ -\0\x7b\x68\x10\0\0\0\0\0\x7b\x68\x08\0\0\0\0\0\x7b\x68\0\0\0\0\0\0\xbf\x81\0\0\ -\0\0\0\0\x07\x01\0\0\x20\0\0\0\xb7\x02\0\0\x10\0\0\0\x79\xa3\x90\xff\0\0\0\0\ -\x85\0\0\0\x2d\0\0\0\xb7\x01\0\0\x02\0\0\0\x63\x18\x44\0\0\0\0\0\x61\xa1\xa0\ -\xff\0\0\0\0\x63\x18\x40\0\0\0\0\0\x69\xa1\xbe\xff\0\0\0\0\x6b\x18\x4a\0\0\0\0\ -\0\x69\xa1\xbc\xff\0\0\0\0\x6b\x18\x48\0\0\0\0\0\x61\xa1\xb8\xff\0\0\0\0\x63\ -\x18\x10\0\0\0\0\0\x61\xa1\xb4\xff\0\0\0\0\x63\x18\0\0\0\0\0\0\xbf\x81\0\0\0\0\ -\0\0\xb7\x02\0\0\0\0\0\0\x85\0\0\0\x84\0\0\0\x7b\x7a\xf0\xff\0\0\0\0\xbf\xa2\0\ -\0\0\0\0\0\x07\x02\0\0\xa0\xff\xff\xff\xbf\xa3\0\0\0\0\0\0\x07\x03\0\0\xe0\xff\ -\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\x2c\0\0\0\0\0\x79\xa1\x80\ -\xff\0\0\0\0\x7b\x16\x38\0\0\0\0\0\x7b\x96\x30\0\0\0\0\0\x7b\x76\x48\0\0\0\0\0\ -\x7b\x76\x40\0\0\0\0\0\x7b\x76\x28\0\0\0\0\0\x7b\x76\x20\0\0\0\0\0\x7b\x76\x18\ -\0\0\0\0\0\x7b\x76\x10\0\0\0\0\0\x7b\x76\x08\0\0\0\0\0\x7b\x76\0\0\0\0\0\0\xbf\ -\x61\0\0\0\0\0\0\x07\x01\0\0\x20\0\0\0\xb7\x02\0\0\x10\0\0\0\x79\xa3\x88\xff\0\ -\0\0\0\x85\0\0\0\x2d\0\0\0\xb7\x01\0\0\x0a\0\0\0\x63\x16\x44\0\0\0\0\0\x61\xa1\ -\xc0\xff\0\0\0\0\x63\x16\x40\0\0\0\0\0\x69\xa1\xd6\xff\0\0\0\0\x6b\x16\x4a\0\0\ -\0\0\0\x69\xa1\xd4\xff\0\0\0\0\x6b\x16\x48\0\0\0\0\0\xbf\x61\0\0\0\0\0\0\x07\ -\x01\0\0\x10\0\0\0\xb7\x02\0\0\x10\0\0\0\x79\xa3\x90\xff\0\0\0\0\x85\0\0\0\x04\ -\0\0\0\xbf\xa7\0\0\0\0\0\0\x07\x07\0\0\xa0\xff\xff\xff\xbf\x61\0\0\0\0\0\0\xb7\ -\x02\0\0\x10\0\0\0\xbf\x73\0\0\0\0\0\0\x85\0\0\0\x04\0\0\0\xbf\x61\0\0\0\0\0\0\ -\xb7\x02\0\0\0\0\0\0\x85\0\0\0\x84\0\0\0\x7b\x8a\xf0\xff\0\0\0\0\xbf\xa3\0\0\0\ -\0\0\0\x07\x03\0\0\xe0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x72\ -\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\ -\x02\0\0\x9c\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x03\0\0\ -\0\xb7\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\x79\x18\x68\0\0\0\0\0\x67\x08\0\0\x20\0\ -\0\0\xbf\x82\0\0\0\0\0\0\xc7\x02\0\0\x20\0\0\0\xb7\x03\0\0\x01\0\0\0\x6d\x23\ -\xb0\x01\0\0\0\0\x77\x08\0\0\x20\0\0\0\x79\x19\x70\0\0\0\0\0\x85\0\0\0\x0e\0\0\ -\0\xbf\x06\0\0\0\0\0\0\xb7\x07\0\0\0\0\0\0\x6b\x7a\xfe\xff\0\0\0\0\x6b\x7a\xfc\ -\xff\0\0\0\0\x85\0\0\0\x05\0\0\0\x7b\x0a\x98\xff\0\0\0\0\xb7\x01\0\0\x10\0\0\0\ -\xbf\x93\0\0\0\0\0\0\x0f\x13\0\0\0\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\xfe\ -\xff\xff\xff\xb7\x02\0\0\x02\0\0\0\x85\0\0\0\x71\0\0\0\x69\xa1\xfe\xff\0\0\0\0\ -\x15\x01\x5d\0\x0a\0\0\0\x55\x01\x9d\x01\x02\0\0\0\xb7\x01\0\0\0\0\0\0\x63\x1a\ -\xb8\xff\0\0\0\0\x63\x1a\xb4\xff\0\0\0\0\x63\x1a\xb0\xff\0\0\0\0\x63\x1a\xac\ -\xff\0\0\0\0\x63\x1a\xa8\xff\0\0\0\0\x63\x1a\xa4\xff\0\0\0\0\x63\x1a\xbc\xff\0\ -\0\0\0\x63\x6a\xa0\xff\0\0\0\0\xbf\xa6\0\0\0\0\0\0\x07\x06\0\0\xa4\xff\xff\xff\ -\xbf\x61\0\0\0\0\0\0\xb7\x02\0\0\x10\0\0\0\x85\0\0\0\x10\0\0\0\xb7\x01\0\0\x04\ -\0\0\0\xbf\x93\0\0\0\0\0\0\x0f\x13\0\0\0\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\ -\xb4\xff\xff\xff\xb7\x02\0\0\x04\0\0\0\x85\0\0\0\x71\0\0\0\xb7\x01\0\0\0\0\0\0\ -\xbf\x93\0\0\0\0\0\0\x0f\x13\0\0\0\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\xb8\ -\xff\xff\xff\xb7\x02\0\0\x04\0\0\0\x85\0\0\0\x71\0\0\0\xb7\x01\0\0\x0e\0\0\0\ -\xbf\x93\0\0\0\0\0\0\x0f\x13\0\0\0\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\xbc\ -\xff\xff\xff\xb7\x02\0\0\x02\0\0\0\x85\0\0\0\x71\0\0\0\xb7\x01\0\0\x0c\0\0\0\ -\x0f\x19\0\0\0\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\xfc\xff\xff\xff\xb7\x02\0\ -\0\x02\0\0\0\xbf\x93\0\0\0\0\0\0\x85\0\0\0\x71\0\0\0\x69\xa1\xfc\xff\0\0\0\0\ -\xdc\x01\0\0\x10\0\0\0\x6b\x1a\xbe\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\ -\xa0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\xbf\ -\x07\0\0\0\0\0\0\x55\x07\x81\0\0\0\0\0\x79\xa1\x98\xff\0\0\0\0\x7b\x1a\xf0\xff\ -\0\0\0\0\x7b\x8a\xe0\xff\0\0\0\0\xb7\x01\0\0\0\0\0\0\x7b\x1a\xe8\xff\0\0\0\0\ -\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xa0\xff\xff\xff\xbf\xa3\0\0\0\0\0\0\x07\x03\0\ -\0\xe0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\ -\0\0\0\x02\0\0\0\x85\0\0\0\x05\0\0\0\xbf\x07\0\0\0\0\0\0\x79\xa1\xf0\xff\0\0\0\ -\0\xbf\x72\0\0\0\0\0\0\x1f\x12\0\0\0\0\0\0\xb7\x01\0\0\0\xca\x9a\x3b\x2d\x21\ -\x55\x01\0\0\0\0\x79\xa2\xe0\xff\0\0\0\0\x79\xa9\xe8\xff\0\0\0\0\x25\x09\x02\0\ -\xff\x13\0\0\xb7\x01\0\0\0\x28\0\0\x2d\x21\x50\x01\0\0\0\0\x7b\x2a\x90\xff\0\0\ -\0\0\x7b\x6a\x98\xff\0\0\0\0\xb7\x06\0\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\xb7\x02\0\0\x50\0\0\0\xb7\x03\0\0\0\0\0\0\x85\0\0\0\x83\0\0\0\xbf\x08\0\ -\0\0\0\0\0\x55\x08\xf1\0\0\0\0\0\x18\x01\0\0\x5b\0\0\0\0\0\0\0\0\0\0\0\xb7\x02\ -\0\0\x1b\0\0\0\x85\0\0\0\x06\0\0\0\x05\0\x41\x01\0\0\0\0\x7b\x7a\xc0\xff\0\0\0\ -\0\x7b\x7a\xd8\xff\0\0\0\0\x7b\x7a\xd0\xff\0\0\0\0\x7b\x7a\xc8\xff\0\0\0\0\x7b\ -\x7a\xb8\xff\0\0\0\0\x7b\x7a\xb0\xff\0\0\0\0\x7b\x7a\xa8\xff\0\0\0\0\x7b\x7a\ -\xa0\xff\0\0\0\0\x63\x6a\xc0\xff\0\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\xc4\ -\xff\xff\xff\x7b\x1a\x90\xff\0\0\0\0\xb7\x02\0\0\x10\0\0\0\x85\0\0\0\x10\0\0\0\ -\xb7\x01\0\0\x48\0\0\0\xbf\x93\0\0\0\0\0\0\x0f\x13\0\0\0\0\0\0\xbf\xa6\0\0\0\0\ -\0\0\x07\x06\0\0\xa0\xff\xff\xff\xbf\x61\0\0\0\0\0\0\xb7\x02\0\0\x10\0\0\0\x85\ -\0\0\0\x71\0\0\0\xb7\x01\0\0\x38\0\0\0\xbf\x93\0\0\0\0\0\0\x0f\x13\0\0\0\0\0\0\ -\xbf\xa7\0\0\0\0\0\0\x07\x07\0\0\xb0\xff\xff\xff\xbf\x71\0\0\0\0\0\0\xb7\x02\0\ -\0\x10\0\0\0\x85\0\0\0\x71\0\0\0\xb7\x01\0\0\x0e\0\0\0\xbf\x93\0\0\0\0\0\0\x0f\ -\x13\0\0\0\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\xd4\xff\xff\xff\xb7\x02\0\0\ -\x02\0\0\0\x85\0\0\0\x71\0\0\0\xb7\x01\0\0\x0c\0\0\0\x0f\x19\0\0\0\0\0\0\xbf\ -\xa1\0\0\0\0\0\0\x07\x01\0\0\xfc\xff\xff\xff\xb7\x02\0\0\x02\0\0\0\xbf\x93\0\0\ -\0\0\0\0\x85\0\0\0\x71\0\0\0\x69\xa1\xfc\xff\0\0\0\0\xdc\x01\0\0\x10\0\0\0\x6b\ -\x1a\xd6\xff\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x62\0\0\0\0\0\0\ -\x85\0\0\0\x01\0\0\0\xbf\x09\0\0\0\0\0\0\x55\x09\x44\0\0\0\0\0\x79\xa1\x98\xff\ -\0\0\0\0\x7b\x1a\xf0\xff\0\0\0\0\x7b\x8a\xe0\xff\0\0\0\0\xb7\x01\0\0\0\0\0\0\ -\x7b\x1a\xe8\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xa0\xff\xff\xff\xbf\ -\xa3\0\0\0\0\0\0\x07\x03\0\0\xe0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\x85\0\0\0\x05\0\0\0\xbf\x08\0\0\0\0\ -\0\0\x79\xa1\xf0\xff\0\0\0\0\xbf\x82\0\0\0\0\0\0\x1f\x12\0\0\0\0\0\0\xb7\x01\0\ -\0\0\xca\x9a\x3b\x2d\x21\xf8\0\0\0\0\0\x79\xa2\xe0\xff\0\0\0\0\x79\xa9\xe8\xff\ -\0\0\0\0\x25\x09\x02\0\xff\x13\0\0\xb7\x01\0\0\0\x28\0\0\x2d\x21\xf3\0\0\0\0\0\ -\x7b\x2a\x88\xff\0\0\0\0\x7b\x7a\x98\xff\0\0\0\0\xb7\x07\0\0\0\0\0\0\x18\x01\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x02\0\0\x50\0\0\0\xb7\x03\0\0\0\0\0\0\x85\0\0\0\ -\x83\0\0\0\xbf\x06\0\0\0\0\0\0\x55\x06\xbb\0\0\0\0\0\x05\0\xa2\xff\0\0\0\0\x7b\ -\x6a\x98\xff\0\0\0\0\x79\x71\0\0\0\0\0\0\x0f\x81\0\0\0\0\0\0\x7b\x17\0\0\0\0\0\ -\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xa0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\xbf\x73\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\x85\0\0\0\ -\x05\0\0\0\xbf\x08\0\0\0\0\0\0\x79\x71\x10\0\0\0\0\0\xbf\x82\0\0\0\0\0\0\x1f\ -\x12\0\0\0\0\0\0\xb7\x01\0\0\0\xca\x9a\x3b\x2d\x21\xd6\0\0\0\0\0\x79\x72\0\0\0\ -\0\0\0\x79\x76\x08\0\0\0\0\0\x25\x06\x02\0\xff\x13\0\0\xb7\x01\0\0\0\x28\0\0\ -\x2d\x21\xd1\0\0\0\0\0\x7b\x2a\x90\xff\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\xb7\x02\0\0\x50\0\0\0\xb7\x03\0\0\0\0\0\0\x85\0\0\0\x83\0\0\0\xbf\x09\0\0\ -\0\0\0\0\x55\x09\x20\0\0\0\0\0\x05\0\x82\xff\0\0\0\0\x7b\x7a\x98\xff\0\0\0\0\ -\x79\x91\0\0\0\0\0\0\x0f\x81\0\0\0\0\0\0\x7b\x19\0\0\0\0\0\0\xbf\xa2\0\0\0\0\0\ -\0\x07\x02\0\0\xa0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x93\0\0\ -\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\x85\0\0\0\x05\0\0\0\x79\x91\ -\x10\0\0\0\0\0\xbf\x02\0\0\0\0\0\0\x1f\x12\0\0\0\0\0\0\xb7\x01\0\0\0\xca\x9a\ -\x3b\x2d\x21\xb7\0\0\0\0\0\x79\x98\0\0\0\0\0\0\x79\x97\x08\0\0\0\0\0\x25\x07\ -\x02\0\xff\x13\0\0\xb7\x01\0\0\0\x28\0\0\x2d\x81\xb2\0\0\0\0\0\x7b\x0a\x88\xff\ -\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x02\0\0\x50\0\0\0\xb7\x03\0\0\ -\0\0\0\0\x85\0\0\0\x83\0\0\0\xbf\x06\0\0\0\0\0\0\x55\x06\x28\0\0\0\0\0\x05\0\ -\x63\xff\0\0\0\0\x79\xa1\x90\xff\0\0\0\0\x7b\x19\x38\0\0\0\0\0\x7b\x69\x30\0\0\ -\0\0\0\xb7\x01\0\0\0\0\0\0\x7b\x19\x48\0\0\0\0\0\x7b\x19\x40\0\0\0\0\0\x7b\x19\ -\x28\0\0\0\0\0\x7b\x19\x20\0\0\0\0\0\x7b\x19\x18\0\0\0\0\0\x7b\x19\x10\0\0\0\0\ -\0\x7b\x19\x08\0\0\0\0\0\x7b\x19\0\0\0\0\0\0\xbf\x91\0\0\0\0\0\0\x07\x01\0\0\ -\x20\0\0\0\xb7\x02\0\0\x10\0\0\0\x79\xa3\x98\xff\0\0\0\0\x85\0\0\0\x2d\0\0\0\ -\xb7\x01\0\0\x02\0\0\0\x63\x19\x44\0\0\0\0\0\x61\xa1\xa0\xff\0\0\0\0\x63\x19\ -\x40\0\0\0\0\0\x69\xa1\xbe\xff\0\0\0\0\x6b\x19\x4a\0\0\0\0\0\x69\xa1\xbc\xff\0\ -\0\0\0\x6b\x19\x48\0\0\0\0\0\x61\xa1\xb8\xff\0\0\0\0\x63\x19\x10\0\0\0\0\0\x61\ -\xa1\xb4\xff\0\0\0\0\x63\x19\0\0\0\0\0\0\xbf\x91\0\0\0\0\0\0\xb7\x02\0\0\0\0\0\ -\0\x85\0\0\0\x84\0\0\0\x7b\x87\x10\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\ -\xa0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x73\0\0\0\0\0\0\x05\0\ -\x80\0\0\0\0\0\x7b\x86\x38\0\0\0\0\0\x7b\x76\x30\0\0\0\0\0\xb7\x01\0\0\0\0\0\0\ -\x7b\x16\x48\0\0\0\0\0\x7b\x16\x40\0\0\0\0\0\x7b\x16\x28\0\0\0\0\0\x7b\x16\x20\ -\0\0\0\0\0\x7b\x16\x18\0\0\0\0\0\x7b\x16\x10\0\0\0\0\0\x7b\x16\x08\0\0\0\0\0\ -\x7b\x16\0\0\0\0\0\0\xbf\x61\0\0\0\0\0\0\x07\x01\0\0\x20\0\0\0\xb7\x02\0\0\x10\ -\0\0\0\x79\xa3\x90\xff\0\0\0\0\x85\0\0\0\x2d\0\0\0\xb7\x01\0\0\x0a\0\0\0\x63\ -\x16\x44\0\0\0\0\0\x61\xa1\xc0\xff\0\0\0\0\x63\x16\x40\0\0\0\0\0\x69\xa1\xd6\ -\xff\0\0\0\0\x6b\x16\x4a\0\0\0\0\0\x69\xa1\xd4\xff\0\0\0\0\x6b\x16\x48\0\0\0\0\ -\0\xbf\x61\0\0\0\0\0\0\x07\x01\0\0\x10\0\0\0\xb7\x02\0\0\x10\0\0\0\x79\xa3\x98\ -\xff\0\0\0\0\x85\0\0\0\x04\0\0\0\xbf\xa7\0\0\0\0\0\0\x07\x07\0\0\xa0\xff\xff\ -\xff\xbf\x61\0\0\0\0\0\0\xb7\x02\0\0\x10\0\0\0\xbf\x73\0\0\0\0\0\0\x85\0\0\0\ -\x04\0\0\0\xbf\x61\0\0\0\0\0\0\xb7\x02\0\0\0\0\0\0\x85\0\0\0\x84\0\0\0\x79\xa1\ -\x88\xff\0\0\0\0\x7b\x19\x10\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\ -\x72\0\0\0\0\0\0\xbf\x93\0\0\0\0\0\0\x05\0\x53\0\0\0\0\0\x79\xa1\x90\xff\0\0\0\ -\0\x7b\x18\x38\0\0\0\0\0\x7b\x98\x30\0\0\0\0\0\x7b\x68\x48\0\0\0\0\0\x7b\x68\ -\x40\0\0\0\0\0\x7b\x68\x28\0\0\0\0\0\x7b\x68\x20\0\0\0\0\0\x7b\x68\x18\0\0\0\0\ -\0\x7b\x68\x10\0\0\0\0\0\x7b\x68\x08\0\0\0\0\0\x7b\x68\0\0\0\0\0\0\xbf\x81\0\0\ -\0\0\0\0\x07\x01\0\0\x20\0\0\0\xb7\x02\0\0\x10\0\0\0\x79\xa3\x98\xff\0\0\0\0\ -\x85\0\0\0\x2d\0\0\0\xb7\x01\0\0\x02\0\0\0\x63\x18\x44\0\0\0\0\0\x61\xa1\xa0\ -\xff\0\0\0\0\x63\x18\x40\0\0\0\0\0\x69\xa1\xbe\xff\0\0\0\0\x6b\x18\x4a\0\0\0\0\ -\0\x69\xa1\xbc\xff\0\0\0\0\x6b\x18\x48\0\0\0\0\0\x61\xa1\xb8\xff\0\0\0\0\x63\ -\x18\x10\0\0\0\0\0\x61\xa1\xb4\xff\0\0\0\0\x63\x18\0\0\0\0\0\0\xbf\x81\0\0\0\0\ -\0\0\xb7\x02\0\0\0\0\0\0\x85\0\0\0\x84\0\0\0\x7b\x7a\xf0\xff\0\0\0\0\xbf\xa2\0\ -\0\0\0\0\0\x07\x02\0\0\xa0\xff\xff\xff\xbf\xa3\0\0\0\0\0\0\x07\x03\0\0\xe0\xff\ -\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x05\0\x2c\0\0\0\0\0\x79\xa1\x88\ -\xff\0\0\0\0\x7b\x16\x38\0\0\0\0\0\x7b\x96\x30\0\0\0\0\0\x7b\x76\x48\0\0\0\0\0\ -\x7b\x76\x40\0\0\0\0\0\x7b\x76\x28\0\0\0\0\0\x7b\x76\x20\0\0\0\0\0\x7b\x76\x18\ -\0\0\0\0\0\x7b\x76\x10\0\0\0\0\0\x7b\x76\x08\0\0\0\0\0\x7b\x76\0\0\0\0\0\0\xbf\ -\x61\0\0\0\0\0\0\x07\x01\0\0\x20\0\0\0\xb7\x02\0\0\x10\0\0\0\x79\xa3\x90\xff\0\ -\0\0\0\x85\0\0\0\x2d\0\0\0\xb7\x01\0\0\x0a\0\0\0\x63\x16\x44\0\0\0\0\0\x61\xa1\ -\xc0\xff\0\0\0\0\x63\x16\x40\0\0\0\0\0\x69\xa1\xd6\xff\0\0\0\0\x6b\x16\x4a\0\0\ -\0\0\0\x69\xa1\xd4\xff\0\0\0\0\x6b\x16\x48\0\0\0\0\0\xbf\x61\0\0\0\0\0\0\x07\ -\x01\0\0\x10\0\0\0\xb7\x02\0\0\x10\0\0\0\x79\xa3\x98\xff\0\0\0\0\x85\0\0\0\x04\ -\0\0\0\xbf\xa7\0\0\0\0\0\0\x07\x07\0\0\xa0\xff\xff\xff\xbf\x61\0\0\0\0\0\0\xb7\ -\x02\0\0\x10\0\0\0\xbf\x73\0\0\0\0\0\0\x85\0\0\0\x04\0\0\0\xbf\x61\0\0\0\0\0\0\ -\xb7\x02\0\0\0\0\0\0\x85\0\0\0\x84\0\0\0\x7b\x8a\xf0\xff\0\0\0\0\xbf\xa3\0\0\0\ -\0\0\0\x07\x03\0\0\xe0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x72\ -\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\xb7\0\0\0\0\0\0\0\x95\0\0\ -\0\0\0\0\0\x79\x11\x70\0\0\0\0\0\x7b\x1a\xf8\xff\0\0\0\0\x85\0\0\0\x0e\0\0\0\ -\xbf\x06\0\0\0\0\0\0\x85\0\0\0\x05\0\0\0\xbf\x61\0\0\0\0\0\0\x77\x01\0\0\x20\0\ -\0\0\x15\x01\x12\0\0\0\0\0\x7b\x0a\xe0\xff\0\0\0\0\x63\x1a\xdc\xff\0\0\0\0\x63\ -\x6a\xd8\xff\0\0\0\0\xb7\x01\0\0\0\0\0\0\x7b\x1a\xe8\xff\0\0\0\0\x7b\x1a\xf0\ -\xff\0\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\xe8\xff\xff\xff\xb7\x02\0\0\x10\0\ -\0\0\x85\0\0\0\x10\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf8\xff\xff\xff\xbf\ -\xa3\0\0\0\0\0\0\x07\x03\0\0\xd8\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\xb7\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\ -\x79\x11\x70\0\0\0\0\0\x7b\x1a\xf8\xff\0\0\0\0\x85\0\0\0\x0e\0\0\0\xbf\x06\0\0\ -\0\0\0\0\x85\0\0\0\x05\0\0\0\xbf\x61\0\0\0\0\0\0\x77\x01\0\0\x20\0\0\0\x15\x01\ -\x12\0\0\0\0\0\x7b\x0a\xe0\xff\0\0\0\0\x63\x1a\xdc\xff\0\0\0\0\x63\x6a\xd8\xff\ -\0\0\0\0\xb7\x01\0\0\0\0\0\0\x7b\x1a\xe8\xff\0\0\0\0\x7b\x1a\xf0\xff\0\0\0\0\ -\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\xe8\xff\xff\xff\xb7\x02\0\0\x10\0\0\0\x85\0\0\ -\0\x10\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf8\xff\xff\xff\xbf\xa3\0\0\0\0\0\ -\0\x07\x03\0\0\xd8\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x04\0\0\ -\0\0\0\0\x85\0\0\0\x02\0\0\0\xb7\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\x79\x11\x70\0\ -\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\xb7\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\x79\ -\x11\0\0\0\0\0\0\x7b\x1a\xf8\xff\0\0\0\0\x85\0\0\0\x0e\0\0\0\xbf\x06\0\0\0\0\0\ -\0\x85\0\0\0\x05\0\0\0\xbf\x61\0\0\0\0\0\0\x77\x01\0\0\x20\0\0\0\x15\x01\x12\0\ -\0\0\0\0\x7b\x0a\xe0\xff\0\0\0\0\x63\x1a\xdc\xff\0\0\0\0\x63\x6a\xd8\xff\0\0\0\ -\0\xb7\x01\0\0\0\0\0\0\x7b\x1a\xe8\xff\0\0\0\0\x7b\x1a\xf0\xff\0\0\0\0\xbf\xa1\ -\0\0\0\0\0\0\x07\x01\0\0\xe8\xff\xff\xff\xb7\x02\0\0\x10\0\0\0\x85\0\0\0\x10\0\ -\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf8\xff\xff\xff\xbf\xa3\0\0\0\0\0\0\x07\ -\x03\0\0\xd8\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\ -\0\x85\0\0\0\x02\0\0\0\xb7\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\x79\x11\0\0\0\0\0\0\ -\x7b\x1a\xf8\xff\0\0\0\0\x85\0\0\0\x0e\0\0\0\xbf\x06\0\0\0\0\0\0\x85\0\0\0\x05\ -\0\0\0\xbf\x61\0\0\0\0\0\0\x77\x01\0\0\x20\0\0\0\x15\x01\x12\0\0\0\0\0\x7b\x0a\ -\xe0\xff\0\0\0\0\x63\x1a\xdc\xff\0\0\0\0\x63\x6a\xd8\xff\0\0\0\0\xb7\x01\0\0\0\ -\0\0\0\x7b\x1a\xe8\xff\0\0\0\0\x7b\x1a\xf0\xff\0\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\ -\x01\0\0\xe8\xff\xff\xff\xb7\x02\0\0\x10\0\0\0\x85\0\0\0\x10\0\0\0\xbf\xa2\0\0\ -\0\0\0\0\x07\x02\0\0\xf8\xff\xff\xff\xbf\xa3\0\0\0\0\0\0\x07\x03\0\0\xd8\xff\ -\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\ -\0\0\0\xb7\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\x79\x11\0\0\0\0\0\0\x85\x10\0\0\xff\ -\xff\xff\xff\xb7\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\x79\x17\0\0\0\0\0\0\x18\x01\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\x18\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\ -\0\0\xbf\x06\0\0\0\0\0\0\x55\x06\x14\0\0\0\0\0\xb7\x01\0\0\0\0\0\0\x7b\x1a\xf8\ -\xff\0\0\0\0\x7b\x1a\xf0\xff\0\0\0\0\x7b\x1a\xe8\xff\0\0\0\0\x7b\x1a\xe0\xff\0\ -\0\0\0\xbf\xa3\0\0\0\0\0\0\x07\x03\0\0\xe0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\x18\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\ -\x02\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x18\x02\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\x85\0\0\0\x01\0\0\0\xbf\x06\0\0\0\0\0\0\x15\x06\x2b\0\0\0\0\0\xb7\x01\0\0\ -\x10\x09\0\0\x0f\x17\0\0\0\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\xe0\xff\xff\ -\xff\xb7\x02\0\0\x04\0\0\0\xbf\x73\0\0\0\0\0\0\x85\0\0\0\x71\0\0\0\xb7\x01\0\0\ -\0\0\0\0\x61\xa2\xe0\xff\0\0\0\0\xb7\x03\0\0\x40\x1f\0\0\x2d\x23\x13\0\0\0\0\0\ -\xb7\x01\0\0\x01\0\0\0\xb7\x03\0\0\x40\x9c\0\0\x2d\x23\x10\0\0\0\0\0\xb7\x01\0\ -\0\x02\0\0\0\xb7\x03\0\0\x40\x13\x02\0\x2d\x23\x0d\0\0\0\0\0\xb7\x01\0\0\x03\0\ -\0\0\xb7\x03\0\0\x40\x07\x04\0\x2d\x23\x0a\0\0\0\0\0\xb7\x01\0\0\x04\0\0\0\xb7\ -\x03\0\0\x40\xef\x07\0\x2d\x23\x07\0\0\0\0\0\xb7\x01\0\0\x05\0\0\0\xb7\x03\0\0\ -\x40\xbf\x0f\0\x2d\x23\x04\0\0\0\0\0\xb7\x01\0\0\x06\0\0\0\xb7\x03\0\0\x40\x5f\ -\x1f\0\x2d\x23\x01\0\0\0\0\0\xb7\x01\0\0\x07\0\0\0\x67\x01\0\0\x02\0\0\0\xbf\ -\x62\0\0\0\0\0\0\x0f\x12\0\0\0\0\0\0\x61\x21\0\0\0\0\0\0\x07\x01\0\0\x01\0\0\0\ -\x63\x12\0\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x18\x02\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\xbf\x63\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x02\0\0\0\xb7\ -\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x18\x02\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\xbf\x06\0\0\0\0\0\0\x55\x06\x05\ -\0\0\0\0\0\x18\x01\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\xb7\x02\0\0\x1c\0\0\0\x85\0\0\ -\0\x06\0\0\0\x05\0\x27\0\0\0\0\0\xb7\x07\0\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\xb7\x02\0\0\x20\0\0\0\xb7\x03\0\0\0\0\0\0\x85\0\0\0\x83\0\0\0\x55\0\ -\x05\0\0\0\0\0\x18\x01\0\0\x20\0\0\0\0\0\0\0\0\0\0\0\xb7\x02\0\0\x1b\0\0\0\x85\ -\0\0\0\x06\0\0\0\x05\0\x1b\0\0\0\0\0\x63\x70\x1c\0\0\0\0\0\x63\x70\x18\0\0\0\0\ -\0\x63\x70\x14\0\0\0\0\0\x63\x70\x10\0\0\0\0\0\x63\x70\x0c\0\0\0\0\0\x63\x70\ -\x08\0\0\0\0\0\x63\x70\x04\0\0\0\0\0\x63\x70\0\0\0\0\0\0\x61\x61\0\0\0\0\0\0\ -\x63\x10\0\0\0\0\0\0\x61\x61\x04\0\0\0\0\0\x63\x10\x04\0\0\0\0\0\x61\x61\x08\0\ -\0\0\0\0\x63\x10\x08\0\0\0\0\0\x61\x61\x0c\0\0\0\0\0\x63\x10\x0c\0\0\0\0\0\x61\ -\x61\x10\0\0\0\0\0\x63\x10\x10\0\0\0\0\0\x61\x61\x14\0\0\0\0\0\x63\x10\x14\0\0\ -\0\0\0\x61\x61\x18\0\0\0\0\0\x63\x10\x18\0\0\0\0\0\x61\x61\x1c\0\0\0\0\0\x63\ -\x10\x1c\0\0\0\0\0\xbf\x01\0\0\0\0\0\0\xb7\x02\0\0\0\0\0\0\x85\0\0\0\x84\0\0\0\ -\xb7\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\x44\x75\x61\x6c\x20\x42\x53\x44\x2f\x47\ -\x50\x4c\0\0\0\0\0\0\0\0\x74\x68\x65\x20\x74\x63\x70\x72\x74\x74\x20\x6d\x61\ -\x70\x20\x69\x73\x20\x6e\x6f\x74\x20\x69\x6e\x69\x74\x0a\0\x74\x68\x65\x20\x74\ -\x63\x70\x72\x74\x74\x20\x62\x75\x66\x66\x65\x72\x20\x69\x73\x20\x66\x75\x6c\ -\x6c\x0a\0\x74\x68\x65\x20\x74\x63\x70\x5f\x72\x65\x74\x72\x61\x6e\x73\x20\x62\ -\x75\x66\x66\x65\x72\x20\x69\x73\x20\x66\x75\x6c\x6c\x0a\0\x74\x68\x65\x20\x74\ -\x63\x70\x74\x6f\x70\x20\x62\x75\x66\x66\x65\x72\x20\x69\x73\x20\x66\x75\x6c\ -\x6c\x0a\0\x74\x68\x65\x20\x6e\x65\x74\x20\x6c\x61\x74\x65\x6e\x63\x79\x20\x62\ -\x75\x66\x66\x65\x72\x20\x69\x73\x20\x66\x75\x6c\x6c\x0a\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x60\0\0\0\0\0\0\0\x01\0\0\0\x51\0\0\ -\0\xb0\0\0\0\0\0\0\0\x01\0\0\0\x5c\0\0\0\xe8\0\0\0\0\0\0\0\x01\0\0\0\x46\0\0\0\ -\xd8\x01\0\0\0\0\0\0\x01\0\0\0\x48\0\0\0\x10\x02\0\0\0\0\0\0\x01\0\0\0\x46\0\0\ -\0\x40\0\0\0\0\0\0\0\x01\0\0\0\x4a\0\0\0\x28\0\0\0\0\0\0\0\x01\0\0\0\x4a\0\0\0\ -\x88\x02\0\0\0\0\0\0\x01\0\0\0\x4c\0\0\0\xf8\x02\0\0\0\0\0\0\x01\0\0\0\x4c\0\0\ -\0\x90\x03\0\0\0\0\0\0\x01\0\0\0\x4d\0\0\0\xc8\x03\0\0\0\0\0\0\x01\0\0\0\x46\0\ -\0\0\x68\x05\0\0\0\0\0\0\x01\0\0\0\x4e\0\0\0\xe0\x05\0\0\0\0\0\0\x01\0\0\0\x4e\ -\0\0\0\x78\x06\0\0\0\0\0\0\x01\0\0\0\x4d\0\0\0\xe8\x06\0\0\0\0\0\0\x01\0\0\0\ -\x4c\0\0\0\x78\x07\0\0\0\0\0\0\x01\0\0\0\x4d\0\0\0\xe8\x07\0\0\0\0\0\0\x01\0\0\ -\0\x4e\0\0\0\x70\x08\0\0\0\0\0\0\x01\0\0\0\x4d\0\0\0\xc8\x09\0\0\0\0\0\0\x01\0\ -\0\0\x4c\0\0\0\x28\x0b\0\0\0\0\0\0\x01\0\0\0\x4e\0\0\0\x70\x0c\0\0\0\0\0\0\x01\ -\0\0\0\x4c\0\0\0\xd0\x0d\0\0\0\0\0\0\x01\0\0\0\x4e\0\0\0\x08\x0e\0\0\0\0\0\0\ -\x01\0\0\0\x4a\0\0\0\x40\x02\0\0\0\0\0\0\x01\0\0\0\x4c\0\0\0\xb0\x02\0\0\0\0\0\ -\0\x01\0\0\0\x4c\0\0\0\x48\x03\0\0\0\0\0\0\x01\0\0\0\x4d\0\0\0\x80\x03\0\0\0\0\ -\0\0\x01\0\0\0\x46\0\0\0\x20\x05\0\0\0\0\0\0\x01\0\0\0\x4e\0\0\0\x98\x05\0\0\0\ -\0\0\0\x01\0\0\0\x4e\0\0\0\x30\x06\0\0\0\0\0\0\x01\0\0\0\x4d\0\0\0\xa0\x06\0\0\ -\0\0\0\0\x01\0\0\0\x4c\0\0\0\x30\x07\0\0\0\0\0\0\x01\0\0\0\x4d\0\0\0\xa0\x07\0\ -\0\0\0\0\0\x01\0\0\0\x4e\0\0\0\x28\x08\0\0\0\0\0\0\x01\0\0\0\x4d\0\0\0\x80\x09\ -\0\0\0\0\0\0\x01\0\0\0\x4c\0\0\0\xe0\x0a\0\0\0\0\0\0\x01\0\0\0\x4e\0\0\0\x28\ -\x0c\0\0\0\0\0\0\x01\0\0\0\x4c\0\0\0\x88\x0d\0\0\0\0\0\0\x01\0\0\0\x4e\0\0\0\ -\xb0\0\0\0\0\0\0\0\x01\0\0\0\x51\0\0\0\xb0\0\0\0\0\0\0\0\x01\0\0\0\x51\0\0\0\ -\x08\0\0\0\0\0\0\0\x0a\0\0\0\x02\0\0\0\xb0\0\0\0\0\0\0\0\x01\0\0\0\x51\0\0\0\ -\xb0\0\0\0\0\0\0\0\x01\0\0\0\x51\0\0\0\x08\0\0\0\0\0\0\0\x0a\0\0\0\x02\0\0\0\ -\x08\0\0\0\0\0\0\0\x01\0\0\0\x58\0\0\0\x18\0\0\0\0\0\0\0\x01\0\0\0\x59\0\0\0\ -\x78\0\0\0\0\0\0\0\x01\0\0\0\x58\0\0\0\x88\0\0\0\0\0\0\0\x01\0\0\0\x59\0\0\0\ -\xa8\0\0\0\0\0\0\0\x01\0\0\0\x58\0\0\0\xb8\0\0\0\0\0\0\0\x01\0\0\0\x59\0\0\0\0\ -\x02\0\0\0\0\0\0\x01\0\0\0\x58\0\0\0\x10\x02\0\0\0\0\0\0\x01\0\0\0\x59\0\0\0\0\ -\0\0\0\0\0\0\0\x01\0\0\0\x58\0\0\0\x10\0\0\0\0\0\0\0\x01\0\0\0\x59\0\0\0\x38\0\ -\0\0\0\0\0\0\x01\0\0\0\x46\0\0\0\x68\0\0\0\0\0\0\0\x01\0\0\0\x5b\0\0\0\x98\0\0\ -\0\0\0\0\0\x01\0\0\0\x46\0\0\0\x9f\xeb\x01\0\x18\0\0\0\0\0\0\0\xac\x3f\0\0\xac\ -\x3f\0\0\xc6\x47\0\0\0\0\0\0\0\0\0\x02\x03\0\0\0\x01\0\0\0\0\0\0\x01\x04\0\0\0\ -\x20\0\0\x01\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\x02\0\0\0\x05\0\0\0\ -\0\0\0\x01\x04\0\0\0\x20\0\0\0\0\0\0\0\0\0\0\x02\x06\0\0\0\0\0\0\0\0\0\0\x03\0\ -\0\0\0\x02\0\0\0\x04\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\x02\x08\0\0\0\0\0\0\0\0\0\0\ -\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\x20\0\0\0\0\0\0\0\0\0\0\x02\x0a\0\0\0\0\0\0\0\ -\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\x01\0\0\0\0\0\0\0\x04\0\0\x04\x20\0\0\0\ -\x19\0\0\0\x01\0\0\0\0\0\0\0\x1e\0\0\0\x05\0\0\0\x40\0\0\0\x27\0\0\0\x07\0\0\0\ -\x80\0\0\0\x32\0\0\0\x09\0\0\0\xc0\0\0\0\x3e\0\0\0\0\0\0\x0e\x0b\0\0\0\x01\0\0\ -\0\0\0\0\0\0\0\0\x02\x0e\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\ -\x1b\0\0\0\0\0\0\0\0\0\0\x02\x10\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\ -\0\0\0\0\0\x02\0\0\0\0\0\x02\0\0\x04\x10\0\0\0\x19\0\0\0\x0d\0\0\0\0\0\0\0\x32\ -\0\0\0\x0f\0\0\0\x40\0\0\0\x49\0\0\0\0\0\0\x0e\x11\0\0\0\x01\0\0\0\0\0\0\0\0\0\ -\0\x02\x14\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\x08\0\0\0\0\0\0\ -\0\0\0\0\x02\x16\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\0\x10\0\0\ -\0\0\0\0\x04\0\0\x04\x20\0\0\0\x19\0\0\0\x09\0\0\0\0\0\0\0\x1e\0\0\0\x13\0\0\0\ -\x40\0\0\0\x27\0\0\0\x07\0\0\0\x80\0\0\0\x32\0\0\0\x15\0\0\0\xc0\0\0\0\x57\0\0\ -\0\0\0\0\x0e\x17\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x02\x1a\0\0\0\0\0\0\0\0\0\0\x03\ -\0\0\0\0\x02\0\0\0\x04\0\0\0\x18\0\0\0\0\0\0\0\0\0\0\x02\x1c\0\0\0\0\0\0\0\0\0\ -\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\0\x04\0\0\0\0\0\0\x04\0\0\x04\x20\0\0\0\x19\ -\0\0\0\x09\0\0\0\0\0\0\0\x1e\0\0\0\x07\0\0\0\x40\0\0\0\x27\0\0\0\x19\0\0\0\x80\ -\0\0\0\x32\0\0\0\x1b\0\0\0\xc0\0\0\0\x69\0\0\0\0\0\0\x0e\x1d\0\0\0\x01\0\0\0\0\ -\0\0\0\0\0\0\x02\x20\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\x40\0\ -\0\0\0\0\0\0\x04\0\0\x04\x20\0\0\0\x19\0\0\0\x09\0\0\0\0\0\0\0\x1e\0\0\0\x1f\0\ -\0\0\x40\0\0\0\x27\0\0\0\x19\0\0\0\x80\0\0\0\x32\0\0\0\x1b\0\0\0\xc0\0\0\0\x76\ -\0\0\0\0\0\0\x0e\x21\0\0\0\x01\0\0\0\0\0\0\0\x04\0\0\x04\x20\0\0\0\x19\0\0\0\ -\x09\0\0\0\0\0\0\0\x1e\0\0\0\x05\0\0\0\x40\0\0\0\x27\0\0\0\x13\0\0\0\x80\0\0\0\ -\x32\0\0\0\x1b\0\0\0\xc0\0\0\0\x83\0\0\0\0\0\0\x0e\x23\0\0\0\x01\0\0\0\0\0\0\0\ -\0\0\0\x02\x26\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\0\0\x08\0\0\ -\0\0\0\x02\0\0\x04\x10\0\0\0\x19\0\0\0\x0d\0\0\0\0\0\0\0\x32\0\0\0\x25\0\0\0\ -\x40\0\0\0\x92\0\0\0\0\0\0\x0e\x27\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x02\x2a\0\0\0\ -\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\0\0\x10\0\0\0\0\0\x02\0\0\x04\ -\x10\0\0\0\x19\0\0\0\x0d\0\0\0\0\0\0\0\x32\0\0\0\x29\0\0\0\x40\0\0\0\xa5\0\0\0\ -\0\0\0\x0e\x2b\0\0\0\x01\0\0\0\xb3\0\0\0\0\0\0\x0e\x2b\0\0\0\x01\0\0\0\0\0\0\0\ -\0\0\0\x02\x2f\0\0\0\xc5\0\0\0\x0e\0\0\x04\x50\0\0\0\xde\0\0\0\x30\0\0\0\0\0\0\ -\0\xea\0\0\0\x31\0\0\0\x10\0\0\0\xf7\0\0\0\x31\0\0\0\x18\0\0\0\x0c\x01\0\0\x02\ -\0\0\0\x20\0\0\0\x17\x01\0\0\x32\0\0\0\x40\0\0\0\x1f\x01\0\0\x32\0\0\0\x80\0\0\ -\0\x26\x01\0\0\x02\0\0\0\xc0\0\0\0\x2c\x01\0\0\x34\0\0\0\xe0\0\0\0\x32\x01\0\0\ -\x34\0\0\0\xf0\0\0\0\x38\x01\0\0\x34\0\0\0\0\x01\0\0\x3f\x01\0\0\x36\0\0\0\x10\ -\x01\0\0\x45\x01\0\0\x36\0\0\0\x30\x01\0\0\x4b\x01\0\0\x37\0\0\0\x50\x01\0\0\ -\x54\x01\0\0\x37\0\0\0\xd0\x01\0\0\x5d\x01\0\0\0\0\0\x01\x02\0\0\0\x10\0\0\0\ -\x6c\x01\0\0\0\0\0\x01\x01\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\x02\x33\0\0\0\0\0\0\0\ -\0\0\0\x0a\0\0\0\0\x7a\x01\0\0\0\0\0\x08\x30\0\0\0\x80\x01\0\0\0\0\0\x08\x31\0\ -\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x35\0\0\0\x04\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\x03\ -\0\0\0\0\x35\0\0\0\x04\0\0\0\x10\0\0\0\0\0\0\0\x01\0\0\x0d\x02\0\0\0\x85\x01\0\ -\0\x2e\0\0\0\x89\x01\0\0\x01\0\0\x0c\x38\0\0\0\x9a\x01\0\0\x1c\0\0\x84\xe8\0\0\ -\0\0\0\0\0\x3b\0\0\0\0\0\0\0\0\0\0\0\x47\0\0\0\xc0\0\0\0\0\0\0\0\x49\0\0\0\0\ -\x01\0\0\xa2\x01\0\0\x52\0\0\0\x40\x01\0\0\0\0\0\0\x53\0\0\0\xc0\x02\0\0\xa5\ -\x01\0\0\x40\0\0\0\x40\x03\0\0\xab\x01\0\0\x57\0\0\0\x80\x03\0\0\xaf\x01\0\0\ -\x57\0\0\0\xa0\x03\0\0\xb8\x01\0\0\x34\0\0\0\xc0\x03\0\0\xc0\x01\0\0\x34\0\0\0\ -\xd0\x03\0\0\xc8\x01\0\0\x34\0\0\0\xe0\x03\0\0\xd6\x01\0\0\x58\0\0\0\xf0\x03\0\ -\0\xe6\x01\0\0\x35\0\0\0\xf0\x03\0\x01\xed\x01\0\0\x35\0\0\0\xf1\x03\0\x01\xf3\ -\x01\0\0\x35\0\0\0\xf2\x03\0\x02\xfa\x01\0\0\x35\0\0\0\xf4\x03\0\x01\x01\x02\0\ -\0\x35\0\0\0\xf5\x03\0\x01\x0b\x02\0\0\x35\0\0\0\xf6\x03\0\x01\x16\x02\0\0\x35\ -\0\0\0\xf7\x03\0\x01\x21\x02\0\0\x35\0\0\0\xf8\x03\0\0\0\0\0\0\x59\0\0\0\0\x04\ -\0\0\x33\x02\0\0\x67\0\0\0\xe0\x05\0\0\x38\x02\0\0\x67\0\0\0\0\x06\0\0\x3c\x02\ -\0\0\x68\0\0\0\x40\x06\0\0\x41\x02\0\0\x68\0\0\0\x80\x06\0\0\x46\x02\0\0\x57\0\ -\0\0\xc0\x06\0\0\x4f\x02\0\0\x69\0\0\0\xe0\x06\0\0\x55\x02\0\0\x6d\0\0\0\0\x07\ -\0\0\0\0\0\0\x04\0\0\x05\x18\0\0\0\0\0\0\0\x3c\0\0\0\0\0\0\0\x60\x02\0\0\x41\0\ -\0\0\0\0\0\0\x67\x02\0\0\x43\0\0\0\0\0\0\0\x6c\x02\0\0\x45\0\0\0\0\0\0\0\0\0\0\ -\0\x03\0\0\x04\x18\0\0\0\x74\x02\0\0\x3d\0\0\0\0\0\0\0\x79\x02\0\0\x3d\0\0\0\ -\x40\0\0\0\0\0\0\0\x3e\0\0\0\x80\0\0\0\0\0\0\0\0\0\0\x02\x3a\0\0\0\0\0\0\0\x02\ -\0\0\x05\x08\0\0\0\x7e\x02\0\0\x3f\0\0\0\0\0\0\0\x82\x02\0\0\x40\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\x02\x74\x01\0\0\x8e\x02\0\0\0\0\0\x01\x08\0\0\0\x40\0\0\0\x9c\ -\x02\0\0\x03\0\0\x04\x18\0\0\0\xa4\x02\0\0\x40\0\0\0\0\0\0\0\xb6\x02\0\0\x42\0\ -\0\0\x40\0\0\0\xbf\x02\0\0\x42\0\0\0\x80\0\0\0\0\0\0\0\0\0\0\x02\x41\0\0\0\xc7\ -\x02\0\0\x02\0\0\x04\x10\0\0\0\x74\x02\0\0\x44\0\0\0\0\0\0\0\x79\x02\0\0\x44\0\ -\0\0\x40\0\0\0\0\0\0\0\0\0\0\x02\x43\0\0\0\xd1\x02\0\0\x01\0\0\x04\x08\0\0\0\ -\x74\x02\0\0\x46\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x45\0\0\0\0\0\0\0\x02\0\0\x05\ -\x08\0\0\0\xdc\x02\0\0\x48\0\0\0\0\0\0\0\xdf\x02\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\x02\x79\0\0\0\0\0\0\0\x02\0\0\x05\x08\0\0\0\xf0\x02\0\0\x4a\0\0\0\0\0\0\ -\0\xf7\x02\0\0\x4e\0\0\0\0\0\0\0\x05\x03\0\0\0\0\0\x08\x4b\0\0\0\x0d\x03\0\0\0\ -\0\0\x08\x4c\0\0\0\x11\x03\0\0\0\0\0\x08\x4d\0\0\0\x17\x03\0\0\0\0\0\x01\x08\0\ -\0\0\x40\0\0\x01\x21\x03\0\0\0\0\0\x08\x4f\0\0\0\x25\x03\0\0\0\0\0\x08\x50\0\0\ -\0\x2b\x03\0\0\0\0\0\x01\x08\0\0\0\x40\0\0\0\x3e\x03\0\0\0\0\0\x01\x01\0\0\0\ -\x08\0\0\x01\0\0\0\0\0\0\0\x03\0\0\0\0\x51\0\0\0\x04\0\0\0\x30\0\0\0\0\0\0\0\ -\x03\0\0\x05\x10\0\0\0\0\0\0\0\x54\0\0\0\0\0\0\0\x43\x03\0\0\x43\0\0\0\0\0\0\0\ -\x56\x03\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\x04\x10\0\0\0\x60\x03\0\0\x40\0\ -\0\0\0\0\0\0\x6c\x03\0\0\x55\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\x02\x56\0\0\0\0\0\0\ -\0\x01\0\0\x0d\0\0\0\0\0\0\0\0\x3d\0\0\0\x77\x03\0\0\0\0\0\x01\x04\0\0\0\x20\0\ -\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x35\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\x05\ -\x3c\0\0\0\0\0\0\0\x5a\0\0\0\0\0\0\0\x84\x03\0\0\x5a\0\0\0\0\0\0\0\0\0\0\0\x30\ -\0\0\x84\x3c\0\0\0\x8c\x03\0\0\x58\0\0\0\0\0\0\0\x9e\x03\0\0\x35\0\0\0\0\0\0\ -\x03\xa7\x03\0\0\x35\0\0\0\x03\0\0\x01\xb1\x03\0\0\x35\0\0\0\x04\0\0\x01\xba\ -\x03\0\0\x35\0\0\0\x05\0\0\x02\xc4\x03\0\0\x35\0\0\0\x07\0\0\x01\xcd\x03\0\0\ -\x35\0\0\0\x08\0\0\x01\xd5\x03\0\0\x35\0\0\0\x09\0\0\x01\xdd\x03\0\0\x35\0\0\0\ -\x0a\0\0\x01\xee\x03\0\0\x35\0\0\0\x0b\0\0\x01\xf9\x03\0\0\x35\0\0\0\x0c\0\0\ -\x01\0\x04\0\0\x35\0\0\0\x0d\0\0\x01\x0e\x04\0\0\x35\0\0\0\x0e\0\0\x01\x1d\x04\ -\0\0\x35\0\0\0\x0f\0\0\x01\x28\x04\0\0\x58\0\0\0\x10\0\0\0\x42\x04\0\0\x35\0\0\ -\0\x10\0\0\x01\x52\x04\0\0\x35\0\0\0\x11\0\0\x01\x63\x04\0\0\x35\0\0\0\x12\0\0\ -\x02\x6e\x04\0\0\x35\0\0\0\x14\0\0\x01\x82\x04\0\0\x35\0\0\0\x15\0\0\x01\x95\ -\x04\0\0\x35\0\0\0\x16\0\0\x01\xa6\x04\0\0\x35\0\0\0\x17\0\0\x01\xb4\x04\0\0\ -\x35\0\0\0\x18\0\0\x02\xc3\x04\0\0\x35\0\0\0\x1a\0\0\x01\xd1\x04\0\0\x35\0\0\0\ -\x1b\0\0\x01\xe5\x04\0\0\x35\0\0\0\x1c\0\0\x01\xf0\x04\0\0\x35\0\0\0\x1d\0\0\ -\x01\xff\x04\0\0\x35\0\0\0\x1e\0\0\x01\x08\x05\0\0\x35\0\0\0\x1f\0\0\x01\x16\ -\x05\0\0\x35\0\0\0\x20\0\0\x01\x23\x05\0\0\x34\0\0\0\x30\0\0\0\0\0\0\0\x5b\0\0\ -\0\x40\0\0\0\x2c\x05\0\0\x5d\0\0\0\x60\0\0\0\x35\x05\0\0\x02\0\0\0\x80\0\0\0\ -\x3d\x05\0\0\x5d\0\0\0\xa0\0\0\0\0\0\0\0\x5f\0\0\0\xc0\0\0\0\0\0\0\0\x63\0\0\0\ -\xe0\0\0\0\x42\x05\0\0\x64\0\0\0\0\x01\0\0\x4c\x05\0\0\x5d\0\0\0\x20\x01\0\0\0\ -\0\0\0\x65\0\0\0\x40\x01\0\0\0\0\0\0\x66\0\0\0\x60\x01\0\0\x54\x05\0\0\x34\0\0\ -\0\x70\x01\0\0\x6b\x05\0\0\x34\0\0\0\x80\x01\0\0\x80\x05\0\0\x34\0\0\0\x90\x01\ -\0\0\x91\x05\0\0\x62\0\0\0\xa0\x01\0\0\x9a\x05\0\0\x34\0\0\0\xb0\x01\0\0\xab\ -\x05\0\0\x34\0\0\0\xc0\x01\0\0\xba\x05\0\0\x34\0\0\0\xd0\x01\0\0\0\0\0\0\x02\0\ -\0\x05\x04\0\0\0\xc5\x05\0\0\x5c\0\0\0\0\0\0\0\0\0\0\0\x5e\0\0\0\0\0\0\0\xca\ -\x05\0\0\0\0\0\x08\x5d\0\0\0\xd1\x05\0\0\0\0\0\x08\x57\0\0\0\0\0\0\0\x02\0\0\ -\x04\x04\0\0\0\xd7\x05\0\0\x34\0\0\0\0\0\0\0\xe2\x05\0\0\x34\0\0\0\x10\0\0\0\0\ -\0\0\0\x02\0\0\x05\x04\0\0\0\xee\x05\0\0\x60\0\0\0\0\0\0\0\0\0\0\0\x61\0\0\0\0\ -\0\0\0\xf7\x05\0\0\0\0\0\x08\x5d\0\0\0\0\0\0\0\x02\0\0\x04\x04\0\0\0\xfb\x05\0\ -\0\x62\0\0\0\0\0\0\0\x06\x06\0\0\x34\0\0\0\x10\0\0\0\x0f\x06\0\0\0\0\0\x08\x34\ -\0\0\0\0\0\0\0\x02\0\0\x05\x04\0\0\0\x16\x06\0\0\x57\0\0\0\0\0\0\0\x1e\x06\0\0\ -\x57\0\0\0\0\0\0\0\x29\x06\0\0\0\0\0\x08\x34\0\0\0\0\0\0\0\x02\0\0\x05\x04\0\0\ -\0\x2d\x06\0\0\x5d\0\0\0\0\0\0\0\x32\x06\0\0\x5d\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\ -\x05\x02\0\0\0\x44\x06\0\0\x62\0\0\0\0\0\0\0\x53\x06\0\0\x35\0\0\0\0\0\0\0\x61\ -\x06\0\0\0\0\0\x08\x57\0\0\0\0\0\0\0\0\0\0\x02\x31\0\0\0\x70\x06\0\0\0\0\0\x08\ -\x6a\0\0\0\x7b\x06\0\0\x01\0\0\x04\x04\0\0\0\x8b\x06\0\0\x6b\0\0\0\0\0\0\0\x90\ -\x06\0\0\0\0\0\x08\x6c\0\0\0\0\0\0\0\x01\0\0\x04\x04\0\0\0\x99\x06\0\0\x02\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\x02\x7b\x01\0\0\xa1\x06\0\0\x0c\0\0\x84\x30\0\0\0\xac\ -\x06\0\0\x5d\0\0\0\0\0\0\0\xb0\x06\0\0\x5d\0\0\0\x20\0\0\0\0\0\0\0\x6f\0\0\0\ -\x40\0\0\0\xb8\x06\0\0\x35\0\0\0\x60\0\0\0\xc2\x06\0\0\x35\0\0\0\x68\0\0\0\xc9\ -\x06\0\0\x35\0\0\0\x70\0\0\0\xd4\x06\0\0\x35\0\0\0\x78\0\0\x01\xe0\x06\0\0\x35\ -\0\0\0\x79\0\0\x01\xe4\x06\0\0\x35\0\0\0\x7a\0\0\x01\xf1\x06\0\0\x35\0\0\0\x7b\ -\0\0\x05\xf8\x06\0\0\x5d\0\0\0\x80\0\0\0\0\0\0\0\x71\0\0\0\xc0\0\0\0\0\0\0\0\ -\x02\0\0\x05\x04\0\0\0\0\x07\0\0\x5d\0\0\0\0\0\0\0\0\0\0\0\x70\0\0\0\0\0\0\0\0\ -\0\0\0\x02\0\0\x04\x04\0\0\0\x0b\x07\0\0\x64\0\0\0\0\0\0\0\x18\x07\0\0\x64\0\0\ -\0\x10\0\0\0\0\0\0\0\x02\0\0\x05\x18\0\0\0\x25\x07\0\0\x72\0\0\0\0\0\0\0\x28\ -\x07\0\0\x73\0\0\0\0\0\0\0\0\0\0\0\x06\0\0\x84\x18\0\0\0\x2f\x07\0\0\x5d\0\0\0\ -\0\0\0\x01\x3e\x07\0\0\x5d\0\0\0\x01\0\0\x14\xf1\x06\0\0\x5d\0\0\0\x15\0\0\x0b\ -\x4b\x07\0\0\x5d\0\0\0\x20\0\0\0\x55\x07\0\0\x4e\0\0\0\x40\0\0\0\x65\x07\0\0\ -\x4e\0\0\0\x80\0\0\0\0\0\0\0\x02\0\0\x05\x18\0\0\0\x76\x07\0\0\x74\0\0\0\0\0\0\ -\0\x79\x07\0\0\x78\0\0\0\0\0\0\0\x7c\x07\0\0\x04\0\0\x04\x18\0\0\0\x8a\x07\0\0\ -\x02\0\0\0\0\0\0\0\x8e\x07\0\0\x75\0\0\0\x20\0\0\0\x92\x07\0\0\x64\0\0\0\xa0\0\ -\0\0\x98\x07\0\0\x64\0\0\0\xb0\0\0\0\xa6\x07\0\0\x10\0\0\x84\x10\0\0\0\xb1\x07\ -\0\0\x76\0\0\0\0\0\0\0\xb7\x07\0\0\x76\0\0\0\x20\0\0\0\xbf\x07\0\0\x31\0\0\0\ -\x40\0\0\0\xc6\x07\0\0\x31\0\0\0\x48\0\0\0\xca\x07\0\0\x31\0\0\0\x50\0\0\0\xcd\ -\x07\0\0\x31\0\0\0\x58\0\0\0\xd0\x07\0\0\x31\0\0\0\x60\0\0\x01\xdf\x07\0\0\x31\ -\0\0\0\x61\0\0\x01\xea\x07\0\0\x31\0\0\0\x62\0\0\x01\xf5\x07\0\0\x31\0\0\0\x63\ -\0\0\x01\x01\x08\0\0\x31\0\0\0\x64\0\0\x01\x0d\x08\0\0\x31\0\0\0\x65\0\0\x01\ -\x19\x08\0\0\x31\0\0\0\x68\0\0\0\x26\x08\0\0\x31\0\0\0\x70\0\0\0\x2c\x08\0\0\ -\x31\0\0\0\x78\0\0\0\x33\x08\0\0\x77\0\0\0\x80\0\0\0\x3a\x08\0\0\0\0\0\x08\x5d\ -\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x31\0\0\0\x04\0\0\0\0\0\0\0\x41\x08\0\0\x0b\0\ -\0\x04\x18\0\0\0\x8a\x07\0\0\x02\0\0\0\0\0\0\0\x50\x08\0\0\x62\0\0\0\x20\0\0\0\ -\x53\x08\0\0\x34\0\0\0\x30\0\0\0\x58\x08\0\0\x34\0\0\0\x40\0\0\0\x5e\x08\0\0\ -\x34\0\0\0\x50\0\0\0\x63\x08\0\0\x34\0\0\0\x60\0\0\0\x6b\x08\0\0\x34\0\0\0\x70\ -\0\0\0\x92\x07\0\0\x34\0\0\0\x80\0\0\0\x71\x08\0\0\x34\0\0\0\x90\0\0\0\x98\x07\ -\0\0\x34\0\0\0\xa0\0\0\0\x78\x08\0\0\x34\0\0\0\xb0\0\0\0\x7f\x08\0\0\x5c\0\0\ -\x84\0\x05\0\0\x84\x08\0\0\x7a\0\0\0\0\0\0\0\x90\x08\0\0\x9b\0\0\0\x40\x04\0\0\ -\x9a\x08\0\0\x02\0\0\0\x80\x04\0\0\xac\x08\0\0\x60\0\0\0\xa0\x04\0\0\xbd\x08\0\ -\0\x9c\0\0\0\xc0\x04\0\0\xc5\x08\0\0\x6b\0\0\0\xc0\x0a\0\0\xce\x08\0\0\x02\0\0\ -\0\xe0\x0a\0\0\xda\x08\0\0\xbb\0\0\0\0\x0b\0\0\xe9\x08\0\0\xbb\0\0\0\xc0\x0d\0\ -\0\xfa\x08\0\0\xbf\0\0\0\x80\x10\0\0\x05\x09\0\0\x02\0\0\0\x40\x11\0\0\x16\x09\ -\0\0\x60\0\0\0\x60\x11\0\0\x26\x09\0\0\x57\0\0\0\x80\x11\0\0\x31\x09\0\0\x57\0\ -\0\0\xa0\x11\0\0\x3c\x09\0\0\x02\0\0\0\xc0\x11\0\0\x46\x09\0\0\xc0\0\0\0\0\x12\ -\0\0\0\0\0\0\xc1\0\0\0\x40\x12\0\0\x50\x09\0\0\xe6\0\0\0\x80\x12\0\0\x5a\x09\0\ -\0\x9b\0\0\0\0\x13\0\0\x67\x09\0\0\x6b\0\0\0\x40\x13\0\0\x75\x09\0\0\x02\0\0\0\ -\x60\x13\0\0\x7f\x09\0\0\x02\0\0\0\x80\x13\0\0\x8e\x09\0\0\x69\0\0\0\xa0\x13\0\ -\0\x9c\x09\0\0\x40\0\0\0\xc0\x13\0\0\0\0\0\0\xe7\0\0\0\0\x14\0\0\xa9\x09\0\0\ -\xbb\0\0\0\x40\x14\0\0\xb8\x09\0\0\xe9\0\0\0\0\x17\0\0\xc4\x09\0\0\x02\0\0\0\ -\x20\x17\0\0\xd5\x09\0\0\x5d\0\0\0\x40\x17\0\0\xec\x09\0\0\x60\0\0\0\x60\x17\0\ -\0\xfd\x09\0\0\xea\0\0\0\x80\x17\0\0\x09\x0a\0\0\xcc\0\0\0\xc0\x17\0\0\x12\x0a\ -\0\0\x5d\0\0\0\x40\x1a\0\0\x1e\x0a\0\0\x5d\0\0\0\x60\x1a\0\0\x26\x0a\0\0\x40\0\ -\0\0\x80\x1a\0\0\x35\x0a\0\0\x40\0\0\0\xc0\x1a\0\0\x48\x0a\0\0\xeb\0\0\0\0\x1b\ -\0\0\x50\x0a\0\0\xed\0\0\0\x80\x1b\0\0\x5e\x0a\0\0\x02\0\0\0\xc0\x1b\0\0\x6a\ -\x0a\0\0\x57\0\0\0\xe0\x1b\0\0\x7a\x0a\0\0\xee\0\0\0\0\x1c\0\0\x88\x0a\0\0\x5d\ -\0\0\0\x20\x1c\0\0\x92\x0a\0\0\xa6\0\0\0\x40\x1c\0\x01\xa2\x0a\0\0\xa6\0\0\0\ -\x41\x1c\0\x01\xaf\x0a\0\0\xa6\0\0\0\x42\x1c\0\x01\xbe\x0a\0\0\xa6\0\0\0\x43\ -\x1c\0\x01\xcd\x0a\0\0\xa6\0\0\0\x44\x1c\0\x04\xda\x0a\0\0\xa6\0\0\0\x48\x1c\0\ -\0\xea\x0a\0\0\x64\0\0\0\x50\x1c\0\0\xf2\x0a\0\0\x64\0\0\0\x60\x1c\0\0\xfe\x0a\ -\0\0\x64\0\0\0\x70\x1c\0\0\x0e\x0b\0\0\x40\0\0\0\x80\x1c\0\0\x1c\x0b\0\0\x88\0\ -\0\0\xc0\x1c\0\0\x2c\x0b\0\0\xc5\0\0\0\0\x1d\0\0\x3d\x0b\0\0\x02\0\0\0\0\x1f\0\ -\0\x44\x0b\0\0\x02\0\0\0\x20\x1f\0\0\x50\x0b\0\0\x60\0\0\0\x40\x1f\0\0\x5f\x0b\ -\0\0\x60\0\0\0\x60\x1f\0\0\x72\x0b\0\0\xef\0\0\0\x80\x1f\0\0\x79\x0b\0\0\xa6\0\ -\0\0\xa0\x1f\0\0\x85\x0b\0\0\xa6\0\0\0\xa8\x1f\0\0\x99\x0b\0\0\x64\0\0\0\xb0\ -\x1f\0\0\xad\x0b\0\0\x9e\0\0\0\xc0\x1f\0\0\xba\x0b\0\0\x02\0\0\0\xc0\x21\0\0\ -\xc6\x0b\0\0\xf2\0\0\0\0\x22\0\0\xd2\x0b\0\0\xf3\0\0\0\x40\x22\0\0\xdf\x0b\0\0\ -\xea\0\0\0\x80\x22\0\0\xeb\x0b\0\0\x4a\0\0\0\xc0\x22\0\0\xf4\x0b\0\0\x6b\0\0\0\ -\0\x23\0\0\xfd\x0b\0\0\x6b\0\0\0\x20\x23\0\0\x06\x0c\0\0\x60\0\0\0\x40\x23\0\0\ -\x11\x0c\0\0\xa6\0\0\0\x60\x23\0\0\x1d\x0c\0\0\xa6\0\0\0\x68\x23\0\0\x28\x0c\0\ -\0\xa6\0\0\0\x70\x23\0\x01\x40\x0c\0\0\xa6\0\0\0\x71\x23\0\x01\x58\x0c\0\0\xa6\ -\0\0\0\x72\x23\0\x06\x69\x0c\0\0\xf5\0\0\0\x80\x23\0\0\x73\x0c\0\0\xa8\0\0\0\ -\xc0\x23\0\0\x80\x0c\0\0\xa8\0\0\0\0\x24\0\0\x8c\x0c\0\0\xf6\0\0\0\x40\x24\0\0\ -\x99\x0c\0\0\xf8\0\0\0\xc0\x24\0\0\xa2\x0c\0\0\xf9\0\0\0\0\x25\0\0\xb2\x0c\0\0\ -\xf9\0\0\0\x40\x25\0\0\xc0\x0c\0\0\xf9\0\0\0\x80\x25\0\0\xcf\x0c\0\0\xf9\0\0\0\ -\xc0\x25\0\0\xdf\x0c\0\0\xfb\0\0\0\0\x26\0\0\xee\x0c\0\0\xf9\0\0\0\x40\x26\0\0\ -\xfa\x0c\0\0\xfd\0\0\0\x80\x26\0\0\x0a\x0d\0\0\xfe\0\0\0\xc0\x26\0\0\x19\x0d\0\ -\0\xdf\0\0\0\0\x27\0\0\x20\x0d\0\0\xff\0\0\0\x80\x27\0\0\x2b\x0d\0\0\x85\0\0\0\ -\x80\x27\0\0\x39\x0d\0\0\x19\0\0\x84\x88\0\0\0\0\0\0\0\x7b\0\0\0\0\0\0\0\0\0\0\ -\0\x7e\0\0\0\x40\0\0\0\0\0\0\0\x80\0\0\0\x60\0\0\0\x45\x0d\0\0\x30\0\0\0\x80\0\ -\0\0\x50\x0d\0\0\x83\0\0\0\x90\0\0\0\x5a\x0d\0\0\x31\0\0\0\x98\0\0\x04\x64\x0d\ -\0\0\x31\0\0\0\x9c\0\0\x01\x72\x0d\0\0\x31\0\0\0\x9d\0\0\x01\x7f\x0d\0\0\x31\0\ -\0\0\x9e\0\0\x01\x8e\x0d\0\0\x02\0\0\0\xa0\0\0\0\0\0\0\0\x84\0\0\0\xc0\0\0\0\ -\x9f\x0d\0\0\x88\0\0\0\x40\x01\0\0\xa8\x0d\0\0\x89\0\0\0\x80\x01\0\0\xb0\x0d\0\ -\0\x8c\0\0\0\xc0\x01\0\0\xbd\x0d\0\0\x8c\0\0\0\x40\x02\0\0\xce\x0d\0\0\x90\0\0\ -\0\xc0\x02\0\0\0\0\0\0\x92\0\0\0\0\x03\0\0\xd9\x0d\0\0\x94\0\0\0\x40\x03\0\0\0\ -\0\0\0\x95\0\0\0\x40\x03\0\0\xec\x0d\0\0\x30\0\0\0\xc0\x03\0\0\x01\x0e\0\0\x30\ -\0\0\0\xd0\x03\0\0\0\0\0\0\x99\0\0\0\xe0\x03\0\0\x16\x0e\0\0\x69\0\0\0\0\x04\0\ -\0\x21\x0e\0\0\x94\0\0\0\x20\x04\0\0\0\0\0\0\x9a\0\0\0\x20\x04\0\0\0\0\0\0\x02\ -\0\0\x05\x08\0\0\0\x32\x0e\0\0\x7c\0\0\0\0\0\0\0\0\0\0\0\x7d\0\0\0\0\0\0\0\x3f\ -\x0e\0\0\0\0\0\x08\x4f\0\0\0\0\0\0\0\x02\0\0\x04\x08\0\0\0\x4a\x0e\0\0\x76\0\0\ -\0\0\0\0\0\x54\x0e\0\0\x76\0\0\0\x20\0\0\0\0\0\0\0\x02\0\0\x05\x04\0\0\0\x62\ -\x0e\0\0\x57\0\0\0\0\0\0\0\x6b\x0e\0\0\x7f\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\ -\0\0\x34\0\0\0\x04\0\0\0\x02\0\0\0\0\0\0\0\x02\0\0\x05\x04\0\0\0\x79\x0e\0\0\ -\x81\0\0\0\0\0\0\0\0\0\0\0\x82\0\0\0\0\0\0\0\x86\x0e\0\0\0\0\0\x08\x5d\0\0\0\0\ -\0\0\0\x02\0\0\x04\x04\0\0\0\x91\x0e\0\0\x62\0\0\0\0\0\0\0\x9b\x0e\0\0\x34\0\0\ -\0\x10\0\0\0\0\0\0\0\0\0\0\x09\x31\0\0\0\0\0\0\0\x02\0\0\x05\x10\0\0\0\xa3\x0e\ -\0\0\x85\0\0\0\0\0\0\0\xb1\x0e\0\0\x85\0\0\0\0\0\0\0\xc3\x0e\0\0\x02\0\0\x04\ -\x10\0\0\0\x74\x02\0\0\x86\0\0\0\0\0\0\0\xce\x0e\0\0\x87\0\0\0\x40\0\0\0\0\0\0\ -\0\0\0\0\x02\x85\0\0\0\0\0\0\0\0\0\0\x02\x86\0\0\0\0\0\0\0\0\0\0\x02\x77\x01\0\ -\0\xd4\x0e\0\0\0\0\0\x08\x8a\0\0\0\0\0\0\0\x01\0\0\x04\x08\0\0\0\xe3\x0e\0\0\ -\x8b\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x73\x01\0\0\xe7\x0e\0\0\x01\0\0\x04\x10\0\ -\0\0\xf0\x0e\0\0\x8d\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\x05\x10\0\0\0\xf6\x0e\0\0\ -\x37\0\0\0\0\0\0\0\xff\x0e\0\0\x8e\0\0\0\0\0\0\0\x09\x0f\0\0\x8f\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\x03\0\0\0\0\x62\0\0\0\x04\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\x03\0\0\ -\0\0\x76\0\0\0\x04\0\0\0\x04\0\0\0\x13\x0f\0\0\0\0\0\x08\x91\0\0\0\0\0\0\0\x01\ -\0\0\x04\x08\0\0\0\x99\x06\0\0\x4b\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\x05\x08\0\0\0\ -\x1e\x0f\0\0\x40\0\0\0\0\0\0\0\x28\x0f\0\0\x48\0\0\0\0\0\0\0\x35\x0f\0\0\x93\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x6c\x01\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\ -\x04\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\x05\x10\0\0\0\x3f\x0f\0\0\x85\0\0\0\0\0\0\0\ -\x48\x0f\0\0\x96\0\0\0\0\0\0\0\x57\x0f\0\0\x02\0\0\x04\x10\0\0\0\x74\x02\0\0\ -\x97\0\0\0\0\0\0\0\xce\x0e\0\0\x98\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\x02\x96\0\0\0\ -\0\0\0\0\0\0\0\x02\x97\0\0\0\0\0\0\0\x03\0\0\x05\x04\0\0\0\x68\x0f\0\0\x02\0\0\ -\0\0\0\0\0\x79\x0f\0\0\x60\0\0\0\0\0\0\0\x85\x0f\0\0\x60\0\0\0\0\0\0\0\0\0\0\0\ -\x03\0\0\x05\x04\0\0\0\x94\x0f\0\0\x60\0\0\0\0\0\0\0\x9f\x0f\0\0\x60\0\0\0\0\0\ -\0\0\xb0\x0f\0\0\x60\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x67\x01\0\0\xbf\x0f\0\0\0\ -\0\0\x08\x9d\0\0\0\0\0\0\0\x04\0\0\x04\xc0\0\0\0\xcd\x0f\0\0\x9e\0\0\0\0\0\0\0\ -\xd3\x0f\0\0\x02\0\0\0\0\x02\0\0\xd9\x0f\0\0\xb9\0\0\0\x40\x02\0\0\xdc\x0f\0\0\ -\xa9\0\0\0\xc0\x04\0\0\xe4\x0f\0\0\0\0\0\x08\x9f\0\0\0\xef\x0f\0\0\x01\0\0\x04\ -\x40\0\0\0\0\0\0\0\xa0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\x05\x40\0\0\0\xf8\x0f\0\0\ -\xa1\0\0\0\0\0\0\0\0\0\0\0\xb7\0\0\0\0\0\0\0\xfe\x0f\0\0\x05\0\0\x04\x40\0\0\0\ -\x0b\x10\0\0\xa2\0\0\0\0\0\0\0\x14\x10\0\0\x57\0\0\0\x20\0\0\0\x1a\x10\0\0\x57\ -\0\0\0\x40\0\0\0\x24\x10\0\0\xa8\0\0\0\x80\0\0\0\xdc\x0f\0\0\xa9\0\0\0\xc0\0\0\ -\0\x2a\x10\0\0\0\0\0\x08\xa3\0\0\0\x3a\x10\0\0\x01\0\0\x04\x04\0\0\0\0\0\0\0\ -\xa4\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\x05\x04\0\0\0\x44\x10\0\0\x6b\0\0\0\0\0\0\0\ -\0\0\0\0\xa5\0\0\0\0\0\0\0\0\0\0\0\xa7\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\x04\x02\0\ -\0\0\x48\x10\0\0\xa6\0\0\0\0\0\0\0\x4f\x10\0\0\xa6\0\0\0\x08\0\0\0\x57\x10\0\0\ -\0\0\0\x08\x35\0\0\0\0\0\0\0\x02\0\0\x04\x04\0\0\0\x5a\x10\0\0\x64\0\0\0\0\0\0\ -\0\x33\x02\0\0\x64\0\0\0\x10\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\x69\x10\0\0\x06\0\ -\0\x04\x28\0\0\0\x75\x10\0\0\xaa\0\0\0\0\0\0\0\x79\x10\0\0\xb6\0\0\0\x40\0\0\0\ -\x85\x10\0\0\xb4\0\0\0\xc0\0\0\0\x8a\x10\0\0\xa6\0\0\0\0\x01\0\0\x9a\x10\0\0\ -\xa6\0\0\0\x08\x01\0\0\xaa\x10\0\0\xa6\0\0\0\x10\x01\0\0\0\0\0\0\0\0\0\x02\x70\ -\x01\0\0\0\0\0\0\0\0\0\x02\xac\0\0\0\xb4\x10\0\0\x0e\0\0\x04\xc0\0\0\0\xbf\x10\ -\0\0\x85\0\0\0\0\0\0\0\xca\x10\0\0\x43\0\0\0\x80\0\0\0\xd5\x10\0\0\x43\0\0\0\0\ -\x01\0\0\xe1\x10\0\0\x43\0\0\0\x80\x01\0\0\x75\x10\0\0\xad\0\0\0\0\x02\0\0\xee\ -\x10\0\0\x57\0\0\0\x40\x02\0\0\xf7\x10\0\0\x57\0\0\0\x60\x02\0\0\x02\x11\0\0\ -\x40\0\0\0\x80\x02\0\0\x0d\x11\0\0\xb3\0\0\0\xc0\x02\0\0\x1a\x11\0\0\x02\0\0\0\ -\x40\x05\0\0\x85\x10\0\0\xb4\0\0\0\x80\x05\0\0\x9a\x10\0\0\xa6\0\0\0\xc0\x05\0\ -\0\x8a\x10\0\0\xa6\0\0\0\xc8\x05\0\0\xaa\x10\0\0\xa6\0\0\0\xd0\x05\0\0\0\0\0\0\ -\0\0\0\x02\xae\0\0\0\0\0\0\0\0\0\0\x0a\x71\x01\0\0\0\0\0\0\0\0\0\x02\xb0\0\0\0\ -\0\0\0\0\0\0\0\x0a\xb1\0\0\0\x27\x11\0\0\x04\0\0\x04\x18\0\0\0\xbf\x10\0\0\x85\ -\0\0\0\0\0\0\0\x3d\x05\0\0\x60\0\0\0\x80\0\0\0\x32\x11\0\0\x60\0\0\0\xa0\0\0\0\ -\x3d\x11\0\0\xb2\0\0\0\xc0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x40\0\0\0\x04\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\xaf\0\0\0\x04\0\0\0\x0a\0\0\0\0\0\0\0\0\0\0\ -\x02\xb5\0\0\0\0\0\0\0\0\0\0\x0a\x51\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\xab\0\0\0\ -\x04\0\0\0\x02\0\0\0\0\0\0\0\x02\0\0\x04\x40\0\0\0\x45\x11\0\0\xb8\0\0\0\0\0\0\ -\0\xdc\x0f\0\0\xa9\0\0\0\xc0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\xa6\0\0\0\x04\0\0\ -\0\x18\0\0\0\x4f\x11\0\0\0\0\0\x08\xba\0\0\0\x61\x11\0\0\x02\0\0\x04\x50\0\0\0\ -\x71\x11\0\0\x9e\0\0\0\0\0\0\0\x3c\x02\0\0\x43\0\0\0\0\x02\0\0\x76\x11\0\0\x03\ -\0\0\x04\x58\0\0\0\0\0\0\0\xbc\0\0\0\0\0\0\0\x83\x11\0\0\x5d\0\0\0\x80\0\0\0\ -\x71\x11\0\0\x9e\0\0\0\xc0\0\0\0\0\0\0\0\x02\0\0\x05\x10\0\0\0\0\0\0\0\xbd\0\0\ -\0\0\0\0\0\x67\x02\0\0\xbe\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\x04\x10\0\0\0\x74\x02\ -\0\0\x3d\0\0\0\0\0\0\0\x79\x02\0\0\x3d\0\0\0\x40\0\0\0\x88\x11\0\0\x02\0\0\x04\ -\x10\0\0\0\x74\x02\0\0\x3d\0\0\0\0\0\0\0\x79\x02\0\0\x3d\0\0\0\x40\0\0\0\0\0\0\ -\0\x04\0\0\x04\x18\0\0\0\x95\x11\0\0\x6b\0\0\0\0\0\0\0\xab\x01\0\0\x02\0\0\0\ -\x20\0\0\0\x3c\x02\0\0\x3d\0\0\0\x40\0\0\0\x33\x02\0\0\x3d\0\0\0\x80\0\0\0\0\0\ -\0\0\0\0\0\x02\x7a\x01\0\0\0\0\0\0\x02\0\0\x05\x08\0\0\0\xa0\x11\0\0\xc2\0\0\0\ -\0\0\0\0\xa6\x11\0\0\xc2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x7e\x01\0\0\0\0\0\0\0\ -\0\0\x02\xc4\0\0\0\xb0\x11\0\0\x1c\0\0\x04\x08\x04\0\0\xbc\x11\0\0\x89\0\0\0\0\ -\0\0\0\xc3\x11\0\0\x85\0\0\0\x40\0\0\0\xc9\x11\0\0\x85\0\0\0\xc0\0\0\0\x71\x11\ -\0\0\xc5\0\0\0\x40\x01\0\0\xcf\x11\0\0\x69\0\0\0\x40\x03\0\0\xd6\x11\0\0\x60\0\ -\0\0\x60\x03\0\0\xda\x11\0\0\xcc\0\0\0\x80\x03\0\0\xe0\x11\0\0\x6b\0\0\0\0\x06\ -\0\0\x2c\x05\0\0\x60\0\0\0\x20\x06\0\0\xe6\x11\0\0\x60\0\0\0\x40\x06\0\0\xec\ -\x11\0\0\x60\0\0\0\x60\x06\0\0\x2d\x06\0\0\xd0\0\0\0\x80\x06\0\0\xf2\x11\0\0\ -\xd1\0\0\0\xc0\x06\0\0\xfb\x11\0\0\xd5\0\0\0\x80\x08\0\0\xff\x11\0\0\xd6\0\0\0\ -\x80\x0a\0\0\x06\x12\0\0\xd7\0\0\0\x80\x0b\0\0\x0b\x12\0\0\xd8\0\0\0\x40\x0c\0\ -\0\x10\x12\0\0\xd9\0\0\0\xc0\x11\0\0\x19\0\0\0\xa6\0\0\0\xc8\x11\0\0\x1f\x12\0\ -\0\xa6\0\0\0\xd0\x11\0\0\x92\x07\0\0\xa6\0\0\0\xd8\x11\0\0\x26\x12\0\0\xa6\0\0\ -\0\xe0\x11\0\0\x38\x01\0\0\x64\0\0\0\xf0\x11\0\0\x2e\x12\0\0\xdb\0\0\0\0\x12\0\ -\0\x37\x12\0\0\xde\0\0\0\x40\x12\0\0\x40\x12\0\0\x85\0\0\0\x40\x1e\0\0\x53\x12\ -\0\0\xdf\0\0\0\xc0\x1e\0\0\x57\x12\0\0\xe3\0\0\0\x40\x1f\0\0\x5b\x12\0\0\0\0\0\ -\x08\xc6\0\0\0\0\0\0\0\x05\0\0\x04\x40\0\0\0\x0b\x10\0\0\xc7\0\0\0\0\0\0\0\x14\ -\x10\0\0\x57\0\0\0\x40\0\0\0\x1a\x10\0\0\x57\0\0\0\x60\0\0\0\x24\x10\0\0\xa8\0\ -\0\0\x80\0\0\0\xdc\x0f\0\0\xa9\0\0\0\xc0\0\0\0\x64\x12\0\0\0\0\0\x08\xc8\0\0\0\ -\x72\x12\0\0\x02\0\0\x04\x08\0\0\0\0\0\0\0\xc9\0\0\0\0\0\0\0\x7a\x12\0\0\xa2\0\ -\0\0\x20\0\0\0\0\0\0\0\x02\0\0\x05\x04\0\0\0\x84\x12\0\0\x6b\0\0\0\0\0\0\0\0\0\ -\0\0\xca\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\x04\x04\0\0\0\x89\x12\0\0\xa6\0\0\0\0\0\ -\0\0\x91\x12\0\0\xcb\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\xa6\0\0\0\x04\0\ -\0\0\x03\0\0\0\x9a\x12\0\0\x05\0\0\x04\x50\0\0\0\xa5\x12\0\0\x85\0\0\0\0\0\0\0\ -\xab\x12\0\0\x40\0\0\0\x80\0\0\0\xb3\x12\0\0\xcd\0\0\0\xc0\0\0\0\x92\x07\0\0\ -\x60\0\0\0\0\x01\0\0\x69\x10\0\0\xa9\0\0\0\x40\x01\0\0\0\0\0\0\0\0\0\x02\xce\0\ -\0\0\0\0\0\0\x01\0\0\x0d\0\0\0\0\0\0\0\0\xcf\0\0\0\0\0\0\0\0\0\0\x02\xcc\0\0\0\ -\xbc\x12\0\0\x02\0\0\x04\x08\0\0\0\xc6\x12\0\0\x5d\0\0\0\0\0\0\0\xc8\x12\0\0\ -\x5d\0\0\0\x20\0\0\0\xca\x12\0\0\x0c\0\0\x04\x38\0\0\0\x45\x01\0\0\xd2\0\0\0\0\ -\0\0\0\x3f\x01\0\0\xd2\0\0\0\x80\0\0\0\x32\x01\0\0\x62\0\0\0\0\x01\0\0\xd8\x12\ -\0\0\x62\0\0\0\x10\x01\0\0\x2c\x01\0\0\x62\0\0\0\x20\x01\0\0\xe3\x12\0\0\x62\0\ -\0\0\x30\x01\0\0\x38\x01\0\0\x34\0\0\0\x40\x01\0\0\xee\x12\0\0\x35\0\0\0\x50\ -\x01\0\0\xfa\x12\0\0\x35\0\0\0\x58\x01\0\0\x06\x13\0\0\x35\0\0\0\x60\x01\0\0\ -\x0c\x13\0\0\x02\0\0\0\x80\x01\0\0\x14\x13\0\0\xd4\0\0\0\xa0\x01\0\0\x19\x13\0\ -\0\0\0\0\x08\xd3\0\0\0\0\0\0\0\x03\0\0\x05\x10\0\0\0\x28\x13\0\0\x76\0\0\0\0\0\ -\0\0\x2b\x13\0\0\x8f\0\0\0\0\0\0\0\x2e\x13\0\0\x8c\0\0\0\0\0\0\0\x32\x13\0\0\0\ -\0\0\x08\x57\0\0\0\x43\x13\0\0\x08\0\0\x04\x40\0\0\0\x55\x13\0\0\x4f\0\0\0\0\0\ -\0\0\x65\x13\0\0\x4f\0\0\0\x40\0\0\0\x75\x13\0\0\x4f\0\0\0\x80\0\0\0\x87\x13\0\ -\0\x4f\0\0\0\xc0\0\0\0\x99\x13\0\0\x4f\0\0\0\0\x01\0\0\xb2\x13\0\0\x4f\0\0\0\ -\x40\x01\0\0\xcb\x13\0\0\x4f\0\0\0\x80\x01\0\0\xe4\x13\0\0\x4f\0\0\0\xc0\x01\0\ -\0\xfd\x13\0\0\x04\0\0\x04\x20\0\0\0\x0f\x14\0\0\x4f\0\0\0\0\0\0\0\x15\x14\0\0\ -\x4f\0\0\0\x40\0\0\0\x1d\x14\0\0\x4f\0\0\0\x80\0\0\0\x26\x14\0\0\x4f\0\0\0\xc0\ -\0\0\0\x2f\x14\0\0\x02\0\0\x04\x18\0\0\0\x46\x14\0\0\x43\0\0\0\0\0\0\0\x4a\x14\ -\0\0\xa6\0\0\0\x80\0\0\0\x4f\x14\0\0\x03\0\0\x04\xb0\0\0\0\x61\x14\0\0\xbb\0\0\ -\0\0\0\0\0\x6c\x14\0\0\xcc\0\0\0\xc0\x02\0\0\x77\x14\0\0\x40\0\0\0\x40\x05\0\0\ -\x7f\x14\0\0\0\0\0\x08\xda\0\0\0\x84\x14\0\0\0\0\0\x01\x01\0\0\0\x08\0\0\x04\0\ -\0\0\0\0\0\0\x02\x85\x01\0\0\x8a\x14\0\0\x0b\0\0\x04\x40\0\0\0\x94\x14\0\0\xdd\ -\0\0\0\0\0\0\0\x3f\x01\0\0\xd2\0\0\0\xc0\0\0\0\x97\x14\0\0\x30\0\0\0\x40\x01\0\ -\0\xa4\x14\0\0\x60\0\0\0\x60\x01\0\0\xaa\x14\0\0\xa6\0\0\0\x80\x01\0\0\xaf\x14\ -\0\0\xa6\0\0\0\x88\x01\0\0\xb5\x14\0\0\xa6\0\0\0\x90\x01\0\0\xbe\x14\0\0\xa6\0\ -\0\0\x98\x01\0\0\xc6\x14\0\0\x60\0\0\0\xa0\x01\0\0\xcd\x14\0\0\x60\0\0\0\xc0\ -\x01\0\0\xd4\x14\0\0\x60\0\0\0\xe0\x01\0\0\xdb\x14\0\0\x03\0\0\x04\x18\0\0\0\ -\x45\x01\0\0\xd2\0\0\0\0\0\0\0\xe3\x14\0\0\x76\0\0\0\x80\0\0\0\x06\x13\0\0\x35\ -\0\0\0\xa0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\xdc\0\0\0\x04\0\0\0\x06\0\0\0\xe7\ -\x14\0\0\x02\0\0\x04\x10\0\0\0\x74\x02\0\0\xe0\0\0\0\0\0\0\0\xf5\x14\0\0\xe1\0\ -\0\0\x40\0\0\0\0\0\0\0\0\0\0\x02\xdf\0\0\0\0\0\0\0\0\0\0\x02\xe2\0\0\0\0\0\0\0\ -\x01\0\0\x0d\0\0\0\0\0\0\0\0\xe0\0\0\0\xfa\x14\0\0\x06\0\0\x84\x20\0\0\0\x7e\ -\x02\0\0\x3f\0\0\0\0\0\0\0\x0b\x15\0\0\xe4\0\0\0\x40\0\0\0\x17\x15\0\0\x3f\0\0\ -\0\x40\0\0\0\x20\x15\0\0\x40\0\0\0\x80\0\0\0\x2f\x15\0\0\xa6\0\0\0\xc0\0\0\x02\ -\x19\0\0\0\xa6\0\0\0\xc2\0\0\x02\x33\x15\0\0\0\0\0\x08\xe5\0\0\0\0\0\0\0\0\0\0\ -\x04\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\xc3\0\0\0\x04\0\0\0\x02\0\0\0\0\0\0\0\ -\x02\0\0\x05\x08\0\0\0\x45\x15\0\0\x3d\0\0\0\0\0\0\0\x52\x15\0\0\xe8\0\0\0\0\0\ -\0\0\x60\x15\0\0\x01\0\0\x04\x08\0\0\0\x9c\x02\0\0\x42\0\0\0\0\0\0\0\x68\x15\0\ -\0\0\0\0\x08\x02\0\0\0\x6e\x15\0\0\0\0\0\x01\x08\0\0\0\x40\0\0\x01\x73\x15\0\0\ -\x03\0\0\x04\x10\0\0\0\x7d\x15\0\0\xec\0\0\0\0\0\0\0\x82\x15\0\0\x5d\0\0\0\x40\ -\0\0\0\x89\x15\0\0\x5d\0\0\0\x60\0\0\0\0\0\0\0\0\0\0\x02\x75\x01\0\0\x8e\x15\0\ -\0\0\0\0\x08\x4e\0\0\0\xa0\x15\0\0\0\0\0\x08\x57\0\0\0\xa6\x15\0\0\0\0\0\x08\ -\xf0\0\0\0\0\0\0\0\x01\0\0\x04\x04\0\0\0\x44\x10\0\0\xf1\0\0\0\0\0\0\0\xad\x15\ -\0\0\0\0\0\x08\xd4\0\0\0\0\0\0\0\0\0\0\x02\x76\x01\0\0\0\0\0\0\0\0\0\x02\xf4\0\ -\0\0\0\0\0\0\0\0\0\x0a\x66\x01\0\0\0\0\0\0\0\0\0\x02\x7d\x01\0\0\xb3\x15\0\0\ -\x02\0\0\x04\x10\0\0\0\xc4\x15\0\0\xf7\0\0\0\0\0\0\0\xcb\x15\0\0\x60\0\0\0\x40\ -\0\0\0\0\0\0\0\0\0\0\x02\x65\x01\0\0\0\0\0\0\0\0\0\x02\x72\x01\0\0\0\0\0\0\0\0\ -\0\x02\xfa\0\0\0\0\0\0\0\x01\0\0\x0d\0\0\0\0\0\0\0\0\x48\0\0\0\0\0\0\0\0\0\0\ -\x02\xfc\0\0\0\0\0\0\0\x02\0\0\x0d\x02\0\0\0\0\0\0\0\x48\0\0\0\0\0\0\0\x3d\0\0\ -\0\0\0\0\0\0\0\0\x02\x7c\x01\0\0\0\0\0\0\0\0\0\x02\x64\x01\0\0\xd3\x15\0\0\0\0\ -\0\x08\xe5\0\0\0\0\0\0\0\0\0\0\x02\x01\x01\0\0\xe1\x15\0\0\x15\0\0\x04\xa8\0\0\ -\0\xe9\x15\0\0\x40\0\0\0\0\0\0\0\xed\x15\0\0\x40\0\0\0\x40\0\0\0\xf1\x15\0\0\ -\x40\0\0\0\x80\0\0\0\xf5\x15\0\0\x40\0\0\0\xc0\0\0\0\xf9\x15\0\0\x40\0\0\0\0\ -\x01\0\0\xfc\x15\0\0\x40\0\0\0\x40\x01\0\0\xff\x15\0\0\x40\0\0\0\x80\x01\0\0\ -\x03\x16\0\0\x40\0\0\0\xc0\x01\0\0\x07\x16\0\0\x40\0\0\0\0\x02\0\0\x0a\x16\0\0\ -\x40\0\0\0\x40\x02\0\0\x0d\x16\0\0\x40\0\0\0\x80\x02\0\0\x10\x16\0\0\x40\0\0\0\ -\xc0\x02\0\0\x13\x16\0\0\x40\0\0\0\0\x03\0\0\x16\x16\0\0\x40\0\0\0\x40\x03\0\0\ -\x19\x16\0\0\x40\0\0\0\x80\x03\0\0\x1c\x16\0\0\x40\0\0\0\xc0\x03\0\0\x24\x16\0\ -\0\x40\0\0\0\0\x04\0\0\x27\x16\0\0\x40\0\0\0\x40\x04\0\0\x92\x07\0\0\x40\0\0\0\ -\x80\x04\0\0\x2a\x16\0\0\x40\0\0\0\xc0\x04\0\0\x2d\x16\0\0\x40\0\0\0\0\x05\0\0\ -\0\0\0\0\x01\0\0\x0d\x02\0\0\0\x85\x01\0\0\0\x01\0\0\x30\x16\0\0\x01\0\0\x0c\ -\x02\x01\0\0\x43\x16\0\0\x01\0\0\x0c\x02\x01\0\0\x54\x16\0\0\x01\0\0\x0c\x02\ -\x01\0\0\x67\x16\0\0\x01\0\0\x0c\x02\x01\0\0\x76\x16\0\0\x01\0\0\x0c\x02\x01\0\ -\0\x85\x16\0\0\x01\0\0\x0c\x02\x01\0\0\0\0\0\0\0\0\0\x02\x50\0\0\0\0\0\0\0\x01\ -\0\0\x0d\x02\0\0\0\x85\x01\0\0\x09\x01\0\0\x9b\x16\0\0\x01\0\0\x0c\x0a\x01\0\0\ -\xb1\x16\0\0\x01\0\0\x0c\x0a\x01\0\0\xc7\x16\0\0\x01\0\0\x0c\x0a\x01\0\0\xe4\ -\x16\0\0\x01\0\0\x0c\x0a\x01\0\0\xeb\x16\0\0\x8d\0\0\x84\x68\x0b\0\0\xf4\x16\0\ -\0\x10\x01\0\0\0\0\0\0\xfe\x16\0\0\x64\0\0\0\x40\x41\0\0\x0d\x17\0\0\x64\0\0\0\ -\x50\x41\0\0\x16\x17\0\0\x76\0\0\0\x60\x41\0\0\x21\x17\0\0\x4e\0\0\0\x80\x41\0\ -\0\x30\x17\0\0\x60\0\0\0\xc0\x41\0\0\x38\x17\0\0\x60\0\0\0\xe0\x41\0\0\x45\x17\ -\0\0\x60\0\0\0\0\x42\0\0\x4d\x17\0\0\x60\0\0\0\x20\x42\0\0\x58\x17\0\0\x60\0\0\ -\0\x40\x42\0\0\x60\x17\0\0\x60\0\0\0\x60\x42\0\0\x68\x17\0\0\x60\0\0\0\x80\x42\ -\0\0\x71\x17\0\0\x60\0\0\0\xa0\x42\0\0\x7f\x17\0\0\x4e\0\0\0\xc0\x42\0\0\x8a\ -\x17\0\0\x4e\0\0\0\0\x43\0\0\x96\x17\0\0\x60\0\0\0\x40\x43\0\0\xa1\x17\0\0\x60\ -\0\0\0\x60\x43\0\0\xa9\x17\0\0\x60\0\0\0\x80\x43\0\0\xb1\x17\0\0\x60\0\0\0\xa0\ -\x43\0\0\xbc\x17\0\0\x60\0\0\0\xc0\x43\0\0\xc5\x17\0\0\x60\0\0\0\xe0\x43\0\0\ -\xd7\x17\0\0\x60\0\0\0\0\x44\0\0\xee\x17\0\0\x60\0\0\0\x20\x44\0\0\xf7\x17\0\0\ -\x43\0\0\0\x40\x44\0\0\0\x18\0\0\x43\0\0\0\xc0\x44\0\0\x13\x18\0\0\x60\0\0\0\ -\x40\x45\0\0\x1b\x18\0\0\x60\0\0\0\x60\x45\0\0\x23\x18\0\0\x60\0\0\0\x80\x45\0\ -\0\x2e\x18\0\0\x60\0\0\0\xa0\x45\0\0\x38\x18\0\0\x60\0\0\0\xc0\x45\0\0\x45\x18\ -\0\0\x60\0\0\0\xe0\x45\0\0\x52\x18\0\0\x38\x01\0\0\0\x46\0\0\x57\x18\0\0\x64\0\ -\0\0\xc0\x46\0\0\x5e\x18\0\0\xa6\0\0\0\xd0\x46\0\0\x6d\x18\0\0\xa6\0\0\0\xd8\ -\x46\0\x02\x7d\x18\0\0\xa6\0\0\0\xda\x46\0\x01\xf1\x06\0\0\xa6\0\0\0\xdb\x46\0\ -\x05\x89\x18\0\0\x60\0\0\0\xe0\x46\0\0\x96\x18\0\0\x39\x01\0\0\0\x47\0\0\xa2\ -\x18\0\0\xa6\0\0\0\x60\x47\0\x02\xae\x18\0\0\xa6\0\0\0\x62\x47\0\x01\xbf\x18\0\ -\0\xa6\0\0\0\x63\x47\0\x01\xd0\x18\0\0\xa6\0\0\0\x64\x47\0\x01\xe3\x18\0\0\xa6\ -\0\0\0\x65\x47\0\x01\xf1\x18\0\0\xa6\0\0\0\x66\x47\0\x02\x06\x19\0\0\xa6\0\0\0\ -\x68\x47\0\x04\x0e\x19\0\0\xa6\0\0\0\x6c\x47\0\x01\x17\x19\0\0\xa6\0\0\0\x6d\ -\x47\0\x01\x23\x19\0\0\xa6\0\0\0\x6e\x47\0\x01\x2a\x19\0\0\xa6\0\0\0\x6f\x47\0\ -\x01\x2f\x19\0\0\xa6\0\0\0\x70\x47\0\0\x3c\x19\0\0\xa6\0\0\0\x78\x47\0\x02\x45\ -\x19\0\0\xa6\0\0\0\x7a\x47\0\x01\x4e\x19\0\0\xa6\0\0\0\x7b\x47\0\x01\x5b\x19\0\ -\0\xa6\0\0\0\x7c\x47\0\x01\x6c\x19\0\0\xa6\0\0\0\x7d\x47\0\x01\x7c\x19\0\0\xa6\ -\0\0\0\x7e\x47\0\x01\x8b\x19\0\0\xa6\0\0\0\x7f\x47\0\x01\x9b\x19\0\0\x60\0\0\0\ -\x80\x47\0\0\xa8\x19\0\0\x60\0\0\0\xa0\x47\0\0\xb5\x19\0\0\x4e\0\0\0\xc0\x47\0\ -\0\xc3\x19\0\0\x4e\0\0\0\0\x48\0\0\xd3\x19\0\0\x4e\0\0\0\x40\x48\0\0\xde\x19\0\ -\0\x60\0\0\0\x80\x48\0\0\xe6\x19\0\0\x60\0\0\0\xa0\x48\0\0\xee\x19\0\0\x60\0\0\ -\0\xc0\x48\0\0\xfa\x19\0\0\x60\0\0\0\xe0\x48\0\0\x04\x1a\0\0\x60\0\0\0\0\x49\0\ -\0\x0c\x1a\0\0\x3a\x01\0\0\x20\x49\0\0\x14\x1a\0\0\x60\0\0\0\xe0\x49\0\0\x20\ -\x1a\0\0\x60\0\0\0\0\x4a\0\0\x2c\x1a\0\0\x60\0\0\0\x20\x4a\0\0\x3c\x1a\0\0\x60\ -\0\0\0\x40\x4a\0\0\x4b\x1a\0\0\x64\0\0\0\x60\x4a\0\0\x54\x1a\0\0\xa6\0\0\0\x70\ -\x4a\0\0\x5e\x1a\0\0\xa6\0\0\0\x78\x4a\0\0\x6f\x1a\0\0\x60\0\0\0\x80\x4a\0\0\ -\x7a\x1a\0\0\x60\0\0\0\xa0\x4a\0\0\x85\x1a\0\0\x60\0\0\0\xc0\x4a\0\0\x8c\x1a\0\ -\0\x3d\x01\0\0\xe0\x4a\0\0\x93\x1a\0\0\x60\0\0\0\xa0\x4b\0\0\xa0\x1a\0\0\x60\0\ -\0\0\xc0\x4b\0\0\xa9\x1a\0\0\x60\0\0\0\xe0\x4b\0\0\xb6\x1a\0\0\x60\0\0\0\0\x4c\ -\0\0\xc5\x1a\0\0\x60\0\0\0\x20\x4c\0\0\xd3\x1a\0\0\x60\0\0\0\x40\x4c\0\0\xe2\ -\x1a\0\0\x60\0\0\0\x60\x4c\0\0\xed\x1a\0\0\x60\0\0\0\x80\x4c\0\0\xfb\x1a\0\0\ -\x60\0\0\0\xa0\x4c\0\0\x4b\x07\0\0\x60\0\0\0\xc0\x4c\0\0\x3e\x07\0\0\x60\0\0\0\ -\xe0\x4c\0\0\x03\x1b\0\0\x60\0\0\0\0\x4d\0\0\x08\x1b\0\0\x60\0\0\0\x20\x4d\0\0\ -\x55\x07\0\0\x4e\0\0\0\x40\x4d\0\0\x65\x07\0\0\x4e\0\0\0\x80\x4d\0\0\x14\x1b\0\ -\0\x60\0\0\0\xc0\x4d\0\0\x23\x1b\0\0\x60\0\0\0\xe0\x4d\0\0\x34\x1b\0\0\x60\0\0\ -\0\0\x4e\0\0\x3c\x1b\0\0\x60\0\0\0\x20\x4e\0\0\x46\x1b\0\0\x60\0\0\0\x40\x4e\0\ -\0\x54\x1b\0\0\x60\0\0\0\x60\x4e\0\0\x5f\x1b\0\0\x60\0\0\0\x80\x4e\0\0\x68\x1b\ -\0\0\x60\0\0\0\xa0\x4e\0\0\x73\x1b\0\0\x3e\x01\0\0\xc0\x4e\0\0\x80\x1b\0\0\x3e\ -\x01\0\0\xc0\x50\0\0\x95\x1b\0\0\x3d\0\0\0\xc0\x52\0\0\xa3\x1b\0\0\x3d\0\0\0\0\ -\x53\0\0\xb7\x1b\0\0\xe8\0\0\0\x40\x53\0\0\xca\x1b\0\0\x3d\0\0\0\x80\x53\0\0\ -\xd7\x1b\0\0\x46\x01\0\0\xc0\x53\0\0\xe6\x1b\0\0\x47\x01\0\0\0\x54\0\0\xf5\x1b\ -\0\0\x47\x01\0\0\0\x55\0\0\x05\x1c\0\0\x3d\0\0\0\0\x56\0\0\x12\x1c\0\0\x02\0\0\ -\0\x40\x56\0\0\x20\x1c\0\0\x60\0\0\0\x60\x56\0\0\x2f\x1c\0\0\x60\0\0\0\x80\x56\ -\0\0\x38\x1c\0\0\x60\0\0\0\xa0\x56\0\0\x46\x1c\0\0\x60\0\0\0\xc0\x56\0\0\x52\ -\x1c\0\0\x02\0\0\0\xe0\x56\0\0\x5f\x1c\0\0\x4e\0\0\0\0\x57\0\0\x6d\x1c\0\0\x60\ -\0\0\0\x40\x57\0\0\x7b\x1c\0\0\x60\0\0\0\x60\x57\0\0\x83\x1c\0\0\x57\0\0\0\x80\ -\x57\0\0\x92\x1c\0\0\x57\0\0\0\xa0\x57\0\0\xa2\x1c\0\0\x02\0\0\0\xc0\x57\0\0\ -\xaa\x1c\0\0\xa6\0\0\0\xe0\x57\0\0\xc0\x1c\0\0\xa6\0\0\0\xe8\x57\0\x01\xd6\x1c\ -\0\0\x64\0\0\0\xf0\x57\0\0\xe5\x1c\0\0\x60\0\0\0\0\x58\0\0\xf1\x1c\0\0\x60\0\0\ -\0\x20\x58\0\0\x04\x1d\0\0\x48\x01\0\0\x40\x58\0\0\x10\x1d\0\0\x49\x01\0\0\xc0\ -\x58\0\0\x1b\x1d\0\0\x4a\x01\0\0\x40\x59\0\0\x25\x1d\0\0\x60\0\0\0\x80\x59\0\0\ -\x30\x1d\0\0\x60\0\0\0\xa0\x59\0\0\x39\x1d\0\0\xd9\0\0\0\xc0\x59\0\0\x42\x1d\0\ -\0\x4b\x01\0\0\0\x5a\0\0\x4e\x1d\0\0\x4d\x01\0\0\x40\x5a\0\0\x5a\x1d\0\0\x4e\ -\x01\0\0\x80\x5a\0\0\x67\x1d\0\0\x26\x01\0\0\xc0\x5a\0\0\x74\x1d\0\0\x4f\x01\0\ -\0\0\x5b\0\0\x7e\x1d\0\0\x20\0\0\x84\x28\x08\0\0\x93\x1d\0\0\x11\x01\0\0\0\0\0\ -\0\x9d\x1d\0\0\x25\x01\0\0\x80\x2e\0\0\xaf\x1d\0\0\x29\x01\0\0\x80\x34\0\0\xbe\ -\x1d\0\0\x2a\x01\0\0\xc0\x34\0\0\xce\x1d\0\0\x40\0\0\0\0\x35\0\0\xdb\x1d\0\0\ -\xcc\0\0\0\x40\x35\0\0\xf1\x1d\0\0\xcc\0\0\0\xc0\x37\0\0\x03\x1e\0\0\x5d\0\0\0\ -\x40\x3a\0\0\x0c\x1e\0\0\x5d\0\0\0\x60\x3a\0\0\x19\x1e\0\0\x5d\0\0\0\x80\x3a\0\ -\0\x29\x1e\0\0\x5d\0\0\0\xa0\x3a\0\0\x3a\x1e\0\0\x2b\x01\0\0\xc0\x3a\0\0\x46\ -\x1e\0\0\x2d\x01\0\0\0\x3b\0\0\x52\x1e\0\0\x2f\x01\0\0\x40\x3b\0\0\x5f\x1e\0\0\ -\xa8\0\0\0\x80\x3b\0\0\x6d\x1e\0\0\x31\x01\0\0\xc0\x3b\0\0\x7e\x1e\0\0\x33\x01\ -\0\0\0\x3c\0\0\x8c\x1e\0\0\x35\0\0\0\x40\x3c\0\x05\x9a\x1e\0\0\x35\0\0\0\x45\ -\x3c\0\x01\xae\x1e\0\0\x35\0\0\0\x46\x3c\0\x01\xc1\x1e\0\0\x35\0\0\0\x47\x3c\0\ -\x01\xd4\x1e\0\0\x35\0\0\0\x48\x3c\0\0\xe5\x1e\0\0\x35\0\0\0\x50\x3c\0\0\xf2\ -\x1e\0\0\x35\0\0\0\x58\x3c\0\0\xff\x1e\0\0\x35\0\0\0\x60\x3c\0\0\x10\x1f\0\0\ -\x35\0\0\0\x68\x3c\0\0\x20\x1f\0\0\x34\0\0\0\x70\x3c\0\0\x31\x1f\0\0\x35\x01\0\ -\0\x80\x3c\0\0\x3a\x1f\0\0\x36\x01\0\0\x40\x3d\0\0\x44\x1f\0\0\x60\0\0\0\xc0\ -\x3d\0\0\x57\x1f\0\0\x60\0\0\0\xe0\x3d\0\0\x69\x1f\0\0\x37\x01\0\0\0\x3e\0\0\ -\x76\x1f\0\0\x1e\0\0\x84\xd0\x05\0\0\xdc\x02\0\0\x79\0\0\0\0\0\0\0\x80\x1f\0\0\ -\x12\x01\0\0\0\x28\0\0\x87\x1f\0\0\x76\0\0\0\x40\x28\0\0\x92\x1f\0\0\x13\x01\0\ -\0\x60\x28\0\0\x99\x1f\0\0\x34\0\0\0\x70\x28\0\0\xa4\x1f\0\0\x15\x01\0\0\x80\ -\x28\0\0\xad\x1f\0\0\x62\0\0\0\xc0\x28\0\0\xb8\x1f\0\0\x34\0\0\0\xd0\x28\0\0\ -\xc0\x1f\0\0\x35\0\0\0\xe0\x28\0\0\xc4\x1f\0\0\x35\0\0\0\xe8\x28\0\0\xcc\x1f\0\ -\0\x35\0\0\0\xf0\x28\0\0\xd3\x1f\0\0\x35\0\0\0\xf8\x28\0\0\xdc\x1f\0\0\x35\0\0\ -\0\0\x29\0\x01\xe4\x1f\0\0\x35\0\0\0\x01\x29\0\x01\xec\x1f\0\0\x35\0\0\0\x02\ -\x29\0\x01\xf5\x1f\0\0\x35\0\0\0\x03\x29\0\x01\xfd\x1f\0\0\x35\0\0\0\x04\x29\0\ -\x01\x05\x20\0\0\x35\0\0\0\x05\x29\0\x01\x11\x20\0\0\x35\0\0\0\x06\x29\0\x01\ -\x18\x20\0\0\x35\0\0\0\x07\x29\0\x01\x21\x20\0\0\x35\0\0\0\x08\x29\0\x01\x36\ -\x20\0\0\x35\0\0\0\x09\x29\0\x01\x46\x20\0\0\x35\0\0\0\x0a\x29\0\x01\x54\x20\0\ -\0\x35\0\0\0\x10\x29\0\0\x5c\x20\0\0\x35\0\0\0\x18\x29\0\0\x69\x20\0\0\x02\0\0\ -\0\x20\x29\0\0\x72\x20\0\0\x02\0\0\0\x40\x29\0\0\x7b\x20\0\0\x76\0\0\0\x60\x29\ -\0\0\x83\x20\0\0\x16\x01\0\0\x80\x29\0\0\x8b\x20\0\0\x17\x01\0\0\xc0\x29\0\0\0\ -\0\0\0\0\0\0\x02\x6f\x01\0\0\x90\x20\0\0\0\0\0\x08\x14\x01\0\0\x96\x20\0\0\0\0\ -\0\x01\x02\0\0\0\x10\0\0\x01\0\0\0\0\0\0\0\x02\x6e\x01\0\0\0\0\0\0\0\0\0\x02\ -\x6d\x01\0\0\x9c\x20\0\0\x02\0\0\x04\x98\0\0\0\xab\x20\0\0\x18\x01\0\0\0\0\0\0\ -\xb0\x20\0\0\x1a\x01\0\0\xc0\x01\0\0\xb3\x20\0\0\x0d\0\0\x04\x38\0\0\0\x92\x07\ -\0\0\x57\0\0\0\0\0\0\0\xbd\x20\0\0\x76\0\0\0\x20\0\0\0\x8e\x07\0\0\x19\x01\0\0\ -\x40\0\0\0\xc2\x20\0\0\x57\0\0\0\x80\0\0\0\xcb\x20\0\0\x02\0\0\0\xa0\0\0\0\xd2\ -\x20\0\0\x9b\0\0\0\xc0\0\0\0\xd6\x20\0\0\xa6\0\0\0\0\x01\0\0\xdf\x20\0\0\x35\0\ -\0\0\x08\x01\0\0\xc0\x1f\0\0\x13\x01\0\0\x10\x01\0\0\x2c\x05\0\0\x51\0\0\0\x20\ -\x01\0\0\xe3\x20\0\0\x34\0\0\0\x30\x01\0\0\xec\x20\0\0\x4e\0\0\0\x40\x01\0\0\ -\x2d\x06\0\0\x60\0\0\0\x80\x01\0\0\0\0\0\0\0\0\0\x02\x75\0\0\0\xfa\x20\0\0\x01\ -\0\0\x04\x60\0\0\0\0\x21\0\0\x1b\x01\0\0\0\0\0\0\0\0\0\0\x03\0\0\x05\x60\0\0\0\ -\x02\x21\0\0\x1c\x01\0\0\0\0\0\0\x0e\x21\0\0\x1f\x01\0\0\0\0\0\0\x12\x21\0\0\ -\x24\x01\0\0\0\0\0\0\x16\x21\0\0\x0c\0\0\x04\x30\0\0\0\x23\x21\0\0\x02\0\0\0\0\ -\0\0\0\x2e\x21\0\0\x02\0\0\0\x20\0\0\0\x39\x21\0\0\x02\0\0\0\x40\0\0\0\x47\x21\ -\0\0\x5d\0\0\0\x60\0\0\0\x53\x21\0\0\x35\0\0\0\x80\0\0\0\x5e\x21\0\0\x35\0\0\0\ -\x88\0\0\0\x6b\x21\0\0\x35\0\0\0\x90\0\0\0\x78\x21\0\0\x35\0\0\0\x98\0\0\0\x85\ -\x21\0\0\x5d\0\0\0\xa0\0\0\0\x92\x21\0\0\xef\0\0\0\xc0\0\0\0\x9d\x21\0\0\x1d\ -\x01\0\0\0\x01\0\0\xac\x21\0\0\x5d\0\0\0\x40\x01\0\0\xc2\x21\0\0\x01\0\0\x04\ -\x08\0\0\0\xcf\x21\0\0\x1e\x01\0\0\0\0\0\0\xd6\x21\0\0\0\0\0\x08\x4f\0\0\0\xdd\ -\x21\0\0\x04\0\0\x04\x40\0\0\0\x02\x21\0\0\x1c\x01\0\0\0\0\0\0\x3f\x01\0\0\x76\ -\0\0\0\x80\x01\0\0\x45\x01\0\0\x76\0\0\0\xa0\x01\0\0\xe4\x21\0\0\x20\x01\0\0\ -\xc0\x01\0\0\xe8\x21\0\0\x04\0\0\x05\x04\0\0\0\xf2\x21\0\0\x21\x01\0\0\0\0\0\0\ -\xf8\x21\0\0\x22\x01\0\0\0\0\0\0\xfe\x21\0\0\x76\0\0\0\0\0\0\0\x06\x22\0\0\x23\ -\x01\0\0\0\0\0\0\0\0\0\0\x02\0\0\x04\x04\0\0\0\x32\x01\0\0\x62\0\0\0\0\0\0\0\ -\x2c\x01\0\0\x62\0\0\0\x10\0\0\0\0\0\0\0\x02\0\0\x04\x02\0\0\0\x19\0\0\0\x35\0\ -\0\0\0\0\0\0\x0a\x22\0\0\x35\0\0\0\x08\0\0\0\0\0\0\0\x01\0\0\x04\x01\0\0\0\x19\ -\0\0\0\x35\0\0\0\0\0\0\0\x0f\x22\0\0\x06\0\0\x04\x60\0\0\0\x02\x21\0\0\x1c\x01\ -\0\0\0\0\0\0\x45\x01\0\0\x8c\0\0\0\x80\x01\0\0\x3f\x01\0\0\x8c\0\0\0\0\x02\0\0\ -\x16\x22\0\0\x76\0\0\0\x80\x02\0\0\xe4\x21\0\0\x20\x01\0\0\xa0\x02\0\0\x20\x22\ -\0\0\x5d\0\0\0\xc0\x02\0\0\x28\x22\0\0\x08\0\0\x04\xc0\0\0\0\x3b\x22\0\0\x9e\0\ -\0\0\0\0\0\0\x45\x22\0\0\xa6\0\0\0\0\x02\0\0\x57\x22\0\0\x60\0\0\0\x20\x02\0\0\ -\x83\x11\0\0\x6b\0\0\0\x40\x02\0\0\x67\x22\0\0\x6b\0\0\0\x60\x02\0\0\x6d\x22\0\ -\0\x26\x01\0\0\x80\x02\0\0\x7e\x22\0\0\x26\x01\0\0\xc0\x02\0\0\x8f\x22\0\0\x27\ -\x01\0\0\0\x03\0\0\0\0\0\0\0\0\0\x02\x78\x01\0\0\x99\x22\0\0\x06\0\0\x04\x60\0\ -\0\0\xa8\x22\0\0\x26\x01\0\0\0\0\0\0\xb6\x22\0\0\x26\x01\0\0\x40\0\0\0\x71\x11\ -\0\0\x9e\0\0\0\x80\0\0\0\x83\x11\0\0\x02\0\0\0\x80\x02\0\0\xc4\x22\0\0\x02\0\0\ -\0\xa0\x02\0\0\x85\x01\0\0\x28\x01\0\0\xc0\x02\0\0\0\0\0\0\0\0\0\x02\x80\x01\0\ -\0\0\0\0\0\0\0\0\x02\x6a\x01\0\0\0\0\0\0\0\0\0\x02\x69\x01\0\0\0\0\0\0\0\0\0\ -\x02\x2c\x01\0\0\0\0\0\0\0\0\0\x0a\x7f\x01\0\0\0\0\0\0\0\0\0\x02\x2e\x01\0\0\0\ -\0\0\0\0\0\0\x0a\x6b\x01\0\0\0\0\0\0\0\0\0\x02\x30\x01\0\0\0\0\0\0\0\0\0\x0a\ -\x84\x01\0\0\0\0\0\0\0\0\0\x02\x32\x01\0\0\0\0\0\0\x02\0\0\x0d\0\0\0\0\0\0\0\0\ -\x48\0\0\0\0\0\0\0\x60\0\0\0\0\0\0\0\0\0\0\x02\x34\x01\0\0\0\0\0\0\x02\0\0\x0d\ -\x57\0\0\0\0\0\0\0\x48\0\0\0\0\0\0\0\x60\0\0\0\0\0\0\0\x09\0\0\x04\x18\0\0\0\ -\x4f\x10\0\0\x35\0\0\0\0\0\0\0\xcd\x22\0\0\x35\0\0\0\x08\0\0\0\xd3\x22\0\0\x35\ -\0\0\0\x10\0\0\0\xdc\x22\0\0\x35\0\0\0\x18\0\0\0\xe2\x22\0\0\x5d\0\0\0\x20\0\0\ -\0\x77\x14\0\0\x40\0\0\0\x40\0\0\0\xe6\x22\0\0\x5d\0\0\0\x80\0\0\0\xef\x22\0\0\ -\x34\0\0\0\xa0\0\0\0\xfd\x22\0\0\x34\0\0\0\xb0\0\0\0\0\0\0\0\x05\0\0\x84\x10\0\ -\0\0\x05\x23\0\0\x02\0\0\0\0\0\0\0\x11\x23\0\0\x02\0\0\0\x20\0\0\0\x1c\x23\0\0\ -\x60\0\0\0\x40\0\0\x1f\x27\x23\0\0\x60\0\0\0\x5f\0\0\x01\x2f\x23\0\0\x60\0\0\0\ -\x60\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x4e\0\0\0\x04\0\0\0\x0d\0\0\0\x3f\x23\0\0\ -\x08\0\0\x84\x18\0\0\0\x48\x23\0\0\x4e\0\0\0\0\0\0\0\x4f\x23\0\0\x60\0\0\0\x40\ -\0\0\0\xb0\x06\0\0\x60\0\0\0\x60\0\0\0\x56\x23\0\0\x60\0\0\0\x80\0\0\0\x65\x23\ -\0\0\xa6\0\0\0\xa0\0\0\0\x73\x23\0\0\xa6\0\0\0\xa8\0\0\x05\x83\x23\0\0\xa6\0\0\ -\0\xad\0\0\x01\x8e\x23\0\0\xa6\0\0\0\xae\0\0\x01\0\0\0\0\0\0\0\x03\0\0\0\0\x60\ -\0\0\0\x04\0\0\0\x03\0\0\0\x97\x23\0\0\x01\0\0\x04\x18\0\0\0\x9e\x23\0\0\x3c\ -\x01\0\0\0\0\0\0\xa0\x23\0\0\x02\0\0\x04\x08\0\0\0\xae\x23\0\0\x60\0\0\0\0\0\0\ -\0\xc6\x12\0\0\x60\0\0\0\x20\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x3b\x01\0\0\x04\0\ -\0\0\x03\0\0\0\xb0\x23\0\0\x11\0\0\x84\x18\0\0\0\xc5\x23\0\0\x02\0\0\0\0\0\0\0\ -\xd5\x23\0\0\x60\0\0\0\x20\0\0\0\xdf\x23\0\0\x60\0\0\0\x40\0\0\0\xe9\x23\0\0\ -\x60\0\0\0\x60\0\0\0\xf3\x23\0\0\x64\0\0\0\x80\0\0\x01\xfe\x23\0\0\x64\0\0\0\ -\x81\0\0\x01\x08\x24\0\0\x64\0\0\0\x82\0\0\x01\x0e\x24\0\0\x64\0\0\0\x83\0\0\ -\x01\x18\x24\0\0\x64\0\0\0\x84\0\0\x03\x20\x24\0\0\x64\0\0\0\x87\0\0\x01\x27\ -\x24\0\0\x64\0\0\0\x88\0\0\x04\x32\x24\0\0\x64\0\0\0\x8c\0\0\x04\x3d\x24\0\0\ -\xa6\0\0\0\x90\0\0\x01\xf1\x06\0\0\xa6\0\0\0\x91\0\0\x07\x49\x24\0\0\xa6\0\0\0\ -\x98\0\0\0\x53\x24\0\0\x64\0\0\0\xa0\0\0\0\x5c\x24\0\0\x64\0\0\0\xb0\0\0\0\x66\ -\x24\0\0\x08\0\0\x04\x40\0\0\0\x6e\x24\0\0\x3f\x01\0\0\0\0\0\0\x73\x24\0\0\x4a\ -\0\0\0\0\x01\0\0\xb3\x12\0\0\x40\x01\0\0\x40\x01\0\0\xab\x20\0\0\x44\x01\0\0\ -\x80\x01\0\0\x26\x01\0\0\xa6\0\0\0\xc0\x01\0\0\x80\x24\0\0\xa6\0\0\0\xc8\x01\0\ -\0\x87\x24\0\0\xa6\0\0\0\xd0\x01\0\0\x8f\x24\0\0\xa6\0\0\0\xd8\x01\0\0\x97\x24\ -\0\0\x02\0\0\x04\x20\0\0\0\x6e\x24\0\0\x41\0\0\0\0\0\0\0\xab\x12\0\0\x4a\0\0\0\ -\xc0\0\0\0\0\0\0\0\0\0\0\x02\x41\x01\0\0\0\0\0\0\x01\0\0\x0d\x42\x01\0\0\0\0\0\ -\0\x43\x01\0\0\xa7\x24\0\0\x02\0\0\x06\x04\0\0\0\xb7\x24\0\0\0\0\0\0\xc9\x24\0\ -\0\x01\0\0\0\0\0\0\0\0\0\0\x02\x3e\x01\0\0\0\0\0\0\0\0\0\x02\x68\x01\0\0\xd9\ -\x24\0\0\x02\0\0\x04\x08\0\0\0\xe8\x24\0\0\x60\0\0\0\0\0\0\0\xb0\x06\0\0\x60\0\ -\0\0\x20\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x45\x01\0\0\x04\0\0\0\x01\0\0\0\0\0\0\ -\0\0\0\0\x03\0\0\0\0\x45\x01\0\0\x04\0\0\0\x04\0\0\0\0\0\0\0\x03\0\0\x04\x10\0\ -\0\0\x4f\x23\0\0\x60\0\0\0\0\0\0\0\xac\x06\0\0\x60\0\0\0\x20\0\0\0\xf2\x24\0\0\ -\x4e\0\0\0\x40\0\0\0\0\0\0\0\x03\0\0\x04\x10\0\0\0\xf7\x24\0\0\x60\0\0\0\0\0\0\ -\0\xac\x06\0\0\x60\0\0\0\x20\0\0\0\xf2\x24\0\0\x4e\0\0\0\x40\0\0\0\0\0\0\0\x02\ -\0\0\x04\x08\0\0\0\xfd\x24\0\0\x60\0\0\0\0\0\0\0\x0d\x25\0\0\x60\0\0\0\x20\0\0\ -\0\0\0\0\0\0\0\0\x02\x4c\x01\0\0\0\0\0\0\0\0\0\x0a\x83\x01\0\0\0\0\0\0\0\0\0\ -\x02\x82\x01\0\0\0\0\0\0\0\0\0\x02\x81\x01\0\0\0\0\0\0\0\0\0\x02\x79\x01\0\0\0\ -\0\0\0\0\0\0\x02\x51\x01\0\0\x1b\x25\0\0\x03\0\0\x04\xb8\0\0\0\x2f\x25\0\0\x52\ -\x01\0\0\0\0\0\0\x34\x25\0\0\x4f\0\0\0\x40\x05\0\0\xbd\x20\0\0\x4f\0\0\0\x80\ -\x05\0\0\x42\x25\0\0\0\0\0\x08\x01\x01\0\0\0\0\0\0\x01\0\0\x0d\x02\0\0\0\x85\ -\x01\0\0\x50\x01\0\0\x55\x25\0\0\x01\0\0\x0c\x53\x01\0\0\0\0\0\0\x01\0\0\x0d\ -\x02\0\0\0\xdc\x02\0\0\x48\0\0\0\x69\x25\0\0\0\0\0\x0c\x55\x01\0\0\0\0\0\0\0\0\ -\0\x03\0\0\0\0\x51\0\0\0\x04\0\0\0\x0d\0\0\0\x86\x25\0\0\0\0\0\x0e\x57\x01\0\0\ -\x01\0\0\0\0\0\0\0\0\0\0\x0a\x5a\x01\0\0\xf7\x05\0\0\0\0\0\x08\x57\0\0\0\x8e\ -\x25\0\0\0\0\0\x0e\x59\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\xb5\0\0\0\ -\x04\0\0\0\x1c\0\0\0\x93\x25\0\0\0\0\0\x0e\x5c\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\x03\0\0\0\0\xb5\0\0\0\x04\0\0\0\x1b\0\0\0\xaf\x25\0\0\0\0\0\x0e\x5e\x01\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\xb5\0\0\0\x04\0\0\0\x20\0\0\0\xcd\x25\0\0\0\0\ -\0\x0e\x60\x01\0\0\0\0\0\0\xee\x25\0\0\0\0\0\x0e\x5e\x01\0\0\0\0\0\0\x0c\x26\0\ -\0\0\0\0\x0e\x60\x01\0\0\0\0\0\0\x31\x26\0\0\0\0\0\x07\0\0\0\0\xc4\x15\0\0\0\0\ -\0\x07\0\0\0\0\x43\x26\0\0\0\0\0\x07\0\0\0\0\x48\x26\0\0\0\0\0\x07\0\0\0\0\x52\ -\x26\0\0\0\0\0\x07\0\0\0\0\x65\x26\0\0\0\0\0\x07\0\0\0\0\x77\x26\0\0\0\0\0\x07\ -\0\0\0\0\x88\x26\0\0\0\0\0\x07\0\0\0\0\xa4\x26\0\0\0\0\0\x07\0\0\0\0\xbc\x26\0\ -\0\0\0\0\x07\0\0\0\0\xcb\x26\0\0\0\0\0\x07\0\0\0\0\xda\x26\0\0\0\0\0\x07\0\0\0\ -\0\xe5\x26\0\0\0\0\0\x07\0\0\0\0\xf4\x26\0\0\0\0\0\x07\0\0\0\0\x09\x27\0\0\0\0\ -\0\x07\0\0\0\0\xe3\x0e\0\0\0\0\0\x07\0\0\0\0\x14\x27\0\0\0\0\0\x07\0\0\0\0\x7d\ -\x15\0\0\0\0\0\x07\0\0\0\0\x1f\x27\0\0\0\0\0\x07\0\0\0\0\x06\x13\0\0\0\0\0\x07\ -\0\0\0\0\x23\x27\0\0\0\0\0\x07\0\0\0\0\x74\x1d\0\0\0\0\0\x07\0\0\0\0\x46\x09\0\ -\0\0\0\0\x07\0\0\0\0\x30\x27\0\0\0\0\0\x07\0\0\0\0\x38\x27\0\0\0\0\0\x07\0\0\0\ -\0\x47\x27\0\0\0\0\0\x07\0\0\0\0\x4e\x27\0\0\0\0\0\x07\0\0\0\0\x58\x27\0\0\0\0\ -\0\x07\0\0\0\0\x6b\x27\0\0\0\0\0\x07\0\0\0\0\x80\x27\0\0\0\0\0\x07\0\0\0\0\x95\ -\x27\0\0\0\0\0\x07\0\0\0\0\xa5\x27\0\0\0\0\0\x07\0\0\0\0\xb5\x27\0\0\0\0\0\x07\ -\0\0\0\0\xc1\x27\0\0\0\0\0\x07\0\0\0\0\x8f\x46\0\0\x01\0\0\x0f\x0d\0\0\0\x58\ -\x01\0\0\0\0\0\0\x0d\0\0\0\x97\x46\0\0\x06\0\0\x0f\x96\0\0\0\x5b\x01\0\0\0\0\0\ -\0\x04\0\0\0\x5d\x01\0\0\x04\0\0\0\x1c\0\0\0\x5f\x01\0\0\x20\0\0\0\x1b\0\0\0\ -\x61\x01\0\0\x3b\0\0\0\x20\0\0\0\x62\x01\0\0\x5b\0\0\0\x1b\0\0\0\x63\x01\0\0\ -\x76\0\0\0\x20\0\0\0\x9f\x46\0\0\x09\0\0\x0f\xe0\0\0\0\x0c\0\0\0\0\0\0\0\x20\0\ -\0\0\x12\0\0\0\x20\0\0\0\x10\0\0\0\x18\0\0\0\x30\0\0\0\x20\0\0\0\x1e\0\0\0\x50\ -\0\0\0\x20\0\0\0\x22\0\0\0\x70\0\0\0\x20\0\0\0\x24\0\0\0\x90\0\0\0\x20\0\0\0\ -\x28\0\0\0\xb0\0\0\0\x10\0\0\0\x2c\0\0\0\xc0\0\0\0\x10\0\0\0\x2d\0\0\0\xd0\0\0\ -\0\x10\0\0\0\0\x69\x6e\x74\0\x5f\x5f\x41\x52\x52\x41\x59\x5f\x53\x49\x5a\x45\ -\x5f\x54\x59\x50\x45\x5f\x5f\0\x74\x79\x70\x65\0\x6b\x65\x79\x5f\x73\x69\x7a\ -\x65\0\x76\x61\x6c\x75\x65\x5f\x73\x69\x7a\x65\0\x6d\x61\x78\x5f\x65\x6e\x74\ -\x72\x69\x65\x73\0\x74\x63\x70\x72\x74\x74\x5f\x6d\x61\x70\0\x74\x63\x70\x72\ -\x74\x74\x5f\x62\x75\x66\x66\x65\x72\0\x6e\x65\x74\x5f\x6c\x61\x74\x65\x6e\x63\ -\x79\x5f\x73\x74\x61\x72\x74\0\x69\x70\x76\x34\x5f\x74\x6f\x70\x5f\x6d\x61\x70\ -\0\x69\x70\x76\x36\x5f\x74\x6f\x70\x5f\x6d\x61\x70\0\x74\x6f\x70\x5f\x73\x6f\ -\x63\x6b\x5f\x73\x74\x6f\x72\x65\0\x6e\x65\x74\x5f\x6c\x61\x74\x65\x6e\x63\x79\ -\x5f\x62\x75\x66\x66\x65\x72\0\x74\x63\x70\x74\x6f\x70\x5f\x62\x75\x66\x66\x65\ -\x72\0\x74\x63\x70\x72\x65\x74\x72\x61\x6e\x73\x5f\x62\x75\x66\x66\x65\x72\0\ -\x74\x63\x70\x5f\x72\x65\x74\x72\x61\x6e\x73\x6d\x69\x74\x5f\x73\x6b\x62\x5f\ -\x65\x76\x65\x6e\x74\0\x63\x6f\x6d\x6d\x6f\x6e\x5f\x74\x79\x70\x65\0\x63\x6f\ -\x6d\x6d\x6f\x6e\x5f\x66\x6c\x61\x67\x73\0\x63\x6f\x6d\x6d\x6f\x6e\x5f\x70\x72\ -\x65\x65\x6d\x70\x74\x5f\x63\x6f\x75\x6e\x74\0\x63\x6f\x6d\x6d\x6f\x6e\x5f\x70\ -\x69\x64\0\x73\x6b\x62\x61\x64\x64\x72\0\x73\x6b\x61\x64\x64\x72\0\x73\x74\x61\ -\x74\x65\0\x73\x70\x6f\x72\x74\0\x64\x70\x6f\x72\x74\0\x66\x61\x6d\x69\x6c\x79\ -\0\x73\x61\x64\x64\x72\0\x64\x61\x64\x64\x72\0\x73\x61\x64\x64\x72\x5f\x76\x36\ -\0\x64\x61\x64\x64\x72\x5f\x76\x36\0\x75\x6e\x73\x69\x67\x6e\x65\x64\x20\x73\ -\x68\x6f\x72\x74\0\x75\x6e\x73\x69\x67\x6e\x65\x64\x20\x63\x68\x61\x72\0\x5f\ -\x5f\x75\x31\x36\0\x5f\x5f\x75\x38\0\x63\x74\x78\0\x74\x72\x61\x63\x65\x5f\x72\ -\x65\x74\x72\x61\x6e\x73\x6d\x69\x74\0\x73\x6b\x5f\x62\x75\x66\x66\0\x63\x62\0\ -\x5f\x6e\x66\x63\x74\0\x6c\x65\x6e\0\x64\x61\x74\x61\x5f\x6c\x65\x6e\0\x6d\x61\ -\x63\x5f\x6c\x65\x6e\0\x68\x64\x72\x5f\x6c\x65\x6e\0\x71\x75\x65\x75\x65\x5f\ -\x6d\x61\x70\x70\x69\x6e\x67\0\x5f\x5f\x63\x6c\x6f\x6e\x65\x64\x5f\x6f\x66\x66\ -\x73\x65\x74\0\x63\x6c\x6f\x6e\x65\x64\0\x6e\x6f\x68\x64\x72\0\x66\x63\x6c\x6f\ -\x6e\x65\0\x70\x65\x65\x6b\x65\x64\0\x68\x65\x61\x64\x5f\x66\x72\x61\x67\0\x70\ -\x66\x6d\x65\x6d\x61\x6c\x6c\x6f\x63\0\x70\x70\x5f\x72\x65\x63\x79\x63\x6c\x65\ -\0\x61\x63\x74\x69\x76\x65\x5f\x65\x78\x74\x65\x6e\x73\x69\x6f\x6e\x73\0\x74\ -\x61\x69\x6c\0\x65\x6e\x64\0\x68\x65\x61\x64\0\x64\x61\x74\x61\0\x74\x72\x75\ -\x65\x73\x69\x7a\x65\0\x75\x73\x65\x72\x73\0\x65\x78\x74\x65\x6e\x73\x69\x6f\ -\x6e\x73\0\x72\x62\x6e\x6f\x64\x65\0\x6c\x69\x73\x74\0\x6c\x6c\x5f\x6e\x6f\x64\ -\x65\0\x6e\x65\x78\x74\0\x70\x72\x65\x76\0\x64\x65\x76\0\x64\x65\x76\x5f\x73\ -\x63\x72\x61\x74\x63\x68\0\x75\x6e\x73\x69\x67\x6e\x65\x64\x20\x6c\x6f\x6e\x67\ -\0\x72\x62\x5f\x6e\x6f\x64\x65\0\x5f\x5f\x72\x62\x5f\x70\x61\x72\x65\x6e\x74\ -\x5f\x63\x6f\x6c\x6f\x72\0\x72\x62\x5f\x72\x69\x67\x68\x74\0\x72\x62\x5f\x6c\ -\x65\x66\x74\0\x6c\x69\x73\x74\x5f\x68\x65\x61\x64\0\x6c\x6c\x69\x73\x74\x5f\ -\x6e\x6f\x64\x65\0\x73\x6b\0\x69\x70\x5f\x64\x65\x66\x72\x61\x67\x5f\x6f\x66\ -\x66\x73\x65\x74\0\x74\x73\x74\x61\x6d\x70\0\x73\x6b\x62\x5f\x6d\x73\x74\x61\ -\x6d\x70\x5f\x6e\x73\0\x6b\x74\x69\x6d\x65\x5f\x74\0\x73\x36\x34\0\x5f\x5f\x73\ -\x36\x34\0\x6c\x6f\x6e\x67\x20\x6c\x6f\x6e\x67\0\x75\x36\x34\0\x5f\x5f\x75\x36\ -\x34\0\x75\x6e\x73\x69\x67\x6e\x65\x64\x20\x6c\x6f\x6e\x67\x20\x6c\x6f\x6e\x67\ -\0\x63\x68\x61\x72\0\x74\x63\x70\x5f\x74\x73\x6f\x72\x74\x65\x64\x5f\x61\x6e\ -\x63\x68\x6f\x72\0\x5f\x73\x6b\x5f\x72\x65\x64\x69\x72\0\x5f\x73\x6b\x62\x5f\ -\x72\x65\x66\x64\x73\x74\0\x64\x65\x73\x74\x72\x75\x63\x74\x6f\x72\0\x75\x6e\ -\x73\x69\x67\x6e\x65\x64\x20\x69\x6e\x74\0\x68\x65\x61\x64\x65\x72\x73\0\x5f\ -\x5f\x70\x6b\x74\x5f\x74\x79\x70\x65\x5f\x6f\x66\x66\x73\x65\x74\0\x70\x6b\x74\ -\x5f\x74\x79\x70\x65\0\x69\x67\x6e\x6f\x72\x65\x5f\x64\x66\0\x6e\x66\x5f\x74\ -\x72\x61\x63\x65\0\x69\x70\x5f\x73\x75\x6d\x6d\x65\x64\0\x6f\x6f\x6f\x5f\x6f\ -\x6b\x61\x79\0\x6c\x34\x5f\x68\x61\x73\x68\0\x73\x77\x5f\x68\x61\x73\x68\0\x77\ -\x69\x66\x69\x5f\x61\x63\x6b\x65\x64\x5f\x76\x61\x6c\x69\x64\0\x77\x69\x66\x69\ -\x5f\x61\x63\x6b\x65\x64\0\x6e\x6f\x5f\x66\x63\x73\0\x65\x6e\x63\x61\x70\x73\ -\x75\x6c\x61\x74\x69\x6f\x6e\0\x65\x6e\x63\x61\x70\x5f\x68\x64\x72\x5f\x63\x73\ -\x75\x6d\0\x63\x73\x75\x6d\x5f\x76\x61\x6c\x69\x64\0\x5f\x5f\x70\x6b\x74\x5f\ -\x76\x6c\x61\x6e\x5f\x70\x72\x65\x73\x65\x6e\x74\x5f\x6f\x66\x66\x73\x65\x74\0\ -\x72\x65\x6d\x63\x73\x75\x6d\x5f\x6f\x66\x66\x6c\x6f\x61\x64\0\x63\x73\x75\x6d\ -\x5f\x63\x6f\x6d\x70\x6c\x65\x74\x65\x5f\x73\x77\0\x63\x73\x75\x6d\x5f\x6c\x65\ -\x76\x65\x6c\0\x64\x73\x74\x5f\x70\x65\x6e\x64\x69\x6e\x67\x5f\x63\x6f\x6e\x66\ -\x69\x72\x6d\0\x6d\x6f\x6e\x6f\x5f\x64\x65\x6c\x69\x76\x65\x72\x79\x5f\x74\x69\ -\x6d\x65\0\x74\x63\x5f\x73\x6b\x69\x70\x5f\x63\x6c\x61\x73\x73\x69\x66\x79\0\ -\x74\x63\x5f\x61\x74\x5f\x69\x6e\x67\x72\x65\x73\x73\0\x6e\x64\x69\x73\x63\x5f\ -\x6e\x6f\x64\x65\x74\x79\x70\x65\0\x69\x70\x76\x73\x5f\x70\x72\x6f\x70\x65\x72\ -\x74\x79\0\x69\x6e\x6e\x65\x72\x5f\x70\x72\x6f\x74\x6f\x63\x6f\x6c\x5f\x74\x79\ -\x70\x65\0\x72\x65\x64\x69\x72\x65\x63\x74\x65\x64\0\x6e\x66\x5f\x73\x6b\x69\ -\x70\x5f\x65\x67\x72\x65\x73\x73\0\x73\x6c\x6f\x77\x5f\x67\x72\x6f\0\x63\x73\ -\x75\x6d\x5f\x6e\x6f\x74\x5f\x69\x6e\x65\x74\0\x73\x63\x6d\x5f\x69\x6f\x5f\x75\ -\x72\x69\x6e\x67\0\x74\x63\x5f\x69\x6e\x64\x65\x78\0\x70\x72\x69\x6f\x72\x69\ -\x74\x79\0\x73\x6b\x62\x5f\x69\x69\x66\0\x68\x61\x73\x68\0\x61\x6c\x6c\x6f\x63\ -\x5f\x63\x70\x75\0\x73\x65\x63\x6d\x61\x72\x6b\0\x69\x6e\x6e\x65\x72\x5f\x74\ -\x72\x61\x6e\x73\x70\x6f\x72\x74\x5f\x68\x65\x61\x64\x65\x72\0\x69\x6e\x6e\x65\ -\x72\x5f\x6e\x65\x74\x77\x6f\x72\x6b\x5f\x68\x65\x61\x64\x65\x72\0\x69\x6e\x6e\ -\x65\x72\x5f\x6d\x61\x63\x5f\x68\x65\x61\x64\x65\x72\0\x70\x72\x6f\x74\x6f\x63\ -\x6f\x6c\0\x74\x72\x61\x6e\x73\x70\x6f\x72\x74\x5f\x68\x65\x61\x64\x65\x72\0\ -\x6e\x65\x74\x77\x6f\x72\x6b\x5f\x68\x65\x61\x64\x65\x72\0\x6d\x61\x63\x5f\x68\ -\x65\x61\x64\x65\x72\0\x63\x73\x75\x6d\0\x5f\x5f\x77\x73\x75\x6d\0\x5f\x5f\x75\ -\x33\x32\0\x63\x73\x75\x6d\x5f\x73\x74\x61\x72\x74\0\x63\x73\x75\x6d\x5f\x6f\ -\x66\x66\x73\x65\x74\0\x76\x6c\x61\x6e\x5f\x61\x6c\x6c\0\x75\x33\x32\0\x76\x6c\ -\x61\x6e\x5f\x70\x72\x6f\x74\x6f\0\x76\x6c\x61\x6e\x5f\x74\x63\x69\0\x5f\x5f\ -\x62\x65\x31\x36\0\x6e\x61\x70\x69\x5f\x69\x64\0\x73\x65\x6e\x64\x65\x72\x5f\ -\x63\x70\x75\0\x75\x31\x36\0\x6d\x61\x72\x6b\0\x72\x65\x73\x65\x72\x76\x65\x64\ -\x5f\x74\x61\x69\x6c\x72\x6f\x6f\x6d\0\x69\x6e\x6e\x65\x72\x5f\x70\x72\x6f\x74\ -\x6f\x63\x6f\x6c\0\x69\x6e\x6e\x65\x72\x5f\x69\x70\x70\x72\x6f\x74\x6f\0\x73\ -\x6b\x5f\x62\x75\x66\x66\x5f\x64\x61\x74\x61\x5f\x74\0\x72\x65\x66\x63\x6f\x75\ -\x6e\x74\x5f\x74\0\x72\x65\x66\x63\x6f\x75\x6e\x74\x5f\x73\x74\x72\x75\x63\x74\ -\0\x72\x65\x66\x73\0\x61\x74\x6f\x6d\x69\x63\x5f\x74\0\x63\x6f\x75\x6e\x74\x65\ -\x72\0\x74\x63\x70\x5f\x73\x6b\x62\x5f\x63\x62\0\x73\x65\x71\0\x65\x6e\x64\x5f\ -\x73\x65\x71\0\x74\x63\x70\x5f\x66\x6c\x61\x67\x73\0\x73\x61\x63\x6b\x65\x64\0\ -\x69\x70\x5f\x64\x73\x66\x69\x65\x6c\x64\0\x74\x78\x73\x74\x61\x6d\x70\x5f\x61\ -\x63\x6b\0\x65\x6f\x72\0\x68\x61\x73\x5f\x72\x78\x74\x73\x74\x61\x6d\x70\0\x75\ -\x6e\x75\x73\x65\x64\0\x61\x63\x6b\x5f\x73\x65\x71\0\x74\x63\x70\x5f\x74\x77\ -\x5f\x69\x73\x6e\0\x74\x63\x70\x5f\x67\x73\x6f\x5f\x73\x65\x67\x73\0\x74\x63\ -\x70\x5f\x67\x73\x6f\x5f\x73\x69\x7a\x65\0\x74\x78\0\x68\x65\x61\x64\x65\x72\0\ -\x69\x73\x5f\x61\x70\x70\x5f\x6c\x69\x6d\x69\x74\x65\x64\0\x64\x65\x6c\x69\x76\ -\x65\x72\x65\x64\x5f\x63\x65\0\x64\x65\x6c\x69\x76\x65\x72\x65\x64\0\x66\x69\ -\x72\x73\x74\x5f\x74\x78\x5f\x6d\x73\x74\x61\x6d\x70\0\x64\x65\x6c\x69\x76\x65\ -\x72\x65\x64\x5f\x6d\x73\x74\x61\x6d\x70\0\x68\x34\0\x68\x36\0\x69\x6e\x65\x74\ -\x5f\x73\x6b\x62\x5f\x70\x61\x72\x6d\0\x69\x69\x66\0\x6f\x70\x74\0\x66\x6c\x61\ -\x67\x73\0\x66\x72\x61\x67\x5f\x6d\x61\x78\x5f\x73\x69\x7a\x65\0\x69\x70\x5f\ -\x6f\x70\x74\x69\x6f\x6e\x73\0\x66\x61\x64\x64\x72\0\x6e\x65\x78\x74\x68\x6f\ -\x70\0\x6f\x70\x74\x6c\x65\x6e\0\x73\x72\x72\0\x72\x72\0\x74\x73\0\x69\x73\x5f\ -\x73\x74\x72\x69\x63\x74\x72\x6f\x75\x74\x65\0\x73\x72\x72\x5f\x69\x73\x5f\x68\ -\x69\x74\0\x69\x73\x5f\x63\x68\x61\x6e\x67\x65\x64\0\x72\x72\x5f\x6e\x65\x65\ -\x64\x61\x64\x64\x72\0\x74\x73\x5f\x6e\x65\x65\x64\x74\x69\x6d\x65\0\x74\x73\ -\x5f\x6e\x65\x65\x64\x61\x64\x64\x72\0\x72\x6f\x75\x74\x65\x72\x5f\x61\x6c\x65\ -\x72\x74\0\x63\x69\x70\x73\x6f\0\x5f\x5f\x70\x61\x64\x32\0\x5f\x5f\x64\x61\x74\ -\x61\0\x5f\x5f\x62\x65\x33\x32\0\x69\x6e\x65\x74\x36\x5f\x73\x6b\x62\x5f\x70\ -\x61\x72\x6d\0\x72\x61\0\x64\x73\x74\x30\0\x73\x72\x63\x72\x74\0\x64\x73\x74\ -\x31\0\x6c\x61\x73\x74\x6f\x70\x74\0\x6e\x68\x6f\x66\x66\0\x64\x73\x74\x68\x61\ -\x6f\0\x73\x72\x68\x6f\x66\x66\0\x73\x6f\x63\x6b\0\x5f\x5f\x73\x6b\x5f\x63\x6f\ -\x6d\x6d\x6f\x6e\0\x73\x6b\x5f\x72\x78\x5f\x64\x73\x74\0\x73\x6b\x5f\x72\x78\ -\x5f\x64\x73\x74\x5f\x69\x66\x69\x6e\x64\x65\x78\0\x73\x6b\x5f\x72\x78\x5f\x64\ -\x73\x74\x5f\x63\x6f\x6f\x6b\x69\x65\0\x73\x6b\x5f\x6c\x6f\x63\x6b\0\x73\x6b\ -\x5f\x64\x72\x6f\x70\x73\0\x73\x6b\x5f\x72\x63\x76\x6c\x6f\x77\x61\x74\0\x73\ -\x6b\x5f\x65\x72\x72\x6f\x72\x5f\x71\x75\x65\x75\x65\0\x73\x6b\x5f\x72\x65\x63\ -\x65\x69\x76\x65\x5f\x71\x75\x65\x75\x65\0\x73\x6b\x5f\x62\x61\x63\x6b\x6c\x6f\ -\x67\0\x73\x6b\x5f\x66\x6f\x72\x77\x61\x72\x64\x5f\x61\x6c\x6c\x6f\x63\0\x73\ -\x6b\x5f\x72\x65\x73\x65\x72\x76\x65\x64\x5f\x6d\x65\x6d\0\x73\x6b\x5f\x6c\x6c\ -\x5f\x75\x73\x65\x63\0\x73\x6b\x5f\x6e\x61\x70\x69\x5f\x69\x64\0\x73\x6b\x5f\ -\x72\x63\x76\x62\x75\x66\0\x73\x6b\x5f\x66\x69\x6c\x74\x65\x72\0\x73\x6b\x5f\ -\x70\x6f\x6c\x69\x63\x79\0\x73\x6b\x5f\x64\x73\x74\x5f\x63\x61\x63\x68\x65\0\ -\x73\x6b\x5f\x6f\x6d\x65\x6d\x5f\x61\x6c\x6c\x6f\x63\0\x73\x6b\x5f\x73\x6e\x64\ -\x62\x75\x66\0\x73\x6b\x5f\x77\x6d\x65\x6d\x5f\x71\x75\x65\x75\x65\x64\0\x73\ -\x6b\x5f\x77\x6d\x65\x6d\x5f\x61\x6c\x6c\x6f\x63\0\x73\x6b\x5f\x74\x73\x71\x5f\ -\x66\x6c\x61\x67\x73\0\x73\x6b\x5f\x77\x72\x69\x74\x65\x5f\x71\x75\x65\x75\x65\ -\0\x73\x6b\x5f\x70\x65\x65\x6b\x5f\x6f\x66\x66\0\x73\x6b\x5f\x77\x72\x69\x74\ -\x65\x5f\x70\x65\x6e\x64\x69\x6e\x67\0\x73\x6b\x5f\x64\x73\x74\x5f\x70\x65\x6e\ -\x64\x69\x6e\x67\x5f\x63\x6f\x6e\x66\x69\x72\x6d\0\x73\x6b\x5f\x70\x61\x63\x69\ -\x6e\x67\x5f\x73\x74\x61\x74\x75\x73\0\x73\x6b\x5f\x73\x6e\x64\x74\x69\x6d\x65\ -\x6f\0\x73\x6b\x5f\x74\x69\x6d\x65\x72\0\x73\x6b\x5f\x70\x72\x69\x6f\x72\x69\ -\x74\x79\0\x73\x6b\x5f\x6d\x61\x72\x6b\0\x73\x6b\x5f\x70\x61\x63\x69\x6e\x67\ -\x5f\x72\x61\x74\x65\0\x73\x6b\x5f\x6d\x61\x78\x5f\x70\x61\x63\x69\x6e\x67\x5f\ -\x72\x61\x74\x65\0\x73\x6b\x5f\x66\x72\x61\x67\0\x73\x6b\x5f\x72\x6f\x75\x74\ -\x65\x5f\x63\x61\x70\x73\0\x73\x6b\x5f\x67\x73\x6f\x5f\x74\x79\x70\x65\0\x73\ -\x6b\x5f\x67\x73\x6f\x5f\x6d\x61\x78\x5f\x73\x69\x7a\x65\0\x73\x6b\x5f\x61\x6c\ -\x6c\x6f\x63\x61\x74\x69\x6f\x6e\0\x73\x6b\x5f\x74\x78\x68\x61\x73\x68\0\x73\ -\x6b\x5f\x67\x73\x6f\x5f\x64\x69\x73\x61\x62\x6c\x65\x64\0\x73\x6b\x5f\x6b\x65\ -\x72\x6e\x5f\x73\x6f\x63\x6b\0\x73\x6b\x5f\x6e\x6f\x5f\x63\x68\x65\x63\x6b\x5f\ -\x74\x78\0\x73\x6b\x5f\x6e\x6f\x5f\x63\x68\x65\x63\x6b\x5f\x72\x78\0\x73\x6b\ -\x5f\x75\x73\x65\x72\x6c\x6f\x63\x6b\x73\0\x73\x6b\x5f\x70\x61\x63\x69\x6e\x67\ -\x5f\x73\x68\x69\x66\x74\0\x73\x6b\x5f\x74\x79\x70\x65\0\x73\x6b\x5f\x70\x72\ -\x6f\x74\x6f\x63\x6f\x6c\0\x73\x6b\x5f\x67\x73\x6f\x5f\x6d\x61\x78\x5f\x73\x65\ -\x67\x73\0\x73\x6b\x5f\x6c\x69\x6e\x67\x65\x72\x74\x69\x6d\x65\0\x73\x6b\x5f\ -\x70\x72\x6f\x74\x5f\x63\x72\x65\x61\x74\x6f\x72\0\x73\x6b\x5f\x63\x61\x6c\x6c\ -\x62\x61\x63\x6b\x5f\x6c\x6f\x63\x6b\0\x73\x6b\x5f\x65\x72\x72\0\x73\x6b\x5f\ -\x65\x72\x72\x5f\x73\x6f\x66\x74\0\x73\x6b\x5f\x61\x63\x6b\x5f\x62\x61\x63\x6b\ -\x6c\x6f\x67\0\x73\x6b\x5f\x6d\x61\x78\x5f\x61\x63\x6b\x5f\x62\x61\x63\x6b\x6c\ -\x6f\x67\0\x73\x6b\x5f\x75\x69\x64\0\x73\x6b\x5f\x74\x78\x72\x65\x68\x61\x73\ -\x68\0\x73\x6b\x5f\x70\x72\x65\x66\x65\x72\x5f\x62\x75\x73\x79\x5f\x70\x6f\x6c\ -\x6c\0\x73\x6b\x5f\x62\x75\x73\x79\x5f\x70\x6f\x6c\x6c\x5f\x62\x75\x64\x67\x65\ -\x74\0\x73\x6b\x5f\x70\x65\x65\x72\x5f\x6c\x6f\x63\x6b\0\x73\x6b\x5f\x62\x69\ -\x6e\x64\x5f\x70\x68\x63\0\x73\x6b\x5f\x70\x65\x65\x72\x5f\x70\x69\x64\0\x73\ -\x6b\x5f\x70\x65\x65\x72\x5f\x63\x72\x65\x64\0\x73\x6b\x5f\x72\x63\x76\x74\x69\ -\x6d\x65\x6f\0\x73\x6b\x5f\x73\x74\x61\x6d\x70\0\x73\x6b\x5f\x74\x73\x6b\x65\ -\x79\0\x73\x6b\x5f\x7a\x63\x6b\x65\x79\0\x73\x6b\x5f\x74\x73\x66\x6c\x61\x67\ -\x73\0\x73\x6b\x5f\x73\x68\x75\x74\x64\x6f\x77\x6e\0\x73\x6b\x5f\x63\x6c\x6f\ -\x63\x6b\x69\x64\0\x73\x6b\x5f\x74\x78\x74\x69\x6d\x65\x5f\x64\x65\x61\x64\x6c\ -\x69\x6e\x65\x5f\x6d\x6f\x64\x65\0\x73\x6b\x5f\x74\x78\x74\x69\x6d\x65\x5f\x72\ -\x65\x70\x6f\x72\x74\x5f\x65\x72\x72\x6f\x72\x73\0\x73\x6b\x5f\x74\x78\x74\x69\ -\x6d\x65\x5f\x75\x6e\x75\x73\x65\x64\0\x73\x6b\x5f\x73\x6f\x63\x6b\x65\x74\0\ -\x73\x6b\x5f\x75\x73\x65\x72\x5f\x64\x61\x74\x61\0\x73\x6b\x5f\x73\x65\x63\x75\ -\x72\x69\x74\x79\0\x73\x6b\x5f\x63\x67\x72\x70\x5f\x64\x61\x74\x61\0\x73\x6b\ -\x5f\x6d\x65\x6d\x63\x67\0\x73\x6b\x5f\x73\x74\x61\x74\x65\x5f\x63\x68\x61\x6e\ -\x67\x65\0\x73\x6b\x5f\x64\x61\x74\x61\x5f\x72\x65\x61\x64\x79\0\x73\x6b\x5f\ -\x77\x72\x69\x74\x65\x5f\x73\x70\x61\x63\x65\0\x73\x6b\x5f\x65\x72\x72\x6f\x72\ -\x5f\x72\x65\x70\x6f\x72\x74\0\x73\x6b\x5f\x62\x61\x63\x6b\x6c\x6f\x67\x5f\x72\ -\x63\x76\0\x73\x6b\x5f\x64\x65\x73\x74\x72\x75\x63\x74\0\x73\x6b\x5f\x72\x65\ -\x75\x73\x65\x70\x6f\x72\x74\x5f\x63\x62\0\x73\x6b\x5f\x62\x70\x66\x5f\x73\x74\ -\x6f\x72\x61\x67\x65\0\x73\x6b\x5f\x72\x63\x75\0\x6e\x73\x5f\x74\x72\x61\x63\ -\x6b\x65\x72\0\x73\x6b\x5f\x62\x69\x6e\x64\x32\x5f\x6e\x6f\x64\x65\0\x73\x6f\ -\x63\x6b\x5f\x63\x6f\x6d\x6d\x6f\x6e\0\x73\x6b\x63\x5f\x66\x61\x6d\x69\x6c\x79\ -\0\x73\x6b\x63\x5f\x73\x74\x61\x74\x65\0\x73\x6b\x63\x5f\x72\x65\x75\x73\x65\0\ -\x73\x6b\x63\x5f\x72\x65\x75\x73\x65\x70\x6f\x72\x74\0\x73\x6b\x63\x5f\x69\x70\ -\x76\x36\x6f\x6e\x6c\x79\0\x73\x6b\x63\x5f\x6e\x65\x74\x5f\x72\x65\x66\x63\x6e\ -\x74\0\x73\x6b\x63\x5f\x62\x6f\x75\x6e\x64\x5f\x64\x65\x76\x5f\x69\x66\0\x73\ -\x6b\x63\x5f\x70\x72\x6f\x74\0\x73\x6b\x63\x5f\x6e\x65\x74\0\x73\x6b\x63\x5f\ -\x76\x36\x5f\x64\x61\x64\x64\x72\0\x73\x6b\x63\x5f\x76\x36\x5f\x72\x63\x76\x5f\ -\x73\x61\x64\x64\x72\0\x73\x6b\x63\x5f\x63\x6f\x6f\x6b\x69\x65\0\x73\x6b\x63\ -\x5f\x64\x6f\x6e\x74\x63\x6f\x70\x79\x5f\x62\x65\x67\x69\x6e\0\x73\x6b\x63\x5f\ -\x74\x78\x5f\x71\x75\x65\x75\x65\x5f\x6d\x61\x70\x70\x69\x6e\x67\0\x73\x6b\x63\ -\x5f\x72\x78\x5f\x71\x75\x65\x75\x65\x5f\x6d\x61\x70\x70\x69\x6e\x67\0\x73\x6b\ -\x63\x5f\x72\x65\x66\x63\x6e\x74\0\x73\x6b\x63\x5f\x64\x6f\x6e\x74\x63\x6f\x70\ -\x79\x5f\x65\x6e\x64\0\x73\x6b\x63\x5f\x61\x64\x64\x72\x70\x61\x69\x72\0\x5f\ -\x5f\x61\x64\x64\x72\x70\x61\x69\x72\0\x73\x6b\x63\x5f\x64\x61\x64\x64\x72\0\ -\x73\x6b\x63\x5f\x72\x63\x76\x5f\x73\x61\x64\x64\x72\0\x73\x6b\x63\x5f\x68\x61\ -\x73\x68\0\x73\x6b\x63\x5f\x75\x31\x36\x68\x61\x73\x68\x65\x73\0\x73\x6b\x63\ -\x5f\x70\x6f\x72\x74\x70\x61\x69\x72\0\x5f\x5f\x70\x6f\x72\x74\x70\x61\x69\x72\ -\0\x73\x6b\x63\x5f\x64\x70\x6f\x72\x74\0\x73\x6b\x63\x5f\x6e\x75\x6d\0\x73\x6b\ -\x63\x5f\x62\x69\x6e\x64\x5f\x6e\x6f\x64\x65\0\x73\x6b\x63\x5f\x70\x6f\x72\x74\ -\x61\x64\x64\x72\x5f\x6e\x6f\x64\x65\0\x68\x6c\x69\x73\x74\x5f\x6e\x6f\x64\x65\ -\0\x70\x70\x72\x65\x76\0\x70\x6f\x73\x73\x69\x62\x6c\x65\x5f\x6e\x65\x74\x5f\ -\x74\0\x6e\x65\x74\0\x69\x6e\x36\x5f\x61\x64\x64\x72\0\x69\x6e\x36\x5f\x75\0\ -\x75\x36\x5f\x61\x64\x64\x72\x38\0\x75\x36\x5f\x61\x64\x64\x72\x31\x36\0\x75\ -\x36\x5f\x61\x64\x64\x72\x33\x32\0\x61\x74\x6f\x6d\x69\x63\x36\x34\x5f\x74\0\ -\x73\x6b\x63\x5f\x66\x6c\x61\x67\x73\0\x73\x6b\x63\x5f\x6c\x69\x73\x74\x65\x6e\ -\x65\x72\0\x73\x6b\x63\x5f\x74\x77\x5f\x64\x72\0\x73\x6b\x63\x5f\x6e\x6f\x64\ -\x65\0\x73\x6b\x63\x5f\x6e\x75\x6c\x6c\x73\x5f\x6e\x6f\x64\x65\0\x68\x6c\x69\ -\x73\x74\x5f\x6e\x75\x6c\x6c\x73\x5f\x6e\x6f\x64\x65\0\x73\x6b\x63\x5f\x69\x6e\ -\x63\x6f\x6d\x69\x6e\x67\x5f\x63\x70\x75\0\x73\x6b\x63\x5f\x72\x63\x76\x5f\x77\ -\x6e\x64\0\x73\x6b\x63\x5f\x74\x77\x5f\x72\x63\x76\x5f\x6e\x78\x74\0\x73\x6b\ -\x63\x5f\x72\x78\x68\x61\x73\x68\0\x73\x6b\x63\x5f\x77\x69\x6e\x64\x6f\x77\x5f\ -\x63\x6c\x61\x6d\x70\0\x73\x6b\x63\x5f\x74\x77\x5f\x73\x6e\x64\x5f\x6e\x78\x74\ -\0\x73\x6f\x63\x6b\x65\x74\x5f\x6c\x6f\x63\x6b\x5f\x74\0\x73\x6c\x6f\x63\x6b\0\ -\x6f\x77\x6e\x65\x64\0\x77\x71\0\x64\x65\x70\x5f\x6d\x61\x70\0\x73\x70\x69\x6e\ -\x6c\x6f\x63\x6b\x5f\x74\0\x73\x70\x69\x6e\x6c\x6f\x63\x6b\0\x72\x6c\x6f\x63\ -\x6b\0\x72\x61\x77\x5f\x73\x70\x69\x6e\x6c\x6f\x63\x6b\0\x72\x61\x77\x5f\x6c\ -\x6f\x63\x6b\0\x6d\x61\x67\x69\x63\0\x6f\x77\x6e\x65\x72\x5f\x63\x70\x75\0\x6f\ -\x77\x6e\x65\x72\0\x61\x72\x63\x68\x5f\x73\x70\x69\x6e\x6c\x6f\x63\x6b\x5f\x74\ -\0\x71\x73\x70\x69\x6e\x6c\x6f\x63\x6b\0\x76\x61\x6c\0\x6c\x6f\x63\x6b\x65\x64\ -\0\x70\x65\x6e\x64\x69\x6e\x67\0\x75\x38\0\x6c\x6f\x63\x6b\x65\x64\x5f\x70\x65\ -\x6e\x64\x69\x6e\x67\0\x6c\x6f\x63\x6b\x64\x65\x70\x5f\x6d\x61\x70\0\x6b\x65\ -\x79\0\x63\x6c\x61\x73\x73\x5f\x63\x61\x63\x68\x65\0\x6e\x61\x6d\x65\0\x77\x61\ -\x69\x74\x5f\x74\x79\x70\x65\x5f\x6f\x75\x74\x65\x72\0\x77\x61\x69\x74\x5f\x74\ -\x79\x70\x65\x5f\x69\x6e\x6e\x65\x72\0\x6c\x6f\x63\x6b\x5f\x74\x79\x70\x65\0\ -\x6c\x6f\x63\x6b\x5f\x63\x6c\x61\x73\x73\0\x68\x61\x73\x68\x5f\x65\x6e\x74\x72\ -\x79\0\x6c\x6f\x63\x6b\x5f\x65\x6e\x74\x72\x79\0\x6c\x6f\x63\x6b\x73\x5f\x61\ -\x66\x74\x65\x72\0\x6c\x6f\x63\x6b\x73\x5f\x62\x65\x66\x6f\x72\x65\0\x73\x75\ -\x62\x63\x6c\x61\x73\x73\0\x64\x65\x70\x5f\x67\x65\x6e\x5f\x69\x64\0\x75\x73\ -\x61\x67\x65\x5f\x6d\x61\x73\x6b\0\x75\x73\x61\x67\x65\x5f\x74\x72\x61\x63\x65\ -\x73\0\x6e\x61\x6d\x65\x5f\x76\x65\x72\x73\x69\x6f\x6e\0\x6c\x6f\x63\x6b\x5f\ -\x74\x72\x61\x63\x65\0\x6e\x72\x5f\x65\x6e\x74\x72\x69\x65\x73\0\x65\x6e\x74\ -\x72\x69\x65\x73\0\x5f\x5f\x70\x61\x64\x64\x69\x6e\x67\0\x77\x61\x69\x74\x5f\ -\x71\x75\x65\x75\x65\x5f\x68\x65\x61\x64\x5f\x74\0\x77\x61\x69\x74\x5f\x71\x75\ -\x65\x75\x65\x5f\x68\x65\x61\x64\0\x6c\x6f\x63\x6b\0\x73\x6b\x5f\x62\x75\x66\ -\x66\x5f\x68\x65\x61\x64\0\x71\x6c\x65\x6e\0\x73\x6b\x5f\x62\x75\x66\x66\x5f\ -\x6c\x69\x73\x74\0\x72\x6d\x65\x6d\x5f\x61\x6c\x6c\x6f\x63\0\x73\x6b\x5f\x77\ -\x71\0\x73\x6b\x5f\x77\x71\x5f\x72\x61\x77\0\x78\x66\x72\x6d\x5f\x70\x6f\x6c\ -\x69\x63\x79\0\x78\x70\x5f\x6e\x65\x74\0\x62\x79\x64\x73\x74\0\x62\x79\x69\x64\ -\x78\0\x72\x65\x66\x63\x6e\x74\0\x70\x6f\x73\0\x74\x69\x6d\x65\x72\0\x67\x65\ -\x6e\x69\x64\0\x69\x6e\x64\x65\x78\0\x69\x66\x5f\x69\x64\0\x73\x65\x6c\x65\x63\ -\x74\x6f\x72\0\x6c\x66\x74\0\x63\x75\x72\x6c\x66\x74\0\x77\x61\x6c\x6b\0\x70\ -\x6f\x6c\x71\0\x62\x79\x64\x73\x74\x5f\x72\x65\x69\x6e\x73\x65\x72\x74\0\x61\ -\x63\x74\x69\x6f\x6e\0\x78\x66\x72\x6d\x5f\x6e\x72\0\x73\x65\x63\x75\x72\x69\ -\x74\x79\0\x78\x66\x72\x6d\x5f\x76\x65\x63\0\x62\x79\x64\x73\x74\x5f\x69\x6e\ -\x65\x78\x61\x63\x74\x5f\x6c\x69\x73\x74\0\x72\x63\x75\0\x78\x64\x6f\0\x72\x77\ -\x6c\x6f\x63\x6b\x5f\x74\0\x61\x72\x63\x68\x5f\x72\x77\x6c\x6f\x63\x6b\x5f\x74\ -\0\x71\x72\x77\x6c\x6f\x63\x6b\0\x77\x61\x69\x74\x5f\x6c\x6f\x63\x6b\0\x63\x6e\ -\x74\x73\0\x77\x6c\x6f\x63\x6b\x65\x64\0\x5f\x5f\x6c\x73\x74\x61\x74\x65\0\x74\ -\x69\x6d\x65\x72\x5f\x6c\x69\x73\x74\0\x65\x6e\x74\x72\x79\0\x65\x78\x70\x69\ -\x72\x65\x73\0\x66\x75\x6e\x63\x74\x69\x6f\x6e\0\x78\x66\x72\x6d\x5f\x6d\x61\ -\x72\x6b\0\x76\0\x6d\0\x78\x66\x72\x6d\x5f\x73\x65\x6c\x65\x63\x74\x6f\x72\0\ -\x64\x70\x6f\x72\x74\x5f\x6d\x61\x73\x6b\0\x73\x70\x6f\x72\x74\x5f\x6d\x61\x73\ -\x6b\0\x70\x72\x65\x66\x69\x78\x6c\x65\x6e\x5f\x64\0\x70\x72\x65\x66\x69\x78\ -\x6c\x65\x6e\x5f\x73\0\x70\x72\x6f\x74\x6f\0\x69\x66\x69\x6e\x64\x65\x78\0\x75\ -\x73\x65\x72\0\x78\x66\x72\x6d\x5f\x61\x64\x64\x72\x65\x73\x73\x5f\x74\0\x61\ -\x34\0\x61\x36\0\x69\x6e\x36\0\x5f\x5f\x6b\x65\x72\x6e\x65\x6c\x5f\x75\x69\x64\ -\x33\x32\x5f\x74\0\x78\x66\x72\x6d\x5f\x6c\x69\x66\x65\x74\x69\x6d\x65\x5f\x63\ -\x66\x67\0\x73\x6f\x66\x74\x5f\x62\x79\x74\x65\x5f\x6c\x69\x6d\x69\x74\0\x68\ -\x61\x72\x64\x5f\x62\x79\x74\x65\x5f\x6c\x69\x6d\x69\x74\0\x73\x6f\x66\x74\x5f\ -\x70\x61\x63\x6b\x65\x74\x5f\x6c\x69\x6d\x69\x74\0\x68\x61\x72\x64\x5f\x70\x61\ -\x63\x6b\x65\x74\x5f\x6c\x69\x6d\x69\x74\0\x73\x6f\x66\x74\x5f\x61\x64\x64\x5f\ -\x65\x78\x70\x69\x72\x65\x73\x5f\x73\x65\x63\x6f\x6e\x64\x73\0\x68\x61\x72\x64\ -\x5f\x61\x64\x64\x5f\x65\x78\x70\x69\x72\x65\x73\x5f\x73\x65\x63\x6f\x6e\x64\ -\x73\0\x73\x6f\x66\x74\x5f\x75\x73\x65\x5f\x65\x78\x70\x69\x72\x65\x73\x5f\x73\ -\x65\x63\x6f\x6e\x64\x73\0\x68\x61\x72\x64\x5f\x75\x73\x65\x5f\x65\x78\x70\x69\ -\x72\x65\x73\x5f\x73\x65\x63\x6f\x6e\x64\x73\0\x78\x66\x72\x6d\x5f\x6c\x69\x66\ -\x65\x74\x69\x6d\x65\x5f\x63\x75\x72\0\x62\x79\x74\x65\x73\0\x70\x61\x63\x6b\ -\x65\x74\x73\0\x61\x64\x64\x5f\x74\x69\x6d\x65\0\x75\x73\x65\x5f\x74\x69\x6d\ -\x65\0\x78\x66\x72\x6d\x5f\x70\x6f\x6c\x69\x63\x79\x5f\x77\x61\x6c\x6b\x5f\x65\ -\x6e\x74\x72\x79\0\x61\x6c\x6c\0\x64\x65\x61\x64\0\x78\x66\x72\x6d\x5f\x70\x6f\ -\x6c\x69\x63\x79\x5f\x71\x75\x65\x75\x65\0\x68\x6f\x6c\x64\x5f\x71\x75\x65\x75\ -\x65\0\x68\x6f\x6c\x64\x5f\x74\x69\x6d\x65\x72\0\x74\x69\x6d\x65\x6f\x75\x74\0\ -\x62\x6f\x6f\x6c\0\x5f\x42\x6f\x6f\x6c\0\x78\x66\x72\x6d\x5f\x74\x6d\x70\x6c\0\ -\x69\x64\0\x65\x6e\x63\x61\x70\x5f\x66\x61\x6d\x69\x6c\x79\0\x72\x65\x71\x69\ -\x64\0\x6d\x6f\x64\x65\0\x73\x68\x61\x72\x65\0\x6f\x70\x74\x69\x6f\x6e\x61\x6c\ -\0\x61\x6c\x6c\x61\x6c\x67\x73\0\x61\x61\x6c\x67\x6f\x73\0\x65\x61\x6c\x67\x6f\ -\x73\0\x63\x61\x6c\x67\x6f\x73\0\x78\x66\x72\x6d\x5f\x69\x64\0\x73\x70\x69\0\ -\x63\x61\x6c\x6c\x62\x61\x63\x6b\x5f\x68\x65\x61\x64\0\x66\x75\x6e\x63\0\x78\ -\x66\x72\x6d\x5f\x64\x65\x76\x5f\x6f\x66\x66\x6c\x6f\x61\x64\0\x64\x65\x76\x5f\ -\x74\x72\x61\x63\x6b\x65\x72\0\x72\x65\x61\x6c\x5f\x64\x65\x76\0\x6f\x66\x66\ -\x6c\x6f\x61\x64\x5f\x68\x61\x6e\x64\x6c\x65\0\x64\x69\x72\0\x6e\x65\x74\x64\ -\x65\x76\x69\x63\x65\x5f\x74\x72\x61\x63\x6b\x65\x72\0\x73\x6b\x5f\x73\x65\x6e\ -\x64\x5f\x68\x65\x61\x64\0\x74\x63\x70\x5f\x72\x74\x78\x5f\x71\x75\x65\x75\x65\ -\0\x72\x62\x5f\x72\x6f\x6f\x74\0\x5f\x5f\x73\x33\x32\0\x6c\x6f\x6e\x67\0\x70\ -\x61\x67\x65\x5f\x66\x72\x61\x67\0\x70\x61\x67\x65\0\x6f\x66\x66\x73\x65\x74\0\ -\x73\x69\x7a\x65\0\x6e\x65\x74\x64\x65\x76\x5f\x66\x65\x61\x74\x75\x72\x65\x73\ -\x5f\x74\0\x67\x66\x70\x5f\x74\0\x6b\x75\x69\x64\x5f\x74\0\x75\x69\x64\x5f\x74\ -\0\x73\x6f\x63\x6b\x5f\x63\x67\x72\x6f\x75\x70\x5f\x64\x61\x74\x61\0\x63\x67\ -\x72\x6f\x75\x70\0\x63\x6c\x61\x73\x73\x69\x64\0\x6e\x65\x74\x6e\x73\x5f\x74\ -\x72\x61\x63\x6b\x65\x72\0\x70\x74\x5f\x72\x65\x67\x73\0\x72\x31\x35\0\x72\x31\ -\x34\0\x72\x31\x33\0\x72\x31\x32\0\x62\x70\0\x62\x78\0\x72\x31\x31\0\x72\x31\ -\x30\0\x72\x39\0\x72\x38\0\x61\x78\0\x63\x78\0\x64\x78\0\x73\x69\0\x64\x69\0\ -\x6f\x72\x69\x67\x5f\x61\x78\0\x69\x70\0\x63\x73\0\x73\x70\0\x73\x73\0\x74\x6f\ -\x70\x5f\x74\x63\x70\x5f\x73\x65\x6e\x64\x5f\x65\x6e\x74\x72\x79\0\x74\x6f\x70\ -\x5f\x74\x63\x70\x5f\x73\x65\x6e\x64\x5f\x72\x65\x74\0\x74\x6f\x70\x5f\x74\x63\ -\x70\x5f\x72\x65\x63\x76\x5f\x65\x6e\x74\x72\x79\0\x74\x63\x70\x5f\x76\x34\x5f\ -\x63\x6f\x6e\x6e\x65\x63\x74\0\x74\x63\x70\x5f\x76\x36\x5f\x63\x6f\x6e\x6e\x65\ -\x63\x74\0\x74\x63\x70\x5f\x72\x63\x76\x5f\x73\x74\x61\x74\x65\x5f\x70\x72\x6f\ -\x63\x65\x73\x73\0\x66\x65\x6e\x74\x72\x79\x5f\x74\x63\x70\x5f\x76\x34\x5f\x63\ -\x6f\x6e\x6e\x65\x63\x74\0\x66\x65\x6e\x74\x72\x79\x5f\x74\x63\x70\x5f\x76\x36\ -\x5f\x63\x6f\x6e\x6e\x65\x63\x74\0\x66\x65\x6e\x74\x72\x79\x5f\x74\x63\x70\x5f\ -\x72\x63\x76\x5f\x73\x74\x61\x74\x65\x5f\x70\x72\x6f\x63\x65\x73\x73\0\x74\x63\ -\x70\x72\x74\x74\0\x74\x63\x70\x5f\x73\x6f\x63\x6b\0\x69\x6e\x65\x74\x5f\x63\ -\x6f\x6e\x6e\0\x74\x63\x70\x5f\x68\x65\x61\x64\x65\x72\x5f\x6c\x65\x6e\0\x67\ -\x73\x6f\x5f\x73\x65\x67\x73\0\x70\x72\x65\x64\x5f\x66\x6c\x61\x67\x73\0\x62\ -\x79\x74\x65\x73\x5f\x72\x65\x63\x65\x69\x76\x65\x64\0\x73\x65\x67\x73\x5f\x69\ -\x6e\0\x64\x61\x74\x61\x5f\x73\x65\x67\x73\x5f\x69\x6e\0\x72\x63\x76\x5f\x6e\ -\x78\x74\0\x63\x6f\x70\x69\x65\x64\x5f\x73\x65\x71\0\x72\x63\x76\x5f\x77\x75\ -\x70\0\x73\x6e\x64\x5f\x6e\x78\x74\0\x73\x65\x67\x73\x5f\x6f\x75\x74\0\x64\x61\ -\x74\x61\x5f\x73\x65\x67\x73\x5f\x6f\x75\x74\0\x62\x79\x74\x65\x73\x5f\x73\x65\ -\x6e\x74\0\x62\x79\x74\x65\x73\x5f\x61\x63\x6b\x65\x64\0\x64\x73\x61\x63\x6b\ -\x5f\x64\x75\x70\x73\0\x73\x6e\x64\x5f\x75\x6e\x61\0\x73\x6e\x64\x5f\x73\x6d\ -\x6c\0\x72\x63\x76\x5f\x74\x73\x74\x61\x6d\x70\0\x6c\x73\x6e\x64\x74\x69\x6d\ -\x65\0\x6c\x61\x73\x74\x5f\x6f\x6f\x77\x5f\x61\x63\x6b\x5f\x74\x69\x6d\x65\0\ -\x63\x6f\x6d\x70\x72\x65\x73\x73\x65\x64\x5f\x61\x63\x6b\x5f\x72\x63\x76\x5f\ -\x6e\x78\x74\0\x74\x73\x6f\x66\x66\x73\x65\x74\0\x74\x73\x71\x5f\x6e\x6f\x64\ -\x65\0\x74\x73\x6f\x72\x74\x65\x64\x5f\x73\x65\x6e\x74\x5f\x71\x75\x65\x75\x65\ -\0\x73\x6e\x64\x5f\x77\x6c\x31\0\x73\x6e\x64\x5f\x77\x6e\x64\0\x6d\x61\x78\x5f\ -\x77\x69\x6e\x64\x6f\x77\0\x6d\x73\x73\x5f\x63\x61\x63\x68\x65\0\x77\x69\x6e\ -\x64\x6f\x77\x5f\x63\x6c\x61\x6d\x70\0\x72\x63\x76\x5f\x73\x73\x74\x68\x72\x65\ -\x73\x68\0\x72\x61\x63\x6b\0\x61\x64\x76\x6d\x73\x73\0\x63\x6f\x6d\x70\x72\x65\ -\x73\x73\x65\x64\x5f\x61\x63\x6b\0\x64\x75\x70\x5f\x61\x63\x6b\x5f\x63\x6f\x75\ -\x6e\x74\x65\x72\0\x74\x6c\x70\x5f\x72\x65\x74\x72\x61\x6e\x73\0\x63\x68\x72\ -\x6f\x6e\x6f\x5f\x73\x74\x61\x72\x74\0\x63\x68\x72\x6f\x6e\x6f\x5f\x73\x74\x61\ -\x74\0\x63\x68\x72\x6f\x6e\x6f\x5f\x74\x79\x70\x65\0\x72\x61\x74\x65\x5f\x61\ -\x70\x70\x5f\x6c\x69\x6d\x69\x74\x65\x64\0\x66\x61\x73\x74\x6f\x70\x65\x6e\x5f\ -\x63\x6f\x6e\x6e\x65\x63\x74\0\x66\x61\x73\x74\x6f\x70\x65\x6e\x5f\x6e\x6f\x5f\ -\x63\x6f\x6f\x6b\x69\x65\0\x69\x73\x5f\x73\x61\x63\x6b\x5f\x72\x65\x6e\x65\x67\ -\0\x66\x61\x73\x74\x6f\x70\x65\x6e\x5f\x63\x6c\x69\x65\x6e\x74\x5f\x66\x61\x69\ -\x6c\0\x6e\x6f\x6e\x61\x67\x6c\x65\0\x74\x68\x69\x6e\x5f\x6c\x74\x6f\0\x72\x65\ -\x63\x76\x6d\x73\x67\x5f\x69\x6e\x71\0\x72\x65\x70\x61\x69\x72\0\x66\x72\x74\ -\x6f\0\x72\x65\x70\x61\x69\x72\x5f\x71\x75\x65\x75\x65\0\x73\x61\x76\x65\x5f\ -\x73\x79\x6e\0\x73\x79\x6e\x5f\x64\x61\x74\x61\0\x73\x79\x6e\x5f\x66\x61\x73\ -\x74\x6f\x70\x65\x6e\0\x73\x79\x6e\x5f\x66\x61\x73\x74\x6f\x70\x65\x6e\x5f\x65\ -\x78\x70\0\x73\x79\x6e\x5f\x66\x61\x73\x74\x6f\x70\x65\x6e\x5f\x63\x68\0\x73\ -\x79\x6e\x5f\x64\x61\x74\x61\x5f\x61\x63\x6b\x65\x64\0\x69\x73\x5f\x63\x77\x6e\ -\x64\x5f\x6c\x69\x6d\x69\x74\x65\x64\0\x74\x6c\x70\x5f\x68\x69\x67\x68\x5f\x73\ -\x65\x71\0\x74\x63\x70\x5f\x74\x78\x5f\x64\x65\x6c\x61\x79\0\x74\x63\x70\x5f\ -\x77\x73\x74\x61\x6d\x70\x5f\x6e\x73\0\x74\x63\x70\x5f\x63\x6c\x6f\x63\x6b\x5f\ -\x63\x61\x63\x68\x65\0\x74\x63\x70\x5f\x6d\x73\x74\x61\x6d\x70\0\x73\x72\x74\ -\x74\x5f\x75\x73\0\x6d\x64\x65\x76\x5f\x75\x73\0\x6d\x64\x65\x76\x5f\x6d\x61\ -\x78\x5f\x75\x73\0\x72\x74\x74\x76\x61\x72\x5f\x75\x73\0\x72\x74\x74\x5f\x73\ -\x65\x71\0\x72\x74\x74\x5f\x6d\x69\x6e\0\x70\x61\x63\x6b\x65\x74\x73\x5f\x6f\ -\x75\x74\0\x72\x65\x74\x72\x61\x6e\x73\x5f\x6f\x75\x74\0\x6d\x61\x78\x5f\x70\ -\x61\x63\x6b\x65\x74\x73\x5f\x6f\x75\x74\0\x63\x77\x6e\x64\x5f\x75\x73\x61\x67\ -\x65\x5f\x73\x65\x71\0\x75\x72\x67\x5f\x64\x61\x74\x61\0\x65\x63\x6e\x5f\x66\ -\x6c\x61\x67\x73\0\x6b\x65\x65\x70\x61\x6c\x69\x76\x65\x5f\x70\x72\x6f\x62\x65\ -\x73\0\x72\x65\x6f\x72\x64\x65\x72\x69\x6e\x67\0\x72\x65\x6f\x72\x64\x5f\x73\ -\x65\x65\x6e\0\x73\x6e\x64\x5f\x75\x70\0\x72\x78\x5f\x6f\x70\x74\0\x73\x6e\x64\ -\x5f\x73\x73\x74\x68\x72\x65\x73\x68\0\x73\x6e\x64\x5f\x63\x77\x6e\x64\0\x73\ -\x6e\x64\x5f\x63\x77\x6e\x64\x5f\x63\x6e\x74\0\x73\x6e\x64\x5f\x63\x77\x6e\x64\ -\x5f\x63\x6c\x61\x6d\x70\0\x73\x6e\x64\x5f\x63\x77\x6e\x64\x5f\x75\x73\x65\x64\ -\0\x73\x6e\x64\x5f\x63\x77\x6e\x64\x5f\x73\x74\x61\x6d\x70\0\x70\x72\x69\x6f\ -\x72\x5f\x63\x77\x6e\x64\0\x70\x72\x72\x5f\x64\x65\x6c\x69\x76\x65\x72\x65\x64\ -\0\x70\x72\x72\x5f\x6f\x75\x74\0\x6c\x6f\x73\x74\0\x61\x70\x70\x5f\x6c\x69\x6d\ -\x69\x74\x65\x64\0\x72\x61\x74\x65\x5f\x64\x65\x6c\x69\x76\x65\x72\x65\x64\0\ -\x72\x61\x74\x65\x5f\x69\x6e\x74\x65\x72\x76\x61\x6c\x5f\x75\x73\0\x72\x63\x76\ -\x5f\x77\x6e\x64\0\x77\x72\x69\x74\x65\x5f\x73\x65\x71\0\x6e\x6f\x74\x73\x65\ -\x6e\x74\x5f\x6c\x6f\x77\x61\x74\0\x70\x75\x73\x68\x65\x64\x5f\x73\x65\x71\0\ -\x6c\x6f\x73\x74\x5f\x6f\x75\x74\0\x73\x61\x63\x6b\x65\x64\x5f\x6f\x75\x74\0\ -\x70\x61\x63\x69\x6e\x67\x5f\x74\x69\x6d\x65\x72\0\x63\x6f\x6d\x70\x72\x65\x73\ -\x73\x65\x64\x5f\x61\x63\x6b\x5f\x74\x69\x6d\x65\x72\0\x6c\x6f\x73\x74\x5f\x73\ -\x6b\x62\x5f\x68\x69\x6e\x74\0\x72\x65\x74\x72\x61\x6e\x73\x6d\x69\x74\x5f\x73\ -\x6b\x62\x5f\x68\x69\x6e\x74\0\x6f\x75\x74\x5f\x6f\x66\x5f\x6f\x72\x64\x65\x72\ -\x5f\x71\x75\x65\x75\x65\0\x6f\x6f\x6f\x5f\x6c\x61\x73\x74\x5f\x73\x6b\x62\0\ -\x64\x75\x70\x6c\x69\x63\x61\x74\x65\x5f\x73\x61\x63\x6b\0\x73\x65\x6c\x65\x63\ -\x74\x69\x76\x65\x5f\x61\x63\x6b\x73\0\x72\x65\x63\x76\x5f\x73\x61\x63\x6b\x5f\ -\x63\x61\x63\x68\x65\0\x68\x69\x67\x68\x65\x73\x74\x5f\x73\x61\x63\x6b\0\x6c\ -\x6f\x73\x74\x5f\x63\x6e\x74\x5f\x68\x69\x6e\x74\0\x70\x72\x69\x6f\x72\x5f\x73\ -\x73\x74\x68\x72\x65\x73\x68\0\x68\x69\x67\x68\x5f\x73\x65\x71\0\x72\x65\x74\ -\x72\x61\x6e\x73\x5f\x73\x74\x61\x6d\x70\0\x75\x6e\x64\x6f\x5f\x6d\x61\x72\x6b\ -\x65\x72\0\x75\x6e\x64\x6f\x5f\x72\x65\x74\x72\x61\x6e\x73\0\x62\x79\x74\x65\ -\x73\x5f\x72\x65\x74\x72\x61\x6e\x73\0\x74\x6f\x74\x61\x6c\x5f\x72\x65\x74\x72\ -\x61\x6e\x73\0\x75\x72\x67\x5f\x73\x65\x71\0\x6b\x65\x65\x70\x61\x6c\x69\x76\ -\x65\x5f\x74\x69\x6d\x65\0\x6b\x65\x65\x70\x61\x6c\x69\x76\x65\x5f\x69\x6e\x74\ -\x76\x6c\0\x6c\x69\x6e\x67\x65\x72\x32\0\x62\x70\x66\x5f\x73\x6f\x63\x6b\x5f\ -\x6f\x70\x73\x5f\x63\x62\x5f\x66\x6c\x61\x67\x73\0\x62\x70\x66\x5f\x63\x68\x67\ -\x5f\x63\x63\x5f\x69\x6e\x70\x72\x6f\x67\x72\x65\x73\x73\0\x74\x69\x6d\x65\x6f\ -\x75\x74\x5f\x72\x65\x68\x61\x73\x68\0\x72\x63\x76\x5f\x6f\x6f\x6f\x70\x61\x63\ -\x6b\0\x72\x63\x76\x5f\x72\x74\x74\x5f\x6c\x61\x73\x74\x5f\x74\x73\x65\x63\x72\ -\0\x72\x63\x76\x5f\x72\x74\x74\x5f\x65\x73\x74\0\x72\x63\x76\x71\x5f\x73\x70\ -\x61\x63\x65\0\x6d\x74\x75\x5f\x70\x72\x6f\x62\x65\0\x70\x6c\x62\x5f\x72\x65\ -\x68\x61\x73\x68\0\x6d\x74\x75\x5f\x69\x6e\x66\x6f\0\x69\x73\x5f\x6d\x70\x74\ -\x63\x70\0\x61\x66\x5f\x73\x70\x65\x63\x69\x66\x69\x63\0\x6d\x64\x35\x73\x69\ -\x67\x5f\x69\x6e\x66\x6f\0\x66\x61\x73\x74\x6f\x70\x65\x6e\x5f\x72\x65\x71\0\ -\x66\x61\x73\x74\x6f\x70\x65\x6e\x5f\x72\x73\x6b\0\x73\x61\x76\x65\x64\x5f\x73\ -\x79\x6e\0\x69\x6e\x65\x74\x5f\x63\x6f\x6e\x6e\x65\x63\x74\x69\x6f\x6e\x5f\x73\ -\x6f\x63\x6b\0\x69\x63\x73\x6b\x5f\x69\x6e\x65\x74\0\x69\x63\x73\x6b\x5f\x61\ -\x63\x63\x65\x70\x74\x5f\x71\x75\x65\x75\x65\0\x69\x63\x73\x6b\x5f\x62\x69\x6e\ -\x64\x5f\x68\x61\x73\x68\0\x69\x63\x73\x6b\x5f\x62\x69\x6e\x64\x32\x5f\x68\x61\ -\x73\x68\0\x69\x63\x73\x6b\x5f\x74\x69\x6d\x65\x6f\x75\x74\0\x69\x63\x73\x6b\ -\x5f\x72\x65\x74\x72\x61\x6e\x73\x6d\x69\x74\x5f\x74\x69\x6d\x65\x72\0\x69\x63\ -\x73\x6b\x5f\x64\x65\x6c\x61\x63\x6b\x5f\x74\x69\x6d\x65\x72\0\x69\x63\x73\x6b\ -\x5f\x72\x74\x6f\0\x69\x63\x73\x6b\x5f\x72\x74\x6f\x5f\x6d\x69\x6e\0\x69\x63\ -\x73\x6b\x5f\x64\x65\x6c\x61\x63\x6b\x5f\x6d\x61\x78\0\x69\x63\x73\x6b\x5f\x70\ -\x6d\x74\x75\x5f\x63\x6f\x6f\x6b\x69\x65\0\x69\x63\x73\x6b\x5f\x63\x61\x5f\x6f\ -\x70\x73\0\x69\x63\x73\x6b\x5f\x61\x66\x5f\x6f\x70\x73\0\x69\x63\x73\x6b\x5f\ -\x75\x6c\x70\x5f\x6f\x70\x73\0\x69\x63\x73\x6b\x5f\x75\x6c\x70\x5f\x64\x61\x74\ -\x61\0\x69\x63\x73\x6b\x5f\x63\x6c\x65\x61\x6e\x5f\x61\x63\x6b\x65\x64\0\x69\ -\x63\x73\x6b\x5f\x73\x79\x6e\x63\x5f\x6d\x73\x73\0\x69\x63\x73\x6b\x5f\x63\x61\ -\x5f\x73\x74\x61\x74\x65\0\x69\x63\x73\x6b\x5f\x63\x61\x5f\x69\x6e\x69\x74\x69\ -\x61\x6c\x69\x7a\x65\x64\0\x69\x63\x73\x6b\x5f\x63\x61\x5f\x73\x65\x74\x73\x6f\ -\x63\x6b\x6f\x70\x74\0\x69\x63\x73\x6b\x5f\x63\x61\x5f\x64\x73\x74\x5f\x6c\x6f\ -\x63\x6b\x65\x64\0\x69\x63\x73\x6b\x5f\x72\x65\x74\x72\x61\x6e\x73\x6d\x69\x74\ -\x73\0\x69\x63\x73\x6b\x5f\x70\x65\x6e\x64\x69\x6e\x67\0\x69\x63\x73\x6b\x5f\ -\x62\x61\x63\x6b\x6f\x66\x66\0\x69\x63\x73\x6b\x5f\x73\x79\x6e\x5f\x72\x65\x74\ -\x72\x69\x65\x73\0\x69\x63\x73\x6b\x5f\x70\x72\x6f\x62\x65\x73\x5f\x6f\x75\x74\ -\0\x69\x63\x73\x6b\x5f\x65\x78\x74\x5f\x68\x64\x72\x5f\x6c\x65\x6e\0\x69\x63\ -\x73\x6b\x5f\x61\x63\x6b\0\x69\x63\x73\x6b\x5f\x6d\x74\x75\x70\0\x69\x63\x73\ -\x6b\x5f\x70\x72\x6f\x62\x65\x73\x5f\x74\x73\x74\x61\x6d\x70\0\x69\x63\x73\x6b\ -\x5f\x75\x73\x65\x72\x5f\x74\x69\x6d\x65\x6f\x75\x74\0\x69\x63\x73\x6b\x5f\x63\ -\x61\x5f\x70\x72\x69\x76\0\x69\x6e\x65\x74\x5f\x73\x6f\x63\x6b\0\x70\x69\x6e\ -\x65\x74\x36\0\x69\x6e\x65\x74\x5f\x73\x61\x64\x64\x72\0\x75\x63\x5f\x74\x74\ -\x6c\0\x63\x6d\x73\x67\x5f\x66\x6c\x61\x67\x73\0\x69\x6e\x65\x74\x5f\x6f\x70\ -\x74\0\x69\x6e\x65\x74\x5f\x73\x70\x6f\x72\x74\0\x69\x6e\x65\x74\x5f\x69\x64\0\ -\x74\x6f\x73\0\x6d\x69\x6e\x5f\x74\x74\x6c\0\x6d\x63\x5f\x74\x74\x6c\0\x70\x6d\ -\x74\x75\x64\x69\x73\x63\0\x72\x65\x63\x76\x65\x72\x72\0\x69\x73\x5f\x69\x63\ -\x73\x6b\0\x66\x72\x65\x65\x62\x69\x6e\x64\0\x68\x64\x72\x69\x6e\x63\x6c\0\x6d\ -\x63\x5f\x6c\x6f\x6f\x70\0\x74\x72\x61\x6e\x73\x70\x61\x72\x65\x6e\x74\0\x6d\ -\x63\x5f\x61\x6c\x6c\0\x6e\x6f\x64\x65\x66\x72\x61\x67\0\x62\x69\x6e\x64\x5f\ -\x61\x64\x64\x72\x65\x73\x73\x5f\x6e\x6f\x5f\x70\x6f\x72\x74\0\x72\x65\x63\x76\ -\x65\x72\x72\x5f\x72\x66\x63\x34\x38\x38\x34\0\x64\x65\x66\x65\x72\x5f\x63\x6f\ -\x6e\x6e\x65\x63\x74\0\x72\x63\x76\x5f\x74\x6f\x73\0\x63\x6f\x6e\x76\x65\x72\ -\x74\x5f\x63\x73\x75\x6d\0\x75\x63\x5f\x69\x6e\x64\x65\x78\0\x6d\x63\x5f\x69\ -\x6e\x64\x65\x78\0\x6d\x63\x5f\x61\x64\x64\x72\0\x6d\x63\x5f\x6c\x69\x73\x74\0\ -\x63\x6f\x72\x6b\0\x5f\x5f\x73\x31\x36\0\x73\x68\x6f\x72\x74\0\x69\x6e\x65\x74\ -\x5f\x63\x6f\x72\x6b\x5f\x66\x75\x6c\x6c\0\x62\x61\x73\x65\0\x66\x6c\0\x69\x6e\ -\x65\x74\x5f\x63\x6f\x72\x6b\0\x61\x64\x64\x72\0\x66\x72\x61\x67\x73\x69\x7a\ -\x65\0\x6c\x65\x6e\x67\x74\x68\0\x64\x73\x74\0\x74\x78\x5f\x66\x6c\x61\x67\x73\ -\0\x74\x74\x6c\0\x67\x73\x6f\x5f\x73\x69\x7a\x65\0\x74\x72\x61\x6e\x73\x6d\x69\ -\x74\x5f\x74\x69\x6d\x65\0\x66\x6c\x6f\x77\x69\0\x75\0\x5f\x5f\x66\x6c\x5f\x63\ -\x6f\x6d\x6d\x6f\x6e\0\x69\x70\x34\0\x69\x70\x36\0\x66\x6c\x6f\x77\x69\x5f\x63\ -\x6f\x6d\x6d\x6f\x6e\0\x66\x6c\x6f\x77\x69\x63\x5f\x6f\x69\x66\0\x66\x6c\x6f\ -\x77\x69\x63\x5f\x69\x69\x66\0\x66\x6c\x6f\x77\x69\x63\x5f\x6c\x33\x6d\x64\x65\ -\x76\0\x66\x6c\x6f\x77\x69\x63\x5f\x6d\x61\x72\x6b\0\x66\x6c\x6f\x77\x69\x63\ -\x5f\x74\x6f\x73\0\x66\x6c\x6f\x77\x69\x63\x5f\x73\x63\x6f\x70\x65\0\x66\x6c\ -\x6f\x77\x69\x63\x5f\x70\x72\x6f\x74\x6f\0\x66\x6c\x6f\x77\x69\x63\x5f\x66\x6c\ -\x61\x67\x73\0\x66\x6c\x6f\x77\x69\x63\x5f\x73\x65\x63\x69\x64\0\x66\x6c\x6f\ -\x77\x69\x63\x5f\x75\x69\x64\0\x66\x6c\x6f\x77\x69\x63\x5f\x74\x75\x6e\x5f\x6b\ -\x65\x79\0\x66\x6c\x6f\x77\x69\x63\x5f\x6d\x75\x6c\x74\x69\x70\x61\x74\x68\x5f\ -\x68\x61\x73\x68\0\x66\x6c\x6f\x77\x69\x5f\x74\x75\x6e\x6e\x65\x6c\0\x74\x75\ -\x6e\x5f\x69\x64\0\x5f\x5f\x62\x65\x36\x34\0\x66\x6c\x6f\x77\x69\x34\0\x75\x6c\ -\x69\0\x66\x6c\x6f\x77\x69\x5f\x75\x6c\x69\0\x70\x6f\x72\x74\x73\0\x69\x63\x6d\ -\x70\x74\0\x67\x72\x65\x5f\x6b\x65\x79\0\x6d\x68\x74\0\x63\x6f\x64\x65\0\x66\ -\x6c\x6f\x77\x69\x36\0\x66\x6c\x6f\x77\x6c\x61\x62\x65\x6c\0\x6d\x70\x5f\x68\ -\x61\x73\x68\0\x72\x65\x71\x75\x65\x73\x74\x5f\x73\x6f\x63\x6b\x5f\x71\x75\x65\ -\x75\x65\0\x72\x73\x6b\x71\x5f\x6c\x6f\x63\x6b\0\x72\x73\x6b\x71\x5f\x64\x65\ -\x66\x65\x72\x5f\x61\x63\x63\x65\x70\x74\0\x73\x79\x6e\x66\x6c\x6f\x6f\x64\x5f\ -\x77\x61\x72\x6e\x65\x64\0\x79\x6f\x75\x6e\x67\0\x72\x73\x6b\x71\x5f\x61\x63\ -\x63\x65\x70\x74\x5f\x68\x65\x61\x64\0\x72\x73\x6b\x71\x5f\x61\x63\x63\x65\x70\ -\x74\x5f\x74\x61\x69\x6c\0\x66\x61\x73\x74\x6f\x70\x65\x6e\x71\0\x66\x61\x73\ -\x74\x6f\x70\x65\x6e\x5f\x71\x75\x65\x75\x65\0\x72\x73\x6b\x71\x5f\x72\x73\x74\ -\x5f\x68\x65\x61\x64\0\x72\x73\x6b\x71\x5f\x72\x73\x74\x5f\x74\x61\x69\x6c\0\ -\x6d\x61\x78\x5f\x71\x6c\x65\x6e\0\x71\x75\x69\x63\x6b\0\x70\x69\x6e\x67\x70\ -\x6f\x6e\x67\0\x72\x65\x74\x72\x79\0\x61\x74\x6f\0\x6c\x72\x63\x76\x74\x69\x6d\ -\x65\0\x6c\x61\x73\x74\x5f\x73\x65\x67\x5f\x73\x69\x7a\x65\0\x72\x63\x76\x5f\ -\x6d\x73\x73\0\x73\x65\x61\x72\x63\x68\x5f\x68\x69\x67\x68\0\x73\x65\x61\x72\ -\x63\x68\x5f\x6c\x6f\x77\0\x70\x72\x6f\x62\x65\x5f\x73\x69\x7a\x65\0\x65\x6e\ -\x61\x62\x6c\x65\x64\0\x70\x72\x6f\x62\x65\x5f\x74\x69\x6d\x65\x73\x74\x61\x6d\ -\x70\0\x74\x63\x70\x5f\x72\x61\x63\x6b\0\x6d\x73\x74\x61\x6d\x70\0\x72\x74\x74\ -\x5f\x75\x73\0\x6c\x61\x73\x74\x5f\x64\x65\x6c\x69\x76\x65\x72\x65\x64\0\x72\ -\x65\x6f\x5f\x77\x6e\x64\x5f\x73\x74\x65\x70\x73\0\x72\x65\x6f\x5f\x77\x6e\x64\ -\x5f\x70\x65\x72\x73\x69\x73\x74\0\x64\x73\x61\x63\x6b\x5f\x73\x65\x65\x6e\0\ -\x61\x64\x76\x61\x6e\x63\x65\x64\0\x6d\x69\x6e\x6d\x61\x78\0\x73\0\x6d\x69\x6e\ -\x6d\x61\x78\x5f\x73\x61\x6d\x70\x6c\x65\0\x74\0\x74\x63\x70\x5f\x6f\x70\x74\ -\x69\x6f\x6e\x73\x5f\x72\x65\x63\x65\x69\x76\x65\x64\0\x74\x73\x5f\x72\x65\x63\ -\x65\x6e\x74\x5f\x73\x74\x61\x6d\x70\0\x74\x73\x5f\x72\x65\x63\x65\x6e\x74\0\ -\x72\x63\x76\x5f\x74\x73\x76\x61\x6c\0\x72\x63\x76\x5f\x74\x73\x65\x63\x72\0\ -\x73\x61\x77\x5f\x74\x73\x74\x61\x6d\x70\0\x74\x73\x74\x61\x6d\x70\x5f\x6f\x6b\ -\0\x64\x73\x61\x63\x6b\0\x77\x73\x63\x61\x6c\x65\x5f\x6f\x6b\0\x73\x61\x63\x6b\ -\x5f\x6f\x6b\0\x73\x6d\x63\x5f\x6f\x6b\0\x73\x6e\x64\x5f\x77\x73\x63\x61\x6c\ -\x65\0\x72\x63\x76\x5f\x77\x73\x63\x61\x6c\x65\0\x73\x61\x77\x5f\x75\x6e\x6b\ -\x6e\x6f\x77\x6e\0\x6e\x75\x6d\x5f\x73\x61\x63\x6b\x73\0\x75\x73\x65\x72\x5f\ -\x6d\x73\x73\0\x6d\x73\x73\x5f\x63\x6c\x61\x6d\x70\0\x68\x72\x74\x69\x6d\x65\ -\x72\0\x6e\x6f\x64\x65\0\x5f\x73\x6f\x66\x74\x65\x78\x70\x69\x72\x65\x73\0\x69\ -\x73\x5f\x72\x65\x6c\0\x69\x73\x5f\x73\x6f\x66\x74\0\x69\x73\x5f\x68\x61\x72\ -\x64\0\x74\x69\x6d\x65\x72\x71\x75\x65\x75\x65\x5f\x6e\x6f\x64\x65\0\x68\x72\ -\x74\x69\x6d\x65\x72\x5f\x72\x65\x73\x74\x61\x72\x74\0\x48\x52\x54\x49\x4d\x45\ -\x52\x5f\x4e\x4f\x52\x45\x53\x54\x41\x52\x54\0\x48\x52\x54\x49\x4d\x45\x52\x5f\ -\x52\x45\x53\x54\x41\x52\x54\0\x74\x63\x70\x5f\x73\x61\x63\x6b\x5f\x62\x6c\x6f\ -\x63\x6b\0\x73\x74\x61\x72\x74\x5f\x73\x65\x71\0\x74\x69\x6d\x65\0\x73\x70\x61\ -\x63\x65\0\x70\x72\x6f\x62\x65\x5f\x73\x65\x71\x5f\x73\x74\x61\x72\x74\0\x70\ -\x72\x6f\x62\x65\x5f\x73\x65\x71\x5f\x65\x6e\x64\0\x62\x70\x66\x5f\x70\x65\x72\ -\x66\x5f\x65\x76\x65\x6e\x74\x5f\x64\x61\x74\x61\0\x72\x65\x67\x73\0\x73\x61\ -\x6d\x70\x6c\x65\x5f\x70\x65\x72\x69\x6f\x64\0\x62\x70\x66\x5f\x75\x73\x65\x72\ -\x5f\x70\x74\x5f\x72\x65\x67\x73\x5f\x74\0\x68\x61\x6e\x64\x6c\x65\x5f\x74\x63\ -\x70\x72\x74\x74\x5f\x65\x76\x65\x6e\x74\0\x68\x61\x6e\x64\x6c\x65\x5f\x74\x63\ -\x70\x5f\x72\x63\x76\x5f\x73\x74\x61\x74\x65\x5f\x70\x72\x6f\x63\x65\x73\x73\0\ -\x4c\x49\x43\x45\x4e\x53\x45\0\x7a\x65\x72\x6f\0\x68\x61\x6e\x64\x6c\x65\x5f\ -\x74\x63\x70\x72\x74\x74\x5f\x65\x76\x65\x6e\x74\x2e\x5f\x5f\x5f\x5f\x66\x6d\ -\x74\0\x68\x61\x6e\x64\x6c\x65\x5f\x74\x63\x70\x72\x74\x74\x5f\x65\x76\x65\x6e\ -\x74\x2e\x5f\x5f\x5f\x5f\x66\x6d\x74\x2e\x31\0\x74\x63\x70\x5f\x6b\x70\x72\x6f\ -\x62\x65\x5f\x72\x65\x74\x72\x61\x6e\x73\x5f\x65\x76\x65\x6e\x74\x2e\x5f\x5f\ -\x5f\x5f\x66\x6d\x74\0\x74\x63\x70\x5f\x74\x6f\x70\x5f\x72\x69\x6e\x67\x62\x75\ -\x66\x66\x5f\x73\x65\x6e\x64\x2e\x5f\x5f\x5f\x5f\x66\x6d\x74\0\x68\x61\x6e\x64\ -\x6c\x65\x5f\x74\x63\x70\x5f\x72\x63\x76\x5f\x73\x74\x61\x74\x65\x5f\x70\x72\ -\x6f\x63\x65\x73\x73\x2e\x5f\x5f\x5f\x5f\x66\x6d\x74\0\x62\x70\x66\x5f\x6c\x6f\ -\x63\x61\x6c\x5f\x73\x74\x6f\x72\x61\x67\x65\0\x63\x72\x65\x64\0\x64\x73\x74\ -\x5f\x65\x6e\x74\x72\x79\0\x68\x72\x74\x69\x6d\x65\x72\x5f\x63\x6c\x6f\x63\x6b\ -\x5f\x62\x61\x73\x65\0\x69\x6e\x65\x74\x5f\x62\x69\x6e\x64\x32\x5f\x62\x75\x63\ -\x6b\x65\x74\0\x69\x6e\x65\x74\x5f\x62\x69\x6e\x64\x5f\x62\x75\x63\x6b\x65\x74\ -\0\x69\x6e\x65\x74\x5f\x63\x6f\x6e\x6e\x65\x63\x74\x69\x6f\x6e\x5f\x73\x6f\x63\ -\x6b\x5f\x61\x66\x5f\x6f\x70\x73\0\x69\x6e\x65\x74\x5f\x74\x69\x6d\x65\x77\x61\ -\x69\x74\x5f\x64\x65\x61\x74\x68\x5f\x72\x6f\x77\0\x69\x70\x5f\x6d\x63\x5f\x73\ -\x6f\x63\x6b\x6c\x69\x73\x74\0\x69\x70\x5f\x6f\x70\x74\x69\x6f\x6e\x73\x5f\x72\ -\x63\x75\0\x69\x70\x76\x36\x5f\x70\x69\x6e\x66\x6f\0\x6c\x6f\x63\x6b\x5f\x63\ -\x6c\x61\x73\x73\x5f\x6b\x65\x79\0\x6c\x6f\x63\x6b\x64\x65\x70\x5f\x73\x75\x62\ -\x63\x6c\x61\x73\x73\x5f\x6b\x65\x79\0\x6d\x65\x6d\x5f\x63\x67\x72\x6f\x75\x70\ -\0\x6e\x65\x74\x5f\x64\x65\x76\x69\x63\x65\0\x70\x69\x64\0\x72\x65\x71\x75\x65\ -\x73\x74\x5f\x73\x6f\x63\x6b\0\x73\x6b\x62\x5f\x65\x78\x74\0\x73\x6f\x63\x6b\ -\x5f\x72\x65\x75\x73\x65\x70\x6f\x72\x74\0\x73\x6f\x63\x6b\x65\x74\0\x73\x6f\ -\x63\x6b\x65\x74\x5f\x77\x71\0\x74\x63\x70\x5f\x63\x6f\x6e\x67\x65\x73\x74\x69\ -\x6f\x6e\x5f\x6f\x70\x73\0\x74\x63\x70\x5f\x66\x61\x73\x74\x6f\x70\x65\x6e\x5f\ -\x63\x6f\x6e\x74\x65\x78\x74\0\x74\x63\x70\x5f\x66\x61\x73\x74\x6f\x70\x65\x6e\ -\x5f\x72\x65\x71\x75\x65\x73\x74\0\x74\x63\x70\x5f\x6d\x64\x35\x73\x69\x67\x5f\ -\x69\x6e\x66\x6f\0\x74\x63\x70\x5f\x73\x6f\x63\x6b\x5f\x61\x66\x5f\x6f\x70\x73\ -\0\x74\x63\x70\x5f\x75\x6c\x70\x5f\x6f\x70\x73\0\x78\x66\x72\x6d\x5f\x73\x65\ -\x63\x5f\x63\x74\x78\0\x2f\x68\x6f\x6d\x65\x2f\x6e\x65\x30\x2f\x73\x79\x73\x5f\ -\x63\x6f\x6d\x70\x65\x74\x69\x74\x69\x6f\x6e\x2f\x73\x74\x61\x72\x74\x2f\x63\ -\x70\x75\x5f\x77\x61\x74\x63\x68\x65\x72\x2f\x62\x70\x66\x2f\x6e\x65\x74\x5f\ -\x73\x74\x61\x74\x73\x2e\x62\x70\x66\x2e\x63\0\x20\x20\x20\x20\x73\x74\x72\x75\ -\x63\x74\x20\x73\x6f\x63\x6b\x20\x2a\x73\x6b\x20\x3d\x20\x28\x73\x74\x72\x75\ -\x63\x74\x20\x73\x6f\x63\x6b\x20\x2a\x29\x63\x74\x78\x2d\x3e\x73\x6b\x61\x64\ -\x64\x72\x3b\0\x20\x20\x20\x20\x69\x66\x28\x21\x73\x6b\x29\0\x20\x20\x20\x20\ -\x75\x33\x32\x20\x70\x69\x64\x20\x3d\x20\x62\x70\x66\x5f\x67\x65\x74\x5f\x63\ -\x75\x72\x72\x65\x6e\x74\x5f\x70\x69\x64\x5f\x74\x67\x69\x64\x28\x29\x20\x26\ -\x20\x30\x78\x46\x46\x46\x46\x46\x46\x46\x46\x3b\x20\0\x20\x20\x20\x20\x69\x66\ -\x28\x70\x69\x64\x20\x3d\x3d\x20\x66\x69\x6c\x69\x74\x65\x72\x5f\x69\x64\x29\0\ -\x20\x20\x20\x20\x75\x36\x34\x20\x6e\x6f\x77\x20\x3d\x20\x62\x70\x66\x5f\x6b\ -\x74\x69\x6d\x65\x5f\x67\x65\x74\x5f\x6e\x73\x28\x29\x3b\0\x20\x20\x20\x20\x69\ -\x66\x20\x28\x73\x6b\x62\x29\x20\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\x70\ -\x66\x5f\x70\x72\x6f\x62\x65\x5f\x72\x65\x61\x64\x5f\x6b\x65\x72\x6e\x65\x6c\ -\x28\x26\x74\x63\x62\x2c\x20\x73\x69\x7a\x65\x6f\x66\x28\x74\x63\x62\x29\x2c\ -\x20\x73\x6b\x62\x2d\x3e\x63\x62\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x73\ -\x65\x71\x20\x3d\x20\x74\x63\x62\x2e\x73\x65\x71\x3b\0\x20\x20\x20\x20\x62\x70\ -\x66\x5f\x70\x72\x6f\x62\x65\x5f\x72\x65\x61\x64\x5f\x6b\x65\x72\x6e\x65\x6c\ -\x28\x26\x66\x61\x6d\x69\x6c\x79\x2c\x20\x73\x69\x7a\x65\x6f\x66\x28\x66\x61\ -\x6d\x69\x6c\x79\x29\x2c\x20\x26\x73\x6b\x2d\x3e\x5f\x5f\x73\x6b\x5f\x63\x6f\ -\x6d\x6d\x6f\x6e\x2e\x73\x6b\x63\x5f\x66\x61\x6d\x69\x6c\x79\x29\x3b\0\x20\x20\ -\x20\x20\x62\x70\x66\x5f\x70\x72\x6f\x62\x65\x5f\x72\x65\x61\x64\x5f\x6b\x65\ -\x72\x6e\x65\x6c\x28\x26\x6c\x70\x6f\x72\x74\x2c\x20\x73\x69\x7a\x65\x6f\x66\ -\x28\x6c\x70\x6f\x72\x74\x29\x2c\x20\x26\x73\x6b\x2d\x3e\x5f\x5f\x73\x6b\x5f\ -\x63\x6f\x6d\x6d\x6f\x6e\x2e\x73\x6b\x63\x5f\x6e\x75\x6d\x29\x3b\0\x20\x20\x20\ -\x20\x62\x70\x66\x5f\x70\x72\x6f\x62\x65\x5f\x72\x65\x61\x64\x5f\x6b\x65\x72\ -\x6e\x65\x6c\x28\x26\x64\x70\x6f\x72\x74\x2c\x20\x73\x69\x7a\x65\x6f\x66\x28\ -\x64\x70\x6f\x72\x74\x29\x2c\x20\x26\x73\x6b\x2d\x3e\x5f\x5f\x73\x6b\x5f\x63\ -\x6f\x6d\x6d\x6f\x6e\x2e\x73\x6b\x63\x5f\x64\x70\x6f\x72\x74\x29\x3b\0\x20\x20\ -\x20\x20\x62\x70\x66\x5f\x70\x72\x6f\x62\x65\x5f\x72\x65\x61\x64\x5f\x6b\x65\ -\x72\x6e\x65\x6c\x28\x26\x73\x74\x61\x74\x65\x2c\x20\x73\x69\x7a\x65\x6f\x66\ -\x28\x73\x74\x61\x74\x65\x29\x2c\x20\x26\x73\x6b\x2d\x3e\x5f\x5f\x73\x6b\x5f\ -\x63\x6f\x6d\x6d\x6f\x6e\x2e\x73\x6b\x63\x5f\x73\x74\x61\x74\x65\x29\x3b\0\x20\ -\x20\x20\x20\x62\x70\x66\x5f\x67\x65\x74\x5f\x63\x75\x72\x72\x65\x6e\x74\x5f\ -\x63\x6f\x6d\x6d\x28\x26\x63\x6f\x6d\x6d\x2c\x20\x73\x69\x7a\x65\x6f\x66\x28\ -\x63\x6f\x6d\x6d\x29\x29\x3b\0\x20\x20\x20\x20\x69\x66\x28\x66\x61\x6d\x69\x6c\ -\x79\x20\x21\x3d\x20\x41\x46\x5f\x49\x4e\x45\x54\x20\x26\x26\x20\x66\x61\x6d\ -\x69\x6c\x79\x20\x21\x3d\x20\x41\x46\x5f\x49\x4e\x45\x54\x36\x29\0\x20\x20\x20\ -\x20\x73\x74\x72\x75\x63\x74\x20\x74\x63\x70\x5f\x72\x65\x73\x75\x62\x6d\x69\ -\x74\x20\x2a\x62\x75\x66\x66\x20\x3d\x20\x62\x70\x66\x5f\x72\x69\x6e\x67\x62\ -\x75\x66\x5f\x72\x65\x73\x65\x72\x76\x65\x28\x26\x74\x63\x70\x72\x65\x74\x72\ -\x61\x6e\x73\x5f\x62\x75\x66\x66\x65\x72\x2c\x73\x69\x7a\x65\x6f\x66\x28\x73\ -\x74\x72\x75\x63\x74\x20\x74\x63\x70\x5f\x72\x65\x73\x75\x62\x6d\x69\x74\x29\ -\x2c\x30\x29\x3b\0\x20\x20\x20\x20\x69\x66\x28\x21\x62\x75\x66\x66\x29\x7b\0\ -\x20\x20\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x70\x72\x69\x6e\x74\x6b\x28\ -\x22\x74\x68\x65\x20\x74\x63\x70\x5f\x72\x65\x74\x72\x61\x6e\x73\x20\x62\x75\ -\x66\x66\x65\x72\x20\x69\x73\x20\x66\x75\x6c\x6c\x5c\x6e\x22\x29\x3b\0\x20\x20\ -\x20\x20\x6d\x65\x6d\x73\x65\x74\x28\x62\x75\x66\x66\x2c\x30\x2c\x73\x69\x7a\ -\x65\x6f\x66\x28\x73\x74\x72\x75\x63\x74\x20\x74\x63\x70\x5f\x72\x65\x73\x75\ -\x62\x6d\x69\x74\x29\x29\x3b\0\x20\x20\x20\x20\x62\x75\x66\x66\x2d\x3e\x70\x69\ -\x64\x20\x3d\x20\x70\x69\x64\x3b\0\x20\x20\x20\x20\x62\x75\x66\x66\x2d\x3e\x64\ -\x70\x6f\x72\x74\x20\x3d\x20\x64\x70\x6f\x72\x74\x3b\0\x20\x20\x20\x20\x62\x75\ -\x66\x66\x2d\x3e\x6c\x70\x6f\x72\x74\x20\x3d\x20\x6c\x70\x6f\x72\x74\x3b\0\x20\ -\x20\x20\x20\x62\x75\x66\x66\x2d\x3e\x73\x65\x71\x20\x3d\x20\x73\x65\x71\x3b\0\ -\x20\x20\x20\x20\x62\x75\x66\x66\x2d\x3e\x73\x74\x61\x74\x65\x20\x3d\x20\x73\ -\x74\x61\x74\x65\x3b\0\x20\x20\x20\x20\x62\x75\x66\x66\x2d\x3e\x6f\x63\x63\x75\ -\x72\x20\x3d\x20\x6e\x6f\x77\x3b\0\x20\x20\x20\x20\x62\x75\x66\x66\x2d\x3e\x74\ -\x79\x70\x65\x20\x3d\x20\x74\x79\x70\x65\x3b\0\x20\x20\x20\x20\x62\x70\x66\x5f\ -\x70\x72\x6f\x62\x65\x5f\x72\x65\x61\x64\x5f\x73\x74\x72\x28\x62\x75\x66\x66\ -\x2d\x3e\x63\x6f\x6d\x6d\x2c\x73\x69\x7a\x65\x6f\x66\x28\x63\x6f\x6d\x6d\x29\ -\x2c\x63\x6f\x6d\x6d\x29\x3b\0\x20\x20\x20\x20\x73\x77\x69\x74\x63\x68\x28\x66\ -\x61\x6d\x69\x6c\x79\x29\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ -\x62\x75\x66\x66\x2d\x3e\x61\x66\x20\x3d\x20\x41\x46\x5f\x49\x4e\x45\x54\x3b\0\ -\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x70\x72\x6f\ -\x62\x65\x5f\x72\x65\x61\x64\x5f\x6b\x65\x72\x6e\x65\x6c\x28\x26\x64\x61\x64\ -\x64\x72\x2c\x73\x69\x7a\x65\x6f\x66\x28\x64\x61\x64\x64\x72\x29\x2c\x26\x73\ -\x6b\x2d\x3e\x5f\x5f\x73\x6b\x5f\x63\x6f\x6d\x6d\x6f\x6e\x2e\x73\x6b\x63\x5f\ -\x64\x61\x64\x64\x72\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ -\x62\x70\x66\x5f\x70\x72\x6f\x62\x65\x5f\x72\x65\x61\x64\x5f\x6b\x65\x72\x6e\ -\x65\x6c\x28\x26\x73\x61\x64\x64\x72\x2c\x73\x69\x7a\x65\x6f\x66\x28\x73\x61\ -\x64\x64\x72\x29\x2c\x26\x73\x6b\x2d\x3e\x5f\x5f\x73\x6b\x5f\x63\x6f\x6d\x6d\ -\x6f\x6e\x2e\x73\x6b\x63\x5f\x72\x63\x76\x5f\x73\x61\x64\x64\x72\x29\x3b\0\x20\ -\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x75\x66\x66\x2d\x3e\x73\x72\ -\x63\x5f\x61\x64\x64\x72\x2e\x73\x61\x64\x64\x72\x5f\x76\x34\x20\x3d\x20\x73\ -\x61\x64\x64\x72\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x75\ -\x66\x66\x2d\x3e\x64\x73\x74\x5f\x61\x64\x64\x72\x2e\x64\x61\x64\x64\x72\x5f\ -\x76\x34\x20\x3d\x20\x64\x61\x64\x64\x72\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\ -\x20\x20\x20\x20\x62\x75\x66\x66\x2d\x3e\x61\x66\x20\x3d\x20\x41\x46\x5f\x49\ -\x4e\x45\x54\x36\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x70\ -\x66\x5f\x70\x72\x6f\x62\x65\x5f\x72\x65\x61\x64\x5f\x6b\x65\x72\x6e\x65\x6c\ -\x28\x26\x62\x75\x66\x66\x2d\x3e\x73\x72\x63\x5f\x61\x64\x64\x72\x2e\x73\x61\ -\x64\x64\x72\x5f\x76\x36\x2c\x20\x73\x69\x7a\x65\x6f\x66\x28\x62\x75\x66\x66\ -\x2d\x3e\x73\x72\x63\x5f\x61\x64\x64\x72\x2e\x73\x61\x64\x64\x72\x5f\x76\x36\ -\x29\x2c\x20\x26\x73\x6b\x2d\x3e\x5f\x5f\x73\x6b\x5f\x63\x6f\x6d\x6d\x6f\x6e\ -\x2e\x73\x6b\x63\x5f\x76\x36\x5f\x72\x63\x76\x5f\x73\x61\x64\x64\x72\x29\x3b\0\ -\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x70\x72\x6f\ -\x62\x65\x5f\x72\x65\x61\x64\x5f\x6b\x65\x72\x6e\x65\x6c\x28\x26\x62\x75\x66\ -\x66\x2d\x3e\x64\x73\x74\x5f\x61\x64\x64\x72\x2e\x64\x61\x64\x64\x72\x5f\x76\ -\x36\x2c\x73\x69\x7a\x65\x6f\x66\x28\x62\x75\x66\x66\x2d\x3e\x64\x73\x74\x5f\ -\x61\x64\x64\x72\x2e\x64\x61\x64\x64\x72\x5f\x76\x36\x29\x2c\x26\x73\x6b\x2d\ -\x3e\x5f\x5f\x73\x6b\x5f\x63\x6f\x6d\x6d\x6f\x6e\x2e\x73\x6b\x63\x5f\x76\x36\ -\x5f\x64\x61\x64\x64\x72\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ -\x20\x62\x70\x66\x5f\x72\x69\x6e\x67\x62\x75\x66\x5f\x64\x69\x73\x63\x61\x72\ -\x64\x28\x62\x75\x66\x66\x2c\x20\x30\x29\x3b\0\x20\x20\x20\x20\x72\x65\x74\x75\ -\x72\x6e\x20\x74\x63\x70\x5f\x6b\x70\x72\x6f\x62\x65\x5f\x72\x65\x74\x72\x61\ -\x6e\x73\x5f\x65\x76\x65\x6e\x74\x28\x73\x6b\x2c\x73\x6b\x62\x2c\x52\x45\x54\ -\x52\x41\x4e\x53\x4d\x49\x54\x29\x3b\0\x69\x6e\x74\x20\x42\x50\x46\x5f\x4b\x50\ -\x52\x4f\x42\x45\x28\x74\x6f\x70\x5f\x74\x63\x70\x5f\x73\x65\x6e\x64\x5f\x65\ -\x6e\x74\x72\x79\x2c\x20\x73\x74\x72\x75\x63\x74\x20\x73\x6f\x63\x6b\x20\x2a\ -\x73\x6b\x29\x7b\0\x20\x20\x20\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x75\x70\x64\ -\x61\x74\x65\x5f\x65\x6c\x65\x6d\x28\x26\x74\x6f\x70\x5f\x73\x6f\x63\x6b\x5f\ -\x73\x74\x6f\x72\x65\x2c\x26\x70\x69\x64\x2c\x26\x73\x6b\x2c\x42\x50\x46\x5f\ -\x41\x4e\x59\x29\x3b\0\x69\x6e\x74\x20\x42\x50\x46\x5f\x4b\x52\x45\x54\x50\x52\ -\x4f\x42\x45\x28\x74\x6f\x70\x5f\x74\x63\x70\x5f\x73\x65\x6e\x64\x5f\x72\x65\ -\x74\x2c\x20\x69\x6e\x74\x20\x72\x65\x74\x29\x7b\0\x20\x20\x20\x20\x73\x74\x72\ -\x75\x63\x74\x20\x73\x6f\x63\x6b\x20\x2a\x2a\x73\x6f\x63\x6b\x70\x70\x20\x3d\ -\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x6c\x6f\x6f\x6b\x75\x70\x5f\x65\x6c\x65\ -\x6d\x28\x26\x74\x6f\x70\x5f\x73\x6f\x63\x6b\x5f\x73\x74\x6f\x72\x65\x2c\x20\ -\x26\x70\x69\x64\x29\x3b\0\x20\x20\x20\x20\x69\x66\x20\x28\x21\x73\x6f\x63\x6b\ -\x70\x70\x29\0\x20\x20\x20\x20\x69\x66\x20\x28\x72\x65\x74\x20\x3e\x20\x30\x29\ -\x20\x7b\0\x20\x20\x20\x20\x73\x74\x72\x75\x63\x74\x20\x73\x6f\x63\x6b\x20\x2a\ -\x73\x6b\x20\x3d\x20\x2a\x73\x6f\x63\x6b\x70\x70\x3b\0\x20\x20\x20\x20\x75\x31\ -\x36\x20\x66\x61\x6d\x69\x6c\x79\x20\x3d\x20\x30\x2c\x20\x64\x70\x6f\x72\x74\ -\x20\x3d\x20\x30\x3b\0\x20\x20\x20\x20\x42\x50\x46\x5f\x43\x4f\x52\x45\x5f\x52\ -\x45\x41\x44\x5f\x49\x4e\x54\x4f\x28\x26\x66\x61\x6d\x69\x6c\x79\x2c\x73\x6b\ -\x2c\x5f\x5f\x73\x6b\x5f\x63\x6f\x6d\x6d\x6f\x6e\x2e\x73\x6b\x63\x5f\x66\x61\ -\x6d\x69\x6c\x79\x29\x3b\0\x20\x20\x20\x20\x69\x66\x20\x28\x66\x61\x6d\x69\x6c\ -\x79\x20\x3d\x3d\x20\x41\x46\x5f\x49\x4e\x45\x54\x29\x7b\0\x20\x20\x20\x20\x20\ -\x20\x20\x20\x6d\x65\x6d\x73\x65\x74\x28\x26\x6b\x65\x79\x2c\x30\x2c\x73\x69\ -\x7a\x65\x6f\x66\x28\x73\x74\x72\x75\x63\x74\x20\x69\x70\x76\x34\x5f\x6b\x65\ -\x79\x5f\x74\x29\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x6b\x65\x79\x2e\x70\ -\x69\x64\x20\x3d\x20\x70\x69\x64\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\x70\ -\x66\x5f\x67\x65\x74\x5f\x63\x75\x72\x72\x65\x6e\x74\x5f\x63\x6f\x6d\x6d\x28\ -\x26\x6b\x65\x79\x2e\x63\x6f\x6d\x6d\x2c\x73\x69\x7a\x65\x6f\x66\x28\x6b\x65\ -\x79\x2e\x63\x6f\x6d\x6d\x29\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x42\x50\ -\x46\x5f\x43\x4f\x52\x45\x5f\x52\x45\x41\x44\x5f\x49\x4e\x54\x4f\x28\x26\x6b\ -\x65\x79\x2e\x73\x61\x64\x64\x72\x2c\x73\x6b\x2c\x5f\x5f\x73\x6b\x5f\x63\x6f\ -\x6d\x6d\x6f\x6e\x2e\x73\x6b\x63\x5f\x72\x63\x76\x5f\x73\x61\x64\x64\x72\x29\ -\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x42\x50\x46\x5f\x43\x4f\x52\x45\x5f\x52\ -\x45\x41\x44\x5f\x49\x4e\x54\x4f\x28\x26\x6b\x65\x79\x2e\x64\x61\x64\x64\x72\ -\x2c\x73\x6b\x2c\x5f\x5f\x73\x6b\x5f\x63\x6f\x6d\x6d\x6f\x6e\x2e\x73\x6b\x63\ -\x5f\x64\x61\x64\x64\x72\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x42\x50\x46\ -\x5f\x43\x4f\x52\x45\x5f\x52\x45\x41\x44\x5f\x49\x4e\x54\x4f\x28\x26\x6b\x65\ -\x79\x2e\x6c\x70\x6f\x72\x74\x2c\x73\x6b\x2c\x5f\x5f\x73\x6b\x5f\x63\x6f\x6d\ -\x6d\x6f\x6e\x2e\x73\x6b\x63\x5f\x6e\x75\x6d\x29\x3b\0\x20\x20\x20\x20\x20\x20\ -\x20\x20\x42\x50\x46\x5f\x43\x4f\x52\x45\x5f\x52\x45\x41\x44\x5f\x49\x4e\x54\ -\x4f\x28\x26\x64\x70\x6f\x72\x74\x2c\x73\x6b\x2c\x5f\x5f\x73\x6b\x5f\x63\x6f\ -\x6d\x6d\x6f\x6e\x2e\x73\x6b\x63\x5f\x64\x70\x6f\x72\x74\x29\x3b\0\x20\x20\x20\ -\x20\x20\x20\x20\x20\x6b\x65\x79\x2e\x64\x70\x6f\x72\x74\x20\x3d\x20\x62\x70\ -\x66\x5f\x6e\x74\x6f\x68\x73\x28\x64\x70\x6f\x72\x74\x29\x3b\0\x20\x20\x20\x20\ -\x20\x20\x20\x20\x73\x74\x72\x75\x63\x74\x20\x72\x65\x63\x76\x5f\x73\x65\x6e\ -\x64\x5f\x62\x79\x74\x65\x73\x20\x2a\x62\x79\x20\x3d\x20\x62\x70\x66\x5f\x6d\ -\x61\x70\x5f\x6c\x6f\x6f\x6b\x75\x70\x5f\x65\x6c\x65\x6d\x28\x26\x69\x70\x76\ -\x34\x5f\x74\x6f\x70\x5f\x6d\x61\x70\x2c\x26\x6b\x65\x79\x29\x3b\0\x20\x20\x20\ -\x20\x20\x20\x20\x20\x69\x66\x28\x21\x62\x79\x29\x7b\0\x20\x20\x20\x20\x20\x20\ -\x20\x20\x20\x20\x20\x20\x73\x74\x72\x75\x63\x74\x20\x72\x65\x63\x76\x5f\x73\ -\x65\x6e\x64\x5f\x62\x79\x74\x65\x73\x20\x69\x6e\x69\x74\x20\x3d\x20\x7b\0\x20\ -\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\ -\x75\x70\x64\x61\x74\x65\x5f\x65\x6c\x65\x6d\x28\x26\x69\x70\x76\x34\x5f\x74\ -\x6f\x70\x5f\x6d\x61\x70\x2c\x26\x6b\x65\x79\x2c\x26\x69\x6e\x69\x74\x2c\x42\ -\x50\x46\x5f\x41\x4e\x59\x29\x3b\0\x20\x20\x20\x20\x69\x66\x28\x28\x6e\x6f\x77\ -\x20\x2d\x20\x62\x79\x74\x65\x73\x2d\x3e\x6c\x61\x73\x74\x5f\x6f\x75\x74\x70\ -\x75\x74\x29\x20\x3c\x20\x31\x30\x30\x30\x20\x2a\x20\x4d\x53\x45\x43\x29\0\x20\ -\x20\x20\x20\x75\x36\x34\x20\x72\x65\x63\x76\x20\x3d\x20\x62\x79\x74\x65\x73\ -\x2d\x3e\x72\x65\x63\x76\x3b\0\x20\x20\x20\x20\x75\x36\x34\x20\x73\x65\x6e\x64\ -\x20\x3d\x20\x62\x79\x74\x65\x73\x2d\x3e\x73\x65\x6e\x64\x3b\0\x20\x20\x20\x20\ -\x69\x66\x28\x73\x65\x6e\x64\x20\x3c\x20\x74\x63\x70\x74\x6f\x70\x5f\x73\x65\ -\x6e\x64\x5f\x74\x68\x72\x65\x68\x6f\x6c\x64\x20\x26\x26\x20\x72\x65\x63\x76\ -\x20\x3c\x20\x74\x63\x70\x74\x6f\x70\x5f\x72\x65\x63\x76\x5f\x74\x68\x72\x65\ -\x68\x6f\x6c\x64\x29\0\x20\x20\x20\x20\x73\x74\x72\x75\x63\x74\x20\x74\x63\x70\ -\x5f\x74\x6f\x70\x5f\x70\x65\x72\x66\x5f\x64\x61\x74\x61\x20\x2a\x62\x75\x66\ -\x66\x20\x3d\x20\x62\x70\x66\x5f\x72\x69\x6e\x67\x62\x75\x66\x5f\x72\x65\x73\ -\x65\x72\x76\x65\x28\x26\x74\x63\x70\x74\x6f\x70\x5f\x62\x75\x66\x66\x65\x72\ -\x2c\x73\x69\x7a\x65\x6f\x66\x28\x73\x74\x72\x75\x63\x74\x20\x74\x63\x70\x5f\ -\x74\x6f\x70\x5f\x70\x65\x72\x66\x5f\x64\x61\x74\x61\x29\x2c\x30\x29\x3b\0\x20\ -\x20\x20\x20\x20\x20\x20\x20\x6d\x65\x6d\x73\x65\x74\x28\x26\x6b\x65\x79\x2c\ -\x30\x2c\x73\x69\x7a\x65\x6f\x66\x28\x73\x74\x72\x75\x63\x74\x20\x69\x70\x76\ -\x36\x5f\x6b\x65\x79\x5f\x74\x29\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x42\ -\x50\x46\x5f\x43\x4f\x52\x45\x5f\x52\x45\x41\x44\x5f\x49\x4e\x54\x4f\x28\x26\ -\x6b\x65\x79\x2e\x73\x61\x64\x64\x72\x2c\x73\x6b\x2c\x5f\x5f\x73\x6b\x5f\x63\ -\x6f\x6d\x6d\x6f\x6e\x2e\x73\x6b\x63\x5f\x76\x36\x5f\x72\x63\x76\x5f\x73\x61\ -\x64\x64\x72\x2e\x69\x6e\x36\x5f\x75\x2e\x75\x36\x5f\x61\x64\x64\x72\x33\x32\ -\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x42\x50\x46\x5f\x43\x4f\x52\x45\x5f\ -\x52\x45\x41\x44\x5f\x49\x4e\x54\x4f\x28\x26\x6b\x65\x79\x2e\x64\x61\x64\x64\ -\x72\x2c\x73\x6b\x2c\x5f\x5f\x73\x6b\x5f\x63\x6f\x6d\x6d\x6f\x6e\x2e\x73\x6b\ -\x63\x5f\x76\x36\x5f\x64\x61\x64\x64\x72\x2e\x69\x6e\x36\x5f\x75\x2e\x75\x36\ -\x5f\x61\x64\x64\x72\x33\x32\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\ -\x72\x75\x63\x74\x20\x72\x65\x63\x76\x5f\x73\x65\x6e\x64\x5f\x62\x79\x74\x65\ -\x73\x20\x2a\x62\x79\x20\x3d\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x6c\x6f\x6f\ -\x6b\x75\x70\x5f\x65\x6c\x65\x6d\x28\x26\x69\x70\x76\x36\x5f\x74\x6f\x70\x5f\ -\x6d\x61\x70\x2c\x26\x6b\x65\x79\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\ -\x20\x20\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x75\x70\x64\x61\x74\x65\x5f\x65\ -\x6c\x65\x6d\x28\x26\x69\x70\x76\x36\x5f\x74\x6f\x70\x5f\x6d\x61\x70\x2c\x26\ -\x6b\x65\x79\x2c\x26\x69\x6e\x69\x74\x2c\x42\x50\x46\x5f\x41\x4e\x59\x29\x3b\0\ -\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x79\x2d\x3e\x73\x65\x6e\ -\x64\x20\x2b\x3d\x20\x73\x69\x7a\x65\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x20\ -\x20\x20\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x75\x70\x64\x61\x74\x65\x5f\x65\ -\x6c\x65\x6d\x28\x26\x69\x70\x76\x34\x5f\x74\x6f\x70\x5f\x6d\x61\x70\x2c\x26\ -\x6b\x65\x79\x2c\x62\x79\x2c\x42\x50\x46\x5f\x41\x4e\x59\x29\x3b\0\x20\x20\x20\ -\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x75\x70\ -\x64\x61\x74\x65\x5f\x65\x6c\x65\x6d\x28\x26\x69\x70\x76\x36\x5f\x74\x6f\x70\ -\x5f\x6d\x61\x70\x2c\x26\x6b\x65\x79\x2c\x62\x79\x2c\x42\x50\x46\x5f\x41\x4e\ -\x59\x29\x3b\0\x20\x20\x20\x20\x62\x75\x66\x66\x2d\x3e\x72\x65\x63\x76\x20\x3d\ -\x20\x72\x65\x63\x76\x3b\0\x20\x20\x20\x20\x62\x75\x66\x66\x2d\x3e\x73\x65\x6e\ -\x64\x20\x3d\x20\x73\x65\x6e\x64\x3b\0\x20\x20\x20\x20\x6d\x65\x6d\x73\x65\x74\ -\x28\x62\x75\x66\x66\x2c\x30\x2c\x73\x69\x7a\x65\x6f\x66\x28\x73\x74\x72\x75\ -\x63\x74\x20\x74\x63\x70\x5f\x74\x6f\x70\x5f\x70\x65\x72\x66\x5f\x64\x61\x74\ -\x61\x29\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x70\x72\x6f\ -\x62\x65\x5f\x72\x65\x61\x64\x5f\x73\x74\x72\x28\x62\x75\x66\x66\x2d\x3e\x63\ -\x6f\x6d\x6d\x2c\x73\x69\x7a\x65\x6f\x66\x28\x62\x75\x66\x66\x2d\x3e\x63\x6f\ -\x6d\x6d\x29\x2c\x69\x70\x34\x2d\x3e\x63\x6f\x6d\x6d\x29\x3b\0\x20\x20\x20\x20\ -\x20\x20\x20\x20\x62\x75\x66\x66\x2d\x3e\x61\x66\x20\x3d\x20\x41\x46\x5f\x49\ -\x4e\x45\x54\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\x75\x66\x66\x2d\x3e\x70\ -\x69\x64\x20\x3d\x20\x69\x70\x34\x2d\x3e\x70\x69\x64\x3b\0\x20\x20\x20\x20\x20\ -\x20\x20\x20\x62\x75\x66\x66\x2d\x3e\x64\x70\x6f\x72\x74\x20\x3d\x20\x69\x70\ -\x34\x2d\x3e\x64\x70\x6f\x72\x74\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\x75\ -\x66\x66\x2d\x3e\x6c\x70\x6f\x72\x74\x20\x3d\x20\x69\x70\x34\x2d\x3e\x6c\x70\ -\x6f\x72\x74\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\x75\x66\x66\x2d\x3e\x64\ -\x73\x74\x5f\x61\x64\x64\x72\x2e\x64\x61\x64\x64\x72\x5f\x76\x34\x20\x3d\x20\ -\x69\x70\x34\x2d\x3e\x64\x61\x64\x64\x72\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\ -\x62\x75\x66\x66\x2d\x3e\x73\x72\x63\x5f\x61\x64\x64\x72\x2e\x73\x61\x64\x64\ -\x72\x5f\x76\x34\x20\x3d\x20\x69\x70\x34\x2d\x3e\x73\x61\x64\x64\x72\x3b\0\x20\ -\x20\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x72\x69\x6e\x67\x62\x75\x66\x5f\ -\x73\x75\x62\x6d\x69\x74\x28\x62\x75\x66\x66\x2c\x30\x29\x3b\0\x20\x20\x20\x20\ -\x20\x20\x20\x20\x62\x79\x74\x65\x73\x2d\x3e\x6c\x61\x73\x74\x5f\x6f\x75\x74\ -\x70\x75\x74\x20\x3d\x20\x6e\x6f\x77\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\ -\x70\x66\x5f\x6d\x61\x70\x5f\x75\x70\x64\x61\x74\x65\x5f\x65\x6c\x65\x6d\x28\ -\x26\x69\x70\x76\x34\x5f\x74\x6f\x70\x5f\x6d\x61\x70\x2c\x69\x70\x34\x2c\x62\ -\x79\x74\x65\x73\x2c\x42\x50\x46\x5f\x41\x4e\x59\x29\x3b\0\x20\x20\x20\x20\x20\ -\x20\x20\x20\x62\x70\x66\x5f\x70\x72\x6f\x62\x65\x5f\x72\x65\x61\x64\x5f\x73\ -\x74\x72\x28\x62\x75\x66\x66\x2d\x3e\x63\x6f\x6d\x6d\x2c\x73\x69\x7a\x65\x6f\ -\x66\x28\x62\x75\x66\x66\x2d\x3e\x63\x6f\x6d\x6d\x29\x2c\x69\x70\x36\x2d\x3e\ -\x63\x6f\x6d\x6d\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\x75\x66\x66\x2d\ -\x3e\x61\x66\x20\x3d\x20\x41\x46\x5f\x49\x4e\x45\x54\x36\x3b\0\x20\x20\x20\x20\ -\x20\x20\x20\x20\x62\x75\x66\x66\x2d\x3e\x70\x69\x64\x20\x3d\x20\x69\x70\x36\ -\x2d\x3e\x70\x69\x64\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\x75\x66\x66\x2d\ -\x3e\x64\x70\x6f\x72\x74\x20\x3d\x20\x69\x70\x36\x2d\x3e\x64\x70\x6f\x72\x74\ -\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\x75\x66\x66\x2d\x3e\x6c\x70\x6f\x72\ -\x74\x20\x3d\x20\x69\x70\x36\x2d\x3e\x6c\x70\x6f\x72\x74\x3b\0\x20\x20\x20\x20\ -\x20\x20\x20\x20\x62\x70\x66\x5f\x70\x72\x6f\x62\x65\x5f\x72\x65\x61\x64\x28\ -\x26\x62\x75\x66\x66\x2d\x3e\x64\x73\x74\x5f\x61\x64\x64\x72\x2e\x64\x61\x64\ -\x64\x72\x5f\x76\x36\x2c\x20\x73\x69\x7a\x65\x6f\x66\x28\x62\x75\x66\x66\x2d\ -\x3e\x64\x73\x74\x5f\x61\x64\x64\x72\x2e\x64\x61\x64\x64\x72\x5f\x76\x36\x29\ -\x2c\x20\x26\x69\x70\x36\x2d\x3e\x64\x61\x64\x64\x72\x29\x3b\0\x20\x20\x20\x20\ -\x20\x20\x20\x20\x62\x70\x66\x5f\x70\x72\x6f\x62\x65\x5f\x72\x65\x61\x64\x28\ -\x26\x62\x75\x66\x66\x2d\x3e\x73\x72\x63\x5f\x61\x64\x64\x72\x2e\x73\x61\x64\ -\x64\x72\x5f\x76\x36\x2c\x20\x73\x69\x7a\x65\x6f\x66\x28\x62\x75\x66\x66\x2d\ -\x3e\x73\x72\x63\x5f\x61\x64\x64\x72\x2e\x73\x61\x64\x64\x72\x5f\x76\x36\x29\ -\x2c\x20\x26\x69\x70\x36\x2d\x3e\x73\x61\x64\x64\x72\x29\x3b\0\x20\x20\x20\x20\ -\x20\x20\x20\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x75\x70\x64\x61\x74\x65\x5f\ -\x65\x6c\x65\x6d\x28\x26\x69\x70\x76\x36\x5f\x74\x6f\x70\x5f\x6d\x61\x70\x2c\ -\x69\x70\x36\x2c\x62\x79\x74\x65\x73\x2c\x42\x50\x46\x5f\x41\x4e\x59\x29\x3b\0\ -\x20\x20\x20\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x64\x65\x6c\x65\x74\x65\x5f\ -\x65\x6c\x65\x6d\x28\x26\x74\x6f\x70\x5f\x73\x6f\x63\x6b\x5f\x73\x74\x6f\x72\ -\x65\x2c\x20\x26\x70\x69\x64\x29\x3b\0\x69\x6e\x74\x20\x42\x50\x46\x5f\x4b\x50\ -\x52\x4f\x42\x45\x28\x74\x6f\x70\x5f\x74\x63\x70\x5f\x72\x65\x63\x76\x5f\x65\ -\x6e\x74\x72\x79\x2c\x20\x73\x74\x72\x75\x63\x74\x20\x73\x6f\x63\x6b\x20\x2a\ -\x73\x6b\x2c\x20\x69\x6e\x74\x20\x63\x6f\x70\x69\x65\x64\x29\x7b\0\x20\x20\x20\ -\x20\x69\x66\x20\x28\x63\x6f\x70\x69\x65\x64\x20\x3c\x3d\x20\x30\x29\0\x20\x20\ -\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x79\x2d\x3e\x72\x65\x63\x76\x20\ -\x2b\x3d\x20\x63\x6f\x70\x69\x65\x64\x3b\0\x69\x6e\x74\x20\x42\x50\x46\x5f\x4b\ -\x50\x52\x4f\x42\x45\x28\x74\x63\x70\x5f\x76\x34\x5f\x63\x6f\x6e\x6e\x65\x63\ -\x74\x2c\x20\x73\x74\x72\x75\x63\x74\x20\x73\x6f\x63\x6b\x20\x2a\x73\x6b\x29\0\ -\x20\x20\x20\x20\x75\x36\x34\x20\x70\x69\x64\x5f\x74\x67\x69\x64\x20\x3d\x20\ -\x62\x70\x66\x5f\x67\x65\x74\x5f\x63\x75\x72\x72\x65\x6e\x74\x5f\x70\x69\x64\ -\x5f\x74\x67\x69\x64\x28\x29\x3b\0\x20\x20\x20\x20\x75\x33\x32\x20\x74\x67\x69\ -\x64\x20\x3d\x20\x70\x69\x64\x5f\x74\x67\x69\x64\x20\x3e\x3e\x20\x33\x32\x3b\ -\x20\0\x20\x20\x20\x20\x69\x66\x28\x74\x67\x69\x64\x20\x3d\x3d\x20\x30\x29\0\ -\x20\x20\x20\x20\x73\x74\x72\x75\x63\x74\x20\x74\x61\x73\x6b\x5f\x70\x75\x62\ -\x6c\x69\x63\x5f\x69\x6e\x66\x6f\x20\x69\x6e\x66\x6f\x20\x3d\x20\x7b\0\x20\x20\ -\x20\x20\x62\x70\x66\x5f\x67\x65\x74\x5f\x63\x75\x72\x72\x65\x6e\x74\x5f\x63\ -\x6f\x6d\x6d\x28\x26\x69\x6e\x66\x6f\x2e\x63\x6f\x6d\x6d\x2c\x73\x69\x7a\x65\ -\x6f\x66\x28\x69\x6e\x66\x6f\x2e\x63\x6f\x6d\x6d\x29\x29\x3b\0\x20\x20\x20\x20\ -\x62\x70\x66\x5f\x6d\x61\x70\x5f\x75\x70\x64\x61\x74\x65\x5f\x65\x6c\x65\x6d\ -\x28\x26\x6e\x65\x74\x5f\x6c\x61\x74\x65\x6e\x63\x79\x5f\x73\x74\x61\x72\x74\ -\x2c\x26\x73\x6b\x2c\x26\x69\x6e\x66\x6f\x2c\x42\x50\x46\x5f\x41\x4e\x59\x29\ -\x3b\0\x69\x6e\x74\x20\x42\x50\x46\x5f\x4b\x50\x52\x4f\x42\x45\x28\x74\x63\x70\ -\x5f\x76\x36\x5f\x63\x6f\x6e\x6e\x65\x63\x74\x2c\x20\x73\x74\x72\x75\x63\x74\ -\x20\x73\x6f\x63\x6b\x20\x2a\x73\x6b\x29\0\x69\x6e\x74\x20\x42\x50\x46\x5f\x4b\ -\x50\x52\x4f\x42\x45\x28\x74\x63\x70\x5f\x72\x63\x76\x5f\x73\x74\x61\x74\x65\ -\x5f\x70\x72\x6f\x63\x65\x73\x73\x2c\x20\x73\x74\x72\x75\x63\x74\x20\x73\x6f\ -\x63\x6b\x20\x2a\x73\x6b\x29\0\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6e\x20\x68\ -\x61\x6e\x64\x6c\x65\x5f\x74\x63\x70\x5f\x72\x63\x76\x5f\x73\x74\x61\x74\x65\ -\x5f\x70\x72\x6f\x63\x65\x73\x73\x28\x73\x6b\x29\x3b\0\x69\x6e\x74\x20\x42\x50\ -\x46\x5f\x50\x52\x4f\x47\x28\x66\x65\x6e\x74\x72\x79\x5f\x74\x63\x70\x5f\x76\ -\x34\x5f\x63\x6f\x6e\x6e\x65\x63\x74\x2c\x20\x73\x74\x72\x75\x63\x74\x20\x73\ -\x6f\x63\x6b\x20\x2a\x73\x6b\x29\0\x69\x6e\x74\x20\x42\x50\x46\x5f\x50\x52\x4f\ -\x47\x28\x66\x65\x6e\x74\x72\x79\x5f\x74\x63\x70\x5f\x76\x36\x5f\x63\x6f\x6e\ -\x6e\x65\x63\x74\x2c\x20\x73\x74\x72\x75\x63\x74\x20\x73\x6f\x63\x6b\x20\x2a\ -\x73\x6b\x29\0\x69\x6e\x74\x20\x42\x50\x46\x5f\x50\x52\x4f\x47\x28\x66\x65\x6e\ -\x74\x72\x79\x5f\x74\x63\x70\x5f\x72\x63\x76\x5f\x73\x74\x61\x74\x65\x5f\x70\ -\x72\x6f\x63\x65\x73\x73\x2c\x20\x73\x74\x72\x75\x63\x74\x20\x73\x6f\x63\x6b\ -\x20\x2a\x73\x6b\x29\0\x69\x6e\x74\x20\x42\x50\x46\x5f\x50\x52\x4f\x47\x28\x74\ -\x63\x70\x72\x74\x74\x2c\x73\x74\x72\x75\x63\x74\x20\x73\x6f\x63\x6b\x20\x2a\ -\x73\x6b\x29\0\x20\x20\x20\x20\x73\x74\x72\x75\x63\x74\x20\x74\x63\x70\x72\x74\ -\x74\x5f\x70\x65\x72\x66\x5f\x64\x61\x74\x61\x20\x2a\x64\x61\x74\x61\x20\x3d\ -\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x6c\x6f\x6f\x6b\x75\x70\x5f\x65\x6c\x65\ -\x6d\x28\x26\x74\x63\x70\x72\x74\x74\x5f\x6d\x61\x70\x2c\x26\x7a\x65\x72\x6f\ -\x29\x3b\0\x20\x20\x20\x20\x69\x66\x28\x21\x64\x61\x74\x61\x29\x7b\0\x20\x20\ -\x20\x20\x20\x20\x20\x20\x6d\x65\x6d\x73\x65\x74\x28\x26\x69\x6e\x69\x74\x2c\ -\x30\x2c\x73\x69\x7a\x65\x6f\x66\x28\x73\x74\x72\x75\x63\x74\x20\x74\x63\x70\ -\x72\x74\x74\x5f\x70\x65\x72\x66\x5f\x64\x61\x74\x61\x29\x29\x3b\0\x20\x20\x20\ -\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x75\x70\x64\x61\x74\x65\ -\x5f\x65\x6c\x65\x6d\x28\x26\x74\x63\x70\x72\x74\x74\x5f\x6d\x61\x70\x2c\x26\ -\x7a\x65\x72\x6f\x2c\x26\x69\x6e\x69\x74\x2c\x42\x50\x46\x5f\x41\x4e\x59\x29\ -\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x64\x61\x74\x61\x20\x3d\x20\x62\x70\x66\ -\x5f\x6d\x61\x70\x5f\x6c\x6f\x6f\x6b\x75\x70\x5f\x65\x6c\x65\x6d\x28\x26\x74\ -\x63\x70\x72\x74\x74\x5f\x6d\x61\x70\x2c\x26\x7a\x65\x72\x6f\x29\x3b\0\x20\x20\ -\x20\x20\x73\x72\x74\x74\x20\x3d\x20\x42\x50\x46\x5f\x43\x4f\x52\x45\x5f\x52\ -\x45\x41\x44\x28\x74\x73\x2c\x20\x73\x72\x74\x74\x5f\x75\x73\x29\x20\x3e\x3e\ -\x20\x33\x3b\x20\x2f\x2f\x20\xe5\xb0\x86\x20\x73\x72\x74\x74\x20\xe4\xbb\x8e\ -\xe7\xba\xb3\xe7\xa7\x92\xe8\xbd\xac\xe6\x8d\xa2\xe4\xb8\xba\xe5\xbe\xae\xe7\ -\xa7\x92\0\x20\x20\x20\x20\x69\x66\x28\x73\x72\x74\x74\x20\x3c\x3d\x20\x30\x29\ -\0\x20\x20\x20\x20\x65\x6c\x73\x65\x20\x69\x66\x28\x73\x72\x74\x74\x20\x3c\x20\ -\x35\x29\0\x20\x20\x20\x20\x65\x6c\x73\x65\x20\x69\x66\x28\x73\x72\x74\x74\x20\ -\x3c\x20\x31\x37\x29\0\x20\x20\x20\x20\x65\x6c\x73\x65\x20\x69\x66\x28\x73\x72\ -\x74\x74\x20\x3c\x20\x33\x33\x29\0\x20\x20\x20\x20\x65\x6c\x73\x65\x20\x69\x66\ -\x28\x73\x72\x74\x74\x20\x3c\x20\x36\x35\x29\0\x20\x20\x20\x20\x65\x6c\x73\x65\ -\x20\x69\x66\x28\x73\x72\x74\x74\x20\x3c\x20\x31\x32\x39\x29\0\x20\x20\x20\x20\ -\x64\x61\x74\x61\x2d\x3e\x64\x61\x74\x61\x5b\x69\x6e\x64\x65\x78\x5d\x20\x2b\ -\x3d\x20\x31\x3b\0\x20\x20\x20\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x75\x70\x64\ -\x61\x74\x65\x5f\x65\x6c\x65\x6d\x28\x26\x74\x63\x70\x72\x74\x74\x5f\x6d\x61\ -\x70\x2c\x26\x7a\x65\x72\x6f\x2c\x64\x61\x74\x61\x2c\x42\x50\x46\x5f\x41\x4e\ -\x59\x29\x3b\0\x20\x20\x20\x20\x73\x74\x72\x75\x63\x74\x20\x74\x63\x70\x72\x74\ -\x74\x5f\x70\x65\x72\x66\x5f\x64\x61\x74\x61\x20\x2a\x73\x72\x63\x20\x3d\x20\ -\x62\x70\x66\x5f\x6d\x61\x70\x5f\x6c\x6f\x6f\x6b\x75\x70\x5f\x65\x6c\x65\x6d\ -\x28\x26\x74\x63\x70\x72\x74\x74\x5f\x6d\x61\x70\x2c\x26\x7a\x65\x72\x6f\x29\ -\x3b\0\x20\x20\x20\x20\x69\x66\x28\x21\x73\x72\x63\x29\x7b\0\x20\x20\x20\x20\ -\x20\x20\x20\x20\x62\x70\x66\x5f\x70\x72\x69\x6e\x74\x6b\x28\x22\x74\x68\x65\ -\x20\x74\x63\x70\x72\x74\x74\x20\x6d\x61\x70\x20\x69\x73\x20\x6e\x6f\x74\x20\ -\x69\x6e\x69\x74\x5c\x6e\x22\x29\x3b\0\x20\x20\x20\x20\x73\x74\x72\x75\x63\x74\ -\x20\x74\x63\x70\x72\x74\x74\x5f\x70\x65\x72\x66\x5f\x64\x61\x74\x61\x20\x2a\ -\x62\x75\x66\x66\x20\x3d\x20\x62\x70\x66\x5f\x72\x69\x6e\x67\x62\x75\x66\x5f\ -\x72\x65\x73\x65\x72\x76\x65\x28\x26\x74\x63\x70\x72\x74\x74\x5f\x62\x75\x66\ -\x66\x65\x72\x2c\x73\x69\x7a\x65\x6f\x66\x28\x73\x74\x72\x75\x63\x74\x20\x74\ -\x63\x70\x72\x74\x74\x5f\x70\x65\x72\x66\x5f\x64\x61\x74\x61\x29\x2c\x30\x29\ -\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\x70\x66\x5f\x70\x72\x69\x6e\x74\x6b\ -\x28\x22\x74\x68\x65\x20\x74\x63\x70\x72\x74\x74\x20\x62\x75\x66\x66\x65\x72\ -\x20\x69\x73\x20\x66\x75\x6c\x6c\x5c\x6e\x22\x29\x3b\0\x20\x20\x20\x20\x6d\x65\ -\x6d\x73\x65\x74\x28\x62\x75\x66\x66\x2c\x30\x2c\x73\x69\x7a\x65\x6f\x66\x28\ -\x73\x74\x72\x75\x63\x74\x20\x74\x63\x70\x72\x74\x74\x5f\x70\x65\x72\x66\x5f\ -\x64\x61\x74\x61\x29\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x62\x75\x66\x66\ -\x2d\x3e\x64\x61\x74\x61\x5b\x69\x5d\x20\x3d\x20\x73\x72\x63\x2d\x3e\x64\x61\ -\x74\x61\x5b\x69\x5d\x3b\0\x20\x20\x20\x20\x62\x70\x66\x5f\x72\x69\x6e\x67\x62\ -\x75\x66\x5f\x73\x75\x62\x6d\x69\x74\x28\x62\x75\x66\x66\x2c\x20\x30\x29\x3b\0\ -\x7d\0\x73\x74\x61\x74\x69\x63\x20\x69\x6e\x74\x20\x68\x61\x6e\x64\x6c\x65\x5f\ -\x74\x63\x70\x5f\x72\x63\x76\x5f\x73\x74\x61\x74\x65\x5f\x70\x72\x6f\x63\x65\ -\x73\x73\x28\x73\x74\x72\x75\x63\x74\x20\x73\x6f\x63\x6b\x20\x2a\x73\x6b\x29\0\ -\x20\x20\x20\x20\x69\x66\x28\x42\x50\x46\x5f\x43\x4f\x52\x45\x5f\x52\x45\x41\ -\x44\x28\x73\x6b\x2c\x20\x5f\x5f\x73\x6b\x5f\x63\x6f\x6d\x6d\x6f\x6e\x2e\x73\ -\x6b\x63\x5f\x73\x74\x61\x74\x65\x29\x20\x21\x3d\x20\x54\x43\x50\x5f\x53\x59\ -\x4e\x5f\x53\x45\x4e\x54\x29\0\x20\x20\x20\x20\x69\x6e\x66\x6f\x20\x3d\x20\x62\ -\x70\x66\x5f\x6d\x61\x70\x5f\x6c\x6f\x6f\x6b\x75\x70\x5f\x65\x6c\x65\x6d\x28\ -\x26\x6e\x65\x74\x5f\x6c\x61\x74\x65\x6e\x63\x79\x5f\x73\x74\x61\x72\x74\x2c\ -\x26\x73\x6b\x29\x3b\0\x20\x20\x20\x20\x69\x66\x28\x21\x69\x6e\x66\x6f\x29\0\ -\x20\x20\x20\x20\x6e\x6f\x77\x20\x3d\x20\x62\x70\x66\x5f\x6b\x74\x69\x6d\x65\ -\x5f\x67\x65\x74\x5f\x6e\x73\x28\x29\x3b\0\x20\x20\x20\x20\x64\x65\x6c\x74\x61\ -\x20\x3d\x20\x6e\x6f\x77\x20\x2d\x20\x69\x6e\x66\x6f\x2d\x3e\x74\x69\x6d\x65\ -\x3b\0\x20\x20\x20\x20\x6c\x61\x74\x65\x6e\x63\x79\x20\x3d\x20\x62\x70\x66\x5f\ -\x72\x69\x6e\x67\x62\x75\x66\x5f\x72\x65\x73\x65\x72\x76\x65\x28\x26\x6e\x65\ -\x74\x5f\x6c\x61\x74\x65\x6e\x63\x79\x5f\x62\x75\x66\x66\x65\x72\x2c\x73\x69\ -\x7a\x65\x6f\x66\x28\x73\x74\x72\x75\x63\x74\x20\x74\x63\x70\x5f\x6e\x65\x74\ -\x5f\x6c\x61\x74\x65\x6e\x63\x79\x29\x2c\x30\x29\x3b\0\x20\x20\x20\x20\x69\x66\ -\x28\x21\x6c\x61\x74\x65\x6e\x63\x79\x29\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\ -\x62\x70\x66\x5f\x70\x72\x69\x6e\x74\x6b\x28\x22\x74\x68\x65\x20\x6e\x65\x74\ -\x20\x6c\x61\x74\x65\x6e\x63\x79\x20\x62\x75\x66\x66\x65\x72\x20\x69\x73\x20\ -\x66\x75\x6c\x6c\x5c\x6e\x22\x29\x3b\0\x20\x20\x20\x20\x6d\x65\x6d\x73\x65\x74\ -\x28\x6c\x61\x74\x65\x6e\x63\x79\x2c\x30\x2c\x73\x69\x7a\x65\x6f\x66\x28\x73\ -\x74\x72\x75\x63\x74\x20\x74\x63\x70\x5f\x6e\x65\x74\x5f\x6c\x61\x74\x65\x6e\ -\x63\x79\x29\x29\x3b\0\x20\x20\x20\x20\x6c\x61\x74\x65\x6e\x63\x79\x2d\x3e\x64\ -\x65\x6c\x74\x61\x20\x3d\x20\x64\x65\x6c\x74\x61\x3b\0\x20\x20\x20\x20\x6c\x61\ -\x74\x65\x6e\x63\x79\x2d\x3e\x74\x67\x69\x64\x20\x3d\x20\x69\x6e\x66\x6f\x2d\ -\x3e\x70\x69\x64\x3b\0\x20\x20\x20\x20\x62\x70\x66\x5f\x70\x72\x6f\x62\x65\x5f\ -\x72\x65\x61\x64\x5f\x6b\x65\x72\x6e\x65\x6c\x5f\x73\x74\x72\x28\x6c\x61\x74\ -\x65\x6e\x63\x79\x2d\x3e\x63\x6f\x6d\x6d\x2c\x73\x69\x7a\x65\x6f\x66\x28\x69\ -\x6e\x66\x6f\x2d\x3e\x63\x6f\x6d\x6d\x29\x2c\x69\x6e\x66\x6f\x2d\x3e\x63\x6f\ -\x6d\x6d\x29\x3b\0\x20\x20\x20\x20\x6c\x61\x74\x65\x6e\x63\x79\x2d\x3e\x74\x73\ -\x20\x3d\x20\x6e\x6f\x77\x3b\0\x20\x20\x20\x20\x6c\x61\x74\x65\x6e\x63\x79\x2d\ -\x3e\x6c\x70\x6f\x72\x74\x20\x3d\x20\x42\x50\x46\x5f\x43\x4f\x52\x45\x5f\x52\ -\x45\x41\x44\x28\x73\x6b\x2c\x20\x5f\x5f\x73\x6b\x5f\x63\x6f\x6d\x6d\x6f\x6e\ -\x2e\x73\x6b\x63\x5f\x6e\x75\x6d\x29\x3b\0\x20\x20\x20\x20\x6c\x61\x74\x65\x6e\ -\x63\x79\x2d\x3e\x64\x70\x6f\x72\x74\x20\x3d\x20\x42\x50\x46\x5f\x43\x4f\x52\ -\x45\x5f\x52\x45\x41\x44\x28\x73\x6b\x2c\x20\x5f\x5f\x73\x6b\x5f\x63\x6f\x6d\ -\x6d\x6f\x6e\x2e\x73\x6b\x63\x5f\x64\x70\x6f\x72\x74\x29\x3b\0\x20\x20\x20\x20\ -\x6c\x61\x74\x65\x6e\x63\x79\x2d\x3e\x61\x66\x20\x3d\x20\x42\x50\x46\x5f\x43\ -\x4f\x52\x45\x5f\x52\x45\x41\x44\x28\x73\x6b\x2c\x20\x5f\x5f\x73\x6b\x5f\x63\ -\x6f\x6d\x6d\x6f\x6e\x2e\x73\x6b\x63\x5f\x66\x61\x6d\x69\x6c\x79\x29\x3b\0\x20\ -\x20\x20\x20\x69\x66\x28\x6c\x61\x74\x65\x6e\x63\x79\x2d\x3e\x61\x66\x20\x3d\ -\x3d\x20\x41\x46\x5f\x49\x4e\x45\x54\x29\x7b\0\x20\x20\x20\x20\x20\x20\x20\x20\ -\x6c\x61\x74\x65\x6e\x63\x79\x2d\x3e\x73\x72\x63\x5f\x61\x64\x64\x72\x2e\x73\ -\x61\x64\x64\x72\x5f\x76\x34\x20\x3d\x20\x42\x50\x46\x5f\x43\x4f\x52\x45\x5f\ -\x52\x45\x41\x44\x28\x73\x6b\x2c\x20\x5f\x5f\x73\x6b\x5f\x63\x6f\x6d\x6d\x6f\ -\x6e\x2e\x73\x6b\x63\x5f\x72\x63\x76\x5f\x73\x61\x64\x64\x72\x29\x3b\0\x20\x20\ -\x20\x20\x20\x20\x20\x20\x6c\x61\x74\x65\x6e\x63\x79\x2d\x3e\x64\x73\x74\x5f\ -\x61\x64\x64\x72\x2e\x64\x61\x64\x64\x72\x5f\x76\x34\x20\x3d\x20\x42\x50\x46\ -\x5f\x43\x4f\x52\x45\x5f\x52\x45\x41\x44\x28\x73\x6b\x2c\x20\x5f\x5f\x73\x6b\ -\x5f\x63\x6f\x6d\x6d\x6f\x6e\x2e\x73\x6b\x63\x5f\x64\x61\x64\x64\x72\x29\x3b\0\ -\x20\x20\x20\x20\x20\x20\x20\x20\x42\x50\x46\x5f\x43\x4f\x52\x45\x5f\x52\x45\ -\x41\x44\x5f\x49\x4e\x54\x4f\x28\x26\x6c\x61\x74\x65\x6e\x63\x79\x2d\x3e\x73\ -\x72\x63\x5f\x61\x64\x64\x72\x2e\x73\x61\x64\x64\x72\x5f\x76\x36\x2c\x73\x6b\ -\x2c\x5f\x5f\x73\x6b\x5f\x63\x6f\x6d\x6d\x6f\x6e\x2e\x73\x6b\x63\x5f\x76\x36\ -\x5f\x72\x63\x76\x5f\x73\x61\x64\x64\x72\x2e\x69\x6e\x36\x5f\x75\x2e\x75\x36\ -\x5f\x61\x64\x64\x72\x33\x32\x29\x3b\0\x20\x20\x20\x20\x20\x20\x20\x20\x42\x50\ -\x46\x5f\x43\x4f\x52\x45\x5f\x52\x45\x41\x44\x5f\x49\x4e\x54\x4f\x28\x26\x6c\ -\x61\x74\x65\x6e\x63\x79\x2d\x3e\x64\x73\x74\x5f\x61\x64\x64\x72\x2e\x64\x61\ -\x64\x64\x72\x5f\x76\x36\x2c\x73\x6b\x2c\x5f\x5f\x73\x6b\x5f\x63\x6f\x6d\x6d\ -\x6f\x6e\x2e\x73\x6b\x63\x5f\x76\x36\x5f\x64\x61\x64\x64\x72\x2e\x69\x6e\x36\ -\x5f\x75\x2e\x75\x36\x5f\x61\x64\x64\x72\x33\x32\x29\x3b\0\x20\x20\x20\x20\x62\ -\x70\x66\x5f\x72\x69\x6e\x67\x62\x75\x66\x5f\x73\x75\x62\x6d\x69\x74\x28\x6c\ -\x61\x74\x65\x6e\x63\x79\x2c\x30\x29\x3b\0\x30\x3a\x33\0\x30\x3a\x30\0\x30\x3a\ -\x30\x3a\x33\0\x30\x3a\x30\x3a\x32\x3a\x31\x3a\x31\0\x30\x3a\x30\x3a\x32\x3a\ -\x31\x3a\x30\0\x30\x3a\x30\x3a\x34\0\x30\x3a\x30\x3a\x30\x3a\x31\x3a\x30\0\x30\ -\x3a\x30\x3a\x30\x3a\x31\x3a\x31\0\x30\x3a\x30\x3a\x31\x34\0\x30\x3a\x30\x3a\ -\x31\x33\0\x30\x3a\x31\x34\0\x30\x3a\x31\x30\0\x30\x3a\x30\x3a\x31\x34\x3a\x30\ -\x3a\x32\0\x30\x3a\x30\x3a\x31\x33\x3a\x30\x3a\x32\0\x30\x3a\x31\x33\0\x30\x3a\ -\x36\x33\0\x6c\x69\x63\x65\x6e\x73\x65\0\x2e\x72\x6f\x64\x61\x74\x61\0\x2e\x6d\ -\x61\x70\x73\0\x2e\x74\x65\x78\x74\0\x74\x72\x61\x63\x65\x70\x6f\x69\x6e\x74\ -\x2f\x74\x63\x70\x2f\x74\x63\x70\x5f\x72\x65\x74\x72\x61\x6e\x73\x6d\x69\x74\ -\x5f\x73\x6b\x62\0\x6b\x70\x72\x6f\x62\x65\x2f\x74\x63\x70\x5f\x73\x65\x6e\x64\ -\x6d\x73\x67\0\x6b\x72\x65\x74\x70\x72\x6f\x62\x65\x2f\x74\x63\x70\x5f\x73\x65\ -\x6e\x64\x6d\x73\x67\0\x6b\x70\x72\x6f\x62\x65\x2f\x74\x63\x70\x5f\x63\x6c\x65\ -\x61\x6e\x75\x70\x5f\x72\x62\x75\x66\0\x6b\x70\x72\x6f\x62\x65\x2f\x74\x63\x70\ -\x5f\x76\x34\x5f\x63\x6f\x6e\x6e\x65\x63\x74\0\x6b\x70\x72\x6f\x62\x65\x2f\x74\ -\x63\x70\x5f\x76\x36\x5f\x63\x6f\x6e\x6e\x65\x63\x74\0\x6b\x70\x72\x6f\x62\x65\ -\x2f\x74\x63\x70\x5f\x72\x63\x76\x5f\x73\x74\x61\x74\x65\x5f\x70\x72\x6f\x63\ -\x65\x73\x73\0\x66\x65\x6e\x74\x72\x79\x2f\x74\x63\x70\x5f\x76\x34\x5f\x63\x6f\ -\x6e\x6e\x65\x63\x74\0\x66\x65\x6e\x74\x72\x79\x2f\x74\x63\x70\x5f\x76\x36\x5f\ -\x63\x6f\x6e\x6e\x65\x63\x74\0\x66\x65\x6e\x74\x72\x79\x2f\x74\x63\x70\x5f\x72\ -\x63\x76\x5f\x73\x74\x61\x74\x65\x5f\x70\x72\x6f\x63\x65\x73\x73\0\x66\x65\x6e\ -\x74\x72\x79\x2f\x74\x63\x70\x5f\x72\x63\x76\x5f\x65\x73\x74\x61\x62\x6c\x69\ -\x73\x68\x65\x64\0\x70\x65\x72\x66\x5f\x65\x76\x65\x6e\x74\0\0\0\0\0\0\0\x9f\ -\xeb\x01\0\x20\0\0\0\0\0\0\0\xd4\0\0\0\xd4\0\0\0\x7c\x22\0\0\x50\x23\0\0\x0c\ -\x03\0\0\x08\0\0\0\xa5\x46\0\0\x01\0\0\0\0\0\0\0\x56\x01\0\0\xab\x46\0\0\x01\0\ -\0\0\0\0\0\0\x39\0\0\0\xcd\x46\0\0\x01\0\0\0\0\0\0\0\x03\x01\0\0\xe0\x46\0\0\ -\x01\0\0\0\0\0\0\0\x04\x01\0\0\xf6\x46\0\0\x01\0\0\0\0\0\0\0\x05\x01\0\0\x0e\ -\x47\0\0\x01\0\0\0\0\0\0\0\x06\x01\0\0\x24\x47\0\0\x01\0\0\0\0\0\0\0\x07\x01\0\ -\0\x3a\x47\0\0\x01\0\0\0\0\0\0\0\x08\x01\0\0\x57\x47\0\0\x01\0\0\0\0\0\0\0\x0b\ -\x01\0\0\x6d\x47\0\0\x01\0\0\0\0\0\0\0\x0c\x01\0\0\x83\x47\0\0\x01\0\0\0\0\0\0\ -\0\x0d\x01\0\0\xa0\x47\0\0\x01\0\0\0\0\0\0\0\x0e\x01\0\0\xbb\x47\0\0\x01\0\0\0\ -\0\0\0\0\x54\x01\0\0\x10\0\0\0\xa5\x46\0\0\x34\0\0\0\0\0\0\0\xce\x27\0\0\x3c\ -\x41\0\0\0\x20\x01\0\x28\0\0\0\xce\x27\0\0\0\0\0\0\0\0\0\0\x30\0\0\0\xce\x27\0\ -\0\x75\x41\0\0\x08\x3c\x01\0\x40\0\0\0\xce\x27\0\0\x75\x41\0\0\x08\x3c\x01\0\ -\x48\0\0\0\xce\x27\0\0\x75\x41\0\0\x08\x3c\x01\0\x58\0\0\0\xce\x27\0\0\0\0\0\0\ -\0\0\0\0\x60\0\0\0\xce\x27\0\0\xb6\x41\0\0\x0c\x48\x01\0\x80\0\0\0\xce\x27\0\0\ -\xee\x41\0\0\x08\x4c\x01\0\x88\0\0\0\xce\x27\0\0\xfc\x41\0\0\x0b\x58\x01\0\x98\ -\0\0\0\xce\x27\0\0\x1a\x42\0\0\x19\x5c\x01\0\xa0\0\0\0\xce\x27\0\0\x38\x42\0\0\ -\x0f\x64\x01\0\xe0\0\0\0\xce\x27\0\0\x91\x42\0\0\x08\x68\x01\0\xe8\0\0\0\xce\ -\x27\0\0\xa3\x42\0\0\x09\x6c\x01\0\x10\x01\0\0\xce\x27\0\0\xdb\x42\0\0\x05\x78\ -\x01\0\x58\x01\0\0\xce\x27\0\0\x1a\x42\0\0\x11\x5c\x01\0\x70\x01\0\0\xce\x27\0\ -\0\x11\x43\0\0\x14\x7c\x01\0\x78\x01\0\0\xce\x27\0\0\x2d\x43\0\0\x1b\x80\x01\0\ -\x80\x01\0\0\xce\x27\0\0\x2d\x43\0\0\x13\x80\x01\0\x88\x01\0\0\xce\x27\0\0\x4c\ -\x43\0\0\x46\x84\x01\0\x90\x01\0\0\xce\x27\0\0\xdb\x42\0\0\x05\x78\x01\0\xa0\ -\x01\0\0\xce\x27\0\0\x4c\x43\0\0\x05\x84\x01\0\xb8\x01\0\0\xce\x27\0\0\x98\x43\ -\0\0\x11\x88\x01\0\xc8\x01\0\0\xce\x27\0\0\xaf\x43\0\0\x16\x8c\x01\0\xe0\x01\0\ -\0\xce\x27\0\0\xdb\x42\0\0\x05\x78\x01\0\xe8\x01\0\0\xce\x27\0\0\xaf\x43\0\0\ -\x16\x8c\x01\0\xf8\x01\0\0\xce\x27\0\0\xaf\x43\0\0\x16\x8c\x01\0\0\x02\0\0\xce\ -\x27\0\0\xaf\x43\0\0\x14\x8c\x01\0\x10\x02\0\0\xce\x27\0\0\xec\x43\0\0\x16\x90\ -\x01\0\x28\x02\0\0\xce\x27\0\0\xdb\x42\0\0\x05\x78\x01\0\x30\x02\0\0\xce\x27\0\ -\0\xec\x43\0\0\x16\x90\x01\0\x40\x02\0\0\xce\x27\0\0\xec\x43\0\0\x16\x90\x01\0\ -\x48\x02\0\0\xce\x27\0\0\xec\x43\0\0\x14\x90\x01\0\x58\x02\0\0\xce\x27\0\0\x2b\ -\x44\0\0\x13\x94\x01\0\x70\x02\0\0\xce\x27\0\0\xdb\x42\0\0\x05\x78\x01\0\x78\ -\x02\0\0\xce\x27\0\0\x2b\x44\0\0\x13\x94\x01\0\x88\x02\0\0\xce\x27\0\0\x2b\x44\ -\0\0\x13\x94\x01\0\x90\x02\0\0\xce\x27\0\0\x2b\x44\0\0\x11\x94\x01\0\x98\x02\0\ -\0\xce\x27\0\0\x68\x44\0\0\x08\x9c\x01\0\xa8\x02\0\0\xce\x27\0\0\x88\x44\0\0\ -\x26\xa0\x01\0\xc0\x02\0\0\xce\x27\0\0\0\0\0\0\0\0\0\0\xc8\x02\0\0\xce\x27\0\0\ -\x88\x44\0\0\x26\xa0\x01\0\xd8\x02\0\0\xce\x27\0\0\x88\x44\0\0\x26\xa0\x01\0\ -\xe0\x02\0\0\xce\x27\0\0\x88\x44\0\0\x24\xa0\x01\0\xf0\x02\0\0\xce\x27\0\0\xdb\ -\x44\0\0\x26\xa4\x01\0\x08\x03\0\0\xce\x27\0\0\0\0\0\0\0\0\0\0\x10\x03\0\0\xce\ -\x27\0\0\xdb\x44\0\0\x26\xa4\x01\0\x20\x03\0\0\xce\x27\0\0\xdb\x44\0\0\x26\xa4\ -\x01\0\x28\x03\0\0\xce\x27\0\0\xdb\x44\0\0\x24\xa4\x01\0\x40\x03\0\0\xce\x27\0\ -\0\x2a\x45\0\0\x09\xb0\x01\0\x70\x03\0\0\xce\x27\0\0\x93\x45\0\0\x09\xb4\x01\0\ -\xa0\x03\0\0\xce\x27\0\0\xf8\x45\0\0\x05\xbc\x01\0\xb8\x03\0\0\xce\x27\0\0\x3a\ -\x41\0\0\x01\xc8\x01\0\xab\x46\0\0\x36\0\0\0\0\0\0\0\xce\x27\0\0\x0e\x28\0\0\ -\x2b\xfc\x04\0\x08\0\0\0\xce\x27\0\0\x40\x28\0\0\x08\xb0\x03\0\x10\0\0\0\xce\ -\x27\0\0\0\0\0\0\0\0\0\0\x18\0\0\0\xce\x27\0\0\x4c\x28\0\0\x0f\xc0\x03\0\x40\0\ -\0\0\xce\x27\0\0\x84\x28\0\0\x08\xc4\x03\0\x48\0\0\0\xce\x27\0\0\x9e\x28\0\0\ -\x0f\xd0\x03\0\x60\0\0\0\xce\x27\0\0\xc0\x28\0\0\x09\xe4\x03\0\x80\0\0\0\xce\ -\x27\0\0\xcf\x28\0\0\x09\xe8\x03\0\xa8\0\0\0\xce\x27\0\0\x0a\x29\0\0\x13\xec\ -\x03\0\xd0\0\0\0\xce\x27\0\0\0\0\0\0\0\0\0\0\xd8\0\0\0\xce\x27\0\0\x21\x29\0\0\ -\x05\x14\x04\0\x08\x01\0\0\xce\x27\0\0\0\0\0\0\0\0\0\0\x10\x01\0\0\xce\x27\0\0\ -\x72\x29\0\0\x05\x18\x04\0\x40\x01\0\0\xce\x27\0\0\0\0\0\0\0\0\0\0\x48\x01\0\0\ -\xce\x27\0\0\xbe\x29\0\0\x05\x1c\x04\0\x78\x01\0\0\xce\x27\0\0\0\0\0\0\0\0\0\0\ -\x80\x01\0\0\xce\x27\0\0\x0c\x2a\0\0\x05\x20\x04\0\x98\x01\0\0\xce\x27\0\0\0\0\ -\0\0\0\0\0\0\xa0\x01\0\0\xce\x27\0\0\x5a\x2a\0\0\x05\x2c\x04\0\xb0\x01\0\0\xce\ -\x27\0\0\x89\x2a\0\0\x08\x34\x04\0\xb8\x01\0\0\xce\x27\0\0\x89\x2a\0\0\x1a\x34\ -\x04\0\xd8\x01\0\0\xce\x27\0\0\xb9\x2a\0\0\x21\x3c\x04\0\x08\x02\0\0\xce\x27\0\ -\0\x20\x2b\0\0\x08\x40\x04\0\x10\x02\0\0\xce\x27\0\0\x2f\x2b\0\0\x09\x44\x04\0\ -\x38\x02\0\0\xce\x27\0\0\x67\x2b\0\0\x05\x50\x04\0\x70\x02\0\0\xce\x27\0\0\x97\ -\x2b\0\0\x0f\x54\x04\0\x78\x02\0\0\xce\x27\0\0\xac\x2b\0\0\x13\x58\x04\0\x80\ -\x02\0\0\xce\x27\0\0\xac\x2b\0\0\x11\x58\x04\0\x88\x02\0\0\xce\x27\0\0\xc5\x2b\ -\0\0\x13\x5c\x04\0\x90\x02\0\0\xce\x27\0\0\xde\x2b\0\0\x0f\x60\x04\0\xa0\x02\0\ -\0\xce\x27\0\0\xc5\x2b\0\0\x11\x5c\x04\0\xa8\x02\0\0\xce\x27\0\0\xf3\x2b\0\0\ -\x13\x64\x04\0\xb0\x02\0\0\xce\x27\0\0\x0c\x2c\0\0\x11\x6c\x04\0\xc8\x02\0\0\ -\xce\x27\0\0\x23\x2c\0\0\x10\x68\x04\0\xd0\x02\0\0\xce\x27\0\0\xf3\x2b\0\0\x11\ -\x64\x04\0\xd8\x02\0\0\xce\x27\0\0\x67\x2b\0\0\x05\x50\x04\0\xf8\x02\0\0\xce\ -\x27\0\0\x3a\x2c\0\0\x05\x70\x04\0\x08\x03\0\0\xce\x27\0\0\x70\x2c\0\0\x0c\x78\ -\x04\0\x10\x03\0\0\xce\x27\0\0\x70\x2c\0\0\x05\x78\x04\0\x28\x03\0\0\xce\x27\0\ -\0\x84\x2c\0\0\x16\x80\x04\0\x58\x03\0\0\xce\x27\0\0\xa4\x2c\0\0\x0d\x88\x04\0\ -\x80\x03\0\0\xce\x27\0\0\x84\x2c\0\0\x16\x80\x04\0\x88\x03\0\0\xce\x27\0\0\xf8\ -\x2c\0\0\x0d\x8c\x04\0\xa0\x03\0\0\xce\x27\0\0\x50\x2d\0\0\x27\x90\x04\0\xa8\ -\x03\0\0\xce\x27\0\0\x50\x2d\0\0\x25\x90\x04\0\xb0\x03\0\0\xce\x27\0\0\x7d\x2d\ -\0\0\x27\x94\x04\0\xb8\x03\0\0\xce\x27\0\0\x7d\x2d\0\0\x25\x94\x04\0\xd0\x03\0\ -\0\xce\x27\0\0\xaa\x2d\0\0\x16\xb0\x04\0\xf0\x03\0\0\xce\x27\0\0\xcb\x2d\0\0\ -\x0d\xb4\x04\0\x18\x04\0\0\xce\x27\0\0\x4c\x2e\0\0\x2a\xb8\x04\0\x28\x04\0\0\ -\xce\x27\0\0\x4c\x2e\0\0\x0d\xb8\x04\0\x40\x04\0\0\xce\x27\0\0\0\0\0\0\0\0\0\0\ -\x60\x04\0\0\xce\x27\0\0\xc7\x2e\0\0\x0d\xcc\x04\0\x78\x04\0\0\xce\x27\0\0\xf1\ -\x2e\0\0\x05\0\x05\0\xcd\x46\0\0\x06\0\0\0\0\0\0\0\xce\x27\0\0\x29\x2f\0\0\x05\ -\x2c\x05\0\x10\0\0\0\xce\x27\0\0\x4c\x28\0\0\x0f\x34\x05\0\x18\0\0\0\xce\x27\0\ -\0\x4c\x28\0\0\x09\x34\x05\0\x28\0\0\0\xce\x27\0\0\0\0\0\0\0\0\0\0\x40\0\0\0\ -\xce\x27\0\0\x5e\x2f\0\0\x05\x38\x05\0\x60\0\0\0\xce\x27\0\0\x29\x2f\0\0\x05\ -\x2c\x05\0\xe0\x46\0\0\xb0\0\0\0\0\0\0\0\xce\x27\0\0\x99\x2f\0\0\x05\x4c\x05\0\ -\x08\0\0\0\xce\x27\0\0\x4c\x28\0\0\x0f\x54\x05\0\x10\0\0\0\xce\x27\0\0\x4c\x28\ -\0\0\x09\x54\x05\0\x20\0\0\0\xce\x27\0\0\0\0\0\0\0\0\0\0\x28\0\0\0\xce\x27\0\0\ -\xc7\x2f\0\0\x1c\x58\x05\0\x40\0\0\0\xce\x27\0\0\x0e\x30\0\0\x09\x5c\x05\0\x48\ -\0\0\0\xce\x27\0\0\0\0\0\0\0\0\0\0\x58\0\0\0\xce\x27\0\0\x99\x2f\0\0\x05\x4c\ -\x05\0\x78\0\0\0\xce\x27\0\0\x1f\x30\0\0\x09\x6c\x05\0\x80\0\0\0\xce\x27\0\0\ -\x32\x30\0\0\x17\x68\x05\0\x88\0\0\0\xce\x27\0\0\x4c\x28\0\0\x0f\xa0\x02\0\xa0\ -\0\0\0\xce\x27\0\0\x51\x30\0\0\x09\xa4\x02\0\xa8\0\0\0\xce\x27\0\0\x51\x30\0\0\ -\x15\xa4\x02\0\xb0\0\0\0\xce\x27\0\0\x9e\x28\0\0\x0f\xa8\x02\0\xe0\0\0\0\xce\ -\x27\0\0\0\0\0\0\0\0\0\0\xe8\0\0\0\xce\x27\0\0\x70\x30\0\0\x05\xb0\x02\0\xf8\0\ -\0\0\xce\x27\0\0\xab\x30\0\0\x09\xb8\x02\0\0\x01\0\0\xce\x27\0\0\xab\x30\0\0\ -\x09\xb8\x02\0\x18\x01\0\0\xce\x27\0\0\xc7\x30\0\0\x09\xc0\x02\0\x50\x01\0\0\ -\xce\x27\0\0\xf9\x30\0\0\x11\xc4\x02\0\x58\x01\0\0\xce\x27\0\0\xc7\x30\0\0\x09\ -\xc0\x02\0\x68\x01\0\0\xce\x27\0\0\x10\x31\0\0\x09\xc8\x02\0\x98\x01\0\0\xce\ -\x27\0\0\xc7\x30\0\0\x09\xc0\x02\0\xa8\x01\0\0\xce\x27\0\0\x4a\x31\0\0\x09\xcc\ -\x02\0\xd0\x01\0\0\xce\x27\0\0\xc7\x30\0\0\x09\xc0\x02\0\xe0\x01\0\0\xce\x27\0\ -\0\x8f\x31\0\0\x09\xd0\x02\0\x08\x02\0\0\xce\x27\0\0\xc7\x30\0\0\x09\xc0\x02\0\ -\x18\x02\0\0\xce\x27\0\0\xd0\x31\0\0\x09\xd4\x02\0\x40\x02\0\0\xce\x27\0\0\xc7\ -\x30\0\0\x09\xc0\x02\0\x48\x02\0\0\xce\x27\0\0\x0f\x32\0\0\x09\xd8\x02\0\x60\ -\x02\0\0\xce\x27\0\0\x4c\x32\0\0\x15\xdc\x02\0\x70\x02\0\0\xce\x27\0\0\x4c\x32\ -\0\0\x13\xdc\x02\0\x80\x02\0\0\xce\x27\0\0\xc7\x30\0\0\x09\xc0\x02\0\x88\x02\0\ -\0\xce\x27\0\0\x72\x32\0\0\x26\xe4\x02\0\xa8\x02\0\0\xce\x27\0\0\xc0\x32\0\0\ -\x0c\xe8\x02\0\xb0\x02\0\0\xce\x27\0\0\xd1\x32\0\0\x2b\xec\x02\0\xf8\x02\0\0\ -\xce\x27\0\0\xfd\x32\0\0\x0d\0\x03\0\x18\x03\0\0\xce\x27\0\0\x9e\x28\0\0\x0f\ -\xe0\x01\0\x28\x03\0\0\xce\x27\0\0\x40\x33\0\0\x16\xe4\x01\0\x30\x03\0\0\xce\ -\x27\0\0\x40\x33\0\0\x0d\xe4\x01\0\x48\x03\0\0\xce\x27\0\0\x40\x33\0\0\x08\xe4\ -\x01\0\x50\x03\0\0\xce\x27\0\0\x71\x33\0\0\x17\xf0\x01\0\x58\x03\0\0\xce\x27\0\ -\0\x8d\x33\0\0\x17\xec\x01\0\x60\x03\0\0\xce\x27\0\0\xa9\x33\0\0\x24\xf4\x01\0\ -\x90\x03\0\0\xce\x27\0\0\xec\x33\0\0\x26\0\x02\0\xc0\x03\0\0\xce\x27\0\0\x20\ -\x2b\0\0\x08\x04\x02\0\xc8\x03\0\0\xce\x27\0\0\0\0\0\0\0\0\0\0\xf0\x03\0\0\xce\ -\x27\0\0\x59\x34\0\0\x09\x34\x03\0\x30\x04\0\0\xce\x27\0\0\xf9\x30\0\0\x11\x38\ -\x03\0\x38\x04\0\0\xce\x27\0\0\x10\x31\0\0\x1e\x3c\x03\0\x50\x04\0\0\xce\x27\0\ -\0\x10\x31\0\0\x09\x3c\x03\0\x80\x04\0\0\xce\x27\0\0\x59\x34\0\0\x09\x34\x03\0\ -\x88\x04\0\0\xce\x27\0\0\x8b\x34\0\0\x09\x40\x03\0\xb8\x04\0\0\xce\x27\0\0\x59\ -\x34\0\0\x09\x34\x03\0\xc8\x04\0\0\xce\x27\0\0\xe3\x34\0\0\x09\x44\x03\0\xf8\ -\x04\0\0\xce\x27\0\0\xd0\x31\0\0\x09\x48\x03\0\x30\x05\0\0\xce\x27\0\0\x59\x34\ -\0\0\x09\x34\x03\0\x38\x05\0\0\xce\x27\0\0\x0f\x32\0\0\x09\x4c\x03\0\x50\x05\0\ -\0\xce\x27\0\0\x4c\x32\0\0\x15\x50\x03\0\x60\x05\0\0\xce\x27\0\0\x4c\x32\0\0\ -\x13\x50\x03\0\x68\x05\0\0\xce\x27\0\0\x37\x35\0\0\x26\x58\x03\0\x90\x05\0\0\ -\xce\x27\0\0\xc0\x32\0\0\x0c\x5c\x03\0\x98\x05\0\0\xce\x27\0\0\xd1\x32\0\0\x2b\ -\x60\x03\0\xe0\x05\0\0\xce\x27\0\0\x85\x35\0\0\x0d\x74\x03\0\0\x06\0\0\xce\x27\ -\0\0\x9e\x28\0\0\x0f\xe0\x01\0\x10\x06\0\0\xce\x27\0\0\x40\x33\0\0\x16\xe4\x01\ -\0\x18\x06\0\0\xce\x27\0\0\x40\x33\0\0\x0d\xe4\x01\0\x30\x06\0\0\xce\x27\0\0\ -\x40\x33\0\0\x08\xe4\x01\0\x38\x06\0\0\xce\x27\0\0\x71\x33\0\0\x17\xf0\x01\0\ -\x40\x06\0\0\xce\x27\0\0\x8d\x33\0\0\x17\xec\x01\0\x48\x06\0\0\xce\x27\0\0\xa9\ -\x33\0\0\x24\xf4\x01\0\x78\x06\0\0\xce\x27\0\0\xec\x33\0\0\x26\0\x02\0\xa8\x06\ -\0\0\xce\x27\0\0\x20\x2b\0\0\x08\x04\x02\0\xc0\x06\0\0\xce\x27\0\0\xc8\x35\0\0\ -\x16\x14\x03\0\xe0\x06\0\0\xce\x27\0\0\0\0\0\0\0\0\0\0\xe8\x06\0\0\xce\x27\0\0\ -\xe6\x35\0\0\x0d\x18\x03\0\x10\x07\0\0\xce\x27\0\0\x9e\x28\0\0\x0f\xe0\x01\0\ -\x20\x07\0\0\xce\x27\0\0\x40\x33\0\0\x16\xe4\x01\0\x28\x07\0\0\xce\x27\0\0\x40\ -\x33\0\0\x0d\xe4\x01\0\x40\x07\0\0\xce\x27\0\0\x40\x33\0\0\x08\xe4\x01\0\x48\ -\x07\0\0\xce\x27\0\0\x71\x33\0\0\x17\xf0\x01\0\x50\x07\0\0\xce\x27\0\0\x8d\x33\ -\0\0\x17\xec\x01\0\x58\x07\0\0\xce\x27\0\0\xa9\x33\0\0\x24\xf4\x01\0\x78\x07\0\ -\0\xce\x27\0\0\xec\x33\0\0\x26\0\x02\0\xa8\x07\0\0\xce\x27\0\0\x20\x2b\0\0\x08\ -\x04\x02\0\xc0\x07\0\0\xce\x27\0\0\xc8\x35\0\0\x16\x88\x03\0\xe0\x07\0\0\xce\ -\x27\0\0\0\0\0\0\0\0\0\0\xe8\x07\0\0\xce\x27\0\0\x26\x36\0\0\x0d\x8c\x03\0\x10\ -\x08\0\0\xce\x27\0\0\x9e\x28\0\0\x0f\xe0\x01\0\x18\x08\0\0\xce\x27\0\0\x40\x33\ -\0\0\x16\xe4\x01\0\x20\x08\0\0\xce\x27\0\0\x40\x33\0\0\x0d\xe4\x01\0\x38\x08\0\ -\0\xce\x27\0\0\x40\x33\0\0\x08\xe4\x01\0\x40\x08\0\0\xce\x27\0\0\x71\x33\0\0\ -\x17\xf0\x01\0\x48\x08\0\0\xce\x27\0\0\x8d\x33\0\0\x17\xec\x01\0\x50\x08\0\0\ -\xce\x27\0\0\xa9\x33\0\0\x24\xf4\x01\0\x70\x08\0\0\xce\x27\0\0\xec\x33\0\0\x26\ -\0\x02\0\xa0\x08\0\0\xce\x27\0\0\x20\x2b\0\0\x08\x04\x02\0\xb0\x08\0\0\xce\x27\ -\0\0\x66\x36\0\0\x10\x1c\x02\0\xc0\x08\0\0\xce\x27\0\0\x7d\x36\0\0\x10\x18\x02\ -\0\xd0\x08\0\0\xce\x27\0\0\x94\x36\0\0\x05\x14\x02\0\x20\x09\0\0\xce\x27\0\0\ -\xc9\x36\0\0\x09\x24\x02\0\x40\x09\0\0\xce\x27\0\0\x0e\x37\0\0\x12\x28\x02\0\ -\x48\x09\0\0\xce\x27\0\0\x2a\x37\0\0\x1a\x2c\x02\0\x50\x09\0\0\xce\x27\0\0\x2a\ -\x37\0\0\x13\x2c\x02\0\x58\x09\0\0\xce\x27\0\0\x48\x37\0\0\x1c\x30\x02\0\x60\ -\x09\0\0\xce\x27\0\0\x48\x37\0\0\x15\x30\x02\0\x68\x09\0\0\xce\x27\0\0\x6a\x37\ -\0\0\x1c\x34\x02\0\x70\x09\0\0\xce\x27\0\0\x6a\x37\0\0\x15\x34\x02\0\x78\x09\0\ -\0\xce\x27\0\0\x8c\x37\0\0\x28\x38\x02\0\x80\x09\0\0\xce\x27\0\0\x8c\x37\0\0\ -\x21\x38\x02\0\x88\x09\0\0\xce\x27\0\0\xba\x37\0\0\x28\x3c\x02\0\x90\x09\0\0\ -\xce\x27\0\0\xba\x37\0\0\x21\x3c\x02\0\x98\x09\0\0\xce\x27\0\0\xe8\x37\0\0\x09\ -\x40\x02\0\xb0\x09\0\0\xce\x27\0\0\x0c\x38\0\0\x1c\x48\x02\0\xc0\x09\0\0\xce\ -\x27\0\0\x66\x36\0\0\x10\x1c\x02\0\xc8\x09\0\0\xce\x27\0\0\x2e\x38\0\0\x09\x4c\ -\x02\0\xe8\x09\0\0\xce\x27\0\0\x66\x36\0\0\x10\x1c\x02\0\xf0\x09\0\0\xce\x27\0\ -\0\x7d\x36\0\0\x10\x18\x02\0\0\x0a\0\0\xce\x27\0\0\x94\x36\0\0\x05\x14\x02\0\ -\x50\x0a\0\0\xce\x27\0\0\x6c\x38\0\0\x09\x58\x02\0\x70\x0a\0\0\xce\x27\0\0\xb1\ -\x38\0\0\x12\x5c\x02\0\x78\x0a\0\0\xce\x27\0\0\xce\x38\0\0\x1a\x60\x02\0\x80\ -\x0a\0\0\xce\x27\0\0\xce\x38\0\0\x13\x60\x02\0\x88\x0a\0\0\xce\x27\0\0\xec\x38\ -\0\0\x1c\x64\x02\0\x90\x0a\0\0\xce\x27\0\0\xec\x38\0\0\x15\x64\x02\0\x98\x0a\0\ -\0\xce\x27\0\0\x0e\x39\0\0\x1c\x68\x02\0\xa0\x0a\0\0\xce\x27\0\0\x0e\x39\0\0\ -\x15\x68\x02\0\xa8\x0a\0\0\xce\x27\0\0\x94\x36\0\0\x05\x14\x02\0\xb8\x0a\0\0\ -\xce\x27\0\0\x30\x39\0\0\x09\x6c\x02\0\xd8\x0a\0\0\xce\x27\0\0\x66\x36\0\0\x10\ -\x1c\x02\0\xe0\x0a\0\0\xce\x27\0\0\x90\x39\0\0\x09\x70\x02\0\0\x0b\0\0\xce\x27\ -\0\0\xe8\x37\0\0\x09\x78\x02\0\x18\x0b\0\0\xce\x27\0\0\x0c\x38\0\0\x1c\x80\x02\ -\0\x28\x0b\0\0\xce\x27\0\0\xf0\x39\0\0\x09\x84\x02\0\x50\x0b\0\0\xce\x27\0\0\ -\x66\x36\0\0\x10\x1c\x02\0\x60\x0b\0\0\xce\x27\0\0\x7d\x36\0\0\x10\x18\x02\0\ -\x68\x0b\0\0\xce\x27\0\0\x94\x36\0\0\x05\x14\x02\0\xb8\x0b\0\0\xce\x27\0\0\xc9\ -\x36\0\0\x09\x24\x02\0\xd8\x0b\0\0\xce\x27\0\0\x0e\x37\0\0\x12\x28\x02\0\xe0\ -\x0b\0\0\xce\x27\0\0\x2a\x37\0\0\x1a\x2c\x02\0\xe8\x0b\0\0\xce\x27\0\0\x2a\x37\ -\0\0\x13\x2c\x02\0\xf0\x0b\0\0\xce\x27\0\0\x48\x37\0\0\x1c\x30\x02\0\xf8\x0b\0\ -\0\xce\x27\0\0\x48\x37\0\0\x15\x30\x02\0\0\x0c\0\0\xce\x27\0\0\x6a\x37\0\0\x1c\ -\x34\x02\0\x08\x0c\0\0\xce\x27\0\0\x6a\x37\0\0\x15\x34\x02\0\x10\x0c\0\0\xce\ -\x27\0\0\x8c\x37\0\0\x28\x38\x02\0\x18\x0c\0\0\xce\x27\0\0\x8c\x37\0\0\x21\x38\ -\x02\0\x20\x0c\0\0\xce\x27\0\0\xba\x37\0\0\x28\x3c\x02\0\x28\x0c\0\0\xce\x27\0\ -\0\xba\x37\0\0\x21\x3c\x02\0\x30\x0c\0\0\xce\x27\0\0\xe8\x37\0\0\x09\x40\x02\0\ -\x48\x0c\0\0\xce\x27\0\0\x0c\x38\0\0\x1c\x48\x02\0\x58\x0c\0\0\xce\x27\0\0\x66\ -\x36\0\0\x10\x1c\x02\0\x70\x0c\0\0\xce\x27\0\0\x2e\x38\0\0\x09\x4c\x02\0\x88\ -\x0c\0\0\xce\x27\0\0\x66\x36\0\0\x10\x1c\x02\0\x98\x0c\0\0\xce\x27\0\0\x7d\x36\ -\0\0\x10\x18\x02\0\xa0\x0c\0\0\xce\x27\0\0\x94\x36\0\0\x05\x14\x02\0\xf0\x0c\0\ -\0\xce\x27\0\0\x6c\x38\0\0\x09\x58\x02\0\x10\x0d\0\0\xce\x27\0\0\xb1\x38\0\0\ -\x12\x5c\x02\0\x18\x0d\0\0\xce\x27\0\0\xce\x38\0\0\x1a\x60\x02\0\x20\x0d\0\0\ -\xce\x27\0\0\xce\x38\0\0\x13\x60\x02\0\x28\x0d\0\0\xce\x27\0\0\xec\x38\0\0\x1c\ -\x64\x02\0\x30\x0d\0\0\xce\x27\0\0\xec\x38\0\0\x15\x64\x02\0\x38\x0d\0\0\xce\ -\x27\0\0\x0e\x39\0\0\x1c\x68\x02\0\x40\x0d\0\0\xce\x27\0\0\x0e\x39\0\0\x15\x68\ -\x02\0\x48\x0d\0\0\xce\x27\0\0\x94\x36\0\0\x05\x14\x02\0\x58\x0d\0\0\xce\x27\0\ -\0\x30\x39\0\0\x09\x6c\x02\0\x78\x0d\0\0\xce\x27\0\0\x66\x36\0\0\x10\x1c\x02\0\ -\x80\x0d\0\0\xce\x27\0\0\x90\x39\0\0\x09\x70\x02\0\xa0\x0d\0\0\xce\x27\0\0\xe8\ -\x37\0\0\x09\x78\x02\0\xb8\x0d\0\0\xce\x27\0\0\x0c\x38\0\0\x1c\x80\x02\0\xc8\ -\x0d\0\0\xce\x27\0\0\x66\x36\0\0\x10\x1c\x02\0\xd0\x0d\0\0\xce\x27\0\0\xf0\x39\ -\0\0\x09\x84\x02\0\xe8\x0d\0\0\xce\x27\0\0\0\0\0\0\0\0\0\0\0\x0e\0\0\xce\x27\0\ -\0\0\0\0\0\0\0\0\0\x08\x0e\0\0\xce\x27\0\0\x2e\x3a\0\0\x05\x7c\x05\0\x20\x0e\0\ -\0\xce\x27\0\0\x99\x2f\0\0\x05\x4c\x05\0\xf6\x46\0\0\xa7\0\0\0\0\0\0\0\xce\x27\ -\0\0\x5e\x3a\0\0\x05\xf8\x05\0\x28\0\0\0\xce\x27\0\0\x9f\x3a\0\0\x09\xfc\x05\0\ -\x30\0\0\0\xce\x27\0\0\x5e\x3a\0\0\x05\xf8\x05\0\x40\0\0\0\xce\x27\0\0\x4c\x28\ -\0\0\x0f\x0c\x06\0\x58\0\0\0\xce\x27\0\0\x51\x30\0\0\x09\x10\x06\0\x60\0\0\0\ -\xce\x27\0\0\x51\x30\0\0\x15\x10\x06\0\x68\0\0\0\xce\x27\0\0\x9e\x28\0\0\x0f\ -\x14\x06\0\x98\0\0\0\xce\x27\0\0\x5e\x3a\0\0\x05\xf8\x05\0\xa0\0\0\0\xce\x27\0\ -\0\x70\x30\0\0\x05\x1c\x06\0\xb0\0\0\0\xce\x27\0\0\xab\x30\0\0\x09\x24\x06\0\ -\xb8\0\0\0\xce\x27\0\0\xab\x30\0\0\x09\x24\x06\0\xd0\0\0\0\xce\x27\0\0\xc7\x30\ -\0\0\x09\x2c\x06\0\x08\x01\0\0\xce\x27\0\0\xf9\x30\0\0\x11\x30\x06\0\x10\x01\0\ -\0\xce\x27\0\0\xc7\x30\0\0\x09\x2c\x06\0\x20\x01\0\0\xce\x27\0\0\x10\x31\0\0\ -\x09\x34\x06\0\x50\x01\0\0\xce\x27\0\0\xc7\x30\0\0\x09\x2c\x06\0\x60\x01\0\0\ -\xce\x27\0\0\x4a\x31\0\0\x09\x38\x06\0\x88\x01\0\0\xce\x27\0\0\xc7\x30\0\0\x09\ -\x2c\x06\0\x98\x01\0\0\xce\x27\0\0\x8f\x31\0\0\x09\x3c\x06\0\xc0\x01\0\0\xce\ -\x27\0\0\xc7\x30\0\0\x09\x2c\x06\0\xd0\x01\0\0\xce\x27\0\0\xd0\x31\0\0\x09\x40\ -\x06\0\xf8\x01\0\0\xce\x27\0\0\xc7\x30\0\0\x09\x2c\x06\0\0\x02\0\0\xce\x27\0\0\ -\x0f\x32\0\0\x09\x44\x06\0\x18\x02\0\0\xce\x27\0\0\x4c\x32\0\0\x15\x48\x06\0\ -\x28\x02\0\0\xce\x27\0\0\x4c\x32\0\0\x13\x48\x06\0\x38\x02\0\0\xce\x27\0\0\xc7\ -\x30\0\0\x09\x2c\x06\0\x40\x02\0\0\xce\x27\0\0\x72\x32\0\0\x26\x50\x06\0\x60\ -\x02\0\0\xce\x27\0\0\xc0\x32\0\0\x0c\x54\x06\0\x68\x02\0\0\xce\x27\0\0\xd1\x32\ -\0\0\x2b\x58\x06\0\xb0\x02\0\0\xce\x27\0\0\xfd\x32\0\0\x0d\x6c\x06\0\xd0\x02\0\ -\0\xce\x27\0\0\x9e\x28\0\0\x0f\xe0\x01\0\xe0\x02\0\0\xce\x27\0\0\x40\x33\0\0\ -\x16\xe4\x01\0\xe8\x02\0\0\xce\x27\0\0\x40\x33\0\0\x0d\xe4\x01\0\0\x03\0\0\xce\ -\x27\0\0\x40\x33\0\0\x08\xe4\x01\0\x08\x03\0\0\xce\x27\0\0\x71\x33\0\0\x17\xf0\ -\x01\0\x10\x03\0\0\xce\x27\0\0\x8d\x33\0\0\x17\xec\x01\0\x18\x03\0\0\xce\x27\0\ -\0\xa9\x33\0\0\x24\xf4\x01\0\x48\x03\0\0\xce\x27\0\0\xec\x33\0\0\x26\0\x02\0\ -\x78\x03\0\0\xce\x27\0\0\x20\x2b\0\0\x08\x04\x02\0\x80\x03\0\0\xce\x27\0\0\0\0\ -\0\0\0\0\0\0\xa8\x03\0\0\xce\x27\0\0\x59\x34\0\0\x09\xa0\x06\0\xe8\x03\0\0\xce\ -\x27\0\0\xf9\x30\0\0\x11\xa4\x06\0\xf0\x03\0\0\xce\x27\0\0\x10\x31\0\0\x1e\xa8\ -\x06\0\x08\x04\0\0\xce\x27\0\0\x10\x31\0\0\x09\xa8\x06\0\x38\x04\0\0\xce\x27\0\ -\0\x59\x34\0\0\x09\xa0\x06\0\x40\x04\0\0\xce\x27\0\0\x8b\x34\0\0\x09\xac\x06\0\ -\x70\x04\0\0\xce\x27\0\0\x59\x34\0\0\x09\xa0\x06\0\x80\x04\0\0\xce\x27\0\0\xe3\ -\x34\0\0\x09\xb0\x06\0\xb0\x04\0\0\xce\x27\0\0\xd0\x31\0\0\x09\xb4\x06\0\xe8\ -\x04\0\0\xce\x27\0\0\x59\x34\0\0\x09\xa0\x06\0\xf0\x04\0\0\xce\x27\0\0\x0f\x32\ -\0\0\x09\xb8\x06\0\x08\x05\0\0\xce\x27\0\0\x4c\x32\0\0\x15\xbc\x06\0\x18\x05\0\ -\0\xce\x27\0\0\x4c\x32\0\0\x13\xbc\x06\0\x20\x05\0\0\xce\x27\0\0\x37\x35\0\0\ -\x26\xc4\x06\0\x48\x05\0\0\xce\x27\0\0\xc0\x32\0\0\x0c\xc8\x06\0\x50\x05\0\0\ -\xce\x27\0\0\xd1\x32\0\0\x2b\xcc\x06\0\x98\x05\0\0\xce\x27\0\0\x85\x35\0\0\x0d\ -\xe0\x06\0\xb8\x05\0\0\xce\x27\0\0\x9e\x28\0\0\x0f\xe0\x01\0\xc8\x05\0\0\xce\ -\x27\0\0\x40\x33\0\0\x16\xe4\x01\0\xd0\x05\0\0\xce\x27\0\0\x40\x33\0\0\x0d\xe4\ -\x01\0\xe8\x05\0\0\xce\x27\0\0\x40\x33\0\0\x08\xe4\x01\0\xf0\x05\0\0\xce\x27\0\ -\0\x71\x33\0\0\x17\xf0\x01\0\xf8\x05\0\0\xce\x27\0\0\x8d\x33\0\0\x17\xec\x01\0\ -\0\x06\0\0\xce\x27\0\0\xa9\x33\0\0\x24\xf4\x01\0\x30\x06\0\0\xce\x27\0\0\xec\ -\x33\0\0\x26\0\x02\0\x60\x06\0\0\xce\x27\0\0\x20\x2b\0\0\x08\x04\x02\0\x78\x06\ -\0\0\xce\x27\0\0\xb4\x3a\0\0\x16\x80\x06\0\x98\x06\0\0\xce\x27\0\0\0\0\0\0\0\0\ -\0\0\xa0\x06\0\0\xce\x27\0\0\xe6\x35\0\0\x0d\x84\x06\0\xc8\x06\0\0\xce\x27\0\0\ -\x9e\x28\0\0\x0f\xe0\x01\0\xd8\x06\0\0\xce\x27\0\0\x40\x33\0\0\x16\xe4\x01\0\ -\xe0\x06\0\0\xce\x27\0\0\x40\x33\0\0\x0d\xe4\x01\0\xf8\x06\0\0\xce\x27\0\0\x40\ -\x33\0\0\x08\xe4\x01\0\0\x07\0\0\xce\x27\0\0\x71\x33\0\0\x17\xf0\x01\0\x08\x07\ -\0\0\xce\x27\0\0\x8d\x33\0\0\x17\xec\x01\0\x10\x07\0\0\xce\x27\0\0\xa9\x33\0\0\ -\x24\xf4\x01\0\x30\x07\0\0\xce\x27\0\0\xec\x33\0\0\x26\0\x02\0\x60\x07\0\0\xce\ -\x27\0\0\x20\x2b\0\0\x08\x04\x02\0\x78\x07\0\0\xce\x27\0\0\xb4\x3a\0\0\x16\xf4\ -\x06\0\x98\x07\0\0\xce\x27\0\0\0\0\0\0\0\0\0\0\xa0\x07\0\0\xce\x27\0\0\x26\x36\ -\0\0\x0d\xf8\x06\0\xc8\x07\0\0\xce\x27\0\0\x9e\x28\0\0\x0f\xe0\x01\0\xd0\x07\0\ -\0\xce\x27\0\0\x40\x33\0\0\x16\xe4\x01\0\xd8\x07\0\0\xce\x27\0\0\x40\x33\0\0\ -\x0d\xe4\x01\0\xf0\x07\0\0\xce\x27\0\0\x40\x33\0\0\x08\xe4\x01\0\xf8\x07\0\0\ -\xce\x27\0\0\x71\x33\0\0\x17\xf0\x01\0\0\x08\0\0\xce\x27\0\0\x8d\x33\0\0\x17\ -\xec\x01\0\x08\x08\0\0\xce\x27\0\0\xa9\x33\0\0\x24\xf4\x01\0\x28\x08\0\0\xce\ -\x27\0\0\xec\x33\0\0\x26\0\x02\0\x58\x08\0\0\xce\x27\0\0\x20\x2b\0\0\x08\x04\ -\x02\0\x68\x08\0\0\xce\x27\0\0\x66\x36\0\0\x10\x1c\x02\0\x78\x08\0\0\xce\x27\0\ -\0\x7d\x36\0\0\x10\x18\x02\0\x88\x08\0\0\xce\x27\0\0\x94\x36\0\0\x05\x14\x02\0\ -\xd8\x08\0\0\xce\x27\0\0\xc9\x36\0\0\x09\x24\x02\0\xf8\x08\0\0\xce\x27\0\0\x0e\ -\x37\0\0\x12\x28\x02\0\0\x09\0\0\xce\x27\0\0\x2a\x37\0\0\x1a\x2c\x02\0\x08\x09\ -\0\0\xce\x27\0\0\x2a\x37\0\0\x13\x2c\x02\0\x10\x09\0\0\xce\x27\0\0\x48\x37\0\0\ -\x1c\x30\x02\0\x18\x09\0\0\xce\x27\0\0\x48\x37\0\0\x15\x30\x02\0\x20\x09\0\0\ -\xce\x27\0\0\x6a\x37\0\0\x1c\x34\x02\0\x28\x09\0\0\xce\x27\0\0\x6a\x37\0\0\x15\ -\x34\x02\0\x30\x09\0\0\xce\x27\0\0\x8c\x37\0\0\x28\x38\x02\0\x38\x09\0\0\xce\ -\x27\0\0\x8c\x37\0\0\x21\x38\x02\0\x40\x09\0\0\xce\x27\0\0\xba\x37\0\0\x28\x3c\ -\x02\0\x48\x09\0\0\xce\x27\0\0\xba\x37\0\0\x21\x3c\x02\0\x50\x09\0\0\xce\x27\0\ -\0\xe8\x37\0\0\x09\x40\x02\0\x68\x09\0\0\xce\x27\0\0\x0c\x38\0\0\x1c\x48\x02\0\ -\x78\x09\0\0\xce\x27\0\0\x66\x36\0\0\x10\x1c\x02\0\x80\x09\0\0\xce\x27\0\0\x2e\ -\x38\0\0\x09\x4c\x02\0\xa0\x09\0\0\xce\x27\0\0\x66\x36\0\0\x10\x1c\x02\0\xa8\ -\x09\0\0\xce\x27\0\0\x7d\x36\0\0\x10\x18\x02\0\xb8\x09\0\0\xce\x27\0\0\x94\x36\ -\0\0\x05\x14\x02\0\x08\x0a\0\0\xce\x27\0\0\x6c\x38\0\0\x09\x58\x02\0\x28\x0a\0\ -\0\xce\x27\0\0\xb1\x38\0\0\x12\x5c\x02\0\x30\x0a\0\0\xce\x27\0\0\xce\x38\0\0\ -\x1a\x60\x02\0\x38\x0a\0\0\xce\x27\0\0\xce\x38\0\0\x13\x60\x02\0\x40\x0a\0\0\ -\xce\x27\0\0\xec\x38\0\0\x1c\x64\x02\0\x48\x0a\0\0\xce\x27\0\0\xec\x38\0\0\x15\ -\x64\x02\0\x50\x0a\0\0\xce\x27\0\0\x0e\x39\0\0\x1c\x68\x02\0\x58\x0a\0\0\xce\ -\x27\0\0\x0e\x39\0\0\x15\x68\x02\0\x60\x0a\0\0\xce\x27\0\0\x94\x36\0\0\x05\x14\ -\x02\0\x70\x0a\0\0\xce\x27\0\0\x30\x39\0\0\x09\x6c\x02\0\x90\x0a\0\0\xce\x27\0\ -\0\x66\x36\0\0\x10\x1c\x02\0\x98\x0a\0\0\xce\x27\0\0\x90\x39\0\0\x09\x70\x02\0\ -\xb8\x0a\0\0\xce\x27\0\0\xe8\x37\0\0\x09\x78\x02\0\xd0\x0a\0\0\xce\x27\0\0\x0c\ -\x38\0\0\x1c\x80\x02\0\xe0\x0a\0\0\xce\x27\0\0\xf0\x39\0\0\x09\x84\x02\0\x08\ -\x0b\0\0\xce\x27\0\0\x66\x36\0\0\x10\x1c\x02\0\x18\x0b\0\0\xce\x27\0\0\x7d\x36\ -\0\0\x10\x18\x02\0\x20\x0b\0\0\xce\x27\0\0\x94\x36\0\0\x05\x14\x02\0\x70\x0b\0\ -\0\xce\x27\0\0\xc9\x36\0\0\x09\x24\x02\0\x90\x0b\0\0\xce\x27\0\0\x0e\x37\0\0\ -\x12\x28\x02\0\x98\x0b\0\0\xce\x27\0\0\x2a\x37\0\0\x1a\x2c\x02\0\xa0\x0b\0\0\ -\xce\x27\0\0\x2a\x37\0\0\x13\x2c\x02\0\xa8\x0b\0\0\xce\x27\0\0\x48\x37\0\0\x1c\ -\x30\x02\0\xb0\x0b\0\0\xce\x27\0\0\x48\x37\0\0\x15\x30\x02\0\xb8\x0b\0\0\xce\ -\x27\0\0\x6a\x37\0\0\x1c\x34\x02\0\xc0\x0b\0\0\xce\x27\0\0\x6a\x37\0\0\x15\x34\ -\x02\0\xc8\x0b\0\0\xce\x27\0\0\x8c\x37\0\0\x28\x38\x02\0\xd0\x0b\0\0\xce\x27\0\ -\0\x8c\x37\0\0\x21\x38\x02\0\xd8\x0b\0\0\xce\x27\0\0\xba\x37\0\0\x28\x3c\x02\0\ -\xe0\x0b\0\0\xce\x27\0\0\xba\x37\0\0\x21\x3c\x02\0\xe8\x0b\0\0\xce\x27\0\0\xe8\ -\x37\0\0\x09\x40\x02\0\0\x0c\0\0\xce\x27\0\0\x0c\x38\0\0\x1c\x48\x02\0\x10\x0c\ -\0\0\xce\x27\0\0\x66\x36\0\0\x10\x1c\x02\0\x28\x0c\0\0\xce\x27\0\0\x2e\x38\0\0\ -\x09\x4c\x02\0\x40\x0c\0\0\xce\x27\0\0\x66\x36\0\0\x10\x1c\x02\0\x50\x0c\0\0\ -\xce\x27\0\0\x7d\x36\0\0\x10\x18\x02\0\x58\x0c\0\0\xce\x27\0\0\x94\x36\0\0\x05\ -\x14\x02\0\xa8\x0c\0\0\xce\x27\0\0\x6c\x38\0\0\x09\x58\x02\0\xc8\x0c\0\0\xce\ -\x27\0\0\xb1\x38\0\0\x12\x5c\x02\0\xd0\x0c\0\0\xce\x27\0\0\xce\x38\0\0\x1a\x60\ -\x02\0\xd8\x0c\0\0\xce\x27\0\0\xce\x38\0\0\x13\x60\x02\0\xe0\x0c\0\0\xce\x27\0\ -\0\xec\x38\0\0\x1c\x64\x02\0\xe8\x0c\0\0\xce\x27\0\0\xec\x38\0\0\x15\x64\x02\0\ -\xf0\x0c\0\0\xce\x27\0\0\x0e\x39\0\0\x1c\x68\x02\0\xf8\x0c\0\0\xce\x27\0\0\x0e\ -\x39\0\0\x15\x68\x02\0\0\x0d\0\0\xce\x27\0\0\x94\x36\0\0\x05\x14\x02\0\x10\x0d\ -\0\0\xce\x27\0\0\x30\x39\0\0\x09\x6c\x02\0\x30\x0d\0\0\xce\x27\0\0\x66\x36\0\0\ -\x10\x1c\x02\0\x38\x0d\0\0\xce\x27\0\0\x90\x39\0\0\x09\x70\x02\0\x58\x0d\0\0\ -\xce\x27\0\0\xe8\x37\0\0\x09\x78\x02\0\x70\x0d\0\0\xce\x27\0\0\x0c\x38\0\0\x1c\ -\x80\x02\0\x80\x0d\0\0\xce\x27\0\0\x66\x36\0\0\x10\x1c\x02\0\x88\x0d\0\0\xce\ -\x27\0\0\xf0\x39\0\0\x09\x84\x02\0\xa0\x0d\0\0\xce\x27\0\0\0\0\0\0\0\0\0\0\xb0\ -\x0d\0\0\xce\x27\0\0\x5e\x3a\0\0\x05\xf8\x05\0\x0e\x47\0\0\x0a\0\0\0\0\0\0\0\ -\xce\x27\0\0\xd4\x3a\0\0\x05\x1c\x07\0\x10\0\0\0\xce\x27\0\0\x04\x3b\0\0\x14\ -\xc8\0\0\x20\0\0\0\xce\x27\0\0\x9e\x28\0\0\x0f\xd4\0\0\x28\0\0\0\xce\x27\0\0\ -\x33\x3b\0\0\x19\xd0\0\0\x38\0\0\0\xce\x27\0\0\x53\x3b\0\0\x08\xe8\0\0\x40\0\0\ -\0\xce\x27\0\0\x65\x3b\0\0\x24\xf4\0\0\x80\0\0\0\xce\x27\0\0\x8a\x3b\0\0\x05\ -\x08\x01\0\x98\0\0\0\xce\x27\0\0\0\0\0\0\0\0\0\0\xb0\0\0\0\xce\x27\0\0\xc2\x3b\ -\0\0\x05\x10\x01\0\xd0\0\0\0\xce\x27\0\0\xd4\x3a\0\0\x05\x1c\x07\0\x24\x47\0\0\ -\x0a\0\0\0\0\0\0\0\xce\x27\0\0\x01\x3c\0\0\x05\x34\x07\0\x10\0\0\0\xce\x27\0\0\ -\x04\x3b\0\0\x14\xc8\0\0\x20\0\0\0\xce\x27\0\0\x9e\x28\0\0\x0f\xd4\0\0\x28\0\0\ -\0\xce\x27\0\0\x33\x3b\0\0\x19\xd0\0\0\x38\0\0\0\xce\x27\0\0\x53\x3b\0\0\x08\ -\xe8\0\0\x40\0\0\0\xce\x27\0\0\x65\x3b\0\0\x24\xf4\0\0\x80\0\0\0\xce\x27\0\0\ -\x8a\x3b\0\0\x05\x08\x01\0\x98\0\0\0\xce\x27\0\0\0\0\0\0\0\0\0\0\xb0\0\0\0\xce\ -\x27\0\0\xc2\x3b\0\0\x05\x10\x01\0\xd0\0\0\0\xce\x27\0\0\x01\x3c\0\0\x05\x34\ -\x07\0\x3a\x47\0\0\x03\0\0\0\0\0\0\0\xce\x27\0\0\x31\x3c\0\0\x05\x4c\x07\0\x08\ -\0\0\0\xce\x27\0\0\x68\x3c\0\0\x0c\x54\x07\0\x10\0\0\0\xce\x27\0\0\x31\x3c\0\0\ -\x05\x4c\x07\0\x57\x47\0\0\x0a\0\0\0\0\0\0\0\xce\x27\0\0\x95\x3c\0\0\x05\x64\ -\x07\0\x10\0\0\0\xce\x27\0\0\x04\x3b\0\0\x14\xc8\0\0\x20\0\0\0\xce\x27\0\0\x9e\ -\x28\0\0\x0f\xd4\0\0\x28\0\0\0\xce\x27\0\0\x33\x3b\0\0\x19\xd0\0\0\x38\0\0\0\ -\xce\x27\0\0\x53\x3b\0\0\x08\xe8\0\0\x40\0\0\0\xce\x27\0\0\x65\x3b\0\0\x24\xf4\ -\0\0\x80\0\0\0\xce\x27\0\0\x8a\x3b\0\0\x05\x08\x01\0\x98\0\0\0\xce\x27\0\0\0\0\ -\0\0\0\0\0\0\xb0\0\0\0\xce\x27\0\0\xc2\x3b\0\0\x05\x10\x01\0\xd0\0\0\0\xce\x27\ -\0\0\x95\x3c\0\0\x05\x64\x07\0\x6d\x47\0\0\x0a\0\0\0\0\0\0\0\xce\x27\0\0\xca\ -\x3c\0\0\x05\x7c\x07\0\x10\0\0\0\xce\x27\0\0\x04\x3b\0\0\x14\xc8\0\0\x20\0\0\0\ -\xce\x27\0\0\x9e\x28\0\0\x0f\xd4\0\0\x28\0\0\0\xce\x27\0\0\x33\x3b\0\0\x19\xd0\ -\0\0\x38\0\0\0\xce\x27\0\0\x53\x3b\0\0\x08\xe8\0\0\x40\0\0\0\xce\x27\0\0\x65\ -\x3b\0\0\x24\xf4\0\0\x80\0\0\0\xce\x27\0\0\x8a\x3b\0\0\x05\x08\x01\0\x98\0\0\0\ -\xce\x27\0\0\0\0\0\0\0\0\0\0\xb0\0\0\0\xce\x27\0\0\xc2\x3b\0\0\x05\x10\x01\0\ -\xd0\0\0\0\xce\x27\0\0\xca\x3c\0\0\x05\x7c\x07\0\x83\x47\0\0\x03\0\0\0\0\0\0\0\ -\xce\x27\0\0\xff\x3c\0\0\x05\x94\x07\0\x08\0\0\0\xce\x27\0\0\x68\x3c\0\0\x0c\ -\x9c\x07\0\x10\0\0\0\xce\x27\0\0\xff\x3c\0\0\x05\x94\x07\0\xa0\x47\0\0\x13\0\0\ -\0\0\0\0\0\xce\x27\0\0\x3b\x3d\0\0\x05\xac\x07\0\x08\0\0\0\xce\x27\0\0\x60\x3d\ -\0\0\x25\xc4\x07\0\x38\0\0\0\xce\x27\0\0\xac\x3d\0\0\x08\xc8\x07\0\x48\0\0\0\ -\xce\x27\0\0\xbb\x3d\0\0\x09\xd8\x07\0\x78\0\0\0\xce\x27\0\0\xf4\x3d\0\0\x09\ -\xdc\x07\0\xa8\0\0\0\xce\x27\0\0\x32\x3e\0\0\x10\xe4\x07\0\xf8\0\0\0\xce\x27\0\ -\0\0\0\0\0\0\0\0\0\0\x01\0\0\xce\x27\0\0\x69\x3e\0\0\x0c\xf8\x07\0\x20\x01\0\0\ -\xce\x27\0\0\x69\x3e\0\0\x0c\xf8\x07\0\x30\x01\0\0\xce\x27\0\0\xba\x3e\0\0\x08\ -\x0c\x08\0\x48\x01\0\0\xce\x27\0\0\xcc\x3e\0\0\x0d\x14\x08\0\x60\x01\0\0\xce\ -\x27\0\0\xe2\x3e\0\0\x0d\x1c\x08\0\x78\x01\0\0\xce\x27\0\0\xf9\x3e\0\0\x0d\x24\ -\x08\0\x90\x01\0\0\xce\x27\0\0\x10\x3f\0\0\x0d\x2c\x08\0\xa8\x01\0\0\xce\x27\0\ -\0\x27\x3f\0\0\x0d\x34\x08\0\xd0\x01\0\0\xce\x27\0\0\x3f\x3f\0\0\x05\x50\x08\0\ -\xe8\x01\0\0\xce\x27\0\0\x3f\x3f\0\0\x17\x50\x08\0\0\x02\0\0\xce\x27\0\0\x5b\ -\x3f\0\0\x05\x54\x08\0\x38\x02\0\0\xce\x27\0\0\x3b\x3d\0\0\x05\xac\x07\0\xbb\ -\x47\0\0\x19\0\0\0\0\0\0\0\xce\x27\0\0\x94\x3f\0\0\x24\x70\x08\0\x30\0\0\0\xce\ -\x27\0\0\xdf\x3f\0\0\x08\x74\x08\0\x38\0\0\0\xce\x27\0\0\xed\x3f\0\0\x09\x78\ -\x08\0\x68\0\0\0\xce\x27\0\0\x21\x40\0\0\x25\x88\x08\0\x90\0\0\0\xce\x27\0\0\ -\x20\x2b\0\0\x08\x8c\x08\0\x98\0\0\0\xce\x27\0\0\x8c\x40\0\0\x09\x90\x08\0\xc0\ -\0\0\0\xce\x27\0\0\xbf\x40\0\0\x05\x9c\x08\0\0\x01\0\0\xce\x27\0\0\xf3\x40\0\0\ -\x19\xa8\x08\0\x08\x01\0\0\xce\x27\0\0\xf3\x40\0\0\x17\xa8\x08\0\x10\x01\0\0\ -\xce\x27\0\0\xf3\x40\0\0\x19\xa8\x08\0\x18\x01\0\0\xce\x27\0\0\xf3\x40\0\0\x17\ -\xa8\x08\0\x20\x01\0\0\xce\x27\0\0\xf3\x40\0\0\x19\xa8\x08\0\x28\x01\0\0\xce\ -\x27\0\0\xf3\x40\0\0\x17\xa8\x08\0\x30\x01\0\0\xce\x27\0\0\xf3\x40\0\0\x19\xa8\ -\x08\0\x38\x01\0\0\xce\x27\0\0\xf3\x40\0\0\x17\xa8\x08\0\x40\x01\0\0\xce\x27\0\ -\0\xf3\x40\0\0\x19\xa8\x08\0\x48\x01\0\0\xce\x27\0\0\xf3\x40\0\0\x17\xa8\x08\0\ -\x50\x01\0\0\xce\x27\0\0\xf3\x40\0\0\x19\xa8\x08\0\x58\x01\0\0\xce\x27\0\0\xf3\ -\x40\0\0\x17\xa8\x08\0\x60\x01\0\0\xce\x27\0\0\xf3\x40\0\0\x19\xa8\x08\0\x68\ -\x01\0\0\xce\x27\0\0\xf3\x40\0\0\x17\xa8\x08\0\x70\x01\0\0\xce\x27\0\0\xf3\x40\ -\0\0\x19\xa8\x08\0\x78\x01\0\0\xce\x27\0\0\xf3\x40\0\0\x17\xa8\x08\0\x80\x01\0\ -\0\xce\x27\0\0\x19\x41\0\0\x05\xb0\x08\0\x98\x01\0\0\xce\x27\0\0\x3a\x41\0\0\ -\x01\xbc\x08\0\x10\0\0\0\xa5\x46\0\0\x08\0\0\0\x10\0\0\0\x79\0\0\0\x3d\x46\0\0\ -\0\0\0\0\xc0\x01\0\0\x79\0\0\0\x29\x46\0\0\0\0\0\0\x08\x02\0\0\x79\0\0\0\x33\ -\x46\0\0\0\0\0\0\x50\x02\0\0\x79\0\0\0\x23\x46\0\0\0\0\0\0\xa0\x02\0\0\x79\0\0\ -\0\x4d\x46\0\0\0\0\0\0\xe8\x02\0\0\x79\0\0\0\x43\x46\0\0\0\0\0\0\x38\x03\0\0\ -\x79\0\0\0\x6f\x46\0\0\0\0\0\0\x68\x03\0\0\x79\0\0\0\x7a\x46\0\0\0\0\0\0\xab\ -\x46\0\0\x0a\0\0\0\x68\0\0\0\x3a\0\0\0\x1b\x46\0\0\0\0\0\0\xa8\0\0\0\x6e\0\0\0\ -\x1f\x46\0\0\0\0\0\0\xb0\0\0\0\x79\0\0\0\x23\x46\0\0\0\0\0\0\xe8\0\0\0\x79\0\0\ -\0\x29\x46\0\0\0\0\0\0\x20\x01\0\0\x79\0\0\0\x33\x46\0\0\0\0\0\0\x58\x01\0\0\ -\x79\0\0\0\x3d\x46\0\0\0\0\0\0\x30\x03\0\0\x79\0\0\0\x43\x46\0\0\0\0\0\0\x68\ -\x03\0\0\x79\0\0\0\x4d\x46\0\0\0\0\0\0\xd8\x03\0\0\x79\0\0\0\x57\x46\0\0\0\0\0\ -\0\x08\x04\0\0\x79\0\0\0\x5e\x46\0\0\0\0\0\0\xcd\x46\0\0\x01\0\0\0\0\0\0\0\x01\ -\x01\0\0\x65\x46\0\0\0\0\0\0\xe0\x46\0\0\x0a\0\0\0\0\0\0\0\x01\x01\0\0\x6a\x46\ -\0\0\0\0\0\0\xc0\0\0\0\x79\0\0\0\x23\x46\0\0\0\0\0\0\x80\x01\0\0\x79\0\0\0\x4d\ -\x46\0\0\0\0\0\0\xb8\x01\0\0\x79\0\0\0\x43\x46\0\0\0\0\0\0\xf0\x01\0\0\x79\0\0\ -\0\x29\x46\0\0\0\0\0\0\x28\x02\0\0\x79\0\0\0\x33\x46\0\0\0\0\0\0\x60\x04\0\0\ -\x79\0\0\0\x6f\x46\0\0\0\0\0\0\xa0\x04\0\0\x79\0\0\0\x7a\x46\0\0\0\0\0\0\xe0\ -\x04\0\0\x79\0\0\0\x29\x46\0\0\0\0\0\0\x18\x05\0\0\x79\0\0\0\x33\x46\0\0\0\0\0\ -\0\xf6\x46\0\0\x0b\0\0\0\0\0\0\0\x01\x01\0\0\x85\x46\0\0\0\0\0\0\x38\0\0\0\x01\ -\x01\0\0\x65\x46\0\0\0\0\0\0\x78\0\0\0\x79\0\0\0\x23\x46\0\0\0\0\0\0\x38\x01\0\ -\0\x79\0\0\0\x4d\x46\0\0\0\0\0\0\x70\x01\0\0\x79\0\0\0\x43\x46\0\0\0\0\0\0\xa8\ -\x01\0\0\x79\0\0\0\x29\x46\0\0\0\0\0\0\xe0\x01\0\0\x79\0\0\0\x33\x46\0\0\0\0\0\ -\0\x18\x04\0\0\x79\0\0\0\x6f\x46\0\0\0\0\0\0\x58\x04\0\0\x79\0\0\0\x7a\x46\0\0\ -\0\0\0\0\x98\x04\0\0\x79\0\0\0\x29\x46\0\0\0\0\0\0\xd0\x04\0\0\x79\0\0\0\x33\ -\x46\0\0\0\0\0\0\x0e\x47\0\0\x01\0\0\0\0\0\0\0\x01\x01\0\0\x65\x46\0\0\0\0\0\0\ -\x24\x47\0\0\x01\0\0\0\0\0\0\0\x01\x01\0\0\x65\x46\0\0\0\0\0\0\x3a\x47\0\0\x01\ -\0\0\0\0\0\0\0\x01\x01\0\0\x65\x46\0\0\0\0\0\0\xa0\x47\0\0\x01\0\0\0\xe0\0\0\0\ -\x0f\x01\0\0\x8a\x46\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\x01\0\0\0\x03\0\0\0\x20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x40\0\0\0\0\ -\0\0\0\x69\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\x09\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb0\x06\0\0\0\0\0\0\xd0\ -\x08\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\x18\0\0\0\0\0\0\0\x11\0\0\ -\0\x01\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x80\x0f\0\0\0\0\0\0\xc0\x03\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x17\0\0\0\x01\0\0\0\ -\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x40\x13\0\0\0\0\0\0\x88\x04\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x39\0\0\0\x01\0\0\0\x06\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\xc8\x17\0\0\0\0\0\0\x70\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x4c\0\0\0\x01\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\x38\x18\0\0\0\0\0\0\x30\x0e\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\x62\0\0\0\x01\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\x68\x26\0\0\0\0\0\0\xc0\x0d\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\x7a\0\0\0\x01\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x28\x34\0\0\ -\0\0\0\0\xe0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\x90\0\0\0\x01\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\x35\0\0\0\0\0\0\xe0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xa6\0\0\0\x01\ -\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xe8\x35\0\0\0\0\0\0\x20\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xc3\0\0\0\x01\0\0\0\x06\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\x36\0\0\0\0\0\0\xe0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xd9\0\0\0\x01\0\0\0\x06\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\xe8\x36\0\0\0\0\0\0\xe0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\xef\0\0\0\x01\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\xc8\x37\0\0\0\0\0\0\x20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\x0c\x01\0\0\x01\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xe8\x37\0\0\ -\0\0\0\0\x48\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\x27\x01\0\0\x01\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x30\x3a\0\0\0\0\0\0\ -\xa8\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x32\x01\ -\0\0\x01\0\0\0\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xd8\x3b\0\0\0\0\0\0\x0d\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x3a\x01\0\0\x01\0\0\ -\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xe8\x3b\0\0\0\0\0\0\x96\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x42\x01\0\0\x01\0\0\0\x03\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\x80\x3c\0\0\0\0\0\0\xe0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x05\0\0\x09\0\0\0\x40\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\x60\x3d\0\0\0\0\0\0\x30\0\0\0\0\0\0\0\x02\0\0\0\x03\0\0\0\x08\0\0\ -\0\0\0\0\0\x10\0\0\0\0\0\0\0\x10\x05\0\0\x09\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\x90\x3d\0\0\0\0\0\0\x20\0\0\0\0\0\0\0\x02\0\0\0\x04\0\0\0\x08\0\0\0\0\0\ -\0\0\x10\0\0\0\0\0\0\0\x36\x05\0\0\x09\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\xb0\x3d\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\x02\0\0\0\x05\0\0\0\x08\0\0\0\0\0\0\0\ -\x10\0\0\0\0\0\0\0\x4d\x05\0\0\x09\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xc0\ -\x3d\0\0\0\0\0\0\x10\x01\0\0\0\0\0\0\x02\0\0\0\x06\0\0\0\x08\0\0\0\0\0\0\0\x10\ -\0\0\0\0\0\0\0\x67\x05\0\0\x09\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xd0\x3e\ -\0\0\0\0\0\0\xf0\0\0\0\0\0\0\0\x02\0\0\0\x07\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\ -\0\0\0\0\x83\x05\0\0\x09\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xc0\x3f\0\0\0\ -\0\0\0\x10\0\0\0\0\0\0\0\x02\0\0\0\x08\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\ -\0\x9d\x05\0\0\x09\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xd0\x3f\0\0\0\0\0\0\ -\x10\0\0\0\0\0\0\0\x02\0\0\0\x09\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\xb7\ -\x05\0\0\x09\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xe0\x3f\0\0\0\0\0\0\x10\0\ -\0\0\0\0\0\0\x02\0\0\0\x0a\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\xd8\x05\0\ -\0\x09\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xf0\x3f\0\0\0\0\0\0\x10\0\0\0\0\ -\0\0\0\x02\0\0\0\x0b\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\xf2\x05\0\0\x09\ -\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x40\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\ -\x02\0\0\0\x0c\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\x0c\x06\0\0\x09\0\0\0\ -\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x10\x40\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\x02\0\ -\0\0\x0d\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\x2d\x06\0\0\x09\0\0\0\x40\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x20\x40\0\0\0\0\0\0\x80\0\0\0\0\0\0\0\x02\0\0\0\ -\x0e\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\x4c\x06\0\0\x09\0\0\0\x40\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\xa0\x40\0\0\0\0\0\0\x50\0\0\0\0\0\0\0\x02\0\0\0\x0f\0\ -\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\x5b\x06\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\xf0\x40\0\0\0\0\0\0\x8a\x87\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x60\x06\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\x80\xc8\0\0\0\0\0\0\x7c\x26\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0"; - - *sz = sizeof(data) - 1; - return (const void *)data; -} - -#ifdef __cplusplus -struct net_stats_bpf *net_stats_bpf::open(const struct bpf_object_open_opts *opts) { return net_stats_bpf__open_opts(opts); } -struct net_stats_bpf *net_stats_bpf::open_and_load() { return net_stats_bpf__open_and_load(); } -int net_stats_bpf::load(struct net_stats_bpf *skel) { return net_stats_bpf__load(skel); } -int net_stats_bpf::attach(struct net_stats_bpf *skel) { return net_stats_bpf__attach(skel); } -void net_stats_bpf::detach(struct net_stats_bpf *skel) { net_stats_bpf__detach(skel); } -void net_stats_bpf::destroy(struct net_stats_bpf *skel) { net_stats_bpf__destroy(skel); } -const void *net_stats_bpf::elf_bytes(size_t *sz) { return net_stats_bpf__elf_bytes(sz); } -#endif /* __cplusplus */ - -__attribute__((unused)) static void -net_stats_bpf__assert(struct net_stats_bpf *s __attribute__((unused))) -{ -#ifdef __cplusplus -#define _Static_assert static_assert -#endif - _Static_assert(sizeof(s->rodata->zero) == 4, "unexpected size of 'zero'"); -#ifdef __cplusplus -#undef _Static_assert -#endif -} - -#endif /* __NET_STATS_BPF_SKEL_H__ */ diff --git a/.output/net_stats.tmp.bpf.o b/.output/net_stats.tmp.bpf.o deleted file mode 100644 index 91f0b86..0000000 Binary files a/.output/net_stats.tmp.bpf.o and /dev/null differ diff --git a/.output/os_spy.o b/.output/os_spy.o deleted file mode 100644 index fe81f68..0000000 Binary files a/.output/os_spy.o and /dev/null differ diff --git a/.output/pkgconfig/libbpf.pc b/.output/pkgconfig/libbpf.pc index 1164a97..c0977ec 100644 --- a/.output/pkgconfig/libbpf.pc +++ b/.output/pkgconfig/libbpf.pc @@ -6,7 +6,7 @@ includedir=${prefix}/include Name: libbpf Description: BPF library -Version: 1.5.0 +Version: 1.6.0 Libs: -L${libdir} -lbpf Requires.private: libelf zlib Cflags: -I${includedir} diff --git a/.output/scx_nest.bpf.o b/.output/scx_nest.bpf.o new file mode 100644 index 0000000..73ac85e Binary files /dev/null and b/.output/scx_nest.bpf.o differ diff --git a/.output/scx_nest.skel.h b/.output/scx_nest.skel.h new file mode 100644 index 0000000..1733a06 --- /dev/null +++ b/.output/scx_nest.skel.h @@ -0,0 +1,3634 @@ +/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ + +/* THIS FILE IS AUTOGENERATED BY BPFTOOL! */ +#ifndef __SCX_NEST_BPF_SKEL_H__ +#define __SCX_NEST_BPF_SKEL_H__ + +#include +#include +#include + +#define BPF_SKEL_SUPPORTS_MAP_AUTO_ATTACH 1 + +struct scx_nest_bpf { + struct bpf_object_skeleton *skeleton; + struct bpf_object *obj; + struct { + struct bpf_map *cpu_mask_buffer; + struct bpf_map *task_ctx_stor; + struct bpf_map *pcpu_ctxs; + struct bpf_map *stats_timer; + struct bpf_map *template_map; + struct bpf_map *fliter_map; + struct bpf_map *comm_ignore_map; + struct bpf_map *comm_attention_map; + struct bpf_map *id_ignore_map; + struct bpf_map *id_attention_map; + struct bpf_map *stats; + struct bpf_map *rodata; + struct bpf_map *bss; + struct bpf_map *data_uei_dump; + struct bpf_map *data; + struct bpf_map *data_NESTS; + struct bpf_map *nest_ops; + } maps; + struct { + struct scx_nest_bpf__nest_ops__sched_ext_ops { + struct bpf_program *select_cpu; + struct bpf_program *enqueue; + struct bpf_program *dequeue; + struct bpf_program *dispatch; + struct bpf_program *tick; + struct bpf_program *runnable; + struct bpf_program *running; + struct bpf_program *stopping; + struct bpf_program *quiescent; + struct bpf_program *yield; + struct bpf_program *core_sched_before; + struct bpf_program *set_weight; + struct bpf_program *set_cpumask; + struct bpf_program *update_idle; + struct bpf_program *cpu_acquire; + struct bpf_program *cpu_release; + struct bpf_program *init_task; + struct bpf_program *exit_task; + struct bpf_program *enable; + struct bpf_program *disable; + struct bpf_program *dump; + struct bpf_program *dump_cpu; + struct bpf_program *dump_task; + struct bpf_program *cgroup_init; + struct bpf_program *cgroup_exit; + struct bpf_program *cgroup_prep_move; + struct bpf_program *cgroup_move; + struct bpf_program *cgroup_cancel_move; + struct bpf_program *cgroup_set_weight; + struct bpf_program *cpu_online; + struct bpf_program *cpu_offline; + struct bpf_program *init; + struct bpf_program *exit; + unsigned int dispatch_max_batch; + char __padding_34[4]; + unsigned long long flags; + unsigned int timeout_ms; + unsigned int exit_dump_len; + unsigned long long hotplug_seq; + char __unsupported_38[128]; + } *nest_ops; + } struct_ops; + struct { + struct bpf_program *nest_select_cpu; + struct bpf_program *nest_enqueue; + struct bpf_program *nest_dispatch; + struct bpf_program *nest_running; + struct bpf_program *nest_stopping; + struct bpf_program *nest_init_task; + struct bpf_program *nest_enable; + struct bpf_program *nest_init; + struct bpf_program *nest_exit; + struct bpf_program *handle_cpu_mask_event; + } progs; + struct { + struct bpf_link *nest_select_cpu; + struct bpf_link *nest_enqueue; + struct bpf_link *nest_dispatch; + struct bpf_link *nest_running; + struct bpf_link *nest_stopping; + struct bpf_link *nest_init_task; + struct bpf_link *nest_enable; + struct bpf_link *nest_init; + struct bpf_link *nest_exit; + struct bpf_link *handle_cpu_mask_event; + struct bpf_link *nest_ops; + } links; + struct scx_nest_bpf__rodata { + u64 p_remove_ns; + u64 r_max; + u64 r_impatient; + u64 slice_ns; + bool find_fully_idle; + char __pad0[7]; + u64 sampling_cadence_ns; + u64 r_depth; + bool filter_by_tgid; + u32 nr_cpus; + char __pad1[36]; + u32 uei_dump_len; + } *rodata; + struct scx_nest_bpf__bss { + u64 stats_primary_mask; + u64 stats_reserved_mask; + u64 stats_other_mask; + u64 stats_idle_mask; + } *bss; + struct scx_nest_bpf__data_uei_dump { + char uei_dump[1]; + } *data_uei_dump; + struct scx_nest_bpf__data { + struct user_exit_info uei; + } *data; + +#ifdef __cplusplus + static inline struct scx_nest_bpf *open(const struct bpf_object_open_opts *opts = nullptr); + static inline struct scx_nest_bpf *open_and_load(); + static inline int load(struct scx_nest_bpf *skel); + static inline int attach(struct scx_nest_bpf *skel); + static inline void detach(struct scx_nest_bpf *skel); + static inline void destroy(struct scx_nest_bpf *skel); + static inline const void *elf_bytes(size_t *sz); +#endif /* __cplusplus */ +}; + +static void +scx_nest_bpf__destroy(struct scx_nest_bpf *obj) +{ + if (!obj) + return; + if (obj->skeleton) + bpf_object__destroy_skeleton(obj->skeleton); + free(obj); +} + +static inline int +scx_nest_bpf__create_skeleton(struct scx_nest_bpf *obj); + +static inline struct scx_nest_bpf * +scx_nest_bpf__open_opts(const struct bpf_object_open_opts *opts) +{ + struct scx_nest_bpf *obj; + int err; + + obj = (struct scx_nest_bpf *)calloc(1, sizeof(*obj)); + if (!obj) { + errno = ENOMEM; + return NULL; + } + + err = scx_nest_bpf__create_skeleton(obj); + if (err) + goto err_out; + + err = bpf_object__open_skeleton(obj->skeleton, opts); + if (err) + goto err_out; + + obj->struct_ops.nest_ops = (__typeof__(obj->struct_ops.nest_ops)) + bpf_map__initial_value(obj->maps.nest_ops, NULL); + + return obj; +err_out: + scx_nest_bpf__destroy(obj); + errno = -err; + return NULL; +} + +static inline struct scx_nest_bpf * +scx_nest_bpf__open(void) +{ + return scx_nest_bpf__open_opts(NULL); +} + +static inline int +scx_nest_bpf__load(struct scx_nest_bpf *obj) +{ + return bpf_object__load_skeleton(obj->skeleton); +} + +static inline struct scx_nest_bpf * +scx_nest_bpf__open_and_load(void) +{ + struct scx_nest_bpf *obj; + int err; + + obj = scx_nest_bpf__open(); + if (!obj) + return NULL; + err = scx_nest_bpf__load(obj); + if (err) { + scx_nest_bpf__destroy(obj); + errno = -err; + return NULL; + } + return obj; +} + +static inline int +scx_nest_bpf__attach(struct scx_nest_bpf *obj) +{ + return bpf_object__attach_skeleton(obj->skeleton); +} + +static inline void +scx_nest_bpf__detach(struct scx_nest_bpf *obj) +{ + bpf_object__detach_skeleton(obj->skeleton); +} + +static inline const void *scx_nest_bpf__elf_bytes(size_t *sz); + +static inline int +scx_nest_bpf__create_skeleton(struct scx_nest_bpf *obj) +{ + struct bpf_object_skeleton *s; + struct bpf_map_skeleton *map __attribute__((unused)); + int err; + + s = (struct bpf_object_skeleton *)calloc(1, sizeof(*s)); + if (!s) { + err = -ENOMEM; + goto err; + } + + s->sz = sizeof(*s); + s->name = "scx_nest_bpf"; + s->obj = &obj->obj; + + /* maps */ + s->map_cnt = 17; + s->map_skel_sz = 32; + s->maps = (struct bpf_map_skeleton *)calloc(s->map_cnt, + sizeof(*s->maps) > 32 ? sizeof(*s->maps) : 32); + if (!s->maps) { + err = -ENOMEM; + goto err; + } + + map = (struct bpf_map_skeleton *)((char *)s->maps + 0 * s->map_skel_sz); + map->name = "cpu_mask_buffer"; + map->map = &obj->maps.cpu_mask_buffer; + + map = (struct bpf_map_skeleton *)((char *)s->maps + 1 * s->map_skel_sz); + map->name = "task_ctx_stor"; + map->map = &obj->maps.task_ctx_stor; + + map = (struct bpf_map_skeleton *)((char *)s->maps + 2 * s->map_skel_sz); + map->name = "pcpu_ctxs"; + map->map = &obj->maps.pcpu_ctxs; + + map = (struct bpf_map_skeleton *)((char *)s->maps + 3 * s->map_skel_sz); + map->name = "stats_timer"; + map->map = &obj->maps.stats_timer; + + map = (struct bpf_map_skeleton *)((char *)s->maps + 4 * s->map_skel_sz); + map->name = "template_map"; + map->map = &obj->maps.template_map; + + map = (struct bpf_map_skeleton *)((char *)s->maps + 5 * s->map_skel_sz); + map->name = "fliter_map"; + map->map = &obj->maps.fliter_map; + + map = (struct bpf_map_skeleton *)((char *)s->maps + 6 * s->map_skel_sz); + map->name = "comm_ignore_map"; + map->map = &obj->maps.comm_ignore_map; + + map = (struct bpf_map_skeleton *)((char *)s->maps + 7 * s->map_skel_sz); + map->name = "comm_attention_map"; + map->map = &obj->maps.comm_attention_map; + + map = (struct bpf_map_skeleton *)((char *)s->maps + 8 * s->map_skel_sz); + map->name = "id_ignore_map"; + map->map = &obj->maps.id_ignore_map; + + map = (struct bpf_map_skeleton *)((char *)s->maps + 9 * s->map_skel_sz); + map->name = "id_attention_map"; + map->map = &obj->maps.id_attention_map; + + map = (struct bpf_map_skeleton *)((char *)s->maps + 10 * s->map_skel_sz); + map->name = "stats"; + map->map = &obj->maps.stats; + + map = (struct bpf_map_skeleton *)((char *)s->maps + 11 * s->map_skel_sz); + map->name = "scx_nest.rodata"; + map->map = &obj->maps.rodata; + map->mmaped = (void **)&obj->rodata; + + map = (struct bpf_map_skeleton *)((char *)s->maps + 12 * s->map_skel_sz); + map->name = "scx_nest.bss"; + map->map = &obj->maps.bss; + map->mmaped = (void **)&obj->bss; + + map = (struct bpf_map_skeleton *)((char *)s->maps + 13 * s->map_skel_sz); + map->name = ".data.uei_dump"; + map->map = &obj->maps.data_uei_dump; + map->mmaped = (void **)&obj->data_uei_dump; + + map = (struct bpf_map_skeleton *)((char *)s->maps + 14 * s->map_skel_sz); + map->name = "scx_nest.data"; + map->map = &obj->maps.data; + map->mmaped = (void **)&obj->data; + + map = (struct bpf_map_skeleton *)((char *)s->maps + 15 * s->map_skel_sz); + map->name = ".data.NESTS"; + map->map = &obj->maps.data_NESTS; + + map = (struct bpf_map_skeleton *)((char *)s->maps + 16 * s->map_skel_sz); + map->name = "nest_ops"; + map->map = &obj->maps.nest_ops; + map->link = &obj->links.nest_ops; + + /* programs */ + s->prog_cnt = 10; + s->prog_skel_sz = sizeof(*s->progs); + s->progs = (struct bpf_prog_skeleton *)calloc(s->prog_cnt, s->prog_skel_sz); + if (!s->progs) { + err = -ENOMEM; + goto err; + } + + s->progs[0].name = "nest_select_cpu"; + s->progs[0].prog = &obj->progs.nest_select_cpu; + s->progs[0].link = &obj->links.nest_select_cpu; + + s->progs[1].name = "nest_enqueue"; + s->progs[1].prog = &obj->progs.nest_enqueue; + s->progs[1].link = &obj->links.nest_enqueue; + + s->progs[2].name = "nest_dispatch"; + s->progs[2].prog = &obj->progs.nest_dispatch; + s->progs[2].link = &obj->links.nest_dispatch; + + s->progs[3].name = "nest_running"; + s->progs[3].prog = &obj->progs.nest_running; + s->progs[3].link = &obj->links.nest_running; + + s->progs[4].name = "nest_stopping"; + s->progs[4].prog = &obj->progs.nest_stopping; + s->progs[4].link = &obj->links.nest_stopping; + + s->progs[5].name = "nest_init_task"; + s->progs[5].prog = &obj->progs.nest_init_task; + s->progs[5].link = &obj->links.nest_init_task; + + s->progs[6].name = "nest_enable"; + s->progs[6].prog = &obj->progs.nest_enable; + s->progs[6].link = &obj->links.nest_enable; + + s->progs[7].name = "nest_init"; + s->progs[7].prog = &obj->progs.nest_init; + s->progs[7].link = &obj->links.nest_init; + + s->progs[8].name = "nest_exit"; + s->progs[8].prog = &obj->progs.nest_exit; + s->progs[8].link = &obj->links.nest_exit; + + s->progs[9].name = "handle_cpu_mask_event"; + s->progs[9].prog = &obj->progs.handle_cpu_mask_event; + s->progs[9].link = &obj->links.handle_cpu_mask_event; + + s->data = scx_nest_bpf__elf_bytes(&s->data_sz); + + obj->skeleton = s; + return 0; +err: + bpf_object__destroy_skeleton(s); + return err; +} + +static inline const void *scx_nest_bpf__elf_bytes(size_t *sz) +{ + static const char data[] __attribute__((__aligned__(8))) = "\ +\x7f\x45\x4c\x46\x02\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\xf7\0\x01\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\x80\x32\x01\0\0\0\0\0\0\0\0\0\x40\0\0\0\0\0\x40\0\x24\0\ +\x01\0\0\x2e\x73\x74\x72\x74\x61\x62\0\x2e\x73\x79\x6d\x74\x61\x62\0\x2e\x74\ +\x65\x78\x74\0\x73\x74\x72\x75\x63\x74\x5f\x6f\x70\x73\x2f\x6e\x65\x73\x74\x5f\ +\x73\x65\x6c\x65\x63\x74\x5f\x63\x70\x75\0\x73\x74\x72\x75\x63\x74\x5f\x6f\x70\ +\x73\x2f\x6e\x65\x73\x74\x5f\x65\x6e\x71\x75\x65\x75\x65\0\x73\x74\x72\x75\x63\ +\x74\x5f\x6f\x70\x73\x2f\x6e\x65\x73\x74\x5f\x64\x69\x73\x70\x61\x74\x63\x68\0\ +\x73\x74\x72\x75\x63\x74\x5f\x6f\x70\x73\x2f\x6e\x65\x73\x74\x5f\x72\x75\x6e\ +\x6e\x69\x6e\x67\0\x73\x74\x72\x75\x63\x74\x5f\x6f\x70\x73\x2f\x6e\x65\x73\x74\ +\x5f\x73\x74\x6f\x70\x70\x69\x6e\x67\0\x73\x74\x72\x75\x63\x74\x5f\x6f\x70\x73\ +\x2f\x6e\x65\x73\x74\x5f\x69\x6e\x69\x74\x5f\x74\x61\x73\x6b\0\x73\x74\x72\x75\ +\x63\x74\x5f\x6f\x70\x73\x2f\x6e\x65\x73\x74\x5f\x65\x6e\x61\x62\x6c\x65\0\x73\ +\x74\x72\x75\x63\x74\x5f\x6f\x70\x73\x2e\x73\x2f\x6e\x65\x73\x74\x5f\x69\x6e\ +\x69\x74\0\x73\x74\x72\x75\x63\x74\x5f\x6f\x70\x73\x2f\x6e\x65\x73\x74\x5f\x65\ +\x78\x69\x74\0\x70\x65\x72\x66\x5f\x65\x76\x65\x6e\x74\0\x6c\x69\x63\x65\x6e\ +\x73\x65\0\x2e\x72\x6f\x64\x61\x74\x61\0\x2e\x6d\x61\x70\x73\0\x2e\x62\x73\x73\ +\0\x2e\x73\x74\x72\x75\x63\x74\x5f\x6f\x70\x73\x2e\x6c\x69\x6e\x6b\0\x2e\x64\ +\x61\x74\x61\x2e\x75\x65\x69\x5f\x64\x75\x6d\x70\0\x2e\x64\x61\x74\x61\0\x2e\ +\x64\x61\x74\x61\x2e\x4e\x45\x53\x54\x53\0\x73\x63\x78\x5f\x6e\x65\x73\x74\x2e\ +\x62\x70\x66\x2e\x63\0\x5f\x5f\x5f\x5f\x6e\x65\x73\x74\x5f\x73\x65\x6c\x65\x63\ +\x74\x5f\x63\x70\x75\x2e\x5f\x5f\x5f\x66\x6d\x74\0\x63\x6f\x6d\x70\x61\x63\x74\ +\x5f\x70\x72\x69\x6d\x61\x72\x79\x5f\x63\x6f\x72\x65\0\x5f\x5f\x5f\x5f\x6e\x65\ +\x73\x74\x5f\x73\x65\x6c\x65\x63\x74\x5f\x63\x70\x75\x2e\x5f\x5f\x5f\x66\x6d\ +\x74\x2e\x31\0\x5f\x5f\x5f\x5f\x6e\x65\x73\x74\x5f\x73\x65\x6c\x65\x63\x74\x5f\ +\x63\x70\x75\x2e\x5f\x5f\x5f\x66\x6d\x74\x2e\x33\0\x6e\x72\x5f\x72\x65\x73\x65\ +\x72\x76\x65\x64\0\x6f\x70\x65\x72\x61\x74\x65\x5f\x62\x61\x64\x5f\x67\x75\x79\ +\x73\0\x5f\x5f\x5f\x5f\x6e\x65\x73\x74\x5f\x65\x6e\x71\x75\x65\x75\x65\x2e\x5f\ +\x5f\x5f\x66\x6d\x74\0\x76\x74\x69\x6d\x65\x5f\x6e\x6f\x77\0\x5f\x5f\x5f\x5f\ +\x6e\x65\x73\x74\x5f\x64\x69\x73\x70\x61\x74\x63\x68\x2e\x5f\x5f\x5f\x66\x6d\ +\x74\0\x5f\x5f\x5f\x5f\x6e\x65\x73\x74\x5f\x64\x69\x73\x70\x61\x74\x63\x68\x2e\ +\x5f\x5f\x5f\x66\x6d\x74\x2e\x31\x30\0\x5f\x5f\x5f\x5f\x6e\x65\x73\x74\x5f\x69\ +\x6e\x69\x74\x2e\x5f\x5f\x5f\x66\x6d\x74\0\x5f\x5f\x5f\x5f\x6e\x65\x73\x74\x5f\ +\x69\x6e\x69\x74\x2e\x5f\x5f\x5f\x66\x6d\x74\x2e\x31\x32\0\x5f\x5f\x5f\x5f\x6e\ +\x65\x73\x74\x5f\x69\x6e\x69\x74\x2e\x5f\x5f\x5f\x66\x6d\x74\x2e\x31\x34\0\x5f\ +\x5f\x5f\x5f\x6e\x65\x73\x74\x5f\x69\x6e\x69\x74\x2e\x5f\x5f\x5f\x66\x6d\x74\ +\x2e\x31\x36\0\x5f\x5f\x5f\x5f\x6e\x65\x73\x74\x5f\x69\x6e\x69\x74\x2e\x5f\x5f\ +\x5f\x66\x6d\x74\x2e\x31\x38\0\x73\x74\x61\x74\x73\x5f\x74\x69\x6d\x65\x72\x66\ +\x6e\0\x5f\x5f\x5f\x5f\x6e\x65\x73\x74\x5f\x69\x6e\x69\x74\x2e\x5f\x5f\x5f\x66\ +\x6d\x74\x2e\x32\x30\0\x68\x61\x6e\x64\x6c\x65\x5f\x63\x70\x75\x5f\x6d\x61\x73\ +\x6b\x5f\x65\x76\x65\x6e\x74\x2e\x5f\x5f\x5f\x5f\x66\x6d\x74\0\x63\x6f\x6d\x70\ +\x61\x63\x74\x5f\x70\x72\x69\x6d\x61\x72\x79\x5f\x63\x6f\x72\x65\x2e\x5f\x5f\ +\x5f\x66\x6d\x74\0\x63\x6f\x6d\x70\x61\x63\x74\x5f\x70\x72\x69\x6d\x61\x72\x79\ +\x5f\x63\x6f\x72\x65\x2e\x5f\x5f\x5f\x66\x6d\x74\x2e\x36\0\x73\x74\x61\x74\x73\ +\x5f\x74\x69\x6d\x65\x72\x66\x6e\x2e\x5f\x5f\x5f\x66\x6d\x74\0\x73\x74\x61\x74\ +\x73\x5f\x74\x69\x6d\x65\x72\x66\x6e\x2e\x5f\x5f\x5f\x66\x6d\x74\x2e\x32\x33\0\ +\x63\x61\x73\x74\x5f\x6d\x61\x73\x6b\0\x6e\x65\x73\x74\x5f\x73\x65\x6c\x65\x63\ +\x74\x5f\x63\x70\x75\0\x74\x61\x73\x6b\x5f\x63\x74\x78\x5f\x73\x74\x6f\x72\0\ +\x62\x70\x66\x5f\x72\x63\x75\x5f\x72\x65\x61\x64\x5f\x6c\x6f\x63\x6b\0\x70\x72\ +\x69\x6d\x61\x72\x79\x5f\x63\x70\x75\x6d\x61\x73\x6b\0\x72\x65\x73\x65\x72\x76\ +\x65\x5f\x63\x70\x75\x6d\x61\x73\x6b\0\x62\x70\x66\x5f\x72\x63\x75\x5f\x72\x65\ +\x61\x64\x5f\x75\x6e\x6c\x6f\x63\x6b\0\x62\x70\x66\x5f\x63\x70\x75\x6d\x61\x73\ +\x6b\x5f\x61\x6e\x64\0\x62\x70\x66\x5f\x63\x70\x75\x6d\x61\x73\x6b\x5f\x74\x65\ +\x73\x74\x5f\x63\x70\x75\0\x73\x63\x78\x5f\x62\x70\x66\x5f\x74\x65\x73\x74\x5f\ +\x61\x6e\x64\x5f\x63\x6c\x65\x61\x72\x5f\x63\x70\x75\x5f\x69\x64\x6c\x65\0\x73\ +\x74\x61\x74\x73\0\x70\x63\x70\x75\x5f\x63\x74\x78\x73\0\x73\x63\x78\x5f\x62\ +\x70\x66\x5f\x65\x72\x72\x6f\x72\x5f\x62\x73\x74\x72\0\x66\x69\x6e\x64\x5f\x66\ +\x75\x6c\x6c\x79\x5f\x69\x64\x6c\x65\0\x73\x63\x78\x5f\x62\x70\x66\x5f\x70\x69\ +\x63\x6b\x5f\x69\x64\x6c\x65\x5f\x63\x70\x75\0\x62\x70\x66\x5f\x63\x70\x75\x6d\ +\x61\x73\x6b\x5f\x73\x65\x74\x5f\x63\x70\x75\0\x62\x70\x66\x5f\x63\x70\x75\x6d\ +\x61\x73\x6b\x5f\x63\x6c\x65\x61\x72\x5f\x63\x70\x75\0\x73\x6c\x69\x63\x65\x5f\ +\x6e\x73\0\x73\x63\x78\x5f\x62\x70\x66\x5f\x64\x69\x73\x70\x61\x74\x63\x68\0\ +\x72\x5f\x69\x6d\x70\x61\x74\x69\x65\x6e\x74\0\x72\x5f\x6d\x61\x78\0\x6e\x65\ +\x73\x74\x5f\x65\x6e\x71\x75\x65\x75\x65\0\x73\x63\x78\x5f\x62\x70\x66\x5f\x64\ +\x69\x73\x70\x61\x74\x63\x68\x5f\x76\x74\x69\x6d\x65\0\x6e\x65\x73\x74\x5f\x64\ +\x69\x73\x70\x61\x74\x63\x68\0\x73\x63\x78\x5f\x62\x70\x66\x5f\x63\x6f\x6e\x73\ +\x75\x6d\x65\0\x62\x70\x66\x5f\x63\x70\x75\x6d\x61\x73\x6b\x5f\x66\x69\x72\x73\ +\x74\0\x70\x5f\x72\x65\x6d\x6f\x76\x65\x5f\x6e\x73\0\x6e\x65\x73\x74\x5f\x72\ +\x75\x6e\x6e\x69\x6e\x67\0\x6e\x65\x73\x74\x5f\x73\x74\x6f\x70\x70\x69\x6e\x67\ +\0\x6e\x65\x73\x74\x5f\x69\x6e\x69\x74\x5f\x74\x61\x73\x6b\0\x62\x70\x66\x5f\ +\x63\x70\x75\x6d\x61\x73\x6b\x5f\x63\x72\x65\x61\x74\x65\0\x62\x70\x66\x5f\x63\ +\x70\x75\x6d\x61\x73\x6b\x5f\x72\x65\x6c\x65\x61\x73\x65\0\x6e\x65\x73\x74\x5f\ +\x65\x6e\x61\x62\x6c\x65\0\x6e\x65\x73\x74\x5f\x69\x6e\x69\x74\0\x73\x63\x78\ +\x5f\x62\x70\x66\x5f\x63\x72\x65\x61\x74\x65\x5f\x64\x73\x71\0\x62\x70\x66\x5f\ +\x63\x70\x75\x6d\x61\x73\x6b\x5f\x63\x6c\x65\x61\x72\0\x6e\x72\x5f\x63\x70\x75\ +\x73\0\x62\x70\x66\x5f\x69\x74\x65\x72\x5f\x6e\x75\x6d\x5f\x6e\x65\x77\0\x62\ +\x70\x66\x5f\x69\x74\x65\x72\x5f\x6e\x75\x6d\x5f\x6e\x65\x78\x74\0\x62\x70\x66\ +\x5f\x69\x74\x65\x72\x5f\x6e\x75\x6d\x5f\x64\x65\x73\x74\x72\x6f\x79\0\x73\x74\ +\x61\x74\x73\x5f\x74\x69\x6d\x65\x72\0\x73\x61\x6d\x70\x6c\x69\x6e\x67\x5f\x63\ +\x61\x64\x65\x6e\x63\x65\x5f\x6e\x73\0\x6e\x65\x73\x74\x5f\x65\x78\x69\x74\0\ +\x75\x65\x69\0\x75\x65\x69\x5f\x64\x75\x6d\x70\x5f\x6c\x65\x6e\0\x75\x65\x69\ +\x5f\x64\x75\x6d\x70\0\x68\x61\x6e\x64\x6c\x65\x5f\x63\x70\x75\x5f\x6d\x61\x73\ +\x6b\x5f\x65\x76\x65\x6e\x74\0\x63\x70\x75\x5f\x6d\x61\x73\x6b\x5f\x62\x75\x66\ +\x66\x65\x72\0\x73\x74\x61\x74\x73\x5f\x70\x72\x69\x6d\x61\x72\x79\x5f\x6d\x61\ +\x73\x6b\0\x73\x74\x61\x74\x73\x5f\x72\x65\x73\x65\x72\x76\x65\x64\x5f\x6d\x61\ +\x73\x6b\0\x73\x74\x61\x74\x73\x5f\x6f\x74\x68\x65\x72\x5f\x6d\x61\x73\x6b\0\ +\x73\x74\x61\x74\x73\x5f\x69\x64\x6c\x65\x5f\x6d\x61\x73\x6b\0\x63\x6f\x6d\x6d\ +\x5f\x69\x67\x6e\x6f\x72\x65\x5f\x6d\x61\x70\0\x69\x64\x5f\x69\x67\x6e\x6f\x72\ +\x65\x5f\x6d\x61\x70\0\x66\x69\x6c\x74\x65\x72\x5f\x62\x79\x5f\x74\x67\x69\x64\ +\0\x63\x6f\x6d\x6d\x5f\x61\x74\x74\x65\x6e\x74\x69\x6f\x6e\x5f\x6d\x61\x70\0\ +\x69\x64\x5f\x61\x74\x74\x65\x6e\x74\x69\x6f\x6e\x5f\x6d\x61\x70\0\x66\x6c\x69\ +\x74\x65\x72\x5f\x6d\x61\x70\0\x73\x63\x78\x5f\x62\x70\x66\x5f\x67\x65\x74\x5f\ +\x69\x64\x6c\x65\x5f\x63\x70\x75\x6d\x61\x73\x6b\0\x73\x63\x78\x5f\x62\x70\x66\ +\x5f\x70\x75\x74\x5f\x69\x64\x6c\x65\x5f\x63\x70\x75\x6d\x61\x73\x6b\0\x5f\x6c\ +\x69\x63\x65\x6e\x73\x65\0\x72\x5f\x64\x65\x70\x74\x68\0\x6e\x65\x73\x74\x5f\ +\x6f\x70\x73\0\x74\x65\x6d\x70\x6c\x61\x74\x65\x5f\x6d\x61\x70\0\x2e\x72\x65\ +\x6c\x2e\x74\x65\x78\x74\0\x2e\x72\x65\x6c\x73\x74\x72\x75\x63\x74\x5f\x6f\x70\ +\x73\x2f\x6e\x65\x73\x74\x5f\x73\x65\x6c\x65\x63\x74\x5f\x63\x70\x75\0\x2e\x72\ +\x65\x6c\x73\x74\x72\x75\x63\x74\x5f\x6f\x70\x73\x2f\x6e\x65\x73\x74\x5f\x65\ +\x6e\x71\x75\x65\x75\x65\0\x2e\x72\x65\x6c\x73\x74\x72\x75\x63\x74\x5f\x6f\x70\ +\x73\x2f\x6e\x65\x73\x74\x5f\x64\x69\x73\x70\x61\x74\x63\x68\0\x2e\x72\x65\x6c\ +\x73\x74\x72\x75\x63\x74\x5f\x6f\x70\x73\x2f\x6e\x65\x73\x74\x5f\x72\x75\x6e\ +\x6e\x69\x6e\x67\0\x2e\x72\x65\x6c\x73\x74\x72\x75\x63\x74\x5f\x6f\x70\x73\x2f\ +\x6e\x65\x73\x74\x5f\x73\x74\x6f\x70\x70\x69\x6e\x67\0\x2e\x72\x65\x6c\x73\x74\ +\x72\x75\x63\x74\x5f\x6f\x70\x73\x2f\x6e\x65\x73\x74\x5f\x69\x6e\x69\x74\x5f\ +\x74\x61\x73\x6b\0\x2e\x72\x65\x6c\x73\x74\x72\x75\x63\x74\x5f\x6f\x70\x73\x2f\ +\x6e\x65\x73\x74\x5f\x65\x6e\x61\x62\x6c\x65\0\x2e\x72\x65\x6c\x73\x74\x72\x75\ +\x63\x74\x5f\x6f\x70\x73\x2e\x73\x2f\x6e\x65\x73\x74\x5f\x69\x6e\x69\x74\0\x2e\ +\x72\x65\x6c\x73\x74\x72\x75\x63\x74\x5f\x6f\x70\x73\x2f\x6e\x65\x73\x74\x5f\ +\x65\x78\x69\x74\0\x2e\x72\x65\x6c\x70\x65\x72\x66\x5f\x65\x76\x65\x6e\x74\0\ +\x2e\x72\x65\x6c\x2e\x73\x74\x72\x75\x63\x74\x5f\x6f\x70\x73\x2e\x6c\x69\x6e\ +\x6b\0\x2e\x42\x54\x46\0\x2e\x42\x54\x46\x2e\x65\x78\x74\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x49\x01\0\0\x04\0\xf1\xff\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\x03\0\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\ +\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x58\x01\0\0\x01\0\x14\0\x90\x04\0\0\0\ +\0\0\0\x1c\0\0\0\0\0\0\0\x73\x01\0\0\x02\0\x03\0\x10\0\0\0\0\0\0\0\xd8\x02\0\0\ +\0\0\0\0\x88\x01\0\0\x01\0\x14\0\xac\x04\0\0\0\0\0\0\x1c\0\0\0\0\0\0\0\xa5\x01\ +\0\0\x01\0\x14\0\xc8\x04\0\0\0\0\0\0\x1a\0\0\0\0\0\0\0\xc2\x01\0\0\x01\0\x11\0\ +\x20\0\0\0\0\0\0\0\x04\0\0\0\0\0\0\0\xce\x01\0\0\x02\0\x03\0\xe8\x02\0\0\0\0\0\ +\0\xe0\x03\0\0\0\0\0\0\0\0\0\0\x03\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xdf\ +\x01\0\0\x01\0\x14\0\x1c\x05\0\0\0\0\0\0\x18\0\0\0\0\0\0\0\xf7\x01\0\0\x01\0\ +\x11\0\x28\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\x03\0\x06\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\x01\x02\0\0\x01\0\x14\0\x34\x05\0\0\0\0\0\0\x1e\0\0\0\0\0\0\0\ +\x1a\x02\0\0\x01\0\x14\0\x52\x05\0\0\0\0\0\0\x1a\0\0\0\0\0\0\0\0\0\0\0\x03\0\ +\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\x08\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\x03\0\x09\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\ +\x0a\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\x0b\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\x36\x02\0\0\x01\0\x14\0\x6c\x05\0\0\0\0\0\0\x1e\0\0\0\0\0\0\0\x4b\ +\x02\0\0\x01\0\x14\0\x8a\x05\0\0\0\0\0\0\x1a\0\0\0\0\0\0\0\x63\x02\0\0\x01\0\ +\x14\0\xa4\x05\0\0\0\0\0\0\x20\0\0\0\0\0\0\0\x7b\x02\0\0\x01\0\x14\0\xc4\x05\0\ +\0\0\0\0\0\x22\0\0\0\0\0\0\0\x93\x02\0\0\x01\0\x14\0\xe6\x05\0\0\0\0\0\0\x1f\0\ +\0\0\0\0\0\0\xab\x02\0\0\x02\0\x03\0\xc8\x06\0\0\0\0\0\0\x80\x03\0\0\0\0\0\0\ +\xb9\x02\0\0\x01\0\x14\0\x05\x06\0\0\0\0\0\0\x1a\0\0\0\0\0\0\0\0\0\0\0\x03\0\ +\x0c\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\x0d\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\xd1\x02\0\0\x01\0\x0f\0\x40\0\0\0\0\0\0\0\x21\0\0\0\0\0\0\0\xef\ +\x02\0\0\x01\0\x14\0\xe2\x04\0\0\0\0\0\0\x19\0\0\0\0\0\0\0\x0b\x03\0\0\x01\0\ +\x14\0\xfb\x04\0\0\0\0\0\0\x21\0\0\0\0\0\0\0\x29\x03\0\0\x01\0\x14\0\x1f\x06\0\ +\0\0\0\0\0\x24\0\0\0\0\0\0\0\x3e\x03\0\0\x01\0\x14\0\x43\x06\0\0\0\0\0\0\x1a\0\ +\0\0\0\0\0\0\0\0\0\0\x03\0\x0f\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\ +\x11\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\x14\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\x56\x03\0\0\x12\0\x03\0\0\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\x60\x03\ +\0\0\x12\0\x04\0\0\0\0\0\0\0\0\0\x60\x0b\0\0\0\0\0\0\x70\x03\0\0\x11\0\x10\0\ +\x10\0\0\0\0\0\0\0\x20\0\0\0\0\0\0\0\x7e\x03\0\0\x20\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\x90\x03\0\0\x11\x02\x15\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\xa0\ +\x03\0\0\x11\x02\x15\0\x08\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\xb0\x03\0\0\x20\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xc4\x03\0\0\x20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\xd4\x03\0\0\x20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xe9\x03\0\0\ +\x20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x09\x04\0\0\x11\0\x10\0\x28\x01\0\0\ +\0\0\0\0\x20\0\0\0\0\0\0\0\x0f\x04\0\0\x11\0\x10\0\x30\0\0\0\0\0\0\0\x20\0\0\0\ +\0\0\0\0\x19\x04\0\0\x20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x2c\x04\0\0\x11\ +\0\x0f\0\x20\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\x3c\x04\0\0\x20\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\x52\x04\0\0\x20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x66\ +\x04\0\0\x20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x7c\x04\0\0\x11\0\x0f\0\x18\ +\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\x85\x04\0\0\x20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\x96\x04\0\0\x11\0\x0f\0\x10\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\xa2\x04\0\ +\0\x11\0\x0f\0\x08\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\xa8\x04\0\0\x12\0\x05\0\0\0\ +\0\0\0\0\0\0\x68\x01\0\0\0\0\0\0\xb5\x04\0\0\x20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\xcc\x04\0\0\x12\0\x06\0\0\0\0\0\0\0\0\0\xd0\x04\0\0\0\0\0\0\xda\x04\0\ +\0\x20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xea\x04\0\0\x20\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\xfc\x04\0\0\x11\0\x0f\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\ +\x08\x05\0\0\x12\0\x07\0\0\0\0\0\0\0\0\0\x50\0\0\0\0\0\0\0\x15\x05\0\0\x12\0\ +\x08\0\0\0\0\0\0\0\0\0\x68\0\0\0\0\0\0\0\x23\x05\0\0\x12\0\x09\0\0\0\0\0\0\0\0\ +\0\xb8\0\0\0\0\0\0\0\x32\x05\0\0\x20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x45\ +\x05\0\0\x20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x59\x05\0\0\x12\0\x0a\0\0\0\ +\0\0\0\0\0\0\x30\0\0\0\0\0\0\0\x65\x05\0\0\x12\0\x0b\0\0\0\0\0\0\0\0\0\x18\x05\ +\0\0\0\0\0\0\x6f\x05\0\0\x20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82\x05\0\0\ +\x20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x94\x05\0\0\x11\0\x0f\0\x3c\0\0\0\0\ +\0\0\0\x04\0\0\0\0\0\0\0\x9c\x05\0\0\x20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\xad\x05\0\0\x20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x05\0\0\x20\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xd4\x05\0\0\x11\0\x10\0\x50\0\0\0\0\0\0\0\x20\0\ +\0\0\0\0\0\0\xe0\x05\0\0\x11\0\x0f\0\x28\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\xf4\ +\x05\0\0\x12\0\x0c\0\0\0\0\0\0\0\0\0\xf0\0\0\0\0\0\0\0\xfe\x05\0\0\x11\0\x14\0\ +\0\0\0\0\0\0\0\0\x90\x04\0\0\0\0\0\0\x02\x06\0\0\x11\0\x0f\0\x64\0\0\0\0\0\0\0\ +\x04\0\0\0\0\0\0\0\x0f\x06\0\0\x11\0\x13\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\ +\x18\x06\0\0\x12\0\x0d\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\x2e\x06\0\0\x11\0\ +\x10\0\0\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\x3e\x06\0\0\x11\0\x11\0\0\0\0\0\0\0\0\ +\0\x08\0\0\0\0\0\0\0\x51\x06\0\0\x11\0\x11\0\x08\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\ +\0\x65\x06\0\0\x11\0\x11\0\x10\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\x76\x06\0\0\x11\ +\0\x11\0\x18\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\x86\x06\0\0\x11\0\x10\0\xa8\0\0\0\ +\0\0\0\0\x20\0\0\0\0\0\0\0\x96\x06\0\0\x11\0\x10\0\xe8\0\0\0\0\0\0\0\x20\0\0\0\ +\0\0\0\0\xa4\x06\0\0\x11\0\x0f\0\x38\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\xb3\x06\0\ +\0\x11\0\x10\0\xc8\0\0\0\0\0\0\0\x20\0\0\0\0\0\0\0\xc6\x06\0\0\x11\0\x10\0\x08\ +\x01\0\0\0\0\0\0\x20\0\0\0\0\0\0\0\xd7\x06\0\0\x11\0\x10\0\x90\0\0\0\0\0\0\0\ +\x18\0\0\0\0\0\0\0\xe2\x06\0\0\x20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xfb\ +\x06\0\0\x20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x14\x07\0\0\x11\0\x0e\0\0\0\ +\0\0\0\0\0\0\x0d\0\0\0\0\0\0\0\x1d\x07\0\0\x11\0\x0f\0\x30\0\0\0\0\0\0\0\x08\0\ +\0\0\0\0\0\0\x25\x07\0\0\x11\0\x12\0\0\0\0\0\0\0\0\0\xa8\x01\0\0\0\0\0\0\x2e\ +\x07\0\0\x11\0\x10\0\x70\0\0\0\0\0\0\0\x20\0\0\0\0\0\0\0\xbf\x10\0\0\0\0\0\0\ +\x95\0\0\0\0\0\0\0\x85\0\0\0\x08\0\0\0\x63\x0a\xfc\xff\0\0\0\0\xb4\x01\0\0\x0f\ +\0\0\0\x63\x1a\xf0\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf0\xff\xff\xff\ +\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\x15\0\x03\0\0\0\0\0\ +\x79\x01\0\0\0\0\0\0\x07\x01\0\0\x01\0\0\0\x7b\x10\0\0\0\0\0\0\xbf\xa2\0\0\0\0\ +\0\0\x07\x02\0\0\xfc\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\ +\x01\0\0\0\xbf\x06\0\0\0\0\0\0\x55\x06\x09\0\0\0\0\0\xb7\x01\0\0\0\0\0\0\x7b\ +\x1a\xf0\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf0\xff\xff\xff\x18\x01\0\ +\0\xe2\x04\0\0\0\0\0\0\0\0\0\0\xb4\x03\0\0\x08\0\0\0\x85\x10\0\0\xff\xff\xff\ +\xff\x05\0\x3c\0\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\x79\x12\0\0\0\0\0\0\x15\x02\x04\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\x79\x17\0\0\0\0\0\0\x55\x07\x0a\0\0\0\0\0\xb7\x01\0\0\0\0\0\0\x7b\ +\x1a\xf0\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf0\xff\xff\xff\x18\x01\0\ +\0\xfb\x04\0\0\0\0\0\0\0\0\0\0\xb4\x03\0\0\x08\0\0\0\x85\x10\0\0\xff\xff\xff\ +\xff\x85\x10\0\0\xff\xff\xff\xff\x05\0\x29\0\0\0\0\0\x61\xa1\xfc\xff\0\0\0\0\ +\x85\x10\0\0\xff\xff\xff\xff\x61\xa1\xfc\xff\0\0\0\0\x18\x02\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\x79\x23\0\0\0\0\0\0\x18\x02\0\0\x20\0\0\0\0\0\0\0\0\0\0\0\x61\x24\0\ +\0\0\0\0\0\x67\x04\0\0\x20\0\0\0\xc7\x04\0\0\x20\0\0\0\xbd\x43\x0d\0\0\0\0\0\ +\xb4\x03\0\0\x01\0\0\0\xc3\x32\0\0\x01\0\0\0\xbf\x72\0\0\0\0\0\0\x85\x10\0\0\ +\xff\xff\xff\xff\xb4\x01\0\0\x0a\0\0\0\x63\x1a\xf0\xff\0\0\0\0\xbf\xa2\0\0\0\0\ +\0\0\x07\x02\0\0\xf0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\ +\x01\0\0\0\x15\0\x0e\0\0\0\0\0\x05\0\x0a\0\0\0\0\0\xbf\x72\0\0\0\0\0\0\x85\x10\ +\0\0\xff\xff\xff\xff\xb4\x01\0\0\x0b\0\0\0\x63\x1a\xf0\xff\0\0\0\0\xbf\xa2\0\0\ +\0\0\0\0\x07\x02\0\0\xf0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\ +\0\0\x01\0\0\0\x15\0\x03\0\0\0\0\0\x79\x01\0\0\0\0\0\0\x07\x01\0\0\x01\0\0\0\ +\x7b\x10\0\0\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\xb4\x01\0\0\0\0\0\0\x73\x16\ +\x10\0\0\0\0\0\xb4\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\xbf\x16\0\0\0\0\0\0\xb4\0\0\ +\0\x01\0\0\0\x61\x61\x2c\0\0\0\0\0\x54\x01\0\0\0\0\x20\0\x56\x01\x76\0\0\0\0\0\ +\xbf\x27\0\0\0\0\0\0\xb7\x01\0\0\xe0\x0c\0\0\xbf\x63\0\0\0\0\0\0\x0f\x13\0\0\0\ +\0\0\0\xbf\xa8\0\0\0\0\0\0\x07\x08\0\0\xf0\xff\xff\xff\xbf\x81\0\0\0\0\0\0\xb4\ +\x02\0\0\x10\0\0\0\x85\0\0\0\x73\0\0\0\x61\x61\xc0\x0a\0\0\0\0\x63\x1a\xec\xff\ +\0\0\0\0\x61\x61\xc4\x0a\0\0\0\0\x63\x1a\xe8\xff\0\0\0\0\x18\x01\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\xbf\x82\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\xbf\x01\0\0\0\0\0\0\xb4\ +\0\0\0\x01\0\0\0\x55\x01\x62\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xec\xff\ +\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\xbf\x01\0\0\0\ +\0\0\0\xb4\0\0\0\x01\0\0\0\x55\x01\x5a\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\x71\x11\0\0\0\0\0\0\x56\x01\x08\0\x01\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\ +\0\0\xe8\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\ +\xbf\x01\0\0\0\0\0\0\xb4\0\0\0\x01\0\0\0\x55\x01\x4e\0\0\0\0\0\xbf\xa2\0\0\0\0\ +\0\0\x07\x02\0\0\xf0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\ +\x01\0\0\0\xbf\x08\0\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xec\xff\xff\xff\ +\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\xbf\x09\0\0\0\0\0\0\ +\xb4\x01\0\0\0\0\0\0\x18\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x71\x22\0\0\0\0\0\0\ +\x56\x02\x08\0\x01\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xe8\xff\xff\xff\x18\ +\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\xb4\x01\0\0\x01\0\0\0\x55\ +\0\x01\0\0\0\0\0\xb4\x01\0\0\0\0\0\0\x55\x08\x03\0\0\0\0\0\x55\x09\x02\0\0\0\0\ +\0\x54\x01\0\0\x01\0\0\0\x16\x01\x0c\0\0\0\0\0\x79\x64\x58\x03\0\0\0\0\x18\x01\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x79\x13\0\0\0\0\0\0\x18\x02\0\0\x28\0\0\0\0\0\0\0\ +\0\0\0\0\x79\x22\0\0\0\0\0\0\xbf\x45\0\0\0\0\0\0\x1f\x25\0\0\0\0\0\0\x0f\x35\0\ +\0\0\0\0\0\x65\x05\x1f\0\xff\xff\xff\xff\x05\0\x1b\0\0\0\0\0\xb4\x01\0\0\0\0\0\ +\0\x63\x1a\xe4\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xe4\xff\xff\xff\x18\ +\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\xbf\x01\0\0\0\0\0\0\xb4\0\ +\0\0\x01\0\0\0\x15\x01\x1b\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xec\xff\ +\xff\xff\x85\0\0\0\x01\0\0\0\xbf\x01\0\0\0\0\0\0\xb4\0\0\0\x01\0\0\0\x15\x01\ +\x15\0\0\0\0\0\x79\x64\x58\x03\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x79\ +\x13\0\0\0\0\0\0\x18\x02\0\0\x28\0\0\0\0\0\0\0\0\0\0\0\x79\x22\0\0\0\0\0\0\xbf\ +\x45\0\0\0\0\0\0\x1f\x25\0\0\0\0\0\0\x0f\x35\0\0\0\0\0\0\x65\x05\x03\0\xff\xff\ +\xff\xff\x79\x13\0\0\0\0\0\0\x1f\x32\0\0\0\0\0\0\xbf\x24\0\0\0\0\0\0\x79\x13\0\ +\0\0\0\0\0\x77\x03\0\0\x01\0\0\0\xbf\x61\0\0\0\0\0\0\xb7\x02\0\0\0\0\0\0\xbf\ +\x75\0\0\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\xb4\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\ +\0\xbf\x38\0\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x06\0\0\0\0\0\0\ +\x7b\x61\0\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x7b\x61\0\0\0\0\0\0\ +\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x7b\x61\0\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\x7b\x61\0\0\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\x18\x01\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\x79\x17\0\0\0\0\0\0\x15\x07\x05\0\0\0\0\0\x18\x01\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\x79\x11\0\0\0\0\0\0\x7b\x1a\xf0\xff\0\0\0\0\x55\x01\x07\0\ +\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\x7b\x6a\xf8\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\ +\0\x07\x02\0\0\xf8\xff\xff\xff\x18\x01\0\0\x1f\x06\0\0\0\0\0\0\0\0\0\0\x05\0\ +\x4d\0\0\0\0\0\x7b\x8a\xe8\xff\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\xbf\x08\0\0\ +\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x61\x13\0\0\0\0\0\0\xbf\xa6\0\0\0\ +\0\0\0\x07\x06\0\0\xf8\xff\xff\xff\xbf\x61\0\0\0\0\0\0\xb4\x02\0\0\0\0\0\0\x85\ +\x10\0\0\xff\xff\xff\xff\xbf\x61\0\0\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\x15\0\ +\x06\0\0\0\0\0\x61\x06\0\0\0\0\0\0\xc6\x06\x04\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\x61\x11\0\0\0\0\0\0\xae\x16\x10\0\0\0\0\0\xbf\xa1\0\0\0\0\0\0\ +\x07\x01\0\0\xf8\xff\xff\xff\x85\x10\0\0\xff\xff\xff\xff\x85\x10\0\0\xff\xff\ +\xff\xff\xbf\x81\0\0\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\x79\x12\0\0\0\0\0\0\x07\x02\0\0\x78\xec\xff\xff\xb7\x06\0\0\0\0\ +\0\0\x79\xa1\xe8\xff\0\0\0\0\xb7\x03\0\0\0\0\0\0\x85\0\0\0\xab\0\0\0\x15\0\x2c\ +\0\0\0\0\0\x05\0\x24\0\0\0\0\0\xbc\x61\0\0\0\0\0\0\xbf\x72\0\0\0\0\0\0\x85\x10\ +\0\0\xff\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x54\0\0\0\x01\0\0\0\ +\x56\0\x09\0\0\0\0\0\xbc\x61\0\0\0\0\0\0\x79\xa2\xf0\xff\0\0\0\0\x85\x10\0\0\ +\xff\xff\xff\xff\x54\0\0\0\x01\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x56\0\ +\x02\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x09\0\0\x01\0\0\0\x6f\ +\x69\0\0\0\0\0\0\x79\x12\0\0\0\0\0\0\x4f\x92\0\0\0\0\0\0\x7b\x21\0\0\0\0\0\0\ +\xbc\x61\0\0\0\0\0\0\xbf\x82\0\0\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\x54\0\0\0\ +\x01\0\0\0\x16\0\x05\0\0\0\0\0\x18\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x79\x21\0\0\ +\0\0\0\0\x4f\x91\0\0\0\0\0\0\x7b\x12\0\0\0\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\ +\0\xf8\xff\xff\xff\x85\x10\0\0\xff\xff\xff\xff\x15\0\xcd\xff\0\0\0\0\x05\0\xc6\ +\xff\0\0\0\0\x7b\x6a\xf8\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf8\xff\ +\xff\xff\x18\x01\0\0\x43\x06\0\0\0\0\0\0\0\0\0\0\xb4\x03\0\0\x08\0\0\0\x85\x10\ +\0\0\xff\xff\xff\xff\xb4\0\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\x79\x12\x08\0\0\0\0\0\ +\x7b\x2a\xe8\xff\0\0\0\0\x79\x16\0\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\xbf\x62\0\0\0\0\0\0\xb7\x03\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\0\0\0\x9c\0\ +\0\0\xbf\x08\0\0\0\0\0\0\xb4\x07\0\0\xfe\xff\xff\xff\x15\x08\xc1\0\0\0\0\0\x85\ +\x10\0\0\xff\xff\xff\xff\x79\x89\0\0\0\0\0\0\x15\x09\x09\0\0\0\0\0\x18\x01\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\x79\x13\0\0\0\0\0\0\x15\x03\x05\0\0\0\0\0\x18\x01\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\x79\x11\0\0\0\0\0\0\x7b\x1a\xe0\xff\0\0\0\0\x55\x01\ +\x02\0\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\x05\0\xb3\0\0\0\0\0\x79\xa7\xe8\xff\ +\0\0\0\0\x63\x78\x10\0\0\0\0\0\x79\x62\x20\x05\0\0\0\0\xbf\x91\0\0\0\0\0\0\x7b\ +\x3a\xd8\xff\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\x61\x81\x0c\0\0\0\0\0\xbf\x92\ +\0\0\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\x54\0\0\0\x01\0\0\0\x16\0\x0f\0\0\0\0\ +\0\x61\x81\x0c\0\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\x54\0\0\0\x01\0\0\0\x16\0\ +\x0b\0\0\0\0\0\x61\x81\x0c\0\0\0\0\0\x63\x1a\xfc\xff\0\0\0\0\xb4\x01\0\0\0\0\0\ +\0\x63\x1a\xf0\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf0\xff\xff\xff\x18\ +\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\x15\0\x18\0\0\0\0\0\x05\0\ +\x14\0\0\0\0\0\x61\x81\x0c\0\0\0\0\0\x1e\x71\x47\0\0\0\0\0\xbc\x71\0\0\0\0\0\0\ +\xbf\x92\0\0\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\x54\0\0\0\x01\0\0\0\x16\0\x42\ +\0\0\0\0\0\xbc\x71\0\0\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\x54\0\0\0\x01\0\0\0\ +\x16\0\x3e\0\0\0\0\0\x63\x7a\xfc\xff\0\0\0\0\xb4\x01\0\0\x01\0\0\0\x63\x1a\xf0\ +\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf0\xff\xff\xff\x18\x01\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\x15\0\x03\0\0\0\0\0\x79\x01\0\0\0\0\0\0\ +\x07\x01\0\0\x01\0\0\0\x7b\x10\0\0\0\0\0\0\x79\xa9\xe0\xff\0\0\0\0\xb4\x01\0\0\ +\0\0\0\0\x63\x18\x08\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\xff\xff\xff\ +\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\xbf\x07\0\0\0\0\0\0\ +\x15\x07\x48\0\0\0\0\0\x71\x71\x10\0\0\0\0\0\x56\x01\x4e\0\x01\0\0\0\xbf\x71\0\ +\0\0\0\0\0\x85\0\0\0\xac\0\0\0\x65\0\x08\0\xff\xff\xff\xff\xb7\x01\0\0\0\0\0\0\ +\x7b\x1a\xf0\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf0\xff\xff\xff\x18\ +\x01\0\0\x90\x04\0\0\0\0\0\0\0\0\0\0\xb4\x03\0\0\x08\0\0\0\x85\x10\0\0\xff\xff\ +\xff\xff\xbf\x71\0\0\0\0\0\0\x18\x02\0\0\x10\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\ +\xaa\0\0\0\x15\0\x08\0\0\0\0\0\xb7\x01\0\0\0\0\0\0\x7b\x1a\xf0\xff\0\0\0\0\xbf\ +\xa2\0\0\0\0\0\0\x07\x02\0\0\xf0\xff\xff\xff\x18\x01\0\0\xac\x04\0\0\0\0\0\0\0\ +\0\0\0\xb4\x03\0\0\x08\0\0\0\x85\x10\0\0\xff\xff\xff\xff\xb4\x01\0\0\0\0\0\0\ +\x73\x17\x10\0\0\0\0\0\xb4\x01\0\0\x0d\0\0\0\x63\x1a\xf0\xff\0\0\0\0\xbf\xa2\0\ +\0\0\0\0\0\x07\x02\0\0\xf0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\ +\0\0\0\x01\0\0\0\x15\0\x2c\0\0\0\0\0\x79\x01\0\0\0\0\0\0\x07\x01\0\0\x01\0\0\0\ +\x7b\x10\0\0\0\0\0\0\x05\0\x28\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\x71\x11\0\0\0\0\0\0\x56\x01\x0e\0\x01\0\0\0\xbf\x91\0\0\0\0\0\0\xb7\x02\0\0\ +\x01\0\0\0\x85\x10\0\0\xff\xff\xff\xff\x63\x0a\xfc\xff\0\0\0\0\xc6\0\x09\0\0\0\ +\0\0\xb4\x01\0\0\x02\0\0\0\x63\x1a\xf0\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\ +\0\0\xf0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\ +\x15\0\xbd\xff\0\0\0\0\x05\0\xb9\xff\0\0\0\0\xbf\x91\0\0\0\0\0\0\xb7\x02\0\0\0\ +\0\0\0\x85\x10\0\0\xff\xff\xff\xff\x63\x0a\xfc\xff\0\0\0\0\xc6\0\x3b\0\0\0\0\0\ +\xb4\x01\0\0\x03\0\0\0\x63\x1a\xf0\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\ +\xf0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\x15\0\ +\xaf\xff\0\0\0\0\x05\0\xab\xff\0\0\0\0\xb7\x01\0\0\0\0\0\0\x7b\x1a\xf0\xff\0\0\ +\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf0\xff\xff\xff\x18\x01\0\0\xc8\x04\0\0\0\ +\0\0\0\0\0\0\0\xb4\x03\0\0\x08\0\0\0\x85\x10\0\0\xff\xff\xff\xff\x61\xa1\xfc\ +\xff\0\0\0\0\x79\xa2\xd8\xff\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\x61\xa1\xfc\ +\xff\0\0\0\0\xbf\x92\0\0\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\x54\0\0\0\x01\0\0\ +\0\x16\0\x08\0\0\0\0\0\xb4\x01\0\0\x01\0\0\0\x84\x01\0\0\0\0\0\0\x18\x02\0\0\ +\x20\0\0\0\0\0\0\0\0\0\0\0\xc3\x12\0\0\x01\0\0\0\x61\xa1\xfc\xff\0\0\0\0\xbf\ +\x92\0\0\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\x85\x10\0\0\xff\xff\xff\xff\x61\ +\x82\x10\0\0\0\0\0\x61\xa1\xfc\xff\0\0\0\0\x79\xa3\xe8\xff\0\0\0\0\x5e\x12\x01\ +\0\0\0\0\0\x63\x18\x0c\0\0\0\0\0\x63\x38\x10\0\0\0\0\0\xbf\x61\0\0\0\0\0\0\xb7\ +\x02\0\0\0\0\0\0\x85\x10\0\0\x5c\0\0\0\x16\0\x0c\0\0\0\0\0\x61\xa2\xfc\xff\0\0\ +\0\0\x67\x02\0\0\x20\0\0\0\xc7\x02\0\0\x20\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\xc0\x4f\x12\0\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x79\x13\0\0\0\ +\0\0\0\xbf\x61\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\x61\ +\xa7\xfc\xff\0\0\0\0\xbc\x70\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\xb4\x07\0\0\0\0\0\0\ +\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x79\x12\0\0\0\0\0\0\x15\x02\x13\0\0\0\0\0\ +\x61\x82\x08\0\0\0\0\0\x04\x02\0\0\x01\0\0\0\x63\x28\x08\0\0\0\0\0\x79\x11\0\0\ +\0\0\0\0\x2d\x21\x0e\0\0\0\0\0\xb4\x01\0\0\0\0\0\0\x63\x18\x08\0\0\0\0\0\xb4\ +\x01\0\0\x07\0\0\0\x63\x1a\xf0\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf0\ +\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\x15\0\x03\ +\0\0\0\0\0\x79\x01\0\0\0\0\0\0\x07\x01\0\0\x01\0\0\0\x7b\x10\0\0\0\0\0\0\xb4\ +\x07\0\0\x01\0\0\0\x79\x62\x20\x05\0\0\0\0\xbf\x91\0\0\0\0\0\0\x79\xa3\xe0\xff\ +\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x71\ +\x11\0\0\0\0\0\0\x56\x01\x12\0\x01\0\0\0\xbf\x91\0\0\0\0\0\0\xb7\x02\0\0\x01\0\ +\0\0\x85\x10\0\0\xff\xff\xff\xff\x63\x0a\xfc\xff\0\0\0\0\xc6\0\x0d\0\0\0\0\0\ +\xb4\x01\0\0\x04\0\0\0\x63\x1a\xf0\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\ +\xf0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\x15\0\ +\x03\0\0\0\0\0\x79\x01\0\0\0\0\0\0\x07\x01\0\0\x01\0\0\0\x7b\x10\0\0\0\0\0\0\ +\x79\xa9\xe0\xff\0\0\0\0\x05\0\x11\0\0\0\0\0\xbf\x91\0\0\0\0\0\0\xb7\x02\0\0\0\ +\0\0\0\x85\x10\0\0\xff\xff\xff\xff\x63\x0a\xfc\xff\0\0\0\0\xc6\0\x18\0\0\0\0\0\ +\xb4\x01\0\0\x05\0\0\0\x63\x1a\xf0\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\ +\xf0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\x79\ +\xa9\xe0\xff\0\0\0\0\x15\0\x03\0\0\0\0\0\x79\x01\0\0\0\0\0\0\x07\x01\0\0\x01\0\ +\0\0\x7b\x10\0\0\0\0\0\0\xb4\x01\0\0\x08\0\0\0\x63\x1a\xf0\xff\0\0\0\0\xbf\xa2\ +\0\0\0\0\0\0\x07\x02\0\0\xf0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\x85\0\0\0\x01\0\0\0\x15\0\x34\xff\0\0\0\0\x79\x01\0\0\0\0\0\0\x07\x01\0\0\x01\ +\0\0\0\x7b\x10\0\0\0\0\0\0\x05\0\x30\xff\0\0\0\0\x63\x7a\xd0\xff\0\0\0\0\x79\ +\x61\x20\x05\0\0\0\0\xb7\x02\0\0\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\xbc\x07\0\ +\0\0\0\0\0\x63\x7a\xfc\xff\0\0\0\0\x79\xa9\xe0\xff\0\0\0\0\xc6\x07\x33\0\0\0\0\ +\0\xb4\x01\0\0\x06\0\0\0\x63\x1a\xf0\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\ +\0\xf0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\x15\ +\0\x03\0\0\0\0\0\x79\x01\0\0\0\0\0\0\x07\x01\0\0\x01\0\0\0\x7b\x10\0\0\0\0\0\0\ +\xbc\x71\0\0\0\0\0\0\x79\xa2\xd8\xff\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\x54\0\ +\0\0\x01\0\0\0\x56\0\x18\xff\0\0\0\0\xbc\x71\0\0\0\0\0\0\xbf\x92\0\0\0\0\0\0\ +\x85\x10\0\0\xff\xff\xff\xff\x61\xa1\xd0\xff\0\0\0\0\x4c\x01\0\0\0\0\0\0\x54\ +\x01\0\0\x01\0\0\0\x56\x01\xd5\xff\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\x79\x12\0\0\0\0\0\0\x18\x01\0\0\x20\0\0\0\0\0\0\0\0\0\0\0\x61\x13\0\0\0\0\0\0\ +\x67\x03\0\0\x20\0\0\0\xc7\x03\0\0\x20\0\0\0\xbd\x32\x17\0\0\0\0\0\xb4\x02\0\0\ +\x01\0\0\0\xc3\x21\0\0\x01\0\0\0\xbc\x71\0\0\0\0\0\0\xbf\x92\0\0\0\0\0\0\x85\ +\x10\0\0\xff\xff\xff\xff\xb4\x01\0\0\x09\0\0\0\x63\x1a\xf0\xff\0\0\0\0\xbf\xa2\ +\0\0\0\0\0\0\x07\x02\0\0\xf0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\x85\0\0\0\x01\0\0\0\x15\0\x03\0\0\0\0\0\x79\x01\0\0\0\0\0\0\x07\x01\0\0\x01\0\ +\0\0\x7b\x10\0\0\0\0\0\0\x61\xa7\xfc\xff\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\ +\x05\0\x74\xff\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\x79\xa1\xe8\xff\0\0\0\0\xbc\ +\x17\0\0\0\0\0\0\x05\0\x70\xff\0\0\0\0\xbc\x71\0\0\0\0\0\0\xbf\x92\0\0\0\0\0\0\ +\x85\x10\0\0\xff\xff\xff\xff\xb4\x01\0\0\x0b\0\0\0\x63\x1a\xf0\xff\0\0\0\0\xbf\ +\xa2\0\0\0\0\0\0\x07\x02\0\0\xf0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\x85\0\0\0\x01\0\0\0\x15\0\xb0\xfe\0\0\0\0\x79\x01\0\0\0\0\0\0\x07\x01\0\0\ +\x01\0\0\0\x7b\x10\0\0\0\0\0\0\x05\0\xac\xfe\0\0\0\0\x79\x17\0\0\0\0\0\0\x79\ +\x78\x58\x03\0\0\0\0\x79\x16\x08\0\0\0\0\0\xb7\x09\0\0\0\0\0\0\x18\x01\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\xbf\x72\0\0\0\0\0\0\xb7\x03\0\0\0\0\0\0\xb7\x04\0\0\0\0\0\ +\0\x85\0\0\0\x9c\0\0\0\x55\0\x08\0\0\0\0\0\x7b\x9a\xf8\xff\0\0\0\0\xbf\xa2\0\0\ +\0\0\0\0\x07\x02\0\0\xf8\xff\xff\xff\x18\x01\0\0\x1c\x05\0\0\0\0\0\0\0\0\0\0\ +\xb4\x03\0\0\x08\0\0\0\x85\x10\0\0\xff\xff\xff\xff\x05\0\x19\0\0\0\0\0\x18\x01\ +\0\0\x28\0\0\0\0\0\0\0\0\0\0\0\x79\x11\0\0\0\0\0\0\xbf\x83\0\0\0\0\0\0\x1f\x13\ +\0\0\0\0\0\0\x18\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x79\x24\0\0\0\0\0\0\x0f\x43\0\ +\0\0\0\0\0\x65\x03\x03\0\xff\xff\xff\xff\x79\x22\0\0\0\0\0\0\x1f\x21\0\0\0\0\0\ +\0\xbf\x18\0\0\0\0\0\0\xbf\x71\0\0\0\0\0\0\xbf\x62\0\0\0\0\0\0\x85\x10\0\0\x5c\ +\0\0\0\x16\0\x08\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x79\x13\0\0\0\0\ +\0\0\xbf\x71\0\0\0\0\0\0\xb7\x02\0\0\0\0\0\0\xbf\x84\0\0\0\0\0\0\xbf\x65\0\0\0\ +\0\0\0\x85\x10\0\0\xff\xff\xff\xff\x95\0\0\0\0\0\0\0\x18\x02\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\x79\x26\0\0\0\0\0\0\x79\x19\x08\0\0\0\0\0\x79\x17\0\0\0\0\0\0\x63\ +\x7a\xfc\xff\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x79\x18\0\0\0\0\0\0\ +\x15\x08\x01\0\0\0\0\0\x55\x06\x07\0\0\0\0\0\xb7\x01\0\0\0\0\0\0\x7b\x1a\xf0\ +\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf0\xff\xff\xff\x18\x01\0\0\x34\ +\x05\0\0\0\0\0\0\0\0\0\0\x05\0\x0c\0\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\ +\xfc\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\x55\0\ +\x09\0\0\0\0\0\xb7\x01\0\0\0\0\0\0\x7b\x1a\xf0\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\ +\x07\x02\0\0\xf0\xff\xff\xff\x18\x01\0\0\x52\x05\0\0\0\0\0\0\0\0\0\0\xb4\x03\0\ +\0\x08\0\0\0\x85\x10\0\0\xff\xff\xff\xff\x95\0\0\0\0\0\0\0\x7b\x0a\xe8\xff\0\0\ +\0\0\xb7\x01\0\0\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\x54\0\0\0\x01\0\0\0\x56\0\ +\x68\0\0\0\0\0\xbc\x71\0\0\0\0\0\0\xbf\x82\0\0\0\0\0\0\x85\x10\0\0\xff\xff\xff\ +\xff\x15\x09\x0d\0\0\0\0\0\x61\x91\xf0\x02\0\0\0\0\x5c\x01\0\0\0\0\0\0\x54\x01\ +\0\0\x01\0\0\0\x16\x01\x09\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x79\ +\x13\0\0\0\0\0\0\xbf\x91\0\0\0\0\0\0\x18\x02\0\0\x02\0\0\0\0\0\0\0\0\0\0\x80\ +\xb7\x04\0\0\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\x05\0\xe9\xff\0\0\0\0\x63\x0a\ +\xe0\xff\0\0\0\0\xb4\x01\0\0\x11\0\0\0\x63\x1a\xf0\xff\0\0\0\0\xbf\xa2\0\0\0\0\ +\0\0\x07\x02\0\0\xf0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\ +\x01\0\0\0\x15\0\x03\0\0\0\0\0\x79\x01\0\0\0\0\0\0\x07\x01\0\0\x01\0\0\0\x7b\ +\x10\0\0\0\0\0\0\x61\xa1\xe0\xff\0\0\0\0\x54\x01\0\0\x01\0\0\0\x16\x01\xda\xff\ +\0\0\0\0\x15\x09\x2a\0\0\0\0\0\x61\x91\x18\0\0\0\0\0\x56\x01\x28\0\x80\0\0\0\ +\xbf\x81\0\0\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\x1e\x70\x25\0\0\0\0\0\xb4\x01\ +\0\0\x0e\0\0\0\x63\x1a\xf0\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf0\xff\ +\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\x15\0\x03\0\0\ +\0\0\0\x79\x01\0\0\0\0\0\0\x07\x01\0\0\x01\0\0\0\x7b\x10\0\0\0\0\0\0\xbc\x71\0\ +\0\0\0\0\0\xbf\x82\0\0\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\x18\x01\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\x79\x12\0\0\0\0\0\0\x18\x01\0\0\x20\0\0\0\0\0\0\0\0\0\0\0\x61\ +\x13\0\0\0\0\0\0\x67\x03\0\0\x20\0\0\0\xc7\x03\0\0\x20\0\0\0\xbd\x32\x1f\0\0\0\ +\0\0\xb4\x02\0\0\x01\0\0\0\xc3\x21\0\0\x01\0\0\0\xbc\x71\0\0\0\0\0\0\xbf\x62\0\ +\0\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\xb4\x01\0\0\x0a\0\0\0\x63\x1a\xf0\xff\0\ +\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\x15\0\xb0\xff\0\0\0\0\x05\0\x25\0\0\0\0\0\xb4\ +\x02\0\0\x01\0\0\0\x79\xa1\xe8\xff\0\0\0\0\x73\x21\x10\0\0\0\0\0\x18\x02\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\x79\x22\0\0\0\0\0\0\xb7\x03\0\0\x02\0\0\0\x85\0\0\0\xab\ +\0\0\0\xb4\x01\0\0\x0c\0\0\0\x63\x1a\xf0\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\ +\x02\0\0\xf0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\ +\0\x15\0\x9f\xff\0\0\0\0\x05\0\x14\0\0\0\0\0\xbc\x71\0\0\0\0\0\0\xbf\x62\0\0\0\ +\0\0\0\x85\x10\0\0\xff\xff\xff\xff\xb4\x01\0\0\x0b\0\0\0\x63\x1a\xf0\xff\0\0\0\ +\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf0\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\x85\0\0\0\x01\0\0\0\x15\0\x93\xff\0\0\0\0\x05\0\x08\0\0\0\0\0\xb4\x01\ +\0\0\x10\0\0\0\x63\x1a\xf0\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf0\xff\ +\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\x15\0\x8a\xff\ +\0\0\0\0\x79\x01\0\0\0\0\0\0\x07\x01\0\0\x01\0\0\0\x7b\x10\0\0\0\0\0\0\x05\0\ +\x86\xff\0\0\0\0\x79\x11\0\0\0\0\0\0\x18\x02\0\0\x28\0\0\0\0\0\0\0\0\0\0\0\x79\ +\x23\0\0\0\0\0\0\x79\x14\x58\x03\0\0\0\0\x1f\x43\0\0\0\0\0\0\x65\x03\x02\0\xff\ +\xff\xff\xff\x79\x11\x58\x03\0\0\0\0\x7b\x12\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\x79\ +\x11\0\0\0\0\0\0\x18\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x79\x22\0\0\0\0\0\0\x79\ +\x13\x50\x03\0\0\0\0\x1f\x32\0\0\0\0\0\0\x61\x13\xf4\x02\0\0\0\0\x27\x02\0\0\ +\x64\0\0\0\x3f\x32\0\0\0\0\0\0\x79\x13\x58\x03\0\0\0\0\x0f\x23\0\0\0\0\0\0\x7b\ +\x31\x58\x03\0\0\0\0\x95\0\0\0\0\0\0\0\x79\x12\0\0\0\0\0\0\x18\x01\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\xb7\x03\0\0\0\0\0\0\xb7\x04\0\0\x01\0\0\0\x85\0\0\0\x9c\0\0\0\ +\xbf\x06\0\0\0\0\0\0\xb4\x07\0\0\xf4\xff\xff\xff\x15\x06\x0c\0\0\0\0\0\x85\x10\ +\0\0\xff\xff\xff\xff\x15\0\x0a\0\0\0\0\0\xbf\x61\0\0\0\0\0\0\xbf\x02\0\0\0\0\0\ +\0\x85\0\0\0\xc2\0\0\0\x15\0\x02\0\0\0\0\0\xbf\x01\0\0\0\0\0\0\x85\x10\0\0\xff\ +\xff\xff\xff\xb4\x01\0\0\xff\xff\xff\xff\x63\x16\x10\0\0\0\0\0\x63\x16\x0c\0\0\ +\0\0\0\xb4\x07\0\0\0\0\0\0\xbc\x70\0\0\0\0\0\0\x95\0\0\0\0\0\0\0\x79\x11\0\0\0\ +\0\0\0\x18\x02\0\0\x28\0\0\0\0\0\0\0\0\0\0\0\x79\x22\0\0\0\0\0\0\x7b\x21\x58\ +\x03\0\0\0\0\x95\0\0\0\0\0\0\0\xb4\x01\0\0\0\0\0\0\x63\x1a\xfc\xff\0\0\0\0\xb7\ +\x07\0\0\0\0\0\0\xb7\x01\0\0\0\0\0\0\xb4\x02\0\0\xff\xff\xff\xff\x85\x10\0\0\ +\xff\xff\xff\xff\xbc\x06\0\0\0\0\0\0\x16\x06\x09\0\0\0\0\0\x7b\x7a\xf0\xff\0\0\ +\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf0\xff\xff\xff\x18\x01\0\0\x6c\x05\0\0\0\ +\0\0\0\0\0\0\0\xb4\x03\0\0\x08\0\0\0\x85\x10\0\0\xff\xff\xff\xff\xbc\x60\0\0\0\ +\0\0\0\x95\0\0\0\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\xb4\x06\0\0\xf4\xff\xff\ +\xff\x15\0\xfb\xff\0\0\0\0\xbf\x01\0\0\0\0\0\0\xbf\x07\0\0\0\0\0\0\x85\x10\0\0\ +\xff\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xbf\x72\0\0\0\0\0\0\x85\0\ +\0\0\xc2\0\0\0\x15\0\x02\0\0\0\0\0\xbf\x01\0\0\0\0\0\0\x85\x10\0\0\xff\xff\xff\ +\xff\x85\x10\0\0\xff\xff\xff\xff\x15\0\xef\xff\0\0\0\0\xbf\x01\0\0\0\0\0\0\xbf\ +\x06\0\0\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\xbf\x62\0\0\0\0\0\0\x85\0\0\0\xc2\0\0\0\x15\0\x02\0\0\0\0\0\xbf\x01\0\0\0\0\ +\0\0\x85\x10\0\0\xff\xff\xff\xff\x18\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x61\x73\0\ +\0\0\0\0\0\xbf\xa6\0\0\0\0\0\0\x07\x06\0\0\xf0\xff\xff\xff\xb4\x08\0\0\0\0\0\0\ +\xbf\x61\0\0\0\0\0\0\xb4\x02\0\0\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\xbf\x61\0\ +\0\0\0\0\0\x85\x10\0\0\xff\xff\xff\xff\x15\0\x35\0\0\0\0\0\x61\x01\0\0\0\0\0\0\ +\xc6\x01\x33\0\0\0\0\0\x61\x72\0\0\0\0\0\0\x3e\x21\x31\0\0\0\0\0\x63\x1a\xec\ +\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xec\xff\xff\xff\x18\x01\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\xbf\x06\0\0\0\0\0\0\x55\x06\x0a\0\0\0\0\ +\0\xb7\x01\0\0\0\0\0\0\x7b\x1a\xe0\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\ +\xe0\xff\xff\xff\x18\x01\0\0\x8a\x05\0\0\0\0\0\0\0\0\0\0\xb4\x03\0\0\x08\0\0\0\ +\x85\x10\0\0\xff\xff\xff\xff\xb4\x06\0\0\xfe\xff\xff\xff\x05\0\x53\0\0\0\0\0\ +\x73\x86\x10\0\0\0\0\0\xbf\x61\0\0\0\0\0\0\x18\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\xb7\x03\0\0\x07\0\0\0\x85\0\0\0\xa9\0\0\0\x15\0\x07\0\0\0\0\0\xb7\x01\0\0\0\0\ +\0\0\x7b\x1a\xe0\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xe0\xff\xff\xff\ +\x18\x01\0\0\xa4\x05\0\0\0\0\0\0\0\0\0\0\x05\0\x42\0\0\0\0\0\xbf\x61\0\0\0\0\0\ +\0\x18\x02\0\0\x10\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\xaa\0\0\0\x16\0\x07\0\0\0\0\ +\0\xb7\x01\0\0\0\0\0\0\x7b\x1a\xe0\xff\0\0\0\0\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\ +\xe0\xff\xff\xff\x18\x01\0\0\xc4\x05\0\0\0\0\0\0\0\0\0\0\x05\0\x36\0\0\0\0\0\ +\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\xf0\xff\xff\xff\x85\x10\0\0\xff\xff\xff\xff\ +\x15\0\x01\0\0\0\0\0\x05\0\xcb\xff\0\0\0\0\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\xf0\ +\xff\xff\xff\x85\x10\0\0\xff\xff\xff\xff\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xfc\ +\xff\xff\xff\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\x01\0\0\0\xbf\x06\0\ +\0\0\0\0\0\x55\x06\x0a\0\0\0\0\0\xb7\x01\0\0\0\0\0\0\x7b\x1a\xf0\xff\0\0\0\0\ +\xbf\xa2\0\0\0\0\0\0\x07\x02\0\0\xf0\xff\xff\xff\x18\x01\0\0\xe6\x05\0\0\0\0\0\ +\0\0\0\0\0\xb4\x03\0\0\x08\0\0\0\x85\x10\0\0\xff\xff\xff\xff\xb4\x06\0\0\xfd\ +\xff\xff\xff\x05\0\x90\xff\0\0\0\0\xbf\x61\0\0\0\0\0\0\x18\x02\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\xb7\x03\0\0\x07\0\0\0\x85\0\0\0\xa9\0\0\0\xbf\x61\0\0\0\0\0\0\x18\ +\x02\0\0\xc8\x06\0\0\0\0\0\0\0\0\0\0\x85\0\0\0\xaa\0\0\0\x18\x01\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\x79\x12\0\0\0\0\0\0\x07\x02\0\0\x78\xec\xff\xff\xb7\x08\0\0\0\0\ +\0\0\xbf\x61\0\0\0\0\0\0\xb7\x03\0\0\0\0\0\0\x85\0\0\0\xab\0\0\0\xbf\x07\0\0\0\ +\0\0\0\xb4\x06\0\0\0\0\0\0\x16\x07\x7c\xff\0\0\0\0\x7b\x8a\xf0\xff\0\0\0\0\xbf\ +\xa2\0\0\0\0\0\0\x07\x02\0\0\xf0\xff\xff\xff\x18\x01\0\0\x05\x06\0\0\0\0\0\0\0\ +\0\0\0\xb4\x03\0\0\x08\0\0\0\x85\x10\0\0\xff\xff\xff\xff\xbc\x76\0\0\0\0\0\0\ +\x05\0\x73\xff\0\0\0\0\xb4\x03\0\0\x08\0\0\0\x85\x10\0\0\xff\xff\xff\xff\xb4\ +\x06\0\0\xea\xff\xff\xff\xbf\xa1\0\0\0\0\0\0\x07\x01\0\0\xf0\xff\xff\xff\x85\ +\x10\0\0\xff\xff\xff\xff\x05\0\x6c\xff\0\0\0\0\x79\x16\0\0\0\0\0\0\x79\x63\x10\ +\0\0\0\0\0\x18\x07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\x07\x01\0\0\x10\0\0\0\xb4\x02\0\0\x80\0\0\0\x85\0\0\0\x73\0\0\0\x18\x01\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\x01\0\0\x90\0\0\0\x79\x63\x28\0\0\0\0\0\xb4\x02\ +\0\0\0\x04\0\0\x85\0\0\0\x73\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x61\x12\ +\0\0\0\0\0\0\x79\x63\x30\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\0\0\ +\0\x73\0\0\0\xb7\x01\0\0\x01\0\0\0\x16\x01\x02\0\0\0\0\0\x79\x61\x08\0\0\0\0\0\ +\x7b\x17\x08\0\0\0\0\0\x61\x61\0\0\0\0\0\0\x61\x70\0\0\0\0\0\0\xc3\x17\0\0\xf1\ +\0\0\0\x95\0\0\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb7\x02\0\0\x20\0\ +\0\0\xb7\x03\0\0\0\0\0\0\x85\0\0\0\x83\0\0\0\x55\0\x05\0\0\0\0\0\x18\x01\0\0\ +\x40\0\0\0\0\0\0\0\0\0\0\0\xb4\x02\0\0\x21\0\0\0\x85\0\0\0\x06\0\0\0\x05\0\x13\ +\0\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x79\x11\0\0\0\0\0\0\x7b\x10\0\0\ +\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x79\x11\0\0\0\0\0\0\x7b\x10\x08\0\ +\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x79\x11\0\0\0\0\0\0\x7b\x10\x10\0\ +\0\0\0\0\x18\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x79\x11\0\0\0\0\0\0\x7b\x10\x18\0\ +\0\0\0\0\xbf\x01\0\0\0\0\0\0\xb7\x02\0\0\0\0\0\0\x85\0\0\0\x84\0\0\0\xb4\0\0\0\ +\0\0\0\0\x95\0\0\0\0\0\0\0\x44\x75\x61\x6c\x20\x42\x53\x44\x2f\x47\x50\x4c\0\0\ +\0\0\x80\x84\x1e\0\0\0\0\0\x05\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\x2d\x31\x01\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\xca\x9a\x3b\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\ +\0\x63\x70\x75\x20\x6d\x61\x73\x6b\x20\x72\x69\x6e\x67\x62\x75\x66\x20\x72\x65\ +\x73\x65\x72\x76\x65\x20\x66\x61\x69\x6c\x65\x64\x0a\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x6e\x65\ +\x73\x74\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x46\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x63\ +\x61\x6e\x63\x65\x6c\x20\x70\x63\x70\x75\x20\x74\x69\x6d\x65\x72\0\x46\x61\x69\ +\x6c\x65\x64\x20\x74\x6f\x20\x72\x65\x2d\x61\x72\x6d\x20\x70\x63\x70\x75\x20\ +\x74\x69\x6d\x65\x72\0\x46\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x6c\x6f\x6f\x6b\ +\x75\x70\x20\x70\x63\x70\x75\x20\x63\x74\x78\0\x43\x6f\x75\x6c\x64\x6e\x27\x74\ +\x20\x6c\x6f\x6f\x6b\x75\x70\x20\x70\x63\x70\x75\x20\x63\x74\x78\0\x43\x6f\x75\ +\x6c\x64\x6e\x27\x74\x20\x66\x69\x6e\x64\x20\x70\x72\x69\x6d\x61\x72\x79\x20\ +\x6f\x72\x20\x72\x65\x73\x65\x72\x76\x65\0\x55\x6e\x61\x62\x6c\x65\x20\x74\x6f\ +\x20\x66\x69\x6e\x64\x20\x74\x61\x73\x6b\x20\x63\x74\x78\0\x4e\x6f\x20\x70\x72\ +\x69\x6d\x61\x72\x79\x20\x6f\x72\x20\x72\x65\x73\x65\x72\x76\x65\x20\x63\x70\ +\x75\x6d\x61\x73\x6b\0\x46\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x6c\x6f\x6f\x6b\ +\x75\x70\x20\x70\x63\x70\x75\x20\x63\x74\x78\0\x46\x61\x69\x6c\x65\x64\x20\x74\ +\x6f\x20\x63\x72\x65\x61\x74\x65\x20\x66\x61\x6c\x6c\x62\x61\x63\x6b\x20\x44\ +\x53\x51\0\x46\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x6c\x6f\x6f\x6b\x75\x70\x20\ +\x70\x63\x70\x75\x5f\x63\x74\x78\0\x46\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x69\ +\x6e\x69\x74\x69\x61\x6c\x69\x7a\x65\x20\x70\x63\x70\x75\x20\x74\x69\x6d\x65\ +\x72\0\x46\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x73\x65\x74\x20\x70\x63\x70\x75\ +\x20\x74\x69\x6d\x65\x72\x20\x63\x61\x6c\x6c\x62\x61\x63\x6b\0\x46\x61\x69\x6c\ +\x65\x64\x20\x74\x6f\x20\x6c\x6f\x6f\x6b\x75\x70\x20\x63\x65\x6e\x74\x72\x61\ +\x6c\x20\x74\x69\x6d\x65\x72\0\x46\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x61\x72\ +\x6d\x20\x73\x74\x61\x74\x73\x20\x74\x69\x6d\x65\x72\0\x46\x61\x69\x6c\x65\x64\ +\x20\x74\x6f\x20\x6c\x6f\x6f\x6b\x75\x70\x20\x70\x72\x69\x6d\x61\x72\x79\x20\ +\x6f\x72\x20\x72\x65\x73\x65\x72\x76\x65\0\x46\x61\x69\x6c\x65\x64\x20\x74\x6f\ +\x20\x61\x72\x6d\x20\x73\x74\x61\x74\x73\x20\x74\x69\x6d\x65\x72\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\x40\0\0\0\0\0\0\0\x01\0\0\0\x30\0\0\0\x88\0\0\0\0\0\ +\0\0\x01\0\0\0\x31\0\0\0\xd0\0\0\0\0\0\0\0\x01\0\0\0\x25\0\0\0\xe8\0\0\0\0\0\0\ +\0\x0a\0\0\0\x32\0\0\0\xf8\0\0\0\0\0\0\0\x0a\0\0\0\x29\0\0\0\0\x01\0\0\0\0\0\0\ +\x01\0\0\0\x2a\0\0\0\x20\x01\0\0\0\0\0\0\x01\0\0\0\x2b\0\0\0\x60\x01\0\0\0\0\0\ +\0\x01\0\0\0\x25\0\0\0\x78\x01\0\0\0\0\0\0\x0a\0\0\0\x32\0\0\0\x80\x01\0\0\0\0\ +\0\0\x0a\0\0\0\x2c\0\0\0\x98\x01\0\0\0\0\0\0\x0a\0\0\0\x36\0\0\0\xa8\x01\0\0\0\ +\0\0\0\x01\0\0\0\x3a\0\0\0\xc0\x01\0\0\0\0\0\0\x01\0\0\0\x24\0\0\0\x08\x02\0\0\ +\0\0\0\0\x0a\0\0\0\x35\0\0\0\x30\x02\0\0\0\0\0\0\x01\0\0\0\x30\0\0\0\x60\x02\0\ +\0\0\0\0\0\x0a\0\0\0\x36\0\0\0\x88\x02\0\0\0\0\0\0\x01\0\0\0\x30\0\0\0\xc0\x02\ +\0\0\0\0\0\0\x0a\0\0\0\x2c\0\0\0\x78\x03\0\0\0\0\0\0\x01\0\0\0\x5a\0\0\0\xc0\ +\x03\0\0\0\0\0\0\x01\0\0\0\x5b\0\0\0\xf0\x03\0\0\0\0\0\0\x01\0\0\0\x5c\0\0\0\ +\x20\x04\0\0\0\0\0\0\x01\0\0\0\x5b\0\0\0\x60\x04\0\0\0\0\0\0\x01\0\0\0\x5d\0\0\ +\0\x90\x04\0\0\0\0\0\0\x01\0\0\0\x5e\0\0\0\xb8\x04\0\0\0\0\0\0\x01\0\0\0\x5c\0\ +\0\0\xe8\x04\0\0\0\0\0\0\x01\0\0\0\x5e\0\0\0\x40\x05\0\0\0\0\0\0\x01\0\0\0\x37\ +\0\0\0\x58\x05\0\0\0\0\0\0\x01\0\0\0\x24\0\0\0\xb8\x05\0\0\0\0\0\0\x01\0\0\0\ +\x5f\0\0\0\x20\x06\0\0\0\0\0\0\x01\0\0\0\x37\0\0\0\x38\x06\0\0\0\0\0\0\x01\0\0\ +\0\x24\0\0\0\xb0\x06\0\0\0\0\0\0\x0a\0\0\0\x3c\0\0\0\xd0\x06\0\0\0\0\0\0\x01\0\ +\0\0\x57\0\0\0\xf0\x06\0\0\0\0\0\0\x01\0\0\0\x56\0\0\0\x08\x07\0\0\0\0\0\0\x01\ +\0\0\0\x58\0\0\0\x20\x07\0\0\0\0\0\0\x01\0\0\0\x59\0\0\0\x38\x07\0\0\0\0\0\0\ +\x0a\0\0\0\x29\0\0\0\x40\x07\0\0\0\0\0\0\x01\0\0\0\x2a\0\0\0\x60\x07\0\0\0\0\0\ +\0\x01\0\0\0\x2b\0\0\0\x88\x07\0\0\0\0\0\0\x0a\0\0\0\x2c\0\0\0\xa8\x07\0\0\0\0\ +\0\0\x01\0\0\0\x25\0\0\0\xc8\x07\0\0\0\0\0\0\x0a\0\0\0\x60\0\0\0\xd8\x07\0\0\0\ +\0\0\0\x01\0\0\0\x4a\0\0\0\x10\x08\0\0\0\0\0\0\x0a\0\0\0\x4b\0\0\0\x20\x08\0\0\ +\0\0\0\0\x0a\0\0\0\x4c\0\0\0\x40\x08\0\0\0\0\0\0\x01\0\0\0\x4a\0\0\0\x70\x08\0\ +\0\0\0\0\0\x0a\0\0\0\x4d\0\0\0\x78\x08\0\0\0\0\0\0\x0a\0\0\0\x2c\0\0\0\x88\x08\ +\0\0\0\0\0\0\x0a\0\0\0\x61\0\0\0\x90\x08\0\0\0\0\0\0\x01\0\0\0\x4f\0\0\0\xf0\ +\x08\0\0\0\0\0\0\x0a\0\0\0\x2e\0\0\0\xf8\x08\0\0\0\0\0\0\x01\0\0\0\x56\0\0\0\ +\x28\x09\0\0\0\0\0\0\x0a\0\0\0\x2e\0\0\0\x38\x09\0\0\0\0\0\0\x01\0\0\0\x57\0\0\ +\0\x50\x09\0\0\0\0\0\0\x01\0\0\0\x58\0\0\0\x98\x09\0\0\0\0\0\0\x0a\0\0\0\x2e\0\ +\0\0\xb0\x09\0\0\0\0\0\0\x01\0\0\0\x59\0\0\0\xe8\x09\0\0\0\0\0\0\x0a\0\0\0\x4c\ +\0\0\0\x18\x0a\0\0\0\0\0\0\x01\0\0\0\x25\0\0\0\x30\x0a\0\0\0\0\0\0\x0a\0\0\0\ +\x32\0\0\0\x18\0\0\0\0\0\0\0\x01\0\0\0\x28\0\0\0\x60\0\0\0\0\0\0\0\x0a\0\0\0\ +\x29\0\0\0\x78\0\0\0\0\0\0\0\x01\0\0\0\x2a\0\0\0\x98\0\0\0\0\0\0\0\x01\0\0\0\ +\x2b\0\0\0\xc0\0\0\0\0\0\0\0\x0a\0\0\0\x2c\0\0\0\xf8\0\0\0\0\0\0\0\x0a\0\0\0\ +\x2d\0\0\0\x10\x01\0\0\0\0\0\0\x0a\0\0\0\x2e\0\0\0\x30\x01\0\0\0\0\0\0\x0a\0\0\ +\0\x2f\0\0\0\x78\x01\0\0\0\0\0\0\x01\0\0\0\x30\0\0\0\xc0\x01\0\0\0\0\0\0\x0a\0\ +\0\0\x2e\0\0\0\xe0\x01\0\0\0\0\0\0\x0a\0\0\0\x2f\0\0\0\x20\x02\0\0\0\0\0\0\x01\ +\0\0\0\x30\0\0\0\x80\x02\0\0\0\0\0\0\x01\0\0\0\x31\0\0\0\xf0\x02\0\0\0\0\0\0\ +\x01\0\0\0\x25\0\0\0\x08\x03\0\0\0\0\0\0\x0a\0\0\0\x32\0\0\0\x18\x03\0\0\0\0\0\ +\0\x01\0\0\0\x02\0\0\0\x58\x03\0\0\0\0\0\0\x01\0\0\0\x25\0\0\0\x70\x03\0\0\0\0\ +\0\0\x0a\0\0\0\x32\0\0\0\xa8\x03\0\0\0\0\0\0\x01\0\0\0\x30\0\0\0\xe8\x03\0\0\0\ +\0\0\0\x01\0\0\0\x33\0\0\0\x18\x04\0\0\0\0\0\0\x0a\0\0\0\x34\0\0\0\x50\x04\0\0\ +\0\0\0\0\x01\0\0\0\x30\0\0\0\x88\x04\0\0\0\0\0\0\x0a\0\0\0\x34\0\0\0\xc0\x04\0\ +\0\0\0\0\0\x01\0\0\0\x30\0\0\0\x08\x05\0\0\0\0\0\0\x01\0\0\0\x25\0\0\0\x20\x05\ +\0\0\0\0\0\0\x0a\0\0\0\x32\0\0\0\x38\x05\0\0\0\0\0\0\x0a\0\0\0\x35\0\0\0\x50\ +\x05\0\0\0\0\0\0\x0a\0\0\0\x2e\0\0\0\x78\x05\0\0\0\0\0\0\x01\0\0\0\x24\0\0\0\ +\xa0\x05\0\0\0\0\0\0\x0a\0\0\0\x36\0\0\0\xa8\x05\0\0\0\0\0\0\x0a\0\0\0\x2c\0\0\ +\0\xf0\x05\0\0\0\0\0\0\x0a\0\0\0\x02\0\0\0\x30\x06\0\0\0\0\0\0\x01\0\0\0\x37\0\ +\0\0\x58\x06\0\0\0\0\0\0\x0a\0\0\0\x38\0\0\0\x80\x06\0\0\0\0\0\0\x01\0\0\0\x39\ +\0\0\0\xf8\x06\0\0\0\0\0\0\x01\0\0\0\x30\0\0\0\x50\x07\0\0\0\0\0\0\x0a\0\0\0\ +\x2d\0\0\0\x58\x07\0\0\0\0\0\0\x01\0\0\0\x33\0\0\0\x88\x07\0\0\0\0\0\0\x0a\0\0\ +\0\x34\0\0\0\xc0\x07\0\0\0\0\0\0\x01\0\0\0\x30\0\0\0\x18\x08\0\0\0\0\0\0\x0a\0\ +\0\0\x34\0\0\0\x50\x08\0\0\0\0\0\0\x01\0\0\0\x30\0\0\0\xb0\x08\0\0\0\0\0\0\x01\ +\0\0\0\x30\0\0\0\x08\x09\0\0\0\0\0\0\x0a\0\0\0\x34\0\0\0\x50\x09\0\0\0\0\0\0\ +\x01\0\0\0\x30\0\0\0\x98\x09\0\0\0\0\0\0\x0a\0\0\0\x2e\0\0\0\xc0\x09\0\0\0\0\0\ +\0\x0a\0\0\0\x2e\0\0\0\xe8\x09\0\0\0\0\0\0\x01\0\0\0\x3a\0\0\0\0\x0a\0\0\0\0\0\ +\0\x01\0\0\0\x24\0\0\0\x50\x0a\0\0\0\0\0\0\x0a\0\0\0\x35\0\0\0\x78\x0a\0\0\0\0\ +\0\0\x01\0\0\0\x30\0\0\0\xb8\x0a\0\0\0\0\0\0\x0a\0\0\0\x2c\0\0\0\xc8\x0a\0\0\0\ +\0\0\0\x0a\0\0\0\x2c\0\0\0\xf8\x0a\0\0\0\0\0\0\x0a\0\0\0\x36\0\0\0\x20\x0b\0\0\ +\0\0\0\0\x01\0\0\0\x30\0\0\0\x20\0\0\0\0\0\0\0\x01\0\0\0\x28\0\0\0\x70\0\0\0\0\ +\0\0\0\x01\0\0\0\x25\0\0\0\x88\0\0\0\0\0\0\0\x0a\0\0\0\x32\0\0\0\x98\0\0\0\0\0\ +\0\0\x01\0\0\0\x24\0\0\0\xc0\0\0\0\0\0\0\0\x01\0\0\0\x37\0\0\0\x10\x01\0\0\0\0\ +\0\0\x0a\0\0\0\x02\0\0\0\x20\x01\0\0\0\0\0\0\x01\0\0\0\x37\0\0\0\x58\x01\0\0\0\ +\0\0\0\x0a\0\0\0\x3c\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\x2b\0\0\0\x30\0\0\0\0\0\0\ +\0\x01\0\0\0\x2a\0\0\0\x78\0\0\0\0\0\0\0\x01\0\0\0\x25\0\0\0\xa0\0\0\0\0\0\0\0\ +\x01\0\0\0\x31\0\0\0\xe0\0\0\0\0\0\0\0\x01\0\0\0\x25\0\0\0\xf8\0\0\0\0\0\0\0\ +\x0a\0\0\0\x32\0\0\0\x18\x01\0\0\0\0\0\0\x0a\0\0\0\x3e\0\0\0\x40\x01\0\0\0\0\0\ +\0\x0a\0\0\0\x2e\0\0\0\x70\x01\0\0\0\0\0\0\x01\0\0\0\x37\0\0\0\xa8\x01\0\0\0\0\ +\0\0\x0a\0\0\0\x38\0\0\0\xe0\x01\0\0\0\0\0\0\x01\0\0\0\x30\0\0\0\x50\x02\0\0\0\ +\0\0\0\x0a\0\0\0\x3f\0\0\0\x80\x02\0\0\0\0\0\0\x01\0\0\0\x30\0\0\0\xc8\x02\0\0\ +\0\0\0\0\x0a\0\0\0\x36\0\0\0\xd0\x02\0\0\0\0\0\0\x01\0\0\0\x3a\0\0\0\xe8\x02\0\ +\0\0\0\0\0\x01\0\0\0\x24\0\0\0\x38\x03\0\0\0\0\0\0\x0a\0\0\0\x35\0\0\0\x60\x03\ +\0\0\0\0\0\0\x01\0\0\0\x30\0\0\0\xa0\x03\0\0\0\0\0\0\x01\0\0\0\x40\0\0\0\xe8\ +\x03\0\0\0\0\0\0\x01\0\0\0\x30\0\0\0\x20\x04\0\0\0\0\0\0\x0a\0\0\0\x36\0\0\0\ +\x48\x04\0\0\0\0\0\0\x01\0\0\0\x30\0\0\0\x90\x04\0\0\0\0\0\0\x01\0\0\0\x30\0\0\ +\0\x08\0\0\0\0\0\0\0\x01\0\0\0\x24\0\0\0\x08\0\0\0\0\0\0\0\x01\0\0\0\x37\0\0\0\ +\x08\0\0\0\0\0\0\0\x01\0\0\0\x28\0\0\0\x48\0\0\0\0\0\0\0\x0a\0\0\0\x44\0\0\0\ +\x80\0\0\0\0\0\0\0\x0a\0\0\0\x45\0\0\0\x08\0\0\0\0\0\0\0\x01\0\0\0\x24\0\0\0\ +\x28\0\0\0\0\0\0\0\x0a\0\0\0\x48\0\0\0\x58\0\0\0\0\0\0\0\x01\0\0\0\x25\0\0\0\ +\x70\0\0\0\0\0\0\0\x0a\0\0\0\x32\0\0\0\x88\0\0\0\0\0\0\0\x0a\0\0\0\x44\0\0\0\ +\xb0\0\0\0\0\0\0\0\x0a\0\0\0\x49\0\0\0\xb8\0\0\0\0\0\0\0\x01\0\0\0\x2a\0\0\0\ +\xe8\0\0\0\0\0\0\0\x0a\0\0\0\x45\0\0\0\xf0\0\0\0\0\0\0\0\x0a\0\0\0\x44\0\0\0\ +\x10\x01\0\0\0\0\0\0\x0a\0\0\0\x49\0\0\0\x18\x01\0\0\0\0\0\0\x01\0\0\0\x2b\0\0\ +\0\x48\x01\0\0\0\0\0\0\x0a\0\0\0\x45\0\0\0\x50\x01\0\0\0\0\0\0\x01\0\0\0\x4a\0\ +\0\0\x90\x01\0\0\0\0\0\0\x0a\0\0\0\x4b\0\0\0\xa0\x01\0\0\0\0\0\0\x0a\0\0\0\x4c\ +\0\0\0\xe8\x01\0\0\0\0\0\0\x01\0\0\0\x31\0\0\0\x30\x02\0\0\0\0\0\0\x01\0\0\0\ +\x25\0\0\0\x48\x02\0\0\0\0\0\0\x0a\0\0\0\x32\0\0\0\x70\x02\0\0\0\0\0\0\x01\0\0\ +\0\x31\0\0\0\xb8\x02\0\0\0\0\0\0\x01\0\0\0\x25\0\0\0\xd8\x02\0\0\0\0\0\0\x01\0\ +\0\0\x02\0\0\0\x18\x03\0\0\0\0\0\0\x01\0\0\0\x25\0\0\0\x40\x03\0\0\0\0\0\0\x0a\ +\0\0\0\x4c\0\0\0\x68\x03\0\0\0\0\0\0\x0a\0\0\0\x4d\0\0\0\x80\x03\0\0\0\0\0\0\ +\x01\0\0\0\x4e\0\0\0\xc8\x03\0\0\0\0\0\0\x01\0\0\0\x25\0\0\0\xe0\x03\0\0\0\0\0\ +\0\x0a\0\0\0\x32\0\0\0\0\x04\0\0\0\0\0\0\x01\0\0\0\x4e\0\0\0\x28\x04\0\0\0\0\0\ +\0\x01\0\0\0\x02\0\0\0\x40\x04\0\0\0\0\0\0\x01\0\0\0\x4f\0\0\0\xb0\x04\0\0\0\0\ +\0\0\x01\0\0\0\x25\0\0\0\xc8\x04\0\0\0\0\0\0\x0a\0\0\0\x32\0\0\0\xe8\x04\0\0\0\ +\0\0\0\x0a\0\0\0\x32\0\0\0\x08\x05\0\0\0\0\0\0\x0a\0\0\0\x4d\0\0\0\x10\0\0\0\0\ +\0\0\0\x01\0\0\0\x51\0\0\0\x20\0\0\0\0\0\0\0\x01\0\0\0\x51\0\0\0\x48\0\0\0\0\0\ +\0\0\x01\0\0\0\x51\0\0\0\x78\0\0\0\0\0\0\0\x01\0\0\0\x52\0\0\0\x98\0\0\0\0\0\0\ +\0\x01\0\0\0\x53\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\x55\0\0\0\x30\0\0\0\0\0\0\0\ +\x01\0\0\0\x23\0\0\0\x58\0\0\0\0\0\0\0\x01\0\0\0\x56\0\0\0\x78\0\0\0\0\0\0\0\ +\x01\0\0\0\x57\0\0\0\x98\0\0\0\0\0\0\0\x01\0\0\0\x58\0\0\0\xb8\0\0\0\0\0\0\0\ +\x01\0\0\0\x59\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x27\0\0\0\x08\0\0\0\0\0\0\0\x02\ +\0\0\0\x3b\0\0\0\x18\0\0\0\0\0\0\0\x02\0\0\0\x3d\0\0\0\x30\0\0\0\0\0\0\0\x02\0\ +\0\0\x41\0\0\0\x38\0\0\0\0\0\0\0\x02\0\0\0\x42\0\0\0\x80\0\0\0\0\0\0\0\x02\0\0\ +\0\x43\0\0\0\x90\0\0\0\0\0\0\0\x02\0\0\0\x46\0\0\0\xf8\0\0\0\0\0\0\0\x02\0\0\0\ +\x47\0\0\0\0\x01\0\0\0\0\0\0\x02\0\0\0\x50\0\0\0\x9f\xeb\x01\0\x18\0\0\0\0\0\0\ +\0\x58\x68\0\0\x58\x68\0\0\x3c\x60\0\0\0\0\0\0\0\0\0\x02\x03\0\0\0\x01\0\0\0\0\ +\0\0\x01\x04\0\0\0\x20\0\0\x01\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\ +\x1b\0\0\0\x05\0\0\0\0\0\0\x01\x04\0\0\0\x20\0\0\0\0\0\0\0\0\0\0\x02\x06\0\0\0\ +\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\0\0\x08\0\0\0\0\0\x02\0\0\x04\ +\x10\0\0\0\x19\0\0\0\x01\0\0\0\0\0\0\0\x1e\0\0\0\x05\0\0\0\x40\0\0\0\x2a\0\0\0\ +\0\0\0\x0e\x07\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x02\x0a\0\0\0\0\0\0\0\0\0\0\x03\0\ +\0\0\0\x02\0\0\0\x04\0\0\0\x1d\0\0\0\0\0\0\0\0\0\0\x02\x0c\0\0\0\0\0\0\0\0\0\0\ +\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x02\x02\0\0\0\0\0\0\0\ +\0\0\0\x02\x0f\0\0\0\x3a\0\0\0\x04\0\0\x04\x18\0\0\0\x43\0\0\0\x10\0\0\0\0\0\0\ +\0\x4c\0\0\0\x11\0\0\0\x40\0\0\0\x58\0\0\0\x14\0\0\0\x60\0\0\0\x66\0\0\0\x14\0\ +\0\0\x80\0\0\0\0\0\0\0\0\0\0\x02\x96\x02\0\0\x6f\0\0\0\0\0\0\x08\x12\0\0\0\x73\ +\0\0\0\0\0\0\x08\x13\0\0\0\x79\0\0\0\0\0\0\x01\x04\0\0\0\x20\0\0\0\x86\0\0\0\0\ +\0\0\x08\x15\0\0\0\x8a\0\0\0\0\0\0\x08\x02\0\0\0\0\0\0\0\x04\0\0\x04\x20\0\0\0\ +\x19\0\0\0\x09\0\0\0\0\0\0\0\x90\0\0\0\x0b\0\0\0\x40\0\0\0\x9a\0\0\0\x0d\0\0\0\ +\x80\0\0\0\x9e\0\0\0\x0e\0\0\0\xc0\0\0\0\xa4\0\0\0\0\0\0\x0e\x16\0\0\0\x01\0\0\ +\0\0\0\0\0\0\0\0\x02\x19\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\ +\x02\0\0\0\0\0\0\0\0\0\0\x02\x1b\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\ +\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\x02\x14\0\0\0\0\0\0\0\0\0\0\x02\x1e\0\0\0\xb2\0\ +\0\0\x02\0\0\x04\x18\0\0\0\xbb\0\0\0\x1f\0\0\0\0\0\0\0\xc1\0\0\0\x23\0\0\0\x80\ +\0\0\0\xd6\0\0\0\x01\0\0\x04\x10\0\0\0\xe0\0\0\0\x22\0\0\0\0\0\0\0\xe9\0\0\0\0\ +\0\0\x08\x21\0\0\0\xef\0\0\0\0\0\0\x01\x08\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\x03\0\ +\0\0\0\x20\0\0\0\x04\0\0\0\x02\0\0\0\x02\x01\0\0\0\0\0\x08\x24\0\0\0\x07\x01\0\ +\0\0\0\0\x01\x01\0\0\0\x08\0\0\x04\0\0\0\0\x04\0\0\x04\x20\0\0\0\x19\0\0\0\x18\ +\0\0\0\0\0\0\0\x1e\0\0\0\x1a\0\0\0\x40\0\0\0\x9a\0\0\0\x1c\0\0\0\x80\0\0\0\x9e\ +\0\0\0\x1d\0\0\0\xc0\0\0\0\x0d\x01\0\0\0\0\0\x0e\x25\0\0\0\x01\0\0\0\0\0\0\0\0\ +\0\0\x02\x11\0\0\0\0\0\0\0\0\0\0\x02\x29\0\0\0\x17\x01\0\0\x01\0\0\x04\x10\0\0\ +\0\xbb\0\0\0\x1f\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\x04\x20\0\0\0\x19\0\0\0\x18\0\0\ +\0\0\0\0\0\x1e\0\0\0\x0b\0\0\0\x40\0\0\0\x9a\0\0\0\x27\0\0\0\x80\0\0\0\x9e\0\0\ +\0\x28\0\0\0\xc0\0\0\0\x17\x01\0\0\0\0\0\x0e\x2a\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\ +\x02\x2d\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\0\x90\x01\0\x23\ +\x01\0\0\x04\0\0\x04\x20\0\0\0\x19\0\0\0\x0b\0\0\0\0\0\0\0\x1e\0\0\0\x2c\0\0\0\ +\x40\0\0\0\x9a\0\0\0\x27\0\0\0\x80\0\0\0\x9e\0\0\0\x27\0\0\0\xc0\0\0\0\x34\x01\ +\0\0\0\0\0\x0e\x2e\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x02\x31\0\0\0\0\0\0\0\0\0\0\ +\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\x0c\0\0\0\0\0\0\0\0\0\0\x02\x2e\0\0\0\0\0\0\0\ +\0\0\0\x03\0\0\0\0\x32\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\x04\x18\0\0\0\ +\x19\0\0\0\x30\0\0\0\0\0\0\0\x1e\0\0\0\x0b\0\0\0\x40\0\0\0\x9a\0\0\0\x27\0\0\0\ +\x80\0\0\0\x41\x01\0\0\x33\0\0\0\xc0\0\0\0\x48\x01\0\0\0\0\0\x0e\x34\0\0\0\x01\ +\0\0\0\0\0\0\0\0\0\0\x02\x37\0\0\0\x53\x01\0\0\x01\0\0\x04\x10\0\0\0\x5d\x01\0\ +\0\x39\0\0\0\0\0\0\0\x62\x01\0\0\0\0\0\x01\x01\0\0\0\x08\0\0\x01\0\0\0\0\0\0\0\ +\x03\0\0\0\0\x38\0\0\0\x04\0\0\0\x10\0\0\0\0\0\0\0\x04\0\0\x04\x20\0\0\0\x19\0\ +\0\0\x0b\0\0\0\0\0\0\0\x1e\0\0\0\x1a\0\0\0\x40\0\0\0\x9a\0\0\0\x36\0\0\0\x80\0\ +\0\0\x9e\0\0\0\x27\0\0\0\xc0\0\0\0\x67\x01\0\0\0\0\0\x0e\x3a\0\0\0\x01\0\0\0\ +\x77\x01\0\0\0\0\0\x0e\x3a\0\0\0\x01\0\0\0\0\0\0\0\x04\0\0\x04\x20\0\0\0\x19\0\ +\0\0\x0b\0\0\0\0\0\0\0\x1e\0\0\0\x1a\0\0\0\x40\0\0\0\x9a\0\0\0\x27\0\0\0\x80\0\ +\0\0\x9e\0\0\0\x27\0\0\0\xc0\0\0\0\x8a\x01\0\0\0\0\0\x0e\x3d\0\0\0\x01\0\0\0\ +\x98\x01\0\0\0\0\0\x0e\x3d\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x02\x41\0\0\0\0\0\0\0\ +\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\x02\x43\0\0\0\0\ +\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\x02\x45\0\ +\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\x02\ +\x47\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\x12\0\0\0\0\0\0\0\x04\ +\0\0\x04\x20\0\0\0\x19\0\0\0\x40\0\0\0\0\0\0\0\xa9\x01\0\0\x42\0\0\0\x40\0\0\0\ +\xb2\x01\0\0\x44\0\0\0\x80\0\0\0\x1e\0\0\0\x46\0\0\0\xc0\0\0\0\xbd\x01\0\0\0\0\ +\0\x0e\x48\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x02\x4b\0\0\0\xc3\x01\0\0\x02\0\0\x04\ +\x08\x04\0\0\xcf\x01\0\0\x4c\0\0\0\0\0\0\0\xd7\x01\0\0\x50\0\0\0\0\x20\0\0\xdd\ +\x01\0\0\0\0\0\x08\x4d\0\0\0\xcf\x01\0\0\x01\0\0\x04\0\x04\0\0\xe7\x01\0\0\x4f\ +\0\0\0\0\0\0\0\xec\x01\0\0\0\0\0\x01\x08\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\x03\0\0\ +\0\0\x4e\0\0\0\x04\0\0\0\x80\0\0\0\xfa\x01\0\0\0\0\0\x08\x51\0\0\0\x05\x02\0\0\ +\x01\0\0\x04\x04\0\0\0\x15\x02\0\0\x52\0\0\0\0\0\0\0\x1a\x02\0\0\0\0\0\x08\x53\ +\0\0\0\0\0\0\0\x01\0\0\x04\x04\0\0\0\x23\x02\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\x01\ +\0\0\x0d\x55\0\0\0\x2b\x02\0\0\x4a\0\0\0\0\0\0\0\0\0\0\x02\x56\0\0\0\0\0\0\0\0\ +\0\0\x0a\x4d\0\0\0\x30\x02\0\0\x01\0\0\x0c\x54\0\0\0\0\0\0\0\0\0\0\x02\x21\0\0\ +\0\0\0\0\0\x01\0\0\x0d\x14\0\0\0\x3a\x02\0\0\x58\0\0\0\x3e\x02\0\0\x01\0\0\x0c\ +\x59\0\0\0\0\0\0\0\0\0\0\x0d\0\0\0\0\x4e\x02\0\0\x02\0\0\x0c\x5b\0\0\0\x60\x02\ +\0\0\x02\0\0\x0c\x5b\0\0\0\x74\x02\0\0\x0e\x01\0\x84\x80\x36\0\0\x80\x02\0\0\ +\x5f\0\0\0\0\0\0\0\x8c\x02\0\0\x13\0\0\0\xc0\0\0\0\x94\x02\0\0\x13\0\0\0\xe0\0\ +\0\0\xa0\x02\0\0\x60\0\0\0\0\x01\0\0\xd7\x01\0\0\x50\0\0\0\x40\x01\0\0\xa6\x02\ +\0\0\x13\0\0\0\x60\x01\0\0\xac\x02\0\0\x13\0\0\0\x80\x01\0\0\xb3\x02\0\0\x02\0\ +\0\0\xa0\x01\0\0\xba\x02\0\0\x61\0\0\0\xc0\x01\0\0\xc5\x02\0\0\x13\0\0\0\x40\ +\x02\0\0\xd1\x02\0\0\x4e\0\0\0\x80\x02\0\0\xe5\x02\0\0\x68\0\0\0\xc0\x02\0\0\ +\xf0\x02\0\0\x02\0\0\0\0\x03\0\0\0\x03\0\0\x02\0\0\0\x20\x03\0\0\x09\x03\0\0\ +\x02\0\0\0\x40\x03\0\0\x0f\x03\0\0\x02\0\0\0\x60\x03\0\0\x14\x03\0\0\x02\0\0\0\ +\x80\x03\0\0\x20\x03\0\0\x02\0\0\0\xa0\x03\0\0\x2c\x03\0\0\x13\0\0\0\xc0\x03\0\ +\0\x38\x03\0\0\x69\0\0\0\0\x04\0\0\x3b\x03\0\0\x77\0\0\0\0\x0c\0\0\x3e\x03\0\0\ +\x79\0\0\0\x80\x0d\0\0\x41\x03\0\0\x88\0\0\0\x40\x15\0\0\x4b\x03\0\0\x8c\0\0\0\ +\x80\x15\0\0\x4f\x03\0\0\x94\0\0\0\0\x1c\0\0\x5b\x03\0\0\x6b\0\0\0\x40\x1c\0\0\ +\x65\x03\0\0\x4e\0\0\0\0\x1d\0\0\x71\x03\0\0\x13\0\0\0\x40\x1d\0\0\x81\x03\0\0\ +\x96\0\0\0\x80\x1d\0\0\x92\x03\0\0\x98\0\0\0\xc0\x1d\0\0\x9d\x03\0\0\x98\0\0\0\ +\0\x1e\0\0\xbd\x01\0\0\x99\0\0\0\0\x20\0\0\xa4\x03\0\0\x9a\0\0\0\0\x28\0\0\xb6\ +\x03\0\0\x13\0\0\0\x40\x28\0\0\xc1\x03\0\0\x13\0\0\0\x60\x28\0\0\xc8\x03\0\0\ +\x4e\0\0\0\x80\x28\0\0\xdd\x03\0\0\x02\0\0\0\xc0\x28\0\0\xed\x03\0\0\x9c\0\0\0\ +\0\x29\0\0\xf6\x03\0\0\x9e\0\0\0\x40\x29\0\0\x04\x04\0\0\x4c\0\0\0\x80\x29\0\0\ +\x0e\x04\0\0\x60\0\0\0\x80\x49\0\0\x20\x04\0\0\x67\0\0\0\xc0\x49\0\0\x33\x04\0\ +\0\x67\0\0\0\xd0\x49\0\0\x43\x04\0\0\x02\0\0\0\xe0\x49\0\0\x59\x04\0\0\x9f\0\0\ +\0\0\x4a\0\0\x71\x04\0\0\x6e\0\0\0\x40\x4a\0\0\x80\x04\0\0\xa1\0\0\0\xc0\x4a\0\ +\0\x91\x04\0\0\x4e\0\0\0\0\x4b\0\0\xa1\x04\0\0\x82\0\0\0\x40\x4b\0\0\xb3\x04\0\ +\0\x82\0\0\0\x48\x4b\0\0\xc1\x04\0\0\x02\0\0\0\x60\x4b\0\0\xd4\x04\0\0\x6e\0\0\ +\0\x80\x4b\0\0\xeb\x04\0\0\x02\0\0\0\0\x4c\0\0\xfe\x04\0\0\x6e\0\0\0\x40\x4c\0\ +\0\x12\x05\0\0\x02\0\0\0\xc0\x4c\0\0\x25\x05\0\0\x02\0\0\0\xe0\x4c\0\0\x34\x05\ +\0\0\x9f\0\0\0\0\x4d\0\0\x47\x05\0\0\x6e\0\0\0\x40\x4d\0\0\x58\x05\0\0\x6e\0\0\ +\0\xc0\x4d\0\0\x66\x05\0\0\x02\0\0\0\x40\x4e\0\0\x73\x05\0\0\xa2\0\0\0\x80\x4e\ +\0\0\x7e\x05\0\0\x6e\0\0\0\x80\x4f\0\0\x84\x05\0\0\xa3\0\0\0\0\x50\0\0\x93\x05\ +\0\0\x6b\0\0\0\x40\x51\0\0\xa5\x05\0\0\xa4\0\0\0\0\x52\0\0\xa8\x05\0\0\xa4\0\0\ +\0\x40\x52\0\0\xb2\x05\0\0\xa5\0\0\0\x80\x52\0\0\xca\x05\0\0\x02\0\0\0\xc0\x52\ +\0\0\xd5\x05\0\0\x02\0\0\0\xe0\x52\0\0\xdf\x05\0\0\x02\0\0\0\0\x53\0\0\xeb\x05\ +\0\0\x02\0\0\0\x20\x53\0\0\xf9\x05\0\0\x4e\0\0\0\x40\x53\0\0\0\x06\0\0\x13\0\0\ +\0\x80\x53\0\0\x0c\x06\0\0\x13\0\0\0\xa0\x53\0\x01\x20\x06\0\0\x13\0\0\0\xa1\ +\x53\0\x01\x3a\x06\0\0\x13\0\0\0\xa2\x53\0\x01\x49\x06\0\0\x13\0\0\0\xc0\x53\0\ +\x01\x5d\x06\0\0\x13\0\0\0\xc1\x53\0\x01\x6c\x06\0\0\x13\0\0\0\xc2\x53\0\x01\ +\x76\x06\0\0\x13\0\0\0\xc3\x53\0\x01\x80\x06\0\0\x13\0\0\0\xc4\x53\0\x01\x90\ +\x06\0\0\x13\0\0\0\xc5\x53\0\x01\x9d\x06\0\0\x13\0\0\0\xc6\x53\0\x01\xb1\x06\0\ +\0\x13\0\0\0\xc7\x53\0\x01\xb8\x06\0\0\x13\0\0\0\xc8\x53\0\x01\xc5\x06\0\0\x13\ +\0\0\0\xc9\x53\0\x01\xd1\x06\0\0\x13\0\0\0\xca\x53\0\x01\xdc\x06\0\0\x13\0\0\0\ +\xcb\x53\0\x01\xec\x06\0\0\x13\0\0\0\xcc\x53\0\x01\0\x07\0\0\x13\0\0\0\xcd\x53\ +\0\x01\x0d\x07\0\0\x4e\0\0\0\0\x54\0\0\x1a\x07\0\0\xa6\0\0\0\x40\x54\0\0\x28\ +\x07\0\0\xb6\0\0\0\0\x56\0\0\x2c\x07\0\0\xb6\0\0\0\x20\x56\0\0\x31\x07\0\0\x4e\ +\0\0\0\x40\x56\0\0\x3e\x07\0\0\x68\0\0\0\x80\x56\0\0\x4a\x07\0\0\x68\0\0\0\xc0\ +\x56\0\0\x51\x07\0\0\x6e\0\0\0\0\x57\0\0\x5a\x07\0\0\x6e\0\0\0\x80\x57\0\0\x62\ +\x07\0\0\x68\0\0\0\0\x58\0\0\x6f\x07\0\0\x6e\0\0\0\x40\x58\0\0\x77\x07\0\0\x6e\ +\0\0\0\xc0\x58\0\0\x84\x07\0\0\xb8\0\0\0\x40\x59\0\0\x8f\x07\0\0\xbb\0\0\0\x80\ +\x59\0\0\x99\x07\0\0\x6e\0\0\0\x80\x5b\0\0\xa5\x07\0\0\xbc\0\0\0\0\x5c\0\0\xb0\ +\x07\0\0\x0d\0\0\0\x40\x5c\0\0\xbe\x07\0\0\x0d\0\0\0\x80\x5c\0\0\xce\x07\0\0\ +\x60\0\0\0\xc0\x5c\0\0\xdd\x07\0\0\x6d\0\0\0\0\x5d\0\0\xe3\x07\0\0\x6d\0\0\0\ +\x40\x5d\0\0\xe9\x07\0\0\x6d\0\0\0\x80\x5d\0\0\xef\x07\0\0\xbd\0\0\0\xc0\x5d\0\ +\0\xfc\x07\0\0\xc5\0\0\0\x80\x5e\0\0\x02\x08\0\0\x52\0\0\0\0\x60\0\0\x10\x08\0\ +\0\x4e\0\0\0\x40\x60\0\0\x16\x08\0\0\x4e\0\0\0\x80\x60\0\0\x1d\x08\0\0\x6d\0\0\ +\0\xc0\x60\0\0\x28\x08\0\0\x6d\0\0\0\0\x61\0\0\x37\x08\0\0\x4e\0\0\0\x40\x61\0\ +\0\x3f\x08\0\0\x4e\0\0\0\x80\x61\0\0\x47\x08\0\0\xc9\0\0\0\xc0\x61\0\0\x57\x08\ +\0\0\xcf\0\0\0\x40\x64\0\0\x6c\x08\0\0\xd6\0\0\0\0\x66\0\0\x79\x08\0\0\xd6\0\0\ +\0\x40\x66\0\0\x83\x08\0\0\xd6\0\0\0\x80\x66\0\0\x88\x08\0\0\xe3\0\0\0\xc0\x66\ +\0\0\x5d\x01\0\0\x39\0\0\0\0\x67\0\0\x9d\x08\0\0\xe9\0\0\0\x80\x67\0\0\xa7\x08\ +\0\0\xea\0\0\0\xc0\x67\0\0\xaf\x08\0\0\xec\0\0\0\0\x68\0\0\xb7\x08\0\0\x4e\0\0\ +\0\x80\x68\0\0\xc9\x08\0\0\x4e\0\0\0\xc0\x68\0\0\xda\x08\0\0\xed\0\0\0\0\x69\0\ +\0\xdd\x08\0\0\xee\0\0\0\x40\x69\0\0\xe3\x08\0\0\xef\0\0\0\x80\x69\0\0\xec\x08\ +\0\0\xf0\0\0\0\xc0\x69\0\0\xf4\x08\0\0\xf1\0\0\0\0\x6a\0\0\xfb\x08\0\0\xf2\0\0\ +\0\x40\x6a\0\0\x03\x09\0\0\xf3\0\0\0\x80\x6a\0\0\x0b\x09\0\0\xf3\0\0\0\xc0\x6a\ +\0\0\x18\x09\0\0\xf3\0\0\0\0\x6b\0\0\x26\x09\0\0\xf6\0\0\0\x40\x6b\0\0\x2e\x09\ +\0\0\x4e\0\0\0\0\x6c\0\0\x38\x09\0\0\xf7\0\0\0\x40\x6c\0\0\x44\x09\0\0\x13\0\0\ +\0\x80\x6c\0\0\x51\x09\0\0\xd1\0\0\0\xc0\x6c\0\0\x5c\x09\0\0\xfa\0\0\0\0\x6d\0\ +\0\x6a\x09\0\0\xd9\0\0\0\x40\x6d\0\0\x73\x09\0\0\x13\0\0\0\x60\x6d\0\0\x7d\x09\ +\0\0\xfb\0\0\0\x80\x6d\0\0\x85\x09\0\0\xfd\0\0\0\0\x6e\0\0\x96\x09\0\0\x6d\0\0\ +\0\0\x6f\0\0\xa5\x09\0\0\x6d\0\0\0\x40\x6f\0\0\xb2\x09\0\0\xff\0\0\0\x80\x6f\0\ +\0\xbd\x09\0\0\xbe\0\0\0\xa0\x6f\0\0\xc5\x09\0\0\x02\x01\0\0\xc0\x6f\0\0\xcc\ +\x09\0\0\xcc\0\0\0\0\x70\0\0\xd7\x09\0\0\x68\0\0\0\x80\x70\0\0\xe3\x09\0\0\x04\ +\x01\0\0\xc0\x70\0\0\xf1\x09\0\0\x13\0\0\0\0\x71\0\0\xfa\x09\0\0\x60\0\0\0\x40\ +\x71\0\0\x07\x0a\0\0\x05\x01\0\0\x80\x71\0\0\x10\x0a\0\0\x06\x01\0\0\xc0\x71\0\ +\0\x15\x0a\0\0\x07\x01\0\0\0\x72\0\0\x23\x0a\0\0\x08\x01\0\0\x40\x72\0\0\x2e\ +\x0a\0\0\x09\x01\0\0\x80\x72\0\0\x3e\x0a\0\0\x4e\0\0\0\xc0\x72\0\0\x4d\x0a\0\0\ +\x0a\x01\0\0\0\x73\0\0\x5a\x0a\0\0\x0c\x01\0\0\x40\x73\0\0\x5f\x0a\0\0\x13\0\0\ +\0\0\x75\0\0\x69\x0a\0\0\x6d\0\0\0\x40\x75\0\0\x77\x0a\0\0\x6d\0\0\0\x80\x75\0\ +\0\x84\x0a\0\0\x6d\0\0\0\xc0\x75\0\0\x91\x0a\0\0\x0d\x01\0\0\0\x76\0\0\x9e\x0a\ +\0\0\x10\x01\0\0\0\x7a\0\0\xaf\x0a\0\0\x02\0\0\0\x20\x7a\0\0\xc7\x0a\0\0\x12\ +\x01\0\0\x40\x7a\0\0\xcf\x0a\0\0\x6e\0\0\0\x80\x7a\0\0\xd7\x0a\0\0\x11\0\0\0\0\ +\x7b\0\0\xde\x0a\0\0\x11\0\0\0\x20\x7b\0\0\xe3\x0a\0\0\x13\x01\0\0\x40\x7b\0\0\ +\xef\x0a\0\0\x14\x01\0\0\x80\x7b\0\0\x02\x0b\0\0\x6e\0\0\0\xc0\x7b\0\0\x10\x0b\ +\0\0\x15\x01\0\0\x40\x7c\0\0\x1f\x0b\0\0\xd4\0\0\0\x80\x7c\0\0\x30\x0b\0\0\x13\ +\0\0\0\x80\x7d\0\0\x3c\x0b\0\0\x16\x01\0\0\xa0\x7d\0\0\x4b\x0b\0\0\x17\x01\0\0\ +\xc0\x7d\0\0\x5b\x0b\0\0\xd4\0\0\0\0\x7e\0\0\x6c\x0b\0\0\x6e\0\0\0\0\x7f\0\0\ +\x7c\x0b\0\0\x18\x01\0\0\x80\x7f\0\0\x86\x0b\0\0\x19\x01\0\0\xc0\x7f\0\0\x8e\ +\x0b\0\0\x82\0\0\0\xd0\x7f\0\0\x98\x0b\0\0\x19\x01\0\0\xe0\x7f\0\0\xa7\x0b\0\0\ +\x02\0\0\0\0\x80\0\0\xb5\x0b\0\0\x13\0\0\0\x20\x80\0\0\xc6\x0b\0\0\x13\0\0\0\ +\x40\x80\0\0\xdb\x0b\0\0\x02\0\0\0\x60\x80\0\0\xee\x0b\0\0\x4e\0\0\0\x80\x80\0\ +\0\x01\x0c\0\0\x6d\0\0\0\xc0\x80\0\0\x0c\x0c\0\0\x6d\0\0\0\0\x81\0\0\x25\x0c\0\ +\0\x6d\0\0\0\x40\x81\0\0\x3b\x0c\0\0\xd0\0\0\0\x80\x81\0\0\x45\x0c\0\0\x1a\x01\ +\0\0\0\x82\0\0\x50\x0c\0\0\x1b\x01\0\0\x40\x82\0\0\x5c\x0c\0\0\x4e\0\0\0\x80\ +\x82\0\0\x6e\x0c\0\0\x1c\x01\0\0\xc0\x82\0\0\x83\x0c\0\0\x4e\0\0\0\x80\x83\0\0\ +\x97\x0c\0\0\x1d\x01\0\0\xc0\x83\0\0\x9c\x0c\0\0\x11\0\0\0\0\x84\0\0\xa5\x0c\0\ +\0\x11\0\0\0\x20\x84\0\0\xae\x0c\0\0\x4e\0\0\0\x40\x84\0\0\xbe\x0c\0\0\x02\0\0\ +\0\x80\x84\0\0\xc5\x0c\0\0\x02\0\0\0\xa0\x84\0\0\xd1\x0c\0\0\x02\0\0\0\xc0\x84\ +\0\0\xe2\x0c\0\0\x02\0\0\0\xe0\x84\0\0\xf0\x0c\0\0\xd0\0\0\0\0\x85\0\0\xf9\x0c\ +\0\0\x1e\x01\0\0\x80\x85\0\0\x01\x0d\0\0\x20\x01\0\0\xc0\xa5\0\0\x0d\x0d\0\0\ +\x21\x01\0\0\0\xa6\0\0\x17\x0d\0\0\x23\x01\0\0\x80\xa6\0\0\x1e\x0d\0\0\x02\0\0\ +\0\xc0\xa6\0\0\x29\x0d\0\0\x02\0\0\0\xe0\xa6\0\0\x3a\x0d\0\0\x4e\0\0\0\0\xa7\0\ +\0\x4c\x0d\0\0\x02\0\0\0\x40\xa7\0\0\x61\x0d\0\0\x26\x01\0\0\x80\xa7\0\0\x70\ +\x0d\0\0\x6d\0\0\0\x80\x1f\x01\0\x7f\x0d\0\0\x6d\0\0\0\xc0\x1f\x01\0\x96\x0d\0\ +\0\x02\0\0\0\0\x20\x01\0\xa5\x0d\0\0\x02\0\0\0\x20\x20\x01\0\xb4\x0d\0\0\x1b\ +\x01\0\0\x40\x20\x01\0\xbe\x0d\0\0\x21\0\0\0\x80\x20\x01\0\xcf\x0d\0\0\x52\0\0\ +\0\xc0\x20\x01\0\xdd\x0d\0\0\x52\0\0\0\xe0\x20\x01\0\xf1\x0d\0\0\x4e\0\0\0\0\ +\x21\x01\0\x01\x0e\0\0\x13\0\0\0\x40\x21\x01\0\x1a\x0e\0\0\x27\x01\0\0\x80\x21\ +\x01\0\x27\x0e\0\0\x28\x01\0\0\xc0\x21\x01\0\x2d\x0e\0\0\x29\x01\0\0\0\x22\x01\ +\0\x3b\x0e\0\0\x2a\x01\0\0\x40\x22\x01\0\x41\x0e\0\0\x13\0\0\0\x80\x22\x01\0\ +\x4f\x0e\0\0\x13\0\0\0\xa0\x22\x01\0\x61\x0e\0\0\x2b\x01\0\0\xc0\x22\x01\0\x6b\ +\x0e\0\0\xd0\0\0\0\xc0\x22\x01\0\x6f\x0e\0\0\x50\0\0\0\x40\x23\x01\0\x79\x0e\0\ +\0\x02\0\0\0\x60\x23\x01\0\x8c\x0e\0\0\x68\0\0\0\x80\x23\x01\0\x9c\x0e\0\0\x2c\ +\x01\0\0\xc0\x23\x01\0\xad\x0e\0\0\x30\x01\0\0\0\x25\x01\0\xbb\x0e\0\0\x50\0\0\ +\0\x40\x25\x01\0\xca\x0e\0\0\x02\0\0\0\x60\x25\x01\0\xd6\x0e\0\0\x60\0\0\0\x80\ +\x25\x01\0\xdf\x0e\0\0\x31\x01\0\0\xc0\x25\x01\0\xeb\x0e\0\0\x32\x01\0\0\0\x26\ +\x01\0\xf3\x0e\0\0\x33\x01\0\0\x40\x26\x01\0\x03\x0f\0\0\x60\0\0\0\x80\x26\x01\ +\0\x0d\x0f\0\0\x20\0\0\0\xc0\x26\x01\0\x18\x0f\0\0\x6d\0\0\0\0\x27\x01\0\x21\ +\x0f\0\0\x20\0\0\0\x40\x27\x01\x01\x2a\x0f\0\0\x20\0\0\0\x41\x27\x01\x01\x39\ +\x0f\0\0\x20\0\0\0\x42\x27\x01\x3e\x48\x0f\0\0\xd0\0\0\0\x80\x27\x01\0\x54\x0f\ +\0\0\x02\0\0\0\0\x28\x01\0\x5e\x0f\0\0\x34\x01\0\0\x40\x28\x01\0\x72\x0f\0\0\ +\x34\x01\0\0\x80\x28\x01\0\x7b\x0f\0\0\xd0\0\0\0\xc0\x28\x01\0\x8a\x0f\0\0\x37\ +\x01\0\0\x40\x29\x01\0\x8d\x0f\0\0\x38\x01\0\0\x80\x29\x01\0\x9b\x0f\0\0\x39\ +\x01\0\0\0\x2a\x01\0\x80\x02\0\0\x04\0\0\x04\x18\0\0\0\xa6\x02\0\0\x4e\0\0\0\0\ +\0\0\0\xa2\x0f\0\0\x4e\0\0\0\x40\0\0\0\xaf\x0f\0\0\x11\0\0\0\x80\0\0\0\xb6\x0f\ +\0\0\x11\0\0\0\xa0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\xba\x0f\0\0\x04\0\0\x04\x10\ +\0\0\0\xcd\x0f\0\0\x62\0\0\0\0\0\0\0\0\0\0\0\x64\0\0\0\x40\0\0\0\xd3\x0f\0\0\ +\x65\0\0\0\x60\0\0\0\xd7\x0f\0\0\x65\0\0\0\x70\0\0\0\xdb\x0f\0\0\x01\0\0\x04\ +\x08\0\0\0\xe6\x0f\0\0\x63\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x62\0\0\0\0\0\0\0\ +\x02\0\0\x05\x04\0\0\0\xeb\x0f\0\0\x13\0\0\0\0\0\0\0\xf3\x0f\0\0\x52\0\0\0\0\0\ +\0\0\xfb\x0f\0\0\0\0\0\x08\x66\0\0\0\xff\x0f\0\0\0\0\0\x08\x67\0\0\0\x05\x10\0\ +\0\0\0\0\x01\x02\0\0\0\x10\0\0\0\0\0\0\0\0\0\0\x02\x5e\0\0\0\x14\x10\0\0\x17\0\ +\0\x04\0\x01\0\0\x21\x10\0\0\x6a\0\0\0\0\0\0\0\x26\x10\0\0\x6b\0\0\0\x80\0\0\0\ +\x2f\x10\0\0\x6d\0\0\0\x40\x01\0\0\x38\x10\0\0\x6d\0\0\0\x80\x01\0\0\x45\x10\0\ +\0\x6d\0\0\0\xc0\x01\0\0\x4f\x10\0\0\x6e\0\0\0\0\x02\0\0\x09\x03\0\0\x70\0\0\0\ +\x80\x02\0\0\x5a\x10\0\0\x70\0\0\0\x88\x02\0\0\x68\x10\0\0\x70\0\0\0\x90\x02\0\ +\0\x75\x10\0\0\x70\0\0\0\x98\x02\0\0\x82\x10\0\0\x6d\0\0\0\xc0\x02\0\0\x8d\x10\ +\0\0\x6d\0\0\0\0\x03\0\0\x9e\x10\0\0\x6d\0\0\0\x40\x03\0\0\xb4\x10\0\0\x6d\0\0\ +\0\x80\x03\0\0\xbd\x10\0\0\x71\0\0\0\xc0\x03\0\0\xc2\x10\0\0\x6d\0\0\0\0\x04\0\ +\0\xc8\x10\0\0\x6d\0\0\0\x40\x04\0\0\xd6\x10\0\0\x02\0\0\0\x80\x04\0\0\x4a\x07\ +\0\0\x74\0\0\0\xc0\x04\0\0\xdc\x10\0\0\x75\0\0\0\0\x05\0\0\xe3\x10\0\0\x75\0\0\ +\0\x40\x05\0\0\xe8\x10\0\0\x4e\0\0\0\x80\x05\0\0\xf8\x10\0\0\x76\0\0\0\0\x06\0\ +\0\xfc\x10\0\0\x02\0\0\x04\x10\0\0\0\x08\x11\0\0\x4e\0\0\0\0\0\0\0\x0f\x11\0\0\ +\x11\0\0\0\x40\0\0\0\x1a\x11\0\0\x03\0\0\x04\x18\0\0\0\x22\x11\0\0\x4e\0\0\0\0\ +\0\0\0\x34\x11\0\0\x6c\0\0\0\x40\0\0\0\x3d\x11\0\0\x6c\0\0\0\x80\0\0\0\0\0\0\0\ +\0\0\0\x02\x6b\0\0\0\x45\x11\0\0\0\0\0\x08\x20\0\0\0\x49\x11\0\0\x02\0\0\x04\ +\x10\0\0\0\xe6\x0f\0\0\x6f\0\0\0\0\0\0\0\x53\x11\0\0\x6f\0\0\0\x40\0\0\0\0\0\0\ +\0\0\0\0\x02\x6e\0\0\0\x58\x11\0\0\0\0\0\x01\x01\0\0\0\x08\0\0\0\x66\x11\0\0\0\ +\0\0\x08\x72\0\0\0\x6a\x11\0\0\0\0\0\x08\x73\0\0\0\x70\x11\0\0\0\0\0\x01\x08\0\ +\0\0\x40\0\0\x01\0\0\0\0\0\0\0\x02\x69\0\0\0\0\0\0\0\0\0\0\x02\x9e\x02\0\0\x7a\ +\x11\0\0\x09\0\0\x04\x40\0\0\0\x84\x11\0\0\x6d\0\0\0\0\0\0\0\x95\x11\0\0\x6d\0\ +\0\0\x40\0\0\0\x9e\x11\0\0\x6d\0\0\0\x80\0\0\0\xab\x11\0\0\x11\0\0\0\xc0\0\0\0\ +\xb4\x11\0\0\x11\0\0\0\xe0\0\0\0\xc3\x11\0\0\x4e\0\0\0\0\x01\0\0\xcc\x11\0\0\ +\x4e\0\0\0\x40\x01\0\0\xd9\x11\0\0\x4e\0\0\0\x80\x01\0\0\xe2\x11\0\0\x13\0\0\0\ +\xc0\x01\0\0\xeb\x11\0\0\x07\0\0\x04\x30\0\0\0\xfb\x11\0\0\x6e\0\0\0\0\0\0\0\ +\x04\x12\0\0\x4e\0\0\0\x80\0\0\0\x0c\x12\0\0\x4e\0\0\0\xc0\0\0\0\x1b\x12\0\0\ +\x13\0\0\0\0\x01\0\0\x09\x03\0\0\x67\0\0\0\x20\x01\0\0\x26\x12\0\0\x67\0\0\0\ +\x30\x01\0\0\x2e\x12\0\0\x78\0\0\0\x40\x01\0\0\0\0\0\0\0\0\0\x02\x77\0\0\0\x33\ +\x12\0\0\x17\0\0\x84\xf8\0\0\0\x1a\x11\0\0\x6b\0\0\0\0\0\0\0\x43\x12\0\0\x6d\0\ +\0\0\xc0\0\0\0\x4e\x12\0\0\x6d\0\0\0\0\x01\0\0\x5a\x12\0\0\x6d\0\0\0\x40\x01\0\ +\0\x64\x12\0\0\x6d\0\0\0\x80\x01\0\0\x6a\x12\0\0\x6d\0\0\0\xc0\x01\0\0\x75\x12\ +\0\0\x71\0\0\0\0\x02\0\0\x2f\x10\0\0\x6d\0\0\0\x40\x02\0\0\xa6\x02\0\0\x13\0\0\ +\0\x80\x02\0\0\x7d\x12\0\0\x13\0\0\0\xa0\x02\0\x01\x8a\x12\0\0\x13\0\0\0\xa1\ +\x02\0\x01\x95\x12\0\0\x13\0\0\0\xa2\x02\0\x01\xa7\x12\0\0\x13\0\0\0\xa3\x02\0\ +\x01\x41\x03\0\0\x13\0\0\0\xa4\x02\0\x01\xb2\x12\0\0\x13\0\0\0\xa5\x02\0\x01\ +\xbb\x12\0\0\x13\0\0\0\xa6\x02\0\x01\xca\x12\0\0\x13\0\0\0\xa7\x02\0\x01\xdb\ +\x12\0\0\x7a\0\0\0\xc0\x02\0\0\xe4\x12\0\0\x7a\0\0\0\xc0\x04\0\0\xf3\x12\0\0\ +\x84\0\0\0\xc0\x06\0\0\xf6\x12\0\0\x85\0\0\0\0\x07\0\0\x07\x13\0\0\x89\0\0\0\ +\x40\x07\0\0\x18\x13\0\0\x88\0\0\0\x80\x07\0\0\x1e\x13\0\0\x08\0\0\x04\x40\0\0\ +\0\x26\x13\0\0\x7b\0\0\0\0\0\0\0\x2b\x13\0\0\x7c\0\0\0\0\x01\0\0\x38\x13\0\0\ +\x7d\0\0\0\x40\x01\0\0\x41\x13\0\0\x81\0\0\0\x80\x01\0\0\x46\x13\0\0\x82\0\0\0\ +\xc0\x01\0\0\x4c\x13\0\0\x82\0\0\0\xc8\x01\0\0\x53\x13\0\0\x82\0\0\0\xd0\x01\0\ +\0\x5b\x13\0\0\x82\0\0\0\xd8\x01\0\0\x63\x13\0\0\x02\0\0\x04\x20\0\0\0\x26\x13\ +\0\0\x6b\0\0\0\0\0\0\0\x73\x13\0\0\x7c\0\0\0\xc0\0\0\0\x7b\x13\0\0\0\0\0\x08\ +\x71\0\0\0\0\0\0\0\0\0\0\x02\x7e\0\0\0\0\0\0\0\x01\0\0\x0d\x7f\0\0\0\0\0\0\0\ +\x80\0\0\0\x83\x13\0\0\x02\0\0\x06\x04\0\0\0\x93\x13\0\0\0\0\0\0\xa5\x13\0\0\ +\x01\0\0\0\0\0\0\0\0\0\0\x02\x7a\0\0\0\0\0\0\0\0\0\0\x02\xa1\x02\0\0\xb5\x13\0\ +\0\0\0\0\x08\x83\0\0\0\xb8\x13\0\0\0\0\0\x08\x70\0\0\0\0\0\0\0\0\0\0\x02\x9d\ +\x02\0\0\xbd\x13\0\0\0\0\0\x08\x86\0\0\0\0\0\0\0\0\0\0\x02\x87\0\0\0\0\0\0\0\ +\x01\0\0\x0d\x23\0\0\0\0\0\0\0\x88\0\0\0\0\0\0\0\0\0\0\x02\x79\0\0\0\xd3\x13\0\ +\0\0\0\0\x08\x8a\0\0\0\0\0\0\0\0\0\0\x02\x8b\0\0\0\0\0\0\0\x01\0\0\x0d\x68\0\0\ +\0\0\0\0\0\x88\0\0\0\xe4\x13\0\0\x16\0\0\x04\xd0\0\0\0\xf5\x13\0\0\x8d\0\0\0\0\ +\0\0\0\xf9\x13\0\0\x8e\0\0\0\x40\0\0\0\x02\x14\0\0\x6b\0\0\0\0\x01\0\0\x0b\x14\ +\0\0\x11\0\0\0\xc0\x01\0\0\x13\x14\0\0\x11\0\0\0\xe0\x01\0\0\xa6\x02\0\0\x11\0\ +\0\0\0\x02\0\0\x08\x11\0\0\x11\0\0\0\x20\x02\0\0\x1d\x14\0\0\x14\0\0\0\x40\x02\ +\0\0\x28\x14\0\0\x14\0\0\0\x60\x02\0\0\x34\x14\0\0\x11\0\0\0\x80\x02\0\0\x3c\ +\x14\0\0\x8f\0\0\0\xc0\x02\0\0\x45\x14\0\0\x90\0\0\0\x40\x03\0\0\x4f\x14\0\0\ +\x6e\0\0\0\x80\x03\0\0\x5d\x14\0\0\x4e\0\0\0\0\x04\0\0\x69\x14\0\0\x6d\0\0\0\ +\x40\x04\0\0\x77\x14\0\0\x6d\0\0\0\x80\x04\0\0\x83\x14\0\0\x6d\0\0\0\xc0\x04\0\ +\0\xc2\x10\0\0\x6d\0\0\0\0\x05\0\0\x92\x14\0\0\x6d\0\0\0\x40\x05\0\0\x9c\x14\0\ +\0\x23\0\0\0\x80\x05\0\0\xa5\x14\0\0\x93\0\0\0\xc0\x05\0\0\xb6\x14\0\0\x6e\0\0\ +\0\0\x06\0\0\0\0\0\0\0\0\0\x02\xa0\x02\0\0\xc1\x14\0\0\x03\0\0\x04\x18\0\0\0\ +\x26\x13\0\0\x6e\0\0\0\0\0\0\0\xa6\x02\0\0\x11\0\0\0\x80\0\0\0\xd3\x14\0\0\x11\ +\0\0\0\xa0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x68\0\0\0\x04\0\0\0\x02\0\0\0\xd8\ +\x14\0\0\0\0\0\x08\x91\0\0\0\xe6\x14\0\0\0\0\0\x08\x92\0\0\0\0\0\0\0\x01\0\0\ +\x04\x08\0\0\0\x23\x02\0\0\x71\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x33\x02\0\0\0\0\ +\0\0\0\0\0\x02\x95\0\0\0\0\0\0\0\0\0\0\x0a\xcb\x02\0\0\0\0\0\0\0\0\0\x02\xca\ +\x02\0\0\xf1\x14\0\0\x04\0\0\x84\x04\0\0\0\x9e\0\0\0\x13\0\0\0\0\0\0\x0b\xfb\ +\x14\0\0\x13\0\0\0\x0b\0\0\x03\x05\x15\0\0\x13\0\0\0\x0e\0\0\x01\x0c\x15\0\0\ +\x13\0\0\0\x0f\0\0\x01\0\0\0\0\0\0\0\x03\0\0\0\0\x97\0\0\0\x04\0\0\0\x02\0\0\0\ +\x19\x15\0\0\x1d\0\0\x04\0\x01\0\0\x2a\x15\0\0\x6d\0\0\0\0\0\0\0\x35\x15\0\0\ +\x6d\0\0\0\x40\0\0\0\x3e\x15\0\0\x6d\0\0\0\x80\0\0\0\x49\x15\0\0\x6d\0\0\0\xc0\ +\0\0\0\x52\x15\0\0\x6d\0\0\0\0\x01\0\0\x5f\x15\0\0\x6d\0\0\0\x40\x01\0\0\x6a\ +\x15\0\0\x6d\0\0\0\x80\x01\0\0\x76\x15\0\0\x6d\0\0\0\xc0\x01\0\0\x80\x15\0\0\ +\x71\0\0\0\0\x02\0\0\x92\x15\0\0\x6d\0\0\0\x40\x02\0\0\x9e\x15\0\0\x6d\0\0\0\ +\x80\x02\0\0\xa8\x15\0\0\x71\0\0\0\xc0\x02\0\0\xba\x15\0\0\x71\0\0\0\0\x03\0\0\ +\xc3\x15\0\0\x6d\0\0\0\x40\x03\0\0\xcd\x15\0\0\x6d\0\0\0\x80\x03\0\0\xe0\x15\0\ +\0\x6d\0\0\0\xc0\x03\0\0\xfc\x15\0\0\x6d\0\0\0\0\x04\0\0\x19\x16\0\0\x6d\0\0\0\ +\x40\x04\0\0\x32\x16\0\0\x6d\0\0\0\x80\x04\0\0\x47\x16\0\0\x6d\0\0\0\xc0\x04\0\ +\0\x52\x16\0\0\x6d\0\0\0\0\x05\0\0\x62\x16\0\0\x6d\0\0\0\x40\x05\0\0\x75\x16\0\ +\0\x6d\0\0\0\x80\x05\0\0\x86\x16\0\0\x6d\0\0\0\xc0\x05\0\0\x98\x16\0\0\x6d\0\0\ +\0\0\x06\0\0\xaa\x16\0\0\x6d\0\0\0\x40\x06\0\0\xc5\x16\0\0\x6d\0\0\0\x80\x06\0\ +\0\xd8\x16\0\0\x6d\0\0\0\xc0\x06\0\0\xe8\x16\0\0\x6d\0\0\0\0\x07\0\0\xfb\x16\0\ +\0\x01\0\0\x04\x08\0\0\0\x06\x17\0\0\x9b\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\xb9\0\ +\0\0\0\0\0\0\0\0\0\x02\x9d\0\0\0\0\0\0\0\0\0\0\x0a\x4c\0\0\0\0\0\0\0\0\0\0\x02\ +\x4c\0\0\0\x0c\x17\0\0\x02\0\0\x05\x04\0\0\0\x18\x17\0\0\xa0\0\0\0\0\0\0\0\x1a\ +\x17\0\0\x11\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\x04\x04\0\0\0\x03\x09\0\0\x82\0\0\0\ +\0\0\0\0\x1c\x17\0\0\x82\0\0\0\x08\0\0\0\x24\x17\0\0\x82\0\0\0\x10\0\0\0\x2d\ +\x17\0\0\x82\0\0\0\x18\0\0\0\0\0\0\0\0\0\0\x02\xcc\x02\0\0\x73\x05\0\0\x04\0\0\ +\x04\x20\0\0\0\x35\x17\0\0\x4e\0\0\0\0\0\0\0\x3c\x17\0\0\x21\0\0\0\x40\0\0\0\ +\x46\x17\0\0\x21\0\0\0\x80\0\0\0\x53\x17\0\0\x21\0\0\0\xc0\0\0\0\x5f\x17\0\0\ +\x03\0\0\x04\x28\0\0\0\x0f\x03\0\0\x02\0\0\0\0\0\0\0\x6a\x17\0\0\x6e\0\0\0\x40\ +\0\0\0\x74\x17\0\0\x6e\0\0\0\xc0\0\0\0\0\0\0\0\0\0\0\x02\x9f\x02\0\0\0\0\0\0\0\ +\0\0\x02\xa2\x02\0\0\x1a\x07\0\0\x03\0\0\x04\x38\0\0\0\x7e\x17\0\0\x4e\0\0\0\0\ +\0\0\0\x88\x17\0\0\xa7\0\0\0\x40\0\0\0\0\0\0\0\xab\0\0\0\x80\0\0\0\0\0\0\0\0\0\ +\0\x02\xa8\0\0\0\0\0\0\0\x01\0\0\x0d\xa9\0\0\0\0\0\0\0\xaa\0\0\0\x8b\x17\0\0\0\ +\0\0\x01\x08\0\0\0\x40\0\0\x01\0\0\0\0\0\0\0\x02\xa6\0\0\0\0\0\0\0\x03\0\0\x05\ +\x28\0\0\0\x90\x17\0\0\xac\0\0\0\0\0\0\0\x96\x17\0\0\xad\0\0\0\0\0\0\0\xa0\x17\ +\0\0\xb4\0\0\0\0\0\0\0\0\0\0\0\x06\0\0\x04\x28\0\0\0\xa5\x17\0\0\x27\0\0\0\0\0\ +\0\0\xab\x17\0\0\x11\0\0\0\x40\0\0\0\xa6\x02\0\0\x11\0\0\0\x60\0\0\0\xaf\x17\0\ +\0\x11\0\0\0\x80\0\0\0\xb6\x17\0\0\x6d\0\0\0\xc0\0\0\0\xbb\x17\0\0\x27\0\0\0\0\ +\x01\0\0\0\0\0\0\x04\0\0\x04\x18\0\0\0\xc2\x17\0\0\xae\0\0\0\0\0\0\0\x19\0\0\0\ +\xb0\0\0\0\x20\0\0\0\0\0\0\0\xb1\0\0\0\x40\0\0\0\x73\x13\0\0\x6d\0\0\0\x80\0\0\ +\0\xca\x17\0\0\0\0\0\x08\xaf\0\0\0\xd4\x17\0\0\0\0\0\x08\x02\0\0\0\xe7\x17\0\0\ +\x03\0\0\x06\x04\0\0\0\xf5\x17\0\0\0\0\0\0\xfd\x17\0\0\x01\0\0\0\x07\x18\0\0\ +\x02\0\0\0\0\0\0\0\x02\0\0\x05\x08\0\0\0\x11\x18\0\0\xb2\0\0\0\0\0\0\0\x16\x18\ +\0\0\xb3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\xce\x02\0\0\0\0\0\0\0\0\0\x02\xcf\x02\ +\0\0\0\0\0\0\x05\0\0\x04\x20\0\0\0\x22\x18\0\0\xb5\0\0\0\0\0\0\0\x27\x18\0\0\ +\x02\0\0\0\x40\0\0\0\x2c\x18\0\0\x02\0\0\0\x60\0\0\0\x38\x18\0\0\x4e\0\0\0\x80\ +\0\0\0\x3f\x18\0\0\x4e\0\0\0\xc0\0\0\0\0\0\0\0\0\0\0\x02\xd0\x02\0\0\x47\x18\0\ +\0\0\0\0\x08\xb7\0\0\0\x4d\x18\0\0\0\0\0\x08\x02\0\0\0\0\0\0\0\0\0\0\x02\xc3\ +\x02\0\0\x5c\x18\0\0\x02\0\0\x04\x10\0\0\0\xe6\x0f\0\0\x9b\0\0\0\0\0\0\0\x67\ +\x18\0\0\xba\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\x02\x9b\0\0\0\0\0\0\0\0\0\0\x03\0\0\ +\0\0\xb9\0\0\0\x04\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\x02\xa5\x02\0\0\xef\x07\0\0\ +\x03\0\0\x04\x18\0\0\0\xdd\x07\0\0\x6d\0\0\0\0\0\0\0\xe3\x07\0\0\x6d\0\0\0\x40\ +\0\0\0\x6d\x18\0\0\xbe\0\0\0\x80\0\0\0\x72\x18\0\0\0\0\0\x08\xbf\0\0\0\x81\x18\ +\0\0\x01\0\0\x04\x04\0\0\0\x8e\x18\0\0\xc0\0\0\0\0\0\0\0\x97\x18\0\0\0\0\0\x08\ +\xc1\0\0\0\xa7\x18\0\0\x01\0\0\x04\x04\0\0\0\0\0\0\0\xc2\0\0\0\0\0\0\0\0\0\0\0\ +\x03\0\0\x05\x04\0\0\0\xab\x17\0\0\x52\0\0\0\0\0\0\0\0\0\0\0\xc3\0\0\0\0\0\0\0\ +\0\0\0\0\xc4\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\x04\x02\0\0\0\xb1\x18\0\0\x82\0\0\0\ +\0\0\0\0\x26\x09\0\0\x82\0\0\0\x08\0\0\0\0\0\0\0\x02\0\0\x04\x04\0\0\0\xb8\x18\ +\0\0\x65\0\0\0\0\0\0\0\xc7\x18\0\0\x65\0\0\0\x10\0\0\0\xfc\x07\0\0\x07\0\0\x04\ +\x30\0\0\0\xcc\x18\0\0\xc6\0\0\0\0\0\0\0\xd5\x18\0\0\x21\0\0\0\x40\0\0\0\x46\ +\x13\0\0\xc8\0\0\0\x80\0\0\0\xb6\x0f\0\0\x13\0\0\0\xa0\0\0\0\xdd\x07\0\0\x6d\0\ +\0\0\xc0\0\0\0\xe3\x07\0\0\x6d\0\0\0\0\x01\0\0\xe9\x07\0\0\x6d\0\0\0\x40\x01\0\ +\0\xdf\x18\0\0\0\0\0\x08\xc7\0\0\0\xcc\x18\0\0\x01\0\0\x04\x04\0\0\0\xea\x18\0\ +\0\x13\0\0\0\0\0\0\0\xf3\x18\0\0\x05\0\0\x06\x04\0\0\0\xff\x18\0\0\0\0\0\0\x0e\ +\x19\0\0\x01\0\0\0\x19\x19\0\0\x02\0\0\0\x23\x19\0\0\x03\0\0\0\x2e\x19\0\0\x04\ +\0\0\0\x47\x08\0\0\x03\0\0\x04\x50\0\0\0\x3a\x19\0\0\xce\0\0\0\0\0\0\0\x40\x19\ +\0\0\x13\0\0\0\x40\x02\0\0\x4e\x19\0\0\x13\0\0\0\x60\x02\0\0\x5c\x19\0\0\x02\0\ +\0\x04\x18\0\0\0\x70\x19\0\0\x6d\0\0\0\0\0\0\0\x78\x19\0\0\xcb\0\0\0\x40\0\0\0\ +\x7f\x19\0\0\x01\0\0\x04\x10\0\0\0\x8f\x19\0\0\xcc\0\0\0\0\0\0\0\x97\x19\0\0\ +\x02\0\0\x04\x10\0\0\0\x8f\x19\0\0\xcd\0\0\0\0\0\0\0\xa6\x19\0\0\x6c\0\0\0\x40\ +\0\0\0\x8f\x19\0\0\x01\0\0\x04\x08\0\0\0\x1a\x11\0\0\x6c\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\x03\0\0\0\0\xca\0\0\0\x04\0\0\0\x03\0\0\0\x57\x08\0\0\x03\0\0\x04\x38\0\ +\0\0\xb2\x19\0\0\xd0\0\0\0\0\0\0\0\xb7\x19\0\0\xd4\0\0\0\x80\0\0\0\xbd\x19\0\0\ +\x13\0\0\0\x80\x01\0\0\xc7\x19\0\0\x02\0\0\x04\x10\0\0\0\xe6\x0f\0\0\xd1\0\0\0\ +\0\0\0\0\xd5\x19\0\0\xd2\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\x02\xd0\0\0\0\0\0\0\0\0\ +\0\0\x02\xd3\0\0\0\0\0\0\0\x01\0\0\x0d\0\0\0\0\0\0\0\0\xd1\0\0\0\xb7\x19\0\0\ +\x04\0\0\x04\x20\0\0\0\xda\x19\0\0\x90\0\0\0\0\0\0\0\xe0\x19\0\0\xbe\0\0\0\x40\ +\0\0\0\xea\x19\0\0\xd5\0\0\0\x60\0\0\0\xee\x19\0\0\x6e\0\0\0\x80\0\0\0\xf8\x19\ +\0\0\x01\0\0\x04\x04\0\0\0\xc7\x18\0\0\x52\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\xd7\ +\0\0\0\0\0\0\0\0\0\0\x0a\xd8\0\0\0\x83\x08\0\0\x1a\0\0\x04\xb8\0\0\0\xd7\x01\0\ +\0\x90\0\0\0\0\0\0\0\x0e\x1a\0\0\xd9\0\0\0\x40\0\0\0\x12\x1a\0\0\xdd\0\0\0\x60\ +\0\0\0\x16\x1a\0\0\xd9\0\0\0\x80\0\0\0\x1b\x1a\0\0\xdd\0\0\0\xa0\0\0\0\x20\x1a\ +\0\0\xd9\0\0\0\xc0\0\0\0\x25\x1a\0\0\xdd\0\0\0\xe0\0\0\0\x2a\x1a\0\0\xd9\0\0\0\ +\0\x01\0\0\x30\x1a\0\0\xdd\0\0\0\x20\x01\0\0\x36\x1a\0\0\x13\0\0\0\x40\x01\0\0\ +\x41\x1a\0\0\xe1\0\0\0\x80\x01\0\0\x51\x1a\0\0\xe1\0\0\0\xc0\x01\0\0\x5f\x1a\0\ +\0\xe1\0\0\0\0\x02\0\0\x6d\x1a\0\0\xe1\0\0\0\x40\x02\0\0\x76\x1a\0\0\xe1\0\0\0\ +\x80\x02\0\0\x82\x1a\0\0\x70\0\0\0\xc0\x02\0\0\x8e\x1a\0\0\xe3\0\0\0\0\x03\0\0\ +\x9e\x1a\0\0\xe3\0\0\0\x40\x03\0\0\xae\x1a\0\0\xe3\0\0\0\x80\x03\0\0\xbd\x1a\0\ +\0\xe3\0\0\0\xc0\x03\0\0\xd6\x0e\0\0\x60\0\0\0\0\x04\0\0\xce\x1a\0\0\xe4\0\0\0\ +\x40\x04\0\0\xd3\x1a\0\0\xe5\0\0\0\x80\x04\0\0\xdb\x1a\0\0\xe6\0\0\0\xc0\x04\0\ +\0\xe3\x1a\0\0\xe7\0\0\0\0\x05\0\0\0\0\0\0\xe8\0\0\0\x40\x05\0\0\xee\x1a\0\0\0\ +\0\0\x08\xda\0\0\0\0\0\0\0\x01\0\0\x04\x04\0\0\0\xab\x17\0\0\xdb\0\0\0\0\0\0\0\ +\xf5\x1a\0\0\0\0\0\x08\xdc\0\0\0\xfb\x1a\0\0\0\0\0\x08\x13\0\0\0\x0c\x1b\0\0\0\ +\0\0\x08\xde\0\0\0\0\0\0\0\x01\0\0\x04\x04\0\0\0\xab\x17\0\0\xdf\0\0\0\0\0\0\0\ +\x13\x1b\0\0\0\0\0\x08\xe0\0\0\0\x19\x1b\0\0\0\0\0\x08\x13\0\0\0\x2a\x1b\0\0\0\ +\0\0\x08\xe2\0\0\0\0\0\0\0\x01\0\0\x04\x08\0\0\0\xab\x17\0\0\x6d\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\x02\xbc\x02\0\0\0\0\0\0\0\0\0\x02\xb8\x02\0\0\0\0\0\0\0\0\0\x02\ +\xa9\x02\0\0\0\0\0\0\0\0\0\x02\xab\x02\0\0\0\0\0\0\0\0\0\x02\xbf\x02\0\0\0\0\0\ +\0\x02\0\0\x05\x10\0\0\0\x37\x1b\0\0\x02\0\0\0\0\0\0\0\x6b\x0e\0\0\xd0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\x02\xd1\x02\0\0\x3f\x1b\0\0\x01\0\0\x04\x08\0\0\0\x48\x1b\ +\0\0\xeb\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\xd2\x02\0\0\x52\x1b\0\0\x01\0\0\x04\ +\x10\0\0\0\x5b\x1b\0\0\x6e\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\xbb\x02\0\0\0\0\0\0\ +\0\0\0\x02\xd3\x02\0\0\0\0\0\0\0\0\0\x02\xd4\x02\0\0\0\0\0\0\0\0\0\x02\xaa\x02\ +\0\0\0\0\0\0\0\0\0\x02\xcd\x02\0\0\0\0\0\0\0\0\0\x02\xd6\x02\0\0\x65\x1b\0\0\0\ +\0\0\x08\xf4\0\0\0\0\0\0\0\x01\0\0\x04\x08\0\0\0\x6e\x1b\0\0\xf5\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\x03\0\0\0\0\x4e\0\0\0\x04\0\0\0\x01\0\0\0\x72\x1b\0\0\x02\0\0\ +\x04\x18\0\0\0\x7d\x1b\0\0\x6e\0\0\0\0\0\0\0\xf4\x08\0\0\xf3\0\0\0\x80\0\0\0\ +\x82\x1b\0\0\0\0\0\x08\xf8\0\0\0\x89\x1b\0\0\0\0\0\x08\xf9\0\0\0\x99\x1b\0\0\0\ +\0\0\x08\x4e\0\0\0\0\0\0\0\0\0\0\x02\xd7\x02\0\0\x7d\x09\0\0\x03\0\0\x04\x10\0\ +\0\0\xaa\x1b\0\0\x02\0\0\0\0\0\0\0\xaf\x1b\0\0\x52\0\0\0\x20\0\0\0\xbc\x1b\0\0\ +\xfc\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\x02\xd8\x02\0\0\xc3\x1b\0\0\x04\0\0\x04\x20\ +\0\0\0\xd9\x1b\0\0\xfe\0\0\0\0\0\0\0\xe2\x1b\0\0\x4e\0\0\0\x40\0\0\0\xe9\x1b\0\ +\0\x4e\0\0\0\x80\0\0\0\xed\x1b\0\0\x23\0\0\0\xc0\0\0\0\0\0\0\0\0\0\0\x02\x38\0\ +\0\0\xf9\x1b\0\0\0\0\0\x08\0\x01\0\0\x04\x1c\0\0\x01\0\0\x04\x04\0\0\0\0\0\0\0\ +\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\0\x05\x04\0\0\0\x0d\x1c\0\0\xbf\0\0\0\0\0\0\ +\0\x13\x1c\0\0\x01\0\0\x04\x08\0\0\0\xe6\x0f\0\0\x03\x01\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\x02\x02\x01\0\0\0\0\0\0\0\0\0\x02\xd9\x02\0\0\0\0\0\0\0\0\0\x02\xc1\x02\0\ +\0\0\0\0\0\0\0\0\x02\xd5\x02\0\0\0\0\0\0\0\0\0\x02\xda\x02\0\0\0\0\0\0\0\0\0\ +\x02\xc2\x02\0\0\0\0\0\0\0\0\0\x02\xdb\x02\0\0\0\0\0\0\0\0\0\x02\x0b\x01\0\0\ +\x1f\x1c\0\0\0\0\0\x08\xc9\x02\0\0\x30\x1c\0\0\x07\0\0\x04\x38\0\0\0\x43\x1c\0\ +\0\x6d\0\0\0\0\0\0\0\x49\x1c\0\0\x6d\0\0\0\x40\0\0\0\x4f\x1c\0\0\x6d\0\0\0\x80\ +\0\0\0\x55\x1c\0\0\x6d\0\0\0\xc0\0\0\0\x5b\x1c\0\0\x6d\0\0\0\0\x01\0\0\x66\x1c\ +\0\0\x6d\0\0\0\x40\x01\0\0\x72\x1c\0\0\x6d\0\0\0\x80\x01\0\0\x88\x1c\0\0\0\0\0\ +\x08\x0e\x01\0\0\0\0\0\0\x01\0\0\x04\x80\0\0\0\xe7\x01\0\0\x0f\x01\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\x03\0\0\0\0\x4e\0\0\0\x04\0\0\0\x10\0\0\0\x93\x1c\0\0\0\0\0\x08\ +\x11\x01\0\0\xa7\x1c\0\0\x01\0\0\x04\x04\0\0\0\xcc\x18\0\0\xc6\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\x02\xad\x02\0\0\0\0\0\0\0\0\0\x02\xdc\x02\0\0\0\0\0\0\0\0\0\x02\ +\xdd\x02\0\0\0\0\0\0\0\0\0\x02\xde\x02\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x82\0\0\0\ +\x04\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\x02\x9b\x02\0\0\0\0\0\0\0\0\0\x02\xa4\x02\0\ +\0\xb9\x1c\0\0\0\0\0\x01\x02\0\0\0\x10\0\0\x01\0\0\0\0\0\0\0\x02\xdf\x02\0\0\0\ +\0\0\0\0\0\0\x02\x4e\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x4e\0\0\0\x04\0\0\0\x03\0\ +\0\0\0\0\0\0\0\0\0\x02\xe0\x02\0\0\xbf\x1c\0\0\x03\0\0\x04\x08\x04\0\0\xd4\x1c\ +\0\0\x1f\x01\0\0\0\0\0\0\xd9\x1c\0\0\x23\0\0\0\0\x20\0\0\xe8\x1c\0\0\x23\0\0\0\ +\x08\x20\0\0\xf1\x1c\0\0\x01\0\0\x04\0\x04\0\0\xcf\x01\0\0\x4d\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\x02\xbd\x02\0\0\x0b\x1d\0\0\x03\0\0\x04\x10\0\0\0\x15\x1d\0\0\x22\ +\x01\0\0\0\0\0\0\xe2\x1b\0\0\x12\0\0\0\x40\0\0\0\x1a\x1d\0\0\x12\0\0\0\x60\0\0\ +\0\0\0\0\0\0\0\0\x02\xa3\x02\0\0\0\0\0\0\0\0\0\x02\xe1\x02\0\0\x61\x0d\0\0\x04\ +\0\0\x04\x78\0\0\0\x1f\x1d\0\0\x25\x01\0\0\0\0\0\0\x29\x1d\0\0\x13\0\0\0\0\x03\ +\0\0\xb6\x17\0\0\x4e\0\0\0\x40\x03\0\0\x2f\x1d\0\0\x4e\0\0\0\x80\x03\0\0\0\0\0\ +\0\0\0\0\x03\0\0\0\0\x4e\0\0\0\x04\0\0\0\x0c\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\ +\x24\x01\0\0\x04\0\0\0\x20\0\0\0\0\0\0\0\0\0\0\x02\xa8\x02\0\0\0\0\0\0\0\0\0\ +\x02\xa6\x02\0\0\0\0\0\0\0\0\0\x02\xc0\x02\0\0\0\0\0\0\0\0\0\x02\xe2\x02\0\0\ +\x61\x0e\0\0\0\0\0\x04\0\0\0\0\x33\x1d\0\0\x04\0\0\x04\x28\0\0\0\x3e\x1d\0\0\ +\xb9\0\0\0\0\0\0\0\x73\x13\0\0\x4e\0\0\0\x80\0\0\0\x38\x13\0\0\x2d\x01\0\0\xc0\ +\0\0\0\xa6\x02\0\0\x11\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\x02\x2e\x01\0\0\0\0\0\0\ +\x01\0\0\x0d\0\0\0\0\0\0\0\0\x2f\x01\0\0\0\0\0\0\0\0\0\x02\x2c\x01\0\0\0\0\0\0\ +\0\0\0\x02\xb7\x02\0\0\0\0\0\0\0\0\0\x02\xb5\x02\0\0\0\0\0\0\0\0\0\x02\xe3\x02\ +\0\0\0\0\0\0\0\0\0\x02\xe4\x02\0\0\x44\x1d\0\0\x01\0\0\x04\x08\0\0\0\x06\x17\0\ +\0\x63\0\0\0\0\0\0\0\x4f\x1d\0\0\x01\0\0\x05\x08\0\0\0\x5f\x1d\0\0\x36\x01\0\0\ +\0\0\0\0\x66\x1d\0\0\x02\0\0\x04\x08\0\0\0\x71\x1d\0\0\x23\0\0\0\0\0\0\0\x7c\ +\x1d\0\0\x13\0\0\0\x20\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x35\x01\0\0\x04\0\0\0\ +\x01\0\0\0\0\0\0\0\0\0\0\x02\xe5\x02\0\0\x87\x1d\0\0\x16\0\0\x84\x40\x11\0\0\ +\x95\x1d\0\0\x3b\x01\0\0\0\0\0\0\x9f\x1d\0\0\x4e\0\0\0\xc0\0\0\0\xa2\x1d\0\0\ +\x67\0\0\0\0\x01\0\0\xa5\x1d\0\0\x67\0\0\0\x10\x01\0\0\xa8\x1d\0\0\x67\0\0\0\ +\x20\x01\0\0\xb0\x1d\0\0\x67\0\0\0\x30\x01\0\0\xb8\x1d\0\0\x4e\0\0\0\x40\x01\0\ +\0\xbf\x1d\0\0\x4e\0\0\0\x80\x01\0\0\xc6\x1d\0\0\x94\x01\0\0\xc0\x01\0\0\xd1\ +\x1d\0\0\x4e\0\0\0\xc0\x02\0\0\xdd\x1d\0\0\x4e\0\0\0\0\x03\0\0\xe8\x1d\0\0\x4e\ +\0\0\0\x40\x03\0\0\xec\x1d\0\0\x4e\0\0\0\x80\x03\0\0\xf4\x1d\0\0\x4e\0\0\0\xc0\ +\x03\0\0\xff\x1d\0\0\x95\x01\0\0\0\x04\0\0\x09\x1e\0\0\x4e\0\0\0\x40\x04\0\0\ +\x13\x1e\0\0\x13\0\0\0\x80\x04\0\x01\x1d\x1e\0\0\x11\0\0\0\xa0\x04\0\0\x22\x1e\ +\0\0\x4e\0\0\0\xc0\x04\0\0\x2b\x1e\0\0\x4e\0\0\0\0\x05\0\0\x3b\x1e\0\0\x96\x01\ +\0\0\x40\x05\0\0\x41\x1e\0\0\x97\x01\0\0\0\x06\0\0\x45\x1e\0\0\x0d\0\0\x84\x08\ +\0\0\0\x51\x1e\0\0\x65\0\0\0\0\0\0\0\x58\x1e\0\0\x65\0\0\0\x10\0\0\0\x5e\x1e\0\ +\0\x65\0\0\0\x20\0\0\x08\x19\0\0\0\x65\0\0\0\x28\0\0\x04\x1a\x17\0\0\x65\0\0\0\ +\x2c\0\0\x01\x64\x1e\0\0\x65\0\0\0\x2d\0\0\x02\x68\x1e\0\0\x65\0\0\0\x2f\0\0\ +\x01\x6a\x1e\0\0\x65\0\0\0\x30\0\0\x04\x71\x1e\0\0\x65\0\0\0\x34\0\0\x01\x75\ +\x1e\0\0\x65\0\0\0\x35\0\0\x01\x77\x1e\0\0\x65\0\0\0\x36\0\0\x01\x79\x1e\0\0\ +\x65\0\0\0\x37\0\0\x01\x7b\x1e\0\0\x65\0\0\0\x38\0\0\x08\0\0\0\0\0\0\0\x03\0\0\ +\0\0\x3a\x01\0\0\x04\0\0\0\x03\0\0\0\0\0\0\0\0\0\0\x02\x3d\x01\0\0\x81\x1e\0\0\ +\x4e\0\0\x04\x30\x05\0\0\x8c\x1e\0\0\x6e\0\0\0\0\0\0\0\x98\x1e\0\0\x6e\0\0\0\ +\x80\0\0\0\xa5\x1e\0\0\x6e\0\0\0\0\x01\0\0\x4f\x10\0\0\x6b\0\0\0\x80\x01\0\0\ +\xb1\x1e\0\0\x6d\0\0\0\x40\x02\0\0\xbd\x1e\0\0\x6e\0\0\0\x80\x02\0\0\xcb\x1e\0\ +\0\xb9\0\0\0\0\x03\0\0\xd7\x1e\0\0\x6e\0\0\0\x80\x03\0\0\xe4\x1e\0\0\x02\0\0\0\ +\0\x04\0\0\xf0\x1e\0\0\x02\0\0\0\x20\x04\0\0\xfb\x1e\0\0\x02\0\0\0\x40\x04\0\0\ +\x06\x1f\0\0\x13\0\0\0\x60\x04\0\0\x62\x07\0\0\x3c\x01\0\0\x80\x04\0\0\x17\x1f\ +\0\0\x3e\x01\0\0\xc0\x04\0\0\x1b\x1f\0\0\x60\0\0\0\0\x05\0\0\x46\x13\0\0\x3f\ +\x01\0\0\x40\x05\0\0\x27\x1f\0\0\x13\0\0\0\x60\x05\0\0\x29\x1d\0\0\x40\x01\0\0\ +\x80\x05\0\0\x34\x1f\0\0\x91\0\0\0\xc0\x05\0\0\x40\x1f\0\0\x6d\0\0\0\0\x06\0\0\ +\x53\x1f\0\0\x6d\0\0\0\x40\x06\0\0\x66\x1f\0\0\x6d\0\0\0\x80\x06\0\0\x6d\x1f\0\ +\0\x44\x01\0\0\xc0\x06\0\0\x72\x1f\0\0\x65\0\0\0\0\x0b\0\0\x7e\x1f\0\0\x65\0\0\ +\0\x10\x0b\0\0\x8d\x1f\0\0\x65\0\0\0\x20\x0b\0\0\x97\x1f\0\0\x49\x01\0\0\x40\ +\x0b\0\0\x3a\x02\0\0\x17\x01\0\0\x40\x11\0\0\x9a\x1f\0\0\x5b\x01\0\0\x80\x11\0\ +\0\xa2\x1f\0\0\x90\0\0\0\xc0\x11\0\0\xab\x1f\0\0\x91\0\0\0\0\x12\0\0\xc4\x1f\0\ +\0\x91\0\0\0\x40\x12\0\0\xdd\x1f\0\0\xd4\0\0\0\x80\x12\0\0\xe9\x1f\0\0\x6e\0\0\ +\0\x80\x13\0\0\x4a\x07\0\0\x3c\x01\0\0\0\x14\0\0\xf4\x1f\0\0\x02\0\0\0\x40\x14\ +\0\0\xb6\x0f\0\0\x02\0\0\0\x60\x14\0\0\xfa\x1f\0\0\x6e\0\0\0\x80\x14\0\0\xda\ +\x19\0\0\x68\0\0\0\0\x15\0\0\x06\x20\0\0\xd4\0\0\0\x40\x15\0\0\x11\x20\0\0\x52\ +\0\0\0\x40\x16\0\0\x1c\x20\0\0\x5c\x01\0\0\x80\x16\0\0\x1f\x20\0\0\x6e\0\0\0\ +\xc0\x16\0\0\x28\x20\0\0\x4e\0\0\0\x40\x17\0\0\x34\x20\0\0\x02\0\0\0\x80\x17\0\ +\0\x40\x20\0\0\x5d\x01\0\0\xc0\x17\0\0\x46\x20\0\0\x5f\x01\0\0\x80\x18\0\0\x4d\ +\x20\0\0\x13\0\0\0\xc0\x18\0\0\x5c\x20\0\0\x13\0\0\0\xe0\x18\0\0\x69\x20\0\0\ +\x13\0\0\0\0\x19\0\0\x79\x20\0\0\x4e\0\0\0\x40\x19\0\0\x86\x20\0\0\x60\x01\0\0\ +\x80\x19\0\0\x92\x20\0\0\x60\x01\0\0\x80\x1a\0\0\xa6\x20\0\0\xd0\0\0\0\x80\x1b\ +\0\0\xb3\x20\0\0\x13\0\0\0\0\x1c\0\0\xc0\x20\0\0\x64\x01\0\0\x40\x1c\0\0\xd2\ +\x20\0\0\x52\0\0\0\x80\x1c\0\0\xde\x20\0\0\x65\x01\0\0\xc0\x1c\0\0\xeb\x20\0\0\ +\x66\x01\0\0\x80\x1d\0\0\xfe\x20\0\0\x4e\0\0\0\xc0\x1d\0\0\x0f\x21\0\0\x3c\x01\ +\0\0\0\x1e\0\0\x19\x21\0\0\x67\x01\0\0\x40\x1e\0\0\xc7\x19\0\0\xd0\0\0\0\x80\ +\x1e\0\0\x21\x21\0\0\x69\x01\0\0\0\x1f\0\0\x24\x21\0\0\x6d\0\0\0\x40\x1f\0\0\ +\x27\x21\0\0\x91\0\0\0\x80\x1f\0\0\x34\x21\0\0\x6a\x01\0\0\xc0\x1f\0\0\x3a\x21\ +\0\0\x6c\x01\0\0\0\x20\0\0\x4b\x21\0\0\x60\0\0\0\x40\x20\0\0\x64\x21\0\0\x82\ +\x01\0\0\x80\x20\0\0\x69\x21\0\0\x6d\0\0\0\xc0\x20\0\0\x74\x21\0\0\x83\x01\0\0\ +\0\x21\0\0\xbc\x1b\0\0\x84\x01\0\0\x40\x21\0\0\x7d\x21\0\0\x85\x01\0\0\x80\x21\ +\0\0\x88\x21\0\0\x93\x01\0\0\x40\x28\0\0\xd6\x0e\0\0\x60\0\0\0\x80\x28\0\0\x8d\ +\x21\0\0\x6e\0\0\0\xc0\x28\0\0\x95\x21\0\0\x12\0\0\0\x40\x29\0\0\0\0\0\0\0\0\0\ +\x02\x99\x02\0\0\x9f\x21\0\0\x06\0\0\x86\x04\0\0\0\xb0\x21\0\0\xfc\xff\xff\xff\ +\xc6\x21\0\0\xfd\xff\xff\xff\xdc\x21\0\0\xfe\xff\xff\xff\xf3\x21\0\0\xff\xff\ +\xff\xff\x08\x22\0\0\0\0\0\0\x22\x22\0\0\x01\0\0\0\x3a\x22\0\0\0\0\0\x08\x41\ +\x01\0\0\0\0\0\0\x01\0\0\x04\x08\0\0\0\x44\x22\0\0\x42\x01\0\0\0\0\0\0\x46\x22\ +\0\0\0\0\0\x08\x43\x01\0\0\0\0\0\0\x01\0\0\x04\x08\0\0\0\x44\x22\0\0\x90\0\0\0\ +\0\0\0\0\x4e\x22\0\0\x3c\0\0\x84\x88\0\0\0\x19\0\0\0\x12\0\0\0\0\0\0\0\x1a\x1d\ +\0\0\x12\0\0\0\x20\0\0\0\x5e\x22\0\0\x20\0\0\0\x40\0\0\0\0\0\0\0\x45\x01\0\0\ +\x80\0\0\0\x65\x22\0\0\x20\0\0\0\xc0\0\0\0\x71\x22\0\0\x20\0\0\0\0\x01\0\0\x7d\ +\x22\0\0\x20\0\0\0\x40\x01\0\x01\x86\x22\0\0\x20\0\0\0\x41\x01\0\x01\x8e\x22\0\ +\0\x20\0\0\0\x42\x01\0\x01\x95\x22\0\0\x20\0\0\0\x43\x01\0\x01\x9f\x22\0\0\x20\ +\0\0\0\x44\x01\0\x01\xac\x22\0\0\x20\0\0\0\x45\x01\0\x01\xbb\x22\0\0\x20\0\0\0\ +\x46\x01\0\x01\xc6\x22\0\0\x20\0\0\0\x47\x01\0\x01\xd3\x22\0\0\x20\0\0\0\x48\ +\x01\0\x01\x5d\x01\0\0\x20\0\0\0\x49\x01\0\x01\xd8\x22\0\0\x20\0\0\0\x4a\x01\0\ +\x01\xdd\x22\0\0\x20\0\0\0\x4b\x01\0\x01\xea\x22\0\0\x20\0\0\0\x4c\x01\0\x01\ +\xf9\x22\0\0\x20\0\0\0\x4d\x01\0\x01\xfe\x22\0\0\x20\0\0\0\x4e\x01\0\x01\x08\ +\x23\0\0\x20\0\0\0\x4f\x01\0\x02\x13\x23\0\0\x20\0\0\0\x51\x01\0\x01\x1d\x23\0\ +\0\x20\0\0\0\x52\x01\0\x01\x2b\x23\0\0\x20\0\0\0\x53\x01\0\x01\x38\x23\0\0\x20\ +\0\0\0\x54\x01\0\x01\x46\x23\0\0\x20\0\0\0\x55\x01\0\x01\x5f\x23\0\0\x20\0\0\0\ +\x56\x01\0\x01\x76\x23\0\0\x20\0\0\0\x57\x01\0\x01\x7c\x23\0\0\x20\0\0\0\x58\ +\x01\0\x01\x86\x23\0\0\x20\0\0\0\x59\x01\0\x01\x92\x23\0\0\x20\0\0\0\x5a\x01\0\ +\x01\xa1\x23\0\0\x20\0\0\0\x5b\x01\0\x01\xb0\x23\0\0\x20\0\0\0\x5c\x01\0\x01\ +\xbb\x23\0\0\x20\0\0\0\x5d\x01\0\x01\xc3\x23\0\0\x20\0\0\0\x5e\x01\0\x01\xcd\ +\x23\0\0\x20\0\0\0\x5f\x01\0\x01\xd8\x23\0\0\x20\0\0\0\x60\x01\0\x01\xdf\x23\0\ +\0\x20\0\0\0\x61\x01\0\x01\xe9\x23\0\0\x20\0\0\0\x62\x01\0\x01\xf2\x23\0\0\x20\ +\0\0\0\x63\x01\0\x01\x01\x24\0\0\x20\0\0\0\x64\x01\0\x01\x10\x24\0\0\x20\0\0\0\ +\x65\x01\0\x01\x18\x24\0\0\x20\0\0\0\x66\x01\0\x1a\0\0\0\0\x46\x01\0\0\x80\x01\ +\0\0\x25\x24\0\0\x12\0\0\0\xa0\x01\0\0\0\0\0\0\x47\x01\0\0\xc0\x01\0\0\0\0\0\0\ +\x48\x01\0\0\0\x02\0\0\x2d\x24\0\0\x20\0\0\0\x40\x02\0\0\x40\x24\0\0\x20\0\0\0\ +\x80\x02\0\0\x51\x24\0\0\x12\0\0\0\xc0\x02\0\0\xc2\x17\0\0\x15\0\0\0\xe0\x02\0\ +\0\x63\x24\0\0\x20\0\0\0\0\x03\0\0\x74\x24\0\0\x12\0\0\0\x40\x03\0\0\x82\x24\0\ +\0\x66\0\0\0\x60\x03\0\0\x93\x24\0\0\x66\0\0\0\x70\x03\0\0\xa0\x24\0\0\x12\0\0\ +\0\x80\x03\0\0\xb0\x24\0\0\x12\0\0\0\xa0\x03\0\0\xbd\x24\0\0\x20\0\0\0\xc0\x03\ +\0\0\xc6\x24\0\0\x20\0\0\0\0\x04\0\0\0\0\0\0\x02\0\0\x05\x08\0\0\0\xce\x24\0\0\ +\x20\0\0\0\0\0\0\0\xdc\x24\0\0\x20\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\x05\x04\0\0\0\ +\xe8\x24\0\0\x12\0\0\0\0\0\0\0\xf6\x24\0\0\x12\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\ +\x05\x08\0\0\0\x07\x25\0\0\x20\0\0\0\0\0\0\0\x0f\x25\0\0\x20\0\0\0\0\0\0\0\x1b\ +\x25\0\0\x20\0\0\0\0\0\0\0\x27\x25\0\0\x20\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\x05\ +\x08\0\0\0\x2f\x25\0\0\x20\0\0\0\0\0\0\0\x36\x25\0\0\x20\0\0\0\0\0\0\0\x42\x25\ +\0\0\x20\0\0\0\0\0\0\0\x4f\x25\0\0\x20\0\0\0\0\0\0\0\x57\x25\0\0\x0c\0\0\x04\ +\xc0\0\0\0\0\0\0\0\x4a\x01\0\0\0\0\0\0\x65\x25\0\0\x68\0\0\0\0\x03\0\0\xde\x20\ +\0\0\x60\0\0\0\x40\x03\0\0\xfe\x20\0\0\x4e\0\0\0\x80\x03\0\0\x46\x13\0\0\x02\0\ +\0\0\xc0\x03\0\0\x6c\x25\0\0\x40\x01\0\0\0\x04\0\0\xce\x24\0\0\x6d\0\0\0\x40\ +\x04\0\0\0\0\0\0\x58\x01\0\0\x80\x04\0\0\x77\x25\0\0\x6d\0\0\0\0\x05\0\0\x86\ +\x25\0\0\x6d\0\0\0\x40\x05\0\0\x91\x25\0\0\x6d\0\0\0\x80\x05\0\0\xa1\x25\0\0\ +\x6d\0\0\0\xc0\x05\0\0\0\0\0\0\x07\0\0\x05\x60\0\0\0\0\0\0\0\x4b\x01\0\0\0\0\0\ +\0\0\0\0\0\x4d\x01\0\0\0\0\0\0\0\0\0\0\x4e\x01\0\0\0\0\0\0\0\0\0\0\x4f\x01\0\0\ +\0\0\0\0\0\0\0\0\x50\x01\0\0\0\0\0\0\0\0\0\0\x51\x01\0\0\0\0\0\0\0\0\0\0\x57\ +\x01\0\0\0\0\0\0\0\0\0\0\x0a\0\0\x04\x60\0\0\0\x5e\x22\0\0\x6d\0\0\0\0\0\0\0\ +\xb2\x25\0\0\x6d\0\0\0\x40\0\0\0\xbb\x25\0\0\x4e\0\0\0\x80\0\0\0\xc7\x25\0\0\ +\x4e\0\0\0\xc0\0\0\0\xd2\x25\0\0\x02\0\0\0\0\x01\0\0\xe3\x25\0\0\x02\0\0\0\x20\ +\x01\0\0\xe7\x25\0\0\x02\0\0\0\x40\x01\0\0\xa6\x02\0\0\x02\0\0\0\x60\x01\0\0\ +\xf0\x25\0\0\x4c\x01\0\0\x80\x01\0\0\xfa\x25\0\0\x4c\x01\0\0\x40\x02\0\0\x05\ +\x26\0\0\x04\0\0\x04\x18\0\0\0\x5e\x22\0\0\x6d\0\0\0\0\0\0\0\x19\x26\0\0\x13\0\ +\0\0\x40\0\0\0\x1d\x26\0\0\x02\0\0\0\x60\0\0\0\xe3\x25\0\0\x02\0\0\0\x80\0\0\0\ +\0\0\0\0\x01\0\0\x04\x08\0\0\0\x23\x26\0\0\x6d\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\ +\x04\x40\0\0\0\x1e\x13\0\0\x7a\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\x04\x10\0\0\0\x2e\ +\x26\0\0\x6e\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\x04\x10\0\0\0\x36\x26\0\0\x6d\0\0\0\ +\0\0\0\0\x3e\x26\0\0\x6d\0\0\0\x40\0\0\0\0\0\0\0\x02\0\0\x04\x28\0\0\0\x43\x26\ +\0\0\x52\x01\0\0\0\0\0\0\x48\x26\0\0\x53\x01\0\0\xc0\0\0\0\x50\x26\0\0\x04\0\0\ +\x04\x18\0\0\0\x63\x26\0\0\x4e\0\0\0\0\0\0\0\x2b\x02\0\0\x4e\0\0\0\x40\0\0\0\ +\xe9\x1b\0\0\x82\0\0\0\x80\0\0\0\x19\0\0\0\x82\0\0\0\x88\0\0\0\x6b\x26\0\0\x02\ +\0\0\x04\x10\0\0\0\x77\x26\0\0\x54\x01\0\0\0\0\0\0\xe6\x0f\0\0\x56\x01\0\0\x40\ +\0\0\0\x7d\x26\0\0\x01\0\0\x04\x08\0\0\0\xe6\x0f\0\0\x55\x01\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\x02\x54\x01\0\0\0\0\0\0\0\0\0\x02\x53\x01\0\0\0\0\0\0\x05\0\0\x04\x18\ +\0\0\0\x88\x26\0\0\x82\0\0\0\0\0\0\0\x93\x26\0\0\x82\0\0\0\x08\0\0\0\x9e\x26\0\ +\0\x65\0\0\0\x10\0\0\0\xa6\x26\0\0\x6d\0\0\0\x40\0\0\0\xab\x26\0\0\x6d\0\0\0\ +\x80\0\0\0\0\0\0\0\x02\0\0\x05\x10\0\0\0\0\0\0\0\x59\x01\0\0\0\0\0\0\0\0\0\0\ +\x5a\x01\0\0\0\0\0\0\0\0\0\0\x02\0\0\x04\x10\0\0\0\xb1\x26\0\0\x6d\0\0\0\0\0\0\ +\0\xbd\x26\0\0\x40\x01\0\0\x40\0\0\0\0\0\0\0\x02\0\0\x04\x10\0\0\0\xc9\x26\0\0\ +\x6d\0\0\0\0\0\0\0\xd6\x26\0\0\x6d\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\x02\x9a\x02\0\ +\0\0\0\0\0\0\0\0\x02\x9c\x02\0\0\xe2\x26\0\0\0\0\0\x08\x5e\x01\0\0\xf4\x26\0\0\ +\x02\0\0\x04\x18\0\0\0\x6d\x18\0\0\xff\0\0\0\0\0\0\0\x04\x27\0\0\x6e\0\0\0\x40\ +\0\0\0\0\0\0\0\0\0\0\x02\xbe\x02\0\0\x09\x27\0\0\x03\0\0\x04\x20\0\0\0\x26\x13\ +\0\0\x61\0\0\0\0\0\0\0\xd5\x19\0\0\x61\x01\0\0\x80\0\0\0\x12\x27\0\0\x64\x01\0\ +\0\xc0\0\0\0\0\0\0\0\0\0\0\x02\x62\x01\0\0\0\0\0\0\x01\0\0\x0d\0\0\0\0\0\0\0\0\ +\x63\x01\0\0\0\0\0\0\0\0\0\x02\x60\x01\0\0\x1a\x27\0\0\x01\0\0\x04\x08\0\0\0\ +\xf9\x22\0\0\x68\0\0\0\0\0\0\0\x22\x27\0\0\x03\0\0\x04\x18\0\0\0\x7d\x1b\0\0\ +\x6e\0\0\0\0\0\0\0\x6d\x18\0\0\xbe\0\0\0\x80\0\0\0\x39\x27\0\0\x13\0\0\0\xa0\0\ +\0\0\0\0\0\0\0\0\0\x02\xc4\x02\0\0\0\0\0\0\0\0\0\x02\x68\x01\0\0\0\0\0\0\x01\0\ +\0\x0d\0\0\0\0\0\0\0\0\x3c\x01\0\0\0\0\0\0\0\0\0\x02\xac\x02\0\0\0\0\0\0\0\0\0\ +\x02\x6b\x01\0\0\0\0\0\0\0\0\0\x0d\x6d\0\0\0\x49\x27\0\0\0\0\0\x08\x6d\x01\0\0\ +\0\0\0\0\0\0\0\x02\x6e\x01\0\0\0\0\0\0\x03\0\0\x0d\0\0\0\0\0\0\0\0\x3c\x01\0\0\ +\0\0\0\0\x6f\x01\0\0\0\0\0\0\x7c\x01\0\0\0\0\0\0\0\0\0\x02\x70\x01\0\0\x61\x27\ +\0\0\x1a\0\0\x04\0\x01\0\0\x72\x27\0\0\x6d\0\0\0\0\0\0\0\x7f\x27\0\0\x6d\0\0\0\ +\x40\0\0\0\x86\x27\0\0\x6d\0\0\0\x80\0\0\0\x19\0\0\0\x6d\0\0\0\xc0\0\0\0\x8f\ +\x27\0\0\x71\x01\0\0\0\x01\0\0\xb6\x17\0\0\x6d\0\0\0\x40\x01\0\0\x24\x21\0\0\ +\x6d\0\0\0\x80\x01\0\0\x99\x27\0\0\x72\x01\0\0\xc0\x01\0\0\xa3\x27\0\0\x6d\0\0\ +\0\0\x02\0\0\xa6\x27\0\0\x73\x01\0\0\x40\x02\0\0\xb0\x27\0\0\x74\x01\0\0\x80\ +\x02\0\0\xb4\x27\0\0\x75\x01\0\0\xc0\x02\0\0\xbd\x27\0\0\x76\x01\0\0\0\x03\0\0\ +\x08\x11\0\0\x77\x01\0\0\x40\x03\0\0\xcb\x27\0\0\x79\x01\0\0\x80\x03\0\0\xd4\ +\x27\0\0\x6d\0\0\0\xc0\x03\0\0\xd8\x27\0\0\x7b\x01\0\0\0\x04\0\0\xe2\x27\0\0\ +\x7b\x01\0\0\x80\x04\0\0\xec\x27\0\0\x6d\0\0\0\0\x05\0\0\xfc\x27\0\0\x6d\0\0\0\ +\x40\x05\0\0\xd8\x23\0\0\x6d\0\0\0\x80\x05\0\0\x06\x28\0\0\x6d\0\0\0\xc0\x05\0\ +\0\x0b\x28\0\0\x6d\0\0\0\0\x06\0\0\x15\x28\0\0\x6d\0\0\0\x40\x06\0\0\x24\x28\0\ +\0\x6d\0\0\0\x80\x06\0\0\x33\x28\0\0\x6d\0\0\0\xc0\x06\0\0\0\0\0\0\x02\0\0\x04\ +\x08\0\0\0\x28\x07\0\0\x11\0\0\0\0\0\0\0\x3c\x28\0\0\x11\0\0\0\x20\0\0\0\0\0\0\ +\0\x02\0\0\x04\x08\0\0\0\xb6\x0f\0\0\x11\0\0\0\0\0\0\0\x40\x28\0\0\x11\0\0\0\ +\x20\0\0\0\0\0\0\0\0\0\0\x02\xc5\x02\0\0\0\0\0\0\0\0\0\x02\xc6\x02\0\0\0\0\0\0\ +\0\0\0\x02\xc7\x02\0\0\0\0\0\0\0\0\0\x02\x6d\0\0\0\x49\x28\0\0\x02\0\0\x05\x08\ +\0\0\0\x5c\x28\0\0\x20\0\0\0\0\0\0\0\0\0\0\0\x78\x01\0\0\0\0\0\0\0\0\0\0\x03\0\ +\0\x04\x08\0\0\0\x61\x28\0\0\x12\0\0\0\0\0\0\0\x69\x28\0\0\x66\0\0\0\x20\0\0\0\ +\x70\x28\0\0\x66\0\0\0\x30\0\0\0\x77\x28\0\0\x02\0\0\x05\x08\0\0\0\xab\x17\0\0\ +\x20\0\0\0\0\0\0\0\0\0\0\0\x7a\x01\0\0\0\0\0\0\0\0\0\0\x0b\0\0\x84\x08\0\0\0\ +\x89\x28\0\0\x20\0\0\0\0\0\0\x05\x90\x28\0\0\x20\0\0\0\x05\0\0\x0e\x98\x28\0\0\ +\x20\0\0\0\x13\0\0\x05\xa2\x28\0\0\x20\0\0\0\x18\0\0\x02\xab\x28\0\0\x20\0\0\0\ +\x1a\0\0\x07\xb4\x28\0\0\x20\0\0\0\x21\0\0\x04\xc0\x28\0\0\x20\0\0\0\x25\0\0\ +\x01\xcb\x28\0\0\x20\0\0\0\x26\0\0\x02\xd6\x28\0\0\x20\0\0\0\x28\0\0\x03\xde\ +\x28\0\0\x20\0\0\0\x2b\0\0\x03\xe7\x28\0\0\x20\0\0\0\x2e\0\0\x12\xf0\x28\0\0\ +\x02\0\0\x04\x10\0\0\0\xfa\x28\0\0\x20\0\0\0\0\0\0\0\xfe\x28\0\0\x7c\x01\0\0\ +\x40\0\0\0\0\0\0\0\0\0\0\x02\x7d\x01\0\0\x03\x29\0\0\x15\0\0\x04\xa8\0\0\0\x0b\ +\x29\0\0\x4e\0\0\0\0\0\0\0\x0f\x29\0\0\x4e\0\0\0\x40\0\0\0\x13\x29\0\0\x4e\0\0\ +\0\x80\0\0\0\x17\x29\0\0\x4e\0\0\0\xc0\0\0\0\x1b\x29\0\0\x4e\0\0\0\0\x01\0\0\ +\x1e\x29\0\0\x4e\0\0\0\x40\x01\0\0\x21\x29\0\0\x4e\0\0\0\x80\x01\0\0\x25\x29\0\ +\0\x4e\0\0\0\xc0\x01\0\0\x29\x29\0\0\x4e\0\0\0\0\x02\0\0\x2c\x29\0\0\x4e\0\0\0\ +\x40\x02\0\0\x2f\x29\0\0\x4e\0\0\0\x80\x02\0\0\x32\x29\0\0\x4e\0\0\0\xc0\x02\0\ +\0\x35\x29\0\0\x4e\0\0\0\0\x03\0\0\x38\x29\0\0\x4e\0\0\0\x40\x03\0\0\x3b\x29\0\ +\0\x4e\0\0\0\x80\x03\0\0\x3e\x29\0\0\x4e\0\0\0\xc0\x03\0\0\xa3\x27\0\0\x4e\0\0\ +\0\0\x04\0\0\0\0\0\0\x7e\x01\0\0\x40\x04\0\0\xa6\x02\0\0\x4e\0\0\0\x80\x04\0\0\ +\x9f\x1d\0\0\x4e\0\0\0\xc0\x04\0\0\0\0\0\0\x80\x01\0\0\0\x05\0\0\0\0\0\0\x03\0\ +\0\x05\x08\0\0\0\x46\x29\0\0\x65\0\0\0\0\0\0\0\x49\x29\0\0\x6d\0\0\0\0\0\0\0\ +\x4d\x29\0\0\x7f\x01\0\0\0\0\0\0\x4d\x29\0\0\x03\0\0\x84\x08\0\0\0\x46\x29\0\0\ +\x6d\0\0\0\0\0\0\x10\x55\x29\0\0\x6d\0\0\0\x10\0\0\x02\x58\x29\0\0\x6d\0\0\0\ +\x12\0\0\x01\0\0\0\0\x03\0\0\x05\x08\0\0\0\x5c\x29\0\0\x65\0\0\0\0\0\0\0\x5f\ +\x29\0\0\x6d\0\0\0\0\0\0\0\x63\x29\0\0\x81\x01\0\0\0\0\0\0\x63\x29\0\0\x0a\0\0\ +\x84\x08\0\0\0\x5c\x29\0\0\x6d\0\0\0\0\0\0\x10\x6b\x29\0\0\x6d\0\0\0\x10\0\0\ +\x01\x6f\x29\0\0\x6d\0\0\0\x11\0\0\x01\x77\x29\0\0\x6d\0\0\0\x12\0\0\x01\x7b\ +\x29\0\0\x6d\0\0\0\x20\0\0\x08\x19\0\0\0\x6d\0\0\0\x30\0\0\x04\x82\x29\0\0\x6d\ +\0\0\0\x38\0\0\x01\x8a\x29\0\0\x6d\0\0\0\x39\0\0\x01\x8d\x29\0\0\x6d\0\0\0\x3a\ +\0\0\x01\x94\x29\0\0\x6d\0\0\0\x3c\0\0\x04\0\0\0\0\0\0\0\x02\xb4\x02\0\0\0\0\0\ +\0\0\0\0\x02\x97\x02\0\0\0\0\0\0\0\0\0\x02\x98\x02\0\0\x7d\x21\0\0\x0f\0\0\x04\ +\xd8\0\0\0\xd5\x19\0\0\x86\x01\0\0\0\0\0\0\xe6\x0f\0\0\x89\x01\0\0\x40\0\0\0\ +\xa6\x02\0\0\x4e\0\0\0\x80\0\0\0\x9c\x29\0\0\x60\0\0\0\xc0\0\0\0\xa4\x29\0\0\ +\x86\x01\0\0\0\x01\0\0\xaf\x29\0\0\x8c\x01\0\0\x40\x01\0\0\xba\x29\0\0\x8e\x01\ +\0\0\xc0\x02\0\0\xc4\x29\0\0\x8c\x01\0\0\0\x03\0\0\xcd\x29\0\0\x4e\0\0\0\x80\ +\x04\0\0\xd8\x29\0\0\x4e\0\0\0\xc0\x04\0\0\x7d\x1b\0\0\x6e\0\0\0\0\x05\0\0\xe8\ +\x29\0\0\x6e\0\0\0\x80\x05\0\0\xf3\x29\0\0\x8f\x01\0\0\0\x06\0\0\xfc\x29\0\0\ +\x89\x01\0\0\x40\x06\0\0\x04\x2a\0\0\x4e\0\0\0\x80\x06\0\0\x10\x2a\0\0\0\0\0\ +\x08\x87\x01\0\0\0\0\0\0\0\0\0\x02\x88\x01\0\0\0\0\0\0\x04\0\0\x0d\0\0\0\0\0\0\ +\0\0\x4e\0\0\0\0\0\0\0\x4e\0\0\0\0\0\0\0\x89\x01\0\0\0\0\0\0\x8a\x01\0\0\0\0\0\ +\0\0\0\0\x02\x85\x01\0\0\0\0\0\0\0\0\0\x02\x8b\x01\0\0\x1e\x2a\0\0\x01\0\0\x04\ +\xa8\0\0\0\xfe\x28\0\0\x7d\x01\0\0\0\0\0\0\x2a\x2a\0\0\x03\0\0\x04\x30\0\0\0\ +\x3a\x2a\0\0\x8d\x01\0\0\0\0\0\0\x47\x2a\0\0\x8d\x01\0\0\x40\0\0\0\x53\x2a\0\0\ +\xd4\0\0\0\x80\0\0\0\0\0\0\0\0\0\0\x02\xb6\x02\0\0\0\0\0\0\0\0\0\x02\x8c\x01\0\ +\0\x5e\x2a\0\0\0\0\0\x08\x90\x01\0\0\0\0\0\0\0\0\0\x02\x91\x01\0\0\0\0\0\0\x02\ +\0\0\x0d\x02\0\0\0\0\0\0\0\x89\x01\0\0\0\0\0\0\x92\x01\0\0\x70\x2a\0\0\x03\0\0\ +\x06\x04\0\0\0\x7f\x2a\0\0\0\0\0\0\xa9\x2a\0\0\x01\0\0\0\xd3\x2a\0\0\x02\0\0\0\ +\0\0\0\0\0\0\0\x02\xc8\x02\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x3c\x01\0\0\x04\0\0\0\ +\x04\0\0\0\0\0\0\0\0\0\0\x02\xe6\x02\0\0\xfe\x2a\0\0\x02\0\0\x04\x10\0\0\0\x41\ +\x13\0\0\x6d\0\0\0\0\0\0\0\x1a\x1d\0\0\x6d\0\0\0\x40\0\0\0\x41\x1e\0\0\x07\0\0\ +\x04\x80\x10\0\0\xe7\x25\0\0\x13\0\0\0\0\0\0\0\x0b\x2b\0\0\x4e\0\0\0\x40\0\0\0\ +\x1c\x2b\0\0\x98\x01\0\0\x80\0\0\0\x24\x2b\0\0\x98\x01\0\0\xc0\0\0\0\x33\x2b\0\ +\0\x99\x01\0\0\0\x01\0\0\x38\x2b\0\0\x99\x01\0\0\x80\x01\0\0\x43\x2b\0\0\x9a\ +\x01\0\0\0\x02\0\0\0\0\0\0\0\0\0\x02\x9a\x01\0\0\x4d\x2b\0\0\x03\0\0\x04\x10\0\ +\0\0\x5c\x2b\0\0\x6d\0\0\0\0\0\0\0\x69\x2b\0\0\x13\0\0\0\x40\0\0\0\x76\x2b\0\0\ +\x13\0\0\0\x60\0\0\0\x1c\x2b\0\0\x0a\0\0\x84\x40\x10\0\0\x1a\x1d\0\0\x13\0\0\0\ +\0\0\0\0\x88\x2b\0\0\x13\0\0\0\x20\0\0\0\x92\x2b\0\0\x6d\0\0\0\x40\0\0\0\x9c\ +\x2b\0\0\x6d\0\0\0\x80\0\0\0\xab\x2b\0\0\x6d\0\0\0\xc0\0\0\0\xaf\x2b\0\0\x13\0\ +\0\0\0\x01\0\x01\xb9\x2b\0\0\x13\0\0\0\x01\x01\0\x01\xc2\x2b\0\0\x13\0\0\0\x02\ +\x01\0\x01\xd2\x2b\0\0\x13\0\0\0\x03\x01\0\x01\xfe\x28\0\0\x9b\x01\0\0\0\x02\0\ +\0\xd9\x2b\0\0\x05\0\0\x05\0\x10\0\0\xe6\x2b\0\0\x9c\x01\0\0\0\0\0\0\xec\x2b\0\ +\0\x9e\x01\0\0\0\0\0\0\xf3\x2b\0\0\xa6\x01\0\0\0\0\0\0\xf8\x2b\0\0\xa8\x01\0\0\ +\0\0\0\0\xfe\x2b\0\0\xac\x01\0\0\0\0\0\0\x08\x2c\0\0\x09\0\0\x04\x70\0\0\0\x14\ +\x2c\0\0\x11\0\0\0\0\0\0\0\x18\x2c\0\0\x11\0\0\0\x20\0\0\0\x1c\x2c\0\0\x11\0\0\ +\0\x40\0\0\0\x20\x2c\0\0\x11\0\0\0\x60\0\0\0\x24\x2c\0\0\x11\0\0\0\x80\0\0\0\ +\x28\x2c\0\0\x11\0\0\0\xa0\0\0\0\x2c\x2c\0\0\x11\0\0\0\xc0\0\0\0\x30\x2c\0\0\ +\x9d\x01\0\0\xe0\0\0\0\xaf\x0f\0\0\x11\0\0\0\x60\x03\0\0\0\0\0\0\0\0\0\x03\0\0\ +\0\0\x11\0\0\0\x04\0\0\0\x14\0\0\0\x39\x2c\0\0\x0b\0\0\x04\0\x02\0\0\x14\x2c\0\ +\0\x65\0\0\0\0\0\0\0\x18\x2c\0\0\x65\0\0\0\x10\0\0\0\x1c\x2c\0\0\x65\0\0\0\x20\ +\0\0\0\x46\x2c\0\0\x65\0\0\0\x30\0\0\0\0\0\0\0\x9f\x01\0\0\x40\0\0\0\x4a\x2c\0\ +\0\x11\0\0\0\xc0\0\0\0\x50\x2c\0\0\x11\0\0\0\xe0\0\0\0\x30\x2c\0\0\xa2\x01\0\0\ +\0\x01\0\0\x5b\x2c\0\0\xa3\x01\0\0\0\x05\0\0\x9e\x26\0\0\xa4\x01\0\0\0\x0d\0\0\ +\0\0\0\0\xa5\x01\0\0\x80\x0e\0\0\0\0\0\0\x02\0\0\x05\x10\0\0\0\0\0\0\0\xa0\x01\ +\0\0\0\0\0\0\0\0\0\0\xa1\x01\0\0\0\0\0\0\0\0\0\0\x02\0\0\x04\x10\0\0\0\x65\x2c\ +\0\0\x6d\0\0\0\0\0\0\0\x69\x2c\0\0\x6d\0\0\0\x40\0\0\0\0\0\0\0\x04\0\0\x04\x10\ +\0\0\0\x20\x2c\0\0\x11\0\0\0\0\0\0\0\x24\x2c\0\0\x11\0\0\0\x20\0\0\0\x28\x2c\0\ +\0\x11\0\0\0\x40\0\0\0\x2c\x2c\0\0\x11\0\0\0\x60\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\ +\0\x11\0\0\0\x04\0\0\0\x20\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x11\0\0\0\x04\0\0\0\ +\x40\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x11\0\0\0\x04\0\0\0\x0c\0\0\0\0\0\0\0\x02\ +\0\0\x05\x30\0\0\0\x6d\x2c\0\0\xa4\x01\0\0\0\0\0\0\x76\x2c\0\0\xa4\x01\0\0\0\0\ +\0\0\x82\x2c\0\0\x10\0\0\x04\x88\0\0\0\x14\x2c\0\0\x11\0\0\0\0\0\0\0\x18\x2c\0\ +\0\x11\0\0\0\x20\0\0\0\x1c\x2c\0\0\x11\0\0\0\x40\0\0\0\x20\x2c\0\0\x11\0\0\0\ +\x60\0\0\0\x24\x2c\0\0\x11\0\0\0\x80\0\0\0\x28\x2c\0\0\x11\0\0\0\xa0\0\0\0\x2c\ +\x2c\0\0\x11\0\0\0\xc0\0\0\0\x30\x2c\0\0\x9d\x01\0\0\xe0\0\0\0\x8f\x2c\0\0\x82\ +\0\0\0\x60\x03\0\0\x94\x2c\0\0\x82\0\0\0\x68\x03\0\0\x9c\x2c\0\0\x82\0\0\0\x70\ +\x03\0\0\xa6\x2c\0\0\x82\0\0\0\x78\x03\0\0\xb0\x2c\0\0\x82\0\0\0\x80\x03\0\0\ +\xb3\x2c\0\0\x82\0\0\0\x88\x03\0\0\x43\x26\0\0\xa7\x01\0\0\xc0\x03\0\0\xba\x2c\ +\0\0\x11\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\x02\xe7\x02\0\0\xc4\x2c\0\0\x03\0\0\x04\ +\x40\x02\0\0\xd0\x2c\0\0\x9e\x01\0\0\0\0\0\0\xd5\x2c\0\0\xa9\x01\0\0\0\x10\0\0\ +\xdc\x2c\0\0\xab\x01\0\0\0\x12\0\0\xf0\x2c\0\0\x03\0\0\x04\x40\0\0\0\x92\x2b\0\ +\0\x6d\0\0\0\0\0\0\0\xfe\x2c\0\0\x6d\0\0\0\x40\0\0\0\x40\x28\0\0\xaa\x01\0\0\ +\x80\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x6d\0\0\0\x04\0\0\0\x06\0\0\0\0\0\0\0\0\0\ +\0\x03\0\0\0\0\x82\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x82\0\0\0\ +\x04\0\0\0\0\x10\0\0\0\0\0\0\x03\0\0\x0d\x23\0\0\0\0\0\0\0\x4a\0\0\0\0\0\0\0\ +\x55\0\0\0\0\0\0\0\x55\0\0\0\x07\x2d\0\0\x02\0\0\x0c\xad\x01\0\0\0\0\0\0\x02\0\ +\0\x0d\x23\0\0\0\0\0\0\0\x11\0\0\0\0\0\0\0\x55\0\0\0\x17\x2d\0\0\x02\0\0\x0c\ +\xaf\x01\0\0\0\0\0\0\x01\0\0\x0d\x23\0\0\0\0\0\0\0\x14\0\0\0\x2c\x2d\0\0\x02\0\ +\0\x0c\xb1\x01\0\0\0\0\0\0\x03\0\0\x0d\0\0\0\0\0\0\0\0\xfe\0\0\0\0\0\0\0\x58\0\ +\0\0\0\0\0\0\x11\0\0\0\x4c\x2d\0\0\x02\0\0\x0c\xb3\x01\0\0\0\0\0\0\x02\0\0\x0d\ +\x14\0\0\0\0\0\0\0\x55\0\0\0\0\0\0\0\x6d\0\0\0\x5f\x2d\0\0\x02\0\0\x0c\xb5\x01\ +\0\0\0\0\0\0\x02\0\0\x0d\0\0\0\0\0\0\0\0\x11\0\0\0\0\0\0\0\x4a\0\0\0\x75\x2d\0\ +\0\x02\0\0\x0c\xb7\x01\0\0\x89\x2d\0\0\x02\0\0\x0c\xb7\x01\0\0\0\0\0\0\x04\0\0\ +\x0d\0\0\0\0\0\0\0\0\x68\0\0\0\0\0\0\0\x6d\0\0\0\0\0\0\0\x6d\0\0\0\0\0\0\0\x6d\ +\0\0\0\x9f\x2d\0\0\x02\0\0\x0c\xba\x01\0\0\0\0\0\0\x01\0\0\x0d\0\0\0\0\x3a\x02\ +\0\0\x58\0\0\0\xb0\x2d\0\0\x01\0\0\x0c\xbc\x01\0\0\0\0\0\0\x05\0\0\x0d\0\0\0\0\ +\0\0\0\0\x68\0\0\0\0\0\0\0\x6d\0\0\0\0\0\0\0\x6d\0\0\0\0\0\0\0\x6d\0\0\0\0\0\0\ +\0\x6d\0\0\0\xbd\x2d\0\0\x02\0\0\x0c\xbe\x01\0\0\xd4\x2d\0\0\x01\0\0\x0c\xbc\ +\x01\0\0\0\0\0\0\x01\0\0\x0d\x23\0\0\0\0\0\0\0\x6d\0\0\0\xe2\x2d\0\0\x02\0\0\ +\x0c\xc1\x01\0\0\0\0\0\0\x01\0\0\x0d\x11\0\0\0\0\0\0\0\x55\0\0\0\xf2\x2d\0\0\ +\x02\0\0\x0c\xc3\x01\0\0\x04\x2e\0\0\x01\0\0\x0c\xbc\x01\0\0\x11\x2e\0\0\x01\0\ +\0\x0c\xbc\x01\0\0\x1f\x2e\0\0\x01\0\0\x0c\x59\0\0\0\0\0\0\0\0\0\0\x0d\x4a\0\0\ +\0\x2e\x2e\0\0\x02\0\0\x0c\xc8\x01\0\0\0\0\0\0\x01\0\0\x0d\0\0\0\0\0\0\0\0\x4a\ +\0\0\0\x41\x2e\0\0\x02\0\0\x0c\xca\x01\0\0\x55\x2e\0\0\x01\0\0\x0c\xbc\x01\0\0\ +\x61\x2e\0\0\x01\0\0\x0c\x59\0\0\0\0\0\0\0\x02\0\0\x0d\x14\0\0\0\0\0\0\0\x6d\0\ +\0\0\0\0\0\0\x14\0\0\0\x6b\x2e\0\0\x02\0\0\x0c\xce\x01\0\0\x7e\x2e\0\0\x02\0\0\ +\x0c\xca\x01\0\0\0\0\0\0\x03\0\0\x0d\x02\0\0\0\0\0\0\0\xd2\x01\0\0\0\0\0\0\x02\ +\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\x02\xd3\x01\0\0\x90\x2e\0\0\x01\0\0\x04\ +\x08\0\0\0\xe0\0\0\0\xd4\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x20\0\0\0\ +\x04\0\0\0\x01\0\0\0\x9d\x2e\0\0\x02\0\0\x0c\xd1\x01\0\0\0\0\0\0\x01\0\0\x0d\ +\x0d\0\0\0\0\0\0\0\xd2\x01\0\0\xae\x2e\0\0\x02\0\0\x0c\xd6\x01\0\0\0\0\0\0\x01\ +\0\0\x0d\0\0\0\0\0\0\0\0\xd2\x01\0\0\xc0\x2e\0\0\x02\0\0\x0c\xd8\x01\0\0\xd5\ +\x2e\0\0\x01\0\0\x0c\xbc\x01\0\0\xdf\x2e\0\0\x07\0\0\x04\x38\0\0\0\xed\x2e\0\0\ +\xdc\x01\0\0\0\0\0\0\xd5\x05\0\0\x71\0\0\0\x40\0\0\0\xf2\x2e\0\0\xdd\x01\0\0\ +\x80\0\0\0\xf9\x2e\0\0\x1b\x01\0\0\xc0\0\0\0\xfc\x2e\0\0\x11\0\0\0\0\x01\0\0\ +\x03\x2f\0\0\xfe\0\0\0\x40\x01\0\0\x07\x2f\0\0\xfe\0\0\0\x80\x01\0\0\x0c\x2f\0\ +\0\x09\0\0\x06\x04\0\0\0\x1a\x2f\0\0\0\0\0\0\x28\x2f\0\0\x01\0\0\0\x36\x2f\0\0\ +\x40\0\0\0\x45\x2f\0\0\x41\0\0\0\x58\x2f\0\0\x42\0\0\0\x6c\x2f\0\0\x43\0\0\0\ +\x7b\x2f\0\0\0\x04\0\0\x8a\x2f\0\0\x01\x04\0\0\x9d\x2f\0\0\x02\x04\0\0\0\0\0\0\ +\0\0\0\x02\xde\x01\0\0\0\0\0\0\0\0\0\x0a\x38\0\0\0\0\0\0\0\0\0\0\x02\xe0\x01\0\ +\0\xb2\x2f\0\0\x03\0\0\x04\xb8\0\0\0\xfe\x28\0\0\xe1\x01\0\0\0\0\0\0\xce\x24\0\ +\0\x20\0\0\0\x40\x05\0\0\x06\x28\0\0\x20\0\0\0\x80\x05\0\0\xc6\x2f\0\0\0\0\0\ +\x08\x7d\x01\0\0\0\0\0\0\x01\0\0\x0d\x02\0\0\0\x3a\x02\0\0\xdf\x01\0\0\xd9\x2f\ +\0\0\x01\0\0\x0c\xe2\x01\0\0\0\0\0\0\0\0\0\x02\x1f\0\0\0\0\0\0\0\x03\0\0\x0d\ +\x02\0\0\0\xef\x2f\0\0\x60\0\0\0\x9a\0\0\0\x0d\0\0\0\xbb\0\0\0\xe4\x01\0\0\xf3\ +\x2f\0\0\0\0\0\x0c\xe5\x01\0\0\0\0\0\0\x02\0\0\x0d\x02\0\0\0\x68\x1e\0\0\x68\0\ +\0\0\x08\x30\0\0\x6d\0\0\0\x12\x30\0\0\0\0\0\x0c\xe7\x01\0\0\x23\x30\0\0\0\0\0\ +\x0c\xe5\x01\0\0\0\0\0\0\0\0\0\x0d\x55\0\0\0\x31\x30\0\0\x02\0\0\x0c\xea\x01\0\ +\0\0\0\0\0\x01\0\0\x0d\0\0\0\0\0\0\0\0\x55\0\0\0\x4a\x30\0\0\x02\0\0\x0c\xec\ +\x01\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x38\0\0\0\x04\0\0\0\x0d\0\0\0\x63\x30\0\0\0\ +\0\0\x0e\xee\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\x0a\xf1\x01\0\0\0\0\0\0\0\0\0\x09\ +\x6d\0\0\0\x6c\x30\0\0\0\0\0\x0e\xf0\x01\0\0\x01\0\0\0\x78\x30\0\0\0\0\0\x0e\ +\xf0\x01\0\0\x01\0\0\0\x7e\x30\0\0\0\0\0\x0e\xf0\x01\0\0\x01\0\0\0\x8a\x30\0\0\ +\0\0\0\x0e\xf0\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\x0a\xf7\x01\0\0\0\0\0\0\0\0\0\ +\x09\x23\0\0\0\x93\x30\0\0\0\0\0\x0e\xf6\x01\0\0\x01\0\0\0\xa3\x30\0\0\0\0\0\ +\x0e\xf0\x01\0\0\x01\0\0\0\xb7\x30\0\0\0\0\0\x0e\xf0\x01\0\0\x01\0\0\0\xbf\x30\ +\0\0\0\0\0\x0e\xf6\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\x0a\xfd\x01\0\0\0\0\0\0\0\0\ +\0\x09\x11\0\0\0\xce\x30\0\0\0\0\0\x0e\xfc\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\x03\ +\0\0\0\0\xde\x01\0\0\x04\0\0\0\x21\0\0\0\xd6\x30\0\0\0\0\0\x0e\xff\x01\0\0\0\0\ +\0\0\xf4\x30\0\0\0\0\0\x0e\x6d\0\0\0\x01\0\0\0\x07\x31\0\0\0\0\0\x0e\x6d\0\0\0\ +\x01\0\0\0\x1b\x31\0\0\0\0\0\x0e\x6d\0\0\0\x01\0\0\0\x2c\x31\0\0\0\0\0\x0e\x6d\ +\0\0\0\x01\0\0\0\x3c\x31\0\0\x27\0\0\x04\xa8\x01\0\0\x4a\x31\0\0\x06\x02\0\0\0\ +\0\0\0\x55\x31\0\0\x08\x02\0\0\x40\0\0\0\x5d\x31\0\0\x08\x02\0\0\x80\0\0\0\x65\ +\x31\0\0\x0a\x02\0\0\xc0\0\0\0\x6e\x31\0\0\x0c\x02\0\0\0\x01\0\0\x73\x31\0\0\ +\x08\x02\0\0\x40\x01\0\0\x7c\x31\0\0\x0c\x02\0\0\x80\x01\0\0\x84\x31\0\0\x0e\ +\x02\0\0\xc0\x01\0\0\x8d\x31\0\0\x08\x02\0\0\0\x02\0\0\x97\x31\0\0\x10\x02\0\0\ +\x40\x02\0\0\x9d\x31\0\0\x10\x02\0\0\x80\x02\0\0\xaf\x31\0\0\x12\x02\0\0\xc0\ +\x02\0\0\xba\x31\0\0\x14\x02\0\0\0\x03\0\0\xc6\x31\0\0\x16\x02\0\0\x40\x03\0\0\ +\xd2\x31\0\0\x18\x02\0\0\x80\x03\0\0\xde\x31\0\0\x1c\x02\0\0\xc0\x03\0\0\xea\ +\x31\0\0\x21\x02\0\0\0\x04\0\0\xf4\x31\0\0\x25\x02\0\0\x40\x04\0\0\xfe\x31\0\0\ +\x0c\x02\0\0\x80\x04\0\0\x05\x32\0\0\x0c\x02\0\0\xc0\x04\0\0\x07\x2f\0\0\x29\ +\x02\0\0\0\x05\0\0\x0d\x32\0\0\x2d\x02\0\0\x40\x05\0\0\x16\x32\0\0\x2f\x02\0\0\ +\x80\x05\0\0\x20\x32\0\0\x31\x02\0\0\xc0\x05\0\0\x2c\x32\0\0\x61\x02\0\0\0\x06\ +\0\0\x38\x32\0\0\x63\x02\0\0\x40\x06\0\0\x49\x32\0\0\x65\x02\0\0\x80\x06\0\0\ +\x55\x32\0\0\x65\x02\0\0\xc0\x06\0\0\x68\x32\0\0\x67\x02\0\0\0\x07\0\0\x7a\x32\ +\0\0\x69\x02\0\0\x40\x07\0\0\x85\x32\0\0\x69\x02\0\0\x80\x07\0\0\x91\x32\0\0\ +\x6b\x02\0\0\xc0\x07\0\0\x96\x32\0\0\x6d\x02\0\0\0\x08\0\0\x9b\x32\0\0\x11\0\0\ +\0\x40\x08\0\0\xa6\x02\0\0\x6d\0\0\0\x80\x08\0\0\xae\x32\0\0\x11\0\0\0\xc0\x08\ +\0\0\xb9\x32\0\0\x11\0\0\0\xe0\x08\0\0\xc7\x32\0\0\x6d\0\0\0\0\x09\0\0\xd3\x32\ +\0\0\x70\x02\0\0\x40\x09\0\0\0\0\0\0\0\0\0\x02\x07\x02\0\0\0\0\0\0\x03\0\0\x0d\ +\x14\0\0\0\0\0\0\0\x68\0\0\0\0\0\0\0\x14\0\0\0\0\0\0\0\x6d\0\0\0\0\0\0\0\0\0\0\ +\x02\x09\x02\0\0\0\0\0\0\x02\0\0\x0d\0\0\0\0\0\0\0\0\x68\0\0\0\0\0\0\0\x6d\0\0\ +\0\0\0\0\0\0\0\0\x02\x0b\x02\0\0\0\0\0\0\x02\0\0\x0d\0\0\0\0\0\0\0\0\x14\0\0\0\ +\0\0\0\0\x68\0\0\0\0\0\0\0\0\0\0\x02\x0d\x02\0\0\0\0\0\0\x01\0\0\x0d\0\0\0\0\0\ +\0\0\0\x68\0\0\0\0\0\0\0\0\0\0\x02\x0f\x02\0\0\0\0\0\0\x02\0\0\x0d\0\0\0\0\0\0\ +\0\0\x68\0\0\0\0\0\0\0\x23\0\0\0\0\0\0\0\0\0\0\x02\x11\x02\0\0\0\0\0\0\x02\0\0\ +\x0d\x23\0\0\0\0\0\0\0\x68\0\0\0\0\0\0\0\x68\0\0\0\0\0\0\0\0\0\0\x02\x13\x02\0\ +\0\0\0\0\0\x02\0\0\x0d\0\0\0\0\0\0\0\0\x68\0\0\0\0\0\0\0\x11\0\0\0\0\0\0\0\0\0\ +\0\x02\x15\x02\0\0\0\0\0\0\x02\0\0\x0d\0\0\0\0\0\0\0\0\x68\0\0\0\0\0\0\0\x55\0\ +\0\0\0\0\0\0\0\0\0\x02\x17\x02\0\0\0\0\0\0\x02\0\0\x0d\0\0\0\0\0\0\0\0\x14\0\0\ +\0\0\0\0\0\x23\0\0\0\0\0\0\0\0\0\0\x02\x19\x02\0\0\0\0\0\0\x02\0\0\x0d\0\0\0\0\ +\0\0\0\0\x14\0\0\0\0\0\0\0\x1a\x02\0\0\0\0\0\0\0\0\0\x02\x1b\x02\0\0\xd8\x32\0\ +\0\0\0\0\x04\0\0\0\0\0\0\0\0\0\0\0\x02\x1d\x02\0\0\0\0\0\0\x02\0\0\x0d\0\0\0\0\ +\0\0\0\0\x14\0\0\0\0\0\0\0\x1e\x02\0\0\0\0\0\0\0\0\0\x02\x1f\x02\0\0\xed\x32\0\ +\0\x02\0\0\x04\x10\0\0\0\xf2\x2e\0\0\x20\x02\0\0\0\0\0\0\xf9\x22\0\0\x68\0\0\0\ +\x40\0\0\0\x02\x33\0\0\x04\0\0\x06\x04\0\0\0\x19\x33\0\0\0\0\0\0\x2c\x33\0\0\ +\x01\0\0\0\x3f\x33\0\0\x02\0\0\0\x54\x33\0\0\x03\0\0\0\0\0\0\0\0\0\0\x02\x22\ +\x02\0\0\0\0\0\0\x02\0\0\x0d\x14\0\0\0\0\0\0\0\x68\0\0\0\0\0\0\0\x23\x02\0\0\0\ +\0\0\0\0\0\0\x02\x24\x02\0\0\x6c\x33\0\0\x02\0\0\x04\x10\0\0\0\x7f\x33\0\0\x23\ +\0\0\0\0\0\0\0\xd8\x23\0\0\x93\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\x02\x26\x02\0\0\0\ +\0\0\0\x02\0\0\x0d\0\0\0\0\0\0\0\0\x68\0\0\0\0\0\0\0\x27\x02\0\0\0\0\0\0\0\0\0\ +\x02\x28\x02\0\0\x84\x33\0\0\x01\0\0\x04\x01\0\0\0\x97\x33\0\0\x23\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\x02\x2a\x02\0\0\0\0\0\0\x01\0\0\x0d\0\0\0\0\0\0\0\0\x2b\x02\0\ +\0\0\0\0\0\0\0\0\x02\x2c\x02\0\0\xa1\x33\0\0\x05\0\0\x04\x28\0\0\0\xed\x2e\0\0\ +\xdc\x01\0\0\0\0\0\0\xd5\x05\0\0\x71\0\0\0\x40\0\0\0\xf2\x2e\0\0\xdd\x01\0\0\ +\x80\0\0\0\xae\x33\0\0\x6d\0\0\0\xc0\0\0\0\xb4\x33\0\0\x6d\0\0\0\0\x01\0\0\0\0\ +\0\0\0\0\0\x02\x2e\x02\0\0\0\0\0\0\x03\0\0\x0d\0\0\0\0\0\0\0\0\x2b\x02\0\0\0\0\ +\0\0\x14\0\0\0\0\0\0\0\x23\0\0\0\0\0\0\0\0\0\0\x02\x30\x02\0\0\0\0\0\0\x02\0\0\ +\x0d\0\0\0\0\0\0\0\0\x2b\x02\0\0\0\0\0\0\x68\0\0\0\0\0\0\0\0\0\0\x02\x32\x02\0\ +\0\0\0\0\0\x02\0\0\x0d\x14\0\0\0\0\0\0\0\x93\0\0\0\0\0\0\0\x5f\x02\0\0\xd8\x23\ +\0\0\x2a\0\0\x04\xc0\x07\0\0\xbf\x33\0\0\x34\x02\0\0\0\0\0\0\xa6\x02\0\0\x4e\0\ +\0\0\x80\x06\0\0\xc4\x33\0\0\x02\0\0\0\xc0\x06\0\0\xca\x33\0\0\x02\0\0\0\xe0\ +\x06\0\0\xd4\x33\0\0\x02\0\0\0\0\x07\0\0\xe3\x33\0\0\x02\0\0\0\x20\x07\0\0\xf8\ +\x33\0\0\x02\0\0\0\x40\x07\0\0\x08\x34\0\0\x02\0\0\0\x60\x07\0\0\x1b\x34\0\0\ +\x02\0\0\0\x80\x07\0\0\x38\x34\0\0\x02\0\0\0\xa0\x07\0\0\x57\x34\0\0\x02\0\0\0\ +\xc0\x07\0\0\x6c\x34\0\0\x40\x02\0\0\0\x08\0\0\x6f\x34\0\0\x41\x02\0\0\x40\x08\ +\0\0\x7a\x34\0\0\x41\x02\0\0\0\x0a\0\0\x86\x34\0\0\x42\x02\0\0\xc0\x0b\0\0\x90\ +\x34\0\0\x65\0\0\0\0\x11\0\0\xa0\x34\0\0\x65\0\0\0\x10\x11\0\0\xb0\x34\0\0\x65\ +\0\0\0\x20\x11\0\0\xc4\x34\0\0\x65\0\0\0\x30\x11\0\0\xd8\x34\0\0\x43\x02\0\0\ +\x40\x11\0\0\xdf\x34\0\0\x44\x02\0\0\xc0\x14\0\0\xef\x34\0\0\x45\x02\0\0\x80\ +\x16\0\0\xf4\x34\0\0\x6e\0\0\0\xc0\x16\0\0\xff\x34\0\0\x46\x02\0\0\x40\x17\0\0\ +\x07\x35\0\0\x93\0\0\0\x40\x1e\0\0\x10\x35\0\0\x93\0\0\0\x80\x1e\0\0\x1d\x35\0\ +\0\x47\x02\0\0\xc0\x1e\0\0\x27\x35\0\0\x6e\0\0\0\0\x1f\0\0\x36\x35\0\0\x48\x02\ +\0\0\0\x20\0\0\x3c\x35\0\0\x93\0\0\0\0\x20\0\0\x4d\x35\0\0\x4a\x02\0\0\x40\x20\ +\0\0\x58\x35\0\0\x4a\x02\0\0\x40\x21\0\0\xef\x07\0\0\xbd\0\0\0\x40\x22\0\0\x5e\ +\x35\0\0\x6e\0\0\0\0\x23\0\0\x67\x35\0\0\xd4\0\0\0\x80\x23\0\0\x75\x35\0\0\x5d\ +\x01\0\0\x80\x24\0\0\x83\x35\0\0\x38\x02\0\0\x40\x25\0\0\x96\x35\0\0\x4c\x02\0\ +\0\x40\x26\0\0\x9a\x35\0\0\x4d\x02\0\0\x80\x26\0\0\x9e\x35\0\0\x5d\x02\0\0\0\ +\x3d\0\0\xa6\x35\0\0\x31\x01\0\0\x80\x3d\0\0\xb7\x35\0\0\x5e\x02\0\0\xc0\x3d\0\ +\0\xc1\x35\0\0\x0e\0\0\x04\xd0\0\0\0\xd8\x23\0\0\x93\0\0\0\0\0\0\0\x5c\x29\0\0\ +\x35\x02\0\0\x40\0\0\0\xd5\x35\0\0\x36\x02\0\0\x80\0\0\0\x5a\x07\0\0\x6e\0\0\0\ +\0\x01\0\0\x51\x07\0\0\x6e\0\0\0\x80\x01\0\0\xdc\x35\0\0\x6e\0\0\0\0\x02\0\0\ +\x24\x21\0\0\x02\0\0\0\x80\x02\0\0\xa6\x02\0\0\x13\0\0\0\xa0\x02\0\0\xeb\x35\0\ +\0\x6d\0\0\0\xc0\x02\0\0\xf5\x35\0\0\x52\0\0\0\0\x03\0\0\0\x36\0\0\x38\x02\0\0\ +\x40\x03\0\0\x0d\x36\0\0\x3d\x02\0\0\x40\x04\0\0\x4a\x07\0\0\x3f\x02\0\0\0\x06\ +\0\0\xd4\x33\0\0\x02\0\0\0\x40\x06\0\0\0\0\0\0\0\0\0\x02\xb1\x02\0\0\x1b\x36\0\ +\0\x02\0\0\x04\x10\0\0\0\x26\x36\0\0\x4e\0\0\0\0\0\0\0\x37\x36\0\0\x37\x02\0\0\ +\x40\0\0\0\0\0\0\0\0\0\0\x02\xa7\x02\0\0\x3c\x36\0\0\x03\0\0\x04\x20\0\0\0\x37\ +\x36\0\0\x90\0\0\0\0\0\0\0\x3e\x1d\0\0\x6e\0\0\0\x40\0\0\0\xd5\x19\0\0\x39\x02\ +\0\0\xc0\0\0\0\x48\x36\0\0\0\0\0\x08\x3a\x02\0\0\0\0\0\0\0\0\0\x02\x3b\x02\0\0\ +\0\0\0\0\x01\0\0\x0d\0\0\0\0\0\0\0\0\x3c\x02\0\0\0\0\0\0\0\0\0\x02\x38\x02\0\0\ +\x54\x36\0\0\x03\0\0\x04\x38\0\0\0\xb2\x19\0\0\x38\x02\0\0\0\0\0\0\x6b\x0e\0\0\ +\xd0\0\0\0\0\x01\0\0\x5d\x36\0\0\x3e\x02\0\0\x80\x01\0\0\0\0\0\0\0\0\0\x02\xb3\ +\x02\0\0\0\0\0\0\0\0\0\x02\x34\x02\0\0\0\0\0\0\0\0\0\x02\xae\x02\0\0\x60\x36\0\ +\0\x03\0\0\x04\x38\0\0\0\x6c\x34\0\0\x40\x02\0\0\0\0\0\0\x6c\x36\0\0\x4e\0\0\0\ +\x40\0\0\0\x78\x36\0\0\x2c\x01\0\0\x80\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x41\x02\ +\0\0\x04\0\0\0\x03\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x3f\x02\0\0\x04\0\0\0\x0e\0\ +\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x02\0\0\0\x04\0\0\0\x0e\0\0\0\0\0\0\0\0\0\0\x02\ +\xaf\x02\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x6e\0\0\0\x04\0\0\0\x0e\0\0\0\0\0\0\0\0\ +\0\0\x02\xb0\x02\0\0\x85\x36\0\0\x01\0\0\x04\0\0\0\0\x97\x36\0\0\x49\x02\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x38\0\0\0\x04\0\0\0\0\0\0\0\x99\x36\0\0\x02\0\ +\0\x04\x20\0\0\0\xaa\x36\0\0\x4b\x02\0\0\0\0\0\0\xb2\x36\0\0\x6d\0\0\0\xc0\0\0\ +\0\xc0\x36\0\0\x03\0\0\x04\x18\0\0\0\xe3\x07\0\0\x6d\0\0\0\0\0\0\0\xdd\x07\0\0\ +\x6d\0\0\0\x40\0\0\0\x8d\x10\0\0\x21\0\0\0\x80\0\0\0\0\0\0\0\0\0\0\x02\xb2\x02\ +\0\0\xcd\x36\0\0\x07\0\0\x04\xd0\x02\0\0\xd8\x36\0\0\x5a\x02\0\0\0\0\0\0\xe2\ +\x36\0\0\x5b\x02\0\0\x80\x09\0\0\xa6\x02\0\0\x5c\x02\0\0\0\x13\0\0\xe8\x36\0\0\ +\x6e\0\0\0\x40\x14\0\0\xf1\x36\0\0\x4e\x02\0\0\xc0\x14\0\0\xd5\x35\0\0\x36\x02\ +\0\0\0\x15\0\0\xfa\x36\0\0\x38\x02\0\0\x80\x15\0\0\0\0\0\0\0\0\0\x02\x4f\x02\0\ +\0\x07\x37\0\0\x02\0\0\x04\x10\0\0\0\x6b\x0e\0\0\xd0\0\0\0\0\0\0\0\x16\x37\0\0\ +\x59\x02\0\0\x80\0\0\0\x1c\x37\0\0\x02\0\0\x04\x18\0\0\0\x64\x21\0\0\x82\x01\0\ +\0\0\0\0\0\0\0\0\0\x51\x02\0\0\x40\0\0\0\0\0\0\0\x02\0\0\x05\x10\0\0\0\x30\x37\ +\0\0\x58\x02\0\0\0\0\0\0\x69\x21\0\0\x6d\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x53\ +\x02\0\0\x3f\x37\0\0\x07\0\0\x04\x68\0\0\0\0\0\0\0\x54\x02\0\0\0\0\0\0\xef\x2f\ +\0\0\x56\x02\0\0\x40\0\0\0\x9a\0\0\0\x57\x02\0\0\x80\0\0\0\x52\x37\0\0\x6e\0\0\ +\0\0\x01\0\0\x5b\x37\0\0\x6e\0\0\0\x80\x01\0\0\x26\x13\0\0\x6b\0\0\0\0\x02\0\0\ +\x6b\x0e\0\0\xd0\0\0\0\xc0\x02\0\0\0\0\0\0\x02\0\0\x05\x08\0\0\0\x63\x37\0\0\ +\x55\x02\0\0\0\0\0\0\x67\x37\0\0\x60\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\xb9\x02\0\ +\0\0\0\0\0\0\0\0\x02\xba\x02\0\0\x72\x37\0\0\x02\0\0\x04\x10\0\0\0\x89\x37\0\0\ +\x20\0\0\0\0\0\0\0\x99\x37\0\0\x12\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\ +\x52\x02\0\0\x04\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x50\x02\0\0\x04\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x4e\x02\0\0\x04\0\0\0\x26\0\0\0\0\0\0\0\0\ +\0\0\x03\0\0\0\0\x9a\0\0\0\x04\0\0\0\x26\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x82\0\ +\0\0\x04\0\0\0\x26\0\0\0\xa5\x37\0\0\x04\0\0\x04\x10\0\0\0\xba\x37\0\0\x23\0\0\ +\0\0\0\0\0\xc1\x37\0\0\x02\0\0\0\x20\0\0\0\xca\x37\0\0\x02\0\0\0\x40\0\0\0\xe0\ +\x37\0\0\x02\0\0\0\x60\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x93\0\0\0\x04\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\x02\x60\x02\0\0\xf0\x37\0\0\x01\0\0\x04\x04\0\0\0\x08\x11\0\ +\0\x11\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x62\x02\0\0\0\0\0\0\x01\0\0\x0d\0\0\0\0\ +\0\0\0\0\x93\0\0\0\0\0\0\0\0\0\0\x02\x64\x02\0\0\0\0\0\0\x03\0\0\x0d\x14\0\0\0\ +\0\0\0\0\x68\0\0\0\0\0\0\0\x93\0\0\0\0\0\0\0\x93\0\0\0\0\0\0\0\0\0\0\x02\x66\ +\x02\0\0\0\0\0\0\x03\0\0\x0d\0\0\0\0\0\0\0\0\x68\0\0\0\0\0\0\0\x93\0\0\0\0\0\0\ +\0\x93\0\0\0\0\0\0\0\0\0\0\x02\x68\x02\0\0\0\0\0\0\x02\0\0\x0d\0\0\0\0\0\0\0\0\ +\x93\0\0\0\0\0\0\0\x11\0\0\0\0\0\0\0\0\0\0\x02\x6a\x02\0\0\0\0\0\0\x01\0\0\x0d\ +\0\0\0\0\0\0\0\0\x14\0\0\0\0\0\0\0\0\0\0\x02\x6c\x02\0\0\0\0\0\0\0\0\0\x0d\x14\ +\0\0\0\0\0\0\0\0\0\0\x02\x6e\x02\0\0\0\0\0\0\x01\0\0\x0d\0\0\0\0\0\0\0\0\x6f\ +\x02\0\0\0\0\0\0\0\0\0\x02\xdb\x01\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x38\0\0\0\x04\ +\0\0\0\x80\0\0\0\x05\x38\0\0\0\0\0\x0e\x05\x02\0\0\x01\0\0\0\0\0\0\0\0\0\0\x03\ +\0\0\0\0\x38\0\0\0\x04\0\0\0\x01\0\0\0\x0e\x38\0\0\0\0\0\x0e\x72\x02\0\0\x01\0\ +\0\0\x17\x38\0\0\0\0\0\x0e\xfc\x01\0\0\x01\0\0\0\x24\x38\0\0\x04\0\0\x04\x90\ +\x04\0\0\xed\x2e\0\0\x02\0\0\0\0\0\0\0\xd5\x05\0\0\x71\0\0\0\x40\0\0\0\xf2\x2e\ +\0\0\x70\x02\0\0\x80\0\0\0\x03\x2f\0\0\x76\x02\0\0\x80\x04\0\0\0\0\0\0\0\0\0\ +\x03\0\0\0\0\x38\0\0\0\x04\0\0\0\0\x04\0\0\x33\x38\0\0\0\0\0\x0e\x75\x02\0\0\ +\x01\0\0\0\x37\x38\0\0\0\0\0\x0e\x10\0\0\0\x01\0\0\0\x47\x38\0\0\0\0\0\x0e\x10\ +\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x38\0\0\0\x04\0\0\0\x1c\0\0\0\x57\ +\x38\0\0\0\0\0\x0e\x7a\x02\0\0\0\0\0\0\x72\x38\0\0\0\0\0\x0e\x7a\x02\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\x03\0\0\0\0\x38\0\0\0\x04\0\0\0\x1a\0\0\0\x8f\x38\0\0\0\0\0\ +\x0e\x7d\x02\0\0\0\0\0\0\xac\x38\0\0\0\0\0\x0e\x14\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\x03\0\0\0\0\x38\0\0\0\x04\0\0\0\x19\0\0\0\xb8\x38\0\0\0\0\0\x0e\x80\x02\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x38\0\0\0\x04\0\0\0\x21\0\0\0\xd4\x38\0\0\0\0\ +\0\x0e\x82\x02\0\0\0\0\0\0\xf2\x38\0\0\0\0\0\x0e\x6d\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\x03\0\0\0\0\x38\0\0\0\x04\0\0\0\x18\0\0\0\xfc\x38\0\0\0\0\0\x0e\x85\x02\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x38\0\0\0\x04\0\0\0\x1e\0\0\0\x14\x39\0\0\0\ +\0\0\x0e\x87\x02\0\0\0\0\0\0\x2d\x39\0\0\0\0\0\x0e\x7d\x02\0\0\0\0\0\0\x49\x39\ +\0\0\0\0\0\x0e\x87\x02\0\0\0\0\0\0\x5e\x39\0\0\0\0\0\x0e\x7d\x02\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\x03\0\0\0\0\x38\0\0\0\x04\0\0\0\x20\0\0\0\x76\x39\0\0\0\0\0\x0e\ +\x8c\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x38\0\0\0\x04\0\0\0\x22\0\0\0\ +\x8e\x39\0\0\0\0\0\x0e\x8e\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x38\0\0\0\ +\x04\0\0\0\x1f\0\0\0\xa6\x39\0\0\0\0\0\x0e\x90\x02\0\0\0\0\0\0\xbe\x39\0\0\0\0\ +\0\x0e\x7d\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\x38\0\0\0\x04\0\0\0\x24\0\ +\0\0\xd6\x39\0\0\0\0\0\x0e\x93\x02\0\0\0\0\0\0\xeb\x39\0\0\0\0\0\x0e\x7d\x02\0\ +\0\0\0\0\0\x03\x3a\0\0\0\0\0\x12\x4b\0\0\0\x08\x3a\0\0\0\0\0\x07\0\0\0\0\x19\ +\x3a\0\0\0\0\0\x07\0\0\0\0\x17\x1f\0\0\0\0\0\x07\0\0\0\0\x26\x3a\0\0\0\0\0\x07\ +\0\0\0\0\x3d\x3a\0\0\0\0\0\x07\0\0\0\0\x50\x3a\0\0\0\0\0\x07\0\0\0\0\xf3\x12\0\ +\0\0\0\0\x07\0\0\0\0\xdc\x10\0\0\0\0\0\x07\0\0\0\0\x5c\x3a\0\0\0\0\0\x07\0\0\0\ +\0\x66\x3a\0\0\0\0\0\x07\0\0\0\0\x75\x3a\0\0\0\0\0\x07\0\0\0\0\x88\x3a\0\0\0\0\ +\0\x07\0\0\0\0\x15\x1d\0\0\0\0\0\x07\0\0\0\0\x7c\x0b\0\0\0\0\0\x07\0\0\0\0\x96\ +\x3a\0\0\0\0\0\x07\0\0\0\0\xa1\x3a\0\0\0\0\0\x07\0\0\0\0\xac\x3a\0\0\0\0\0\x07\ +\0\0\0\0\xbc\x3a\0\0\0\0\0\x07\0\0\0\0\xc7\x3a\0\0\0\0\0\x07\0\0\0\0\xec\x08\0\ +\0\0\0\0\x07\0\0\0\0\xdb\x1a\0\0\0\0\0\x07\0\0\0\0\xd6\x3a\0\0\0\0\0\x07\0\0\0\ +\0\xe4\x3a\0\0\0\0\0\x07\0\0\0\0\xec\x3a\0\0\0\0\0\x07\0\0\0\0\xf8\x3a\0\0\0\0\ +\0\x07\0\0\0\0\x04\x3b\0\0\0\0\0\x07\0\0\0\0\x15\x3b\0\0\0\0\0\x07\0\0\0\0\x23\ +\x3b\0\0\0\0\0\x07\0\0\0\0\x2d\x3b\0\0\0\0\0\x07\0\0\0\0\x3e\x3b\0\0\0\0\0\x07\ +\0\0\0\0\x47\x3b\0\0\0\0\0\x07\0\0\0\0\x59\x3b\0\0\0\0\0\x07\0\0\0\0\x65\x3b\0\ +\0\0\0\0\x07\0\0\0\0\x6f\x3b\0\0\0\0\0\x07\0\0\0\0\x7b\x3b\0\0\0\0\0\x07\0\0\0\ +\0\x8e\x3b\0\0\0\0\0\x07\0\0\0\0\xa5\x3b\0\0\0\0\0\x07\0\0\0\0\x9a\0\0\0\0\0\0\ +\x07\0\0\0\0\xaf\x3b\0\0\0\0\0\x07\0\0\0\0\xbf\x3b\0\0\0\0\0\x07\0\0\0\0\xe3\ +\x1a\0\0\0\0\0\x07\0\0\0\0\xcd\x3b\0\0\0\0\0\x07\0\0\0\0\x07\x0a\0\0\0\0\0\x07\ +\0\0\0\0\x23\x0a\0\0\0\0\0\x07\0\0\0\0\x28\x07\0\0\0\0\0\x07\0\0\0\0\xd5\x3b\0\ +\0\0\0\0\x07\0\0\0\0\xec\x3b\0\0\0\0\0\x07\0\0\0\0\x01\x3c\0\0\0\0\0\x07\0\0\0\ +\0\x11\x3c\0\0\0\0\0\x07\0\0\0\0\x23\x3c\0\0\0\0\0\x07\0\0\0\0\x2f\x3c\0\0\0\0\ +\0\x07\0\0\0\0\x3e\x3c\0\0\0\0\0\x07\0\0\0\0\x4f\x03\0\0\0\0\0\x07\0\0\0\0\x49\ +\x3c\0\0\0\0\0\x07\0\0\0\0\x52\x3c\0\0\0\0\0\x07\0\0\0\0\x60\x3c\0\0\0\0\0\x07\ +\0\0\0\0\x72\x3c\0\0\0\0\0\x07\0\0\0\0\x81\x3c\0\0\0\0\0\x07\0\0\0\0\x9d\x08\0\ +\0\0\0\0\x07\0\0\0\0\x88\x3c\0\0\0\0\0\x07\0\0\0\0\x96\x3c\0\0\0\0\0\x07\0\0\0\ +\0\xa3\x3c\0\0\0\0\0\x07\0\0\0\0\xb1\x3c\0\0\0\0\0\x07\0\0\0\0\xba\x3c\0\0\0\0\ +\0\x07\0\0\0\0\x5c\x09\0\0\0\0\0\x07\0\0\0\0\xc9\x3c\0\0\0\0\0\x07\0\0\0\0\xd8\ +\x3c\0\0\0\0\0\x07\0\0\0\0\x15\x0a\0\0\0\0\0\x07\0\0\0\0\x2e\x0a\0\0\0\0\0\x07\ +\0\0\0\0\xe8\x3c\0\0\0\0\0\x07\0\0\0\0\xf9\x3c\0\0\0\0\0\x07\0\0\0\0\x11\x3d\0\ +\0\0\0\0\x07\0\0\0\0\x45\x0c\0\0\0\0\0\x07\0\0\0\0\x97\x0c\0\0\0\0\0\x07\0\0\0\ +\0\x20\x3d\0\0\0\0\0\x07\0\0\0\0\x30\x3d\0\0\0\0\0\x07\0\0\0\0\x3c\x3d\0\0\0\0\ +\0\x07\0\0\0\0\xf3\x0e\0\0\0\0\0\x07\0\0\0\0\x8d\x0f\0\0\0\0\0\x07\0\0\0\0\xff\ +\x1d\0\0\0\0\0\x07\0\0\0\0\x48\x3d\0\0\0\0\0\x07\0\0\0\0\x08\x5f\0\0\x01\0\0\ +\x0f\x0d\0\0\0\xef\x01\0\0\0\0\0\0\x0d\0\0\0\x10\x5f\0\0\x0b\0\0\x0f\x68\0\0\0\ +\xf2\x01\0\0\0\0\0\0\x08\0\0\0\xf3\x01\0\0\x08\0\0\0\x08\0\0\0\xf4\x01\0\0\x10\ +\0\0\0\x08\0\0\0\xf5\x01\0\0\x18\0\0\0\x08\0\0\0\xf8\x01\0\0\x20\0\0\0\x01\0\0\ +\0\xf9\x01\0\0\x28\0\0\0\x08\0\0\0\xfa\x01\0\0\x30\0\0\0\x08\0\0\0\xfb\x01\0\0\ +\x38\0\0\0\x01\0\0\0\xfe\x01\0\0\x3c\0\0\0\x04\0\0\0\0\x02\0\0\x40\0\0\0\x21\0\ +\0\0\x74\x02\0\0\x64\0\0\0\x04\0\0\0\x18\x5f\0\0\x0b\0\0\x0f\x48\x01\0\0\x08\0\ +\0\0\0\0\0\0\x10\0\0\0\x17\0\0\0\x10\0\0\0\x20\0\0\0\x26\0\0\0\x30\0\0\0\x20\0\ +\0\0\x2b\0\0\0\x50\0\0\0\x20\0\0\0\x2f\0\0\0\x70\0\0\0\x20\0\0\0\x35\0\0\0\x90\ +\0\0\0\x18\0\0\0\x3b\0\0\0\xa8\0\0\0\x20\0\0\0\x3c\0\0\0\xc8\0\0\0\x20\0\0\0\ +\x3e\0\0\0\xe8\0\0\0\x20\0\0\0\x3f\0\0\0\x08\x01\0\0\x20\0\0\0\x49\0\0\0\x28\ +\x01\0\0\x20\0\0\0\x1e\x5f\0\0\x06\0\0\x0f\x30\0\0\0\x01\x02\0\0\0\0\0\0\x08\0\ +\0\0\x02\x02\0\0\x08\0\0\0\x08\0\0\0\x03\x02\0\0\x10\0\0\0\x08\0\0\0\x04\x02\0\ +\0\x18\0\0\0\x08\0\0\0\x7f\x02\0\0\x20\0\0\0\x04\0\0\0\x84\x02\0\0\x28\0\0\0\ +\x08\0\0\0\x23\x5f\0\0\x01\0\0\x0f\xa8\x01\0\0\x71\x02\0\0\0\0\0\0\xa8\x01\0\0\ +\x34\x5f\0\0\x01\0\0\x0f\x01\0\0\0\x73\x02\0\0\0\0\0\0\x01\0\0\0\x43\x5f\0\0\ +\x11\0\0\x0f\x5d\x06\0\0\x77\x02\0\0\0\0\0\0\x90\x04\0\0\x7b\x02\0\0\x90\x04\0\ +\0\x1c\0\0\0\x7c\x02\0\0\xac\x04\0\0\x1c\0\0\0\x7e\x02\0\0\xc8\x04\0\0\x1a\0\0\ +\0\x81\x02\0\0\xe2\x04\0\0\x19\0\0\0\x83\x02\0\0\xfb\x04\0\0\x21\0\0\0\x86\x02\ +\0\0\x1c\x05\0\0\x18\0\0\0\x88\x02\0\0\x34\x05\0\0\x1e\0\0\0\x89\x02\0\0\x52\ +\x05\0\0\x1a\0\0\0\x8a\x02\0\0\x6c\x05\0\0\x1e\0\0\0\x8b\x02\0\0\x8a\x05\0\0\ +\x1a\0\0\0\x8d\x02\0\0\xa4\x05\0\0\x20\0\0\0\x8f\x02\0\0\xc4\x05\0\0\x22\0\0\0\ +\x91\x02\0\0\xe6\x05\0\0\x1f\0\0\0\x92\x02\0\0\x05\x06\0\0\x1a\0\0\0\x94\x02\0\ +\0\x1f\x06\0\0\x24\0\0\0\x95\x02\0\0\x43\x06\0\0\x1a\0\0\0\x49\x5f\0\0\x02\0\0\ +\x0f\x10\0\0\0\x78\x02\0\0\0\0\0\0\x08\0\0\0\x79\x02\0\0\x08\0\0\0\x08\0\0\0\ +\x55\x5f\0\0\x16\0\0\x0f\0\0\0\0\x5c\0\0\0\0\0\0\0\0\0\0\0\x5d\0\0\0\0\0\0\0\0\ +\0\0\0\xae\x01\0\0\0\0\0\0\0\0\0\0\xb0\x01\0\0\0\0\0\0\0\0\0\0\xb2\x01\0\0\0\0\ +\0\0\0\0\0\0\xb4\x01\0\0\0\0\0\0\0\0\0\0\xb6\x01\0\0\0\0\0\0\0\0\0\0\xb8\x01\0\ +\0\0\0\0\0\0\0\0\0\xb9\x01\0\0\0\0\0\0\0\0\0\0\xbb\x01\0\0\0\0\0\0\0\0\0\0\xbf\ +\x01\0\0\0\0\0\0\0\0\0\0\xc2\x01\0\0\0\0\0\0\0\0\0\0\xc4\x01\0\0\0\0\0\0\0\0\0\ +\0\xc9\x01\0\0\0\0\0\0\0\0\0\0\xcb\x01\0\0\0\0\0\0\0\0\0\0\xcf\x01\0\0\0\0\0\0\ +\0\0\0\0\xd0\x01\0\0\0\0\0\0\0\0\0\0\xd5\x01\0\0\0\0\0\0\0\0\0\0\xd7\x01\0\0\0\ +\0\0\0\0\0\0\0\xd9\x01\0\0\0\0\0\0\0\0\0\0\xeb\x01\0\0\0\0\0\0\0\0\0\0\xed\x01\ +\0\0\0\0\0\0\0\0\0\0\0\x69\x6e\x74\0\x5f\x5f\x41\x52\x52\x41\x59\x5f\x53\x49\ +\x5a\x45\x5f\x54\x59\x50\x45\x5f\x5f\0\x74\x79\x70\x65\0\x6d\x61\x78\x5f\x65\ +\x6e\x74\x72\x69\x65\x73\0\x63\x70\x75\x5f\x6d\x61\x73\x6b\x5f\x62\x75\x66\x66\ +\x65\x72\0\x74\x61\x73\x6b\x5f\x63\x74\x78\0\x74\x6d\x70\x5f\x6d\x61\x73\x6b\0\ +\x70\x72\x65\x76\x5f\x6d\x69\x73\x73\x65\x73\0\x61\x74\x74\x61\x63\x68\x65\x64\ +\x5f\x63\x6f\x72\x65\0\x70\x72\x65\x76\x5f\x63\x70\x75\0\x75\x33\x32\0\x5f\x5f\ +\x75\x33\x32\0\x75\x6e\x73\x69\x67\x6e\x65\x64\x20\x69\x6e\x74\0\x73\x33\x32\0\ +\x5f\x5f\x73\x33\x32\0\x6d\x61\x70\x5f\x66\x6c\x61\x67\x73\0\x6b\x65\x79\0\x76\ +\x61\x6c\x75\x65\0\x74\x61\x73\x6b\x5f\x63\x74\x78\x5f\x73\x74\x6f\x72\0\x70\ +\x63\x70\x75\x5f\x63\x74\x78\0\x74\x69\x6d\x65\x72\0\x73\x63\x68\x65\x64\x75\ +\x6c\x65\x64\x5f\x63\x6f\x6d\x70\x61\x63\x74\x69\x6f\x6e\0\x62\x70\x66\x5f\x74\ +\x69\x6d\x65\x72\0\x5f\x5f\x6f\x70\x61\x71\x75\x65\0\x5f\x5f\x75\x36\x34\0\x75\ +\x6e\x73\x69\x67\x6e\x65\x64\x20\x6c\x6f\x6e\x67\x20\x6c\x6f\x6e\x67\0\x62\x6f\ +\x6f\x6c\0\x5f\x42\x6f\x6f\x6c\0\x70\x63\x70\x75\x5f\x63\x74\x78\x73\0\x73\x74\ +\x61\x74\x73\x5f\x74\x69\x6d\x65\x72\0\x66\x69\x6c\x74\x65\x72\x5f\x69\x6e\x6e\ +\x65\x72\x5f\x6d\x61\x70\0\x74\x65\x6d\x70\x6c\x61\x74\x65\x5f\x6d\x61\x70\0\ +\x76\x61\x6c\x75\x65\x73\0\x66\x6c\x69\x74\x65\x72\x5f\x6d\x61\x70\0\x63\x6f\ +\x6d\x6d\x5f\x69\x6e\x66\x6f\0\x63\x6f\x6d\x6d\0\x63\x68\x61\x72\0\x63\x6f\x6d\ +\x6d\x5f\x69\x67\x6e\x6f\x72\x65\x5f\x6d\x61\x70\0\x63\x6f\x6d\x6d\x5f\x61\x74\ +\x74\x65\x6e\x74\x69\x6f\x6e\x5f\x6d\x61\x70\0\x69\x64\x5f\x69\x67\x6e\x6f\x72\ +\x65\x5f\x6d\x61\x70\0\x69\x64\x5f\x61\x74\x74\x65\x6e\x74\x69\x6f\x6e\x5f\x6d\ +\x61\x70\0\x6b\x65\x79\x5f\x73\x69\x7a\x65\0\x76\x61\x6c\x75\x65\x5f\x73\x69\ +\x7a\x65\0\x73\x74\x61\x74\x73\0\x62\x70\x66\x5f\x63\x70\x75\x6d\x61\x73\x6b\0\ +\x63\x70\x75\x6d\x61\x73\x6b\0\x75\x73\x61\x67\x65\0\x63\x70\x75\x6d\x61\x73\ +\x6b\x5f\x74\0\x62\x69\x74\x73\0\x75\x6e\x73\x69\x67\x6e\x65\x64\x20\x6c\x6f\ +\x6e\x67\0\x72\x65\x66\x63\x6f\x75\x6e\x74\x5f\x74\0\x72\x65\x66\x63\x6f\x75\ +\x6e\x74\x5f\x73\x74\x72\x75\x63\x74\0\x72\x65\x66\x73\0\x61\x74\x6f\x6d\x69\ +\x63\x5f\x74\0\x63\x6f\x75\x6e\x74\x65\x72\0\x6d\x61\x73\x6b\0\x63\x61\x73\x74\ +\x5f\x6d\x61\x73\x6b\0\x63\x74\x78\0\x6e\x65\x73\x74\x5f\x73\x65\x6c\x65\x63\ +\x74\x5f\x63\x70\x75\0\x62\x70\x66\x5f\x72\x63\x75\x5f\x72\x65\x61\x64\x5f\x6c\ +\x6f\x63\x6b\0\x62\x70\x66\x5f\x72\x63\x75\x5f\x72\x65\x61\x64\x5f\x75\x6e\x6c\ +\x6f\x63\x6b\0\x74\x61\x73\x6b\x5f\x73\x74\x72\x75\x63\x74\0\x74\x68\x72\x65\ +\x61\x64\x5f\x69\x6e\x66\x6f\0\x5f\x5f\x73\x74\x61\x74\x65\0\x73\x61\x76\x65\ +\x64\x5f\x73\x74\x61\x74\x65\0\x73\x74\x61\x63\x6b\0\x66\x6c\x61\x67\x73\0\x70\ +\x74\x72\x61\x63\x65\0\x6f\x6e\x5f\x63\x70\x75\0\x77\x61\x6b\x65\x5f\x65\x6e\ +\x74\x72\x79\0\x77\x61\x6b\x65\x65\x5f\x66\x6c\x69\x70\x73\0\x77\x61\x6b\x65\ +\x65\x5f\x66\x6c\x69\x70\x5f\x64\x65\x63\x61\x79\x5f\x74\x73\0\x6c\x61\x73\x74\ +\x5f\x77\x61\x6b\x65\x65\0\x72\x65\x63\x65\x6e\x74\x5f\x75\x73\x65\x64\x5f\x63\ +\x70\x75\0\x77\x61\x6b\x65\x5f\x63\x70\x75\0\x6f\x6e\x5f\x72\x71\0\x70\x72\x69\ +\x6f\0\x73\x74\x61\x74\x69\x63\x5f\x70\x72\x69\x6f\0\x6e\x6f\x72\x6d\x61\x6c\ +\x5f\x70\x72\x69\x6f\0\x72\x74\x5f\x70\x72\x69\x6f\x72\x69\x74\x79\0\x73\x65\0\ +\x72\x74\0\x64\x6c\0\x64\x6c\x5f\x73\x65\x72\x76\x65\x72\0\x73\x63\x78\0\x73\ +\x63\x68\x65\x64\x5f\x63\x6c\x61\x73\x73\0\x63\x6f\x72\x65\x5f\x6e\x6f\x64\x65\ +\0\x63\x6f\x72\x65\x5f\x63\x6f\x6f\x6b\x69\x65\0\x63\x6f\x72\x65\x5f\x6f\x63\ +\x63\x75\x70\x61\x74\x69\x6f\x6e\0\x73\x63\x68\x65\x64\x5f\x74\x61\x73\x6b\x5f\ +\x67\x72\x6f\x75\x70\0\x75\x63\x6c\x61\x6d\x70\x5f\x72\x65\x71\0\x75\x63\x6c\ +\x61\x6d\x70\0\x70\x72\x65\x65\x6d\x70\x74\x5f\x6e\x6f\x74\x69\x66\x69\x65\x72\ +\x73\0\x62\x74\x72\x61\x63\x65\x5f\x73\x65\x71\0\x70\x6f\x6c\x69\x63\x79\0\x6d\ +\x61\x78\x5f\x61\x6c\x6c\x6f\x77\x65\x64\x5f\x63\x61\x70\x61\x63\x69\x74\x79\0\ +\x6e\x72\x5f\x63\x70\x75\x73\x5f\x61\x6c\x6c\x6f\x77\x65\x64\0\x63\x70\x75\x73\ +\x5f\x70\x74\x72\0\x75\x73\x65\x72\x5f\x63\x70\x75\x73\x5f\x70\x74\x72\0\x63\ +\x70\x75\x73\x5f\x6d\x61\x73\x6b\0\x6d\x69\x67\x72\x61\x74\x69\x6f\x6e\x5f\x70\ +\x65\x6e\x64\x69\x6e\x67\0\x6d\x69\x67\x72\x61\x74\x69\x6f\x6e\x5f\x64\x69\x73\ +\x61\x62\x6c\x65\x64\0\x6d\x69\x67\x72\x61\x74\x69\x6f\x6e\x5f\x66\x6c\x61\x67\ +\x73\0\x72\x63\x75\x5f\x72\x65\x61\x64\x5f\x6c\x6f\x63\x6b\x5f\x6e\x65\x73\x74\ +\x69\x6e\x67\0\x72\x63\x75\x5f\x72\x65\x61\x64\x5f\x75\x6e\x6c\x6f\x63\x6b\x5f\ +\x73\x70\x65\x63\x69\x61\x6c\0\x72\x63\x75\x5f\x6e\x6f\x64\x65\x5f\x65\x6e\x74\ +\x72\x79\0\x72\x63\x75\x5f\x62\x6c\x6f\x63\x6b\x65\x64\x5f\x6e\x6f\x64\x65\0\ +\x72\x63\x75\x5f\x74\x61\x73\x6b\x73\x5f\x6e\x76\x63\x73\x77\0\x72\x63\x75\x5f\ +\x74\x61\x73\x6b\x73\x5f\x68\x6f\x6c\x64\x6f\x75\x74\0\x72\x63\x75\x5f\x74\x61\ +\x73\x6b\x73\x5f\x69\x64\x78\0\x72\x63\x75\x5f\x74\x61\x73\x6b\x73\x5f\x69\x64\ +\x6c\x65\x5f\x63\x70\x75\0\x72\x63\x75\x5f\x74\x61\x73\x6b\x73\x5f\x68\x6f\x6c\ +\x64\x6f\x75\x74\x5f\x6c\x69\x73\x74\0\x72\x63\x75\x5f\x74\x61\x73\x6b\x73\x5f\ +\x65\x78\x69\x74\x5f\x63\x70\x75\0\x72\x63\x75\x5f\x74\x61\x73\x6b\x73\x5f\x65\ +\x78\x69\x74\x5f\x6c\x69\x73\x74\0\x74\x72\x63\x5f\x72\x65\x61\x64\x65\x72\x5f\ +\x6e\x65\x73\x74\x69\x6e\x67\0\x74\x72\x63\x5f\x69\x70\x69\x5f\x74\x6f\x5f\x63\ +\x70\x75\0\x74\x72\x63\x5f\x72\x65\x61\x64\x65\x72\x5f\x73\x70\x65\x63\x69\x61\ +\x6c\0\x74\x72\x63\x5f\x68\x6f\x6c\x64\x6f\x75\x74\x5f\x6c\x69\x73\x74\0\x74\ +\x72\x63\x5f\x62\x6c\x6b\x64\x5f\x6e\x6f\x64\x65\0\x74\x72\x63\x5f\x62\x6c\x6b\ +\x64\x5f\x63\x70\x75\0\x73\x63\x68\x65\x64\x5f\x69\x6e\x66\x6f\0\x74\x61\x73\ +\x6b\x73\0\x70\x75\x73\x68\x61\x62\x6c\x65\x5f\x74\x61\x73\x6b\x73\0\x70\x75\ +\x73\x68\x61\x62\x6c\x65\x5f\x64\x6c\x5f\x74\x61\x73\x6b\x73\0\x6d\x6d\0\x61\ +\x63\x74\x69\x76\x65\x5f\x6d\x6d\0\x66\x61\x75\x6c\x74\x73\x5f\x64\x69\x73\x61\ +\x62\x6c\x65\x64\x5f\x6d\x61\x70\x70\x69\x6e\x67\0\x65\x78\x69\x74\x5f\x73\x74\ +\x61\x74\x65\0\x65\x78\x69\x74\x5f\x63\x6f\x64\x65\0\x65\x78\x69\x74\x5f\x73\ +\x69\x67\x6e\x61\x6c\0\x70\x64\x65\x61\x74\x68\x5f\x73\x69\x67\x6e\x61\x6c\0\ +\x6a\x6f\x62\x63\x74\x6c\0\x70\x65\x72\x73\x6f\x6e\x61\x6c\x69\x74\x79\0\x73\ +\x63\x68\x65\x64\x5f\x72\x65\x73\x65\x74\x5f\x6f\x6e\x5f\x66\x6f\x72\x6b\0\x73\ +\x63\x68\x65\x64\x5f\x63\x6f\x6e\x74\x72\x69\x62\x75\x74\x65\x73\x5f\x74\x6f\ +\x5f\x6c\x6f\x61\x64\0\x73\x63\x68\x65\x64\x5f\x6d\x69\x67\x72\x61\x74\x65\x64\ +\0\x73\x63\x68\x65\x64\x5f\x72\x65\x6d\x6f\x74\x65\x5f\x77\x61\x6b\x65\x75\x70\ +\0\x73\x63\x68\x65\x64\x5f\x72\x74\x5f\x6d\x75\x74\x65\x78\0\x69\x6e\x5f\x65\ +\x78\x65\x63\x76\x65\0\x69\x6e\x5f\x69\x6f\x77\x61\x69\x74\0\x72\x65\x73\x74\ +\x6f\x72\x65\x5f\x73\x69\x67\x6d\x61\x73\x6b\0\x69\x6e\x5f\x6c\x72\x75\x5f\x66\ +\x61\x75\x6c\x74\0\x6e\x6f\x5f\x63\x67\x72\x6f\x75\x70\x5f\x6d\x69\x67\x72\x61\ +\x74\x69\x6f\x6e\0\x66\x72\x6f\x7a\x65\x6e\0\x75\x73\x65\x5f\x6d\x65\x6d\x64\ +\x65\x6c\x61\x79\0\x69\x6e\x5f\x6d\x65\x6d\x73\x74\x61\x6c\x6c\0\x69\x6e\x5f\ +\x65\x76\x65\x6e\x74\x66\x64\0\x70\x61\x73\x69\x64\x5f\x61\x63\x74\x69\x76\x61\ +\x74\x65\x64\0\x72\x65\x70\x6f\x72\x74\x65\x64\x5f\x73\x70\x6c\x69\x74\x5f\x6c\ +\x6f\x63\x6b\0\x69\x6e\x5f\x74\x68\x72\x61\x73\x68\x69\x6e\x67\0\x61\x74\x6f\ +\x6d\x69\x63\x5f\x66\x6c\x61\x67\x73\0\x72\x65\x73\x74\x61\x72\x74\x5f\x62\x6c\ +\x6f\x63\x6b\0\x70\x69\x64\0\x74\x67\x69\x64\0\x73\x74\x61\x63\x6b\x5f\x63\x61\ +\x6e\x61\x72\x79\0\x72\x65\x61\x6c\x5f\x70\x61\x72\x65\x6e\x74\0\x70\x61\x72\ +\x65\x6e\x74\0\x63\x68\x69\x6c\x64\x72\x65\x6e\0\x73\x69\x62\x6c\x69\x6e\x67\0\ +\x67\x72\x6f\x75\x70\x5f\x6c\x65\x61\x64\x65\x72\0\x70\x74\x72\x61\x63\x65\x64\ +\0\x70\x74\x72\x61\x63\x65\x5f\x65\x6e\x74\x72\x79\0\x74\x68\x72\x65\x61\x64\ +\x5f\x70\x69\x64\0\x70\x69\x64\x5f\x6c\x69\x6e\x6b\x73\0\x74\x68\x72\x65\x61\ +\x64\x5f\x6e\x6f\x64\x65\0\x76\x66\x6f\x72\x6b\x5f\x64\x6f\x6e\x65\0\x73\x65\ +\x74\x5f\x63\x68\x69\x6c\x64\x5f\x74\x69\x64\0\x63\x6c\x65\x61\x72\x5f\x63\x68\ +\x69\x6c\x64\x5f\x74\x69\x64\0\x77\x6f\x72\x6b\x65\x72\x5f\x70\x72\x69\x76\x61\ +\x74\x65\0\x75\x74\x69\x6d\x65\0\x73\x74\x69\x6d\x65\0\x67\x74\x69\x6d\x65\0\ +\x70\x72\x65\x76\x5f\x63\x70\x75\x74\x69\x6d\x65\0\x76\x74\x69\x6d\x65\0\x74\ +\x69\x63\x6b\x5f\x64\x65\x70\x5f\x6d\x61\x73\x6b\0\x6e\x76\x63\x73\x77\0\x6e\ +\x69\x76\x63\x73\x77\0\x73\x74\x61\x72\x74\x5f\x74\x69\x6d\x65\0\x73\x74\x61\ +\x72\x74\x5f\x62\x6f\x6f\x74\x74\x69\x6d\x65\0\x6d\x69\x6e\x5f\x66\x6c\x74\0\ +\x6d\x61\x6a\x5f\x66\x6c\x74\0\x70\x6f\x73\x69\x78\x5f\x63\x70\x75\x74\x69\x6d\ +\x65\x72\x73\0\x70\x6f\x73\x69\x78\x5f\x63\x70\x75\x74\x69\x6d\x65\x72\x73\x5f\ +\x77\x6f\x72\x6b\0\x70\x74\x72\x61\x63\x65\x72\x5f\x63\x72\x65\x64\0\x72\x65\ +\x61\x6c\x5f\x63\x72\x65\x64\0\x63\x72\x65\x64\0\x63\x61\x63\x68\x65\x64\x5f\ +\x72\x65\x71\x75\x65\x73\x74\x65\x64\x5f\x6b\x65\x79\0\x6e\x61\x6d\x65\x69\x64\ +\x61\x74\x61\0\x73\x79\x73\x76\x73\x65\x6d\0\x73\x79\x73\x76\x73\x68\x6d\0\x6c\ +\x61\x73\x74\x5f\x73\x77\x69\x74\x63\x68\x5f\x63\x6f\x75\x6e\x74\0\x6c\x61\x73\ +\x74\x5f\x73\x77\x69\x74\x63\x68\x5f\x74\x69\x6d\x65\0\x66\x73\0\x66\x69\x6c\ +\x65\x73\0\x69\x6f\x5f\x75\x72\x69\x6e\x67\0\x6e\x73\x70\x72\x6f\x78\x79\0\x73\ +\x69\x67\x6e\x61\x6c\0\x73\x69\x67\x68\x61\x6e\x64\0\x62\x6c\x6f\x63\x6b\x65\ +\x64\0\x72\x65\x61\x6c\x5f\x62\x6c\x6f\x63\x6b\x65\x64\0\x73\x61\x76\x65\x64\ +\x5f\x73\x69\x67\x6d\x61\x73\x6b\0\x70\x65\x6e\x64\x69\x6e\x67\0\x73\x61\x73\ +\x5f\x73\x73\x5f\x73\x70\0\x73\x61\x73\x5f\x73\x73\x5f\x73\x69\x7a\x65\0\x73\ +\x61\x73\x5f\x73\x73\x5f\x66\x6c\x61\x67\x73\0\x74\x61\x73\x6b\x5f\x77\x6f\x72\ +\x6b\x73\0\x61\x75\x64\x69\x74\x5f\x63\x6f\x6e\x74\x65\x78\x74\0\x6c\x6f\x67\ +\x69\x6e\x75\x69\x64\0\x73\x65\x73\x73\x69\x6f\x6e\x69\x64\0\x73\x65\x63\x63\ +\x6f\x6d\x70\0\x73\x79\x73\x63\x61\x6c\x6c\x5f\x64\x69\x73\x70\x61\x74\x63\x68\ +\0\x70\x61\x72\x65\x6e\x74\x5f\x65\x78\x65\x63\x5f\x69\x64\0\x73\x65\x6c\x66\ +\x5f\x65\x78\x65\x63\x5f\x69\x64\0\x61\x6c\x6c\x6f\x63\x5f\x6c\x6f\x63\x6b\0\ +\x70\x69\x5f\x6c\x6f\x63\x6b\0\x77\x61\x6b\x65\x5f\x71\0\x70\x69\x5f\x77\x61\ +\x69\x74\x65\x72\x73\0\x70\x69\x5f\x74\x6f\x70\x5f\x74\x61\x73\x6b\0\x70\x69\ +\x5f\x62\x6c\x6f\x63\x6b\x65\x64\x5f\x6f\x6e\0\x69\x6e\x5f\x75\x62\x73\x61\x6e\ +\0\x6a\x6f\x75\x72\x6e\x61\x6c\x5f\x69\x6e\x66\x6f\0\x62\x69\x6f\x5f\x6c\x69\ +\x73\x74\0\x70\x6c\x75\x67\0\x72\x65\x63\x6c\x61\x69\x6d\x5f\x73\x74\x61\x74\ +\x65\0\x69\x6f\x5f\x63\x6f\x6e\x74\x65\x78\x74\0\x63\x61\x70\x74\x75\x72\x65\ +\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\0\x70\x74\x72\x61\x63\x65\x5f\x6d\x65\x73\x73\ +\x61\x67\x65\0\x6c\x61\x73\x74\x5f\x73\x69\x67\x69\x6e\x66\x6f\0\x69\x6f\x61\ +\x63\0\x70\x73\x69\x5f\x66\x6c\x61\x67\x73\0\x61\x63\x63\x74\x5f\x72\x73\x73\ +\x5f\x6d\x65\x6d\x31\0\x61\x63\x63\x74\x5f\x76\x6d\x5f\x6d\x65\x6d\x31\0\x61\ +\x63\x63\x74\x5f\x74\x69\x6d\x65\x78\x70\x64\0\x6d\x65\x6d\x73\x5f\x61\x6c\x6c\ +\x6f\x77\x65\x64\0\x6d\x65\x6d\x73\x5f\x61\x6c\x6c\x6f\x77\x65\x64\x5f\x73\x65\ +\x71\0\x63\x70\x75\x73\x65\x74\x5f\x6d\x65\x6d\x5f\x73\x70\x72\x65\x61\x64\x5f\ +\x72\x6f\x74\x6f\x72\0\x63\x67\x72\x6f\x75\x70\x73\0\x63\x67\x5f\x6c\x69\x73\ +\x74\0\x63\x6c\x6f\x73\x69\x64\0\x72\x6d\x69\x64\0\x72\x6f\x62\x75\x73\x74\x5f\ +\x6c\x69\x73\x74\0\x63\x6f\x6d\x70\x61\x74\x5f\x72\x6f\x62\x75\x73\x74\x5f\x6c\ +\x69\x73\x74\0\x70\x69\x5f\x73\x74\x61\x74\x65\x5f\x6c\x69\x73\x74\0\x70\x69\ +\x5f\x73\x74\x61\x74\x65\x5f\x63\x61\x63\x68\x65\0\x66\x75\x74\x65\x78\x5f\x65\ +\x78\x69\x74\x5f\x6d\x75\x74\x65\x78\0\x66\x75\x74\x65\x78\x5f\x73\x74\x61\x74\ +\x65\0\x70\x65\x72\x66\x5f\x72\x65\x63\x75\x72\x73\x69\x6f\x6e\0\x70\x65\x72\ +\x66\x5f\x65\x76\x65\x6e\x74\x5f\x63\x74\x78\x70\0\x70\x65\x72\x66\x5f\x65\x76\ +\x65\x6e\x74\x5f\x6d\x75\x74\x65\x78\0\x70\x65\x72\x66\x5f\x65\x76\x65\x6e\x74\ +\x5f\x6c\x69\x73\x74\0\x6d\x65\x6d\x70\x6f\x6c\x69\x63\x79\0\x69\x6c\x5f\x70\ +\x72\x65\x76\0\x69\x6c\x5f\x77\x65\x69\x67\x68\x74\0\x70\x72\x65\x66\x5f\x6e\ +\x6f\x64\x65\x5f\x66\x6f\x72\x6b\0\x6e\x75\x6d\x61\x5f\x73\x63\x61\x6e\x5f\x73\ +\x65\x71\0\x6e\x75\x6d\x61\x5f\x73\x63\x61\x6e\x5f\x70\x65\x72\x69\x6f\x64\0\ +\x6e\x75\x6d\x61\x5f\x73\x63\x61\x6e\x5f\x70\x65\x72\x69\x6f\x64\x5f\x6d\x61\ +\x78\0\x6e\x75\x6d\x61\x5f\x70\x72\x65\x66\x65\x72\x72\x65\x64\x5f\x6e\x69\x64\ +\0\x6e\x75\x6d\x61\x5f\x6d\x69\x67\x72\x61\x74\x65\x5f\x72\x65\x74\x72\x79\0\ +\x6e\x6f\x64\x65\x5f\x73\x74\x61\x6d\x70\0\x6c\x61\x73\x74\x5f\x74\x61\x73\x6b\ +\x5f\x6e\x75\x6d\x61\x5f\x70\x6c\x61\x63\x65\x6d\x65\x6e\x74\0\x6c\x61\x73\x74\ +\x5f\x73\x75\x6d\x5f\x65\x78\x65\x63\x5f\x72\x75\x6e\x74\x69\x6d\x65\0\x6e\x75\ +\x6d\x61\x5f\x77\x6f\x72\x6b\0\x6e\x75\x6d\x61\x5f\x67\x72\x6f\x75\x70\0\x6e\ +\x75\x6d\x61\x5f\x66\x61\x75\x6c\x74\x73\0\x74\x6f\x74\x61\x6c\x5f\x6e\x75\x6d\ +\x61\x5f\x66\x61\x75\x6c\x74\x73\0\x6e\x75\x6d\x61\x5f\x66\x61\x75\x6c\x74\x73\ +\x5f\x6c\x6f\x63\x61\x6c\x69\x74\x79\0\x6e\x75\x6d\x61\x5f\x70\x61\x67\x65\x73\ +\x5f\x6d\x69\x67\x72\x61\x74\x65\x64\0\x72\x73\x65\x71\0\x72\x73\x65\x71\x5f\ +\x6c\x65\x6e\0\x72\x73\x65\x71\x5f\x73\x69\x67\0\x72\x73\x65\x71\x5f\x65\x76\ +\x65\x6e\x74\x5f\x6d\x61\x73\x6b\0\x6d\x6d\x5f\x63\x69\x64\0\x6c\x61\x73\x74\ +\x5f\x6d\x6d\x5f\x63\x69\x64\0\x6d\x69\x67\x72\x61\x74\x65\x5f\x66\x72\x6f\x6d\ +\x5f\x63\x70\x75\0\x6d\x6d\x5f\x63\x69\x64\x5f\x61\x63\x74\x69\x76\x65\0\x63\ +\x69\x64\x5f\x77\x6f\x72\x6b\0\x74\x6c\x62\x5f\x75\x62\x63\0\x73\x70\x6c\x69\ +\x63\x65\x5f\x70\x69\x70\x65\0\x74\x61\x73\x6b\x5f\x66\x72\x61\x67\0\x64\x65\ +\x6c\x61\x79\x73\0\x6e\x72\x5f\x64\x69\x72\x74\x69\x65\x64\0\x6e\x72\x5f\x64\ +\x69\x72\x74\x69\x65\x64\x5f\x70\x61\x75\x73\x65\0\x64\x69\x72\x74\x79\x5f\x70\ +\x61\x75\x73\x65\x64\x5f\x77\x68\x65\x6e\0\x6c\x61\x74\x65\x6e\x63\x79\x5f\x72\ +\x65\x63\x6f\x72\x64\x5f\x63\x6f\x75\x6e\x74\0\x6c\x61\x74\x65\x6e\x63\x79\x5f\ +\x72\x65\x63\x6f\x72\x64\0\x74\x69\x6d\x65\x72\x5f\x73\x6c\x61\x63\x6b\x5f\x6e\ +\x73\0\x64\x65\x66\x61\x75\x6c\x74\x5f\x74\x69\x6d\x65\x72\x5f\x73\x6c\x61\x63\ +\x6b\x5f\x6e\x73\0\x63\x75\x72\x72\x5f\x72\x65\x74\x5f\x73\x74\x61\x63\x6b\0\ +\x63\x75\x72\x72\x5f\x72\x65\x74\x5f\x64\x65\x70\x74\x68\0\x72\x65\x74\x5f\x73\ +\x74\x61\x63\x6b\0\x66\x74\x72\x61\x63\x65\x5f\x74\x69\x6d\x65\x73\x74\x61\x6d\ +\x70\0\x74\x72\x61\x63\x65\x5f\x6f\x76\x65\x72\x72\x75\x6e\0\x74\x72\x61\x63\ +\x69\x6e\x67\x5f\x67\x72\x61\x70\x68\x5f\x70\x61\x75\x73\x65\0\x74\x72\x61\x63\ +\x65\x5f\x72\x65\x63\x75\x72\x73\x69\x6f\x6e\0\x6d\x65\x6d\x63\x67\x5f\x6e\x72\ +\x5f\x70\x61\x67\x65\x73\x5f\x6f\x76\x65\x72\x5f\x68\x69\x67\x68\0\x61\x63\x74\ +\x69\x76\x65\x5f\x6d\x65\x6d\x63\x67\0\x6f\x62\x6a\x63\x67\0\x74\x68\x72\x6f\ +\x74\x74\x6c\x65\x5f\x64\x69\x73\x6b\0\x75\x74\x61\x73\x6b\0\x73\x65\x71\x75\ +\x65\x6e\x74\x69\x61\x6c\x5f\x69\x6f\0\x73\x65\x71\x75\x65\x6e\x74\x69\x61\x6c\ +\x5f\x69\x6f\x5f\x61\x76\x67\0\x6b\x6d\x61\x70\x5f\x63\x74\x72\x6c\0\x72\x63\ +\x75\0\x72\x63\x75\x5f\x75\x73\x65\x72\x73\0\x70\x61\x67\x65\x66\x61\x75\x6c\ +\x74\x5f\x64\x69\x73\x61\x62\x6c\x65\x64\0\x6f\x6f\x6d\x5f\x72\x65\x61\x70\x65\ +\x72\x5f\x6c\x69\x73\x74\0\x6f\x6f\x6d\x5f\x72\x65\x61\x70\x65\x72\x5f\x74\x69\ +\x6d\x65\x72\0\x73\x74\x61\x63\x6b\x5f\x76\x6d\x5f\x61\x72\x65\x61\0\x73\x74\ +\x61\x63\x6b\x5f\x72\x65\x66\x63\x6f\x75\x6e\x74\0\x70\x61\x74\x63\x68\x5f\x73\ +\x74\x61\x74\x65\0\x73\x65\x63\x75\x72\x69\x74\x79\0\x62\x70\x66\x5f\x73\x74\ +\x6f\x72\x61\x67\x65\0\x62\x70\x66\x5f\x63\x74\x78\0\x62\x70\x66\x5f\x6e\x65\ +\x74\x5f\x63\x6f\x6e\x74\x65\x78\x74\0\x6d\x63\x65\x5f\x76\x61\x64\x64\x72\0\ +\x6d\x63\x65\x5f\x6b\x66\x6c\x61\x67\x73\0\x6d\x63\x65\x5f\x61\x64\x64\x72\0\ +\x6d\x63\x65\x5f\x72\x69\x70\x76\0\x6d\x63\x65\x5f\x77\x68\x6f\x6c\x65\x5f\x70\ +\x61\x67\x65\0\x5f\x5f\x6d\x63\x65\x5f\x72\x65\x73\x65\x72\x76\x65\x64\0\x6d\ +\x63\x65\x5f\x6b\x69\x6c\x6c\x5f\x6d\x65\0\x6d\x63\x65\x5f\x63\x6f\x75\x6e\x74\ +\0\x6b\x72\x65\x74\x70\x72\x6f\x62\x65\x5f\x69\x6e\x73\x74\x61\x6e\x63\x65\x73\ +\0\x72\x65\x74\x68\x6f\x6f\x6b\x73\0\x6c\x31\x64\x5f\x66\x6c\x75\x73\x68\x5f\ +\x6b\x69\x6c\x6c\0\x72\x76\0\x75\x73\x65\x72\x5f\x65\x76\x65\x6e\x74\x5f\x6d\ +\x6d\0\x74\x68\x72\x65\x61\x64\0\x73\x79\x73\x63\x61\x6c\x6c\x5f\x77\x6f\x72\ +\x6b\0\x73\x74\x61\x74\x75\x73\0\x63\x70\x75\0\x5f\x5f\x63\x61\x6c\x6c\x5f\x73\ +\x69\x6e\x67\x6c\x65\x5f\x6e\x6f\x64\x65\0\x6c\x6c\x69\x73\x74\0\x73\x72\x63\0\ +\x64\x73\x74\0\x6c\x6c\x69\x73\x74\x5f\x6e\x6f\x64\x65\0\x6e\x65\x78\x74\0\x75\ +\x5f\x66\x6c\x61\x67\x73\0\x61\x5f\x66\x6c\x61\x67\x73\0\x75\x31\x36\0\x5f\x5f\ +\x75\x31\x36\0\x75\x6e\x73\x69\x67\x6e\x65\x64\x20\x73\x68\x6f\x72\x74\0\x73\ +\x63\x68\x65\x64\x5f\x65\x6e\x74\x69\x74\x79\0\x6c\x6f\x61\x64\0\x72\x75\x6e\ +\x5f\x6e\x6f\x64\x65\0\x64\x65\x61\x64\x6c\x69\x6e\x65\0\x6d\x69\x6e\x5f\x76\ +\x72\x75\x6e\x74\x69\x6d\x65\0\x6d\x69\x6e\x5f\x73\x6c\x69\x63\x65\0\x67\x72\ +\x6f\x75\x70\x5f\x6e\x6f\x64\x65\0\x73\x63\x68\x65\x64\x5f\x64\x65\x6c\x61\x79\ +\x65\x64\0\x72\x65\x6c\x5f\x64\x65\x61\x64\x6c\x69\x6e\x65\0\x63\x75\x73\x74\ +\x6f\x6d\x5f\x73\x6c\x69\x63\x65\0\x65\x78\x65\x63\x5f\x73\x74\x61\x72\x74\0\ +\x73\x75\x6d\x5f\x65\x78\x65\x63\x5f\x72\x75\x6e\x74\x69\x6d\x65\0\x70\x72\x65\ +\x76\x5f\x73\x75\x6d\x5f\x65\x78\x65\x63\x5f\x72\x75\x6e\x74\x69\x6d\x65\0\x76\ +\x72\x75\x6e\x74\x69\x6d\x65\0\x76\x6c\x61\x67\0\x73\x6c\x69\x63\x65\0\x6e\x72\ +\x5f\x6d\x69\x67\x72\x61\x74\x69\x6f\x6e\x73\0\x64\x65\x70\x74\x68\0\x63\x66\ +\x73\x5f\x72\x71\0\x6d\x79\x5f\x71\0\x72\x75\x6e\x6e\x61\x62\x6c\x65\x5f\x77\ +\x65\x69\x67\x68\x74\0\x61\x76\x67\0\x6c\x6f\x61\x64\x5f\x77\x65\x69\x67\x68\ +\x74\0\x77\x65\x69\x67\x68\x74\0\x69\x6e\x76\x5f\x77\x65\x69\x67\x68\x74\0\x72\ +\x62\x5f\x6e\x6f\x64\x65\0\x5f\x5f\x72\x62\x5f\x70\x61\x72\x65\x6e\x74\x5f\x63\ +\x6f\x6c\x6f\x72\0\x72\x62\x5f\x72\x69\x67\x68\x74\0\x72\x62\x5f\x6c\x65\x66\ +\x74\0\x75\x36\x34\0\x6c\x69\x73\x74\x5f\x68\x65\x61\x64\0\x70\x72\x65\x76\0\ +\x75\x6e\x73\x69\x67\x6e\x65\x64\x20\x63\x68\x61\x72\0\x73\x36\x34\0\x5f\x5f\ +\x73\x36\x34\0\x6c\x6f\x6e\x67\x20\x6c\x6f\x6e\x67\0\x73\x63\x68\x65\x64\x5f\ +\x61\x76\x67\0\x6c\x61\x73\x74\x5f\x75\x70\x64\x61\x74\x65\x5f\x74\x69\x6d\x65\ +\0\x6c\x6f\x61\x64\x5f\x73\x75\x6d\0\x72\x75\x6e\x6e\x61\x62\x6c\x65\x5f\x73\ +\x75\x6d\0\x75\x74\x69\x6c\x5f\x73\x75\x6d\0\x70\x65\x72\x69\x6f\x64\x5f\x63\ +\x6f\x6e\x74\x72\x69\x62\0\x6c\x6f\x61\x64\x5f\x61\x76\x67\0\x72\x75\x6e\x6e\ +\x61\x62\x6c\x65\x5f\x61\x76\x67\0\x75\x74\x69\x6c\x5f\x61\x76\x67\0\x75\x74\ +\x69\x6c\x5f\x65\x73\x74\0\x73\x63\x68\x65\x64\x5f\x72\x74\x5f\x65\x6e\x74\x69\ +\x74\x79\0\x72\x75\x6e\x5f\x6c\x69\x73\x74\0\x74\x69\x6d\x65\x6f\x75\x74\0\x77\ +\x61\x74\x63\x68\x64\x6f\x67\x5f\x73\x74\x61\x6d\x70\0\x74\x69\x6d\x65\x5f\x73\ +\x6c\x69\x63\x65\0\x6f\x6e\x5f\x6c\x69\x73\x74\0\x62\x61\x63\x6b\0\x73\x63\x68\ +\x65\x64\x5f\x64\x6c\x5f\x65\x6e\x74\x69\x74\x79\0\x64\x6c\x5f\x72\x75\x6e\x74\ +\x69\x6d\x65\0\x64\x6c\x5f\x64\x65\x61\x64\x6c\x69\x6e\x65\0\x64\x6c\x5f\x70\ +\x65\x72\x69\x6f\x64\0\x64\x6c\x5f\x62\x77\0\x64\x6c\x5f\x64\x65\x6e\x73\x69\ +\x74\x79\0\x72\x75\x6e\x74\x69\x6d\x65\0\x64\x6c\x5f\x74\x68\x72\x6f\x74\x74\ +\x6c\x65\x64\0\x64\x6c\x5f\x79\x69\x65\x6c\x64\x65\x64\0\x64\x6c\x5f\x6e\x6f\ +\x6e\x5f\x63\x6f\x6e\x74\x65\x6e\x64\x69\x6e\x67\0\x64\x6c\x5f\x6f\x76\x65\x72\ +\x72\x75\x6e\0\x64\x6c\x5f\x64\x65\x66\x65\x72\0\x64\x6c\x5f\x64\x65\x66\x65\ +\x72\x5f\x61\x72\x6d\x65\x64\0\x64\x6c\x5f\x64\x65\x66\x65\x72\x5f\x72\x75\x6e\ +\x6e\x69\x6e\x67\0\x64\x6c\x5f\x74\x69\x6d\x65\x72\0\x69\x6e\x61\x63\x74\x69\ +\x76\x65\x5f\x74\x69\x6d\x65\x72\0\x72\x71\0\x73\x65\x72\x76\x65\x72\x5f\x68\ +\x61\x73\x5f\x74\x61\x73\x6b\x73\0\x73\x65\x72\x76\x65\x72\x5f\x70\x69\x63\x6b\ +\x5f\x74\x61\x73\x6b\0\x70\x69\x5f\x73\x65\0\x68\x72\x74\x69\x6d\x65\x72\0\x6e\ +\x6f\x64\x65\0\x5f\x73\x6f\x66\x74\x65\x78\x70\x69\x72\x65\x73\0\x66\x75\x6e\ +\x63\x74\x69\x6f\x6e\0\x62\x61\x73\x65\0\x73\x74\x61\x74\x65\0\x69\x73\x5f\x72\ +\x65\x6c\0\x69\x73\x5f\x73\x6f\x66\x74\0\x69\x73\x5f\x68\x61\x72\x64\0\x74\x69\ +\x6d\x65\x72\x71\x75\x65\x75\x65\x5f\x6e\x6f\x64\x65\0\x65\x78\x70\x69\x72\x65\ +\x73\0\x6b\x74\x69\x6d\x65\x5f\x74\0\x68\x72\x74\x69\x6d\x65\x72\x5f\x72\x65\ +\x73\x74\x61\x72\x74\0\x48\x52\x54\x49\x4d\x45\x52\x5f\x4e\x4f\x52\x45\x53\x54\ +\x41\x52\x54\0\x48\x52\x54\x49\x4d\x45\x52\x5f\x52\x45\x53\x54\x41\x52\x54\0\ +\x75\x38\0\x5f\x5f\x75\x38\0\x64\x6c\x5f\x73\x65\x72\x76\x65\x72\x5f\x68\x61\ +\x73\x5f\x74\x61\x73\x6b\x73\x5f\x66\0\x64\x6c\x5f\x73\x65\x72\x76\x65\x72\x5f\ +\x70\x69\x63\x6b\x5f\x66\0\x73\x63\x68\x65\x64\x5f\x65\x78\x74\x5f\x65\x6e\x74\ +\x69\x74\x79\0\x64\x73\x71\0\x64\x73\x71\x5f\x6c\x69\x73\x74\0\x64\x73\x71\x5f\ +\x70\x72\x69\x71\0\x64\x73\x71\x5f\x73\x65\x71\0\x64\x73\x71\x5f\x66\x6c\x61\ +\x67\x73\0\x73\x74\x69\x63\x6b\x79\x5f\x63\x70\x75\0\x68\x6f\x6c\x64\x69\x6e\ +\x67\x5f\x63\x70\x75\0\x6b\x66\x5f\x6d\x61\x73\x6b\0\x6b\x66\x5f\x74\x61\x73\ +\x6b\x73\0\x6f\x70\x73\x5f\x73\x74\x61\x74\x65\0\x72\x75\x6e\x6e\x61\x62\x6c\ +\x65\x5f\x6e\x6f\x64\x65\0\x72\x75\x6e\x6e\x61\x62\x6c\x65\x5f\x61\x74\0\x63\ +\x6f\x72\x65\x5f\x73\x63\x68\x65\x64\x5f\x61\x74\0\x64\x64\x73\x70\x5f\x64\x73\ +\x71\x5f\x69\x64\0\x64\x64\x73\x70\x5f\x65\x6e\x71\x5f\x66\x6c\x61\x67\x73\0\ +\x64\x73\x71\x5f\x76\x74\x69\x6d\x65\0\x64\x69\x73\x61\x6c\x6c\x6f\x77\0\x63\ +\x67\x72\x70\x5f\x6d\x6f\x76\x69\x6e\x67\x5f\x66\x72\x6f\x6d\0\x74\x61\x73\x6b\ +\x73\x5f\x6e\x6f\x64\x65\0\x73\x63\x78\x5f\x64\x73\x71\x5f\x6c\x69\x73\x74\x5f\ +\x6e\x6f\x64\x65\0\x70\x72\x69\x76\0\x61\x74\x6f\x6d\x69\x63\x5f\x6c\x6f\x6e\ +\x67\x5f\x74\0\x61\x74\x6f\x6d\x69\x63\x36\x34\x5f\x74\0\x75\x63\x6c\x61\x6d\ +\x70\x5f\x73\x65\0\x62\x75\x63\x6b\x65\x74\x5f\x69\x64\0\x61\x63\x74\x69\x76\ +\x65\0\x75\x73\x65\x72\x5f\x64\x65\x66\x69\x6e\x65\x64\0\x73\x63\x68\x65\x64\ +\x5f\x73\x74\x61\x74\x69\x73\x74\x69\x63\x73\0\x77\x61\x69\x74\x5f\x73\x74\x61\ +\x72\x74\0\x77\x61\x69\x74\x5f\x6d\x61\x78\0\x77\x61\x69\x74\x5f\x63\x6f\x75\ +\x6e\x74\0\x77\x61\x69\x74\x5f\x73\x75\x6d\0\x69\x6f\x77\x61\x69\x74\x5f\x63\ +\x6f\x75\x6e\x74\0\x69\x6f\x77\x61\x69\x74\x5f\x73\x75\x6d\0\x73\x6c\x65\x65\ +\x70\x5f\x73\x74\x61\x72\x74\0\x73\x6c\x65\x65\x70\x5f\x6d\x61\x78\0\x73\x75\ +\x6d\x5f\x73\x6c\x65\x65\x70\x5f\x72\x75\x6e\x74\x69\x6d\x65\0\x62\x6c\x6f\x63\ +\x6b\x5f\x73\x74\x61\x72\x74\0\x62\x6c\x6f\x63\x6b\x5f\x6d\x61\x78\0\x73\x75\ +\x6d\x5f\x62\x6c\x6f\x63\x6b\x5f\x72\x75\x6e\x74\x69\x6d\x65\0\x65\x78\x65\x63\ +\x5f\x6d\x61\x78\0\x73\x6c\x69\x63\x65\x5f\x6d\x61\x78\0\x6e\x72\x5f\x6d\x69\ +\x67\x72\x61\x74\x69\x6f\x6e\x73\x5f\x63\x6f\x6c\x64\0\x6e\x72\x5f\x66\x61\x69\ +\x6c\x65\x64\x5f\x6d\x69\x67\x72\x61\x74\x69\x6f\x6e\x73\x5f\x61\x66\x66\x69\ +\x6e\x65\0\x6e\x72\x5f\x66\x61\x69\x6c\x65\x64\x5f\x6d\x69\x67\x72\x61\x74\x69\ +\x6f\x6e\x73\x5f\x72\x75\x6e\x6e\x69\x6e\x67\0\x6e\x72\x5f\x66\x61\x69\x6c\x65\ +\x64\x5f\x6d\x69\x67\x72\x61\x74\x69\x6f\x6e\x73\x5f\x68\x6f\x74\0\x6e\x72\x5f\ +\x66\x6f\x72\x63\x65\x64\x5f\x6d\x69\x67\x72\x61\x74\x69\x6f\x6e\x73\0\x6e\x72\ +\x5f\x77\x61\x6b\x65\x75\x70\x73\0\x6e\x72\x5f\x77\x61\x6b\x65\x75\x70\x73\x5f\ +\x73\x79\x6e\x63\0\x6e\x72\x5f\x77\x61\x6b\x65\x75\x70\x73\x5f\x6d\x69\x67\x72\ +\x61\x74\x65\0\x6e\x72\x5f\x77\x61\x6b\x65\x75\x70\x73\x5f\x6c\x6f\x63\x61\x6c\ +\0\x6e\x72\x5f\x77\x61\x6b\x65\x75\x70\x73\x5f\x72\x65\x6d\x6f\x74\x65\0\x6e\ +\x72\x5f\x77\x61\x6b\x65\x75\x70\x73\x5f\x61\x66\x66\x69\x6e\x65\0\x6e\x72\x5f\ +\x77\x61\x6b\x65\x75\x70\x73\x5f\x61\x66\x66\x69\x6e\x65\x5f\x61\x74\x74\x65\ +\x6d\x70\x74\x73\0\x6e\x72\x5f\x77\x61\x6b\x65\x75\x70\x73\x5f\x70\x61\x73\x73\ +\x69\x76\x65\0\x6e\x72\x5f\x77\x61\x6b\x65\x75\x70\x73\x5f\x69\x64\x6c\x65\0\ +\x63\x6f\x72\x65\x5f\x66\x6f\x72\x63\x65\x69\x64\x6c\x65\x5f\x73\x75\x6d\0\x68\ +\x6c\x69\x73\x74\x5f\x68\x65\x61\x64\0\x66\x69\x72\x73\x74\0\x72\x63\x75\x5f\ +\x73\x70\x65\x63\x69\x61\x6c\0\x62\0\x73\0\x6e\x65\x65\x64\x5f\x71\x73\0\x65\ +\x78\x70\x5f\x68\x69\x6e\x74\0\x6e\x65\x65\x64\x5f\x6d\x62\0\x70\x63\x6f\x75\ +\x6e\x74\0\x72\x75\x6e\x5f\x64\x65\x6c\x61\x79\0\x6c\x61\x73\x74\x5f\x61\x72\ +\x72\x69\x76\x61\x6c\0\x6c\x61\x73\x74\x5f\x71\x75\x65\x75\x65\x64\0\x70\x6c\ +\x69\x73\x74\x5f\x6e\x6f\x64\x65\0\x70\x72\x69\x6f\x5f\x6c\x69\x73\x74\0\x6e\ +\x6f\x64\x65\x5f\x6c\x69\x73\x74\0\x61\x72\x63\x68\x5f\x64\x61\x74\x61\0\x66\ +\x6e\0\x6c\x6f\x6e\x67\0\x66\x75\x74\x65\x78\0\x6e\x61\x6e\x6f\x73\x6c\x65\x65\ +\x70\0\x70\x6f\x6c\x6c\0\x75\x61\x64\x64\x72\0\x76\x61\x6c\0\x62\x69\x74\x73\ +\x65\x74\0\x74\x69\x6d\x65\0\x75\x61\x64\x64\x72\x32\0\x63\x6c\x6f\x63\x6b\x69\ +\x64\0\x63\x6c\x6f\x63\x6b\x69\x64\x5f\x74\0\x5f\x5f\x6b\x65\x72\x6e\x65\x6c\ +\x5f\x63\x6c\x6f\x63\x6b\x69\x64\x5f\x74\0\x74\x69\x6d\x65\x73\x70\x65\x63\x5f\ +\x74\x79\x70\x65\0\x54\x54\x5f\x4e\x4f\x4e\x45\0\x54\x54\x5f\x4e\x41\x54\x49\ +\x56\x45\0\x54\x54\x5f\x43\x4f\x4d\x50\x41\x54\0\x72\x6d\x74\x70\0\x63\x6f\x6d\ +\x70\x61\x74\x5f\x72\x6d\x74\x70\0\x75\x66\x64\x73\0\x6e\x66\x64\x73\0\x68\x61\ +\x73\x5f\x74\x69\x6d\x65\x6f\x75\x74\0\x74\x76\x5f\x73\x65\x63\0\x74\x76\x5f\ +\x6e\x73\x65\x63\0\x70\x69\x64\x5f\x74\0\x5f\x5f\x6b\x65\x72\x6e\x65\x6c\x5f\ +\x70\x69\x64\x5f\x74\0\x68\x6c\x69\x73\x74\x5f\x6e\x6f\x64\x65\0\x70\x70\x72\ +\x65\x76\0\x6c\x6f\x63\x6b\0\x72\x61\x77\x5f\x73\x70\x69\x6e\x6c\x6f\x63\x6b\ +\x5f\x74\0\x72\x61\x77\x5f\x73\x70\x69\x6e\x6c\x6f\x63\x6b\0\x72\x61\x77\x5f\ +\x6c\x6f\x63\x6b\0\x61\x72\x63\x68\x5f\x73\x70\x69\x6e\x6c\x6f\x63\x6b\x5f\x74\ +\0\x71\x73\x70\x69\x6e\x6c\x6f\x63\x6b\0\x6c\x6f\x63\x6b\x65\x64\0\x6c\x6f\x63\ +\x6b\x65\x64\x5f\x70\x65\x6e\x64\x69\x6e\x67\0\x74\x61\x69\x6c\0\x73\x65\x71\ +\x63\x6f\x75\x6e\x74\0\x73\x74\x61\x72\x74\x74\x69\x6d\x65\0\x73\x65\x71\x63\ +\x6f\x75\x6e\x74\x5f\x74\0\x73\x65\x71\x75\x65\x6e\x63\x65\0\x76\x74\x69\x6d\ +\x65\x5f\x73\x74\x61\x74\x65\0\x56\x54\x49\x4d\x45\x5f\x49\x4e\x41\x43\x54\x49\ +\x56\x45\0\x56\x54\x49\x4d\x45\x5f\x49\x44\x4c\x45\0\x56\x54\x49\x4d\x45\x5f\ +\x53\x59\x53\0\x56\x54\x49\x4d\x45\x5f\x55\x53\x45\x52\0\x56\x54\x49\x4d\x45\ +\x5f\x47\x55\x45\x53\x54\0\x62\x61\x73\x65\x73\0\x74\x69\x6d\x65\x72\x73\x5f\ +\x61\x63\x74\x69\x76\x65\0\x65\x78\x70\x69\x72\x79\x5f\x61\x63\x74\x69\x76\x65\ +\0\x70\x6f\x73\x69\x78\x5f\x63\x70\x75\x74\x69\x6d\x65\x72\x5f\x62\x61\x73\x65\ +\0\x6e\x65\x78\x74\x65\x76\x74\0\x74\x71\x68\x65\x61\x64\0\x74\x69\x6d\x65\x72\ +\x71\x75\x65\x75\x65\x5f\x68\x65\x61\x64\0\x72\x62\x5f\x72\x6f\x6f\x74\0\x72\ +\x62\x5f\x72\x6f\x6f\x74\x5f\x63\x61\x63\x68\x65\x64\0\x72\x62\x5f\x6c\x65\x66\ +\x74\x6d\x6f\x73\x74\0\x77\x6f\x72\x6b\0\x6d\x75\x74\x65\x78\0\x73\x63\x68\x65\ +\x64\x75\x6c\x65\x64\0\x63\x61\x6c\x6c\x62\x61\x63\x6b\x5f\x68\x65\x61\x64\0\ +\x66\x75\x6e\x63\0\x6f\x77\x6e\x65\x72\0\x77\x61\x69\x74\x5f\x6c\x6f\x63\x6b\0\ +\x6f\x73\x71\0\x77\x61\x69\x74\x5f\x6c\x69\x73\x74\0\x6f\x70\x74\x69\x6d\x69\ +\x73\x74\x69\x63\x5f\x73\x70\x69\x6e\x5f\x71\x75\x65\x75\x65\0\x75\x69\x64\0\ +\x67\x69\x64\0\x73\x75\x69\x64\0\x73\x67\x69\x64\0\x65\x75\x69\x64\0\x65\x67\ +\x69\x64\0\x66\x73\x75\x69\x64\0\x66\x73\x67\x69\x64\0\x73\x65\x63\x75\x72\x65\ +\x62\x69\x74\x73\0\x63\x61\x70\x5f\x69\x6e\x68\x65\x72\x69\x74\x61\x62\x6c\x65\ +\0\x63\x61\x70\x5f\x70\x65\x72\x6d\x69\x74\x74\x65\x64\0\x63\x61\x70\x5f\x65\ +\x66\x66\x65\x63\x74\x69\x76\x65\0\x63\x61\x70\x5f\x62\x73\x65\x74\0\x63\x61\ +\x70\x5f\x61\x6d\x62\x69\x65\x6e\x74\0\x6a\x69\x74\x5f\x6b\x65\x79\x72\x69\x6e\ +\x67\0\x73\x65\x73\x73\x69\x6f\x6e\x5f\x6b\x65\x79\x72\x69\x6e\x67\0\x70\x72\ +\x6f\x63\x65\x73\x73\x5f\x6b\x65\x79\x72\x69\x6e\x67\0\x74\x68\x72\x65\x61\x64\ +\x5f\x6b\x65\x79\x72\x69\x6e\x67\0\x72\x65\x71\x75\x65\x73\x74\x5f\x6b\x65\x79\ +\x5f\x61\x75\x74\x68\0\x75\x73\x65\x72\0\x75\x73\x65\x72\x5f\x6e\x73\0\x75\x63\ +\x6f\x75\x6e\x74\x73\0\x67\x72\x6f\x75\x70\x5f\x69\x6e\x66\x6f\0\x6b\x75\x69\ +\x64\x5f\x74\0\x75\x69\x64\x5f\x74\0\x5f\x5f\x6b\x65\x72\x6e\x65\x6c\x5f\x75\ +\x69\x64\x33\x32\x5f\x74\0\x6b\x67\x69\x64\x5f\x74\0\x67\x69\x64\x5f\x74\0\x5f\ +\x5f\x6b\x65\x72\x6e\x65\x6c\x5f\x67\x69\x64\x33\x32\x5f\x74\0\x6b\x65\x72\x6e\ +\x65\x6c\x5f\x63\x61\x70\x5f\x74\0\x6e\x6f\x6e\x5f\x72\x63\x75\0\x73\x79\x73\ +\x76\x5f\x73\x65\x6d\0\x75\x6e\x64\x6f\x5f\x6c\x69\x73\x74\0\x73\x79\x73\x76\ +\x5f\x73\x68\x6d\0\x73\x68\x6d\x5f\x63\x6c\x69\x73\x74\0\x73\x69\x67\x73\x65\ +\x74\x5f\x74\0\x73\x69\x67\0\x73\x69\x67\x70\x65\x6e\x64\x69\x6e\x67\0\x6c\x69\ +\x73\x74\0\x73\x69\x7a\x65\x5f\x74\0\x5f\x5f\x6b\x65\x72\x6e\x65\x6c\x5f\x73\ +\x69\x7a\x65\x5f\x74\0\x5f\x5f\x6b\x65\x72\x6e\x65\x6c\x5f\x75\x6c\x6f\x6e\x67\ +\x5f\x74\0\x6d\x6f\x64\x65\0\x66\x69\x6c\x74\x65\x72\x5f\x63\x6f\x75\x6e\x74\0\ +\x66\x69\x6c\x74\x65\x72\0\x73\x79\x73\x63\x61\x6c\x6c\x5f\x75\x73\x65\x72\x5f\ +\x64\x69\x73\x70\x61\x74\x63\x68\0\x73\x65\x6c\x65\x63\x74\x6f\x72\0\x6f\x66\ +\x66\x73\x65\x74\0\x6c\x65\x6e\0\x6f\x6e\x5f\x64\x69\x73\x70\x61\x74\x63\x68\0\ +\x73\x70\x69\x6e\x6c\x6f\x63\x6b\x5f\x74\0\x73\x70\x69\x6e\x6c\x6f\x63\x6b\0\ +\x72\x6c\x6f\x63\x6b\0\x77\x61\x6b\x65\x5f\x71\x5f\x6e\x6f\x64\x65\0\x6b\x65\ +\x72\x6e\x65\x6c\x5f\x73\x69\x67\x69\x6e\x66\x6f\x5f\x74\0\x74\x61\x73\x6b\x5f\ +\x69\x6f\x5f\x61\x63\x63\x6f\x75\x6e\x74\x69\x6e\x67\0\x72\x63\x68\x61\x72\0\ +\x77\x63\x68\x61\x72\0\x73\x79\x73\x63\x72\0\x73\x79\x73\x63\x77\0\x72\x65\x61\ +\x64\x5f\x62\x79\x74\x65\x73\0\x77\x72\x69\x74\x65\x5f\x62\x79\x74\x65\x73\0\ +\x63\x61\x6e\x63\x65\x6c\x6c\x65\x64\x5f\x77\x72\x69\x74\x65\x5f\x62\x79\x74\ +\x65\x73\0\x6e\x6f\x64\x65\x6d\x61\x73\x6b\x5f\x74\0\x73\x65\x71\x63\x6f\x75\ +\x6e\x74\x5f\x73\x70\x69\x6e\x6c\x6f\x63\x6b\x5f\x74\0\x73\x65\x71\x63\x6f\x75\ +\x6e\x74\x5f\x73\x70\x69\x6e\x6c\x6f\x63\x6b\0\x73\x68\x6f\x72\x74\0\x74\x6c\ +\x62\x66\x6c\x75\x73\x68\x5f\x75\x6e\x6d\x61\x70\x5f\x62\x61\x74\x63\x68\0\x61\ +\x72\x63\x68\0\x66\x6c\x75\x73\x68\x5f\x72\x65\x71\x75\x69\x72\x65\x64\0\x77\ +\x72\x69\x74\x61\x62\x6c\x65\0\x61\x72\x63\x68\x5f\x74\x6c\x62\x66\x6c\x75\x73\ +\x68\x5f\x75\x6e\x6d\x61\x70\x5f\x62\x61\x74\x63\x68\0\x70\x61\x67\x65\x5f\x66\ +\x72\x61\x67\0\x70\x61\x67\x65\0\x73\x69\x7a\x65\0\x62\x61\x63\x6b\x74\x72\x61\ +\x63\x65\0\x63\x6f\x75\x6e\x74\0\x6d\x61\x78\0\x74\x69\x6d\x65\x72\x5f\x6c\x69\ +\x73\x74\0\x65\x6e\x74\x72\x79\0\x6c\x6c\x69\x73\x74\x5f\x68\x65\x61\x64\0\x72\ +\x76\x5f\x74\x61\x73\x6b\x5f\x6d\x6f\x6e\x69\x74\x6f\x72\0\x64\x61\x5f\x6d\x6f\ +\x6e\0\x64\x61\x5f\x6d\x6f\x6e\x69\x74\x6f\x72\0\x6d\x6f\x6e\x69\x74\x6f\x72\ +\x69\x6e\x67\0\x63\x75\x72\x72\x5f\x73\x74\x61\x74\x65\0\x74\x68\x72\x65\x61\ +\x64\x5f\x73\x74\x72\x75\x63\x74\0\x74\x6c\x73\x5f\x61\x72\x72\x61\x79\0\x73\ +\x70\0\x65\x73\0\x64\x73\0\x66\x73\x69\x6e\x64\x65\x78\0\x67\x73\x69\x6e\x64\ +\x65\x78\0\x66\x73\x62\x61\x73\x65\0\x67\x73\x62\x61\x73\x65\0\x70\x74\x72\x61\ +\x63\x65\x5f\x62\x70\x73\0\x76\x69\x72\x74\x75\x61\x6c\x5f\x64\x72\x36\0\x70\ +\x74\x72\x61\x63\x65\x5f\x64\x72\x37\0\x63\x72\x32\0\x74\x72\x61\x70\x5f\x6e\ +\x72\0\x65\x72\x72\x6f\x72\x5f\x63\x6f\x64\x65\0\x69\x6f\x5f\x62\x69\x74\x6d\ +\x61\x70\0\x69\x6f\x70\x6c\x5f\x65\x6d\x75\x6c\0\x69\x6f\x70\x6c\x5f\x77\x61\ +\x72\x6e\0\x70\x6b\x72\x75\0\x66\x65\x61\x74\x75\x72\x65\x73\0\x66\x65\x61\x74\ +\x75\x72\x65\x73\x5f\x6c\x6f\x63\x6b\x65\x64\0\x73\x68\x73\x74\x6b\0\x66\x70\ +\x75\0\x64\x65\x73\x63\x5f\x73\x74\x72\x75\x63\x74\0\x6c\x69\x6d\x69\x74\x30\0\ +\x62\x61\x73\x65\x30\0\x62\x61\x73\x65\x31\0\x64\x70\x6c\0\x70\0\x6c\x69\x6d\ +\x69\x74\x31\0\x61\x76\x6c\0\x6c\0\x64\0\x67\0\x62\x61\x73\x65\x32\0\x70\x65\ +\x72\x66\x5f\x65\x76\x65\x6e\x74\0\x65\x76\x65\x6e\x74\x5f\x65\x6e\x74\x72\x79\ +\0\x73\x69\x62\x6c\x69\x6e\x67\x5f\x6c\x69\x73\x74\0\x61\x63\x74\x69\x76\x65\ +\x5f\x6c\x69\x73\x74\0\x67\x72\x6f\x75\x70\x5f\x69\x6e\x64\x65\x78\0\x6d\x69\ +\x67\x72\x61\x74\x65\x5f\x65\x6e\x74\x72\x79\0\x68\x6c\x69\x73\x74\x5f\x65\x6e\ +\x74\x72\x79\0\x61\x63\x74\x69\x76\x65\x5f\x65\x6e\x74\x72\x79\0\x6e\x72\x5f\ +\x73\x69\x62\x6c\x69\x6e\x67\x73\0\x65\x76\x65\x6e\x74\x5f\x63\x61\x70\x73\0\ +\x67\x72\x6f\x75\x70\x5f\x63\x61\x70\x73\0\x67\x72\x6f\x75\x70\x5f\x67\x65\x6e\ +\x65\x72\x61\x74\x69\x6f\x6e\0\x70\x6d\x75\0\x70\x6d\x75\x5f\x70\x72\x69\x76\ +\x61\x74\x65\0\x61\x74\x74\x61\x63\x68\x5f\x73\x74\x61\x74\x65\0\x63\x68\x69\ +\x6c\x64\x5f\x63\x6f\x75\x6e\x74\0\x74\x6f\x74\x61\x6c\x5f\x74\x69\x6d\x65\x5f\ +\x65\x6e\x61\x62\x6c\x65\x64\0\x74\x6f\x74\x61\x6c\x5f\x74\x69\x6d\x65\x5f\x72\ +\x75\x6e\x6e\x69\x6e\x67\0\x74\x73\x74\x61\x6d\x70\0\x61\x74\x74\x72\0\x68\x65\ +\x61\x64\x65\x72\x5f\x73\x69\x7a\x65\0\x69\x64\x5f\x68\x65\x61\x64\x65\x72\x5f\ +\x73\x69\x7a\x65\0\x72\x65\x61\x64\x5f\x73\x69\x7a\x65\0\x68\x77\0\x70\x6d\x75\ +\x5f\x63\x74\x78\0\x72\x65\x66\x63\x6f\x75\x6e\x74\0\x63\x68\x69\x6c\x64\x5f\ +\x74\x6f\x74\x61\x6c\x5f\x74\x69\x6d\x65\x5f\x65\x6e\x61\x62\x6c\x65\x64\0\x63\ +\x68\x69\x6c\x64\x5f\x74\x6f\x74\x61\x6c\x5f\x74\x69\x6d\x65\x5f\x72\x75\x6e\ +\x6e\x69\x6e\x67\0\x63\x68\x69\x6c\x64\x5f\x6d\x75\x74\x65\x78\0\x63\x68\x69\ +\x6c\x64\x5f\x6c\x69\x73\x74\0\x6f\x6e\x63\x70\x75\0\x6f\x77\x6e\x65\x72\x5f\ +\x65\x6e\x74\x72\x79\0\x6d\x6d\x61\x70\x5f\x6d\x75\x74\x65\x78\0\x6d\x6d\x61\ +\x70\x5f\x63\x6f\x75\x6e\x74\0\x72\x62\0\x72\x62\x5f\x65\x6e\x74\x72\x79\0\x72\ +\x63\x75\x5f\x62\x61\x74\x63\x68\x65\x73\0\x72\x63\x75\x5f\x70\x65\x6e\x64\x69\ +\x6e\x67\0\x77\x61\x69\x74\x71\0\x66\x61\x73\x79\x6e\x63\0\x70\x65\x6e\x64\x69\ +\x6e\x67\x5f\x77\x61\x6b\x65\x75\x70\0\x70\x65\x6e\x64\x69\x6e\x67\x5f\x6b\x69\ +\x6c\x6c\0\x70\x65\x6e\x64\x69\x6e\x67\x5f\x64\x69\x73\x61\x62\x6c\x65\0\x70\ +\x65\x6e\x64\x69\x6e\x67\x5f\x61\x64\x64\x72\0\x70\x65\x6e\x64\x69\x6e\x67\x5f\ +\x69\x72\x71\0\x70\x65\x6e\x64\x69\x6e\x67\x5f\x64\x69\x73\x61\x62\x6c\x65\x5f\ +\x69\x72\x71\0\x70\x65\x6e\x64\x69\x6e\x67\x5f\x74\x61\x73\x6b\0\x70\x65\x6e\ +\x64\x69\x6e\x67\x5f\x77\x6f\x72\x6b\0\x70\x65\x6e\x64\x69\x6e\x67\x5f\x77\x6f\ +\x72\x6b\x5f\x77\x61\x69\x74\0\x65\x76\x65\x6e\x74\x5f\x6c\x69\x6d\x69\x74\0\ +\x61\x64\x64\x72\x5f\x66\x69\x6c\x74\x65\x72\x73\0\x61\x64\x64\x72\x5f\x66\x69\ +\x6c\x74\x65\x72\x5f\x72\x61\x6e\x67\x65\x73\0\x61\x64\x64\x72\x5f\x66\x69\x6c\ +\x74\x65\x72\x73\x5f\x67\x65\x6e\0\x61\x75\x78\x5f\x65\x76\x65\x6e\x74\0\x64\ +\x65\x73\x74\x72\x6f\x79\0\x6e\x73\0\x69\x64\0\x6c\x6f\x73\x74\x5f\x73\x61\x6d\ +\x70\x6c\x65\x73\0\x63\x6c\x6f\x63\x6b\0\x6f\x76\x65\x72\x66\x6c\x6f\x77\x5f\ +\x68\x61\x6e\x64\x6c\x65\x72\0\x6f\x76\x65\x72\x66\x6c\x6f\x77\x5f\x68\x61\x6e\ +\x64\x6c\x65\x72\x5f\x63\x6f\x6e\x74\x65\x78\x74\0\x70\x72\x6f\x67\0\x62\x70\ +\x66\x5f\x63\x6f\x6f\x6b\x69\x65\0\x74\x70\x5f\x65\x76\x65\x6e\x74\0\x66\x74\ +\x72\x61\x63\x65\x5f\x6f\x70\x73\0\x63\x67\x72\x70\0\x73\x62\x5f\x6c\x69\x73\ +\x74\0\x6f\x72\x69\x67\x5f\x74\x79\x70\x65\0\x70\x65\x72\x66\x5f\x65\x76\x65\ +\x6e\x74\x5f\x73\x74\x61\x74\x65\0\x50\x45\x52\x46\x5f\x45\x56\x45\x4e\x54\x5f\ +\x53\x54\x41\x54\x45\x5f\x44\x45\x41\x44\0\x50\x45\x52\x46\x5f\x45\x56\x45\x4e\ +\x54\x5f\x53\x54\x41\x54\x45\x5f\x45\x58\x49\x54\0\x50\x45\x52\x46\x5f\x45\x56\ +\x45\x4e\x54\x5f\x53\x54\x41\x54\x45\x5f\x45\x52\x52\x4f\x52\0\x50\x45\x52\x46\ +\x5f\x45\x56\x45\x4e\x54\x5f\x53\x54\x41\x54\x45\x5f\x4f\x46\x46\0\x50\x45\x52\ +\x46\x5f\x45\x56\x45\x4e\x54\x5f\x53\x54\x41\x54\x45\x5f\x49\x4e\x41\x43\x54\ +\x49\x56\x45\0\x50\x45\x52\x46\x5f\x45\x56\x45\x4e\x54\x5f\x53\x54\x41\x54\x45\ +\x5f\x41\x43\x54\x49\x56\x45\0\x6c\x6f\x63\x61\x6c\x36\x34\x5f\x74\0\x61\0\x6c\ +\x6f\x63\x61\x6c\x5f\x74\0\x70\x65\x72\x66\x5f\x65\x76\x65\x6e\x74\x5f\x61\x74\ +\x74\x72\0\x63\x6f\x6e\x66\x69\x67\0\x73\x61\x6d\x70\x6c\x65\x5f\x74\x79\x70\ +\x65\0\x72\x65\x61\x64\x5f\x66\x6f\x72\x6d\x61\x74\0\x64\x69\x73\x61\x62\x6c\ +\x65\x64\0\x69\x6e\x68\x65\x72\x69\x74\0\x70\x69\x6e\x6e\x65\x64\0\x65\x78\x63\ +\x6c\x75\x73\x69\x76\x65\0\x65\x78\x63\x6c\x75\x64\x65\x5f\x75\x73\x65\x72\0\ +\x65\x78\x63\x6c\x75\x64\x65\x5f\x6b\x65\x72\x6e\x65\x6c\0\x65\x78\x63\x6c\x75\ +\x64\x65\x5f\x68\x76\0\x65\x78\x63\x6c\x75\x64\x65\x5f\x69\x64\x6c\x65\0\x6d\ +\x6d\x61\x70\0\x66\x72\x65\x71\0\x69\x6e\x68\x65\x72\x69\x74\x5f\x73\x74\x61\ +\x74\0\x65\x6e\x61\x62\x6c\x65\x5f\x6f\x6e\x5f\x65\x78\x65\x63\0\x74\x61\x73\ +\x6b\0\x77\x61\x74\x65\x72\x6d\x61\x72\x6b\0\x70\x72\x65\x63\x69\x73\x65\x5f\ +\x69\x70\0\x6d\x6d\x61\x70\x5f\x64\x61\x74\x61\0\x73\x61\x6d\x70\x6c\x65\x5f\ +\x69\x64\x5f\x61\x6c\x6c\0\x65\x78\x63\x6c\x75\x64\x65\x5f\x68\x6f\x73\x74\0\ +\x65\x78\x63\x6c\x75\x64\x65\x5f\x67\x75\x65\x73\x74\0\x65\x78\x63\x6c\x75\x64\ +\x65\x5f\x63\x61\x6c\x6c\x63\x68\x61\x69\x6e\x5f\x6b\x65\x72\x6e\x65\x6c\0\x65\ +\x78\x63\x6c\x75\x64\x65\x5f\x63\x61\x6c\x6c\x63\x68\x61\x69\x6e\x5f\x75\x73\ +\x65\x72\0\x6d\x6d\x61\x70\x32\0\x63\x6f\x6d\x6d\x5f\x65\x78\x65\x63\0\x75\x73\ +\x65\x5f\x63\x6c\x6f\x63\x6b\x69\x64\0\x63\x6f\x6e\x74\x65\x78\x74\x5f\x73\x77\ +\x69\x74\x63\x68\0\x77\x72\x69\x74\x65\x5f\x62\x61\x63\x6b\x77\x61\x72\x64\0\ +\x6e\x61\x6d\x65\x73\x70\x61\x63\x65\x73\0\x6b\x73\x79\x6d\x62\x6f\x6c\0\x62\ +\x70\x66\x5f\x65\x76\x65\x6e\x74\0\x61\x75\x78\x5f\x6f\x75\x74\x70\x75\x74\0\ +\x63\x67\x72\x6f\x75\x70\0\x74\x65\x78\x74\x5f\x70\x6f\x6b\x65\0\x62\x75\x69\ +\x6c\x64\x5f\x69\x64\0\x69\x6e\x68\x65\x72\x69\x74\x5f\x74\x68\x72\x65\x61\x64\ +\0\x72\x65\x6d\x6f\x76\x65\x5f\x6f\x6e\x5f\x65\x78\x65\x63\0\x73\x69\x67\x74\ +\x72\x61\x70\0\x5f\x5f\x72\x65\x73\x65\x72\x76\x65\x64\x5f\x31\0\x62\x70\x5f\ +\x74\x79\x70\x65\0\x62\x72\x61\x6e\x63\x68\x5f\x73\x61\x6d\x70\x6c\x65\x5f\x74\ +\x79\x70\x65\0\x73\x61\x6d\x70\x6c\x65\x5f\x72\x65\x67\x73\x5f\x75\x73\x65\x72\ +\0\x73\x61\x6d\x70\x6c\x65\x5f\x73\x74\x61\x63\x6b\x5f\x75\x73\x65\x72\0\x73\ +\x61\x6d\x70\x6c\x65\x5f\x72\x65\x67\x73\x5f\x69\x6e\x74\x72\0\x61\x75\x78\x5f\ +\x77\x61\x74\x65\x72\x6d\x61\x72\x6b\0\x73\x61\x6d\x70\x6c\x65\x5f\x6d\x61\x78\ +\x5f\x73\x74\x61\x63\x6b\0\x5f\x5f\x72\x65\x73\x65\x72\x76\x65\x64\x5f\x32\0\ +\x61\x75\x78\x5f\x73\x61\x6d\x70\x6c\x65\x5f\x73\x69\x7a\x65\0\x5f\x5f\x72\x65\ +\x73\x65\x72\x76\x65\x64\x5f\x33\0\x73\x69\x67\x5f\x64\x61\x74\x61\0\x63\x6f\ +\x6e\x66\x69\x67\x33\0\x73\x61\x6d\x70\x6c\x65\x5f\x70\x65\x72\x69\x6f\x64\0\ +\x73\x61\x6d\x70\x6c\x65\x5f\x66\x72\x65\x71\0\x77\x61\x6b\x65\x75\x70\x5f\x65\ +\x76\x65\x6e\x74\x73\0\x77\x61\x6b\x65\x75\x70\x5f\x77\x61\x74\x65\x72\x6d\x61\ +\x72\x6b\0\x62\x70\x5f\x61\x64\x64\x72\0\x6b\x70\x72\x6f\x62\x65\x5f\x66\x75\ +\x6e\x63\0\x75\x70\x72\x6f\x62\x65\x5f\x70\x61\x74\x68\0\x63\x6f\x6e\x66\x69\ +\x67\x31\0\x62\x70\x5f\x6c\x65\x6e\0\x6b\x70\x72\x6f\x62\x65\x5f\x61\x64\x64\ +\x72\0\x70\x72\x6f\x62\x65\x5f\x6f\x66\x66\x73\x65\x74\0\x63\x6f\x6e\x66\x69\ +\x67\x32\0\x68\x77\x5f\x70\x65\x72\x66\x5f\x65\x76\x65\x6e\x74\0\x74\x61\x72\ +\x67\x65\x74\0\x70\x72\x65\x76\x5f\x63\x6f\x75\x6e\x74\0\x69\x6e\x74\x65\x72\ +\x72\x75\x70\x74\x73\x5f\x73\x65\x71\0\x69\x6e\x74\x65\x72\x72\x75\x70\x74\x73\ +\0\x66\x72\x65\x71\x5f\x74\x69\x6d\x65\x5f\x73\x74\x61\x6d\x70\0\x66\x72\x65\ +\x71\x5f\x63\x6f\x75\x6e\x74\x5f\x73\x74\x61\x6d\x70\0\x6c\x61\x73\x74\x5f\x74\ +\x61\x67\0\x63\x6f\x6e\x66\x69\x67\x5f\x62\x61\x73\x65\0\x65\x76\x65\x6e\x74\ +\x5f\x62\x61\x73\x65\0\x65\x76\x65\x6e\x74\x5f\x62\x61\x73\x65\x5f\x72\x64\x70\ +\x6d\x63\0\x69\x64\x78\0\x6c\x61\x73\x74\x5f\x63\x70\x75\0\x65\x78\x74\x72\x61\ +\x5f\x72\x65\x67\0\x62\x72\x61\x6e\x63\x68\x5f\x72\x65\x67\0\x68\x77\x5f\x70\ +\x65\x72\x66\x5f\x65\x76\x65\x6e\x74\x5f\x65\x78\x74\x72\x61\0\x72\x65\x67\0\ +\x61\x6c\x6c\x6f\x63\0\x61\x75\x78\x5f\x63\x6f\x6e\x66\x69\x67\0\x74\x70\x5f\ +\x6c\x69\x73\x74\0\x70\x77\x72\x5f\x61\x63\x63\0\x70\x74\x73\x63\0\x69\x6e\x66\ +\x6f\0\x62\x70\x5f\x6c\x69\x73\x74\0\x61\x72\x63\x68\x5f\x68\x77\x5f\x62\x72\ +\x65\x61\x6b\x70\x6f\x69\x6e\x74\0\x61\x64\x64\x72\x65\x73\x73\0\x72\x68\x6c\ +\x69\x73\x74\x5f\x68\x65\x61\x64\0\x72\x68\x65\x61\x64\0\x72\x68\x61\x73\x68\ +\x5f\x68\x65\x61\x64\0\x69\x6f\x6d\x6d\x75\x5f\x62\x61\x6e\x6b\0\x69\x6f\x6d\ +\x6d\x75\x5f\x63\x6e\x74\x72\0\x70\x61\x64\x64\x69\x6e\x67\0\x63\x6f\x6e\x66\0\ +\x63\x6f\x6e\x66\x31\0\x6c\x61\x73\x74\x5f\x70\x65\x72\x69\x6f\x64\0\x70\x65\ +\x72\x69\x6f\x64\x5f\x6c\x65\x66\x74\0\x73\x61\x76\x65\x64\x5f\x6d\x65\x74\x72\ +\x69\x63\0\x73\x61\x76\x65\x64\x5f\x73\x6c\x6f\x74\x73\0\x77\x61\x69\x74\x5f\ +\x71\x75\x65\x75\x65\x5f\x68\x65\x61\x64\x5f\x74\0\x77\x61\x69\x74\x5f\x71\x75\ +\x65\x75\x65\x5f\x68\x65\x61\x64\0\x68\x65\x61\x64\0\x69\x72\x71\x5f\x77\x6f\ +\x72\x6b\0\x69\x72\x71\x77\x61\x69\x74\0\x72\x63\x75\x77\x61\x69\x74\0\x70\x65\ +\x72\x66\x5f\x61\x64\x64\x72\x5f\x66\x69\x6c\x74\x65\x72\x73\x5f\x68\x65\x61\ +\x64\0\x6e\x72\x5f\x66\x69\x6c\x65\x5f\x66\x69\x6c\x74\x65\x72\x73\0\x70\x65\ +\x72\x66\x5f\x6f\x76\x65\x72\x66\x6c\x6f\x77\x5f\x68\x61\x6e\x64\x6c\x65\x72\ +\x5f\x74\0\x70\x65\x72\x66\x5f\x73\x61\x6d\x70\x6c\x65\x5f\x64\x61\x74\x61\0\ +\x73\x61\x6d\x70\x6c\x65\x5f\x66\x6c\x61\x67\x73\0\x70\x65\x72\x69\x6f\x64\0\ +\x64\x79\x6e\x5f\x73\x69\x7a\x65\0\x74\x69\x64\x5f\x65\x6e\x74\x72\x79\0\x63\ +\x70\x75\x5f\x65\x6e\x74\x72\x79\0\x69\x70\0\x63\x61\x6c\x6c\x63\x68\x61\x69\ +\x6e\0\x72\x61\x77\0\x62\x72\x5f\x73\x74\x61\x63\x6b\0\x62\x72\x5f\x73\x74\x61\ +\x63\x6b\x5f\x63\x6e\x74\x72\0\x64\x61\x74\x61\x5f\x73\x72\x63\0\x74\x78\x6e\0\ +\x72\x65\x67\x73\x5f\x75\x73\x65\x72\0\x72\x65\x67\x73\x5f\x69\x6e\x74\x72\0\ +\x73\x74\x61\x63\x6b\x5f\x75\x73\x65\x72\x5f\x73\x69\x7a\x65\0\x73\x74\x72\x65\ +\x61\x6d\x5f\x69\x64\0\x61\x64\x64\x72\0\x70\x68\x79\x73\x5f\x61\x64\x64\x72\0\ +\x64\x61\x74\x61\x5f\x70\x61\x67\x65\x5f\x73\x69\x7a\x65\0\x63\x6f\x64\x65\x5f\ +\x70\x61\x67\x65\x5f\x73\x69\x7a\x65\0\x61\x75\x78\x5f\x73\x69\x7a\x65\0\x74\ +\x69\x64\0\x72\x65\x73\x65\x72\x76\x65\x64\0\x70\x65\x72\x66\x5f\x73\x61\x6d\ +\x70\x6c\x65\x5f\x77\x65\x69\x67\x68\x74\0\x66\x75\x6c\x6c\0\x76\x61\x72\x31\ +\x5f\x64\x77\0\x76\x61\x72\x32\x5f\x77\0\x76\x61\x72\x33\x5f\x77\0\x70\x65\x72\ +\x66\x5f\x6d\x65\x6d\x5f\x64\x61\x74\x61\x5f\x73\x72\x63\0\x6d\x65\x6d\x5f\x6f\ +\x70\0\x6d\x65\x6d\x5f\x6c\x76\x6c\0\x6d\x65\x6d\x5f\x73\x6e\x6f\x6f\x70\0\x6d\ +\x65\x6d\x5f\x6c\x6f\x63\x6b\0\x6d\x65\x6d\x5f\x64\x74\x6c\x62\0\x6d\x65\x6d\ +\x5f\x6c\x76\x6c\x5f\x6e\x75\x6d\0\x6d\x65\x6d\x5f\x72\x65\x6d\x6f\x74\x65\0\ +\x6d\x65\x6d\x5f\x73\x6e\x6f\x6f\x70\x78\0\x6d\x65\x6d\x5f\x62\x6c\x6b\0\x6d\ +\x65\x6d\x5f\x68\x6f\x70\x73\0\x6d\x65\x6d\x5f\x72\x73\x76\x64\0\x70\x65\x72\ +\x66\x5f\x72\x65\x67\x73\0\x61\x62\x69\0\x72\x65\x67\x73\0\x70\x74\x5f\x72\x65\ +\x67\x73\0\x72\x31\x35\0\x72\x31\x34\0\x72\x31\x33\0\x72\x31\x32\0\x62\x70\0\ +\x62\x78\0\x72\x31\x31\0\x72\x31\x30\0\x72\x39\0\x72\x38\0\x61\x78\0\x63\x78\0\ +\x64\x78\0\x73\x69\0\x64\x69\0\x6f\x72\x69\x67\x5f\x61\x78\0\x63\x73\0\x63\x73\ +\x78\0\x66\x72\x65\x64\x5f\x63\x73\0\x73\x6c\0\x77\x66\x65\0\x73\x73\0\x73\x73\ +\x78\0\x66\x72\x65\x64\x5f\x73\x73\0\x73\x74\x69\0\x73\x77\x65\x76\x65\x6e\x74\ +\0\x6e\x6d\x69\0\x76\x65\x63\x74\x6f\x72\0\x65\x6e\x63\x6c\x61\x76\x65\0\x6c\ +\x6d\0\x6e\x65\x73\x74\x65\x64\0\x69\x6e\x73\x6e\x6c\x65\x6e\0\x70\x72\x69\x76\ +\x61\x74\x65\0\x73\x61\x76\x65\x64\x5f\x66\x75\x6e\x63\0\x6c\x6f\x63\x61\x6c\ +\x5f\x68\x61\x73\x68\0\x66\x75\x6e\x63\x5f\x68\x61\x73\x68\0\x6f\x6c\x64\x5f\ +\x68\x61\x73\x68\0\x74\x72\x61\x6d\x70\x6f\x6c\x69\x6e\x65\0\x74\x72\x61\x6d\ +\x70\x6f\x6c\x69\x6e\x65\x5f\x73\x69\x7a\x65\0\x73\x75\x62\x6f\x70\x5f\x6c\x69\ +\x73\x74\0\x6f\x70\x73\x5f\x66\x75\x6e\x63\0\x6d\x61\x6e\x61\x67\x65\x64\0\x64\ +\x69\x72\x65\x63\x74\x5f\x63\x61\x6c\x6c\0\x66\x74\x72\x61\x63\x65\x5f\x66\x75\ +\x6e\x63\x5f\x74\0\x66\x74\x72\x61\x63\x65\x5f\x72\x65\x67\x73\0\x66\x74\x72\ +\x61\x63\x65\x5f\x6f\x70\x73\x5f\x68\x61\x73\x68\0\x6e\x6f\x74\x72\x61\x63\x65\ +\x5f\x68\x61\x73\x68\0\x66\x69\x6c\x74\x65\x72\x5f\x68\x61\x73\x68\0\x72\x65\ +\x67\x65\x78\x5f\x6c\x6f\x63\x6b\0\x66\x74\x72\x61\x63\x65\x5f\x6f\x70\x73\x5f\ +\x66\x75\x6e\x63\x5f\x74\0\x66\x74\x72\x61\x63\x65\x5f\x6f\x70\x73\x5f\x63\x6d\ +\x64\0\x46\x54\x52\x41\x43\x45\x5f\x4f\x50\x53\x5f\x43\x4d\x44\x5f\x45\x4e\x41\ +\x42\x4c\x45\x5f\x53\x48\x41\x52\x45\x5f\x49\x50\x4d\x4f\x44\x49\x46\x59\x5f\ +\x53\x45\x4c\x46\0\x46\x54\x52\x41\x43\x45\x5f\x4f\x50\x53\x5f\x43\x4d\x44\x5f\ +\x45\x4e\x41\x42\x4c\x45\x5f\x53\x48\x41\x52\x45\x5f\x49\x50\x4d\x4f\x44\x49\ +\x46\x59\x5f\x50\x45\x45\x52\0\x46\x54\x52\x41\x43\x45\x5f\x4f\x50\x53\x5f\x43\ +\x4d\x44\x5f\x44\x49\x53\x41\x42\x4c\x45\x5f\x53\x48\x41\x52\x45\x5f\x49\x50\ +\x4d\x4f\x44\x49\x46\x59\x5f\x50\x45\x45\x52\0\x74\x68\x72\x65\x61\x64\x5f\x73\ +\x68\x73\x74\x6b\0\x61\x76\x78\x35\x31\x32\x5f\x74\x69\x6d\x65\x73\x74\x61\x6d\ +\x70\0\x66\x70\x73\x74\x61\x74\x65\0\x5f\x5f\x74\x61\x73\x6b\x5f\x66\x70\x73\ +\x74\x61\x74\x65\0\x70\x65\x72\x6d\0\x67\x75\x65\x73\x74\x5f\x70\x65\x72\x6d\0\ +\x5f\x5f\x66\x70\x73\x74\x61\x74\x65\0\x66\x70\x75\x5f\x73\x74\x61\x74\x65\x5f\ +\x70\x65\x72\x6d\0\x5f\x5f\x73\x74\x61\x74\x65\x5f\x70\x65\x72\x6d\0\x5f\x5f\ +\x73\x74\x61\x74\x65\x5f\x73\x69\x7a\x65\0\x5f\x5f\x75\x73\x65\x72\x5f\x73\x74\ +\x61\x74\x65\x5f\x73\x69\x7a\x65\0\x75\x73\x65\x72\x5f\x73\x69\x7a\x65\0\x78\ +\x66\x65\x61\x74\x75\x72\x65\x73\0\x75\x73\x65\x72\x5f\x78\x66\x65\x61\x74\x75\ +\x72\x65\x73\0\x78\x66\x64\0\x69\x73\x5f\x76\x61\x6c\x6c\x6f\x63\0\x69\x73\x5f\ +\x67\x75\x65\x73\x74\0\x69\x73\x5f\x63\x6f\x6e\x66\x69\x64\x65\x6e\x74\x69\x61\ +\x6c\0\x69\x6e\x5f\x75\x73\x65\0\x66\x70\x72\x65\x67\x73\x5f\x73\x74\x61\x74\ +\x65\0\x66\x73\x61\x76\x65\0\x66\x78\x73\x61\x76\x65\0\x73\x6f\x66\x74\0\x78\ +\x73\x61\x76\x65\0\x5f\x5f\x70\x61\x64\x64\x69\x6e\x67\0\x66\x72\x65\x67\x73\ +\x5f\x73\x74\x61\x74\x65\0\x63\x77\x64\0\x73\x77\x64\0\x74\x77\x64\0\x66\x69\ +\x70\0\x66\x63\x73\0\x66\x6f\x6f\0\x66\x6f\x73\0\x73\x74\x5f\x73\x70\x61\x63\ +\x65\0\x66\x78\x72\x65\x67\x73\x5f\x73\x74\x61\x74\x65\0\x66\x6f\x70\0\x6d\x78\ +\x63\x73\x72\0\x6d\x78\x63\x73\x72\x5f\x6d\x61\x73\x6b\0\x78\x6d\x6d\x5f\x73\ +\x70\x61\x63\x65\0\x72\x69\x70\0\x72\x64\x70\0\x70\x61\x64\x64\x69\x6e\x67\x31\ +\0\x73\x77\x5f\x72\x65\x73\x65\x72\x76\x65\x64\0\x73\x77\x72\x65\x67\x73\x5f\ +\x73\x74\x61\x74\x65\0\x66\x74\x6f\x70\0\x63\x68\x61\x6e\x67\x65\x64\0\x6c\x6f\ +\x6f\x6b\x61\x68\x65\x61\x64\0\x6e\x6f\x5f\x75\x70\x64\x61\x74\x65\0\x72\x6d\0\ +\x61\x6c\x69\x6d\x69\x74\0\x65\x6e\x74\x72\x79\x5f\x65\x69\x70\0\x78\x72\x65\ +\x67\x73\x5f\x73\x74\x61\x74\x65\0\x69\x33\x38\x37\0\x68\x65\x61\x64\x65\x72\0\ +\x65\x78\x74\x65\x6e\x64\x65\x64\x5f\x73\x74\x61\x74\x65\x5f\x61\x72\x65\x61\0\ +\x78\x73\x74\x61\x74\x65\x5f\x68\x65\x61\x64\x65\x72\0\x78\x63\x6f\x6d\x70\x5f\ +\x62\x76\0\x62\x70\x66\x5f\x63\x70\x75\x6d\x61\x73\x6b\x5f\x61\x6e\x64\0\x62\ +\x70\x66\x5f\x63\x70\x75\x6d\x61\x73\x6b\x5f\x74\x65\x73\x74\x5f\x63\x70\x75\0\ +\x73\x63\x78\x5f\x62\x70\x66\x5f\x74\x65\x73\x74\x5f\x61\x6e\x64\x5f\x63\x6c\ +\x65\x61\x72\x5f\x63\x70\x75\x5f\x69\x64\x6c\x65\0\x73\x63\x78\x5f\x62\x70\x66\ +\x5f\x65\x72\x72\x6f\x72\x5f\x62\x73\x74\x72\0\x73\x63\x78\x5f\x62\x70\x66\x5f\ +\x70\x69\x63\x6b\x5f\x69\x64\x6c\x65\x5f\x63\x70\x75\0\x62\x70\x66\x5f\x63\x70\ +\x75\x6d\x61\x73\x6b\x5f\x73\x65\x74\x5f\x63\x70\x75\0\x62\x70\x66\x5f\x63\x70\ +\x75\x6d\x61\x73\x6b\x5f\x63\x6c\x65\x61\x72\x5f\x63\x70\x75\0\x73\x63\x78\x5f\ +\x62\x70\x66\x5f\x64\x69\x73\x70\x61\x74\x63\x68\0\x6e\x65\x73\x74\x5f\x65\x6e\ +\x71\x75\x65\x75\x65\0\x73\x63\x78\x5f\x62\x70\x66\x5f\x64\x69\x73\x70\x61\x74\ +\x63\x68\x5f\x76\x74\x69\x6d\x65\0\x6e\x65\x73\x74\x5f\x64\x69\x73\x70\x61\x74\ +\x63\x68\0\x73\x63\x78\x5f\x62\x70\x66\x5f\x63\x6f\x6e\x73\x75\x6d\x65\0\x62\ +\x70\x66\x5f\x63\x70\x75\x6d\x61\x73\x6b\x5f\x66\x69\x72\x73\x74\0\x6e\x65\x73\ +\x74\x5f\x72\x75\x6e\x6e\x69\x6e\x67\0\x6e\x65\x73\x74\x5f\x73\x74\x6f\x70\x70\ +\x69\x6e\x67\0\x6e\x65\x73\x74\x5f\x69\x6e\x69\x74\x5f\x74\x61\x73\x6b\0\x62\ +\x70\x66\x5f\x63\x70\x75\x6d\x61\x73\x6b\x5f\x63\x72\x65\x61\x74\x65\0\x62\x70\ +\x66\x5f\x63\x70\x75\x6d\x61\x73\x6b\x5f\x72\x65\x6c\x65\x61\x73\x65\0\x6e\x65\ +\x73\x74\x5f\x65\x6e\x61\x62\x6c\x65\0\x6e\x65\x73\x74\x5f\x69\x6e\x69\x74\0\ +\x73\x63\x78\x5f\x62\x70\x66\x5f\x63\x72\x65\x61\x74\x65\x5f\x64\x73\x71\0\x62\ +\x70\x66\x5f\x63\x70\x75\x6d\x61\x73\x6b\x5f\x63\x6c\x65\x61\x72\0\x62\x70\x66\ +\x5f\x69\x74\x65\x72\x5f\x6e\x75\x6d\0\x62\x70\x66\x5f\x69\x74\x65\x72\x5f\x6e\ +\x75\x6d\x5f\x6e\x65\x77\0\x62\x70\x66\x5f\x69\x74\x65\x72\x5f\x6e\x75\x6d\x5f\ +\x6e\x65\x78\x74\0\x62\x70\x66\x5f\x69\x74\x65\x72\x5f\x6e\x75\x6d\x5f\x64\x65\ +\x73\x74\x72\x6f\x79\0\x6e\x65\x73\x74\x5f\x65\x78\x69\x74\0\x73\x63\x78\x5f\ +\x65\x78\x69\x74\x5f\x69\x6e\x66\x6f\0\x6b\x69\x6e\x64\0\x72\x65\x61\x73\x6f\ +\x6e\0\x62\x74\0\x62\x74\x5f\x6c\x65\x6e\0\x6d\x73\x67\0\x64\x75\x6d\x70\0\x73\ +\x63\x78\x5f\x65\x78\x69\x74\x5f\x6b\x69\x6e\x64\0\x53\x43\x58\x5f\x45\x58\x49\ +\x54\x5f\x4e\x4f\x4e\x45\0\x53\x43\x58\x5f\x45\x58\x49\x54\x5f\x44\x4f\x4e\x45\ +\0\x53\x43\x58\x5f\x45\x58\x49\x54\x5f\x55\x4e\x52\x45\x47\0\x53\x43\x58\x5f\ +\x45\x58\x49\x54\x5f\x55\x4e\x52\x45\x47\x5f\x42\x50\x46\0\x53\x43\x58\x5f\x45\ +\x58\x49\x54\x5f\x55\x4e\x52\x45\x47\x5f\x4b\x45\x52\x4e\0\x53\x43\x58\x5f\x45\ +\x58\x49\x54\x5f\x53\x59\x53\x52\x51\0\x53\x43\x58\x5f\x45\x58\x49\x54\x5f\x45\ +\x52\x52\x4f\x52\0\x53\x43\x58\x5f\x45\x58\x49\x54\x5f\x45\x52\x52\x4f\x52\x5f\ +\x42\x50\x46\0\x53\x43\x58\x5f\x45\x58\x49\x54\x5f\x45\x52\x52\x4f\x52\x5f\x53\ +\x54\x41\x4c\x4c\0\x62\x70\x66\x5f\x70\x65\x72\x66\x5f\x65\x76\x65\x6e\x74\x5f\ +\x64\x61\x74\x61\0\x62\x70\x66\x5f\x75\x73\x65\x72\x5f\x70\x74\x5f\x72\x65\x67\ +\x73\x5f\x74\0\x68\x61\x6e\x64\x6c\x65\x5f\x63\x70\x75\x5f\x6d\x61\x73\x6b\x5f\ +\x65\x76\x65\x6e\x74\0\x6d\x61\x70\0\x63\x6f\x6d\x70\x61\x63\x74\x5f\x70\x72\ +\x69\x6d\x61\x72\x79\x5f\x63\x6f\x72\x65\0\x65\x6e\x71\x5f\x66\x6c\x61\x67\x73\ +\0\x6f\x70\x65\x72\x61\x74\x65\x5f\x62\x61\x64\x5f\x67\x75\x79\x73\0\x73\x74\ +\x61\x74\x73\x5f\x74\x69\x6d\x65\x72\x66\x6e\0\x73\x63\x78\x5f\x62\x70\x66\x5f\ +\x67\x65\x74\x5f\x69\x64\x6c\x65\x5f\x63\x70\x75\x6d\x61\x73\x6b\0\x73\x63\x78\ +\x5f\x62\x70\x66\x5f\x70\x75\x74\x5f\x69\x64\x6c\x65\x5f\x63\x70\x75\x6d\x61\ +\x73\x6b\0\x5f\x6c\x69\x63\x65\x6e\x73\x65\0\x70\x5f\x72\x65\x6d\x6f\x76\x65\ +\x5f\x6e\x73\0\x72\x5f\x6d\x61\x78\0\x72\x5f\x69\x6d\x70\x61\x74\x69\x65\x6e\ +\x74\0\x73\x6c\x69\x63\x65\x5f\x6e\x73\0\x66\x69\x6e\x64\x5f\x66\x75\x6c\x6c\ +\x79\x5f\x69\x64\x6c\x65\0\x73\x61\x6d\x70\x6c\x69\x6e\x67\x5f\x63\x61\x64\x65\ +\x6e\x63\x65\x5f\x6e\x73\0\x72\x5f\x64\x65\x70\x74\x68\0\x66\x69\x6c\x74\x65\ +\x72\x5f\x62\x79\x5f\x74\x67\x69\x64\0\x6e\x72\x5f\x63\x70\x75\x73\0\x68\x61\ +\x6e\x64\x6c\x65\x5f\x63\x70\x75\x5f\x6d\x61\x73\x6b\x5f\x65\x76\x65\x6e\x74\ +\x2e\x5f\x5f\x5f\x5f\x66\x6d\x74\0\x73\x74\x61\x74\x73\x5f\x70\x72\x69\x6d\x61\ +\x72\x79\x5f\x6d\x61\x73\x6b\0\x73\x74\x61\x74\x73\x5f\x72\x65\x73\x65\x72\x76\ +\x65\x64\x5f\x6d\x61\x73\x6b\0\x73\x74\x61\x74\x73\x5f\x6f\x74\x68\x65\x72\x5f\ +\x6d\x61\x73\x6b\0\x73\x74\x61\x74\x73\x5f\x69\x64\x6c\x65\x5f\x6d\x61\x73\x6b\ +\0\x73\x63\x68\x65\x64\x5f\x65\x78\x74\x5f\x6f\x70\x73\0\x73\x65\x6c\x65\x63\ +\x74\x5f\x63\x70\x75\0\x65\x6e\x71\x75\x65\x75\x65\0\x64\x65\x71\x75\x65\x75\ +\x65\0\x64\x69\x73\x70\x61\x74\x63\x68\0\x74\x69\x63\x6b\0\x72\x75\x6e\x6e\x61\ +\x62\x6c\x65\0\x72\x75\x6e\x6e\x69\x6e\x67\0\x73\x74\x6f\x70\x70\x69\x6e\x67\0\ +\x71\x75\x69\x65\x73\x63\x65\x6e\x74\0\x79\x69\x65\x6c\x64\0\x63\x6f\x72\x65\ +\x5f\x73\x63\x68\x65\x64\x5f\x62\x65\x66\x6f\x72\x65\0\x73\x65\x74\x5f\x77\x65\ +\x69\x67\x68\x74\0\x73\x65\x74\x5f\x63\x70\x75\x6d\x61\x73\x6b\0\x75\x70\x64\ +\x61\x74\x65\x5f\x69\x64\x6c\x65\0\x63\x70\x75\x5f\x61\x63\x71\x75\x69\x72\x65\ +\0\x63\x70\x75\x5f\x72\x65\x6c\x65\x61\x73\x65\0\x69\x6e\x69\x74\x5f\x74\x61\ +\x73\x6b\0\x65\x78\x69\x74\x5f\x74\x61\x73\x6b\0\x65\x6e\x61\x62\x6c\x65\0\x64\ +\x69\x73\x61\x62\x6c\x65\0\x64\x75\x6d\x70\x5f\x63\x70\x75\0\x64\x75\x6d\x70\ +\x5f\x74\x61\x73\x6b\0\x63\x67\x72\x6f\x75\x70\x5f\x69\x6e\x69\x74\0\x63\x67\ +\x72\x6f\x75\x70\x5f\x65\x78\x69\x74\0\x63\x67\x72\x6f\x75\x70\x5f\x70\x72\x65\ +\x70\x5f\x6d\x6f\x76\x65\0\x63\x67\x72\x6f\x75\x70\x5f\x6d\x6f\x76\x65\0\x63\ +\x67\x72\x6f\x75\x70\x5f\x63\x61\x6e\x63\x65\x6c\x5f\x6d\x6f\x76\x65\0\x63\x67\ +\x72\x6f\x75\x70\x5f\x73\x65\x74\x5f\x77\x65\x69\x67\x68\x74\0\x63\x70\x75\x5f\ +\x6f\x6e\x6c\x69\x6e\x65\0\x63\x70\x75\x5f\x6f\x66\x66\x6c\x69\x6e\x65\0\x69\ +\x6e\x69\x74\0\x65\x78\x69\x74\0\x64\x69\x73\x70\x61\x74\x63\x68\x5f\x6d\x61\ +\x78\x5f\x62\x61\x74\x63\x68\0\x74\x69\x6d\x65\x6f\x75\x74\x5f\x6d\x73\0\x65\ +\x78\x69\x74\x5f\x64\x75\x6d\x70\x5f\x6c\x65\x6e\0\x68\x6f\x74\x70\x6c\x75\x67\ +\x5f\x73\x65\x71\0\x6e\x61\x6d\x65\0\x73\x63\x78\x5f\x63\x70\x75\x5f\x61\x63\ +\x71\x75\x69\x72\x65\x5f\x61\x72\x67\x73\0\x73\x63\x78\x5f\x63\x70\x75\x5f\x72\ +\x65\x6c\x65\x61\x73\x65\x5f\x61\x72\x67\x73\0\x73\x63\x78\x5f\x63\x70\x75\x5f\ +\x70\x72\x65\x65\x6d\x70\x74\x5f\x72\x65\x61\x73\x6f\x6e\0\x53\x43\x58\x5f\x43\ +\x50\x55\x5f\x50\x52\x45\x45\x4d\x50\x54\x5f\x52\x54\0\x53\x43\x58\x5f\x43\x50\ +\x55\x5f\x50\x52\x45\x45\x4d\x50\x54\x5f\x44\x4c\0\x53\x43\x58\x5f\x43\x50\x55\ +\x5f\x50\x52\x45\x45\x4d\x50\x54\x5f\x53\x54\x4f\x50\0\x53\x43\x58\x5f\x43\x50\ +\x55\x5f\x50\x52\x45\x45\x4d\x50\x54\x5f\x55\x4e\x4b\x4e\x4f\x57\x4e\0\x73\x63\ +\x78\x5f\x69\x6e\x69\x74\x5f\x74\x61\x73\x6b\x5f\x61\x72\x67\x73\0\x66\x6f\x72\ +\x6b\0\x73\x63\x78\x5f\x65\x78\x69\x74\x5f\x74\x61\x73\x6b\x5f\x61\x72\x67\x73\ +\0\x63\x61\x6e\x63\x65\x6c\x6c\x65\x64\0\x73\x63\x78\x5f\x64\x75\x6d\x70\x5f\ +\x63\x74\x78\0\x61\x74\x5f\x6e\x73\0\x61\x74\x5f\x6a\x69\x66\x66\x69\x65\x73\0\ +\x73\x65\x6c\x66\0\x6c\x65\x76\x65\x6c\0\x6d\x61\x78\x5f\x64\x65\x70\x74\x68\0\ +\x6e\x72\x5f\x64\x65\x73\x63\x65\x6e\x64\x61\x6e\x74\x73\0\x6e\x72\x5f\x64\x79\ +\x69\x6e\x67\x5f\x64\x65\x73\x63\x65\x6e\x64\x61\x6e\x74\x73\0\x6d\x61\x78\x5f\ +\x64\x65\x73\x63\x65\x6e\x64\x61\x6e\x74\x73\0\x6e\x72\x5f\x70\x6f\x70\x75\x6c\ +\x61\x74\x65\x64\x5f\x63\x73\x65\x74\x73\0\x6e\x72\x5f\x70\x6f\x70\x75\x6c\x61\ +\x74\x65\x64\x5f\x64\x6f\x6d\x61\x69\x6e\x5f\x63\x68\x69\x6c\x64\x72\x65\x6e\0\ +\x6e\x72\x5f\x70\x6f\x70\x75\x6c\x61\x74\x65\x64\x5f\x74\x68\x72\x65\x61\x64\ +\x65\x64\x5f\x63\x68\x69\x6c\x64\x72\x65\x6e\0\x6e\x72\x5f\x74\x68\x72\x65\x61\ +\x64\x65\x64\x5f\x63\x68\x69\x6c\x64\x72\x65\x6e\0\x6b\x6e\0\x70\x72\x6f\x63\ +\x73\x5f\x66\x69\x6c\x65\0\x65\x76\x65\x6e\x74\x73\x5f\x66\x69\x6c\x65\0\x70\ +\x73\x69\x5f\x66\x69\x6c\x65\x73\0\x73\x75\x62\x74\x72\x65\x65\x5f\x63\x6f\x6e\ +\x74\x72\x6f\x6c\0\x73\x75\x62\x74\x72\x65\x65\x5f\x73\x73\x5f\x6d\x61\x73\x6b\ +\0\x6f\x6c\x64\x5f\x73\x75\x62\x74\x72\x65\x65\x5f\x63\x6f\x6e\x74\x72\x6f\x6c\ +\0\x6f\x6c\x64\x5f\x73\x75\x62\x74\x72\x65\x65\x5f\x73\x73\x5f\x6d\x61\x73\x6b\ +\0\x73\x75\x62\x73\x79\x73\0\x6e\x72\x5f\x64\x79\x69\x6e\x67\x5f\x73\x75\x62\ +\x73\x79\x73\0\x72\x6f\x6f\x74\0\x63\x73\x65\x74\x5f\x6c\x69\x6e\x6b\x73\0\x65\ +\x5f\x63\x73\x65\x74\x73\0\x64\x6f\x6d\x5f\x63\x67\x72\x70\0\x6f\x6c\x64\x5f\ +\x64\x6f\x6d\x5f\x63\x67\x72\x70\0\x72\x73\x74\x61\x74\x5f\x63\x70\x75\0\x72\ +\x73\x74\x61\x74\x5f\x63\x73\x73\x5f\x6c\x69\x73\x74\0\x5f\x70\x61\x64\x5f\0\ +\x72\x73\x74\x61\x74\x5f\x66\x6c\x75\x73\x68\x5f\x6e\x65\x78\x74\0\x6c\x61\x73\ +\x74\x5f\x62\x73\x74\x61\x74\0\x62\x73\x74\x61\x74\0\x70\x69\x64\x6c\x69\x73\ +\x74\x73\0\x70\x69\x64\x6c\x69\x73\x74\x5f\x6d\x75\x74\x65\x78\0\x6f\x66\x66\ +\x6c\x69\x6e\x65\x5f\x77\x61\x69\x74\x71\0\x72\x65\x6c\x65\x61\x73\x65\x5f\x61\ +\x67\x65\x6e\x74\x5f\x77\x6f\x72\x6b\0\x70\x73\x69\0\x62\x70\x66\0\x66\x72\x65\ +\x65\x7a\x65\x72\0\x62\x70\x66\x5f\x63\x67\x72\x70\x5f\x73\x74\x6f\x72\x61\x67\ +\x65\0\x61\x6e\x63\x65\x73\x74\x6f\x72\x73\0\x63\x67\x72\x6f\x75\x70\x5f\x73\ +\x75\x62\x73\x79\x73\x5f\x73\x74\x61\x74\x65\0\x72\x65\x66\x63\x6e\x74\0\x72\ +\x73\x74\x61\x74\x5f\x63\x73\x73\x5f\x6e\x6f\x64\x65\0\x73\x65\x72\x69\x61\x6c\ +\x5f\x6e\x72\0\x6f\x6e\x6c\x69\x6e\x65\x5f\x63\x6e\x74\0\x64\x65\x73\x74\x72\ +\x6f\x79\x5f\x77\x6f\x72\x6b\0\x64\x65\x73\x74\x72\x6f\x79\x5f\x72\x77\x6f\x72\ +\x6b\0\x70\x65\x72\x63\x70\x75\x5f\x72\x65\x66\0\x70\x65\x72\x63\x70\x75\x5f\ +\x63\x6f\x75\x6e\x74\x5f\x70\x74\x72\0\x64\x61\x74\x61\0\x77\x6f\x72\x6b\x5f\ +\x73\x74\x72\x75\x63\x74\0\x77\x6f\x72\x6b\x5f\x66\x75\x6e\x63\x5f\x74\0\x72\ +\x63\x75\x5f\x77\x6f\x72\x6b\0\x77\x71\0\x63\x67\x72\x6f\x75\x70\x5f\x66\x69\ +\x6c\x65\0\x6e\x6f\x74\x69\x66\x69\x65\x64\x5f\x61\x74\0\x6e\x6f\x74\x69\x66\ +\x79\x5f\x74\x69\x6d\x65\x72\0\x63\x61\x63\x68\x65\x6c\x69\x6e\x65\x5f\x70\x61\ +\x64\x64\x69\x6e\x67\0\x78\0\x63\x67\x72\x6f\x75\x70\x5f\x62\x61\x73\x65\x5f\ +\x73\x74\x61\x74\0\x63\x70\x75\x74\x69\x6d\x65\0\x66\x6f\x72\x63\x65\x69\x64\ +\x6c\x65\x5f\x73\x75\x6d\0\x74\x61\x73\x6b\x5f\x63\x70\x75\x74\x69\x6d\x65\0\ +\x63\x67\x72\x6f\x75\x70\x5f\x62\x70\x66\0\x65\x66\x66\x65\x63\x74\x69\x76\x65\ +\0\x70\x72\x6f\x67\x73\0\x73\x74\x6f\x72\x61\x67\x65\x73\0\x69\x6e\x61\x63\x74\ +\x69\x76\x65\0\x72\x65\x6c\x65\x61\x73\x65\x5f\x77\x6f\x72\x6b\0\x62\x70\x66\ +\x5f\x70\x72\x6f\x67\x5f\x61\x72\x72\x61\x79\0\x69\x74\x65\x6d\x73\0\x62\x70\ +\x66\x5f\x70\x72\x6f\x67\x5f\x61\x72\x72\x61\x79\x5f\x69\x74\x65\x6d\0\x63\x67\ +\x72\x6f\x75\x70\x5f\x73\x74\x6f\x72\x61\x67\x65\0\x62\x70\x66\x5f\x63\x67\x72\ +\x6f\x75\x70\x5f\x73\x74\x6f\x72\x61\x67\x65\0\x6c\x69\x73\x74\x5f\x6d\x61\x70\ +\0\x6c\x69\x73\x74\x5f\x63\x67\0\x62\x75\x66\0\x70\x65\x72\x63\x70\x75\x5f\x62\ +\x75\x66\0\x62\x70\x66\x5f\x63\x67\x72\x6f\x75\x70\x5f\x73\x74\x6f\x72\x61\x67\ +\x65\x5f\x6b\x65\x79\0\x63\x67\x72\x6f\x75\x70\x5f\x69\x6e\x6f\x64\x65\x5f\x69\ +\x64\0\x61\x74\x74\x61\x63\x68\x5f\x74\x79\x70\x65\0\x63\x67\x72\x6f\x75\x70\ +\x5f\x66\x72\x65\x65\x7a\x65\x72\x5f\x73\x74\x61\x74\x65\0\x66\x72\x65\x65\x7a\ +\x65\0\x65\x5f\x66\x72\x65\x65\x7a\x65\0\x6e\x72\x5f\x66\x72\x6f\x7a\x65\x6e\ +\x5f\x64\x65\x73\x63\x65\x6e\x64\x61\x6e\x74\x73\0\x6e\x72\x5f\x66\x72\x6f\x7a\ +\x65\x6e\x5f\x74\x61\x73\x6b\x73\0\x73\x63\x78\x5f\x63\x67\x72\x6f\x75\x70\x5f\ +\x69\x6e\x69\x74\x5f\x61\x72\x67\x73\0\x6e\x65\x73\x74\x5f\x6f\x70\x73\0\x75\ +\x65\x69\x5f\x64\x75\x6d\x70\0\x75\x65\x69\x5f\x64\x75\x6d\x70\x5f\x6c\x65\x6e\ +\0\x75\x73\x65\x72\x5f\x65\x78\x69\x74\x5f\x69\x6e\x66\x6f\0\x75\x65\x69\0\x70\ +\x72\x69\x6d\x61\x72\x79\x5f\x63\x70\x75\x6d\x61\x73\x6b\0\x72\x65\x73\x65\x72\ +\x76\x65\x5f\x63\x70\x75\x6d\x61\x73\x6b\0\x5f\x5f\x5f\x5f\x6e\x65\x73\x74\x5f\ +\x73\x65\x6c\x65\x63\x74\x5f\x63\x70\x75\x2e\x5f\x5f\x5f\x66\x6d\x74\0\x5f\x5f\ +\x5f\x5f\x6e\x65\x73\x74\x5f\x73\x65\x6c\x65\x63\x74\x5f\x63\x70\x75\x2e\x5f\ +\x5f\x5f\x66\x6d\x74\x2e\x31\0\x5f\x5f\x5f\x5f\x6e\x65\x73\x74\x5f\x73\x65\x6c\ +\x65\x63\x74\x5f\x63\x70\x75\x2e\x5f\x5f\x5f\x66\x6d\x74\x2e\x33\0\x6e\x72\x5f\ +\x72\x65\x73\x65\x72\x76\x65\x64\0\x63\x6f\x6d\x70\x61\x63\x74\x5f\x70\x72\x69\ +\x6d\x61\x72\x79\x5f\x63\x6f\x72\x65\x2e\x5f\x5f\x5f\x66\x6d\x74\0\x63\x6f\x6d\ +\x70\x61\x63\x74\x5f\x70\x72\x69\x6d\x61\x72\x79\x5f\x63\x6f\x72\x65\x2e\x5f\ +\x5f\x5f\x66\x6d\x74\x2e\x36\0\x76\x74\x69\x6d\x65\x5f\x6e\x6f\x77\0\x5f\x5f\ +\x5f\x5f\x6e\x65\x73\x74\x5f\x65\x6e\x71\x75\x65\x75\x65\x2e\x5f\x5f\x5f\x66\ +\x6d\x74\0\x5f\x5f\x5f\x5f\x6e\x65\x73\x74\x5f\x64\x69\x73\x70\x61\x74\x63\x68\ +\x2e\x5f\x5f\x5f\x66\x6d\x74\0\x5f\x5f\x5f\x5f\x6e\x65\x73\x74\x5f\x64\x69\x73\ +\x70\x61\x74\x63\x68\x2e\x5f\x5f\x5f\x66\x6d\x74\x2e\x31\x30\0\x5f\x5f\x5f\x5f\ +\x6e\x65\x73\x74\x5f\x69\x6e\x69\x74\x2e\x5f\x5f\x5f\x66\x6d\x74\0\x5f\x5f\x5f\ +\x5f\x6e\x65\x73\x74\x5f\x69\x6e\x69\x74\x2e\x5f\x5f\x5f\x66\x6d\x74\x2e\x31\ +\x32\0\x5f\x5f\x5f\x5f\x6e\x65\x73\x74\x5f\x69\x6e\x69\x74\x2e\x5f\x5f\x5f\x66\ +\x6d\x74\x2e\x31\x34\0\x5f\x5f\x5f\x5f\x6e\x65\x73\x74\x5f\x69\x6e\x69\x74\x2e\ +\x5f\x5f\x5f\x66\x6d\x74\x2e\x31\x36\0\x5f\x5f\x5f\x5f\x6e\x65\x73\x74\x5f\x69\ +\x6e\x69\x74\x2e\x5f\x5f\x5f\x66\x6d\x74\x2e\x31\x38\0\x5f\x5f\x5f\x5f\x6e\x65\ +\x73\x74\x5f\x69\x6e\x69\x74\x2e\x5f\x5f\x5f\x66\x6d\x74\x2e\x32\x30\0\x73\x74\ +\x61\x74\x73\x5f\x74\x69\x6d\x65\x72\x66\x6e\x2e\x5f\x5f\x5f\x66\x6d\x74\0\x73\ +\x74\x61\x74\x73\x5f\x74\x69\x6d\x65\x72\x66\x6e\x2e\x5f\x5f\x5f\x66\x6d\x74\ +\x2e\x32\x33\0\x6b\x70\x74\x72\0\x74\x72\x61\x63\x65\x5f\x65\x76\x65\x6e\x74\ +\x5f\x63\x61\x6c\x6c\0\x65\x76\x65\x6e\x74\x5f\x66\x69\x6c\x74\x65\x72\0\x70\ +\x65\x72\x66\x5f\x65\x76\x65\x6e\x74\x5f\x70\x6d\x75\x5f\x63\x6f\x6e\x74\x65\ +\x78\x74\0\x70\x65\x72\x66\x5f\x65\x76\x65\x6e\x74\x5f\x63\x6f\x6e\x74\x65\x78\ +\x74\0\x70\x65\x72\x66\x5f\x62\x75\x66\x66\x65\x72\0\x6d\x6d\x5f\x73\x74\x72\ +\x75\x63\x74\0\x73\x63\x78\x5f\x64\x69\x73\x70\x61\x74\x63\x68\x5f\x71\0\x68\ +\x72\x74\x69\x6d\x65\x72\x5f\x63\x6c\x6f\x63\x6b\x5f\x62\x61\x73\x65\0\x61\x64\ +\x64\x72\x65\x73\x73\x5f\x73\x70\x61\x63\x65\0\x63\x6f\x6d\x70\x6c\x65\x74\x69\ +\x6f\x6e\0\x6f\x62\x6a\x5f\x63\x67\x72\x6f\x75\x70\0\x70\x65\x72\x63\x70\x75\ +\x5f\x72\x65\x66\x5f\x64\x61\x74\x61\0\x6d\x65\x6d\x5f\x63\x67\x72\x6f\x75\x70\ +\0\x75\x73\x65\x72\x5f\x6e\x61\x6d\x65\x73\x70\x61\x63\x65\0\x70\x69\x64\x5f\ +\x6e\x61\x6d\x65\x73\x70\x61\x63\x65\0\x63\x73\x73\x5f\x73\x65\x74\0\x6b\x65\ +\x72\x6e\x66\x73\x5f\x6e\x6f\x64\x65\0\x63\x67\x72\x6f\x75\x70\x5f\x72\x6f\x6f\ +\x74\0\x63\x67\x72\x6f\x75\x70\x5f\x72\x73\x74\x61\x74\x5f\x63\x70\x75\0\x63\ +\x67\x72\x6f\x75\x70\x5f\x73\x75\x62\x73\x79\x73\0\x70\x73\x69\x5f\x67\x72\x6f\ +\x75\x70\0\x77\x6f\x72\x6b\x71\x75\x65\x75\x65\x5f\x73\x74\x72\x75\x63\x74\0\ +\x62\x70\x66\x5f\x70\x72\x6f\x67\0\x62\x70\x66\x5f\x6c\x6f\x63\x61\x6c\x5f\x73\ +\x74\x6f\x72\x61\x67\x65\0\x66\x74\x72\x61\x63\x65\x5f\x68\x61\x73\x68\0\x76\ +\x6d\x5f\x73\x74\x72\x75\x63\x74\0\x75\x73\x65\x72\x5f\x73\x74\x72\x75\x63\x74\ +\0\x62\x70\x66\x5f\x73\x74\x6f\x72\x61\x67\x65\x5f\x62\x75\x66\x66\x65\x72\0\ +\x62\x70\x66\x5f\x63\x67\x72\x6f\x75\x70\x5f\x73\x74\x6f\x72\x61\x67\x65\x5f\ +\x6d\x61\x70\0\x66\x73\x5f\x73\x74\x72\x75\x63\x74\0\x70\x69\x70\x65\x5f\x69\ +\x6e\x6f\x64\x65\x5f\x69\x6e\x66\x6f\0\x66\x61\x73\x79\x6e\x63\x5f\x73\x74\x72\ +\x75\x63\x74\0\x67\x65\x6e\x64\x69\x73\x6b\0\x70\x65\x72\x66\x5f\x61\x64\x64\ +\x72\x5f\x66\x69\x6c\x74\x65\x72\x5f\x72\x61\x6e\x67\x65\0\x70\x65\x72\x66\x5f\ +\x63\x61\x6c\x6c\x63\x68\x61\x69\x6e\x5f\x65\x6e\x74\x72\x79\0\x70\x65\x72\x66\ +\x5f\x72\x61\x77\x5f\x72\x65\x63\x6f\x72\x64\0\x70\x65\x72\x66\x5f\x62\x72\x61\ +\x6e\x63\x68\x5f\x73\x74\x61\x63\x6b\0\x70\x65\x72\x66\x5f\x63\x67\x72\x6f\x75\ +\x70\0\x6b\x65\x72\x6e\x65\x6c\x5f\x73\x69\x67\x69\x6e\x66\x6f\0\x74\x61\x73\ +\x6b\x5f\x67\x72\x6f\x75\x70\0\x72\x63\x75\x5f\x6e\x6f\x64\x65\0\x73\x69\x67\ +\x6e\x61\x6c\x5f\x73\x74\x72\x75\x63\x74\0\x5f\x5f\x6b\x65\x72\x6e\x65\x6c\x5f\ +\x74\x69\x6d\x65\x73\x70\x65\x63\0\x6f\x6c\x64\x5f\x74\x69\x6d\x65\x73\x70\x65\ +\x63\x33\x32\0\x70\x6f\x6c\x6c\x66\x64\0\x73\x65\x6d\x5f\x75\x6e\x64\x6f\x5f\ +\x6c\x69\x73\x74\0\x66\x69\x6c\x65\x73\x5f\x73\x74\x72\x75\x63\x74\0\x69\x6f\ +\x5f\x75\x72\x69\x6e\x67\x5f\x74\x61\x73\x6b\0\x62\x6c\x6b\x5f\x70\x6c\x75\x67\ +\0\x73\x69\x67\x68\x61\x6e\x64\x5f\x73\x74\x72\x75\x63\x74\0\x73\x65\x63\x63\ +\x6f\x6d\x70\x5f\x66\x69\x6c\x74\x65\x72\0\x72\x74\x5f\x6d\x75\x74\x65\x78\x5f\ +\x77\x61\x69\x74\x65\x72\0\x72\x6f\x62\x75\x73\x74\x5f\x6c\x69\x73\x74\x5f\x68\ +\x65\x61\x64\0\x63\x6f\x6d\x70\x61\x74\x5f\x72\x6f\x62\x75\x73\x74\x5f\x6c\x69\ +\x73\x74\x5f\x68\x65\x61\x64\0\x66\x75\x74\x65\x78\x5f\x70\x69\x5f\x73\x74\x61\ +\x74\x65\0\x74\x61\x73\x6b\x5f\x64\x65\x6c\x61\x79\x5f\x69\x6e\x66\x6f\0\x75\ +\x70\x72\x6f\x62\x65\x5f\x74\x61\x73\x6b\0\x62\x70\x66\x5f\x72\x75\x6e\x5f\x63\ +\x74\x78\0\x6d\x61\x74\x68\x5f\x65\x6d\x75\x5f\x69\x6e\x66\x6f\0\x2f\x68\x6f\ +\x6d\x65\x2f\x6e\x65\x31\x2f\x73\x79\x73\x5f\x63\x6f\x6d\x70\x65\x74\x69\x74\ +\x69\x6f\x6e\x2f\x73\x63\x78\x2d\x70\x6c\x75\x67\x2f\x2e\x2f\x69\x6e\x63\x6c\ +\x75\x64\x65\x2f\x73\x63\x78\x2f\x63\x6f\x6d\x6d\x6f\x6e\x2e\x62\x70\x66\x2e\ +\x68\0\x63\x6f\x6e\x73\x74\x20\x73\x74\x72\x75\x63\x74\x20\x63\x70\x75\x6d\x61\ +\x73\x6b\x20\x2a\x63\x61\x73\x74\x5f\x6d\x61\x73\x6b\x28\x73\x74\x72\x75\x63\ +\x74\x20\x62\x70\x66\x5f\x63\x70\x75\x6d\x61\x73\x6b\x20\x2a\x6d\x61\x73\x6b\ +\x29\0\x09\x72\x65\x74\x75\x72\x6e\x20\x28\x63\x6f\x6e\x73\x74\x20\x73\x74\x72\ +\x75\x63\x74\x20\x63\x70\x75\x6d\x61\x73\x6b\x20\x2a\x29\x6d\x61\x73\x6b\x3b\0\ +\x2f\x68\x6f\x6d\x65\x2f\x6e\x65\x31\x2f\x73\x79\x73\x5f\x63\x6f\x6d\x70\x65\ +\x74\x69\x74\x69\x6f\x6e\x2f\x73\x63\x78\x2d\x70\x6c\x75\x67\x2f\x62\x70\x66\ +\x2f\x73\x63\x78\x5f\x6e\x65\x73\x74\x2e\x62\x70\x66\x2e\x63\0\x09\x73\x33\x32\ +\x20\x63\x70\x75\x20\x3d\x20\x62\x70\x66\x5f\x67\x65\x74\x5f\x73\x6d\x70\x5f\ +\x70\x72\x6f\x63\x65\x73\x73\x6f\x72\x5f\x69\x64\x28\x29\x3b\0\x09\x75\x36\x34\ +\x20\x2a\x63\x6e\x74\x5f\x70\x20\x3d\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x6c\ +\x6f\x6f\x6b\x75\x70\x5f\x65\x6c\x65\x6d\x28\x26\x73\x74\x61\x74\x73\x2c\x20\ +\x26\x69\x64\x78\x29\x3b\0\x09\x69\x66\x20\x28\x63\x6e\x74\x5f\x70\x29\0\x09\ +\x09\x28\x2a\x63\x6e\x74\x5f\x70\x29\x2b\x2b\x3b\0\x09\x70\x63\x70\x75\x5f\x63\ +\x74\x78\x20\x3d\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x6c\x6f\x6f\x6b\x75\x70\ +\x5f\x65\x6c\x65\x6d\x28\x26\x70\x63\x70\x75\x5f\x63\x74\x78\x73\x2c\x20\x26\ +\x63\x70\x75\x29\x3b\x2f\x2f\x20\xe6\x9f\xa5\xe6\x89\xbe\xe5\xbd\x93\xe5\x89\ +\x8d\xe6\xa0\xb8\xe5\xbf\x83\xe7\x9a\x84\xe4\xb8\x8a\xe4\xb8\x8b\xe6\x96\x87\0\ +\x09\x69\x66\x20\x28\x21\x70\x63\x70\x75\x5f\x63\x74\x78\x29\x20\x7b\0\x09\x09\ +\x73\x63\x78\x5f\x62\x70\x66\x5f\x65\x72\x72\x6f\x72\x28\x22\x43\x6f\x75\x6c\ +\x64\x6e\x27\x74\x20\x6c\x6f\x6f\x6b\x75\x70\x20\x70\x63\x70\x75\x20\x63\x74\ +\x78\x22\x29\x3b\x2f\x2f\x20\xe5\xa6\x82\xe6\x9e\x9c\xe4\xb8\x8a\xe4\xb8\x8b\ +\xe6\x96\x87\xe4\xb8\xba\xe7\xa9\xba\xef\xbc\x8c\xe8\xae\xb0\xe5\xbd\x95\xe9\ +\x94\x99\xe8\xaf\xaf\xe5\xb9\xb6\xe9\x80\x80\xe5\x87\xba\0\x09\x09\x72\x65\x74\ +\x75\x72\x6e\x20\x30\x3b\0\x09\x62\x70\x66\x5f\x72\x63\x75\x5f\x72\x65\x61\x64\ +\x5f\x6c\x6f\x63\x6b\x28\x29\x3b\x2f\x2f\x20\xe5\x8a\xa0\xe9\x94\x81\xe4\xbb\ +\xa5\xe4\xbf\x9d\xe6\x8a\xa4\xe8\xae\xbf\xe9\x97\xae\0\x09\x70\x72\x69\x6d\x61\ +\x72\x79\x20\x3d\x20\x70\x72\x69\x6d\x61\x72\x79\x5f\x63\x70\x75\x6d\x61\x73\ +\x6b\x3b\x20\x2f\x2f\x20\xe8\x8e\xb7\xe5\x8f\x96\x20\x50\x72\x69\x6d\x61\x72\ +\x79\x20\x4e\x65\x73\x74\x20\xe7\x9a\x84\xe6\xa0\xb8\xe5\xbf\x83\xe6\x8e\xa9\ +\xe7\xa0\x81\0\x09\x69\x66\x20\x28\x21\x70\x72\x69\x6d\x61\x72\x79\x20\x7c\x7c\ +\x20\x21\x72\x65\x73\x65\x72\x76\x65\x29\x20\x7b\0\x09\x09\x73\x63\x78\x5f\x62\ +\x70\x66\x5f\x65\x72\x72\x6f\x72\x28\x22\x43\x6f\x75\x6c\x64\x6e\x27\x74\x20\ +\x66\x69\x6e\x64\x20\x70\x72\x69\x6d\x61\x72\x79\x20\x6f\x72\x20\x72\x65\x73\ +\x65\x72\x76\x65\x22\x29\x3b\x2f\x2f\x20\xe5\xa6\x82\xe6\x9e\x9c\xe4\xbb\xbb\ +\xe4\xbd\x95\xe4\xb8\x80\xe4\xb8\xaa\xe6\x8e\xa9\xe7\xa0\x81\xe4\xb8\xba\xe7\ +\xa9\xba\xef\xbc\x8c\xe8\xae\xb0\xe5\xbd\x95\xe9\x94\x99\xe8\xaf\xaf\xe5\xb9\ +\xb6\xe9\x80\x80\xe5\x87\xba\0\x09\x09\x62\x70\x66\x5f\x72\x63\x75\x5f\x72\x65\ +\x61\x64\x5f\x75\x6e\x6c\x6f\x63\x6b\x28\x29\x3b\0\x09\x62\x70\x66\x5f\x63\x70\ +\x75\x6d\x61\x73\x6b\x5f\x63\x6c\x65\x61\x72\x5f\x63\x70\x75\x28\x63\x70\x75\ +\x2c\x20\x70\x72\x69\x6d\x61\x72\x79\x29\x3b\0\x09\x74\x72\x79\x5f\x6d\x61\x6b\ +\x65\x5f\x63\x6f\x72\x65\x5f\x72\x65\x73\x65\x72\x76\x65\x64\x28\x63\x70\x75\ +\x2c\x20\x72\x65\x73\x65\x72\x76\x65\x2c\x20\x66\x61\x6c\x73\x65\x29\x3b\0\x09\ +\x69\x66\x20\x28\x74\x6d\x70\x5f\x6e\x72\x5f\x72\x65\x73\x65\x72\x76\x65\x64\ +\x20\x3c\x20\x72\x5f\x6d\x61\x78\x29\x20\x7b\x20\0\x09\x74\x6d\x70\x5f\x6e\x72\ +\x5f\x72\x65\x73\x65\x72\x76\x65\x64\x20\x3d\x20\x6e\x72\x5f\x72\x65\x73\x65\ +\x72\x76\x65\x64\x3b\0\x09\x09\x5f\x5f\x73\x79\x6e\x63\x5f\x66\x65\x74\x63\x68\ +\x5f\x61\x6e\x64\x5f\x61\x64\x64\x28\x26\x6e\x72\x5f\x72\x65\x73\x65\x72\x76\ +\x65\x64\x2c\x20\x31\x29\x3b\x2f\x2f\x20\xe5\x8e\x9f\xe5\xad\x90\xe5\xa2\x9e\ +\xe5\x8a\xa0\x20\x52\x65\x73\x65\x72\x76\x65\x20\xe6\xa0\xb8\xe5\xbf\x83\xe8\ +\xae\xa1\xe6\x95\xb0\0\x09\x09\x62\x70\x66\x5f\x63\x70\x75\x6d\x61\x73\x6b\x5f\ +\x73\x65\x74\x5f\x63\x70\x75\x28\x63\x70\x75\x2c\x20\x72\x65\x73\x65\x72\x76\ +\x65\x64\x29\x3b\x2f\x2f\x20\xe5\xb0\x86\xe6\x8c\x87\xe5\xae\x9a\xe7\x9a\x84\ +\xe6\xa0\xb8\xe5\xbf\x83\xe5\x8a\xa0\xe5\x85\xa5\x20\x52\x65\x73\x65\x72\x76\ +\x65\x20\xe6\x8e\xa9\xe7\xa0\x81\0\x09\x09\x62\x70\x66\x5f\x63\x70\x75\x6d\x61\ +\x73\x6b\x5f\x63\x6c\x65\x61\x72\x5f\x63\x70\x75\x28\x63\x70\x75\x2c\x20\x72\ +\x65\x73\x65\x72\x76\x65\x64\x29\x3b\x2f\x2f\x20\xe5\xa6\x82\xe6\x9e\x9c\x20\ +\x52\x65\x73\x65\x72\x76\x65\x20\xe5\xb7\xb2\xe6\xbb\xa1\xef\xbc\x8c\xe6\xb8\ +\x85\xe9\x99\xa4\xe8\xaf\xa5\xe6\xa0\xb8\xe5\xbf\x83\0\x09\x62\x70\x66\x5f\x72\ +\x63\x75\x5f\x72\x65\x61\x64\x5f\x75\x6e\x6c\x6f\x63\x6b\x28\x29\x3b\x2f\x2f\ +\x20\xe8\xa7\xa3\xe9\x94\x81\0\x09\x70\x63\x70\x75\x5f\x63\x74\x78\x2d\x3e\x73\ +\x63\x68\x65\x64\x75\x6c\x65\x64\x5f\x63\x6f\x6d\x70\x61\x63\x74\x69\x6f\x6e\ +\x20\x3d\x20\x66\x61\x6c\x73\x65\x3b\0\x7d\0\x73\x74\x61\x74\x69\x63\x20\x69\ +\x6e\x74\x20\x6f\x70\x65\x72\x61\x74\x65\x5f\x62\x61\x64\x5f\x67\x75\x79\x73\ +\x28\x73\x74\x72\x75\x63\x74\x20\x74\x61\x73\x6b\x5f\x73\x74\x72\x75\x63\x74\ +\x20\x2a\x70\x2c\x75\x36\x34\x20\x65\x6e\x71\x5f\x66\x6c\x61\x67\x73\x29\x7b\0\ +\x09\x69\x66\x28\x70\x2d\x3e\x66\x6c\x61\x67\x73\x20\x26\x20\x50\x46\x5f\x4b\ +\x54\x48\x52\x45\x41\x44\x29\0\x09\x62\x70\x66\x5f\x70\x72\x6f\x62\x65\x5f\x72\ +\x65\x61\x64\x5f\x6b\x65\x72\x6e\x65\x6c\x5f\x73\x74\x72\x28\x6e\x61\x6d\x65\ +\x2e\x63\x6f\x6d\x6d\x2c\x73\x69\x7a\x65\x6f\x66\x28\x70\x2d\x3e\x63\x6f\x6d\ +\x6d\x29\x2c\x70\x2d\x3e\x63\x6f\x6d\x6d\x29\x3b\0\x09\x75\x33\x32\x20\x70\x69\ +\x64\x20\x3d\x20\x70\x2d\x3e\x70\x69\x64\x3b\0\x09\x75\x33\x32\x20\x74\x67\x69\ +\x64\x20\x3d\x20\x70\x2d\x3e\x74\x67\x69\x64\x3b\0\x09\x75\x33\x32\x20\x2a\x69\ +\x64\x65\x6e\x74\x20\x3d\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x6c\x6f\x6f\x6b\ +\x75\x70\x5f\x65\x6c\x65\x6d\x28\x26\x63\x6f\x6d\x6d\x5f\x69\x67\x6e\x6f\x72\ +\x65\x5f\x6d\x61\x70\x2c\x26\x6e\x61\x6d\x65\x29\x3b\0\x09\x69\x66\x28\x69\x64\ +\x65\x6e\x74\x29\x7b\0\x09\x69\x64\x65\x6e\x74\x20\x3d\x20\x62\x70\x66\x5f\x6d\ +\x61\x70\x5f\x6c\x6f\x6f\x6b\x75\x70\x5f\x65\x6c\x65\x6d\x28\x26\x69\x64\x5f\ +\x69\x67\x6e\x6f\x72\x65\x5f\x6d\x61\x70\x2c\x26\x70\x69\x64\x29\x3b\0\x09\x69\ +\x66\x28\x66\x69\x6c\x74\x65\x72\x5f\x62\x79\x5f\x74\x67\x69\x64\x29\x7b\0\x09\ +\x09\x69\x64\x65\x6e\x74\x20\x3d\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x6c\x6f\ +\x6f\x6b\x75\x70\x5f\x65\x6c\x65\x6d\x28\x26\x69\x64\x5f\x69\x67\x6e\x6f\x72\ +\x65\x5f\x6d\x61\x70\x2c\x26\x74\x67\x69\x64\x29\x3b\0\x09\x09\x69\x66\x28\x69\ +\x64\x65\x6e\x74\x29\x7b\0\x09\x69\x64\x65\x6e\x74\x20\x3d\x20\x62\x70\x66\x5f\ +\x6d\x61\x70\x5f\x6c\x6f\x6f\x6b\x75\x70\x5f\x65\x6c\x65\x6d\x28\x26\x63\x6f\ +\x6d\x6d\x5f\x61\x74\x74\x65\x6e\x74\x69\x6f\x6e\x5f\x6d\x61\x70\x2c\x26\x6e\ +\x61\x6d\x65\x29\x3b\0\x09\x69\x64\x65\x6e\x74\x5f\x69\x64\x20\x3d\x20\x62\x70\ +\x66\x5f\x6d\x61\x70\x5f\x6c\x6f\x6f\x6b\x75\x70\x5f\x65\x6c\x65\x6d\x28\x26\ +\x69\x64\x5f\x61\x74\x74\x65\x6e\x74\x69\x6f\x6e\x5f\x6d\x61\x70\x2c\x26\x70\ +\x69\x64\x29\x3b\0\x09\x09\x69\x64\x65\x6e\x74\x5f\x74\x67\x69\x64\x20\x3d\x20\ +\x62\x70\x66\x5f\x6d\x61\x70\x5f\x6c\x6f\x6f\x6b\x75\x70\x5f\x65\x6c\x65\x6d\ +\x28\x26\x69\x64\x5f\x61\x74\x74\x65\x6e\x74\x69\x6f\x6e\x5f\x6d\x61\x70\x2c\ +\x26\x74\x67\x69\x64\x29\x3b\0\x09\x69\x66\x28\x69\x64\x65\x6e\x74\x20\x7c\x7c\ +\x20\x69\x64\x65\x6e\x74\x5f\x69\x64\x20\x7c\x7c\x20\x69\x64\x65\x6e\x74\x5f\ +\x74\x67\x69\x64\x29\x7b\0\x09\x09\x75\x36\x34\x20\x76\x74\x69\x6d\x65\x20\x3d\ +\x20\x70\x2d\x3e\x73\x63\x78\x2e\x64\x73\x71\x5f\x76\x74\x69\x6d\x65\x3b\x2f\ +\x2f\x20\xe8\x8e\xb7\xe5\x8f\x96\xe4\xbb\xbb\xe5\x8a\xa1\xe7\x9a\x84\xe8\x99\ +\x9a\xe6\x8b\x9f\xe6\x97\xb6\xe9\x97\xb4\0\x09\x09\x69\x66\x20\x28\x76\x74\x69\ +\x6d\x65\x5f\x62\x65\x66\x6f\x72\x65\x28\x76\x74\x69\x6d\x65\x2c\x20\x76\x74\ +\x69\x6d\x65\x5f\x6e\x6f\x77\x20\x2d\x20\x73\x6c\x69\x63\x65\x5f\x6e\x73\x29\ +\x29\0\x09\x72\x65\x74\x75\x72\x6e\x20\x28\x73\x36\x34\x29\x28\x61\x20\x2d\x20\ +\x62\x29\x20\x3c\x20\x30\x3b\0\x09\x09\x09\x76\x74\x69\x6d\x65\x20\x3d\x20\x76\ +\x74\x69\x6d\x65\x5f\x6e\x6f\x77\x20\x2d\x20\x73\x6c\x69\x63\x65\x5f\x6e\x73\ +\x3b\0\x09\x75\x33\x32\x20\x7a\x65\x72\x6f\x20\x3d\x20\x30\x3b\0\x09\x73\x74\ +\x72\x75\x63\x74\x20\x66\x69\x6c\x74\x65\x72\x5f\x69\x6e\x6e\x65\x72\x5f\x6d\ +\x61\x70\x20\x2a\x62\x61\x64\x5f\x67\x75\x79\x20\x3d\x20\x62\x70\x66\x5f\x6d\ +\x61\x70\x5f\x6c\x6f\x6f\x6b\x75\x70\x5f\x65\x6c\x65\x6d\x28\x26\x66\x6c\x69\ +\x74\x65\x72\x5f\x6d\x61\x70\x2c\x26\x7a\x65\x72\x6f\x29\x3b\0\x09\x69\x66\x28\ +\x62\x61\x64\x5f\x67\x75\x79\x29\x7b\0\x09\x09\x69\x64\x65\x6e\x74\x20\x3d\x20\ +\x62\x70\x66\x5f\x6d\x61\x70\x5f\x6c\x6f\x6f\x6b\x75\x70\x5f\x65\x6c\x65\x6d\ +\x28\x62\x61\x64\x5f\x67\x75\x79\x2c\x26\x70\x69\x64\x29\x3b\0\x09\x09\x09\x75\ +\x36\x34\x20\x76\x74\x69\x6d\x65\x20\x3d\x20\x70\x2d\x3e\x73\x63\x78\x2e\x64\ +\x73\x71\x5f\x76\x74\x69\x6d\x65\x3b\x2f\x2f\x20\xe8\x8e\xb7\xe5\x8f\x96\xe4\ +\xbb\xbb\xe5\x8a\xa1\xe7\x9a\x84\xe8\x99\x9a\xe6\x8b\x9f\xe6\x97\xb6\xe9\x97\ +\xb4\0\x09\x09\x09\x69\x66\x20\x28\x76\x74\x69\x6d\x65\x5f\x62\x65\x66\x6f\x72\ +\x65\x28\x76\x74\x69\x6d\x65\x2c\x20\x76\x74\x69\x6d\x65\x5f\x6e\x6f\x77\x20\ +\x2d\x20\x73\x6c\x69\x63\x65\x5f\x6e\x73\x29\x29\0\x73\x74\x61\x74\x69\x63\x20\ +\x69\x6e\x74\x20\x73\x74\x61\x74\x73\x5f\x74\x69\x6d\x65\x72\x66\x6e\x28\x76\ +\x6f\x69\x64\x20\x2a\x6d\x61\x70\x2c\x20\x69\x6e\x74\x20\x2a\x6b\x65\x79\x2c\ +\x20\x73\x74\x72\x75\x63\x74\x20\x62\x70\x66\x5f\x74\x69\x6d\x65\x72\x20\x2a\ +\x74\x69\x6d\x65\x72\x29\0\x09\x73\x74\x61\x74\x73\x5f\x72\x65\x73\x65\x72\x76\ +\x65\x64\x5f\x6d\x61\x73\x6b\x20\x3d\x20\x30\x3b\0\x09\x73\x74\x61\x74\x73\x5f\ +\x70\x72\x69\x6d\x61\x72\x79\x5f\x6d\x61\x73\x6b\x20\x3d\x20\x30\x3b\0\x09\x73\ +\x74\x61\x74\x73\x5f\x6f\x74\x68\x65\x72\x5f\x6d\x61\x73\x6b\x20\x3d\x20\x30\ +\x3b\0\x09\x73\x74\x61\x74\x73\x5f\x69\x64\x6c\x65\x5f\x6d\x61\x73\x6b\x20\x3d\ +\x20\x30\x3b\0\x09\x62\x70\x66\x5f\x72\x63\x75\x5f\x72\x65\x61\x64\x5f\x6c\x6f\ +\x63\x6b\x28\x29\x3b\0\x09\x70\x72\x69\x6d\x61\x72\x79\x20\x3d\x20\x70\x72\x69\ +\x6d\x61\x72\x79\x5f\x63\x70\x75\x6d\x61\x73\x6b\x3b\0\x09\x09\x73\x63\x78\x5f\ +\x62\x70\x66\x5f\x65\x72\x72\x6f\x72\x28\x22\x46\x61\x69\x6c\x65\x64\x20\x74\ +\x6f\x20\x6c\x6f\x6f\x6b\x75\x70\x20\x70\x72\x69\x6d\x61\x72\x79\x20\x6f\x72\ +\x20\x72\x65\x73\x65\x72\x76\x65\x22\x29\x3b\0\x09\x69\x64\x6c\x65\x20\x3d\x20\ +\x73\x63\x78\x5f\x62\x70\x66\x5f\x67\x65\x74\x5f\x69\x64\x6c\x65\x5f\x63\x70\ +\x75\x6d\x61\x73\x6b\x28\x29\x3b\0\x09\x62\x70\x66\x5f\x66\x6f\x72\x28\x63\x70\ +\x75\x2c\x20\x30\x2c\x20\x6e\x72\x5f\x63\x70\x75\x73\x29\x20\x7b\0\x09\x62\x70\ +\x66\x5f\x72\x63\x75\x5f\x72\x65\x61\x64\x5f\x75\x6e\x6c\x6f\x63\x6b\x28\x29\ +\x3b\0\x09\x73\x63\x78\x5f\x62\x70\x66\x5f\x70\x75\x74\x5f\x69\x64\x6c\x65\x5f\ +\x63\x70\x75\x6d\x61\x73\x6b\x28\x69\x64\x6c\x65\x29\x3b\0\x09\x65\x72\x72\x20\ +\x3d\x20\x62\x70\x66\x5f\x74\x69\x6d\x65\x72\x5f\x73\x74\x61\x72\x74\x28\x74\ +\x69\x6d\x65\x72\x2c\x20\x73\x61\x6d\x70\x6c\x69\x6e\x67\x5f\x63\x61\x64\x65\ +\x6e\x63\x65\x5f\x6e\x73\x20\x2d\x20\x35\x30\x30\x30\x2c\x20\x30\x29\x3b\0\x09\ +\x69\x66\x20\x28\x65\x72\x72\x29\0\x09\x09\x69\x66\x20\x28\x62\x70\x66\x5f\x63\ +\x70\x75\x6d\x61\x73\x6b\x5f\x74\x65\x73\x74\x5f\x63\x70\x75\x28\x63\x70\x75\ +\x2c\x20\x63\x61\x73\x74\x5f\x6d\x61\x73\x6b\x28\x70\x72\x69\x6d\x61\x72\x79\ +\x29\x29\x29\0\x09\x09\x65\x6c\x73\x65\x20\x69\x66\x20\x28\x62\x70\x66\x5f\x63\ +\x70\x75\x6d\x61\x73\x6b\x5f\x74\x65\x73\x74\x5f\x63\x70\x75\x28\x63\x70\x75\ +\x2c\x20\x63\x61\x73\x74\x5f\x6d\x61\x73\x6b\x28\x72\x65\x73\x65\x72\x76\x65\ +\x29\x29\x29\0\x09\x09\x69\x66\x20\x28\x62\x70\x66\x5f\x63\x70\x75\x6d\x61\x73\ +\x6b\x5f\x74\x65\x73\x74\x5f\x63\x70\x75\x28\x63\x70\x75\x2c\x20\x69\x64\x6c\ +\x65\x29\x29\0\x09\x09\x09\x73\x74\x61\x74\x73\x5f\x69\x64\x6c\x65\x5f\x6d\x61\ +\x73\x6b\x20\x7c\x3d\x20\x28\x31\x55\x4c\x4c\x20\x3c\x3c\x20\x63\x70\x75\x29\ +\x3b\0\x09\x09\x73\x63\x78\x5f\x62\x70\x66\x5f\x65\x72\x72\x6f\x72\x28\x22\x46\ +\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x61\x72\x6d\x20\x73\x74\x61\x74\x73\x20\ +\x74\x69\x6d\x65\x72\x22\x29\x3b\0\x73\x33\x32\x20\x42\x50\x46\x5f\x53\x54\x52\ +\x55\x43\x54\x5f\x4f\x50\x53\x28\x6e\x65\x73\x74\x5f\x73\x65\x6c\x65\x63\x74\ +\x5f\x63\x70\x75\x2c\x20\x73\x74\x72\x75\x63\x74\x20\x74\x61\x73\x6b\x5f\x73\ +\x74\x72\x75\x63\x74\x20\x2a\x70\x2c\x20\x73\x33\x32\x20\x70\x72\x65\x76\x5f\ +\x63\x70\x75\x2c\0\x09\x74\x63\x74\x78\x20\x3d\x20\x62\x70\x66\x5f\x74\x61\x73\ +\x6b\x5f\x73\x74\x6f\x72\x61\x67\x65\x5f\x67\x65\x74\x28\x26\x74\x61\x73\x6b\ +\x5f\x63\x74\x78\x5f\x73\x74\x6f\x72\x2c\x20\x70\x2c\x20\x30\x2c\x20\x30\x29\ +\x3b\0\x09\x69\x66\x20\x28\x21\x74\x63\x74\x78\x29\0\x09\x70\x5f\x6d\x61\x73\ +\x6b\x20\x3d\x20\x74\x63\x74\x78\x2d\x3e\x74\x6d\x70\x5f\x6d\x61\x73\x6b\x3b\0\ +\x09\x69\x66\x20\x28\x21\x70\x5f\x6d\x61\x73\x6b\x20\x7c\x7c\x20\x21\x70\x72\ +\x69\x6d\x61\x72\x79\x20\x7c\x7c\x20\x21\x72\x65\x73\x65\x72\x76\x65\x29\x20\ +\x7b\0\x09\x09\x72\x65\x74\x75\x72\x6e\x20\x63\x70\x75\x3b\0\x09\x74\x63\x74\ +\x78\x2d\x3e\x70\x72\x65\x76\x5f\x63\x70\x75\x20\x3d\x20\x70\x72\x65\x76\x5f\ +\x63\x70\x75\x3b\0\x09\x62\x70\x66\x5f\x63\x70\x75\x6d\x61\x73\x6b\x5f\x61\x6e\ +\x64\x28\x70\x5f\x6d\x61\x73\x6b\x2c\x20\x70\x2d\x3e\x63\x70\x75\x73\x5f\x70\ +\x74\x72\x2c\x20\x63\x61\x73\x74\x5f\x6d\x61\x73\x6b\x28\x70\x72\x69\x6d\x61\ +\x72\x79\x29\x29\x3b\0\x09\x69\x66\x20\x28\x62\x70\x66\x5f\x63\x70\x75\x6d\x61\ +\x73\x6b\x5f\x74\x65\x73\x74\x5f\x63\x70\x75\x28\x74\x63\x74\x78\x2d\x3e\x61\ +\x74\x74\x61\x63\x68\x65\x64\x5f\x63\x6f\x72\x65\x2c\x20\x63\x61\x73\x74\x5f\ +\x6d\x61\x73\x6b\x28\x70\x5f\x6d\x61\x73\x6b\x29\x29\x20\x26\x26\0\x09\x20\x20\ +\x20\x20\x73\x63\x78\x5f\x62\x70\x66\x5f\x74\x65\x73\x74\x5f\x61\x6e\x64\x5f\ +\x63\x6c\x65\x61\x72\x5f\x63\x70\x75\x5f\x69\x64\x6c\x65\x28\x74\x63\x74\x78\ +\x2d\x3e\x61\x74\x74\x61\x63\x68\x65\x64\x5f\x63\x6f\x72\x65\x29\x29\x20\x7b\0\ +\x09\x09\x63\x70\x75\x20\x3d\x20\x74\x63\x74\x78\x2d\x3e\x61\x74\x74\x61\x63\ +\x68\x65\x64\x5f\x63\x6f\x72\x65\x3b\0\x09\x69\x66\x20\x28\x70\x72\x65\x76\x5f\ +\x63\x70\x75\x20\x21\x3d\x20\x74\x63\x74\x78\x2d\x3e\x61\x74\x74\x61\x63\x68\ +\x65\x64\x5f\x63\x6f\x72\x65\x20\x26\x26\0\x09\x20\x20\x20\x20\x62\x70\x66\x5f\ +\x63\x70\x75\x6d\x61\x73\x6b\x5f\x74\x65\x73\x74\x5f\x63\x70\x75\x28\x70\x72\ +\x65\x76\x5f\x63\x70\x75\x2c\x20\x63\x61\x73\x74\x5f\x6d\x61\x73\x6b\x28\x70\ +\x5f\x6d\x61\x73\x6b\x29\x29\x20\x26\x26\0\x09\x20\x20\x20\x20\x73\x63\x78\x5f\ +\x62\x70\x66\x5f\x74\x65\x73\x74\x5f\x61\x6e\x64\x5f\x63\x6c\x65\x61\x72\x5f\ +\x63\x70\x75\x5f\x69\x64\x6c\x65\x28\x70\x72\x65\x76\x5f\x63\x70\x75\x29\x29\ +\x20\x7b\0\x09\x09\x63\x70\x75\x20\x3d\x20\x70\x72\x65\x76\x5f\x63\x70\x75\x3b\ +\0\x09\x09\x74\x63\x74\x78\x2d\x3e\x70\x72\x65\x76\x5f\x6d\x69\x73\x73\x65\x73\ +\x20\x3d\x20\x30\x3b\0\x09\x70\x63\x70\x75\x5f\x63\x74\x78\x20\x3d\x20\x62\x70\ +\x66\x5f\x6d\x61\x70\x5f\x6c\x6f\x6f\x6b\x75\x70\x5f\x65\x6c\x65\x6d\x28\x26\ +\x70\x63\x70\x75\x5f\x63\x74\x78\x73\x2c\x20\x26\x63\x70\x75\x29\x3b\0\x09\x69\ +\x66\x20\x28\x70\x63\x70\x75\x5f\x63\x74\x78\x29\x20\x7b\0\x09\x09\x69\x66\x20\ +\x28\x70\x63\x70\x75\x5f\x63\x74\x78\x2d\x3e\x73\x63\x68\x65\x64\x75\x6c\x65\ +\x64\x5f\x63\x6f\x6d\x70\x61\x63\x74\x69\x6f\x6e\x29\x20\x7b\0\x09\x09\x09\x69\ +\x66\x20\x28\x62\x70\x66\x5f\x74\x69\x6d\x65\x72\x5f\x63\x61\x6e\x63\x65\x6c\ +\x28\x26\x70\x63\x70\x75\x5f\x63\x74\x78\x2d\x3e\x74\x69\x6d\x65\x72\x29\x20\ +\x3c\x20\x30\x29\0\x09\x09\x09\x09\x73\x63\x78\x5f\x62\x70\x66\x5f\x65\x72\x72\ +\x6f\x72\x28\x22\x46\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x63\x61\x6e\x63\x65\ +\x6c\x20\x70\x63\x70\x75\x20\x74\x69\x6d\x65\x72\x22\x29\x3b\0\x09\x09\x09\x69\ +\x66\x20\x28\x62\x70\x66\x5f\x74\x69\x6d\x65\x72\x5f\x73\x65\x74\x5f\x63\x61\ +\x6c\x6c\x62\x61\x63\x6b\x28\x26\x70\x63\x70\x75\x5f\x63\x74\x78\x2d\x3e\x74\ +\x69\x6d\x65\x72\x2c\x20\x63\x6f\x6d\x70\x61\x63\x74\x5f\x70\x72\x69\x6d\x61\ +\x72\x79\x5f\x63\x6f\x72\x65\x29\x29\0\x09\x09\x09\x09\x73\x63\x78\x5f\x62\x70\ +\x66\x5f\x65\x72\x72\x6f\x72\x28\x22\x46\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\ +\x72\x65\x2d\x61\x72\x6d\x20\x70\x63\x70\x75\x20\x74\x69\x6d\x65\x72\x22\x29\ +\x3b\0\x09\x09\x09\x70\x63\x70\x75\x5f\x63\x74\x78\x2d\x3e\x73\x63\x68\x65\x64\ +\x75\x6c\x65\x64\x5f\x63\x6f\x6d\x70\x61\x63\x74\x69\x6f\x6e\x20\x3d\x20\x66\ +\x61\x6c\x73\x65\x3b\0\x09\x69\x66\x20\x28\x66\x69\x6e\x64\x5f\x66\x75\x6c\x6c\ +\x79\x5f\x69\x64\x6c\x65\x29\x20\x7b\0\x09\x09\x63\x70\x75\x20\x3d\x20\x73\x63\ +\x78\x5f\x62\x70\x66\x5f\x70\x69\x63\x6b\x5f\x69\x64\x6c\x65\x5f\x63\x70\x75\ +\x28\x63\x61\x73\x74\x5f\x6d\x61\x73\x6b\x28\x70\x5f\x6d\x61\x73\x6b\x29\x2c\0\ +\x09\x09\x69\x66\x20\x28\x63\x70\x75\x20\x3e\x3d\x20\x30\x29\x20\x7b\0\x09\x63\ +\x70\x75\x20\x3d\x20\x73\x63\x78\x5f\x62\x70\x66\x5f\x70\x69\x63\x6b\x5f\x69\ +\x64\x6c\x65\x5f\x63\x70\x75\x28\x63\x61\x73\x74\x5f\x6d\x61\x73\x6b\x28\x70\ +\x5f\x6d\x61\x73\x6b\x29\x2c\x20\x30\x29\x3b\0\x09\x69\x66\x20\x28\x63\x70\x75\ +\x20\x3e\x3d\x20\x30\x29\x20\x7b\0\x09\x09\x73\x63\x78\x5f\x62\x70\x66\x5f\x65\ +\x72\x72\x6f\x72\x28\x22\x46\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x6c\x6f\x6f\ +\x6b\x75\x70\x20\x70\x63\x70\x75\x20\x63\x74\x78\x22\x29\x3b\0\x09\x62\x70\x66\ +\x5f\x63\x70\x75\x6d\x61\x73\x6b\x5f\x73\x65\x74\x5f\x63\x70\x75\x28\x63\x70\ +\x75\x2c\x20\x70\x72\x69\x6d\x61\x72\x79\x29\x3b\0\x09\x69\x66\x20\x28\x62\x70\ +\x66\x5f\x63\x70\x75\x6d\x61\x73\x6b\x5f\x74\x65\x73\x74\x5f\x63\x70\x75\x28\ +\x63\x70\x75\x2c\x20\x63\x61\x73\x74\x5f\x6d\x61\x73\x6b\x28\x72\x65\x73\x65\ +\x72\x76\x65\x29\x29\x29\x20\x7b\0\x09\x09\x5f\x5f\x73\x79\x6e\x63\x5f\x73\x75\ +\x62\x5f\x61\x6e\x64\x5f\x66\x65\x74\x63\x68\x28\x26\x6e\x72\x5f\x72\x65\x73\ +\x65\x72\x76\x65\x64\x2c\x20\x31\x29\x3b\0\x09\x09\x62\x70\x66\x5f\x63\x70\x75\ +\x6d\x61\x73\x6b\x5f\x63\x6c\x65\x61\x72\x5f\x63\x70\x75\x28\x63\x70\x75\x2c\ +\x20\x72\x65\x73\x65\x72\x76\x65\x29\x3b\0\x09\x69\x66\x20\x28\x74\x63\x74\x78\ +\x2d\x3e\x70\x72\x65\x76\x5f\x63\x70\x75\x20\x3d\x3d\x20\x6e\x65\x77\x5f\x63\ +\x70\x75\x29\0\x09\x75\x70\x64\x61\x74\x65\x5f\x61\x74\x74\x61\x63\x68\x65\x64\ +\x28\x74\x63\x74\x78\x2c\x20\x70\x72\x65\x76\x5f\x63\x70\x75\x2c\x20\x63\x70\ +\x75\x29\x3b\0\x09\x09\x74\x63\x74\x78\x2d\x3e\x61\x74\x74\x61\x63\x68\x65\x64\ +\x5f\x63\x6f\x72\x65\x20\x3d\x20\x6e\x65\x77\x5f\x63\x70\x75\x3b\x2f\x2f\x20\ +\xe5\xa6\x82\xe6\x9e\x9c\xe4\xbb\xbb\xe5\x8a\xa1\xe7\x9a\x84\xe4\xb8\x8a\xe4\ +\xb8\x80\xe6\xac\xa1\xe6\xa0\xb8\xe5\xbf\x83\xe4\xb8\x8e\xe5\xbd\x93\xe5\x89\ +\x8d\xe6\xa0\xb8\xe5\xbf\x83\xe7\x9b\xb8\xe5\x90\x8c\xef\xbc\x8c\xe5\x88\x99\ +\xe9\x99\x84\xe5\x8a\xa0\xe5\x88\xb0\xe5\xbd\x93\xe5\x89\x8d\xe6\xa0\xb8\xe5\ +\xbf\x83\0\x09\x74\x63\x74\x78\x2d\x3e\x70\x72\x65\x76\x5f\x63\x70\x75\x20\x3d\ +\x20\x70\x72\x65\x76\x5f\x63\x70\x75\x3b\x2f\x2f\x20\xe6\x9b\xb4\xe6\x96\xb0\ +\xe4\xbb\xbb\xe5\x8a\xa1\xe7\x9a\x84\xe4\xb8\x8a\xe4\xb8\x80\xe6\xac\xa1\xe6\ +\xa0\xb8\xe5\xbf\x83\xe8\xae\xb0\xe5\xbd\x95\0\x09\x69\x6e\x74\x20\x72\x65\x74\ +\x20\x3d\x20\x6f\x70\x65\x72\x61\x74\x65\x5f\x62\x61\x64\x5f\x67\x75\x79\x73\ +\x28\x70\x2c\x30\x29\x3b\0\x09\x69\x66\x28\x72\x65\x74\x20\x3d\x3d\x20\x31\x29\ +\0\x09\x09\x73\x63\x78\x5f\x62\x70\x66\x5f\x64\x69\x73\x70\x61\x74\x63\x68\x28\ +\x70\x2c\x20\x53\x43\x58\x5f\x44\x53\x51\x5f\x4c\x4f\x43\x41\x4c\x5f\x4f\x4e\ +\x20\x7c\x20\x63\x70\x75\x20\x20\x2c\x20\x73\x6c\x69\x63\x65\x5f\x6e\x73\x2c\ +\x20\x30\x29\x3b\0\x09\x72\x65\x74\x75\x72\x6e\x20\x63\x70\x75\x3b\0\x09\x69\ +\x66\x20\x28\x72\x5f\x69\x6d\x70\x61\x74\x69\x65\x6e\x74\x20\x3e\x20\x30\x20\ +\x26\x26\x20\x2b\x2b\x74\x63\x74\x78\x2d\x3e\x70\x72\x65\x76\x5f\x6d\x69\x73\ +\x73\x65\x73\x20\x3e\x3d\x20\x72\x5f\x69\x6d\x70\x61\x74\x69\x65\x6e\x74\x29\ +\x20\x7b\0\x09\x62\x70\x66\x5f\x63\x70\x75\x6d\x61\x73\x6b\x5f\x61\x6e\x64\x28\ +\x70\x5f\x6d\x61\x73\x6b\x2c\x20\x70\x2d\x3e\x63\x70\x75\x73\x5f\x70\x74\x72\ +\x2c\x20\x63\x61\x73\x74\x5f\x6d\x61\x73\x6b\x28\x72\x65\x73\x65\x72\x76\x65\ +\x29\x29\x3b\0\x09\x63\x70\x75\x20\x3d\x20\x73\x63\x78\x5f\x62\x70\x66\x5f\x70\ +\x69\x63\x6b\x5f\x69\x64\x6c\x65\x5f\x63\x70\x75\x28\x70\x2d\x3e\x63\x70\x75\ +\x73\x5f\x70\x74\x72\x2c\x20\x30\x29\x3b\x2f\x2f\x20\xe4\xbb\x8e\xe4\xbb\xbb\ +\xe5\x8a\xa1\xe5\x85\x81\xe8\xae\xb8\xe7\x9a\x84\x20\x43\x50\x55\x20\xe9\x9b\ +\x86\xe5\x90\x88\xe4\xb8\xad\xe9\x80\x89\xe6\x8b\xa9\xe4\xbb\xbb\xe6\x84\x8f\ +\xe7\xa9\xba\xe9\x97\xb2\xe6\xa0\xb8\xe5\xbf\x83\0\x09\x09\x69\x66\x20\x28\x62\ +\x70\x66\x5f\x63\x70\x75\x6d\x61\x73\x6b\x5f\x74\x65\x73\x74\x5f\x63\x70\x75\ +\x28\x63\x70\x75\x2c\x20\x63\x61\x73\x74\x5f\x6d\x61\x73\x6b\x28\x70\x72\x69\ +\x6d\x61\x72\x79\x29\x29\x29\x2f\x2f\x20\xe5\xa6\x82\xe6\x9e\x9c\xe6\xa0\xb8\ +\xe5\xbf\x83\xe5\xb1\x9e\xe4\xba\x8e\x20\x50\x72\x69\x6d\x61\x72\x79\x20\x4e\ +\x65\x73\x74\xef\xbc\x8c\xe7\x9b\xb4\xe6\x8e\xa5\xe8\xbf\x81\xe7\xa7\xbb\0\x09\ +\x09\x65\x6c\x73\x65\x20\x69\x66\x20\x28\x62\x70\x66\x5f\x63\x70\x75\x6d\x61\ +\x73\x6b\x5f\x74\x65\x73\x74\x5f\x63\x70\x75\x28\x63\x70\x75\x2c\x20\x63\x61\ +\x73\x74\x5f\x6d\x61\x73\x6b\x28\x72\x65\x73\x65\x72\x76\x65\x29\x29\x29\x2f\ +\x2f\x20\xe5\xa6\x82\xe6\x9e\x9c\xe6\xa0\xb8\xe5\xbf\x83\xe5\xb1\x9e\xe4\xba\ +\x8e\x20\x52\x65\x73\x65\x72\x76\x65\x20\x4e\x65\x73\x74\xef\xbc\x8c\xe6\x8f\ +\x90\xe5\x8d\x87\xe5\x88\xb0\x20\x50\x72\x69\x6d\x61\x72\x79\x20\x4e\x65\x73\ +\x74\0\x09\x72\x65\x74\x75\x72\x6e\x20\x70\x72\x65\x76\x5f\x63\x70\x75\x3b\0\ +\x09\x73\x74\x72\x75\x63\x74\x20\x63\x70\x75\x5f\x6d\x61\x73\x6b\x5f\x64\x61\ +\x74\x61\x20\x2a\x62\x75\x66\x66\x20\x3d\x20\x62\x70\x66\x5f\x72\x69\x6e\x67\ +\x62\x75\x66\x5f\x72\x65\x73\x65\x72\x76\x65\x28\x26\x63\x70\x75\x5f\x6d\x61\ +\x73\x6b\x5f\x62\x75\x66\x66\x65\x72\x2c\x73\x69\x7a\x65\x6f\x66\x28\x73\x74\ +\x72\x75\x63\x74\x20\x63\x70\x75\x5f\x6d\x61\x73\x6b\x5f\x64\x61\x74\x61\x29\ +\x2c\x30\x29\x3b\0\x09\x69\x66\x28\x21\x62\x75\x66\x66\x29\x7b\0\x09\x09\x62\ +\x70\x66\x5f\x70\x72\x69\x6e\x74\x6b\x28\x22\x63\x70\x75\x20\x6d\x61\x73\x6b\ +\x20\x72\x69\x6e\x67\x62\x75\x66\x20\x72\x65\x73\x65\x72\x76\x65\x20\x66\x61\ +\x69\x6c\x65\x64\x5c\x6e\x22\x29\x3b\0\x09\x62\x75\x66\x66\x2d\x3e\x73\x74\x61\ +\x74\x73\x5f\x70\x72\x69\x6d\x61\x72\x79\x5f\x6d\x61\x73\x6b\x20\x3d\x20\x73\ +\x74\x61\x74\x73\x5f\x70\x72\x69\x6d\x61\x72\x79\x5f\x6d\x61\x73\x6b\x3b\0\x09\ +\x62\x75\x66\x66\x2d\x3e\x73\x74\x61\x74\x73\x5f\x72\x65\x73\x65\x72\x76\x65\ +\x64\x5f\x6d\x61\x73\x6b\x20\x3d\x20\x73\x74\x61\x74\x73\x5f\x72\x65\x73\x65\ +\x72\x76\x65\x64\x5f\x6d\x61\x73\x6b\x3b\0\x09\x62\x75\x66\x66\x2d\x3e\x73\x74\ +\x61\x74\x73\x5f\x6f\x74\x68\x65\x72\x5f\x6d\x61\x73\x6b\x20\x3d\x20\x73\x74\ +\x61\x74\x73\x5f\x6f\x74\x68\x65\x72\x5f\x6d\x61\x73\x6b\x3b\0\x09\x62\x75\x66\ +\x66\x2d\x3e\x73\x74\x61\x74\x73\x5f\x69\x64\x6c\x65\x5f\x6d\x61\x73\x6b\x20\ +\x3d\x20\x73\x74\x61\x74\x73\x5f\x69\x64\x6c\x65\x5f\x6d\x61\x73\x6b\x3b\0\x09\ +\x62\x70\x66\x5f\x72\x69\x6e\x67\x62\x75\x66\x5f\x73\x75\x62\x6d\x69\x74\x28\ +\x62\x75\x66\x66\x2c\x30\x29\x3b\0\x76\x6f\x69\x64\x20\x42\x50\x46\x5f\x53\x54\ +\x52\x55\x43\x54\x5f\x4f\x50\x53\x28\x6e\x65\x73\x74\x5f\x65\x6e\x71\x75\x65\ +\x75\x65\x2c\x20\x73\x74\x72\x75\x63\x74\x20\x74\x61\x73\x6b\x5f\x73\x74\x72\ +\x75\x63\x74\x20\x2a\x70\x2c\x20\x75\x36\x34\x20\x65\x6e\x71\x5f\x66\x6c\x61\ +\x67\x73\x29\0\x09\x75\x36\x34\x20\x76\x74\x69\x6d\x65\x20\x3d\x20\x70\x2d\x3e\ +\x73\x63\x78\x2e\x64\x73\x71\x5f\x76\x74\x69\x6d\x65\x3b\x2f\x2f\x20\xe8\x8e\ +\xb7\xe5\x8f\x96\xe4\xbb\xbb\xe5\x8a\xa1\xe7\x9a\x84\xe8\x99\x9a\xe6\x8b\x9f\ +\xe6\x97\xb6\xe9\x97\xb4\0\x09\x69\x66\x20\x28\x21\x74\x63\x74\x78\x29\x20\x7b\ +\0\x09\x09\x73\x63\x78\x5f\x62\x70\x66\x5f\x65\x72\x72\x6f\x72\x28\x22\x55\x6e\ +\x61\x62\x6c\x65\x20\x74\x6f\x20\x66\x69\x6e\x64\x20\x74\x61\x73\x6b\x20\x63\ +\x74\x78\x22\x29\x3b\0\x09\x09\x72\x65\x74\x75\x72\x6e\x3b\0\x09\x69\x66\x20\ +\x28\x76\x74\x69\x6d\x65\x5f\x62\x65\x66\x6f\x72\x65\x28\x76\x74\x69\x6d\x65\ +\x2c\x20\x76\x74\x69\x6d\x65\x5f\x6e\x6f\x77\x20\x2d\x20\x73\x6c\x69\x63\x65\ +\x5f\x6e\x73\x29\x29\0\x09\x09\x76\x74\x69\x6d\x65\x20\x3d\x20\x76\x74\x69\x6d\ +\x65\x5f\x6e\x6f\x77\x20\x2d\x20\x73\x6c\x69\x63\x65\x5f\x6e\x73\x3b\0\x09\x69\ +\x6e\x74\x20\x72\x65\x74\x20\x3d\x20\x6f\x70\x65\x72\x61\x74\x65\x5f\x62\x61\ +\x64\x5f\x67\x75\x79\x73\x28\x70\x2c\x65\x6e\x71\x5f\x66\x6c\x61\x67\x73\x29\ +\x3b\0\x09\x09\x73\x63\x78\x5f\x62\x70\x66\x5f\x64\x69\x73\x70\x61\x74\x63\x68\ +\x5f\x76\x74\x69\x6d\x65\x28\x70\x2c\x20\x46\x41\x4c\x4c\x42\x41\x43\x4b\x5f\ +\x44\x53\x51\x5f\x49\x44\x2c\x20\x73\x6c\x69\x63\x65\x5f\x6e\x73\x2c\x20\x76\ +\x74\x69\x6d\x65\x2c\0\x09\x72\x65\x73\x65\x72\x76\x65\x20\x3d\x20\x72\x65\x73\ +\x65\x72\x76\x65\x5f\x63\x70\x75\x6d\x61\x73\x6b\x3b\0\x76\x6f\x69\x64\x20\x42\ +\x50\x46\x5f\x53\x54\x52\x55\x43\x54\x5f\x4f\x50\x53\x28\x6e\x65\x73\x74\x5f\ +\x64\x69\x73\x70\x61\x74\x63\x68\x2c\x20\x73\x33\x32\x20\x63\x70\x75\x2c\x20\ +\x73\x74\x72\x75\x63\x74\x20\x74\x61\x73\x6b\x5f\x73\x74\x72\x75\x63\x74\x20\ +\x2a\x70\x72\x65\x76\x29\0\x09\x73\x33\x32\x20\x6b\x65\x79\x20\x3d\x20\x63\x70\ +\x75\x3b\0\x09\x09\x73\x63\x78\x5f\x62\x70\x66\x5f\x65\x72\x72\x6f\x72\x28\x22\ +\x4e\x6f\x20\x70\x72\x69\x6d\x61\x72\x79\x20\x6f\x72\x20\x72\x65\x73\x65\x72\ +\x76\x65\x20\x63\x70\x75\x6d\x61\x73\x6b\x22\x29\x3b\0\x09\x70\x63\x70\x75\x5f\ +\x63\x74\x78\x20\x3d\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x6c\x6f\x6f\x6b\x75\ +\x70\x5f\x65\x6c\x65\x6d\x28\x26\x70\x63\x70\x75\x5f\x63\x74\x78\x73\x2c\x20\ +\x26\x6b\x65\x79\x29\x3b\0\x09\x69\x66\x20\x28\x21\x73\x63\x78\x5f\x62\x70\x66\ +\x5f\x63\x6f\x6e\x73\x75\x6d\x65\x28\x46\x41\x4c\x4c\x42\x41\x43\x4b\x5f\x44\ +\x53\x51\x5f\x49\x44\x29\x29\x20\x7b\0\x09\x09\x69\x6e\x5f\x70\x72\x69\x6d\x61\ +\x72\x79\x20\x3d\x20\x62\x70\x66\x5f\x63\x70\x75\x6d\x61\x73\x6b\x5f\x74\x65\ +\x73\x74\x5f\x63\x70\x75\x28\x63\x70\x75\x2c\x20\x63\x61\x73\x74\x5f\x6d\x61\ +\x73\x6b\x28\x70\x72\x69\x6d\x61\x72\x79\x29\x29\x3b\0\x09\x09\x69\x66\x20\x28\ +\x70\x72\x65\x76\x20\x26\x26\x20\x28\x70\x72\x65\x76\x2d\x3e\x73\x63\x78\x2e\ +\x66\x6c\x61\x67\x73\x20\x26\x20\x53\x43\x58\x5f\x54\x41\x53\x4b\x5f\x51\x55\ +\x45\x55\x45\x44\x29\x20\x26\x26\x20\x69\x6e\x5f\x70\x72\x69\x6d\x61\x72\x79\ +\x29\x20\x7b\0\x09\x09\x09\x73\x63\x78\x5f\x62\x70\x66\x5f\x64\x69\x73\x70\x61\ +\x74\x63\x68\x28\x70\x72\x65\x76\x2c\x20\x53\x43\x58\x5f\x44\x53\x51\x5f\x4c\ +\x4f\x43\x41\x4c\x2c\x20\x73\x6c\x69\x63\x65\x5f\x6e\x73\x2c\x20\x30\x29\x3b\0\ +\x09\x09\x09\x72\x65\x74\x75\x72\x6e\x3b\0\x09\x09\x69\x66\x20\x28\x69\x6e\x5f\ +\x70\x72\x69\x6d\x61\x72\x79\x29\x20\x7b\x20\x2f\x2f\x20\xe5\xa6\x82\xe6\x9e\ +\x9c\xe6\xa0\xb8\xe5\xbf\x83\xe5\x9c\xa8\x20\x50\x72\x69\x6d\x61\x72\x79\x20\ +\x4e\x65\x73\x74\0\x09\x09\x09\x69\x66\x20\x28\x28\x70\x72\x65\x76\x20\x26\x26\ +\x20\x70\x72\x65\x76\x2d\x3e\x5f\x5f\x73\x74\x61\x74\x65\x20\x3d\x3d\x20\x54\ +\x41\x53\x4b\x5f\x44\x45\x41\x44\x29\x20\x26\x26\0\x09\x09\x09\x20\x20\x20\x20\ +\x28\x63\x70\x75\x20\x21\x3d\x20\x62\x70\x66\x5f\x63\x70\x75\x6d\x61\x73\x6b\ +\x5f\x66\x69\x72\x73\x74\x28\x63\x61\x73\x74\x5f\x6d\x61\x73\x6b\x28\x70\x72\ +\x69\x6d\x61\x72\x79\x29\x29\x29\x29\x20\x7b\0\x09\x09\x09\x09\x62\x70\x66\x5f\ +\x63\x70\x75\x6d\x61\x73\x6b\x5f\x63\x6c\x65\x61\x72\x5f\x63\x70\x75\x28\x63\ +\x70\x75\x2c\x20\x70\x72\x69\x6d\x61\x72\x79\x29\x3b\x2f\x2f\x20\xe4\xbb\x8e\ +\x20\x50\x72\x69\x6d\x61\x72\x79\x20\x4e\x65\x73\x74\x20\xe4\xb8\xad\xe7\xa7\ +\xbb\xe9\x99\xa4\xe6\xa0\xb8\xe5\xbf\x83\0\x09\x09\x09\x09\x70\x63\x70\x75\x5f\ +\x63\x74\x78\x2d\x3e\x73\x63\x68\x65\x64\x75\x6c\x65\x64\x5f\x63\x6f\x6d\x70\ +\x61\x63\x74\x69\x6f\x6e\x20\x3d\x20\x74\x72\x75\x65\x3b\x2f\x2f\x20\xe6\xa0\ +\x87\xe8\xae\xb0\xe6\xa0\xb8\xe5\xbf\x83\xe9\x9c\x80\xe8\xa6\x81\xe5\x8e\x8b\ +\xe7\xbc\xa9\0\x09\x09\x09\x09\x62\x70\x66\x5f\x74\x69\x6d\x65\x72\x5f\x73\x74\ +\x61\x72\x74\x28\x26\x70\x63\x70\x75\x5f\x63\x74\x78\x2d\x3e\x74\x69\x6d\x65\ +\x72\x2c\x20\x70\x5f\x72\x65\x6d\x6f\x76\x65\x5f\x6e\x73\x2c\0\x76\x6f\x69\x64\ +\x20\x42\x50\x46\x5f\x53\x54\x52\x55\x43\x54\x5f\x4f\x50\x53\x28\x6e\x65\x73\ +\x74\x5f\x72\x75\x6e\x6e\x69\x6e\x67\x2c\x20\x73\x74\x72\x75\x63\x74\x20\x74\ +\x61\x73\x6b\x5f\x73\x74\x72\x75\x63\x74\x20\x2a\x70\x29\0\x09\x69\x66\x20\x28\ +\x76\x74\x69\x6d\x65\x5f\x62\x65\x66\x6f\x72\x65\x28\x76\x74\x69\x6d\x65\x5f\ +\x6e\x6f\x77\x2c\x20\x70\x2d\x3e\x73\x63\x78\x2e\x64\x73\x71\x5f\x76\x74\x69\ +\x6d\x65\x29\x29\0\x09\x09\x76\x74\x69\x6d\x65\x5f\x6e\x6f\x77\x20\x3d\x20\x70\ +\x2d\x3e\x73\x63\x78\x2e\x64\x73\x71\x5f\x76\x74\x69\x6d\x65\x3b\0\x76\x6f\x69\ +\x64\x20\x42\x50\x46\x5f\x53\x54\x52\x55\x43\x54\x5f\x4f\x50\x53\x28\x6e\x65\ +\x73\x74\x5f\x73\x74\x6f\x70\x70\x69\x6e\x67\x2c\x20\x73\x74\x72\x75\x63\x74\ +\x20\x74\x61\x73\x6b\x5f\x73\x74\x72\x75\x63\x74\x20\x2a\x70\x2c\x20\x62\x6f\ +\x6f\x6c\x20\x72\x75\x6e\x6e\x61\x62\x6c\x65\x29\0\x09\x70\x2d\x3e\x73\x63\x78\ +\x2e\x64\x73\x71\x5f\x76\x74\x69\x6d\x65\x20\x2b\x3d\x20\x28\x73\x6c\x69\x63\ +\x65\x5f\x6e\x73\x20\x2d\x20\x70\x2d\x3e\x73\x63\x78\x2e\x73\x6c\x69\x63\x65\ +\x29\x20\x2a\x20\x31\x30\x30\x20\x2f\x20\x70\x2d\x3e\x73\x63\x78\x2e\x77\x65\ +\x69\x67\x68\x74\x3b\0\x73\x33\x32\x20\x42\x50\x46\x5f\x53\x54\x52\x55\x43\x54\ +\x5f\x4f\x50\x53\x28\x6e\x65\x73\x74\x5f\x69\x6e\x69\x74\x5f\x74\x61\x73\x6b\ +\x2c\x20\x73\x74\x72\x75\x63\x74\x20\x74\x61\x73\x6b\x5f\x73\x74\x72\x75\x63\ +\x74\x20\x2a\x70\x2c\0\x09\x74\x63\x74\x78\x20\x3d\x20\x62\x70\x66\x5f\x74\x61\ +\x73\x6b\x5f\x73\x74\x6f\x72\x61\x67\x65\x5f\x67\x65\x74\x28\x26\x74\x61\x73\ +\x6b\x5f\x63\x74\x78\x5f\x73\x74\x6f\x72\x2c\x20\x70\x2c\x20\x30\x2c\0\x09\x63\ +\x70\x75\x6d\x61\x73\x6b\x20\x3d\x20\x62\x70\x66\x5f\x63\x70\x75\x6d\x61\x73\ +\x6b\x5f\x63\x72\x65\x61\x74\x65\x28\x29\x3b\0\x09\x69\x66\x20\x28\x21\x63\x70\ +\x75\x6d\x61\x73\x6b\x29\0\x09\x63\x70\x75\x6d\x61\x73\x6b\x20\x3d\x20\x62\x70\ +\x66\x5f\x6b\x70\x74\x72\x5f\x78\x63\x68\x67\x28\x26\x74\x63\x74\x78\x2d\x3e\ +\x74\x6d\x70\x5f\x6d\x61\x73\x6b\x2c\x20\x63\x70\x75\x6d\x61\x73\x6b\x29\x3b\0\ +\x09\x69\x66\x20\x28\x63\x70\x75\x6d\x61\x73\x6b\x29\0\x09\x09\x62\x70\x66\x5f\ +\x63\x70\x75\x6d\x61\x73\x6b\x5f\x72\x65\x6c\x65\x61\x73\x65\x28\x63\x70\x75\ +\x6d\x61\x73\x6b\x29\x3b\0\x09\x74\x63\x74\x78\x2d\x3e\x70\x72\x65\x76\x5f\x63\ +\x70\x75\x20\x3d\x20\x2d\x31\x3b\0\x09\x74\x63\x74\x78\x2d\x3e\x61\x74\x74\x61\ +\x63\x68\x65\x64\x5f\x63\x6f\x72\x65\x20\x3d\x20\x2d\x31\x3b\0\x76\x6f\x69\x64\ +\x20\x42\x50\x46\x5f\x53\x54\x52\x55\x43\x54\x5f\x4f\x50\x53\x28\x6e\x65\x73\ +\x74\x5f\x65\x6e\x61\x62\x6c\x65\x2c\x20\x73\x74\x72\x75\x63\x74\x20\x74\x61\ +\x73\x6b\x5f\x73\x74\x72\x75\x63\x74\x20\x2a\x70\x29\0\x09\x70\x2d\x3e\x73\x63\ +\x78\x2e\x64\x73\x71\x5f\x76\x74\x69\x6d\x65\x20\x3d\x20\x76\x74\x69\x6d\x65\ +\x5f\x6e\x6f\x77\x3b\0\x73\x33\x32\x20\x42\x50\x46\x5f\x53\x54\x52\x55\x43\x54\ +\x5f\x4f\x50\x53\x5f\x53\x4c\x45\x45\x50\x41\x42\x4c\x45\x28\x6e\x65\x73\x74\ +\x5f\x69\x6e\x69\x74\x29\0\x09\x75\x33\x32\x20\x6b\x65\x79\x20\x3d\x20\x30\x3b\ +\0\x09\x65\x72\x72\x20\x3d\x20\x73\x63\x78\x5f\x62\x70\x66\x5f\x63\x72\x65\x61\ +\x74\x65\x5f\x64\x73\x71\x28\x46\x41\x4c\x4c\x42\x41\x43\x4b\x5f\x44\x53\x51\ +\x5f\x49\x44\x2c\x20\x4e\x55\x4d\x41\x5f\x4e\x4f\x5f\x4e\x4f\x44\x45\x29\x3b\0\ +\x09\x69\x66\x20\x28\x65\x72\x72\x29\x20\x7b\0\x09\x09\x73\x63\x78\x5f\x62\x70\ +\x66\x5f\x65\x72\x72\x6f\x72\x28\x22\x46\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\ +\x63\x72\x65\x61\x74\x65\x20\x66\x61\x6c\x6c\x62\x61\x63\x6b\x20\x44\x53\x51\ +\x22\x29\x3b\0\x09\x62\x70\x66\x5f\x63\x70\x75\x6d\x61\x73\x6b\x5f\x63\x6c\x65\ +\x61\x72\x28\x63\x70\x75\x6d\x61\x73\x6b\x29\x3b\0\x09\x63\x70\x75\x6d\x61\x73\ +\x6b\x20\x3d\x20\x62\x70\x66\x5f\x6b\x70\x74\x72\x5f\x78\x63\x68\x67\x28\x26\ +\x70\x72\x69\x6d\x61\x72\x79\x5f\x63\x70\x75\x6d\x61\x73\x6b\x2c\x20\x63\x70\ +\x75\x6d\x61\x73\x6b\x29\x3b\0\x09\x63\x70\x75\x6d\x61\x73\x6b\x20\x3d\x20\x62\ +\x70\x66\x5f\x6b\x70\x74\x72\x5f\x78\x63\x68\x67\x28\x26\x72\x65\x73\x65\x72\ +\x76\x65\x5f\x63\x70\x75\x6d\x61\x73\x6b\x2c\x20\x63\x70\x75\x6d\x61\x73\x6b\ +\x29\x3b\0\x09\x09\x73\x33\x32\x20\x6b\x65\x79\x20\x3d\x20\x63\x70\x75\x3b\0\ +\x09\x09\x73\x74\x72\x75\x63\x74\x20\x70\x63\x70\x75\x5f\x63\x74\x78\x20\x2a\ +\x63\x74\x78\x20\x3d\x20\x62\x70\x66\x5f\x6d\x61\x70\x5f\x6c\x6f\x6f\x6b\x75\ +\x70\x5f\x65\x6c\x65\x6d\x28\x26\x70\x63\x70\x75\x5f\x63\x74\x78\x73\x2c\x20\ +\x26\x6b\x65\x79\x29\x3b\0\x09\x09\x69\x66\x20\x28\x21\x63\x74\x78\x29\x20\x7b\ +\0\x09\x09\x09\x73\x63\x78\x5f\x62\x70\x66\x5f\x65\x72\x72\x6f\x72\x28\x22\x46\ +\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x6c\x6f\x6f\x6b\x75\x70\x20\x70\x63\x70\ +\x75\x5f\x63\x74\x78\x22\x29\x3b\0\x09\x09\x63\x74\x78\x2d\x3e\x73\x63\x68\x65\ +\x64\x75\x6c\x65\x64\x5f\x63\x6f\x6d\x70\x61\x63\x74\x69\x6f\x6e\x20\x3d\x20\ +\x66\x61\x6c\x73\x65\x3b\0\x09\x09\x69\x66\x20\x28\x62\x70\x66\x5f\x74\x69\x6d\ +\x65\x72\x5f\x69\x6e\x69\x74\x28\x26\x63\x74\x78\x2d\x3e\x74\x69\x6d\x65\x72\ +\x2c\x20\x26\x70\x63\x70\x75\x5f\x63\x74\x78\x73\x2c\x20\x43\x4c\x4f\x43\x4b\ +\x5f\x42\x4f\x4f\x54\x54\x49\x4d\x45\x29\x29\x20\x7b\0\x09\x09\x09\x73\x63\x78\ +\x5f\x62\x70\x66\x5f\x65\x72\x72\x6f\x72\x28\x22\x46\x61\x69\x6c\x65\x64\x20\ +\x74\x6f\x20\x69\x6e\x69\x74\x69\x61\x6c\x69\x7a\x65\x20\x70\x63\x70\x75\x20\ +\x74\x69\x6d\x65\x72\x22\x29\x3b\0\x09\x09\x09\x73\x63\x78\x5f\x62\x70\x66\x5f\ +\x65\x72\x72\x6f\x72\x28\x22\x46\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x73\x65\ +\x74\x20\x70\x63\x70\x75\x20\x74\x69\x6d\x65\x72\x20\x63\x61\x6c\x6c\x62\x61\ +\x63\x6b\x22\x29\x3b\0\x09\x09\x65\x72\x72\x20\x3d\x20\x62\x70\x66\x5f\x74\x69\ +\x6d\x65\x72\x5f\x73\x65\x74\x5f\x63\x61\x6c\x6c\x62\x61\x63\x6b\x28\x26\x63\ +\x74\x78\x2d\x3e\x74\x69\x6d\x65\x72\x2c\x20\x63\x6f\x6d\x70\x61\x63\x74\x5f\ +\x70\x72\x69\x6d\x61\x72\x79\x5f\x63\x6f\x72\x65\x29\x3b\0\x09\x09\x69\x66\x20\ +\x28\x65\x72\x72\x29\x20\x7b\0\x09\x74\x69\x6d\x65\x72\x20\x3d\x20\x62\x70\x66\ +\x5f\x6d\x61\x70\x5f\x6c\x6f\x6f\x6b\x75\x70\x5f\x65\x6c\x65\x6d\x28\x26\x73\ +\x74\x61\x74\x73\x5f\x74\x69\x6d\x65\x72\x2c\x20\x26\x6b\x65\x79\x29\x3b\0\x09\ +\x69\x66\x20\x28\x21\x74\x69\x6d\x65\x72\x29\x20\x7b\0\x09\x09\x73\x63\x78\x5f\ +\x62\x70\x66\x5f\x65\x72\x72\x6f\x72\x28\x22\x46\x61\x69\x6c\x65\x64\x20\x74\ +\x6f\x20\x6c\x6f\x6f\x6b\x75\x70\x20\x63\x65\x6e\x74\x72\x61\x6c\x20\x74\x69\ +\x6d\x65\x72\x22\x29\x3b\0\x09\x09\x72\x65\x74\x75\x72\x6e\x20\x2d\x45\x53\x52\ +\x43\x48\x3b\0\x09\x62\x70\x66\x5f\x74\x69\x6d\x65\x72\x5f\x69\x6e\x69\x74\x28\ +\x74\x69\x6d\x65\x72\x2c\x20\x26\x73\x74\x61\x74\x73\x5f\x74\x69\x6d\x65\x72\ +\x2c\x20\x43\x4c\x4f\x43\x4b\x5f\x42\x4f\x4f\x54\x54\x49\x4d\x45\x29\x3b\0\x09\ +\x62\x70\x66\x5f\x74\x69\x6d\x65\x72\x5f\x73\x65\x74\x5f\x63\x61\x6c\x6c\x62\ +\x61\x63\x6b\x28\x74\x69\x6d\x65\x72\x2c\x20\x73\x74\x61\x74\x73\x5f\x74\x69\ +\x6d\x65\x72\x66\x6e\x29\x3b\0\x76\x6f\x69\x64\x20\x42\x50\x46\x5f\x53\x54\x52\ +\x55\x43\x54\x5f\x4f\x50\x53\x28\x6e\x65\x73\x74\x5f\x65\x78\x69\x74\x2c\x20\ +\x73\x74\x72\x75\x63\x74\x20\x73\x63\x78\x5f\x65\x78\x69\x74\x5f\x69\x6e\x66\ +\x6f\x20\x2a\x65\x69\x29\0\x09\x55\x45\x49\x5f\x52\x45\x43\x4f\x52\x44\x28\x75\ +\x65\x69\x2c\x20\x65\x69\x29\x3b\0\x30\x3a\x35\0\x30\x3a\x31\x32\x37\0\x30\x3a\ +\x39\x32\0\x30\x3a\x39\x33\0\x30\x3a\x32\x33\x3a\x31\x38\0\x30\x3a\x33\x37\0\ +\x30\x3a\x32\x33\x3a\x35\0\x30\x3a\x31\0\x30\x3a\x32\x33\x3a\x31\x37\0\x30\x3a\ +\x32\x33\x3a\x36\0\x30\x3a\x32\0\x30\x3a\x36\0\x30\x3a\x30\0\x6c\x69\x63\x65\ +\x6e\x73\x65\0\x2e\x72\x6f\x64\x61\x74\x61\0\x2e\x6d\x61\x70\x73\0\x2e\x62\x73\ +\x73\0\x2e\x73\x74\x72\x75\x63\x74\x5f\x6f\x70\x73\x2e\x6c\x69\x6e\x6b\0\x2e\ +\x64\x61\x74\x61\x2e\x75\x65\x69\x5f\x64\x75\x6d\x70\0\x2e\x64\x61\x74\x61\0\ +\x2e\x64\x61\x74\x61\x2e\x4e\x45\x53\x54\x53\0\x2e\x6b\x73\x79\x6d\x73\0\x2e\ +\x74\x65\x78\x74\0\x73\x74\x72\x75\x63\x74\x5f\x6f\x70\x73\x2f\x6e\x65\x73\x74\ +\x5f\x73\x65\x6c\x65\x63\x74\x5f\x63\x70\x75\0\x73\x74\x72\x75\x63\x74\x5f\x6f\ +\x70\x73\x2f\x6e\x65\x73\x74\x5f\x65\x6e\x71\x75\x65\x75\x65\0\x73\x74\x72\x75\ +\x63\x74\x5f\x6f\x70\x73\x2f\x6e\x65\x73\x74\x5f\x64\x69\x73\x70\x61\x74\x63\ +\x68\0\x73\x74\x72\x75\x63\x74\x5f\x6f\x70\x73\x2f\x6e\x65\x73\x74\x5f\x72\x75\ +\x6e\x6e\x69\x6e\x67\0\x73\x74\x72\x75\x63\x74\x5f\x6f\x70\x73\x2f\x6e\x65\x73\ +\x74\x5f\x73\x74\x6f\x70\x70\x69\x6e\x67\0\x73\x74\x72\x75\x63\x74\x5f\x6f\x70\ +\x73\x2f\x6e\x65\x73\x74\x5f\x69\x6e\x69\x74\x5f\x74\x61\x73\x6b\0\x73\x74\x72\ +\x75\x63\x74\x5f\x6f\x70\x73\x2f\x6e\x65\x73\x74\x5f\x65\x6e\x61\x62\x6c\x65\0\ +\x73\x74\x72\x75\x63\x74\x5f\x6f\x70\x73\x2e\x73\x2f\x6e\x65\x73\x74\x5f\x69\ +\x6e\x69\x74\0\x73\x74\x72\x75\x63\x74\x5f\x6f\x70\x73\x2f\x6e\x65\x73\x74\x5f\ +\x65\x78\x69\x74\0\0\0\0\0\x9f\xeb\x01\0\x20\0\0\0\0\0\0\0\xcc\0\0\0\xcc\0\0\0\ +\x8c\x19\0\0\x58\x1a\0\0\xd4\x01\0\0\x08\0\0\0\x5c\x5f\0\0\x04\0\0\0\0\0\0\0\ +\x57\0\0\0\x10\0\0\0\xe6\x01\0\0\xe8\x02\0\0\xe8\x01\0\0\xc8\x06\0\0\xe9\x01\0\ +\0\x62\x5f\0\0\x01\0\0\0\0\0\0\0\x5a\0\0\0\x7d\x5f\0\0\x01\0\0\0\0\0\0\0\xbd\ +\x01\0\0\x95\x5f\0\0\x01\0\0\0\0\0\0\0\xc0\x01\0\0\xae\x5f\0\0\x01\0\0\0\0\0\0\ +\0\xc5\x01\0\0\xc6\x5f\0\0\x01\0\0\0\0\0\0\0\xc6\x01\0\0\xdf\x5f\0\0\x01\0\0\0\ +\0\0\0\0\xc7\x01\0\0\xf9\x5f\0\0\x01\0\0\0\0\0\0\0\xcc\x01\0\0\x10\x60\0\0\x01\ +\0\0\0\0\0\0\0\xcd\x01\0\0\x27\x60\0\0\x01\0\0\0\0\0\0\0\xda\x01\0\0\x81\x1e\0\ +\0\x01\0\0\0\0\0\0\0\xe3\x01\0\0\x10\0\0\0\x5c\x5f\0\0\x66\0\0\0\0\0\0\0\x56\ +\x3d\0\0\x94\x3d\0\0\0\x0c\x05\0\x08\0\0\0\x56\x3d\0\0\xce\x3d\0\0\x02\x14\x05\ +\0\x10\0\0\0\xf4\x3d\0\0\x2a\x3e\0\0\x0c\x68\x04\0\x18\0\0\0\xf4\x3d\0\0\x2a\ +\x3e\0\0\x06\x68\x04\0\x40\0\0\0\xf4\x3d\0\0\x51\x3e\0\0\x0f\x84\x03\0\x58\0\0\ +\0\xf4\x3d\0\0\x82\x3e\0\0\x06\x88\x03\0\x60\0\0\0\xf4\x3d\0\0\x8e\x3e\0\0\x0b\ +\x8c\x03\0\x88\0\0\0\xf4\x3d\0\0\x9c\x3e\0\0\x0d\x8c\x04\0\xa8\0\0\0\xf4\x3d\0\ +\0\xf0\x3e\0\0\x06\x90\x04\0\xb8\0\0\0\xf4\x3d\0\0\x02\x3f\0\0\x03\x94\x04\0\ +\xf0\0\0\0\xf4\x3d\0\0\x5f\x3f\0\0\x03\x98\x04\0\xf8\0\0\0\xf4\x3d\0\0\x6b\x3f\ +\0\0\x02\xa0\x04\0\0\x01\0\0\xf4\x3d\0\0\x99\x3f\0\0\x0c\xa4\x04\0\x18\x01\0\0\ +\xf4\x3d\0\0\xdc\x3f\0\0\x0f\xac\x04\0\x48\x01\0\0\xf4\x3d\0\0\xf9\x3f\0\0\x03\ +\xb0\x04\0\x80\x01\0\0\xf4\x3d\0\0\x67\x40\0\0\x03\xb4\x04\0\x88\x01\0\0\xf4\ +\x3d\0\0\x5f\x3f\0\0\x03\xb8\x04\0\x90\x01\0\0\xf4\x3d\0\0\x80\x40\0\0\x18\xc8\ +\x04\0\x98\x01\0\0\xf4\x3d\0\0\x80\x40\0\0\x02\xc8\x04\0\xa0\x01\0\0\xf4\x3d\0\ +\0\xa6\x40\0\0\x19\xd0\x04\0\xa8\x01\0\0\xf4\x3d\0\0\xd4\x40\0\0\x18\xec\x03\0\ +\xc0\x01\0\0\xf4\x3d\0\0\xf5\x40\0\0\x14\xe0\x03\0\xe8\x01\0\0\xf4\x3d\0\0\xd4\ +\x40\0\0\x16\xec\x03\0\xf8\x01\0\0\xf4\x3d\0\0\x15\x41\0\0\x03\0\x04\0\0\x02\0\ +\0\xf4\x3d\0\0\x62\x41\0\0\x03\x04\x04\0\x30\x02\0\0\xf4\x3d\0\0\x51\x3e\0\0\ +\x0f\x84\x03\0\x48\x02\0\0\xf4\x3d\0\0\x82\x3e\0\0\x06\x88\x03\0\x50\x02\0\0\ +\xf4\x3d\0\0\x8e\x3e\0\0\x0b\x8c\x03\0\x58\x02\0\0\xf4\x3d\0\0\xb2\x41\0\0\x03\ +\x1c\x04\0\x88\x02\0\0\xf4\x3d\0\0\x51\x3e\0\0\x0f\x84\x03\0\xa0\x02\0\0\xf4\ +\x3d\0\0\x82\x3e\0\0\x06\x88\x03\0\xa8\x02\0\0\xf4\x3d\0\0\x8e\x3e\0\0\x0b\x8c\ +\x03\0\xc0\x02\0\0\xf4\x3d\0\0\x04\x42\0\0\x02\xd4\x04\0\xd0\x02\0\0\xf4\x3d\0\ +\0\x25\x42\0\0\x21\xe0\x04\0\xd8\x02\0\0\xf4\x3d\0\0\x4e\x42\0\0\x01\xe8\x04\0\ +\xe8\x02\0\0\xf4\x3d\0\0\x50\x42\0\0\0\xf4\x04\0\xf8\x02\0\0\xf4\x3d\0\0\x92\ +\x42\0\0\x08\xfc\x04\0\0\x03\0\0\xf4\x3d\0\0\x92\x42\0\0\x0e\xfc\x04\0\x40\x03\ +\0\0\xf4\x3d\0\0\xad\x42\0\0\x02\x08\x05\0\x58\x03\0\0\xf4\x3d\0\0\xec\x42\0\0\ +\x0f\x10\x05\0\x60\x03\0\0\xf4\x3d\0\0\xec\x42\0\0\x06\x10\x05\0\x68\x03\0\0\ +\xf4\x3d\0\0\xff\x42\0\0\x10\x14\x05\0\x70\x03\0\0\xf4\x3d\0\0\xff\x42\0\0\x06\ +\x14\x05\0\x78\x03\0\0\xf4\x3d\0\0\x14\x43\0\0\x0f\x20\x05\0\xa8\x03\0\0\xf4\ +\x3d\0\0\x4f\x43\0\0\x05\x24\x05\0\xc0\x03\0\0\xf4\x3d\0\0\x5b\x43\0\0\x0a\x3c\ +\x05\0\xe8\x03\0\0\xf4\x3d\0\0\x4f\x43\0\0\x05\x40\x05\0\xf0\x03\0\0\xf4\x3d\0\ +\0\x8e\x43\0\0\x05\x4c\x05\0\x20\x04\0\0\xf4\x3d\0\0\xa3\x43\0\0\x0b\x50\x05\0\ +\x48\x04\0\0\xf4\x3d\0\0\xd8\x43\0\0\x06\x54\x05\0\x60\x04\0\0\xf4\x3d\0\0\xe5\ +\x43\0\0\x0a\x6c\x05\0\x90\x04\0\0\xf4\x3d\0\0\x1e\x44\0\0\x0d\x70\x05\0\xb8\ +\x04\0\0\xf4\x3d\0\0\x8e\x43\0\0\x05\x78\x05\0\xe8\x04\0\0\xf4\x3d\0\0\x57\x44\ +\0\0\x10\x7c\x05\0\x18\x05\0\0\xf4\x3d\0\0\x94\x44\0\0\x0b\x84\x05\0\x38\x05\0\ +\0\xf4\x3d\0\0\xba\x44\0\0\x16\x88\x05\0\x40\x05\0\0\xf4\x3d\0\0\xf8\x44\0\0\ +\x27\x8c\x05\0\x58\x05\0\0\xf4\x3d\0\0\xf8\x44\0\0\x1b\x8c\x05\0\x70\x05\0\0\ +\xf4\x3d\0\0\xf8\x44\0\0\x25\x8c\x05\0\x80\x05\0\0\xf4\x3d\0\0\x29\x45\0\0\x11\ +\xa4\x03\0\x88\x05\0\0\xf4\x3d\0\0\xf8\x44\0\0\x07\x8c\x05\0\x90\x05\0\0\xf4\ +\x3d\0\0\x43\x45\0\0\x18\x90\x05\0\xa0\x05\0\0\xf4\x3d\0\0\x64\x45\0\0\x06\xa8\ +\x05\0\xb8\x05\0\0\xf4\x3d\0\0\x73\x45\0\0\x25\xac\x05\0\xe0\x05\0\0\xf4\x3d\0\ +\0\xbf\x45\0\0\x05\xb0\x05\0\xf8\x05\0\0\xf4\x3d\0\0\xcd\x45\0\0\x0b\xb4\x05\0\ +\x10\x06\0\0\xf4\x3d\0\0\xd8\x43\0\0\x06\xb8\x05\0\x18\x06\0\0\xf4\x3d\0\0\xfa\ +\x45\0\0\x17\xbc\x05\0\x20\x06\0\0\xf4\x3d\0\0\x39\x46\0\0\x28\xc0\x05\0\x38\ +\x06\0\0\xf4\x3d\0\0\x39\x46\0\0\x1c\xc0\x05\0\x50\x06\0\0\xf4\x3d\0\0\x39\x46\ +\0\0\x26\xc0\x05\0\x60\x06\0\0\xf4\x3d\0\0\x29\x45\0\0\x11\xa4\x03\0\x68\x06\0\ +\0\xf4\x3d\0\0\x39\x46\0\0\x08\xc0\x05\0\xc0\x06\0\0\xf4\x3d\0\0\x4e\x42\0\0\ +\x01\xe4\x05\0\xc8\x06\0\0\xf4\x3d\0\0\x6b\x46\0\0\0\xa4\x0b\0\xd0\x06\0\0\xf4\ +\x3d\0\0\xb2\x46\0\0\x16\xbc\x0b\0\xf0\x06\0\0\xf4\x3d\0\0\xcc\x46\0\0\x15\xb8\ +\x0b\0\x08\x07\0\0\xf4\x3d\0\0\xe5\x46\0\0\x13\xc0\x0b\0\x20\x07\0\0\xf4\x3d\0\ +\0\xfc\x46\0\0\x12\xc4\x0b\0\x38\x07\0\0\xf4\x3d\0\0\x12\x47\0\0\x02\xd0\x0b\0\ +\x40\x07\0\0\xf4\x3d\0\0\x28\x47\0\0\x0c\xd4\x0b\0\x58\x07\0\0\xf4\x3d\0\0\xdc\ +\x3f\0\0\x0f\xdc\x0b\0\x88\x07\0\0\xf4\x3d\0\0\x67\x40\0\0\x03\xe0\x0b\0\x90\ +\x07\0\0\xf4\x3d\0\0\x44\x47\0\0\x03\xe4\x0b\0\xc8\x07\0\0\xf4\x3d\0\0\x7c\x47\ +\0\0\x09\xf4\x0b\0\xd8\x07\0\0\xf4\x3d\0\0\xa0\x47\0\0\x02\xf8\x0b\0\x18\x08\0\ +\0\xf4\x3d\0\0\xa0\x47\0\0\x02\xf8\x0b\0\x58\x08\0\0\xf4\x3d\0\0\xa0\x47\0\0\ +\x02\xf8\x0b\0\x70\x08\0\0\xf4\x3d\0\0\xa0\x47\0\0\x02\xf8\x0b\0\x78\x08\0\0\ +\xf4\x3d\0\0\xbc\x47\0\0\x02\x24\x0c\0\x80\x08\0\0\xf4\x3d\0\0\xd4\x47\0\0\x02\ +\x28\x0c\0\x90\x08\0\0\xf4\x3d\0\0\xf5\x47\0\0\x1f\x30\x0c\0\xa8\x08\0\0\xf4\ +\x3d\0\0\xf5\x47\0\0\x33\x30\x0c\0\xb8\x08\0\0\xf4\x3d\0\0\xf5\x47\0\0\x08\x30\ +\x0c\0\xd0\x08\0\0\xf4\x3d\0\0\x33\x48\0\0\x06\x34\x0c\0\xe0\x08\0\0\xf4\x3d\0\ +\0\x3d\x48\0\0\x07\xfc\x0b\0\x18\x09\0\0\xf4\x3d\0\0\x72\x48\0\0\x0c\x04\x0c\0\ +\x88\x09\0\0\xf4\x3d\0\0\xac\x48\0\0\x07\x18\x0c\0\xc0\x09\0\0\xf4\x3d\0\0\xd3\ +\x48\0\0\x14\x1c\x0c\0\xe8\x09\0\0\xf4\x3d\0\0\xa0\x47\0\0\x02\xf8\x0b\0\0\x0a\ +\0\0\xf4\x3d\0\0\xf8\x48\0\0\x03\x38\x0c\0\x38\x0a\0\0\xf4\x3d\0\0\x4e\x42\0\0\ +\x01\x44\x0c\0\x62\x5f\0\0\x85\0\0\0\0\0\0\0\xf4\x3d\0\0\x26\x49\0\0\x05\xec\ +\x05\0\x18\0\0\0\xf4\x3d\0\0\x6f\x49\0\0\x09\x14\x06\0\x58\0\0\0\xf4\x3d\0\0\ +\xa6\x49\0\0\x06\x18\x06\0\x60\0\0\0\xf4\x3d\0\0\x12\x47\0\0\x02\x28\x06\0\x68\ +\0\0\0\xf4\x3d\0\0\xb2\x49\0\0\x11\x2c\x06\0\x70\0\0\0\xf4\x3d\0\0\xcc\x49\0\0\ +\x0e\x38\x06\0\xc8\0\0\0\xf4\x3d\0\0\xf4\x49\0\0\x03\x10\x08\0\xd8\0\0\0\xf4\ +\x3d\0\0\x02\x4a\0\0\x11\x4c\x06\0\xe0\0\0\0\xf4\x3d\0\0\x1e\x4a\0\0\x1d\x54\ +\x06\0\xe8\0\0\0\xf4\x3d\0\0\x1e\x4a\0\0\x02\x54\x06\0\0\x01\0\0\xf4\x3d\0\0\ +\x59\x4a\0\0\x21\x64\x06\0\x08\x01\0\0\xf4\x3d\0\0\x59\x4a\0\0\x06\x64\x06\0\ +\x20\x01\0\0\xf4\x3d\0\0\x59\x4a\0\0\x43\x64\x06\0\x28\x01\0\0\xf4\x3d\0\0\x9e\ +\x4a\0\0\x2c\x68\x06\0\x30\x01\0\0\xf4\x3d\0\0\x9e\x4a\0\0\x06\x68\x06\0\x40\ +\x01\0\0\xf4\x3d\0\0\x59\x4a\0\0\x43\x64\x06\0\x48\x01\0\0\xf4\x3d\0\0\xdb\x4a\ +\0\0\x0f\x6c\x06\0\x50\x01\0\0\xf4\x3d\0\0\xdb\x4a\0\0\x07\x6c\x06\0\x78\x01\0\ +\0\xf4\x3d\0\0\x51\x3e\0\0\x0f\x84\x03\0\x90\x01\0\0\xf4\x3d\0\0\x82\x3e\0\0\ +\x06\x88\x03\0\x98\x01\0\0\xf4\x3d\0\0\x8e\x3e\0\0\x0b\x8c\x03\0\xa0\x01\0\0\ +\xf4\x3d\0\0\xf8\x4a\0\0\x18\x9c\x06\0\xa8\x01\0\0\xf4\x3d\0\0\xf8\x4a\0\0\x26\ +\x9c\x06\0\xb0\x01\0\0\xf4\x3d\0\0\x20\x4b\0\0\x06\xa0\x06\0\xd0\x01\0\0\xf4\ +\x3d\0\0\x20\x4b\0\0\x38\xa0\x06\0\xd8\x01\0\0\xf4\x3d\0\0\x5a\x4b\0\0\x06\xa4\ +\x06\0\xf0\x01\0\0\xf4\x3d\0\0\x20\x4b\0\0\x38\xa0\x06\0\xf8\x01\0\0\xf4\x3d\0\ +\0\x8c\x4b\0\0\x07\xa8\x06\0\x20\x02\0\0\xf4\x3d\0\0\x51\x3e\0\0\x0f\x84\x03\0\ +\x38\x02\0\0\xf4\x3d\0\0\x82\x3e\0\0\x06\x88\x03\0\x40\x02\0\0\xf4\x3d\0\0\x8e\ +\x3e\0\0\x0b\x8c\x03\0\x68\x02\0\0\xf4\x3d\0\0\x9e\x4b\0\0\x15\x50\x08\0\x80\ +\x02\0\0\xf4\x3d\0\0\xb7\x4b\0\0\x0d\x54\x08\0\xa0\x02\0\0\xf4\x3d\0\0\xea\x4b\ +\0\0\x06\x5c\x08\0\xa8\x02\0\0\xf4\x3d\0\0\xfb\x4b\0\0\x11\x60\x08\0\xb0\x02\0\ +\0\xf4\x3d\0\0\xfb\x4b\0\0\x07\x60\x08\0\xb8\x02\0\0\xf4\x3d\0\0\x23\x4c\0\0\ +\x08\x6c\x08\0\xc8\x02\0\0\xf4\x3d\0\0\x23\x4c\0\0\x2b\x6c\x08\0\xd8\x02\0\0\ +\xf4\x3d\0\0\x52\x4c\0\0\x05\x70\x08\0\x10\x03\0\0\xf4\x3d\0\0\x84\x4c\0\0\x08\ +\x78\x08\0\x40\x03\0\0\xf4\x3d\0\0\xcb\x4c\0\0\x05\x7c\x08\0\x80\x03\0\0\xf4\ +\x3d\0\0\xfd\x4c\0\0\x23\x84\x08\0\xa8\x03\0\0\xf4\x3d\0\0\x51\x3e\0\0\x0f\x84\ +\x03\0\xc0\x03\0\0\xf4\x3d\0\0\x82\x3e\0\0\x06\x88\x03\0\xc8\x03\0\0\xf4\x3d\0\ +\0\x8e\x3e\0\0\x0b\x8c\x03\0\xe8\x03\0\0\xf4\x3d\0\0\x28\x4d\0\0\x06\xc4\x06\0\ +\x08\x04\0\0\xf4\x3d\0\0\x40\x4d\0\0\x09\xcc\x06\0\x20\x04\0\0\xf4\x3d\0\0\x40\ +\x4d\0\0\x07\xcc\x06\0\x28\x04\0\0\xf4\x3d\0\0\x71\x4d\0\0\x0b\xd4\x06\0\x50\ +\x04\0\0\xf4\x3d\0\0\x51\x3e\0\0\x0f\x84\x03\0\x68\x04\0\0\xf4\x3d\0\0\x82\x3e\ +\0\0\x06\x88\x03\0\x70\x04\0\0\xf4\x3d\0\0\x8e\x3e\0\0\x0b\x8c\x03\0\x78\x04\0\ +\0\xf4\x3d\0\0\x83\x4d\0\0\x08\xf4\x06\0\x90\x04\0\0\xf4\x3d\0\0\x83\x4d\0\0\ +\x06\xf4\x06\0\x98\x04\0\0\xf4\x3d\0\0\xb7\x4d\0\0\x0a\xf8\x06\0\xc0\x04\0\0\ +\xf4\x3d\0\0\x51\x3e\0\0\x0f\x84\x03\0\xd8\x04\0\0\xf4\x3d\0\0\x82\x3e\0\0\x06\ +\x88\x03\0\xe0\x04\0\0\xf4\x3d\0\0\x8e\x3e\0\0\x0b\x8c\x03\0\xf0\x04\0\0\xf4\ +\x3d\0\0\xc8\x4d\0\0\x03\x98\x08\0\x28\x05\0\0\xf4\x3d\0\0\xf6\x4d\0\0\x16\xa4\ +\x08\0\x30\x05\0\0\xf4\x3d\0\0\xf6\x4d\0\0\x02\xa4\x08\0\x40\x05\0\0\xf4\x3d\0\ +\0\x1a\x4e\0\0\x1b\xd8\x08\0\x48\x05\0\0\xf4\x3d\0\0\x1a\x4e\0\0\x06\xd8\x08\0\ +\x70\x05\0\0\xf4\x3d\0\0\x50\x4e\0\0\x03\xdc\x08\0\x90\x05\0\0\xf4\x3d\0\0\x79\ +\x4e\0\0\x19\xe0\x08\0\x98\x05\0\0\xf4\x3d\0\0\x79\x4e\0\0\x03\xe0\x08\0\xa8\ +\x05\0\0\xf4\x3d\0\0\xbc\x47\0\0\x02\xe8\x08\0\xb0\x05\0\0\xf4\x3d\0\0\xa0\x4e\ +\0\0\x0c\x40\x04\0\xb8\x05\0\0\xf4\x3d\0\0\xc0\x4e\0\0\x22\xf0\x08\0\xc8\x05\0\ +\0\xf4\x3d\0\0\xa0\x4e\0\0\x15\x40\x04\0\xd0\x05\0\0\xf4\x3d\0\0\xe7\x4e\0\0\ +\x17\x44\x04\0\xd8\x05\0\0\xf4\x3d\0\0\x59\x4f\0\0\x11\x48\x04\0\xe0\x05\0\0\ +\xf4\x3d\0\0\x9c\x4f\0\0\x0c\0\x09\0\xf8\x05\0\0\xf4\x3d\0\0\xbe\x4f\0\0\x09\ +\x04\x09\0\0\x06\0\0\xf4\x3d\0\0\xcc\x4f\0\0\x2a\x08\x09\0\x28\x06\0\0\xf4\x3d\ +\0\0\xcc\x4f\0\0\x28\x08\x09\0\x30\x06\0\0\xf4\x3d\0\0\xcc\x4f\0\0\x31\x08\x09\ +\0\x48\x06\0\0\xf4\x3d\0\0\xcc\x4f\0\0\x03\x08\x09\0\x60\x06\0\0\xf4\x3d\0\0\ +\x0a\x50\0\0\x09\x10\x09\0\x68\x06\0\0\xf4\x3d\0\0\x26\x49\0\0\x05\xec\x05\0\ +\x80\x06\0\0\xf4\x3d\0\0\x17\x50\0\0\x06\x18\x07\0\x98\x06\0\0\xf4\x3d\0\0\x17\ +\x50\0\0\x16\x18\x07\0\xa0\x06\0\0\xf4\x3d\0\0\x17\x50\0\0\x19\x18\x07\0\xb8\ +\x06\0\0\xf4\x3d\0\0\x17\x50\0\0\x30\x18\x07\0\xc0\x06\0\0\xf4\x3d\0\0\x17\x50\ +\0\0\x16\x18\x07\0\xd0\x06\0\0\xf4\x3d\0\0\x9e\x4b\0\0\x15\x20\x07\0\xf8\x06\0\ +\0\xf4\x3d\0\0\x51\x3e\0\0\x0f\x84\x03\0\x10\x07\0\0\xf4\x3d\0\0\x82\x3e\0\0\ +\x06\x88\x03\0\x18\x07\0\0\xf4\x3d\0\0\x8e\x3e\0\0\x0b\x8c\x03\0\x38\x07\0\0\ +\xf4\x3d\0\0\x55\x50\0\0\x1d\x40\x07\0\x40\x07\0\0\xf4\x3d\0\0\x55\x50\0\0\x02\ +\x40\x07\0\x58\x07\0\0\xf4\x3d\0\0\x28\x4d\0\0\x06\x44\x07\0\x78\x07\0\0\xf4\ +\x3d\0\0\x40\x4d\0\0\x09\x48\x07\0\x90\x07\0\0\xf4\x3d\0\0\x40\x4d\0\0\x07\x48\ +\x07\0\x98\x07\0\0\xf4\x3d\0\0\x71\x4d\0\0\x0b\x50\x07\0\xc0\x07\0\0\xf4\x3d\0\ +\0\x51\x3e\0\0\x0f\x84\x03\0\xd8\x07\0\0\xf4\x3d\0\0\x82\x3e\0\0\x06\x88\x03\0\ +\xe0\x07\0\0\xf4\x3d\0\0\x8e\x3e\0\0\x0b\x8c\x03\0\x08\x08\0\0\xf4\x3d\0\0\x83\ +\x4d\0\0\x08\x70\x07\0\x20\x08\0\0\xf4\x3d\0\0\x83\x4d\0\0\x06\x70\x07\0\x28\ +\x08\0\0\xf4\x3d\0\0\xb7\x4d\0\0\x0a\x74\x07\0\x50\x08\0\0\xf4\x3d\0\0\x51\x3e\ +\0\0\x0f\x84\x03\0\x70\x08\0\0\xf4\x3d\0\0\x82\x3e\0\0\x06\x88\x03\0\x78\x08\0\ +\0\xf4\x3d\0\0\x8e\x3e\0\0\x0b\x8c\x03\0\xb0\x08\0\0\xf4\x3d\0\0\x51\x3e\0\0\ +\x0f\x84\x03\0\xc8\x08\0\0\xf4\x3d\0\0\x82\x3e\0\0\x06\x88\x03\0\xd0\x08\0\0\ +\xf4\x3d\0\0\x8e\x3e\0\0\x0b\x8c\x03\0\xf8\x08\0\0\xf4\x3d\0\0\x90\x50\0\0\x21\ +\x94\x07\0\0\x09\0\0\xf4\x3d\0\0\x90\x50\0\0\x08\x94\x07\0\x18\x09\0\0\xf4\x3d\ +\0\0\x90\x50\0\0\x06\x94\x07\0\x28\x09\0\0\xf4\x3d\0\0\xb7\x4d\0\0\x0a\x98\x07\ +\0\x50\x09\0\0\xf4\x3d\0\0\x51\x3e\0\0\x0f\x84\x03\0\x68\x09\0\0\xf4\x3d\0\0\ +\x82\x3e\0\0\x06\x88\x03\0\x70\x09\0\0\xf4\x3d\0\0\x8e\x3e\0\0\x0b\x8c\x03\0\ +\x88\x09\0\0\xf4\x3d\0\0\xf9\x50\0\0\x07\xec\x07\0\xb0\x09\0\0\xf4\x3d\0\0\x5f\ +\x51\0\0\x0c\xf4\x07\0\xe8\x09\0\0\xf4\x3d\0\0\xd4\x40\0\0\x18\xec\x03\0\0\x0a\ +\0\0\xf4\x3d\0\0\xf5\x40\0\0\x14\xe0\x03\0\x28\x0a\0\0\xf4\x3d\0\0\xd4\x40\0\0\ +\x16\xec\x03\0\x38\x0a\0\0\xf4\x3d\0\0\x15\x41\0\0\x03\0\x04\0\x40\x0a\0\0\xf4\ +\x3d\0\0\x62\x41\0\0\x03\x04\x04\0\x78\x0a\0\0\xf4\x3d\0\0\x51\x3e\0\0\x0f\x84\ +\x03\0\x90\x0a\0\0\xf4\x3d\0\0\x82\x3e\0\0\x06\x88\x03\0\x98\x0a\0\0\xf4\x3d\0\ +\0\x8e\x3e\0\0\x0b\x8c\x03\0\xb0\x0a\0\0\xf4\x3d\0\0\xf4\x49\0\0\x0a\x10\x08\0\ +\xb8\x0a\0\0\xf4\x3d\0\0\x67\x40\0\0\x03\x0c\x08\0\xc0\x0a\0\0\xf4\x3d\0\0\xf4\ +\x49\0\0\x03\x10\x08\0\xc8\x0a\0\0\xf4\x3d\0\0\xbc\x47\0\0\x02\x1c\x08\0\xe0\ +\x0a\0\0\xf4\x3d\0\0\xd4\x51\0\0\x02\x20\x08\0\xe8\x0a\0\0\xf4\x3d\0\0\xb2\x41\ +\0\0\x03\x1c\x04\0\x20\x0b\0\0\xf4\x3d\0\0\x51\x3e\0\0\x0f\x84\x03\0\x38\x0b\0\ +\0\xf4\x3d\0\0\x82\x3e\0\0\x06\x88\x03\0\x40\x0b\0\0\xf4\x3d\0\0\x8e\x3e\0\0\ +\x0b\x8c\x03\0\x7d\x5f\0\0\x13\0\0\0\0\0\0\0\xf4\x3d\0\0\x5e\x53\0\0\x06\x1c\ +\x09\0\x08\0\0\0\xf4\x3d\0\0\xa6\x53\0\0\x15\x28\x09\0\x10\0\0\0\xf4\x3d\0\0\ +\x5e\x53\0\0\x06\x1c\x09\0\x20\0\0\0\xf4\x3d\0\0\x6f\x49\0\0\x09\x30\x09\0\x50\ +\0\0\0\xf4\x3d\0\0\xe3\x53\0\0\x06\x34\x09\0\x58\0\0\0\xf4\x3d\0\0\xf1\x53\0\0\ +\x03\x38\x09\0\x90\0\0\0\xf4\x3d\0\0\x1d\x54\0\0\x03\x3c\x09\0\x98\0\0\0\xf4\ +\x3d\0\0\x27\x54\0\0\x1a\x5c\x09\0\xb0\0\0\0\xf4\x3d\0\0\x27\x54\0\0\x24\x5c\ +\x09\0\xc0\0\0\0\xf4\x3d\0\0\x27\x54\0\0\x26\x5c\x09\0\xd8\0\0\0\xf4\x3d\0\0\ +\x29\x45\0\0\x11\xa4\x03\0\xe0\0\0\0\xf4\x3d\0\0\x27\x54\0\0\x06\x5c\x09\0\xe8\ +\0\0\0\xf4\x3d\0\0\x57\x54\0\0\x17\x60\x09\0\xf0\0\0\0\xf4\x3d\0\0\x57\x54\0\0\ +\x15\x60\x09\0\0\x01\0\0\xf4\x3d\0\0\x77\x54\0\0\x0c\x6c\x09\0\x18\x01\0\0\xf4\ +\x3d\0\0\xbe\x4f\0\0\x09\x70\x09\0\x20\x01\0\0\xf4\x3d\0\0\xa1\x54\0\0\x2e\x74\ +\x09\0\x38\x01\0\0\xf4\x3d\0\0\xa1\x54\0\0\x03\x74\x09\0\x60\x01\0\0\xf4\x3d\0\ +\0\x5e\x53\0\0\x06\x1c\x09\0\x95\x5f\0\0\x34\0\0\0\0\0\0\0\xf4\x3d\0\0\xdf\x54\ +\0\0\x0c\xa8\x09\0\x18\0\0\0\xf4\x3d\0\0\xfb\x54\0\0\x06\x88\x09\0\x28\0\0\0\ +\xf4\x3d\0\0\x41\x55\0\0\x06\x98\x09\0\x30\0\0\0\xf4\x3d\0\0\x28\x47\0\0\x0c\ +\xa4\x09\0\x48\0\0\0\xf4\x3d\0\0\xdc\x3f\0\0\x0f\xac\x09\0\x60\0\0\0\xf4\x3d\0\ +\0\x51\x55\0\0\x03\xb0\x09\0\xa0\0\0\0\xf4\x3d\0\0\x83\x55\0\0\x0d\xc0\x09\0\ +\xb8\0\0\0\xf4\x3d\0\0\xf0\x3e\0\0\x06\xc4\x09\0\xc8\0\0\0\xf4\x3d\0\0\xc8\x4d\ +\0\0\x03\xc8\x09\0\0\x01\0\0\xf4\x3d\0\0\xfb\x54\0\0\x06\x88\x09\0\x10\x01\0\0\ +\xf4\x3d\0\0\xb6\x55\0\0\x07\xdc\x09\0\x28\x01\0\0\xf4\x3d\0\0\xb6\x55\0\0\x06\ +\xdc\x09\0\x30\x01\0\0\xf4\x3d\0\0\xe0\x55\0\0\x10\xe4\x09\0\x48\x01\0\0\xf4\ +\x3d\0\0\x1e\x56\0\0\x0c\xf8\x09\0\x50\x01\0\0\xf4\x3d\0\0\x1e\x56\0\0\x1a\xf8\ +\x09\0\x58\x01\0\0\xf4\x3d\0\0\x1e\x56\0\0\x33\xf8\x09\0\x70\x01\0\0\xf4\x3d\0\ +\0\x61\x56\0\0\x2a\xfc\x09\0\x88\x01\0\0\xf4\x3d\0\0\x61\x56\0\0\x04\xfc\x09\0\ +\xb0\x01\0\0\xf4\x3d\0\0\x98\x56\0\0\x04\0\x0a\0\xe0\x01\0\0\xf4\x3d\0\0\x51\ +\x3e\0\0\x0f\x84\x03\0\xf8\x01\0\0\xf4\x3d\0\0\x82\x3e\0\0\x06\x88\x03\0\0\x02\ +\0\0\xf4\x3d\0\0\x8e\x3e\0\0\x0b\x8c\x03\0\x20\x02\0\0\xf4\x3d\0\0\xa3\x56\0\0\ +\x07\x14\x0a\0\x30\x02\0\0\xf4\x3d\0\0\xd7\x56\0\0\x0e\x54\x0a\0\x38\x02\0\0\ +\xf4\x3d\0\0\xd7\x56\0\0\x17\x54\x0a\0\x40\x02\0\0\xf4\x3d\0\0\xd7\x56\0\0\x2d\ +\x54\x0a\0\x48\x02\0\0\xf4\x3d\0\0\x06\x57\0\0\x10\x58\x0a\0\x58\x02\0\0\xf4\ +\x3d\0\0\xd7\x56\0\0\x2d\x54\x0a\0\x80\x02\0\0\xf4\x3d\0\0\x51\x3e\0\0\x0f\x84\ +\x03\0\x98\x02\0\0\xf4\x3d\0\0\x82\x3e\0\0\x06\x88\x03\0\xa0\x02\0\0\xf4\x3d\0\ +\0\x8e\x3e\0\0\x0b\x8c\x03\0\xb8\x02\0\0\xf4\x3d\0\0\x3f\x57\0\0\x05\x64\x0a\0\ +\xd0\x02\0\0\xf4\x3d\0\0\xd4\x40\0\0\x18\xec\x03\0\xe8\x02\0\0\xf4\x3d\0\0\xf5\ +\x40\0\0\x14\xe0\x03\0\x10\x03\0\0\xf4\x3d\0\0\xd4\x40\0\0\x16\xec\x03\0\x20\ +\x03\0\0\xf4\x3d\0\0\x15\x41\0\0\x03\0\x04\0\x28\x03\0\0\xf4\x3d\0\0\x62\x41\0\ +\0\x03\x04\x04\0\x60\x03\0\0\xf4\x3d\0\0\x51\x3e\0\0\x0f\x84\x03\0\x78\x03\0\0\ +\xf4\x3d\0\0\x82\x3e\0\0\x06\x88\x03\0\x80\x03\0\0\xf4\x3d\0\0\x8e\x3e\0\0\x0b\ +\x8c\x03\0\x98\x03\0\0\xf4\x3d\0\0\x8b\x57\0\0\x24\x74\x0a\0\xa0\x03\0\0\xf4\ +\x3d\0\0\xd1\x57\0\0\x27\x98\x0a\0\xb8\x03\0\0\xf4\x3d\0\0\xd1\x57\0\0\x05\x98\ +\x0a\0\xe8\x03\0\0\xf4\x3d\0\0\x51\x3e\0\0\x0f\x84\x03\0\0\x04\0\0\xf4\x3d\0\0\ +\x82\x3e\0\0\x06\x88\x03\0\x08\x04\0\0\xf4\x3d\0\0\x8e\x3e\0\0\x0b\x8c\x03\0\ +\x10\x04\0\0\xf4\x3d\0\0\xb2\x41\0\0\x03\x1c\x04\0\x48\x04\0\0\xf4\x3d\0\0\x51\ +\x3e\0\0\x0f\x84\x03\0\x60\x04\0\0\xf4\x3d\0\0\x82\x3e\0\0\x06\x88\x03\0\x68\ +\x04\0\0\xf4\x3d\0\0\x8e\x3e\0\0\x0b\x8c\x03\0\x90\x04\0\0\xf4\x3d\0\0\x51\x3e\ +\0\0\x0f\x84\x03\0\xa8\x04\0\0\xf4\x3d\0\0\x82\x3e\0\0\x06\x88\x03\0\xae\x5f\0\ +\0\x08\0\0\0\0\0\0\0\xf4\x3d\0\0\x04\x58\0\0\x06\xc8\x0a\0\x08\0\0\0\xf4\x3d\0\ +\0\x3d\x58\0\0\x13\xe8\x0a\0\x20\0\0\0\xf4\x3d\0\0\x3d\x58\0\0\x25\xe8\x0a\0\ +\x28\0\0\0\xf4\x3d\0\0\x29\x45\0\0\x11\xa4\x03\0\x30\0\0\0\xf4\x3d\0\0\x3d\x58\ +\0\0\x06\xe8\x0a\0\x38\0\0\0\xf4\x3d\0\0\x6d\x58\0\0\x16\xec\x0a\0\x40\0\0\0\ +\xf4\x3d\0\0\x6d\x58\0\0\x0d\xec\x0a\0\x48\0\0\0\xf4\x3d\0\0\x04\x58\0\0\x06\ +\xc8\x0a\0\xc6\x5f\0\0\x09\0\0\0\0\0\0\0\xf4\x3d\0\0\x8d\x58\0\0\x06\xfc\x0a\0\ +\x08\0\0\0\xf4\x3d\0\0\xd6\x58\0\0\x17\x08\x0b\0\x20\0\0\0\xf4\x3d\0\0\xd6\x58\ +\0\0\x29\x08\x0b\0\x28\0\0\0\xf4\x3d\0\0\xd6\x58\0\0\x20\x08\x0b\0\x30\0\0\0\ +\xf4\x3d\0\0\xd6\x58\0\0\x3f\x08\x0b\0\x38\0\0\0\xf4\x3d\0\0\xd6\x58\0\0\x30\ +\x08\x0b\0\x40\0\0\0\xf4\x3d\0\0\xd6\x58\0\0\x36\x08\x0b\0\x48\0\0\0\xf4\x3d\0\ +\0\xd6\x58\0\0\x13\x08\x0b\0\x60\0\0\0\xf4\x3d\0\0\x8d\x58\0\0\x06\xfc\x0a\0\ +\xdf\x5f\0\0\x0b\0\0\0\0\0\0\0\xf4\x3d\0\0\x1c\x59\0\0\x05\x18\x0b\0\x08\0\0\0\ +\xf4\x3d\0\0\x56\x59\0\0\x09\x40\x0b\0\x40\0\0\0\xf4\x3d\0\0\xa6\x49\0\0\x06\ +\x48\x0b\0\x48\0\0\0\xf4\x3d\0\0\x89\x59\0\0\x0c\x54\x0b\0\x50\0\0\0\xf4\x3d\0\ +\0\xaa\x59\0\0\x06\x58\x0b\0\x58\0\0\0\xf4\x3d\0\0\xb9\x59\0\0\x0c\x64\x0b\0\ +\x70\0\0\0\xf4\x3d\0\0\xed\x59\0\0\x06\x68\x0b\0\x78\0\0\0\xf4\x3d\0\0\xfb\x59\ +\0\0\x03\x6c\x0b\0\x90\0\0\0\xf4\x3d\0\0\x1b\x5a\0\0\x11\x78\x0b\0\x98\0\0\0\ +\xf4\x3d\0\0\x31\x5a\0\0\x16\x74\x0b\0\xa8\0\0\0\xf4\x3d\0\0\x1c\x59\0\0\x05\ +\x18\x0b\0\xf9\x5f\0\0\x04\0\0\0\0\0\0\0\xf4\x3d\0\0\x4c\x5a\0\0\x06\x8c\x0b\0\ +\x08\0\0\0\xf4\x3d\0\0\x84\x5a\0\0\x15\x94\x0b\0\x20\0\0\0\xf4\x3d\0\0\x84\x5a\ +\0\0\x13\x94\x0b\0\x28\0\0\0\xf4\x3d\0\0\x4c\x5a\0\0\x06\x8c\x0b\0\x10\x60\0\0\ +\x2e\0\0\0\0\0\0\0\xf4\x3d\0\0\xa3\x5a\0\0\0\x4c\x0c\0\x08\0\0\0\xf4\x3d\0\0\ +\xcb\x5a\0\0\x06\x64\x0c\0\x18\0\0\0\xf4\x3d\0\0\xd9\x5a\0\0\x08\x6c\x0c\0\x38\ +\0\0\0\xf4\x3d\0\0\x13\x5b\0\0\x06\x70\x0c\0\x40\0\0\0\xf4\x3d\0\0\x1f\x5b\0\0\ +\x03\x74\x0c\0\x78\0\0\0\xf4\x3d\0\0\xa3\x5a\0\0\x05\x4c\x0c\0\x88\0\0\0\xf4\ +\x3d\0\0\x89\x59\0\0\x0c\x84\x0c\0\x98\0\0\0\xf4\x3d\0\0\xaa\x59\0\0\x06\x88\ +\x0c\0\xa0\0\0\0\xf4\x3d\0\0\x51\x5b\0\0\x02\x90\x0c\0\xb8\0\0\0\xf4\x3d\0\0\ +\x6e\x5b\0\0\x0c\x94\x0c\0\xd8\0\0\0\xf4\x3d\0\0\xed\x59\0\0\x06\x98\x0c\0\xe0\ +\0\0\0\xf4\x3d\0\0\xfb\x59\0\0\x03\x9c\x0c\0\xf0\0\0\0\xf4\x3d\0\0\x89\x59\0\0\ +\x0c\xa4\x0c\0\xf8\0\0\0\xf4\x3d\0\0\xaa\x59\0\0\x06\xa8\x0c\0\0\x01\0\0\xf4\ +\x3d\0\0\x51\x5b\0\0\x02\xb4\x0c\0\x18\x01\0\0\xf4\x3d\0\0\xa3\x5b\0\0\x0c\xb8\ +\x0c\0\x38\x01\0\0\xf4\x3d\0\0\xed\x59\0\0\x06\xbc\x0c\0\x40\x01\0\0\xf4\x3d\0\ +\0\xfb\x59\0\0\x03\xc0\x0c\0\x50\x01\0\0\xf4\x3d\0\0\xa0\x47\0\0\x02\xc8\x0c\0\ +\x98\x01\0\0\xf4\x3d\0\0\xa0\x47\0\0\x02\xc8\x0c\0\xc8\x01\0\0\xf4\x3d\0\0\xa0\ +\x47\0\0\x02\xc8\x0c\0\xd0\x01\0\0\xf4\x3d\0\0\xd8\x5b\0\0\x07\xcc\x0c\0\xe8\ +\x01\0\0\xf4\x3d\0\0\xe9\x5b\0\0\x1a\xd0\x0c\0\x08\x02\0\0\xf4\x3d\0\0\x29\x5c\ +\0\0\x07\xd8\x0c\0\x18\x02\0\0\xf4\x3d\0\0\x37\x5c\0\0\x04\xdc\x0c\0\x60\x02\0\ +\0\xf4\x3d\0\0\x66\x5c\0\0\x1d\xe8\x0c\0\x68\x02\0\0\xf4\x3d\0\0\x8b\x5c\0\0\ +\x07\xec\x0c\0\xa0\x02\0\0\xf4\x3d\0\0\xcc\x5c\0\0\x04\xf0\x0c\0\xc8\x02\0\0\ +\xf4\x3d\0\0\x01\x5d\0\0\x04\x04\x0d\0\xd0\x02\0\0\xf4\x3d\0\0\x38\x5d\0\0\x09\ +\xfc\x0c\0\xf0\x02\0\0\xf4\x3d\0\0\x7b\x5d\0\0\x07\0\x0d\0\0\x03\0\0\xf4\x3d\0\ +\0\x01\x5d\0\0\x04\x04\x0d\0\x40\x03\0\0\xf4\x3d\0\0\xa0\x47\0\0\x02\xc8\x0c\0\ +\x68\x03\0\0\xf4\x3d\0\0\xa0\x47\0\0\x02\xc8\x0c\0\x80\x03\0\0\xf4\x3d\0\0\x88\ +\x5d\0\0\x0a\x18\x0d\0\xa0\x03\0\0\xf4\x3d\0\0\xba\x5d\0\0\x06\x1c\x0d\0\xb0\ +\x03\0\0\xf4\x3d\0\0\xc9\x5d\0\0\x03\x20\x0d\0\xf0\x03\0\0\xf4\x3d\0\0\xfc\x5d\ +\0\0\x03\x24\x0d\0\xf8\x03\0\0\xf4\x3d\0\0\x0d\x5e\0\0\x02\x2c\x0d\0\x20\x04\0\ +\0\xf4\x3d\0\0\x43\x5e\0\0\x02\x30\x0d\0\x40\x04\0\0\xf4\x3d\0\0\xf5\x47\0\0\ +\x1f\x34\x0d\0\x58\x04\0\0\xf4\x3d\0\0\xf5\x47\0\0\x33\x34\x0d\0\x68\x04\0\0\ +\xf4\x3d\0\0\xf5\x47\0\0\x08\x34\x0d\0\x90\x04\0\0\xf4\x3d\0\0\x33\x48\0\0\x06\ +\x38\x0d\0\x98\x04\0\0\xf4\x3d\0\0\xf8\x48\0\0\x03\x3c\x0d\0\x08\x05\0\0\xf4\ +\x3d\0\0\xa0\x47\0\0\x02\xc8\x0c\0\x27\x60\0\0\x05\0\0\0\0\0\0\0\xf4\x3d\0\0\ +\x72\x5e\0\0\x06\x50\x0d\0\x08\0\0\0\xf4\x3d\0\0\xab\x5e\0\0\x02\x58\x0d\0\xb8\ +\0\0\0\xf4\x3d\0\0\xab\x5e\0\0\x02\x58\x0d\0\xd0\0\0\0\xf4\x3d\0\0\xab\x5e\0\0\ +\x02\x58\x0d\0\xe8\0\0\0\xf4\x3d\0\0\x72\x5e\0\0\x06\x50\x0d\0\x81\x1e\0\0\x0e\ +\0\0\0\0\0\0\0\xf4\x3d\0\0\xe6\x51\0\0\x1f\x6c\x0d\0\x28\0\0\0\xf4\x3d\0\0\x4a\ +\x52\0\0\x05\x70\x0d\0\x30\0\0\0\xf4\x3d\0\0\x56\x52\0\0\x03\x74\x0d\0\x50\0\0\ +\0\xf4\x3d\0\0\x5f\x3f\0\0\x03\x78\x0d\0\x58\0\0\0\xf4\x3d\0\0\x89\x52\0\0\x1d\ +\x80\x0d\0\x70\0\0\0\xf4\x3d\0\0\x89\x52\0\0\x1b\x80\x0d\0\x78\0\0\0\xf4\x3d\0\ +\0\xb9\x52\0\0\x1e\x84\x0d\0\x90\0\0\0\xf4\x3d\0\0\xb9\x52\0\0\x1c\x84\x0d\0\ +\x98\0\0\0\xf4\x3d\0\0\xeb\x52\0\0\x1b\x88\x0d\0\xb0\0\0\0\xf4\x3d\0\0\xeb\x52\ +\0\0\x19\x88\x0d\0\xb8\0\0\0\xf4\x3d\0\0\x17\x53\0\0\x1a\x8c\x0d\0\xd0\0\0\0\ +\xf4\x3d\0\0\x17\x53\0\0\x18\x8c\x0d\0\xd8\0\0\0\xf4\x3d\0\0\x41\x53\0\0\x02\ +\x90\x0d\0\xf0\0\0\0\xf4\x3d\0\0\x4e\x42\0\0\x01\x98\x0d\0\x10\0\0\0\x5c\x5f\0\ +\0\x06\0\0\0\xf8\x02\0\0\x5e\0\0\0\xc1\x5e\0\0\0\0\0\0\x18\x03\0\0\x5e\0\0\0\ +\xc5\x5e\0\0\0\0\0\0\x58\x03\0\0\x5e\0\0\0\xcb\x5e\0\0\0\0\0\0\x68\x03\0\0\x5e\ +\0\0\0\xd0\x5e\0\0\0\0\0\0\x38\x05\0\0\x5e\0\0\0\xd5\x5e\0\0\0\0\0\0\x18\x06\0\ +\0\x5e\0\0\0\xd5\x5e\0\0\0\0\0\0\x62\x5f\0\0\x03\0\0\0\xe0\0\0\0\x5e\0\0\0\xdd\ +\x5e\0\0\0\0\0\0\x38\x07\0\0\x5e\0\0\0\xdd\x5e\0\0\0\0\0\0\xf8\x08\0\0\x5e\0\0\ +\0\xdd\x5e\0\0\0\0\0\0\x7d\x5f\0\0\x01\0\0\0\x08\0\0\0\x5e\0\0\0\xd5\x5e\0\0\0\ +\0\0\0\x95\x5f\0\0\x02\0\0\0\x50\x01\0\0\x5e\0\0\0\xe2\x5e\0\0\0\0\0\0\x38\x02\ +\0\0\x5e\0\0\0\xe9\x5e\0\0\0\0\0\0\xae\x5f\0\0\x02\0\0\0\x20\0\0\0\x5e\0\0\0\ +\xd5\x5e\0\0\0\0\0\0\x38\0\0\0\x5e\0\0\0\xd5\x5e\0\0\0\0\0\0\xc6\x5f\0\0\x04\0\ +\0\0\x20\0\0\0\x5e\0\0\0\xed\x5e\0\0\0\0\0\0\x30\0\0\0\x5e\0\0\0\xf5\x5e\0\0\0\ +\0\0\0\x48\0\0\0\x5e\0\0\0\xd5\x5e\0\0\0\0\0\0\x58\0\0\0\x5e\0\0\0\xd5\x5e\0\0\ +\0\0\0\0\xf9\x5f\0\0\x01\0\0\0\x20\0\0\0\x5e\0\0\0\xd5\x5e\0\0\0\0\0\0\x27\x60\ +\0\0\x06\0\0\0\x08\0\0\0\xdb\x01\0\0\xfc\x5e\0\0\0\0\0\0\x60\0\0\0\xdb\x01\0\0\ +\xc1\x5e\0\0\0\0\0\0\x90\0\0\0\xdb\x01\0\0\0\x5f\0\0\0\0\0\0\xb0\0\0\0\xdb\x01\ +\0\0\xe9\x5e\0\0\x02\0\0\0\xc0\0\0\0\xdb\x01\0\0\xe9\x5e\0\0\0\0\0\0\xd0\0\0\0\ +\xdb\x01\0\0\x04\x5f\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\x01\0\0\0\x03\0\0\0\x20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x40\0\0\0\0\ +\0\0\0\x75\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\x09\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb8\x08\0\0\0\0\0\0\x90\ +\x09\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\x18\0\0\0\0\0\0\0\x11\0\0\ +\0\x01\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x48\x12\0\0\0\0\0\0\x48\x0a\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x17\0\0\0\x01\0\0\0\ +\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x90\x1c\0\0\0\0\0\0\x60\x0b\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x32\0\0\0\x01\0\0\0\x06\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\xf0\x27\0\0\0\0\0\0\x68\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x4a\0\0\0\x01\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\x58\x29\0\0\0\0\0\0\xd0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\x63\0\0\0\x01\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\x28\x2e\0\0\0\0\0\0\x50\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\x7b\0\0\0\x01\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x78\x2e\0\0\0\ +\0\0\0\x68\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x94\ +\0\0\0\x01\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xe0\x2e\0\0\0\0\0\0\xb8\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xae\0\0\0\x01\0\0\ +\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x98\x2f\0\0\0\0\0\0\x30\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xc5\0\0\0\x01\0\0\0\x06\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\xc8\x2f\0\0\0\0\0\0\x18\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xdc\0\0\0\x01\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\xe0\x34\0\0\0\0\0\0\xf0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\xf1\0\0\0\x01\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xd0\ +\x35\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\xfc\0\0\0\x01\0\0\0\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xd0\x36\0\0\0\0\0\ +\0\x0d\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\x01\ +\0\0\x01\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xe0\x36\0\0\0\0\0\0\x68\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x0c\x01\0\0\x01\0\0\ +\0\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x48\x37\0\0\0\0\0\0\x48\x01\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x12\x01\0\0\x08\0\0\0\x03\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\x90\x38\0\0\0\0\0\0\x30\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x17\x01\0\0\x01\0\0\0\x03\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\x90\x38\0\0\0\0\0\0\xa8\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\x28\x01\0\0\x01\0\0\0\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\x38\x3a\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\x37\x01\0\0\x01\0\0\0\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x40\x3a\ +\0\0\0\0\0\0\x5d\x06\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\x3d\x01\0\0\x01\0\0\0\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xa0\x40\0\0\0\0\0\ +\0\x10\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x3b\x07\ +\0\0\x09\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb0\x40\0\0\0\0\0\0\xc0\x03\0\ +\0\0\0\0\0\x02\0\0\0\x03\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\x45\x07\0\0\ +\x09\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x70\x44\0\0\0\0\0\0\x70\x03\0\0\0\ +\0\0\0\x02\0\0\0\x04\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\x64\x07\0\0\x09\ +\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xe0\x47\0\0\0\0\0\0\x80\0\0\0\0\0\0\0\ +\x02\0\0\0\x05\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\x80\x07\0\0\x09\0\0\0\ +\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x60\x48\0\0\0\0\0\0\x70\x01\0\0\0\0\0\0\x02\ +\0\0\0\x06\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\x9d\x07\0\0\x09\0\0\0\x40\ +\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xd0\x49\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\x02\0\0\0\ +\x07\0\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\xb9\x07\0\0\x09\0\0\0\x40\0\0\0\ +\0\0\0\0\0\0\0\0\0\0\0\0\xe0\x49\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\x02\0\0\0\x08\0\ +\0\0\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\xd6\x07\0\0\x09\0\0\0\x40\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\0\0\xf0\x49\0\0\0\0\0\0\x30\0\0\0\0\0\0\0\x02\0\0\0\x09\0\0\0\ +\x08\0\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\xf4\x07\0\0\x09\0\0\0\x40\0\0\0\0\0\0\0\0\ +\0\0\0\0\0\0\0\x20\x4a\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\x02\0\0\0\x0a\0\0\0\x08\0\ +\0\0\0\0\0\0\x10\0\0\0\0\0\0\0\x0f\x08\0\0\x09\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\0\0\x30\x4a\0\0\0\0\0\0\x10\x02\0\0\0\0\0\0\x02\0\0\0\x0b\0\0\0\x08\0\0\0\ +\0\0\0\0\x10\0\0\0\0\0\0\0\x2a\x08\0\0\x09\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\0\0\x40\x4c\0\0\0\0\0\0\x50\0\0\0\0\0\0\0\x02\0\0\0\x0c\0\0\0\x08\0\0\0\0\0\0\ +\0\x10\0\0\0\0\0\0\0\x43\x08\0\0\x09\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\x90\x4c\0\0\0\0\0\0\x60\0\0\0\0\0\0\0\x02\0\0\0\x0d\0\0\0\x08\0\0\0\0\0\0\0\ +\x10\0\0\0\0\0\0\0\x52\x08\0\0\x09\0\0\0\x40\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xf0\ +\x4c\0\0\0\0\0\0\x90\0\0\0\0\0\0\0\x02\0\0\0\x12\0\0\0\x08\0\0\0\0\0\0\0\x10\0\ +\0\0\0\0\0\0\x67\x08\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x80\x4d\0\0\ +\0\0\0\0\xac\xc8\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ +\x6c\x08\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x30\x16\x01\0\0\0\0\0\ +\x4c\x1c\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"; + + *sz = sizeof(data) - 1; + return (const void *)data; +} + +#ifdef __cplusplus +struct scx_nest_bpf *scx_nest_bpf::open(const struct bpf_object_open_opts *opts) { return scx_nest_bpf__open_opts(opts); } +struct scx_nest_bpf *scx_nest_bpf::open_and_load() { return scx_nest_bpf__open_and_load(); } +int scx_nest_bpf::load(struct scx_nest_bpf *skel) { return scx_nest_bpf__load(skel); } +int scx_nest_bpf::attach(struct scx_nest_bpf *skel) { return scx_nest_bpf__attach(skel); } +void scx_nest_bpf::detach(struct scx_nest_bpf *skel) { scx_nest_bpf__detach(skel); } +void scx_nest_bpf::destroy(struct scx_nest_bpf *skel) { scx_nest_bpf__destroy(skel); } +const void *scx_nest_bpf::elf_bytes(size_t *sz) { return scx_nest_bpf__elf_bytes(sz); } +#endif /* __cplusplus */ + +__attribute__((unused)) static void +scx_nest_bpf__assert(struct scx_nest_bpf *s __attribute__((unused))) +{ +#ifdef __cplusplus +#define _Static_assert static_assert +#endif + _Static_assert(sizeof(s->rodata->p_remove_ns) == 8, "unexpected size of 'p_remove_ns'"); + _Static_assert(sizeof(s->rodata->r_max) == 8, "unexpected size of 'r_max'"); + _Static_assert(sizeof(s->rodata->r_impatient) == 8, "unexpected size of 'r_impatient'"); + _Static_assert(sizeof(s->rodata->slice_ns) == 8, "unexpected size of 'slice_ns'"); + _Static_assert(sizeof(s->rodata->find_fully_idle) == 1, "unexpected size of 'find_fully_idle'"); + _Static_assert(sizeof(s->rodata->sampling_cadence_ns) == 8, "unexpected size of 'sampling_cadence_ns'"); + _Static_assert(sizeof(s->rodata->r_depth) == 8, "unexpected size of 'r_depth'"); + _Static_assert(sizeof(s->rodata->filter_by_tgid) == 1, "unexpected size of 'filter_by_tgid'"); + _Static_assert(sizeof(s->rodata->nr_cpus) == 4, "unexpected size of 'nr_cpus'"); + _Static_assert(sizeof(s->rodata->uei_dump_len) == 4, "unexpected size of 'uei_dump_len'"); + _Static_assert(sizeof(s->bss->stats_primary_mask) == 8, "unexpected size of 'stats_primary_mask'"); + _Static_assert(sizeof(s->bss->stats_reserved_mask) == 8, "unexpected size of 'stats_reserved_mask'"); + _Static_assert(sizeof(s->bss->stats_other_mask) == 8, "unexpected size of 'stats_other_mask'"); + _Static_assert(sizeof(s->bss->stats_idle_mask) == 8, "unexpected size of 'stats_idle_mask'"); + _Static_assert(sizeof(s->data_uei_dump->uei_dump) == 1, "unexpected size of 'uei_dump'"); + _Static_assert(sizeof(s->data->uei) == 1168, "unexpected size of 'uei'"); +#ifdef __cplusplus +#undef _Static_assert +#endif +} + +#endif /* __SCX_NEST_BPF_SKEL_H__ */ diff --git a/.output/scx_nest.tmp.bpf.o b/.output/scx_nest.tmp.bpf.o new file mode 100644 index 0000000..2cc60a7 Binary files /dev/null and b/.output/scx_nest.tmp.bpf.o differ diff --git a/.output/scx_plug.o b/.output/scx_plug.o new file mode 100644 index 0000000..ed63fff Binary files /dev/null and b/.output/scx_plug.o differ diff --git a/.output/scx_spy.o b/.output/scx_spy.o new file mode 100644 index 0000000..71a63dc Binary files /dev/null and b/.output/scx_spy.o differ diff --git a/.vscode/settings.json b/.vscode/settings.json index 242a7e9..32bc6ff 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -101,6 +101,7 @@ "proc_data.h": "c", "btf.h": "c", "io_stats.skel.h": "c", - "env.h": "c" + "env.h": "c", + "common.h": "c" } } \ No newline at end of file diff --git a/Document/cpu.md b/Document/cpu.md new file mode 100644 index 0000000..f530e82 --- /dev/null +++ b/Document/cpu.md @@ -0,0 +1,248 @@ +## 挂载的程åºå’Œç›¸å…³é’©å­ +这里把å‰é¢éƒ¨åˆ†å’Œcpuéƒ¨åˆ†æ— å…³çš„è¾“å‡ºåˆ é™¤äº†ï¼Œåªæ˜¾ç¤ºcpu的部分 +```shell +root@ne0-System:~# bpftool prog show +1097: raw_tracepoint name handle_sched_wakeup tag 09665ce5a1061f80 gpl + loaded_at 2024-12-22T14:14:47+0800 uid 0 + xlated 1208B jited 730B memlock 4096B map_ids 527,536,544 + btf_id 438 +1099: raw_tracepoint name handle_sched_wakeup_new tag 09665ce5a1061f80 gpl + loaded_at 2024-12-22T14:14:47+0800 uid 0 + xlated 1208B jited 730B memlock 4096B map_ids 527,536,544 + btf_id 438 +1100: tracepoint name handle_task_create tag efc6aaf5cb501cf1 gpl + loaded_at 2024-12-22T14:14:47+0800 uid 0 + xlated 464B jited 276B memlock 4096B map_ids 527,544 + btf_id 438 +1101: tracepoint name handle_task_exit tag bbd5266b129ac1f5 gpl + loaded_at 2024-12-22T14:14:47+0800 uid 0 + xlated 536B jited 316B memlock 4096B map_ids 527,536,531,533,537,544 + btf_id 438 +1102: tracepoint name record_task_switch tag 84f5ae70e9eae07c gpl + loaded_at 2024-12-22T14:14:47+0800 uid 0 + xlated 6648B jited 4141B memlock 8192B map_ids 528,529,527,531,539,544,533,542,530,536,537,540 + btf_id 438 +1103: tracepoint name record_backtrace tag 609e86149c8868ed gpl + loaded_at 2024-12-22T14:14:47+0800 uid 0 + xlated 968B jited 556B memlock 4096B map_ids 531,532,544,533,527 + btf_id 438 +1104: tracepoint name record_cpu_idle tag da0312df36e18d94 gpl + loaded_at 2024-12-22T14:14:47+0800 uid 0 + xlated 584B jited 312B memlock 4096B map_ids 528,529,544 + btf_id 438 +1105: tracepoint name trace_sys_enter tag b321ae7b2ce4198b gpl + loaded_at 2024-12-22T14:14:47+0800 uid 0 + xlated 1160B jited 660B memlock 4096B map_ids 527,536,544 + btf_id 438 +1106: tracepoint name trace_sys_exit tag ab90f585a0514ff8 gpl + loaded_at 2024-12-22T14:14:47+0800 uid 0 + xlated 1152B jited 653B memlock 4096B map_ids 527,536,544 + btf_id 438 +1107: tracepoint name trace_cpu_softirq_entry tag 54c4d1a106cfa8a9 gpl recursion_misses 13 + loaded_at 2024-12-22T14:14:47+0800 uid 0 + xlated 712B jited 403B memlock 4096B map_ids 528,529,544 + btf_id 438 +1108: tracepoint name trace_cpu_softirq_exit tag 3d80b7c8e918ee61 gpl recursion_misses 13 + loaded_at 2024-12-22T14:14:47+0800 uid 0 + xlated 632B jited 357B memlock 4096B map_ids 528,529,544 + btf_id 438 +1109: tracepoint name trace_cpu_irq_entry tag eba63ed6afd29a18 gpl + loaded_at 2024-12-22T14:14:47+0800 uid 0 + xlated 712B jited 403B memlock 4096B map_ids 528,529,544 + btf_id 438 +1110: tracepoint name trace_cpu_irq_exit tag 9626ba411786b4fa gpl + loaded_at 2024-12-22T14:14:47+0800 uid 0 + xlated 632B jited 357B memlock 4096B map_ids 528,529,544 + btf_id 438 +1111: perf_event name handle_cpu_event tag 47b18a86e41937b8 gpl + loaded_at 2024-12-22T14:14:47+0800 uid 0 + xlated 2000B jited 1318B memlock 4096B map_ids 545,534,544,529,528,538 + btf_id 438 +1112: perf_event name handle_sys_latency_event tag 865cfeaa4297ac99 gpl + loaded_at 2024-12-22T14:14:47+0800 uid 0 + xlated 1280B jited 654B memlock 4096B map_ids 541,544,530 + btf_id 438 +``` +```shell +root@ne0-System:~# bpftool link show +1: tracing prog 2 + prog_type tracing attach_type modify_return + target_obj_id 1 target_btf_id 35400 +408: raw_tracepoint prog 1120 + tp 'sched_wakeup' +409: raw_tracepoint prog 1122 + tp 'sched_wakeup_new' +410: perf_event prog 1123 + tracepoint sched_process_fork +411: perf_event prog 1124 + tracepoint sched_process_exit +412: perf_event prog 1125 + tracepoint sched_switch +413: perf_event prog 1126 + tracepoint sched_switch +414: perf_event prog 1127 + tracepoint cpu_idle +415: perf_event prog 1128 + tracepoint sys_enter +416: perf_event prog 1129 + tracepoint sys_exit +417: perf_event prog 1130 + tracepoint softirq_entry +418: perf_event prog 1131 + tracepoint softirq_exit +419: perf_event prog 1132 + tracepoint irq_handler_entry +420: perf_event prog 1133 + tracepoint irq_handler_exit +421: perf_event prog 1134 + event 6 :0 +422: perf_event prog 1135 + event 6 :0 +``` + +挂载了14个ebpf程åºï¼Œraw_tracepoint 2个,tracepoint 10 个,perf_event 2 个 + +## cpu使用情况 +通过挂载在以下内核节点上的 BPF 程åºï¼Œå¯¹ CPU ä¸åŒåŠŸèƒ½çš„ä½¿ç”¨çŽ‡è¿›è¡Œç»Ÿè®¡ï¼š +- è¿è¡Œæ—¶é—´ï¼šsched_switch +- 空闲状æ€ï¼šcpu_idle +- å†…æ ¸æ€æˆ–用户æ€ï¼šsys_enter å’Œ sys_exit +- 软中断:softirq_entry å’Œ softirq_exit +- 硬中断:irq_handler_entry å’Œ irq_handler_exit + +这些节点的挂载覆盖 CPU çš„å„ç§å·¥ä½œçжæ€ï¼Œæ”¯æŒç³»ç»Ÿçº§åˆ«çš„ä½¿ç”¨çŽ‡åˆ†æž + +本地文件ä¿å­˜åœ¨`visualize/run/cpu_usage.csv`中,格å¼å¦‚下 +``` +CPU ID,User Time,Kernel Time,Idle Time,IRQ Time,SoftIRQ Time +0,0.000000,0.050000,0.920000,0.000000,0.000000 +1,0.000000,0.010000,0.940000,0.000000,0.000000 +2,0.000000,0.020000,0.900000,0.000000,0.000000 +3,0.000000,0.020000,0.960000,0.000000,0.000000 +4,0.000000,0.050000,0.940000,0.000000,0.000000 +5,0.000000,0.140000,0.840000,0.000000,0.000000 +6,0.000000,0.050000,0.930000,0.000000,0.000000 +7,0.000000,0.100000,0.840000,0.000000,0.000000 +8,0.000000,0.010000,0.970000,0.000000,0.000000 +9,0.000000,0.040000,0.860000,0.000000,0.000000 +10,0.000000,0.020000,0.950000,0.000000,0.000000 +11,0.030000,0.590000,0.290000,0.000000,0.000000 +``` +æ¯500ms用perf事件输出一次 + +## cpuå ç”¨çŽ‡é«˜çš„çº¿ç¨‹çš„æƒ…å†µ +系统为æ¯ä¸ªä»»åŠ¡ç»´æŠ¤äº†ä¸€ä¸ª struct task_cpu_usage æ•°æ®ç»“构,用于存储线程的 CPU 使用情况,并记录在 task_cpu_usage_map 中。 +åŒæ—¶ï¼Œé€šè¿‡ä»¥ä¸‹æœºåˆ¶å¯¹é«˜å ç”¨çº¿ç¨‹è¿›è¡Œæ•获和输出: +1. 高å ç”¨çº¿ç¨‹çš„æ•èŽ· + - 使用函数 task_concerned_update(struct task_cpu_usage *task_usage, u32 threshold) + - 该函数对线程的 CPU å ç”¨æƒ…况进行判断,并将å ç”¨çŽ‡é«˜äºŽé˜ˆå€¼çš„çº¿ç¨‹ç§»å…¥ thread_occupied_mapï¼Œå¹¶è§¦å‘ perf 输出 +2. 输出优化 + - æ¯ 500 毫秒清ç†ä¸€æ¬¡å ç”¨çŽ‡è®°å½• + - è®¾ç½®å‚æ•°ç¡®ä¿æå‰è¶…过阈值的线程ä¸ä¼šè¢«é‡å¤è¾“出 + - 对于æå‰è¾¾åˆ°é˜ˆå€¼çš„线程,其å ç”¨çŽ‡æ ¹æ®æ—¶é—´æ¯”例进行线性增长,公å¼å¦‚下 + + `u64 delta = (HALF_SECOND + task_usage->last_clear_time - now) * 10 / HALF_SECOND;` + +输出ä¿å­˜åœ¨`visualize/run/task_usage.csv` +``` +PID,Name,Total Percent,Kernel Percent,User Percent +76167,code,51.000000,1.000000,0.000000 +76318,cpptools,185.000000,1.000000,0.000000 +77306,xrdp,21.000000,1.000000,0.000000 +3863,Xorg,10.000000,1.000000,0.000000 +76167,code,42.000000,1.000000,0.000000 +3863,Xorg,41.000000,1.000000,0.000000 +77306,xrdp,53.000000,1.000000,0.000000 +3863,Xorg,30.000000,1.000000,0.000000 +77306,xrdp,37.000000,1.000000,0.000000 +``` + +## cpuå ç”¨çŽ‡é«˜çš„è¿›ç¨‹çš„æƒ…å†µ +统计高å ç”¨è¿›ç¨‹çš„逻辑与线程类似,但记录维度由 pid 转æ¢ä¸º tgid(进程 ID)。具体实现包括: +1. 进程 CPU 使用记录 + - 所有进程的 CPU 使用情况存储在 process_map 中 + - 通过 process_concerned_update(struct process_struct *ps, u32 threshold) 函数,判断高å ç”¨è¿›ç¨‹å¹¶è§¦å‘记录与输出 +2. 高å ç”¨è¿›ç¨‹çš„管ç†ä¸Žè¾“出 + - 高å ç”¨è¿›ç¨‹çš„ä¿¡æ¯å­˜å‚¨åœ¨ process_occupied_map 中,并通过 perf 输出 + +è¿™ç§è®¾è®¡ä¸Žçº¿ç¨‹ç»Ÿè®¡ä¸€è‡´ï¼Œä¾¿äºŽä»Žçº¿ç¨‹å’Œè¿›ç¨‹ä¸¤ä¸ªç»´åº¦æ•获 CPU 高å ç”¨çš„异常行为 + +输出ä¿å­˜åœ¨`visualize/run/process_stat.csv` +``` +TGID,Kids Length,Total Percent +77306,1,68.000000 +3863,1,51.000000 +76167,9,60.000000 +76167,11,65.000000 +77306,1,53.000000 +77620,1,150.000000 +``` + + + +## 调度延迟 +调度延迟功能å‚考自 runqlat,用于监控任务等待 CPU 调度的时间分布。其具体实现特点如下: +1. 时间区间统计 + - 将任务等待调度的时间分为 8 个区间,分别代表ä¸åŒçš„等待时间范围 + - æ•°æ®è®°å½•为累计值,从 BPF 程åºå¯åŠ¨å¼€å§‹ï¼Œæ¯ 500 毫秒更新一次 +2. åæ˜  CPU 压力 + - ç´¯è®¡å€¼åæ˜ ç³»ç»Ÿä¸­ä»»åŠ¡çš„è°ƒåº¦å»¶è¿Ÿåˆ†å¸ƒï¼Œä»Žä¸­å¯ä»¥è¯„ä¼°å½“å‰ CPU 的压力情况 + - 当存在异常任务å ç”¨å¤§é‡ CPU 时,åŽå‡ ä¸ªåŒºé—´çš„值会增长更快,表明调度压力显著增加 + +通过分æžè°ƒåº¦å»¶è¿Ÿï¼Œå¯ä»¥å¿«é€Ÿåˆ¤æ–­ç³»ç»Ÿå½“å‰çš„调度å¥åº·çŠ¶å†µï¼Œå¹¶ä¸ºå¼‚å¸¸ä»»åŠ¡çš„å®šä½æä¾›ä¾æ® + +本地文件是在`visualize/run/runqlat` +``` +1us,4us,16us,64us,256us,1ms,4ms,4ms+ +4384,570,252,36,0,0,0,0 +4764,1019,514,68,0,0,2,0 +5144,1376,818,101,0,1,3,1 +5336,1611,1067,125,1,1,3,1 +5403,1680,1167,176,2,3,3,1 +5415,1719,1221,234,2,3,3,1 +5426,1746,1262,280,2,4,3,1 +5432,1773,1296,319,2,4,3,1 +5515,1842,1357,366,3,5,3,1 +5728,1951,1413,391,3,5,3,1 +6423,2338,1563,434,6,8,3,1 +6498,2424,1626,483,6,8,3,1 +6732,2567,1702,521,10,9,3,1 +6975,2688,1783,568,10,9,3,1 +6986,2737,1827,626,10,9,3,1 +7192,2821,1874,659,11,9,3,1 +``` + + +## 实验 +这部分对应的视频是â€cpu部分â€ï¼ŒåŒæ ·è¿™ä¹Ÿæ˜¯ä¹‹åŽscx-nestéƒ¨åˆ†çš„é¦–ä¸ªæµ‹è¯•è§†é¢‘ï¼Œä¸‹é¢æ‰€æœ‰çš„图片都是æºäºŽè¿™ä¸ªè§†é¢‘,具体数æ®åˆ†æžåœ¨scx-nestéƒ¨åˆ†è¯¦ç»†åˆ†æž + +![img_4.png](img_4.png) +![img_5.png](img_5.png) + +![img_6.png](img_6.png) + +对比pid部分和tgid部分å¯ä»¥çœ‹åˆ°ç›‘视程åºéƒ½æˆåŠŸæŠŠstress-ngè¯†åˆ«äº†å‡ºæ¥ + +对于csvæ•°æ®ä¹Ÿéƒ½åšäº†å¯è§†åŒ–处ç†ï¼Œå¯¹äºŽcpu部分的就在`visualize/cpu_data_analyse.py`,这里展示部分统计图 + +![process_cpu_total.png](process_cpu_total.png) + + +![task_total_cpu.png](task_total_cpu.png) + + + + + + + + + + + + + + + + + diff --git a/Document/cpu_kernel_time.png b/Document/cpu_kernel_time.png new file mode 100644 index 0000000..cc22088 Binary files /dev/null and b/Document/cpu_kernel_time.png differ diff --git a/Document/img.png b/Document/img.png new file mode 100644 index 0000000..9acdf77 Binary files /dev/null and b/Document/img.png differ diff --git a/Document/img_1.png b/Document/img_1.png new file mode 100644 index 0000000..5427a25 Binary files /dev/null and b/Document/img_1.png differ diff --git a/Document/img_10.png b/Document/img_10.png new file mode 100644 index 0000000..b36bf59 Binary files /dev/null and b/Document/img_10.png differ diff --git a/Document/img_11.png b/Document/img_11.png new file mode 100644 index 0000000..2bb61af Binary files /dev/null and b/Document/img_11.png differ diff --git a/Document/img_12.png b/Document/img_12.png new file mode 100644 index 0000000..9b686b9 Binary files /dev/null and b/Document/img_12.png differ diff --git a/Document/img_13.png b/Document/img_13.png new file mode 100644 index 0000000..629596a Binary files /dev/null and b/Document/img_13.png differ diff --git a/Document/img_14.png b/Document/img_14.png new file mode 100644 index 0000000..403abdf Binary files /dev/null and b/Document/img_14.png differ diff --git a/Document/img_15.png b/Document/img_15.png new file mode 100644 index 0000000..42829dd Binary files /dev/null and b/Document/img_15.png differ diff --git a/Document/img_16.png b/Document/img_16.png new file mode 100644 index 0000000..3cef8ff Binary files /dev/null and b/Document/img_16.png differ diff --git a/Document/img_17.png b/Document/img_17.png new file mode 100644 index 0000000..eef1255 Binary files /dev/null and b/Document/img_17.png differ diff --git a/Document/img_18.png b/Document/img_18.png new file mode 100644 index 0000000..6c0072e Binary files /dev/null and b/Document/img_18.png differ diff --git a/Document/img_19.png b/Document/img_19.png new file mode 100644 index 0000000..a2886b0 Binary files /dev/null and b/Document/img_19.png differ diff --git a/Document/img_2.png b/Document/img_2.png new file mode 100644 index 0000000..d5458e4 Binary files /dev/null and b/Document/img_2.png differ diff --git a/Document/img_20.png b/Document/img_20.png new file mode 100644 index 0000000..1811b34 Binary files /dev/null and b/Document/img_20.png differ diff --git a/Document/img_21.png b/Document/img_21.png new file mode 100644 index 0000000..7b3419b Binary files /dev/null and b/Document/img_21.png differ diff --git a/Document/img_22.png b/Document/img_22.png new file mode 100644 index 0000000..b11a281 Binary files /dev/null and b/Document/img_22.png differ diff --git a/Document/img_23.png b/Document/img_23.png new file mode 100644 index 0000000..78b3702 Binary files /dev/null and b/Document/img_23.png differ diff --git a/Document/img_24.png b/Document/img_24.png new file mode 100644 index 0000000..d45b7d2 Binary files /dev/null and b/Document/img_24.png differ diff --git a/Document/img_25.png b/Document/img_25.png new file mode 100644 index 0000000..4aa9dd2 Binary files /dev/null and b/Document/img_25.png differ diff --git a/Document/img_26.png b/Document/img_26.png new file mode 100644 index 0000000..f279877 Binary files /dev/null and b/Document/img_26.png differ diff --git a/Document/img_27.png b/Document/img_27.png new file mode 100644 index 0000000..66145c2 Binary files /dev/null and b/Document/img_27.png differ diff --git a/Document/img_28.png b/Document/img_28.png new file mode 100644 index 0000000..253ab98 Binary files /dev/null and b/Document/img_28.png differ diff --git a/Document/img_29.png b/Document/img_29.png new file mode 100644 index 0000000..1ef8bb2 Binary files /dev/null and b/Document/img_29.png differ diff --git a/Document/img_3.png b/Document/img_3.png new file mode 100644 index 0000000..795312b Binary files /dev/null and b/Document/img_3.png differ diff --git a/Document/img_30.png b/Document/img_30.png new file mode 100644 index 0000000..fa6c236 Binary files /dev/null and b/Document/img_30.png differ diff --git a/Document/img_31.png b/Document/img_31.png new file mode 100644 index 0000000..45040e5 Binary files /dev/null and b/Document/img_31.png differ diff --git a/Document/img_32.jpg b/Document/img_32.jpg new file mode 100644 index 0000000..bcee0fa Binary files /dev/null and b/Document/img_32.jpg differ diff --git a/Document/img_33.jpg b/Document/img_33.jpg new file mode 100644 index 0000000..86989fc Binary files /dev/null and b/Document/img_33.jpg differ diff --git a/Document/img_4.png b/Document/img_4.png new file mode 100644 index 0000000..7e89156 Binary files /dev/null and b/Document/img_4.png differ diff --git a/Document/img_5.png b/Document/img_5.png new file mode 100644 index 0000000..25ec4ba Binary files /dev/null and b/Document/img_5.png differ diff --git a/Document/img_6.png b/Document/img_6.png new file mode 100644 index 0000000..b4adb0b Binary files /dev/null and b/Document/img_6.png differ diff --git a/Document/img_7.png b/Document/img_7.png new file mode 100644 index 0000000..70d6a7d Binary files /dev/null and b/Document/img_7.png differ diff --git a/Document/img_8.png b/Document/img_8.png new file mode 100644 index 0000000..34d82f9 Binary files /dev/null and b/Document/img_8.png differ diff --git a/Document/img_9.png b/Document/img_9.png new file mode 100644 index 0000000..f4d08cd Binary files /dev/null and b/Document/img_9.png differ diff --git a/Document/io.md b/Document/io.md new file mode 100644 index 0000000..3e8cd95 --- /dev/null +++ b/Document/io.md @@ -0,0 +1,209 @@ +## 挂载的程åºå’Œç›¸å…³é’©å­ +```shell +root@ne0-System:~# bpftool link show +1: tracing prog 2 + prog_type tracing attach_type modify_return + target_obj_id 1 target_btf_id 35400 +444: perf_event prog 1178 + tracepoint block_rq_issue +445: perf_event prog 1180 + tracepoint block_rq_complete +446: perf_event prog 1182 + tracepoint sys_enter_read +447: perf_event prog 1183 + tracepoint sys_enter_write +448: perf_event prog 1184 + tracepoint sched_process_exit +449: perf_event prog 1181 + event 6 :0 +``` +```shell +root@ne0-System:~# bpftool prog show +1178: tracepoint name io_trace_rq_issue tag cc594f0a6ac10c35 gpl + loaded_at 2024-12-22T16:00:30+0800 uid 0 + xlated 112B jited 69B memlock 4096B map_ids 602,611 + btf_id 478 +1180: tracepoint name io_trace_rq_complete tag ede2777588a83655 gpl + loaded_at 2024-12-22T16:00:30+0800 uid 0 + xlated 584B jited 340B memlock 4096B map_ids 602,604,611 + btf_id 478 +1181: perf_event name handle_io_wait_event tag efb43df12d62b386 gpl + loaded_at 2024-12-22T16:00:30+0800 uid 0 + xlated 1280B jited 654B memlock 4096B map_ids 603,611,604 + btf_id 478 +1182: tracepoint name io_trace_enter_read tag 723f556fb255b6fe gpl + loaded_at 2024-12-22T16:00:30+0800 uid 0 + xlated 2256B jited 1200B memlock 4096B map_ids 605,606,607,611,608,609 + btf_id 478 +1183: tracepoint name io_trace_enter_write tag e393cb3e6a12faa6 gpl + loaded_at 2024-12-22T16:00:30+0800 uid 0 + xlated 2264B jited 1203B memlock 4096B map_ids 605,606,607,611,608,609 + btf_id 478 +1184: tracepoint name handle_io_task_exit tag c08bfb018faad224 gpl + loaded_at 2024-12-22T16:00:30+0800 uid 0 + xlated 184B jited 117B memlock 4096B map_ids 605,611 + btf_id 478 +``` +总挂载点数é‡6个,tracepoint5 个(block_rq_issue, block_rq_complete, sys_enter_read, sys_enter_write, sched_process_exit), +perf_event 1 个 + + +## 系统IO的整体情况 +cpu部分是当时第一个编写的,所以把部分å¯ä»¥ä»Žprocçš„è¯»çš„ä¹Ÿé‡æ–°ç”¨ebpfå¤çŽ°äº†ä¸€ä¸‹ï¼Œ +之åŽçš„三个部分都是先通过procèŽ·å–æ•´ä½“性的数æ®ï¼Œç„¶åŽå¯¹äºŽproc获得ä¸äº†çš„,å†è¿›ä¸€æ­¥ebpf + +```shell +Disk IO Statistics +--------------------------------------------------------------------- +Device Read(MB/s) Write(MB/s) IOPS iowait(ms) +--------------------------------------------------------------------- +nvme0n1 0.00 0.09 12 0.42 +nvme0n1p1 0.00 0.00 0 0.00 +nvme0n1p2 0.00 0.00 0 0.00 +nvme0n1p3 0.00 0.00 0 0.00 +nvme0n1p4 0.00 0.00 0 0.00 +nvme0n1p5 0.00 0.00 0 0.00 +nvme0n1p6 0.00 0.00 0 0.00 +nvme0n1p7 0.00 0.00 0 0.00 +nvme0n1p8 0.00 0.00 0 0.00 +nvme0n1p9 0.00 0.09 12 0.42 +nvme0n1p10 0.00 0.00 0 0.00 +sda 0.00 0.00 0 0.00 +sda1 0.00 0.00 0 0.00 +--------------------------------------------------------------------- +``` +从procä¸­è¯»å–æ•°æ®å¤„ç†åŽå¾—到的表格,是一张显示ç£ç›˜å’Œåˆ†åŒº I/O 统计的表格,用于监控系统中å„ç£ç›˜è®¾å¤‡åŠå…¶åˆ†åŒºçš„读写性能指标 +- Device:ç£ç›˜æˆ–分区的设备å称,例如 nvme0n1, nvme0n1p1, sda +- Read/Write(MB/s):æ¯ç§’读å–/写入的数æ®é‡ï¼ˆå•ä½ï¼šMB/s) +- IOPS:æ¯ç§’ I/O æ“作数(Input/Output Operations Per Second) +- iowait:I/O 等待时间(å•ä½ï¼šæ¯«ç§’),表示设备平å‡ç­‰å¾…æ—¶é—´ + +检测å„个ç£ç›˜å’Œåˆ†åŒºçš„ I/O 活动,识别活跃的设备和潜在的性能瓶颈。 + + +## 对写入或读å–超阈值的task进行监视 +1. 对写入或读å–超阈值的任务进行监视 + - å®žçŽ°æ–¹å¼ + - 建立 io_task_stats_map,用于映射æ¯ä¸ªä»»åŠ¡çš„è¯»å–é‡å’Œå†™å…¥é‡ + - 挂载在以下 tracepoint 节点 + - tracepoint/syscalls/sys_enter_write:统计写入调用次数 + - tracepoint/syscalls/sys_enter_read:统计读å–调用次数 + - 实现逻辑 + - 通过 io_task_compare_and_commit(struct io_task_stats *task) 函数,对超过阈值的任务进行æ•èŽ·å¹¶è§¦å‘ perf 输出 +2. 阈值定义 + - 统计目标:在指定时间窗å£å†…的读å–和写入调用次数,å³è¯»å†™é¢‘率 + - 具体结构为 +```c +struct io_stats_threhold task = { + .read_count = 50, + .write_count = 50, + .time_window = (1000 * MSEC) // 1s +}; +``` + - æå‰è¾¾åˆ°é˜ˆå€¼çš„调整:对于æå‰è¾¾åˆ°é˜ˆå€¼çš„任务,根æ®è·ç¦»æ—¶é—´çª—壿œ«å°¾çš„æ—¶é—´ï¼ŒåЍæ€è°ƒæ•´ç»Ÿè®¡å€¼ +```c +u64 time_spare = task->last_clear_time + threhold->time_window - now; +time_spare = time_spare * 100 / threhold->time_window; +time_spare = (u32)time_spare; +if (time_spare > 10) { + buff->write_count *= (time_spare / 10); + buff->read_count *= (time_spare / 10); +} +``` + + +对于结果的输出,本地的数æ®ä¿å­˜åœ¨`visualize/run/io_task_stats.csv` +``` +PID,Command,Read Count,Write Count +76310,cpptools,450,0 +76493,cpptools-srv,450,0 +76495,cpptools-srv,0,450 +76500,cpptools,0,450 +76502,cpptools,0,450 +76499,cpptools,0,450 +76501,cpptools,0,450 +76497,cpptools-srv,0,450 +76494,cpptools-srv,0,450 +76241,code,198,300 +77982,os_spy,40,200 +77982,os_spy,48,200 +77982,os_spy,48,200 +77982,os_spy,48,200 +2899,prometheus-node,450,0 +2896,prometheus-node,450,0 +7023,prometheus-node,450,0 +``` + +## 对写入或读å–超阈值的process进行监视 +- å®žçŽ°æ–¹å¼ + - 类似于任务的监视机制,但统计的å•ä½ä¸ºè¿›ç¨‹ + - 使用 io_process_stats_map 记录æ¯ä¸ªè¿›ç¨‹çš„ IO 行为 +- 特点 + - 通过相åŒçš„é€»è¾‘åˆ¤æ–­è¶…é˜ˆå€¼çš„è¿›ç¨‹ï¼Œå¹¶è§¦å‘ perf 输出 + - 便于从全局视角监控å ç”¨ IO 资æºè¾ƒå¤šçš„进程 + +æ•°æ®å­˜å‚¨åœ¨æœ¬åœ°çš„`visualize/run/io_process_stats` +``` +TGID,Read Count,Write Count +76306,100,65 +76490,100,51 +76076,100,56 +723,100,2 +723,101,2 +3993,41,100 +3993,60,100 +723,100,1 +723,101,1 +3993,44,100 +``` + +## 对IO请求的相应延迟 +- 延迟计算 + - 挂载在以下 tracepoint 节点 + - tracepoint/block/block_rq_issue:记录 IO 请求开始的时间 + - tracepoint/block/block_rq_complete:记录 IO 请求完æˆçš„æ—¶é—´ + - 计算请求延迟为两次时间记录的差值 +- 延迟统计 + - å¯¹è¯·æ±‚å»¶è¿Ÿè¿›è¡Œè®¡æ•°ç»Ÿè®¡ï¼Œè®°å½•å»¶è¿Ÿåˆ†å¸ƒæ•°æ® + +具体的本地数æ®å­˜å‚¨åœ¨`visualize/run/iowait_perf` + +``` +1us,4us,16us,64us,256us,1ms,4ms,4ms+ +0,0,0,0,1,0,0,0 +0,0,0,0,2,1,1,0 +0,0,0,0,2,1,1,0 +0,0,0,0,3,1,3,0 +0,0,0,0,3,1,3,0 +0,0,0,0,4,1,3,0 +0,0,0,0,4,1,3,0 +0,0,0,1,8,3,6,1 +0,0,0,1,8,3,6,1 +0,0,0,1,8,4,6,2 +0,0,0,1,8,4,6,2 +0,0,0,1,8,4,6,2 +0,0,0,1,8,4,6,2 +0,0,0,1,8,5,6,2 +0,0,0,1,8,5,6,2 +0,0,0,1,8,7,7,2 +0,0,0,1,8,7,7,2 +``` + + +## 实验 +具体在视频链接的“IO部分†+ +![img_7.png](img_7.png) + +![img_8.png](img_8.png) + + +![img_9.png](img_9.png) + +![img_10.png](img_10.png) + +![img_11.png](img_11.png) + +对于csvæ•°æ®ä¹Ÿéƒ½åšäº†å¯è§†åŒ–处ç†ï¼Œå¯¹äºŽio部分的就在`visualize/io_data_analyse.py`,这里展示部分统计图 + +![io_task_write.png](io_task_write.png) diff --git a/Document/io_task_write.png b/Document/io_task_write.png new file mode 100644 index 0000000..586ef05 Binary files /dev/null and b/Document/io_task_write.png differ diff --git a/Document/memory.md b/Document/memory.md new file mode 100644 index 0000000..15b7993 --- /dev/null +++ b/Document/memory.md @@ -0,0 +1,358 @@ +## 挂载的程åºå’Œç›¸å…³é’©å­ +```shell +root@ne0-System:~# bpftool link show +1260: kprobe name malloc_enter tag 2e4ae9a5ee7c4561 gpl + loaded_at 2024-12-22T17:27:42+0800 uid 0 + xlated 240B jited 148B memlock 4096B map_ids 666,660 + btf_id 501 +1262: kprobe name free_enter tag fc5984fdad8cdf46 gpl + loaded_at 2024-12-22T17:27:42+0800 uid 0 + xlated 352B jited 213B memlock 4096B map_ids 661,662,666 + btf_id 501 +1263: kprobe name calloc_enter tag 33dfaebac0a311fb gpl + loaded_at 2024-12-22T17:27:42+0800 uid 0 + xlated 256B jited 156B memlock 4096B map_ids 666,660 + btf_id 501 +1264: kprobe name realloc_enter tag 95ea65071e38bc9e gpl + loaded_at 2024-12-22T17:27:42+0800 uid 0 + xlated 576B jited 340B memlock 4096B map_ids 661,662,666,660 + btf_id 501 +1265: kprobe name mmap_enter tag 6d3f5f3c48ca8ee9 gpl + loaded_at 2024-12-22T17:27:42+0800 uid 0 + xlated 240B jited 148B memlock 4096B map_ids 666,660 + btf_id 501 +1266: kprobe name munmap_enter tag fc5984fdad8cdf46 gpl + loaded_at 2024-12-22T17:27:42+0800 uid 0 + xlated 352B jited 213B memlock 4096B map_ids 661,662,666 + btf_id 501 +1267: kprobe name posix_memalign_enter tag ea48ae5dc2be047f gpl + loaded_at 2024-12-22T17:27:42+0800 uid 0 + xlated 344B jited 200B memlock 4096B map_ids 663,666,660 + btf_id 501 +1268: kprobe name aligned_alloc_enter tag 6d3f5f3c48ca8ee9 gpl + loaded_at 2024-12-22T17:27:42+0800 uid 0 + xlated 240B jited 148B memlock 4096B map_ids 666,660 + btf_id 501 +1269: kprobe name valloc_enter tag 2e4ae9a5ee7c4561 gpl + loaded_at 2024-12-22T17:27:42+0800 uid 0 + xlated 240B jited 148B memlock 4096B map_ids 666,660 + btf_id 501 +1270: kprobe name memalign_enter tag 6d3f5f3c48ca8ee9 gpl + loaded_at 2024-12-22T17:27:42+0800 uid 0 + xlated 240B jited 148B memlock 4096B map_ids 666,660 + btf_id 501 +1271: kprobe name pvalloc_enter tag 2e4ae9a5ee7c4561 gpl + loaded_at 2024-12-22T17:27:42+0800 uid 0 + xlated 240B jited 148B memlock 4096B map_ids 666,660 + btf_id 501 +1272: kprobe name malloc_exit tag ce5ecb314224e364 gpl + loaded_at 2024-12-22T17:27:42+0800 uid 0 + xlated 736B jited 430B memlock 4096B map_ids 660,664,661,666,662,667 + btf_id 501 +1273: kprobe name calloc_exit tag ce5ecb314224e364 gpl + loaded_at 2024-12-22T17:27:42+0800 uid 0 + xlated 736B jited 430B memlock 4096B map_ids 660,664,661,666,662,667 + btf_id 501 +1274: kprobe name realloc_exit tag ce5ecb314224e364 gpl + loaded_at 2024-12-22T17:27:42+0800 uid 0 + xlated 736B jited 430B memlock 4096B map_ids 660,664,661,666,662,667 + btf_id 501 +1275: kprobe name mmap_exit tag ce5ecb314224e364 gpl + loaded_at 2024-12-22T17:27:42+0800 uid 0 + xlated 736B jited 430B memlock 4096B map_ids 660,664,661,666,662,667 + btf_id 501 +1276: kprobe name posix_memalign_exit tag 88fa353e53959581 gpl + loaded_at 2024-12-22T17:27:42+0800 uid 0 + xlated 936B jited 549B memlock 4096B map_ids 663,660,664,661,666,662,667 + btf_id 501 +1277: kprobe name aligned_alloc_exit tag ce5ecb314224e364 gpl + loaded_at 2024-12-22T17:27:42+0800 uid 0 + xlated 736B jited 430B memlock 4096B map_ids 660,664,661,666,662,667 + btf_id 501 +1278: kprobe name valloc_exit tag ce5ecb314224e364 gpl + loaded_at 2024-12-22T17:27:42+0800 uid 0 + xlated 736B jited 430B memlock 4096B map_ids 660,664,661,666,662,667 + btf_id 501 +1279: kprobe name memalign_exit tag ce5ecb314224e364 gpl + loaded_at 2024-12-22T17:27:42+0800 uid 0 + xlated 736B jited 430B memlock 4096B map_ids 660,664,661,666,662,667 + btf_id 501 +1280: kprobe name pvalloc_exit tag ce5ecb314224e364 gpl + loaded_at 2024-12-22T17:27:42+0800 uid 0 + xlated 736B jited 430B memlock 4096B map_ids 660,664,661,666,662,667 + btf_id 501 +1281: tracepoint name memleak__kmalloc tag bbdda729ba968fd2 gpl + loaded_at 2024-12-22T17:27:42+0800 uid 0 + xlated 1096B jited 635B memlock 4096B map_ids 666,660,664,661,662,667 + btf_id 501 +1282: tracepoint name memleak__kfree tag 4c1aa144b95d034a gpl recursion_misses 2 + loaded_at 2024-12-22T17:27:42+0800 uid 0 + xlated 408B jited 241B memlock 4096B map_ids 661,662,666 + btf_id 501 +1283: tracepoint name memleak__kmem_cache_alloc_node tag bbdda729ba968fd2 gpl + loaded_at 2024-12-22T17:27:42+0800 uid 0 + xlated 1096B jited 635B memlock 4096B map_ids 666,660,664,661,662,667 + btf_id 501 +1284: tracepoint name memleak__kmem_cache_free tag 4c1aa144b95d034a gpl + loaded_at 2024-12-22T17:27:42+0800 uid 0 + xlated 408B jited 241B memlock 4096B map_ids 661,662,666 + btf_id 501 +1285: tracepoint name memleak__mm_page_alloc tag f996963c6c5eaf51 gpl recursion_misses 1 + loaded_at 2024-12-22T17:27:42+0800 uid 0 + xlated 1008B jited 590B memlock 4096B map_ids 666,660,664,661,662,667 + btf_id 501 +1286: tracepoint name memleak__mm_page_free tag 371c7edce49a5522 gpl + loaded_at 2024-12-22T17:27:42+0800 uid 0 + xlated 352B jited 213B memlock 4096B map_ids 661,662,666 + btf_id 501 +1287: tracepoint name memleak__percpu_alloc_percpu tag 6a9933a1487357b8 gpl + loaded_at 2024-12-22T17:27:42+0800 uid 0 + xlated 976B jited 572B memlock 4096B map_ids 666,660,664,661,662,667 + btf_id 501 +1288: tracepoint name memleak__percpu_free_percpu tag e471e6ba77e95c74 gpl + loaded_at 2024-12-22T17:27:42+0800 uid 0 + xlated 352B jited 213B memlock 4096B map_ids 661,662,666 + btf_id 501 +1291: kprobe name oom_kill_process tag c29222416dc6edb9 gpl + loaded_at 2024-12-22T17:27:42+0800 uid 0 + xlated 344B jited 198B memlock 4096B map_ids 676,677 + btf_id 502 +1292: tracepoint name trace_kmalloc tag 06788d6a8d9da18d gpl + loaded_at 2024-12-22T17:27:42+0800 uid 0 + xlated 2104B jited 1101B memlock 4096B map_ids 669,670,673,677,674,675 + btf_id 502 +1293: tracepoint name trace_kfree tag 06788d6a8d9da18d gpl recursion_misses 2 + loaded_at 2024-12-22T17:27:42+0800 uid 0 + xlated 2104B jited 1101B memlock 4096B map_ids 669,670,673,677,674,675 + btf_id 502 +1294: tracepoint name trace_page_alloc tag 9e84541614dd95cf gpl recursion_misses 1 + loaded_at 2024-12-22T17:27:42+0800 uid 0 + xlated 2104B jited 1101B memlock 4096B map_ids 669,670,673,677,674,675 + btf_id 502 +1295: tracepoint name trace_page_free tag 9e84541614dd95cf gpl + loaded_at 2024-12-22T17:27:42+0800 uid 0 + xlated 2104B jited 1101B memlock 4096B map_ids 669,670,673,677,674,675 + btf_id 502 +1296: tracepoint name trace_cache_alloc tag 2df646d571e4d41e gpl + loaded_at 2024-12-22T17:27:42+0800 uid 0 + xlated 2112B jited 1106B memlock 4096B map_ids 669,670,673,677,674,675 + btf_id 502 +1297: tracepoint name trace_cache_free tag 2df646d571e4d41e gpl + loaded_at 2024-12-22T17:27:42+0800 uid 0 + xlated 2112B jited 1106B memlock 4096B map_ids 669,670,673,677,674,675 + btf_id 502 +1298: tracepoint name handle_mm_task_exit tag c08bfb018faad224 gpl + loaded_at 2024-12-22T17:27:42+0800 uid 0 + xlated 184B jited 117B memlock 4096B map_ids 669,677 + btf_id 502 +``` +```shell +root@ne0-System:~# bpftool link show +1: tracing prog 2 + prog_type tracing attach_type modify_return + target_obj_id 1 target_btf_id 35400 +487: perf_event prog 1281 + tracepoint kmalloc +488: perf_event prog 1282 + tracepoint kfree +489: perf_event prog 1283 + tracepoint kmem_cache_alloc +490: perf_event prog 1284 + tracepoint kmem_cache_free +491: perf_event prog 1285 + tracepoint mm_page_alloc +492: perf_event prog 1286 + tracepoint mm_page_free +493: perf_event prog 1287 + tracepoint percpu_alloc_percpu +494: perf_event prog 1288 + tracepoint percpu_free_percpu +495: perf_event prog 1291 + kprobe ffffffffa79bf480 oom_kill_process +496: perf_event prog 1292 + tracepoint kmalloc +497: perf_event prog 1293 + tracepoint kfree +498: perf_event prog 1294 + tracepoint mm_page_alloc +499: perf_event prog 1295 + tracepoint mm_page_free +500: perf_event prog 1296 + tracepoint kmem_cache_alloc +501: perf_event prog 1297 + tracepoint kmem_cache_free +502: perf_event prog 1298 + tracepoint sched_process_exit +``` +æŒ‚è½½çš„ç¨‹åºæ€»æ•°24个,kprobe挂载到内核函数入å£å’Œå‡ºå£ï¼Œå…± 13 个程åºï¼Œtracepoint挂载到内核事件点(如内存分é…ã€é¡µåˆ†é…),共 11 ä¸ªç¨‹åº + + +## ç³»ç»Ÿæ•´ä½“çš„å†…å­˜åˆ†é…æƒ…况 +通过直接在proc中获得的数æ®å¯ä»¥ç›´æŽ¥åˆ†æžå¾—到当å‰ç³»ç»Ÿçš„æ•´ä½“情况 +``` +--- Memory Usage --- +Total Memory: 32672744 kB +Used Memory: 23731496 kB (72.63%) +Available Memory: 28289196 kB (86.58%) +Buffers: 1374208 kB +Cached: 17898404 kB + +--- Swap Memory --- +Total Swap: 32226300 kB +Used Swap: 0 kB (0.00%) + +--- Memory Commitment --- +Commit Limit: 48562672 kB +Committed AS: 13347864 kB (27.49%) +``` +- Memory Usage + - Used Memory:已使用内存,包括正在被程åºã€ç³»ç»Ÿç¼“存和其他内核组件å ç”¨çš„内存 + - Available Memory:表示目å‰å¯ä¾›æ–°ä»»åŠ¡ä½¿ç”¨çš„å†…å­˜é‡ï¼ŒåŒ…括缓存å¯è¢«å›žæ”¶çš„部分 + - Buffers:系统用于å—设备(如硬盘) I/O æ“作的缓冲区 + - Cached:系统文件和程åºçš„缓存数æ®ï¼Œç”¨äºŽåŠ é€ŸåŽç»­è®¿é—® +- Swap Memory + - Total Swap:总交æ¢åˆ†åŒº + - Used Swap:已使用交æ¢åˆ†åŒº +- Memory Commitment + - Commit Limit:系统å…许的最大内存承诺é‡ï¼ŒåŒ…括物ç†å†…存和交æ¢åˆ†åŒº + - Committed AS:表示当å‰ç¨‹åºæ€»å…±ç”³è¯·çš„内存é‡ï¼ˆè™šæ‹Ÿåœ°å€ç©ºé—´ï¼‰ã€‚尽管申请了这部分内存,但未必全部被物ç†å†…å­˜å®žé™…åˆ†é… + + +## 内核中的内存分é…事件的跟踪 +这里的代ç å…·ä½“æ¥è¯´å°±æ˜¯å‚考 https://github.com/eunomia-bpf/bpf-developer-tutorial/tree/main/src/16-memleak , +想去å°è¯•ç€å†™ä¸€ä¸‹æ ˆå›žæº¯çš„功能,我看网上这个就是个例å­ï¼ŒäºŽæ˜¯å°è¯•ç€å¤çŽ°ä¸€ä¸‹ï¼ŒåŒæ—¶æŠŠå®ƒèžåˆè¿›æˆ‘的代ç ï¼Œ +è¿è¡Œçš„æœ¬åœ°ç»“果存储在[这里](visualize/proc/mm_alloc.txt) +``` + 0 [] __kmalloc_node_track_caller + 0x2f8 + 0 [] __alloc_pages + 0x262 + 0 [] __kmalloc_node.cold + 0x8b + 0 [] kmalloc_trace + 0x26f + 0 [] kmem_cache_alloc_node + 0x28d + 0 [] __kmalloc_node + 0x2fa + 0 [] __kmalloc + 0x290 + 0 [] kmem_cache_alloc + 0x272 + 0 [] kmem_cache_alloc_lru + 0x267 + 0 [] pcpu_alloc + 0x476 + 0 [] kmalloc_node_trace + 0x29a + 0 [] __kmalloc_node_track_caller + 0x2f8 +``` +å¤çŽ°è¿‡ç¨‹ä¸­é‡åˆ°äº†å¾ˆå¤šé—®é¢˜ï¼Œæœ€ç»ˆç®—是到了上é¢è¿™ä¸ªç¨‹åº¦ï¼Œç®—是能精确定ä½åˆ°å†…核的内存分é…事件 + + + +## taskå’Œprocess的内存分é…频率记录 +- æŒ‚è½½ç‚¹ï¼šç¨‹åºæŒ‚载到以下内核 tracepoint 节点,记录内存分é…与释放的频率 + - 分é…相关 + - `tracepoint/kmem/kmalloc` + - `tracepoint/kmem/mm_page_alloc` + - `tracepoint/kmem/kmem_cache_alloc` + - 释放相关 + - `tracepoint/kmem/kfree` + - `tracepoint/kmem/mm_page_free` + - `tracepoint/kmem/kmem_cache_free` +- 记录维度 + - 任务级:æ¯ä¸ªä»»åŠ¡çš„å†…å­˜åˆ†é…频率统计 + - 使用 task_compare_and_commit(struct task_mm_stats *task) 函数 + - æ•获频ç¹è¿›è¡Œå†…存分é…和释放的异常任务 + - 进程级:æ¯ä¸ªè¿›ç¨‹çš„内存分é…频率统计 + - 使用 process_compare_and_commit(struct process_mm_stats *process) 函数 + - 对异常进程的内存æ“作进行记录 + +æ•èŽ·é«˜é¢‘çŽ‡åˆ†é…æˆ–释放内存的任务和进程,定ä½å†…å­˜æ³„æ¼æˆ–频ç¹å†…å­˜æ“作引å‘的性能问题 + +æ•°æ®åœ¨æœ¬åœ°çš„[这里](visualize/run/task_mm_stats.csv)å’Œ[这里](visualize/run/process_mm_stats.csv) + + +``` +PID,Command,Kmem Count,Vmem Count,Slab Count +76316,cpptools,0,500,71 +76318,cpptools,9,75,500 +77572,cpptools-srv,18,51,500 +76167,code,28,500,44 +76310,cpptools,500,8,333 +76493,cpptools-srv,500,31,334 +76208,code,9,500,21 +76084,Chrome_IOThread,2,500,17 +3863,Xorg,500,2,85 +76170,ThreadPoolForeg,0,500,3 +78661,os_spy,500,19,98 +76188,Compositor,21,500,81 +76171,ThreadPoolForeg,0,500,0 +3863,Xorg,500,1,94 +4033,xfwm4,500,0,117 +78661,os_spy,500,2,103 +76230,VizCompositorTh,500,0,106 +3863,Xorg,500,0,61 +78661,os_spy,2,500,70 +3863,Xorg,500,0,59 +76167,code,0,500,11 +2899,prometheus-node,286,27,500 +2900,prometheus-node,285,30,500 +810,prometheus-node,281,14,500 +``` +``` +TGID,Kmem Count,Vmem Count,Slab Count +76306,6,1000,129 +76490,319,190,1000 +76167,97,1000,89 +76208,52,1000,50 +76076,2,1000,25 +78661,1000,19,98 +3863,1000,3,151 +3863,1000,1,252 +4033,1000,0,246 +78661,1000,2,103 +3863,1000,1,122 +78661,2,1000,148 +3863,1000,1,122 +76167,0,1000,12 +723,362,170,1000 +704,1000,84,482 +78661,1000,0,93 +3863,1000,1,112 +3863,1000,1,115 +``` + +## oom事件记录 +- 挂载点 + - 挂载到 kprobe/oom_kill_process,æ•èŽ·ç³»ç»Ÿè§¦å‘ OOM äº‹ä»¶æ—¶çš„è¯¦ç»†ä¿¡æ¯ +- æ•°æ®ç»“æž„ + - OOM 事件的数æ®é€šè¿‡ä»¥ä¸‹ç»“æž„ä½“ä¼ é€’åˆ°ç”¨æˆ·æ€ +```c +struct oom_event { + u32 trigger_id; // è§¦å‘ OOM 的进程 PID + u32 killed_id; // 被 OOM æ€æ­»çš„进程 PID + char comm[TASK_COMM_LEN]; // è¢«æ€æ­»è¿›ç¨‹çš„命令å + u64 kill_time; // OOM å‘生的时间戳 +}; +``` +精确记录 OOM 事件的触å‘与å—害者,便于快速分æžå†…å­˜ä¸è¶³çš„原因,结åˆå†…存分é…频率数æ®ï¼Œå¯ä»¥æ·±å…¥å®šä½å¼‚常任务或进程 + +æ•°æ®åœ¨æœ¬åœ°çš„[这里](visualize/run/oom_event.csv) + + + + +## 实验 +具体对应的是链接中的“memory部分†+ +![img_19.png](img_19.png) + +![img_20.png](img_20.png) + +![img_21.png](img_21.png) + +![img_22.png](img_22.png) + +![img_23.png](img_23.png) + +对于csvæ•°æ®ä¹Ÿéƒ½åšäº†å¯è§†åŒ–处ç†ï¼Œå¯¹äºŽmemory部分的就在`visualize/mm_data_analyse.py`,这里展示部分统计图 + +![task_kmem_count.png](task_kmem_count.png) + +![task_slab_count.png](task_slab_count.png) + +![task_slab_count_xorg.png](task_slab_count_xorg.png) + +![task_vmem_count.png](task_vmem_count.png) + diff --git a/Document/net.md b/Document/net.md new file mode 100644 index 0000000..9c0f3c5 --- /dev/null +++ b/Document/net.md @@ -0,0 +1,260 @@ +## 挂载的程åºå’Œç›¸å…³é’©å­ +```shell +root@ne0-System:~# bpftool prog show +1486: tracepoint name trace_retransmit tag 3626250b7905d155 gpl + loaded_at 2024-12-22T22:05:26+0800 uid 0 + xlated 1160B jited 639B memlock 4096B map_ids 763,765 + btf_id 556 +1488: kprobe name top_tcp_send_entry tag a7ce508aab49e47f gpl + loaded_at 2024-12-22T22:05:26+0800 uid 0 + xlated 112B jited 70B memlock 4096B map_ids 760,765 + btf_id 556 +1489: kprobe name top_tcp_send_ret tag d9c91fb97919a059 gpl + loaded_at 2024-12-22T22:05:26+0800 uid 0 + xlated 3680B jited 1984B memlock 4096B map_ids 760,758,762,765,759 + btf_id 556 +1490: kprobe name top_tcp_recv_entry tag 3db6d55e406884b9 gpl + loaded_at 2024-12-22T22:05:26+0800 uid 0 + xlated 3552B jited 1910B memlock 4096B map_ids 758,762,765,759 + btf_id 556 +1491: kprobe name tcp_v4_connect tag b03fb14003ec8076 gpl + loaded_at 2024-12-22T22:05:26+0800 uid 0 + xlated 224B jited 126B memlock 4096B map_ids 757,765 + btf_id 556 +1492: kprobe name tcp_v6_connect tag b03fb14003ec8076 gpl + loaded_at 2024-12-22T22:05:26+0800 uid 0 + xlated 224B jited 126B memlock 4096B map_ids 757,765 + btf_id 556 +1493: kprobe name tcp_rcv_state_process tag e94e0aad43db0596 gpl + loaded_at 2024-12-22T22:05:26+0800 uid 0 + xlated 1008B jited 561B memlock 4096B map_ids 757,761,765 + btf_id 556 +1494: tracing name tcprtt tag e11fbd522e358eb5 gpl + loaded_at 2024-12-22T22:05:26+0800 uid 0 + xlated 680B jited 387B memlock 4096B map_ids 755,765 + btf_id 556 +1495: perf_event name handle_tcprtt_event tag 2a56ebe47815a31d gpl + loaded_at 2024-12-22T22:05:26+0800 uid 0 + xlated 472B jited 244B memlock 4096B map_ids 755,765,756 + btf_id 556 +``` +```shell +root@ne0-System:~# bpftool link show +568: perf_event prog 1486 + tracepoint tcp_retransmit_skb +569: perf_event prog 1488 + kprobe ffffffffa85b3020 tcp_sendmsg +570: perf_event prog 1489 + kretprobe ffffffffa85b3020 tcp_sendmsg +571: perf_event prog 1490 + kprobe ffffffffa85b3170 tcp_cleanup_rbuf +572: perf_event prog 1491 + kprobe ffffffffa85d3b70 tcp_v4_connect +573: perf_event prog 1492 + kprobe ffffffffa86ac640 tcp_v6_connect +574: perf_event prog 1493 + kprobe ffffffffa85c6290 tcp_rcv_state_process +575: tracing prog 1494 + prog_type tracing attach_type trace_fentry + target_obj_id 1 target_btf_id 55882 +576: perf_event prog 1495 + event 6 :0 +``` +æŒ‚è½½çš„ç¨‹åºæ•°é‡9个,tracepoint 1个,kprobe/kretprobe 6 个 + + +## 系统整体的网络接å£ç»Ÿè®¡ä¿¡æ¯ +首先还是先从procä¸­ç›´æŽ¥ç³»ç»Ÿçš„æ•´ä½“æ€§æ•°æ® +``` +Interface,Bytes Received,Packets Received,Errs Rcv,Drops Rcv,Bytes Sent,Packets Sent,Errs Sent,Drops Sent +lo,357168131,258560,0,0,357168131,258560,0,0 +enp5s0,3269952491,3791526,0,18932,12237168071,9750198,0,0 +docker0,0,0,0,0,0,0,0,0 + +lo,357168131,258560,0,0,357168131,258560,0,0 +enp5s0,3269951654,3791513,0,18932,12237124409,9750158,0,0 +docker0,0,0,0,0,0,0,0,0 +``` +- Interface:网络接å£çš„å称,例如 lo(本地回环)ã€enp5s0(以太网接å£ï¼‰ã€docker0(Docker 桥接接å£ï¼‰ +- Bytes Received:接收到的总字节数 +- Packets Received:接收到的数æ®åŒ…总数 +- Errs Rcv:接收时å‘生的错误数é‡ï¼ˆä¾‹å¦‚校验错误或帧错误) +- Drops Rcv:接收时丢弃的数æ®åŒ…æ•°é‡ï¼Œå¯èƒ½å› ä¸ºé˜Ÿåˆ—溢出或其他原因 +- Bytes Sent:å‘é€çš„æ€»å­—节数 +- Packets Sent:å‘é€çš„æ•°æ®åŒ…总数 +- Errs Sent:å‘逿—¶å‘ç”Ÿçš„é”™è¯¯æ•°é‡ +- Drops Sent:å‘逿—¶ä¸¢å¼ƒçš„æ•°æ®åŒ…æ•°é‡ + +从这些信æ¯å¾—到系统整体的网络接å£çš„æµé‡ç»Ÿè®¡æ•°æ®è¡¨æœ¬åœ°æ•°æ®åœ¨[这里](visualize/proc/net.csv) + +## tcptop +tcptop 用于显示系统中基于 TCP å议的网络æµé‡ç»Ÿè®¡ä¿¡æ¯ï¼ŒåŒ…括æ¯ä¸ªè¿›ç¨‹çš„å‘é€å’ŒæŽ¥æ”¶æµé‡ +- å®žçŽ°æ–¹å¼ + - 挂载在以下内核节点 + - kprobe/tcp_sendmsg å’Œ kretprobe/tcp_sendmsg:获å–任务的å‘é€å­—节数 + - kprobe/tcp_cleanup_rbuf:获å–任务的接收字节数 +- 功能特点 + - 实时统计æ¯ä¸ªè¿›ç¨‹çš„网络å‘é€å’ŒæŽ¥æ”¶æµé‡ + - 帮助快速定ä½é«˜æµé‡çš„任务或进程,便于分æžç³»ç»Ÿçš„网络行为 + + +``` +Timestamp,PID,Comm,Sent_Bytes,Received_Bytes +2024-12-22 22:05:27,79852,xrdp,76064,1976 +2024-12-22 22:05:28,79852,xrdp,629012,4251 +2024-12-22 22:05:29,79852,xrdp,930864,5628 +2024-12-22 22:05:30,79852,xrdp,1094929,5723 +2024-12-22 22:05:31,79852,xrdp,1186351,5749 +2024-12-22 22:05:32,79852,xrdp,1492384,5795 +2024-12-22 22:05:33,79852,xrdp,1651137,7911 +2024-12-22 22:18:21,79852,xrdp,872722,3271 +2024-12-22 22:18:22,79852,xrdp,1999434,8459 +2024-12-22 22:18:23,79852,xrdp,2662462,12991 +2024-12-22 22:18:24,79852,xrdp,3010331,14944 +2024-12-22 22:18:25,79852,xrdp,3014084,14966 +2024-12-22 22:18:26,79852,xrdp,3014392,15182 +2024-12-22 22:18:27,79852,xrdp,3014776,15254 +2024-12-22 22:18:28,79852,xrdp,3014978,15254 +2024-12-22 22:18:29,915,prometheus,11867,0 +``` +è¿è¡Œçš„æœ¬åœ°ç»“果存储在[这里](visualize/run/tcptop.csv) + + +## tcprtt +tcprtt 用于显示系统中基于 TCP 连接的往返时间(Round-Trip Time, RTT)分布情况 +- å®žçŽ°æ–¹å¼ + - 挂载在 fentry/tcp_rcv_established 节点 + - èŽ·å– sock 中的 srtt_us 字段,æå–往返时间 +- 功能特点 + - æ¯ç§’通过 perf 输出统计数æ®ï¼Œå±•示ä¸åŒ RTT 区间的网络请求分布 + - 帮助分æžç³»ç»Ÿç½‘络延迟情况,评估网络性能 + + +``` +1ms,4ms,16ms,32ms,64ms,128ms,256ms,256ms+ +0,0,8,10,10,0,0,0 +0,0,139,10,10,0,0,0 +0,0,303,11,10,0,0,0 +3,0,333,30,47,0,0,0 +3,0,387,32,47,0,0,0 +3,31,422,32,47,0,0,0 +3,31,520,34,47,1,0,0 +6,33,522,37,47,1,0,0 +6,33,524,40,47,1,0,0 +6,33,525,40,47,1,0,0 +6,33,525,48,47,1,0,0 +6,33,525,58,47,1,0,0 +6,33,525,66,50,1,0,0 +12,33,525,75,50,1,0,0 +12,33,525,75,54,1,0,0 +12,33,525,75,56,1,0,0 +12,33,525,75,58,1,0,0 +15,35,525,75,60,1,0,0 +15,35,525,75,63,1,0,0 +15,35,525,75,66,1,0,0 +15,35,525,75,70,1,0,0 +15,35,525,75,82,1,0,0 +15,35,525,75,94,1,0,0 +15,35,525,101,102,1,0,0 +15,35,525,102,103,1,0,0 +``` +è¿è¡Œçš„æœ¬åœ°ç»“果存储在[这里](visualize/run/tcprtt.csv) + + +## tcpretrans +tcpretrans 用于显示系统中å‘生的 TCP é‡ä¼ äº‹ä»¶ï¼Œå®šä½å…·ä½“的任务和连接 +- å®žçŽ°æ–¹å¼ + - 挂载在 tracepoint/tcp/tcp_retransmit_skb 节点 + - æ•èŽ·æ¯æ¬¡ TCP æ•°æ®åŒ…é‡ä¼ äº‹ä»¶ +- 功能特点 + - 精确记录å‘生é‡ä¼ çš„任务信æ¯ï¼ŒåŒ…括 PIDã€æº IP 和目标 IP ç­‰ + - 帮助分æžç½‘络抖动ã€ä¸¢åŒ…等问题,优化系统网络传输性能 + +网络这部分的数æ®éƒ½æ˜¯é€šè¿‡`visualize/net_with_delay.sh`è¿™ä¸ªæ¥æ¨¡æ‹Ÿçš„,这个脚本会加入给系统加入一定的延迟和掉包率,è¿è¡Œ60s +``` +Timestamp,PID,Comm,State,Event_Type,Source_IP,Source_Port,Destination_IP,Destination_Port +2024-12-22 22:18:31.175572385,81508,python3,ESTABLISHED,1,::ffff:10.193.121.196,15629,::ffff:10.196.79.194,61794 +2024-12-22 22:18:35.664009094,81510,python3,ESTABLISHED,1,10.193.121.196,1764,98.85.100.80,443 +2024-12-22 22:18:36.030003791,81514,python3,ESTABLISHED,1,::ffff:10.193.121.196,15629,::ffff:10.196.79.194,61794 +2024-12-22 22:18:36.030738760,81514,python3,ESTABLISHED,1,::ffff:10.193.121.196,15629,::ffff:10.196.79.194,61794 +2024-12-22 22:18:39.633488507,81510,python3,ESTABLISHED,1,10.193.121.196,2692,98.85.100.80,443 +2024-12-22 22:18:39.636941928,81510,python3,ESTABLISHED,1,10.193.121.196,2692,98.85.100.80,443 +2024-12-22 22:18:41.211002518,81508,python3,ESTABLISHED,1,::ffff:10.193.121.196,15629,::ffff:10.196.79.194,61794 +2024-12-22 22:18:41.211005083,81508,python3,ESTABLISHED,1,::ffff:10.193.121.196,15629,::ffff:10.196.79.194,61794 +2024-12-22 22:18:43.497009470,81512,python3,ESTABLISHED,1,10.193.121.196,6788,98.85.100.80,443 +2024-12-22 22:18:48.290008285,81512,python3,ESTABLISHED,1,10.193.121.196,17028,98.85.100.80,443 +2024-12-22 22:18:48.547011250,81506,python3,ESTABLISHED,1,10.193.121.196,11918,34.226.108.155,443 +2024-12-22 22:18:48.797912580,81505,python3,ESTABLISHED,1,10.193.121.196,37504,34.226.108.155,443 +2024-12-22 22:18:48.798215136,81505,python3,ESTABLISHED,1,10.193.121.196,37504,34.226.108.155,443 +2024-12-22 22:18:48.798589181,81505,python3,ESTABLISHED,1,10.193.121.196,37504,34.226.108.155,443 +2024-12-22 22:18:48.799707180,81505,python3,ESTABLISHED,1,10.193.121.196,37504,34.226.108.155,443 +2024-12-22 22:18:49.708015183,81223,C1 CompilerThre,ESTABLISHED,1,10.193.121.196,13454,34.226.108.155,443 +``` +è¿è¡Œçš„æœ¬åœ°ç»“果存储在[这里](visualize/run/tcpretrans.csv) + + +## tcp连接延迟 +用于监控 TCP 连接建立过程中的延迟情况 +- å®žçŽ°æ–¹å¼ + - 挂载在以下内核节点 + - tcp_v4_connect å’Œ tcp_v6_connect:æ•获 IPv4 å’Œ IPv6 çš„ TCP 连接请求 + - tcp_rcv_state_process:æ•获 TCP 状æ€å¤„ç†äº‹ä»¶ +- 功能特点 + - 记录从连接请求到完æˆçš„æ—¶é—´é—´éš”,精确评估 TCP 连接延迟 + - 帮助å‘现å¯èƒ½å¯¼è‡´è¿žæŽ¥å»¶è¿Ÿçš„网络或系统问题 + + + +``` +Timestamp,PID,Comm,Delay_us +2024-12-22 22:05:27.675840321,76241,code,278458368 +2024-12-22 22:18:31.565844370,81505,python3,247682805 +2024-12-22 22:18:31.569318272,81508,python3,251836536 +2024-12-22 22:18:31.570976574,81506,python3,239246101 +2024-12-22 22:18:31.571226255,81510,python3,239484962 +2024-12-22 22:18:31.571479964,81507,python3,239863430 +2024-12-22 22:18:31.573810751,81515,python3,242115724 +2024-12-22 22:18:31.574551499,81512,python3,242965114 +2024-12-22 22:18:31.576232680,81509,python3,244483253 +``` +è¿è¡Œçš„æœ¬åœ°ç»“果存储在[这里](visualize/run/net_latency.csv) + + + +## 实验 +对应视频链接中的“网络部分â€ï¼Œå¯¹äºŽè¿™éƒ¨åˆ†è¦æ³¨æ„的是我对网络专门编写了个测试程åºï¼Œå…·ä½“文件是`visualize/net_test.py`, +在è¿è¡Œè„šæœ¬`visualize/net_with_delay.sh`中,å¯ä»¥ä¿®æ”¹ç½‘络平å‡å»¶è¿Ÿå’ŒæŽ‰åŒ…率,在上é¢è§£æžä¸­ï¼Œæˆ‘是用笔记本远程控制主机åšçš„, +所以在`tcptop`中å¯ä»¥çœ‹åˆ° +``` +Timestamp,PID,Comm,Sent_Bytes,Received_Bytes +2024-12-22 22:05:27,79852,xrdp,76064,1976 +``` +åŒæ—¶ç½‘络影å“和掉包率对系统影å“很大,但是虚拟机中没用了远程控制这部分,å³ä¾¿æˆ‘把平å‡å»¶è¿Ÿæé«˜åˆ°10ms,掉包率æé«˜åˆ°5%, +对系统整体影å“ä»ç„¶æœ‰é™ï¼Œè™šæ‹Ÿæœºä¸­ç”¨åˆ°ç½‘络的任务还是少,é‡ä¼ äº‹ä»¶ç”šè‡³æ˜¯ç©ºçš„ + +![img_12.png](img_12.png) + +![img_13.png](img_13.png) + +![img_14.png](img_14.png) + +![img_15.png](img_15.png) + +![img_16.png](img_16.png) + +![img_17.png](img_17.png) + +![img_18.png](img_18.png) + +对于csvæ•°æ®ä¹Ÿéƒ½åšäº†å¯è§†åŒ–处ç†ï¼Œå¯¹äºŽnet部分的就在`visualize/net_data_analyse.py`,这里展示部分统计图 + +![net_sent.png](net_sent.png) + +![recieve_bytes.png](recieve_bytes.png) + + + + + + + diff --git a/Document/net_sent.png b/Document/net_sent.png new file mode 100644 index 0000000..44c4ff0 Binary files /dev/null and b/Document/net_sent.png differ diff --git a/Document/process_cpu_total.png b/Document/process_cpu_total.png new file mode 100644 index 0000000..123da3b Binary files /dev/null and b/Document/process_cpu_total.png differ diff --git a/Document/recieve_bytes.png b/Document/recieve_bytes.png new file mode 100644 index 0000000..4e42353 Binary files /dev/null and b/Document/recieve_bytes.png differ diff --git a/Document/sched/img.png b/Document/sched/img.png new file mode 100644 index 0000000..42c47b3 Binary files /dev/null and b/Document/sched/img.png differ diff --git a/Document/sched/img_1.png b/Document/sched/img_1.png new file mode 100644 index 0000000..d831d11 Binary files /dev/null and b/Document/sched/img_1.png differ diff --git a/Document/sched/img_10.png b/Document/sched/img_10.png new file mode 100644 index 0000000..d6f5751 Binary files /dev/null and b/Document/sched/img_10.png differ diff --git a/Document/sched/img_11.png b/Document/sched/img_11.png new file mode 100644 index 0000000..5c385dd Binary files /dev/null and b/Document/sched/img_11.png differ diff --git a/Document/sched/img_2.png b/Document/sched/img_2.png new file mode 100644 index 0000000..e5db42a Binary files /dev/null and b/Document/sched/img_2.png differ diff --git a/Document/sched/img_3.png b/Document/sched/img_3.png new file mode 100644 index 0000000..14105e4 Binary files /dev/null and b/Document/sched/img_3.png differ diff --git a/Document/sched/img_4.png b/Document/sched/img_4.png new file mode 100644 index 0000000..0fc56a4 Binary files /dev/null and b/Document/sched/img_4.png differ diff --git a/Document/sched/img_5.png b/Document/sched/img_5.png new file mode 100644 index 0000000..60447b9 Binary files /dev/null and b/Document/sched/img_5.png differ diff --git a/Document/sched/img_6.png b/Document/sched/img_6.png new file mode 100644 index 0000000..0001aa2 Binary files /dev/null and b/Document/sched/img_6.png differ diff --git a/Document/sched/img_8.png b/Document/sched/img_8.png new file mode 100644 index 0000000..4b0e1d1 Binary files /dev/null and b/Document/sched/img_8.png differ diff --git a/Document/sched/img_9.png b/Document/sched/img_9.png new file mode 100644 index 0000000..bb87a9c Binary files /dev/null and b/Document/sched/img_9.png differ diff --git "a/Document/sched/thread\344\275\277\347\224\250.md" "b/Document/sched/thread\344\275\277\347\224\250.md" new file mode 100644 index 0000000..0df8d47 --- /dev/null +++ "b/Document/sched/thread\344\275\277\347\224\250.md" @@ -0,0 +1,581 @@ +### c++çš„thread库 +```shell +C++ Standard Library +├── çº¿ç¨‹åˆ›å»ºä¸Žç®¡ç† +│ ├── std::thread : 创建线程对象 +│ ├── join() : ç­‰å¾…çº¿ç¨‹å®Œæˆ +│ ├── detach() : å°†çº¿ç¨‹è®¾ä¸ºåˆ†ç¦»çŠ¶æ€ +│ └── hardware_concurrency(): 返回系统中å¯å¹¶å‘æ‰§è¡Œçš„çº¿ç¨‹æ•°é‡ +│ +├── çº¿ç¨‹åŒæ­¥ä¸Žäº’æ–¥ +│ ├── std::mutex : äº’æ–¥é” +│ │ ├── lock() : 显å¼åŠ é” +│ │ ├── unlock() : 显å¼è§£é” +│ │ └── try_lock() : å°è¯•加é”(éžé˜»å¡žï¼‰ +│ ├── std::lock_guard : 自动管ç†äº’æ–¥é” +│ ├── std::unique_lock : çµæ´»ç®¡ç†é”ï¼Œæ”¯æŒæ‰‹åЍé”定/è§£é” +│ └── std::condition_variable : æ¡ä»¶å˜é‡ï¼Œç”¨äºŽç­‰å¾…或通知线程 +│ +├── 线程通信 +│ ├── std::future : 获å–异步æ“作结果 +│ ├── std::promise : æä¾›å€¼ç»™`future` +│ └── std::async : å¯åŠ¨å¼‚æ­¥ä»»åŠ¡å¹¶è¿”å›ž`future` +│ +├── 线程局部存储 +│ └── thread_local : 定义线程局部存储å˜é‡ +│ +├── åŽŸå­æ“作 +│ └── std::atomic : æä¾›åŽŸå­æ“作,é¿å…é” +│ ├── store() : 存储值 +│ ├── load() : 加载值 +│ └── compare_exchange : æ¯”è¾ƒå¹¶äº¤æ¢ +│ +├── çº¿ç¨‹å¼‚å¸¸å¤„ç† +│ └── std::terminate : æ•获未处ç†å¼‚常并终止线程 +│ +└── 线程IDä¸ŽçŠ¶æ€ + ├── std::this_thread::get_id() : 获å–当å‰çº¿ç¨‹ID + ├── std::thread::get_id() : 获å–线程对象的ID + ├── std::this_thread::sleep_for(): 休眠指定时间 + └── std::this_thread::yield() : 暂时让出CPU时间片 +``` +#### thread函数的应用 +- 创建线程 +```c +template< class Function, class... Args > +explicit thread(Function&& f, Args&&... args); // åˆ›å»ºçº¿ç¨‹ï¼Œå¹¶ä¼ é€’å‚æ•°ç»™å‡½æ•°ï¼Œå¯ä»¥æ˜¯å¤šä¸ªå‚æ•° +``` +对于这个函数注æ„命åç©ºé—´ï¼Œå¯¹äºŽç±»å†…çš„å‚æ•°ï¼Œå¦‚æžœthread在类内定义,直接用this指针,如果在类外定义 +```c +// 线程创建时传递æˆå‘˜å‡½æ•°å’Œ this 指针 +std::thread t(&FooBar::foo, this, 傿•°åˆ—表); + +MyClass obj; +// 通过 std::thread 调用 MyClass çš„æˆå‘˜å‡½æ•° +std::thread t(&MyClass::printMessage, &obj); // 传递æˆå‘˜å‡½æ•°æŒ‡é’ˆå’Œå¯¹è±¡æŒ‡é’ˆ +``` + + +- 移动 std::thread 对象 + +感觉和转接所有æƒå·®ä¸å¤šï¼Œt1 被移动给了 t2,因此 t1 ä¸å†å…³è”线程,ä¸èƒ½å†è°ƒç”¨ join() 或其他æˆå‘˜å‡½æ•° +```c +std::thread t1(myFunction); // 创建线程 +// å°† t1 移动给 t2 +std::thread t2 = std::move(t1); +``` +- è”æŽ¥ + +在调用 join() 或 detach() 之å‰ï¼Œæœ€å¥½æ£€æŸ¥çº¿ç¨‹æ˜¯å¦å¯è”接,é¿å…程åºå´©æºƒ +```c +// bool joinable() const; // 检查线程是å¦å¯è”接 +#include +#include + +void myFunction() { + std::cout << "Hello from thread!" << std::endl; +} + +int main() { + std::thread t; + + if (t.joinable()) { + t.join(); + } else { + std::cout << "Thread is not joinable." << std::endl; + } + + t = std::thread(myFunction); // 现在 t å…³è”到一个新的线程 + + if (t.joinable()) { + t.join(); + } + + return 0; +} +``` +- 获å–线程 ID:get_id() +```c +std::thread::id get_id() const; // 获å–线程的 ID +``` +- 线程休眠 + +æœ‰æ—¶ä½ å¸Œæœ›è®©çº¿ç¨‹æš‚åœæ‰§è¡Œä¸€æ®µæ—¶é—´ï¼Œå¯ä»¥ä½¿ç”¨ sleep_for() 或 sleep_until() +```c +template< class Rep, class Period > +void std::this_thread::sleep_for(const std::chrono::duration& rel_time); // 使当å‰çº¿ç¨‹ä¼‘眠指定时间 + +template< class Clock, class Duration > +void std::this_thread::sleep_until(const std::chrono::time_point& abs_time); // 使当å‰çº¿ç¨‹ä¼‘眠直到指定时间 +``` + +- 线程间通信 + +线程间通信是多线程编程的é‡è¦éƒ¨åˆ†ã€‚std::promise å’Œ std::future æä¾›äº†ä¸€ç§æ–¹ä¾¿çš„æ–¹å¼è®©çº¿ç¨‹é—´ä¼ é€’æ•°æ®ã€‚ + +其实异步更好一些,这部分到时候å†å±•å¼€ + +### é”å’Œæ¡ä»¶å˜é‡ +#### std::mutexï¼šäº’æ–¥é” +```c +class mutex { + public: + void lock(); // 阻塞,直到æˆåŠŸåŠ é” + void unlock(); // è§£é”äº’æ–¥é” + bool try_lock(); // å°è¯•加é”,如果é”定æˆåŠŸè¿”å›ž true,å¦åˆ™ç«‹å³è¿”回 false +}; +``` + +#### std::lock_guard:自动管ç†äº’æ–¥é” +```c +template< class Mutex > +class lock_guard { +public: +explicit lock_guard( Mutex& m ); // æž„é€ æ—¶è‡ªåŠ¨åŠ é” +~lock_guard(); // æžæž„æ—¶è‡ªåŠ¨è§£é” +}; +``` +```c +std::mutex mtx; // å…¨å±€äº’æ–¥é” +int shared_data = 0; + +void increment() { + for (int i = 0; i < 10000; ++i) { + std::lock_guard lock(mtx); // 自动加é”å’Œè§£é” + ++shared_data; + // 当 lock ç¦»å¼€ä½œç”¨åŸŸæ—¶è‡ªåŠ¨è§£é” + } +} +``` +std::lock_guard 会在构造时自动加é”ï¼Œå¹¶åœ¨å…¶ç”Ÿå‘½å‘¨æœŸç»“æŸæ—¶è‡ªåŠ¨è§£é”,这简化了显å¼çš„ lock() å’Œ unlock() æ“作,é¿å…了手动管ç†é”的错误 + +#### std::unique_lockï¼šçµæ´»ç®¡ç†é” +std::unique_lock æä¾›äº†æ¯” std::lock_guard æ›´åŠ çµæ´»çš„é”ç®¡ç†æ–¹å¼ã€‚它å…许手动加é”和解é”,甚至å¯ä»¥å»¶è¿ŸåŠ é”ã€æå‰è§£é”,适åˆéœ€è¦æ›´å¤æ‚çš„é”æŽ§åˆ¶çš„åœºæ™¯ +```c +template< class Mutex > +class unique_lock { + public: + explicit unique_lock( Mutex& m ); // æž„é€ æ—¶åŠ é” + unique_lock( Mutex& m, std::defer_lock ); // 创建é”对象但ä¸ç«‹å³åŠ é”,å…许手动控制é”的时机 + unique_lock( Mutex& m, std::try_to_lock );// å¯ä»¥ç«‹å³å°è¯•加é”ï¼Œè€Œä¸æ˜¯é˜»å¡žç­‰å¾… + unique_lock( Mutex& m, std::adopt_lock ); // é”已加é”çŠ¶æ€ + void lock(); // æ‰‹åŠ¨åŠ é” + void unlock(); // æ‰‹åŠ¨è§£é” + bool owns_lock() const; // è¿”å›žå½“å‰æ˜¯å¦æ‹¥æœ‰é” + Mutex* release(); // 释放é”的控制æƒï¼Œä½†ä¸è§£é” +}; +``` +```c +void task(int id) { + std::cout << "Thread " << id << " is trying to lock...\n"; + + // std::unique_lock é»˜è®¤ä¼šé˜»å¡žçº¿ç¨‹ç›´åˆ°èŽ·å¾—é” + std::unique_lock lock(mtx); + + std::cout << "Thread " << id << " has locked and is incrementing shared_data.\n"; + ++shared_data; + std::cout << "Thread " << id << " incremented shared_data to " << shared_data << "\n"; + + // 自动解é”在 lock å¯¹è±¡çš„ä½œç”¨åŸŸç»“æŸæ—¶ +} +``` +```c +void task(int id) { + std::unique_lock lock(mtx, std::defer_lock); // å»¶è¿ŸåŠ é” + + std::cout << "Thread " << id << " is trying to lock...\n"; + lock.lock(); // 手动加é”ï¼Œè¿™é‡Œä¼šé˜»å¡žçº¿ç¨‹ç›´åˆ°èŽ·å¾—é” + + std::cout << "Thread " << id << " has locked and is incrementing shared_data.\n"; + ++shared_data; + std::cout << "Thread " << id << " incremented shared_data to " << shared_data << "\n"; + + lock.unlock(); // 手动解é”,å…è®¸å…¶ä»–çº¿ç¨‹èŽ·å¾—é” +} +``` +- std::try_to_lock:å°è¯•加é”(éžé˜»å¡žï¼‰ + - 用于å°è¯•获å–互斥é”,但ä¸ä¼šé˜»å¡žå½“å‰çº¿ç¨‹ã€‚如果é”å·²ç»è¢«å…¶ä»–çº¿ç¨‹æŒæœ‰ï¼Œstd::try_to_lock 会立å³è¿”回,而ä¸ä¼šç­‰å¾…é”被释放 +- std::adopt_lock:接å—一个已加é”çš„äº’æ–¥é” + - 用于接管已ç»ç”±å…¶ä»–机制加é”的互斥é”,而ä¸ä¼šå°è¯•å†åŠ é”。也就是说,é”å·²ç»è¢«åŠ é”,当å‰çº¿ç¨‹åªæ˜¯å£°æ˜Žå®ƒçŽ°åœ¨è¦ç®¡ç†è¿™ä¸ªé” + - 当你通过æŸç§æ–¹å¼å·²ç»æ‰‹åŠ¨åŠ é”(例如通过 mtx.lock()),然åŽéœ€è¦é€šè¿‡ std::unique_lock 管ç†è¿™ä¸ªé”的生命周期时,å¯ä»¥ä½¿ç”¨ std::adopt_lock +```c +#include +#include +#include + +std::mutex mtx; + +void adopt_lock_task() { + mtx.lock(); // æ‰‹åŠ¨åŠ é” + std::cout << "Mutex manually locked.\n"; + + std::unique_lock lock(mtx, std::adopt_lock); // 接管已加é”çš„é” + + std::cout << "Managed by unique_lock, performing critical work.\n"; + // é”将在 lock 离开作用域时自动释放 +} + +int main() { + std::thread t(adopt_lock_task); + + t.join(); + + return 0; +} +``` + +#### unique_lockå’Œlock_guard的使用 +std::unique_lock å’Œ lock_guard 对象的设计是为了在å•个线程中管ç†é”,而ä¸èƒ½åœ¨å¤šä¸ªçº¿ç¨‹ä¹‹é—´å…±äº«åŒä¸€ä¸ª std::unique_lock 对象,它们俩主è¦ä½œç”¨æ˜¯ +- 在å•个线程中é”定互斥é”(如 std::mutex)并管ç†é”的生命周期 +- 通过 RAII(Resource Acquisition Is Initializationï¼‰åŽŸåˆ™è‡ªåŠ¨åœ¨ä½œç”¨åŸŸç»“æŸæ—¶é‡Šæ”¾é” + + 它本质上是一个线程内的工具,ä¿è¯å½“å‰çº¿ç¨‹åœ¨æŒæœ‰é”时能够安全地æ“作共享资æºï¼Œå¹¶åœ¨ä¸éœ€è¦é”æ—¶åŠæ—¶é‡Šæ”¾é” + +#### std::condition_variable:æ¡ä»¶å˜é‡ +```c +class condition_variable { + public: + void wait( std::unique_lock& lock ); // 等待æ¡ä»¶æ»¡è¶³ï¼Œé‡Šæ”¾é”å¹¶è¿›å…¥é˜»å¡žçŠ¶æ€ + template< class Predicate > + void wait( std::unique_lock& lock, Predicate pred ); // 带æ¡ä»¶çš„等待,直到 pred 返回 true + void notify_one(); // 通知一个等待的线程 + void notify_all(); // 通知所有等待的线程 +}; +``` +cv.wait(lock, predicate);:带有谓è¯çš„ wait() 函数会在唤醒时首先检查谓è¯ã€‚ +如果谓è¯ä¸º true,则ä¸è¿›å…¥ç­‰å¾…状æ€ï¼›å¦‚果谓è¯ä¸º false,则会释放é”并进入等待状æ€ï¼Œç›´åˆ°æ¡ä»¶æ»¡è¶³å¹¶å†æ¬¡å”¤é†’ +```c +cv.wait(lock, [] { return ready; }); +``` +```c +#include +#include +#include +#include +#include + +std::mutex mtx; +std::condition_variable cv; +std::queue buffer; +const unsigned int max_buffer_size = 10; + +void producer() { + int value = 0; + while (value < 50) { + std::unique_lock lock(mtx); + cv.wait(lock, [] { return buffer.size() < max_buffer_size; }); // 等待缓冲区有空间 + buffer.push(value++); + std::cout << "Produced: " << value << std::endl; + cv.notify_all(); // 通知消费者 + } +} + +void consumer() { + while (true) { + std::unique_lock lock(mtx); + cv.wait(lock, [] { return !buffer.empty(); }); // ç­‰å¾…ç¼“å†²åŒºæœ‰æ•°æ® + int value = buffer.front(); + buffer.pop(); + std::cout << "Consumed: " << value << std::endl; + cv.notify_all(); // 通知生产者 + if (value == 49) break; // 消费到50ç»“æŸ + } +} + +int main() { + std::thread prod(producer); + std::thread cons(consumer); + + prod.join(); + cons.join(); + + return 0; +} +``` + +### optional +std::optional 是 C++17 å¼•å…¥çš„ä¸€ç§æ•°æ®ç±»åž‹ï¼Œç”¨äºŽè¡¨ç¤ºä¸€ä¸ªå€¼å¯ä»¥å­˜åœ¨ä¹Ÿå¯ä»¥ä¸å­˜åœ¨ã€‚ +它与 Rust çš„ Option 类型类似,å…许你安全地处ç†é‚£äº›å¯èƒ½æ²¡æœ‰å€¼çš„æƒ…况,é¿å…了直接使用指针带æ¥çš„空指针(null)错误。 +```c +std::optional +├── æ•°æ®æˆå‘˜ï¼ˆå†…部实现) +│ ├── std::aligned_storage::type storage +│ │ └── 用于存储类型为 T 的对象(未åˆå§‹åŒ–的内存) +│ ├── bool has_value_flag +│ └── 用于标记 optional 是å¦å­˜å‚¨äº†æœ‰æ•ˆçš„值 +│ +├── 构造函数 +│ ├── optional() noexcept +│ │ └── 默认构造函数,创建无值状æ€çš„ optional +│ ├── optional(const T& value) +│ │ └── 通过传入值构造,创建有值状æ€çš„ optional +│ ├── optional(T&& value) +│ │ └── 移动构造,创建有值状æ€çš„ optional +│ ├── optional(const optional& other) +│ │ └── å¤åˆ¶æž„造,创建一个新的 optional å¹¶å¤åˆ¶ other 的值(如果有) +│ ├── optional(optional&& other) +│ └── 移动构造,从其他 optional 移动其内容 +│ +├── 赋值è¿ç®—符 +│ ├── optional& operator=(const T& value) +│ │ └── å¤åˆ¶èµ‹å€¼ï¼Œå°† T 类型的值赋给 optional +│ ├── optional& operator=(T&& value) +│ │ └── 移动赋值,将 T 类型的值移动给 optional +│ ├── optional& operator=(const optional& other) +│ │ └── å¤åˆ¶èµ‹å€¼ï¼Œå°† other èµ‹å€¼ç»™å½“å‰ optional +│ ├── optional& operator=(optional&& other) +│ └── 移动赋值,将 other çš„å€¼ç§»åŠ¨åˆ°å½“å‰ optional +│ +├── æžæž„函数 +│ └── ~optional() +│ └── æžæž„å‡½æ•°ï¼Œé”€æ¯ optional 中的值(如果有),并é‡ç½®ä¸ºæ— å€¼çŠ¶æ€ +│ +├── æˆå‘˜å‡½æ•° +│ ├── bool has_value() const noexcept +│ │ └── 检查 optional 是å¦åŒ…嫿œ‰æ•ˆå€¼ï¼Œè¿”回 true 表示有值 +│ ├── T& value() +│ │ └── 返回存储的值,如果没有值则抛出 std::bad_optional_access 异常 +│ ├── const T& value() const +│ │ └── const 版本的 value 函数,返回存储的值,若无值则抛异常 +│ ├── T value_or(const T& default_value) const +│ │ └── 如果有值,返回存储的值;如果无值,返回 default_value +│ ├── void reset() noexcept +│ │ └── å°† optional 置为无值状æ€ï¼Œå¦‚æžœæœ‰å€¼åˆ™è°ƒç”¨æžæž„å‡½æ•°é‡Šæ”¾èµ„æº +│ ├── template +│ │ T& emplace(Args&&... args) +│ │ └── 构造一个新的 T 对象并存储到 optional 中,替æ¢çŽ°æœ‰çš„å€¼ +│ +├── å…¶ä»–è¿ç®—符 +│ ├── T& operator*() +│ │ └── 解引用è¿ç®—符,返回存储的值 +│ ├── const T& operator*() const +│ │ └── const 版本的解引用è¿ç®—符,返回存储的值 +│ ├── T* operator->() +│ │ └── 指针访问è¿ç®—符,返回存储的值的指针 +│ ├── const T* operator->() const +│ │ └── const 版本的指针访问è¿ç®—符,返回存储值的指针 +│ +└── 异常 + └── std::bad_optional_access + └── 当å°è¯•访问无值的 optional 时抛出的异常 +``` + + + + +### barrier +c++20引入了std::barrier + +```shell +std::barrier (C++20) +├── 构造函数 +│ ├── std::barrier(ptrdiff_t expected): 创建一个å±éšœï¼Œè®¾å®šçº¿ç¨‹æ•° +│ └── std::barrier(ptrdiff_t expected, CompletionFunction callback): +│ └── 创建一个å±éšœï¼Œè®¾ç½®çº¿ç¨‹æ•°å¹¶å®šä¹‰å›žè°ƒå‡½æ•°ï¼Œå½“所有线程到达å±éšœåŽï¼Œæ‰§è¡Œå›žè°ƒ +│ +├── 常用æˆå‘˜å‡½æ•° +│ ├── arrive() : 表示当å‰çº¿ç¨‹åˆ°è¾¾å±éšœï¼Œä½†ä¸ç­‰å¾…其他线程 +│ │ └── 返回剩余等待线程数 +│ ├── arrive_and_wait() : 当å‰çº¿ç¨‹åˆ°è¾¾å±éšœå¹¶ç­‰å¾…其他线程,所有线程到达åŽç»§ç»­æ‰§è¡Œ +│ ├── arrive_and_drop() : 当å‰çº¿ç¨‹åˆ°è¾¾å±éšœå¹¶é€€å‡ºå±éšœï¼Œä¸å†å‚与接下æ¥çš„åŒæ­¥ +│ ├── reset() : é‡ç½®å±éšœï¼Œä½¿å…¶å¯é‡æ–°ä½¿ç”¨ +│ └── expected() : 返回当å‰å±éšœæœŸæœ›çš„çº¿ç¨‹æ•°é‡ +│ +├── 回调函数 (å¯é€‰) +│ └── 在所有线程到达å±éšœæ—¶æ‰§è¡Œï¼Œå¯ä»¥ç”¨äºŽæ‰§è¡ŒæŸäº›çŠ¶æ€æ›´æ–°æˆ–å…¶ä»–æ“作 +│ +├── å†…éƒ¨åŒæ­¥æœºåˆ¶ +│ ├── 自动é‡ç½®ï¼šæ¯å½“所有线程到达å±éšœæ—¶ï¼Œå±éšœä¼šè‡ªåЍé‡ç½®ï¼Œå‡†å¤‡ä¸‹ä¸€æ¬¡åŒæ­¥ +│ └── å¹¶å‘安全:å±éšœçš„æ‰€æœ‰æ“作是线程安全的 +│ +└── å±éšœä½¿ç”¨åœºæ™¯ + ├── å¤šé˜¶æ®µä»»åŠ¡çš„åŒæ­¥ + ├── 在多个线程的并行æ“ä½œå®ŒæˆæŸä¸ªæ­¥éª¤åŽï¼Œç»Ÿä¸€ç­‰å¾…进入下一个步骤 + └── é€šè¿‡å›žè°ƒå‡½æ•°æŽ§åˆ¶å…±äº«èµ„æºæˆ–执行特定任务 +``` + + +#### lambdaè¡¨è¾¾å¼ +lambda表达å¼åœ¨å›žè°ƒå‡½æ•°è¿™è¾¹å¾ˆå¸¸ç”¨ï¼Œè¿™é‡Œè¡¥å……一下 + +Lambda è¡¨è¾¾å¼æ˜¯ä¸€ç§å¯ä»¥åœ¨ä»£ç ä¸­ç®€æ´åœ°å®šä¹‰å†…è”函数的语法,特别适åˆä¸´æ—¶æ€§ã€ä¸€æ¬¡æ€§ä½¿ç”¨çš„函数,常用于回调ã€ç®—法或多线程等场景 +```c +[æ•获列表] (傿•°åˆ—表) -> 返回类型 { + 函数体 +} +``` +- æ•获列表([]):用于指定从外部作用域中æ•获哪些å˜é‡ +- 傿•°åˆ—表(()):å¯ä»¥ä¸ºç©ºæˆ–者包å«ä¸€ä¸ªæˆ–å¤šä¸ªå‚æ•° +- 返回类型(->):(å¯é€‰ï¼‰ç”¨äºŽæŒ‡å®šè¿”回类型,如果çœç•¥ï¼Œç¼–译器会根æ®å‡½æ•°ä½“自动推断 +- 函数体({}):就是 Lambda 表达å¼çš„具体实现部分,类似普通函数的实现 + +å¯¹äºŽå‚æ•°åˆ—表,是å¯ä»¥æ¨¡æ‹Ÿå‡½æ•° +```c +[](int x) { cout << static_cast(x + 48); +``` + +æ•获列表算是核心的部分 +- []ï¼šä¸æ•获任何外部å˜é‡ +- [=]:按值æ•获外部å˜é‡ï¼ŒLambda 内部å¯ä»¥ä½¿ç”¨å¤–部å˜é‡çš„æ‹·è´ +- [&]:按引用æ•获外部å˜é‡ï¼ŒLambda 内部å¯ä»¥ä¿®æ”¹å¤–部å˜é‡ +- [this]:æ•获当å‰ç±»çš„this指针,å…许 Lambda 访问类的æˆå‘˜ +- [a, &b]:按值æ•获 a,按引用æ•获 b,æ•获列表中å¯ä»¥æ··åˆæŒ‰å€¼å’ŒæŒ‰å¼•用 + +关于æ•获列表,注æ„的一点是Lambda æ•获列表是显å¼çš„,它需è¦ä½ åœ¨ [] 中明确指定æ•获的外部å˜é‡ï¼ˆæŒ‰å€¼æˆ–按引用)。 +这些æ•获的å˜é‡å­˜åœ¨äºŽ Lambda 定义时的作用域 中,通常并ä¸éœ€è¦ä½œä¸º Lambda çš„å‚æ•°ä¼ å…¥ã€‚ + +```c +#include + +class Button { +public: + void onClick() { + // æ•获 this,访问类的æˆå‘˜å‡½æ•°å’Œæˆå‘˜å˜é‡ + auto handleClick = [this]() { + std::cout << "Button clicked! Updating status." << std::endl; + this->status = "Clicked"; // 修改类的æˆå‘˜å˜é‡ + }; + + // 模拟按钮点击事件 + handleClick(); + } + + void printStatus() { + std::cout << "Button status: " << status << std::endl; + } + +private: + std::string status = "Not clicked"; +}; + +int main() { + Button button; + button.printStatus(); + + // 模拟点击按钮 + button.onClick(); + button.printStatus(); + + return 0; +} +``` + +```c +#include +#include + +int main() { + int fixed_data = 100; + int state = 0; + + // 按值æ•获 fixed_data,按引用æ•获 state + auto task = [fixed_data, &state]() { + state = fixed_data * 2; // 修改 state,但ä¸èƒ½ä¿®æ”¹ fixed_data + std::cout << "Task completed. State updated to: " << state << std::endl; + }; + + // 创建并è¿è¡Œçº¿ç¨‹ + std::thread t(task); + t.join(); // 等待å­çº¿ç¨‹æ‰§è¡Œå®Œæ¯• + + // 输出修改åŽçš„çŠ¶æ€ + std::cout << "Final state: " << state << std::endl; + + return 0; +} +``` + +#### barrier函数的应用 +```c++ +std::barrier barrier(线程数é‡, å¯é€‰çš„回调函数); +``` +- 线程数é‡ï¼šæŒ‡è¦ç­‰å¾…的线程的数é‡ã€‚当这么多线程都到达å±éšœç‚¹æ—¶ï¼Œæ‰€æœ‰çº¿ç¨‹æ‰ä¼šç»§ç»­æ‰§è¡Œ +- å¯é€‰çš„回调函数(å¯çœç•¥ï¼‰ï¼šå½“所有线程都到达å±éšœç‚¹æ—¶ï¼Œä¼šæ‰§è¡Œè¯¥å›žè°ƒå‡½æ•°ã€‚回调函数å¯ä»¥ç”¨æ¥æ‰§è¡ŒæŸäº›æ“作,比如改å˜çжæ€ã€æ›´æ–°å…±äº«æ•°æ®ç­‰ + + + + + +### 例题 +- äº¤æ›¿è¾“å‡ºå¥‡å¶æ•°å­—å‡çº§ç‰ˆ +![img_7.png](img_7.png) +```c +class ZeroEvenOdd { +private: + int n; + condition_variable cv; + int now; + bool flag; + mutex mx; + +public: + ZeroEvenOdd(int n) { + this->n = n; + now = 0; + flag = false; + thread tz(&ZeroEvenOdd::zero, this, [](int x) { cout << x; }); + thread te(&ZeroEvenOdd::even, this, [](int x) { cout << x; }); + + if(n > 1) { + thread to(&ZeroEvenOdd::odd, this, [](int x) { cout << x; }); + to.join(); + } + tz.join(); + te.join(); + } + + // printNumber(x) outputs "x", where x is an integer. + void zero(function printNumber) { + while(now < n){ + unique_lock lg(mx); + printNumber(0); + flag = true; + cv.notify_all(); + while(flag){ + cv.wait(lg); + } + } + } + + void even(function printNumber) { + while(now < n){ + unique_lock lg(mx); + while(now % 2 == 1 || !flag){ // 由于多线程的情况,当now >=n时候,相当于外循环已ç»ä¸æ»¡è¶³äº†ï¼Œä½†ä»å›°åœ¨å†…循环 + cv.wait(lg); + } + printNumber(now); + flag = false; + now++; + cv.notify_all(); + } + } + + void odd(function printNumber) { + while(now < n){ + unique_lock lg(mx); + while(now % 2 == 0 || !flag){// 这里åŒç† + cv.wait(lg); + } + printNumber(now); + flag = false; + now++; + cv.notify_all(); + } + } +}; +``` +- 对于上é¢çš„æƒ…况,能总结的 + - å¯¹äºŽå¤šçº¿ç¨‹é—®é¢˜ï¼Œé¦–å…ˆç¡®å®šå“ªäº›æ•°æ®æ˜¯è¦å…±äº«çš„ + - å¯¹äºŽå…±äº«æ•°æ® + - 共享数æ®çš„访问控制,互斥é”ä¿æŠ¤ç­‰æ˜¯ä¸€æ–¹é¢ + - å¦å¤–一方é¢å°±æ˜¯äº’斥数æ®çš„æ›´æ–°ï¼Œä»¥åŠæ›´æ–°å¯èƒ½å¯¼è‡´çš„å½±å“(上é¢å°±æ˜¯å†…部循环时候,对更新带æ¥çš„影哿²¡æœ‰è€ƒè™‘å…¨é¢ï¼‰ + - è¦å°½å¯èƒ½æŽ§åˆ¶å…±äº«æ•°æ®çš„å½±å“èŒƒå›´ï¼Œå…±äº«æ•°æ®æ›´æ–°æœ‰æ—¶å€™ä¸æ˜¯æ‰€æœ‰æƒ…况都能想到 + - 共享的数æ®å°½é‡å°‘点,能线程独有就独有,少犯错 + - 对于线程中的标志,尽å¯èƒ½ä¸€ä¸ªçº¿ç¨‹ä¸€ä¸ªï¼Œå½“ä¸å¾—ä¸å…±äº«æ—¶å€™ï¼Œè¦ä¹ˆå°±åˆ«ç”¨å®ƒæ¥åŒºåˆ†å•个,å•独建立个东西æ¥åŒºåˆ† + + + + + + + diff --git "a/Document/sched/\344\273\273\345\212\241\347\232\204\345\206\205\346\240\270\346\200\201\350\241\250\347\244\272.md" "b/Document/sched/\344\273\273\345\212\241\347\232\204\345\206\205\346\240\270\346\200\201\350\241\250\347\244\272.md" new file mode 100644 index 0000000..0817a5f --- /dev/null +++ "b/Document/sched/\344\273\273\345\212\241\347\232\204\345\206\205\346\240\270\346\200\201\350\241\250\347\244\272.md" @@ -0,0 +1,369 @@ +### task_structç»“æž„æ•´ä½“æ€§ä»‹ç» +内核æºç ä¸­task_struct结构光sched.h中就有七八百行,里é¢çš„ç»“æž„å¼€æžæ•£å¶å¯ä»¥è¯´æ˜¯ä¸ªç›¸å½“庞大的结构 + +这里是按功能将部分é‡è¦æˆå‘˜ä»‹ç» +```c +task_struct +├── Process Identification +│ ├── pid: process id,进程的唯一标识符 (PID) +│ ├── tgid: thread group ID,线程组 ID +│ └── comm: 进程的å¯è¯»åç§° +├── Process State Management +│ ├── state: 当å‰è¿›ç¨‹çš„çŠ¶æ€ (TASK_RUNNING, TASK_INTERRUPTIBLE ç­‰) +│ ├── exit_state: è¿›ç¨‹é€€å‡ºçŠ¶æ€ +│ ├── exit_code: è¿›ç¨‹é€€å‡ºæ—¶çš„è¿”å›žç  +│ ├── jobctl: 记录任务控制的状æ€ï¼ˆå¦‚作业控制信å·ï¼‰ +│ └── atomic_flags: è¿›ç¨‹çš„åŽŸå­æ“ä½œæ ‡å¿—ï¼Œç”¨äºŽåŒæ­¥ +├── Scheduling +│ ├── prio: 进程的动æ€ä¼˜å…ˆçº§ +│ ├── static_prio: è¿›ç¨‹çš„é™æ€ä¼˜å…ˆçº§ +│ ├── rt_priority: 实时任务的优先级 +│ ├── sched_class: 进程的调度类(CFS, RT 等) +│ ├── se: 普通调度实体 (sched_entity) +│ ├── rt: 实时调度实体 (sched_rt_entity) +│ ├── sched_info: è°ƒåº¦å™¨çš„ç»Ÿè®¡ä¿¡æ¯ +│ └── on_rq: 进程是å¦åœ¨è¿è¡Œé˜Ÿåˆ—上的标志 +├── Memory Management +│ ├── mm: 指å‘进程的内存æè¿°ç¬¦ (mm_struct) +│ ├── active_mm: 内核线程的内存æè¿°ç¬¦ï¼Œå½“ mm == NULL 时使用 +│ ├── min_flt: 次缺页错误次数 +│ ├── maj_flt: 主缺页错误次数 +│ ├── reclaim_state: 内存回收状æ€ï¼Œç”¨äºŽè¿›ç¨‹å†…å­˜ç®¡ç† +│ └── numa_group: NUMA 相关信æ¯ï¼Œç”¨äºŽå¤„ç†å¤šå¤„ç†å™¨ç³»ç»Ÿä¸Šçš„å†…å­˜åˆ†é… +├── File System and I/O Management +│ ├── fs: 文件系统相关信æ¯ï¼ŒæŒ‡å‘进程的 fs_struct +│ ├── files: 打开文件的表 (files_struct) +│ ├── io_context: I/O 上下文,用于跟踪进程的 I/O æ“作 +│ ├── splice_pipe: ç¼“å­˜æœ€è¿‘çš„ç®¡é“ (pipe_inode_info) +│ ├── bio_list: å—设备 I/O ç›¸å…³ä¿¡æ¯ +│ └── plug: 用于å—设备 I/O çš„æ’å…¥æ“ä½œçŠ¶æ€ +├── Signal Handling +│ ├── signal: ä¿¡å·å¤„ç†ç»“æž„ (signal_struct)ï¼Œè¿›ç¨‹çš„ä¿¡å·æŽ§åˆ¶å— +│ ├── sighand: ä¿¡å·å¤„ç†ç¨‹åºè¡¨ (sighand_struct),正在通过信å·å¤„ç†å‡½æ•°è¿›è¡Œå¤„ç†çš„ä¿¡å· +│ ├── pending: 挂起的信å·é˜Ÿåˆ— +│ ├── blocked: 阻塞的信å·é›† +│ └── pdeath_signal: 父进程终止时è¦å‘é€çš„ä¿¡å· +├── Security and Credentials +│ ├── cred: è¿›ç¨‹çš„æœ‰æ•ˆå‡­è¯ (cred),包括 UIDã€GID ç­‰ +│ ├── real_cred: è¿›ç¨‹çš„å®žé™…å‡­è¯ +│ ├── seccomp: Seccomp 安全é…置,é™åˆ¶ç³»ç»Ÿè°ƒç”¨çš„安全机制 +│ ├── audit_context: å®¡è®¡ç›¸å…³çš„ä¸Šä¸‹æ–‡ä¿¡æ¯ +│ └── security: 用于 LSM 模å—的安全字段 +├── Inter-Process Relationships +│ ├── real_parent: 实际的父进程 +│ ├── parent: 接收 SIGCHLD 的父进程 +│ ├── children: å­è¿›ç¨‹é“¾è¡¨ +│ ├── sibling: 兄弟进程链表 +│ ├── group_leader: 线程组的组长指针 +│ └── ptraced: 被 ptrace() 跟踪的进程链表 +├── Namespace Management +│ ├── nsproxy: 命å空间代ç†ç»“构,存储进程的命åç©ºé—´ä¿¡æ¯ +│ ├── cgroups: 进程所属的控制组 (cgroup) +│ ├── cg_list: cgroup 任务链表 +│ └── namespaces: 进程的å„ç§å‘½å空间 (pid, net, uts, ipc ç­‰) +├── Time and Statistics +│ ├── start_time: 进程的å¯åŠ¨æ—¶é—´ï¼ˆå•调时间) +│ ├── utime: 用户æ€è¿è¡Œæ—¶é—´ +│ ├── stime: 内核æ€è¿è¡Œæ—¶é—´ +│ ├── nvcsw: è¿›ç¨‹çš„è‡ªæ„¿ä¸Šä¸‹æ–‡åˆ‡æ¢æ¬¡æ•° +│ ├── nivcsw: 进程的éžè‡ªæ„¿ä¸Šä¸‹æ–‡åˆ‡æ¢æ¬¡æ•° +│ └── sched_statistics: è°ƒåº¦å™¨çš„ç»Ÿè®¡ä¿¡æ¯ +├── Thread and CPU State +│ ├── thread: æ¯ä¸ª CPU 特定的线程状æ€ç»“æž„ (thread_struct) +│ ├── recent_used_cpu: 最近使用的 CPU +│ ├── on_cpu: 进程是å¦å½“剿­£åœ¨è¿è¡Œçš„æ ‡å¿— +│ └── wake_cpu: 唤醒进程时使用的目标 CPU +├── Debugging and Tracing +│ ├── ptrace: 记录 ptrace ç³»ç»Ÿè°ƒç”¨çš„è°ƒè¯•çŠ¶æ€ +│ ├── last_siginfo: 上次å‘é€ç»™è¯¥è¿›ç¨‹çš„ä¿¡å·ä¿¡æ¯ +│ ├── task_state_change: 记录进程状æ€å˜æ›´çš„æ—¶é—´æˆ³ +│ └── trace_recursion: 跟踪递归的掩ç å’Œè®¡æ•°å™¨ +├── Resource Limits and Accounting +│ ├── rlimit: 资æºé™åˆ¶ (RLIMIT_CPU, RLIMIT_NOFILE ç­‰) +│ ├── ioac: I/O 统计信æ¯ï¼Œç”¨äºŽ I/O èµ„æºæ¶ˆè€—的统计 +│ └── acct_rss_mem1: 进程的 RSS å†…å­˜ä½¿ç”¨é‡ +├── Error Handling and Recovery +│ ├── task_works: 用于延迟处ç†çš„任务列表(如信å·å¤„ç†ï¼‰ +│ ├── restart_block: 系统调用é‡å¯æ—¶ä½¿ç”¨çš„上下文 +│ └── oom_reaper_list: 用于记录 OOM 情况下需è¦å¤„ç†çš„进程 +``` + +### è¿›ç¨‹çŠ¶æ€ +- TASK_RUNNING:此状æ€çš„进程在å¯è¿è¡Œé˜Ÿåˆ—中,等待 CPU 调度程åºåˆ†é…时间片 +- TASK_INTERRUPTIBLE,å¯ä¸­æ–­çš„ç¡çœ çжæ€ï¼šè™½ç„¶åœ¨ç¡çœ ï¼Œç­‰å¾… I/O 完æˆï¼Œä½†æ˜¯è¿™ä¸ªæ—¶å€™ä¸€ä¸ªä¿¡å·æ¥çš„æ—¶å€™ï¼Œè¿›ç¨‹è¿˜æ˜¯è¦è¢«å”¤é†’。åªä¸è¿‡å”¤é†’åŽï¼Œ +䏿˜¯ç»§ç»­åˆšæ‰çš„æ“ä½œï¼Œè€Œæ˜¯è¿›è¡Œä¿¡å·å¤„ç† +- TASK_UNINTERRUPTIBLE,ä¸å¯ä¸­æ–­çš„ç¡çœ çжæ€ï¼šä¸å¯è¢«ä¿¡å·å”¤é†’,åªèƒ½æ­»ç­‰ I/O æ“作完æˆã€‚一旦 I/O æ“作因为特殊原因ä¸èƒ½å®Œæˆï¼Œè¿™ä¸ªæ—¶å€™ï¼Œè°ä¹Ÿå«ä¸é†’这个进程了。 +kill 本身也是一个信å·ï¼Œæ—¢ç„¶è¿™ä¸ªçжæ€ä¸å¯è¢«ä¿¡å·å”¤é†’,kill ä¿¡å·ä¹Ÿè¢«å¿½ç•¥äº†ã€‚除éžé‡å¯ç”µè„‘,没有其他办法。 +- TASK_KILLABLE,å¯ä»¥ç»ˆæ­¢çš„æ–°ç¡çœ çжæ€ï¼šè¿›ç¨‹å¤„于这ç§çжæ€ä¸­ï¼Œå®ƒçš„è¿è¡ŒåŽŸç†ç±»ä¼¼ TASK_UNINTERRUPTIBLE,åªä¸è¿‡å¯ä»¥å“åº”è‡´å‘½ä¿¡å· +```c +#define TASK_KILLABLE (TASK_WAKEKILL | TASK_UNINTERRUPTIBLE) +``` +- TASK_STOPPEDï¼šè¿›ç¨‹è¢«åœæ­¢ï¼ˆæš‚åœï¼‰ï¼Œé€šå¸¸æ˜¯æ”¶åˆ° SIGSTOPã€SIGTSTPã€SIGTTIN 或 SIGTTOU ä¿¡å·å¯¼è‡´ï¼Œç­‰å¾…外部信å·ï¼ˆå¦‚ SIGCONTï¼‰æ¥æ¢å¤è¿è¡Œï¼Œå¸¸ç”¨äºŽè°ƒè¯•æ—¶æš‚åœè¿›ç¨‹æ‰§è¡Œ +- TASK_TRACED: 进程正在被调试器(如 gdb)跟踪,通常是由于执行了 ptrace 系统调用 +- EXIT_ZOMBIE (僵尸æ€):进程已ç»ç»ˆæ­¢ï¼Œä½†å®ƒçš„父进程尚未通过 wait() 系统调用获å–å®ƒçš„é€€å‡ºçŠ¶æ€ +- EXIT_DEAD (死亡æ€):僵尸进程的终止状æ€å·²ç»è¢«å…¶çˆ¶è¿›ç¨‹èŽ·å–,进程的资æºå·²è¢«å®Œå…¨å›žæ”¶ï¼Œåœ¨è¯¥çжæ€ä¸‹ï¼Œè¿›ç¨‹å·²ç»ä¸å†å­˜åœ¨ï¼Œå…¶è¿›ç¨‹è¡¨é¡¹ä¼šè¢«å†…核回收。 +- TASK_PARKED:æŸäº›æƒ…况下线程会被“挂起â€ï¼Œç­‰å¾…被唤醒或处ç†ã€‚通常用于æŸäº›ç‰¹æ®Šçš„硬件或资æºåœºæ™¯ +```c +sys_fork + ├── _do_fork + ├── wake_up_new_task + ├── p->state = TASK_RUNNING + ├── 进程分é…到 CPU,进入è¿è¡ŒçŠ¶æ€ + │ ├── 时间片用完或被抢å ï¼Œé‡æ–°è°ƒåº¦ + │ └── 执行任务 + ├── 进程等待æŸäº‹ä»¶æˆ–资æºï¼š + │ ├── TASK_INTERRUPTIBLE (å¯è¢«ä¿¡å·å”¤é†’çš„ç¡çœ ) + │ ├── TASK_UNINTERRUPTIBLE (ä¸å¯è¢«ä¿¡å·å”¤é†’çš„ç¡çœ ) + │ └── TASK_KILLABLE (åªèƒ½è¢« SIGKILL 终止的ç¡çœ ) + ├── 进程被 SIGSTOP ä¿¡å·åœæ­¢ï¼š + │ └── TASK_STOPPED (进程暂åœ) + └── 进程退出,进入僵尸状æ€ï¼š + └── EXIT_ZOMBIE (进程结æŸä½†çˆ¶è¿›ç¨‹æœªå›žæ”¶) +``` + +### 进程æƒé™ +#### 基本知识 +- 用户ID(UID):用户 ID 是系统中æ¯ä¸ªç”¨æˆ·çš„唯一标识符,用æ¥åŒºåˆ†ä¸åŒçš„系统用户 + - 系统用户: 是æ“作系统中创建的æ¯ä¸ªç”¨æˆ·è´¦æˆ·ï¼ˆå¦‚ rootã€user1ã€user2 等),æ¯ä¸ªç³»ç»Ÿç”¨æˆ·éƒ½æœ‰ä¸€ä¸ªå”¯ä¸€çš„ UID。通过 UID,系统å¯ä»¥ç®¡ç†ä¸åŒç”¨æˆ·çš„æƒé™å’Œèµ„æºè®¿é—® + - UID 0: 在 Linux 系统中,UID 为 0 的用户是超级用户(root),拥有最高æƒé™ï¼Œå¯ä»¥æ‰§è¡Œæ‰€æœ‰æ“作 + - å½“ç¨‹åºæˆ–进程è¿è¡Œæ—¶ï¼Œå®ƒç»§æ‰¿äº†å¯åŠ¨å®ƒçš„ç”¨æˆ·çš„ UID,这个 UID 用于控制进程的æƒé™èŒƒå›´ã€‚比如,一个普通用户è¿è¡Œçš„程åºä¸èƒ½è®¿é—®åªæœ‰ root ç”¨æˆ·èƒ½è®¿é—®çš„èµ„æº + - 进程å¯ä»¥ä½¿ç”¨ setuid() 系统调用临时改å˜å…¶ UID,获å–ä¸åŒçš„æƒé™ã€‚这在æŸäº›æƒ…况下(如 SUID 程åºï¼‰ç”¨äºŽä¸´æ—¶æå‡è¿›ç¨‹çš„æƒé™ +- 组 ID (GID):组 ID 是系统中æ¯ä¸ªç”¨æˆ·ç»„的唯一标识符,用于管ç†ä¸€ç»„用户的访问æƒé™ + - 用户组: 系统中的æ¯ä¸ªç”¨æˆ·é€šå¸¸éƒ½å±žäºŽè‡³å°‘一个用户组,用户组是多个用户的集åˆï¼Œç»„中的用户共享相åŒçš„组æƒé™ã€‚æ¯ä¸ªç”¨æˆ·ç»„都有一个唯一的 GID + - 一个用户å¯ä»¥åŒæ—¶å±žäºŽå¤šä¸ªç»„:æ¯ä¸ªç”¨æˆ·éƒ½æœ‰ä¸€ä¸ªä¸»ç»„(Primary Group)和å¯èƒ½çš„多个附加组(Supplementary Groups)。 + 主组的 GID 记录在用户的账户信æ¯ä¸­ï¼Œè€Œé™„加组的 GID 则ä¿å­˜åœ¨ group_info 结构中 + - 补充组 (Supplementary Groups):æ¯ä¸ªç”¨æˆ·å¯ä»¥å±žäºŽå¤šä¸ªç»„,除了主组外,用户还å¯ä»¥å±žäºŽå¤šä¸ªé™„加组 + - 进程ä¸ä»…继承用户的主组 GID,还会继承用户的附加组。这样进程å¯ä»¥é€šè¿‡å¤šä¸ªç»„çš„æƒé™æ¥è®¿é—®ç³»ç»Ÿèµ„æº + + +struct cred 是 Linux 内核中用于æè¿°è¿›ç¨‹èº«ä»½ï¼ˆcredentials)的数æ®ç»“构, +它ä¿å­˜äº†ä¸Žç”¨æˆ·ã€ç»„åŠå…¶æƒé™ç›¸å…³çš„ä¿¡æ¯ã€‚这个结构体在æƒé™ç®¡ç†å’Œè®¿é—®æŽ§åˆ¶ä¸­æ‰®æ¼”了é‡è¦è§’色,控制进程在系统中能åšä»€ä¹ˆã€‚ + +```c +struct cred { + atomic_long_t usage; + kuid_t uid; /* real UID of the task */ + kgid_t gid; /* real GID of the task */ + kuid_t suid; /* saved UID of the task */ + kgid_t sgid; /* saved GID of the task */ + kuid_t euid; /* effective UID of the task */ + kgid_t egid; /* effective GID of the task */ + kuid_t fsuid; /* UID for VFS ops */ + kgid_t fsgid; /* GID for VFS ops */ + unsigned securebits; /* SUID-less security management */ + kernel_cap_t cap_inheritable; /* caps our children can inherit */ + kernel_cap_t cap_permitted; /* caps we're permitted */ + kernel_cap_t cap_effective; /* caps we can actually use */ + kernel_cap_t cap_bset; /* capability bounding set */ + kernel_cap_t cap_ambient; /* Ambient capability set */ +#ifdef CONFIG_KEYS + unsigned char jit_keyring; /* default keyring to attach requested + * keys to */ + struct key *session_keyring; /* keyring inherited over fork */ + struct key *process_keyring; /* keyring private to this process */ + struct key *thread_keyring; /* keyring private to this thread */ + struct key *request_key_auth; /* assumed request_key authority */ +#endif +#ifdef CONFIG_SECURITY + void *security; /* LSM security */ +#endif + struct user_struct *user; /* real user ID subscription */ + struct user_namespace *user_ns; /* user_ns the caps and keyrings are relative to. */ + struct ucounts *ucounts; + struct group_info *group_info; /* supplementary groups for euid/fsgid */ + /* RCU deletion */ + union { + int non_rcu; /* Can we skip RCU deletion? */ + struct rcu_head rcu; /* RCU deletion hook */ + }; +} __randomize_layout; +``` +这里细化讲一部分,剩下的在注释中就能ç†è§£å¤§æ¦‚ +- struct user_struct userï¼šæŒ‡å‘ user_struct 结构体,表示当å‰ç”¨æˆ·çš„引用和é…é¢ç®¡ç† + - user_struct 用于管ç†ç³»ç»Ÿä¸­ä¸Žç”¨æˆ·ç›¸å…³çš„资æºå’Œé…é¢ã€‚å®ƒè·Ÿè¸ªç”¨æˆ·çš„è¿›ç¨‹æ•°ã€æ–‡ä»¶å¥æŸ„æ•°ã€å†…å­˜ä½¿ç”¨ç­‰ä¿¡æ¯ +- struct user_namespace user_ns:指å‘用户命å空间 (user_namespace) 的指针 + - 用户命å空间 是 Linux 容器的关键特性之一,它å…许在åŒä¸€ç³»ç»Ÿä¸Šåˆ›å»ºä¸åŒçš„用户命å空间,使得ä¸åŒå‘½å空间中的用户和组 ID 是独立的 + - user_ns å…许进程在特定的命å空间中使用ä¸åŒçš„ UID å’Œ GID,而ä¸å½±å“其他命å空间中的用户和组 + - 容器实现的底层原ç†ä¹‹ä¸€ï¼Œåˆ°æ—¶å€™ä¼šè¯¦ç»†è¯´ +- struct group_info group_info:group_info å­˜å‚¨è¿›ç¨‹çš„è¡¥å……ç»„ä¿¡æ¯ + +#### 几个uidå’Œgid +- atomic_long_t usageï¼šå¼•ç”¨è®¡æ•°å™¨ï¼Œè¡¨ç¤ºå½“å‰ cred 结构体的引用次数 + - 内核使用 usage æ¥ç®¡ç† cred 的生命周期,当一个进程ä¸å†ä½¿ç”¨è¿™ä¸ª cred 时,引用计数器会å‡å°‘。如果计数é™ä¸ºé›¶ï¼Œå†…核会释放该 cred 结构体 +- kuid_t uid, gid:uid 是任务的 真实用户 ID (Real UID),gid 是 真实组 ID (Real GID) + - 一般情况下,è°å¯åŠ¨çš„è¿›ç¨‹ï¼Œå°±æ˜¯è°çš„ ID。但是æƒé™å®¡æ ¸çš„æ—¶å€™ï¼Œå¾€å¾€ä¸æ¯”较这两个,也就是说ä¸å¤§èµ·ä½œç”¨ +- kuid_t euid, egid:任务的 有效用户 ID (Effective UID),egid 是 有效组 ID (Effective GID) + - 表示当å‰è¿›ç¨‹çš„“活动身份â€ï¼Œ**它决定了进程在系统中的æƒé™** + - 一个进程å¯ä»¥é€šè¿‡ SUID ç¨‹åºæˆ– seteuid() 系统调用临时改å˜å…¶ euid,从而获å–é¢å¤–çš„æƒé™ + - SUID 的工作原ç†ï¼š + - å¦‚æžœä¸€ä¸ªå¯æ‰§è¡Œæ–‡ä»¶çš„ SUID ä½è¢«è®¾ç½®ï¼Œé‚£ä¹ˆå½“任何用户è¿è¡Œè¯¥ç¨‹åºæ—¶ï¼Œç¨‹åºä¼šä¸´æ—¶èŽ·å¾—è¯¥æ–‡ä»¶çš„æ‰€æœ‰è€…çš„æƒé™ï¼Œå³ euid 会被设置为文件的所有者 UID + - 这样,程åºçš„ euid 就是文件的所有者 UID(例如,root),而 uid ä»ç„¶æ˜¯å¯åŠ¨è¯¥ç¨‹åºçš„用户 UID +- kuid_t suid, sgid:suid 是任务的 ä¿å­˜çš„用户 ID (Saved UID)ã€ä¿å­˜çš„组 ID (Saved GID) + - 用于æƒé™çš„回退和æ¢å¤ã€‚它们是在执行 setuid()ã€setgid() 等系统调用åŽä¿å­˜çš„原始 ID + - 当进程以æŸç§ä¸´æ—¶æ–¹å¼ï¼ˆæ¯”如通过 SUID 程åºï¼‰æ”¹å˜äº† euid å’Œ egid 时,ä¿å­˜çš„ UID å’Œ GID å¯ä»¥ç”¨äºŽå°†è¿›ç¨‹æ¢å¤åˆ°åŽŸå§‹èº«ä»½ +- kuid_t fsuid, fsgid:文件系统æ“作使用的用户 IDã€ç»„ ID + - 控制文件系统æ“作时的æƒé™ï¼Œåœ¨è®¿é—®æ–‡ä»¶æˆ–目录时,系统会å‚考 fsuid å’Œ fsgidï¼Œè€Œä¸æ˜¯ euid å’Œ egid + +一般说æ¥ï¼Œfsuidã€euid,和 uid 是一样的,fsgidã€egid,和 gid 也是一样的。因为è°å¯åŠ¨çš„è¿›ç¨‹ï¼Œå°±åº”è¯¥å®¡æ ¸å¯åŠ¨çš„ç”¨æˆ·åˆ°åº•æœ‰æ²¡æœ‰è¿™ä¸ªæƒé™ã€‚ + +这里举几个用到SUIDçš„ä¾‹å­ +- passwd 程åºï¼šå®ƒå…许普通用户修改自己的密ç ï¼Œè™½ç„¶å¯†ç æ–‡ä»¶ /etc/shadow åªæœ‰ root 用户å¯ä»¥ä¿®æ”¹ + - 当用户è¿è¡Œ passwd 时,进程会以用户的 UID å¯åŠ¨ï¼Œä½†ç”±äºŽ passwd çš„ SUID ä½è¢«è®¾ç½®ï¼Œå®ƒçš„ euid 被临时更改为 root(UID 0) + - 这样,程åºèŽ·å¾—äº†ä¿®æ”¹ /etc/shadow 文件的æƒé™ï¼Œå› ä¸ºå®ƒçŽ°åœ¨ä»¥ root çš„æƒé™è¿è¡Œ +- sudo命令:sudo 程åºéœ€è¦åœ¨æ‰§è¡Œæ—¶ä¸´æ—¶èŽ·å¾— root æƒé™ï¼Œä»¥ä¾¿èƒ½å¤Ÿæ‰§è¡Œç³»ç»Ÿçº§çš„管ç†ä»»åŠ¡ã€‚ä¸ºäº†å®žçŽ°è¿™ä¸€ç‚¹ï¼Œsudo 使用了 SUID(Set User ID) 机制 + - å¯ä»¥é€šè¿‡ ls -l 命令查看 sudo 程åºçš„æƒé™ï¼Œæ¥ç¡®è®¤ SUID 使˜¯å¦è®¾ç½® + - rwsr-xr-x 中的 s 就表示 SUID ä½å·²ç»è®¾ç½®ï¼Œæ–‡ä»¶çš„æ‰€æœ‰è€…是 root,因此当任何用户执行 sudo 时,它会以 root æƒé™è¿è¡Œ + - 用户输入 sudo 命令,例如 sudo apt update + - 系统调用时,由于 sudo çš„ SUID ä½è¢«è®¾ç½®ï¼Œè¿›ç¨‹çš„ æœ‰æ•ˆç”¨æˆ· ID (euid) 被临时设置为 root,å³ä½¿å®žé™…è¿è¡Œè¯¥å‘½ä»¤çš„用户是一个普通用户 + - 如果用户被授æƒè¿è¡Œè¯¥å‘½ä»¤ï¼Œsudo 会以 root æƒé™æ‰§è¡Œç”¨æˆ·è¾“入的命令(例如 apt update),å¦åˆ™ä¼šæ‹’ç»æ‰§è¡Œ + - 完æˆå‘½ä»¤æ‰§è¡ŒåŽï¼Œè¿›ç¨‹çš„æƒé™å°†æ¢å¤åˆ°æ™®é€šç”¨æˆ·çš„æƒé™ +```c +(base) ne0@ne0-System:~$ ls -l /usr/bin/sudo +-rwsr-xr-x 1 root root 232416 4月 4 2023 /usr/bin/sudo +``` + +#### capabilities +除了以用户和用户组控制æƒé™ï¼ŒLinux 还有å¦ä¸€ä¸ªæœºåˆ¶å°±æ˜¯capabilities,设计目的是将超级用户(root 用户)的æƒåŠ›è¿›è¡Œç»†åŒ–æŽ§åˆ¶ï¼Œ +å…è®¸éž root 用户执行æŸäº›ç‰¹æƒæ“作,而ä¸å¿…赋予它们所有 root æƒé™ã€‚这部分设计让系统å¯ä»¥æ›´çµæ´»åœ°åˆ†é…æƒé™ï¼Œå¹¶æé«˜å®‰å…¨æ€§ã€‚ +æ¯ä¸ªèƒ½åŠ›ä»£è¡¨ä¸€ä¸ªå…·ä½“çš„æƒé™ï¼Œä¾‹å¦‚,CAP_NET_ADMIN å…许管ç†ç½‘络接å£ï¼ŒCAP_SYS_ADMIN å…许执行å„ç§ç³»ç»Ÿç®¡ç†æ“作。 + +- cap_inheritable(å¯ç»§æ‰¿èƒ½åŠ›ï¼‰ï¼šè¡¨ç¤ºå½“å‰è¿›ç¨‹çš„å­è¿›ç¨‹å¯ä»¥ç»§æ‰¿çš„èƒ½åŠ›é›†åˆ +- cap_permitted(å…许的能力):任务层é¢ï¼Œcap_permitted 是被å…许的所有能力集åˆã€‚这个字段定义了进程在**当å‰çŽ¯å¢ƒä¸‹å¯èƒ½èŽ·å¾—çš„èƒ½åŠ›çš„æœ€å¤§é›†åˆ** +- cap_effective(实际使用的能力):cap_effective æ˜¯è¿›ç¨‹å½“å‰ å®žé™…ç”Ÿæ•ˆçš„èƒ½åŠ›é›†åˆ +- cap_ambient(环境能力集åˆï¼‰ï¼šä¸€ç§çŽ¯å¢ƒèƒ½åŠ›é›†åˆï¼Œå®ƒå…许将æŸäº›èƒ½åŠ›ä»Žçˆ¶è¿›ç¨‹ç»§æ‰¿åˆ°å­è¿›ç¨‹ï¼Œå¹¶å§‹ç»ˆå¤„于 cap_effective çŠ¶æ€ + - éž root 用户进程使用 exec 执行一个程åºçš„æ—¶å€™ï¼Œå¦‚何ä¿ç•™æƒé™çš„问题,当执行 exec 的时候,cap_ambient 会被添加到 cap_permitted ä¸­ï¼ŒåŒæ—¶è®¾ç½®åˆ° cap_effective 中 +- cap_bset(能力边界集åˆï¼‰ï¼šä¹Ÿå°±æ˜¯ capability bounding set,**系统层é¢**,系统层é¢çš„安全é™åˆ¶ï¼Œå®ƒå®šä¹‰äº†ä¸€ä¸ªè¿›ç¨‹èƒ½å¤ŸèŽ·å¾—çš„æ‰€æœ‰èƒ½åŠ›çš„ä¸Šé™ã€‚ + - 如果这个集åˆä¸­ä¸å­˜åœ¨æŸä¸ªæƒé™ï¼Œé‚£ä¹ˆç³»ç»Ÿä¸­çš„æ‰€æœ‰è¿›ç¨‹éƒ½æ²¡æœ‰è¿™ä¸ªæƒé™ã€‚å³ä½¿rootæƒé™æ‰§è¡Œçš„进程也一样 + + +### 用户栈和内核栈 +#### 用户栈 +用户栈是æ¯ä¸ªè¿›ç¨‹æˆ–线程在用户æ€ï¼ˆuser space)è¿è¡Œæ—¶ä½¿ç”¨çš„æ ˆï¼Œä¸»è¦ç”¨äºŽå­˜å‚¨å±€éƒ¨å˜é‡ã€å‡½æ•°å‚æ•°ã€è¿”回地å€ç­‰ã€‚ + +æ¯ä¸ªçº¿ç¨‹éƒ½æœ‰ç‹¬ç«‹çš„用户栈,用于ä¿å­˜è¯¥çº¿ç¨‹çš„函数调用信æ¯ã€å±€éƒ¨å˜é‡ã€è¿”回地å€ç­‰ã€‚这是因为æ¯ä¸ªçº¿ç¨‹æ‰§è¡Œè‡ªå·±çš„æŽ§åˆ¶æµï¼Œè°ƒç”¨ä¸åŒçš„函数, +需è¦ç‹¬ç«‹çš„æ ˆæ¥ä¿å­˜æ‰§è¡Œçжæ€ã€‚尽管线程共享åŒä¸€ä¸ªè¿›ç¨‹çš„地å€ç©ºé—´ï¼ˆå¦‚ä»£ç æ®µã€å…¨å±€å˜é‡ã€å †ç­‰ï¼‰ï¼Œä½†æ¯ä¸ªçº¿ç¨‹çš„用户栈是独立的。 + +用户栈的具体ä½ç½®é€šå¸¸ä¸Žtask的内存管ç†ç»“构(mm_struct)有关,包å«äº†è¿›ç¨‹çš„虚拟内存区域以åŠç”¨æˆ·æ ˆæŒ‡é’ˆç­‰ä¿¡æ¯ã€‚ +这个结构到内存关系部分在详细说 + + +- 用户栈的布局 +```shell ++----------------------------+ <- 栈顶(高地å€ï¼‰ +| è¿”å›žåœ°å€ | ++----------------------------+ +| å‡½æ•°å‚æ•° | ++----------------------------+ +| 局部å˜é‡ | ++----------------------------+ +| 下一个栈帧(嵌套函数调用) | ++----------------------------+ +| ... | ++----------------------------+ <- 栈底(低地å€ï¼‰ +``` +å¯ä»¥è¯´çº¿ç¨‹çš„用户栈是由线程中所有函数的栈帧组æˆçš„ +- 栈帧是æ¯ä¸ªå‡½æ•°è°ƒç”¨æ—¶åœ¨æ ˆä¸Šåˆ†é…的内存å—ã€‚æ¯æ¬¡å‡½æ•°è°ƒç”¨ï¼Œéƒ½ä¼šåœ¨æ ˆä¸Šåˆ†é…一个栈帧,存储该函数的局部å˜é‡ã€å‚数和返回地å€ç­‰ä¿¡æ¯ã€‚ +当函数嵌套调用时,æ¯ä¸ªåµŒå¥—函数都会在栈上创建一个新的栈帧,新的栈帧ä½äºŽæ ˆé¡¶ã€‚ +- 用户栈是栈帧的集åˆã€‚栈帧按调用顺åºåœ¨æ ˆä¸Šè¿žç»­åˆ†é…,栈的增长方å‘通常是从高地å€å‘低地å€ã€‚当剿 ˆé¡¶æŒ‡é’ˆ rsp æŒ‡å‘æœ€ä¸Šå±‚çš„æ ˆå¸§ï¼Œä¹Ÿå°±æ˜¯å½“å‰æ­£åœ¨æ‰§è¡Œçš„函数的栈帧。 +æ¯æ¬¡å‡½æ•°è°ƒç”¨éƒ½ä¼šåœ¨ç”¨æˆ·æ ˆä¸Šåˆ›å»ºæ–°çš„æ ˆå¸§ï¼Œå‡½æ•°è¿”回时则会从用户栈中弹出相应的栈帧。 + + +- 栈帧的结构 +```shell ++-----------------------------+ <- 栈顶,高地å€ï¼ˆå†…存地å€è¾ƒå¤§ï¼‰ +| è¿”å›žåœ°å€ (Return Address) | <- 调用函数时,返回地å€è¢«åŽ‹å…¥æ ˆ ++-----------------------------+ +| 调用者的 %rbp (Old %rbp) | <- ä¿å­˜è°ƒç”¨è€…çš„åŸºå€æŒ‡é’ˆ (Base Pointer) ++-----------------------------+ +| 局部å˜é‡ 1 (Local Variable 1)| ++-----------------------------+ +| 局部å˜é‡ 2 (Local Variable 2)| ++-----------------------------+ +| 傿•° 1 (Argument 1) | <- 通常ä¿å­˜åœ¨åç§»é‡å¤„ ++-----------------------------+ +| 傿•° 2 (Argument 2) | ++-----------------------------+ +| ... | <- 更多局部å˜é‡æˆ–临时存储的空间 ++-----------------------------+ +| %rsp (当剿 ˆæŒ‡é’ˆ) | <- æ ˆåº•ï¼Œä½Žåœ°å€ ++-----------------------------+ +``` +- 返回地å€: 在调用一个函数时,call 指令会将返回地å€ï¼ˆè°ƒç”¨è€…çš„ä¸‹ä¸€æ¡æŒ‡ä»¤åœ°å€ï¼‰åŽ‹å…¥æ ˆä¸­ï¼Œè¿™æ ·å½“è¢«è°ƒç”¨çš„å‡½æ•°æ‰§è¡Œå®Œæ¯•æ—¶ï¼Œret 指令会从栈中弹出返回地å€å¹¶è·³è½¬å›žè°ƒç”¨è€… +- æ—§çš„ rbp(调用者的栈帧基å€ï¼‰: 在进入新函数时,rbp 会ä¿å­˜è°ƒç”¨è€…çš„æ ˆå¸§æŒ‡é’ˆï¼ˆåŸºå€æŒ‡é’ˆï¼‰ï¼Œä»¥ä¾¿å‡½æ•°è¿”回时能够æ¢å¤è°ƒç”¨è€…的栈帧。 +通过 push %rbp ä¿å­˜è°ƒç”¨è€…çš„ rbp,而åŽé€šè¿‡ mov %rsp, %rbp è®¾ç½®æ–°çš„æ ˆå¸§åŸºå€ +- 局部å˜é‡å’Œä¸´æ—¶æ•°æ®: 这些å˜é‡æ˜¯åœ¨å‡½æ•°å†…部定义的局部å˜é‡ï¼Œå®ƒä»¬é€šå¸¸å­˜å‚¨åœ¨æ ˆä¸Šå¹¶ä¸”ä½äºŽ rbp çš„åç§»ä½ç½®ã€‚ +局部å˜é‡å¯ä»¥æ ¹æ®éœ€è¦å ç”¨ä¸åŒçš„æ ˆç©ºé—´ã€‚通过 sub 指令å‡å°‘ rsp çš„å€¼åˆ†é…æ ˆç©ºé—´ +- ä¼ é€’çš„å‚æ•°: 在 x86-64 çš„è°ƒç”¨çº¦å®šä¸­ï¼Œå‡½æ•°çš„å‰ 6 ä¸ªå‚æ•°é€šå¸¸é€šè¿‡å¯„存器传递,但它们通常会在进入函数åŽä¿å­˜åˆ°æ ˆä¸­ï¼Œ +ä»¥ä¾¿å‡½æ•°ä½¿ç”¨ã€‚å‚æ•°ä¿å­˜åœ¨æ ˆçš„ rbp 基å€çš„æŸäº›åç§»é‡å¤„ +- 栈底 (%rsp): 栈指针 rsp 指å‘当剿 ˆé¡¶ï¼Œæ ˆå¸§ç»“æŸæ—¶æ¢å¤ rsp,并通过 leave 指令将 rbp æ¢å¤æˆä¹‹å‰çš„值,最终通过 ret ä»Žæ ˆä¸­å¼¹å‡ºè¿”å›žåœ°å€ + +下é¢è¿™ä¸ªcreate_process的栈帧就是上é¢çš„一个例å­çš„直接表现 + +![img_8.png](img_8.png) + +#### 内核栈 +在 Linux 内核中,æ¯ä¸ªtask都有一个内核栈(kernel stack),用于在taskå¤„äºŽå†…æ ¸æ€æ—¶ä¿å­˜æ‰§è¡Œçš„上下文和临时数æ®ã€‚内核栈在系统调用ã€å¼‚常处ç†ã€ä»¥åŠä¸­æ–­å¤„ç†æ—¶å°¤ä¸ºé‡è¦ã€‚ + +内核栈是进程切æ¢åˆ°å†…æ ¸æ€æ—¶ä½¿ç”¨çš„æ ˆï¼Œç”¨äºŽå­˜å‚¨ä»¥ä¸‹å†…容: +- 系统调用的上下文信æ¯ï¼šå½“一个用户æ€è¿›ç¨‹é€šè¿‡ç³»ç»Ÿè°ƒç”¨è¿›å…¥å†…æ ¸æ€æ—¶ï¼Œå†…核栈用于ä¿å­˜ç³»ç»Ÿè°ƒç”¨çš„傿•°ã€è¿”回地å€ç­‰ä¿¡æ¯ +- 中断或异常处ç†çš„上下文:当中断或异常å‘生时,CPU 会自动切æ¢åˆ°å†…æ ¸æ€ï¼Œæ­¤æ—¶å†…核栈用于ä¿å­˜ CPU 的寄存器状æ€ç­‰ä¿¡æ¯ï¼Œä»¥ä¾¿ä¸­æ–­å¤„ç†ç»“æŸåŽå¯ä»¥æ¢å¤æ­£å¸¸çš„æ‰§è¡ŒçŠ¶æ€ +- 内核函数调用的局部å˜é‡ï¼šå½“内核调用自身的函数时,和用户æ€ä¸€æ ·ï¼Œå†…核函数的局部å˜é‡ä¹Ÿä¼šè¢«ä¿å­˜åœ¨å†…核栈上 + +ç®€å•æ¥è¯´ï¼Œå†…核栈是内核æ€ä¸‹æ‰§è¡Œä»£ç çš„临时存储区域,它ä¿å­˜äº†taskçš„å†…æ ¸æ€æ‰§è¡ŒçŽ¯å¢ƒã€‚ + +对于内核栈和用户栈的区别,作用方é¢çš„åŒºåˆ«ä¸Šé¢æœ‰äº†ï¼Œæ€»çš„æ¥è¯´ï¼Œæ˜¯ç”±äºŽç¨‹åºåœ¨ 用户æ€å’Œå†…æ ¸æ€ ä¹‹é—´çš„**æƒé™èŒƒå›´**和行为差异导致的 +- 栈的大å°ä¸Žä½ç½® + - 用户栈:大å°ä¸€èˆ¬ä¸æ˜¯å›ºå®šçš„,å¯ä»¥æ ¹æ®éœ€è¦åЍæ€å¢žé•¿ + - 内核栈:内核栈的大å°é€šå¸¸æ˜¯å›ºå®šçš„。典型的 Linux 系统中,内核栈大å°ä¸ºä¸¤é¡µå†…存,由于内核栈的大å°å›ºå®šä¸”较å°ï¼Œå†…核中ä¸èƒ½è¿›è¡Œè¿‡åº¦å¤æ‚的递归æ“作,é¿å…栈溢出。 +- æ ˆå¸§ç®¡ç† + - 用户栈:栈帧管ç†ç”±ç”¨æˆ·æ€ç¨‹åºå’Œç¼–è¯‘å™¨çš„çº¦å®šæ¥æŽ§åˆ¶ã€‚æ¯ä¸ªå‡½æ•°è°ƒç”¨éƒ½ä¼šåœ¨ç”¨æˆ·æ ˆä¸Šåˆ†é…一个新的栈帧 + - 内核栈:栈帧管ç†ç”±å†…æ ¸æ¥æŽ§åˆ¶ã€‚å½“å†…æ ¸è°ƒç”¨å†…æ ¸æ€çš„å‡½æ•°æ—¶ï¼Œä¹Ÿä¼šåœ¨å†…æ ¸æ ˆä¸Šåˆ†é…æ ˆå¸§ + +#### task_structä¸­å¯¹äºŽå†…æ ¸æ ˆçš„ç®¡ç† +在 task_struct ä¸­ï¼Œå†…æ ¸æ ˆçš„ç®¡ç†æ˜¯é€šè¿‡ä¸¤ä¸ªé‡è¦çš„字段æ¥è¿›è¡Œçš„,分别是: +- thread_info 结构: 存放了线程的标志ã€çжæ€ã€CPU ä¿¡æ¯ç­‰ã€‚thread_info 通常ä½äºŽå†…核栈的低地å€éƒ¨åˆ†ï¼Œä¹Ÿå°±æ˜¯å†…核栈的基å€ã€‚ +- stack 指针: task_struct 中的 void *stack 指针指å‘当å‰è¿›ç¨‹çš„内核栈。æ¯ä¸ªè¿›ç¨‹çš„内核栈有固定大å°ï¼ˆé€šå¸¸ä¸º 8KB 或 16KB),这个指针指å‘内核栈的起始地å€ã€‚ +![img_9.png](img_9.png) + +内核栈的结构å¯ä»¥ç”±ä¸Šå›¾è¡¨ç¤ºï¼ˆé¢„ç•™8个字节是对于32ä½ç³»ç»Ÿï¼‰ï¼Œå†…核栈的底部通常是 thread_info 结构,栈的顶部存储ç€å¤„ç†ç³»ç»Ÿè°ƒç”¨æˆ–中断时需è¦ä¿å­˜çš„寄存器内容,这些寄存器通过 pt_regs 结构ä¿å­˜ã€‚ +当å‘生系统调用时,系统从用户æ€åˆ‡æ¢åˆ°å†…æ ¸æ€ï¼Œæ­¤æ—¶é¦–å…ˆè¦åšçš„æ˜¯ä¿å­˜å½“å‰è¿è¡Œçº¿ç¨‹çš„上下文(包括 CPU 寄存器),系统会将寄存器的值压入内核栈,并存储在 pt_regs 结构中。 + +在内核代ç ä¸­ï¼Œthread_info å’Œ stack 被å°è£…在一个å«åš thread_union çš„è”åˆä½“中: +thread_union 结åˆäº†çº¿ç¨‹çš„ 内核栈 å’Œ thread_info,这样å¯ä»¥é«˜æ•ˆåœ°ç»„织内核栈,并通过栈指针快速访问 thread_info 结构 +```c +union thread_union { + #ifndef CONFIG_THREAD_INFO_IN_TASK + struct thread_info thread_info; + #endif + unsigned long stack[THREAD_SIZE / sizeof(long)]; +}; +``` +- 对于从task找到对应的内核栈,直接利用stack指针å³å¯ +- 对于从内核栈找到对应的task + - 首先从栈顶ä½ç½®å‡åŽ»THREAD_SIZE,定ä½åˆ°thread_infoçš„ä½ç½® + - 之åŽthread_info中有指å‘task的指针 +```c +struct thread_info { + struct task_struct *task; /* main task structure */ + unsigned long flags; /* low level flags */ + __u32 cpu; /* current CPU */ + int preempt_count; /* 0 => preemptable, + <0 => BUG */ + struct thread_info *real_thread; /* Points to non-IRQ stack */ + unsigned long aux_fp_regs[FP_SIZE]; /* auxiliary fp_regs to save/restore + them out-of-band */ +}; +``` +在上é¢ä»£ç ä¸­å¯ä»¥å‘现有个real_threadçš„å‚æ•°ï¼Œè¿™ä¸ªå‚数设计是为了处ç†ä¸­æ–­å¤„ç†ç¨‹åºå’Œå¼‚å¸¸å¤„ç†æ—¶æ¶‰åŠçš„ä¸åŒå†…核栈的情况 +- real_thread 指å‘的是线程的éžä¸­æ–­æ ˆçš„ thread_info 结构 +- 当å‘生中断时,系统会使用一个独立的中断栈和与之关è”çš„ thread_info 结构体,而 real_thread ç”¨äºŽè¿½æº¯åˆ°è¯¥çº¿ç¨‹çš„å®žé™…å†…æ ¸æ ˆå’Œç›¸å…³ä¿¡æ¯ + + +![img_10.png](img_10.png) + + + + + + + diff --git "a/Document/sched/\350\260\203\345\272\246.md" "b/Document/sched/\350\260\203\345\272\246.md" new file mode 100644 index 0000000..a430c69 --- /dev/null +++ "b/Document/sched/\350\260\203\345\272\246.md" @@ -0,0 +1,456 @@ +## Linux调度器的整体架构 +```shell +调度器架构 +│ +├── CPU è¿è¡Œé˜Ÿåˆ— (rq) (æ¯ä¸ªCPU都有一个) +│ ├── struct rq +│ │ ├── struct cfs_rq (CFS 调度类的è¿è¡Œé˜Ÿåˆ—) +│ │ │ ├── struct rb_root_cached (红黑树根节点,用于管ç†CFS任务) +│ │ │ │ ├── struct sched_entity (调度实体,æ¯ä¸ªCFS任务的表示) +│ │ │ │ │ ├── struct task_struct (关è”的进程) +│ │ │ │ │ ├── u64 vruntime (虚拟è¿è¡Œæ—¶é—´ï¼Œå†³å®šè°ƒåº¦é¡ºåºï¼‰ +│ │ │ │ │ └── struct rb_node (红黑树节点,用于排åºï¼‰ +│ │ │ │ └── 其他调度实体 ... +│ │ │ └── tasks_timeline (任务时间线,通过 vruntime 排åºï¼‰ +│ │ │ +│ │ ├── struct rt_rq (实时调度类的è¿è¡Œé˜Ÿåˆ—) +│ │ │ ├── struct highest_prio (最高优先级的任务) +│ │ │ ├── struct task_struct (关è”的实时任务) +│ │ │ └── 其他优先级队列... +│ │ │ +│ │ ├── struct dl_rq (Deadline 调度类的è¿è¡Œé˜Ÿåˆ—) +│ │ │ ├── struct rb_root_cached (红黑树根节点,用于管ç†DL任务) +│ │ │ ├── struct sched_dl_entity (Deadline调度实体) +│ │ │ │ ├── struct task_struct (关è”的进程) +│ │ │ │ └── struct rb_node (红黑树节点,用于排åºï¼‰ +│ │ │ └── å…¶ä»–DL任务... +│ │ +│ ├── struct task_struct *idle (空闲任务,用于CPU空闲时) +│ └── struct task_struct *stop ï¼ˆåœæ­¢ä»»åŠ¡ï¼Œç‰¹å®šæƒ…å†µä¸‹è§¦å‘) +│ +├── 调度类 (sched_class) +│ ├── struct sched_class +│ │ ├── enqueue_task() (将任务加入è¿è¡Œé˜Ÿåˆ—的函数) +│ │ ├── dequeue_task() (从è¿è¡Œé˜Ÿåˆ—移除任务的函数) +│ │ ├── pick_next_task() (选择下一个任务执行的函数) +│ │ └── 其他调度相关函数... +│ +├── è´Ÿè½½å‡è¡¡ (sched_domain) +│ ├── struct sched_domain (调度域,多个 CPU 组æˆä¸€ä¸ªè°ƒåº¦åŸŸï¼‰ +│ │ ├── struct cpumask (CPU mask,定义哪些CPU属于该调度域) +│ │ ├── load_balance() (负载å‡è¡¡å‡½æ•°ï¼‰ +│ │ ├── select_task_rq() (选择哪个CPUæ¥è¿è¡ŒæŸä¸ªä»»åŠ¡ï¼‰ +│ │ └── å…¶ä»–è´Ÿè½½å‡è¡¡ç›¸å…³å‡½æ•°... +│ +└── å…¨å±€è°ƒåº¦çŠ¶æ€ + ├── è¿è¡Œä¸­çš„ task_struct + │ ├── 当剿­£åœ¨è¿è¡Œçš„任务 (struct task_struct) + │ └── 下一个å³å°†è°ƒåº¦çš„任务 (next task) + │ + └── è°ƒåº¦ä¿¡æ¯ + ├── context_switches ï¼ˆä¸Šä¸‹æ–‡åˆ‡æ¢æ¬¡æ•°ï¼‰ + ├── nr_running (当å‰è¿è¡Œé˜Ÿåˆ—中的任务数) + └── preempt_count (抢å è®¡æ•°ï¼Œå†³å®šæ˜¯å¦å¯ä»¥æŠ¢å ï¼‰ +``` +1. CPU è¿è¡Œé˜Ÿåˆ— (rq): + - æ¯ä¸ª CPU 都有一个独立的 rq(è¿è¡Œé˜Ÿåˆ—),用于管ç†è¯¥ CPU 上的所有任务 + - æ¯ä¸ª rq 包å«å¤šä¸ªè°ƒåº¦ç±»é˜Ÿåˆ—(如 cfs_rqã€rt_rq å’Œ dl_rq),用于ä¸åŒç±»åž‹çš„任务(CFSã€å®žæ—¶ã€Deadline 调度类) + - æ¯ä¸ªè°ƒåº¦ç±»æœ‰å…¶ç‰¹å®šçš„æ•°æ®ç»“æž„æ¥ç®¡ç†ä»»åŠ¡ï¼Œå¦‚ struct cfs_rq ä½¿ç”¨çº¢é»‘æ ‘ç®¡ç† CFS 任务, + struct rt_rq 使用优先级队列管ç†å®žæ—¶ä»»åŠ¡ï¼Œstruct dl_rq ä½¿ç”¨çº¢é»‘æ ‘ç®¡ç† Deadline 任务 +2. 调度类 (sched_class): + - ä¸åŒçš„调度类实现ä¸åŒçš„调度策略。比如,CFS 使用完全公平调度算法,实时调度 使用优先级调度,Deadline调度 则基于任务的截止时间 + - æ¯ä¸ªè°ƒåº¦ç±»é€šè¿‡å®žçŽ°ä¸€ç»„å‡½æ•°ï¼ˆå¦‚ enqueue_task()ã€dequeue_task() å’Œ pick_next_task())æ¥å®šä¹‰å¦‚何调度进程 +3. è´Ÿè½½å‡è¡¡ (sched_domain): + - 在多核系统中,多个 CPU 组æˆä¸€ä¸ªè°ƒåº¦åŸŸï¼ˆsched_domain),通过负载å‡è¡¡ç¡®ä¿ä»»åŠ¡åœ¨å¤šä¸ª CPU 之间å‡åŒ€åˆ†å¸ƒ + - 调度域通过 cpumask æ¥å®šä¹‰å“ªäº› CPU 属于该域,并通过 load_balance() 函数æ¥å®žçް CPU ä¹‹é—´çš„ä»»åŠ¡åˆ†é… +4. 全局调度状æ€ï¼š + - åŒ…å«æ‰€æœ‰å½“å‰è¿è¡Œä¸­çš„任务信æ¯å’Œè°ƒåº¦å™¨çš„状æ€ä¿¡æ¯ï¼Œå¦‚ä¸Šä¸‹æ–‡åˆ‡æ¢æ¬¡æ•°ã€å½“å‰ CPU 的任务数等 + - nr_running è¡¨ç¤ºå½“å‰æ­£åœ¨ rq 中等待è¿è¡Œçš„任务数,preempt_count 用于决定当å‰ä»»åŠ¡æ˜¯å¦å¯ä»¥è¢«æŠ¢å  + +## 调度策略和调度类 +### 调度策略 +```c +#define SCHED_NORMAL 0 +#define SCHED_FIFO 1 +#define SCHED_RR 2 +#define SCHED_BATCH 3 +#define SCHED_IDLE 5 +#define SCHED_DEADLINE 6 +``` +1. SCHED_NORMAL (也称为 SCHED_OTHER,值为 0):CFS调度器 + - Linux 中的默认调度策略,适用于大多数进程。它是一个时间共享调度策略,也就是基于优先级和时间片的调度策略 + - 使用 vruntime(虚拟è¿è¡Œæ—¶é—´ï¼‰æ¥å†³å®šè°ƒåº¦é¡ºåºï¼Œå°½å¯èƒ½å…¬å¹³åœ°ä¸ºæ‰€æœ‰è¿›ç¨‹åˆ†é… CPU。 + - 适用于普通的用户进程,如桌é¢åº”用ã€åŽå°æœåŠ¡ç­‰ã€‚ +2. SCHED_FIFO (值为 1):RT调度器 + - FIFO(先入先出)调度算法。该策略适用于需è¦ä¸¥æ ¼çš„实时调度的任务,优先级高的任务å¯ä»¥é•¿æ—¶é—´å æ® CPUï¼Œé™¤éžæœ‰æ›´é«˜ä¼˜å…ˆçº§çš„任务出现 + - 当有更高优先级的任务进入系统时,当å‰ä»»åŠ¡ä¼šè¢«æŠ¢å  + - 但是,åŒä¼˜å…ˆçº§çš„任务ä¸ä¼šæŠ¢å å®ƒï¼Œå®ƒä¼šä¸€ç›´è¿è¡Œåˆ°ä¸»åŠ¨è®©å‡º CPU(比如调用 sched_yield()ï¼‰æˆ–è¿›å…¥ç­‰å¾…çŠ¶æ€ +3. SCHED_RR (Round Robin, 值为 2):RT调度器策 + - 基于固定优先级的时间片轮转调度。优先级相åŒçš„任务按轮转的方å¼èŽ·å– CPU,æ¯ä¸ªä»»åŠ¡è¿è¡Œä¸€ä¸ªæ—¶é—´ç‰‡åŽï¼Œè°ƒåº¦å™¨ä¼šåˆ‡æ¢åˆ°ä¸‹ä¸€ä¸ªä»»åŠ¡ + - SCHED_RR æä¾›äº†ç›¸å¯¹å…¬å¹³çš„实时调度,ä¸åŒäºŽ SCHED_FIFO,æ¯ä¸ªç›¸åŒä¼˜å…ˆçº§çš„任务都能在一定时间内执行 +4. SCHED_BATCH (值为 3):CFS调度器 + - 适用于ä¸é‡è¦çš„ã€å¯¹å“åº”æ—¶é—´è¦æ±‚ä¸é«˜çš„æ‰¹å¤„ç†ä»»åŠ¡ã€‚è®¾è®¡ç›®æ ‡æ˜¯é™ä½Žæ‰¹å¤„ç†ä»»åŠ¡å¯¹äº¤äº’æ€§ä»»åŠ¡ï¼ˆå¦‚æ¡Œé¢åº”ç”¨ï¼‰çš„å½±å“ + - 基于 CFS 的调度算法,但优先级较低,CPU 分é…较少 + - 适用于低优先级的批处ç†ä»»åŠ¡ï¼Œå¦‚å¤§è§„æ¨¡æ•°æ®å¤„ç†ã€åŽå°è®¡ç®—等。这类任务ä¸è¦æ±‚快速å“应 +5. SCHED_IDLE (值为 5):CFS-IDLE + - 空闲调度策略,是最低优先级的调度策略,任务仅在系统空闲时è¿è¡Œï¼Œé€šå¸¸ç”¨äºŽæœ€ä½Žä¼˜å…ˆçº§çš„åŽå°ä»»åŠ¡ + - 适用于系统维护任务ã€åŽå°æ•°æ®å¤„ç†ç­‰ï¼Œè¿™äº›ä»»åŠ¡å¯ä»¥åœ¨ CPU 空闲时è¿è¡Œ +6. SCHED_DEADLINE (值为 6):DL调度器 + - Linux æä¾›çš„硬实时调度策略,用于需è¦ä¿è¯åœ¨æŸä¸ªç‰¹å®šæ—¶é—´å†…完æˆçš„任务 + - 基于 EDF(Earliest Deadline First,最早截止时间优先)算法,系统会优先调度最接近截止时间的任务 + +### 调度类 +对应上é¢çš„调度策略,都有相应的调度器,在讲具体调度类之å‰ï¼Œå…ˆçœ‹çœ‹sched_class本身 +```shell +sched_class +│ +├── 基本æ“作函数 +│ ├── enqueue_task(rq, task, flags) - 将任务加入è¿è¡Œé˜Ÿåˆ— +│ ├── dequeue_task(rq, task, flags) - 将任务从è¿è¡Œé˜Ÿåˆ—移除 +│ ├── yield_task(rq) - 当å‰ä»»åŠ¡ä¸»åŠ¨è®©å‡º CPU +│ ├── yield_to_task(rq, task) - å…许指定任务抢å å½“å‰ä»»åŠ¡ +│ ├── wakeup_preempt(rq, task, flags) - ä»»åŠ¡å”¤é†’æ—¶åˆ¤æ–­æ˜¯å¦æŠ¢å å½“å‰ä»»åŠ¡ +│ ├── pick_next_task(rq) - 选择下一个执行的任务 +│ └── put_prev_task(rq, task) - 将当å‰ä»»åŠ¡åˆ‡æ¢å‡ºåŽ»æ—¶çš„å¤„ç† +│ +├── 多处ç†å™¨ç›¸å…³æ“作 (SMP) +│ ├── balance(rq, prev, rq_flags) - 多 CPU 系统中负载å‡è¡¡ +│ ├── select_task_rq(task, cpu, flags) - 选择任务应该在哪个 CPU è¿è¡Œ +│ ├── migrate_task_rq(task, new_cpu) - è¿ç§»ä»»åŠ¡åˆ°æ–°çš„ CPU +│ ├── task_woken(rq, task) - ä»»åŠ¡è¢«å”¤é†’æ—¶çš„å¤„ç† +│ ├── set_cpus_allowed(task, ctx) - 设置任务å…许在哪些 CPU 上è¿è¡Œ +│ ├── rq_online(rq) - æŸä¸ª CPU 被å¯ç”¨æ—¶è°ƒç”¨ +│ └── rq_offline(rq) - æŸä¸ª CPU 被åœç”¨æ—¶è°ƒç”¨ +│ +├── 时间片管ç†å’Œä»»åŠ¡ç®¡ç† +│ ├── task_tick(rq, task, queued) - æ¯æ¬¡æ—¶é’Ÿä¸­æ–­æ›´æ–°ä»»åŠ¡çŠ¶æ€ +│ ├── task_fork(task) - æ–°ä»»åŠ¡è¢«åˆ›å»ºæ—¶çš„å¤„ç† +│ ├── task_dead(task) - ä»»åŠ¡é€€å‡ºæ—¶çš„å¤„ç† +│ +├── ä»»åŠ¡åˆ‡æ¢ +│ ├── switching_to(rq, task) - 准备切æ¢åˆ°æŸä¸ªä»»åŠ¡æ—¶çš„æ“作 +│ ├── switched_from(rq, task) - 从当å‰ä»»åŠ¡åˆ‡æ¢å‡ºåŽ»æ—¶çš„å¤„ç† +│ ├── switched_to(rq, task) - 切æ¢åˆ°æŸä¸ªä»»åŠ¡æ—¶çš„å¤„ç† +│ +├── ä¼˜å…ˆçº§ç®¡ç† +│ ├── reweight_task(rq, task, newprio) - 任务的æƒé‡æˆ–ä¼˜å…ˆçº§æ”¹å˜æ—¶çš„å¤„ç† +│ └── prio_changed(rq, task, oldprio) - 任务优先级å‘生å˜åŒ–æ—¶çš„å¤„ç† +│ +├── ç‰¹å®šè°ƒåº¦ç­–ç•¥æ”¯æŒ +│ ├── get_rr_interval(rq, task) - èŽ·å– SCHED_RR 调度策略下的时间片长度 +│ ├── update_curr(rq) - 更新当å‰ä»»åŠ¡çš„è°ƒåº¦ä¿¡æ¯ +│ └── task_change_group(task) - 任务切æ¢åˆ°ä¸åŒè°ƒåº¦ç»„æ—¶çš„å¤„ç† +│ +└── 核心调度功能 + ├── 调度器在任务è¿è¡Œã€ä»»åŠ¡åˆ›å»ºã€ä»»åŠ¡ç»“æŸç­‰åœºæ™¯ä¸‹ï¼Œæ‰§è¡Œé€‚当的行为 + ├── æ”¯æŒæŠ¢å å¼è°ƒåº¦ã€è½®è½¬è°ƒåº¦ã€å®žæ—¶è°ƒåº¦ã€æ‰¹å¤„ç†ç­‰å¤šç§è°ƒåº¦ç­–ç•¥ + └── 通过多处ç†å™¨è´Ÿè½½å‡è¡¡ã€CPU 亲和性ã€ä¼˜å…ˆçº§ç®¡ç†ï¼Œä¼˜åŒ–多核环境的性能 +``` +但实际的代ç ä¸­ï¼Œè¿™ä¸ªsched_classçš„ä½œç”¨æ›´åƒæ˜¯c++中的虚类,æä¾›äº†ä¸€ä¸ªæ¨¡æ¿ï¼Œç„¶åŽä¸åŒçš„è°ƒåº¦ç±»å¯¹äºŽå…¶ä¸­çš„æŽ¥å£æœ‰ç€ä¸åŒçš„å®žçŽ°æ–¹å¼ + +总的æ¥è¯´ï¼Œæœ‰ä¸‹é¢è¿™å‡ ç§è°ƒåº¦ç±»ï¼Œä»Žä¸Šåˆ°ä¸‹ï¼Œä¼˜å…ˆçº§ä»Žé«˜åˆ°ä½Ž +```c +#define SCHED_DATA \ + STRUCT_ALIGN(); \ + __sched_class_highest = .; \ + *(__stop_sched_class) \ + *(__dl_sched_class) \ + *(__rt_sched_class) \ + *(__fair_sched_class) \ + *(__ext_sched_class) \ + *(__idle_sched_class) \ + __sched_class_lowest = .; +``` +- __stop_sched_class:主è¦åŠŸèƒ½æ˜¯ç”¨äºŽåœæ­¢ä»»åŠ¡çš„è°ƒåº¦ï¼Œä»»åŠ¡ä¼˜å…ˆçº§æœ€é«˜ï¼Œä¸€èˆ¬ç”±å†…æ ¸åœ¨åœç”¨æˆ–é‡å¯ CPU 时使用 +- __dl_sched_class (Deadline 调度类):实现了Deadline è°ƒåº¦ç­–ç•¥ï¼ˆå³ SCHED_DEADLINE) +- __rt_sched_class (实时调度类): 实现了 Linux çš„å®žæ—¶è°ƒåº¦ç­–ç•¥ï¼ˆå³ SCHED_FIFO å’Œ SCHED_RR) +- __fair_sched_class (完全公平调度类):实现了 Linux 的完全公平调度器(CFSï¼Œå³ SCHED_NORMAL), Linux 的默认调度策略,适用于大多数用户进程 +- __ext_sched_class (扩展调度类):在近期加入内核,基于eBPF实现,具体是利用sched_ext,它æä¾›äº†ä¸€å¥—接å£ï¼Œå®žçŽ°äº†è°ƒåº¦å™¨çš„ç”¨æˆ·æ€è®¾è®¡ +- __idle_sched_class (空闲调度类): 实现了空闲调度策略(SCHED_IDLEï¼‰ã€‚è¯¥ç±»çš„ä»»åŠ¡æ˜¯æœ€ä½Žä¼˜å…ˆçº§çš„ä»»åŠ¡ï¼Œåªæœ‰åœ¨ç³»ç»Ÿæ²¡æœ‰å…¶ä»–任务è¿è¡Œæ—¶æ‰ä¼šè°ƒåº¦è¿™äº›ç©ºé—²ä»»åŠ¡ + +## CFS调度 +CFS çš„æ ¸å¿ƒæ€æƒ³æ˜¯åŸºäºŽè™šæ‹Ÿè¿è¡Œæ—¶é—´ï¼ˆvruntime),通过红黑树管ç†ä»»åŠ¡é˜Ÿåˆ—ï¼Œä¼˜å…ˆè°ƒåº¦è™šæ‹Ÿè¿è¡Œæ—¶é—´æœ€çŸ­çš„任务,从而实现 "完全公平" 的调度。 + +### CFS è°ƒåº¦çš„æ ¸å¿ƒæ€æƒ³ + - 虚拟è¿è¡Œæ—¶é—´ï¼šæ¯ä¸ªä»»åŠ¡éƒ½æœ‰ä¸€ä¸ª vruntime,CFS 使用这个虚拟è¿è¡Œæ—¶é—´æ¥å†³å®šä»»åŠ¡èŽ·å¾— CPU 的先åŽé¡ºåºã€‚任务è¿è¡Œæ—¶ï¼Œvruntime 增加, + è¿è¡Œå¾—越多,vruntime 越大。 调度器总是选择 vruntime 最å°çš„任务è¿è¡Œï¼Œè¿™æ ·å¯ä»¥ç¡®ä¿ CPU æ—¶é—´çš„å…¬å¹³åˆ†é… + - 优先级影å“:任务的优先级会影å“å…¶ vruntime 的增长速度。优先级低的任务,vruntime 增长得快,因此被选择到的机会就更少 + - 消耗的实际时间和vruntime,与高低优先级的关系,简å•è”æƒ³å°±æ˜¯â€œå¤©ä¸Šä¸€å¤©ï¼Œåœ°ä¸‹ä¸€å¹´â€ + - 红黑树结构:CFS 通过红黑树(rb_tree)æ¥ç®¡ç†æ‰€æœ‰çš„å°±ç»ªä»»åŠ¡ã€‚èƒ½ç¡®ä¿æ“ä½œçš„æ—¶é—´å¤æ‚度为 O(log N)。 + CFS 中,红黑树的æ¯ä¸ªèŠ‚ç‚¹å¯¹åº”ä¸€ä¸ªä»»åŠ¡ï¼ŒæŒ‰ vruntime æŽ’åº + +### vruntime与优先级 +在具体实现中,是通过以下æµç¨‹å®žçŽ°çš„ +```c +update_curr() +│ +├── 1. 获å–当å‰è¿è¡Œçš„调度实体 (curr) : cfs_rq->curr +│ +├── 2. 计算实际执行时间 delta_exec : update_curr_se() +│ └── 如果 delta_exec <= 0,返回 +│ +├── 3. 计算 vruntime å¢žé‡ ï¼š calc_delta_fair(delta_exec, curr) +│ ├── 如果任务的æƒé‡ä¸Ž NICE_0_LOAD ä¸åŒ +│ │ └── 调用 __calc_delta() 进行调整 +│ └── å¦åˆ™ï¼Œç›´æŽ¥è¿”回 delta_exec +│ +├── 4. æ›´æ–° vruntime : curr->vruntime += 调整åŽçš„ delta_exec +│ +├── 5. æ›´æ–°æˆªæ­¢æ—¶é—´å’Œæœ€å° vruntime : update_deadline()ã€update_min_vruntime() +│ +└── 6. 对当å‰ä»»åŠ¡åšé¢å¤–æ›´æ–° : update_curr_task(),account_cfs_rq_runtime() +``` +其中会根æ®calc_delta_fair() 使用调度实体的调度æƒé‡æ¥è°ƒæ•´æ‰§è¡Œæ—¶é—´ï¼Œç¡®ä¿æƒé‡å¤§çš„任务增长 vruntime 的速度慢,从而获得更多的 CPU æ—¶é—´ + +对于优先级和æƒé‡çš„关系,具体如下,这里其实对应的也是nice值和æƒé‡çš„关系 +```c +const int sched_prio_to_weight[40] = { + /* -20 */ 88761, 71755, 56483, 46273, 36291, + /* -15 */ 29154, 23254, 18705, 14949, 11916, + /* -10 */ 9548, 7620, 6100, 4904, 3906, + /* -5 */ 3121, 2501, 1991, 1586, 1277, + /* 0 */ 1024, 820, 655, 526, 423, + /* 5 */ 335, 272, 215, 172, 137, + /* 10 */ 110, 87, 70, 56, 45, + /* 15 */ 36, 29, 23, 18, 15, +}; +``` +对于优先级的部分,task_struct中有prioã€static_prio å’Œ normal_prio +- 陿€ä¼˜å…ˆçº§ (static_prio) + - 由用户或者内核在任务创建时设定,ä¸ä¼šåŠ¨æ€æ”¹å˜ï¼Œä½†å®ƒå¯ä»¥é€šè¿‡ä¿®æ”¹ nice 值或调度策略æ¥è°ƒæ•´ + - 它是直接作用于load_weightå’Œvruntimeçš„ + - 在 Linux 系统中,nice 值å¯ä»¥é€šè¿‡å…¬å¼æ˜ å°„为static_prio + - static_prio = MAX_RT_PRIO + (nice + 20) + - 其中MAX_RT_PRIO为100 + - 这个公å¼å°† nice 值从 -20 到 19 映射为 static_prio 的值从 100 到 139 + - nice = -20 对应 static_prio = 100(最高优先级) + - nice = 0 对应 static_prio = 120(默认优先级) + - nice = 19 对应 static_prio = 139(最低优先级) + - 在sched_entityçš„load_weight设置时,é çš„就是static_prio + - 而load_weightåˆå½±å“了vruntime +- 动æ€ä¼˜å…ˆçº§ (prio) + - CFS 调度器会根æ®ç³»ç»Ÿçš„è´Ÿè½½ã€ä»»åŠ¡çš„è¿è¡Œæ—¶é—´ã€ç”¨æˆ·äº¤äº’性等信æ¯ï¼ŒåЍæ€è°ƒæ•´ prio 的值 + - prio的值影å“了这个任务会ä¸ä¼šè¢«é€‰ä¸­è¿›è¡Œè°ƒåº¦è¿è¡Œï¼Œä¼˜å…ˆçº§è¶Šé«˜ï¼ˆprio 值越低),任务获得 CPU 的机会越多 +- 默认优先级 (normal_prio) + - normal_prio 一般等于 static_prio,但在æŸäº›æƒ…况下(如 real-time 调度)å¯èƒ½ä¸åŒ + +总的æ¥è¯´ï¼Œä»»åŠ¡çš„nice值决定了static_prio,static_prio决定了load_weight,load_weight决定了vruntime。 +除了static_prio外,load_weight还å¯èƒ½è¢«ä¸‹é¢æƒ…å†µå½±å“ +- CFS 组调度(CONFIG_FAIR_GROUP_SCHED):当å¯ç”¨ CFS 组调度时,任务的调度ä¸å†æ˜¯ç‹¬ç«‹çš„,而是å—å…¶æ‰€åœ¨è°ƒåº¦ç»„çš„å½±å“ + +### sched_entity +从cfs_rq开始,其实sched_entityä¸ä»…å¯ä»¥æ˜¯ä¸€ä¸ªä»»åŠ¡ï¼Œä¹Ÿå¯ä»¥æ˜¯ä¸€ç»„任务,å³è°ƒåº¦ç»„,具体关系如下 +```shell +cfs_rq (顶层 CFS è¿è¡Œé˜Ÿåˆ—) +├── rb_root_cached (红黑树,用于存储调度实体) +│ ├── struct sched_entity (任务A) +│ ├── struct sched_entity (任务B) +│ └── struct sched_entity (调度组) +│ └── cfs_rq (嵌套的 CFS è¿è¡Œé˜Ÿåˆ—) +│ ├── rb_root_cached (红黑树,用于存储调度组内的调度实体) +│ │ ├── struct sched_entity (任务C) +│ │ └── struct sched_entity (任务D) +│ └── å…¶ä»–è°ƒåº¦ä¿¡æ¯ (如 min_vruntime ç­‰) +└── å…¶ä»–è°ƒåº¦ä¿¡æ¯ (如 min_vruntime ç­‰) +``` +对于一个sched_entity,结构如下 +```shell +sched_entity +├── load_weight (load) # 任务的负载æƒé‡ +├── rb_node (run_node) # 红黑树节点,用于管ç†ä»»åŠ¡è°ƒåº¦é¡ºåº +├── u64 (deadline) # 任务的截止时间 +├── u64 (min_vruntime) # 最å°è™šæ‹Ÿè¿è¡Œæ—¶é—´ +├── list_head (group_node) # 任务组链表节点 +├── unsigned int (on_rq) # 是å¦åœ¨è¿è¡Œé˜Ÿåˆ—中 +├── u64 (exec_start) # 任务上次开始è¿è¡Œçš„æ—¶é—´ +├── u64 (sum_exec_runtime) # 累计执行时间 +├── u64 (prev_sum_exec_runtime) # 上次的累计执行时间 +├── u64 (vruntime) # 虚拟è¿è¡Œæ—¶é—´ï¼Œç”¨äºŽå…¬å¹³è°ƒåº¦ +├── s64 (vlag) # 虚拟时延标志 +├── u64 (slice) # 任务的时间片 +├── u64 (nr_migrations) # è¿ç§»æ¬¡æ•° +├── fair group scheduling (CONFIG_FAIR_GROUP_SCHED) +│ ├── int (depth) # 调度组层次深度 +│ ├── sched_entity* (parent) # 父调度实体指针 +│ ├── cfs_rq* (cfs_rq) # 所属 CFS è¿è¡Œé˜Ÿåˆ— +│ ├── cfs_rq* (my_q) # 任务组的 CFS è¿è¡Œé˜Ÿåˆ— +│ └── unsigned long (runnable_weight) # 任务组的å¯è¿è¡Œæƒé‡ +└── SMP configuration (CONFIG_SMP) + └── sched_avg (avg) # å¹³å‡è´Ÿè½½ä¿¡æ¯ +``` +- 当调度实体是一个调度组时,该调度组的 vruntime åæ˜ çš„æ˜¯ç»„内所有任务的综åˆè¡¨çŽ°ï¼Œè°ƒåº¦å™¨å°†æ•´ä¸ªç»„è§†ä¸ºä¸€ä¸ªè°ƒåº¦å®žä½“ï¼Œè®¡ç®—å…¶ vruntime æ¥å†³å®šå®ƒä¸Žå…¶ä»–ä»»åŠ¡æˆ–ç»„çš„ç›¸å¯¹è°ƒåº¦é¡ºåº +- è¿™ç§åµŒå¥—å¯ä»¥ç»§ç»­ä¸‹åŽ»ï¼Œä¹Ÿå°±æ˜¯è¯´ï¼Œè°ƒåº¦ç»„å†…è¿˜å¯ä»¥åŒ…å«å­è°ƒåº¦ç»„。调度器在åšä»»åŠ¡é€‰æ‹©æ—¶ï¼Œä¼šæ²¿ç€è¿™æ¡åµŒå¥—路径é€å±‚深入,最终选择一个具体的任务进行执行 + + + +### CFS的整体调度æµç¨‹ +从schedule函数出å‘,看看这一路都ç»åŽ†äº†ä»€ä¹ˆ +![img_11.png](img_11.png) +这是利用perf对系统进行监控期间得到的数æ®ï¼Œè¿™é‡Œschedule的调用链给出了其中完整的调用æµç¨‹ +- schedule() :Linux 内核中的核心调度函数,用于将当å‰è¿è¡Œçš„任务切æ¢åˆ°å¦ä¸€ä¸ªå¯è¿è¡Œçš„任务 +- __schedule() 是 schedule() 的具体实现,而其中最é‡è¦çš„就是pick_next_task() +- pick_next_task() 用于从è¿è¡Œé˜Ÿåˆ—中挑选下一个任务,选择逻辑ä¾èµ–于当å‰è°ƒåº¦å™¨çš„实现 + - pick_next_task()中其实是é __pick_next_task实现 + - 首先是判断当å‰é˜Ÿåˆ—ä»»åŠ¡æ˜¯ä¸æ˜¯éƒ½æ˜¯CFS调度类的,是的è¯å°±ç›´æŽ¥pick_next_task_fair() 从 CFS 调度队列中挑选下一个任务 + - 如果pick_next_task_fair()没有就进入idle + - 䏿˜¯çš„è¯å°±è¦è¿›å…¥restart,put_prev_task_balance() 会平衡å‰ä¸€ä¸ªä»»åŠ¡çš„è´Ÿè½½å¹¶å°†å…¶æ”¾å…¥åˆé€‚çš„ä½ç½® + - 之åŽé历调度类 + - éåŽ†ä¼˜å…ˆçº§ä¸Šé¢æåˆ°è¿‡äº†ï¼Œä»Ž__stop_sched_class到__idle_sched_class找到第一个活跃的调度类,利用它的pick_next_task找到下一个任务 + - åŽé¢ä¸€æ­¥è¿™é‡Œæ˜¯å¯ç”¨äº†sched_ext的情况,就先ä¸å±•开说了 +```c +for_each_active_class(class) { + p = class->pick_next_task(rq); + if (p) { + scx_next_task_picked(rq, p, class); + return p; + } +} +``` +- pick_next_task_fair之中,最é‡è¦çš„å°±update_curr(cfs_rq)å’Œpick_next_entity(cfs_rq) + - update_curr的代ç åŽŸç†ä¸Šé¢è¯´è¿‡äº†ï¼Œä½†è¿™è¾¹å› ä¸ºæ˜¯é€‰æ‹©å…·ä½“ä»»åŠ¡ï¼Œæ‰€ä»¥ä¼šæœ‰ä¸€ä¸ªå¾ªçŽ¯ï¼Œä¸æ–­pick_next_entity深入调度实体,直到它是一个任务而éžè°ƒåº¦ç»„ + - 对于新旧调度实体的维护,cfs_rq就是一个树,所谓嵌套ã€è°ƒåº¦ç»„å¯ä»¥ç†è§£ä¸ºåœ¨æŸä¸ªå¶å­èŠ‚ç‚¹ä¸Šå†æ‹“展出个树 + - 找出旧调度实体的å¶å­èŠ‚ç‚¹åˆ é™¤ + - 新调度实体一定隶属å†è¿™ä¸ªæ ‘中,找到对应的节点(调度实体),加入到对应的cfs_rq的红黑树中å³å¯ +- 之åŽå†__schedule()中,就会进行具体的上下文切æ¢context_switch + +### ä¸Šä¸‹æ–‡åˆ‡æ¢ +对于上下文切æ¢ï¼Œæ¶‰åŠåœ°å€ç©ºé—´ç­‰ä¸€ç³»åˆ—æ“作,这里给出几个ä¸åŒçš„æƒ…况 +1. 用户线程到内核线程 + - 用户线程å‘起系统调用或å‘生中断时,从用户æ€åˆ‡æ¢åˆ°å†…æ ¸æ€æ¥æ‰§è¡Œå†…æ ¸ä»£ç  + - 进入延迟 TLB 模å¼ï¼š 调用 enter_lazy_tlb(),标记为延迟 TLB 刷新模å¼ã€‚这是因为内核线程ä¸éœ€è¦é¢‘ç¹åˆ‡æ¢é¡µè¡¨ï¼Œæ‰€ä»¥å¯ä»¥å»¶è¿Ÿ TLB åˆ·æ–°ï¼Œç›´åˆ°å¿…è¦æ—¶æ‰æ‰§è¡Œ + - ç»“åˆæƒ…况分æžï¼Œç³»ç»Ÿè°ƒç”¨å›žåŽ»è¿˜æ˜¯åœ¨ä¹‹å‰ç”¨æˆ·çŽ¯å¢ƒæ“作,没必è¦åˆ·æ–° + - 内核线程没有用户地å€ç©ºé—´ï¼Œæ‰€ä»¥è¿™éƒ¨åˆ†æŠŠä¹‹å‰prev的用户地å€ç©ºé—´æš‚存个,ä¿å­˜æŒ‡é’ˆæœ‰æ•ˆæ€§ï¼Œå½“个å ä½çš„ + - ç”±äºŽä¸æ¶‰åŠè™šæ‹Ÿå†…存的切æ¢ï¼Œå› æ­¤è¿™ä¸ªä¸Šä¸‹æ–‡åˆ‡æ¢å¼€é”€å¯ä»¥è¯´æ˜¯æœ€ä½Žçš„ + +2. åŒè¿›ç¨‹é—´çš„çº¿ç¨‹åˆ‡æ¢ + - ä¸éœ€è¦åˆ‡æ¢é¡µè¡¨ï¼šåœ°å€ç©ºé—´ç›¸åŒï¼Œnext->mm å’Œ prev->mm 相åŒï¼Œæ„味ç€ä¸¤ä¸ªçº¿ç¨‹å…±äº«åŒä¸€ä¸ª mm_struct,ä¸éœ€è¦è°ƒç”¨ switch_mm() 切æ¢é¡µè¡¨ + - 切æ¢çº¿ç¨‹çš„上下文: ä¸»è¦æ¶‰åŠå¯„存器状æ€å’Œæ ˆçš„切æ¢ã€‚调用 switch_to() 切æ¢å¯„存器和栈,这些都是线程级的 + - å…¶ä»–çŠ¶æ€æ›´æ–°ï¼š 调用 switch_mm_cid(),更新一些与 CPU 相关的状æ€ï¼ˆå¦‚性能计数器ã€çº¿ç¨‹ä¸Šä¸‹æ–‡ï¼‰ + - 进程中线程共享进程的全局资æºï¼Œå¦‚打开的文件æè¿°ç¬¦ã€å…¨å±€å˜é‡ç­‰ã€‚è¿™æ„味ç€çº¿ç¨‹åˆ‡æ¢æ—¶ä¸éœ€è¦å¯¹è¿™äº›èµ„æºè¿›è¡Œé‡æ–°åˆ†é…或管ç†ï¼Œå¤§å¤§å‡å°‘了上下文切æ¢çš„夿‚性 + +3. ä¸åŒè¿›ç¨‹é—´çš„çº¿ç¨‹åˆ‡æ¢ + - 切æ¢å†…存地å€ç©ºé—´ï¼š 调用 switch_mm_irqs_off() 切æ¢å†…存地å€ç©ºé—´ï¼Œæ›´æ–°é¡µè¡¨ã€‚这是必è¦çš„,因为新任务的地å€ç©ºé—´å’Œæ—§ä»»åŠ¡ä¸åŒ + - æ›´æ–° TLB 和内存å±éšœï¼š 调用 membarrier_switch_mm() 执行必è¦çš„内存å±éšœæ“ä½œï¼Œä»¥ç¡®ä¿å†…å­˜è®¿é—®çš„ä¸€è‡´æ€§ã€‚åŒæ—¶è°ƒç”¨ lru_gen_use_mm() 更新新任务的内存访问统计 + - 完æˆå¯„存器和栈的切æ¢ï¼š 调用 switch_to() 切æ¢å¯„存器状æ€å’Œæ ˆ + - 这个切æ¢ä¸ä»…å¼€é”€æœ€å¤§ï¼ŒåŒæ—¶å‰¯ä½œç”¨ä¹Ÿå¾ˆå¤§ + - ç¼“å­˜å¤±æ•ˆï¼šæ¯æ¬¡åˆ‡æ¢è¿›ç¨‹ï¼Œå½“å‰ CPU 缓存(L1ã€L2ã€L3 缓存)中的数æ®å¯èƒ½å·²ç»ä¸Žæ–°è¿›ç¨‹æ— å…³ã€‚因此,在加载新进程时, + CPU å¯èƒ½éœ€è¦é‡æ–°ä»Žä¸»å­˜ä¸­èŽ·å–æ•°æ®ã€‚这会导致缓存未命中 + - 页表切æ¢ï¼šè™šæ‹Ÿå†…å­˜çš„åˆ‡æ¢æ¶‰åŠåˆ°é¡µè¡¨çš„刷新。因为æ¯ä¸ªè¿›ç¨‹éƒ½æœ‰è‡ªå·±çš„地å€ç©ºé—´ï¼Œåˆ‡æ¢è¿›ç¨‹æ—¶ï¼ŒMMU éœ€è¦æ›´æ–°é¡µè¡¨ä»¥å映新的地å€ç©ºé—´ã€‚ + é¡µè¡¨åˆ‡æ¢æ¶‰åŠåˆ° TLB(Translation Lookaside Buffer)的刷新,这会增加内存访问的延迟 + + +## æŠ¢å  +### 时钟中断 +时钟中断周期性地检查当å‰ä»»åŠ¡æ˜¯å¦æ—¶é—´ç‰‡è€—尽。如果时间片耗尽,会触å‘ä»»åŠ¡åˆ‡æ¢ + +- 时钟中断处ç†å‡½æ•°å†…会调用 sched_tick() + - 这个函数先å–å‡ºå½“å‰ cpu çš„rq,然åŽå¾—åˆ°è¿™ä¸ªé˜Ÿåˆ—ä¸Šå½“å‰æ­£åœ¨è¿è¡Œä¸­çš„进程的 task_struct,然åŽè°ƒç”¨è¿™ä¸ª task 的调度类的 task_tick 函数 +- 对于CFSæ¥è¯´ï¼Œå°±æ˜¯task_tick_fair +```c +for_each_sched_entity(se) { + cfs_rq = cfs_rq_of(se); + entity_tick(cfs_rq, se, queued); + } +``` +- æ ¹æ®å½“å‰è¿›ç¨‹çš„ task,找到对应的 sched_entity å’Œ cfs_rq ,调用 entity_tick +- 在entity_tick中 + - 首先就是update_curr(cfs_rq) + - update_load_avg() å’Œ update_cfs_group() 用于更新任务的负载å‡è¡¡ä¿¡æ¯ + - 虽然这些更新æ“作本身并ä¸ç›´æŽ¥è§¦å‘抢å ï¼Œä½†å®ƒä»¬ä¼šå½±å“调度实体的排åºå’Œä¼˜å…ˆçº§è®¡ç®—,从而间接影å“任务抢å çš„决策 + - resched_curr() 函数是与抢å ç›´æŽ¥ç›¸å…³çš„æ“ä½œã€‚å®ƒä¼šè®¾ç½®å½“å‰ä»»åŠ¡çš„ TIF_NEED_RESCHED 标志,标记当å‰ä»»åŠ¡éœ€è¦é‡æ–°è°ƒåº¦ + - 但是此时此刻,并ä¸çœŸçš„æŠ¢å ï¼Œè€Œæ˜¯æ‰“上一个标签 TIF_NEED_RESCHED +```c +static void +entity_tick(struct cfs_rq *cfs_rq, struct sched_entity *curr, int queued) +{ + /* + * Update run-time statistics of the 'current'. + */ + update_curr(cfs_rq); + + /* + * Ensure that runnable average is periodically updated. + */ + update_load_avg(cfs_rq, curr, UPDATE_TG); + update_cfs_group(curr); + +#ifdef CONFIG_SCHED_HRTICK + /* + * queued ticks are scheduled to match the slice, so don't bother + * validating it and just reschedule. + */ + if (queued) { + resched_curr(rq_of(cfs_rq)); + return; + } + /* + * don't let the period tick interfere with the hrtick preemption + */ + if (!sched_feat(DOUBLE_TICK) && + hrtimer_active(&rq_of(cfs_rq)->hrtick_timer)) + return; +#endif +} +``` +### 高优先级任务被唤醒 +如果一个更高优先级的任务被唤醒(例如一个 I/O 完æˆï¼ŒæŸä¸ªé˜»å¡žçš„进程å˜ä¸ºå¯æ‰§è¡Œçжæ€ï¼‰ï¼Œé‚£ä¹ˆå½“剿­£åœ¨è¿è¡Œçš„任务会被抢å ï¼Œç³»ç»Ÿä¼šç«‹åˆ»åˆ‡æ¢åˆ°é«˜ä¼˜å…ˆçº§ä»»åŠ¡ +- 当一个进程需è¦è¢«å”¤é†’时,try_to_wake_up() 是内核用æ¥å”¤é†’任务的主è¦å‡½æ•° + - 该函数负责将任务从ä¸å¯æ‰§è¡Œçжæ€ï¼ˆå¦‚ç¡çœ çжæ€ï¼‰è½¬å˜ä¸ºå¯æ‰§è¡Œçжæ€ï¼Œå¹¶å°†å…¶æ”¾å…¥è¿è¡Œé˜Ÿåˆ—中 + - 更新任务的状æ€ï¼Œå¹¶æ£€æŸ¥å”¤é†’的任务是å¦å¯ä»¥æŠ¢å å½“剿­£åœ¨è¿è¡Œçš„任务 +- try_to_wake_up() 调用 ttwu_queue 将这个唤醒的任务添加到队列当中,ttwu_queue å†è°ƒç”¨ ttwu_do_activate 激活这个任务 +- 在ttwu_do_activate中,activate_task(rq, p, en_flags)是真正实现加入队列的,之åŽwakeup_preempt(rq, p, wake_flags)中也调用了resched_curr() + +ç›¸å½“äºŽè¿™è¾¹ä¹Ÿä¸»è¦æ˜¯ç½®ä½æ“作,实际的抢å ä¹Ÿæ²¡æœ‰å‘生 + +### 抢å çš„æ—¶æœº +对于用户æ€çš„æŠ¢å æ¥è¯´ï¼Œé€šå¸¸æ˜¯åœ¨æ—¶é’Ÿä¸­æ–­æˆ–者系统调用返回用户æ€å‰è§¦å‘æŠ¢å  +- 时钟中断 + - æ—¶é’Ÿä¸­æ–­è§¦å‘æ—¶è°ƒç”¨ do_IRQ() + - 中断处ç†åŽæ ¹æ®å½“剿‰§è¡Œçš„任务状æ€å†³å®šä¸‹ä¸€æ­¥åŠ¨ä½œ + - è¿”å›žç”¨æˆ·æ€æ—¶ï¼Œç”¨ exit_to_usermode_loop(),检查 _TIF_NEED_RESCHED 标志ä½ï¼Œè§¦å‘ schedule() 进行调度 +- 系统调用 + - ç³»ç»Ÿè°ƒç”¨ç»“æŸæ—¶ä¼šæ£€æŸ¥ _TIF_NEED_RESCHED 标志 + - 如果需è¦é‡æ–°è°ƒåº¦ï¼Œåˆ™è°ƒç”¨ schedule() 切æ¢ä»»åŠ¡ + +对于内核æ€çš„æŠ¢å æ¥è¯´ï¼Œå‘生在执行内核æ€ä»£ç çš„过程中,通常是æŸä¸ªä»»åŠ¡å ç”¨è¿‡å¤š CPU 时间,或者å¦ä¸€ä¸ªé«˜ä¼˜å…ˆçº§ä»»åС唤醒 +- 抢å çš„æ‰§è¡Œç‚¹ + - preempt_enable():如果调用时å‘现 _TIF_NEED_RESCHED 标志已置ä½ï¼Œä¼šè§¦å‘æŠ¢å  + - 具体æ¥è¯´æ˜¯preempt_schedule->preempt_schedule_common->__schedule 进行调度 + - 在内核æ€ä¹Ÿä¼šé‡åˆ°ä¸­æ–­çš„æƒ…况,当中断返回的时候,返回的ä»ç„¶æ˜¯å†…æ ¸æ€ï¼Œè¿™ä¸ªæ—¶å€™ä¹Ÿæ˜¯ä¸€ä¸ªæ‰§è¡ŒæŠ¢å çš„æ—¶æœº + - 中断处ç†å®Œæ¯•åŽä¼šæ£€æŸ¥ _TIF_NEED_RESCHED 标志,通过 preempt_schedule_irq() 触å‘调度 + + +## 总结 +çŽ°åœ¨é‡æ–°è¿”回__schedule()函数,会å‘现有下é¢è¿™ä¿©è¡Œä»£ç æ¥æ¸…é™¤æŠ¢å æ ‡å¿—ä½ +```c +clear_tsk_need_resched(prev); +clear_preempt_need_resched(); +``` +æŠ¢å æ ‡å¿—ä½ (_TIF_NEED_RESCHED å’Œ _TIF_PREEMPT_NEED_RESCHED) 在调用 pick_next_task() 之å‰å°±å·²ç»è¢«æ¸…除了 +- æŠ¢å æ ‡å¿—ä½çš„作用:通知调度器需è¦è¿›è¡Œè°ƒåº¦çš„æ ‡å¿—。当任务因为时间片用尽或有高优先级任务唤醒时,这些标志ä½ä¼šè¢«è®¾ç½®ã€‚ +当 __schedule() 被调用时,æ„味ç€ç³»ç»Ÿå·²ç»æ£€æµ‹åˆ°æœ‰è°ƒåº¦éœ€æ±‚,标志ä½çš„作用在这个时候已ç»å®Œæˆã€‚ + + +现在返回调度类,在深入讲讲那些基本的æ“作函数都干了什么 +- enqueue_task(rq, task, flags) + - 将一个任务加入到调度器的è¿è¡Œé˜Ÿåˆ— (rq) 中,使其æˆä¸ºå¯è°ƒåº¦çŠ¶æ€ +- dequeue_task(rq, task, flags) + - 将一个任务从è¿è¡Œé˜Ÿåˆ—中移除,使其ä¸å†å‚与调度 +- wakeup_preempt(rq, task, flags) + - 通常伴éšçš„任务状æ€çš„æ”¹å˜å’Œå…¥é˜Ÿæ“作 + - æ ¹æ®å”¤é†’任务的优先级与当å‰ä»»åŠ¡çš„æ¯”è¾ƒï¼Œå†³å®šæ˜¯å¦éœ€è¦æŠ¢å  + - 如果唤醒任务的优先级更高,则设置 _TIF_NEED_RESCHED 标志,触å‘调度 +- pick_next_task(rq) + - 从è¿è¡Œé˜Ÿåˆ—ä¸­é€‰æ‹©ä¸‹ä¸€ä¸ªè¦æ‰§è¡Œçš„任务 + +从CPUçš„rq开始,当切æ¢ä»»åŠ¡æ—¶å€™ï¼Œä¸€è·¯éƒ½ç»åŽ†äº†ä»€ä¹ˆ +1. 调度类的选择和é历 +2. 从对应的调度类中,选择对应的队列进行调度 +3. 对应的调度队列中,更新上一个任务的状æ€ï¼Œé€‰å‡ºä¸‹ä¸€ä¸ªè¦è¿è¡Œçš„调度实体,å†åœ¨è°ƒåº¦å®žä½“中找到下一个è¿è¡Œçš„任务 +4. 之åŽä¸Šä¸‹æ–‡åˆ‡æ¢ + +而å‘生上é¢äº‹æƒ…的时机,就是抢å ã€‚ + + + + diff --git a/Document/sched_ext/README.zh.md b/Document/sched_ext/README.zh.md new file mode 100644 index 0000000..0cae776 --- /dev/null +++ b/Document/sched_ext/README.zh.md @@ -0,0 +1,903 @@ +# eBPF 示例教程:实现 `scx_nest` 调度器 + +åœ¨ç³»ç»Ÿæ€§èƒ½ä¼˜åŒ–ä¸æ–­å‘展的领域中,自定义和扩展内核行为的能力是éžå¸¸å®è´µçš„。实现这一目标的最强大工具之一是 eBPF(扩展的 Berkeley 包过滤器)。在本教程中,我们将探讨 `scx_nest` 调度器的实现,这是一个先进的 eBPF 程åºï¼Œåˆ©ç”¨äº†åœ¨ Linux 内核版本 `6.12` 中引入的 `sched_ext` 调度器类。在本指å—ç»“æŸæ—¶ï¼Œæ‚¨å°†äº†è§£å¦‚ä½•æž„å»ºä¸€ä¸ªå¤æ‚çš„è°ƒåº¦å™¨ï¼Œè¯¥è°ƒåº¦å™¨æ ¹æ® CPU 核心频率和利用率动æ€è°ƒæ•´ä»»åŠ¡åˆ†é…。 + +## `sched_ext` ä»‹ç» + +`sched_ext` è°ƒåº¦å™¨ç±»æ ‡å¿—ç€ Linux 内核调度能力的é‡å¤§è¿›æ­¥ã€‚与传统调度器ä¸åŒï¼Œ`sched_ext` å…许通过一组 BPF(Berkeley 包过滤器)程åºåЍæ€å®šä¹‰å…¶è¡Œä¸ºã€‚è¿™ç§çµæ´»æ€§ä½¿å¼€å‘人员能够实现针对特定工作负载和系统需求é‡èº«å®šåˆ¶çš„自定义调度算法。 + +## ç†è§£ `scx_nest` 调度器 + +### 概述 + +`scx_nest` è°ƒåº¦å™¨å— Inria Paris 论文《[OS Scheduling with Nest: Keeping Tasks Close Together on Warm Cores](https://hal.inria.fr/hal-03612592/file/paper.pdf)》的å¯å‘。由 Meta Platforms, Inc. å¼€å‘,`scx_nest` 专注于鼓励将任务分é…到基于最近使用模å¼å¯èƒ½ä»¥æ›´é«˜é¢‘率è¿è¡Œçš„ CPU æ ¸å¿ƒä¸Šã€‚è¿™ç§æ–¹æ³•旨在通过确ä¿ä»»åŠ¡åœ¨æœ€æœ‰æ•ˆçš„æ ¸å¿ƒä¸Šæ‰§è¡Œæ¥ä¼˜åŒ–性能。 + +该调度器作为一个全局加æƒè™šæ‹Ÿæ—¶é—´ï¼ˆvtime)调度器è¿è¡Œï¼Œç±»ä¼¼äºŽå®Œå…¨å…¬å¹³è°ƒåº¦å™¨ï¼ˆCFSï¼‰ï¼ŒåŒæ—¶åˆ©ç”¨ Nest 算法在任务唤醒时选择空闲核心。这ç§åŒé‡ç­–略确ä¿ä»»åŠ¡ä¸ä»…被公平分é…,还被放置在能够最有效执行它们的核心上。 + +`scx_nest` 旨在优化 CPU 利用率相对较低且å¯ä»¥å—益于在少数核心上è¿è¡Œçš„å·¥ä½œè´Ÿè½½ã€‚é€šè¿‡å°†ä»»åŠ¡é›†ä¸­åœ¨è¾ƒå°‘çš„æ ¸å¿ƒä¸Šï¼Œè°ƒåº¦å™¨æœ‰åŠ©äºŽä¿æŒè¿™äº›æ ¸å¿ƒçš„高频率,从而æå‡æ€§èƒ½ã€‚然而,对于那些在分布到多个核心以é¿å…缓存抖动时表现更好的工作负载,`scx_nest` å¯èƒ½å¹¶ä¸æ˜¯ç†æƒ³é€‰æ‹©ã€‚评估 `scx_nest` 对特定工作负载的适用性通常需è¦å®žéªŒã€‚ + +鉴于其设计,`scx_nest` é€‚ç”¨äºŽç”Ÿäº§çŽ¯å¢ƒï¼Œå‰ææ˜¯æ»¡è¶³ç¡¬ä»¶é™åˆ¶ã€‚它在具有统一 L3 缓存拓扑的å•个 CCX(核心å¤åˆä½“ï¼‰æˆ–å•æ’槽主机上表现最佳。虽然当å‰ç‰ˆæœ¬æœªå®žçŽ°æŠ¢å ï¼Œä½†æ‰€æœ‰ CPU 共享的调度队列确ä¿é˜Ÿåˆ—å‰ç«¯çš„ä»»åŠ¡èƒ½å¤ŸåŠæ—¶æ‰§è¡Œï¼Œå‰ææ˜¯æœ‰è¶³å¤Ÿçš„ CPU å¯ç”¨ã€‚ + +## 高级代ç åˆ†æž + +`scx_nest` è°ƒåº¦å™¨çš„å®žçŽ°å¤æ‚,涉åŠå„ç§æ•°æ®ç»“æž„ã€æ˜ å°„和函数,它们ååŒå·¥ä½œä»¥ç®¡ç†ä»»åŠ¡åˆ†é…å’Œ CPU 核心利用率。完整的æºä»£ç å¯åœ¨ [eunomia-bpf/bpf-developer-tutorial](https://github.com/eunomia-bpf/bpf-developer-tutorial) 仓库中找到。下é¢ï¼Œæˆ‘们将剖æžè°ƒåº¦å™¨çš„æ ¸å¿ƒç»„件,详细解释æ¯ä¸ªéƒ¨åˆ†ã€‚ + +### 核心数æ®ç»“构和映射 + +#### 任务上下文 (`task_ctx`) + +系统中的æ¯ä¸ªä»»åŠ¡éƒ½æœ‰ä¸€ä¸ªå…³è”的上下文,用于维护与调度相关的信æ¯ã€‚这个上下文对于基于任务的历å²å’Œå½“å‰çжæ€åšå‡ºæ˜Žæ™ºçš„调度决策至关é‡è¦ã€‚ + +```c +/* æ¯ä¸ªä»»åŠ¡çš„è°ƒåº¦ä¸Šä¸‹æ–‡ */ +struct task_ctx { + /* + * 用于计算任务的主掩ç å’Œä¿ç•™æŽ©ç çš„临时 cpumask。 + */ + struct bpf_cpumask __kptr *tmp_mask; + + /* + * 任务观察到其之å‰çš„æ ¸å¿ƒä¸ä¸ºç©ºé—²çš„æ¬¡æ•°ã€‚如果连续å‘生 r_impatient 次, + * å°†å°è¯•从ä¿ç•™ Nest 或回退 Nest 中获å–一个核心。 + */ + u32 prev_misses; + + /* + * 任务“附加â€çš„æ ¸å¿ƒï¼Œæ„味ç€å®ƒè‡³å°‘连续在该核心上执行了两次, + * 并且在唤醒时首先å°è¯•è¿ç§»åˆ°è¯¥æ ¸å¿ƒã€‚ä»»åŠ¡åªæœ‰åœ¨é™„加核心空闲且 + * 在主 Nest 中时æ‰ä¼šè¿ç§»åˆ°é™„加核心。 + */ + s32 attached_core; + + /* + * 任务上次执行的核心。这用于确定任务是å¦åº”该附加到下一个 + * 执行的核心。 + */ + s32 prev_cpu; +}; +``` + +`task_ctx` 结构体包å«ä¸€ä¸ªä¸´æ—¶ CPU æŽ©ç  (`tmp_mask`),用于计算任务的主 CPU 集åˆå’Œä¿ç•™ CPU 集åˆã€‚`prev_misses` 计数器跟踪任务的首选核心ä¸ä¸ºç©ºé—²çš„æ¬¡æ•°ï¼Œå½±å“è¿ç§»ä»»åŠ¡åˆ°ä¸åŒæ ¸å¿ƒçš„决策。`attached_core` 指示任务当å‰ç»‘定的核心,确ä¿åœ¨å¯èƒ½çš„æƒ…况下在高频率核心上è¿è¡Œã€‚最åŽï¼Œ`prev_cpu` 记录任务上次执行的核心,有助于维护任务与核心的亲和性。 + +#### æ¯ CPU 上下文 (`pcpu_ctx`) + +æ¯ä¸ª CPU 都有一个关è”的上下文,用于管ç†å®šæ—¶å™¨å’ŒåŽ‹ç¼©çŠ¶æ€ã€‚è¿™ä¸ªä¸Šä¸‹æ–‡æœ‰åŠ©äºŽç¡®å®šä½•æ—¶ç”±äºŽä¸æ´»åŠ¨è€Œå°†æ ¸å¿ƒä»Žä¸» Nest 中é™çº§ã€‚ + +```c +struct pcpu_ctx { + /* 用于从主 Nest 中压缩核心的定时器。 */ + struct bpf_timer timer; + + /* 当剿 ¸å¿ƒæ˜¯å¦å·²å®‰æŽ’进行压缩。 */ + bool scheduled_compaction; +}; +``` + +`pcpu_ctx` 结构体包å«ä¸€ä¸ª `bpf_timer`,用于调度压缩事件,以åŠä¸€ä¸ªå¸ƒå°”标志 `scheduled_compaction`,指示是å¦å·²ä¸ºæ ¸å¿ƒå®‰æŽ’了压缩。 + +#### 映射 + +多个 BPF 映射用于存储上下文和管ç†å®šæ—¶å™¨ï¼š + +```c +/* 任务存储映射 */ +struct { + __uint(type, BPF_MAP_TYPE_TASK_STORAGE); + __uint(map_flags, BPF_F_NO_PREALLOC); + __type(key, int); + __type(value, struct task_ctx); +} task_ctx_stor SEC(".maps"); + +/* æ¯ CPU 上下文 */ +struct { + __uint(type, BPF_MAP_TYPE_ARRAY); + __uint(max_entries, 1024); + __type(key, s32); + __type(value, struct pcpu_ctx); +} pcpu_ctxs SEC(".maps"); + +/* 统计定时器 */ +struct { + __uint(type, BPF_MAP_TYPE_ARRAY); + __uint(max_entries, 1); + __type(key, u32); + __type(value, struct stats_timer); +} stats_timer SEC(".maps"); +``` + +- **`task_ctx_stor`:** 该映射存储æ¯ä¸ªä»»åŠ¡çš„è°ƒåº¦ä¸Šä¸‹æ–‡ï¼Œä½¿è°ƒåº¦å™¨èƒ½å¤Ÿè®¿é—®å’Œä¿®æ”¹ç‰¹å®šä»»åŠ¡çš„ä¿¡æ¯ã€‚ +- **`pcpu_ctxs`:** 一个数组映射,ä¿å­˜æ¯ä¸ª CPU çš„ä¸Šä¸‹æ–‡ï¼Œä½¿è°ƒåº¦å™¨èƒ½å¤Ÿç®¡ç†æ¯ä¸ª CPU 的定时器和压缩状æ€ã€‚ +- **`stats_timer`:** ä¸€ä¸ªå•æ¡ç›®çš„æ•°ç»„映射,用于管ç†ç”¨äºŽæ”¶é›†è°ƒåº¦ç»Ÿè®¡ä¿¡æ¯çš„中央定时器。 + +此外,调度器维护了主 CPU 掩ç ã€ä¿ç•™ CPU 掩ç ã€å…¶ä»– CPU 掩ç å’Œç©ºé—² CPU 掩ç ï¼Œä»¥åŠç”¨äºŽè·Ÿè¸ªå„ç§è°ƒåº¦å™¨æŒ‡æ ‡çš„统计映射。 + +### 核心函数 + +#### `stat_inc` + +一个辅助函数,用于递增调度统计数æ®ï¼š + +```c +static __always_inline void stat_inc(u32 idx) +{ + u64 *cnt_p = bpf_map_lookup_elem(&stats, &idx); + if (cnt_p) + (*cnt_p)++; +} +``` + +此函数在 `stats` 映射中查找一个计数器,并在计数器存在时递增它。调度器在å„处使用它æ¥è·Ÿè¸ªå„ç§äº‹ä»¶å’Œçжæ€ã€‚ + +#### `vtime_before` + +一个用于比较虚拟时间的实用函数: + +```c +static inline bool vtime_before(u64 a, u64 b) +{ + return (s64)(a - b) < 0; +} +``` + +此函数确定虚拟时间 `a` 是å¦åœ¨ `b` 之å‰ï¼Œæœ‰åŠ©äºŽåŸºäºŽæ—¶é—´çš„è°ƒåº¦å†³ç­–ã€‚ + +#### `try_make_core_reserved` + +å°è¯•将一个核心æå‡ä¸ºä¿ç•™ Nest: + +```c +static __always_inline void +try_make_core_reserved(s32 cpu, struct bpf_cpumask * reserved, bool promotion) +{ + s32 tmp_nr_reserved; + + /* + * 此检查存在竞争,但没关系。如果我们错误地未能将核心æå‡åˆ°ä¿ç•™ï¼Œ + * 那是因为å¦ä¸€ä¸ªä¸Šä¸‹æ–‡åœ¨è¿™ä¸ªå°çª—å£ä¸­æ·»åŠ æˆ–ç§»é™¤äº†ä¿ç•™ä¸­çš„æ ¸å¿ƒã€‚ + * 这将在éšåŽçš„唤醒中平衡。 + */ + tmp_nr_reserved = nr_reserved; + if (tmp_nr_reserved < r_max) { + /* + * 这里有å¯èƒ½æš‚时超过 r_max,但éšç€æ›´å¤šæ ¸å¿ƒè¢«é™çº§æˆ–未能 + * 被æå‡åˆ°ä¿ç•™ Nest,应该会平衡。 + */ + __sync_fetch_and_add(&nr_reserved, 1); + bpf_cpumask_set_cpu(cpu, reserved); + if (promotion) + stat_inc(NEST_STAT(PROMOTED_TO_RESERVED)); + else + stat_inc(NEST_STAT(DEMOTED_TO_RESERVED)); + } else { + bpf_cpumask_clear_cpu(cpu, reserved); + stat_inc(NEST_STAT(RESERVED_AT_CAPACITY)); + } +} +``` + +`try_make_core_reserved` 函数å°è¯•将一个 CPU 核心添加到ä¿ç•™æŽ©ç ä¸­ã€‚首先检查ä¿ç•™æ ¸å¿ƒçš„æ•°é‡ (`nr_reserved`) 是å¦ä½ŽäºŽå…许的最大值 (`r_max`)。如果是,则递增 `nr_reserved` 计数器并将核心添加到ä¿ç•™æŽ©ç ä¸­ã€‚æ ¹æ®æ ¸å¿ƒæ˜¯è¢«æå‡è¿˜æ˜¯é™çº§ï¼Œé€’增相应的统计数æ®ã€‚如果ä¿ç•™å®¹é‡å·²æ»¡ï¼Œåˆ™ä»Žä¿ç•™æŽ©ç ä¸­æ¸…除核心并更新相关统计数æ®ã€‚ + +#### `update_attached` + +æ ¹æ®æœ€è¿‘的执行更新任务的附加核心: + +```c +static void update_attached(struct task_ctx *tctx, s32 prev_cpu, s32 new_cpu) +{ + if (tctx->prev_cpu == new_cpu) + tctx->attached_core = new_cpu; + tctx->prev_cpu = prev_cpu; +} +``` + +此函数更新任务的 `attached_core`。如果任务连续在åŒä¸€æ ¸å¿ƒä¸Šæ‰§è¡Œï¼Œå®ƒä¼šå°†ä»»åŠ¡é™„åŠ åˆ°è¯¥æ ¸å¿ƒã€‚ç„¶åŽæ›´æ–° `prev_cpu` ä»¥åæ˜ ä»»åŠ¡æœ€è¿‘è¿è¡Œçš„æ ¸å¿ƒã€‚ + +#### `compact_primary_core` + +处ç†ä¸»æ ¸å¿ƒçš„压缩,将其é™çº§åˆ°ä¿ç•™ Nest: + +```c +static int compact_primary_core(void *map, int *key, struct bpf_timer *timer) +{ + struct bpf_cpumask *primary, *reserve; + s32 cpu = bpf_get_smp_processor_id(); + struct pcpu_ctx *pcpu_ctx; + + stat_inc(NEST_STAT(CALLBACK_COMPACTED)); + + /* + * 如果我们到达此回调,这æ„味ç€å®šæ—¶å™¨å›žè°ƒä»Žæœªè¢«å–消, + * 因此需è¦å°†æ ¸å¿ƒä»Žä¸» Nest 中é™çº§ã€‚ + */ + pcpu_ctx = bpf_map_lookup_elem(&pcpu_ctxs, &cpu); + if (!pcpu_ctx) { + scx_bpf_error("无法查找 pcpu ctx"); + return 0; + } + bpf_rcu_read_lock(); + primary = primary_cpumask; + reserve = reserve_cpumask; + if (!primary || !reserve) { + scx_bpf_error("无法找到 primary 或 reserve"); + bpf_rcu_read_unlock(); + return 0; + } + + bpf_cpumask_clear_cpu(cpu, primary); + try_make_core_reserved(cpu, reserve, false); + bpf_rcu_read_unlock(); + pcpu_ctx->scheduled_compaction = false; + return 0; +} +``` + +当压缩定时器到期时,将调用 `compact_primary_core`。它通过从主掩ç ä¸­æ¸…é™¤å½“å‰ CPU 核心并å°è¯•将其添加到ä¿ç•™æŽ©ç ä¸­ï¼Œå°†å½“å‰ CPU 核心从主 Nest é™çº§åˆ°ä¿ç•™ Nest。这确ä¿äº†ä¸æ´»åŠ¨çš„æ ¸å¿ƒå¾—åˆ°æœ‰æ•ˆç®¡ç†ï¼Œä¿æŒæ€§èƒ½å’Œèµ„æºåˆ©ç”¨ä¹‹é—´çš„平衡。 + +#### `nest_select_cpu` + +在任务唤醒时确定适当的 CPU: + +```c +s32 BPF_STRUCT_OPS(nest_select_cpu, struct task_struct *p, s32 prev_cpu, u64 wake_flags) +{ + struct bpf_cpumask *p_mask, *primary, *reserve; + s32 cpu; + struct task_ctx *tctx; + struct pcpu_ctx *pcpu_ctx; + bool direct_to_primary = false, reset_impatient = true; + + tctx = bpf_task_storage_get(&task_ctx_stor, p, 0, 0); + if (!tctx) + return -ENOENT; + + bpf_rcu_read_lock(); + p_mask = tctx->tmp_mask; + primary = primary_cpumask; + reserve = reserve_cpumask; + if (!p_mask || !primary || !reserve) { + bpf_rcu_read_unlock(); + return -ENOENT; + } + + tctx->prev_cpu = prev_cpu; + + bpf_cpumask_and(p_mask, p->cpus_ptr, cast_mask(primary)); + + /* 首先å°è¯•在附加核心上唤醒任务。 */ + if (bpf_cpumask_test_cpu(tctx->attached_core, cast_mask(p_mask)) && + scx_bpf_test_and_clear_cpu_idle(tctx->attached_core)) { + cpu = tctx->attached_core; + stat_inc(NEST_STAT(WAKEUP_ATTACHED)); + goto migrate_primary; + } + + /* + * 如果之å‰çš„æ ¸å¿ƒåœ¨ä¸»é›†åˆä¸­ï¼Œå¹¶ä¸”没有 hypertwin,则å°è¯•留在之å‰çš„æ ¸å¿ƒã€‚ + * 如果之å‰çš„æ ¸å¿ƒæ˜¯ä»»åŠ¡é™„åŠ çš„æ ¸å¿ƒï¼Œä¸éœ€è¦å†å°è¯•,因为我们已ç»åœ¨ä¸Šé¢å°è¯•过了。 + */ + if (prev_cpu != tctx->attached_core && + bpf_cpumask_test_cpu(prev_cpu, cast_mask(p_mask)) && + scx_bpf_test_and_clear_cpu_idle(prev_cpu)) { + cpu = prev_cpu; + stat_inc(NEST_STAT(WAKEUP_PREV_PRIMARY)); + goto migrate_primary; + } + + if (find_fully_idle) { + /* ç„¶åŽå°è¯•在主集åˆä¸­é€‰æ‹©ä»»ä½•完全空闲的核心。 */ + cpu = scx_bpf_pick_idle_cpu(cast_mask(p_mask), + SCX_PICK_IDLE_CORE); + if (cpu >= 0) { + stat_inc(NEST_STAT(WAKEUP_FULLY_IDLE_PRIMARY)); + goto migrate_primary; + } + } + + /* ç„¶åŽå°è¯•在主集åˆä¸­é€‰æ‹©ä»»ä½•空闲的核心,å³ä½¿å…¶ hypertwin 正在活动。 */ + cpu = scx_bpf_pick_idle_cpu(cast_mask(p_mask), 0); + if (cpu >= 0) { + stat_inc(NEST_STAT(WAKEUP_ANY_IDLE_PRIMARY)); + goto migrate_primary; + } + + if (r_impatient > 0 && ++tctx->prev_misses >= r_impatient) { + direct_to_primary = true; + tctx->prev_misses = 0; + stat_inc(NEST_STAT(TASK_IMPATIENT)); + } + + reset_impatient = false; + + /* ç„¶åŽå°è¯•在ä¿ç•™é›†åˆä¸­é€‰æ‹©ä»»ä½•完全空闲的核心。 */ + bpf_cpumask_and(p_mask, p->cpus_ptr, cast_mask(reserve)); + if (find_fully_idle) { + cpu = scx_bpf_pick_idle_cpu(cast_mask(p_mask), + SCX_PICK_IDLE_CORE); + if (cpu >= 0) { + stat_inc(NEST_STAT(WAKEUP_FULLY_IDLE_RESERVE)); + goto promote_to_primary; + } + } + + /* ç„¶åŽå°è¯•在ä¿ç•™é›†åˆä¸­é€‰æ‹©ä»»ä½•空闲的核心,å³ä½¿å…¶ hypertwin 正在活动。 */ + cpu = scx_bpf_pick_idle_cpu(cast_mask(p_mask), 0); + if (cpu >= 0) { + stat_inc(NEST_STAT(WAKEUP_ANY_IDLE_RESERVE)); + goto promote_to_primary; + } + + /* ç„¶åŽå°è¯•在任务的 cpumask 中选择任何空闲的核心。 */ + cpu = scx_bpf_pick_idle_cpu(p->cpus_ptr, 0); + if (cpu >= 0) { + /* + * 我们找到了一个核心(我们认为它ä¸åœ¨ä»»ä½• Nest 中)。 + * è¿™æ„å‘³ç€æˆ‘们需è¦å°†è¯¥æ ¸å¿ƒæå‡åˆ°ä¿ç•™ Nest,或者如果由于 + * 超过 r_impatient 而直接æå‡åˆ°ä¸» Nest。 + * + * 我们必须在这里进行最åŽä¸€æ¬¡æ£€æŸ¥ï¼Œçœ‹çœ‹æ ¸å¿ƒæ˜¯å¦åœ¨ä¸»æŽ©ç æˆ–ä¿ç•™æŽ©ç ä¸­ï¼Œ + * 因为我们å¯èƒ½ä¸Žæ ¸å¿ƒåœ¨å°†ä¸»æŽ©ç å’Œä¿ç•™æŽ©ç ä¸Ž p->cpus_ptr 进行 AND + * è¿ç®—之间更改状æ€ï¼Œå¹¶ä½¿ç”¨ scx_bpf_pick_idle_cpu() åŽŸå­æ€§åœ°ä¿ç•™å®ƒã€‚ + * 这在上é¢çš„æ£€æŸ¥ä¸­æŠ€æœ¯ä¸Šä¹Ÿæ˜¯å¦‚æ­¤ï¼Œä½†åœ¨é‚£äº›æƒ…å†µä¸‹æˆ‘ä»¬åªæ˜¯ç›´æŽ¥ + * 将核心放入主掩ç ä¸­ï¼Œå› æ­¤é—®é¢˜ä¸å¤§ã€‚在这里,我们è¦ç¡®ä¿ä¸ä¼š + * æ„外地将已ç»åœ¨ä¸»æŽ©ç ä¸­çš„æ ¸å¿ƒæ”¾å…¥ä¿ç•™ Nest 中。这是ä¸å¤ªå¯èƒ½çš„, + * 但我们在应该相对冷路径上进行了检查。 + */ + stat_inc(NEST_STAT(WAKEUP_IDLE_OTHER)); + if (bpf_cpumask_test_cpu(cpu, cast_mask(primary))) + goto migrate_primary; + else if (bpf_cpumask_test_cpu(cpu, cast_mask(reserve))) + goto promote_to_primary; + else if (direct_to_primary) + goto promote_to_primary; + else + try_make_core_reserved(cpu, reserve, true); + bpf_rcu_read_unlock(); + return cpu; + } + + bpf_rcu_read_unlock(); + return prev_cpu; + +promote_to_primary: + stat_inc(NEST_STAT(PROMOTED_TO_PRIMARY)); +migrate_primary: + if (reset_impatient) + tctx->prev_misses = 0; + pcpu_ctx = bpf_map_lookup_elem(&pcpu_ctxs, &cpu); + if (pcpu_ctx) { + if (pcpu_ctx->scheduled_compaction) { + if (bpf_timer_cancel(&pcpu_ctx->timer) < 0) + scx_bpf_error("å–æ¶ˆ pcpu 定时器失败"); + if (bpf_timer_set_callback(&pcpu_ctx->timer, compact_primary_core)) + scx_bpf_error("釿–°è®¾ç½® pcpu 定时器回调失败"); + pcpu_ctx->scheduled_compaction = false; + stat_inc(NEST_STAT(CANCELLED_COMPACTION)); + } + } else { + scx_bpf_error("查找 pcpu ctx 失败"); + } + bpf_cpumask_set_cpu(cpu, primary); + /* + * 检查 CPU 是å¦åœ¨ä¿ç•™æŽ©ç ä¸­ã€‚如果是,这å¯èƒ½å‘生在核心在我们å°è¯• + * 将当å‰å”¤é†’任务分é…到其上时被并å‘åœ°åŽ‹ç¼©ã€‚åŒæ ·ï¼Œå¦‚果我们在 + * 由于超时直接æå‡åˆ°ä¸» Nest,也会å‘ç”Ÿè¿™ç§æƒ…况。 + * + * 我们ä¸å¿…担心与其他唤醒任务的竞争,因为我们已ç»é€šè¿‡ï¼ˆæŸç§ + * å˜ä½“的)scx_bpf_pick_idle_cpu() åŽŸå­æ€§åœ°ä¿ç•™äº†è¯¥æ ¸å¿ƒã€‚ + */ + if (bpf_cpumask_test_cpu(cpu, cast_mask(reserve))) { + __sync_sub_and_fetch(&nr_reserved, 1); + bpf_cpumask_clear_cpu(cpu, reserve); + } + bpf_rcu_read_unlock(); + update_attached(tctx, prev_cpu, cpu); + scx_bpf_dispatch(p, SCX_DSQ_LOCAL, slice_ns, 0); + return cpu; +} +``` + +`nest_select_cpu` 函数是 `scx_nest` 调度器的核心。当任务唤醒时,此函数确定其执行最åˆé€‚çš„ CPU 核心。该函数éµå¾ªä¸€ç³»åˆ—检查,以确ä¿ä»»åŠ¡è¢«æ”¾ç½®åœ¨é«˜é¢‘çŽ‡ã€ç©ºé—²çš„æ ¸å¿ƒä¸Šï¼Œä»Žè€Œæå‡æ•ˆçŽ‡å’Œæ€§èƒ½ã€‚ + +最åˆï¼Œå®ƒä»Ž `task_ctx_stor` 映射中检索任务的上下文。然åŽï¼Œå®ƒé”å®šè¯»æ‹·è´æ›´æ–°ï¼ˆRCU)é”,以安全地访问主掩ç å’Œä¿ç•™æŽ©ç ã€‚调度器首先å°è¯•å°†ä»»åŠ¡æ”¾ç½®åœ¨å…¶é™„åŠ æ ¸å¿ƒä¸Šï¼Œç¡®ä¿æ ¸å¿ƒäº²å’Œæ€§ã€‚如果附加核心ä¸ç©ºé—²ï¼Œå®ƒä¼šå°è¯•å…ˆå‰çš„æ ¸å¿ƒã€‚æ ¹æ®å„ç§æ¡ä»¶ï¼ŒåŒ…括任务的急èºç¨‹åº¦ (`r_impatient`) 和主 Nest åŠä¿ç•™ Nest 中空闲核心的å¯ç”¨æ€§ï¼Œè°ƒåº¦å™¨å†³å®šæ˜¯å¦è¿ç§»ä»»åŠ¡ã€å°†æ ¸å¿ƒæå‡åˆ°ä¸» Nest,或将核心é™çº§åˆ°ä¿ç•™ Nest。 + +在整个过程中,调度器更新相关统计数æ®ï¼Œä»¥æä¾›å¯¹å…¶æ“作的è§è§£ã€‚使用 RCU é”ç¡®ä¿è°ƒåº¦å™¨çš„决策是在ä¸å¹²æ‰°å…¶ä»–并呿“作的情况下安全åšå‡ºçš„。 + +#### `nest_enqueue` + +处ç†å°†ä»»åŠ¡å…¥é˜Ÿåˆ°è°ƒåº¦é˜Ÿåˆ—ï¼š + +```c +void BPF_STRUCT_OPS(nest_enqueue, struct task_struct *p, u64 enq_flags) +{ + struct task_ctx *tctx; + u64 vtime = p->scx.dsq_vtime; + + tctx = bpf_task_storage_get(&task_ctx_stor, p, 0, 0); + if (!tctx) { + scx_bpf_error("无法找到任务上下文"); + return; + } + + /* + * 将空闲任务的预算é™åˆ¶ä¸ºä¸€ä¸ªåˆ‡ç‰‡ã€‚ + */ + if (vtime_before(vtime, vtime_now - slice_ns)) + vtime = vtime_now - slice_ns; + + scx_bpf_dispatch_vtime(p, FALLBACK_DSQ_ID, slice_ns, vtime, enq_flags); +} +``` + +`nest_enqueue` 函数管ç†ä»»åŠ¡çš„å…¥é˜Ÿï¼Œè°ƒæ•´å…¶è™šæ‹Ÿæ—¶é—´ (`vtime`) 以确ä¿å…¬å¹³æ€§å¹¶é˜²æ­¢ä»»åŠ¡åœ¨ç©ºé—²æ—¶ç§¯ç´¯è¿‡å¤šçš„æ‰§è¡Œé¢„ç®—ã€‚å¦‚æžœä»»åŠ¡çš„ `vtime` 低于æŸä¸ªé˜ˆå€¼ï¼Œå®ƒå°†è¢«è°ƒæ•´ä»¥ä¿æŒè°ƒåº¦å™¨å†…部的平衡。 + +#### `nest_dispatch` + +管ç†å°†ä»»åŠ¡åˆ†æ´¾åˆ° CPU 核心: + +```c +void BPF_STRUCT_OPS(nest_dispatch, s32 cpu, struct task_struct *prev) +{ + struct pcpu_ctx *pcpu_ctx; + struct bpf_cpumask *primary, *reserve; + s32 key = cpu; + bool in_primary; + + primary = primary_cpumask; + reserve = reserve_cpumask; + if (!primary || !reserve) { + scx_bpf_error("没有主或ä¿ç•™ cpumask"); + return; + } + + pcpu_ctx = bpf_map_lookup_elem(&pcpu_ctxs, &key); + if (!pcpu_ctx) { + scx_bpf_error("查找 pcpu ctx 失败"); + return; + } + + if (!scx_bpf_consume(FALLBACK_DSQ_ID)) { + in_primary = bpf_cpumask_test_cpu(cpu, cast_mask(primary)); + + if (prev && (prev->scx.flags & SCX_TASK_QUEUED) && in_primary) { + scx_bpf_dispatch(prev, SCX_DSQ_LOCAL, slice_ns, 0); + return; + } + + stat_inc(NEST_STAT(NOT_CONSUMED)); + if (in_primary) { + /* + * 如果主集åˆä¸­çš„å‰ä¸€ä¸ªä»»åŠ¡æ­£åœ¨æ­»äº¡ï¼Œç«‹å³é™çº§ä¸»æ ¸å¿ƒã€‚ + * + * 注æ„,我们选择ä¸åŽ‹ç¼©æŽ©ç ä¸­çš„“第一个†CPU,以鼓励至少ä¿ç•™ä¸€ä¸ªæ ¸å¿ƒåœ¨ Nest 中。 + * 最好检查是å¦ä»…剩一个核心在 Nest 中,但 BPF ç›®å‰æ²¡æœ‰ç”¨äºŽæŸ¥è¯¢ + * cpumask æƒé‡çš„内核函数。 + */ + if ((prev && prev->__state == TASK_DEAD) && + (cpu != bpf_cpumask_first(cast_mask(primary)))) { + stat_inc(NEST_STAT(EAGERLY_COMPACTED)); + bpf_cpumask_clear_cpu(cpu, primary); + try_make_core_reserved(cpu, reserve, false); + } else { + pcpu_ctx->scheduled_compaction = true; + /* + * 核心ä¸å†è¢«ä½¿ç”¨ã€‚设置定时器以在 p_remove 中移除核心 + * å¦‚æžœåœ¨é‚£æ—¶ä»æœªä½¿ç”¨ã€‚ + */ + bpf_timer_start(&pcpu_ctx->timer, p_remove_ns, + BPF_F_TIMER_CPU_PIN); + stat_inc(NEST_STAT(SCHEDULED_COMPACTION)); + } + } + return; + } + stat_inc(NEST_STAT(CONSUMED)); +} +``` + +`nest_dispatch` 函数负责将任务分派到 CPU 核心。它首先检查回退调度队列 (`FALLBACK_DSQ_ID`) ä¸­æ˜¯å¦æœ‰å¯ç”¨ä»»åŠ¡ã€‚å¦‚æžœæ²¡æœ‰ä»»åŠ¡è¢«æ¶ˆè€—ï¼Œå®ƒä¼šè¯„ä¼° CPU 上的å‰ä¸€ä¸ªä»»åŠ¡æ˜¯å¦å·²ç»æ­»äº¡ã€‚如果是,并且 CPU ä¸åœ¨ä¸»æŽ©ç ä¸­çš„第一个ä½ç½®ï¼Œè°ƒåº¦å™¨å°†æ ¸å¿ƒé™çº§åˆ°ä¿ç•™ Nest。å¦åˆ™ï¼Œå®ƒä¼šä¸ºæ ¸å¿ƒå®‰æŽ’一个压缩定时器,以便在指定时间åŽå¯èƒ½é™çº§è¯¥æ ¸å¿ƒã€‚如果从回退队列æˆåŠŸæ¶ˆè€—äº†ä¸€ä¸ªä»»åŠ¡ï¼Œå®ƒä¼šé€’å¢žç›¸åº”çš„ç»Ÿè®¡æ•°æ®ã€‚ + +#### `nest_running` + +当任务开始è¿è¡Œæ—¶æ›´æ–°å…¨å±€è™šæ‹Ÿæ—¶é—´ï¼š + +```c +void BPF_STRUCT_OPS(nest_running, struct task_struct *p) +{ + /* + * 全局虚拟时间在任务开始执行时总是å‘å‰æŽ¨è¿›ã€‚ + * 测试和更新å¯ä»¥ä»Žå¤šä¸ª CPU åŒæ—¶æ‰§è¡Œï¼Œå› æ­¤å­˜åœ¨ç«žäº‰ã€‚ + * ä»»ä½•é”™è¯¯éƒ½åº”è¯¥æ˜¯å¯æŽ§ä¸”æš‚æ—¶çš„ã€‚æˆ‘ä»¬å°±è¿™æ ·å¤„ç†ã€‚ + */ + if (vtime_before(vtime_now, p->scx.dsq_vtime)) + vtime_now = p->scx.dsq_vtime; +} +``` + +`nest_running` 函数确ä¿å…¨å±€è™šæ‹Ÿæ—¶é—´ (`vtime_now`) 在任务开始执行时å‘å‰æŽ¨è¿›ã€‚è¿™ä¸€æœºåˆ¶æœ‰åŠ©äºŽç»´æŠ¤è°ƒåº¦å™¨æ“作的公平性和时间一致性。 + +#### `nest_stopping` + +处ç†ä»»åŠ¡åœæ­¢è¿è¡Œï¼Œè°ƒæ•´å…¶è™šæ‹Ÿæ—¶é—´ï¼š + +```c +void BPF_STRUCT_OPS(nest_stopping, struct task_struct *p, bool runnable) +{ + /* 按æƒé‡çš„倒数和费用缩放执行时间 */ + p->scx.dsq_vtime += (slice_ns - p->scx.slice) * 100 / p->scx.weight; +} +``` + +å½“ä»»åŠ¡åœæ­¢è¿è¡Œæ—¶ï¼Œ`nest_stopping` æ ¹æ®å…¶æ‰§è¡Œåˆ‡ç‰‡å’Œæƒé‡è°ƒæ•´å…¶è™šæ‹Ÿæ—¶é—´ã€‚这一调整确ä¿ä»»åŠ¡åœ¨è°ƒåº¦å™¨çš„è™šæ‹Ÿæ—¶é—´è®¡ç®—ä¸­å¾—åˆ°å…¬å¹³è€ƒè™‘ï¼Œä¿æŒå¹³è¡¡å¹¶é˜²æ­¢ä»»ä½•å•个任务垄断 CPU 资æºã€‚ + +#### `nest_init_task` + +åˆå§‹åŒ–新任务的上下文: + +```c +s32 BPF_STRUCT_OPS(nest_init_task, struct task_struct *p, + struct scx_init_task_args *args) +{ + struct task_ctx *tctx; + struct bpf_cpumask *cpumask; + + /* + * @p 是新的。确ä¿å…¶ task_ctx å¯ç”¨ã€‚ + * 我们å¯ä»¥åœ¨æ­¤å‡½æ•°ä¸­ä¼‘眠,以下内容将自动使用 GFP_KERNEL。 + */ + tctx = bpf_task_storage_get(&task_ctx_stor, p, 0, + BPF_LOCAL_STORAGE_GET_F_CREATE); + if (!tctx) + return -ENOMEM; + + cpumask = bpf_cpumask_create(); + if (!cpumask) + return -ENOMEM; + + cpumask = bpf_kptr_xchg(&tctx->tmp_mask, cpumask); + if (cpumask) + bpf_cpumask_release(cpumask); + + tctx->attached_core = -1; + tctx->prev_cpu = -1; + + return 0; +} +``` + +`nest_init_task` 函数为新任务åˆå§‹åŒ–调度上下文。它通过从 `task_ctx_stor` 映射中检索任务的上下文æ¥ç¡®ä¿ä»»åŠ¡çš„ä¸Šä¸‹æ–‡å¯ç”¨ï¼Œåˆ›å»ºä¸€ä¸ªæ–°çš„ `bpf_cpumask` 进行临时计算,并为 `attached_core` å’Œ `prev_cpu` 设置åˆå§‹å€¼ã€‚ + +#### `nest_enable` + +通过设置任务的虚拟时间å¯ç”¨è°ƒåº¦ï¼š + +```c +void BPF_STRUCT_OPS(nest_enable, struct task_struct *p) +{ + p->scx.dsq_vtime = vtime_now; +} +``` + +`nest_enable` 函数通过将任务的虚拟时间 (`dsq_vtime`) åˆå§‹åŒ–为当å‰çš„全局虚拟时间 (`vtime_now`) æ¥æ¿€æ´»ä»»åŠ¡çš„è°ƒåº¦ã€‚è¿™ç¡®ä¿äº†ä»»åŠ¡çš„è°ƒåº¦çŠ¶æ€ä¸Žè°ƒåº¦å™¨çš„è™šæ‹Ÿæ—¶é—´åŒæ­¥ã€‚ + +#### `stats_timerfn` + +处ç†å®šæœŸçš„ç»Ÿè®¡ä¿¡æ¯æ”¶é›†ï¼š + +```c +static int stats_timerfn(void *map, int *key, struct bpf_timer *timer) +{ + s32 cpu; + struct bpf_cpumask *primary, *reserve; + const struct cpumask *idle; + stats_primary_mask = 0; + stats_reserved_mask = 0; + stats_other_mask = 0; + stats_idle_mask = 0; + long err; + + bpf_rcu_read_lock(); + primary = primary_cpumask; + reserve = reserve_cpumask; + if (!primary || !reserve) { + bpf_rcu_read_unlock(); + scx_bpf_error("查找主或ä¿ç•™å¤±è´¥"); + return 0; + } + + idle = scx_bpf_get_idle_cpumask(); + bpf_for(cpu, 0, nr_cpus) { + if (bpf_cpumask_test_cpu(cpu, cast_mask(primary))) + stats_primary_mask |= (1ULL << cpu); + else if (bpf_cpumask_test_cpu(cpu, cast_mask(reserve))) + stats_reserved_mask |= (1ULL << cpu); + else + stats_other_mask |= (1ULL << cpu); + + if (bpf_cpumask_test_cpu(cpu, idle)) + stats_idle_mask |= (1ULL << cpu); + } + bpf_rcu_read_unlock(); + scx_bpf_put_idle_cpumask(idle); + + err = bpf_timer_start(timer, sampling_cadence_ns - 5000, 0); + if (err) + scx_bpf_error("å¯åŠ¨ç»Ÿè®¡å®šæ—¶å™¨å¤±è´¥"); + + return 0; +} +``` + +`stats_timerfn` 函数由中央定时器定期调用,用于收集和更新调度统计信æ¯ã€‚å®ƒæ•æ‰å½“å‰ CPU 核心的状æ€ï¼Œå°†å®ƒä»¬åˆ†ç±»åˆ°ä¸»ã€ä¿ç•™ã€å…¶ä»–和空闲掩ç ä¸­ã€‚è¿™äº›ä¿¡æ¯æä¾›äº†è°ƒåº¦å™¨å¦‚ä½•ç®¡ç† CPU 资æºå’Œä»»åŠ¡åˆ†é…的洞察。在收集统计信æ¯åŽï¼Œè¯¥å‡½æ•°é‡æ–°å¯åŠ¨å®šæ—¶å™¨ä»¥ç¡®ä¿æŒç»­ç›‘控。 + +#### `nest_init` + +åˆå§‹åŒ– `scx_nest` 调度器: + +```c +s32 BPF_STRUCT_OPS_SLEEPABLE(nest_init) +{ + struct bpf_cpumask *cpumask; + s32 cpu; + int err; + struct bpf_timer *timer; + u32 key = 0; + + err = scx_bpf_create_dsq(FALLBACK_DSQ_ID, NUMA_NO_NODE); + if (err) { + scx_bpf_error("创建回退 DSQ 失败"); + return err; + } + + cpumask = bpf_cpumask_create(); + if (!cpumask) + return -ENOMEM; + bpf_cpumask_clear(cpumask); + cpumask = bpf_kptr_xchg(&primary_cpumask, cpumask); + if (cpumask) + bpf_cpumask_release(cpumask); + + cpumask = bpf_cpumask_create(); + if (!cpumask) + return -ENOMEM; + + bpf_cpumask_clear(cpumask); + cpumask = bpf_kptr_xchg(&reserve_cpumask, cpumask); + if (cpumask) + bpf_cpumask_release(cpumask); + + bpf_for(cpu, 0, nr_cpus) { + s32 key = cpu; + struct pcpu_ctx *ctx = bpf_map_lookup_elem(&pcpu_ctxs, &key); + + if (!ctx) { + scx_bpf_error("查找 pcpu_ctx 失败"); + return -ENOENT; + } + ctx->scheduled_compaction = false; + if (bpf_timer_init(&ctx->timer, &pcpu_ctxs, CLOCK_BOOTTIME)) { + scx_bpf_error("åˆå§‹åŒ– pcpu 定时器失败"); + return -EINVAL; + } + err = bpf_timer_set_callback(&ctx->timer, compact_primary_core); + if (err) { + scx_bpf_error("设置 pcpu 定时器回调失败"); + return -EINVAL; + } + } + + timer = bpf_map_lookup_elem(&stats_timer, &key); + if (!timer) { + scx_bpf_error("查找中央定时器失败"); + return -ESRCH; + } + bpf_timer_init(timer, &stats_timer, CLOCK_BOOTTIME); + bpf_timer_set_callback(timer, stats_timerfn); + err = bpf_timer_start(timer, sampling_cadence_ns - 5000, 0); + if (err) + scx_bpf_error("å¯åŠ¨ç»Ÿè®¡å®šæ—¶å™¨å¤±è´¥"); + + return err; +} +``` + +`nest_init` 函数在系统åˆå§‹åŒ–期间设置 `scx_nest` 调度器。它创建了一个回退调度队列 (`FALLBACK_DSQ_ID`) å¹¶åˆå§‹åŒ–了主掩ç å’Œä¿ç•™æŽ©ç ã€‚对于æ¯ä¸ª CPU,它从 `pcpu_ctxs` æ˜ å°„ä¸­æ£€ç´¢æ¯ CPU 上下文,åˆå§‹åŒ–压缩定时器,并将回调设置为 `compact_primary_core`。此外,它åˆå§‹åŒ–å¹¶å¯åŠ¨ä¸­å¤®ç»Ÿè®¡å®šæ—¶å™¨ (`stats_timer`) åŠå…¶å›žè°ƒå‡½æ•° `stats_timerfn`,确ä¿è°ƒåº¦å™¨ç»Ÿè®¡ä¿¡æ¯çš„æŒç»­ç›‘æŽ§ã€‚ + +#### `nest_exit` + +在调度器退出时进行清ç†ï¼š + +```c +void BPF_STRUCT_OPS(nest_exit, struct scx_exit_info *ei) +{ + UEI_RECORD(uei, ei); +} +``` + +`nest_exit` 函数记录退出信æ¯å¹¶åœ¨è°ƒåº¦å™¨è¢«ç§»é™¤æˆ–系统关闭时执行任何必è¦çš„æ¸…ç†æ“ä½œã€‚è¿™ç¡®ä¿æ‰€æœ‰èµ„æºå¾—åˆ°é€‚å½“é‡Šæ”¾ï¼Œç³»ç»Ÿä¿æŒç¨³å®šã€‚ + +#### `SCX_OPS_DEFINE` + +为 `scx_nest` 调度器定义æ“作结构: + +```c +SCX_OPS_DEFINE(nest_ops, + .select_cpu = (void *)nest_select_cpu, + .enqueue = (void *)nest_enqueue, + .dispatch = (void *)nest_dispatch, + .running = (void *)nest_running, + .stopping = (void *)nest_stopping, + .init_task = (void *)nest_init_task, + .enable = (void *)nest_enable, + .init = (void *)nest_init, + .exit = (void *)nest_exit, + .flags = 0, + .name = "nest"); +``` + +`SCX_OPS_DEFINE` å®å°†è°ƒåº¦å™¨çš„æ‰€æœ‰å‡½æ•°ç»‘定到 `nest_ops` 结构中,`sched_ext` 框架使用该结构与调度器进行接å£ã€‚这确ä¿è°ƒåº¦å™¨çš„æ“ä½œåœ¨ä»»åŠ¡è°ƒåº¦äº‹ä»¶æœŸé—´è¢«æ­£ç¡®æ˜ å°„å’Œè°ƒç”¨ã€‚ + +### åˆå§‹åŒ–å’Œæ¸…ç† + +适当的åˆå§‹åŒ–和清ç†å¯¹äºŽè°ƒåº¦å™¨çš„稳定性和性能至关é‡è¦ã€‚ + +#### `nest_init` 函数 + +`nest_init` 函数负责在系统åˆå§‹åŒ–期间设置调度器。其æ“作如下: + +1. **创建回退调度队列:** + - 调用 `scx_bpf_create_dsq` 创建回退调度队列 (`FALLBACK_DSQ_ID`)。如果失败,记录错误并退出。 + +2. **åˆå§‹åŒ–主掩ç å’Œä¿ç•™æŽ©ç ï¼š** + - 创建并清除一个新的 `bpf_cpumask` 作为主掩ç ã€‚ + - 将新创建的掩ç ä¸ŽçŽ°æœ‰çš„ `primary_cpumask` 交æ¢ã€‚如果存在旧掩ç ï¼Œåˆ™é‡Šæ”¾å®ƒã€‚ + - 对ä¿ç•™æŽ©ç é‡å¤ç›¸åŒçš„过程。 + +3. **åˆå§‹åŒ–æ¯ CPU 上下文:** + - 对于æ¯ä¸ª CPU,从 `pcpu_ctxs` æ˜ å°„ä¸­æ£€ç´¢æ¯ CPU 上下文。 + - å°† `scheduled_compaction` 标志åˆå§‹åŒ–为 `false`。 + - 使用 `bpf_timer_init` åˆå§‹åŒ–定时器,并使用 `bpf_timer_set_callback` 将回调设置为 `compact_primary_core`。 + - 如果任何步骤失败,记录错误并退出。 + +4. **åˆå§‹åŒ–å¹¶å¯åŠ¨ç»Ÿè®¡å®šæ—¶å™¨ï¼š** + - 从 `stats_timer` 映射中检索中央统计定时器。 + - åˆå§‹åŒ–定时器并将其回调设置为 `stats_timerfn`。 + - 以 `sampling_cadence_ns - 5000` 纳秒的延迟å¯åŠ¨å®šæ—¶å™¨ã€‚ + - 如果å¯åŠ¨å®šæ—¶å™¨å¤±è´¥ï¼Œè®°å½•é”™è¯¯ã€‚ + +5. **返回:** + - 函数返回定时器åˆå§‹åŒ–的结果,指示æˆåŠŸæˆ–å¤±è´¥ã€‚ + +这一åˆå§‹åŒ–过程确ä¿è°ƒåº¦å™¨çš„æ‰€æœ‰å¿…è¦ç»„件(包括 CPU 掩ç ã€å®šæ—¶å™¨å’Œè°ƒåº¦é˜Ÿåˆ—)都已正确设置。 + +#### `nest_exit` 函数 + +`nest_exit` å‡½æ•°åœ¨è°ƒåº¦å™¨è¢«ç§»é™¤æˆ–ç³»ç»Ÿå…³é—­æ—¶å¤„ç†æ¸…ç†å·¥ä½œï¼š + +```c +void BPF_STRUCT_OPS(nest_exit, struct scx_exit_info *ei) +{ + UEI_RECORD(uei, ei); +} +``` + +此函数通过 `UEI_RECORD` å®è®°å½•退出信æ¯ï¼Œç¡®ä¿æ‰§è¡Œä»»ä½•å¿…è¦çš„æ¸…ç†æ“ä½œã€‚è¿™å¯¹äºŽä¿æŒç³»ç»Ÿç¨³å®šæ€§å’Œé˜²æ­¢èµ„æºæ³„æ¼è‡³å…³é‡è¦ã€‚ + +### 最终调度器定义 + +`SCX_OPS_DEFINE` å®å°†è°ƒåº¦å™¨çš„æ‰€æœ‰å‡½æ•°ç»‘定到å•一结构中,供 `sched_ext` 框架使用: + +```c +SCX_OPS_DEFINE(nest_ops, + .select_cpu = (void *)nest_select_cpu, + .enqueue = (void *)nest_enqueue, + .dispatch = (void *)nest_dispatch, + .running = (void *)nest_running, + .stopping = (void *)nest_stopping, + .init_task = (void *)nest_init_task, + .enable = (void *)nest_enable, + .init = (void *)nest_init, + .exit = (void *)nest_exit, + .flags = 0, + .name = "nest"); +``` + +此结构体 `nest_ops` 有效地将调度器的æ“作注册到 `sched_ext` 框架,确ä¿è°ƒåº¦å™¨åœ¨å„ç§è°ƒåº¦äº‹ä»¶å’Œç³»ç»Ÿçжæ€ä¸‹åšå‡ºé€‚当å“应。 + +## 编译和执行 + +è¦ç¼–译和è¿è¡Œ `scx_nest` 调度器,请按照以下步骤æ“作: + +**编译代ç ï¼š** + +使用 `make` 构建调度器。确ä¿å·²å®‰è£…å¿…è¦çš„æž„建工具和内核头文件。 + +```bash +make +``` + +**è¿è¡Œè°ƒåº¦å™¨ï¼š** + +执行编译åŽçš„调度器二进制文件。根æ®ç³»ç»Ÿé…置和æƒé™ï¼Œæ‚¨å¯èƒ½éœ€è¦ä»¥æå‡çš„æƒé™è¿è¡Œæ­¤å‘½ä»¤ã€‚ + +```bash +./scx_nest +``` + +### 示例输出 + +è¿è¡Œè°ƒåº¦å™¨åŽï¼Œæ‚¨åº”该会看到类似以下的输出: + +``` +# ./scx_nest + +唤醒统计 +------------ +WAKEUP_ATTACHED=150 +WAKEUP_PREV_PRIMARY=61 +WAKEUP_FULLY_IDLE_PRIMARY=0 +WAKEUP_ANY_IDLE_PRIMARY=103 +WAKEUP_FULLY_IDLE_RESERVE=0 +WAKEUP_ANY_IDLE_RESERVE=216 +WAKEUP_IDLE_OTHER=11 + + +Nest 统计 +---------- +TASK_IMPATIENT=67 +PROMOTED_TO_PRIMARY=217 +PROMOTED_TO_RESERVED=8 +DEMOTED_TO_RESERVED=212 +RESERVED_AT_CAPACITY=6 +SCHEDULED_COMPACTION=525 +CANCELLED_COMPACTION=314 +EAGERLY_COMPACTED=8 +CALLBACK_COMPACTED=208 + + +消耗统计 +------------- +CONSUMED=166 +NOT_CONSUMED=667 + + + +æŽ©ç  +----- +PRIMARY ( 0): | -------------------------------------------------------------------------------------------------------------------------------- | +RESERVED (10): | ***-*--*--------------------------------------------------------***-*--*-------------------------------------------------------- | +OTHER (128): | ******************************************************************************************************************************** | +IDLE (16): | ********--------------------------------------------------------********-------------------------------------------------------- | + + +^C退出:已从用户空间注销 +``` + +此输出æä¾›äº†æœ‰å…³ä»»åС唤醒ã€Nest æ“ä½œã€æ¶ˆè€—率和 CPU 掩ç çжæ€çš„å…¨é¢ç»Ÿè®¡ä¿¡æ¯ã€‚它显示了调度器如何管ç†ä»»åŠ¡å’Œ CPU 核心,展示了 `scx_nest` ç®—æ³•åœ¨ä¿æŒé«˜é¢‘çŽ‡æ ¸å¿ƒåˆ©ç”¨çŽ‡å’Œé«˜æ•ˆä»»åŠ¡åˆ†é…æ–¹é¢çš„æœ‰æ•ˆæ€§ã€‚ + +## 总结与行动呼å + +在本教程中,我们深入探讨了 `scx_nest` 调度器的实现,这是一个先进的 eBPF 程åºï¼ŒåŸºäºŽæ ¸å¿ƒé¢‘率和利用率定制 CPU 调度以优化性能。通过利用 `sched_ext` 框架,`scx_nest` 展示了 eBPF 如何动æ€å®šä¹‰è°ƒåº¦è¡Œä¸ºï¼Œæä¾›è¶…è¶Šä¼ ç»Ÿè°ƒåº¦å™¨çš„çµæ´»æ€§å’ŒæŽ§åˆ¶åŠ›ã€‚ + +ä¸»è¦æ”¶èŽ·åŒ…æ‹¬ï¼š + +- ç†è§£ `sched_ext` è°ƒåº¦å™¨ç±»çš„çµæ´»æ€§å’Œå¼ºå¤§åŠŸèƒ½ã€‚ +- 探索支撑 `scx_nest` è°ƒåº¦å™¨çš„å¤æ‚æ•°æ®ç»“构和映射。 +- 分æžç®¡ç†ä»»åŠ¡åˆ†é…ã€æ ¸å¿ƒåŽ‹ç¼©å’Œç»Ÿè®¡ä¿¡æ¯æ”¶é›†çš„æ ¸å¿ƒå‡½æ•°ã€‚ +- 学习如何编译和执行调度器,并通过详细统计信æ¯è§‚察其影å“。 + +`scx_nest` 调度器是一个æžå¥½çš„例å­ï¼Œå±•示了如何利用先进的 eBPF ç¼–ç¨‹ä»¥çµæ´»å’ŒåЍæ€çš„æ–¹å¼å®žçް夿‚的系统功能。 + +如果您想深入了解 eBPF 并探索更多高级示例,请访问我们的教程仓库 [https://github.com/eunomia-bpf/bpf-developer-tutorial](https://github.com/eunomia-bpf/bpf-developer-tutorial) 或查看我们的网站 [https://eunomia.dev/tutorials/](https://eunomia.dev/tutorials/)。 + +## å‚考文献 + +`scx_nest` 调度器的原始æºä»£ç å¯åœ¨ [sched-ext/scx](https://github.com/sched-ext/scx) 仓库中找到。 + +å¯ä»¥å¢žå¼ºæ‚¨ç†è§£çš„其他资æºåŒ…括: + +- **Linux 内核文档:** [Scheduler Ext 文档](https://www.kernel.org/doc/html/next/scheduler/sched-ext.html) +- **å†…æ ¸æºæ ‘:** [Linux 内核 `sched_ext` 工具](https://github.com/torvalds/linux/tree/master/tools/sched_ext) +- **eBPF 官方文档:** [https://ebpf.io/docs/](https://ebpf.io/docs/) +- **libbpf 文档:** [https://github.com/libbpf/libbpf](https://github.com/libbpf/libbpf) + +欢迎探索这些资æºï¼Œæ‰©å±•您的知识,继续深入学习高级 eBPF 编程的旅程。 \ No newline at end of file diff --git a/Document/sched_ext/img.png b/Document/sched_ext/img.png new file mode 100644 index 0000000..71dc234 Binary files /dev/null and b/Document/sched_ext/img.png differ diff --git a/Document/sched_ext/normal_cpu10.txt b/Document/sched_ext/normal_cpu10.txt new file mode 100644 index 0000000..6da4a37 --- /dev/null +++ b/Document/sched_ext/normal_cpu10.txt @@ -0,0 +1,68 @@ +1us,4us,16us,64us,256us,1ms,4ms,4ms+ +0,210,844,1170,177,185,199,373 +1,260,1091,1741,217,242,281,553 +2,309,1306,2295,242,303,365,747 +2,374,1512,2813,303,340,457,934 +2,399,1594,3024,327,353,482,1180 +2,493,1734,3192,350,360,509,1373 +2,540,1824,3326,384,371,526,1538 +2,603,1912,3456,409,386,550,1679 +2,615,1970,3566,432,400,584,1850 +2,683,2107,3730,461,421,625,2096 +2,720,2194,3895,490,431,653,2295 +2,771,2296,4070,522,450,678,2473 +3,819,2433,4266,540,463,699,2683 +3,866,2538,4383,562,469,717,2807 +3,900,2616,4530,592,482,743,2925 +3,938,2712,4684,614,497,765,3125 +3,955,2790,4830,651,514,798,3318 +3,1007,2897,4986,690,535,832,3531 +3,1055,3006,5149,728,549,858,3720 +4,1126,3112,5247,755,569,893,3863 +4,1157,3188,5411,776,587,921,3972 +4,1209,3283,5561,802,610,948,4153 +4,1251,3379,5750,834,636,976,4350 +4,1293,3470,5905,851,649,1007,4540 +4,1346,3561,6083,874,659,1033,4729 +4,1454,3719,6212,898,673,1115,4947 +4,1494,3795,6341,925,684,1129,5076 +4,1534,3888,6466,949,695,1159,5169 +4,1579,3984,6616,962,711,1174,5274 +4,1620,4074,6721,982,725,1196,5410 +4,1675,4166,6882,1005,736,1213,5519 +4,1743,4270,7063,1043,754,1243,5726 +5,1787,4372,7234,1068,772,1280,5907 +5,1834,4495,7390,1104,802,1327,6078 +6,1868,4563,7528,1113,807,1338,6181 +6,1907,4658,7684,1140,820,1374,6351 +6,1950,4742,7831,1160,831,1393,6467 +6,2000,4833,7958,1175,845,1410,6595 +6,2058,4926,8108,1191,855,1422,6710 +6,2112,5035,8298,1220,868,1458,6916 +6,2149,5108,8434,1235,877,1469,7023 +9,2189,5185,8544,1256,885,1479,7105 +9,2234,5261,8669,1281,897,1506,7243 +9,2258,5335,8787,1305,906,1520,7353 +9,2287,5404,8927,1321,913,1538,7472 +9,2326,5482,9072,1353,921,1566,7604 +9,2361,5563,9227,1376,940,1594,7772 +9,2394,5627,9363,1397,951,1611,7856 +9,2429,5736,9522,1424,961,1636,8023 +9,2470,5825,9680,1439,971,1660,8159 +9,2516,5909,9808,1462,984,1687,8296 +9,2557,5994,9971,1484,997,1724,8437 +9,2585,6059,10111,1504,1007,1744,8547 +9,2624,6139,10245,1523,1015,1761,8642 +9,2656,6221,10359,1550,1030,1794,8757 +9,2678,6281,10494,1576,1039,1807,8862 +10,2702,6397,10637,1606,1052,1823,8995 +10,2755,6490,10817,1644,1074,1853,9138 +10,2770,6559,10934,1663,1086,1877,9272 +10,2809,6655,11095,1684,1103,1901,9372 +10,2903,6913,11334,1772,1168,1981,9807 +10,2942,6995,11472,1792,1181,1999,9930 +12,2991,7114,11747,1815,1193,2024,10096 +12,3004,7212,11931,1837,1206,2045,10218 +12,3012,7239,12077,1845,1212,2048,10229 +12,3071,7361,12436,1861,1232,2078,10282 +12,3120,7424,12662,1871,1235,2088,10296 diff --git a/Document/sched_ext/normal_cpu30.txt b/Document/sched_ext/normal_cpu30.txt new file mode 100644 index 0000000..e20ed72 --- /dev/null +++ b/Document/sched_ext/normal_cpu30.txt @@ -0,0 +1,69 @@ +1us,4us,16us,64us,256us,1ms,4ms,4ms+ +0,66,245,815,52,49,67,79 +0,193,631,2136,106,95,166,235 +0,295,936,2918,162,158,278,425 +0,477,1215,3448,206,188,330,571 +0,601,1558,3481,218,204,390,2924 +0,606,1698,3506,231,209,415,4600 +0,1814,2320,3562,296,260,526,7681 +0,2566,2842,3612,360,329,611,10304 +0,2574,3069,3636,381,339,644,12197 +0,2583,3209,3648,384,346,664,14004 +0,4271,4126,3694,521,423,753,18010 +0,5144,4548,3742,534,469,866,20787 +0,5731,5071,3771,592,511,963,23429 +0,6469,5531,3816,633,533,1071,26286 +0,7209,6093,3851,694,564,1184,29238 +0,7873,6613,3898,753,608,1252,31946 +0,8469,7219,3936,809,631,1340,34529 +0,9239,7799,3970,866,666,1454,37348 +0,9943,8277,4008,928,717,1592,39955 +0,10709,8768,4046,993,744,1676,42835 +0,11404,9276,4095,1045,793,1758,45525 +0,12245,9821,4139,1117,842,1910,48234 +0,13020,10300,4178,1166,866,2010,50892 +0,13859,10855,4231,1242,915,2112,53634 +0,14424,11336,4261,1272,929,2166,56240 +0,15154,11779,4306,1324,963,2250,58844 +0,15876,12190,4339,1373,1017,2303,61504 +0,16607,12659,4388,1423,1058,2357,64144 +0,17356,13144,4419,1451,1092,2502,66670 +0,18159,13693,4477,1518,1156,2585,69368 +0,18639,14253,4506,1552,1193,2664,71973 +0,19201,14658,4560,1570,1246,2811,74426 +0,19428,15322,4630,1624,1317,2901,76884 +0,19844,15882,4669,1689,1370,3070,79171 +0,20489,16388,4725,1747,1430,3207,81779 +0,21062,16784,4767,1781,1483,3282,84375 +0,21801,17255,4801,1838,1507,3368,87048 +0,21850,17820,4864,1872,1602,3556,88933 +0,22372,18259,4895,1894,1696,3669,91243 +0,22717,18846,4933,1922,1744,3832,93545 +0,23083,19379,4965,1950,1817,3919,95914 +0,23791,19858,5010,1974,1861,4109,98497 +0,23813,20457,5057,2012,1915,4284,100409 +0,23848,21037,5118,2064,2009,4459,102170 +0,24397,21582,5181,2133,2078,4562,104685 +0,25119,22066,5223,2173,2098,4701,107362 +0,25503,22625,5263,2207,2181,4891,109683 +0,25543,23158,5317,2242,2265,5175,111411 +0,25616,23663,5356,2281,2370,5418,113071 +0,26268,24175,5409,2322,2505,5560,115561 +0,26783,24620,5446,2356,2568,5647,118013 +0,27224,25002,5484,2395,2631,5700,120440 +0,27513,25524,5537,2415,2678,5849,122842 +0,28084,25960,5583,2444,2712,5951,125509 +0,28794,26301,5616,2475,2738,6046,128321 +0,29449,26700,5656,2514,2780,6117,131016 +0,30154,27142,5694,2569,2807,6161,133776 +0,30727,27630,5751,2607,2855,6372,136199 +0,31277,28020,5788,2642,2912,6462,138532 +0,31949,28577,5827,2691,2936,6606,141038 +0,32133,29130,5884,2725,3014,6700,143137 +1,32195,29713,5932,2800,3146,6871,144946 +1,32417,30307,5970,2825,3238,7072,146981 +1,32921,31062,6038,2919,3357,7310,149492 +1,33031,31206,6416,2966,3366,7319,149506 +1,33196,31480,7059,3037,3448,7406,149675 +1,33230,31540,7433,3077,3455,7411,149689 +1,33391,31688,7901,3099,3464,7426,149703 \ No newline at end of file diff --git a/Document/sched_ext/sched_ext.md b/Document/sched_ext/sched_ext.md new file mode 100644 index 0000000..52bbb07 --- /dev/null +++ b/Document/sched_ext/sched_ext.md @@ -0,0 +1,789 @@ +## sched_extä»‹ç» +sched_ext å·²ç»åœ¨ Linux 6.12 内核中åˆå¹¶ï¼Œsched_ext å…许通过 BPF(Berkeley Packet Filter)编写自定义调度策略, +使得调度器的行为å¯ä»¥çµæ´»è°ƒæ•´ã€‚这一扩展使得内核å¯ä»¥åЍæ€åœ°åŠ è½½å’Œå¸è½½è°ƒåº¦ç®—法,从而无需修改内核代ç å³å¯å®žçްä¸åŒçš„调度策略。 + +sched_ext 的引入æ„味ç€å¯ä»¥ä½¿ç”¨ BPF 程åºåœ¨ç”¨æˆ·ç©ºé—´å®žçްå„ç§è°ƒåº¦ç®—法,并通过 struct sched_ext_ops æ¥å®šä¹‰è°ƒåº¦è¡Œä¸ºã€‚ +è¿™ç§æ–¹å¼ä½¿å¾—å¼€å‘者å¯ä»¥åˆ›å»ºæ›´çµæ´»å’Œé«˜æ•ˆçš„调度策略。 +例如,调度器å¯ä»¥åЍæ€åˆ†é…任务到 CPUã€åˆ›å»ºè‡ªå®šä¹‰çš„调度队列(DSQ),甚至å¯ä»¥æ ¹æ®ä¸åŒçš„应用场景为任务分é…优先级 + +通过 sched_ext,开å‘者å¯ä»¥æ›´å¥½åœ°æŽ§åˆ¶ä»»åŠ¡çš„è°ƒåº¦è¡Œä¸ºï¼Œä¾‹å¦‚è°ƒä¼˜å®žæ—¶ç³»ç»Ÿçš„æ€§èƒ½ã€å®žçŽ°å¤šçº§ä¼˜å…ˆçº§è°ƒåº¦ç­–ç•¥æˆ–ç‰¹æ®Šçš„ CPU 负载平衡算法。 +此次åˆå¹¶ä¹Ÿæ ‡å¿—ç€è°ƒåº¦ç­–略的一个é‡è¦è½¬å˜ï¼Œå³ä»Žä¼ ç»Ÿçš„内核模å—实现转å‘ç”¨æˆ·æ€ BPF 实现,使得调度策略的开å‘和迭代å˜å¾—更加快速和安全 + +官方的GitHub库在这里 +https://github.com/sched-ext/scx/tree/main + +在本次介ç»ä¹‹å‰ï¼Œæœ€å¥½å¯¹Linux调度器的架构有一定的了解, +这里分别是对task_struct的介ç»https://zhuanlan.zhihu.com/p/1114115706 +和对Linux调度器的介ç»https://zhuanlan.zhihu.com/p/1583765020 + + +## sched_ext相关组件 +总的æ¥è¯´ï¼ŒSCX机制涉åŠçš„ä»£ç æ–‡ä»¶ä¸»è¦åœ¨ä¸‰ä¸ªåœ°æ–¹ +- include/linux/sched/ext.h + - å†…æ ¸ä¸Žç”¨æˆ·çš„æŽ¥å£æ–‡ä»¶, 定义了ç»å¤§å¤šæ•°çš„å‡½æ•°æŽ¥å£ +- kernel/sched/ext.c + - å†…æ ¸æ‹“å±•è°ƒåº¦å™¨æ ¸å¿ƒä»£ç  +- tools/sched_ext + - 实现的 SCX è°ƒåº¦å™¨çš„ä¾‹å­ + +### sched_ext整体架构 +DEFINE_SCHED_CLASS是内核实现调度类时候用到的å®ï¼Œç±»æ¯”å¯ä»¥æƒ³æˆæ˜¯å¯¹sched_class这个虚类的具体实现,常è§çš„cfsã€rtã€dl调度器实现都用到了DEFINE_SCHED_CLASS, +而ext就是内核最新加入的“扩展调度器†+```c +DEFINE_SCHED_CLASS(ext) = { + .enqueue_task = enqueue_task_scx, // 将任务加入调度队列。 + .dequeue_task = dequeue_task_scx, // 从调度队列中移除任务。 + .yield_task = yield_task_scx, // 当å‰ä»»åŠ¡è®©å‡º CPU。 + .yield_to_task = yield_to_task_scx, // 让出 CPU 给特定任务。 + + .wakeup_preempt = wakeup_preempt_scx, // 唤醒任务时的抢å é€»è¾‘。 + + .balance = balance_scx, // è´Ÿè½½å‡è¡¡æ“作。 + .pick_task = pick_task_scx, // 选择下一个è¦è¿è¡Œçš„任务。 + + .put_prev_task = put_prev_task_scx, // 将当å‰ä»»åŠ¡åˆ‡æ¢å‡º CPU。 + .set_next_task = set_next_task_scx, // 设置è¦è¿è¡Œçš„下一个任务。 + +#ifdef CONFIG_SMP + .select_task_rq = select_task_rq_scx, // 在多处ç†å™¨ç³»ç»Ÿä¸­é€‰æ‹©ä»»åŠ¡è¿è¡Œé˜Ÿåˆ—。 + .task_woken = task_woken_scx, // 当任务被唤醒时调用。 + .set_cpus_allowed = set_cpus_allowed_scx, // 设置任务å¯ä»¥è¿è¡Œçš„ CPU 集。 + + .rq_online = rq_online_scx, // è¿è¡Œé˜Ÿåˆ—上线时的处ç†ã€‚ + .rq_offline = rq_offline_scx, // è¿è¡Œé˜Ÿåˆ—下线时的处ç†ã€‚ +#endif + + .task_tick = task_tick_scx, // 定时器周期内的任务更新。 + + .switching_to = switching_to_scx, // 切æ¢åˆ°æ–°çš„调度类时调用。 + .switched_from = switched_from_scx, // 从当å‰è°ƒåº¦ç±»åˆ‡æ¢èµ°æ—¶è°ƒç”¨ã€‚ + .switched_to = switched_to_scx, // 切æ¢åˆ°å½“å‰è°ƒåº¦ç±»æ—¶è°ƒç”¨ã€‚ + .reweight_task = reweight_task_scx, // 调整任务的æƒé‡ï¼ˆä¼˜å…ˆçº§ï¼‰ã€‚ + .prio_changed = prio_changed_scx, // 任务的优先级å‘生å˜åŒ–时调用。 + + .update_curr = update_curr_scx, // 更新当å‰ä»»åŠ¡çš„è¿è¡Œçжæ€ã€‚ + +#ifdef CONFIG_UCLAMP_TASK + .uclamp_enabled = 1, // å¯ç”¨ä»»åŠ¡çš„ Uclamp 支æŒï¼ˆç”¨æˆ·ç©ºé—´çš„ CPU 频率é™åˆ¶ï¼‰ã€‚ +#endif +}; +``` +上é¢çš„一系列调度类中的æˆå‘˜å‡½æ•°ï¼Œéƒ½å¯ä»¥åˆ©ç”¨sched_ext实现用户æ€çš„自定义,具体æ¥è¯´ï¼Œåœ¨sched_ext 的设计架构中, +ä»»æ„一个对结构体struct sched_ext_ops 的实现都å¯ä»¥è¢«è½½å…¥å†…核作为调度器,该结构体ä½äºŽ include/linux/sched/ext.h 中 + +```c +struct sched_ext_ops { + s32 (*select_cpu)(struct task_struct *p, s32 prev_cpu, u64 wake_flags); // Selects the target CPU for a waking task. + void (*enqueue)(struct task_struct *p, u64 enq_flags); // Adds a task to the BPF scheduler's queue. + void (*dequeue)(struct task_struct *p, u64 deq_flags); // Removes a task from the BPF scheduler's queue. + void (*dispatch)(s32 cpu, struct task_struct *prev); // Dispatches tasks or consumes dispatch queues when a CPU is idle. + void (*tick)(struct task_struct *p); // Periodic callback for task scheduling based on timer ticks. + bool (*yield)(struct task_struct *from, struct task_struct *to); // Handles task yielding to another task or general yielding. + void (*cpu_acquire)(s32 cpu, struct scx_cpu_acquire_args *args); // Called when a CPU becomes available to the scheduler. + void (*cpu_release)(s32 cpu, struct scx_cpu_release_args *args); // Called when a CPU is released from the scheduler. + s32 (*init_task)(struct task_struct *p, struct scx_init_task_args *args); // Initializes a task for BPF scheduling. + void (*exit_task)(struct task_struct *p, struct scx_exit_task_args *args); // Cleans up after a task exits. + void (*enable)(struct task_struct *p); // Enables BPF scheduling for a task. + void (*disable)(struct task_struct *p); // Disables BPF scheduling for a task. + + ... + + void (*cpu_online)(s32 cpu); // Called when a CPU becomes online. + void (*cpu_offline)(s32 cpu); // Called when a CPU goes offline. + s32 (*init)(void); // Initializes the BPF scheduler. + void (*exit)(struct scx_exit_info *info); // Cleans up the BPF scheduler on exit. + u64 flags; // Scheduler flags that define behavior. + + ... + + char name[SCX_OPS_NAME_LEN]; // Name of the BPF scheduler. +}; +``` +对于对于 scx 机制而言, å”¯ä¸€å¿…é¡»çš„å­—æ®µåªæœ‰.name 字段, å¹¶è¦æ±‚æ˜¯ä¸€ä¸ªåˆæ³•çš„ BPF 对象åç§°, 而其余所有的 operation 凿˜¯å¯é€‰çš„,内核中有默认实现, +对应的默认实现就是DEFINE_SCHED_CLASS(ext)中对应的函数 + +## sched_ext与内核的交互 +先从整体的æ¥çœ‹ï¼Œåœ¨ç®¡ç†task的范围æ¥çœ‹ï¼Œåœ¨ä¸Šé¢çš„sched_ext的调度类定义中,有个flags,当flags设置为SCX_OPS_SWITCH_PARTIAL时候, +此时调度的任务进为仅é™äºŽ SCHED_EXT 类型的任务,å¦åˆ™æ‰€æœ‰ SCHED_NORMALã€SCHED_BATCHã€SCHED_IDLE å’Œ SCHED_EXT 任务都由 sched_ext 调度。 +相当于把原æ¥cfs的管辖范围的任务都挪用到sched_ext里了 + +sched_ext的整体架构如下所示 +![img.png](img.png) + +### local DSQå’Œglobal DSQ +åŒå…¶ä»–调度器类似,在CPUçš„è¿è¡Œé˜Ÿåˆ—rq中也有个sched_extçš„è¿è¡Œé˜Ÿåˆ—scx_rq,但之åŽçš„部分,对比cfs的架构,è¦ç®€å•的多,在sched_ext中真正负责维护调度队列的, +是scx_dispatch_q的结构 +```c + * A dispatch queue (DSQ) can be either a FIFO or p->scx.dsq_vtime ordered + * queue. A built-in DSQ is always a FIFO. The built-in local DSQs are used to + * buffer between the scheduler core and the BPF scheduler. See the + * documentation for more details. + */ +struct scx_dispatch_q { + raw_spinlock_t lock; + struct list_head list; /* tasks in dispatch order */ + struct rb_root priq; /* used to order by p->scx.dsq_vtime */ + u32 nr; + u32 seq; /* used by BPF iter */ + u64 id; + struct rhash_head hash_node; + struct llist_node free_node; + struct rcu_head rcu; +}; +``` +这个结构也很简å•,最é‡è¦çš„就个list_headï¼Œå®ƒå­˜çš„æ˜¯ä¸‹ä¸€ä¸ªè¦æŒ‡å‘的任务,相当于一个链表维护了è¿è¡Œé˜Ÿåˆ—,是一个FIFO结构,这个结构是per-CPU的, +相当于是个local DSQ,与之对应的,全局也有一个global DSQ +```c +/* + * Dispatch queues. + * + * The global DSQ (%SCX_DSQ_GLOBAL) is split per-node for scalability. This is + * to avoid live-locking in bypass mode where all tasks are dispatched to + * %SCX_DSQ_GLOBAL and all CPUs consume from it. If per-node split isn't + * sufficient, it can be further split. + */ +static struct scx_dispatch_q **global_dsqs; +``` +- 全局调度队列(Global DSQ)用于存放所有待调度的任务。所有 CPU 都å¯ä»¥ä»Žè¿™ä¸ªé˜Ÿåˆ—中获å–ä»»åŠ¡æ¥æ‰§è¡Œ +- 为了æé«˜å¯æ‰©å±•性并防止在绕过模å¼ï¼ˆbypass mode)下å‘生活é”ï¼Œå°†å…¨å±€è°ƒåº¦é˜Ÿåˆ—æŒ‰èŠ‚ç‚¹æ‹†åˆ†ã€‚è¿™ç§æ‹†åˆ†æœ‰åŠ©äºŽé¿å…所有任务都排入åŒä¸€ä¸ªé˜Ÿåˆ—导致的竞争问题 +- 多个按节点划分的global DSQ。这些队列为ä¸åŒçš„节点分é…独立的任务队列,å‡å°‘了竞争,æé«˜äº†è°ƒåº¦çš„并呿€§èƒ½ + +### task_struct中的sched_ext_entity +æ¯ä¸ªè°ƒåº¦ç±»éƒ½æœ‰ä¸ªè°ƒåº¦å®žä½“æ¥ç²¾ç¡®åˆ°ä¸ªä½“任务进行调度,在sched_ext中就是sched_ext_entity +```c +struct sched_ext_entity { + struct scx_dispatch_q *dsq; // 任务所属的调度队列(DSQ)。 + struct scx_dsq_list_node dsq_list; // dsq_list 用于维护任务在这DSQ队列中的ä½ç½® + struct rb_node dsq_priq; // 按虚拟时间(vtime)排åºçš„红黑树节点。 + u32 dsq_seq; // DSQ 的调度åºåˆ—å·ã€‚ + u32 dsq_flags; // DSQ é”ä¿æŠ¤çš„æ ‡å¿—ä½ã€‚ + u32 flags; // è¿è¡Œé˜Ÿåˆ—(RQ)é”ä¿æŠ¤çš„æ ‡å¿—ä½ã€‚ + u32 weight; // 任务的æƒé‡ï¼Œç”¨äºŽä¼˜å…ˆçº§è®¡ç®—。 + s32 sticky_cpu; // å好 CPU,表示任务倾å‘于在哪个 CPU 上执行。 + s32 holding_cpu; // 当å‰ä»»åŠ¡å®žé™…å ç”¨çš„ CPU。 + u32 kf_mask; // 特殊调用æ“作的掩ç ã€‚ + struct task_struct *kf_tasks[2]; // 与调用æ“作相关的任务指针。 + atomic_long_t ops_state; // æ“作状æ€çš„原å­å˜é‡ã€‚ + + struct list_head runnable_node; // 用于将任务加入到è¿è¡Œé˜Ÿåˆ—çš„å¯è¿è¡Œä»»åŠ¡é“¾è¡¨ä¸­ã€‚è¿è¡Œé˜Ÿåˆ—(runqueue, rq)是一个 CPU 级别的结构,用于管ç†å½“å‰å¯ä»¥è°ƒåº¦çš„任务 + unsigned long runnable_at; // 任务å˜ä¸ºå¯è¿è¡Œçжæ€çš„æ—¶é—´ã€‚ + +#ifdef CONFIG_SCHED_CORE + u64 core_sched_at; // 核心调度的时间戳,用于优先级比较。 +#endif + u64 ddsp_dsq_id; // 延迟调度时的 DSQ ID。 + u64 ddsp_enq_flags; // 延迟调度时的入队标志。 + + /* BPF 调度器å¯ä¿®æ”¹çš„字段 */ + + u64 slice; // 任务的è¿è¡Œé¢„算(时间片),以纳秒为å•ä½ï¼Œè‡ªåЍ递å‡ã€‚ + + u64 dsq_vtime; // 在 DSQ çš„ vtime 优先级队列中的排åºå€¼ã€‚ + + bool disallow; // æ‹’ç»å°†ä»»åŠ¡åˆ‡æ¢åˆ° SCHED_EXT 策略的标志。 + + /* 冷字段 */ +#ifdef CONFIG_EXT_GROUP_SCHED + struct cgroup *cgrp_moving_from; // 正在è¿ç§»çš„ cgroup。 +#endif + struct list_head tasks_node; // 链表节点,用于任务的管ç†ï¼ˆå¿…须是最åŽä¸€ä¸ªå­—段)。 +}; +``` +介ç»åŸºæœ¬éƒ½åœ¨æ³¨é‡Šé‡Œäº†ï¼Œè¦æ³¨æ„的就是几个list_node,分别scx_dsq_list_node dsq_list记录任务在DSQçš„ä½ç½®ï¼Œ +还有list_head runnable_node用于记录rq当å‰è¿è¡Œçš„任务,方便schedule时候的æ“作 + +剩下的æ“作éšç€å…¶ä¸­å‡½æ•°çš„è®²è§£å†æ¥è¯´æ˜Ž + +### é‡è¦å‡½æ•° +之åŽä¸ºäº†æ–¹ä¾¿ï¼Œsched_ext都简写为scx +#### pick_task_scx +从__pick_next_task进入æ¥çœ‹ +```c +for_each_active_class(class) { + if (class->pick_next_task) { + p = class->pick_next_task(rq, prev); + if (p) + return p; + } else { + p = class->pick_task(rq); + if (p) { + put_prev_set_next_task(rq, prev, p); + return p; + } + } + } +``` +在é历调度类时候,å¯ä»¥å‘现scx就在cfsçš„ä¸‹é¢ +```c +#define SCHED_DATA \ + STRUCT_ALIGN(); \ + __sched_class_highest = .; \ + *(__stop_sched_class) \ + *(__dl_sched_class) \ + *(__rt_sched_class) \ + *(__fair_sched_class) \ + *(__ext_sched_class) \ + *(__idle_sched_class) \ + __sched_class_lowest = .; +``` +在上é¢å·²ç»è®²è¿‡äº†ï¼Œå½“自定义的scx未设置flag时候,cfs的任务都会进入scx的队列,此时当é历到__fair_sched_class会å‘现cfs队列是空的,进一步就会到scx调度类, +scxçš„pick_task就是pick_task_scx +```c +static struct task_struct *pick_task_scx(struct rq *rq) +{ + struct task_struct *prev = rq->curr; + struct task_struct *p; + + if ((rq->scx.flags & SCX_RQ_BAL_KEEP) && + prev->sched_class == &ext_sched_class) { + p = prev; + if (!p->scx.slice) + p->scx.slice = SCX_SLICE_DFL; + } else { + p = first_local_task(rq); + if (!p) + return NULL; + + if (unlikely(!p->scx.slice)) { + if (!scx_rq_bypassing(rq) && !scx_warned_zero_slice) { + printk_deferred(KERN_WARNING "sched_ext: %s[%d] has zero slice in %s()\n", + p->comm, p->pid, __func__); + scx_warned_zero_slice = true; + } + p->scx.slice = SCX_SLICE_DFL; + } + } + + return p; +} +``` +```shell +获å–当剿­£åœ¨è¿è¡Œçš„任务(prev = rq->curr) + │ + ├── 检查是å¦ç»§ç»­è¿è¡Œå½“å‰ä»»åŠ¡ï¼ˆrq->scx.flags & SCX_RQ_BAL_KEEP 且 prev->sched_class == &ext_sched_class) + │ │ + │ ├── 是:将 p 设置为 prev,并检查时间片(p->scx.slice) + │ │ │ + │ │ ├── 如果时间片为零,则é‡ç½®ä¸ºé»˜è®¤æ—¶é—´ç‰‡ï¼ˆSCX_SLICE_DFL) + │ │ │ + │ │ └── 返回 p + │ │ + │ └── å¦ï¼šä»Žæœ¬åœ° DSQ 中获å–第一个任务(p = first_local_task(rq)) + │ │ + │ ├── 如果 p 为 NULL,则返回 NULL(无å¯è°ƒåº¦ä»»åŠ¡ï¼‰ + │ │ + │ └── 检查时间片(p->scx.slice) + │ │ + │ ├── 如果时间片为零,å‘出警告并é‡ç½®ä¸ºé»˜è®¤æ—¶é—´ç‰‡ï¼ˆSCX_SLICE_DFL) + │ │ + │ └── 返回 p + │ +返回选中的任务(p) +``` + +#### consume_global_dsq +å¯ä»¥çœ‹åˆ°pick_task_fair中并没有涉åŠå…±äº«DSQ的任务,而负责将任务在DSQ间转移的,有下é¢è¿™äº›å‡½æ•° +```c +static bool consume_global_dsq(struct rq *rq) +{ + int node = cpu_to_node(cpu_of(rq)); + + return consume_dispatch_q(rq, global_dsqs[node]); +} +``` +这个函数中,核心的实现的consume_dispatch_q,consume_dispatch_q 函数的主è¦ç›®çš„æ˜¯ä»Žç»™å®šçš„调度队列(dsq)中å°è¯•消费一个任务并将其分é…到指定的è¿è¡Œé˜Ÿåˆ—(rq), +在consume_dispatch_q中,会å°è¯•å°†global DSQ中的任务都放到rq中,直到æˆåŠŸæ”¾ä¸Šä¸€ä¸ªä»»åŠ¡ä¸ºæ­¢ï¼Œç›¸å½“äºŽè¿™ä¸ªå’Œä¸Šé¢é‚£ä¸ªé…åˆä½¿ç”¨ï¼Œ +å½“è®¾è®¡è°ƒåº¦å™¨ä¸æ–¹ä¾¿ç›´æŽ¥é€‰æ‹©CPU分å±ä»»åŠ¡æ—¶å€™ï¼Œå¯ä»¥éƒ½å°†ä»»åŠ¡åˆ†é…到global DSQ,之åŽä¿è¯åœ¨æ¯æ¬¡çœŸæ­£è°ƒåº¦å‰éƒ½åˆ©ç”¨è¿™ä¸ªconsume_global_dsq让系统自己分é…任务给具体CPU的队列 +```c +static bool consume_dispatch_q(struct rq *rq, struct scx_dispatch_q *dsq) +{ + struct task_struct *p; +retry: + /* + * The caller can't expect to successfully consume a task if the task's + * addition to @dsq isn't guaranteed to be visible somehow. Test + * @dsq->list without locking and skip if it seems empty. + */ + if (list_empty(&dsq->list)) + return false; + + raw_spin_lock(&dsq->lock); + + // é历dsq中的任务p + nldsq_for_each_task(p, dsq) { + struct rq *task_rq = task_rq(p);// 找到当å‰ä»»åŠ¡çš„æ‰€åœ¨çš„rq + + if (rq == task_rq) { // 如果på·²ç»åœ¨ç›®æ ‡rq上 + task_unlink_from_dsq(p, dsq); // 把任务直接从dsq上扔掉 + move_local_task_to_local_dsq(p, 0, dsq, rq);// 把p移动到目标rqçš„dsq上 + raw_spin_unlock(&dsq->lock); + return true; + } + + if (task_can_run_on_remote_rq(p, rq, false)) { // 如果任务ä¸åœ¨ç›®æ ‡è¿è¡Œé˜Ÿåˆ—上,检查它是å¦å¯ä»¥åœ¨è¿œç¨‹è¿è¡Œé˜Ÿåˆ—上执行 + if (likely(consume_remote_task(rq, p, dsq, task_rq))) + return true; + goto retry; + } + } + + raw_spin_unlock(&dsq->lock); + return false; +} +``` + +```c +static bool consume_remote_task(struct rq *this_rq, struct task_struct *p, + struct scx_dispatch_q *dsq, struct rq *src_rq) +{ + raw_spin_rq_unlock(this_rq); + + if (unlink_dsq_and_lock_src_rq(p, dsq, src_rq)) { // 从调度队列(dsq)中解除任务 p 的链接 + move_remote_task_to_local_dsq(p, 0, src_rq, this_rq); // 将任务从æºè¿è¡Œé˜Ÿåˆ—(src_rq)移动到本地è¿è¡Œé˜Ÿåˆ—(this_rq) + return true; + } else { + raw_spin_rq_unlock(src_rq); + raw_spin_rq_lock(this_rq); + return false; + } +} +``` +```c +static void move_remote_task_to_local_dsq(struct task_struct *p, u64 enq_flags, + struct rq *src_rq, struct rq *dst_rq) +{ + lockdep_assert_rq_held(src_rq); + + /* the following marks @p MIGRATING which excludes dequeue */ + deactivate_task(src_rq, p, 0);// 这里核心就个dequeue_task(rq,p,flags),将任务p在æºrq中移除 + set_task_cpu(p, cpu_of(dst_rq));// 设置taskçš„CPU + p->scx.sticky_cpu = cpu_of(dst_rq); + + raw_spin_rq_unlock(src_rq); + raw_spin_rq_lock(dst_rq); + + /* + * We want to pass scx-specific enq_flags but activate_task() will + * truncate the upper 32 bit. As we own @rq, we can pass them through + * @rq->scx.extra_enq_flags instead. + */ + WARN_ON_ONCE(!cpumask_test_cpu(cpu_of(dst_rq), p->cpus_ptr)); + WARN_ON_ONCE(dst_rq->scx.extra_enq_flags); + dst_rq->scx.extra_enq_flags = enq_flags; + activate_task(dst_rq, p, 0);// 对应的,这里的核心就个equeue_task(rq,p,flags),将任务p放到目标的rq + dst_rq->scx.extra_enq_flags = 0; +} +``` +总结一下,是个这æµç¨‹ +```c +consume_global_dsq +| +|-- 调用 consume_dispatch_q (目标:global_dsqs[node]) // å°è¯•从全局调度队列获å–任务 + | + |-- consume_dispatch_q + | + |-- 检查 dsq 是å¦ä¸ºç©º + | | + | |-- 如果为空,返回 false // æ²¡æœ‰ä»»åŠ¡å¯æ¶ˆè´¹ + | + | + |-- é历 dsq 中的任务 p (nldsq_for_each_task) + | + |-- 检查任务 p 是å¦å·²ç»åœ¨ç›®æ ‡ rq 上 + | | + | |-- 如果是,将任务从 dsq 中移除,并移动到 rq 的本地 DSQ + | | | + | | |-- 调用 task_unlink_from_dsq // 解除任务与 dsq 的链接 + | | |-- 调用 move_local_task_to_local_dsq // 移动任务到本地队列 + | | + | |-- 释放é”并返回 true // æˆåŠŸæ¶ˆè´¹ä¸€ä¸ªä»»åŠ¡ + | + |-- 如果任务 p ä¸åœ¨ç›®æ ‡ rq 上,检查是å¦å¯ä»¥åœ¨ç›®æ ‡ rq è¿è¡Œ (task_can_run_on_remote_rq) + | + |-- 如果å¯ä»¥ï¼Œè°ƒç”¨ consume_remote_task // å°è¯•å°†ä»»åŠ¡ä»Žæº rq è¿ç§»åˆ°ç›®æ ‡ rq + | | + | |-- 释放目标 rq é”,å°è¯•èŽ·å–æº rq çš„é” (unlink_dsq_and_lock_src_rq) + | | + | |-- 如果æˆåŠŸè§£é™¤ä»»åŠ¡ä¸Ž dsq 的链接 + | | | + | | |-- 调用 move_remote_task_to_local_dsq // å°†ä»»åŠ¡ä»Žæº rq 移动到目标 rq + | | | + | | |-- deactivate_task // ä»Žæº rq 移除任务 + | | |-- set_task_cpu // 更新任务的 CPU 设置 + | | |-- activate_task // 将任务添加到目标 rq + | | + | |-- 返回 true 表示æˆåŠŸæ¶ˆè´¹ä¸€ä¸ªä»»åŠ¡ + | + |-- å¦‚æžœå¤±è´¥ï¼Œé‡æ–°å°è¯• (goto retry) + | + |-- é历结æŸä¸”未找到åˆé€‚的任务 // 所有任务都无法è¿ç§» + | + |-- 释放é”并返回 false // 任务消费失败 +``` + + +#### scx_bpf_dispatch +用于将任务分派到指定调度队列(DSQ)的函数。这个函数å¯ä»¥åœ¨ä¸åŒçš„回调函数中使用, +包括 ops.enqueue()ã€ops.select_cpu() å’Œ ops.dispatch()。它的主è¦åŠŸèƒ½æ˜¯å°†ä¸€ä¸ªä»»åŠ¡æ”¾å…¥æŒ‡å®šçš„ FIFO 队列,并设置任务的时间片 +```c +__bpf_kfunc void scx_bpf_dispatch(struct task_struct *p, u64 dsq_id, u64 slice, + u64 enq_flags) +{ + if (!scx_dispatch_preamble(p, enq_flags)) + return; + + if (slice) + p->scx.slice = slice; + else + p->scx.slice = p->scx.slice ?: 1; + + scx_dispatch_commit(p, dsq_id, enq_flags); +} +``` +- 首先调用 scx_dispatch_preamble æ£€æŸ¥æ˜¯å¦æ»¡è¶³åˆ†æ´¾æ¡ä»¶ã€‚å¦‚æžœä¸æ»¡è¶³ï¼Œå‡½æ•°ä¼šç›´æŽ¥è¿”回,ä¸è¿›è¡Œä»»åŠ¡åˆ†æ´¾ +- 设置任务的时间片 (slice) + - 如果æä¾›çš„ slice 值ä¸ä¸ºé›¶ï¼Œåˆ™å°†ä»»åŠ¡çš„æ—¶é—´ç‰‡è®¾ç½®ä¸ºè¯¥å€¼ã€‚ + - 如果 slice ä¸ºé›¶ï¼Œåˆ™ä¿æŒå½“å‰çš„å‰©ä½™æ—¶é—´ç‰‡ã€‚å¦‚æžœå½“å‰æ—¶é—´ç‰‡ä¹Ÿä¸ºé›¶ï¼Œå°†å…¶è®¾ç½®ä¸º 1,确ä¿ä»»åŠ¡æœ‰æ—¶é—´ç‰‡å¯ç”¨ +- æäº¤ä»»åŠ¡åˆ°æŒ‡å®šçš„ DSQ (scx_dispatch_commit) + +之åŽå®žé™…的任务分派由scx_dispatch_commitå®Œæˆ +```c +static void scx_dispatch_commit(struct task_struct *p, u64 dsq_id, u64 enq_flags) +{ + struct scx_dsp_ctx *dspc = this_cpu_ptr(scx_dsp_ctx); + struct task_struct *ddsp_task; + + ddsp_task = __this_cpu_read(direct_dispatch_task); + if (ddsp_task) { + mark_direct_dispatch(ddsp_task, p, dsq_id, enq_flags); + return; + } + + if (unlikely(dspc->cursor >= scx_dsp_max_batch)) { + scx_ops_error("dispatch buffer overflow"); + return; + } + + dspc->buf[dspc->cursor++] = (struct scx_dsp_buf_ent){ + .task = p, + .qseq = atomic_long_read(&p->scx.ops_state) & SCX_OPSS_QSEQ_MASK, + .dsq_id = dsq_id, + .enq_flags = enq_flags, + }; +} +``` +在其中涉åŠäº†scx_dsp_ctx,它主è¦å­˜å‚¨äº†å½“å‰è¿è¡Œé˜Ÿåˆ—的分派状æ€å’Œä»»åŠ¡è°ƒåº¦ä¿¡æ¯ï¼Œè¦è¡¥å……的是这个是per-CPUçš„ +```c +struct scx_dsp_ctx { + struct rq *rq; // å…³è”çš„è¿è¡Œé˜Ÿåˆ—(runqueue),表示任务调度的目标队列。 + u32 cursor; // åˆ†æ´¾ç¼“å†²åŒºçš„å½“å‰æŒ‡é’ˆï¼ŒæŒ‡å‘缓冲区中下一个å¯ç”¨çš„æ¡ç›®ã€‚ + u32 nr_tasks; // 当å‰è°ƒåº¦ä¸Šä¸‹æ–‡ä¸­éœ€è¦åˆ†æ´¾çš„任务数é‡ã€‚ + struct scx_dsp_buf_ent buf[]; // 分派缓冲区的数组,用于存储任务分派信æ¯ã€‚ +}; +``` +回到上é¢çš„scx_dispatch_commit,它会检查是å¦å­˜åœ¨ç›´æŽ¥åˆ†æ´¾çš„任务,检查是å¦å­˜åœ¨ç›´æŽ¥åˆ†æ´¾çš„任务则调用 mark_direct_dispatch。 + +ä¹‹åŽæ‰æ˜¯ä¸»è¦éƒ¨åˆ†ï¼Œæ£€æŸ¥ç¼“冲区,如果未满就将任务 p çš„ä¿¡æ¯æ·»åŠ åˆ°åˆ†æ´¾ç¼“å†²åŒºï¼ˆdspc->buf)中,并更新 cursor 指针 + +对于被压到bufferçš„ä»»åŠ¡ï¼Œä¹‹åŽæ˜¯é€šè¿‡finish_dispatch å’Œ flush_dispatch_buf 函数把任务具体加入队列的 +```c +static void flush_dispatch_buf(struct rq *rq) +{ + struct scx_dsp_ctx *dspc = this_cpu_ptr(scx_dsp_ctx); + u32 u; + + for (u = 0; u < dspc->cursor; u++) { + struct scx_dsp_buf_ent *ent = &dspc->buf[u]; + + finish_dispatch(rq, ent->task, ent->qseq, ent->dsq_id, + ent->enq_flags); + } + + dspc->nr_tasks += dspc->cursor; + dspc->cursor = 0; +} +``` +é历buffer中的任务,利用finish_dispatch将任务具体分派到队列中,finish_dispatch中会根æ®ä»»åŠ¡çš„çŠ¶æ€è¿›è¡Œä¸€äº›åˆ¤æ–­æˆ–预处ç†ï¼Œ +ä¹‹åŽæ ¹æ®DSQçš„id,用dispatch_to_local_dsq分派到CPU本地队列或者用dispatch_enqueue将任务加入到全局队列 + +#### scx_bpf_consume + 用于从指定的调度队列(DSQ)中消费任务,并å°è¯•å°†å…¶åˆ†æ´¾åˆ°å½“å‰ CPU çš„è¿è¡Œé˜Ÿåˆ— + +è¿™é‡Œç¬¬ä¸€æ­¥å°±æ˜¯ä¸Šé¢æåˆ°çš„ï¼Œå…ˆæ¸…ç©ºbuffer,把里é¢ä»»åŠ¡éƒ½åˆ†æ´¾å‡ºåŽ»ï¼Œä¹‹åŽæ ¹æ®è¿™ä¸ªDSQçš„id找到DSQ,将DSQ的任务æ¬åˆ°CPUçš„rq中 +```c +__bpf_kfunc bool scx_bpf_consume(u64 dsq_id) +{ + struct scx_dsp_ctx *dspc = this_cpu_ptr(scx_dsp_ctx); + struct scx_dispatch_q *dsq; + + if (!scx_kf_allowed(SCX_KF_DISPATCH)) + return false; + + flush_dispatch_buf(dspc->rq); + + dsq = find_user_dsq(dsq_id); + if (unlikely(!dsq)) { + scx_ops_error("invalid DSQ ID 0x%016llx", dsq_id); + return false; + } + + if (consume_dispatch_q(dspc->rq, dsq)) { + /* + * A successfully consumed task can be dequeued before it starts + * running while the CPU is trying to migrate other dispatched + * tasks. Bump nr_tasks to tell balance_scx() to retry on empty + * local DSQ. + */ + dspc->nr_tasks++; + return true; + } else { + return false; + } +} +``` + +#### scx_bpf_kick_cpu + scx_bpf_kick_cpu å‡½æ•°çš„ä½œç”¨æ˜¯è§¦å‘æŸä¸ª CPU 釿–°è°ƒåº¦ï¼ˆrescheduling)。这个函数å¯ä»¥ç”¨äºŽå”¤é†’一个空闲的 CPU 或者让一个忙碌的 CPU 釿–°è¿›è¡Œä»»åŠ¡è°ƒåº¦ã€‚ +è°ƒç”¨æ­¤å‡½æ•°ä¼šå°†å®žé™…çš„è°ƒåº¦è§¦å‘æ“作通过中断工作(irq work)异步执行,以é¿å…é”的问题。 +```c +__bpf_kfunc void scx_bpf_kick_cpu(s32 cpu, u64 flags) +{ + struct rq *this_rq; + unsigned long irq_flags; + + if (!ops_cpu_valid(cpu, NULL)) + return; + + local_irq_save(irq_flags); + + this_rq = this_rq(); + + /* + * While bypassing for PM ops, IRQ handling may not be online which can + * lead to irq_work_queue() malfunction such as infinite busy wait for + * IRQ status update. Suppress kicking. + */ + // 如果当å‰è¿è¡Œé˜Ÿåˆ—处于绕过模å¼ï¼ˆscx_rq_bypassingï¼‰ï¼Œè·³è¿‡è°ƒåº¦è§¦å‘ + // 因为在绕过模å¼ä¸‹å¯èƒ½ä¸é€‚åˆè¿›è¡Œ IRQ æ“作,å¯èƒ½å¯¼è‡´ irq_work_queue 出现问题 + if (scx_rq_bypassing(this_rq)) + goto out; + + /* + * Actual kicking is bounced to kick_cpus_irq_workfn() to avoid nesting + * rq locks. We can probably be smarter and avoid bouncing if called + * from ops which don't hold a rq lock. + */ + // 处ç†ç©ºé—² CPU 的调度请求 + if (flags & SCX_KICK_IDLE) { + struct rq *target_rq = cpu_rq(cpu); + + if (unlikely(flags & (SCX_KICK_PREEMPT | SCX_KICK_WAIT))) + scx_ops_error("PREEMPT/WAIT cannot be used with SCX_KICK_IDLE"); + + if (raw_spin_rq_trylock(target_rq)) { + if (can_skip_idle_kick(target_rq)) { + raw_spin_rq_unlock(target_rq); + goto out; + } + raw_spin_rq_unlock(target_rq); + } + cpumask_set_cpu(cpu, this_rq->scx.cpus_to_kick_if_idle);// 将该 CPU 添加到 this_rq->scx.cpus_to_kick_if_idle 掩ç ä¸­ï¼Œè¡¨ç¤ºéœ€è¦å”¤é†’空闲 CPU + } else {// 处ç†éžç©ºé—²çš„调度请求 + cpumask_set_cpu(cpu, this_rq->scx.cpus_to_kick);// 如果标志ä¸åŒ…å« SCX_KICK_IDLE,将目标 CPU 添加到 this_rq->scx.cpus_to_kick 掩ç ä¸­ + + if (flags & SCX_KICK_PREEMPT)// å¦‚æžœåŒ…å« SCX_KICK_PREEMPT 标志,将目标 CPU 添加到 cpus_to_preempt,表示需è¦è§¦å‘抢å è°ƒåº¦ + cpumask_set_cpu(cpu, this_rq->scx.cpus_to_preempt); + if (flags & SCX_KICK_WAIT)// å¦‚æžœåŒ…å« SCX_KICK_WAIT 标志,将目标 CPU 添加到 cpus_to_wait,表示需è¦ç­‰å¾…å®Œæˆ + cpumask_set_cpu(cpu, this_rq->scx.cpus_to_wait); + } + + irq_work_queue(&this_rq->scx.kick_cpus_irq_work); +out: + local_irq_restore(irq_flags); +} +``` + +## æ ‡å¿—ä½ +1. scx_exit_kind:用于在调度器中标记ä¸åŒçš„退出æ¡ä»¶ï¼Œä»¥ä¾¿è°ƒåº¦å™¨å¯ä»¥æ ¹æ®ä¸åŒçš„é€€å‡ºåŽŸå› è¿›è¡Œç›¸åº”çš„å¤„ç†æˆ–错误报告 +```c +enum scx_exit_kind { + SCX_EXIT_NONE, // 没有退出状æ€ï¼Œè¡¨ç¤ºè°ƒåº¦å™¨æ²¡æœ‰å‘生退出或终止。 + SCX_EXIT_DONE, // 正常退出,表示调度器æ“作已ç»å®Œæˆã€‚ + + SCX_EXIT_UNREG = 64, // 用户空间å‘起的调度器注销请求。 + SCX_EXIT_UNREG_BPF, // ç”± BPF 触å‘的调度器注销。 + SCX_EXIT_UNREG_KERN, // 内核å‘起的调度器注销æ“作。 + SCX_EXIT_SYSRQ, // ç”± SysRq 键盘命令 'S' 触å‘的调度器退出。 + + SCX_EXIT_ERROR = 1024, // è¿è¡Œæ—¶å‘生错误,具体的错误信æ¯ä¼šåŒ…å«åœ¨é”™è¯¯æ¶ˆæ¯ä¸­ã€‚ + SCX_EXIT_ERROR_BPF, // 通过调用 scx_bpf_error() 触å‘çš„è¿è¡Œæ—¶é”™è¯¯ã€‚ + SCX_EXIT_ERROR_STALL, // 看门狗检测到有任务å¡ä½ï¼Œå¯¼è‡´è°ƒåº¦å™¨è¶…时退出。 +}; +``` +2. scx_ops_flags:调度类中的flag,调度器的选项,用于控制调度行为ã€ä»»åŠ¡çš„ç®¡ç†æ–¹å¼ä»¥åŠç³»ç»Ÿèµ„æºçš„调度策略 +```c +/* sched_ext_ops.flags */ +enum scx_ops_flags { + /* + * SCX_OPS_KEEP_BUILTIN_IDLE: ä¿ç•™å†…置的空闲状æ€è·Ÿè¸ªï¼Œå³ä½¿å®žçŽ°äº† ops.update_idle()。 + */ + SCX_OPS_KEEP_BUILTIN_IDLE = 1LLU << 0, + + /* + * SCX_OPS_ENQ_LAST: 默认情况下,当没有其他任务å¯è¿è¡Œæ—¶ï¼Œè°ƒåº¦æ ¸å¿ƒä¼šç»§ç»­è¿è¡Œ + * 当å‰ä»»åŠ¡ï¼Œå³ä½¿æ—¶é—´ç‰‡å·²è€—尽。如果设置了此标志,这些任务将以 %SCX_ENQ_LAST 标志 + * 的方å¼ä¼ é€’ç»™ ops.enqueue()ï¼Œç”¨äºŽé‡æ–°è°ƒåº¦ã€‚ + */ + SCX_OPS_ENQ_LAST = 1LLU << 1, + + /* + * SCX_OPS_ENQ_EXITING: 当任务å³å°†é€€å‡ºæ—¶ï¼Œå³ä½¿è®¾ç½®äº† PF_EXITING,它å¯èƒ½ä»ä¼šè¢«è°ƒåº¦ã€‚ + * 如果调度器ä¾èµ–于 PID 查找(例如 bpf_task_from_pid()),而 BPF 调度器无法找到该任务, + * å¯èƒ½ä¼šå¯¼è‡´ä»»åŠ¡ä¸¢å¤±æˆ– RCU 的延迟。设置此标志å¯ä»¥å¤„ç†æ­¤é—®é¢˜ï¼Œå°†æœªæ‰¾åˆ°çš„任务自动 + * 加入到本地 DSQ。 + */ + SCX_OPS_ENQ_EXITING = 1LLU << 2, + + /* + * SCX_OPS_SWITCH_PARTIAL: 如果设置了此标志,仅具有 SCHED_EXT 策略的任务æ‰ä¼šé™„加到 + * sched_ext 调度器。å¦åˆ™ï¼ŒSCHED_NORMAL 任务也将包å«åœ¨å†…。 + */ + SCX_OPS_SWITCH_PARTIAL = 1LLU << 3, + + /* + * SCX_OPS_HAS_CGROUP_WEIGHT: æ”¯æŒ CPU cgroup æƒé‡è®¾ç½®ï¼ˆå¦‚ cpu.weight)。 + */ + SCX_OPS_HAS_CGROUP_WEIGHT = 1LLU << 16, + + /* + * SCX_OPS_ALL_FLAGS: åŒ…å«æ‰€æœ‰çš„æ ‡å¿—ä½ç»„åˆï¼Œæ–¹ä¾¿è¿›è¡Œæ•´ä½“æ“作的设置和检查。 + */ + SCX_OPS_ALL_FLAGS = SCX_OPS_KEEP_BUILTIN_IDLE | + SCX_OPS_ENQ_LAST | + SCX_OPS_ENQ_EXITING | + SCX_OPS_SWITCH_PARTIAL | + SCX_OPS_HAS_CGROUP_WEIGHT, +}; +``` +3. scx_wake_flags:唤醒标志æä¾›äº†ä¸åŒçš„任务唤醒情境信æ¯ï¼Œå¸®åŠ©è°ƒåº¦å™¨æ ¹æ®ä¸åŒçš„å”¤é†’æ¥æºåšå‡ºè°ƒåº¦å†³ç­– +```c +enum scx_wake_flags { + SCX_WAKE_FORK = WF_FORK, // 当任务因为 fork æ“作被唤醒时使用的标志。 + SCX_WAKE_TTWU = WF_TTWU, // 用于表示任务在 TTWU(Try To Wake Up)时的唤醒标志。 + SCX_WAKE_SYNC = WF_SYNC, // è¡¨ç¤ºåŒæ­¥å”¤é†’的标志。 +}; +``` + +4. scx_enq_flagsï¼šå…¥é˜Ÿæ ‡å¿—ä½ +```c +enum scx_enq_flags { + /* expose select ENQUEUE_* flags as enums */ + SCX_ENQ_WAKEUP = ENQUEUE_WAKEUP, // 表示任务因唤醒事件而被加入队列。 + SCX_ENQ_HEAD = ENQUEUE_HEAD, // 将任务æ’入队列的头部。 + SCX_ENQ_CPU_SELECTED = ENQUEUE_RQ_SELECTED, // 指示任务已选择一个特定的 CPU。 + + /* high 32bits are SCX specific */ + + /* + * SCX_ENQ_PREEMPT: 当调用 scx_bpf_dispatch() 并将本地 DSQ 作为目标时, + * è®¾ç½®æ­¤æ ‡å¿—ä¼šè§¦å‘æŠ¢å ã€‚当å‰ä»»åŠ¡çš„æ—¶é—´ç‰‡å°†è¢«æ¸…é›¶ï¼Œå¹¶ä¸”ä¼šå¼ºåˆ¶ CPU 进入调度路径。 + * 此标志éšå« SCX_ENQ_HEAD。 + */ + SCX_ENQ_PREEMPT = 1LLU << 32, + + /* + * SCX_ENQ_REENQ: 当任务先å‰å·²è¢«åŠ å…¥åˆ°å½“å‰ CPU çš„ SCX_DSQ_LOCAL 并被 + * bpf_scx_reenqueue_local() 移除时使用。如果此æ“作在 ->cpu_release() 回调 + * ä¸­æ‰§è¡Œï¼Œå¹¶ä¸”ä»»åŠ¡å†æ¬¡é€šè¿‡å½“å‰çš„ ->enqueue() 加入到 SCX_LOCAL_DSQ, + * 则任务ä¸ä¼šç«‹å³è¢«è°ƒåº¦ï¼Œç›´åˆ°ä¸‹ä¸€æ¬¡ ->cpu_acquire() 回调被调用。 + */ + SCX_ENQ_REENQ = 1LLU << 40, + + /* + * SCX_ENQ_LAST: 当队列中唯一的任务被加入时设置此标志。默认情况下,ext 核心 + * 会继续执行这些任务,但如果指定了 SCX_OPS_ENQ_LAST,这些任务会被标记为 + * SCX_ENQ_LAST,并传递给 ops.enqueue()。BPF 调度器需è¦è´Ÿè´£è§¦å‘åŽç»­çš„调度事件, + * å¦åˆ™æ‰§è¡Œå¯èƒ½ä¼šåœæ»žã€‚ + */ + SCX_ENQ_LAST = 1LLU << 41, + + /* high 8 bits are internal */ + __SCX_ENQ_INTERNAL_MASK = 0xffLLU << 56, // å†…éƒ¨ä½¿ç”¨çš„é«˜ä½æŽ©ç ã€‚ + + SCX_ENQ_CLEAR_OPSS = 1LLU << 56, // 清除 ops 状æ€ã€‚ + SCX_ENQ_DSQ_PRIQ = 1LLU << 57, // 任务被加入到优先队列。 +}; +``` +5. scx_deq_flagsï¼šå‡ºé˜Ÿæ ‡å¿—ä½ +```c +enum scx_deq_flags { + /* expose select DEQUEUE_* flags as enums */ + SCX_DEQ_SLEEP = DEQUEUE_SLEEP, // 任务因ç¡çœ äº‹ä»¶è¢«ç§»å‡ºé˜Ÿåˆ—。 + + /* high 32bits are SCX specific */ + + /* + * SCX_DEQ_CORE_SCHED_EXEC: 当通用的 core-sched 层决定执行任务时, + * å³ä½¿ä»»åŠ¡å°šæœªè¢«åˆ†æ´¾ï¼Œä¹Ÿä¼šä»Ž BPF 侧将任务移出队列。 + */ + SCX_DEQ_CORE_SCHED_EXEC = 1LLU << 32, +}; +``` +6. scx_ent_flags调度实体标志ä½ï¼Œå’Œscx_task_stateä»»åŠ¡çŠ¶æ€ +```c +/* scx_entity.flags */ +enum scx_ent_flags { + SCX_TASK_QUEUED = 1 << 0, // 任务在 sched_ext çš„è¿è¡Œé˜Ÿåˆ—中。 + SCX_TASK_RESET_RUNNABLE_AT = 1 << 2, // 需è¦é‡ç½® runnable_at 时间戳。 + SCX_TASK_DEQD_FOR_SLEEP = 1 << 3, // 任务最åŽä¸€æ¬¡å‡ºé˜Ÿæ˜¯å› ä¸ºè¿›å…¥ SLEEP 状æ€ã€‚ + + SCX_TASK_STATE_SHIFT = 8, // 用于存储任务状æ€çš„ä½ç§»é‡ï¼Œä½ 8 å’Œ 9 用æ¥è¡¨ç¤ºä»»åŠ¡çŠ¶æ€ã€‚ + SCX_TASK_STATE_BITS = 2, // 用于任务状æ€çš„使•°ï¼ˆ2 ä½ï¼‰ã€‚ + SCX_TASK_STATE_MASK = ((1 << SCX_TASK_STATE_BITS) - 1) << SCX_TASK_STATE_SHIFT, // 用于æå–任务状æ€çš„æŽ©ç ã€‚ + + SCX_TASK_CURSOR = 1 << 31, // 用作迭代光标,ä¸è¡¨ç¤ºä¸€ä¸ªå®žé™…的任务。 +}; + +/* scx_entity.flags & SCX_TASK_STATE_MASK */ +enum scx_task_state { + SCX_TASK_NONE, // ops.init_task() 尚未被调用。 + SCX_TASK_INIT, // ops.init_task() æˆåŠŸï¼Œä½†ä»»åŠ¡å¯ä»¥è¢«å–消。 + SCX_TASK_READY, // 任务已完全åˆå§‹åŒ–,但尚未进入 sched_ext。 + SCX_TASK_ENABLED, // 任务已完全åˆå§‹åŒ–并在 sched_ext 中。 + + SCX_TASK_NR_STATES, // çŠ¶æ€æ€»æ•°ï¼Œç”¨äºŽè®¡æ•°å’Œè¾¹ç•Œæ£€æŸ¥ã€‚ +}; +``` +7. scx_dsq_id_flags:DSQçš„idçš„flagå’Œidæ ¼å¼ +```c +/* + * DSQ (dispatch queue) IDs are 64bit of the format: + * + * Bits: [63] [62 .. 0] + * [ B] [ ID ] + * + * B: 1 for IDs for built-in DSQs, 0 for ops-created user DSQs + * ID: 63-bit ID + * + * Built-in IDs: + * + * Bits: [63] [62] [61..32] [31 .. 0] + * [ 1] [ L] [ R ] [ V ] + * + * 1: 1 for built-in DSQs. + * L: 1 for LOCAL_ON DSQ IDs, 0 for others + * V: For LOCAL_ON DSQ IDs, a CPU number. For others, a pre-defined value. + */ +enum scx_dsq_id_flags { + SCX_DSQ_FLAG_BUILTIN = 1LLU << 63, // 标记为内置的 DSQ ID + SCX_DSQ_FLAG_LOCAL_ON = 1LLU << 62, // 标记为 LOCAL_ON 类型的 DSQ + + SCX_DSQ_INVALID = SCX_DSQ_FLAG_BUILTIN | 0, // 无效的 DSQ ID + SCX_DSQ_GLOBAL = SCX_DSQ_FLAG_BUILTIN | 1, // 全局 DSQ + SCX_DSQ_LOCAL = SCX_DSQ_FLAG_BUILTIN | 2, // 本地 DSQ + SCX_DSQ_LOCAL_ON = SCX_DSQ_FLAG_BUILTIN | SCX_DSQ_FLAG_LOCAL_ON, // 本地 CPU 特定的 DSQ + SCX_DSQ_LOCAL_CPU_MASK = 0xffffffffLLU, // 用于æå– CPU ç¼–å·çš„æŽ©ç  +}; +``` + + diff --git a/Document/sched_ext/scx_cpu10.txt b/Document/sched_ext/scx_cpu10.txt new file mode 100644 index 0000000..6cf0c5f --- /dev/null +++ b/Document/sched_ext/scx_cpu10.txt @@ -0,0 +1,71 @@ +1us,4us,16us,64us,256us,1ms,4ms,4ms+ +0,183,895,1423,118,111,147,397 +0,204,1074,2218,374,205,208,568 +0,213,1167,2619,630,268,263,759 +0,218,1222,2779,818,458,382,1106 +0,222,1282,2998,929,519,404,1335 +0,226,1310,3094,1033,570,418,1523 +0,231,1390,3276,1190,585,428,1628 +0,233,1440,3426,1293,614,445,1789 +0,234,1503,3563,1441,632,470,1939 +0,237,1552,3726,1547,650,481,2117 +0,239,1587,3908,1664,669,500,2309 +0,245,1668,4057,1816,682,514,2462 +0,248,1758,4274,2001,704,520,2633 +0,250,1797,4422,2082,727,532,2782 +0,256,1882,4558,2289,755,543,2938 +0,261,1961,4755,2450,776,558,3091 +0,267,2041,4919,2651,803,578,3283 +0,275,2100,5073,2792,821,591,3406 +0,290,2188,5296,2917,837,600,3570 +0,298,2257,5443,3039,860,616,3709 +0,301,2306,5584,3156,876,624,3903 +0,304,2373,5788,3256,904,640,4086 +0,310,2476,6003,3412,928,665,4327 +0,315,2551,6150,3577,943,679,4465 +0,335,2633,6292,3724,982,691,4622 +0,347,2704,6428,3849,1009,704,4755 +0,352,2780,6579,3956,1029,717,4897 +0,360,2840,6726,4048,1049,728,5040 +0,367,2919,6852,4167,1081,745,5202 +0,374,2993,6960,4266,1122,759,5329 +0,384,3048,7125,4343,1157,770,5553 +0,392,3118,7282,4468,1177,776,5672 +0,413,3209,7437,4628,1206,787,5869 +0,417,3255,7566,4715,1220,794,5969 +0,420,3325,7738,4841,1239,804,6151 +0,429,3394,7909,5061,1318,818,6348 +0,442,3466,8071,5154,1349,835,6529 +0,451,3555,8242,5243,1379,841,6655 +0,459,3617,8435,5417,1401,860,6857 +0,463,3686,8551,5535,1420,862,7007 +0,471,3741,8718,5641,1441,887,7175 +0,477,3820,8869,5778,1474,909,7338 +0,488,3927,9009,5976,1507,929,7509 +0,493,3990,9180,6114,1535,942,7653 +0,496,4038,9314,6259,1549,952,7817 +0,501,4106,9478,6411,1580,960,7957 +0,509,4174,9625,6596,1611,972,8141 +0,511,4211,9757,6749,1631,979,8288 +0,513,4282,9948,6899,1696,1047,8495 +0,520,4345,10100,7028,1717,1055,8610 +0,525,4425,10287,7165,1744,1062,8785 +0,534,4536,10614,7361,1804,1098,8881 +0,552,4691,10965,7480,1838,1123,9062 +0,562,4856,11193,7651,1869,1135,9236 +0,573,5086,11445,7866,1906,1152,9549 +0,579,5313,11698,8026,1951,1165,9838 +0,588,5516,12015,8242,2016,1193,10104 +0,594,5634,12230,8371,2041,1211,10278 +0,603,5763,12409,8549,2069,1225,10493 +0,606,5837,12627,8677,2099,1241,10665 +0,616,5925,12841,8845,2119,1252,10832 +0,620,5997,12955,8978,2136,1265,10927 +0,627,6155,13257,9181,2163,1275,11125 +0,639,6209,13417,9374,2180,1283,11155 +0,642,6251,13554,9713,2194,1287,11171 +0,651,6296,13793,10115,2209,1295,11246 +0,658,6346,13889,10314,2213,1301,11289 +0,663,6389,13956,10490,2235,1309,11330 +0,670,6438,14097,10673,2262,1317,11388 +0,677,6495,14166,10890,2298,1335,11435 diff --git a/Document/sched_ext/scx_cpu10_mask.txt b/Document/sched_ext/scx_cpu10_mask.txt new file mode 100644 index 0000000..1d9cbc1 --- /dev/null +++ b/Document/sched_ext/scx_cpu10_mask.txt @@ -0,0 +1,208 @@ +Masks +---------------------------------------- +PRIMARY ( 0): | ---------------- | +RESERVED ( 0): | ---------------- | +OTHER ( 0): | ---------------- | +IDLE ( 0): | ---------------- | +Masks +---------------------------------------- +PRIMARY ( 0): | ---------------- | +RESERVED ( 0): | ---------------- | +OTHER ( 0): | ---------------- | +IDLE ( 0): | ---------------- | +Masks +---------------------------------------- +PRIMARY ( 9): | -****-**-*---**- { | +RESERVED ( 6): | *----*--*-***--- { | +OTHER ( 1): | ---------------* { | +IDLE ( 4): | *----*----*----* { | +Masks +---------------------------------------- +PRIMARY ( 9): | -****-**-*---**-H { | +RESERVED ( 6): | *----*--*-***---H { | +OTHER ( 1): | ---------------*H { | +IDLE ( 4): | *----*----*----*H { | +Masks +---------------------------------------- +PRIMARY (16): | ****************  { | +RESERVED ( 0): | ----------------  { | +OTHER ( 0): | ----------------  { | +IDLE ( 0): | ----------------  { | +Masks +---------------------------------------- +PRIMARY (16): | **************** + { | +RESERVED ( 0): | ---------------- + { | +OTHER ( 0): | ---------------- + { | +IDLE ( 0): | ---------------- + { | +Masks +---------------------------------------- +PRIMARY (16): | ****************  { | +RESERVED ( 0): | ----------------  { | +OTHER ( 0): | ----------------  { | +IDLE ( 0): | ----------------  { | +Masks +---------------------------------------- +PRIMARY (16): | **************** ( { | +RESERVED ( 0): | ---------------- ( { | +OTHER ( 0): | ---------------- ( { | +IDLE ( 0): | ---------------- ( { | +Masks +---------------------------------------- +PRIMARY (16): | **************** : { | +RESERVED ( 0): | ---------------- : { | +OTHER ( 0): | ---------------- : { | +IDLE ( 0): | ---------------- : { | +Masks +---------------------------------------- +PRIMARY (16): | **************** D { | +RESERVED ( 0): | ---------------- D { | +OTHER ( 0): | ---------------- D { | +IDLE ( 0): | ---------------- D { | +Masks +---------------------------------------- +PRIMARY (14): | -**********-****xN { | +RESERVED ( 2): | *----------*----xN { | +OTHER ( 0): | ----------------xN { | +IDLE ( 0): | ----------------xN { | +Masks +---------------------------------------- +PRIMARY (14): | -**********-****X_ { | +RESERVED ( 2): | *----------*----X_ { | +OTHER ( 0): | ----------------X_ { | +IDLE ( 0): | ----------------X_ { | +Masks +---------------------------------------- +PRIMARY (10): | *-*-***---*-**** g { | +RESERVED ( 6): | -*-*---***-*---- g { | +OTHER ( 0): | ---------------- g { | +IDLE ( 3): | ---*-----*--*--- g { | +Masks +---------------------------------------- +PRIMARY (10): | *-*-***---*-**** x { | +RESERVED ( 6): | -*-*---***-*---- x { | +OTHER ( 0): | ---------------- x { | +IDLE ( 3): | ---*-----*--*--- x { | +Masks +---------------------------------------- +PRIMARY (12): | **-****--**-****P { | +RESERVED ( 4): | --*----**--*----P { | +OTHER ( 0): | ----------------P { | +IDLE ( 3): | --*-*------*----P { | +Masks +---------------------------------------- +PRIMARY (12): | **-****--**-**** { | +RESERVED ( 4): | --*----**--*---- { | +OTHER ( 0): | ---------------- { | +IDLE ( 3): | --*-*------*---- { | +Masks +---------------------------------------- +PRIMARY (14): | **-**********-**8 { | +RESERVED ( 2): | --*----------*--8 { | +OTHER ( 0): | ----------------8 { | +IDLE ( 0): | ----------------8 { | +Masks +---------------------------------------- +PRIMARY (14): | **-**********-**è° { | +RESERVED ( 2): | --*----------*--è° { | +OTHER ( 0): | ----------------è° { | +IDLE ( 0): | ----------------è° { | +Masks +---------------------------------------- +PRIMARY (14): | -************-**X { | +RESERVED ( 2): | *------------*--X { | +OTHER ( 0): | ----------------X { | +IDLE ( 0): | ----------------X { | +Masks +---------------------------------------- +PRIMARY (14): | -************-**0à { | +RESERVED ( 2): | *------------*--0à { | +OTHER ( 0): | ----------------0à { | +IDLE ( 0): | ----------------0à { | +Masks +---------------------------------------- +PRIMARY (10): | **-***-**-*-**--@Ñ { | +RESERVED ( 6): | --*---*--*-*--**@Ñ { | +OTHER ( 0): | ----------------@Ñ { | +IDLE ( 5): | --*---*----*--**@Ñ { | +Masks +---------------------------------------- +PRIMARY (10): | **-***-**-*-**--Pß { | +RESERVED ( 6): | --*---*--*-*--**Pß { | +OTHER ( 0): | ----------------Pß { | +IDLE ( 5): | --*---*----*--**Pß { | +Masks +---------------------------------------- +PRIMARY (10): | **---***-*-***-* { | +RESERVED ( 6): | --***---*-*---*- { | +OTHER ( 0): | ---------------- { | +IDLE ( 4): | --*-*---*-*----- { | +Masks +---------------------------------------- +PRIMARY (10): | **---***-*-***-* { | +RESERVED ( 6): | --***---*-*---*- { | +OTHER ( 0): | ---------------- { | +IDLE ( 4): | --*-*---*-*----- { | +Masks +---------------------------------------- +PRIMARY (12): | -*-**-********-*H { | +RESERVED ( 4): | *-*--*--------*-H { | +OTHER ( 0): | ----------------H { | +IDLE ( 3): | --*--*--------*-H { | +Masks +---------------------------------------- +PRIMARY (12): | -*-**-********-*  { | +RESERVED ( 4): | *-*--*--------*-  { | +OTHER ( 0): | ----------------  { | +IDLE ( 3): | --*--*--------*-  { | +Masks +---------------------------------------- +PRIMARY (15): | -***************  { | +RESERVED ( 1): | *---------------  { | +OTHER ( 0): | ----------------  { | +IDLE ( 0): | ----------------  { | +Masks +---------------------------------------- +PRIMARY (15): | -***************p( { | +RESERVED ( 1): | *---------------p( { | +OTHER ( 0): | ----------------p( { | +IDLE ( 0): | ----------------p( { | +Masks +---------------------------------------- +PRIMARY (15): | **-************* 6 { | +RESERVED ( 1): | --*------------- 6 { | +OTHER ( 0): | ---------------- 6 { | +IDLE ( 0): | ---------------- 6 { | +Masks +---------------------------------------- +PRIMARY (15): | **-************* A { | +RESERVED ( 1): | --*------------- A { | +OTHER ( 0): | ---------------- A { | +IDLE ( 0): | ---------------- A { | +Masks +---------------------------------------- +PRIMARY (12): | -**-***-***-****s | +RESERVED ( 4): | *--*---*---*----s | +OTHER ( 0): | ----------------s | +IDLE ( 5): | **-*---*-*------s | +Masks +---------------------------------------- +PRIMARY (12): | -**-***-***-**** | +RESERVED ( 4): | *--*---*---*---- | +OTHER ( 0): | ---------------- | +IDLE ( 5): | **-*---*-*------ | +Masks +---------------------------------------- +PRIMARY ( 7): | -*-----****-*--* | +RESERVED ( 8): | *-*****----*-*-- | +OTHER ( 1): | --------------*- | +IDLE ( 0): | ---------------- | +Masks +---------------------------------------- +PRIMARY ( 7): | -*-----****-*--* | +RESERVED ( 8): | *-*****----*-*-- | +OTHER ( 1): | --------------*- | +IDLE ( 0): | ---------------- | diff --git a/Document/sched_ext/scx_cpu30.txt b/Document/sched_ext/scx_cpu30.txt new file mode 100644 index 0000000..3500dd0 --- /dev/null +++ b/Document/sched_ext/scx_cpu30.txt @@ -0,0 +1,66 @@ +1us,4us,16us,64us,256us,1ms,4ms,4ms+ +1,160,638,1315,162,145,196,317 +1,196,917,2040,463,283,303,595 +1,200,985,2241,615,408,413,1191 +1,206,1041,2396,818,669,557,1712 +1,208,1126,2551,1044,970,739,2246 +1,210,1171,2695,1246,1208,861,2709 +1,217,1232,2893,1450,1462,990,3230 +1,219,1267,3009,1569,1662,1108,3707 +1,227,1349,3177,1839,2016,1297,4356 +1,231,1388,3306,1973,2187,1392,4860 +1,231,1416,3395,2142,2393,1499,5358 +1,235,1474,3618,2344,2642,1677,5885 +1,238,1523,3711,2469,2795,1755,6395 +1,241,1580,3924,2669,3086,1948,6920 +1,242,1616,4020,2786,3248,2043,7406 +1,244,1668,4145,2981,3510,2204,7957 +1,244,1698,4297,3134,3716,2300,8443 +1,246,1735,4383,3253,3891,2412,8940 +1,249,1802,4582,3471,4111,2573,9489 +1,251,1840,4682,3590,4260,2637,9963 +1,253,1901,4810,3753,4551,2758,10502 +1,257,1951,4966,3889,4747,2866,11034 +1,257,1992,5083,4028,4928,2988,11526 +1,258,2075,5318,4257,5253,3144,12065 +1,259,2094,5376,4336,5415,3201,12519 +1,266,2185,5544,4586,5640,3312,13099 +1,268,2229,5685,4725,5836,3421,13584 +1,270,2306,5772,4849,6073,3557,14116 +1,271,2372,6013,5070,6285,3695,14620 +1,272,2400,6087,5155,6423,3789,15118 +1,274,2476,6283,5419,6760,4000,15662 +1,274,2491,6377,5512,6899,4066,16123 +1,276,2546,6493,5709,7228,4204,16668 +1,285,2605,6694,5969,7410,4340,17182 +1,285,2627,6759,6051,7561,4415,17701 +1,287,2683,6961,6284,7827,4603,18249 +1,290,2706,7076,6383,7953,4708,18734 +1,291,2761,7219,6598,8289,4882,19276 +1,293,2806,7376,6732,8482,4979,19767 +1,295,2852,7469,6879,8729,5083,20215 +1,301,2908,7655,7168,9061,5278,20786 +1,303,2937,7730,7247,9214,5374,21267 +1,305,3039,7936,7534,9591,5578,21840 +1,305,3066,8019,7628,9734,5665,22305 +1,305,3120,8125,7830,10104,5819,22841 +1,307,3179,8292,8069,10518,5991,23326 +1,307,3194,8346,8168,10668,6075,23790 +1,312,3267,8506,8462,11037,6255,24390 +1,313,3293,8593,8546,11174,6331,24892 +1,315,3364,8684,8765,11473,6460,25435 +1,315,3422,8864,8963,11754,6634,25952 +1,315,3448,8918,9058,11897,6745,26425 +1,315,3508,9070,9274,12214,6952,27019 +1,321,3547,9175,9388,12306,7026,27515 +1,323,3590,9294,9630,12673,7205,28060 +1,325,3633,9424,9741,12843,7327,28588 +1,326,3675,9518,9878,13040,7411,29106 +1,329,3742,9691,10157,13415,7662,29623 +1,329,3762,9742,10231,13541,7742,30089 +1,335,3856,9914,10523,13958,7897,30619 +1,337,3909,10022,10668,14164,8004,31126 +1,339,3964,10132,10792,14401,8160,31647 +1,355,4137,10746,11094,14576,8255,31844 +1,365,4213,11115,11397,14638,8285,31966 +1,380,4505,11867,11972,14822,8483,32087 diff --git a/Document/sched_ext/scx_cpu30_mask.txt b/Document/sched_ext/scx_cpu30_mask.txt new file mode 100644 index 0000000..4e01790 --- /dev/null +++ b/Document/sched_ext/scx_cpu30_mask.txt @@ -0,0 +1,204 @@ +Masks +---------------------------------------- +PRIMARY ( 0): | ----------------0Ò‡:'p | +RESERVED ( 0): | ----------------0Ò‡:'p | +OTHER ( 0): | ----------------0Ò‡:'p | +IDLE ( 0): | ----------------0Ò‡:'p | +Masks +---------------------------------------- +PRIMARY ( 0): | ---------------- | +RESERVED ( 0): | ---------------- | +OTHER ( 0): | ---------------- | +IDLE ( 0): | ---------------- | +Masks +---------------------------------------- +PRIMARY (12): | ******-*-***--** | +RESERVED ( 3): | ------*-*---*--- | +OTHER ( 1): | -------------*-- | +IDLE ( 0): | ---------------- | +Masks +---------------------------------------- +PRIMARY (12): | ******-*-***--**XI| b | +RESERVED ( 3): | ------*-*---*---XI| b | +OTHER ( 1): | -------------*--XI| b | +IDLE ( 0): | ----------------XI| b | +Masks +---------------------------------------- +PRIMARY (12): | ******-*-***--** | +RESERVED ( 3): | ------*-*---*--- | +OTHER ( 1): | -------------*-- | +IDLE ( 0): | ---------------- | +Masks +---------------------------------------- +PRIMARY (12): | ******-*-***--** | +RESERVED ( 3): | ------*-*---*--- | +OTHER ( 1): | -------------*-- | +IDLE ( 0): | ---------------- | +Masks +---------------------------------------- +PRIMARY (12): | ******-*-***--** | +RESERVED ( 3): | ------*-*---*--- | +OTHER ( 1): | -------------*-- | +IDLE ( 0): | ---------------- | +Masks +---------------------------------------- +PRIMARY (12): | ******-*-***--** | +RESERVED ( 3): | ------*-*---*--- | +OTHER ( 1): | -------------*-- | +IDLE ( 0): | ---------------- | +Masks +---------------------------------------- +PRIMARY (12): | ******-*-***--**XI| b | +RESERVED ( 3): | ------*-*---*---XI| b | +OTHER ( 1): | -------------*--XI| b | +IDLE ( 0): | ----------------XI| b | +Masks +---------------------------------------- +PRIMARY (12): | ******-*-***--** | +RESERVED ( 3): | ------*-*---*--- | +OTHER ( 1): | -------------*-- | +IDLE ( 0): | ---------------- | +Masks +---------------------------------------- +PRIMARY (12): | ******-*-***--** | +RESERVED ( 3): | ------*-*---*--- | +OTHER ( 1): | -------------*-- | +IDLE ( 0): | ---------------- | +Masks +---------------------------------------- +PRIMARY (12): | ******-*-***--** | +RESERVED ( 3): | ------*-*---*--- | +OTHER ( 1): | -------------*-- | +IDLE ( 0): | ---------------- | +Masks +---------------------------------------- +PRIMARY (12): | ******-*-***--** | +RESERVED ( 3): | ------*-*---*--- | +OTHER ( 1): | -------------*-- | +IDLE ( 0): | ---------------- | +Masks +---------------------------------------- +PRIMARY (12): | ******-*-***--**XI| b | +RESERVED ( 3): | ------*-*---*---XI| b | +OTHER ( 1): | -------------*--XI| b | +IDLE ( 0): | ----------------XI| b | +Masks +---------------------------------------- +PRIMARY (12): | ******-*-***--** | +RESERVED ( 3): | ------*-*---*--- | +OTHER ( 1): | -------------*-- | +IDLE ( 0): | ---------------- | +Masks +---------------------------------------- +PRIMARY (12): | ******-*-***--** | +RESERVED ( 3): | ------*-*---*--- | +OTHER ( 1): | -------------*-- | +IDLE ( 0): | ---------------- | +Masks +---------------------------------------- +PRIMARY (12): | ******-*-***--** | +RESERVED ( 3): | ------*-*---*--- | +OTHER ( 1): | -------------*-- | +IDLE ( 0): | ---------------- | +Masks +---------------------------------------- +PRIMARY (12): | ******-*-***--** | +RESERVED ( 3): | ------*-*---*--- | +OTHER ( 1): | -------------*-- | +IDLE ( 0): | ---------------- | +Masks +---------------------------------------- +PRIMARY (12): | ******-*-***--**XI| b | +RESERVED ( 3): | ------*-*---*---XI| b | +OTHER ( 1): | -------------*--XI| b | +IDLE ( 0): | ----------------XI| b | +Masks +---------------------------------------- +PRIMARY (12): | ******-*-***--** | +RESERVED ( 3): | ------*-*---*--- | +OTHER ( 1): | -------------*-- | +IDLE ( 0): | ---------------- | +Masks +---------------------------------------- +PRIMARY (12): | ******-*-***--** | +RESERVED ( 3): | ------*-*---*--- | +OTHER ( 1): | -------------*-- | +IDLE ( 0): | ---------------- | +Masks +---------------------------------------- +PRIMARY (12): | ******-*-***--** | +RESERVED ( 3): | ------*-*---*--- | +OTHER ( 1): | -------------*-- | +IDLE ( 0): | ---------------- | +Masks +---------------------------------------- +PRIMARY (12): | ******-*-***--** | +RESERVED ( 3): | ------*-*---*--- | +OTHER ( 1): | -------------*-- | +IDLE ( 0): | ---------------- | +Masks +---------------------------------------- +PRIMARY (12): | ******-*-***--**XI| b | +RESERVED ( 3): | ------*-*---*---XI| b | +OTHER ( 1): | -------------*--XI| b | +IDLE ( 0): | ----------------XI| b | +Masks +---------------------------------------- +PRIMARY (12): | ******-*-***--** | +RESERVED ( 3): | ------*-*---*--- | +OTHER ( 1): | -------------*-- | +IDLE ( 0): | ---------------- | +Masks +---------------------------------------- +PRIMARY (12): | ******-*-***--** | +RESERVED ( 3): | ------*-*---*--- | +OTHER ( 1): | -------------*-- | +IDLE ( 0): | ---------------- | +Masks +---------------------------------------- +PRIMARY (12): | ******-*-***--** | +RESERVED ( 3): | ------*-*---*--- | +OTHER ( 1): | -------------*-- | +IDLE ( 0): | ---------------- | +Masks +---------------------------------------- +PRIMARY (12): | ******-*-***--** | +RESERVED ( 3): | ------*-*---*--- | +OTHER ( 1): | -------------*-- | +IDLE ( 0): | ---------------- | +Masks +---------------------------------------- +PRIMARY (12): | ******-*-***--**XI| b | +RESERVED ( 3): | ------*-*---*---XI| b | +OTHER ( 1): | -------------*--XI| b | +IDLE ( 0): | ----------------XI| b | +Masks +---------------------------------------- +PRIMARY (12): | ******-*-***--** | +RESERVED ( 3): | ------*-*---*--- | +OTHER ( 1): | -------------*-- | +IDLE ( 0): | ---------------- | +Masks +---------------------------------------- +PRIMARY (12): | ******-*-***--** | +RESERVED ( 3): | ------*-*---*--- | +OTHER ( 1): | -------------*-- | +IDLE ( 0): | ---------------- | +Masks +---------------------------------------- +PRIMARY (12): | ******-*-***--** | +RESERVED ( 3): | ------*-*---*--- | +OTHER ( 1): | -------------*-- | +IDLE ( 0): | ---------------- | +Masks +---------------------------------------- +PRIMARY ( 4): | -----*-*------** | +RESERVED ( 8): | ----*-*-******-- | +OTHER ( 4): | ****------------ | +IDLE ( 0): | ---------------- | +Masks +---------------------------------------- +PRIMARY ( 4): | -----*-*------**XI| b | +RESERVED ( 8): | ----*-*-******--XI| b | +OTHER ( 4): | ****------------XI| b | +IDLE ( 0): | ----------------XI| b | diff --git a/Document/scx-nest.md b/Document/scx-nest.md new file mode 100644 index 0000000..fc7d197 --- /dev/null +++ b/Document/scx-nest.md @@ -0,0 +1,166 @@ +## scx-nest和监测程åºçš„ç»“åˆ +scx-nest主è¦é€šè¿‡è¿™å‡ ä¸ªmap和监测程åºäº¤äº’ + +```c +struct{ + __uint(type, BPF_MAP_TYPE_ARRAY_OF_MAPS); + __uint(max_entries, 1); + __type(key, u32); + __array(values,struct cpu_bad_guys); +} cpu_filter_ids SEC(".maps"); + +struct{ + __uint(type, BPF_MAP_TYPE_ARRAY_OF_MAPS); + __uint(max_entries, 1); + __type(key, u32); + __array(values,struct task_cpu_usage_map); +} cpu_task_usage_map SEC(".maps"); + +// 处ç†ç”¨æˆ·æ€ä¼ çš„å¯èƒ½è¢«è¯¯ä¼¤çš„任务å +struct { + __uint(type, BPF_MAP_TYPE_HASH); + __uint(max_entries, 1024); + __type(key, struct comm_info); + __type(value, u32); +} comm_ignore_map SEC(".maps"); + +// 处ç†ç”¨æˆ·æ€ä¼ çš„è¦åŽ»ç‰¹åˆ«æ³¨æ„的任务 +struct { + __uint(type, BPF_MAP_TYPE_HASH); + __uint(max_entries, 1024); + __type(key, struct comm_info); + __type(value, u32); +} comm_attention_map SEC(".maps"); +``` +- 核心机制 + - 在 scx-nest 中,以下两个结构实现了和 CPU 任务监控的映射 + - cpu_filter_ids 对应 thread_occupied_mapï¼Œç”¨äºŽå­˜å‚¨å½“å‰ CPU å ç”¨çŽ‡è¾ƒé«˜çš„çº¿ç¨‹èº«ä»½ä¿¡æ¯ + - cpu_task_usage_map对应 task_cpu_usage_mapï¼Œç”¨äºŽå­˜å‚¨å½“å‰ CPU å ç”¨çŽ‡è¾ƒé«˜çš„çº¿ç¨‹çš„å…·ä½“ä¿¡æ¯ + +当主程åºåŒæ—¶å¯ç”¨ CPU 监测和 SCX-Nest 功能时,å¯ä»¥å®žçŽ°å¯¹é«˜ CPU å ç”¨ä»»åŠ¡çš„è‡ªåŠ¨åŒ–æŠ‘åˆ¶ã€‚å…·ä½“æŠ‘åˆ¶æœºåˆ¶è¯·å‚考 README 中的原ç†éƒ¨åˆ†ã€‚ + +### 实验部分 +实验目标:通过对比默认调度器和自定义调度机制,在ä¸åŒ CPU 压力下评估系统性能表现 + +1. 对照组实验 + - 实验设计基于默认调度器,使用 stress-ng 施加ä¸åŒçº§åˆ«çš„ CPU 压力,测试时间为 30 ç§’ + - 测试数æ®é‡ç‚¹ï¼šrunqlat æ•°æ®ï¼Œå映系统的调度压力,任务调度等待时间越长,调度压力越高,系统å¯èƒ½å¤„äºŽè¿‡è½½çŠ¶æ€ + + +一般负载下,创建 10 个 CPU è´Ÿè½½ä»»åŠ¡ï¼Œæ¯æ¬¡æµ‹è¯•è¿è¡Œæ—¶é—´ä¸º 30 ç§’ï¼Œç¡®ä¿æ•°æ®é‡‡æ ·ç¨³å®šï¼Œæœ€ç»ˆçš„æ•°æ®åœ¨[这里](Document/sched_ext/normal_cpu10.txt),视频是“normal_cpu10" +``` +stress-ng --cpu 10 --timeout 30 +``` +![img_24.png](img_24.png) + +![img_25.png](img_25.png) + +对于输出数æ®ï¼Œé‡ç‚¹å…³æ³¨æœ€åŽå‡ è¡Œ +``` +12,2991,7114,11747,1815,1193,2024,10096 +12,3004,7212,11931,1837,1206,2045,10218 +12,3012,7239,12077,1845,1212,2048,10229 +12,3071,7361,12436,1861,1232,2078,10282 +12,3120,7424,12662,1871,1235,2088,10296 +``` + +之åŽå¢žåŠ åŽ‹åŠ›ï¼Œåˆ›å»º 30 个 CPU 负载任务,数æ®åœ¨[这里](Document/sched_ext/normal_cpu30.txt),视频是"normal_cpu30" +``` +1,32921,31062,6038,2919,3357,7310,149492 +1,33031,31206,6416,2966,3366,7319,149506 +1,33196,31480,7059,3037,3448,7406,149675 +1,33230,31540,7433,3077,3455,7411,149689 +1,33391,31688,7901,3099,3464,7426,149703 +``` +2. 实验组部分 + - 开始进行scx-nestçš„éƒ¨åˆ†ï¼ŒåŒæ ·ä½¿ç”¨ stress-ng 施加ä¸åŒçº§åˆ«çš„ CPU 压力,测试时间为 30 ç§’ +![img_26.png](img_26.png) + +创建 10 个 CPU è´Ÿè½½ä»»åŠ¡ï¼Œæ¯æ¬¡æµ‹è¯•è¿è¡Œæ—¶é—´ä¸º 30 秒,情况[如下](Document/sched_ext/scx_cpu10.txt),视频是â€scx_cpu10" +``` +0,642,6251,13554,9713,2194,1287,11171 +0,651,6296,13793,10115,2209,1295,11246 +0,658,6346,13889,10314,2213,1301,11289 +0,663,6389,13956,10490,2235,1309,11330 +0,670,6438,14097,10673,2262,1317,11388 +0,677,6495,14166,10890,2298,1335,11435 +``` + +30 个 CPU 负载任务的情况[如下](Document/sched_ext/scx_cpu30.txt),视频是“scx_cpu30†+``` +1,329,3762,9742,10231,13541,7742,30089 +1,335,3856,9914,10523,13958,7897,30619 +1,337,3909,10022,10668,14164,8004,31126 +1,339,3964,10132,10792,14401,8160,31647 +1,355,4137,10746,11094,14576,8255,31844 +1,365,4213,11115,11397,14638,8285,31966 +1,380,4505,11867,11972,14822,8483,32087 +``` + +3. 实验结果 +对比中等压力之下的调度情况 +``` + 1us,4us,16us,64us,256us,1ms,4ms,4ms+ +默认 12,3120,7424,12662,1871,1235,2088,10296 +nest 0,677,6495,14166,10890,2298,1335,11435 +``` +直接从数æ®ä¸Šæ¥çœ‹çš„è¯ï¼Œscx-nest在中等压力之下,整体表现ä¸å¦‚默认的CFS调度器,但值得注æ„的是, +对这两行按行统计和 +- 12+3120+7424+12662+1871+1235+2088+10296=38508 +- 0+677+6495+14166+10890+2298+1335+11435=46706 + +考虑到我的设计æ€è·¯ï¼Œå¯¹äºŽâ€œå任务â€å°½å¯èƒ½å»¶è¿Ÿè°ƒåº¦åŒæ—¶æ—¶é—´ç‰‡åˆ†é…å‡åŠï¼Œä½¿å¾—调度器的整体æµé‡å˜å¤§ï¼Œ +而统计runqlat时候是把“å任务â€çš„调度延迟算进去的,所以整体上æ¥çœ‹scx-nest仿˜¯æœ‰ä¼˜åŠ¿çš„ + +而对于高压情况,上é¢çš„优势就更加明显了 +``` + 1us,4us,16us,64us,256us,1ms,4ms,4ms+ +默认 1,33391,31688,7901,3099,3464,7426,149703 +nest 1,380,4505,11867,11972,14822,8483,32087 +``` +å†ä¸åŠ åŒºåˆ†çš„é»˜è®¤è°ƒåº¦ä¸‹ï¼Œåœ¨4ms延迟之上的任务到了近15w,而有了区分的调度å¯ä»¥ä½¿å¾—4mså»¶è¿Ÿä¹‹ä¸Šçš„ä»»åŠ¡åªæœ‰3.2w, +å¯ä»¥çœ‹åˆ°éšç€åŽ‹åŠ›ä¸Šå‡åˆ°3å€ + +4ms延迟之上的任务对于nestæ¥è¯´å³ä¾¿ç»´æŒçº¿æ€§å¢žé•¿ï¼Œè€Œå¯¹äºŽé»˜è®¤çš„CFS调度器, +增长形势å¯èƒ½æ˜¯æŒ‡æ•°å¢žé•¿ï¼Œæ‰€ä»¥åŸºäºŽç›‘控的scx-nest调度器明显由于默认的调度器, +对异常任务实现了自动化抑制 + +## 坿’拔的调度器 +å¯ä»¥çœ‹åˆ°åˆšæ‰çš„map中有comm_ignore_mapå’Œcomm_attention_map,这两个map分别是这样对应的 +- comm_ignore_map —— ignore.txt +- comm_attention_map —— attention.txt + +分别是仓库中的两个文件,打开ignore.txtå¯ä»¥çœ‹åˆ° +``` +code +Compositor +gnome-shell +scx_spy +cpptools +llvmpipe-0 +kworker +``` +å¯ä»¥ç†è§£ä¸ºç”¨æˆ·æ€å®šä¹‰çš„“白åå•â€ï¼Œå¯¹äºŽè¿™äº›å字的任务å¯ä»¥æ”¾ä»»å®ƒä»¬å ç”¨cpu + +åŒæ ·çš„attention.txt 则是“黑åå•â€ï¼Œå¯¹äºŽå…¶ä¸­çš„ä»»åŠ¡ï¼Œåªæœ‰æœ‰äº†å°±ç›´æŽ¥æŠ‘制 + +有了这俩个文件,用户å¯ä»¥éžå¸¸æ–¹ä¾¿è‡ªå®šä¹‰å¯¹ç‰¹å®šä»»åŠ¡çš„è°ƒåº¦ï¼ŒåŒæ—¶æˆ‘的程åºä¹Ÿå¯ä»¥ä½œä¸ºä¸€ä¸ªæ’件, +如果你有更加高级的任务划分策略,å¯ä»¥æŠŠåˆ’分的任务放到这两个文件中,这个调度器å¯ä»¥å¸®ä½ æŠ‘åˆ¶æˆ–ä¿æŒè¿™äº›ä»»åŠ¡çš„è¿è¡Œ + +具体实验在链接的“attention_map†+ +å¯ä»¥çœ‹åˆ°çŽ°åœ¨attention.txt中加入stress-ngçš„åå­— +![img_27.png](img_27.png) + +![img_28.png](img_28.png) + +为了ä¿è¯å®žéªŒçš„公正性,把åŽç»­é«˜cpuå ç”¨çŽ‡ä»»åŠ¡åˆ¤æ–­çš„é€»è¾‘æ³¨é‡Šäº†ï¼Œç„¶åŽç¼–译,最高压力下测试 +![img_29.png](img_29.png) + +![img_30.png](img_30.png) + +![img_31.png](img_31.png) + +å¯ä»¥çœ‹åˆ°ï¼Œæ²¡äº†ä¸€äº›åˆ«çš„干扰,åªé’ˆå¯¹stress-ng的抑制效果éžå¸¸å¥½ï¼Œæœ‰äº†æœ€ç²¾ç¡®çš„定ä½ï¼Œæ‰€ä»¥å»¶è¿Ÿæƒ…况是最好的 + +所以å³ä¾¿ä½œä¸ºä¸€ä¸ªå·¥å…·æ¥çœ‹ï¼Œè¿™ä¸ªæ”¹è¿›åŽçš„调度器有很高的实用价值 \ No newline at end of file diff --git a/Document/task_kmem_count.png b/Document/task_kmem_count.png new file mode 100644 index 0000000..935498e Binary files /dev/null and b/Document/task_kmem_count.png differ diff --git a/Document/task_slab_count.png b/Document/task_slab_count.png new file mode 100644 index 0000000..b79ce2b Binary files /dev/null and b/Document/task_slab_count.png differ diff --git a/Document/task_slab_count_xorg.png b/Document/task_slab_count_xorg.png new file mode 100644 index 0000000..13cfda4 Binary files /dev/null and b/Document/task_slab_count_xorg.png differ diff --git a/Document/task_total_cpu.png b/Document/task_total_cpu.png new file mode 100644 index 0000000..16414ae Binary files /dev/null and b/Document/task_total_cpu.png differ diff --git a/Document/task_vmem_count.png b/Document/task_vmem_count.png new file mode 100644 index 0000000..1c24ad0 Binary files /dev/null and b/Document/task_vmem_count.png differ diff --git "a/Document/\347\216\257\345\242\203\346\220\255\345\273\272.md" "b/Document/\347\216\257\345\242\203\346\220\255\345\273\272.md" new file mode 100644 index 0000000..7aee0d5 --- /dev/null +++ "b/Document/\347\216\257\345\242\203\346\220\255\345\273\272.md" @@ -0,0 +1,243 @@ +## 环境æ­å»º +本项目å¯ä»¥ä»Žä»“库中看到,分别有mainå’Œscx分支,建立在两个环境中 + +### main分支 +main分支是最开始在实机上写的代ç ï¼Œå…·ä½“版本和环境é…置如下 +1. 系统åŠå†…核版本 +```shell +root@ne0-System:~# lsb_release -a +No LSB modules are available. +Distributor ID: Ubuntu +Description: Ubuntu 22.04.5 LTS +Release: 22.04 +Codename: jammy +``` +```shell +root@ne0-System:~# uname -r +6.8.0-48-generic +``` +2. LLVM工具链和rust工具链 +```shell +root@ne0-System:~# clang --version +Ubuntu clang version 14.0.0-1ubuntu1.1 +Target: x86_64-pc-linux-gnu +Thread model: posix +InstalledDir: /usr/bin +``` +```shell +(base) ne0@ne0-System:~$ rustup show +Default host: x86_64-unknown-linux-gnu +rustup home: /home/ne0/.rustup + +stable-x86_64-unknown-linux-gnu (default) +rustc 1.79.0 (129f3b996 2024-06-10) +``` +```shell +(base) ne0@ne0-System:~$ cargo --version +cargo 1.79.0 (ffa9cf99a 2024-06-03) +``` + +3. 环境é…ç½® + +这里åªè¯´ä¸€ä¸‹é‡è¦çš„å‡ ä¸ªæºæ–‡ä»¶çš„安装,具体放的路径å¯ä»¥ç›´æŽ¥åœ¨Makefile里看到,如果想改直接改就行了 +- libbpf安装 + - 建议从æºç ç¼–译安装,https://github.com/libbpf/libbpf.git +```shell +$ cd src +$ make +``` +- bpftool安装 + - åŒæ ·å»ºè®®ä»Žæºç ç¼–译安装,https://github.com/libbpf/bpftool.git + - 具体构建安装的æµç¨‹åœ¨å®˜ç½‘这里都有 + +- blazesym安装 + - 从官方编译安装,https://github.com/libbpf/blazesym.git +```shell +git clone https://github.com/libbpf/blazesym.git +cd blazesym +cargo build --release +``` +- 之åŽåˆ° blazesym/capi文件夹下 +```shell +cargo build --release +``` +- 最终能在target/release文件夹下看到这些就算æˆåŠŸ +```shell +(base) ne0@ne0-System:~/sys_competition/start/blazesym/target/release$ ls +build examples libblazesym_c.a libblazesym_c.rlib libblazesym.d +deps incremental libblazesym_c.d libblazesym_c.so libblazesym.rlib +``` + + +### scx分支 +scxåˆ†æ”¯æ˜¯æ‰æœ‰sched_ext,由于sched_ext是9æœˆä»½åˆšå‡ºçš„ï¼Œåªæœ‰æœ€æ–°çš„内核æ‰å…·å¤‡è¿™ä¸ªåŠŸèƒ½ï¼Œæ‰€ä»¥æˆ‘æ˜¯åœ¨è™šæ‹Ÿæœºä¸Šï¼Œ +用的6.12的内核写的,为了ä¸å½±å“实机的其他事情,sched_ext都是在虚拟机上跑的,环境é…置多了一些其他步骤 + +- 首先è¦è¯´æ˜Žçš„æ˜¯ï¼Œsched_extè¿™ä¸ªåŠŸèƒ½å…·ä½“ä½ çš„å†…æ ¸æ”¯ä¸æ”¯æŒï¼Œå¯ä»¥è¿™æ ·æ£€æŸ¥ +```shell +root@ne0-System:~# zgrep -E "CONFIG_BPF|CONFIG_BPF_EVENTS|CONFIG_BPF_JIT|CONFIG_BPF_SYSCALL|CONFIG_DEBUG_INFO_BTF|CONFIG_FTRACE|CONFIG_SCHED_CLASS_EXT" /boot/config-$(uname -r) +CONFIG_BPF=y +CONFIG_BPF_SYSCALL=y +CONFIG_BPF_JIT=y +CONFIG_BPF_JIT_ALWAYS_ON=y +CONFIG_BPF_JIT_DEFAULT_ON=y +CONFIG_BPF_UNPRIV_DEFAULT_OFF=y +# CONFIG_BPF_PRELOAD is not set +CONFIG_BPF_LSM=y +CONFIG_BPF_STREAM_PARSER=y +CONFIG_DEBUG_INFO_BTF=y +CONFIG_DEBUG_INFO_BTF_MODULES=y +CONFIG_FTRACE=y +CONFIG_FTRACE_SYSCALLS=y +CONFIG_BPF_EVENTS=y +CONFIG_BPF_KPROBE_OVERRIDE=y +CONFIG_FTRACE_MCOUNT_RECORD=y +CONFIG_FTRACE_MCOUNT_USE_CC=y +# CONFIG_FTRACE_RECORD_RECURSION is not set +# CONFIG_FTRACE_STARTUP_TEST is not set +# CONFIG_FTRACE_SORT_STARTUP_TEST is not set +``` +- 上é¢è¾“出是我实机的输出,对于sched_ext,需è¦ä»¥ä¸‹è¿™äº›é…ç½® +```shell +CONFIG_BPF=y +CONFIG_SCHED_CLASS_EXT=y +CONFIG_BPF_SYSCALL=y +CONFIG_BPF_JIT=y +CONFIG_DEBUG_INFO_BTF=y +CONFIG_BPF_JIT_ALWAYS_ON=y +CONFIG_BPF_JIT_DEFAULT_ON=y +CONFIG_PAHOLE_HAS_SPLIT_BTF=y +CONFIG_PAHOLE_HAS_BTF_TAG=y +``` +- 对于我虚拟机的输出,是这样的 +```shell +ne1@ne1-virtual-machine:~$ zgrep -E "CONFIG_BPF|CONFIG_BPF_EVENTS|CONFIG_BPF_JIT|CONFIG_BPF_SYSCALL|CONFIG_DEBUG_INFO_BTF|CONFIG_FTRACE|CONFIG_SCHED_CLASS_EXT" /boot/config-$(uname -r) +CONFIG_BPF=y +CONFIG_BPF_SYSCALL=y +CONFIG_BPF_JIT=y +CONFIG_BPF_JIT_ALWAYS_ON=y +CONFIG_BPF_JIT_DEFAULT_ON=y +CONFIG_BPF_UNPRIV_DEFAULT_OFF=y +# CONFIG_BPF_PRELOAD is not set +CONFIG_BPF_LSM=y +CONFIG_SCHED_CLASS_EXT=y +CONFIG_BPF_STREAM_PARSER=y +CONFIG_DEBUG_INFO_BTF=y +CONFIG_DEBUG_INFO_BTF_MODULES=y +CONFIG_FTRACE=y +CONFIG_FTRACE_SYSCALLS=y +CONFIG_BPF_EVENTS=y +CONFIG_BPF_KPROBE_OVERRIDE=y +CONFIG_FTRACE_MCOUNT_RECORD=y +CONFIG_FTRACE_MCOUNT_USE_CC=y +``` +- ä¸‹é¢æŠŠå†…æ ¸å’Œç³»ç»Ÿç‰ˆæœ¬ï¼Œè¿˜æœ‰å·¥å…·é“¾ç‰ˆæœ¬éƒ½è¡¥å……ä¸€ä¸‹ +```shell +ne1@ne1-virtual-machine:~$ lsb_release -a +No LSB modules are available. +Distributor ID: Ubuntu +Description: Ubuntu 24.04.1 LTS +Release: 24.04 +Codename: noble + +ne1@ne1-virtual-machine:~$ uname -r +6.12.0-061200-generic + +ne1@ne1-virtual-machine:~$ clang --version +Ubuntu clang version 17.0.6 (9ubuntu1) +Target: x86_64-pc-linux-gnu +Thread model: posix +InstalledDir: /usr/lib/llvm-17/bin + +ne1@ne1-virtual-machine:~$ rustup show +Default host: x86_64-unknown-linux-gnu +rustup home: /home/ne1/.rustup + +stable-x86_64-unknown-linux-gnu (default) +rustc 1.79.0 (129f3b996 2024-06-10) + +ne1@ne1-virtual-machine:~$ cargo --version +cargo 1.75.0 +``` + +1. 6.12内核的é…置和安装 +- sched_ext官方的教程是没用的,官方给的教程中 +```shell +$ sudo do-release-upgrade -d +$ sudo add-apt-repository -y --enable-source ppa:canonical-kernel-team/unstable +$ sudo sed -i "s/^Suites: .*/Suites: plucky/" \ + /etc/apt/sources.list.d/canonical-kernel-team-ubuntu-unstable-plucky.sources +$ sudo apt install -y linux-generic-wip + +# 到了最åŽè¿™æ­¥ +ne1@ne1-virtual-machine:~$ sudo apt install -y linux-generic-wip +[sudo] password for ne1: +正在读å–软件包列表... å®Œæˆ +正在分æžè½¯ä»¶åŒ…çš„ä¾èµ–关系树... å®Œæˆ +正在读å–状æ€ä¿¡æ¯... å®Œæˆ +E: 无法定ä½è½¯ä»¶åŒ… linux-generic-wip +``` +- 去官网 https://launchpad.net/~canonical-kernel-team/+archive/ubuntu/unstable 也找ä¸åˆ°ç›¸å…³çš„ +- 所以我之åŽå…·ä½“是这样安装的 +- 首先去官网下载6.12版本的 https://kernel.ubuntu.com/mainline/v6.12/ ,将 + linux-headers-6.12.0-061200-genericã€linux-image-unsigned-6.12.0-061200-genericã€linux-modules-6.12.0-061200-generic〠+ linux-headers-6.12.0-061200è¿™äº›éƒ½å®‰è£…åˆ°æœ¬åœ°ï¼Œä¹‹åŽ +```shell +sudo dpkg -i linux-headers-6.12.0-061200*.deb linux-image-unsigned-6.12.0-061200-generic_*.deb linux-modules-6.12.0-061200-generic_*.deb +``` +- 安装完æˆä¹‹åŽé‡å¯ +```shell +sudo update-grub +sudo reboot +``` +- é‡å¯ä¹‹åŽçœ‹å†…核版本,没问题的è¯å°±æ˜¯æˆ‘这个版本 +```shell +ne1@ne1-virtual-machine:~$ uname -r +6.12.0-061200-generic +``` + +2. vmlinux.h的创建 +- 对于6.12内核的系统,得自己生æˆvmlinux +```shell +bpftool btf dump file /sys/kernel/btf/vmlinux format c > vmlinux.h +``` + +3. å…¶ä»–çš„libbpfã€bpftoolä»€ä¹ˆçš„éƒ½å’Œä¸Šé¢æµç¨‹ä¸€æ ·äº† + + +æ— è®ºæ˜¯åªæœ‰ç³»ç»Ÿç›‘测的os_spy或是完整功能的scx_spy,如果编译æˆåŠŸçš„è¯éƒ½åº”该如下 +```shell + ______ __ _ __ ___ + / ____/______ _______/ /_ (_)____ / |/ /_ ______ _____ + / / / ___/ / / / ___/ __ \/ / ___/ / /|_/ / / / / __ / __ \ +/ /___/ / / /_/ / /__/ / / / / /__ / / / / /_/ / /_/ / /_/ / +\____/_/ \__, /\___/_/ /_/_/\___/____/_/ /_/\__, /\__, /\____/ + /____/ /_____/ /____//____/ +Successful to compile os_spy tools: +Please start your use ~ +``` + +å¦‚æžœæœ‰äº†è¿™ä¸ªæ ‡å¿—è¯æ˜Žä½ ç¼–译æˆåŠŸäº†ï¼Œcongratulations :) + + +## 视频演示 +在我分æžçš„æ–‡ä»¶å¤¹ä¸­ï¼Œæœ‰ä¸ªâ€æ•´ä½“æµç¨‹â€œï¼Œæœ‰å¿…è¦æé†’çš„æ˜¯ï¼Œåœ¨æˆ‘å†™åˆ†æžæ–‡æ¡£æ—¶å€™çš„æ•°æ®æ¥æºçš„实机,因为虚拟机å ç”¨èµ„æºè¿‡å¤šï¼Œ +我笔记本的电脑é…置还è¦å†™æ–‡æ¡£ä¼šå¾ˆä¸æ–¹ä¾¿ï¼Œè€Œå½•视频的都是æºäºŽè™šæ‹Ÿæœºï¼Œå› ä¸ºè™šæ‹Ÿæœºä¸Šæ‰èƒ½å±•示完整功能, +所以之åŽå„个监控模å—的介ç»éƒ¨åˆ†ç”¨çš„æ˜¯å®žæœºï¼Œè€Œå®žéªŒéƒ¨åˆ†ç”¨çš„æ˜¯è™šæ‹Ÿæœº + +å…ˆæŠŠè¿‡åŽ»çš„æµ‹è¯•æ•°æ®æ¸…空,然åŽé‡æ–°ç¼–译展现整个æµç¨‹ +![img.png](img.png) +下é¢è¿™æ ·å°±æ˜¯ç¼–译æˆåŠŸ + +![img_1.png](img_1.png) + +ç„¶åŽå…ˆæ•´ä½“演示一下 +```shell +./scx_spy -c -m -I -n -e -v +``` + +![img_2.png](img_2.png) + +完整监视情况下的文件 + +![img_3.png](img_3.png) diff --git a/Makefile b/Makefile index 8427fe6..e667893 100644 --- a/Makefile +++ b/Makefile @@ -1,204 +1,3 @@ -## Copyright 2023 The LMP Authors. -## -## Licensed under the Apache License, Version 2.0 (the "License"); -## you may not use this file except in compliance with the License. -## You may obtain a copy of the License at -## -## https://github.com/linuxkerneltravel/lmp/blob/develop/LICENSE -## -## Unless required by applicable law or agreed to in writing, software -## distributed under the License is distributed on an "AS IS" BASIS, -## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -## See the License for the specific language governing permissions and -## limitations under the License. -## -## author: zhangziheng0525@163.com -## -## compile the current folder code -# -## SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) -#OUTPUT := .output -#CLANG ?= clang -#LIBBPF_SRC := $(abspath ../libbpf/src) -#BPFTOOL_SRC := $(abspath ../bpftool/src) -#LIBBPF_OBJ := $(abspath $(OUTPUT)/libbpf.a) -#BPFTOOL_OUTPUT ?= $(abspath $(OUTPUT)/bpftool) -#BPFTOOL ?= $(BPFTOOL_OUTPUT)/bootstrap/bpftool -#LIBBLAZESYM_SRC := $(abspath ../blazesym/) -#LIBBLAZESYM_INC := $(abspath $(LIBBLAZESYM_SRC)/include) -#LIBBLAZESYM_OBJ := $(abspath $(OUTPUT)/libblazesym.a) -#ARCH ?= $(shell uname -m | sed 's/x86_64/x86/' \ -# | sed 's/arm.*/arm/' \ -# | sed 's/aarch64/arm64/' \ -# | sed 's/ppc64le/powerpc/' \ -# | sed 's/mips.*/mips/' \ -# | sed 's/riscv64/riscv/' \ -# | sed 's/loongarch64/loongarch/') -#VMLINUX := ../vmlinux/$(ARCH)/vmlinux.h -## Use our own libbpf API headers and Linux UAPI headers distributed with -## libbpf to avoid dependency on system-wide headers, which could be missing or -## outdated -#INCLUDES := -I$(OUTPUT) -I../../../libbpf/include/uapi -I$(dir $(VMLINUX)) -I$(LIBBLAZESYM_INC) -I./include -#CFLAGS := -g -Wall -#ALL_LDFLAGS := $(LDFLAGS) $(EXTRA_LDFLAGS) -# -#APPS =cpu_stats -#TARGETS=sys_spy -#CONTROLLER := cpu_controller -# -#SRC_DIR = ./include -# -## Get Clang's default includes on this system. We'll explicitly add these dirs -## to the includes list when compiling with `-target bpf` because otherwise some -## architecture-specific dirs will be "missing" on some architectures/distros - -## headers such as asm/types.h, asm/byteorder.h, asm/socket.h, asm/sockios.h, -## sys/cdefs.h etc. might be missing. -## -## Use '-idirafter': Don't interfere with include mechanics except where the -## build would have failed anyways. -#CLANG_BPF_SYS_INCLUDES ?= $(shell $(CLANG) -v -E - &1 \ -# | sed -n '/<...> search starts here:/,/End of search list./{ s| \(/.*\)|-idirafter \1|p }') -# -#ifeq ($(V),1) -# Q = -# msg = -#else -# Q = @ -# msg = @printf ' %-8s %s%s\n' \ -# "$(1)" \ -# "$(patsubst $(abspath $(OUTPUT))/%,%,$(2))" \ -# "$(if $(3), $(3))"; -# MAKEFLAGS += --no-print-directory -#endif -# -#define allow-override -# $(if $(or $(findstring environment,$(origin $(1))),\ -# $(findstring command line,$(origin $(1)))),,\ -# $(eval $(1) = $(2))) -#endef -# -#$(call allow-override,CC,$(CROSS_COMPILE)cc) -#$(call allow-override,LD,$(CROSS_COMPILE)ld) -# -#.PHONY: all -#all: $(CONTROLLER) $(TARGETS) -# -#.PHONY: clean -#clean: -# $(call msg,CLEAN) -# $(Q)rm -rf $(OUTPUT) $(TARGETS) $(CONTROLLER) -# -#$(OUTPUT) $(OUTPUT)/libbpf $(BPFTOOL_OUTPUT): -# $(call msg,MKDIR,$@) -# $(Q)mkdir -p $@ -# -## Build libbpf -#$(LIBBPF_OBJ): $(wildcard $(LIBBPF_SRC)/*.[ch] $(LIBBPF_SRC)/Makefile) | $(OUTPUT)/libbpf -# $(call msg,LIB,$@) -# $(Q)$(MAKE) -C $(LIBBPF_SRC) BUILD_STATIC_ONLY=1 \ -# OBJDIR=$(dir $@)/libbpf DESTDIR=$(dir $@) \ -# INCLUDEDIR= LIBDIR= UAPIDIR= \ -# install -# -## Build bpftool -#$(BPFTOOL): | $(BPFTOOL_OUTPUT) -# $(call msg,BPFTOOL,$@) -# $(Q)$(MAKE) ARCH= CROSS_COMPILE= OUTPUT=$(BPFTOOL_OUTPUT)/ -C $(BPFTOOL_SRC) bootstrap -# -# -#$(LIBBLAZESYM_SRC)/target/release/libblazesym.a:: -# $(Q)cd $(LIBBLAZESYM_SRC) && $(CARGO) build --release -# -#$(LIBBLAZESYM_OBJ): $(LIBBLAZESYM_SRC)/target/release/libblazesym.a | $(OUTPUT) -# $(call msg,LIB, $@) -# $(Q)cp $(LIBBLAZESYM_SRC)/target/release/libblazesym.a $@ -# -## Build BPF code -#$(OUTPUT)/%.bpf.o: bpf/%.bpf.c $(LIBBPF_OBJ) $(wildcard %.h) $(VMLINUX) | $(OUTPUT) $(BPFTOOL) -# $(call msg,BPF,$@) -# $(Q)$(CLANG) -g -O2 -target bpf -D__TARGET_ARCH_$(ARCH) \ -# $(INCLUDES) $(CLANG_BPF_SYS_INCLUDES) \ -# -c $(filter %.c,$^) -o $(patsubst %.bpf.o,%.tmp.bpf.o,$@) -# $(Q)$(BPFTOOL) gen object $@ $(patsubst %.bpf.o,%.tmp.bpf.o,$@) -# -## Generate BPF skeletons -#.PHONY: $(APPS) -#$(APPS): %: $(OUTPUT)/%.bpf.o | $(OUTPUT) $(BPFTOOL) -# $(call msg,GEN-SKEL,$@) -# $(Q)$(BPFTOOL) gen skeleton $< > $(OUTPUT)/$@.skel.h -# -## Build user-space code -#$(OUTPUT)/%.o: $(SRC_DIR)/%.c | $(OUTPUT) -# $(call msg,CC,$@) -# $(Q)$(CC) $(CFLAGS) $(INCLUDES) -c $< -o $@ -# -#$(OUTPUT)/%.o: $(CONTROLLER).c | $(OUTPUT) -# $(call msg,CC,$@) -# $(Q)$(CC) $(CFLAGS) $(INCLUDES) -c $< -o $@ -# -#$(OUTPUT)/$(TARGETS).o: $(TARGETS).c $(APPS) | $(OUTPUT) -# $(call msg,CC,$@) -# $(Q)$(CC) $(CFLAGS) $(INCLUDES) -c $(filter %.c,$^) -o $@ -# -## Build application binary -#$(CONTROLLER): %: $(OUTPUT)/%.o $(COMMON_OBJ) $(LIBBPF_OBJ) | $(OUTPUT) -# $(call msg,BINARY,$@) -# $(Q)$(CC) $^ $(ALL_LDFLAGS) -lstdc++ -lelf -lz -o $@ -# -#$(TARGETS): %: $(OUTPUT)/%.o $(COMMON_OBJ) $(LIBBPF_OBJ) | $(OUTPUT) -# $(call msg,BINARY,$@) -# $(Q)$(CC) $(CFLAGS) $^ $(ALL_LDFLAGS) -lstdc++ -lelf -lz -o $@ -# -#SUCCESS_MESSAGE: -# @echo "\e[38;2;255;0;0m __ __ \e[0m" -# @echo "\e[38;2;255;128;0m _________ __ __ _ ______ _/ /______/ /_ ___ _____\e[0m" -# @echo "\e[38;2;255;255;0m / ___/ __ \/ / / / | | /| / / __ / __/ ___/ __ \/ _ \/ ___/\e[0m" -# @echo "\e[38;2;128;255;0m/ /__/ /_/ / /_/ / | |/ |/ / /_/ / /_/ /__/ / / / __/ / \e[0m" -# @echo "\e[38;2;0;255;0m\___/ .___/\__,_/ |__/|__/\__,_/\__/\___/_/ /_/\___/_/ \e[0m" -# @echo "\e[38;2;0;255;128m /_/ \e[0m" -# @echo "\e[38;2;0;255;255mSuccessful to compile cpu_watcher tools: \e[0m" -# @echo "\e[38;2;0;255;255mPlease start your use ~ \e[0m" -# -# -#all: $(TARGETS) SUCCESS_MESSAGE -# -# -## delete failed targets -#.DELETE_ON_ERROR: -# -## keep intermediate (.skel.h, .bpf.o, etc) targets -#.SECONDARY: -# -#.PHONY: generate_cmake -#generate_cmake: -# @echo "cmake_minimum_required(VERSION 3.10)" > CMakeLists.txt -# @echo "project(cpu_watcher VERSION 1.0)" >> CMakeLists.txt -# @echo "set(CMAKE_C_STANDARD 11)" >> CMakeLists.txt -# @echo "set(CMAKE_C_FLAGS \"$(CFLAGS)\")" >> CMakeLists.txt -# @echo "" >> CMakeLists.txt -# -# # 包å«ç›®å½• -# @echo "include_directories(" >> CMakeLists.txt -# @for dir in $(INCLUDES); do \ -# echo " $$dir" >> CMakeLists.txt; \ -# done -# @echo ")" >> CMakeLists.txt -# @echo "" >> CMakeLists.txt -# -# # æºæ–‡ä»¶ -# @echo "set(SOURCE_FILES" >> CMakeLists.txt -# @for src in $(wildcard *.c src/*.c); do \ -# echo " $$src" >> CMakeLists.txt; \ -# done -# @echo ")" >> CMakeLists.txt -# @echo "" >> CMakeLists.txt -# -# # 坿‰§è¡Œæ–‡ä»¶å’Œé“¾æŽ¥åº“ -# @echo "add_executable(cpu_watcher \$$\{SOURCE_FILES\})" >> CMakeLists.txt -# @echo "target_link_libraries(cpu_watcher ${LIBS} -lelf -lz -lstdc++)" >> CMakeLists.txt -# @echo "CMakeLists.txt generated successfully." - - OUTPUT := .output CLANG ?= clang LIBBPF_SRC := $(abspath ../libbpf/src) @@ -218,12 +17,12 @@ ARCH ?= $(shell uname -m | sed 's/x86_64/x86/' \ | sed 's/loongarch64/loongarch/') VMLINUX := ../vmlinux/$(ARCH)/vmlinux.h -INCLUDES := -I$(OUTPUT) -I../../../libbpf/include/uapi -I$(dir $(VMLINUX)) -I$(LIBBLAZESYM_INC) -I./include +INCLUDES := -I$(OUTPUT) -I../../../libbpf/include/uapi -I$(dir $(VMLINUX)) -I$(LIBBLAZESYM_INC) -I./include -Iinclude/ CFLAGS := -g -Wall ALL_LDFLAGS := $(LDFLAGS) $(EXTRA_LDFLAGS) -APPS = cpu_stats mm_stats mm_leak io_stats net_stats -TARGETS = os_spy +APPS = scx_nest +TARGETS = scx_plug CONTROLLER := cpu_controller SRC_DIR = ./include @@ -340,7 +139,7 @@ SUCCESS_MESSAGE: @echo "\033[38;2;128;255;0m/ /___/ / / /_/ / /__/ / / / / /__ / / / / /_/ / /_/ / /_/ / \033[0m" @echo "\033[38;2;0;255;0m\____/_/ \__, /\___/_/ /_/_/\___/____/_/ /_/\__, /\__, /\____/ \033[0m" @echo "\033[38;2;0;255;128m /____/ /_____/ /____//____/ \033[0m" - @echo "\033[38;2;0;255;255mSuccessful to compile cpu_watcher tools: \033[0m" + @echo "\033[38;2;0;255;255mSuccessful to compile scx_spy tools: \033[0m" @echo "\033[38;2;0;255;255mPlease start your use ~ \033[0m" # delete failed targets diff --git a/README.md b/README.md index eeb976e..4385b17 100644 --- a/README.md +++ b/README.md @@ -1 +1,59 @@ -到最åŽåœ¨å†™è¯¦ç»†æ–‡æ¡£ +## scx-plug å¯çƒ­æ’拔的调度器 +关于这部分程åºçš„åŽŸç†æ€§è§£æžè¯·çœ‹ https://gitlab.eduxiji.net/T202410701994230/project2608126-270009 çš„scx分支, +在里é¢çš„ scx-nest部分有过详细的解æžï¼Œè¿™é‡Œåªä»‹ç»scx-plug用法 + +scx-plug部分的环境é…置和scx分支的环境é…ç½®ç›¸åŒ + +本项目调度器的架构å‚考自 https://github.com/eunomia-bpf/bpf-developer-tutorial/tree/main/src/45-scx-nest , +整体逻辑设计和本项目的scx分支设计差ä¸å¤šï¼ŒåŒæ—¶åœ¨æ­¤åŸºç¡€ä¸ŠåŠ å…¥äº†ä¸€äº›å’Œç”¨æˆ·æ€äº¤äº’的部分 + +``` +concerned/ # 关注的文件目录 +├── comm_attention.txt # éœ€è¦æŠ‘åˆ¶çš„ä»»åŠ¡å +├── comm_ignore.txt # 需è¦ä¿æŠ¤çš„任务å,é¿å…å—ç­–ç•¥å½±å“ +├── id_attention.txt # éœ€è¦æŠ‘åˆ¶çš„ä»»åŠ¡id,根æ®è®¾ç½®å¯åŒæ—¶è¡¨ç¤ºpidå’Œtgid +└── id_ignore.txt # 需è¦ä¿æŠ¤çš„任务id,根æ®è®¾ç½®å¯åŒæ—¶è¡¨ç¤ºpidå’Œtgid +``` +支æŒåœ¨è°ƒåº¦å™¨è¿è¡Œä¹‹åŽå†™å…¥ï¼Œåœ¨è°ƒåº¦å™¨è¿è¡Œå…¶é—´ï¼Œå¯ä»¥åŒæ—¶è¿è¡Œä»»ä½•其他系统监测程åºï¼ŒæŠŠé—®é¢˜çº¿ç¨‹çš„å字或id写入上述文件, +这个scx-plugå¯ä»¥è§†ä¸ºä¸€ä¸ªå³æ’å³ç”¨çš„æ’ä»¶ + +## åŸºäºŽæ­¤çš„äºŒæ¬¡å¼€å‘ +在主程åºä¸­ï¼Œæˆ‘留出了一个部分方便需è¦çš„人æ¥è¿›è¡ŒäºŒæ¬¡å¼€å‘,在`scx_plug.c`中,在`static int attach_scx_skel()`部分, +å¯ä»¥çœ‹åˆ°æˆ‘注释了一部分示例的代ç ï¼Œ +```c + // 下é¢è¿™é‡Œæ˜¯æ¼”示,对于别的满足filter_inner_map æ ¼å¼çš„map都能放入fliter_map, + // ä½ å¯ä»¥å¾ˆè½»æ¾çš„æŠŠä½ çš„代ç èžåˆåœ¨æˆ‘这里,把è¦å¤„ç†çš„pidæ•´åˆæ•´ä¸ªæˆ‘这个格å¼çš„map,然åŽåƒä¸‹é¢è¿™æ ·ä¼ è¿›æ¥ + + // struct filter_inner_map { + // __uint(type, BPF_MAP_TYPE_HASH); + // __uint(max_entries, 102400); + // __type(key, u32); + // __type(value, u32); + // } template_map SEC(".maps"); + + // int cpu_fd = bpf_map__fd(cpu_skel->maps.thread_occupied_map); + // if(cpu_fd < 0){ + // fprintf(stderr, "Failed to get thread_occupied_map map fd\n"); + // return -1; + // } + // int scx_fd; + // struct bpf_map *map = bpf_object__find_map_by_name(scx_skel->obj, "fliter_map"); + // if (!map) { + // fprintf(stderr, "Failed to find fliter_map\n"); + // return -1; + // } + // scx_fd = bpf_map__fd(map); + // if(scx_fd < 0){ + // fprintf(stderr, "Failed to get fliter_map fd\n"); + // return -1; + // } + + // int ret = bpf_map_update_elem(scx_fd, &zero, &cpu_fd, BPF_ANY); + // if(ret < 0){ + // fprintf(stderr, "Failed to update cpu_filter_ids map\n"); + // return -1; + // } +``` +对于任何满足filter_inner_map类型的ebpf_map,å¯ä»¥ç›´æŽ¥æ’入到我预留好的fliter_map中,实现自动化的监控抑制, +æ’入方å¼å°±åœ¨ä¸Šé¢çš„示例中 + diff --git a/bpf/cpu_stats.bpf.c b/bpf/cpu_stats.bpf.c deleted file mode 100644 index f61c7b0..0000000 --- a/bpf/cpu_stats.bpf.c +++ /dev/null @@ -1,1243 +0,0 @@ -// -// Created by ne0 on 24-10-30. -// -#include "vmlinux.h" -#include -#include -#include -#include"cpu_event.h" - - - -char LICENSE[] SEC("license") = "Dual BSD/GPL"; - -#define HALF_SECOND (500 * MSEC) - -const u32 zero = 0; -const u32 one = 1; - -static volatile bool init_cpus_num = false; -static volatile u32 nr_cpus; - -struct cpu_usage_times{ - u64 last_idle_time;//åªè®°å½•cpu上一次闲置的时间 - u64 last_softirq_time; - u64 last_irq_time; - u64 last_clear_time; - - u64 usr_times; - u64 kernel_times; - u64 idle_times; - u64 io_wait_times; - u64 irq_times; - u64 softirq_times; -}; - -struct cpu_idle_args{ - unsigned short common_type; // offset: 0, size: 2 - unsigned char common_flags; // offset: 2, size: 1 - unsigned char common_preempt_count; // offset: 3, size: 1 - int common_pid; // offset: 4, size: 4 - u32 state; // offset: 8, size: 4 - u32 cpu_id; // offset: 12, size: 4 -}; - - - -//static struct hash_table template_table; - -// 栈回溯的 -DEFINE_BPF_MAP(stack_traces_map,BPF_MAP_TYPE_STACK_TRACE,2048,u32,(MAX_STACK_DEPTH*sizeof(u64))); -DEFINE_BPF_MAP(task_trace_data_map,BPF_MAP_TYPE_HASH,1024,u32,struct task_trace_event); - -// åˆå§‹åŒ–çš„hash_table的模æ¿ï¼Œåœ¨ç”¨æˆ·æ€å®šä¹‰ -// DEFINE_BPF_MAP(hash_table_model_map,BPF_MAP_TYPE_ARRAY,1,u32,struct hash_table); - -// 用æ¥ä¼ é€’ä¸€äº›ç”¨æˆ·ç©ºé—´çš„æ•°æ® -DEFINE_BPF_MAP(cpu_usr_map,BPF_MAP_TYPE_ARRAY,16,u32,u32); - -// 统计cpu的使用状æ€çš„map -DEFINE_BPF_MAP(cpu_usage_percent_map,BPF_MAP_TYPE_ARRAY,MAX_CPU_NR,u32,struct cpu_usage_stats); -DEFINE_BPF_MAP(cpu_usage_times_map,BPF_MAP_TYPE_ARRAY,MAX_CPU_NR,u32,struct cpu_usage_times); - -// 几个EMA控制å—çš„ -DEFINE_BPF_MAP(cpu_ema_ctrl_map,BPF_MAP_TYPE_ARRAY,4,u32,struct ema_para); - - -// task -DEFINE_BPF_MAP(task_cpu_usage_map,BPF_MAP_TYPE_HASH,MAX_ENTRIES,u32,struct task_cpu_usage); -DEFINE_BPF_MAP(process_map,BPF_MAP_TYPE_HASH,MAX_PROCESS_ENTRIES,u32,struct process_struct); - -//DEFINE_BPF_MAP(process_kids_map,BPF_MAP_TYPE_HASH,MAX_PROCESS_ENTRIES,u32,struct hash_table); - -DEFINE_BPF_MAP(thread_occupied_map,BPF_MAP_TYPE_HASH,512,u32,u32); -DEFINE_BPF_MAP(process_occupied_map,BPF_MAP_TYPE_HASH,256,u32,u32); -//DEFINE_BPF_MAP(occupied_list,BPF_MAP_TYPE_ARRAY,2,u32,struct data_list); - -// 任务延迟计数统计 -// 对数增长,8个区间 -DEFINE_BPF_MAP(runqlat_map,BPF_MAP_TYPE_ARRAY,MAX_LATENCY_BUCKETS,u32,u32); - -// çŽ¯å½¢ç¼“å†²åŒºä¼ é€’æ•°æ® -struct { - __uint(type, BPF_MAP_TYPE_RINGBUF); - __uint(max_entries, 256 * 1024); // 环形缓冲区大å°ä¸º 256 KB -} cpu_usage_buffer SEC(".maps"); - -struct { - __uint(type, BPF_MAP_TYPE_RINGBUF); - __uint(max_entries, 512 * 1024); // 环形缓冲区大å°ä¸º 128 KB -} task_occupied_buffer SEC(".maps"); - -struct { - __uint(type, BPF_MAP_TYPE_RINGBUF); - __uint(max_entries, 512 * 1024); // 环形缓冲区大å°ä¸º 64 KB -} process_occupied_buffer SEC(".maps"); - -struct { - __uint(type, BPF_MAP_TYPE_RINGBUF); - __uint(max_entries, 32 * 1024); // 环形缓冲区大å°ä¸º 32 KB -} runqlat_buffer SEC(".maps"); - -struct { - __uint(type, BPF_MAP_TYPE_RINGBUF); - __uint(max_entries, 512 * 1024); -} task_backtrace_buffer SEC(".maps"); - -static inline struct ema_para *get_ema_para(ema_get_flags flag){ - struct ema_para *para; - para = bpf_map_lookup_elem(&cpu_ema_ctrl_map,&flag); - if(!para) - return NULL; - return para; -} - -// static inline struct time_window *get_latency_window(void){ -// struct time_window *window; -// window = bpf_map_lookup_elem(&latency_window_map,&window_key); -// if(!window) -// return NULL; -// return window; -// } - -static struct task_info_simple init_task_info(struct task_struct *p,u32 cpu_id){ - struct task_info_simple info = { - .comm = {}, - .pid = BPF_CORE_READ(p,pid), - .tgid = BPF_CORE_READ(p,tgid), - .cpu_id = cpu_id - }; - bpf_probe_read_kernel_str(info.comm, sizeof(info.comm), BPF_CORE_READ(p, comm)); - - return info; -} - -static int perf_task_backtrace(u32 pid){ - u64 now = bpf_ktime_get_ns(); - struct task_trace_event *task; - if(pid == 0) - return 0; - task = bpf_map_lookup_elem(&task_trace_data_map,&pid); - if(!task) - return 0; - - struct task_trace_event *buff = bpf_ringbuf_reserve(&task_backtrace_buffer,sizeof(struct task_trace_event),0); - if(!buff){ - bpf_printk("backtrace buff allocate failed\n"); - return 0; - } - memset(buff,0,sizeof(struct task_trace_event)); - buff->pid = pid; - bpf_probe_read_str(buff->comm,sizeof(task->comm),task->comm); - buff->kstack_sz = task->kstack_sz; - buff->ustack_sz = task->ustack_sz; - for(int j=0;j task->kstack_sz) - break; - buff->k_stack[j] = task->k_stack[j]; - } - for(int j=0;j task->ustack_sz) - break; - buff->u_stack[j] = task->u_stack[j]; - } - bpf_ringbuf_submit(buff, 0); - - return 0; -} - -// static int update_data_list(u32 list_id,u32 id,u32 operation){ -// //bpf_printk("task occupied id is %u",id); -// if(id == 0) -// return 0; -// if(list_id == 0 || list_id == 1){ -// // operation 0 delete, 1 insert -// if(operation == 0){ -// struct data_list *list = bpf_map_lookup_elem(&occupied_list,&list_id); -// if(!list){ -// // struct data_list _list = {}; -// // bpf_map_update_elem(&occupied_list,&list_id,&_list,BPF_ANY); -// bpf_printk("data list not init\n"); -// return 0; -// } -// for(int i=0;i<50;i++){ -// if(list->list[i] == id) -// { -// list->list[i] = 0; -// bpf_map_update_elem(&occupied_list,&list_id,list,BPF_ANY); -// break; -// } -// } -// } -// else if(operation == 1){ -// struct data_list *list = bpf_map_lookup_elem(&occupied_list,&list_id); -// if(!list){ -// // struct data_list _list = {}; -// // bpf_map_update_elem(&occupied_list,&list_id,&_list,BPF_ANY); -// // list = bpf_map_lookup_elem(&occupied_list,&list_id); -// // if(!list) -// bpf_printk("data list not init\n"); -// return 0; -// } -// for(int i=0;i<50;i++){ -// if(list->list[i] == 0){ -// list->list[i] = id; -// //bpf_printk("task occupied id is %u",id); -// bpf_map_update_elem(&occupied_list,&list_id,list,BPF_ANY); -// break; -// } -// } -// } -// else{ -// bpf_printk("data_list operations id error\n"); -// } -// } -// else{ -// bpf_printk("data_list id error\n"); -// } -// return 0; -// } - -// static int hash_table_insert(struct hash_table *table, unsigned int key) { -// unsigned int hash_index = hash_func(key); -// if(hash_index >= HASH_TABLE_SIZE) -// return (unsigned int)-1; -// unsigned int count = table->counts[hash_index]; -// if(hash_table_lookup(table,key,false) == key){ -// return 1;// 防止é‡å¤æ’å…¥ -// } - -// // bpf_printk("task id is %u",key); -// if (count < MAX_COLLISIONS) { -// table->hash_node[hash_index][count] = key; -// table->counts[hash_index]++; -// if(hash_index > table->last_valid_index) -// table->last_valid_index = hash_index; -// } else { -// return -1; -// } -// //bpf_printk("task id is %u",key); -// return 0; -// } - -static int init_process(u32 tgid,u32 pid) { - struct process_struct ps; - //hash_table_init(&ps.kids); - // struct hash_table *table = bpf_map_lookup_elem(&hash_table_model_map,&zero); - // if(!table) - // return -1; - - //bpf_probe_read_kernel(&template_table,sizeof(template_table),table); - - //int res = bpf_map_update_elem(&process_kids_map,&tgid,table,BPF_ANY); - //int res = bpf_map_update_elem(&process_kids_map,&tgid,&template_table,BPF_ANY); - // if(res < 0){ - // bpf_printk("process %u kids map init failed,error code is %i",tgid,res); - // } - - // table = bpf_map_lookup_elem(&process_kids_map,&tgid); - // if(!table) - // { - // bpf_printk("process %u kids map init failed",tgid); - // return -1; - // } - - ps.tgid = tgid; - ps.kids_length = 1; - //hash_table_insert(table,pid); - if(tgid != pid) - { - //hash_table_insert(table,tgid); - ps.kids_length = 2; - } - //bpf_map_update_elem(&process_kids_map,&tgid,table,BPF_ANY); - bpf_map_update_elem(&process_map,&tgid,&ps,BPF_ANY); - return 0; -} - - -static void insert_pid_to_process(u32 tgid,u32 pid){ - if(tgid == 0) - return; - struct process_struct *ps = bpf_map_lookup_elem(&process_map,&tgid); - if(!ps){ - init_process(tgid,pid); - } - else{ - ps->kids_length += 1; - bpf_map_update_elem(&process_map,&tgid,ps,BPF_ANY); - } -} - -SEC("raw_tp/sched_wakeup") -int BPF_PROG(handle_sched_wakeup, struct task_struct *p) -{ - u32 pid = BPF_CORE_READ(p,pid); - if(pid == 0) - return 0; - u32 tgid = BPF_CORE_READ(p,tgid); - u32 cpu_id = bpf_get_smp_processor_id(); - struct task_cpu_usage *task_use = bpf_map_lookup_elem(&task_cpu_usage_map,&pid); - if(!task_use){ - struct task_info_simple info = init_task_info(p,cpu_id); - struct task_cpu_usage init_task; - memset(&init_task,0,sizeof(struct task_cpu_usage)); - init_task.task_info = info; - init_task.last_enqeue_time = bpf_ktime_get_ns(); - bpf_map_update_elem(&task_cpu_usage_map, &pid, &init_task, BPF_ANY); - insert_pid_to_process(tgid,pid); - } - else{ - task_use->last_enqeue_time = bpf_ktime_get_ns(); - bpf_map_update_elem(&task_cpu_usage_map,&pid,task_use,BPF_ANY); - } - - return 0; -} - -SEC("raw_tp/sched_wakeup_new") -int BPF_PROG(handle_sched_wakeup_new, struct task_struct *p){ - u32 pid = BPF_CORE_READ(p,pid); - if(pid == 0) - return 0; - u32 tgid = BPF_CORE_READ(p,tgid); - u32 cpu_id = bpf_get_smp_processor_id(); - struct task_cpu_usage *task_use = bpf_map_lookup_elem(&task_cpu_usage_map,&pid); - if(!task_use){ - struct task_info_simple info = init_task_info(p,cpu_id); - struct task_cpu_usage init_task; - memset(&init_task,0,sizeof(struct task_cpu_usage)); - init_task.task_info = info; - init_task.last_enqeue_time = bpf_ktime_get_ns(); - bpf_map_update_elem(&task_cpu_usage_map, &pid, &init_task, BPF_ANY); - - insert_pid_to_process(tgid,pid); - } - else{ - task_use->last_enqeue_time = bpf_ktime_get_ns(); - bpf_map_update_elem(&task_cpu_usage_map,&pid,task_use,BPF_ANY); - } - - return 0; -} - -SEC("tracepoint/sched/sched_process_fork") -int handle_task_create(struct trace_event_raw_sched_process_fork *ctx){ - u32 pid_new = ctx->child_pid; - u32 cpu_id = bpf_get_smp_processor_id(); - struct task_cpu_usage *tk = bpf_map_lookup_elem(&task_cpu_usage_map,&pid_new); - if(!tk){ - struct task_cpu_usage init_task; - memset(&init_task,0,sizeof(struct task_cpu_usage)); - struct task_info_simple info = { - .pid = pid_new, - .cpu_id = cpu_id - }; - bpf_probe_read_kernel_str(info.comm,sizeof(ctx->child_comm),ctx->child_comm); - init_task.task_info = info; - bpf_map_update_elem(&task_cpu_usage_map,&pid_new,&init_task,BPF_ANY); - } - return 0; -} - -SEC("tracepoint/sched/sched_process_exit") -int BPF_PROG(handle_task_exit){ - u64 pid_tgid = bpf_get_current_pid_tgid(); - u32 pid = pid_tgid & 0xFFFFFFFF; - u32 tgid = pid_tgid >> 32; - if(pid == 0 || tgid == 0) - return 0; - - bpf_map_delete_elem(&task_cpu_usage_map,&pid); - struct process_struct *ps = bpf_map_lookup_elem(&process_map,&tgid); - if(ps != NULL){ - if(ps->kids_length > 0) - ps->kids_length -= 1; - - u32 *in = bpf_map_lookup_elem(&thread_occupied_map,&pid); - if(in != NULL){ - bpf_map_delete_elem(&thread_occupied_map,&pid); - //update_data_list(zero,pid,zero); - } - - bpf_map_delete_elem(&task_trace_data_map,&pid); - - if(ps!=NULL && ps->kids_length == 0) - { - bpf_map_delete_elem(&process_map,&tgid); - //bpf_map_delete_elem(&process_kids_map,&tgid); - - // if(bpf_map_lookup_elem(&process_occupied_map,&zero)!= NULL) - // { - // struct hash_table *table = bpf_map_lookup_elem(&process_occupied_map,&zero); - // if(!table) - // { - // bpf_printk("process_occupied_map is not init\n"); - // return 0; - // } - // if(hash_table_delete(table,tgid) == 0) - // { - // bpf_map_update_elem(&process_occu pied_map,&zero,table,BPF_ANY); - // update_data_list(one,tgid,zero); - // } - // } - in = bpf_map_lookup_elem(&process_occupied_map,&tgid); - if(in != NULL){ - bpf_map_delete_elem(&process_occupied_map,&tgid); - //update_data_list(one,tgid,zero); - } - } - // else - // bpf_map_update_elem(&process_map,&tgid,ps,BPF_ANY); - } - return 0; -} - -static int task_concerned_update(struct task_cpu_usage *task_usage, u32 threshold){ - u32 value = task_usage->total_time_ns * 100 / HALF_SECOND; - //bpf_printk("total percent is %u",value); - //bpf_printk("task id is %u",task_usage->task_info.pid); - u32 pid = task_usage->task_info.pid; - u64 now = bpf_ktime_get_ns(); - if(task_usage->last_clear_time == 0) - { - task_usage->last_clear_time = now; - bpf_map_update_elem(&task_cpu_usage_map,&pid,task_usage,BPF_ANY); - return 0; - } - if(!task_usage->already_output && value >= threshold && now - task_usage->last_clear_time < HALF_SECOND) - { - bpf_map_update_elem(&thread_occupied_map,&pid,&pid,BPF_ANY); - - struct task_cpu_usage *buff = bpf_ringbuf_reserve(&task_occupied_buffer,sizeof(struct task_cpu_usage),0); - if(!buff){ - bpf_printk("the task_cpu buffer is full\n"); - return 0; - } - memset(buff,0,sizeof(struct task_cpu_usage)); - buff->task_info = task_usage->task_info; - u64 delta = (now - task_usage->last_clear_time)*10 / HALF_SECOND; - buff->total_percent = task_usage->total_time_ns * 100 * delta/ HALF_SECOND; - buff->kernel_percent = task_usage->kernel_time_ns / task_usage->total_time_ns; - buff->user_percent = task_usage->user_time_ns / task_usage->total_time_ns; - bpf_ringbuf_submit(buff,0); - - task_usage->already_output = true; - //bpf_map_update_elem(&task_cpu_usage_map,&pid,task_usage,BPF_ANY); - - if(task_usage->last_trace_time == 0 || now - task_usage->last_trace_time > 10 * HALF_SECOND)// 间隔至少5s - { - perf_task_backtrace(pid); - task_usage->last_trace_time = now; - } - bpf_map_update_elem(&task_cpu_usage_map,&pid,task_usage,BPF_ANY); - } - else{ - if(now - task_usage->last_clear_time > HALF_SECOND) - { - if(task_usage->already_output == false) - bpf_map_delete_elem(&thread_occupied_map,&pid); - task_usage->last_clear_time = now; - task_usage->total_time_ns = 0; - task_usage->user_time_ns = 0; - task_usage->kernel_time_ns = 0; - task_usage->already_output = false; - bpf_map_update_elem(&task_cpu_usage_map,&pid,task_usage,BPF_ANY); - } - } - return 0; -} - -static int process_concerned_update(struct process_struct *ps, u32 threshold){ - //bpf_printk("process %u total use time is %lu \n",ps->tgid,ps->total_use_time); - u32 value = ps->total_use_time * 100 / HALF_SECOND; - u64 now = bpf_ktime_get_ns(); - u32 tgid = ps->tgid; - if(ps->last_clear_time == 0){ - ps->last_clear_time = now; - bpf_map_update_elem(&process_map,&tgid,ps,BPF_ANY); - return 0; - } - if(!ps->already_output && value >= threshold && now - ps->last_clear_time < HALF_SECOND) - { - bpf_map_update_elem(&process_occupied_map,&tgid,&tgid,BPF_ANY); - - struct process_struct *buff = bpf_ringbuf_reserve(&process_occupied_buffer,sizeof(struct process_struct),0); - if(!buff){ - bpf_printk("process_cpu buffer is full\n"); - return 0; - } - memset(buff,0,sizeof(struct process_struct)); - u64 delta = (now - ps->last_clear_time) * 10 / HALF_SECOND; - buff->tgid = tgid; - buff->kids_length = ps->kids_length; - buff->total_use_percent = ps->total_use_time * 100 * delta / HALF_SECOND; - bpf_ringbuf_submit(buff,0); - - ps->already_output = true; - bpf_map_update_elem(&process_map,&tgid,ps,BPF_ANY); - } - else{ - if(now - ps->last_clear_time > HALF_SECOND) - { - if(ps->already_output == false) - bpf_map_delete_elem(&process_occupied_map,&tgid); - ps->last_clear_time = now; - ps->total_use_time = 0; - ps->already_output = false; - bpf_map_update_elem(&process_map,&tgid,ps,BPF_ANY); - } - } - return 0; -} - -static int process_update_runtime(u32 tgid,u64 delta,bool reset, u64 last_cpu_clear){ - if(tgid == 0) - return 0; - struct process_struct *ps = bpf_map_lookup_elem(&process_map,&tgid); - if(!ps){ - init_process(tgid,tgid); - ps = bpf_map_lookup_elem(&process_map,&tgid); - if(!ps) - return -1; - } - // 防止多个线程让åŒä¸€ä¸ªè¿›ç¨‹æ¸…ç† - ps->tgid = tgid; - if(reset == true && ps->last_total_clear < last_cpu_clear) - { - ps->total_use_time = 0; - ps->last_total_clear = bpf_ktime_get_ns(); - } - ps->total_use_time += delta; - //bpf_printk("process %u total use time is %lu \n",tgid,ps->total_use_time); - bpf_map_update_elem(&process_map,&tgid,ps,BPF_ANY); - process_concerned_update(ps,10); - - return 0; -} - -SEC("tracepoint/sched/sched_switch") -int record_task_switch(struct trace_event_raw_sched_switch *ctx) -{ - // 使用 BPF_CORE_READ æ¥è¯»å–任务结构字段 - u32 prev_pid = ctx->prev_pid; - u32 next_pid = ctx->next_pid; - u32 cpu_id = bpf_get_smp_processor_id(); - u64 now = bpf_ktime_get_ns(); - - struct cpu_usage_times *cpu_usage ; - cpu_usage = bpf_map_lookup_elem(&cpu_usage_times_map, &cpu_id); - if (cpu_usage == NULL) { - struct cpu_usage_times init_cpu = {}; - bpf_map_update_elem(&cpu_usage_times_map, &cpu_id, &init_cpu, BPF_ANY); - - struct cpu_usage_stats init_stats = { - .cpu_id = cpu_id, - .total_times = HALF_SECOND - }; - bpf_map_update_elem(&cpu_usage_percent_map, &cpu_id, &init_stats, BPF_ANY); - } - cpu_usage = bpf_map_lookup_elem(&cpu_usage_times_map, &cpu_id); - if (cpu_usage == NULL) return -1; - - // 检查 idle 进程 - /*if (prev_pid == 0) { - if(cpu_usage->last_idle_time != 0) - cpu_usage->idle_times += now - cpu_usage->last_idle_time; - } else*/ - if(prev_pid != 0){ - struct task_cpu_usage *pre_usage = bpf_map_lookup_elem(&task_cpu_usage_map, &prev_pid); - if (!pre_usage) { - struct task_cpu_usage init_task; - memset(&init_task,0,sizeof(struct task_cpu_usage)); - struct task_info_simple info = { - .pid = prev_pid, - .cpu_id = cpu_id - }; - bpf_probe_read_kernel_str(info.comm,sizeof(ctx->prev_comm),ctx->prev_comm); - init_task.task_info = info; - init_task.last_clear_time = now; - init_task.last_run_time = now; - bpf_map_update_elem(&task_cpu_usage_map, &prev_pid, &init_task, BPF_ANY); - } else { - pre_usage->task_info.pid = prev_pid; - if (pre_usage->last_run_time != 0) { - u64 delta = now - pre_usage->last_run_time; - if (pre_usage->in_kernel) { - pre_usage->kernel_time_ns += delta; - cpu_usage->kernel_times += delta; - } else { - pre_usage->user_time_ns += delta; - cpu_usage->usr_times += delta; - } - pre_usage->total_time_ns += delta; - task_concerned_update(pre_usage,5); - - if(pre_usage->task_info.tgid != 0){ - u32 tgid = pre_usage->task_info.tgid; - process_update_runtime(tgid,delta,false,cpu_usage->last_clear_time); - } - } - pre_usage->last_run_time = now; - bpf_map_update_elem(&task_cpu_usage_map, &prev_pid, pre_usage, BPF_ANY); - - } - //bpf_printk("cpu %u kernel time is %u \n",cpu_id,cpu_usage->kernel_times); - } - - /*if (next_pid == 0) { - cpu_usage->last_idle_time = now; - } else*/ - if(next_pid != 0){ - struct task_cpu_usage *next_usage = bpf_map_lookup_elem(&task_cpu_usage_map, &next_pid); - if (!next_usage) { - struct task_cpu_usage init_task; - memset(&init_task,0,sizeof(struct task_cpu_usage)); - struct task_info_simple info = { - .pid = next_pid, - .cpu_id = cpu_id - }; - bpf_probe_read_kernel_str(info.comm,sizeof(ctx->next_comm),ctx->next_comm); - init_task.task_info = info; - init_task.last_clear_time = now; - init_task.last_run_time = now; - bpf_map_update_elem(&task_cpu_usage_map, &next_pid, &init_task, BPF_ANY); - } else { - next_usage->task_info.pid = next_pid; - - u64 latency_bucket = now - next_usage->last_enqeue_time; - next_usage->wait_time = latency_bucket; - - latency_bucket /= USEC; - u32 bucket; - if(latency_bucket == 0) - bucket = 0; - else if(latency_bucket < 5) - bucket = 1; - else if(latency_bucket < 17) - bucket = 2; - else if(latency_bucket < 65) - bucket = 3; - else if(latency_bucket < 257) - bucket = 4; - else if(latency_bucket < 1000) - bucket = 5; - else if(latency_bucket < 4000) - bucket = 6; - else - bucket = 7; - u32 *latency = bpf_map_lookup_elem(&runqlat_map,&bucket); - if(!latency){ - bpf_map_update_elem(&runqlat_map,&bucket,&one,BPF_ANY); - }else{ - *latency = *latency + 1; - bpf_map_update_elem(&runqlat_map,&bucket,latency,BPF_ANY); - } - - if(next_usage->last_run_time < cpu_usage->last_clear_time){ - // 任务这边的数æ®åœ¨æ–°çš„æ—¶é—´çª—å£å†…清零 - next_usage->total_time_ns = 0; - next_usage->kernel_time_ns = 0; - next_usage->user_time_ns = 0; - if(next_usage->task_info.tgid != 0) - process_update_runtime(next_usage->task_info.tgid,0,true,cpu_usage->last_clear_time); - } - - next_usage->last_run_time = now; - bpf_map_update_elem(&task_cpu_usage_map, &next_pid, next_usage, BPF_ANY); - } - } - - bpf_map_update_elem(&cpu_usage_times_map,&cpu_id,cpu_usage,BPF_ANY); - return 0; -} - -SEC("tracepoint/sched/sched_switch") -int record_backtrace(struct trace_event_raw_sched_switch *ctx) -{ - u32 pid = ctx->prev_pid; - //bpf_printk("current pid is %u",pid); - if(pid == 0 || bpf_map_lookup_elem(&thread_occupied_map,&pid) == NULL) - return 0; - - int stack_id = bpf_get_stackid(ctx,&stack_traces_map,BPF_F_REUSE_STACKID); - if(stack_id < 0){ - bpf_printk("get stack error, error code is %i",stack_id); - return 0; - } - - struct task_trace_event *trace = bpf_map_lookup_elem(&task_trace_data_map,&pid); - if(!trace){ - struct task_trace_event init; - init.pid = pid; - struct task_cpu_usage *task = bpf_map_lookup_elem(&task_cpu_usage_map,&pid); - if(task != NULL){ - bpf_probe_read_kernel_str(init.comm,sizeof(task->task_info.comm),task->task_info.comm); - } - init.kstack_sz = 0; - init.ustack_sz = 0; - bpf_map_update_elem(&task_trace_data_map,&pid,&init,BPF_ANY); - } - else{ - struct task_cpu_usage *use = bpf_map_lookup_elem(&task_cpu_usage_map,&pid); - // if(!use || use->already_backtrace) - // return 0; - } - trace = bpf_map_lookup_elem(&task_trace_data_map,&pid); - if(!trace) - { - bpf_printk("backtrace struct init failed\n"); - return 0; - } - - // 获å–内核栈回溯 - // trace->kstack_sz = bpf_get_stackid(ctx,&stack_traces_map,BPF_F_REUSE_STACKID); - // if(trace->kstack_sz >= 0){ - // u64 *k_stack_data = bpf_map_lookup_elem(&stack_traces_map,&trace->kstack_sz); - // if(k_stack_data){ - // bpf_probe_read_kernel(&trace->k_stack,sizeof(trace->k_stack),k_stack_data); - // } - // } - trace->kstack_sz = stack_id; - u64 *k_stack_data = (u64 *)(stack_id * sizeof(u64)); - if (k_stack_data) { - //bpf_printk("k_stack_data exist\n"); - bpf_probe_read_kernel(&trace->k_stack, sizeof(trace->k_stack), k_stack_data); - } - - // 获å–用户栈回溯 - // trace->ustack_sz = bpf_get_stackid(ctx,&stack_traces_map,BPF_F_USER_STACK | BPF_F_REUSE_STACKID); - // if(trace->ustack_sz >= 0){ - // u64 *u_stack_data = bpf_map_lookup_elem(&stack_traces_map, &trace->ustack_sz); - // if(u_stack_data){ - // bpf_probe_read_kernel(&trace->u_stack,sizeof(trace->u_stack),u_stack_data); - // } - // } - int u_stack_id = bpf_get_stackid(ctx, &stack_traces_map, BPF_F_USER_STACK | BPF_F_REUSE_STACKID); - if (u_stack_id >= 0) { - trace->ustack_sz = u_stack_id; - u64 *u_stack_data = (u64 *)(u_stack_id * sizeof(u64)); - if (u_stack_data) { - //bpf_printk("u_stack_data exist\n"); - bpf_probe_read_kernel(&trace->u_stack, sizeof(trace->u_stack), u_stack_data); - } - } - - bpf_map_update_elem(&task_trace_data_map,&pid,trace,BPF_ANY); - - return 0; -} - -static int cpu_init(u32 cpu_id){ - struct cpu_usage_times* cpu_usage = bpf_map_lookup_elem(&cpu_usage_times_map, &cpu_id); - if(!cpu_usage) - return 0; - struct cpu_usage_times init_cpu = {}; - bpf_map_update_elem(&cpu_usage_times_map, &cpu_id, &init_cpu, BPF_ANY); - - struct cpu_usage_stats init_stats = { - .cpu_id = cpu_id, - .total_times = HALF_SECOND - }; - bpf_map_update_elem(&cpu_usage_percent_map, &cpu_id, &init_stats, BPF_ANY); - return 0; -} - -// 闲置时间统计 -SEC("tracepoint/power/cpu_idle") -int record_cpu_idle(struct cpu_idle_args *ctx){ - u32 cpu_id = ctx->cpu_id; - u32 state = ctx->state; - - u64 now = bpf_ktime_get_ns(); - - struct cpu_usage_times *cpu_usage ; - cpu_usage = bpf_map_lookup_elem(&cpu_usage_times_map, &cpu_id); - if (cpu_usage == NULL) { - struct cpu_usage_times init_cpu = {}; - bpf_map_update_elem(&cpu_usage_times_map, &cpu_id, &init_cpu, BPF_ANY); - - struct cpu_usage_stats init_stats = { - .cpu_id = cpu_id, - .total_times = HALF_SECOND - }; - bpf_map_update_elem(&cpu_usage_percent_map, &cpu_id, &init_stats, BPF_ANY); - return 0; - } - // cpu_usage = bpf_map_lookup_elem(&cpu_usage_times_map, &cpu_id); - // if (cpu_usage == NULL) return -1; - - // 比较神奇,在无符å·32ä½é‡Œç”¨-1表示从空闲状æ€é€€å‡ºï¼Œä¸‹é¢é“¾æŽ¥ä¸­å¯ä»¥çœ‹åˆ° - // https://android.googlesource.com/kernel/common/+/refs/heads/android-gs-pantah-5.10-android13-qpr2/samples/bpf/cpustat_kern.c - if(state == (u32)(-1)){ - if(cpu_usage->last_idle_time == 0) - return 0; - cpu_usage->idle_times += now - cpu_usage->last_idle_time; - }else{ - cpu_usage->last_idle_time = now; - } - bpf_map_update_elem(&cpu_usage_times_map, &cpu_id, cpu_usage, BPF_ANY); -} - - -// ä»»åŠ¡è¿›å…¥å†…æ ¸æ€ -SEC("tracepoint/raw_syscalls/sys_enter") -int BPF_PROG(trace_sys_enter){ - struct task_struct *task = (struct task_struct *)bpf_get_current_task(); - u32 pid = BPF_CORE_READ(task, pid); - u32 tgid = BPF_CORE_READ(task,tgid); - if(pid == 0) - return 0; - - struct task_cpu_usage *usage = bpf_map_lookup_elem(&task_cpu_usage_map, &pid); - if(!usage){ - u32 cpu_id = bpf_get_smp_processor_id(); - struct task_info_simple info = init_task_info(task,cpu_id); - - // 相当于这里是没有åˆå§‹åŒ–last_run_timeçš„ - struct task_cpu_usage init_usage = { - .task_info = info, - .in_kernel = true - }; - - bpf_map_update_elem(&task_cpu_usage_map, &pid, &init_usage, BPF_ANY); - } - else{ - if(usage->task_info.tgid == 0) - { - usage->task_info.tgid = tgid; - insert_pid_to_process(tgid,pid); - } - usage->in_kernel = true; - bpf_map_update_elem(&task_cpu_usage_map, &pid, usage, BPF_ANY); - } - return 0; -} - -// ä»»åŠ¡é€€å‡ºå†…æ ¸æ€ -SEC("tracepoint/raw_syscalls/sys_exit") -int BPF_PROG(trace_sys_exit){ - struct task_struct *task = (struct task_struct *)bpf_get_current_task(); - u32 pid = BPF_CORE_READ(task, pid); - u32 tgid = BPF_CORE_READ(task,tgid); - if(pid == 0) - return 0; - - struct task_cpu_usage *usage = bpf_map_lookup_elem(&task_cpu_usage_map, &pid); - if(!usage){ - u32 cpu_id = bpf_get_smp_processor_id(); - struct task_info_simple info = init_task_info(task,cpu_id); - - // 相当于这里是没有åˆå§‹åŒ–last_run_timeçš„ - struct task_cpu_usage init_usage = { - .task_info = info, - .in_kernel = false - }; - - bpf_map_update_elem(&task_cpu_usage_map, &pid, &init_usage, BPF_ANY); - } - else{ - if(usage->task_info.tgid == 0) - { - usage->task_info.tgid = tgid; - insert_pid_to_process(tgid,pid); - } - usage->in_kernel = false; - bpf_map_update_elem(&task_cpu_usage_map, &pid, usage, BPF_ANY); - } - return 0; -} - -// 软中断 -SEC("tracepoint/irq/softirq_entry") -int BPF_PROG(trace_cpu_softirq_entry){ - u32 cpu_id = bpf_get_smp_processor_id(); - - struct cpu_usage_times *cpu_usage ; - cpu_usage = bpf_map_lookup_elem(&cpu_usage_times_map, &cpu_id); - if (cpu_usage == NULL) { - cpu_init(cpu_id); - cpu_usage = bpf_map_lookup_elem(&cpu_usage_times_map, &cpu_id); - if(cpu_usage == NULL) return 0; - } - - u64 now = bpf_ktime_get_ns(); - cpu_usage->last_softirq_time = now; - bpf_map_update_elem(&cpu_usage_times_map,&cpu_id,cpu_usage,BPF_ANY); - return 0; -} - -SEC("tracepoint/irq/softirq_exit") -int BPF_PROG(trace_cpu_softirq_exit){ - u32 cpu_id = bpf_get_smp_processor_id(); - - struct cpu_usage_times *cpu_usage ; - cpu_usage = bpf_map_lookup_elem(&cpu_usage_times_map, &cpu_id); - if (cpu_usage == NULL) { - cpu_init(cpu_id); - return 0; - } - - u64 now = bpf_ktime_get_ns(); - cpu_usage->softirq_times += now - cpu_usage->last_softirq_time; - bpf_map_update_elem(&cpu_usage_times_map,&cpu_id,cpu_usage,BPF_ANY); - return 0; -} - -//硬中断 -SEC("tracepoint/irq/irq_handler_entry") -int BPF_PROG(trace_cpu_irq_entry){ - u32 cpu_id = bpf_get_smp_processor_id(); - - struct cpu_usage_times *cpu_usage ; - cpu_usage = bpf_map_lookup_elem(&cpu_usage_times_map, &cpu_id); - if (cpu_usage == NULL) { - cpu_init(cpu_id); - cpu_usage = bpf_map_lookup_elem(&cpu_usage_times_map, &cpu_id); - if(cpu_usage == NULL) return 0; - } - - u64 now = bpf_ktime_get_ns(); - cpu_usage->last_irq_time = now; - bpf_map_update_elem(&cpu_usage_times_map,&cpu_id,cpu_usage,BPF_ANY); - return 0; -} - -SEC("tracepoint/irq/irq_handler_exit") -int BPF_PROG(trace_cpu_irq_exit){ - u32 cpu_id = bpf_get_smp_processor_id(); - - struct cpu_usage_times *cpu_usage ; - cpu_usage = bpf_map_lookup_elem(&cpu_usage_times_map, &cpu_id); - if (cpu_usage == NULL) { - cpu_init(cpu_id); - return 0; - } - - u64 now = bpf_ktime_get_ns(); - cpu_usage->irq_times += now - cpu_usage->last_irq_time; - bpf_map_update_elem(&cpu_usage_times_map,&cpu_id,cpu_usage,BPF_ANY); - return 0; -} - -static int __update_percpu_usage_percent(u32 cpu_id,struct cpu_usage_times *data,struct cpu_usage_stats *stats){ - if(data == NULL || stats == NULL) - return -1; - - stats->cpu_id = cpu_id; - // 利用emaæ¥æ›´æ–°æ•°æ®ï¼Œä¿ç•™2ä½å°æ•° - if(stats->idle_percent == 0 && stats->kernel_percent == 0 && stats->user_percent == 0){ - stats->user_percent = data->usr_times * 100 / HALF_SECOND; - stats->kernel_percent = data->kernel_times * 100 / HALF_SECOND; - stats->idle_percent = data->idle_times *100 / HALF_SECOND; - stats->softirq_percent = data->softirq_times*100 / HALF_SECOND; - stats->irq_percent = data->irq_times*100 / HALF_SECOND; - } - else{ - stats->user_percent = stats->user_percent * 60/100 + data->usr_times * 40 / HALF_SECOND; - stats->kernel_percent = stats->kernel_percent*60/100 + data->kernel_times *40/HALF_SECOND; - stats->idle_percent = stats->idle_percent*60/100 + data->idle_times*40/HALF_SECOND; - //stats->idle_percent = data->idle_times *100 / HALF_SECOND; - stats->softirq_percent = stats->softirq_percent*60/100 + data->softirq_times*40 / HALF_SECOND; - stats->irq_percent = stats->idle_percent*60/100 + data->irq_times*40 / HALF_SECOND; - } - bpf_map_update_elem(&cpu_usage_percent_map,&cpu_id,stats,BPF_ANY); - - // 清零,加入下一轮 - data->idle_times = 0; - data->kernel_times = 0; - data->usr_times = 0; - data->idle_times = 0; - data->softirq_times = 0; - - bpf_map_update_elem(&cpu_usage_times_map,&cpu_id,data,BPF_ANY); - - // 将统计数æ®å†™å…¥çŽ¯å½¢ç¼“å†²åŒº - struct cpu_usage_stats *ringbuf_data; - ringbuf_data = bpf_ringbuf_reserve(&cpu_usage_buffer, sizeof(struct cpu_usage_stats), 0); - if (!ringbuf_data) { - //__builtin_memcpy(ringbuf_data, stats, sizeof(struct cpu_usage_stats)); - bpf_printk("Ring buffer reserve failed\n"); - return -1; - } - else{ - memset(ringbuf_data, 0, sizeof(struct cpu_usage_stats)); - ringbuf_data->cpu_id = stats->cpu_id; - ringbuf_data->idle_percent = stats->idle_percent; - ringbuf_data->kernel_percent = stats->kernel_percent; - ringbuf_data->user_percent = stats->user_percent; - bpf_ringbuf_submit(ringbuf_data, 0); - } - //bpf_printk("CPU ID: %u\n", stats->cpu_id); - // bpf_printk("User Time: %u\n", stats->user_percent); - // bpf_printk("Kernel Time: %u\n", stats->kernel_percent); - //bpf_printk("Kernel Time: %u\n", data->kernel_times); - - return 0; -} - - -static int update_cpu_usage_percent(void){ - u32 cur_id; - u32 cpu_id; - struct cpu_usage_times *data; - int res; - u64 now = bpf_ktime_get_ns(); - - for(cpu_id = 0;cpu_id < 128 && cpu_id < nr_cpus;cpu_id++){ - cur_id = cpu_id; - data = bpf_map_lookup_elem(&cpu_usage_times_map,&cur_id); - if(data != NULL){ - //bpf_printk("current cpu is %u\n", cur_id); - struct cpu_usage_stats *stats ; - stats = bpf_map_lookup_elem(&cpu_usage_percent_map,&cur_id); - if(!stats){ - struct cpu_usage_stats init_stats = { - .cpu_id = cur_id, - .total_times = HALF_SECOND - }; - bpf_map_update_elem(&cpu_usage_percent_map,&cur_id,&init_stats,BPF_ANY); - stats = bpf_map_lookup_elem(&cpu_usage_percent_map,&cur_id); - if(!stats) return -1; - } - data->last_clear_time = now; - res = __update_percpu_usage_percent(cur_id,data,stats); - //bpf_map_update_elem(&cpu_usage_percent_map,&cur_id,stats,BPF_ANY); - //bpf_map_update_elem(&cpu_usage_times_map,&cur_id,data,BPF_ANY); - if(res<0) return res; - //bpf_map_update_elem(&cpu_usage_percent_map,&cur_id,stats,BPF_ANY); - //bpf_map_update_elem(&cpu_usage_times_map,&cur_id,data,BPF_ANY); - } - else - { - bpf_printk("data not found for cpu %u\n", cur_id); - continue; - } - } - - return 0; -} - -// static int perf_update_task_concerd(void){ -// //struct hash_table *table = bpf_map_lookup_elem(&thread_occupied_map,&zero); -// u64 now = bpf_ktime_get_ns(); -// // if(!table) -// // return -1; -// struct task_cpu_usage *task; -// u32 flag = 0,index = 0; -// //u32 flag = hash_table_foreach(table,0); -// //u32 count = 0; -// struct data_list *list = bpf_map_lookup_elem(&occupied_list,&zero); -// if(!list) -// return 0; -// for(index = 0;index<50;index++) -// { -// if(list->list[index] == 0) -// continue; -// flag = list->list[index]; -// //bpf_printk("current task is %u",flag); -// // if(count > 128*6) -// // return -2; -// // count++; -// task = bpf_map_lookup_elem(&task_cpu_usage_map,&flag); -// if(task != NULL){ -// if(task->last_run_time == 0) -// continue; -// if(task->last_run_time < now - (2*HALF_SECOND)) -// { -// // 删除过时的元素 -// //hash_table_delete(table,flag); -// bpf_map_delete_elem(&thread_occupied_map,&flag); -// list->list[index] = 0; -// } -// else{ -// task->already_backtrace = false; -// task->total_percent = task->total_time_ns * 100/ HALF_SECOND; -// task->kernel_percent = task->kernel_time_ns * 100/task->total_time_ns; -// task->user_percent = task->user_time_ns * 100/task->total_time_ns; -// if(task->total_percent > 5){ -// struct task_cpu_usage *buff = bpf_ringbuf_reserve(&task_occupied_buffer,sizeof(struct task_cpu_usage),0); -// if(!buff){ -// bpf_printk("task ringbuff reserve failed\n"); -// } -// else{ -// memset(buff,0,sizeof(struct task_cpu_usage)); -// bpf_probe_read_kernel_str(buff->task_info.comm,sizeof(task->task_info.comm),task->task_info.comm); -// buff->task_info.pid = task->task_info.pid; -// buff->total_percent = task->total_percent > 100 ? 99:task->total_percent; -// buff->kernel_percent = task->kernel_percent > 100 ? 99:task->kernel_percent; -// buff->user_percent = task->user_percent > 100 ? 99:task->user_percent; -// bpf_ringbuf_submit(buff,0); -// } -// }else{ -// // 删除阈值ä¸è¾¾æ ‡çš„元素 -// //hash_table_delete(table,flag); -// bpf_map_delete_elem(&thread_occupied_map,&flag); -// list->list[index] = 0; -// } -// bpf_map_update_elem(&task_cpu_usage_map,&flag,task,BPF_ANY); -// } -// } -// u32 _flag = flag; -// //flag = hash_table_foreach(table,_flag); -// } -// //bpf_map_update_elem(&thread_occupied_map,&zero,table,BPF_ANY); -// bpf_map_update_elem(&occupied_list,&zero,list,BPF_ANY); -// return 0; -// } - -// static int perf_update_process_concerd(void){ -// //struct hash_table *table = bpf_map_lookup_elem(&process_occupied_map,&zero); -// u64 now = bpf_ktime_get_ns(); -// // if(!table) -// // return -1; -// struct process_struct *ps; -// u32 flag = 0,index = 0; -// //u32 flag = hash_table_foreach(table,0); -// //u32 count = 0; -// struct data_list *list = bpf_map_lookup_elem(&occupied_list,&one); -// if(!list) -// return 0; -// for(index = 0;index<50;index++) -// { -// if(list->list[index] == 0) -// continue; -// flag = list->list[index]; -// //bpf_printk("current process is %u",flag); -// // if(count > 128*6) -// // return -2; -// // count++; -// ps = bpf_map_lookup_elem(&process_map,&flag); -// if(ps != NULL){ -// if(ps->total_use_time == 0) -// continue; -// if(ps->last_total_clear < now - (2*HALF_SECOND)) -// { -// // 删除过时的元素 -// //hash_table_delete(&table,flag); -// bpf_map_delete_elem(&process_occupied_map,&flag); -// list->list[index] = 0; -// } -// else{ -// ps->total_use_percent = ps->total_use_time *100 / HALF_SECOND; -// if(ps->total_use_percent > 10){ -// struct process_struct *buff = bpf_ringbuf_reserve(&process_occupied_buffer,sizeof(struct process_struct),0); -// if(!buff){ -// bpf_printk("ps ringbuff reserve failed\n"); -// } -// else{ -// memset(buff,0,sizeof(struct process_struct)); -// buff->kids_length = ps->kids_length; -// buff->tgid = ps->tgid; -// buff->total_use_percent = ps->total_use_percent; -// bpf_ringbuf_submit(buff,0); -// } -// }else{ -// // 删除阈值ä¸è¾¾æ ‡çš„元素 -// //hash_table_delete(&table,flag); -// bpf_map_delete_elem(&process_occupied_map,&flag); -// list->list[index] = 0; -// } -// bpf_map_update_elem(&process_map,&flag,ps,BPF_ANY); -// } -// } -// u32 _flag = flag; -// //flag = hash_table_foreach(table,_flag); -// } -// //bpf_map_update_elem(&process_occupied_map,&zero,table,BPF_ANY); -// bpf_map_update_elem(&occupied_list,&one,list,BPF_ANY); -// return 0; -// } - -static int perf_runqlat(void){ - struct runqlat_perf_data *buff = bpf_ringbuf_reserve(&runqlat_buffer,sizeof(struct runqlat_perf_data),0); - if(!buff) - { - bpf_printk("runqlat ringbuff reserve failed\n"); - return 0; - } - memset(buff,0,sizeof(struct runqlat_perf_data)); - for(u32 index=0;indexdata[index] = 0; - else - buff->data[index] = *size; - } - bpf_ringbuf_submit(buff,0); - - return 0; -} - -SEC("perf_event") -int handle_cpu_event(struct bpf_perf_event_data *ctx){ - if(!init_cpus_num){ - u32 *nr_cpus_ptr; - nr_cpus_ptr = bpf_map_lookup_elem(&cpu_usr_map,&zero); - if(!nr_cpus_ptr){ - bpf_printk("get cpu nums error\n"); - return -1; - } - nr_cpus = *nr_cpus_ptr; - init_cpus_num = true; - } - int res = update_cpu_usage_percent(); - if(res < 0) - bpf_printk("update error\n"); - return 0; -} - -// SEC("perf_event") -// int handle_task_usage_event(struct bpf_perf_event_data *ctx){ -// int res = perf_update_task_concerd(); -// //bpf_printk("task perf finish"); -// if(res == -1) -// bpf_printk("the task_occupied_map is not init\n"); -// else if(res == -2) -// bpf_printk("out of index, there may be exist infinit loop\n"); -// return 0; -// } - -// SEC("perf_event") -// int handle_process_stat_event(struct bpf_perf_event_data *ctx){ -// int res = perf_update_process_concerd(); -// //bpf_printk("task perf finish"); -// if(res == -1) -// bpf_printk("the process_occupied_map is not init\n"); -// else if(res == -2) -// bpf_printk("out of index, there may be exist infinit loop\n"); -// return 0; -// } - -SEC("perf_event") -int handle_sys_latency_event(struct bpf_perf_event_data *ctx){ - perf_runqlat(); - return 0; -} - -// SEC("perf_event") -// int handle_task_backtrace_event(struct bpf_perf_event_data *ctx){ -// perf_task_backtrace(); -// return 0; -// } \ No newline at end of file diff --git a/bpf/io_stats.bpf.c b/bpf/io_stats.bpf.c deleted file mode 100644 index 7a44ae3..0000000 --- a/bpf/io_stats.bpf.c +++ /dev/null @@ -1,353 +0,0 @@ -#include "vmlinux.h" -#include -#include -#include - -#include "io_event.h" - -char LICENSE[] SEC("license") = "Dual BSD/GPL"; - - -static const u32 one = 1; -static const u32 zero = 0; - -struct trace_event_raw_block_rq_issue { - unsigned short common_type; - unsigned char common_flags; - unsigned char common_preempt_count; - int common_pid; - - dev_t dev; // offset: 8, size: 4 - u32 __padding; // 用于对é½åˆ°åç§»é‡ 16 - sector_t sector; // offset: 16, size: 8 - unsigned int nr_sector; // offset: 24, size: 4 - unsigned int bytes; // offset: 28, size: 4 - char rwbs[8]; // offset: 32, size: 8 - char comm[16]; // offset: 40, size: 16 - int __data_loc_cmd; // offset: 56, size: 4 -}; - -// 类似runqlat统计 -DEFINE_BPF_MAP(io_wait_count_map,BPF_MAP_TYPE_ARRAY,8,u32,u32); -DEFINE_BPF_MAP(io_wait_map,BPF_MAP_TYPE_HASH,MAX_ENTRIES,u32,u64); - -DEFINE_BPF_MAP(io_task_stats_map,BPF_MAP_TYPE_HASH,MAX_ENTRIES,u32,struct io_task_stats); -DEFINE_BPF_MAP(io_process_stats_map,BPF_MAP_TYPE_HASH,4096,u32,struct io_process_stats); - -DEFINE_BPF_MAP(io_threhold_map,BPF_MAP_TYPE_ARRAY,2,u32,struct io_stats_threhold); - -struct { - __uint(type, BPF_MAP_TYPE_RINGBUF); - __uint(max_entries, 128 * 1024); // 环形缓冲区大å°ä¸º 256 KB -} io_wait_buffer SEC(".maps"); - -struct { - __uint(type, BPF_MAP_TYPE_RINGBUF); - __uint(max_entries, 512 * 1024); // 环形缓冲区大å°ä¸º 256 KB -} io_task_stats_buffer SEC(".maps"); - -struct { - __uint(type, BPF_MAP_TYPE_RINGBUF); - __uint(max_entries, 512 * 1024); // 环形缓冲区大å°ä¸º 256 KB -} io_process_stats_buffer SEC(".maps"); - -static int io_update_wait_map_count(u64 wait_time) { - u64 latency_bucket = wait_time / USEC; - - u32 bucket; - if(latency_bucket == 0) - bucket = 0; - else if(latency_bucket < 5) - bucket = 1; - else if(latency_bucket < 17) - bucket = 2; - else if(latency_bucket < 65) - bucket = 3; - else if(latency_bucket < 257) - bucket = 4; - else if(latency_bucket < 1000) - bucket = 5; - else if(latency_bucket < 4000) - bucket = 6; - else - bucket = 7; - - u32 *count = bpf_map_lookup_elem(&io_wait_count_map,&bucket); - if(!count){ - bpf_map_update_elem(&io_wait_count_map,&bucket,&one,BPF_ANY); - } - else{ - *count = *count + 1; - bpf_map_update_elem(&io_wait_count_map,&bucket,count,BPF_ANY); - } - return 0; -} - -// 请求开始时间 -SEC("tracepoint/block/block_rq_issue") -int io_trace_rq_issue(struct trace_event_raw_block_rq_issue *ctx) { - u32 dev = ctx->dev; - u64 now = bpf_ktime_get_ns(); - - bpf_map_update_elem(&io_wait_map,&dev,&now,BPF_ANY); - return 0; -} - -// è¯·æ±‚ç»“æŸæ—¶é—´ -SEC("tracepoint/block/block_rq_complete") -int io_trace_rq_complete(struct trace_event_raw_block_rq_completion *ctx) { - u32 dev = ctx->dev; - u64 *time = bpf_map_lookup_elem(&io_wait_map,&dev); - if(!time) - return 0; - u64 now = bpf_ktime_get_ns(); - u64 wait = now - *time; - - io_update_wait_map_count(wait); - bpf_map_delete_elem(&io_wait_map,&dev); - return 0; -} - -SEC("perf_event") -int handle_io_wait_event(struct bpf_perf_event_data *ctx) { - struct io_wait_perf_data *buff = bpf_ringbuf_reserve(&io_wait_buffer,sizeof(struct io_wait_perf_data),0); - if(!buff){ - bpf_printk("io_wait_count buffer is full\n"); - return 0; - } - memset(buff,0,sizeof(struct io_wait_perf_data)); - - for(u32 i = 0; i<8;i++){ - u32 index = i; - u32 *data = bpf_map_lookup_elem(&io_wait_count_map,&index); - if(!data){ - buff->count_list[i] = 0; - } - else{ - buff->count_list[i] = *data; - } - } - bpf_ringbuf_submit(buff, 0); - - return 0; -} - -static int io_task_compare_and_commit(struct io_task_stats *task) { - struct io_stats_threhold *threhold = bpf_map_lookup_elem(&io_threhold_map,&zero); - if(!threhold){ - bpf_printk("io_threhold map is not init\n"); - return 0; - } - - u64 now = bpf_ktime_get_ns(); - if(task->last_clear_time + threhold->time_window < now){ - task->read_count = 0; - task->write_count = 0; - task->last_clear_time = now; - task->already_output = 0; - //bpf_printk("current pid is %u",task->info.pid); - bpf_map_update_elem(&io_task_stats_map,&task->info.pid,task,BPF_ANY); - return 0; - } - - if(task->read_count >= threhold->read_count || task->write_count >= threhold->write_count){ - if(task->already_output != 0) - { - return 0;// 这个周期内以åŠè¾“出过了 - } - - struct io_task_stats *buff = bpf_ringbuf_reserve(&io_task_stats_buffer, sizeof(struct io_task_stats), 0); - if(!buff){ - bpf_printk("task_io_stats_buff is full\n"); - return 0; - } - memset(buff,0,sizeof(struct io_task_stats)); - buff->info.pid = task->info.pid; - buff->info.tgid = task->info.tgid; - bpf_probe_read_str(buff->info.comm,sizeof(task->info.comm),task->info.comm); - buff->read_count = task->read_count; - buff->write_count = task->write_count; - - // 毕竟在刚超就截至了,所以根æ®å‰©ä½™çš„time_windowæ—¶é—´æ¥ä¹˜ä¸ªæ¯”例 - u64 time_spare = task->last_clear_time + threhold->time_window - now; - time_spare = time_spare * 100 / threhold->time_window; - time_spare = (u32)time_spare; - if(time_spare > 10) - { - buff->write_count *= (time_spare / 10); - buff->read_count *= (time_spare / 10); - } - bpf_ringbuf_submit(buff,0); - - task->already_output = 1; - bpf_map_update_elem(&io_task_stats_map,&task->info.pid,task,BPF_ANY); - } - return 0; -} - - -static int io_process_compare_and_commit(struct io_process_stats *process) { - struct io_stats_threhold *threhold = bpf_map_lookup_elem(&io_threhold_map,&one); - if(!threhold){ - bpf_printk("io_threhold map is not init\n"); - return 0; - } - - u64 now = bpf_ktime_get_ns(); - if(process->last_clear_time + threhold->time_window < now){ - process->read_count = 0; - process->write_count = 0; - process->last_clear_time = now; - process->already_output = 0; - bpf_map_update_elem(&io_process_stats_map,&process->tgid,process,BPF_ANY); - return 0; - } - - if(process->read_count >= threhold->read_count || process->write_count >= threhold->write_count){ - if(process->already_output != 0) - return 0; - struct io_process_stats *buff = bpf_ringbuf_reserve(&io_process_stats_buffer, sizeof(struct io_process_stats), 0); - if(!buff){ - bpf_printk("process_io_stats_buff is full\n"); - return 0; - } - memset(buff,0,sizeof(struct io_process_stats)); - buff->tgid = process->tgid; - buff->read_count = process->read_count; - buff->write_count = process->write_count; - bpf_ringbuf_submit(buff,0); - process->already_output = 1; - bpf_map_update_elem(&io_process_stats_map,&process->tgid,process,BPF_ANY); - } - return 0; -} - -SEC("tracepoint/syscalls/sys_enter_read") -int io_trace_enter_read(struct trace_event_raw_sys_enter *ctx) { - u64 id = bpf_get_current_pid_tgid(); - u32 tgid = id >> 32; - u32 pid = id & 0xFFFFFFFF; - u64 now = bpf_ktime_get_ns(); - - if(pid == 0) - return 0; - - struct io_task_stats *task = bpf_map_lookup_elem(&io_task_stats_map,&pid); - if(!task){ - struct io_task_stats init_task; - memset(&init_task,0,sizeof(struct io_task_stats)); - // struct task_info_simple info = { - // .pid = pid, - // .tgid = tgid - // }; - bpf_get_current_comm(init_task.info.comm,sizeof(init_task.info.comm)); - //init_task.info = info; - init_task.info.pid = pid; - init_task.info.tgid = tgid; - init_task.last_clear_time = now; - init_task.read_count = 1; - init_task.write_count = 0; - bpf_map_update_elem(&io_task_stats_map,&pid,&init_task,BPF_ANY); - } - else{ - task->read_count += 1; - if(task->info.pid == 0) - { - task->info.pid = pid; - task->info.tgid = tgid; - } - bpf_map_update_elem(&io_task_stats_map,&pid,task,BPF_ANY); - io_task_compare_and_commit(task); - } - - struct io_process_stats *process = bpf_map_lookup_elem(&io_process_stats_map,&tgid); - if(!process){ - struct io_process_stats init_process; - memset(&init_process,0,sizeof(struct io_process_stats)); - init_process.tgid = tgid; - init_process.last_clear_time = now; - init_process.read_count = 1; - init_process.write_count = 0; - bpf_map_update_elem(&io_process_stats_map,&tgid,&init_process,BPF_ANY); - } - else{ - process->read_count += 1; - bpf_map_update_elem(&io_process_stats_map,&tgid,process,BPF_ANY); - io_process_compare_and_commit(process); - } - - return 0; -} - -SEC("tracepoint/syscalls/sys_enter_write") -int io_trace_enter_write(struct trace_event_raw_sys_enter *ctx) { - u64 id = bpf_get_current_pid_tgid(); - u32 tgid = id >> 32; - u32 pid = id & 0xFFFFFFFF; - u64 now = bpf_ktime_get_ns(); - - if(pid == 0) - return 0; - - struct io_task_stats *task = bpf_map_lookup_elem(&io_task_stats_map,&pid); - if(!task){ - struct io_task_stats init_task; - memset(&init_task,0,sizeof(struct io_task_stats)); - // struct task_info_simple info = { - // .pid = pid, - // .tgid = tgid - // }; - bpf_get_current_comm(init_task.info.comm,sizeof(init_task.info.comm)); - // init_task.info = info; - init_task.info.pid = pid; - init_task.info.tgid = tgid; - init_task.last_clear_time = now; - init_task.write_count = 1; - init_task.read_count = 0; - bpf_map_update_elem(&io_task_stats_map,&pid,&init_task,BPF_ANY); - } - else{ - task->write_count += 1; - if(task->info.pid == 0) - { - task->info.pid = pid; - task->info.tgid = tgid; - } - bpf_map_update_elem(&io_task_stats_map,&pid,task,BPF_ANY); - io_task_compare_and_commit(task); - } - - struct io_process_stats *process = bpf_map_lookup_elem(&io_process_stats_map,&tgid); - if(!process){ - struct io_process_stats init_process; - memset(&init_process,0,sizeof(struct io_process_stats)); - init_process.tgid = tgid; - init_process.last_clear_time = now; - init_process.write_count = 1; - init_process.read_count = 0; - bpf_map_update_elem(&io_process_stats_map,&tgid,&init_process,BPF_ANY); - } - else{ - process->write_count += 1; - bpf_map_update_elem(&io_process_stats_map,&tgid,process,BPF_ANY); - io_process_compare_and_commit(process); - } - - return 0; -} - - -SEC("tracepoint/sched/sched_process_exit") -int BPF_PROG(handle_io_task_exit){ - u64 pid_tgid = bpf_get_current_pid_tgid(); - u32 pid = pid_tgid & 0xFFFFFFFF; - u32 tgid = pid_tgid >> 32; - if(pid == 0 || tgid == 0) - return 0; - - if(bpf_map_lookup_elem(&io_task_stats_map,&pid) != NULL) - bpf_map_delete_elem(&io_task_stats_map,&pid); -} - - - diff --git a/bpf/mm_leak.bpf.c b/bpf/mm_leak.bpf.c deleted file mode 100644 index f119c85..0000000 --- a/bpf/mm_leak.bpf.c +++ /dev/null @@ -1,378 +0,0 @@ -#include "vmlinux.h" -#include -#include -#include -#include "mm_event.h" - -const volatile u64 sample_rate = 2; -const volatile size_t page_size = 4096; - -const volatile u64 stack_flags = 0; - - -char LICENSE[] SEC("license") = "Dual BSD/GPL"; - -// æ¯ä¸ªtask分é…的内存大å°ï¼Œpid——size -DEFINE_BPF_MAP(sizes,BPF_MAP_TYPE_HASH,10240,u32,u64); -// 分é…的内存å—的信æ¯ï¼Œaddress——info -DEFINE_BPF_MAP(allocs,BPF_MAP_TYPE_HASH,100000,u64,struct alloc_info); -// -DEFINE_BPF_MAP(combined_allocs,BPF_MAP_TYPE_HASH,10240,u64,union combined_alloc_info); -// taskçš„ç”¨æˆ·æ€æŒ‡é’ˆå˜é‡ -DEFINE_BPF_MAP(memptrs,BPF_MAP_TYPE_HASH,10240,u64,u64); -// æ ˆå›žæº¯ä¿¡æ¯ -struct { - __uint(type, BPF_MAP_TYPE_STACK_TRACE); - __type(key, u32); - __type(value, 128 * sizeof(u64)); - __uint(max_entries,10240); -} stack_traces SEC(".maps"); - -// struct { -// __uint(type, BPF_MAP_TYPE_STACK_TRACE); -// __type(key, u32); -// __type(value, 128 * sizeof(u64)); -// __uint(max_entries,10240); -// } stack_traces_usr SEC(".maps"); - -static __always_inline void * -bpf_map_lookup_or_try_init(void *map, const void *key, const void *init) -{ - void *val; - long err; - - val = bpf_map_lookup_elem(map, key); - if (val) - return val; - - err = bpf_map_update_elem(map, key, init, BPF_NOEXIST); - if (err && err < 0) - return 0; - - return bpf_map_lookup_elem(map, key); -} - -static union combined_alloc_info initial_cinfo; - -// 当å‘ç”Ÿå†…å­˜åˆ†é…æ—¶ï¼Œé€šè¿‡å¢žåŠ å †æ ˆå¯¹åº”çš„å†…å­˜åˆ†é…ä¿¡æ¯ï¼ˆå†…存大å°å’Œåˆ†é…次数) -static void update_statistics_add(u64 stack_id, u64 sz) -{ - // 查找或åˆå§‹åŒ–一个è”åˆä½“ combined_alloc_info 结构体 - // è¯¥ç»“æž„ä½“åŒ…å«æ€»å†…å­˜å¤§å° (total_size) å’Œåˆ†é…æ¬¡æ•° (number_of_allocs) - // 如果 stack_id 对应的记录ä¸å­˜åœ¨ï¼Œåˆ™åˆå§‹åŒ–为 initial_cinfo - union combined_alloc_info *existing_cinfo; - existing_cinfo = bpf_map_lookup_or_try_init(&combined_allocs, &stack_id, &initial_cinfo); - - if (!existing_cinfo) - return; - - // 这里的增加和下é¢çš„å‡å°‘,这样的构建个unionä¹‹åŽæ“作都是为了ä¿è¯åŽŸå­æ“作和安全性 - - // 构建一个增é‡çš„ combined_alloc_info 结构体 - // 增é‡çš„ total_size 为当å‰åˆ†é…çš„å†…å­˜å¤§å° (sz), - // 增é‡çš„ number_of_allocs 为 1ï¼Œè¡¨ç¤ºæœ¬æ¬¡åˆ†é… - const union combined_alloc_info incremental_cinfo = { - .total_size = sz, // 增é‡å†…å­˜å¤§å° - .number_of_allocs = 1 // 增é‡å†…å­˜åˆ†é…æ¬¡æ•° - }; - - // 这里使用 __sync_fetch_and_add æ¥ä¿è¯å¤šçº¿ç¨‹çŽ¯å¢ƒä¸­çš„åŽŸå­æ“作 - __sync_fetch_and_add(&existing_cinfo->bits, incremental_cinfo.bits); -} - -// 当å‘生内存释放时,通过å‡å°‘堆栈对应的内存分é…ä¿¡æ¯ï¼ˆå†…存大å°å’Œåˆ†é…次数) -static void update_statistics_del(u64 stack_id, u64 sz) -{ - // 查找 stack_id 对应的记录 - union combined_alloc_info *existing_cinfo; - existing_cinfo = bpf_map_lookup_elem(&combined_allocs, &stack_id); - - if (!existing_cinfo) { - bpf_printk("failed to lookup combined allocs\n"); - return; - } - - // 构建一个å‡å°‘çš„ combined_alloc_info 结构体 - // å‡å°‘çš„ total_size 为当å‰é‡Šæ”¾çš„å†…å­˜å¤§å° (sz), - // å‡å°‘çš„ number_of_allocs 为 1,表示本次释放 - const union combined_alloc_info decremental_cinfo = { - .total_size = sz, // å‡å°‘å†…å­˜å¤§å° - .number_of_allocs = 1 // å‡å°‘å†…å­˜åˆ†é…æ¬¡æ•° - }; - - // 使用 __sync_fetch_and_sub æ¥è¿›è¡ŒåŽŸå­å‡æ³•æ“作 - __sync_fetch_and_sub(&existing_cinfo->bits, decremental_cinfo.bits); -} - -// 在内存分é…进入时被调用,记录当å‰task分é…çš„å†…å­˜å¤§å° -static int gen_alloc_enter(u64 size) -{ - if (sample_rate > 1) { - if (bpf_ktime_get_ns() % sample_rate != 0) - return 0; - } - - u32 pid = bpf_get_current_pid_tgid() >> 32; - bpf_map_update_elem(&sizes,&pid,&size,BPF_ANY); - - return 0; -} - -// 在内存分é…退出时被调用,记录被分é…的内存本身的信æ¯ï¼Œæ¯”如对应的堆栈id,大å°ï¼Œåˆ†é…æ—¶é—´ -static int gen_alloc_exit2(void *ctx, u64 address) -{ - u32 pid = bpf_get_current_pid_tgid() >> 32; - struct alloc_info info; - - u64* size = bpf_map_lookup_elem(&sizes, &pid); - if (!size) - return 0; // missed alloc entry - - __builtin_memset(&info, 0, sizeof(info)); - - info.size = *size; - bpf_map_delete_elem(&sizes, &pid); - - if (address != 0) { - info.timestamp_ns = bpf_ktime_get_ns(); - - //info.stack_id = bpf_get_stackid(ctx, &stack_traces, stack_flags); - // info.stack_id = bpf_get_stackid(ctx, &stack_traces, 0 | BPF_F_FAST_STACK_CMP | BPF_F_USER_STACK); - info.stack_id = bpf_get_stackid(ctx, &stack_traces, 0 | BPF_F_FAST_STACK_CMP); - - int res = bpf_map_update_elem(&allocs, &address, &info, BPF_ANY); - if(res != 0) - { - bpf_printk("allocs update failed, error code is %i\n",res); - } - - update_statistics_add(info.stack_id, info.size); - //update_statistics_add(info.stack_id_usr,info.size); - } - - return 0; -} - -static int gen_alloc_exit(struct pt_regs *ctx) { - return gen_alloc_exit2(ctx, PT_REGS_RC(ctx)); -} - -// 内存释放时候清ç†ç›¸å…³çš„内存å—的记录 -static int gen_free_enter(const void *address) -{ - const u64 addr = (u64)address; - - const struct alloc_info *info = bpf_map_lookup_elem(&allocs, &addr); - if (!info) - return 0; - - bpf_map_delete_elem(&allocs, &addr); - update_statistics_del(info->stack_id, info->size); - - return 0; -} - -SEC("uprobe") -int BPF_KPROBE(malloc_enter, u64 size) -{ - return gen_alloc_enter(size); -} - -SEC("uretprobe") -int BPF_KRETPROBE(malloc_exit) -{ - return gen_alloc_exit(ctx); -} - -SEC("uprobe") -int BPF_KPROBE(free_enter, void *address) -{ - return gen_free_enter(address); -} - -SEC("uprobe") -int BPF_KPROBE(calloc_enter, u64 nmemb, u64 size) -{ - return gen_alloc_enter(nmemb * size); -} - -SEC("uretprobe") -int BPF_KRETPROBE(calloc_exit) -{ - return gen_alloc_exit(ctx); -} - -SEC("uprobe") -int BPF_KPROBE(realloc_enter, void *ptr, u64 size) -{ - gen_free_enter(ptr); - - return gen_alloc_enter(size); -} - -SEC("uretprobe") -int BPF_KRETPROBE(realloc_exit) -{ - return gen_alloc_exit(ctx); -} - -SEC("uprobe") -int BPF_KPROBE(mmap_enter, void *address, u64 size) -{ - return gen_alloc_enter(size); -} - -SEC("uretprobe") -int BPF_KRETPROBE(mmap_exit) -{ - return gen_alloc_exit(ctx); -} - -SEC("uprobe") -int BPF_KPROBE(munmap_enter, void *address) -{ - return gen_free_enter(address); -} - -// 记录用户æ€å†…存分é…ä¿¡æ¯ -SEC("uprobe") -int BPF_KPROBE(posix_memalign_enter, void **memptr, size_t alignment, size_t size) -{ - // 将传入的 memptr(指å‘内存的指针)转æ¢ä¸º 64 使— ç¬¦å·æ•´æ•°ç±»åž‹ - const u64 memptr64 = (u64)(size_t)memptr; - const u64 pid = bpf_get_current_pid_tgid() >> 32; - bpf_map_update_elem(&memptrs, &pid, &memptr64, BPF_ANY); - - return gen_alloc_enter(size); -} - -SEC("uretprobe") -int BPF_KRETPROBE(posix_memalign_exit) -{ - const u64 pid = bpf_get_current_pid_tgid() >> 32; - u64 *memptr64; - void *addr; - - // 清ç†ç”¨æˆ·æ€çš„å†…å­˜ä¿¡æ¯ - memptr64 = bpf_map_lookup_elem(&memptrs, &pid); - if (!memptr64) - return 0; - - bpf_map_delete_elem(&memptrs, &pid); - - if (bpf_probe_read_user(&addr, sizeof(void*), (void*)(size_t)*memptr64)) - return 0; - - const u64 addr64 = (u64)(size_t)addr; - - return gen_alloc_exit2(ctx, addr64); -} - -SEC("uprobe") -int BPF_KPROBE(aligned_alloc_enter, size_t alignment, size_t size) -{ - return gen_alloc_enter(size); -} - -SEC("uretprobe") -int BPF_KRETPROBE(aligned_alloc_exit) -{ - return gen_alloc_exit(ctx); -} - -SEC("uprobe") -int BPF_KPROBE(valloc_enter, size_t size) -{ - return gen_alloc_enter(size); -} - -SEC("uretprobe") -int BPF_KRETPROBE(valloc_exit) -{ - return gen_alloc_exit(ctx); -} - -SEC("uprobe") -int BPF_KPROBE(memalign_enter, size_t alignment, size_t size) -{ - return gen_alloc_enter(size); -} - -SEC("uretprobe") -int BPF_KRETPROBE(memalign_exit) -{ - return gen_alloc_exit(ctx); -} - -SEC("uprobe") -int BPF_KPROBE(pvalloc_enter, size_t size) -{ - return gen_alloc_enter(size); -} - -SEC("uretprobe") -int BPF_KRETPROBE(pvalloc_exit) -{ - return gen_alloc_exit(ctx); -} - -SEC("tracepoint/kmem/kmalloc") -int memleak__kmalloc(struct trace_event_raw_kmalloc *ctx){ - const void *ptr = BPF_CORE_READ(ctx, ptr); - u64 bytes_alloc = BPF_CORE_READ(ctx, bytes_alloc); - - gen_alloc_enter(bytes_alloc); - - return gen_alloc_exit2(ctx, (u64)ptr); -} - -SEC("tracepoint/kmem/kfree") -int memleak__kfree(struct trace_event_raw_kfree *ctx){ - const void *ptr = BPF_CORE_READ(ctx, ptr); - - return gen_free_enter(ptr); -} - -SEC("tracepoint/kmem/kmem_cache_alloc") -int memleak__kmem_cache_alloc_node(struct trace_event_raw_kmem_cache_alloc *ctx){ - const void *ptr = BPF_CORE_READ(ctx, ptr); - u64 bytes_alloc = BPF_CORE_READ(ctx, bytes_alloc); - - gen_alloc_enter(bytes_alloc); - - return gen_alloc_exit2(ctx, (u64)ptr); -} - -SEC("tracepoint/kmem/kmem_cache_free") -int memleak__kmem_cache_free(struct trace_event_raw_kmem_cache_free *ctx){ - const void *ptr = BPF_CORE_READ(ctx, ptr); - - return gen_free_enter(ptr); -} - -SEC("tracepoint/kmem/mm_page_alloc") -int memleak__mm_page_alloc(struct trace_event_raw_mm_page_alloc *ctx){ - gen_alloc_enter(page_size << ctx->order); - - return gen_alloc_exit2(ctx, ctx->pfn); -} - -SEC("tracepoint/kmem/mm_page_free") -int memleak__mm_page_free(struct trace_event_raw_mm_page_free *ctx) -{ - return gen_free_enter((void *)ctx->pfn); -} - -SEC("tracepoint/percpu/percpu_alloc_percpu") -int memleak__percpu_alloc_percpu(struct trace_event_raw_percpu_alloc_percpu *ctx) -{ - gen_alloc_enter(ctx->bytes_alloc); - - return gen_alloc_exit2(ctx, (u64)(ctx->ptr)); -} - -SEC("tracepoint/percpu/percpu_free_percpu") -int memleak__percpu_free_percpu(struct trace_event_raw_percpu_free_percpu *ctx) -{ - return gen_free_enter(ctx->ptr); -} \ No newline at end of file diff --git a/bpf/mm_stats.bpf.c b/bpf/mm_stats.bpf.c deleted file mode 100644 index 1d0c2cb..0000000 --- a/bpf/mm_stats.bpf.c +++ /dev/null @@ -1,638 +0,0 @@ -#include "vmlinux.h" -#include -#include -#include - -#include "mm_event.h" - -char LICENSE[] SEC("license") = "Dual BSD/GPL"; - -// 统计整体数æ®çš„map -DEFINE_BPF_MAP(task_mm_stats_map,BPF_MAP_TYPE_HASH,MAX_ENTRIES,u32,struct task_mm_stats); -DEFINE_BPF_MAP(process_mm_stats_map,BPF_MAP_TYPE_HASH,4096,u32,struct process_mm_stats); - -// 统计超出阈值数æ®çš„map -// 通过计算哈希值之åŽï¼Œä»¥å“ˆå¸Œå€¼ä¸ºå¥ï¼Œå­˜pid或tgid,首个数字表示当å‰bucket有几个有效的pid -DEFINE_BPF_MAP(task_mm_occupied_list,BPF_MAP_TYPE_ARRAY,GLOBAL_HASH_SIZE,u32,struct data_store); -DEFINE_BPF_MAP(process_mm_occupied_list,BPF_MAP_TYPE_ARRAY,GLOBAL_HASH_SIZE,u32,struct data_store); - -// 用户æ€ä¼ é€’阈值上æ¥ï¼Œä¸€ä¸ªå­˜task的,一个存processçš„ -DEFINE_BPF_MAP(threhold_map,BPF_MAP_TYPE_ARRAY,2,u32,struct mm_threhold); - -// çŽ¯å½¢ç¼“å†²åŒºä¼ é€’æ•°æ® -struct { - __uint(type, BPF_MAP_TYPE_RINGBUF); - __uint(max_entries, 256 * 1024); -} task_mm_stats_buffer SEC(".maps"); - -struct { - __uint(type, BPF_MAP_TYPE_RINGBUF); - __uint(max_entries, 128 * 1024); -} process_mm_stats_buffer SEC(".maps"); - -struct { - __uint(type, BPF_MAP_TYPE_RINGBUF); - __uint(max_entries, 256 * 1024); -} oom_event_buffer SEC(".maps"); - -static const u32 zero = 0; -static const u32 one = 1; - -SEC("kprobe/oom_kill_process") -int BPF_KPROBE(oom_kill_process, struct oom_control *oc, const char *message) -{ - struct oom_event *buff; - buff = bpf_ringbuf_reserve(&oom_event_buffer, sizeof(struct oom_event), 0); - if(!buff){ - bpf_printk("the oom_event_buff is full\n"); - return 0; - } - - u64 now = bpf_ktime_get_ns(); - buff->kill_time = now; - - struct task_struct *task; - bpf_probe_read(&task, sizeof(task), &oc->chosen); - bpf_probe_read(&buff->killed_id, sizeof(buff->killed_id), &task->pid); - - // 获å–被æ€è¿›ç¨‹çš„命令å (comm) - bpf_probe_read(&buff->comm, sizeof(buff->comm), &task->comm); - - buff->trigger_id = bpf_get_current_pid_tgid() & 0xFFFFFFFF; - bpf_ringbuf_submit(buff, 0); - - return 0; -} - -static u32 get_hash_index(u32 id){ - return id % GLOBAL_HASH_SIZE; -} - -static int task_compare_and_commit(struct task_mm_stats *task){ - struct mm_threhold *threhold = bpf_map_lookup_elem(&threhold_map,&zero); - if(!threhold){ - bpf_printk("mm_threhold map is not init\n"); - return 0; - } - - //bpf_printk("the current pid is %u\n",task->info.pid); - - u64 now = bpf_ktime_get_ns(); - if(task->last_clear_time + threhold->time_window < now){ - task->kmem_count = 0; - task->vmem_count = 0; - task->slab_count = 0; - task->last_clear_time = now; - task->already_output = 0; - bpf_map_update_elem(&task_mm_stats_map,&task->info.pid,task,BPF_ANY); - return 0; - } - - if(task->kmem_count >= threhold->kmem_threhold || task->slab_count >= threhold->slab_threhold || task->vmem_count >= threhold->vmem_threhold){ - if(task->already_output != 0) - return 0; - struct task_mm_stats *buff = bpf_ringbuf_reserve(&task_mm_stats_buffer, sizeof(struct task_mm_stats), 0); - if(!buff){ - bpf_printk("task_mm_stats_buff is full\n"); - return 0; - } - memset(buff,0,sizeof(struct task_mm_stats)); - buff->info.pid = task->info.pid; - buff->info.tgid = task->info.tgid; - bpf_probe_read_str(buff->info.comm,sizeof(task->info.comm),task->info.comm); - buff->kmem_count = task->kmem_count; - buff->slab_count = task->slab_count; - buff->vmem_count = task->vmem_count; - bpf_ringbuf_submit(buff,0); - - task->already_output = 1; - bpf_map_update_elem(&task_mm_stats_map,&task->info.pid,task,BPF_ANY); - } - return 0; -} - -static int process_compare_and_commit(struct process_mm_stats *process){ - struct mm_threhold *threhold = bpf_map_lookup_elem(&threhold_map,&one); - if(!threhold){ - bpf_printk("mm_threhold map is not init\n"); - return 0; - } - - u64 now = bpf_ktime_get_ns(); - if(process->last_clear_time + threhold->time_window < now){ - process->kmem_count = 0; - process->vmem_count = 0; - process->slab_count = 0; - process->last_clear_time = now; - process->already_output = 0; - bpf_map_update_elem(&process_mm_stats_map,&process->tgid,process,BPF_ANY); - return 0; - } - - if(process->kmem_count >= threhold->kmem_threhold || process->slab_count >= threhold->slab_threhold || process->vmem_count >= threhold->vmem_threhold){ - if(process->already_output != 0) - return 0; - struct process_mm_stats *buff = bpf_ringbuf_reserve(&process_mm_stats_buffer, sizeof(struct process_mm_stats), 0); - if(!buff){ - bpf_printk("process_mm_stats_buff is full\n"); - return 0; - } - memset(buff,0,sizeof(struct process_mm_stats)); - buff->tgid = process->tgid; - buff->kmem_count = process->kmem_count; - buff->slab_count = process->slab_count; - buff->vmem_count = process->vmem_count; - bpf_ringbuf_submit(buff,0); - - process->already_output = 1; - bpf_map_update_elem(&process_mm_stats_map,&process->tgid,process,BPF_ANY); - } - return 0; -} - -// operation 0 is insert, 1 is delete -static int update_mm_hash_map(u32 map_index,u32 hash_index,u32 value,u32 operation){ - if(map_index == 0){ - struct data_store *task = bpf_map_lookup_elem(&task_mm_occupied_list,&hash_index); - if(operation == 0){ - if(!task){ - struct data_store data; - data.list[0] = 1; - data.list[1] = value; - bpf_map_update_elem(&task_mm_occupied_list,&hash_index,&data,BPF_ANY); - } - else{ - if(task->list[0] < GLOBAL_HASH_BUCKET_SIZE){ - task->list[0] += 1; - u32 i = task->list[0]; - task->list[i] = value; - bpf_map_update_elem(&task_mm_occupied_list,&hash_index,task,BPF_ANY); - } - else{ - bpf_printk("The mm hash_list hash bucket is full\n"); - return -1; - } - } - } - else if(operation == 1){ - if(!task){ - struct data_store data; - data.list[0] = 0; - bpf_map_update_elem(&task_mm_occupied_list,&hash_index,&data,BPF_ANY); - } - else{ - if(task->list[0] > 0){ - u32 fin = task->list[0]; - for(u32 i=1;i fin) - break; - if(task->list[i] == value){ - // 和最åŽä¸€ä¸ªæœ‰æ•ˆå€¼äº¤æ¢ - task->list[i] = task->list[fin]; - task->list[0] -= 1; - break; - } - } - } - bpf_map_update_elem(&task_mm_occupied_list,&hash_index,task,BPF_ANY); - } - } - else{ - bpf_printk("mm hash_list operation index is invalid \n"); - } - }else if(map_index == 1){ - struct data_store *process = bpf_map_lookup_elem(&process_mm_occupied_list,&hash_index); - if(operation == 0){ - if(!process){ - struct data_store data; - data.list[0] = 1; - data.list[1] = value; - bpf_map_update_elem(&process_mm_occupied_list,&hash_index,&data,BPF_ANY); - } - else{ - if(process->list[0] < GLOBAL_HASH_BUCKET_SIZE){ - process->list[0] += 1; - u32 i = process->list[0]; - process->list[i] = value; - bpf_map_update_elem(&process_mm_occupied_list,&hash_index,process,BPF_ANY); - } - else{ - bpf_printk("The mm hash_list hash bucket is full\n"); - return -1; - } - } - } - else if(operation == 1){ - if(!process){ - struct data_store data; - data.list[0] = 0; - bpf_map_update_elem(&process_mm_occupied_list,&hash_index,&data,BPF_ANY); - } - else{ - if(process->list[0] > 0){ - u32 fin = process->list[0]; - for(u32 i=1;i fin) - break; - if(process->list[i] == value){ - // 和最åŽä¸€ä¸ªæœ‰æ•ˆå€¼äº¤æ¢ - process->list[i] = process->list[fin]; - process->list[0] -= 1; - break; - } - } - } - bpf_map_update_elem(&process_mm_occupied_list,&hash_index,process,BPF_ANY); - } - } - else{ - bpf_printk("mm hash_list operation index is invalid \n"); - } - }else{ - bpf_printk("mm hash_map map_index is invalid \n"); - } - - return 0; -} - -// SEC("raw_tp/sched_wakeup_new") -// int BPF_PROG(mm_sched_wakeup_new, struct task_struct *p){ -// u32 pid = BPF_CORE_READ(p,pid); -// if(pid == 0) -// return 0; -// u32 tgid = BPF_CORE_READ(p,tgid); -// u32 cpu_id = bpf_get_smp_processor_id(); -// struct task_mm_stats *task_use = bpf_map_lookup_elem(&task_mm_stats_map,&pid); -// if(!task_use){ -// struct task_info_simple info = init_task_info(p,cpu_id); -// struct task_mm_stats init_task = { -// .task_info = info -// }; -// bpf_map_update_elem(&task_mm_stats_map, &pid, &init_task, BPF_ANY); -// } - -// return 0; -// } - -// SEC("raw_tp/sched_wakeup") -// int BPF_PROG(mm_sched_wakeup, struct task_struct *p) -// { -// u32 pid = BPF_CORE_READ(p,pid); -// if(pid == 0) -// return 0; -// u32 tgid = BPF_CORE_READ(p,tgid); -// u32 cpu_id = bpf_get_smp_processor_id(); -// struct task_mm_stats *task_use = bpf_map_lookup_elem(&task_mm_stats_map,&pid); -// if(!task_use){ -// struct task_info_simple info = init_task_info(p,cpu_id); -// struct task_mm_stats init_task = { -// .task_info = info, -// }; -// bpf_map_update_elem(&task_mm_stats_map, &pid, &init_task, BPF_ANY); -// } -// else{ -// if(task_use->task_info.tgid == 0 || task_use->task_info.pid == 0) -// { -// task_use->task_info.tgid = tgid; -// task_use->task_info.pid = pid; -// bpf_map_update_elem(&task_mm_stats_map,&pid,task_use,BPF_ANY); -// } -// } - -// return 0; -// } - -// SEC("tracepoint/sched/sched_process_fork") -// int mm_task_create(struct trace_event_raw_sched_process_fork *ctx){ -// u32 pid_new = ctx->child_pid; -// u32 cpu_id = bpf_get_smp_processor_id(); -// struct task_cpu_usage *tk = bpf_map_lookup_elem(&task_cpu_usage_map,&pid_new); -// if(!tk){ -// struct task_info_simple info = { -// .pid = pid_new, -// .cpu_id = cpu_id -// }; -// bpf_probe_read_kernel_str(info.comm,sizeof(ctx->child_comm),ctx->child_comm); -// struct task_cpu_usage init_task = { -// .task_info = info, -// .in_kernel = false -// }; -// bpf_map_update_elem(&task_cpu_usage_map,&pid_new,&init_task,BPF_ANY); -// } -// return 0; -// } - -static struct task_mm_stats init_task_mm(u32 pid,u32 tgid){ - struct task_info_simple info = { - .pid = pid, - .tgid = tgid - }; - struct task_mm_stats init_task; - init_task.info = info; - return init_task; -} - -SEC("tracepoint/kmem/kmalloc") -int trace_kmalloc(struct trace_event_raw_kmem_alloc *ctx){ - u64 id = bpf_get_current_pid_tgid(); - u32 tgid = id >> 32; - u32 pid = id & 0xFFFFFFFF; - u64 now = bpf_ktime_get_ns(); - - if(pid == 0) - return 0; - - struct task_mm_stats *task = bpf_map_lookup_elem(&task_mm_stats_map,&pid); - if(!task){ - struct task_mm_stats init_task; - memset(&init_task, 0, sizeof(struct task_mm_stats)); - init_task.info.pid = pid; - init_task.info.tgid = tgid; - bpf_get_current_comm(init_task.info.comm,sizeof(init_task.info.comm)); - init_task.kmem_count = 1; - init_task.last_clear_time = now; - bpf_map_update_elem(&task_mm_stats_map,&pid,&init_task,BPF_ANY); - } - else{ - task->kmem_count += 1; - bpf_map_update_elem(&task_mm_stats_map,&pid,task,BPF_ANY); - task_compare_and_commit(task); - } - - struct process_mm_stats *process = bpf_map_lookup_elem(&process_mm_stats_map,&tgid); - if(!process){ - struct process_mm_stats init_process = { - .tgid = tgid, - .kmem_count = 1, - .last_clear_time = now, - .vmem_count = 0, - .slab_count = 0 - }; - - bpf_map_update_elem(&process_mm_stats_map,&tgid,&init_process,BPF_ANY); - } - else{ - process->kmem_count += 1; - bpf_map_update_elem(&process_mm_stats_map,&tgid,process,BPF_ANY); - process_compare_and_commit(process); - } - - return 0; -} - -SEC("tracepoint/kmem/kfree") -int trace_kfree(struct trace_event_raw_kmem_kfree *ctx){ - u64 id = bpf_get_current_pid_tgid(); - u32 tgid = id >> 32; - u32 pid = id & 0xFFFFFFFF; - u64 now = bpf_ktime_get_ns(); - - if(pid == 0) - return 0; - - struct task_mm_stats *task = bpf_map_lookup_elem(&task_mm_stats_map,&pid); - if(!task){ - struct task_mm_stats init_task; - memset(&init_task, 0, sizeof(struct task_mm_stats)); - init_task.info.pid = pid; - init_task.info.tgid = tgid; - bpf_get_current_comm(init_task.info.comm,sizeof(init_task.info.comm)); - init_task.kmem_count = 1; - init_task.last_clear_time = now; - bpf_map_update_elem(&task_mm_stats_map,&pid,&init_task,BPF_ANY); - } - else{ - task->kmem_count += 1; - bpf_map_update_elem(&task_mm_stats_map,&pid,task,BPF_ANY); - task_compare_and_commit(task); - } - - struct process_mm_stats *process = bpf_map_lookup_elem(&process_mm_stats_map,&tgid); - if(!process){ - struct process_mm_stats init_process = { - .tgid = tgid, - .kmem_count = 1, - .last_clear_time = now, - .vmem_count = 0, - .slab_count = 0 - }; - bpf_map_update_elem(&process_mm_stats_map,&tgid,&init_process,BPF_ANY); - } - else{ - process->kmem_count += 1; - bpf_map_update_elem(&process_mm_stats_map,&tgid,process,BPF_ANY); - process_compare_and_commit(process); - } - - return 0; -} - -SEC("tracepoint/kmem/mm_page_alloc") -int BPF_PROG(trace_page_alloc){ - u64 id = bpf_get_current_pid_tgid(); - u32 tgid = id >> 32; - u32 pid = id & 0xFFFFFFFF; - u64 now = bpf_ktime_get_ns(); - - if(pid == 0) - return 0; - - struct task_mm_stats *task = bpf_map_lookup_elem(&task_mm_stats_map,&pid); - if(!task){ - struct task_mm_stats init_task; - memset(&init_task, 0, sizeof(struct task_mm_stats)); - init_task.info.pid = pid; - init_task.info.tgid = tgid; - bpf_get_current_comm(init_task.info.comm,sizeof(init_task.info.comm)); - init_task.vmem_count = 1; - init_task.last_clear_time = now; - bpf_map_update_elem(&task_mm_stats_map,&pid,&init_task,BPF_ANY); - } - else{ - task->vmem_count += 1; - bpf_map_update_elem(&task_mm_stats_map,&pid,task,BPF_ANY); - task_compare_and_commit(task); - } - - struct process_mm_stats *process = bpf_map_lookup_elem(&process_mm_stats_map,&tgid); - if(!process){ - struct process_mm_stats init_process = { - .tgid = tgid, - .kmem_count = 0, - .last_clear_time = now, - .vmem_count = 1, - .slab_count = 0 - }; - bpf_map_update_elem(&process_mm_stats_map,&tgid,&init_process,BPF_ANY); - } - else{ - process->vmem_count += 1; - bpf_map_update_elem(&process_mm_stats_map,&tgid,process,BPF_ANY); - process_compare_and_commit(process); - } - - return 0; -} - -SEC("tracepoint/kmem/mm_page_free") -int BPF_PROG(trace_page_free){ - u64 id = bpf_get_current_pid_tgid(); - u32 tgid = id >> 32; - u32 pid = id & 0xFFFFFFFF; - u64 now = bpf_ktime_get_ns(); - - if(pid == 0) - return 0; - - struct task_mm_stats *task = bpf_map_lookup_elem(&task_mm_stats_map,&pid); - if(!task){ - struct task_mm_stats init_task; - memset(&init_task, 0, sizeof(struct task_mm_stats)); - init_task.info.pid = pid; - init_task.info.tgid = tgid; - bpf_get_current_comm(init_task.info.comm,sizeof(init_task.info.comm)); - init_task.vmem_count = 1; - init_task.last_clear_time = now; - bpf_map_update_elem(&task_mm_stats_map,&pid,&init_task,BPF_ANY); - } - else{ - task->vmem_count += 1; - bpf_map_update_elem(&task_mm_stats_map,&pid,task,BPF_ANY); - task_compare_and_commit(task); - } - - struct process_mm_stats *process = bpf_map_lookup_elem(&process_mm_stats_map,&tgid); - if(!process){ - struct process_mm_stats init_process = { - .tgid = tgid, - .kmem_count = 0, - .last_clear_time = now, - .vmem_count = 1, - .slab_count = 0 - }; - bpf_map_update_elem(&process_mm_stats_map,&tgid,&init_process,BPF_ANY); - } - else{ - process->vmem_count += 1; - bpf_map_update_elem(&process_mm_stats_map,&tgid,process,BPF_ANY); - process_compare_and_commit(process); - } - - return 0; -} - -SEC("tracepoint/kmem/kmem_cache_alloc") -int BPF_PROG(trace_cache_alloc){ - u64 id = bpf_get_current_pid_tgid(); - u32 tgid = id >> 32; - u32 pid = id & 0xFFFFFFFF; - u64 now = bpf_ktime_get_ns(); - - if(pid == 0) - return 0; - - struct task_mm_stats *task = bpf_map_lookup_elem(&task_mm_stats_map,&pid); - if(!task){ - struct task_mm_stats init_task; - memset(&init_task, 0, sizeof(struct task_mm_stats)); - init_task.info.pid = pid; - init_task.info.tgid = tgid; - bpf_get_current_comm(init_task.info.comm,sizeof(init_task.info.comm)); - init_task.slab_count = 1; - init_task.last_clear_time = now; - bpf_map_update_elem(&task_mm_stats_map,&pid,&init_task,BPF_ANY); - } - else{ - task->slab_count += 1; - bpf_map_update_elem(&task_mm_stats_map,&pid,task,BPF_ANY); - task_compare_and_commit(task); - } - - struct process_mm_stats *process = bpf_map_lookup_elem(&process_mm_stats_map,&tgid); - if(!process){ - struct process_mm_stats init_process = { - .tgid = tgid, - .kmem_count = 0, - .last_clear_time = now, - .vmem_count = 0, - .slab_count = 1 - }; - bpf_map_update_elem(&process_mm_stats_map,&tgid,&init_process,BPF_ANY); - } - else{ - process->slab_count += 1; - bpf_map_update_elem(&process_mm_stats_map,&tgid,process,BPF_ANY); - process_compare_and_commit(process); - } - - return 0; -} - - -SEC("tracepoint/kmem/kmem_cache_free") -int BPF_PROG(trace_cache_free){ - u64 id = bpf_get_current_pid_tgid(); - u32 tgid = id >> 32; - u32 pid = id & 0xFFFFFFFF; - u64 now = bpf_ktime_get_ns(); - - if(pid == 0) - return 0; - - struct task_mm_stats *task = bpf_map_lookup_elem(&task_mm_stats_map,&pid); - if(!task){ - struct task_mm_stats init_task; - memset(&init_task, 0, sizeof(struct task_mm_stats)); - init_task.info.pid = pid; - init_task.info.tgid = tgid; - bpf_get_current_comm(init_task.info.comm,sizeof(init_task.info.comm)); - init_task.slab_count = 1; - init_task.last_clear_time = now; - bpf_map_update_elem(&task_mm_stats_map,&pid,&init_task,BPF_ANY); - } - else{ - task->slab_count += 1; - bpf_map_update_elem(&task_mm_stats_map,&pid,task,BPF_ANY); - task_compare_and_commit(task); - } - - struct process_mm_stats *process = bpf_map_lookup_elem(&process_mm_stats_map,&tgid); - if(!process){ - struct process_mm_stats init_process = { - .tgid = tgid, - .kmem_count = 0, - .last_clear_time = now, - .vmem_count = 0, - .slab_count = 1 - }; - bpf_map_update_elem(&process_mm_stats_map,&tgid,&init_process,BPF_ANY); - } - else{ - process->slab_count += 1; - bpf_map_update_elem(&process_mm_stats_map,&tgid,process,BPF_ANY); - process_compare_and_commit(process); - } - - return 0; -} - -SEC("tracepoint/sched/sched_process_exit") -int BPF_PROG(handle_mm_task_exit){ - u64 pid_tgid = bpf_get_current_pid_tgid(); - u32 pid = pid_tgid & 0xFFFFFFFF; - u32 tgid = pid_tgid >> 32; - if(pid == 0 || tgid == 0) - return 0; - - if(bpf_map_lookup_elem(&task_mm_stats_map,&pid) != NULL){ - bpf_map_delete_elem(&task_mm_stats_map,&pid); - } - - // if(bpf_map_lookup_elem(&process_map,&tgid) == NULL && bpf_map_lookup_elem(&process_kids_map,&tgid) == NULL){ - // bpf_map_delete_elem(&process_mm_stats_map,&tgid); - // } - return 0; -} - - - diff --git a/bpf/net_stats.bpf.c b/bpf/net_stats.bpf.c deleted file mode 100644 index d1d9d71..0000000 --- a/bpf/net_stats.bpf.c +++ /dev/null @@ -1,559 +0,0 @@ -#include "vmlinux.h" -#include -#include -#include -#include - -#include "net_event.h" - -char LICENSE[] SEC("license") = "Dual BSD/GPL"; - -static u32 target_tgid = 0; - -const u32 zero = 0; - -static u64 tcptop_send_threhold = 5 * 1024;// 5kB -static u64 tcptop_recv_threhold = 10 * 1024;// 10kB - -static u32 filiter_id = 0; - -DEFINE_BPF_MAP(net_latency_start,BPF_MAP_TYPE_HASH,4096,struct sock *,struct task_public_info); -DEFINE_BPF_MAP(tcprtt_map,BPF_MAP_TYPE_ARRAY,1,u32,struct tcprtt_perf_data); - -// tcp_topçš„map -DEFINE_BPF_MAP(ipv4_top_map,BPF_MAP_TYPE_HASH,1024,struct ipv4_key_t,struct recv_send_bytes); -DEFINE_BPF_MAP(ipv6_top_map,BPF_MAP_TYPE_HASH,1024,struct ipv6_key_t,struct recv_send_bytes); -DEFINE_BPF_MAP(top_sock_store,BPF_MAP_TYPE_HASH,1024,u32,struct sock *); - -struct { - __uint(type, BPF_MAP_TYPE_RINGBUF); - __uint(max_entries, 512 * 1024); -} net_latency_buffer SEC(".maps"); - -struct { - __uint(type, BPF_MAP_TYPE_RINGBUF); - __uint(max_entries, 128 * 1024); -} tcprtt_buffer SEC(".maps"); - -struct { - __uint(type, BPF_MAP_TYPE_RINGBUF); - __uint(max_entries, 1024 * 1024); -} tcptop_buffer SEC(".maps"); - -struct { - __uint(type, BPF_MAP_TYPE_RINGBUF); - __uint(max_entries, 1024 * 1024); -} tcpretrans_buffer SEC(".maps"); - -static int net_trace_connect(struct sock *sk) -{ - u64 pid_tgid = bpf_get_current_pid_tgid(); - u32 pid = pid_tgid & 0xFFFFFFFF; - u32 tgid = pid_tgid >> 32; - u64 now = bpf_ktime_get_ns(); - - // if(tgid == 0 || tgid != target_tgid) - // return 0; - - if(tgid == 0) - return 0; - - struct task_public_info info = { - .pid = pid, - .tgid = tgid, - .time = now - }; - bpf_get_current_comm(&info.comm,sizeof(info.comm)); - - bpf_map_update_elem(&net_latency_start,&sk,&info,BPF_ANY); - return 0; -} - -static int handle_tcp_rcv_state_process(struct sock *sk) -{ - struct task_public_info *info; - struct tcp_net_latency *latency; - u64 delta; - u64 now; - - if(BPF_CORE_READ(sk, __sk_common.skc_state) != TCP_SYN_SENT) - return 0; - - info = bpf_map_lookup_elem(&net_latency_start,&sk); - if(!info) - return 0; - - now = bpf_ktime_get_ns(); - delta = now - info->time; - - latency = bpf_ringbuf_reserve(&net_latency_buffer,sizeof(struct tcp_net_latency),0); - if(!latency){ - bpf_printk("the net latency buffer is full\n"); - return 0; - } - memset(latency,0,sizeof(struct tcp_net_latency)); - latency->delta = delta; - latency->tgid = info->pid; - bpf_probe_read_kernel_str(latency->comm,sizeof(info->comm),info->comm); - latency->ts = now; - latency->lport = BPF_CORE_READ(sk, __sk_common.skc_num); - latency->dport = BPF_CORE_READ(sk, __sk_common.skc_dport); - latency->af = BPF_CORE_READ(sk, __sk_common.skc_family); - - if(latency->af == AF_INET){ - latency->src_addr.saddr_v4 = BPF_CORE_READ(sk, __sk_common.skc_rcv_saddr); - latency->dst_addr.daddr_v4 = BPF_CORE_READ(sk, __sk_common.skc_daddr); - } - else{ - BPF_CORE_READ_INTO(&latency->src_addr.saddr_v6,sk,__sk_common.skc_v6_rcv_saddr.in6_u.u6_addr32); - BPF_CORE_READ_INTO(&latency->dst_addr.daddr_v6,sk,__sk_common.skc_v6_daddr.in6_u.u6_addr32); - } - bpf_ringbuf_submit(latency,0); - - return 0; -} - -static int tcp_top_ringbuff_send(struct recv_send_bytes *bytes,struct ipv4_key_t *ip4, struct ipv6_key_t *ip6){ - if(!ip4 && !ip6 || !bytes) - return 0; - - u64 now = bpf_ktime_get_ns(); - if((now - bytes->last_output) < 1000 * MSEC) - return 0; - u64 send = bytes->send; - u64 recv = bytes->recv; - if(send < tcptop_send_threhold && recv < tcptop_recv_threhold) - return 0; - - struct tcp_top_perf_data *buff = bpf_ringbuf_reserve(&tcptop_buffer,sizeof(struct tcp_top_perf_data),0); - if(!buff){ - bpf_printk("the tcptop buffer is full\n"); - return 0; - } - memset(buff,0,sizeof(struct tcp_top_perf_data)); - buff->send = send; - buff->recv = recv; - if(ip4 != NULL){ - bpf_probe_read_str(buff->comm,sizeof(buff->comm),ip4->comm); - buff->af = AF_INET; - buff->pid = ip4->pid; - buff->dport = ip4->dport; - buff->lport = ip4->lport; - buff->dst_addr.daddr_v4 = ip4->daddr; - buff->src_addr.saddr_v4 = ip4->saddr; - bpf_ringbuf_submit(buff,0); - - bytes->last_output = now; - bpf_map_update_elem(&ipv4_top_map,ip4,bytes,BPF_ANY); - } - else if(ip6 != NULL){ - bpf_probe_read_str(buff->comm,sizeof(buff->comm),ip6->comm); - buff->af = AF_INET6; - buff->pid = ip6->pid; - buff->dport = ip6->dport; - buff->lport = ip6->lport; - bpf_probe_read(&buff->dst_addr.daddr_v6, sizeof(buff->dst_addr.daddr_v6), &ip6->daddr); - bpf_probe_read(&buff->src_addr.saddr_v6, sizeof(buff->src_addr.saddr_v6), &ip6->saddr); - - bpf_ringbuf_submit(buff,0); - - bytes->last_output = now; - bpf_map_update_elem(&ipv6_top_map,ip6,bytes,BPF_ANY); - } - return 0; -} - -static int tcp_top_sendstat(struct sock *sk, int size) { - //u32 pid = bpf_get_current_pid_tgid() >> 32; - u32 pid = bpf_get_current_pid_tgid() & 0xFFFFFFFF; - u16 family = 0, dport = 0; - u64 now = bpf_ktime_get_ns(); - - BPF_CORE_READ_INTO(&family,sk,__sk_common.skc_family); - - if (family == AF_INET){ - struct ipv4_key_t key; - memset(&key,0,sizeof(struct ipv4_key_t)); - key.pid = pid; - bpf_get_current_comm(&key.comm,sizeof(key.comm)); - BPF_CORE_READ_INTO(&key.saddr,sk,__sk_common.skc_rcv_saddr); - BPF_CORE_READ_INTO(&key.daddr,sk,__sk_common.skc_daddr); - BPF_CORE_READ_INTO(&key.lport,sk,__sk_common.skc_num); - BPF_CORE_READ_INTO(&dport,sk,__sk_common.skc_dport); - key.dport = bpf_ntohs(dport); - - struct recv_send_bytes *by = bpf_map_lookup_elem(&ipv4_top_map,&key); - if(!by){ - struct recv_send_bytes init = { - .send = size, - .recv = 0, - .last_output = now - }; - bpf_map_update_elem(&ipv4_top_map,&key,&init,BPF_ANY); - - tcp_top_ringbuff_send(&init,&key,NULL); - } - else{ - by->send += size; - bpf_map_update_elem(&ipv4_top_map,&key,by,BPF_ANY); - - tcp_top_ringbuff_send(by,&key,NULL); - } - } - else if(family == AF_INET6){ - struct ipv6_key_t key; - memset(&key,0,sizeof(struct ipv6_key_t)); - key.pid = pid; - bpf_get_current_comm(&key.comm,sizeof(key.comm)); - BPF_CORE_READ_INTO(&key.saddr,sk,__sk_common.skc_v6_rcv_saddr.in6_u.u6_addr32); - BPF_CORE_READ_INTO(&key.daddr,sk,__sk_common.skc_v6_daddr.in6_u.u6_addr32); - BPF_CORE_READ_INTO(&key.lport,sk,__sk_common.skc_num); - BPF_CORE_READ_INTO(&dport,sk,__sk_common.skc_dport); - key.dport = bpf_ntohs(dport); - - struct recv_send_bytes *by = bpf_map_lookup_elem(&ipv6_top_map,&key); - if(!by){ - struct recv_send_bytes init = { - .send = size, - .recv = 0, - .last_output = now - }; - bpf_map_update_elem(&ipv6_top_map,&key,&init,BPF_ANY); - - tcp_top_ringbuff_send(&init,NULL,&key); - } - else{ - by->send += size; - bpf_map_update_elem(&ipv6_top_map,&key,by,BPF_ANY); - - tcp_top_ringbuff_send(by,NULL,&key); - } - } - return 0; -} - -static int tcp_kprobe_retrans_event(struct sock *sk, struct sk_buff *skb, u32 type){ - if(!sk) - return 0; - - //u32 pid = bpf_get_current_pid_tgid() >> 32; - u32 pid = bpf_get_current_pid_tgid() & 0xFFFFFFFF; - if(pid == filiter_id) - return 0; - - u64 now = bpf_ktime_get_ns(); - // struct tcp_skb_cb *tcb = (struct tcp_skb_cb *)skb->cb; - // u32 seq = skb ? tcb->seq : 0; - u32 seq; - struct tcp_skb_cb tcb; - if (skb) { - bpf_probe_read_kernel(&tcb, sizeof(tcb), skb->cb); - seq = tcb.seq; - } else { - seq = 0; - } - // u16 family = sk->__sk_common.skc_family; - // u16 lport = sk->__sk_common.skc_num; - // u16 dport = bpf_ntohs(sk->__sk_common.skc_dport); - // u8 state = sk->__sk_common.skc_state; - u16 family,lport,dport; - u8 state; - bpf_probe_read_kernel(&family, sizeof(family), &sk->__sk_common.skc_family); - bpf_probe_read_kernel(&lport, sizeof(lport), &sk->__sk_common.skc_num); - bpf_probe_read_kernel(&dport, sizeof(dport), &sk->__sk_common.skc_dport); - bpf_probe_read_kernel(&state, sizeof(state), &sk->__sk_common.skc_state); - - char comm[TASK_COMM_LEN]; - bpf_get_current_comm(&comm, sizeof(comm)); - - if(family != AF_INET && family != AF_INET6) - return 0; - struct tcp_resubmit *buff = bpf_ringbuf_reserve(&tcpretrans_buffer,sizeof(struct tcp_resubmit),0); - if(!buff){ - bpf_printk("the tcp_retrans buffer is full\n"); - return 0; - } - memset(buff,0,sizeof(struct tcp_resubmit)); - buff->pid = pid; - buff->dport = dport; - buff->lport = lport; - buff->seq = seq; - buff->state = state; - buff->type = type; - buff->occur = now; - bpf_probe_read_str(buff->comm,sizeof(comm),comm); - - switch(family){ - case AF_INET:{ - buff->af = AF_INET; - u32 daddr,saddr; - bpf_probe_read_kernel(&daddr,sizeof(daddr),&sk->__sk_common.skc_daddr); - bpf_probe_read_kernel(&saddr,sizeof(saddr),&sk->__sk_common.skc_rcv_saddr); - buff->src_addr.saddr_v4 = saddr; - buff->dst_addr.daddr_v4 = daddr; - // buff->dst_addr.daddr_v4 = sk->__sk_common.skc_daddr; - // buff->src_addr.saddr_v4 = sk->__sk_common.skc_rcv_saddr; - bpf_ringbuf_submit(buff,0); - break; - } - case AF_INET6:{ - buff->af = AF_INET6; - bpf_probe_read_kernel(&buff->src_addr.saddr_v6, sizeof(buff->src_addr.saddr_v6), &sk->__sk_common.skc_v6_rcv_saddr); - bpf_probe_read_kernel(&buff->dst_addr.daddr_v6,sizeof(buff->dst_addr.daddr_v6),&sk->__sk_common.skc_v6_daddr); - bpf_ringbuf_submit(buff,0); - break; - } - default: - bpf_ringbuf_discard(buff, 0); - return 0; - } - - return 0; -} - - -// é‡ä¼ äº‹ä»¶è¿½è¸ª -SEC("tracepoint/tcp/tcp_retransmit_skb") -int trace_retransmit(struct tcp_retransmit_skb_event *ctx) { - struct sk_buff *skb = (struct sk_buff *)ctx->skbaddr; - struct sock *sk = (struct sock *)ctx->skaddr; - return tcp_kprobe_retrans_event(sk,skb,RETRANSMIT); -} - -// // TLP 事件追踪 -// SEC("kprobe/tcp_send_loss_probe") -// int trace_tlp(struct pt_regs *ctx, struct sock *sk) { -// return tcp_kprobe_retrans_event(sk,NULL,TLP); -// } - -// 下é¢ä¿©å¤„ç†tcptop -SEC("kprobe/tcp_sendmsg") -int BPF_KPROBE(top_tcp_send_entry, struct sock *sk){ - //u32 pid = bpf_get_current_pid_tgid() >> 32; - u32 pid = bpf_get_current_pid_tgid() & 0xFFFFFFFF; - bpf_map_update_elem(&top_sock_store,&pid,&sk,BPF_ANY); - return 0; -} - -SEC("kretprobe/tcp_sendmsg") -int BPF_KRETPROBE(top_tcp_send_ret, int ret){ - //u32 pid = bpf_get_current_pid_tgid() >> 32; - u32 pid = bpf_get_current_pid_tgid() & 0xFFFFFFFF; - struct sock **sockpp = bpf_map_lookup_elem(&top_sock_store, &pid); - if (!sockpp) - return 0; - - struct sock *sk = *sockpp; - if (ret > 0) { - tcp_top_sendstat(sk, ret); - } - - bpf_map_delete_elem(&top_sock_store, &pid); - - return 0; -} - -// SEC("kprobe/tcp_sendpage") -// int BPF_KPROBE(top_tcp_sendpage_entry, struct sock *sk, struct page *page, int offset, size_t size) -// { -// u32 pid = bpf_get_current_pid_tgid() >> 32; -// bpf_map_update_elem(&top_sock_store,&pid,&sk,BPF_ANY); -// return 0; -// } - -// SEC("kretprobe/tcp_sendpage") -// int BPF_KRETPROBE(top_tcp_sendpage_ret, int ret){ -// u32 pid = bpf_get_current_pid_tgid() >> 32; -// struct sock **sockpp = bpf_map_lookup_elem(&top_sock_store, &pid); -// if (!sockpp) -// return 0; - -// struct sock *sk = *sockpp; -// if (ret > 0) { -// tcp_top_sendstat(sk, ret); -// } - -// bpf_map_delete_elem(&top_sock_store, &pid); - -// return 0; -// } - -SEC("kprobe/tcp_cleanup_rbuf") -int BPF_KPROBE(top_tcp_recv_entry, struct sock *sk, int copied){ - if (copied <= 0) - return 0; - - //u32 pid = bpf_get_current_pid_tgid() >> 32; - u32 pid = bpf_get_current_pid_tgid() & 0xFFFFFFFF; - u16 family = 0, dport = 0; - u64 now = bpf_ktime_get_ns(); - - BPF_CORE_READ_INTO(&family,sk,__sk_common.skc_family); - - if (family == AF_INET){ - struct ipv4_key_t key; - memset(&key,0,sizeof(struct ipv4_key_t)); - key.pid = pid; - bpf_get_current_comm(&key.comm,sizeof(key.comm)); - BPF_CORE_READ_INTO(&key.saddr,sk,__sk_common.skc_rcv_saddr); - BPF_CORE_READ_INTO(&key.daddr,sk,__sk_common.skc_daddr); - BPF_CORE_READ_INTO(&key.lport,sk,__sk_common.skc_num); - BPF_CORE_READ_INTO(&dport,sk,__sk_common.skc_dport); - key.dport = bpf_ntohs(dport); - - struct recv_send_bytes *by = bpf_map_lookup_elem(&ipv4_top_map,&key); - if(!by){ - struct recv_send_bytes init = { - .send = 0, - .recv = copied, - .last_output = now - }; - bpf_map_update_elem(&ipv4_top_map,&key,&init,BPF_ANY); - - tcp_top_ringbuff_send(&init,&key,NULL); - } - else{ - by->recv += copied; - bpf_map_update_elem(&ipv4_top_map,&key,by,BPF_ANY); - - tcp_top_ringbuff_send(by,&key,NULL); - } - } - else if(family == AF_INET6){ - struct ipv6_key_t key; - memset(&key,0,sizeof(struct ipv6_key_t)); - key.pid = pid; - bpf_get_current_comm(&key.comm,sizeof(key.comm)); - BPF_CORE_READ_INTO(&key.saddr,sk,__sk_common.skc_v6_rcv_saddr.in6_u.u6_addr32); - BPF_CORE_READ_INTO(&key.daddr,sk,__sk_common.skc_v6_daddr.in6_u.u6_addr32); - BPF_CORE_READ_INTO(&key.lport,sk,__sk_common.skc_num); - BPF_CORE_READ_INTO(&dport,sk,__sk_common.skc_dport); - key.dport = bpf_ntohs(dport); - - struct recv_send_bytes *by = bpf_map_lookup_elem(&ipv6_top_map,&key); - if(!by){ - struct recv_send_bytes init = { - .send = 0, - .recv = copied, - .last_output = now - }; - bpf_map_update_elem(&ipv6_top_map,&key,&init,BPF_ANY); - - tcp_top_ringbuff_send(&init,NULL,&key); - } - else{ - by->recv += copied; - bpf_map_update_elem(&ipv6_top_map,&key,by,BPF_ANY); - - tcp_top_ringbuff_send(by,NULL,&key); - } - } - return 0; -} - -SEC("kprobe/tcp_v4_connect") -int BPF_KPROBE(tcp_v4_connect, struct sock *sk) -{ - return net_trace_connect(sk); -} - -SEC("kprobe/tcp_v6_connect") -int BPF_KPROBE(tcp_v6_connect, struct sock *sk) -{ - return net_trace_connect(sk); -} - -SEC("kprobe/tcp_rcv_state_process") -int BPF_KPROBE(tcp_rcv_state_process, struct sock *sk) -{ - return handle_tcp_rcv_state_process(sk); -} - -SEC("fentry/tcp_v4_connect") -int BPF_PROG(fentry_tcp_v4_connect, struct sock *sk) -{ - return net_trace_connect(sk); -} - -SEC("fentry/tcp_v6_connect") -int BPF_PROG(fentry_tcp_v6_connect, struct sock *sk) -{ - return net_trace_connect(sk); -} - -SEC("fentry/tcp_rcv_state_process") -int BPF_PROG(fentry_tcp_rcv_state_process, struct sock *sk) -{ - return handle_tcp_rcv_state_process(sk); -} - -SEC("fentry/tcp_rcv_established") -int BPF_PROG(tcprtt,struct sock *sk) -{ - const struct inet_sock *inet = (struct inet_sock *)(sk); - struct tcp_sock *ts; - u32 srtt; - - struct tcprtt_perf_data *data = bpf_map_lookup_elem(&tcprtt_map,&zero); - if(!data){ - // bpf_printk("the tcprtt map not init\n"); - // return 0; - struct tcprtt_perf_data init; - memset(&init,0,sizeof(struct tcprtt_perf_data)); - bpf_map_update_elem(&tcprtt_map,&zero,&init,BPF_ANY); - - data = bpf_map_lookup_elem(&tcprtt_map,&zero); - if(!data) - return 0; - } - ts = (struct tcp_sock *)(sk); - srtt = BPF_CORE_READ(ts, srtt_us) >> 3; // å°† srtt 从纳秒转æ¢ä¸ºå¾®ç§’ - - srtt /= 1000; // 转ms - - u32 index; - if(srtt <= 0) - index = 0; - else if(srtt < 5) - index = 1; - else if(srtt < 17) - index = 2; - else if(srtt < 33) - index = 3; - else if(srtt < 65) - index = 4; - else if(srtt < 129) - index = 5; - else if(srtt < 257) - index = 6; - else - index = 7; - - data->data[index] += 1; - bpf_map_update_elem(&tcprtt_map,&zero,data,BPF_ANY); - - return 0; -} - -SEC("perf_event") -int handle_tcprtt_event(struct bpf_perf_event_data *ctx){ - struct tcprtt_perf_data *src = bpf_map_lookup_elem(&tcprtt_map,&zero); - if(!src){ - bpf_printk("the tcprtt map is not init\n"); - return 0; - } - - struct tcprtt_perf_data *buff = bpf_ringbuf_reserve(&tcprtt_buffer,sizeof(struct tcprtt_perf_data),0); - if(!buff){ - bpf_printk("the tcprtt buffer is full\n"); - return 0; - } - memset(buff,0,sizeof(struct tcprtt_perf_data)); - - for(int i = 0;i<8;i++){ - buff->data[i] = src->data[i]; - } - bpf_ringbuf_submit(buff, 0); - - return 0; -} \ No newline at end of file diff --git a/bpf/scx_nest.bpf.c b/bpf/scx_nest.bpf.c new file mode 100644 index 0000000..933e29f --- /dev/null +++ b/bpf/scx_nest.bpf.c @@ -0,0 +1,884 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * As described in [0], a Nest scheduler which encourages task placement on + * cores that are likely to be running at higher frequency, based upon recent usage. + * + * [0]: https://hal.inria.fr/hal-03612592/file/paper.pdf + * + * It operates as a global weighted vtime scheduler (similarly to CFS), while + * using the Nest algorithm to choose idle cores at wakup time. + * + * It also demonstrates the following niceties. + * + * - More robust task placement policies. + * - Termination notification for userspace. + * + * While rather simple, this scheduler should work reasonably well on CPUs with + * a uniform L3 cache topology. While preemption is not implemented, the fact + * that the scheduling queue is shared across all CPUs means that whatever is + * at the front of the queue is likely to be executed fairly quickly given + * enough number of CPUs. + * + * Copyright (c) 2023 Meta Platforms, Inc. and affiliates. + * Copyright (c) 2023 David Vernet + * Copyright (c) 2023 Tejun Heo + */ +#include + +#include "scx_nest.h" + +#define TASK_DEAD 0x00000080 + +char _license[] SEC("license") = "Dual BSD/GPL"; + +enum { + FALLBACK_DSQ_ID = 0,// 默认调度队列的标识符。 + MSEC_PER_SEC = 1000LLU,// æ¯ç§’包å«çš„æ¯«ç§’数。 + USEC_PER_MSEC = 1000LLU,// æ¯æ¯«ç§’包å«çš„微秒数。 + NSEC_PER_USEC = 1000LLU,// æ¯å¾®ç§’包å«çš„纳秒数。 + NSEC_PER_MSEC = USEC_PER_MSEC * NSEC_PER_USEC,// æ¯æ¯«ç§’包å«çš„纳秒数。 + USEC_PER_SEC = USEC_PER_MSEC * MSEC_PER_SEC,// æ¯ç§’包å«çš„微秒数。 + NSEC_PER_SEC = NSEC_PER_USEC * USEC_PER_SEC,// æ¯ç§’包å«çš„纳秒数。 +}; + +// 定义了一个å®ï¼Œç”¨äºŽè¡¨ç¤ºç³»ç»Ÿå¯åŠ¨æ—¶é—´ç±»åž‹çš„æ—¶é’Ÿ +#define CLOCK_BOOTTIME 7 // CLOCK_BOOTTIME 是一个内核时钟æºï¼Œè¡¨ç¤ºä»Žç³»ç»Ÿå¯åŠ¨åˆ°å½“å‰çš„æŒ‚钟时间(包括休眠时间) +#define NUMA_NO_NODE -1 // NUMA节点标识,-1表示任务未绑定到任何NUMA节点 +#define COMPARE_COMM_LEN 6 // 用于比较的任务åç§°å‰ç¼€çš„ + +// 常é‡å®šä¹‰ï¼Œé€šå¸¸ç”¨äºŽè°ƒåº¦å™¨ä¸­çš„å„ç§è¶…æ—¶å’Œé™åˆ¶ +const volatile u64 p_remove_ns = 2 * NSEC_PER_MSEC;// Primary nest的移除时间阈值,å•ä½ä¸ºçº³ç§’ +//const volatile u64 p_remove_ns = 4 * NSEC_PER_MSEC;// 这里根æ®å®žéªŒæ”¹æˆäº†4ms +const volatile u64 r_max = 5; // Reserve nestçš„æœ€å¤§æ ¸å¿ƒæ•°é‡ +const volatile u64 r_impatient = 2; // 任务切æ¢çš„å®¹å¿æ¬¡æ•°é˜ˆå€¼ +const volatile u64 slice_ns = SCX_SLICE_DFL; // 默认时间片长度,具体值通过其他å®å®šä¹‰æˆ–é…ç½® +const volatile bool find_fully_idle = false; // 是å¦å¯ç”¨å¯»æ‰¾å®Œå…¨ç©ºé—²æ ¸å¿ƒçš„策略,false表示ä¸å¯ç”¨ +const volatile u64 sampling_cadence_ns = 1 * NSEC_PER_SEC; // 采样间隔时间,å•ä½ä¸ºçº³ç§’ +const volatile u64 r_depth = 5; // Reserve nestçš„æœç´¢æ·±åº¦é™åˆ¶ +const volatile bool filter_by_tgid = false; + + +// 用于统计信æ¯è·Ÿè¸ªã€‚这些值å¯èƒ½ä¼šæœ‰æ»žåŽ +u64 stats_primary_mask, stats_reserved_mask, stats_other_mask, stats_idle_mask; + +// ç”¨äºŽå†…éƒ¨è·Ÿè¸ªçš„é™æ€å˜é‡ +static s32 nr_reserved;// 当å‰reserve nestä¸­çš„æ ¸å¿ƒæ•°é‡ + +// 当å‰çš„虚拟时间戳,用于时间管ç†å’Œè°ƒåº¦å™¨é€»è¾‘ +static u64 vtime_now; + +// 内核中自定义的事件,用于æŸäº›å†…部状æ€è·Ÿè¸ªæˆ–记录日志 +UEI_DEFINE(uei); + +// 外部å˜é‡ï¼Œè¡¨ç¤ºå†…æ ¸é…置中设置的æ¯ç§’调度时钟滴答数(通常与系统定时器频率相关) +extern unsigned long CONFIG_HZ __kconfig;// CONFIG_HZ 表示系统的调度时钟频率,通常为100ã€250或1000 + +/* Per-task scheduling context */ +struct task_ctx { + /* + * 一个临时的 CPU 掩ç ï¼Œç”¨äºŽè®¡ç®—任务的 primary å’Œ reserve mask。 + * 它å¯èƒ½å­˜å‚¨ä»»åС当å‰å¯ç”¨æ ¸å¿ƒçš„集åˆã€‚ + */ + struct bpf_cpumask __kptr *tmp_mask; + + /* + * 记录任务观察到其上次è¿è¡Œæ ¸å¿ƒä¸ç©ºé—²çš„æ¬¡æ•°ã€‚ + * 如果连续å‘生 `r_impatient` 次,将å°è¯•从 Reserve Nest 或 Fallback Nest åˆ†é…æ ¸å¿ƒã€‚ + */ + u32 prev_misses; + + /* + * 任务“附加â€çš„æ ¸å¿ƒï¼šæœ€è¿‘连续两次以上è¿è¡Œçš„æ ¸å¿ƒã€‚ + * 唤醒时,任务会首先å°è¯•è¿ç§»åˆ°è¿™ä¸ªæ ¸å¿ƒã€‚ + * åªæœ‰å½“核心空闲且属于 Primary Nest 时,任务æ‰ä¼šè¿ç§»åˆ°è¯¥æ ¸å¿ƒã€‚ + */ + s32 attached_core; + + /* + * 任务最åŽä¸€æ¬¡è¿è¡Œçš„æ ¸å¿ƒã€‚ + * 用于决定任务是å¦éœ€è¦é™„加到下一次è¿è¡Œçš„æ ¸å¿ƒã€‚ + */ + s32 prev_cpu; +}; + +// 任务的 CPU 使用情况,å’Œcpu_event那边一样,这边引入是方便动æ€è°ƒèŠ‚æ—¶é—´ç‰‡ +struct task_info_simple{ + u32 pid; + u32 tgid; + u32 cpu_id; + char comm[TASK_COMM_LEN]; +}; + +// 任务的调度上下文 (task_ctx) +struct { + __uint(type, BPF_MAP_TYPE_TASK_STORAGE); + __uint(map_flags, BPF_F_NO_PREALLOC); + __type(key, int); + __type(value, struct task_ctx); +} task_ctx_stor SEC(".maps"); + +// æ¯ä¸ªç‰©ç†æ ¸å¿ƒçš„上下文信æ¯ï¼Œä¸»è¦ä¸Žæ ¸å¿ƒçš„压缩(compaction)状æ€ç›¸å…³ +struct pcpu_ctx { + /* + * 定时器,用于在核心从 Primary Nest 中移除时执行压缩æ“作。 + */ + struct bpf_timer timer; + + /* + * è¡¨ç¤ºå½“å‰æ ¸å¿ƒæ˜¯å¦å·²è¢«å®‰æŽ’进行压缩。 + */ + bool scheduled_compaction; +}; + +struct { + __uint(type, BPF_MAP_TYPE_ARRAY); + __uint(max_entries, 1024); + __type(key, s32); + __type(value, struct pcpu_ctx); +} pcpu_ctxs SEC(".maps"); + +struct stats_timer { + // ç»Ÿè®¡å®šæ—¶å™¨ï¼Œç”¨äºŽå…¨å±€ç»Ÿè®¡ä¿¡æ¯ + struct bpf_timer timer; +}; + +struct { + __uint(type, BPF_MAP_TYPE_ARRAY); + __uint(max_entries, 1); + __type(key, u32); + __type(value, struct stats_timer); +} stats_timer SEC(".maps"); + +/*-----------------å’Œcpu_statsäº¤äº’æ¥æŠ‘åˆ¶å¼‚å¸¸task-----------------------*/ +struct filter_inner_map { + __uint(type, BPF_MAP_TYPE_HASH); + __uint(max_entries, 102400); + __type(key, u32); + __type(value, u32); +} template_map SEC(".maps"); + + +struct{ + __uint(type, BPF_MAP_TYPE_ARRAY_OF_MAPS); + __uint(max_entries, 1); + __type(key, u32); + __array(values,struct filter_inner_map); +} fliter_map SEC(".maps"); + + +// 处ç†ç”¨æˆ·æ€ä¼ çš„å¯èƒ½è¢«è¯¯ä¼¤çš„任务å +struct { + __uint(type, BPF_MAP_TYPE_HASH); + __uint(max_entries, 1024); + __type(key, struct comm_info); + __type(value, u32); +} comm_ignore_map SEC(".maps"); + +// 处ç†ç”¨æˆ·æ€ä¼ çš„è¦åŽ»ç‰¹åˆ«æ³¨æ„的任务 +struct { + __uint(type, BPF_MAP_TYPE_HASH); + __uint(max_entries, 1024); + __type(key, struct comm_info); + __type(value, u32); +} comm_attention_map SEC(".maps"); + +// 处ç†ç”¨æˆ·æ€ä¼ çš„å¯èƒ½è¢«è¯¯ä¼¤çš„任务pid or tgid +struct { + __uint(type, BPF_MAP_TYPE_HASH); + __uint(max_entries, 1024); + __type(key, u32); + __type(value, u32); +} id_ignore_map SEC(".maps"); + +// 处ç†ç”¨æˆ·æ€ä¼ çš„è¦åŽ»ç‰¹åˆ«æ³¨æ„的任务pid or tgid +struct { + __uint(type, BPF_MAP_TYPE_HASH); + __uint(max_entries, 1024); + __type(key, u32); + __type(value, u32); +} id_attention_map SEC(".maps"); + +struct { + __uint(type, BPF_MAP_TYPE_RINGBUF); + __uint(max_entries, 512 * 1024); +} cpu_mask_buffer SEC(".maps"); + +const volatile u32 nr_cpus = 1; /* !0 for veristat, set during init. */ + +private(NESTS) struct bpf_cpumask __kptr *primary_cpumask;// 表示 Primary Nest 中å¯ç”¨çš„æ ¸å¿ƒé›†åˆ +private(NESTS) struct bpf_cpumask __kptr *reserve_cpumask;// 表示 Reserve Nest ä¸­çš„æ ¸å¿ƒé›†åˆ + +// 对于æ¯ä¸ªæ ¸å¿ƒï¼Œè®°å½•è¿è¡Œæ—¶çš„é‡è¦ç»Ÿè®¡ä¿¡æ¯ï¼Œå¦‚核心è¿ç§»ã€é™çº§ã€æå‡å’Œå®¹é‡é™åˆ¶ç­‰è¡Œä¸º +// æ¯ä¸ªé”®ä»£è¡¨ä¸€ç§ç»Ÿè®¡äº‹ä»¶ï¼Œä¾‹å¦‚ PROMOTED_TO_RESERVED 表示核心被æå‡åˆ° Reserve Nest +// æ¯ä¸ªå€¼ä»£è¡¨è¯¥äº‹ä»¶å‘生的次数 +// 通过 stat_inc è°ƒç”¨ï¼ŒåŠ¨æ€æ›´æ–°ç»Ÿè®¡è®¡æ•°ï¼Œç”¨äºŽåˆ†æžå’Œä¼˜åŒ–调度策略 +struct { + __uint(type, BPF_MAP_TYPE_PERCPU_ARRAY); + __uint(key_size, sizeof(u32)); + __uint(value_size, sizeof(u64)); + __uint(max_entries, NEST_STAT(NR)); +} stats SEC(".maps"); + + +static __always_inline void stat_inc(u32 idx) +{ + u64 *cnt_p = bpf_map_lookup_elem(&stats, &idx); + if (cnt_p) + (*cnt_p)++; +} + +// 比较两个虚拟时间 a å’Œ b,判断 a æ˜¯å¦æ—©äºŽ b +static inline bool vtime_before(u64 a, u64 b) +{ + return (s64)(a - b) < 0; +} + +// 试图将指定核心(cpu)标记为 Reserve 核心 +static __always_inline void +try_make_core_reserved(s32 cpu, struct bpf_cpumask * reserved, bool promotion) +{ + s32 tmp_nr_reserved; + + /* + * 这个检查å¯èƒ½ä¼šäº§ç”Ÿç«žäº‰æ¡ä»¶ï¼Œä½†é—®é¢˜ä¸å¤§ã€‚如果我们错误地 + * 未能将核心æå‡åˆ° Reserve Nest,是因为在这个å°çª—å£ä¸­ + * å¦ä¸€ä¸ªä¸Šä¸‹æ–‡æ·»åŠ æˆ–ç§»é™¤äº† Reserve æ ¸å¿ƒã€‚è¿™ç§æƒ…况会在åŽç»­ + * 唤醒中被平衡。 + */ + tmp_nr_reserved = nr_reserved; + // æ ¹æ®å½“å‰ Reserve 核心数é‡ï¼ˆnr_reserved)判断是å¦å¯ä»¥å°†æ ¸å¿ƒåŠ å…¥ Reserve Nest + // 如果å…许,将其标记为 Reserve 并更新统计信æ¯ï¼›å¦åˆ™ï¼Œè®°å½•达容é‡é™åˆ¶çš„æƒ…况 + if (tmp_nr_reserved < r_max) { + /* + * 这里å¯èƒ½ä¼šçŸ­æ—¶é—´è¶…过 r_max çš„é™åˆ¶ï¼Œä½†éšç€æ›´å¤šæ ¸å¿ƒè¢«é™çº§ + * 或未能被æå‡åˆ° Reserve Nestï¼Œè¿™ç§æƒ…况会被平衡。 + */ + __sync_fetch_and_add(&nr_reserved, 1);// 原å­å¢žåŠ  Reserve 核心计数 + bpf_cpumask_set_cpu(cpu, reserved);// 将指定的核心加入 Reserve æŽ©ç  + if (promotion) + stat_inc(NEST_STAT(PROMOTED_TO_RESERVED));// 统计核心被æå‡æ¬¡æ•° + else + stat_inc(NEST_STAT(DEMOTED_TO_RESERVED)); // 统计核心被é™çº§æ¬¡æ•° + } else { + bpf_cpumask_clear_cpu(cpu, reserved);// 如果 Reserve 已满,清除该核心 + stat_inc(NEST_STAT(RESERVED_AT_CAPACITY));// 统计 Reserve 达容é‡é™åˆ¶çš„æ¬¡æ•° + } +} + +// 更新任务上下文(task_ctxï¼‰ä¸­çš„æ ¸å¿ƒç»‘å®šä¿¡æ¯ +// å¦‚æžœä»»åŠ¡çš„å½“å‰æ ¸å¿ƒï¼ˆnew_cpu)与之å‰çš„æ ¸å¿ƒï¼ˆprev_cpu)相åŒï¼Œåˆ™å°†è¯¥æ ¸å¿ƒè®¾ç½®ä¸ºä»»åŠ¡çš„é™„åŠ æ ¸å¿ƒï¼ˆattached_core),以优化核心å¤ç”¨ +static void update_attached(struct task_ctx *tctx, s32 prev_cpu, s32 new_cpu) +{ + if (tctx->prev_cpu == new_cpu) + tctx->attached_core = new_cpu;// å¦‚æžœä»»åŠ¡çš„ä¸Šä¸€æ¬¡æ ¸å¿ƒä¸Žå½“å‰æ ¸å¿ƒç›¸åŒï¼Œåˆ™é™„åŠ åˆ°å½“å‰æ ¸å¿ƒ + tctx->prev_cpu = prev_cpu;// 更新任务的上一次核心记录 +} + +// 执行 Primary Nest 的核心压缩æ“ä½œï¼Œå°†å½“å‰æ ¸å¿ƒä»Ž Primary Nest é™çº§åˆ° Reserve Nest +// 当核心长时间未使用时(由定时器触å‘),调用该函数进行压缩 +static int compact_primary_core(void *map, int *key, struct bpf_timer *timer) +{ + struct bpf_cpumask *primary, *reserve; + s32 cpu = bpf_get_smp_processor_id(); + struct pcpu_ctx *pcpu_ctx; + + stat_inc(NEST_STAT(CALLBACK_COMPACTED));// 增加压缩æ“作的回调次数 + + /* + * å¦‚æžœè¿›å…¥äº†è¿™ä¸ªå›žè°ƒï¼Œè¯´æ˜Žå®šæ—¶å™¨çš„å›žè°ƒæœªè¢«å–æ¶ˆï¼Œå› æ­¤æ ¸å¿ƒéœ€è¦ + * 从 Primary Nest é™çº§ã€‚ + */ + pcpu_ctx = bpf_map_lookup_elem(&pcpu_ctxs, &cpu);// æŸ¥æ‰¾å½“å‰æ ¸å¿ƒçš„上下文 + if (!pcpu_ctx) { + scx_bpf_error("Couldn't lookup pcpu ctx");// 如果上下文为空,记录错误并退出 + return 0; + } + bpf_rcu_read_lock();// 加é”ä»¥ä¿æŠ¤è®¿é—® + primary = primary_cpumask; // èŽ·å– Primary Nest çš„æ ¸å¿ƒæŽ©ç  + reserve = reserve_cpumask; // èŽ·å– Reserve Nest çš„æ ¸å¿ƒæŽ©ç  + if (!primary || !reserve) { + scx_bpf_error("Couldn't find primary or reserve");// 如果任何一个掩ç ä¸ºç©ºï¼Œè®°å½•错误并退出 + bpf_rcu_read_unlock(); + return 0; + } + + // 将当剿 ¸å¿ƒä»Ž Primary Nest 移除 + bpf_cpumask_clear_cpu(cpu, primary); + // å°è¯•将核心é™çº§åˆ° Reserve Nest + try_make_core_reserved(cpu, reserve, false); + bpf_rcu_read_unlock();// è§£é” + + // æ›´æ–°æ ¸å¿ƒä¸Šä¸‹æ–‡çš„åŽ‹ç¼©çŠ¶æ€ + pcpu_ctx->scheduled_compaction = false; + return 0; +} + +// 对于处ç†è¿‡äº†ï¼Œç›¸å½“于dispatch了,就return 0,å¦åˆ™return 1交给正常调度 +static int operate_bad_guys(struct task_struct *p,u64 enq_flags){ + // 对于内核任务直接跳了,怕影å“出问题 + if(p->flags & PF_KTHREAD) + return 1; + struct comm_info name; + bpf_probe_read_kernel_str(name.comm,sizeof(p->comm),p->comm); + + u32 pid = p->pid; + u32 tgid = p->tgid; + + // 跳过误伤åå•çš„ + u32 *ident = bpf_map_lookup_elem(&comm_ignore_map,&name); + if(ident){ + return 1; + } + + u32 *ident_id; + + ident = bpf_map_lookup_elem(&id_ignore_map,&pid); + if(ident){ + return 1; + } + if(filter_by_tgid){ + ident = bpf_map_lookup_elem(&id_ignore_map,&tgid); + if(ident){ + return 1; + } + } + + // 对特别关注的问题任务控制调度 + ident = bpf_map_lookup_elem(&comm_attention_map,&name); + ident_id = bpf_map_lookup_elem(&id_attention_map,&pid); + u32 *ident_tgid = NULL; + if(filter_by_tgid){ + ident_tgid = bpf_map_lookup_elem(&id_attention_map,&tgid); + } + if(ident || ident_id || ident_tgid){ + u64 vtime = p->scx.dsq_vtime;// 获å–任务的虚拟时间 + if (vtime_before(vtime, vtime_now - slice_ns)) + vtime = vtime_now - slice_ns; + scx_bpf_dispatch_vtime(p, FALLBACK_DSQ_ID, slice_ns/2, vtime, + enq_flags); + return 0; + } + + u32 zero = 0; + struct filter_inner_map *bad_guy = bpf_map_lookup_elem(&fliter_map,&zero); + if(bad_guy){ + ident = bpf_map_lookup_elem(bad_guy,&pid); + if(ident){ + u64 vtime = p->scx.dsq_vtime;// 获å–任务的虚拟时间 + if (vtime_before(vtime, vtime_now - slice_ns)) + vtime = vtime_now - slice_ns; + scx_bpf_dispatch_vtime(p, FALLBACK_DSQ_ID, slice_ns/2, vtime, + enq_flags); + return 0; + } + } + + return 1; +} + +s32 BPF_STRUCT_OPS(nest_select_cpu, struct task_struct *p, s32 prev_cpu, + u64 wake_flags) +{ + struct bpf_cpumask *p_mask, *primary, *reserve; + s32 cpu; + struct task_ctx *tctx; + struct pcpu_ctx *pcpu_ctx; + bool direct_to_primary = false, reset_impatient = true; + + // åˆå§‹åŒ–å’Œä¸Šä¸‹æ–‡èŽ·å– + tctx = bpf_task_storage_get(&task_ctx_stor, p, 0, 0); + if (!tctx) + return -ENOENT; + + // èŽ·å– Primary å’Œ Reserve Nest 的核心掩ç ï¼Œç”¨äºŽåŽç»­çš„æ ¸å¿ƒé€‰æ‹© + bpf_rcu_read_lock(); + p_mask = tctx->tmp_mask; + primary = primary_cpumask; + reserve = reserve_cpumask; + if (!p_mask || !primary || !reserve) { + bpf_rcu_read_unlock(); + return -ENOENT; + } + + tctx->prev_cpu = prev_cpu; + + bpf_cpumask_and(p_mask, p->cpus_ptr, cast_mask(primary)); + + /* First try to wake the task on its attached core. */ + // 如果任务附加的核心(attached_core)处于空闲状æ€ï¼Œç›´æŽ¥é€‰æ‹©è¯¥æ ¸å¿ƒ + if (bpf_cpumask_test_cpu(tctx->attached_core, cast_mask(p_mask)) && + scx_bpf_test_and_clear_cpu_idle(tctx->attached_core)) { + cpu = tctx->attached_core; + stat_inc(NEST_STAT(WAKEUP_ATTACHED)); + goto migrate_primary; + } + + /* + * Try to stay on the previous core if it's in the primary set, and + * there's no hypertwin. If the previous core is the core the task is + * attached to, don't bother as we already just tried that above. + */ + // å°è¯•å¤ç”¨ä»»åŠ¡çš„ä¸Šæ¬¡æ ¸å¿ƒï¼ˆprev_cpu) + // 如果任务的上次核心(prev_cpu)ä¸ç­‰äºŽé™„加核心,并且空闲,则选择上次核心 + if (prev_cpu != tctx->attached_core && + bpf_cpumask_test_cpu(prev_cpu, cast_mask(p_mask)) && + scx_bpf_test_and_clear_cpu_idle(prev_cpu)) { + cpu = prev_cpu; + stat_inc(NEST_STAT(WAKEUP_PREV_PRIMARY)); + goto migrate_primary; + } + + // Primary Nest 中寻找空闲核心 + // 如果å¯ç”¨äº†å¯»æ‰¾å®Œå…¨ç©ºé—²æ ¸å¿ƒçš„策略,优先选择 Primary Nest 中完全空闲的核心 + if (find_fully_idle) { + /* Then try any fully idle core in primary. */ + cpu = scx_bpf_pick_idle_cpu(cast_mask(p_mask), + SCX_PICK_IDLE_CORE); + if (cpu >= 0) { + stat_inc(NEST_STAT(WAKEUP_FULLY_IDLE_PRIMARY)); + goto migrate_primary; + } + } + + /* Then try _any_ idle core in primary, even if its hypertwin is active. */ + // 如果未找到完全空闲核心,则选择任æ„空闲核心 + cpu = scx_bpf_pick_idle_cpu(cast_mask(p_mask), 0); + if (cpu >= 0) { + stat_inc(NEST_STAT(WAKEUP_ANY_IDLE_PRIMARY)); + goto migrate_primary; + } + + // r_impatient 用于控制任务切æ¢çš„å®¹å¿æ¬¡æ•° + // 如果任务连续 r_impatient 次未能分é…到 Primary Nest 中的核心,则认为任务å˜å¾— "ä¸è€çƒ¦" + // prev_misses 记录任务连续未能分é…到 Primary Nest 中的核心的次数,记录任务未分é…到åˆé€‚核心的连续失败次数 + if (r_impatient > 0 && ++tctx->prev_misses >= r_impatient) { + direct_to_primary = true;// 设置 direct_to_primary = true,表示任务在下一步会直接选择 Primary Nest 的核心 + tctx->prev_misses = 0; + stat_inc(NEST_STAT(TASK_IMPATIENT));// 统计一次 "任务ä¸è€çƒ¦" 事件(TASK_IMPATIENT) + } + + reset_impatient = false; + + /* Then try any fully idle core in reserve. */ + // 如果 Primary Nest 中没有åˆé€‚çš„æ ¸å¿ƒï¼Œåˆ™è½¬å‘ Reserve Nest + bpf_cpumask_and(p_mask, p->cpus_ptr, cast_mask(reserve)); + if (find_fully_idle) { + cpu = scx_bpf_pick_idle_cpu(cast_mask(p_mask), + SCX_PICK_IDLE_CORE); + if (cpu >= 0) { + stat_inc(NEST_STAT(WAKEUP_FULLY_IDLE_RESERVE)); + goto promote_to_primary; + } + } + + /* Then try _any_ idle core in reserve, even if its hypertwin is active. */ + // 如果没有完全空闲核心,选择 Reserve Nest 中任æ„空闲核心 + cpu = scx_bpf_pick_idle_cpu(cast_mask(p_mask), 0); + if (cpu >= 0) { + stat_inc(NEST_STAT(WAKEUP_ANY_IDLE_RESERVE)); + goto promote_to_primary;// 如果找到核心,则将其æå‡åˆ° Primary Nest + } + + /* Then try _any_ idle core in the task's cpumask. */ + // 在任务å…许的 CPU 集åˆä¸­å¯»æ‰¾ç©ºé—²æ ¸å¿ƒ + // 如果 Primary å’Œ Reserve Nest 都没有å¯ç”¨æ ¸å¿ƒï¼Œåˆ™å°è¯•任务å…许的 CPU 集åˆï¼ˆp->cpus_ptr) + cpu = scx_bpf_pick_idle_cpu(p->cpus_ptr, 0);// 从任务å…许的 CPU 集åˆä¸­é€‰æ‹©ä»»æ„空闲核心 + if (cpu >= 0) { + /* + * We found a core that (we didn't _think_) is in any nest. + * This means that we need to either promote the core to the + * reserve nest, or if we're going direct to primary due to + * r_impatient being exceeded, promote directly to primary. + * + * We have to do one final check here to see if the core is in + * the primary or reserved cpumask because we could potentially + * race with the core changing states between AND'ing the + * primary and reserve masks with p->cpus_ptr above, and + * atomically reserving it from the idle mask with + * scx_bpf_pick_idle_cpu(). This is also technically true of + * the checks above, but in all of those cases we just put the + * core directly into the primary mask so it's not really that + * big of a problem. Here, we want to make sure that we don't + * accidentally put a core into the reserve nest that was e.g. + * already in the primary nest. This is unlikely, but we check + * for it on what should be a relatively cold path regardless. + */ + stat_inc(NEST_STAT(WAKEUP_IDLE_OTHER)); + if (bpf_cpumask_test_cpu(cpu, cast_mask(primary)))// 如果核心属于 Primary Nest,直接è¿ç§» + goto migrate_primary; + else if (bpf_cpumask_test_cpu(cpu, cast_mask(reserve)))// 如果核心属于 Reserve Nest,æå‡åˆ° Primary Nest + goto promote_to_primary; + else if (direct_to_primary)// 当任务连续r_impatient次未分é…到Primary Nest的核心,就会直接进入promote_to_primary路径 + goto promote_to_primary; + else + try_make_core_reserved(cpu, reserve, true);// 如果ä¸å±žäºŽä»»ä½• Nest,将其标记为 Reserve 核心 + bpf_rcu_read_unlock(); + return cpu; + } + + bpf_rcu_read_unlock(); + return prev_cpu; + + +// promote_to_primary å’Œ migrate_primary æ˜¯å¤„ç†æ ¸å¿ƒçжæ€è°ƒæ•´çš„两个关键路径 +// 分别实现核心从 Reserve æå‡åˆ° Primary 和直接è¿ç§»åˆ° Primary +// promote_to_primary就多了个统计PROMOTED_TO_PRIMARY æå‡äº‹ä»¶ +promote_to_primary: + stat_inc(NEST_STAT(PROMOTED_TO_PRIMARY)); +migrate_primary:// 直接è¿ç§»åˆ° Primary + // 如果 reset_impatient 为真(任务在 Reserve Nest 未达到 r_impatient 阈值时分é…到核心) + // 则é‡ç½® prev_misses è®¡æ•°ï¼Œè¡¨ç¤ºä»»åŠ¡åˆ†é…æˆåŠŸï¼Œç»“æŸå½“å‰è¿žç»­å¤±è´¥çŠ¶æ€ + if (reset_impatient) + tctx->prev_misses = 0; + pcpu_ctx = bpf_map_lookup_elem(&pcpu_ctxs, &cpu); + // 如果核心已被标记为å³å°†ä»Ž Primary Nest 移除(scheduled_compaction ä¸ºçœŸï¼‰ï¼Œåˆ™å–æ¶ˆå¯¹åº”的压缩定时器,防止核心被错误移除 + if (pcpu_ctx) { + if (pcpu_ctx->scheduled_compaction) { + // 如果核心被标记为å³å°†è¢«åŽ‹ç¼©ï¼Œä»Ž Primary Nest ç§»é™¤ï¼Œåˆ™å–æ¶ˆå®šæ—¶å™¨ + // 核心被压缩(compaction),指的是将Primary Nest 中长时间未使用或低优先级的核心移出 Primary Nest,并将其é™çº§åˆ° Reserve Nest æˆ–å…¶ä»–çŠ¶æ€ + if (bpf_timer_cancel(&pcpu_ctx->timer) < 0) + scx_bpf_error("Failed to cancel pcpu timer"); + // 釿–°è®¾ç½®æ ¸å¿ƒåŽ‹ç¼©çš„å›žè°ƒå‡½æ•° + if (bpf_timer_set_callback(&pcpu_ctx->timer, compact_primary_core)) + scx_bpf_error("Failed to re-arm pcpu timer"); + // 标记核心ä¸å†å¤„于压缩计划中 + pcpu_ctx->scheduled_compaction = false; + // è®°å½•ç»Ÿè®¡äº‹ä»¶ï¼šåŽ‹ç¼©å®šæ—¶å™¨è¢«å–æ¶ˆ + stat_inc(NEST_STAT(CANCELLED_COMPACTION)); + } + } else { + scx_bpf_error("Failed to lookup pcpu ctx"); + } + // 标记核心为 Primary æˆå‘˜ + bpf_cpumask_set_cpu(cpu, primary); + /* + * Check to see whether the CPU is in the reserved nest. This can + * happen if the core is compacted concurrently with us trying to place + * the currently-waking task onto it. Similarly, this is the expected + * state of the core if we found the core in the reserve nest and are + * promoting it. + * + * We don't have to worry about racing with any other waking task here + * because we've atomically reserved the core with (some variant of) + * scx_bpf_pick_idle_cpu(). + */ + // // å¦‚æžœæ ¸å¿ƒåŒæ—¶å­˜åœ¨äºŽ Reserve Nest,则更新 Reserve 状æ€,从 Reserve Nest 中移除核心 + if (bpf_cpumask_test_cpu(cpu, cast_mask(reserve))) { + __sync_sub_and_fetch(&nr_reserved, 1); + bpf_cpumask_clear_cpu(cpu, reserve); + } + bpf_rcu_read_unlock(); + // 调用 update_attached 更新任务的附加核心(attached_core)和å‰ä¸€æ¬¡è¿è¡Œæ ¸å¿ƒï¼ˆprev_cpu),为下一次调度åšå‡†å¤‡ + update_attached(tctx, prev_cpu, cpu); + //scx_bpf_dispatch(p, SCX_DSQ_LOCAL, slice_ns, 0); + + // 开始过滤特殊任务 + int ret = operate_bad_guys(p,0); + if(ret == 1) + scx_bpf_dispatch(p, SCX_DSQ_LOCAL_ON | cpu , slice_ns, 0); + //scx_bpf_dispatch(p, SCX_DSQ_LOCAL_ON | cpu , slice_ns, 0); + return cpu; +} + +void BPF_STRUCT_OPS(nest_enqueue, struct task_struct *p, u64 enq_flags) +{ + struct task_ctx *tctx; + u64 vtime = p->scx.dsq_vtime;// 获å–任务的虚拟时间 + + tctx = bpf_task_storage_get(&task_ctx_stor, p, 0, 0); + if (!tctx) { + scx_bpf_error("Unable to find task ctx"); + return; + } + + /* + * é™åˆ¶ä»»åŠ¡çš„è™šæ‹Ÿæ—¶é—´ç´¯è®¡ã€‚ + * 如果任务已ç»é•¿æ—¶é—´æœªè¢«è°ƒåº¦ï¼Œè™šæ‹Ÿæ—¶é—´ä¸åº”超过一个 slice。 + */ + // 这样å¯ä»¥é™åˆ¶ä»»åŠ¡ç§¯ç´¯è¿‡å¤šæœªä½¿ç”¨çš„é¢„ç®—ï¼Œé¿å…长时间未调度的任务çªç„¶æŠ¢å å¤§é‡ CPU æ—¶é—´ + if (vtime_before(vtime, vtime_now - slice_ns)) + vtime = vtime_now - slice_ns; + + // 开始过滤特殊任务 + int ret = operate_bad_guys(p,enq_flags); + if(ret == 1) + scx_bpf_dispatch_vtime(p, FALLBACK_DSQ_ID, slice_ns, vtime, + enq_flags); +} + +// 消耗在global dsq的任务 +void BPF_STRUCT_OPS(nest_dispatch, s32 cpu, struct task_struct *prev) +{ + struct pcpu_ctx *pcpu_ctx; + struct bpf_cpumask *primary, *reserve; + s32 key = cpu; + bool in_primary; + + primary = primary_cpumask; + reserve = reserve_cpumask; + if (!primary || !reserve) { + scx_bpf_error("No primary or reserve cpumask"); + return; + } + + pcpu_ctx = bpf_map_lookup_elem(&pcpu_ctxs, &key); + if (!pcpu_ctx) { + scx_bpf_error("Failed to lookup pcpu ctx"); + return; + } + + // 如果队列中的任务被消耗完了,å³scx_bpf_consume(FALLBACK_DSQ_ID) 返回 false + if (!scx_bpf_consume(FALLBACK_DSQ_ID)) { + // 使用 bpf_cpumask_test_cpu æ£€æµ‹å½“å‰æ ¸å¿ƒæ˜¯å¦ä»ç„¶å±žäºŽ Primary Nest + in_primary = bpf_cpumask_test_cpu(cpu, cast_mask(primary)); + + // 如果上一个任务(prev)ä»ç„¶åœ¨ä»»åŠ¡é˜Ÿåˆ—ä¸­ï¼ˆSCX_TASK_QUEUEDï¼‰ï¼Œå¹¶ä¸”å½“å‰æ ¸å¿ƒå±žäºŽ Primary Nestï¼Œåˆ™é‡æ–°æ´¾å‘该任务 + // é¿å…核心进入空闲状æ€ï¼Œç¡®ä¿èµ„æºè¢«å……分利用 + // 这里逻辑总感觉有些问题,如果prev所在的cpuçš„scx_rqä¸ä¸ºå½“å‰cpu,直接分派到当å‰cpuçš„scx_rqä¸ä¼šå‡ºé—®é¢˜å— + if (prev && (prev->scx.flags & SCX_TASK_QUEUED) && in_primary) { + scx_bpf_dispatch(prev, SCX_DSQ_LOCAL, slice_ns, 0); + return; + } + + // 如果当å‰ä»»åŠ¡é˜Ÿåˆ—æ²¡æœ‰ä»»åŠ¡è¢«æ¶ˆè´¹ï¼Œè®°å½•ä¸€æ¬¡ NOT_CONSUMED 事件,便于åŽç»­åˆ†æžå’Œä¼˜åŒ– + stat_inc(NEST_STAT(NOT_CONSUMED)); + if (in_primary) { // 如果核心在 Primary Nest + /* + * Immediately demote a primary core if the previous + * task on it is dying + * + * Note that we elect to not compact the "first" CPU in + * the mask so as to encourage at least one core to + * remain in the nest. It would be better to check for + * whether there is only one core remaining in the + * nest, but BPF doesn't yet have a kfunc for querying + * cpumask weight. + */ + /* + * 如果上一个任务已ç»ç»“æŸï¼Œåˆ™ç«‹å³åŽ‹ç¼©æ ¸å¿ƒã€‚ + * 但ä¿è¯è‡³å°‘有一个核心ä¿ç•™åœ¨ Primary Nest。 + */ + if ((prev && prev->__state == TASK_DEAD) && + (cpu != bpf_cpumask_first(cast_mask(primary)))) { + // ç«‹å³é™çº§æ ¸å¿ƒåˆ° Reserve Nest + stat_inc(NEST_STAT(EAGERLY_COMPACTED));// 统计急切压缩事件 + bpf_cpumask_clear_cpu(cpu, primary);// 从 Primary Nest 中移除核心 + try_make_core_reserved(cpu, reserve, false);// é™çº§æ ¸å¿ƒåˆ° Reserve Nest + } else { + // 延迟压缩核心 + pcpu_ctx->scheduled_compaction = true;// 标记核心需è¦åŽ‹ç¼© + /* + * The core isn't being used anymore. Set a + * timer to remove the core from the nest in + * p_remove if it's still unused by that point. + */ + /* + * è®¾ç½®åŽ‹ç¼©å®šæ—¶å™¨ï¼Œåœ¨æŒ‡å®šæ—¶é—´åŽæ£€æŸ¥æ ¸å¿ƒæ˜¯å¦ä»ç„¶æœªè¢«ä½¿ç”¨ã€‚ + */ + bpf_timer_start(&pcpu_ctx->timer, p_remove_ns, + BPF_F_TIMER_CPU_PIN); + stat_inc(NEST_STAT(SCHEDULED_COMPACTION)); + } + } + return; + } + stat_inc(NEST_STAT(CONSUMED)); +} + +// 更新全局虚拟时间(vtime_now)以确ä¿è™šæ‹Ÿæ—¶é—´å§‹ç»ˆå‘å‰æŽ¨è¿› +// 在任务开始è¿è¡Œæ—¶è°ƒç”¨ï¼Œç”¨äºŽåŒæ­¥ä»»åŠ¡çš„è™šæ‹Ÿæ—¶é—´åˆ°å…¨å±€è™šæ‹Ÿæ—¶é—´ +void BPF_STRUCT_OPS(nest_running, struct task_struct *p) +{ + /* + * Global vtime always progresses forward as tasks start executing. The + * test and update can be performed concurrently from multiple CPUs and + * thus racy. Any error should be contained and temporary. Let's just + * live with it. + */ + if (vtime_before(vtime_now, p->scx.dsq_vtime)) + vtime_now = p->scx.dsq_vtime; +} + +// å½“ä»»åŠ¡åœæ­¢è¿è¡Œæ—¶è°ƒç”¨ï¼Œæ ¹æ®ä»»åŠ¡çš„æƒé‡å’Œå‰©ä½™æ—¶é—´ç‰‡æ›´æ–°ä»»åŠ¡çš„è™šæ‹Ÿæ—¶é—´ +void BPF_STRUCT_OPS(nest_stopping, struct task_struct *p, bool runnable) +{ + /* scale the execution time by the inverse of the weight and charge */ + p->scx.dsq_vtime += (slice_ns - p->scx.slice) * 100 / p->scx.weight; +} + +// åˆå§‹åŒ–新任务(task_struct)的调度上下文 +s32 BPF_STRUCT_OPS(nest_init_task, struct task_struct *p, + struct scx_init_task_args *args) +{ + struct task_ctx *tctx; + struct bpf_cpumask *cpumask; + + /* + * @p is new. Let's ensure that its task_ctx is available. We can sleep + * in this function and the following will automatically use GFP_KERNEL. + */ + tctx = bpf_task_storage_get(&task_ctx_stor, p, 0, + BPF_LOCAL_STORAGE_GET_F_CREATE); + if (!tctx) + return -ENOMEM; + + cpumask = bpf_cpumask_create(); + if (!cpumask) + return -ENOMEM; + + cpumask = bpf_kptr_xchg(&tctx->tmp_mask, cpumask); + if (cpumask) + bpf_cpumask_release(cpumask); + + tctx->attached_core = -1; + tctx->prev_cpu = -1; + + return 0; +} + +void BPF_STRUCT_OPS(nest_enable, struct task_struct *p) +{ + p->scx.dsq_vtime = vtime_now; +} + +// é€šè¿‡å®šæ—¶å™¨å‘¨æœŸæ€§è°ƒç”¨æ­¤å‡½æ•°ï¼Œæ›´æ–°ç»Ÿè®¡æ•°æ® +static int stats_timerfn(void *map, int *key, struct bpf_timer *timer) +{ + s32 cpu; + struct bpf_cpumask *primary, *reserve; + const struct cpumask *idle; + stats_primary_mask = 0; + stats_reserved_mask = 0; + stats_other_mask = 0; + stats_idle_mask = 0; + long err; + + bpf_rcu_read_lock(); + primary = primary_cpumask; + reserve = reserve_cpumask; + if (!primary || !reserve) { + bpf_rcu_read_unlock(); + scx_bpf_error("Failed to lookup primary or reserve"); + return 0; + } + + idle = scx_bpf_get_idle_cpumask(); + bpf_for(cpu, 0, nr_cpus) { + if (bpf_cpumask_test_cpu(cpu, cast_mask(primary))) + stats_primary_mask |= (1ULL << cpu); + else if (bpf_cpumask_test_cpu(cpu, cast_mask(reserve))) + stats_reserved_mask |= (1ULL << cpu); + else + stats_other_mask |= (1ULL << cpu); + + if (bpf_cpumask_test_cpu(cpu, idle)) + stats_idle_mask |= (1ULL << cpu); + } + bpf_rcu_read_unlock(); + scx_bpf_put_idle_cpumask(idle); + + err = bpf_timer_start(timer, sampling_cadence_ns - 5000, 0); + if (err) + scx_bpf_error("Failed to arm stats timer"); + + return 0; +} + +s32 BPF_STRUCT_OPS_SLEEPABLE(nest_init) +{ + struct bpf_cpumask *cpumask; + s32 cpu; + int err; + struct bpf_timer *timer; + u32 key = 0; + + err = scx_bpf_create_dsq(FALLBACK_DSQ_ID, NUMA_NO_NODE); + if (err) { + scx_bpf_error("Failed to create fallback DSQ"); + return err; + } + + cpumask = bpf_cpumask_create(); + if (!cpumask) + return -ENOMEM; + bpf_cpumask_clear(cpumask); + cpumask = bpf_kptr_xchg(&primary_cpumask, cpumask); + if (cpumask) + bpf_cpumask_release(cpumask); + + cpumask = bpf_cpumask_create(); + if (!cpumask) + return -ENOMEM; + + bpf_cpumask_clear(cpumask); + cpumask = bpf_kptr_xchg(&reserve_cpumask, cpumask); + if (cpumask) + bpf_cpumask_release(cpumask); + + bpf_for(cpu, 0, nr_cpus) { + s32 key = cpu; + struct pcpu_ctx *ctx = bpf_map_lookup_elem(&pcpu_ctxs, &key); + + if (!ctx) { + scx_bpf_error("Failed to lookup pcpu_ctx"); + return -ENOENT; + } + ctx->scheduled_compaction = false; + if (bpf_timer_init(&ctx->timer, &pcpu_ctxs, CLOCK_BOOTTIME)) { + scx_bpf_error("Failed to initialize pcpu timer"); + return -EINVAL; + } + err = bpf_timer_set_callback(&ctx->timer, compact_primary_core); + if (err) { + scx_bpf_error("Failed to set pcpu timer callback"); + return -EINVAL; + } + } + + timer = bpf_map_lookup_elem(&stats_timer, &key); + if (!timer) { + scx_bpf_error("Failed to lookup central timer"); + return -ESRCH; + } + bpf_timer_init(timer, &stats_timer, CLOCK_BOOTTIME); + bpf_timer_set_callback(timer, stats_timerfn); + err = bpf_timer_start(timer, sampling_cadence_ns - 5000, 0); + if (err) + scx_bpf_error("Failed to arm stats timer"); + + return err; +} + +void BPF_STRUCT_OPS(nest_exit, struct scx_exit_info *ei) +{ + UEI_RECORD(uei, ei); +} + +SEC("perf_event") +int handle_cpu_mask_event(struct bpf_perf_event_data *ctx){ + struct cpu_mask_data *buff = bpf_ringbuf_reserve(&cpu_mask_buffer,sizeof(struct cpu_mask_data),0); + if(!buff){ + bpf_printk("cpu mask ringbuf reserve failed\n"); + return 0; + } + buff->stats_primary_mask = stats_primary_mask; + buff->stats_reserved_mask = stats_reserved_mask; + buff->stats_other_mask = stats_other_mask; + buff->stats_idle_mask = stats_idle_mask; + bpf_ringbuf_submit(buff,0); + return 0; +} + +SCX_OPS_DEFINE(nest_ops, + .select_cpu = (void *)nest_select_cpu, + .enqueue = (void *)nest_enqueue, + .dispatch = (void *)nest_dispatch, + .running = (void *)nest_running, + .stopping = (void *)nest_stopping, + .init_task = (void *)nest_init_task, + .enable = (void *)nest_enable, + .init = (void *)nest_init, + .exit = (void *)nest_exit, + .flags = 0, + .name = "nest"); + diff --git a/concerned/comm_attention.txt b/concerned/comm_attention.txt new file mode 100644 index 0000000..d73c482 --- /dev/null +++ b/concerned/comm_attention.txt @@ -0,0 +1 @@ +stress-ngstress-ng diff --git a/concerned/comm_ignore.txt b/concerned/comm_ignore.txt new file mode 100644 index 0000000..bcb8423 --- /dev/null +++ b/concerned/comm_ignore.txt @@ -0,0 +1,7 @@ +code +Compositor +gnome-shell +scx_spy +cpptools +llvmpipe-0 +kworker \ No newline at end of file diff --git a/visualize/run/oom_event b/concerned/id_attention.txt similarity index 100% rename from visualize/run/oom_event rename to concerned/id_attention.txt diff --git a/concerned/id_ignore.txt b/concerned/id_ignore.txt new file mode 100644 index 0000000..e69de29 diff --git a/cpu_controller b/cpu_controller index 05952b8..622695f 100755 Binary files a/cpu_controller and b/cpu_controller differ diff --git a/docs/cpu_wacther_vis_guide.md b/docs/cpu_wacther_vis_guide.md deleted file mode 100644 index a20f821..0000000 --- a/docs/cpu_wacther_vis_guide.md +++ /dev/null @@ -1,168 +0,0 @@ -# cpu_wactherçš„å¯è§†åŒ– - -## 1.é…置环境 - -在使用cpu_watcherå¯è§†åŒ–之å‰ï¼Œè¯·å…ˆé…ç½®dockerã€go的环境,具体é…置方法å¯å‚考: - -### 1.1 docker - -å…ˆå‚考该链接进行docker-desktop的安装: - -* [在 Ubuntu 上安装 Docker Desktop |Docker 文档](https://docs.docker.com/desktop/install/ubuntu/#install-docker-desktop) - -在准备å¯åЍdocker-desktop时,å¯èƒ½é‡åˆ°æ‰“ä¸å¼€docker-desktop的情况,如下所示: - -![image1](image/image1.png) - -è¿™æ˜¯å› ä¸ºè™šæ‹Ÿæœºæš‚æ—¶ä¸æ”¯æŒè™šæ‹ŸåŒ–,å¯ä»¥å…ˆå…³é—­è™šæ‹Ÿæœºï¼Œé‡æ–°ç¼–辑虚拟机设置,开å¯è™šæ‹ŸåŒ–引擎的两个选项,å†å¼€æœºé…ç½®kvmï¼› - -* [在 Linux 上安装 Docker Desktop |Docker 文档](https://docs.docker.com/desktop/install/linux-install/) - -![image2](image/image2.png) - -### 1.2 go环境: - -本å¯è§†åŒ–功能对goçš„ç‰ˆæœ¬æœ‰è¦æ±‚,请安装go1.19+版本,具体安装æµç¨‹å¯å‚考如下链接: - -* [go:快速å‡çº§Go版本,我几分钟就解决了_go å‡çº§ç‰ˆæœ¬-CSDNåšå®¢](https://blog.csdn.net/m0_37482190/article/details/128673828) - -## 2.使用cpuwatcher å¯è§†åŒ– - -* 首先先进入lmp目录下的lmp/eBPF_Supermarket/CPU_Subsystem/cpu_watcher文件夹 - - ```BASH - cd lmp/eBPF_Supermarket/CPU_Subsystem/cpu_watcher - ``` - - 在该目录下 进行make编译 - - ```bash - make -j 20 - ``` - -* 在lmp目录下的eBPF_Visualization/eBPF_prometheus文件夹下 - -* 执行`make`指令,编译å¯è§†åŒ–çš„go语言工具 - - 在执行make指令时,如果出现如下报错,是因为go包管ç†ä»£ç†ç½‘倿— æ³•访问`proxy.golang.org` - - ```bash - go: golang.org/x/exp@v0.0.0-20190731235908-ec7cb31e5a56: Get "https://proxy.golang.org/golang.org/x/exp/@v/v0.0.0-20190731235908-ec7cb31e5a56.mod": dial tcp 172.217.160.113:443: i/o timeout - ``` - - åªéœ€è¦æ¢ä¸€ä¸ªå›½å†…能访问的2代ç†åœ°å€å³å¯ - - ```bash - go env -w GOPROXY=https://goproxy.cn - ``` - -* 执行`make start_service`指令,é…置下载docker镜åƒå¹¶å¯åЍgrafanaå’ŒprometheusæœåŠ¡ - -* 执行如下指令开始采集数æ®ä»¥åŠç›¸å…³å¤„ç†ï¼š - - ```bash - ./data-visual collect /home/zhang/lmp/eBPF_Supermarket/CPU_Subsystem/cpu_watcher/cpu_watcher -s - ``` - -* 在网页打开网å€ï¼šhttp://192.168.159.128:8090/metrics 此处为`localhost:8090/metrics`,便å¯ä»¥çœ‹åˆ°æš´éœ²åœ¨http网页中的数æ®ï¼› - - ![image3](image/image3.png) - -* 在网页打开网å€ï¼šhttp://192.168.159.128:3000/ å³å¯è¿›å…¥grafanaæœåŠ¡ï¼Œä½¿ç”¨åˆå§‹å¯†ç ç™»å½•(user:admin pswd: admin)进入管ç†ç•Œé¢ï¼š - - - 点击ã€Home-Connection-Add new connection】,选择Prometheus,建立与PrometheusæœåŠ¡å™¨çš„è¿žæŽ¥ï¼š - - ![image4](image/image4.png) - - 这个172.17.0.1表示docker0网桥的 IPv4 地å€ã€‚在 Docker 中,通常会将docker0的第一个 IP 地å€åˆ†é…ç»™Docker主机自身。因此,172.17.0.1是 Docker主机上Docker守护进程的 IP 地å€ï¼Œæ‰€ä»¥åœ¨Grafanaæ•°æ®æºè¿™å—设置æˆ[http://172.17.0.1:9090](http://172.17.0.1:9090/) ,然åŽç‚¹å‡»ä¸‹é¢çš„ã€Save & test】按钮 - -- 进入å¯è§†åŒ–é…置界é¢ï¼š - - ![image4.5](image/image4.5.png) - ![image5](image/image5.png) - -- 在下方处进行如图所示的é…置,点击Run querieså³å¯ä»¥å¯è§†åŒ–的方å¼ç›‘控avg_delay字段的数æ®ï¼š - - ![image6](image/image6.png) - -## 3.cpu_watcherå„å­å·¥å…·å¯è§†åŒ–输出 - -本次å¯è§†åŒ–输出样例,是在对比系统正常è¿è¡Œå’Œé«˜è´Ÿè½½è¿è¡Œæ—¶æœ¬å·¥å…·çš„使用情况,使用stress加压工具对cpu进行æŒç»­5min的加压 - -```bash -stress --cpu 8 --timeout 300s -``` - -### 3.1 cpu_watcher -s - -**ã€irq Time】å¯è§†åŒ–输出结果** - -![image7](image/image7.png) - -**ã€softirq Time】å¯è§†åŒ–输出结果** - -![image8](image/image8.png) -**ã€cswch】å¯è§†åŒ–输出结果** - -![image9](image/image9.png) -**ã€proc】å¯è§†åŒ–输出结果** - -![image10](image/image10.png) - -**ã€Kthread】å¯è§†åŒ–输出结果** - -![image11](image/image11.png) - -**ã€idle】å¯è§†åŒ–输出结果** - -![image12](image/image12.png) - -**ã€sys】å¯è§†åŒ–输出结果** - -![image-20240411132742107](image/image-20240411132742107.png) - -**ã€sysc】å¯è§†åŒ–输出结果** - -![image-20240411132807253](image/image-20240411132807253.png) - -**ã€utime】å¯è§†åŒ–输出结果** - -![image-20240411132842070](image/image-20240411132842070.png) - -**ã€cpu处于ä¸åŒçжæ€å¯¹æ¯”图】å¯è§†åŒ–输出结果** - -![image-20240411132914396](image/image-20240411132914396.png) - -### 3.2 cpu_watcher -c - -**ã€cs_delay】å¯è§†åŒ–输出结果** - -![image-20240411133505763](image/image-20240411133505763.png) - -### 3.3 cpu_watcher -d - -**ã€schedule_delay】å¯è§†åŒ–输出结果** - -ã€max_delay】 - -![image-20240411133841698](image/image-20240411133841698.png) - -ã€avg_delay】 - -![image-20240411135159178](image/image-20240411135159178.png) - -ã€min_delay】 - -![image-20240411135335523](image/image-20240411135335523.png) - -### 3.4 cpu_watcher -p - -**ã€preempt】å¯è§†åŒ–输出结果** - -![image-20240411142421440](image/image-20240411142421440.png) - -## 3.5 cpu_watcher -S - -**ã€syscall_delay】å¯è§†åŒ–输出结果** - -![image-20240411144331888](image/image-20240411144331888.png) \ No newline at end of file diff --git a/docs/image/image-20240411132742107.png b/docs/image/image-20240411132742107.png deleted file mode 100644 index dcfb6ad..0000000 Binary files a/docs/image/image-20240411132742107.png and /dev/null differ diff --git a/docs/image/image-20240411132807253.png b/docs/image/image-20240411132807253.png deleted file mode 100644 index 941b900..0000000 Binary files a/docs/image/image-20240411132807253.png and /dev/null differ diff --git a/docs/image/image-20240411132842070.png b/docs/image/image-20240411132842070.png deleted file mode 100644 index 1c32506..0000000 Binary files a/docs/image/image-20240411132842070.png and /dev/null differ diff --git a/docs/image/image-20240411132914396.png b/docs/image/image-20240411132914396.png deleted file mode 100644 index 7d156c2..0000000 Binary files a/docs/image/image-20240411132914396.png and /dev/null differ diff --git a/docs/image/image-20240411133505763.png b/docs/image/image-20240411133505763.png deleted file mode 100644 index 109b29e..0000000 Binary files a/docs/image/image-20240411133505763.png and /dev/null differ diff --git a/docs/image/image-20240411133841698.png b/docs/image/image-20240411133841698.png deleted file mode 100644 index 84279fb..0000000 Binary files a/docs/image/image-20240411133841698.png and /dev/null differ diff --git a/docs/image/image-20240411135159178.png b/docs/image/image-20240411135159178.png deleted file mode 100644 index ad7c565..0000000 Binary files a/docs/image/image-20240411135159178.png and /dev/null differ diff --git a/docs/image/image-20240411135335523.png b/docs/image/image-20240411135335523.png deleted file mode 100644 index 5c46cc2..0000000 Binary files a/docs/image/image-20240411135335523.png and /dev/null differ diff --git a/docs/image/image-20240411142421440.png b/docs/image/image-20240411142421440.png deleted file mode 100644 index b308e32..0000000 Binary files a/docs/image/image-20240411142421440.png and /dev/null differ diff --git a/docs/image/image-20240411144331888.png b/docs/image/image-20240411144331888.png deleted file mode 100644 index 6e174c2..0000000 Binary files a/docs/image/image-20240411144331888.png and /dev/null differ diff --git a/docs/image/image-20240411160509242.png b/docs/image/image-20240411160509242.png deleted file mode 100644 index bc7a81d..0000000 Binary files a/docs/image/image-20240411160509242.png and /dev/null differ diff --git a/docs/image/image-20240411170250839.png b/docs/image/image-20240411170250839.png deleted file mode 100644 index 5b6bdc7..0000000 Binary files a/docs/image/image-20240411170250839.png and /dev/null differ diff --git a/docs/image/image-20240411170311182.png b/docs/image/image-20240411170311182.png deleted file mode 100644 index a900381..0000000 Binary files a/docs/image/image-20240411170311182.png and /dev/null differ diff --git a/docs/image/image1.png b/docs/image/image1.png deleted file mode 100644 index b0c02f4..0000000 Binary files a/docs/image/image1.png and /dev/null differ diff --git a/docs/image/image10.png b/docs/image/image10.png deleted file mode 100644 index 8c4a4bf..0000000 Binary files a/docs/image/image10.png and /dev/null differ diff --git a/docs/image/image11.png b/docs/image/image11.png deleted file mode 100644 index dc04b23..0000000 Binary files a/docs/image/image11.png and /dev/null differ diff --git a/docs/image/image12.png b/docs/image/image12.png deleted file mode 100644 index bfb87ed..0000000 Binary files a/docs/image/image12.png and /dev/null differ diff --git a/docs/image/image13.png b/docs/image/image13.png deleted file mode 100644 index 566fd1c..0000000 Binary files a/docs/image/image13.png and /dev/null differ diff --git a/docs/image/image2.png b/docs/image/image2.png deleted file mode 100644 index 140a97b..0000000 Binary files a/docs/image/image2.png and /dev/null differ diff --git a/docs/image/image3.png b/docs/image/image3.png deleted file mode 100644 index 52db1de..0000000 Binary files a/docs/image/image3.png and /dev/null differ diff --git a/docs/image/image4.5.png b/docs/image/image4.5.png deleted file mode 100644 index 40aef3a..0000000 Binary files a/docs/image/image4.5.png and /dev/null differ diff --git a/docs/image/image4.png b/docs/image/image4.png deleted file mode 100644 index d186d22..0000000 Binary files a/docs/image/image4.png and /dev/null differ diff --git a/docs/image/image5.png b/docs/image/image5.png deleted file mode 100644 index 48f6a4a..0000000 Binary files a/docs/image/image5.png and /dev/null differ diff --git a/docs/image/image6.png b/docs/image/image6.png deleted file mode 100644 index 77baa78..0000000 Binary files a/docs/image/image6.png and /dev/null differ diff --git a/docs/image/image7.png b/docs/image/image7.png deleted file mode 100644 index cbf0a59..0000000 Binary files a/docs/image/image7.png and /dev/null differ diff --git a/docs/image/image8.png b/docs/image/image8.png deleted file mode 100644 index 23c5d49..0000000 Binary files a/docs/image/image8.png and /dev/null differ diff --git a/docs/image/image9.png b/docs/image/image9.png deleted file mode 100644 index e0b384f..0000000 Binary files a/docs/image/image9.png and /dev/null differ diff --git a/docs/image/image_mq.png b/docs/image/image_mq.png deleted file mode 100644 index 1dae1df..0000000 Binary files a/docs/image/image_mq.png and /dev/null differ diff --git a/docs/libbpf_sar.md b/docs/libbpf_sar.md deleted file mode 100644 index 4944fc2..0000000 --- a/docs/libbpf_sar.md +++ /dev/null @@ -1,81 +0,0 @@ -# libbpf_sar功能介ç»ï¼š - -libbpf_sar是cpu_watcher工具中的一个å­å·¥å…·ï¼Œé€šè¿‡cpu_watcher -s使用; - -## 1.åº”ç”¨åœºæ™¯åŠæ„义 - -libbpf_sar是一个基于eBPF的按照指定时间间隔(默认为1s)æ¥ç»Ÿè®¡ç‰¹å®šäº‹ä»¶å‘生次数和特定事件å ç”¨CPU时间的工具。使用它å¯ä»¥å¸®åŠ©æ‚¨æŸ¥çœ‹äº‹ä»¶å‘生速率和CPU资æºåˆ©ç”¨çŽ‡ï¼Œå¹¶æä¾›CPU负载画åƒä»¥å‰–æžè´Ÿè½½çš„æ¥æºåŠå…¶å ç”¨æ¯”例。 - -与传统工具相比,libbpf_sarå¯æä¾›æ›´ä¸ºç»†è‡´çš„æŒ‡æ ‡ï¼Œå¦‚ï¼š - -* 1.å¯æŠŠå†…æ ¸æ€æ—¶é—´å‰–æžä¸ºå†…核线程执行时间sar和进程系统调用时间 - -* 2.部分linuxå‘行版å¯èƒ½ç”±äºŽå†…核编译选项确实而ä¸èƒ½è®°å½•irq时间,本工具å¯ä»¥å¼¥è¡¥è¿™ä¸€ç¼ºé™·ï¼Œå¹¶ä¸”ä¸éœ€è¦å¯¹å†…æ ¸åšå‡ºä»»ä½•更改,å¯åŠ¨æ€æ£€æµ‹ - -3.å¯é™„加到指定进程上,对该进程å ç”¨çš„CPU资æºè¿›è¡Œå®žæ—¶ç›‘测 - -## 2.æ€§èƒ½å‚æ•°åŠè§‚测æ„义 - -在 Linux 中,与 CPU 相关的状æ€å¯ä»¥åˆ†ä¸ºå¾ˆå¤šç±»ï¼Œå¦‚用户æ€ã€ç³»ç»Ÿè°ƒç”¨ã€ç¡¬ä¸­æ–­ä»¥åŠè½¯ä¸­æ–­ç­‰ï¼ŒåŒæ—¶è¿˜æœ‰ä¸€äº›å†…核线程执行的状æ€ï¼Œå¦‚ kthread,idle 进程。 - -åŒæ—¶ï¼Œä¹Ÿæœ‰ä¸€äº›å¯¹ CPU 相当é‡è¦çš„事件,如新进程创建,进程切æ¢è®¡æ•°ï¼Œè¿è¡Œé˜Ÿ 列长度等,对这些细分事件进行准确的监测,有利于我们剖æžå‡º CPU 负载根æºï¼Œ 并定ä½å‡ºæ€§èƒ½ç“¶é¢ˆã€‚ - -libbpf_sarä¸»è¦æ˜¯å¯¹ CPU 上的关键事件æä¾›çš„具体信æ¯å‚数与å«ä¹‰å¦‚表3-6所示: - -libbpf_sar 实例采集信æ¯åŠå«ä¹‰ - -| **性能指标** | **å«ä¹‰** | -| ------------ | -------------------------------- | -| Proc | 新创建的进程数 | -| Cswch | 进程切æ¢è®¡æ•° | -| runqlen | è¿è¡Œé˜Ÿåˆ—长度 | -| irqTime | 硬中断时间 | -| Softirq | 软中断时间 | -| Idle | Idle 进程è¿è¡Œæ—¶é—´ | -| Sysc | 加上内核线程è¿è¡Œæ—¶é—´çš„ç³»ç»Ÿæ€æ—¶é—´ | -| Utime | ç”¨æˆ·æ€æ‰§è¡Œæ—¶é—´ | -| sys | 系统调用执行时间 | - -本实例采集到的信æ¯å°†ç³»ç»Ÿçš„ CPU 进行了精准分类,并且也统计了关键事件的触å‘é¢‘çŽ‡ï¼Œå¯¹äºŽç³»ç»Ÿçš„æ€§èƒ½åˆ†æžæœ‰é‡è¦çš„æ„ä¹‰ - -## 3.输出格å¼ï¼š - -```bash - time proc/s cswch/s irqTime/us softirq/us idle/ms kthread/us sysc/ms utime/ms sys/ms -15:55:43 48 1389 1646 8866 6811 3243 688 717 691 -15:55:44 31 1089 1587 7375 6759 1868 659 707 660 -15:55:45 47 1613 1685 8885 6792 3268 796 828 799 -15:55:46 0 2133 5938 7797 7643 8106 8 20 17 -15:55:47 1 3182 5128 14279 6644 4883 314 363 319 -15:55:48 0 1815 1773 11329 6753 4286 282 313 287 -15:55:49 31 1249 1605 9859 6752 4442 545 585 549 -15:55:50 47 1601 1712 11348 6765 6249 210 242 216 -15:55:51 0 1238 10591 12709 6802 13896 238 262 252 -15:55:52 0 1145 1658 10000 6863 4593 308 333 313 -15:55:53 0 1317 1587 9090 6798 4699 383 414 387 -15:55:54 31 1254 1531 9570 6755 4252 381 414 385 -15:55:55 47 1547 1624 10985 6769 6516 344 373 350 -15:55:56 0 1064 2187 9892 6851 4585 189 212 194 -``` - -* proc/s 列的数æ®è¡¨ç¤º CPU æ¯ç§’新创建的进程数; -* cswch/s 列的数æ®è¡¨ç¤º CPU æ¯ç§’进程切æ¢çš„æ•°é‡ï¼› -* runqlen 列的数æ®è¡¨ç¤º CPU è¿è¡Œé˜Ÿåˆ—的长度; -* irqTime/us 列的数æ®è¡¨ç¤º CPU 处ç†ç¡¬ä¸­æ–­çš„æ—¶é—´ï¼Œä»¥ us 计时; -* softirq/s 列的数æ®è¡¨ç¤º CPU æ¯ç§’处ç†è½¯ä¸­æ–­çš„æ—¶é—´ï¼Œä»¥ us 计时; -* idle/ms 列的数æ®è¡¨ç¤º 系统处于空闲æ€çš„æ—¶é—´ï¼› -* kthread/us 列的数æ®è¡¨ç¤ºç³»ç»Ÿä¸­å†…核线程执行的时间; - -* sysc/ms 表示系统中内核线程外加系统调用处ç†çš„æ€»æ—¶é—´ï¼› -* utime/ms è¡¨ç¤ºè¿›ç¨‹åœ¨ç”¨æˆ·æ€æ‰§è¡Œçš„æ€»æ—¶é—´ï¼› -* sys/ms 表示系统调用执行的总时间。 - -äº‹ä»¶çš„ç»Ÿè®¡æ–¹å¼æ˜¯å¯¹æ¯ä¸ªCPUåˆ†å¼€ç»Ÿè®¡ç„¶åŽæ±‚和,因此有的项的å ç”¨æ—¶é—´å¯èƒ½è¶…过1s。所有事件å ç”¨æ—¶é—´çš„和应当为1s * 总CPU核数。由于技术问题,输出的第一项å¯èƒ½å差较大,å¯ä»¥ä¸äºˆç†ä¼šã€‚按Ctrl+C本程åºå°†åœæ­¢ç»Ÿè®¡ï¼Œå¹¶è¾“出在程åºè¿è¡Œçš„æ—¶é—´æ®µå†…å„表项的平å‡å€¼æŒ‰ç…§2s的采样频率显示å„事件的CPUå ç”¨çŽ‡ã€‚æ•°æ®æ˜¯å¸¦é¢œè‰²çš„,è“色表示CPUå æ¯”å°äºŽ30%ï¼Œç»¿è‰²è¡¨ç¤ºå æ¯”大于30%å°äºŽ60%ï¼Œçº¢è‰²è¡¨ç¤ºå æ¯”大于60%。 - - - -## 4.æ•°æ®å¯è§†åŒ– - -![image-20240411160509242](image/image-20240411160509242.png) -![image-20240411170250839](image/image-20240411170250839.png) -![image-20240411170311182](image/image-20240411170311182.png) \ No newline at end of file diff --git a/docs/mq_delay.md b/docs/mq_delay.md deleted file mode 100644 index cfcc1ba..0000000 --- a/docs/mq_delay.md +++ /dev/null @@ -1,92 +0,0 @@ -# mq_delay - -为了对进程间通过消æ¯é˜Ÿåˆ—通信时,å‘逿¶ˆæ¯ã€æŽ¥æ‰‹æ¶ˆæ¯ä»¥åŠå¤„äºŽç­‰å¾…çŠ¶æ€æ‰€ç”¨æ—¶é—´è¿›è¡Œç›‘测,cpuwatcher工具增添mq_delay工具。 - -![image_mq](image/image_mq.png) - -以上是å‘é€è¿›ç¨‹å‘é€ï¼ŒæŽ¥æ”¶è¿›ç¨‹æŽ¥æ”¶çš„具体过程。本工具通过跟踪å•个的消æ¯å—(struct msg_msg结构体)æ¥ç›‘测å‘逿—¶å»¶ã€æŽ¥æ”¶æ—¶å»¶ä»¥åŠç­‰å¾…时延。 - -## 跟踪消æ¯å—过程: - -å‘é€è¿‡ç¨‹ - -* 用户程åºå°†è¦å‘é€çš„æ¶ˆæ¯é€šè¿‡mq_send()函数或mq_timedsend()函数å‘é€ï¼Œmq_send/mq_timedsend函数调用mq_timedsend系统调用在内核实现具体的å‘é€å®žçŽ°ï¼Œæ­¤æ—¶å°†æŒ‡å‘ç”¨æˆ·æ€æ¶ˆæ¯ç¼“冲区的指针u_msg_ptr传入内核æ€ï¼Œæ­¤å¤„我们第一次追踪到消æ¯å—。 -* 在mq_timedsend 系统调用中,会调用do_mq_timedsend()内核函数进行å‘逿¶ˆæ¯çš„æ“ä½œï¼Œæ­¤å¤„å°†u_msg_ptr指针作为传å‚ä¼ å…¥do_mq_timedsend()函数; -* 在do_mq_timedsend()函数中,通过load_msg()函数将消æ¯ä»Žç”¨æˆ·ç©ºé—´åŠ è½½åˆ°å†…æ ¸ä¸­ï¼Œè¿™é‡Œå°†u_msg_ptr指针作为传å‚ï¼› -* load_msg()函数中,通过copy_from_user()函数将u_msg_ptr指针指å‘的用户空间信æ¯å¤åˆ¶åˆ°åˆ†é…的内核空间msgï¼Œå¹¶è¿”å›žä¸€ä¸ªæŒ‡å‘æ¶ˆæ¯å—所在内核空间的指针msg_ptr,此时我们便在内核中跟踪到了具体的消æ¯å—实体,åŽç»­æ“作都是围绕这个消æ¯å—指针展开的,包括接收程åºä¹Ÿæ˜¯å¯¹æ­¤æŒ‡é’ˆè¿›è¡Œcopy_to_useræ“作; - -接å—过程 - -* 用户程åºé€šè¿‡mq_receive()或mq_timedreceive()函数,从消æ¯é˜Ÿåˆ—中接收消æ¯ï¼Œmq_receive()或mq_timedreceive()函数调用mq_timedreceive系统调用在内核中实现具体的接收实现,此时将指å‘用户æ€ç¼“冲区的指针u_msg_ptr传入内核,这里是我们本次跟踪最åŽä¸€æ¬¡é‡åˆ°æ¶ˆæ¯å—。 -* mq_timedreceive系统调用通过do_mq_timedreceive()å‡½æ•°æ‰¾åˆ°è¦æŽ¥æ”¶çš„æ¶ˆæ¯å—,并将其传入u_msg_ptr所指å‘的用户空间 -* do_mq_timedreceive()å‡½æ•°å¦‚æžœç­‰åˆ°è¦æŽ¥æ”¶çš„æ¶ˆæ¯å—,会通过store_msg()函数将消æ¯å—(å‘逿—¶msg_ptr所指å‘的消æ¯å—)存储至u_msg_ptr所指å‘的用户空间。所以此时,我们在接收消æ¯çš„内核处ç†å‡½æ•°ä¸­è¿½è¸ªåˆ°äº†å…·ä½“的消æ¯å—。 - -æ­¤å¤„è¿˜å¯æ‹“展一些功能: - -* 对于å‘逿¶ˆæ¯å—时,是å¦ä¸Šç­‰å¾…队列,等待了多久? -* 对于接收消æ¯å—时,是å¦ä¸Šç­‰å¾…队列,等待了多久? -* 对于处于éžé˜»å¡žçжæ€çš„进程,是å¦å¯ä»¥è¯†åˆ«åˆ°ï¼Œå¹¶åŠæ—¶ç»Ÿè®¡å‡ºæ¥ï¼Ÿ - -## 挂载点: - -å‘é€è¿‡ç¨‹ï¼š - -| 类型 | åç§° | -| --------- | -------------- | -| kprobe | do_mq_timesend | -| kprobe | load_msg | -| kretprobe | load_msg | -| kretprobe | do_mq_timesend | - -接收过程: - -| 类型 | åç§° | -| --------- | ----------------- | -| kprobe | do_mq_timereceive | -| kprobe | store_msg | -| kretprobe | store_msg | -| kretprobe | do_mq_timereceive | - -输出效果 - -```c -Time: 22:12:39 ------------------------------------------------------------------------------------------------------------------------ -Mqdes: 3 msg_len: 1152 msg_prio: 50 -SND_PID: 20945 SND_enter_time: 131725037824711 SND_exit_time: 131725037867085 -RCV_PID: 20984 RCV_enter_time: 131726555726321 RCV_exit_time: 131726555872719 -------------------------------------------------------------------------------- -SND_Delay/ms: 0.04 RCV_Delay/ms: 0.15 Delay/ms: 1518.04801 ------------------------------------------------------------------------------------------------------------------------ - - - -Time: 22:12:44 ------------------------------------------------------------------------------------------------------------------------ -Mqdes: 3 msg_len: 1152 msg_prio: 50 -SND_PID: 21007 SND_enter_time: 131730008219660 SND_exit_time: 131730008614901 -RCV_PID: 21035 RCV_enter_time: 131731465676396 RCV_exit_time: 131731465758821 -------------------------------------------------------------------------------- -SND_Delay/ms: 0.40 RCV_Delay/ms: 0.08 Delay/ms: 1457.53916 ------------------------------------------------------------------------------------------------------------------------ - - - -Time: 22:12:48 ------------------------------------------------------------------------------------------------------------------------ -Mqdes: 3 msg_len: 1152 msg_prio: 50 -SND_PID: 21069 SND_enter_time: 131733828139276 SND_exit_time: 131733828195905 -RCV_PID: 21098 RCV_enter_time: 131735705540405 RCV_exit_time: 131735705924036 -------------------------------------------------------------------------------- -SND_Delay/ms: 0.06 RCV_Delay/ms: 0.38 Delay/ms: 1877.78476 ------------------------------------------------------------------------------------------------------------------------ -``` - - - - - - - - - diff --git a/docs/preempt_time.md b/docs/preempt_time.md deleted file mode 100644 index e35aaf2..0000000 --- a/docs/preempt_time.md +++ /dev/null @@ -1,44 +0,0 @@ -## preempt_timeå·¥å…·ä»‹ç» - -​ preempt_time,ç»Ÿè®¡æ¯æ¬¡ç³»ç»Ÿä¸­æŠ¢å è°ƒåº¦æ‰€ç”¨çš„æ—¶é—´ã€‚ - -### 原ç†åˆ†æž - -​ 使用 btf raw tracepointç›‘æŽ§å†…æ ¸ä¸­çš„æ¯æ¬¡è°ƒåº¦äº‹ä»¶ï¼š - -```c -SEC("tp_btf/sched_switch") -``` - -​ btf raw tracepoint 跟常规 raw tracepoint 有一个 最主è¦çš„区别是: btf 版本å¯ä»¥ç›´æŽ¥åœ¨ ebpf 程åºä¸­è®¿é—®å†…核内存, ä¸éœ€è¦åƒå¸¸è§„ raw tracepoint 一样需è¦å€ŸåŠ©ç±»ä¼¼ `bpf_core_read` 或 `bpf_probe_read_kernel` 这样 的辅助函数æ‰èƒ½è®¿é—®å†…核内存。 - -```c -int BPF_PROG(sched_switch, bool preempt, struct task_struct *prev, struct task_struct *next) -``` - -​ 该事件为我们æä¾›äº†å…³äºŽæŠ¢å çš„傿•°preempt,我们å¯ä»¥é€šè¿‡åˆ¤æ–­preempt的值æ¥å†³å®šæ˜¯å¦è®°å½•本次调度信æ¯ã€‚ - -​ å¦ä¸€æŒ‚载点为kprobe:finish_task_switchï¼Œå³æœ¬æ¬¡è°ƒåº¦åˆ‡æ¢å®Œæˆè¿›è¡Œæ”¶å°¾å·¥ä½œçš„函数,在此时通过ebpf map与之å‰è®°å½•的调度信æ¯åšå·®ï¼Œå³å¯å¾—到本次抢å è°ƒåº¦çš„æ—¶é—´ï¼š - -```c -SEC("kprobe/finish_task_switch") -``` - -### 输出效果 - -å¯ä»¥èŽ·å–到抢å è¿›ç¨‹çš„`pid`与进程å,以åŠè¢«æŠ¢å è¿›ç¨‹çš„`pid`ï¼Œå’Œæœ¬æ¬¡æŠ¢å æ—¶é—´ï¼Œå•ä½çº³ç§’ - -``` -COMM prev_pid next_pid duration_ns -node 14221 2589 3014 -kworker/u256:1 15144 13516 1277 -node 14221 2589 3115 -kworker/u256:1 15144 13516 1125 -kworker/u256:1 15144 13516 974 -node 14221 2589 2560 -kworker/u256:1 15144 13516 1132 -node 14221 2589 2717 -kworker/u256:1 15144 13516 1206 -kworker/u256:1 15144 13516 1131 -node 14221 2589 3355 -``` diff --git a/docs/schedule_delay.md b/docs/schedule_delay.md deleted file mode 100644 index 563cfec..0000000 --- a/docs/schedule_delay.md +++ /dev/null @@ -1,57 +0,0 @@ -## schedule_delayå·¥å…·ä»‹ç» - -​ schedule_delay工具å¯ä»¥æ£€æµ‹è¯¥ç³»ç»Ÿå½“å‰çš„调度延迟。å³ä»Žä¸€ä¸ªä»»åС具备è¿è¡Œçš„æ¡ä»¶ï¼Œåˆ°çœŸæ­£æ‰§è¡Œï¼ˆèŽ·å¾— CPU 的执行æƒï¼‰çš„这段时间。 - -​ 实时观测该指标å¯ä»¥å¸®åŠ©æˆ‘ä»¬äº†è§£åˆ°å½“å‰æ“作系统的负载。 - -### 原ç†åˆ†æž - -​ åªéœ€è€ƒè™‘,在何时一个任务会被加入è¿è¡Œé˜Ÿåˆ—等待è¿è¡Œã€‚内核æä¾›äº†ä¸¤ä¸ªå‡½æ•°å®žçŽ°è¿™ä¸ªåŠŸèƒ½ï¼š - -- 新建的进程通过调用`wake_up_new_task`,将新创建的任务加入runqueue等待调度。 -- 进程从ç¡çœ çжæ€è¢«å”¤é†’时触å‘,调用`ttwu_do_wakeup`函数,进入runqueue等待调度。 - -​ 关于这两个函数,内核æä¾›äº†ä¸¤ä¸ªå¯¹åº”çš„`tracepoint`: - -| 内核函数 | 对应`tracepoint` | -| :--------------: | :--------------------: | -| wake_up_new_task | sched:sched_wakeup_new | -| ttwu_do_wakeup | sched:sched_wakeup | - -​ 在触å‘到这两个tracepoint的时候,记录这个进程的信æ¯å’Œè¿›å…¥è¿è¡Œé˜Ÿåˆ—的时间。 - -​ 除此之外,我们还应该考虑到,当一个进程**被迫离开cpu**时,其状æ€ä¾ç„¶æ˜¯`TASK_RUNNING`,所以在schedule时,我们还è¦åšå‡ºåˆ¤æ–­ï¼Œå†³å®šè¯¥è¿›ç¨‹æ˜¯å¦è¦è¢«è®°å½•。 - -| 内核函数 | 对应`tracepoint` | -| :------: | :----------------: | -| schedule | sched:sched_switch | - -​ 在触å‘到这个tracepoint时,记录此时å³å°†è¦å ç”¨cpu的进程信æ¯ï¼Œé€šè¿‡ebpf map记录的进入è¿è¡Œé˜Ÿåˆ—的时间作差,å³è°ƒåº¦å»¶è¿Ÿã€‚在这里还需è¦åˆ¤æ–­ä¸Šä¸€ä¸ªè¿›ç¨‹æ˜¯å¦è¦è¢«è®°å½•。 - -```c - if(prev_state == TASK_RUNNING)//判断退出cpuè¿›ç¨‹çš„çŠ¶æ€ -``` - -​ 最åŽè¦æ³¨æ„的是,为了é¿å…map溢出,我们还需è¦åœ¨è¿›ç¨‹é€€å‡ºçš„æ—¶å€™ï¼Œåˆ é™¤map中记录的数æ®ã€‚ - -| 内核函数 | 对应`tracepoint` | -| :------: | :----------------------: | -| do_exit | sched:sched_process_exit | - -### 输出效果 - -​ 我们å¯ä»¥æ£€æµ‹åˆ°ç³»ç»Ÿä»ŽåŠ è½½ebpf程åºåˆ°å½“å‰çš„å¹³å‡ã€æœ€å¤§ã€æœ€å°è°ƒåº¦æ—¶å»¶ï¼š - -``` - TIME avg_delay/μs max_delay/μs min_delay/μs -17:31:28 35.005000 97.663000 9.399000 -17:31:29 326.518000 12618.465000 7.994000 -17:31:30 455.837000 217053.545000 6.462000 -17:31:31 422.582000 217053.545000 6.462000 -17:31:32 382.627000 217053.545000 6.462000 -17:31:33 360.499000 217053.545000 6.462000 -17:31:34 364.805000 217053.545000 6.462000 -17:31:35 362.039000 217053.545000 6.462000 -17:31:36 373.751000 217053.545000 6.462000 -``` - diff --git a/include/bpf-compat/gnu/stubs.h b/include/bpf-compat/gnu/stubs.h new file mode 100644 index 0000000..ad7d139 --- /dev/null +++ b/include/bpf-compat/gnu/stubs.h @@ -0,0 +1,11 @@ +/* + * Dummy gnu/stubs.h. clang can end up including /usr/include/gnu/stubs.h when + * compiling BPF files although its content doesn't play any role. The file in + * turn includes stubs-64.h or stubs-32.h depending on whether __x86_64__ is + * defined. When compiling a BPF source, __x86_64__ isn't set and thus + * stubs-32.h is selected. However, the file is not there if the system doesn't + * have 32bit glibc devel package installed leading to a build failure. + * + * The problem is worked around by making this file available in the include + * search paths before the system one when building BPF. + */ diff --git a/include/cpu_event.h b/include/cpu_event.h deleted file mode 100644 index 6947b58..0000000 --- a/include/cpu_event.h +++ /dev/null @@ -1,188 +0,0 @@ -// -// Created by ne0 on 24-10-30. -// - -#ifndef CPU_EVENT_H -#define CPU_EVENT_H - -#include "sys_event.h" - - -#define MAX_CPU_NR 64 -#define SYSCALL_MIN_TIME 1E7 -#define MAX_SYSCALL_COUNT 100 - -#define MAX_KIDS_NUM 100 - -#define MAX_LATENCY_BUCKETS 8 // 延迟分为 8 个区间 - -typedef enum { - UPDATE_USER_TIME = (1 << 0), // æ›´æ–°ç”¨æˆ·æ€æ—¶é—´ - UPDATE_KERNEL_TIME = (1 << 1), // æ›´æ–°ç³»ç»Ÿæ€æ—¶é—´ - UPDATE_IDLE_TIME = (1 << 2), // 更新空闲时间 - UPDATE_IOWAIT_TIME = (1 << 3), // æ›´æ–° I/O 等待时间 - UPDATE_IRQ_TIME = (1 << 4), // 更新硬中断时间 - UPDATE_SOFTIRQ_TIME = (1 << 5), // 更新软中断时间 - UPDATE_RQ_LENGTH = (1 << 6), // æ›´æ–°è¿è¡Œé˜Ÿåˆ—长度 - - UPDATE_ALL = UPDATE_USER_TIME | UPDATE_KERNEL_TIME | UPDATE_IDLE_TIME | - UPDATE_IOWAIT_TIME | UPDATE_IRQ_TIME | UPDATE_SOFTIRQ_TIME | UPDATE_RQ_LENGTH -} cpu_usage_update_flags; - -typedef enum { - GET_LATENCY_EMA = (1 << 0), - GET_USAGE_EMA = (1 << 1), - GET_TASK_CSW_EMA = (1 << 2), - GET_TASK_PREEMPT_EMA = (1 << 3), -} ema_get_flags; - - -// 调度延迟部分 -// cpu上的任务延迟计数 -// struct cpu_latency_stats { -// u32 cpu_id; -// u64 total_latency; // 累积延迟总和 -// u64 total_count; // 总计数 -// u32 avg_latency; // æ¯ä¸ª CPU 的平å‡è°ƒåº¦å»¶è¿Ÿ - -// u64 latency_buckets[MAX_LATENCY_BUCKETS]; // æ¯ä¸ªå»¶è¿ŸåŒºé—´çš„计数 -// }; - -// 系统的任务延迟计数 -struct system_latency_stats { - u64 total_latency; // 系统总的延迟总和 - u64 total_count; // 系统总任务数 - u32 avg_latency; // 系统的平å‡è°ƒåº¦å»¶è¿Ÿ - - u64 latency_buckets[MAX_LATENCY_BUCKETS]; // 系统的ä¸åŒå»¶è¿ŸåŒºé—´çš„计数 -}; - -struct time_window latency_bk_window; -struct ema_para latency_ema; - -// cpu整体使用情况 -struct cpu_usage_stats { - u32 cpu_id; // CPU ID - u32 user_percent; // ç”¨æˆ·æ€æ—¶é—´å æ¯”,放大 1000 å€ - u32 kernel_percent; // å†…æ ¸æ€æ—¶é—´å æ¯” - u32 idle_percent; // ç©ºé—²æ—¶é—´å æ¯” - u32 iowait_percent; // I/O ç­‰å¾…æ—¶é—´å æ¯” - u32 irq_percent; // ç¡¬ä¸­æ–­æ—¶é—´å æ¯” - u32 softirq_percent; // è½¯ä¸­æ–­æ—¶é—´å æ¯” - - u64 total_times; // kernel+usr+idle,计算时候用的 - - u32 rq_length; // 当å‰è¿è¡Œé˜Ÿåˆ—长度 -}; - -// 系统整体的cpu使用情况 -struct sys_cpu_usage_stats{ - u32 user_percent; // ç”¨æˆ·æ€æ—¶é—´å æ¯”,放大 1000 å€ - u32 kernel_percent; // å†…æ ¸æ€æ—¶é—´å æ¯” - u32 idle_percent; // ç©ºé—²æ—¶é—´å æ¯” - u32 iowait_percent; // I/O ç­‰å¾…æ—¶é—´å æ¯” - u32 irq_percent; // ç¡¬ä¸­æ–­æ—¶é—´å æ¯” - u32 softirq_percent; // è½¯ä¸­æ–­æ—¶é—´å æ¯” - - u32 rq_length; // è¿è¡Œé˜Ÿåˆ—å¹³å‡é•¿åº¦ -}; - -// 采用emaæ¥æ›´æ–°usageæ•°æ®ï¼Œtask的和sys的一起 -struct ema_para usage_ema; - - -struct process_struct{ - u32 tgid; - //struct hash_table kids; - u32 kids_length; - bool already_output; - - u64 last_total_clear; - u64 last_lock_clear; - - u64 total_use_time; - u64 lock_time; - u64 last_clear_time; - - u32 total_use_percent; -}; - -// 接下æ¥éƒ½æ˜¯task级 - -struct latency_num { - u32 pre_size;// å…ˆå‰çš„统计数æ®,方便ema,在å‘ç”¨æˆ·ç©ºé—´ä¼ æ•°æ®æ—¶å€™å­˜ç´¢å¼• - u32 size; -}; - -struct runqlat_perf_data{ - u32 data[8]; -}; - -// 任务的cpu使用率 -// 把cpu使用率高的任务,排除掉idle之åŽï¼Œå…³æ³¨èµ·æ¥åšæ ˆå›žæº¯ -struct task_cpu_usage { - struct task_info_simple task_info; - - //bool already_backtrace; - bool in_kernel; - bool in_process; - bool already_output; - - u64 user_time_ns; - u64 kernel_time_ns; - u64 total_time_ns; - u64 last_run_time; - u64 last_enqeue_time; - - u64 wait_time; - u64 last_clear_time; - u64 last_trace_time; - - u32 user_percent; - u32 kernel_percent; - u32 total_percent; -}; - -// ä¸Šä¸‹æ–‡åˆ‡æ¢ -struct task_context_switch { - struct task_info_simple task_info; - - u32 total_switches; // æ€»ä¸Šä¸‹æ–‡åˆ‡æ¢æ•°é‡ - u32 voluntary_switches; // 自愿上下文切æ¢çš„æ•°é‡ - u32 involuntary_switches; // éžè‡ªæ„¿ï¼ˆæŠ¢å ï¼‰ä¸Šä¸‹æ–‡åˆ‡æ¢çš„æ•°é‡ -}; - -struct ema_para task_csw_ema; - -struct task_preempt{ - struct task_info_simple task_info; - - u32 preempt_count; // 抢å åˆ«äººçš„æ¬¡æ•° - u32 was_preempted_count; // 被抢å çš„æ¬¡æ•° -}; - -struct ema_para task_preempt_ema; - -// 由于é”事件本身比较耗性能,所以用æ¡ä»¶ç¼–译 -#ifdef ENABLE_LOCK_MONITORING -struct lock_event { - struct task_info_simple task_info; - u64 lock_address; // é”的内存地å€ï¼Œç”¨äºŽåŒºåˆ†ä¸åŒçš„é” - u64 contention_start; // 争用开始时间戳(纳秒) - u64 contention_delay; // é”争用的延迟时间(纳秒) - u32 contention_count; // é”的争用次数 -}; - -// é”äº‰ç”¨çš„æŽ§åˆ¶å— -struct lock_ctrl { - struct ema_para lock_ema; - - u32 sampling_rate; // 采样率(0-100),表示百分比 - u64 contention_threshold; // é”争用的延迟阈值(以纳秒为å•ä½ï¼‰ï¼Œä½ŽäºŽæ­¤å€¼çš„事件将被忽略 -}; - -#endif // ENABLE_LOCK_MONITORING - - - -#endif //CPU_EVENT_H diff --git a/include/cpu_event_helper.h b/include/cpu_event_helper.h deleted file mode 100644 index ff987da..0000000 --- a/include/cpu_event_helper.h +++ /dev/null @@ -1,11 +0,0 @@ -// -// Created by ne0 on 24-10-30. -// - -#ifndef CPU_EVENT_HELPER_H -#define CPU_EVENT_HELPER_H - -#include -#include "cpu_event.h" - -#endif //CPU_EVENT_HELPER_H diff --git a/include/env.h b/include/env.h index 5b150c9..7c1abe9 100644 --- a/include/env.h +++ b/include/env.h @@ -7,84 +7,65 @@ #include // æä¾›å¸ƒå°”ç±»åž‹æ”¯æŒ #include // æä¾›å­—符串处ç†å‡½æ•°ï¼Œå¦‚ memset ç­‰ - -struct env { - int interval; // procæ•°æ®å»¶è¿Ÿ - bool cpu_data; - bool io_data; - bool mm_data; - bool net_data; - bool visualize;// 是å¦å¯è§†åŒ– - bool std_output;// 终端输出 +struct scx_env { + __u64 p_remove_ns; // -d: 延迟移除核心的时间(纳秒) + __u64 r_max; // -m: 备用巢最大核心数 + __u64 r_impatient; // -i: å¤±è´¥æ¬¡æ•°ï¼Œè§¦å‘æ‰©å±• + __u64 slice_ns; // -s: 时间片长度(纳秒) + bool find_fully_idle; // -I: 是å¦ä¼˜å…ˆæŸ¥æ‰¾å®Œå…¨ç©ºé—²æ ¸å¿ƒ + bool verbose; // -v: 是å¦è¾“å‡ºè°ƒè¯•ä¿¡æ¯ }; -const char argp_args_doc[] = -"Monitor various kernel subsystems\n" -"\n" -"USAGE: monitor [-h] [-i INTERVAL] [-c] [-m] [-n] [-v] [-s]\n" -"\n" -"EXAMPLES:\n" -"./monitor -i 2 -c\n" -" Monitor CPU statistics every 2 seconds\n" -"./monitor -i 5 -m -n\n" -" Monitor memory and network statistics every 5 seconds\n" -"./monitor -v\n" -" Visualize the data in a graphical interface\n" -"./monitor -i 1 -s\n" -" Output statistics to the terminal every second\n" -"\n" -"DEFAULTS:\n" -"Interval: 1 second\n" -"CPU, IO, and Memory monitoring are off by default\n" -"Network monitoring is on by default\n" -"Visualization is off by default, and data is output to the terminal\n"; +// 定义 sched_ext 傿•°çš„交互函数 +void interactive_sched_ext_config(struct scx_env *sched_env) { + char input[64]; + printf("\nEntering sched_ext configuration mode. Leave input empty to use defaults.\n"); -static const struct argp_option argp_options[] = { - // name/longopt:str, key/shortopt:int, arg:str, flags:int, doc:str - {"interval", 'i', "INTERVAL", 0, "Set the monitoring interval in seconds (default: 1)"}, - {"cpu", 'c', NULL, 0, "Enable CPU monitoring"}, - {"io", 'I', NULL, 0, "Enable IO monitoring"}, - {"memory", 'm', NULL, 0, "Enable memory monitoring"}, - {"network", 'n', NULL, 0, "Enable network monitoring"}, - {"visualize", 'v', NULL, 0, "Enable data visualization"}, - {"stdout", 's', NULL, 0, "Output data to the terminal (stdout)"}, - {NULL, 0, NULL, 0, NULL} -}; + // 输入延迟移除时间 + printf("Enter delay before removing an idle core (us) [default: %llu]: ", sched_env->p_remove_ns / 1000); + if (fgets(input, sizeof(input), stdin) && input[0] != '\n') { + sched_env->p_remove_ns = strtoull(input, NULL, 0) * 1000; + } + + // 输入备用巢最大核心数 + printf("Enter maximum number of cores in reserve nest [default: %llu]: ", sched_env->r_max); + if (fgets(input, sizeof(input), stdin) && input[0] != '\n') { + sched_env->r_max = strtoull(input, NULL, 0); + } + + // 输入失败次数 + printf("Enter number of successive placement failures tolerated [default: %llu]: ", sched_env->r_impatient); + if (fgets(input, sizeof(input), stdin) && input[0] != '\n') { + sched_env->r_impatient = strtoull(input, NULL, 0); + } + + // 输入时间片长度 + printf("Enter slice duration (us) [default: %llu]: ", sched_env->slice_ns / 1000); + if (fgets(input, sizeof(input), stdin) && input[0] != '\n') { + sched_env->slice_ns = strtoull(input, NULL, 0) * 1000; + } -static error_t parse_arg(int key, char *arg, struct argp_state *state) { - struct env *env = state->input; + // æ˜¯å¦æŸ¥æ‰¾å®Œå…¨ç©ºé—²æ ¸å¿ƒ + printf("Enable finding fully idle cores? (y/n) [default: %s]: ", sched_env->find_fully_idle ? "y" : "n"); + if (fgets(input, sizeof(input), stdin) && input[0] != '\n') { + sched_env->find_fully_idle = (input[0] == 'y' || input[0] == 'Y'); + } - switch (key) { - case 'i': // Set interval - env->interval = atoi(arg); - break; - case 'c': // Enable CPU monitoring - env->cpu_data = true; - break; - case 'I': // Enable IO monitoring - env->io_data = true; - break; - case 'm': // Enable memory monitoring - env->mm_data = true; - break; - case 'n': // Enable network monitoring - env->net_data = true; - break; - case 'v': // Enable visualization - env->visualize = true; - break; - case 's': // Output to stdout - env->std_output = true; - break; - case ARGP_KEY_ARG: - case ARGP_KEY_END: - break; - default: - return ARGP_ERR_UNKNOWN; + // 是å¦å¯ç”¨è°ƒè¯•æ¨¡å¼ + printf("Enable verbose mode? (y/n) [default: %s]: ", sched_env->verbose ? "y" : "n"); + if (fgets(input, sizeof(input), stdin) && input[0] != '\n') { + sched_env->verbose = (input[0] == 'y' || input[0] == 'Y'); } + printf("\nSched_ext configuration complete:\n"); + printf(" Delay (ns): %llu\n", sched_env->p_remove_ns); + printf(" Reserve max cores: %llu\n", sched_env->r_max); + printf(" Impatient iterations: %llu\n", sched_env->r_impatient); + printf(" Slice duration (ns): %llu\n", sched_env->slice_ns); + printf(" Find fully idle cores: %s\n", sched_env->find_fully_idle ? "Enabled" : "Disabled"); + printf(" Verbose mode: %s\n", sched_env->verbose ? "Enabled" : "Disabled"); + return 0; } - #endif \ No newline at end of file diff --git a/include/hash_table.h b/include/hash_table.h deleted file mode 100644 index ec593e3..0000000 --- a/include/hash_table.h +++ /dev/null @@ -1,546 +0,0 @@ -#ifndef HASH_TABLE_H -#define HASH_TABLE_H - -#define HASH_TABLE_SIZE 128 -#define MAX_COLLISIONS 4 -//#define HASH_TABLE_VALUE_SIZE (HASH_TABLE_SIZE * sizeof(unsigned int)) + (HASH_TABLE_SIZE * MAX_COLLISIONS * sizeof(unsigned int)) -#define HASH_LIST_LENGTH (HASH_TABLE_SIZE * MAX_COLLISIONS) - -struct hash_table{ - unsigned int hash_node[HASH_TABLE_SIZE][MAX_COLLISIONS]; - //unsigned int hash_node[HASH_LIST_LENGTH]; - //unsigned int collisions[HASH_TABLE_SIZE * MAX_COLLISIONS]; - unsigned int counts[HASH_TABLE_SIZE];// 记录æ¯ä¸ªå†²çªæ¡¶ä¸­çš„å…ƒç´ æ•°é‡ - unsigned int last_valid_index; - unsigned int padding; // å¡«å……å­—æ®µï¼Œç¡®ä¿æ€»å¤§å°ä¸º2568字节 -}; - -static void hash_table_init(struct hash_table *table) { - table->last_valid_index = 0; - for (int i = 0; i < HASH_TABLE_SIZE; i++) { - table->counts[i] = 0; - for (int j = 0; j < MAX_COLLISIONS; j++) { - table->hash_node[i][j] = (unsigned int)-1; - } - } -} - -// static void hash_table_init(struct hash_table *table) { -// #pragma unroll -// for (int i = 0; i < HASH_TABLE_SIZE; i++) { -// table->counts[i] = 0; -// //#pragma unroll -// // for (int j = 0; j < MAX_COLLISIONS; j++) { -// // table->hash_node[i][j] = (unsigned int)-1; // 使用 -1 表示空值 -// // } -// } -// for(int i = 0;i < HASH_TABLE_SIZE * MAX_COLLISIONS;i++) -// table->hash_node[i] = (unsigned int)-1; -// } - - - -static unsigned int hash_func(unsigned int key) { - return key % HASH_TABLE_SIZE; -} - -static unsigned int hash_table_lookup(struct hash_table *table, unsigned int key, bool create) { - unsigned int hash_index = hash_func(key); // 计算哈希索引 - if(hash_index >= HASH_TABLE_SIZE) - return (unsigned int)-1; - - // 首先检查 `hash_node` 中是å¦å·²ç»å­˜å‚¨äº†æ­¤ key - // if (table->hash_node[hash_index] == key) { - // return table->hash_node[hash_index]; - // } - - for (int i = 0; i < table->counts[hash_index] && i < MAX_COLLISIONS; i++) { - if (table->hash_node[hash_index][i] == key) { - return table->hash_node[hash_index][i]; - } - } - - if (create && table->counts[hash_index] < MAX_COLLISIONS) { - // 如果找ä¸åˆ°ä¸”éœ€è¦æ’入新值 - table->hash_node[hash_index][table->counts[hash_index]] = key; - table->counts[hash_index]++; - if(hash_index > table->last_valid_index) - table->last_valid_index = hash_index; - return table->hash_node[hash_index][table->counts[hash_index] - 1]; - } - - return (unsigned int)-1; // æœªæ‰¾åˆ°ä¸”ä¸æ’å…¥ -} - -// static unsigned int hash_table_lookup(struct hash_table *table, unsigned int key, bool create) { -// unsigned int hash_index = hash_func(key); // 计算哈希索引 -// unsigned int start_index = hash_index * MAX_COLLISIONS; // 计算起始ä½ç½® - -// if(hash_index >= HASH_TABLE_SIZE) -// return (unsigned int)-1; -// unsigned int count = table->counts[hash_index]; // 当剿¡¶ä¸­çš„å…ƒç´ æ•°é‡ - -// // é历冲çªé“¾ï¼ŒæŸ¥æ‰¾æŒ‡å®šçš„é”® -// for (unsigned int i = 0; i < count && i < MAX_COLLISIONS; i++) { -// unsigned int idx = start_index + i; -// if(idx >= HASH_TABLE_SIZE * MAX_COLLISIONS) -// return (unsigned int)-1; - -// if (table->hash_node[idx] == key) { -// return table->hash_node[idx]; // 找到返回 -// } -// } - -// // 如果未找到并且å…许创建新的æ¡ç›® -// if (create && count < MAX_COLLISIONS) { -// unsigned int new_index = start_index + count; -// if(new_index >= HASH_TABLE_SIZE * MAX_COLLISIONS) -// return (unsigned int)-1; - -// table->hash_node[new_index] = key; // æ’入新值 -// table->counts[hash_index]++; // æ›´æ–°å…ƒç´ æ•°é‡ -// if (hash_index > table->last_valid_index) { -// table->last_valid_index = hash_index; // æ›´æ–°æœ€åŽæœ‰æ•ˆç´¢å¼• -// } -// return table->hash_node[new_index]; // 返回æ’入的值 -// } - -// return (unsigned int)-1; // æœªæ‰¾åˆ°ä¸”ä¸æ’å…¥ -// } - - -// static int hash_table_insert(struct hash_table *table, unsigned int key) { -// unsigned int hash_index = hash_func(key); -// if(hash_index >= HASH_TABLE_SIZE) -// return (unsigned int)-1; -// unsigned int count = table->counts[hash_index]; -// if(hash_table_lookup(table,key,false) == key){ -// return 1;// 防止é‡å¤æ’å…¥ -// } - -// if (count < MAX_COLLISIONS) { -// table->hash_node[hash_index][count] = key; -// table->counts[hash_index]++; -// if(hash_index > table->last_valid_index) -// table->last_valid_index = hash_index; -// } else { -// return -1; -// } -// return 0; -// } - -// static int hash_table_insert(struct hash_table *table, unsigned int key) { -// unsigned int hash_index = hash_func(key); -// if (hash_index >= HASH_TABLE_SIZE) -// return -1; - -// unsigned int start_index = hash_index * MAX_COLLISIONS; -// unsigned int count = table->counts[hash_index]; - -// // 查找是å¦å·²ç»å­˜åœ¨ï¼Œé˜²æ­¢é‡å¤æ’å…¥ -// if (hash_table_lookup(table, key, false) == key) { -// return 1; // 防止é‡å¤æ’å…¥ -// } - -// // å¦‚æžœå½“å‰æ¡¶çš„冲çªé“¾æœªæ»¡ï¼Œåˆ™æ’入新值 -// if (count < MAX_COLLISIONS) { -// unsigned int new_index = start_index + count; -// if(new_index >= HASH_TABLE_SIZE * MAX_COLLISIONS) -// return (unsigned int)-1; - -// table->hash_node[new_index] = key; // æ’入新值 -// table->counts[hash_index]++; // æ›´æ–°å…ƒç´ æ•°é‡ - -// // æ›´æ–°æœ€åŽæœ‰æ•ˆç´¢å¼• -// if (hash_index > table->last_valid_index) { -// table->last_valid_index = hash_index; -// } -// } else { -// return -1; // 冲çªé“¾å·²æ»¡ï¼Œæ— æ³•æ’å…¥ -// } - -// return 0; // æˆåŠŸæ’å…¥ -// } - - - -// 删除键值对 -// static int hash_table_delete(struct hash_table *table, unsigned int key) { -// unsigned int hash_index = hash_func(key); // 计算哈希索引 -// if(hash_index >= HASH_TABLE_SIZE) -// return -1; -// for (int i = 0; i < table->counts[hash_index] && i < MAX_COLLISIONS; i++) { -// if (table->hash_node[hash_index][i] == key) { -// // 将最åŽä¸€ä¸ªå…ƒç´ ç§»åŠ¨åˆ°è¢«åˆ é™¤çš„ä½ç½®ï¼Œä»¥ä¿æŒè¿žç»­æ€§ -// // table->hash_node[hash_index][i] = table->hash_node[hash_index][table->counts[hash_index] - 1]; -// // table->hash_node[hash_index][table->counts[hash_index] - 1] = (unsigned int)-1; -// // table->counts[hash_index]--; - -// // if (hash_index == table->last_valid_index && table->counts[hash_index] == 0) { -// // while (table->last_valid_index > 0 && table->counts[table->last_valid_index] == 0) { -// // table->last_valid_index--; -// // } -// // } -// // return 0;// æˆåŠŸåˆ é™¤ -// if (table->counts[hash_index] > 0 && table->counts[hash_index] <= MAX_COLLISIONS){ -// table->hash_node[hash_index][i] = table->hash_node[hash_index][table->counts[hash_index] - 1]; -// table->hash_node[hash_index][table->counts[hash_index] - 1] = (unsigned int)-1; -// table->counts[hash_index]--; - -// // 检查 table->last_valid_index çš„åˆæ³•性 -// if (hash_index == table->last_valid_index && table->counts[hash_index] == 0) { -// while (table->last_valid_index > 0 && table->counts[table->last_valid_index] == 0) { -// table->last_valid_index--; -// } -// } -// return 0; // æˆåŠŸåˆ é™¤ -// } -// else{ -// return -1; -// } -// } -// } -// return 1;// 没找到 -// } - -static int hash_table_delete(struct hash_table *table, unsigned int key) { - unsigned int hash_index = hash_func(key); // 计算哈希索引 - - // 检查 hash_index çš„åˆæ³•性 - if (hash_index >= HASH_TABLE_SIZE) - return -1; - - // èŽ·å– counts[hash_index] 的值 - int count = table->counts[hash_index]; - - // 检查 counts[hash_index] 是å¦åœ¨åˆæ³•范围内 - // 因为è¦åˆ é™¤ï¼Œæ‰€ä»¥count一定è¦å¤§äºŽ0 - if (count <= 0 || count > MAX_COLLISIONS) - return -1; - - // é历哈希链表 - #pragma unroll - for (int i = 0; i < MAX_COLLISIONS; i++) { - if (i >= count) - break; - - // 检查 i 的范围 - if (i < 0 || i >= MAX_COLLISIONS) - return -1; - - if (table->hash_node[hash_index][i] == key) { - // 在使用 counts[hash_index] - 1 之å‰ï¼Œå†æ¬¡æ£€æŸ¥ - if (count <= 0 || count > MAX_COLLISIONS) - return -1; - - int last_index = count - 1; - - // 检查 last_index 的范围 - if (last_index < 0 || last_index >= MAX_COLLISIONS) - return -1; - - // 将最åŽä¸€ä¸ªå…ƒç´ ç§»åŠ¨åˆ°è¢«åˆ é™¤çš„ä½ç½®ï¼Œä»¥ä¿æŒè¿žç»­æ€§ - table->hash_node[hash_index][i] = table->hash_node[hash_index][last_index]; - table->hash_node[hash_index][last_index] = (unsigned int)-1; - table->counts[hash_index]--; - - // æ›´æ–° count 的值 - count = table->counts[hash_index]; - - // æ›´æ–° last_valid_index - // if (hash_index == table->last_valid_index && count == 0) { - // while (table->last_valid_index > 0 && table->counts[table->last_valid_index] == 0) { - // table->last_valid_index--; - // } - // } - if (hash_index == table->last_valid_index && count == 0) { - if (table->last_valid_index > 0 && table->last_valid_index < HASH_TABLE_SIZE) { - // 使用固定次数的循环,展开循环以满足验è¯å™¨çš„è¦æ±‚ - #pragma unroll - for (int idx = 0; idx < HASH_TABLE_SIZE; idx++) { - if (table->last_valid_index == 0) - break; - - // 检查 last_valid_index çš„åˆæ³•性 - if (table->last_valid_index <= 0 || table->last_valid_index > HASH_TABLE_SIZE) - break; - - // 检查 counts æ•°ç»„è®¿é—®çš„åˆæ³•性 - if (table->last_valid_index >= HASH_TABLE_SIZE) - break; - - if (table->counts[table->last_valid_index] != 0) - break; - - table->last_valid_index--; - } - } - } - - return 0; // æˆåŠŸåˆ é™¤ - } - } - return 1; // 没找到 -} - -// static int hash_table_delete(struct hash_table *table, unsigned int key) { -// unsigned int hash_index = hash_func(key); // 计算哈希索引 - -// // 检查 hash_index çš„åˆæ³•性 -// if (hash_index >= HASH_TABLE_SIZE) { -// return -1; -// } - -// // èŽ·å–æ¡¶ä¸­å…ƒç´ æ•°é‡ -// int count = table->counts[hash_index]; - -// // 检查 count 是å¦åœ¨åˆæ³•范围内 -// if (count <= 0 || count > MAX_COLLISIONS) { -// return -1; -// } - -// // è®¡ç®—å½“å‰æ¡¶çš„èµ·å§‹ä½ç½® -// unsigned int start_index = hash_index * MAX_COLLISIONS; - -// // é历哈希链表以查找待删除的元素 -// #pragma unroll -// for (int i = 0; i < MAX_COLLISIONS; i++) { -// if (i >= count) { -// break; // 没有更多元素å¯é历 -// } - -// unsigned int current_index = start_index + i; - -// if (table->hash_node[current_index] == key) { -// // 在使用 counts[hash_index] - 1 之å‰ï¼Œå†æ¬¡æ£€æŸ¥ -// if (count <= 0 || count > MAX_COLLISIONS) { -// return -1; -// } - -// int last_index = count - 1; -// unsigned int last_elem_index = start_index + last_index; - -// // 检查 last_index 的范围 -// if (last_index < 0 || last_elem_index >= HASH_TABLE_SIZE * MAX_COLLISIONS) { -// return -1; -// } - -// // 将最åŽä¸€ä¸ªå…ƒç´ ç§»åŠ¨åˆ°è¢«åˆ é™¤çš„ä½ç½®ï¼Œä»¥ä¿æŒè¿žç»­æ€§ -// table->hash_node[current_index] = table->hash_node[last_elem_index]; -// table->hash_node[last_elem_index] = (unsigned int)-1; // 清空最åŽä¸€ä¸ªå…ƒç´  -// table->counts[hash_index]--; - -// // æ›´æ–° count 的值 -// count = table->counts[hash_index]; - -// // æ›´æ–° last_valid_index -// if (hash_index == table->last_valid_index && count == 0) { -// if (table->last_valid_index > 0 && table->last_valid_index < HASH_TABLE_SIZE) { -// // 使用固定次数的循环,以满足验è¯å™¨çš„è¦æ±‚ -// #pragma unroll -// for (int idx = 0; idx < HASH_TABLE_SIZE; idx++) { -// if (table->last_valid_index == 0) { -// break; -// } - -// // 检查 last_valid_index çš„åˆæ³•性 -// if (table->last_valid_index <= 0 || table->last_valid_index >= HASH_TABLE_SIZE) { -// break; -// } - -// if (table->counts[table->last_valid_index] != 0) { -// break; -// } - -// table->last_valid_index--; -// } -// } -// } - -// return 0; // æˆåŠŸåˆ é™¤ -// } -// } - -// return 1; // 没找到 -// } - - - -// 返回key之åŽçš„下一个有效元素,é历用,返回(unsigned int)-1表示到尾巴了 -// static unsigned int hash_table_foreach(struct hash_table *table,unsigned int key){ -// unsigned int hash_index = hash_func(key); -// if(hash_index >= HASH_TABLE_SIZE) -// return (unsigned int)-1; -// bool found = false; - -// for (unsigned int i = hash_index; i <= table->last_valid_index && i < HASH_TABLE_SIZE; i++) { -// for (unsigned int j = 0; j < table->counts[i] && jhash_node[i][j]; -// } -// if (table->hash_node[i][j] == key) { -// found = true; -// } -// } -// } -// return (unsigned int)-1; -// } - -// static unsigned int hash_table_foreach(struct hash_table *table, unsigned int key) { -// unsigned int hash_index = hash_func(key); -// if (hash_index >= HASH_TABLE_SIZE) -// return (unsigned int)-1; -// int found = 0; - -// #pragma unroll -// for (int i = 0; i < HASH_TABLE_SIZE - hash_index; i++) { -// unsigned int idx = hash_index + i; -// if (idx >= HASH_TABLE_SIZE || idx > table->last_valid_index) -// return (unsigned int)-1; - -// // if ((void *)&table->counts[idx] + sizeof(unsigned int) > (void *)table + HASH_TABLE_VALUE_SIZE) -// // return (unsigned int)-1; - -// if (idx * sizeof(unsigned int) >= HASH_TABLE_VALUE_SIZE) -// return (unsigned int)-1; - -// unsigned int count = table->counts[idx]; - -// if (count == 0) -// continue; - -// if (count > MAX_COLLISIONS) -// count = MAX_COLLISIONS; - -// #pragma unroll -// for (unsigned int j = 0; j < MAX_COLLISIONS; j++) { -// if (j >= count || j>=MAX_COLLISIONS) -// break; - -// // if (idx >= HASH_TABLE_SIZE) -// // return (unsigned int)-1; -// if ((idx * MAX_COLLISIONS + j) * sizeof(unsigned int) >= HASH_TABLE_VALUE_SIZE) -// return (unsigned int)-1; - -// //unsigned int *data = table->hash_node[idx]; - -// if (found) { -// if(j < MAX_COLLISIONS && jhash_node[idx][j]; -// break; -// } - -// if (table->hash_node[idx][j] == key) { -// found = 1; -// } -// } -// } -// return (unsigned int)-1; -// } - - -// static unsigned int hash_table_foreach(struct hash_table *table, unsigned int key) { -// unsigned int hash_index = hash_func(key); -// if (hash_index >= HASH_TABLE_SIZE) -// return (unsigned int)-1; // æ£€æŸ¥å“ˆå¸Œç´¢å¼•çš„åˆæ³•性 - -// int found = 0; // æ ‡è®°æ˜¯å¦æ‰¾åˆ° key -// unsigned int max_index = (table->last_valid_index + 1) * MAX_COLLISIONS; - -// unsigned int current_index=0,value=(unsigned int)-1; - -// #pragma unroll -// for (unsigned int i = hash_index * MAX_COLLISIONS; i < max_index && i < 512; i++) { -// // ä½¿ç”¨å–æ¨¡æ“作æ¥ç¡®ä¿ç´¢å¼•åœ¨åˆæ³•范围内 -// //unsigned int current_index = i % (HASH_TABLE_SIZE * MAX_COLLISIONS); -// current_index = i; - -// // æå‰ç»“æŸé历,如果当å‰ç´¢å¼•超过了最大有效索引 -// if (current_index >= max_index) -// return (unsigned int)-1; - -// current_index &= (HASH_LIST_LENGTH - 1); // 强制é™åˆ¶åœ¨ [0, 511] -// // if(current_index >= HASH_TABLE_SIZE * MAX_COLLISIONS) -// // return (unsigned int)-1; -// if(current_index < 512){ -// value = table->hash_node[current_index]; -// if (found && value != (unsigned int)-1) { -// return value; -// } - -// // 检查当å‰å€¼æ˜¯å¦ç­‰äºŽ key -// if (value == key) { -// found = 1; // 标记已找到 key -// } -// } -// else -// { -// return (unsigned int)-1; -// } -// //value = table->hash_node[current_index]; -// // if(i >= HASH_TABLE_SIZE * MAX_COLLISIONS) -// // return (unsigned int)-1; -// // unsigned int value = table->hash_node[i]; - -// // å¦‚æžœæ‰¾åˆ°ä¹‹å‰æ ‡è®°çš„ key,返回找到的下一个有效值 -// // if (found && value != (unsigned int)-1) { -// // return value; -// // } - -// // // 检查当å‰å€¼æ˜¯å¦ç­‰äºŽ key -// // if (value == key) { -// // found = 1; // 标记已找到 key -// // } -// } - -// return (unsigned int)-1; // 未找到下一个有效元素 -// } - -// static unsigned int hash_table_foreach(struct hash_table *table, unsigned int key) { -// unsigned int hash_index = hash_func(key); -// if (hash_index >= HASH_TABLE_SIZE) -// return (unsigned int)-1; - -// if(table->last_valid_index >= HASH_TABLE_SIZE) -// table->last_valid_index = HASH_TABLE_SIZE - 1; -// unsigned int max_index = (table->last_valid_index + 1) * MAX_COLLISIONS; -// if(max_index > HASH_LIST_LENGTH) -// max_index = HASH_LIST_LENGTH; -// unsigned int current_index = hash_index * MAX_COLLISIONS; // 从 key 的哈希槽起始ä½ç½®å¼€å§‹ -// unsigned int value = (unsigned int)-1; -// int found = 0; // æ ‡è®°æ˜¯å¦æ‰¾åˆ°å½“å‰ key - -// //#pragma unroll -// for (unsigned int i = current_index; i < HASH_LIST_LENGTH; i++) { -// if(i >= max_index) -// return (unsigned int)-1; -// // 强制é™åˆ¶ current_index 的范围 -// //current_index = i & (HASH_LIST_LENGTH - 1); -// current_index = i; - -// // 检查å移是å¦åˆæ³•,é¿å…越界访问 -// // unsigned int offset = current_index * sizeof(unsigned int); -// // if (offset + sizeof(unsigned int) > sizeof(table->hash_node)) -// // return (unsigned int)-1; - -// value = table->hash_node[current_index]; - -// if (found && value != (unsigned int)-1) { -// // 找到下一个有效值,返回 -// return value; -// } - -// if (value == key) { -// // 标记找到 key -// found = 1; -// } -// } - -// return (unsigned int)-1; // 未找到下一个有效值 -// } - - - - - -#endif // HASH_TABLE_H \ No newline at end of file diff --git a/include/io_event.h b/include/io_event.h deleted file mode 100644 index 6f7964e..0000000 --- a/include/io_event.h +++ /dev/null @@ -1,34 +0,0 @@ -#ifndef IO_EVENT_H -#define IO_EVENT_H -#include "sys_event.h" - -struct io_wait_perf_data { - u32 count_list[8]; -}; - -struct io_task_stats { - struct task_info_simple info; - u32 read_count; - u32 write_count; - - u64 last_clear_time; - u32 already_output;// 防止一个周期内多次输出 -}; - -struct io_process_stats { - u32 tgid; - u32 read_count; - u32 write_count; - - u64 last_clear_time; - u32 already_output;// 防止一个周期内多次输出 -}; - -struct io_stats_threhold { - u32 read_count; - u32 write_count; - - u64 time_window; -}; - -#endif //CPU_EVENT_H \ No newline at end of file diff --git a/include/mm_event.h b/include/mm_event.h deleted file mode 100644 index 6580d76..0000000 --- a/include/mm_event.h +++ /dev/null @@ -1,113 +0,0 @@ -#ifndef MM_EVENT_H -#define MM_EVENT_H - -#include "sys_event.h" - -#define ALLOCS_MAX_ENTRIES 100000 -#define COMBINED_ALLOCS_MAX_ENTRIES 10240 -#define PERF_MAX_STACK_DEPTH 128 - -#define __PT_PARM1_REG di -#define __PT_PARM2_REG si -#define __PT_PARM3_REG dx -#define __PT_PARM4_REG cx -#define __PT_PARM5_REG r8 -#define __PT_PARM6_REG r9 -/* - * Syscall uses r10 for PARM4. See arch/x86/entry/entry_64.S:entry_SYSCALL_64 - * comments in Linux sources. And refer to syscall(2) manpage. - */ -#define __PT_PARM1_SYSCALL_REG __PT_PARM1_REG -#define __PT_PARM2_SYSCALL_REG __PT_PARM2_REG -#define __PT_PARM3_SYSCALL_REG __PT_PARM3_REG -#define __PT_PARM4_SYSCALL_REG r10 -#define __PT_PARM5_SYSCALL_REG __PT_PARM5_REG -#define __PT_PARM6_SYSCALL_REG __PT_PARM6_REG - -#define __PT_RET_REG sp -#define __PT_FP_REG bp -#define __PT_RC_REG ax -#define __PT_SP_REG sp -#define __PT_IP_REG ip - -#define __PT_REGS_CAST(x) (x) - -#define PT_REGS_RC(x) (__PT_REGS_CAST(x)->__PT_RC_REG) - -/* -1. 内存分é…热点 -- 监测具体的内核函数或模å—中频ç¹çš„å†…å­˜åˆ†é…æ“作,确定哪些代ç è·¯å¾„导致内存压力å‡é«˜ -- 通过挂载在 kmallocã€kfree 等内核内存分é…函数上,å¯ä»¥è¿½è¸ªåˆ†é…å†…å­˜çš„è°ƒç”¨æ ˆï¼Œæ‰¾åˆ°å†…å­˜åŽ‹åŠ›çš„ä¸»è¦æ¥æº -2. 分é…失败的情况 -3. 内核对象缓存(SLAB 分é…器)压力 -4. é¡µå›žæ”¶ä¸Žé¡µé¢æŠ–åŠ¨ -- 通过监控 try_to_free_pagesã€shrink_node 等函数的执行,å¯ä»¥è¯„估页回收的频率和效率,以åŠå¯èƒ½çš„æŠ–动现象 -5. 内存回收和 OOM(Out-Of-Memory)事件 -- 当系统å°è¯•回收内存失败时,å¯èƒ½ä¼šè§¦å‘ OOM Killer æ€æ­»æŸäº›è¿›ç¨‹ã€‚监控 OOM 事件有助于了解哪些进程因内存压力而被终止 -6. NUMA 节点的内存压力 -- 在 NUMA 系统中,æŸäº›èŠ‚ç‚¹å¯èƒ½é¢ä¸´è¾ƒé«˜çš„内存压力而导致内存分é…失败。监控ä¸åŒ NUMA 节点的内存分é…和回收情况,有助于了解节点级别的内存压力 -*/ - -struct mm_threhold { - u32 kmem_threhold; - u32 vmem_threhold; - u32 slab_threhold; - - u64 time_window; -}; - -struct task_mm_stats { - struct task_info_simple info; - - u64 last_clear_time; - - u32 kmem_count; - u32 vmem_count; - u32 slab_count; - - u32 already_output; -}; - -struct process_mm_stats { - u32 tgid; - - u32 kmem_count; - u32 vmem_count; - u32 slab_count; - - u64 last_clear_time; - - u32 already_output; -}; - -struct oom_event{ - u32 trigger_id;// è§¦å‘ OOM 的进程 PID - u32 killed_id;// 被 OOM æ€æ­»çš„进程 PID - char comm[TASK_COMM_LEN];// è¢«æ€æ­»è¿›ç¨‹çš„命令å - u64 kill_time; -}; - -struct alloc_info { - u64 size; - u64 timestamp_ns; - int stack_id; - //int stack_id_usr; -}; - -struct allocation -{ - int stack_id; - u64 size; - u64 count; -}; - -union combined_alloc_info { - // 结构体作为ä½åŸŸå­˜åœ¨,分别å ç”¨ 40 ä½å’Œ 24 ä½ - struct { - u64 total_size : 40;// 40ä½ï¼Œè¡¨ç¤ºæ€»å†…å­˜å¤§å° - u64 number_of_allocs : 24;// 24ä½ï¼Œè¡¨ç¤ºå†…å­˜åˆ†é…æ¬¡æ•° - }; - u64 bits;// 一个 64 ä½å˜é‡ï¼Œå°†æ€»å†…存大å°å’Œåˆ†é…æ¬¡æ•°ç»„åˆæˆä¸€ä¸ª 64 使•°å­— -}; - -#endif //CPU_EVENT_H \ No newline at end of file diff --git a/include/net_event.h b/include/net_event.h deleted file mode 100644 index a59d74c..0000000 --- a/include/net_event.h +++ /dev/null @@ -1,138 +0,0 @@ -#ifndef NET_EVENT_H -#define NET_EVENT_H - -#include "sys_event.h" - -#define AF_INET 2 -#define AF_INET6 10 -#define INET6_ADDRSTRLEN 46 - -#define RETRANSMIT 1 -#define TLP 2 - -// tcpçŠ¶æ€ -// enum { -// TCP_ESTABLISHED = 1, -// TCP_SYN_SENT, -// TCP_SYN_RECV, -// TCP_FIN_WAIT1, -// TCP_FIN_WAIT2, -// TCP_TIME_WAIT, -// TCP_CLOSE, -// TCP_CLOSE_WAIT, -// TCP_LAST_ACK, -// TCP_LISTEN, -// TCP_CLOSING, /* Now a valid state */ -// TCP_NEW_SYN_RECV, -// TCP_BOUND_INACTIVE, /* Pseudo-state for inet_diag */ - -// TCP_MAX_STATES /* Leave at the end! */ -// }; -struct tcp_retransmit_skb_event { - unsigned short common_type; // 通用字段: 事件类型 - unsigned char common_flags; // 通用字段: æ ‡å¿—ä½ - unsigned char common_preempt_count; // 通用字段: 抢å è®¡æ•° - int common_pid; // 通用字段: 当å‰è¿›ç¨‹ PID - - const void *skbaddr; // sk_buff åœ°å€ - const void *skaddr; // å¥—æŽ¥å­—åœ°å€ - - int state; // TCP çŠ¶æ€ - __u16 sport; // æºç«¯å£å· - __u16 dport; // 目标端å£å· - __u16 family; // åœ°å€æ— - - __u8 saddr[4]; // IPv4 æºåœ°å€ - __u8 daddr[4]; // IPv4 ç›®æ ‡åœ°å€ - __u8 saddr_v6[16]; // IPv6 æºåœ°å€ - __u8 daddr_v6[16]; // IPv6 ç›®æ ‡åœ°å€ -}; - -struct tcp_net_latency { - union { - u32 saddr_v4; - __u8 saddr_v6[16]; - } src_addr; - union { - u32 daddr_v4; - __u8 daddr_v6[16]; - } dst_addr; - char comm[TASK_COMM_LEN]; - u64 delta; // 等待时间 - u64 ts; // 事件å‘生时间 - u32 tgid; - int af; // åœ°å€æ—类型 - __u16 lport;// 本地端å£å· - __u16 dport;// 目标端å£å· -}; - -struct tcprtt_perf_data { - u32 data[8]; -}; - -struct ipv4_key_t { - u32 pid; - char comm[TASK_COMM_LEN]; - u32 saddr; - u32 daddr; - __u16 lport; - __u16 dport; -}; - -struct ipv6_key_t { - unsigned __int128 saddr; - unsigned __int128 daddr; - u32 pid; - char comm[TASK_COMM_LEN]; - __u16 lport; - __u16 dport; -}; - -struct recv_send_bytes { - u64 recv; - u64 send; - - u64 last_output;// é¿å…åŒä¸€ä¸ªé‡å¤å¤šæ¬¡å‘é€ï¼ŒåŒä¸€ä¸ªæ¯ç§’å‘é€ä¸€æ¬¡ -}; - -// 实现tcpretrans的结构 -struct tcp_resubmit { - union { - u32 saddr_v4; - __u8 saddr_v6[16]; - } src_addr; - union { - u32 daddr_v4; - __u8 daddr_v6[16]; - } dst_addr; - char comm[TASK_COMM_LEN]; - int af; // åœ°å€æ—类型 - u16 lport;// 本地端å£å· - u16 dport;// 目标端å£å· - u32 pid; - - u32 seq; // åºåˆ—å· - u64 state; // tcpçŠ¶æ€ - u64 type; // 事件类型 - u64 occur; // å‘生时间 -}; - -struct tcp_top_perf_data { - union { - u32 saddr_v4; - __u8 saddr_v6[16]; - } src_addr; - union { - u32 daddr_v4; - __u8 daddr_v6[16]; - } dst_addr; - char comm[TASK_COMM_LEN]; - u64 send; // - u64 recv; // - u32 pid; - int af; // åœ°å€æ—类型 - __u16 lport;// 本地端å£å· - __u16 dport;// 目标端å£å· -}; - -#endif \ No newline at end of file diff --git a/include/proc_data.h b/include/proc_data.h index 1ccfbb1..a15856d 100644 --- a/include/proc_data.h +++ b/include/proc_data.h @@ -45,105 +45,6 @@ int lookup_txt_file(char *txt_file_path, const char *name, FILE **txt_file) { return 0; // æˆåŠŸ } -// // 创建文件夹,如果文件夹已存在则ä¸åšä»»ä½•æ“作 -// int create_folder(const char *folder_path) { -// struct stat st = {0}; - -// if (stat(folder_path, &st) == -1) { -// if (mkdir(folder_path, 0755) == -1) { -// perror("Failed to create folder"); -// return -1; -// } else { -// printf("Created folder: %s\n", folder_path); -// } -// } else { -// printf("Folder already exists: %s\n", folder_path); -// } - -// return 0; -// } - -// // 创建 CSV 文件,并返回文件指针 -// FILE* create_csv_in_folder(const char *folder_path, const char *csv_name) { -// char file_path[MAX_PATH_LEN]; - -// // 构造文件的完整路径 -// if (snprintf(file_path, sizeof(file_path), "%s/%s.csv", folder_path, csv_name) >= sizeof(file_path)) { -// fprintf(stderr, "File path too long: %s/%s.csv\n", folder_path, csv_name); -// return NULL; -// } - -// // 创建 CSV 文件 -// FILE *csv_file = fopen(file_path, "w"); -// if (csv_file == NULL) { -// perror("Failed to create CSV file"); -// return NULL; -// } - -// printf("Created CSV file: %s\n", file_path); -// return csv_file; -// } - -// // 创建下一个 run[i] 文件夹,并返回其路径 -// int create_run_folder(const char *base_dir, char *run_folder_path, size_t size) { -// char visualize_path[MAX_PATH_LEN]; -// snprintf(visualize_path, sizeof(visualize_path), "%s/visualize", base_dir); - -// // 创建 "visualize" 文件夹 -// if (create_folder(visualize_path) != 0) { -// return -1; -// } - -// // 查找现有的 run[i] 文件夹,找到最大的 i -// DIR *dir = opendir(visualize_path); -// if (dir == NULL) { -// perror("opendir failed"); -// return -1; -// } - -// struct dirent *entry; -// int max_run = 0; - -// while ((entry = readdir(dir)) != NULL) { -// if (strncmp(entry->d_name, "run", 3) == 0) { -// int num = atoi(entry->d_name + 3); // èŽ·å– run åŽçš„æ•°å­—部分 -// if (num > max_run) { -// max_run = num; -// } -// } -// } - -// closedir(dir); - -// // 创建下一个 run[i] 文件夹 -// int next_run = max_run + 1; -// snprintf(run_folder_path, size, "%s/run%d", visualize_path, next_run); - -// if (create_folder(run_folder_path) != 0) { -// return -1; -// } - -// return 0; -// } - -// // 创建 CSV 文件并返回其路径 -// int visual_create_run_file(char *csv_folder_path, const char *csv_names[], int num_csv_names, FILE *csv_files[]) { -// // 创建下一个 run[i] 文件夹 -// if (create_run_folder(csv_folder_path, csv_folder_path, MAX_PATH_LEN) != 0) { -// return -1; -// } - -// // 为æ¯ä¸ª CSV å称创建文件 -// for (int i = 0; i < num_csv_names; i++) { -// csv_files[i] = create_csv_in_folder(csv_folder_path, csv_names[i]); -// if (csv_files[i] == NULL) { -// return -1; -// } -// } - -// return 0; -// } - // 辅助函数:检查目录是å¦å­˜åœ¨ï¼Œå¦‚æžœä¸å­˜åœ¨åˆ™åˆ›å»º int ensure_directory_exists(const char *path) { struct stat st; @@ -197,645 +98,4 @@ int visual_create_run_file(char *csv_folder_path, const char *csv_names[], int n return 0; } - - -/*---------------------IO部分----------------------------------*/ -#define MAX_DEVICES 256 -#define DEVICE_NAME_LEN 32 -#define DEFAULT_SECTOR_SIZE 512 // 默认扇区大å°ï¼Œå¯æ ¹æ®éœ€è¦è°ƒæ•´ -#define MAX_IO_RESULTS 256 - - -// 设备的统计信æ¯ç»“构体 -typedef struct { - char name[DEVICE_NAME_LEN]; - unsigned long reads_completed; - unsigned long writes_completed; - unsigned long sectors_read; - unsigned long sectors_written; - unsigned long time_spent_reading; - unsigned long time_spent_writing; - unsigned long weighted_time_IO; - unsigned long time_spent_doing_IO; // 添加字段用于iowait计算 -} DiskStats; - -// 读写速率和IOPS的结果结构体 -typedef struct { - char device[DEVICE_NAME_LEN]; - double read_MB_per_sec; - double write_MB_per_sec; - unsigned long IOPS; - double avg_iowait_ms; // 平凿¯æ¬¡IO等待时间(毫秒) -} DiskIO; - -// DiskStats库的上下文结构体 -typedef struct { - DiskStats previous[MAX_DEVICES]; - int device_count_prev; -} DiskStatsContext; - -// 内部辅助函数:检查设备是å¦éœ€è¦ç›‘控 -static int is_monitored_device(const char* device) { - // 这里åªç›‘控以 "sd", "nvme", "vd", "mmcblk" 开头的设备 - const char* prefixes[] = {"sd", "nvme", "vd", "mmcblk"}; - int num_prefixes = sizeof(prefixes) / sizeof(prefixes[0]); - for (int i = 0; i < num_prefixes; i++) { - size_t len = strlen(prefixes[i]); - if (strncmp(device, prefixes[i], len) == 0) { - return 1; - } - } - return 0; -} - -// åˆå§‹åŒ–上下文 -DiskStatsContext* diskstats_init() { - DiskStatsContext* context = (DiskStatsContext*)malloc(sizeof(DiskStatsContext)); - if (!context) { - perror("malloc"); - return NULL; - } - memset(context->previous, 0, sizeof(context->previous)); - context->device_count_prev = 0; - return context; -} - -// 清ç†ä¸Šä¸‹æ–‡ -void diskstats_cleanup(DiskStatsContext* context) { - if (context) { - free(context); - } -} - -// 读å–å¹¶è§£æž /proc/diskstats -int diskstats_read(DiskStatsContext* context, DiskStats* current, int max_devices) { - if (!context || !current) { - return -1; - } - - FILE *fp = fopen("/proc/diskstats", "r"); - if (!fp) { - perror("fopen"); - return -1; - } - - char line[256]; - int count = 0; - while (fgets(line, sizeof(line), fp) && count < max_devices) { - unsigned int major, minor; - char device[DEVICE_NAME_LEN]; - unsigned long fields[11]; - int parsed = sscanf(line, - "%u %u %s %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu", - &major, &minor, device, - &fields[0], &fields[1], &fields[2], &fields[3], - &fields[4], &fields[5], &fields[6], &fields[7], - &fields[8], &fields[9]); - if (parsed < 13) { - continue; // 跳过ä¸å®Œæ•´çš„行 - } - - // 过滤ä¸éœ€è¦çš„设备 - if (!is_monitored_device(device)) { - continue; - } - - // 填充结构体 - strncpy(current[count].name, device, DEVICE_NAME_LEN - 1); - current[count].name[DEVICE_NAME_LEN - 1] = '\0'; // ç¡®ä¿å­—符串终止 - current[count].reads_completed = fields[0]; - current[count].writes_completed = fields[4]; - current[count].sectors_read = fields[2]; - current[count].sectors_written = fields[6]; - current[count].time_spent_reading = fields[3]; - current[count].time_spent_writing = fields[7]; - current[count].weighted_time_IO = fields[9]; - current[count].time_spent_doing_IO = fields[8]; // 对应字段13 - count++; - } - - fclose(fp); - return count; -} - -// 计算读写速率ã€IOPS å’Œ iowait -int diskstats_calculate(const DiskStats* prev, int device_count_prev, - const DiskStats* current, int device_count_current, - unsigned int interval_sec, DiskIO* io_results, int max_results) { - if (!prev || !current || !io_results) { - return -1; - } - - int result_count = 0; - - for (int i = 0; i < device_count_current && result_count < max_results; i++) { - const DiskStats* curr = ¤t[i]; - // 查找å‰ä¸€æ¬¡çš„相åŒè®¾å¤‡ - const DiskStats* prev_dev = NULL; - for (int j = 0; j < device_count_prev; j++) { - if (strcmp(curr->name, prev[j].name) == 0) { - prev_dev = &prev[j]; - break; - } - } - - if (prev_dev) { - unsigned long read_diff = curr->sectors_read - prev_dev->sectors_read; - unsigned long write_diff = curr->sectors_written - prev_dev->sectors_written; - unsigned long reads_completed_diff = curr->reads_completed - prev_dev->reads_completed; - unsigned long writes_completed_diff = curr->writes_completed - prev_dev->writes_completed; - unsigned long time_spent_doing_IO_diff = curr->time_spent_doing_IO - prev_dev->time_spent_doing_IO; - unsigned long weighted_time_IO_diff = curr->weighted_time_IO - prev_dev->weighted_time_IO; - - // 动æ€èŽ·å–æ‰‡åŒºå¤§å° - char sector_path[64]; - snprintf(sector_path, sizeof(sector_path), "/sys/block/%s/queue/hw_sector_size", curr->name); - FILE *fp = fopen(sector_path, "r"); - unsigned int sector_size = DEFAULT_SECTOR_SIZE; - if (fp) { - if (fscanf(fp, "%u", §or_size) != 1) { - sector_size = DEFAULT_SECTOR_SIZE; - } - fclose(fp); - } - - double read_MB_per_sec = ((double)(read_diff * sector_size) / (1024.0 * 1024.0)) / interval_sec; - double write_MB_per_sec = ((double)(write_diff * sector_size) / (1024.0 * 1024.0)) / interval_sec; - unsigned long IOPS = (reads_completed_diff + writes_completed_diff) / interval_sec; - - double iowait_ms = 0.0; - unsigned long total_IOs = reads_completed_diff + writes_completed_diff; - if (total_IOs > 0) { - iowait_ms = ((double)(weighted_time_IO_diff - time_spent_doing_IO_diff)) / total_IOs; - } - - strncpy(io_results[result_count].device, curr->name, DEVICE_NAME_LEN - 1); - io_results[result_count].device[DEVICE_NAME_LEN - 1] = '\0'; - io_results[result_count].read_MB_per_sec = read_MB_per_sec; - io_results[result_count].write_MB_per_sec = write_MB_per_sec; - io_results[result_count].IOPS = IOPS; - io_results[result_count].avg_iowait_ms = iowait_ms; - - result_count++; - } - } - - return result_count; -} - -// 打å°DiskIO结果,包括iowait -void diskstats_print(const DiskIO* io_results, int io_count, FILE* stream) { - if (!io_results || io_count <= 0 || !stream) { - return; - } - - fprintf(stream, "Disk IO Statistics\n"); - fprintf(stream, "---------------------------------------------------------------------\n"); - fprintf(stream, "%-10s %-12s %-12s %-10s %-12s\n", "Device", "Read(MB/s)", "Write(MB/s)", "IOPS", "iowait(ms)"); - fprintf(stream, "---------------------------------------------------------------------\n"); - for (int i = 0; i < io_count; i++) { - fprintf(stream, "%-10s %-12.2f %-12.2f %-10lu %-12.2f\n", - io_results[i].device, - io_results[i].read_MB_per_sec, - io_results[i].write_MB_per_sec, - io_results[i].IOPS, - io_results[i].avg_iowait_ms); - } - fprintf(stream, "---------------------------------------------------------------------\n\n"); -} - -/** - * @brief 处ç†ä¸€æ¬¡I/O统计更新并打å°ç»“æžœ - * - * @param context 上下文指针 - * @param current 当å‰ç»Ÿè®¡æ•°æ®æ•°ç»„ - * @param device_count_prev å‰ä¸€æ¬¡çš„è®¾å¤‡æ•°é‡ - * @param interval_sec 时间间隔(秒) - * @return int æˆåŠŸæ—¶è¿”å›žæ–°çš„è®¾å¤‡æ•°é‡ï¼Œå¤±è´¥æ—¶è¿”回-1 - */ -int process_disk_stats(DiskStatsContext* context, DiskStats* current, int* device_count_prev, unsigned int interval_sec) { - DiskStats new_stats[MAX_DEVICES]; - int device_count_current = diskstats_read(context, new_stats, MAX_DEVICES); - if (device_count_current < 0) { - fprintf(stderr, "Failed to read /proc/diskstats.\n"); - return -1; - } - - DiskIO io_results[MAX_IO_RESULTS]; - int io_count = diskstats_calculate(current, *device_count_prev, - new_stats, device_count_current, - interval_sec, io_results, MAX_IO_RESULTS); - if (io_count < 0) { - fprintf(stderr, "Failed to calculate disk IO statistics.\n"); - return -1; - } - - // 打å°ç»“果,包括iowait - diskstats_print(io_results, io_count, stdout); - - // æ›´æ–°å‰ä¸€æ¬¡çš„ç»Ÿè®¡æ•°æ® - *device_count_prev = device_count_current; - memcpy(current, new_stats, sizeof(DiskStats) * device_count_current); - - return 0; -} - -/*-------------------------------网络部分----------------------------------------*/ -const char *proc_net_save = "/home/ne0/sys_competition/start/cpu_watcher/visualize/proc"; -FILE *proc_net_file = NULL; -FILE *sys_net_file = NULL; - -// 网络接å£ç»Ÿè®¡ç»“构体 -typedef struct { - char name[32]; - unsigned long long bytes_recv; - unsigned long long packets_recv; - unsigned long long errs_recv; - unsigned long long drop_recv; - unsigned long long bytes_sent; - unsigned long long packets_sent; - unsigned long long errs_sent; - unsigned long long drop_sent; -} NetDevStats; - -static inline void safe_fclose(FILE *fp) { - if (fp) { - fclose(fp); - } -} - -// åˆå§‹åŒ– CSV 文件 -void init_proc_net_csv_file() { - char file_path[256]; - snprintf(file_path, sizeof(file_path), "%s/net.csv", proc_net_save); - - // 检查文件是å¦å­˜åœ¨ - bool write_header = (access(file_path, F_OK) != 0); - - // 在这里打开文件,é¿å…é‡å¤æ‰“å¼€ - sys_net_file = fopen("/proc/net/dev", "r"); - if (!sys_net_file) { - perror("fopen"); - exit(EXIT_FAILURE); - } - - // 打开文件(追加模å¼ï¼‰ - proc_net_file = fopen(file_path, "a"); - if (proc_net_file == NULL) { - perror("Error opening CSV file"); - exit(EXIT_FAILURE); - } - - // 如果文件是新建的,写入标题 - if (write_header) { - fprintf(proc_net_file, "Interface,Bytes Received,Packets Received,Errs Rcv,Drops Rcv," - "Bytes Sent,Packets Sent,Errs Sent,Drops Sent\n"); - fflush(proc_net_file); - } -} - -void close_proc_net_csv_file() { - if (proc_net_file != NULL) { - fclose(proc_net_file); - proc_net_file = NULL; - } - - if(sys_net_file != NULL){ - fclose(sys_net_file); - sys_net_file = NULL; - } -} - -// 写入数æ®åˆ° CSV 文件 -void append_to_csv(const char *data) { - if (proc_net_file == NULL) { - fprintf(stderr, "Error: CSV file is not initialized\n"); - exit(EXIT_FAILURE); - } - fprintf(proc_net_file, "%s", data); - //fflush(proc_net_file); -} - -// è¯»å– /proc/net/dev 文件,解æžç½‘络接å£çš„ç»Ÿè®¡ä¿¡æ¯ -int read_net_dev(NetDevStats **stats, int *count) { - // FILE *fp = fopen("/proc/net/dev", "r"); - // if (!fp) { - // perror("fopen"); - // return -1; - // } - - char line[512]; - int line_num = 0; - int dev_index = 0; - int max_devs = MAX_DEVICES; - NetDevStats *dev_stats = malloc(max_devs * sizeof(NetDevStats)); - if (!dev_stats) { - perror("malloc"); - fclose(sys_net_file); - return -1; - } - - while (fgets(line, sizeof(line), sys_net_file)) { - line_num++; - // 跳过å‰ä¸¤è¡Œæ ‡é¢˜ - if (line_num <= 2) - continue; - - // è§£æžæ¯ä¸€è¡Œ - char iface[32]; - unsigned long long bytes_recv, packets_recv, errs_recv, drop_recv; - unsigned long long bytes_sent, packets_sent, errs_sent, drop_sent; - // æ ¼å¼å‚考 /proc/net/dev - // eth0: bytes packets errs drop fifo frame compressed multicast bytes packets errs drop fifo colls carrier compressed - int scanned = sscanf(line, " %31[^:]: %llu %llu %llu %llu %*u %*u %*u %*u %llu %llu %llu %llu %*u %*u %*u %*u", - iface, &bytes_recv, &packets_recv, &errs_recv, &drop_recv, - &bytes_sent, &packets_sent, &errs_sent, &drop_sent); - if (scanned != 9) - continue; // è§£æžå¤±è´¥ï¼Œè·³è¿‡ - - // 如果超过当å‰åˆ†é…的大å°ï¼Œé‡æ–°åˆ†é… - if (dev_index >= max_devs) { - max_devs *= 2; - NetDevStats *temp = realloc(dev_stats, max_devs * sizeof(NetDevStats)); - if (!temp) { - perror("realloc"); - free(dev_stats); - fclose(sys_net_file); - return -1; - } - dev_stats = temp; - } - - // 填充结构体 - strncpy(dev_stats[dev_index].name, iface, sizeof(dev_stats[dev_index].name) - 1); - dev_stats[dev_index].name[sizeof(dev_stats[dev_index].name) - 1] = '\0'; // ç¡®ä¿å­—符串终止 - dev_stats[dev_index].bytes_recv = bytes_recv; - dev_stats[dev_index].packets_recv = packets_recv; - dev_stats[dev_index].errs_recv = errs_recv; - dev_stats[dev_index].drop_recv = drop_recv; - dev_stats[dev_index].bytes_sent = bytes_sent; - dev_stats[dev_index].packets_sent = packets_sent; - dev_stats[dev_index].errs_sent = errs_sent; - dev_stats[dev_index].drop_sent = drop_sent; - - // 调试输出 - // printf("Parsed Interface: %s | Bytes Received: %llu | Packets Received: %llu | Errs Rcv: %llu | Drops Rcv: %llu | Bytes Sent: %llu | Packets Sent: %llu | Errs Sent: %llu | Drops Sent: %llu\n", - // dev_stats[dev_index].name, - // dev_stats[dev_index].bytes_recv, - // dev_stats[dev_index].packets_recv, - // dev_stats[dev_index].errs_recv, - // dev_stats[dev_index].drop_recv, - // dev_stats[dev_index].bytes_sent, - // dev_stats[dev_index].packets_sent, - // dev_stats[dev_index].errs_sent, - // dev_stats[dev_index].drop_sent); - - dev_index++; - } - - //fclose(fp); - *stats = dev_stats; - *count = dev_index; - return 0; -} - - -// è¯»å– /proc/net/tcp 文件,统计当å‰TCP连接数 -int read_net_tcp(int *tcp_count) { - FILE *fp = fopen("/proc/net/tcp", "r"); - if (!fp) { - perror("fopen"); - return -1; - } - - char line[512]; - int line_num = 0; - int count = 0; - - while (fgets(line, sizeof(line), fp)) { - line_num++; - // 跳过第一行标题 - if (line_num == 1) - continue; - - // æ¯ä¸€è¡Œä»£è¡¨ä¸€ä¸ªTCP连接,简å•统计行数 - count++; - } - - fclose(fp); - *tcp_count = count; - return 0; -} - -// è¯»å– /proc/net/udp å’Œ /proc/net/udp6 文件,统计当å‰UDP连接数 -int read_net_udp(int *udp_count) { - FILE *fp = fopen("/proc/net/udp", "r"); - if (!fp) { - perror("fopen"); - return -1; - } - - char line[512]; - int line_num = 0; - int count = 0; - - while (fgets(line, sizeof(line), fp)) { - line_num++; - // 跳过第一行标题 - if (line_num == 1) - continue; - - // æ¯ä¸€è¡Œä»£è¡¨ä¸€ä¸ªUDP连接,简å•统计行数 - count++; - } - - fclose(fp); - - // åŒæ ·è¯»å– /proc/net/udp6 - fp = fopen("/proc/net/udp6", "r"); - if (!fp) { - perror("fopen"); - return -1; - } - - line_num = 0; - while (fgets(line, sizeof(line), fp)) { - line_num++; - if (line_num == 1) - continue; - count++; - } - - fclose(fp); - *udp_count = count; - return 0; -} - -// 打å°ç½‘络接å£çš„ç»Ÿè®¡ä¿¡æ¯ -void print_net_dev_stats(NetDevStats *stats, int count,bool visualize) { - printf("\n=== Network Interface Statistics ===\n"); - printf("%-10s %-15s %-15s %-10s %-10s %-15s %-15s %-10s %-10s\n", - "Interface", "Bytes Received", "Packets Received", "Errs Rcv", "Drops Rcv", - "Bytes Sent", "Packets Sent", "Errs Sent", "Drops Sent"); - // 准备 CSV æ•°æ®å­—符串 - char csv_data[4096] = {0}; - for (int i = 0; i < count; i++) { - printf("%-10s %-15llu %-15llu %-10llu %-10llu %-15llu %-15llu %-10llu %-10llu\n", - stats[i].name, - stats[i].bytes_recv, - stats[i].packets_recv, - stats[i].errs_recv, - stats[i].drop_recv, - stats[i].bytes_sent, - stats[i].packets_sent, - stats[i].errs_sent, - stats[i].drop_sent); - if(visualize){ - char line[512]; - snprintf(line, sizeof(line), "%s,%llu,%llu,%llu,%llu,%llu,%llu,%llu,%llu\n", - stats[i].name, - stats[i].bytes_recv, - stats[i].packets_recv, - stats[i].errs_recv, - stats[i].drop_recv, - stats[i].bytes_sent, - stats[i].packets_sent, - stats[i].errs_sent, - stats[i].drop_sent); - strcat(csv_data, line); - } - } - // 如果需è¦å†™å…¥ CSV 文件 - if (visualize && proc_net_file != NULL) { - append_to_csv(csv_data); // 追加数æ®åˆ°å…¨å±€ CSV 文件 - } -} - -// 打å°å½“å‰TCP连接数 -void print_tcp_count(int tcp_count) { - printf("\n=== TCP Connections ===\n"); - printf("Total TCP Connections: %d\n", tcp_count); -} - -// 打å°å½“å‰UDP连接数 -void print_udp_count(int udp_count) { - printf("\n=== UDP Connections ===\n"); - printf("Total UDP Connections: %d\n", udp_count); -} - -// 释放网络接å£ç»Ÿè®¡ç»“构的内存 -void free_net_dev_stats(NetDevStats *stats) { - if (stats) - free(stats); -} - -// 监控网络 -int monitor_network(bool visualize) { - NetDevStats *dev_stats = NULL; - int dev_count = 0; - int tcp_count = 0; - int udp_count = 0; - - if(visualize) - init_proc_net_csv_file(); - - // 读å–网络接å£ç»Ÿè®¡ - if (read_net_dev(&dev_stats, &dev_count) != 0) { - fprintf(stderr, "Failed to read /proc/net/dev.\n"); - return -1; - } - - // 读å–TCP连接数 - if (read_net_tcp(&tcp_count) != 0) { - fprintf(stderr, "Failed to read /proc/net/tcp.\n"); - free_net_dev_stats(dev_stats); - return -1; - } - - // 读å–UDP连接数 - if (read_net_udp(&udp_count) != 0) { - fprintf(stderr, "Failed to read /proc/net/udp.\n"); - free_net_dev_stats(dev_stats); - return -1; - } - - // 打å°ç»Ÿè®¡ä¿¡æ¯ - print_net_dev_stats(dev_stats, dev_count,visualize); - print_tcp_count(tcp_count); - print_udp_count(udp_count); - - // 释放分é…的内存 - free_net_dev_stats(dev_stats); - - return 0; -} - - -/*------------------------------mm部分----------------------------------------*/ -#define MEMINFO_PATH "/proc/meminfo" -#define MM_INTERVAL 1 // 定时读å–的间隔时间(秒) - -FILE *open_meminfo() { - FILE *file = fopen(MEMINFO_PATH, "r"); - if (!file) { - perror("Failed to open /proc/meminfo"); - exit(EXIT_FAILURE); - } - return file; -} - -void read_meminfo(FILE *file) { - rewind(file); - - char key[256]; - unsigned long value; - unsigned long mem_total = 0, mem_free = 0, mem_available = 0, buffers = 0, cached = 0; - unsigned long swap_total = 0, swap_free = 0, committed_as = 0, commit_limit = 0; - - while (fscanf(file, "%255[^:]: %lu kB\n", key, &value) == 2) { - if (strcmp(key, "MemTotal") == 0) { - mem_total = value; - } else if (strcmp(key, "MemFree") == 0) { - mem_free = value; - } else if (strcmp(key, "MemAvailable") == 0) { - mem_available = value; - } else if (strcmp(key, "Buffers") == 0) { - buffers = value; - } else if (strcmp(key, "Cached") == 0) { - cached = value; - } else if (strcmp(key, "SwapTotal") == 0) { - swap_total = value; - } else if (strcmp(key, "SwapFree") == 0) { - swap_free = value; - } else if (strcmp(key, "Committed_AS") == 0) { - committed_as = value; - } else if (strcmp(key, "CommitLimit") == 0) { - commit_limit = value; - } - } - - unsigned long used_memory = mem_total - mem_free; - unsigned long used_swap = swap_total - swap_free; - double used_memory_percent = (mem_total > 0) ? (100.0 * used_memory / mem_total) : 0.0; - double available_memory_percent = (mem_total > 0) ? (100.0 * mem_available / mem_total) : 0.0; - double used_swap_percent = (swap_total > 0) ? (100.0 * used_swap / swap_total) : 0.0; - double commit_percent = (commit_limit > 0) ? (100.0 * committed_as / commit_limit) : 0.0; - - printf("\n--- Memory Usage ---\n"); - printf("Total Memory: %lu kB\n", mem_total); - printf("Used Memory: %lu kB (%.2f%%)\n", used_memory, used_memory_percent); - printf("Available Memory: %lu kB (%.2f%%)\n", mem_available, available_memory_percent); - printf("Buffers: %lu kB\n", buffers); - printf("Cached: %lu kB\n", cached); - - printf("\n--- Swap Memory ---\n"); - printf("Total Swap: %lu kB\n", swap_total); - printf("Used Swap: %lu kB (%.2f%%)\n", used_swap, used_swap_percent); - - printf("\n--- Memory Commitment ---\n"); - printf("Commit Limit: %lu kB\n", commit_limit); - printf("Committed AS: %lu kB (%.2f%%)\n", committed_as, commit_percent); -} - - #endif \ No newline at end of file diff --git a/include/scx/common.bpf.h b/include/scx/common.bpf.h new file mode 100644 index 0000000..225f61f --- /dev/null +++ b/include/scx/common.bpf.h @@ -0,0 +1,427 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (c) 2022 Meta Platforms, Inc. and affiliates. + * Copyright (c) 2022 Tejun Heo + * Copyright (c) 2022 David Vernet + */ +#ifndef __SCX_COMMON_BPF_H +#define __SCX_COMMON_BPF_H + +#ifdef LSP +#define __bpf__ +#include "../vmlinux/vmlinux.h" +#else +#include "vmlinux.h" +#endif + +#include +#include +#include +#include "user_exit_info.h" + +#define PF_WQ_WORKER 0x00000020 /* I'm a workqueue worker */ +#define PF_KTHREAD 0x00200000 /* I am a kernel thread */ +#define PF_EXITING 0x00000004 +#define CLOCK_MONOTONIC 1 + +/* + * Earlier versions of clang/pahole lost upper 32bits in 64bit enums which can + * lead to really confusing misbehaviors. Let's trigger a build failure. + */ +static inline void ___vmlinux_h_sanity_check___(void) +{ + _Static_assert(SCX_DSQ_FLAG_BUILTIN, + "bpftool generated vmlinux.h is missing high bits for 64bit enums, upgrade clang and pahole"); +} + +s32 scx_bpf_create_dsq(u64 dsq_id, s32 node) __ksym; +s32 scx_bpf_select_cpu_dfl(struct task_struct *p, s32 prev_cpu, u64 wake_flags, bool *is_idle) __ksym; +void scx_bpf_dispatch(struct task_struct *p, u64 dsq_id, u64 slice, u64 enq_flags) __ksym; +void scx_bpf_dispatch_vtime(struct task_struct *p, u64 dsq_id, u64 slice, u64 vtime, u64 enq_flags) __ksym; +u32 scx_bpf_dispatch_nr_slots(void) __ksym; +void scx_bpf_dispatch_cancel(void) __ksym; +bool scx_bpf_consume(u64 dsq_id) __ksym; +void scx_bpf_dispatch_from_dsq_set_slice(struct bpf_iter_scx_dsq *it__iter, u64 slice) __ksym; +void scx_bpf_dispatch_from_dsq_set_vtime(struct bpf_iter_scx_dsq *it__iter, u64 vtime) __ksym; +bool scx_bpf_dispatch_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak; +bool scx_bpf_dispatch_vtime_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak; +u32 scx_bpf_reenqueue_local(void) __ksym; +void scx_bpf_kick_cpu(s32 cpu, u64 flags) __ksym; +s32 scx_bpf_dsq_nr_queued(u64 dsq_id) __ksym; +void scx_bpf_destroy_dsq(u64 dsq_id) __ksym; +int bpf_iter_scx_dsq_new(struct bpf_iter_scx_dsq *it, u64 dsq_id, u64 flags) __ksym __weak; +struct task_struct *bpf_iter_scx_dsq_next(struct bpf_iter_scx_dsq *it) __ksym __weak; +void bpf_iter_scx_dsq_destroy(struct bpf_iter_scx_dsq *it) __ksym __weak; +void scx_bpf_exit_bstr(s64 exit_code, char *fmt, unsigned long long *data, u32 data__sz) __ksym __weak; +void scx_bpf_error_bstr(char *fmt, unsigned long long *data, u32 data_len) __ksym; +void scx_bpf_dump_bstr(char *fmt, unsigned long long *data, u32 data_len) __ksym __weak; +u32 scx_bpf_cpuperf_cap(s32 cpu) __ksym __weak; +u32 scx_bpf_cpuperf_cur(s32 cpu) __ksym __weak; +void scx_bpf_cpuperf_set(s32 cpu, u32 perf) __ksym __weak; +u32 scx_bpf_nr_cpu_ids(void) __ksym __weak; +const struct cpumask *scx_bpf_get_possible_cpumask(void) __ksym __weak; +const struct cpumask *scx_bpf_get_online_cpumask(void) __ksym __weak; +void scx_bpf_put_cpumask(const struct cpumask *cpumask) __ksym __weak; +const struct cpumask *scx_bpf_get_idle_cpumask(void) __ksym; +const struct cpumask *scx_bpf_get_idle_smtmask(void) __ksym; +void scx_bpf_put_idle_cpumask(const struct cpumask *cpumask) __ksym; +bool scx_bpf_test_and_clear_cpu_idle(s32 cpu) __ksym; +s32 scx_bpf_pick_idle_cpu(const cpumask_t *cpus_allowed, u64 flags) __ksym; +s32 scx_bpf_pick_any_cpu(const cpumask_t *cpus_allowed, u64 flags) __ksym; +bool scx_bpf_task_running(const struct task_struct *p) __ksym; +s32 scx_bpf_task_cpu(const struct task_struct *p) __ksym; +struct rq *scx_bpf_cpu_rq(s32 cpu) __ksym; +struct cgroup *scx_bpf_task_cgroup(struct task_struct *p) __ksym; + +/* + * Use the following as @it__iter when calling + * scx_bpf_dispatch[_vtime]_from_dsq() from within bpf_for_each() loops. + */ +#define BPF_FOR_EACH_ITER (&___it) + +static inline __attribute__((format(printf, 1, 2))) +void ___scx_bpf_bstr_format_checker(const char *fmt, ...) {} + +/* + * Helper macro for initializing the fmt and variadic argument inputs to both + * bstr exit kfuncs. Callers to this function should use ___fmt and ___param to + * refer to the initialized list of inputs to the bstr kfunc. + */ +#define scx_bpf_bstr_preamble(fmt, args...) \ + static char ___fmt[] = fmt; \ + /* \ + * Note that __param[] must have at least one \ + * element to keep the verifier happy. \ + */ \ + unsigned long long ___param[___bpf_narg(args) ?: 1] = {}; \ + \ + _Pragma("GCC diagnostic push") \ + _Pragma("GCC diagnostic ignored \"-Wint-conversion\"") \ + ___bpf_fill(___param, args); \ + _Pragma("GCC diagnostic pop") \ + +/* + * scx_bpf_exit() wraps the scx_bpf_exit_bstr() kfunc with variadic arguments + * instead of an array of u64. Using this macro will cause the scheduler to + * exit cleanly with the specified exit code being passed to user space. + */ +#define scx_bpf_exit(code, fmt, args...) \ +({ \ + scx_bpf_bstr_preamble(fmt, args) \ + scx_bpf_exit_bstr(code, ___fmt, ___param, sizeof(___param)); \ + ___scx_bpf_bstr_format_checker(fmt, ##args); \ +}) + +/* + * scx_bpf_error() wraps the scx_bpf_error_bstr() kfunc with variadic arguments + * instead of an array of u64. Invoking this macro will cause the scheduler to + * exit in an erroneous state, with diagnostic information being passed to the + * user. + */ +#define scx_bpf_error(fmt, args...) \ +({ \ + scx_bpf_bstr_preamble(fmt, args) \ + scx_bpf_error_bstr(___fmt, ___param, sizeof(___param)); \ + ___scx_bpf_bstr_format_checker(fmt, ##args); \ +}) + +/* + * scx_bpf_dump() wraps the scx_bpf_dump_bstr() kfunc with variadic arguments + * instead of an array of u64. To be used from ops.dump() and friends. + */ +#define scx_bpf_dump(fmt, args...) \ +({ \ + scx_bpf_bstr_preamble(fmt, args) \ + scx_bpf_dump_bstr(___fmt, ___param, sizeof(___param)); \ + ___scx_bpf_bstr_format_checker(fmt, ##args); \ +}) + +#define BPF_STRUCT_OPS(name, args...) \ +SEC("struct_ops/"#name) \ +BPF_PROG(name, ##args) + +#define BPF_STRUCT_OPS_SLEEPABLE(name, args...) \ +SEC("struct_ops.s/"#name) \ +BPF_PROG(name, ##args) + +/** + * RESIZABLE_ARRAY - Generates annotations for an array that may be resized + * @elfsec: the data section of the BPF program in which to place the array + * @arr: the name of the array + * + * libbpf has an API for setting map value sizes. Since data sections (i.e. + * bss, data, rodata) themselves are maps, a data section can be resized. If + * a data section has an array as its last element, the BTF info for that + * array will be adjusted so that length of the array is extended to meet the + * new length of the data section. This macro annotates an array to have an + * element count of one with the assumption that this array can be resized + * within the userspace program. It also annotates the section specifier so + * this array exists in a custom sub data section which can be resized + * independently. + * + * See RESIZE_ARRAY() for the userspace convenience macro for resizing an + * array declared with RESIZABLE_ARRAY(). + */ +#define RESIZABLE_ARRAY(elfsec, arr) arr[1] SEC("."#elfsec"."#arr) + +/** + * MEMBER_VPTR - Obtain the verified pointer to a struct or array member + * @base: struct or array to index + * @member: dereferenced member (e.g. .field, [idx0][idx1], .field[idx0] ...) + * + * The verifier often gets confused by the instruction sequence the compiler + * generates for indexing struct fields or arrays. This macro forces the + * compiler to generate a code sequence which first calculates the byte offset, + * checks it against the struct or array size and add that byte offset to + * generate the pointer to the member to help the verifier. + * + * Ideally, we want to abort if the calculated offset is out-of-bounds. However, + * BPF currently doesn't support abort, so evaluate to %NULL instead. The caller + * must check for %NULL and take appropriate action to appease the verifier. To + * avoid confusing the verifier, it's best to check for %NULL and dereference + * immediately. + * + * vptr = MEMBER_VPTR(my_array, [i][j]); + * if (!vptr) + * return error; + * *vptr = new_value; + * + * sizeof(@base) should encompass the memory area to be accessed and thus can't + * be a pointer to the area. Use `MEMBER_VPTR(*ptr, .member)` instead of + * `MEMBER_VPTR(ptr, ->member)`. + */ +#define MEMBER_VPTR(base, member) (typeof((base) member) *) \ +({ \ + u64 __base = (u64)&(base); \ + u64 __addr = (u64)&((base) member) - __base; \ + _Static_assert(sizeof(base) >= sizeof((base) member), \ + "@base is smaller than @member, is @base a pointer?"); \ + asm volatile ( \ + "if %0 <= %[max] goto +2\n" \ + "%0 = 0\n" \ + "goto +1\n" \ + "%0 += %1\n" \ + : "+r"(__addr) \ + : "r"(__base), \ + [max]"i"(sizeof(base) - sizeof((base) member))); \ + __addr; \ +}) + +/** + * ARRAY_ELEM_PTR - Obtain the verified pointer to an array element + * @arr: array to index into + * @i: array index + * @n: number of elements in array + * + * Similar to MEMBER_VPTR() but is intended for use with arrays where the + * element count needs to be explicit. + * It can be used in cases where a global array is defined with an initial + * size but is intended to be be resized before loading the BPF program. + * Without this version of the macro, MEMBER_VPTR() will use the compile time + * size of the array to compute the max, which will result in rejection by + * the verifier. + */ +#define ARRAY_ELEM_PTR(arr, i, n) (typeof(arr[i]) *) \ +({ \ + u64 __base = (u64)arr; \ + u64 __addr = (u64)&(arr[i]) - __base; \ + asm volatile ( \ + "if %0 <= %[max] goto +2\n" \ + "%0 = 0\n" \ + "goto +1\n" \ + "%0 += %1\n" \ + : "+r"(__addr) \ + : "r"(__base), \ + [max]"r"(sizeof(arr[0]) * ((n) - 1))); \ + __addr; \ +}) + + +/* + * BPF declarations and helpers + */ + +/* list and rbtree */ +#define __contains(name, node) __attribute__((btf_decl_tag("contains:" #name ":" #node))) +#define private(name) SEC(".data." #name) __hidden __attribute__((aligned(8))) + +void *bpf_obj_new_impl(__u64 local_type_id, void *meta) __ksym; +void bpf_obj_drop_impl(void *kptr, void *meta) __ksym; + +#define bpf_obj_new(type) ((type *)bpf_obj_new_impl(bpf_core_type_id_local(type), NULL)) +#define bpf_obj_drop(kptr) bpf_obj_drop_impl(kptr, NULL) + +void bpf_list_push_front(struct bpf_list_head *head, struct bpf_list_node *node) __ksym; +void bpf_list_push_back(struct bpf_list_head *head, struct bpf_list_node *node) __ksym; +struct bpf_list_node *bpf_list_pop_front(struct bpf_list_head *head) __ksym; +struct bpf_list_node *bpf_list_pop_back(struct bpf_list_head *head) __ksym; +struct bpf_rb_node *bpf_rbtree_remove(struct bpf_rb_root *root, + struct bpf_rb_node *node) __ksym; +int bpf_rbtree_add_impl(struct bpf_rb_root *root, struct bpf_rb_node *node, + bool (less)(struct bpf_rb_node *a, const struct bpf_rb_node *b), + void *meta, __u64 off) __ksym; +#define bpf_rbtree_add(head, node, less) bpf_rbtree_add_impl(head, node, less, NULL, 0) + +struct bpf_rb_node *bpf_rbtree_first(struct bpf_rb_root *root) __ksym; + +void *bpf_refcount_acquire_impl(void *kptr, void *meta) __ksym; +#define bpf_refcount_acquire(kptr) bpf_refcount_acquire_impl(kptr, NULL) + +/* task */ +struct task_struct *bpf_task_from_pid(s32 pid) __ksym; +struct task_struct *bpf_task_acquire(struct task_struct *p) __ksym; +void bpf_task_release(struct task_struct *p) __ksym; + +/* cgroup */ +struct cgroup *bpf_cgroup_ancestor(struct cgroup *cgrp, int level) __ksym; +void bpf_cgroup_release(struct cgroup *cgrp) __ksym; +struct cgroup *bpf_cgroup_from_id(u64 cgid) __ksym; + +/* css iteration */ +struct bpf_iter_css; +struct cgroup_subsys_state; +extern int bpf_iter_css_new(struct bpf_iter_css *it, + struct cgroup_subsys_state *start, + unsigned int flags) __weak __ksym; +extern struct cgroup_subsys_state * +bpf_iter_css_next(struct bpf_iter_css *it) __weak __ksym; +extern void bpf_iter_css_destroy(struct bpf_iter_css *it) __weak __ksym; + +/* cpumask */ +struct bpf_cpumask *bpf_cpumask_create(void) __ksym; +struct bpf_cpumask *bpf_cpumask_acquire(struct bpf_cpumask *cpumask) __ksym; +void bpf_cpumask_release(struct bpf_cpumask *cpumask) __ksym; +u32 bpf_cpumask_first(const struct cpumask *cpumask) __ksym; +u32 bpf_cpumask_first_zero(const struct cpumask *cpumask) __ksym; +void bpf_cpumask_set_cpu(u32 cpu, struct bpf_cpumask *cpumask) __ksym; +void bpf_cpumask_clear_cpu(u32 cpu, struct bpf_cpumask *cpumask) __ksym; +bool bpf_cpumask_test_cpu(u32 cpu, const struct cpumask *cpumask) __ksym; +bool bpf_cpumask_test_and_set_cpu(u32 cpu, struct bpf_cpumask *cpumask) __ksym; +bool bpf_cpumask_test_and_clear_cpu(u32 cpu, struct bpf_cpumask *cpumask) __ksym; +void bpf_cpumask_setall(struct bpf_cpumask *cpumask) __ksym; +void bpf_cpumask_clear(struct bpf_cpumask *cpumask) __ksym; +bool bpf_cpumask_and(struct bpf_cpumask *dst, const struct cpumask *src1, + const struct cpumask *src2) __ksym; +void bpf_cpumask_or(struct bpf_cpumask *dst, const struct cpumask *src1, + const struct cpumask *src2) __ksym; +void bpf_cpumask_xor(struct bpf_cpumask *dst, const struct cpumask *src1, + const struct cpumask *src2) __ksym; +bool bpf_cpumask_equal(const struct cpumask *src1, const struct cpumask *src2) __ksym; +bool bpf_cpumask_intersects(const struct cpumask *src1, const struct cpumask *src2) __ksym; +bool bpf_cpumask_subset(const struct cpumask *src1, const struct cpumask *src2) __ksym; +bool bpf_cpumask_empty(const struct cpumask *cpumask) __ksym; +bool bpf_cpumask_full(const struct cpumask *cpumask) __ksym; +void bpf_cpumask_copy(struct bpf_cpumask *dst, const struct cpumask *src) __ksym; +u32 bpf_cpumask_any_distribute(const struct cpumask *cpumask) __ksym; +u32 bpf_cpumask_any_and_distribute(const struct cpumask *src1, + const struct cpumask *src2) __ksym; +u32 bpf_cpumask_weight(const struct cpumask *cpumask) __ksym; + +/* + * Access a cpumask in read-only mode (typically to check bits). + */ +const struct cpumask *cast_mask(struct bpf_cpumask *mask) +{ + return (const struct cpumask *)mask; +} + +/* rcu */ +void bpf_rcu_read_lock(void) __ksym; +void bpf_rcu_read_unlock(void) __ksym; + + +/* + * Other helpers + */ + +/* useful compiler attributes */ +#define likely(x) __builtin_expect(!!(x), 1) +#define unlikely(x) __builtin_expect(!!(x), 0) +#define __maybe_unused __attribute__((__unused__)) + +/* + * READ/WRITE_ONCE() are from kernel (include/asm-generic/rwonce.h). They + * prevent compiler from caching, redoing or reordering reads or writes. + */ +typedef __u8 __attribute__((__may_alias__)) __u8_alias_t; +typedef __u16 __attribute__((__may_alias__)) __u16_alias_t; +typedef __u32 __attribute__((__may_alias__)) __u32_alias_t; +typedef __u64 __attribute__((__may_alias__)) __u64_alias_t; + +static __always_inline void __read_once_size(const volatile void *p, void *res, int size) +{ + switch (size) { + case 1: *(__u8_alias_t *) res = *(volatile __u8_alias_t *) p; break; + case 2: *(__u16_alias_t *) res = *(volatile __u16_alias_t *) p; break; + case 4: *(__u32_alias_t *) res = *(volatile __u32_alias_t *) p; break; + case 8: *(__u64_alias_t *) res = *(volatile __u64_alias_t *) p; break; + default: + barrier(); + __builtin_memcpy((void *)res, (const void *)p, size); + barrier(); + } +} + +static __always_inline void __write_once_size(volatile void *p, void *res, int size) +{ + switch (size) { + case 1: *(volatile __u8_alias_t *) p = *(__u8_alias_t *) res; break; + case 2: *(volatile __u16_alias_t *) p = *(__u16_alias_t *) res; break; + case 4: *(volatile __u32_alias_t *) p = *(__u32_alias_t *) res; break; + case 8: *(volatile __u64_alias_t *) p = *(__u64_alias_t *) res; break; + default: + barrier(); + __builtin_memcpy((void *)p, (const void *)res, size); + barrier(); + } +} + +#define READ_ONCE(x) \ +({ \ + union { typeof(x) __val; char __c[1]; } __u = \ + { .__c = { 0 } }; \ + __read_once_size(&(x), __u.__c, sizeof(x)); \ + __u.__val; \ +}) + +#define WRITE_ONCE(x, val) \ +({ \ + union { typeof(x) __val; char __c[1]; } __u = \ + { .__val = (val) }; \ + __write_once_size(&(x), __u.__c, sizeof(x)); \ + __u.__val; \ +}) + +/* + * log2_u32 - Compute the base 2 logarithm of a 32-bit exponential value. + * @v: The value for which we're computing the base 2 logarithm. + */ +static inline u32 log2_u32(u32 v) +{ + u32 r; + u32 shift; + + r = (v > 0xFFFF) << 4; v >>= r; + shift = (v > 0xFF) << 3; v >>= shift; r |= shift; + shift = (v > 0xF) << 2; v >>= shift; r |= shift; + shift = (v > 0x3) << 1; v >>= shift; r |= shift; + r |= (v >> 1); + return r; +} + +/* + * log2_u64 - Compute the base 2 logarithm of a 64-bit exponential value. + * @v: The value for which we're computing the base 2 logarithm. + */ +static inline u32 log2_u64(u64 v) +{ + u32 hi = v >> 32; + if (hi) + return log2_u32(hi) + 32 + 1; + else + return log2_u32(v) + 1; +} + +#include "compat.bpf.h" + +#endif /* __SCX_COMMON_BPF_H */ diff --git a/include/scx/common.h b/include/scx/common.h new file mode 100644 index 0000000..5b0f901 --- /dev/null +++ b/include/scx/common.h @@ -0,0 +1,75 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (c) 2023 Meta Platforms, Inc. and affiliates. + * Copyright (c) 2023 Tejun Heo + * Copyright (c) 2023 David Vernet + */ +#ifndef __SCHED_EXT_COMMON_H +#define __SCHED_EXT_COMMON_H + +#ifdef __KERNEL__ +#error "Should not be included by BPF programs" +#endif + +#include +#include +#include +#include +#include + +typedef uint8_t u8; +typedef uint16_t u16; +typedef uint32_t u32; +typedef uint64_t u64; +typedef int8_t s8; +typedef int16_t s16; +typedef int32_t s32; +typedef int64_t s64; + +#define SCX_BUG(__fmt, ...) \ + do { \ + fprintf(stderr, "[SCX_BUG] %s:%d", __FILE__, __LINE__); \ + if (errno) \ + fprintf(stderr, " (%s)\n", strerror(errno)); \ + else \ + fprintf(stderr, "\n"); \ + fprintf(stderr, __fmt __VA_OPT__(,) __VA_ARGS__); \ + fprintf(stderr, "\n"); \ + \ + exit(EXIT_FAILURE); \ + } while (0) + +#define SCX_BUG_ON(__cond, __fmt, ...) \ + do { \ + if (__cond) \ + SCX_BUG((__fmt) __VA_OPT__(,) __VA_ARGS__); \ + } while (0) + +/** + * RESIZE_ARRAY - Convenience macro for resizing a BPF array + * @__skel: the skeleton containing the array + * @elfsec: the data section of the BPF program in which the array exists + * @arr: the name of the array + * @n: the desired array element count + * + * For BPF arrays declared with RESIZABLE_ARRAY(), this macro performs two + * operations. It resizes the map which corresponds to the custom data + * section that contains the target array. As a side effect, the BTF info for + * the array is adjusted so that the array length is sized to cover the new + * data section size. The second operation is reassigning the skeleton pointer + * for that custom data section so that it points to the newly memory mapped + * region. + */ +#define RESIZE_ARRAY(__skel, elfsec, arr, n) \ + do { \ + size_t __sz; \ + bpf_map__set_value_size((__skel)->maps.elfsec##_##arr, \ + sizeof((__skel)->elfsec##_##arr->arr[0]) * (n)); \ + (__skel)->elfsec##_##arr = \ + bpf_map__initial_value((__skel)->maps.elfsec##_##arr, &__sz); \ + } while (0) + +#include "user_exit_info.h" +#include "compat.h" + +#endif /* __SCHED_EXT_COMMON_H */ diff --git a/include/scx/compat.bpf.h b/include/scx/compat.bpf.h new file mode 100644 index 0000000..e5afe9e --- /dev/null +++ b/include/scx/compat.bpf.h @@ -0,0 +1,47 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (c) 2024 Meta Platforms, Inc. and affiliates. + * Copyright (c) 2024 Tejun Heo + * Copyright (c) 2024 David Vernet + */ +#ifndef __SCX_COMPAT_BPF_H +#define __SCX_COMPAT_BPF_H + +#define __COMPAT_ENUM_OR_ZERO(__type, __ent) \ +({ \ + __type __ret = 0; \ + if (bpf_core_enum_value_exists(__type, __ent)) \ + __ret = __ent; \ + __ret; \ +}) + +/* v6.12: 819513666966 ("sched_ext: Add cgroup support") */ +#define __COMPAT_scx_bpf_task_cgroup(p) \ + (bpf_ksym_exists(scx_bpf_task_cgroup) ? \ + scx_bpf_task_cgroup((p)) : NULL) + +/* v6.12: 4c30f5ce4f7a ("sched_ext: Implement scx_bpf_dispatch[_vtime]_from_dsq()") */ +#define __COMPAT_scx_bpf_dispatch_from_dsq_set_slice(it, slice) \ + (bpf_ksym_exists(scx_bpf_dispatch_from_dsq_set_slice) ? \ + scx_bpf_dispatch_from_dsq_set_slice((it), (slice)) : (void)0) +#define __COMPAT_scx_bpf_dispatch_from_dsq_set_vtime(it, vtime) \ + (bpf_ksym_exists(scx_bpf_dispatch_from_dsq_set_vtime) ? \ + scx_bpf_dispatch_from_dsq_set_vtime((it), (vtime)) : (void)0) +#define __COMPAT_scx_bpf_dispatch_from_dsq(it, p, dsq_id, enq_flags) \ + (bpf_ksym_exists(scx_bpf_dispatch_from_dsq) ? \ + scx_bpf_dispatch_from_dsq((it), (p), (dsq_id), (enq_flags)) : false) +#define __COMPAT_scx_bpf_dispatch_vtime_from_dsq(it, p, dsq_id, enq_flags) \ + (bpf_ksym_exists(scx_bpf_dispatch_vtime_from_dsq) ? \ + scx_bpf_dispatch_vtime_from_dsq((it), (p), (dsq_id), (enq_flags)) : false) + +/* + * Define sched_ext_ops. This may be expanded to define multiple variants for + * backward compatibility. See compat.h::SCX_OPS_LOAD/ATTACH(). + */ +#define SCX_OPS_DEFINE(__name, ...) \ + SEC(".struct_ops.link") \ + struct sched_ext_ops __name = { \ + __VA_ARGS__, \ + }; + +#endif /* __SCX_COMPAT_BPF_H */ diff --git a/include/scx/compat.h b/include/scx/compat.h new file mode 100644 index 0000000..cc56ff9 --- /dev/null +++ b/include/scx/compat.h @@ -0,0 +1,186 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (c) 2024 Meta Platforms, Inc. and affiliates. + * Copyright (c) 2024 Tejun Heo + * Copyright (c) 2024 David Vernet + */ +#ifndef __SCX_COMPAT_H +#define __SCX_COMPAT_H + +#include +#include +#include +#include + +struct btf *__COMPAT_vmlinux_btf __attribute__((weak)); + +static inline void __COMPAT_load_vmlinux_btf(void) +{ + if (!__COMPAT_vmlinux_btf) { + __COMPAT_vmlinux_btf = btf__load_vmlinux_btf(); + SCX_BUG_ON(!__COMPAT_vmlinux_btf, "btf__load_vmlinux_btf()"); + } +} + +static inline bool __COMPAT_read_enum(const char *type, const char *name, u64 *v) +{ + const struct btf_type *t; + const char *n; + s32 tid; + int i; + + __COMPAT_load_vmlinux_btf(); + + tid = btf__find_by_name(__COMPAT_vmlinux_btf, type); + if (tid < 0) + return false; + + t = btf__type_by_id(__COMPAT_vmlinux_btf, tid); + SCX_BUG_ON(!t, "btf__type_by_id(%d)", tid); + + if (btf_is_enum(t)) { + struct btf_enum *e = btf_enum(t); + + for (i = 0; i < BTF_INFO_VLEN(t->info); i++) { + n = btf__name_by_offset(__COMPAT_vmlinux_btf, e[i].name_off); + SCX_BUG_ON(!n, "btf__name_by_offset()"); + if (!strcmp(n, name)) { + *v = e[i].val; + return true; + } + } + } else if (btf_is_enum64(t)) { + struct btf_enum64 *e = btf_enum64(t); + + for (i = 0; i < BTF_INFO_VLEN(t->info); i++) { + n = btf__name_by_offset(__COMPAT_vmlinux_btf, e[i].name_off); + SCX_BUG_ON(!n, "btf__name_by_offset()"); + if (!strcmp(n, name)) { + *v = btf_enum64_value(&e[i]); + return true; + } + } + } + + return false; +} + +#define __COMPAT_ENUM_OR_ZERO(__type, __ent) \ +({ \ + u64 __val = 0; \ + __COMPAT_read_enum(__type, __ent, &__val); \ + __val; \ +}) + +static inline bool __COMPAT_has_ksym(const char *ksym) +{ + __COMPAT_load_vmlinux_btf(); + return btf__find_by_name(__COMPAT_vmlinux_btf, ksym) >= 0; +} + +static inline bool __COMPAT_struct_has_field(const char *type, const char *field) +{ + const struct btf_type *t; + const struct btf_member *m; + const char *n; + s32 tid; + int i; + + __COMPAT_load_vmlinux_btf(); + tid = btf__find_by_name_kind(__COMPAT_vmlinux_btf, type, BTF_KIND_STRUCT); + if (tid < 0) + return false; + + t = btf__type_by_id(__COMPAT_vmlinux_btf, tid); + SCX_BUG_ON(!t, "btf__type_by_id(%d)", tid); + + m = btf_members(t); + + for (i = 0; i < BTF_INFO_VLEN(t->info); i++) { + n = btf__name_by_offset(__COMPAT_vmlinux_btf, m[i].name_off); + SCX_BUG_ON(!n, "btf__name_by_offset()"); + if (!strcmp(n, field)) + return true; + } + + return false; +} + +#define SCX_OPS_SWITCH_PARTIAL \ + __COMPAT_ENUM_OR_ZERO("scx_ops_flags", "SCX_OPS_SWITCH_PARTIAL") + +static inline long scx_hotplug_seq(void) +{ + int fd; + char buf[32]; + ssize_t len; + long val; + + fd = open("/sys/kernel/sched_ext/hotplug_seq", O_RDONLY); + if (fd < 0) + return -ENOENT; + + len = read(fd, buf, sizeof(buf) - 1); + SCX_BUG_ON(len <= 0, "read failed (%ld)", len); + buf[len] = 0; + close(fd); + + val = strtoul(buf, NULL, 10); + SCX_BUG_ON(val < 0, "invalid num hotplug events: %lu", val); + + return val; +} + +/* + * struct sched_ext_ops can change over time. If compat.bpf.h::SCX_OPS_DEFINE() + * is used to define ops and compat.h::SCX_OPS_LOAD/ATTACH() are used to load + * and attach it, backward compatibility is automatically maintained where + * reasonable. + * + * ec7e3b0463e1 ("implement-ops") in https://github.com/sched-ext/sched_ext is + * the current minimum required kernel version. + */ +#define SCX_OPS_OPEN(__ops_name, __scx_name) ({ \ + struct __scx_name *__skel; \ + \ + SCX_BUG_ON(!__COMPAT_struct_has_field("sched_ext_ops", "dump"), \ + "sched_ext_ops.dump() missing, kernel too old?"); \ + \ + __skel = __scx_name##__open(); \ + SCX_BUG_ON(!__skel, "Could not open " #__scx_name); \ + __skel->struct_ops.__ops_name->hotplug_seq = scx_hotplug_seq(); \ + __skel; \ +}) + +#define SCX_OPS_LOAD(__skel, __ops_name, __scx_name, __uei_name) ({ \ + UEI_SET_SIZE(__skel, __ops_name, __uei_name); \ + SCX_BUG_ON(__scx_name##__load((__skel)), "Failed to load skel"); \ +}) + +/* + * New versions of bpftool now emit additional link placeholders for BPF maps, + * and set up BPF skeleton in such a way that libbpf will auto-attach BPF maps + * automatically, assumming libbpf is recent enough (v1.5+). Old libbpf will do + * nothing with those links and won't attempt to auto-attach maps. + * + * To maintain compatibility with older libbpf while avoiding trying to attach + * twice, disable the autoattach feature on newer libbpf. + */ +#if LIBBPF_MAJOR_VERSION > 1 || \ + (LIBBPF_MAJOR_VERSION == 1 && LIBBPF_MINOR_VERSION >= 5) +#define __SCX_OPS_DISABLE_AUTOATTACH(__skel, __ops_name) \ + bpf_map__set_autoattach((__skel)->maps.__ops_name, false) +#else +#define __SCX_OPS_DISABLE_AUTOATTACH(__skel, __ops_name) do {} while (0) +#endif + +#define SCX_OPS_ATTACH(__skel, __ops_name, __scx_name) ({ \ + struct bpf_link *__link; \ + __SCX_OPS_DISABLE_AUTOATTACH(__skel, __ops_name); \ + SCX_BUG_ON(__scx_name##__attach((__skel)), "Failed to attach skel"); \ + __link = bpf_map__attach_struct_ops((__skel)->maps.__ops_name); \ + SCX_BUG_ON(!__link, "Failed to attach struct_ops"); \ + __link; \ +}) + +#endif /* __SCX_COMPAT_H */ diff --git a/include/scx/user_exit_info.h b/include/scx/user_exit_info.h new file mode 100644 index 0000000..8ce2734 --- /dev/null +++ b/include/scx/user_exit_info.h @@ -0,0 +1,115 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Define struct user_exit_info which is shared between BPF and userspace parts + * to communicate exit status and other information. + * + * Copyright (c) 2022 Meta Platforms, Inc. and affiliates. + * Copyright (c) 2022 Tejun Heo + * Copyright (c) 2022 David Vernet + */ +#ifndef __USER_EXIT_INFO_H +#define __USER_EXIT_INFO_H + +enum uei_sizes { + UEI_REASON_LEN = 128, + UEI_MSG_LEN = 1024, + UEI_DUMP_DFL_LEN = 32768, +}; + +struct user_exit_info { + int kind; + s64 exit_code; + char reason[UEI_REASON_LEN]; + char msg[UEI_MSG_LEN]; +}; + +#ifdef __bpf__ + +#ifdef LSP +#include "../vmlinux/vmlinux.h" +#else +#include "vmlinux.h" +#endif +#include + +#define UEI_DEFINE(__name) \ + char RESIZABLE_ARRAY(data, __name##_dump); \ + const volatile u32 __name##_dump_len; \ + struct user_exit_info __name SEC(".data") + +#define UEI_RECORD(__uei_name, __ei) ({ \ + bpf_probe_read_kernel_str(__uei_name.reason, \ + sizeof(__uei_name.reason), (__ei)->reason); \ + bpf_probe_read_kernel_str(__uei_name.msg, \ + sizeof(__uei_name.msg), (__ei)->msg); \ + bpf_probe_read_kernel_str(__uei_name##_dump, \ + __uei_name##_dump_len, (__ei)->dump); \ + if (bpf_core_field_exists((__ei)->exit_code)) \ + __uei_name.exit_code = (__ei)->exit_code; \ + /* use __sync to force memory barrier */ \ + __sync_val_compare_and_swap(&__uei_name.kind, __uei_name.kind, \ + (__ei)->kind); \ +}) + +#else /* !__bpf__ */ + +#include +#include + +/* no need to call the following explicitly if SCX_OPS_LOAD() is used */ +#define UEI_SET_SIZE(__skel, __ops_name, __uei_name) ({ \ + u32 __len = (__skel)->struct_ops.__ops_name->exit_dump_len ?: UEI_DUMP_DFL_LEN; \ + (__skel)->rodata->__uei_name##_dump_len = __len; \ + RESIZE_ARRAY((__skel), data, __uei_name##_dump, __len); \ +}) + +#define UEI_EXITED(__skel, __uei_name) ({ \ + /* use __sync to force memory barrier */ \ + __sync_val_compare_and_swap(&(__skel)->data->__uei_name.kind, -1, -1); \ +}) + +#define UEI_REPORT(__skel, __uei_name) ({ \ + struct user_exit_info *__uei = &(__skel)->data->__uei_name; \ + char *__uei_dump = (__skel)->data_##__uei_name##_dump->__uei_name##_dump; \ + if (__uei_dump[0] != '\0') { \ + fputs("\nDEBUG DUMP\n", stderr); \ + fputs("================================================================================\n\n", stderr); \ + fputs(__uei_dump, stderr); \ + fputs("\n================================================================================\n\n", stderr); \ + } \ + fprintf(stderr, "EXIT: %s", __uei->reason); \ + if (__uei->msg[0] != '\0') \ + fprintf(stderr, " (%s)", __uei->msg); \ + fputs("\n", stderr); \ + __uei->exit_code; \ +}) + +/* + * We can't import vmlinux.h while compiling user C code. Let's duplicate + * scx_exit_code definition. + */ +enum scx_exit_code { + /* Reasons */ + SCX_ECODE_RSN_HOTPLUG = 1LLU << 32, + + /* Actions */ + SCX_ECODE_ACT_RESTART = 1LLU << 48, +}; + +enum uei_ecode_mask { + UEI_ECODE_USER_MASK = ((1LLU << 32) - 1), + UEI_ECODE_SYS_RSN_MASK = ((1LLU << 16) - 1) << 32, + UEI_ECODE_SYS_ACT_MASK = ((1LLU << 16) - 1) << 48, +}; + +/* + * These macro interpret the ecode returned from UEI_REPORT(). + */ +#define UEI_ECODE_USER(__ecode) ((__ecode) & UEI_ECODE_USER_MASK) +#define UEI_ECODE_SYS_RSN(__ecode) ((__ecode) & UEI_ECODE_SYS_RSN_MASK) +#define UEI_ECODE_SYS_ACT(__ecode) ((__ecode) & UEI_ECODE_SYS_ACT_MASK) + +#define UEI_ECODE_RESTART(__ecode) (UEI_ECODE_SYS_ACT((__ecode)) == SCX_ECODE_ACT_RESTART) + +#endif /* __bpf__ */ +#endif /* __USER_EXIT_INFO_H */ diff --git a/include/scx_nest.h b/include/scx_nest.h new file mode 100644 index 0000000..0323fb2 --- /dev/null +++ b/include/scx_nest.h @@ -0,0 +1,30 @@ +#ifndef __SCX_NEST_H +#define __SCX_NEST_H + +struct comm_info { + char comm[16]; +}; + +// 官方的输出因为和内核的bss段有è”系,容易出问题,这里改æˆç”¨perfæ¥è¾“出 +struct cpu_mask_data { + u64 stats_primary_mask; + u64 stats_reserved_mask; + u64 stats_other_mask; + u64 stats_idle_mask; +}; + +enum nest_stat_group { + STAT_GRP_WAKEUP, + STAT_GRP_NEST, + STAT_GRP_CONSUME, +}; + +#define NEST_STAT(__stat) BPFSTAT_##__stat +#define NEST_ST(__stat, __grp, __desc) NEST_STAT(__stat), +enum nest_stat_idx { +#include "scx_nest_stats_table.h" + NEST_ST(NR, 0, 0) +}; +#undef NEST_ST + +#endif /* __SCX_NEST_H */ diff --git a/include/scx_nest_stats_table.h b/include/scx_nest_stats_table.h new file mode 100644 index 0000000..6625f70 --- /dev/null +++ b/include/scx_nest_stats_table.h @@ -0,0 +1,20 @@ +NEST_ST(WAKEUP_ATTACHED, STAT_GRP_WAKEUP, "Attached CPU was idle, and in primary nest") +NEST_ST(WAKEUP_PREV_PRIMARY, STAT_GRP_WAKEUP, "Previous CPU was idle, and in primary nest") +NEST_ST(WAKEUP_FULLY_IDLE_PRIMARY, STAT_GRP_WAKEUP, "Woken up to fully idle primary nest core") +NEST_ST(WAKEUP_ANY_IDLE_PRIMARY, STAT_GRP_WAKEUP, "Woken up to idle logical primary nest core") +NEST_ST(WAKEUP_FULLY_IDLE_RESERVE, STAT_GRP_WAKEUP, "Woken up to fully idle reserve nest core") +NEST_ST(WAKEUP_ANY_IDLE_RESERVE, STAT_GRP_WAKEUP, "Woken up to idle logical reserve nest core") +NEST_ST(WAKEUP_IDLE_OTHER, STAT_GRP_WAKEUP, "Woken to any idle logical core in p->cpus_ptr") + +NEST_ST(TASK_IMPATIENT, STAT_GRP_NEST, "A task was found to be impatient") +NEST_ST(PROMOTED_TO_PRIMARY, STAT_GRP_NEST, "A core was promoted into the primary nest") +NEST_ST(PROMOTED_TO_RESERVED, STAT_GRP_NEST, "A core was promoted into the reserve nest") +NEST_ST(DEMOTED_TO_RESERVED, STAT_GRP_NEST, "A core was demoted into the reserve nest") +NEST_ST(RESERVED_AT_CAPACITY, STAT_GRP_NEST, "Reserved nest was at capacity") +NEST_ST(SCHEDULED_COMPACTION, STAT_GRP_NEST, "Scheduled a primary core to be compacted") +NEST_ST(CANCELLED_COMPACTION, STAT_GRP_NEST, "Cancelled a primary core from being compacted at task wakeup time") +NEST_ST(EAGERLY_COMPACTED, STAT_GRP_NEST, "A core was compacted in ops.dispatch()") +NEST_ST(CALLBACK_COMPACTED, STAT_GRP_NEST, "A core was compacted in the scheduled timer callback") + +NEST_ST(CONSUMED, STAT_GRP_CONSUME, "A task was consumed from the global DSQ") +NEST_ST(NOT_CONSUMED, STAT_GRP_CONSUME, "There was no task in the global DSQ") diff --git a/include/sys_event.h b/include/sys_event.h index 244831e..64daf78 100644 --- a/include/sys_event.h +++ b/include/sys_event.h @@ -4,10 +4,12 @@ #include #include +#include #define TASK_COMM_LEN 16 -typedef unsigned long long u64; +//typedef unsigned long long u64; +typedef uint64_t u64; typedef unsigned int u32; typedef __u16 u16; typedef __u8 u8; diff --git a/io_spy b/io_spy deleted file mode 100755 index f589a40..0000000 Binary files a/io_spy and /dev/null differ diff --git a/io_spy.c b/io_spy.c deleted file mode 100644 index 0e3af4e..0000000 --- a/io_spy.c +++ /dev/null @@ -1,284 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "io_event.h" -#include "io_stats.skel.h" - -#include "proc_data.h" - -#define MAX_IO_RESULTS 256 - -static u32 zero = 0; -static u32 one = 1; - -/*---------------------------IOä¿¡æ¯---------------------------------*/ -struct ring_buffer *rb_io_task_stats, *rb_io_process_stats, *rb_io_wait; -struct io_stats_bpf *io_skel = NULL; -struct bpf_link *link_io_wait = NULL; -DiskStatsContext* context = NULL; -DiskStats current[MAX_DEVICES]; - -static int handle_io_task_stats_event(void *ctx,void *data, size_t data_sz){ - struct io_task_stats *event = (struct io_task_stats *)data; - - printf(" PID: %u\n", event->info.pid); - printf(" Command: %s\n", event->info.comm); - printf(" read_count: %u\n", event->read_count); - printf(" write_count: %u\n", event->write_count); - - return 0; -} - -static int handle_io_process_stats_event(void *ctx,void *data, size_t data_sz){ - struct io_process_stats *event = (struct io_process_stats *)data; - - printf(" tgid: %u\n", event->tgid); - printf(" read_count: %u\n", event->read_count); - printf(" write_count: %u\n", event->write_count); - - return 0; -} - -static int handle_iowait_perf_event(void *ctx,void *data, size_t data_sz){ - struct io_wait_perf_data *event = (struct io_wait_perf_data *)data; - - for(int i=0;i<8;i++){ - switch(i) - { - case 0: - printf("wait less than 1us: %u\n",event->count_list[i]); - continue; - case 1: - printf("wait less than 4us: %u\n",event->count_list[i]); - continue; - case 2: - printf("wait less than 16us: %u\n",event->count_list[i]); - continue; - case 3: - printf("wait less than 64us: %u\n",event->count_list[i]); - continue; - case 4: - printf("wait less than 256us: %u\n",event->count_list[i]); - continue; - case 5: - printf("wait less than 1ms: %u\n",event->count_list[i]); - continue; - case 6: - printf("wait less than 4ms: %u\n",event->count_list[i]); - continue; - case 7: - printf("wait large than 4ms: %u\n",event->count_list[i]); - continue; - default: - continue; - } - } - - return 0; -} - -static int create_perf_event(u32 period_ms) { - struct perf_event_attr attr = { - .type = PERF_TYPE_SOFTWARE, // 使用软件事件类型 - .config = PERF_COUNT_SW_CPU_CLOCK, // 使用 CPU æ—¶é’Ÿä½œä¸ºè§¦å‘æº - .size = sizeof(struct perf_event_attr), - .sample_period = period_ms * 1000000ULL, // 设置为毫秒级的间隔 - .freq = 0, // 使用固定间隔,而éžé¢‘率 - .wakeup_events = 1, // æ¯æ¬¡è§¦å‘事件 - }; - - // 对所有 CPU 和进程创建事件 - int fd = syscall(__NR_perf_event_open, &attr, -1, 0, -1, 0); - if (fd < 0) { - perror("perf_event_open"); - return -1; - } - return fd; -} - -static struct bpf_link* attach_perf_event_to_program(struct bpf_program *prog, u32 period_ms) { - // 创建 perf event - int perf_fd = create_perf_event(period_ms); - if (perf_fd < 0) { - fprintf(stderr, "Failed to create perf_event\n"); - return NULL; - } - - // å°† perf event 附加到指定的 BPF ç¨‹åº - struct bpf_link *link = bpf_program__attach_perf_event(prog, perf_fd); - if (!link) { - fprintf(stderr, "Failed to attach perf_event to BPF program: %s\n", strerror(errno)); - close(perf_fd); - return NULL; - } - - return link; -} - -static int attach_io_skel(struct io_stats_bpf *skel){ - int ret; - - ret = io_stats_bpf__load(skel); - if(ret){ - fprintf(stderr, "failed to load io_stats skel\n"); - return ret; - } - - ret = io_stats_bpf__attach(skel); - if(ret){ - fprintf(stderr, "failed to attach io_stats bpf program(s)\n"); - - return -1; - } - - link_io_wait = attach_perf_event_to_program(skel->progs.handle_io_wait_event,500); - if(!link_io_wait){ - return -1; - } - skel->links.handle_io_wait_event = link_io_wait; - - rb_io_task_stats = ring_buffer__new(bpf_map__fd(skel->maps.io_task_stats_buffer),handle_io_task_stats_event,NULL,NULL); - rb_io_process_stats = ring_buffer__new(bpf_map__fd(skel->maps.io_process_stats_buffer),handle_io_process_stats_event,NULL,NULL); - rb_io_wait = ring_buffer__new(bpf_map__fd(skel->maps.io_wait_buffer),handle_iowait_perf_event,NULL,NULL); - - int threhold_fd = bpf_map__fd(skel->maps.io_threhold_map); - struct io_stats_threhold task = { - .read_count = 50, - .write_count = 50, - .time_window = (1000 * MSEC) - }; - struct io_stats_threhold process = { - .read_count = 100, - .write_count = 100, - .time_window = (1000 * MSEC) - }; - - if(bpf_map_update_elem(threhold_fd,&zero,&task,BPF_ANY) != 0){ - printf("io_threhold map update error\n"); - return -1; - } - - if(bpf_map_update_elem(threhold_fd,&one,&process,BPF_ANY) != 0){ - printf("io_threhold map update error\n"); - return -1; - } - - return 0; -} - -unsigned int io_parse_arguments(int argc, char *argv[]) { - unsigned int interval = 1; // 默认1ç§’ - if (argc == 2) { - interval = atoi(argv[1]); - if (interval == 0) { - fprintf(stderr, "Invalid interval. Using default 1 second.\n"); - interval = 1; - } - } - return interval; -} - -int io_initialize_monitoring(unsigned int interval) { - // åˆå§‹åŒ–上下文 - context = diskstats_init(); - if (!context) { - fprintf(stderr, "Failed to initialize DiskStatsContext.\n"); - return -1; - } - - // 读å–åˆå§‹ç»Ÿè®¡æ•°æ® - int device_count_prev = diskstats_read(context, current, MAX_DEVICES); - if (device_count_prev < 0) { - fprintf(stderr, "Failed to read /proc/diskstats.\n"); - diskstats_cleanup(context); - return -1; - } - - context->device_count_prev = device_count_prev; - return 0; -} - -static void io_resource_clean(){ - if(rb_io_task_stats) - ring_buffer__free(rb_io_task_stats); - if(rb_io_process_stats) - ring_buffer__free(rb_io_process_stats); - if(rb_io_wait) - ring_buffer__free(rb_io_wait); - io_stats_bpf__destroy(io_skel); -} - -static int io_ring_buffer_poll(){ - int ret; - ret = ring_buffer__poll(rb_io_task_stats,200); - if(ret<0) - { - fprintf(stderr, "Error polling io task stat ring buffer: %d\n", ret); - return ret; - } - ret = ring_buffer__poll(rb_io_process_stats,200); - if(ret < 0) - { - fprintf(stderr, "Error polling io process stat ring buffer: %d\n", ret); - return ret; - } - ret = ring_buffer__poll(rb_io_wait,600); - if(ret<0) - { - fprintf(stderr, "Error polling io wait ring buffer: %d\n", ret); - return ret; - } - - return 0; -} - -int main(int argc, char *argv[]) { - int ret = 0; - - io_skel = io_stats_bpf__open(); - if(!io_skel){ - fprintf(stderr, "failed to open io_stats skel\n"); - ret = 1; - - goto cleanup; - } - - ret = attach_io_skel(io_skel); - if(ret != 0) - goto cleanup; - - unsigned int interval = io_parse_arguments(argc, argv); - - if (io_initialize_monitoring(interval) != 0) { - fprintf(stderr, "Initialization failed.\n"); - ret = 1; - goto cleanup; - } - - while (1) { - //sleep(interval); - usleep(USEC * 100); - ret = io_ring_buffer_poll(); - if(ret != 0) - goto cleanup; - if (process_disk_stats(context, current, &context->device_count_prev, interval) != 0) { - goto cleanup; - } - } - - -cleanup: - io_resource_clean(); - diskstats_cleanup(context); - return 0; -} diff --git a/mm_spy b/mm_spy deleted file mode 100755 index 16b4b92..0000000 Binary files a/mm_spy and /dev/null differ diff --git a/mm_spy.c b/mm_spy.c deleted file mode 100644 index 575ab12..0000000 --- a/mm_spy.c +++ /dev/null @@ -1,687 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "mm_event.h" - -#include "mm_stats.skel.h" -#include "mm_leak.skel.h" -#include "blazesym.h" - -#define KERN_STACKID_FLAGS (0 | BPF_F_FAST_STACK_CMP) -#define USER_STACKID_FLAGS (0 | BPF_F_FAST_STACK_CMP | BPF_F_USER_STACK) - -#define __ATTACH_UPROBE(skel, sym_name, prog_name, is_retprobe) \ - do { \ - LIBBPF_OPTS(bpf_uprobe_opts, uprobe_opts, \ - .func_name = #sym_name, \ - .retprobe = is_retprobe); \ - skel->links.prog_name = bpf_program__attach_uprobe_opts( \ - skel->progs.prog_name, \ - trace_pid, /* No specific PID */ \ - "/lib/x86_64-linux-gnu/libc.so.6", /* No specific object */ \ - 0, \ - &uprobe_opts); \ - } while (false) - -#define __CHECK_PROGRAM(skel, prog_name) \ - do { \ - if (!skel->links.prog_name) { \ - perror("no program attached for " #prog_name); \ - return -errno; \ - } \ - } while (false) - -#define __ATTACH_UPROBE_CHECKED(skel, sym_name, prog_name, is_retprobe) \ - do { \ - __ATTACH_UPROBE(skel, sym_name, prog_name, is_retprobe); \ - __CHECK_PROGRAM(skel, prog_name); \ - } while (false) - -#define ATTACH_UPROBE(skel, sym_name, prog_name) __ATTACH_UPROBE(skel, sym_name, prog_name, false) -#define ATTACH_URETPROBE(skel, sym_name, prog_name) __ATTACH_UPROBE(skel, sym_name, prog_name, true) -#define ATTACH_UPROBE_CHECKED(skel, sym_name, prog_name) __ATTACH_UPROBE_CHECKED(skel, sym_name, prog_name, false) -#define ATTACH_URETPROBE_CHECKED(skel, sym_name, prog_name) __ATTACH_UPROBE_CHECKED(skel, sym_name, prog_name, true) - -static u32 zero = 0; -static u32 one = 1; - -/*-----------------------这些都是内存的-------------------------------------*/ -static u64 trace_pid = 0; -int leak_allocs_fd; -int leak_stack_traces_fd; - -static struct blaze_symbolizer *mm_symbolizer; -static struct allocation *allocs; -struct ring_buffer *rb_oom, *rb_task_mm, *rb_process_mm; - -static u64 *stack; - -static int attach_leak_uprobes(struct mm_leak_bpf *skel); -static int print_outstanding_allocs(int allocs_fd, int stack_traces_fd); -static int print_stack_frames(struct allocation *allocs, u64 nr_allocs, int stack_traces_fd); - -static int handle_oom_event(void *ctx,void *data, size_t data_sz); -static int handle_task_mm_stats_event(void *ctx,void *data, size_t data_sz); -static int handle_process_mm_stats_event(void *ctx,void *data, size_t data_sz); - - -static int attach_leak_skel(struct mm_leak_bpf *skel); -static int attach_mm_stats_skel(struct mm_stats_bpf *skel); -static int mm_ring_buffer_poll(); -void ring_buffer_destroy(); - -int main(){ - int ret = 0; - struct mm_leak_bpf *leak_skel = NULL; - struct mm_stats_bpf *mm_skel = NULL; - - leak_skel = mm_leak_bpf__open(); - if(!leak_skel){ - fprintf(stderr, "failed to open mm_leak skel\n"); - ret = 1; - - goto cleanup; - } - - mm_skel = mm_stats_bpf__open(); - if(!mm_skel){ - fprintf(stderr, "failed to open mm_stats skel\n"); - ret = 1; - - goto cleanup; - } - - ret = attach_leak_skel(leak_skel); - if(ret != 0) - goto cleanup; - - ret = attach_mm_stats_skel(mm_skel); - if(ret != 0) - goto cleanup; - - while(1){ - print_outstanding_allocs(leak_allocs_fd,leak_stack_traces_fd); - //sleep(1); - ret = mm_ring_buffer_poll(); - if(ret < 0) - break; - } - -cleanup: - ring_buffer_destroy(); - - blaze_symbolizer_free(mm_symbolizer); - mm_leak_bpf__destroy(leak_skel); - mm_stats_bpf__destroy(mm_skel); - - return ret; -} - -void ring_buffer_destroy(){ - if(rb_oom) - ring_buffer__free(rb_oom); - if(rb_task_mm) - ring_buffer__free(rb_task_mm); - if(rb_process_mm) - ring_buffer__free(rb_process_mm); -} - -static int handle_oom_event(void *ctx,void *data, size_t data_sz){ - struct oom_event *event = (struct oom_event *)data; - - // 将时间戳转æ¢ä¸ºå¯è¯»æ ¼å¼ - time_t kill_time_sec = event->kill_time / 1000000000; - long kill_time_nsec = event->kill_time % 1000000000; - - struct tm *tm_info = localtime(&kill_time_sec); - char time_buffer[64]; - strftime(time_buffer, sizeof(time_buffer), "%Y-%m-%d %H:%M:%S", tm_info); - - printf("[%s.%09ld] OOM Event:\n", time_buffer, kill_time_nsec); - printf(" Trigger PID: %u\n", event->trigger_id); - printf(" Killed PID: %u\n", event->killed_id); - printf(" Command: %s\n", event->comm); - printf(" Kill Time: %llu ns\n\n", event->kill_time); - - return 0; -} - -static int handle_task_mm_stats_event(void *ctx,void *data, size_t data_sz){ - struct task_mm_stats *event = (struct task_mm_stats *)data; - - printf(" PID: %u\n", event->info.pid); - printf(" Command: %s\n", event->info.comm); - printf(" kmem_count: %u\n", event->kmem_count); - printf(" vmem_count: %u\n", event->vmem_count); - printf(" slab_count: %u\n\n", event->slab_count); - - return 0; -} - -static int handle_process_mm_stats_event(void *ctx,void *data, size_t data_sz){ - struct process_mm_stats *event = (struct process_mm_stats *)data; - - printf(" process tgid: %u\n", event->tgid); - printf(" kmem_count: %u\n", event->kmem_count); - printf(" vmem_count: %u\n", event->vmem_count); - printf(" slab_count: %u\n\n", event->slab_count); - - return 0; -} - -static int attach_leak_skel(struct mm_leak_bpf *skel){ - int ret; - - allocs = calloc(ALLOCS_MAX_ENTRIES, sizeof(*allocs)); - if (!allocs) { - fprintf(stderr, "failed to allocate array\n"); - ret = -ENOMEM; - - return ret; - } - - stack = calloc(PERF_MAX_STACK_DEPTH, sizeof(*stack)); - if (!stack) { - fprintf(stderr, "failed to allocate stack array\n"); - ret = -ENOMEM; - - return ret; - } - - ret = mm_leak_bpf__load(skel); - if(ret){ - fprintf(stderr, "failed to load mm_leak skel\n"); - - return -1; - } - - leak_allocs_fd = bpf_map__fd(skel->maps.allocs); - leak_stack_traces_fd = bpf_map__fd(skel->maps.stack_traces); - - ret = attach_leak_uprobes(skel); - if(ret){ - fprintf(stderr, "failed to attach mm_leak uprobes\n"); - - return -1; - } - - - ret = mm_leak_bpf__attach(skel); - if (ret) { - fprintf(stderr, "failed to attach bpf program(s)\n"); - - return -1; - } - - mm_symbolizer = blaze_symbolizer_new(); - if(!mm_symbolizer){ - printf("Failed to initialize symbolizer\n"); - ret = -1; - - return ret; - } - - return 0; -} - -static int attach_mm_stats_skel(struct mm_stats_bpf *skel){ - int ret,map_fd; - - ret = mm_stats_bpf__load(skel); - if(ret){ - fprintf(stderr, "failed to load mm_leak skel\n"); - return -1; - } - - ret = mm_stats_bpf__attach(skel); - if (ret) { - fprintf(stderr, "failed to attach mm_stats bpf program(s)\n"); - - return -1; - } - - rb_oom = ring_buffer__new(bpf_map__fd(skel->maps.oom_event_buffer),handle_oom_event,NULL,NULL); - if(!rb_oom){ - fprintf(stderr, "Failed to create oom ring buffer\n"); - return -1; - } - - rb_task_mm = ring_buffer__new(bpf_map__fd(skel->maps.task_mm_stats_buffer),handle_task_mm_stats_event,NULL,NULL); - if(!rb_task_mm){ - fprintf(stderr, "Failed to create task mm stats ring buffer\n"); - return -1; - } - - rb_process_mm = ring_buffer__new(bpf_map__fd(skel->maps.process_mm_stats_buffer),handle_process_mm_stats_event,NULL,NULL); - if(!rb_process_mm){ - fprintf(stderr, "Failed to create task mm stats ring buffer\n"); - return -1; - } - - struct mm_threhold threhold_task = { - .kmem_threhold = 500, - .slab_threhold = 500, - .vmem_threhold = 500, - .time_window = MSEC * 1000 // 1ç§’ - }; - - struct mm_threhold threhold_process = { - .kmem_threhold = 1000, - .slab_threhold = 1000, - .vmem_threhold = 1000, - .time_window = MSEC * 1000 // 1ç§’ - }; - - map_fd = bpf_map__fd(skel->maps.threhold_map); - if(bpf_map_update_elem(map_fd,&zero,&threhold_task,BPF_ANY) != 0){ - perror("Failed to update mm_threhold map\n"); - return -1; - } - - if(bpf_map_update_elem(map_fd,&one,&threhold_process,BPF_ANY) != 0){ - perror("Failed to update mm_threhold map\n"); - return -1; - } - - return 0; -} - -static int mm_ring_buffer_poll(){ - int err; - - err = ring_buffer__poll(rb_oom,500); - if(err < 0) - { - fprintf(stderr, "Error polling oom ring buffer: %d\n", err); - return err; - } - - err = ring_buffer__poll(rb_task_mm,500); - if(err < 0) - { - fprintf(stderr, "Error polling task mm stats ring buffer: %d\n", err); - return err; - } - - err = ring_buffer__poll(rb_process_mm,500); - if(err < 0) - { - fprintf(stderr, "Error polling process mm stats ring buffer: %d\n", err); - return err; - } - - return 0; -} - -int print_outstanding_combined_allocs(u64 combined_allocs_fd, u64 stack_traces_fd){ - - for (u64 prev_key = 0, curr_key = 0;; prev_key = curr_key){ - if (bpf_map_get_next_key(combined_allocs_fd,&prev_key,&curr_key)) - { - if (errno == ENOENT) - { - break; // no more keys, done! - } - perror("map get next key failed!"); - - return -errno; - } - - union combined_alloc_info cinfo; - memset(&cinfo, 0, sizeof(cinfo)); - - if (bpf_map_lookup_elem(combined_allocs_fd,&curr_key,&cinfo)) - { - if (errno == ENOENT) - { - continue; - } - - perror("map lookup failed!"); - return -errno; - } - - if (bpf_map_lookup_elem(stack_traces_fd,&curr_key,stack)) - { - perror("failed to lookup stack traces!"); - return -errno; - } - - printf("stack_id=0x%llx with outstanding allocations: total_size=%llu nr_allocs=%llu\n", - curr_key, (u64)cinfo.total_size, (u64)cinfo.number_of_allocs); - - int stack_sz = 0; - for (int i = 0; i < 128; i++) - { - if (stack[i] == 0) - { - break; - } - stack_sz++; - // printf("[%3d] 0x%llx\n", i, g_stacks[i]); - } - - print_stack_frames_by_blazesym(stack,stack_sz); - } - return 0; -} - - -int alloc_size_compare(const void *a, const void *b) -{ - const struct allocation *x = (struct allocation *)a; - const struct allocation *y = (struct allocation *)b; - - // descending order - - if (x->size > y->size) - return -1; - - if (x->size < y->size) - return 1; - - return 0; -} - -static int print_outstanding_allocs(int allocs_fd, int stack_traces_fd){ - //const u64 allocs_key_size = bpf_map__key_size(skel->maps.allocs); - - u64 t = time(NULL); - struct tm *tm = localtime(&t);// 获å–当剿—¶é—´ï¼Œç”¨äºŽè¾“出时的时间戳 - u64 nr_allocs = 0;// 计数器用æ¥è®°å½•找到的分é…ä¿¡æ¯çš„æ•°é‡ - - //é历 allocs map,prev_key å’Œ curr_key 用æ¥åœ¨ BPF map 中迭代查找元素 - for (u64 prev_key = 0, curr_key = 0;; prev_key = curr_key) - { - struct alloc_info alloc_info = {}; - memset(&alloc_info, 0, sizeof(alloc_info)); - // 获å–下一个 allocs map 中的键,直到é历完所有键,如果返回 ENOENT 错误,表示没有更多的键,å¯ä»¥é€€å‡ºå¾ªçޝ - if (bpf_map_get_next_key(allocs_fd,&prev_key,&curr_key)) - { - if (errno == ENOENT) - { - break; // no more keys, done - } - - perror("map get next key error"); - - return -errno; - } - - // 使用 bpf_map__lookup_elem() 查找当å‰é”®å¯¹åº”的值,如果å‘生 ENOENT 错误,表示当å‰é”®æ²¡æœ‰å¯¹åº”值,跳过该键 - if (bpf_map_lookup_elem(allocs_fd,&curr_key,&alloc_info)) - { - if (errno == ENOENT) - continue; - - perror("map lookup error"); - - return -errno; - } - - // 过滤掉无效的栈 - if (alloc_info.stack_id < 0) - { - continue; - } - - bool stack_exists = false; - - // é历已存储的 allocs 数组(内存分é…ä¿¡æ¯çš„集åˆï¼‰å¹¶æŸ¥æ‰¾ç›¸åŒçš„ stack_id - // 如果找到了相åŒçš„堆栈 ID(æ„味ç€åŒä¸€ä¸ªå †æ ˆè¿›è¡Œäº†å¤šæ¬¡åˆ†é…),就将 alloc_info.size 累加到已存在的分é…中,且将 count 增加 1 - - for (u64 i = 0; !stack_exists && i < nr_allocs; ++i) - { - struct allocation *alloc = &allocs[i]; - - if (alloc->stack_id == alloc_info.stack_id) - { - alloc->size += alloc_info.size; - alloc->count++; - - stack_exists = true; - break; - } - } - - - if (stack_exists) - continue; - - // 如果没有找到相åŒçš„堆栈 ID,说明这是一个新的堆栈分é…,创建一个新的 allocation 结构体,并将其添加到 allocs 数组中 - struct allocation alloc = { - .stack_id = alloc_info.stack_id , - .size = alloc_info.size, - .count = 1, - }; - - // 将新创建的 allocation 结构体å¤åˆ¶åˆ° allocs 数组中,并增加 nr_allocs - memcpy(&allocs[nr_allocs], &alloc, sizeof(alloc)); - nr_allocs++; - } - - // 使用 qsort() 函数按内存大å°é™åºæŽ’列 allocs 数组 - //qsort(allocs, nr_allocs, sizeof(allocs[0]), alloc_size_compare); - if (nr_allocs > 0) { - qsort(allocs, nr_allocs, sizeof(allocs[0]), alloc_size_compare); - } - - printf("[%d:%d:%d] Top %zu stacks with outstanding allocations:\n", - tm->tm_hour, tm->tm_min, tm->tm_sec, nr_allocs); - - for (size_t i = 0; i < nr_allocs; i++) - { - if (bpf_map_lookup_elem(stack_traces_fd,&allocs[i].stack_id,stack)) - { - perror("failed to lookup stack traces!"); - return -errno; - } - } - - print_stack_frames(allocs, nr_allocs, stack_traces_fd); - for (size_t i = 0; i < nr_allocs; i++) { - allocs[i].stack_id = 0; - } - - return 0; -} - -void print_stack_frames_by_blazesym(u64 *stack, int stack_sz) -{ - struct blaze_syms *result; - struct blaze_sym *sym; - - if(trace_pid == 0){ - struct blaze_symbolize_src_kernel src = { - .type_size = sizeof(src) - }; - result = blaze_symbolize_kernel_abs_addrs(mm_symbolizer, &src, (const uintptr_t *)stack, stack_sz); - } - else{ - struct blaze_symbolize_src_process src = { - .type_size = sizeof(src), - .pid = trace_pid, - }; - result = blaze_symbolize_process_abs_addrs(mm_symbolizer, &src, (const uintptr_t *)stack, stack_sz); - } - - // 获å–符å·ä¿¡æ¯ - //printf("Stack depth: %d\n", stack_sz); - - if (!result) { - perror("Failed to symbolize stack addresses"); - return; - } - - // æ‰“å°æ ˆå›žæº¯ä¿¡æ¯ - for (size_t j = 0; j < result->cnt; ++j) { - //printf("inlined count: %d\n", result->syms[j].inlined_cnt); - - const uint64_t addr = stack[j]; - - if (addr == 0) - break; - - sym = &result->syms[j]; - - if (sym->name == NULL) { - printf("No symbol found for address <0x%lx>\n", addr); - continue; - } - - // æ‰“å°æ¯ä¸ªæ ˆå¸§çš„函数åå’Œåœ°å€ - printf("\t%zu [<%016lx>] %s + 0x%lx\n", j, addr, sym->name, sym->offset); - - // æ‰“å°æºä»£ç ä½ç½®ï¼ˆæ–‡ä»¶ã€è¡Œå·ç­‰ï¼‰ - if (sym->code_info.file != NULL) { - printf("\t\tSource: %s:%d:%d\n", sym->code_info.file, sym->code_info.line, sym->code_info.column); - } - - // 如果存在内è”函数,打å°å†…è”å‡½æ•°ä¿¡æ¯ - if (sym->inlined_cnt > 0) { - for (size_t k = 0; k < sym->inlined_cnt; ++k) { - const struct blaze_symbolize_inlined_fn *inlined = &sym->inlined[k]; - printf("\t\tInlined function: %s\n", inlined->name); - if (inlined->code_info.file != NULL) { - printf("\t\t\tSource: %s:%d:%d\n", inlined->code_info.file, inlined->code_info.line, inlined->code_info.column); - } - } - } - } - - blaze_syms_free(result); -} - -int print_stack_frames(struct allocation *allocs, u64 nr_allocs, int stack_traces_fd) -{ - for (u64 i = 0; i < nr_allocs; ++i){ - const struct allocation *alloc = &allocs[i]; - printf("%zu bytes in %zu allocations from stack\n", alloc->size, alloc->count); - - if (bpf_map_lookup_elem(stack_traces_fd, &alloc->stack_id, stack)) { - if (errno == ENOENT) - continue; - - perror("failed to lookup stack trace"); - - return -errno; - } - - print_stack_frames_by_blazesym(stack,nr_allocs); - } -} - - -static void print_frame(const char *name, u64 input_addr, u64 addr, u64 offset, const blaze_symbolize_code_info *code_info) -{ - // If we have an input address we have a new symbol. - if (input_addr != 0) - { - printf("%016lx: %s @ 0x%lx+0x%lx", input_addr, name, addr, offset); - if (code_info != NULL && code_info->dir != NULL && code_info->file != NULL) - { - printf(" %s/%s:%u\n", code_info->dir, code_info->file, code_info->line); - } - else if (code_info != NULL && code_info->file != NULL) - { - printf(" %s:%u\n", code_info->file, code_info->line); - } - else - { - printf("\n"); - } - } - else - { - printf("%16s %s", "", name); - if (code_info != NULL && code_info->dir != NULL && code_info->file != NULL) - { - printf("@ %s/%s:%u [inlined]\n", code_info->dir, code_info->file, code_info->line); - } - else if (code_info != NULL && code_info->file != NULL) - { - printf("@ %s:%u [inlined]\n", code_info->file, code_info->line); - } - else - { - printf("[inlined]\n"); - } - } -} - - -static int attach_leak_uprobes(struct mm_leak_bpf *skel){ - ATTACH_UPROBE_CHECKED(skel, malloc, malloc_enter); - ATTACH_URETPROBE_CHECKED(skel, malloc, malloc_exit); - - ATTACH_UPROBE_CHECKED(skel, calloc, calloc_enter); - ATTACH_URETPROBE_CHECKED(skel, calloc, calloc_exit); - - ATTACH_UPROBE_CHECKED(skel, realloc, realloc_enter); - ATTACH_URETPROBE_CHECKED(skel, realloc, realloc_exit); - - ATTACH_UPROBE_CHECKED(skel, mmap, mmap_enter); - ATTACH_URETPROBE_CHECKED(skel, mmap, mmap_exit); - - ATTACH_UPROBE_CHECKED(skel, posix_memalign, posix_memalign_enter); - ATTACH_URETPROBE_CHECKED(skel, posix_memalign, posix_memalign_exit); - - ATTACH_UPROBE_CHECKED(skel, memalign, memalign_enter); - ATTACH_URETPROBE_CHECKED(skel, memalign, memalign_exit); - - ATTACH_UPROBE_CHECKED(skel, free, free_enter); - ATTACH_UPROBE_CHECKED(skel, munmap, munmap_enter); - - // the following probes are intentinally allowed to fail attachment - - // deprecated in libc.so bionic - ATTACH_UPROBE(skel, valloc, valloc_enter); - ATTACH_URETPROBE(skel, valloc, valloc_exit); - - // deprecated in libc.so bionic - ATTACH_UPROBE(skel, pvalloc, pvalloc_enter); - ATTACH_URETPROBE(skel, pvalloc, pvalloc_exit); - - // added in C11 - ATTACH_UPROBE(skel, aligned_alloc, aligned_alloc_enter); - ATTACH_URETPROBE(skel, aligned_alloc, aligned_alloc_exit); - - return 0; -} - -// void print_stack_frame_by_blazesym(size_t frame, uint64_t addr, const blaze_sym_info *sym) -// { -// if (!sym) -// printf("\t%zu [<%016lx>] <%s>\n", frame, addr, "null sym"); -// else if (sym->obj_file_name && strlen(sym->obj_file_name)) -// printf("\t%zu [<%016lx>] %s+0x%lx %s\n", frame, addr, sym->name, addr - sym->addr, sym->obj_file_name); -// else -// printf("\t%zu [<%016lx>] %s+0x%lx\n", frame, addr, sym->name, addr - sym->addr); -// } - -// void disable_kernel_tracepoints(struct mm_leak_bpf *skel) -// { -// bpf_program__set_autoload(skel->progs.memleak__kmalloc, false); -// bpf_program__set_autoload(skel->progs.memleak__kfree, false); -// bpf_program__set_autoload(skel->progs.memleak__kmem_cache_alloc_node, false); -// bpf_program__set_autoload(skel->progs.memleak__kmem_cache_free, false); -// bpf_program__set_autoload(skel->progs.memleak__mm_page_alloc, false); -// bpf_program__set_autoload(skel->progs.memleak__mm_page_free, false); -// bpf_program__set_autoload(skel->progs.memleak__percpu_alloc_percpu, false); -// bpf_program__set_autoload(skel->progs.memleak__percpu_free_percpu, false); -// } \ No newline at end of file diff --git a/net_spy b/net_spy deleted file mode 100755 index 340cbab..0000000 Binary files a/net_spy and /dev/null differ diff --git a/net_spy.c b/net_spy.c deleted file mode 100644 index f234cc0..0000000 --- a/net_spy.c +++ /dev/null @@ -1,898 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "proc_data.h" -#include "net_event.h" -#include "net_stats.skel.h" - -#define MAX_CSV_FILES 10 - -static char csv_folder_path[MAX_PATH_LEN]; - -const char *net_csv_names[] = { - "net_latency", - "tcprtt", - "tcptop", - "tcpretrans" - }; - -FILE *net_csv_files[MAX_CSV_FILES]; - -volatile sig_atomic_t stop = 0; - -struct ring_buffer *rb_net_latency = NULL; -struct ring_buffer *rb_tcprtt = NULL; -struct ring_buffer *rb_tcptop = NULL; -struct ring_buffer *rb_tcpretrans = NULL; -struct net_stats_bpf *net_skel = NULL; -struct sysinfo sys_data; -static time_t boot_time; // 系统å¯åŠ¨æ—¶é—´ -struct bpf_link *link_to_tcprtt = NULL; - - -static int handle_net_latency_event(void *ctx, void *data, size_t data_sz); -static int handle_usr_tcprtt_event(void *ctx, void *data, size_t data_sz); -static int handle_usr_tcptop_event(void *ctx, void *data, size_t data_sz); -static int handle_usr_tcpretrans_event(void *ctx, void *data, size_t data_sz); -static bool fentry_try_attach(int id); -static bool fentry_can_attach(const char* name, const char* mod); -static int attach_net_skel(struct net_stats_bpf *skel); -void net_resource_clean(); -static int net_ring_buffer_poll(); -static int init_time();// åˆå§‹åŒ–ç³»ç»Ÿå½“å‰æ—¶é—´ - -// ä¿¡å·å¤„ç†å‡½æ•°ï¼Œç”¨äºŽä¼˜é›…åœ°é€€å‡ºç¨‹åº -void net_handle_sigint(int sig) { - stop = 1; -} - -enum { - TCP_ESTABLISHED = 1, - TCP_SYN_SENT = 2, - TCP_SYN_RECV = 3, - TCP_FIN_WAIT1 = 4, - TCP_FIN_WAIT2 = 5, - TCP_TIME_WAIT = 6, - TCP_CLOSE = 7, - TCP_CLOSE_WAIT = 8, - TCP_LAST_ACK = 9, - TCP_LISTEN = 10, - TCP_CLOSING = 11, - TCP_NEW_SYN_RECV = 12, - TCP_MAX_STATES = 13, -}; - -static int create_perf_event(u32 period_ms) { - struct perf_event_attr attr = { - .type = PERF_TYPE_SOFTWARE, // 使用软件事件类型 - .config = PERF_COUNT_SW_CPU_CLOCK, // 使用 CPU æ—¶é’Ÿä½œä¸ºè§¦å‘æº - .size = sizeof(struct perf_event_attr), - .sample_period = period_ms * 1000000ULL, // 设置为毫秒级的间隔 - .freq = 0, // 使用固定间隔,而éžé¢‘率 - .wakeup_events = 1, // æ¯æ¬¡è§¦å‘事件 - }; - - // 对所有 CPU 和进程创建事件 - int fd = syscall(__NR_perf_event_open, &attr, -1, 0, -1, 0); - if (fd < 0) { - perror("perf_event_open"); - return -1; - } - return fd; -} - -static struct bpf_link* attach_perf_event_to_program(struct bpf_program *prog, u32 period_ms) { - // 创建 perf event - int perf_fd = create_perf_event(period_ms); - if (perf_fd < 0) { - fprintf(stderr, "Failed to create perf_event\n"); - return NULL; - } - - // å°† perf event 附加到指定的 BPF ç¨‹åº - struct bpf_link *link = bpf_program__attach_perf_event(prog, perf_fd); - if (!link) { - fprintf(stderr, "Failed to attach perf_event to BPF program: %s\n", strerror(errno)); - close(perf_fd); - return NULL; - } - - return link; -} - -static int net_create_csv(){ - int ret; - int num_csv_names = sizeof(net_csv_names) / sizeof(net_csv_names[0]); - - for(int i=0;iprogs.fentry_tcp_v4_connect,0,"tcp_v4_connect"); - bpf_program__set_attach_target(skel->progs.fentry_tcp_v6_connect,0,"tcp_v6_connect"); - bpf_program__set_attach_target(skel->progs.fentry_tcp_rcv_state_process,0,"tcp_rcv_state_process"); - - bpf_program__set_autoload(skel->progs.fentry_tcp_v4_connect,false); - bpf_program__set_autoload(skel->progs.fentry_tcp_v6_connect,false); - bpf_program__set_autoload(skel->progs.fentry_tcp_rcv_state_process,false); - } - else{ - bpf_program__set_autoload(skel->progs.fentry_tcp_v4_connect,false); - bpf_program__set_autoload(skel->progs.fentry_tcp_v6_connect,false); - bpf_program__set_autoload(skel->progs.fentry_tcp_rcv_state_process,false); - } - - ret = net_stats_bpf__load(skel); - if(ret){ - fprintf(stderr, "failed to load net_stats skel\n"); - return ret; - } - - ret = net_stats_bpf__attach(skel); - if(ret){ - fprintf(stderr, "failed to attach net_stats bpf program(s)\n"); - - return ret; - } - - link_to_tcprtt = attach_perf_event_to_program(skel->progs.handle_tcprtt_event,500); - if(!link_to_tcprtt){ - return -1; - } - skel->links.handle_tcprtt_event = link_to_tcprtt; - - rb_net_latency = ring_buffer__new(bpf_map__fd(skel->maps.net_latency_buffer),handle_net_latency_event,NULL,NULL); - rb_tcprtt = ring_buffer__new(bpf_map__fd(skel->maps.tcprtt_buffer),handle_usr_tcprtt_event,NULL,NULL); - rb_tcptop = ring_buffer__new(bpf_map__fd(skel->maps.tcptop_buffer),handle_usr_tcptop_event,NULL,NULL); - rb_tcpretrans = ring_buffer__new(bpf_map__fd(skel->maps.tcpretrans_buffer),handle_usr_tcpretrans_event,NULL,NULL); - - return 0; -} - -static int net_ring_buffer_poll(){ - int ret; - ret = ring_buffer__poll(rb_net_latency,200); - if(ret < 0) - { - fprintf(stderr, "Error polling net latency ring buffer: %d\n", ret); - return ret; - } - - ret = ring_buffer__poll(rb_tcprtt,200); - if(ret < 0) - { - fprintf(stderr, "Error polling tcprtt ring buffer: %d\n", ret); - return ret; - } - - ret = ring_buffer__poll(rb_tcptop,200); - if(ret < 0) - { - fprintf(stderr, "Error polling tcptop ring buffer: %d\n", ret); - return ret; - } - - ret = ring_buffer__poll(rb_tcpretrans,200); - if(ret < 0) - { - fprintf(stderr, "Error polling tcpretrans ring buffer: %d\n", ret); - return ret; - } - - return 0; -} - -void net_resource_clean(){ - if(rb_net_latency) - ring_buffer__free(rb_net_latency); - if(rb_tcprtt) - ring_buffer__free(rb_tcprtt); - if(rb_tcptop) - ring_buffer__free(rb_tcptop); - if(rb_tcpretrans) - ring_buffer__free(rb_tcpretrans); - - for(int i=0;iaf == AF_INET) { - // IPv4 åœ°å€ - struct in_addr saddr, daddr; - saddr.s_addr = event->src_addr.saddr_v4; - daddr.s_addr = event->dst_addr.daddr_v4; - - // 将网络字节åºçš„地å€è½¬æ¢ä¸ºå­—符串 - if (inet_ntop(AF_INET, &saddr, saddr_str, sizeof(saddr_str)) == NULL) { - perror("inet_ntop IPv4 source address failed"); - strncpy(saddr_str, "Unknown", sizeof(saddr_str)); - } - - if (inet_ntop(AF_INET, &daddr, daddr_str, sizeof(daddr_str)) == NULL) { - perror("inet_ntop IPv4 destination address failed"); - strncpy(daddr_str, "Unknown", sizeof(daddr_str)); - } - } - else if (event->af == AF_INET6) { - // IPv6 åœ°å€ - if (inet_ntop(AF_INET6, event->src_addr.saddr_v6, saddr_str, sizeof(saddr_str)) == NULL) { - perror("inet_ntop IPv6 source address failed"); - strncpy(saddr_str, "Unknown", sizeof(saddr_str)); - } - - if (inet_ntop(AF_INET6, event->dst_addr.daddr_v6, daddr_str, sizeof(daddr_str)) == NULL) { - perror("inet_ntop IPv6 destination address failed"); - strncpy(daddr_str, "Unknown", sizeof(daddr_str)); - } - } - else { - // æœªçŸ¥çš„åœ°å€æ— - strncpy(saddr_str, "Unknown AF", sizeof(saddr_str)); - strncpy(daddr_str, "Unknown AF", sizeof(daddr_str)); - } - - // æ ¼å¼åŒ–时间戳 - // 将纳秒转æ¢ä¸ºç§’和纳秒 - time_t relative_sec = event->ts / 1000000000; - long relative_nsec = event->ts % 1000000000; - - // 计算ç»å¯¹æ—¶é—´ - time_t absolute_sec = boot_time + relative_sec; - long absolute_nsec = relative_nsec; - - // å°†ç»å¯¹æ—¶é—´è½¬æ¢ä¸ºæœ¬åœ°æ—¶é—´ - struct tm tm_info; - if (localtime_r(&absolute_sec, &tm_info) == NULL) { - perror("localtime_r failed"); - return 0; - } - - - // æ ¼å¼åŒ–时间字符串 - char time_buf[64]; - if (strftime(time_buf, sizeof(time_buf), "%Y-%m-%d %H:%M:%S", &tm_info) == 0) { - fprintf(stderr, "strftime returned 0"); - strncpy(time_buf, "Unknown Time", sizeof(time_buf)); - } - - // 打å°äº‹ä»¶ä¿¡æ¯ - printf("[%s.%09ld] TGID: %u Comm: %s | TCP Connect Delay: %llu us | %s:%u -> %s:%u\n", - time_buf, - absolute_nsec, - event->tgid, - event->comm, - (unsigned long long)event->delta, - saddr_str, - ntohs(event->lport), - daddr_str, - ntohs(event->dport)); - - // 将事件信æ¯å†™å…¥ CSV 文件 - if (!net_csv_files[0]) { - fprintf(stderr, "net_csv_files[0] is NULL. Cannot write to CSV\n"); - return -1; - } - - int fd = fileno(net_csv_files[0]); - if (fd == -1) { - perror("fileno failed"); - return -1; - } - - struct stat st; - if (fstat(fd, &st) == -1) { - perror("fstat failed"); - return -1; - } - - // 如果文件为空,写入表头 - // if (st.st_size == 0) { - // fprintf(net_csv_files[0], "Timestamp,Source_IP,Source_Port,Destination_IP,Destination_Port,PID,Comm,Delay_us\n"); - // fflush(net_csv_files[0]); - // } - if (st.st_size == 0) { - fprintf(net_csv_files[0], "Timestamp,PID,Comm,Delay_us\n"); - fflush(net_csv_files[0]); - } - - // fprintf(net_csv_files[0], "%s.%09ld,%s,%u,%s,%u,%u,%.16s,%llu\n", - // time_buf, - // absolute_nsec, - // saddr_str, - // ntohs(event->lport), - // daddr_str, - // ntohs(event->dport), - // event->tgid, - // event->comm, - // (unsigned long long)event->delta); - fprintf(net_csv_files[0], "%s.%09ld,%u,%.16s,%llu\n", - time_buf, - absolute_nsec, - event->tgid, - event->comm, - (unsigned long long)event->delta); - - return 0; // 返回 0 表示继续处ç†å…¶ä»–事件 -} - -static int handle_usr_tcprtt_event(void *ctx, void *data, size_t data_sz){ - struct tcprtt_perf_data *event = (struct tcprtt_perf_data *)data; - - for(int i=0;i<8;i++){ - switch(i){ - case 0: - printf("wait less than 1ms: %u\n",event->data[i]); - continue; - case 1: - printf("wait less than 4ms: %u\n",event->data[i]); - continue; - case 2: - printf("wait less than 16ms: %u\n",event->data[i]); - continue; - case 3: - printf("wait less than 32ms: %u\n",event->data[i]); - continue; - case 4: - printf("wait less than 64ms: %u\n",event->data[i]); - continue; - case 5: - printf("wait less than 128ms: %u\n",event->data[i]); - continue; - case 6: - printf("wait less than 256ms: %u\n",event->data[i]); - continue; - case 7: - printf("wait more than 256ms: %u\n",event->data[i]); - continue; - default: - continue; - } - } - printf("\n"); - - // 写入到 CSV 文件 - if (net_csv_files[1]) { - // èŽ·å–æ–‡ä»¶æè¿°ç¬¦ä»¥æ£€æŸ¥æ–‡ä»¶å¤§å° - int fd = fileno(net_csv_files[1]); - if (fd == -1) { - perror("fileno failed for net_csv_files[1]"); - return -1; - } - - struct stat st; - if (fstat(fd, &st) == -1) { - perror("fstat failed for net_csv_files[1]"); - return -1; - } - - // 如果文件为空,写入表头 - if (st.st_size == 0) { - fprintf(net_csv_files[1], - "1ms,4ms,16ms,32ms,64ms,128ms,256ms,256ms+\n"); - fflush(net_csv_files[1]); - } - - // å†™å…¥äº‹ä»¶æ•°æ® - fprintf(net_csv_files[1], "%u,%u,%u,%u,%u,%u,%u,%u\n", - event->data[0], event->data[1], event->data[2], - event->data[3], event->data[4], event->data[5], - event->data[6], event->data[7]); - } else { - fprintf(stderr, "net_csv_files[1] is NULL. Cannot write to CSV\n"); - } - - - return 0; -} - -static int handle_usr_tcptop_event(void *ctx, void *data, size_t data_sz) -{ - // 检查数æ®å¤§å°æ˜¯å¦ç¬¦åˆé¢„期 - if (data_sz < sizeof(struct tcp_top_perf_data)) { - fprintf(stderr, "Received data size (%zu) is smaller than expected (%zu)\n", data_sz, sizeof(struct tcp_top_perf_data)); - return 0; - } - - // å°†æ•°æ®æŒ‡é’ˆè½¬æ¢ä¸ºç»“构体指针 - struct tcp_top_perf_data *event = (struct tcp_top_perf_data *)data; - - // 定义缓冲区用于存储IP地å€å­—符串 - char saddr_str[INET6_ADDRSTRLEN] = {0}; - char daddr_str[INET6_ADDRSTRLEN] = {0}; - - // æ ¹æ®åœ°å€æ—è½¬æ¢æºåœ°å€ - if (event->af == AF_INET) { - struct in_addr saddr; - saddr.s_addr = event->src_addr.saddr_v4; - if (inet_ntop(AF_INET, &saddr, saddr_str, sizeof(saddr_str)) == NULL) { - perror("inet_ntop IPv4 source address failed"); - strncpy(saddr_str, "Unknown", sizeof(saddr_str)-1); - saddr_str[sizeof(saddr_str)-1] = '\0'; - } - } - else if (event->af == AF_INET6) { - if (inet_ntop(AF_INET6, event->src_addr.saddr_v6, saddr_str, sizeof(saddr_str)) == NULL) { - perror("inet_ntop IPv6 source address failed"); - strncpy(saddr_str, "Unknown", sizeof(saddr_str)-1); - saddr_str[sizeof(saddr_str)-1] = '\0'; - } - } - else { - strncpy(saddr_str, "Unknown AF", sizeof(saddr_str)-1); - saddr_str[sizeof(saddr_str)-1] = '\0'; - } - - // æ ¹æ®åœ°å€æ—转æ¢ç›®æ ‡åœ°å€ - if (event->af == AF_INET) { - struct in_addr daddr; - daddr.s_addr = event->dst_addr.daddr_v4; - if (inet_ntop(AF_INET, &daddr, daddr_str, sizeof(daddr_str)) == NULL) { - perror("inet_ntop IPv4 destination address failed"); - strncpy(daddr_str, "Unknown", sizeof(daddr_str)-1); - daddr_str[sizeof(daddr_str)-1] = '\0'; - } - } - else if (event->af == AF_INET6) { - if (inet_ntop(AF_INET6, event->dst_addr.daddr_v6, daddr_str, sizeof(daddr_str)) == NULL) { - perror("inet_ntop IPv6 destination address failed"); - strncpy(daddr_str, "Unknown", sizeof(daddr_str)-1); - daddr_str[sizeof(daddr_str)-1] = '\0'; - } - } - else { - strncpy(daddr_str, "Unknown AF", sizeof(daddr_str)-1); - daddr_str[sizeof(daddr_str)-1] = '\0'; - } - - // 将端å£å·ä»Žç½‘络字节åºè½¬æ¢ä¸ºä¸»æœºå­—èŠ‚åº - u16 lport = ntohs(event->lport); - u16 dport = ntohs(event->dport); - - // 获å–当剿—¶é—´æˆ³ - time_t now = time(NULL); - struct tm tm_info; - char time_buf[64]; - localtime_r(&now, &tm_info); - strftime(time_buf, sizeof(time_buf), "%Y-%m-%d %H:%M:%S", &tm_info); - - // 打å°äº‹ä»¶ä¿¡æ¯ - printf("[%s] PID: %u | Comm: %s | Sent: %llu bytes | Received: %llu bytes | %s:%u -> %s:%u\n", - time_buf, - event->pid, - event->comm, - (unsigned long long)event->send, - (unsigned long long)event->recv, - saddr_str, - lport, - daddr_str, - dport); - - // 写入到 CSV 文件 - if (net_csv_files[2]) { - // èŽ·å–æ–‡ä»¶æè¿°ç¬¦ä»¥æ£€æŸ¥æ–‡ä»¶å¤§å° - int fd = fileno(net_csv_files[2]); - if (fd == -1) { - perror("fileno failed for net_csv_files[2]"); - return -1; - } - - struct stat st; - if (fstat(fd, &st) == -1) { - perror("fstat failed for net_csv_files[2]"); - return -1; - } - - // 如果文件为空,写入表头 - if (st.st_size == 0) { - // fprintf(net_csv_files[2], - // "Timestamp,PID,Comm,Source_IP,Source_Port,Destination_IP,Destination_Port,Sent_Bytes,Received_Bytes\n"); - fprintf(net_csv_files[2], - "Timestamp,PID,Comm,Sent_Bytes,Received_Bytes\n"); - fflush(net_csv_files[2]); - } - - // å†™å…¥äº‹ä»¶æ•°æ® - // fprintf(net_csv_files[2], "%s,%u,%s,%s,%u,%s,%u,%llu,%llu\n", - // time_buf, - // event->pid, - // event->comm, - // saddr_str, - // lport, - // daddr_str, - // dport, - // (unsigned long long)event->send, - // (unsigned long long)event->recv); - fprintf(net_csv_files[2], "%s,%u,%s,%llu,%llu\n", - time_buf, - event->pid, - event->comm, - (unsigned long long)event->send, - (unsigned long long)event->recv); - - } else { - fprintf(stderr, "net_csv_files[2] is NULL. Cannot write to CSV\n"); - } - - return 0; -} - -const char* tcp_state_to_string(u64 state) { - switch (state) { - case TCP_ESTABLISHED: - return "ESTABLISHED"; - case TCP_SYN_SENT: - return "SYN_SENT"; - case TCP_SYN_RECV: - return "SYN_RECV"; - case TCP_FIN_WAIT1: - return "FIN_WAIT1"; - case TCP_FIN_WAIT2: - return "FIN_WAIT2"; - case TCP_TIME_WAIT: - return "TIME_WAIT"; - case TCP_CLOSE: - return "CLOSE"; - case TCP_CLOSE_WAIT: - return "CLOSE_WAIT"; - case TCP_LAST_ACK: - return "LAST_ACK"; - case TCP_LISTEN: - return "LISTEN"; - case TCP_CLOSING: - return "CLOSING"; - case TCP_NEW_SYN_RECV: - return "NEW_SYN_RECV"; - case TCP_MAX_STATES: - return "MAX_STATES"; - default: - return "UNKNOWN"; - } -} - -static int handle_usr_tcpretrans_event(void *ctx, void *data, size_t data_sz) { - // 检查数æ®å¤§å°æ˜¯å¦ç¬¦åˆé¢„期 - if (data_sz < sizeof(struct tcp_resubmit)) { - fprintf(stderr, "Received data size (%zu) is smaller than expected (%zu)\n", data_sz, sizeof(struct tcp_resubmit)); - return 0; - } - - // å°†æ•°æ®æŒ‡é’ˆè½¬æ¢ä¸ºç»“构体指针 - struct tcp_resubmit *event = (struct tcp_resubmit *)data; - - // 定义缓冲区用于存储IP地å€å­—符串 - char saddr_str[INET6_ADDRSTRLEN] = {0}; - char daddr_str[INET6_ADDRSTRLEN] = {0}; - - // æ ¹æ®åœ°å€æ—è½¬æ¢æºåœ°å€ - if (event->af == AF_INET) { - struct in_addr saddr; - saddr.s_addr = event->src_addr.saddr_v4; - if (inet_ntop(AF_INET, &saddr, saddr_str, sizeof(saddr_str)) == NULL) { - perror("inet_ntop IPv4 source address failed"); - strncpy(saddr_str, "Unknown", sizeof(saddr_str)-1); - saddr_str[sizeof(saddr_str)-1] = '\0'; - } - } - else if (event->af == AF_INET6) { - if (inet_ntop(AF_INET6, event->src_addr.saddr_v6, saddr_str, sizeof(saddr_str)) == NULL) { - perror("inet_ntop IPv6 source address failed"); - strncpy(saddr_str, "Unknown", sizeof(saddr_str)-1); - saddr_str[sizeof(saddr_str)-1] = '\0'; - } - } - else { - strncpy(saddr_str, "Unknown AF", sizeof(saddr_str)-1); - saddr_str[sizeof(saddr_str)-1] = '\0'; - } - - // æ ¹æ®åœ°å€æ—转æ¢ç›®æ ‡åœ°å€ - if (event->af == AF_INET) { - struct in_addr daddr; - daddr.s_addr = event->dst_addr.daddr_v4; - if (inet_ntop(AF_INET, &daddr, daddr_str, sizeof(daddr_str)) == NULL) { - perror("inet_ntop IPv4 destination address failed"); - strncpy(daddr_str, "Unknown", sizeof(daddr_str)-1); - daddr_str[sizeof(daddr_str)-1] = '\0'; - } - } - else if (event->af == AF_INET6) { - if (inet_ntop(AF_INET6, event->dst_addr.daddr_v6, daddr_str, sizeof(daddr_str)) == NULL) { - perror("inet_ntop IPv6 destination address failed"); - strncpy(daddr_str, "Unknown", sizeof(daddr_str)-1); - daddr_str[sizeof(daddr_str)-1] = '\0'; - } - } - else { - strncpy(daddr_str, "Unknown AF", sizeof(daddr_str)-1); - daddr_str[sizeof(daddr_str)-1] = '\0'; - } - - // 将端å£å·ä»Žç½‘络字节åºè½¬æ¢ä¸ºä¸»æœºå­—èŠ‚åº - u16 lport = ntohs(event->lport); - u16 dport = ntohs(event->dport); - - // æ ¼å¼åŒ–时间戳 - // 将纳秒转æ¢ä¸ºç§’和纳秒 - time_t relative_sec = event->occur / 1000000000; - long relative_nsec = event->occur % 1000000000; - - // 计算ç»å¯¹æ—¶é—´ - time_t absolute_sec = boot_time + relative_sec; - long absolute_nsec = relative_nsec; - - // å°†ç»å¯¹æ—¶é—´è½¬æ¢ä¸ºæœ¬åœ°æ—¶é—´ - struct tm tm_info; - if (localtime_r(&absolute_sec, &tm_info) == NULL) { - perror("localtime_r failed"); - return 0; - } - - - // æ ¼å¼åŒ–时间字符串 - char time_buf[64]; - if (strftime(time_buf, sizeof(time_buf), "%Y-%m-%d %H:%M:%S", &tm_info) == 0) { - fprintf(stderr, "strftime returned 0"); - strncpy(time_buf, "Unknown Time", sizeof(time_buf)); - } - - // 打å°äº‹ä»¶ä¿¡æ¯ - printf("[%s] PID: %u | Comm: %s | Seq: %u | State: %s | Event Type: %llu | %s:%u -> %s:%u\n", - time_buf, - event->pid, - event->comm, - event->seq, - tcp_state_to_string(event->state), // 输出状æ€çš„å­—ç¬¦å½¢å¼ - event->type, - saddr_str, - lport, - daddr_str, - dport); - - // 写入到 CSV 文件 - if (net_csv_files[3]) { // 对应é‡ä¼ äº‹ä»¶çš„ CSV 文件 - int fd = fileno(net_csv_files[3]); - if (fd == -1) { - perror("fileno failed for net_csv_files[3]"); - return -1; - } - - struct stat st; - if (fstat(fd, &st) == -1) { - perror("fstat failed for net_csv_files[3]"); - return -1; - } - - // 如果文件为空,写入表头 - if (st.st_size == 0) { - // fprintf(net_csv_files[3], - // "Timestamp,PID,Comm,Seq,State,Event_Type,Source_IP,Source_Port,Destination_IP,Destination_Port\n"); - fprintf(net_csv_files[3], - "Timestamp,PID,Comm,State,Event_Type,Source_IP,Source_Port,Destination_IP,Destination_Port\n"); - fflush(net_csv_files[3]); - } - - // å†™å…¥äº‹ä»¶æ•°æ® - // fprintf(net_csv_files[3], "%s.%09ld,%u,%s,%u,%s,%llu,%s,%u,%s,%u\n", - // time_buf, - // absolute_nsec, - // event->pid, - // event->comm, - // event->seq, - // tcp_state_to_string(event->state), - // event->type, - // saddr_str, - // lport, - // daddr_str, - // dport); - fprintf(net_csv_files[3], "%s.%09ld,%u,%s,%s,%llu,%s,%u,%s,%u\n", - time_buf, - absolute_nsec, - event->pid, - event->comm, - tcp_state_to_string(event->state), - event->type, - saddr_str, - lport, - daddr_str, - dport); - } else { - fprintf(stderr, "net_csv_files[3] is NULL. Cannot write to CSV\n"); - } - - return 0; -} - -static bool fentry_try_attach(int id) { - int prog_fd, attach_fd; - char error[4096] = {0}; - struct bpf_insn insns[] = { - {.code = BPF_ALU64 | BPF_MOV | BPF_K, .dst_reg = BPF_REG_0, .imm = 0}, - {.code = BPF_JMP | BPF_EXIT}, - }; - LIBBPF_OPTS(bpf_prog_load_opts, opts, - .expected_attach_type = BPF_TRACE_FENTRY, .attach_btf_id = id, - .log_buf = error, .log_size = sizeof(error), ); - - prog_fd = bpf_prog_load(BPF_PROG_TYPE_TRACING, "fentry_attach", "GPL", insns, - sizeof(insns) / sizeof(struct bpf_insn), &opts); - if (prog_fd < 0) { - fprintf(stderr, "bpf_prog_load failed: %s\n", strerror(errno)); - return false; - } - - attach_fd = bpf_raw_tracepoint_open(NULL, prog_fd); - if (attach_fd < 0) { - fprintf(stderr, "bpf_raw_tracepoint_open failed: %s\n", strerror(errno)); - close(prog_fd); - return false; - } - - close(attach_fd); - close(prog_fd); - return true; -} - -static bool fentry_can_attach(const char* name, const char* mod) { - struct btf *btf, *vmlinux_btf, *module_btf = NULL; - int err, id; - - vmlinux_btf = btf__load_vmlinux_btf(); - err = libbpf_get_error(vmlinux_btf); - if (err) { - fprintf(stderr, "Failed to load vmlinux BTF\n"); - return false; - } - - btf = vmlinux_btf; - - if (mod) { - module_btf = btf__load_module_btf(mod, vmlinux_btf); - err = libbpf_get_error(module_btf); - if (!err) - btf = module_btf; - else - fprintf(stderr, "Failed to load module BTF for module %s\n", mod); - } - - id = btf__find_by_name_kind(btf, name, BTF_KIND_FUNC); - - btf__free(module_btf); - btf__free(vmlinux_btf); - - if (id <= 0) { - fprintf(stderr, "Function %s not found in BTF\n", name); - return false; - } - - return fentry_try_attach(id); -} diff --git a/os_spy b/os_spy deleted file mode 100755 index 798ff54..0000000 Binary files a/os_spy and /dev/null differ diff --git a/os_spy.c b/os_spy.c deleted file mode 100644 index 7482c12..0000000 --- a/os_spy.c +++ /dev/null @@ -1,2674 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "env.h" -#include "proc_data.h" -#include "cpu_event.h" -#include "io_event.h" -#include "net_event.h" -#include "mm_event.h" -#include "blazesym.h" -#include "hash_table.h" - -#include "cpu_stats.skel.h" -#include "io_stats.skel.h" -#include "mm_stats.skel.h" -#include "mm_leak.skel.h" -#include "net_stats.skel.h" - -/*----------------------å…±åŒéƒ¨åˆ†---------------------------------*/ -static const struct argp argp = { - argp_options, - parse_arg, - NULL, - argp_args_doc -}; - -static struct env env_data = { - .interval = 1, - .cpu_data = false, - .io_data = false, - .mm_data = false, - .net_data = false, - .visualize = false, - .std_output = true -}; - -#define MAX_CSV_FILES 10 -static char csv_folder_path[MAX_PATH_LEN]; - -static char visualize_proc_path[MAX_PATH_LEN];// 把ä¸é€‚åˆæ”¾åˆ°promthes的都放到这个文件夹 - -volatile sig_atomic_t stop = 0; - -static time_t boot_time; // 系统å¯åŠ¨æ—¶é—´ - -static u32 zero = 0; -static u32 one = 1; -static int create_perf_event(u32 period_ms); -static struct bpf_link* attach_perf_event_to_program(struct bpf_program *prog, u32 period_ms); - -static int init_time();// åˆå§‹åŒ–ç³»ç»Ÿå½“å‰æ—¶é—´ -static int get_proc_path(); - - -// ä¿¡å·å¤„ç†å‡½æ•°ï¼Œç”¨äºŽä¼˜é›…åœ°é€€å‡ºç¨‹åº -void handle_sigint(int sig) { - stop = 1; -} - -/*----------------------网络部分----------------------------------*/ -// å’Œå¯è§†åŒ–有关的 -const char *net_csv_names[] = { - "net_latency", - "tcprtt", - "tcptop", - "tcpretrans" - }; - -FILE *net_csv_files[MAX_CSV_FILES]; - -struct ring_buffer *rb_net_latency = NULL; -struct ring_buffer *rb_tcprtt = NULL; -struct ring_buffer *rb_tcptop = NULL; -struct ring_buffer *rb_tcpretrans = NULL; -struct net_stats_bpf *net_skel = NULL; -struct sysinfo sys_data; -struct bpf_link *link_to_tcprtt = NULL; - -static int net_create_csv(); - -static int handle_net_latency_event(void *ctx, void *data, size_t data_sz); -static int handle_usr_tcprtt_event(void *ctx, void *data, size_t data_sz); -static int handle_usr_tcptop_event(void *ctx, void *data, size_t data_sz); -static int handle_usr_tcpretrans_event(void *ctx, void *data, size_t data_sz); -static bool fentry_try_attach(int id); -static bool fentry_can_attach(const char* name, const char* mod); -static int attach_net_skel(struct net_stats_bpf *skel); -void net_resource_clean(); -static int net_ring_buffer_poll(); - -enum { - TCP_ESTABLISHED = 1, - TCP_SYN_SENT = 2, - TCP_SYN_RECV = 3, - TCP_FIN_WAIT1 = 4, - TCP_FIN_WAIT2 = 5, - TCP_TIME_WAIT = 6, - TCP_CLOSE = 7, - TCP_CLOSE_WAIT = 8, - TCP_LAST_ACK = 9, - TCP_LISTEN = 10, - TCP_CLOSING = 11, - TCP_NEW_SYN_RECV = 12, - TCP_MAX_STATES = 13, -}; - - -/*--------------------------io部分-----------------------------------*/ -#define MAX_IO_RESULTS 256 -struct ring_buffer *rb_io_task_stats, *rb_io_process_stats, *rb_io_wait; -struct io_stats_bpf *io_skel = NULL; -struct bpf_link *link_io_wait = NULL; -DiskStatsContext* context = NULL; -DiskStats current[MAX_DEVICES]; - -// å’Œå¯è§†åŒ–有关的 -const char *io_csv_names[] = { - "io_task_stats", - "io_process_stats", - "iowait_perf", - }; - -FILE *io_csv_files[MAX_CSV_FILES]; - -static int io_create_csv(); - -static int handle_io_task_stats_event(void *ctx,void *data, size_t data_sz); -static int handle_io_process_stats_event(void *ctx,void *data, size_t data_sz); -static int handle_iowait_perf_event(void *ctx,void *data, size_t data_sz); -static int attach_io_skel(struct io_stats_bpf *skel); -int io_initialize_monitoring(unsigned int interval); -static void io_resource_clean(); -static int io_ring_buffer_poll(); - - -/*----------------------------mm部分--------------------------------------*/ -static u64 trace_pid = 0; -int leak_allocs_fd; -int leak_stack_traces_fd; - -FILE *mm_file = NULL; - -// å’Œå¯è§†åŒ–有关的 -const char *mm_csv_names[] = { - "oom_event", - "task_mm_stats", - "process_mm_stats", - }; - -const char mm_stack[] = "mm_alloc"; -FILE *mm_alloc_stack = NULL; - -int get_mm_txt(); - -FILE *mm_csv_files[MAX_CSV_FILES]; -static int mm_create_csv(); - -static struct blaze_symbolizer *mm_symbolizer; -static struct allocation *allocs; -struct ring_buffer *rb_oom, *rb_task_mm, *rb_process_mm; - -struct mm_leak_bpf *leak_skel = NULL; -struct mm_stats_bpf *mm_skel = NULL; - -static u64 *stack; - -static int attach_leak_uprobes(struct mm_leak_bpf *skel); -static int print_outstanding_allocs(int allocs_fd, int stack_traces_fd); -static int print_stack_frames(struct allocation *allocs, u64 nr_allocs, int stack_traces_fd); - -static int handle_oom_event(void *ctx,void *data, size_t data_sz); -static int handle_task_mm_stats_event(void *ctx,void *data, size_t data_sz); -static int handle_process_mm_stats_event(void *ctx,void *data, size_t data_sz); - - -static int attach_leak_skel(struct mm_leak_bpf *skel); -static int attach_mm_stats_skel(struct mm_stats_bpf *skel); -static int mm_ring_buffer_poll(); -static void mm_resource_clean(); - - -/*---------------------------cpu部分---------------------------------------*/ -struct ring_buffer *rb_cpu = NULL; -struct ring_buffer *rb_task = NULL; -struct ring_buffer *rb_process = NULL; -struct ring_buffer *rb_runqlat = NULL; -struct ring_buffer *rb_backtrace = NULL; -struct cpu_stats_bpf *cpu_skel = NULL; - -const char *cpu_csv_names[] = { - "cpu_usage", - "task_usage", - "process_stat", - "runqlat", - }; - -const char cpu_stack[] = "task_backtrace"; -FILE *cpu_task_stack = NULL; - -int get_cpu_txt(); - -FILE *cpu_csv_files[MAX_CSV_FILES]; -static int cpu_create_csv(); - -static struct blaze_symbolizer *cpu_symbolizer; -static int init_cpu_symbolizer(); -static void free_cpu_symbolizer(); - -static void cpu_print_frame(const char *name, uintptr_t input_addr, uintptr_t addr, uint64_t offset, const blaze_symbolize_code_info* code_info); -static void cpu_show_stack_trace(uint64_t *stack, int stack_sz, pid_t pid); -static int handle_usr_task_cpu_backtrace_event(void *ctx,void *data, size_t data_sz); -static int handle_cpu_usage_event(void *ctx,void *data, size_t data_sz); -static int handle_usr_task_usage_event(void *ctx,void *data, size_t data_sz); -static int handle_use_process_stat_event(void *ctx,void *data, size_t data_sz); -static int handle_usr_runqlat_event(void *ctx,void *data, size_t data_sz); - -static int attach_cpu_skel(struct cpu_stats_bpf *skel); -static int cpu_ring_buffer_poll(); -static void cpu_resource_clean(); - - -int main(int argc, char **argv){ - int ret; - // Parse command line arguments - argp_parse(&argp, argc, argv, 0, NULL, &env_data); - // 注册信å·å¤„ç†å™¨ï¼Œæ•获Ctrl-C (SIGINT) - signal(SIGINT, handle_sigint); - - ret = init_time(); - if(ret != 0) - goto cleanup; - - ret = get_proc_path(); - if(ret != 0) - goto cleanup; - - if(env_data.cpu_data){ - if(env_data.visualize){ - ret = cpu_create_csv(); - if(ret != 0) - goto cleanup; - ret = get_cpu_txt(); - if(ret != 0) - goto cleanup; - } - ret = attach_cpu_skel(cpu_skel); - if(ret != 0) - goto cleanup; - } - - if(env_data.net_data){ - if(env_data.visualize){ - ret = net_create_csv(); - if(ret != 0) - goto cleanup; - } - net_skel = net_stats_bpf__open(); - if(!net_skel){ - fprintf(stderr, "failed to open net_stats skel\n"); - ret = 1; - - goto cleanup; - } - - ret = attach_net_skel(net_skel); - if(ret != 0) - goto cleanup; - } - - if(env_data.io_data){ - if(env_data.visualize){ - ret = io_create_csv(); - if(ret != 0) - goto cleanup; - } - io_skel = io_stats_bpf__open(); - if(!io_skel){ - fprintf(stderr, "failed to open io_stats skel\n"); - ret = 1; - - goto cleanup; - } - ret = attach_io_skel(io_skel); - if(ret != 0) - goto cleanup; - - if (io_initialize_monitoring(1) != 0) { - fprintf(stderr, "Initialization failed.\n"); - ret = 1; - goto cleanup; - } - } - - if(env_data.mm_data){ - mm_file = open_meminfo(); - if(env_data.visualize){ - ret = mm_create_csv(); - if(ret != 0) - goto cleanup; - ret = get_mm_txt(); - if(ret != 0) - goto cleanup; - } - - leak_skel = mm_leak_bpf__open(); - if(!leak_skel){ - fprintf(stderr, "failed to open mm_leak skel\n"); - ret = 1; - - goto cleanup; - } - - mm_skel = mm_stats_bpf__open(); - if(!mm_skel){ - fprintf(stderr, "failed to open mm_stats skel\n"); - ret = 1; - - goto cleanup; - } - - ret = attach_leak_skel(leak_skel); - if(ret != 0) - goto cleanup; - - ret = attach_mm_stats_skel(mm_skel); - if(ret != 0) - goto cleanup; - } - - while(1){ - if(env_data.net_data){ - if (monitor_network(env_data.visualize) != 0) { - fprintf(stderr, "An error occurred during network monitoring.\n"); - } - ret = net_ring_buffer_poll(); - if(ret != 0) - goto cleanup; - } - if(env_data.io_data){ - ret = io_ring_buffer_poll(); - if(ret != 0) - goto cleanup; - if (process_disk_stats(context, current, &context->device_count_prev, 1) != 0) { - goto cleanup; - } - } - if(env_data.mm_data){ - read_meminfo(mm_file); - print_outstanding_allocs(leak_allocs_fd,leak_stack_traces_fd); - ret = mm_ring_buffer_poll(); - if(ret < 0) - goto cleanup; - } - if(env_data.cpu_data){ - ret = cpu_ring_buffer_poll(); - if(ret < 0) - goto cleanup; - } - } - - -cleanup: - cpu_resource_clean(); - net_resource_clean(); - io_resource_clean(); - mm_resource_clean(); - - return ret; -} - - -/*-----------------------------å…±åŒéƒ¨åˆ†---------------------------------------*/ -static int get_proc_path() { - // 获å–当å‰å·¥ä½œç›®å½• - if (getcwd(visualize_proc_path, sizeof(visualize_proc_path)) == NULL) { - perror("getcwd failed"); - return 1; - } - - // 拼接 "visualize/proc" 文件夹到路径 - strncat(visualize_proc_path, "/visualize/proc", sizeof(visualize_proc_path) - strlen(visualize_proc_path) - 1); - - // 检查 "visualize/proc" 文件夹是å¦å­˜åœ¨ - struct stat st; - if (stat(visualize_proc_path, &st) == 0) { - if (!S_ISDIR(st.st_mode)) { - fprintf(stderr, "Error: %s exists but is not a directory\n", visualize_proc_path); - return 1; - } - } else { - // 文件夹ä¸å­˜åœ¨ï¼Œå°è¯•创建 - if (mkdir(visualize_proc_path, 0755) != 0) { - perror("mkdir failed"); - return 1; - } - } - - return 0; -} - -static int create_perf_event(u32 period_ms) { - struct perf_event_attr attr = { - .type = PERF_TYPE_SOFTWARE, // 使用软件事件类型 - .config = PERF_COUNT_SW_CPU_CLOCK, // 使用 CPU æ—¶é’Ÿä½œä¸ºè§¦å‘æº - .size = sizeof(struct perf_event_attr), - .sample_period = period_ms * 1000000ULL, // 设置为毫秒级的间隔 - .freq = 0, // 使用固定间隔,而éžé¢‘率 - .wakeup_events = 1, // æ¯æ¬¡è§¦å‘事件 - }; - - // 对所有 CPU 和进程创建事件 - int fd = syscall(__NR_perf_event_open, &attr, -1, 0, -1, 0); - if (fd < 0) { - perror("perf_event_open"); - return -1; - } - return fd; -} - -static struct bpf_link* attach_perf_event_to_program(struct bpf_program *prog, u32 period_ms) { - // 创建 perf event - int perf_fd = create_perf_event(period_ms); - if (perf_fd < 0) { - fprintf(stderr, "Failed to create perf_event\n"); - return NULL; - } - - // å°† perf event 附加到指定的 BPF ç¨‹åº - struct bpf_link *link = bpf_program__attach_perf_event(prog, perf_fd); - if (!link) { - fprintf(stderr, "Failed to attach perf_event to BPF program: %s\n", strerror(errno)); - close(perf_fd); - return NULL; - } - - return link; -} - -static int init_time(){ - - if(sysinfo(&sys_data) != 0){ - perror("sysinfo get failed\n"); - return 1; - } - - time_t now = time(NULL); - if (now == ((time_t) -1)) { - perror("current time get failed\n"); - return 1; - } - - boot_time = now - sys_data.uptime; - - return 0; -} - -/*-----------------------------------------网络部分----------------------------------*/ -static int net_create_csv(){ - int ret; - int num_csv_names = sizeof(net_csv_names) / sizeof(net_csv_names[0]); - - for(int i=0;iprogs.fentry_tcp_v4_connect,0,"tcp_v4_connect"); - bpf_program__set_attach_target(skel->progs.fentry_tcp_v6_connect,0,"tcp_v6_connect"); - bpf_program__set_attach_target(skel->progs.fentry_tcp_rcv_state_process,0,"tcp_rcv_state_process"); - - bpf_program__set_autoload(skel->progs.fentry_tcp_v4_connect,false); - bpf_program__set_autoload(skel->progs.fentry_tcp_v6_connect,false); - bpf_program__set_autoload(skel->progs.fentry_tcp_rcv_state_process,false); - } - else{ - bpf_program__set_autoload(skel->progs.fentry_tcp_v4_connect,false); - bpf_program__set_autoload(skel->progs.fentry_tcp_v6_connect,false); - bpf_program__set_autoload(skel->progs.fentry_tcp_rcv_state_process,false); - } - - ret = net_stats_bpf__load(skel); - if(ret){ - fprintf(stderr, "failed to load net_stats skel\n"); - return ret; - } - - ret = net_stats_bpf__attach(skel); - if(ret){ - fprintf(stderr, "failed to attach net_stats bpf program(s)\n"); - - return ret; - } - - link_to_tcprtt = attach_perf_event_to_program(skel->progs.handle_tcprtt_event,500); - if(!link_to_tcprtt){ - return -1; - } - skel->links.handle_tcprtt_event = link_to_tcprtt; - - rb_net_latency = ring_buffer__new(bpf_map__fd(skel->maps.net_latency_buffer),handle_net_latency_event,NULL,NULL); - rb_tcprtt = ring_buffer__new(bpf_map__fd(skel->maps.tcprtt_buffer),handle_usr_tcprtt_event,NULL,NULL); - rb_tcptop = ring_buffer__new(bpf_map__fd(skel->maps.tcptop_buffer),handle_usr_tcptop_event,NULL,NULL); - rb_tcpretrans = ring_buffer__new(bpf_map__fd(skel->maps.tcpretrans_buffer),handle_usr_tcpretrans_event,NULL,NULL); - - return 0; -} - -static int net_ring_buffer_poll(){ - int ret; - ret = ring_buffer__poll(rb_net_latency,200); - if(ret < 0) - { - fprintf(stderr, "Error polling net latency ring buffer: %d\n", ret); - return ret; - } - - ret = ring_buffer__poll(rb_tcprtt,200); - if(ret < 0) - { - fprintf(stderr, "Error polling tcprtt ring buffer: %d\n", ret); - return ret; - } - - ret = ring_buffer__poll(rb_tcptop,200); - if(ret < 0) - { - fprintf(stderr, "Error polling tcptop ring buffer: %d\n", ret); - return ret; - } - - ret = ring_buffer__poll(rb_tcpretrans,200); - if(ret < 0) - { - fprintf(stderr, "Error polling tcpretrans ring buffer: %d\n", ret); - return ret; - } - - return 0; -} - -void net_resource_clean(){ - if(rb_net_latency) - ring_buffer__free(rb_net_latency); - if(rb_tcprtt) - ring_buffer__free(rb_tcprtt); - if(rb_tcptop) - ring_buffer__free(rb_tcptop); - if(rb_tcpretrans) - ring_buffer__free(rb_tcpretrans); - - for(int i=0;iaf == AF_INET) { - // IPv4 åœ°å€ - struct in_addr saddr, daddr; - saddr.s_addr = event->src_addr.saddr_v4; - daddr.s_addr = event->dst_addr.daddr_v4; - - // 将网络字节åºçš„地å€è½¬æ¢ä¸ºå­—符串 - if (inet_ntop(AF_INET, &saddr, saddr_str, sizeof(saddr_str)) == NULL) { - perror("inet_ntop IPv4 source address failed"); - strncpy(saddr_str, "Unknown", sizeof(saddr_str)); - } - - if (inet_ntop(AF_INET, &daddr, daddr_str, sizeof(daddr_str)) == NULL) { - perror("inet_ntop IPv4 destination address failed"); - strncpy(daddr_str, "Unknown", sizeof(daddr_str)); - } - } - else if (event->af == AF_INET6) { - // IPv6 åœ°å€ - if (inet_ntop(AF_INET6, event->src_addr.saddr_v6, saddr_str, sizeof(saddr_str)) == NULL) { - perror("inet_ntop IPv6 source address failed"); - strncpy(saddr_str, "Unknown", sizeof(saddr_str)); - } - - if (inet_ntop(AF_INET6, event->dst_addr.daddr_v6, daddr_str, sizeof(daddr_str)) == NULL) { - perror("inet_ntop IPv6 destination address failed"); - strncpy(daddr_str, "Unknown", sizeof(daddr_str)); - } - } - else { - // æœªçŸ¥çš„åœ°å€æ— - strncpy(saddr_str, "Unknown AF", sizeof(saddr_str)); - strncpy(daddr_str, "Unknown AF", sizeof(daddr_str)); - } - - // æ ¼å¼åŒ–时间戳 - // 将纳秒转æ¢ä¸ºç§’和纳秒 - time_t relative_sec = event->ts / 1000000000; - long relative_nsec = event->ts % 1000000000; - - // 计算ç»å¯¹æ—¶é—´ - time_t absolute_sec = boot_time + relative_sec; - long absolute_nsec = relative_nsec; - - // å°†ç»å¯¹æ—¶é—´è½¬æ¢ä¸ºæœ¬åœ°æ—¶é—´ - struct tm tm_info; - if (localtime_r(&absolute_sec, &tm_info) == NULL) { - perror("localtime_r failed"); - return 0; - } - - - // æ ¼å¼åŒ–时间字符串 - char time_buf[64]; - if (strftime(time_buf, sizeof(time_buf), "%Y-%m-%d %H:%M:%S", &tm_info) == 0) { - fprintf(stderr, "strftime returned 0"); - strncpy(time_buf, "Unknown Time", sizeof(time_buf)); - } - - if(env_data.std_output){ - printf("[%s.%09ld] TGID: %u Comm: %s | TCP Connect Delay: %llu us | %s:%u -> %s:%u\n", - time_buf, - absolute_nsec, - event->tgid, - event->comm, - (unsigned long long)event->delta, - saddr_str, - ntohs(event->lport), - daddr_str, - ntohs(event->dport)); - } - - // 打å°äº‹ä»¶ä¿¡æ¯ - // printf("[%s.%09ld] TGID: %u Comm: %s | TCP Connect Delay: %llu us | %s:%u -> %s:%u\n", - // time_buf, - // absolute_nsec, - // event->tgid, - // event->comm, - // (unsigned long long)event->delta, - // saddr_str, - // ntohs(event->lport), - // daddr_str, - // ntohs(event->dport)); - - // 将事件信æ¯å†™å…¥ CSV 文件 - if(!env_data.visualize) - return 0; - - if (!net_csv_files[0]) { - fprintf(stderr, "net_csv_files[0] is NULL. Cannot write to CSV\n"); - return -1; - } - - int fd = fileno(net_csv_files[0]); - if (fd == -1) { - perror("fileno failed"); - return -1; - } - - struct stat st; - if (fstat(fd, &st) == -1) { - perror("fstat failed"); - return -1; - } - - if (st.st_size == 0) { - fprintf(net_csv_files[0], "Timestamp,PID,Comm,Delay_us\n"); - fflush(net_csv_files[0]); - } - - fprintf(net_csv_files[0], "%s.%09ld,%u,%.16s,%llu\n", - time_buf, - absolute_nsec, - event->tgid, - event->comm, - (unsigned long long)event->delta); - - return 0; // 返回 0 表示继续处ç†å…¶ä»–事件 -} - -static int handle_usr_tcprtt_event(void *ctx, void *data, size_t data_sz){ - struct tcprtt_perf_data *event = (struct tcprtt_perf_data *)data; - - if(env_data.std_output){ - for(int i=0;i<8;i++){ - switch(i){ - case 0: - printf("wait less than 1ms: %u\n",event->data[i]); - continue; - case 1: - printf("wait less than 4ms: %u\n",event->data[i]); - continue; - case 2: - printf("wait less than 16ms: %u\n",event->data[i]); - continue; - case 3: - printf("wait less than 32ms: %u\n",event->data[i]); - continue; - case 4: - printf("wait less than 64ms: %u\n",event->data[i]); - continue; - case 5: - printf("wait less than 128ms: %u\n",event->data[i]); - continue; - case 6: - printf("wait less than 256ms: %u\n",event->data[i]); - continue; - case 7: - printf("wait more than 256ms: %u\n",event->data[i]); - continue; - default: - continue; - } - } - } - printf("\n"); - - // 写入到 CSV 文件 - if(!env_data.visualize) - return 0; - if (net_csv_files[1]) { - // èŽ·å–æ–‡ä»¶æè¿°ç¬¦ä»¥æ£€æŸ¥æ–‡ä»¶å¤§å° - int fd = fileno(net_csv_files[1]); - if (fd == -1) { - perror("fileno failed for net_csv_files[1]"); - return -1; - } - - struct stat st; - if (fstat(fd, &st) == -1) { - perror("fstat failed for net_csv_files[1]"); - return -1; - } - - // 如果文件为空,写入表头 - if (st.st_size == 0) { - fprintf(net_csv_files[1], - "1ms,4ms,16ms,32ms,64ms,128ms,256ms,256ms+\n"); - fflush(net_csv_files[1]); - } - - // å†™å…¥äº‹ä»¶æ•°æ® - fprintf(net_csv_files[1], "%u,%u,%u,%u,%u,%u,%u,%u\n", - event->data[0], event->data[1], event->data[2], - event->data[3], event->data[4], event->data[5], - event->data[6], event->data[7]); - } else { - fprintf(stderr, "net_csv_files[1] is NULL. Cannot write to CSV\n"); - } - - - return 0; -} - -static int handle_usr_tcptop_event(void *ctx, void *data, size_t data_sz) -{ - // 检查数æ®å¤§å°æ˜¯å¦ç¬¦åˆé¢„期 - if (data_sz < sizeof(struct tcp_top_perf_data)) { - fprintf(stderr, "Received data size (%zu) is smaller than expected (%zu)\n", data_sz, sizeof(struct tcp_top_perf_data)); - return 0; - } - - // å°†æ•°æ®æŒ‡é’ˆè½¬æ¢ä¸ºç»“构体指针 - struct tcp_top_perf_data *event = (struct tcp_top_perf_data *)data; - - // 定义缓冲区用于存储IP地å€å­—符串 - char saddr_str[INET6_ADDRSTRLEN] = {0}; - char daddr_str[INET6_ADDRSTRLEN] = {0}; - - // æ ¹æ®åœ°å€æ—è½¬æ¢æºåœ°å€ - if (event->af == AF_INET) { - struct in_addr saddr; - saddr.s_addr = event->src_addr.saddr_v4; - if (inet_ntop(AF_INET, &saddr, saddr_str, sizeof(saddr_str)) == NULL) { - perror("inet_ntop IPv4 source address failed"); - strncpy(saddr_str, "Unknown", sizeof(saddr_str)-1); - saddr_str[sizeof(saddr_str)-1] = '\0'; - } - } - else if (event->af == AF_INET6) { - if (inet_ntop(AF_INET6, event->src_addr.saddr_v6, saddr_str, sizeof(saddr_str)) == NULL) { - perror("inet_ntop IPv6 source address failed"); - strncpy(saddr_str, "Unknown", sizeof(saddr_str)-1); - saddr_str[sizeof(saddr_str)-1] = '\0'; - } - } - else { - strncpy(saddr_str, "Unknown AF", sizeof(saddr_str)-1); - saddr_str[sizeof(saddr_str)-1] = '\0'; - } - - // æ ¹æ®åœ°å€æ—转æ¢ç›®æ ‡åœ°å€ - if (event->af == AF_INET) { - struct in_addr daddr; - daddr.s_addr = event->dst_addr.daddr_v4; - if (inet_ntop(AF_INET, &daddr, daddr_str, sizeof(daddr_str)) == NULL) { - perror("inet_ntop IPv4 destination address failed"); - strncpy(daddr_str, "Unknown", sizeof(daddr_str)-1); - daddr_str[sizeof(daddr_str)-1] = '\0'; - } - } - else if (event->af == AF_INET6) { - if (inet_ntop(AF_INET6, event->dst_addr.daddr_v6, daddr_str, sizeof(daddr_str)) == NULL) { - perror("inet_ntop IPv6 destination address failed"); - strncpy(daddr_str, "Unknown", sizeof(daddr_str)-1); - daddr_str[sizeof(daddr_str)-1] = '\0'; - } - } - else { - strncpy(daddr_str, "Unknown AF", sizeof(daddr_str)-1); - daddr_str[sizeof(daddr_str)-1] = '\0'; - } - - // 将端å£å·ä»Žç½‘络字节åºè½¬æ¢ä¸ºä¸»æœºå­—èŠ‚åº - u16 lport = ntohs(event->lport); - u16 dport = ntohs(event->dport); - - // 获å–当剿—¶é—´æˆ³ - time_t now = time(NULL); - struct tm tm_info; - char time_buf[64]; - localtime_r(&now, &tm_info); - strftime(time_buf, sizeof(time_buf), "%Y-%m-%d %H:%M:%S", &tm_info); - - // 打å°äº‹ä»¶ä¿¡æ¯ - if(env_data.std_output){ - printf("[%s] PID: %u | Comm: %s | Sent: %llu bytes | Received: %llu bytes | %s:%u -> %s:%u\n", - time_buf, - event->pid, - event->comm, - (unsigned long long)event->send, - (unsigned long long)event->recv, - saddr_str, - lport, - daddr_str, - dport); - } - - if(!env_data.visualize) - return 0; - // 写入到 CSV 文件 - if (net_csv_files[2]) { - // èŽ·å–æ–‡ä»¶æè¿°ç¬¦ä»¥æ£€æŸ¥æ–‡ä»¶å¤§å° - int fd = fileno(net_csv_files[2]); - if (fd == -1) { - perror("fileno failed for net_csv_files[2]"); - return -1; - } - - struct stat st; - if (fstat(fd, &st) == -1) { - perror("fstat failed for net_csv_files[2]"); - return -1; - } - - // 如果文件为空,写入表头 - if (st.st_size == 0) { - // fprintf(net_csv_files[2], - // "Timestamp,PID,Comm,Source_IP,Source_Port,Destination_IP,Destination_Port,Sent_Bytes,Received_Bytes\n"); - fprintf(net_csv_files[2], - "Timestamp,PID,Comm,Sent_Bytes,Received_Bytes\n"); - fflush(net_csv_files[2]); - } - - fprintf(net_csv_files[2], "%s,%u,%s,%llu,%llu\n", - time_buf, - event->pid, - event->comm, - (unsigned long long)event->send, - (unsigned long long)event->recv); - - } else { - fprintf(stderr, "net_csv_files[2] is NULL. Cannot write to CSV\n"); - } - - return 0; -} - -const char* tcp_state_to_string(u64 state) { - switch (state) { - case TCP_ESTABLISHED: - return "ESTABLISHED"; - case TCP_SYN_SENT: - return "SYN_SENT"; - case TCP_SYN_RECV: - return "SYN_RECV"; - case TCP_FIN_WAIT1: - return "FIN_WAIT1"; - case TCP_FIN_WAIT2: - return "FIN_WAIT2"; - case TCP_TIME_WAIT: - return "TIME_WAIT"; - case TCP_CLOSE: - return "CLOSE"; - case TCP_CLOSE_WAIT: - return "CLOSE_WAIT"; - case TCP_LAST_ACK: - return "LAST_ACK"; - case TCP_LISTEN: - return "LISTEN"; - case TCP_CLOSING: - return "CLOSING"; - case TCP_NEW_SYN_RECV: - return "NEW_SYN_RECV"; - case TCP_MAX_STATES: - return "MAX_STATES"; - default: - return "UNKNOWN"; - } -} - -static int handle_usr_tcpretrans_event(void *ctx, void *data, size_t data_sz) { - // 检查数æ®å¤§å°æ˜¯å¦ç¬¦åˆé¢„期 - if (data_sz < sizeof(struct tcp_resubmit)) { - fprintf(stderr, "Received data size (%zu) is smaller than expected (%zu)\n", data_sz, sizeof(struct tcp_resubmit)); - return 0; - } - - // å°†æ•°æ®æŒ‡é’ˆè½¬æ¢ä¸ºç»“构体指针 - struct tcp_resubmit *event = (struct tcp_resubmit *)data; - - // 定义缓冲区用于存储IP地å€å­—符串 - char saddr_str[INET6_ADDRSTRLEN] = {0}; - char daddr_str[INET6_ADDRSTRLEN] = {0}; - - // æ ¹æ®åœ°å€æ—è½¬æ¢æºåœ°å€ - if (event->af == AF_INET) { - struct in_addr saddr; - saddr.s_addr = event->src_addr.saddr_v4; - if (inet_ntop(AF_INET, &saddr, saddr_str, sizeof(saddr_str)) == NULL) { - perror("inet_ntop IPv4 source address failed"); - strncpy(saddr_str, "Unknown", sizeof(saddr_str)-1); - saddr_str[sizeof(saddr_str)-1] = '\0'; - } - } - else if (event->af == AF_INET6) { - if (inet_ntop(AF_INET6, event->src_addr.saddr_v6, saddr_str, sizeof(saddr_str)) == NULL) { - perror("inet_ntop IPv6 source address failed"); - strncpy(saddr_str, "Unknown", sizeof(saddr_str)-1); - saddr_str[sizeof(saddr_str)-1] = '\0'; - } - } - else { - strncpy(saddr_str, "Unknown AF", sizeof(saddr_str)-1); - saddr_str[sizeof(saddr_str)-1] = '\0'; - } - - // æ ¹æ®åœ°å€æ—转æ¢ç›®æ ‡åœ°å€ - if (event->af == AF_INET) { - struct in_addr daddr; - daddr.s_addr = event->dst_addr.daddr_v4; - if (inet_ntop(AF_INET, &daddr, daddr_str, sizeof(daddr_str)) == NULL) { - perror("inet_ntop IPv4 destination address failed"); - strncpy(daddr_str, "Unknown", sizeof(daddr_str)-1); - daddr_str[sizeof(daddr_str)-1] = '\0'; - } - } - else if (event->af == AF_INET6) { - if (inet_ntop(AF_INET6, event->dst_addr.daddr_v6, daddr_str, sizeof(daddr_str)) == NULL) { - perror("inet_ntop IPv6 destination address failed"); - strncpy(daddr_str, "Unknown", sizeof(daddr_str)-1); - daddr_str[sizeof(daddr_str)-1] = '\0'; - } - } - else { - strncpy(daddr_str, "Unknown AF", sizeof(daddr_str)-1); - daddr_str[sizeof(daddr_str)-1] = '\0'; - } - - // 将端å£å·ä»Žç½‘络字节åºè½¬æ¢ä¸ºä¸»æœºå­—èŠ‚åº - u16 lport = ntohs(event->lport); - u16 dport = ntohs(event->dport); - - // æ ¼å¼åŒ–时间戳 - // 将纳秒转æ¢ä¸ºç§’和纳秒 - time_t relative_sec = event->occur / 1000000000; - long relative_nsec = event->occur % 1000000000; - - // 计算ç»å¯¹æ—¶é—´ - time_t absolute_sec = boot_time + relative_sec; - long absolute_nsec = relative_nsec; - - // å°†ç»å¯¹æ—¶é—´è½¬æ¢ä¸ºæœ¬åœ°æ—¶é—´ - struct tm tm_info; - if (localtime_r(&absolute_sec, &tm_info) == NULL) { - perror("localtime_r failed"); - return 0; - } - - - // æ ¼å¼åŒ–时间字符串 - char time_buf[64]; - if (strftime(time_buf, sizeof(time_buf), "%Y-%m-%d %H:%M:%S", &tm_info) == 0) { - fprintf(stderr, "strftime returned 0"); - strncpy(time_buf, "Unknown Time", sizeof(time_buf)); - } - - // 打å°äº‹ä»¶ä¿¡æ¯ - if(env_data.std_output){ - printf("[%s] PID: %u | Comm: %s | Seq: %u | State: %s | Event Type: %llu | %s:%u -> %s:%u\n", - time_buf, - event->pid, - event->comm, - event->seq, - tcp_state_to_string(event->state), // 输出状æ€çš„å­—ç¬¦å½¢å¼ - event->type, - saddr_str, - lport, - daddr_str, - dport); - } - - if(!env_data.visualize) - return 0; - // 写入到 CSV 文件 - if (net_csv_files[3]) { // 对应é‡ä¼ äº‹ä»¶çš„ CSV 文件 - int fd = fileno(net_csv_files[3]); - if (fd == -1) { - perror("fileno failed for net_csv_files[3]"); - return -1; - } - - struct stat st; - if (fstat(fd, &st) == -1) { - perror("fstat failed for net_csv_files[3]"); - return -1; - } - - // 如果文件为空,写入表头 - if (st.st_size == 0) { - // fprintf(net_csv_files[3], - // "Timestamp,PID,Comm,Seq,State,Event_Type,Source_IP,Source_Port,Destination_IP,Destination_Port\n"); - fprintf(net_csv_files[3], - "Timestamp,PID,Comm,State,Event_Type,Source_IP,Source_Port,Destination_IP,Destination_Port\n"); - fflush(net_csv_files[3]); - } - - fprintf(net_csv_files[3], "%s.%09ld,%u,%s,%s,%llu,%s,%u,%s,%u\n", - time_buf, - absolute_nsec, - event->pid, - event->comm, - tcp_state_to_string(event->state), - event->type, - saddr_str, - lport, - daddr_str, - dport); - } else { - fprintf(stderr, "net_csv_files[3] is NULL. Cannot write to CSV\n"); - } - - return 0; -} - - -static bool fentry_try_attach(int id) { - int prog_fd, attach_fd; - char error[4096] = {0}; - struct bpf_insn insns[] = { - {.code = BPF_ALU64 | BPF_MOV | BPF_K, .dst_reg = BPF_REG_0, .imm = 0}, - {.code = BPF_JMP | BPF_EXIT}, - }; - LIBBPF_OPTS(bpf_prog_load_opts, opts, - .expected_attach_type = BPF_TRACE_FENTRY, .attach_btf_id = id, - .log_buf = error, .log_size = sizeof(error), ); - - prog_fd = bpf_prog_load(BPF_PROG_TYPE_TRACING, "fentry_attach", "GPL", insns, - sizeof(insns) / sizeof(struct bpf_insn), &opts); - if (prog_fd < 0) { - fprintf(stderr, "bpf_prog_load failed: %s\n", strerror(errno)); - return false; - } - - attach_fd = bpf_raw_tracepoint_open(NULL, prog_fd); - if (attach_fd < 0) { - fprintf(stderr, "bpf_raw_tracepoint_open failed: %s\n", strerror(errno)); - close(prog_fd); - return false; - } - - close(attach_fd); - close(prog_fd); - return true; -} - -static bool fentry_can_attach(const char* name, const char* mod) { - struct btf *btf, *vmlinux_btf, *module_btf = NULL; - int err, id; - - vmlinux_btf = btf__load_vmlinux_btf(); - err = libbpf_get_error(vmlinux_btf); - if (err) { - fprintf(stderr, "Failed to load vmlinux BTF\n"); - return false; - } - - btf = vmlinux_btf; - - if (mod) { - module_btf = btf__load_module_btf(mod, vmlinux_btf); - err = libbpf_get_error(module_btf); - if (!err) - btf = module_btf; - else - fprintf(stderr, "Failed to load module BTF for module %s\n", mod); - } - - id = btf__find_by_name_kind(btf, name, BTF_KIND_FUNC); - - btf__free(module_btf); - btf__free(vmlinux_btf); - - if (id <= 0) { - fprintf(stderr, "Function %s not found in BTF\n", name); - return false; - } - - return fentry_try_attach(id); -} - -/*--------------------------io部分-----------------------------------*/ -static int io_create_csv(){ - int ret; - int num_csv_names = sizeof(io_csv_names) / sizeof(io_csv_names[0]); - - for(int i=0;iinfo.pid); - printf(" Command: %s\n", event->info.comm); - printf(" read_count: %u\n", event->read_count); - printf(" write_count: %u\n", event->write_count); - } - - if(!env_data.visualize) - return 0; - - // 检查 CSV 文件是å¦åˆå§‹åŒ– - if (io_csv_files[0] == NULL) { - fprintf(stderr, "Error: CSV file not initialized for IO task stats\n"); - return -1; - } - - // 检查文件是å¦ä¸ºç©º - struct stat st; - if (fstat(fileno(io_csv_files[0]), &st) == -1) { - perror("Error checking file size"); - return -1; - } - - if (st.st_size == 0) { - // 文件为空,写入列å - fprintf(io_csv_files[0], "PID,Command,Read Count,Write Count\n"); - fflush(io_csv_files[0]); - } - - // 写入数æ®åˆ° CSV 文件 - fprintf(io_csv_files[0], "%u,%s,%u,%u\n", - event->info.pid, - event->info.comm, - event->read_count, - event->write_count); - - - return 0; -} - -static int handle_io_process_stats_event(void *ctx,void *data, size_t data_sz){ - struct io_process_stats *event = (struct io_process_stats *)data; - - if(env_data.std_output){ - printf(" tgid: %u\n", event->tgid); - printf(" read_count: %u\n", event->read_count); - printf(" write_count: %u\n", event->write_count); - } - - // 如果ä¸éœ€è¦å¯è§†åŒ–,直接返回 - if (!env_data.visualize) - return 0; - - // 检查 CSV 文件是å¦åˆå§‹åŒ– - if (io_csv_files[1] == NULL) { - fprintf(stderr, "Error: CSV file not initialized for IO process stats\n"); - return -1; - } - - // 检查文件是å¦ä¸ºç©º - struct stat st; - if (fstat(fileno(io_csv_files[1]), &st) == -1) { - perror("Error checking file size"); - return -1; - } - - if (st.st_size == 0) { - // 文件为空,写入列å - fprintf(io_csv_files[1], "TGID,Read Count,Write Count\n"); - fflush(io_csv_files[1]); // ç¡®ä¿æ•°æ®ç«‹å³å†™å…¥æ–‡ä»¶ - } - - // 写入数æ®åˆ° CSV 文件 - fprintf(io_csv_files[1], "%u,%u,%u\n", - event->tgid, - event->read_count, - event->write_count); - - return 0; -} - -static int handle_iowait_perf_event(void *ctx,void *data, size_t data_sz){ - struct io_wait_perf_data *event = (struct io_wait_perf_data *)data; - - if(env_data.std_output){ - for(int i=0;i<8;i++){ - switch(i) - { - case 0: - printf("wait less than 1us: %u\n",event->count_list[i]); - continue; - case 1: - printf("wait less than 4us: %u\n",event->count_list[i]); - continue; - case 2: - printf("wait less than 16us: %u\n",event->count_list[i]); - continue; - case 3: - printf("wait less than 64us: %u\n",event->count_list[i]); - continue; - case 4: - printf("wait less than 256us: %u\n",event->count_list[i]); - continue; - case 5: - printf("wait less than 1ms: %u\n",event->count_list[i]); - continue; - case 6: - printf("wait less than 4ms: %u\n",event->count_list[i]); - continue; - case 7: - printf("wait large than 4ms: %u\n",event->count_list[i]); - continue; - default: - continue; - } - } - } - - // 如果ä¸éœ€è¦å¯è§†åŒ–,直接返回 - if (!env_data.visualize) - return 0; - - // 检查 CSV 文件是å¦åˆå§‹åŒ– - if (io_csv_files[2] == NULL) { - fprintf(stderr, "Error: CSV file not initialized for IO wait perf stats\n"); - return -1; - } - - // 检查文件是å¦ä¸ºç©º - struct stat st; - if (fstat(fileno(io_csv_files[2]), &st) == -1) { - perror("Error checking file size"); - return -1; - } - - if (st.st_size == 0) { - // 文件为空,写入列å - fprintf(io_csv_files[2], "1us,4us,16us,64us,256us,1ms,4ms,4ms+\n"); - fflush(io_csv_files[2]); // ç¡®ä¿æ•°æ®ç«‹å³å†™å…¥æ–‡ä»¶ - } - - // 写入数æ®åˆ° CSV 文件 - fprintf(io_csv_files[2], "%u,%u,%u,%u,%u,%u,%u,%u\n", - event->count_list[0], - event->count_list[1], - event->count_list[2], - event->count_list[3], - event->count_list[4], - event->count_list[5], - event->count_list[6], - event->count_list[7]); - - - return 0; -} - -unsigned int io_parse_arguments(int argc, char *argv[]) { - unsigned int interval = 1; // 默认1ç§’ - if (argc == 2) { - interval = atoi(argv[1]); - if (interval == 0) { - fprintf(stderr, "Invalid interval. Using default 1 second.\n"); - interval = 1; - } - } - return interval; -} - -int io_initialize_monitoring(unsigned int interval) { - // åˆå§‹åŒ–上下文 - context = diskstats_init(); - if (!context) { - fprintf(stderr, "Failed to initialize DiskStatsContext.\n"); - return -1; - } - - // 读å–åˆå§‹ç»Ÿè®¡æ•°æ® - int device_count_prev = diskstats_read(context, current, MAX_DEVICES); - if (device_count_prev < 0) { - fprintf(stderr, "Failed to read /proc/diskstats.\n"); - diskstats_cleanup(context); - return -1; - } - - context->device_count_prev = device_count_prev; - return 0; -} - -static void io_resource_clean(){ - if(rb_io_task_stats) - ring_buffer__free(rb_io_task_stats); - if(rb_io_process_stats) - ring_buffer__free(rb_io_process_stats); - if(rb_io_wait) - ring_buffer__free(rb_io_wait); - - if(context){ - diskstats_cleanup(context); - } - - for(int i=0;iprogs.handle_io_wait_event,500); - if(!link_io_wait){ - return -1; - } - skel->links.handle_io_wait_event = link_io_wait; - - rb_io_task_stats = ring_buffer__new(bpf_map__fd(skel->maps.io_task_stats_buffer),handle_io_task_stats_event,NULL,NULL); - rb_io_process_stats = ring_buffer__new(bpf_map__fd(skel->maps.io_process_stats_buffer),handle_io_process_stats_event,NULL,NULL); - rb_io_wait = ring_buffer__new(bpf_map__fd(skel->maps.io_wait_buffer),handle_iowait_perf_event,NULL,NULL); - - int threhold_fd = bpf_map__fd(skel->maps.io_threhold_map); - struct io_stats_threhold task = { - .read_count = 50, - .write_count = 50, - .time_window = (1000 * MSEC) - }; - struct io_stats_threhold process = { - .read_count = 100, - .write_count = 100, - .time_window = (1000 * MSEC) - }; - - if(bpf_map_update_elem(threhold_fd,&zero,&task,BPF_ANY) != 0){ - printf("io_threhold map update error\n"); - return -1; - } - - if(bpf_map_update_elem(threhold_fd,&one,&process,BPF_ANY) != 0){ - printf("io_threhold map update error\n"); - return -1; - } - - return 0; -} - -/*----------------------------mm部分--------------------------------------*/ -static int mm_create_csv(){ - int ret; - int num_csv_names = sizeof(mm_csv_names) / sizeof(mm_csv_names[0]); - - for(int i=0;ikill_time / 1000000000; - long kill_time_nsec = event->kill_time % 1000000000; - - struct tm *tm_info = localtime(&kill_time_sec); - char time_buffer[64]; - strftime(time_buffer, sizeof(time_buffer), "%Y-%m-%d %H:%M:%S", tm_info); - - if(env_data.std_output){ - printf("[%s.%09ld] OOM Event:\n", time_buffer, kill_time_nsec); - printf(" Trigger PID: %u\n", event->trigger_id); - printf(" Killed PID: %u\n", event->killed_id); - printf(" Command: %s\n", event->comm); - printf(" Kill Time: %llu ns\n\n", event->kill_time); - } - - // 如果ä¸éœ€è¦å¯è§†åŒ–,直接返回 - if (!env_data.visualize) - return 0; - - // 检查 CSV 文件是å¦åˆå§‹åŒ– - if (mm_csv_files[0] == NULL) { - fprintf(stderr, "Error: CSV file not initialized for OOM events\n"); - return -1; - } - - // 检查文件是å¦ä¸ºç©º - struct stat st; - if (fstat(fileno(mm_csv_files[0]), &st) == -1) { - perror("Error checking file size"); - return -1; - } - - if (st.st_size == 0) { - // 文件为空,写入列å - fprintf(mm_csv_files[0], "Timestamp,Trigger PID,Killed PID,Command,Kill Time (ns)\n"); - fflush(mm_csv_files[0]); // ç¡®ä¿æ•°æ®ç«‹å³å†™å…¥æ–‡ä»¶ - } - - // 写入数æ®åˆ° CSV 文件 - fprintf(mm_csv_files[0], "%s.%09ld,%u,%u,%s,%llu\n", - time_buffer, - kill_time_nsec, - event->trigger_id, - event->killed_id, - event->comm, - event->kill_time); - - return 0; -} - -static int handle_task_mm_stats_event(void *ctx,void *data, size_t data_sz){ - struct task_mm_stats *event = (struct task_mm_stats *)data; - - if(env_data.std_output){ - printf(" PID: %u\n", event->info.pid); - printf(" Command: %s\n", event->info.comm); - printf(" kmem_count: %u\n", event->kmem_count); - printf(" vmem_count: %u\n", event->vmem_count); - printf(" slab_count: %u\n\n", event->slab_count); - } - - // 如果ä¸éœ€è¦å¯è§†åŒ–,直接返回 - if (!env_data.visualize) - return 0; - - // 检查 CSV 文件是å¦åˆå§‹åŒ– - if (mm_csv_files[1] == NULL) { - fprintf(stderr, "Error: CSV file not initialized for task MM stats\n"); - return -1; - } - - // 检查文件是å¦ä¸ºç©º - struct stat st; - if (fstat(fileno(mm_csv_files[1]), &st) == -1) { - perror("Error checking file size"); - return -1; - } - - if (st.st_size == 0) { - // 文件为空,写入列å - fprintf(mm_csv_files[1], "PID,Command,Kmem Count,Vmem Count,Slab Count\n"); - fflush(mm_csv_files[1]); // ç¡®ä¿æ•°æ®ç«‹å³å†™å…¥æ–‡ä»¶ - } - - // 写入数æ®åˆ° CSV 文件 - fprintf(mm_csv_files[1], "%u,%s,%u,%u,%u\n", - event->info.pid, - event->info.comm, - event->kmem_count, - event->vmem_count, - event->slab_count); - - - return 0; -} - -static int handle_process_mm_stats_event(void *ctx,void *data, size_t data_sz){ - struct process_mm_stats *event = (struct process_mm_stats *)data; - - if(env_data.std_output){ - printf(" process tgid: %u\n", event->tgid); - printf(" kmem_count: %u\n", event->kmem_count); - printf(" vmem_count: %u\n", event->vmem_count); - printf(" slab_count: %u\n\n", event->slab_count); - } - - // 如果ä¸éœ€è¦å¯è§†åŒ–,直接返回 - if (!env_data.visualize) - return 0; - - // 检查 CSV 文件是å¦åˆå§‹åŒ– - if (mm_csv_files[2] == NULL) { - fprintf(stderr, "Error: CSV file not initialized for process MM stats\n"); - return -1; - } - - // 检查文件是å¦ä¸ºç©º - struct stat st; - if (fstat(fileno(mm_csv_files[2]), &st) == -1) { - perror("Error checking file size"); - return -1; - } - - if (st.st_size == 0) { - // 文件为空,写入列å - fprintf(mm_csv_files[2], "TGID,Kmem Count,Vmem Count,Slab Count\n"); - fflush(mm_csv_files[2]); // ç¡®ä¿æ•°æ®ç«‹å³å†™å…¥æ–‡ä»¶ - } - - // 写入数æ®åˆ° CSV 文件 - fprintf(mm_csv_files[2], "%u,%u,%u,%u\n", - event->tgid, - event->kmem_count, - event->vmem_count, - event->slab_count); - - return 0; -} - -static int attach_leak_skel(struct mm_leak_bpf *skel){ - int ret; - - allocs = calloc(ALLOCS_MAX_ENTRIES, sizeof(*allocs)); - if (!allocs) { - fprintf(stderr, "failed to allocate array\n"); - ret = -ENOMEM; - - return ret; - } - - stack = calloc(PERF_MAX_STACK_DEPTH, sizeof(*stack)); - if (!stack) { - fprintf(stderr, "failed to allocate stack array\n"); - ret = -ENOMEM; - - return ret; - } - - ret = mm_leak_bpf__load(skel); - if(ret){ - fprintf(stderr, "failed to load mm_leak skel\n"); - - return -1; - } - - leak_allocs_fd = bpf_map__fd(skel->maps.allocs); - leak_stack_traces_fd = bpf_map__fd(skel->maps.stack_traces); - - ret = mm_leak_bpf__attach(skel); - if (ret) { - fprintf(stderr, "failed to attach bpf program(s)\n"); - - return -1; - } - - mm_symbolizer = blaze_symbolizer_new(); - if(!mm_symbolizer){ - printf("Failed to initialize symbolizer\n"); - ret = -1; - - return ret; - } - - return 0; -} - -static int attach_mm_stats_skel(struct mm_stats_bpf *skel){ - int ret,map_fd; - - ret = mm_stats_bpf__load(skel); - if(ret){ - fprintf(stderr, "failed to load mm_leak skel\n"); - return -1; - } - - ret = mm_stats_bpf__attach(skel); - if (ret) { - fprintf(stderr, "failed to attach mm_stats bpf program(s)\n"); - - return -1; - } - - rb_oom = ring_buffer__new(bpf_map__fd(skel->maps.oom_event_buffer),handle_oom_event,NULL,NULL); - if(!rb_oom){ - fprintf(stderr, "Failed to create oom ring buffer\n"); - return -1; - } - - rb_task_mm = ring_buffer__new(bpf_map__fd(skel->maps.task_mm_stats_buffer),handle_task_mm_stats_event,NULL,NULL); - if(!rb_task_mm){ - fprintf(stderr, "Failed to create task mm stats ring buffer\n"); - return -1; - } - - rb_process_mm = ring_buffer__new(bpf_map__fd(skel->maps.process_mm_stats_buffer),handle_process_mm_stats_event,NULL,NULL); - if(!rb_process_mm){ - fprintf(stderr, "Failed to create task mm stats ring buffer\n"); - return -1; - } - - struct mm_threhold threhold_task = { - .kmem_threhold = 500, - .slab_threhold = 500, - .vmem_threhold = 500, - .time_window = MSEC * 1000 // 1ç§’ - }; - - struct mm_threhold threhold_process = { - .kmem_threhold = 1000, - .slab_threhold = 1000, - .vmem_threhold = 1000, - .time_window = MSEC * 1000 // 1ç§’ - }; - - map_fd = bpf_map__fd(skel->maps.threhold_map); - if(bpf_map_update_elem(map_fd,&zero,&threhold_task,BPF_ANY) != 0){ - perror("Failed to update mm_threhold map\n"); - return -1; - } - - if(bpf_map_update_elem(map_fd,&one,&threhold_process,BPF_ANY) != 0){ - perror("Failed to update mm_threhold map\n"); - return -1; - } - - return 0; -} - -static void mm_resource_clean(){ - if(rb_oom) - ring_buffer__free(rb_oom); - if(rb_task_mm) - ring_buffer__free(rb_task_mm); - if(rb_process_mm) - ring_buffer__free(rb_process_mm); - - if(mm_symbolizer) - blaze_symbolizer_free(mm_symbolizer); - - mm_leak_bpf__destroy(leak_skel); - mm_stats_bpf__destroy(mm_skel); - - for(int i=0;isize > y->size) - return -1; - - if (x->size < y->size) - return 1; - - return 0; -} - -static int print_outstanding_allocs(int allocs_fd, int stack_traces_fd){ - //const u64 allocs_key_size = bpf_map__key_size(skel->maps.allocs); - - u64 t = time(NULL); - struct tm *tm = localtime(&t);// 获å–当剿—¶é—´ï¼Œç”¨äºŽè¾“出时的时间戳 - u64 nr_allocs = 0;// 计数器用æ¥è®°å½•找到的分é…ä¿¡æ¯çš„æ•°é‡ - - //é历 allocs map,prev_key å’Œ curr_key 用æ¥åœ¨ BPF map 中迭代查找元素 - for (u64 prev_key = 0, curr_key = 0;; prev_key = curr_key) - { - struct alloc_info alloc_info = {}; - memset(&alloc_info, 0, sizeof(alloc_info)); - // 获å–下一个 allocs map 中的键,直到é历完所有键,如果返回 ENOENT 错误,表示没有更多的键,å¯ä»¥é€€å‡ºå¾ªçޝ - if (bpf_map_get_next_key(allocs_fd,&prev_key,&curr_key)) - { - if (errno == ENOENT) - { - break; // no more keys, done - } - - perror("map get next key error"); - - return -errno; - } - - // 使用 bpf_map__lookup_elem() 查找当å‰é”®å¯¹åº”的值,如果å‘生 ENOENT 错误,表示当å‰é”®æ²¡æœ‰å¯¹åº”值,跳过该键 - if (bpf_map_lookup_elem(allocs_fd,&curr_key,&alloc_info)) - { - if (errno == ENOENT) - continue; - - perror("map lookup error"); - - return -errno; - } - - // 过滤掉无效的栈 - if (alloc_info.stack_id < 0) - { - continue; - } - - bool stack_exists = false; - - // é历已存储的 allocs 数组(内存分é…ä¿¡æ¯çš„集åˆï¼‰å¹¶æŸ¥æ‰¾ç›¸åŒçš„ stack_id - // 如果找到了相åŒçš„堆栈 ID(æ„味ç€åŒä¸€ä¸ªå †æ ˆè¿›è¡Œäº†å¤šæ¬¡åˆ†é…),就将 alloc_info.size 累加到已存在的分é…中,且将 count 增加 1 - - for (u64 i = 0; !stack_exists && i < nr_allocs; ++i) - { - struct allocation *alloc = &allocs[i]; - - if (alloc->stack_id == alloc_info.stack_id) - { - alloc->size += alloc_info.size; - alloc->count++; - - stack_exists = true; - break; - } - } - - - if (stack_exists) - continue; - - // 如果没有找到相åŒçš„堆栈 ID,说明这是一个新的堆栈分é…,创建一个新的 allocation 结构体,并将其添加到 allocs 数组中 - struct allocation alloc = { - .stack_id = alloc_info.stack_id , - .size = alloc_info.size, - .count = 1, - }; - - // 将新创建的 allocation 结构体å¤åˆ¶åˆ° allocs 数组中,并增加 nr_allocs - memcpy(&allocs[nr_allocs], &alloc, sizeof(alloc)); - nr_allocs++; - } - - // 使用 qsort() 函数按内存大å°é™åºæŽ’列 allocs 数组 - //qsort(allocs, nr_allocs, sizeof(allocs[0]), alloc_size_compare); - if (nr_allocs > 0) { - qsort(allocs, nr_allocs, sizeof(allocs[0]), alloc_size_compare); - } - - printf("[%d:%d:%d] Top %zu stacks with outstanding allocations:\n", - tm->tm_hour, tm->tm_min, tm->tm_sec, nr_allocs); - - for (size_t i = 0; i < nr_allocs; i++) - { - if (bpf_map_lookup_elem(stack_traces_fd,&allocs[i].stack_id,stack)) - { - perror("failed to lookup stack traces!"); - return -errno; - } - } - - print_stack_frames(allocs, nr_allocs, stack_traces_fd); - for (size_t i = 0; i < nr_allocs; i++) { - allocs[i].stack_id = 0; - } - - return 0; -} - -void print_stack_frames_by_blazesym(u64 *stack, int stack_sz) -{ - struct blaze_syms *result; - struct blaze_sym *sym; - - if(trace_pid == 0){ - struct blaze_symbolize_src_kernel src = { - .type_size = sizeof(src) - }; - result = blaze_symbolize_kernel_abs_addrs(mm_symbolizer, &src, (const uintptr_t *)stack, stack_sz); - } - else{ - struct blaze_symbolize_src_process src = { - .type_size = sizeof(src), - .pid = trace_pid, - }; - result = blaze_symbolize_process_abs_addrs(mm_symbolizer, &src, (const uintptr_t *)stack, stack_sz); - } - - // 获å–符å·ä¿¡æ¯ - //printf("Stack depth: %d\n", stack_sz); - - if (!result) { - perror("Failed to symbolize stack addresses"); - return; - } - - // æ‰“å°æ ˆå›žæº¯ä¿¡æ¯ - for (size_t j = 0; j < result->cnt; ++j) { - //printf("inlined count: %d\n", result->syms[j].inlined_cnt); - - const uint64_t addr = stack[j]; - - if (addr == 0) - break; - - sym = &result->syms[j]; - - if (sym->name == NULL) { - printf("No symbol found for address <0x%lx>\n", addr); - if (mm_alloc_stack) { - fprintf(mm_alloc_stack, "No symbol found for address <0x%lx>\n", addr); - } - continue; - } - - // æ‰“å°æ¯ä¸ªæ ˆå¸§çš„函数åå’Œåœ°å€ - printf("\t%zu [<%016lx>] %s + 0x%lx\n", j, addr, sym->name, sym->offset); - if (mm_alloc_stack) { - fprintf(mm_alloc_stack, "\t%zu [<%016lx>] %s + 0x%lx\n", j, addr, sym->name, sym->offset); - } - - // æ‰“å°æºä»£ç ä½ç½®ï¼ˆæ–‡ä»¶ã€è¡Œå·ç­‰ï¼‰ - if (sym->code_info.file != NULL) { - printf("\t\tSource: %s:%d:%d\n", sym->code_info.file, sym->code_info.line, sym->code_info.column); - if (mm_alloc_stack) { - fprintf(mm_alloc_stack, "\t\tSource: %s:%d:%d\n", sym->code_info.file, sym->code_info.line, sym->code_info.column); - } - } - - // 如果存在内è”函数,打å°å†…è”å‡½æ•°ä¿¡æ¯ - if (sym->inlined_cnt > 0) { - for (size_t k = 0; k < sym->inlined_cnt; ++k) { - const struct blaze_symbolize_inlined_fn *inlined = &sym->inlined[k]; - printf("\t\tInlined function: %s\n", inlined->name); - if (mm_alloc_stack) { - fprintf(mm_alloc_stack, "\t\tInlined function: %s\n", inlined->name); - } - if (inlined->code_info.file != NULL) { - printf("\t\t\tSource: %s:%d:%d\n", inlined->code_info.file, inlined->code_info.line, inlined->code_info.column); - if (mm_alloc_stack) { - fprintf(mm_alloc_stack, "\t\t\tSource: %s:%d:%d\n", inlined->code_info.file, inlined->code_info.line, inlined->code_info.column); - } - } - } - } - } - - blaze_syms_free(result); -} - -int print_stack_frames(struct allocation *allocs, u64 nr_allocs, int stack_traces_fd) -{ - for (u64 i = 0; i < nr_allocs; ++i){ - const struct allocation *alloc = &allocs[i]; - printf("%zu bytes in %zu allocations from stack\n", alloc->size, alloc->count); - - if (bpf_map_lookup_elem(stack_traces_fd, &alloc->stack_id, stack)) { - if (errno == ENOENT) - continue; - - perror("failed to lookup stack trace"); - - return -errno; - } - - print_stack_frames_by_blazesym(stack,nr_allocs); - } -} - - -static void print_frame(const char *name, u64 input_addr, u64 addr, u64 offset, const blaze_symbolize_code_info *code_info) -{ - // If we have an input address we have a new symbol. - if (input_addr != 0) - { - printf("%016lx: %s @ 0x%lx+0x%lx", input_addr, name, addr, offset); - if (cpu_task_stack) { - fprintf(cpu_task_stack, "%016lx: %s @ 0x%lx+0x%lx", input_addr, name, addr, offset); - } - - if (code_info != NULL && code_info->dir != NULL && code_info->file != NULL) - { - printf(" %s/%s:%u\n", code_info->dir, code_info->file, code_info->line); - if (cpu_task_stack) { - fprintf(cpu_task_stack, " %s/%s:%u\n", code_info->dir, code_info->file, code_info->line); - } - } - else if (code_info != NULL && code_info->file != NULL) - { - printf(" %s:%u\n", code_info->file, code_info->line); - if (cpu_task_stack) { - fprintf(cpu_task_stack, " %s:%u\n", code_info->file, code_info->line); - } - } - else - { - printf("\n"); - if (cpu_task_stack) { - fprintf(cpu_task_stack, "\n"); - } - } - } - else - { - printf("%16s %s", "", name); - if (cpu_task_stack) { - fprintf(cpu_task_stack, "%16s %s", "", name); - } - - if (code_info != NULL && code_info->dir != NULL && code_info->file != NULL) - { - printf("@ %s/%s:%u [inlined]\n", code_info->dir, code_info->file, code_info->line); - if (cpu_task_stack) { - fprintf(cpu_task_stack, "@ %s/%s:%u [inlined]\n", code_info->dir, code_info->file, code_info->line); - } - } - else if (code_info != NULL && code_info->file != NULL) - { - printf("@ %s:%u [inlined]\n", code_info->file, code_info->line); - if (cpu_task_stack) { - fprintf(cpu_task_stack, "@ %s:%u [inlined]\n", code_info->file, code_info->line); - } - } - else - { - printf("[inlined]\n"); - if (cpu_task_stack) { - fprintf(cpu_task_stack, "[inlined]\n"); - } - } - } -} - -/*---------------------------cpu部分---------------------------------------*/ -static int cpu_create_csv(){ - int ret; - int num_csv_names = sizeof(cpu_csv_names) / sizeof(cpu_csv_names[0]); - - for(int i=0;idir != NULL && code_info->file != NULL) { - printf(" %s/%s:%u\n", code_info->dir, code_info->file, code_info->line); - } else if (code_info != NULL && code_info->file != NULL) { - printf(" %s:%u\n", code_info->file, code_info->line); - } else { - printf("\n"); - } - } else { - printf("%16s %s", "", name); - if (code_info != NULL && code_info->dir != NULL && code_info->file != NULL) { - printf("@ %s/%s:%u [inlined]\n", code_info->dir, code_info->file, code_info->line); - } else if (code_info != NULL && code_info->file != NULL) { - printf("@ %s:%u [inlined]\n", code_info->file, code_info->line); - } else { - printf("[inlined]\n"); - } - } -} - -// æ‰“å°æ ˆå›žæº¯ -static void cpu_show_stack_trace(uint64_t *stack, int stack_sz, pid_t pid) { - const struct blaze_syms *syms; - const struct blaze_sym *sym; - const struct blaze_symbolize_inlined_fn *inlined; - int i, j; - - assert(sizeof(uintptr_t) == sizeof(uint64_t)); - - if (pid) { - // 用户空间栈回溯的符å·è§£æž - struct blaze_symbolize_src_process src = { - .type_size = sizeof(src), - .pid = pid, - }; - syms = blaze_symbolize_process_abs_addrs(cpu_symbolizer, &src, (const uintptr_t *)stack, stack_sz); - } else { - // 内核空间栈回溯的符å·è§£æž - struct blaze_symbolize_src_kernel src = { - .type_size = sizeof(src), - }; - syms = blaze_symbolize_kernel_abs_addrs(cpu_symbolizer, &src, (const uintptr_t *)stack, stack_sz); - } - - if (syms == NULL) { - printf(" failed to symbolize addresses: %s\n", blaze_err_str(blaze_err_last())); - if (cpu_task_stack) { - fprintf(cpu_task_stack, " failed to symbolize addresses: %s\n", blaze_err_str(blaze_err_last())); - } - return; - } - - for (i = 0; i < stack_sz; i++) { - // æ£€æŸ¥æ ˆåœ°å€æ˜¯å¦ä¸ºæœ‰æ•ˆçš„åœ°å€ - if (stack[i] == 0 || stack[i] == (uintptr_t)-1) { - continue; // è·³è¿‡æ— æ•ˆçš„æ ˆåœ°å€ - } - - if (!syms || syms->cnt <= i || syms->syms[i].name == NULL) { - printf("%016llx: \n", stack[i]); - if (cpu_task_stack) { - fprintf(cpu_task_stack, "%016llx: \n", stack[i]); - } - continue; - } - - sym = &syms->syms[i]; - print_frame(sym->name, stack[i], sym->addr, sym->offset, &sym->code_info); - - // 如果有内è”函数,打å°å†…è”符å·ä¿¡æ¯ - for (j = 0; j < sym->inlined_cnt; j++) { - inlined = &sym->inlined[j]; - print_frame(sym->name, 0, 0, 0, &inlined->code_info); - } - } - - blaze_syms_free(syms); -} - -static int handle_usr_task_cpu_backtrace_event(void *ctx,void *data, size_t data_sz){ - struct task_trace_event *event = data; - - if (event->kstack_sz <= 0 && event->ustack_sz <= 0) - { - printf("The stack size is invalid\n"); - return 1; - } - - printf("COMM: %s (pid=%d)\n", event->comm, event->pid); - if (cpu_task_stack) { - fprintf(cpu_task_stack, "The stack size is invalid\n"); - } - - if (event->kstack_sz > 0) { - printf("Kernel:\n"); - if (cpu_task_stack) { - fprintf(cpu_task_stack, "Kernel:\n"); - } - cpu_show_stack_trace(event->k_stack, event->kstack_sz / sizeof(uint64_t), 0); - } else { - printf("No Kernel Stack\n"); - } - - if (event->ustack_sz > 0) { - printf("Userspace:\n"); - if (cpu_task_stack) { - fprintf(cpu_task_stack, "Userspace:\n"); - } - cpu_show_stack_trace(event->u_stack, event->ustack_sz / sizeof(uint64_t), event->pid); - } else { - printf("No Userspace Stack\n"); - } - - printf("\n"); - return 0; -} - -static int handle_cpu_usage_event(void *ctx,void *data, size_t data_sz){ - struct cpu_usage_stats *stats = data; - float usr = stats->user_percent/100.0f; - float kernel = stats->kernel_percent/100.0f; - float idle = stats->idle_percent/100.0f; - float softirq = stats->irq_percent/100.0f; - float irq = stats->irq_percent / 100.0f; - - if(env_data.std_output){ - printf("CPU ID: %u\n", stats->cpu_id); - printf("User Time: %f\n", usr); - printf("Kernel Time: %f\n", kernel); - printf("Idle Time: %f\n", idle); - printf("Irq Time: %f\n",irq); - printf("Softirq Time: %f\n",softirq); - } - - // 如果ä¸éœ€è¦å¯è§†åŒ–,直接返回 - if (!env_data.visualize) - return 0; - - // 检查 CSV 文件是å¦åˆå§‹åŒ– - if (cpu_csv_files[0] == NULL) { - fprintf(stderr, "Error: CSV file not initialized for CPU usage stats\n"); - return -1; - } - - // 检查文件是å¦ä¸ºç©º - struct stat st; - if (fstat(fileno(cpu_csv_files[0]), &st) == -1) { - perror("Error checking file size"); - return -1; - } - - if (st.st_size == 0) { - // 文件为空,写入列å - fprintf(cpu_csv_files[0], "CPU ID,User Time,Kernel Time,Idle Time,IRQ Time,SoftIRQ Time\n"); - fflush(cpu_csv_files[0]); // ç¡®ä¿æ•°æ®ç«‹å³å†™å…¥æ–‡ä»¶ - } - - // 写入数æ®åˆ° CSV 文件 - fprintf(cpu_csv_files[0], "%u,%f,%f,%f,%f,%f\n", - stats->cpu_id, - usr, - kernel, - idle, - irq, - softirq); - - return 0; -} - -static int handle_usr_task_usage_event(void *ctx,void *data, size_t data_sz){ - struct task_cpu_usage *task = data; - u32 pid = task->task_info.pid; - float total_percent = task->total_percent/1.0f; - float usr_percent = task->user_percent/1.0f; - float kernel_percent = task->kernel_percent/1.0f; - - char comm[TASK_COMM_LEN + 1]; - strncpy(comm,task->task_info.comm,TASK_COMM_LEN); - comm[TASK_COMM_LEN] = '\0'; - - if(env_data.std_output){ - printf("pid: %u\n",pid); - printf("name: %s\n",comm); - printf("total percent: %f",total_percent); - printf("kernel percent: %f",kernel_percent); - printf("usr_percent: %f\n",usr_percent); - } - - // 如果ä¸éœ€è¦å¯è§†åŒ–,直接返回 - if (!env_data.visualize) - return 0; - - // 检查 CSV 文件是å¦åˆå§‹åŒ– - if (cpu_csv_files[1] == NULL) { - fprintf(stderr, "Error: CSV file not initialized for user task usage\n"); - return -1; - } - - // 检查文件是å¦ä¸ºç©º - struct stat st; - if (fstat(fileno(cpu_csv_files[1]), &st) == -1) { - perror("Error checking file size"); - return -1; - } - - if (st.st_size == 0) { - // 文件为空,写入列å - fprintf(cpu_csv_files[1], "PID,Name,Total Percent,Kernel Percent,User Percent\n"); - fflush(cpu_csv_files[1]); // ç¡®ä¿æ•°æ®ç«‹å³å†™å…¥æ–‡ä»¶ - } - - // 写入数æ®åˆ° CSV 文件 - fprintf(cpu_csv_files[1], "%u,%s,%f,%f,%f\n", - pid, - comm, - total_percent, - kernel_percent, - usr_percent); - - return 0; -} - -static int handle_use_process_stat_event(void *ctx,void *data, size_t data_sz){ - struct process_struct *ps = data; - u32 tgid = ps->tgid; - u32 kids_length = ps->kids_length; - float total_percent = ps->total_use_percent/1.0f; - - if(env_data.std_output){ - printf("tgid: %u\n",tgid); - printf("kids_length: %u\n",kids_length); - printf("total percent: %f\n",total_percent); - } - - // 如果ä¸éœ€è¦å¯è§†åŒ–,直接返回 - if (!env_data.visualize) - return 0; - - // 检查 CSV 文件是å¦åˆå§‹åŒ– - if (cpu_csv_files[2] == NULL) { - fprintf(stderr, "Error: CSV file not initialized for process usage stats\n"); - return -1; - } - - // 检查文件是å¦ä¸ºç©º - struct stat st; - if (fstat(fileno(cpu_csv_files[2]), &st) == -1) { - perror("Error checking file size"); - return -1; - } - - if (st.st_size == 0) { - // 文件为空,写入列å - fprintf(cpu_csv_files[2], "TGID,Kids Length,Total Percent\n"); - fflush(cpu_csv_files[2]); // ç¡®ä¿æ•°æ®ç«‹å³å†™å…¥æ–‡ä»¶ - } - - // 写入数æ®åˆ° CSV 文件 - fprintf(cpu_csv_files[2], "%u,%u,%f\n", - tgid, - kids_length, - total_percent); - - return 0; -} - -static int handle_usr_runqlat_event(void *ctx,void *data, size_t data_sz){ - struct runqlat_perf_data *late = data; - for(int i=0;idata[i]); - break; - case 1: - printf("wait less than 4us: %u\n",late->data[i]); - break; - case 2: - printf("wait less than 16us: %u\n",late->data[i]); - break; - case 3: - printf("wait less than 64us: %u\n",late->data[i]); - break; - case 4: - printf("wait less than 256us: %u\n",late->data[i]); - break; - case 5: - printf("wait less than 1ms: %u\n",late->data[i]); - break; - case 6: - printf("wait less than 4ms: %u\n",late->data[i]); - break; - case 7: - printf("wait large than 4ms: %u\n",late->data[i]); - break; - default: - break; - } - } - - // 如果ä¸éœ€è¦å¯è§†åŒ–,直接返回 - if (!env_data.visualize) - return 0; - - // 检查 CSV 文件是å¦åˆå§‹åŒ– - if (cpu_csv_files[3] == NULL) { - fprintf(stderr, "Error: CSV file not initialized for IO wait perf stats\n"); - return -1; - } - - // 检查文件是å¦ä¸ºç©º - struct stat st; - if (fstat(fileno(cpu_csv_files[3]), &st) == -1) { - perror("Error checking file size"); - return -1; - } - - if (st.st_size == 0) { - // 文件为空,写入列å - fprintf(cpu_csv_files[3], "1us,4us,16us,64us,256us,1ms,4ms,4ms+\n"); - fflush(cpu_csv_files[3]); // ç¡®ä¿æ•°æ®ç«‹å³å†™å…¥æ–‡ä»¶ - } - - // 写入数æ®åˆ° CSV 文件 - fprintf(cpu_csv_files[3], "%u,%u,%u,%u,%u,%u,%u,%u\n", - late->data[0], - late->data[1], - late->data[2], - late->data[3], - late->data[4], - late->data[5], - late->data[6], - late->data[7]); - - - return 0; -} - -static int attach_cpu_skel(struct cpu_stats_bpf *skel){ - int err; - - if(init_cpu_symbolizer()!=0) - return -1; - - skel = cpu_stats_bpf__open_and_load(); - if (!skel) { - fprintf(stderr, "Failed to open and load BPF program\n"); - return 1; - } - - int nr_cpu = libbpf_num_possible_cpus(); - if(nr_cpu < 0) - { - fprintf(stderr,"libbpf: get cpu nums failed \n"); - } - - int map_fd = bpf_map__fd(skel->maps.cpu_usr_map); - if(bpf_map_update_elem(map_fd,&zero,&nr_cpu,BPF_ANY) != 0){ - perror("Failed to update nr_cpu_map"); - cpu_stats_bpf__destroy(skel); - return 1; - } - - // struct data_list list = {}; - // map_fd = bpf_map__fd(skel->maps.occupied_list); - // if(bpf_map_update_elem(map_fd,&zero,&list,BPF_ANY)!=0 || bpf_map_update_elem(map_fd,&one,&list,BPF_ANY)!=0){ - // perror("Failed to init occupied_liss"); - // cpu_stats_bpf__destroy(skel); - // return 1; - // } - - // struct hash_table table; - // hash_table_init(&table); - // map_fd = bpf_map__fd(skel->maps.hash_table_model_map); - // if(bpf_map_update_elem(map_fd,&zero,&table,BPF_ANY) != 0){ - // perror("Failed to update hash_table_model_map"); - // cpu_stats_bpf__destroy(skel); - // return 1; - // } - - err = cpu_stats_bpf__attach(skel); - if (err) { - fprintf(stderr, "Failed to attach BPF program: %d\n", err); - return err; - } - - struct bpf_link *link_cpu = attach_perf_event_to_program(skel->progs.handle_cpu_event, 500); // 500 毫秒 - if (!link_cpu) { - return err; - } - skel->links.handle_cpu_event = link_cpu; - - // struct bpf_link *link_task = attach_perf_event_to_program(skel->progs.handle_task_usage_event, 500); // 500 毫秒 - // if (!link_task) { - // return err; - // } - // skel->links.handle_task_usage_event = link_task; - - // struct bpf_link *link_process = attach_perf_event_to_program(skel->progs.handle_process_stat_event,500); - // if(!link_process){ - // return err; - // } - // skel->links.handle_process_stat_event = link_process; - - struct bpf_link *link_runqlat = attach_perf_event_to_program(skel->progs.handle_sys_latency_event,500); - if(!link_runqlat){ - return err; - } - skel->links.handle_sys_latency_event = link_runqlat; - - // struct bpf_link *link_backtrace = attach_perf_event_to_program(skel->progs.handle_task_backtrace_event,500); - // if(!link_backtrace){ - // return err; - // } - - rb_cpu = ring_buffer__new(bpf_map__fd(skel->maps.cpu_usage_buffer), handle_cpu_usage_event, NULL, NULL); - if (!rb_cpu) { - fprintf(stderr, "Failed to create ring buffer\n"); - return err; - } - - rb_task = ring_buffer__new(bpf_map__fd(skel->maps.task_occupied_buffer), handle_usr_task_usage_event, NULL, NULL); - if (!rb_task) { - fprintf(stderr, "Failed to create ring buffer for task usage\n"); - return err; - } - - rb_process = ring_buffer__new(bpf_map__fd(skel->maps.process_occupied_buffer), handle_use_process_stat_event, NULL, NULL); - if(!rb_process){ - fprintf(stderr, "Failed to create ring buffer for process stat\n"); - return err; - } - - rb_runqlat = ring_buffer__new(bpf_map__fd(skel->maps.runqlat_buffer), handle_usr_runqlat_event, NULL, NULL); - if(!rb_runqlat){ - fprintf(stderr, "Failed to create ring buffer for runqlat\n"); - return err; - } - - rb_backtrace = ring_buffer__new(bpf_map__fd(skel->maps.task_backtrace_buffer), handle_usr_task_cpu_backtrace_event, NULL, NULL); - if(!rb_backtrace){ - fprintf(stderr, "Failed to create ring buffer for cpu task backtrace\n"); - return err; - } - - return 0; -} - -static int cpu_ring_buffer_poll(){ - int err; - err = ring_buffer__poll(rb_cpu, 600 /* ms */); - if (err == -EINTR) { - return err; // æ•æ‰åˆ°é€€å‡ºä¿¡å·æ—¶åœæ­¢ - } else if (err < 0) { - fprintf(stderr, "Error polling CPU usage ring buffer: %d\n", err); - return err; - } - - err = ring_buffer__poll(rb_task, 600 /* ms */); - if (err == -EINTR) { - return err; // æ•æ‰åˆ°é€€å‡ºä¿¡å·æ—¶åœæ­¢ - } else if (err < 0) { - fprintf(stderr, "Error polling task usage ring buffer: %d\n", err); - return err; - } - - err = ring_buffer__poll(rb_process, 600 /* ms */); - if (err == -EINTR) { - return err; // æ•æ‰åˆ°é€€å‡ºä¿¡å·æ—¶åœæ­¢ - } else if (err < 0) { - fprintf(stderr, "Error polling process stat ring buffer: %d\n", err); - return err; - } - err = ring_buffer__poll(rb_runqlat, 600 /* ms */); - if (err == -EINTR) { - return err; // æ•æ‰åˆ°é€€å‡ºä¿¡å·æ—¶åœæ­¢ - } else if (err < 0) { - fprintf(stderr, "Error polling process stat ring buffer: %d\n", err); - return err; - } - - err = ring_buffer__poll(rb_backtrace,600); - if (err == -EINTR) { - return err; // æ•æ‰åˆ°é€€å‡ºä¿¡å·æ—¶åœæ­¢ - } else if (err < 0) { - fprintf(stderr, "Error polling process stat ring buffer: %d\n", err); - return err; - } - - return 0; -} - - -static void cpu_resource_clean(){ - if (rb_cpu) - ring_buffer__free(rb_cpu); - if (rb_task) - ring_buffer__free(rb_task); - if (rb_process) - ring_buffer__free(rb_process); - if (rb_runqlat) - ring_buffer__free(rb_runqlat); - - for(int i=0;i + * Copyright (c) 2023 Tejun Heo + */ +#include +#include +#include +#include +#include +#include + +#include "scx_nest.skel.h" +#include "scx_nest.h" +#include "env.h" + +#define SAMPLING_CADENCE_S 2 + +static struct scx_env env = { + .p_remove_ns = 2000 * 1000, // 默认 2000us 转æ¢ä¸ºçº³ç§’ + .r_max = 5, // 默认最大备用核心数 + .r_impatient = 2, // 默认失败次数 + .slice_ns = 20000 * 1000, // 默认时间片 20000us 转æ¢ä¸ºçº³ç§’ + .find_fully_idle = false, // é»˜è®¤ä¸æŸ¥æ‰¾å®Œå…¨ç©ºé—²æ ¸å¿ƒ + .verbose = false, // é»˜è®¤å…³é—­è°ƒè¯•ä¿¡æ¯ +}; + +static void scx_parse_args(int argc, char **argv) { + int opt; + + while ((opt = getopt(argc, argv, "d:m:i:s:Ivh")) != -1) { + switch (opt) { + case 'd': + env.p_remove_ns = strtoull(optarg, NULL, 0) * 1000; + break; + case 'm': + env.r_max = strtoull(optarg, NULL, 0); + break; + case 'i': + env.r_impatient = strtoull(optarg, NULL, 0); + break; + case 's': + env.slice_ns = strtoull(optarg, NULL, 0) * 1000; + break; + case 'I': + env.find_fully_idle = true; + break; + case 'v': + env.verbose = true; + break; + default: + fprintf(stderr, help_fmt, basename(argv[0])); + exit(opt != 'h'); + } + } +} + + +static bool verbose; +static volatile int exit_req; + +static int scx_libbpf_print_fn(enum libbpf_print_level level, const char *format, va_list args) +{ + if (level == LIBBPF_DEBUG && !verbose) + return 0; + return vfprintf(stderr, format, args); +} + +static void sigint_handler(int nest) +{ + exit_req = 1; +} + +struct nest_stat { + const char *label; + enum nest_stat_group group; + enum nest_stat_idx idx; +}; + +#define NEST_ST(__stat, __grp, __desc) { \ + .label = #__stat, \ + .group = __grp, \ + .idx = NEST_STAT(__stat) \ +}, +static struct nest_stat nest_stats[NEST_STAT(NR)] = { +#include "scx_nest_stats_table.h" +}; +#undef NEST_ST + +static void scx_read_stats(struct scx_nest_bpf *skel, u64 *stats) +{ + int nr_cpus = libbpf_num_possible_cpus(); + u64 cnts[NEST_STAT(NR)][nr_cpus]; + u32 idx; + + memset(stats, 0, sizeof(stats[0]) * NEST_STAT(NR)); + + for (idx = 0; idx < NEST_STAT(NR); idx++) { + int ret, cpu; + + ret = bpf_map_lookup_elem(bpf_map__fd(skel->maps.stats), + &idx, cnts[idx]); + if (ret < 0) + continue; + for (cpu = 0; cpu < nr_cpus; cpu++) + stats[idx] += cnts[idx][cpu]; + } +} + +static void print_underline(const char *str) +{ + char buf[64]; + size_t len; + + len = strlen(str); + memset(buf, '-', len); + buf[len] = '\0'; + printf("\n\n%s\n%s\n", str, buf); +} + +static void scx_print_stat_grp(enum nest_stat_group grp) +{ + const char *group; + + switch (grp) { + case STAT_GRP_WAKEUP: + group = "Wakeup stats"; + break; + case STAT_GRP_NEST: + group = "Nest stats"; + break; + case STAT_GRP_CONSUME: + group = "Consume stats"; + break; + default: + group = "Unknown stats"; + break; + } + + print_underline(group); +} + +static void print_active_nests(const struct scx_nest_bpf *skel) +{ + u64 primary = skel->bss->stats_primary_mask; + u64 reserved = skel->bss->stats_reserved_mask; + u64 other = skel->bss->stats_other_mask; + u64 idle = skel->bss->stats_idle_mask; + u32 nr_cpus = skel->rodata->nr_cpus, cpu; + int idx; + char cpus[nr_cpus + 1]; + + memset(cpus, 0, nr_cpus + 1); + print_underline("Masks"); + for (idx = 0; idx < 4; idx++) { + const char *mask_str; + u64 mask, total = 0; + + memset(cpus, '-', nr_cpus); + if (idx == 0) { + mask_str = "PRIMARY"; + mask = primary; + } else if (idx == 1) { + mask_str = "RESERVED"; + mask = reserved; + } else if (idx == 2) { + mask_str = "OTHER"; + mask = other; + } else { + mask_str = "IDLE"; + mask = idle; + } + for (cpu = 0; cpu < nr_cpus; cpu++) { + if (mask & (1ULL << cpu)) { + cpus[cpu] = '*'; + total++; + } + } + printf("%-9s(%2" PRIu64 "): | %s |\n", mask_str, total, cpus); + } +} + +int main(int argc, char **argv) { + struct scx_nest_bpf *skel; + struct bpf_link *link; + __u64 ecode; + + // åˆå§‹åŒ–调试打å°å‡½æ•°å’Œä¿¡å·å¤„ç† + libbpf_set_print(scx_libbpf_print_fn); + signal(SIGINT, sigint_handler); + signal(SIGTERM, sigint_handler); + + // è§£æžå‘½ä»¤è¡Œå‚æ•° + scx_parse_args(argc, argv); + +restart: + skel = SCX_OPS_OPEN(nest_ops, scx_nest_bpf); + + // åˆå§‹åŒ–åªè¯»æ•°æ® + skel->rodata->nr_cpus = libbpf_num_possible_cpus(); + skel->rodata->sampling_cadence_ns = SAMPLING_CADENCE_S * 1000 * 1000 * 1000; + skel->rodata->p_remove_ns = env.p_remove_ns; + skel->rodata->r_max = env.r_max; + skel->rodata->r_impatient = env.r_impatient; + skel->rodata->slice_ns = env.slice_ns; + skel->rodata->find_fully_idle = env.find_fully_idle; + + SCX_OPS_LOAD(skel, nest_ops, scx_nest_bpf, uei); + link = SCX_OPS_ATTACH(skel, nest_ops, scx_nest_bpf); + + while (!exit_req && !UEI_EXITED(skel, uei)) { + u64 stats[NEST_STAT(NR)]; + enum nest_stat_idx i; + enum nest_stat_group last_grp = -1; + + scx_read_stats(skel, stats); + for (i = 0; i < NEST_STAT(NR); i++) { + struct nest_stat *nest_stat = &nest_stats[i]; + if (nest_stat->group != last_grp) { + scx_print_stat_grp(nest_stat->group); + last_grp = nest_stat->group; + } + printf("%s=%" PRIu64 "\n", nest_stat->label, stats[nest_stat->idx]); + } + printf("\n"); + print_active_nests(skel); + printf("\n\n\n"); + fflush(stdout); + sleep(SAMPLING_CADENCE_S); + } + + bpf_link__destroy(link); + ecode = UEI_REPORT(skel, uei); + scx_nest_bpf__destroy(skel); + + if (UEI_ECODE_RESTART(ecode)) + goto restart; + return 0; +} diff --git a/scx_plug b/scx_plug new file mode 100755 index 0000000..ca0b09f Binary files /dev/null and b/scx_plug differ diff --git a/scx_plug.c b/scx_plug.c new file mode 100644 index 0000000..7cd910c --- /dev/null +++ b/scx_plug.c @@ -0,0 +1,710 @@ +#include +#include +#include +#include +#include +#include +#include // flock +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + + +#include "env.h" +#include "proc_data.h" +#include "blazesym.h" +#include "scx_nest.h" + +#include "scx_nest.skel.h" + + +/*----------------------å…±åŒéƒ¨åˆ†---------------------------------*/ +#define MAX_CSV_FILES 10 +static char csv_folder_path[MAX_PATH_LEN]; + +static char visualize_proc_path[MAX_PATH_LEN];// 把ä¸é€‚åˆæ”¾åˆ°promthes的都放到这个文件夹 + +volatile sig_atomic_t stop = 0; + +static time_t boot_time; // 系统å¯åŠ¨æ—¶é—´ + +static u32 zero = 0; +static u32 one = 1; +static int create_perf_event(u32 period_ms); +static struct bpf_link* attach_perf_event_to_program(struct bpf_program *prog, u32 period_ms); + +//static int init_time();// åˆå§‹åŒ–ç³»ç»Ÿå½“å‰æ—¶é—´ +static int get_proc_path(); +static error_t parse_arg(int key, char *arg, struct argp_state *state); + +// ä¿¡å·å¤„ç†å‡½æ•°ï¼Œç”¨äºŽä¼˜é›…åœ°é€€å‡ºç¨‹åº +void handle_sigint(int sig) { + stop = 1; +} + +/*-----------------------------------sched_ext部分--------------------------------*/ +// + +#define SAMPLING_CADENCE_S 2 + +struct scx_nest_bpf *scx_skel = NULL; +struct bpf_link *scx_link = NULL; +struct bpf_link *link_to_cpu_mask = NULL; +struct ring_buffer *rb_cpu_mask = NULL; +u64 ecode; + +int cores = 0;// 核心数 + +int concerned_map_fd[4]; + +FILE *concerned_files[4]; + +const char *concerned_names[] = { + "comm_ignore.txt", + "id_ignore.txt", + "comm_attention.txt", + "id_attention.txt", +}; + +// const char ignore_file[] = "./ignore.txt"; // å°å¿ƒscx_nest误伤的任务 +// const char attention_file[] = "./attention.txt";// è¦åŽ»ç‰¹åˆ«æ³¨æ„的任务 + +const char *sched_txt_names[] = { + "active_nests", + "nest_stats", + }; + +FILE *sched_txt_files[MAX_CSV_FILES]; + +static bool verbose; +static u32 slow_weight = 3; +static u32 slow_count = 0; + +static struct scx_env sched_env = { + .p_remove_ns = 2000 * 1000, // 默认 2000us 转æ¢ä¸ºçº³ç§’ 3000(当剿œ€ä½³) + .r_max = 5, // 默认最大备用核心数 8(当剿œ€ä½³) + .r_impatient = 2, // 默认失败次数 4(当剿œ€ä½³) + .slice_ns = 20000 * 1000, // 默认时间片 20000us 转æ¢ä¸ºçº³ç§’ + .find_fully_idle = false, // é»˜è®¤ä¸æŸ¥æ‰¾å®Œå…¨ç©ºé—²æ ¸å¿ƒ + .verbose = false, // é»˜è®¤å…³é—­è°ƒè¯•ä¿¡æ¯ +}; + +struct nest_stat { + const char *label; + enum nest_stat_group group; + enum nest_stat_idx idx; +}; + +static int scx_libbpf_print_fn(enum libbpf_print_level level, const char *format, va_list args); + +#define NEST_ST(__stat, __grp, __desc) { \ + .label = #__stat, \ + .group = __grp, \ + .idx = NEST_STAT(__stat) \ +}, +static struct nest_stat nest_stats[NEST_STAT(NR)] = { +#include "scx_nest_stats_table.h" +}; +#undef NEST_ST + +static void scx_read_stats(struct scx_nest_bpf *skel, u64 *stats); +static void print_underline(const char *str); +static void scx_print_stat_grp(enum nest_stat_group grp); +static void print_active_nests(const struct scx_nest_bpf *skel); + +static int attach_scx_skel(); +static int scx_operation(); +static void scx_resource_clean(); + +int process_concerned_files(FILE *concerned_files[], int concerned_map_fd[], int num_files); + +static int handle_usr_cpu_mask_event(void *ctx, void *data, size_t data_sz); + +static int sched_create_txt(); + + + +int main(int argc, char **argv){ + int ret; + signal(SIGINT, handle_sigint); + signal(SIGTERM, handle_sigint); + interactive_sched_ext_config(&sched_env); + +restart: + //printf("----------------------------------------\n"); + ret = get_proc_path(); + if(ret != 0) + goto cleanup; + + ret = sched_create_txt(); + if(ret != 0) + goto cleanup; + + ret = attach_scx_skel(); + if(ret != 0) + goto cleanup; + + while(stop == 0){ + ret = scx_operation(); + if(ret != 0) + goto cleanup; + ret = process_concerned_files(concerned_files,concerned_map_fd,4); + if(ret != 0) + goto cleanup; + sleep(1); + } + + +cleanup: + scx_resource_clean(); + + if(scx_skel && UEI_ECODE_RESTART(ecode)) + goto restart; + + return ret; +} + + +/*-----------------------------å…±åŒéƒ¨åˆ†---------------------------------------*/ +static int get_proc_path() { + // 获å–当å‰å·¥ä½œç›®å½• + if (getcwd(visualize_proc_path, sizeof(visualize_proc_path)) == NULL) { + perror("getcwd failed"); + return 1; + } + + // 拼接 "visualize/proc" 文件夹到路径 + strncat(visualize_proc_path, "/visualize/proc", sizeof(visualize_proc_path) - strlen(visualize_proc_path) - 1); + + // 检查 "visualize/proc" 文件夹是å¦å­˜åœ¨ + struct stat st; + if (stat(visualize_proc_path, &st) == 0) { + if (!S_ISDIR(st.st_mode)) { + fprintf(stderr, "Error: %s exists but is not a directory\n", visualize_proc_path); + return 1; + } + } else { + // 文件夹ä¸å­˜åœ¨ï¼Œå°è¯•创建 + if (mkdir(visualize_proc_path, 0755) != 0) { + perror("mkdir failed"); + return 1; + } + } + + return 0; +} + + +static int create_perf_event(u32 period_ms) { + struct perf_event_attr attr = { + .type = PERF_TYPE_SOFTWARE, // 使用软件事件类型 + .config = PERF_COUNT_SW_CPU_CLOCK, // 使用 CPU æ—¶é’Ÿä½œä¸ºè§¦å‘æº + .size = sizeof(struct perf_event_attr), + .sample_period = period_ms * 1000000ULL, // 设置为毫秒级的间隔 + .freq = 0, // 使用固定间隔,而éžé¢‘率 + .wakeup_events = 1, // æ¯æ¬¡è§¦å‘事件 + }; + + // 对所有 CPU 和进程创建事件 + int fd = syscall(__NR_perf_event_open, &attr, -1, 0, -1, 0); + if (fd < 0) { + perror("perf_event_open"); + return -1; + } + return fd; +} + +static struct bpf_link* attach_perf_event_to_program(struct bpf_program *prog, u32 period_ms) { + // 创建 perf event + int perf_fd = create_perf_event(period_ms); + if (perf_fd < 0) { + fprintf(stderr, "Failed to create perf_event\n"); + return NULL; + } + + // å°† perf event 附加到指定的 BPF ç¨‹åº + struct bpf_link *link = bpf_program__attach_perf_event(prog, perf_fd); + if (!link) { + fprintf(stderr, "Failed to attach perf_event to BPF program: %s\n", strerror(errno)); + close(perf_fd); + return NULL; + } + + return link; +} + +/*-----------------------------------------sched_ext部分------------------------------*/ +// 函数:将任务å加载到 eBPF Map 中 +int load_tasks_name_to_map(const char *comm,int map_fd) { + struct comm_info info = {}; + strncpy(info.comm, comm, sizeof(info.comm)); + + // 将任务å加载到 eBPF Map 中 + if(bpf_map_update_elem(map_fd,&info,&zero,BPF_ANY) != 0){ + if(errno == EEXIST){ + return 0; + } + fprintf(stderr, "Failed to update map %d\n", map_fd); + return -1; + } + + return 0; +} + +int load_task_id_to_map(u32 id, int map_fd){ + if(bpf_map_update_elem(map_fd,&id,&zero,BPF_ANY) != 0){ + if(errno == EEXIST){ + return 0; + } + fprintf(stderr, "Failed to update map %d\n", map_fd); + return -1; + } +} + +static int sched_link_txt_to_FILE(){ + char filepath[256]; // 用于存储完整文件路径 + for(int i=0;i<4;i++){ + snprintf(filepath, sizeof(filepath), "./concerned/%s", concerned_names[i]); + + concerned_files[i] = fopen(filepath, "r"); + if (concerned_files[i] == NULL) { + // 打开失败时,打å°é”™è¯¯å¹¶è¿”回 -1 + perror(filepath); + return -1; + } + } + return 0; +} + +static int sched_create_txt() { + int ret; + int num_txt_names = sizeof(sched_txt_names) / sizeof(sched_txt_names[0]); + + for(int i=0;istats_primary_mask; + } else if (idx == 1) { + mask_str = "RESERVED"; + mask = mask_data->stats_reserved_mask; + } else if (idx == 2) { + mask_str = "OTHER"; + mask = mask_data->stats_other_mask; + } else { + mask_str = "IDLE"; + mask = mask_data->stats_idle_mask; + } + for (cpu = 0; cpu < cores; cpu++) { + if (mask & (1ULL << cpu)) { + cpus[cpu] = '*'; + total++; + } + } + printf("%-9s(%2" PRIu64 "): | %s |\n", mask_str, total, cpus); + + if(visual){ + fprintf(sched_txt_files[0], "%-9s(%2" PRIu64 "): | %s |\n", mask_str, total, cpus); + } + } + + if(visual){ + fflush(sched_txt_files[0]); + } +} + + +int process_concerned_files(FILE *concerned_files[], int concerned_map_fd[], int num_files) { + char line[256]; // 用于存储读å–çš„è¡Œæ•°æ® + static long last_offsets[4] = {0}; // ä¿å­˜ä¸Šæ¬¡è¯»å–到的文件åç§»é‡ + int ret; + + for (int i = 0; i < num_files; i++) { + if (concerned_files[i] == NULL) { + fprintf(stderr, "File pointer at index %d is NULL.\n", i); + continue; + } + + // èŽ·å–æ–‡ä»¶æè¿°ç¬¦ + int fd = fileno(concerned_files[i]); + + // å°è¯•åŠ è¯»é” + if (flock(fd, LOCK_SH) != 0) { // 使用共享é”,å…è®¸å…¶ä»–è¯»å–æ“作 + fprintf(stderr, "Failed to acquire lock for file %d: %s. Skipping...\n", i, strerror(errno)); + continue; // 如果无法加é”,跳过该文件 + } + + // 将文件指针移动到上次åç§»ä½ç½® + fseek(concerned_files[i], last_offsets[i], SEEK_SET); + + // é€è¡Œè¯»å–文件 + while (fgets(line, sizeof(line), concerned_files[i]) != NULL) { + line[strcspn(line, "\n")] = '\0'; // 去除æ¢è¡Œç¬¦ + + if (i % 2 == 0) { + // 坹嶿•°ç´¢å¼•文件加载任务åç§° + ret = load_tasks_name_to_map(line, concerned_map_fd[i]); + if (ret < 0) { + fprintf(stderr, "Failed to load tasks name to map for file %d.\n", i); + flock(fd, LOCK_UN); // é‡Šæ”¾é” + return -1; + } + } else { + // 对奇数索引文件加载任务 ID + u32 id = atoi(line); + ret = load_task_id_to_map(id, concerned_map_fd[i]); + if (ret < 0) { + fprintf(stderr, "Failed to load tasks id to map for file %d.\n", i); + flock(fd, LOCK_UN); // é‡Šæ”¾é” + return -1; + } + } + + // 更新文件åç§»é‡ + last_offsets[i] = ftell(concerned_files[i]); + } + + // é‡Šæ”¾é” + flock(fd, LOCK_UN); + } + + return 0; // æˆåŠŸå¤„ç†æ‰€æœ‰æ–‡ä»¶ +} + +static int attach_scx_skel() +{ + int ret; + libbpf_set_print(scx_libbpf_print_fn); + + // 打开concerned的文件 + ret = sched_link_txt_to_FILE(); + if(ret != 0){ + fprintf(stderr, "Failed to link concerned files to FILE\n"); + return -1; + } + + scx_skel = SCX_OPS_OPEN(nest_ops, scx_nest_bpf); + if (!scx_skel) { + fprintf(stderr, "Failed to open SCX skeleton.\n"); + return -1; + } + + //int cores = 0; + if(cores == 0) + { + FILE *fp = popen("grep -c '^processor' /proc/cpuinfo", "r"); + if (fp) { + fscanf(fp, "%d", &cores); + pclose(fp); + } + } + //printf("cores: %d------------------------------------\n", cores); + // åˆå§‹åŒ–åªè¯»æ•°æ® + //scx_skel->rodata->nr_cpus = libbpf_num_possible_cpus(); + scx_skel->rodata->nr_cpus = cores; + scx_skel->rodata->sampling_cadence_ns = SAMPLING_CADENCE_S * 1000 * 1000 * 1000; + scx_skel->rodata->p_remove_ns = sched_env.p_remove_ns; + scx_skel->rodata->r_max = sched_env.r_max; + scx_skel->rodata->r_impatient = sched_env.r_impatient; + scx_skel->rodata->slice_ns = sched_env.slice_ns; + scx_skel->rodata->find_fully_idle = sched_env.find_fully_idle; + + SCX_OPS_LOAD(scx_skel, nest_ops, scx_nest_bpf, uei); + + // 下é¢è¿™é‡Œæ˜¯æ¼”示,对于别的满足filter_inner_map æ ¼å¼çš„map都能放入fliter_map, + // ä½ å¯ä»¥å¾ˆè½»æ¾çš„æŠŠä½ çš„代ç èžåˆåœ¨æˆ‘这里,把è¦å¤„ç†çš„pidæ•´åˆæ•´ä¸ªæˆ‘这个格å¼çš„map,然åŽåƒä¸‹é¢è¿™æ ·ä¼ è¿›æ¥ + + // struct filter_inner_map { + // __uint(type, BPF_MAP_TYPE_HASH); + // __uint(max_entries, 102400); + // __type(key, u32); + // __type(value, u32); + // } template_map SEC(".maps"); + + // int cpu_fd = bpf_map__fd(cpu_skel->maps.thread_occupied_map); + // if(cpu_fd < 0){ + // fprintf(stderr, "Failed to get thread_occupied_map map fd\n"); + // return -1; + // } + // int scx_fd; + // struct bpf_map *map = bpf_object__find_map_by_name(scx_skel->obj, "fliter_map"); + // if (!map) { + // fprintf(stderr, "Failed to find fliter_map\n"); + // return -1; + // } + // scx_fd = bpf_map__fd(map); + // if(scx_fd < 0){ + // fprintf(stderr, "Failed to get fliter_map fd\n"); + // return -1; + // } + + // int ret = bpf_map_update_elem(scx_fd, &zero, &cpu_fd, BPF_ANY); + // if(ret < 0){ + // fprintf(stderr, "Failed to update cpu_filter_ids map\n"); + // return -1; + // } + + concerned_map_fd[0] = bpf_map__fd(scx_skel->maps.comm_ignore_map); + if(concerned_map_fd[0] < 0){ + fprintf(stderr, "Failed to get comm_ignore_map map fd\n"); + return -1; + } + concerned_map_fd[1] = bpf_map__fd(scx_skel->maps.id_ignore_map); + if(concerned_map_fd[1] < 0){ + fprintf(stderr, "Failed to get id_ignore_map map fd\n"); + return -1; + } + concerned_map_fd[2] = bpf_map__fd(scx_skel->maps.comm_attention_map); + if(concerned_map_fd[2] < 0){ + fprintf(stderr, "Failed to get comm_attention_map map fd\n"); + return -1; + } + concerned_map_fd[3] = bpf_map__fd(scx_skel->maps.id_attention_map); + if(concerned_map_fd[3] < 0){ + fprintf(stderr, "Failed to get id_attention_map map fd\n"); + return -1; + } + + ret = process_concerned_files(concerned_files, concerned_map_fd, 4); + if(ret < 0){ + fprintf(stderr, "Failed to process concerned files\n"); + return -1; + } + + link_to_cpu_mask = attach_perf_event_to_program(scx_skel->progs.handle_cpu_mask_event,1000); + if(!link_to_cpu_mask){ + return -1; + } + scx_skel->links.handle_cpu_mask_event = link_to_cpu_mask; + + rb_cpu_mask = ring_buffer__new(bpf_map__fd(scx_skel->maps.cpu_mask_buffer),handle_usr_cpu_mask_event,NULL,NULL); + + scx_link = SCX_OPS_ATTACH(scx_skel, nest_ops, scx_nest_bpf); + + return 0; +} + +static void scx_resource_clean() +{ + if(scx_link) + bpf_link__destroy(scx_link); + if(scx_skel) + { + ecode = UEI_REPORT(scx_skel, uei); + scx_nest_bpf__destroy(scx_skel); + } + if(rb_cpu_mask) + ring_buffer__free(rb_cpu_mask); + for(int i=0;igroup != last_grp) { + scx_print_stat_grp(nest_stat->group); + last_grp = nest_stat->group; + } + printf("%s=%" PRIu64 "\n", nest_stat->label, stats[nest_stat->idx]); + if(visual) + fprintf(sched_txt_files[1], "%s=%" PRIu64 "\n", nest_stat->label, stats[nest_stat->idx]); + + } + printf("\n"); + if(visual) + { + fprintf(sched_txt_files[1], "\n"); + fflush(sched_txt_files[1]); + } + slow_count = 0; + } + + // print_active_nests(scx_skel); + int ret = ring_buffer__poll(rb_cpu_mask, 100); + if(ret < 0) + return -1; + + printf("\n"); + fflush(stdout); +} + +static int scx_libbpf_print_fn(enum libbpf_print_level level, const char *format, va_list args) +{ + if (level == LIBBPF_DEBUG && !verbose) + return 0; + return vfprintf(stderr, format, args); +} + +static void scx_read_stats(struct scx_nest_bpf *skel, u64 *stats) +{ + int nr_cpus = libbpf_num_possible_cpus(); + u64 cnts[NEST_STAT(NR)][nr_cpus]; + u32 idx; + + memset(stats, 0, sizeof(stats[0]) * NEST_STAT(NR)); + + for (idx = 0; idx < NEST_STAT(NR); idx++) { + int ret, cpu; + + ret = bpf_map_lookup_elem(bpf_map__fd(skel->maps.stats), + &idx, cnts[idx]); + if (ret < 0) + continue; + for (cpu = 0; cpu < nr_cpus; cpu++) + stats[idx] += cnts[idx][cpu]; + } +} + +static void print_underline(const char *str) +{ + char buf[64]; + size_t len; + + len = strlen(str); + memset(buf, '-', len); + buf[len] = '\0'; + printf("\n\n%s\n%s\n", str, buf); +} + +static void scx_print_stat_grp(enum nest_stat_group grp) +{ + const char *group; + + switch (grp) { + case STAT_GRP_WAKEUP: + group = "Wakeup stats"; + break; + case STAT_GRP_NEST: + group = "Nest stats"; + break; + case STAT_GRP_CONSUME: + group = "Consume stats"; + break; + default: + group = "Unknown stats"; + break; + } + + print_underline(group); +} + +static void print_active_nests(const struct scx_nest_bpf *skel) +{ + u64 primary = skel->bss->stats_primary_mask; + u64 reserved = skel->bss->stats_reserved_mask; + u64 other = skel->bss->stats_other_mask; + u64 idle = skel->bss->stats_idle_mask; + u32 nr_cpus = skel->rodata->nr_cpus, cpu; + int idx; + char cpus[nr_cpus + 1]; + + memset(cpus, 0, nr_cpus + 1); + + bool visual = sched_txt_files[0] != NULL; + // bool visual = false; + + if(visual){ + fprintf(sched_txt_files[0], "Masks\n"); + fprintf(sched_txt_files[0], "----------------------------------------\n"); + } + + print_underline("Masks"); + for (idx = 0; idx < 4; idx++) { + const char *mask_str; + u64 mask, total = 0; + + memset(cpus, '-', nr_cpus); + if (idx == 0) { + mask_str = "PRIMARY"; + mask = primary; + } else if (idx == 1) { + mask_str = "RESERVED"; + mask = reserved; + } else if (idx == 2) { + mask_str = "OTHER"; + mask = other; + } else { + mask_str = "IDLE"; + mask = idle; + } + for (cpu = 0; cpu < nr_cpus; cpu++) { + if (mask & (1ULL << cpu)) { + cpus[cpu] = '*'; + total++; + } + } + printf("%-9s(%2" PRIu64 "): | %s |\n", mask_str, total, cpus); + + if(visual){ + fprintf(sched_txt_files[0], "%-9s(%2" PRIu64 "): | %s |\n", mask_str, total, cpus); + } + } + + if(visual){ + fflush(sched_txt_files[0]); + } +} \ No newline at end of file diff --git a/sys_spy.c b/sys_spy.c deleted file mode 100644 index 04bc075..0000000 --- a/sys_spy.c +++ /dev/null @@ -1,527 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "cpu_event.h" -#include "mm_event.h" -#include "proc_data.h" - -#include "cpu_stats.skel.h" -#include "mm_stats.skel.h" -#include "blazesym.h" - -// åˆå§‹åŒ–符å·è§£æžå™¨ -static struct blaze_symbolizer *symbolizer; - -// åˆå§‹åŒ–符å·è§£æžå™¨ -static int init_symbolizer() { - symbolizer = blaze_symbolizer_new(); - if (!symbolizer) { - printf("Failed to initialize symbolizer\n"); - return -1; - } - return 0; -} - -// 释放符å·è§£æžå™¨ -static void free_symbolizer() { - if (symbolizer) { - blaze_symbolizer_free(symbolizer); - symbolizer = NULL; - } -} - -static void print_frame(const char *name, uintptr_t input_addr, uintptr_t addr, uint64_t offset, const blaze_symbolize_code_info* code_info) -{ - // å¿½ç•¥æ— æ•ˆçš„æ ˆåœ°å€ - if (addr == 0 || addr == (uintptr_t)-1) { - return; - } - - // If we have an input address we have a new symbol. - if (input_addr != 0) { - printf("%016lx: %s @ 0x%lx+0x%lx", input_addr, name, addr, offset); - if (code_info != NULL && code_info->dir != NULL && code_info->file != NULL) { - printf(" %s/%s:%u\n", code_info->dir, code_info->file, code_info->line); - } else if (code_info != NULL && code_info->file != NULL) { - printf(" %s:%u\n", code_info->file, code_info->line); - } else { - printf("\n"); - } - } else { - printf("%16s %s", "", name); - if (code_info != NULL && code_info->dir != NULL && code_info->file != NULL) { - printf("@ %s/%s:%u [inlined]\n", code_info->dir, code_info->file, code_info->line); - } else if (code_info != NULL && code_info->file != NULL) { - printf("@ %s:%u [inlined]\n", code_info->file, code_info->line); - } else { - printf("[inlined]\n"); - } - } -} - - -// æ‰“å°æ ˆå›žæº¯ -static void show_stack_trace(uint64_t *stack, int stack_sz, pid_t pid) { - const struct blaze_syms *syms; - const struct blaze_sym *sym; - const struct blaze_symbolize_inlined_fn *inlined; - int i, j; - - assert(sizeof(uintptr_t) == sizeof(uint64_t)); - - if (pid) { - // 用户空间栈回溯的符å·è§£æž - struct blaze_symbolize_src_process src = { - .type_size = sizeof(src), - .pid = pid, - }; - syms = blaze_symbolize_process_abs_addrs(symbolizer, &src, (const uintptr_t *)stack, stack_sz); - } else { - // 内核空间栈回溯的符å·è§£æž - struct blaze_symbolize_src_kernel src = { - .type_size = sizeof(src), - }; - syms = blaze_symbolize_kernel_abs_addrs(symbolizer, &src, (const uintptr_t *)stack, stack_sz); - } - - if (syms == NULL) { - printf(" failed to symbolize addresses: %s\n", blaze_err_str(blaze_err_last())); - return; - } - - for (i = 0; i < stack_sz; i++) { - // æ£€æŸ¥æ ˆåœ°å€æ˜¯å¦ä¸ºæœ‰æ•ˆçš„åœ°å€ - if (stack[i] == 0 || stack[i] == (uintptr_t)-1) { - continue; // è·³è¿‡æ— æ•ˆçš„æ ˆåœ°å€ - } - - if (!syms || syms->cnt <= i || syms->syms[i].name == NULL) { - printf("%016llx: \n", stack[i]); - continue; - } - - sym = &syms->syms[i]; - print_frame(sym->name, stack[i], sym->addr, sym->offset, &sym->code_info); - - // 如果有内è”函数,打å°å†…è”符å·ä¿¡æ¯ - for (j = 0; j < sym->inlined_cnt; j++) { - inlined = &sym->inlined[j]; - print_frame(sym->name, 0, 0, 0, &inlined->code_info); - } - } - - blaze_syms_free(syms); -} - -static int handle_usr_task_cpu_backtrace_event(void *ctx,void *data, size_t data_sz){ - struct task_trace_event *event = data; - - if (event->kstack_sz <= 0 && event->ustack_sz <= 0) - { - printf("The stack size is invalid\n"); - return 1; - } - - printf("COMM: %s (pid=%d)\n", event->comm, event->pid); - - if (event->kstack_sz > 0) { - printf("Kernel:\n"); - show_stack_trace(event->k_stack, event->kstack_sz / sizeof(uint64_t), 0); - } else { - printf("No Kernel Stack\n"); - } - - if (event->ustack_sz > 0) { - printf("Userspace:\n"); - show_stack_trace(event->u_stack, event->ustack_sz / sizeof(uint64_t), event->pid); - } else { - printf("No Userspace Stack\n"); - } - - printf("\n"); - return 0; -} - -static int handle_cpu_usage_event(void *ctx,void *data, size_t data_sz){ - struct cpu_usage_stats *stats = data; - float usr = stats->user_percent/100.0f; - float kernel = stats->kernel_percent/100.0f; - float idle = stats->idle_percent/100.0f; - float softirq = stats->irq_percent/100.0f; - float irq = stats->irq_percent / 100.0f; - - printf("CPU ID: %u\n", stats->cpu_id); - printf("User Time: %f\n", usr); - printf("Kernel Time: %f\n", kernel); - printf("Idle Time: %f\n", idle); - printf("Irq Time: %f\n",irq); - printf("Softirq Time: %f\n",softirq); - - return 0; -} - -static int handle_usr_task_usage_event(void *ctx,void *data, size_t data_sz){ - struct task_cpu_usage *task = data; - u32 pid = task->task_info.pid; - float total_percent = task->total_percent/1.0f; - float usr_percent = task->user_percent/1.0f; - float kernel_pericent = task->kernel_percent/1.0f; - - char comm[TASK_COMM_LEN + 1]; - strncpy(comm,task->task_info.comm,TASK_COMM_LEN); - comm[TASK_COMM_LEN] = '\0'; - - printf("pid: %u\n",pid); - printf("name: %s\n",comm); - printf("total percent: %f",total_percent); - printf("kernel percent: %f",kernel_pericent); - printf("usr_percent: %f\n",usr_percent); - - return 0; -} - -static int handle_use_process_stat_event(void *ctx,void *data, size_t data_sz){ - struct process_struct *ps = data; - u32 tgid = ps->tgid; - u32 kis_length = ps->kids_length; - float total_percent = ps->total_use_percent/1.0f; - - printf("tgid: %u\n",tgid); - printf("kids_length: %u\n",kis_length); - printf("total percent: %f\n",total_percent); -} - -static int handle_usr_runqlat_event(void *ctx,void *data, size_t data_sz){ - struct latency_num *late = data; - switch (late->pre_size) - { - case 0: - printf("wait less than 1us: %u\n",late->size); - break; - case 1: - printf("wait less than 4us: %u\n",late->size); - break; - case 2: - printf("wait less than 16us: %u\n",late->size); - break; - case 3: - printf("wait less than 64us: %u\n",late->size); - break; - case 4: - printf("wait less than 256us: %u\n",late->size); - break; - case 5: - printf("wait less than 1ms: %u\n",late->size); - break; - case 6: - printf("wait less than 4ms: %u\n",late->size); - break; - case 7: - printf("wait large than 4ms: %u\n",late->size); - break; - default: - break; - } -} - -static int create_perf_event(u32 period_ms) { - struct perf_event_attr attr = { - .type = PERF_TYPE_SOFTWARE, // 使用软件事件类型 - .config = PERF_COUNT_SW_CPU_CLOCK, // 使用 CPU æ—¶é’Ÿä½œä¸ºè§¦å‘æº - .size = sizeof(struct perf_event_attr), - .sample_period = period_ms * 1000000ULL, // 设置为毫秒级的间隔 - .freq = 0, // 使用固定间隔,而éžé¢‘率 - .wakeup_events = 1, // æ¯æ¬¡è§¦å‘事件 - }; - - // 对所有 CPU 和进程创建事件 - int fd = syscall(__NR_perf_event_open, &attr, -1, 0, -1, 0); - if (fd < 0) { - perror("perf_event_open"); - return -1; - } - return fd; -} - -static struct bpf_link* attach_perf_event_to_program(struct bpf_program *prog, u32 period_ms) { - // 创建 perf event - int perf_fd = create_perf_event(period_ms); - if (perf_fd < 0) { - fprintf(stderr, "Failed to create perf_event\n"); - return NULL; - } - - // å°† perf event 附加到指定的 BPF ç¨‹åº - struct bpf_link *link = bpf_program__attach_perf_event(prog, perf_fd); - if (!link) { - fprintf(stderr, "Failed to attach perf_event to BPF program: %s\n", strerror(errno)); - close(perf_fd); - return NULL; - } - - return link; -} - - -static void handle_lost_events(void *ctx, int cpu, __u64 lost_cnt) { - fprintf(stderr, "Lost %llu events on CPU %d\n", lost_cnt, cpu); -} - -/* -// 用于从 CPU ä¿¡æ¯èŽ·å– CPU 核心数 -static int get_cpu_count() { - FILE *fp = fopen("/proc/cpuinfo", "r"); - if (fp == NULL) { - perror("fopen"); - return -1; - } - - int cpu_count = 0; - char line[256]; - while (fgets(line, sizeof(line), fp)) { - if (strncmp(line, "processor", 9) == 0) { - cpu_count++; - } - } - fclose(fp); - - return cpu_count;/ -}*/ - -int main(int argc, char **argv){ - struct ring_buffer *rb_cpu = NULL; - struct ring_buffer *rb_task = NULL; - struct ring_buffer *rb_process = NULL; - struct ring_buffer *rb_runqlat = NULL; - struct ring_buffer *rb_backtrace = NULL; - struct cpu_stats_bpf *skel; - - if(init_symbolizer()!=0) - return -1; - - int err = 0; - FILE *file = open_meminfo(); - - skel = cpu_stats_bpf__open_and_load(); - if (!skel) { - fprintf(stderr, "Failed to open and load BPF program\n"); - return 1; - } - - int nr_cpu = libbpf_num_possible_cpus(); - if(nr_cpu < 0) - { - fprintf(stderr,"libbpf: get cpu nums failed \n"); - } - - int map_fd = bpf_map__fd(skel->maps.cpu_usr_map); - u32 key = 0; - if(bpf_map_update_elem(map_fd,&key,&nr_cpu,BPF_ANY) != 0){ - perror("Failed to update nr_cpu_map"); - cpu_stats_bpf__destroy(skel); - return 1; - } - - u32 one = 1; - struct data_list list = {}; - map_fd = bpf_map__fd(skel->maps.occupied_list); - if(bpf_map_update_elem(map_fd,&key,&list,BPF_ANY)!=0 || bpf_map_update_elem(map_fd,&one,&list,BPF_ANY)!=0){ - perror("Failed to init occupied_liss"); - cpu_stats_bpf__destroy(skel); - return 1; - } - - struct hash_table table; - hash_table_init(&table); - map_fd = bpf_map__fd(skel->maps.hash_table_model_map); - if(bpf_map_update_elem(map_fd,&key,&table,BPF_ANY) != 0){ - perror("Failed to update hash_table_model_map"); - cpu_stats_bpf__destroy(skel); - return 1; - } - // map_fd = bpf_map__fd(skel->maps.process_occupied_map); - // if(bpf_map_update_elem(map_fd,&key,&table,BPF_ANY) != 0){ - // perror("Failed to update hash_table_model_map"); - // cpu_stats_bpf__destroy(skel); - // return 1; - // } - // map_fd = bpf_map__fd(skel->maps.thread_occupied_map); - // if(bpf_map_update_elem(map_fd,&key,&table,BPF_ANY) != 0){ - // perror("Failed to update hash_table_model_map"); - // cpu_stats_bpf__destroy(skel); - // return 1; - // } - - err = cpu_stats_bpf__attach(skel); - if (err) { - fprintf(stderr, "Failed to attach BPF program: %d\n", err); - goto cleanup; - } - - struct bpf_link *link_cpu = attach_perf_event_to_program(skel->progs.handle_cpu_event, 500); // 500 毫秒 - if (!link_cpu) { - goto cleanup; - } - skel->links.handle_cpu_event = link_cpu; - - struct bpf_link *link_task = attach_perf_event_to_program(skel->progs.handle_task_usage_event, 500); // 500 毫秒 - if (!link_task) { - goto cleanup; - } - skel->links.handle_task_usage_event = link_task; - - struct bpf_link *link_process = attach_perf_event_to_program(skel->progs.handle_process_stat_event,500); - if(!link_process){ - goto cleanup; - } - skel->links.handle_process_stat_event = link_process; - - struct bpf_link *link_runqlat = attach_perf_event_to_program(skel->progs.handle_sys_latency_event,500); - if(!link_runqlat){ - goto cleanup; - } - skel->links.handle_sys_latency_event = link_runqlat; - - struct bpf_link *link_backtrace = attach_perf_event_to_program(skel->progs.handle_task_backtrace_event,500); - if(!link_backtrace){ - goto cleanup; - } - - /*int perf_fd_cpu_usage,perf_fd_task_usage; - // 2. 创建定时 perf_eventï¼Œæ¯ 500 æ¯«ç§’è§¦å‘ - perf_fd_cpu_usage = create_perf_event(500); // 500 毫秒 - if (perf_fd_cpu_usage < 0) { - fprintf(stderr, "Failed to create perf_event\n"); - goto cleanup; - } - - perf_fd_task_usage = create_perf_event(500); - if(perf_fd_task_usage < 0){ - fprintf(stderr, "Failed to create perf_event\n"); - goto cleanup; - } - - err = cpu_stats_bpf__attach(skel); - if (err) { - fprintf(stderr, "Failed to attach BPF program: %d\n", err); - goto cleanup; - } - - struct bpf_link *link_cpu_usage = bpf_program__attach_perf_event(skel->progs.handle_cpu_event, perf_fd_cpu_usage); - if (!link_cpu_usage) { - fprintf(stderr, "Failed to attach perf_event to BPF program: %s\n", strerror(errno)); - goto cleanup; - } - skel->links.handle_cpu_event = link_cpu_usage; - - struct bpf_link *link_task_usage = bpf_program__attach_perf_event(skel->progs.handle_task_usage_event, perf_fd_task_usage); - if (!link_task_usage) { - fprintf(stderr, "Failed to attach perf_event to handle_task_usage_event: %s\n", strerror(errno)); - goto cleanup; - } - skel->links.handle_task_usage_event = link_task_usage;*/ - - rb_cpu = ring_buffer__new(bpf_map__fd(skel->maps.cpu_usage_buffer), handle_cpu_usage_event, NULL, NULL); - if (!rb_cpu) { - fprintf(stderr, "Failed to create ring buffer\n"); - goto cleanup; - } - - rb_task = ring_buffer__new(bpf_map__fd(skel->maps.task_occupied_buffer), handle_usr_task_usage_event, NULL, NULL); - if (!rb_task) { - fprintf(stderr, "Failed to create ring buffer for task usage\n"); - goto cleanup; - } - - rb_process = ring_buffer__new(bpf_map__fd(skel->maps.process_occupied_buffer), handle_use_process_stat_event, NULL, NULL); - if(!rb_process){ - fprintf(stderr, "Failed to create ring buffer for process stat\n"); - goto cleanup; - } - - rb_runqlat = ring_buffer__new(bpf_map__fd(skel->maps.runqlat_buffer), handle_usr_runqlat_event, NULL, NULL); - if(!rb_runqlat){ - fprintf(stderr, "Failed to create ring buffer for runqlat\n"); - goto cleanup; - } - - rb_backtrace = ring_buffer__new(bpf_map__fd(skel->maps.task_backtrace_buffer), handle_usr_task_cpu_backtrace_event, NULL, NULL); - if(!rb_backtrace){ - fprintf(stderr, "Failed to create ring buffer for cpu task backtrace\n"); - goto cleanup; - } - - - printf("Monitoring CPU usage... Press Ctrl+C to stop.\n"); - - while (1) { - // err = ring_buffer__poll(rb_cpu, 600 /* ms */); - // if (err == -EINTR) { - // break; // æ•æ‰åˆ°é€€å‡ºä¿¡å·æ—¶åœæ­¢ - // } else if (err < 0) { - // fprintf(stderr, "Error polling CPU usage ring buffer: %d\n", err); - // break; - // } - - // err = ring_buffer__poll(rb_task, 600 /* ms */); - // if (err == -EINTR) { - // break; // æ•æ‰åˆ°é€€å‡ºä¿¡å·æ—¶åœæ­¢ - // } else if (err < 0) { - // fprintf(stderr, "Error polling task usage ring buffer: %d\n", err); - // break; - // } - - // err = ring_buffer__poll(rb_process, 600 /* ms */); - // if (err == -EINTR) { - // break; // æ•æ‰åˆ°é€€å‡ºä¿¡å·æ—¶åœæ­¢ - // } else if (err < 0) { - // fprintf(stderr, "Error polling process stat ring buffer: %d\n", err); - // break; - // } - // err = ring_buffer__poll(rb_runqlat, 600 /* ms */); - // if (err == -EINTR) { - // break; // æ•æ‰åˆ°é€€å‡ºä¿¡å·æ—¶åœæ­¢ - // } else if (err < 0) { - // fprintf(stderr, "Error polling process stat ring buffer: %d\n", err); - // break; - // } - - err = ring_buffer__poll(rb_backtrace,600); - if (err == -EINTR) { - break; // æ•æ‰åˆ°é€€å‡ºä¿¡å·æ—¶åœæ­¢ - } else if (err < 0) { - fprintf(stderr, "Error polling process stat ring buffer: %d\n", err); - break; - } - //read_meminfo(file); - } - -cleanup: - if (rb_cpu) - ring_buffer__free(rb_cpu); - if (rb_task) - ring_buffer__free(rb_task); - if (rb_process) - ring_buffer__free(rb_process); - if (rb_runqlat) - ring_buffer__free(rb_runqlat); - cpu_stats_bpf__destroy(skel); - fclose(file); - free_symbolizer(); - return err < 0 ? -err : 0; -} \ No newline at end of file diff --git a/sys_spy b/test similarity index 50% rename from sys_spy rename to test index 05952b8..6272af4 100755 Binary files a/sys_spy and b/test differ diff --git a/test.c b/test.c new file mode 100644 index 0000000..df29249 --- /dev/null +++ b/test.c @@ -0,0 +1,51 @@ +#include +#include +#include +#include +#include +#include + +#define FILE_PATH "concerned/comm_attention.txt" + +int main() { + FILE *file; + int fd; + const char *data = "stress-ng\n"; + + // 打开文件 + file = fopen(FILE_PATH, "a"); + if (file == NULL) { + fprintf(stderr, "Failed to open file %s: %s\n", FILE_PATH, strerror(errno)); + return EXIT_FAILURE; + } + + // èŽ·å–æ–‡ä»¶æè¿°ç¬¦ + fd = fileno(file); + + // 自旋获å–å†™é” + while (flock(fd, LOCK_EX) != 0) { + if (errno != EWOULDBLOCK) { + fprintf(stderr, "Failed to acquire lock: %s\n", strerror(errno)); + fclose(file); + return EXIT_FAILURE; + } + // 等待一段时间å†å°è¯• + usleep(100000); // 100ms + } + + // å†™å…¥æ•°æ® + if (fputs(data, file) == EOF) { + fprintf(stderr, "Failed to write to file %s: %s\n", FILE_PATH, strerror(errno)); + flock(fd, LOCK_UN); // é‡Šæ”¾é” + fclose(file); + return EXIT_FAILURE; + } + + printf("Successfully wrote '%s' to %s\n", data, FILE_PATH); + + // 释放é”并关闭文件 + flock(fd, LOCK_UN); + fclose(file); + + return EXIT_SUCCESS; +} diff --git a/test/Makefile b/test/Makefile deleted file mode 100644 index 8e5da9b..0000000 --- a/test/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -CC = gcc -CFLAGS = -Wall -Wextra -LDFLAGS = -lrt - -.PHONY: all clean - -all: test_cpuwatcher sender receiver - -sender: mq_test_sender.c - $(CC) $(CFLAGS) -o sender mq_test_sender.c $(LDFLAGS) - -receiver: mq_test_receiver.c - $(CC) $(CFLAGS) -o receiver mq_test_receiver.c $(LDFLAGS) - -test_cpuwatcher: test_cpuwatcher.c - $(CC) $(CFLAGS) -o test_cpuwatcher test_cpuwatcher.c - -clean: - rm -f test_cpuwatcher sender receiver - # 清除 stress-ng 生æˆçš„临时文件 - rm -rf /tmp-stress-ng* diff --git a/test/mq_test_receiver.c b/test/mq_test_receiver.c deleted file mode 100644 index 2402025..0000000 --- a/test/mq_test_receiver.c +++ /dev/null @@ -1,37 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include - -#define QUEUE_NAME "/test_queue" -#define MSG_SIZE 50 - -int main() { - mqd_t mq; - char msg_buffer[MSG_SIZE]; - unsigned int priority; - - // 打开消æ¯é˜Ÿåˆ— - mq = mq_open(QUEUE_NAME, O_RDONLY); - if (mq == (mqd_t)-1) { - perror("mq_open"); - exit(1); - } - - // æŽ¥æ”¶æ¶ˆæ¯ - while (1) { - if (mq_receive(mq, msg_buffer, MSG_SIZE, &priority) == -1) { - perror("mq_receive"); - break; - } - printf("Received: %s\n", msg_buffer); - } - - // 关闭消æ¯é˜Ÿåˆ— - mq_close(mq); - - return 0; -} diff --git a/test/mq_test_sender.c b/test/mq_test_sender.c deleted file mode 100644 index 43c66e5..0000000 --- a/test/mq_test_sender.c +++ /dev/null @@ -1,49 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include - -#define QUEUE_NAME "/test_queue" -#define MSG_SIZE 50 -#define MAX_MSGS 10 - -int main() { - mqd_t mq; - struct mq_attr attr; - char msg_buffer[MSG_SIZE]; - unsigned int priority = 1; - int i; - - // 设置消æ¯é˜Ÿåˆ—属性 - attr.mq_flags = 0; - attr.mq_maxmsg = MAX_MSGS; - attr.mq_msgsize = MSG_SIZE; - attr.mq_curmsgs = 0; - - // 创建或打开消æ¯é˜Ÿåˆ— - mq = mq_open(QUEUE_NAME, O_CREAT | O_WRONLY, 0644, &attr); - if (mq == (mqd_t)-1) { - perror("mq_open"); - exit(1); - } - - // å‘逿¶ˆæ¯ - for (i = 0;i<60 ; i++) { - sprintf(msg_buffer, "Message %d", i); - if (mq_send(mq, msg_buffer, strlen(msg_buffer) + 1, priority) == -1) { - perror("mq_send"); - break; - } - printf("Sent: %s\n", msg_buffer); - sleep(1); - } - - // 关闭消æ¯é˜Ÿåˆ— - mq_close(mq); - mq_unlink(QUEUE_NAME); - - return 0; -} diff --git a/test/test_cpuwatcher.c b/test/test_cpuwatcher.c deleted file mode 100644 index 806fb55..0000000 --- a/test/test_cpuwatcher.c +++ /dev/null @@ -1,266 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define gettid() syscall(__NR_gettid) - -static struct env { - bool sar_test; - bool cs_delay_test; - bool sc_delay_test; - bool mq_delay_test; - bool preempt_test; - bool schedule_test; - bool mutrace_test1; - bool mutrace_test2; -} env = { - .sar_test = false, - .cs_delay_test = false, - .sc_delay_test = false, - .mq_delay_test = false, - .preempt_test = false, - .schedule_test = false, - .mutrace_test1 = false, - .mutrace_test2 = false, -}; - -const char argp_program_doc[] ="To test cpu_watcher.\n"; - -static const struct argp_option opts[] = { - { "sar", 's', NULL, 0, "To test sar", 0 }, - { "cs_delay", 'c', NULL, 0, "To test cs_delay", 0 }, - { "sc_delay", 'S', NULL, 0, "To test sc_delay", 0 }, - { "mq_delay", 'm', NULL, 0, "To test mq_delay", 0 }, - { "preempt_delay", 'p', NULL, 0, "To test preempt_delay", 0 }, - { "schedule_delay", 'd', NULL, 0, "To test schedule_delay", 0 }, - { "mu_trace_kernel", 'x', NULL, 0, "To test kernel mutrace", 0 }, - { "mu_trace_user", 'u', NULL, 0, "To test user mutrace", 0 }, - { "all", 'a', NULL, 0, "To test all", 0 }, - { NULL, 'h', NULL, OPTION_HIDDEN, "show the full help", 0 }, - {}, -}; - -static error_t parse_arg(int key, char *arg, struct argp_state *state) -{ - (void)arg; - switch (key) { - case 'a': - env.sar_test = true; - env.cs_delay_test = true; - env.mq_delay_test = true; - env.preempt_test = true; - env.sc_delay_test = true; - env.schedule_test = true; - break; - case 's': - env.sar_test = true; - break; - case 'c': - env.cs_delay_test = true; - break; - case 'S': - env.sc_delay_test = true; - break; - case 'm': - env.mq_delay_test = true; - break; - case 'p': - env.preempt_test = true; - break; - case 'd': - env.schedule_test = true; - break; - case 'x': - env.mutrace_test1 = true; - break; - case 'u': - env.mutrace_test2 = true; - break; - case 'h': - argp_state_help(state, stderr, ARGP_HELP_STD_HELP); - break; - default: - return ARGP_ERR_UNKNOWN; - } - - return 0; -} - -void *schedule_stress_test(void *arg) { - (void)arg; - while (1) { - sched_yield(); // 调度函数 - } - return NULL; -} - -void start_schedule_stress_test(int num_threads) { - pthread_t *threads = malloc(num_threads * sizeof(pthread_t)); - for (int i = 0; i < num_threads; i++) { - pthread_create(&threads[i], NULL, schedule_stress_test, NULL); - } - for (int i = 0; i < num_threads; i++) { - pthread_join(threads[i], NULL); - } - free(threads); -} - -void *func(void *arg) -{ - (void)arg; - int tpid; - tpid = gettid(); - printf("新线程pid:%d,ç¡çœ 3såŽé€€å‡º\n",tpid); - sleep(3); - printf("新线程退出\n"); - return NULL; -} - -void input_pid() { - int stop; - int pid = getpid(); - printf("test_proc进程的PID:ã€%d】\n", pid); - printf("è¾“å…¥ä»»æ„æ•°å­—继续程åºçš„è¿è¡Œ:"); - scanf("%d", &stop); // ä½¿ç”¨æ—¶å°†å…¶å–æ¶ˆæ³¨é‡Š - printf("程åºå¼€å§‹æ‰§è¡Œ...\n"); - printf("\n"); -} - -void *mutex_test_thread(void *arg) { - pthread_mutex_t *mutex = (pthread_mutex_t *)arg; - uintptr_t mutex_addr = (uintptr_t)mutex; // 获å–互斥é”çš„åœ°å€ - - for (int i = 0; i < 10; i++) { - pthread_mutex_lock(mutex); - printf("Thread %ld (mutex address: %lu) acquired the mutex\n", - pthread_self(), (unsigned long)mutex_addr); - usleep(rand() % 1000); - pthread_mutex_unlock(mutex); - printf("Thread %ld (mutex address: %lu) released the mutex\n", - pthread_self(), (unsigned long)mutex_addr); - usleep(rand() % 1000); - } - - return NULL; -} - -void start_mutex_test(int num_threads) { - pthread_mutex_t mutex; - pthread_t *threads = malloc(num_threads * sizeof(pthread_t)); - - pthread_mutex_init(&mutex, NULL); - - for (int i = 0; i < num_threads; i++) { - pthread_create(&threads[i], NULL, mutex_test_thread, &mutex); - } - - for (int i = 0; i < num_threads; i++) { - pthread_join(threads[i], NULL); - } - - pthread_mutex_destroy(&mutex); - free(threads); -} - - -int main(int argc, char **argv){ - int err; - static const struct argp argp = { - .options = opts, - .parser = parse_arg, - .doc = argp_program_doc, - }; - - err = argp_parse(&argp, argc, argv, 0, NULL, NULL); - if (err) - return err; - - if(env.sar_test){ - printf("SAR_TEST----------------------------------------------\n"); - //SAR功能测试逻辑:系统上执行混åˆåŽ‹åŠ›æµ‹è¯•ï¼ŒåŒ…æ‹¬4个顺åºè¯»å†™ç¡¬ç›˜çº¿ç¨‹ã€4个IOæ“作线程,æŒç»­15ç§’,观察加压å‰åŽçš„å˜åŒ–。 - char *argvv[] = { "/usr/bin/stress-ng", "--hdd", "4", "--hdd-opts", "wr-seq,rd-seq", "--io", "4", "--timeout", "15s", "--metrics-brief", NULL }; - char *envp[] = { "PATH=/bin", NULL }; - printf("SAR功能测试逻辑:系统上执行混åˆåŽ‹åŠ›æµ‹è¯•ï¼ŒåŒ…æ‹¬4个顺åºè¯»å†™ç¡¬ç›˜çº¿ç¨‹ã€4个IOæ“作线程和4个UDP网络æ“作线程,æŒç»­15ç§’,观察加压å‰åŽçš„å˜åŒ–\n"); - printf("执行指令 stress-ng --hdd 4 --hdd-opts wr-seq,rd-seq --io 4 --udp 4 --timeout 15s --metrics-brief\n"); - execve("/usr/bin/stress-ng", argvv, envp); - perror("execve"); - printf("\n"); - } - - if(env.cs_delay_test){ - printf("CS_DELAY_TEST----------------------------------------------\n"); - //CS_DELAY功能测试逻辑:无é™å¾ªçŽ¯çš„çº¿ç¨‹å‡½æ•°ï¼Œä¸æ–­è°ƒç”¨ sched_yield() æ¥æ”¾å¼ƒ CPU 使用æƒï¼Œæ¨¡æ‹Ÿé«˜è°ƒåº¦è´Ÿè½½ã€‚ - start_schedule_stress_test(10); // 创建10个线程进行调度压力测试 - } - - if(env.sc_delay_test){ - printf("SC_DELAY_TEST----------------------------------------------\n"); - //SC_DELAY功能测试逻辑:创建多个系统调用,观察其å˜åŒ– - const int num_iterations = 1000000; // 系统调用的迭代次数 - for (int i = 0; i < num_iterations; i++) { - getpid(); // 获å–进程ID - getppid(); // 获å–父进程ID - time(NULL); // 获å–当剿—¶é—´ - syscall(SYS_gettid); // 获å–线程ID - } - printf("系统调用压力测试完æˆã€‚\n"); - } - - if(env.mq_delay_test){ - /*mq_delay的测试代ç */ - input_pid(); // 在mq_delay_test中调用 - system("./sender & ./receiver"); - sleep(60); - system("^Z"); - } - - if(env.preempt_test){ - printf("PREEMPT_TEST----------------------------------------------\n"); - //PREEMPT功能测试逻辑:无é™å¾ªçŽ¯çš„çº¿ç¨‹å‡½æ•°ï¼Œä¸æ–­è°ƒç”¨ sched_yield() æ¥æ”¾å¼ƒ CPU 使用æƒï¼Œæ¨¡æ‹Ÿé«˜è°ƒåº¦è´Ÿè½½ã€‚ - start_schedule_stress_test(10); // 创建10个线程进行调度压力测试 - } - - if(env.schedule_test){ - printf("SCHEDULE_TEST----------------------------------------------\n"); - // 调度延迟测试逻辑:创建线程执行 sysbench --threads=32 --time=10 cpu run,观察加压å‰åŽçš„å˜åŒ– - char *argvv[] = { "/usr/bin/sysbench", "--threads=32", "--time=10", "cpu", "run", NULL }; - char *envp[] = { "PATH=/bin", NULL }; - printf("调度延迟测试逻辑:\n"); - printf("执行指令 sysbench --threads=32 --time=10 cpu run\n"); - execve("/usr/bin/sysbench", argvv, envp); - perror("execve"); - printf("\n"); - } - - if(env.mutrace_test1){ - printf("MUTRACE_KERNEL_TEST----------------------------------------------\n"); - //内核æ€äº’æ–¥é”功能测试逻辑:系统上执行混åˆåŽ‹åŠ›æµ‹è¯•ï¼ŒåŒ…æ‹¬4个顺åºè¯»å†™ç¡¬ç›˜çº¿ç¨‹ã€4个IOæ“作线程,æŒç»­15ç§’,观察加压å‰åŽçš„å˜åŒ–。 - char *argvv[] = { "/usr/bin/stress-ng", "--hdd", "4", "--hdd-opts", "wr-seq,rd-seq", "--io", "4", "--timeout", "15s", "--metrics-brief", NULL }; - char *envp[] = { "PATH=/bin", NULL }; - printf("MUTRACE功能测试逻辑:系统上执行混åˆåŽ‹åŠ›æµ‹è¯•ï¼ŒåŒ…æ‹¬4个顺åºè¯»å†™ç¡¬ç›˜çº¿ç¨‹ã€4个IOæ“作线程和4个UDP网络æ“作线程,æŒç»­15ç§’,观察加压å‰åŽçš„å˜åŒ–\n"); - printf("执行指令 stress-ng --hdd 4 --hdd-opts wr-seq,rd-seq --io 4 --udp 4 --timeout 15s --metrics-brief\n"); - execve("/usr/bin/stress-ng", argvv, envp); - perror("execve"); - printf("\n"); - } - - - if(env.mutrace_test2){ - printf("MUTRACE_USER_TEST----------------------------------------------\n"); - printf("测试场景: 创建多个线程,æ¯ä¸ªçº¿ç¨‹åå¤åŠ é”和解é”åŒä¸€ä¸ªäº’æ–¥é”,观察互斥é”的争用情况\n"); - start_mutex_test(10); // 创建10ä¸ªçº¿ç¨‹è¿›è¡Œäº’æ–¥é”æµ‹è¯• - printf("测试结æŸ\n"); - printf("\n"); - - } - return 0; -} diff --git a/visualize/.idea/.gitignore b/visualize/.idea/.gitignore deleted file mode 100644 index 35410ca..0000000 --- a/visualize/.idea/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -# 默认忽略的文件 -/shelf/ -/workspace.xml -# 基于编辑器的 HTTP 客户端请求 -/httpRequests/ -# Datasource local storage ignored files -/dataSources/ -/dataSources.local.xml diff --git a/visualize/.idea/inspectionProfiles/Project_Default.xml b/visualize/.idea/inspectionProfiles/Project_Default.xml deleted file mode 100644 index 1464605..0000000 --- a/visualize/.idea/inspectionProfiles/Project_Default.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - \ No newline at end of file diff --git a/visualize/.idea/inspectionProfiles/profiles_settings.xml b/visualize/.idea/inspectionProfiles/profiles_settings.xml deleted file mode 100644 index 105ce2d..0000000 --- a/visualize/.idea/inspectionProfiles/profiles_settings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/visualize/.idea/misc.xml b/visualize/.idea/misc.xml deleted file mode 100644 index a6cf1e8..0000000 --- a/visualize/.idea/misc.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/visualize/.idea/vcs.xml b/visualize/.idea/vcs.xml deleted file mode 100644 index 6c0b863..0000000 --- a/visualize/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/visualize/.idea/visualize.iml b/visualize/.idea/visualize.iml deleted file mode 100644 index ec63674..0000000 --- a/visualize/.idea/visualize.iml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - \ No newline at end of file diff --git a/visualize/cpu_data_analyse.py b/visualize/cpu_data_analyse.py deleted file mode 100644 index 8fdc8a8..0000000 --- a/visualize/cpu_data_analyse.py +++ /dev/null @@ -1,279 +0,0 @@ -import os -import time -import pandas as pd -from prometheus_client import CollectorRegistry, Counter, Gauge, push_to_gateway -import threading - -def monitor_and_push(csv_file, update_function, check_interval=0.5, gateway="http://localhost:9091"): - last_size = 0 # 上次处ç†çš„行数 - - while True: - try: - # 检查文件是å¦å­˜åœ¨ - if not os.path.exists(csv_file): - print(f"File {csv_file} does not exist. Retrying...") - time.sleep(check_interval) - continue - - # 获å–当剿–‡ä»¶çš„æ€»è¡Œæ•° - current_size = sum(1 for _ in open(csv_file)) - print(f"Monitoring {csv_file}: last_size={last_size}, current_size={current_size}") - - # 如果有新增数æ®è¡Œ - if current_size > last_size: - new_rows = current_size - last_size - print(f"New data detected in {csv_file}: {new_rows} new rows.") - - # è¯»å–æ–°å¢žçš„部分 - new_data = pd.read_csv( - csv_file, - skiprows=range(1, last_size + 1), # è·³è¿‡å‰ `last_size` 行 - header=0 # 第一行为标题行 - ) - - # 调用更新函数 - update_function(new_data, gateway) - - # 更新记录的行数 - last_size = current_size - - time.sleep(check_interval) - - except Exception as e: - print(f"Error while monitoring {csv_file}: {type(e).__name__}, {e}") - time.sleep(check_interval) - - -def update_cpu_usage(new_data, gateway): - """ - æ›´æ–° CPU 使用数æ®åˆ° Prometheus。 - - 傿•°: - - new_data: pandas DataFrame,包å«å­—段 ["CPU ID", "User Time", "Kernel Time", "Idle Time", "IRQ Time", "SoftIRQ Time"] - - gateway: Pushgateway çš„ URL - """ - # åˆå§‹åŒ– Prometheus 注册表 - registry = CollectorRegistry() - - # 定义 Prometheus 指标 - cpu_user_time = Gauge( - "cpu_user_time_seconds", - "CPU time spent in user mode", - ["cpu_id"], - registry=registry - ) - - cpu_kernel_time = Gauge( - "cpu_kernel_time_seconds", - "CPU time spent in kernel mode", - ["cpu_id"], - registry=registry - ) - - cpu_idle_time = Gauge( - "cpu_idle_time_seconds", - "CPU time spent idle", - ["cpu_id"], - registry=registry - ) - - cpu_irq_time = Gauge( - "cpu_irq_time_seconds", - "CPU time spent servicing IRQs", - ["cpu_id"], - registry=registry - ) - - cpu_softirq_time = Gauge( - "cpu_softirq_time_seconds", - "CPU time spent servicing soft IRQs", - ["cpu_id"], - registry=registry - ) - - # é历数æ®è¡Œå¹¶æ›´æ–°æŒ‡æ ‡ - for _, row in new_data.iterrows(): - try: - # èŽ·å– CPU ID å’Œå„ä¸ªæ—¶é—´æ®µçš„æ•°æ® - cpu_id = str(row["CPU ID"]) # CPU ID 转为字符串 - user_time = row["User Time"] - kernel_time = row["Kernel Time"] - idle_time = row["Idle Time"] - irq_time = row["IRQ Time"] - softirq_time = row["SoftIRQ Time"] - - # 设置 Prometheus 指标值 - cpu_user_time.labels(cpu_id=cpu_id).set(user_time) - cpu_kernel_time.labels(cpu_id=cpu_id).set(kernel_time) - cpu_idle_time.labels(cpu_id=cpu_id).set(idle_time) - cpu_irq_time.labels(cpu_id=cpu_id).set(irq_time) - cpu_softirq_time.labels(cpu_id=cpu_id).set(softirq_time) - - except KeyError as ke: - print(f"KeyError while processing CPU usage data: {ke}") - except Exception as e: - print(f"Unexpected error: {e}") - - # æŽ¨é€æ•°æ®åˆ° Prometheus Pushgateway - try: - push_to_gateway(gateway, job="cpu_usage_stats", registry=registry) - print("CPU usage stats successfully pushed to Prometheus.") - except Exception as e: - print(f"Error while pushing to Prometheus: {e}") - -def update_task_usage(new_data, gateway): - """ - 更新任务 CPU 使用情况数æ®åˆ° Prometheus。 - - 傿•°: - - new_data: pandas DataFrameï¼ŒåŒ…å« ["PID", "Name", "Total Percent", "Kernel Percent", "User Percent"] - - gateway: Pushgateway çš„ URL。 - """ - # åˆå§‹åŒ– Prometheus 注册表 - registry = CollectorRegistry() - - # 定义 Prometheus 指标 - total_usage = Gauge( - "task_total_cpu_usage_percent", - "Total CPU usage percent for tasks", - ["pid", "name"], - registry=registry - ) - - kernel_usage = Gauge( - "task_kernel_cpu_usage_percent", - "CPU usage percent in kernel mode for tasks", - ["pid", "name"], - registry=registry - ) - - user_usage = Gauge( - "task_user_cpu_usage_percent", - "CPU usage percent in user mode for tasks", - ["pid", "name"], - registry=registry - ) - - # é历数æ®è¡Œå¹¶æ›´æ–°æŒ‡æ ‡ - for _, row in new_data.iterrows(): - try: - # æå–æ•°æ® - pid = str(row["PID"]) - name = row["Name"] - total_percent = row["Total Percent"] - kernel_percent = row["Kernel Percent"] - user_percent = row["User Percent"] - - # 设置指标值 - total_usage.labels(pid=pid, name=name).set(total_percent) - kernel_usage.labels(pid=pid, name=name).set(kernel_percent) - user_usage.labels(pid=pid, name=name).set(user_percent) - - except KeyError as ke: - print(f"KeyError while processing task usage data: {ke}") - except Exception as e: - print(f"Unexpected error: {e}") - - # æŽ¨é€æ•°æ®åˆ° Prometheus Pushgateway - try: - push_to_gateway(gateway, job="task_usage_stats", registry=registry) - print("Task usage stats successfully pushed to Prometheus.") - except Exception as e: - print(f"Error while pushing to Prometheus: {e}") - -def update_process_stat(new_data, gateway): - """ - 更新进程统计数æ®åˆ° Prometheus。 - - 傿•°: - - new_data: pandas DataFrameï¼ŒåŒ…å« ["TGID", "Kids Length", "Total Percent"] - - gateway: Pushgateway çš„ URL。 - """ - # åˆå§‹åŒ– Prometheus 注册表 - registry = CollectorRegistry() - - # 定义 Prometheus 指标 - process_kids_length = Gauge( - "process_kids_length", - "Number of child processes (Kids Length)", - ["tgid"], - registry=registry - ) - - process_total_percent = Gauge( - "process_total_cpu_percent", - "Total CPU usage percentage for process", - ["tgid"], - registry=registry - ) - - # é历数æ®è¡Œå¹¶æ›´æ–°æŒ‡æ ‡ - for _, row in new_data.iterrows(): - try: - # æå–æ•°æ® - tgid = str(row["TGID"]) # TGID 转为字符串 - kids_length = row["Kids Length"] - total_percent = row["Total Percent"] - - # 设置 Prometheus 指标值 - process_kids_length.labels(tgid=tgid).set(kids_length) - process_total_percent.labels(tgid=tgid).set(total_percent) - - except KeyError as ke: - print(f"KeyError while processing process stats: {ke}") - except Exception as e: - print(f"Unexpected error: {e}") - - # æŽ¨é€æ•°æ®åˆ° Prometheus Pushgateway - try: - push_to_gateway(gateway, job="process_stats", registry=registry) - print("Process stats successfully pushed to Prometheus.") - except Exception as e: - print(f"Error while pushing to Prometheus: {e}") - - - -def update_runqlat(new_data, gateway): - """ - æ›´æ–°è¿è¡Œé˜Ÿåˆ—延迟数æ®åˆ° Prometheus。 - - 傿•°: - - new_data: pandas DataFrameï¼ŒåŒ…å« ["1us", "4us", "16us", "64us", "256us", "1ms", "4ms", "4ms+"] - - gateway: Pushgateway çš„ URL。 - """ - # åˆå§‹åŒ– Prometheus 注册表 - registry = CollectorRegistry() - - # 定义 Prometheus 指标 - runqlat_gauge = Gauge( - "runqlat_distribution", - "Run queue latency distribution", - ["time_range", "row_index"], - registry=registry - ) - - # 定义时间范围标签(列å) - time_ranges = ["1us", "4us", "16us", "64us", "256us", "1ms", "4ms", "4ms+"] - - # é历数æ®è¡Œå’Œæ—¶é—´èŒƒå›´ï¼Œæ›´æ–°æŒ‡æ ‡ - for row_index, row in new_data.iterrows(): - try: - for time_range in time_ranges: - # 设置 Prometheus 指标值 - runqlat_gauge.labels(time_range=time_range, row_index=str(row_index)).set(row[time_range]) - except KeyError as ke: - print(f"KeyError while processing runqlat data: {ke}") - except Exception as e: - print(f"Unexpected error: {e}") - - # æŽ¨é€æ•°æ®åˆ° Prometheus Pushgateway - try: - push_to_gateway(gateway, job="runqlat_stats", registry=registry) - print("Run queue latency stats successfully pushed to Prometheus.") - except Exception as e: - print(f"Error while pushing to Prometheus: {e}") - -threading.Thread(target=monitor_and_push, args=("run/cpu_usage.csv", update_cpu_usage ,0.8)).start() -threading.Thread(target=monitor_and_push, args=("run/task_usage.csv", update_task_usage,0.5)).start() -threading.Thread(target=monitor_and_push, args=("run/process_stat.csv",update_process_stat , 1.0)).start() -threading.Thread(target=monitor_and_push, args=("run/runqlat.csv", update_runqlat ,0.5)).start() \ No newline at end of file diff --git a/visualize/io_data_analyse.py b/visualize/io_data_analyse.py deleted file mode 100644 index 953c4a9..0000000 --- a/visualize/io_data_analyse.py +++ /dev/null @@ -1,191 +0,0 @@ -import os -import time -import pandas as pd -from prometheus_client import CollectorRegistry, Counter, Gauge, push_to_gateway -import threading - -def monitor_and_push(csv_file, update_function, check_interval=0.5, gateway="http://localhost:9091"): - last_size = 0 # 上次处ç†çš„行数 - - while True: - try: - # 检查文件是å¦å­˜åœ¨ - if not os.path.exists(csv_file): - print(f"File {csv_file} does not exist. Retrying...") - time.sleep(check_interval) - continue - - # 获å–当剿–‡ä»¶çš„æ€»è¡Œæ•° - current_size = sum(1 for _ in open(csv_file)) - print(f"Monitoring {csv_file}: last_size={last_size}, current_size={current_size}") - - # 如果有新增数æ®è¡Œ - if current_size > last_size: - new_rows = current_size - last_size - print(f"New data detected in {csv_file}: {new_rows} new rows.") - - # è¯»å–æ–°å¢žçš„部分 - new_data = pd.read_csv( - csv_file, - skiprows=range(1, last_size + 1), # è·³è¿‡å‰ `last_size` 行 - header=0 # 第一行为标题行 - ) - - # 调用更新函数 - update_function(new_data, gateway) - - # 更新记录的行数 - last_size = current_size - - time.sleep(check_interval) - - except Exception as e: - print(f"Error while monitoring {csv_file}: {type(e).__name__}, {e}") - time.sleep(check_interval) - - -def update_io_task_stats(new_data, gateway): - """ - æ›´æ–° IO 任务统计数æ®åˆ° Prometheus。 - - 傿•°: - - new_data: pandas DataFrame,包å«å­—段 ["PID", "Command", "Read Count", "Write Count"] - - gateway: Pushgateway çš„ URL - """ - # åˆå§‹åŒ– Prometheus 注册表 - registry = CollectorRegistry() - - # 定义 Prometheus 指标 - io_read_count = Gauge( - "io_task_read_count", - "I/O task read count", - ["pid", "command"], - registry=registry - ) - - io_write_count = Gauge( - "io_task_write_count", - "I/O task write count", - ["pid", "command"], - registry=registry - ) - - # é历新增数æ®å¹¶æ›´æ–°æŒ‡æ ‡ - for _, row in new_data.iterrows(): - try: - # ä»Žè¡Œä¸­èŽ·å–æ•°æ® - pid = str(row["PID"]) # ç¡®ä¿ä¸ºå­—符串 - command = row["Command"] - read_count = row["Read Count"] - write_count = row["Write Count"] - - # 更新指标值 - io_read_count.labels(pid=pid, command=command).set(read_count) - io_write_count.labels(pid=pid, command=command).set(write_count) - - except KeyError as ke: - print(f"KeyError while processing IO task stats: {ke}") - except Exception as e: - print(f"Unexpected error: {e}") - - # 推é€åˆ° Prometheus Pushgateway - try: - push_to_gateway(gateway, job="io_task_stats", registry=registry) - print("IO task stats successfully pushed to Prometheus.") - except Exception as e: - print(f"Error while pushing to Prometheus: {e}") - - -def update_io_process_stats(new_data, gateway): - """ - æ›´æ–° IO 进程统计数æ®åˆ° Prometheus。 - - 傿•°: - - new_data: pandas DataFrame,包å«å­—段 ["TGID", "Read Count", "Write Count"] - - gateway: Pushgateway çš„ URL - """ - # åˆå§‹åŒ– Prometheus 注册表 - registry = CollectorRegistry() - - # 定义 Prometheus 指标 - io_process_read_count = Gauge( - "io_process_read_count", - "I/O process read count", - ["tgid"], - registry=registry - ) - - io_process_write_count = Gauge( - "io_process_write_count", - "I/O process write count", - ["tgid"], - registry=registry - ) - - # é历数æ®è¡Œå¹¶æ›´æ–°æŒ‡æ ‡ - for _, row in new_data.iterrows(): - try: - # 从行中æå–æ•°æ® - tgid = str(row["TGID"]) # ç¡®ä¿ TGID 为字符串 - read_count = row["Read Count"] - write_count = row["Write Count"] - - # 设置指标值 - io_process_read_count.labels(tgid=tgid).set(read_count) - io_process_write_count.labels(tgid=tgid).set(write_count) - - except KeyError as ke: - print(f"KeyError while processing IO process stats: {ke}") - except Exception as e: - print(f"Unexpected error: {e}") - - # æŽ¨é€æ•°æ®åˆ° Prometheus Pushgateway - try: - push_to_gateway(gateway, job="io_process_stats", registry=registry) - print("IO process stats successfully pushed to Prometheus.") - except Exception as e: - print(f"Error while pushing to Prometheus: {e}") - -def update_iowait(new_data, gateway): - """ - æ›´æ–° IO 等待分布数æ®åˆ° Prometheus。 - - 傿•°: - - new_data: pandas DataFrame,包å«å„时间段的等待数æ®åˆ—。 - - gateway: Pushgateway çš„ URL。 - """ - # åˆå§‹åŒ– Prometheus 注册表 - registry = CollectorRegistry() - - # 定义 Prometheus 指标 - iowait_distribution = Gauge( - "iowait_distribution", - "I/O wait distribution across different time ranges", - ["range"], - registry=registry - ) - - # 定义时间范围标签(列å) - time_ranges = ["1us", "4us", "16us", "64us", "256us", "1ms", "4ms", "4ms+"] - - # é历数æ®è¡Œå¹¶æ›´æ–°æŒ‡æ ‡ - for _, row in new_data.iterrows(): - try: - # é历æ¯ä¸ªæ—¶é—´èŒƒå›´ï¼Œå¹¶è®¾ç½®å¯¹åº”的指标 - for time_range in time_ranges: - iowait_distribution.labels(range=time_range).set(row[time_range]) - except KeyError as ke: - print(f"KeyError while processing IO wait stats: {ke}") - except Exception as e: - print(f"Unexpected error: {e}") - - # æŽ¨é€æ•°æ®åˆ° Prometheus Pushgateway - try: - push_to_gateway(gateway, job="iowait_stats", registry=registry) - print("IO wait stats successfully pushed to Prometheus.") - except Exception as e: - print(f"Error while pushing to Prometheus: {e}") - -threading.Thread(target=monitor_and_push, args=("run/io_task.csv", update_io_task_stats ,0.5)).start() -threading.Thread(target=monitor_and_push, args=("run/io_process.csv", update_io_process_stats,0.8)).start() -threading.Thread(target=monitor_and_push, args=("run/iowait.csv",update_iowait , 1.0)).start() \ No newline at end of file diff --git a/visualize/mm_data_analyse.py b/visualize/mm_data_analyse.py deleted file mode 100644 index 6d80840..0000000 --- a/visualize/mm_data_analyse.py +++ /dev/null @@ -1,46 +0,0 @@ -import os -import time -import pandas as pd -from prometheus_client import CollectorRegistry, Counter, Gauge, push_to_gateway -import threading - -def monitor_and_push(csv_file, update_function, check_interval=0.5, gateway="http://localhost:9091"): - last_size = 0 # 上次处ç†çš„行数 - - while True: - try: - # 检查文件是å¦å­˜åœ¨ - if not os.path.exists(csv_file): - print(f"File {csv_file} does not exist. Retrying...") - time.sleep(check_interval) - continue - - # 获å–当剿–‡ä»¶çš„æ€»è¡Œæ•° - current_size = sum(1 for _ in open(csv_file)) - print(f"Monitoring {csv_file}: last_size={last_size}, current_size={current_size}") - - # 如果有新增数æ®è¡Œ - if current_size > last_size: - new_rows = current_size - last_size - print(f"New data detected in {csv_file}: {new_rows} new rows.") - - # è¯»å–æ–°å¢žçš„部分 - new_data = pd.read_csv( - csv_file, - skiprows=range(1, last_size + 1), # è·³è¿‡å‰ `last_size` 行 - header=0 # 第一行为标题行 - ) - - # 调用更新函数 - update_function(new_data, gateway) - - # 更新记录的行数 - last_size = current_size - - time.sleep(check_interval) - - except Exception as e: - print(f"Error while monitoring {csv_file}: {type(e).__name__}, {e}") - time.sleep(check_interval) - - diff --git a/visualize/net_data_analyse.py b/visualize/net_data_analyse.py deleted file mode 100644 index 85b43da..0000000 --- a/visualize/net_data_analyse.py +++ /dev/null @@ -1,191 +0,0 @@ -import os -import time -import pandas as pd -from prometheus_client import CollectorRegistry, Counter, Gauge, push_to_gateway -import threading - -def monitor_and_push(csv_file, update_function, check_interval=0.5, gateway="http://localhost:9091"): - last_size = 0 # 上次处ç†çš„行数 - - while True: - try: - # 检查文件是å¦å­˜åœ¨ - if not os.path.exists(csv_file): - print(f"File {csv_file} does not exist. Retrying...") - time.sleep(check_interval) - continue - - # 获å–当剿–‡ä»¶çš„æ€»è¡Œæ•° - current_size = sum(1 for _ in open(csv_file)) - print(f"Monitoring {csv_file}: last_size={last_size}, current_size={current_size}") - - # 如果有新增数æ®è¡Œ - if current_size > last_size: - new_rows = current_size - last_size - print(f"New data detected in {csv_file}: {new_rows} new rows.") - - # è¯»å–æ–°å¢žçš„部分 - new_data = pd.read_csv( - csv_file, - skiprows=range(1, last_size + 1), # è·³è¿‡å‰ `last_size` 行 - header=0 # 第一行为标题行 - ) - - # 调用更新函数 - update_function(new_data, gateway) - - # 更新记录的行数 - last_size = current_size - - time.sleep(check_interval) - - except Exception as e: - print(f"Error while monitoring {csv_file}: {type(e).__name__}, {e}") - time.sleep(check_interval) - -def update_delay_data(new_data, gateway): - """ - 更新网络延迟数æ®åˆ° Prometheus。 - """ - # åˆå§‹åŒ– Prometheus 注册表 - registry = CollectorRegistry() - - # 定义 Prometheus 指标 - network_delay = Gauge( - "network_delay_microseconds", - "Network delay in microseconds", - ["pid", "comm"], - registry=registry - ) - - # é历新增数æ®å¹¶æ›´æ–°æŒ‡æ ‡ - for _, row in new_data.iterrows(): - try: - # ä»Žè¡Œä¸­èŽ·å–æ•°æ® - pid = str(row["PID"]) # ç¡®ä¿æŒ‰åˆ—å访问 - comm = row["Comm"] - delay_us = row["Delay_us"] - - # 设置指标值 - network_delay.labels(pid=pid, comm=comm).set(delay_us) - - except KeyError as ke: - print(f"KeyError while processing delay data: {ke}") - except Exception as e: - print(f"Unexpected error: {e}") - - # 推é€åˆ° Prometheus Pushgateway - try: - push_to_gateway(gateway, job="network_delay", registry=registry) - except Exception as e: - print(f"Error while pushing to Prometheus: {e}") - -def update_state_data(new_data, gateway): - """ - 更新网络状æ€å˜åŒ–æ•°æ®åˆ° Prometheus。 - """ - # åˆå§‹åŒ– Prometheus 注册表 - registry = CollectorRegistry() - - # 定义 Prometheus Counter 指标 - network_state_changes = Counter( - "network_state_changes", - "Count of network state changes", - [ - "pid", "comm", "state", "event_type", - "source_ip", "source_port", - "destination_ip", "destination_port" - ], - registry=registry - ) - - # é历新增数æ®å¹¶æ›´æ–°æŒ‡æ ‡ - for _, row in new_data.iterrows(): - try: - # ä»Žè¡Œä¸­èŽ·å–æ•°æ® - pid = str(row["PID"]) # 转为字符串类型 - comm = row["Comm"] - state = row["State"] - event_type = str(row["Event_Type"]) # 转为字符串类型 - source_ip = row["Source_IP"] - source_port = str(row["Source_Port"]) # 转为字符串类型 - destination_ip = row["Destination_IP"] - destination_port = str(row["Destination_Port"]) # 转为字符串类型 - - # æ›´æ–° Prometheus 指标 - network_state_changes.labels( - pid=pid, - comm=comm, - state=state, - event_type=event_type, - source_ip=source_ip, - source_port=source_port, - destination_ip=destination_ip, - destination_port=destination_port - ).inc() - - except KeyError as ke: - print(f"KeyError while processing state data: {ke}") - except Exception as e: - print(f"Unexpected error: {e}") - - # 推é€åˆ° Prometheus Pushgateway - try: - push_to_gateway(gateway, job="network_state_changes", registry=registry) - except Exception as e: - print(f"Error while pushing to Prometheus: {e}") - - - -def update_traffic_data(new_data, gateway): - """ - 更新网络æµé‡æ•°æ®åˆ° Prometheus。 - """ - # åˆå§‹åŒ– Prometheus 注册表 - registry = CollectorRegistry() - - # 定义 Prometheus Counter 指标 - sent_bytes = Counter( - "network_sent_bytes", - "Total bytes sent over the network", - ["pid", "comm"], # æ ¹æ®å®žé™…æ•°æ®è°ƒæ•´æ ‡ç­¾ - registry=registry - ) - - received_bytes = Counter( - "network_received_bytes", - "Total bytes received over the network", - ["pid", "comm"], # æ ¹æ®å®žé™…æ•°æ®è°ƒæ•´æ ‡ç­¾ - registry=registry - ) - - # é历新增数æ®å¹¶æ›´æ–°æŒ‡æ ‡ - for _, row in new_data.iterrows(): - try: - pid = str(row["PID"]) # 从列åè®¿é—®æ•°æ® - comm = row["Comm"] - sent = row["Sent_Bytes"] - received = row["Received_Bytes"] - - # æ›´æ–°å‘é€å­—节指标 - sent_bytes.labels(pid=pid, comm=comm).inc(sent) - - # 更新接收字节指标 - received_bytes.labels(pid=pid, comm=comm).inc(received) - - except KeyError as ke: - print(f"KeyError while processing traffic data: {ke}") - except Exception as e: - print(f"Unexpected error: {e}") - - # æŽ¨é€æ•°æ®åˆ° Prometheus Pushgateway - try: - push_to_gateway(gateway, job="network_traffic", registry=registry) - except Exception as e: - print(f"Error while pushing to Prometheus: {e}") - - -threading.Thread(target=monitor_and_push, args=("run/net_latency.csv", update_delay_data ,0.5)).start() -threading.Thread(target=monitor_and_push, args=("run/tcptop.csv", update_traffic_data,0.2)).start() -threading.Thread(target=monitor_and_push, args=("run/tcpretrans.csv",update_state_data , 1.0)).start() - diff --git a/visualize/net_test.log b/visualize/net_test.log deleted file mode 100644 index 9cd9b0f..0000000 --- a/visualize/net_test.log +++ /dev/null @@ -1,76 +0,0 @@ -/home/ne0/anaconda3/envs/Yolo/lib/python3.9/site-packages/requests/__init__.py:86: RequestsDependencyWarning: Unable to find acceptable character detection dependency (chardet or charset_normalizer). - warnings.warn( -Starting 10 threads to send large POST data for 30 seconds... -[Thread-0] POST status 200 -[Thread-1] POST status 200 -[Thread-6] POST status 200 -[Thread-8] POST status 200 -[Thread-7] POST status 200 -[Thread-5] POST status 200 -[Thread-2] POST status 200 -[Thread-3] POST status 200 -[Thread-9] POST status 200 -[Thread-4] POST status 200 -[Thread-0] POST status 200 -[Thread-1] POST status 200 -[Thread-7] POST status 200 -[Thread-6] POST status 200 -[Thread-2] POST status 200 -[Thread-3] POST status 200 -[Thread-8] POST status 200 -[Thread-5] POST status 200 -[Thread-9] POST status 200 -[Thread-4] POST status 200 -[Thread-1] POST status 200 -[Thread-7] POST status 200 -[Thread-6] POST status 200 -[Thread-0] POST status 200 -[Thread-3] POST status 200 -[Thread-2] POST status 200 -[Thread-8] POST status 200 -[Thread-5] POST status 200 -[Thread-9] POST status 200 -[Thread-4] POST status 200 -[Thread-7] POST status 200 -[Thread-6] POST status 200 -[Thread-2] POST status 200 -[Thread-3] POST status 200 -[Thread-1] POST status 200 -[Thread-0] POST status 200 -[Thread-5] POST status 200 -[Thread-9] POST status 200 -[Thread-4] POST status 200 -[Thread-8] POST status 200 -[Thread-7] POST status 200 -[Thread-6] POST status 200 -[Thread-3] POST status 200 -[Thread-2] POST status 200 -[Thread-0] POST status 200 -[Thread-5] POST status 200 -[Thread-1] POST status 200 -[Thread-9] POST status 200 -[Thread-4] POST status 200 -[Thread-8] POST status 200 -[Thread-7] POST status 200 -[Thread-6] POST status 200 -[Thread-0] POST status 200 -[Thread-5] POST status 200 -[Thread-3] POST status 200 -[Thread-1] POST status 200 -[Thread-9] POST status 200 -[Thread-2] POST status 200 -[Thread-8] POST status 200 -[Thread-4] POST status 200 -[Thread-7] POST status 200 -[Thread-6] POST status 200 -[Thread-0] POST status 200 -[Thread-5] POST status 200 -[Thread-3] POST status 200 -[Thread-1] POST status 200 -[Thread-2] POST status 200 -[Thread-9] POST status 200 -[Thread-4] POST status 200 -[Thread-8] POST status 200 -[Thread-7] POST status 200 -[Thread-6] POST status 200 -Finished sending POST requests. diff --git a/visualize/net_test.py b/visualize/net_test.py deleted file mode 100644 index 0a7949c..0000000 --- a/visualize/net_test.py +++ /dev/null @@ -1,49 +0,0 @@ -import threading -import requests -import time -import random -import string - -SEARCH_URL = "https://httpbin.org/post" # 用于测试的 HTTP æŽ¥å£ -THREAD_COUNT = 10 -DURATION = 60 -SLEEP_TIME = 0.5 - -def generate_large_data(size_in_kb): - """生æˆå¤§çº¦æŒ‡å®šå¤§å°çš„éšæœºæ•°æ®ï¼ˆå•ä½ï¼šKB)""" - size = size_in_kb * 1024 - return ''.join(random.choices(string.ascii_letters + string.digits, k=size)) - -def send_large_post(): - """å‘é€å¤§æ•°æ® POST 请求""" - large_data = generate_large_data(500) # ç”Ÿæˆ 500KB çš„æ•°æ® - try: - response = requests.post(SEARCH_URL, data=large_data, timeout=5) - print(f"[{threading.current_thread().name}] POST status {response.status_code}") - except requests.RequestException as e: - print(f"[{threading.current_thread().name}] POST error: {e}") - -def worker(): - while True: - send_large_post() - time.sleep(SLEEP_TIME) - -def start_threads(thread_count): - threads = [] - for i in range(thread_count): - thread = threading.Thread(target=worker, name=f"Thread-{i}") - thread.daemon = True - threads.append(thread) - thread.start() - return threads - -if __name__ == "__main__": - print(f"Starting {THREAD_COUNT} threads to send large POST data for {DURATION} seconds...") - threads = start_threads(THREAD_COUNT) - start_time = time.time() - try: - while time.time() - start_time < DURATION: - time.sleep(1) - except KeyboardInterrupt: - print("Interrupted by user.") - print("Finished sending POST requests.") diff --git a/visualize/net_with_delay.sh b/visualize/net_with_delay.sh deleted file mode 100755 index 51ef10e..0000000 --- a/visualize/net_with_delay.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/bash - -DEV=enp5s0 # 网络接å£åç§°ï¼Œå¯æ ¹æ®éœ€è¦ä¿®æ”¹ -DELAY_MEAN=10 # å¹³å‡å»¶è¿Ÿï¼ˆæ¯«ç§’) -DELAY_JITTER=5 # 延迟波动范围(毫秒) -DELAY_DISTRIBUTION="normal" # 延迟分布类型(normal, uniform, pareto, paretonormal) -LOSS_RATE=2 # 丢包率百分比(例如,5表示5%) - -# 添加网络延迟和丢包 -add_network_delay() { - echo "Adding network delay and packet loss to $DEV" - echo "Mean delay: $DELAY_MEAN ms, Jitter: $DELAY_JITTER ms, Distribution: $DELAY_DISTRIBUTION, Loss rate: $LOSS_RATE%" - sudo tc qdisc add dev $DEV root netem delay ${DELAY_MEAN}ms ${DELAY_JITTER}ms distribution $DELAY_DISTRIBUTION loss ${LOSS_RATE}% -} - -# 移除网络延迟和丢包 -remove_network_delay() { - echo "Removing network delay and packet loss from $DEV" - sudo tc qdisc del dev $DEV root -} - -# å¯åŠ¨ç½‘ç»œå»¶è¿Ÿå¹¶è¿è¡Œ Python 脚本 -run_with_delay() { - add_network_delay - echo "Starting Python script..." - python3 net_test.py - echo "Python script finished. Removing delay..." - remove_network_delay -} - -# 处ç†ç”¨æˆ·ä¸­æ–­ä¿¡å· -trap "remove_network_delay; echo 'Network delay and packet loss removed. Exiting.'; exit 0" SIGINT SIGTERM - -# 主函数 -run_with_delay diff --git a/visualize/proc/active_nests.txt b/visualize/proc/active_nests.txt new file mode 100644 index 0000000..913d070 --- /dev/null +++ b/visualize/proc/active_nests.txt @@ -0,0 +1,480 @@ +Masks +---------------------------------------- +PRIMARY ( 0): | ----------------àk¶ ÿ | +RESERVED ( 0): | ----------------àk¶ ÿ | +OTHER ( 0): | ----------------àk¶ ÿ | +IDLE ( 0): | ----------------àk¶ ÿ | +Masks +---------------------------------------- +PRIMARY ( 0): | ----------------àk¶ ÿ | +RESERVED ( 0): | ----------------àk¶ ÿ | +OTHER ( 0): | ----------------àk¶ ÿ | +IDLE ( 0): | ----------------àk¶ ÿ | +Masks +---------------------------------------- +PRIMARY ( 2): | ----------*----*ø÷gÖÐ^ | +RESERVED ( 8): | **-*---**--*-**-ø÷gÖÐ^ | +OTHER ( 6): | --*-***--*--*---ø÷gÖÐ^ | +IDLE ( 2): | ----------*----*ø÷gÖÐ^ | +Masks +---------------------------------------- +PRIMARY ( 2): | ----------*----*àk¶ ÿ | +RESERVED ( 8): | **-*---**--*-**-àk¶ ÿ | +OTHER ( 6): | --*-***--*--*---àk¶ ÿ | +IDLE ( 2): | ----------*----*àk¶ ÿ | +Masks +---------------------------------------- +PRIMARY ( 0): | ----------------àk¶ ÿ | +RESERVED ( 8): | -*-**--***-*-*--àk¶ ÿ | +OTHER ( 8): | *-*--**---*-*-**àk¶ ÿ | +IDLE ( 3): | **----*---------àk¶ ÿ | +Masks +---------------------------------------- +PRIMARY ( 0): | ----------------àk¶ ÿ | +RESERVED ( 8): | -*-**--***-*-*--àk¶ ÿ | +OTHER ( 8): | *-*--**---*-*-**àk¶ ÿ | +IDLE ( 3): | **----*---------àk¶ ÿ | +Masks +---------------------------------------- +PRIMARY ( 1): | -----------*----ø÷gÖÐ^ | +RESERVED ( 7): | -----*****---*-*ø÷gÖÐ^ | +OTHER ( 8): | *****-----*-*-*-ø÷gÖÐ^ | +IDLE (14): | -*-*************ø÷gÖÐ^ | +Masks +---------------------------------------- +PRIMARY ( 1): | -----------*----àk¶ ÿ | +RESERVED ( 7): | -----*****---*-*àk¶ ÿ | +OTHER ( 8): | *****-----*-*-*-àk¶ ÿ | +IDLE (14): | -*-*************àk¶ ÿ | +Masks +---------------------------------------- +PRIMARY ( 0): | ----------------àk¶ ÿ | +RESERVED ( 8): | ----***--*-****-àk¶ ÿ | +OTHER ( 8): | ****---**-*----*àk¶ ÿ | +IDLE ( 2): | -------*--*-----àk¶ ÿ | +Masks +---------------------------------------- +PRIMARY ( 0): | ----------------àk¶ ÿ | +RESERVED ( 8): | ----***--*-****-àk¶ ÿ | +OTHER ( 8): | ****---**-*----*àk¶ ÿ | +IDLE ( 2): | -------*--*-----àk¶ ÿ | +Masks +---------------------------------------- +PRIMARY ( 0): | ----------------ø÷gÖÐ^ | +RESERVED ( 8): | -*--**-*-****---ø÷gÖÐ^ | +OTHER ( 8): | *-**--*-*----***ø÷gÖÐ^ | +IDLE (15): | -***************ø÷gÖÐ^ | +Masks +---------------------------------------- +PRIMARY ( 0): | ----------------àk¶ ÿ | +RESERVED ( 8): | -*--**-*-****---àk¶ ÿ | +OTHER ( 8): | *-**--*-*----***àk¶ ÿ | +IDLE (15): | -***************àk¶ ÿ | +Masks +---------------------------------------- +PRIMARY ( 0): | ----------------àk¶ ÿ | +RESERVED ( 8): | -*-***---*-*--**àk¶ ÿ | +OTHER ( 8): | *-*---***-*-**--àk¶ ÿ | +IDLE (16): | ****************àk¶ ÿ | +Masks +---------------------------------------- +PRIMARY ( 0): | ----------------àk¶ ÿ | +RESERVED ( 8): | -*-***---*-*--**àk¶ ÿ | +OTHER ( 8): | *-*---***-*-**--àk¶ ÿ | +IDLE (16): | ****************àk¶ ÿ | +Masks +---------------------------------------- +PRIMARY ( 0): | ----------------ø÷gÖÐ^ | +RESERVED ( 8): | ---***-*-**-**--ø÷gÖÐ^ | +OTHER ( 8): | ***---*-*--*--**ø÷gÖÐ^ | +IDLE ( 8): | -*--*---*--*****ø÷gÖÐ^ | +Masks +---------------------------------------- +PRIMARY ( 0): | ----------------àk¶ ÿ | +RESERVED ( 8): | ---***-*-**-**--àk¶ ÿ | +OTHER ( 8): | ***---*-*--*--**àk¶ ÿ | +IDLE ( 8): | -*--*---*--*****àk¶ ÿ | +Masks +---------------------------------------- +PRIMARY ( 0): | ----------------àk¶ ÿ | +RESERVED ( 8): | ----*--****-***-àk¶ ÿ | +OTHER ( 8): | ****-**----*---*àk¶ ÿ | +IDLE ( 4): | **----------*--*àk¶ ÿ | +Masks +---------------------------------------- +PRIMARY ( 0): | ----------------àk¶ ÿ | +RESERVED ( 8): | ----*--****-***-àk¶ ÿ | +OTHER ( 8): | ****-**----*---*àk¶ ÿ | +IDLE ( 4): | **----------*--*àk¶ ÿ | +Masks +---------------------------------------- +PRIMARY ( 0): | ----------------ø÷gÖÐ^ | +RESERVED ( 8): | -*-**-*-**-*---*ø÷gÖÐ^ | +OTHER ( 8): | *-*--*-*--*-***-ø÷gÖÐ^ | +IDLE (15): | -***************ø÷gÖÐ^ | +Masks +---------------------------------------- +PRIMARY ( 0): | ----------------àk¶ ÿ | +RESERVED ( 8): | -*-**-*-**-*---*àk¶ ÿ | +OTHER ( 8): | *-*--*-*--*-***-àk¶ ÿ | +IDLE (15): | -***************àk¶ ÿ | +Masks +---------------------------------------- +PRIMARY ( 1): | ----*-----------àk¶ ÿ | +RESERVED ( 7): | *----***-*-**---àk¶ ÿ | +OTHER ( 8): | -***----*-*--***àk¶ ÿ | +IDLE (14): | ****-******-****àk¶ ÿ | +Masks +---------------------------------------- +PRIMARY ( 1): | ----*-----------àk¶ ÿ | +RESERVED ( 7): | *----***-*-**---àk¶ ÿ | +OTHER ( 8): | -***----*-*--***àk¶ ÿ | +IDLE (14): | ****-******-****àk¶ ÿ | +Masks +---------------------------------------- +PRIMARY ( 0): | ----------------ø÷gÖÐ^ | +RESERVED ( 8): | ---**--*-**--***ø÷gÖÐ^ | +OTHER ( 8): | ***--**-*--**---ø÷gÖÐ^ | +IDLE (16): | ****************ø÷gÖÐ^ | +Masks +---------------------------------------- +PRIMARY ( 0): | ----------------àk¶ ÿ | +RESERVED ( 8): | ---**--*-**--***àk¶ ÿ | +OTHER ( 8): | ***--**-*--**---àk¶ ÿ | +IDLE (16): | ****************àk¶ ÿ | +Masks +---------------------------------------- +PRIMARY ( 1): | ------------*---àk¶ ÿ | +RESERVED ( 8): | --**--**-**--**-àk¶ ÿ | +OTHER ( 7): | **--**--*--*---*àk¶ ÿ | +IDLE ( 3): | -*---------**---àk¶ ÿ | +Masks +---------------------------------------- +PRIMARY ( 1): | ------------*---àk¶ ÿ | +RESERVED ( 8): | --**--**-**--**-àk¶ ÿ | +OTHER ( 7): | **--**--*--*---*àk¶ ÿ | +IDLE ( 3): | -*---------**---àk¶ ÿ | +Masks +---------------------------------------- +PRIMARY ( 2): | -------------**-ø÷gÖÐ^ | +RESERVED ( 6): | -*-*-*-*-*-*----ø÷gÖÐ^ | +OTHER ( 8): | *-*-*-*-*-*-*--*ø÷gÖÐ^ | +IDLE ( 9): | -***--*-*-*-**-*ø÷gÖÐ^ | +Masks +---------------------------------------- +PRIMARY ( 4): | ----****-------- q]9ÿ | +RESERVED ( 7): | **------***---** q]9ÿ | +OTHER ( 5): | --**-------***-- q]9ÿ | +IDLE ( 0): | ---------------- q]9ÿ | +Masks +---------------------------------------- +PRIMARY ( 4): | ----****-------- q]9ÿ | +RESERVED ( 7): | **------***---** q]9ÿ | +OTHER ( 5): | --**-------***-- q]9ÿ | +IDLE ( 0): | ---------------- q]9ÿ | +Masks +---------------------------------------- +PRIMARY ( 4): | ----****-------- q]9ÿ | +RESERVED ( 7): | **------***---** q]9ÿ | +OTHER ( 5): | --**-------***-- q]9ÿ | +IDLE ( 0): | ---------------- q]9ÿ | +Masks +---------------------------------------- +PRIMARY ( 4): | ----****--------ø‡ß[Éb | +RESERVED ( 7): | **------***---**ø‡ß[Éb | +OTHER ( 5): | --**-------***--ø‡ß[Éb | +IDLE ( 0): | ----------------ø‡ß[Éb | +Masks +---------------------------------------- +PRIMARY ( 4): | ----****-------- q]9ÿ | +RESERVED ( 7): | **------***---** q]9ÿ | +OTHER ( 5): | --**-------***-- q]9ÿ | +IDLE ( 0): | ---------------- q]9ÿ | +Masks +---------------------------------------- +PRIMARY ( 4): | ----****-------- q]9ÿ | +RESERVED ( 7): | **------***---** q]9ÿ | +OTHER ( 5): | --**-------***-- q]9ÿ | +IDLE ( 0): | ---------------- q]9ÿ | +Masks +---------------------------------------- +PRIMARY ( 4): | ----****-------- q]9ÿ | +RESERVED ( 7): | **------***---** q]9ÿ | +OTHER ( 5): | --**-------***-- q]9ÿ | +IDLE ( 0): | ---------------- q]9ÿ | +Masks +---------------------------------------- +PRIMARY ( 4): | ----****--------ø‡ß[Éb | +RESERVED ( 7): | **------***---**ø‡ß[Éb | +OTHER ( 5): | --**-------***--ø‡ß[Éb | +IDLE ( 0): | ----------------ø‡ß[Éb | +Masks +---------------------------------------- +PRIMARY ( 4): | ----****-------- q]9ÿ | +RESERVED ( 7): | **------***---** q]9ÿ | +OTHER ( 5): | --**-------***-- q]9ÿ | +IDLE ( 0): | ---------------- q]9ÿ | +Masks +---------------------------------------- +PRIMARY ( 4): | ----****-------- q]9ÿ | +RESERVED ( 7): | **------***---** q]9ÿ | +OTHER ( 5): | --**-------***-- q]9ÿ | +IDLE ( 0): | ---------------- q]9ÿ | +Masks +---------------------------------------- +PRIMARY ( 4): | ----****-------- q]9ÿ | +RESERVED ( 7): | **------***---** q]9ÿ | +OTHER ( 5): | --**-------***-- q]9ÿ | +IDLE ( 0): | ---------------- q]9ÿ | +Masks +---------------------------------------- +PRIMARY ( 4): | ----****--------ø‡ß[Éb | +RESERVED ( 7): | **------***---**ø‡ß[Éb | +OTHER ( 5): | --**-------***--ø‡ß[Éb | +IDLE ( 0): | ----------------ø‡ß[Éb | +Masks +---------------------------------------- +PRIMARY ( 4): | ----****-------- q]9ÿ | +RESERVED ( 7): | **------***---** q]9ÿ | +OTHER ( 5): | --**-------***-- q]9ÿ | +IDLE ( 0): | ---------------- q]9ÿ | +Masks +---------------------------------------- +PRIMARY (12): | ******--******--{ü | +RESERVED ( 3): | ------*-------**{ü | +OTHER ( 1): | -------*--------{ü | +IDLE ( 0): | ----------------{ü | +Masks +---------------------------------------- +PRIMARY (12): | ******--******--{ü | +RESERVED ( 3): | ------*-------**{ü | +OTHER ( 1): | -------*--------{ü | +IDLE ( 0): | ----------------{ü | +Masks +---------------------------------------- +PRIMARY ( 0): | ----------------øG +þY | +RESERVED ( 8): | ----*-******---*øG +þY | +OTHER ( 8): | ****-*------***-øG +þY | +IDLE (15): | ****-***********øG +þY | +Masks +---------------------------------------- +PRIMARY ( 7): | -*--*-**--**--*-Ðü=þ | +RESERVED ( 8): | *--*-*--**--**-*Ðü=þ | +OTHER ( 1): | --*-------------Ðü=þ | +IDLE ( 0): | ----------------Ðü=þ | +Masks +---------------------------------------- +PRIMARY ( 0): | ----------------Ðü=þ | +RESERVED ( 8): | -*-*--******----Ðü=þ | +OTHER ( 8): | *-*-**------****Ðü=þ | +IDLE (16): | ****************Ðü=þ | +Masks +---------------------------------------- +PRIMARY ( 4): | -*---***-------- ¹\ÿ | +RESERVED ( 8): | *-*-----******-- ¹\ÿ | +OTHER ( 4): | ---**---------** ¹\ÿ | +IDLE ( 2): | ----*--------*-- ¹\ÿ | +Masks +---------------------------------------- +PRIMARY ( 7): | -*-**--**-*-*---ø7Ëaa | +RESERVED ( 5): | --*--**--*-*----ø7Ëaa | +OTHER ( 4): | *------------***ø7Ëaa | +IDLE ( 0): | ----------------ø7Ëaa | +Masks +---------------------------------------- +PRIMARY ( 7): | -*-**--**-*-*--- ¹\ÿ | +RESERVED ( 5): | --*--**--*-*---- ¹\ÿ | +OTHER ( 4): | *------------*** ¹\ÿ | +IDLE ( 0): | ---------------- ¹\ÿ | +Masks +---------------------------------------- +PRIMARY ( 7): | -*-**--**-*-*--- ¹\ÿ | +RESERVED ( 5): | --*--**--*-*---- ¹\ÿ | +OTHER ( 4): | *------------*** ¹\ÿ | +IDLE ( 0): | ---------------- ¹\ÿ | +Masks +---------------------------------------- +PRIMARY ( 7): | -*-**--**-*-*--- ¹\ÿ | +RESERVED ( 5): | --*--**--*-*---- ¹\ÿ | +OTHER ( 4): | *------------*** ¹\ÿ | +IDLE ( 0): | ---------------- ¹\ÿ | +Masks +---------------------------------------- +PRIMARY ( 7): | -*-**--**-*-*---ø7Ëaa | +RESERVED ( 5): | --*--**--*-*----ø7Ëaa | +OTHER ( 4): | *------------***ø7Ëaa | +IDLE ( 0): | ----------------ø7Ëaa | +Masks +---------------------------------------- +PRIMARY ( 7): | -*-**--**-*-*--- ¹\ÿ | +RESERVED ( 5): | --*--**--*-*---- ¹\ÿ | +OTHER ( 4): | *------------*** ¹\ÿ | +IDLE ( 0): | ---------------- ¹\ÿ | +Masks +---------------------------------------- +PRIMARY ( 7): | -*-**--**-*-*--- ¹\ÿ | +RESERVED ( 5): | --*--**--*-*---- ¹\ÿ | +OTHER ( 4): | *------------*** ¹\ÿ | +IDLE ( 0): | ---------------- ¹\ÿ | +Masks +---------------------------------------- +PRIMARY ( 7): | -*-**--**-*-*--- ¹\ÿ | +RESERVED ( 5): | --*--**--*-*---- ¹\ÿ | +OTHER ( 4): | *------------*** ¹\ÿ | +IDLE ( 0): | ---------------- ¹\ÿ | +Masks +---------------------------------------- +PRIMARY ( 7): | -*-**--**-*-*---ø7Ëaa | +RESERVED ( 5): | --*--**--*-*----ø7Ëaa | +OTHER ( 4): | *------------***ø7Ëaa | +IDLE ( 0): | ----------------ø7Ëaa | +Masks +---------------------------------------- +PRIMARY ( 7): | -*-**--**-*-*--- ¹\ÿ | +RESERVED ( 5): | --*--**--*-*---- ¹\ÿ | +OTHER ( 4): | *------------*** ¹\ÿ | +IDLE ( 0): | ---------------- ¹\ÿ | +Masks +---------------------------------------- +PRIMARY ( 7): | -*-**--**-*-*--- ¹\ÿ | +RESERVED ( 5): | --*--**--*-*---- ¹\ÿ | +OTHER ( 4): | *------------*** ¹\ÿ | +IDLE ( 0): | ---------------- ¹\ÿ | +Masks +---------------------------------------- +PRIMARY ( 7): | -*-**--**-*-*--- ¹\ÿ | +RESERVED ( 5): | --*--**--*-*---- ¹\ÿ | +OTHER ( 4): | *------------*** ¹\ÿ | +IDLE ( 0): | ---------------- ¹\ÿ | +Masks +---------------------------------------- +PRIMARY ( 7): | -*-**--**-*-*---ø7Ëaa | +RESERVED ( 5): | --*--**--*-*----ø7Ëaa | +OTHER ( 4): | *------------***ø7Ëaa | +IDLE ( 0): | ----------------ø7Ëaa | +Masks +---------------------------------------- +PRIMARY ( 7): | -*-**--**-*-*--- ¹\ÿ | +RESERVED ( 5): | --*--**--*-*---- ¹\ÿ | +OTHER ( 4): | *------------*** ¹\ÿ | +IDLE ( 0): | ---------------- ¹\ÿ | +Masks +---------------------------------------- +PRIMARY ( 7): | -*-**--**-*-*--- ¹\ÿ | +RESERVED ( 5): | --*--**--*-*---- ¹\ÿ | +OTHER ( 4): | *------------*** ¹\ÿ | +IDLE ( 0): | ---------------- ¹\ÿ | +Masks +---------------------------------------- +PRIMARY ( 7): | -*-**--**-*-*--- ¹\ÿ | +RESERVED ( 5): | --*--**--*-*---- ¹\ÿ | +OTHER ( 4): | *------------*** ¹\ÿ | +IDLE ( 0): | ---------------- ¹\ÿ | +Masks +---------------------------------------- +PRIMARY ( 7): | -*-**--**-*-*---ø7Ëaa | +RESERVED ( 5): | --*--**--*-*----ø7Ëaa | +OTHER ( 4): | *------------***ø7Ëaa | +IDLE ( 0): | ----------------ø7Ëaa | +Masks +---------------------------------------- +PRIMARY ( 7): | -*-**--**-*-*--- ¹\ÿ | +RESERVED ( 5): | --*--**--*-*---- ¹\ÿ | +OTHER ( 4): | *------------*** ¹\ÿ | +IDLE ( 0): | ---------------- ¹\ÿ | +Masks +---------------------------------------- +PRIMARY ( 7): | -*-**--**-*-*--- ¹\ÿ | +RESERVED ( 5): | --*--**--*-*---- ¹\ÿ | +OTHER ( 4): | *------------*** ¹\ÿ | +IDLE ( 0): | ---------------- ¹\ÿ | +Masks +---------------------------------------- +PRIMARY ( 7): | -*-**--**-*-*--- ¹\ÿ | +RESERVED ( 5): | --*--**--*-*---- ¹\ÿ | +OTHER ( 4): | *------------*** ¹\ÿ | +IDLE ( 0): | ---------------- ¹\ÿ | +Masks +---------------------------------------- +PRIMARY ( 7): | -*-**--**-*-*---ø7Ëaa | +RESERVED ( 5): | --*--**--*-*----ø7Ëaa | +OTHER ( 4): | *------------***ø7Ëaa | +IDLE ( 0): | ----------------ø7Ëaa | +Masks +---------------------------------------- +PRIMARY ( 7): | -*-**--**-*-*--- ¹\ÿ | +RESERVED ( 5): | --*--**--*-*---- ¹\ÿ | +OTHER ( 4): | *------------*** ¹\ÿ | +IDLE ( 0): | ---------------- ¹\ÿ | +Masks +---------------------------------------- +PRIMARY ( 7): | -*-**--**-*-*--- ¹\ÿ | +RESERVED ( 5): | --*--**--*-*---- ¹\ÿ | +OTHER ( 4): | *------------*** ¹\ÿ | +IDLE ( 0): | ---------------- ¹\ÿ | +Masks +---------------------------------------- +PRIMARY ( 7): | -*-**--**-*-*--- ¹\ÿ | +RESERVED ( 5): | --*--**--*-*---- ¹\ÿ | +OTHER ( 4): | *------------*** ¹\ÿ | +IDLE ( 0): | ---------------- ¹\ÿ | +Masks +---------------------------------------- +PRIMARY ( 7): | -*-**--**-*-*---ø7Ëaa | +RESERVED ( 5): | --*--**--*-*----ø7Ëaa | +OTHER ( 4): | *------------***ø7Ëaa | +IDLE ( 0): | ----------------ø7Ëaa | +Masks +---------------------------------------- +PRIMARY ( 7): | -*-**--**-*-*--- ¹\ÿ | +RESERVED ( 5): | --*--**--*-*---- ¹\ÿ | +OTHER ( 4): | *------------*** ¹\ÿ | +IDLE ( 0): | ---------------- ¹\ÿ | +Masks +---------------------------------------- +PRIMARY ( 7): | -*-**--**-*-*--- ¹\ÿ | +RESERVED ( 5): | --*--**--*-*---- ¹\ÿ | +OTHER ( 4): | *------------*** ¹\ÿ | +IDLE ( 0): | ---------------- ¹\ÿ | +Masks +---------------------------------------- +PRIMARY ( 7): | -*-**--**-*-*--- ¹\ÿ | +RESERVED ( 5): | --*--**--*-*---- ¹\ÿ | +OTHER ( 4): | *------------*** ¹\ÿ | +IDLE ( 0): | ---------------- ¹\ÿ | +Masks +---------------------------------------- +PRIMARY ( 7): | -*-**--**-*-*---ø7Ëaa | +RESERVED ( 5): | --*--**--*-*----ø7Ëaa | +OTHER ( 4): | *------------***ø7Ëaa | +IDLE ( 0): | ----------------ø7Ëaa | +Masks +---------------------------------------- +PRIMARY ( 7): | -*-**--**-*-*--- ¹\ÿ | +RESERVED ( 5): | --*--**--*-*---- ¹\ÿ | +OTHER ( 4): | *------------*** ¹\ÿ | +IDLE ( 0): | ---------------- ¹\ÿ | +Masks +---------------------------------------- +PRIMARY ( 0): | ---------------- ¹\ÿ | +RESERVED ( 8): | --*----***-*-*** ¹\ÿ | +OTHER ( 8): | **-****---*-*--- ¹\ÿ | +IDLE (15): | **-************* ¹\ÿ | +Masks +---------------------------------------- +PRIMARY ( 7): | --*-*--***-**---p%ˆü | +RESERVED ( 8): | **---**---*--***p%ˆü | +OTHER ( 1): | ---*------------p%ˆü | +IDLE ( 0): | ----------------p%ˆü | +Masks +---------------------------------------- +PRIMARY ( 2): | -----------*--*-ø÷^’§] | +RESERVED ( 6): | **--*--*-*-----*ø÷^’§] | +OTHER ( 8): | --**-**-*-*-**--ø÷^’§] | +IDLE (12): | ----************ø÷^’§] | +Masks +---------------------------------------- +PRIMARY ( 2): | -----------*--*-p%ˆü | +RESERVED ( 6): | **--*--*-*-----*p%ˆü | +OTHER ( 8): | --**-**-*-*-**--p%ˆü | +IDLE (12): | ----************p%ˆü | diff --git a/visualize/proc/mm_alloc.txt b/visualize/proc/mm_alloc.txt deleted file mode 100644 index 4b2beb2..0000000 --- a/visualize/proc/mm_alloc.txt +++ /dev/null @@ -1,150 +0,0 @@ - 0 [] __alloc_pages + 0x262 - 0 [] __kmalloc_node + 0x2fa - 0 [] kmalloc_trace + 0x26f - 0 [] __kmalloc + 0x290 - 0 [] kmem_cache_alloc + 0x272 - 0 [] kmem_cache_alloc_node + 0x28d - 0 [] kmem_cache_alloc_lru + 0x267 - 0 [] pcpu_alloc + 0x476 - 0 [] kmalloc_node_trace + 0x29a - 0 [] __alloc_pages + 0x262 - 0 [] __kmalloc_node + 0x2fa - 0 [] kmalloc_trace + 0x26f - 0 [] __kmalloc + 0x290 - 0 [] kmem_cache_alloc_node + 0x28d - 0 [] kmem_cache_alloc + 0x272 - 0 [] kmem_cache_alloc_lru + 0x267 - 0 [] pcpu_alloc + 0x476 - 0 [] kmalloc_node_trace + 0x29a - 0 [] __alloc_pages + 0x262 - 0 [] __kmalloc_node + 0x2fa - 0 [] __kmalloc + 0x290 - 0 [] kmalloc_trace + 0x26f - 0 [] kmem_cache_alloc_node + 0x28d - 0 [] kmem_cache_alloc + 0x272 - 0 [] kmem_cache_alloc_lru + 0x267 - 0 [] pcpu_alloc + 0x476 - 0 [] kmalloc_node_trace + 0x29a - 0 [] __alloc_pages + 0x262 - 0 [] __kmalloc_node + 0x2fa - 0 [] kmalloc_trace + 0x26f - 0 [] __kmalloc + 0x290 - 0 [] kmem_cache_alloc_node + 0x28d - 0 [] kmem_cache_alloc + 0x272 - 0 [] kmem_cache_alloc_lru + 0x267 - 0 [] pcpu_alloc + 0x476 - 0 [] kmalloc_node_trace + 0x29a - 0 [] __alloc_pages + 0x262 - 0 [] __kmalloc_node + 0x2fa - 0 [] kmalloc_trace + 0x26f - 0 [] __kmalloc + 0x290 - 0 [] kmem_cache_alloc_node + 0x28d - 0 [] kmem_cache_alloc + 0x272 - 0 [] kmem_cache_alloc_lru + 0x267 - 0 [] pcpu_alloc + 0x476 - 0 [] kmalloc_node_trace + 0x29a - 0 [] __alloc_pages + 0x262 - 0 [] __kmalloc_node + 0x2fa - 0 [] kmalloc_trace + 0x26f - 0 [] __kmalloc + 0x290 - 0 [] kmem_cache_alloc_node + 0x28d - 0 [] kmem_cache_alloc + 0x272 - 0 [] kmem_cache_alloc_lru + 0x267 - 0 [] pcpu_alloc + 0x476 - 0 [] kmalloc_node_trace + 0x29a -+ 0x26f - 0 [] __kmalloc + 0x290 - 0 [] kmem_cache_alloc_node + 0x28d - 0 [] kmem_cache_alloc + 0x272 - 0 [] kmem_cache_alloc_lru + 0x267 - 0 [] pcpu_alloc + 0x476 - 0 [] kmalloc_node_trace + 0x29a - 0 [] __kmalloc_node_track_caller + 0x2f8 - 0 [] __alloc_pages + 0x262 - 0 [] __kmalloc_node + 0x2fa - 0 [] kmalloc_trace + 0x26f - 0 [] __kmalloc + 0x290 - 0 [] kmem_cache_alloc_node + 0x28d - 0 [] kmem_cache_alloc + 0x272 - 0 [] kmem_cache_alloc_lru + 0x267 - 0 [] pcpu_alloc + 0x476 - 0 [] kmalloc_node_trace + 0x29a - 0 [] __kmalloc_node_track_caller + 0x2f8 - 0 [] __alloc_pages + 0x262 - 0 [] kmalloc_trace + 0x26f - 0 [] __kmalloc_node + 0x2fa - 0 [] __kmalloc + 0x290 - 0 [] kmem_cache_alloc_node + 0x28d - 0 [] kmem_cache_alloc + 0x272 - 0 [] kmem_cache_alloc_lru + 0x267 - 0 [] pcpu_alloc + 0x476 - 0 [] kmalloc_node_trace + 0x29a - 0 [] __kmalloc_node_track_caller + 0x2f8 - 0 [] __alloc_pages + 0x262 - 0 [] __kmalloc_node + 0x2fa - 0 [] kmalloc_trace + 0x26f - 0 [] kmem_cache_alloc_node + 0x28d - 0 [] kmem_cache_alloc + 0x272 - 0 [] __kmalloc + 0x290 - 0 [] kmem_cache_alloc_lru + 0x267 - 0 [] pcpu_alloc + 0x476 - 0 [] kmalloc_node_trace + 0x29a - 0 [] __kmalloc_node_track_caller + 0x2f8 - 0 [] __alloc_pages + 0x262 - 0 [] kmalloc_trace + 0x26f - 0 [] __kmalloc_node + 0x2fa - 0 [] kmem_cache_alloc_node + 0x28d - 0 [] kmem_cache_alloc + 0x272 - 0 [] kmem_cache_alloc_lru + 0x267 - 0 [] __kmalloc + 0x290 - 0 [] pcpu_alloc + 0x476 - 0 [] kmalloc_node_trace + 0x29a - 0 [] __kmalloc_node_track_caller + 0x2f8 - 0 [] __alloc_pages + 0x262 - 0 [] __kmalloc_node + 0x2fa - 0 [] kmalloc_trace + 0x26f - 0 [] kmem_cache_alloc_node + 0x28d - 0 [] __kmalloc + 0x290 - 0 [] kmem_cache_alloc + 0x272 - 0 [] kmem_cache_alloc_lru + 0x267 - 0 [] pcpu_alloc + 0x476 - 0 [] kmalloc_node_trace + 0x29a - 0 [] __kmalloc_node_track_caller + 0x2f8 - 0 [] __alloc_pages + 0x262 - 0 [] __kmalloc_node + 0x2fa - 0 [] kmalloc_trace + 0x26f - 0 [] __kmalloc + 0x290 - 0 [] kmem_cache_alloc_node + 0x28d - 0 [] kmem_cache_alloc + 0x272 - 0 [] kmem_cache_alloc_lru + 0x267 - 0 [] pcpu_alloc + 0x476 - 0 [] kmalloc_node_trace + 0x29a - 0 [] __kmalloc_node_track_caller + 0x2f8 - 0 [] __alloc_pages + 0x262 - 0 [] __kmalloc_node + 0x2fa - 0 [] kmalloc_trace + 0x26f - 0 [] kmem_cache_alloc_node + 0x28d - 0 [] kmem_cache_alloc + 0x272 - 0 [] __kmalloc + 0x290 - 0 [] kmem_cache_alloc_lru + 0x267 - 0 [] pcpu_alloc + 0x476 - 0 [] kmalloc_node_trace + 0x29a - 0 [] __kmalloc_node_track_caller + 0x2f8 -ba72>] kmem_cache_alloc + 0x272 - 0 [] kmalloc_trace + 0x26f - 0 [] __kmalloc_node.cold + 0x8b - 0 [] __kmalloc + 0x290 - 0 [] __kmalloc_node + 0x2fa - 0 [] kmem_cache_alloc_lru + 0x267 - 0 [] pcpu_alloc + 0x476 - 0 [] kmalloc_node_trace + 0x29a - 0 [] __alloc_pages + 0x262 - 0 [] kmem_cache_alloc_node + 0x28d - 0 [] kmalloc_trace + 0x26f - 0 [] __kmalloc_node.cold + 0x8b - 0 [] kmem_cache_alloc + 0x272 - 0 [] __kmalloc_node + 0x2fa - 0 [] __kmalloc + 0x290 - 0 [] kmem_cache_alloc_lru + 0x267 - 0 [] pcpu_alloc + 0x476 - 0 [] kmalloc_node_trace + 0x29a diff --git a/visualize/proc/nest_stats.txt b/visualize/proc/nest_stats.txt new file mode 100644 index 0000000..454360d --- /dev/null +++ b/visualize/proc/nest_stats.txt @@ -0,0 +1,386 @@ +----------------------------------------WAKEUP_ATTACHED=1981 +WAKEUP_PREV_PRIMARY=235 +WAKEUP_FULLY_IDLE_PRIMARY=0 +WAKEUP_ANY_IDLE_PRIMARY=498 +WAKEUP_FULLY_IDLE_RESERVE=0 +WAKEUP_ANY_IDLE_RESERVE=235 +WAKEUP_IDLE_OTHER=184 +TASK_IMPATIENT=154 +PROMOTED_TO_PRIMARY=250 +PROMOTED_TO_RESERVED=66 +DEMOTED_TO_RESERVED=177 +RESERVED_AT_CAPACITY=176 +SCHEDULED_COMPACTION=3007 +CANCELLED_COMPACTION=2714 +EAGERLY_COMPACTED=0 +CALLBACK_COMPACTED=250 +CONSUMED=1353 +NOT_CONSUMED=3511 + +----------------------------------------WAKEUP_ATTACHED=2709 +WAKEUP_PREV_PRIMARY=608 +WAKEUP_FULLY_IDLE_PRIMARY=0 +WAKEUP_ANY_IDLE_PRIMARY=1238 +WAKEUP_FULLY_IDLE_RESERVE=0 +WAKEUP_ANY_IDLE_RESERVE=642 +WAKEUP_IDLE_OTHER=323 +TASK_IMPATIENT=222 +PROMOTED_TO_PRIMARY=668 +PROMOTED_TO_RESERVED=159 +DEMOTED_TO_RESERVED=490 +RESERVED_AT_CAPACITY=315 +SCHEDULED_COMPACTION=5326 +CANCELLED_COMPACTION=4555 +EAGERLY_COMPACTED=0 +CALLBACK_COMPACTED=667 +CONSUMED=2189 +NOT_CONSUMED=6170 + +----------------------------------------WAKEUP_ATTACHED=3129 +WAKEUP_PREV_PRIMARY=908 +WAKEUP_FULLY_IDLE_PRIMARY=0 +WAKEUP_ANY_IDLE_PRIMARY=1921 +WAKEUP_FULLY_IDLE_RESERVE=0 +WAKEUP_ANY_IDLE_RESERVE=1053 +WAKEUP_IDLE_OTHER=476 +TASK_IMPATIENT=266 +PROMOTED_TO_PRIMARY=1090 +PROMOTED_TO_RESERVED=264 +DEMOTED_TO_RESERVED=795 +RESERVED_AT_CAPACITY=469 +SCHEDULED_COMPACTION=7188 +CANCELLED_COMPACTION=5958 +EAGERLY_COMPACTED=0 +CALLBACK_COMPACTED=1089 +CONSUMED=2914 +NOT_CONSUMED=8429 + +----------------------------------------WAKEUP_ATTACHED=8170 +WAKEUP_PREV_PRIMARY=1306 +WAKEUP_FULLY_IDLE_PRIMARY=0 +WAKEUP_ANY_IDLE_PRIMARY=2645 +WAKEUP_FULLY_IDLE_RESERVE=0 +WAKEUP_ANY_IDLE_RESERVE=1471 +WAKEUP_IDLE_OTHER=617 +TASK_IMPATIENT=345 +PROMOTED_TO_PRIMARY=1519 +PROMOTED_TO_RESERVED=334 +DEMOTED_TO_RESERVED=1148 +RESERVED_AT_CAPACITY=609 +SCHEDULED_COMPACTION=13835 +CANCELLED_COMPACTION=12121 +EAGERLY_COMPACTED=0 +CALLBACK_COMPACTED=1522 +CONSUMED=3934 +NOT_CONSUMED=15688 + +----------------------------------------WAKEUP_ATTACHED=8412 +WAKEUP_PREV_PRIMARY=1509 +WAKEUP_FULLY_IDLE_PRIMARY=0 +WAKEUP_ANY_IDLE_PRIMARY=3082 +WAKEUP_FULLY_IDLE_RESERVE=0 +WAKEUP_ANY_IDLE_RESERVE=1796 +WAKEUP_IDLE_OTHER=739 +TASK_IMPATIENT=425 +PROMOTED_TO_PRIMARY=1855 +PROMOTED_TO_RESERVED=403 +DEMOTED_TO_RESERVED=1403 +RESERVED_AT_CAPACITY=732 +SCHEDULED_COMPACTION=15086 +CANCELLED_COMPACTION=13003 +EAGERLY_COMPACTED=0 +CALLBACK_COMPACTED=1858 +CONSUMED=4676 +NOT_CONSUMED=17274 + +----------------------------------------WAKEUP_ATTACHED=8779 +WAKEUP_PREV_PRIMARY=1764 +WAKEUP_FULLY_IDLE_PRIMARY=0 +WAKEUP_ANY_IDLE_PRIMARY=3666 +WAKEUP_FULLY_IDLE_RESERVE=0 +WAKEUP_ANY_IDLE_RESERVE=2219 +WAKEUP_IDLE_OTHER=850 +TASK_IMPATIENT=459 +PROMOTED_TO_PRIMARY=2278 +PROMOTED_TO_RESERVED=513 +DEMOTED_TO_RESERVED=1715 +RESERVED_AT_CAPACITY=835 +SCHEDULED_COMPACTION=16758 +CANCELLED_COMPACTION=14208 +EAGERLY_COMPACTED=0 +CALLBACK_COMPACTED=2272 +CONSUMED=5205 +NOT_CONSUMED=19388 + +----------------------------------------WAKEUP_ATTACHED=9206 +WAKEUP_PREV_PRIMARY=2013 +WAKEUP_FULLY_IDLE_PRIMARY=0 +WAKEUP_ANY_IDLE_PRIMARY=4189 +WAKEUP_FULLY_IDLE_RESERVE=0 +WAKEUP_ANY_IDLE_RESERVE=2610 +WAKEUP_IDLE_OTHER=1065 +TASK_IMPATIENT=558 +PROMOTED_TO_PRIMARY=2691 +PROMOTED_TO_RESERVED=588 +DEMOTED_TO_RESERVED=2033 +RESERVED_AT_CAPACITY=1058 +SCHEDULED_COMPACTION=18447 +CANCELLED_COMPACTION=15407 +EAGERLY_COMPACTED=0 +CALLBACK_COMPACTED=2695 +CONSUMED=6067 +NOT_CONSUMED=21784 + +----------WAKEUP_ATTACHED=1235 +WAKEUP_PREV_PRIMARY=699 +WAKEUP_FULLY_IDLE_PRIMARY=0 +WAKEUP_ANY_IDLE_PRIMARY=1353 +WAKEUP_FULLY_IDLE_RESERVE=0 +WAKEUP_ANY_IDLE_RESERVE=792 +WAKEUP_IDLE_OTHER=673 +TASK_IMPATIENT=5755 +PROMOTED_TO_PRIMARY=864 +PROMOTED_TO_RESERVED=204 +DEMOTED_TO_RESERVED=595 +RESERVED_AT_CAPACITY=662 +SCHEDULED_COMPACTION=4271 +CANCELLED_COMPACTION=3287 +EAGERLY_COMPACTED=4 +CALLBACK_COMPACTED=856 +CONSUMED=42104 +NOT_CONSUMED=5989 + +----------------------------------------WAKEUP_ATTACHED=1235 +WAKEUP_PREV_PRIMARY=699 +WAKEUP_FULLY_IDLE_PRIMARY=0 +WAKEUP_ANY_IDLE_PRIMARY=1353 +WAKEUP_FULLY_IDLE_RESERVE=0 +WAKEUP_ANY_IDLE_RESERVE=792 +WAKEUP_IDLE_OTHER=673 +TASK_IMPATIENT=6638 +PROMOTED_TO_PRIMARY=864 +PROMOTED_TO_RESERVED=204 +DEMOTED_TO_RESERVED=595 +RESERVED_AT_CAPACITY=662 +SCHEDULED_COMPACTION=4271 +CANCELLED_COMPACTION=3287 +EAGERLY_COMPACTED=4 +CALLBACK_COMPACTED=856 +CONSUMED=48735 +NOT_CONSUMED=5989 + +----------------------------------------WAKEUP_ATTACHED=1375 +WAKEUP_PREV_PRIMARY=764 +WAKEUP_FULLY_IDLE_PRIMARY=0 +WAKEUP_ANY_IDLE_PRIMARY=1501 +WAKEUP_FULLY_IDLE_RESERVE=0 +WAKEUP_ANY_IDLE_RESERVE=867 +WAKEUP_IDLE_OTHER=704 +TASK_IMPATIENT=7455 +PROMOTED_TO_PRIMARY=941 +PROMOTED_TO_RESERVED=230 +DEMOTED_TO_RESERVED=644 +RESERVED_AT_CAPACITY=696 +SCHEDULED_COMPACTION=4711 +CANCELLED_COMPACTION=3640 +EAGERLY_COMPACTED=10 +CALLBACK_COMPACTED=930 +CONSUMED=54980 +NOT_CONSUMED=6538 + +_CONSUMED=6559 + +----------------------------------------WAKEUP_ATTACHED=2227 +WAKEUP_PREV_PRIMARY=966 +WAKEUP_FULLY_IDLE_PRIMARY=0 +WAKEUP_ANY_IDLE_PRIMARY=2202 +WAKEUP_FULLY_IDLE_RESERVE=0 +WAKEUP_ANY_IDLE_RESERVE=1348 +WAKEUP_IDLE_OTHER=635 +TASK_IMPATIENT=6111 +PROMOTED_TO_PRIMARY=1396 +PROMOTED_TO_RESERVED=365 +DEMOTED_TO_RESERVED=990 +RESERVED_AT_CAPACITY=625 +SCHEDULED_COMPACTION=6970 +CANCELLED_COMPACTION=5395 +EAGERLY_COMPACTED=11 +CALLBACK_COMPACTED=1383 +CONSUMED=49805 +NOT_CONSUMED=9418 + +4517 +NOT_CONSUMED=12211 + +PACTED=170 +CALLBACK_COMPACTED=5339 +CONSUMED=56199 +NOT_CONSUMED=138789 + +----------------------------------------WAKEUP_ATTACHED=66818 +WAKEUP_PREV_PRIMARY=17167 +WAKEUP_FULLY_IDLE_PRIMARY=0 +WAKEUP_ANY_IDLE_PRIMARY=41365 +WAKEUP_FULLY_IDLE_RESERVE=0 +WAKEUP_ANY_IDLE_RESERVE=5189 +WAKEUP_IDLE_OTHER=4593 +TASK_IMPATIENT=6565 +PROMOTED_TO_PRIMARY=5705 +PROMOTED_TO_RESERVED=1327 +DEMOTED_TO_RESERVED=3873 +RESERVED_AT_CAPACITY=4546 +SCHEDULED_COMPACTION=132827 +CANCELLED_COMPACTION=125383 +EAGERLY_COMPACTED=172 +CALLBACK_COMPACTED=5533 +CONSUMED=60952 +NOT_CONSUMED=141154 + +----------------------------------------WAKEUP_ATTACHED=66818 +WAKEUP_PREV_PRIMARY=17167 +WAKEUP_FULLY_IDLE_PRIMARY=0 +WAKEUP_ANY_IDLE_PRIMARY=41365 +WAKEUP_FULLY_IDLE_RESERVE=0 +WAKEUP_ANY_IDLE_RESERVE=5189 +WAKEUP_IDLE_OTHER=4593 +TASK_IMPATIENT=7163 +PROMOTED_TO_PRIMARY=5705 +PROMOTED_TO_RESERVED=1327 +DEMOTED_TO_RESERVED=3873 +RESERVED_AT_CAPACITY=4546 +SCHEDULED_COMPACTION=132827 +CANCELLED_COMPACTION=125383 +EAGERLY_COMPACTED=172 +CALLBACK_COMPACTED=5533 +CONSUMED=66586 +NOT_CONSUMED=141154 + +----------------------------------------WAKEUP_ATTACHED=66818 +WAKEUP_PREV_PRIMARY=17167 +WAKEUP_FULLY_IDLE_PRIMARY=0 +WAKEUP_ANY_IDLE_PRIMARY=41365 +WAKEUP_FULLY_IDLE_RESERVE=0 +WAKEUP_ANY_IDLE_RESERVE=5189 +WAKEUP_IDLE_OTHER=4593 +TASK_IMPATIENT=7826 +PROMOTED_TO_PRIMARY=5705 +PROMOTED_TO_RESERVED=1327 +DEMOTED_TO_RESERVED=3873 +RESERVED_AT_CAPACITY=4546 +SCHEDULED_COMPACTION=132827 +CANCELLED_COMPACTION=125383 +EAGERLY_COMPACTED=172 +CALLBACK_COMPACTED=5533 +CONSUMED=72418 +NOT_CONSUMED=141154 + +----------------------------------------WAKEUP_ATTACHED=66818 +WAKEUP_PREV_PRIMARY=17167 +WAKEUP_FULLY_IDLE_PRIMARY=0 +WAKEUP_ANY_IDLE_PRIMARY=41365 +WAKEUP_FULLY_IDLE_RESERVE=0 +WAKEUP_ANY_IDLE_RESERVE=5189 +WAKEUP_IDLE_OTHER=4593 +TASK_IMPATIENT=8976 +PROMOTED_TO_PRIMARY=5705 +PROMOTED_TO_RESERVED=1327 +DEMOTED_TO_RESERVED=3873 +RESERVED_AT_CAPACITY=4546 +SCHEDULED_COMPACTION=132827 +CANCELLED_COMPACTION=125383 +EAGERLY_COMPACTED=172 +CALLBACK_COMPACTED=5533 +CONSUMED=80166 +NOT_CONSUMED=141154 + +----------------------------------------WAKEUP_ATTACHED=66818 +WAKEUP_PREV_PRIMARY=17167 +WAKEUP_FULLY_IDLE_PRIMARY=0 +WAKEUP_ANY_IDLE_PRIMARY=41365 +WAKEUP_FULLY_IDLE_RESERVE=0 +WAKEUP_ANY_IDLE_RESERVE=5189 +WAKEUP_IDLE_OTHER=4593 +TASK_IMPATIENT=9862 +PROMOTED_TO_PRIMARY=5705 +PROMOTED_TO_RESERVED=1327 +DEMOTED_TO_RESERVED=3873 +RESERVED_AT_CAPACITY=4546 +SCHEDULED_COMPACTION=132827 +CANCELLED_COMPACTION=125383 +EAGERLY_COMPACTED=172 +CALLBACK_COMPACTED=5533 +CONSUMED=86858 +NOT_CONSUMED=141154 + +----------------------------------------WAKEUP_ATTACHED=66818 +WAKEUP_PREV_PRIMARY=17167 +WAKEUP_FULLY_IDLE_PRIMARY=0 +WAKEUP_ANY_IDLE_PRIMARY=41365 +WAKEUP_FULLY_IDLE_RESERVE=0 +WAKEUP_ANY_IDLE_RESERVE=5189 +WAKEUP_IDLE_OTHER=4593 +TASK_IMPATIENT=10500 +PROMOTED_TO_PRIMARY=5705 +PROMOTED_TO_RESERVED=1327 +DEMOTED_TO_RESERVED=3873 +RESERVED_AT_CAPACITY=4546 +SCHEDULED_COMPACTION=132827 +CANCELLED_COMPACTION=125383 +EAGERLY_COMPACTED=172 +CALLBACK_COMPACTED=5533 +CONSUMED=92592 +NOT_CONSUMED=141154 + +----------------------------------------WAKEUP_ATTACHED=66818 +WAKEUP_PREV_PRIMARY=17167 +WAKEUP_FULLY_IDLE_PRIMARY=0 +WAKEUP_ANY_IDLE_PRIMARY=41365 +WAKEUP_FULLY_IDLE_RESERVE=0 +WAKEUP_ANY_IDLE_RESERVE=5189 +WAKEUP_IDLE_OTHER=4593 +TASK_IMPATIENT=11247 +PROMOTED_TO_PRIMARY=5705 +PROMOTED_TO_RESERVED=1327 +DEMOTED_TO_RESERVED=3873 +RESERVED_AT_CAPACITY=4546 +SCHEDULED_COMPACTION=132827 +CANCELLED_COMPACTION=125383 +EAGERLY_COMPACTED=172 +CALLBACK_COMPACTED=5533 +CONSUMED=98676 +NOT_CONSUMED=141154 + +----------------------------------------WAKEUP_ATTACHED=66871 +WAKEUP_PREV_PRIMARY=17199 +WAKEUP_FULLY_IDLE_PRIMARY=0 +WAKEUP_ANY_IDLE_PRIMARY=41431 +WAKEUP_FULLY_IDLE_RESERVE=0 +WAKEUP_ANY_IDLE_RESERVE=5221 +WAKEUP_IDLE_OTHER=4608 +TASK_IMPATIENT=11800 +PROMOTED_TO_PRIMARY=5738 +PROMOTED_TO_RESERVED=1341 +DEMOTED_TO_RESERVED=3892 +RESERVED_AT_CAPACITY=4565 +SCHEDULED_COMPACTION=133020 +CANCELLED_COMPACTION=125534 +EAGERLY_COMPACTED=174 +CALLBACK_COMPACTED=5569 +CONSUMED=104015 +NOT_CONSUMED=141421 + + +WAKEUP_ANY_IDLE_RESERVE=4158 +WAKEUP_IDLE_OTHER=2328 +TASK_IMPATIENT=3218 +PROMOTED_TO_PRIMARY=4377 +PROMOTED_TO_RESERVED=978 +DEMOTED_TO_RESERVED=3193 +RESERVED_AT_CAPACITY=2318 +SCHEDULED_COMPACTION=19971 +CANCELLED_COMPACTION=14994 +EAGERLY_COMPACTED=7 +CALLBACK_COMPACTED=4376 +CONSUMED=44085 +NOT_CONSUMED=26960 + diff --git a/visualize/proc/net.csv b/visualize/proc/net.csv deleted file mode 100644 index a10b2cd..0000000 --- a/visualize/proc/net.csv +++ /dev/null @@ -1,190 +0,0 @@ -Interface,Bytes Received,Packets Received,Errs Rcv,Drops Rcv,Bytes Sent,Packets Sent,Errs Sent,Drops Sent -lo,357168131,258560,0,0,357168131,258560,0,0 -enp5s0,3269952491,3791526,0,18932,12237168071,9750198,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,357168131,258560,0,0,357168131,258560,0,0 -enp5s0,3269951654,3791513,0,18932,12237124409,9750158,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,357168131,258560,0,0,357168131,258560,0,0 -enp5s0,3269947975,3791467,0,18932,12236857238,9749952,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,357168131,258560,0,0,357168131,258560,0,0 -enp5s0,3269946798,3791455,0,18932,12236845644,9749934,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,357168131,258560,0,0,357168131,258560,0,0 -enp5s0,3269945489,3791440,0,18932,12236821856,9749902,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,357168131,258560,0,0,357168131,258560,0,0 -enp5s0,3269943933,3791425,0,18932,12236769785,9749853,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,357158666,258553,0,0,357158666,258553,0,0 -enp5s0,3269939242,3791396,0,18932,12236717069,9749797,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,357158666,258553,0,0,357158666,258553,0,0 -enp5s0,3269937380,3791374,0,18932,12236617549,9749717,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,357158666,258553,0,0,357158666,258553,0,0 -enp5s0,3269931020,3791268,0,18931,12235929882,9749201,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1182905806,887823,0,0,1182905806,887823,0,0 -enp5s0,9199930878,8027608,0,61630,13273960682,12896085,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1182905806,887823,0,0,1182905806,887823,0,0 -enp5s0,9199930272,8027598,0,61630,13273921913,12896054,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1182896322,887816,0,0,1182896322,887816,0,0 -enp5s0,9199928890,8027579,0,61630,13273868985,12896009,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1182896322,887816,0,0,1182896322,887816,0,0 -enp5s0,9199924999,8027545,0,61630,13273787597,12895938,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1182895682,887812,0,0,1182895682,887812,0,0 -enp5s0,9199916759,8027504,0,61630,13273676899,12895828,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1182895682,887812,0,0,1182895682,887812,0,0 -enp5s0,9199910660,8027466,0,61630,13273520127,12895695,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1182894562,887799,0,0,1182894562,887799,0,0 -enp5s0,9199901282,8027322,0,61630,13273009780,12895252,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1182873295,887788,0,0,1182873295,887788,0,0 -enp5s0,9199880375,8026995,0,61630,13271433440,12894155,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1182873295,887788,0,0,1182873295,887788,0,0 -enp5s0,9199860729,8026693,0,61630,13270039100,12893186,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1182873295,887788,0,0,1182873295,887788,0,0 -enp5s0,9199840797,8026408,0,61630,13268674604,12892232,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1182873295,887788,0,0,1182873295,887788,0,0 -enp5s0,9199807529,8025878,0,61630,13265964087,12890370,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1182873295,887788,0,0,1182873295,887788,0,0 -enp5s0,9199789328,8025578,0,61630,13264595119,12889425,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1182873295,887788,0,0,1182873295,887788,0,0 -enp5s0,9199774229,8025327,0,61629,13263267913,12888517,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1182862364,887774,0,0,1182862364,887774,0,0 -enp5s0,9199746956,8024887,0,61629,13261078351,12887000,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1182858756,887746,0,0,1182858756,887746,0,0 -enp5s0,9199452847,8023811,0,61629,13256857964,12883915,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1182855416,887722,0,0,1182855416,887722,0,0 -enp5s0,9199379805,8023259,0,61629,13254677963,12882324,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1182847601,887662,0,0,1182847601,887662,0,0 -enp5s0,9199315016,8023027,0,61629,13253978900,12881745,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1182842374,887625,0,0,1182842374,887625,0,0 -enp5s0,9199301656,8022952,0,61629,13253808864,12881597,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1182839265,887622,0,0,1182839265,887622,0,0 -enp5s0,9199297724,8022937,0,61629,13253782038,12881570,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1182839265,887622,0,0,1182839265,887622,0,0 -enp5s0,9199293538,8022920,0,61629,13253781073,12881558,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1182838900,887620,0,0,1182838900,887620,0,0 -enp5s0,9199283631,8022888,0,61629,13253760736,12881522,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1182832036,887570,0,0,1182832036,887570,0,0 -enp5s0,9199267157,8022735,0,61629,13253186764,12881078,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1182832036,887570,0,0,1182832036,887570,0,0 -enp5s0,9199251450,8022640,0,61629,13252840246,12880817,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1182830196,887554,0,0,1182830196,887554,0,0 -enp5s0,9199134509,8022396,0,61629,13251952702,12880125,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1182820716,887547,0,0,1182820716,887547,0,0 -enp5s0,9199123867,8022230,0,61629,13250968770,12879436,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1182820716,887547,0,0,1182820716,887547,0,0 -enp5s0,9199119524,8022193,0,61628,13250780132,12879289,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1182820716,887547,0,0,1182820716,887547,0,0 -enp5s0,9199113774,8022115,0,61628,13250406269,12879015,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1182820716,887547,0,0,1182820716,887547,0,0 -enp5s0,9199108925,8022043,0,61628,13250050611,12878751,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1182820716,887547,0,0,1182820716,887547,0,0 -enp5s0,9199106382,8022027,0,61628,13249968355,12878683,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1182820716,887547,0,0,1182820716,887547,0,0 -enp5s0,9199096252,8021970,0,61628,13249716458,12878486,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1182820023,887543,0,0,1182820023,887543,0,0 -enp5s0,9199092516,8021944,0,61628,13249629476,12878410,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1182820023,887543,0,0,1182820023,887543,0,0 -enp5s0,9199091372,8021930,0,61628,13249591086,12878374,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1182820023,887543,0,0,1182820023,887543,0,0 -enp5s0,9199090772,8021920,0,61628,13249550802,12878336,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1182810541,887536,0,0,1182810541,887536,0,0 -enp5s0,9199087232,8021861,0,61628,13249325807,12878159,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1183078832,887969,0,0,1183078832,887969,0,0 -enp5s0,9200212707,8030897,0,61640,13290156854,12907933,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1183069343,887962,0,0,1183069343,887962,0,0 -enp5s0,9200212467,8030893,0,61640,13290141775,12907918,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1183069343,887962,0,0,1183069343,887962,0,0 -enp5s0,9200212109,8030888,0,61640,13290133463,12907908,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1183069343,887962,0,0,1183069343,887962,0,0 -enp5s0,9200211869,8030884,0,61640,13290118993,12907894,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1183069343,887962,0,0,1183069343,887962,0,0 -enp5s0,9200211456,8030878,0,61639,13290104049,12907878,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1183069343,887962,0,0,1183069343,887962,0,0 -enp5s0,9200211173,8030874,0,61639,13290088804,12907860,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1183069343,887962,0,0,1183069343,887962,0,0 -enp5s0,9200210316,8030867,0,61639,13290071902,12907840,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1183069343,887962,0,0,1183069343,887962,0,0 -enp5s0,9200209896,8030860,0,61639,13290040094,12907815,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1183069343,887962,0,0,1183069343,887962,0,0 -enp5s0,9200209356,8030851,0,61639,13290009909,12907789,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1183069343,887962,0,0,1183069343,887962,0,0 -enp5s0,9200208756,8030841,0,61639,13289957780,12907745,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1183059853,887955,0,0,1183059853,887955,0,0 -enp5s0,9200208456,8030836,0,61639,13289939102,12907726,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1183775520,888530,0,0,1183775520,888530,0,0 -enp5s0,9201793815,8051605,0,61675,13397578630,12984357,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1183775520,888530,0,0,1183775520,888530,0,0 -enp5s0,9201792969,8051591,0,61675,13397520948,12984311,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1183766030,888523,0,0,1183766030,888523,0,0 -enp5s0,9201792429,8051582,0,61675,13397480829,12984279,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1183766030,888523,0,0,1183766030,888523,0,0 -enp5s0,9201791883,8051573,0,61675,13397439450,12984246,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1183766030,888523,0,0,1183766030,888523,0,0 -enp5s0,9201785370,8051552,0,61675,13397358302,12984177,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1183765337,888519,0,0,1183765337,888519,0,0 -enp5s0,9201783942,8051531,0,61674,13397265596,12984102,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1183743993,888507,0,0,1183743993,888507,0,0 -enp5s0,9201782982,8051515,0,61674,13397216427,12984055,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1183743993,888507,0,0,1183743993,888507,0,0 -enp5s0,9201781936,8051498,0,61674,13397151043,12983996,0,0 -docker0,0,0,0,0,0,0,0,0 -lo,1183743993,888507,0,0,1183743993,888507,0,0 -enp5s0,9201776059,8051408,0,61674,13396767603,12983699,0,0 -docker0,0,0,0,0,0,0,0,0 diff --git a/visualize/proc/task_backtrace.txt b/visualize/proc/task_backtrace.txt deleted file mode 100644 index 6e662a9..0000000 --- a/visualize/proc/task_backtrace.txt +++ /dev/null @@ -1,50194 +0,0 @@ -The stack size is invalid -Kernel: -0000000300000160: nft_pcpu_tun_ctx @ 0x38208+0x2fffc7f58 -6572747300009fee: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1de6 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000001f4: -0000000300000160: nft_pcpu_tun_ctx @ 0x38208+0x2fffc7f58 -6572747300009ff0: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1de8 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000035a: -Userspace: -0000000300000160: -6572747300009fee: -000000676e2d7373: -000002ee00000000: -00000000000001f4: -0000000300000160: -6572747300009ff0: -000000676e2d7373: -000002ee00000000: -000000000000035a: -0000000300000160: -6572747300009fed: -000000676e2d7373: -000002ee00000000: -00000000000003ee: -0000000300000160: -7064727800009a22: -000002ee00000000: -0000000000000334: -0000000300000160: -6572747300009fef: -000000676e2d7373: -000002ee00000000: -000000000000016f: -The stack size is invalid -Kernel: -0000000300000160: nft_pcpu_tun_ctx @ 0x38208+0x2fffc7f58 -6572747300009ff0: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1de8 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000035a: -0000000300000160: nft_pcpu_tun_ctx @ 0x38208+0x2fffc7f58 -6572747300009fed: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1de5 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003ee: -Userspace: -0000000300000160: -6572747300009ff0: -000000676e2d7373: -000002ee00000000: -000000000000035a: -The stack size is invalid -Kernel: -0000000300000160: nft_pcpu_tun_ctx @ 0x38208+0x2fffc7f58 -6572747300009fed: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1de5 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003ee: -0000000300000160: nft_pcpu_tun_ctx @ 0x38208+0x2fffc7f58 -7064727800009a22: nft_pcpu_tun_ctx @ 0x38208+0x70647277fffd181a -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000334: -Userspace: -0000000300000160: -6572747300009fed: -000000676e2d7373: -000002ee00000000: -00000000000003ee: -0000000300000160: -7064727800009a22: -000002ee00000000: -0000000000000334: -The stack size is invalid -Kernel: -0000000300000160: nft_pcpu_tun_ctx @ 0x38208+0x2fffc7f58 -7064727800009a22: nft_pcpu_tun_ctx @ 0x38208+0x70647277fffd181a -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000334: -0000000300000160: nft_pcpu_tun_ctx @ 0x38208+0x2fffc7f58 -6572747300009fef: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1de7 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000016f: -Userspace: -0000000300000160: -7064727800009a22: -000002ee00000000: -0000000000000334: -0000000300000160: -6572747300009fef: -000000676e2d7373: -000002ee00000000: -000000000000016f: -The stack size is invalid -Kernel: -0000000300000160: nft_pcpu_tun_ctx @ 0x38208+0x2fffc7f58 -6572747300009fef: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1de7 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000016f: -Userspace: -0000000300000160: -6572747300009fef: -000000676e2d7373: -000002ee00000000: -000000000000016f: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000000300000160: nft_pcpu_tun_ctx @ 0x38208+0x2fffc7f58 -6572747300009ff4: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1dec -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000001b7: -0000000300000160: nft_pcpu_tun_ctx @ 0x38208+0x2fffc7f58 -6572747300009ff0: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1de8 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000075: -Userspace: -0000000300000160: -6572747300009ff4: -000000676e2d7373: -000002ee00000000: -00000000000001b7: -0000000300000160: -6572747300009ff0: -000000676e2d7373: -000002ee00000000: -0000000000000075: -0000000300000160: -6572747300009fee: -000000676e2d7373: -000002ee00000000: -0000000000000031: -The stack size is invalid -Kernel: -0000000300000160: nft_pcpu_tun_ctx @ 0x38208+0x2fffc7f58 -6572747300009ff0: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1de8 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000075: -0000000300000160: nft_pcpu_tun_ctx @ 0x38208+0x2fffc7f58 -6572747300009fee: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1de6 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000031: -Userspace: -0000000300000160: -6572747300009ff0: -000000676e2d7373: -000002ee00000000: -0000000000000075: -The stack size is invalid -Kernel: -0000000300000160: nft_pcpu_tun_ctx @ 0x38208+0x2fffc7f58 -6572747300009fee: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1de6 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000031: -Userspace: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000000400000160: nft_pcpu_tun_ctx @ 0x38208+0x3fffc7f58 -6572747300009ff3: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1deb -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000075d: -0000000400000160: nft_pcpu_tun_ctx @ 0x38208+0x3fffc7f58 -6572747300009ff1: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1de9 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000013b: -Userspace: -The stack size is invalid -Kernel: -0000000400000160: nft_pcpu_tun_ctx @ 0x38208+0x3fffc7f58 -6572747300009ff1: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1de9 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000013b: -0000000400000160: nft_pcpu_tun_ctx @ 0x38208+0x3fffc7f58 -6572747300009fed: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1de5 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000036d: -Userspace: -0000000400000160: -6572747300009ff1: -000000676e2d7373: -000002ee00000000: -000000000000013b: -0000000400000160: -6572747300009fed: -000000676e2d7373: -000002ee00000000: -000000000000036d: -0000000400000160: -6572747300009ff0: -000000676e2d7373: -000002ee00000000: -00000000000001f9: -The stack size is invalid -Kernel: -0000000400000160: nft_pcpu_tun_ctx @ 0x38208+0x3fffc7f58 -6572747300009fed: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1de5 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000036d: -0000000400000160: nft_pcpu_tun_ctx @ 0x38208+0x3fffc7f58 -6572747300009ff0: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1de8 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000001f9: -Userspace: -0000000400000160: -6572747300009fed: -000000676e2d7373: -000002ee00000000: -000000000000036d: -The stack size is invalid -Kernel: -0000000400000160: nft_pcpu_tun_ctx @ 0x38208+0x3fffc7f58 -6572747300009ff0: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1de8 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000001f9: -Userspace: -0000000400000160: -6572747300009ff0: -000000676e2d7373: -000002ee00000000: -00000000000001f9: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000000400000160: nft_pcpu_tun_ctx @ 0x38208+0x3fffc7f58 -6572747300009ff1: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1de9 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000412: -Userspace: -0000000400000160: -6572747300009ff1: -000000676e2d7373: -000002ee00000000: -0000000000000412: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000000500000160: nft_pcpu_tun_ctx @ 0x38208+0x4fffc7f58 -6572747300009ff3: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1deb -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005aa: -0000000500000160: nft_pcpu_tun_ctx @ 0x38208+0x4fffc7f58 -6572747300009ff0: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1de8 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000071f: -Userspace: -0000000500000160: -6572747300009ff3: -000000676e2d7373: -000002ee00000000: -00000000000005aa: -0000000500000160: -6572747300009ff0: -000000676e2d7373: -000002ee00000000: -000000000000071f: -0000000500000160: -6572747300009ff4: -000000676e2d7373: -000002ee00000000: -00000000000003f9: -The stack size is invalid -Kernel: -0000000500000160: nft_pcpu_tun_ctx @ 0x38208+0x4fffc7f58 -6572747300009ff0: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1de8 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000071f: -0000000500000160: nft_pcpu_tun_ctx @ 0x38208+0x4fffc7f58 -6572747300009ff4: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1dec -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003f9: -Userspace: -0000000500000160: -6572747300009ff0: -000000676e2d7373: -000002ee00000000: -000000000000071f: -0000000500000160: -6572747300009ff4: -000000676e2d7373: -000002ee00000000: -00000000000003f9: -The stack size is invalid -Kernel: -0000000500000160: nft_pcpu_tun_ctx @ 0x38208+0x4fffc7f58 -6572747300009ff4: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1dec -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003f9: -Userspace: -0000000500000160: -6572747300009ff4: -000000676e2d7373: -000002ee00000000: -00000000000003f9: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000000500000160: nft_pcpu_tun_ctx @ 0x38208+0x4fffc7f58 -6572747300009fee: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1de6 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000007a0: -Userspace: -0000000500000160: -6572747300009fee: -000000676e2d7373: -000002ee00000000: -00000000000007a0: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000000500000160: nft_pcpu_tun_ctx @ 0x38208+0x4fffc7f58 -6572747300009ff3: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1deb -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000001d8: -0000000500000160: nft_pcpu_tun_ctx @ 0x38208+0x4fffc7f58 -6572747300009fef: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1de7 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000636: -Userspace: -0000000500000160: -6572747300009ff3: -000000676e2d7373: -000002ee00000000: -00000000000001d8: -The stack size is invalid -Kernel: -0000000500000160: nft_pcpu_tun_ctx @ 0x38208+0x4fffc7f58 -6572747300009fef: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1de7 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000636: -0000000500000160: nft_pcpu_tun_ctx @ 0x38208+0x4fffc7f58 -6572747300009ff2: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1dea -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000412: -Userspace: -0000000500000160: -6572747300009fef: -000000676e2d7373: -000002ee00000000: -0000000000000636: -The stack size is invalid -Kernel: -0000000500000160: nft_pcpu_tun_ctx @ 0x38208+0x4fffc7f58 -6572747300009ff2: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1dea -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000412: -0000000500000160: nft_pcpu_tun_ctx @ 0x38208+0x4fffc7f58 -6572747300009ff1: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1de9 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000024f: -Userspace: -0000000500000160: -6572747300009ff2: -000000676e2d7373: -000002ee00000000: -0000000000000412: -0000000500000160: -6572747300009ff1: -000000676e2d7373: -000002ee00000000: -000000000000024f: -0000000600000160: -6572747300009fee: -000000676e2d7373: -000002ee00000000: -00000000000006f2: -The stack size is invalid -Kernel: -0000000500000160: nft_pcpu_tun_ctx @ 0x38208+0x4fffc7f58 -6572747300009ff1: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1de9 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000024f: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -6572747300009fee: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1de6 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006f2: -Userspace: -0000000500000160: -6572747300009ff1: -000000676e2d7373: -000002ee00000000: -000000000000024f: -0000000600000160: -6572747300009fee: -000000676e2d7373: -000002ee00000000: -00000000000006f2: -The stack size is invalid -Kernel: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -6572747300009fee: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1de6 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006f2: -Userspace: -0000000600000160: -6572747300009fee: -000000676e2d7373: -000002ee00000000: -00000000000006f2: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -6572747300009fed: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1de5 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000001a: -Userspace: -0000000600000160: -6572747300009fed: -000000676e2d7373: -000002ee00000000: -000000000000001a: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -6572747300009ff3: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1deb -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000035a: -Userspace: -0000000600000160: -6572747300009ff3: -000000676e2d7373: -000002ee00000000: -000000000000035a: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -6572747300009fee: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1de6 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000412: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -6572747300009fed: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1de5 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000412: -Userspace: -0000000600000160: -6572747300009fee: -000000676e2d7373: -000002ee00000000: -0000000000000412: -0000000600000160: -6572747300009fed: -000000676e2d7373: -000002ee00000000: -0000000000000412: -0000000600000160: -6572747300009ff1: -000000676e2d7373: -000002ee00000000: -00000000000003e7: -0000000600000160: -6572747300009ff2: -000000676e2d7373: -000002ee00000000: -00000000000006e1: -The stack size is invalid -Kernel: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -6572747300009fed: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1de5 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000412: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -6572747300009ff1: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1de9 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003e7: -Userspace: -0000000600000160: -6572747300009fed: -000000676e2d7373: -000002ee00000000: -0000000000000412: -0000000600000160: -6572747300009ff1: -000000676e2d7373: -000002ee00000000: -00000000000003e7: -0000000600000160: -6572747300009ff2: -000000676e2d7373: -000002ee00000000: -00000000000006e1: -The stack size is invalid -Kernel: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -6572747300009ff1: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1de9 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003e7: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -6572747300009ff2: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1dea -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006e1: -Userspace: -0000000600000160: -6572747300009ff1: -000000676e2d7373: -000002ee00000000: -00000000000003e7: -0000000600000160: -6572747300009ff2: -000000676e2d7373: -000002ee00000000: -00000000000006e1: -The stack size is invalid -Kernel: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -6572747300009ff2: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1dea -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006e1: -Userspace: -0000000600000160: -6572747300009ff2: -000000676e2d7373: -000002ee00000000: -00000000000006e1: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -6572747300009ff3: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1deb -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000069c: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -6572747300009ff1: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1de9 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000007ea: -Userspace: -0000000700000160: -6572747300009ff3: -000000676e2d7373: -000002ee00000000: -000000000000069c: -0000000700000160: -6572747300009ff1: -000000676e2d7373: -000002ee00000000: -00000000000007ea: -0000000700000160: -6572747300009fed: -000000676e2d7373: -000002ee00000000: -0000000000000665: -The stack size is invalid -Kernel: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -6572747300009ff1: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1de9 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000007ea: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -6572747300009fed: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1de5 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000665: -Userspace: -0000000700000160: -6572747300009ff1: -000000676e2d7373: -000002ee00000000: -00000000000007ea: -0000000700000160: -6572747300009fed: -000000676e2d7373: -000002ee00000000: -0000000000000665: -The stack size is invalid -Kernel: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -6572747300009fed: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1de5 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000665: -Userspace: -0000000700000160: -6572747300009fed: -000000676e2d7373: -000002ee00000000: -0000000000000665: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -6572747300009fee: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1de6 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000024b: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -6572747300009ff2: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1dea -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003ef: -Userspace: -0000000700000160: -6572747300009fee: -000000676e2d7373: -000002ee00000000: -000000000000024b: -0000000700000160: -6572747300009ff2: -000000676e2d7373: -000002ee00000000: -00000000000003ef: -The stack size is invalid -Kernel: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -6572747300009ff2: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1dea -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003ef: -Userspace: -0000000700000160: -6572747300009ff2: -000000676e2d7373: -000002ee00000000: -00000000000003ef: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -6572747300009ff3: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1deb -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000007c: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -6572747300009fee: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1de6 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000620: -Userspace: -0000000700000160: -6572747300009ff3: -000000676e2d7373: -000002ee00000000: -000000000000007c: -The stack size is invalid -Kernel: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -6572747300009fee: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1de6 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000620: -Userspace: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -6572747300009ff2: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1dea -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000027b: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -43203243000013a6: nft_pcpu_tun_ctx @ 0x38208+0x43203242fffc919e -5472656c69706d6f: nft_pcpu_tun_ctx @ 0x38208+0x5472656c696ceb67 -000002ee00657268: nft_pcpu_tun_ctx @ 0x38208+0x2ee0061f060 -0000000000000798: -Userspace: -0000000800000160: -6572747300009ff2: -000000676e2d7373: -000002ee00000000: -000000000000027b: -0000000800000160: -43203243000013a6: -5472656c69706d6f: -000002ee00657268: -0000000000000798: -0000000800000160: -7064727800009a22: -000002ee00000000: -0000000000000334: -The stack size is invalid -Kernel: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -43203243000013a6: nft_pcpu_tun_ctx @ 0x38208+0x43203242fffc919e -5472656c69706d6f: nft_pcpu_tun_ctx @ 0x38208+0x5472656c696ceb67 -000002ee00657268: nft_pcpu_tun_ctx @ 0x38208+0x2ee0061f060 -0000000000000798: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -7064727800009a22: nft_pcpu_tun_ctx @ 0x38208+0x70647277fffd181a -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000334: -Userspace: -0000000800000160: -43203243000013a6: -5472656c69706d6f: -000002ee00657268: -0000000000000798: -0000000800000160: -7064727800009a22: -000002ee00000000: -0000000000000334: -The stack size is invalid -Kernel: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -7064727800009a22: nft_pcpu_tun_ctx @ 0x38208+0x70647277fffd181a -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000334: -Userspace: -0000000800000160: -7064727800009a22: -000002ee00000000: -0000000000000334: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -6572747300009ff3: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1deb -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000412: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -6572747300009ff2: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1dea -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000173: -Userspace: -0000000800000160: -6572747300009ff3: -000000676e2d7373: -000002ee00000000: -0000000000000412: -0000000800000160: -6572747300009ff2: -000000676e2d7373: -000002ee00000000: -0000000000000173: -0000000800000160: -6572747300009fed: -000000676e2d7373: -000002ee00000000: -000000000000035a: -0000000800000160: -6572747300009ff4: -000000676e2d7373: -000002ee00000000: -00000000000004df: -0000000800000160: -6572747300009fee: -000000676e2d7373: -000002ee00000000: -0000000000000350: -The stack size is invalid -Kernel: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -6572747300009ff2: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1dea -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000173: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -6572747300009fed: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1de5 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000035a: -Userspace: -0000000800000160: -6572747300009ff2: -000000676e2d7373: -000002ee00000000: -0000000000000173: -0000000800000160: -6572747300009fed: -000000676e2d7373: -000002ee00000000: -000000000000035a: -0000000800000160: -6572747300009ff4: -000000676e2d7373: -000002ee00000000: -00000000000004df: -The stack size is invalid -Kernel: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -6572747300009fed: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1de5 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000035a: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -6572747300009ff4: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1dec -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004df: -Userspace: -0000000800000160: -6572747300009fed: -000000676e2d7373: -000002ee00000000: -000000000000035a: -The stack size is invalid -Kernel: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -6572747300009ff4: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1dec -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004df: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -6572747300009fee: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1de6 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000350: -Userspace: -0000000800000160: -6572747300009ff4: -000000676e2d7373: -000002ee00000000: -00000000000004df: -0000000800000160: -6572747300009fee: -000000676e2d7373: -000002ee00000000: -0000000000000350: -The stack size is invalid -Kernel: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -6572747300009fee: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1de6 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000350: -Userspace: -0000000800000160: -6572747300009fee: -000000676e2d7373: -000002ee00000000: -0000000000000350: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000000900000160: nft_pcpu_tun_ctx @ 0x38208+0x8fffc7f58 -6572747300009fee: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffd1de6 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000745: -Userspace: -0000000900000160: -6572747300009fee: -000000676e2d7373: -000002ee00000000: -0000000000000745: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -Userspace: -pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -Userspace: -0000000600000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000600000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000600000160: -65646f63000011f9: -000002ee00000000: -00000000000007af: -The stack size is invalid -Kernel: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -65646f63000011f9: nft_pcpu_tun_ctx @ 0x38208+0x65646f62fffc8ff1 -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000007af: -Userspace: -0000000600000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000600000160: -65646f63000011f9: -000002ee00000000: -00000000000007af: -0000000600000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -65646f63000011f9: nft_pcpu_tun_ctx @ 0x38208+0x65646f62fffc8ff1 -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000007af: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -Userspace: -0000000600000160: -65646f63000011f9: -000002ee00000000: -00000000000007af: -0000000600000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000600000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -Userspace: -0000000600000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000600000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000600000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000600000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000600000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -Userspace: -0000000600000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000600000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000600000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -Userspace: -0000000600000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000600000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000600000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -Userspace: -0000000600000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000600000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000600000160: -65646f63000011f9: -000002ee00000000: -00000000000007af: -The stack size is invalid -Kernel: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -65646f63000011f9: nft_pcpu_tun_ctx @ 0x38208+0x65646f62fffc8ff1 -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000007af: -Userspace: -0000000600000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000600000160: -65646f63000011f9: -000002ee00000000: -00000000000007af: -0000000600000160: -65646f63000011f9: -000002ee00000000: -00000000000007af: -The stack size is invalid -Kernel: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -65646f63000011f9: nft_pcpu_tun_ctx @ 0x38208+0x65646f62fffc8ff1 -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000007af: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -65646f63000011f9: nft_pcpu_tun_ctx @ 0x38208+0x65646f62fffc8ff1 -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000007af: -Userspace: -0000000600000160: -65646f63000011f9: -000002ee00000000: -00000000000007af: -0000000600000160: -65646f63000011f9: -000002ee00000000: -00000000000007af: -0000000600000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -65646f63000011f9: nft_pcpu_tun_ctx @ 0x38208+0x65646f62fffc8ff1 -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000007af: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -Userspace: -0000000600000160: -65646f63000011f9: -000002ee00000000: -00000000000007af: -0000000600000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -Userspace: -0000000600000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -Userspace: -0000000700000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000700000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000700000160: -706472780000194e: -000002ee00000000: -0000000000000334: -The stack size is invalid -Kernel: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -706472780000194e: nft_pcpu_tun_ctx @ 0x38208+0x70647277fffc9746 -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000334: -Userspace: -0000000700000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000700000160: -706472780000194e: -000002ee00000000: -0000000000000334: -0000000700000160: -706472780000194e: -000002ee00000000: -0000000000000334: -The stack size is invalid -Kernel: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -706472780000194e: nft_pcpu_tun_ctx @ 0x38208+0x70647277fffc9746 -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000334: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -706472780000194e: nft_pcpu_tun_ctx @ 0x38208+0x70647277fffc9746 -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000334: -Userspace: -0000000700000160: -706472780000194e: -000002ee00000000: -0000000000000334: -0000000700000160: -706472780000194e: -000002ee00000000: -0000000000000334: -0000000700000160: -706472780000194e: -000002ee00000000: -0000000000000334: -The stack size is invalid -Kernel: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -706472780000194e: nft_pcpu_tun_ctx @ 0x38208+0x70647277fffc9746 -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000334: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -706472780000194e: nft_pcpu_tun_ctx @ 0x38208+0x70647277fffc9746 -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000334: -Userspace: -0000000700000160: -706472780000194e: -000002ee00000000: -0000000000000334: -0000000700000160: -706472780000194e: -000002ee00000000: -0000000000000334: -The stack size is invalid -Kernel: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -706472780000194e: nft_pcpu_tun_ctx @ 0x38208+0x70647277fffc9746 -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000334: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -Userspace: -0000000700000160: -706472780000194e: -000002ee00000000: -0000000000000334: -0000000700000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -Userspace: -0000000700000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000700000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -706472780000194e: nft_pcpu_tun_ctx @ 0x38208+0x70647277fffc9746 -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000334: -Userspace: -0000000700000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000700000160: -706472780000194e: -000002ee00000000: -0000000000000334: -0000000700000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -706472780000194e: nft_pcpu_tun_ctx @ 0x38208+0x70647277fffc9746 -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000334: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -Userspace: -0000000700000160: -706472780000194e: -000002ee00000000: -0000000000000334: -0000000700000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000700000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -Userspace: -0000000700000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000700000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -Userspace: -0000000700000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000800000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000800000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -Userspace: -0000000800000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000800000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000800000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -Userspace: -0000000800000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000800000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000800000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -Userspace: -0000000800000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000800000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000800000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -Userspace: -0000000800000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000800000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000800000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -Userspace: -0000000800000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000800000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000800000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -Userspace: -0000000800000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000800000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000800000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -Userspace: -0000000800000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000800000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000800000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -The stack size is invalid -Kernel: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -Userspace: -0000000800000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000800000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000800000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -Userspace: -0000000800000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000800000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -Userspace: -0000000800000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -0000000900000160: nft_pcpu_tun_ctx @ 0x38208+0x8fffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -Userspace: -0000000800000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000900000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000900000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -The stack size is invalid -Kernel: -0000000900000160: nft_pcpu_tun_ctx @ 0x38208+0x8fffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -0000000900000160: nft_pcpu_tun_ctx @ 0x38208+0x8fffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -Userspace: -0000000900000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000900000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000900000160: -706472780000194e: -000002ee00000000: -0000000000000334: -The stack size is invalid -Kernel: -0000000900000160: nft_pcpu_tun_ctx @ 0x38208+0x8fffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -0000000900000160: nft_pcpu_tun_ctx @ 0x38208+0x8fffc7f58 -706472780000194e: nft_pcpu_tun_ctx @ 0x38208+0x70647277fffc9746 -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000334: -Userspace: -0000000900000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000900000160: -706472780000194e: -000002ee00000000: -0000000000000334: -0000000900000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -The stack size is invalid -Kernel: -0000000900000160: nft_pcpu_tun_ctx @ 0x38208+0x8fffc7f58 -706472780000194e: nft_pcpu_tun_ctx @ 0x38208+0x70647277fffc9746 -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000334: -0000000900000160: nft_pcpu_tun_ctx @ 0x38208+0x8fffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -Userspace: -0000000900000160: -706472780000194e: -000002ee00000000: -0000000000000334: -0000000900000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000900000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -The stack size is invalid -Kernel: -0000000900000160: nft_pcpu_tun_ctx @ 0x38208+0x8fffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -0000000900000160: nft_pcpu_tun_ctx @ 0x38208+0x8fffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -Userspace: -0000000900000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000900000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -The stack size is invalid -Kernel: -0000000900000160: nft_pcpu_tun_ctx @ 0x38208+0x8fffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -0000000900000160: nft_pcpu_tun_ctx @ 0x38208+0x8fffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -Userspace: -0000000900000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000900000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000900000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -The stack size is invalid -Kernel: -0000000900000160: nft_pcpu_tun_ctx @ 0x38208+0x8fffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -0000000900000160: nft_pcpu_tun_ctx @ 0x38208+0x8fffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -Userspace: -0000000900000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000900000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000900000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -The stack size is invalid -Kernel: -0000000900000160: nft_pcpu_tun_ctx @ 0x38208+0x8fffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -0000000900000160: nft_pcpu_tun_ctx @ 0x38208+0x8fffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -Userspace: -0000000900000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000900000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000900000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -The stack size is invalid -Kernel: -0000000900000160: nft_pcpu_tun_ctx @ 0x38208+0x8fffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -0000000900000160: nft_pcpu_tun_ctx @ 0x38208+0x8fffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -Userspace: -0000000900000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000900000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000900000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -The stack size is invalid -Kernel: -0000000900000160: nft_pcpu_tun_ctx @ 0x38208+0x8fffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -0000000900000160: nft_pcpu_tun_ctx @ 0x38208+0x8fffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -Userspace: -0000000900000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000900000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000900000160: -706472780000194e: -000002ee00000000: -0000000000000334: -The stack size is invalid -Kernel: -0000000900000160: nft_pcpu_tun_ctx @ 0x38208+0x8fffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -0000000900000160: nft_pcpu_tun_ctx @ 0x38208+0x8fffc7f58 -706472780000194e: nft_pcpu_tun_ctx @ 0x38208+0x70647277fffc9746 -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000334: -Userspace: -0000000900000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000900000160: -706472780000194e: -000002ee00000000: -0000000000000334: -0000000a00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -The stack size is invalid -Kernel: -0000000900000160: nft_pcpu_tun_ctx @ 0x38208+0x8fffc7f58 -706472780000194e: nft_pcpu_tun_ctx @ 0x38208+0x70647277fffc9746 -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000334: -0000000a00000160: nft_pcpu_tun_ctx @ 0x38208+0x9fffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -Userspace: -0000000900000160: -706472780000194e: -000002ee00000000: -0000000000000334: -0000000a00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000a00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -The stack size is invalid -Kernel: -0000000a00000160: nft_pcpu_tun_ctx @ 0x38208+0x9fffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -0000000a00000160: nft_pcpu_tun_ctx @ 0x38208+0x9fffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -Userspace: -0000000a00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000a00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -The stack size is invalid -Kernel: -0000000a00000160: nft_pcpu_tun_ctx @ 0x38208+0x9fffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -0000000a00000160: nft_pcpu_tun_ctx @ 0x38208+0x9fffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -Userspace: -0000000a00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000a00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000a00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -The stack size is invalid -Kernel: -0000000a00000160: nft_pcpu_tun_ctx @ 0x38208+0x9fffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -0000000a00000160: nft_pcpu_tun_ctx @ 0x38208+0x9fffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -Userspace: -0000000a00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000a00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000a00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -The stack size is invalid -Kernel: -0000000a00000160: nft_pcpu_tun_ctx @ 0x38208+0x9fffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -0000000a00000160: nft_pcpu_tun_ctx @ 0x38208+0x9fffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -Userspace: -0000000a00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000a00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000a00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -The stack size is invalid -Kernel: -0000000a00000160: nft_pcpu_tun_ctx @ 0x38208+0x9fffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -0000000a00000160: nft_pcpu_tun_ctx @ 0x38208+0x9fffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -Userspace: -0000000a00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000a00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000a00000160: -706472780000194e: -000002ee00000000: -0000000000000334: -The stack size is invalid -Kernel: -0000000a00000160: nft_pcpu_tun_ctx @ 0x38208+0x9fffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -0000000a00000160: nft_pcpu_tun_ctx @ 0x38208+0x9fffc7f58 -706472780000194e: nft_pcpu_tun_ctx @ 0x38208+0x70647277fffc9746 -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000334: -Userspace: -0000000a00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000a00000160: -706472780000194e: -000002ee00000000: -0000000000000334: -0000000a00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -0000000a00000160: nft_pcpu_tun_ctx @ 0x38208+0x9fffc7f58 -706472780000194e: nft_pcpu_tun_ctx @ 0x38208+0x70647277fffc9746 -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000334: -0000000a00000160: nft_pcpu_tun_ctx @ 0x38208+0x9fffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -Userspace: -0000000a00000160: -706472780000194e: -000002ee00000000: -0000000000000334: -0000000a00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000a00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -The stack size is invalid -Kernel: -0000000a00000160: nft_pcpu_tun_ctx @ 0x38208+0x9fffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -0000000a00000160: nft_pcpu_tun_ctx @ 0x38208+0x9fffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -Userspace: -0000000a00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000a00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -The stack size is invalid -Kernel: -0000000a00000160: nft_pcpu_tun_ctx @ 0x38208+0x9fffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -0000000a00000160: nft_pcpu_tun_ctx @ 0x38208+0x9fffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -Userspace: -0000000a00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000a00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000a00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -0000000a00000160: nft_pcpu_tun_ctx @ 0x38208+0x9fffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -0000000a00000160: nft_pcpu_tun_ctx @ 0x38208+0x9fffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -Userspace: -0000000a00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000a00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000a00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -The stack size is invalid -Kernel: -0000000a00000160: nft_pcpu_tun_ctx @ 0x38208+0x9fffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -0000000a00000160: nft_pcpu_tun_ctx @ 0x38208+0x9fffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -Userspace: -0000000a00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000a00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000b00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -0000000a00000160: nft_pcpu_tun_ctx @ 0x38208+0x9fffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -0000000b00000160: nft_pcpu_tun_ctx @ 0x38208+0xafffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -Userspace: -0000000a00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000b00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000b00000160: -706472780000194e: -000002ee00000000: -0000000000000334: -The stack size is invalid -Kernel: -0000000b00000160: nft_pcpu_tun_ctx @ 0x38208+0xafffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -0000000b00000160: nft_pcpu_tun_ctx @ 0x38208+0xafffc7f58 -706472780000194e: nft_pcpu_tun_ctx @ 0x38208+0x70647277fffc9746 -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000334: -Userspace: -0000000b00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000b00000160: -706472780000194e: -000002ee00000000: -0000000000000334: -0000000b00000160: -706472780000194e: -000002ee00000000: -0000000000000334: -The stack size is invalid -Kernel: -0000000b00000160: nft_pcpu_tun_ctx @ 0x38208+0xafffc7f58 -706472780000194e: nft_pcpu_tun_ctx @ 0x38208+0x70647277fffc9746 -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000334: -0000000b00000160: nft_pcpu_tun_ctx @ 0x38208+0xafffc7f58 -706472780000194e: nft_pcpu_tun_ctx @ 0x38208+0x70647277fffc9746 -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000334: -Userspace: -0000000b00000160: -706472780000194e: -000002ee00000000: -0000000000000334: -0000000b00000160: -706472780000194e: -000002ee00000000: -0000000000000334: -0000000b00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -0000000b00000160: nft_pcpu_tun_ctx @ 0x38208+0xafffc7f58 -706472780000194e: nft_pcpu_tun_ctx @ 0x38208+0x70647277fffc9746 -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000334: -0000000b00000160: nft_pcpu_tun_ctx @ 0x38208+0xafffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -Userspace: -0000000b00000160: -706472780000194e: -000002ee00000000: -0000000000000334: -0000000b00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -0000000b00000160: nft_pcpu_tun_ctx @ 0x38208+0xafffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -0000000b00000160: nft_pcpu_tun_ctx @ 0x38208+0xafffc7f58 -706472780000194e: nft_pcpu_tun_ctx @ 0x38208+0x70647277fffc9746 -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000334: -Userspace: -0000000b00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000b00000160: -706472780000194e: -000002ee00000000: -0000000000000334: -The stack size is invalid -Kernel: -0000000b00000160: nft_pcpu_tun_ctx @ 0x38208+0xafffc7f58 -706472780000194e: nft_pcpu_tun_ctx @ 0x38208+0x70647277fffc9746 -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000334: -0000000b00000160: nft_pcpu_tun_ctx @ 0x38208+0xafffc7f58 -706472780000194e: nft_pcpu_tun_ctx @ 0x38208+0x70647277fffc9746 -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000334: -Userspace: -0000000b00000160: -706472780000194e: -000002ee00000000: -0000000000000334: -0000000b00000160: -706472780000194e: -000002ee00000000: -0000000000000334: -0000000b00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -0000000b00000160: nft_pcpu_tun_ctx @ 0x38208+0xafffc7f58 -706472780000194e: nft_pcpu_tun_ctx @ 0x38208+0x70647277fffc9746 -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000334: -0000000b00000160: nft_pcpu_tun_ctx @ 0x38208+0xafffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -Userspace: -0000000b00000160: -706472780000194e: -000002ee00000000: -0000000000000334: -0000000b00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -0000000b00000160: nft_pcpu_tun_ctx @ 0x38208+0xafffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -0000000b00000160: nft_pcpu_tun_ctx @ 0x38208+0xafffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -Userspace: -0000000b00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000b00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -0000000b00000160: nft_pcpu_tun_ctx @ 0x38208+0xafffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -0000000b00000160: nft_pcpu_tun_ctx @ 0x38208+0xafffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -Userspace: -0000000b00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000b00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000b00000160: -706472780000194e: -000002ee00000000: -0000000000000334: -The stack size is invalid -Kernel: -0000000b00000160: nft_pcpu_tun_ctx @ 0x38208+0xafffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -0000000b00000160: nft_pcpu_tun_ctx @ 0x38208+0xafffc7f58 -706472780000194e: nft_pcpu_tun_ctx @ 0x38208+0x70647277fffc9746 -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000334: -Userspace: -0000000b00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000b00000160: -706472780000194e: -000002ee00000000: -0000000000000334: -0000000b00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -0000000b00000160: nft_pcpu_tun_ctx @ 0x38208+0xafffc7f58 -706472780000194e: nft_pcpu_tun_ctx @ 0x38208+0x70647277fffc9746 -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000334: -0000000b00000160: nft_pcpu_tun_ctx @ 0x38208+0xafffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -Userspace: -0000000b00000160: -706472780000194e: -000002ee00000000: -0000000000000334: -0000000b00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000c00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -0000000b00000160: nft_pcpu_tun_ctx @ 0x38208+0xafffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -0000000c00000160: nft_pcpu_tun_ctx @ 0x38208+0xbfffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -Userspace: -0000000b00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000c00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -0000000c00000160: nft_pcpu_tun_ctx @ 0x38208+0xbfffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -0000000c00000160: nft_pcpu_tun_ctx @ 0x38208+0xbfffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -Userspace: -0000000c00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000c00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000c00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -0000000c00000160: nft_pcpu_tun_ctx @ 0x38208+0xbfffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -0000000c00000160: nft_pcpu_tun_ctx @ 0x38208+0xbfffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -Userspace: -0000000c00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000c00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000c00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -0000000c00000160: nft_pcpu_tun_ctx @ 0x38208+0xbfffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -0000000c00000160: nft_pcpu_tun_ctx @ 0x38208+0xbfffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -Userspace: -0000000c00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000c00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000c00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -0000000c00000160: nft_pcpu_tun_ctx @ 0x38208+0xbfffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -0000000c00000160: nft_pcpu_tun_ctx @ 0x38208+0xbfffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -Userspace: -0000000c00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000c00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000c00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -0000000c00000160: nft_pcpu_tun_ctx @ 0x38208+0xbfffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -0000000c00000160: nft_pcpu_tun_ctx @ 0x38208+0xbfffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -Userspace: -0000000c00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000c00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000c00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -0000000c00000160: nft_pcpu_tun_ctx @ 0x38208+0xbfffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -0000000c00000160: nft_pcpu_tun_ctx @ 0x38208+0xbfffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -Userspace: -0000000c00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000c00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000c00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -0000000c00000160: nft_pcpu_tun_ctx @ 0x38208+0xbfffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -0000000c00000160: nft_pcpu_tun_ctx @ 0x38208+0xbfffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -Userspace: -0000000c00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000c00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000c00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -0000000c00000160: nft_pcpu_tun_ctx @ 0x38208+0xbfffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -0000000c00000160: nft_pcpu_tun_ctx @ 0x38208+0xbfffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -Userspace: -0000000c00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000c00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000c00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -0000000c00000160: nft_pcpu_tun_ctx @ 0x38208+0xbfffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -0000000c00000160: nft_pcpu_tun_ctx @ 0x38208+0xbfffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -Userspace: -0000000c00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000c00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000c00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -The stack size is invalid -Kernel: -0000000c00000160: nft_pcpu_tun_ctx @ 0x38208+0xbfffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -0000000c00000160: nft_pcpu_tun_ctx @ 0x38208+0xbfffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -Userspace: -0000000c00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000c00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000d00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -0000000c00000160: nft_pcpu_tun_ctx @ 0x38208+0xbfffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -0000000d00000160: nft_pcpu_tun_ctx @ 0x38208+0xcfffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -Userspace: -0000000c00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000d00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000d00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -0000000d00000160: nft_pcpu_tun_ctx @ 0x38208+0xcfffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -0000000d00000160: nft_pcpu_tun_ctx @ 0x38208+0xcfffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -Userspace: -0000000d00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000d00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000d00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -0000000d00000160: nft_pcpu_tun_ctx @ 0x38208+0xcfffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -0000000d00000160: nft_pcpu_tun_ctx @ 0x38208+0xcfffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -Userspace: -0000000d00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -0000000d00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -0000000d00000160: nft_pcpu_tun_ctx @ 0x38208+0xcfffc7f58 -67726f5800000f17: nft_pcpu_tun_ctx @ 0x38208+0x67726f57fffc8d0f -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044b: -Userspace: -0000000d00000160: -67726f5800000f17: -000002ee00000000: -000000000000044b: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000000d00000160: nft_pcpu_tun_ctx @ 0x38208+0xcfffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -0000000d00000160: nft_pcpu_tun_ctx @ 0x38208+0xcfffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -Userspace: -0000000d00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000d00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000d00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -The stack size is invalid -Kernel: -0000000d00000160: nft_pcpu_tun_ctx @ 0x38208+0xcfffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -0000000d00000160: nft_pcpu_tun_ctx @ 0x38208+0xcfffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -Userspace: -0000000d00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000d00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000d00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -The stack size is invalid -Kernel: -0000000d00000160: nft_pcpu_tun_ctx @ 0x38208+0xcfffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -0000000d00000160: nft_pcpu_tun_ctx @ 0x38208+0xcfffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -Userspace: -0000000d00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000d00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000d00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -The stack size is invalid -Kernel: -0000000d00000160: nft_pcpu_tun_ctx @ 0x38208+0xcfffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -0000000d00000160: nft_pcpu_tun_ctx @ 0x38208+0xcfffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -Userspace: -0000000d00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000d00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000d00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -The stack size is invalid -Kernel: -0000000d00000160: nft_pcpu_tun_ctx @ 0x38208+0xcfffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -0000000d00000160: nft_pcpu_tun_ctx @ 0x38208+0xcfffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -Userspace: -0000000d00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000d00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000d00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -The stack size is invalid -Kernel: -0000000d00000160: nft_pcpu_tun_ctx @ 0x38208+0xcfffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -0000000d00000160: nft_pcpu_tun_ctx @ 0x38208+0xcfffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -Userspace: -0000000d00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000d00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000d00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -The stack size is invalid -Kernel: -0000000d00000160: nft_pcpu_tun_ctx @ 0x38208+0xcfffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -0000000d00000160: nft_pcpu_tun_ctx @ 0x38208+0xcfffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -Userspace: -0000000d00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000d00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000e00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -The stack size is invalid -Kernel: -0000000d00000160: nft_pcpu_tun_ctx @ 0x38208+0xcfffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -Userspace: -0000000d00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000e00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000e00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -The stack size is invalid -Kernel: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -Userspace: -0000000e00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000e00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000e00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -The stack size is invalid -Kernel: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -Userspace: -0000000e00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000e00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000e00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -The stack size is invalid -Kernel: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -Userspace: -0000000e00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000e00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000e00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -The stack size is invalid -Kernel: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -Userspace: -0000000e00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000e00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000e00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -The stack size is invalid -Kernel: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -Userspace: -0000000e00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000e00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000e00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -The stack size is invalid -Kernel: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -Userspace: -0000000e00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000e00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000e00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -The stack size is invalid -Kernel: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -Userspace: -0000000e00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000e00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000e00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -The stack size is invalid -Kernel: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -Userspace: -0000000e00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000e00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000e00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -The stack size is invalid -Kernel: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -Userspace: -0000000e00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000e00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000e00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -The stack size is invalid -Kernel: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -Userspace: -0000000e00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000e00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000f00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -The stack size is invalid -Kernel: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -0000000f00000160: nft_pcpu_tun_ctx @ 0x38208+0xefffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -Userspace: -0000000e00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -0000000f00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -The stack size is invalid -Kernel: -0000000f00000160: nft_pcpu_tun_ctx @ 0x38208+0xefffc7f58 -437a695600001231: nft_pcpu_tun_ctx @ 0x38208+0x437a6955fffc9029 -6f7469736f706d6f: nft_pcpu_tun_ctx @ 0x38208+0x6f7469736f6ceb67 -000002ee00685472: nft_pcpu_tun_ctx @ 0x38208+0x2ee0064d26a -0000000000000422: -Userspace: -0000000f00000160: -437a695600001231: -6f7469736f706d6f: -000002ee00685472: -0000000000000422: -The stack size is invalid -Kernel: -Userspace: -@ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000252: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000000e00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000252: -0000000e00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000e00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000000e00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000e00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000000e00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000417: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f5: -Userspace: -0000000e00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000417: -0000000e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000005f5: -0000000e00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000006f6: -0000000e00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f5: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006f6: -Userspace: -0000000e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000005f5: -0000000e00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000006f6: -0000000e00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006f6: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000000e00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000006f6: -0000000e00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000f00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000311: -The stack size is invalid -Kernel: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000000f00000160: nft_pcpu_tun_ctx @ 0x38208+0xefffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000000e00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000f00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000311: -0000000f00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000236: -0000000f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000005f5: -The stack size is invalid -Kernel: -0000000f00000160: nft_pcpu_tun_ctx @ 0x38208+0xefffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000000f00000160: nft_pcpu_tun_ctx @ 0x38208+0xefffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000311: -Userspace: -0000000f00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000311: -0000000f00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000236: -0000000f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000005f5: -The stack size is invalid -Kernel: -0000000f00000160: nft_pcpu_tun_ctx @ 0x38208+0xefffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000311: -0000000f00000160: nft_pcpu_tun_ctx @ 0x38208+0xefffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000236: -Userspace: -0000000f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000311: -0000000f00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000236: -0000000f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000005f5: -0000000f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000311: -The stack size is invalid -Kernel: -0000000f00000160: nft_pcpu_tun_ctx @ 0x38208+0xefffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000236: -0000000f00000160: nft_pcpu_tun_ctx @ 0x38208+0xefffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f5: -Userspace: -0000000f00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000236: -0000000f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000005f5: -The stack size is invalid -Kernel: -0000000f00000160: nft_pcpu_tun_ctx @ 0x38208+0xefffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f5: -0000000f00000160: nft_pcpu_tun_ctx @ 0x38208+0xefffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000311: -Userspace: -0000000f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000005f5: -0000000f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000311: -The stack size is invalid -Kernel: -0000000f00000160: nft_pcpu_tun_ctx @ 0x38208+0xefffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000311: -0000000f00000160: nft_pcpu_tun_ctx @ 0x38208+0xefffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000236: -Userspace: -0000000f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000311: -0000000f00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000236: -0000000f00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000006f6: -The stack size is invalid -Kernel: -0000000f00000160: nft_pcpu_tun_ctx @ 0x38208+0xefffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000236: -0000000f00000160: nft_pcpu_tun_ctx @ 0x38208+0xefffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006f6: -Userspace: -0000000f00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000236: -0000000f00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000006f6: -The stack size is invalid -Kernel: -0000000f00000160: nft_pcpu_tun_ctx @ 0x38208+0xefffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006f6: -Userspace: -0000000f00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000006f6: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000000f00000160: nft_pcpu_tun_ctx @ 0x38208+0xefffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000000f00000160: nft_pcpu_tun_ctx @ 0x38208+0xefffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000000f00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000f00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001000000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000000f00000160: nft_pcpu_tun_ctx @ 0x38208+0xefffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000000f00000160: nft_pcpu_tun_ctx @ 0x38208+0xefffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000000f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000f00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001000000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001000000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000000f00000160: nft_pcpu_tun_ctx @ 0x38208+0xefffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001000000160: nft_pcpu_tun_ctx @ 0x38208+0xffffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000000f00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001000000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001000000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001000000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001000000160: nft_pcpu_tun_ctx @ 0x38208+0xffffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001000000160: nft_pcpu_tun_ctx @ 0x38208+0xffffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001000000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001000000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001000000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000714: -The stack size is invalid -Kernel: -0000001000000160: nft_pcpu_tun_ctx @ 0x38208+0xffffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001000000160: nft_pcpu_tun_ctx @ 0x38208+0xffffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001000000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001000000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000714: -0000001000000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001000000160: nft_pcpu_tun_ctx @ 0x38208+0xffffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001000000160: nft_pcpu_tun_ctx @ 0x38208+0xffffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000714: -Userspace: -0000001000000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000714: -0000001000000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001000000160: nft_pcpu_tun_ctx @ 0x38208+0xffffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000714: -0000001000000160: nft_pcpu_tun_ctx @ 0x38208+0xffffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000714: -0000001000000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001000000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001000000160: nft_pcpu_tun_ctx @ 0x38208+0xffffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001000000160: nft_pcpu_tun_ctx @ 0x38208+0xffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001000000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001000000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000714: -0000001000000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001000000160: nft_pcpu_tun_ctx @ 0x38208+0xffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001000000160: nft_pcpu_tun_ctx @ 0x38208+0xffffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001000000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000714: -0000001000000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001000000160: nft_pcpu_tun_ctx @ 0x38208+0xffffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001000000160: nft_pcpu_tun_ctx @ 0x38208+0xffffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000714: -Userspace: -0000001000000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000714: -0000001000000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001000000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001000000160: nft_pcpu_tun_ctx @ 0x38208+0xffffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000714: -0000001000000160: nft_pcpu_tun_ctx @ 0x38208+0xffffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000714: -0000001000000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001000000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000714: -The stack size is invalid -Kernel: -0000001000000160: nft_pcpu_tun_ctx @ 0x38208+0xffffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001000000160: nft_pcpu_tun_ctx @ 0x38208+0xffffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001000000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001000000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000714: -0000001000000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000002fc: -0000001100000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001000000160: nft_pcpu_tun_ctx @ 0x38208+0xffffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001000000160: nft_pcpu_tun_ctx @ 0x38208+0xffffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000714: -Userspace: -0000001000000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000714: -0000001000000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000002fc: -0000001100000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001000000160: nft_pcpu_tun_ctx @ 0x38208+0xffffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000714: -0000001000000160: nft_pcpu_tun_ctx @ 0x38208+0xffffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002fc: -Userspace: -0000001000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000714: -0000001000000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000002fc: -0000001100000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001100000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001000000160: nft_pcpu_tun_ctx @ 0x38208+0xffffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002fc: -0000001100000160: nft_pcpu_tun_ctx @ 0x38208+0x10fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001000000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000002fc: -0000001100000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001100000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001100000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001100000160: nft_pcpu_tun_ctx @ 0x38208+0x10fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001100000160: nft_pcpu_tun_ctx @ 0x38208+0x10fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001100000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001100000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001100000160: nft_pcpu_tun_ctx @ 0x38208+0x10fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001100000160: nft_pcpu_tun_ctx @ 0x38208+0x10fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001100000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001100000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001100000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001100000160: nft_pcpu_tun_ctx @ 0x38208+0x10fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001100000160: nft_pcpu_tun_ctx @ 0x38208+0x10fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001100000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001100000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001100000160: nft_pcpu_tun_ctx @ 0x38208+0x10fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001100000160: nft_pcpu_tun_ctx @ 0x38208+0x10fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001100000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001100000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001100000160: nft_pcpu_tun_ctx @ 0x38208+0x10fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001100000160: nft_pcpu_tun_ctx @ 0x38208+0x10fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001100000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001100000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001100000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000002fc: -The stack size is invalid -Kernel: -0000001100000160: nft_pcpu_tun_ctx @ 0x38208+0x10fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001100000160: nft_pcpu_tun_ctx @ 0x38208+0x10fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001100000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001100000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000002fc: -0000001100000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001100000160: nft_pcpu_tun_ctx @ 0x38208+0x10fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001100000160: nft_pcpu_tun_ctx @ 0x38208+0x10fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002fc: -Userspace: -0000001100000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001100000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000002fc: -0000001100000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001100000160: nft_pcpu_tun_ctx @ 0x38208+0x10fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002fc: -0000001100000160: nft_pcpu_tun_ctx @ 0x38208+0x10fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001100000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000002fc: -0000001100000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001100000160: nft_pcpu_tun_ctx @ 0x38208+0x10fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001100000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000001100000160: nft_pcpu_tun_ctx @ 0x38208+0x10fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a5: -0000001200000160: nft_pcpu_tun_ctx @ 0x38208+0x11fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001100000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000006a5: -0000001200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001200000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001200000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001200000160: nft_pcpu_tun_ctx @ 0x38208+0x11fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001200000160: nft_pcpu_tun_ctx @ 0x38208+0x11fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001200000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001200000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001200000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001200000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000078: -The stack size is invalid -Kernel: -0000001200000160: nft_pcpu_tun_ctx @ 0x38208+0x11fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001200000160: nft_pcpu_tun_ctx @ 0x38208+0x11fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001200000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001200000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001200000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001200000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000078: -The stack size is invalid -Kernel: -0000001200000160: nft_pcpu_tun_ctx @ 0x38208+0x11fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001200000160: nft_pcpu_tun_ctx @ 0x38208+0x11fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001200000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001200000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001200000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000078: -0000001200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000714: -The stack size is invalid -Kernel: -0000001200000160: nft_pcpu_tun_ctx @ 0x38208+0x11fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001200000160: nft_pcpu_tun_ctx @ 0x38208+0x11fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000078: -Userspace: -0000001200000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001200000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000078: -0000001200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000714: -0000001200000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000006a5: -The stack size is invalid -Kernel: -0000001200000160: nft_pcpu_tun_ctx @ 0x38208+0x11fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000078: -0000001200000160: nft_pcpu_tun_ctx @ 0x38208+0x11fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000714: -Userspace: -0000001200000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000078: -0000001200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000714: -0000001200000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000006a5: -0000001200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001200000160: nft_pcpu_tun_ctx @ 0x38208+0x11fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000714: -0000001200000160: nft_pcpu_tun_ctx @ 0x38208+0x11fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a5: -Userspace: -The stack size is invalid -Kernel: -0000001200000160: nft_pcpu_tun_ctx @ 0x38208+0x11fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a5: -0000001200000160: nft_pcpu_tun_ctx @ 0x38208+0x11fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001200000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000006a5: -0000001200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001200000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000078: -0000001200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000714: -0000001200000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001200000160: nft_pcpu_tun_ctx @ 0x38208+0x11fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001200000160: nft_pcpu_tun_ctx @ 0x38208+0x11fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000078: -Userspace: -0000001200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001200000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000078: -0000001200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000714: -0000001200000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001200000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001200000160: nft_pcpu_tun_ctx @ 0x38208+0x11fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000078: -0000001200000160: nft_pcpu_tun_ctx @ 0x38208+0x11fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000714: -Userspace: -0000001200000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000078: -0000001200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000714: -0000001200000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001200000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001200000160: nft_pcpu_tun_ctx @ 0x38208+0x11fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000714: -0000001200000160: nft_pcpu_tun_ctx @ 0x38208+0x11fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -The stack size is invalid -Kernel: -0000001200000160: nft_pcpu_tun_ctx @ 0x38208+0x11fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001200000160: nft_pcpu_tun_ctx @ 0x38208+0x11fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001200000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001200000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001300000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000714: -0000001300000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000002fc: -0000001300000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000078: -The stack size is invalid -Kernel: -0000001200000160: nft_pcpu_tun_ctx @ 0x38208+0x11fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001300000160: nft_pcpu_tun_ctx @ 0x38208+0x12fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000714: -Userspace: -0000001200000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001300000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000714: -0000001300000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000002fc: -0000001300000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000078: -The stack size is invalid -Kernel: -0000001300000160: nft_pcpu_tun_ctx @ 0x38208+0x12fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000714: -0000001300000160: nft_pcpu_tun_ctx @ 0x38208+0x12fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002fc: -Userspace: -0000001300000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000714: -0000001300000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000002fc: -0000001300000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000078: -0000001300000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001300000160: nft_pcpu_tun_ctx @ 0x38208+0x12fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002fc: -0000001300000160: nft_pcpu_tun_ctx @ 0x38208+0x12fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000078: -Userspace: -0000001300000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000002fc: -0000001300000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000078: -0000001300000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001300000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001300000160: nft_pcpu_tun_ctx @ 0x38208+0x12fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000078: -0000001300000160: nft_pcpu_tun_ctx @ 0x38208+0x12fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001300000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000078: -0000001300000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001300000160: nft_pcpu_tun_ctx @ 0x38208+0x12fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001300000160: nft_pcpu_tun_ctx @ 0x38208+0x12fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -The stack size is invalid -Kernel: -0000001300000160: nft_pcpu_tun_ctx @ 0x38208+0x12fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001300000160: nft_pcpu_tun_ctx @ 0x38208+0x12fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001300000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001300000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000078: -0000001300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001300000160: nft_pcpu_tun_ctx @ 0x38208+0x12fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001300000160: nft_pcpu_tun_ctx @ 0x38208+0x12fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000078: -Userspace: -0000001300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001300000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000078: -0000001300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000006a5: -The stack size is invalid -Kernel: -0000001300000160: nft_pcpu_tun_ctx @ 0x38208+0x12fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000078: -0000001300000160: nft_pcpu_tun_ctx @ 0x38208+0x12fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001300000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000078: -0000001300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000006a5: -0000001300000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000002fc: -The stack size is invalid -Kernel: -0000001300000160: nft_pcpu_tun_ctx @ 0x38208+0x12fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001300000160: nft_pcpu_tun_ctx @ 0x38208+0x12fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a5: -Userspace: -The stack size is invalid -Kernel: -0000001300000160: nft_pcpu_tun_ctx @ 0x38208+0x12fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a5: -0000001300000160: nft_pcpu_tun_ctx @ 0x38208+0x12fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002fc: -Userspace: -0000001300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000006a5: -0000001300000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000002fc: -0000001300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000006a5: -0000001400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001300000160: nft_pcpu_tun_ctx @ 0x38208+0x12fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002fc: -0000001300000160: nft_pcpu_tun_ctx @ 0x38208+0x12fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a5: -Userspace: -0000001300000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000002fc: -0000001300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000006a5: -0000001400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000006a5: -0000001400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001300000160: nft_pcpu_tun_ctx @ 0x38208+0x12fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a5: -0000001400000160: nft_pcpu_tun_ctx @ 0x38208+0x13fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000006a5: -0000001400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001400000160: nft_pcpu_tun_ctx @ 0x38208+0x13fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001400000160: nft_pcpu_tun_ctx @ 0x38208+0x13fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a5: -Userspace: -0000001400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000006a5: -0000001400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001400000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000078: -0000001400000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001400000160: nft_pcpu_tun_ctx @ 0x38208+0x13fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a5: -0000001400000160: nft_pcpu_tun_ctx @ 0x38208+0x13fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000006a5: -0000001400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001400000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000078: -0000001400000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001400000160: nft_pcpu_tun_ctx @ 0x38208+0x13fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001400000160: nft_pcpu_tun_ctx @ 0x38208+0x13fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000078: -Userspace: -0000001400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001400000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000078: -0000001400000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000006a5: -The stack size is invalid -Kernel: -0000001400000160: nft_pcpu_tun_ctx @ 0x38208+0x13fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000078: -0000001400000160: nft_pcpu_tun_ctx @ 0x38208+0x13fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001400000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000078: -0000001400000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000006a5: -The stack size is invalid -Kernel: -0000001400000160: nft_pcpu_tun_ctx @ 0x38208+0x13fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001400000160: nft_pcpu_tun_ctx @ 0x38208+0x13fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -The stack size is invalid -Kernel: -0000001400000160: nft_pcpu_tun_ctx @ 0x38208+0x13fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001400000160: nft_pcpu_tun_ctx @ 0x38208+0x13fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a5: -Userspace: -0000001400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000006a5: -0000001400000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001400000160: nft_pcpu_tun_ctx @ 0x38208+0x13fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a5: -0000001400000160: nft_pcpu_tun_ctx @ 0x38208+0x13fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000006a5: -0000001400000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001400000160: nft_pcpu_tun_ctx @ 0x38208+0x13fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001400000160: nft_pcpu_tun_ctx @ 0x38208+0x13fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001400000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001400000160: nft_pcpu_tun_ctx @ 0x38208+0x13fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000001400000160: nft_pcpu_tun_ctx @ 0x38208+0x13fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001500000160: nft_pcpu_tun_ctx @ 0x38208+0x14fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -Userspace: -0000001400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -The stack size is invalid -Kernel: -0000001500000160: nft_pcpu_tun_ctx @ 0x38208+0x14fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -0000001500000160: nft_pcpu_tun_ctx @ 0x38208+0x14fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000521: -Userspace: -0000001500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000001500000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000521: -0000001500000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001500000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001500000160: nft_pcpu_tun_ctx @ 0x38208+0x14fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000521: -0000001500000160: nft_pcpu_tun_ctx @ 0x38208+0x14fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001500000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000521: -0000001500000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001500000160: nft_pcpu_tun_ctx @ 0x38208+0x14fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001500000160: nft_pcpu_tun_ctx @ 0x38208+0x14fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001500000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001500000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001500000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000001500000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000008f: -The stack size is invalid -Kernel: -0000001500000160: nft_pcpu_tun_ctx @ 0x38208+0x14fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001500000160: nft_pcpu_tun_ctx @ 0x38208+0x14fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -Userspace: -0000001500000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001500000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000001500000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000001500000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001500000160: nft_pcpu_tun_ctx @ 0x38208+0x14fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -0000001500000160: nft_pcpu_tun_ctx @ 0x38208+0x14fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008f: -Userspace: -0000001500000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000001500000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000001500000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -The stack size is invalid -Kernel: -0000001500000160: nft_pcpu_tun_ctx @ 0x38208+0x14fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008f: -0000001500000160: nft_pcpu_tun_ctx @ 0x38208+0x14fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001500000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000001500000160: -6572747300002435: -000000676e2d7373: -The stack size is invalid -Kernel: -0000001500000160: nft_pcpu_tun_ctx @ 0x38208+0x14fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001500000160: nft_pcpu_tun_ctx @ 0x38208+0x14fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -Userspace: -The stack size is invalid -Kernel: -0000001500000160: nft_pcpu_tun_ctx @ 0x38208+0x14fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -0000001500000160: nft_pcpu_tun_ctx @ 0x38208+0x14fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -Userspace: -0000001500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000001500000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000001500000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000001500000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000521: -The stack size is invalid -Kernel: -0000001500000160: nft_pcpu_tun_ctx @ 0x38208+0x14fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -0000001500000160: nft_pcpu_tun_ctx @ 0x38208+0x14fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008f: -Userspace: -0000001500000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000001500000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000008f: -The stack size is invalid -Kernel: -0000001500000160: nft_pcpu_tun_ctx @ 0x38208+0x14fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008f: -0000001500000160: nft_pcpu_tun_ctx @ 0x38208+0x14fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000521: -Userspace: -0000001500000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000001500000160: -6572747300002436: -000000676e2d7373: -The stack size is invalid -Kernel: -0000001500000160: nft_pcpu_tun_ctx @ 0x38208+0x14fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000521: -0000001500000160: nft_pcpu_tun_ctx @ 0x38208+0x14fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000521: -Userspace: -The stack size is invalid -Kernel: -0000001500000160: nft_pcpu_tun_ctx @ 0x38208+0x14fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000521: -0000001600000160: nft_pcpu_tun_ctx @ 0x38208+0x15fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008f: -Userspace: -0000001500000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000521: -0000001600000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000001600000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000004a1: -0000001600000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000221: -The stack size is invalid -Kernel: -0000001600000160: nft_pcpu_tun_ctx @ 0x38208+0x15fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008f: -0000001600000160: nft_pcpu_tun_ctx @ 0x38208+0x15fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004a1: -Userspace: -0000001600000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000001600000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000004a1: -0000001600000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000001600000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001600000160: nft_pcpu_tun_ctx @ 0x38208+0x15fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004a1: -0000001600000160: nft_pcpu_tun_ctx @ 0x38208+0x15fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -Userspace: -The stack size is invalid -Kernel: -0000001600000160: nft_pcpu_tun_ctx @ 0x38208+0x15fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -0000001600000160: nft_pcpu_tun_ctx @ 0x38208+0x15fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001600000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000001600000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001600000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001600000160: nft_pcpu_tun_ctx @ 0x38208+0x15fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001600000160: nft_pcpu_tun_ctx @ 0x38208+0x15fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001600000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001600000160: -657274730000243b: -000000676e2d7373: -The stack size is invalid -Kernel: -0000001600000160: nft_pcpu_tun_ctx @ 0x38208+0x15fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001600000160: nft_pcpu_tun_ctx @ 0x38208+0x15fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -Userspace: -0000001600000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000001600000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000001600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -The stack size is invalid -Kernel: -0000001600000160: nft_pcpu_tun_ctx @ 0x38208+0x15fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -0000001600000160: nft_pcpu_tun_ctx @ 0x38208+0x15fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -Userspace: -0000001600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000001600000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000001600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000001600000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001600000160: nft_pcpu_tun_ctx @ 0x38208+0x15fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -0000001600000160: nft_pcpu_tun_ctx @ 0x38208+0x15fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -Userspace: -0000001600000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000001600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -The stack size is invalid -Kernel: -0000001600000160: nft_pcpu_tun_ctx @ 0x38208+0x15fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -0000001600000160: nft_pcpu_tun_ctx @ 0x38208+0x15fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000001600000160: -6572747300002435: -000000676e2d7373: -The stack size is invalid -Kernel: -0000001600000160: nft_pcpu_tun_ctx @ 0x38208+0x15fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001600000160: nft_pcpu_tun_ctx @ 0x38208+0x15fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004a1: -Userspace: -0000001600000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001600000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000004a1: -The stack size is invalid -Kernel: -0000001600000160: nft_pcpu_tun_ctx @ 0x38208+0x15fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004a1: -0000001600000160: nft_pcpu_tun_ctx @ 0x38208+0x15fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001600000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000004a1: -0000001600000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000001700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001600000160: nft_pcpu_tun_ctx @ 0x38208+0x15fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001700000160: nft_pcpu_tun_ctx @ 0x38208+0x16fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -Userspace: -0000001600000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000001700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001700000160: nft_pcpu_tun_ctx @ 0x38208+0x16fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -0000001700000160: nft_pcpu_tun_ctx @ 0x38208+0x16fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000001700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000001700000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000221: -The stack size is invalid -Kernel: -0000001700000160: nft_pcpu_tun_ctx @ 0x38208+0x16fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001700000160: nft_pcpu_tun_ctx @ 0x38208+0x16fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -Userspace: -0000001700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -The stack size is invalid -Kernel: -0000001700000160: nft_pcpu_tun_ctx @ 0x38208+0x16fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -0000001700000160: nft_pcpu_tun_ctx @ 0x38208+0x16fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -Userspace: -0000001700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000001700000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000001700000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000521: -0000001700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -The stack size is invalid -Kernel: -0000001700000160: nft_pcpu_tun_ctx @ 0x38208+0x16fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -0000001700000160: nft_pcpu_tun_ctx @ 0x38208+0x16fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000521: -Userspace: -0000001700000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000001700000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000521: -The stack size is invalid -Kernel: -0000001700000160: nft_pcpu_tun_ctx @ 0x38208+0x16fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000521: -0000001700000160: nft_pcpu_tun_ctx @ 0x38208+0x16fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -Userspace: -0000001700000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000521: -0000001700000160: -6572747300002439: -000000676e2d7373: -The stack size is invalid -Kernel: -0000001700000160: nft_pcpu_tun_ctx @ 0x38208+0x16fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -0000001700000160: nft_pcpu_tun_ctx @ 0x38208+0x16fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000001700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001700000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -The stack size is invalid -Kernel: -0000001700000160: nft_pcpu_tun_ctx @ 0x38208+0x16fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001700000160: nft_pcpu_tun_ctx @ 0x38208+0x16fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001700000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001700000160: nft_pcpu_tun_ctx @ 0x38208+0x16fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001700000160: nft_pcpu_tun_ctx @ 0x38208+0x16fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -Userspace: -0000001700000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000001700000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000001700000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000521: -The stack size is invalid -Kernel: -0000001700000160: nft_pcpu_tun_ctx @ 0x38208+0x16fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -0000001700000160: nft_pcpu_tun_ctx @ 0x38208+0x16fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -Userspace: -0000001700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000001700000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000001700000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000521: -0000001800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -The stack size is invalid -Kernel: -0000001700000160: nft_pcpu_tun_ctx @ 0x38208+0x16fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -0000001700000160: nft_pcpu_tun_ctx @ 0x38208+0x16fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000521: -Userspace: -0000001700000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000001700000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000521: -The stack size is invalid -Kernel: -0000001700000160: nft_pcpu_tun_ctx @ 0x38208+0x16fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000521: -0000001800000160: nft_pcpu_tun_ctx @ 0x38208+0x17fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -Userspace: -0000001700000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000521: -0000001800000160: -6572747300002439: -000000676e2d7373: -The stack size is invalid -Kernel: -0000001800000160: nft_pcpu_tun_ctx @ 0x38208+0x17fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -0000001800000160: nft_pcpu_tun_ctx @ 0x38208+0x17fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004a1: -Userspace: -0000001800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000001800000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000004a1: -0000001800000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001800000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001800000160: nft_pcpu_tun_ctx @ 0x38208+0x17fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004a1: -0000001800000160: nft_pcpu_tun_ctx @ 0x38208+0x17fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001800000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000004a1: -0000001800000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001800000160: nft_pcpu_tun_ctx @ 0x38208+0x17fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001800000160: nft_pcpu_tun_ctx @ 0x38208+0x17fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001800000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001800000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001800000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000008f: -The stack size is invalid -Kernel: -0000001800000160: nft_pcpu_tun_ctx @ 0x38208+0x17fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001800000160: nft_pcpu_tun_ctx @ 0x38208+0x17fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008f: -Userspace: -0000001800000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001800000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000001800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000001800000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000008f: -The stack size is invalid -Kernel: -0000001800000160: nft_pcpu_tun_ctx @ 0x38208+0x17fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008f: -0000001800000160: nft_pcpu_tun_ctx @ 0x38208+0x17fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -Userspace: -0000001800000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000001800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000001800000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000001800000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000521: -The stack size is invalid -Kernel: -0000001800000160: nft_pcpu_tun_ctx @ 0x38208+0x17fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -0000001800000160: nft_pcpu_tun_ctx @ 0x38208+0x17fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008f: -Userspace: -The stack size is invalid -Kernel: -0000001800000160: nft_pcpu_tun_ctx @ 0x38208+0x17fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008f: -0000001800000160: nft_pcpu_tun_ctx @ 0x38208+0x17fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000521: -Userspace: -0000001800000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000001800000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000521: -The stack size is invalid -Kernel: -0000001800000160: nft_pcpu_tun_ctx @ 0x38208+0x17fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000521: -0000001800000160: nft_pcpu_tun_ctx @ 0x38208+0x17fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -The stack size is invalid -Kernel: -0000001800000160: nft_pcpu_tun_ctx @ 0x38208+0x17fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001800000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000001800000160: nft_pcpu_tun_ctx @ 0x38208+0x17fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001800000160: nft_pcpu_tun_ctx @ 0x38208+0x17fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000132: -Userspace: -0000001800000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001800000160: nft_pcpu_tun_ctx @ 0x38208+0x17fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000132: -0000001900000160: nft_pcpu_tun_ctx @ 0x38208+0x18fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000521: -Userspace: -0000001800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000132: -0000001900000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000521: -0000001900000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001900000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001900000160: nft_pcpu_tun_ctx @ 0x38208+0x18fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000521: -0000001900000160: nft_pcpu_tun_ctx @ 0x38208+0x18fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001900000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000521: -The stack size is invalid -Kernel: -0000001900000160: nft_pcpu_tun_ctx @ 0x38208+0x18fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001900000160: nft_pcpu_tun_ctx @ 0x38208+0x18fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001900000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001900000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001900000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000001900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000491: -The stack size is invalid -Kernel: -0000001900000160: nft_pcpu_tun_ctx @ 0x38208+0x18fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001900000160: nft_pcpu_tun_ctx @ 0x38208+0x18fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -Userspace: -0000001900000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001900000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000001900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000491: -0000001900000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001900000160: nft_pcpu_tun_ctx @ 0x38208+0x18fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -0000001900000160: nft_pcpu_tun_ctx @ 0x38208+0x18fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000491: -Userspace: -0000001900000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000001900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000491: -0000001900000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000132: -The stack size is invalid -Kernel: -0000001900000160: nft_pcpu_tun_ctx @ 0x38208+0x18fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000491: -0000001900000160: nft_pcpu_tun_ctx @ 0x38208+0x18fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000491: -0000001900000160: -6572747300002435: -000000676e2d7373: -The stack size is invalid -Kernel: -0000001900000160: nft_pcpu_tun_ctx @ 0x38208+0x18fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001900000160: nft_pcpu_tun_ctx @ 0x38208+0x18fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000132: -Userspace: -0000001900000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000132: -0000001900000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000221: -The stack size is invalid -Kernel: -0000001900000160: nft_pcpu_tun_ctx @ 0x38208+0x18fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000132: -0000001900000160: nft_pcpu_tun_ctx @ 0x38208+0x18fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -Userspace: -0000001900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000132: -0000001900000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000001900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000491: -0000001900000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000521: -The stack size is invalid -Kernel: -0000001900000160: nft_pcpu_tun_ctx @ 0x38208+0x18fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -0000001900000160: nft_pcpu_tun_ctx @ 0x38208+0x18fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000491: -Userspace: -0000001900000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000221: -The stack size is invalid -Kernel: -0000001900000160: nft_pcpu_tun_ctx @ 0x38208+0x18fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000491: -0000001900000160: nft_pcpu_tun_ctx @ 0x38208+0x18fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000521: -Userspace: -0000001900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000491: -0000001900000160: -6572747300002436: -000000676e2d7373: -The stack size is invalid -Kernel: -0000001900000160: nft_pcpu_tun_ctx @ 0x38208+0x18fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000521: -0000001900000160: nft_pcpu_tun_ctx @ 0x38208+0x18fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000521: -Userspace: -0000001900000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000521: -0000001900000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000521: -0000001a00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000491: -The stack size is invalid -Kernel: -0000001900000160: nft_pcpu_tun_ctx @ 0x38208+0x18fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000521: -0000001a00000160: nft_pcpu_tun_ctx @ 0x38208+0x19fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000491: -Userspace: -0000001900000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000521: -0000001a00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000491: -0000001a00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000004a1: -0000001a00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000221: -The stack size is invalid -Kernel: -0000001a00000160: nft_pcpu_tun_ctx @ 0x38208+0x19fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000491: -0000001a00000160: nft_pcpu_tun_ctx @ 0x38208+0x19fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004a1: -Userspace: -0000001a00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000491: -0000001a00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000004a1: -0000001a00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000001a00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001a00000160: nft_pcpu_tun_ctx @ 0x38208+0x19fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004a1: -0000001a00000160: nft_pcpu_tun_ctx @ 0x38208+0x19fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -Userspace: -0000001a00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000004a1: -0000001a00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000001a00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001a00000160: nft_pcpu_tun_ctx @ 0x38208+0x19fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -0000001a00000160: nft_pcpu_tun_ctx @ 0x38208+0x19fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001a00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000001a00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000132: -The stack size is invalid -Kernel: -0000001a00000160: nft_pcpu_tun_ctx @ 0x38208+0x19fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001a00000160: nft_pcpu_tun_ctx @ 0x38208+0x19fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000132: -Userspace: -0000001a00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001a00000160: -6572747300002439: -000000676e2d7373: -The stack size is invalid -Kernel: -0000001a00000160: nft_pcpu_tun_ctx @ 0x38208+0x19fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000132: -0000001a00000160: nft_pcpu_tun_ctx @ 0x38208+0x19fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -Userspace: -0000001a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000132: -0000001a00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000001a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000132: -0000001a00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001a00000160: nft_pcpu_tun_ctx @ 0x38208+0x19fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -0000001a00000160: nft_pcpu_tun_ctx @ 0x38208+0x19fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000132: -Userspace: -0000001a00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000221: -The stack size is invalid -Kernel: -0000001a00000160: nft_pcpu_tun_ctx @ 0x38208+0x19fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000132: -0000001a00000160: nft_pcpu_tun_ctx @ 0x38208+0x19fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000132: -0000001a00000160: -6572747300002435: -000000676e2d7373: -The stack size is invalid -Kernel: -0000001a00000160: nft_pcpu_tun_ctx @ 0x38208+0x19fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001a00000160: nft_pcpu_tun_ctx @ 0x38208+0x19fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004a1: -Userspace: -0000001a00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001a00000160: nft_pcpu_tun_ctx @ 0x38208+0x19fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004a1: -0000001a00000160: nft_pcpu_tun_ctx @ 0x38208+0x19fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001a00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000004a1: -0000001a00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000132: -0000001a00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001a00000160: nft_pcpu_tun_ctx @ 0x38208+0x19fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001a00000160: nft_pcpu_tun_ctx @ 0x38208+0x19fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000132: -Userspace: -0000001a00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000132: -0000001a00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001a00000160: nft_pcpu_tun_ctx @ 0x38208+0x19fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000132: -0000001a00000160: nft_pcpu_tun_ctx @ 0x38208+0x19fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000132: -0000001a00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000132: -0000001b00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000221: -The stack size is invalid -Kernel: -0000001a00000160: nft_pcpu_tun_ctx @ 0x38208+0x19fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001b00000160: nft_pcpu_tun_ctx @ 0x38208+0x1afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000132: -Userspace: -0000001a00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001b00000160: nft_pcpu_tun_ctx @ 0x38208+0x1afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000132: -0000001b00000160: nft_pcpu_tun_ctx @ 0x38208+0x1afffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -Userspace: -0000001b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000132: -0000001b00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000001b00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000521: -0000001b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000132: -The stack size is invalid -Kernel: -0000001b00000160: nft_pcpu_tun_ctx @ 0x38208+0x1afffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -0000001b00000160: nft_pcpu_tun_ctx @ 0x38208+0x1afffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000521: -Userspace: -0000001b00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000221: -The stack size is invalid -Kernel: -0000001b00000160: nft_pcpu_tun_ctx @ 0x38208+0x1afffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000521: -0000001b00000160: nft_pcpu_tun_ctx @ 0x38208+0x1afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000132: -Userspace: -0000001b00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000521: -0000001b00000160: -6572747300002439: -000000676e2d7373: -The stack size is invalid -Kernel: -0000001b00000160: nft_pcpu_tun_ctx @ 0x38208+0x1afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000132: -0000001b00000160: nft_pcpu_tun_ctx @ 0x38208+0x1afffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000132: -0000001b00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000132: -0000001b00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000221: -The stack size is invalid -Kernel: -0000001b00000160: nft_pcpu_tun_ctx @ 0x38208+0x1afffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001b00000160: nft_pcpu_tun_ctx @ 0x38208+0x1afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000132: -Userspace: -0000001b00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001b00000160: nft_pcpu_tun_ctx @ 0x38208+0x1afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000132: -0000001b00000160: nft_pcpu_tun_ctx @ 0x38208+0x1afffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -Userspace: -0000001b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000132: -0000001b00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000001b00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000521: -0000001b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000132: -The stack size is invalid -Kernel: -0000001b00000160: nft_pcpu_tun_ctx @ 0x38208+0x1afffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -0000001b00000160: nft_pcpu_tun_ctx @ 0x38208+0x1afffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000521: -Userspace: -0000001b00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000221: -The stack size is invalid -Kernel: -0000001b00000160: nft_pcpu_tun_ctx @ 0x38208+0x1afffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000521: -0000001b00000160: nft_pcpu_tun_ctx @ 0x38208+0x1afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000132: -Userspace: -0000001b00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000521: -0000001b00000160: -6572747300002439: -000000676e2d7373: -The stack size is invalid -Kernel: -0000001b00000160: nft_pcpu_tun_ctx @ 0x38208+0x1afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000132: -0000001b00000160: nft_pcpu_tun_ctx @ 0x38208+0x1afffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004a1: -Userspace: -0000001b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000132: -0000001b00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000004a1: -0000001b00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001c00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001b00000160: nft_pcpu_tun_ctx @ 0x38208+0x1afffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004a1: -0000001b00000160: nft_pcpu_tun_ctx @ 0x38208+0x1afffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001b00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000004a1: -The stack size is invalid -Kernel: -0000001b00000160: nft_pcpu_tun_ctx @ 0x38208+0x1afffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001c00000160: nft_pcpu_tun_ctx @ 0x38208+0x1bfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001b00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001c00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000491: -The stack size is invalid -Kernel: -0000001c00000160: nft_pcpu_tun_ctx @ 0x38208+0x1bfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001c00000160: nft_pcpu_tun_ctx @ 0x38208+0x1bfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000491: -Userspace: -0000001c00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000491: -0000001c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000132: -0000001c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000491: -The stack size is invalid -Kernel: -0000001c00000160: nft_pcpu_tun_ctx @ 0x38208+0x1bfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000491: -0000001c00000160: nft_pcpu_tun_ctx @ 0x38208+0x1bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000132: -Userspace: -0000001c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000491: -0000001c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000132: -0000001c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000491: -0000001c00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000521: -The stack size is invalid -Kernel: -0000001c00000160: nft_pcpu_tun_ctx @ 0x38208+0x1bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000132: -0000001c00000160: nft_pcpu_tun_ctx @ 0x38208+0x1bfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000491: -Userspace: -0000001c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000132: -0000001c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000491: -0000001c00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000521: -The stack size is invalid -Kernel: -0000001c00000160: nft_pcpu_tun_ctx @ 0x38208+0x1bfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000491: -0000001c00000160: nft_pcpu_tun_ctx @ 0x38208+0x1bfffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000521: -Userspace: -0000001c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000491: -The stack size is invalid -Kernel: -0000001c00000160: nft_pcpu_tun_ctx @ 0x38208+0x1bfffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000521: -0000001c00000160: nft_pcpu_tun_ctx @ 0x38208+0x1bfffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001c00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000521: -0000001c00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000491: -The stack size is invalid -Kernel: -0000001c00000160: nft_pcpu_tun_ctx @ 0x38208+0x1bfffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001c00000160: nft_pcpu_tun_ctx @ 0x38208+0x1bfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000491: -Userspace: -0000001c00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000491: -0000001c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000132: -0000001c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000132: -The stack size is invalid -Kernel: -0000001c00000160: nft_pcpu_tun_ctx @ 0x38208+0x1bfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000491: -0000001c00000160: nft_pcpu_tun_ctx @ 0x38208+0x1bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000132: -Userspace: -0000001c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000491: -0000001c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000132: -0000001c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000132: -The stack size is invalid -Kernel: -0000001c00000160: nft_pcpu_tun_ctx @ 0x38208+0x1bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000132: -0000001c00000160: nft_pcpu_tun_ctx @ 0x38208+0x1bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000132: -Userspace: -0000001c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000132: -0000001c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000132: -The stack size is invalid -Kernel: -0000001c00000160: nft_pcpu_tun_ctx @ 0x38208+0x1bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000132: -Userspace: -0000001c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000132: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000001c00000160: nft_pcpu_tun_ctx @ 0x38208+0x1bfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005b5: -0000001d00000160: nft_pcpu_tun_ctx @ 0x38208+0x1cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d1: -Userspace: -0000001c00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000005b5: -0000001d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003d1: -0000001d00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001d00000160: nft_pcpu_tun_ctx @ 0x38208+0x1cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d1: -0000001d00000160: nft_pcpu_tun_ctx @ 0x38208+0x1cfffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003d1: -0000001d00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001d00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000001d00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000010: -The stack size is invalid -Kernel: -0000001d00000160: nft_pcpu_tun_ctx @ 0x38208+0x1cfffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001d00000160: nft_pcpu_tun_ctx @ 0x38208+0x1cfffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -Userspace: -0000001d00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001d00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000001d00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000010: -The stack size is invalid -Kernel: -0000001d00000160: nft_pcpu_tun_ctx @ 0x38208+0x1cfffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -0000001d00000160: nft_pcpu_tun_ctx @ 0x38208+0x1cfffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -Userspace: -0000001d00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000001d00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000001d00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001d00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001d00000160: nft_pcpu_tun_ctx @ 0x38208+0x1cfffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -0000001d00000160: nft_pcpu_tun_ctx @ 0x38208+0x1cfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -The stack size is invalid -Kernel: -0000001d00000160: nft_pcpu_tun_ctx @ 0x38208+0x1cfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001d00000160: nft_pcpu_tun_ctx @ 0x38208+0x1cfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -The stack size is invalid -Kernel: -0000001d00000160: nft_pcpu_tun_ctx @ 0x38208+0x1cfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001d00000160: nft_pcpu_tun_ctx @ 0x38208+0x1cfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005b5: -Userspace: -0000001d00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001d00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000005b5: -0000001d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003d1: -0000001d00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001d00000160: nft_pcpu_tun_ctx @ 0x38208+0x1cfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005b5: -0000001d00000160: nft_pcpu_tun_ctx @ 0x38208+0x1cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d1: -Userspace: -0000001d00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000005b5: -0000001d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003d1: -0000001d00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001d00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001d00000160: nft_pcpu_tun_ctx @ 0x38208+0x1cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d1: -0000001d00000160: nft_pcpu_tun_ctx @ 0x38208+0x1cfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003d1: -0000001d00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001d00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001d00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001d00000160: nft_pcpu_tun_ctx @ 0x38208+0x1cfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001d00000160: nft_pcpu_tun_ctx @ 0x38208+0x1cfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001d00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001d00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001d00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001d00000160: nft_pcpu_tun_ctx @ 0x38208+0x1cfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001d00000160: nft_pcpu_tun_ctx @ 0x38208+0x1cfffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001d00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001d00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001d00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001d00000160: nft_pcpu_tun_ctx @ 0x38208+0x1cfffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001d00000160: nft_pcpu_tun_ctx @ 0x38208+0x1cfffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001d00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001d00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001e00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001d00000160: nft_pcpu_tun_ctx @ 0x38208+0x1cfffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001e00000160: nft_pcpu_tun_ctx @ 0x38208+0x1dfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001d00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001e00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001e00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001e00000160: nft_pcpu_tun_ctx @ 0x38208+0x1dfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001e00000160: nft_pcpu_tun_ctx @ 0x38208+0x1dfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001e00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001e00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001e00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001e00000160: nft_pcpu_tun_ctx @ 0x38208+0x1dfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001e00000160: nft_pcpu_tun_ctx @ 0x38208+0x1dfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001e00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001e00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001e00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001e00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000010: -The stack size is invalid -Kernel: -0000001e00000160: nft_pcpu_tun_ctx @ 0x38208+0x1dfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001e00000160: nft_pcpu_tun_ctx @ 0x38208+0x1dfffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001e00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001e00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001e00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000001e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003d1: -The stack size is invalid -Kernel: -0000001e00000160: nft_pcpu_tun_ctx @ 0x38208+0x1dfffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001e00000160: nft_pcpu_tun_ctx @ 0x38208+0x1dfffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -Userspace: -0000001e00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001e00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000001e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003d1: -0000001e00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001e00000160: nft_pcpu_tun_ctx @ 0x38208+0x1dfffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -0000001e00000160: nft_pcpu_tun_ctx @ 0x38208+0x1dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d1: -Userspace: -0000001e00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000001e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003d1: -0000001e00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003d1: -The stack size is invalid -Kernel: -0000001e00000160: nft_pcpu_tun_ctx @ 0x38208+0x1dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d1: -0000001e00000160: nft_pcpu_tun_ctx @ 0x38208+0x1dfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -The stack size is invalid -Kernel: -0000001e00000160: nft_pcpu_tun_ctx @ 0x38208+0x1dfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001e00000160: nft_pcpu_tun_ctx @ 0x38208+0x1dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d1: -Userspace: -0000001e00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003d1: -0000001e00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000005b5: -The stack size is invalid -Kernel: -0000001e00000160: nft_pcpu_tun_ctx @ 0x38208+0x1dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d1: -0000001e00000160: nft_pcpu_tun_ctx @ 0x38208+0x1dfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005b5: -Userspace: -0000001e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003d1: -0000001e00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000005b5: -0000001e00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001e00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000005b5: -The stack size is invalid -Kernel: -0000001e00000160: nft_pcpu_tun_ctx @ 0x38208+0x1dfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005b5: -0000001e00000160: nft_pcpu_tun_ctx @ 0x38208+0x1dfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001e00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000005b5: -0000001e00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001e00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000005b5: -The stack size is invalid -Kernel: -0000001e00000160: nft_pcpu_tun_ctx @ 0x38208+0x1dfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001e00000160: nft_pcpu_tun_ctx @ 0x38208+0x1dfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005b5: -Userspace: -0000001e00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001e00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000005b5: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003d1: -0000001f00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000005b5: -The stack size is invalid -Kernel: -0000001e00000160: nft_pcpu_tun_ctx @ 0x38208+0x1dfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005b5: -0000001f00000160: nft_pcpu_tun_ctx @ 0x38208+0x1efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d1: -Userspace: -0000001e00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000005b5: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003d1: -0000001f00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000005b5: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003d1: -The stack size is invalid -Kernel: -0000001f00000160: nft_pcpu_tun_ctx @ 0x38208+0x1efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d1: -0000001f00000160: nft_pcpu_tun_ctx @ 0x38208+0x1efffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005b5: -Userspace: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003d1: -0000001f00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000005b5: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003d1: -0000001f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001f00000160: nft_pcpu_tun_ctx @ 0x38208+0x1efffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005b5: -0000001f00000160: nft_pcpu_tun_ctx @ 0x38208+0x1efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d1: -Userspace: -0000001f00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000005b5: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003d1: -0000001f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001f00000160: nft_pcpu_tun_ctx @ 0x38208+0x1efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d1: -0000001f00000160: nft_pcpu_tun_ctx @ 0x38208+0x1efffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003d1: -0000001f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001f00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003d1: -The stack size is invalid -Kernel: -0000001f00000160: nft_pcpu_tun_ctx @ 0x38208+0x1efffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001f00000160: nft_pcpu_tun_ctx @ 0x38208+0x1efffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001f00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003d1: -The stack size is invalid -Kernel: -0000001f00000160: nft_pcpu_tun_ctx @ 0x38208+0x1efffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001f00000160: nft_pcpu_tun_ctx @ 0x38208+0x1efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d1: -Userspace: -0000001f00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003d1: -0000001f00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000005b5: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003d1: -The stack size is invalid -Kernel: -0000001f00000160: nft_pcpu_tun_ctx @ 0x38208+0x1efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d1: -0000001f00000160: nft_pcpu_tun_ctx @ 0x38208+0x1efffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005b5: -Userspace: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003d1: -0000001f00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000005b5: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003d1: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003d1: -The stack size is invalid -Kernel: -0000001f00000160: nft_pcpu_tun_ctx @ 0x38208+0x1efffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005b5: -0000001f00000160: nft_pcpu_tun_ctx @ 0x38208+0x1efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d1: -Userspace: -0000001f00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000005b5: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003d1: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003d1: -The stack size is invalid -Kernel: -0000001f00000160: nft_pcpu_tun_ctx @ 0x38208+0x1efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d1: -0000001f00000160: nft_pcpu_tun_ctx @ 0x38208+0x1efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d1: -Userspace: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003d1: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003d1: -0000001f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001f00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001f00000160: nft_pcpu_tun_ctx @ 0x38208+0x1efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d1: -0000001f00000160: nft_pcpu_tun_ctx @ 0x38208+0x1efffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003d1: -0000001f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001f00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001f00000160: nft_pcpu_tun_ctx @ 0x38208+0x1efffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001f00000160: nft_pcpu_tun_ctx @ 0x38208+0x1efffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001f00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003d1: -The stack size is invalid -Kernel: -0000001f00000160: nft_pcpu_tun_ctx @ 0x38208+0x1efffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002000000160: nft_pcpu_tun_ctx @ 0x38208+0x1ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d1: -Userspace: -0000001f00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003d1: -0000002000000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002000000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000010: -The stack size is invalid -Kernel: -0000002000000160: nft_pcpu_tun_ctx @ 0x38208+0x1ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d1: -0000002000000160: nft_pcpu_tun_ctx @ 0x38208+0x1ffffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003d1: -0000002000000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002000000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000002000000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000005b5: -The stack size is invalid -Kernel: -0000002000000160: nft_pcpu_tun_ctx @ 0x38208+0x1ffffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002000000160: nft_pcpu_tun_ctx @ 0x38208+0x1ffffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -Userspace: -0000002000000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002000000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000002000000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000005b5: -The stack size is invalid -Kernel: -0000002000000160: nft_pcpu_tun_ctx @ 0x38208+0x1ffffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -0000002000000160: nft_pcpu_tun_ctx @ 0x38208+0x1ffffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005b5: -Userspace: -0000002000000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000002000000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000005b5: -0000002000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003d1: -The stack size is invalid -Kernel: -0000002000000160: nft_pcpu_tun_ctx @ 0x38208+0x1ffffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005b5: -0000002000000160: nft_pcpu_tun_ctx @ 0x38208+0x1ffffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -The stack size is invalid -Kernel: -0000002000000160: nft_pcpu_tun_ctx @ 0x38208+0x1ffffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002000000160: nft_pcpu_tun_ctx @ 0x38208+0x1ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d1: -Userspace: -0000002000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003d1: -0000002000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002000000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002000000160: nft_pcpu_tun_ctx @ 0x38208+0x1ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d1: -0000002000000160: nft_pcpu_tun_ctx @ 0x38208+0x1ffffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003d1: -0000002000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002000000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002000000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000010: -The stack size is invalid -Kernel: -0000002000000160: nft_pcpu_tun_ctx @ 0x38208+0x1ffffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002000000160: nft_pcpu_tun_ctx @ 0x38208+0x1ffffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002000000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002000000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000010: -The stack size is invalid -Kernel: -0000002000000160: nft_pcpu_tun_ctx @ 0x38208+0x1ffffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002000000160: nft_pcpu_tun_ctx @ 0x38208+0x1ffffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -Userspace: -0000002000000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002000000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000002000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003d1: -The stack size is invalid -Kernel: -0000002000000160: nft_pcpu_tun_ctx @ 0x38208+0x1ffffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -0000002000000160: nft_pcpu_tun_ctx @ 0x38208+0x1ffffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002000000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000002000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003d1: -0000002000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003d1: -The stack size is invalid -Kernel: -0000002000000160: nft_pcpu_tun_ctx @ 0x38208+0x1ffffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002000000160: nft_pcpu_tun_ctx @ 0x38208+0x1ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d1: -Userspace: -The stack size is invalid -Kernel: -0000002000000160: nft_pcpu_tun_ctx @ 0x38208+0x1ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d1: -0000002000000160: nft_pcpu_tun_ctx @ 0x38208+0x1ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d1: -Userspace: -0000002000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003d1: -0000002000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003d1: -0000002100000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002100000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002000000160: nft_pcpu_tun_ctx @ 0x38208+0x1ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d1: -0000002100000160: nft_pcpu_tun_ctx @ 0x38208+0x20fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003d1: -0000002100000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002100000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002100000160: nft_pcpu_tun_ctx @ 0x38208+0x20fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002100000160: nft_pcpu_tun_ctx @ 0x38208+0x20fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002100000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002100000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002100000160: nft_pcpu_tun_ctx @ 0x38208+0x20fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002100000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000002100000160: nft_pcpu_tun_ctx @ 0x38208+0x20fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c6: -0000002100000160: nft_pcpu_tun_ctx @ 0x38208+0x20fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002100000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000004c6: -0000002100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002100000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000001db: -0000002100000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000010: -The stack size is invalid -Kernel: -0000002100000160: nft_pcpu_tun_ctx @ 0x38208+0x20fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002100000160: nft_pcpu_tun_ctx @ 0x38208+0x20fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000001db: -Userspace: -0000002100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002100000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000001db: -0000002100000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000010: -The stack size is invalid -Kernel: -0000002100000160: nft_pcpu_tun_ctx @ 0x38208+0x20fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000001db: -0000002100000160: nft_pcpu_tun_ctx @ 0x38208+0x20fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -Userspace: -0000002100000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000001db: -0000002100000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000002100000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000002100000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000030d: -The stack size is invalid -Kernel: -0000002100000160: nft_pcpu_tun_ctx @ 0x38208+0x20fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -0000002100000160: nft_pcpu_tun_ctx @ 0x38208+0x20fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -Userspace: -0000002100000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000010: -The stack size is invalid -Kernel: -0000002100000160: nft_pcpu_tun_ctx @ 0x38208+0x20fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -0000002100000160: nft_pcpu_tun_ctx @ 0x38208+0x20fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000030d: -Userspace: -The stack size is invalid -Kernel: -0000002100000160: nft_pcpu_tun_ctx @ 0x38208+0x20fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000030d: -0000002100000160: nft_pcpu_tun_ctx @ 0x38208+0x20fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -Userspace: -The stack size is invalid -Kernel: -0000002100000160: nft_pcpu_tun_ctx @ 0x38208+0x20fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -0000002100000160: nft_pcpu_tun_ctx @ 0x38208+0x20fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c6: -Userspace: -0000002100000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000166: -0000002100000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000004c6: -The stack size is invalid -Kernel: -0000002100000160: nft_pcpu_tun_ctx @ 0x38208+0x20fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c6: -0000002200000160: nft_pcpu_tun_ctx @ 0x38208+0x21fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002100000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000004c6: -The stack size is invalid -Kernel: -0000002200000160: nft_pcpu_tun_ctx @ 0x38208+0x21fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002200000160: nft_pcpu_tun_ctx @ 0x38208+0x21fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000030d: -Userspace: -0000002200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002200000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000030d: -0000002200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000166: -The stack size is invalid -Kernel: -0000002200000160: nft_pcpu_tun_ctx @ 0x38208+0x21fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000030d: -0000002200000160: nft_pcpu_tun_ctx @ 0x38208+0x21fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -Userspace: -0000002200000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000030d: -0000002200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000166: -0000002200000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000001db: -0000002200000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000001db: -The stack size is invalid -Kernel: -0000002200000160: nft_pcpu_tun_ctx @ 0x38208+0x21fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -0000002200000160: nft_pcpu_tun_ctx @ 0x38208+0x21fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000001db: -Userspace: -0000002200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000166: -0000002200000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000001db: -The stack size is invalid -Kernel: -0000002200000160: nft_pcpu_tun_ctx @ 0x38208+0x21fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000001db: -0000002200000160: nft_pcpu_tun_ctx @ 0x38208+0x21fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000001db: -Userspace: -0000002200000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000001db: -The stack size is invalid -Kernel: -0000002200000160: nft_pcpu_tun_ctx @ 0x38208+0x21fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000001db: -0000002200000160: nft_pcpu_tun_ctx @ 0x38208+0x21fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -Userspace: -0000002200000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000001db: -The stack size is invalid -Kernel: -0000002200000160: nft_pcpu_tun_ctx @ 0x38208+0x21fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -0000002200000160: nft_pcpu_tun_ctx @ 0x38208+0x21fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000166: -The stack size is invalid -Kernel: -0000002200000160: nft_pcpu_tun_ctx @ 0x38208+0x21fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002200000160: nft_pcpu_tun_ctx @ 0x38208+0x21fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000030d: -Userspace: -0000002200000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002200000160: nft_pcpu_tun_ctx @ 0x38208+0x21fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000030d: -0000002200000160: nft_pcpu_tun_ctx @ 0x38208+0x21fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000001db: -Userspace: -0000002200000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000030d: -0000002200000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000001db: -0000002200000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000002200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002200000160: nft_pcpu_tun_ctx @ 0x38208+0x21fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000001db: -0000002200000160: nft_pcpu_tun_ctx @ 0x38208+0x21fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -Userspace: -0000002200000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000001db: -0000002200000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000010: -The stack size is invalid -Kernel: -0000002200000160: nft_pcpu_tun_ctx @ 0x38208+0x21fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -0000002200000160: nft_pcpu_tun_ctx @ 0x38208+0x21fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002200000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000010: -The stack size is invalid -Kernel: -0000002200000160: nft_pcpu_tun_ctx @ 0x38208+0x21fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002200000160: nft_pcpu_tun_ctx @ 0x38208+0x21fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000030d: -Userspace: -The stack size is invalid -Kernel: -0000002200000160: nft_pcpu_tun_ctx @ 0x38208+0x21fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000030d: -0000002300000160: nft_pcpu_tun_ctx @ 0x38208+0x22fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002200000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000030d: -0000002300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000004c6: -0000002300000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002300000160: nft_pcpu_tun_ctx @ 0x38208+0x22fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002300000160: nft_pcpu_tun_ctx @ 0x38208+0x22fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c6: -Userspace: -0000002300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000004c6: -The stack size is invalid -Kernel: -0000002300000160: nft_pcpu_tun_ctx @ 0x38208+0x22fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c6: -0000002300000160: nft_pcpu_tun_ctx @ 0x38208+0x22fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000004c6: -0000002300000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000004c6: -0000002300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002300000160: nft_pcpu_tun_ctx @ 0x38208+0x22fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002300000160: nft_pcpu_tun_ctx @ 0x38208+0x22fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c6: -Userspace: -0000002300000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000004c6: -0000002300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002300000160: nft_pcpu_tun_ctx @ 0x38208+0x22fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c6: -0000002300000160: nft_pcpu_tun_ctx @ 0x38208+0x22fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000004c6: -0000002300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000004c6: -0000002300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002300000160: nft_pcpu_tun_ctx @ 0x38208+0x22fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002300000160: nft_pcpu_tun_ctx @ 0x38208+0x22fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c6: -Userspace: -0000002300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000004c6: -0000002300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002300000160: nft_pcpu_tun_ctx @ 0x38208+0x22fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c6: -0000002300000160: nft_pcpu_tun_ctx @ 0x38208+0x22fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000004c6: -0000002300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002300000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000030d: -0000002300000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000001db: -The stack size is invalid -Kernel: -0000002300000160: nft_pcpu_tun_ctx @ 0x38208+0x22fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002300000160: nft_pcpu_tun_ctx @ 0x38208+0x22fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000030d: -Userspace: -0000002300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002300000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000030d: -0000002300000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000001db: -The stack size is invalid -Kernel: -0000002300000160: nft_pcpu_tun_ctx @ 0x38208+0x22fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000030d: -0000002300000160: nft_pcpu_tun_ctx @ 0x38208+0x22fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000001db: -Userspace: -0000002300000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000030d: -0000002300000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000001db: -0000002300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000004c6: -The stack size is invalid -Kernel: -0000002300000160: nft_pcpu_tun_ctx @ 0x38208+0x22fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000001db: -0000002300000160: nft_pcpu_tun_ctx @ 0x38208+0x22fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002300000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000001db: -0000002300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002300000160: nft_pcpu_tun_ctx @ 0x38208+0x22fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002300000160: nft_pcpu_tun_ctx @ 0x38208+0x22fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c6: -Userspace: -0000002300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002300000160: nft_pcpu_tun_ctx @ 0x38208+0x22fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c6: -0000002400000160: nft_pcpu_tun_ctx @ 0x38208+0x23fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000004c6: -0000002400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002400000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000030d: -The stack size is invalid -Kernel: -0000002400000160: nft_pcpu_tun_ctx @ 0x38208+0x23fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002400000160: nft_pcpu_tun_ctx @ 0x38208+0x23fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002400000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000030d: -The stack size is invalid -Kernel: -0000002400000160: nft_pcpu_tun_ctx @ 0x38208+0x23fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002400000160: nft_pcpu_tun_ctx @ 0x38208+0x23fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000030d: -Userspace: -0000002400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002400000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000030d: -0000002400000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000001db: -0000002400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002400000160: nft_pcpu_tun_ctx @ 0x38208+0x23fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000030d: -0000002400000160: nft_pcpu_tun_ctx @ 0x38208+0x23fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000001db: -Userspace: -0000002400000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000030d: -0000002400000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000001db: -0000002400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002400000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002400000160: nft_pcpu_tun_ctx @ 0x38208+0x23fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000001db: -0000002400000160: nft_pcpu_tun_ctx @ 0x38208+0x23fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002400000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000001db: -0000002400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002400000160: nft_pcpu_tun_ctx @ 0x38208+0x23fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002400000160: nft_pcpu_tun_ctx @ 0x38208+0x23fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002400000160: nft_pcpu_tun_ctx @ 0x38208+0x23fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002400000160: nft_pcpu_tun_ctx @ 0x38208+0x23fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -Userspace: -0000002400000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002400000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000002400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000004c6: -0000002400000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000166: -The stack size is invalid -Kernel: -0000002400000160: nft_pcpu_tun_ctx @ 0x38208+0x23fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -0000002400000160: nft_pcpu_tun_ctx @ 0x38208+0x23fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c6: -Userspace: -0000002400000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000002400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000004c6: -0000002400000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000166: -0000002400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002400000160: nft_pcpu_tun_ctx @ 0x38208+0x23fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c6: -0000002400000160: nft_pcpu_tun_ctx @ 0x38208+0x23fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -Userspace: -The stack size is invalid -Kernel: -0000002400000160: nft_pcpu_tun_ctx @ 0x38208+0x23fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -0000002400000160: nft_pcpu_tun_ctx @ 0x38208+0x23fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002400000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000166: -0000002400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002400000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000166: -The stack size is invalid -Kernel: -0000002400000160: nft_pcpu_tun_ctx @ 0x38208+0x23fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002400000160: nft_pcpu_tun_ctx @ 0x38208+0x23fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -Userspace: -0000002400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002400000160: nft_pcpu_tun_ctx @ 0x38208+0x23fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -0000002500000160: nft_pcpu_tun_ctx @ 0x38208+0x24fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000001db: -Userspace: -0000002400000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000166: -0000002500000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000001db: -0000002500000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000002500000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000166: -The stack size is invalid -Kernel: -0000002500000160: nft_pcpu_tun_ctx @ 0x38208+0x24fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000001db: -0000002500000160: nft_pcpu_tun_ctx @ 0x38208+0x24fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -Userspace: -0000002500000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000001db: -The stack size is invalid -Kernel: -0000002500000160: nft_pcpu_tun_ctx @ 0x38208+0x24fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -0000002500000160: nft_pcpu_tun_ctx @ 0x38208+0x24fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -Userspace: -0000002500000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000010: -The stack size is invalid -Kernel: -0000002500000160: nft_pcpu_tun_ctx @ 0x38208+0x24fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -0000002500000160: nft_pcpu_tun_ctx @ 0x38208+0x24fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -The stack size is invalid -Kernel: -0000002500000160: nft_pcpu_tun_ctx @ 0x38208+0x24fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002500000160: nft_pcpu_tun_ctx @ 0x38208+0x24fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002500000160: nft_pcpu_tun_ctx @ 0x38208+0x24fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002500000160: nft_pcpu_tun_ctx @ 0x38208+0x24fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000030d: -Userspace: -0000002500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002500000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000030d: -0000002500000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000088: -The stack size is invalid -Kernel: -0000002500000160: nft_pcpu_tun_ctx @ 0x38208+0x24fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000030d: -0000002500000160: nft_pcpu_tun_ctx @ 0x38208+0x24fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000088: -Userspace: -0000002500000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000030d: -0000002500000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000088: -The stack size is invalid -Kernel: -0000002500000160: nft_pcpu_tun_ctx @ 0x38208+0x24fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000088: -Userspace: -0000002500000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000088: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000002500000160: nft_pcpu_tun_ctx @ 0x38208+0x24fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002500000160: nft_pcpu_tun_ctx @ 0x38208+0x24fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -Userspace: -0000002500000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002500000160: -6572747300002439: -000000676e2d7373: -The stack size is invalid -Kernel: -0000002500000160: nft_pcpu_tun_ctx @ 0x38208+0x24fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -0000002500000160: nft_pcpu_tun_ctx @ 0x38208+0x24fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008c: -Userspace: -0000002500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000002500000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -000000000000008c: -0000002500000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002600000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002500000160: nft_pcpu_tun_ctx @ 0x38208+0x24fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008c: -0000002500000160: nft_pcpu_tun_ctx @ 0x38208+0x24fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002500000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -000000000000008c: -0000002500000160: -657274730000243b: -000000676e2d7373: -The stack size is invalid -Kernel: -0000002500000160: nft_pcpu_tun_ctx @ 0x38208+0x24fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002600000160: nft_pcpu_tun_ctx @ 0x38208+0x25fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -The stack size is invalid -Kernel: -0000002600000160: nft_pcpu_tun_ctx @ 0x38208+0x25fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002600000160: nft_pcpu_tun_ctx @ 0x38208+0x25fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002600000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002600000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002600000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003ed: -0000002600000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002600000160: nft_pcpu_tun_ctx @ 0x38208+0x25fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002600000160: nft_pcpu_tun_ctx @ 0x38208+0x25fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003ed: -Userspace: -0000002600000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002600000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003ed: -0000002600000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000221: -The stack size is invalid -Kernel: -0000002600000160: nft_pcpu_tun_ctx @ 0x38208+0x25fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003ed: -0000002600000160: nft_pcpu_tun_ctx @ 0x38208+0x25fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002600000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003ed: -0000002600000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000002600000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002600000160: nft_pcpu_tun_ctx @ 0x38208+0x25fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002600000160: nft_pcpu_tun_ctx @ 0x38208+0x25fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -Userspace: -0000002600000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000002600000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002600000160: nft_pcpu_tun_ctx @ 0x38208+0x25fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -0000002600000160: nft_pcpu_tun_ctx @ 0x38208+0x25fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000002600000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002600000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003ed: -0000002600000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -000000000000008c: -The stack size is invalid -Kernel: -0000002600000160: nft_pcpu_tun_ctx @ 0x38208+0x25fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002600000160: nft_pcpu_tun_ctx @ 0x38208+0x25fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003ed: -Userspace: -0000002600000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002600000160: -657274730000243a: -000000676e2d7373: -The stack size is invalid -Kernel: -0000002600000160: nft_pcpu_tun_ctx @ 0x38208+0x25fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003ed: -0000002600000160: nft_pcpu_tun_ctx @ 0x38208+0x25fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008c: -Userspace: -0000002600000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003ed: -0000002600000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -000000000000008c: -0000002600000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -000000000000008c: -0000002600000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003ed: -The stack size is invalid -Kernel: -0000002600000160: nft_pcpu_tun_ctx @ 0x38208+0x25fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008c: -0000002600000160: nft_pcpu_tun_ctx @ 0x38208+0x25fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008c: -Userspace: -0000002600000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -000000000000008c: -0000002600000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -000000000000008c: -0000002600000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003ed: -The stack size is invalid -Kernel: -0000002600000160: nft_pcpu_tun_ctx @ 0x38208+0x25fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008c: -0000002600000160: nft_pcpu_tun_ctx @ 0x38208+0x25fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003ed: -Userspace: -The stack size is invalid -Kernel: -0000002600000160: nft_pcpu_tun_ctx @ 0x38208+0x25fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003ed: -0000002600000160: nft_pcpu_tun_ctx @ 0x38208+0x25fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000165: -Userspace: -The stack size is invalid -Kernel: -0000002600000160: nft_pcpu_tun_ctx @ 0x38208+0x25fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000165: -0000002700000160: nft_pcpu_tun_ctx @ 0x38208+0x26fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002600000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000165: -0000002700000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002700000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -000000000000008c: -The stack size is invalid -Kernel: -0000002700000160: nft_pcpu_tun_ctx @ 0x38208+0x26fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002700000160: nft_pcpu_tun_ctx @ 0x38208+0x26fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008c: -Userspace: -0000002700000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002700000160: nft_pcpu_tun_ctx @ 0x38208+0x26fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008c: -0000002700000160: nft_pcpu_tun_ctx @ 0x38208+0x26fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002700000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -000000000000008c: -0000002700000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000002700000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002700000160: nft_pcpu_tun_ctx @ 0x38208+0x26fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002700000160: nft_pcpu_tun_ctx @ 0x38208+0x26fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -Userspace: -The stack size is invalid -Kernel: -0000002700000160: nft_pcpu_tun_ctx @ 0x38208+0x26fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -0000002700000160: nft_pcpu_tun_ctx @ 0x38208+0x26fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000002700000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000002700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002700000160: nft_pcpu_tun_ctx @ 0x38208+0x26fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002700000160: nft_pcpu_tun_ctx @ 0x38208+0x26fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -Userspace: -0000002700000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002700000160: -6572747300002439: -000000676e2d7373: -The stack size is invalid -Kernel: -0000002700000160: nft_pcpu_tun_ctx @ 0x38208+0x26fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -0000002700000160: nft_pcpu_tun_ctx @ 0x38208+0x26fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000002700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002700000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000165: -0000002700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002700000160: nft_pcpu_tun_ctx @ 0x38208+0x26fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002700000160: nft_pcpu_tun_ctx @ 0x38208+0x26fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000165: -Userspace: -0000002700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002700000160: -6572747300002437: -000000676e2d7373: -The stack size is invalid -Kernel: -0000002700000160: nft_pcpu_tun_ctx @ 0x38208+0x26fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000165: -0000002700000160: nft_pcpu_tun_ctx @ 0x38208+0x26fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002700000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000165: -0000002700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000002700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002700000160: nft_pcpu_tun_ctx @ 0x38208+0x26fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002700000160: nft_pcpu_tun_ctx @ 0x38208+0x26fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -Userspace: -0000002700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002700000160: nft_pcpu_tun_ctx @ 0x38208+0x26fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -0000002700000160: nft_pcpu_tun_ctx @ 0x38208+0x26fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000002700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000002800000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002700000160: nft_pcpu_tun_ctx @ 0x38208+0x26fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002800000160: nft_pcpu_tun_ctx @ 0x38208+0x27fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -Userspace: -0000002700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002800000160: -6572747300002439: -000000676e2d7373: -The stack size is invalid -Kernel: -0000002800000160: nft_pcpu_tun_ctx @ 0x38208+0x27fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -0000002800000160: nft_pcpu_tun_ctx @ 0x38208+0x27fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000002800000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002800000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -000000000000008c: -0000002800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000221: -The stack size is invalid -Kernel: -0000002800000160: nft_pcpu_tun_ctx @ 0x38208+0x27fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002800000160: nft_pcpu_tun_ctx @ 0x38208+0x27fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008c: -Userspace: -0000002800000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002800000160: -6572747300002436: -000000676e2d7373: -The stack size is invalid -Kernel: -0000002800000160: nft_pcpu_tun_ctx @ 0x38208+0x27fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008c: -0000002800000160: nft_pcpu_tun_ctx @ 0x38208+0x27fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -Userspace: -0000002800000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -000000000000008c: -0000002800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000002800000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000221: -The stack size is invalid -Kernel: -0000002800000160: nft_pcpu_tun_ctx @ 0x38208+0x27fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -0000002800000160: nft_pcpu_tun_ctx @ 0x38208+0x27fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -The stack size is invalid -Kernel: -0000002800000160: nft_pcpu_tun_ctx @ 0x38208+0x27fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002800000160: nft_pcpu_tun_ctx @ 0x38208+0x27fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -Userspace: -0000002800000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002800000160: -6572747300002439: -000000676e2d7373: -The stack size is invalid -Kernel: -0000002800000160: nft_pcpu_tun_ctx @ 0x38208+0x27fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -0000002800000160: nft_pcpu_tun_ctx @ 0x38208+0x27fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -Userspace: -0000002800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000002800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000002800000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002800000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -000000000000008c: -The stack size is invalid -Kernel: -0000002800000160: nft_pcpu_tun_ctx @ 0x38208+0x27fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -0000002800000160: nft_pcpu_tun_ctx @ 0x38208+0x27fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000002800000160: -6572747300002438: -000000676e2d7373: -The stack size is invalid -Kernel: -0000002800000160: nft_pcpu_tun_ctx @ 0x38208+0x27fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002800000160: nft_pcpu_tun_ctx @ 0x38208+0x27fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008c: -Userspace: -0000002800000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002800000160: -6572747300002436: -000000676e2d7373: -The stack size is invalid -Kernel: -0000002800000160: nft_pcpu_tun_ctx @ 0x38208+0x27fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008c: -0000002800000160: nft_pcpu_tun_ctx @ 0x38208+0x27fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -Userspace: -0000002800000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -000000000000008c: -0000002800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000002800000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000165: -0000002800000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002800000160: nft_pcpu_tun_ctx @ 0x38208+0x27fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -0000002800000160: nft_pcpu_tun_ctx @ 0x38208+0x27fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000165: -Userspace: -The stack size is invalid -Kernel: -0000002800000160: nft_pcpu_tun_ctx @ 0x38208+0x27fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000165: -0000002800000160: nft_pcpu_tun_ctx @ 0x38208+0x27fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002800000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000165: -0000002800000160: -657274730000243b: -000000676e2d7373: -The stack size is invalid -Kernel: -0000002800000160: nft_pcpu_tun_ctx @ 0x38208+0x27fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002900000160: nft_pcpu_tun_ctx @ 0x38208+0x28fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002800000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002900000160: nft_pcpu_tun_ctx @ 0x38208+0x28fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002900000160: nft_pcpu_tun_ctx @ 0x38208+0x28fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003ed: -Userspace: -0000002900000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003ed: -0000002900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000002900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003ed: -The stack size is invalid -Kernel: -0000002900000160: nft_pcpu_tun_ctx @ 0x38208+0x28fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003ed: -0000002900000160: nft_pcpu_tun_ctx @ 0x38208+0x28fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -Userspace: -0000002900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003ed: -0000002900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000002900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003ed: -0000002900000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -000000000000008c: -The stack size is invalid -Kernel: -0000002900000160: nft_pcpu_tun_ctx @ 0x38208+0x28fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -0000002900000160: nft_pcpu_tun_ctx @ 0x38208+0x28fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003ed: -Userspace: -0000002900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000002900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003ed: -0000002900000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -000000000000008c: -The stack size is invalid -Kernel: -0000002900000160: nft_pcpu_tun_ctx @ 0x38208+0x28fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003ed: -0000002900000160: nft_pcpu_tun_ctx @ 0x38208+0x28fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008c: -Userspace: -0000002900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003ed: -0000002900000160: -6572747300002436: -000000676e2d7373: -The stack size is invalid -Kernel: -0000002900000160: nft_pcpu_tun_ctx @ 0x38208+0x28fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008c: -0000002900000160: nft_pcpu_tun_ctx @ 0x38208+0x28fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002900000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -000000000000008c: -0000002900000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003ed: -The stack size is invalid -Kernel: -0000002900000160: nft_pcpu_tun_ctx @ 0x38208+0x28fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002900000160: nft_pcpu_tun_ctx @ 0x38208+0x28fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003ed: -Userspace: -The stack size is invalid -Kernel: -0000002900000160: nft_pcpu_tun_ctx @ 0x38208+0x28fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003ed: -0000002900000160: nft_pcpu_tun_ctx @ 0x38208+0x28fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -Userspace: -0000002900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003ed: -0000002900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000002900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000002900000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002900000160: nft_pcpu_tun_ctx @ 0x38208+0x28fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -0000002900000160: nft_pcpu_tun_ctx @ 0x38208+0x28fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -Userspace: -0000002900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000002900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000002900000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002900000160: nft_pcpu_tun_ctx @ 0x38208+0x28fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000221: -0000002900000160: nft_pcpu_tun_ctx @ 0x38208+0x28fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000221: -0000002900000160: -6572747300002438: -000000676e2d7373: -The stack size is invalid -Kernel: -0000002900000160: nft_pcpu_tun_ctx @ 0x38208+0x28fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002900000160: nft_pcpu_tun_ctx @ 0x38208+0x28fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005d4: -Userspace: -0000002900000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002900000160: -6572747300002434: -000000676e2d7373: -The stack size is invalid -Kernel: -0000002900000160: nft_pcpu_tun_ctx @ 0x38208+0x28fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005d4: -Userspace: -0000002900000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000005d4: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000002a00000160: nft_pcpu_tun_ctx @ 0x38208+0x29fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002a00000160: nft_pcpu_tun_ctx @ 0x38208+0x29fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002a00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002a00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000287: -0000002a00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002a00000160: nft_pcpu_tun_ctx @ 0x38208+0x29fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002a00000160: nft_pcpu_tun_ctx @ 0x38208+0x29fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000287: -Userspace: -0000002a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002a00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000287: -0000002a00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002a00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002a00000160: nft_pcpu_tun_ctx @ 0x38208+0x29fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000287: -0000002a00000160: nft_pcpu_tun_ctx @ 0x38208+0x29fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002a00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000287: -0000002a00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002a00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002a00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000253: -The stack size is invalid -Kernel: -0000002a00000160: nft_pcpu_tun_ctx @ 0x38208+0x29fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002a00000160: nft_pcpu_tun_ctx @ 0x38208+0x29fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002a00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002a00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002a00000160: nft_pcpu_tun_ctx @ 0x38208+0x29fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002a00000160: nft_pcpu_tun_ctx @ 0x38208+0x29fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000253: -Userspace: -0000002a00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002a00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000253: -0000002a00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002a00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002a00000160: nft_pcpu_tun_ctx @ 0x38208+0x29fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000253: -0000002a00000160: nft_pcpu_tun_ctx @ 0x38208+0x29fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002a00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000253: -0000002a00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002a00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002a00000160: nft_pcpu_tun_ctx @ 0x38208+0x29fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002a00000160: nft_pcpu_tun_ctx @ 0x38208+0x29fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002a00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002a00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002a00000160: nft_pcpu_tun_ctx @ 0x38208+0x29fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002a00000160: nft_pcpu_tun_ctx @ 0x38208+0x29fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002a00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002a00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000253: -0000002a00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002a00000160: nft_pcpu_tun_ctx @ 0x38208+0x29fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002a00000160: nft_pcpu_tun_ctx @ 0x38208+0x29fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000253: -Userspace: -0000002a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002a00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000253: -0000002a00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002b00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000287: -The stack size is invalid -Kernel: -0000002a00000160: nft_pcpu_tun_ctx @ 0x38208+0x29fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000253: -0000002a00000160: nft_pcpu_tun_ctx @ 0x38208+0x29fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002a00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000253: -0000002a00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002b00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000287: -0000002b00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000287: -The stack size is invalid -Kernel: -0000002a00000160: nft_pcpu_tun_ctx @ 0x38208+0x29fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002b00000160: nft_pcpu_tun_ctx @ 0x38208+0x2afffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000287: -Userspace: -0000002a00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002b00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000287: -The stack size is invalid -Kernel: -0000002b00000160: nft_pcpu_tun_ctx @ 0x38208+0x2afffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000287: -0000002b00000160: nft_pcpu_tun_ctx @ 0x38208+0x2afffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000287: -Userspace: -0000002b00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000287: -0000002b00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000287: -0000002b00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002b00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000047f: -The stack size is invalid -Kernel: -0000002b00000160: nft_pcpu_tun_ctx @ 0x38208+0x2afffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000287: -0000002b00000160: nft_pcpu_tun_ctx @ 0x38208+0x2afffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002b00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000287: -0000002b00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002b00000160: nft_pcpu_tun_ctx @ 0x38208+0x2afffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002b00000160: nft_pcpu_tun_ctx @ 0x38208+0x2afffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000047f: -Userspace: -0000002b00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002b00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000047f: -The stack size is invalid -Kernel: -0000002b00000160: nft_pcpu_tun_ctx @ 0x38208+0x2afffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000047f: -0000002b00000160: nft_pcpu_tun_ctx @ 0x38208+0x2afffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000253: -Userspace: -0000002b00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000047f: -0000002b00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000253: -0000002b00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000287: -0000002b00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002b00000160: nft_pcpu_tun_ctx @ 0x38208+0x2afffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000253: -0000002b00000160: nft_pcpu_tun_ctx @ 0x38208+0x2afffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000287: -Userspace: -0000002b00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000253: -0000002b00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000287: -0000002b00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002b00000160: nft_pcpu_tun_ctx @ 0x38208+0x2afffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000287: -0000002b00000160: nft_pcpu_tun_ctx @ 0x38208+0x2afffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002b00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000287: -0000002b00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002b00000160: nft_pcpu_tun_ctx @ 0x38208+0x2afffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002b00000160: nft_pcpu_tun_ctx @ 0x38208+0x2afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002b00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002b00000160: nft_pcpu_tun_ctx @ 0x38208+0x2afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002b00000160: nft_pcpu_tun_ctx @ 0x38208+0x2afffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000253: -Userspace: -0000002b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002b00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000253: -0000002b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002b00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002b00000160: nft_pcpu_tun_ctx @ 0x38208+0x2afffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000253: -0000002b00000160: nft_pcpu_tun_ctx @ 0x38208+0x2afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002b00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000253: -0000002b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002b00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002c00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000047f: -The stack size is invalid -Kernel: -0000002b00000160: nft_pcpu_tun_ctx @ 0x38208+0x2afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002b00000160: nft_pcpu_tun_ctx @ 0x38208+0x2afffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002b00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002b00000160: nft_pcpu_tun_ctx @ 0x38208+0x2afffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002c00000160: nft_pcpu_tun_ctx @ 0x38208+0x2bfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000047f: -Userspace: -0000002b00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002c00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000047f: -0000002c00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002c00000160: nft_pcpu_tun_ctx @ 0x38208+0x2bfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000047f: -0000002c00000160: nft_pcpu_tun_ctx @ 0x38208+0x2bfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002c00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000047f: -0000002c00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002c00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002c00000160: nft_pcpu_tun_ctx @ 0x38208+0x2bfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002c00000160: nft_pcpu_tun_ctx @ 0x38208+0x2bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002c00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002c00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002c00000160: nft_pcpu_tun_ctx @ 0x38208+0x2bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002c00000160: nft_pcpu_tun_ctx @ 0x38208+0x2bfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002c00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002c00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000253: -The stack size is invalid -Kernel: -0000002c00000160: nft_pcpu_tun_ctx @ 0x38208+0x2bfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002c00000160: nft_pcpu_tun_ctx @ 0x38208+0x2bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002c00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002c00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000253: -0000002c00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000287: -The stack size is invalid -Kernel: -0000002c00000160: nft_pcpu_tun_ctx @ 0x38208+0x2bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002c00000160: nft_pcpu_tun_ctx @ 0x38208+0x2bfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000253: -Userspace: -0000002c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002c00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000253: -0000002c00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000287: -0000002c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002c00000160: nft_pcpu_tun_ctx @ 0x38208+0x2bfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000253: -0000002c00000160: nft_pcpu_tun_ctx @ 0x38208+0x2bfffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000287: -Userspace: -0000002c00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000253: -0000002c00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000287: -0000002c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002c00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002c00000160: nft_pcpu_tun_ctx @ 0x38208+0x2bfffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000287: -0000002c00000160: nft_pcpu_tun_ctx @ 0x38208+0x2bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002c00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000287: -0000002c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002c00000160: nft_pcpu_tun_ctx @ 0x38208+0x2bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002c00000160: nft_pcpu_tun_ctx @ 0x38208+0x2bfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002c00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002c00000160: nft_pcpu_tun_ctx @ 0x38208+0x2bfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002c00000160: nft_pcpu_tun_ctx @ 0x38208+0x2bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002c00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002d00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000253: -The stack size is invalid -Kernel: -0000002c00000160: nft_pcpu_tun_ctx @ 0x38208+0x2bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002c00000160: nft_pcpu_tun_ctx @ 0x38208+0x2bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002d00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000253: -0000002d00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000287: -The stack size is invalid -Kernel: -0000002c00000160: nft_pcpu_tun_ctx @ 0x38208+0x2bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002d00000160: nft_pcpu_tun_ctx @ 0x38208+0x2cfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000253: -Userspace: -0000002c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002d00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000253: -0000002d00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000287: -0000002d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002d00000160: nft_pcpu_tun_ctx @ 0x38208+0x2cfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000253: -0000002d00000160: nft_pcpu_tun_ctx @ 0x38208+0x2cfffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000287: -Userspace: -0000002d00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000253: -0000002d00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000287: -0000002d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002d00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000047f: -The stack size is invalid -Kernel: -0000002d00000160: nft_pcpu_tun_ctx @ 0x38208+0x2cfffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000287: -0000002d00000160: nft_pcpu_tun_ctx @ 0x38208+0x2cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002d00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000287: -0000002d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002d00000160: nft_pcpu_tun_ctx @ 0x38208+0x2cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002d00000160: nft_pcpu_tun_ctx @ 0x38208+0x2cfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000047f: -Userspace: -0000002d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002d00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000047f: -The stack size is invalid -Kernel: -0000002d00000160: nft_pcpu_tun_ctx @ 0x38208+0x2cfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000047f: -0000002d00000160: nft_pcpu_tun_ctx @ 0x38208+0x2cfffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002d00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000047f: -0000002d00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002d00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002d00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002d00000160: nft_pcpu_tun_ctx @ 0x38208+0x2cfffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002d00000160: nft_pcpu_tun_ctx @ 0x38208+0x2cfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002d00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002d00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002d00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002d00000160: nft_pcpu_tun_ctx @ 0x38208+0x2cfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002d00000160: nft_pcpu_tun_ctx @ 0x38208+0x2cfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002d00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002d00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002d00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002d00000160: nft_pcpu_tun_ctx @ 0x38208+0x2cfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002d00000160: nft_pcpu_tun_ctx @ 0x38208+0x2cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002d00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002d00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002d00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000287: -The stack size is invalid -Kernel: -0000002d00000160: nft_pcpu_tun_ctx @ 0x38208+0x2cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002d00000160: nft_pcpu_tun_ctx @ 0x38208+0x2cfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002d00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002d00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000287: -0000002d00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002d00000160: nft_pcpu_tun_ctx @ 0x38208+0x2cfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002d00000160: nft_pcpu_tun_ctx @ 0x38208+0x2cfffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000287: -Userspace: -0000002d00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002d00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000287: -0000002d00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002d00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002d00000160: nft_pcpu_tun_ctx @ 0x38208+0x2cfffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000287: -0000002d00000160: nft_pcpu_tun_ctx @ 0x38208+0x2cfffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002d00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000287: -0000002d00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002d00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002d00000160: nft_pcpu_tun_ctx @ 0x38208+0x2cfffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002d00000160: nft_pcpu_tun_ctx @ 0x38208+0x2cfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002d00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002d00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002d00000160: nft_pcpu_tun_ctx @ 0x38208+0x2cfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002e00000160: nft_pcpu_tun_ctx @ 0x38208+0x2dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002d00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002e00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000253: -The stack size is invalid -Kernel: -0000002e00000160: nft_pcpu_tun_ctx @ 0x38208+0x2dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002e00000160: nft_pcpu_tun_ctx @ 0x38208+0x2dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002e00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000253: -0000002e00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000004e3: -The stack size is invalid -Kernel: -0000002e00000160: nft_pcpu_tun_ctx @ 0x38208+0x2dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002e00000160: nft_pcpu_tun_ctx @ 0x38208+0x2dfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000253: -Userspace: -0000002e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002e00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000253: -0000002e00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000004e3: -The stack size is invalid -Kernel: -0000002e00000160: nft_pcpu_tun_ctx @ 0x38208+0x2dfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000253: -0000002e00000160: nft_pcpu_tun_ctx @ 0x38208+0x2dfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004e3: -Userspace: -0000002e00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000253: -0000002e00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000004e3: -The stack size is invalid -Kernel: -0000002e00000160: nft_pcpu_tun_ctx @ 0x38208+0x2dfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004e3: -Userspace: -0000002e00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000004e3: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000002e00000160: nft_pcpu_tun_ctx @ 0x38208+0x2dfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000030d: -0000002e00000160: nft_pcpu_tun_ctx @ 0x38208+0x2dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000002e00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000030d: -0000002e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000002e00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002e00000160: nft_pcpu_tun_ctx @ 0x38208+0x2dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000002e00000160: nft_pcpu_tun_ctx @ 0x38208+0x2dfffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000002e00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002e00000160: nft_pcpu_tun_ctx @ 0x38208+0x2dfffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002e00000160: nft_pcpu_tun_ctx @ 0x38208+0x2dfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000155: -Userspace: -0000002e00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002e00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000155: -0000002e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000015a: -The stack size is invalid -Kernel: -0000002e00000160: nft_pcpu_tun_ctx @ 0x38208+0x2dfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000155: -0000002e00000160: nft_pcpu_tun_ctx @ 0x38208+0x2dfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000015a: -Userspace: -0000002e00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000155: -0000002e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000015a: -0000002e00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000030d: -0000002f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -The stack size is invalid -Kernel: -0000002e00000160: nft_pcpu_tun_ctx @ 0x38208+0x2dfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000015a: -0000002e00000160: nft_pcpu_tun_ctx @ 0x38208+0x2dfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000030d: -Userspace: -0000002e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000015a: -The stack size is invalid -Kernel: -0000002e00000160: nft_pcpu_tun_ctx @ 0x38208+0x2dfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000030d: -0000002f00000160: nft_pcpu_tun_ctx @ 0x38208+0x2efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000002e00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000030d: -The stack size is invalid -Kernel: -0000002f00000160: nft_pcpu_tun_ctx @ 0x38208+0x2efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000002f00000160: nft_pcpu_tun_ctx @ 0x38208+0x2efffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000155: -Userspace: -0000002f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000002f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000155: -The stack size is invalid -Kernel: -0000002f00000160: nft_pcpu_tun_ctx @ 0x38208+0x2efffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000155: -0000002f00000160: nft_pcpu_tun_ctx @ 0x38208+0x2efffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000015a: -Userspace: -0000002f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000155: -0000002f00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000015a: -0000002f00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002f00000160: nft_pcpu_tun_ctx @ 0x38208+0x2efffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000015a: -0000002f00000160: nft_pcpu_tun_ctx @ 0x38208+0x2efffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002f00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000015a: -The stack size is invalid -Kernel: -0000002f00000160: nft_pcpu_tun_ctx @ 0x38208+0x2efffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002f00000160: nft_pcpu_tun_ctx @ 0x38208+0x2efffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002f00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002f00000160: nft_pcpu_tun_ctx @ 0x38208+0x2efffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002f00000160: nft_pcpu_tun_ctx @ 0x38208+0x2efffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000015a: -Userspace: -0000002f00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002f00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000015a: -0000002f00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000562: -0000002f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000155: -The stack size is invalid -Kernel: -0000002f00000160: nft_pcpu_tun_ctx @ 0x38208+0x2efffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000015a: -0000002f00000160: nft_pcpu_tun_ctx @ 0x38208+0x2efffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000562: -Userspace: -0000002f00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000015a: -0000002f00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000562: -0000002f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000155: -0000002f00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002f00000160: nft_pcpu_tun_ctx @ 0x38208+0x2efffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000562: -0000002f00000160: nft_pcpu_tun_ctx @ 0x38208+0x2efffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000155: -Userspace: -0000002f00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000562: -The stack size is invalid -Kernel: -0000002f00000160: nft_pcpu_tun_ctx @ 0x38208+0x2efffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000155: -0000002f00000160: nft_pcpu_tun_ctx @ 0x38208+0x2efffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000155: -0000002f00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000002f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000155: -The stack size is invalid -Kernel: -0000002f00000160: nft_pcpu_tun_ctx @ 0x38208+0x2efffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002f00000160: nft_pcpu_tun_ctx @ 0x38208+0x2efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000002f00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002f00000160: nft_pcpu_tun_ctx @ 0x38208+0x2efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000002f00000160: nft_pcpu_tun_ctx @ 0x38208+0x2efffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000155: -Userspace: -0000002f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000002f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000155: -0000003000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000003000000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000030d: -The stack size is invalid -Kernel: -0000002f00000160: nft_pcpu_tun_ctx @ 0x38208+0x2efffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000155: -0000003000000160: nft_pcpu_tun_ctx @ 0x38208+0x2ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000002f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000155: -0000003000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000003000000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000030d: -The stack size is invalid -Kernel: -0000003000000160: nft_pcpu_tun_ctx @ 0x38208+0x2ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000003000000160: nft_pcpu_tun_ctx @ 0x38208+0x2ffffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000030d: -Userspace: -0000003000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -The stack size is invalid -Kernel: -0000003000000160: nft_pcpu_tun_ctx @ 0x38208+0x2ffffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000030d: -0000003000000160: nft_pcpu_tun_ctx @ 0x38208+0x2ffffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000562: -Userspace: -0000003000000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000030d: -0000003000000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000562: -0000003000000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000030d: -The stack size is invalid -Kernel: -0000003000000160: nft_pcpu_tun_ctx @ 0x38208+0x2ffffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000562: -0000003000000160: nft_pcpu_tun_ctx @ 0x38208+0x2ffffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000030d: -Userspace: -0000003000000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000562: -0000003000000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000030d: -The stack size is invalid -Kernel: -0000003000000160: nft_pcpu_tun_ctx @ 0x38208+0x2ffffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000030d: -0000003000000160: nft_pcpu_tun_ctx @ 0x38208+0x2ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000003000000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000030d: -0000003000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000003000000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000030d: -0000003000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -The stack size is invalid -Kernel: -0000003000000160: nft_pcpu_tun_ctx @ 0x38208+0x2ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000003000000160: nft_pcpu_tun_ctx @ 0x38208+0x2ffffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000030d: -Userspace: -0000003000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000003000000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000030d: -The stack size is invalid -Kernel: -0000003000000160: nft_pcpu_tun_ctx @ 0x38208+0x2ffffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000030d: -0000003000000160: nft_pcpu_tun_ctx @ 0x38208+0x2ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000003000000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000030d: -0000003000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000003000000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000155: -The stack size is invalid -Kernel: -0000003000000160: nft_pcpu_tun_ctx @ 0x38208+0x2ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000003000000160: nft_pcpu_tun_ctx @ 0x38208+0x2ffffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000155: -Userspace: -0000003000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000003000000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000155: -The stack size is invalid -Kernel: -0000003000000160: nft_pcpu_tun_ctx @ 0x38208+0x2ffffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000155: -0000003000000160: nft_pcpu_tun_ctx @ 0x38208+0x2ffffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000003000000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000155: -0000003000000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -The stack size is invalid -Kernel: -0000003000000160: nft_pcpu_tun_ctx @ 0x38208+0x2ffffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000003000000160: nft_pcpu_tun_ctx @ 0x38208+0x2ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000003000000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000003000000160: nft_pcpu_tun_ctx @ 0x38208+0x2ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000003000000160: nft_pcpu_tun_ctx @ 0x38208+0x2ffffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000030d: -Userspace: -0000003000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000003000000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000030d: -0000003000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000003100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -The stack size is invalid -Kernel: -0000003000000160: nft_pcpu_tun_ctx @ 0x38208+0x2ffffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000030d: -0000003000000160: nft_pcpu_tun_ctx @ 0x38208+0x2ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000003000000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000030d: -0000003000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000003100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -The stack size is invalid -Kernel: -0000003000000160: nft_pcpu_tun_ctx @ 0x38208+0x2ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000003100000160: nft_pcpu_tun_ctx @ 0x38208+0x30fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000003000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000003100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -The stack size is invalid -Kernel: -0000003100000160: nft_pcpu_tun_ctx @ 0x38208+0x30fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000003100000160: nft_pcpu_tun_ctx @ 0x38208+0x30fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000155: -Userspace: -0000003100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000003100000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000155: -0000003100000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000003100000160: nft_pcpu_tun_ctx @ 0x38208+0x30fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000155: -0000003100000160: nft_pcpu_tun_ctx @ 0x38208+0x30fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000003100000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000155: -0000003100000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -The stack size is invalid -Kernel: -0000003100000160: nft_pcpu_tun_ctx @ 0x38208+0x30fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000003100000160: nft_pcpu_tun_ctx @ 0x38208+0x30fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000003100000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000003100000160: nft_pcpu_tun_ctx @ 0x38208+0x30fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000003100000160: nft_pcpu_tun_ctx @ 0x38208+0x30fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000562: -Userspace: -0000003100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000003100000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000562: -0000003100000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000030d: -0000003100000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000015a: -The stack size is invalid -Kernel: -0000003100000160: nft_pcpu_tun_ctx @ 0x38208+0x30fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000562: -0000003100000160: nft_pcpu_tun_ctx @ 0x38208+0x30fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000030d: -Userspace: -0000003100000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000562: -0000003100000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000030d: -0000003100000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000015a: -The stack size is invalid -Kernel: -0000003100000160: nft_pcpu_tun_ctx @ 0x38208+0x30fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000030d: -0000003100000160: nft_pcpu_tun_ctx @ 0x38208+0x30fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000015a: -Userspace: -0000003100000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000030d: -0000003100000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000015a: -0000003100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000003100000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000015a: -The stack size is invalid -Kernel: -0000003100000160: nft_pcpu_tun_ctx @ 0x38208+0x30fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000015a: -0000003100000160: nft_pcpu_tun_ctx @ 0x38208+0x30fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000003100000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000015a: -0000003100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -The stack size is invalid -Kernel: -0000003100000160: nft_pcpu_tun_ctx @ 0x38208+0x30fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000003100000160: nft_pcpu_tun_ctx @ 0x38208+0x30fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000015a: -Userspace: -0000003100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -The stack size is invalid -Kernel: -0000003100000160: nft_pcpu_tun_ctx @ 0x38208+0x30fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000015a: -0000003100000160: nft_pcpu_tun_ctx @ 0x38208+0x30fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000003100000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000015a: -0000003100000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003100000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000015a: -The stack size is invalid -Kernel: -0000003100000160: nft_pcpu_tun_ctx @ 0x38208+0x30fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000003100000160: nft_pcpu_tun_ctx @ 0x38208+0x30fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000015a: -Userspace: -0000003100000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000003100000160: nft_pcpu_tun_ctx @ 0x38208+0x30fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000015a: -0000003200000160: nft_pcpu_tun_ctx @ 0x38208+0x31fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000003100000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000015a: -0000003200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000003200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000003200000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000155: -The stack size is invalid -Kernel: -0000003200000160: nft_pcpu_tun_ctx @ 0x38208+0x31fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000003200000160: nft_pcpu_tun_ctx @ 0x38208+0x31fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000003200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -The stack size is invalid -Kernel: -0000003200000160: nft_pcpu_tun_ctx @ 0x38208+0x31fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000003200000160: nft_pcpu_tun_ctx @ 0x38208+0x31fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000155: -Userspace: -0000003200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000003200000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000155: -0000003200000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000000f3: -The stack size is invalid -Kernel: -0000003200000160: nft_pcpu_tun_ctx @ 0x38208+0x31fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000155: -0000003200000160: nft_pcpu_tun_ctx @ 0x38208+0x31fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000000f3: -Userspace: -0000003200000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000155: -0000003200000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000000f3: -The stack size is invalid -Kernel: -0000003200000160: nft_pcpu_tun_ctx @ 0x38208+0x31fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000000f3: -Userspace: -0000003200000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000000f3: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000003200000160: nft_pcpu_tun_ctx @ 0x38208+0x31fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000003200000160: nft_pcpu_tun_ctx @ 0x38208+0x31fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000003200000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000003200000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000001a6: -The stack size is invalid -Kernel: -0000003200000160: nft_pcpu_tun_ctx @ 0x38208+0x31fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000003200000160: nft_pcpu_tun_ctx @ 0x38208+0x31fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000001a6: -Userspace: -0000003200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000003200000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000001a6: -0000003200000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -The stack size is invalid -Kernel: -0000003200000160: nft_pcpu_tun_ctx @ 0x38208+0x31fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000001a6: -0000003200000160: nft_pcpu_tun_ctx @ 0x38208+0x31fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000003200000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000001a6: -0000003200000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -The stack size is invalid -Kernel: -0000003200000160: nft_pcpu_tun_ctx @ 0x38208+0x31fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000003200000160: nft_pcpu_tun_ctx @ 0x38208+0x31fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000003200000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000003200000160: nft_pcpu_tun_ctx @ 0x38208+0x31fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000003200000160: nft_pcpu_tun_ctx @ 0x38208+0x31fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000003200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000003200000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000003300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000003200000160: nft_pcpu_tun_ctx @ 0x38208+0x31fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000003200000160: nft_pcpu_tun_ctx @ 0x38208+0x31fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -Userspace: -0000003200000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000003300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000003200000160: nft_pcpu_tun_ctx @ 0x38208+0x31fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -0000003300000160: nft_pcpu_tun_ctx @ 0x38208+0x32fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000003200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000003300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000003300000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000003300000160: nft_pcpu_tun_ctx @ 0x38208+0x32fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000003300000160: nft_pcpu_tun_ctx @ 0x38208+0x32fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000003300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -The stack size is invalid -Kernel: -0000003300000160: nft_pcpu_tun_ctx @ 0x38208+0x32fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000003300000160: nft_pcpu_tun_ctx @ 0x38208+0x32fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000003300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000003300000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003300000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000003300000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000001a6: -The stack size is invalid -Kernel: -0000003300000160: nft_pcpu_tun_ctx @ 0x38208+0x32fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000003300000160: nft_pcpu_tun_ctx @ 0x38208+0x32fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -Userspace: -0000003300000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003300000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000003300000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000001a6: -The stack size is invalid -Kernel: -0000003300000160: nft_pcpu_tun_ctx @ 0x38208+0x32fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -0000003300000160: nft_pcpu_tun_ctx @ 0x38208+0x32fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000001a6: -Userspace: -0000003300000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000003300000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000001a6: -0000003300000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000001a6: -0000003300000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -The stack size is invalid -Kernel: -0000003300000160: nft_pcpu_tun_ctx @ 0x38208+0x32fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000001a6: -0000003300000160: nft_pcpu_tun_ctx @ 0x38208+0x32fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000001a6: -Userspace: -0000003300000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000001a6: -0000003300000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000001a6: -The stack size is invalid -Kernel: -0000003300000160: nft_pcpu_tun_ctx @ 0x38208+0x32fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000001a6: -0000003300000160: nft_pcpu_tun_ctx @ 0x38208+0x32fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -Userspace: -0000003300000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000001a6: -The stack size is invalid -Kernel: -0000003300000160: nft_pcpu_tun_ctx @ 0x38208+0x32fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -0000003300000160: nft_pcpu_tun_ctx @ 0x38208+0x32fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -Userspace: -0000003300000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -The stack size is invalid -Kernel: -0000003300000160: nft_pcpu_tun_ctx @ 0x38208+0x32fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -0000003300000160: nft_pcpu_tun_ctx @ 0x38208+0x32fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000003300000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000003300000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000003300000160: nft_pcpu_tun_ctx @ 0x38208+0x32fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000003300000160: nft_pcpu_tun_ctx @ 0x38208+0x32fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000001a6: -Userspace: -0000003300000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003300000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000001a6: -0000003300000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -00000000000003ed: -The stack size is invalid -Kernel: -0000003300000160: nft_pcpu_tun_ctx @ 0x38208+0x32fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000001a6: -0000003300000160: nft_pcpu_tun_ctx @ 0x38208+0x32fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003ed: -Userspace: -0000003300000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000001a6: -0000003300000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -00000000000003ed: -0000003400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000003400000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000003300000160: nft_pcpu_tun_ctx @ 0x38208+0x32fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003ed: -0000003400000160: nft_pcpu_tun_ctx @ 0x38208+0x33fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000003300000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -00000000000003ed: -The stack size is invalid -Kernel: -0000003400000160: nft_pcpu_tun_ctx @ 0x38208+0x33fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000003400000160: nft_pcpu_tun_ctx @ 0x38208+0x33fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000003400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000003400000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -The stack size is invalid -Kernel: -0000003400000160: nft_pcpu_tun_ctx @ 0x38208+0x33fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000003400000160: nft_pcpu_tun_ctx @ 0x38208+0x33fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000003400000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000003400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000003400000160: nft_pcpu_tun_ctx @ 0x38208+0x33fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000003400000160: nft_pcpu_tun_ctx @ 0x38208+0x33fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000003400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000003400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003400000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000003400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000003400000160: nft_pcpu_tun_ctx @ 0x38208+0x33fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000003400000160: nft_pcpu_tun_ctx @ 0x38208+0x33fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -Userspace: -0000003400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003400000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000003400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000003400000160: nft_pcpu_tun_ctx @ 0x38208+0x33fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -0000003400000160: nft_pcpu_tun_ctx @ 0x38208+0x33fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000003400000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000003400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000003400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000003400000160: nft_pcpu_tun_ctx @ 0x38208+0x33fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000003400000160: nft_pcpu_tun_ctx @ 0x38208+0x33fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000003400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000003400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000003400000160: nft_pcpu_tun_ctx @ 0x38208+0x33fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000003400000160: nft_pcpu_tun_ctx @ 0x38208+0x33fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000003400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000003400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000003400000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000003400000160: nft_pcpu_tun_ctx @ 0x38208+0x33fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000003400000160: nft_pcpu_tun_ctx @ 0x38208+0x33fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000003400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000003400000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000003400000160: nft_pcpu_tun_ctx @ 0x38208+0x33fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000003400000160: nft_pcpu_tun_ctx @ 0x38208+0x33fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000003400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000003400000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003400000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000001a6: -0000003500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -The stack size is invalid -Kernel: -0000003400000160: nft_pcpu_tun_ctx @ 0x38208+0x33fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000003400000160: nft_pcpu_tun_ctx @ 0x38208+0x33fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000001a6: -Userspace: -0000003400000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003400000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000001a6: -0000003500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -The stack size is invalid -Kernel: -0000003400000160: nft_pcpu_tun_ctx @ 0x38208+0x33fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000001a6: -0000003500000160: nft_pcpu_tun_ctx @ 0x38208+0x34fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000003400000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000001a6: -0000003500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000003500000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -The stack size is invalid -Kernel: -0000003500000160: nft_pcpu_tun_ctx @ 0x38208+0x34fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000003500000160: nft_pcpu_tun_ctx @ 0x38208+0x34fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000003500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -The stack size is invalid -Kernel: -0000003500000160: nft_pcpu_tun_ctx @ 0x38208+0x34fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000003500000160: nft_pcpu_tun_ctx @ 0x38208+0x34fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000003500000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000003500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -The stack size is invalid -Kernel: -0000003500000160: nft_pcpu_tun_ctx @ 0x38208+0x34fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000003500000160: nft_pcpu_tun_ctx @ 0x38208+0x34fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000003500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000003500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000003500000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003500000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000001a6: -The stack size is invalid -Kernel: -0000003500000160: nft_pcpu_tun_ctx @ 0x38208+0x34fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000003500000160: nft_pcpu_tun_ctx @ 0x38208+0x34fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000003500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000003500000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003500000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000001a6: -The stack size is invalid -Kernel: -0000003500000160: nft_pcpu_tun_ctx @ 0x38208+0x34fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000003500000160: nft_pcpu_tun_ctx @ 0x38208+0x34fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000001a6: -Userspace: -0000003500000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003500000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000001a6: -0000003500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -The stack size is invalid -Kernel: -0000003500000160: nft_pcpu_tun_ctx @ 0x38208+0x34fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000001a6: -0000003500000160: nft_pcpu_tun_ctx @ 0x38208+0x34fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000003500000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000001a6: -0000003500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000003500000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000003500000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000004c: -The stack size is invalid -Kernel: -0000003500000160: nft_pcpu_tun_ctx @ 0x38208+0x34fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000003500000160: nft_pcpu_tun_ctx @ 0x38208+0x34fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -Userspace: -0000003500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -The stack size is invalid -Kernel: -0000003500000160: nft_pcpu_tun_ctx @ 0x38208+0x34fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -0000003500000160: nft_pcpu_tun_ctx @ 0x38208+0x34fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000004c: -Userspace: -0000003500000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000003500000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000004c: -0000003500000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000003500000160: nft_pcpu_tun_ctx @ 0x38208+0x34fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000004c: -0000003500000160: nft_pcpu_tun_ctx @ 0x38208+0x34fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000003500000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000004c: -0000003500000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003500000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -The stack size is invalid -Kernel: -0000003500000160: nft_pcpu_tun_ctx @ 0x38208+0x34fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000003500000160: nft_pcpu_tun_ctx @ 0x38208+0x34fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -Userspace: -The stack size is invalid -Kernel: -0000003500000160: nft_pcpu_tun_ctx @ 0x38208+0x34fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -0000003500000160: nft_pcpu_tun_ctx @ 0x38208+0x34fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000003500000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000003500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000003600000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000003600000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000001a6: -The stack size is invalid -Kernel: -0000003500000160: nft_pcpu_tun_ctx @ 0x38208+0x34fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000003600000160: nft_pcpu_tun_ctx @ 0x38208+0x35fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -Userspace: -0000003500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000003600000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -The stack size is invalid -Kernel: -0000003600000160: nft_pcpu_tun_ctx @ 0x38208+0x35fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -0000003600000160: nft_pcpu_tun_ctx @ 0x38208+0x35fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000001a6: -Userspace: -0000003600000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000003600000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000001a6: -0000003600000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -The stack size is invalid -Kernel: -0000003600000160: nft_pcpu_tun_ctx @ 0x38208+0x35fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000001a6: -0000003600000160: nft_pcpu_tun_ctx @ 0x38208+0x35fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -Userspace: -0000003600000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000001a6: -0000003600000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -The stack size is invalid -Kernel: -0000003600000160: nft_pcpu_tun_ctx @ 0x38208+0x35fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -0000003600000160: nft_pcpu_tun_ctx @ 0x38208+0x35fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -Userspace: -0000003600000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -The stack size is invalid -Kernel: -0000003600000160: nft_pcpu_tun_ctx @ 0x38208+0x35fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -0000003600000160: nft_pcpu_tun_ctx @ 0x38208+0x35fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000003600000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000003600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -The stack size is invalid -Kernel: -0000003600000160: nft_pcpu_tun_ctx @ 0x38208+0x35fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000003600000160: nft_pcpu_tun_ctx @ 0x38208+0x35fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000003600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000003600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -The stack size is invalid -Kernel: -0000003600000160: nft_pcpu_tun_ctx @ 0x38208+0x35fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000003600000160: nft_pcpu_tun_ctx @ 0x38208+0x35fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000003600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000003600000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003600000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000004c: -The stack size is invalid -Kernel: -0000003600000160: nft_pcpu_tun_ctx @ 0x38208+0x35fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000003600000160: nft_pcpu_tun_ctx @ 0x38208+0x35fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000004c: -Userspace: -0000003600000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003600000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000004c: -The stack size is invalid -Kernel: -0000003600000160: nft_pcpu_tun_ctx @ 0x38208+0x35fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000004c: -Userspace: -0000003600000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000004c: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000003600000160: nft_pcpu_tun_ctx @ 0x38208+0x35fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -0000003600000160: nft_pcpu_tun_ctx @ 0x38208+0x35fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000398: -Userspace: -0000003600000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000003600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000398: -0000003700000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000010: -The stack size is invalid -Kernel: -0000003600000160: nft_pcpu_tun_ctx @ 0x38208+0x35fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000398: -0000003700000160: nft_pcpu_tun_ctx @ 0x38208+0x36fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -Userspace: -0000003600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000398: -0000003700000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000003700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000003700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000398: -0000003700000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000044c: -The stack size is invalid -Kernel: -0000003700000160: nft_pcpu_tun_ctx @ 0x38208+0x36fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -0000003700000160: nft_pcpu_tun_ctx @ 0x38208+0x36fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -Userspace: -0000003700000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000003700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000003700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000398: -The stack size is invalid -Kernel: -0000003700000160: nft_pcpu_tun_ctx @ 0x38208+0x36fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -0000003700000160: nft_pcpu_tun_ctx @ 0x38208+0x36fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000398: -Userspace: -The stack size is invalid -Kernel: -0000003700000160: nft_pcpu_tun_ctx @ 0x38208+0x36fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000398: -0000003700000160: nft_pcpu_tun_ctx @ 0x38208+0x36fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044c: -Userspace: -0000003700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000398: -0000003700000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000003700000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000166: -0000003700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000003700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000398: -The stack size is invalid -Kernel: -0000003700000160: nft_pcpu_tun_ctx @ 0x38208+0x36fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044c: -0000003700000160: nft_pcpu_tun_ctx @ 0x38208+0x36fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -Userspace: -0000003700000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000003700000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000166: -0000003700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000699: -The stack size is invalid -Kernel: -0000003700000160: nft_pcpu_tun_ctx @ 0x38208+0x36fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -0000003700000160: nft_pcpu_tun_ctx @ 0x38208+0x36fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -Userspace: -0000003700000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000166: -0000003700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000003700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000398: -The stack size is invalid -Kernel: -0000003700000160: nft_pcpu_tun_ctx @ 0x38208+0x36fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -0000003700000160: nft_pcpu_tun_ctx @ 0x38208+0x36fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000398: -Userspace: -0000003700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000699: -The stack size is invalid -Kernel: -0000003700000160: nft_pcpu_tun_ctx @ 0x38208+0x36fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000398: -0000003700000160: nft_pcpu_tun_ctx @ 0x38208+0x36fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044c: -Userspace: -0000003700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000398: -0000003700000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000003700000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000166: -0000003700000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000003700000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000010: -The stack size is invalid -Kernel: -0000003700000160: nft_pcpu_tun_ctx @ 0x38208+0x36fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044c: -0000003700000160: nft_pcpu_tun_ctx @ 0x38208+0x36fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -Userspace: -0000003700000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000003700000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000166: -0000003700000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000010: -The stack size is invalid -Kernel: -0000003700000160: nft_pcpu_tun_ctx @ 0x38208+0x36fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -0000003700000160: nft_pcpu_tun_ctx @ 0x38208+0x36fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -Userspace: -0000003700000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000166: -0000003700000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000003700000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000010: -The stack size is invalid -Kernel: -0000003700000160: nft_pcpu_tun_ctx @ 0x38208+0x36fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -0000003700000160: nft_pcpu_tun_ctx @ 0x38208+0x36fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -Userspace: -0000003700000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000010: -The stack size is invalid -Kernel: -0000003700000160: nft_pcpu_tun_ctx @ 0x38208+0x36fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -0000003700000160: nft_pcpu_tun_ctx @ 0x38208+0x36fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -Userspace: -The stack size is invalid -Kernel: -0000003700000160: nft_pcpu_tun_ctx @ 0x38208+0x36fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -0000003800000160: nft_pcpu_tun_ctx @ 0x38208+0x37fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000433: -Userspace: -The stack size is invalid -Kernel: -0000003800000160: nft_pcpu_tun_ctx @ 0x38208+0x37fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000433: -0000003800000160: nft_pcpu_tun_ctx @ 0x38208+0x37fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044c: -Userspace: -0000003800000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000433: -The stack size is invalid -Kernel: -0000003800000160: nft_pcpu_tun_ctx @ 0x38208+0x37fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044c: -0000003800000160: nft_pcpu_tun_ctx @ 0x38208+0x37fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -Userspace: -0000003800000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000003800000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000003800000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -00000000000004f8: -The stack size is invalid -Kernel: -0000003800000160: nft_pcpu_tun_ctx @ 0x38208+0x37fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -0000003800000160: nft_pcpu_tun_ctx @ 0x38208+0x37fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004f8: -Userspace: -0000003800000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000003800000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -00000000000004f8: -0000003800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000398: -The stack size is invalid -Kernel: -0000003800000160: nft_pcpu_tun_ctx @ 0x38208+0x37fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004f8: -0000003800000160: nft_pcpu_tun_ctx @ 0x38208+0x37fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000398: -Userspace: -The stack size is invalid -Kernel: -0000003800000160: nft_pcpu_tun_ctx @ 0x38208+0x37fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000398: -0000003800000160: nft_pcpu_tun_ctx @ 0x38208+0x37fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044c: -Userspace: -0000003800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000398: -0000003800000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000003800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000398: -0000003800000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -The stack size is invalid -Kernel: -0000003800000160: nft_pcpu_tun_ctx @ 0x38208+0x37fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044c: -0000003800000160: nft_pcpu_tun_ctx @ 0x38208+0x37fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000398: -Userspace: -0000003800000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000003800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000398: -0000003800000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000699: -The stack size is invalid -Kernel: -0000003800000160: nft_pcpu_tun_ctx @ 0x38208+0x37fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000398: -0000003800000160: nft_pcpu_tun_ctx @ 0x38208+0x37fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -Userspace: -0000003800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000398: -0000003800000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000003800000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000433: -The stack size is invalid -Kernel: -0000003800000160: nft_pcpu_tun_ctx @ 0x38208+0x37fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -0000003800000160: nft_pcpu_tun_ctx @ 0x38208+0x37fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000433: -Userspace: -0000003800000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000003800000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000433: -0000003800000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000699: -The stack size is invalid -Kernel: -0000003800000160: nft_pcpu_tun_ctx @ 0x38208+0x37fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000433: -0000003800000160: nft_pcpu_tun_ctx @ 0x38208+0x37fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -Userspace: -0000003800000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000433: -0000003800000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000003800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000398: -0000003900000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000003900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000398: -The stack size is invalid -Kernel: -0000003800000160: nft_pcpu_tun_ctx @ 0x38208+0x37fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -0000003800000160: nft_pcpu_tun_ctx @ 0x38208+0x37fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000398: -Userspace: -0000003800000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000003800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000398: -0000003900000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000699: -The stack size is invalid -Kernel: -0000003800000160: nft_pcpu_tun_ctx @ 0x38208+0x37fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000398: -0000003900000160: nft_pcpu_tun_ctx @ 0x38208+0x38fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -Userspace: -0000003800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000398: -0000003900000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000003900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000398: -0000003900000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000003900000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000010: -The stack size is invalid -Kernel: -0000003900000160: nft_pcpu_tun_ctx @ 0x38208+0x38fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -0000003900000160: nft_pcpu_tun_ctx @ 0x38208+0x38fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000398: -Userspace: -0000003900000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000003900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000398: -0000003900000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000044c: -The stack size is invalid -Kernel: -0000003900000160: nft_pcpu_tun_ctx @ 0x38208+0x38fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000398: -0000003900000160: nft_pcpu_tun_ctx @ 0x38208+0x38fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044c: -Userspace: -0000003900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000398: -0000003900000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000003900000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000003900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000398: -0000003900000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000699: -The stack size is invalid -Kernel: -0000003900000160: nft_pcpu_tun_ctx @ 0x38208+0x38fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044c: -0000003900000160: nft_pcpu_tun_ctx @ 0x38208+0x38fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -Userspace: -0000003900000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000003900000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000003900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000398: -The stack size is invalid -Kernel: -0000003900000160: nft_pcpu_tun_ctx @ 0x38208+0x38fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -0000003900000160: nft_pcpu_tun_ctx @ 0x38208+0x38fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000398: -Userspace: -0000003900000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000003900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000398: -0000003900000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000699: -The stack size is invalid -Kernel: -0000003900000160: nft_pcpu_tun_ctx @ 0x38208+0x38fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000398: -0000003900000160: nft_pcpu_tun_ctx @ 0x38208+0x38fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -Userspace: -The stack size is invalid -Kernel: -0000003900000160: nft_pcpu_tun_ctx @ 0x38208+0x38fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -0000003900000160: nft_pcpu_tun_ctx @ 0x38208+0x38fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000398: -Userspace: -0000003900000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000003900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000398: -0000003900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000398: -The stack size is invalid -Kernel: -0000003900000160: nft_pcpu_tun_ctx @ 0x38208+0x38fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000398: -0000003900000160: nft_pcpu_tun_ctx @ 0x38208+0x38fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000398: -Userspace: -0000003900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000398: -0000003900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000398: -0000003900000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000003900000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000003900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000398: -The stack size is invalid -Kernel: -0000003900000160: nft_pcpu_tun_ctx @ 0x38208+0x38fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000398: -0000003900000160: nft_pcpu_tun_ctx @ 0x38208+0x38fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044c: -Userspace: -0000003900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000398: -0000003900000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000003900000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000010: -The stack size is invalid -Kernel: -0000003900000160: nft_pcpu_tun_ctx @ 0x38208+0x38fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044c: -0000003900000160: nft_pcpu_tun_ctx @ 0x38208+0x38fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -Userspace: -0000003900000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000003900000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000003900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000398: -The stack size is invalid -Kernel: -0000003900000160: nft_pcpu_tun_ctx @ 0x38208+0x38fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -0000003900000160: nft_pcpu_tun_ctx @ 0x38208+0x38fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000398: -Userspace: -0000003900000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000003900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000398: -0000003a00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000433: -The stack size is invalid -Kernel: -0000003900000160: nft_pcpu_tun_ctx @ 0x38208+0x38fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000398: -0000003a00000160: nft_pcpu_tun_ctx @ 0x38208+0x39fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000433: -Userspace: -The stack size is invalid -Kernel: -0000003a00000160: nft_pcpu_tun_ctx @ 0x38208+0x39fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000433: -0000003a00000160: nft_pcpu_tun_ctx @ 0x38208+0x39fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000007ee: -Userspace: -0000003a00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000433: -0000003a00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000007ee: -0000003a00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000699: -The stack size is invalid -Kernel: -0000003a00000160: nft_pcpu_tun_ctx @ 0x38208+0x39fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000007ee: -0000003a00000160: nft_pcpu_tun_ctx @ 0x38208+0x39fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -Userspace: -0000003a00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000007ee: -0000003a00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000003a00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000166: -The stack size is invalid -Kernel: -0000003a00000160: nft_pcpu_tun_ctx @ 0x38208+0x39fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -0000003a00000160: nft_pcpu_tun_ctx @ 0x38208+0x39fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -Userspace: -0000003a00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000003a00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000166: -0000003a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000398: -0000003a00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000166: -0000003a00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000003a00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000166: -The stack size is invalid -Kernel: -0000003a00000160: nft_pcpu_tun_ctx @ 0x38208+0x39fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -0000003a00000160: nft_pcpu_tun_ctx @ 0x38208+0x39fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000398: -Userspace: -0000003a00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000166: -0000003a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000398: -0000003a00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000166: -0000003a00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000003a00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000166: -The stack size is invalid -Kernel: -0000003a00000160: nft_pcpu_tun_ctx @ 0x38208+0x39fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000398: -0000003a00000160: nft_pcpu_tun_ctx @ 0x38208+0x39fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -Userspace: -0000003a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000398: -The stack size is invalid -Kernel: -0000003a00000160: nft_pcpu_tun_ctx @ 0x38208+0x39fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -0000003a00000160: nft_pcpu_tun_ctx @ 0x38208+0x39fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -Userspace: -0000003a00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000166: -0000003a00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000003a00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000166: -The stack size is invalid -Kernel: -0000003a00000160: nft_pcpu_tun_ctx @ 0x38208+0x39fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -0000003a00000160: nft_pcpu_tun_ctx @ 0x38208+0x39fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -Userspace: -0000003a00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000010: -The stack size is invalid -Kernel: -0000003a00000160: nft_pcpu_tun_ctx @ 0x38208+0x39fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -0000003a00000160: nft_pcpu_tun_ctx @ 0x38208+0x39fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -Userspace: -The stack size is invalid -Kernel: -0000003a00000160: nft_pcpu_tun_ctx @ 0x38208+0x39fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -0000003a00000160: nft_pcpu_tun_ctx @ 0x38208+0x39fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000398: -Userspace: -0000003a00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000166: -The stack size is invalid -Kernel: -0000003a00000160: nft_pcpu_tun_ctx @ 0x38208+0x39fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000398: -0000003a00000160: nft_pcpu_tun_ctx @ 0x38208+0x39fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000398: -Userspace: -0000003a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000398: -The stack size is invalid -Kernel: -0000003a00000160: nft_pcpu_tun_ctx @ 0x38208+0x39fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000398: -0000003a00000160: nft_pcpu_tun_ctx @ 0x38208+0x39fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044c: -Userspace: -0000003a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000398: -0000003a00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000003b00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000007ee: -The stack size is invalid -Kernel: -0000003a00000160: nft_pcpu_tun_ctx @ 0x38208+0x39fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044c: -0000003b00000160: nft_pcpu_tun_ctx @ 0x38208+0x3afffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000007ee: -Userspace: -0000003a00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000003b00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000007ee: -The stack size is invalid -Kernel: -0000003b00000160: nft_pcpu_tun_ctx @ 0x38208+0x3afffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000007ee: -Userspace: -0000003b00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000007ee: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000003b00000160: nft_pcpu_tun_ctx @ 0x38208+0x3afffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -0000003b00000160: nft_pcpu_tun_ctx @ 0x38208+0x3afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000003b00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000003b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003b00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000003b00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000699: -The stack size is invalid -Kernel: -0000003b00000160: nft_pcpu_tun_ctx @ 0x38208+0x3afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000003b00000160: nft_pcpu_tun_ctx @ 0x38208+0x3afffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -Userspace: -0000003b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003b00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000003b00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000003b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003b00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000008f: -The stack size is invalid -Kernel: -0000003b00000160: nft_pcpu_tun_ctx @ 0x38208+0x3afffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -0000003b00000160: nft_pcpu_tun_ctx @ 0x38208+0x3afffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -Userspace: -0000003b00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000003b00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000003b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003b00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000008f: -The stack size is invalid -Kernel: -0000003b00000160: nft_pcpu_tun_ctx @ 0x38208+0x3afffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -0000003b00000160: nft_pcpu_tun_ctx @ 0x38208+0x3afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -The stack size is invalid -Kernel: -0000003b00000160: nft_pcpu_tun_ctx @ 0x38208+0x3afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000003b00000160: nft_pcpu_tun_ctx @ 0x38208+0x3afffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008f: -Userspace: -0000003b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003b00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000003b00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000166: -0000003b00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000003b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000003b00000160: nft_pcpu_tun_ctx @ 0x38208+0x3afffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008f: -0000003b00000160: nft_pcpu_tun_ctx @ 0x38208+0x3afffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -Userspace: -0000003b00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000003b00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000166: -0000003b00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000003b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000003b00000160: nft_pcpu_tun_ctx @ 0x38208+0x3afffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -0000003b00000160: nft_pcpu_tun_ctx @ 0x38208+0x3afffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -Userspace: -The stack size is invalid -Kernel: -0000003b00000160: nft_pcpu_tun_ctx @ 0x38208+0x3afffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -0000003b00000160: nft_pcpu_tun_ctx @ 0x38208+0x3afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000003b00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000699: -The stack size is invalid -Kernel: -0000003b00000160: nft_pcpu_tun_ctx @ 0x38208+0x3afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000003c00000160: nft_pcpu_tun_ctx @ 0x38208+0x3bfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008f: -Userspace: -0000003b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003c00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000003c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000166: -0000003c00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000003c00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000010: -The stack size is invalid -Kernel: -0000003c00000160: nft_pcpu_tun_ctx @ 0x38208+0x3bfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008f: -0000003c00000160: nft_pcpu_tun_ctx @ 0x38208+0x3bfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -Userspace: -0000003c00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000003c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000166: -0000003c00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000003c00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000010: -The stack size is invalid -Kernel: -0000003c00000160: nft_pcpu_tun_ctx @ 0x38208+0x3bfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -0000003c00000160: nft_pcpu_tun_ctx @ 0x38208+0x3bfffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -Userspace: -The stack size is invalid -Kernel: -0000003c00000160: nft_pcpu_tun_ctx @ 0x38208+0x3bfffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -0000003c00000160: nft_pcpu_tun_ctx @ 0x38208+0x3bfffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -Userspace: -0000003c00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000010: -The stack size is invalid -Kernel: -0000003c00000160: nft_pcpu_tun_ctx @ 0x38208+0x3bfffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -0000003c00000160: nft_pcpu_tun_ctx @ 0x38208+0x3bfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -Userspace: -The stack size is invalid -Kernel: -0000003c00000160: nft_pcpu_tun_ctx @ 0x38208+0x3bfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -0000003c00000160: nft_pcpu_tun_ctx @ 0x38208+0x3bfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006af: -Userspace: -The stack size is invalid -Kernel: -0000003c00000160: nft_pcpu_tun_ctx @ 0x38208+0x3bfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006af: -0000003c00000160: nft_pcpu_tun_ctx @ 0x38208+0x3bfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008f: -Userspace: -0000003c00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000006af: -The stack size is invalid -Kernel: -0000003c00000160: nft_pcpu_tun_ctx @ 0x38208+0x3bfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008f: -0000003c00000160: nft_pcpu_tun_ctx @ 0x38208+0x3bfffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -Userspace: -0000003c00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000003c00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000003c00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -00000000000004f8: -0000003c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003c00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000008f: -The stack size is invalid -Kernel: -0000003c00000160: nft_pcpu_tun_ctx @ 0x38208+0x3bfffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -0000003c00000160: nft_pcpu_tun_ctx @ 0x38208+0x3bfffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004f8: -Userspace: -The stack size is invalid -Kernel: -0000003c00000160: nft_pcpu_tun_ctx @ 0x38208+0x3bfffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004f8: -0000003c00000160: nft_pcpu_tun_ctx @ 0x38208+0x3bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -The stack size is invalid -Kernel: -0000003c00000160: nft_pcpu_tun_ctx @ 0x38208+0x3bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000003c00000160: nft_pcpu_tun_ctx @ 0x38208+0x3bfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008f: -Userspace: -0000003c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003c00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000003d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003d00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -The stack size is invalid -Kernel: -0000003c00000160: nft_pcpu_tun_ctx @ 0x38208+0x3bfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008f: -0000003d00000160: nft_pcpu_tun_ctx @ 0x38208+0x3cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000003c00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000003d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003d00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000003d00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000006af: -The stack size is invalid -Kernel: -0000003d00000160: nft_pcpu_tun_ctx @ 0x38208+0x3cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000003d00000160: nft_pcpu_tun_ctx @ 0x38208+0x3cfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -Userspace: -The stack size is invalid -Kernel: -0000003d00000160: nft_pcpu_tun_ctx @ 0x38208+0x3cfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -0000003d00000160: nft_pcpu_tun_ctx @ 0x38208+0x3cfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006af: -Userspace: -0000003d00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000003d00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000006af: -0000003d00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000003d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000003d00000160: nft_pcpu_tun_ctx @ 0x38208+0x3cfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006af: -0000003d00000160: nft_pcpu_tun_ctx @ 0x38208+0x3cfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -Userspace: -0000003d00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000006af: -0000003d00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000003d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003d00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000003d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000003d00000160: nft_pcpu_tun_ctx @ 0x38208+0x3cfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -0000003d00000160: nft_pcpu_tun_ctx @ 0x38208+0x3cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000003d00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000003d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003d00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000003d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003d00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000008f: -The stack size is invalid -Kernel: -0000003d00000160: nft_pcpu_tun_ctx @ 0x38208+0x3cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000003d00000160: nft_pcpu_tun_ctx @ 0x38208+0x3cfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -Userspace: -0000003d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003d00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000003d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003d00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000003d00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000010: -The stack size is invalid -Kernel: -0000003d00000160: nft_pcpu_tun_ctx @ 0x38208+0x3cfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -0000003d00000160: nft_pcpu_tun_ctx @ 0x38208+0x3cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000003d00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000003d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003d00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000003d00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000010: -The stack size is invalid -Kernel: -0000003d00000160: nft_pcpu_tun_ctx @ 0x38208+0x3cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000003d00000160: nft_pcpu_tun_ctx @ 0x38208+0x3cfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008f: -Userspace: -0000003d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003d00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000003d00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000003d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003d00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000699: -The stack size is invalid -Kernel: -0000003d00000160: nft_pcpu_tun_ctx @ 0x38208+0x3cfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008f: -0000003d00000160: nft_pcpu_tun_ctx @ 0x38208+0x3cfffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -Userspace: -0000003d00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000003d00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000003d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003d00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000699: -The stack size is invalid -Kernel: -0000003d00000160: nft_pcpu_tun_ctx @ 0x38208+0x3cfffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -0000003d00000160: nft_pcpu_tun_ctx @ 0x38208+0x3cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -The stack size is invalid -Kernel: -0000003d00000160: nft_pcpu_tun_ctx @ 0x38208+0x3cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000003d00000160: nft_pcpu_tun_ctx @ 0x38208+0x3cfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -Userspace: -The stack size is invalid -Kernel: -0000003d00000160: nft_pcpu_tun_ctx @ 0x38208+0x3cfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -0000003d00000160: nft_pcpu_tun_ctx @ 0x38208+0x3cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000003d00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000003d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003e00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000008f: -The stack size is invalid -Kernel: -0000003d00000160: nft_pcpu_tun_ctx @ 0x38208+0x3cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000003e00000160: nft_pcpu_tun_ctx @ 0x38208+0x3dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000003d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003e00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000003e00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000003e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000003e00000160: nft_pcpu_tun_ctx @ 0x38208+0x3dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000003e00000160: nft_pcpu_tun_ctx @ 0x38208+0x3dfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008f: -Userspace: -0000003e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003e00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000003e00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000003e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000003e00000160: nft_pcpu_tun_ctx @ 0x38208+0x3dfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008f: -0000003e00000160: nft_pcpu_tun_ctx @ 0x38208+0x3dfffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -Userspace: -0000003e00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000003e00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000003e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003e00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000006af: -The stack size is invalid -Kernel: -0000003e00000160: nft_pcpu_tun_ctx @ 0x38208+0x3dfffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -0000003e00000160: nft_pcpu_tun_ctx @ 0x38208+0x3dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -The stack size is invalid -Kernel: -0000003e00000160: nft_pcpu_tun_ctx @ 0x38208+0x3dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000003e00000160: nft_pcpu_tun_ctx @ 0x38208+0x3dfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006af: -Userspace: -The stack size is invalid -Kernel: -0000003e00000160: nft_pcpu_tun_ctx @ 0x38208+0x3dfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006af: -0000003e00000160: nft_pcpu_tun_ctx @ 0x38208+0x3dfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000003e00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000006af: -0000003e00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000003e00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000003e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000166: -The stack size is invalid -Kernel: -0000003e00000160: nft_pcpu_tun_ctx @ 0x38208+0x3dfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000003e00000160: nft_pcpu_tun_ctx @ 0x38208+0x3dfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -Userspace: -0000003e00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000003e00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000003e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000166: -0000003e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000166: -The stack size is invalid -Kernel: -0000003e00000160: nft_pcpu_tun_ctx @ 0x38208+0x3dfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -0000003e00000160: nft_pcpu_tun_ctx @ 0x38208+0x3dfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -Userspace: -0000003e00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000003e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000166: -0000003e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000003e00000160: nft_pcpu_tun_ctx @ 0x38208+0x3dfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -0000003e00000160: nft_pcpu_tun_ctx @ 0x38208+0x3dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000003e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000166: -0000003e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000166: -0000003e00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000003f00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000166: -The stack size is invalid -Kernel: -0000003e00000160: nft_pcpu_tun_ctx @ 0x38208+0x3dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000003e00000160: nft_pcpu_tun_ctx @ 0x38208+0x3dfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -Userspace: -0000003e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000003e00000160: nft_pcpu_tun_ctx @ 0x38208+0x3dfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -0000003e00000160: nft_pcpu_tun_ctx @ 0x38208+0x3dfffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -Userspace: -0000003e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000166: -0000003e00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000003f00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000166: -0000003f00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000166: -The stack size is invalid -Kernel: -0000003e00000160: nft_pcpu_tun_ctx @ 0x38208+0x3dfffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -0000003f00000160: nft_pcpu_tun_ctx @ 0x38208+0x3efffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -Userspace: -0000003e00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000010: -The stack size is invalid -Kernel: -0000003f00000160: nft_pcpu_tun_ctx @ 0x38208+0x3efffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -0000003f00000160: nft_pcpu_tun_ctx @ 0x38208+0x3efffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -Userspace: -The stack size is invalid -Kernel: -0000003f00000160: nft_pcpu_tun_ctx @ 0x38208+0x3efffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -0000003f00000160: nft_pcpu_tun_ctx @ 0x38208+0x3efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000003f00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000166: -The stack size is invalid -Kernel: -0000003f00000160: nft_pcpu_tun_ctx @ 0x38208+0x3efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000003f00000160: nft_pcpu_tun_ctx @ 0x38208+0x3efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000003f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000003f00000160: nft_pcpu_tun_ctx @ 0x38208+0x3efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000003f00000160: nft_pcpu_tun_ctx @ 0x38208+0x3efffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008f: -Userspace: -0000003f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000003f00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000049b: -The stack size is invalid -Kernel: -0000003f00000160: nft_pcpu_tun_ctx @ 0x38208+0x3efffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008f: -0000003f00000160: nft_pcpu_tun_ctx @ 0x38208+0x3efffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000003f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000003f00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000049b: -The stack size is invalid -Kernel: -0000003f00000160: nft_pcpu_tun_ctx @ 0x38208+0x3efffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000003f00000160: nft_pcpu_tun_ctx @ 0x38208+0x3efffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000001e: -0000003f00000160: nft_pcpu_tun_ctx @ 0x38208+0x3efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000003f00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000001e: -0000003f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000003f00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000003f00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000001e: -The stack size is invalid -Kernel: -0000003f00000160: nft_pcpu_tun_ctx @ 0x38208+0x3efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000003f00000160: nft_pcpu_tun_ctx @ 0x38208+0x3efffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -Userspace: -The stack size is invalid -Kernel: -0000003f00000160: nft_pcpu_tun_ctx @ 0x38208+0x3efffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -0000003f00000160: nft_pcpu_tun_ctx @ 0x38208+0x3efffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000001e: -Userspace: -0000003f00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000003f00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000001e: -0000003f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004000000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000045c: -The stack size is invalid -Kernel: -0000003f00000160: nft_pcpu_tun_ctx @ 0x38208+0x3efffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000001e: -0000003f00000160: nft_pcpu_tun_ctx @ 0x38208+0x3efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000003f00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000001e: -0000003f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004000000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000045c: -The stack size is invalid -Kernel: -0000003f00000160: nft_pcpu_tun_ctx @ 0x38208+0x3efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004000000160: nft_pcpu_tun_ctx @ 0x38208+0x3ffffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000045c: -Userspace: -The stack size is invalid -Kernel: -0000004000000160: nft_pcpu_tun_ctx @ 0x38208+0x3ffffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000045c: -0000004000000160: nft_pcpu_tun_ctx @ 0x38208+0x3ffffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a4: -Userspace: -0000004000000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000045c: -0000004000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003a4: -0000004000000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000001e: -0000004000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004000000160: nft_pcpu_tun_ctx @ 0x38208+0x3ffffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a4: -0000004000000160: nft_pcpu_tun_ctx @ 0x38208+0x3ffffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000001e: -Userspace: -0000004000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003a4: -0000004000000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000001e: -0000004000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004000000160: nft_pcpu_tun_ctx @ 0x38208+0x3ffffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000001e: -0000004000000160: nft_pcpu_tun_ctx @ 0x38208+0x3ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000004000000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000001e: -0000004000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004000000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000045c: -The stack size is invalid -Kernel: -0000004000000160: nft_pcpu_tun_ctx @ 0x38208+0x3ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004000000160: nft_pcpu_tun_ctx @ 0x38208+0x3ffffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000045c: -Userspace: -The stack size is invalid -Kernel: -0000004000000160: nft_pcpu_tun_ctx @ 0x38208+0x3ffffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000045c: -0000004000000160: nft_pcpu_tun_ctx @ 0x38208+0x3ffffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a4: -Userspace: -0000004000000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000045c: -0000004000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003a4: -0000004000000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004000000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -The stack size is invalid -Kernel: -0000004000000160: nft_pcpu_tun_ctx @ 0x38208+0x3ffffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a4: -0000004000000160: nft_pcpu_tun_ctx @ 0x38208+0x3ffffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -Userspace: -0000004000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003a4: -0000004000000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004000000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -The stack size is invalid -Kernel: -0000004000000160: nft_pcpu_tun_ctx @ 0x38208+0x3ffffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -0000004000000160: nft_pcpu_tun_ctx @ 0x38208+0x3ffffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -Userspace: -0000004000000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004000000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003a4: -The stack size is invalid -Kernel: -0000004000000160: nft_pcpu_tun_ctx @ 0x38208+0x3ffffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -0000004000000160: nft_pcpu_tun_ctx @ 0x38208+0x3ffffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a4: -Userspace: -0000004000000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003a4: -0000004000000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004000000160: nft_pcpu_tun_ctx @ 0x38208+0x3ffffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a4: -0000004000000160: nft_pcpu_tun_ctx @ 0x38208+0x3ffffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000004000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003a4: -0000004000000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004000000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000045c: -The stack size is invalid -Kernel: -0000004000000160: nft_pcpu_tun_ctx @ 0x38208+0x3ffffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004000000160: nft_pcpu_tun_ctx @ 0x38208+0x3ffffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000045c: -Userspace: -0000004000000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004000000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000045c: -0000004100000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -The stack size is invalid -Kernel: -0000004000000160: nft_pcpu_tun_ctx @ 0x38208+0x3ffffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000045c: -0000004100000160: nft_pcpu_tun_ctx @ 0x38208+0x40fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -Userspace: -0000004000000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000045c: -0000004100000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004100000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000004100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004100000160: nft_pcpu_tun_ctx @ 0x38208+0x40fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -0000004100000160: nft_pcpu_tun_ctx @ 0x38208+0x40fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -Userspace: -0000004100000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004100000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000004100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004100000160: nft_pcpu_tun_ctx @ 0x38208+0x40fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -0000004100000160: nft_pcpu_tun_ctx @ 0x38208+0x40fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000004100000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000004100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004100000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000045c: -The stack size is invalid -Kernel: -0000004100000160: nft_pcpu_tun_ctx @ 0x38208+0x40fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004100000160: nft_pcpu_tun_ctx @ 0x38208+0x40fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000045c: -Userspace: -0000004100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004100000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000045c: -0000004100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004100000160: nft_pcpu_tun_ctx @ 0x38208+0x40fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000045c: -0000004100000160: nft_pcpu_tun_ctx @ 0x38208+0x40fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000004100000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000045c: -0000004100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004100000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000001e: -0000004100000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004100000160: nft_pcpu_tun_ctx @ 0x38208+0x40fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004100000160: nft_pcpu_tun_ctx @ 0x38208+0x40fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000001e: -Userspace: -0000004100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004100000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000001e: -0000004100000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004100000160: nft_pcpu_tun_ctx @ 0x38208+0x40fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000001e: -0000004100000160: nft_pcpu_tun_ctx @ 0x38208+0x40fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000004100000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000001e: -0000004100000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004100000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000001e: -0000004100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004100000160: nft_pcpu_tun_ctx @ 0x38208+0x40fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004100000160: nft_pcpu_tun_ctx @ 0x38208+0x40fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000001e: -Userspace: -The stack size is invalid -Kernel: -0000004100000160: nft_pcpu_tun_ctx @ 0x38208+0x40fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000001e: -0000004100000160: nft_pcpu_tun_ctx @ 0x38208+0x40fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000004100000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000001e: -0000004100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004100000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000001e: -0000004100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004100000160: nft_pcpu_tun_ctx @ 0x38208+0x40fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004100000160: nft_pcpu_tun_ctx @ 0x38208+0x40fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000001e: -Userspace: -The stack size is invalid -Kernel: -0000004100000160: nft_pcpu_tun_ctx @ 0x38208+0x40fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000001e: -0000004100000160: nft_pcpu_tun_ctx @ 0x38208+0x40fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000004100000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000001e: -0000004100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004200000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000045c: -0000004200000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -The stack size is invalid -Kernel: -0000004100000160: nft_pcpu_tun_ctx @ 0x38208+0x40fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004200000160: nft_pcpu_tun_ctx @ 0x38208+0x41fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000045c: -Userspace: -The stack size is invalid -Kernel: -0000004200000160: nft_pcpu_tun_ctx @ 0x38208+0x41fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000045c: -0000004200000160: nft_pcpu_tun_ctx @ 0x38208+0x41fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -Userspace: -0000004200000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000045c: -0000004200000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004200000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000001e: -The stack size is invalid -Kernel: -0000004200000160: nft_pcpu_tun_ctx @ 0x38208+0x41fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -0000004200000160: nft_pcpu_tun_ctx @ 0x38208+0x41fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000004200000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004200000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000001e: -The stack size is invalid -Kernel: -0000004200000160: nft_pcpu_tun_ctx @ 0x38208+0x41fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004200000160: nft_pcpu_tun_ctx @ 0x38208+0x41fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000001e: -Userspace: -0000004200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004200000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000001e: -0000004200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004200000160: nft_pcpu_tun_ctx @ 0x38208+0x41fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000001e: -0000004200000160: nft_pcpu_tun_ctx @ 0x38208+0x41fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000004200000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000001e: -0000004200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004200000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000045c: -The stack size is invalid -Kernel: -0000004200000160: nft_pcpu_tun_ctx @ 0x38208+0x41fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004200000160: nft_pcpu_tun_ctx @ 0x38208+0x41fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -The stack size is invalid -Kernel: -0000004200000160: nft_pcpu_tun_ctx @ 0x38208+0x41fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004200000160: nft_pcpu_tun_ctx @ 0x38208+0x41fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000045c: -Userspace: -0000004200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004200000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000045c: -0000004200000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004200000160: nft_pcpu_tun_ctx @ 0x38208+0x41fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000045c: -0000004200000160: nft_pcpu_tun_ctx @ 0x38208+0x41fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -Userspace: -0000004200000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000045c: -0000004200000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004200000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004200000160: nft_pcpu_tun_ctx @ 0x38208+0x41fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -0000004200000160: nft_pcpu_tun_ctx @ 0x38208+0x41fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000004200000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004200000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004200000160: nft_pcpu_tun_ctx @ 0x38208+0x41fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004200000160: nft_pcpu_tun_ctx @ 0x38208+0x41fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000004200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004200000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004200000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000586: -The stack size is invalid -Kernel: -0000004200000160: nft_pcpu_tun_ctx @ 0x38208+0x41fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004200000160: nft_pcpu_tun_ctx @ 0x38208+0x41fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000586: -Userspace: -0000004200000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004200000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000586: -0000004200000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000001e: -0000004300000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003a4: -The stack size is invalid -Kernel: -0000004200000160: nft_pcpu_tun_ctx @ 0x38208+0x41fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000586: -0000004200000160: nft_pcpu_tun_ctx @ 0x38208+0x41fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000001e: -Userspace: -0000004200000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000586: -0000004200000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000001e: -0000004300000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003a4: -0000004300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004200000160: nft_pcpu_tun_ctx @ 0x38208+0x41fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000001e: -0000004300000160: nft_pcpu_tun_ctx @ 0x38208+0x42fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a4: -Userspace: -0000004200000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000001e: -0000004300000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003a4: -0000004300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004300000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003a4: -The stack size is invalid -Kernel: -0000004300000160: nft_pcpu_tun_ctx @ 0x38208+0x42fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a4: -0000004300000160: nft_pcpu_tun_ctx @ 0x38208+0x42fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -The stack size is invalid -Kernel: -0000004300000160: nft_pcpu_tun_ctx @ 0x38208+0x42fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004300000160: nft_pcpu_tun_ctx @ 0x38208+0x42fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a4: -Userspace: -0000004300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004300000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003a4: -0000004300000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -The stack size is invalid -Kernel: -0000004300000160: nft_pcpu_tun_ctx @ 0x38208+0x42fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a4: -0000004300000160: nft_pcpu_tun_ctx @ 0x38208+0x42fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -Userspace: -0000004300000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003a4: -0000004300000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004300000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003a4: -0000004300000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003a4: -The stack size is invalid -Kernel: -0000004300000160: nft_pcpu_tun_ctx @ 0x38208+0x42fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -0000004300000160: nft_pcpu_tun_ctx @ 0x38208+0x42fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a4: -Userspace: -0000004300000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004300000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003a4: -0000004300000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003a4: -The stack size is invalid -Kernel: -0000004300000160: nft_pcpu_tun_ctx @ 0x38208+0x42fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a4: -0000004300000160: nft_pcpu_tun_ctx @ 0x38208+0x42fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a4: -Userspace: -0000004300000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003a4: -0000004300000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003a4: -0000004300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004300000160: nft_pcpu_tun_ctx @ 0x38208+0x42fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a4: -0000004300000160: nft_pcpu_tun_ctx @ 0x38208+0x42fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000004300000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003a4: -0000004300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004300000160: nft_pcpu_tun_ctx @ 0x38208+0x42fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004300000160: nft_pcpu_tun_ctx @ 0x38208+0x42fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000004300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004300000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000045c: -The stack size is invalid -Kernel: -0000004300000160: nft_pcpu_tun_ctx @ 0x38208+0x42fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004300000160: nft_pcpu_tun_ctx @ 0x38208+0x42fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000045c: -Userspace: -0000004300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004300000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000045c: -0000004300000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000586: -The stack size is invalid -Kernel: -0000004300000160: nft_pcpu_tun_ctx @ 0x38208+0x42fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000045c: -0000004300000160: nft_pcpu_tun_ctx @ 0x38208+0x42fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000586: -Userspace: -0000004300000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -000000000000045c: -0000004300000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000586: -The stack size is invalid -Kernel: -0000004300000160: nft_pcpu_tun_ctx @ 0x38208+0x42fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000586: -Userspace: -0000004300000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000586: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000004400000160: nft_pcpu_tun_ctx @ 0x38208+0x43fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003b5: -0000004400000160: nft_pcpu_tun_ctx @ 0x38208+0x43fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000004400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003b5: -0000004400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004400000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003b5: -The stack size is invalid -Kernel: -0000004400000160: nft_pcpu_tun_ctx @ 0x38208+0x43fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004400000160: nft_pcpu_tun_ctx @ 0x38208+0x43fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -Userspace: -0000004400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004400000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003b5: -The stack size is invalid -Kernel: -0000004400000160: nft_pcpu_tun_ctx @ 0x38208+0x43fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -0000004400000160: nft_pcpu_tun_ctx @ 0x38208+0x43fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003b5: -Userspace: -0000004400000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003b5: -0000004400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004400000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -The stack size is invalid -Kernel: -0000004400000160: nft_pcpu_tun_ctx @ 0x38208+0x43fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003b5: -0000004400000160: nft_pcpu_tun_ctx @ 0x38208+0x43fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000004400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003b5: -0000004400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004400000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -The stack size is invalid -Kernel: -0000004400000160: nft_pcpu_tun_ctx @ 0x38208+0x43fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004400000160: nft_pcpu_tun_ctx @ 0x38208+0x43fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -Userspace: -0000004400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004400000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004400000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003a4: -The stack size is invalid -Kernel: -0000004400000160: nft_pcpu_tun_ctx @ 0x38208+0x43fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -0000004400000160: nft_pcpu_tun_ctx @ 0x38208+0x43fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a4: -Userspace: -0000004400000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004400000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003a4: -0000004400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003b5: -0000004400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004400000160: nft_pcpu_tun_ctx @ 0x38208+0x43fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a4: -0000004400000160: nft_pcpu_tun_ctx @ 0x38208+0x43fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003b5: -Userspace: -0000004400000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003a4: -0000004400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003b5: -0000004400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004400000160: nft_pcpu_tun_ctx @ 0x38208+0x43fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003b5: -0000004400000160: nft_pcpu_tun_ctx @ 0x38208+0x43fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000004400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003b5: -0000004400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004400000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -The stack size is invalid -Kernel: -0000004400000160: nft_pcpu_tun_ctx @ 0x38208+0x43fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004400000160: nft_pcpu_tun_ctx @ 0x38208+0x43fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -Userspace: -0000004400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004400000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004400000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003a4: -The stack size is invalid -Kernel: -0000004400000160: nft_pcpu_tun_ctx @ 0x38208+0x43fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -0000004400000160: nft_pcpu_tun_ctx @ 0x38208+0x43fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a4: -Userspace: -0000004400000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004400000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003a4: -0000004500000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004500000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -The stack size is invalid -Kernel: -0000004400000160: nft_pcpu_tun_ctx @ 0x38208+0x43fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a4: -0000004500000160: nft_pcpu_tun_ctx @ 0x38208+0x44fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -Userspace: -0000004400000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003a4: -0000004500000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004500000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -The stack size is invalid -Kernel: -0000004500000160: nft_pcpu_tun_ctx @ 0x38208+0x44fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -0000004500000160: nft_pcpu_tun_ctx @ 0x38208+0x44fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -Userspace: -0000004500000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004500000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004500000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003a4: -The stack size is invalid -Kernel: -0000004500000160: nft_pcpu_tun_ctx @ 0x38208+0x44fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -0000004500000160: nft_pcpu_tun_ctx @ 0x38208+0x44fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a4: -Userspace: -0000004500000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004500000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003a4: -0000004500000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004500000160: nft_pcpu_tun_ctx @ 0x38208+0x44fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a4: -0000004500000160: nft_pcpu_tun_ctx @ 0x38208+0x44fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000004500000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003a4: -0000004500000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004500000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -The stack size is invalid -Kernel: -0000004500000160: nft_pcpu_tun_ctx @ 0x38208+0x44fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004500000160: nft_pcpu_tun_ctx @ 0x38208+0x44fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -Userspace: -0000004500000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004500000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004500000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -The stack size is invalid -Kernel: -0000004500000160: nft_pcpu_tun_ctx @ 0x38208+0x44fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -0000004500000160: nft_pcpu_tun_ctx @ 0x38208+0x44fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -Userspace: -0000004500000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004500000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004500000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000004500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004500000160: nft_pcpu_tun_ctx @ 0x38208+0x44fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -0000004500000160: nft_pcpu_tun_ctx @ 0x38208+0x44fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -Userspace: -0000004500000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004500000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000004500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004500000160: nft_pcpu_tun_ctx @ 0x38208+0x44fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -0000004500000160: nft_pcpu_tun_ctx @ 0x38208+0x44fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000004500000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000004500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004500000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -The stack size is invalid -Kernel: -0000004500000160: nft_pcpu_tun_ctx @ 0x38208+0x44fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004500000160: nft_pcpu_tun_ctx @ 0x38208+0x44fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -Userspace: -0000004500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004500000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004500000160: nft_pcpu_tun_ctx @ 0x38208+0x44fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -0000004500000160: nft_pcpu_tun_ctx @ 0x38208+0x44fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000004500000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004500000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003b5: -0000004500000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004500000160: nft_pcpu_tun_ctx @ 0x38208+0x44fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004500000160: nft_pcpu_tun_ctx @ 0x38208+0x44fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003b5: -Userspace: -0000004500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004500000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003b5: -0000004500000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004500000160: nft_pcpu_tun_ctx @ 0x38208+0x44fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003b5: -0000004500000160: nft_pcpu_tun_ctx @ 0x38208+0x44fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000004500000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003b5: -0000004500000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004600000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003b5: -0000004600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004500000160: nft_pcpu_tun_ctx @ 0x38208+0x44fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004600000160: nft_pcpu_tun_ctx @ 0x38208+0x45fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003b5: -Userspace: -0000004500000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004600000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003b5: -0000004600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004600000160: nft_pcpu_tun_ctx @ 0x38208+0x45fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003b5: -0000004600000160: nft_pcpu_tun_ctx @ 0x38208+0x45fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000004600000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003b5: -0000004600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004600000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003b5: -0000004600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004600000160: nft_pcpu_tun_ctx @ 0x38208+0x45fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004600000160: nft_pcpu_tun_ctx @ 0x38208+0x45fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003b5: -Userspace: -0000004600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004600000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003b5: -0000004600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004600000160: nft_pcpu_tun_ctx @ 0x38208+0x45fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003b5: -0000004600000160: nft_pcpu_tun_ctx @ 0x38208+0x45fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000004600000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003b5: -0000004600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004600000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004600000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -The stack size is invalid -Kernel: -0000004600000160: nft_pcpu_tun_ctx @ 0x38208+0x45fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004600000160: nft_pcpu_tun_ctx @ 0x38208+0x45fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -Userspace: -0000004600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004600000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004600000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -The stack size is invalid -Kernel: -0000004600000160: nft_pcpu_tun_ctx @ 0x38208+0x45fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -0000004600000160: nft_pcpu_tun_ctx @ 0x38208+0x45fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -Userspace: -0000004600000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004600000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004600000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003b5: -The stack size is invalid -Kernel: -0000004600000160: nft_pcpu_tun_ctx @ 0x38208+0x45fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -0000004600000160: nft_pcpu_tun_ctx @ 0x38208+0x45fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000004600000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004600000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003b5: -The stack size is invalid -Kernel: -0000004600000160: nft_pcpu_tun_ctx @ 0x38208+0x45fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004600000160: nft_pcpu_tun_ctx @ 0x38208+0x45fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003b5: -Userspace: -0000004600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004600000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003b5: -0000004600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004600000160: nft_pcpu_tun_ctx @ 0x38208+0x45fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003b5: -0000004600000160: nft_pcpu_tun_ctx @ 0x38208+0x45fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000004600000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003b5: -0000004600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004600000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -The stack size is invalid -Kernel: -0000004600000160: nft_pcpu_tun_ctx @ 0x38208+0x45fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004600000160: nft_pcpu_tun_ctx @ 0x38208+0x45fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000004600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004600000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -The stack size is invalid -Kernel: -0000004600000160: nft_pcpu_tun_ctx @ 0x38208+0x45fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004600000160: nft_pcpu_tun_ctx @ 0x38208+0x45fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -Userspace: -0000004600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004600000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004700000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004600000160: nft_pcpu_tun_ctx @ 0x38208+0x45fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -0000004700000160: nft_pcpu_tun_ctx @ 0x38208+0x46fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -Userspace: -0000004600000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004700000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004700000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004700000160: nft_pcpu_tun_ctx @ 0x38208+0x46fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -0000004700000160: nft_pcpu_tun_ctx @ 0x38208+0x46fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000004700000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004700000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004700000160: nft_pcpu_tun_ctx @ 0x38208+0x46fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004700000160: nft_pcpu_tun_ctx @ 0x38208+0x46fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000004700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004700000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004700000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000070a: -The stack size is invalid -Kernel: -0000004700000160: nft_pcpu_tun_ctx @ 0x38208+0x46fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004700000160: nft_pcpu_tun_ctx @ 0x38208+0x46fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000070a: -Userspace: -0000004700000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004700000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000070a: -0000004700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003b5: -0000004700000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003a4: -The stack size is invalid -Kernel: -0000004700000160: nft_pcpu_tun_ctx @ 0x38208+0x46fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000070a: -0000004700000160: nft_pcpu_tun_ctx @ 0x38208+0x46fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003b5: -Userspace: -0000004700000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000070a: -0000004700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003b5: -0000004700000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003a4: -0000004700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004700000160: nft_pcpu_tun_ctx @ 0x38208+0x46fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003b5: -0000004700000160: nft_pcpu_tun_ctx @ 0x38208+0x46fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a4: -Userspace: -0000004700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003b5: -0000004700000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003a4: -0000004700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004700000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003a4: -0000004700000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -The stack size is invalid -Kernel: -0000004700000160: nft_pcpu_tun_ctx @ 0x38208+0x46fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a4: -0000004700000160: nft_pcpu_tun_ctx @ 0x38208+0x46fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000004700000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003a4: -0000004700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004700000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003a4: -The stack size is invalid -Kernel: -0000004700000160: nft_pcpu_tun_ctx @ 0x38208+0x46fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004700000160: nft_pcpu_tun_ctx @ 0x38208+0x46fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a4: -Userspace: -0000004700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004700000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003a4: -0000004700000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -The stack size is invalid -Kernel: -0000004700000160: nft_pcpu_tun_ctx @ 0x38208+0x46fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a4: -0000004700000160: nft_pcpu_tun_ctx @ 0x38208+0x46fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -Userspace: -0000004700000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003a4: -0000004700000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004700000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003a4: -0000004700000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003a4: -The stack size is invalid -Kernel: -0000004700000160: nft_pcpu_tun_ctx @ 0x38208+0x46fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -0000004700000160: nft_pcpu_tun_ctx @ 0x38208+0x46fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a4: -Userspace: -0000004700000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004700000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003a4: -0000004700000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003a4: -The stack size is invalid -Kernel: -0000004700000160: nft_pcpu_tun_ctx @ 0x38208+0x46fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a4: -0000004700000160: nft_pcpu_tun_ctx @ 0x38208+0x46fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a4: -Userspace: -0000004700000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003a4: -0000004700000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003a4: -0000004700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004700000160: nft_pcpu_tun_ctx @ 0x38208+0x46fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a4: -0000004700000160: nft_pcpu_tun_ctx @ 0x38208+0x46fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000004700000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003a4: -0000004700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004700000160: nft_pcpu_tun_ctx @ 0x38208+0x46fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004800000160: nft_pcpu_tun_ctx @ 0x38208+0x47fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000004700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004800000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -The stack size is invalid -Kernel: -0000004800000160: nft_pcpu_tun_ctx @ 0x38208+0x47fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004800000160: nft_pcpu_tun_ctx @ 0x38208+0x47fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -Userspace: -0000004800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004800000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004800000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000070a: -The stack size is invalid -Kernel: -0000004800000160: nft_pcpu_tun_ctx @ 0x38208+0x47fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -0000004800000160: nft_pcpu_tun_ctx @ 0x38208+0x47fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000070a: -Userspace: -0000004800000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004800000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000070a: -The stack size is invalid -Kernel: -0000004800000160: nft_pcpu_tun_ctx @ 0x38208+0x47fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000070a: -Userspace: -0000004800000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000070a: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000004800000160: nft_pcpu_tun_ctx @ 0x38208+0x47fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000753: -0000004800000160: nft_pcpu_tun_ctx @ 0x38208+0x47fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000004800000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -0000004800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004800000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -0000004800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004800000160: nft_pcpu_tun_ctx @ 0x38208+0x47fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004800000160: nft_pcpu_tun_ctx @ 0x38208+0x47fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000753: -Userspace: -0000004800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004800000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -0000004800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004800000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -0000004800000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -The stack size is invalid -Kernel: -0000004800000160: nft_pcpu_tun_ctx @ 0x38208+0x47fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000753: -0000004800000160: nft_pcpu_tun_ctx @ 0x38208+0x47fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000004800000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -0000004800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004800000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -0000004800000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -The stack size is invalid -Kernel: -0000004800000160: nft_pcpu_tun_ctx @ 0x38208+0x47fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004800000160: nft_pcpu_tun_ctx @ 0x38208+0x47fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000457: -Userspace: -0000004800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004800000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -0000004800000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004800000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -0000004900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004800000160: nft_pcpu_tun_ctx @ 0x38208+0x47fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000457: -0000004800000160: nft_pcpu_tun_ctx @ 0x38208+0x47fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -Userspace: -0000004800000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -0000004800000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004800000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -0000004900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004800000160: nft_pcpu_tun_ctx @ 0x38208+0x47fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -0000004800000160: nft_pcpu_tun_ctx @ 0x38208+0x47fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000753: -Userspace: -0000004800000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004800000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -0000004900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004800000160: nft_pcpu_tun_ctx @ 0x38208+0x47fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000753: -0000004900000160: nft_pcpu_tun_ctx @ 0x38208+0x48fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000004800000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -0000004900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004900000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -The stack size is invalid -Kernel: -0000004900000160: nft_pcpu_tun_ctx @ 0x38208+0x48fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004900000160: nft_pcpu_tun_ctx @ 0x38208+0x48fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000457: -Userspace: -0000004900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004900000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -0000004900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004900000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -The stack size is invalid -Kernel: -0000004900000160: nft_pcpu_tun_ctx @ 0x38208+0x48fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000457: -0000004900000160: nft_pcpu_tun_ctx @ 0x38208+0x48fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -Userspace: -0000004900000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -0000004900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004900000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -The stack size is invalid -Kernel: -0000004900000160: nft_pcpu_tun_ctx @ 0x38208+0x48fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -0000004900000160: nft_pcpu_tun_ctx @ 0x38208+0x48fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -Userspace: -0000004900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004900000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -The stack size is invalid -Kernel: -0000004900000160: nft_pcpu_tun_ctx @ 0x38208+0x48fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -0000004900000160: nft_pcpu_tun_ctx @ 0x38208+0x48fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000457: -Userspace: -0000004900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004900000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -0000004900000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000645: -The stack size is invalid -Kernel: -0000004900000160: nft_pcpu_tun_ctx @ 0x38208+0x48fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000457: -0000004900000160: nft_pcpu_tun_ctx @ 0x38208+0x48fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000645: -Userspace: -0000004900000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -0000004900000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000645: -0000004900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004900000160: nft_pcpu_tun_ctx @ 0x38208+0x48fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000645: -0000004900000160: nft_pcpu_tun_ctx @ 0x38208+0x48fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000004900000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000645: -0000004900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004900000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -The stack size is invalid -Kernel: -0000004900000160: nft_pcpu_tun_ctx @ 0x38208+0x48fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004900000160: nft_pcpu_tun_ctx @ 0x38208+0x48fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000457: -Userspace: -0000004900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004900000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -0000004900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004900000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -The stack size is invalid -Kernel: -0000004900000160: nft_pcpu_tun_ctx @ 0x38208+0x48fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000457: -0000004900000160: nft_pcpu_tun_ctx @ 0x38208+0x48fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000004900000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -0000004900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004900000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -0000004900000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -The stack size is invalid -Kernel: -0000004900000160: nft_pcpu_tun_ctx @ 0x38208+0x48fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004900000160: nft_pcpu_tun_ctx @ 0x38208+0x48fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000753: -Userspace: -0000004900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004900000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -0000004900000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -The stack size is invalid -Kernel: -0000004900000160: nft_pcpu_tun_ctx @ 0x38208+0x48fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000753: -0000004900000160: nft_pcpu_tun_ctx @ 0x38208+0x48fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000753: -Userspace: -0000004900000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -0000004900000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -0000004a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004a00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -The stack size is invalid -Kernel: -0000004900000160: nft_pcpu_tun_ctx @ 0x38208+0x48fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000753: -0000004a00000160: nft_pcpu_tun_ctx @ 0x38208+0x49fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000004900000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -0000004a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004a00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -0000004a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004a00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -The stack size is invalid -Kernel: -0000004a00000160: nft_pcpu_tun_ctx @ 0x38208+0x49fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004a00000160: nft_pcpu_tun_ctx @ 0x38208+0x49fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000753: -Userspace: -0000004a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004a00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -0000004a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004a00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -0000004a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004a00000160: nft_pcpu_tun_ctx @ 0x38208+0x49fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000753: -0000004a00000160: nft_pcpu_tun_ctx @ 0x38208+0x49fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000004a00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -0000004a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004a00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -0000004a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004a00000160: nft_pcpu_tun_ctx @ 0x38208+0x49fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004a00000160: nft_pcpu_tun_ctx @ 0x38208+0x49fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000457: -Userspace: -0000004a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004a00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -0000004a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004a00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -0000004a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004a00000160: nft_pcpu_tun_ctx @ 0x38208+0x49fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000457: -0000004a00000160: nft_pcpu_tun_ctx @ 0x38208+0x49fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000004a00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -0000004a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004a00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -0000004a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004a00000160: nft_pcpu_tun_ctx @ 0x38208+0x49fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004a00000160: nft_pcpu_tun_ctx @ 0x38208+0x49fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000753: -Userspace: -0000004a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004a00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -0000004a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004a00000160: nft_pcpu_tun_ctx @ 0x38208+0x49fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000753: -0000004a00000160: nft_pcpu_tun_ctx @ 0x38208+0x49fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000004a00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -0000004a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004a00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -The stack size is invalid -Kernel: -0000004a00000160: nft_pcpu_tun_ctx @ 0x38208+0x49fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004a00000160: nft_pcpu_tun_ctx @ 0x38208+0x49fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000004a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004a00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -0000004a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004a00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000070a: -The stack size is invalid -Kernel: -0000004a00000160: nft_pcpu_tun_ctx @ 0x38208+0x49fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004a00000160: nft_pcpu_tun_ctx @ 0x38208+0x49fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000457: -Userspace: -0000004a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004a00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -0000004a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004a00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000070a: -The stack size is invalid -Kernel: -0000004a00000160: nft_pcpu_tun_ctx @ 0x38208+0x49fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000457: -0000004a00000160: nft_pcpu_tun_ctx @ 0x38208+0x49fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000004a00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -0000004a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004a00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000070a: -0000004a00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -The stack size is invalid -Kernel: -0000004a00000160: nft_pcpu_tun_ctx @ 0x38208+0x49fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004a00000160: nft_pcpu_tun_ctx @ 0x38208+0x49fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000070a: -Userspace: -0000004a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004a00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000070a: -0000004a00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -The stack size is invalid -Kernel: -0000004a00000160: nft_pcpu_tun_ctx @ 0x38208+0x49fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000070a: -0000004a00000160: nft_pcpu_tun_ctx @ 0x38208+0x49fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000753: -Userspace: -0000004a00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000070a: -0000004a00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -0000004b00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004a00000160: nft_pcpu_tun_ctx @ 0x38208+0x49fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000753: -0000004b00000160: nft_pcpu_tun_ctx @ 0x38208+0x4afffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -Userspace: -0000004a00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -0000004b00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004b00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004b00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -The stack size is invalid -Kernel: -0000004b00000160: nft_pcpu_tun_ctx @ 0x38208+0x4afffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -0000004b00000160: nft_pcpu_tun_ctx @ 0x38208+0x4afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000004b00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004b00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004b00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004b00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -The stack size is invalid -Kernel: -0000004b00000160: nft_pcpu_tun_ctx @ 0x38208+0x4afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004b00000160: nft_pcpu_tun_ctx @ 0x38208+0x4afffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -Userspace: -0000004b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004b00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004b00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -The stack size is invalid -Kernel: -0000004b00000160: nft_pcpu_tun_ctx @ 0x38208+0x4afffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -0000004b00000160: nft_pcpu_tun_ctx @ 0x38208+0x4afffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -Userspace: -0000004b00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004b00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004b00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004b00000160: nft_pcpu_tun_ctx @ 0x38208+0x4afffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -0000004b00000160: nft_pcpu_tun_ctx @ 0x38208+0x4afffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -Userspace: -0000004b00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004b00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004b00000160: nft_pcpu_tun_ctx @ 0x38208+0x4afffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -0000004b00000160: nft_pcpu_tun_ctx @ 0x38208+0x4afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000004b00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000004b00000160: nft_pcpu_tun_ctx @ 0x38208+0x4afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004b00000160: nft_pcpu_tun_ctx @ 0x38208+0x4afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000004b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004b00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -The stack size is invalid -Kernel: -0000004b00000160: nft_pcpu_tun_ctx @ 0x38208+0x4afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000004b00000160: nft_pcpu_tun_ctx @ 0x38208+0x4afffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000457: -Userspace: -0000004b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000004b00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -0000004b00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000070a: -The stack size is invalid -Kernel: -0000004b00000160: nft_pcpu_tun_ctx @ 0x38208+0x4afffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000457: -0000004b00000160: nft_pcpu_tun_ctx @ 0x38208+0x4afffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000070a: -Userspace: -0000004b00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -0000004b00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000070a: -The stack size is invalid -Kernel: -0000004b00000160: nft_pcpu_tun_ctx @ 0x38208+0x4afffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000070a: -Userspace: -0000004b00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000070a: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000004b00000160: nft_pcpu_tun_ctx @ 0x38208+0x4afffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000753: -0000004c00000160: nft_pcpu_tun_ctx @ 0x38208+0x4bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044c: -Userspace: -0000004b00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -0000004c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000004c00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000030d: -The stack size is invalid -Kernel: -0000004c00000160: nft_pcpu_tun_ctx @ 0x38208+0x4bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044c: -0000004c00000160: nft_pcpu_tun_ctx @ 0x38208+0x4bfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000030d: -Userspace: -0000004c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000004c00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000030d: -0000004c00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -0000004c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000004c00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -The stack size is invalid -Kernel: -0000004c00000160: nft_pcpu_tun_ctx @ 0x38208+0x4bfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000030d: -0000004c00000160: nft_pcpu_tun_ctx @ 0x38208+0x4bfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000753: -Userspace: -0000004c00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000030d: -0000004c00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -0000004c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -The stack size is invalid -Kernel: -0000004c00000160: nft_pcpu_tun_ctx @ 0x38208+0x4bfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000753: -0000004c00000160: nft_pcpu_tun_ctx @ 0x38208+0x4bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044c: -Userspace: -0000004c00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -0000004c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -The stack size is invalid -Kernel: -0000004c00000160: nft_pcpu_tun_ctx @ 0x38208+0x4bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044c: -0000004c00000160: nft_pcpu_tun_ctx @ 0x38208+0x4bfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000457: -Userspace: -0000004c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000004c00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -0000004c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004c00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -0000004c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -The stack size is invalid -Kernel: -0000004c00000160: nft_pcpu_tun_ctx @ 0x38208+0x4bfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000457: -0000004c00000160: nft_pcpu_tun_ctx @ 0x38208+0x4bfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -Userspace: -0000004c00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -0000004c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004c00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -The stack size is invalid -Kernel: -0000004c00000160: nft_pcpu_tun_ctx @ 0x38208+0x4bfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -0000004c00000160: nft_pcpu_tun_ctx @ 0x38208+0x4bfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000753: -Userspace: -0000004c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004c00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -0000004c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -The stack size is invalid -Kernel: -0000004c00000160: nft_pcpu_tun_ctx @ 0x38208+0x4bfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000753: -0000004c00000160: nft_pcpu_tun_ctx @ 0x38208+0x4bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044c: -Userspace: -0000004c00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -0000004c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000004c00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -The stack size is invalid -Kernel: -0000004c00000160: nft_pcpu_tun_ctx @ 0x38208+0x4bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044c: -0000004c00000160: nft_pcpu_tun_ctx @ 0x38208+0x4bfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000457: -Userspace: -0000004c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000004c00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -0000004c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000004d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -The stack size is invalid -Kernel: -0000004c00000160: nft_pcpu_tun_ctx @ 0x38208+0x4bfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000457: -0000004c00000160: nft_pcpu_tun_ctx @ 0x38208+0x4bfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -Userspace: -0000004c00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -0000004c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -The stack size is invalid -Kernel: -0000004c00000160: nft_pcpu_tun_ctx @ 0x38208+0x4bfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -0000004c00000160: nft_pcpu_tun_ctx @ 0x38208+0x4bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044c: -Userspace: -0000004c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000004d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -The stack size is invalid -Kernel: -0000004c00000160: nft_pcpu_tun_ctx @ 0x38208+0x4bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044c: -0000004d00000160: nft_pcpu_tun_ctx @ 0x38208+0x4cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044c: -Userspace: -0000004c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000004d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000004d00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -The stack size is invalid -Kernel: -0000004d00000160: nft_pcpu_tun_ctx @ 0x38208+0x4cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044c: -0000004d00000160: nft_pcpu_tun_ctx @ 0x38208+0x4cfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -Userspace: -0000004d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000004d00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004d00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000030d: -The stack size is invalid -Kernel: -0000004d00000160: nft_pcpu_tun_ctx @ 0x38208+0x4cfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -0000004d00000160: nft_pcpu_tun_ctx @ 0x38208+0x4cfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000030d: -Userspace: -0000004d00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004d00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000030d: -0000004d00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -The stack size is invalid -Kernel: -0000004d00000160: nft_pcpu_tun_ctx @ 0x38208+0x4cfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000030d: -0000004d00000160: nft_pcpu_tun_ctx @ 0x38208+0x4cfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000457: -Userspace: -0000004d00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000030d: -0000004d00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -0000004d00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000003d9: -The stack size is invalid -Kernel: -0000004d00000160: nft_pcpu_tun_ctx @ 0x38208+0x4cfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000457: -0000004d00000160: nft_pcpu_tun_ctx @ 0x38208+0x4cfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d9: -Userspace: -0000004d00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -0000004d00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000003d9: -The stack size is invalid -Kernel: -0000004d00000160: nft_pcpu_tun_ctx @ 0x38208+0x4cfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d9: -0000004d00000160: nft_pcpu_tun_ctx @ 0x38208+0x4cfffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000645: -Userspace: -0000004d00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000003d9: -0000004d00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000645: -0000004d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -The stack size is invalid -Kernel: -0000004d00000160: nft_pcpu_tun_ctx @ 0x38208+0x4cfffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000645: -0000004d00000160: nft_pcpu_tun_ctx @ 0x38208+0x4cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044c: -Userspace: -0000004d00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000645: -0000004d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000004d00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -The stack size is invalid -Kernel: -0000004d00000160: nft_pcpu_tun_ctx @ 0x38208+0x4cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044c: -0000004d00000160: nft_pcpu_tun_ctx @ 0x38208+0x4cfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000457: -Userspace: -0000004d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000004d00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -0000004d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000004d00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -The stack size is invalid -Kernel: -0000004d00000160: nft_pcpu_tun_ctx @ 0x38208+0x4cfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000457: -0000004d00000160: nft_pcpu_tun_ctx @ 0x38208+0x4cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044c: -Userspace: -0000004d00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -0000004d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000004d00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -The stack size is invalid -Kernel: -0000004d00000160: nft_pcpu_tun_ctx @ 0x38208+0x4cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044c: -0000004d00000160: nft_pcpu_tun_ctx @ 0x38208+0x4cfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000753: -Userspace: -0000004d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000004d00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -0000004d00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -The stack size is invalid -Kernel: -0000004d00000160: nft_pcpu_tun_ctx @ 0x38208+0x4cfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000753: -0000004d00000160: nft_pcpu_tun_ctx @ 0x38208+0x4cfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000753: -Userspace: -0000004d00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -0000004d00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -0000004d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -The stack size is invalid -Kernel: -0000004d00000160: nft_pcpu_tun_ctx @ 0x38208+0x4cfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000753: -0000004d00000160: nft_pcpu_tun_ctx @ 0x38208+0x4cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044c: -Userspace: -0000004d00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -0000004d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000004e00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -0000004e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000004e00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -The stack size is invalid -Kernel: -0000004d00000160: nft_pcpu_tun_ctx @ 0x38208+0x4cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044c: -0000004e00000160: nft_pcpu_tun_ctx @ 0x38208+0x4dfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000753: -Userspace: -0000004d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000004e00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -0000004e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000004e00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -0000004e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -The stack size is invalid -Kernel: -0000004e00000160: nft_pcpu_tun_ctx @ 0x38208+0x4dfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000753: -0000004e00000160: nft_pcpu_tun_ctx @ 0x38208+0x4dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044c: -Userspace: -0000004e00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -0000004e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000004e00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -The stack size is invalid -Kernel: -0000004e00000160: nft_pcpu_tun_ctx @ 0x38208+0x4dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044c: -0000004e00000160: nft_pcpu_tun_ctx @ 0x38208+0x4dfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000457: -Userspace: -0000004e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000004e00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -0000004e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000004e00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -0000004e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -The stack size is invalid -Kernel: -0000004e00000160: nft_pcpu_tun_ctx @ 0x38208+0x4dfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000457: -0000004e00000160: nft_pcpu_tun_ctx @ 0x38208+0x4dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044c: -Userspace: -0000004e00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -0000004e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000004e00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -The stack size is invalid -Kernel: -0000004e00000160: nft_pcpu_tun_ctx @ 0x38208+0x4dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044c: -0000004e00000160: nft_pcpu_tun_ctx @ 0x38208+0x4dfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000753: -Userspace: -0000004e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000004e00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -0000004e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -The stack size is invalid -Kernel: -0000004e00000160: nft_pcpu_tun_ctx @ 0x38208+0x4dfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000753: -0000004e00000160: nft_pcpu_tun_ctx @ 0x38208+0x4dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044c: -Userspace: -0000004e00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -0000004e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000004e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -The stack size is invalid -Kernel: -0000004e00000160: nft_pcpu_tun_ctx @ 0x38208+0x4dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044c: -0000004e00000160: nft_pcpu_tun_ctx @ 0x38208+0x4dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044c: -Userspace: -0000004e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000004e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000004e00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -0000004e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000004e00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000003d9: -The stack size is invalid -Kernel: -0000004e00000160: nft_pcpu_tun_ctx @ 0x38208+0x4dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044c: -0000004e00000160: nft_pcpu_tun_ctx @ 0x38208+0x4dfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000457: -Userspace: -0000004e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000004e00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -0000004e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -The stack size is invalid -Kernel: -0000004e00000160: nft_pcpu_tun_ctx @ 0x38208+0x4dfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000457: -0000004e00000160: nft_pcpu_tun_ctx @ 0x38208+0x4dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044c: -Userspace: -0000004e00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -0000004e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000004e00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000003d9: -The stack size is invalid -Kernel: -0000004e00000160: nft_pcpu_tun_ctx @ 0x38208+0x4dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044c: -0000004e00000160: nft_pcpu_tun_ctx @ 0x38208+0x4dfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d9: -Userspace: -0000004e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000004e00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000003d9: -0000004e00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -The stack size is invalid -Kernel: -0000004e00000160: nft_pcpu_tun_ctx @ 0x38208+0x4dfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d9: -0000004e00000160: nft_pcpu_tun_ctx @ 0x38208+0x4dfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000753: -Userspace: -0000004e00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000003d9: -0000004e00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -0000004f00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -The stack size is invalid -Kernel: -0000004e00000160: nft_pcpu_tun_ctx @ 0x38208+0x4dfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000753: -0000004f00000160: nft_pcpu_tun_ctx @ 0x38208+0x4efffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -Userspace: -0000004e00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000753: -0000004f00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -The stack size is invalid -Kernel: -0000004f00000160: nft_pcpu_tun_ctx @ 0x38208+0x4efffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -0000004f00000160: nft_pcpu_tun_ctx @ 0x38208+0x4efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044c: -Userspace: -0000004f00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000004f00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004f00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004f00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -The stack size is invalid -Kernel: -0000004f00000160: nft_pcpu_tun_ctx @ 0x38208+0x4efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044c: -0000004f00000160: nft_pcpu_tun_ctx @ 0x38208+0x4efffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -Userspace: -0000004f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000004f00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004f00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -The stack size is invalid -Kernel: -0000004f00000160: nft_pcpu_tun_ctx @ 0x38208+0x4efffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -0000004f00000160: nft_pcpu_tun_ctx @ 0x38208+0x4efffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -Userspace: -0000004f00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004f00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004f00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -The stack size is invalid -Kernel: -0000004f00000160: nft_pcpu_tun_ctx @ 0x38208+0x4efffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -0000004f00000160: nft_pcpu_tun_ctx @ 0x38208+0x4efffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -Userspace: -0000004f00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004f00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -The stack size is invalid -Kernel: -0000004f00000160: nft_pcpu_tun_ctx @ 0x38208+0x4efffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -0000004f00000160: nft_pcpu_tun_ctx @ 0x38208+0x4efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044c: -Userspace: -0000004f00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000004f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000004f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -The stack size is invalid -Kernel: -0000004f00000160: nft_pcpu_tun_ctx @ 0x38208+0x4efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044c: -0000004f00000160: nft_pcpu_tun_ctx @ 0x38208+0x4efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044c: -Userspace: -0000004f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000004f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000004f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -The stack size is invalid -Kernel: -0000004f00000160: nft_pcpu_tun_ctx @ 0x38208+0x4efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000044c: -0000004f00000160: nft_pcpu_tun_ctx @ 0x38208+0x4efffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000457: -Userspace: -0000004f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000044c: -0000004f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -0000004f00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000003d9: -The stack size is invalid -Kernel: -0000004f00000160: nft_pcpu_tun_ctx @ 0x38208+0x4efffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000457: -0000004f00000160: nft_pcpu_tun_ctx @ 0x38208+0x4efffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d9: -Userspace: -0000004f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000457: -0000004f00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000003d9: -The stack size is invalid -Kernel: -0000004f00000160: nft_pcpu_tun_ctx @ 0x38208+0x4efffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d9: -Userspace: -0000004f00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000003d9: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000004f00000160: nft_pcpu_tun_ctx @ 0x38208+0x4efffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000584: -0000004f00000160: nft_pcpu_tun_ctx @ 0x38208+0x4efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000396: -Userspace: -0000004f00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000584: -0000004f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000396: -0000005000000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -The stack size is invalid -Kernel: -0000004f00000160: nft_pcpu_tun_ctx @ 0x38208+0x4efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000396: -0000005000000160: nft_pcpu_tun_ctx @ 0x38208+0x4ffffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -Userspace: -0000004f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000396: -0000005000000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000005000000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000584: -0000005000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000396: -The stack size is invalid -Kernel: -0000005000000160: nft_pcpu_tun_ctx @ 0x38208+0x4ffffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -0000005000000160: nft_pcpu_tun_ctx @ 0x38208+0x4ffffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000584: -Userspace: -0000005000000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000005000000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000584: -0000005000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -The stack size is invalid -Kernel: -0000005000000160: nft_pcpu_tun_ctx @ 0x38208+0x4ffffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000584: -0000005000000160: nft_pcpu_tun_ctx @ 0x38208+0x4ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000396: -Userspace: -0000005000000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000584: -0000005000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000396: -0000005000000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000005000000160: nft_pcpu_tun_ctx @ 0x38208+0x4ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000396: -0000005000000160: nft_pcpu_tun_ctx @ 0x38208+0x4ffffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000005000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000396: -0000005000000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000005000000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000584: -The stack size is invalid -Kernel: -0000005000000160: nft_pcpu_tun_ctx @ 0x38208+0x4ffffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000005000000160: nft_pcpu_tun_ctx @ 0x38208+0x4ffffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -Userspace: -0000005000000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000005000000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -The stack size is invalid -Kernel: -0000005000000160: nft_pcpu_tun_ctx @ 0x38208+0x4ffffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -0000005000000160: nft_pcpu_tun_ctx @ 0x38208+0x4ffffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000584: -Userspace: -0000005000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000005000000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000584: -0000005000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000396: -0000005000000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000005000000160: nft_pcpu_tun_ctx @ 0x38208+0x4ffffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000584: -0000005000000160: nft_pcpu_tun_ctx @ 0x38208+0x4ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000396: -Userspace: -The stack size is invalid -Kernel: -0000005000000160: nft_pcpu_tun_ctx @ 0x38208+0x4ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000396: -0000005000000160: nft_pcpu_tun_ctx @ 0x38208+0x4ffffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000005000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000396: -0000005000000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000005000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000396: -The stack size is invalid -Kernel: -0000005000000160: nft_pcpu_tun_ctx @ 0x38208+0x4ffffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000005000000160: nft_pcpu_tun_ctx @ 0x38208+0x4ffffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -Userspace: -0000005000000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000005000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -The stack size is invalid -Kernel: -0000005000000160: nft_pcpu_tun_ctx @ 0x38208+0x4ffffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -0000005000000160: nft_pcpu_tun_ctx @ 0x38208+0x4ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000396: -Userspace: -0000005000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000005000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000396: -0000005000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000396: -0000005100000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000068: -The stack size is invalid -Kernel: -0000005000000160: nft_pcpu_tun_ctx @ 0x38208+0x4ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000396: -0000005000000160: nft_pcpu_tun_ctx @ 0x38208+0x4ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000396: -Userspace: -The stack size is invalid -Kernel: -0000005000000160: nft_pcpu_tun_ctx @ 0x38208+0x4ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000396: -0000005100000160: nft_pcpu_tun_ctx @ 0x38208+0x50fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -Userspace: -0000005000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000396: -0000005100000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000005100000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -The stack size is invalid -Kernel: -0000005100000160: nft_pcpu_tun_ctx @ 0x38208+0x50fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -0000005100000160: nft_pcpu_tun_ctx @ 0x38208+0x50fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -Userspace: -0000005100000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000005100000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000005100000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -The stack size is invalid -Kernel: -0000005100000160: nft_pcpu_tun_ctx @ 0x38208+0x50fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -0000005100000160: nft_pcpu_tun_ctx @ 0x38208+0x50fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -The stack size is invalid -Kernel: -0000005100000160: nft_pcpu_tun_ctx @ 0x38208+0x50fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000005100000160: nft_pcpu_tun_ctx @ 0x38208+0x50fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000005100000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005100000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000005100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000396: -The stack size is invalid -Kernel: -0000005100000160: nft_pcpu_tun_ctx @ 0x38208+0x50fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000005100000160: nft_pcpu_tun_ctx @ 0x38208+0x50fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000396: -Userspace: -0000005100000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000005100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000396: -0000005100000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000396: -The stack size is invalid -Kernel: -0000005100000160: nft_pcpu_tun_ctx @ 0x38208+0x50fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000396: -0000005100000160: nft_pcpu_tun_ctx @ 0x38208+0x50fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000005100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000396: -0000005100000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000396: -The stack size is invalid -Kernel: -0000005100000160: nft_pcpu_tun_ctx @ 0x38208+0x50fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000005100000160: nft_pcpu_tun_ctx @ 0x38208+0x50fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000396: -Userspace: -0000005100000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000396: -0000005100000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -The stack size is invalid -Kernel: -0000005100000160: nft_pcpu_tun_ctx @ 0x38208+0x50fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000396: -0000005100000160: nft_pcpu_tun_ctx @ 0x38208+0x50fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000584: -Userspace: -0000005100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000396: -0000005100000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000584: -0000005100000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000005100000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000584: -The stack size is invalid -Kernel: -0000005100000160: nft_pcpu_tun_ctx @ 0x38208+0x50fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000584: -0000005100000160: nft_pcpu_tun_ctx @ 0x38208+0x50fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000005100000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000584: -0000005100000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000005100000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -The stack size is invalid -Kernel: -0000005100000160: nft_pcpu_tun_ctx @ 0x38208+0x50fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000005100000160: nft_pcpu_tun_ctx @ 0x38208+0x50fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000584: -Userspace: -0000005100000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000005100000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000584: -0000005100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000396: -0000005200000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000584: -The stack size is invalid -Kernel: -0000005100000160: nft_pcpu_tun_ctx @ 0x38208+0x50fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000584: -0000005100000160: nft_pcpu_tun_ctx @ 0x38208+0x50fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000396: -Userspace: -0000005100000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000584: -0000005100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000396: -0000005200000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000584: -The stack size is invalid -Kernel: -0000005100000160: nft_pcpu_tun_ctx @ 0x38208+0x50fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000396: -0000005200000160: nft_pcpu_tun_ctx @ 0x38208+0x51fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000584: -Userspace: -0000005100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000396: -0000005200000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000584: -0000005200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000396: -0000005200000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000005200000160: nft_pcpu_tun_ctx @ 0x38208+0x51fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000584: -0000005200000160: nft_pcpu_tun_ctx @ 0x38208+0x51fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000396: -Userspace: -0000005200000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000584: -0000005200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000396: -0000005200000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -The stack size is invalid -Kernel: -0000005200000160: nft_pcpu_tun_ctx @ 0x38208+0x51fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000396: -0000005200000160: nft_pcpu_tun_ctx @ 0x38208+0x51fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000005200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000396: -0000005200000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005200000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -000000000000079d: -0000005200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000396: -The stack size is invalid -Kernel: -0000005200000160: nft_pcpu_tun_ctx @ 0x38208+0x51fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000005200000160: nft_pcpu_tun_ctx @ 0x38208+0x51fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000079d: -Userspace: -0000005200000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005200000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -000000000000079d: -0000005200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -The stack size is invalid -Kernel: -0000005200000160: nft_pcpu_tun_ctx @ 0x38208+0x51fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000079d: -0000005200000160: nft_pcpu_tun_ctx @ 0x38208+0x51fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000396: -Userspace: -0000005200000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -000000000000079d: -0000005200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000396: -0000005200000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000584: -0000005200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000396: -The stack size is invalid -Kernel: -0000005200000160: nft_pcpu_tun_ctx @ 0x38208+0x51fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000396: -0000005200000160: nft_pcpu_tun_ctx @ 0x38208+0x51fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000584: -Userspace: -0000005200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000396: -0000005200000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000584: -0000005200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000396: -0000005200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000396: -0000005200000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000005200000160: nft_pcpu_tun_ctx @ 0x38208+0x51fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000584: -0000005200000160: nft_pcpu_tun_ctx @ 0x38208+0x51fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000396: -Userspace: -0000005200000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000584: -0000005200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000396: -0000005200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -The stack size is invalid -Kernel: -0000005200000160: nft_pcpu_tun_ctx @ 0x38208+0x51fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000396: -0000005200000160: nft_pcpu_tun_ctx @ 0x38208+0x51fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000396: -Userspace: -0000005200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000396: -0000005200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000396: -0000005200000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005200000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -The stack size is invalid -Kernel: -0000005200000160: nft_pcpu_tun_ctx @ 0x38208+0x51fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000396: -0000005200000160: nft_pcpu_tun_ctx @ 0x38208+0x51fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000005200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000396: -0000005200000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005200000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -The stack size is invalid -Kernel: -0000005200000160: nft_pcpu_tun_ctx @ 0x38208+0x51fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000005200000160: nft_pcpu_tun_ctx @ 0x38208+0x51fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -Userspace: -0000005200000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005200000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000005200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -The stack size is invalid -Kernel: -0000005200000160: nft_pcpu_tun_ctx @ 0x38208+0x51fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -0000005200000160: nft_pcpu_tun_ctx @ 0x38208+0x51fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000396: -Userspace: -0000005200000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000005200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000396: -0000005200000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005300000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000049b: -The stack size is invalid -Kernel: -0000005200000160: nft_pcpu_tun_ctx @ 0x38208+0x51fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000396: -0000005200000160: nft_pcpu_tun_ctx @ 0x38208+0x51fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000005200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000396: -0000005200000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005300000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000049b: -The stack size is invalid -Kernel: -0000005200000160: nft_pcpu_tun_ctx @ 0x38208+0x51fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000005300000160: nft_pcpu_tun_ctx @ 0x38208+0x52fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000005200000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005300000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000005300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -The stack size is invalid -Kernel: -0000005300000160: nft_pcpu_tun_ctx @ 0x38208+0x52fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000005300000160: nft_pcpu_tun_ctx @ 0x38208+0x52fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000584: -Userspace: -0000005300000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000005300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000584: -0000005300000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000005300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000396: -The stack size is invalid -Kernel: -0000005300000160: nft_pcpu_tun_ctx @ 0x38208+0x52fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000584: -0000005300000160: nft_pcpu_tun_ctx @ 0x38208+0x52fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -Userspace: -0000005300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000584: -0000005300000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000005300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000396: -The stack size is invalid -Kernel: -0000005300000160: nft_pcpu_tun_ctx @ 0x38208+0x52fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -0000005300000160: nft_pcpu_tun_ctx @ 0x38208+0x52fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000396: -Userspace: -0000005300000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000005300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000396: -0000005300000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000005300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000396: -The stack size is invalid -Kernel: -0000005300000160: nft_pcpu_tun_ctx @ 0x38208+0x52fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000396: -0000005300000160: nft_pcpu_tun_ctx @ 0x38208+0x52fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -Userspace: -The stack size is invalid -Kernel: -0000005300000160: nft_pcpu_tun_ctx @ 0x38208+0x52fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -0000005300000160: nft_pcpu_tun_ctx @ 0x38208+0x52fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000396: -Userspace: -0000005300000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000005300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000396: -0000005300000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -The stack size is invalid -Kernel: -0000005300000160: nft_pcpu_tun_ctx @ 0x38208+0x52fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000396: -0000005300000160: nft_pcpu_tun_ctx @ 0x38208+0x52fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -Userspace: -The stack size is invalid -Kernel: -0000005300000160: nft_pcpu_tun_ctx @ 0x38208+0x52fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -0000005300000160: nft_pcpu_tun_ctx @ 0x38208+0x52fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -Userspace: -0000005300000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000005300000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000005300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -The stack size is invalid -Kernel: -0000005300000160: nft_pcpu_tun_ctx @ 0x38208+0x52fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -0000005300000160: nft_pcpu_tun_ctx @ 0x38208+0x52fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000396: -Userspace: -The stack size is invalid -Kernel: -0000005300000160: nft_pcpu_tun_ctx @ 0x38208+0x52fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000396: -0000005300000160: nft_pcpu_tun_ctx @ 0x38208+0x52fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000396: -Userspace: -The stack size is invalid -Kernel: -0000005300000160: nft_pcpu_tun_ctx @ 0x38208+0x52fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000396: -0000005300000160: nft_pcpu_tun_ctx @ 0x38208+0x52fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000005300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000396: -0000005300000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005400000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -The stack size is invalid -Kernel: -0000005300000160: nft_pcpu_tun_ctx @ 0x38208+0x52fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000005400000160: nft_pcpu_tun_ctx @ 0x38208+0x53fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000005300000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005400000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000049b: -The stack size is invalid -Kernel: -0000005400000160: nft_pcpu_tun_ctx @ 0x38208+0x53fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000005400000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000049b: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000005400000160: nft_pcpu_tun_ctx @ 0x38208+0x53fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -0000005400000160: nft_pcpu_tun_ctx @ 0x38208+0x53fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -Userspace: -0000005400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000005400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000005400000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000005400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -The stack size is invalid -Kernel: -0000005400000160: nft_pcpu_tun_ctx @ 0x38208+0x53fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -0000005400000160: nft_pcpu_tun_ctx @ 0x38208+0x53fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000005400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000005400000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -The stack size is invalid -Kernel: -0000005400000160: nft_pcpu_tun_ctx @ 0x38208+0x53fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000005400000160: nft_pcpu_tun_ctx @ 0x38208+0x53fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -Userspace: -0000005400000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000005400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000005400000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005400000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000068: -The stack size is invalid -Kernel: -0000005400000160: nft_pcpu_tun_ctx @ 0x38208+0x53fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -0000005400000160: nft_pcpu_tun_ctx @ 0x38208+0x53fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -Userspace: -0000005400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000005400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000005400000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005400000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000068: -The stack size is invalid -Kernel: -0000005400000160: nft_pcpu_tun_ctx @ 0x38208+0x53fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -0000005400000160: nft_pcpu_tun_ctx @ 0x38208+0x53fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000005400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000005400000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005400000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000068: -The stack size is invalid -Kernel: -0000005400000160: nft_pcpu_tun_ctx @ 0x38208+0x53fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000005400000160: nft_pcpu_tun_ctx @ 0x38208+0x53fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -Userspace: -0000005400000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005400000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000005400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000005400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000005500000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000005400000160: nft_pcpu_tun_ctx @ 0x38208+0x53fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -0000005400000160: nft_pcpu_tun_ctx @ 0x38208+0x53fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -Userspace: -0000005400000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000005400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000005400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000005500000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000005400000160: nft_pcpu_tun_ctx @ 0x38208+0x53fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -0000005400000160: nft_pcpu_tun_ctx @ 0x38208+0x53fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -Userspace: -The stack size is invalid -Kernel: -0000005400000160: nft_pcpu_tun_ctx @ 0x38208+0x53fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -0000005500000160: nft_pcpu_tun_ctx @ 0x38208+0x54fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000005400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000005500000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005500000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000068: -The stack size is invalid -Kernel: -0000005500000160: nft_pcpu_tun_ctx @ 0x38208+0x54fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000005500000160: nft_pcpu_tun_ctx @ 0x38208+0x54fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -Userspace: -0000005500000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005500000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000005500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000005500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000005500000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000068: -The stack size is invalid -Kernel: -0000005500000160: nft_pcpu_tun_ctx @ 0x38208+0x54fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -0000005500000160: nft_pcpu_tun_ctx @ 0x38208+0x54fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -Userspace: -0000005500000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000005500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000005500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000005500000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000068: -The stack size is invalid -Kernel: -0000005500000160: nft_pcpu_tun_ctx @ 0x38208+0x54fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -0000005500000160: nft_pcpu_tun_ctx @ 0x38208+0x54fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -Userspace: -The stack size is invalid -Kernel: -0000005500000160: nft_pcpu_tun_ctx @ 0x38208+0x54fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -0000005500000160: nft_pcpu_tun_ctx @ 0x38208+0x54fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -Userspace: -0000005500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000005500000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000005500000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005500000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005500000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000569: -The stack size is invalid -Kernel: -0000005500000160: nft_pcpu_tun_ctx @ 0x38208+0x54fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -0000005500000160: nft_pcpu_tun_ctx @ 0x38208+0x54fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000005500000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000005500000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005500000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005500000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000569: -0000005500000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000005500000160: nft_pcpu_tun_ctx @ 0x38208+0x54fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000005500000160: nft_pcpu_tun_ctx @ 0x38208+0x54fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -The stack size is invalid -Kernel: -0000005500000160: nft_pcpu_tun_ctx @ 0x38208+0x54fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000005500000160: nft_pcpu_tun_ctx @ 0x38208+0x54fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000569: -Userspace: -0000005500000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005500000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000569: -0000005500000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -The stack size is invalid -Kernel: -0000005500000160: nft_pcpu_tun_ctx @ 0x38208+0x54fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000569: -0000005500000160: nft_pcpu_tun_ctx @ 0x38208+0x54fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000005500000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000569: -0000005500000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000005500000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000005500000160: nft_pcpu_tun_ctx @ 0x38208+0x54fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000005500000160: nft_pcpu_tun_ctx @ 0x38208+0x54fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -Userspace: -0000005500000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000005500000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -The stack size is invalid -Kernel: -0000005500000160: nft_pcpu_tun_ctx @ 0x38208+0x54fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -0000005500000160: nft_pcpu_tun_ctx @ 0x38208+0x54fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000005500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000005500000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000005600000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -The stack size is invalid -Kernel: -0000005500000160: nft_pcpu_tun_ctx @ 0x38208+0x54fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000005500000160: nft_pcpu_tun_ctx @ 0x38208+0x54fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -Userspace: -0000005500000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000005600000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000005600000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000569: -0000005600000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -The stack size is invalid -Kernel: -0000005500000160: nft_pcpu_tun_ctx @ 0x38208+0x54fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -0000005600000160: nft_pcpu_tun_ctx @ 0x38208+0x55fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -Userspace: -0000005500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000005600000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000005600000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000569: -0000005600000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -The stack size is invalid -Kernel: -0000005600000160: nft_pcpu_tun_ctx @ 0x38208+0x55fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -0000005600000160: nft_pcpu_tun_ctx @ 0x38208+0x55fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000569: -Userspace: -0000005600000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000005600000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000569: -0000005600000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000005600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000005600000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -The stack size is invalid -Kernel: -0000005600000160: nft_pcpu_tun_ctx @ 0x38208+0x55fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000569: -0000005600000160: nft_pcpu_tun_ctx @ 0x38208+0x55fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -Userspace: -0000005600000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000569: -0000005600000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000005600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -The stack size is invalid -Kernel: -0000005600000160: nft_pcpu_tun_ctx @ 0x38208+0x55fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -0000005600000160: nft_pcpu_tun_ctx @ 0x38208+0x55fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -Userspace: -0000005600000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000005600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000005600000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000005600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -The stack size is invalid -Kernel: -0000005600000160: nft_pcpu_tun_ctx @ 0x38208+0x55fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -0000005600000160: nft_pcpu_tun_ctx @ 0x38208+0x55fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -Userspace: -0000005600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000005600000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000005600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -The stack size is invalid -Kernel: -0000005600000160: nft_pcpu_tun_ctx @ 0x38208+0x55fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -0000005600000160: nft_pcpu_tun_ctx @ 0x38208+0x55fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -Userspace: -0000005600000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000005600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000005600000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005600000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -000000000000079d: -0000005600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -The stack size is invalid -Kernel: -0000005600000160: nft_pcpu_tun_ctx @ 0x38208+0x55fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -0000005600000160: nft_pcpu_tun_ctx @ 0x38208+0x55fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000005600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000005600000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005600000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -000000000000079d: -The stack size is invalid -Kernel: -0000005600000160: nft_pcpu_tun_ctx @ 0x38208+0x55fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000005600000160: nft_pcpu_tun_ctx @ 0x38208+0x55fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000079d: -Userspace: -0000005600000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005600000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -000000000000079d: -0000005600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000005600000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000005600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -The stack size is invalid -Kernel: -0000005600000160: nft_pcpu_tun_ctx @ 0x38208+0x55fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000079d: -0000005600000160: nft_pcpu_tun_ctx @ 0x38208+0x55fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -Userspace: -0000005600000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -000000000000079d: -0000005600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000005600000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000005600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -The stack size is invalid -Kernel: -0000005600000160: nft_pcpu_tun_ctx @ 0x38208+0x55fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -0000005600000160: nft_pcpu_tun_ctx @ 0x38208+0x55fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -Userspace: -0000005600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000005600000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000005600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000005700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000005700000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000005600000160: nft_pcpu_tun_ctx @ 0x38208+0x55fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -0000005600000160: nft_pcpu_tun_ctx @ 0x38208+0x55fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -Userspace: -0000005600000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000005600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000005700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000005700000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005700000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000005600000160: nft_pcpu_tun_ctx @ 0x38208+0x55fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -0000005700000160: nft_pcpu_tun_ctx @ 0x38208+0x56fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -Userspace: -0000005600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000005700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000005700000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000005700000160: nft_pcpu_tun_ctx @ 0x38208+0x56fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -0000005700000160: nft_pcpu_tun_ctx @ 0x38208+0x56fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000005700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000005700000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005700000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000005700000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000005700000160: nft_pcpu_tun_ctx @ 0x38208+0x56fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000005700000160: nft_pcpu_tun_ctx @ 0x38208+0x56fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000005700000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005700000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000005700000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005700000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000569: -The stack size is invalid -Kernel: -0000005700000160: nft_pcpu_tun_ctx @ 0x38208+0x56fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000005700000160: nft_pcpu_tun_ctx @ 0x38208+0x56fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -Userspace: -0000005700000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000005700000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005700000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000569: -The stack size is invalid -Kernel: -0000005700000160: nft_pcpu_tun_ctx @ 0x38208+0x56fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -0000005700000160: nft_pcpu_tun_ctx @ 0x38208+0x56fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000005700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000005700000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005700000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000569: -0000005700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -The stack size is invalid -Kernel: -0000005700000160: nft_pcpu_tun_ctx @ 0x38208+0x56fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000005700000160: nft_pcpu_tun_ctx @ 0x38208+0x56fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000569: -Userspace: -0000005700000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005700000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000569: -0000005700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000005700000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000005700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -The stack size is invalid -Kernel: -0000005700000160: nft_pcpu_tun_ctx @ 0x38208+0x56fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000569: -0000005700000160: nft_pcpu_tun_ctx @ 0x38208+0x56fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -Userspace: -0000005700000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000569: -0000005700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000005700000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000005700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -The stack size is invalid -Kernel: -0000005700000160: nft_pcpu_tun_ctx @ 0x38208+0x56fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -0000005700000160: nft_pcpu_tun_ctx @ 0x38208+0x56fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -Userspace: -0000005700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000005700000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000005700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000005700000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000068: -The stack size is invalid -Kernel: -0000005700000160: nft_pcpu_tun_ctx @ 0x38208+0x56fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -0000005700000160: nft_pcpu_tun_ctx @ 0x38208+0x56fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -Userspace: -0000005700000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000005700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000005700000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000068: -The stack size is invalid -Kernel: -0000005700000160: nft_pcpu_tun_ctx @ 0x38208+0x56fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -0000005700000160: nft_pcpu_tun_ctx @ 0x38208+0x56fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -Userspace: -The stack size is invalid -Kernel: -0000005700000160: nft_pcpu_tun_ctx @ 0x38208+0x56fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -0000005700000160: nft_pcpu_tun_ctx @ 0x38208+0x56fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -Userspace: -0000005700000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000005700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000005700000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000005800000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000005800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -The stack size is invalid -Kernel: -0000005700000160: nft_pcpu_tun_ctx @ 0x38208+0x56fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -0000005700000160: nft_pcpu_tun_ctx @ 0x38208+0x56fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -Userspace: -The stack size is invalid -Kernel: -0000005700000160: nft_pcpu_tun_ctx @ 0x38208+0x56fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -0000005800000160: nft_pcpu_tun_ctx @ 0x38208+0x57fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -Userspace: -0000005700000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000005800000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000005800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000005800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000005800000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000005800000160: nft_pcpu_tun_ctx @ 0x38208+0x57fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -0000005800000160: nft_pcpu_tun_ctx @ 0x38208+0x57fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -Userspace: -The stack size is invalid -Kernel: -0000005800000160: nft_pcpu_tun_ctx @ 0x38208+0x57fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -0000005800000160: nft_pcpu_tun_ctx @ 0x38208+0x57fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -Userspace: -The stack size is invalid -Kernel: -0000005800000160: nft_pcpu_tun_ctx @ 0x38208+0x57fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000699: -0000005800000160: nft_pcpu_tun_ctx @ 0x38208+0x57fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000005800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000699: -0000005800000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005800000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000569: -The stack size is invalid -Kernel: -0000005800000160: nft_pcpu_tun_ctx @ 0x38208+0x57fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000005800000160: nft_pcpu_tun_ctx @ 0x38208+0x57fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000569: -Userspace: -0000005800000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005800000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000569: -The stack size is invalid -Kernel: -0000005800000160: nft_pcpu_tun_ctx @ 0x38208+0x57fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000569: -Userspace: -0000005800000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000569: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000005800000160: nft_pcpu_tun_ctx @ 0x38208+0x57fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -0000005800000160: nft_pcpu_tun_ctx @ 0x38208+0x57fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000005800000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000166: -0000005800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000005800000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000037: -The stack size is invalid -Kernel: -0000005800000160: nft_pcpu_tun_ctx @ 0x38208+0x57fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000005800000160: nft_pcpu_tun_ctx @ 0x38208+0x57fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000037: -Userspace: -0000005800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -The stack size is invalid -Kernel: -0000005800000160: nft_pcpu_tun_ctx @ 0x38208+0x57fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000037: -0000005800000160: nft_pcpu_tun_ctx @ 0x38208+0x57fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -Userspace: -0000005800000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000037: -0000005800000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000166: -0000005800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -The stack size is invalid -Kernel: -0000005800000160: nft_pcpu_tun_ctx @ 0x38208+0x57fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -0000005800000160: nft_pcpu_tun_ctx @ 0x38208+0x57fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -The stack size is invalid -Kernel: -0000005800000160: nft_pcpu_tun_ctx @ 0x38208+0x57fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000005900000160: nft_pcpu_tun_ctx @ 0x38208+0x58fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000005800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -The stack size is invalid -Kernel: -0000005900000160: nft_pcpu_tun_ctx @ 0x38208+0x58fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000005900000160: nft_pcpu_tun_ctx @ 0x38208+0x58fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000005900000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005900000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000166: -The stack size is invalid -Kernel: -0000005900000160: nft_pcpu_tun_ctx @ 0x38208+0x58fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000005900000160: nft_pcpu_tun_ctx @ 0x38208+0x58fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -Userspace: -0000005900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005900000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000166: -0000005900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000005900000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000005900000160: nft_pcpu_tun_ctx @ 0x38208+0x58fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -0000005900000160: nft_pcpu_tun_ctx @ 0x38208+0x58fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000005900000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000166: -0000005900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000005900000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000005900000160: nft_pcpu_tun_ctx @ 0x38208+0x58fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000005900000160: nft_pcpu_tun_ctx @ 0x38208+0x58fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000005900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -The stack size is invalid -Kernel: -0000005900000160: nft_pcpu_tun_ctx @ 0x38208+0x58fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000005900000160: nft_pcpu_tun_ctx @ 0x38208+0x58fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000005900000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -The stack size is invalid -Kernel: -0000005900000160: nft_pcpu_tun_ctx @ 0x38208+0x58fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000005900000160: nft_pcpu_tun_ctx @ 0x38208+0x58fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000005900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000005900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000005900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000005900000160: nft_pcpu_tun_ctx @ 0x38208+0x58fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000005900000160: nft_pcpu_tun_ctx @ 0x38208+0x58fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000005900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000005900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000005900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005900000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000037: -The stack size is invalid -Kernel: -0000005900000160: nft_pcpu_tun_ctx @ 0x38208+0x58fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000005900000160: nft_pcpu_tun_ctx @ 0x38208+0x58fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000005900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000005900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005900000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000037: -The stack size is invalid -Kernel: -0000005900000160: nft_pcpu_tun_ctx @ 0x38208+0x58fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000005900000160: nft_pcpu_tun_ctx @ 0x38208+0x58fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000037: -Userspace: -0000005900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005900000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000037: -0000005900000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000005900000160: nft_pcpu_tun_ctx @ 0x38208+0x58fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000037: -0000005900000160: nft_pcpu_tun_ctx @ 0x38208+0x58fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000005900000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000037: -0000005900000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005a00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000658: -0000005a00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000037: -The stack size is invalid -Kernel: -0000005900000160: nft_pcpu_tun_ctx @ 0x38208+0x58fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000005a00000160: nft_pcpu_tun_ctx @ 0x38208+0x59fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000658: -Userspace: -The stack size is invalid -Kernel: -0000005a00000160: nft_pcpu_tun_ctx @ 0x38208+0x59fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000658: -0000005a00000160: nft_pcpu_tun_ctx @ 0x38208+0x59fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000037: -Userspace: -0000005a00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000658: -0000005a00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000037: -0000005a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000005a00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000005a00000160: nft_pcpu_tun_ctx @ 0x38208+0x59fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000037: -0000005a00000160: nft_pcpu_tun_ctx @ 0x38208+0x59fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000005a00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000037: -0000005a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000005a00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000005a00000160: -6572747300002435: -000000676e2d7373: -The stack size is invalid -Kernel: -0000005a00000160: nft_pcpu_tun_ctx @ 0x38208+0x59fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000005a00000160: nft_pcpu_tun_ctx @ 0x38208+0x59fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -The stack size is invalid -Kernel: -0000005a00000160: nft_pcpu_tun_ctx @ 0x38208+0x59fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000005a00000160: nft_pcpu_tun_ctx @ 0x38208+0x59fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000005a00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000005a00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000166: -The stack size is invalid -Kernel: -0000005a00000160: nft_pcpu_tun_ctx @ 0x38208+0x59fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000005a00000160: nft_pcpu_tun_ctx @ 0x38208+0x59fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -Userspace: -0000005a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000005a00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000166: -0000005a00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000658: -0000005a00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000166: -The stack size is invalid -Kernel: -0000005a00000160: nft_pcpu_tun_ctx @ 0x38208+0x59fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -0000005a00000160: nft_pcpu_tun_ctx @ 0x38208+0x59fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000658: -Userspace: -0000005a00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000166: -0000005a00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000658: -0000005a00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000166: -The stack size is invalid -Kernel: -0000005a00000160: nft_pcpu_tun_ctx @ 0x38208+0x59fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000658: -0000005a00000160: nft_pcpu_tun_ctx @ 0x38208+0x59fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -Userspace: -0000005a00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000658: -The stack size is invalid -Kernel: -0000005a00000160: nft_pcpu_tun_ctx @ 0x38208+0x59fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -0000005a00000160: nft_pcpu_tun_ctx @ 0x38208+0x59fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000005a00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000166: -0000005a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000005a00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000166: -0000005a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000005a00000160: -6572747300002438: -000000676e2d7373: -The stack size is invalid -Kernel: -0000005a00000160: nft_pcpu_tun_ctx @ 0x38208+0x59fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000005a00000160: nft_pcpu_tun_ctx @ 0x38208+0x59fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -Userspace: -0000005a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -The stack size is invalid -Kernel: -0000005a00000160: nft_pcpu_tun_ctx @ 0x38208+0x59fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -0000005a00000160: nft_pcpu_tun_ctx @ 0x38208+0x59fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000005a00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000166: -0000005a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000005a00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000005a00000160: nft_pcpu_tun_ctx @ 0x38208+0x59fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000005a00000160: nft_pcpu_tun_ctx @ 0x38208+0x59fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000005a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -The stack size is invalid -Kernel: -0000005a00000160: nft_pcpu_tun_ctx @ 0x38208+0x59fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000005b00000160: nft_pcpu_tun_ctx @ 0x38208+0x5afffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000005a00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005b00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -The stack size is invalid -Kernel: -0000005b00000160: nft_pcpu_tun_ctx @ 0x38208+0x5afffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000005b00000160: nft_pcpu_tun_ctx @ 0x38208+0x5afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000005b00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000005b00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000166: -0000005b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -The stack size is invalid -Kernel: -0000005b00000160: nft_pcpu_tun_ctx @ 0x38208+0x5afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000005b00000160: nft_pcpu_tun_ctx @ 0x38208+0x5afffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -Userspace: -0000005b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000005b00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000166: -0000005b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000005b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -The stack size is invalid -Kernel: -0000005b00000160: nft_pcpu_tun_ctx @ 0x38208+0x5afffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -0000005b00000160: nft_pcpu_tun_ctx @ 0x38208+0x5afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000005b00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000166: -0000005b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000005b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -The stack size is invalid -Kernel: -0000005b00000160: nft_pcpu_tun_ctx @ 0x38208+0x5afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000005b00000160: nft_pcpu_tun_ctx @ 0x38208+0x5afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000005b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -The stack size is invalid -Kernel: -0000005b00000160: nft_pcpu_tun_ctx @ 0x38208+0x5afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000005b00000160: nft_pcpu_tun_ctx @ 0x38208+0x5afffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000005b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000005b00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005b00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000037: -The stack size is invalid -Kernel: -0000005b00000160: nft_pcpu_tun_ctx @ 0x38208+0x5afffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000005b00000160: nft_pcpu_tun_ctx @ 0x38208+0x5afffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000037: -Userspace: -0000005b00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005b00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000037: -0000005b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -The stack size is invalid -Kernel: -0000005b00000160: nft_pcpu_tun_ctx @ 0x38208+0x5afffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000037: -0000005b00000160: nft_pcpu_tun_ctx @ 0x38208+0x5afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000005b00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000037: -0000005b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000005b00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005b00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000658: -The stack size is invalid -Kernel: -0000005b00000160: nft_pcpu_tun_ctx @ 0x38208+0x5afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000005b00000160: nft_pcpu_tun_ctx @ 0x38208+0x5afffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -The stack size is invalid -Kernel: -0000005b00000160: nft_pcpu_tun_ctx @ 0x38208+0x5afffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000005b00000160: nft_pcpu_tun_ctx @ 0x38208+0x5afffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000658: -Userspace: -0000005b00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005b00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000658: -0000005b00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000166: -The stack size is invalid -Kernel: -0000005b00000160: nft_pcpu_tun_ctx @ 0x38208+0x5afffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000658: -0000005b00000160: nft_pcpu_tun_ctx @ 0x38208+0x5afffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -Userspace: -0000005b00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000658: -0000005b00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000166: -0000005c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -The stack size is invalid -Kernel: -0000005b00000160: nft_pcpu_tun_ctx @ 0x38208+0x5afffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -0000005c00000160: nft_pcpu_tun_ctx @ 0x38208+0x5bfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000005b00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000166: -0000005c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000005c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005c00000160: -6572747300002439: -000000676e2d7373: -The stack size is invalid -Kernel: -0000005c00000160: nft_pcpu_tun_ctx @ 0x38208+0x5bfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000005c00000160: nft_pcpu_tun_ctx @ 0x38208+0x5bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000005c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000005c00000160: nft_pcpu_tun_ctx @ 0x38208+0x5bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000005c00000160: nft_pcpu_tun_ctx @ 0x38208+0x5bfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000005c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000005c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000005c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000005c00000160: nft_pcpu_tun_ctx @ 0x38208+0x5bfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000005c00000160: nft_pcpu_tun_ctx @ 0x38208+0x5bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000005c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000005c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000005c00000160: nft_pcpu_tun_ctx @ 0x38208+0x5bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000005c00000160: nft_pcpu_tun_ctx @ 0x38208+0x5bfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000005c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000005c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -The stack size is invalid -Kernel: -0000005c00000160: nft_pcpu_tun_ctx @ 0x38208+0x5bfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000005c00000160: nft_pcpu_tun_ctx @ 0x38208+0x5bfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000005c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -The stack size is invalid -Kernel: -0000005c00000160: nft_pcpu_tun_ctx @ 0x38208+0x5bfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000005c00000160: nft_pcpu_tun_ctx @ 0x38208+0x5bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000005c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000005c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000005c00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000005c00000160: nft_pcpu_tun_ctx @ 0x38208+0x5bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000005c00000160: nft_pcpu_tun_ctx @ 0x38208+0x5bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -Userspace: -0000005c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000005c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000005c00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005c00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000658: -The stack size is invalid -Kernel: -0000005c00000160: nft_pcpu_tun_ctx @ 0x38208+0x5bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000049b: -0000005c00000160: nft_pcpu_tun_ctx @ 0x38208+0x5bfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000005c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000049b: -0000005c00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005c00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000658: -The stack size is invalid -Kernel: -0000005c00000160: nft_pcpu_tun_ctx @ 0x38208+0x5bfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000005c00000160: nft_pcpu_tun_ctx @ 0x38208+0x5bfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000658: -Userspace: -0000005c00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005c00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000658: -The stack size is invalid -Kernel: -0000005c00000160: nft_pcpu_tun_ctx @ 0x38208+0x5bfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000658: -Userspace: -0000005c00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000658: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000005d00000160: nft_pcpu_tun_ctx @ 0x38208+0x5cfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -0000005d00000160: nft_pcpu_tun_ctx @ 0x38208+0x5cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000088: -Userspace: -The stack size is invalid -Kernel: -0000005d00000160: nft_pcpu_tun_ctx @ 0x38208+0x5cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000088: -0000005d00000160: nft_pcpu_tun_ctx @ 0x38208+0x5cfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000037: -Userspace: -0000005d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000088: -The stack size is invalid -Kernel: -0000005d00000160: nft_pcpu_tun_ctx @ 0x38208+0x5cfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000037: -0000005d00000160: nft_pcpu_tun_ctx @ 0x38208+0x5cfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -Userspace: -The stack size is invalid -Kernel: -0000005d00000160: nft_pcpu_tun_ctx @ 0x38208+0x5cfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -0000005d00000160: nft_pcpu_tun_ctx @ 0x38208+0x5cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000088: -Userspace: -The stack size is invalid -Kernel: -0000005d00000160: nft_pcpu_tun_ctx @ 0x38208+0x5cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000088: -0000005d00000160: nft_pcpu_tun_ctx @ 0x38208+0x5cfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000121: -Userspace: -0000005d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000088: -The stack size is invalid -Kernel: -0000005d00000160: nft_pcpu_tun_ctx @ 0x38208+0x5cfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000121: -0000005d00000160: nft_pcpu_tun_ctx @ 0x38208+0x5cfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -The stack size is invalid -Kernel: -0000005d00000160: nft_pcpu_tun_ctx @ 0x38208+0x5cfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000005d00000160: nft_pcpu_tun_ctx @ 0x38208+0x5cfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -Userspace: -0000005d00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000005d00000160: nft_pcpu_tun_ctx @ 0x38208+0x5cfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -0000005d00000160: nft_pcpu_tun_ctx @ 0x38208+0x5cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000088: -Userspace: -0000005d00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000166: -0000005d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000088: -0000005d00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000121: -0000005d00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000005d00000160: nft_pcpu_tun_ctx @ 0x38208+0x5cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000088: -0000005d00000160: nft_pcpu_tun_ctx @ 0x38208+0x5cfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000121: -Userspace: -0000005d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000088: -The stack size is invalid -Kernel: -0000005d00000160: nft_pcpu_tun_ctx @ 0x38208+0x5cfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000121: -0000005d00000160: nft_pcpu_tun_ctx @ 0x38208+0x5cfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -The stack size is invalid -Kernel: -0000005d00000160: nft_pcpu_tun_ctx @ 0x38208+0x5cfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000005d00000160: nft_pcpu_tun_ctx @ 0x38208+0x5cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000088: -Userspace: -0000005d00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000005d00000160: nft_pcpu_tun_ctx @ 0x38208+0x5cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000088: -0000005e00000160: nft_pcpu_tun_ctx @ 0x38208+0x5dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000088: -Userspace: -0000005d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000088: -0000005e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000088: -0000005e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000005e00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000037: -The stack size is invalid -Kernel: -0000005e00000160: nft_pcpu_tun_ctx @ 0x38208+0x5dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000088: -0000005e00000160: nft_pcpu_tun_ctx @ 0x38208+0x5dfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -The stack size is invalid -Kernel: -0000005e00000160: nft_pcpu_tun_ctx @ 0x38208+0x5dfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000005e00000160: nft_pcpu_tun_ctx @ 0x38208+0x5dfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000037: -Userspace: -The stack size is invalid -Kernel: -0000005e00000160: nft_pcpu_tun_ctx @ 0x38208+0x5dfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000037: -0000005e00000160: nft_pcpu_tun_ctx @ 0x38208+0x5dfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000121: -Userspace: -0000005e00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000037: -0000005e00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000121: -0000005e00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000658: -0000005e00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000037: -The stack size is invalid -Kernel: -0000005e00000160: nft_pcpu_tun_ctx @ 0x38208+0x5dfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000121: -0000005e00000160: nft_pcpu_tun_ctx @ 0x38208+0x5dfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000658: -Userspace: -The stack size is invalid -Kernel: -0000005e00000160: nft_pcpu_tun_ctx @ 0x38208+0x5dfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000658: -0000005e00000160: nft_pcpu_tun_ctx @ 0x38208+0x5dfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000037: -Userspace: -0000005e00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000658: -The stack size is invalid -Kernel: -0000005e00000160: nft_pcpu_tun_ctx @ 0x38208+0x5dfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000037: -0000005e00000160: nft_pcpu_tun_ctx @ 0x38208+0x5dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000088: -Userspace: -0000005e00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000037: -0000005e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000088: -0000005e00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000121: -0000005e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000088: -0000005e00000160: -6572747300002435: -000000676e2d7373: -The stack size is invalid -Kernel: -0000005e00000160: nft_pcpu_tun_ctx @ 0x38208+0x5dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000088: -0000005e00000160: nft_pcpu_tun_ctx @ 0x38208+0x5dfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000121: -Userspace: -The stack size is invalid -Kernel: -0000005e00000160: nft_pcpu_tun_ctx @ 0x38208+0x5dfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000121: -0000005e00000160: nft_pcpu_tun_ctx @ 0x38208+0x5dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000088: -Userspace: -The stack size is invalid -Kernel: -0000005e00000160: nft_pcpu_tun_ctx @ 0x38208+0x5dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000088: -0000005e00000160: nft_pcpu_tun_ctx @ 0x38208+0x5dfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -Userspace: -0000005e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000088: -The stack size is invalid -Kernel: -0000005e00000160: nft_pcpu_tun_ctx @ 0x38208+0x5dfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -0000005e00000160: nft_pcpu_tun_ctx @ 0x38208+0x5dfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000658: -Userspace: -The stack size is invalid -Kernel: -0000005e00000160: nft_pcpu_tun_ctx @ 0x38208+0x5dfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000658: -0000005f00000160: nft_pcpu_tun_ctx @ 0x38208+0x5efffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -Userspace: -0000005e00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000658: -The stack size is invalid -Kernel: -0000005f00000160: nft_pcpu_tun_ctx @ 0x38208+0x5efffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -0000005f00000160: nft_pcpu_tun_ctx @ 0x38208+0x5efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000088: -Userspace: -0000005f00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000166: -0000005f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000088: -0000005f00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000166: -0000005f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000088: -0000005f00000160: -6572747300002438: -000000676e2d7373: -The stack size is invalid -Kernel: -0000005f00000160: nft_pcpu_tun_ctx @ 0x38208+0x5efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000088: -0000005f00000160: nft_pcpu_tun_ctx @ 0x38208+0x5efffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -Userspace: -0000005f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000088: -The stack size is invalid -Kernel: -0000005f00000160: nft_pcpu_tun_ctx @ 0x38208+0x5efffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -0000005f00000160: nft_pcpu_tun_ctx @ 0x38208+0x5efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000088: -Userspace: -The stack size is invalid -Kernel: -0000005f00000160: nft_pcpu_tun_ctx @ 0x38208+0x5efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000088: -0000005f00000160: nft_pcpu_tun_ctx @ 0x38208+0x5efffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000121: -Userspace: -0000005f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000088: -The stack size is invalid -Kernel: -0000005f00000160: nft_pcpu_tun_ctx @ 0x38208+0x5efffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000121: -0000005f00000160: nft_pcpu_tun_ctx @ 0x38208+0x5efffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -The stack size is invalid -Kernel: -0000005f00000160: nft_pcpu_tun_ctx @ 0x38208+0x5efffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000005f00000160: nft_pcpu_tun_ctx @ 0x38208+0x5efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000088: -Userspace: -0000005f00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000005f00000160: nft_pcpu_tun_ctx @ 0x38208+0x5efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000088: -0000005f00000160: nft_pcpu_tun_ctx @ 0x38208+0x5efffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -Userspace: -0000005f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000088: -0000005f00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000166: -0000005f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000088: -0000005f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000088: -The stack size is invalid -Kernel: -0000005f00000160: nft_pcpu_tun_ctx @ 0x38208+0x5efffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -0000005f00000160: nft_pcpu_tun_ctx @ 0x38208+0x5efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000088: -Userspace: -The stack size is invalid -Kernel: -0000005f00000160: nft_pcpu_tun_ctx @ 0x38208+0x5efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000088: -0000005f00000160: nft_pcpu_tun_ctx @ 0x38208+0x5efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000088: -Userspace: -0000005f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000088: -The stack size is invalid -Kernel: -0000005f00000160: nft_pcpu_tun_ctx @ 0x38208+0x5efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000088: -0000005f00000160: nft_pcpu_tun_ctx @ 0x38208+0x5efffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000121: -Userspace: -The stack size is invalid -Kernel: -0000005f00000160: nft_pcpu_tun_ctx @ 0x38208+0x5efffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000121: -0000005f00000160: nft_pcpu_tun_ctx @ 0x38208+0x5efffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000037: -Userspace: -The stack size is invalid -Kernel: -0000005f00000160: nft_pcpu_tun_ctx @ 0x38208+0x5efffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000037: -0000006000000160: nft_pcpu_tun_ctx @ 0x38208+0x5ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000088: -Userspace: -0000005f00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000037: -The stack size is invalid -Kernel: -0000006000000160: nft_pcpu_tun_ctx @ 0x38208+0x5ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000088: -0000006000000160: nft_pcpu_tun_ctx @ 0x38208+0x5ffffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000121: -Userspace: -The stack size is invalid -Kernel: -0000006000000160: nft_pcpu_tun_ctx @ 0x38208+0x5ffffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000121: -0000006000000160: nft_pcpu_tun_ctx @ 0x38208+0x5ffffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000658: -Userspace: -The stack size is invalid -Kernel: -0000006000000160: nft_pcpu_tun_ctx @ 0x38208+0x5ffffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000658: -0000006000000160: nft_pcpu_tun_ctx @ 0x38208+0x5ffffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -Userspace: -0000006000000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000658: -The stack size is invalid -Kernel: -0000006000000160: nft_pcpu_tun_ctx @ 0x38208+0x5ffffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000166: -0000006000000160: nft_pcpu_tun_ctx @ 0x38208+0x5ffffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006000000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000166: -0000006000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000088: -0000006000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006000000160: -6572747300002439: -000000676e2d7373: -The stack size is invalid -Kernel: -0000006000000160: nft_pcpu_tun_ctx @ 0x38208+0x5ffffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006000000160: nft_pcpu_tun_ctx @ 0x38208+0x5ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000088: -Userspace: -0000006000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006000000160: nft_pcpu_tun_ctx @ 0x38208+0x5ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000088: -0000006000000160: nft_pcpu_tun_ctx @ 0x38208+0x5ffffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000088: -0000006000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000088: -0000006000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006000000160: nft_pcpu_tun_ctx @ 0x38208+0x5ffffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006000000160: nft_pcpu_tun_ctx @ 0x38208+0x5ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000088: -Userspace: -The stack size is invalid -Kernel: -0000006000000160: nft_pcpu_tun_ctx @ 0x38208+0x5ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000088: -0000006000000160: nft_pcpu_tun_ctx @ 0x38208+0x5ffffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000088: -0000006000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000088: -The stack size is invalid -Kernel: -0000006000000160: nft_pcpu_tun_ctx @ 0x38208+0x5ffffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006000000160: nft_pcpu_tun_ctx @ 0x38208+0x5ffffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -The stack size is invalid -Kernel: -0000006000000160: nft_pcpu_tun_ctx @ 0x38208+0x5ffffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006000000160: nft_pcpu_tun_ctx @ 0x38208+0x5ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000088: -Userspace: -0000006000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000088: -0000006100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000088: -0000006100000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000121: -The stack size is invalid -Kernel: -0000006000000160: nft_pcpu_tun_ctx @ 0x38208+0x5ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000088: -0000006100000160: nft_pcpu_tun_ctx @ 0x38208+0x60fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000088: -Userspace: -0000006000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000088: -0000006100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000088: -0000006100000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000121: -0000006100000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000658: -The stack size is invalid -Kernel: -0000006100000160: nft_pcpu_tun_ctx @ 0x38208+0x60fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000088: -0000006100000160: nft_pcpu_tun_ctx @ 0x38208+0x60fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000121: -Userspace: -The stack size is invalid -Kernel: -0000006100000160: nft_pcpu_tun_ctx @ 0x38208+0x60fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000121: -0000006100000160: nft_pcpu_tun_ctx @ 0x38208+0x60fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000658: -Userspace: -The stack size is invalid -Kernel: -0000006100000160: nft_pcpu_tun_ctx @ 0x38208+0x60fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000658: -Userspace: -0000006100000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000658: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000006100000160: nft_pcpu_tun_ctx @ 0x38208+0x60fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000572: -0000006100000160: nft_pcpu_tun_ctx @ 0x38208+0x60fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006100000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -0000006100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006100000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006100000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -The stack size is invalid -Kernel: -0000006100000160: nft_pcpu_tun_ctx @ 0x38208+0x60fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006100000160: nft_pcpu_tun_ctx @ 0x38208+0x60fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006100000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006100000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -0000006100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006100000160: nft_pcpu_tun_ctx @ 0x38208+0x60fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006100000160: nft_pcpu_tun_ctx @ 0x38208+0x60fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000572: -Userspace: -0000006100000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006100000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -0000006100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006100000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000559: -The stack size is invalid -Kernel: -0000006100000160: nft_pcpu_tun_ctx @ 0x38208+0x60fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000572: -0000006100000160: nft_pcpu_tun_ctx @ 0x38208+0x60fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006100000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -0000006100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006100000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000559: -0000006100000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004f3: -The stack size is invalid -Kernel: -0000006100000160: nft_pcpu_tun_ctx @ 0x38208+0x60fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006100000160: nft_pcpu_tun_ctx @ 0x38208+0x60fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000559: -Userspace: -0000006100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006100000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000559: -0000006100000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004f3: -0000006200000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -The stack size is invalid -Kernel: -0000006100000160: nft_pcpu_tun_ctx @ 0x38208+0x60fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000559: -0000006100000160: nft_pcpu_tun_ctx @ 0x38208+0x60fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004f3: -Userspace: -0000006100000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000559: -0000006100000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004f3: -0000006200000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -0000006200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006100000160: nft_pcpu_tun_ctx @ 0x38208+0x60fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004f3: -0000006200000160: nft_pcpu_tun_ctx @ 0x38208+0x61fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000572: -Userspace: -0000006100000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004f3: -0000006200000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -0000006200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006200000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000559: -The stack size is invalid -Kernel: -0000006200000160: nft_pcpu_tun_ctx @ 0x38208+0x61fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000572: -0000006200000160: nft_pcpu_tun_ctx @ 0x38208+0x61fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006200000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -0000006200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006200000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000559: -0000006200000160: -657274730000243a: -000000676e2d7373: -The stack size is invalid -Kernel: -0000006200000160: nft_pcpu_tun_ctx @ 0x38208+0x61fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006200000160: nft_pcpu_tun_ctx @ 0x38208+0x61fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000559: -Userspace: -0000006200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006200000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000559: -0000006200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004f3: -0000006200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006200000160: nft_pcpu_tun_ctx @ 0x38208+0x61fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000559: -0000006200000160: nft_pcpu_tun_ctx @ 0x38208+0x61fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004f3: -Userspace: -0000006200000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000559: -0000006200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004f3: -0000006200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006200000160: nft_pcpu_tun_ctx @ 0x38208+0x61fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004f3: -0000006200000160: nft_pcpu_tun_ctx @ 0x38208+0x61fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004f3: -0000006200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004f3: -The stack size is invalid -Kernel: -0000006200000160: nft_pcpu_tun_ctx @ 0x38208+0x61fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006200000160: nft_pcpu_tun_ctx @ 0x38208+0x61fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004f3: -0000006200000160: -6572747300002437: -000000676e2d7373: -The stack size is invalid -Kernel: -0000006200000160: nft_pcpu_tun_ctx @ 0x38208+0x61fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006200000160: nft_pcpu_tun_ctx @ 0x38208+0x61fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004f3: -Userspace: -0000006200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004f3: -0000006200000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006200000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000559: -The stack size is invalid -Kernel: -0000006200000160: nft_pcpu_tun_ctx @ 0x38208+0x61fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004f3: -0000006200000160: nft_pcpu_tun_ctx @ 0x38208+0x61fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004f3: -0000006200000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006200000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000559: -0000006200000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000067b: -The stack size is invalid -Kernel: -0000006200000160: nft_pcpu_tun_ctx @ 0x38208+0x61fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006200000160: nft_pcpu_tun_ctx @ 0x38208+0x61fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000559: -Userspace: -0000006200000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006200000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000559: -0000006200000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000067b: -0000006200000160: -6572747300002437: -000000676e2d7373: -The stack size is invalid -Kernel: -0000006200000160: nft_pcpu_tun_ctx @ 0x38208+0x61fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000559: -0000006200000160: nft_pcpu_tun_ctx @ 0x38208+0x61fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000067b: -Userspace: -0000006200000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000559: -0000006200000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000067b: -0000006200000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006200000160: nft_pcpu_tun_ctx @ 0x38208+0x61fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000067b: -0000006200000160: nft_pcpu_tun_ctx @ 0x38208+0x61fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006200000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000067b: -0000006200000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006300000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000559: -The stack size is invalid -Kernel: -0000006200000160: nft_pcpu_tun_ctx @ 0x38208+0x61fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006200000160: nft_pcpu_tun_ctx @ 0x38208+0x61fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006200000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006300000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000559: -0000006300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -The stack size is invalid -Kernel: -0000006200000160: nft_pcpu_tun_ctx @ 0x38208+0x61fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006300000160: nft_pcpu_tun_ctx @ 0x38208+0x62fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000559: -Userspace: -0000006200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006300000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000559: -0000006300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -The stack size is invalid -Kernel: -0000006300000160: nft_pcpu_tun_ctx @ 0x38208+0x62fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000559: -0000006300000160: nft_pcpu_tun_ctx @ 0x38208+0x62fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006300000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000559: -0000006300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -0000006300000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000067b: -The stack size is invalid -Kernel: -0000006300000160: nft_pcpu_tun_ctx @ 0x38208+0x62fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006300000160: nft_pcpu_tun_ctx @ 0x38208+0x62fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000572: -Userspace: -0000006300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -0000006300000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000067b: -0000006300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -The stack size is invalid -Kernel: -0000006300000160: nft_pcpu_tun_ctx @ 0x38208+0x62fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000572: -0000006300000160: nft_pcpu_tun_ctx @ 0x38208+0x62fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000067b: -Userspace: -0000006300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -0000006300000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000067b: -0000006300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -0000006300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006300000160: nft_pcpu_tun_ctx @ 0x38208+0x62fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000067b: -0000006300000160: nft_pcpu_tun_ctx @ 0x38208+0x62fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000572: -Userspace: -0000006300000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000067b: -0000006300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -0000006300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -The stack size is invalid -Kernel: -0000006300000160: nft_pcpu_tun_ctx @ 0x38208+0x62fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000572: -0000006300000160: nft_pcpu_tun_ctx @ 0x38208+0x62fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -0000006300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -0000006300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006300000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000559: -The stack size is invalid -Kernel: -0000006300000160: nft_pcpu_tun_ctx @ 0x38208+0x62fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006300000160: nft_pcpu_tun_ctx @ 0x38208+0x62fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000572: -Userspace: -0000006300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -0000006300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006300000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000559: -The stack size is invalid -Kernel: -0000006300000160: nft_pcpu_tun_ctx @ 0x38208+0x62fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000572: -0000006300000160: nft_pcpu_tun_ctx @ 0x38208+0x62fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -0000006300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006300000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000559: -0000006300000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -000000000000047d: -The stack size is invalid -Kernel: -0000006300000160: nft_pcpu_tun_ctx @ 0x38208+0x62fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006300000160: nft_pcpu_tun_ctx @ 0x38208+0x62fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000559: -Userspace: -0000006300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006300000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000559: -0000006300000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -000000000000047d: -0000006300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006300000160: nft_pcpu_tun_ctx @ 0x38208+0x62fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000559: -0000006300000160: nft_pcpu_tun_ctx @ 0x38208+0x62fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000047d: -Userspace: -0000006300000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000559: -0000006300000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -000000000000047d: -0000006300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -The stack size is invalid -Kernel: -0000006300000160: nft_pcpu_tun_ctx @ 0x38208+0x62fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000047d: -0000006300000160: nft_pcpu_tun_ctx @ 0x38208+0x62fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006300000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -000000000000047d: -0000006300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -0000006400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006300000160: nft_pcpu_tun_ctx @ 0x38208+0x62fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006400000160: nft_pcpu_tun_ctx @ 0x38208+0x63fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000572: -Userspace: -0000006300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -0000006400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006400000160: nft_pcpu_tun_ctx @ 0x38208+0x63fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000572: -0000006400000160: nft_pcpu_tun_ctx @ 0x38208+0x63fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -0000006400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006400000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000559: -The stack size is invalid -Kernel: -0000006400000160: nft_pcpu_tun_ctx @ 0x38208+0x63fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006400000160: nft_pcpu_tun_ctx @ 0x38208+0x63fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006400000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000559: -0000006400000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006400000160: nft_pcpu_tun_ctx @ 0x38208+0x63fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006400000160: nft_pcpu_tun_ctx @ 0x38208+0x63fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000559: -Userspace: -0000006400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006400000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000559: -0000006400000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006400000160: nft_pcpu_tun_ctx @ 0x38208+0x63fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000559: -0000006400000160: nft_pcpu_tun_ctx @ 0x38208+0x63fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006400000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000559: -0000006400000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006400000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000559: -The stack size is invalid -Kernel: -0000006400000160: nft_pcpu_tun_ctx @ 0x38208+0x63fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006400000160: nft_pcpu_tun_ctx @ 0x38208+0x63fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006400000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006400000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000559: -0000006400000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000067b: -The stack size is invalid -Kernel: -0000006400000160: nft_pcpu_tun_ctx @ 0x38208+0x63fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006400000160: nft_pcpu_tun_ctx @ 0x38208+0x63fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000559: -Userspace: -0000006400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006400000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000559: -0000006400000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000067b: -0000006400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -The stack size is invalid -Kernel: -0000006400000160: nft_pcpu_tun_ctx @ 0x38208+0x63fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000559: -0000006400000160: nft_pcpu_tun_ctx @ 0x38208+0x63fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000067b: -Userspace: -0000006400000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000559: -0000006400000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000067b: -0000006400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -0000006400000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004f3: -The stack size is invalid -Kernel: -0000006400000160: nft_pcpu_tun_ctx @ 0x38208+0x63fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000067b: -0000006400000160: nft_pcpu_tun_ctx @ 0x38208+0x63fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000572: -Userspace: -0000006400000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000067b: -0000006400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -0000006400000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004f3: -0000006400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006400000160: nft_pcpu_tun_ctx @ 0x38208+0x63fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000572: -0000006400000160: nft_pcpu_tun_ctx @ 0x38208+0x63fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004f3: -Userspace: -0000006400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -0000006400000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004f3: -0000006400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006400000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004f3: -0000006500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006400000160: nft_pcpu_tun_ctx @ 0x38208+0x63fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004f3: -0000006400000160: nft_pcpu_tun_ctx @ 0x38208+0x63fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006400000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004f3: -0000006400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006400000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004f3: -0000006500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006400000160: nft_pcpu_tun_ctx @ 0x38208+0x63fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006400000160: nft_pcpu_tun_ctx @ 0x38208+0x63fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004f3: -Userspace: -0000006400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006400000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004f3: -0000006500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006500000160: -657274730000243a: -000000676e2d7373: -The stack size is invalid -Kernel: -0000006400000160: nft_pcpu_tun_ctx @ 0x38208+0x63fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004f3: -0000006500000160: nft_pcpu_tun_ctx @ 0x38208+0x64fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006400000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004f3: -0000006500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006500000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004f3: -0000006500000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004f3: -The stack size is invalid -Kernel: -0000006500000160: nft_pcpu_tun_ctx @ 0x38208+0x64fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006500000160: nft_pcpu_tun_ctx @ 0x38208+0x64fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004f3: -Userspace: -0000006500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006500000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004f3: -0000006500000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004f3: -0000006500000160: -6572747300002439: -000000676e2d7373: -The stack size is invalid -Kernel: -0000006500000160: nft_pcpu_tun_ctx @ 0x38208+0x64fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004f3: -0000006500000160: nft_pcpu_tun_ctx @ 0x38208+0x64fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004f3: -Userspace: -0000006500000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004f3: -0000006500000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004f3: -0000006500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006500000160: nft_pcpu_tun_ctx @ 0x38208+0x64fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004f3: -0000006500000160: nft_pcpu_tun_ctx @ 0x38208+0x64fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006500000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004f3: -0000006500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006500000160: -6572747300002438: -000000676e2d7373: -The stack size is invalid -Kernel: -0000006500000160: nft_pcpu_tun_ctx @ 0x38208+0x64fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006500000160: nft_pcpu_tun_ctx @ 0x38208+0x64fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006500000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000559: -0000006500000160: -6572747300002434: -000000676e2d7373: -The stack size is invalid -Kernel: -0000006500000160: nft_pcpu_tun_ctx @ 0x38208+0x64fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006500000160: nft_pcpu_tun_ctx @ 0x38208+0x64fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000559: -Userspace: -0000006500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006500000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000559: -0000006500000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000067b: -The stack size is invalid -Kernel: -0000006500000160: nft_pcpu_tun_ctx @ 0x38208+0x64fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000559: -0000006500000160: nft_pcpu_tun_ctx @ 0x38208+0x64fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000067b: -Userspace: -0000006500000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000559: -0000006500000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000067b: -The stack size is invalid -Kernel: -0000006500000160: nft_pcpu_tun_ctx @ 0x38208+0x64fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000067b: -Userspace: -0000006500000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000067b: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000006500000160: nft_pcpu_tun_ctx @ 0x38208+0x64fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000572: -0000006500000160: nft_pcpu_tun_ctx @ 0x38208+0x64fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a2: -Userspace: -0000006500000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -0000006500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -0000006500000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006500000160: nft_pcpu_tun_ctx @ 0x38208+0x64fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a2: -0000006500000160: nft_pcpu_tun_ctx @ 0x38208+0x64fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -0000006500000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006600000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -0000006600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -The stack size is invalid -Kernel: -0000006500000160: nft_pcpu_tun_ctx @ 0x38208+0x64fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006600000160: nft_pcpu_tun_ctx @ 0x38208+0x65fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000572: -Userspace: -0000006500000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006600000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -0000006600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -The stack size is invalid -Kernel: -0000006600000160: nft_pcpu_tun_ctx @ 0x38208+0x65fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000572: -0000006600000160: nft_pcpu_tun_ctx @ 0x38208+0x65fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a2: -Userspace: -0000006600000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -0000006600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -0000006600000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000006600000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004f3: -The stack size is invalid -Kernel: -0000006600000160: nft_pcpu_tun_ctx @ 0x38208+0x65fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a2: -0000006600000160: nft_pcpu_tun_ctx @ 0x38208+0x65fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -Userspace: -0000006600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -0000006600000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000006600000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004f3: -0000006600000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -The stack size is invalid -Kernel: -0000006600000160: nft_pcpu_tun_ctx @ 0x38208+0x65fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -0000006600000160: nft_pcpu_tun_ctx @ 0x38208+0x65fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004f3: -Userspace: -0000006600000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000006600000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004f3: -0000006600000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -The stack size is invalid -Kernel: -0000006600000160: nft_pcpu_tun_ctx @ 0x38208+0x65fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004f3: -0000006600000160: nft_pcpu_tun_ctx @ 0x38208+0x65fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000572: -Userspace: -The stack size is invalid -Kernel: -0000006600000160: nft_pcpu_tun_ctx @ 0x38208+0x65fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000572: -0000006600000160: nft_pcpu_tun_ctx @ 0x38208+0x65fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a2: -Userspace: -0000006600000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -0000006600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -0000006600000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000006600000160: -657274730000243a: -000000676e2d7373: -The stack size is invalid -Kernel: -0000006600000160: nft_pcpu_tun_ctx @ 0x38208+0x65fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a2: -0000006600000160: nft_pcpu_tun_ctx @ 0x38208+0x65fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -Userspace: -0000006600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -0000006600000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000006600000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004f3: -0000006600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -The stack size is invalid -Kernel: -0000006600000160: nft_pcpu_tun_ctx @ 0x38208+0x65fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -0000006600000160: nft_pcpu_tun_ctx @ 0x38208+0x65fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004f3: -Userspace: -0000006600000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000006600000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004f3: -0000006600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -The stack size is invalid -Kernel: -0000006600000160: nft_pcpu_tun_ctx @ 0x38208+0x65fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004f3: -0000006600000160: nft_pcpu_tun_ctx @ 0x38208+0x65fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a2: -Userspace: -The stack size is invalid -Kernel: -0000006600000160: nft_pcpu_tun_ctx @ 0x38208+0x65fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a2: -0000006600000160: nft_pcpu_tun_ctx @ 0x38208+0x65fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a2: -Userspace: -0000006600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -0000006600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -0000006600000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004f3: -0000006700000160: -6572747300002437: -000000676e2d7373: -The stack size is invalid -Kernel: -0000006600000160: nft_pcpu_tun_ctx @ 0x38208+0x65fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a2: -0000006600000160: nft_pcpu_tun_ctx @ 0x38208+0x65fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004f3: -Userspace: -0000006600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -0000006600000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004f3: -0000006700000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006600000160: nft_pcpu_tun_ctx @ 0x38208+0x65fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004f3: -0000006700000160: nft_pcpu_tun_ctx @ 0x38208+0x66fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006600000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004f3: -0000006700000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006700000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000010: -The stack size is invalid -Kernel: -0000006700000160: nft_pcpu_tun_ctx @ 0x38208+0x66fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006700000160: nft_pcpu_tun_ctx @ 0x38208+0x66fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -Userspace: -0000006700000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006700000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000006700000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000067b: -0000006700000160: -6572747300002437: -000000676e2d7373: -The stack size is invalid -Kernel: -0000006700000160: nft_pcpu_tun_ctx @ 0x38208+0x66fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -0000006700000160: nft_pcpu_tun_ctx @ 0x38208+0x66fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000067b: -Userspace: -0000006700000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000006700000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000067b: -0000006700000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -The stack size is invalid -Kernel: -0000006700000160: nft_pcpu_tun_ctx @ 0x38208+0x66fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000067b: -0000006700000160: nft_pcpu_tun_ctx @ 0x38208+0x66fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -The stack size is invalid -Kernel: -0000006700000160: nft_pcpu_tun_ctx @ 0x38208+0x66fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006700000160: nft_pcpu_tun_ctx @ 0x38208+0x66fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a2: -Userspace: -0000006700000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -0000006700000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000006700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -0000006700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -The stack size is invalid -Kernel: -0000006700000160: nft_pcpu_tun_ctx @ 0x38208+0x66fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a2: -0000006700000160: nft_pcpu_tun_ctx @ 0x38208+0x66fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -Userspace: -0000006700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -0000006700000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000006700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -0000006700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -The stack size is invalid -Kernel: -0000006700000160: nft_pcpu_tun_ctx @ 0x38208+0x66fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -0000006700000160: nft_pcpu_tun_ctx @ 0x38208+0x66fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a2: -Userspace: -0000006700000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000006700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -0000006700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -The stack size is invalid -Kernel: -0000006700000160: nft_pcpu_tun_ctx @ 0x38208+0x66fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a2: -0000006700000160: nft_pcpu_tun_ctx @ 0x38208+0x66fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000572: -Userspace: -The stack size is invalid -Kernel: -0000006700000160: nft_pcpu_tun_ctx @ 0x38208+0x66fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000572: -0000006700000160: nft_pcpu_tun_ctx @ 0x38208+0x66fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000067b: -Userspace: -0000006700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -0000006700000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000067b: -0000006700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -The stack size is invalid -Kernel: -0000006700000160: nft_pcpu_tun_ctx @ 0x38208+0x66fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000067b: -0000006700000160: nft_pcpu_tun_ctx @ 0x38208+0x66fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000572: -Userspace: -0000006700000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000067b: -0000006700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -0000006700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -0000006700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -The stack size is invalid -Kernel: -0000006700000160: nft_pcpu_tun_ctx @ 0x38208+0x66fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000572: -0000006700000160: nft_pcpu_tun_ctx @ 0x38208+0x66fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a2: -Userspace: -0000006700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -0000006700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -0000006700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -0000006800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -0000006800000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000010: -The stack size is invalid -Kernel: -0000006700000160: nft_pcpu_tun_ctx @ 0x38208+0x66fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a2: -0000006700000160: nft_pcpu_tun_ctx @ 0x38208+0x66fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000572: -Userspace: -0000006700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -0000006700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -0000006800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -0000006800000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000010: -The stack size is invalid -Kernel: -0000006700000160: nft_pcpu_tun_ctx @ 0x38208+0x66fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000572: -0000006800000160: nft_pcpu_tun_ctx @ 0x38208+0x67fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a2: -Userspace: -0000006700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -0000006800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -0000006800000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000010: -The stack size is invalid -Kernel: -0000006800000160: nft_pcpu_tun_ctx @ 0x38208+0x67fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a2: -0000006800000160: nft_pcpu_tun_ctx @ 0x38208+0x67fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -Userspace: -0000006800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -0000006800000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000006800000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -The stack size is invalid -Kernel: -0000006800000160: nft_pcpu_tun_ctx @ 0x38208+0x67fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -0000006800000160: nft_pcpu_tun_ctx @ 0x38208+0x67fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006800000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000006800000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -The stack size is invalid -Kernel: -0000006800000160: nft_pcpu_tun_ctx @ 0x38208+0x67fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006800000160: nft_pcpu_tun_ctx @ 0x38208+0x67fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a2: -Userspace: -The stack size is invalid -Kernel: -0000006800000160: nft_pcpu_tun_ctx @ 0x38208+0x67fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a2: -0000006800000160: nft_pcpu_tun_ctx @ 0x38208+0x67fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000572: -Userspace: -0000006800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -0000006800000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -0000006800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -0000006800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -The stack size is invalid -Kernel: -0000006800000160: nft_pcpu_tun_ctx @ 0x38208+0x67fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000572: -0000006800000160: nft_pcpu_tun_ctx @ 0x38208+0x67fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a2: -Userspace: -0000006800000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -0000006800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -0000006800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -The stack size is invalid -Kernel: -0000006800000160: nft_pcpu_tun_ctx @ 0x38208+0x67fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a2: -0000006800000160: nft_pcpu_tun_ctx @ 0x38208+0x67fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a2: -Userspace: -0000006800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -0000006800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -0000006800000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000006800000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006800000160: nft_pcpu_tun_ctx @ 0x38208+0x67fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a2: -0000006800000160: nft_pcpu_tun_ctx @ 0x38208+0x67fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -Userspace: -0000006800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -0000006800000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000006800000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006800000160: nft_pcpu_tun_ctx @ 0x38208+0x67fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -0000006800000160: nft_pcpu_tun_ctx @ 0x38208+0x67fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006800000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000006800000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -The stack size is invalid -Kernel: -0000006800000160: nft_pcpu_tun_ctx @ 0x38208+0x67fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006800000160: nft_pcpu_tun_ctx @ 0x38208+0x67fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a2: -Userspace: -The stack size is invalid -Kernel: -0000006800000160: nft_pcpu_tun_ctx @ 0x38208+0x67fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a2: -0000006800000160: nft_pcpu_tun_ctx @ 0x38208+0x67fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -Userspace: -0000006800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -0000006800000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000006900000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000067b: -0000006900000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -The stack size is invalid -Kernel: -0000006800000160: nft_pcpu_tun_ctx @ 0x38208+0x67fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -0000006900000160: nft_pcpu_tun_ctx @ 0x38208+0x68fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000067b: -Userspace: -0000006800000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000006900000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000067b: -0000006900000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -The stack size is invalid -Kernel: -0000006900000160: nft_pcpu_tun_ctx @ 0x38208+0x68fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000067b: -0000006900000160: nft_pcpu_tun_ctx @ 0x38208+0x68fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000572: -Userspace: -The stack size is invalid -Kernel: -0000006900000160: nft_pcpu_tun_ctx @ 0x38208+0x68fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000572: -0000006900000160: nft_pcpu_tun_ctx @ 0x38208+0x68fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004f3: -Userspace: -0000006900000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000572: -0000006900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004f3: -0000006900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -0000006900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004f3: -0000006900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -The stack size is invalid -Kernel: -0000006900000160: nft_pcpu_tun_ctx @ 0x38208+0x68fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004f3: -0000006900000160: nft_pcpu_tun_ctx @ 0x38208+0x68fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a2: -Userspace: -0000006900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004f3: -0000006900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -0000006900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004f3: -0000006900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -The stack size is invalid -Kernel: -0000006900000160: nft_pcpu_tun_ctx @ 0x38208+0x68fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a2: -0000006900000160: nft_pcpu_tun_ctx @ 0x38208+0x68fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004f3: -Userspace: -0000006900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -0000006900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004f3: -0000006900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -0000006900000160: -657274730000243a: -000000676e2d7373: -The stack size is invalid -Kernel: -0000006900000160: nft_pcpu_tun_ctx @ 0x38208+0x68fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004f3: -0000006900000160: nft_pcpu_tun_ctx @ 0x38208+0x68fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a2: -Userspace: -0000006900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004f3: -0000006900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -0000006900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004f3: -The stack size is invalid -Kernel: -0000006900000160: nft_pcpu_tun_ctx @ 0x38208+0x68fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a2: -0000006900000160: nft_pcpu_tun_ctx @ 0x38208+0x68fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004f3: -Userspace: -0000006900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -0000006900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004f3: -0000006900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004f3: -0000006900000160: -6572747300002439: -000000676e2d7373: -The stack size is invalid -Kernel: -0000006900000160: nft_pcpu_tun_ctx @ 0x38208+0x68fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004f3: -0000006900000160: nft_pcpu_tun_ctx @ 0x38208+0x68fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004f3: -Userspace: -0000006900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004f3: -0000006900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004f3: -0000006900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -The stack size is invalid -Kernel: -0000006900000160: nft_pcpu_tun_ctx @ 0x38208+0x68fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004f3: -0000006900000160: nft_pcpu_tun_ctx @ 0x38208+0x68fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a2: -Userspace: -0000006900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000004f3: -0000006900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -0000006900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -0000006900000160: -6572747300002438: -000000676e2d7373: -The stack size is invalid -Kernel: -0000006900000160: nft_pcpu_tun_ctx @ 0x38208+0x68fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a2: -0000006900000160: nft_pcpu_tun_ctx @ 0x38208+0x68fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a2: -Userspace: -0000006900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -0000006900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -0000006900000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000006a00000160: -6572747300002434: -000000676e2d7373: -The stack size is invalid -Kernel: -0000006900000160: nft_pcpu_tun_ctx @ 0x38208+0x68fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003a2: -0000006900000160: nft_pcpu_tun_ctx @ 0x38208+0x68fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -Userspace: -0000006900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000003a2: -0000006900000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000006a00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000067b: -The stack size is invalid -Kernel: -0000006900000160: nft_pcpu_tun_ctx @ 0x38208+0x68fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000010: -0000006a00000160: nft_pcpu_tun_ctx @ 0x38208+0x69fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000067b: -Userspace: -0000006900000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000010: -0000006a00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000067b: -The stack size is invalid -Kernel: -0000006a00000160: nft_pcpu_tun_ctx @ 0x38208+0x69fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000067b: -Userspace: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000006a00000160: nft_pcpu_tun_ctx @ 0x38208+0x69fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006a00000160: nft_pcpu_tun_ctx @ 0x38208+0x69fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f7: -Userspace: -0000006a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006a00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000005f7: -0000006a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006a00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -The stack size is invalid -Kernel: -0000006a00000160: nft_pcpu_tun_ctx @ 0x38208+0x69fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f7: -0000006a00000160: nft_pcpu_tun_ctx @ 0x38208+0x69fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006a00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000005f7: -0000006a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006a00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000006a00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000348: -The stack size is invalid -Kernel: -0000006a00000160: nft_pcpu_tun_ctx @ 0x38208+0x69fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006a00000160: nft_pcpu_tun_ctx @ 0x38208+0x69fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -Userspace: -0000006a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006a00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000006a00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000348: -0000006a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006a00000160: nft_pcpu_tun_ctx @ 0x38208+0x69fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -0000006a00000160: nft_pcpu_tun_ctx @ 0x38208+0x69fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000348: -Userspace: -0000006a00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000006a00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000348: -0000006a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006a00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -The stack size is invalid -Kernel: -0000006a00000160: nft_pcpu_tun_ctx @ 0x38208+0x69fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000348: -0000006a00000160: nft_pcpu_tun_ctx @ 0x38208+0x69fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006a00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000348: -0000006a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006a00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -The stack size is invalid -Kernel: -0000006a00000160: nft_pcpu_tun_ctx @ 0x38208+0x69fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006a00000160: nft_pcpu_tun_ctx @ 0x38208+0x69fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -Userspace: -0000006a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006a00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -The stack size is invalid -Kernel: -0000006a00000160: nft_pcpu_tun_ctx @ 0x38208+0x69fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -0000006a00000160: nft_pcpu_tun_ctx @ 0x38208+0x69fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000348: -Userspace: -0000006a00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000006a00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000348: -0000006a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006a00000160: nft_pcpu_tun_ctx @ 0x38208+0x69fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000348: -0000006a00000160: nft_pcpu_tun_ctx @ 0x38208+0x69fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006a00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000348: -0000006a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006a00000160: nft_pcpu_tun_ctx @ 0x38208+0x69fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006a00000160: nft_pcpu_tun_ctx @ 0x38208+0x69fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006a00000160: nft_pcpu_tun_ctx @ 0x38208+0x69fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006b00000160: nft_pcpu_tun_ctx @ 0x38208+0x6afffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000348: -Userspace: -0000006a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006b00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000348: -0000006b00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000005f7: -0000006b00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -The stack size is invalid -Kernel: -0000006b00000160: nft_pcpu_tun_ctx @ 0x38208+0x6afffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000348: -0000006b00000160: nft_pcpu_tun_ctx @ 0x38208+0x6afffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f7: -Userspace: -0000006b00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000348: -0000006b00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000005f7: -0000006b00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000006b00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006b00000160: nft_pcpu_tun_ctx @ 0x38208+0x6afffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f7: -0000006b00000160: nft_pcpu_tun_ctx @ 0x38208+0x6afffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -Userspace: -0000006b00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000005f7: -0000006b00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -The stack size is invalid -Kernel: -0000006b00000160: nft_pcpu_tun_ctx @ 0x38208+0x6afffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -0000006b00000160: nft_pcpu_tun_ctx @ 0x38208+0x6afffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006b00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000006b00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006b00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000005f7: -0000006b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006b00000160: nft_pcpu_tun_ctx @ 0x38208+0x6afffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006b00000160: nft_pcpu_tun_ctx @ 0x38208+0x6afffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f7: -Userspace: -0000006b00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006b00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000005f7: -0000006b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006b00000160: nft_pcpu_tun_ctx @ 0x38208+0x6afffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f7: -0000006b00000160: nft_pcpu_tun_ctx @ 0x38208+0x6afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006b00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000005f7: -0000006b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006b00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000006b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006b00000160: nft_pcpu_tun_ctx @ 0x38208+0x6afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006b00000160: nft_pcpu_tun_ctx @ 0x38208+0x6afffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -Userspace: -0000006b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006b00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000006b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006b00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006b00000160: nft_pcpu_tun_ctx @ 0x38208+0x6afffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -0000006b00000160: nft_pcpu_tun_ctx @ 0x38208+0x6afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006b00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000006b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006b00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006b00000160: nft_pcpu_tun_ctx @ 0x38208+0x6afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006b00000160: nft_pcpu_tun_ctx @ 0x38208+0x6afffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006b00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006b00000160: nft_pcpu_tun_ctx @ 0x38208+0x6afffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006b00000160: nft_pcpu_tun_ctx @ 0x38208+0x6afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006b00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006c00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -The stack size is invalid -Kernel: -0000006b00000160: nft_pcpu_tun_ctx @ 0x38208+0x6afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006b00000160: nft_pcpu_tun_ctx @ 0x38208+0x6afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006c00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000006c00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006b00000160: nft_pcpu_tun_ctx @ 0x38208+0x6afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006c00000160: nft_pcpu_tun_ctx @ 0x38208+0x6bfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -Userspace: -0000006b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006c00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000006c00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006c00000160: nft_pcpu_tun_ctx @ 0x38208+0x6bfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -0000006c00000160: nft_pcpu_tun_ctx @ 0x38208+0x6bfffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006c00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000006c00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006c00000160: nft_pcpu_tun_ctx @ 0x38208+0x6bfffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006c00000160: nft_pcpu_tun_ctx @ 0x38208+0x6bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006c00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006c00000160: nft_pcpu_tun_ctx @ 0x38208+0x6bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006c00000160: nft_pcpu_tun_ctx @ 0x38208+0x6bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006c00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -The stack size is invalid -Kernel: -0000006c00000160: nft_pcpu_tun_ctx @ 0x38208+0x6bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006c00000160: nft_pcpu_tun_ctx @ 0x38208+0x6bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006c00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000006c00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000005f7: -The stack size is invalid -Kernel: -0000006c00000160: nft_pcpu_tun_ctx @ 0x38208+0x6bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006c00000160: nft_pcpu_tun_ctx @ 0x38208+0x6bfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -Userspace: -0000006c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006c00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000006c00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000005f7: -0000006c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006c00000160: nft_pcpu_tun_ctx @ 0x38208+0x6bfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -0000006c00000160: nft_pcpu_tun_ctx @ 0x38208+0x6bfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f7: -Userspace: -0000006c00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000006c00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000005f7: -0000006c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006c00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -The stack size is invalid -Kernel: -0000006c00000160: nft_pcpu_tun_ctx @ 0x38208+0x6bfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f7: -0000006c00000160: nft_pcpu_tun_ctx @ 0x38208+0x6bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006c00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000005f7: -0000006c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006c00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -The stack size is invalid -Kernel: -0000006c00000160: nft_pcpu_tun_ctx @ 0x38208+0x6bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006c00000160: nft_pcpu_tun_ctx @ 0x38208+0x6bfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -Userspace: -0000006c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006c00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000006c00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000348: -The stack size is invalid -Kernel: -0000006c00000160: nft_pcpu_tun_ctx @ 0x38208+0x6bfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -0000006c00000160: nft_pcpu_tun_ctx @ 0x38208+0x6bfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006c00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000006c00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000348: -0000006c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006c00000160: nft_pcpu_tun_ctx @ 0x38208+0x6bfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006c00000160: nft_pcpu_tun_ctx @ 0x38208+0x6bfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000348: -Userspace: -0000006c00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000348: -0000006c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006c00000160: nft_pcpu_tun_ctx @ 0x38208+0x6bfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000348: -0000006c00000160: nft_pcpu_tun_ctx @ 0x38208+0x6bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000348: -0000006c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006d00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000348: -0000006d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006c00000160: nft_pcpu_tun_ctx @ 0x38208+0x6bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006d00000160: nft_pcpu_tun_ctx @ 0x38208+0x6cfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000348: -Userspace: -0000006c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006d00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000348: -The stack size is invalid -Kernel: -0000006d00000160: nft_pcpu_tun_ctx @ 0x38208+0x6cfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000348: -0000006d00000160: nft_pcpu_tun_ctx @ 0x38208+0x6cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006d00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000348: -0000006d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006d00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000348: -0000006d00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000348: -The stack size is invalid -Kernel: -0000006d00000160: nft_pcpu_tun_ctx @ 0x38208+0x6cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006d00000160: nft_pcpu_tun_ctx @ 0x38208+0x6cfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000348: -Userspace: -0000006d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006d00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000348: -The stack size is invalid -Kernel: -0000006d00000160: nft_pcpu_tun_ctx @ 0x38208+0x6cfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000348: -0000006d00000160: nft_pcpu_tun_ctx @ 0x38208+0x6cfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000348: -Userspace: -0000006d00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000348: -0000006d00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000348: -0000006d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006d00000160: nft_pcpu_tun_ctx @ 0x38208+0x6cfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000348: -0000006d00000160: nft_pcpu_tun_ctx @ 0x38208+0x6cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006d00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000348: -0000006d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006d00000160: nft_pcpu_tun_ctx @ 0x38208+0x6cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006d00000160: nft_pcpu_tun_ctx @ 0x38208+0x6cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006d00000160: nft_pcpu_tun_ctx @ 0x38208+0x6cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006d00000160: nft_pcpu_tun_ctx @ 0x38208+0x6cfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -Userspace: -0000006d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006d00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000006d00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006d00000160: nft_pcpu_tun_ctx @ 0x38208+0x6cfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -0000006d00000160: nft_pcpu_tun_ctx @ 0x38208+0x6cfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006d00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000006d00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006d00000160: nft_pcpu_tun_ctx @ 0x38208+0x6cfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006d00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000006d00000160: nft_pcpu_tun_ctx @ 0x38208+0x6cfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006d00000160: nft_pcpu_tun_ctx @ 0x38208+0x6cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006d00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006e00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000005f7: -0000006e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006d00000160: nft_pcpu_tun_ctx @ 0x38208+0x6cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006e00000160: nft_pcpu_tun_ctx @ 0x38208+0x6dfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f7: -Userspace: -0000006d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006e00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000005f7: -0000006e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006e00000160: nft_pcpu_tun_ctx @ 0x38208+0x6dfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f7: -0000006e00000160: nft_pcpu_tun_ctx @ 0x38208+0x6dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006e00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000005f7: -0000006e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006e00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -The stack size is invalid -Kernel: -0000006e00000160: nft_pcpu_tun_ctx @ 0x38208+0x6dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006e00000160: nft_pcpu_tun_ctx @ 0x38208+0x6dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006e00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000006e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000348: -The stack size is invalid -Kernel: -0000006e00000160: nft_pcpu_tun_ctx @ 0x38208+0x6dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006e00000160: nft_pcpu_tun_ctx @ 0x38208+0x6dfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -Userspace: -0000006e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006e00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000006e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000348: -0000006e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006e00000160: nft_pcpu_tun_ctx @ 0x38208+0x6dfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -0000006e00000160: nft_pcpu_tun_ctx @ 0x38208+0x6dfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000348: -Userspace: -0000006e00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000006e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000348: -0000006e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006e00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -The stack size is invalid -Kernel: -0000006e00000160: nft_pcpu_tun_ctx @ 0x38208+0x6dfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000348: -0000006e00000160: nft_pcpu_tun_ctx @ 0x38208+0x6dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000348: -0000006e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006e00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -The stack size is invalid -Kernel: -0000006e00000160: nft_pcpu_tun_ctx @ 0x38208+0x6dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006e00000160: nft_pcpu_tun_ctx @ 0x38208+0x6dfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -Userspace: -0000006e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006e00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -The stack size is invalid -Kernel: -0000006e00000160: nft_pcpu_tun_ctx @ 0x38208+0x6dfffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -0000006e00000160: nft_pcpu_tun_ctx @ 0x38208+0x6dfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000348: -Userspace: -0000006e00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000006e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000348: -0000006e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006e00000160: nft_pcpu_tun_ctx @ 0x38208+0x6dfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000348: -0000006e00000160: nft_pcpu_tun_ctx @ 0x38208+0x6dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000348: -0000006e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006e00000160: nft_pcpu_tun_ctx @ 0x38208+0x6dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006e00000160: nft_pcpu_tun_ctx @ 0x38208+0x6dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006e00000160: nft_pcpu_tun_ctx @ 0x38208+0x6dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006e00000160: nft_pcpu_tun_ctx @ 0x38208+0x6dfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000348: -Userspace: -0000006e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000348: -0000006f00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000005f7: -0000006f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -The stack size is invalid -Kernel: -0000006e00000160: nft_pcpu_tun_ctx @ 0x38208+0x6dfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000348: -0000006f00000160: nft_pcpu_tun_ctx @ 0x38208+0x6efffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f7: -Userspace: -0000006e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000348: -0000006f00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000005f7: -0000006f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000006f00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006f00000160: nft_pcpu_tun_ctx @ 0x38208+0x6efffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f7: -0000006f00000160: nft_pcpu_tun_ctx @ 0x38208+0x6efffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -Userspace: -0000006f00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000005f7: -0000006f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -The stack size is invalid -Kernel: -0000006f00000160: nft_pcpu_tun_ctx @ 0x38208+0x6efffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -0000006f00000160: nft_pcpu_tun_ctx @ 0x38208+0x6efffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000006f00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006f00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000005f7: -0000006f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006f00000160: nft_pcpu_tun_ctx @ 0x38208+0x6efffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006f00000160: nft_pcpu_tun_ctx @ 0x38208+0x6efffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f7: -Userspace: -0000006f00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006f00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000005f7: -0000006f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006f00000160: nft_pcpu_tun_ctx @ 0x38208+0x6efffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f7: -0000006f00000160: nft_pcpu_tun_ctx @ 0x38208+0x6efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006f00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000005f7: -0000006f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000006f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006f00000160: nft_pcpu_tun_ctx @ 0x38208+0x6efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006f00000160: nft_pcpu_tun_ctx @ 0x38208+0x6efffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -Userspace: -0000006f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000006f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006f00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006f00000160: nft_pcpu_tun_ctx @ 0x38208+0x6efffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -0000006f00000160: nft_pcpu_tun_ctx @ 0x38208+0x6efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000006f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006f00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006f00000160: nft_pcpu_tun_ctx @ 0x38208+0x6efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006f00000160: nft_pcpu_tun_ctx @ 0x38208+0x6efffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006f00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006f00000160: nft_pcpu_tun_ctx @ 0x38208+0x6efffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006f00000160: nft_pcpu_tun_ctx @ 0x38208+0x6efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006f00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -The stack size is invalid -Kernel: -0000006f00000160: nft_pcpu_tun_ctx @ 0x38208+0x6efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006f00000160: nft_pcpu_tun_ctx @ 0x38208+0x6efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000006f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006f00000160: nft_pcpu_tun_ctx @ 0x38208+0x6efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000006f00000160: nft_pcpu_tun_ctx @ 0x38208+0x6efffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -Userspace: -0000006f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000006f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000006f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006f00000160: nft_pcpu_tun_ctx @ 0x38208+0x6efffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -0000006f00000160: nft_pcpu_tun_ctx @ 0x38208+0x6efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000006f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000006f00000160: nft_pcpu_tun_ctx @ 0x38208+0x6efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000007000000160: nft_pcpu_tun_ctx @ 0x38208+0x6ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000006f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000007000000160: nft_pcpu_tun_ctx @ 0x38208+0x6ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000007000000160: nft_pcpu_tun_ctx @ 0x38208+0x6ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000007000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007000000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000007000000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000005f7: -The stack size is invalid -Kernel: -0000007000000160: nft_pcpu_tun_ctx @ 0x38208+0x6ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000007000000160: nft_pcpu_tun_ctx @ 0x38208+0x6ffffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -Userspace: -0000007000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007000000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000007000000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000005f7: -0000007000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000007000000160: nft_pcpu_tun_ctx @ 0x38208+0x6ffffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -0000007000000160: nft_pcpu_tun_ctx @ 0x38208+0x6ffffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f7: -Userspace: -0000007000000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000007000000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000005f7: -0000007000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007000000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -The stack size is invalid -Kernel: -0000007000000160: nft_pcpu_tun_ctx @ 0x38208+0x6ffffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f7: -0000007000000160: nft_pcpu_tun_ctx @ 0x38208+0x6ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000007000000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000005f7: -0000007000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007000000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -The stack size is invalid -Kernel: -0000007000000160: nft_pcpu_tun_ctx @ 0x38208+0x6ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000007000000160: nft_pcpu_tun_ctx @ 0x38208+0x6ffffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -Userspace: -0000007000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007000000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000007000000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000348: -The stack size is invalid -Kernel: -0000007000000160: nft_pcpu_tun_ctx @ 0x38208+0x6ffffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -0000007000000160: nft_pcpu_tun_ctx @ 0x38208+0x6ffffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000007000000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000007000000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000348: -0000007000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000007000000160: nft_pcpu_tun_ctx @ 0x38208+0x6ffffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000007000000160: nft_pcpu_tun_ctx @ 0x38208+0x6ffffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000348: -Userspace: -0000007000000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000348: -0000007000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000007000000160: nft_pcpu_tun_ctx @ 0x38208+0x6ffffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000348: -0000007000000160: nft_pcpu_tun_ctx @ 0x38208+0x6ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000007000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000348: -0000007000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000348: -0000007000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000007000000160: nft_pcpu_tun_ctx @ 0x38208+0x6ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000007000000160: nft_pcpu_tun_ctx @ 0x38208+0x6ffffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000348: -Userspace: -0000007000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000348: -The stack size is invalid -Kernel: -0000007000000160: nft_pcpu_tun_ctx @ 0x38208+0x6ffffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000348: -0000007000000160: nft_pcpu_tun_ctx @ 0x38208+0x6ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000007000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000348: -0000007000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007100000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000348: -0000007100000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000348: -The stack size is invalid -Kernel: -0000007000000160: nft_pcpu_tun_ctx @ 0x38208+0x6ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000007100000160: nft_pcpu_tun_ctx @ 0x38208+0x70fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000348: -Userspace: -0000007000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007100000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000348: -The stack size is invalid -Kernel: -0000007100000160: nft_pcpu_tun_ctx @ 0x38208+0x70fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000348: -0000007100000160: nft_pcpu_tun_ctx @ 0x38208+0x70fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000348: -Userspace: -0000007100000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000348: -0000007100000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000348: -0000007100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000007100000160: nft_pcpu_tun_ctx @ 0x38208+0x70fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000348: -0000007100000160: nft_pcpu_tun_ctx @ 0x38208+0x70fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000007100000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000348: -0000007100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000007100000160: nft_pcpu_tun_ctx @ 0x38208+0x70fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000007100000160: nft_pcpu_tun_ctx @ 0x38208+0x70fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000007100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000007100000160: nft_pcpu_tun_ctx @ 0x38208+0x70fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000007100000160: nft_pcpu_tun_ctx @ 0x38208+0x70fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -Userspace: -0000007100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007100000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000007100000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000007100000160: nft_pcpu_tun_ctx @ 0x38208+0x70fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d3: -0000007100000160: nft_pcpu_tun_ctx @ 0x38208+0x70fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000007100000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d3: -0000007100000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000007100000160: nft_pcpu_tun_ctx @ 0x38208+0x70fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000007100000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000007100000160: nft_pcpu_tun_ctx @ 0x38208+0x70fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000619: -0000007100000160: nft_pcpu_tun_ctx @ 0x38208+0x70fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002db: -Userspace: -0000007100000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000619: -0000007100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002db: -The stack size is invalid -Kernel: -0000007100000160: nft_pcpu_tun_ctx @ 0x38208+0x70fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002db: -0000007100000160: nft_pcpu_tun_ctx @ 0x38208+0x70fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000569: -Userspace: -0000007100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002db: -0000007100000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000569: -0000007100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002db: -0000007200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002db: -The stack size is invalid -Kernel: -0000007100000160: nft_pcpu_tun_ctx @ 0x38208+0x70fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000569: -0000007100000160: nft_pcpu_tun_ctx @ 0x38208+0x70fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002db: -Userspace: -0000007100000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000569: -0000007100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002db: -The stack size is invalid -Kernel: -0000007100000160: nft_pcpu_tun_ctx @ 0x38208+0x70fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002db: -0000007200000160: nft_pcpu_tun_ctx @ 0x38208+0x71fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002db: -Userspace: -0000007100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002db: -0000007200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002db: -0000007200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000404: -0000007200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002db: -The stack size is invalid -Kernel: -0000007200000160: nft_pcpu_tun_ctx @ 0x38208+0x71fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002db: -0000007200000160: nft_pcpu_tun_ctx @ 0x38208+0x71fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000404: -Userspace: -0000007200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002db: -0000007200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000404: -The stack size is invalid -Kernel: -0000007200000160: nft_pcpu_tun_ctx @ 0x38208+0x71fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000404: -0000007200000160: nft_pcpu_tun_ctx @ 0x38208+0x71fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002db: -Userspace: -0000007200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000404: -0000007200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002db: -The stack size is invalid -Kernel: -0000007200000160: nft_pcpu_tun_ctx @ 0x38208+0x71fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002db: -0000007200000160: nft_pcpu_tun_ctx @ 0x38208+0x71fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002db: -Userspace: -0000007200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002db: -0000007200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002db: -0000007200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000404: -The stack size is invalid -Kernel: -0000007200000160: nft_pcpu_tun_ctx @ 0x38208+0x71fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002db: -0000007200000160: nft_pcpu_tun_ctx @ 0x38208+0x71fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000404: -Userspace: -0000007200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002db: -0000007200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000404: -The stack size is invalid -Kernel: -0000007200000160: nft_pcpu_tun_ctx @ 0x38208+0x71fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000404: -0000007200000160: nft_pcpu_tun_ctx @ 0x38208+0x71fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002db: -Userspace: -0000007200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000404: -0000007200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002db: -The stack size is invalid -Kernel: -0000007200000160: nft_pcpu_tun_ctx @ 0x38208+0x71fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002db: -0000007200000160: nft_pcpu_tun_ctx @ 0x38208+0x71fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002db: -Userspace: -0000007200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002db: -0000007200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002db: -0000007200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000404: -The stack size is invalid -Kernel: -0000007200000160: nft_pcpu_tun_ctx @ 0x38208+0x71fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002db: -0000007200000160: nft_pcpu_tun_ctx @ 0x38208+0x71fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000404: -Userspace: -0000007200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002db: -0000007200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000404: -The stack size is invalid -Kernel: -0000007200000160: nft_pcpu_tun_ctx @ 0x38208+0x71fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000404: -0000007200000160: nft_pcpu_tun_ctx @ 0x38208+0x71fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000569: -Userspace: -0000007200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000404: -0000007200000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000569: -The stack size is invalid -Kernel: -0000007200000160: nft_pcpu_tun_ctx @ 0x38208+0x71fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000569: -0000007200000160: nft_pcpu_tun_ctx @ 0x38208+0x71fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000001e: -Userspace: -0000007200000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000569: -0000007200000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000001e: -0000007200000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000569: -The stack size is invalid -Kernel: -0000007200000160: nft_pcpu_tun_ctx @ 0x38208+0x71fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000001e: -0000007200000160: nft_pcpu_tun_ctx @ 0x38208+0x71fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000569: -Userspace: -0000007200000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000001e: -0000007200000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000569: -0000007200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002db: -0000007300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002db: -The stack size is invalid -Kernel: -0000007200000160: nft_pcpu_tun_ctx @ 0x38208+0x71fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000569: -0000007200000160: nft_pcpu_tun_ctx @ 0x38208+0x71fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002db: -Userspace: -The stack size is invalid -Kernel: -0000007200000160: nft_pcpu_tun_ctx @ 0x38208+0x71fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002db: -0000007300000160: nft_pcpu_tun_ctx @ 0x38208+0x72fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002db: -Userspace: -0000007200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002db: -0000007300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002db: -0000007300000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000007300000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000001e: -The stack size is invalid -Kernel: -0000007300000160: nft_pcpu_tun_ctx @ 0x38208+0x72fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002db: -0000007300000160: nft_pcpu_tun_ctx @ 0x38208+0x72fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -Userspace: -0000007300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002db: -0000007300000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -The stack size is invalid -Kernel: -0000007300000160: nft_pcpu_tun_ctx @ 0x38208+0x72fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -0000007300000160: nft_pcpu_tun_ctx @ 0x38208+0x72fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000001e: -Userspace: -0000007300000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000007300000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000001e: -The stack size is invalid -Kernel: -0000007300000160: nft_pcpu_tun_ctx @ 0x38208+0x72fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000001e: -0000007300000160: nft_pcpu_tun_ctx @ 0x38208+0x72fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000404: -Userspace: -0000007300000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000001e: -0000007300000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000404: -0000007300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002db: -The stack size is invalid -Kernel: -0000007300000160: nft_pcpu_tun_ctx @ 0x38208+0x72fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000404: -0000007300000160: nft_pcpu_tun_ctx @ 0x38208+0x72fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002db: -Userspace: -The stack size is invalid -Kernel: -0000007300000160: nft_pcpu_tun_ctx @ 0x38208+0x72fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002db: -0000007300000160: nft_pcpu_tun_ctx @ 0x38208+0x72fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000001e: -Userspace: -0000007300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002db: -0000007300000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000001e: -0000007300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002db: -The stack size is invalid -Kernel: -0000007300000160: nft_pcpu_tun_ctx @ 0x38208+0x72fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000001e: -0000007300000160: nft_pcpu_tun_ctx @ 0x38208+0x72fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002db: -Userspace: -0000007300000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000001e: -0000007300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002db: -The stack size is invalid -Kernel: -0000007300000160: nft_pcpu_tun_ctx @ 0x38208+0x72fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002db: -0000007300000160: nft_pcpu_tun_ctx @ 0x38208+0x72fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002db: -Userspace: -The stack size is invalid -Kernel: -0000007300000160: nft_pcpu_tun_ctx @ 0x38208+0x72fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002db: -0000007300000160: nft_pcpu_tun_ctx @ 0x38208+0x72fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002db: -Userspace: -0000007300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002db: -0000007300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002db: -The stack size is invalid -Kernel: -0000007300000160: nft_pcpu_tun_ctx @ 0x38208+0x72fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002db: -0000007300000160: nft_pcpu_tun_ctx @ 0x38208+0x72fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000001e: -Userspace: -0000007300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002db: -0000007300000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000001e: -The stack size is invalid -Kernel: -0000007300000160: nft_pcpu_tun_ctx @ 0x38208+0x72fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000001e: -0000007300000160: nft_pcpu_tun_ctx @ 0x38208+0x72fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002db: -Userspace: -0000007300000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000001e: -0000007300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002db: -The stack size is invalid -Kernel: -0000007300000160: nft_pcpu_tun_ctx @ 0x38208+0x72fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002db: -0000007400000160: nft_pcpu_tun_ctx @ 0x38208+0x73fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002db: -Userspace: -The stack size is invalid -Kernel: -0000007400000160: nft_pcpu_tun_ctx @ 0x38208+0x73fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002db: -0000007400000160: nft_pcpu_tun_ctx @ 0x38208+0x73fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000569: -Userspace: -0000007400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002db: -0000007400000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000569: -The stack size is invalid -Kernel: -0000007400000160: nft_pcpu_tun_ctx @ 0x38208+0x73fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000569: -0000007400000160: nft_pcpu_tun_ctx @ 0x38208+0x73fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002db: -Userspace: -0000007400000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000569: -0000007400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002db: -The stack size is invalid -Kernel: -0000007400000160: nft_pcpu_tun_ctx @ 0x38208+0x73fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002db: -0000007400000160: nft_pcpu_tun_ctx @ 0x38208+0x73fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000001e: -Userspace: -0000007400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002db: -0000007400000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000001e: -0000007400000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000569: -0000007400000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000404: -The stack size is invalid -Kernel: -0000007400000160: nft_pcpu_tun_ctx @ 0x38208+0x73fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000001e: -0000007400000160: nft_pcpu_tun_ctx @ 0x38208+0x73fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000569: -Userspace: -0000007400000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000001e: -0000007400000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000569: -The stack size is invalid -Kernel: -0000007400000160: nft_pcpu_tun_ctx @ 0x38208+0x73fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000569: -0000007400000160: nft_pcpu_tun_ctx @ 0x38208+0x73fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000404: -Userspace: -The stack size is invalid -Kernel: -0000007400000160: nft_pcpu_tun_ctx @ 0x38208+0x73fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000404: -0000007400000160: nft_pcpu_tun_ctx @ 0x38208+0x73fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002db: -Userspace: -0000007400000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000404: -0000007400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002db: -0000007400000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000404: -0000007400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002db: -The stack size is invalid -Kernel: -0000007400000160: nft_pcpu_tun_ctx @ 0x38208+0x73fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002db: -0000007400000160: nft_pcpu_tun_ctx @ 0x38208+0x73fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000404: -Userspace: -0000007400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002db: -0000007400000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000404: -0000007400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002db: -The stack size is invalid -Kernel: -0000007400000160: nft_pcpu_tun_ctx @ 0x38208+0x73fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000404: -0000007400000160: nft_pcpu_tun_ctx @ 0x38208+0x73fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002db: -Userspace: -0000007400000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000404: -0000007400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002db: -The stack size is invalid -Kernel: -0000007400000160: nft_pcpu_tun_ctx @ 0x38208+0x73fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002db: -0000007400000160: nft_pcpu_tun_ctx @ 0x38208+0x73fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000404: -Userspace: -0000007400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002db: -0000007400000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000404: -0000007400000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000404: -The stack size is invalid -Kernel: -0000007400000160: nft_pcpu_tun_ctx @ 0x38208+0x73fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000404: -0000007400000160: nft_pcpu_tun_ctx @ 0x38208+0x73fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000404: -Userspace: -0000007400000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000404: -0000007400000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000404: -The stack size is invalid -Kernel: -0000007400000160: nft_pcpu_tun_ctx @ 0x38208+0x73fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000404: -0000007400000160: nft_pcpu_tun_ctx @ 0x38208+0x73fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002db: -Userspace: -0000007400000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000404: -0000007400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002db: -0000007500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002db: -The stack size is invalid -Kernel: -0000007400000160: nft_pcpu_tun_ctx @ 0x38208+0x73fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002db: -0000007500000160: nft_pcpu_tun_ctx @ 0x38208+0x74fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002db: -Userspace: -0000007400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002db: -0000007500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002db: -0000007500000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000001e: -The stack size is invalid -Kernel: -0000007500000160: nft_pcpu_tun_ctx @ 0x38208+0x74fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002db: -0000007500000160: nft_pcpu_tun_ctx @ 0x38208+0x74fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000001e: -Userspace: -0000007500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002db: -0000007500000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000001e: -The stack size is invalid -Kernel: -0000007500000160: nft_pcpu_tun_ctx @ 0x38208+0x74fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000001e: -Userspace: -0000007500000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000001e: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000007500000160: nft_pcpu_tun_ctx @ 0x38208+0x74fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000619: -0000007500000160: nft_pcpu_tun_ctx @ 0x38208+0x74fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000386: -Userspace: -0000007500000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000619: -0000007500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000386: -0000007500000160: -6572747300002437: -The stack size is invalid -Kernel: -0000007500000160: nft_pcpu_tun_ctx @ 0x38208+0x74fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000386: -0000007500000160: nft_pcpu_tun_ctx @ 0x38208+0x74fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000569: -Userspace: -0000007500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000386: -0000007500000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000569: -0000007500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000386: -0000007500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000386: -The stack size is invalid -Kernel: -0000007500000160: nft_pcpu_tun_ctx @ 0x38208+0x74fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000569: -0000007500000160: nft_pcpu_tun_ctx @ 0x38208+0x74fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000386: -Userspace: -0000007500000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000569: -0000007500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000386: -0000007500000160: -6572747300002439: -The stack size is invalid -Kernel: -0000007500000160: nft_pcpu_tun_ctx @ 0x38208+0x74fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000386: -0000007500000160: nft_pcpu_tun_ctx @ 0x38208+0x74fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000386: -Userspace: -0000007500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000386: -0000007500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000386: -0000007500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000386: -0000007500000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000404: -The stack size is invalid -Kernel: -0000007500000160: nft_pcpu_tun_ctx @ 0x38208+0x74fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000386: -0000007500000160: nft_pcpu_tun_ctx @ 0x38208+0x74fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000386: -Userspace: -0000007500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000386: -0000007500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000386: -0000007500000160: -657274730000243a: -The stack size is invalid -Kernel: -0000007500000160: nft_pcpu_tun_ctx @ 0x38208+0x74fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000386: -0000007500000160: nft_pcpu_tun_ctx @ 0x38208+0x74fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000404: -Userspace: -0000007500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000386: -0000007500000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000404: -0000007500000160: -6572747300002439: -The stack size is invalid -Kernel: -0000007500000160: nft_pcpu_tun_ctx @ 0x38208+0x74fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000404: -0000007500000160: nft_pcpu_tun_ctx @ 0x38208+0x74fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000386: -Userspace: -0000007500000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000404: -0000007500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000386: -0000007600000160: -6572747300002439: -The stack size is invalid -Kernel: -0000007500000160: nft_pcpu_tun_ctx @ 0x38208+0x74fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000386: -0000007600000160: nft_pcpu_tun_ctx @ 0x38208+0x75fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000386: -Userspace: -0000007500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000386: -0000007600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000386: -0000007600000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000404: -The stack size is invalid -Kernel: -0000007600000160: nft_pcpu_tun_ctx @ 0x38208+0x75fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000386: -0000007600000160: nft_pcpu_tun_ctx @ 0x38208+0x75fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000404: -Userspace: -0000007600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000386: -0000007600000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000404: -0000007600000160: -6572747300002439: -The stack size is invalid -Kernel: -0000007600000160: nft_pcpu_tun_ctx @ 0x38208+0x75fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000404: -0000007600000160: nft_pcpu_tun_ctx @ 0x38208+0x75fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000386: -Userspace: -0000007600000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000404: -0000007600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000386: -0000007600000160: -6572747300002439: -The stack size is invalid -Kernel: -0000007600000160: nft_pcpu_tun_ctx @ 0x38208+0x75fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000386: -0000007600000160: nft_pcpu_tun_ctx @ 0x38208+0x75fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000386: -Userspace: -0000007600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000386: -0000007600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000386: -0000007600000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000404: -The stack size is invalid -Kernel: -0000007600000160: nft_pcpu_tun_ctx @ 0x38208+0x75fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000386: -0000007600000160: nft_pcpu_tun_ctx @ 0x38208+0x75fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000404: -Userspace: -0000007600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000386: -0000007600000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000404: -0000007600000160: -6572747300002437: -The stack size is invalid -Kernel: -0000007600000160: nft_pcpu_tun_ctx @ 0x38208+0x75fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000404: -0000007600000160: nft_pcpu_tun_ctx @ 0x38208+0x75fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000569: -Userspace: -0000007600000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000404: -0000007600000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000569: -0000007600000160: -6572747300002434: -The stack size is invalid -Kernel: -0000007600000160: nft_pcpu_tun_ctx @ 0x38208+0x75fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000569: -0000007600000160: nft_pcpu_tun_ctx @ 0x38208+0x75fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000001e: -Userspace: -0000007600000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000569: -0000007600000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000001e: -0000007600000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000569: -The stack size is invalid -Kernel: -0000007600000160: nft_pcpu_tun_ctx @ 0x38208+0x75fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000001e: -0000007600000160: nft_pcpu_tun_ctx @ 0x38208+0x75fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000569: -Userspace: -0000007600000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000001e: -0000007600000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000569: -0000007600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000386: -0000007600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000386: -The stack size is invalid -Kernel: -0000007600000160: nft_pcpu_tun_ctx @ 0x38208+0x75fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000569: -0000007600000160: nft_pcpu_tun_ctx @ 0x38208+0x75fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000386: -Userspace: -The stack size is invalid -Kernel: -0000007600000160: nft_pcpu_tun_ctx @ 0x38208+0x75fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000386: -0000007600000160: nft_pcpu_tun_ctx @ 0x38208+0x75fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000386: -Userspace: -0000007600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000386: -0000007600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000386: -0000007600000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000007700000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000001e: -The stack size is invalid -Kernel: -0000007600000160: nft_pcpu_tun_ctx @ 0x38208+0x75fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000386: -0000007600000160: nft_pcpu_tun_ctx @ 0x38208+0x75fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -Userspace: -0000007600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000386: -0000007600000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000007700000160: -6572747300002434: -The stack size is invalid -Kernel: -0000007600000160: nft_pcpu_tun_ctx @ 0x38208+0x75fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c8: -0000007700000160: nft_pcpu_tun_ctx @ 0x38208+0x76fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000001e: -Userspace: -0000007600000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000004c8: -0000007700000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000001e: -0000007700000160: -657274730000243a: -The stack size is invalid -Kernel: -0000007700000160: nft_pcpu_tun_ctx @ 0x38208+0x76fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000001e: -0000007700000160: nft_pcpu_tun_ctx @ 0x38208+0x76fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000404: -Userspace: -0000007700000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000001e: -0000007700000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000404: -0000007700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000386: -The stack size is invalid -Kernel: -0000007700000160: nft_pcpu_tun_ctx @ 0x38208+0x76fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000404: -0000007700000160: nft_pcpu_tun_ctx @ 0x38208+0x76fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000386: -Userspace: -The stack size is invalid -Kernel: -0000007700000160: nft_pcpu_tun_ctx @ 0x38208+0x76fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000386: -0000007700000160: nft_pcpu_tun_ctx @ 0x38208+0x76fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000001e: -Userspace: -0000007700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000386: -0000007700000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000001e: -0000007700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000386: -The stack size is invalid -Kernel: -0000007700000160: nft_pcpu_tun_ctx @ 0x38208+0x76fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000001e: -0000007700000160: nft_pcpu_tun_ctx @ 0x38208+0x76fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000386: -Userspace: -0000007700000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000001e: -0000007700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000386: -0000007700000160: -6572747300002439: -The stack size is invalid -Kernel: -0000007700000160: nft_pcpu_tun_ctx @ 0x38208+0x76fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000386: -0000007700000160: nft_pcpu_tun_ctx @ 0x38208+0x76fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000386: -Userspace: -The stack size is invalid -Kernel: -0000007700000160: nft_pcpu_tun_ctx @ 0x38208+0x76fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000386: -0000007700000160: nft_pcpu_tun_ctx @ 0x38208+0x76fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000386: -Userspace: -0000007700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000386: -0000007700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000386: -0000007700000160: -6572747300002434: -The stack size is invalid -Kernel: -0000007700000160: nft_pcpu_tun_ctx @ 0x38208+0x76fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000386: -0000007700000160: nft_pcpu_tun_ctx @ 0x38208+0x76fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000001e: -Userspace: -0000007700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000386: -0000007700000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000001e: -0000007700000160: -6572747300002439: -The stack size is invalid -Kernel: -0000007700000160: nft_pcpu_tun_ctx @ 0x38208+0x76fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000001e: -0000007700000160: nft_pcpu_tun_ctx @ 0x38208+0x76fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000386: -Userspace: -0000007700000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000001e: -0000007700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000386: -0000007700000160: -6572747300002439: -The stack size is invalid -Kernel: -0000007700000160: nft_pcpu_tun_ctx @ 0x38208+0x76fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000386: -0000007700000160: nft_pcpu_tun_ctx @ 0x38208+0x76fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000386: -Userspace: -The stack size is invalid -Kernel: -0000007700000160: nft_pcpu_tun_ctx @ 0x38208+0x76fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000386: -0000007700000160: nft_pcpu_tun_ctx @ 0x38208+0x76fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000569: -Userspace: -0000007700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000386: -0000007700000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000569: -0000007700000160: -6572747300002439: -The stack size is invalid -Kernel: -0000007700000160: nft_pcpu_tun_ctx @ 0x38208+0x76fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000569: -0000007700000160: nft_pcpu_tun_ctx @ 0x38208+0x76fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000386: -Userspace: -0000007700000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000569: -0000007700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000386: -0000007800000160: -6572747300002434: -The stack size is invalid -Kernel: -0000007700000160: nft_pcpu_tun_ctx @ 0x38208+0x76fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000386: -0000007800000160: nft_pcpu_tun_ctx @ 0x38208+0x77fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000001e: -Userspace: -0000007700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000386: -0000007800000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000001e: -0000007800000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000569: -0000007800000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000404: -The stack size is invalid -Kernel: -0000007800000160: nft_pcpu_tun_ctx @ 0x38208+0x77fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000001e: -0000007800000160: nft_pcpu_tun_ctx @ 0x38208+0x77fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000569: -Userspace: -0000007800000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000001e: -0000007800000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000569: -0000007800000160: -657274730000243a: -The stack size is invalid -Kernel: -0000007800000160: nft_pcpu_tun_ctx @ 0x38208+0x77fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000569: -0000007800000160: nft_pcpu_tun_ctx @ 0x38208+0x77fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000404: -Userspace: -The stack size is invalid -Kernel: -0000007800000160: nft_pcpu_tun_ctx @ 0x38208+0x77fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000404: -0000007800000160: nft_pcpu_tun_ctx @ 0x38208+0x77fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000386: -Userspace: -0000007800000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000404: -0000007800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000386: -0000007800000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000404: -0000007800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000386: -The stack size is invalid -Kernel: -0000007800000160: nft_pcpu_tun_ctx @ 0x38208+0x77fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000386: -0000007800000160: nft_pcpu_tun_ctx @ 0x38208+0x77fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000404: -Userspace: -0000007800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000386: -0000007800000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000404: -0000007800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000386: -The stack size is invalid -Kernel: -0000007800000160: nft_pcpu_tun_ctx @ 0x38208+0x77fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000404: -0000007800000160: nft_pcpu_tun_ctx @ 0x38208+0x77fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000386: -Userspace: -0000007800000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000404: -0000007800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000386: -0000007800000160: -657274730000243a: -The stack size is invalid -Kernel: -0000007800000160: nft_pcpu_tun_ctx @ 0x38208+0x77fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000386: -0000007800000160: nft_pcpu_tun_ctx @ 0x38208+0x77fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000404: -Userspace: -0000007800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000386: -0000007800000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000404: -0000007800000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000404: -The stack size is invalid -Kernel: -0000007800000160: nft_pcpu_tun_ctx @ 0x38208+0x77fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000404: -0000007800000160: nft_pcpu_tun_ctx @ 0x38208+0x77fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000404: -Userspace: -0000007800000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000404: -0000007800000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000404: -0000007800000160: -6572747300002439: -The stack size is invalid -Kernel: -0000007800000160: nft_pcpu_tun_ctx @ 0x38208+0x77fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000404: -0000007800000160: nft_pcpu_tun_ctx @ 0x38208+0x77fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000386: -Userspace: -0000007800000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000404: -0000007800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000386: -0000007800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000386: -The stack size is invalid -Kernel: -0000007800000160: nft_pcpu_tun_ctx @ 0x38208+0x77fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000386: -0000007800000160: nft_pcpu_tun_ctx @ 0x38208+0x77fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000386: -Userspace: -0000007800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000386: -0000007800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000386: -0000007800000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000001e: -The stack size is invalid -Kernel: -0000007800000160: nft_pcpu_tun_ctx @ 0x38208+0x77fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000386: -0000007800000160: nft_pcpu_tun_ctx @ 0x38208+0x77fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000001e: -Userspace: -0000007800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000386: -0000007800000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000001e: -The stack size is invalid -Kernel: -0000007800000160: nft_pcpu_tun_ctx @ 0x38208+0x77fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000001e: -Userspace: -0000007800000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000001e: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000007900000160: nft_pcpu_tun_ctx @ 0x38208+0x78fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002eb: -0000007900000160: nft_pcpu_tun_ctx @ 0x38208+0x78fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -Userspace: -0000007900000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000002eb: -0000007900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007900000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000007900000160: nft_pcpu_tun_ctx @ 0x38208+0x78fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -0000007900000160: nft_pcpu_tun_ctx @ 0x38208+0x78fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000007900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007900000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000007900000160: nft_pcpu_tun_ctx @ 0x38208+0x78fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000007900000160: nft_pcpu_tun_ctx @ 0x38208+0x78fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -Userspace: -0000007900000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -The stack size is invalid -Kernel: -0000007900000160: nft_pcpu_tun_ctx @ 0x38208+0x78fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -0000007900000160: nft_pcpu_tun_ctx @ 0x38208+0x78fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -Userspace: -0000007900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -The stack size is invalid -Kernel: -0000007900000160: nft_pcpu_tun_ctx @ 0x38208+0x78fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -0000007900000160: nft_pcpu_tun_ctx @ 0x38208+0x78fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -Userspace: -0000007900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -The stack size is invalid -Kernel: -0000007900000160: nft_pcpu_tun_ctx @ 0x38208+0x78fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -0000007900000160: nft_pcpu_tun_ctx @ 0x38208+0x78fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003f2: -Userspace: -0000007900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -0000007900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -The stack size is invalid -Kernel: -0000007900000160: nft_pcpu_tun_ctx @ 0x38208+0x78fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003f2: -0000007900000160: nft_pcpu_tun_ctx @ 0x38208+0x78fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -Userspace: -0000007900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -0000007900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -The stack size is invalid -Kernel: -0000007900000160: nft_pcpu_tun_ctx @ 0x38208+0x78fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -0000007900000160: nft_pcpu_tun_ctx @ 0x38208+0x78fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -Userspace: -0000007900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007900000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000002eb: -The stack size is invalid -Kernel: -0000007900000160: nft_pcpu_tun_ctx @ 0x38208+0x78fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -0000007900000160: nft_pcpu_tun_ctx @ 0x38208+0x78fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002eb: -Userspace: -0000007900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007900000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000002eb: -0000007a00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -The stack size is invalid -Kernel: -0000007900000160: nft_pcpu_tun_ctx @ 0x38208+0x78fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002eb: -0000007a00000160: nft_pcpu_tun_ctx @ 0x38208+0x79fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003f2: -Userspace: -0000007900000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000002eb: -0000007a00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -0000007a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -The stack size is invalid -Kernel: -0000007a00000160: nft_pcpu_tun_ctx @ 0x38208+0x79fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003f2: -0000007a00000160: nft_pcpu_tun_ctx @ 0x38208+0x79fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -Userspace: -0000007a00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -0000007a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -The stack size is invalid -Kernel: -0000007a00000160: nft_pcpu_tun_ctx @ 0x38208+0x79fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -0000007a00000160: nft_pcpu_tun_ctx @ 0x38208+0x79fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -Userspace: -0000007a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007a00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -The stack size is invalid -Kernel: -0000007a00000160: nft_pcpu_tun_ctx @ 0x38208+0x79fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -0000007a00000160: nft_pcpu_tun_ctx @ 0x38208+0x79fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003f2: -Userspace: -0000007a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007a00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -0000007a00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000007a00000160: nft_pcpu_tun_ctx @ 0x38208+0x79fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003f2: -0000007a00000160: nft_pcpu_tun_ctx @ 0x38208+0x79fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000007a00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -0000007a00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007a00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000002eb: -The stack size is invalid -Kernel: -0000007a00000160: nft_pcpu_tun_ctx @ 0x38208+0x79fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000007a00000160: nft_pcpu_tun_ctx @ 0x38208+0x79fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002eb: -Userspace: -0000007a00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007a00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000002eb: -0000007a00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000007a00000160: nft_pcpu_tun_ctx @ 0x38208+0x79fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002eb: -0000007a00000160: nft_pcpu_tun_ctx @ 0x38208+0x79fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000007a00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000002eb: -0000007a00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007a00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -The stack size is invalid -Kernel: -0000007a00000160: nft_pcpu_tun_ctx @ 0x38208+0x79fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000007a00000160: nft_pcpu_tun_ctx @ 0x38208+0x79fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000007a00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007a00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000007a00000160: nft_pcpu_tun_ctx @ 0x38208+0x79fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000007a00000160: nft_pcpu_tun_ctx @ 0x38208+0x79fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -Userspace: -0000007a00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -The stack size is invalid -Kernel: -0000007a00000160: nft_pcpu_tun_ctx @ 0x38208+0x79fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -0000007a00000160: nft_pcpu_tun_ctx @ 0x38208+0x79fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -Userspace: -0000007a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007a00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000007a00000160: nft_pcpu_tun_ctx @ 0x38208+0x79fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -0000007a00000160: nft_pcpu_tun_ctx @ 0x38208+0x79fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -Userspace: -0000007a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007a00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000007a00000160: nft_pcpu_tun_ctx @ 0x38208+0x79fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -0000007a00000160: nft_pcpu_tun_ctx @ 0x38208+0x79fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000007a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007a00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007b00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000007a00000160: nft_pcpu_tun_ctx @ 0x38208+0x79fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000007b00000160: nft_pcpu_tun_ctx @ 0x38208+0x7afffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000007a00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007b00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007b00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -The stack size is invalid -Kernel: -0000007b00000160: nft_pcpu_tun_ctx @ 0x38208+0x7afffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000007b00000160: nft_pcpu_tun_ctx @ 0x38208+0x7afffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003f2: -Userspace: -0000007b00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007b00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -0000007b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007b00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000007b00000160: nft_pcpu_tun_ctx @ 0x38208+0x7afffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003f2: -0000007b00000160: nft_pcpu_tun_ctx @ 0x38208+0x7afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -Userspace: -0000007b00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -0000007b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007b00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -The stack size is invalid -Kernel: -0000007b00000160: nft_pcpu_tun_ctx @ 0x38208+0x7afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -0000007b00000160: nft_pcpu_tun_ctx @ 0x38208+0x7afffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000007b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007b00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -The stack size is invalid -Kernel: -0000007b00000160: nft_pcpu_tun_ctx @ 0x38208+0x7afffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000007b00000160: nft_pcpu_tun_ctx @ 0x38208+0x7afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -Userspace: -0000007b00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007b00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000007b00000160: nft_pcpu_tun_ctx @ 0x38208+0x7afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -0000007b00000160: nft_pcpu_tun_ctx @ 0x38208+0x7afffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000007b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007b00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -The stack size is invalid -Kernel: -0000007b00000160: nft_pcpu_tun_ctx @ 0x38208+0x7afffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000007b00000160: nft_pcpu_tun_ctx @ 0x38208+0x7afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -Userspace: -0000007b00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -The stack size is invalid -Kernel: -0000007b00000160: nft_pcpu_tun_ctx @ 0x38208+0x7afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -0000007b00000160: nft_pcpu_tun_ctx @ 0x38208+0x7afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -Userspace: -0000007b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007b00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -The stack size is invalid -Kernel: -0000007b00000160: nft_pcpu_tun_ctx @ 0x38208+0x7afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -0000007b00000160: nft_pcpu_tun_ctx @ 0x38208+0x7afffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000007b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007b00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -The stack size is invalid -Kernel: -0000007b00000160: nft_pcpu_tun_ctx @ 0x38208+0x7afffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000007b00000160: nft_pcpu_tun_ctx @ 0x38208+0x7afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -Userspace: -0000007b00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -The stack size is invalid -Kernel: -0000007b00000160: nft_pcpu_tun_ctx @ 0x38208+0x7afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -0000007b00000160: nft_pcpu_tun_ctx @ 0x38208+0x7afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -Userspace: -0000007b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007c00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007c00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000007b00000160: nft_pcpu_tun_ctx @ 0x38208+0x7afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -0000007c00000160: nft_pcpu_tun_ctx @ 0x38208+0x7bfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000007b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007c00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007c00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000007c00000160: nft_pcpu_tun_ctx @ 0x38208+0x7bfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000007c00000160: nft_pcpu_tun_ctx @ 0x38208+0x7bfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000007c00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007c00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -The stack size is invalid -Kernel: -0000007c00000160: nft_pcpu_tun_ctx @ 0x38208+0x7bfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000007c00000160: nft_pcpu_tun_ctx @ 0x38208+0x7bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -Userspace: -0000007c00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007c00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007c00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000007c00000160: nft_pcpu_tun_ctx @ 0x38208+0x7bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -0000007c00000160: nft_pcpu_tun_ctx @ 0x38208+0x7bfffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000007c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007c00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007c00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007c00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000007c00000160: nft_pcpu_tun_ctx @ 0x38208+0x7bfffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000007c00000160: nft_pcpu_tun_ctx @ 0x38208+0x7bfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000007c00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007c00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007c00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000007c00000160: nft_pcpu_tun_ctx @ 0x38208+0x7bfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000007c00000160: nft_pcpu_tun_ctx @ 0x38208+0x7bfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000007c00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007c00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -0000007c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -The stack size is invalid -Kernel: -0000007c00000160: nft_pcpu_tun_ctx @ 0x38208+0x7bfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000007c00000160: nft_pcpu_tun_ctx @ 0x38208+0x7bfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003f2: -Userspace: -0000007c00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -0000007c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -The stack size is invalid -Kernel: -0000007c00000160: nft_pcpu_tun_ctx @ 0x38208+0x7bfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003f2: -0000007c00000160: nft_pcpu_tun_ctx @ 0x38208+0x7bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -Userspace: -0000007c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -0000007c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -0000007c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -The stack size is invalid -Kernel: -0000007c00000160: nft_pcpu_tun_ctx @ 0x38208+0x7bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -0000007c00000160: nft_pcpu_tun_ctx @ 0x38208+0x7bfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003f2: -Userspace: -0000007c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -0000007c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -The stack size is invalid -Kernel: -0000007c00000160: nft_pcpu_tun_ctx @ 0x38208+0x7bfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003f2: -0000007c00000160: nft_pcpu_tun_ctx @ 0x38208+0x7bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -Userspace: -0000007c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -0000007c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -The stack size is invalid -Kernel: -0000007c00000160: nft_pcpu_tun_ctx @ 0x38208+0x7bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -0000007c00000160: nft_pcpu_tun_ctx @ 0x38208+0x7bfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003f2: -Userspace: -0000007c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -0000007c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -The stack size is invalid -Kernel: -0000007c00000160: nft_pcpu_tun_ctx @ 0x38208+0x7bfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003f2: -0000007c00000160: nft_pcpu_tun_ctx @ 0x38208+0x7bfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003f2: -Userspace: -0000007c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -0000007c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -0000007d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -The stack size is invalid -Kernel: -0000007c00000160: nft_pcpu_tun_ctx @ 0x38208+0x7bfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003f2: -0000007d00000160: nft_pcpu_tun_ctx @ 0x38208+0x7cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -Userspace: -0000007c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -0000007d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -The stack size is invalid -Kernel: -0000007d00000160: nft_pcpu_tun_ctx @ 0x38208+0x7cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -0000007d00000160: nft_pcpu_tun_ctx @ 0x38208+0x7cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -Userspace: -0000007d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007d00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -The stack size is invalid -Kernel: -0000007d00000160: nft_pcpu_tun_ctx @ 0x38208+0x7cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -0000007d00000160: nft_pcpu_tun_ctx @ 0x38208+0x7cfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003f2: -Userspace: -0000007d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000007d00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -0000007d00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000007d00000160: nft_pcpu_tun_ctx @ 0x38208+0x7cfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003f2: -0000007d00000160: nft_pcpu_tun_ctx @ 0x38208+0x7cfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000007d00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -0000007d00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000007d00000160: nft_pcpu_tun_ctx @ 0x38208+0x7cfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000007d00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000007d00000160: nft_pcpu_tun_ctx @ 0x38208+0x7cfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000144: -0000007d00000160: nft_pcpu_tun_ctx @ 0x38208+0x7cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000318: -Userspace: -0000007d00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000144: -0000007d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -The stack size is invalid -Kernel: -0000007d00000160: nft_pcpu_tun_ctx @ 0x38208+0x7cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000318: -0000007d00000160: nft_pcpu_tun_ctx @ 0x38208+0x7cfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000359: -Userspace: -0000007d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -The stack size is invalid -Kernel: -0000007d00000160: nft_pcpu_tun_ctx @ 0x38208+0x7cfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000359: -0000007d00000160: nft_pcpu_tun_ctx @ 0x38208+0x7cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000318: -Userspace: -0000007d00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000359: -0000007d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -The stack size is invalid -Kernel: -0000007d00000160: nft_pcpu_tun_ctx @ 0x38208+0x7cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000318: -0000007d00000160: nft_pcpu_tun_ctx @ 0x38208+0x7cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000318: -Userspace: -0000007d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -0000007d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -The stack size is invalid -Kernel: -0000007d00000160: nft_pcpu_tun_ctx @ 0x38208+0x7cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000318: -0000007d00000160: nft_pcpu_tun_ctx @ 0x38208+0x7cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000318: -Userspace: -0000007d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -0000007d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -The stack size is invalid -Kernel: -0000007d00000160: nft_pcpu_tun_ctx @ 0x38208+0x7cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000318: -0000007e00000160: nft_pcpu_tun_ctx @ 0x38208+0x7dfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003f2: -Userspace: -0000007d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -0000007e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -The stack size is invalid -Kernel: -0000007e00000160: nft_pcpu_tun_ctx @ 0x38208+0x7dfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003f2: -0000007e00000160: nft_pcpu_tun_ctx @ 0x38208+0x7dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000318: -Userspace: -0000007e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -0000007e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -The stack size is invalid -Kernel: -0000007e00000160: nft_pcpu_tun_ctx @ 0x38208+0x7dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000318: -0000007e00000160: nft_pcpu_tun_ctx @ 0x38208+0x7dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000318: -Userspace: -0000007e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -0000007e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -0000007e00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000144: -The stack size is invalid -Kernel: -0000007e00000160: nft_pcpu_tun_ctx @ 0x38208+0x7dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000318: -0000007e00000160: nft_pcpu_tun_ctx @ 0x38208+0x7dfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000144: -Userspace: -0000007e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -0000007e00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000144: -The stack size is invalid -Kernel: -0000007e00000160: nft_pcpu_tun_ctx @ 0x38208+0x7dfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000144: -0000007e00000160: nft_pcpu_tun_ctx @ 0x38208+0x7dfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003f2: -Userspace: -0000007e00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000144: -0000007e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -The stack size is invalid -Kernel: -0000007e00000160: nft_pcpu_tun_ctx @ 0x38208+0x7dfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003f2: -0000007e00000160: nft_pcpu_tun_ctx @ 0x38208+0x7dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000318: -Userspace: -0000007e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -The stack size is invalid -Kernel: -0000007e00000160: nft_pcpu_tun_ctx @ 0x38208+0x7dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000318: -0000007e00000160: nft_pcpu_tun_ctx @ 0x38208+0x7dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000318: -Userspace: -0000007e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -0000007e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -0000007e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -The stack size is invalid -Kernel: -0000007e00000160: nft_pcpu_tun_ctx @ 0x38208+0x7dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000318: -0000007e00000160: nft_pcpu_tun_ctx @ 0x38208+0x7dfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003f2: -Userspace: -0000007e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -0000007e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -The stack size is invalid -Kernel: -0000007e00000160: nft_pcpu_tun_ctx @ 0x38208+0x7dfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003f2: -0000007e00000160: nft_pcpu_tun_ctx @ 0x38208+0x7dfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000359: -Userspace: -0000007e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -0000007e00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000359: -The stack size is invalid -Kernel: -0000007e00000160: nft_pcpu_tun_ctx @ 0x38208+0x7dfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000359: -0000007e00000160: nft_pcpu_tun_ctx @ 0x38208+0x7dfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000144: -Userspace: -0000007e00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000359: -0000007e00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000144: -0000007e00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000007e00000160: nft_pcpu_tun_ctx @ 0x38208+0x7dfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000144: -0000007e00000160: nft_pcpu_tun_ctx @ 0x38208+0x7dfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000007e00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000144: -0000007e00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000007e00000160: nft_pcpu_tun_ctx @ 0x38208+0x7dfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000007f00000160: nft_pcpu_tun_ctx @ 0x38208+0x7efffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000359: -Userspace: -0000007e00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000007f00000160: nft_pcpu_tun_ctx @ 0x38208+0x7efffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000359: -0000007f00000160: nft_pcpu_tun_ctx @ 0x38208+0x7efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000318: -Userspace: -0000007f00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000359: -0000007f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -0000007f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -0000007f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -The stack size is invalid -Kernel: -0000007f00000160: nft_pcpu_tun_ctx @ 0x38208+0x7efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000318: -0000007f00000160: nft_pcpu_tun_ctx @ 0x38208+0x7efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000318: -Userspace: -0000007f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -0000007f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -The stack size is invalid -Kernel: -0000007f00000160: nft_pcpu_tun_ctx @ 0x38208+0x7efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000318: -0000007f00000160: nft_pcpu_tun_ctx @ 0x38208+0x7efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000318: -Userspace: -0000007f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -0000007f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -The stack size is invalid -Kernel: -0000007f00000160: nft_pcpu_tun_ctx @ 0x38208+0x7efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000318: -0000007f00000160: nft_pcpu_tun_ctx @ 0x38208+0x7efffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000007f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -0000007f00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000007f00000160: nft_pcpu_tun_ctx @ 0x38208+0x7efffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000007f00000160: nft_pcpu_tun_ctx @ 0x38208+0x7efffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000007f00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007f00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000007f00000160: nft_pcpu_tun_ctx @ 0x38208+0x7efffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000007f00000160: nft_pcpu_tun_ctx @ 0x38208+0x7efffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003f2: -Userspace: -0000007f00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007f00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -0000007f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -0000007f00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000007f00000160: nft_pcpu_tun_ctx @ 0x38208+0x7efffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003f2: -0000007f00000160: nft_pcpu_tun_ctx @ 0x38208+0x7efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000318: -Userspace: -0000007f00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -0000007f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -0000007f00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -The stack size is invalid -Kernel: -0000007f00000160: nft_pcpu_tun_ctx @ 0x38208+0x7efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000318: -0000007f00000160: nft_pcpu_tun_ctx @ 0x38208+0x7efffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000007f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -0000007f00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -The stack size is invalid -Kernel: -0000007f00000160: nft_pcpu_tun_ctx @ 0x38208+0x7efffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000007f00000160: nft_pcpu_tun_ctx @ 0x38208+0x7efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000318: -Userspace: -0000007f00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000007f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -The stack size is invalid -Kernel: -0000007f00000160: nft_pcpu_tun_ctx @ 0x38208+0x7efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000318: -0000007f00000160: nft_pcpu_tun_ctx @ 0x38208+0x7efffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000359: -Userspace: -0000007f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -0000007f00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000359: -0000007f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -0000008000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -The stack size is invalid -Kernel: -0000007f00000160: nft_pcpu_tun_ctx @ 0x38208+0x7efffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000359: -0000007f00000160: nft_pcpu_tun_ctx @ 0x38208+0x7efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000318: -Userspace: -0000007f00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000359: -0000007f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -The stack size is invalid -Kernel: -0000007f00000160: nft_pcpu_tun_ctx @ 0x38208+0x7efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000318: -0000008000000160: nft_pcpu_tun_ctx @ 0x38208+0x7ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000318: -Userspace: -0000007f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -0000008000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -The stack size is invalid -Kernel: -0000008000000160: nft_pcpu_tun_ctx @ 0x38208+0x7ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000318: -0000008000000160: nft_pcpu_tun_ctx @ 0x38208+0x7ffffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000008000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -0000008000000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000008000000160: nft_pcpu_tun_ctx @ 0x38208+0x7ffffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000008000000160: nft_pcpu_tun_ctx @ 0x38208+0x7ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000318: -Userspace: -0000008000000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000008000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -The stack size is invalid -Kernel: -0000008000000160: nft_pcpu_tun_ctx @ 0x38208+0x7ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000318: -0000008000000160: nft_pcpu_tun_ctx @ 0x38208+0x7ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000318: -Userspace: -0000008000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -0000008000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -0000008000000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000008000000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000359: -The stack size is invalid -Kernel: -0000008000000160: nft_pcpu_tun_ctx @ 0x38208+0x7ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000318: -0000008000000160: nft_pcpu_tun_ctx @ 0x38208+0x7ffffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000008000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -0000008000000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000008000000160: nft_pcpu_tun_ctx @ 0x38208+0x7ffffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000008000000160: nft_pcpu_tun_ctx @ 0x38208+0x7ffffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000359: -Userspace: -0000008000000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000008000000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000359: -The stack size is invalid -Kernel: -0000008000000160: nft_pcpu_tun_ctx @ 0x38208+0x7ffffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000359: -0000008000000160: nft_pcpu_tun_ctx @ 0x38208+0x7ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000318: -Userspace: -0000008000000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000359: -0000008000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -0000008000000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000008000000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000008000000160: nft_pcpu_tun_ctx @ 0x38208+0x7ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000318: -0000008000000160: nft_pcpu_tun_ctx @ 0x38208+0x7ffffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000008000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -0000008000000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000008000000160: nft_pcpu_tun_ctx @ 0x38208+0x7ffffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000008000000160: nft_pcpu_tun_ctx @ 0x38208+0x7ffffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000008000000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000008000000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000008000000160: nft_pcpu_tun_ctx @ 0x38208+0x7ffffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000008000000160: nft_pcpu_tun_ctx @ 0x38208+0x7ffffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000359: -Userspace: -0000008000000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000008000000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000359: -0000008000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -0000008100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -The stack size is invalid -Kernel: -0000008000000160: nft_pcpu_tun_ctx @ 0x38208+0x7ffffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000359: -0000008000000160: nft_pcpu_tun_ctx @ 0x38208+0x7ffffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003f2: -Userspace: -0000008000000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000359: -0000008000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -0000008100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -0000008100000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -The stack size is invalid -Kernel: -0000008000000160: nft_pcpu_tun_ctx @ 0x38208+0x7ffffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003f2: -0000008100000160: nft_pcpu_tun_ctx @ 0x38208+0x80fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000318: -Userspace: -0000008000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -0000008100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -The stack size is invalid -Kernel: -0000008100000160: nft_pcpu_tun_ctx @ 0x38208+0x80fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000318: -0000008100000160: nft_pcpu_tun_ctx @ 0x38208+0x80fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003f2: -Userspace: -0000008100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -0000008100000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -0000008100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -The stack size is invalid -Kernel: -0000008100000160: nft_pcpu_tun_ctx @ 0x38208+0x80fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003f2: -0000008100000160: nft_pcpu_tun_ctx @ 0x38208+0x80fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000318: -Userspace: -0000008100000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -0000008100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -The stack size is invalid -Kernel: -0000008100000160: nft_pcpu_tun_ctx @ 0x38208+0x80fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000318: -0000008100000160: nft_pcpu_tun_ctx @ 0x38208+0x80fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003f2: -Userspace: -0000008100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -0000008100000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -0000008100000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -The stack size is invalid -Kernel: -0000008100000160: nft_pcpu_tun_ctx @ 0x38208+0x80fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003f2: -0000008100000160: nft_pcpu_tun_ctx @ 0x38208+0x80fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003f2: -Userspace: -0000008100000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -0000008100000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -The stack size is invalid -Kernel: -0000008100000160: nft_pcpu_tun_ctx @ 0x38208+0x80fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003f2: -0000008100000160: nft_pcpu_tun_ctx @ 0x38208+0x80fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000318: -Userspace: -0000008100000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -0000008100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -0000008100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -The stack size is invalid -Kernel: -0000008100000160: nft_pcpu_tun_ctx @ 0x38208+0x80fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000318: -0000008100000160: nft_pcpu_tun_ctx @ 0x38208+0x80fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000318: -Userspace: -0000008100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -0000008100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -0000008100000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -The stack size is invalid -Kernel: -0000008100000160: nft_pcpu_tun_ctx @ 0x38208+0x80fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000318: -0000008100000160: nft_pcpu_tun_ctx @ 0x38208+0x80fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003f2: -Userspace: -0000008100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000318: -0000008100000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -The stack size is invalid -Kernel: -0000008100000160: nft_pcpu_tun_ctx @ 0x38208+0x80fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003f2: -0000008100000160: nft_pcpu_tun_ctx @ 0x38208+0x80fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000008100000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000003f2: -0000008100000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000008100000160: nft_pcpu_tun_ctx @ 0x38208+0x80fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000008100000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -Userspace: -The stack size is invalid -Kernel: -0000008100000160: nft_pcpu_tun_ctx @ 0x38208+0x80fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000030d: -0000008200000160: nft_pcpu_tun_ctx @ 0x38208+0x81fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000008100000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000030d: -0000008200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000008200000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000001a6: -0000008200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000008200000160: nft_pcpu_tun_ctx @ 0x38208+0x81fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000008200000160: nft_pcpu_tun_ctx @ 0x38208+0x81fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000001a6: -Userspace: -0000008200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000008200000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000001a6: -The stack size is invalid -Kernel: -0000008200000160: nft_pcpu_tun_ctx @ 0x38208+0x81fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000001a6: -0000008200000160: nft_pcpu_tun_ctx @ 0x38208+0x81fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000008200000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000001a6: -0000008200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000008200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000008200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000008200000160: nft_pcpu_tun_ctx @ 0x38208+0x81fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000008200000160: nft_pcpu_tun_ctx @ 0x38208+0x81fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000008200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000008200000160: nft_pcpu_tun_ctx @ 0x38208+0x81fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000008200000160: nft_pcpu_tun_ctx @ 0x38208+0x81fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000008200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000008200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000008200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000008200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000008200000160: nft_pcpu_tun_ctx @ 0x38208+0x81fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000008200000160: nft_pcpu_tun_ctx @ 0x38208+0x81fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a2: -Userspace: -0000008200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000008200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000008200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000008200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000008200000160: nft_pcpu_tun_ctx @ 0x38208+0x81fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a2: -0000008200000160: nft_pcpu_tun_ctx @ 0x38208+0x81fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000008200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000008200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000008200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000008200000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000030d: -The stack size is invalid -Kernel: -0000008200000160: nft_pcpu_tun_ctx @ 0x38208+0x81fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000008200000160: nft_pcpu_tun_ctx @ 0x38208+0x81fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000008200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000008200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000008200000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000030d: -0000008200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000008200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000008200000160: nft_pcpu_tun_ctx @ 0x38208+0x81fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000008200000160: nft_pcpu_tun_ctx @ 0x38208+0x81fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000030d: -Userspace: -0000008200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000008200000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000030d: -0000008200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000008200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000008200000160: nft_pcpu_tun_ctx @ 0x38208+0x81fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000030d: -0000008200000160: nft_pcpu_tun_ctx @ 0x38208+0x81fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a2: -Userspace: -0000008200000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000030d: -0000008200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000008200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000008200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000008200000160: nft_pcpu_tun_ctx @ 0x38208+0x81fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a2: -0000008200000160: nft_pcpu_tun_ctx @ 0x38208+0x81fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000008200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000008200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000008200000160: nft_pcpu_tun_ctx @ 0x38208+0x81fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000008200000160: nft_pcpu_tun_ctx @ 0x38208+0x81fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000008200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000008200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000300000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000300000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000001a6: -0000000300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000030d: -The stack size is invalid -Kernel: -0000008200000160: nft_pcpu_tun_ctx @ 0x38208+0x81fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000000300000160: nft_pcpu_tun_ctx @ 0x38208+0x2fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a2: -Userspace: -0000008200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000300000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000300000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000001a6: -0000000300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000030d: -The stack size is invalid -Kernel: -0000000300000160: nft_pcpu_tun_ctx @ 0x38208+0x2fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a2: -0000000300000160: nft_pcpu_tun_ctx @ 0x38208+0x2fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000001a6: -Userspace: -0000000300000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000300000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000001a6: -0000000300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000030d: -0000000300000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000037c: -The stack size is invalid -Kernel: -0000000300000160: nft_pcpu_tun_ctx @ 0x38208+0x2fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000001a6: -0000000300000160: nft_pcpu_tun_ctx @ 0x38208+0x2fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000030d: -Userspace: -0000000300000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000001a6: -0000000300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000030d: -0000000300000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000037c: -0000000300000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000001a6: -0000000300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000000300000160: nft_pcpu_tun_ctx @ 0x38208+0x2fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000030d: -0000000300000160: nft_pcpu_tun_ctx @ 0x38208+0x2fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000037c: -Userspace: -0000000300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000030d: -The stack size is invalid -Kernel: -0000000300000160: nft_pcpu_tun_ctx @ 0x38208+0x2fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000037c: -0000000300000160: nft_pcpu_tun_ctx @ 0x38208+0x2fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000001a6: -Userspace: -0000000300000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000037c: -0000000300000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000001a6: -The stack size is invalid -Kernel: -0000000300000160: nft_pcpu_tun_ctx @ 0x38208+0x2fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000001a6: -0000000300000160: nft_pcpu_tun_ctx @ 0x38208+0x2fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000000300000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000001a6: -0000000300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000300000160: -The stack size is invalid -Kernel: -0000000300000160: nft_pcpu_tun_ctx @ 0x38208+0x2fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000000300000160: nft_pcpu_tun_ctx @ 0x38208+0x2fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000000300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000000300000160: nft_pcpu_tun_ctx @ 0x38208+0x2fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000000300000160: nft_pcpu_tun_ctx @ 0x38208+0x2fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000000300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000300000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000003d4: -0000000300000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000037c: -The stack size is invalid -Kernel: -0000000300000160: nft_pcpu_tun_ctx @ 0x38208+0x2fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000000300000160: nft_pcpu_tun_ctx @ 0x38208+0x2fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d4: -Userspace: -0000000300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000300000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000003d4: -0000000300000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000037c: -0000000300000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -The stack size is invalid -Kernel: -0000000300000160: nft_pcpu_tun_ctx @ 0x38208+0x2fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d4: -0000000300000160: nft_pcpu_tun_ctx @ 0x38208+0x2fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000037c: -Userspace: -0000000300000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000003d4: -0000000300000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000037c: -0000000300000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000000300000160: nft_pcpu_tun_ctx @ 0x38208+0x2fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000037c: -0000000300000160: nft_pcpu_tun_ctx @ 0x38208+0x2fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a2: -Userspace: -0000000300000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000037c: -0000000300000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000000300000160: nft_pcpu_tun_ctx @ 0x38208+0x2fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a2: -0000000400000160: nft_pcpu_tun_ctx @ 0x38208+0x3fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000000300000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000400000160: -The stack size is invalid -Kernel: -0000000400000160: nft_pcpu_tun_ctx @ 0x38208+0x3fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000000400000160: nft_pcpu_tun_ctx @ 0x38208+0x3fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000037c: -Userspace: -0000000400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000400000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000037c: -0000000400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000400000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000001a6: -0000000400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000000400000160: nft_pcpu_tun_ctx @ 0x38208+0x3fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000037c: -0000000400000160: nft_pcpu_tun_ctx @ 0x38208+0x3fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000000400000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000037c: -0000000400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000400000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000001a6: -0000000400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000000400000160: nft_pcpu_tun_ctx @ 0x38208+0x3fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000000400000160: nft_pcpu_tun_ctx @ 0x38208+0x3fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000001a6: -Userspace: -0000000400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000400000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000001a6: -0000000400000160: -The stack size is invalid -Kernel: -0000000400000160: nft_pcpu_tun_ctx @ 0x38208+0x3fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000001a6: -0000000400000160: nft_pcpu_tun_ctx @ 0x38208+0x3fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000000400000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000001a6: -0000000400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000400000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000037c: -The stack size is invalid -Kernel: -0000000400000160: nft_pcpu_tun_ctx @ 0x38208+0x3fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000000400000160: nft_pcpu_tun_ctx @ 0x38208+0x3fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000000400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000000400000160: nft_pcpu_tun_ctx @ 0x38208+0x3fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000000400000160: nft_pcpu_tun_ctx @ 0x38208+0x3fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000037c: -Userspace: -0000000400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000400000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000037c: -0000000400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000000400000160: nft_pcpu_tun_ctx @ 0x38208+0x3fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000037c: -0000000400000160: nft_pcpu_tun_ctx @ 0x38208+0x3fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000000400000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000037c: -0000000400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000400000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000037c: -The stack size is invalid -Kernel: -0000000400000160: nft_pcpu_tun_ctx @ 0x38208+0x3fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000000400000160: nft_pcpu_tun_ctx @ 0x38208+0x3fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000000400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000400000160: -The stack size is invalid -Kernel: -0000000400000160: nft_pcpu_tun_ctx @ 0x38208+0x3fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000000400000160: nft_pcpu_tun_ctx @ 0x38208+0x3fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000037c: -Userspace: -0000000400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000400000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000037c: -0000000400000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000001a6: -0000000400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000000400000160: nft_pcpu_tun_ctx @ 0x38208+0x3fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000037c: -0000000400000160: nft_pcpu_tun_ctx @ 0x38208+0x3fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000001a6: -Userspace: -0000000400000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000037c: -0000000400000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000001a6: -0000000400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000500000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000003d4: -The stack size is invalid -Kernel: -0000000400000160: nft_pcpu_tun_ctx @ 0x38208+0x3fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000001a6: -0000000400000160: nft_pcpu_tun_ctx @ 0x38208+0x3fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000000400000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000001a6: -0000000400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000500000160: -The stack size is invalid -Kernel: -0000000400000160: nft_pcpu_tun_ctx @ 0x38208+0x3fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000000500000160: nft_pcpu_tun_ctx @ 0x38208+0x4fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d4: -Userspace: -0000000400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000000500000160: nft_pcpu_tun_ctx @ 0x38208+0x4fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d4: -0000000500000160: nft_pcpu_tun_ctx @ 0x38208+0x4fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000037c: -Userspace: -0000000500000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000003d4: -0000000500000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000037c: -0000000500000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000001a6: -0000000500000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -The stack size is invalid -Kernel: -0000000500000160: nft_pcpu_tun_ctx @ 0x38208+0x4fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000037c: -0000000500000160: nft_pcpu_tun_ctx @ 0x38208+0x4fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000001a6: -Userspace: -0000000500000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000037c: -0000000500000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000001a6: -0000000500000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -The stack size is invalid -Kernel: -0000000500000160: nft_pcpu_tun_ctx @ 0x38208+0x4fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000001a6: -0000000500000160: nft_pcpu_tun_ctx @ 0x38208+0x4fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a2: -Userspace: -0000000500000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000001a6: -0000000500000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000500000160: -The stack size is invalid -Kernel: -0000000500000160: nft_pcpu_tun_ctx @ 0x38208+0x4fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a2: -0000000500000160: nft_pcpu_tun_ctx @ 0x38208+0x4fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000000500000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -The stack size is invalid -Kernel: -0000000500000160: nft_pcpu_tun_ctx @ 0x38208+0x4fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000000500000160: nft_pcpu_tun_ctx @ 0x38208+0x4fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a2: -Userspace: -0000000500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000500000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000500000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000500000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -The stack size is invalid -Kernel: -0000000500000160: nft_pcpu_tun_ctx @ 0x38208+0x4fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a2: -0000000500000160: nft_pcpu_tun_ctx @ 0x38208+0x4fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000000500000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000500000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000500000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -The stack size is invalid -Kernel: -0000000500000160: nft_pcpu_tun_ctx @ 0x38208+0x4fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000000500000160: nft_pcpu_tun_ctx @ 0x38208+0x4fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a2: -Userspace: -0000000500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000500000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000500000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000000500000160: nft_pcpu_tun_ctx @ 0x38208+0x4fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a2: -0000000500000160: nft_pcpu_tun_ctx @ 0x38208+0x4fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a2: -Userspace: -0000000500000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000500000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000000500000160: nft_pcpu_tun_ctx @ 0x38208+0x4fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a2: -0000000500000160: nft_pcpu_tun_ctx @ 0x38208+0x4fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000000500000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000600000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000600000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000037c: -The stack size is invalid -Kernel: -0000000500000160: nft_pcpu_tun_ctx @ 0x38208+0x4fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000000500000160: nft_pcpu_tun_ctx @ 0x38208+0x4fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000000500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000600000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000600000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000037c: -The stack size is invalid -Kernel: -0000000500000160: nft_pcpu_tun_ctx @ 0x38208+0x4fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a2: -Userspace: -0000000500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000600000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000600000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000037c: -The stack size is invalid -Kernel: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a2: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000037c: -Userspace: -0000000600000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000600000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000037c: -0000000600000160: -65646f63000011f9: -000002ee00000000: -00000000000007af: -The stack size is invalid -Kernel: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000037c: -Userspace: -0000000600000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000037c: -0000000600000160: -65646f63000011f9: -000002ee00000000: -00000000000007af: -0000000600000160: -65646f63000011f9: -000002ee00000000: -00000000000007af: -0000000600000160: -65646f63000011f9: -000002ee00000000: -00000000000007af: -The stack size is invalid -Kernel: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -65646f63000011f9: nft_pcpu_tun_ctx @ 0x38208+0x65646f62fffc8ff1 -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000007af: -Userspace: -0000000600000160: -65646f63000011f9: -000002ee00000000: -00000000000007af: -0000000600000160: -65646f63000011f9: -000002ee00000000: -00000000000007af: -The stack size is invalid -Kernel: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000000600000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000600000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000053: -0000000600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000053: -Userspace: -0000000600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000600000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000053: -0000000600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000053: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000000600000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000053: -0000000600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -The stack size is invalid -Kernel: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000000600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000600000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a2: -Userspace: -0000000600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000600000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a2: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000000600000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000000600000160: nft_pcpu_tun_ctx @ 0x38208+0x5fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000000600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000700000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000000700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000700000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a2: -Userspace: -0000000700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000700000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a2: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000000700000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000700000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -The stack size is invalid -Kernel: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000000700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000700000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000700000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000053: -0000000700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a2: -Userspace: -0000000700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000700000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000700000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000053: -0000000700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a2: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000053: -Userspace: -0000000700000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000700000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000053: -0000000700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000700000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000037c: -The stack size is invalid -Kernel: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000053: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000000700000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000053: -0000000700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000700000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000037c: -0000000700000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000053: -0000000700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000037c: -Userspace: -The stack size is invalid -Kernel: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000037c: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000053: -Userspace: -0000000700000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000037c: -0000000700000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000053: -0000000700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000053: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000000700000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000053: -0000000700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000700000160: -The stack size is invalid -Kernel: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -The stack size is invalid -Kernel: -0000000700000160: nft_pcpu_tun_ctx @ 0x38208+0x6fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000000700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000800000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000003d4: -0000000800000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000037c: -The stack size is invalid -Kernel: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d4: -Userspace: -0000000800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000800000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000003d4: -0000000800000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000037c: -0000000800000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -The stack size is invalid -Kernel: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d4: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000037c: -Userspace: -0000000800000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000003d4: -0000000800000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000037c: -0000000800000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000037c: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a2: -Userspace: -0000000800000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000037c: -0000000800000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a2: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000000800000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000800000160: -The stack size is invalid -Kernel: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000037c: -Userspace: -0000000800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000800000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000037c: -0000000800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000800000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000053: -0000000800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000037c: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000000800000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000037c: -0000000800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000800000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000053: -0000000800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000053: -Userspace: -0000000800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000800000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000053: -0000000800000160: -The stack size is invalid -Kernel: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000053: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000000800000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000053: -0000000800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000800000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000037c: -The stack size is invalid -Kernel: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -The stack size is invalid -Kernel: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000037c: -Userspace: -0000000800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000800000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000037c: -0000000900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000000800000160: nft_pcpu_tun_ctx @ 0x38208+0x7fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000037c: -0000000900000160: nft_pcpu_tun_ctx @ 0x38208+0x8fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000000800000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000037c: -0000000900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000900000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000037c: -The stack size is invalid -Kernel: -0000000900000160: nft_pcpu_tun_ctx @ 0x38208+0x8fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000000900000160: nft_pcpu_tun_ctx @ 0x38208+0x8fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000000900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000900000160: -The stack size is invalid -Kernel: -0000000900000160: nft_pcpu_tun_ctx @ 0x38208+0x8fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000000900000160: nft_pcpu_tun_ctx @ 0x38208+0x8fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000037c: -Userspace: -0000000900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000900000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000037c: -0000000900000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000053: -0000000900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000000900000160: nft_pcpu_tun_ctx @ 0x38208+0x8fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000037c: -0000000900000160: nft_pcpu_tun_ctx @ 0x38208+0x8fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000053: -Userspace: -0000000900000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000037c: -0000000900000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000053: -0000000900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000900000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000003d4: -The stack size is invalid -Kernel: -0000000900000160: nft_pcpu_tun_ctx @ 0x38208+0x8fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000053: -0000000900000160: nft_pcpu_tun_ctx @ 0x38208+0x8fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000000900000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000053: -0000000900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000900000160: -The stack size is invalid -Kernel: -0000000900000160: nft_pcpu_tun_ctx @ 0x38208+0x8fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000000900000160: nft_pcpu_tun_ctx @ 0x38208+0x8fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d4: -Userspace: -The stack size is invalid -Kernel: -0000000900000160: nft_pcpu_tun_ctx @ 0x38208+0x8fffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d4: -0000000900000160: nft_pcpu_tun_ctx @ 0x38208+0x8fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000037c: -Userspace: -0000000900000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000003d4: -0000000900000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000037c: -0000000900000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000053: -0000000900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -The stack size is invalid -Kernel: -0000000900000160: nft_pcpu_tun_ctx @ 0x38208+0x8fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000037c: -0000000900000160: nft_pcpu_tun_ctx @ 0x38208+0x8fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000053: -Userspace: -0000000900000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000037c: -0000000900000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000053: -0000000900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -The stack size is invalid -Kernel: -0000000900000160: nft_pcpu_tun_ctx @ 0x38208+0x8fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000053: -0000000900000160: nft_pcpu_tun_ctx @ 0x38208+0x8fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a2: -Userspace: -0000000900000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000053: -0000000900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000900000160: -The stack size is invalid -Kernel: -0000000900000160: nft_pcpu_tun_ctx @ 0x38208+0x8fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a2: -0000000900000160: nft_pcpu_tun_ctx @ 0x38208+0x8fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -The stack size is invalid -Kernel: -0000000900000160: nft_pcpu_tun_ctx @ 0x38208+0x8fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000000900000160: nft_pcpu_tun_ctx @ 0x38208+0x8fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a2: -Userspace: -0000000900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000a00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000a00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -The stack size is invalid -Kernel: -0000000900000160: nft_pcpu_tun_ctx @ 0x38208+0x8fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a2: -0000000a00000160: nft_pcpu_tun_ctx @ 0x38208+0x9fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000000900000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000a00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000a00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -The stack size is invalid -Kernel: -0000000a00000160: nft_pcpu_tun_ctx @ 0x38208+0x9fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000000a00000160: nft_pcpu_tun_ctx @ 0x38208+0x9fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a2: -Userspace: -0000000a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000a00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000a00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000000a00000160: nft_pcpu_tun_ctx @ 0x38208+0x9fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a2: -0000000a00000160: nft_pcpu_tun_ctx @ 0x38208+0x9fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a2: -Userspace: -0000000a00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000a00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000000a00000160: nft_pcpu_tun_ctx @ 0x38208+0x9fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a2: -0000000a00000160: nft_pcpu_tun_ctx @ 0x38208+0x9fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000000a00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000a00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000a00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000037c: -The stack size is invalid -Kernel: -0000000a00000160: nft_pcpu_tun_ctx @ 0x38208+0x9fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000000a00000160: nft_pcpu_tun_ctx @ 0x38208+0x9fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000000a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000a00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000a00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000037c: -The stack size is invalid -Kernel: -0000000a00000160: nft_pcpu_tun_ctx @ 0x38208+0x9fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000000a00000160: nft_pcpu_tun_ctx @ 0x38208+0x9fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a2: -Userspace: -0000000a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000a00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000a00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000037c: -The stack size is invalid -Kernel: -0000000a00000160: nft_pcpu_tun_ctx @ 0x38208+0x9fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006a2: -0000000a00000160: nft_pcpu_tun_ctx @ 0x38208+0x9fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000037c: -Userspace: -0000000a00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000006a2: -0000000a00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000037c: -0000000a00000160: -65646f63000011f9: -000002ee00000000: -00000000000007af: -The stack size is invalid -Kernel: -0000000a00000160: nft_pcpu_tun_ctx @ 0x38208+0x9fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000037c: -Userspace: -0000000a00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000037c: -0000000a00000160: -65646f63000011f9: -000002ee00000000: -00000000000007af: -0000000a00000160: -65646f63000011f9: -000002ee00000000: -00000000000007af: -0000000a00000160: -65646f63000011f9: -000002ee00000000: -00000000000007af: -The stack size is invalid -Kernel: -0000000a00000160: nft_pcpu_tun_ctx @ 0x38208+0x9fffc7f58 -65646f63000011f9: nft_pcpu_tun_ctx @ 0x38208+0x65646f62fffc8ff1 -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000007af: -Userspace: -0000000a00000160: -65646f63000011f9: -000002ee00000000: -00000000000007af: -0000000a00000160: -65646f63000011f9: -000002ee00000000: -00000000000007af: -The stack size is invalid -Kernel: -0000000a00000160: nft_pcpu_tun_ctx @ 0x38208+0x9fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c6: -0000000a00000160: nft_pcpu_tun_ctx @ 0x38208+0x9fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000062a: -Userspace: -0000000a00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000004c6: -0000000a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000a00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000016c: -0000000a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -The stack size is invalid -Kernel: -0000000a00000160: nft_pcpu_tun_ctx @ 0x38208+0x9fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000062a: -0000000a00000160: nft_pcpu_tun_ctx @ 0x38208+0x9fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000016c: -Userspace: -0000000a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000a00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000016c: -0000000a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -The stack size is invalid -Kernel: -0000000a00000160: nft_pcpu_tun_ctx @ 0x38208+0x9fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000016c: -0000000a00000160: nft_pcpu_tun_ctx @ 0x38208+0x9fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000062a: -Userspace: -0000000a00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000016c: -0000000a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -The stack size is invalid -Kernel: -0000000a00000160: nft_pcpu_tun_ctx @ 0x38208+0x9fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000062a: -0000000b00000160: nft_pcpu_tun_ctx @ 0x38208+0xafffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000062a: -Userspace: -0000000a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -The stack size is invalid -Kernel: -0000000b00000160: nft_pcpu_tun_ctx @ 0x38208+0xafffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000062a: -0000000b00000160: nft_pcpu_tun_ctx @ 0x38208+0xafffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000062a: -Userspace: -0000000b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000b00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -0000000b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -The stack size is invalid -Kernel: -0000000b00000160: nft_pcpu_tun_ctx @ 0x38208+0xafffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000062a: -0000000b00000160: nft_pcpu_tun_ctx @ 0x38208+0xafffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000073a: -Userspace: -0000000b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000b00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -0000000b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -The stack size is invalid -Kernel: -0000000b00000160: nft_pcpu_tun_ctx @ 0x38208+0xafffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000073a: -0000000b00000160: nft_pcpu_tun_ctx @ 0x38208+0xafffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000062a: -Userspace: -0000000b00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -0000000b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000b00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000004c6: -The stack size is invalid -Kernel: -0000000b00000160: nft_pcpu_tun_ctx @ 0x38208+0xafffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000062a: -0000000b00000160: nft_pcpu_tun_ctx @ 0x38208+0xafffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000062a: -Userspace: -0000000b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000b00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000004c6: -0000000b00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -0000000b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -The stack size is invalid -Kernel: -0000000b00000160: nft_pcpu_tun_ctx @ 0x38208+0xafffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000062a: -0000000b00000160: nft_pcpu_tun_ctx @ 0x38208+0xafffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c6: -Userspace: -0000000b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000b00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000004c6: -0000000b00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -0000000b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -The stack size is invalid -Kernel: -0000000b00000160: nft_pcpu_tun_ctx @ 0x38208+0xafffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c6: -0000000b00000160: nft_pcpu_tun_ctx @ 0x38208+0xafffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000073a: -Userspace: -0000000b00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000004c6: -0000000b00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -0000000b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -The stack size is invalid -Kernel: -0000000b00000160: nft_pcpu_tun_ctx @ 0x38208+0xafffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000073a: -0000000b00000160: nft_pcpu_tun_ctx @ 0x38208+0xafffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000062a: -Userspace: -0000000b00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -0000000b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -The stack size is invalid -Kernel: -0000000b00000160: nft_pcpu_tun_ctx @ 0x38208+0xafffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000062a: -0000000b00000160: nft_pcpu_tun_ctx @ 0x38208+0xafffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000062a: -Userspace: -0000000b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000b00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -0000000b00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000016c: -0000000c00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000004c6: -The stack size is invalid -Kernel: -0000000b00000160: nft_pcpu_tun_ctx @ 0x38208+0xafffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000062a: -0000000b00000160: nft_pcpu_tun_ctx @ 0x38208+0xafffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000073a: -Userspace: -0000000b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000b00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -0000000b00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000016c: -0000000c00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000004c6: -The stack size is invalid -Kernel: -0000000b00000160: nft_pcpu_tun_ctx @ 0x38208+0xafffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000073a: -0000000b00000160: nft_pcpu_tun_ctx @ 0x38208+0xafffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000016c: -Userspace: -0000000b00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -0000000b00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000016c: -0000000c00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000004c6: -0000000c00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000005f3: -The stack size is invalid -Kernel: -0000000b00000160: nft_pcpu_tun_ctx @ 0x38208+0xafffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000016c: -0000000c00000160: nft_pcpu_tun_ctx @ 0x38208+0xbfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c6: -Userspace: -0000000b00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000016c: -0000000c00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000004c6: -0000000c00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000005f3: -0000000c00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000016c: -0000000c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -The stack size is invalid -Kernel: -0000000c00000160: nft_pcpu_tun_ctx @ 0x38208+0xbfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c6: -0000000c00000160: nft_pcpu_tun_ctx @ 0x38208+0xbfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f3: -Userspace: -0000000c00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000004c6: -The stack size is invalid -Kernel: -0000000c00000160: nft_pcpu_tun_ctx @ 0x38208+0xbfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f3: -0000000c00000160: nft_pcpu_tun_ctx @ 0x38208+0xbfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000016c: -Userspace: -0000000c00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000005f3: -0000000c00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000016c: -0000000c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -The stack size is invalid -Kernel: -0000000c00000160: nft_pcpu_tun_ctx @ 0x38208+0xbfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000016c: -0000000c00000160: nft_pcpu_tun_ctx @ 0x38208+0xbfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000062a: -Userspace: -0000000c00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000016c: -0000000c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -The stack size is invalid -Kernel: -0000000c00000160: nft_pcpu_tun_ctx @ 0x38208+0xbfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000062a: -0000000c00000160: nft_pcpu_tun_ctx @ 0x38208+0xbfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000062a: -Userspace: -0000000c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -The stack size is invalid -Kernel: -0000000c00000160: nft_pcpu_tun_ctx @ 0x38208+0xbfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000062a: -0000000c00000160: nft_pcpu_tun_ctx @ 0x38208+0xbfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000062a: -Userspace: -0000000c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000c00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000005f3: -0000000c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -The stack size is invalid -Kernel: -0000000c00000160: nft_pcpu_tun_ctx @ 0x38208+0xbfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000062a: -0000000c00000160: nft_pcpu_tun_ctx @ 0x38208+0xbfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f3: -Userspace: -0000000c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000c00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000005f3: -0000000c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -0000000c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -The stack size is invalid -Kernel: -0000000c00000160: nft_pcpu_tun_ctx @ 0x38208+0xbfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f3: -0000000c00000160: nft_pcpu_tun_ctx @ 0x38208+0xbfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000073a: -Userspace: -0000000c00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000005f3: -0000000c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -0000000c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000c00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000005f3: -The stack size is invalid -Kernel: -0000000c00000160: nft_pcpu_tun_ctx @ 0x38208+0xbfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000073a: -0000000c00000160: nft_pcpu_tun_ctx @ 0x38208+0xbfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000062a: -Userspace: -0000000c00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -0000000c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000c00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000005f3: -0000000c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -The stack size is invalid -Kernel: -0000000c00000160: nft_pcpu_tun_ctx @ 0x38208+0xbfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000062a: -0000000c00000160: nft_pcpu_tun_ctx @ 0x38208+0xbfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f3: -Userspace: -0000000c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000c00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000005f3: -0000000c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000c00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000016c: -0000000d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -The stack size is invalid -Kernel: -0000000c00000160: nft_pcpu_tun_ctx @ 0x38208+0xbfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f3: -0000000c00000160: nft_pcpu_tun_ctx @ 0x38208+0xbfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000062a: -Userspace: -0000000c00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000005f3: -0000000c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000c00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000016c: -0000000d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -The stack size is invalid -Kernel: -0000000c00000160: nft_pcpu_tun_ctx @ 0x38208+0xbfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000062a: -0000000c00000160: nft_pcpu_tun_ctx @ 0x38208+0xbfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000016c: -Userspace: -0000000c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000c00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000016c: -0000000d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -The stack size is invalid -Kernel: -0000000c00000160: nft_pcpu_tun_ctx @ 0x38208+0xbfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000016c: -0000000d00000160: nft_pcpu_tun_ctx @ 0x38208+0xcfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000062a: -Userspace: -0000000c00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000016c: -0000000d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000d00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000005f3: -The stack size is invalid -Kernel: -0000000d00000160: nft_pcpu_tun_ctx @ 0x38208+0xcfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000062a: -0000000d00000160: nft_pcpu_tun_ctx @ 0x38208+0xcfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000062a: -Userspace: -0000000d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -The stack size is invalid -Kernel: -0000000d00000160: nft_pcpu_tun_ctx @ 0x38208+0xcfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000062a: -0000000d00000160: nft_pcpu_tun_ctx @ 0x38208+0xcfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f3: -Userspace: -0000000d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000d00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000005f3: -0000000d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -The stack size is invalid -Kernel: -0000000d00000160: nft_pcpu_tun_ctx @ 0x38208+0xcfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f3: -0000000d00000160: nft_pcpu_tun_ctx @ 0x38208+0xcfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000062a: -Userspace: -0000000d00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000005f3: -0000000d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000d00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000005f3: -The stack size is invalid -Kernel: -0000000d00000160: nft_pcpu_tun_ctx @ 0x38208+0xcfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000062a: -0000000d00000160: nft_pcpu_tun_ctx @ 0x38208+0xcfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000062a: -Userspace: -0000000d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000d00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000005f3: -0000000d00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000016c: -The stack size is invalid -Kernel: -0000000d00000160: nft_pcpu_tun_ctx @ 0x38208+0xcfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000062a: -0000000d00000160: nft_pcpu_tun_ctx @ 0x38208+0xcfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f3: -Userspace: -0000000d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000d00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000005f3: -0000000d00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000016c: -0000000d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -The stack size is invalid -Kernel: -0000000d00000160: nft_pcpu_tun_ctx @ 0x38208+0xcfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f3: -0000000d00000160: nft_pcpu_tun_ctx @ 0x38208+0xcfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000016c: -Userspace: -0000000d00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000005f3: -0000000d00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000016c: -0000000d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000d00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000005f3: -The stack size is invalid -Kernel: -0000000d00000160: nft_pcpu_tun_ctx @ 0x38208+0xcfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000016c: -0000000d00000160: nft_pcpu_tun_ctx @ 0x38208+0xcfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000062a: -Userspace: -0000000d00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000016c: -0000000d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000d00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000005f3: -0000000d00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000016c: -The stack size is invalid -Kernel: -0000000d00000160: nft_pcpu_tun_ctx @ 0x38208+0xcfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000062a: -0000000d00000160: nft_pcpu_tun_ctx @ 0x38208+0xcfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f3: -Userspace: -0000000d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -The stack size is invalid -Kernel: -0000000d00000160: nft_pcpu_tun_ctx @ 0x38208+0xcfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f3: -0000000d00000160: nft_pcpu_tun_ctx @ 0x38208+0xcfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000016c: -Userspace: -0000000d00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000005f3: -0000000d00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000016c: -0000000d00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -0000000e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -The stack size is invalid -Kernel: -0000000d00000160: nft_pcpu_tun_ctx @ 0x38208+0xcfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000016c: -0000000d00000160: nft_pcpu_tun_ctx @ 0x38208+0xcfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000073a: -Userspace: -0000000d00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000016c: -0000000d00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -0000000e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -The stack size is invalid -Kernel: -0000000d00000160: nft_pcpu_tun_ctx @ 0x38208+0xcfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000073a: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000062a: -Userspace: -0000000d00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -The stack size is invalid -Kernel: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000062a: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000073a: -Userspace: -0000000e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -0000000e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -0000000e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -The stack size is invalid -Kernel: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000073a: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000062a: -Userspace: -0000000e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -0000000e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -0000000e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -The stack size is invalid -Kernel: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000062a: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000073a: -Userspace: -0000000e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -0000000e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -0000000e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -The stack size is invalid -Kernel: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000073a: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000073a: -Userspace: -0000000e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -0000000e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -0000000e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -The stack size is invalid -Kernel: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000073a: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000062a: -Userspace: -0000000e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -0000000e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -0000000e00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000005f3: -The stack size is invalid -Kernel: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000062a: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000062a: -Userspace: -0000000e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -0000000e00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000005f3: -0000000e00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000006f6: -The stack size is invalid -Kernel: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000062a: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000073a: -Userspace: -0000000e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000062a: -0000000e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -0000000e00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000005f3: -0000000e00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000006f6: -The stack size is invalid -Kernel: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000073a: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f3: -Userspace: -0000000e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -0000000e00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000005f3: -0000000e00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000006f6: -0000000e00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f3: -Userspace: -0000000e00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000005f3: -0000000e00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000006f6: -0000000e00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000f00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000311: -The stack size is invalid -Kernel: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -6572747300002436: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22e -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006f6: -Userspace: -0000000e00000160: -6572747300002436: -000000676e2d7373: -000002ee00000000: -00000000000006f6: -0000000e00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000f00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000311: -The stack size is invalid -Kernel: -0000000e00000160: nft_pcpu_tun_ctx @ 0x38208+0xdfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c6: -0000000f00000160: nft_pcpu_tun_ctx @ 0x38208+0xefffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -Userspace: -The stack size is invalid -Kernel: -0000000f00000160: nft_pcpu_tun_ctx @ 0x38208+0xefffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -0000000f00000160: nft_pcpu_tun_ctx @ 0x38208+0xefffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000000f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000000f00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000000f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -The stack size is invalid -Kernel: -0000000f00000160: nft_pcpu_tun_ctx @ 0x38208+0xefffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000000f00000160: nft_pcpu_tun_ctx @ 0x38208+0xefffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -Userspace: -The stack size is invalid -Kernel: -0000000f00000160: nft_pcpu_tun_ctx @ 0x38208+0xefffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -0000000f00000160: nft_pcpu_tun_ctx @ 0x38208+0xefffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -Userspace: -0000000f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000000f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000000f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000000f00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -The stack size is invalid -Kernel: -0000000f00000160: nft_pcpu_tun_ctx @ 0x38208+0xefffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -0000000f00000160: nft_pcpu_tun_ctx @ 0x38208+0xefffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -Userspace: -The stack size is invalid -Kernel: -0000000f00000160: nft_pcpu_tun_ctx @ 0x38208+0xefffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -0000000f00000160: nft_pcpu_tun_ctx @ 0x38208+0xefffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000073a: -Userspace: -The stack size is invalid -Kernel: -0000000f00000160: nft_pcpu_tun_ctx @ 0x38208+0xefffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000073a: -0000000f00000160: nft_pcpu_tun_ctx @ 0x38208+0xefffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -Userspace: -The stack size is invalid -Kernel: -0000000f00000160: nft_pcpu_tun_ctx @ 0x38208+0xefffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -0000000f00000160: nft_pcpu_tun_ctx @ 0x38208+0xefffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -Userspace: -0000000f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000000f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000000f00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000004c6: -0000000f00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -0000000f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -The stack size is invalid -Kernel: -0000000f00000160: nft_pcpu_tun_ctx @ 0x38208+0xefffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -0000000f00000160: nft_pcpu_tun_ctx @ 0x38208+0xefffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c6: -Userspace: -The stack size is invalid -Kernel: -0000000f00000160: nft_pcpu_tun_ctx @ 0x38208+0xefffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c6: -0000000f00000160: nft_pcpu_tun_ctx @ 0x38208+0xefffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000073a: -Userspace: -The stack size is invalid -Kernel: -0000000f00000160: nft_pcpu_tun_ctx @ 0x38208+0xefffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000073a: -0000000f00000160: nft_pcpu_tun_ctx @ 0x38208+0xefffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -Userspace: -0000000f00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -0000000f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000000f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -The stack size is invalid -Kernel: -0000000f00000160: nft_pcpu_tun_ctx @ 0x38208+0xefffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -0000000f00000160: nft_pcpu_tun_ctx @ 0x38208+0xefffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -Userspace: -0000000f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000000f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000001000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -0000001000000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001000000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000004c6: -The stack size is invalid -Kernel: -0000000f00000160: nft_pcpu_tun_ctx @ 0x38208+0xefffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -0000001000000160: nft_pcpu_tun_ctx @ 0x38208+0xffffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000073a: -Userspace: -The stack size is invalid -Kernel: -0000001000000160: nft_pcpu_tun_ctx @ 0x38208+0xffffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000073a: -0000001000000160: nft_pcpu_tun_ctx @ 0x38208+0xffffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -The stack size is invalid -Kernel: -0000001000000160: nft_pcpu_tun_ctx @ 0x38208+0xffffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001000000160: nft_pcpu_tun_ctx @ 0x38208+0xffffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c6: -Userspace: -0000001000000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001000000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000004c6: -0000001000000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000005f3: -0000001000000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -The stack size is invalid -Kernel: -0000001000000160: nft_pcpu_tun_ctx @ 0x38208+0xffffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c6: -0000001000000160: nft_pcpu_tun_ctx @ 0x38208+0xffffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f3: -Userspace: -0000001000000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000004c6: -0000001000000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000005f3: -0000001000000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -The stack size is invalid -Kernel: -0000001000000160: nft_pcpu_tun_ctx @ 0x38208+0xffffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f3: -0000001000000160: nft_pcpu_tun_ctx @ 0x38208+0xffffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001000000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000005f3: -0000001000000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -The stack size is invalid -Kernel: -0000001000000160: nft_pcpu_tun_ctx @ 0x38208+0xffffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001000000160: nft_pcpu_tun_ctx @ 0x38208+0xffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -Userspace: -0000001000000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000001000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000001000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -The stack size is invalid -Kernel: -0000001000000160: nft_pcpu_tun_ctx @ 0x38208+0xffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -0000001000000160: nft_pcpu_tun_ctx @ 0x38208+0xffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -Userspace: -0000001000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000001000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000001000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000001000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -The stack size is invalid -Kernel: -0000001000000160: nft_pcpu_tun_ctx @ 0x38208+0xffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -0000001000000160: nft_pcpu_tun_ctx @ 0x38208+0xffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -Userspace: -The stack size is invalid -Kernel: -0000001000000160: nft_pcpu_tun_ctx @ 0x38208+0xffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -0000001000000160: nft_pcpu_tun_ctx @ 0x38208+0xffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -Userspace: -The stack size is invalid -Kernel: -0000001000000160: nft_pcpu_tun_ctx @ 0x38208+0xffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -0000001000000160: nft_pcpu_tun_ctx @ 0x38208+0xffffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f3: -Userspace: -The stack size is invalid -Kernel: -0000001000000160: nft_pcpu_tun_ctx @ 0x38208+0xffffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f3: -0000001000000160: nft_pcpu_tun_ctx @ 0x38208+0xffffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000073a: -Userspace: -The stack size is invalid -Kernel: -0000001000000160: nft_pcpu_tun_ctx @ 0x38208+0xffffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000073a: -0000001100000160: nft_pcpu_tun_ctx @ 0x38208+0x10fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -Userspace: -0000001000000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -0000001100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000001100000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000005f3: -0000001100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -The stack size is invalid -Kernel: -0000001100000160: nft_pcpu_tun_ctx @ 0x38208+0x10fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -0000001100000160: nft_pcpu_tun_ctx @ 0x38208+0x10fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f3: -Userspace: -0000001100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000001100000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000005f3: -0000001100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000001100000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -The stack size is invalid -Kernel: -0000001100000160: nft_pcpu_tun_ctx @ 0x38208+0x10fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f3: -0000001100000160: nft_pcpu_tun_ctx @ 0x38208+0x10fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -Userspace: -The stack size is invalid -Kernel: -0000001100000160: nft_pcpu_tun_ctx @ 0x38208+0x10fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -0000001100000160: nft_pcpu_tun_ctx @ 0x38208+0x10fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000001100000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000001100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -The stack size is invalid -Kernel: -0000001100000160: nft_pcpu_tun_ctx @ 0x38208+0x10fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001100000160: nft_pcpu_tun_ctx @ 0x38208+0x10fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -Userspace: -The stack size is invalid -Kernel: -0000001100000160: nft_pcpu_tun_ctx @ 0x38208+0x10fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -0000001100000160: nft_pcpu_tun_ctx @ 0x38208+0x10fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -Userspace: -0000001100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000001100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000001100000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000005f3: -0000001100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -The stack size is invalid -Kernel: -0000001100000160: nft_pcpu_tun_ctx @ 0x38208+0x10fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -0000001100000160: nft_pcpu_tun_ctx @ 0x38208+0x10fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f3: -Userspace: -The stack size is invalid -Kernel: -0000001100000160: nft_pcpu_tun_ctx @ 0x38208+0x10fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f3: -0000001100000160: nft_pcpu_tun_ctx @ 0x38208+0x10fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -Userspace: -The stack size is invalid -Kernel: -0000001100000160: nft_pcpu_tun_ctx @ 0x38208+0x10fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -0000001100000160: nft_pcpu_tun_ctx @ 0x38208+0x10fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -Userspace: -0000001100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000001100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000001100000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000005f3: -0000001100000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001100000160: nft_pcpu_tun_ctx @ 0x38208+0x10fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -0000001100000160: nft_pcpu_tun_ctx @ 0x38208+0x10fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f3: -Userspace: -The stack size is invalid -Kernel: -0000001100000160: nft_pcpu_tun_ctx @ 0x38208+0x10fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f3: -0000001100000160: nft_pcpu_tun_ctx @ 0x38208+0x10fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -The stack size is invalid -Kernel: -0000001100000160: nft_pcpu_tun_ctx @ 0x38208+0x10fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001100000160: nft_pcpu_tun_ctx @ 0x38208+0x10fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -Userspace: -0000001100000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000001200000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001200000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000005f3: -The stack size is invalid -Kernel: -0000001100000160: nft_pcpu_tun_ctx @ 0x38208+0x10fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -0000001200000160: nft_pcpu_tun_ctx @ 0x38208+0x11fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000001200000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001200000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000005f3: -0000001200000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001200000160: nft_pcpu_tun_ctx @ 0x38208+0x11fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001200000160: nft_pcpu_tun_ctx @ 0x38208+0x11fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f3: -Userspace: -The stack size is invalid -Kernel: -0000001200000160: nft_pcpu_tun_ctx @ 0x38208+0x11fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f3: -0000001200000160: nft_pcpu_tun_ctx @ 0x38208+0x11fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001200000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000005f3: -0000001200000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -0000001200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -The stack size is invalid -Kernel: -0000001200000160: nft_pcpu_tun_ctx @ 0x38208+0x11fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001200000160: nft_pcpu_tun_ctx @ 0x38208+0x11fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000073a: -Userspace: -0000001200000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -0000001200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000001200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -The stack size is invalid -Kernel: -0000001200000160: nft_pcpu_tun_ctx @ 0x38208+0x11fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000073a: -0000001200000160: nft_pcpu_tun_ctx @ 0x38208+0x11fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -Userspace: -0000001200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -0000001200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000001200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -0000001200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -The stack size is invalid -Kernel: -0000001200000160: nft_pcpu_tun_ctx @ 0x38208+0x11fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -0000001200000160: nft_pcpu_tun_ctx @ 0x38208+0x11fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000073a: -Userspace: -0000001200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000001200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -0000001200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000001200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -0000001200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -The stack size is invalid -Kernel: -0000001200000160: nft_pcpu_tun_ctx @ 0x38208+0x11fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000073a: -0000001200000160: nft_pcpu_tun_ctx @ 0x38208+0x11fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -Userspace: -The stack size is invalid -Kernel: -0000001200000160: nft_pcpu_tun_ctx @ 0x38208+0x11fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -0000001200000160: nft_pcpu_tun_ctx @ 0x38208+0x11fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000073a: -Userspace: -0000001200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000001200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -0000001200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -0000001200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000001200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -The stack size is invalid -Kernel: -0000001200000160: nft_pcpu_tun_ctx @ 0x38208+0x11fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000073a: -0000001200000160: nft_pcpu_tun_ctx @ 0x38208+0x11fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000073a: -Userspace: -The stack size is invalid -Kernel: -0000001200000160: nft_pcpu_tun_ctx @ 0x38208+0x11fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000073a: -0000001200000160: nft_pcpu_tun_ctx @ 0x38208+0x11fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -Userspace: -0000001200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -0000001200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000001200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000001300000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -0000001300000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000005f3: -The stack size is invalid -Kernel: -0000001200000160: nft_pcpu_tun_ctx @ 0x38208+0x11fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -0000001200000160: nft_pcpu_tun_ctx @ 0x38208+0x11fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -Userspace: -0000001200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000001200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000068: -0000001300000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -000000000000073a: -0000001300000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000005f3: -0000001300000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000078: -The stack size is invalid -Kernel: -0000001200000160: nft_pcpu_tun_ctx @ 0x38208+0x11fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000068: -0000001300000160: nft_pcpu_tun_ctx @ 0x38208+0x12fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000073a: -Userspace: -The stack size is invalid -Kernel: -0000001300000160: nft_pcpu_tun_ctx @ 0x38208+0x12fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000073a: -0000001300000160: nft_pcpu_tun_ctx @ 0x38208+0x12fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f3: -Userspace: -The stack size is invalid -Kernel: -0000001300000160: nft_pcpu_tun_ctx @ 0x38208+0x12fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005f3: -Userspace: -0000001300000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -00000000000005f3: -0000001300000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000078: -0000001300000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001300000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001300000160: nft_pcpu_tun_ctx @ 0x38208+0x12fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000078: -Userspace: -0000001300000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000078: -0000001300000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001300000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001300000160: nft_pcpu_tun_ctx @ 0x38208+0x12fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000047d: -0000001300000160: nft_pcpu_tun_ctx @ 0x38208+0x12fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000012f: -Userspace: -0000001300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000047d: -The stack size is invalid -Kernel: -0000001300000160: nft_pcpu_tun_ctx @ 0x38208+0x12fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000012f: -0000001300000160: nft_pcpu_tun_ctx @ 0x38208+0x12fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000359: -Userspace: -0000001300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000012f: -0000001300000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000359: -0000001300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000012f: -The stack size is invalid -Kernel: -0000001300000160: nft_pcpu_tun_ctx @ 0x38208+0x12fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000359: -0000001300000160: nft_pcpu_tun_ctx @ 0x38208+0x12fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000012f: -Userspace: -0000001300000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000359: -The stack size is invalid -Kernel: -0000001300000160: nft_pcpu_tun_ctx @ 0x38208+0x12fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000012f: -0000001300000160: nft_pcpu_tun_ctx @ 0x38208+0x12fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000012f: -Userspace: -0000001300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000012f: -0000001300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000012f: -The stack size is invalid -Kernel: -0000001300000160: nft_pcpu_tun_ctx @ 0x38208+0x12fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000012f: -0000001300000160: nft_pcpu_tun_ctx @ 0x38208+0x12fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000012f: -Userspace: -0000001300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000012f: -The stack size is invalid -Kernel: -0000001300000160: nft_pcpu_tun_ctx @ 0x38208+0x12fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000012f: -0000001300000160: nft_pcpu_tun_ctx @ 0x38208+0x12fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000012f: -Userspace: -0000001300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000012f: -The stack size is invalid -Kernel: -0000001300000160: nft_pcpu_tun_ctx @ 0x38208+0x12fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000012f: -0000001300000160: nft_pcpu_tun_ctx @ 0x38208+0x12fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000012f: -Userspace: -0000001300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000012f: -The stack size is invalid -Kernel: -0000001300000160: nft_pcpu_tun_ctx @ 0x38208+0x12fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000012f: -0000001400000160: nft_pcpu_tun_ctx @ 0x38208+0x13fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000047d: -Userspace: -0000001300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000012f: -The stack size is invalid -Kernel: -0000001400000160: nft_pcpu_tun_ctx @ 0x38208+0x13fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000047d: -0000001400000160: nft_pcpu_tun_ctx @ 0x38208+0x13fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000012f: -Userspace: -0000001400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000047d: -The stack size is invalid -Kernel: -0000001400000160: nft_pcpu_tun_ctx @ 0x38208+0x13fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000012f: -0000001400000160: nft_pcpu_tun_ctx @ 0x38208+0x13fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000012f: -Userspace: -0000001400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000012f: -0000001400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000012f: -0000001400000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000359: -The stack size is invalid -Kernel: -0000001400000160: nft_pcpu_tun_ctx @ 0x38208+0x13fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000012f: -0000001400000160: nft_pcpu_tun_ctx @ 0x38208+0x13fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000359: -Userspace: -0000001400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000012f: -The stack size is invalid -Kernel: -0000001400000160: nft_pcpu_tun_ctx @ 0x38208+0x13fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000359: -0000001400000160: nft_pcpu_tun_ctx @ 0x38208+0x13fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000047d: -Userspace: -0000001400000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000359: -The stack size is invalid -Kernel: -0000001400000160: nft_pcpu_tun_ctx @ 0x38208+0x13fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000047d: -0000001400000160: nft_pcpu_tun_ctx @ 0x38208+0x13fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000286: -Userspace: -0000001400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000047d: -0000001400000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000286: -The stack size is invalid -Kernel: -0000001400000160: nft_pcpu_tun_ctx @ 0x38208+0x13fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000286: -0000001400000160: nft_pcpu_tun_ctx @ 0x38208+0x13fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000359: -Userspace: -0000001400000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000286: -0000001400000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000359: -0000001400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000012f: -The stack size is invalid -Kernel: -0000001400000160: nft_pcpu_tun_ctx @ 0x38208+0x13fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000359: -0000001400000160: nft_pcpu_tun_ctx @ 0x38208+0x13fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000012f: -Userspace: -0000001400000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000359: -0000001400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000012f: -The stack size is invalid -Kernel: -0000001400000160: nft_pcpu_tun_ctx @ 0x38208+0x13fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000012f: -0000001400000160: nft_pcpu_tun_ctx @ 0x38208+0x13fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000012f: -Userspace: -0000001400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000012f: -0000001400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000012f: -The stack size is invalid -Kernel: -0000001400000160: nft_pcpu_tun_ctx @ 0x38208+0x13fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000012f: -0000001400000160: nft_pcpu_tun_ctx @ 0x38208+0x13fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000012f: -Userspace: -0000001400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000012f: -The stack size is invalid -Kernel: -0000001400000160: nft_pcpu_tun_ctx @ 0x38208+0x13fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000012f: -0000001400000160: nft_pcpu_tun_ctx @ 0x38208+0x13fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000012f: -Userspace: -0000001400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000012f: -The stack size is invalid -Kernel: -0000001400000160: nft_pcpu_tun_ctx @ 0x38208+0x13fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000012f: -0000001400000160: nft_pcpu_tun_ctx @ 0x38208+0x13fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000286: -Userspace: -0000001400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000012f: -The stack size is invalid -Kernel: -0000001400000160: nft_pcpu_tun_ctx @ 0x38208+0x13fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000286: -0000001500000160: nft_pcpu_tun_ctx @ 0x38208+0x14fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000012f: -Userspace: -0000001400000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000286: -The stack size is invalid -Kernel: -0000001500000160: nft_pcpu_tun_ctx @ 0x38208+0x14fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000012f: -0000001500000160: nft_pcpu_tun_ctx @ 0x38208+0x14fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000286: -Userspace: -0000001500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000012f: -0000001500000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000286: -The stack size is invalid -Kernel: -0000001500000160: nft_pcpu_tun_ctx @ 0x38208+0x14fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000286: -0000001500000160: nft_pcpu_tun_ctx @ 0x38208+0x14fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000012f: -Userspace: -0000001500000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000286: -The stack size is invalid -Kernel: -0000001500000160: nft_pcpu_tun_ctx @ 0x38208+0x14fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000012f: -0000001500000160: nft_pcpu_tun_ctx @ 0x38208+0x14fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000359: -Userspace: -0000001500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000012f: -0000001500000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000359: -The stack size is invalid -Kernel: -0000001500000160: nft_pcpu_tun_ctx @ 0x38208+0x14fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000359: -0000001500000160: nft_pcpu_tun_ctx @ 0x38208+0x14fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000012f: -Userspace: -0000001500000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000359: -The stack size is invalid -Kernel: -0000001500000160: nft_pcpu_tun_ctx @ 0x38208+0x14fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000012f: -0000001500000160: nft_pcpu_tun_ctx @ 0x38208+0x14fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000012f: -Userspace: -0000001500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000012f: -0000001500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000012f: -The stack size is invalid -Kernel: -0000001500000160: nft_pcpu_tun_ctx @ 0x38208+0x14fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000012f: -0000001500000160: nft_pcpu_tun_ctx @ 0x38208+0x14fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000286: -Userspace: -0000001500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000012f: -The stack size is invalid -Kernel: -0000001500000160: nft_pcpu_tun_ctx @ 0x38208+0x14fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000286: -0000001500000160: nft_pcpu_tun_ctx @ 0x38208+0x14fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000012f: -Userspace: -0000001500000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000286: -The stack size is invalid -Kernel: -0000001500000160: nft_pcpu_tun_ctx @ 0x38208+0x14fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000012f: -0000001500000160: nft_pcpu_tun_ctx @ 0x38208+0x14fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000012f: -Userspace: -0000001500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000012f: -0000001500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000012f: -The stack size is invalid -Kernel: -0000001500000160: nft_pcpu_tun_ctx @ 0x38208+0x14fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000012f: -0000001500000160: nft_pcpu_tun_ctx @ 0x38208+0x14fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000286: -Userspace: -0000001500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000012f: -The stack size is invalid -Kernel: -0000001500000160: nft_pcpu_tun_ctx @ 0x38208+0x14fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000286: -0000001500000160: nft_pcpu_tun_ctx @ 0x38208+0x14fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000359: -Userspace: -0000001500000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000286: -The stack size is invalid -Kernel: -0000001500000160: nft_pcpu_tun_ctx @ 0x38208+0x14fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000359: -0000001600000160: nft_pcpu_tun_ctx @ 0x38208+0x15fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000012f: -Userspace: -0000001500000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000359: -0000001600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000012f: -The stack size is invalid -Kernel: -0000001600000160: nft_pcpu_tun_ctx @ 0x38208+0x15fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000012f: -0000001600000160: nft_pcpu_tun_ctx @ 0x38208+0x15fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000359: -Userspace: -0000001600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000012f: -0000001600000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000359: -The stack size is invalid -Kernel: -0000001600000160: nft_pcpu_tun_ctx @ 0x38208+0x15fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000359: -0000001600000160: nft_pcpu_tun_ctx @ 0x38208+0x15fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000286: -Userspace: -0000001600000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000359: -The stack size is invalid -Kernel: -0000001600000160: nft_pcpu_tun_ctx @ 0x38208+0x15fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000286: -0000001600000160: nft_pcpu_tun_ctx @ 0x38208+0x15fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000359: -Userspace: -0000001600000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000286: -0000001600000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000359: -The stack size is invalid -Kernel: -0000001600000160: nft_pcpu_tun_ctx @ 0x38208+0x15fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000359: -0000001600000160: nft_pcpu_tun_ctx @ 0x38208+0x15fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000012f: -Userspace: -0000001600000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000359: -0000001600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000012f: -The stack size is invalid -Kernel: -0000001600000160: nft_pcpu_tun_ctx @ 0x38208+0x15fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000012f: -0000001600000160: nft_pcpu_tun_ctx @ 0x38208+0x15fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000012f: -Userspace: -0000001600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000012f: -0000001600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000012f: -The stack size is invalid -Kernel: -0000001600000160: nft_pcpu_tun_ctx @ 0x38208+0x15fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000012f: -0000001600000160: nft_pcpu_tun_ctx @ 0x38208+0x15fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000012f: -Userspace: -0000001600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000012f: -The stack size is invalid -Kernel: -0000001600000160: nft_pcpu_tun_ctx @ 0x38208+0x15fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000012f: -0000001600000160: nft_pcpu_tun_ctx @ 0x38208+0x15fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000012f: -Userspace: -0000001600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000012f: -The stack size is invalid -Kernel: -0000001600000160: nft_pcpu_tun_ctx @ 0x38208+0x15fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000012f: -0000001600000160: nft_pcpu_tun_ctx @ 0x38208+0x15fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000286: -Userspace: -0000001600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -000000000000012f: -The stack size is invalid -Kernel: -0000001600000160: nft_pcpu_tun_ctx @ 0x38208+0x15fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000286: -Userspace: -0000001600000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000286: -The stack size is invalid -Kernel: -0000001600000160: nft_pcpu_tun_ctx @ 0x38208+0x15fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004a1: -Userspace: -0000001600000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000004a1: -The stack size is invalid -Kernel: -0000001600000160: nft_pcpu_tun_ctx @ 0x38208+0x15fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000047d: -0000001700000160: nft_pcpu_tun_ctx @ 0x38208+0x16fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -Userspace: -0000001600000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000047d: -0000001700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -The stack size is invalid -Kernel: -0000001700000160: nft_pcpu_tun_ctx @ 0x38208+0x16fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -0000001700000160: nft_pcpu_tun_ctx @ 0x38208+0x16fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000359: -Userspace: -0000001700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000001700000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000359: -0000001700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -The stack size is invalid -Kernel: -0000001700000160: nft_pcpu_tun_ctx @ 0x38208+0x16fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000359: -0000001700000160: nft_pcpu_tun_ctx @ 0x38208+0x16fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -Userspace: -0000001700000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000359: -0000001700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -The stack size is invalid -Kernel: -0000001700000160: nft_pcpu_tun_ctx @ 0x38208+0x16fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -0000001700000160: nft_pcpu_tun_ctx @ 0x38208+0x16fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -Userspace: -0000001700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000001700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -The stack size is invalid -Kernel: -0000001700000160: nft_pcpu_tun_ctx @ 0x38208+0x16fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -0000001700000160: nft_pcpu_tun_ctx @ 0x38208+0x16fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -Userspace: -0000001700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000001700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -The stack size is invalid -Kernel: -0000001700000160: nft_pcpu_tun_ctx @ 0x38208+0x16fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -0000001700000160: nft_pcpu_tun_ctx @ 0x38208+0x16fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000001700000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001700000160: nft_pcpu_tun_ctx @ 0x38208+0x16fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001700000160: nft_pcpu_tun_ctx @ 0x38208+0x16fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -Userspace: -0000001700000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -The stack size is invalid -Kernel: -0000001700000160: nft_pcpu_tun_ctx @ 0x38208+0x16fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -0000001700000160: nft_pcpu_tun_ctx @ 0x38208+0x16fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -Userspace: -0000001700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000001700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000001700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000047d: -0000001700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -The stack size is invalid -Kernel: -0000001700000160: nft_pcpu_tun_ctx @ 0x38208+0x16fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -0000001700000160: nft_pcpu_tun_ctx @ 0x38208+0x16fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000047d: -Userspace: -0000001700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000001700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000047d: -The stack size is invalid -Kernel: -0000001700000160: nft_pcpu_tun_ctx @ 0x38208+0x16fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000047d: -0000001700000160: nft_pcpu_tun_ctx @ 0x38208+0x16fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -Userspace: -0000001700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000047d: -0000001700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -The stack size is invalid -Kernel: -0000001700000160: nft_pcpu_tun_ctx @ 0x38208+0x16fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -0000001700000160: nft_pcpu_tun_ctx @ 0x38208+0x16fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -Userspace: -0000001700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000001700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000001700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -The stack size is invalid -Kernel: -0000001700000160: nft_pcpu_tun_ctx @ 0x38208+0x16fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -0000001700000160: nft_pcpu_tun_ctx @ 0x38208+0x16fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -Userspace: -0000001700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000001700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -The stack size is invalid -Kernel: -0000001700000160: nft_pcpu_tun_ctx @ 0x38208+0x16fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -0000001800000160: nft_pcpu_tun_ctx @ 0x38208+0x17fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000001800000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001800000160: nft_pcpu_tun_ctx @ 0x38208+0x17fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001800000160: nft_pcpu_tun_ctx @ 0x38208+0x17fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000359: -Userspace: -0000001800000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001800000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000359: -The stack size is invalid -Kernel: -0000001800000160: nft_pcpu_tun_ctx @ 0x38208+0x17fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000359: -0000001800000160: nft_pcpu_tun_ctx @ 0x38208+0x17fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000047d: -Userspace: -0000001800000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000359: -0000001800000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000047d: -0000001800000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000286: -0000001800000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000359: -The stack size is invalid -Kernel: -0000001800000160: nft_pcpu_tun_ctx @ 0x38208+0x17fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000047d: -0000001800000160: nft_pcpu_tun_ctx @ 0x38208+0x17fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000286: -Userspace: -0000001800000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -000000000000047d: -0000001800000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000286: -The stack size is invalid -Kernel: -0000001800000160: nft_pcpu_tun_ctx @ 0x38208+0x17fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000286: -0000001800000160: nft_pcpu_tun_ctx @ 0x38208+0x17fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000359: -Userspace: -0000001800000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000286: -0000001800000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000359: -0000001800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -The stack size is invalid -Kernel: -0000001800000160: nft_pcpu_tun_ctx @ 0x38208+0x17fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000359: -0000001800000160: nft_pcpu_tun_ctx @ 0x38208+0x17fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -Userspace: -0000001800000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000359: -0000001800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -The stack size is invalid -Kernel: -0000001800000160: nft_pcpu_tun_ctx @ 0x38208+0x17fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -0000001800000160: nft_pcpu_tun_ctx @ 0x38208+0x17fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -Userspace: -0000001800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000001800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -The stack size is invalid -Kernel: -0000001800000160: nft_pcpu_tun_ctx @ 0x38208+0x17fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -0000001800000160: nft_pcpu_tun_ctx @ 0x38208+0x17fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -Userspace: -0000001800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000001800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -The stack size is invalid -Kernel: -0000001800000160: nft_pcpu_tun_ctx @ 0x38208+0x17fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -0000001800000160: nft_pcpu_tun_ctx @ 0x38208+0x17fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -Userspace: -0000001800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000001800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -The stack size is invalid -Kernel: -0000001800000160: nft_pcpu_tun_ctx @ 0x38208+0x17fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -0000001800000160: nft_pcpu_tun_ctx @ 0x38208+0x17fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000286: -Userspace: -0000001800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000001800000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000286: -The stack size is invalid -Kernel: -0000001800000160: nft_pcpu_tun_ctx @ 0x38208+0x17fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000286: -0000001800000160: nft_pcpu_tun_ctx @ 0x38208+0x17fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -Userspace: -0000001800000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000286: -0000001800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -The stack size is invalid -Kernel: -0000001800000160: nft_pcpu_tun_ctx @ 0x38208+0x17fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -0000001900000160: nft_pcpu_tun_ctx @ 0x38208+0x18fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000286: -Userspace: -0000001800000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000001900000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000286: -The stack size is invalid -Kernel: -0000001900000160: nft_pcpu_tun_ctx @ 0x38208+0x18fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000286: -0000001900000160: nft_pcpu_tun_ctx @ 0x38208+0x18fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -Userspace: -0000001900000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000286: -0000001900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -The stack size is invalid -Kernel: -0000001900000160: nft_pcpu_tun_ctx @ 0x38208+0x18fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -0000001900000160: nft_pcpu_tun_ctx @ 0x38208+0x18fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000359: -Userspace: -0000001900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000001900000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000359: -The stack size is invalid -Kernel: -0000001900000160: nft_pcpu_tun_ctx @ 0x38208+0x18fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000359: -0000001900000160: nft_pcpu_tun_ctx @ 0x38208+0x18fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -Userspace: -0000001900000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000359: -0000001900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -The stack size is invalid -Kernel: -0000001900000160: nft_pcpu_tun_ctx @ 0x38208+0x18fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -0000001900000160: nft_pcpu_tun_ctx @ 0x38208+0x18fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -Userspace: -0000001900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000001900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -The stack size is invalid -Kernel: -0000001900000160: nft_pcpu_tun_ctx @ 0x38208+0x18fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -0000001900000160: nft_pcpu_tun_ctx @ 0x38208+0x18fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000286: -Userspace: -0000001900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000001900000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000286: -The stack size is invalid -Kernel: -0000001900000160: nft_pcpu_tun_ctx @ 0x38208+0x18fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000286: -0000001900000160: nft_pcpu_tun_ctx @ 0x38208+0x18fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -Userspace: -0000001900000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000286: -0000001900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -The stack size is invalid -Kernel: -0000001900000160: nft_pcpu_tun_ctx @ 0x38208+0x18fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -0000001900000160: nft_pcpu_tun_ctx @ 0x38208+0x18fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -Userspace: -0000001900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000001900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -The stack size is invalid -Kernel: -0000001900000160: nft_pcpu_tun_ctx @ 0x38208+0x18fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -0000001900000160: nft_pcpu_tun_ctx @ 0x38208+0x18fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000286: -Userspace: -0000001900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000001900000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000286: -The stack size is invalid -Kernel: -0000001900000160: nft_pcpu_tun_ctx @ 0x38208+0x18fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000286: -0000001900000160: nft_pcpu_tun_ctx @ 0x38208+0x18fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000359: -Userspace: -0000001900000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000286: -0000001900000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000359: -The stack size is invalid -Kernel: -0000001900000160: nft_pcpu_tun_ctx @ 0x38208+0x18fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000359: -0000001900000160: nft_pcpu_tun_ctx @ 0x38208+0x18fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -Userspace: -0000001900000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000359: -0000001900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -The stack size is invalid -Kernel: -0000001900000160: nft_pcpu_tun_ctx @ 0x38208+0x18fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -0000001900000160: nft_pcpu_tun_ctx @ 0x38208+0x18fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000359: -Userspace: -0000001900000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000001900000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000359: -The stack size is invalid -Kernel: -0000001900000160: nft_pcpu_tun_ctx @ 0x38208+0x18fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000359: -0000001a00000160: nft_pcpu_tun_ctx @ 0x38208+0x19fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000286: -Userspace: -0000001900000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000359: -0000001a00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000286: -The stack size is invalid -Kernel: -0000001a00000160: nft_pcpu_tun_ctx @ 0x38208+0x19fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000286: -0000001a00000160: nft_pcpu_tun_ctx @ 0x38208+0x19fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000359: -Userspace: -0000001a00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000286: -0000001a00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000359: -The stack size is invalid -Kernel: -0000001a00000160: nft_pcpu_tun_ctx @ 0x38208+0x19fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000359: -0000001a00000160: nft_pcpu_tun_ctx @ 0x38208+0x19fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -Userspace: -0000001a00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000359: -0000001a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -The stack size is invalid -Kernel: -0000001a00000160: nft_pcpu_tun_ctx @ 0x38208+0x19fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -0000001a00000160: nft_pcpu_tun_ctx @ 0x38208+0x19fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -Userspace: -0000001a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000001a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -The stack size is invalid -Kernel: -0000001a00000160: nft_pcpu_tun_ctx @ 0x38208+0x19fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -0000001a00000160: nft_pcpu_tun_ctx @ 0x38208+0x19fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -Userspace: -0000001a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000001a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -The stack size is invalid -Kernel: -0000001a00000160: nft_pcpu_tun_ctx @ 0x38208+0x19fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -0000001a00000160: nft_pcpu_tun_ctx @ 0x38208+0x19fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -Userspace: -0000001a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000001a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -The stack size is invalid -Kernel: -0000001a00000160: nft_pcpu_tun_ctx @ 0x38208+0x19fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000002cc: -0000001a00000160: nft_pcpu_tun_ctx @ 0x38208+0x19fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000286: -Userspace: -0000001a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000002cc: -0000001a00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000286: -The stack size is invalid -Kernel: -0000001a00000160: nft_pcpu_tun_ctx @ 0x38208+0x19fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000286: -Userspace: -0000001a00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000286: -0000001a00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000004a1: -The stack size is invalid -Kernel: -0000001a00000160: nft_pcpu_tun_ctx @ 0x38208+0x19fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004a1: -Userspace: -0000001a00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -00000000000004a1: -The stack size is invalid -Kernel: -0000001a00000160: nft_pcpu_tun_ctx @ 0x38208+0x19fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001a00000160: nft_pcpu_tun_ctx @ 0x38208+0x19fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000047b: -Userspace: -0000001a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001a00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000047b: -0000001a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001a00000160: nft_pcpu_tun_ctx @ 0x38208+0x19fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000047b: -0000001a00000160: nft_pcpu_tun_ctx @ 0x38208+0x19fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001a00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000047b: -0000001a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001a00000160: nft_pcpu_tun_ctx @ 0x38208+0x19fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001b00000160: nft_pcpu_tun_ctx @ 0x38208+0x1afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001a00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001b00000160: nft_pcpu_tun_ctx @ 0x38208+0x1afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001b00000160: nft_pcpu_tun_ctx @ 0x38208+0x1afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001b00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001b00000160: nft_pcpu_tun_ctx @ 0x38208+0x1afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001b00000160: nft_pcpu_tun_ctx @ 0x38208+0x1afffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001b00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001b00000160: nft_pcpu_tun_ctx @ 0x38208+0x1afffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001b00000160: nft_pcpu_tun_ctx @ 0x38208+0x1afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001b00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001b00000160: nft_pcpu_tun_ctx @ 0x38208+0x1afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001b00000160: nft_pcpu_tun_ctx @ 0x38208+0x1afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001b00000160: nft_pcpu_tun_ctx @ 0x38208+0x1afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001b00000160: nft_pcpu_tun_ctx @ 0x38208+0x1afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001b00000160: nft_pcpu_tun_ctx @ 0x38208+0x1afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001b00000160: nft_pcpu_tun_ctx @ 0x38208+0x1afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001b00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001b00000160: nft_pcpu_tun_ctx @ 0x38208+0x1afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001b00000160: nft_pcpu_tun_ctx @ 0x38208+0x1afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001b00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001b00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000047b: -The stack size is invalid -Kernel: -0000001b00000160: nft_pcpu_tun_ctx @ 0x38208+0x1afffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001b00000160: nft_pcpu_tun_ctx @ 0x38208+0x1afffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001b00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001b00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001b00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000047b: -0000001b00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -The stack size is invalid -Kernel: -0000001b00000160: nft_pcpu_tun_ctx @ 0x38208+0x1afffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001b00000160: nft_pcpu_tun_ctx @ 0x38208+0x1afffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000047b: -Userspace: -0000001b00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001b00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000047b: -0000001b00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -0000001c00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000047b: -The stack size is invalid -Kernel: -0000001b00000160: nft_pcpu_tun_ctx @ 0x38208+0x1afffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000047b: -0000001b00000160: nft_pcpu_tun_ctx @ 0x38208+0x1afffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000054: -Userspace: -0000001b00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000047b: -0000001b00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -0000001c00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000047b: -0000001c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001b00000160: nft_pcpu_tun_ctx @ 0x38208+0x1afffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000054: -0000001c00000160: nft_pcpu_tun_ctx @ 0x38208+0x1bfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000047b: -Userspace: -0000001b00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -0000001c00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000047b: -0000001c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001c00000160: nft_pcpu_tun_ctx @ 0x38208+0x1bfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000047b: -0000001c00000160: nft_pcpu_tun_ctx @ 0x38208+0x1bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -The stack size is invalid -Kernel: -0000001c00000160: nft_pcpu_tun_ctx @ 0x38208+0x1bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001c00000160: nft_pcpu_tun_ctx @ 0x38208+0x1bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001c00000160: nft_pcpu_tun_ctx @ 0x38208+0x1bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001c00000160: nft_pcpu_tun_ctx @ 0x38208+0x1bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001c00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -The stack size is invalid -Kernel: -0000001c00000160: nft_pcpu_tun_ctx @ 0x38208+0x1bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001c00000160: nft_pcpu_tun_ctx @ 0x38208+0x1bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001c00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -0000001c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001c00000160: nft_pcpu_tun_ctx @ 0x38208+0x1bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001c00000160: nft_pcpu_tun_ctx @ 0x38208+0x1bfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000054: -Userspace: -0000001c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001c00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -0000001c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001c00000160: nft_pcpu_tun_ctx @ 0x38208+0x1bfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000054: -0000001c00000160: nft_pcpu_tun_ctx @ 0x38208+0x1bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001c00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -0000001c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001c00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -The stack size is invalid -Kernel: -0000001c00000160: nft_pcpu_tun_ctx @ 0x38208+0x1bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001c00000160: nft_pcpu_tun_ctx @ 0x38208+0x1bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -The stack size is invalid -Kernel: -0000001c00000160: nft_pcpu_tun_ctx @ 0x38208+0x1bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001c00000160: nft_pcpu_tun_ctx @ 0x38208+0x1bfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000054: -Userspace: -0000001c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001c00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -0000001c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001c00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000047b: -The stack size is invalid -Kernel: -0000001c00000160: nft_pcpu_tun_ctx @ 0x38208+0x1bfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000054: -0000001c00000160: nft_pcpu_tun_ctx @ 0x38208+0x1bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001c00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -0000001c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001c00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000047b: -0000001c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001c00000160: nft_pcpu_tun_ctx @ 0x38208+0x1bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001c00000160: nft_pcpu_tun_ctx @ 0x38208+0x1bfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000047b: -Userspace: -The stack size is invalid -Kernel: -0000001c00000160: nft_pcpu_tun_ctx @ 0x38208+0x1bfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000047b: -0000001c00000160: nft_pcpu_tun_ctx @ 0x38208+0x1bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001c00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000047b: -0000001c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001d00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -The stack size is invalid -Kernel: -0000001c00000160: nft_pcpu_tun_ctx @ 0x38208+0x1bfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001d00000160: nft_pcpu_tun_ctx @ 0x38208+0x1cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001c00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001d00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -The stack size is invalid -Kernel: -0000001d00000160: nft_pcpu_tun_ctx @ 0x38208+0x1cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001d00000160: nft_pcpu_tun_ctx @ 0x38208+0x1cfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000054: -Userspace: -0000001d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001d00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -0000001d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001d00000160: nft_pcpu_tun_ctx @ 0x38208+0x1cfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000054: -0000001d00000160: nft_pcpu_tun_ctx @ 0x38208+0x1cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001d00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -0000001d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001d00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -The stack size is invalid -Kernel: -0000001d00000160: nft_pcpu_tun_ctx @ 0x38208+0x1cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001d00000160: nft_pcpu_tun_ctx @ 0x38208+0x1cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -The stack size is invalid -Kernel: -0000001d00000160: nft_pcpu_tun_ctx @ 0x38208+0x1cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001d00000160: nft_pcpu_tun_ctx @ 0x38208+0x1cfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000054: -Userspace: -0000001d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001d00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -0000001d00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000047b: -0000001d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001d00000160: nft_pcpu_tun_ctx @ 0x38208+0x1cfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000054: -0000001d00000160: nft_pcpu_tun_ctx @ 0x38208+0x1cfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000047b: -Userspace: -0000001d00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -0000001d00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000047b: -0000001d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001d00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000047b: -The stack size is invalid -Kernel: -0000001d00000160: nft_pcpu_tun_ctx @ 0x38208+0x1cfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000047b: -0000001d00000160: nft_pcpu_tun_ctx @ 0x38208+0x1cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -The stack size is invalid -Kernel: -0000001d00000160: nft_pcpu_tun_ctx @ 0x38208+0x1cfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001d00000160: nft_pcpu_tun_ctx @ 0x38208+0x1cfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000047b: -Userspace: -0000001d00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001d00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000047b: -0000001d00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -The stack size is invalid -Kernel: -0000001d00000160: nft_pcpu_tun_ctx @ 0x38208+0x1cfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000047b: -0000001d00000160: nft_pcpu_tun_ctx @ 0x38208+0x1cfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000054: -Userspace: -0000001d00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000047b: -0000001d00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -0000001d00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000047b: -0000001d00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000047b: -The stack size is invalid -Kernel: -0000001d00000160: nft_pcpu_tun_ctx @ 0x38208+0x1cfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000054: -0000001d00000160: nft_pcpu_tun_ctx @ 0x38208+0x1cfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000047b: -Userspace: -0000001d00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -0000001d00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000047b: -0000001d00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000047b: -The stack size is invalid -Kernel: -0000001d00000160: nft_pcpu_tun_ctx @ 0x38208+0x1cfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000047b: -0000001d00000160: nft_pcpu_tun_ctx @ 0x38208+0x1cfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000047b: -Userspace: -The stack size is invalid -Kernel: -0000001d00000160: nft_pcpu_tun_ctx @ 0x38208+0x1cfffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000047b: -0000001e00000160: nft_pcpu_tun_ctx @ 0x38208+0x1dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001d00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000047b: -0000001e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001e00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -The stack size is invalid -Kernel: -0000001e00000160: nft_pcpu_tun_ctx @ 0x38208+0x1dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001e00000160: nft_pcpu_tun_ctx @ 0x38208+0x1dfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000054: -Userspace: -0000001e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001e00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -0000001e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001e00000160: nft_pcpu_tun_ctx @ 0x38208+0x1dfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000054: -0000001e00000160: nft_pcpu_tun_ctx @ 0x38208+0x1dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001e00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -0000001e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001e00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -000000000000024e: -The stack size is invalid -Kernel: -0000001e00000160: nft_pcpu_tun_ctx @ 0x38208+0x1dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001e00000160: nft_pcpu_tun_ctx @ 0x38208+0x1dfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -The stack size is invalid -Kernel: -0000001e00000160: nft_pcpu_tun_ctx @ 0x38208+0x1dfffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001e00000160: nft_pcpu_tun_ctx @ 0x38208+0x1dfffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000024e: -Userspace: -0000001e00000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001e00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -000000000000024e: -0000001e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001e00000160: nft_pcpu_tun_ctx @ 0x38208+0x1dfffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000024e: -0000001e00000160: nft_pcpu_tun_ctx @ 0x38208+0x1dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001e00000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -000000000000024e: -0000001e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001e00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -The stack size is invalid -Kernel: -0000001e00000160: nft_pcpu_tun_ctx @ 0x38208+0x1dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001e00000160: nft_pcpu_tun_ctx @ 0x38208+0x1dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000001e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001e00000160: nft_pcpu_tun_ctx @ 0x38208+0x1dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001e00000160: nft_pcpu_tun_ctx @ 0x38208+0x1dfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000054: -Userspace: -0000001e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001e00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -0000001e00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000005b5: -The stack size is invalid -Kernel: -0000001e00000160: nft_pcpu_tun_ctx @ 0x38208+0x1dfffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000054: -Userspace: -0000001e00000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -0000001e00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000005b5: -0000001e00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001e00000160: nft_pcpu_tun_ctx @ 0x38208+0x1dfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000005b5: -Userspace: -The stack size is invalid -Kernel: -0000001e00000160: nft_pcpu_tun_ctx @ 0x38208+0x1dfffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000001e00000160: nft_pcpu_tun_ctx @ 0x38208+0x1dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -Userspace: -0000001e00000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000001e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000001f00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -The stack size is invalid -Kernel: -0000001e00000160: nft_pcpu_tun_ctx @ 0x38208+0x1dfffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -0000001f00000160: nft_pcpu_tun_ctx @ 0x38208+0x1efffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008f: -Userspace: -0000001e00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000001f00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -The stack size is invalid -Kernel: -0000001f00000160: nft_pcpu_tun_ctx @ 0x38208+0x1efffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008f: -0000001f00000160: nft_pcpu_tun_ctx @ 0x38208+0x1efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -Userspace: -0000001f00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000001f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -The stack size is invalid -Kernel: -0000001f00000160: nft_pcpu_tun_ctx @ 0x38208+0x1efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -0000001f00000160: nft_pcpu_tun_ctx @ 0x38208+0x1efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -Userspace: -The stack size is invalid -Kernel: -0000001f00000160: nft_pcpu_tun_ctx @ 0x38208+0x1efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -0000001f00000160: nft_pcpu_tun_ctx @ 0x38208+0x1efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -Userspace: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000001f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -The stack size is invalid -Kernel: -0000001f00000160: nft_pcpu_tun_ctx @ 0x38208+0x1efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -0000001f00000160: nft_pcpu_tun_ctx @ 0x38208+0x1efffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -Userspace: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000001f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000001f00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000008f: -The stack size is invalid -Kernel: -0000001f00000160: nft_pcpu_tun_ctx @ 0x38208+0x1efffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -0000001f00000160: nft_pcpu_tun_ctx @ 0x38208+0x1efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -Userspace: -0000001f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000001f00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -The stack size is invalid -Kernel: -0000001f00000160: nft_pcpu_tun_ctx @ 0x38208+0x1efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -0000001f00000160: nft_pcpu_tun_ctx @ 0x38208+0x1efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -Userspace: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000001f00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000008f: -The stack size is invalid -Kernel: -0000001f00000160: nft_pcpu_tun_ctx @ 0x38208+0x1efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -0000001f00000160: nft_pcpu_tun_ctx @ 0x38208+0x1efffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008f: -Userspace: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000001f00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -The stack size is invalid -Kernel: -0000001f00000160: nft_pcpu_tun_ctx @ 0x38208+0x1efffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008f: -0000001f00000160: nft_pcpu_tun_ctx @ 0x38208+0x1efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -Userspace: -0000001f00000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000001f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -The stack size is invalid -Kernel: -0000001f00000160: nft_pcpu_tun_ctx @ 0x38208+0x1efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -0000001f00000160: nft_pcpu_tun_ctx @ 0x38208+0x1efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -Userspace: -The stack size is invalid -Kernel: -0000001f00000160: nft_pcpu_tun_ctx @ 0x38208+0x1efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -0000001f00000160: nft_pcpu_tun_ctx @ 0x38208+0x1efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -Userspace: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000001f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000002000000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000002000000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000001f00000160: nft_pcpu_tun_ctx @ 0x38208+0x1efffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -0000001f00000160: nft_pcpu_tun_ctx @ 0x38208+0x1efffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -Userspace: -0000001f00000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000001f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000002000000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000002000000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002000000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -The stack size is invalid -Kernel: -0000001f00000160: nft_pcpu_tun_ctx @ 0x38208+0x1efffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -0000002000000160: nft_pcpu_tun_ctx @ 0x38208+0x1ffffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008f: -Userspace: -0000001f00000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000002000000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000002000000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002000000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -0000002000000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000008f: -The stack size is invalid -Kernel: -0000002000000160: nft_pcpu_tun_ctx @ 0x38208+0x1ffffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008f: -0000002000000160: nft_pcpu_tun_ctx @ 0x38208+0x1ffffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002000000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000002000000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002000000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -The stack size is invalid -Kernel: -0000002000000160: nft_pcpu_tun_ctx @ 0x38208+0x1ffffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002000000160: nft_pcpu_tun_ctx @ 0x38208+0x1ffffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000054: -Userspace: -The stack size is invalid -Kernel: -0000002000000160: nft_pcpu_tun_ctx @ 0x38208+0x1ffffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000054: -0000002000000160: nft_pcpu_tun_ctx @ 0x38208+0x1ffffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008f: -Userspace: -0000002000000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -0000002000000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000002000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000002000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -The stack size is invalid -Kernel: -0000002000000160: nft_pcpu_tun_ctx @ 0x38208+0x1ffffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008f: -0000002000000160: nft_pcpu_tun_ctx @ 0x38208+0x1ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -Userspace: -The stack size is invalid -Kernel: -0000002000000160: nft_pcpu_tun_ctx @ 0x38208+0x1ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -0000002000000160: nft_pcpu_tun_ctx @ 0x38208+0x1ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -Userspace: -The stack size is invalid -Kernel: -0000002000000160: nft_pcpu_tun_ctx @ 0x38208+0x1ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -0000002000000160: nft_pcpu_tun_ctx @ 0x38208+0x1ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -Userspace: -0000002000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000002000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000002000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000002000000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -0000002000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -The stack size is invalid -Kernel: -0000002000000160: nft_pcpu_tun_ctx @ 0x38208+0x1ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -0000002000000160: nft_pcpu_tun_ctx @ 0x38208+0x1ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -Userspace: -0000002000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000002000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000002000000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -0000002000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000002000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -The stack size is invalid -Kernel: -0000002000000160: nft_pcpu_tun_ctx @ 0x38208+0x1ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -0000002000000160: nft_pcpu_tun_ctx @ 0x38208+0x1ffffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000054: -Userspace: -0000002000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000002000000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -0000002000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000002000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000002100000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -The stack size is invalid -Kernel: -0000002000000160: nft_pcpu_tun_ctx @ 0x38208+0x1ffffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000054: -0000002000000160: nft_pcpu_tun_ctx @ 0x38208+0x1ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -Userspace: -0000002000000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -0000002000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000002000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000002100000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -0000002100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -The stack size is invalid -Kernel: -0000002000000160: nft_pcpu_tun_ctx @ 0x38208+0x1ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -0000002000000160: nft_pcpu_tun_ctx @ 0x38208+0x1ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -Userspace: -The stack size is invalid -Kernel: -0000002000000160: nft_pcpu_tun_ctx @ 0x38208+0x1ffffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -0000002100000160: nft_pcpu_tun_ctx @ 0x38208+0x20fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000054: -Userspace: -0000002000000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000002100000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -0000002100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000002100000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000002100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -The stack size is invalid -Kernel: -0000002100000160: nft_pcpu_tun_ctx @ 0x38208+0x20fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000054: -0000002100000160: nft_pcpu_tun_ctx @ 0x38208+0x20fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -Userspace: -0000002100000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -0000002100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000002100000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000002100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000002100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -The stack size is invalid -Kernel: -0000002100000160: nft_pcpu_tun_ctx @ 0x38208+0x20fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -0000002100000160: nft_pcpu_tun_ctx @ 0x38208+0x20fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008f: -Userspace: -The stack size is invalid -Kernel: -0000002100000160: nft_pcpu_tun_ctx @ 0x38208+0x20fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008f: -0000002100000160: nft_pcpu_tun_ctx @ 0x38208+0x20fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -Userspace: -0000002100000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000002100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000002100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000002100000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -0000002100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -The stack size is invalid -Kernel: -0000002100000160: nft_pcpu_tun_ctx @ 0x38208+0x20fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -0000002100000160: nft_pcpu_tun_ctx @ 0x38208+0x20fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -Userspace: -The stack size is invalid -Kernel: -0000002100000160: nft_pcpu_tun_ctx @ 0x38208+0x20fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -0000002100000160: nft_pcpu_tun_ctx @ 0x38208+0x20fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000054: -Userspace: -0000002100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000002100000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -0000002100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000002100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000002100000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -The stack size is invalid -Kernel: -0000002100000160: nft_pcpu_tun_ctx @ 0x38208+0x20fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000054: -0000002100000160: nft_pcpu_tun_ctx @ 0x38208+0x20fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -Userspace: -0000002100000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -0000002100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000002100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000002100000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -0000002100000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000008f: -The stack size is invalid -Kernel: -0000002100000160: nft_pcpu_tun_ctx @ 0x38208+0x20fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -0000002100000160: nft_pcpu_tun_ctx @ 0x38208+0x20fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -Userspace: -The stack size is invalid -Kernel: -0000002100000160: nft_pcpu_tun_ctx @ 0x38208+0x20fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -0000002100000160: nft_pcpu_tun_ctx @ 0x38208+0x20fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000054: -Userspace: -0000002100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000002100000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -0000002100000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000002100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000002100000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000008f: -The stack size is invalid -Kernel: -0000002100000160: nft_pcpu_tun_ctx @ 0x38208+0x20fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000054: -0000002100000160: nft_pcpu_tun_ctx @ 0x38208+0x20fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008f: -Userspace: -0000002100000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -0000002100000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000002100000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000002100000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000002200000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -The stack size is invalid -Kernel: -0000002100000160: nft_pcpu_tun_ctx @ 0x38208+0x20fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008f: -0000002100000160: nft_pcpu_tun_ctx @ 0x38208+0x20fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -Userspace: -The stack size is invalid -Kernel: -0000002100000160: nft_pcpu_tun_ctx @ 0x38208+0x20fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -0000002100000160: nft_pcpu_tun_ctx @ 0x38208+0x20fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008f: -Userspace: -The stack size is invalid -Kernel: -0000002100000160: nft_pcpu_tun_ctx @ 0x38208+0x20fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008f: -0000002200000160: nft_pcpu_tun_ctx @ 0x38208+0x21fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000054: -Userspace: -0000002100000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000002200000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -0000002200000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000002200000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -000000000000008f: -0000002200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -The stack size is invalid -Kernel: -0000002200000160: nft_pcpu_tun_ctx @ 0x38208+0x21fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000054: -0000002200000160: nft_pcpu_tun_ctx @ 0x38208+0x21fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008f: -Userspace: -The stack size is invalid -Kernel: -0000002200000160: nft_pcpu_tun_ctx @ 0x38208+0x21fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008f: -0000002200000160: nft_pcpu_tun_ctx @ 0x38208+0x21fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008f: -Userspace: -The stack size is invalid -Kernel: -0000002200000160: nft_pcpu_tun_ctx @ 0x38208+0x21fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000008f: -0000002200000160: nft_pcpu_tun_ctx @ 0x38208+0x21fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -Userspace: -The stack size is invalid -Kernel: -0000002200000160: nft_pcpu_tun_ctx @ 0x38208+0x21fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -0000002200000160: nft_pcpu_tun_ctx @ 0x38208+0x21fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000054: -Userspace: -The stack size is invalid -Kernel: -0000002200000160: nft_pcpu_tun_ctx @ 0x38208+0x21fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000054: -0000002200000160: nft_pcpu_tun_ctx @ 0x38208+0x21fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -Userspace: -0000002200000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -0000002200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000002200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002200000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -000000000000024e: -0000002200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -The stack size is invalid -Kernel: -0000002200000160: nft_pcpu_tun_ctx @ 0x38208+0x21fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -0000002200000160: nft_pcpu_tun_ctx @ 0x38208+0x21fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -The stack size is invalid -Kernel: -0000002200000160: nft_pcpu_tun_ctx @ 0x38208+0x21fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002200000160: nft_pcpu_tun_ctx @ 0x38208+0x21fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000024e: -Userspace: -0000002200000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002200000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -000000000000024e: -0000002200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000002200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000002200000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -The stack size is invalid -Kernel: -0000002200000160: nft_pcpu_tun_ctx @ 0x38208+0x21fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000024e: -0000002200000160: nft_pcpu_tun_ctx @ 0x38208+0x21fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -Userspace: -0000002200000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -000000000000024e: -0000002200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000002200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000002200000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -The stack size is invalid -Kernel: -0000002200000160: nft_pcpu_tun_ctx @ 0x38208+0x21fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -0000002200000160: nft_pcpu_tun_ctx @ 0x38208+0x21fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -Userspace: -0000002200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000002200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -The stack size is invalid -Kernel: -0000002200000160: nft_pcpu_tun_ctx @ 0x38208+0x21fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000006bd: -0000002200000160: nft_pcpu_tun_ctx @ 0x38208+0x21fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -Userspace: -0000002200000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -00000000000006bd: -0000002200000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000002300000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -0000002300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000004c6: -The stack size is invalid -Kernel: -0000002200000160: nft_pcpu_tun_ctx @ 0x38208+0x21fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004bc: -0000002300000160: nft_pcpu_tun_ctx @ 0x38208+0x22fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000054: -Userspace: -0000002200000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000004bc: -0000002300000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -0000002300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000004c6: -0000002300000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002300000160: nft_pcpu_tun_ctx @ 0x38208+0x22fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000054: -Userspace: -0000002300000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -0000000000000054: -0000002300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -00000000000004c6: -0000002300000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002300000160: nft_pcpu_tun_ctx @ 0x38208+0x22fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000004c6: -Userspace: -The stack size is invalid -Kernel: -0000002300000160: nft_pcpu_tun_ctx @ 0x38208+0x22fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002300000160: nft_pcpu_tun_ctx @ 0x38208+0x22fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002300000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002300000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002300000160: nft_pcpu_tun_ctx @ 0x38208+0x22fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002300000160: nft_pcpu_tun_ctx @ 0x38208+0x22fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002300000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002300000160: nft_pcpu_tun_ctx @ 0x38208+0x22fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002300000160: nft_pcpu_tun_ctx @ 0x38208+0x22fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002300000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002300000160: nft_pcpu_tun_ctx @ 0x38208+0x22fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002300000160: nft_pcpu_tun_ctx @ 0x38208+0x22fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002300000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d4: -The stack size is invalid -Kernel: -0000002300000160: nft_pcpu_tun_ctx @ 0x38208+0x22fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002300000160: nft_pcpu_tun_ctx @ 0x38208+0x22fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002300000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d4: -0000002300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002300000160: nft_pcpu_tun_ctx @ 0x38208+0x22fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002300000160: nft_pcpu_tun_ctx @ 0x38208+0x22fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d4: -Userspace: -0000002300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002300000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d4: -0000002300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002300000160: nft_pcpu_tun_ctx @ 0x38208+0x22fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d4: -0000002300000160: nft_pcpu_tun_ctx @ 0x38208+0x22fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002300000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d4: -0000002300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002400000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002300000160: nft_pcpu_tun_ctx @ 0x38208+0x22fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002300000160: nft_pcpu_tun_ctx @ 0x38208+0x22fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002400000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002300000160: nft_pcpu_tun_ctx @ 0x38208+0x22fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002400000160: nft_pcpu_tun_ctx @ 0x38208+0x23fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002300000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002400000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002400000160: nft_pcpu_tun_ctx @ 0x38208+0x23fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002400000160: nft_pcpu_tun_ctx @ 0x38208+0x23fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002400000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002400000160: nft_pcpu_tun_ctx @ 0x38208+0x23fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002400000160: nft_pcpu_tun_ctx @ 0x38208+0x23fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002400000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d4: -The stack size is invalid -Kernel: -0000002400000160: nft_pcpu_tun_ctx @ 0x38208+0x23fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002400000160: nft_pcpu_tun_ctx @ 0x38208+0x23fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002400000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d4: -0000002400000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002400000160: nft_pcpu_tun_ctx @ 0x38208+0x23fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002400000160: nft_pcpu_tun_ctx @ 0x38208+0x23fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d4: -Userspace: -0000002400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002400000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d4: -0000002400000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002400000160: nft_pcpu_tun_ctx @ 0x38208+0x23fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d4: -0000002400000160: nft_pcpu_tun_ctx @ 0x38208+0x23fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002400000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d4: -0000002400000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002400000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000051b: -The stack size is invalid -Kernel: -0000002400000160: nft_pcpu_tun_ctx @ 0x38208+0x23fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002400000160: nft_pcpu_tun_ctx @ 0x38208+0x23fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002400000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002400000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000051b: -The stack size is invalid -Kernel: -0000002400000160: nft_pcpu_tun_ctx @ 0x38208+0x23fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002400000160: nft_pcpu_tun_ctx @ 0x38208+0x23fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000051b: -Userspace: -0000002400000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002400000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000051b: -0000002400000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002400000160: nft_pcpu_tun_ctx @ 0x38208+0x23fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000051b: -0000002400000160: nft_pcpu_tun_ctx @ 0x38208+0x23fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002400000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000051b: -0000002400000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002400000160: nft_pcpu_tun_ctx @ 0x38208+0x23fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002400000160: nft_pcpu_tun_ctx @ 0x38208+0x23fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002400000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002400000160: nft_pcpu_tun_ctx @ 0x38208+0x23fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002400000160: nft_pcpu_tun_ctx @ 0x38208+0x23fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002400000160: nft_pcpu_tun_ctx @ 0x38208+0x23fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002400000160: nft_pcpu_tun_ctx @ 0x38208+0x23fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002500000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000051b: -The stack size is invalid -Kernel: -0000002400000160: nft_pcpu_tun_ctx @ 0x38208+0x23fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002500000160: nft_pcpu_tun_ctx @ 0x38208+0x24fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002400000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002500000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000051b: -0000002500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002500000160: nft_pcpu_tun_ctx @ 0x38208+0x24fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002500000160: nft_pcpu_tun_ctx @ 0x38208+0x24fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000051b: -Userspace: -0000002500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002500000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000051b: -0000002500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002500000160: nft_pcpu_tun_ctx @ 0x38208+0x24fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000051b: -0000002500000160: nft_pcpu_tun_ctx @ 0x38208+0x24fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002500000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000051b: -0000002500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002500000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000051b: -The stack size is invalid -Kernel: -0000002500000160: nft_pcpu_tun_ctx @ 0x38208+0x24fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002500000160: nft_pcpu_tun_ctx @ 0x38208+0x24fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002500000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000051b: -0000002500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002500000160: nft_pcpu_tun_ctx @ 0x38208+0x24fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002500000160: nft_pcpu_tun_ctx @ 0x38208+0x24fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000051b: -Userspace: -0000002500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002500000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000051b: -0000002500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002500000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002500000160: nft_pcpu_tun_ctx @ 0x38208+0x24fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000051b: -0000002500000160: nft_pcpu_tun_ctx @ 0x38208+0x24fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002500000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000051b: -0000002500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002500000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002500000160: nft_pcpu_tun_ctx @ 0x38208+0x24fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002500000160: nft_pcpu_tun_ctx @ 0x38208+0x24fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002500000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002500000160: nft_pcpu_tun_ctx @ 0x38208+0x24fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002500000160: nft_pcpu_tun_ctx @ 0x38208+0x24fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002500000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002500000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000051b: -The stack size is invalid -Kernel: -0000002500000160: nft_pcpu_tun_ctx @ 0x38208+0x24fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002500000160: nft_pcpu_tun_ctx @ 0x38208+0x24fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002500000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000051b: -0000002500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002500000160: nft_pcpu_tun_ctx @ 0x38208+0x24fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002500000160: nft_pcpu_tun_ctx @ 0x38208+0x24fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000051b: -Userspace: -0000002500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002500000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000051b: -0000002500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002500000160: nft_pcpu_tun_ctx @ 0x38208+0x24fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000051b: -0000002500000160: nft_pcpu_tun_ctx @ 0x38208+0x24fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002500000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000051b: -0000002500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002600000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000051b: -The stack size is invalid -Kernel: -0000002500000160: nft_pcpu_tun_ctx @ 0x38208+0x24fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002600000160: nft_pcpu_tun_ctx @ 0x38208+0x25fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002500000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002600000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000051b: -0000002600000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002600000160: nft_pcpu_tun_ctx @ 0x38208+0x25fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002600000160: nft_pcpu_tun_ctx @ 0x38208+0x25fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000051b: -Userspace: -0000002600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002600000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000051b: -0000002600000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002600000160: nft_pcpu_tun_ctx @ 0x38208+0x25fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000051b: -0000002600000160: nft_pcpu_tun_ctx @ 0x38208+0x25fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002600000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000051b: -0000002600000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002600000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002600000160: nft_pcpu_tun_ctx @ 0x38208+0x25fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002600000160: nft_pcpu_tun_ctx @ 0x38208+0x25fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002600000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002600000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002600000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000051b: -The stack size is invalid -Kernel: -0000002600000160: nft_pcpu_tun_ctx @ 0x38208+0x25fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002600000160: nft_pcpu_tun_ctx @ 0x38208+0x25fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002600000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002600000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000051b: -0000002600000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002600000160: nft_pcpu_tun_ctx @ 0x38208+0x25fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002600000160: nft_pcpu_tun_ctx @ 0x38208+0x25fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000051b: -Userspace: -0000002600000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002600000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000051b: -0000002600000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002600000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002600000160: nft_pcpu_tun_ctx @ 0x38208+0x25fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000051b: -0000002600000160: nft_pcpu_tun_ctx @ 0x38208+0x25fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002600000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000051b: -0000002600000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002600000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002600000160: nft_pcpu_tun_ctx @ 0x38208+0x25fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002600000160: nft_pcpu_tun_ctx @ 0x38208+0x25fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002600000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002600000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002600000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000051b: -The stack size is invalid -Kernel: -0000002600000160: nft_pcpu_tun_ctx @ 0x38208+0x25fffc7f58 -6572747300002437: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22f -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002600000160: nft_pcpu_tun_ctx @ 0x38208+0x25fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002600000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002600000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000051b: -0000002600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002600000160: nft_pcpu_tun_ctx @ 0x38208+0x25fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002600000160: nft_pcpu_tun_ctx @ 0x38208+0x25fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000051b: -Userspace: -0000002600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002600000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000051b: -0000002600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002700000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000000ce: -The stack size is invalid -Kernel: -0000002600000160: nft_pcpu_tun_ctx @ 0x38208+0x25fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000051b: -0000002600000160: nft_pcpu_tun_ctx @ 0x38208+0x25fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002600000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000051b: -0000002600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002700000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000000ce: -0000002700000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000152: -The stack size is invalid -Kernel: -0000002600000160: nft_pcpu_tun_ctx @ 0x38208+0x25fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002700000160: nft_pcpu_tun_ctx @ 0x38208+0x26fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000000ce: -Userspace: -0000002600000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002700000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000000ce: -0000002700000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000152: -0000002700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002700000160: nft_pcpu_tun_ctx @ 0x38208+0x26fffc7f58 -657274730000243a: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca232 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000000ce: -0000002700000160: nft_pcpu_tun_ctx @ 0x38208+0x26fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000152: -Userspace: -0000002700000160: -657274730000243a: -000000676e2d7373: -000002ee00000000: -00000000000000ce: -0000002700000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000152: -0000002700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002700000160: nft_pcpu_tun_ctx @ 0x38208+0x26fffc7f58 -657274730000243b: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca233 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000152: -0000002700000160: nft_pcpu_tun_ctx @ 0x38208+0x26fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002700000160: -657274730000243b: -000000676e2d7373: -000002ee00000000: -0000000000000152: -The stack size is invalid -Kernel: -0000002700000160: nft_pcpu_tun_ctx @ 0x38208+0x26fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002700000160: nft_pcpu_tun_ctx @ 0x38208+0x26fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002700000160: nft_pcpu_tun_ctx @ 0x38208+0x26fffc7f58 -6572747300002439: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca231 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -0000002700000160: nft_pcpu_tun_ctx @ 0x38208+0x26fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d4: -Userspace: -0000002700000160: -6572747300002439: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002700000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d4: -0000002700000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000051b: -The stack size is invalid -Kernel: -0000002700000160: nft_pcpu_tun_ctx @ 0x38208+0x26fffc7f58 -6572747300002438: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca230 -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -00000000000003d4: -0000002700000160: nft_pcpu_tun_ctx @ 0x38208+0x26fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000051b: -Userspace: -0000002700000160: -6572747300002438: -000000676e2d7373: -000002ee00000000: -00000000000003d4: -0000002700000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000051b: -0000002700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002700000160: nft_pcpu_tun_ctx @ 0x38208+0x26fffc7f58 -6572747300002434: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22c -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -000000000000051b: -Userspace: -0000002700000160: -6572747300002434: -000000676e2d7373: -000002ee00000000: -000000000000051b: -0000002700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -The stack size is invalid -Kernel: -0000002700000160: nft_pcpu_tun_ctx @ 0x38208+0x26fffc7f58 -6572747300002435: nft_pcpu_tun_ctx @ 0x38208+0x65727472fffca22d -000000676e2d7373: nft_pcpu_tun_ctx @ 0x38208+0x676e29f16b -000002ee00000000: nft_pcpu_tun_ctx @ 0x38208+0x2edfffc7df8 -0000000000000515: -Userspace: -0000002700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: -0000002700000160: -6572747300002437: -000000676e2d7373: -000002ee00000000: -0000000000000165: -0000002700000160: -6572747300002435: -000000676e2d7373: -000002ee00000000: -0000000000000515: diff --git a/visualize/run/cpu_usage b/visualize/run/cpu_usage deleted file mode 100644 index 32d0087..0000000 --- a/visualize/run/cpu_usage +++ /dev/null @@ -1,805 +0,0 @@ -CPU ID,User Time,Kernel Time,Idle Time,IRQ Time,SoftIRQ Time -0,0.000000,0.050000,0.920000,0.000000,0.000000 -1,0.000000,0.010000,0.940000,0.000000,0.000000 -2,0.000000,0.020000,0.900000,0.000000,0.000000 -3,0.000000,0.020000,0.960000,0.000000,0.000000 -4,0.000000,0.050000,0.940000,0.000000,0.000000 -5,0.000000,0.140000,0.840000,0.000000,0.000000 -6,0.000000,0.050000,0.930000,0.000000,0.000000 -7,0.000000,0.100000,0.840000,0.000000,0.000000 -8,0.000000,0.010000,0.970000,0.000000,0.000000 -9,0.000000,0.040000,0.860000,0.000000,0.000000 -10,0.000000,0.020000,0.950000,0.000000,0.000000 -11,0.030000,0.590000,0.290000,0.000000,0.000000 -0,0.000000,0.070000,0.900000,0.000000,0.000000 -1,0.000000,0.010000,0.950000,0.000000,0.000000 -2,0.000000,0.020000,0.940000,0.000000,0.000000 -3,0.000000,0.020000,0.950000,0.000000,0.000000 -4,0.000000,0.050000,0.930000,0.000000,0.000000 -5,0.000000,0.120000,0.850000,0.000000,0.000000 -6,0.000000,0.030000,0.930000,0.000000,0.000000 -7,0.000000,0.150000,0.780000,0.000000,0.000000 -8,0.000000,0.020000,0.950000,0.000000,0.000000 -9,0.000000,0.070000,0.880000,0.000000,0.000000 -10,0.000000,0.030000,0.930000,0.000000,0.000000 -11,0.010000,0.360000,0.570000,0.000000,0.000000 -0,0.000000,0.040000,0.920000,0.000000,0.000000 -1,0.000000,0.000000,0.960000,0.000000,0.000000 -2,0.000000,0.040000,0.920000,0.000000,0.000000 -3,0.000000,0.010000,0.960000,0.000000,0.000000 -4,0.000000,0.030000,0.930000,0.000000,0.000000 -5,0.000000,0.070000,0.900000,0.000000,0.000000 -6,0.000000,0.010000,0.940000,0.000000,0.000000 -7,0.000000,0.180000,0.780000,0.000000,0.000000 -8,0.000000,0.010000,0.960000,0.000000,0.000000 -9,0.000000,0.130000,0.820000,0.000000,0.000000 -10,0.050000,0.080000,0.760000,0.000000,0.000000 -11,0.000000,0.210000,0.730000,0.000000,0.000000 -0,0.000000,0.020000,0.940000,0.000000,0.000000 -1,0.000000,0.000000,0.890000,0.000000,0.000000 -2,0.000000,0.030000,0.880000,0.000000,0.000000 -3,0.000000,0.000000,0.930000,0.000000,0.000000 -4,0.000000,0.010000,0.940000,0.000000,0.000000 -5,0.000000,0.040000,0.920000,0.000000,0.000000 -6,0.000000,0.000000,0.940000,0.000000,0.000000 -7,0.000000,0.140000,0.730000,0.000000,0.000000 -8,0.000000,0.000000,0.960000,0.000000,0.000000 -9,0.000000,0.110000,0.770000,0.000000,0.000000 -10,0.030000,0.040000,0.900000,0.000000,0.000000 -11,0.000000,0.120000,0.820000,0.000000,0.000000 -0,0.000000,0.010000,0.950000,0.000000,0.000000 -1,0.000000,0.000000,0.940000,0.000000,0.000000 -2,0.000000,0.010000,0.950000,0.000000,0.000000 -3,0.000000,0.000000,0.960000,0.000000,0.000000 -4,0.000000,0.000000,0.930000,0.000000,0.000000 -5,0.000000,0.020000,0.900000,0.000000,0.000000 -6,0.000000,0.000000,0.960000,0.000000,0.000000 -7,0.000000,0.090000,0.810000,0.000000,0.000000 -8,0.000000,0.000000,0.910000,0.000000,0.000000 -9,0.000000,0.060000,0.860000,0.000000,0.000000 -10,0.010000,0.030000,0.860000,0.000000,0.000000 -11,0.000000,0.070000,0.870000,0.000000,0.000000 -0,0.000000,0.000000,0.960000,0.000000,0.000000 -1,0.000000,0.000000,0.980000,0.000000,0.000000 -2,0.000000,0.000000,0.930000,0.000000,0.000000 -3,0.000000,0.000000,0.970000,0.000000,0.000000 -4,0.000000,0.000000,0.950000,0.000000,0.000000 -5,0.000000,0.010000,0.700000,0.000000,0.000000 -6,0.000000,0.000000,0.960000,0.000000,0.000000 -7,0.000000,0.060000,0.930000,0.000000,0.000000 -8,0.000000,0.000000,0.960000,0.000000,0.000000 -9,0.000000,0.030000,0.950000,0.000000,0.000000 -10,0.000000,0.010000,0.940000,0.000000,0.000000 -11,0.000000,0.040000,0.920000,0.000000,0.000000 -0,0.000000,0.000000,0.960000,0.000000,0.000000 -1,0.000000,0.000000,0.840000,0.000000,0.000000 -2,0.000000,0.000000,0.930000,0.000000,0.000000 -3,0.000000,0.000000,0.980000,0.000000,0.000000 -4,0.000000,0.000000,0.970000,0.000000,0.000000 -5,0.000000,0.000000,1.010000,0.000000,0.000000 -6,0.000000,0.000000,0.970000,0.000000,0.000000 -7,0.000000,0.030000,0.800000,0.000000,0.000000 -8,0.000000,0.000000,0.920000,0.000000,0.000000 -9,0.000000,0.010000,0.820000,0.000000,0.000000 -10,0.000000,0.000000,0.960000,0.000000,0.000000 -11,0.000000,0.020000,0.940000,0.000000,0.000000 -0,0.000000,0.000000,0.960000,0.000000,0.000000 -1,0.000000,0.000000,1.010000,0.000000,0.000000 -2,0.000000,0.000000,1.000000,0.000000,0.000000 -3,0.000000,0.000000,0.950000,0.000000,0.000000 -4,0.000000,0.000000,0.940000,0.000000,0.000000 -5,0.000000,0.000000,1.080000,0.000000,0.000000 -6,0.000000,0.000000,0.970000,0.000000,0.000000 -7,0.000000,0.020000,0.930000,0.000000,0.000000 -8,0.000000,0.000000,1.000000,0.000000,0.000000 -9,0.000000,0.000000,0.950000,0.000000,0.000000 -10,0.000000,0.000000,0.950000,0.000000,0.000000 -11,0.000000,0.010000,0.960000,0.000000,0.000000 -0,0.000000,0.000000,0.960000,0.000000,0.000000 -1,0.000000,0.000000,1.010000,0.000000,0.000000 -2,0.000000,0.000000,0.910000,0.000000,0.000000 -3,0.000000,0.000000,0.960000,0.000000,0.000000 -4,0.000000,0.000000,0.970000,0.000000,0.000000 -5,0.000000,0.000000,1.020000,0.000000,0.000000 -6,0.000000,0.000000,0.970000,0.000000,0.000000 -7,0.000000,0.010000,0.940000,0.000000,0.000000 -8,0.000000,0.000000,0.950000,0.000000,0.000000 -9,0.000000,0.000000,0.800000,0.000000,0.000000 -10,0.000000,0.000000,0.940000,0.000000,0.000000 -11,0.000000,0.000000,0.950000,0.000000,0.000000 -0,0.000000,0.000000,0.960000,0.000000,0.000000 -1,0.000000,0.000000,0.980000,0.000000,0.000000 -2,0.000000,0.000000,1.010000,0.000000,0.000000 -3,0.000000,0.000000,0.970000,0.000000,0.000000 -4,0.000000,0.000000,0.980000,0.000000,0.000000 -5,0.000000,0.000000,1.010000,0.000000,0.000000 -6,0.000000,0.000000,0.920000,0.000000,0.000000 -7,0.000000,0.000000,0.850000,0.000000,0.000000 -8,0.000000,0.000000,1.000000,0.000000,0.000000 -9,0.000000,0.000000,0.920000,0.000000,0.000000 -10,0.000000,0.000000,0.990000,0.000000,0.000000 -11,0.000000,0.000000,0.970000,0.000000,0.000000 -0,0.000000,0.000000,0.960000,0.000000,0.000000 -1,0.000000,0.000000,1.010000,0.000000,0.000000 -2,0.000000,0.000000,1.000000,0.000000,0.000000 -3,0.000000,0.000000,0.770000,0.000000,0.000000 -4,0.000000,0.000000,0.970000,0.000000,0.000000 -5,0.000000,0.000000,1.000000,0.000000,0.000000 -6,0.000000,0.000000,0.960000,0.000000,0.000000 -7,0.000000,0.010000,0.980000,0.000000,0.000000 -8,0.000000,0.000000,0.940000,0.000000,0.000000 -9,0.000000,0.000000,1.040000,0.000000,0.000000 -10,0.000000,0.000000,0.910000,0.000000,0.000000 -11,0.000000,0.000000,0.980000,0.000000,0.000000 -0,0.000000,0.000000,0.990000,0.000000,0.000000 -1,0.000000,0.010000,0.890000,0.000000,0.000000 -2,0.000000,0.000000,0.980000,0.000000,0.000000 -3,0.000000,0.000000,0.550000,0.000000,0.000000 -4,0.000000,0.000000,0.630000,0.000000,0.000000 -5,0.000000,0.000000,0.990000,0.000000,0.000000 -6,0.000000,0.000000,0.990000,0.000000,0.000000 -7,0.000000,0.000000,0.540000,0.000000,0.000000 -8,0.000000,0.000000,0.740000,0.000000,0.000000 -9,0.000000,0.000000,0.990000,0.000000,0.000000 -10,0.000000,0.000000,0.950000,0.000000,0.000000 -11,0.000000,0.000000,0.980000,0.000000,0.000000 -0,0.000000,0.000000,0.980000,0.000000,0.000000 -1,0.000000,0.010000,0.910000,0.000000,0.000000 -2,0.000000,0.010000,0.970000,0.000000,0.000000 -3,0.000000,0.000000,0.730000,0.000000,0.000000 -4,0.000000,0.000000,0.790000,0.000000,0.000000 -5,0.000000,0.000000,0.830000,0.000000,0.000000 -6,0.000000,0.000000,0.970000,0.000000,0.000000 -7,0.000000,0.000000,0.870000,0.000000,0.000000 -8,0.000000,0.000000,0.840000,0.000000,0.000000 -9,0.000000,0.000000,0.950000,0.000000,0.000000 -10,0.000000,0.000000,0.900000,0.000000,0.000000 -11,0.000000,0.000000,0.980000,0.000000,0.000000 -0,0.000000,0.000000,0.970000,0.000000,0.000000 -1,0.000000,0.000000,0.940000,0.000000,0.000000 -2,0.000000,0.000000,0.970000,0.000000,0.000000 -3,0.000000,0.000000,0.970000,0.000000,0.000000 -4,0.000000,0.000000,0.930000,0.000000,0.000000 -5,0.000000,0.000000,1.040000,0.000000,0.000000 -6,0.000000,0.000000,0.990000,0.000000,0.000000 -7,0.000000,0.000000,0.900000,0.000000,0.000000 -8,0.000000,0.000000,0.970000,0.000000,0.000000 -9,0.000000,0.000000,0.970000,0.000000,0.000000 -10,0.000000,0.000000,1.000000,0.000000,0.000000 -11,0.000000,0.000000,0.970000,0.000000,0.000000 -0,0.000000,0.000000,0.970000,0.000000,0.000000 -1,0.000000,0.010000,0.960000,0.000000,0.000000 -2,0.000000,0.010000,0.960000,0.000000,0.000000 -3,0.000000,0.000000,0.830000,0.000000,0.000000 -4,0.000000,0.000000,0.910000,0.000000,0.000000 -5,0.000000,0.000000,0.850000,0.000000,0.000000 -6,0.000000,0.000000,0.970000,0.000000,0.000000 -7,0.000000,0.000000,0.840000,0.000000,0.000000 -8,0.000000,0.000000,0.900000,0.000000,0.000000 -9,0.000000,0.000000,0.980000,0.000000,0.000000 -10,0.000000,0.000000,0.960000,0.000000,0.000000 -11,0.000000,0.000000,0.970000,0.000000,0.000000 -0,0.000000,0.000000,0.970000,0.000000,0.000000 -1,0.000000,0.050000,0.870000,0.000000,0.000000 -2,0.000000,0.020000,0.940000,0.000000,0.000000 -3,0.000000,0.000000,0.940000,0.000000,0.000000 -4,0.000000,0.000000,1.020000,0.000000,0.000000 -5,0.000000,0.000000,1.070000,0.000000,0.000000 -6,0.000000,0.000000,0.990000,0.000000,0.000000 -7,0.000000,0.000000,0.950000,0.000000,0.000000 -8,0.000000,0.000000,0.930000,0.000000,0.000000 -9,0.000000,0.000000,0.970000,0.000000,0.000000 -10,0.000000,0.000000,0.990000,0.000000,0.000000 -11,0.000000,0.000000,0.970000,0.000000,0.000000 -0,0.000000,0.000000,0.970000,0.000000,0.000000 -1,0.000000,0.040000,0.930000,0.000000,0.000000 -2,0.000000,0.020000,0.940000,0.000000,0.000000 -3,0.000000,0.000000,1.040000,0.000000,0.000000 -4,0.000000,0.000000,0.970000,0.000000,0.000000 -5,0.000000,0.000000,1.000000,0.000000,0.000000 -6,0.000000,0.000000,0.970000,0.000000,0.000000 -7,0.000000,0.000000,0.980000,0.000000,0.000000 -8,0.000000,0.000000,1.010000,0.000000,0.000000 -9,0.000000,0.000000,0.980000,0.000000,0.000000 -10,0.000000,0.000000,0.960000,0.000000,0.000000 -11,0.000000,0.000000,0.970000,0.000000,0.000000 -0,0.000000,0.000000,0.970000,0.000000,0.000000 -1,0.000000,0.020000,0.890000,0.000000,0.000000 -2,0.000000,0.010000,0.950000,0.000000,0.000000 -3,0.000000,0.000000,0.970000,0.000000,0.000000 -4,0.000000,0.000000,0.940000,0.000000,0.000000 -5,0.000000,0.000000,1.030000,0.000000,0.000000 -6,0.000000,0.000000,0.990000,0.000000,0.000000 -7,0.000000,0.000000,0.820000,0.000000,0.000000 -8,0.000000,0.000000,1.000000,0.000000,0.000000 -9,0.000000,0.000000,1.010000,0.000000,0.000000 -10,0.000000,0.000000,0.980000,0.000000,0.000000 -11,0.000000,0.000000,0.970000,0.000000,0.000000 -0,0.000000,0.000000,0.970000,0.000000,0.000000 -1,0.000000,0.020000,0.960000,0.000000,0.000000 -2,0.000000,0.010000,0.950000,0.000000,0.000000 -3,0.000000,0.000000,0.890000,0.000000,0.000000 -4,0.000000,0.000000,0.980000,0.000000,0.000000 -5,0.000000,0.000000,0.890000,0.000000,0.000000 -6,0.000000,0.000000,0.970000,0.000000,0.000000 -7,0.000000,0.000000,1.040000,0.000000,0.000000 -8,0.000000,0.000000,0.950000,0.000000,0.000000 -9,0.000000,0.000000,0.960000,0.000000,0.000000 -10,0.000000,0.000000,0.960000,0.000000,0.000000 -11,0.000000,0.000000,0.970000,0.000000,0.000000 -0,0.000000,0.000000,0.970000,0.000000,0.000000 -1,0.000000,0.010000,0.980000,0.000000,0.000000 -2,0.000000,0.000000,0.960000,0.000000,0.000000 -3,0.000000,0.000000,1.050000,0.000000,0.000000 -4,0.000000,0.000000,0.990000,0.000000,0.000000 -5,0.000000,0.000000,1.040000,0.000000,0.000000 -6,0.000000,0.000000,0.990000,0.000000,0.000000 -7,0.000000,0.000000,0.820000,0.000000,0.000000 -8,0.000000,0.000000,0.980000,0.000000,0.000000 -9,0.000000,0.000000,0.940000,0.000000,0.000000 -10,0.000000,0.000000,0.970000,0.000000,0.000000 -11,0.000000,0.000000,0.970000,0.000000,0.000000 -0,0.000000,0.010000,0.950000,0.000000,0.000000 -1,0.000000,0.020000,0.930000,0.000000,0.000000 -2,0.000000,0.000000,0.960000,0.000000,0.000000 -3,0.000000,0.000000,0.960000,0.000000,0.000000 -4,0.000000,0.000000,0.980000,0.000000,0.000000 -5,0.000000,0.000000,0.980000,0.000000,0.000000 -6,0.000000,0.000000,0.970000,0.000000,0.000000 -7,0.000000,0.000000,0.990000,0.000000,0.000000 -8,0.000000,0.000000,0.930000,0.000000,0.000000 -9,0.000000,0.000000,0.980000,0.000000,0.000000 -10,0.000000,0.000000,0.940000,0.000000,0.000000 -11,0.000000,0.000000,0.970000,0.000000,0.000000 -0,0.000000,0.000000,0.950000,0.000000,0.000000 -1,0.000000,0.010000,0.960000,0.000000,0.000000 -2,0.000000,0.000000,0.960000,0.000000,0.000000 -3,0.000000,0.000000,0.980000,0.000000,0.000000 -4,0.000000,0.000000,1.000000,0.000000,0.000000 -5,0.000000,0.000000,1.000000,0.000000,0.000000 -6,0.000000,0.000000,0.980000,0.000000,0.000000 -7,0.000000,0.000000,0.940000,0.000000,0.000000 -8,0.000000,0.000000,0.940000,0.000000,0.000000 -9,0.000000,0.000000,0.980000,0.000000,0.000000 -10,0.000000,0.000000,0.980000,0.000000,0.000000 -11,0.000000,0.000000,0.970000,0.000000,0.000000 -0,0.000000,0.010000,0.960000,0.000000,0.000000 -1,0.000000,0.010000,0.860000,0.000000,0.000000 -2,0.000000,0.000000,0.960000,0.000000,0.000000 -3,0.000000,0.000000,0.970000,0.000000,0.000000 -4,0.000000,0.000000,0.910000,0.000000,0.000000 -5,0.000000,0.000000,0.890000,0.000000,0.000000 -6,0.000000,0.000000,0.960000,0.000000,0.000000 -7,0.000000,0.000000,0.970000,0.000000,0.000000 -8,0.000000,0.000000,0.960000,0.000000,0.000000 -9,0.000000,0.000000,0.980000,0.000000,0.000000 -10,0.000000,0.000000,0.900000,0.000000,0.000000 -11,0.000000,0.000000,0.890000,0.000000,0.000000 -0,0.000000,0.000000,0.960000,0.000000,0.000000 -1,0.000000,0.000000,0.920000,0.000000,0.000000 -2,0.000000,0.000000,0.900000,0.000000,0.000000 -3,0.000000,0.000000,0.990000,0.000000,0.000000 -4,0.000000,0.000000,1.000000,0.000000,0.000000 -5,0.000000,0.000000,1.030000,0.000000,0.000000 -6,0.000000,0.000000,0.970000,0.000000,0.000000 -7,0.000000,0.000000,1.040000,0.000000,0.000000 -8,0.000000,0.000000,0.980000,0.000000,0.000000 -9,0.000000,0.000000,0.980000,0.000000,0.000000 -10,0.000000,0.000000,1.000000,0.000000,0.000000 -11,0.000000,0.000000,0.940000,0.000000,0.000000 -0,0.000000,0.010000,0.940000,0.000000,0.000000 -1,0.000000,0.000000,0.970000,0.000000,0.000000 -2,0.000000,0.000000,0.950000,0.000000,0.000000 -3,0.000000,0.000000,1.030000,0.000000,0.000000 -4,0.000000,0.000000,0.980000,0.000000,0.000000 -5,0.000000,0.000000,0.970000,0.000000,0.000000 -6,0.000000,0.000000,0.970000,0.000000,0.000000 -7,0.000000,0.000000,1.060000,0.000000,0.000000 -8,0.000000,0.000000,1.010000,0.000000,0.000000 -9,0.000000,0.000000,0.970000,0.000000,0.000000 -10,0.000000,0.000000,0.970000,0.000000,0.000000 -11,0.000000,0.000000,0.980000,0.000000,0.000000 -0,0.000000,0.010000,0.940000,0.000000,0.000000 -1,0.000000,0.000000,0.820000,0.000000,0.000000 -2,0.000000,0.000000,0.940000,0.000000,0.000000 -3,0.000000,0.000000,0.780000,0.000000,0.000000 -4,0.000000,0.000000,1.000000,0.000000,0.000000 -5,0.000000,0.000000,1.010000,0.000000,0.000000 -6,0.000000,0.000000,0.970000,0.000000,0.000000 -7,0.000000,0.000000,1.030000,0.000000,0.000000 -8,0.000000,0.000000,1.020000,0.000000,0.000000 -9,0.000000,0.000000,0.980000,0.000000,0.000000 -10,0.000000,0.000000,1.000000,0.000000,0.000000 -11,0.000000,0.000000,0.950000,0.000000,0.000000 -0,0.000000,0.000000,0.950000,0.000000,0.000000 -1,0.000000,0.000000,1.070000,0.000000,0.000000 -2,0.000000,0.000000,0.960000,0.000000,0.000000 -3,0.000000,0.000000,0.940000,0.000000,0.000000 -4,0.000000,0.000000,0.950000,0.000000,0.000000 -5,0.000000,0.000000,0.920000,0.000000,0.000000 -6,0.000000,0.000000,0.970000,0.000000,0.000000 -7,0.000000,0.000000,0.990000,0.000000,0.000000 -8,0.000000,0.000000,0.920000,0.000000,0.000000 -9,0.000000,0.000000,0.980000,0.000000,0.000000 -10,0.000000,0.000000,0.920000,0.000000,0.000000 -11,0.000000,0.000000,1.020000,0.000000,0.000000 -0,0.000000,0.010000,0.950000,0.000000,0.000000 -1,0.000000,0.000000,0.940000,0.000000,0.000000 -2,0.000000,0.010000,0.940000,0.000000,0.000000 -3,0.000000,0.000000,0.560000,0.000000,0.000000 -4,0.000000,0.000000,0.850000,0.000000,0.000000 -5,0.000000,0.000000,1.020000,0.000000,0.000000 -6,0.000000,0.000000,0.980000,0.000000,0.000000 -7,0.000000,0.000000,1.000000,0.000000,0.000000 -8,0.000000,0.000000,0.940000,0.000000,0.000000 -9,0.000000,0.000000,0.980000,0.000000,0.000000 -10,0.000000,0.000000,1.010000,0.000000,0.000000 -11,0.000000,0.000000,0.960000,0.000000,0.000000 -0,0.000000,0.010000,0.950000,0.000000,0.000000 -1,0.000000,0.000000,1.030000,0.000000,0.000000 -2,0.000000,0.010000,0.990000,0.000000,0.000000 -3,0.000000,0.000000,1.290000,0.000000,0.000000 -4,0.000000,0.000000,1.060000,0.000000,0.000000 -5,0.000000,0.000000,0.950000,0.000000,0.000000 -6,0.000000,0.000000,0.970000,0.000000,0.000000 -7,0.000000,0.000000,1.010000,0.000000,0.000000 -8,0.000000,0.000000,1.040000,0.000000,0.000000 -9,0.000000,0.000000,0.980000,0.000000,0.000000 -10,0.000000,0.000000,1.000000,0.000000,0.000000 -11,0.000000,0.000000,0.990000,0.000000,0.000000 -0,0.000000,0.000000,0.960000,0.000000,0.000000 -1,0.000000,0.000000,0.750000,0.000000,0.000000 -2,0.000000,0.000000,0.930000,0.000000,0.000000 -3,0.000000,0.000000,0.770000,0.000000,0.000000 -4,0.000000,0.000000,1.020000,0.000000,0.000000 -5,0.000000,0.000000,1.020000,0.000000,0.000000 -6,0.000000,0.000000,0.980000,0.000000,0.000000 -7,0.000000,0.000000,0.930000,0.000000,0.000000 -8,0.000000,0.000000,1.000000,0.000000,0.000000 -9,0.000000,0.000000,0.970000,0.000000,0.000000 -10,0.000000,0.000000,0.980000,0.000000,0.000000 -11,0.000000,0.000000,0.930000,0.000000,0.000000 -0,0.000000,0.000000,0.950000,0.000000,0.000000 -1,0.030000,0.000000,1.080000,0.000000,0.000000 -2,0.030000,0.000000,0.950000,0.000000,0.000000 -3,0.000000,0.000000,1.250000,0.000000,0.000000 -4,0.030000,0.000000,0.970000,0.000000,0.000000 -5,0.030000,0.000000,0.960000,0.000000,0.000000 -6,0.000000,0.000000,0.970000,0.000000,0.000000 -7,0.030000,0.000000,0.970000,0.000000,0.000000 -8,0.000000,0.000000,0.970000,0.000000,0.000000 -9,0.030000,0.000000,0.940000,0.000000,0.000000 -10,0.000000,0.000000,0.990000,0.000000,0.000000 -11,0.000000,0.000000,0.950000,0.000000,0.000000 -0,0.360000,0.000000,0.570000,0.000000,0.000000 -1,0.010000,0.010000,1.020000,0.000000,0.000000 -2,0.010000,0.000000,0.570000,0.000000,0.000000 -3,0.000000,0.000000,1.110000,0.000000,0.000000 -4,0.110000,0.000000,0.580000,0.000000,0.000000 -5,0.420000,0.000000,0.570000,0.000000,0.000000 -6,0.000000,0.000000,0.960000,0.000000,0.000000 -7,0.010000,0.000000,0.580000,0.000000,0.000000 -8,0.130000,0.000000,0.580000,0.000000,0.000000 -9,0.210000,0.000000,0.560000,0.000000,0.000000 -10,0.000000,0.000000,0.980000,0.000000,0.000000 -11,0.000000,0.000000,0.570000,0.000000,0.000000 -0,0.460000,0.030000,0.500000,0.000000,0.000000 -1,0.160000,0.000000,0.800000,0.000000,0.000000 -2,0.770000,0.000000,0.340000,0.000000,0.000000 -3,0.000000,0.000000,1.090000,0.000000,0.000000 -4,0.730000,0.000000,0.340000,0.000000,0.000000 -5,0.610000,0.000000,0.340000,0.000000,0.000000 -6,0.110000,0.000000,0.820000,0.000000,0.000000 -7,0.770000,0.000000,0.340000,0.000000,0.000000 -8,0.740000,0.000000,0.340000,0.000000,0.000000 -9,0.680000,0.000000,0.330000,0.000000,0.000000 -10,0.000000,0.010000,0.950000,0.000000,0.000000 -11,0.800000,0.000000,0.340000,0.000000,0.000000 -0,0.270000,0.020000,0.680000,0.000000,0.000000 -1,0.090000,0.000000,0.480000,0.000000,0.000000 -2,0.460000,0.000000,0.200000,0.000000,0.000000 -3,0.000000,0.000000,1.000000,0.000000,0.000000 -4,0.430000,0.000000,0.200000,0.000000,0.000000 -5,0.360000,0.000000,0.200000,0.000000,0.000000 -6,0.060000,0.000000,0.900000,0.000000,0.000000 -7,0.500000,0.000000,0.200000,0.000000,0.000000 -8,0.840000,0.000000,0.200000,0.000000,0.000000 -9,0.400000,0.000000,0.190000,0.000000,0.000000 -10,0.000000,0.010000,0.960000,0.000000,0.000000 -11,0.670000,0.000000,0.200000,0.000000,0.000000 -0,0.410000,0.010000,0.530000,0.000000,0.000000 -1,0.600000,0.010000,0.510000,0.000000,0.000000 -2,1.030000,0.000000,0.120000,0.000000,0.000000 -3,0.000000,0.000000,1.010000,0.000000,0.000000 -4,0.800000,0.000000,0.120000,0.000000,0.000000 -5,0.920000,0.000000,0.120000,0.000000,0.000000 -6,0.030000,0.000000,0.910000,0.000000,0.000000 -7,1.060000,0.000000,0.120000,0.000000,0.000000 -8,0.850000,0.000000,0.120000,0.000000,0.000000 -9,0.910000,0.000000,0.110000,0.000000,0.000000 -10,0.000000,0.010000,0.940000,0.000000,0.000000 -11,0.750000,0.000000,0.120000,0.000000,0.000000 -0,0.490000,0.010000,0.440000,0.000000,0.000000 -1,0.460000,0.000000,0.550000,0.000000,0.000000 -2,0.610000,0.000000,0.070000,0.000000,0.000000 -3,0.000000,0.000000,0.970000,0.000000,0.000000 -4,0.830000,0.000000,0.070000,0.000000,0.000000 -5,1.060000,0.000000,0.070000,0.000000,0.000000 -6,0.010000,0.000000,0.950000,0.000000,0.000000 -7,0.630000,0.000000,0.070000,0.000000,0.000000 -8,0.660000,0.000000,0.070000,0.000000,0.000000 -9,0.720000,0.000000,0.060000,0.000000,0.000000 -10,0.000000,0.010000,0.950000,0.000000,0.000000 -11,0.450000,0.000000,0.070000,0.000000,0.000000 -0,0.290000,0.010000,0.640000,0.000000,0.000000 -1,0.520000,0.000000,0.330000,0.000000,0.000000 -2,1.170000,0.000000,0.040000,0.000000,0.000000 -3,0.000000,0.000000,1.000000,0.000000,0.000000 -4,1.100000,0.000000,0.040000,0.000000,0.000000 -5,0.630000,0.000000,0.040000,0.000000,0.000000 -6,0.000000,0.000000,0.940000,0.000000,0.000000 -7,0.980000,0.000000,0.040000,0.000000,0.000000 -8,0.900000,0.000000,0.040000,0.000000,0.000000 -9,0.430000,0.000000,0.030000,0.000000,0.000000 -10,0.000000,0.010000,0.940000,0.000000,0.000000 -11,1.240000,0.000000,0.040000,0.000000,0.000000 -0,0.170000,0.000000,0.760000,0.000000,0.000000 -1,0.310000,0.000000,0.190000,0.000000,0.000000 -2,0.700000,0.000000,0.020000,0.000000,0.000000 -3,0.000000,0.000000,0.970000,0.000000,0.000000 -4,0.660000,0.000000,0.020000,0.000000,0.000000 -5,0.370000,0.000000,0.020000,0.000000,0.000000 -6,0.000000,0.000000,0.970000,0.000000,0.000000 -7,1.030000,0.000000,0.020000,0.000000,0.000000 -8,0.540000,0.000000,0.020000,0.000000,0.000000 -9,0.250000,0.000000,0.010000,0.000000,0.000000 -10,0.000000,0.000000,0.950000,0.000000,0.000000 -11,0.990000,0.000000,0.020000,0.000000,0.000000 -0,0.100000,0.020000,0.820000,0.000000,0.000000 -1,1.090000,0.000000,0.110000,0.000000,0.000000 -2,1.240000,0.000000,0.010000,0.000000,0.000000 -3,0.000000,0.000000,0.980000,0.000000,0.000000 -4,1.050000,0.000000,0.010000,0.000000,0.000000 -5,1.040000,0.000000,0.010000,0.000000,0.000000 -6,0.000000,0.000000,0.970000,0.000000,0.000000 -7,0.870000,0.000000,0.010000,0.000000,0.000000 -8,0.930000,0.000000,0.010000,0.000000,0.000000 -9,0.150000,0.000000,0.000000,0.000000,0.000000 -10,0.000000,0.010000,0.940000,0.000000,0.000000 -11,0.940000,0.000000,0.010000,0.000000,0.000000 -0,0.310000,0.010000,0.590000,0.000000,0.000000 -1,0.850000,0.000000,0.330000,0.000000,0.000000 -2,0.740000,0.000000,0.000000,0.000000,0.000000 -3,0.000000,0.000000,0.960000,0.000000,0.000000 -4,0.980000,0.000000,0.000000,0.000000,0.000000 -5,1.380000,0.000000,0.000000,0.000000,0.000000 -6,0.000000,0.000000,0.970000,0.000000,0.000000 -7,0.520000,0.000000,0.000000,0.000000,0.000000 -8,1.010000,0.000000,0.000000,0.000000,0.000000 -9,1.670000,0.000000,0.000000,0.000000,0.000000 -10,0.000000,0.010000,0.950000,0.000000,0.000000 -11,0.560000,0.000000,0.000000,0.000000,0.000000 -0,0.560000,0.000000,0.350000,0.000000,0.000000 -1,0.510000,0.010000,0.570000,0.000000,0.000000 -2,1.250000,0.000000,0.000000,0.000000,0.000000 -3,0.000000,0.010000,0.990000,0.000000,0.000000 -4,1.220000,0.000000,0.000000,0.000000,0.000000 -5,1.210000,0.000000,0.000000,0.000000,0.000000 -6,0.000000,0.000000,0.960000,0.000000,0.000000 -7,1.360000,0.000000,0.000000,0.000000,0.000000 -8,1.290000,0.000000,0.000000,0.000000,0.000000 -9,1.750000,0.000000,0.000000,0.000000,0.000000 -10,0.000000,0.000000,0.960000,0.000000,0.000000 -11,1.380000,0.000000,0.000000,0.000000,0.000000 -0,0.660000,0.000000,0.210000,0.000000,0.000000 -1,0.300000,0.000000,0.730000,0.000000,0.000000 -2,0.750000,0.000000,0.000000,0.000000,0.000000 -3,0.000000,0.010000,0.970000,0.000000,0.000000 -4,0.730000,0.000000,0.000000,0.000000,0.000000 -5,0.720000,0.000000,0.000000,0.000000,0.000000 -6,0.000000,0.000000,0.970000,0.000000,0.000000 -7,0.870000,0.000000,0.000000,0.000000,0.000000 -8,1.200000,0.000000,0.000000,0.000000,0.000000 -9,1.050000,0.000000,0.000000,0.000000,0.000000 -10,0.000000,0.010000,0.960000,0.000000,0.000000 -11,1.240000,0.000000,0.000000,0.000000,0.000000 -0,0.640000,0.000000,0.370000,0.000000,0.000000 -1,0.430000,0.000000,0.570000,0.000000,0.000000 -2,1.260000,0.000000,0.000000,0.000000,0.000000 -3,0.000000,0.010000,0.940000,0.000000,0.000000 -4,1.010000,0.000000,0.000000,0.000000,0.000000 -5,0.430000,0.000000,0.000000,0.000000,0.000000 -6,0.000000,0.000000,0.960000,0.000000,0.000000 -7,1.180000,0.000000,0.000000,0.000000,0.000000 -8,0.720000,0.000000,0.000000,0.000000,0.000000 -9,1.460000,0.000000,0.000000,0.000000,0.000000 -10,0.050000,0.000000,0.650000,0.000000,0.000000 -11,0.840000,0.000000,0.290000,0.000000,0.000000 -0,0.680000,0.000000,0.270000,0.000000,0.000000 -1,0.300000,0.000000,0.680000,0.000000,0.000000 -2,0.750000,0.000000,0.000000,0.000000,0.000000 -3,0.000000,0.010000,0.960000,0.000000,0.000000 -4,1.010000,0.000000,0.000000,0.000000,0.000000 -5,1.440000,0.000000,0.000000,0.000000,0.000000 -6,0.000000,0.000000,0.970000,0.000000,0.000000 -7,0.700000,0.000000,0.000000,0.000000,0.000000 -8,0.940000,0.000000,0.000000,0.000000,0.000000 -9,0.870000,0.000000,0.000000,0.000000,0.000000 -10,0.380000,0.000000,0.390000,0.000000,0.000000 -11,0.500000,0.000000,0.560000,0.000000,0.000000 -0,0.620000,0.090000,0.280000,0.000000,0.000000 -1,0.280000,0.000000,0.560000,0.000000,0.000000 -2,0.960000,0.010000,0.260000,0.000000,0.000000 -3,0.000000,0.010000,0.670000,0.000000,0.000000 -4,0.950000,0.000000,0.000000,0.000000,0.000000 -5,1.060000,0.000000,0.000000,0.000000,0.000000 -6,0.020000,0.020000,0.910000,0.000000,0.000000 -7,1.130000,0.000000,0.000000,0.000000,0.000000 -8,1.020000,0.000000,0.000000,0.000000,0.000000 -9,1.080000,0.000000,0.000000,0.000000,0.000000 -10,0.630000,0.040000,0.450000,0.000000,0.000000 -11,0.450000,0.000000,0.430000,0.000000,0.000000 -0,0.610000,0.100000,0.180000,0.000000,0.000000 -1,0.560000,0.030000,0.330000,0.000000,0.000000 -2,0.840000,0.050000,0.180000,0.000000,0.000000 -3,0.540000,0.060000,0.470000,0.000000,0.000000 -4,1.150000,0.020000,0.000000,0.000000,0.000000 -5,1.130000,0.010000,0.000000,0.000000,0.000000 -6,0.220000,0.060000,0.680000,0.000000,0.000000 -7,1.070000,0.100000,0.010000,0.000000,0.000000 -8,1.220000,0.000000,0.000000,0.000000,0.000000 -9,1.070000,0.000000,0.000000,0.000000,0.000000 -10,0.500000,0.140000,0.410000,0.000000,0.000000 -11,0.740000,0.000000,0.250000,0.000000,0.000000 -0,0.720000,0.060000,0.100000,0.000000,0.000000 -1,0.570000,0.010000,0.190000,0.000000,0.000000 -2,0.670000,0.030000,0.100000,0.000000,0.000000 -3,0.370000,0.040000,0.600000,0.000000,0.000000 -4,0.900000,0.010000,0.000000,0.000000,0.000000 -5,0.910000,0.000000,0.000000,0.000000,0.000000 -6,0.130000,0.030000,0.790000,0.000000,0.000000 -7,0.660000,0.250000,0.000000,0.000000,0.000000 -8,0.880000,0.000000,0.000000,0.000000,0.000000 -9,1.220000,0.000000,0.000000,0.000000,0.000000 -10,0.300000,0.090000,0.350000,0.000000,0.000000 -11,0.620000,0.010000,0.390000,0.000000,0.000000 -0,0.880000,0.030000,0.060000,0.000000,0.000000 -1,0.990000,0.000000,0.110000,0.000000,0.000000 -2,0.700000,0.010000,0.060000,0.000000,0.000000 -3,0.220000,0.030000,0.740000,0.000000,0.000000 -4,0.890000,0.000000,0.000000,0.000000,0.000000 -5,1.200000,0.000000,0.000000,0.000000,0.000000 -6,0.070000,0.010000,0.640000,0.000000,0.000000 -7,0.390000,0.490000,0.280000,0.000000,0.000000 -8,0.950000,0.000000,0.000000,0.000000,0.000000 -9,0.730000,0.000000,0.000000,0.000000,0.000000 -10,0.580000,0.050000,0.210000,0.000000,0.000000 -11,0.370000,0.010000,0.590000,0.000000,0.000000 -0,0.930000,0.010000,0.030000,0.000000,0.000000 -1,0.950000,0.000000,0.060000,0.000000,0.000000 -2,0.960000,0.000000,0.240000,0.000000,0.000000 -3,0.310000,0.010000,0.610000,0.000000,0.000000 -4,1.200000,0.000000,0.000000,0.000000,0.000000 -5,1.080000,0.000000,0.000000,0.000000,0.000000 -6,0.630000,0.000000,0.380000,0.000000,0.000000 -7,0.230000,0.290000,0.550000,0.000000,0.000000 -8,0.570000,0.000000,0.610000,0.000000,0.000000 -9,1.200000,0.000000,0.000000,0.000000,0.000000 -10,0.950000,0.030000,0.120000,0.000000,0.000000 -11,0.220000,0.010000,0.740000,0.000000,0.000000 -0,0.550000,0.000000,0.010000,0.000000,0.000000 -1,0.570000,0.000000,0.030000,0.000000,0.000000 -2,0.570000,0.000000,0.530000,0.000000,0.000000 -3,0.390000,0.000000,0.360000,0.000000,0.000000 -4,0.720000,0.000000,0.000000,0.000000,0.000000 -5,0.640000,0.000000,0.000000,0.000000,0.000000 -6,0.560000,0.000000,0.440000,0.000000,0.000000 -7,0.130000,0.170000,0.480000,0.000000,0.000000 -8,0.340000,0.000000,0.600000,0.000000,0.000000 -9,0.720000,0.000000,0.000000,0.000000,0.000000 -10,0.570000,0.010000,0.070000,0.000000,0.000000 -11,0.130000,0.000000,0.810000,0.000000,0.000000 -0,1.040000,0.000000,0.000000,0.000000,0.000000 -1,0.950000,0.010000,0.210000,0.000000,0.000000 -2,0.340000,0.020000,0.650000,0.000000,0.000000 -3,0.770000,0.000000,0.210000,0.000000,0.000000 -4,0.980000,0.000000,0.000000,0.000000,0.000000 -5,0.380000,0.000000,0.000000,0.000000,0.000000 -6,0.330000,0.010000,0.630000,0.000000,0.000000 -7,0.630000,0.100000,0.280000,0.000000,0.000000 -8,0.200000,0.010000,0.850000,0.000000,0.000000 -9,0.430000,0.000000,0.000000,0.000000,0.000000 -10,0.340000,0.000000,0.040000,0.000000,0.000000 -11,0.070000,0.020000,0.640000,0.000000,0.000000 -0,1.080000,0.000000,0.000000,0.000000,0.000000 -1,0.570000,0.000000,0.510000,0.000000,0.000000 -2,0.200000,0.020000,0.760000,0.000000,0.000000 -3,0.710000,0.000000,0.120000,0.000000,0.000000 -4,0.930000,0.000000,0.000000,0.000000,0.000000 -5,1.440000,0.000000,0.000000,0.000000,0.000000 -6,0.190000,0.010000,0.750000,0.000000,0.000000 -7,0.370000,0.060000,0.160000,0.000000,0.000000 -8,0.120000,0.000000,0.920000,0.000000,0.000000 -9,1.110000,0.000000,0.000000,0.000000,0.000000 -10,0.200000,0.000000,0.020000,0.000000,0.000000 -11,0.040000,0.010000,0.380000,0.000000,0.000000 -0,0.890000,0.000000,0.200000,0.000000,0.000000 -1,0.340000,0.000000,0.480000,0.000000,0.000000 -2,0.120000,0.020000,0.850000,0.000000,0.000000 -3,0.420000,0.000000,0.070000,0.000000,0.000000 -4,1.010000,0.000000,0.000000,0.000000,0.000000 -5,0.860000,0.000000,0.000000,0.000000,0.000000 -6,0.210000,0.000000,0.640000,0.000000,0.000000 -7,0.880000,0.030000,0.270000,0.000000,0.000000 -8,0.070000,0.000000,0.910000,0.000000,0.000000 -9,0.660000,0.000000,0.000000,0.000000,0.000000 -10,0.120000,0.000000,0.010000,0.000000,0.000000 -11,0.930000,0.000000,0.220000,0.000000,0.000000 -0,0.530000,0.000000,0.510000,0.000000,0.000000 -1,0.200000,0.000000,0.280000,0.000000,0.000000 -2,0.070000,0.020000,0.880000,0.000000,0.000000 -3,0.250000,0.000000,0.040000,0.000000,0.000000 -4,0.600000,0.000000,0.000000,0.000000,0.000000 -5,0.510000,0.000000,0.000000,0.000000,0.000000 -6,0.120000,0.000000,0.380000,0.000000,0.000000 -7,0.520000,0.020000,0.540000,0.000000,0.000000 -8,0.040000,0.000000,0.970000,0.000000,0.000000 -9,0.390000,0.000000,0.000000,0.000000,0.000000 -10,0.070000,0.000000,0.000000,0.000000,0.000000 -11,0.800000,0.000000,0.130000,0.000000,0.000000 -0,0.310000,0.000000,0.690000,0.000000,0.000000 -1,0.930000,0.000000,0.160000,0.000000,0.000000 -2,0.040000,0.030000,0.910000,0.000000,0.000000 -3,0.150000,0.000000,0.020000,0.000000,0.000000 -4,1.170000,0.000000,0.000000,0.000000,0.000000 -5,0.300000,0.000000,0.000000,0.000000,0.000000 -6,0.780000,0.000000,0.220000,0.000000,0.000000 -7,0.310000,0.090000,0.620000,0.000000,0.000000 -8,0.020000,0.000000,0.990000,0.000000,0.000000 -9,0.230000,0.000000,0.000000,0.000000,0.000000 -10,2.290000,0.000000,0.000000,0.000000,0.000000 -11,0.940000,0.000000,0.070000,0.000000,0.000000 -0,0.330000,0.000000,0.620000,0.000000,0.000000 -1,0.950000,0.000000,0.270000,0.000000,0.000000 -2,0.020000,0.010000,0.910000,0.000000,0.000000 -3,0.090000,0.000000,0.010000,0.000000,0.000000 -4,1.050000,0.000000,0.000000,0.000000,0.000000 -5,1.760000,0.000000,0.000000,0.000000,0.000000 -6,0.460000,0.000000,0.130000,0.000000,0.000000 -7,0.180000,0.060000,0.750000,0.000000,0.000000 -8,0.010000,0.000000,1.000000,0.000000,0.000000 -9,1.710000,0.000000,0.000000,0.000000,0.000000 -10,1.370000,0.000000,0.000000,0.000000,0.000000 -11,0.560000,0.000000,0.040000,0.000000,0.000000 -0,0.340000,0.000000,0.640000,0.000000,0.000000 -1,0.800000,0.000000,0.280000,0.000000,0.000000 -2,0.010000,0.010000,0.940000,0.000000,0.000000 -3,2.230000,0.000000,0.000000,0.000000,0.000000 -4,1.270000,0.000000,0.000000,0.000000,0.000000 -5,1.440000,0.000000,0.000000,0.000000,0.000000 -6,1.220000,0.000000,0.070000,0.000000,0.000000 -7,0.140000,0.040000,0.770000,0.000000,0.000000 -8,0.000000,0.000000,0.970000,0.000000,0.000000 -9,1.760000,0.000000,0.000000,0.000000,0.000000 -10,1.760000,0.000000,0.000000,0.000000,0.000000 -11,1.280000,0.000000,0.020000,0.000000,0.000000 -0,0.200000,0.000000,0.770000,0.000000,0.000000 -1,0.750000,0.000000,0.160000,0.000000,0.000000 -2,0.000000,0.010000,0.940000,0.000000,0.000000 -3,1.330000,0.000000,0.000000,0.000000,0.000000 -4,0.760000,0.000000,0.000000,0.000000,0.000000 -5,0.860000,0.000000,0.000000,0.000000,0.000000 -6,0.950000,0.000000,0.040000,0.000000,0.000000 -7,0.080000,0.030000,0.860000,0.000000,0.000000 -8,0.000000,0.000000,0.980000,0.000000,0.000000 -9,1.050000,0.000000,0.000000,0.000000,0.000000 -10,1.050000,0.000000,0.000000,0.000000,0.000000 -11,0.980000,0.000000,0.010000,0.000000,0.000000 -0,0.320000,0.000000,0.500000,0.000000,0.000000 -1,0.650000,0.000000,0.440000,0.000000,0.000000 -2,0.000000,0.010000,0.940000,0.000000,0.000000 -3,0.790000,0.000000,0.000000,0.000000,0.000000 -4,1.030000,0.000000,0.000000,0.000000,0.000000 -5,0.510000,0.000000,0.000000,0.000000,0.000000 -6,0.570000,0.000000,0.020000,0.000000,0.000000 -7,0.040000,0.030000,0.860000,0.000000,0.000000 -8,0.000000,0.000000,0.960000,0.000000,0.000000 -9,1.460000,0.000000,0.000000,0.000000,0.000000 -10,0.630000,0.000000,0.000000,0.000000,0.000000 -11,0.580000,0.000000,0.000000,0.000000,0.000000 -0,0.700000,0.000000,0.340000,0.000000,0.000000 -1,0.390000,0.000000,0.610000,0.000000,0.000000 -2,0.090000,0.010000,0.820000,0.000000,0.000000 -3,1.570000,0.000000,0.100000,0.000000,0.000000 -4,0.960000,0.000000,0.000000,0.000000,0.000000 -5,1.490000,0.000000,0.000000,0.000000,0.000000 -6,0.340000,0.000000,0.010000,0.000000,0.000000 -7,0.020000,0.020000,0.880000,0.000000,0.000000 -8,0.000000,0.000000,0.960000,0.000000,0.000000 -9,0.870000,0.000000,0.000000,0.000000,0.000000 -10,0.370000,0.000000,0.000000,0.000000,0.000000 -11,0.340000,0.000000,0.000000,0.000000,0.000000 -0,0.420000,0.000000,0.590000,0.000000,0.000000 -1,0.280000,0.000000,0.360000,0.000000,0.000000 -2,0.360000,0.000000,0.490000,0.000000,0.000000 -3,0.940000,0.010000,0.470000,0.000000,0.000000 -4,0.970000,0.000000,0.000000,0.000000,0.000000 -5,0.890000,0.000000,0.000000,0.000000,0.000000 -6,1.480000,0.000000,0.120000,0.000000,0.000000 -7,0.010000,0.010000,0.800000,0.000000,0.000000 -8,0.000000,0.000000,0.970000,0.000000,0.000000 -9,0.520000,0.000000,0.000000,0.000000,0.000000 -10,0.220000,0.000000,0.000000,0.000000,0.000000 -11,1.420000,0.000000,0.000000,0.000000,0.000000 -0,0.250000,0.000000,0.740000,0.000000,0.000000 -1,0.160000,0.000000,0.210000,0.000000,0.000000 -2,0.510000,0.000000,0.290000,0.000000,0.000000 -3,0.560000,0.010000,0.660000,0.000000,0.000000 -4,0.580000,0.000000,0.000000,0.000000,0.000000 -5,0.530000,0.000000,0.000000,0.000000,0.000000 -6,0.880000,0.020000,0.440000,0.000000,0.000000 -7,0.000000,0.000000,0.480000,0.000000,0.000000 -8,0.000000,0.030000,0.950000,0.000000,0.000000 -9,0.310000,0.000000,0.000000,0.000000,0.000000 -10,0.130000,0.000000,0.000000,0.000000,0.000000 -11,1.200000,0.000000,0.000000,0.000000,0.000000 -0,0.150000,0.000000,0.830000,0.000000,0.000000 -1,0.090000,0.000000,0.340000,0.000000,0.000000 -2,0.300000,0.000000,0.460000,0.000000,0.000000 -3,0.330000,0.000000,0.760000,0.000000,0.000000 -4,0.340000,0.000000,0.150000,0.000000,0.000000 -5,0.310000,0.000000,0.150000,0.000000,0.000000 -6,0.520000,0.010000,0.630000,0.000000,0.000000 -7,0.000000,0.000000,0.530000,0.000000,0.000000 -8,0.000000,0.030000,0.930000,0.000000,0.000000 -9,0.180000,0.000000,0.330000,0.000000,0.000000 -10,0.070000,0.000000,0.220000,0.000000,0.000000 -11,0.720000,0.000000,0.150000,0.000000,0.000000 -0,0.090000,0.000000,0.880000,0.000000,0.000000 -1,0.050000,0.000000,0.710000,0.000000,0.000000 -2,0.180000,0.010000,0.660000,0.000000,0.000000 -3,0.190000,0.000000,0.830000,0.000000,0.000000 -4,0.200000,0.000000,0.360000,0.000000,0.000000 -5,0.180000,0.000000,0.670000,0.000000,0.000000 -6,0.310000,0.000000,0.770000,0.000000,0.000000 -7,0.000000,0.000000,0.720000,0.000000,0.000000 -8,0.000000,0.020000,0.940000,0.000000,0.000000 -9,0.100000,0.000000,0.520000,0.000000,0.000000 -10,0.040000,0.000000,0.620000,0.000000,0.000000 -11,0.430000,0.000000,0.670000,0.000000,0.000000 -0,0.050000,0.000000,0.910000,0.000000,0.000000 -1,0.030000,0.000000,0.780000,0.000000,0.000000 -2,0.100000,0.000000,0.790000,0.000000,0.000000 -3,0.110000,0.000000,0.890000,0.000000,0.000000 -4,0.120000,0.010000,0.900000,0.000000,0.000000 -5,0.100000,0.000000,0.760000,0.000000,0.000000 -6,0.180000,0.000000,0.850000,0.000000,0.000000 -7,0.000000,0.000000,0.860000,0.000000,0.000000 -8,0.000000,0.030000,0.920000,0.000000,0.000000 -9,0.060000,0.000000,0.750000,0.000000,0.000000 -10,0.020000,0.000000,0.740000,0.000000,0.000000 -11,0.250000,0.000000,0.790000,0.000000,0.000000 -0,0.030000,0.000000,0.930000,0.000000,0.000000 -1,0.010000,0.000000,0.860000,0.000000,0.000000 -2,0.060000,0.000000,0.830000,0.000000,0.000000 -3,0.060000,0.000000,0.910000,0.000000,0.000000 -4,0.070000,0.010000,0.930000,0.000000,0.000000 -5,0.060000,0.000000,0.450000,0.000000,0.000000 -6,0.100000,0.000000,0.890000,0.000000,0.000000 -7,0.000000,0.000000,0.930000,0.000000,0.000000 -8,0.000000,0.030000,0.930000,0.000000,0.000000 -9,0.030000,0.000000,0.790000,0.000000,0.000000 -10,0.010000,0.000000,0.850000,0.000000,0.000000 -11,0.150000,0.000000,0.870000,0.000000,0.000000 -0,0.010000,0.000000,0.940000,0.000000,0.000000 -1,0.000000,0.000000,0.820000,0.000000,0.000000 -2,0.030000,0.000000,0.900000,0.000000,0.000000 -3,0.030000,0.000000,0.940000,0.000000,0.000000 -4,0.040000,0.000000,0.920000,0.000000,0.000000 -5,0.030000,0.000000,0.930000,0.000000,0.000000 -6,0.060000,0.000000,0.940000,0.000000,0.000000 -7,0.000000,0.000000,0.870000,0.000000,0.000000 -8,0.000000,0.010000,0.920000,0.000000,0.000000 -9,0.010000,0.000000,0.770000,0.000000,0.000000 -10,0.000000,0.000000,0.860000,0.000000,0.000000 -11,0.090000,0.000000,0.850000,0.000000,0.000000 diff --git a/visualize/run/io_process_stats b/visualize/run/io_process_stats deleted file mode 100644 index 5de09f7..0000000 --- a/visualize/run/io_process_stats +++ /dev/null @@ -1,8 +0,0 @@ -TGID,Read Count,Write Count -4739,100,65 -12063,100,50 -12566,100,51 -4668,69,100 -723,100,4 -3993,38,100 -3999,70,100 diff --git a/visualize/run/io_task_stats b/visualize/run/io_task_stats deleted file mode 100644 index 0529d17..0000000 --- a/visualize/run/io_task_stats +++ /dev/null @@ -1,37 +0,0 @@ -PID,Command,Read Count,Write Count -4741,cpptools,450,0 -12065,cpptools-srv,450,0 -12066,cpptools-srv,0,450 -4884,cpptools,0,450 -4885,cpptools,0,450 -4882,cpptools,0,450 -4883,cpptools,0,450 -12069,cpptools-srv,0,450 -12569,cpptools-srv,450,0 -12068,cpptools-srv,0,450 -4668,code,280,400 -26229,os_spy,40,200 -4656,Chrome_ChildIOT,0,150 -4657,VizCompositorTh,50,0 -26229,os_spy,48,200 -26229,os_spy,48,200 -26229,os_spy,48,200 -2901,prometheus-node,450,9 -2896,prometheus-node,450,9 -809,prometheus-node,450,0 -7023,prometheus-node,450,0 -808,prometheus-node,450,9 -2899,prometheus-node,450,441 -723,prometheus-node,450,9 -2898,prometheus-node,72,450 -26229,os_spy,54,450 -26229,os_spy,11,50 -26229,os_spy,11,50 -4017,gdbus,153,450 -3996,gdbus,117,450 -26229,os_spy,10,50 -4380,gdbus,26,50 -3999,ibus-ui-gtk3,50,24 -26229,os_spy,48,200 -3996,gdbus,36,450 -26229,os_spy,48,200 diff --git a/visualize/run/iowait_perf b/visualize/run/iowait_perf deleted file mode 100644 index 4636b80..0000000 --- a/visualize/run/iowait_perf +++ /dev/null @@ -1,26 +0,0 @@ -1us,4us,16us,64us,256us,1ms,4ms,4ms+ -0,0,0,0,0,0,0,0 -0,0,0,0,1,1,2,0 -0,0,0,0,1,1,2,0 -0,0,0,0,1,1,2,0 -0,0,0,0,1,1,2,0 -0,0,0,0,1,2,2,0 -0,0,0,0,1,2,3,0 -0,0,0,1,6,2,6,1 -0,0,0,1,6,2,6,1 -0,0,0,1,7,4,7,1 -0,0,1,1,7,4,7,2 -0,0,1,1,7,4,7,2 -0,0,1,1,7,4,8,2 -0,0,1,1,7,4,8,2 -0,0,1,1,8,4,8,2 -0,0,1,1,8,4,8,2 -0,0,1,1,8,4,8,2 -0,0,1,1,8,4,8,2 -0,0,1,1,8,5,8,2 -0,0,1,1,9,6,9,2 -0,1,4,29,11,7,9,3 -0,1,4,29,11,7,9,3 -0,1,4,29,12,7,11,3 -0,1,4,29,12,7,11,3 -0,1,4,29,12,7,11,3 diff --git a/visualize/run/process_mm_stats b/visualize/run/process_mm_stats deleted file mode 100644 index 5d6839f..0000000 --- a/visualize/run/process_mm_stats +++ /dev/null @@ -1,27 +0,0 @@ -TGID,Kmem Count,Vmem Count,Slab Count -12503,1000,0,6 -3863,1000,2,125 -12063,466,294,1000 -4601,240,1000,193 -4739,1000,320,881 -12503,1000,0,1 -3863,1000,1,227 -4601,127,1000,144 -4033,1000,0,253 -12503,1000,0,1 -3863,1000,1,120 -4601,0,1000,12 -3863,1000,1,311 -12503,1000,0,1 -3863,1000,2,115 -12503,1000,0,1 -3863,1000,2,121 -12503,1000,0,1 -3863,1000,2,123 -30750,1000,0,6 -3863,1000,2,125 -30750,1000,0,1 -3863,1000,1,124 -3863,1000,1,121 -30750,1000,0,1 -3863,1000,1,189 diff --git a/visualize/run/process_stat b/visualize/run/process_stat deleted file mode 100644 index 451ac35..0000000 --- a/visualize/run/process_stat +++ /dev/null @@ -1,144 +0,0 @@ -TGID,Kids Length,Total Percent -12575,1,30.000000 -3863,1,23.000000 -3863,1,23.000000 -3863,1,23.000000 -3863,1,23.000000 -3863,1,23.000000 -3863,1,23.000000 -3863,1,23.000000 -3863,1,23.000000 -3863,1,23.000000 -3863,1,23.000000 -3863,1,23.000000 -3863,1,23.000000 -3863,1,23.000000 -3863,1,23.000000 -3863,1,23.000000 -3863,1,23.000000 -12575,1,30.000000 -3863,1,23.000000 -3863,1,23.000000 -3863,1,23.000000 -6478,1,37.000000 -6478,1,37.000000 -6478,1,37.000000 -6478,1,37.000000 -6478,1,37.000000 -6478,1,37.000000 -6478,1,37.000000 -6478,1,37.000000 -6478,1,37.000000 -6478,1,37.000000 -6478,1,37.000000 -6478,1,37.000000 -6478,1,37.000000 -40941,1,101.000000 -40946,1,101.000000 -40947,1,185.000000 -40943,1,360.000000 -40948,1,113.000000 -40947,1,12.000000 -40942,1,41.000000 -40944,1,49.000000 -40941,1,50.000000 -40939,1,44.000000 -40943,1,255.000000 -40946,1,262.000000 -40945,1,266.000000 -39458,1,70.000000 -40946,1,115.000000 -40945,1,710.000000 -40947,1,52.000000 -40943,1,59.000000 -40948,1,115.000000 -40944,1,255.000000 -40942,1,383.000000 -40941,1,716.000000 -40947,1,12.000000 -40942,1,12.000000 -40947,1,13.000000 -40945,1,115.000000 -40941,1,115.000000 -40944,1,12.000000 -40942,1,393.000000 -40945,1,716.000000 -40947,1,114.000000 -40947,1,12.000000 -40941,1,716.000000 -40945,1,51.000000 -40941,1,51.000000 -40947,1,51.000000 -40944,1,41.000000 -40948,1,878.000000 -40942,1,17.000000 -40945,1,255.000000 -40947,1,382.000000 -40942,1,115.000000 -40947,1,13.000000 -40941,1,716.000000 -40941,1,715.000000 -40948,1,114.000000 -40947,1,12.000000 -40943,1,12.000000 -40946,1,12.000000 -40945,1,12.000000 -5008,44,21.000000 -40942,1,50.000000 -40944,1,703.000000 -5008,57,0.000000 -40941,1,10.000000 -40944,1,11.000000 -40942,1,23.000000 -40948,1,87.000000 -40947,1,22.000000 -40945,1,16.000000 -40946,1,14.000000 -5008,72,0.000000 -40943,1,672.000000 -40965,1,10.000000 -40947,1,12.000000 -40942,1,537.000000 -40944,1,537.000000 -40941,1,715.000000 -5008,72,0.000000 -40945,1,48.000000 -40946,1,19.000000 -40947,1,255.000000 -40948,1,115.000000 -40942,1,115.000000 -40946,1,12.000000 -40947,1,50.000000 -40944,1,116.000000 -40945,1,14.000000 -40941,1,263.000000 -40944,1,691.000000 -40947,1,12.000000 -40942,1,117.000000 -723,16,0.000000 -40946,1,115.000000 -40941,1,715.000000 -40944,1,385.000000 -40947,1,256.000000 -40946,1,12.000000 -40947,1,12.000000 -40942,1,116.000000 -40942,1,820.000000 -40947,1,52.000000 -40946,1,50.000000 -5008,72,75.000000 -40941,1,536.000000 -40947,1,114.000000 -5008,72,36.000000 -40947,1,114.000000 -40946,1,40.000000 -40941,1,295.000000 -40948,1,880.000000 -40942,1,102.000000 -40947,1,255.000000 -40941,1,716.000000 -40947,1,533.000000 -40944,1,46.000000 -40947,1,12.000000 -40942,1,718.000000 -40944,1,537.000000 diff --git a/visualize/run/runqlat b/visualize/run/runqlat deleted file mode 100644 index a6062f5..0000000 --- a/visualize/run/runqlat +++ /dev/null @@ -1,69 +0,0 @@ -1us,4us,16us,64us,256us,1ms,4ms,4ms+ -4550,579,298,27,1,0,0,1 -5237,1098,612,78,3,0,1,2 -6623,1604,953,111,4,0,2,4 -7639,1892,1282,164,5,1,3,4 -8951,2068,1459,237,5,1,4,5 -9403,2228,1585,313,5,1,4,5 -9405,2274,1668,394,5,1,4,5 -9716,2340,1757,469,6,2,4,5 -9730,2371,1865,549,6,2,4,5 -10009,2402,1967,626,6,2,4,5 -10035,2489,2076,708,6,2,4,5 -10495,2564,2182,783,6,2,4,5 -10496,2613,2265,861,6,2,4,5 -276,14,40,58,0,0,0,0 -301,38,87,121,1,0,0,0 -571,63,107,180,1,0,0,0 -606,106,194,242,2,0,1,0 -1181,207,286,278,2,0,1,0 -1214,265,356,345,3,0,2,0 -1487,285,384,404,3,0,2,0 -1558,312,444,467,4,0,4,0 -1840,346,488,525,4,0,4,0 -3483,534,581,579,14,11,4,0 -3801,571,622,627,14,11,4,0 -3875,640,707,690,14,11,5,0 -4151,696,756,748,14,11,5,0 -4225,781,849,817,15,13,6,0 -4777,846,912,865,15,13,6,0 -4813,902,1003,925,15,13,6,0 -5089,951,1069,984,15,13,6,0 -5198,1014,1170,1043,16,13,6,0 -5469,1030,1188,1099,16,13,6,0 -5523,1116,1234,1152,21,13,8,7 -5829,1205,1239,1159,27,13,11,13 -6160,1511,1270,1172,61,46,16,39 -6661,1662,1294,1197,71,46,17,42 -6871,1833,1305,1208,80,46,19,58 -7286,2056,1312,1209,80,49,20,66 -7422,2149,1317,1210,83,51,21,77 -7727,2245,1321,1210,83,57,22,81 -7898,2373,1337,1226,94,57,22,91 -8266,2512,1352,1237,94,57,22,99 -8512,2676,1365,1260,114,58,22,116 -9057,2761,1369,1263,114,58,23,121 -9181,2894,1371,1265,123,58,23,130 -9481,2969,1375,1268,124,60,25,138 -9845,3225,1437,1340,211,146,123,196 -10644,4046,1615,1530,416,352,379,1036 -10744,4239,1656,1559,432,366,394,1097 -11067,4334,1664,1565,436,369,394,1110 -11244,4523,1687,1590,450,372,398,1130 -11614,4616,1689,1591,454,374,398,1132 -12779,5107,1748,1794,557,407,412,1144 -13047,5329,1767,1809,566,410,412,1150 -13202,5434,1777,1811,568,411,414,1159 -13569,5561,1781,1812,592,412,415,1162 -13774,5705,1803,1832,613,432,437,1172 -14121,5815,1807,1838,620,432,439,1180 -14235,5939,1828,1850,631,432,441,1194 -14664,6085,1854,1867,640,434,441,1197 -14754,6198,1871,1876,643,437,445,1202 -15063,6383,1886,1900,666,439,448,1210 -15208,6483,1891,1903,685,439,448,1217 -15542,6659,1903,1912,702,443,448,1219 -15706,6792,2005,1965,713,443,448,1219 -15977,6838,2065,2020,713,443,448,1219 -16193,6980,2158,2081,715,443,449,1219 -16518,7045,2216,2132,715,443,449,1219 diff --git a/visualize/run/task_mm_stats b/visualize/run/task_mm_stats deleted file mode 100644 index 8ff32b4..0000000 --- a/visualize/run/task_mm_stats +++ /dev/null @@ -1,36 +0,0 @@ -PID,Command,Kmem Count,Vmem Count,Slab Count -12503,os_spy,500,0,6 -3863,Xorg,500,1,61 -4741,cpptools,500,6,333 -12065,cpptools-srv,500,14,334 -4604,ThreadPoolForeg,16,500,58 -4033,xfwm4,500,0,120 -4601,code,80,500,122 -4617,Compositor,29,500,82 -12503,os_spy,500,0,1 -4657,VizCompositorTh,500,22,103 -3863,Xorg,500,1,103 -4033,xfwm4,500,0,120 -4604,ThreadPoolForeg,0,500,0 -4605,ThreadPoolForeg,0,500,0 -4657,VizCompositorTh,500,0,106 -3863,Xorg,500,0,53 -12503,os_spy,500,0,1 -4601,code,0,500,11 -3863,Xorg,500,1,148 -4593,Chrome_ChildIOT,10,500,44 -4678,code,2,500,2 -12503,os_spy,500,0,1 -3863,Xorg,500,1,54 -12503,os_spy,500,0,1 -3863,Xorg,500,2,60 -12503,os_spy,500,0,1 -3863,Xorg,500,1,54 -30750,os_spy,500,0,6 -3863,Xorg,500,2,64 -30750,os_spy,500,0,1 -3863,Xorg,500,1,70 -4601,code,0,500,16 -3863,Xorg,500,1,64 -30750,os_spy,500,0,1 -3863,Xorg,500,0,54 diff --git a/visualize/run/task_usage b/visualize/run/task_usage deleted file mode 100644 index 436467d..0000000 --- a/visualize/run/task_usage +++ /dev/null @@ -1,317 +0,0 @@ -PID,Name,Total Percent,Kernel Percent,User Percent -4744,cpptools,62.000000,94.000000,5.000000 -4744,cpptools,62.000000,94.000000,5.000000 -4601,code,14.000000,100.000000,0.000000 -4601,code,14.000000,100.000000,0.000000 -4601,code,14.000000,100.000000,0.000000 -4601,code,14.000000,100.000000,0.000000 -4601,code,14.000000,100.000000,0.000000 -4601,code,14.000000,100.000000,0.000000 -4601,code,14.000000,100.000000,0.000000 -4744,cpptools,62.000000,94.000000,5.000000 -4601,code,14.000000,100.000000,0.000000 -4601,code,14.000000,100.000000,0.000000 -4601,code,14.000000,100.000000,0.000000 -4601,code,14.000000,100.000000,0.000000 -4601,code,14.000000,100.000000,0.000000 -4601,code,14.000000,100.000000,0.000000 -4601,code,14.000000,100.000000,0.000000 -4601,code,14.000000,100.000000,0.000000 -4601,code,14.000000,100.000000,0.000000 -4601,code,14.000000,100.000000,0.000000 -4601,code,14.000000,100.000000,0.000000 -4601,code,14.000000,100.000000,0.000000 -4601,code,14.000000,100.000000,0.000000 -4601,code,14.000000,100.000000,0.000000 -4601,code,14.000000,100.000000,0.000000 -4601,code,14.000000,100.000000,0.000000 -4601,code,14.000000,100.000000,0.000000 -6478,xrdp,8.000000,100.000000,0.000000 -4601,code,14.000000,100.000000,0.000000 -6478,xrdp,8.000000,100.000000,0.000000 -6478,xrdp,8.000000,100.000000,0.000000 -3863,Xorg,6.000000,100.000000,0.000000 -4601,code,14.000000,100.000000,0.000000 -3863,Xorg,6.000000,100.000000,0.000000 -6478,xrdp,8.000000,100.000000,0.000000 -3863,Xorg,6.000000,100.000000,0.000000 -3863,Xorg,6.000000,100.000000,0.000000 -3863,Xorg,6.000000,100.000000,0.000000 -3863,Xorg,6.000000,100.000000,0.000000 -3863,Xorg,6.000000,100.000000,0.000000 -4601,code,14.000000,100.000000,0.000000 -3863,Xorg,6.000000,100.000000,0.000000 -3863,Xorg,6.000000,100.000000,0.000000 -3863,Xorg,6.000000,100.000000,0.000000 -3863,Xorg,6.000000,100.000000,0.000000 -3863,Xorg,6.000000,100.000000,0.000000 -4744,cpptools,62.000000,94.000000,5.000000 -4601,code,14.000000,100.000000,0.000000 -4601,code,14.000000,100.000000,0.000000 -3863,Xorg,6.000000,100.000000,0.000000 -4601,code,11.000000,100.000000,0.000000 -4601,code,11.000000,100.000000,0.000000 -4601,code,11.000000,100.000000,0.000000 -4601,code,11.000000,100.000000,0.000000 -4601,code,11.000000,100.000000,0.000000 -4601,code,11.000000,100.000000,0.000000 -4601,code,11.000000,100.000000,0.000000 -4601,code,11.000000,100.000000,0.000000 -4601,code,11.000000,100.000000,0.000000 -4601,code,11.000000,100.000000,0.000000 -4601,code,11.000000,100.000000,0.000000 -4601,code,11.000000,100.000000,0.000000 -4601,code,11.000000,100.000000,0.000000 -4601,code,11.000000,100.000000,0.000000 -4601,code,11.000000,100.000000,0.000000 -4601,code,11.000000,100.000000,0.000000 -4601,code,11.000000,100.000000,0.000000 -4601,code,11.000000,100.000000,0.000000 -4601,code,11.000000,100.000000,0.000000 -4601,code,11.000000,100.000000,0.000000 -4601,code,11.000000,100.000000,0.000000 -4601,code,11.000000,100.000000,0.000000 -4601,code,11.000000,100.000000,0.000000 -4601,code,11.000000,100.000000,0.000000 -6478,xrdp,21.000000,90.000000,9.000000 -4601,code,11.000000,100.000000,0.000000 -6478,xrdp,21.000000,90.000000,9.000000 -6478,xrdp,21.000000,90.000000,9.000000 -3863,Xorg,19.000000,100.000000,0.000000 -4601,code,11.000000,100.000000,0.000000 -3863,Xorg,19.000000,100.000000,0.000000 -6478,xrdp,21.000000,90.000000,9.000000 -3863,Xorg,19.000000,100.000000,0.000000 -3863,Xorg,19.000000,100.000000,0.000000 -3863,Xorg,19.000000,100.000000,0.000000 -3863,Xorg,19.000000,100.000000,0.000000 -3863,Xorg,19.000000,100.000000,0.000000 -4601,code,11.000000,100.000000,0.000000 -3863,Xorg,19.000000,100.000000,0.000000 -3863,Xorg,19.000000,100.000000,0.000000 -3863,Xorg,19.000000,100.000000,0.000000 -3863,Xorg,19.000000,100.000000,0.000000 -3863,Xorg,19.000000,100.000000,0.000000 -4601,code,11.000000,100.000000,0.000000 -4601,code,11.000000,100.000000,0.000000 -3863,Xorg,19.000000,100.000000,0.000000 -4657,VizCompositorTh,13.000000,100.000000,0.000000 -4657,VizCompositorTh,13.000000,100.000000,0.000000 -4657,VizCompositorTh,13.000000,100.000000,0.000000 -6478,xrdp,24.000000,100.000000,0.000000 -6478,xrdp,24.000000,100.000000,0.000000 -6478,xrdp,24.000000,100.000000,0.000000 -3863,Xorg,23.000000,96.000000,3.000000 -3863,Xorg,23.000000,96.000000,3.000000 -6478,xrdp,24.000000,100.000000,0.000000 -3863,Xorg,23.000000,96.000000,3.000000 -3863,Xorg,23.000000,96.000000,3.000000 -3863,Xorg,23.000000,96.000000,3.000000 -3863,Xorg,23.000000,96.000000,3.000000 -3863,Xorg,23.000000,96.000000,3.000000 -3863,Xorg,23.000000,96.000000,3.000000 -3863,Xorg,23.000000,96.000000,3.000000 -3863,Xorg,23.000000,96.000000,3.000000 -3863,Xorg,23.000000,96.000000,3.000000 -3863,Xorg,23.000000,96.000000,3.000000 -4657,VizCompositorTh,13.000000,100.000000,0.000000 -3863,Xorg,23.000000,96.000000,3.000000 -4657,VizCompositorTh,16.000000,100.000000,0.000000 -4657,VizCompositorTh,16.000000,100.000000,0.000000 -4657,VizCompositorTh,16.000000,100.000000,0.000000 -4657,VizCompositorTh,16.000000,100.000000,0.000000 -6478,xrdp,37.000000,100.000000,0.000000 -4657,VizCompositorTh,16.000000,100.000000,0.000000 -4657,VizCompositorTh,16.000000,100.000000,0.000000 -4657,VizCompositorTh,16.000000,100.000000,0.000000 -4657,VizCompositorTh,16.000000,100.000000,0.000000 -4657,VizCompositorTh,16.000000,100.000000,0.000000 -4657,VizCompositorTh,16.000000,100.000000,0.000000 -4657,VizCompositorTh,16.000000,100.000000,0.000000 -6478,xrdp,37.000000,100.000000,0.000000 -4657,VizCompositorTh,16.000000,100.000000,0.000000 -4657,VizCompositorTh,16.000000,100.000000,0.000000 -4657,VizCompositorTh,16.000000,100.000000,0.000000 -4657,VizCompositorTh,16.000000,100.000000,0.000000 -4657,VizCompositorTh,16.000000,100.000000,0.000000 -4657,VizCompositorTh,16.000000,100.000000,0.000000 -6478,xrdp,37.000000,100.000000,0.000000 -3863,Xorg,10.000000,100.000000,0.000000 -4657,VizCompositorTh,16.000000,100.000000,0.000000 -4657,VizCompositorTh,16.000000,100.000000,0.000000 -3863,Xorg,10.000000,100.000000,0.000000 -4657,VizCompositorTh,16.000000,100.000000,0.000000 -3863,Xorg,10.000000,100.000000,0.000000 -6478,xrdp,37.000000,100.000000,0.000000 -6478,xrdp,37.000000,100.000000,0.000000 -3863,Xorg,10.000000,100.000000,0.000000 -6478,xrdp,37.000000,100.000000,0.000000 -6478,xrdp,37.000000,100.000000,0.000000 -3863,Xorg,10.000000,100.000000,0.000000 -3863,Xorg,10.000000,100.000000,0.000000 -3863,Xorg,10.000000,100.000000,0.000000 -6478,xrdp,37.000000,100.000000,0.000000 -3863,Xorg,10.000000,100.000000,0.000000 -3863,Xorg,10.000000,100.000000,0.000000 -3863,Xorg,10.000000,100.000000,0.000000 -3863,Xorg,10.000000,100.000000,0.000000 -3863,Xorg,10.000000,100.000000,0.000000 -3863,Xorg,10.000000,100.000000,0.000000 -3863,Xorg,10.000000,100.000000,0.000000 -3863,Xorg,10.000000,100.000000,0.000000 -3863,Xorg,10.000000,100.000000,0.000000 -3863,Xorg,10.000000,100.000000,0.000000 -3863,Xorg,10.000000,100.000000,0.000000 -4657,VizCompositorTh,16.000000,100.000000,0.000000 -3863,Xorg,10.000000,100.000000,0.000000 -3863,Xorg,10.000000,100.000000,0.000000 -3863,Xorg,10.000000,100.000000,0.000000 -4657,VizCompositorTh,16.000000,100.000000,0.000000 -4657,VizCompositorTh,16.000000,100.000000,0.000000 -4657,VizCompositorTh,16.000000,100.000000,0.000000 -4657,VizCompositorTh,16.000000,100.000000,0.000000 -4657,VizCompositorTh,16.000000,100.000000,0.000000 -4657,VizCompositorTh,16.000000,100.000000,0.000000 -4657,VizCompositorTh,16.000000,100.000000,0.000000 -4657,VizCompositorTh,16.000000,100.000000,0.000000 -4657,VizCompositorTh,16.000000,100.000000,0.000000 -4657,VizCompositorTh,16.000000,100.000000,0.000000 -4657,VizCompositorTh,16.000000,100.000000,0.000000 -4657,VizCompositorTh,16.000000,100.000000,0.000000 -4657,VizCompositorTh,16.000000,100.000000,0.000000 -4657,VizCompositorTh,16.000000,100.000000,0.000000 -4657,VizCompositorTh,16.000000,100.000000,0.000000 -4657,VizCompositorTh,16.000000,100.000000,0.000000 -4657,VizCompositorTh,16.000000,100.000000,0.000000 -4657,VizCompositorTh,16.000000,100.000000,0.000000 -4657,VizCompositorTh,16.000000,100.000000,0.000000 -4657,VizCompositorTh,16.000000,100.000000,0.000000 -4657,VizCompositorTh,16.000000,100.000000,0.000000 -39458,xrdp,62.000000,1.000000,0.000000 -40947,stress-ng,0.000000,0.000000,0.000000 -40948,stress-ng,0.000000,0.000000,0.000000 -40941,stress-ng,0.000000,0.000000,0.000000 -40943,stress-ng,0.000000,0.000000,0.000000 -40944,stress-ng,0.000000,0.000000,0.000000 -40942,stress-ng,0.000000,0.000000,0.000000 -40946,stress-ng,101.000000,0.000000,0.000000 -40948,stress-ng,113.000000,0.000000,1.000000 -40947,stress-ng,12.000000,0.000000,1.000000 -40942,stress-ng,41.000000,0.000000,1.000000 -40944,stress-ng,49.000000,0.000000,1.000000 -40941,stress-ng,50.000000,0.000000,1.000000 -39458,xrdp,21.000000,1.000000,0.000000 -40939,os_spy,43.000000,0.000000,0.000000 -40943,stress-ng,255.000000,0.000000,1.000000 -40946,stress-ng,262.000000,0.000000,1.000000 -3863,Xorg,40.000000,0.000000,0.000000 -40945,stress-ng,266.000000,0.000000,1.000000 -40945,stress-ng,710.000000,0.000000,1.000000 -40946,stress-ng,115.000000,0.000000,1.000000 -40947,stress-ng,52.000000,0.000000,1.000000 -40943,stress-ng,59.000000,0.000000,1.000000 -40948,stress-ng,115.000000,0.000000,1.000000 -40944,stress-ng,255.000000,0.000000,1.000000 -40942,stress-ng,383.000000,0.000000,1.000000 -40941,stress-ng,716.000000,0.000000,1.000000 -40947,stress-ng,12.000000,0.000000,1.000000 -40942,stress-ng,12.000000,0.000000,1.000000 -40947,stress-ng,13.000000,0.000000,1.000000 -40945,stress-ng,115.000000,0.000000,1.000000 -40941,stress-ng,115.000000,0.000000,1.000000 -40944,stress-ng,12.000000,0.000000,1.000000 -40942,stress-ng,393.000000,0.000000,1.000000 -40945,stress-ng,716.000000,0.000000,1.000000 -40947,stress-ng,114.000000,0.000000,1.000000 -40947,stress-ng,12.000000,0.000000,1.000000 -40941,stress-ng,716.000000,0.000000,1.000000 -40945,stress-ng,51.000000,0.000000,1.000000 -40941,stress-ng,51.000000,0.000000,1.000000 -40947,stress-ng,51.000000,0.000000,1.000000 -40944,stress-ng,41.000000,0.000000,1.000000 -40948,stress-ng,878.000000,0.000000,1.000000 -40942,stress-ng,17.000000,0.000000,1.000000 -40945,stress-ng,255.000000,0.000000,1.000000 -40947,stress-ng,382.000000,0.000000,1.000000 -40942,stress-ng,115.000000,0.000000,1.000000 -40947,stress-ng,13.000000,0.000000,1.000000 -40941,stress-ng,716.000000,0.000000,1.000000 -40941,stress-ng,715.000000,0.000000,1.000000 -40948,stress-ng,114.000000,0.000000,1.000000 -40947,stress-ng,12.000000,0.000000,1.000000 -40946,stress-ng,12.000000,0.000000,1.000000 -40943,stress-ng,12.000000,0.000000,1.000000 -40945,stress-ng,12.000000,0.000000,1.000000 -5030,C2 CompilerThre,0.000000,0.000000,0.000000 -5031,C1 CompilerThre,0.000000,0.000000,0.000000 -40942,stress-ng,50.000000,0.000000,1.000000 -40944,stress-ng,703.000000,0.000000,1.000000 -40941,stress-ng,0.000000,0.000000,1.000000 -40928,JobScheduler FJ,34.000000,0.000000,0.000000 -40955,JobScheduler FJ,5.000000,0.000000,0.000000 -40958,JobScheduler FJ,5.000000,0.000000,0.000000 -40960,JobScheduler FJ,5.000000,0.000000,0.000000 -40964,JobScheduler FJ,5.000000,0.000000,0.000000 -40956,JobScheduler FJ,5.000000,0.000000,0.000000 -40953,JobScheduler FJ,5.000000,0.000000,0.000000 -40959,JobScheduler FJ,5.000000,0.000000,0.000000 -40963,JobScheduler FJ,5.000000,0.000000,0.000000 -40944,stress-ng,0.000000,0.000000,1.000000 -40957,JobScheduler FJ,10.000000,0.000000,0.000000 -40942,stress-ng,0.000000,0.000000,1.000000 -40945,stress-ng,0.000000,0.000000,1.000000 -40947,stress-ng,5.000000,0.000000,1.000000 -40948,stress-ng,87.000000,0.000000,1.000000 -5031,C1 CompilerThre,5.000000,0.000000,0.000000 -5030,C2 CompilerThre,6.000000,0.000000,0.000000 -40946,stress-ng,14.000000,0.000000,1.000000 -40962,AWT-EventQueue-,30.000000,0.000000,0.000000 -40943,stress-ng,672.000000,0.000000,1.000000 -40965,DefaultDispatch,0.000000,0.000000,0.000000 -40947,stress-ng,12.000000,0.000000,1.000000 -40942,stress-ng,537.000000,0.000000,1.000000 -40944,stress-ng,537.000000,0.000000,1.000000 -40941,stress-ng,715.000000,0.000000,1.000000 -40945,stress-ng,48.000000,0.000000,1.000000 -40946,stress-ng,19.000000,0.000000,1.000000 -40947,stress-ng,255.000000,0.000000,1.000000 -40948,stress-ng,115.000000,0.000000,1.000000 -40942,stress-ng,115.000000,0.000000,1.000000 -40944,stress-ng,0.000000,0.000000,1.000000 -40946,stress-ng,12.000000,0.000000,1.000000 -40947,stress-ng,50.000000,0.000000,1.000000 -40945,stress-ng,14.000000,0.000000,1.000000 -40941,stress-ng,263.000000,0.000000,1.000000 -40944,stress-ng,691.000000,0.000000,1.000000 -40947,stress-ng,12.000000,0.000000,1.000000 -40942,stress-ng,117.000000,0.000000,1.000000 -40946,stress-ng,115.000000,0.000000,1.000000 -40941,stress-ng,715.000000,0.000000,1.000000 -40944,stress-ng,385.000000,0.000000,1.000000 -40947,stress-ng,256.000000,0.000000,1.000000 -40946,stress-ng,12.000000,0.000000,1.000000 -40947,stress-ng,12.000000,0.000000,1.000000 -40942,stress-ng,116.000000,0.000000,1.000000 -40942,stress-ng,820.000000,0.000000,1.000000 -40947,stress-ng,52.000000,0.000000,1.000000 -40946,stress-ng,50.000000,0.000000,1.000000 -5030,C2 CompilerThre,16.000000,1.000000,0.000000 -39458,xrdp,47.000000,1.000000,0.000000 -40941,stress-ng,536.000000,0.000000,1.000000 -40947,stress-ng,114.000000,0.000000,1.000000 -5030,C2 CompilerThre,11.000000,0.000000,0.000000 -40947,stress-ng,114.000000,0.000000,1.000000 -40946,stress-ng,40.000000,0.000000,1.000000 -40941,stress-ng,295.000000,0.000000,1.000000 -40948,stress-ng,880.000000,0.000000,1.000000 -40942,stress-ng,102.000000,0.000000,1.000000 -40947,stress-ng,255.000000,0.000000,1.000000 -40941,stress-ng,716.000000,0.000000,1.000000 -40947,stress-ng,533.000000,0.000000,1.000000 -40944,stress-ng,46.000000,0.000000,1.000000 -40947,stress-ng,12.000000,0.000000,1.000000 -40942,stress-ng,718.000000,0.000000,1.000000 -40944,stress-ng,537.000000,0.000000,1.000000 -39458,xrdp,28.000000,1.000000,0.000000 -39458,xrdp,30.000000,0.000000,0.000000 -39458,xrdp,15.000000,1.000000,0.000000